Skip to content

TerminalSession

TEvent = unknown

get alternateScreen(): boolean

boolean


get appearance(): TerminalAppearance

TerminalAppearance


get cursor(): TerminalCursorSnapshot

TerminalCursorSnapshot


get focused(): boolean

boolean


get focusReportingEnabled(): boolean

boolean


get grid(): TerminalGrid

TerminalGrid


get mouseTracking(): boolean

boolean


get renderState(): RenderStateSource

RenderStateSource


get revision(): number

number


get runtime(): GhosttyRuntime

GhosttyRuntime


get scrollbackLength(): number

number


get scrollbar(): Readonly<TerminalScrollbar>

Readonly<TerminalScrollbar>


get viewportActive(): boolean

boolean

activateLink(resolution, event): Promise<boolean>

LinkResolution<TEvent>

TEvent

Promise<boolean>


cancelSelection(): boolean

boolean


clear(): TerminalMutationResult

TerminalMutationResult


clearSelection(): boolean

boolean


dispose(): void

void


geometry(): TerminalGeometry

TerminalGeometry


getSelection(options?): string | undefined

TerminalSelectionFormatOptions

string | undefined


isLinkCurrent(resolution): boolean

LinkResolution<TEvent>

boolean


isPasteSafe(data): boolean

TerminalInputData

boolean


key(input, options?): TerminalInputResult

TerminalKeyInput

TerminalSessionKeyOptions

TerminalInputResult


lineCount(): number

number


measure(text): number

string

number


measureTexts(texts): TerminalTextMeasurement

Plain printing text only; VT controls go through writeAndReadGeometry.

readonly string[]

TerminalTextMeasurement


mouse(input): TerminalInputResult

TerminalMouseInput

TerminalInputResult


on<TType>(type, listener): TerminalSessionSubscription

TType extends keyof TerminalSessionEventMap

TType

TerminalSessionListener<TType>

TerminalSessionSubscription


paste(data, options?): TerminalInputResult

TerminalInputData

TerminalSessionPasteOptions

TerminalInputResult


readLines(start, end, options?): readonly TerminalLine[]

number

number

ReadLinesOptions

readonly TerminalLine[]


registerLinkProvider(provider): LinkProviderRegistration

LinkProvider<TEvent>

LinkProviderRegistration


reportFocus(): TerminalInputResult

TerminalInputResult


reset(): TerminalMutationResult

TerminalMutationResult


resetMouseTracking(): void

void


resetSelectionGesture(): void

void


resize(grid): TerminalMutationResult

Partial<TerminalGrid>

TerminalMutationResult


resolveLink(request, isRequestCurrent?): Promise<LinkResolution<TEvent>>

TerminalLinkRequest

() => boolean

Promise<LinkResolution<TEvent>>


resolveLinkDiscovery(request, getProjection): NativeLinkDiscoverySnapshot | undefined

NativeLinkDiscoveryRequest

() => LinkProjection | undefined

NativeLinkDiscoverySnapshot | undefined


resolveLinkSnapshot(request, getProjection): NativeLinkSnapshot | undefined

NativeLinkRequest

() => LinkProjection | undefined

NativeLinkSnapshot | undefined


scrollBy(delta): TerminalMutationResult

number

TerminalMutationResult


scrollToBottom(): TerminalMutationResult

TerminalMutationResult


scrollToRow(row): TerminalMutationResult

number

TerminalMutationResult


scrollToTop(): TerminalMutationResult

TerminalMutationResult


selectAll(): SelectionGestureUpdate

SelectionGestureUpdate


selectionAutoscrollTick(input): SelectionGestureUpdate

TerminalSelectionDragInput

SelectionGestureUpdate


selectionCoordinates(): SelectionCoordinates | undefined

SelectionCoordinates | undefined


selectionDrag(input): SelectionGestureUpdate

TerminalSelectionDragInput

SelectionGestureUpdate


selectionPress(input): SelectionGestureUpdate

TerminalSelectionPressInput

SelectionGestureUpdate


selectionRelease(input?): SelectionGestureRelease

Readonly<SelectionPoint>

SelectionGestureRelease


selectLines(startRow, endRow): SelectionGestureUpdate

number

number

SelectionGestureUpdate


selectRange(start, end): SelectionGestureUpdate

SelectionPoint

SelectionPoint

SelectionGestureUpdate


sendInput(data, options?): TerminalInputResult

TerminalInputData

TerminalSessionSendInputOptions

TerminalInputResult


setAppearance(options): TerminalMutationResult

TerminalAppearanceOptions

TerminalMutationResult


setClipboardWritePolicy(policy?): void

TerminalClipboardWritePolicy

void


setColorScheme(colorScheme): TerminalMutationResult

TerminalColorScheme

TerminalMutationResult


setCursor(cursor): TerminalMutationResult

Partial<TerminalCursorSettings>

TerminalMutationResult


setFocused(focused): TerminalInputResult

boolean

TerminalInputResult


setFont(font): TerminalMutationResult

Partial<TerminalFontSettings>

TerminalMutationResult


setScrollbackByteLimit(scrollbackByteLimit?): TerminalMutationResult

Undefined removes the byte budget. Zero erases history and disables further scrollback.

number

TerminalMutationResult


setScrollbackLimit(scrollbackLimit?): TerminalMutationResult

Sets the native page-granular row budget. Read scrollbackLength for actual retention.

number

TerminalMutationResult


setSelectionWordBoundaryCodepoints(value): boolean

string

boolean


setTheme(theme): TerminalMutationResult

TerminalTheme

TerminalMutationResult


subscribeCustomOsc(number): TerminalCustomOscSubscription

number

TerminalCustomOscSubscription


write(data): TerminalMutationResult

TerminalInputData

TerminalMutationResult


writeAndReadGeometry(data): TerminalGeometry

TerminalInputData

TerminalGeometry


writeln(data): TerminalMutationResult

TerminalInputData

TerminalMutationResult


static create<TEvent>(options?): Promise<TerminalSession<TEvent>>

TEvent = unknown

TerminalSessionOptions<TEvent>

Promise<TerminalSession<TEvent>>