http://invisible-island.net/
Copyright © 1996-2013,2014 by Thomas E. Dickey


NCURSES – New Curses

Synopsis

See the ncurses release announcement or the FAQ

History

Foundations...

Ncurses has an involved history:

Ncurses is the work of dozens of people. Some are listed in the credits.

My Involvement

My involvement with ncurses dates back to the 1.8.1 release. I was looking for an avenue to make a SystemV-based curses support resizable windows (e.g., in an xterm). This is easily achievable with BSD-curses, but not with the distributed versions of SystemV curses. Ncurses 1.8.1 was too immature (dumped core, was not portable, etc).

I revisited it in mid-1994, after an initial pass of making ded auto-configured. Ncurses 1.8.5 was advertised as 100% SVr4 compatible. I designed a minimal interface for resizeterm, proposing it to Zeyd, who promised it would be in 1.8.6 (it wasn't). Coming back to 1.8.7, I found that the color support was broken (specifically for add, which I had colorized using PDCurses with MS-DOS). Since the package is useless to me unless it implements faithfully the SVr4 interface, I approached Eric in early 1995 with my growing list of problems. For more information, see the discussion of the ncurses license.

Since then, I've corrected the implementation of color, terminal modes, implemented resizing, as well as the configuration scripts, and resolved numerous reliability and portability issues.

There is further work to do: the screen optimization has not been rigorously tested, there are interesting problems to work out with internationalization, etc.

Change-logs

Here are links to the changelog for ncurses:


Subsets of the Distribution

Starting with release 5.8, the source includes scripts which automate the process of building tarballs of useful subsets. These are

The tack program is commonly distributed with ncurses, though it is not part of ncurses.


Download

Download ncurses


Download tack


Terminal Database

The current terminfo/termcap sources are available via http. They require tic/infocmp from ncurses 5.7 or later, since they use a feature which was broken in previous releases.

Here are links to a browsable version of the terminfo database:

and here are the actual files:

You may also find the discussion of tctest useful.

MinGW Port

Beginning with ncurses 5.8, ncurses has been ported to Win32 console using MinGW. I have built it both on Windows7 as well as via cross-compiling from FreeBSD, Fedora and Debian. From the latter, I make occasional builds which you may find useful:

Other Resources

Stable releases are mentioned on gnu.org.

Packages

Comments