Class: VtScreen
@termwright/driver/experimental
@termwright/driver/experimental / VtScreen
Class: VtScreen
Section titled “Class: VtScreen”Defined in: vt.ts:160
A headless terminal with a serialized write queue and a monotonically increasing screen revision. One instance per session.
Constructors
Section titled “Constructors”Constructor
Section titled “Constructor”new VtScreen(
options):VtScreen
Defined in: vt.ts:206
Parameters
Section titled “Parameters”options
Section titled “options”VtOptions
Returns
Section titled “Returns”VtScreen
Properties
Section titled “Properties”profile
Section titled “profile”
readonlyprofile:TerminalProfile
Defined in: vt.ts:163
The profile this emulator counts characters with.
terminal
Section titled “terminal”
readonlyterminal:Terminal
Defined in: vt.ts:161
Accessors
Section titled “Accessors”columns
Section titled “columns”Get Signature
Section titled “Get Signature”get columns():
number
Defined in: vt.ts:261
Returns
Section titled “Returns”number
hasPendingWrite
Section titled “hasPendingWrite”Get Signature
Section titled “Get Signature”get hasPendingWrite():
boolean
Defined in: vt.ts:242
True from enqueue until the callback of the final queued VT write.
Returns
Section titled “Returns”boolean
isCaughtUp
Section titled “isCaughtUp”Get Signature
Section titled “Get Signature”get isCaughtUp():
boolean
Defined in: vt.ts:247
Whether every VT write enqueued so far has reached its parse callback.
Returns
Section titled “Returns”boolean
retainedFloor
Section titled “retainedFloor”Get Signature
Section titled “Get Signature”get retainedFloor():
number
Defined in: vt.ts:257
Number of scrollback lines evicted since the session started.
Returns
Section titled “Returns”number
revision
Section titled “revision”Get Signature
Section titled “Get Signature”get revision():
number
Defined in: vt.ts:237
Current screen revision; incremented once per observable VT state change.
Returns
Section titled “Returns”number
Get Signature
Section titled “Get Signature”get rows():
number
Defined in: vt.ts:265
Returns
Section titled “Returns”number
Get Signature
Section titled “Get Signature”get title():
string
Defined in: vt.ts:252
Window title as last set by OSC 0/2.
Returns
Section titled “Returns”string
Methods
Section titled “Methods”activeBuffer()
Section titled “activeBuffer()”activeBuffer():
"normal"|"alternate"
Defined in: vt.ts:372
Which xterm buffer currently backs the visible viewport.
Returns
Section titled “Returns”"normal" | "alternate"
allLines()
Section titled “allLines()”allLines():
string[]
Defined in: vt.ts:315
Every retained line, scrollback first, as text.
Returns
Section titled “Returns”string[]
cursor()
Section titled “cursor()”cursor():
CursorInfo
Defined in: vt.ts:361
Cursor position (viewport-relative), visibility and shape.
Returns
Section titled “Returns”CursorInfo
dispose()
Section titled “dispose()”dispose():
void
Defined in: vt.ts:471
Returns
Section titled “Returns”void
drain()
Section titled “drain()”drain():
Promise<void>
Defined in: vt.ts:310
Resolves once every write issued so far has been parsed. A child’s dying output — a stack trace, a panic — is usually still in flight when the pty reports the exit, so anything that reads the screen at that moment must drain first or it reads a screen from before the crash.
Returns
Section titled “Returns”Promise<void>
modes()
Section titled “modes()”modes():
TerminalModes
Defined in: vt.ts:342
Input-relevant modes, merged from Terminal.modes and our own tracking.
Input modes read 'unknown' only when an embedding explicitly declares
them unobservable. Reporting a definite value in that case would be a
claim the transport cannot support, so mode-gated actions fail closed.
The pinned passthrough ConPTY carries the same DECSET stream as POSIX PTYs, including mouse, focus, bracketed-paste and alternate-screen modes.
Returns
Section titled “Returns”TerminalModes
onMarker()
Section titled “onMarker()”onMarker(
cb):Unsubscribe
Defined in: vt.ts:455
Parameters
Section titled “Parameters”(marker) => void
Returns
Section titled “Returns”Unsubscribe
onResponse()
Section titled “onResponse()”onResponse(
cb):Unsubscribe
Defined in: vt.ts:466
Receives terminal protocol replies which the session must return to the child.
Parameters
Section titled “Parameters”(response) => void
Returns
Section titled “Returns”Unsubscribe
onRevision()
Section titled “onRevision()”onRevision(
cb):Unsubscribe
Defined in: vt.ts:398
Parameters
Section titled “Parameters”(revision) => void
Returns
Section titled “Returns”Unsubscribe
onTitle()
Section titled “onTitle()”onTitle(
cb):Unsubscribe
Defined in: vt.ts:460
Parameters
Section titled “Parameters”(title) => void
Returns
Section titled “Returns”Unsubscribe
regionChangeSince()
Section titled “regionChangeSince()”regionChangeSince(
revision,spans):RegionChange
Defined in: vt.ts:427
Why a region is not usable at a past revision, or that it is.
The three answers call for different work and are indistinguishable from the boolean. A coordinate system that moved invalidates every region at once and says nothing about the target; cells that changed say the target itself is different; a span outside the grid is a caller error. A stale pointer that reports only “changed” sends the reader looking in the wrong place, which on Windows it has.
Parameters
Section titled “Parameters”revision
Section titled “revision”number
readonly object[]
Returns
Section titled “Returns”RegionChange
regionUnchangedSince()
Section titled “regionUnchangedSince()”regionUnchangedSince(
revision,spans):boolean
Defined in: vt.ts:410
Whether every cell in spans survived unchanged since revision.
Returns false when a resize/buffer/scroll changed the coordinate system.
This is the target-local counterpart of global
waitForQuiet(): an unrelated status bar may animate without invalidating
a button elsewhere on screen.
Parameters
Section titled “Parameters”revision
Section titled “revision”number
readonly object[]
Returns
Section titled “Returns”boolean
resize()
Section titled “resize()”resize(
columns,rows):void
Defined in: vt.ts:325
Resizes the emulator grid (the PTY is resized separately by the session).
Parameters
Section titled “Parameters”columns
Section titled “columns”number
number
Returns
Section titled “Returns”void
serializeAnsi()
Section titled “serializeAnsi()”serializeAnsi(
scrollback?):string
Defined in: vt.ts:389
ANSI serialization of the visible grid (addon-serialize).
Parameters
Section titled “Parameters”scrollback?
Section titled “scrollback?”number = 0
Returns
Section titled “Returns”string
serializeHtml()
Section titled “serializeHtml()”serializeHtml(
scrollback?):string
Defined in: vt.ts:394
HTML serialization of the visible grid (addon-serialize).
Parameters
Section titled “Parameters”scrollback?
Section titled “scrollback?”number = 0
Returns
Section titled “Returns”string
shellIntegration()
Section titled “shellIntegration()”shellIntegration():
ShellIntegration
Defined in: vt.ts:377
Prompt state as reported by OSC 133, if the program reports it at all.
Returns
Section titled “Returns”ShellIntegration
write()
Section titled “write()”write(
data):Promise<void>
Defined in: vt.ts:273
Feeds bytes to the emulator and resolves once they have been parsed and the resulting revision published. Writes are serialized in call order.
Parameters
Section titled “Parameters”string | Uint8Array<ArrayBufferLike>
Returns
Section titled “Returns”Promise<void>