Repository navigation
[idea] Draw pane images as text cells for clients that can't show Kitty graphics #5736
factory-ain3sh
started this conversation in
Ideas
Replies: 0 comments
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Uh oh!
There was an error while loading. Please reload this page.
Uh oh!
There was an error while loading. Please reload this page.
idea / problem
I run one Herdr session on my desktop and attach to it from Ghostty there and from my laptop over Mosh. A coding agent in one pane draws images with Kitty graphics Unicode placeholders. Herdr shows them in the Ghostty client. The Mosh client shows blank space where each image sits, because Mosh drops graphics escapes entirely (mobile-shell/mosh#1248, closed as not planned). Phone clients over Mosh, such as moshi, which the docs recommend, and outer terminals without Kitty graphics, such as Terminal.app (#5295) and Windows Terminal (#5250), hit the same wall.
The pane app can't fix this itself. One pane serves every attached client, so the app can only choose one output for all of them.
requested change
For a client whose outer terminal can't display Kitty graphics, draw pane images as colored text cells instead: for example upper-half blocks (
▀) with 24-bit foreground and background colors, two pixels per cell. Clients that can show images keep getting real images. Herdr already decodes every pane image and places it for each client, so it's the one place that can make this choice per client.why you want this
I check on agents from my laptop over Mosh, and screenshots, diagrams and generated images are part of what they produce. Right now I can't see any of it away from my desk. Half-block images are coarse, but they're enough to tell what an agent is showing. I confirmed that 24-bit half blocks pass through Mosh 1.4 byte for byte. Related: #4331 (Sixel for Sixel-only terminals), #5295, #5250.
update
I opened #5739 with an implementation. Each client asks its outer terminal whether it speaks Kitty graphics; ones that do keep getting pixels, and the rest get half-block cells. I tested it live with a Kitty-capable client, a DA1-only client, and a real Mosh 1.4.0 client attached to one session at once.
All reactions