# Report bugs and new terminal descriptions to
# bug-ncurses@gnu.org
#
-# $Revision: 1.729 $
-# $Date: 2019/03/30 22:59:53 $
+# $Revision: 1.742 $
+# $Date: 2019/06/09 20:01:43 $
#
# 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
# license from xterm.
#
#------------------------------------------------------------------------------
+# https://invisible-island.net/ncurses/ncurses.faq.html#terminfo_copying
+# https://invisible-island.net/personal/copyrights.html#removing_notes
+#------------------------------------------------------------------------------
+#
# Version 10.2.1
# terminfo syntax
#
sgr=\E[%?%p1%t7;%;%?%p2%t4;%;%?%p3%t7;%;%?%p4%t5;%;%?%p5%t2;
%;%?%p7%t8;%;m,
use=ansi+sgr, use=ansi+sgrso, use=ansi+sgrul,
+
+# ECMA-48 does not specify scroll-regions, but most people consider it to be
+# "ANSI" because it is widely-supported. See ecma+index for the standard form.
ansi+csr|ANSI scroll-region plus cursor save & restore,
csr=\E[%i%p1%d;%p2%dr, rc=\E8, sc=\E7,
ecma+strikeout|ECMA-48 strikeout/crossed-out,
rmxx=\E[29m, smxx=\E[9m,
+# ECMA-48 does not include the VT100 indexing and scroll-margins. It has its
+# own variation.
+ecma+index|ECMA-48 scroll up/down,
+ indn=\E[%p1%dS, rin=\E[%p1%dT,
+
# For comparison, here are all the capabilities implied by the Intel
# Binary Compatibility Standard (level 2) that fit within terminfo.
# For more detail on this rather pathetic standard, see the comments
smkx=\E[?1h\E=, smso=\E[7m, smul=\E[4m, tbc=\E[3g,
tsl=\E[2$~\E[1$}\E[1;%dH,
+# Left/right margins are supported in xterm since patch #279 (2012/05/10)
+vt420+lrmm|VT420 left/right margins,
+ mgc=\E[?69l, smglr=\E[?69h\E[%i%p1%d;%p2%ds,
+
# DEC doesn't supply a vt400 description, so we add Daniel Glasser's
# (originally written with vt420 as its primary name, and usable for it).
#
kf5=\E[Q, kf6=\E[R, kf7=\E[S, kf8=\E[T, kf9=\E[U, khome=\E[H,
kich1=\E[L, knp=\E[G, kpp=\E[I,
+#### mintty
+# 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).
+#
+# 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
+# from xterm (alt-left and alt-right send modifier 7, i.e., alt+control).
+#
+# Thomas Wolff suggested these extensions:
+# blink2 turn on rapid blinking
+# blink0 turn off blinking
+# norm turn off bold and half-bright mode
+# opaq turn off blank mode
+# smul2 begin double underline mode
+# smol begin overline mode
+# rmol exit overline mode
+# Font0 use default font
+# Font1 use alternative font 1
+# ...
+# Font10 use alternative font 10
+# setal set (under)line color
+# ol set default (under)line color
+# overs overstrike (print characters over each other)
+#
+# but see vte-2018 (use Smol/Rmol rather than smol/rmol).
+mintty|Cygwin Terminal,
+ setal=\E[5%p1%dm, use=xterm+256color,
+ use=mintty+common,
+mintty-direct|Cygwin Terminal direct-color,
+ setal=\E[%?%p1%{8}%<%t5%p1%d%e58\:2\:\:%p1%{65536}%/%d\:%p1
+ %{256}%/%{255}%&%d\:%p1%{255}%&%d%;m,
+ use=xterm+direct, use=mintty+common,
+mintty+common|shared capabilities for mintty,
+ km@, npc,
+ kcbt=\E[Z, kent=\EOM, rmm@, rmpch=\E[10m,
+ rs1=\Ec\E]104\007, rshm=\E[22m, rsubm=\E[75m,
+ rsupm=\E[75m, smm@, smpch=\E[11m, sshm=\E[1\:2m,
+ ssubm=\E[74m, ssupm=\E[73m, Rmol=\E[55m, Smol=\E[53m,
+ Smulx=\E[4\:%p1%dm, blink2=\E[6m, norm=\E[22m,
+ opaq=\E[28m, smul2=\E[21m, use=ansi+rep,
+ use=ecma+strikeout, use=ecma+index, use=vt420+lrmm,
+ use=xterm+sm+1006, use=xterm+pcfkeys, use=xterm+tmux,
+ use=xterm-basic,
+# 2019-06-09: These capabilities are commented-out for compatibility with
+# existing releases 5.9-6.1, and may be considered for inclusion after the
+# release of ncurses 6.2:
+# Font0=\E[10m,
+# Font1=\E[11m,
+# Font2=\E[12m,
+# Font3=\E[13m,
+# Font4=\E[14m,
+# Font5=\E[15m,
+# Font6=\E[16m,
+# Font7=\E[17m,
+# Font8=\E[18m,
+# Font9=\E[19m,
+# Font10=\E[20m,
+# blink0=\E[25m,
+# ol=\E[59m,
+# overs=\E[8\:7m,
+
#### TeraTerm
# This entry is for Tera Term Pro version 2.3, for MS-Windows 95/NT written by
# This version reflects the current xterm features.
xterm-new|modern xterm terminal emulator,
npc,
- indn=\E[%p1%dS, kb2=\EOE, kcbt=\E[Z, kent=\EOM,
- rin=\E[%p1%dT, use=ansi+rep, use=ecma+strikeout,
- use=xterm+sm+1006, use=xterm+pcfkeys, use=xterm+tmux,
- use=xterm-basic,
+ indn=\E[%p1%dS, kcbt=\E[Z, kent=\EOM, rin=\E[%p1%dT,
+ use=ansi+rep, use=ecma+strikeout, use=xterm+keypad,
+ use=vt420+lrmm, use=xterm+sm+1006, use=xterm+pcfkeys,
+ use=xterm+tmux, use=xterm-basic,
# This fragment is for people who cannot agree on what the backspace key
# should send.
xterm+alt+title|xterm 90 and 251 features combined,
rmcup=\E[?1049l\E[23;0;0t, smcup=\E[?1049h\E[22;0;0t,
+
+# https://invisible-island.net/xterm/xterm.faq.html#xterm_keypad
+#
+# Xterm's emulation of the VT100 numeric keypad on a PC-keyboard runs into the
+# problem that the keypad layout is different, and that the natural choice for
+# PF1 is NumLock (which happens to be reserved for other use). To work around
+# that, PF1-PF4 are emulated via F1-F4, which leaves the "/", "*" and "+" not
+# directly related to VT100.
+#
+# With the VT220 keypad block that uses the 1-9 keys as suggested in
+# terminfo(5), the other keys can be handled with user-defined capabilities:
+#
+# _______________________________________
+# | NumLock | / | * | - |
+# | | $Oo | $Oj | $OS |
+# |_________|__kpDIV__|__kpMUL__|__kpSUB__|
+# | 7 8 9 | |
+# | $Ow | $Ox | $Oy | + |
+# |_ka1__K1_|_________|_ka3__K3_| $Ok |
+# | 4 | 5 | 6 | kpADD |
+# | $Ot | $Ou | $Ov | |
+# |_________|_kb2__K2_|_________|_________|
+# | 1 | 2 | 3 | |
+# | $Oq | $Or | $Os | |
+# |_kc1__K4_|_________|_kc3__K5_| enter |
+# | 0 | . | $OM |
+# | $Op | $On | |
+# |___________________|_________|_kent_@8_|
+#
+xterm+keypad|xterm emulating VT100/VT220 numeric keypad,
+ kp5=\EOE, kpADD=\EOk, kpCMA=\EOl, kpDIV=\EOo, kpDOT=\EOn,
+ kpMUL=\EOj, kpSUB=\EOm, kpZRO=\EOp, use=vt220+keypad,
#
# Those chunks use the new-style (the xterm oldFunctionKeys resource is false).
# Alternatively, the same scheme with old-style function keys as in xterm-r6
ccc,
initc=\E]4;%p1%d;rgb\:%p2%{255}%*%{1000}%/%2.2X/%p3%{255}%*
%{1000}%/%2.2X/%p4%{255}%*%{1000}%/%2.2X\E\\,
- oc=\E]104\007, rs1=\Ec\E]104\007, use=ibm+16color,
- use=xterm-new,
+ use=xterm+osc104, use=ibm+16color, use=xterm-new,
# 256-colors is a compile-time feature of XFree86 xterm beginning with
# xterm patch #111 (1999/7/10) -TD
;%p1%d%;m,
setb@, setf@,
+# 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
+xterm+osc104|reset color palette,
+ oc=\E]104\007, rs1=\Ec\E]104\007,
+
# palette is hardcoded...
xterm+256setaf|xterm 256-color (set-only),
ccc@,
# These variants of XFree86 3.9.16 xterm are built as a configure option.
xterm-256color|xterm with 256 colors,
- rs1=\Ec\E]104\007, use=xterm+256color, use=xterm-new,
+ use=xterm+osc104, use=xterm+256color, use=xterm-new,
xterm-88color|xterm with 88 colors,
- rs1=\Ec\E]104\007, use=xterm+88color,
+ use=xterm+osc104, use=xterm+88color,
use=xterm-256color,
# Emacs 26.1 and later support direct color mode in terminals, using a
# VTE 0.51.2 and gnome-terminal 3.28.2 copied a feature from KovId's TTY
# late in 2017 for changing the appearance of underlines, which was
# incorporated into Debian and Fedora testing-packages in February and March
-# 2018, respectively.
+# 2018, respectively. Overline (Smol/Rmol) has been supported since December
+# 2017.
vte-2018|VTE 0.51.2,
- Smulx=\E[4\:%p1%dm, use=vte-2017,
+ Rmol=\E[55m, Smol=\E[53m, Smulx=\E[4\:%p1%dm,
+ use=vte-2017,
vte|VTE aka GNOME Terminal,
use=vte-2018,
kdch1=\E[3~, kend=\E[4~, kf1@, kf10@, kf11@, kf12@, kf13@, kf14@,
kf15@, kf16@, kf17@, kf18@, kf19@, kf2@, kf20@, kf3@, kf4@, kf5@, kf6@,
kf7@, kf8@, kf9@, kfnd@, khome=\E[1~, kslt@, rin=\E[%p1%dT,
- rmam=\E[?7l, rmso=\E[27m, rmul=\E[24m,
+ rmam=\E[?7l, rmso=\E[27m, rmul=\E[24m, rs1=\Ec,
rs2=\E7\E[r\E8\E[m\E[?7h\E[?1;3;4;6l\E[4l\E>\E[?1000l\E[?25h,
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%;,
kpp=\E[5~, kri=\EO1;2A, kslt=\E[4~, mc0=\E[i, nel=\EE,
op=\E[39;49m, rc=\E8, rev=\E[7m, ri=\EM, rin=\E[%p1%dT,
rmacs=\E(B, rmam=\E[?7l, rmcup=\E[?1049l, rmir=\E[4l,
- rmkx=\E[?1l\E>, rmso=\E[27m, rmul=\E[24m,
+ rmkx=\E[?1l\E>, rmso=\E[27m, rmul=\E[24m, rs1=\Ec,
rs2=\E7\E[r\E8\E[m\E[?7h\E[?1;3;4;6l\E[4l\E>\E[?1000l,
sc=\E7, setab=\E[4%p1%dm, setaf=\E[3%p1%dm,
sgr=\E[0%?%p6%t;1%;%?%p2%t;4%;%?%p1%p3%|%t;7%;m%?%p9%t\E(0%e
#### TERMINATOR
# https://github.com/software-jessies-org/jessies/wiki/Terminator
#
-# Tested using their Debian package org.jessies.terminator 6.104.3256 on 64-bit
+# Tested using the Debian package org.jessies.terminator 6.104.3256 on 64-bit
# Debian/current -TD (2011/8/20)
#
-# There are some packaging problems:
+# There were some packaging problems:
# a) using Java, the program starts off using 50Mb, and climbs from there,
# up to 114Mb after testing (no scrollback).
# b) it insists on reinstalling its terminal description in $HOME/.terminfo
# c) modified smacs/rmacs to use SCS rather than SI/SO
# d) removed bce
# e) removed km
+#
+# Revisiting in May 2019, the Debian package was no longer available, and a
+# developer-provided ".deb" does not work. However, a usable Windows ".msi"
+# (which relies upon Cygwin) can be tested. The developers provide a terminfo,
+# but some of the features it lists do not work reliably (bce, italics, invis).
+#
+# tack:
+# tbc fails
+# invis attribute fails
+# key-definitions could be expanded, with some work:
+# + supports xterm-style cursor key-modifiers for shift
+# + supports xterm-style function key-modifiers for shift,control,alt
+# + supports xterm-style editing key-modifiers for shift,control,alt
+# (kbs=^?)
+# ncurses test-program:
+# "C" menu shows that bce implementation is incomplete
+# italics did not work
+# dim worked once in tack, but not in ncurses test-program
+# "F" thick-line characters do not display
+# vttest:
+# terminal does not respond to 80/132-column switching
+# wrapping at the right margin is erratic
+# there are several problems in the cursor-movements and screen-features
+# no vt52, no double-sized characters
+# Device attributes response says it is a vanilla VT100
+# does not respond to xterm mouse controls
+# alternate screen tests do not fill the screen, return wrong position
+# window modify/report operations do not work
+# miscellaneous ISO-6429 tests, e.g., REP, do not work
+# CBT, CHT, HPR, CNL,CPL, VPR do not work
+#
+# removed the cancel for "hs", removed cbt, invis, corrected sgr -TD
terminator|Terminator no line wrap,
- eo, mir, msgr, xenl, xon,
+ bce, eo, mir, msgr, xenl, xon,
colors#0x100, cols#80, it#8, lines#24, lm#0, pairs#0x10000,
acsc=``aaffggjjkkllmmnnooppqqrrssttuuvvwwxxyyzz{{||}}~~,
bold=\E[1m, civis=\E[?25l, clear=\E[H\E[2J,
cub=\E[%p1%dD, cub1=^H, cud=\E[%p1%dB, cud1=\n,
cuf=\E[%p1%dC, cuf1=\E[C, cup=\E[%i%p1%d;%p2%dH,
cuu=\E[%p1%dA, cuu1=\E[A, dch=\E[%p1%dP, dch1=\E[P,
- dl=\E[%p1%dM, dl1=\E[M, ed=\E[J, el=\E[K, el1=\E[1K,
- enacs=\E(B\E)0, flash=^G, home=\E[H, hpa=\E[%i%p1%dG,
- ht=^I, hts=\EH, 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,
+ dim=\E[2m, dl=\E[%p1%dM, dl1=\E[M, ed=\E[J, el=\E[K,
+ el1=\E[1K, enacs=\E(B\E)0, flash=^G, home=\E[H,
+ hpa=\E[%i%p1%dG, ht=^I, hts=\EH, il=\E[%p1%dL, il1=\E[L,
+ ind=\n, indn=\E[%p1%dS, 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=^?,
kcub1=\E[D, kcud1=\E[B, kcuf1=\E[C, kcuu1=\E[A,
kdch1=\E[3~, kend=\E[4~, kf1=\EOP, kf10=\E[21~,
kf11=\E[23~, kf12=\E[24~, kf13=\E[25~, kf14=\E[26~,
kf15=\E[28~, kf16=\E[29~, kf2=\EOQ, kf3=\EOR, kf4=\EOS,
kf5=\E[15~, kf6=\E[17~, kf7=\E[18~, kf8=\E[19~, kf9=\E[20~,
khome=\E[1~, kich1=\E[2~, knp=\E[6~, kpp=\E[5~,
- op=\E[39;49m, rc=\E8, rev=\E[7m, ri=\EM, rmacs=\E(B,
- rmcup=\E[?47l\E8, rmir=\E[4l, rmso=\E[27m, rmul=\E[24m,
- rs1=\E>\E[1;3;4;5;6l\E[?7h\E[m\E[r\E[2J\E[H,
- rs2=\E[r\E[m\E[2J\E[H\E[?7h\E[?1;3;4;6l\E[4l\E>,
- s0ds=\E(B, s1ds=\E(0, sc=\E7, setab=\E[48;5;%p1%dm,
- setaf=\E[38;5;%p1%dm,
- sgr=\E[0%?%p1%p6%|%t;1%;%?%p2%t;4%;%?%p1%p3%|%t;7%;m%?%p9%t
- \E(0%e\E(B%;,
- sgr0=\E[m\E(B, smacs=\E(0, smcup=\E7\E[?47h, smir=\E[4h,
- smso=\E[7m, smul=\E[4m, tbc=\E[3g, vpa=\E[%i%p1%dd,
- use=xterm+sl-twm,
+ op=\E[39;49m, rc=\E8, rev=\E[7m, ri=\EM, rin=\E[%p1%dT,
+ ritm=\E[23m, rmacs=\E(B, rmcup=\E[?1049l, rmir=\E[4l,
+ rmso=\E[27m, rmul=\E[24m, rs1=\Ec,
+ rs2=\E[!p\E[?3;4l\E[4l\E>, s0ds=\E(B, s1ds=\E(0, sc=\E7,
+ setab=\E[48;5;%p1%dm, setaf=\E[38;5;%p1%dm,
+ sgr=\E[0%?%p1%p6%|%t;1%;%?%p2%t;4%;%?%p5%t;2%;%?%p1%p3%|%t;7
+ %;m%?%p9%t\E(0%e\E(B%;,
+ sgr0=\E[m\E(B, sitm=\E[3m, smacs=\E(0, smcup=\E[?1049h,
+ smir=\E[4h, smso=\E[7m, smul=\E[4m, tbc=\E[3g,
+ tsl=\E]2;%p1, vpa=\E[%i%p1%dd, use=xterm+sl-twm,
#### TERMINOLOGY
# https://www.enlightenment.org/about-terminology
ti703|ti707|Texas Instruments Silent 703/707,
am, hc, os, xenl,
cols#80, it#8,
- bel=^G, cr=\r$<162>, cub1=^H, cud1=\n, cuf1=\s, ht=^I, ind=\n,
+ bel=^G, cr=\r$<162>, cub1=^H, cud1=\n, cuf1=\s, ind=\n,
is2=\EPC\\, nel=\r\n,
ti703-w|ti707-w|Texas Instruments Silent 703/707,
cols#132,
# (including the System V console) support an attribute 6 that undoes this
# braindamage (this is required by iBCS2).
#
-# * Some older versions of ANSI.SYS have a bug that causes thems to require
+# * Some older versions of ANSI.SYS have a bug that causes them to require
# ESC [ Pn k as EL rather than the ANSI ESC [ Pn K. (This is not ECMA-48
# compatible.)
# + add "screen5", to mention italics (report by Stefan Assmann)
# + modify description of xterm+x11hilite to eliminate unused p5 -TD
#
+# 2019-05-18
+# + update xterm-new to xterm patch #345 -TD
+# + add/use xterm+keypad in xterm-new (report by Alain D D Williams) -TD
+# + update terminator entry -TD
+# + remove hard-tabs from ti703 (report by Robert Clausecker)
+# + add Smol/Rmol for tmux, vte-2018 -Nicholas Marriott
+#
+# 2019-06-01
+# + add rs1 to konsole, mlterm -TD
+#
+# 2019-06-08
+# + add mintty, mintty-direct (Thomas Wolff)
+# 2019-06-09
+# + comment-out some user-defined capabilities in mintty+common to allow
+# builds with existing releases 5.9-6.1 -TD
+#
######## SHANTIH! SHANTIH! SHANTIH!