ncurses: Classic terminal output library#


Ncurses (new curses, pronounced “enn-curses”) started as a freely distributable “clone” of System V Release 4.0 (SVr4) curses. It has outgrown the “clone” description, and now contains many features which are not in SVr4 curses. Curses is a pun on the term “cursor optimization”. It is a library of functions that manage an application’s display on character-cell terminals (e.g., VT100).

The name “ncurses” was first used as the name of the curses library in Pavel Curtis’s pcurses, dated 1982. It was apparently developed on a BSD 4.4 system, at Cornell. Parts of pcurses are readily identifiable in ncurses, including the basics for the terminfo compiler (named compile in that package):

  • the Caps, used to define the terminfo capabilities

  • awk scripts MKcaptab.awk, MKnames.awk

  • the library modules used for the terminfo compiler.

Besides ncurses, parts of pcurses still survive in 2010, in recognizable form in Solaris.



  • MIT-style

Upstream Contact#

Special Update/Build Instructions#





Version Information#



Equivalent System Packages#

$ apk add ncurses-dev
$ conda install ncurses
$ apt-cyg install libncurses-devel
$ sudo apt-get install libncurses5-dev
$ sudo yum install ncurses-devel
$ sudo pkg install devel/ncurses
$ brew install ncurses
$ sudo port install ncurses
$ sudo zypper install pkgconfig\(ncurses\) pkgconfig\(ncursesw\)
$ sudo slackpkg install ncurses
$ sudo xbps-install ncurses-devel


If the system package is installed, ./configure will check if it can be used.