logoalt Hacker News

anon7000today at 6:37 AM6 repliesview on HN

> To get a good terminal UX, I think the answer to this is probably to throw all that compatibility mess away and redesign a modern terminal protocol that bakes in accessibility, regions, scrolling, selection, proper keyboard, etc.

Why not just… a GUI framework or layout that’s meant to be keyboard driven and information dense?


Replies

jeroenhdtoday at 7:56 AM

TUIs run on any OS with minor patches to support quirks, GUI frameworks need a lot of work. TUIs don't need to follow any OS guidelines, cross-platform GUIs always look bad outside of the "main" platform.

If you're only targeting macOS/Windows/Gnome/KDE then the solution is easy: just grab a GUI control set and go ham.

Then there's remote access: you can spawn an X11 app through X forwarding and have a terrible laggy experience on Linux, you can use RemoteApps on Windows to have a good remote experience (but almost no other platform), you can use VNC to have an awful cross-platform experience, or you can use a TUI and have all the graphs and interactivity you need over a responsive, low-bandwidth connection on any combination of client+server.

show 2 replies
christophilustoday at 1:08 PM

It’s trivially easy to run a TUI in a container. Not so much with GUIs. And, since I run as much as possible in containers, and as little as possible on my host machine, I much prefer TUIs.

truenotoday at 10:06 AM

there's a million gui frameworks under the sun and i still haven't found one that feels like what everyone has been asking for:

good dx, cross platform, fast, not ugly.

pick i dunno 2 or 3.

tui's get to check 2 or 3 of these just like any other gui library. somehow there still isn't a silver bullet here.

now i personally don't build tuis but guake style dropdown simple command and i have some other thing someone made open immediately running in ghostty? hell yea. with that said yes there are some stupid tuis out there that are anything but simple.

show 1 reply
barnabeetoday at 12:45 PM

Agreed. This is exactly what I want, ideally with components and libraries and panels and data shareable and extendable between applications.

The closest in spirit is Probably something like Dear ImGui[0] and the ecosystem of components and apps built with it, but it's not quite there for me. Something is missing.

[0] https://github.com/ocornut/imgui

show 1 reply
tyretoday at 1:08 PM

charm.sh builds many such things. I love them and their personality.

Brian_K_Whitetoday at 9:19 AM

Countless reasons.

Invent a gui client environment that is universal, works the same way everywhere, over any kind of channel, and is already implimented and supported everywhere, and utterly weightless in all dimensions (ram/cpu/network), and then you might be able to ask that question without it being incredibly ignorant.

Today the closest you might be able to say is web/electron, which is gross on all counts. If anything the closest is X11, which is not remotely close enough.

That's why not just...

show 1 reply