What does HackerNews think of libsixel?

A SIXEL encoder/decoder implementation derived from kmiya's sixel (https://github.com/saitoha/sixel).

Language: C

Library you can use to generate these images:

https://github.com/saitoha/libsixel

Plenty of links to other projects.

Sixels is a paletted bitmap format, and (AFAIK) some terminals support more than 256 colors (e.g. see the screenshot in the readme here: https://github.com/saitoha/libsixel). But I guess the Wikipedia logo looks just fine with 256 colors.
Not sure of Terminal emulator capabilities on Apple devices, but thanks to the Sixel standard [1] and a recent implementation in the form of libsixel [2], several applications, including emacs very much support image output in terminals.

[1] https://en.wikipedia.org/wiki/Sixel

[2] https://github.com/saitoha/libsixel

> SIXEL is one of image formats for printer and terminal imaging introduced by Digital Equipment Corp. (DEC). Its data scheme is represented as a terminal-friendly escape sequence. So if you want to view a SIXEL image file, all you have to do is "cat" it to your terminal

https://github.com/saitoha/libsixel

https://vt100.net/docs/vt3xx-gp/chapter14.html#T14-1

Am I reading this incorrectly? It seems I was wrong, it supports 8-bit color, not 6-bit color. But that's still terrible, and every Sixel implementation I've ever used has spit out dithered images. The only terminal that is able to display full color images for me is iTerm, using the iTerm escape sequences, which are different escape sequences from sixel. So again, please help out with fixing this for me if you know how. Because so far you have not adequately explained what is going on here, or corrected any misconceptions, or helped to fix anything that is wrong with these terminals. And even the various libsixel examples seems to show dithering: https://github.com/saitoha/libsixel

If I'm confused then you could be in a great position to help me out, so please explain what apparently myself and the libsixel authors are both doing wrong. Then maybe at some point in the future I could help you out and return the favor.

And there are also other problems with the iterm escape sequences that I suspect will prevent you from correctly implementing them in tmux (see here: https://gitlab.com/gnachman/iterm2/-/issues/3898). So all paths point towards needing to make some new protocol for this. You may be in the best position to do that too.

>Intel macs can run Windows natively. You've also got your pick of emulators, from parallels to vmware, if you roll that way.

I'm not going to dual boot Windows or use a VM just to use a terminal emulator for a couple minutes, sorry. If you could just explain what that terminal does that's special so that it could be implemented in other terminals, or show a video, that would help.

>What you've written makes about as much sense as saying a drawing program should stop trying to support BMP format since it will have to be replaced down the line by JPG or PNG. gimp, paint and others support many formats. Nobody is complaining. People just click on open. They don't care about the underlying formats.

If GIMP was attempting to pressure other projects to output BMP files then yes, that would be a problem. I suspect other projects wouldn't go for that just because they asked.

If you liked the tektronix emulation, also have a look at sixel graphics [1], which also work in an xterm. Helpful if you are logged in via ssh without X forwarding, and need some graphics...

[1] https://github.com/saitoha/libsixel

You don’t need to. Most terminals already support graphics.

https://github.com/saitoha/libsixel

Not the same principle, but in case you hadn't heard of sixel (https://github.com/saitoha/libsixel), there's sixelplot (https://github.com/kktk-KO/sixelplot)
xterm also has sixels, which give reasonably high-resolution color graphics in normal VT340 mode.

https://github.com/saitoha/libsixel

By high-resolution I mean you can display JPEGs using sixels. You can run OpenGL programs using sixels.

It's a VT extension called sixels[1], and requires terminal emulator support.

[1]: https://github.com/saitoha/libsixel

It's pretty incredible that this is a bash script that outputs sixel graphics, and it in no way makes use of libsixel[0].

[0] https://github.com/saitoha/libsixel

Libsixel is also pretty sweet. You can even integrate it with sdl and all kinds of crazy shit.

https://github.com/saitoha/libsixel/

> I actually like eshell because I can "cat someImage.png" and it will literally inline the image for me on the terminal.[1] I don't think this is limited to eshell, either. I just don't know how to do it in other terminals.

xterm supports sixels, which do real graphics:

https://github.com/saitoha/libsixel

The img2sixel program does what you want in terms of catting an image to the screen and having it show up correctly.

(Scroll down on that page to get to the per-terminal documentation.)

xterm supports Sixels, and I'd be surprised if it were the only one.

And this library enables things like video and X11 using Sixel, plus it has a list of terminals which support Sixels in the README: https://github.com/saitoha/libsixel