+######## OPENGL CLIENTS
+
+#### Alacritty
+# https://github.com/jwilm/alacritty
+# Version 0.2.1 (2018/10/03)
+# Project started in 2016/02, uses Rust and OpenGL, and in contrast to (most X
+# terminal programs) is not designed to run with a remote server.
+#
+# Packaged in Arch Linux -
+# vttest:
+# initial screensize 24x80
+# does not switch between 80/132 columns
+# passes wrapping test
+# identifies as a vt100
+# passes bce test
+# vt220:
+# fails ECH, leaving text on right margin
+# no SRM, DECSCA
+# vt320:
+# fails DECXCPR
+# does not implement any of the DECRQM/DECRPM controls
+# does not implement any of the DECRQSS controls
+# vt420:
+# no DECBI, DECFI
+# other:
+# fails REP, SL, SR
+# xterm:
+# no X10 mouse
+# has normal and highlight mouse
+# has any-event and button-event mouse
+# cursor-position wrong after alternate-screen
+# none of the dtterm controls work
+# tack:
+# bell and flash do not work (perhaps Parallels problem)
+# italics works; crossed-out does not
+# function-keys work up to kf36; window manager interferes with remainder
+#
+# The program sources include "alacritty" and "alacritty-direct", which are
+# copied from "xterm-256color" and "xterm-direct" (but using semicolon for
+# subparameter delimiter). Refactored here to use ncurses building blocks -TD
+alacritty|alacritty terminal emulator,
+ rs1=\Ec\E]104\007, use=xterm+256color,
+ use=alacritty+common,
+
+alacritty-direct|alacritty with direct color indexing,
+ use=xterm+indirect, use=alacritty+common,
+
+# removed ech, since it fails vttest -TD
+# removed ecma+strikeout, not implemented -TD
+alacritty+common|base fragment for alacritty,
+ npc,
+ ech@, kb2=\EOE, kbs=^H, kcbt=\E[Z, kent=\EOM, Se=\E[0 q,
+ use=ecma+index, use=xterm-basic, use=xterm+app,
+ use=ansi+rep, use=xterm+sm+1006, use=xterm+tmux,
+ use=ecma+italics, use=xterm+pce2, use=xterm+pcc2,
+ use=xterm+pcf2,
+
+#### Kitty
+# https://github.com/kovidgoyal/kitty
+# Version 0.12.3
+# 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
+#
+# 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
+# tack:
+# flash doesn't 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
+#* 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, it#8, lines#24,
+ acsc=++\,\,--..00``aaffgghhiijjkkllmmnnooppqqrrssttuuvvwwxxy
+ yzz{{||}}~~,
+ bel=^G, bold=\E[1m, cbt=\E[Z, civis=\E[?25l,
+ clear=\E[H\E[2J, cnorm=\E[?12l\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,
+ 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,
+ ht=^I, hts=\EH, ich=\E[%p1%d@, il=\E[%p1%dL, il1=\E[L,
+ ind=\n, kbs=^?, kcbt=\E[Z, kcub1=\EOD, kcud1=\EOB,
+ kcuf1=\EOC, kcuu1=\EOA, kdch1=\E[3~, kend=\EOF, kf1=\EOP,
+ kf10=\E[21~, kf11=\E[23~, kf12=\E[24~, 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~, kf25=\E[1;5P, kf26=\E[1;5Q, kf27=\E[1;5R,
+ kf28=\E[1;5S, kf29=\E[15;5~, kf3=\EOR, kf30=\E[17;5~,
+ kf31=\E[18;5~, kf32=\E[19;5~, kf33=\E[20;5~,
+ kf34=\E[21;5~, kf35=\E[23;5~, kf36=\E[24;5~, kf4=\EOS,
+ kf5=\E[15~, kf6=\E[17~, kf7=\E[18~, kf8=\E[19~, kf9=\E[20~,
+ khome=\EOH, kich1=\E[2~, kind=\E[1;2B, kmous=\E[M,
+ knp=\E[6~, kpp=\E[5~, kri=\E[1;2A, op=\E[39;49m, rc=\E8,
+ rev=\E[7m, ri=\EM, rmacs=\E(B, rmam=\E[?7l, rmir=\E[4l,
+ rmkx=\E[?1l, rmso=\E[27m, rmul=\E[24m, rs1=\Ec, sc=\E7,
+ sgr=%?%p9%t\E(0%e\E(B%;\E[0%?%p6%t;1%;%?%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, tbc=\E[3g,
+ vpa=\E[%i%p1%dd, use=ecma+index, use=xterm+sl-twm,
+ use=xterm+pce2, use=xterm+pcc2, use=ecma+italics,
+ use=xterm+alt1049,
+
+######## WEB CLIENTS
+
+#### DomTerm
+# https://domterm.org
+#
+# Quoting its webpage:
+# The domterm command runs a server that manages sessions (usually shell
+# processes). The user interface and terminal emulation is handled by a
+# JavaScript library that can run in a regular web browser or an embedded
+# browser such as Electron, using Web Sockets to talk to the server.
+#
+# it can connect to, and display in, a web browser, or as a standalone Qt
+# application. Either way, it displays in the current desktop session.
+#
+# Testing current code (2019/07/06) with Fedora 30:
+# tack
+# no flash
+# no beep
+# no dim
+# no blink
+# no invis
+# no italics
+# ok smxx/rmxx
+# bce screen shows diagonal lines...
+# kf6 sends nothing
+# kf11 toggles maximize
+# cursor-key application mode works
+# numeric keypad application does not work; keys always send face-codes
+# sends utf-8 for meta, like xterm
+# vttest
+# has problems with menu #1 (wrapping)
+# DA = vt200 with 132 columns, color
+# DA2 = 990, 100300 ("\E[>990;100300;0c")
+# no VT52, no double-size characters
+# vt220 ECH test works, SRM, DECSCA do not
+# S7C1T/S8C1t does not work
+# DECUDK does not work
+# CNL does not work; the other ECMA-48 cursor-movement tests work
+# REP sort-of works (does not match xterm)
+# SD/SU work, but not SL/SR
+# window reporting: works for size in chars/pixels, but not other tests
+# X10 mouse clicks work -- but return 4 rather than 1 for codes
+# any-event mouse mode acts like any-button mode
+# implements SGR mouse-mode
+# other:
+# does not implement initc
+# does accept either colons or semicolon in 38/48 SGR.
+domterm|DomTerm web client,
+ npc,
+ bel@, blink@, dim@, invis@, kcbt=\E[Z, ritm@, rmkx=\E[?1l,
+ sgr=%?%p9%t\E(0%e\E(B%;\E[0%?%p6%t;1%;%?%p2%t;4%;%?%p1%p3%|
+ %t;7%;m,
+ sitm@, smkx=\E[?1h, use=xterm+256setaf, use=ecma+index,
+ use=xterm+sm+1006, use=xterm+pcfkeys, use=xterm-basic,
+ use=xterm-basic,
+