3 ms·
> Here's the painful truth: you can't quit a TUI application without learning it So what? I'm not so sure you can learn Photoshop without either watching someo
by geocar 2y ago
> Here's the painful truth: you can't quit a TUI application without learning it
So what? I'm not so sure you can learn Photoshop without either watching someone use it or reading a few books on it, whilst emacs maintains an excellent tutorial that it tells you to read multiple times when you start it.
In the 1990s and early 2000s I volunteered at a senior center teaching people how to move the mouse and translate that movement into the little arrow-cursors' movement, and the experience convinced me absolutely nothing about computer-use is intuitive or obvious to anyone who did not grow up using it.
I urge you not to stick with a worse-user-experience just because you already "know" it. If you think GUIs are better, that's one thing, but this cannot possibly be the reason.
> Try writing a portable TUI application from scratch, without touching curses or termbox
Try writing a portable X11 application from scratch, without touching libX11 or libxcb.
Try writing a portable Win32 application from scratch, without user32.dll
None of this is fun, but the TUI application is less code, and it's not even close.
> As an Emacs user, I subjectively find the GUI superior - I can e.g. rebind Cmd-S to "save", and that's a reason enough.
The mac Terminal isn't great for a few reasons, but iTerm and kitty absolutely let you do this if you teach Emacs to decode the sequences.
https://github.com/benotn/kkp https://github.com/benotn/kkp
I find this a much better experience than using tramp to tunnel remote servers.
> non-terminal REPL where Ctrl-C means "copy", and Ctrl-V means "paste", that would be a great start
You can have this today (see above), but I much prefer ^C being cancel/interrupt/compile, and ^V being make-visible. I avoid copy and paste because it doesn't fit in my workflow very well:
> You know non-TUI applications are also customisable? I have Hammerspoon scripts, ... I just don't understand...
I don't want hotkeys, I want automation.
In a terminal I just run the regular application (like emacs) under autoexpect. I then edit the resulting script, and run it and now I have a new application that does something useful to me. Eventually I add it to an application I wrote which just runs all of my scripts in a big loop.
I run one gui application (chrome), and then use vncsnapshot to dump images that I print out over the kitty image protocol. I then have a perl script forward the keyboard and mouse metrics into qemu via vnc. It works well enough for autoexpect, but it's a lot of work for one application.
Then, I go to the beach while my computer is doing stuff people pay for.
- rollcat 2y ago> I'm not so sure you can learn Photoshop [...] I'm not talking about learning Photoshop, I'm talking about quitting Photoshop. On a Mac, the "close" button is in the upper left corner of the window, and has been there since 1984. Dock icons only appeared in NeXTStep, which OS X inherited ca 2000. But the list goes on. > Try writing a portable [...] application from scratch. That's not my point at all. The terminal emulator creates a window for you, and puts pixels in it. The TUI application then talks to that emulator over a serial line, as if they were running on separate machines. Why not let the application paint the pixels directly? > The mac Terminal isn't great for a few reasons, but iTerm and kitty absolutely let you do this if you teach Emacs to decode the sequences. These extensions are non-portable, and require specific integrations on the part of each and every TUI application. For example, kkp is 800 lines of Lisp. Also, termcap is hell, and comes to bite you as soon as you spell "ssh". > I avoid copy and paste because it doesn't fit in my workflow very well [...] Then, I go to the beach while my computer is doing stuff people pay for. That's a lot of effort and dedication on your part, and I respect that. But let's be honest, what you're doing is a narrow specialisation - and that is what you're being paid for. I'm talking about applications copying and pasting text, displaying an icon in the dock, or having consistent key shortcuts - out of the box, consistently, no glue, no side channels to cheat the serial line.
- geocar 2y ago> But let's be honest, what you're doing is a narrow specialisation - and that is what you're being paid for That's your unfounded opinion man. You have no idea what I'm doing. There's only two reasons to use a computer: One is because it is an entertaining way to spend your time and money, the other is because it's a way to make money. > Why not let the application paint the pixels directly? Partly because they do it badly, and partly because it's harder for other applications to read the pixels. Think about how the clipboard has to work: The application just told the display to write some text there, but the clipboard has to ask again what text is there, wait for a response, and let the other program know. Meanwhile the terminal just knows, so it's faster. > I'm not talking about learning Photoshop, I'm talking about quitting Photoshop. On a Mac, the "close" button is in the upper left corner of the window And you learned that somehow. You can learn other things too. > These extensions are non-portable So what? They're portable to every terminal I use, every new terminal being made, and if you want, any terminal you use. The Mac isn't portable to anything except another mac.