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

Seems like sixel would be an excellent solution, thanks very much for that pointer.

However, I can always convert PDFs to images and go forward from there, I guess. It's not a bad workaround. The fbi image viewer is available for NetBSD's X Window system; not sure about the framebuffer port. https://www.kraxel.org/blog/linux/fbida/

EDIT: Apparently, NetBSD has lsix: https://ftp.netbsd.org/pub/pkgsrc/current/pkgsrc/graphics/ls...

"Like ls, but for images. Shows thumbnails in terminal using sixel graphics. /.../ Because lsix uses ImageMagick pretty much any image format will be supported. However, some may be slow to render (like PDF), so lsix doesn't show them unless you ask specifically."

On Linux, the green pdf reader for Linux apparently supports sixel: https://github.com/schandinat/green

Screenshot of green+sixel on NixOS: https://teddit.net/r/commandline/comments/4oldf5/view_pdfs_i...

Another Linux pdf reader with sixel: https://github.com/dsanson/termpdf

All in all, woah, lots of fascinating reading and links here -- since I was not much aware of sixel before: https://github.com/saitoha/libsixel

The sixel format itself seems to match really well with the NetBSD philosophy (among other things, keeping old hardware running via low-demanding, essentials-only software). Thanks again for that pointer.

> 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