Appearance
Kitty graphics: Unicode placeholders
Unicode placeholders (
U=1) allow images to be placed using special Unicode characters in the text grid rather than absolute positioning. The terminal replaces placeholder characters with image content. This enables images to participate in text reflow, scrolling, and selection — unlike absolutely-positioned images which are fixed to screen coordinates.How this is testedautomated
Transmit a test image with
Transmit a test image with
U=1 (Unicode placeholder mode). Check response for success.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 3 of 12 terminals (25%). Part of the Rich TUI baseline.
Supported by 3 of 14 backends (21%)
Terminal Applications
| Terminal | Version | Support | Notes |
|---|---|---|---|
| Terminal.app | ✓ yes | ||
| iTerm2 | 3.6.9 | ✗ no | U=1 didn't render |
| Ghostty | 1.3.1 | ✗ no | U=1 didn't render |
| VS Code | ✗ no | ||
| Warp | ✗ no | ||
| Cursor | ✗ no |
Headless Backends
Parser correctness only — a ✓ means the parser accepts the sequence.
| Backend | Version | Support | Notes |
|---|---|---|---|
| Kitty | 0.40.0 | ✓ yes | |
| vterm | 0.2.0 | ✓ yes | |
| Alacritty | 0.26.0 | ✗ no | Kitty graphics not implemented in alacritty |
| vt100.js | 0.2.1 | ✗ no | Not implemented — pure TypeScript emulator |
| WezTerm | 0.1.0-fork.5 | ✗ no | Kitty graphics not implemented in wezterm-term crate |
| xterm.js | 5.5.0 | ✗ no | Kitty graphics protocol not implemented in xterm.js |