Skip to content

Implement Kitty graphics protocol animation pause, load frame, and composite frame #6709

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Open
pluiedev opened this issue Mar 14, 2025 · 0 comments
Labels
vt Control sequence related

Comments

@pluiedev
Copy link
Member

Discussed in #6681

Originally posted by chase March 12, 2025
Rather than implementing the full protocol (worrying about timings and such), having client controlled animation should make this much simpler to implement. Skipping blending and only allowing C=1 (no blending, just replace the destination area with the source) would be even simpler.

Animation pause would be a no-op for now, since animation isn't supported for non-controlled, but won't return an error.

Animation load frame needs to load a texture which is equal-to-or-smaller than the image it is added to, cropping the source as necessary.

Composite frame needs to take a loaded frame and the source image, compositing the loaded frame over the original texture at the provided coordinates, then display.

I'm considering taking a crack at this myself, but I know neither Zig nor the codebase, so there may be someone who is better fitted for this.

My motivation is caused by a lot of Ghostty users expecting my project to work, despite not the fact the protocol is only partially implemented: chase/awrit#62

@pluiedev pluiedev added the vt Control sequence related label Mar 14, 2025
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
vt Control sequence related
Projects
None yet
Development

No branches or pull requests

1 participant