Ncurses

ncurses は、端末に依存しない形式でテキストユーザインタフェース (TUI) を作成するためのAPIを提供するライブラリ。画面切り替えを最適化し、リモートシェルで使ってもレイテンシを最小に抑えるようになっている。

概要 
"ncurses"は"new curses"の略であり、開発が途切れた4.4BSDのcursesの代替を意図している。従来のcursesを使ったプログラムの移植は容易である。しかし、端末エミュレータではなく実際のVT100などの端末を想定していたため、端末サイズの変更への対処などは古いcursesにはなかった。

ncursesはterminfo、またはtermcapを使うことができる。cursesの他の実装では一般にterminfoを使っており、termcapを使うものは少ない。数少ない例外として、mytinfoは両方を使っている。

プロジェクトリーダーは、Thomas Dickeyである。

ncursesはGNUプロジェクトの一環として開発されているが、ライセンス条件はGNU GPLやLGPLではなく、MIT Licenseによく似たものとなっている。これは当時、フリーソフトウェア財団と開発者が交わした著作権に関する合意によるものである。しかし、現在はフリーソフトウェア財団のソフトウェアであるため、将来的にはGPLとなる可能性もある。

脚注

外部リンク 
ncurses ホームページ
ncurses Programming HOWTO
"Writing Programs with NCURSES" by Eric S. Raymond and Zeyd M. Ben-Halim
ncurses FAQ by Thomas Dickey
A Hacker's Guide to NCURSES
Example programs with NCURSES

ツールキット 
Development Kit for C++

言語バインディング 
Ada95用
Common Lisp用
JavaScript用
PHP用
Python用
Ruby用

ディストリビューションとパッケージ 
Ncurses package for Windows – GnuWin32

GNUプロジェクト
API
ウィジェット・ツールキット