Skip to content

CUP with DECOM โ€‹

Category: cursor ยท Tags: DEC Private Modes, VT100 ยท Specification โ†—

When DECOM (Origin Mode, CSI ? 6 h) is set, CUP coordinates become relative to the current scroll region set by DECSTBM. With a scroll region of rows 5-15 and DECOM enabled, CSI 1 ; 1 H moves the cursor to row 5 (the top of the scroll region) rather than the absolute top of the screen. This interaction between DECSTBM and DECOM is fundamental to how full-screen applications partition the terminal into independently scrolling regions.
How this is tested: Set DECSTBM 5;15, enable DECOM, send \x1b[1;1H, verify cursor is at row 4 (0-based scroll region top). Disable DECOM and reset scroll region.
Analysis2026-03-26

Supported by 1 of 5 terminals (20%). Not supported by: Ghostty, Kitty, iTerm2, Terminal.app. Part of the Core TUI baseline.

Supported by 6 of 11 backends (55%)

Terminal Applications โ€‹

TerminalVersionSupportNotes
VS Code1.112.0โœ“ yes
Warp0.2026.03.18.08.24.03โœ“ yes
Cursor2.6.21โœ“ yes
iTerm23.6.9โœ— nogot 1;1, expected 5;1
Ghostty1.3.1โœ— nogot 1;1, expected 5;1
Kitty0.46.2โœ— nogot 1;1, expected 5;1
Terminal.app2.15โœ— nogot 1;1, expected 5;1

Headless Backends โ€‹

Parser correctness only โ€” a โœ“ means the parser accepts the sequence.

BackendVersionSupportNotes
Alacritty0.26.0โœ“ yes
vterm0.2.0โœ“ yesnot supported
WezTerm0.1.0-fork.5โœ“ yes
vt1000.2.1โœ— nonot supported

Powered by Termless
Playwright for Terminals