+# From: Adam Thompson <athompso@pangea.ca> Sept 10 1995
+z340|zstem vt340 terminal emulator 132col 42line,
+ lines#42,
+ is2=\E>\E[?3h\E[?4l\E[?5l\E[?7h\E[?8h\E[1;42r\E[42;1H,
+ rs2=\E>\E[?3h\E[?4l\E[?5l\E[?7h\E[?8h\E[1;42r\E[42;1H, use=vt320-w,
+z340-nam|zstem vt340 terminal emulator 132col 42line (no automatic margins),
+ am@,
+ is2=\E>\E[?3h\E[?4l\E[?5l\E[?7l\E[?8h\E[1;42r\E[42;1H,
+ rs2=\E>\E[?3h\E[?4l\E[?5l\E[?7l\E[?8h\E[1;42r\E[42;1H, use=z340,
+
+# expect-5.44.1.15/example/tkterm
+# a minimal subset of a vt100 (compare with "news-unk).
+#
+# The missing "=" in smkx is not a typo (here), but an error in tkterm.
+tt|tkterm|Don Libes' tk text widget terminal emulator,
+ clear=\E[H\E[J, cr=\r, cub1=^H, cud1=\n, cuf1=\E[C,
+ cup=\E[%p1%d;%p2%dH, cuu1=\E[A, ind=\n, kf1=\EOP, kf2=\EOQ,
+ kf3=\EOR, kf4=\EOS, kf5=\EOT, kf6=\EOU, kf7=\EOV, kf8=\EOW,
+ kf9=\EOX, rmkx=\E[?1l\E>, rmso=\E[m, smkx=\E[?1h\E,
+ smso=\E[7m,
+
+######## 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, blink=\E[5m, bold=\E[1m, clear=\E[H\E[J, cr=\r,
+ csr=\E[%i%p1%d;%p2%dr, 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,
+ dim=\E[2m, dl=\E[%p1%dM, dl1=\E[M, ed=\E[J, el=\E[K,
+ el1=\E[1K, home=\E[H, ht=^I, hts=\EH, il=\E[%p1%dL, il1=\E[L,
+ ind=\n, invis=\E[8m, kbs=^?, kcub1=\EOD, kcud1=\EOB,
+ kcuf1=\EOC, kcuu1=\EOA, kent=\EOM, rc=\E8, rev=\E[7m, ri=\EM,
+ rmam=\E[?7l, rmkx=\E[?1l\E>, rmso=\E[m, rmul=\E[m,
+ rs2=\E>\E[?3l\E[?4l\E[?5l\E[?7h\E[?8h, sc=\E7,
+ 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=, smso=\E[7m,
+ smul=\E[4m, tbc=\E[3g, use=vt100+enq, use=vt100+pfkeys,
+
+nsterm+acs|AppKit Terminal.app v41+ basic capabilities w/VT100 alternate-charset,
+ acsc=``aaffggjjkkllmmnnooppqqrrssttuuvvwwxxyyzz{{||}}~~,
+ enacs=\E(B\E)0, rmacs=^O,
+ 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, smacs=^N, use=nsterm+7,
+
+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,
+ enacs=\E(B\E)0, rmacs=^O,
+ 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, smacs=^N, use=nsterm+7,
+
+# 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,
+ colors#8, ncv#37, pairs#64,
+ op=\E[0m, setab=\E[4%p1%dm, setaf=\E[3%p1%dm,
+
+# 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,
+ civis=\E[?25l, cnorm=\E[?25h, dch=\E[%p1%dP, dch1=\E[P,
+ flash=\E[?5h$<200/>\E[?5l, hpa=\E[%i%p1%dG,
+ ich=\E[%p1%d@, ich1=\E[@, 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~, rmcup=\E[2J\E[?47l\E8, rmir=\E[4l,
+ smcup=\E7\E[?47h, smir=\E[4h, vpa=\E[%i%p1%dd,
+ kLFT5=\E[5D, kRIT5=\E[5C, use=nsterm-c-s-acs,
+
+# 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,
+
+# This is an alias which should always point to the "current" version
+nsterm|nsterm-256color|Apple_Terminal|AppKit Terminal.app,
+ use=nsterm-build400,
+
+#### 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,
+ am, bce, hs, mir, msgr, npc, xenl, xon,
+ cols#80, it#8, lines#24, wsl#50,
+ acsc=``aaffggjjkkllmmnnooppqqrrssttuuvvwwxxyyzz{{||}}~~,
+ bel=^G, blink=\E[5m, bold=\E[1m, civis=\E[?25l,
+ clear=\E[H\E[J, cnorm=\E[?25h, cr=\r,
+ csr=\E[%i%p1%d;%p2%dr, 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=\E[?5h$<200/>\E[?5l, home=\E[H, hpa=\E[%i%p1%dG,
+ ht=^I, hts=\EH, ich=\E[%p1%d@, ich1=\E[@, il=\E[%p1%dL,
+ il1=\E[L, ind=\n, kLFT=\E[1;2D, kRIT=\E[1;2C, kbs=^?,
+ kcbt=\E[Z, kcub1=\EOD, kcud1=\EOB, kcuf1=\EOC, kcuu1=\EOA,
+ kdch1=\E[3~, kend=\EOF, kent=\EOM, 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=\EOH, knp=\E[6~, kpp=\E[5~, op=\E[0m, rc=\E8,
+ rev=\E[7m, ri=\EM, rmacs=^O, rmam=\E[?7l,
+ rmcup=\E[2J\E[?47l\E8, rmir=\E[4l, rmkx=\E[?1l\E>,
+ rmso=\E[m, rmul=\E[m,
+ rs2=\E>\E[?3l\E[?4l\E[?5l\E[?7h\E[?8h, sc=\E7,
+ 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, smacs=^N, smam=\E[?7h, smcup=\E7\E[?47h,
+ smir=\E[4h, smkx=\E[?1h\E=, smso=\E[7m, smul=\E[4m,
+ tbc=\E[3g, vpa=\E[%i%p1%dd, kEND5=\E[1;5F, kHOM5=\E[1;5H,
+ use=ansi+enq, use=xterm+sl-twm, use=vt100+keypad,
+ use=xterm+x11mouse, use=xterm+256setaf,
+
+# iTerm2 3.0.15
+#
+# https://www.iterm2.com/
+# https://github.com/gnachman/iTerm2
+# ~/Library/Preferences/com.googlecode.iterm2.plist
+# "iTerm" stalled in 2009. A different set of developers began "iTerm2".
+#
+# 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,
+ blink=\E[5m, 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~, kf2=\EOQ, 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%;,
+ 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,
+
+# 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,
+ it#8,
+ bold=\E[1m, clear=\E[H\E[J, cr=\r, csr=\E[%i%p1%d;%p2%dr,
+ cub=\E[%p1%dD, cub1=\E[D, cud=\E[%p1%dB, cud1=\E[B,
+ cuf=\E[%p1%dC, cuf1=\E[C, cup=\E[%i%p1%d;%p2%dH,
+ cuu=\E[%p1%dA, cuu1=\E[A, dsl=\E]2;\007, ed=\E[J, el=\E[K,
+ el1=\E[1K, home=\E[H, ht=^I, hts=\EH, ind=\n, kbs=^?,
+ kcub1=\EOD, kcud1=\EOB, kcuf1=\EOC, kcuu1=\EOA, rc=\E8,
+ rev=\E[7m, ri=\EM, rmam=\E[?7l, rmkx=\E[?1l\E>, rmso=\E[m,
+ rmul=\E[m, rs2=\E>\E[?3l\E[?4l\E[?5l\E[?7h\E[?8h,
+ sc=\E7,
+ sgr=\E[0%?%p6%t;1%;%?%p2%t;4%;%?%p1%p3%|%t;7%;m,
+ sgr0=\E[m, smam=\E[?7h, smkx=\E[?1h\E=, smso=\E[7m,
+ smul=\E[4m, tbc=\E[3g, use=vt100+keypad,
+
+xnuppc+c|Darwin PowerPC Console ANSI color support,
+ colors#8, ncv#32, pairs#64,
+ op=\E[37;40m, setab=\E[4%p1%dm, setaf=\E[3%p1%dm,
+
+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,