TerminalCapabilities
Defined in: src/driver/driver.ts:93
What the active backend/terminal supports; drivers fill this in (some after a probe).
Properties
Section titled “Properties”cellSize?
Section titled “cellSize?”
optionalcellSize?:object
Defined in: src/driver/driver.ts:144
Pixel size of one cell, when known — used to rasterize/place graphics.
height
Section titled “height”height:
number
width:
number
clipboard
Section titled “clipboard”clipboard:
boolean
Defined in: src/driver/driver.ts:115
OSC 52 clipboard read/write.
color256
Section titled “color256”color256:
boolean
Defined in: src/driver/driver.ts:97
256-color palette.
glyphProtocol
Section titled “glyphProtocol”glyphProtocol:
boolean
Defined in: src/driver/driver.ts:113
Terminal Glyph Protocol for crisp icons.
graphicsProtocol
Section titled “graphicsProtocol”graphicsProtocol:
"none"|"kitty"|"iterm2"|"sixel"|"web"
Defined in: src/driver/driver.ts:131
Inline-graphics capability. The terminal protocols (kitty/iterm2/sixel)
consume rasterized pixels; web means the backend renders images/SVG
natively (the canvas draws them), so widgets ship vector/raster source rather
than ANSI-encoding it. none falls back to Unicode half-block art.
hyperlinks
Section titled “hyperlinks”hyperlinks:
boolean
Defined in: src/driver/driver.ts:105
OSC 8 hyperlinks.
kittyKeyboard
Section titled “kittyKeyboard”kittyKeyboard:
boolean
Defined in: src/driver/driver.ts:99
Kitty keyboard protocol (disambiguates Ctrl+Shift+… etc.).
mouseHover
Section titled “mouseHover”mouseHover:
boolean
Defined in: src/driver/driver.ts:103
Hover (bare mouse-move) reporting.
mouseTracking
Section titled “mouseTracking”mouseTracking:
boolean
Defined in: src/driver/driver.ts:101
Mouse press/release/drag reporting.
notifications
Section titled “notifications”notifications:
boolean
Defined in: src/driver/driver.ts:117
Desktop notifications.
ownsProcess?
Section titled “ownsProcess?”
optionalownsProcess?:boolean
Defined in: src/driver/driver.ts:140
Whether this backend owns the host process, so a quit gesture (a bare
Ctrl+C) may terminate it. True/undefined on a terminal — Ctrl+C is the
conventional way to exit and the process is the user’s own. False on the web
backend, where the page (and any server behind it) is long-lived and shared:
an end user pressing Ctrl+C must copy/cancel, never tear down the host. The
App skips its process.exit when this is false.
pointerShapes
Section titled “pointerShapes”pointerShapes:
boolean
Defined in: src/driver/driver.ts:124
OSC 22 mouse-pointer shapes — the terminal can change the mouse cursor to a
named shape (pointer, text, grab, …). Detected by a startup probe and
left false unless the terminal positively confirms support, so unsupported
terminals (most notably Windows Terminal, VS Code, iTerm2) degrade silently.
repeatChar
Section titled “repeatChar”repeatChar:
boolean
Defined in: src/driver/driver.ts:111
REP (\x1b[nb) repeat-last-char, so long identical runs (borders/fills) compress.
scrollRegion
Section titled “scrollRegion”scrollRegion:
boolean
Defined in: src/driver/driver.ts:109
Scroll-region (DECSTBM) + SU/SD, so the diff can scroll shifted rows in place.
synchronizedUpdates
Section titled “synchronizedUpdates”synchronizedUpdates:
boolean
Defined in: src/driver/driver.ts:107
Synchronized output (flicker-free frames).
terminalProgram?
Section titled “terminalProgram?”
optionalterminalProgram?:string
Defined in: src/driver/driver.ts:142
Reported terminal program name, when known (e.g. “iTerm.app”).
truecolor
Section titled “truecolor”truecolor:
boolean
Defined in: src/driver/driver.ts:95
24-bit color.