3 ms·
> Funny but I struggle with copying anything in most recent TUIs. Fancy padding or multiplexer borders and multiple lines of text? It breaks. Incomplete text in
by jolmg 1mo ago
> Funny but I struggle with copying anything in most recent TUIs. Fancy padding or multiplexer borders and multiple lines of text? It breaks. Incomplete text in a spreadsheet column (tabiew) or a narrow internal window?
Hold Alt while trying to select to make a rectangular/block selection. To avoid a TUI's mouse handling and use the terminal's, hold Shift. So, for example, if you're on tmux with "panes" (internal windows) side-by-side and you wish to copy lines from a middle one into your X11 primary selection, hold Alt+Shift+mouse1 and drag.
Works on xterm and urxvt. I had hoped it worked on all terminals, but I notice it doesn't on kitty. Maybe there's an extension that adds support. Kind of a waste of opportunity to have a grid of monospaced characters and not be able to do rectangular selections.
> Ohmypi literally has a separate command to copy the prompt because of that, and another command to copy the model reply. TUI is just a poor choice here, it doesn't play well with formatted text like markdown, UI controls, long text, and so on. Terminals are good for CLI where the text is presented as lines, not TUI with spaced layout.
Yeah, the interfaces of coding agents are really poorly made. It's like they only know GUIs but wanted to have it work for a terminal. They really should have been CLIs instead of TUIs. That way you could just use the terminal scrollback buffer. Would've been simpler to implement, and they wouldn't have needed some special support for copying command and reply.
> Most TUI apps suffer from terrible NIH and end up with their own homegrown incompatible keyboard navigation schemas you need to learn every time.
Hmmm... not really? Maybe you're thinking vim vs emacs, but that's just because they're old and have separate histories. From the point they both became established on their own, multiple interfaces have supported their keybindings. Ranger for example supports vim keybindings for navigation.
Something to remember is that GUIs don't have common ground on this except on the use of Tab and Shift-Tab for jumping between different parts of the interface. Also maybe Alt for invoking the menu bar. TUIs don't satisfy themselves with such terrible navigation. It's NIH and not-invented-anywhere. They must invent to be useful with keyboards.
Mouse support comes second for TUIs. For GUIs, mouse support comes first and keyboards are an afterthought if they're ever thought about. It doesn't seem like GUIs have NIH-syndrome only because they either don't support keyboards or people aren't even familiar with the keyboard navigation they came up with since they only use the mouse.
- orbital-decay 1mo ago>Hold Alt while trying to select to make a rectangular/block selection. I don't see how block selection helps on cut text. In GUI you simply select the partial element and copy it, with either mouse or keyboard. You can also display it (or a tooltip) above the rest while selected, which is what compactified tabular views usually do. Turns out layout engines have a purpose in dense interfaces after all. >Yeah, the interfaces of coding agents are really poorly made. It's like they only know GUIs but wanted to have it work for a terminal. They really should have been CLIs instead of TUIs. That way you could just use the terminal scrollback buffer. No, they really are much better off with web or GUI, terminals use unreadable monospace and simply aren't well suited for large amount of rich text, schematics, pictograms, and pictures. They are fundamentally not CLIs as well, they're interactive programs with complex interface layout that is not limited to basic chatbot input+scrollback (let alone text input, it's not just text). That relates to most TUIs I see, they use TUI because it's fashionable - status monitors, dashboards, file managers, you name it. TUI is suited for very few purposes most of which are pretty basic (e.g. status line-style UIs for CLI), anything more complex such as a file manager and it quickly becomes awkward. FAR Manager had to reinvent everything from scratch (including, ridiculously, picture thumbnails in a custom-built terminal) and it's still worse than Total Commander which just used what the UI framework already provides, for the most part. >Hmmm... not really? Maybe you're thinking vim vs emacs I'm really thinking everything vs everything, do you know two TUIs with a common schema that is not a convention? Literally every TUI tool I use (and I use dozens) uses its own layout and keybindings. Maybe 30% vaguely imitate vim's hjkl use instead of arrows in some of their elements, some use ? for help, that's literally about all they have in common. There's no common way for hot path traversal, almost no common paradigms at all. Trivial example, top vs htop vs bottom vs nvtop vs powertop vs god knows what else. >Something to remember is that GUIs don't have common ground on this except on the use of Tab and Shift-Tab for jumping between different parts of the interface. Major GUI frameworks such as Qt have hotkey schemas and conventions that are used by default in every program built with them, such as Ctrl-O for opening a file, Ctrl-Z and Ctrl-Y for undo and redo (which they actually provide mechanisms for), menu navigation, or Ctrl-Tab for traversing through focused tabbed elements. Plus guidelines that you can and should follow for consistency. They don't provide everything for every specialized use case but they make mundane actions common for every app predictable and consistent, and of course it's a result of practical use (new apps are being made -> framework devs canonize common behavior). In any case, none of this is specific to GUI vs TUI as a principle, or keyboard navigation, it's rather about centralized frameworks. Nothing prevents devs from spending the energy on making a good unified TUI framework, or a GUI one that takes keyboard first in the way they want it. It's a matter of fashion more than anything. Nothing replaces good design, certainly not hiding behind the flavor of the day paradigm.