# Report bugs and new terminal descriptions to
# bug-ncurses@gnu.org
#
-# $Revision: 1.1032 $
-# $Date: 2022/08/27 18:44:46 $
+# $Revision: 1.1039 $
+# $Date: 2022/12/24 18:18:58 $
#
# 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
kRIT5=\E[1;5C, kRIT6=\E[1;6C, kUP3=\E\E[A, kUP4=\E[1;10A,
kUP5=\E[1;5A, kUP6=\E[1;6A, use=ecma+index,
use=xterm+alt+title, use=ecma+italics, use=iterm,
+ use=bracketed+paste,
# xnuppc - Darwin PowerPC Console (a.k.a. "darwin")
#
use=ansi+tabs, use=ansi+rep, use=ecma+index,
use=xterm+alt1049, use=xterm+sm+1006, use=putty+fnkeys,
use=vt102+enq, use=xterm+sl, use=vt100+fnkeys,
- use=putty+keypad, use=vt220+cvis,
+ use=putty+keypad, use=vt220+cvis, use=bracketed+paste,
putty+keypad|PuTTY numeric keypad,
kp1=\EOq, kp2=\EOr, kp3=\EOs, kp4=\EOt, kp5=\EOu, kp6=\EOv,
kp7=\EOw, kp8=\EOx, kp9=\EOy, kpADD=\EOl, kpDIV=\EOQ,
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=ecma+italics, use=xterm-basic,
+ use=ecma+italics, use=xterm-basic, use=bracketed+paste,
# 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:
npc,
kcbt=\E[Z, rmkx=\E[?1l, smkx=\E[?1h, use=xterm+256setaf,
use=ecma+index, use=xterm+sm+1006, use=xterm+pcfkeys,
- use=ecma+italics, use=xterm-basic,
+ use=ecma+italics, use=xterm-basic, use=bracketed+paste,
vscode-direct|Visual Studio Code with direct-colors,
use=xterm+indirect, use=vscode,
npc,
kcbt=\E[Z, kent=\EOM, nel=\EE, use=ecma+index,
use=ansi+rep, use=ecma+strikeout, use=xterm+pcfkeys,
- use=xterm+nofkeys,
+ use=xterm+nofkeys, use=bracketed+paste,
xterm-p371|xterm patch #371,
use=dec+sl, use=xterm-p370,
xterm1|xterm terminal emulator ignoring the alternate screen buffer,
rmcup@, smcup@, use=xterm,
+# https://invisible-island.net/xterm/xterm-paste64.html
+#
+# Bracketed paste was introduced by xterm patch #203 in May 2005, as part of a
+# larger feature for manipulating the clipboard selection. Few terminals aside
+# from xterm fully implement the clipboard feature, but several copy this
+# detail. The names for the extended capabilities here were introduced by vim
+# in January 2017.
+bracketed+paste|xterm bracketed paste,
+ BD=\E[?2004l, BE=\E[?2004h, PD=\E[201~, PE=\E[200~,
+
#### XTERM Mouse
# The xterm mouse protocol is used by other terminal emulators.
# In this section, two extended capabilities are used to illustrate the mouse
cbt=\E[Z, el1=\E[1K, flash=\E[?5h$<100/>\E[?5l,
ich=\E[%p1%d@, kent=\EOM, use=ecma+index,
use=xterm+sm+1006, use=xterm+pcfkeys, use=vte-2012,
+ use=bracketed+paste,
# As of January 2018, this was the most recent release,
# e.g., with gnome-terminal 3.26.2
use=ecma+index, use=ansi+rep, use=ecma+strikeout,
use=vt420+lrmm, use=xterm+sm+1006, use=xterm+tmux,
use=ecma+italics, use=xterm+pcfkeys, use=xterm-basic,
+ use=bracketed+paste,
hterm-256color|Chromium hterm with xterm 256-colors,
use=xterm+256color2, use=hterm,
#
# 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 (base),
+konsole-base|KDE console window (common),
bce, km@, npc, XT,
ncv@,
blink=\E[5m, dim=\E[2m, ech=\E[%p1%dX,
sgr0=\E[0m\017, smam=\E[?7h, vpa=\E[%i%p1%dd,
use=ecma+index, use=xterm+sm+1006, use=ecma+strikeout,
use=ecma+italics, use=ecma+color, use=xterm-r6,
- use=vt220+cvis,
+ use=vt220+cvis, use=bracketed+paste,
# The keytab feature was introduced in 0.9.12 (February 2000) with "linux" and
# "vt100" key-table files along with a compiled-in default key-table.
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=vt100+pfkeys, use=mlterm2,
+ use=vt100+pfkeys, use=bracketed+paste, use=mlterm2,
# This is mlterm 2.9.3's mlterm.ti, with some additions/corrections -TD
#
vpa=\E[%i%p1%dd, Se=\E[2 q, Ss=\E[%p1%d q, use=ansi+enq,
use=vt220+pcedit, use=ecma+index, use=xterm+alt1049,
use=vt220+cvis, use=xterm+sl, use=ecma+italics,
- use=ecma+strikeout,
+ use=ecma+strikeout, use=bracketed+paste,
#
# st-0.1.1
#
smul=\E[4m, tbc=\E[3g, tsl=\E]2;, vpa=\E[%i%p1%dd,
use=ansi+enq, use=vt220+pcedit, use=ecma+italics,
use=ecma+index, use=xterm+256setaf, use=xterm+sl-twm,
- use=xterm+alt1049, use=vt220+cvis,
+ use=xterm+alt1049, use=vt220+cvis, use=bracketed+paste,
#### TERMINOLOGY
# https://www.enlightenment.org/about-terminology
%?%p1%p3%|%t;7%;%?%p7%t;8%;m$<2>,
sgr0=\E(B\E[m, smacs=\E(0, use=ecma+italics,
use=vt220+cvis, use=xterm+x11mouse, use=xterm+pce2,
- use=xterm+pcf2, use=xterm+pcc2, use=terminology-0.6.1,
+ use=xterm+pcf2, use=xterm+pcc2, use=bracketed+paste,
+ use=terminology-0.6.1,
# 2020/12/26:
# Tested terminology 1.8.1 using tack and vttest.
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,
+ use=xterm+pcf2, use=bracketed+paste,
#### Kitty
# https://github.com/kovidgoyal/kitty
use=xterm+pcfkeys, use=xterm+sl-twm,
use=ecma+strikeout, use=ecma+italics,
use=xterm+alt1049, use=att610+cvis, use=xterm+tmux,
+ use=bracketed+paste,
kitty+setal|set underline colors (nonstandard),
setal=\E[58:2::%p1%{65536}%/%d:%p1%{256}%/%{255}%&%d:%p1
use=ansi+tabs, use=ecma+index, use=ecma+italics,
use=ecma+strikeout, use=xterm+alt+title,
use=xterm+pcfkeys, use=xterm+sm+1006, use=xterm+tmux2,
- use=xterm+sl-alt,
+ use=xterm+sl-alt, use=bracketed+paste,
######## WEB CLIENTS
%t;7%;m,
sitm@, smkx=\E[?1h, use=xterm+256setaf, use=ecma+index,
use=xterm+sm+1006, use=xterm+pcfkeys, use=xterm-basic,
+ use=bracketed+paste,
######## UNIX VIRTUAL TERMINALS, VIRTUAL CONSOLES, AND TELNET CLIENTS
#
# since 1994 (i.e., screen 3.0.5), stating that it was an obscure code used by
# the (Siemens Nixdorf) 97801 terminal. It was not shown in the termcap or
# terminfo entries (which list about 60% of the control sequences).
-screen|VT 100/ANSI X3.64 virtual terminal (base),
+screen-base|VT 100/ANSI X3.64 virtual terminal (base),
OTbs, OTpt, am, km, mir, msgr, xenl, G0,
colors#8, cols#80, it#8, lines#24, ncv@, pairs#64, U8#1,
acsc=++\,\,--..00``aaffgghhiijjkkllmmnnooppqqrrssttuuvvwwxxy
smso=\E[3m, smul=\E[4m, tbc=\E[3g, vpa=\E[%i%p1%dd,
E0=\E(B, S0=\E(%p1%c, use=vt220+pcedit,
use=xterm+alt1049, use=ecma+color, use=vt100+enq,
+
+screen|VT 100/ANSI X3.64 virtual terminal,
+ use=screen4,
+
+no+brackets|cancel bracketed paste,
+ BD@, BE@, PD@, PE@,
+
# 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,
bce,
- ech@, use=screen4,
+ ech@, use=screen,
screen-s|VT 100/ANSI X3.64 virtual terminal with hardstatus line,
- dsl=\E_\E\\, fsl=\E\\, tsl=\E_, use=screen4,
+ dsl=\E_\E\\, fsl=\E\\, tsl=\E_, use=screen,
# ======================================================================
# Entries for GNU Screen with 16 colors.
# do all support 16 color palette.
screen-16color|GNU Screen with 16 colors,
- use=ibm+16color, use=screen4,
+ use=ibm+16color, use=screen,
screen-16color-s|GNU Screen with 16 colors and status line,
use=ibm+16color, use=screen-s,
# Entries for GNU Screen 4.02 with --enable-colors256.
screen-256color|GNU Screen with 256 colors,
- use=xterm+256setaf, use=screen4,
+ use=xterm+256setaf, use=screen,
screen-256color-s|GNU Screen with 256 colors and status line,
use=xterm+256setaf, use=screen-s,
# match. Hence, no "screen.xterm" entry is provided, since that would
# create heartburn for people running remote xterm's.
# (f) screen does not support rep.
+# (g) the xterm-new compatibility does not include bracketed paste.
#
# xterm (-xfree86 or -r6) does not normally support kIC, kNXT and kPRV
# since the default translations override the built-in keycode
# translation. They are suppressed here to show what is tested by tack.
screen.xterm-xfree86|screen.xterm-new|screen customized for modern xterm,
- bce@, bw,
- invis@, kIC@, kNXT@, kPRV@, meml@, memu@, rep@,
+ bce@, bw, npc,
+ invis@, kIC@, kNXT@, kPRV@, kcbt=\E[Z, kent=\EOM, meml@, memu@,
+ nel=\EE, rep@,
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-p370,
+ use=xterm+x11mouse, use=ecma+index, use=ansi+rep,
+ use=ecma+strikeout, use=xterm+pcfkeys,
+ use=xterm+nofkeys,
+
+# Don't use this, because not everyone has "screen.xterm-new":
#:screen.xterm|screen for modern xterm,
#: use=screen.xterm-new,
+
# xterm-r6 does not really support khome/kend unless it is propped up by
# the translations resource.
screen.xterm-r6|screen customized for X11R6 xterm,
acsc=+\020\,\021-\030.^Y0\333`\004a\261f\370g\361h\260i
\316j\331k\277l\332m\300n\305o~p\304q\304r\304s_t\303u
\264v\301w\302x\263y\363z\362{\343|\330}\234~\376,
- use=screen+fkeys, use=xterm+x11mouse, use=screen4,
+ use=screen+fkeys, use=xterm+x11mouse, use=screen,
# Other terminals
screen.rxvt|screen in rxvt,
bw, XT,
cvvis@, flash@, kcub1=\EOD, kcud1=\EOB, kcuf1=\EOC,
kcuu1=\EOA, use=screen+fkeys, use=vt100+enq,
use=rxvt+pcfkeys, use=xterm+x11mouse, use=vt220+keypad,
- use=screen4,
+ use=screen,
screen.Eterm|screen in Eterm,
use=xterm+x11mouse, use=screen+fkeys, use=Eterm,
screen.mrxvt|screen in mrxvt,
use=xterm+x11mouse, use=screen+fkeys, use=mrxvt,
screen.vte|screen in any VTE-based terminal,
use=xterm+x11mouse, use=screen+italics,
- use=screen+fkeys, use=vte,
+ use=screen+fkeys, use=no+brackets, use=vte,
screen.gnome|screen in GNOME Terminal,
use=xterm+x11mouse, use=screen+italics,
- use=screen+fkeys, use=gnome,
+ use=screen+fkeys, use=no+brackets, use=gnome,
screen.konsole|screen in KDE console window,
use=xterm+x11mouse, use=screen+italics,
- use=screen+fkeys, use=konsole,
+ use=screen+fkeys, use=no+brackets, use=konsole,
# fix the backspace key
screen.linux|screen.linux-s|screen in Linux console,
bw,
kbs=^?, kcbt@, use=linux+sfkeys, use=xterm+x11mouse,
- use=screen+fkeys, use=screen4,
+ use=screen+fkeys, use=screen,
screen.mlterm|screen in mlterm,
- use=xterm+x11mouse, use=screen+fkeys, use=mlterm,
+ use=xterm+x11mouse, use=screen+fkeys, use=no+brackets,
+ use=mlterm,
screen.putty|screen in putty,
- use=xterm+x11mouse, use=screen+fkeys, use=putty,
+ use=xterm+x11mouse, use=screen+fkeys, use=no+brackets,
+ use=putty,
# The default "screen" entry is reasonably portable, but not optimal for the
# most widely-used terminal emulators. The "bce" capability is supported in
ech@, use=screen.linux,
screen-w|VT 100/ANSI X3.64 virtual terminal with 132 cols,
- cols#132, use=screen4,
+ cols#132, use=screen,
screen2|VT 100/ANSI X3.64 virtual terminal (old 2.x),
cols#80, it#8, lines#24,
# was last updated in 2009 to include 256-color support. The most recent
# release is 4.6.2 (October 2017).
screen4|VT 100/ANSI X3.64 virtual terminal (4.x),
- use=ecma+index, use=screen,
+ use=ecma+index, use=screen-base,
-# As of March 2019, screen 5.0 has not been released.
+# As of December 2022, screen 5.0 has not been released.
#
# However,
#
rmso=\E[27m,
sgr=\E[0%?%p6%t;1%;%?%p2%t;4%;%?%p1%p3%|%t;7%;%?%p4%t;5%;%?
%p5%t;2%;m%?%p9%t\016%e\017%;,
- smso=\E[7m, use=ecma+italics, use=screen4,
+ smso=\E[7m, use=ecma+italics, use=ecma+index,
+ use=screen-base,
#### Tmux
smso=\E[7m, E3=\E[3J, Smulx=\E[4:%p1%dm,
use=ecma+italics, use=ecma+strikeout, use=xterm+edit,
use=xterm+pcfkeys, use=xterm+sl, use=xterm+tmux,
- use=screen,
+ use=screen, use=bracketed+paste,
tmux-256color|tmux with 256 colors,
use=xterm+256setaf, use=tmux,
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,
+ use=xterm-xfree86, use=bracketed+paste,
mosh-256color|mosh using 256-colors,
use=xterm+256color, use=mosh,
yzz||}}~~,
bel=\007\E\^ \E\\, bold@, csr@, flash=\Eg\E\^ \E\\, kmous@,
rmul@, smul@, u8=\E[?1;2c, use=decid+cpr,
- use=xterm+x11mouse, use=screen4,
+ use=xterm+x11mouse, use=screen,
screen.minitel1b|Screen specific for minitel1b,
kclr=\E[2J, kdl1=\E[M, kf13=^Y{1, kf14=^Y{2, kf15=^Y{3,
\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=decid+cpr, use=xterm+x11mouse, use=screen4,
+ use=decid+cpr, use=xterm+x11mouse, use=screen,
screen.linux-m1b|Linux m1b specific for screen,
colors@, pairs@,
#
#### XTERM Extensions:
#
+# For a discussion of "xterm", "xterm-256color" as values for TERM, see
+# https://invisible-island.net/ncurses/ncurses.faq.html#xterm_generic
+# https://invisible-island.net/ncurses/ncurses.faq.html#xterm_256color
+#
+# For xterm control sequences, see
+# https://invisible-island.net/xterm/ctlseqs/ctlseqs.html
+#
+# For function-keys with modifiers, see
+# https://invisible-island.net/ncurses/ncurses.faq.html#modified_keys
+#
+# For a discussion of "bracketed paste", see
+# https://invisible-island.net/xterm/xterm-paste64.html
+#
# Most of the xterm extensions are for function-keys. Since xterm patch #94 (in
# 1999), xterm has supported shift/control/alt/meta modifiers which produce
# additional function-key strings. Some other developers copied the feature,
# kLFT5 kLFT6 kLFT7 kNXT3 kNXT4 kNXT5 kNXT6 kNXT7 kPRV3 kPRV4 kPRV5 kPRV6 kPRV7
# kRIT3 kRIT4 kRIT5 kRIT6 kRIT7 kUP kUP3 kUP4 kUP5 kUP6 kUP7 ka2 kb1 kb3 kc2
#
+# Bracketed paste is described with these capabilities in vim:
+#
+# BE enables bracketed paste
+# BD disables bracketed paste
+# PE is sent before the pasted text
+# PD is sent after the pasted text
+#
# Here are the other xterm-related extensions which are used in this file:
#
# Cr is a string capability which resets the cursor color
# + modify nsterm to use xterm+alt1049 (report by Paul Handly) -TD
# + modify putty to use xterm+alt1049 -TD
#
+# 2022-12-24
+# + add/use bracketed+paste to help identify terminals supporting this
+# xterm feature (prompted by discussion with Bram Moolenaar) -TD
+#
######## SHANTIH! SHANTIH! SHANTIH!