ImTui: Immediate Mode Text-Based User Interface
github.com
github.com
If that is all that this is intended to be, then great, good job, looks amazing. If not, can anyone enlighten me about an actual use case for this?
When you say the apps created with ImTui will be used by no one, what do you think is the reason? What are the features it lacks compared to other text UI libraries? On the contrary, I believe it can be used to create all kinds of terminal applications - even useful ones.
In my experience with TUI apps (RTV, IRC clients, even vim, as much as that pains me to admit after the days I've spent fiddling with my vimrc.), it was always worse UX compared to a native GUI version, for some definition of native GUI that includes browsers/electron. I don't mean literally no one will use TUI apps, but I don't see a killer use case for them.
To refactor my question: What is the use case for TUI that isn't better served as a native GUI or proper CLI?
Sure, GDB with a TUI sounds neat, but I don't see how it wouldn't be better served as a native GUI (Which seems to already exist[1]. Neat).
A lot of the screens show FPS info, so it's not immediately obvious.
Basically, ncurses presents a "framebuffer" of coloured characters for the application to draw on. When the application says "draw this to the screen", ncurses compares the current framebuffer to the previously-drawn framebuffer, and tries to encode the difference in the smallest batch of terminal-control sequences it can find - it's a bit like React or Elm in the browser. Even if the application "redraws" the screen a million times a second, if there's no visible change, ncurses will do exactly nothing.
Very impressive.