Skip to content

TerminalApi

Host operations keep their return convention across execution actors.

Mode extends "sync" | "async" = "sync" | "async"

readonly appearance: TerminalAppearance


readonly canvas: HTMLCanvasElement | undefined


readonly diagnostics: GhosttyWebGpuTerminalDiagnostics


readonly element: HTMLDivElement | undefined


readonly hasPendingFrame: boolean


readonly hasPendingLinkResolution: boolean


readonly hasPendingTimer: boolean


readonly inputModes: TerminalInputModes


readonly lifecycle: GhosttyWebGpuTerminalLifecycle


readonly submittedFrame: TerminalSubmittedFrame | undefined


readonly textarea: HTMLTextAreaElement | undefined

blur(): void

void


captureViewport(): TerminalResult<Mode, string | undefined>

TerminalResult<Mode, string | undefined>


clearSelection(): TerminalResult<Mode, boolean>

TerminalResult<Mode, boolean>


clearTextureAtlas(): TerminalResult<Mode, void>

TerminalResult<Mode, void>


connectInput(handler): TerminalResult<Mode, TerminalInputConnection>

TerminalInputHandler

TerminalResult<Mode, TerminalInputConnection>


dispose(): TerminalResult<Mode, void>

TerminalResult<Mode, void>


focus(): void

void


focusNextLink(): Promise<boolean>

Promise<boolean>


frameSnapshot(): TerminalResult<Mode, RendererFrameSnapshot | undefined>

TerminalResult<Mode, RendererFrameSnapshot | undefined>


geometry(): TerminalResult<Mode, TerminalGeometry>

TerminalResult<Mode, TerminalGeometry>


getSelection(options?): TerminalResult<Mode, string | undefined>

TerminalSelectionFormatOptions

TerminalResult<Mode, string | undefined>


key(input): TerminalResult<Mode, TerminalInputResult>

TerminalKeyInput

TerminalResult<Mode, TerminalInputResult>


lineCount(): TerminalResult<Mode, number>

TerminalResult<Mode, number>


measure(text): TerminalResult<Mode, number>

string

TerminalResult<Mode, number>


measureTexts(texts): TerminalResult<Mode, TerminalTextMeasurement>

readonly string[]

TerminalResult<Mode, TerminalTextMeasurement>


on<Type>(type, listener): EventSubscription

Type extends keyof GhosttyWebGpuTerminalEventMap

Type

GhosttyWebGpuTerminalListener<Type>

EventSubscription


onData(listener): EventSubscription

GhosttyWebGpuTerminalListener<"data">

EventSubscription


onFrame(listener): EventSubscription

GhosttyWebGpuTerminalListener<"frame">

EventSubscription


onResize(listener): EventSubscription

GhosttyWebGpuTerminalListener<"resize">

EventSubscription


onText(listener): EventSubscription

(text) => void

EventSubscription


open(parent): Promise<void>

HTMLElement

Promise<void>


paste(data): TerminalResult<Mode, TerminalInputResult>

TerminalInputData

TerminalResult<Mode, TerminalInputResult>


readLines(start, end, options?): TerminalResult<Mode, readonly TerminalLine[]>

number

number

ReadLinesOptions

TerminalResult<Mode, readonly TerminalLine[]>


refresh(startRow, endRow): TerminalResult<Mode, void>

number

number

TerminalResult<Mode, void>


registerLinkProvider(provider): LinkProviderRegistration

LinkProvider<Event>

LinkProviderRegistration


reset(): TerminalResult<Mode, TerminalMutationResult>

TerminalResult<Mode, TerminalMutationResult>


scrollBy(delta): TerminalResult<Mode, TerminalMutationResult>

number

TerminalResult<Mode, TerminalMutationResult>


scrollToBottom(): TerminalResult<Mode, TerminalMutationResult>

TerminalResult<Mode, TerminalMutationResult>


scrollToRow(row): TerminalResult<Mode, TerminalMutationResult>

number

TerminalResult<Mode, TerminalMutationResult>


scrollToTop(): TerminalResult<Mode, TerminalMutationResult>

TerminalResult<Mode, TerminalMutationResult>


selectAll(): TerminalResult<Mode, boolean>

TerminalResult<Mode, boolean>


selectionCoordinates(): TerminalResult<Mode, Readonly<SelectionCoordinates> | undefined>

TerminalResult<Mode, Readonly<SelectionCoordinates> | undefined>


selectLines(startRow, endRow): TerminalResult<Mode, boolean>

number

number

TerminalResult<Mode, boolean>


selectRange(start, end): TerminalResult<Mode, boolean>

SelectionPoint

SelectionPoint

TerminalResult<Mode, boolean>


sendGeneratedInput(input): TerminalResult<Mode, TerminalInputResult>

TerminalGeneratedInput

TerminalResult<Mode, TerminalInputResult>


sendInput(data): TerminalResult<Mode, TerminalInputResult>

TerminalInputData

TerminalResult<Mode, TerminalInputResult>


setAccessibilityEnabled(enabled): boolean

boolean

boolean


setAppearance(options): TerminalResult<Mode, TerminalMutationResult>

TerminalAppearanceOptions

TerminalResult<Mode, TerminalMutationResult>


setColorScheme(colorScheme): TerminalResult<Mode, TerminalMutationResult>

TerminalColorScheme

TerminalResult<Mode, TerminalMutationResult>


setCursor(cursor): TerminalResult<Mode, TerminalMutationResult>

Partial<TerminalCursorSettings>

TerminalResult<Mode, TerminalMutationResult>


setCursorInactiveStyle(style): TerminalResult<Mode, boolean>

InactiveCursorStyle | undefined

TerminalResult<Mode, boolean>


setFont(font): TerminalResult<Mode, TerminalMutationResult>

Partial<TerminalFontSettings>

TerminalResult<Mode, TerminalMutationResult>


setTheme(theme): TerminalResult<Mode, TerminalMutationResult>

TerminalTheme

TerminalResult<Mode, TerminalMutationResult>


use<Api>(extension): TerminalResult<Mode, ExtensionHandle<Api>>

Api = void

Extension<Api>

TerminalResult<Mode, ExtensionHandle<Api>>


visibleLines(): readonly string[]

readonly string[]


write(data): TerminalResult<Mode, TerminalMutationResult>

TerminalInputData

TerminalResult<Mode, TerminalMutationResult>


writeAndReadGeometry(data): TerminalResult<Mode, TerminalGeometry>

TerminalInputData

TerminalResult<Mode, TerminalGeometry>


writeln(data): TerminalResult<Mode, TerminalMutationResult>

TerminalInputData

TerminalResult<Mode, TerminalMutationResult>