X-Git-Url: https://ncurses.scripts.mit.edu/?p=ncurses.git;a=blobdiff_plain;f=README;h=56bc38586f48cb167d49a3efd62c5a9f03db9f7c;hp=8af7db77fc8af4400ac88c825f6ede7a08e82b86;hb=879fd5bd9d5139bcf96c9188cbc3858014fceb4d;hpb=3a9b6a3bf0269231bef7de74757a910dedd04e0c diff --git a/README b/README index 8af7db77..56bc3858 100644 --- a/README +++ b/README @@ -1,3 +1,32 @@ +------------------------------------------------------------------------------- +-- Copyright (c) 1998-2004,2006 Free Software Foundation, Inc. -- +-- -- +-- Permission is hereby granted, free of charge, to any person obtaining a -- +-- copy of this software and associated documentation files (the -- +-- "Software"), to deal in the Software without restriction, including -- +-- without limitation the rights to use, copy, modify, merge, publish, -- +-- distribute, distribute with modifications, sublicense, and/or sell copies -- +-- of the Software, and to permit persons to whom the Software is furnished -- +-- to do so, subject to the following conditions: -- +-- -- +-- The above copyright notice and this permission notice shall be included -- +-- in all copies or substantial portions of the Software. -- +-- -- +-- THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS -- +-- OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF -- +-- MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN -- +-- NO EVENT SHALL THE ABOVE COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, -- +-- DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR -- +-- OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE -- +-- USE OR OTHER DEALINGS IN THE SOFTWARE. -- +-- -- +-- Except as contained in this notice, the name(s) of the above copyright -- +-- holders shall not be used in advertising or otherwise to promote the -- +-- sale, use or other dealings in this Software without prior written -- +-- authorization. -- +------------------------------------------------------------------------------- +-- $Id: README,v 1.23 2006/04/22 22:19:37 tom Exp $ +------------------------------------------------------------------------------- README file for the ncurses package See the file ANNOUNCE for a summary of ncurses features and ports. @@ -8,15 +37,15 @@ See the file TO-DO for things that still need doing, including known bugs. Browse the file misc/ncurses-intro.html for narrative descriptions of how to use ncurses and the panel, menu, and form libraries. -Browse the file misc/hackguide.html for a tour of the package internals. +Browse the file doc/html/hackguide.html for a tour of the package internals. ROADMAP AND PACKAGE OVERVIEW: -You should be reading this file in a directory called: ncurses-d.d.d, -where d.d.d is the current version number (see the dist.mk file in -this directory for that). There should be a number of subdirectories, -including `c++', `form', `man', `menu', `misc', `ncurses', `panel', -`progs', `test', and `Ada95'. +You should be reading this file in a directory called: ncurses-d.d, where d.d +is the current version number (see the dist.mk file in this directory for +that). There should be a number of subdirectories, including `c++', `form', +`man', `menu', `misc', `ncurses', `panel', `progs', `test', 'tack' and `Ada95'. +(The 'tack' program may be distributed separately). A full build/install of this package typically installs several libraries, a handful of utilities, and a database hierarchy. Here is an inventory of the @@ -30,33 +59,44 @@ The libraries are: libncurses_p.a (profiling enabled) libpanel.a (normal) + libpanel.so (shared) libpanel_g.a (debug and trace code enabled) libmenu.a (normal) + libmenu.so (shared) libmenu_g.a (debug enabled) libform.a (normal) + libform.so (shared) libform_g.a (debug enabled) +If you configure using the --enable-widec option, a "w" is appended to the +library names (e.g., libncursesw.a), and the resulting libraries support +wide-characters, e.g., via a UTF-8 locale. The corresponding header files +are compatible with the non-wide-character configuration; wide-character +features are provided by ifdef's in the header files. The wide-character +library interfaces are not binary-compatible with the non-wide-character +version. + The ncurses libraries implement the curses API. The panel, menu and forms -libraries implement clones of the SVr4 panel, menu and forms APIs. The -source code for these lives in the `ncurses', `panel', `menu', and -`form' directories respectively. +libraries implement clones of the SVr4 panel, menu and forms APIs. The source +code for these lives in the `ncurses', `panel', `menu', and `form' directories +respectively. In the `c++' directory, you'll find code that defines an interface to the -curses and panels library packaged as a C++ class, and a demo program in C++ -to test it. These class definition modules are not installed anywhere by -default; it's up to you what you do with them. +curses, forms, menus and panels library packaged as C++ classes, and a demo program in C++ +to test it. These class definition modules are not installed by the 'make +install.libs' rule as libncurses++. In the `Ada95' directory, you'll find code and documentation for an Ada95 binding of the curses API, to be used with the GNAT compiler. This binding is built by a normal top-level `make' if configure detects -an usable version of GNAT (3.05 or above). It is not installed automatically. +an usable version of GNAT (3.11 or above). It is not installed automatically. See the Ada95 directory for more build and installation instructions and for documentation of the binding. -In order to do its job, the ncurses code needs your terminal type to be set in -the environment variable TERM (normally set by your OS; under UNIX, getty(1) +To do its job, the ncurses code needs your terminal type to be set in the +environment variable TERM (normally set by your OS; under UNIX, getty(1) typically does this, but you can override it in your .profile); and, it needs a database of terminal descriptions in which to look up your terminal type's capabilities. @@ -72,7 +112,7 @@ second form. In the `misc' directory, there is a text file terminfo.src, in editable terminfo format, which can be used to generate the terminfo binaries (that's what make install.data does). If the package was built with the ---with-termcap option enabled, and the ncurses library can't find a terminfo +--enable-termcap option enabled, and the ncurses library cannot find a terminfo description for your terminal, it will fall back to the termcap file supplied with your system (which the ncurses package installation leaves strictly alone). @@ -83,33 +123,23 @@ The utilities are as follows: infocmp -- terminfo binary to source decompiler/comparator clear -- emits clear-screen for current terminal tput -- shell-script access to terminal capabilities. - tset -- terminal-initialization utility toe -- table of entries utility + tset -- terminal-initialization utility -The first two are used for manipulating terminfo descriptions; the next two -are for use in shell scripts. The last is provided for 4.4BSD compatibility. -The source code for all of these lives in the `progs' directory. - -Detailed documentation for all libraries and utilities can be found in -the `man' directory. An HTML introduction to ncurses, panels, and -menus programming lives in the `misc' directory. - -The `test' directory contains programs that can be used to verify the -functions of the ncurses libraries. See test/README for descriptions of -these programs. Notably, the `ncurses' utility is designed to help you -systematically exercise the library functions. - -RELATED RESOURCES: - -This distribution now includes (and uses) a copy of the master terminfo -database maintained by Eric Raymond. This database (which is the -official descendant of the 4.4BSD termcap file) changes faster than this -code does. +The first two (tic and infocmp) are used for manipulating terminfo +descriptions; the next two (clear and tput) are for use in shell scripts. The +last (tset) is provided for 4.4BSD compatibility. The source code for all of +these lives in the `progs' directory. -You can surf to a WWW page that carries the current terminfo master file, -and news about ncurses, at +Detailed documentation for all libraries and utilities can be found in the +`man' and `doc' directories. An HTML introduction to ncurses, panels, and +menus programming lives in the `doc/html' directory. Manpages in HTML format +are under `doc/html/man'. - http://www.ccil.org/~esr/ncurses.html +The `test' directory contains programs that can be used to verify or +demonstrate the functions of the ncurses libraries. See test/README for +descriptions of these programs. Notably, the `ncurses' utility is designed to +help you systematically exercise the library functions. AUTHORS: @@ -119,26 +149,33 @@ Pavel Curtis: Zeyd M. Ben-Halim: port of original to Linux and many enhancements. -Thomas Dickey (maintainer since 1.9.9e): +Thomas Dickey (maintainer for 1.9.9g through 4.1, resuming with FSF's 5.0): configuration scripts, porting, mods to adhere to XSI Curses in the areas of background color, terminal modes. Also memory leak testing, - the wresize extension and numerous bug fixes (more than half of those - enumerated in NEWS since release 1.9.2d) + the wresize, default colors and key definition extensions and numerous + bug fixes (more than half of those enumerated in NEWS beginning with + the internal release 1.8.9). + +Florian La Roche (official maintainer for FSF's ncurses 4.2) + Beginning with release 4.2, ncurses is distributed under an MIT-style + license. Eric S. Raymond: the man pages, infocmp(1), tput(1), clear(1), captoinfo(1), tset(1), - toe(1), most of tic(1), src/lib_twait.c, trace levels, the HTML intro, - wgetnstr() and many other entry points, the cursor-movement - optimization, the scroll-pack optimizer for vertical motions, - the mouse interface and xterm mouse support, and the ncurses - test program. + toe(1), most of tic(1), trace levels, the HTML intro, wgetnstr() and + many other entry points, the cursor-movement optimization, the + scroll-pack optimizer for vertical motions, the mouse interface and + xterm mouse support, and the ncurses test program. Juergen Pfeifer - The menu and form code, and the Ada95 binding. Ongoing support for - panel. + The menu and form libraries, C++ bindings for ncurses, menus, forms and + panels, as well as the Ada95 binding. Ongoing support for panel. CONTRIBUTORS: +Alexander V. Lukyanov + for numerous fixes and improvements to the optimization logic. + David MacKenzie for first-class bug-chasing and methodical testing. @@ -161,10 +198,13 @@ Keith Bostic (maintainer of 4.4BSD curses) for help, criticism, comments, bug-finding, and being willing to deep-six BSD curses for this one when it grew up. +Richard Stallman, + for his commitment to making ncurses free software. + Countless other people have contributed by reporting bugs, sending fixes, suggesting improvements, and generally whining about ncurses :-) BUGS: See the INSTALL file for bug and developer-list addresses. - The Hacker's Guide in the misc directory includes some guidelines + The Hacker's Guide in the doc directory includes some guidelines on how to report bugs in ways that will get them fixed most quickly.