Live data from Hacker News

Ratatui – App Showcase

ratatui.rs

221–230 of 238 posts

Re: Ratatui – App Showcase

#221

People keep asking why TUIs in Rust and the answer is because the GUI situation in Rust is dreadful: https://www.boringcactus.com/2025/04/13/2025-survey-of-rust-... Rust is simply not meant for GUI-based data design but I still want Qt in Rust. That's it. Not QML or Slint. No markup at all. None of the immediate mode things. No other languages. Definitely not GTK. I'm worried it will never happen for Rust and it will…

Wrong link? My browser (Firefox on iOS) redirects me to a fart sound media [1], and going back in history takes me back to here.

[1]: https://upload.wikimedia.org/wikipedia/commons/d/d4/Human_fa...

Re: Ratatui – App Showcase

#222
post #213

Earlier quoted context omitted.

This seems trivially false to you because you don't rise above the trivial, but also forget about similar trivial fails in TUIs. > They could be garbage in every other way, but at least they have that Not really, they could also not implement keyboard input for some interactions and only react to mouse. You could have a click-to-open-url in your terminal without a keyboard fallback setup. Of course, you could set it…

I've used some pretty bad ncurses apps that barely have keybindings, like oterm. I'd probably put them in a third, discarded, mutant category where they are mouse-first applications that run in the terminal. Thus like GUIs, keyboard-support is bolted on. So a better distinction here is mouse-first vs keyboard-first, but I think "TUI vs GUI" is close enough to that and it kinda stands in for that distinction in most c…

> So a better distinction here is mouse-first vs keyboard-first, but I think "TUI vs GUI" is close enough to that and it kinda stands in for that distinction in most cases.

It's indeed a better distinction, but no, TUI vs GUI is nowhere close, specifically for your explicitly mentioned use case of "workflow is increasingly keyboard based" because that's exactly where GUI shines as it has much fewer fundamental limitations in keyboard handling.

> than anyone going "you're right, the average GUI

That's your strawman framing, why would I care about "the average"? It's not a limit for anyone, one can always choose a better-than-average app. My point is that at the top there is no comparison because TUIs offer nothing and have much bigger fundamental limitations. So of course with the wrong framing you can find worse examples.

> And using timeouts to handle keybinding collisions or something? Dunno what that looks like nor why you would do it.

Terminals send Esc for Alt-X combos, so to differentiate those combos from a single Escape press you need to track timers (if no extra key signal, then it's Esc, if another key signal, then it's a combo). And Esc is one of the most used keys in e.g. Vim

> Your super key is always at a global level that you wouldn't expect apps to read, that's the point.

Of course I would! What I wouldn't expect is for the app to override any global OS function bound to that key, but I would definitely expect to be able to not waste a whole thumb-conveniently located modifier just because

That's very close to my point - you're used to some trivial keyboard workflow, so wasting the whole modifier is just fine, you can't even comprehend why someone wouldn't want that, it's like a mouse upside down!

Re: Ratatui – App Showcase

#223
post #85

Earlier quoted context omitted.

Doesn't https://github.com/longbridge/gpui-component tick all your boxes ?

Does it work without a modern GPU?

Seriously, there is requirement to CPU draw UI components too ? OP didn't say that and it sounds crazy anyways. Even your point-of-sale terminal units with displays have integrated GPUs. Popular Ex in 2025: Qualcomm Snapdragon 810 SoC (octa-core ARM) with Adreno 430 GPU.

Re: Ratatui – App Showcase

#225

Earlier quoted context omitted.

> but why would you render to a low-resolution 2D buffer with random character-hacks Have you used a terminal in the last 5 years? We got graphics and everything now[0] > huge amount of overhead A... terminal... with... large overhead? Surely you're joking. Have you met any gui app? Microsoft word takes a few gigs. Have you seen electron apps like Spotify or slack? My fucking mail client takes over half a gig and neo…

Wouldn't you still be as sluggish as the GUIs you mention since it's HTML5? Is the benefit from only rendering a subset or something? I'm struggling understanding how rendering a page into a terminal is faster than just rendering to a regular window. It just seems like another layer between the browser and the GPU.

