4 ms·
I found the title of the article a little annoying, but it has a point. It's ridiculous that we're using terminals that still emulate a physical TTY, with all t
by vgel 5y ago
I found the title of the article a little annoying, but it has a point. It's ridiculous that we're using terminals that still emulate a physical TTY, with all the flaws that come with that.
The failings of terminal semantics have been well-documented (tools with frozen text UI formats because so many tools rely on parsing their output...), but the failings of the terminal UI are large too. Why does editing a multi-line command have to be a pain? Why do the Vim bindings have to suck? Why do I have to screw around adding random files to my ZSH autocomplete directory, or application developers need to add some completion installer for each type of shell? Why can't I tell the shell to color-code stderr vs stdout? Why can't a program open more than 2 IO channels to the terminal? Why is there still not a standard way to display images and video? Why can't the terminal fold long command output into a toggleable expando (like code-folding) instead of me needing to up-arrow to remember what I ran? Why can't I filter output after the fact instead of needing to remember to grep it or tee it into a file and grep that? Shells have fallen way, way behind what modern GUI editors (and TUI ones, more hackily) are able to do. It's easy to write off these kinds of improvements, but 30s re-running a command to grep output there and a minute checking man pages there interrupt your flow and add up to really be a huge waste of time.
There's no reason we should be emulating physical terminals in 2021.
- smoldesu 5y agoA project like this will only solve maybe ~25% of the gripes you just mentioned, and it certainly won't improve the current interop between terminals. I share your frustration with how archaic it can seem sometimes, but terminals will persist until we stop using hardware that accommodates them. I'd rather see a terminal that embraces these esoteric design flaws, finally providing a reliable cross-platform terminal. Rust would have been the perfect language for that, but it seems like the current devs don't really consider compatibility a priority.