Penguin
Note: You are viewing an old revision of this page. View the current version.

Curses is the unix toolkit for displaying text based GUI's.

Curses is used for all sorts of operations on a terminal, the most important of which include drawing and removing text, colouring/hilighting text, and moving the cursor around.

Curses originally grew out of vi(1) I believe, and was very optimised for sending the least number of escape codes to update the screen from the old representation to the new representation, which means that it worked really well over low speed serial. (On the flipside, now it works over very laggy tcp connections really well too :).

Curses has been replaced and rewritten and is usually called "ncurses" now.

make menuconfig

for instance, uses a Curses interface, as do most text editors.

ncurses is simply an implementation of the curses API. ncurses is the implementation used by most Linux software - ncurses is under the GPL so only GPL-compatible programs may link against it.

From the start of the man page:

DESCRIPTION
The ncurses library routines give the user a terminal-independent method of updating character screens with reasonable optimization. This implementation is "new curses" (ncurses) and is the approved replacement for 4.4BSD classic curses, which has been discontinued.

See the ncurses(3X) man page for an overview and link to the other functions' man pages, or see HowToNCURSESProgrammingHOWTO? for lots of information (including a good introduction to terminals and ncurses).


There is a new port of GTK to text mode (TTY) called Cursed GTK:

file_selection.png

(reminds you of Borland's !TurboVision? IDE for DOS doesn't it? :)