Remix.run Logo
embedding-shape 3 days ago

> Now if the Kitty image protocol is so great and the Sixel stuff is so bad, why is it only used in Kitty and Ghostty?

Images as in "pictures" or is that something else? I'm using Alacritty, and I don't think I've once thought "I need to see this image inside the terminal" and I do deal with images and frames from videos a lot. Probably if I saw it being added to Alacritty I'd think it was adding unnecessary bloat, so I wouldn't be surprised not every terminal is rushing to implement it.

Or I completely misunderstand what you're talking about.

ziotom78 3 days ago | parent | next [-]

I run Kitty and use this feature regularly. Most of the time, I rely on it within Yazi [1], a TUI file manager, but I can also display plots within the Julia REPL, thanks to the KittyTerminalImages.jl package [2]. It's even more crucial when I'm navigating a remote directory and need to check an image file, as I usually have timg [3] installed on those servers. Once you discover how valuable this is, it becomes a permanent part of your workflow.

[1] https://yazi-rs.github.io/

[2] https://github.com/simonschoelly/KittyTerminalImages.jl

[3] https://github.com/hzeller/timg

leephillips 3 days ago | parent [-]

Definitely. I use KittyTerminalImages.jl often, and also the image.nvim plugin for embedding images into a Markdown or other buffer in Neovim: https://github.com/3rd/image.nvim

xp84 3 days ago | parent | prev | next [-]

I have to say, (caveat, I have not tried any of these yet) that I am intrigued by all these features like graphics being added to terminals. It feel like exploring an alternate timeline 1990s where the GUI “lost” — of course in the absence of a successful Windows and Macintosh, terminals would have naturally gained these graphical abilities 30 years ago.

wrs 3 days ago | parent [-]

That alternate timeline started in 1982 with the Blit terminal. [0] It was a GUI made of overlapping terminals that had a serial graphics protocol.

[0] https://www.osnews.com/story/26315/blit-a-multitasking-windo...

setopt 3 days ago | parent | prev | next [-]

It’s pretty nice to ssh into a remote host and plot some data there without needing either X forwarding, or dumping to files and rsync’ing, or similar workarounds.

porridgeraisin 3 days ago | parent | prev | next [-]

Yes, pictures. It's quite useful. Opening images on remotes for one. Viewing plots arbitrary python scripts create for another.

Off the top of my head.

the_gipsy 3 days ago | parent | prev | next [-]

The alacritty maintainers reject any image protocols as unnecessary. I am fond of images in terminals, but I gotta say that I respect their decision, very good call. Not every terminal emulator should do the same.

embedding-shape 3 days ago | parent [-]

I didn't know, but I'm happy to hear we seemingly are aligned regardless :) Thanks for the additional context!

trenchpilgrim 3 days ago | parent | prev | next [-]

Viewing an image in a terminal can be really handy for debugging ML systems that use images or bitmaps. You can also paste images directly into claude code as context.

Once while working on a daemon that did both ML and DSP on live audio I added the ability to play sounds and display spectrographs of in-memory audio data at various points of the internal pipeline to debug an issue that would have been difficult otherwise. Way quicker than dumping WAV files to view externally.

lloeki 3 days ago | parent | prev | next [-]

I'm not particularly fond of displaying images on the terminal in ways that would resemble a GUI.

That said, augmenting a shell-based workflow with tidbits such as this had me sold:

https://xcancel.com/thingskatedid/status/1316074032379248640...

https://xcancel.com/thingskatedid/status/1316075850580652032...

To achieve that, either Sixel or Kitty protocol is fine. IIRC Sixel works over SSH without any fuss, dunno about Kitty.

cb321 3 days ago | parent [-]

I can confirm that I just do it over ssh fine all the time -- gnuplot, img2sixel as an "image-cat", etc. (`st` with patches to add sixel support as discussed in various places in these comments.)

alwillis 3 days ago | parent | prev | next [-]

I’ve found it useful, when paired with a terminal file manager, to preview graphics in the terminal.

bee_rider 3 days ago | parent | prev | next [-]

It would be nice if matplotlib or Octave could display pretty plots and figures on a remote server, in the terminal.

mikkupikku 3 days ago | parent | prev [-]

Images in a terminal emulator is neat for stuff like `ranger`