^[control-codes live in libghostty-vt

ANSI modes

MATM Multiple Area Transfer Mode

Whether one selected area or all of them is transmitted.

CSI 15 h
ECMA-48
§7.2.12 MATM – Multiple Area Transfer Mode, p. 24
DEC STD 070
§5.10.1.3 Modes That Cannot Be Changed, p. 5-134

Mode 15 decides, when the terminal transmits its screen, whether only the selected area the cursor is in is eligible, or every selected area.

StateECMA-48 calls itMeaning
Reset, CSI 15 lSINGLEonly the area holding the cursor
Set, CSI 15 hMULTIPLEevery selected area

DEC STD 070 §5.10.1.3, p. 5-134 lists it among the X3.64 modes a DEC terminal may treat as fixed, as not applicable. The VT510 manual’s table of modes for DECRPM marks it as always reset.

xterm ignores CSI 15 h and CSI 15 l (ansi_modes handles only modes 2, 4, 12 and 20), and DECRQM reports the mode as permanently reset, 4 (do_ansi_rqm). libghostty-vt ignores it too, but does not recognize the number, so it answers DECRQM with 0. Both DECRQM cases are known differences.

Validation

MATM-1: Reported as permanently reset

\e[15$p
|_____|
reply \e[15;4$y

MATM-2: Even after it is set

\e[15h
\e[15$p
|_____|
reply \e[15;4$y
Every example on these pages runs in your browser, in libghostty-vt compiled to WebAssembly.