# Report bugs and new terminal descriptions to
# bug-ncurses@gnu.org
#
-# $Revision: 1.767 $
-# $Date: 2019/11/02 16:55:15 $
+# $Revision: 1.821 $
+# $Date: 2020/09/30 00:00:44 $
#
# 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@,
# 'r' scan line 7
# '_' scan line 9
linux2.6|linux 2.6.x console,
- acsc=++\,\,--..00__``aaffgghhiijjkkllmmnnooppqqrrssttuuvvwwx
- xyyzz{{||}c~~,
+ acsc=++\,\,--..00``aaffgghhiijjkkllmmnnooppqqrrssttuuvvwwxxy
+ yzz{{||}}~~,
enacs=\E)0, rmacs=^O,
sgr=\E[0;10%?%p1%t;7%;%?%p2%t;4%;%?%p3%t;7%;%?%p4%t;5%;%?%p5
%t;2%;%?%p6%t;1%;m%?%p9%t\016%e\017%;,
# (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:
#
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
#
# host writable status line, yet another different DRCS matrix size,
# and such, but they add the DEC Technical character set, Multiple text
# pages, selectable length pages, and the like. The difference between
-# the vt330 and vt340 is that the latter has only 2 planes and a monochrome
-# monitor, the former has 4 planes and a color monitor. These terminals
+# the vt330 and vt340 is that the former has only 2 planes and a monochrome
+# monitor, the latter has 4 planes and a color monitor. These terminals
# support VT131 and ANSI block mode, but as with much of these things,
# termcap/terminfo doesn't deal with these features.
#
# macros, and other features too numerous to remember right now. TERMCAP
# can only take advantage of a few of these added features.
#
-# Note that this entry is are set up in what was the standard way for GNU
+# Note that this entry is set up in what was the standard way for GNU
# Emacs v18 terminal modes to deal with the cursor keys in that the arrow
# keys were switched into application mode at the same time the numeric pad
# is switched into application mode. This changes the definitions of the
# Zstem340 is an (IMHO) excellent VT emulator for PC's. I recommend it to
# anyone who needs PC VT340 emulation. (or anything below that level, for
# that matter -- DEC's ALL-in-1 seems happy with it, as does INFOPLUS's
-# RDBM systems, it includes ReGIS and SiXel support! I'm impressed...
+# RDBM systems, it includes ReGIS and Sixel support! I'm impressed...
# I can send the address if requested.
# (z340: changed garbled \E[5?l to \E[?5l, DEC smooth scroll off -- esr)
# From: Adam Thompson <athompso@pangea.ca> Sept 10 1995
#
# 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
#
# 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,
#
# This chunk is used for building the VT220/Sun/PC keyboard variants.
xterm-basic|modern xterm terminal emulator - common,
- OTbs, am, bce, km, mir, msgr, xenl, AX, XT,
+ OTbs, am, bce, mir, msgr, xenl, AX, XT,
colors#8, cols#80, it#8, lines#24, pairs#64,
acsc=``aaffggiijjkkllmmnnooppqqrrssttuuvvwwxxyyzz{{||}}~~,
bel=^G, blink=\E[5m, bold=\E[1m, cbt=\E[Z, civis=\E[?25l,
is2=\E[!p\E[?3;4l\E[4l\E>, kmous=\E[M, meml=\El,
memu=\Em, op=\E[39;49m, rc=\E8, rev=\E[7m, ri=\EM,
rmacs=\E(B, rmam=\E[?7l, rmir=\E[4l, rmkx=\E[?1l\E>,
- rmm=\E[?1034l, rmso=\E[27m, rmul=\E[24m, rs1=\Ec,
+ rmso=\E[27m, rmul=\E[24m, rs1=\Ec,
rs2=\E[!p\E[?3;4l\E[4l\E>, sc=\E7, setab=\E[4%p1%dm,
setaf=\E[3%p1%dm,
setb=\E[4%?%p1%{1}%=%t4%e%p1%{3}%=%t6%e%p1%{4}%=%t1%e%p1%{6}
sgr=%?%p9%t\E(0%e\E(B%;\E[0%?%p6%t;1%;%?%p5%t;2%;%?%p2%t;4%;
%?%p1%p3%|%t;7%;%?%p4%t;5%;%?%p7%t;8%;m,
sgr0=\E(B\E[m, smacs=\E(0, smam=\E[?7h, smir=\E[4h,
- smkx=\E[?1h\E=, smm=\E[?1034h, smso=\E[7m, smul=\E[4m,
- tbc=\E[3g, vpa=\E[%i%p1%dd, E3=\E[3J, use=ecma+italics,
- use=ansi+pp, use=xterm+kbs, use=xterm+alt+title,
- use=ansi+enq,
+ smkx=\E[?1h\E=, smso=\E[7m, smul=\E[4m, tbc=\E[3g,
+ vpa=\E[%i%p1%dd, E3=\E[3J, use=ecma+italics, use=ansi+pp,
+ use=xterm+kbs, use=xterm+alt+title, use=ansi+enq,
+ use=xterm+meta,
+
+xterm+meta|meta mode for xterm,
+ km,
+ rmm=\E[?1034l, smm=\E[?1034h,
# From: David J. MacKenzie <djm@va.pubnix.com>, 14 Nov 1997
# In retrospect, something like xterm-r6 was intended here -TD
# 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
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@,
use=xterm+256setaf, use=konsole,
#### MLTERM
-# http://mlterm.sourceforge.net/
+# https://github.com/arakiken/mlterm
mlterm|multi lingual terminal emulator,
use=mlterm3,
-# Tested mlterm 3.2.2:
-# mlterm 3.x has made changes, but they are not reflected in the included
-# mlterm.ti; this entry is based on testing with ncurses, tack and vttest -TD
-# 2018/01/21: found xterm+sm+1006 did not work with version 3.3.8
+# Tested mlterm 3.9.0 (2020/09/19):
+# ncurses:
+# - has blinking text
+# - has italics
+# - has invisible-text
+# tack:
+# - has crossed-out text
+# - does not support palette reset with OSC 104
+# - testing the function-keys is difficult because the terminal is
+# preconfigured to set many of the modified keys to special functions, e.g.,
+# - shift-F1 and shift-F2 are bound to a split-screen feature
+# - control-F1 and control-F2 is bound to a new-terminal feature
+# vttest:
+# - primary response says it is a VT340 (ReGIS and Sixel).
+# - has partial support for double-size characters.
+# - character-set tests do not work.
+# - DEC locator works.
+# - 1006-mouse works.
+# - focus-events do not work reliably.
+# - numeric keypad escapes do not work.
+# - back-color erase works
+# other:
+# - title-stack works.
+# - doesn't respond to 8-bit controls.
+# - 256-color palette initializing works.
+# - DECSTR soft-reset is documented.
+#
+# Tested mlterm 3.3.8 (2018/01/21):
+# found xterm+sm+1006 did not work with version 3.3.8
+# soft-reset DECSTR is in sources since 2017/09/19.
+#
+# Tested mlterm 3.2.2 (2014/03/22):
+# mlterm 3.x made further changes, but they were not reflected in the included
+# mlterm.ti (which was dropped in 2015). This entry has been based on testing
+# with ncurses, tack and vttest -TD
mlterm3|multi lingual terminal emulator,
+ bce, AX,
+ blink=\E[5m, invis=\E[8m, is2=\E[!p\E[?3;4l\E>,
kf1=\E[11~, kf2=\E[12~, kf3=\E[13~, kf4=\E[14~,
- use=ecma+italics, use=xterm+app, use=xterm+pcf0,
- use=xterm+pcc2, use=xterm+pce2, use=xterm+x11mouse,
- use=mlterm2,
+ rs2=\E[!p\E[?3;4l\E>,
+ sgr=\E[0%?%p6%t;1%;%?%p2%t;4%;%?%p4%t;5%;%?%p1%p3%|%t;7%;%?
+ %p7%t;8%;m%?%p9%t\E(0%e\E(B%;,
+ use=ansi+enq, use=ansi+rep, use=ecma+italics,
+ use=ecma+strikeout, use=xterm+app, use=xterm+pcf2,
+ use=xterm+pcc2, use=xterm+pce2, use=xterm+meta,
+ use=xterm+alt+title, use=xterm+sm+1006, use=mlterm2,
# This is mlterm 2.9.3's mlterm.ti, with some additions/corrections -TD
#
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,
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,
# various entries such as screen.xterm-new provide a way to more closely
# match the terminal.
tmux|tmux terminal multiplexer,
- invis=\E[8m, rmso=\E[27m,
+ invis=\E[8m, kbs=^?, rmso=\E[27m,
sgr=\E[0%?%p6%t;1%;%?%p2%t;4%;%?%p1%p3%|%t;7%;%?%p4%t;5%;%?
%p5%t;2%;%?%p7%t;8%;m%?%p9%t\016%e\017%;,
smso=\E[7m, E3=\E[3J, Smulx=\E[4\:%p1%dm,
tmux-256color|tmux with 256 colors,
use=xterm+256setaf, use=tmux,
+tmux-direct|tmux with direct-color indexing,
+ setal=\E[%?%p1%{8}%<%t5%p1%d%e58\:2\:\:%p1%{65536}%/%d\:%p1
+ %{256}%/%{255}%&%d\:%p1%{255}%&%d%;m,
+ use=xterm+direct, use=tmux,
+
#### Dvtm
# dvtwm 0.15
# 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.
OTbs, am, hs,
cols#80, lines#24,
bel=^G, blink=\E[2ZZ, cbt=\EI, civis=\E.0, clear=\E*,
- cnorm=\E.3, cr=\r, csr=\E!%+%p1%{32}%+%p2%{32}, cub1=^H,
- cud1=^V, cuf1=^L,
+ cnorm=\E.3, cr=\r, csr=\E!%p1%{32}%+%c%p2%{32}%+%c,
+ cub1=^H, cud1=^V, cuf1=^L,
cup=\E=%p1%{32}%+%c%p2%{80}%m%{32}%+%c%p2%{80}%>%{32}%+%c,
cuu1=^K, cvvis=\E.1, dch1=\EW, dl1=\ER, home=^^, ht=^I,
hts=\E1, il1=\EE, invis=\E[1ZZ,
kf21=^Ai\r, kf22=^Aj\r, kf3=^AB\r, kf4=^AC\r, kf5=^AD\r,
kf6=^AE\r, kf7=^AF\r, kf8=^AG\r, kf9=^AH\r, khome=^^,
kich1=\EQ, kil1=\EE, kprt=\EP, mc4=\Ea, mc5=\E`, nel=^_,
- pfloc=\E|%{48}%p1%+%c2%p2\031,
- pfx=\E|%{48}%p1%+%c1%p2\031, prot=\E), ri=\Ej,
+ pfloc=\E|%{48}%p1%+%c2%p2%s\031,
+ pfx=\E|%{48}%p1%+%c1%p2%s\031, prot=\E), ri=\Ej,
rmacs=\E%%, rmir=\Er, rmso=\E(, rmxon=^N,
sgr=\EG0\E%%%%\E(%?%p1%p5%p8%|%|%t\E)%;%?%p9%t\E$%;,
sgr0=\EG0\E%%\E(, smacs=\E$, smir=\Eq, smso=\E), smxon=^O,
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
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,
#### 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,
da, db, in, msgr,
cbt=\E[Z, civis=\E[?25l, clear=\E[H\E[2J$<6>,
cnorm=\E[?25h, cub=\E[%p1%dD, cud=\E[%p1%dB,
- cuf=\E[%p1%dC, cup=\E[%p1%i%p1%d;%p2%dH, cuu=\E[%p1%dA,
+ cuf=\E[%p1%dC, cup=\E[%i%p1%d;%p2%dH, cuu=\E[%p1%dA,
dch=\E[%p1%dP$<250>, dch1=\E[P, dl=\E[%p1%dM,
ech=\E[%p1%dX$<20>, ed=\E[J$<6>, el=\E[0K, el1=\E[1K,
enacs=\E(B\E)0, ff=^L, flash=\E[?5h\E[?5l$<6>,
#### 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-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).
+#
+# 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).
+#
+# 2020-07-11
+# + fix pound-sign mapping in acsc of linux2.6 entry (report by Ingo
+# Bruckl).
+#
+# 2020-08-28
+# + correct icl6404 csr (report by Florian Weimer).
+# + correct ti916 cup (report by Florian Weimer).
+# + improve ndr9500 (report by Florian Weimer).
+#
+# 2020-09-05
+# + correct description of vt330/vt340 (Ross Combs).
+#
+# 2020-09-19
+# + update mlterm3 for 3.9.0 (report by Premysl Eric Janouch).
+#
+# 2020-09-29
+# + add tmux-direct (tmux #2370)
+# + simplify mlterm initialization with DECSTR -TD
+# + change tmux's kbs to ^? (report by Premysl Eric Janouch)
+#
######## SHANTIH! SHANTIH! SHANTIH!