Skip to content

TerminalCapabilities

Defined in: src/driver/driver.ts:93

What the active backend/terminal supports; drivers fill this in (some after a probe).

optional cellSize?: object

Defined in: src/driver/driver.ts:144

Pixel size of one cell, when known — used to rasterize/place graphics.

height: number

width: number


clipboard: boolean

Defined in: src/driver/driver.ts:115

OSC 52 clipboard read/write.


color256: boolean

Defined in: src/driver/driver.ts:97

256-color palette.


glyphProtocol: boolean

Defined in: src/driver/driver.ts:113

Terminal Glyph Protocol for crisp icons.


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: boolean

Defined in: src/driver/driver.ts:105

OSC 8 hyperlinks.


kittyKeyboard: boolean

Defined in: src/driver/driver.ts:99

Kitty keyboard protocol (disambiguates Ctrl+Shift+… etc.).


mouseHover: boolean

Defined in: src/driver/driver.ts:103

Hover (bare mouse-move) reporting.


mouseTracking: boolean

Defined in: src/driver/driver.ts:101

Mouse press/release/drag reporting.


notifications: boolean

Defined in: src/driver/driver.ts:117

Desktop notifications.


optional ownsProcess?: 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: 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: boolean

Defined in: src/driver/driver.ts:111

REP (\x1b[nb) repeat-last-char, so long identical runs (borders/fills) compress.


scrollRegion: boolean

Defined in: src/driver/driver.ts:109

Scroll-region (DECSTBM) + SU/SD, so the diff can scroll shifted rows in place.


synchronizedUpdates: boolean

Defined in: src/driver/driver.ts:107

Synchronized output (flicker-free frames).


optional terminalProgram?: string

Defined in: src/driver/driver.ts:142

Reported terminal program name, when known (e.g. “iTerm.app”).


truecolor: boolean

Defined in: src/driver/driver.ts:95

24-bit color.