# Report bugs and new terminal descriptions to
# bug-ncurses@gnu.org
#
-# $Revision: 1.788 $
-# $Date: 2020/04/18 16:46:32 $
+# $Revision: 1.795 $
+# $Date: 2020/05/02 23:39:49 $
#
# 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,
# 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
# 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
# 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.
# 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
+#
######## SHANTIH! SHANTIH! SHANTIH!