
Ncurses Programming How to (2005) - brudgers
http://tldp.org/HOWTO/NCURSES-Programming-HOWTO/
======
dmacvicar
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/m...](http://www.mono-
project.com/docs/tools+libraries/libraries/monocurses/) ) 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.

------
p4bl0
This reminds me when I just moved at the beginning of my first uni year. I had
no Internet connection at my place for the first month, so to entertain myself
I decided to write a Tetris in the terminal. I knew C fairly well already but
I had never used ncurses nor did any system programming. I ended up learning
ncurses and UNIX signals mechanisms solely from the man pages. Good times.

------
teddyh
Ncurses is a pretty low level to target, nowadays. I’d recommend something
like Urwid (for Python) or similar higher-level for your language of choice.

~~~
baldfat
Ncurses is my preferred tools still.

look at ranger FIle Manager with VIM shortcuts. The fastest and best File
Manager I have ever used.
[http://ranger.nongnu.org/](http://ranger.nongnu.org/)

~~~
agumonkey
Surprisingly I stopped using it because a few times, it was lagging.

~~~
baldfat
Well it is built on Python and for the life of me I never have a consistent
experience with several python tools. (I still love Python, but I have really
stopped using it personally)

~~~
agumonkey
Yeah, I know, I didn't expect blazing fast, it was just that too much slow for
me to notice and stop caring. Retrying now, maybe python changed, maybe I did,
maybe my laptop.

~~~
baldfat
Ranger hicups very rearly. The speed of doing my files is just way to easy. I
love :bulkrename with vim opens up and I change the file names in Vim :wq and
boom files renamed.

------
ape4
The world needs more TUI.

------
linuxfan
The author of this howto and I were best friends back in college. Good times.

~~~
ape4
Call him up and be friends again.

