# Report bugs and new terminal descriptions to
# bug-ncurses@gnu.org
#
-# $Revision: 1.790 $
-# $Date: 2020/04/26 00:38:36 $
+# $Revision: 1.807 $
+# $Date: 2020/06/07 00:16:21 $
#
# 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
il=\E[%p1%dL, il1=\E[L, ind=\n, kb2=\E[G, kbs=^?, kcbt=\E[Z,
kcub1=\E[D, kcud1=\E[B, kcuf1=\E[C, kcuu1=\E[A,
kdch1=\E[3~, kend=\E[4~, kf1=\E[[A, kf10=\E[21~,
- kf11=\E[23~, kf12=\E[24~, kf13=\E[25~, kf14=\E[26~,
- kf15=\E[28~, kf16=\E[29~, kf17=\E[31~, kf18=\E[32~,
- kf19=\E[33~, kf2=\E[[B, kf20=\E[34~, kf3=\E[[C, kf4=\E[[D,
+ kf11=\E[23~, kf12=\E[24~, kf2=\E[[B, kf3=\E[[C, kf4=\E[[D,
kf5=\E[[E, kf6=\E[17~, kf7=\E[18~, kf8=\E[19~, kf9=\E[20~,
khome=\E[1~, kich1=\E[2~, kmous=\E[M, knp=\E[6~, kpp=\E[5~,
kspd=^Z, nel=\r\n, rc=\E8, rev=\E[7m, ri=\EM, rmam=\E[?7l,
%t;2%;%?%p6%t;1%;%?%p9%t;11%;m,
smam=\E[?7h, smir=\E[4h, smul=\E[4m, tbc=\E[3g,
vpa=\E[%i%p1%dd, use=vt102+enq, use=klone+sgr,
- use=ecma+color,
+ use=ecma+color, use=linux+sfkeys,
+
+linux+decid|ncurses extension for Linux console DECID,
+ u6=\E[%i%d;%dR, u7=\E[6n, u8=\E[?6c, u9=\EZ,
+
+linux+sfkeys|shifted function-keys for Linux console,
+ kf13=\E[25~, kf14=\E[26~, kf15=\E[28~, kf16=\E[29~,
+ kf17=\E[31~, kf18=\E[32~, kf19=\E[33~, kf20=\E[34~,
linux-m|Linux console no color,
colors@, pairs@,
# (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:
#
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
#
# initially part of the xterm sources (in XFree86). But "xterm" continued to
# grow, while "xterm-mono" had none of the newer features. Additionally,
# inheriting from "xtermm" runs into several problems, including different
-# function keys as well as the fact that the mouse support is not compatible.
+# function keys as well as the fact that the mouse support is not compatible.
# This entry restores the original intent, intentionally not an alias to
# simplify maintenance -TD
xterm-mono|monochrome xterm,
# 256-colors is a compile-time feature of XFree86 xterm beginning with
# xterm patch #111 (1999/7/10) -TD
-xterm+256color|xterm 256-color feature,
+xterm+256color|original xterm 256-color feature,
ccc,
colors#0x100, pairs#0x10000,
initc=\E]4;%p1%d;rgb\:%p2%{255}%*%{1000}%/%2.2X/%p3%{255}%*
;%p1%d%;m,
setb@, setf@,
+# The semicolon separator used in xterm+256color does not follow the ECMA-48
+# standard. Since patch #282 (in 2012), xterm has supported both the legacy
+# subparameter separator (semicolon) and the standard (colon).
+#
+# The xterm FAQ gives some of the history:
+# https://invisible-island.net/xterm/xterm.faq.html#color_by_number
+xterm+256color2|xterm 256-color feature,
+ setab=\E[%?%p1%{8}%<%t4%p1%d%e%p1%{16}%<%t10%p1%{8}%-%d%e48
+ \:5\:%p1%d%;m,
+ setaf=\E[%?%p1%{8}%<%t3%p1%d%e%p1%{16}%<%t9%p1%{8}%-%d%e38\:
+ 5\:%p1%d%;m,
+ use=xterm+256color,
+
# xterm OSC 104 resets the color palette. Using it as part of xterm+256color
# has the drawback that some of the xterm-alikes which use that building block
# require a different approach to rs1 -TD
# The default color palette for the 256- and 88-colors are different. A
# given executable will have one palette (perhaps compiled-in). If the program
# supports xterm's control sequence, it can be programmed using initc.
-xterm+88color|xterm 88-color feature,
+xterm+88color|original xterm 88-color feature,
colors#88, pairs#7744, use=xterm+256color,
+xterm+88color2|xterm 88-color feature,
+ colors#88, pairs#7744, use=xterm+256color2,
+
# These variants of XFree86 3.9.16 xterm are built as a configure option.
xterm-256color|xterm with 256 colors,
use=xterm+osc104, use=xterm+256color, use=xterm-new,
# 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.
+# Reviewing after ncurses 6.2:
+# + Apple's Terminal.app is unchanged, has no support for direct color:
+# Catalina 10.15.5 Terminal.app 2.10 (433)
+# Mohave 10.14.6 - Terminal.app 2.9.5 (421.2)
+# + Cygwin's mintty 3.1.7 works with colon/semicolon
+# + PuTTY 0.73 works with semicolon
+# + Teraterm 4.105 works with semicolon
+# + terminology 1.7.0 works with colon/semicolon.
+
+# 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
# 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
# (also overline, which is too rarely used to provide as an extension)
#
# Updated for konsole 17.12.0 (late 2017):
+#
+# Re-enable "bel", since it is latent in the source-code even though KDE config
+# often hides the feature (2020/5/30)
konsole-base|KDE console window,
bce, km@, npc, XT,
ncv@,
- bel@, blink=\E[5m, civis=\E[?25l, cnorm=\E[?25h, dim=\E[2m,
+ blink=\E[5m, civis=\E[?25l, cnorm=\E[?25h, dim=\E[2m,
ech=\E[%p1%dX, flash=\E[?5h$<100/>\E[?5l,
hpa=\E[%i%p1%dG, invis=\E[8m, kbs=^?, kdch1=\E[3~,
kend=\E[4~, kf1@, kf10@, kf11@, kf12@, kf13@, kf14@, kf15@, kf16@,
sgr0=\E[m\017, smacs=^N, smir=\E[4h, smkx=\E[?1h\E=,
smso=\E[3m, smul=\E[4m, tbc=\E[3g, vpa=\E[%i%p1%dd,
E0=\E(B, S0=\E(%p1%c, use=xterm+alt1049, use=ecma+color,
+ use=vt100+enq,
# The bce and status-line entries are from screen 3.9.13 (and require some
# changes to .screenrc).
screen-bce|VT 100/ANSI X3.64 virtual terminal with bce,
use=xterm+x11mouse, use=screen+italics,
use=screen+fkeys, use=konsole,
# fix the backspace key
-screen.linux|screen in linux console,
+screen.linux|screen.linux-s|screen in linux console,
bw,
- kbs=^?, kcbt@, use=xterm+x11mouse, use=screen+fkeys,
- use=screen4,
+ kbs=^?, kcbt@, use=linux+sfkeys, use=xterm+x11mouse,
+ use=screen+fkeys, use=screen4,
screen.mlterm|screen in mlterm,
use=xterm+x11mouse, use=screen+fkeys, use=mlterm,
screen.putty|screen in putty,
# 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
rs1=\Ec, rs3=\E[37;40m\E[8], sc=\E7, setab=\E[4%p1%dm,
setaf=\E[3%p1%dm, sgr0=\E[m, smacs=^N, smam=\E[?7h,
smir=\E[4h, smpch=\E[11m, smso=\E[7m, tbc=\E[3g,
- u6=\E[%i%d;%dR, u7=\E[6n, u8=\E[?6c, u9=\EZ,
vpa=\E[%i%p1%dd, .VN=\E[?5l, .VR=\E[?5h, .am@,
.ich=\E[%p1%d@, .ich1=\E[@, .ll=\E[99H, .rmcup=,
.rmul=\E[24m, .smcup=\E]R\E]P3FFFF80\E[?8c,
\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n
\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n
\n\n\n\n\n\n\n\n\n\n,
+ use=linux+decid,
# 1. Using double-shapes for vt100 graphical chars (eg: mc).
# 2. Native brown color corrected to good yellow color.
\E]PFFFFFFF\E[;37m,
use=linux-m1,
+# From: Alexandre Montaron, 27 May 2020
+linux-s|Linux Console with added status line at bottom,
+ hs,
+ clear=\E[255;255H\E[A\E[1J\E[H, csr@,
+ dsl=\E7\E[255H\E[K\E8, ed@, fsl=\E8,
+ iprog=\sbash\s-c\s'echo\s-ne\s"\E[?6l\E[255H\E[A\E[6n"\s;
+ \sread\s-d\sR\sTMP\s;\sLINES=`echo\s$TMP\s|\scut\s-f1
+ \s-d\s";"\s|\scut\s-f2\s-d\s"["`\s;\sstty\srows\s$LINE
+ S\s;\secho\s-ne\s"\E[;"$LINES"r\E[J"',
+ rs1=\E]R, tsl=\E7\E[255;%p1%dH, .rc@, .sc@, use=linux,
+
# Screen entries counterpart :
screen.linux-m1|Linux m1 specific for screen,
# 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-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
+#
+# 2020-05-30
+# + re-enable "bel" in konsole-base (report by Nia Huang)
+# + add linux-s entry (patch by Alexandre Montaron).
+#
+# 2020-06-06
+# + add xterm+256color2, xterm+88color2, to deprecate nonstandard usage
+# in xterm+256color, xterm+88color -TD
+# + add shifted Linux console keys in linux+sfkeys entry for
+# screen.linux (report by Alexandre Montaron).
+# + use vt100+enq in screen (report by Alexandre Montaron).
+# + add screen.linux-s alias (suggested by Alexandre Montaron).
+#
######## SHANTIH! SHANTIH! SHANTIH!