Ncurses

Ncurses

Infobox_Software
name = ncurses


caption =
developer = GNU Project
latest_release_version = 5.6
latest_release_date = release_date|2006|12|23
operating_system = POSIX
genre = Widget toolkit
license = MIT license
website = [http://www.gnu.org/software/ncurses/ncurses.html www.gnu.org/software/ncurses/ncurses.html]

ncurses is a programming library providing an API, allowing the programmer to write text user interfaces 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.

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. [ [http://invisible-island.net/ncurses/hackguide.html#abstract A Hacker's Guide to Ncurses Internals ] ] 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.Fact|date=September 2007

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 [cite web
url=http://www.isc.org/index.pl?/sources/utils/terminal/mytinfo.php
author=Ross Ridge
title=mytinfo posting to comp.sources.unix newsgroup
publisher=Internet Systems Consortium, Inc
date=December 27 1992
] ) use both.

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. [ [http://invisible-island.net/ncurses/ncurses.faq.html#relicensed NCURSES - Frequently Asked Questions (FAQ) ] ]

Programs using ncurses

There are hundreds of programs which use ncurses. [cite web
url=http://freshmeat.net/search/?q=ncurses&section=projects&Go.x=0&Go.y=0
title=Search results: +ncurses
publisher=freshmeat.net
] [cite web
url=http://www.ohloh.net/tags/ncurses
title=Projects tagged ‘ncurses’
publisher=ohloh
] 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 YaST use the curses programming interface.

See also

* SMG$ The Screen Management library available under OpenVMS
* conio
* Curses Development Kit
* Dialog (software)

References

External links

* [http://www.gnu.org/software/ncurses/ncurses.html ncurses homepage]
*Introduction " [http://invisible-island.net/ncurses/ncurses-intro.html Writing Programs with NCURSES] " by Eric S. Raymond and Zeyd M. Ben-Halim
* [http://tldp.org/HOWTO/NCURSES-Programming-HOWTO/ ncurses Programming HOWTO] ( and [http://www.ibiblio.org/pub/Linux/docs/HOWTO/other-formats/pdf/NCURSES-Programming-HOWTO.pdf PDF version] )
* [http://www.writeka.com/ed/ncurses_library.html ncurses Beginner's Tutorial]
* [http://invisible-island.net/ncurses/hackguide.html A Hacker's Guide to NCURSES]
* [http://invisible-island.net/ncurses/ncurses.faq.html Frequently asked questions and their corresponding answers] by Thomas Dickey

Toolkits

* [http://ndk-xx.sourceforge.net/ NDK++] Development Kit for C++

Language bindings

* [http://invisible-island.net/ncurses/Ada95.html Ada95 Binding]
* [http://common-lisp.net/project/cl-ncurses/ Binding for ANSI Common Lisp]
* [http://SpiderApe.sourceforge.net/plugins/ncurses/ Binding for JavaScript]
* [http://www.php.net/manual/en/ref.ncurses.php Terminal Screen Control Functions for PHP]
** [http://devzone.zend.com/node/view/id/1083 Using Ncurses in PHP]
* [http://docs.python.org/lib/module-curses.html Binding for Python]
* [http://ncurses-ruby.berlios.de/ Ruby module]

Distributions and packages

* [http://gnuwin32.sourceforge.net/packages/ncurses.htm Ncurses package for Windows] – GnuWin32


Wikimedia Foundation. 2010.

Игры ⚽ Поможем решить контрольную работу

Look at other dictionaries:

  • ncurses — based menuconfig Developer(s) GNU Project Stable release 5.9 / 4 April 2011; 7 months ago ( …   Wikipedia

  • Ncurses — Desarrollador Proyecto GNU www.gnu.org/software/ncurses/ncurses.html Información general Última versión estable 5.6 …   Wikipedia Español

  • Ncurses — Entwickler: Free Software Foundation Aktuelle Version: 5.7 (2. November 2008) Betriebssystem: Unix Derivate, GNU/Li …   Deutsch Wikipedia

  • Ncurses — Développeur Projet GNU Dernière version …   Wikipédia en Français

  • ncurses — menuconfig основанный на ncurses Тип Библиотека элементов интерфейса (виджетов) …   Википедия

  • ncurses — Entwickler Free Software Foundation Aktuelle Version 5.9 (4. April 2011) Betriebssystem Unix Derivate, GNU/Linux Kategorie Komponentenbibliothek …   Deutsch Wikipedia

  • Ncurses — Тип Widget toolkit Разработчик GNU Project ОС POSIX Версия 5.7 (2 ноября, 2008) Лицензия MIT …   Википедия

  • Ncurses — es una librería de programación que provee una API que permite al programador escribir interfaces basadas en texto, TUIs. También optimiza el refresco de la pantalla, lo que permite reducir la latencia experimentada cuando se usan shells remotas …   Enciclopedia Universal

  • GNU Guile-Ncurses — Développeur Projet GNU Dernière version …   Wikipédia en Français

  • Curses — ncurses Entwickler: Free Software Foundation Aktuelle Version: 5.7 (2. November 2008) Betriebssystem: Unix Derivate, GNU/Li …   Deutsch Wikipedia

Share the article and excerpts

Direct link
Do a right-click on the link above
and select “Copy Link”