4 ms·
i think part of the problem is the archaic interface that is needed to enable feature rich terminal apps. what we really want is a modern terminal API that does
by em-bee 6mo ago
i think part of the problem is the archaic interface that is needed to enable feature rich terminal apps. what we really want is a modern terminal API that does not rely on in-band command sequences. that is we want terminals that can be programmed like a GUI, but still run in a simple (remote) terminal like before.
- ButlerianJihad 6mo agoplan9 and 9term solved this decades ago, right? https://utcc.utoronto.ca/~cks/space/blog/sysadmin/OnTerminalEmulators https://utcc.utoronto.ca/~cks/space/blog/sysadmin/OnTerminal...
- deleted 6mo ago[deleted]
- em-bee 6mo agoseems they removed the dangers, but didn't provide an alternative to write safe terminal apps.
- ori_b 6mo agoGraphics. They're network transparent, and take over the terminal. Terminal apps were obsolete once we had invented the pixel. Unix just provides no good way to write one that can be used remotely.
- kps 6mo agoA network-transparent graphics protocol? Who would ever think of such a thing?
- em-bee 6mo agothat's actually not what i am after. what i envision is a graphical terminal, that is a terminal that uses graphic elements to display the output. consider something like grep on multiple files. it should produce a list of lines found. the graphical terminal takes that list and displays it. it can distinguish the different components of that list, the filenames, the lines matched, the actual match, etc. because it can distinguish the elements, it can lay them out nicely. a column for the filenames, colors for the matched parts, counts, etc. grep would not produce any graphics here, just semantic output that my imagined graphical terminal would be able to interpret and visualize.
- WesolyKubeczek 6mo agoWe call those “web browsers” nowadays, they even can execute untrusted code to make your UI livelier…
- em-bee 6mo agoyou are not wrong. but browsers haven't been able to replace terminals yet. we would need a browser that an interface with the commandline. incidentally ttyphoon is a terminal that uses a browser base gui framework. maybe there is that browser for the teminal...
- WesolyKubeczek 6mo agoSo are a couple shells that use some kind of webkit tty. VS Code’s integrated terminal counts, I guess. It could be an interesting paradigm, though, to have a hybrid between fullscreen and traditional tty programs: you output some forms, they are displayed by the terminal inline, but your scrollback just works like normal, and you can freely copy and paste stuff into the form. Once you submit the form, it becomes non-interactive, but stays in your scrollback buffer. You can select and copy textual data from it, but the form’s chrome cannot be selected as line drawing characters. Probably could be a piece of concept art, I guess.
- skydhash 6mo agoIsn't that Emacs?
- em-bee 6mo agohmm, actually, you got a point there. emacs could be the like that graphical terminal, except for now it is still stuck inside a traditional terminal itself. even the GUI version of it is mostly just looking like a terminal, not really taking advantage of the potential of graphical elements. we would need a real GUI and support for exchanging structured data with external commands. for now emacs is still kind of its own world.
- em-bee 6mo agoUnix just provides no good way to write one that can be used remotely well that's the issue, isn't it? the graphics options that we have are slow and complex, and they don't solve the problems like a terminal and therefore the terminal persist.
- ori_b 6mo agoYes, and plan 9 solved this; you open /dev/draw and start drawing.
- anthk 6mo agoPlan9 has no terminals. Well, it actually has one in 9front, vt(1), but as a tool to call against Unix systems (such as ssh), not to interact with 9front software. vt(1) in 9front it's as 'native' as HyperTerminal in Windows.
- anthk 6mo agoWe have namespaces from the day one. Proper namespaces.
- red_admiral 6mo agoI shudder at the amount of backwards compatibility that would break. Is there anything more complicated than a simple input-output pipe (cat, grep, ...) that doesn't use terminal escapes? Even `ls --color` needs them!
- em-bee 6mo agoright, envision that we get tmux working in that new terminal (and that's already happening, just look at tmux -CC), then it can be there for all the backwards compatibility stuff while modern apps and maybe a new modern multiplexer work without.