Hacker News new | ask | show | jobs
by dorfsmay 2211 days ago
As somebody who grew up during the semi-graphic era, it makes me sad that we still use a 30 year old standard for terminals and cannot do direct plot in the main terminal (as opposed to the Tektronix separate window).
2 comments

Several terminals (kitty, iTerm2) do support plotting right into the terminal, but this is still sometimes useful if you don't want to load a while graphics stack just to do a simple plot.
Are they using a similar API/standard?
Most use OSC 1337 (originally from iTerm2) and/or SIXEL (originally from DEC -ades ago). At a quick glance, kitty appears to have NIHed their own instead.
I was thinking something similar. Looking at this makes me wish a terminal app could just embed a PNG or whatever in its output.
The OSC 1337 protocol pioneered by iTerm2 does exactly that. You'll have to check whether your preferred terminal supports it (I known mlterm does), either from documentation or just trying it¹.

Also, some terminals support the DEC SIXEL protocol² (again, I know mlterm does).

¹ https://www.iterm2.com/utilities/imgcat

² https://en.wikipedia.org/wiki/Sixel

Edit: I couldn't find a simple SIXEL sample — you'd think one of the popular sixel libraries would have some in unit tests, but no. So for the purpose of this thread (but maybe not forever, hence /tmp/),

    curl https://datatravelandexperiments.com/kps/tmp/example.sixel
    curl https://datatravelandexperiments.com/kps/tmp/example.osc1337
Those are such that output directly to the terminal will produce an image if that format is supported (and probably nothing if not, but I'm not making promises).
I heard they have something similar at Cern and it also has clickable links and universal resource locators.