elementary / terminal

Terminal emulator designed for elementary OS
https://elementary.io
GNU Lesser General Public License v3.0
399 stars 96 forks source link

Add SIXEL support #717

Open davidak opened 1 year ago

davidak commented 1 year ago

Problem

The SIXEL format allows the terminal to display bitmap graphics. See https://en.wikipedia.org/wiki/Sixel for more information.

Some programs use it, like Kitten: https://mastodon.ar.al/@aral/110117697614227266

I tested if it works and it seem not.

[davidak@gaming:~]$ snow run lsix
Error: Your terminal does not report having sixel graphics support.

Please use a sixel capable terminal, such as xterm -ti vt340, or
ask your terminal manufacturer to add sixel support.

You may test your terminal by viewing a single image, like so:

convert  foo.jpg  -geometry 800x480  sixel:-

If your terminal actually does support sixel, please file a bug
report at http://github.com/hackerb9/lsix/issues

Please mention device attribute codes: ^[[?65;1;9c

[davidak@gaming:~]$ snow run imagemagick -- convert '/home/davidak/Downloads/fdce9e0c0e9ef948.jpg' -geometry 800x480 sixel:-

Proposal

It might be a nice feature for some people. I do not miss it tho.

When done, add an entry to https://www.arewesixelyet.com/, so people know.

Upstream issues for vte:

https://gitlab.gnome.org/GNOME/vte/-/issues/2084 https://gitlab.gnome.org/GNOME/vte/-/issues/253

So you can just wait for upstream to implement it or help them.

Prior Art (Optional)

See https://www.arewesixelyet.com/

Some terminals with support:

https://github.com/contour-terminal/contour/issues/116 https://codeberg.org/dnkl/foot/releases/tag/1.2.0