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
| Specification | Section |
|---|---|
| VT510 Reference | — |
Terminal support
| Terminal | Support | Version | Notes |
|---|---|---|---|
| Terminal Emulators | |||
| Alacritty | ✓ | Yes | ESC # 8 listed as IMPLEMENTED in docs/escape_support.md; handler decaln() at term/mod.rs:1141 fills screen with 'E' |
| Bobcat | ✓ | 0.9.0 | Screen alignment test, standard DEC feature in TerminalCtrl |
| contour | ✓ | v0.1.0 | ESC # 8 (DECALN) implemented; fills screen with 'E' characters |
| foot | ✓ | Yes | Implemented in vt.c:575-585 as ESC #8 |
| Ghostty | ✓ | v1.0.0 | ESC #8 handled in stream.zig:2157-2159 |
| iTerm2 | ✓ | Yes | |
| Kitty | ✓ | Yes | |
| Konsole | ✓ | Yes | |
| mintty | ✓ | Yes | Handled in do_esc() at src/termout.c:1989-2009 |
| mlterm | ✓ | rel-0_2_1 | |
| PuTTY | ✓ | 0.45 | |
| Rio | ✓ | v0.0.28 | Fills screen with 'E' characters |
| rxvt-unicode | ✓ | rxvt-unicode-1.2 | |
| st | ✓ | 0.6 | |
| terminology | ✓ | v0.1.0 | |
| VT100 | ✓ | Yes | |
| VTE | ✓ | Yes | |
| WezTerm | ✓ | Yes | Handled in performer.rs:652 via EscCode::DecScreenAlignmentDisplay (ESC #8), fills screen with 'E' |
| Windows Terminal | ✓ | Yes | ESC #8 dispatches ScreenAlignmentPattern() in OutputStateMachineEngine.cpp:286-287 |
| xterm | ✓ | Yes | Implemented in charproc.c:4833. Fills screen with 'E' characters |
| xterm.js | ✓ | 4.0.0 | |
| Multiplexers | |||
| cy | ✗ | No | ESC # 8 not implemented |
| GNU Screen | ✓ | v.4.2.0 | DECALN (ESC # 8) implemented in DoESC() at src/ansi.c:797 |
| tmux | ✓ | 1.3 | Screen alignment test via screen_write_alignmenttest() |
| tuios | ✗ | No | |
| Zellij | ✓ | v0.7.0 | |
See also
- DECSTBM — Set Top and Bottom Margins — Scroll region that DECALN resets