Appearance
DCS Sequences
Device Control String — ESC P (or the 8-bit 0x90) followed by parameters, an intermediate/final selector, a string payload, and a string terminator. DCS frames carry longer, structured payloads than CSI or OSC: sixel images, terminfo queries, and the DECRQSS setting queries.
Structure
ESC P <params> <selector> <payload> STselector: intermediate + final bytes identifying the function (e.g.$ qfor DECRQSS)payload: function-specific dataST: string terminator —ESC \(preferred) or0x9C
Otty support
vte does not dispatch general DCS payloads, so most DCS-framed functions are inert. Otty scans the byte stream for the ones it answers:
- DECRQSS cursor-style query (
DCS $ q SP q ST) — replied with the current cursor code. See below. - XTVERSION reply — Otty emits
DCS > | otty(<version>) STin response to theCSI > qrequest (so nvim / kakoune can gate features).
Sixel graphics and XTGETTCAP (DCS + q) are not supported.