You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
The scrollbackLimit config option is documented and typed as a line count, but the WASM terminal internally interprets it as a byte count. This mismatch means the actual scrollback capacity is drastically smaller than expected.
Details
JS side (lib/types.ts):
exportinterfaceTerminalConfig{scrollback_limit: number;// Number of scrollback lines (default: 10,000)// ...}
The GhosttyTerminalConfig.scrollbackLimit field and Terminal constructor's scrollback option both treat this as a line count. The default is 10000, suggesting 10,000 lines of scrollback.
WASM side: Terminal.init() / Screen.init() interprets max_scrollback as bytes. 10,000 bytes is only enough for a handful of rows depending on column width and cell size, not 10,000 lines.
Impact
Users setting scrollback: 10000 (the default) get far less scrollback than expected
Description
The
scrollbackLimitconfig option is documented and typed as a line count, but the WASM terminal internally interprets it as a byte count. This mismatch means the actual scrollback capacity is drastically smaller than expected.Details
JS side (
lib/types.ts):And in
lib/ghostty.ts:The
GhosttyTerminalConfig.scrollbackLimitfield andTerminalconstructor'sscrollbackoption both treat this as a line count. The default is10000, suggesting 10,000 lines of scrollback.WASM side:
Terminal.init()/Screen.init()interpretsmax_scrollbackas bytes. 10,000 bytes is only enough for a handful of rows depending on column width and cell size, not 10,000 lines.Impact
scrollback: 10000(the default) get far less scrollback than expected5_000_000) to approximate a reasonable scrollback depthExpected behavior
Either:
lines * cols * CELL_SIZE), orRelated