The article has it backwards: GUIs are the third way of using Linux. TUIs are the 2nd way. I mean, stuff like pico, nano, vi, Emacs - these are all TUIs.
Perhaps it's because I grew up on DOS that I think that way, but one of the reasons I switched from Windows to Linux decades ago was to use TUIs.
All the TUI stuff you can leave running in tmux and then have a consistent workspace remotely accessible from your PC or phone is indeed really nice. IRC, mail, torrents, notetaking, etc.
As far as I remember, when I wrote my email reader/writer in C, ncurses was not even a thing, so I made my own windows and dialogs in text mode with VT-something codes or something like that. That was not on Linux, but on DOS at the time, but anyway. I did not wait for graphical stuff to be common.
I used my software for months to read and write mails, interact in mailing lists, newsgroups, etc.
Funny thing is when a sysop sent me a mail once: basically, he said to me that one of the machines he had the responsibility of back then warned him about a non-conform header. He asked me the name of the email software I was using to report the bug to the author. I thanked him for my first report ever, for his diligency, etc. and of course, I fixed it promptly ;)
I stick to CLI's and TUI's and use zellij as my window manager. This way the configs and muscle memory I develop on my work macbook are transferrable to the linux box I use for personal projects, and visa versa.
It seemed a bit limiting at first, but after adapting to it I feel like it was the right move. GUI's represent a sort of explosion in the set of valid states for software to be in, and I find that software which opts out of trying to support that explosion tends to work better, likely because the maintainer just has less to worry about.
> What we've never seen is a unifying system that treated the TUI itself as the primary user experience.
Do things like https://en.wikipedia.org/wiki/DESQview from way-back-when not count? I've seen more modern systems trying to do similar though they rarely offer enough beyond tmux+byubo, tough state plans to, so don't get much traction and drop into being unmaintained before getting to the point of being stable.
I'd settle for a first class terminal+file manager combo setup, like where both are respected equally. Dolphin can kind of do it one way, geany the other?
I was hoping the third way would be somehow related to a type of hands-free neuralink so I can code at the speed of thought with my eyes closed laying in bed. Someday the tech will exist but, by then I'm not sure coding will be a thing to do anymore. I'll probably still do it anyway though.
I'm exploring aspects of these "other ways". I've been pushing Kitty terminal graphics compositing and then layering libraries over that. I've also been working on remoting Golang programs over the network as well as compiling them to WASM and embedding that in browsers. This WebGPU browser shader is an example of that mashed together [1]. Same code for native and browser.
Shout out to TUIOS [2] that is in the article; author has a lot of neat libraries and his `sip` protocol is the basis of that remoting work.
another comment on a different HN thread pointed out a similar issue. Now I'm wondering if backdrop-filter can be used correctly at all or should just be avoided entirely
What do you mean by "pretty bad"? I'm on Zen (Firefox based) and the scrolling seems to work fine. But maybe it's getting resource constrained on some hardware.
I don't see any suspicious JS on the page, so I suspect it's a styling issue triggering some inefficiency in Firefox. There are animations and text-shadows.
which, wierdly enough I am useing, and the site scrolls just fine,my browswr has NO java script, No Dom storage, no images/video displayed
though there are a few websites that have some kind of alternate way to display images in short video loops that auto play
everybody lately is talking about TUIs. what do these people mean?
(I trace my adult involvement with computers back to (a) terminals and (b) where you didn't know if your terminal and terminal driver would support ANSI cursor positioning (stty raw!) so I feel equipped to understand what people are talking about, I just don't know.)
is emacs a tui? is midnight commander a tui? vi? I assume the cli is not a tui? are we not even talking about terminals?
Perhaps it's because I grew up on DOS that I think that way, but one of the reasons I switched from Windows to Linux decades ago was to use TUIs.
I used my software for months to read and write mails, interact in mailing lists, newsgroups, etc.
Funny thing is when a sysop sent me a mail once: basically, he said to me that one of the machines he had the responsibility of back then warned him about a non-conform header. He asked me the name of the email software I was using to report the bug to the author. I thanked him for my first report ever, for his diligency, etc. and of course, I fixed it promptly ;)
It seemed a bit limiting at first, but after adapting to it I feel like it was the right move. GUI's represent a sort of explosion in the set of valid states for software to be in, and I find that software which opts out of trying to support that explosion tends to work better, likely because the maintainer just has less to worry about.
It also supports building arbitrary custom UI plugins that can either run in a pane or background.
I prefer its hotkey setup over zellij. Only thing I prefer about zellij are the kdl layouts.
Yes ironically its AI selling points are not at all helpful for me. Just a solid multiplexer.
> What we've never seen is a unifying system that treated the TUI itself as the primary user experience.
I immediately thought 'this person has never heard of Emacs'. And my heart ached with pity.
Do things like https://en.wikipedia.org/wiki/DESQview from way-back-when not count? I've seen more modern systems trying to do similar though they rarely offer enough beyond tmux+byubo, tough state plans to, so don't get much traction and drop into being unmaintained before getting to the point of being stable.
- Using a web browser to connect to a web app running in a Linux VM. I write all my custom tools that way.
- Using VS Code to connect remotely, using ssh
I'd settle for a first class terminal+file manager combo setup, like where both are respected equally. Dolphin can kind of do it one way, geany the other?
Shout out to TUIOS [2] that is in the article; author has a lot of neat libraries and his `sip` protocol is the basis of that remoting work.
[1] https://nimblemarkets.github.io/ntcharts/demos/shaders/
[2] https://github.com/Gaurav-Gosain/tuios
AFAIK on a PC, when booted into text-only mode, you are still using a bit-mapped framebuffer. From my experiments you can mix graphics and text.
fbdev?
Practice what you preach. And practice first.
Why do people do this?
edit:videos are mp4's
Albeit. I was using tmux on termux, until somebody pointed out you can get new terminal screens by swiping from right (corr. from left).
We are reaching the point where a terminal tui is a viable and even sensible alternative for certain apps.
(I trace my adult involvement with computers back to (a) terminals and (b) where you didn't know if your terminal and terminal driver would support ANSI cursor positioning (stty raw!) so I feel equipped to understand what people are talking about, I just don't know.)
is emacs a tui? is midnight commander a tui? vi? I assume the cli is not a tui? are we not even talking about terminals?