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.