Hacker Newsnew | past | comments | ask | show | jobs | submitlogin

Because terminal programs have limitations that limit the amount of annoying things programs can do.

The color scheme matches the color scheme I set. They cannot change the font size nor the the font. They cannot spawn windows that will steal focus. They can run inside tmux which has advantages for my workflow.

Hotkeys are a first class citizen and not an afterthought when it comes to terminal uis.

That being said, I don't hate GUIs. I just hate a lot of them for doing things that annoy me.



It's also usually inherently composable, since you can pipe and redirect and everything speaks a common language (plaintext, for better and worse). If you just naively implement a cli tool, you usually end up with something that can reasonably be chained or redirect into/out of or combined with xargs etc.

It's like if every single GUI program included easy recording of macros and had built-in tools for munging of data to input fields and from text information.

There is a really solid place for GUI tools though and that's where the task is inherently visual (nontrivial tabular data, anything with images or video, etc) or where discovering your features and guiding people through a workflow is more important than it playing a part in a text processing pipeline.

Honestly, file managers are probably a good example of something that really ought to be a GUI and I've always considered it a bit zealous of people to want a TUI for it. Just look at this thread alone - people accidentally deleting files because navigation and actions are so undiscoverable that if you don't just blindly copy vim, even highly technical people will have no idea how to use your tool.


CLI's are composable, TUI's usually aren't. They are just a GUI in a terminal with extra restrictions. I do prefer CLI's for most things over a TUI.

> Just look at this thread alone - people accidentally deleting files because navigation and actions are so undiscoverable that if you don't just blindly copy vim, even highly technical people will have no idea how to use your tool.

But is that even a problem? If you are going to use a tool for years, does it matter that in the first few hours it's not super discoverable?


I do wish though that terms had multiple font sizes (with some limitations to make it "work"), to allow larger text but smaller gutters, etc. Aside from the general inefficient use of space, i adore terms.

I do wish and hope more apps become like Zellij, though. With possible keybinds on the bottom, etc. I tend to avoid TUIs because i can't be arsed to remember the keybinds and prefer to just use CLIs since those are in my history.


I think emacs have multiple font sizes/weights/families support (called font faces) and that's a reason people love it. The thing I like about term is that you're not confined to a single computer. You only need SSH to replicate your workflow anywhere (and a VPN, maybe).

TUIs work better when you're committed to the workflow. Discoverability is not often one of the key features (although most seem to have great help pages and manuals). You chose one, take the time to learn it, configure it the way you want and it's better (not prettier) than most mouse based workflows.


Emacs is one of the best GUI programs because they add functionality on top of the terminal version, like image support, different font sizes at once, and the window separators not being part of the text so highlighting text quickly is easier, but it keeps the first-class keyboard support it's always had.

I think the average GUI was designed for mouse-first and the lowest common denominator, so it'll generally never be as good. It's similar to how irssi and weechat are top-tier chat programs, but nothing in the XMPP or Matrix world really seems as good.


Check out helix for a good example of this too. Not quite as visible, but entering certain modes gives you a list of available shortcuts you can use from there.

Space for example opens a list with ten or twenty commands that remind you how to open the file picker, open editor list, problems window, etc…


Not just that, there's also that you can run them via SSH, there aren't a zillion top heavy GUI frameworks, interaction is significantly less cumbersome, and let's face it, they look so much better.

For me, hotkeys are the main selling point. I don't want to operate my machine with one wrist and one finger. I have a panel of switches in front of me, why should it be a typewriter 100% of the time? Moving to keyboard focused interaction, particularly vim keys but anything really, it makes me feel like in operating my machine with my mind, it is orders of magnitude less cumbersome once you're past the learning curve, such that when I have to use a traditional stacking, mouse focused environment I feel like I'm on a dial up connection with my hands amputated and cataracts.




Consider applying for YC's Summer 2026 batch! Applications are open till May 4

Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: