home *** CD-ROM | disk | FTP | other *** search
/ Login Magazine 68 / LoginMagazineNo68.bin / contribs / ncurses-4.2.txt < prev    next >
Text File  |  1999-11-07  |  11KB  |  249 lines

  1.  
  2. This is a binary package of ncurses-4.2.  Some binary packages may need
  3. this for compatibility.  Note that if you install this, you will link with
  4. this version of ncurses when compiling.  If you'd rather link with the
  5. version in the D series, then reinstall that one after installing this.
  6.  
  7. The original announcement for ncurses-4.2 follows. 
  8.  
  9. ---
  10.  
  11.                             Announcing ncurses 4.2
  12.                                        
  13.    The ncurses (new curses) library is a freeware emulation of System V
  14.    Release 4.0 curses. It uses terminfo format, supports pads and color
  15.    and multiple highlights and forms characters and function-key mapping,
  16.    and has all the other SYSV-curses enhancements over BSD curses.
  17.    
  18.    In mid-June 1995, the maintainer of 4.4BSD curses declared that he
  19.    considered 4.4BSD curses obsolete, and is encouraging the keepers of
  20.    Unix releases such as BSD/OS, freeBSD and netBSD to switch over to
  21.    ncurses.
  22.    
  23.    The ncurses code was developed under Linux. It should port easily to
  24.    any ANSI/POSIX-conforming UNIX. It has even been ported to OS/2 Warp!
  25.    
  26.    The distribution includes the library and support utilities, including
  27.    a terminfo compiler tic(1), a decompiler infocmp(1), clear(1),
  28.    tput(1), tset(1), and a termcap conversion tool captoinfo(1). Full
  29.    manual pages are provided for the library and tools.
  30.    
  31.    The ncurses distribution is available via anonymous FTP at the GNU
  32.    distribution site [1]ftp://prep.ai.mit.edu/pub/gnu. It is also
  33.    available at [2]ftp://ftp.clark.net/pub/dickey/ncurses.
  34.    
  35.                               Features of ncurses
  36.                                        
  37.    The ncurses package is fully compatible with SVr4 (System V Release 4)
  38.    curses:
  39.    
  40.      * All 257 of the SVr4 calls have been implemented (and are
  41.        documented).
  42.      * Full support for SVr4 curses features including keyboard mapping,
  43.        color, forms-drawing with ACS characters, and automatic
  44.        recognition of keypad and function keys.
  45.      * An emulation of the SVr4 panels library, supporting a stack of
  46.        windows with backing store, is included.
  47.      * An emulation of the SVr4 menus library, supporting a uniform but
  48.        flexible interface for menu programming, is included.
  49.      * An emulation of the SVr4 form library, supporting data collection
  50.        through on-screen forms, is included.
  51.      * Binary terminfo entries generated by the ncurses tic(1)
  52.        implementation are bit-for-bit-compatible with the entry format
  53.        SVr4 curses uses.
  54.      * The utilities have options to allow you to filter terminfo entries
  55.        for use with less capable curses/terminfo versions such as the
  56.        HP/UX and AIX ports.
  57.        
  58.    The ncurses package also has many useful extensions over SVr4:
  59.    
  60.      * The API is 8-bit clean and base-level conformant with the X/OPEN
  61.        curses specification, XSI Curses (that is, it implements all BASE
  62.        level features, but not all EXTENDED features). Most
  63.        EXTENDED-level features not directly concerned with wide-character
  64.        support are implemented, including many function calls not
  65.        supported under SVr4 curses (but portability of all calls is
  66.        documented so you can use the SVr4 subset only).
  67.      * Unlike SVr4 curses, ncurses can write to the rightmost-bottommost
  68.        corner of the screen if your terminal has an insert-character
  69.        capability.
  70.      * (PC-clone boxes only) Support for access to the IBM PC ROM
  71.        characters 0-32 through the highlight A_ALTCHARSET.
  72.      * Ada95 and C++ bindings.
  73.      * Support for mouse event reporting under xterm.
  74.      * Extended mouse support via Alessandro Rubini's gpm package.
  75.      * The function wresize() allows you to resize windows, preserving
  76.        their data.
  77.      * The function use_default_colors() allows you to use the terminal's
  78.        default colors for the default color pair, achieving the effect of
  79.        transparent colors.
  80.      * The functions keyok() and define_key() allow you to better control
  81.        the use of function keys, e.g., disabling the ncurses KEY_MOUSE,
  82.        or by defining more than one control sequence to map to a given
  83.        key code.
  84.      * Support for 16-color terminals, such as aixterm and XFree86 xterm.
  85.      * Better cursor-movement optimization. The package now features a
  86.        cursor-local-movement computation more efficient than either BSD's
  87.        or System V's.
  88.      * Super hardware scrolling support. The screen-update code
  89.        incorporates a novel, simple, and cheap algorithm that enables it
  90.        to make optimal use of hardware scrolling, line-insertion, and
  91.        line-deletion for screen-line movements. This algorithm is more
  92.        powerful than the 4.4BSD curses quickch() routine.
  93.      * Real support for terminals with the magic-cookie glitch. The
  94.        screen-update code will refrain from drawing a highlight if the
  95.        magic- cookie unattributed spaces required just before the
  96.        beginning and after the end would step on a non-space character.
  97.        It will automatically shift highlight boundaries when doing so
  98.        would make it possible to draw the highlight without changing the
  99.        visual appearance of the screen.
  100.      * It is possible to generate the library with a list of pre-loaded
  101.        fallback entries linked to it so that it can serve those terminal
  102.        types even when no terminfo tree or termcap file is accessible
  103.        (this may be useful for support of screen-oriented programs that
  104.        must run in single-user mode).
  105.      * The tic(1)/captoinfo utility provided with ncurses has the ability
  106.        to translate many termcaps from the XENIX, IBM and AT&T extension
  107.        sets.
  108.      * A BSD-like tset(1) utility is provided.
  109.      * The ncurses library and utilities will automatically read terminfo
  110.        entries from $HOME/.terminfo if it exists, and compile to that
  111.        directory if it exists and the user has no write access to the
  112.        system directory. This feature makes it easier for users to have
  113.        personal terminfo entries without giving up access to the system
  114.        terminfo directory.
  115.      * You may specify a path of directories to search for compiled
  116.        descriptions with the environment variable TERMINFO_DIRS (this
  117.        generalizes the feature provided by TERMINFO under stock System
  118.        V.)
  119.      * In terminfo source files, use capabilities may refer not just to
  120.        other entries in the same source file (as in System V) but also to
  121.        compiled entries in either the system terminfo directory or the
  122.        user's $HOME/.terminfo directory.
  123.      * A script (capconvert) is provided to help BSD users transition
  124.        from termcap to terminfo. It gathers the information in a TERMCAP
  125.        environment variable and/or a ~/.termcap local entries file and
  126.        converts it to an equivalent local terminfo tree under
  127.        $HOME/.terminfo.
  128.      * Automatic fallback to the /etc/termcap file can be compiled in
  129.        when it is not possible to build a terminfo tree. This feature is
  130.        neither fast nor cheap, you don't want to use it unless you have
  131.        to, but it's there.
  132.      * The table-of-entries utility toe makes it easy for users to see
  133.        exactly what terminal types are available on the system.
  134.      * The library meets the XSI requirement that every macro entry point
  135.        have a corresponding function which may be linked (and will be
  136.        prototype-checked) if the macro definition is disabled with
  137.        #undef.
  138.      * An HTML "Introduction to Programming with NCURSES" document
  139.        provides a narrative introduction to the curses programming
  140.        interface.
  141.        
  142.                              State of the Package
  143.                                        
  144.    Numerous bugs present in earlier versions have been fixed; the library
  145.    is far more reliable than it used to be. Bounds checking in many
  146.    `dangerous' entry points has been improved. The code is now type-safe
  147.    according to gcc -Wall. The library has been checked for malloc leaks
  148.    and arena corruption by the Purify memory-allocation tester.
  149.    
  150.    The ncurses code has been tested with a wide variety of applications
  151.    including:
  152.    
  153.    ded
  154.           directory-editor [3]ftp://ftp.clark.net/pub/dickey/ded.
  155.           
  156.    dialog
  157.           the underlying application used in Slackware's setup, and the
  158.           basis for similar applications on Linux.
  159.           
  160.    lynx-2.7
  161.           the character-screen WWW browser
  162.           
  163.    Midnight Commander 4.1
  164.           file manager
  165.           
  166.    mutt 0.88
  167.           mail utility
  168.           
  169.    ncftp 2.0
  170.           file-transfer utility
  171.           
  172.    nvi
  173.           New vi versions 1.50 are able to use ncurses versions 1.9.7 and
  174.           later.
  175.           
  176.    taper
  177.           tape archive utility
  178.           
  179.    vh-1.6
  180.           Volks-Hypertext browser for the Jargon File
  181.           
  182.    as well as some that use ncurses for the terminfo support alone:
  183.    
  184.    minicom-1.75
  185.           terminal emulator
  186.           
  187.    tin-unoff
  188.           tin 1.4 newsreader, supporting color, MIME
  189.           [4]ftp://ftp.akk.uni-karlsruhe.de/pub/news/clients/tin-unoff.
  190.           
  191.    vile
  192.           vi-like-emacs [5]ftp://ftp.clark.net/pub/dickey/vile.
  193.           
  194.    The ncurses distribution includes a selection of test programs
  195.    (including a few games).
  196.    
  197. Who's Who and What's What
  198.  
  199.    The original developers of ncurses are [6]Zeyd Ben-Halim and [7]Eric
  200.    S. Raymond. Ongoing work is being done by [8]Thomas Dickey and
  201.    [9]Jⁿrgen Pfeifer. [10]Florian La Roche acts as the maintainer for the
  202.    Free Software Foundation, which holds the copyright on ncurses.
  203.    Contact the current maintainers at [11]bug-ncurses@gnu.org.
  204.    
  205.    To join the ncurses mailing list, please write email to
  206.    bug-ncurses-request@gnu.org containing the line:
  207.              subscribe <name>@<host.domain>
  208.  
  209.    This list is open to anyone interested in helping with the development
  210.    and testing of this package.
  211.    
  212.    Beta versions of ncurses and patches to the current release are made
  213.    available at [12]ftp://ftp.clark.net/pub/dickey/ncurses.
  214.    
  215. Future Plans
  216.  
  217.      * Extended-level XPG4 conformance, with internationalization
  218.        support.
  219.      * Ports to more systems, including DOS and Windows.
  220.        
  221.    We need people to help with these projects. If you are interested in
  222.    working on them, please join the ncurses list.
  223.    
  224. Other Related Resources
  225.  
  226.    The distribution includes and uses a version of the terminfo-format
  227.    terminal description file maintained by Eric Raymond.
  228.    [13]http://earthspace.net/~esr/terminfo.
  229.    
  230.    You can find lots of information on terminal-related topics not
  231.    covered in the terminfo file at [14]Richard Shuford's archive.
  232.  
  233. References
  234.  
  235.    1. ftp://prep.ai.mit.edu/pub/gnu
  236.    2. ftp://ftp.clark.net/pub/dickey/ncurses
  237.    3. ftp://ftp.clark.net/pub/dickey/ded
  238.    4. ftp://ftp.akk.uni-karlsruhe.de/pub/news/clients/tin-unoff
  239.    5. ftp://ftp.clark.net/pub/dickey/vile
  240.    6. mailto:zmbenhal@netcom.com
  241.    7. http://www.ccil.org/~esr/home.html
  242.    8. mailto:dickey@clark.net
  243.    9. mailto:Juergen.Pfeifer@T-Online.de
  244.   10. mailto:florian@gnu.org
  245.   11. mailto:bug-ncurses@gnu.org
  246.   12. ftp://ftp.clark.net/pub/dickey/ncurses
  247.   13. http://earthspace.net/~esr/terminfo
  248.   14. http://www.cs.utk.edu/~shuford/terminal_index.html
  249.