Skip to content

DECCARA — change attrs in rectangle

Category: editing · Baseline: legacy · Tags: VT510 · Specification ↗

CSI Pt ; Pl ; Pb ; Pr ; Ps $ r
DECCARA (CSI Pt ; Pl ; Pb ; Pr ; Ps $ r) changes the SGR attributes of every cell in a rectangular region without touching the characters themselves. The Ps parameters are SGR codes (1=bold, 4=underline, 7=inverse, etc.), accumulated and applied to the rectangle. Whether DECCARA operates on a true rectangle or on the stream of cells between the corners depends on DECSACE. Used by VT420-era forms to highlight an entire input field, error message, or table cell without rewriting its contents.
How this is testedautomated
Write text, send \x1b[1;1;3;5;7$r (apply inverse to rows 1-3 cols 1-5), verify the sequence is consumed.

The same probe runs against headless backends (via Termless) and real terminal apps (via a daemon launched in each terminal). This lets us distinguish parser correctness from rendering correctness.

Analysis2026-04-06

Supported by all 9 tested terminals — universal adoption. Part of the Unicode baseline.

Supported by 8 of 14 backends (57%)

Terminal Applications

TerminalVersionSupportNotes
iTerm23.6.9✓ yessequence consumed
Ghostty1.3.1✓ yessequence consumed
VS Code✓ yes
Warp✓ yes
Cursor✓ yes
Terminal.app✓ yes

Headless Backends

Parser correctness only — a means the parser accepts the sequence.

BackendVersionSupportNotes
Alacritty0.26.0✗ noVT420 rectangular area operations not implemented — legacy DEC features omitted by most modern terminals
Kitty0.40.0✗ noVT420 rectangular area operations not implemented — legacy DEC features omitted by most modern terminals
vt100.js0.2.1✗ noVT420 rectangular area operations not implemented — legacy DEC features omitted by most modern terminals
vterm0.2.0✗ noVT420 rectangular area operations not implemented — legacy DEC features omitted by most modern terminals
WezTerm0.1.0-fork.5✗ noVT420 rectangular area operations not implemented — legacy DEC features omitted by most modern terminals
xterm.js5.5.0✗ noVT420 rectangular area operations not implemented — legacy DEC features omitted by most modern terminals