- Announcing ncurses 5.5
+ Announcing ncurses 5.8
The ncurses (new curses) library is a free software emulation of
curses in System V Release 4.0, and more. It uses terminfo format,
Release Notes
This release is designed to be upward compatible from ncurses 5.0
- through 5.4; very few applications will require recompilation,
+ through 5.7; very few applications will require recompilation,
depending on the platform. These are the highlights from the
- change-log since ncurses 5.4 release.
-
- Interface changes:
- * terminfo installs "xterm-new" as "xterm" entry rather than
- "xterm-old" (aka xterm-r6).
- * terminfo data is installed using the tic -x option (few systems
- still use ncurses 4.2).
- * modify C++ binding to work with newer C++ compilers by providing
- initializers and using modern casts. Old-style header names are
- still used in this release to allow compiling with not-so-old
- compilers.
- * modify parameter type in c++ binding for insch() and mvwinsch() to
- be consistent with underlying ncurses library (was char, is
- chtype).
- * change NCursesWindow::err_handler() to a virtual function.
- * form and menu libraries now work with wide-character data.
- Applications which bypassed the form library and manipulated the
- FIELD.buf data directly will not work properly with libformw,
- since that no longer points to an array of char. The
- set_field_buffer() and field_buffer() functions translate to/from
- the actual field data.
- * add symbol to curses.h which can be used to suppress include of
- stdbool.h, e.g.,
- #define NCURSES_ENABLE_STDBOOL_H 0
- #include <curses.h>
-
- * change SP->_current_attr to a pointer, adjust ifdef's to ensure
- that libtinfo.so and libtinfow.so have the same ABI. The reason
- for this is that the corresponding data which belongs to the
- upper-level ncurses library has a different size in each model.
- * winnstr() now returns multibyte character strings for the
- wide-character configuration.
- * assume_default_colors() no longer requires that
- use_default_colors() be called first.
- * data_ahead() now works with wide-characters.
- * slk_set() and slk_wset() now accept and store multibyte or
- multicolumn characters.
- * start_color() now returns OK if colors have already been started.
- start_color() also returns ERR if it cannot allocate memory.
- * pair_content() now returns -1 for consistency with init_pair() if
- it corresponds to the default-color.
- * unctrl() now returns null if its parameter does not correspond to
- an unsigned char.
-
- New features and improvements:
- * library
- + environment variable NCURSES_NO_UTF8_ACS supports
- miscellaneous terminal emulators which ignore alternate
- character set escape sequences when in UTF-8 mode.
- + modify initialization of key lookup table so that if an
- extended capability (tic -x) string is defined, and its name
- begins with 'k', ncurses will automatically treat it as a
- key.
- + change GPM initialization, using dl library to load it
- dynamically at runtime.
- + form, menu and panel libraries support debug-tracing.
- * add NCURSES-Programming-HOWTO.html by Pradeep Padala (see
- http://tldp.org/HOWTO/NCURSES-Programming-HOWTO/).
- * programs:
- * infocmp:
- + The -i option now matches 8-bit controls against its table
- entries, e.g., so it can analyze the xterm-8bit entry.
- + add "-x" option to infocmp like tic's "-x", for use in "-F"
- comparisons. This modifies infocmp to only report extended
- capabilities if the -x option is given, making this more
- consistent with tic. Some scripts may break, since infocmp
- previous gave this information without an option.
- * tic:
- + modify termcap-parsing to retain 2-character aliases at the
- beginning of an entry if the "-x" option is used in tic.
- + filter out long extended names when translating to termcap
- format. Only two characters are permissible for termcap
- capability names.
- + correct translation of "%%" in terminfo format to termcap,
- e.g., using "tic -C".
- + modify the "-c -v" options to ignore delays when comparing
- strings. Also modify it to ignore a canceled sgr string,
- e.g., for terminals which cannot properly combine attributes
- in one control sequence.
- + add a check for improperly ended strings, i.e., where a
- following line begins in column 1.
- + add a check in tic for terminfo entries having an sgr0 but no
- sgr string. This confuses Tru64 and HPUX curses when combined
- with color, e.g., making them leave line-drawing characters
- in odd places.
- + add check (with debug configuration) that provides about the
- runtime changes that would be made to sgr0 for termcap
- applications.
- * tset:
- + add -c and -w options to allow user to suppress ncurses'
- resizing of the terminal emulator window in the special case
- where it is not able to detect the true size.
-
- Major bug fixes:
- * improve logic in tgetent() which adjusts the termcap "me" string
- to work with ISO-2022 string used in xterm-new. This is a feature
- that was incompletely implemented in ncurses 5.3. ncurses attempts
- to provide termcap clients with the portion of the sgr0 (termcap
- "me") string that does not reset line-drawing.
- * cells in the WINDOW which are continuations of a multicolumn
- character are encoded differently, making repainting more
- reliable.
- * amend change to setupterm() in ncurses 5.4 (20030405) which would
- reuse the value of cur_term if the same output was selected. This
- now reuses it only when setupterm() is called from tgetent(),
- which has no notion of separate SCREENs. Note that tgetent() must
- be called after initscr() or newterm() to use this feature.
- * make setcchar() now works when its wchar_t* parameter is pointing
- to a string which contains more data than can be converted.
- * win_wchnstr() now works for more than one cell.
- * resizeterm() now processes all levels of window hierarchy.
- * disable GPM mouse support when $TERM happens to be prefixed with
- "xterm". Gpm_Open() would otherwise assert that it can deal with
- mouse events in this case.
- * add SP->_screen_acs_map[], used to ensure that mapping of missing
- line-drawing characters is handled properly. For example,
- ACS_DARROW is absent from xterm-new, and it was coincidentally
- displayed the same as ACS_BTEE.
-
- Portability:
+ change-log since ncurses 5.7 release.
+
+Interface changes
+
+ * turn on _XOPEN_CURSES definition in curses.h.
+ * change _nc_has_mouse to has_mouse, reflect its use in C++ and
+ Ada95.
+ * add is_pad and is_subwin functions for opaque access to the WINDOW
+ structure.
+ * add tiparm, based on review of X/Open Curses Issue 7.
+
+New features and improvements
+
+ Library Improvements
+
+ * add a terminal driver for Windows console, which supports a MinGW
+ port to Windows.
+ * add extended functions which specify the SCREEN pointer for
+ several curses functions which use the global SP.
+ * improve the NCURSES_NO_UTF8_ACS feature by adding a check for an
+ extended terminfo capability U8.
+ * improve performance of tigetstr, etc., by using hashing code from
+ tic.
+ * add WACS_xxx definitions to wide-character configuration for
+ thick- and double-lines.
+ * modify init_pair to allow caller to create extra color pairs
+ beyond the color_pairs limit, which use default colors.
+
+ Improvements to Programs
+
+ * add tabs program.
+ * modify tic's -I/-C dump to reformat acsc strings into canonical
+ form (sorted, unique mapping).
+ * add checks in tic for inconsistent cursor-movement controls, and
+ for inconsistent printer-controls.
+ * add special case to _nc_infotocap (used by tic and infocmp) to
+ recognize the setaf/setab strings from xterm+256color and
+ xterm+88color, and provide a reduced version which works with
+ termcap.
+
+ Terminal Database
+
+ * added entries:
+ + bterm terminfo entry, based on bogl 0.1.18
+ + cons25-debian entry
+ + eterm-color entry
+ + linux-16color
+ + mlterm+256color entry, for mlterm 3.0.0
+ + several screen-bce.xxx entries
+ + screen.Eterm terminfo entry
+ + vwmterm entry
+ + xterm-utf8 entry as a demo of the U8 feature
+ * updated/improved entries:
+ + use extended capabilities:
+ o add U8 feature to denote entries for terminal emulators
+ which do not support VT100 SI/SO when processing UTF-8
+ encoding
+ o add XT capability to entries for terminals that support
+ both xterm-style mouse- and title-controls, for screen
+ which special-cases TERM beginning with xterm or rxvt
+ + improvements based on new checks in tic:
+ +
+ o fill in no-parameter forms of cursor-movement where a
+ parameterized form is available
+ o fill in missing cursor controls where the form of the
+ controls is ANSI
+ o add parameterized cursor-controls to linux-basic
+ o modify nsterm, xnuppc and tek4115 to make sgr/sgr0
+ consistent
+ o change several terminfo entries to make consistent use
+ of ANSI clear-all-tabs
+ + extend ansi.sys pfkey capability from kf1-kf10 to kf1-kf48,
+ moving function key definitions from emx-base for
+ consistency.
+ + correct missing final 'p' in pfkey capability of
+ ansi.sys-old.
+ + rename atari and st52 terminfo entries to atari-old,
+ st52-old, use newer entries from FreeMiNT.
+ + repurpose gnome terminfo entries as vte, retaining gnome
+ variants for compatibility, but generally deprecating those
+ since the VTE library is what actually defines the behavior
+ of "gnome", etc., since 2003.
+ + improve interix smso terminfo capability by using reverse
+ rather than bold.
+ + correct initc capability of linux-c-nc end-of-range, make
+ similar change for dg+ccc and dgunix+ccc.
+ + update minix terminfo entry.
+ + updated nsterm* entries.
+ + remove unnecessary kcan assignment to ^C from putty.
+ + suppress ncv in screen and konsole-base entries, allowing
+ underline.
+ + change ncv and op capabilities in sun-color terminfo entry to
+ match Sun's entry for this.
+ + fix typo in rmso for tek4106 entry.
+ + improve acsc string for vt52, show arrow keys.
+ + add hard-reset for rs2 to wsvt25 to help ensure that reset
+ ends the alternate character set.
+ + add ccc and initc capabilities to xterm-16color.
+
+Major bug fixes
+
+ * ncurses library
+ + wide character support
+ o modify length returned by getcchar to count the trailing
+ null which is documented in X/Open.
+ o fix an infinite recursion when adding a legacy-coding
+ 8-bit value using insch.
+ o improve a workaround in adding wide-characters, when a
+ control character is found. The library uses unctrl to
+ obtain a printable version of the control character, but
+ was not passing color or video attributes.
+ o modify waddch_literal, updating line-pointer after a
+ multicolumn character is found to not fit on the current
+ row, and wrapping is done. Since the line-pointer was
+ not updated, the wrapped multicolumn character was
+ written to the beginning of the current row.
+ o fixes in wins_nwstr and related functions to ensure that
+ special characters, i.e., control characters are handled
+ properly with the wide-character configuration.
+ o correct internal _nc_insert_ch to use _nc_insert_wch
+ when inserting wide characters, since the wins_wch
+ function that it used did not update the cursor
+ position.
+ + mouse
+ o add check if Gpm_Open returns a -2, e.g., for "xterm".
+ This is normally suppressed but can be overridden using
+ $NCURSES_GPM_TERMS. Ensure that Gpm_Close is called in
+ this case.
+ o add check in mouse-driver to disable connection if GPM
+ returns a zero, indicating that the connection is
+ closed.
+ o modify getmouse to act as its documentation implied,
+ returning on each call the preceding event until none
+ are left. When no more events remain, it will return
+ ERR.
+ + miscellaneous
+ o improve handling of color-pairs embedded in attributes
+ for the extended-colors configuration.
+ o add check for failure to open hashed-database needed for
+ db4.6.
+ o modify use of $CC environment variable which is defined
+ by X/Open as a curses feature, to ignore it if it is not
+ a single character.
+ o modify declaration of cur_term when broken-linker is
+ used, but enable-reentrant is not, to match pre-5.7.
+ o correct limit-checks in derwin.
+ o remove old check in mvderwin which prevented moving a
+ derived window whose origin happened to coincide with
+ its parent's origin.
+ o correct limit-checks in newwin, to ensure that windows
+ have nonzero size.
+ o modify set_curterm to make broken-linker configuration
+ work with changes from 20090228.
+ o modify wgetch to ensure it checks SIGWINCH when it gets
+ an error in non-blocking mode.
+ o correct limit-check in wredrawln, accounting for
+ begy/begx values.
+ o fix a null-pointer check in _nc_format_slks in
+ lib_slk.c, from 20070704 changes.
+ o correct translation of "^" in _nc_infotocap, used to
+ transform terminfo to termcap strings.
+ o modify _nc_wgetch to check for a -1 in the fifo, e.g.,
+ after a SIGWINCH, and discard that value, to avoid
+ confusing application.
+ * other libraries
+ + correct transfer of multicolumn characters in multirow
+ field_buffer, which stopped at the end of the first row due
+ to filling of unused entries in a cchar_t array with nulls.
+ + correct buffer-size after internal resizing of wide-character
+ set_field_buffer, broken in 20081018 changes.
+ + correct layout of working window used to extract data in
+ wide-character configured by set_field_buffer
+
+Portability
+
* configure script:
+ new options:
- --enable-largefile
- set compiler and linker flags to use largefile
- support.
-
- --enable-ext-colors
- Allow encoding of 256 foreground and background
- colors, e.g., with the xterm-256color or
- xterm-88color terminfo entries. This requires ABI 6
- because it changes the size of cchar_t.
-
- --enable-ext-mouse
- This defines NCURSES_MOUSE_VERSION 2, and modifies
- the encoding of mouse events to support wheel mice,
- which may transmit buttons 4 and 5. This works with
- xterm and similar terminal emulators. This requires
- ABI 6 because it changes the encoding of mouse
- events.
-
- --with-chtype
- overriding of the non-LP64 model's use of chtype
-
- --with-mmask-t
- overriding of the non-LP64 model's use of mmask_t
-
- --without-xterm-new
- Installs "xterm-old" as the "xterm" entry of the
- terminfo database.
-
- + The --with-termlib option now accepts a value which sets the
- name of the terminfo library. This would allow a packager to
- build libtinfow.so renamed to coincide with libtinfo.so
- + fixes/improvements for cross-compiling:
- o suppress $suffix in misc/run_tic.sh when
- cross-compiling. This allows cross-compiles to use the
- host's tic program to handle the "make install.data"
- step.
- o correct BUILD_CPPFLAGS substitution in
- ncurses/Makefile.in, to allow cross-compiling from a
- separate directory tree.
- * library:
- + add ifdef's for _LP64 in curses.h to avoid using wasteful
- 64-bits for chtype and mmask_t, but add configure option
- --disable-lp64 in case anyone used that configuration.
- + modify C++ binding to use some C internal functions to make
- it compile properly on Solaris (and other platforms).
- + remove check in newwin() that prevents allocating windows
- that extend beyond the screen (Solaris does this).
- + check for nl_langinfo(CODESET), use it if available. This
- replaces ad hoc tests of environment variables to check if
- the terminal is setup for UTF-8 encoding. Applications which
- do not call setlocale() should be corrected, to make them
- work properly with UTF-8 encoding.
- In particular, applications which assume (and do not call
- setlocale()) that Latin-1 codes are printable will no longer
- work in a UTF-8 locale since the ad hoc check of environment
- variables to see if the locale was UTF-8 is not used when
- nl_langinfo(CODESET) is available.
- + use setlocale() to query the program's current locale rather
- than using getenv(). This supports applications which rely
- upon legacy treatment of 8-bit characters when the locale is
- not initialized.
+ --disable-libtool-version
+ use the "-version-number" feature which was added
+ in libtool 1.5. The default value for the option
+ uses the newer feature, which makes libraries
+ generated using libtool compatible with the
+ standard builds of ncurses.
+
+ --disable-rpath-hack
+ disable a feature which adds rpath options for
+ libraries in unusual places.
+
+ --enable-interop
+ integrate changes for generic/interop support to
+ form-library.
+
+ --enable-pc-files
+ generate ".pc" files for each of the libraries, and
+ install them in pkg-config's library directory.
+
+ --enable-pthreads-eintr
+ control whether to allow EINTR to interrupt a read
+ operation in wgetch. This applies only to the
+ pthread configuration
+
+ --enable-sp-funcs
+ compile-in support for extended functions which
+ accept a SCREEN pointer, reducing the need for
+ juggling the global SP value with set_term and
+ delscreen.
+
+ --enable-term-driver
+ compile with terminal-driver. That is used in the
+ MinGW port, and (being somewhat more complicated)
+ is an experimental alternative to the conventional
+ termlib internals. Currently, it requires the
+ sp-funcs feature to be enabled.
+
+ --with-ncurses-wrap-prefix
+ allows setting the prefix for functions used to
+ wrap global variables to something other than
+ "_nc_".
+
+ --with-pkg-config=[DIR]
+ check for pkg-config, optionally specifying its
+ path.
+
+ --without-manpages
+ tells the configure script to suppress the install
+ of ncurses' manpages.
+
+ --without-tests
+ suppress building test programs.
+
+ + improved options:
+ o correct logic for --with-database, which was coded as an
+ enable-type switch.
+ o omit the opaque-functions from lib_gen.o when
+ --disable-ext-funcs is used.
+ * packaging:
+ + *-config scripts:
+ o modify adacurses-config to look for ".ali" files in the
+ adalib directory.
+ o correct install for the Ada95 tree, which omitted
+ libAdaCurses.a used in adacurses-config.
+ o change install for adacurses-config to provide
+ additional flavors such as adacursesw-config, for
+ ncursesw.
+ o modify scripts to generate ncurses*-config and pc-files
+ to add dependency for tinfo library.
+ o use ncurses*-config scripts if available for
+ test/configure.
+ o correct name for termlib in ncurses*-config, e.g., if it
+ is renamed to provide a single file for ncurses/ncursesw
+ libraries.
+ o generate manpages for the *-config scripts, adapted from
+ help2man.
+ o modify install-rule for manpages so that *-config
+ manpages will install when building with --srcdir.
+ o build-fixes for OpenSolaris aka Solaris 11, for
+ wide-character configuration as well as for rpath
+ feature in *-config scripts.
+ o use $includedir symbol in misc/ncurses-config.in, add
+ --includedir option.
+ o improve install-rules for pc-files.
+ o create the pkg-config library directory if needed.
+ o fix typo "==" where "=" is needed in ncurses-config.in
+ and gen-pkgconfig.in files.
+ o modify gen-pkgconfig.in to eliminate a dependency on
+ rpath when deciding whether to add $LIBS to --libs
+ output; that should be shown for the ncurses and tinfo
+ libraries without taking rpath into account.
+ o modify handling of $PKG_CONFIG_LIBDIR to use only the
+ first item in a possibly colon-separated list.
+ + other packaging issues
+ o add make-tar.sh scripts to Ada95 and test subdirectories
+ to help with making those separately distributable.
+ o add Ada95/configure script, to use in tar-file created
+ by Ada95/make-tar.sh.
+ o remove tar-copy.sh and related configure/Makefile
+ chunks, since the Ada95 binding is now installed using
+ rules in Ada95/src.
+ * cross-compiling:
+ + improve configure checks for location of tic and infocmp
+ programs used for installing database and for generating
+ fallback data, e.g., for cross-compiling.
+ + modify #define's for build-compiler to suppress cchar_t
+ symbol from compile of make_hash and make_keys, improving
+ cross-compilation of ncursesw.
+ + simplify include-dependencies of make_hash and make_keys, to
+ reduce the need for setting BUILD_CPPFLAGS in cross-compiling
+ when the build- and target-machines differ.
+ + correct cross-compiling configure check for CF_MKSTEMP macro,
+ by adding a check cache variable set by AC_CHECK_FUNC.
+ * library dependencies:
+ + revise wadd_wch and wecho_wchar to eliminate dependency on
+ unctrl.
+ + adjust configure script so that "t" is not added to library
+ suffix when weak-symbols are used, allowing the pthread
+ configuration to more closely match the non-thread naming.
+ * building the Ada95 tree:
+ + changes to use gnatmake project files in the Ada95 tree.
+ + add/use configure check to turn on project rules for
+ Ada95/src.
+ + old gnatmake (3.15) does not produce libraries using
+ project-file; work around by adding script to generate
+ alternate makefile.
+ + add configure --with-ada-sharedlib option, for the test_make
+ rule.
+ + move Ada95-related logic into aclocal.m4, since additional
+ checks will be needed to distinguish old/new implementations
+ of gnat.
+ + add test_make / test_clean / test_install rules in Ada95/src
+ + change install-path for adainclude directory to
+ /usr/share/ada (was /usr/lib/ada).
+ * other configure/build issues:
+ + make CCHARW_MAX value configurable, noting that changing this
+ would change the size of cchar_t, and would be
+ ABI-incompatible.
+ + improve comparison of program-names when checking for linked
+ flavors such as "reset" by ignoring the executable suffix.
+ + drop mkdirs.sh, use "mkdir -p".
+ + drop misc/ncu-indent and misc/jpf-indent; they are provided
+ by an external package [3]cindent.
+ + change makefiles to use $ARFLAGS rather than $AR_OPTS,
+ provide a configure check to detect whether a "-" is needed
+ before "ar" options.
+ + modify CF_DISABLE_LEAKS configure macro so that the
+ --enable-leaks option is not the same as --disable-leaks.
+ + improve configure script macros CF_HEADER_PATH and
+ CF_LIBRARY_PATH by adding CFLAGS, CPPFLAGS and LDFLAGS, LIBS
+ values to the search-lists.
+ + improve configure macros CF_GCC_VERSION and CF_GCC_WARNINGS
+ to work with gcc 4.x's c89 alias, which gives warning
+ messages for cases where older versions would produce an
+ error.
+ + modify CF_WITH_LIBTOOL configure check to allow unreleased
+ libtool version numbers (e.g. which include alphabetic chars,
+ as well as digits, after the final '.').
+ + improve use of symbolic links in makefiles by using "-f"
+ option if it is supported, to eliminate temporary removal of
+ the target
+ + add a configure-time check to pick a suitable value for
+ CC_SHARED_OPTS for Solaris.
+ + add -shared option to MK_SHARED_LIB when -Bsharable is used,
+ for *BSD's, without which "main" might be one of the shared
+ library's dependencies.
+ + modify configure script to allow building shared libraries
+ with gcc on AIX 5 or 6.
+ + suppress configure check for static/dynamic linker flags for
+ gcc on Solaris 10, since gcc is confused by absence of static
+ libc, and does not switch back to dynamic mode before
+ finishing the libraries.
+ + suppress configure check for static/dynamic linker flags for
+ gcc on Darwin.
+ + modify misc/run_tic.in to create parent directory, in case
+ this is a new install of hashed database.
+ + modify configure check for tic program, used for fallbacks,
+ to a warning if not found. This makes it simpler to use
+ additonal scripts to bootstrap the fallbacks code using tic
+ from the build tree.
+ * test programs:
+ + add test/demo_terminfo, for comparison with demo_termcap.
+ + improve test/ncurses.c 'F' test, show combining characters in
+ color.
+ + fix logic for 'V' in test/ncurses.c tests f/F.
+ + improve test/ncurses.c 'a test to put mouse droppings in the
+ proper window.
+ + modify ncurses 'F' test to demo wborder_set with colored
+ lines.
+ + modify ncurses 'f' test to demo wborder with colored lines.
+ + improve test/ncurses.c 'a' test, using unctrl more
+ consistently to display meta-characters.
+ + correct use of key_name in test/ncurses.c 'A' test, which
+ only displays wide-characters, not key-codes since 20070612.
+ + add test/clip_printw.c to illustrate how to use printw
+ without wrapping.
+ + modify test-programs, e.g,. test/view.c, to address subtle
+ differences between Tru64/Solaris and HPUX/AIX getcchar
+ return values.
+ + add some test programs (and make these use the same special
+ keys by sharing linedata.h functions): test/test_addstr.c
+ test/test_addwstr.c test/test_addchstr.c
+ test/test_add_wchstr.c
+ + add test/xterm-256color.dat
+ + modify test programs to allow them to be built with NetBSD
+ curses.
+ + fixes for test programs to build/work on HPUX and AIX, etc.
Features of Ncurses
The ncurses package also has many useful extensions over SVr4:
* The API is 8-bit clean and base-level conformant with the X/OPEN
curses specification, XSI curses (that is, it implements all BASE
- level features, but not all EXTENDED features). Most
- EXTENDED-level features not directly concerned with wide-character
- support are implemented, including many function calls not
- supported under SVr4 curses (but portability of all calls is
- documented so you can use the SVr4 subset only).
+ level features, and most EXTENDED features). It includes many
+ function calls not supported under SVr4 curses (but portability of
+ all calls is documented so you can use the SVr4 subset only).
* Unlike SVr3 curses, ncurses can write to the rightmost-bottommost
corner of the screen if your terminal has an insert-character
capability.
* Ada95 and C++ bindings.
- * Support for mouse event reporting with X Window xterm and OS/2
- console windows.
+ * Support for mouse event reporting with X Window xterm and FreeBSD
+ and OS/2 console windows.
* Extended mouse support via Alessandro Rubini's gpm package.
- * The function wresize() allows you to resize windows, preserving
+ * The function wresize allows you to resize windows, preserving
their data.
- * The function use_default_colors() allows you to use the terminal's
+ * The function use_default_colors allows you to use the terminal's
default colors for the default color pair, achieving the effect of
transparent colors.
- * The functions keyok() and define_key() allow you to better control
- the use of function keys, e.g., disabling the ncurses KEY_MOUSE,
- or by defining more than one control sequence to map to a given
- key code.
- * Support for 16-color terminals, such as aixterm and XFree86 xterm.
+ * The functions keyok and define_key allow you to better control the
+ use of function keys, e.g., disabling the ncurses KEY_MOUSE, or by
+ defining more than one control sequence to map to a given key
+ code.
+ * Support for 256-color terminals, such as modern xterm, when
+ configured using the --enable-ext-colors option.
+ * Support for 16-color terminals, such as aixterm and modern xterm.
* Better cursor-movement optimization. The package now features a
cursor-local-movement computation more efficient than either BSD's
or System V's.
incorporates a novel, simple, and cheap algorithm that enables it
to make optimal use of hardware scrolling, line-insertion, and
line-deletion for screen-line movements. This algorithm is more
- powerful than the 4.4BSD curses quickch() routine.
+ powerful than the 4.4BSD curses quickch routine.
* Real support for terminals with the magic-cookie glitch. The
screen-update code will refrain from drawing a highlight if the
magic- cookie unattributed spaces required just before the
cdk
Curses Development Kit
- [3]http://invisible-island.net/cdk/
- [4]http://www.vexus.ca/products/CDK/
+ [4]http://invisible-island.net/cdk/
+ [5]http://www.vexus.ca/products/CDK/
ded
directory-editor
- [5]http://invisible-island.net/ded/
+ [6]http://invisible-island.net/ded/
dialog
the underlying application used in Slackware's setup, and the
basis for similar applications on GNU/Linux.
- [6]http://invisible-island.net/dialog/
+ [7]http://invisible-island.net/dialog/
lynx
the character-screen WWW browser
- [7]http://lynx.isc.org/release/
+ [8]http://lynx.isc.org/release/
Midnight Commander
file manager
- [8]http://www.ibiblio.org/mc/
+ [9]http://www.midnight-commander.org/
mutt
mail utility
- [9]http://www.mutt.org/
+ [10]http://www.mutt.org/
ncftp
file-transfer utility
- [10]http://www.ncftp.com/
+ [11]http://www.ncftp.com/
nvi
New vi versions 1.50 are able to use ncurses versions 1.9.7 and
later.
- [11]http://www.bostic.com/vi/
+ [12]https://sites.google.com/a/bostic.com/keithbostic/nvi
pinfo
Lynx-like info browser.
- [12]http://dione.ids.pl/~pborys/software/pinfo/
+ [13]https://alioth.debian.org/projects/pinfo/
tin
- newsreader, supporting color, MIME [13]http://www.tin.org/
-
- vh-1.6
- Volks-Hypertext browser for the Jargon File
- [14]http://www.debian.org/Packages/unstable/text/vh.html
+ newsreader, supporting color, MIME [14]http://www.tin.org/
as well as some that use ncurses for the terminfo support alone:
minicom
terminal emulator
- [15]http://www.netsonic.fi/~walker/minicom.html
+ [15]http://alioth.debian.org/projects/minicom/
vile
vi-like-emacs
Who's Who and What's What
Zeyd Ben-Halim started it from a previous package pcurses, written by
- Pavel Curtis. Eric S. Raymond continued development. Jürgen Pfeifer
+ Pavel Curtis. Eric S. Raymond continued development. Juergen Pfeifer
wrote most of the form and menu libraries. Ongoing work is being done
by [17]Thomas Dickey. Thomas Dickey acts as the maintainer for the
Free Software Foundation, which holds the copyright on ncurses.
Other Related Resources
The distribution provides a newer version of the terminfo-format
- terminal description file maintained by [20]Eric Raymond . Unlike the
- older version, the termcap and terminfo data are provided in the same
- file.
+ terminal description file once maintained by [20]Eric Raymond . Unlike
+ the older version, the termcap and terminfo data are provided in the
+ same file, and provides several user-definable extensions beyond the
+ X/Open specification.
You can find lots of information on terminal-related topics not
covered in the terminfo file at [21]Richard Shuford's archive .
1. ftp://ftp.gnu.org/gnu/ncurses/
2. ftp://invisible-island.net/ncurses/
- 3. http://invisible-island.net/cdk/
- 4. http://www.vexus.ca/products/CDK/
- 5. http://invisible-island.net/ded/
- 6. http://invisible-island.net/dialog/
- 7. http://lynx.isc.org/release/
- 8. http://www.ibiblio.org/mc/
- 9. http://www.mutt.org/
- 10. http://www.ncftp.com/
- 11. http://www.bostic.com/vi/
- 12. http://dione.ids.pl/~pborys/software/pinfo/
- 13. http://www.tin.org/
- 14. http://www.debian.org/Packages/unstable/text/vh.html
- 15. http://www.netsonic.fi/~walker/minicom.html
+ 3. http://invisible-island.net/cindent/cindent.html
+ 4. http://invisible-island.net/cdk/
+ 5. http://www.vexus.ca/products/CDK/
+ 6. http://invisible-island.net/ded/
+ 7. http://invisible-island.net/dialog/
+ 8. http://lynx.isc.org/release/
+ 9. http://www.midnight-commander.org/
+ 10. http://www.mutt.org/
+ 11. http://www.ncftp.com/
+ 12. https://sites.google.com/a/bostic.com/keithbostic/nvi
+ 13. https://alioth.debian.org/projects/pinfo/
+ 14. http://www.tin.org/
+ 15. http://alioth.debian.org/projects/minicom/
16. http://invisible-island.net/vile/
17. mailto:dickey@invisible-island.net
18. mailto:bug-ncurses@gnu.org
19. ftp://invisible-island.net/ncurses/
20. http://www.catb.org/~esr/terminfo/
- 21. http://www.cs.utk.edu/~shuford/terminal_index.html
+ 21. http://web.archive.org/web/*/http://www.cs.utk.edu/~shuford/terminal