ghostty/screen.lisp
Render-state C ABI. Enum values follow include/ghostty/vt/render.h.
The snapshot.
One dense styled snapshot of a terminal viewport.
CHARACTERS holds the base character of each cell in row-major order, #\Space where the cell is empty. FOREGROUND and BACKGROUND hold packed #xRRGGBB colours per cell, or -1 where the cell has no explicit colour and the DEFAULT-FOREGROUND / DEFAULT-BACKGROUND applies. FLAGS holds bit 0 = bold, bit 1 = inverse, bit 2 = faint, bit 3 = invisible.
Return the effective foreground and background #xRRGGBB of one cell.
Inverse video and the cursor cell swap the two; the second value is NIL when the cell paints no background of its own.
Draw the cursor as a block of the current foreground colour.
The snapshot's rows as one newline-separated, right-trimmed string.
A resolved cell colour, or -1 when the cell has none.
Copy one row of cells into screen's dense lanes.
Only the base codepoint is placed on the wall grid. Combining marks stay in Ghostty's model for now.
Snapshot terminal's active viewport as a styled terminal-screen.
These out-parameters point at the pre-allocated handles.
(terminal)(terminal)(scheme)A named group of rules, compiled in definition order under its documentation as a comment.
An explicitly owned libghostty-vt terminal.
Multiplication and scalar scaling.
(screen column row)Addition over compatible quantities.
(screen column row)(screen column row)(screen column row)(screen column row)Return the effective foreground and background #xRRGGBB of one cell. Inverse video and the cursor cell swap the two; the second value is NIL when the cell paints no background of its own.
Test whether one compatible scalar is at least another.
Logical conjunction of tests and raw truth values.
Test whether two compatible scalars are equal.
Logical negation of one test or raw truth value.
(screen)(pointer)(state data)(result operation)(state data)(state data)(cells data)(cells screen row style codepoints)Test whether one compatible scalar is less than another.
(terminal)
Styled screen snapshots through libghostty-vt's render-state API.
terminal-textgives plain trimmed text.terminal-screengives one dense per-cell snapshot: the base character, resolved foreground/background colours, bold/inverse flags, the default palette colours, and the cursor.