Comment by dtj1123
4 months ago
I like TUIs because I can pipe the output of CLIs directly into them, and I don't have to leave my terminal environment. GUIs can't compete with that.
4 months ago
I like TUIs because I can pipe the output of CLIs directly into them, and I don't have to leave my terminal environment. GUIs can't compete with that.
TUI and CLI isn't the same thing. A badly written TUI will fail to check isatty() on stdin and will dump ANSI escape codes, which are not trivial to remove from the output as they follow a format that has different formats, lengths and sentinels that denote the ending.
I'm fully aware they're not the same thing, I'll not sure what gave you the impression I think they are.
I agree that a badly written TUI is... badly written? Obviously I'm referring to well executed TUIs.
For example, I regularly pipe the result of ls, grep or fd into Helix then use multicursor editing to set up a script. You simply can't do that with a GUI.
Those are not TUIs, or rather, when we say TUI we usually mean interactive UI in the terminal.
2 replies →
or in PowerShell
Programs which call GUI library functions can read stdin too... why wouldn't they be able to?
Gvim is a TUI with a GUI taped on top, and whilst the PowerShell you've given there does call a GUI library function as described, I'm pretty sure the author is referring to non trivial examples of a GUI like sublime or VS Code.