announce.html.in revision 262629
1262629Sdelphij<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> 250276Speter<!-- 3262629Sdelphij $Id: announce.html.in,v 1.85 2011/04/04 00:05:34 tom Exp $ 4166124Srafan **************************************************************************** 5262629Sdelphij * Copyright (c) 1998-2010,2011 Free Software Foundation, Inc. * 6166124Srafan * * 7166124Srafan * Permission is hereby granted, free of charge, to any person obtaining a * 8166124Srafan * copy of this software and associated documentation files (the * 9166124Srafan * "Software"), to deal in the Software without restriction, including * 10166124Srafan * without limitation the rights to use, copy, modify, merge, publish, * 11166124Srafan * distribute, distribute with modifications, sublicense, and/or sell * 12166124Srafan * copies of the Software, and to permit persons to whom the Software is * 13166124Srafan * furnished to do so, subject to the following conditions: * 14166124Srafan * * 15166124Srafan * The above copyright notice and this permission notice shall be included * 16166124Srafan * in all copies or substantial portions of the Software. * 17166124Srafan * * 18166124Srafan * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS * 19166124Srafan * OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF * 20166124Srafan * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. * 21166124Srafan * IN NO EVENT SHALL THE ABOVE COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, * 22166124Srafan * DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR * 23166124Srafan * OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR * 24166124Srafan * THE USE OR OTHER DEALINGS IN THE SOFTWARE. * 25166124Srafan * * 26166124Srafan * Except as contained in this notice, the name(s) of the above copyright * 27166124Srafan * holders shall not be used in advertising or otherwise to promote the * 28166124Srafan * sale, use or other dealings in this Software without prior written * 29166124Srafan * authorization. * 30166124Srafan **************************************************************************** 3150276Speter--> 3250276Speter 33262629Sdelphij<html> 34262629Sdelphij<head> 35262629Sdelphij <meta name="generator" content= 36262629Sdelphij "HTML Tidy for Linux/x86 (vers 6 November 2007), see www.w3.org"> 3750276Speter 38262629Sdelphij <title>Announcing ncurses @VERSION@</title> 39262629Sdelphij <link rev="made" href="mailto:bug-ncurses@gnu.org"> 40262629Sdelphij <meta http-equiv="Content-Type" content= 41262629Sdelphij "text/html; charset=us-ascii"> 42262629Sdelphij</head> 4350276Speter 44262629Sdelphij<body> 45262629Sdelphij <h1>Announcing ncurses @VERSION@</h1>The ncurses (new curses) 46262629Sdelphij library is a free software emulation of curses in System V 47262629Sdelphij Release 4.0, and more. It uses terminfo format, supports pads and 48262629Sdelphij color and multiple highlights and forms characters and 49262629Sdelphij function-key mapping, and has all the other SYSV-curses 50262629Sdelphij enhancements over BSD curses. 5150276Speter 52262629Sdelphij <p>In mid-June 1995, the maintainer of 4.4BSD curses declared 53262629Sdelphij that he considered 4.4BSD curses obsolete, and encouraged the 54262629Sdelphij keepers of Unix releases such as BSD/OS, FreeBSD and NetBSD to 55262629Sdelphij switch over to ncurses.</p> 5650276Speter 57262629Sdelphij <p>The ncurses code was developed under GNU/Linux. It has been in 58262629Sdelphij use for some time with OpenBSD as the system curses library, and 59262629Sdelphij on FreeBSD and NetBSD as an external package. It should port 60262629Sdelphij easily to any ANSI/POSIX-conforming UNIX. It has even been ported 61262629Sdelphij to OS/2 Warp!</p> 6250276Speter 63262629Sdelphij <p>The distribution includes the library and support utilities, 64262629Sdelphij including a terminfo compiler tic(1), a decompiler infocmp(1), 65262629Sdelphij clear(1), tput(1), tset(1), and a termcap conversion tool 66262629Sdelphij captoinfo(1). Full manual pages are provided for the library and 67262629Sdelphij tools.</p> 6850276Speter 69262629Sdelphij <p>The ncurses distribution is available via anonymous FTP at the 70262629Sdelphij GNU distribution site <a href= 71262629Sdelphij "ftp://ftp.gnu.org/gnu/ncurses/">ftp://ftp.gnu.org/gnu/ncurses/</a> .<br> 7250276Speter 73262629Sdelphij It is also available at <a href= 74262629Sdelphij "ftp://invisible-island.net/ncurses/">ftp://invisible-island.net/ncurses/</a> .</p> 7550276Speter 76262629Sdelphij <h1>Release Notes</h1>This release is designed to be upward 77262629Sdelphij compatible from ncurses 5.0 through 5.8; very few applications 78262629Sdelphij will require recompilation, depending on the platform. These are 79262629Sdelphij the highlights from the change-log since ncurses 5.8 release. 80262629Sdelphij <p> 81262629Sdelphij This is a bug-fix release, correcting a small number of urgent problems 82262629Sdelphij in the ncurses library from the 5.8 release. 83262629Sdelphij <p> 84262629Sdelphij It also improves the Ada95 binding: 85262629Sdelphij <ul> 86262629Sdelphij <li>fixes a longstanding portability problem with its use of the 87262629Sdelphij <a href="http://invisible-island.net/ncurses/man/form_fieldtype.3x">set_field_type</a> 88262629Sdelphij function. Because that function uses variable-length argument lists, 89262629Sdelphij its interface with gnat does not work with certain platforms. 90262629Sdelphij <li>improves configurability and portability, particularly when built 91262629Sdelphij separately from the main ncurses tree. The 5.8 release introduced 92262629Sdelphij scripts which can be used to construct separate tarballs for the 93262629Sdelphij Ada95 and ncurses examples. 94262629Sdelphij <p>Those were a proof of concept. For the 5.9 release, those 95262629Sdelphij scripts are augmented with rpm- and dpkg-scripts used in test builds 96262629Sdelphij against a variety of gnat- and system ncurses versions as old as 97262629Sdelphij gnat 3.15 and ncurses 5.4 (see snapshots and systems tested 98262629Sdelphij <a href="http://invisible-island.net/ncurses/ncurses-Ada95.html">here</a>. 99262629Sdelphij <li>additional improvements were made for portability of the 100262629Sdelphij ncurses examples, adding rpm- and dpkg-scripts for test-builds. 101262629Sdelphij See 102262629Sdelphij <a href="http://invisible-island.net/ncurses/ncurses-examples.html">this page</a> 103262629Sdelphij for snapshots and other information. 104262629Sdelphij </ul> 10550276Speter 106262629Sdelphij <h1>Features of Ncurses</h1>The ncurses package is fully 107262629Sdelphij compatible with SVr4 (System V Release 4) curses: 10876726Speter 109262629Sdelphij <ul> 110262629Sdelphij <li>All 257 of the SVr4 calls have been implemented (and are 111262629Sdelphij documented).</li> 11250276Speter 113262629Sdelphij <li>Full support for SVr4 curses features including keyboard 114262629Sdelphij mapping, color, forms-drawing with ACS characters, and 115262629Sdelphij automatic recognition of keypad and function keys.</li> 11650276Speter 117262629Sdelphij <li>An emulation of the SVr4 panels library, supporting a stack 118262629Sdelphij of windows with backing store, is included.</li> 11976726Speter 120262629Sdelphij <li>An emulation of the SVr4 menus library, supporting a 121262629Sdelphij uniform but flexible interface for menu programming, is 122262629Sdelphij included.</li> 12376726Speter 124262629Sdelphij <li>An emulation of the SVr4 form library, supporting data 125262629Sdelphij collection through on-screen forms, is included.</li> 12676726Speter 127262629Sdelphij <li>Binary terminfo entries generated by the ncurses tic(1) 128262629Sdelphij implementation are bit-for-bit-compatible with the entry format 129262629Sdelphij SVr4 curses uses.</li> 13076726Speter 131262629Sdelphij <li>The utilities have options to allow you to filter terminfo 132262629Sdelphij entries for use with less capable 133262629Sdelphij <strong>curses</strong>/<strong>terminfo</strong> versions such 134262629Sdelphij as the HP/UX and AIX ports.</li> 135262629Sdelphij </ul>The ncurses package also has many useful extensions over 136262629Sdelphij SVr4: 13776726Speter 138262629Sdelphij <ul> 139262629Sdelphij <li>The API is 8-bit clean and base-level conformant with the 140262629Sdelphij X/OPEN curses specification, XSI curses (that is, it implements 141262629Sdelphij all BASE level features, and most EXTENDED features). It 142262629Sdelphij includes many function calls not supported under SVr4 curses 143262629Sdelphij (but portability of all calls is documented so you can use the 144262629Sdelphij SVr4 subset only).</li> 14550276Speter 146262629Sdelphij <li>Unlike SVr3 curses, ncurses can write to the 147262629Sdelphij rightmost-bottommost corner of the screen if your terminal has 148262629Sdelphij an insert-character capability.</li> 14950276Speter 150262629Sdelphij <li>Ada95 and C++ bindings.</li> 15150276Speter 152262629Sdelphij <li>Support for mouse event reporting with X Window xterm and 153262629Sdelphij FreeBSD and OS/2 console windows.</li> 15450276Speter 155262629Sdelphij <li>Extended mouse support via Alessandro Rubini's gpm 156262629Sdelphij package.</li> 15750276Speter 158262629Sdelphij <li>The function <code>wresize</code> allows you to resize 159262629Sdelphij windows, preserving their data.</li> 16050276Speter 161262629Sdelphij <li>The function <code>use_default_colors</code> allows you to 162262629Sdelphij use the terminal's default colors for the default color pair, 163262629Sdelphij achieving the effect of transparent colors.</li> 16450276Speter 165262629Sdelphij <li>The functions <code>keyok</code> and 166262629Sdelphij <code>define_key</code> allow you to better control the use of 167262629Sdelphij function keys, e.g., disabling the ncurses KEY_MOUSE, or by 168262629Sdelphij defining more than one control sequence to map to a given key 169262629Sdelphij code.</li> 17050276Speter 171262629Sdelphij <li>Support for 256-color terminals, such as modern xterm, when 172262629Sdelphij configured using the <code>--enable-ext-colors</code> 173262629Sdelphij option.</li> 17450276Speter 175262629Sdelphij <li>Support for 16-color terminals, such as <em>aixterm</em> 176262629Sdelphij and <em>modern xterm</em>.</li> 17750276Speter 178262629Sdelphij <li>Better cursor-movement optimization. The package now 179262629Sdelphij features a cursor-local-movement computation more efficient 180262629Sdelphij than either BSD's or System V's.</li> 18150276Speter 182262629Sdelphij <li>Super hardware scrolling support. The screen-update code 183262629Sdelphij incorporates a novel, simple, and cheap algorithm that enables 184262629Sdelphij it to make optimal use of hardware scrolling, line-insertion, 185262629Sdelphij and line-deletion for screen-line movements. This algorithm is 186262629Sdelphij more powerful than the 4.4BSD curses <code>quickch</code> 187262629Sdelphij routine.</li> 18850276Speter 189262629Sdelphij <li>Real support for terminals with the magic-cookie glitch. 190262629Sdelphij The screen-update code will refrain from drawing a highlight if 191262629Sdelphij the magic- cookie unattributed spaces required just before the 192262629Sdelphij beginning and after the end would step on a non-space 193262629Sdelphij character. It will automatically shift highlight boundaries 194262629Sdelphij when doing so would make it possible to draw the highlight 195262629Sdelphij without changing the visual appearance of the screen.</li> 19650276Speter 197262629Sdelphij <li>It is possible to generate the library with a list of 198262629Sdelphij pre-loaded fallback entries linked to it so that it can serve 199262629Sdelphij those terminal types even when no terminfo tree or termcap file 200262629Sdelphij is accessible (this may be useful for support of 201262629Sdelphij screen-oriented programs that must run in single-user 202262629Sdelphij mode).</li> 20362449Speter 204262629Sdelphij <li>The tic(1)/captoinfo utility provided with ncurses has the 205262629Sdelphij ability to translate many termcaps from the XENIX, IBM and 206262629Sdelphij AT&T extension sets.</li> 20762449Speter 208262629Sdelphij <li>A BSD-like tset(1) utility is provided.</li> 20962449Speter 210262629Sdelphij <li>The ncurses library and utilities will automatically read 211262629Sdelphij terminfo entries from $HOME/.terminfo if it exists, and compile 212262629Sdelphij to that directory if it exists and the user has no write access 213262629Sdelphij to the system directory. This feature makes it easier for users 214262629Sdelphij to have personal terminfo entries without giving up access to 215262629Sdelphij the system terminfo directory.</li> 21676726Speter 217262629Sdelphij <li>You may specify a path of directories to search for 218262629Sdelphij compiled descriptions with the environment variable 219262629Sdelphij TERMINFO_DIRS (this generalizes the feature provided by 220262629Sdelphij TERMINFO under stock System V.)</li> 22176726Speter 222262629Sdelphij <li>In terminfo source files, use capabilities may refer not 223262629Sdelphij just to other entries in the same source file (as in System V) 224262629Sdelphij but also to compiled entries in either the system terminfo 225262629Sdelphij directory or the user's $HOME/.terminfo directory.</li> 22676726Speter 227262629Sdelphij <li>A script (<strong>capconvert</strong>) is provided to help 228262629Sdelphij BSD users transition from termcap to terminfo. It gathers the 229262629Sdelphij information in a TERMCAP environment variable and/or a 230262629Sdelphij ~/.termcap local entries file and converts it to an equivalent 231262629Sdelphij local terminfo tree under $HOME/.terminfo.</li> 23276726Speter 233262629Sdelphij <li>Automatic fallback to the /etc/termcap file can be compiled 234262629Sdelphij in when it is not possible to build a terminfo tree. This 235262629Sdelphij feature is neither fast nor cheap, you don't want to use it 236262629Sdelphij unless you have to, but it's there.</li> 23776726Speter 238262629Sdelphij <li>The table-of-entries utility <strong>toe</strong> makes it 239262629Sdelphij easy for users to see exactly what terminal types are available 240262629Sdelphij on the system.</li> 241184989Srafan 242262629Sdelphij <li>The library meets the XSI requirement that every macro 243262629Sdelphij entry point have a corresponding function which may be linked 244262629Sdelphij (and will be prototype-checked) if the macro definition is 245262629Sdelphij disabled with <code>#undef</code>.</li> 246184989Srafan 247262629Sdelphij <li>An HTML "Introduction to Programming with NCURSES" document 248262629Sdelphij provides a narrative introduction to the curses programming 249262629Sdelphij interface.</li> 250262629Sdelphij </ul> 251184989Srafan 252262629Sdelphij <h1>State of the Package</h1>Numerous bugs present in earlier 253262629Sdelphij versions have been fixed; the library is far more reliable than 254262629Sdelphij it used to be. Bounds checking in many `dangerous' entry points 255262629Sdelphij has been improved. The code is now type-safe according to gcc 256262629Sdelphij -Wall. The library has been checked for malloc leaks and arena 257262629Sdelphij corruption by the Purify memory-allocation tester. 258184989Srafan 259262629Sdelphij <p>The ncurses code has been tested with a wide variety of 260262629Sdelphij applications including (versions starting with those noted):</p> 26176726Speter 262262629Sdelphij <dl> 263262629Sdelphij <dt>cdk</dt> 26476726Speter 265262629Sdelphij <dd>Curses Development Kit<br> 266262629Sdelphij <a href= 267262629Sdelphij "http://invisible-island.net/cdk/">http://invisible-island.net/cdk/</a><br> 26876726Speter 269262629Sdelphij <a href= 270262629Sdelphij "http://www.vexus.ca/products/CDK/">http://www.vexus.ca/products/CDK/</a></dd> 27176726Speter 272262629Sdelphij <dt>ded</dt> 27376726Speter 274262629Sdelphij <dd>directory-editor<br> 275262629Sdelphij <a href= 276262629Sdelphij "http://invisible-island.net/ded/">http://invisible-island.net/ded/</a></dd> 27776726Speter 278262629Sdelphij <dt>dialog</dt> 27976726Speter 280262629Sdelphij <dd>the underlying application used in Slackware's setup, and 281262629Sdelphij the basis for similar applications on GNU/Linux.<br> 282262629Sdelphij <a href= 283262629Sdelphij "http://invisible-island.net/dialog/">http://invisible-island.net/dialog/</a></dd> 284184989Srafan 285262629Sdelphij <dt>lynx</dt> 286184989Srafan 287262629Sdelphij <dd>the character-screen WWW browser<br> 288262629Sdelphij <a href= 289262629Sdelphij "http://lynx.isc.org/release/">http://lynx.isc.org/release/</a></dd> 290184989Srafan 291262629Sdelphij <dt>Midnight Commander</dt> 29276726Speter 293262629Sdelphij <dd>file manager<br> 294262629Sdelphij <a href= 295262629Sdelphij "http://www.midnight-commander.org/">http://www.midnight-commander.org/</a></dd> 29676726Speter 297262629Sdelphij <dt>mutt</dt> 29876726Speter 299262629Sdelphij <dd>mail utility<br> 300262629Sdelphij <a href="http://www.mutt.org/">http://www.mutt.org/</a></dd> 30176726Speter 302262629Sdelphij <dt>ncftp</dt> 30350276Speter 304262629Sdelphij <dd>file-transfer utility<br> 305262629Sdelphij <a href="http://www.ncftp.com/">http://www.ncftp.com/</a></dd> 30676726Speter 307262629Sdelphij <dt>nvi</dt> 30876726Speter 309262629Sdelphij <dd>New vi versions 1.50 are able to use ncurses versions 1.9.7 310262629Sdelphij and later.<br> 311262629Sdelphij <a href= 312262629Sdelphij "https://sites.google.com/a/bostic.com/keithbostic/nvi">https://sites.google.com/a/bostic.com/keithbostic/nvi</a><br> 313262629Sdelphij </dd> 31476726Speter 315262629Sdelphij <dt>pinfo</dt> 31676726Speter 317262629Sdelphij <dd>Lynx-like info browser. <a href= 318262629Sdelphij "https://alioth.debian.org/projects/pinfo/">https://alioth.debian.org/projects/pinfo/</a></dd> 31976726Speter 320262629Sdelphij <dt>tin</dt> 32176726Speter 322262629Sdelphij <dd>newsreader, supporting color, MIME <a href= 323262629Sdelphij "http://www.tin.org/">http://www.tin.org/</a></dd> 324262629Sdelphij </dl>as well as some that use ncurses for the terminfo support 325262629Sdelphij alone: 32676726Speter 327262629Sdelphij <dl> 328262629Sdelphij <dt>minicom</dt> 32976726Speter 330262629Sdelphij <dd>terminal emulator<br> 331262629Sdelphij <a href= 332262629Sdelphij "http://alioth.debian.org/projects/minicom/">http://alioth.debian.org/projects/minicom/</a></dd> 33350276Speter 334262629Sdelphij <dt>vile</dt> 33550276Speter 336262629Sdelphij <dd>vi-like-emacs<br> 337262629Sdelphij <a href= 338262629Sdelphij "http://invisible-island.net/vile/">http://invisible-island.net/vile/</a></dd> 339262629Sdelphij </dl> 34050276Speter 341262629Sdelphij <p>The ncurses distribution includes a selection of test programs 342262629Sdelphij (including a few games).</p> 34350276Speter 344262629Sdelphij <h2>Who's Who and What's What</h2>Zeyd Ben-Halim started it from 345262629Sdelphij a previous package pcurses, written by Pavel Curtis. Eric S. 346262629Sdelphij Raymond continued development. Jürgen Pfeifer wrote most of 347262629Sdelphij the form and menu libraries. Ongoing work is being done by 348262629Sdelphij <a href="mailto:dickey@invisible-island.net">Thomas Dickey</a>. 349262629Sdelphij Thomas Dickey acts as the maintainer for the Free Software 350262629Sdelphij Foundation, which holds the copyright on ncurses. Contact the 351262629Sdelphij current maintainers at <a href= 352262629Sdelphij "mailto:bug-ncurses@gnu.org">bug-ncurses@gnu.org</a>. 35350276Speter 354262629Sdelphij <p>To join the ncurses mailing list, please write email to 355262629Sdelphij <code>bug-ncurses-request@gnu.org</code> containing the line:</p> 356262629Sdelphij <pre> 357262629Sdelphij subscribe <name>@<host.domain> 358262629Sdelphij</pre> 35950276Speter 360262629Sdelphij <p>This list is open to anyone interested in helping with the 361262629Sdelphij development and testing of this package.</p> 36250276Speter 363262629Sdelphij <p>Beta versions of ncurses and patches to the current release 364262629Sdelphij are made available at <a href= 365262629Sdelphij "ftp://invisible-island.net/ncurses/">ftp://invisible-island.net/ncurses/</a> .</p> 36650276Speter 367262629Sdelphij <h2>Future Plans</h2> 36850276Speter 369262629Sdelphij <ul> 370262629Sdelphij <li>Extended-level XPG4 conformance, with internationalization 371262629Sdelphij support.</li> 37250276Speter 373262629Sdelphij <li>Ports to more systems, including DOS and Windows.</li> 374262629Sdelphij </ul>We need people to help with these projects. If you are 375262629Sdelphij interested in working on them, please join the ncurses list. 37650276Speter 377262629Sdelphij <h2>Other Related Resources</h2>The distribution provides a newer 378262629Sdelphij version of the terminfo-format terminal description file once 379262629Sdelphij maintained by <a href="http://www.catb.org/~esr/terminfo/">Eric 380262629Sdelphij Raymond</a> . Unlike the older version, the termcap and 381262629Sdelphij terminfo data are provided in the same file, and provides several 382262629Sdelphij user-definable extensions beyond the X/Open specification. 38350276Speter 384262629Sdelphij <p>You can find lots of information on terminal-related topics 385262629Sdelphij not covered in the terminfo file at <a href= 386262629Sdelphij "http://web.archive.org/web/*/http://www.cs.utk.edu/~shuford/terminal"> 387262629Sdelphij Richard Shuford's archive</a> .</p> 388262629Sdelphij</body> 389262629Sdelphij</html> 390