mirror of
https://github.com/ghostty-org/ghostty.git
synced 2026-07-11 11:49:40 +00:00
Scrollback compression scheduling was only available to Zig callers that used Terminal directly, leaving C embedders unable to drive the same idle compression policy. Define ABI-aware mode and result enums on Terminal and export activity and compression operations through the C API. Keep scheduling caller-owned, validate C inputs, and document the incremental contract with a complete example. Report unsupported reclamation consistently for full passes so callers can disable compression on targets that cannot retain decommitted mappings.
Example: Scrollback Compression in C
This example shows how a libghostty-vt embedding application can track compression-relevant terminal activity and perform incremental scrollback compression after its own idle delay.
libghostty-vt does not create a timer or background thread. The embedding application remains responsible for scheduling compression and serializing it with other access to the terminal.
Usage
Run the example:
zig build run