Last active
January 1, 2025 18:07
-
-
Save jevinskie/8eea4cbd5cc930e41fc5b8d9b2e0b0c9 to your computer and use it in GitHub Desktop.
ncurses terminfo.src for iTerm2, etc from 2024/12/28
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
######## APPLE | |
#### Terminal.app | |
# nsterm*|Apple_Terminal - AppKit Terminal.app | |
# | |
# Terminal.app is a Terminal emulator bundled with NeXT's NeXTSTEP and | |
# OPENSTEP/Mach operating systems, and with Apple's Rhapsody, Mac OS X | |
# Server and Mac OS X operating systems. There is also a | |
# "terminal.app" in GNUstep, but I believe it to be an unrelated | |
# codebase and I have not attempted to describe it here. | |
# | |
# For NeXTSTEP, OPENSTEP/Mach, Rhapsody and Mac OS X Server 1.0, you | |
# are pretty much on your own. Use "nsterm-7-m" and hope for the best. | |
# You might also try "nsterm-7" and "nsterm-old" if you suspect your | |
# version supports color. | |
# | |
# To determine the version of Terminal.app you're using by running: | |
# | |
# echo "$TERM_PROGRAM" "$TERM_PROGRAM_VERSION" | |
# | |
# For Apple_Terminal v309+, use "nsterm-256color" (or "nsterm-bce") | |
# | |
# For Apple_Terminal v200+, use "nsterm-16color" (a.k.a. "nsterm") | |
# | |
# For Apple_Terminal v71+/v100+, use "nsterm-bce". | |
# | |
# For Apple_Terminal v51+, use "nsterm-7-c" or "nsterm-7-c-s". | |
# | |
# For Apple_Terminal v41+, use "nsterm-old", or "nsterm-s". | |
# | |
# For all earlier versions (Apple_Terminal), try "nsterm-7-m" | |
# (monochrome) or "nsterm-7" (color); "nsterm-7-m-s" and "nsterm-7-s" | |
# might work too, but really you're on your own here since these | |
# systems are very obsolete and I can't test them. I do welcome | |
# patches, though :). | |
# Other Terminals: | |
# | |
# For GNUstep_Terminal, you're probably best off using "linux" or | |
# writing your own terminfo. | |
# For MacTelnet, you're on your own. It's a different codebase, and | |
# seems to be somewhere between "vt102", "ncsa" and "xterm-color". | |
# For iTerm.app, see "iterm". | |
# | |
# The AppKit Terminal.app descriptions all have names beginning with | |
# "nsterm". Note that the statusline (-s) versions use the window | |
# titlebar as a phony status line, and may produce warnings during | |
# compilation as a result ("tsl uses 0 parameters, expected 1".) | |
# Ignore these warnings, or even ignore these entries entirely. Apps | |
# which need to position the cursor or do other fancy stuff inside the | |
# status line won't work with these entries. They're primarily useful | |
# for programs like Pine which provide simple notifications in the | |
# status line. Please note that non-ASCII characters don't work right | |
# in the status line, since Terminal.app incorrectly interprets their | |
# Unicode codepoints as MacRoman codepoints (in earlier Mac OS X | |
# versions) or only accepts status lines consisting entirely of | |
# characters from the first 256 Unicode positions (including C1 but | |
# not C0 or DEL.) | |
# | |
# The Mythology* of AppKit Terminal.app: | |
# | |
# In the days of NeXTSTEP 0.x and 1.x there were two incompatible | |
# bundled terminal emulators, Shell and Terminal. Scott Hess wrote a | |
# shareware replacement for Terminal called "Stuart" which NeXT bought | |
# and used as the basis for the Terminal.app in NeXTSTEP 2+, | |
# OPENSTEP/Mach, Apple Rhapsody, Mac OS X Server 1.0, and Mac OS X. I | |
# don't know the TERM_PROGRAM and TERM_PROGRAM_VERSION settings or | |
# capabilities for the early versions, but I believe that the | |
# TERM_PROGRAM_VERSION may have been reset at some point. | |
# | |
# The early versions were tailored to the NeXT character set. Sometime | |
# after the Apple acquisition the encoding was switched to MacRoman | |
# (initially with serious altcharset bugs due to incomplete conversion | |
# of the old NeXT code,) and then later to UTF-8. Also sometime during | |
# or just prior to the early days of Mac OS X, the Terminal grew ANSI | |
# 8-color support (initially buggy when combined with attributes, but | |
# that was later fixed.) More recently, around Mac OS X version 10.3 | |
# or so (Terminal.app v100+) xterm-like 16-color support was added. In | |
# some versions (for instance 133-1 which shipped with Mac OS X | |
# version 10.4) this suffered from the <bce> bug, but that seems to | |
# have been fixed in Mac OS X version 10.5 (Terminal.app v240.2+). | |
# | |
# In the early days of Mac OS X the terminal was fairly buggy and | |
# would routinely crash under load. Many of these bugs seem to have | |
# been fixed around Mac OS X version 10.3 (Terminal.app v100+) but | |
# some may still remain. This change seems to correspond to | |
# Terminal.app reporting "xterm-color" as $TERM rather than "vt100" as | |
# it did previously. | |
# | |
# * This may correspond with what actually happened, but I don't | |
# know. It is based on guesswork, hearsay, private correspondence, | |
# my faulty memory, and the following online sources and references: | |
# | |
# [1] "Three Scotts and a Duane" by Simson L. Garfinkel | |
# http://www.nextcomputers.org/NeXTfiles/Articles/NeXTWORLD/93.8/93.8.Dec.Community1.html | |
# | |
# [2] NeXTSTEP entry from Wikipedia, the free encyclopedia | |
# https://secure.wikimedia.org/wikipedia/en/wiki/Nextstep | |
# | |
# * Renamed the AppKit Terminal.app entry from "Apple_Terminal" to | |
# "nsterm" to comply with the name length and case conventions and | |
# limitations of various software packages [notably Solaris terminfo | |
# and UNIX.] A single Apple_Terminal alias is retained for | |
# backwards-compatibility. | |
# | |
# * Added function key support (F1-F4). These only work in Terminal.app | |
# version 51, hopefully the capabilities won't cause problems for people | |
# using version 41. | |
# | |
# * Added "full color" (-c) entries which support the 16-color mode in | |
# version 51. | |
# | |
# * By default, version 51 uses UTF-8 encoding with broken altcharset | |
# support, so "ASCII" (-7) entries without altcharset support were | |
# added. | |
# nsterm - AppKit Terminal.app | |
# | |
# Apple's Mac OS X includes a Terminal.app derived from the old NeXT | |
# Terminal.app. It is a partial VT100 emulation with some xterm-like | |
# extensions. This terminfo was written to describe versions 41 | |
# (shipped with Mac OS X version 10.0) and 51 (shipped with Mac OS X | |
# version 10.1) of Terminal.app. | |
# | |
# Terminal.app runs under the Mac OS X Quartz windowing system (and | |
# other AppKit-supported windowing systems.) On the Mac OS X machine I | |
# use, the executable for Terminal.app is: | |
# /Applications/Utilities/Terminal.app/Contents/MacOS/Terminal | |
# | |
# If you're looking for a description of the full-screen system | |
# console which runs under Apple's Darwin operating system on PowerPC | |
# platforms, see the "xnuppc" entry instead. | |
# | |
# There were no function keys in version 41. In version 51, there are | |
# four working function keys (F1, F2, F3 and F4.) The function keys | |
# are included in all of these entries. | |
# | |
# It does not support mouse pointer position reporting. Under some | |
# circumstances the cursor can be positioned using option-click; this | |
# works by comparing the cursor position and the selected position, | |
# and simulating enough cursor-key presses to move the cursor to the | |
# selected position. This technique fails in all but the simplest | |
# applications. | |
# | |
# It provides partial ANSI color support (background colors interacted | |
# badly with bold in version 41, though, as reflected in :ncv:.) The | |
# monochrome (-m) entries are useful if you've disabled color support | |
# or use a monochrome monitor. The full color (-c) entries are useful | |
# in version 51, which doesn't exhibit the background color bug. They | |
# also enable an xterm-compatible 16-color mode. | |
# | |
# The configurable titlebar is set using xterm-compatible sequences; | |
# it is used as a status bar in the statusline (-s) entries. Its width | |
# depends on font sizes and window sizes, but 50 characters seems to | |
# be the default for an 80x24 window. | |
# | |
# The MacRoman character encoding is used for some of the alternate | |
# characters in the "MacRoman" entries; the "ASCII" (-7) entries | |
# disable alternate character set support entirely, and the "VT100" | |
# (-acs) entries rely instead on Terminal.app's own buggy VT100 | |
# graphics emulation, which seems to think the character encoding is | |
# the old NeXT charset instead of MacRoman. The "ASCII" (-7) entries | |
# are useful in Terminal.app version 51, which supports UTF-8 and | |
# other ASCII-compatible character encodings but does not correctly | |
# implement VT100 graphics; once VT100 graphics are correctly | |
# implemented in Terminal.app, the "VT100" (-acs) entries should be | |
# usable in any ASCII-compatible character encoding [except perhaps | |
# in UTF-8, where some experts argue for disallowing alternate | |
# characters entirely.] | |
# | |
# Terminal.app reports "vt100" as the terminal type, but exports | |
# several environment variables which may aid detection in a shell | |
# profile (i.e. .profile or .login): | |
# | |
# TERM=vt100 | |
# TERM_PROGRAM=Apple_Terminal | |
# TERM_PROGRAM_VERSION=41 # in Terminal.app version 41 | |
# TERM_PROGRAM_VERSION=51 # in Terminal.app version 51 | |
# | |
# For example, the following Bourne shell script would detect the | |
# correct terminal type: | |
# | |
# if [ :"$TERM" = :"vt100" -a :"$TERM_PROGRAM" = :"Apple_Terminal" ] | |
# then | |
# export TERM | |
# if [ :"$TERM_PROGRAM_VERSION" = :41 ] | |
# then | |
# TERM="nsterm-old" | |
# else | |
# TERM="nsterm-c-7" | |
# fi | |
# fi | |
# | |
# In a C shell derivative, this would be accomplished by: | |
# | |
# if ( $?TERM && $?TERM_PROGRAM && $?TERM_PROGRAM_VERSION) then | |
# if ( :"$TERM" == :"vt100" && :"$TERM_PROGRAM" == :"Apple_Terminal" ) then | |
# if ( :"$TERM_PROGRAM_VERSION" == :41 ) then | |
# setenv TERM "nsterm-old" | |
# else | |
# setenv TERM "nsterm-c-7" | |
# endif | |
# endif | |
# endif | |
# The '+' entries are building blocks | |
nsterm+7|AppKit Terminal.app v41+ basic capabilities w/ASCII charset, | |
am, bw, msgr, xenl, xon, | |
cols#80, it#8, lines#24, | |
bel=^G, cr=\r, cub1=^H, cud1=\n, dim=\E[2m, el1=\E[1K, ht=^I, | |
hts=\EH, ind=\n, kbs=^?, kcub1=\EOD, kcud1=\EOB, kcuf1=\EOC, | |
kcuu1=\EOA, kent=\EOM, ri=\EM, rmam=\E[?7l, rmkx=\E[?1l\E>, | |
rs2=\E>\E[?3l\E[?4l\E[?5l\E[?7h\E[?8h, | |
sgr=\E[0%?%p6%t;1%;%?%p2%t;4%;%?%p1%p3%|%t;7%;%?%p4%t;5%;%? | |
%p5%t;2%;%?%p7%t;8%;m, | |
sgr0=\E[m, smam=\E[?7h, smkx=\E[?1h\E=, tbc=\E[3g, | |
use=ansi+csr, use=ansi+cup, use=ansi+erase, use=ansi+idl, | |
use=ansi+local, use=ansi+sgrbold, use=vt100+enq, | |
use=vt100+pfkeys, | |
nsterm+acs|AppKit Terminal.app v41+ basic capabilities w/VT100 alternate-charset, | |
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%;, | |
sgr0=\E[m\017, use=nsterm+7, use=vt100+4bsd, | |
nsterm+mac|AppKit Terminal.app v41+ basic capabilities w/MacRoman alternate-charset, | |
acsc=+\335\,\334-\366.\3770#`\327a:f\241g\261h#i | |
\360jjkkllmmnno\370p\370q\321rrssttuuvvwwxxy\262z\263{ | |
\271|\255}\243~\245, | |
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%;, | |
sgr0=\E[m\017, use=nsterm+7, use=vt100+4bsd, | |
# compare with xterm+sl-twm | |
nsterm+s|AppKit Terminal.app v41+ status-line (window titlebar) support, | |
wsl#50, use=xterm+sl-twm, | |
nsterm+c|AppKit Terminal.app v51+ full color support (including 16 colors), | |
op=\E[0m, use=ibm+16color, | |
nsterm+c41|AppKit Terminal.app v41 color support, | |
ncv#37, | |
op=\E[0m, use=klone+color, | |
# These are different combinations of the building blocks | |
# ASCII charset (-7) | |
nsterm-m-7|nsterm-7-m|AppKit Terminal.app v41+ w/ASCII charset (monochrome), | |
use=nsterm+7, | |
nsterm-m-s-7|nsterm-7-m-s|AppKit Terminal.app v41+ w/ASCII charset (monochrome w/statusline), | |
use=nsterm+s, use=nsterm+7, | |
nsterm-7|AppKit Terminal.app v41+ w/ASCII charset (color), | |
use=nsterm+c41, use=nsterm+7, | |
nsterm-7-c|nsterm-c-7|AppKit Terminal.app v51+ w/ASCII charset (full color), | |
use=nsterm+c, use=nsterm+7, | |
nsterm-s-7|nsterm-7-s|AppKit Terminal.app v41+ w/ASCII charset (color w/statusline), | |
use=nsterm+s, use=nsterm+c41, use=nsterm+7, | |
nsterm-c-s-7|nsterm-7-c-s|AppKit Terminal.app v51+ w/ASCII charset (full color w/statusline), | |
use=nsterm+s, use=nsterm+c, use=nsterm+7, | |
# VT100 alternate-charset (-acs) | |
nsterm-m-acs|nsterm-acs-m|AppKit Terminal.app v41+ w/VT100 alternate-charset (monochrome), | |
use=nsterm+acs, | |
nsterm-m-s-acs|nsterm-acs-m-s|AppKit Terminal.app v41+ w/VT100 alternate-charset (monochrome w/statusline), | |
use=nsterm+s, use=nsterm+acs, | |
nsterm-acs|AppKit Terminal.app v41+ w/VT100 alternate-charset (color), | |
use=nsterm+c41, use=nsterm+acs, | |
nsterm-c-acs|nsterm-acs-c|AppKit Terminal.app v51+ w/VT100 alternate-charset (full color), | |
use=nsterm+c, use=nsterm+acs, | |
nsterm-s-acs|nsterm-acs-s|AppKit Terminal.app v41+ w/VT100 alternate-charset (color w/statusline), | |
use=nsterm+s, use=nsterm+c41, use=nsterm+acs, | |
nsterm-c-s-acs|nsterm-acs-c-s|AppKit Terminal.app v51+ w/VT100 alternate-charset (full color w/statusline), | |
use=nsterm+s, use=nsterm+c, use=nsterm+acs, | |
# MacRoman charset | |
nsterm-m|AppKit Terminal.app v41+ w/MacRoman charset (monochrome), | |
use=nsterm+mac, | |
nsterm-m-s|AppKit Terminal.app v41+ w/MacRoman charset (monochrome w/statusline), | |
use=nsterm+s, use=nsterm+mac, | |
nsterm-old|AppKit Terminal.app v41+ w/MacRoman charset (color), | |
use=nsterm+c41, use=nsterm+mac, | |
nsterm-c|AppKit Terminal.app v51+ w/MacRoman charset (full color), | |
use=nsterm+c, use=nsterm+mac, | |
nsterm-s|AppKit Terminal.app v41+ w/MacRoman charset (color w/statusline), | |
use=nsterm+s, use=nsterm+c41, use=nsterm+mac, | |
nsterm-c-s|AppKit Terminal.app v51+ w/MacRoman charset (full color w/statusline), | |
use=nsterm+s, use=nsterm+c, use=nsterm+mac, | |
# In Mac OS X version 10.5 the format of the preferences has changed | |
# and a new, more complex technique is needed, e.g., | |
# | |
# python -c 'import sys,objc;NSUserDefaults=objc.lookUpClass( | |
# "NSUserDefaults");ud=NSUserDefaults.alloc(); | |
# ud.init();prefs=ud.persistentDomainForName_( | |
# "com.apple.Terminal");prefs["Window Settings"][ | |
# prefs["Default Window Settings"]]["TerminalType" | |
# ]=sys.argv[1];ud.setPersistentDomain_forName_(prefs, | |
# "com.apple.Terminal")' nsterm-16color | |
# | |
# and it is still not settable from the preferences dialog. This is | |
# tracked under rdar://problem/7365108 and rdar://problem/7365134 | |
# in Apple's bug reporter. | |
# | |
# In OS X 10.5 (Leopard) the TERM which can be set in the preferences dialog | |
# defaults to xterm-color. Alternative selections are ansi, dtterm, rxvt, | |
# vt52, vt100, vt102 and xterm. | |
nsterm-16color|AppKit Terminal.app v240.2+ with Mac OS X version 10.5, | |
bw@, mir, npc, | |
flash=\E[?5h$<200/>\E[?5l, hpa=\E[%i%p1%dG, | |
kdch1=\E[3~, kend=\E[F, 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[22~, kf19=\E[33~, | |
kf20=\E[34~, kf5=\E[15~, kf6=\E[17~, kf7=\E[18~, | |
kf8=\E[19~, kf9=\E[20~, khome=\E[H, knp=\E[6~, kpp=\E[5~, | |
vpa=\E[%i%p1%dd, kLFT5=\E[5D, kRIT5=\E[5C, use=ansi+idc, | |
use=xterm+alt47, use=nsterm-c-s-acs, use=vt220+cvis, | |
# The versions of Terminal.app in Mac OS X version 10.3.x seem to have | |
# the background color erase feature. The newer version 240.2 in Mac OS X | |
# version 10.5 does not. | |
# | |
# This entry is based on newsgroup comments by Alain Bench, Christian Ebert, | |
# and D P Schreber comparing to nsterm-c-s-acs. | |
# | |
# In Mac OS X version 10.4 and earlier, D P Schreber notes that $TERM | |
# can be set in Terminal.app, e.g., | |
# | |
# defaults write com.apple.Terminal TermCapString nsterm-bce | |
# | |
# and that it is not set in Terminal's preferences dialog. | |
# | |
# Modified for OS X 10.8, omitting bw based on testing with tack -TD | |
# | |
# Notes: | |
# * The terminal description matches the default settings. | |
# * The keyboard is configurable via a dialog. | |
# * By default khome, kend, knext and kprev are honored only with a | |
# shift-modifier. | |
# * There are bindings for control left/right arrow (but not up/down). | |
# Added those to nsterm-16color, which is the version used for OS X 10.6 | |
# * "Allow VT100 application keypage mode" is by default disabled. | |
# There is no way to press keypad-comma unless application mode is enabled | |
# and used. | |
# * 132-column mode stopped working during vttest's tests. Consider it broken. | |
# * CHT, REP, SU, SD are buggy. | |
# * ECH works (also in Leopard), but is not used here for compatibility. | |
# * The terminal preferences dialog replaces xterm-color by xterm-16color and | |
# xterm-256color. However, it adds "nsterm", so it is possible to use the | |
# nsterm entry from this file to override the MacPorts (20110404) or | |
# system (20081102) copy of this file. | |
# + In OS X 10.8 (Mountain Lion) the TERM which can be set in the preferences | |
# dialog defaults to xterm-256color. Alternative selections are ansi, | |
# dtterm, rxvt, vt52, vt100, vt102, xterm and xterm-16color. However, | |
# the menu says "Declare terminal as" without promising to actually emulate | |
# the corresponding terminals. Indeed, changing TERM does not affect the | |
# emulation itself. This means that | |
# + the function-keys do not match for dtterm for kf1-kf4 as well as | |
# khome/kend | |
# + the color model is the same for each setting of TERM (does not match | |
# ansi or dtterm). | |
# + the shift/control/meta key modifiers from rxvt and xterm variants are not | |
# recognised except for a few special cases, i.e., kRIT5 and kLFT5. | |
# + the VT52 emulation does not give a usable shell because screen-clearing | |
# does not work as expected. | |
# + selecting "xterm" or "xterm-16color" sets TERM to "xterm-256color". | |
# + OSX 10.9 (Yosemite) added more extended keys in the default configuration | |
# as well as unmasking F10 (which had been used in the window manager). Those | |
# keys are listed in this entry. | |
nsterm-bce|AppKit Terminal.app v71+/v100.1.8+ with Mac OS X version 10.3/10.4 (bce), | |
bce, use=nsterm-16color, | |
# This is tested with OS X 10.8 (Mountain Lion), 2012/08/11 | |
# TERM_PROGRAM_VERSION=309 | |
# Earlier reports state that these differences also apply to OS X 10.7 (Lion), | |
# TERM_PROGRAM_VERSION=303 | |
nsterm-build309|Terminal.app in OS X 10.8, | |
use=xterm+256setaf, use=nsterm-bce, | |
# removed bogus kDC7 -TD | |
nsterm-build326|Terminal.app in OS X 10.9, | |
kDC=\E[3;2~, kLFT=\E[1;2D, kRIT=\E[1;2C, kcbt=\E[Z, | |
kf18=\E[32~, kDC5=\E[3;5~, kLFT3=\Eb, kLFT5=\E[1;5D, | |
kRIT3=\Ef, kRIT5=\E[1;5C, use=nsterm-build309, | |
# actually "343.7" | |
nsterm-build343|Terminal.app in OS X 10.10, | |
kend=\EOF, khome=\EOH, use=nsterm-build326, | |
# reviewed Terminal.app in El Capitan (version 2.6 build 361) -TD | |
# Using vttest: | |
# + no VT52 mode for cursor keys, though VT52 screen works in vttest | |
# + f1-f4 map to pf1-pf4 | |
# + no VT220 support aside from DECTCEM and ECH | |
# + there are no protected areas. Forget about anything above VT220. | |
# + in ECMA-48 cursor movement, VPR and HPR fail. Others work. | |
# + vttest color 11.6.4 and 11.6.5 (bce for ED/EL and ECH/indexing) are bce | |
# + but bce fails for 11.6.7.2 (test repeat). | |
# + SD (11.6.7.3) also fails, but SL/SR/SU work. | |
# + 11.6.6 (test insert/delete char/line with bce) has several failures. | |
# + normal (not X10 or Highlight tracking) mouse now works. | |
# + mouse any-event works | |
# + mouse button-event works | |
# + in alternate screen: | |
# mode 47/48 work | |
# mode 1047 fails to restore cursor position (do not use) | |
# mode 1049 fails to restore screen contents (do not use) | |
# + dtterm window-modify operations work (some messages are not printed) | |
# + dtterm window-report gives size of window in characters/pixels as | |
# well as state of window. | |
# Using tack: | |
# + there is no difference between cnorm/cvvis | |
# + has dim/invis/blink (no protect of course) | |
# + most function keys with shift/control modifiers give beep | |
# (user can configure, but out-of-the-box is what I record) | |
# + shift-F5 is \E[25~ through shift-F12 is \E[34~ (skips \E[30~ between | |
# F8 and F9). | |
# + kLFT5/kRIT5 work, but not up/down with control-modifier | |
# + kLFT/kRIT work, but not up/down with shift-modifier | |
# + there are a few predefined bindings with Alt, but no clear pattern. | |
# + uses alt-key as UTF-8 "meta" something like xterm altSendsEscape | |
# Using ncurses test-program with xterm-new: | |
# + no italics | |
# Using xterm's scripts: | |
# + palette for 256-colors is hardcoded. | |
# + no support for "dynamic colors" | |
# + no support for tcap-query. | |
nsterm-build361|Terminal.app in OS X 10.11, | |
XT, | |
kmous=\E[M, use=nsterm-build343, | |
# reviewed Terminal.app in High Sierra (version 2.8 build 400) -TD | |
# Comparing with build361, little has changed, except that italics work. | |
# Direct-color is not supported, by the way. | |
# | |
# Improved rmso/rmul -TD | |
nsterm-build400|Terminal.app in OS X 10.13, | |
rmso=\E[27m, rmul=\E[24m, use=xterm+sm+1006, | |
use=ecma+italics, use=nsterm-build361, | |
nsterm-build440|Terminal.app in MacOS 11.6.8, | |
use=xterm+alt1049, use=nsterm-build400, | |
# This is an alias which should always point to the "current" version | |
nsterm|nsterm-256color|Apple_Terminal|AppKit Terminal.app, | |
use=nsterm-build440, | |
#### iTerm, iTerm2 | |
# iTerm 0.10 | |
# | |
# iTerm.app from http://iterm.sourceforge.net/ is an alternative (and more | |
# featureful) terminal emulator for Mac OS X. It is similar enough in | |
# capabilities to nsterm-16color that I have derived this description from that | |
# one, but as far as I know they share no code. Many of the features are | |
# user-configurable, but I attempt only to describe the default configuration | |
# (B. Sittler). | |
# | |
# According to its documentation, iTerm uses terminfo to obtain function key | |
# definitions. For example, if it is started with TERM=xterm, it uses key | |
# 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. | |
# | |
# NOTES: | |
# with vttest: | |
# reports primary DA as VT100 with AVO: \E[?1;2c | |
# reports secondary DA as "\E[>0;95;c" | |
# supports blink and underline | |
# displays bold text as red | |
# recognizes all dtterm controls for modifying/querying window | |
# resizing via escape sequence is very slow | |
# supports X11R5 mouse (no X10) and XFree86 mouse (button- and event-tracking) | |
# supports X11R5 alternate screen and XFree86 1049 (no 1047/1048) | |
# supports CHA, VPA, VPR, but no other ECMA-48 cursor movement such as HPA | |
# with tack: | |
# . | |
# with ncurses test-program: | |
# ncurses 'k' has problem in second screen; light background does not fill | |
# with xterm scripts | |
# can display/alter xterm-256color cube | |
# can display/alter xterm-88color cube | |
iTerm.app|iterm|iTerm.app terminal emulator for Mac OS X, | |
bce, mir, npc, xenl, xon, | |
wsl#50, | |
blink=\E[5m, bold=\E[1m, cub1=^H, cud1=\n, | |
cup=\E[%i%p1%d;%p2%dH, el1=\E[1K, | |
flash=\E[?5h$<200/>\E[?5l, hpa=\E[%i%p1%dG, | |
kLFT=\E[1;2D, kRIT=\E[1;2C, kbs=^?, kcbt=\E[Z, kdch1=\E[3~, | |
kend=\EOF, kf10=\E[21~, kf11=\E[23~, kf12=\E[24~, | |
kf5=\E[15~, kf6=\E[17~, kf7=\E[18~, kf8=\E[19~, kf9=\E[20~, | |
knp=\E[6~, kpp=\E[5~, op=\E[0m, rev=\E[7m, ri=\EM, | |
rmam=\E[?7l, rmkx=\E[?1l\E>, rmso=\E[m, rmul=\E[m, | |
sgr=\E[0%?%p6%t;1%;%?%p2%t;4%;%?%p1%p3%|%t;7%;%?%p4%t;5%;m%? | |
%p9%t\016%e\017%;, | |
sgr0=\E[m\017, smam=\E[?7h, smkx=\E[?1h\E=, smso=\E[7m, | |
smul=\E[4m, vpa=\E[%i%p1%dd, kEND5=\E[1;5F, | |
kHOM5=\E[1;5H, use=ansi+apparrows, use=ansi+csr, | |
use=ansi+enq, use=ansi+erase, use=ansi+idc, use=ansi+idl, | |
use=ansi+local, use=vt100+4bsd, use=vt100+keypad, | |
use=vt100+pfkeys, use=xterm+alt47, use=xterm+sl-twm, | |
use=xterm+x11mouse, use=xterm+256setaf, use=vt220+cvis, | |
# iTerm2 | |
# | |
# https://iterm2.com/ | |
# https://github.com/gnachman/iTerm2 | |
# ~/Library/Preferences/com.googlecode.iterm2.plist | |
# "iTerm" stalled in 2009. A different set of developers began "iTerm2". | |
# | |
# iTerm2 3.5.0 | |
# | |
# NOTES: | |
# with esctest: | |
# 365 tests passed, 196 known bugs, 2 tests fail intermittently | |
# the known bugs include several of the cursor-movement tests | |
# the ED, EL tests include those failing intermittently | |
# DECCOLM, DECERA, DECSED, DECSERA and SPA do not work | |
# most of the DECRPM, DECRQSS reports fail | |
# with vttest: | |
# reports primary DA as VT420 | |
# VT420 rectangular operations, as well as DECBI/DEVFI work with margins | |
# SRM does not work | |
# DECSED, and SPA do not work | |
# REP and SD work, SL/SR/SU do not work | |
# with tack: | |
# status-line does not work | |
# | |
# The default settings have blinking-text and keypad-application mode disabled. | |
# Enabling the latter make it half-working (numlock sends an escape character). | |
# About half of the modified function-keys are untestable due to preassigned | |
# features. | |
# | |
# iTerm2 3.5.0 comes with a 4-year-old copy of xterm's terminfo (June 2020), | |
# which is modified, using the ncurses TERMINFO_DIRS variable to substitute | |
# this locally: | |
# + xterm-nrc and xterm+pcfN are removed | |
# + the developer made changes to adapt it to the 16-year-old version of | |
# ncurses bundled with MacOS, i.e., changing the mouse protocol to the | |
# legacy X11 format and reducing the number of colors to 32k (in more than | |
# one place). In the former case, the developer was confused about why that | |
# was necessary. In the latter, the developer clearly misunderstood how the | |
# tools work. | |
# + vt420+lrmm is modified, removing smglr and corrupting mgc (again, developer | |
# confusion). | |
# + the developer added a couple of features, misnaming them as "xterm" blocks: | |
# + a copy of kitty+setal renamed to xterm+setulc (and Setulc) is added, but | |
# the feature is first mentioned in iTerm2 changes in May 2020, while | |
# it is first mention in kitty changes in December 2016. | |
# + Smulx is added | |
# | |
# iTerm2 3.4.0 | |
# | |
# NOTES: | |
# with esctest: | |
# 293 tests pass, 270 tests fail | |
# with tack: | |
# minor improvements which do not alter the terminfo | |
# | |
# iTerm2 3.0.15 | |
# | |
# NOTES: | |
# with vttest: | |
# reports primary DA as VT100 with AVO: \E[?1;2c | |
# reports secondary DA as "\E[>0;95;0c" | |
# numeric keypad application mode does not work | |
# by default, dtterm window-modifications are ignored | |
# by default, dtterm window-reports return, but icon as "L", window as "l" | |
# supports SD/SU, no REP, SL, SR | |
# supports CBT, CHA, VPA, CNL, CPL, VPR (no HPA, CHT, HPR) | |
# no improvement to XFree86 1047/1048 modes | |
# with tack: | |
# in meta-mode, imitates xterm, sending UTF-8 | |
# special-key modifiers based on xterm use incompatible default for alt/meta | |
# with ncurses test-program: | |
# no italics | |
# no improvement to ncurses 'k' | |
# with xterm scripts: | |
# acolors.sh works | |
# | |
# Italic text did not work initially, apparently because upgrading did not | |
# add/change that preference (set in Preferences, Profiles, Text). A new | |
# install of iTerm 3.0.15 provides italics by default (blinking text is an | |
# option in the preferences dialog). | |
# | |
# 2018/01/21: found xterm+sm+1006 did not work with version 3.1.5 | |
# 2018/05/19: xterm+sm+1006 seems to work with 3.1.6beta -TD | |
iTerm2.app|iterm2|terminal emulator for Mac OS X, | |
cbt=\E[Z, dim=\E[2m, kEND=\E[1;2F, kHOM=\E[1;2H, ka1@, ka3@, | |
kb2@, kc1@, kc3@, kent@, kf13=\E[1;2P, kf14=\E[1;2Q, | |
kf15=\E[1;2R, kf16=\E[1;2S, kf17=\E[15;2~, kf18=\E[17;2~, | |
kf19=\E[18;2~, kf20=\E[19;2~, kf21=\E[20;2~, | |
kf22=\E[21;2~, kf23=\E[23;2~, kf24=\E[24;2~, | |
kind=\E[1;2B, kri=\E[1;2A, nel=\EE, op=\E[39;49m, | |
rmso=\E[27m, rmul=\E[24m, | |
rs2=\E[!p\E[?3;4l\E[4l\E>\E[?1000l, | |
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%;, | |
Smulx=\E[4:%p1%dm, kDN3=\E\E[B, kDN4=\E[1;10B, | |
kDN5=\E[1;5B, kDN6=\E[1;6B, kEND3=\E[1;9F, | |
kEND4=\E[1;10F, kEND6=\E[1;6F, kEND7=\E[1;13F, | |
kEND8=\E[1;14F, kHOM3=\E[1;9H, kHOM4=\E[1;10H, | |
kHOM6=\E[1;6H, kHOM7=\E[1;13H, kHOM8=\E[1;14H, | |
kLFT3=\E\E[D, kLFT4=\E[1;10D, kLFT5=\E[1;5D, | |
kLFT6=\E[1;6D, kNXT3=\E\E[6~, kPRV3=\E\E[5~, | |
kRIT3=\E\E[C, kRIT4=\E[1;10C, 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, | |
use=kitty+setal, | |
# xnuppc - Darwin PowerPC Console (a.k.a. "darwin") | |
# | |
# On PowerPC platforms, Apple's Darwin operating system uses a | |
# full-screen system console derived from a NetBSD framebuffer | |
# console. It is an ANSI-style terminal, and is not really VT-100 | |
# compatible. | |
# | |
# Under Mac OS X, this is the system console driver used while in | |
# single-user mode [reachable by holding down Command-S during the | |
# boot process] and when logged in using console mode [reachable by | |
# typing ">console" at the graphical login prompt.] | |
# | |
# If you're looking for a description of the Terminal.app terminal | |
# emulator which runs under the Mac OS X Quartz windowing system (and | |
# other AppKit-supported windowing systems,) see the "nsterm" | |
# entry instead. | |
# | |
# NOTE: Under Mac OS X version 10.1, the default login window does not | |
# prompt for user name, instead requiring an icon to be selected from | |
# a list of known users. Since the special ">console" login is not in | |
# this list, you must make one of two changes in the Login Window | |
# panel of the Login section of System Prefs to make the special | |
# ">console" login accessible. The first option is to enable 'Show | |
# "Other User" in list for network users', which will add a special | |
# "Other..." icon to the graphical login panel. Selecting "Other..." | |
# will present the regular graphical login prompt. The second option | |
# is to change the 'Display Login Window as:' setting to 'Name and | |
# password entry fields', which replaces the login panel with a | |
# graphical login prompt. | |
# | |
# There are no function keys, at least not in Darwin 1.3. | |
# | |
# It has no mouse support. | |
# | |
# It has full ANSI color support, and color combines correctly with | |
# all three supported attributes: bold, inverse-video and underline. | |
# However, bold colored text is almost unreadable (bolding is | |
# accomplished using shifting and or-ing, and looks smeared) so bold | |
# has been excluded from the list of color-compatible attributes | |
# [using (ncv)]. The monochrome entry (-m) is useful if you use a | |
# monochrome monitor. | |
# | |
# There is one serious bug with this terminal emulation's color | |
# support: repositioning the cursor onto a cell with non-matching | |
# colors obliterates that cell's contents, replacing it with a blank | |
# and displaying a colored cursor in the "current" colors. There is | |
# no complete workaround at present [other than using the monochrome | |
# (-m) entries,] but removing the (msgr) capability seemed to help. | |
# | |
# The "standout" chosen was simple reverse-video, although a colorful | |
# standout might be more aesthetically pleasing. Similarly, the bold | |
# chosen is the terminal's own smeared bold, although a simple | |
# color-change might be more readable. The color-bold (-b) entries | |
# uses magenta colored text for bolding instead. The fancy color (-f | |
# and -f2) entries use color for bold, standout and underlined text | |
# (underlined text is still underlined, though.) | |
# | |
# Apparently the terminal emulator does support a VT-100-style | |
# alternate character set, but all the alternate character set | |
# positions have been left blank in the font. For this reason, no | |
# alternate character set capabilities have been included in this | |
# description. The console driver appears to be ASCII-only, so (enacs) | |
# has been excluded [although the VT-100 sequence does work.] | |
# | |
# The default Mac OS X and Darwin installation reports "vt100" as the | |
# terminal type, and exports no helpful environment variables. To fix | |
# this, change the "console" entry in /etc/ttys from "vt100" to | |
# "xnuppc-WxH", where W and H are the character dimensions of your | |
# console (see below.) | |
# | |
# The font used by the terminal emulator is apparently one originally | |
# drawn by Ka-Ping Yee, and uses 8x16-pixel characters. This | |
# file includes descriptions for the following geometries: | |
# | |
# Pixels Characters Entry Name (append -m for monochrome) | |
# ------------------------------------------------------------------- | |
# 640x400 80x25 xnuppc-80x25 | |
# 640x480 80x30 xnuppc-80x30 | |
# 720x480 90x30 xnuppc-90x30 | |
# 800x600 100x37 xnuppc-100x37 | |
# 896x600 112x37 xnuppc-112x37 | |
# 1024x640 128x40 xnuppc-128x40 | |
# 1024x768 128x48 xnuppc-128x48 | |
# 1152x768 144x48 xnuppc-144x48 | |
# 1280x1024 160x64 xnuppc-160x64 | |
# 1600x1024 200x64 xnuppc-200x64 | |
# 1600x1200 200x75 xnuppc-200x75 | |
# 2048x1536 256x96 xnuppc-256x96 | |
# | |
# The basic "xnuppc" entry includes no size information, and the | |
# emulator includes no reporting capability, so you'll be at the mercy | |
# of the TTY device (which reports incorrectly on my hardware.) The | |
# color-bold entries do not include size information. | |
# The '+' entries are building blocks | |
xnuppc+basic|Darwin PowerPC console basic capabilities, | |
am, bce, mir, xenl, NQ, | |
it#8, | |
bold=\E[1m, cr=\r, dsl=\E]2;\007, el1=\E[1K, ht=^I, hts=\EH, | |
ind=\n, kbs=^?, kcub1=\EOD, kcud1=\EOB, kcuf1=\EOC, | |
kcuu1=\EOA, rev=\E[7m, ri=\EM, rmam=\E[?7l, rmkx=\E[?1l\E>, | |
rs2=\E>\E[?3l\E[?4l\E[?5l\E[?7h\E[?8h, | |
sgr=\E[0%?%p6%t;1%;%?%p2%t;4%;%?%p1%p3%|%t;7%;m, | |
sgr0=\E[m, smam=\E[?7h, smkx=\E[?1h\E=, tbc=\E[3g, | |
use=ansi+csr, use=ansi+cup, use=ansi+erase, | |
use=ansi+local, use=ansi+sgrso, use=ansi+sgrul, | |
use=vt100+keypad, | |
xnuppc+c|Darwin PowerPC console ANSI color support, | |
ncv#32, use=klone+color, | |
xnuppc+b|Darwin PowerPC console color-bold support, | |
ncv#32, | |
bold=\E[35m, | |
sgr=\E[0%?%p6%t;35%;%?%p2%t;4%;%?%p1%p3%|%t;7%;m, | |
use=xnuppc+basic, | |
xnuppc+f|Darwin PowerPC console fancy color support, | |
ncv#35, | |
sgr=\E[0%?%p6%t;35%;%?%p2%t;36;4%;%?%p1%t;33;44%;%?%p3%t;7%; | |
m, | |
smso=\E[33;44m, smul=\E[36;4m, use=xnuppc+b, | |
xnuppc+f2|Darwin PowerPC console alternate fancy color support, | |
ncv#35, | |
bold=\E[33m, | |
sgr=\E[0%?%p6%t;33%;%?%p2%t;34%;%?%p1%t;31;47%;%?%p3%t;7%;m, | |
smso=\E[31;47m, smul=\E[34m, use=xnuppc+basic, | |
# Building blocks for specific screen sizes | |
xnuppc+80x25|Darwin PowerPC console 80x25 support (640x400 pixels), | |
cols#80, lines#25, | |
xnuppc+80x30|Darwin PowerPC console 80x30 support (640x480 pixels), | |
cols#80, lines#30, | |
xnuppc+90x30|Darwin PowerPC console 90x30 support (720x480 pixels), | |
cols#90, lines#30, | |
xnuppc+100x37|Darwin PowerPC console 100x37 support (800x600 pixels), | |
cols#100, lines#37, | |
xnuppc+112x37|Darwin PowerPC console 112x37 support (896x600 pixels), | |
cols#112, lines#37, | |
xnuppc+128x40|Darwin PowerPC console 128x40 support (1024x640 pixels), | |
cols#128, lines#40, | |
xnuppc+128x48|Darwin PowerPC console 128x48 support (1024x768 pixels), | |
cols#128, lines#48, | |
xnuppc+144x48|Darwin PowerPC console 144x48 support (1152x768 pixels), | |
cols#144, lines#48, | |
xnuppc+160x64|Darwin PowerPC console 160x64 support (1280x1024 pixels), | |
cols#160, lines#64, | |
xnuppc+200x64|Darwin PowerPC console 200x64 support (1600x1024 pixels), | |
cols#200, lines#64, | |
xnuppc+200x75|Darwin PowerPC console 200x75 support (1600x1200 pixels), | |
cols#200, lines#75, | |
xnuppc+256x96|Darwin PowerPC console 256x96 support (2048x1536 pixels), | |
cols#0x100, lines#96, | |
# These are different combinations of the building blocks | |
xnuppc-m|darwin-m|Darwin PowerPC console (monochrome), | |
use=xnuppc+basic, | |
xnuppc|darwin|Darwin PowerPC console (color), | |
use=xnuppc+c, use=xnuppc+basic, | |
xnuppc-m-b|darwin-m-b|Darwin PowerPC console (monochrome w/color-bold), | |
use=xnuppc+b, | |
xnuppc-b|darwin-b|Darwin PowerPC console (color w/color-bold), | |
use=xnuppc+b, use=xnuppc+c, | |
xnuppc-m-f|darwin-m-f|Darwin PowerPC console (fancy monochrome), | |
use=xnuppc+f, | |
xnuppc-f|darwin-f|Darwin PowerPC console (fancy color), | |
use=xnuppc+f, use=xnuppc+c, | |
xnuppc-m-f2|darwin-m-f2|Darwin PowerPC console (alternate fancy monochrome), | |
use=xnuppc+f2, | |
xnuppc-f2|darwin-f2|Darwin PowerPC console (alternate fancy color), | |
use=xnuppc+f2, use=xnuppc+c, | |
# Combinations for specific screen sizes | |
xnuppc-80x25-m|darwin-80x25-m|Darwin PowerPC console (monochrome) 80x25, | |
use=xnuppc+80x25, use=xnuppc+basic, | |
xnuppc-80x25|darwin-80x25|Darwin PowerPC console (color) 80x25, | |
use=xnuppc+c, use=xnuppc+80x25, use=xnuppc+basic, | |
xnuppc-80x30-m|darwin-80x30-m|Darwin PowerPC console (monochrome) 80x30, | |
use=xnuppc+80x30, use=xnuppc+basic, | |
xnuppc-80x30|darwin-80x30|Darwin PowerPC console (color) 80x30, | |
use=xnuppc+c, use=xnuppc+80x30, use=xnuppc+basic, | |
xnuppc-90x30-m|darwin-90x30-m|Darwin PowerPC console (monochrome) 90x30, | |
use=xnuppc+90x30, use=xnuppc+basic, | |
xnuppc-90x30|darwin-90x30|Darwin PowerPC console (color) 90x30, | |
use=xnuppc+c, use=xnuppc+90x30, use=xnuppc+basic, | |
xnuppc-100x37-m|darwin-100x37-m|Darwin PowerPC console (monochrome) 100x37, | |
use=xnuppc+100x37, use=xnuppc+basic, | |
xnuppc-100x37|darwin-100x37|Darwin PowerPC console (color) 100x37, | |
use=xnuppc+c, use=xnuppc+100x37, use=xnuppc+basic, | |
xnuppc-112x37-m|darwin-112x37-m|Darwin PowerPC console (monochrome) 112x37, | |
use=xnuppc+112x37, use=xnuppc+basic, | |
xnuppc-112x37|darwin-112x37|Darwin PowerPC console (color) 112x37, | |
use=xnuppc+c, use=xnuppc+112x37, use=xnuppc+basic, | |
xnuppc-128x40-m|darwin-128x40-m|Darwin PowerPC console (monochrome) 128x40, | |
use=xnuppc+128x40, use=xnuppc+basic, | |
xnuppc-128x40|darwin-128x40|Darwin PowerPC console (color) 128x40, | |
use=xnuppc+c, use=xnuppc+128x40, use=xnuppc+basic, | |
xnuppc-128x48-m|darwin-128x48-m|Darwin PowerPC console (monochrome) 128x48, | |
use=xnuppc+128x48, use=xnuppc+basic, | |
xnuppc-128x48|darwin-128x48|Darwin PowerPC console (color) 128x48, | |
use=xnuppc+c, use=xnuppc+128x48, use=xnuppc+basic, | |
xnuppc-144x48-m|darwin-144x48-m|Darwin PowerPC console (monochrome) 144x48, | |
use=xnuppc+144x48, use=xnuppc+basic, | |
xnuppc-144x48|darwin-144x48|Darwin PowerPC console (color) 144x48, | |
use=xnuppc+c, use=xnuppc+144x48, use=xnuppc+basic, | |
xnuppc-160x64-m|darwin-160x64-m|Darwin PowerPC console (monochrome) 160x64, | |
use=xnuppc+160x64, use=xnuppc+basic, | |
xnuppc-160x64|darwin-160x64|Darwin PowerPC console (color) 160x64, | |
use=xnuppc+c, use=xnuppc+160x64, use=xnuppc+basic, | |
xnuppc-200x64-m|darwin-200x64-m|Darwin PowerPC console (monochrome) 200x64, | |
use=xnuppc+200x64, use=xnuppc+basic, | |
xnuppc-200x64|darwin-200x64|Darwin PowerPC console (color) 200x64, | |
use=xnuppc+c, use=xnuppc+200x64, use=xnuppc+basic, | |
xnuppc-200x75-m|darwin-200x75-m|Darwin PowerPC console (monochrome) 200x75, | |
use=xnuppc+200x75, use=xnuppc+basic, | |
xnuppc-200x75|darwin-200x75|Darwin PowerPC console (color) 200x75, | |
use=xnuppc+c, use=xnuppc+200x75, use=xnuppc+basic, | |
xnuppc-256x96-m|darwin-256x96-m|Darwin PowerPC console (monochrome) 256x96, | |
use=xnuppc+256x96, use=xnuppc+basic, | |
xnuppc-256x96|darwin-256x96|Darwin PowerPC console (color) 256x96, | |
use=xnuppc+c, use=xnuppc+256x96, use=xnuppc+basic, | |
#### Kitty | |
# https://github.com/kovidgoyal/kitty | |
# Project started in 2016/10 (see alacritty), but is a Python script rather | |
# than Rust, using OpenGL. The same caveats regarding remote connections | |
# apply. This is not an X terminal, though (like alacritty), it copies | |
# features from xterm. | |
# | |
# Regarding the name "kitty", that is a pun, reflected in the description. | |
# But see | |
# http://www.9bis.net/kitty/ | |
# https://github.com/kovidgoyal/kitty/issues/9 | |
# https://github.com/kovidgoyal/kitty/issues/1025 | |
# and | |
# http://lists.gnu.org/archive/html/bug-ncurses/2018-09/msg00005.html | |
# https://github.com/kovidgoyal/kitty/issues/879 | |
# | |
# Version 0.21.2 (June 28, 2021) | |
# changes since 0.19.1 | |
# Notes: | |
# Repeatable tests with tack and vttest assume a standard screensize -- | |
# measured in characters. However, kitty uses pixel-measurements and | |
# does not readily use characters. | |
# Resizing with twm shows only pixel-based hint rather than characters | |
# manual page states that it is possible to override initial window size, | |
# but configuration file has no effect on initial window size. | |
# The same problem with XFCE4, but editing the cached json file works | |
# for setting the window size (the "c" suffix for cells does not): | |
# {"window-size": [720, 440]} | |
# though the values depend upon the font in use. | |
# vttest | |
# tack | |
# flash works | |
# invisible text still does not work | |
# function/special key modifiers finally work | |
# | |
# Version 0.19.1 (October 6, 2020) | |
# changes since 0.13.3: | |
# vttest | |
# ISO-6429 | |
# REP works, though using unspecified behavior | |
# xterm | |
# xterm's SGR-mouse mode is recognized. | |
# does recognize original alternate-screen | |
# bug: mouse focus in/out does not work. | |
# bug: X10 mouse mode responds like any-event | |
# bug: highlight-tracking does not work; terminal hangs. | |
# | |
# tack | |
# rs1 adds an empty string for resetting title- and other OSC-strings. | |
# italics work | |
# | |
# Version 0.13.3 (January 19, 2019) | |
# Notes: | |
# initial screensize 71x22 | |
# does not respond to "resize -s" | |
# resizing with window manager gives no clues | |
# vttest | |
# does not switch between 80/132 columns | |
# fails wrapping test, copying vte/rxvt | |
# no reverse-background, no blink | |
# claims to be VT200: | |
# primary \E[?62;c | |
# secondary \E[>1;4000;12c | |
# however - | |
# no GR in the locking-shifts screen | |
# no NRCS or ISO-2022, anyway | |
# no VT52 | |
# VT220: | |
# has DECTCEM, ECH, but no SRM and DECSCA | |
# has operating condition report, none of the others | |
# VT320: | |
# has SU/SD | |
# DECRQSS ok for DECSTBM, SGR, none of the others | |
# no status-line | |
# VT420: | |
# DECXCPR device status works, none of the others | |
# no left/right margins | |
# has DECCARA, but not DECERA, DECFRA, DECRARA, DECSERA | |
# inside of DECCARA is uncolored | |
# line-drawing with DECCARA does not work | |
# aside from left/right margins, editing sequences look ok | |
# no DECFI, DECBI | |
# color: | |
# fails ECH test for bce | |
# ISO-6429 | |
# fails REP, SL, SL, but other cursor-movement ok | |
# xterm: | |
# does not recognize original alternate-screen | |
# cursor-position wrong after alternate-screen | |
# has normal mouse, any-event, any-button, but | |
# no X10 mouse | |
# no mouse-highlight tracking | |
# no DEC locator | |
# dtterm - only supports report-size chars/pixels | |
# recognizes tcap-query | |
# tack: | |
# flash doesn't work | |
# italics do not work | |
# bce should be set (but see vttest) | |
#* developer's terminfo stopped at kf25, but the program continues, | |
# copying xterm for the rest of the control+fkey sequence | |
# (but only one modifier is supported, like iTerm2). | |
#* it omitted shifted pageup/down | |
#* control+editing keys work | |
# In contrast to function-keys, some additional modifier combinations | |
# act like xterm for the editing/cursor-keys, e.g., alt+shift. While | |
# the implementation is incomplete, the building-blocks are consistent | |
# with what has been implemented -TD | |
# DECKPAM does not work -TD | |
#* ka1, ka3, kc1, kc3 were bogus (removed) | |
#* meta sends escape (removed kmm) -TD | |
#* cvvis does not make cursor "more visible" -TD | |
kitty|KovId's TTY, | |
use=xterm+256color, use=kitty+common, | |
kitty-direct|KovId's TTY using direct colors, | |
oc=\E]104\007, use=xterm+direct2, use=kitty+common, | |
kitty+common|KovId's TTY common properties, | |
am, mc5i, mir, msgr, npc, xenl, | |
cols#80, lines#24, | |
acsc=++\,\,--..00``aaffgghhiijjkkllmmnnooppqqrrssttuuvvwwxxy | |
yzz{{||}}~~, | |
bel=^G, bold=\E[1m, clear=\E[H\E[2J, cr=\r, cub1=^H, cud1=\n, | |
cup=\E[%i%p1%d;%p2%dH, dch=\E[%p1%dP, dch1=\E[P, | |
dim=\E[2m, ech=\E[%p1%dX, ed=\E[J, el=\E[K, el1=\E[1K, | |
flash=\E[?5h$<100/>\E[?5l, home=\E[H, hpa=\E[%i%p1%dG, | |
ich=\E[%p1%d@, ind=\n, kBEG=\E[1;2E, kbeg=\EOE, kbs=^?, | |
kcbt=\E[Z, op=\E[39;49m, rev=\E[7m, ri=\EM, rmacs=\E(B, | |
rmam=\E[?7l, rmir=\E[4l, rmkx=\E[?1l, rmso=\E[27m, | |
rmul=\E[24m, rs1=\E]\E\\\Ec, | |
sgr=%?%p9%t\E(0%e\E(B%;\E[0%?%p6%t;1%;%?%p5%t;2%;%?%p2%t;4%; | |
%?%p1%p3%|%t;7%;m, | |
sgr0=\E(B\E[m, smacs=\E(0, smam=\E[?7h, smir=\E[4h, | |
smkx=\E[?1h, smso=\E[7m, smul=\E[4m, vpa=\E[%i%p1%dd, | |
Smulx=\E[4:%p1%dm, use=ansi+csr, use=ansi+enq, | |
use=ansi+idl, use=ansi+inittabs, use=ansi+local, | |
use=ansi+rep, use=xterm+focus, use=xterm+sm+1006, | |
use=ecma+index, 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, use=report+version, | |
kitty+setal|set underline colors (nonstandard), | |
setal=\E[58:2::%p1%{65536}%/%d:%p1%{256}%/%{255}%&%d:%p1 | |
%{255}%&%dm | |
#### Ghostty | |
# https://github.com/ghostty-org/ghostty | |
# | |
# Its readme and manpage begin with a lot of hype, concluding with | |
# | |
# While aiming for this ambitious goal, our first step is to make Ghostty | |
# one of the best fully standards compliant terminal emulator, remaining | |
# compatible with all existing shells and software while supporting all | |
# of the latest terminal innovations in the ecosystem. You can use | |
# Ghostty as a drop-in replacement for your existing terminal emulator. | |
# | |
# However, it uses xterm as a standard: | |
# | |
# We believe Ghostty is one of the most compliant terminal emulators | |
# available. Terminal behavior is partially a de jure standard (i.e. | |
# [ECMA-48](https://ecma-international.org/publications-and-standards/stand> | |
# but mostly a de facto standard as defined by popular terminal emulators | |
# worldwide. Ghostty takes the approach that our behavior is defined by | |
# (1) standards, if available, (2) xterm, if the feature exists, (3) | |
# other popular terminals, in that order. This defines what the Ghostty | |
# project views as a "standard." | |
# | |
# while xterm uses ECMA-48 and DEC 070 along with related documentation such as | |
# the DEC terminal reference manuals. xterm's documentation does not attempt | |
# to duplicate those sources of information, so that developers should rely | |
# upon both xterm's documentation and the published standards. | |
# | |
# Comments in ghostty's source code and commits demonstrate that the developers | |
# study xterm's source code closer than xterm's documentation. The quote above | |
# is the only mention of ECMA-48. | |
# | |
# ghostty 1.0.0 tested with Arch Linux: | |
# ------------- | |
# tack: | |
# - does not implement blinking text | |
# - does not implement meta mode (kmm). | |
# - implements VT100-style alternate character set | |
# - testing video-attributes unexpectedly clears the display before acsc | |
# - italics and strike-out work | |
# - function-keys mostly match; however because this client (unlike X11 | |
# clients) does not work with a remote display, some (such as control/alt key | |
# combinations, and the shifted editing keys) are untestable because | |
# - numeric keypad does not send VT100-style escapes | |
# wraptest: | |
# - matches xterm | |
# vttest: | |
# - ghostty hangs in more than one menu, making it impossible to test more than | |
# a small part of the program. In particular, these are untestable: | |
# 1. Test of cursor movements | |
# 2. Test of screen features | |
# 4. Test of double-sized characters | |
# - ghostty has tabs (imitating gnome-terminal); when closing a tab with a | |
# running process (e.g., a hung vttest), ghostty does not prompt about the | |
# process to be killed. | |
# - identifies as a "VT220 with color": | |
# <27> [ ? 6 2 ; 2 2 c | |
# - although claiming to be a VT220, it does not support NRCS. Actually, it | |
# fails the VT100 character set test as well. This is a complete failure: | |
# 3. Test of character sets | |
# - it does not hang in this menu entry: | |
# 8. Test of VT102 features (Insert/Delete Char/Line) | |
# although because it does not implement double-sized characters, most of | |
# that test counts as a failure. | |
# - implements VT220 DECTCEM and ECH, but not SRM or DECSCA | |
# - implements VT420 left/right margins | |
# - does not implement VT420 rectangle operations | |
# - does not implement 8-bit controls | |
# - does implement ISO-6429 cursor-movement | |
# - supports BCE partially: ED/EL work, but not ECH and indexing. | |
# - does not support blinking text | |
# - responds to XTVERSION | |
# - responds to DECRPM controls, though many are "unknown" | |
# - does not respond to most DECRQSS except for SGR, DECSCUSR, DECSTBM | |
# - implements most of xterm mouse protocol except for | |
# - Mouse Highlight Tracking | |
# - DEC Locator Events | |
# - some window reporting works: | |
# 14 - size of text area in pixels | |
# 16 - size of character in pixels | |
# 18 - size of window in chars | |
# 21 - report window label | |
# - window-modifying does not work | |
# - cursor position is incorrect after switching to/from alternate screen | |
# | |
# The developers set "Tc" in their terminal description to hint that it | |
# supports direct-colors, but the feature did not work with this version -TD | |
ghostty|Ghostty terminal emulator, | |
am, bce, km, mc5i, mir, msgr, npc, xenl, AX, XT, | |
cols#80, lines#24, pairs#0x7fff, | |
acsc=++\,\,--..00``aaffgghhiijjkkllmmnnooppqqrrssttuuvvwwxxy | |
yzz{{||}}~~, | |
bel=^G, bold=\E[1m, clear=\E[H\E[2J, | |
cnorm=\E[?12l\E[?25h, cr=\r, cub1=^H, cud1=\n, | |
cvvis=\E[?12;25h, dim=\E[2m, ech=\E[%p1%dX, el1=\E[1K, | |
flash=\E[?5h$<100/>\E[?5l, ind=\n, invis=\E[8m, kbs=^?, | |
kcbt=\E[Z, kend=\EOF, kent=\EOM, kf13=\E[1;2P, | |
kf14=\E[1;2Q, kf15=\E[1;2R, kf16=\E[1;2S, kf25=\E[1;5P, | |
kf26=\E[1;5Q, kf27=\E[1;5R, kf28=\E[1;5S, kf37=\E[1;6P, | |
kf38=\E[1;6Q, kf39=\E[1;6R, kf40=\E[1;6S, kf49=\E[1;3P, | |
kf50=\E[1;3Q, kf51=\E[1;3R, kf52=\E[1;3S, kf61=\E[1;4P, | |
kf62=\E[1;4Q, kf63=\E[1;4R, op=\E[39;49m, rev=\E[7m, | |
ri=\EM, rmam=\E[?7l, rmcup=\E[?1049l, rmkx=\E[?1l\E>, | |
rmso=\E[27m, rmul=\E[24m, rs1=\E]\E\\\Ec, | |
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, | |
sgr=%?%p9%t\E(0%e\E(B%;\E[0%?%p6%t;1%;%?%p2%t;4%;%?%p1%p3%| | |
%t;7%;%?%p5%t;2%;%?%p7%t;8%;m, | |
sgr0=\E(B\E[m, smam=\E[?7h, smcup=\E[?1049h, | |
smkx=\E[?1h\E=, E3=\E[3J, Ms=\E]52;%p1%s;%p2%s\007, | |
Se=\E[2 q, Smulx=\E[4:%p1%dm, Ss=\E[%p1%d q, | |
xr=\EP>\\|ghostty [!-z]+\E\\, use=ansi+apparrows, | |
use=ansi+csr, use=ansi+cup, use=ansi+enq, use=ansi+erase, | |
use=ansi+idc, use=ansi+idl, use=ansi+inittabs, | |
use=ansi+local, use=ansi+local1, use=ansi+rca2, | |
use=ansi+rep, use=ansi+sgrso, use=ansi+sgrul, | |
use=ansi+tabs, use=ecma+index, use=ecma+italics, | |
use=ecma+strikeout, use=report+version, use=vt220+cvis, | |
use=xterm+256color2, use=xterm+acs, | |
use=xterm+alt+title, use=bracketed+paste, | |
use=kitty+setal, use=vt420+lrmm, use=xterm+focus, | |
use=xterm+pce2, use=xterm+pcc2, use=xterm+pcf0, | |
use=xterm+sm+1006, use=xterm+sl-twm, |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment