Skip to content

DECSTBM reset to full screen

Category: scrollback · Baseline: core · Tags: DEC Private Modes, VT100 · Specification ↗

DECSTBM with no parameters (ESC [ r) resets the scroll region to the full screen. After reset, scrolling operations should affect all rows. Applications use this to restore normal scrolling behavior after using scroll regions. Failing to properly reset can leave the terminal in a state where only part of the screen scrolls, causing rendering corruption for subsequent applications.
How this is testedautomated
Set DECSTBM 5;10, then send \x1b[r (no params), write 30 lines, verify full-screen scrolling works (total lines > screen height).

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 12 tested terminals — universal adoption. Part of the Core TUI baseline.

Supported by 13 of 14 backends (93%)

Terminal Applications

TerminalVersionSupportNotes
iTerm23.6.9✓ yescursor at row 25 (expected near bottom after DECSTBM reset)
Ghostty1.3.1✓ yescursor at row 119 (expected near bottom after DECSTBM reset)
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✓ yes
Kitty0.40.0✓ yes
vt100.js0.2.1✓ yes
vterm0.2.0✓ yes
WezTerm0.1.0-fork.5✓ yes
xterm.js5.5.0✓ yes