5 ms·
You know what's awesome about TUIs? They live in a tab in my terminal. 95% of the time, my system has three windows open: terminal, browser, Signal. Please, ma
by JoshTriplett 2mo ago
You know what's awesome about TUIs? They live in a tab in my terminal. 95% of the time, my system has three windows open: terminal, browser, Signal.
Please, make more TUIs and web apps, so they can live in my terminal or my browser.
- walrus01 2mo agoAdditionally, I can with very high confidence run TUI software inside an ssh session to one of my headless machines, and then further within gnu screen or tmux detach and later resume a session with everything I was doing. Even if I switch from my laptop to my desktop, or want to leave a bunch of stuff waiting for a week and come back to it later. Once you get the key bindings for screen or tmux thoroughly memorized it's very easy.
- altmanaltman 2mo agoOkay but TUIs don't matter here though right? You can easily run GUIs over the web with any box anyway if you wanted to. So how is your headless sever running 24x7 (which is what allows feature you talk about, not tmux or tuis) not the reason you can do that but TUIs are? I have a windows box that never shuts down and i remote into it and use it GUI mode to do everything you said but with a proper GUI interface. I also use the terminal but your feature (constantly up + resume + multi device) does not need TUIs to even work.
- dual_dingo 2mo agoA server needs a lot more things to have a GUI compared to what's necessary to just run an SSH daemon that offers CLI/TUI access, where SSH is just providing secure network access for the most basic interface the server has anyway (the TTY).
- altmanaltman 2mo agoOkay but the way the comment described their workflow implies they have a pretty solid server where they actually "work". My point isn't TUI vrs GUI, my point is that you cannot say TUIs are better because cloud computing exists. You can easily replace TUIs with GUIs and enjoy the same features that cloud computing provides, so what makes TUIs special? Is it because they are lightweight and don't consume as much resources? That depends on the app itself, there are several lightweight apps that use a web-based secure GUI instead of TUI, so why specifically do you want to be in the terminal?
- funlang 2mo ago[flagged]
- boxed 2mo agoCouldn't you then just vibe code some window manager app that throws a bunch of your stuff into a tabbed window? Seems like the same thing.
- duskdozer 2mo agoHow would that be any better though?
- walrus01 2mo ago> Couldn't you then just vibe code some window manager app My reaction to this is basically about the same as the fictional Ivan Chesnokov (beware, crude language, profanity, etc) https://m1-garand-rifle.com/ivan-chesnokov.html https://m1-garand-rifle.com/ivan-chesnokov.html
- benj111 2mo agoIt already exists. Tabbed by suckless.
- AtHeartEngineer 2mo agoand music
- thomasfromcdnjs 2mo agoI built "ssh sshfighter.com" recently, enjoy!
- fragmede 2mo agoMine's funky.nondeterministic.computer
- thomasfromcdnjs 2mo agoSo great =D
- octocop 2mo agoI was going to post this but you beat me to it. I think we need the folks whom do not enter the terminal to start using it instead of the other way around.
- Gud 2mo agoDon’t be so sure about that..
- 8cvor6j844qw_d6 2mo agoBubble Tea [1] is my favorite for one-off throwaway stuff in terminal. Wish [2] to make it available over SSH. [1] https://github.com/charmbracelet/bubbletea https://github.com/charmbracelet/bubbletea [2] https://github.com/charmbracelet/wish https://github.com/charmbracelet/wish
- underdeserver 2mo agoSo you have a cluttered list of terminal tabs instead of a cluttered list of windows. But with a worse UX?
- lelanthran 2mo agoThis is the thing - my window manager can manage windows just fine. I suppose you can make the argument that managing multiple terminals in a tab is a better experience than managing multiple windows in my window manager, but that depends heavily on the terminal being used and the window manager being used. As a devils advocate in response to all the comments claiming TUIs are fine, maybe consider TUIs mostly do not come with many of the advantages of using a terminal CLI app - you can't pipe data into them, out of them, spawn them and collect the output, etc like you can with the usual stuff you run in a terminal. IOW, they are a reduced functionality of a GUI - resizing works poorly, scrolling works poorly, UI affordances are poor (sure, you can grey out a button, but drag-n-drop hardly ever works between your various terminal tabs, and the smallest UI element is a full character block, unlike a GUI where you can have indicators that are smaller than a character, mini-windows, etc), lack of widgets, etc. The lightweight argument is not so good either - look at Claude Code, after all. If you want lightweight GUIs, you can do that too. The only argument that stands is the ssh one, but if working via a remote connection, I'm not going to want a full functionality application anyway - why would I prefer a wordstar/wordperfect interface to a complex document over a GUI interface? For simple documents, sure, TUI all the way, but when I have multiple panes (outline, minimap, status bars, toolbars, etc), it performs poorly in a TUI. TUIs are making a resurgence, sure, but only in the context of developers and development.
- rpdillon 2mo agoWhether or not you can pipe information into a TUI is a function of the implementation of it. I've written command line apps that are dual function. When you invoke them with no arguments, they launch the TUI, but when you pass an argument, you can get them to behave like a normal CLI. I don't think this is the norm, but there's no reason it couldn't be more widespread, I don't think.
- ludwik 2mo agoWhy this is preferable? I would rather have the apps I use represented as a list of apps in my system (drawing on a couple of decades of established UX conventions for how they are displayed and how I can interact with them), the web content I'm reading represented as tabs in my browser, and my terminal sessions represented in my terminal. You present the destruction of this simple separation of concerns as a benefit, but don't explain why it is one.
- croon 2mo agoIf age of conventions is a valuable metric, TUIs have more. The keyboard hasn't change noticeably, and I can work way faster between separate windows/panes in a terminal and tmux, than in various GUI windows, where mouse focus dictates when I can start inputting. While a mouse can theoretically use all pixels of a screen, in practical terms a keyboard has a much larger input space than a mouse, and if I can keep both my hands on the keyboard, I can work a lot faster. At least that's my experience as a (starting) greybeard.
- deleted 2mo ago[deleted]
- jauntywundrkind 2mo ago> You present the destruction of this simple separation of concerns as a benefit, but don't explain why it is one. And you present the division of this simple unification of modalities as a benefit, but don't explain why it ought be many. So far it's all just preference. I'm not going to deny that the terminal has a ramp, is a lifelong learning curve. But I personally find it much more earnest, much closer to what is really happening, with less intermediation, and the way that terminal conposes with other things is usually unbeatable. TUI for humans, jsonl event sourcing for machine-to-machine. > drawing on a couple of decades of established UX conventions for how they are displayed I tend to not just click random apps open. I tend to have done some research and found what options there are on my own. I tend to know what I'm looking for, by the time I'm going to run something. In terms of getting there, finding stuff: the best convention I know of is aptitude, and dselect before it. Both very fine very old tui systems, and clear cuts above any app or web store, imo, for its power, directness, clarity, intent, and script ability.
- benj111 2mo ago>or my browser But then a load of others will complain about electron apps. Further you then have an os within an os. You need to remember to look in your bookmarks, not your start menu. And you're basically throwing away the window manager too.
- JoshTriplett 2mo ago> But then a load of others will complain about electron apps. I want to run web apps in my browser. I understand why Signal isn't a web app, and I'm willing to put up with that for security, but nobody else gets that excuse. Web apps belong in a browser tab.
- rpdillon 2mo agoIndeed, I've been on vacation this week, but wanted to continue working on some of my hobby projects while I'm in the mountains a bit. Being able to use tailscale to SSH into my home workstation and attach to Tmux with my full session of agentic development, server, notes, design, and everything else has been an incredibly fun experience. Native UIs simply don't have the same flexibility. Edit to add: I didn't bring my laptop; I'm working from Termux. Surprisingly effective! The code is all in a folder syncing with my phone via SyncThing, so I can try out the sites I'm working on directly on the phone.
- orbital-decay 2mo agoIf that's the only justification, a good window manager might turn out to be a lot more convenient. Terminals are great for CLI. CLI integrated into GUI/TUI is absolutely amazing, but 99% TUI apps do not work like that, they're just awkward crutches foreign to the terminal, so you get no upsides and all downsides. Examples of good CLI integration I regularly use: Kate, Zed, Dolphin, Total Commander, pi. Only one of them is TUI, and honestly it's much worse off with it, since it has to display a ton of formatted text and sometimes pictures. It's really inconvenient and just looks like cargo cult rather than a necessity.
- hollerith 2mo agoI used to work like that (minus the Signal window) and have no desire to go back.
- eviks 2mo ago> They live in a tab in my terminal. So you can't even immediately switch to your app and don't see it in an OS-integrated list?
- JoshTriplett 2mo agoI can see all of my tabs at a glance, their titles indicate what's running in them, and I can easily and quickly switch to them with the keyboard.