# Report bugs and new terminal descriptions to
# bug-ncurses@gnu.org
#
-# $Revision: 1.765 $
-# $Date: 2019/09/22 18:48:45 $
+# $Revision: 1.802 $
+# $Date: 2020/05/30 21:37:01 $
#
# 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
# console font but bright background colors turn into dim ones when
# you use a 512-character console font. This uses bold for bright
# foreground colors and blink for bright background colors.
+#
+# Interestingly, the original version of this entry in 2009 used a documented
+# (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:
+#
+# 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%{8}%m%d%?%p1%{7}%>%t;1%e;21%;m,
+ setaf=\E[3%p1%{8}%m%d%?%p1%{7}%>%t;1%e;22%;m,
use=linux,
# bterm (bogl 0.1.18)
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:
#
kopt=\ENk, kpp=\E[V, kref=\ENl, kres=\ENp, krfr=\ENg,
kri=\E[b, krpl=\ENr, krst=\ENj, ksav=\ENq, kslt=\E[T,
ktbc=\ENd, kund=\ENu, ll=\E[99H, nel=\EE, op=\E[39;49m,
- rep=%p1%c\E[%p2%{1}%-%db, rev=\E[7m, ri=\E[T, rmacs=^O,
- rmam=\E[?7l, rmso=\E[27m, rmul=\E[24m,
- rs1=\017\E[?7h\E[0;39;49m$<2>\E>\E[?1l,
+ rev=\E[7m, ri=\E[T, rmacs=^O, rmam=\E[?7l, rmso=\E[27m,
+ rmul=\E[24m, rs1=\017\E[?7h\E[0;39;49m$<2>\E>\E[?1l,
rs2=\E>\E[?3l\E[?4l\E[?5l\E[?7h\E[?8h,
setb=\E[4%?%p1%{1}%=%t4%e%p1%{3}%=%t6%e%p1%{4}%=%t1%e%p1%{6}
%=%t3%e%p1%d%;m,
%|%t;7%;%?%p7%t;9%;m%?%p9%t\016%e\017%;,
sgr0=\E[m\017, smacs=^N, smam=\E[?7h, smso=\E[7m,
smul=\E[4m, tbc=\E[3g,
- tsl=\E7\E1;24r\E[?6l\E[25;%i%p1%dH, use=ecma+index,
+ tsl=\E7\E1;24r\E[?6l\E[25;%i%p1%dH, use=ansi+rep,
+ use=ecma+index,
#
qansi|QNX ansi with console writes,
daisy, xhpa, use=qansi-g,
# to a crude plotting feature) -TD
vt52|dec vt52,
OTbs,
+ it#8, lines#24,
+ acsc=+h.k0affggolpnqprrss, home=\EH, kbs=^H, nel=\r\n,
+ ri=\EI, rmacs=\EG, rmkx=\E>, smacs=\EF, smkx=\E=, u8=\E/[KL],
+ use=vt50h,
+
+# This is more likely the "vt52" that you would see in emulation, i.e., no
+# keypad, no graphics.
+vt52-basic|vt52 for emulators,
cols#80, it#8, lines#24,
- acsc=+h.k0affggolpnqprrss, bel=^G, clear=\EH\EJ, cr=\r,
- cub1=\ED, cud1=\EB, cuf1=\EC,
- cup=\EY%p1%{32}%+%c%p2%{32}%+%c, cuu1=\EA, ed=\EJ,
- el=\EK, home=\EH, ht=^I, ind=\n, kbs=^H, kcub1=\ED, kcud1=\EB,
- kcuf1=\EC, kcuu1=\EA, nel=\r\n, ri=\EI, rmacs=\EG, smacs=\EF,
+ bel=^G, clear=\EH\EJ, cr=\r, cub1=\ED, cud1=\EB, cuf1=\EC,
+ cup=\EY%p1%' '%+%c%p2%' '%+%c, cuu1=\EA, ed=\EJ, el=\EK,
+ home=\EH, ht=^I, ind=\n, kbs=^H, kcub1=\ED, kcud1=\EB,
+ kcuf1=\EC, kcuu1=\EA, nel=\r\n, ri=\EI,
#### DEC VT100 and compatibles
#
#
# According to its documentation, iTerm uses terminfo to obtain function key
# definitions. For example, if it is started with TERM=xterm, it uses key
-# definitons from that terminal description from the local OSX machine. Those
+# definitions from that terminal description from the local OSX machine. Those
# $TERM settings may be augmented using the bookmark and profile dialogs.
# However, the behavior seen with tack does not agree with either the terminfo
# description or the function keys in its "xterm" profile.
# 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
#
use=xterm+kbs, use=vt100+enq,
xterm-old|antique xterm version,
use=xterm-r6,
+# The monochrome version began as a copy of "xtermm" (from Solaris), and was
+# 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.
+# This entry restores the original intent, intentionally not an alias to
+# simplify maintenance -TD
+xterm-mono|monochrome xterm,
+ use=xterm-r6,
# This is the base xterm entry for the xterm supplied with XFree86 3.2 & up.
# The name has been changed and some aliases have been removed.
xterm-xf86-v32|xterm terminal emulator (XFree86 3.2 Window System),
# 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,
# no new information.
xterm+x11mouse|X11 xterm mouse protocol,
kmous=\E[M, XM=\E[?1000%?%p1%{1}%=%th%el%;,
- xm=\E[M%?%p4%t3%e%p3%'\s'%+%c%;%p2%'!'%+%c%p1%'!'%+%c,
+ xm=\E[M%?%p4%t%p3%e%{3}%;%'\s'%+%c%p2%'!'%+%c%p1%'!'%+%c,
xterm-x11mouse|X11 mouse,
use=xterm+x11mouse, use=xterm,
# from the non-1005 responses.
#
# As an alternative (and fixing the longstanding limitation of X11 mouse
-# protocol regarding button-releases), I provided this:
+# protocol regarding button-releases), I provided the 1006 mode, referring
+# to it as "SGR 1006" since the replies resemble the SGR control string:
xterm+sm+1006|xterm SGR-mouse,
kmous=\E[<, XM=\E[?1006;1000%?%p1%{1}%=%th%el%;,
- xm=\E[<%p1%d;%p2%d;%p3%d;%?%p4%tM%em%;,
+ xm=\E[<%i%p3%d;%p1%d;%p2%d;%?%p4%tM%em%;,
xterm-1006|xterm SGR-mouse,
use=xterm+sm+1006, use=xterm,
# These (xtermc and xtermm) are distributed with Solaris. They refer to a
# variant of xterm which is apparently no longer supported, but are interesting
# because they illustrate SVr4 curses mouse controls - T.Dickey
-xtermm|xterm terminal emulator (monocrome),
+xtermm|xterm terminal emulator (monochrome),
OTbs, am, km, mir, msgr, xenl,
btns#3, cols#80, it#8, lines#24,
acsc=``aaffggjjkkllmmnnooppqqrrssttuuvvwwxxyyzz{{||}}~~,
# 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@,
dch=\E[%p1%dP, dch1=\E[P, dl=\E[%p1%dM, dl1=\E[M,
ech=\E[%p1%dX, ed=\E[J, el=\E[K, el1=\E[1K, enacs=,
home=\E[H, hpa=\E[%i%p1%dG, ht=^I, hts=\EH, ich=\E[%p1%d@,
- ich1=\E[@, il=\E[%p1%dL, il1=\E[L, ind=\n,
+ il=\E[%p1%dL, il1=\E[L, ind=\n,
is2=\E7\E[r\E[m\E[?7h\E[?1;3;4;6l\E[4l\E8\E>, kbs=^?,
kcbt=\E[Z, kcub1=\EOD, kcud1=\EOB, kcuf1=\EOC, kcuu1=\EOA,
kdch1=\E[3~, kend=\EOF, kent=\EOM, kfnd=\E[1~, khome=\EOH,
cup=\E[%i%p1%d;%p2%dH, cuu=\E[%p1%dA, cuu1=\E[A,
dl=\E[%p1%dM, dl1=\E[M, ed=\E[J, el=\E[K, el1=\E[1K,
enacs=\E(B\E)0, flash=\E[?5h$<100/>\E[?5l, home=\E[H,
- ht=^I, hts=\EH, ich=\E[%p1%d@, ich1=\E[@, il=\E[%p1%dL,
- il1=\E[L, ind=\n, is1=\E[?47l\E=\E[?1l,
+ ht=^I, hts=\EH, ich=\E[%p1%d@, il=\E[%p1%dL, il1=\E[L,
+ ind=\n, is1=\E[?47l\E=\E[?1l,
is2=\E[r\E[m\E[2J\E[H\E[?7h\E[?1;3;4;6l\E[4l, kbs=^H,
kcbt=\E[Z, kmous=\E[M, rc=\E8, rev=\E[7m, ri=\EM, rmacs=^O,
rmcup=\E[2J\E[?47l\E8, rmir=\E[4l, rmkx=\E>, rmso=\E[27m,
dch=\E[%p1%dP, dch1=\E[P, dl=\E[%p1%dM, dl1=\E[M,
ech=\E[%p1%dX, ed=\E[J, el=\E[K, el1=\E[1K, enacs=\E)0,
home=\E[H, hpa=\E[%i%p1%dG, ht=^I, hts=\EH, ich=\E[%p1%d@,
- ich1=\E[@, il=\E[%p1%dL, il1=\E[L, ind=\n,
- is1=\E[?47l\E>\E[?1l,
+ il=\E[%p1%dL, il1=\E[L, ind=\n, is1=\E[?47l\E>\E[?1l,
is2=\E[r\E[m\E[2J\E[H\E[?7h\E[?1;3;4;6l\E[4l, kNXT@,
kPRV@, ka1=\E[7~, ka3=\E[5~, kb2=\EOu, kbeg=\EOu, kbs=^H,
kc1=\E[8~, kc3=\E[6~, kent=\EOM, khlp=\E[28~, kmous=\E[M,
# st.suckless.org
st|stterm| simpleterm,
- use=st-0.7,
+ use=st-0.8,
+
+# Reviewed 0.8.2:
+# In tack,
+# there is some problem turning off line-drawing
+# shift+control function-keys do nothing; shift+control cursor keys work
+# the padding tests make the terminal non-functional.
+# In vttest,
+# SD/SU work
+# SL/SR/REP do not work
+# ECMA-48 cursor movement works, e.g., CHA, CBT, etc.
+#
+# This entry discards the ccc/initc capabilities from st-0.7 because they
+# belong in st-256color.
+st-0.8|simpleterm 0.7,
+ dim=\E[2m, kcbt@, kent@, oc=\E]104\007,
+ sgr=%?%p9%t\E(0%e\E(B%;\E[0%?%p6%t;1%;%?%p2%t;4%;%?%p1%p3%|
+ %t;7%;%?%p4%t;5%;%?%p5%t;2%;%?%p7%t;8%;m,
+ Ms=\E]52;%p1%s;%p2%s\007, kDN3=\E[1;3B, kDN5=\E[1;5B,
+ kLFT3=\E[1;3D, kLFT5=\E[1;5D, kNXT3=\E[6;3~,
+ kNXT5=\E[6;5~, kPRV3=\E[5;3~, kPRV5=\E[5;5~,
+ kRIT3=\E[1;3C, kRIT5=\E[1;5C, kUP3=\E[1;3A, kUP5=\E[1;5A,
+ use=ecma+strikeout, use=st-0.6,
# Reviewed 0.7:
# dim is intermittent, sometimes works, sometimes does not
use=ecma+index,
st-16color|stterm-16color|simpleterm with 16-colors,
use=ibm+16color, use=st,
-# 256 colors "works", but when running xterm's test-scripts, some garbage is
-# shown in the titlebar.
+# Tested with st 0.8.2
+# The issue with the titlebar is fixed, though st is very slow.
+# In st 0.7, 256 colors "works", but when running xterm's test-scripts, some
+# garbage is shown in the titlebar.
#
# terminal wants to use TERM=stterm-256color, but that is longer than 14
# characters, making the choice nonportable.
st-256color|stterm-256color|simpleterm with 256 colors,
- ccc@,
- initc@, oc@, use=xterm+256color, use=st,
+ use=xterm+256color, use=st,
#### TERMINATOR
# https://github.com/software-jessies-org/jessies/wiki/Terminator
#### Alacritty
# https://github.com/jwilm/alacritty
+# Version 0.4.0 (2019/11/25)
# Version 0.3.3 (2019/08/03)
# Version 0.2.1 (2018/10/03)
# Project started in 2016/02, uses Rust and OpenGL, and in contrast to (most X
# otherwise, passes wrapping test
# no DECSCNM
# identifies as a vt102
+# numeric keypad does not send expected codes (seen in 0.4.0)
# passes bce test
# vt220:
-# ECH works (0.2.1 left text on right margin)
+# ECH works in 0.3.3 (0.2.1 left text on right margin)
# no SRM, DECSCA
# vt320:
# fails DECXCPR
# no X10 mouse
# has normal and highlight mouse
# has any-event and button-event mouse
-# cursor-position wrong after alternate-screen
+# + does support SGR-mouse
+# + does not correctly support focus in/out events (seen in 0.4.0)
+# cursor-position wrong after alternate-screen (fixed in 0.4.0)
# none of the dtterm controls work
# tack:
# bell and flash do not work
+# blink does not work
# italics and crossed-out work (latter did not work in 0.2.1)
-# function-keys work up to kf36; those using two modifiers do not work
+# function-keys work up (tested combinations which window manager allows)
+# treats meta as escape-prefix
#
# The program sources include "alacritty" and "alacritty-direct", which are
# copied from "xterm-256color" and "xterm-direct" (but using semicolon for
alacritty-direct|alacritty with direct color indexing,
use=xterm+indirect, use=alacritty+common,
-# removed ech, since it fails vttest -TD
+# cancel km, since it is not actually meta mode -TD
# added ecma+strikeout in 0.3.3 -TD
# added xterm+sl-twm in 0.3.3 -TD
alacritty+common|base fragment for alacritty,
- npc,
- ech@, kb2=\EOE, kbs=^?, kcbt=\E[Z, kent=\EOM, Se=\E[0 q,
- use=ecma+index, use=xterm-basic, use=xterm+app,
- use=ansi+rep, use=xterm+sm+1006, use=xterm+tmux,
+ km@, npc,
+ kb2=\EOE, kbs=^?, kcbt=\E[Z, kent=\EOM, Se=\E[0 q,
+ use=ecma+index, use=xterm+sm+1006, use=xterm-basic,
+ use=xterm+app, use=ansi+rep, use=xterm+tmux,
use=ecma+strikeout, use=xterm+sl-twm, use=ecma+italics,
use=xterm+pce2, use=xterm+pcc2, use=xterm+pcf2,
# 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,
rep=%p1%c\E[%p2%db$<1*/>, rev=\E[7m, rmso=\E[m,
rmul=\E[m, sgr0=\E[m, smso=\E[7m, smul=\E[4m,
gator-52|HP 9000 model 237 emulating VT52,
- cols#128, lines#47, use=vt52,
+ cols#128, lines#47, use=vt52-basic,
gator-52t|HP 9000 model 237 emulating extra-tall VT52,
lines#94, use=gator-52,
#
# 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
kf2=\EOV, kf3=\EOu, kf4=\ENj, kf5=\ENe, kf6=\ENf, kf7=\ENh,
kf8=\E[H, kf9=\EOc, kind=\E[S, kri=\E[T, ll=\E#2, mc0=\E[0i,
mc4=\E[?8i, mc5=\E[?4i, mgc=\E\:, nel=\EE,
- pln=\E[%p1%dp%p2%:-16s, rc=\E8,
- rep=%p1%c\E[%p2%{1}%-%db, rev=\E[7m, ri=\EM, rmacs=^O,
- rmir=\E[4l, rmkx=\E[19;0|, rmln=\E<, rmso=\E[m, rmul=\E[m,
- rmxon=\E[29;1|, rs2=\E[5;0|, sc=\E7,
+ pln=\E[%p1%dp%p2%:-16s, rc=\E8, rev=\E[7m, ri=\EM,
+ rmacs=^O, rmir=\E[4l, rmkx=\E[19;0|, rmln=\E<, rmso=\E[m,
+ rmul=\E[m, rmxon=\E[29;1|, rs2=\E[5;0|, sc=\E7,
sgr=\E[0%?%p5%p6%|%t;2%;%?%p2%t;4%;%?%p4%t;5%;%?%p3%p1%|%p6
%|%t;7%;%?%p7%t;8%;m%?%p9%t\016%e\017%;,
sgr0=\E[m\017, smacs=^N, smgl=\E4, smgr=\E5, smir=\E[4h,
smkx=\E[19;1|, smln=\E?, smso=\E[7m, smul=\E[4m,
smxon=\E[29;0|, tbc=\E[3g, vpa=\E[%p1%{1}%+%dd,
- use=ecma+index,
+ use=ansi+rep, use=ecma+index,
# (att500: I merged this with the att513 entry, att500 just used att513 -- esr)
att500|att513|AT&T 513 using page mode,
pfloc=\E[%p1%d;%p2%l%d;2;0p\s\s\sF%p1%d\s\s\s\s\s\s\s\s\s\s
\s%p2%s,
pfx=\E[%p1%d;%p2%l%d;1;0p F%p1%d %p2%s,
- pln=\E[%p1%dp%p2%:-16s, rc=\E8,
- rep=%p1%c\E[%p2%{1}%-%db, rev=\E[7m, ri=\EM,
+ pln=\E[%p1%dp%p2%:-16s, rc=\E8, rev=\E[7m, ri=\EM,
rin=\E[%p1%dF, rmacs=^O, rmir=\E[4l,
rmkx=\E[19;0|\E[21;1|\212, rmln=\E<, rmso=\E[m,
rmul=\E[m,
%|%p6%|%t;7%;%?%p7%t;8%;m%?%p9%t\016%e\017%;,
sgr0=\E[m\017, smacs=^N, smir=\E[4h,
smkx=\E[19;1|\E[21;4|\Eent, smln=\E?, smso=\E[7m,
- smul=\E[4m, tbc=\E[3g, vpa=\E[%p1%{1}%+%dd,
+ smul=\E[4m, tbc=\E[3g, vpa=\E[%p1%{1}%+%dd, use=ansi+rep,
# 01-07-88
# printer must be set to EMUL ANSI to accept ESC codes
mc0=\E[i, mc4=\E[?4i, mc5=\E[?5i, nel=\EE,
pfx=\E[%p1%d;%p2%l%02dq%?%p1%{9}%<%t\s\s\sF%p1%1d\s\s\s\s\s
\s\s\s\s\s\s%;%p2%s,
- pln=\E[%p1%d;0;0;0q%p2%:-16.16s, rc=\E8,
- rep=%p1%c\E[%p2%{1}%-%db, rev=\E[7m, ri=\EM, rmacs=^O,
- rmir=\E[4l, rmln=\E[2p, rmso=\E[27m, rmul=\E[24m,
- rmxon=\E[53;3|, rs1=\Ec\E[?3;5l\E[56;0|, sc=\E7,
+ pln=\E[%p1%d;0;0;0q%p2%:-16.16s, rc=\E8, rev=\E[7m,
+ ri=\EM, rmacs=^O, rmir=\E[4l, rmln=\E[2p, rmso=\E[27m,
+ rmul=\E[24m, rmxon=\E[53;3|, rs1=\Ec\E[?3;5l\E[56;0|,
+ sc=\E7,
sgr=\E[0%?%p6%t;1%;%?%p5%t;2%;%?%p2%t;4%;%?%p4%t;5%;%?%p3%p1
%|%t;7%;%?%p7%t;8%;m%?%p9%t\016%e\017%;,
sgr0=\E[m\017, smacs=^N, smir=\E[4h, smln=\E[p, smso=\E[7m,
smul=\E[4m, smxon=\E[53;0|, tbc=\E[3g,
- tsl=\E7\E[99;%i%p1%dx,
+ tsl=\E7\E[99;%i%p1%dx, use=ansi+rep,
# This entry was modified 3/13/90 by JWE.
# fixes include additions of <enacs>, correcting <rep>, and modification
pfx=\E[%?%p1%{25}%<%t%p1%e%p1%{24}%-%;%d;%p2%l%02d%?%p1%{25}
%<%tq\s\s\sSYS\s\s\s\s\sF%p1%:-2d\s\s%e;0;3q%;%p2%s,
pfxl=\E[%p1%d;%p2%l%02d;0;0q%p3%:-16.16s%p2%s,
- pln=\E[%p1%d;0;0;0q%p2%:-16.16s, rc=\E8,
- rep=%p1%c\E[%p2%{1}%-%db, rev=\E[7m, ri=\EM, rmacs=^O,
- rmam=\E[?7l, rmir=\E[4l, rmln=\E[?13h, rmso=\E[27m,
- rmul=\E[24m, rmxon=\E[?21l, rs2=\Ec\E[?3l, sc=\E7,
+ pln=\E[%p1%d;0;0;0q%p2%:-16.16s, rc=\E8, rev=\E[7m,
+ ri=\EM, rmacs=^O, rmam=\E[?7l, rmir=\E[4l, rmln=\E[?13h,
+ rmso=\E[27m, rmul=\E[24m, rmxon=\E[?21l, rs2=\Ec\E[?3l,
+ sc=\E7,
sgr=\E[0%?%p6%t;1%;%?%p5%t;2%;%?%p2%t;4%;%?%p4%t;5%;%?%p3%p1
%|%t;7%;%?%p7%t;8%;m%?%p9%t\016%e\017%;,
sgr0=\E[m\017, smacs=^N, smam=\E[?7h, smir=\E[4h,
smln=\E[?13l, smso=\E[7m, smul=\E[4m, smxon=\E[?21h,
- swidm=\E#6, tsl=\E7\E[;%i%p1%dx,
+ swidm=\E#6, tsl=\E7\E[;%i%p1%dx, use=ansi+rep,
att730-41|730MTG-41|AT&T 730-41 windowing terminal Version,
lines#41, use=att730,
att730-24|730MTG-24|AT&T 730-24 windowing terminal Version,
kf21=\EOU, kf22=\EOV, kf23=\EOW, kf24=\EOX, kf3=\EOC,
kf4=\EOD, kf5=\EOE, kf6=\EOF, kf7=\EOG, kf8=\EOH, kf9=\EOI,
khome=\E[H, kich1=\E[@, kil1=\E[L, krmir=\E6, mc0=\E[0i,
- mc4=^C, mc5=\E[v, mc5p=\E[%p1%dv, rc=\E8,
- rep=%p1%c\E[%p2%{1}%-%db, rev=\E[7m,
+ mc4=^C, mc5=\E[v, mc5p=\E[%p1%dv, rc=\E8, rev=\E[7m,
rmkx=\EP`>y~[[J`8xy~[[A`4xy~[[D`6xy~[[C`2xy~[[B\E
\\,
rmm=\E[>52l, rmso=\E[m, rmul=\E[m, sc=\E7,
smkx=\EP`>z~[[J`8xz~[[A`4xz~[[D`6xz~[[C`2xz~[[B\E
\\,
smm=\E[>52h, smso=\E[7m, smul=\E[4m, tbc=\E[3g,
- vpa=\E[%p1%{1}%+%dd,
+ vpa=\E[%p1%{1}%+%dd, use=ansi+rep,
aaa+rv|ann arbor ambassador in reverse video,
blink=\E[5;7m, bold=\E[1;7m, invis=\E[7;8m,
kf4=\EOS, khome=\E[H, kich1=\E\001\r, kil1=\E\003\r,
ll=\E[24H, mc0=\E[0i, mc4=\E[4i, mc5=\E[5i,
pfloc=\E[%p1%d;0u#%p2%s#, pfx=\E[%p1%d;1u#%p2%s#,
- prot=\E[99m, rc=\E8, rep=%p1%c\E[%p2%{1}%-%db, rev=\E[7m,
- ri=\EM$<4>, rmacs=\016$<1>, rmcup=\E[w\E2\r\n,
- rmir=\E[4l, rmkx=\E[!z\E[0;2u, rmso=\E[7!{, rmul=\E[4!{,
- sc=\E7,
+ prot=\E[99m, rc=\E8, rev=\E[7m, ri=\EM$<4>, rmacs=\016$<1>,
+ rmcup=\E[w\E2\r\n, rmir=\E[4l, rmkx=\E[!z\E[0;2u,
+ rmso=\E[7!{, rmul=\E[4!{, sc=\E7,
sgr=\E[%?%p1%t7;%;%?%p2%t4;%;%?%p3%t7;%;%?%p4%t5;%;%?%p6%t1;
%;%?%p7%t8;%;%?%p8%t99;%;m%?%p5%t\E[1!{%;%?%p9%t\017%e
\016%;$<1>,
sgr0=\E[m\016$<1>, smacs=\017$<1>,
smcup=\E[=4l\E[1;24w\E2\r, smir=\E[4h,
smkx=\E[1!z\E[0;3u, smso=\E[7m, smul=\E[4m, tbc=\E[3g,
- vpa=\E[%p1%{1}%+%dd,
+ vpa=\E[%p1%{1}%+%dd, use=ansi+rep,
avt-rv-ns|concept avt in reverse video mode/no status line,
flash=\E[=205l$<200>\E[=205h, is1=\E[=103l\E[=205h,
use=avt-ns,
# Be sure the auto lf/cr switch is set to cr.
hz1552|hazeltine 1552,
OTbs,
- cud1=\n, dl1=\EO, il1=\EE, kf1=\EP, kf2=\EQ, kf3=\ER, lf1=blue,
- lf2=red, lf3=green, use=vt52,
+ cud1=\n, dl1=\EO, il1=\EE, lf1=blue, lf2=red, lf3=green,
+ use=vt52,
hz1552-rv|hazeltine 1552 reverse video,
cud1=\n, rmso=\ET, smso=\ES, use=hz1552,
# Note: h2000 won't work well because of a clash between upper case and ~'s.
dl1=\E[M, ed=\E[J, el=\E[K, home=\E[H, hpa=\E[%p1%{1}%+%dG,
ht=^I, hts=\EH, ich=\E[%p1%d@, ich1=\E[@, il=\E[%p1%dL,
il1=\E[L, ind=\n, invis=\E[8m, kbs=^H, kcub1=\E[D,
- kcud1=\E[B, kcuf1=\E[C, kcuu1=\E[A, khome=\E[H,
- rep=%p1%c\E[%p2%{1}%-%db, rev=\E[7m, rmam=\E[?7l,
- rmso=\E[m, rmul=\E[m,
+ kcud1=\E[B, kcuf1=\E[C, kcuu1=\E[A, khome=\E[H, rev=\E[7m,
+ rmam=\E[?7l, rmso=\E[m, rmul=\E[m,
sgr=\E[%?%p1%t7;%;%?%p2%t4;%;%?%p3%t7;%;%?%p4%t5;%;%?%p6%t1;
%;%?%p7%t8;%;m,
sgr0=\E[m, smam=\E[?7h, smso=\E[7m, smul=\E[4m, tbc=\E[3g,
- vpa=\E[%p1%{1}%+%dd,
+ vpa=\E[%p1%{1}%+%dd, use=ansi+rep,
# The tek4125 emulates a vt100 incorrectly - the scrolling region
# command is ignored. The following entry replaces <csr> with the needed
# <il>, <il>, and <smir>; removes some cursor pad commands that the tek4125
\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,
#### DEC terminals (Obsolete types: DECwriter and vt40/42/50)
#
-# These entries are DEC's official terminfos for its older terminals.
-# Contact Bill Hedberg <hedberg@hannah.enet.dec.com> of Terminal Support
-# Engineering for more information. Updated terminfos and termcaps
-# are kept available at ftp://gatekeeper.dec.com/pub/DEC/termcaps.
+# These entries came from DEC's official terminfos for its older terminals
+# (which happen to be identical to the AT&T/SCO terminal descriptions),
+# Bill Hedberg <hedberg@hannah.enet.dec.com> of Terminal Support Engineering
+# may have had more information. Updated terminfos and termcaps were available
+# at ftp://gatekeeper.dec.com/pub/DEC/termcaps.
+
+# DEC's terminfos did not describe the auxiliary keypad.
+#
+# DECScope of course had no "function keys", but this building block assigns
+# the three blank keys at the top of the auxiliary (numeric) keypad, using
+# the same analogy as vt100 (also lacking function-keys).
#
+# These assignments use the same layout for 0-9 as vt100+keypad; the vt52
+# keypad had its cursor-keys on the right-column as shown -TD
+# _______________________________________
+# | PF1 | PF2 | PF3 | c-up |
+# | \EP | \EQ | \ER | \EA |
+# |_kf1__k1_|_kf2__k2_|_kf3__k3_|kcuu1_k4_|
+# | 7 8 9 c-down |
+# | \E?w | \E?x | \E?y | \EB |
+# |_kf9__k9_|_kf10_k;_|_kf0__k0_|kcud1____|
+# | 4 | 5 | 6 | c-right |
+# | \E?t | \E?u | \E?v | \EC |
+# |_kf5__k5_|_kf6__k6_|_kf7__k7_|kcuf1_k8_|
+# | 1 | 2 | 3 | c-left |
+# | \E?q | \E?r | \E?s | \ED |
+# |_ka1__K1_|_kb2__K2_|_ka3__K3_|kcub1____|
+# | 0 | . | enter |
+# | \E?p | \E?n | \E?M |
+# |___kc1_______K4____|_kc3__K5_|_kent_@8_|
+#
+vt52+keypad|DECScope auxiliary keypad,
+ ka1=\E?q, ka3=\E?s, kb2=\E?r, kc1=\E?p, kc3=\E?n, kf0=\E?y,
+ kf1=\EP, kf2=\EQ, kf3=\ER, kf5=\E?t, kf6=\E?u, kf7=\E?v,
+ kf8=\E?w, kf9=\E?x,
gt40|dec gt40,
OTbs, os,
OTbs, os,
cols#72, lines#40,
bel=^G, cr=\r, cub1=^H, cud1=\n,
+
vt50|dec vt50,
OTbs,
cols#80, lines#12,
bel=^G, clear=\EH\EJ, cr=\r, cub1=^H, cud1=\n, cuf1=\EC,
- cuu1=\EA, ed=\EJ, el=\EK, ht=^I, ind=\n,
+ cuu1=\EA, ed=\EJ, el=\EK, ht=^I, ind=\n, u8=\E/A, u9=\EZ,
vt50h|dec vt50h,
- OTbs,
- cols#80, lines#12,
- bel=^G, clear=\EH\EJ, cr=\r, cub1=^H, cud1=\n, cuf1=\EC,
- cup=\EY%p1%{32}%+%c%p2%{32}%+%c, cuu1=\EA, ed=\EJ,
- el=\EK, ht=^I, ind=\n, ri=\EI,
+ cub1=\ED, cud1=\EB, cup=\EY%p1%{32}%+%c%p2%{32}%+%c,
+ kcub1=\ED, kcud1=\EB, kcuf1=\EC, kcuu1=\EA, u8=\E/[HJ],
+ use=vt52+keypad, use=vt50,
+
# (vt61: there's a BSD termcap that claims <dl1=\EPd>, <il1=\EPf.> <kbs=^H>)
vt61|vt-61|vt61.5|dec vt61,
cols#80, lines#24,
#### Masscomp consoles
#
-# Masscomp has gone out of business. Their product line was purchased by
-# comany in Georgia (US) called "XS International", parts and service may
+# Masscomp has gone out of business. Their product line was purchased by a
+# company in Georgia (US) called "XS International", parts and service may
# still be available through them.
#
# goes to the first column of the "status line".
# XM is a string capability which overrides ncurses's built-in string which
# enables/disables xterm mouse mode.
-# xm shows the format of the mouse responses. Parameters are (from zero):
+# xm shows the format of the mouse responses. Parameters:
# p1 = y-ordinate
# p2 = x-ordinate
# p3 = button
# 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.
# 2019-09-22
# + correct a comment -TD
#
+# 2019-10-26
+# + modify linux-16color to accommodate Linux console driver change in
+# early 2018 (report by Dino Petrucci).
+#
+# 2019-11-02
+# + add "xterm-mono" to help packagers (report by Sven Joachim) -TD
+#
+# 2019-11-09
+# + drop ich1 from rxvt-basic, Eterm and mlterm to improve compatibility
+# with old non-curses programs -TD
+# + reviewed st 0.8.2, updated some details -TD
+# + use ansi+rep several places -TD
+#
+# 2020-01-12
+# + update alacritty entries for 0.4.0 (prompted by patch by
+# Christian Durr) -TD
+#
+# 2020-01-18
+# + spelling fixes per codespell -TD
+# + improve xm example for xterm+x11mouse, xterm+sm+1006 -TD
+#
+# 2020-02-22
+# + 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
+#
+# 2020-05-30
+# + re-enable "bel" in konsole-base (report by Nia Huang)
+# + add linux-s entry (patch by Alexandre Montaron).
+#
######## SHANTIH! SHANTIH! SHANTIH!