cockpit-project / cockpit

Cockpit is a web-based graphical interface for servers.
http://www.cockpit-project.org/
GNU Lesser General Public License v2.1
11.31k stars 1.12k forks source link

Standarized SIXEL graphics in terminal #20847

Open schrmh opened 3 months ago

schrmh commented 3 months ago

Page: Terminal

Some want to have a more graphical output. SIXEL is a nice middle ground which uses escape code to enable bitmap graphics in terminals. It is actually a protocol standardized by DEC (see https://en.wikipedia.org/wiki/Sixel) and got a lot of popularity again within the last five years and is thus e.g. supported by VS Code and KDE's Konsole terminal emulator even. You can check out a list of support status: https://www.arewesixelyet.com xterm.js is listed there as well. I think this is what Cockpit uses since I can see a xterm import in the package list. Thus it might be enough to add xterm-addon-image (when newer xterm.js versions are around then https://github.com/xtermjs/xterm.js/tree/master/addons/addon-image).

People that want #20721 may be (partially) satisfied by this as well since there are a few ways to interact with e.g. X servers and SDL applications when support for SIXEL is implemented (see https://github.com/saitoha/libsixel/blob/master/README.md)

jelly commented 3 months ago

Adding a dependency to xterm-addon-image (third party maintained plugin) is a significant maintenance cost for us. The terminal in cockpit is mostly for administrators to quickly debug something, I myself don't see a benefit of adding SIXEL support versus the maintenance cost it would imply.