Live data from Hacker News

Ratatui – App Showcase

ratatui.rs

111–120 of 238 posts

Re: Ratatui – App Showcase

#111
Shameless plug:

https://github.com/benjajaja/mdfried/

Markdown is really cool in the sense that you can still look at the raw text and read it easily. But one thing that always made me load up .md files in the browser was that it's just much easier to read when the headers are bigger.

So I wrote a markdown viewer that renders the headers as images. You need to configure your font once for it to work, can't really detect the terminal font. It obviously also renders inline images, which was another reason to use the browser.

And then, Kitty developed the novelty https://sw.kovidgoyal.net/kitty/text-sizing-protocol (I think it's now also implemented in Ghostty), which means we can skip the text-to-image processing and directly leverage that protocol.

Re: Ratatui – App Showcase

#112

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…

Given Qt consists of hardcore lovers of old C++, this is unlikely to happen in this generation.

Re: Ratatui – App Showcase

#113

I've seen lots of TUIs lately, why is that? What is the renewed interest? The only places I know of is Awesome TUIs [0] and terminaltrove [1] I can also see that Ratatui has an awesome list too [2]. [0] https://github.com/rothgar/awesome-tuis [1] https://terminaltrove.com/ [2] https://github.com/ratatui-org/awesome-ratatui

TUIs have the constraint that they don't have a mouse (or is optional at best).

This means almost all TUI programs can be entirely keyboard driven.

Almost all GUI programs fail at this, in other words, it's extremely likely that at some point, something that requires a mouse action will interrupt.

Re: Ratatui – App Showcase

#114

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…

Apart from what you said about the GUI situation in Rust (which I disagree with) I think TUI's have their niche. I think writing a useful GUI has considerable overhead no matter which technology you use. In addition they cause other difficulties, like testability, i18n, l10n and accessability. This is why people often resort to command line tools, rightfully so. There are cases, however, where a CLI won't cut it and…

> In addition they cause other difficulties, like testability, i18n, l10n and accessability.

Most TUIs don’t have these either. So I don’t see this as a difference between TUI/GUI. If you want to make a GUI and want to ignore these things, you are free to do so.

Re: Ratatui – App Showcase

#115
I began learning Rust in my spare time - as a C++ dev it seemed like the right thing to do. I ended up using Ratatui for a hangman implementation. I really liked using it, I ended up with an itch to make an oldschool roguelike with it. Perhaps some day I'll carry on and do it.

Re: Ratatui – App Showcase

#116
post #112

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…

Given Qt consists of hardcore lovers of old C++, this is unlikely to happen in this generation.

They literally announced that they are working on it: https://www.qt.io/qt-bridges

Re: Ratatui – App Showcase

#117
post #5

Some of the most interesting projects here have the worst installation stories.It's sort of tilting at windmills to not acknowledge that people are going to mostly install through package managers for their platform by advertising it as such. I'm not suggesting there's anything wrong with building from source. On the contrary, I think it's fantastic as many targets are supported here as there are! I think it's a sham…

Aren’t all of these in a sense personal projects? If it works for the developer, that’s enough.

Re: Ratatui – App Showcase

#118
post #87

Earlier quoted context omitted.

Zed ( https://zed.dev ) is a GUI built in rust. Im not an expert in GUI building so maybe I'm wrong and they used a separate language for the GUI.

They use Rust, but they basically reinvented the wheel for everything they did, because the existing GUI stuff in the rust ecosystem sucked so badly it wasn't worth fixing. Which is great, Zed's stack is pretty damn good. But like anything not yet widely used outside of its original use case, it can be rough around the edges, and just plain doesn't support anything that is not needed by Zed.

[deleted]

Re: Ratatui – App Showcase

#119
post #114

Earlier quoted context omitted.

Apart from what you said about the GUI situation in Rust (which I disagree with) I think TUI's have their niche. I think writing a useful GUI has considerable overhead no matter which technology you use. In addition they cause other difficulties, like testability, i18n, l10n and accessability. This is why people often resort to command line tools, rightfully so. There are cases, however, where a CLI won't cut it and…

> In addition they cause other difficulties, like testability, i18n, l10n and accessability. Most TUIs don’t have these either. So I don’t see this as a difference between TUI/GUI. If you want to make a GUI and want to ignore these things, you are free to do so.

Where I think TUIs had a niche GUIs don't quite reproduce is in the very particular way DOS TUIs processed input.

An old school DOS TUI reads keyboard input one character at a time from a buffer, doesn't clear the buffer in between screens, and is ideally laid out such that a good part of the input is guaranteed to be fixed for a given operation. They also were built without mouse usage.

So an operator can hammer out a sequence like "ArrowDown, ArrowDown, ENTER, Y, ENTER, John Smith, ENTER" and even if the system is too slow to keep up with the input, it still works perfectly.

Modern GUIs almost never make this work near as well. You need to reach for the mouse, input during delays gets lost, the UI may not be perfectly predictable, sometimes the UI may even shift around while things are loading. Then also neither does Linux, I find that the user experience on DOS was far better than with ncurses apps that have all kinds of weirdness.

Re: Ratatui – App Showcase

#120
post #72

Earlier quoted context omitted.

But.. why? Like I do get the occasional need where it's easier to just see an html page in the terminal, but why would you render to a low-resolution 2D buffer with random character-hacks with a huge amount of overhead, over having a real buffer and just writing pixels to it, with actual hardware acceleration?

SSH access over a slow network connection?

Why not proxy the network calls only then and use a real browser?
Post reply on HN