Skip to main content

DECALN

AI-Generated Content
This page was generated with the assistance of AI and may contain inaccuracies. It is intended as a placeholder for future human verification. If you spot issues ahead of its initial review, please report them on GitHub!
Standard

DECALN (DEC Screen Alignment Pattern) is a VT100 escape sequence that fills the entire screen with the character 'E'. It was originally intended for service personnel to test and adjust screen alignment on hardware terminals.

Syntax​

ESC # 8       DECALN — Screen Alignment Pattern
Formal syntax
DECALN = 0x1b, "#", "8" ;

Description​

Per the VT510 manual, DECALN fills the complete screen area with a test pattern (the letter 'E' in every cell). In addition to filling the screen, DECALN:

  • Resets the scrolling margins to the full screen (undoing any DECSTBM setting)
  • Moves the cursor to the home position (row 1, column 1)
  • Resets all character attributes to normal

Although originally designed as a hardware diagnostic tool, DECALN is commonly used in terminal emulator test suites to verify screen dimensions and scrolling behavior.

Examples​

printf '\e#8'    # Fill screen with 'E' characters

Specifications​

SpecificationSection
VT510 Reference—

Terminal support​

TerminalSupportVersionNotes
Terminal Emulators
Alacritty✓YesESC # 8 listed as IMPLEMENTED in docs/escape_support.md; handler decaln() at term/mod.rs:1141 fills screen with 'E'
Bobcat✓0.9.0Screen alignment test, standard DEC feature in TerminalCtrl
contour✓v0.1.0ESC # 8 (DECALN) implemented; fills screen with 'E' characters
foot✓YesImplemented in vt.c:575-585 as ESC #8
Ghostty✓v1.0.0ESC #8 handled in stream.zig:2157-2159
iTerm2✓Yes
Kitty✓Yes
Konsole✓Yes
mintty✓YesHandled in do_esc() at src/termout.c:1989-2009
mlterm✓rel-0_2_1
PuTTY✓0.45
Rio✓v0.0.28Fills screen with 'E' characters
rxvt-unicode✓rxvt-unicode-1.2
st✓0.6
terminology✓v0.1.0
VT100✓Yes
VTE✓Yes
WezTerm✓YesHandled in performer.rs:652 via EscCode::DecScreenAlignmentDisplay (ESC #8), fills screen with 'E'
Windows Terminal✓YesESC #8 dispatches ScreenAlignmentPattern() in OutputStateMachineEngine.cpp:286-287
xterm✓YesImplemented in charproc.c:4833. Fills screen with 'E' characters
xterm.js✓4.0.0
Multiplexers
cy✗NoESC # 8 not implemented
GNU Screen✓v.4.2.0DECALN (ESC # 8) implemented in DoESC() at src/ansi.c:797
tmux✓1.3Screen alignment test via screen_write_alignmenttest()
tuios✗No
Zellij✓v0.7.0

See also​