Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Consider Sixel Support #11

Open
ghost opened this issue Jan 28, 2023 · 13 comments
Open

Consider Sixel Support #11

ghost opened this issue Jan 28, 2023 · 13 comments
Labels
enhancement New feature or request

Comments

@ghost
Copy link

ghost commented Jan 28, 2023

I think this is an amazing project! The only problem are images and some UI elements that need some rendering. I think sixel might be the best alternative, it's pretty lightweight and has support on a lot of terminals.

@fathyb fathyb added the enhancement New feature or request label Jan 29, 2023
@nbritton
Copy link

nbritton commented Feb 6, 2023

I came here to say exactly the same thing, this would actually be a very viable terminal based web browser if it had support for DEC's Sixel standard that they produced for the VT200 and VT300 series terminals in the 1980s, short for "six pixels", it is a bitmap graphics format supported by the industry standard VT220 terminal type. It should be trivial to add native sixel support into carbonyl using the work of the libsixel project. https://github.com/saitoha/libsixel

I don't have any time to help right now but I can really see the value of a Crome based terminal browser that has proper sixel support, especially in the world of infrastructure management where you can't typically access a GUI at the remote end to do things like launch a web browser within the local environment to work with stupid things like Jenkins CI/CD pipelines.

Technical References:
https://www.vt100.net/docs/vt3xx-gp/chapter14.html
https://www.digiater.nl/openvms/decus/vax90b1/krypton-nasa/all-about-sixels.text

$ brew install libsixel

sixel

@chrispollitt
Copy link

YES! That would be wonderful! Sixel is supported on all three major platforms:

  • Windows (mintty via Cygwin)
  • Linux (mlterm)
  • MacOS (iTerm2)

@ghost
Copy link
Author

ghost commented Feb 8, 2023

YES! That would be wonderful! Sixel is supported on all three major platforms:

  • Windows (mintty via Cygwin)
  • Linux (mlterm)
  • MacOS (iTerm2)

Also, there are a lot of alternatives, I use foot terminal for example. More supported terminals can be found here.

@nbritton
Copy link

nbritton commented Feb 8, 2023

I was under the impression that any terminal that is fully compliant with the DEC VT220 terminal standard has native support for Sixel. It's basically just some clever use of ANSI escape sequences from what I recall.

From Wikipedia:

image

image

@aicynide

This comment was marked as spam.

@aicynide

This comment was marked as spam.

@fathyb
Copy link
Owner

fathyb commented Feb 9, 2023

I originally planned to add a SIXEL back-end (some work in src/output/quantizer.rs), but ended up not focusing on it as the terminal support is poor for a realtime use-case (at least on macOS). For example, iTerm2 writes each SIXEL frame into a file in /tmp and displays it using an image view. Someone shared alacritty-sixel which seems like a good playground for that.

I'm planning on releasing a separate software to render any Wayland app to SIXEL such as Firefox, which would remove the need to depend on a Chromium fork.

@fathyb
Copy link
Owner

fathyb commented Feb 14, 2023

A new renderer landed in the main branch. Still no SIXEL, but works almost everywhere hehe:

$ docker run -ti -e COLORTERM=24bit fathyb/carbonyl:next https://youtube.fr/ --zoom=300 --bitmap
CleanShot.2023-02-14.at.05.44.26.mp4

@X-Ryl669
Copy link

X-Ryl669 commented Mar 13, 2023

Isn't that cheating (using one character per pixel and reducing the font size to 1px or so so it's not a giant mess) ?

@bitcoinmeetups
Copy link

Hi,

I'm Mr. You, a very friendly guy.

I also support the idea of sixel graphics for carbonyl.

Actually the sixel concept could probably be improved. It's a bit slow and I don't really believe in the idea of using escape characters. But until Terminals can conveniently display graphics some other way natively I'd say sixel support might be a good idea.

@bitcoinmeetups
Copy link

bitcoinmeetups commented Nov 3, 2023

What about this software to "render all wayland apps to sixel"? Sounds like something I would be interested in. Although I use xfce4, not wayland.

@r3k2
Copy link

r3k2 commented Apr 6, 2024

I just found this project, trying to get rid of all browser/electron/GUI apps and slowing adding all CLI/TUI apps for matrix,invidious,mastodon,peertube,irc,gopher,email,gemini,usenet etc ... and I think this has a lot of potention but the first thing that came to my mind is .. "do this guys know there is sixel" and found this, so yes sixel will be awesome!

@ryoppippi
Copy link

Hey! This looks awesome!
Is not released yet?

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement New feature or request
Projects
None yet
Development

No branches or pull requests

8 participants