mirror-ghostty/example
Mitchell Hashimoto 945920a186
vt: expose terminal default colors via C API
Add set/get support for foreground, background, cursor, and palette
default colors through ghostty_terminal_set and ghostty_terminal_get.

Four new set options (COLOR_FOREGROUND, COLOR_BACKGROUND, COLOR_CURSOR,
COLOR_PALETTE) write directly to the terminal color defaults. Passing
NULL clears the value for RGB colors or resets the palette to the
built-in default. All set operations mark the palette dirty flag for
the renderer.

Eight new get data types retrieve either the effective color (override
or default, via DynamicRGB.get) or the default color only (ignoring
any OSC overrides). Effective getters for RGB colors return the new
NO_VALUE result code when no color is configured. The palette getters
return the current or original palette respectively.

Adds the GHOSTTY_NO_VALUE result code for cases where a queried value
is simply not configured, distinct from GHOSTTY_INVALID_VALUE which
indicates a caller error.
2026-03-26 09:51:30 -07:00
..
c-vt update a bunch of required Zig versions to 0.15 2025-10-03 07:10:44 -07:00
c-vt-build-info vt: add ghostty_build_info API for querying build configuration 2026-03-21 07:22:18 -07:00
c-vt-cmake libghostty: add ghostty_free for cross-runtime memory safety 2026-03-23 20:52:02 +01:00
c-vt-cmake-static libghostty: add ghostty_free for cross-runtime memory safety 2026-03-23 20:52:02 +01:00
c-vt-colors vt: expose terminal default colors via C API 2026-03-26 09:51:30 -07:00
c-vt-effects vt: pass pointer options directly to terminal_set 2026-03-24 13:52:49 -07:00
c-vt-encode-focus docs: extract focus encoding example into standalone project 2026-03-17 16:48:48 -07:00
c-vt-encode-key example: rename some examples 2026-03-17 17:39:26 -07:00
c-vt-encode-mouse example: rename some examples 2026-03-17 17:39:26 -07:00
c-vt-formatter libghostty: add ghostty_free for cross-runtime memory safety 2026-03-23 20:52:02 +01:00
c-vt-grid-traverse example: add grid reference traversal example 2026-03-19 19:55:02 -07:00
c-vt-modes docs: extract inline code examples into standalone projects 2026-03-17 17:03:58 -07:00
c-vt-paste docs: extract inline code examples into standalone projects 2026-03-17 17:03:58 -07:00
c-vt-render vt: fix render state cell style and graphemes_buf APIs 2026-03-20 09:24:31 -07:00
c-vt-sgr docs: extract inline code examples into standalone projects 2026-03-17 17:03:58 -07:00
c-vt-size-report docs: extract inline code examples into standalone projects 2026-03-17 17:03:58 -07:00
c-vt-static build: add static library target for libghostty-vt 2026-03-21 15:01:53 -07:00
wasm-key-encode build: replace lib-vt step with -Demit-lib-vt option 2026-03-21 07:03:06 -07:00
wasm-sgr build: replace lib-vt step with -Demit-lib-vt option 2026-03-21 07:03:06 -07:00
zig-formatter terminal: make stream processing infallible 2026-03-13 13:56:14 -07:00
zig-vt update a bunch of required Zig versions to 0.15 2025-10-03 07:10:44 -07:00
zig-vt-stream terminal: make stream processing infallible 2026-03-13 13:56:14 -07:00
.gitignore build: add CMake support for libghostty-vt 2026-03-20 10:42:42 -07:00
AGENTS.md Add example AGENTS file 2026-03-17 17:13:08 -07:00
README.md example: add README 2026-03-17 17:37:20 -07:00

README.md

Examples

Standalone projects demonstrating the Ghostty library APIs. The directories starting with c- use the C API and the directories starting with zig- use the Zig API.

Every example can be built and run using zig build and zig build run from within the respective example directory. Even the C API examples use the Zig build system (not the language) to build the project.

Running an Example

cd example/<dir>
zig build run