# Report bugs and new terminal descriptions to
# bug-ncurses@gnu.org
#
-# $Revision: 1.787 $
-# $Date: 2020/02/22 23:05:24 $
+# $Revision: 1.800 $
+# $Date: 2020/05/16 16:59:20 $
#
# The original header is preserved below for reference. It is noted that there
# is a "newer" version which differs in some cosmetic details (but actually
# (but nonstandard) SGR 21, which was supported in the Linux console since 1992
# as an equivalent for SGR 22. Long after (early 2018), someone modified the
# console driver to make it ignore SGR 21 because the ECMA-48 standard
-# suggested a different use for that particular code.
+# suggested a different use for that particular code:
+#
+# https://github.com/torvalds/linux/commit/65d9982d7e523a1a8e7c9af012da0d166f72fc56#diff-7da3c215d12c9f6b88e1a37d38b116f0
+#
+# Two years later, someone (unfamiliar with ECMA-48 this time) documented it:
+#
+# https://git.kernel.org/pub/scm/docs/man-pages/man-pages.git/commit/man4/console_codes.4?id=a133a6bc03d751a424fe0a4adea2198757599615
+#
+# For background, refer to the report on bug-ncurses:
+#
+# https://lists.gnu.org/archive/html/bug-ncurses/2019-10/msg00059.html
linux-16color|linux console with 16 colors,
colors#16, ncv#42, pairs#0x100,
setab=\E[4%p1%{8}%m%d%?%p1%{7}%>%t;5%e;25%;m,
setaf=\E[3%p1%dm, use=mach-gnu,
# From: Marcus Brinkmann
-# http://savannah.gnu.org/cgi-bin/viewcvs/*checkout*/hurd/hurd/console/
+# http://git.savannah.gnu.org/cgit/hurd/hurd.git/log/console/
#
# Comments in the original are summarized here:
#
# Control responses, wrapping and tabs are buggy, failing a couple of
# screens in vttest.
#
-# xterm mouse support is not implemented (unrelease version may).
+# xterm mouse support is not implemented (unreleased version may).
#
# Several features such as backspace/delete are optional; this entry documents
-# the default behavior -TD
+# the default behavior. None of the combinations of keyboard settings match
+# those used for xterm -TD
#
# PuTTY recognizes xterm's 1049 mode for switching to/from alternate screen,
# but implements it incorrectly as mentioned here:
# http://stackoverflow.com/questions/24613237/terminal-retains-bg-color-after-closing-vim-using-color-scheme-and-putty-256co/37869114#37869114
-# PuTTY recognized xterm's 1006 mode since late 2015; subsequent release was
+#
+# PuTTY recognized xterm's 1006 mouse mode in late 2015; subsequent release was
# in 2017 (0.70) -TD
+#
+# PuTTY 0.71 (March 2019) provided a workable "rep" capability. It also
+# changed longstanding keypad assignments, so that these no longer apply:
+# kLFT=\E[D, kRIT=\E[C, kb2=\E[G,
putty|PuTTY terminal emulator,
am, bce, bw, ccc, mir, msgr, xenl, xon, XT,
colors#8, it#8, ncv#22, pairs#64, U8#1,
initc=\E]P%p1%x%p2%{255}%*%{1000}%/%02x%p3%{255}%*%{1000}%/
%02x%p4%{255}%*%{1000}%/%02x,
is2=\E7\E[r\E[m\E[?7h\E[?1;4;6l\E[4l\E8\E>\E]R,
- kLFT=\E[D, kRIT=\E[C, kb2=\E[G, kbs=^?, kcbt=\E[Z,
- kcub1=\EOD, kcud1=\EOB, kcuf1=\EOC, kcuu1=\EOA,
- kdch1=\E[3~, kend=\E[4~, khome=\E[1~, kich1=\E[2~,
- kind=\E[B, knp=\E[6~, kpp=\E[5~, kri=\E[A, kspd=^Z, nel=\r\n,
- oc=\E]R, op=\E[39;49m, rc=\E8, rev=\E[7m, ri=\EM, rmacs=^O,
- rmam=\E[?7l, rmcup=\E[2J\E[?47l, rmir=\E[4l,
- rmkx=\E[?1l\E>, rmpch=\E[10m, rmso=\E[27m, rmul=\E[24m,
+ kbs=^?, kcbt=\E[Z, kcub1=\EOD, kcud1=\EOB, kcuf1=\EOC,
+ kcuu1=\EOA, kdch1=\E[3~, kend=\E[4~, khome=\E[1~,
+ kich1=\E[2~, kind=\E[B, knp=\E[6~, kpp=\E[5~, kri=\E[A,
+ kspd=^Z, nel=\r\n, oc=\E]R, op=\E[39;49m, rc=\E8, rev=\E[7m,
+ ri=\EM, rmacs=^O, rmam=\E[?7l, rmcup=\E[2J\E[?47l,
+ rmir=\E[4l, rmkx=\E[?1l\E>, rmpch=\E[10m, rmso=\E[27m,
+ rmul=\E[24m,
rs2=\E<\E["p\E[50;6"p\Ec\E[?3l\E]R\E[?1000l,
s0ds=\E[10m, s1ds=\E[11m, s2ds=\E[12m, sc=\E7,
setab=\E[4%p1%dm, setaf=\E[3%p1%dm,
smir=\E[4h, smkx=\E[?1h\E=, smpch=\E[11m, smso=\E[7m,
smul=\E[4m, tbc=\E[3g, vpa=\E[%i%p1%dd, E3=\E[3J,
use=ecma+index, use=xterm+sm+1006, use=putty+fnkeys,
- use=vt102+enq, use=xterm+sl,
+ use=vt102+enq, use=xterm+sl, use=vt100+fnkeys,
vt100-putty|Reset PuTTY to pure vt100,
rs2=\E<\E["p\Ec\E[?3l\E]R\E[40"p\E[61"p\E[50;1;2"p,
use=vt100,
# https://github.com/mintty/mintty
#
# Originally a fork (and reduction) of PuTTY, this has grown from 15ksloc in
-# 2013 to 38ksloc in 2019. That is still smaller than PuTTY (160ksloc), but
-# larger than rxvt (31ksloc).
+# 2013 to 41ksloc in 2020. That is still smaller than PuTTY (160ksloc), but
+# larger than rxvt (31ksloc) and slightly smaller than rxvt-unicode (42ksloc).
#
# Version 3.0 responds to DA as a VT400, however it does not implement the
# application keypad. The assignment of cursor-keys versus modifiers differs
use=xterm-basic,
#### Visual Studio
+# Visual Studio Code 1.45.0 uses xterm.js 12.8.1 (see https://xtermjs.org/).
+#
+# vttest:
+# - fixes menu 1 problem with wrapping
+# - supports DECALN
+# - fixes menu 8 problem with delete-character
+# - REP, SL/SL work
+# - keypad application mode still does not work; PF1-PF4 are not assigned.
+# - DECRQM/DECRPM do not work
+# - xterm mouse features:
+# - SGR coordinates work; the other modes do not (see vscode #96058)
+# - focus-events are not sent
+# - mouse highlight tracking does not send button event
+# tack/other:
+# - little or no change since previous review
+#
# Visual Studio Code 1.35.1 uses xterm.js (see https://xtermjs.org/).
# https://code.visualstudio.com/docs/editor/integrated-terminal
#
# for numeric capabilities provided in ncurses 6.1:
xterm+direct2|xterm with direct-color indexing,
RGB,
- colors#0x1000000, pairs#0x10000,
+ colors#0x1000000, pairs#0x10000, CO#8,
initc@, op=\E[39;49m,
setab=\E[%?%p1%{8}%<%t4%p1%d%e48\:2\:%p1%{65536}%/%d\:%p1
%{256}%/%{255}%&%d\:%p1%{255}%&%d%;m,
# identifier" parameter. This version provides for that parameter:
xterm+direct|xterm with direct-color indexing,
RGB,
- colors#0x1000000, pairs#0x10000,
+ colors#0x1000000, pairs#0x10000, CO#8,
initc@, op=\E[39;49m,
setab=\E[%?%p1%{8}%<%t4%p1%d%e48\:2\:\:%p1%{65536}%/%d\:%p1
%{256}%/%{255}%&%d\:%p1%{255}%&%d%;m,
nsterm-direct|nsterm with direct-color indexing,
use=xterm+indirect, use=nsterm,
-# As for others:
+# As for others (commenting at the time of release for ncurses 6.1):
# + Apple's Terminal.app does not recognize either form of the direct-color
# sequences.
# + Cygwin's mintty recognizes xterm's original implementation, does okay with
# + terminology 0.91 recognizes xterm's original implementation, but does
# nothing useful with it.
+# Other variants are possible, e.g., by using more of xterm's indexed color
+# palette, though the intrusion of indexed colors on the direct-color space
+# would be more noticeable.
+
+xterm+direct16|xterm with direct-color indexing,
+ CO#16,
+ setab=\E[%?%p1%{8}%<%t4%p1%d%e%?%p1%{16}%<%t%p1%{92}%+%e48\:
+ 2\:\:%p1%{65536}%/%d\:%p1%{256}%/%{255}%&%d\:%p1%{255}
+ %&%d%;%;m,
+ setaf=\E[%?%p1%{8}%<%t3%p1%d%e%?%p1%{16}%<%t%p1%'R'%+%e38\:2
+ \:\:%p1%{65536}%/%d\:%p1%{256}%/%{255}%&%d\:%p1%{255}
+ %&%d%;%;m,
+ setb@, setf@, use=xterm+direct,
+
+xterm-direct16|xterm with direct-colors and 16 indexed colors,
+ use=xterm, use=xterm+direct16,
+
+xterm+direct256|xterm with direct-color indexing,
+ CO#0x100,
+ setab=\E[%?%p1%{8}%<%t4%p1%d%e%p1%{16}%<%t10%p1%{8}%-%d%e%?
+ %p1%{256}%<%t48;5;%p1%d%e48\:2\:\:%p1%{65536}%/%d\:%p1
+ %{256}%/%{255}%&%d\:%p1%{255}%&%d%;%;m,
+ setaf=\E[%?%p1%{8}%<%t3%p1%d%e%p1%{16}%<%t9%p1%{8}%-%d%e%?
+ %p1%{256}%<%t38;5;%p1%d%e38\:2\:\:%p1%{65536}%/%d\:%p1
+ %{256}%/%{255}%&%d\:%p1%{255}%&%d%;%;m,
+ setb@, setf@, use=xterm+direct,
+
+xterm-direct256|xterm with direct-colors and 256 indexed colors,
+ use=xterm, use=xterm+direct256,
+
#### XTERM Features
# This chunk is based on suggestions by Ailin Nemui and Nicholas Marriott, who
cup=\EY%p1%' '%+%c%p2%' '%+%c, cuu1=\EA, ed=\EJ, el=\EK,
home=\EH, ht=^I, ind=\n, kcub1=\ED, kcud1=\EB, kcuf1=\EC,
kcuu1=\EA, nel=\r\n, ri=\EI, rmacs=\EG, smacs=\EF,
- use=xterm+kbs,
+ use=xterm+kbs, use=vt52+keypad,
xterm-noapp|xterm with cursor keys in normal mode,
rmcup@, rmkx=\E>, smcup@, smkx=\E=, use=xterm+noapp,
# https://github.com/thestinger/vte-ng
# which (based on the default branch setting) seems to be a fork of vte
# 0.48.2, and is noted as such in Arch:
-# https://www.archlinux.org/packages/community/x86_64/vte3-ng/
+# https://aur.archlinux.org/packages/vte3-ng/
# It won't be merged:
# https://bugzilla.gnome.org/show_bug.cgi?id=679658#c10
# https://bugzilla.gnome.org/show_bug.cgi?id=78291
# variables may be permanently set in the Control Panel\System applet.
#
# You can find out more about the restrictions of this facility at
-# <http://www.nentug.org/unix-to-nt/ntposix.htm>.
+# <https://jeffpar.github.io/kbarchive/kb/108/Q108581/>
#
# From: Federico Bianchi <bianchi@magna.cisid.unipi.it>, 15 Jan 1997
ansi-nt|psx_ansi|Microsoft Windows NT console POSIX ANSI mode,
#
# Someone has put a scanned copy of the manual online at:
# http://vt100.net/televideo/912b-om/
+# (https://vt100.net/manx/details/6,5484)
#
# These terminals were produced ca. 1979, and had a 12" monochrome
# screen, supported 75-9600 baud (no handshaking), monochrome, 7-bit
# This was implemented for the Hurd.
# rmxx/smxx describes the ECMA-48 strikeout/crossed-out attributes, as an
# experimental feature of tmux.
+# CO gives the number of indexed ("ANSI") colors which overlay an RGB color
+# space.
# E3 clears the terminal's scrollback buffer. This was implemented in the
# Linux 3.0 kernel as a security feature. It matches a feature which was
# added in xterm patch #107.
# + improve vt50h and vt52 based on DECScope manual -TD
# + add/use vt52+keypad and vt52-basic -TD
#
+# 2020-04-18
+# + use vt52+keypad in xterm-vt52, from xterm #354 -TD
+#
+# 2020-04-25
+# + use vt100+fnkeys in putty -TD
+#
+# 2020-05-02
+# + add details on the change to Linux SGR 21 in 2018 -TD
+# + add xterm-direct16 and xterm-direct256 -TD
+#
+# 2020-05-03
+# + fix some dead URLs -TD
+#
+# 2020-05-16
+# + update notes on vscode / xterm.js -TD
+#
######## SHANTIH! SHANTIH! SHANTIH!