4 ms·
People seem to forget that ncurses is very low level and more equivalent to the painting engine of a GUI toolkit than to the toolkit itself. The YaST project h
by dmacvicar 11y ago
People seem to forget that ncurses is very low level and more equivalent to the painting engine of a GUI toolkit than to the toolkit itself.
The YaST project has a library called libyui ( https://github.com/libyui https://github.com/libyui , C++) that provides a widget library with multiple backends: Qt, Gtk and also Ncurses.
The ncurses implementation has internally a very powerful wrapper on top of curses that does layout and other things you would only find in GUI toolkits.
I have always dreamed of extracting this code from the ncurses backend and making it a generic library, hopefully with a C API to allow for easy binding but I never got to it.
Closes thing I have found is python specific: http://urwid.org http://urwid.org and some Java stuff like http://bmsi.com/tuipeer http://bmsi.com/tuipeer .
Miguel de Icaza also wrote a very nice toolkit for .NET ( http://www.mono-project.com/docs/tools+libraries/libraries/monocurses/ http://www.mono-project.com/docs/tools+libraries/libraries/m... ) and it is also one of the most useful libraries out there, but it is still nowhere as powerful as the YaST one in terms of automatic layouts.
The world needs a good ncurses toolkit. Usability is a camp dominated by graphic designers, but I have never seen users happier than my dad using Quattro Pro in text mode.