# Report bugs and new terminal descriptions to
# bug-ncurses@gnu.org
#
-# $Revision: 1.974 $
-# $Date: 2022/01/23 22:33:01 $
+# $Revision: 1.997 $
+# $Date: 2022/03/26 21:59:51 $
#
# 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
# http://svnweb.freebsd.org/base/stable/8/sys/dev/syscons/
# in particular scterm-teken.c
#
+# For FreeBSD 12 and 13:
+# ---------------------
+# In newer releases, it is no longer possible to boot into a configuration that
+# works with syscons. teken's "cons25" configuration supports only the first
+# 12 function keys. One may switch at runtime between the two flavors of
+# function keys using vidcontrol:
+# vidcontrol -T cons25
+# vidcontrol -T xterm
+# But for each, teken implements only about a quarter of the imitated terminal's
+# terminal descriptions.
+#
+# tack:
+# VT100 line-drawing does not work (UTF-8 equivalents do).
+# Shift/control modifiers have no effect on special keys.
+# Meta does not work.
+# vttest:
+# supports REP (repeat).
+# still does not support left/right margins
+# SU/SD work, but not SL/SR
+# alternate screen does not work
+# ENQ/DA1 is unimplemented (the terminal does not identify itself)
+# CPR, XCPR are unimplemented (i.e., vttest and resize are broken)
+# implements X11 (original) xterm-mouse.
+# ncurses:
+# UTF-8 line-drawing works, including some double/thick lines
+#
# For FreeBSD 9 and 10:
# --------------------
# The /etc/ttys entries for console and other ttys are all configured to set
#
# Those are removed from this entry's acsc string to avoid confusion.
# The resulting description provides correct line-drawing and function-keys -TD
-teken|syscons with teken,
+teken-2018|teken as of 2018,
bw@, mir, xenl,
acsc=0\333a\260f\370g\361h\261j\331k\277l\332m\300n\305q
\304t\303u\264v\301w\302x\263y\363z\362~\371,
u6=\E[%i%d;%dR, u7=\E[6n, u8=\E[?1;2c, u9=\E[c,
vpa=\E[%i%p1%dd, use=vt220+cvis, use=cons25,
+teken-2022|teken as of 2022,
+ am, bce, eo, mir, msgr, npc,
+ colors#8, cols#80, it#8, lines#25, ncv#21, pairs#64, U8#1,
+ bold=\E[1m, cr=\r, cub1=^H, dim=\E[30;1m, ech=\E[%p1%dX,
+ ind=\E[S, kbs=^H, kent=\r, nel=\E[E, op=\E[x, rev=\E[7m,
+ ri=\E[T, rmso=\E[27m, rs2=\E[x\E[m\Ec, setab=\E[4%p1%dm,
+ setaf=\E[3%p1%dm,
+ sgr=\E[0%?%p1%t;2;7%;%?%p3%t;7%;%?%p5%t;30;1%;%?%p6%t;1%;m,
+ sgr0=\E[m, use=vt220+cvis, use=ecma+index,
+ use=ansi+arrows, use=ansi+csr, use=ansi+cup,
+ use=ansi+erase, use=ansi+idc, use=ansi+idl,
+ use=ansi+local, use=ansi+rca2, use=ansi+sgrso,
+ use=ansi+tabs,
+
+teken-vt+fkeys|teken's xterm special keys,
+ kdch1=\E[3~, kend=\E[F, kf1=\EOP, kf10=\E[21~, kf11=\E[23~,
+ kf12=\E[24~, kf2=\EOQ, kf3=\EOR, kf4=\EOS, kf5=\E[15~,
+ kf6=\E[17~, kf7=\E[18~, kf8=\E[19~, kf9=\E[20~, khome=\E[H,
+ kich1=\E[2~, knp=\E[6~, kpp=\E[5~,
+
+teken-sc+fkeys|teken's syscons special keys,
+ kdch1=^?, kend=\E[F, kf1=\E[M, kf10=\E[V, kf11=\E[W,
+ kf12=\E[X, kf2=\E[N, kf3=\E[O, kf4=\E[P, 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,
+
+teken-sc|teken imitating syscons,
+ use=teken-sc+fkeys, use=teken-2022,
+
+teken|teken-vt|teken imitating xterm,
+ xenl, use=teken-vt+fkeys, use=xterm+x11mouse,
+ use=teken-2022,
+
+teken-16color|teken using 16 colors,
+ use=ibm+16color, use=teken,
+
#### 386BSD and BSD/OS Consoles
#
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,
+ use=kitty+setal, use=xterm+direct, use=mintty+common,
mintty+common|shared capabilities for mintty,
km@, npc,
kcbt=\E[Z, kent=\EOM, rmm@, rmpch=\E[10m,
sgr0=\E[m, smir=\E[4h, smkx=\E[?1h\E=, smso=\E[7m,
smul=\E[4m, tbc=\E[3g, use=vt220+pcedit, use=vt100+enq,
use=xterm+kbs,
+
# Compatible with the R6 xterm
# (from XFree86 3.2 distribution, <acsc> and <it> added, <blink@> removed)
# added khome/kend, hts based on the R6 xterm code - TD
use=xterm+sm+1006, use=xterm+tmux, use=ecma+italics,
use=xterm+keypad, use=xterm-basic,
-# This version reflects the current xterm features.
-xterm-new|modern xterm terminal emulator,
+xterm-p370|xterm patch #370,
npc,
kcbt=\E[Z, kent=\EOM, nel=\EE, use=ecma+index,
use=ansi+rep, use=ecma+strikeout, use=xterm+pcfkeys,
use=xterm+nofkeys,
+# This version reflects the current xterm features.
+xterm-new|modern xterm terminal emulator,
+ use=dec+sl, use=xterm-p370,
+
# This fragment is for people who cannot agree on what the backspace key
# should send.
xterm+kbs|fragment for backspace key,
kf52=\E[14;3~, kf61=\E[11;4~, kf62=\E[12;4~,
kf63=\E[13;4~, use=xterm+pcf2,
#
+xterm+acs|ISO-2022 alternate character-switching for xterm,
+ acsc=``aaffggiijjkkllmmnnooppqqrrssttuuvvwwxxyyzz{{||}}~~,
+ enacs@, rmacs=\E(B, smacs=\E(0,
+
# This chunk is used for building the VT220/Sun/PC keyboard variants.
xterm-basic|modern xterm terminal emulator - common,
OTbs, am, bce, mir, msgr, xenl, AX, XT,
smcup=\E[?1;41s\E[?1;41h\E=, smir=\E[4h, smso=\E[7m,
smul=\E[4m, use=ecma+color, use=vt220+keypad,
+# The IRAF source has a terminfo using "xterm-r5", but line-drawing does not
+# work in that case. This entry uses xterm+acs, to work around that problem.
+#
+# Home/end keys do not work, due to a bug in the X Consortium xterm on which
+# this is based:
+#
+# https://invisible-island.net/xterm/xterm.faq.html#bug_xterm_r6
+#
+# Comparing to the X11R5 source, xgterm has dynamic and ANSI colors (probably
+# not bce). It interchanges mouse buttons 2/3 for menus.
+#
+# It also has a few features found in later versions of xterm:
+# - vi-button and dired-button,
+# - i18n stuff like X11R6.
+# - colorBD, colorUL
+# - scrollBarRight
+#
+# Debian provides a package for xgterm (and iraf). Although the source for
+# xgterm implements the control-sequences for ANSI color, the packaged xgterm
+# does nothing with those, even after installing the app-defaults file which
+# was overlooked by the Debian packager.
+xgterm|graphic terminal for IRAF,
+ use=xterm+acs, use=xterm-r5, use=xterm+keypad,
+
# The 'nxterm' distributed with Redhat Linux 5.2 is a slight rehack of
# xterm-sb_right-ansi-3d, which implements ANSI colors, but does not support
# SGR 39 or 49. SGR 0 does reset colors (along with everything else). This
# 2018, respectively. Overline (Smol/Rmol) has been supported since December
# 2017.
vte-2018|VTE 0.51.2,
- Rmol=\E[55m, Smol=\E[53m, Smulx=\E[4:%p1%dm,
+ AX,
+ blink=\E[5m, enacs=\E(B\E)0, nel=\EE,
+ rep=%p1%c\E[%p2%{1}%-%db,
+ sgr=\E[0%?%p6%t;1%;%?%p2%t;4%;%?%p4%t;5%;%?%p5%t;2%;%?%p7%t;
+ 8%;%?%p1%p3%|%t;7%;m%?%p9%t\016%e\017%;,
+ Rmol=\E[55m, Se=\E[1 q, Smol=\E[53m, Smulx=\E[4:%p1%dm,
+ use=xterm+alt+title, use=xterm+tmux, use=kitty+setal,
use=vte-2017,
+# Summarizing as of March 2022, these terminfo-capabilities of xterm are
+# absent from VTE:
+# - DEC application keypad mode
+# - DEC-compatible status-line
+# - DEC left/right margin support
+# - DEC printer controls
+# - AT&T cursor-blinking
+# - meta mode, as documented in terminfo(5)
+# - xterm's extension to clear scrollback
vte|VTE aka GNOME Terminal,
use=vte-2018,
use=ecma+strikeout, use=ecma+italics,
use=xterm+alt1049, use=att610+cvis, use=xterm+tmux,
+kitty+setal|set underline colors (nonstandard),
+ setal=\E[58:2::%p1%{65536}%/%d:%p1%{256}%/%{255}%&%d:%p1
+ %{255}%&%dm,
+
######## WAYLAND CLIENTS
#### Foot
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%;m,
E3@, use=screen+italics, use=screen+fkeys,
- use=xterm+x11mouse, use=xterm-new,
+ use=xterm+x11mouse, use=xterm-p370,
#:screen.xterm|screen for modern xterm,
#: use=screen.xterm-new,
# xterm-r6 does not really support khome/kend unless it is propped up by
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,
+ use=kitty+setal, use=xterm+direct, use=tmux,
+
+#### Mosh
+# https://mosh.org/
+# mosh 1.3.2
+#
+# mosh's DA1 identifies it as a VT220, but sets $TERM to "xterm" or
+# "xterm-256color" (hard-coded), which in its pretense that it is xterm, is
+# several years out of date.
+#
+# There is little documentation; the existing manpages amount to a quarter of
+# the length of mosh.org's heavily promotional website. This entry is based
+# on testing, and reading the source-code. For the latter, analysis is aided
+# by the developer's extensive use of hard-coded strings.
+#
+# The website has an example "Tricky unicode", which shows a shell command
+# with a typo (i.e., assuming that a byte in octal uses 4 digits) and suggests
+# that mosh and OS X Terminal "gets it right".
+#
+# The example as shown would not work. Correcting the typo, xterm gives the
+# result expected by the mosh developer.
+#
+# The other examples follow in a similar vein.
+#
+# It does not support these xterm features:
+# use=ansi+rep (xterm patch #36, 1997)
+# use=ecma+strikeout (xterm patch #305, 2014)
+# use=vt420+lrmm (xterm patch #279, 2012)
+# titlestack in smcup/rmcup has no effect (xterm patch #251, 2009)
+# does not support "dim" (xterm patch #305, 2014)
+# In tack
+# rmkx/smkx has no effect on numeric keypad
+# acs stuff has no effect, is included here for ease of comparison
+#
+# Unlike screen and tmux, mosh has only limited awareness of a terminal
+# description. It assumes that the underlying terminal is xterm, and would
+# not work well with terminals using other key-definitions, such as urxvt.
+mosh|mobile shell,
+ U8#1,
+ sgr=%?%p9%t\E(0%e\E(B%;\E[0%?%p6%t;1%;%?%p2%t;4%;%?%p1%p3%|
+ %t;7%;%?%p4%t;5%;%?%p7%t;8%;m,
+ sgr0=\E(B\E[m, use=ansi+enq, use=xterm+meta,
+ use=ecma+italics, use=ecma+index, use=xterm+acs,
+ use=xterm+sm+1006, use=xterm+pcfkeys,
+ use=xterm-xfree86,
+
+mosh-256color|mosh using 256-colors,
+ use=xterm+256color, use=mosh,
#### Dvtm
# + 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
+# + add Smol/Rmol for mintty, vte-2018 -Nicholas Marriott
#
# 2019-06-01
# + add rs1 to konsole, mlterm -TD
# 2022-01-23
# + update kitty -TD
#
+# 2022-03-12
+# + add xterm+acs building-block -TD
+# + add xterm-p370, for use in older terminals -TD
+# + add dec+sl to xterm-new, per patch #371 -TD
+# + add mosh and mosh-256color -TD
+#
+# 2022-03-19
+# + add xgterm -TD
+# + correct setal in mintty/tmux entries, add to vte-2018 (report by
+# Robert Lange)
+# + add blink to vte-2018 (report by Robert Lange)
+#
+# 2022-03-26
+# + update teken -TD
+# + add teken-16color, teken-vt and teken-sc -TD
+# + add a few missing details for vte-2018 (report by Robert Lange) -TD
+#
######## SHANTIH! SHANTIH! SHANTIH!