mirror of
https://github.com/ghostty-org/ghostty.git
synced 2026-07-12 04:09:40 +00:00
#13182 Replace the OSC 52-specific kind and encoded payload callback with an atomic clipboard write containing a normalized destination and decoded MIME representations. This keeps protocol details out of embedders and lets iTerm2 Copy use the same semantic path. Represent clears with an empty content list, preserve binary payloads, and return a generic result for protocols that acknowledge writes. Add the C ABI descriptors, layout metadata, and effects example so future multipart protocols can reuse the callback without another API break.
Example: ghostty-vt Terminal Effects
This contains a simple example of how to register and use terminal
effect callbacks (write_pty, bell, title_changed, and
clipboard_write) with the
ghostty-vt C library.
The clipboard effect receives one atomic write with decoded, binary-safe MIME representations rather than protocol-specific OSC 52 data.
This uses a build.zig and Zig to build the C program so that we
can reuse a lot of our build logic and depend directly on our source
tree, but Ghostty emits a standard C library that can be used with any
C tooling.
Usage
Run the program:
zig build run