| 1 | Announcing ncurses 5.5 | 
|---|
| 2 |  | 
|---|
| 3 | The  ncurses  (new  curses)  library  is  a free software emulation of | 
|---|
| 4 | curses  in  System  V  Release 4.0, and more. It uses terminfo format, | 
|---|
| 5 | supports  pads  and color and multiple highlights and forms characters | 
|---|
| 6 | and   function-key   mapping,   and  has  all  the  other  SYSV-curses | 
|---|
| 7 | enhancements over BSD curses. | 
|---|
| 8 |  | 
|---|
| 9 | In  mid-June  1995,  the  maintainer of 4.4BSD curses declared that he | 
|---|
| 10 | considered  4.4BSD curses obsolete, and encouraged the keepers of Unix | 
|---|
| 11 | releases such as BSD/OS, FreeBSD and NetBSD to switch over to ncurses. | 
|---|
| 12 |  | 
|---|
| 13 | The ncurses code was developed under GNU/Linux. It has been in use for | 
|---|
| 14 | some  time  with  OpenBSD as the system curses library, and on FreeBSD | 
|---|
| 15 | and  NetBSD  as  an  external  package.  It  should port easily to any | 
|---|
| 16 | ANSI/POSIX-conforming UNIX. It has even been ported to OS/2 Warp! | 
|---|
| 17 |  | 
|---|
| 18 | The distribution includes the library and support utilities, including | 
|---|
| 19 | a   terminfo  compiler  tic(1),  a  decompiler  infocmp(1),  clear(1), | 
|---|
| 20 | tput(1),  tset(1),  and  a  termcap conversion tool captoinfo(1). Full | 
|---|
| 21 | manual pages are provided for the library and tools. | 
|---|
| 22 |  | 
|---|
| 23 | The  ncurses  distribution  is  available via anonymous FTP at the GNU | 
|---|
| 24 | distribution site [1]ftp://ftp.gnu.org/gnu/ncurses/ . | 
|---|
| 25 | It is also available at [2]ftp://invisible-island.net/ncurses/ . | 
|---|
| 26 |  | 
|---|
| 27 | Release Notes | 
|---|
| 28 |  | 
|---|
| 29 | This  release  is  designed  to  be upward compatible from ncurses 5.0 | 
|---|
| 30 | through   5.4;  very  few  applications  will  require  recompilation, | 
|---|
| 31 | depending   on  the  platform.  These  are  the  highlights  from  the | 
|---|
| 32 | change-log since ncurses 5.4 release. | 
|---|
| 33 |  | 
|---|
| 34 | Interface changes: | 
|---|
| 35 | * terminfo   installs  "xterm-new"  as  "xterm"  entry  rather  than | 
|---|
| 36 | "xterm-old" (aka xterm-r6). | 
|---|
| 37 | * terminfo  data  is  installed using the tic -x option (few systems | 
|---|
| 38 | still use ncurses 4.2). | 
|---|
| 39 | * modify  C++  binding to work with newer C++ compilers by providing | 
|---|
| 40 | initializers  and  using  modern casts. Old-style header names are | 
|---|
| 41 | still  used  in  this  release  to allow compiling with not-so-old | 
|---|
| 42 | compilers. | 
|---|
| 43 | * modify parameter type in c++ binding for insch() and mvwinsch() to | 
|---|
| 44 | be  consistent  with  underlying  ncurses  library  (was  char, is | 
|---|
| 45 | chtype). | 
|---|
| 46 | * change NCursesWindow::err_handler() to a virtual function. | 
|---|
| 47 | * form  and  menu  libraries  now  work  with  wide-character  data. | 
|---|
| 48 | Applications  which  bypassed the form library and manipulated the | 
|---|
| 49 | FIELD.buf  data  directly  will  not  work properly with libformw, | 
|---|
| 50 | since   that   no   longer   points  to  an  array  of  char.  The | 
|---|
| 51 | set_field_buffer()  and field_buffer() functions translate to/from | 
|---|
| 52 | the actual field data. | 
|---|
| 53 | * add  symbol  to  curses.h which can be used to suppress include of | 
|---|
| 54 | stdbool.h, e.g., | 
|---|
| 55 | #define NCURSES_ENABLE_STDBOOL_H 0 | 
|---|
| 56 | #include <curses.h> | 
|---|
| 57 |  | 
|---|
| 58 | * change  SP->_current_attr  to  a pointer, adjust ifdef's to ensure | 
|---|
| 59 | that  libtinfo.so  and  libtinfow.so have the same ABI. The reason | 
|---|
| 60 | for  this  is  that  the  corresponding  data which belongs to the | 
|---|
| 61 | upper-level ncurses library has a different size in each model. | 
|---|
| 62 | * winnstr()   now   returns  multibyte  character  strings  for  the | 
|---|
| 63 | wide-character configuration. | 
|---|
| 64 | * assume_default_colors()      no      longer      requires     that | 
|---|
| 65 | use_default_colors() be called first. | 
|---|
| 66 | * data_ahead() now works with wide-characters. | 
|---|
| 67 | * slk_set()  and  slk_wset()  now  accept  and  store  multibyte  or | 
|---|
| 68 | multicolumn characters. | 
|---|
| 69 | * start_color()  now returns OK if colors have already been started. | 
|---|
| 70 | start_color() also returns ERR if it cannot allocate memory. | 
|---|
| 71 | * pair_content()  now returns -1 for consistency with init_pair() if | 
|---|
| 72 | it corresponds to the default-color. | 
|---|
| 73 | * unctrl()  now returns null if its parameter does not correspond to | 
|---|
| 74 | an unsigned char. | 
|---|
| 75 |  | 
|---|
| 76 | New features and improvements: | 
|---|
| 77 | * library | 
|---|
| 78 | + environment     variable     NCURSES_NO_UTF8_ACS     supports | 
|---|
| 79 | miscellaneous   terminal  emulators  which  ignore  alternate | 
|---|
| 80 | character set escape sequences when in UTF-8 mode. | 
|---|
| 81 | + modify  initialization  of  key  lookup  table  so that if an | 
|---|
| 82 | extended  capability (tic -x) string is defined, and its name | 
|---|
| 83 | begins  with  'k',  ncurses  will automatically treat it as a | 
|---|
| 84 | key. | 
|---|
| 85 | + change  GPM  initialization,  using  dl  library  to  load it | 
|---|
| 86 | dynamically at runtime. | 
|---|
| 87 | + form, menu and panel libraries support debug-tracing. | 
|---|
| 88 | * add   NCURSES-Programming-HOWTO.html   by   Pradeep   Padala  (see | 
|---|
| 89 | http://tldp.org/HOWTO/NCURSES-Programming-HOWTO/). | 
|---|
| 90 | * programs: | 
|---|
| 91 | * infocmp: | 
|---|
| 92 | + The  -i  option  now matches 8-bit controls against its table | 
|---|
| 93 | entries, e.g., so it can analyze the xterm-8bit entry. | 
|---|
| 94 | + add  "-x"  option to infocmp like tic's "-x", for use in "-F" | 
|---|
| 95 | comparisons.  This  modifies  infocmp to only report extended | 
|---|
| 96 | capabilities  if  the  -x  option  is given, making this more | 
|---|
| 97 | consistent  with  tic.  Some scripts may break, since infocmp | 
|---|
| 98 | previous gave this information without an option. | 
|---|
| 99 | * tic: | 
|---|
| 100 | + modify  termcap-parsing  to retain 2-character aliases at the | 
|---|
| 101 | beginning of an entry if the "-x" option is used in tic. | 
|---|
| 102 | + filter  out  long  extended names when translating to termcap | 
|---|
| 103 | format.  Only  two  characters  are  permissible  for termcap | 
|---|
| 104 | capability names. | 
|---|
| 105 | + correct  translation  of  "%%" in terminfo format to termcap, | 
|---|
| 106 | e.g., using "tic -C". | 
|---|
| 107 | + modify  the  "-c  -v" options to ignore delays when comparing | 
|---|
| 108 | strings.  Also  modify  it  to  ignore a canceled sgr string, | 
|---|
| 109 | e.g.,  for terminals which cannot properly combine attributes | 
|---|
| 110 | in one control sequence. | 
|---|
| 111 | + add  a  check  for  improperly  ended  strings, i.e., where a | 
|---|
| 112 | following line begins in column 1. | 
|---|
| 113 | + add a check in tic for terminfo entries having an sgr0 but no | 
|---|
| 114 | sgr string. This confuses Tru64 and HPUX curses when combined | 
|---|
| 115 | with  color,  e.g., making them leave line-drawing characters | 
|---|
| 116 | in odd places. | 
|---|
| 117 | + add  check (with debug configuration) that provides about the | 
|---|
| 118 | runtime  changes  that  would  be  made  to  sgr0 for termcap | 
|---|
| 119 | applications. | 
|---|
| 120 | * tset: | 
|---|
| 121 | + add  -c  and  -w  options  to allow user to suppress ncurses' | 
|---|
| 122 | resizing  of the terminal emulator window in the special case | 
|---|
| 123 | where it is not able to detect the true size. | 
|---|
| 124 |  | 
|---|
| 125 | Major bug fixes: | 
|---|
| 126 | * improve  logic  in tgetent() which adjusts the termcap "me" string | 
|---|
| 127 | to  work with ISO-2022 string used in xterm-new. This is a feature | 
|---|
| 128 | that was incompletely implemented in ncurses 5.3. ncurses attempts | 
|---|
| 129 | to  provide  termcap clients with the portion of the sgr0 (termcap | 
|---|
| 130 | "me") string that does not reset line-drawing. | 
|---|
| 131 | * cells  in  the  WINDOW  which  are  continuations of a multicolumn | 
|---|
| 132 | character   are   encoded   differently,  making  repainting  more | 
|---|
| 133 | reliable. | 
|---|
| 134 | * amend  change to setupterm() in ncurses 5.4 (20030405) which would | 
|---|
| 135 | reuse  the value of cur_term if the same output was selected. This | 
|---|
| 136 | now  reuses  it  only  when  setupterm() is called from tgetent(), | 
|---|
| 137 | which  has no notion of separate SCREENs. Note that tgetent() must | 
|---|
| 138 | be called after initscr() or newterm() to use this feature. | 
|---|
| 139 | * make  setcchar() now works when its wchar_t* parameter is pointing | 
|---|
| 140 | to a string which contains more data than can be converted. | 
|---|
| 141 | * win_wchnstr() now works for more than one cell. | 
|---|
| 142 | * resizeterm() now processes all levels of window hierarchy. | 
|---|
| 143 | * disable  GPM  mouse support when $TERM happens to be prefixed with | 
|---|
| 144 | "xterm".  Gpm_Open()  would otherwise assert that it can deal with | 
|---|
| 145 | mouse events in this case. | 
|---|
| 146 | * add  SP->_screen_acs_map[], used to ensure that mapping of missing | 
|---|
| 147 | line-drawing   characters   is   handled  properly.  For  example, | 
|---|
| 148 | ACS_DARROW  is  absent  from  xterm-new, and it was coincidentally | 
|---|
| 149 | displayed the same as ACS_BTEE. | 
|---|
| 150 |  | 
|---|
| 151 | Portability: | 
|---|
| 152 | * configure script: | 
|---|
| 153 | + new options: | 
|---|
| 154 |  | 
|---|
| 155 | --enable-largefile | 
|---|
| 156 | set  compiler  and  linker  flags  to use largefile | 
|---|
| 157 | support. | 
|---|
| 158 |  | 
|---|
| 159 | --enable-ext-colors | 
|---|
| 160 | Allow  encoding  of  256  foreground and background | 
|---|
| 161 | colors,    e.g.,   with   the   xterm-256color   or | 
|---|
| 162 | xterm-88color terminfo entries. This requires ABI 6 | 
|---|
| 163 | because it changes the size of cchar_t. | 
|---|
| 164 |  | 
|---|
| 165 | --enable-ext-mouse | 
|---|
| 166 | This  defines NCURSES_MOUSE_VERSION 2, and modifies | 
|---|
| 167 | the encoding of mouse events to support wheel mice, | 
|---|
| 168 | which may transmit buttons 4 and 5. This works with | 
|---|
| 169 | xterm and similar terminal emulators. This requires | 
|---|
| 170 | ABI  6  because  it  changes  the encoding of mouse | 
|---|
| 171 | events. | 
|---|
| 172 |  | 
|---|
| 173 | --with-chtype | 
|---|
| 174 | overriding of the non-LP64 model's use of chtype | 
|---|
| 175 |  | 
|---|
| 176 | --with-mmask-t | 
|---|
| 177 | overriding of the non-LP64 model's use of mmask_t | 
|---|
| 178 |  | 
|---|
| 179 | --without-xterm-new | 
|---|
| 180 | Installs  "xterm-old"  as  the "xterm" entry of the | 
|---|
| 181 | terminfo database. | 
|---|
| 182 |  | 
|---|
| 183 | + The  --with-termlib option now accepts a value which sets the | 
|---|
| 184 | name  of the terminfo library. This would allow a packager to | 
|---|
| 185 | build libtinfow.so renamed to coincide with libtinfo.so | 
|---|
| 186 | + fixes/improvements for cross-compiling: | 
|---|
| 187 | o suppress     $suffix     in     misc/run_tic.sh     when | 
|---|
| 188 | cross-compiling.  This  allows cross-compiles to use the | 
|---|
| 189 | host's  tic  program  to  handle the "make install.data" | 
|---|
| 190 | step. | 
|---|
| 191 | o correct       BUILD_CPPFLAGS       substitution       in | 
|---|
| 192 | ncurses/Makefile.in,  to  allow  cross-compiling  from a | 
|---|
| 193 | separate directory tree. | 
|---|
| 194 | * library: | 
|---|
| 195 | + add  ifdef's  for  _LP64  in curses.h to avoid using wasteful | 
|---|
| 196 | 64-bits  for  chtype  and  mmask_t,  but add configure option | 
|---|
| 197 | --disable-lp64 in case anyone used that configuration. | 
|---|
| 198 | + modify  C++  binding to use some C internal functions to make | 
|---|
| 199 | it compile properly on Solaris (and other platforms). | 
|---|
| 200 | + remove  check  in  newwin()  that prevents allocating windows | 
|---|
| 201 | that extend beyond the screen (Solaris does this). | 
|---|
| 202 | + check  for  nl_langinfo(CODESET),  use  it if available. This | 
|---|
| 203 | replaces  ad  hoc  tests of environment variables to check if | 
|---|
| 204 | the  terminal is setup for UTF-8 encoding. Applications which | 
|---|
| 205 | do  not  call  setlocale()  should be corrected, to make them | 
|---|
| 206 | work properly with UTF-8 encoding. | 
|---|
| 207 | In  particular,  applications  which  assume (and do not call | 
|---|
| 208 | setlocale())  that Latin-1 codes are printable will no longer | 
|---|
| 209 | work  in a UTF-8 locale since the ad hoc check of environment | 
|---|
| 210 | variables  to  see  if  the locale was UTF-8 is not used when | 
|---|
| 211 | nl_langinfo(CODESET) is available. | 
|---|
| 212 | + use  setlocale() to query the program's current locale rather | 
|---|
| 213 | than  using  getenv().  This supports applications which rely | 
|---|
| 214 | upon  legacy treatment of 8-bit characters when the locale is | 
|---|
| 215 | not initialized. | 
|---|
| 216 |  | 
|---|
| 217 | Features of Ncurses | 
|---|
| 218 |  | 
|---|
| 219 | The ncurses package is fully compatible with SVr4 (System V Release 4) | 
|---|
| 220 | curses: | 
|---|
| 221 | * All  257  of  the  SVr4  calls  have  been  implemented  (and  are | 
|---|
| 222 | documented). | 
|---|
| 223 | * Full  support for SVr4 curses features including keyboard mapping, | 
|---|
| 224 | color,   forms-drawing   with   ACS   characters,   and  automatic | 
|---|
| 225 | recognition of keypad and function keys. | 
|---|
| 226 | * An  emulation  of  the  SVr4 panels library, supporting a stack of | 
|---|
| 227 | windows with backing store, is included. | 
|---|
| 228 | * An  emulation  of the SVr4 menus library, supporting a uniform but | 
|---|
| 229 | flexible interface for menu programming, is included. | 
|---|
| 230 | * An  emulation of the SVr4 form library, supporting data collection | 
|---|
| 231 | through on-screen forms, is included. | 
|---|
| 232 | * Binary   terminfo   entries   generated   by  the  ncurses  tic(1) | 
|---|
| 233 | implementation  are  bit-for-bit-compatible  with the entry format | 
|---|
| 234 | SVr4 curses uses. | 
|---|
| 235 | * The utilities have options to allow you to filter terminfo entries | 
|---|
| 236 | for  use  with  less  capable curses/terminfo versions such as the | 
|---|
| 237 | HP/UX and AIX ports. | 
|---|
| 238 |  | 
|---|
| 239 | The ncurses package also has many useful extensions over SVr4: | 
|---|
| 240 | * The  API  is 8-bit clean and base-level conformant with the X/OPEN | 
|---|
| 241 | curses  specification, XSI curses (that is, it implements all BASE | 
|---|
| 242 | level   features,   but   not   all   EXTENDED   features).   Most | 
|---|
| 243 | EXTENDED-level features not directly concerned with wide-character | 
|---|
| 244 | support   are  implemented,  including  many  function  calls  not | 
|---|
| 245 | supported  under  SVr4  curses  (but  portability  of all calls is | 
|---|
| 246 | documented so you can use the SVr4 subset only). | 
|---|
| 247 | * Unlike  SVr3 curses, ncurses can write to the rightmost-bottommost | 
|---|
| 248 | corner  of  the  screen  if  your terminal has an insert-character | 
|---|
| 249 | capability. | 
|---|
| 250 | * Ada95 and C++ bindings. | 
|---|
| 251 | * Support  for  mouse  event  reporting with X Window xterm and OS/2 | 
|---|
| 252 | console windows. | 
|---|
| 253 | * Extended mouse support via Alessandro Rubini's gpm package. | 
|---|
| 254 | * The  function  wresize()  allows you to resize windows, preserving | 
|---|
| 255 | their data. | 
|---|
| 256 | * The function use_default_colors() allows you to use the terminal's | 
|---|
| 257 | default colors for the default color pair, achieving the effect of | 
|---|
| 258 | transparent colors. | 
|---|
| 259 | * The functions keyok() and define_key() allow you to better control | 
|---|
| 260 | the  use  of function keys, e.g., disabling the ncurses KEY_MOUSE, | 
|---|
| 261 | or  by  defining  more than one control sequence to map to a given | 
|---|
| 262 | key code. | 
|---|
| 263 | * Support for 16-color terminals, such as aixterm and XFree86 xterm. | 
|---|
| 264 | * Better  cursor-movement  optimization.  The package now features a | 
|---|
| 265 | cursor-local-movement computation more efficient than either BSD's | 
|---|
| 266 | or System V's. | 
|---|
| 267 | * Super   hardware   scrolling   support.   The  screen-update  code | 
|---|
| 268 | incorporates  a novel, simple, and cheap algorithm that enables it | 
|---|
| 269 | to  make  optimal  use  of hardware scrolling, line-insertion, and | 
|---|
| 270 | line-deletion  for  screen-line  movements. This algorithm is more | 
|---|
| 271 | powerful than the 4.4BSD curses quickch() routine. | 
|---|
| 272 | * Real  support  for  terminals  with  the  magic-cookie glitch. The | 
|---|
| 273 | screen-update  code  will  refrain from drawing a highlight if the | 
|---|
| 274 | magic-   cookie  unattributed  spaces  required  just  before  the | 
|---|
| 275 | beginning  and  after the end would step on a non-space character. | 
|---|
| 276 | It  will  automatically  shift  highlight boundaries when doing so | 
|---|
| 277 | would  make it possible to draw the highlight without changing the | 
|---|
| 278 | visual appearance of the screen. | 
|---|
| 279 | * It  is  possible to generate the library with a list of pre-loaded | 
|---|
| 280 | fallback  entries linked to it so that it can serve those terminal | 
|---|
| 281 | types  even  when  no  terminfo tree or termcap file is accessible | 
|---|
| 282 | (this  may  be useful for support of screen-oriented programs that | 
|---|
| 283 | must run in single-user mode). | 
|---|
| 284 | * The tic(1)/captoinfo utility provided with ncurses has the ability | 
|---|
| 285 | to  translate many termcaps from the XENIX, IBM and AT&T extension | 
|---|
| 286 | sets. | 
|---|
| 287 | * A BSD-like tset(1) utility is provided. | 
|---|
| 288 | * The ncurses library and utilities will automatically read terminfo | 
|---|
| 289 | entries  from  $HOME/.terminfo  if  it exists, and compile to that | 
|---|
| 290 | directory  if  it  exists  and the user has no write access to the | 
|---|
| 291 | system  directory.  This feature makes it easier for users to have | 
|---|
| 292 | personal  terminfo  entries without giving up access to the system | 
|---|
| 293 | terminfo directory. | 
|---|
| 294 | * You  may  specify  a  path  of  directories to search for compiled | 
|---|
| 295 | descriptions  with  the  environment  variable TERMINFO_DIRS (this | 
|---|
| 296 | generalizes  the  feature  provided by TERMINFO under stock System | 
|---|
| 297 | V.) | 
|---|
| 298 | * In  terminfo  source files, use capabilities may refer not just to | 
|---|
| 299 | other entries in the same source file (as in System V) but also to | 
|---|
| 300 | compiled  entries  in  either the system terminfo directory or the | 
|---|
| 301 | user's $HOME/.terminfo directory. | 
|---|
| 302 | * A  script  (capconvert)  is  provided to help BSD users transition | 
|---|
| 303 | from  termcap to terminfo. It gathers the information in a TERMCAP | 
|---|
| 304 | environment  variable  and/or  a ~/.termcap local entries file and | 
|---|
| 305 | converts   it   to   an   equivalent  local  terminfo  tree  under | 
|---|
| 306 | $HOME/.terminfo. | 
|---|
| 307 | * Automatic  fallback  to  the  /etc/termcap file can be compiled in | 
|---|
| 308 | when  it is not possible to build a terminfo tree. This feature is | 
|---|
| 309 | neither  fast  nor cheap, you don't want to use it unless you have | 
|---|
| 310 | to, but it's there. | 
|---|
| 311 | * The  table-of-entries  utility  toe makes it easy for users to see | 
|---|
| 312 | exactly what terminal types are available on the system. | 
|---|
| 313 | * The library meets the XSI requirement that every macro entry point | 
|---|
| 314 | have  a  corresponding  function  which may be linked (and will be | 
|---|
| 315 | prototype-checked)  if  the  macro  definition  is  disabled  with | 
|---|
| 316 | #undef. | 
|---|
| 317 | * An  HTML  "Introduction  to  Programming  with  NCURSES"  document | 
|---|
| 318 | provides  a  narrative  introduction  to  the  curses  programming | 
|---|
| 319 | interface. | 
|---|
| 320 |  | 
|---|
| 321 | State of the Package | 
|---|
| 322 |  | 
|---|
| 323 | Numerous bugs present in earlier versions have been fixed; the library | 
|---|
| 324 | is  far  more  reliable  than  it  used to be. Bounds checking in many | 
|---|
| 325 | `dangerous'  entry points has been improved. The code is now type-safe | 
|---|
| 326 | according  to gcc -Wall. The library has been checked for malloc leaks | 
|---|
| 327 | and arena corruption by the Purify memory-allocation tester. | 
|---|
| 328 |  | 
|---|
| 329 | The  ncurses  code has been tested with a wide variety of applications | 
|---|
| 330 | including (versions starting with those noted): | 
|---|
| 331 |  | 
|---|
| 332 | cdk | 
|---|
| 333 | Curses Development Kit | 
|---|
| 334 | [3]http://invisible-island.net/cdk/ | 
|---|
| 335 | [4]http://www.vexus.ca/products/CDK/ | 
|---|
| 336 |  | 
|---|
| 337 | ded | 
|---|
| 338 | directory-editor | 
|---|
| 339 | [5]http://invisible-island.net/ded/ | 
|---|
| 340 |  | 
|---|
| 341 | dialog | 
|---|
| 342 | the  underlying  application used in Slackware's setup, and the | 
|---|
| 343 | basis for similar applications on GNU/Linux. | 
|---|
| 344 | [6]http://invisible-island.net/dialog/ | 
|---|
| 345 |  | 
|---|
| 346 | lynx | 
|---|
| 347 | the character-screen WWW browser | 
|---|
| 348 | [7]http://lynx.isc.org/release/ | 
|---|
| 349 |  | 
|---|
| 350 | Midnight Commander | 
|---|
| 351 | file manager | 
|---|
| 352 | [8]http://www.ibiblio.org/mc/ | 
|---|
| 353 |  | 
|---|
| 354 | mutt | 
|---|
| 355 | mail utility | 
|---|
| 356 | [9]http://www.mutt.org/ | 
|---|
| 357 |  | 
|---|
| 358 | ncftp | 
|---|
| 359 | file-transfer utility | 
|---|
| 360 | [10]http://www.ncftp.com/ | 
|---|
| 361 |  | 
|---|
| 362 | nvi | 
|---|
| 363 | New vi versions 1.50 are able to use ncurses versions 1.9.7 and | 
|---|
| 364 | later. | 
|---|
| 365 | [11]http://www.bostic.com/vi/ | 
|---|
| 366 |  | 
|---|
| 367 | pinfo | 
|---|
| 368 | Lynx-like info browser. | 
|---|
| 369 | [12]http://dione.ids.pl/~pborys/software/pinfo/ | 
|---|
| 370 |  | 
|---|
| 371 | tin | 
|---|
| 372 | newsreader, supporting color, MIME [13]http://www.tin.org/ | 
|---|
| 373 |  | 
|---|
| 374 | vh-1.6 | 
|---|
| 375 | Volks-Hypertext browser for the Jargon File | 
|---|
| 376 | [14]http://www.debian.org/Packages/unstable/text/vh.html | 
|---|
| 377 |  | 
|---|
| 378 | as well as some that use ncurses for the terminfo support alone: | 
|---|
| 379 |  | 
|---|
| 380 | minicom | 
|---|
| 381 | terminal emulator | 
|---|
| 382 | [15]http://www.netsonic.fi/~walker/minicom.html | 
|---|
| 383 |  | 
|---|
| 384 | vile | 
|---|
| 385 | vi-like-emacs | 
|---|
| 386 | [16]http://invisible-island.net/vile/ | 
|---|
| 387 |  | 
|---|
| 388 | The  ncurses  distribution  includes  a  selection  of  test  programs | 
|---|
| 389 | (including a few games). | 
|---|
| 390 |  | 
|---|
| 391 | Who's Who and What's What | 
|---|
| 392 |  | 
|---|
| 393 | Zeyd  Ben-Halim started it from a previous package pcurses, written by | 
|---|
| 394 | Pavel  Curtis.  Eric  S. Raymond continued development. Jürgen Pfeifer | 
|---|
| 395 | wrote  most of the form and menu libraries. Ongoing work is being done | 
|---|
| 396 | by  [17]Thomas  Dickey.  Thomas  Dickey acts as the maintainer for the | 
|---|
| 397 | Free  Software  Foundation,  which  holds  the  copyright  on ncurses. | 
|---|
| 398 | Contact the current maintainers at [18]bug-ncurses@gnu.org. | 
|---|
| 399 |  | 
|---|
| 400 | To   join   the   ncurses   mailing   list,   please  write  email  to | 
|---|
| 401 | bug-ncurses-request@gnu.org containing the line: | 
|---|
| 402 | subscribe <name>@<host.domain> | 
|---|
| 403 |  | 
|---|
| 404 | This list is open to anyone interested in helping with the development | 
|---|
| 405 | and testing of this package. | 
|---|
| 406 |  | 
|---|
| 407 | Beta  versions  of ncurses and patches to the current release are made | 
|---|
| 408 | available at [19]ftp://invisible-island.net/ncurses/ . | 
|---|
| 409 |  | 
|---|
| 410 | Future Plans | 
|---|
| 411 |  | 
|---|
| 412 | * Extended-level   XPG4   conformance,   with   internationalization | 
|---|
| 413 | support. | 
|---|
| 414 | * Ports to more systems, including DOS and Windows. | 
|---|
| 415 |  | 
|---|
| 416 | We  need  people to help with these projects. If you are interested in | 
|---|
| 417 | working on them, please join the ncurses list. | 
|---|
| 418 |  | 
|---|
| 419 | Other Related Resources | 
|---|
| 420 |  | 
|---|
| 421 | The  distribution  provides  a  newer  version  of the terminfo-format | 
|---|
| 422 | terminal  description file maintained by [20]Eric Raymond . Unlike the | 
|---|
| 423 | older  version, the termcap and terminfo data are provided in the same | 
|---|
| 424 | file. | 
|---|
| 425 |  | 
|---|
| 426 | You  can  find  lots  of  information  on  terminal-related topics not | 
|---|
| 427 | covered in the terminfo file at [21]Richard Shuford's archive . | 
|---|
| 428 |  | 
|---|
| 429 | References | 
|---|
| 430 |  | 
|---|
| 431 | 1. ftp://ftp.gnu.org/gnu/ncurses/ | 
|---|
| 432 | 2. ftp://invisible-island.net/ncurses/ | 
|---|
| 433 | 3. http://invisible-island.net/cdk/ | 
|---|
| 434 | 4. http://www.vexus.ca/products/CDK/ | 
|---|
| 435 | 5. http://invisible-island.net/ded/ | 
|---|
| 436 | 6. http://invisible-island.net/dialog/ | 
|---|
| 437 | 7. http://lynx.isc.org/release/ | 
|---|
| 438 | 8. http://www.ibiblio.org/mc/ | 
|---|
| 439 | 9. http://www.mutt.org/ | 
|---|
| 440 | 10. http://www.ncftp.com/ | 
|---|
| 441 | 11. http://www.bostic.com/vi/ | 
|---|
| 442 | 12. http://dione.ids.pl/~pborys/software/pinfo/ | 
|---|
| 443 | 13. http://www.tin.org/ | 
|---|
| 444 | 14. http://www.debian.org/Packages/unstable/text/vh.html | 
|---|
| 445 | 15. http://www.netsonic.fi/~walker/minicom.html | 
|---|
| 446 | 16. http://invisible-island.net/vile/ | 
|---|
| 447 | 17. mailto:dickey@invisible-island.net | 
|---|
| 448 | 18. mailto:bug-ncurses@gnu.org | 
|---|
| 449 | 19. ftp://invisible-island.net/ncurses/ | 
|---|
| 450 | 20. http://www.catb.org/~esr/terminfo/ | 
|---|
| 451 | 21. http://www.cs.utk.edu/~shuford/terminal_index.html | 
|---|