Ncurses has always been on my list of cool things I wanted to learn but couldn't invest the time to actually build something with.<p>Then I found Textual (Python library, <a href="https://textual.textualize.io/" rel="nofollow">https://textual.textualize.io/</a>) which feels like its modern and prettier child. Not gonna lie, it's still not a turnkey solution that transformed my clumsy scripts into a beautiful TUI without work but it's close!
Always thought of (N)curses as the conceptual React framework for terminal applications. You tell it what the screen should look like and it figures out how to efficiently write just the changes needed to achieve that on the terminal.
I always liked that on SuSE, I had my choice with YaST of either the Ncurses interface or the GUI X Window System. The functionality was identical, but sometimes a GUI is pleasant.
Ncurses has its place, if you're doing a full featured form based app it helps a lot.<p>That being said, if you're doing something less involved, controlling the terminal via ansi escape sequences is not rocket surgery.<p><a href="https://en.wikipedia.org/wiki/ANSI_escape_code" rel="nofollow">https://en.wikipedia.org/wiki/ANSI_escape_code</a><p><a href="https://github.com/codr7/sharpl/blob/main/src/Sharpl/Term.cs" rel="nofollow">https://github.com/codr7/sharpl/blob/main/src/Sharpl/Term.cs</a><p><a href="https://github.com/codr7/sharpl/tree/main/examples/fire" rel="nofollow">https://github.com/codr7/sharpl/tree/main/examples/fire</a>
This is rather timely—I started playing with PDCurses after being inspired by Zed Shaw’s “Rogue is the Best Project”. It has been an interesting experience
> The curses API may seem something of an archaism on UNIX desktops increasingly dominated by X, Motif, and Tcl/Tk.<p>This sets the document at a particular point in time … in a lot of ways a <i>better</i> point in time.<p>I really miss the mid-90s computer scene. Things worked, often well, and in comparison to today they were so low-latency!
Looks good, but curses and I have a hard time.<p>Ages ago on a mini I use to program, there was a very simple library I could call to format a screen. You told it modifiable field type and its text plus position on the screen. The screen was fixed at 80x24 plus no popups.<p>I wish there was a simple wrapper for curses like that :)<p>In the DOS Days, zortech c had a nice set of functions for screen input, disp_*, those were easy for my simple mind to understand to.
I always love the look of a well laid out TUI. In uni there were color IBM terminals everywhere and that bright, colorful UI is burned into my mind.<p>What I would like is a (n)curses library that uses a graphics back end instead of a TTY, preferably written in Go. I want a GTUI (Graphical-Text User Interface 8-)<p>Side note, Anyone know a site that curates a list of TUI designs? And not just good ones but examples of bad and weird.
I remember writing something a few decades ago using NCurses. I don't even remember what the program was, but I remember having to go back and forth tweaking the window sizes to make things fit together and look right.
I had a good experience with the Java Lanterna library<p><a href="https://github.com/mabe02/lanterna" rel="nofollow">https://github.com/mabe02/lanterna</a>
Nothing like curses to build an ascii pacman!<p><a href="https://m.youtube.com/watch?v=wZorbnsFeHQ" rel="nofollow">https://m.youtube.com/watch?v=wZorbnsFeHQ</a>
i always wondered - why is ncurses so retarded with the Esc key?<p>(there's usually delay between Esc taking action, one should press it once and then wait a second until it takes effect)