I think you have a misunderstanding of the full system. Like you are thinking the GUI is much simpler than it actually is. Conversely I think you're thinking that CLIs are much more complicated. There's a lot more going on than just painting pixels on the screen. Maybe start by asking why vim is several magnitudes less resource intensive then Microsoft word. Then ask the same about neomutt vs Thunderbird vs outlook/Apple Mail

I'm also not sure why you think it's an extra layer between the gpu. Both the browser and terminal emulator are sitting in top of the OS. But also remember if you run headless then your OS doesn't need to load the desktop environment, though you can still use the CLI. At this point clearly the GPU is seeing less, right?

Re: Ratatui – App Showcase

#226

Earlier quoted context omitted.

Does it work without a modern GPU?

Seriously, there is requirement to CPU draw UI components too ? OP didn't say that and it sounds crazy anyways. Even your point-of-sale terminal units with displays have integrated GPUs. Popular Ex in 2025: Qualcomm Snapdragon 810 SoC (octa-core ARM) with Adreno 430 GPU.

I mean if it requires a modern GPU, that leaves a ton of perfectly working older hardware out in the dust, even those with a GPU if they don't support modern APIs. That's a huge downside when the competing toolkits run just fine on the CPU.

Re: Ratatui – App Showcase

#227

Nice. It would be also cool if they add 'cargo install %tool%' commands for each one.

This is basically how dioxus 0.7.0 works. You can download components, and they will automatically add the source to your source and then you can just freely use them

https://dioxuslabs.com/components/

Re: Ratatui – App Showcase

#228

Earlier quoted context omitted.

Wouldn't you still be as sluggish as the GUIs you mention since it's HTML5? Is the benefit from only rendering a subset or something? I'm struggling understanding how rendering a page into a terminal is faster than just rendering to a regular window. It just seems like another layer between the browser and the GPU.

I think you have a misunderstanding of the full system. Like you are thinking the GUI is much simpler than it actually is. Conversely I think you're thinking that CLIs are much more complicated. There's a lot more going on than just painting pixels on the screen. Maybe start by asking why vim is several magnitudes less resource intensive then Microsoft word. Then ask the same about neomutt vs Thunderbird vs outlook/A…

I understand that a GUI is complex, which is why I'm confused about the performance benefit as HTML5 already acts like a GUI. Even if it's a terminal program, it would still need to calculate the layout and handle the DOM to remain compliant, no? A website can be as intensive as Word.

My logic with it being an additional layer is that instead of the browser rendering text to the screen, it would have to speak with the terminal for the terminal to instead render text to the screen. Same goes for rendering graphics. Besides a headless system I don't see much of a benefit to it.

Re: Ratatui – App Showcase

#229

Earlier quoted context omitted.

I think you have a misunderstanding of the full system. Like you are thinking the GUI is much simpler than it actually is. Conversely I think you're thinking that CLIs are much more complicated. There's a lot more going on than just painting pixels on the screen. Maybe start by asking why vim is several magnitudes less resource intensive then Microsoft word. Then ask the same about neomutt vs Thunderbird vs outlook/A…

I understand that a GUI is complex, which is why I'm confused about the performance benefit as HTML5 already acts like a GUI. Even if it's a terminal program, it would still need to calculate the layout and handle the DOM to remain compliant, no? A website can be as intensive as Word. My logic with it being an additional layer is that instead of the browser rendering text to the screen, it would have to speak with th…

Just less overall overhead

  > A website can be as intensive as Word.
Word has no business being as intensive as it is. It is a bloated piece of garbage.

Re: Ratatui – App Showcase

#230

Earlier quoted context omitted.

Maybe in theory, but in practice they literally all fail at that.

Every text editor and most professional apps have elaborate hotkey schemes in practice, though. It's a matter of target audience and developer intent. There's nothing special about TUIs in regards to keyboard driveability, and they're heavily limited in just about every single way I can think of. Which is the main reason most TUI apps are simple and small utilities.

The very nature of being simple makes it so that the amount of hotkeys you have to learn is limited.

While most gui ones also have hotkeys, most people only remember a tiny selection and have to rely on navigating menus and dialogs to access stuff they can't remember which makes their usage very slow.

Post reply on HN