Being cheeky here, but how many terminal emulators and multiplexers do we need?
What is driving the Cambrian explosion of CLI tools in the last ~5 years?
I’ve been using Linux since 2001 and use standard Konsole on zsh. I have a graphical desktop environment to deal with windows and showing pictures alongside them. Is it perhaps because I am an Emacs person that all I need exist within its loving embrace?
TUI got back into fashion and it seems like everyone is trying hard to reinvent GUI in a really roundabout way, like hacking Braille to display graphs. I think the circle will be complete with the support for proportional fonts for readability, like in Emacs. Character sizing is already (kind of) a thing, which ridiculously enables Markdown rendering in a terminal.
Man, I really want a proper GUI framework with this kind of energy behind it.
Aesthetics, running TUI tools headless over SSH, zero possibility of Electron (although I’ve seen TUI tools written in node which is almost as bad), no worries about X/Wayland jankiness.
Frameworks like bubbletea make it very easy these days.
I think there’s a limit though, a good TUI shouldn’t be “modern”, it should be like the old TUIs that ran auto shops and accounting systems. TUIs that are information dense, keyboard-driven, and snappy are hard to beat.
I don't know, I have too many tools that would really benefit from using GUI (e.g. coding agents, process monitors) but are using TUI and are written in TS instead. Everything about TUI screams jank to me, even the old kind. Both internals and presentation. It's less readable, way more limited, just about everything in it is bad, maybe except the ability to mix it with the CLI programs, but it's quite niche and you could do it the other way in the GUI (embed a terminal, like many apps like Zed or Total Commander do). And of course there's absolutely nothing that stops anyone from developing information-dense, keyboard-driven, and snappy GUI apps that run headless.
> there's absolutely nothing that stops anyone from developing information-dense, keyboard-driven, and snappy GUI apps that run headless.
This is true, and yet...
For some reason GUI seems to attract bloat, excessive margins/padding, and sloppy practices. Maybe it’s just that web views are too tempting to resist.
I'm literally using btop on Windows because I want task manager to only be in the corner, with the terminal taking up the rest of the screen space. the only other way to do this would be to pin the window so the terminal is always under it, but then I'd have stuff go behind task manager and be hidden
instead I use zellij (tmux would suffice as well) and have a corner for btop, and shells in the rest of the space.
I contend that this is natural evolution. Every GUI app is a browser nowadays, and that leaves a niche for leaner apps to fill. This is what TUI apps seem to be doing.
Cross platform GUI is hard unless you elect to build a website and navigate through chrome via electron. Cross platform TUI is a lot easier.
What is driving the Cambrian explosion of CLI tools in the last ~5 years?
I’ve been using Linux since 2001 and use standard Konsole on zsh. I have a graphical desktop environment to deal with windows and showing pictures alongside them. Is it perhaps because I am an Emacs person that all I need exist within its loving embrace?