5 ms·
First time I saw an idea like this was with termkit [1], which I thought was great and was sad to see it didn't get continued development. I really feel like w
by rogual 3y ago
First time I saw an idea like this was with termkit [1], which I thought was great and was sad to see it didn't get continued development.
I really feel like we overlook the ways in which we limit ourselves by having our CLI interfaces be tied to a thing that emulates a terminal from the 80s.
The composability, scriptability, history, etc. of CLIs is great, but why should that preclude us from being able to quickly show a PNG or graph a function?
Maybe it's an idea whose time has come.
[1] https://github.com/unconed/TermKit https://github.com/unconed/TermKit
- sime2009 3y agoTermKit was one of the inspirations for Extraterm ( https://extraterm.org/ https://extraterm.org/ ). It separates command output, allows for reuse of previous output, as well mixing content types. The terminal VSCode has been picking up on these kinds of features lately. Now they can even "sticky" the previous command line at the top of the window when scrolling through long output. It has taken a long time, but these ideas are slowing spreading around.
- FridgeSeal 3y agoTerminal interfaces are devs due for an upgrade, but this doesn’t feel like a genuine solution to that, this feels like just try to pollute CLI land with the web-tech everyone already complains about.
- enriquto 3y ago> we limit ourselves by having our CLI interfaces be tied to a thing that emulates a terminal from the 80s > why should that preclude us from being able to quickly show a PNG or graph a function? I'm confused by this comment. The quintessential "terminal from the eighties" is xterm [0], that exists today and supports all kind of graphics protocols, like sixel [1]. I use it everyday, and it is very handy to graph functions inline (via gnuplot) and to quickly show png files. If anything, it is more "modern" terminals that lack these basic functionalities. Bu this is hardly a problem of being stuck with old technology. It is exactly the opposite! [0] https://en.wikipedia.org/wiki/Xterm https://en.wikipedia.org/wiki/Xterm [1] https://en.wikipedia.org/wiki/Sixel https://en.wikipedia.org/wiki/Sixel
- sawka 3y agoShowing graphics using Sixel is an improvement, but is just a hack to get images to show in a text-only interface. You really do want a native image, so why not get one that you can also right-click and "save as...". The terminal's text interface is amazing, no one wants to mess with that. But when you look at TUI frameworks, they are using text as UI which is not great. Instead of showing a table with dashes and pipes, why not show an HTML table that you can interact with and can copy/paste directly into excel or google sheets?
- enriquto 3y ago> You really do want a native image, so why not get one that you can also right-click and "save as...". This sounds great! At least, nowadays you can take a screenshot of the terminal and crop it as you want. Not sure what would you want the "right-click" to do in a terminal... terminal graphics can be overlaid with text and with other images; where does your image actually begin? Screenshoting and cropping is exactly what you need. The only evident case for right-click+save is when the image comes from a png file. But in that case, why do you want to save it again? You already have the file. > Instead of showing a table with dashes and pipes, why not show an HTML table that you can interact with and can copy/paste directly into excel or google sheets? That would be an amazing feature! Selecting rectangular regions of text in your terminal, instead of whole lines. On the other hand, I feel that excel and google sheets could easily understand a simple table written with dashes and pipes and paste it the right way. There is a huge room for improvement in terminals. However, it is mostly boring compatibility stuff, to implement protocols in other terminals that they were developed in. There are many existing protocols for nice things, like sub-character mouse interaction and image/video support. Sadly, they are not universally implemented along the terminal space.