ncurses

From Wikipedia, the free encyclopedia

ncurses
Developed by GNU Project
Latest release 5.6 / December 23, 2006 (2006-12-23); 536 days ago
OS POSIX
Genre Widget toolkit
License MIT license
Website www.gnu.org/software/ncurses/ncurses.html

ncurses is a programming library providing an API, allowing the programmer to write text user interfaces (textual blocky UI) in a terminal-independent manner. It's a toolkit for developing "GUI-like" apps which run under a terminal emulator. It also optimizes screen changes, in order to reduce the latency experienced when using remote shells.

The project leader is Thomas Dickey.

Contents

[edit] History

The "N" in ncurses is an abbreviation of the word "new." This is because ncurses is a free software emulation (clone) of System V Release 4.0 (SVr4) curses, an enhancement over the discontinued classic 4.4 BSD curses. The XSI Curses standard issued by X/Open is explicitly and closely modeled on System V.

Most ncurses calls can be easily ported to the old curses. System V curses implementations can support BSD curses programs with just a recompilation. [1]. However, a few areas are problematic, such as handling terminal resizing (since no counterpart exists in the old curses). Other subtle differences in call semantics can make porting an ncurses application to commercial Unix somewhat difficult.[citation needed]

[edit] Terminal database

Ncurses can use either terminfo (with extensible data), or termcap. Other implementations of curses generally use terminfo; a minority use termcap. Few (mytinfo was an older exception[2]) use both.

[edit] License

Ncurses is a part of the GNU Project. It is one of the few GNU files not distributed under the GNU GPL or LGPL; it is distributed under a permissive free software licence, similar to the MIT License. This is due to the agreement made with the Free Software Foundation at the time the developers assigned their copyright. However, because it is Free Software Foundation software, they may choose to GPL it in the future. [1]

[edit] Programs using ncurses

There are hundreds of programs which use ncurses. [3][4] Some, such as GNU Screen and w3m, use only the termcap interface, performing screen management within the application. Others, such as GNU Midnight Commander and Aptitude use the curses programming interface.

[edit] See also

[edit] References

  1. ^ A Hacker's Guide to Ncurses Internals
  2. ^ Ross Ridge (December 27 1992). mytinfo posting to comp.sources.unix newsgroup. Internet Systems Consortium, Inc.
  3. ^ Search results: +ncurses. freshmeat.net.
  4. ^ Projects tagged ‘ncurses’. ohloh.

[edit] External links

[edit] Toolkits

[edit] Language bindings

[edit] Distributions and packages