Repository navigation
Disable kitty graphics in terminal frames - #751
Merged
Merged
Conversation
A TTY frame cannot show images, but libghostty still answered the kitty graphics probe, so timg, icat and similar tools sent images into a void instead of using their own text fallback. Pass a zero storage limit when the buffer's frame is a text terminal. The daemon's dummy initial frame is exempt, since a buffer created there may be shown in a graphical frame later. Related to #533.
This branch was successfully deployed
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
In
emacs -nwghostel never renders images: both display callbacks skip non-graphic frames. But libghostty still answered the kitty graphics probe withOK, so timg,kitten icat, broot and friends sent images into a void instead of using their own text fallback. That is the "not even a chafa-style fallback" in #533.libghostty treats the protocol as unsupported, including staying silent on probes, only when the storage limit is 0. This passes 0 at terminal creation when the buffer's frame is a text terminal. The daemon's dummy initial frame is exempt: a buffer created there (desktop restore,
emacsclient -e) may be shown in a graphical frame later, and disabling it would regress that case.Verified live:
emacs -nw, kitty probe from a shell in ghostelOKemacsclient -tframeghostel-createKnown gap, inherent to deciding at creation: a buffer created in a GUI frame or a frameless daemon and later viewed only from
emacsclient -tstill advertises the protocol. libghostty has a runtime setter for the limit, so a display-time switch is possible as a follow-up.Related to #533.