Skip to content

Kitty graphics protocol load and display doesn't replace existing image with provided ID #6711

Open
@pluiedev

Description

@pluiedev

Discussed in #6680

Originally posted by chase March 12, 2025
Currently, from what I can tell, Ghostty will ignore the ID and allocate a new image ID instead of setting the image with that ID.

This part of the protocol is easy to miss because it's in a side note for the querying support section:

Sometimes, using an id is not appropriate, for example, if you do not want to replace a previously sent image with the same id, or if you are sending a dummy image and do not want it stored by the terminal emulator. In that case, you can use the query action, set a=q. Then the terminal emulator will try to load the image and respond with either OK or an error, as above, but it will not replace an existing image with the same id, nor will it store the image.

Or simply put, the logical opposite is: for transmission and display, it will replace an existing image with the same ID and store it.

This should make simple animation possible.

Metadata

Metadata

Assignees

No one assigned

    Labels

    vtControl sequence related

    Type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions