Skip to content

Standards and specifications

Every claim on TDN traces to one of a small number of documents. This page catalogs them in the order the rest of the site follows: the framework standards that define the byte grammar, the DEC manuals that define most of the commands, xterm's document that defines most of the rest, and the vendor and working-group documents that define modern extensions. Each entry says what the document is authoritative for and which TDN section derives from it.

Framework standards

Document Defines TDN sections
ECMA-35 / ISO 2022 Code structure: C0/C1 sets, G0–G3 designation and invocation, 7-bit vs 8-bit environments, the ESC intermediate/final byte grammar Control characters and ESC, Encoding
ECMA-48 / ISO 6429 / ANSI X3.64 Control functions: CSI parameter/intermediate/final grammar, the standard final bytes (CUP, ED, SGR, SM/RM…), the OSC/DCS/APC/PM/SOS string framing, ST CSI, OSC anatomy, DCS
ECMA-6 / ISO 646 The 7-bit graphic set that ASCII and the national variants are instances of Encoding
ISO/IEC 10646 / Unicode The character repertoire; UTF-8 Text
UAX #11 East Asian Width The W/F/A properties that terminal column width is derived from Character width
UAX #29 Text Segmentation Extended grapheme cluster boundaries Grapheme clusters
UTS #51 Emoji Presentation selectors and ZWJ sequences that widen or join cells Character width, Grapheme clusters

ECMA-48 defines a grammar and a set of functions, not a terminal. It does not say what a screen is, has no notion of scrollback, private modes, or mouse reporting, and reserves the p–~ final bytes and the <, =, >, ? parameter prefixes for private use. Almost everything a modern application relies on lives in that private space.

DEC

Document Defines TDN sections
VT100 User Guide The baseline: DECSC/DECRC, DECSTBM, the first private modes (?1–?8), DECALN, the original DA reply Cursor, Scrolling, Modes
VT220 Programmer Reference 8-bit controls and S7C1T/S8C1T, DECSCA and selective erase, DECUDK, secondary DA, the ~-terminated function-key encoding Escape, Erase, DCS, Legacy keyboard
VT320, VT420 DECRQM/DECRPM, DECRQSS/DECRPSS, DECSLRM and DECLRMM, DECSCUSR (VT520), tertiary DA Modes, DECRQSS, Scrolling
VT330/VT340 Sixel and ReGIS Sixel, ReGIS
VT510/VT520 The most complete single DEC reference; the manual TDN cites when a command's DEC definition is needed throughout
DEC STD 070 Video Systems Reference Manual DEC's internal conformance standard: the parser, the DCS P* I* Ft data ST header and the equivalent OSC/APC/PM structure, private-range rules Control strings, DCS, OSC anatomy

The vt100.net archive hosts all of these. DEC documents are the source for the DEC status on feature pages.

xterm

XTerm Control Sequences (ctlseqs) is the single most-cited document on the site. It is authoritative for xterm and, because every later emulator implemented some subset of it, it is the de facto index of what "a terminal" understands. It defines:

  • the OSC selector numbering (0–2 titles, 4/5/10–19 colors, 50 fonts, 52 clipboard, 104–119 resets) — OSC catalog;
  • XTWINOPS (CSI Ps t) — Window operations;
  • the DEC private modes above ?1000: mouse protocols, focus, bracketed paste, alternate screen — Modes, Mouse;
  • modifyOtherKeys and XTQMODKEYS — modifyOtherKeys;
  • XTGETTCAP, XTVERSION, XTPUSHSGR/XTPOPSGR, XTPUSHCOLORS — DCS, SGR.

Two companions matter:

  • terminfo(5) and the ncurses terminfo database, which name capabilities and are how applications discover them — Environment;
  • the xterm FAQ, which records the history behind several disputed behaviors.

xterm documents are the source for the xterm status.

Cross-emulator specifications

Document Defines TDN sections
terminal-wg specifications The freedesktop working group's drafts; the venue where extensions become multi-vendor referenced per feature
Hyperlinks in terminal emulators OSC 8 Hyperlinks
Kitty keyboard protocol CSI … u progressive enhancement Kitty keyboard
Kitty graphics protocol APC G image transfer and placement Kitty graphics
Kitty text sizing OSC 66 Text sizing
Kitty desktop notifications OSC 99 Notifications
Synchronized output DEC mode 2026 Modes
Color scheme reports DEC mode 2031, CSI ? 996 n Colors
FinalTerm / iTerm2 shell integration OSC 133 and OSC 1337 Shell integration
Sixel graphics, libsixel Sixel as implemented today Sixel
win32-input-mode CSI … _ key records win32-input-mode

These are the source for the Extension status when at least one other emulator has adopted them, and Vendor-private when not.

Surveys

Some documents define nothing and instead record what exists. TDN cites them for history and for the anatomy pages; they are never the source of a status.

Document Records TDN sections
terminal-wg N0001, Existing terminal sequence structures The terminal-parsing subgroup's survey of every sequence shape in use or on record: the ESC code space, CSI marker and sub-parameter practice, control-string internals, non-standard introducers, and grammar-violating sequences from historical terminals Escape, CSI anatomy, OSC anatomy, DCS, Control strings
A parser for DEC's ANSI-compatible video terminals Paul Williams' state machine, reverse-engineered from VT500-series hardware; the de facto reference parser CSI anatomy, Control strings

Emulator documentation

Each emulator's own escape-sequence document is linked from its terminal page. Where an emulator documents a behavior that no standard covers, the terminal page is the citation and the feature page marks it Vendor-private or Convention.

What is not written down

A great deal of terminal behavior has no document at all: what happens to pending wrap after DECSC, which terminator to prefer, how to query without blocking on a terminal that will never answer, how to survive tmux. TDN records that material in Practices, with the status Convention, and does not promote it to a standard however widely it is shared.