This is the latest version (0.7.2) of ncurses for linux. Read doc/Installation for instructions. Please note that the docs are behind the code (as usual) so take everything you read with a pinch of salt. I'm particularly interested in differences from the "real" SYSV, and programs that use curses. ncurses is a SYSV-compatible curses (screen management) package. It supports keypad() allowing access to function and arrow keys. It supports and uses Terminfo instead of termcap for terminal description. It has support for PC graphic characters (used in drawing boxes). It has color support similar to that in SYSV curses. It supports SYSVR4 curses with many more functions and identical behavior. I've split up the panels library, reversi, tetris, sokoban. They are now available separately from netcom.com:pub/zmbenhal/ changes from 0.7 to 0.7.2: yet another fix for getch(), this one fixes problems with ESC being swallowed if another character is typed before the 1 second timeout. Hopefully, addstr() and addch() are 8-bit clean. fixed lib_tparm.c to use stdarg.h (should run on suns now) order of capabilities changed to reflect that specified in SYSV this will allow for binary-compatiblilty with existing terminfo dbs. added halfdelay() fixed problems with asc_init() added A_PROTECT and A_INVIS cleaned up vidputs() general cleanup of the code more attention to portability to other systems added terminfos for hp70092 (wont work until changes to lib_update.c are made) and 386BSD pcvt drivers. Thanks to Hellmuth Michaelis for his help. optimization code is slated for the next major release, stay tuned! Changes from 0.6 to 0.7: color and ACS support is now fully compatible with SYSV at the terminfo level. Capabilities now includes as many SYSV caps I could find. tigetflag,tigetnum,tigetstr functions added. boolnames, boolfnames, boolcodes numnames, numfnames, numcodes, strnames, strfnames, strcodes arrays are now added. keyname() is added. All function keys can be defined in terminfo entries. fixed lin_tparm.c to behave properly. terminfo entries for vt* and xterm are included (improvements are welcome) more automation in handling caps and keys. included fixes from 0.6.1 added a few more missing functions. fixed a couple of minor bugs. updated docs JUST a little (still miles behind in documenting the newer features). Changes from ncurses0.5 to ncurses0.6 include: removed _numchngd from struct _win_st and made appropriate changes. rewritten kgetch() to remove problems with interaction between alram and read(). It caused SIGSEGV every now and then. fixed a bug that miscounted the numbers of columns when updating. (in lib_doupdate.c(ClrUpdate() -- iterate to columns not columns-1) fixed a bug that cause the lower-right corner to be incorrect. (in lib_doupdate.c(putChar() -- check against columns not columns-1) made resize() and cleanup() static to lib_newterm.c added notimeout(). added timeout() define in curses.h added more function prototypes and fixed napms. added use_env(). moved screen size detection to lib_setup.c. fixed newterm() to confirm to prototype. removed SIGWINCH support as SYSV does not define its semantics. cleaned-up lib_touch.c added waddnstr() and relatives. added slk_* support. fixed a bug in wdeleteln(). added PANEL library. modified Makefile for smoother installation. terminfo.h is really term.h Changes from ncurses0.4 to ncurses0.5 include: changed _win_st structure to allow support for missing functionality. Addition of terminfo support for all KEY_*. Support for nodelay(), timeout(), notimeout(). fixed a bug with the keypad char reading that did not return ESC until another key is pressed. nl mapping no longer occur on output (as should be) fixed bug '\n' no causing a LF. fixed bug that reset terminal colors regardless of whether we use color or not. Better support for ACS (not quite complete). fixed bug in wvline(). added curs_set(). changed from signal() to sigaction(). re-included the contents of impotrtant.patch into source. Changes from ncurses0.3 to ncurses0.4 include: Addition of more KEY_* definitions. Addition of function prototypes. Addition of several missing functions. No more crashes if screen size is undefined (use SIGWINCH handler). added a handler to cleanup after SIGSEGV (hopefully never needed). changed SRCDIR from /etc/term to /usr/lib/terminfo. renamed compile/dump to tic/untic. New scrolling code. fixed bug that reversed the sense of nl() and nonl(). Changes from ncurses0.2 to ncurses0.3 include: more support for color and graphics see test/ for examples. fixed various files to allow correct update after shelling out. more fixes for updates. no more core dumps if you don't have a terminfo entry. support for LINES and COLUMNS environment variables. support for SIGWINCH signal. added a handler for SIGINT for clean exits. Changes from ncurses0.1 to ncurses0.2 include: support for color. support for PC graphic characters. lib_trace.c updated to use stdarg.h and vprintf routines. added gdc.c (Great Digital Clock) as an example of using color. Changes from ncurses to ncruses0.1 include: replacing sgtty stuff by termios stuff. ANSIfication of some functions. Disabling cost analysis 'cause it's incorrect. A quick hack for a terminfo entry. Tests and flames are welcome. If you have programs that test curses please send them to me or tell me where to get them from. If you improve on the terminfo entry please send that too. CONTRIBUTORS: Special credit goes to: Pavel Curtis, for writing the original (and more importantly posting it). Gerhard Fuernkranz, for writing the slk_* routines and sending me the sources for the PANELS library. Warren Tucker, for writing the PANELS library. Hellmuth Michaelis, for many patches and testing the optimization code. Other people have contributed by reporting bugs, sending fixes, suggesting improvements, and generally whining about ncurses :-) Peter Cervasio Robert Sanders Mauro Condarelli William Cooper Toomas Tam Jens Claussen Peter Tobais Juergen Fischer Ulrich Pegelow Ed Carp Daniel Brahneborg Brandon S Allbery Terrel Tucker zmbenhal@netcom.com v0.1 July 31, 1992 v0.2 August 14, 1992 v0.3 January 20, 1993 v0.4 February 3, 1993 v0.5 February 14, 1993 v0.6 March 1, 1993 v0.7 April 1, 1993 v0.7.2 May 22, 1993