]> ncurses.scripts.mit.edu Git - ncurses.git/commitdiff
ncurses 6.0 - patch 20170506
authorThomas E. Dickey <dickey@invisible-island.net>
Sat, 6 May 2017 23:13:11 +0000 (23:13 +0000)
committerThomas E. Dickey <dickey@invisible-island.net>
Sat, 6 May 2017 23:13:11 +0000 (23:13 +0000)
+ modify tic/infocmp display of numeric values to use hexadecimal when
  they are "close" to a power of two, making the result more readable.
+ improve discussion of portability in curs_mouse.3x
+ change line-length for generated html/manpages to 78 columns from 65.
+ improve discussion of line-drawing characters in curs_add_wch.3x
  (prompted by discussion with Lorinczy Zsigmond).
+ cleanup formatting of hackguide.html and ncurses-intro.html
+ add examples for WACS_D_PLUS and WACS_T_PLUS to test/ncurses.c

156 files changed:
NEWS
VERSION
dist.mk
doc/hackguide.doc
doc/html/hackguide.html
doc/html/index.html
doc/html/man/adacurses6-config.1.html
doc/html/man/captoinfo.1m.html
doc/html/man/clear.1.html
doc/html/man/curs_add_wch.3x.html
doc/html/man/curs_add_wchstr.3x.html
doc/html/man/curs_addch.3x.html
doc/html/man/curs_addchstr.3x.html
doc/html/man/curs_addstr.3x.html
doc/html/man/curs_addwstr.3x.html
doc/html/man/curs_attr.3x.html
doc/html/man/curs_beep.3x.html
doc/html/man/curs_bkgd.3x.html
doc/html/man/curs_bkgrnd.3x.html
doc/html/man/curs_border.3x.html
doc/html/man/curs_border_set.3x.html
doc/html/man/curs_clear.3x.html
doc/html/man/curs_color.3x.html
doc/html/man/curs_delch.3x.html
doc/html/man/curs_deleteln.3x.html
doc/html/man/curs_extend.3x.html
doc/html/man/curs_get_wch.3x.html
doc/html/man/curs_get_wstr.3x.html
doc/html/man/curs_getcchar.3x.html
doc/html/man/curs_getch.3x.html
doc/html/man/curs_getstr.3x.html
doc/html/man/curs_getyx.3x.html
doc/html/man/curs_in_wch.3x.html
doc/html/man/curs_in_wchstr.3x.html
doc/html/man/curs_inch.3x.html
doc/html/man/curs_inchstr.3x.html
doc/html/man/curs_initscr.3x.html
doc/html/man/curs_inopts.3x.html
doc/html/man/curs_ins_wch.3x.html
doc/html/man/curs_ins_wstr.3x.html
doc/html/man/curs_insch.3x.html
doc/html/man/curs_insstr.3x.html
doc/html/man/curs_instr.3x.html
doc/html/man/curs_inwstr.3x.html
doc/html/man/curs_kernel.3x.html
doc/html/man/curs_legacy.3x.html
doc/html/man/curs_memleaks.3x.html
doc/html/man/curs_mouse.3x.html
doc/html/man/curs_move.3x.html
doc/html/man/curs_opaque.3x.html
doc/html/man/curs_outopts.3x.html
doc/html/man/curs_overlay.3x.html
doc/html/man/curs_pad.3x.html
doc/html/man/curs_print.3x.html
doc/html/man/curs_printw.3x.html
doc/html/man/curs_refresh.3x.html
doc/html/man/curs_scanw.3x.html
doc/html/man/curs_scr_dump.3x.html
doc/html/man/curs_scroll.3x.html
doc/html/man/curs_slk.3x.html
doc/html/man/curs_sp_funcs.3x.html
doc/html/man/curs_termattrs.3x.html
doc/html/man/curs_termcap.3x.html
doc/html/man/curs_terminfo.3x.html
doc/html/man/curs_threads.3x.html
doc/html/man/curs_touch.3x.html
doc/html/man/curs_trace.3x.html
doc/html/man/curs_util.3x.html
doc/html/man/curs_variables.3x.html
doc/html/man/curs_window.3x.html
doc/html/man/default_colors.3x.html
doc/html/man/define_key.3x.html
doc/html/man/form.3x.html
doc/html/man/form_cursor.3x.html
doc/html/man/form_data.3x.html
doc/html/man/form_driver.3x.html
doc/html/man/form_field.3x.html
doc/html/man/form_field_attributes.3x.html
doc/html/man/form_field_buffer.3x.html
doc/html/man/form_field_info.3x.html
doc/html/man/form_field_just.3x.html
doc/html/man/form_field_new.3x.html
doc/html/man/form_field_opts.3x.html
doc/html/man/form_field_userptr.3x.html
doc/html/man/form_field_validation.3x.html
doc/html/man/form_fieldtype.3x.html
doc/html/man/form_hook.3x.html
doc/html/man/form_new.3x.html
doc/html/man/form_new_page.3x.html
doc/html/man/form_opts.3x.html
doc/html/man/form_page.3x.html
doc/html/man/form_post.3x.html
doc/html/man/form_requestname.3x.html
doc/html/man/form_userptr.3x.html
doc/html/man/form_variables.3x.html
doc/html/man/form_win.3x.html
doc/html/man/infocmp.1m.html
doc/html/man/infotocap.1m.html
doc/html/man/key_defined.3x.html
doc/html/man/keybound.3x.html
doc/html/man/keyok.3x.html
doc/html/man/legacy_coding.3x.html
doc/html/man/menu.3x.html
doc/html/man/menu_attributes.3x.html
doc/html/man/menu_cursor.3x.html
doc/html/man/menu_driver.3x.html
doc/html/man/menu_format.3x.html
doc/html/man/menu_hook.3x.html
doc/html/man/menu_items.3x.html
doc/html/man/menu_mark.3x.html
doc/html/man/menu_new.3x.html
doc/html/man/menu_opts.3x.html
doc/html/man/menu_pattern.3x.html
doc/html/man/menu_post.3x.html
doc/html/man/menu_requestname.3x.html
doc/html/man/menu_spacing.3x.html
doc/html/man/menu_userptr.3x.html
doc/html/man/menu_win.3x.html
doc/html/man/mitem_current.3x.html
doc/html/man/mitem_name.3x.html
doc/html/man/mitem_new.3x.html
doc/html/man/mitem_opts.3x.html
doc/html/man/mitem_userptr.3x.html
doc/html/man/mitem_value.3x.html
doc/html/man/mitem_visible.3x.html
doc/html/man/ncurses.3x.html
doc/html/man/ncurses6-config.1.html
doc/html/man/new_pair.3x.html
doc/html/man/panel.3x.html
doc/html/man/resizeterm.3x.html
doc/html/man/scr_dump.5.html
doc/html/man/tabs.1.html
doc/html/man/term.5.html
doc/html/man/term.7.html
doc/html/man/term_variables.3x.html
doc/html/man/terminfo.5.html
doc/html/man/tic.1m.html
doc/html/man/toe.1m.html
doc/html/man/tput.1.html
doc/html/man/tset.1.html
doc/html/man/wresize.3x.html
doc/html/ncurses-intro.html
doc/ncurses-intro.doc
man/curs_add_wch.3x
man/curs_addch.3x
man/curs_mouse.3x
man/ncurses.3x
man/terminfo.tail
package/debian-mingw/changelog
package/debian-mingw64/changelog
package/debian/changelog
package/mingw-ncurses.nsi
package/mingw-ncurses.spec
package/ncurses.spec
progs/dump_entry.c
test/ncurses.c

diff --git a/NEWS b/NEWS
index 7365c9496b2e3fb467ac18ad5e4e9e319e1e59dc..cfb6a914c31bfe9975d7a34460e5ddfe01d346fd 100644 (file)
--- a/NEWS
+++ b/NEWS
@@ -25,7 +25,7 @@
 -- sale, use or other dealings in this Software without prior written        --
 -- authorization.                                                            --
 -------------------------------------------------------------------------------
--- $Id: NEWS,v 1.2829 2017/04/30 01:26:45 tom Exp $
+-- $Id: NEWS,v 1.2836 2017/05/06 18:50:43 tom Exp $
 -------------------------------------------------------------------------------
 
 This is a log of changes that ncurses has gone through since Zeyd started
@@ -45,6 +45,16 @@ See the AUTHORS file for the corresponding full names.
 Changes through 1.9.9e did not credit all contributions;
 it is not possible to add this information.
 
+20170506
+       + modify tic/infocmp display of numeric values to use hexadecimal when
+         they are "close" to a power of two, making the result more readable.
+       + improve discussion of portability in curs_mouse.3x
+       + change line-length for generated html/manpages to 78 columns from 65.
+       + improve discussion of line-drawing characters in curs_add_wch.3x
+         (prompted by discussion with Lorinczy Zsigmond).
+       + cleanup formatting of hackguide.html and ncurses-intro.html
+       + add examples for WACS_D_PLUS and WACS_T_PLUS to test/ncurses.c
+
 20170429
        + corrected a case where $with_gpm was set to "maybe" after CF_WITH_GPM,
          overlooked in 20160528 fixes (report by Alexandre Bury).
diff --git a/VERSION b/VERSION
index 19cac37e810b8abbbbd5995c5b76261520d07ce8..47e3f5ec85bc7e9d7ec9ea8c5741e964d2aecdf6 100644 (file)
--- a/VERSION
+++ b/VERSION
@@ -1 +1 @@
-5:0:9  6.0     20170429
+5:0:9  6.0     20170506
diff --git a/dist.mk b/dist.mk
index 68a2a9b0af6a2274dbf627ec1ef581d42fa067ab..399d189773584bdeb37ca0351b2f76c8812ad065 100644 (file)
--- a/dist.mk
+++ b/dist.mk
@@ -25,7 +25,7 @@
 # use or other dealings in this Software without prior written               #
 # authorization.                                                             #
 ##############################################################################
-# $Id: dist.mk,v 1.1158 2017/04/23 14:51:25 tom Exp $
+# $Id: dist.mk,v 1.1162 2017/05/06 18:10:15 tom Exp $
 # Makefile for creating ncurses distributions.
 #
 # This only needs to be used directly as a makefile by developers, but
@@ -37,7 +37,7 @@ SHELL = /bin/sh
 # These define the major/minor/patch versions of ncurses.
 NCURSES_MAJOR = 6
 NCURSES_MINOR = 0
-NCURSES_PATCH = 20170429
+NCURSES_PATCH = 20170506
 
 # We don't append the patch to the version, since this only applies to releases
 VERSION = $(NCURSES_MAJOR).$(NCURSES_MINOR)
@@ -47,7 +47,7 @@ VERSION = $(NCURSES_MAJOR).$(NCURSES_MINOR)
 #      --without-manpage-renames
 # on Debian/testing.  The -scrollbar and -width options are used to make lynx
 # use 79 columns as it did in 2.8.5 and before.
-DUMP   = lynx -dump -scrollbar=0 -width=79
+DUMP   = lynx -dump -scrollbar=0 -width=79 -display_charset=US-ASCII
 DUMP2  = $(DUMP) -nolist
 
 # gcc's file is "gnathtml.pl"
@@ -83,12 +83,6 @@ doc/ncurses-intro.doc: doc/html/ncurses-intro.html
 doc/hackguide.doc: doc/html/hackguide.html
        $(DUMP2) doc/html/hackguide.html > $@
 
-# This is the original command:
-#      MANPROG = tbl | nroff -man
-#
-# This happens to work for groff 1.18.1 on Debian.  At some point groff's
-# maintainer changed the line-length (we do not want/need that here).
-#
 # The distributed html files are formatted using
 #      configure --without-manpage-renames
 #
@@ -96,7 +90,7 @@ doc/hackguide.doc: doc/html/hackguide.html
 # If that conflicts with the --without-manpage-renames, you can install those
 # in a different location using the --with-install-prefix option of the
 # configure script.
-MANPROG        = tbl | nroff -mandoc -rLL=65n -rLT=71n -Tascii
+MANPROG        = tbl | nroff -mandoc -rLL=78n -rLT=78n -Tascii
 
 manhtml:
        @for f in doc/html/man/*.html; do \
index 8e0ba5c0f85b3c048f04ee224e759ac10a88d77c..2324322a4e67a6a539f688dd27c6b13fe2dfecff 100644 (file)
@@ -111,7 +111,7 @@ How to Design Extensions
 
    Our conventions are simple:
     1. Maintain package-internal files in plain text. The expected viewer
-       for  them  more(1)  or  an  editor  window;  there's  no  point in
+       for  them  more(1)  or  an  editor  window;  there  is no point in
        elaborate mark-up.
     2. Mark  up manual pages in the man macros. These have to be viewable
        through traditional man(1) programs.
@@ -120,10 +120,10 @@ How to Design Extensions
    When  in  doubt,  HTMLize  a  master and use lynx(1) to generate plain
    ASCII (as we do for the announcement document).
 
-   The reason for choosing HTML is that it's (a) well-adapted for on-line
-   browsing through viewers that are everywhere; (b) more easily readable
-   as  plain  text  than most other mark-ups, if you don't have a viewer;
-   and   (c)   carries   enough  information  that  you  can  generate  a
+   The  reason  for  choosing  HTML  is  that  it is (a) well-adapted for
+   on-line  browsing through viewers that are everywhere; (b) more easily
+   readable  as plain text than most other mark-ups, if you do not have a
+   viewer;  and  (c)  carries  enough information that you can generate a
    nice-looking  printed  version  from  it.  Also,  of  course,  it make
    exporting things like the announcement document to WWW pretty trivial.
 
@@ -135,16 +135,16 @@ How to Design Extensions
              subscribe <name>@<host.domain>
 
    The  ncurses  code is maintained by a small group of volunteers. While
-   we  try  our  best to fix bugs promptly, we simply don't have a lot of
+   we  try  our best to fix bugs promptly, we simply do not have a lot of
    hours  to  spend  on  elementary  hand-holding. We rely on intelligent
    cooperation  from  our  users.  If  you  think you have found a bug in
    ncurses,  there  are some steps you can take before contacting us that
    will help get the bug fixed quickly.
 
    In  order  to  use  our bug-fixing time efficiently, we put people who
-   show us they've taken these steps at the head of our queue. This means
-   that  if you don't, you'll probably end up at the tail end and have to
-   wait a while.
+   show  us  they  have  taken these steps at the head of our queue. This
+   means that if you do not, you will probably end up at the tail end and
+   have to wait a while.
     1. Develop a recipe to reproduce the bug.
        Bugs  we  can reproduce are likely to be fixed very quickly, often
        within  days.  The most effective single thing you can do to get a
@@ -155,17 +155,17 @@ How to Design Extensions
     2. Try to reproduce the bug on a different terminal type.
        In  our experience, most of the behaviors people report as library
        bugs are actually due to subtle problems in terminal descriptions.
-       This is especially likely to be true if you're using a traditional
-       asynchronous  terminal  or PC-based terminal emulator, rather than
-       xterm or a UNIX console entry.
-       It's therefore extremely helpful if you can tell us whether or not
-       your  problem  reproduces  on other terminal types. Usually you'll
-       have  both  a  console  type  and  xterm available; please tell us
+       This  is  especially  likely  to  be  true  if  you  are  using  a
+       traditional  asynchronous  terminal or PC-based terminal emulator,
+       rather than xterm or a UNIX console entry.
+       It  is  therefore  extremely helpful if you can tell us whether or
+       not  your  problem reproduces on other terminal types. Usually you
+       will  have both a console type and xterm available; please tell us
        whether or not your bug reproduces on both.
        If  you  have  xterm  available,  it is also good to collect xterm
        reports for different window sizes. This is especially true if you
        normally  use  an unusual xterm window size -- a surprising number
-       of the bugs we've seen are either triggered or masked by these.
+       of the bugs we have seen are either triggered or masked by these.
     3. Generate and examine a trace file for the broken behavior.
        Recompile   your  program  with  the  debugging  versions  of  the
        libraries.  Insert  a  trace()  call  with  the  argument  set  to
@@ -178,35 +178,35 @@ How to Design Extensions
        tell  you  immediately if this is happening, and save you from the
        possible  embarrassment of being told that the bug is in your code
        and is your problem rather than ours.
-       If  the  virtual-screen  dumps  look correct but the bug persists,
-       it's  possible  to  crank up the trace level to give more and more
+       If  the virtual-screen dumps look correct but the bug persists, it
+       is  possible  to  crank  up  the trace level to give more and more
        information  about  the  library's  update actions and the control
        sequences  it  issues  to  perform them. The test directory of the
        distribution contains a tool for digesting these logs to make them
        less tedious to wade through.
-       Often you'll find terminfo problems at this stage by noticing that
-       the  escape  sequences put out for various capabilities are wrong.
-       If  not,  you're likely to learn enough to be able to characterize
-       any bug in the screen-update logic quite exactly.
+       Often  you  will  find terminfo problems at this stage by noticing
+       that  the  escape  sequences  put out for various capabilities are
+       wrong.  If  not,  you  are  likely  to  learn enough to be able to
+       characterize any bug in the screen-update logic quite exactly.
     4. Report details and symptoms, not just interpretations.
-       If  you  do the preceding two steps, it is very likely that you'll
+       If you do the preceding two steps, it is very likely that you will
        discover the nature of the problem yourself and be able to send us
        a  fix.  This  will  create happy feelings all around and earn you
-       good  karma for the first time you run into a bug you really can't
+       good karma for the first time you run into a bug you really cannot
        characterize and fix yourself.
-       If  you're  still  stuck,  at  least  you'll know what to tell us.
+       If  you  are  still stuck, at least you will know what to tell us.
        Remember,  we  need  details.  If  you guess about what is safe to
        leave out, you are too likely to be wrong.
        If  your  bug  produces a bad update, include a trace file. Try to
        make  the  trace  at the least voluminous level that pins down the
-       bug.  Logs  that  have  been through tracemunch are OK, it doesn't
-       throw   away   any   information  (actually  they're  better  than
-       un-munched ones because they're easier to read).
+       bug.  Logs  that  have been through tracemunch are OK, it does not
+       throw   away  any  information  (actually  they  are  better  than
+       un-munched ones because they are easier to read).
        If  your bug produces a core-dump, please include a symbolic stack
        trace generated by gdb(1) or your local equivalent.
-       Tell us about every terminal on which you've reproduced the bug --
-       and  every  terminal on which you can't. Ideally, sent us terminfo
-       sources for all of these (yours might differ from ours).
+       Tell  us about every terminal on which you have reproduced the bug
+       --  and  every  terminal  on  which  you  cannot. Ideally, sent us
+       terminfo sources for all of these (yours might differ from ours).
        Include  your ncurses version and your OS/machine type, of course!
        You can find your ncurses version in the curses.h file.
 
@@ -219,8 +219,8 @@ How to Design Extensions
    The   most  important  of  these  is  mvcur,  a  test  frame  for  the
    cursor-movement  optimization  code.  With  this  program, you can see
    directly  what  control sequences will be emitted for any given cursor
-   movement or scroll/insert/delete operations. If you think you've got a
-   bad  capability  identified,  you  can  disable it and test again. The
+   movement or scroll/insert/delete operations. If you think you have got
+   a  bad  capability  identified, you can disable it and test again. The
    program is command-driven and has on-line help.
 
    If  you think the vertical-scroll optimization is broken, or just want
@@ -290,8 +290,9 @@ Library Overview
      lib_mouse.c lib_mvcur.c lib_refresh.c lib_setup.c lib_vidattr.c
 
    Most  of  the  algorithmic  complexity  in  the library lives in these
-   files.  If  there is a real bug in ncurses itself, it's probably here.
-   We'll tour some of these files in detail below (see The Engine Room).
+   files.  If there is a real bug in ncurses itself, it is probably here.
+   We  will  tour  some  of  these  files in detail below (see The Engine
+   Room).
 
    Finally,  there  is  a  group  of  files  that is actually most of the
    terminfo  compiler.  The reason this code lives in the ncurses library
@@ -300,7 +301,7 @@ Library Overview
      alloc_entry.c  captoinfo.c  comp_captab.c  comp_error.c comp_hash.c
      comp_parse.c comp_scan.c parse_entry.c read_termcap.c write_entry.c
 
-   We'll discuss these in the compiler tour.
+   We will discuss these in the compiler tour.
 
 The Engine Room
 
@@ -323,8 +324,9 @@ The Engine Room
 
    Hackers  bruised  by  previous encounters with variant select(2) calls
    may  find  the  code  in  lib_twait.c  interesting.  It deals with the
-   problem that some BSD selects don't return a reliable time-left value.
-   The function timed_wait() effectively simulates a System V select.
+   problem  that  some  BSD  selects  do  not return a reliable time-left
+   value.  The  function  timed_wait()  effectively  simulates a System V
+   select.
 
   Mouse Events
 
@@ -341,10 +343,10 @@ The Engine Room
    to  imply having the prefix somewhere in the function-key capabilities
    at terminal-type initialization.
 
-   This  kluge  only  works  because  kmous  isn't  actually  used by any
+   This  kluge  only  works  because  kmous  is  not actually used by any
    historic terminal type or curses implementation we know of. Best guess
-   is  it's  a  relic  of some forgotten experiment in-house at Bell Labs
-   that  didn't  leave  any  traces  in the publicly-distributed System V
+   is  it  is  a relic of some forgotten experiment in-house at Bell Labs
+   that  did  not  leave  any traces in the publicly-distributed System V
    terminfo  files.  If System V or XPG4 ever gets serious about using it
    again, this kluge may have to change.
 
@@ -419,7 +421,7 @@ The Engine Room
    TYPE_REGEXP will recognize.
 
    The  configuration  code  prefers the POSIX regex facility, modeled on
-   System  V's,  but  will  settle  for  BSD  regexps if the former isn't
+   System  V's,  but  will  settle  for  BSD regexps if the former is not
    available.
 
    Historical  note:  the  panels code was written primarily to assist in
@@ -437,7 +439,7 @@ The Engine Room
 
    The  implementation  therefore  starts  with a table-driven, dual-mode
    lexical analyzer (in comp_scan.c). The lexer chooses its mode (termcap
-   or terminfo) based on the first `,' or `:' it finds in each entry. The
+   or terminfo) based on the first "," or ":" it finds in each entry. The
    lexer  does  all  the work of recognizing capability names and values;
    the  grammar above it is trivial, just "parse entries till you run out
    of file".
@@ -460,23 +462,23 @@ Translation of Non-use Capabilities
    shareable text space).
 
    Thus, adding a new capability is usually pretty trivial, just a matter
-   of  adding  one  line to the include/Caps file. We'll have more to say
+   of  adding one line to the include/Caps file. We will have more to say
    about this in the section on Source-Form Translation.
 
 Use Capability Resolution
 
-   The  background  problem  that  makes  tic tricky isn't the capability
-   translation  itself,  it's  the  resolution of use capabilities. Older
+   The  background  problem  that  makes tic tricky is not the capability
+   translation  itself,  it  is the resolution of use capabilities. Older
    versions would not handle forward use references for this reason (that
    is, a using terminal always had to follow its use target in the source
    file).  By  doing  this,  they  got  away with a simple implementation
    tactic;  compile  everything  as  it  blows by, then resolve uses from
    compiled entries.
 
-   This  won't  do  for  ncurses.  The  problem  is  that  that the whole
+   This  will  not  do  for  ncurses.  The problem is that that the whole
    compilation  process  has  to  be embeddable in the ncurses library so
    that it can be called by the startup code to translate termcap entries
-   on  the  fly.  The  embedded  version  can't  go promiscuously writing
+   on  the  fly.  The  embedded  version  cannot go promiscuously writing
    everything  it  translates  out  to  disk  --  for  one thing, it will
    typically be running with non-root permissions.
 
@@ -485,7 +487,7 @@ Use Capability Resolution
    use  resolution  in-memory  before writing everything out. This design
    has other advantages: it makes forward and back use-references equally
    easy  (so  we get the latter for free), and it makes checking for name
-   collisions before they're written out easy to do.
+   collisions before they are written out easy to do.
 
    And   this  is  exactly  how  the  embedded  version  works.  But  the
    stand-alone  user-accessible  version  of  tic  partly  reverts to the
@@ -502,8 +504,8 @@ Use Capability Resolution
    writes  out  the  referenced  entry if it has no use capabilities. The
    compiler  main loop refrains from adding the entry to the in-core list
    when  this hook fires. If some other entry later needs to reference an
-   entry  that  got  written  immediately, that's OK; the resolution code
-   will fetch it off disk when it can't find it in core.
+   entry  that  got  written immediately, that is OK; the resolution code
+   will fetch it off disk when it cannot find it in core.
 
    Name  collisions  will  still  be  detected,  just not as cleanly. The
    write_entry()   code   complains  before  overwriting  an  entry  that
@@ -525,9 +527,9 @@ Source-Form Translation
 
    The  include/Caps  file  has  a header comment describing ways you can
    specify  source  translations  for  nonstandard  capabilities  just by
-   altering the master table. It's possible to set up capability aliasing
-   or  tell  the  compiler  to  plain  ignore  a given capability without
-   writing any C code at all.
+   altering  the  master  table.  It  is  possible  to  set up capability
+   aliasing  or  tell  the  compiler  to  plain ignore a given capability
+   without writing any C code at all.
 
    For  circumstances where you need to do algorithmic translation, there
    are  functions  in  parse_entry.c called after the parse of each entry
@@ -563,14 +565,14 @@ Source-Form Translation
    Look  for  the  string  FIXME  in  source  files to tag minor bugs and
    potential problems that could use fixing.
 
-   Don't  try  to auto-detect OS features in the main body of the C code.
-   That's the job of the configuration system.
+   Do  not try to auto-detect OS features in the main body of the C code.
+   That is the job of the configuration system.
 
    To hold down complexity, do make your code data-driven. Especially, if
    you  can drive logic from a table filtered out of include/Caps, do it.
    If  you  find  you  need  to augment the data in that file in order to
-   generate  the  proper table, that's still preferable to ad-hoc code --
-   that's why the fifth field (flags) is there.
+   generate  the proper table, that is still preferable to ad-hoc code --
+   that is why the fifth field (flags) is there.
 
    Have fun!
 
@@ -579,7 +581,7 @@ Source-Form Translation
    The  following  notes  are intended to be a first step towards DOS and
    Macintosh ports of the ncurses libraries.
 
-   The  following library modules are `pure curses'; they operate only on
+   The  following library modules are "pure curses"; they operate only on
    the  curses  internal  structures,  do all output through other curses
    calls  (not  including  tputs()  and putp()) and do not call any other
    UNIX  routines  such  as  signal(2)  or  the stdio library. Thus, they
@@ -626,7 +628,7 @@ Source-Form Translation
 
    Modules that would have to be modified for a port start here:
 
-   The  following  modules  are  `pure  curses'  but  contain assumptions
+   The  following  modules  are  "pure  curses"  but  contain assumptions
    inappropriate for a memory-mapped port.
 
    lib_longname.c
index 84370809ebf3f5b6f1066e6d9a061669963c4242..57ca985628403f194e0362a3a975c7946af26740 100644 (file)
@@ -1,8 +1,7 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN">
 <!--
-  $Id: hackguide.html,v 1.29 2013/05/17 23:29:18 tom Exp $
+  $Id: hackguide.html,v 1.30 2017/05/05 11:50:09 tom Exp $
   ****************************************************************************
-  * Copyright (c) 1998-2010,2012 Free Software Foundation, Inc.              *
+  * Copyright (c) 1998-2012,2017 Free Software Foundation, Inc.              *
   *                                                                          *
   * Permission is hereby granted, free of charge, to any person obtaining a  *
   * copy of this software and associated documentation files (the            *
   * authorization.                                                           *
   ****************************************************************************
 -->
-<HTML>
-<HEAD>
-<TITLE>A Hacker's Guide to Ncurses Internals</TITLE>
-<link rev="made" href="mailto:bugs-ncurses@gnu.org">
-<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
-<!--
+<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN">
+
+<html>
+<head>
+  <meta name="generator" content=
+  "HTML Tidy for Linux (vers 25 March 2009), see www.w3.org">
+
+  <title>A Hacker's Guide to Ncurses Internals</title>
+  <link rev="made" href="mailto:bugs-ncurses@gnu.org">
+  <meta http-equiv="Content-Type" content=
+  "text/html; charset=us-ascii"><!--
 This document is self-contained, *except* that there is one relative link to
 the ncurses-intro.html document, expected to be in the same directory with
 this one.
 -->
-</HEAD>
-<BODY>
-
-<H1>A Hacker's Guide to NCURSES</H1>
-
-<H1>Contents</H1>
-<UL>
-<LI><A HREF="#abstract">Abstract</A>
-<LI><A HREF="#objective">Objective of the Package</A>
-<UL>
-<LI><A HREF="#whysvr4">Why System V Curses?</A>
-<LI><A HREF="#extensions">How to Design Extensions</A>
-</UL>
-<LI><A HREF="#portability">Portability and Configuration</A>
-<LI><A HREF="#documentation">Documentation Conventions</A>
-<LI><A HREF="#bugtrack">How to Report Bugs</A>
-<LI><A HREF="#ncurslib">A Tour of the Ncurses Library</A>
-<UL>
-<LI><A HREF="#loverview">Library Overview</A>
-<LI><A HREF="#engine">The Engine Room</A>
-<LI><A HREF="#input">Keyboard Input</A>
-<LI><A HREF="#mouse">Mouse Events</A>
-<LI><A HREF="#output">Output and Screen Updating</A>
-</UL>
-<LI><A HREF="#fmnote">The Forms and Menu Libraries</A>
-<LI><A HREF="#tic">A Tour of the Terminfo Compiler</A>
-<UL>
-<LI><A HREF="#nonuse">Translation of Non-<STRONG>use</STRONG> Capabilities</A>
-<LI><A HREF="#uses">Use Capability Resolution</A>
-<LI><A HREF="#translation">Source-Form Translation</A>
-</UL>
-<LI><A HREF="#utils">Other Utilities</A>
-<LI><A HREF="#style">Style Tips for Developers</A>
-<LI><A HREF="#port">Porting Hints</A>
-</UL>
-
-<H1><A NAME="abstract">Abstract</A></H1>
-
-This document is a hacker's tour of the <STRONG>ncurses</STRONG> library and utilities.
-It discusses design philosophy, implementation methods, and the
-conventions used for coding and documentation.  It is recommended
-reading for anyone who is interested in porting, extending or improving the
-package.
-
-<H1><A NAME="objective">Objective of the Package</A></H1>
-
-The objective of the <STRONG>ncurses</STRONG> package is to provide a free software API for
-character-cell terminals and terminal emulators with the following
-characteristics:
-
-<UL>
-<LI>Source-compatible with historical curses implementations (including
-     the original BSD curses and System V curses.
-<LI>Conformant with the XSI Curses standard issued as part of XPG4 by
-     X/Open.
-<LI>High-quality -- stable and reliable code, wide portability, good
-     packaging, superior documentation.
-<LI>Featureful -- should eliminate as much of the drudgery of C interface
-     programming as possible, freeing programmers to think at a higher
-     level of design.
-</UL>
-
-These objectives are in priority order.  So, for example, source
-compatibility with older version must trump featurefulness -- we cannot
-add features if it means breaking the portion of the API corresponding
-to historical curses versions.
-
-<H2><A NAME="whysvr4">Why System V Curses?</A></H2>
-
-We used System V curses as a model, reverse-engineering their API, in
-order to fulfill the first two objectives. <P>
-
-System V curses implementations can support BSD curses programs with
-just a recompilation, so by capturing the System V API we also
-capture BSD's. <P>
-
-More importantly for the future, the XSI Curses standard issued by X/Open
-is explicitly and closely modeled on System V.  So conformance with
-System V took us most of the way to base-level XSI conformance.
-
-<H2><A NAME="extensions">How to Design Extensions</A></H2>
-
-The third objective (standards conformance) requires that it be easy to
-condition source code using <STRONG>ncurses</STRONG> so that the absence of nonstandard
-extensions does not break the code. <P>
-
-Accordingly, we have a policy of associating with each nonstandard extension
-a feature macro, so that ncurses client code can use this macro to condition
-in or out the code that requires the <STRONG>ncurses</STRONG> extension. <P>
-
-For example, there is a macro <CODE>NCURSES_MOUSE_VERSION</CODE> which XSI Curses
-does not define, but which is defined in the <STRONG>ncurses</STRONG> library header.
-You can use this to condition the calls to the mouse API calls.
-
-<H1><A NAME="portability">Portability and Configuration</A></H1>
-
-Code written for <STRONG>ncurses</STRONG> may assume an ANSI-standard C compiler and
-POSIX-compatible OS interface.  It may also assume the presence of a
-System-V-compatible <EM>select(2)</EM> call. <P>
-
-We encourage (but do not require) developers to make the code friendly
-to less-capable UNIX environments wherever possible. <P>
-
-We encourage developers to support OS-specific optimizations and methods
-not available under POSIX/ANSI, provided only that: 
-
-<UL>
-<LI>All such code is properly conditioned so the build process does not
-     attempt to compile it under a plain ANSI/POSIX environment.
-<LI>Adding such implementation methods does not introduce incompatibilities
-     in the <STRONG>ncurses</STRONG> API between platforms.
-</UL>
-
-We use GNU <CODE>autoconf(1)</CODE> as a tool to deal with portability issues.
-The right way to leverage an OS-specific feature is to modify the autoconf
-specification files (configure.in and aclocal.m4) to set up a new feature
-macro, which you then use to condition your code.
-
-<H1><A NAME="documentation">Documentation Conventions</A></H1>
-
-There are three kinds of documentation associated with this package.  Each
-has a different preferred format:
-
-<UL>
-<LI>Package-internal files (README, INSTALL, TO-DO etc.)
-<LI>Manual pages.
-<LI>Everything else (i.e., narrative documentation).
-</UL>
-
-Our conventions are simple:
-<OL>
-<LI><STRONG>Maintain package-internal files in plain text.</STRONG>
-     The expected viewer for them <EM>more(1)</EM> or an editor window; there's
-     no point in elaborate mark-up.
-
-<LI><STRONG>Mark up manual pages in the man macros.</STRONG>  These have to be viewable
-     through traditional <EM>man(1)</EM> programs.
-
-<LI><STRONG>Write everything else in HTML.</STRONG>
-</OL>
-
-When in doubt, HTMLize a master and use <EM>lynx(1)</EM> to generate
-plain ASCII (as we do for the announcement document). <P>
+</head>
+
+<body>
+  <h1>A Hacker's Guide to NCURSES</h1>
+
+  <h1>Contents</h1>
+
+  <ul>
+    <li><a href="#abstract">Abstract</a></li>
+
+    <li>
+      <a href="#objective">Objective of the Package</a>
+
+      <ul>
+        <li><a href="#whysvr4">Why System V Curses?</a></li>
+
+        <li><a href="#extensions">How to Design Extensions</a></li>
+      </ul>
+    </li>
+
+    <li><a href="#portability">Portability and
+    Configuration</a></li>
+
+    <li><a href="#documentation">Documentation Conventions</a></li>
+
+    <li><a href="#bugtrack">How to Report Bugs</a></li>
+
+    <li>
+      <a href="#ncurslib">A Tour of the Ncurses Library</a>
+
+      <ul>
+        <li><a href="#loverview">Library Overview</a></li>
+
+        <li><a href="#engine">The Engine Room</a></li>
+
+        <li><a href="#input">Keyboard Input</a></li>
+
+        <li><a href="#mouse">Mouse Events</a></li>
+
+        <li><a href="#output">Output and Screen Updating</a></li>
+      </ul>
+    </li>
+
+    <li><a href="#fmnote">The Forms and Menu Libraries</a></li>
+
+    <li>
+      <a href="#tic">A Tour of the Terminfo Compiler</a>
+
+      <ul>
+        <li><a href="#nonuse">Translation of
+        Non-<strong>use</strong> Capabilities</a></li>
+
+        <li><a href="#uses">Use Capability Resolution</a></li>
+
+        <li><a href="#translation">Source-Form Translation</a></li>
+      </ul>
+    </li>
+
+    <li><a href="#utils">Other Utilities</a></li>
+
+    <li><a href="#style">Style Tips for Developers</a></li>
+
+    <li><a href="#port">Porting Hints</a></li>
+  </ul>
+
+  <h1><a name="abstract" id="abstract">Abstract</a></h1>
+
+  <p>This document is a hacker's tour of the
+  <strong>ncurses</strong> library and utilities. It discusses
+  design philosophy, implementation methods, and the conventions
+  used for coding and documentation. It is recommended reading for
+  anyone who is interested in porting, extending or improving the
+  package.</p>
+
+  <h1><a name="objective" id="objective">Objective of the
+  Package</a></h1>
+
+  <p>The objective of the <strong>ncurses</strong> package is to
+  provide a free software API for character-cell terminals and
+  terminal emulators with the following characteristics:</p>
+
+  <ul>
+    <li>Source-compatible with historical curses implementations
+    (including the original BSD curses and System V curses.</li>
+
+    <li>Conformant with the XSI Curses standard issued as part of
+    XPG4 by X/Open.</li>
+
+    <li>High-quality &mdash; stable and reliable code, wide
+    portability, good packaging, superior documentation.</li>
+
+    <li>Featureful &mdash; should eliminate as much of the drudgery
+    of C interface programming as possible, freeing programmers to
+    think at a higher level of design.</li>
+  </ul>
+
+  <p>These objectives are in priority order. So, for example,
+  source compatibility with older version must trump featurefulness
+  &mdash; we cannot add features if it means breaking the portion
+  of the API corresponding to historical curses versions.</p>
+
+  <h2><a name="whysvr4" id="whysvr4">Why System V Curses?</a></h2>
+
+  <p>We used System V curses as a model, reverse-engineering their
+  API, in order to fulfill the first two objectives.</p>
+
+  <p>System V curses implementations can support BSD curses
+  programs with just a recompilation, so by capturing the System V
+  API we also capture BSD's.</p>
+
+  <p>More importantly for the future, the XSI Curses standard
+  issued by X/Open is explicitly and closely modeled on System V.
+  So conformance with System V took us most of the way to
+  base-level XSI conformance.</p>
+
+  <h2><a name="extensions" id="extensions">How to Design
+  Extensions</a></h2>
+
+  <p>The third objective (standards conformance) requires that it
+  be easy to condition source code using <strong>ncurses</strong>
+  so that the absence of nonstandard extensions does not break the
+  code.</p>
+
+  <p>Accordingly, we have a policy of associating with each
+  nonstandard extension a feature macro, so that ncurses client
+  code can use this macro to condition in or out the code that
+  requires the <strong>ncurses</strong> extension.</p>
+
+  <p>For example, there is a macro
+  <code>NCURSES_MOUSE_VERSION</code> which XSI Curses does not
+  define, but which is defined in the <strong>ncurses</strong>
+  library header. You can use this to condition the calls to the
+  mouse API calls.</p>
+
+  <h1><a name="portability" id="portability">Portability and
+  Configuration</a></h1>
+
+  <p>Code written for <strong>ncurses</strong> may assume an
+  ANSI-standard C compiler and POSIX-compatible OS interface. It
+  may also assume the presence of a System-V-compatible
+  <em>select(2)</em> call.</p>
+
+  <p>We encourage (but do not require) developers to make the code
+  friendly to less-capable UNIX environments wherever possible.</p>
+
+  <p>We encourage developers to support OS-specific optimizations
+  and methods not available under POSIX/ANSI, provided only
+  that:</p>
+
+  <ul>
+    <li>All such code is properly conditioned so the build process
+    does not attempt to compile it under a plain ANSI/POSIX
+    environment.</li>
+
+    <li>Adding such implementation methods does not introduce
+    incompatibilities in the <strong>ncurses</strong> API between
+    platforms.</li>
+  </ul>
+
+  <p>We use GNU <code>autoconf(1)</code> as a tool to deal with
+  portability issues. The right way to leverage an OS-specific
+  feature is to modify the autoconf specification files
+  (configure.in and aclocal.m4) to set up a new feature macro,
+  which you then use to condition your code.</p>
+
+  <h1><a name="documentation" id="documentation">Documentation
+  Conventions</a></h1>
+
+  <p>There are three kinds of documentation associated with this
+  package. Each has a different preferred format:</p>
+
+  <ul>
+    <li>Package-internal files (README, INSTALL, TO-DO etc.)</li>
+
+    <li>Manual pages.</li>
 
-The reason for choosing HTML is that it's (a) well-adapted for on-line
-browsing through viewers that are everywhere; (b) more easily readable
-as plain text than most other mark-ups, if you don't have a viewer; and (c)
-carries enough information that you can generate a nice-looking printed
-version from it.  Also, of course, it make exporting things like the
-announcement document to WWW pretty trivial.
-
-<H1><A NAME="bugtrack">How to Report Bugs</A></H1>
-
-The <A NAME="bugreport">reporting address for bugs</A> is
-<A HREF="mailto:bug-ncurses@gnu.org">bug-ncurses@gnu.org</A>.
-This is a majordomo list; to join, write
-to <CODE>bug-ncurses-request@gnu.org</CODE> with a message containing the line:
-<PRE>
+    <li>Everything else (i.e., narrative documentation).</li>
+  </ul>
+
+  <p>Our conventions are simple:</p>
+
+  <ol>
+    <li><strong>Maintain package-internal files in plain
+    text.</strong> The expected viewer for them <em>more(1)</em> or
+    an editor window; there is no point in elaborate mark-up.</li>
+
+    <li><strong>Mark up manual pages in the man macros.</strong>
+    These have to be viewable through traditional <em>man(1)</em>
+    programs.</li>
+
+    <li><strong>Write everything else in HTML.</strong></li>
+  </ol>
+
+  <p>When in doubt, HTMLize a master and use <em>lynx(1)</em> to
+  generate plain ASCII (as we do for the announcement
+  document).</p>
+
+  <p>The reason for choosing HTML is that it is (a) well-adapted
+  for on-line browsing through viewers that are everywhere; (b)
+  more easily readable as plain text than most other mark-ups, if
+  you do not have a viewer; and (c) carries enough information that
+  you can generate a nice-looking printed version from it. Also, of
+  course, it make exporting things like the announcement document
+  to WWW pretty trivial.</p>
+
+  <h1><a name="bugtrack" id="bugtrack">How to Report Bugs</a></h1>
+
+  <p>The <a name="bugreport" id="bugreport">reporting address for
+  bugs</a> is <a href=
+  "mailto:bug-ncurses@gnu.org">bug-ncurses@gnu.org</a>. This is a
+  majordomo list; to join, write to
+  <code>bug-ncurses-request@gnu.org</code> with a message
+  containing the line:</p>
+  <pre>
              subscribe &lt;name&gt;@&lt;host.domain&gt;
-</PRE>
-
-The <CODE>ncurses</CODE> code is maintained by a small group of
-volunteers.  While we try our best to fix bugs promptly, we simply
-don't have a lot of hours to spend on elementary hand-holding.  We rely
-on intelligent cooperation from our users.  If you think you have
-found a bug in <CODE>ncurses</CODE>, there are some steps you can take
-before contacting us that will help get the bug fixed quickly. <P>
-
-In order to use our bug-fixing time efficiently, we put people who
-show us they've taken these steps at the head of our queue.  This
-means that if you don't, you'll probably end up at the tail end and
-have to wait a while.
-
-<OL>
-<LI>Develop a recipe to reproduce the bug.
-<p>
-Bugs we can reproduce are likely to be fixed very quickly, often
-within days.  The most effective single thing you can do to get a
-quick fix is develop a way we can duplicate the bad behavior --
-ideally, by giving us source for a small, portable test program that
-breaks the library. (Even better is a keystroke recipe using one of
-the test programs provided with the distribution.)
-
-<LI>Try to reproduce the bug on a different terminal type. <P>
-
-In our experience, most of the behaviors people report as library bugs
-are actually due to subtle problems in terminal descriptions.  This is
-especially likely to be true if you're using a traditional
-asynchronous terminal or PC-based terminal emulator, rather than xterm
-or a UNIX console entry. <P>
-
-It's therefore extremely helpful if you can tell us whether or not your
-problem reproduces on other terminal types.  Usually you'll have both
-a console type and xterm available; please tell us whether or not your
-bug reproduces on both. <P>
-
-If you have xterm available, it is also good to collect xterm reports for
-different window sizes.  This is especially true if you normally use an
-unusual xterm window size -- a surprising number of the bugs we've seen
-are either triggered or masked by these. 
-
-<LI>Generate and examine a trace file for the broken behavior. <P>
-
-Recompile your program with the debugging versions of the libraries.
-Insert a <CODE>trace()</CODE> call with the argument set to <CODE>TRACE_UPDATE</CODE>.
-(See <A HREF="ncurses-intro.html#debugging">"Writing Programs with
-NCURSES"</A> for details on trace levels.)
-Reproduce your bug, then look at the trace file to see what the library
-was actually doing. <P>
-
-Another frequent cause of apparent bugs is application coding errors
-that cause the wrong things to be put on the virtual screen.  Looking
-at the virtual-screen dumps in the trace file will tell you immediately if
-this is happening, and save you from the possible embarrassment of being
-told that the bug is in your code and is your problem rather than ours. <P>
-
-If the virtual-screen dumps look correct but the bug persists, it's
-possible to crank up the trace level to give more and more information
-about the library's update actions and the control sequences it issues
-to perform them.  The test directory of the distribution contains a
-tool for digesting these logs to make them less tedious to wade
-through. <P>
-
-Often you'll find terminfo problems at this stage by noticing that the
-escape sequences put out for various capabilities are wrong.  If not,
-you're likely to learn enough to be able to characterize any bug in
-the screen-update logic quite exactly.
-
-<LI>Report details and symptoms, not just interpretations. <P>
-
-If you do the preceding two steps, it is very likely that you'll discover
-the nature of the problem yourself and be able to send us a fix.  This
-will create happy feelings all around and earn you good karma for the first
-time you run into a bug you really can't characterize and fix yourself. <P>
-
-If you're still stuck, at least you'll know what to tell us.  Remember, we
-need details.  If you guess about what is safe to leave out, you are too
-likely to be wrong. <P>
-
-If your bug produces a bad update, include a trace file.  Try to make
-the trace at the <EM>least</EM> voluminous level that pins down the
-bug.  Logs that have been through tracemunch are OK, it doesn't throw
-away any information (actually they're better than un-munched ones because
-they're easier to read). <P>
-
-If your bug produces a core-dump, please include a symbolic stack trace
-generated by gdb(1) or your local equivalent. <P>
-
-Tell us about every terminal on which you've reproduced the bug -- and
-every terminal on which you can't.  Ideally, sent us terminfo sources
-for all of these (yours might differ from ours). <P>
-
-Include your ncurses version and your OS/machine type, of course!  You can
-find your ncurses version in the <CODE>curses.h</CODE> file.
-</OL>
-
-If your problem smells like a logic error or in cursor movement or
-scrolling or a bad capability, there are a couple of tiny test frames
-for the library algorithms in the progs directory that may help you
-isolate it.  These are not part of the normal build, but do have their
-own make productions.  <P>
-
-The most important of these is <CODE>mvcur</CODE>, a test frame for the
-cursor-movement optimization code.  With this program, you can see
-directly what control sequences will be emitted for any given cursor
-movement or scroll/insert/delete operations.  If you think you've got
-a bad capability identified, you can disable it and test again. The
-program is command-driven and has on-line help. <P>
-
-If you think the vertical-scroll optimization is broken, or just want to
-understand how it works better, build <CODE>hashmap</CODE> and read the
-header comments of <CODE>hardscroll.c</CODE> and <CODE>hashmap.c</CODE>; then try
-it out. You can also test the hardware-scrolling optimization separately
-with <CODE>hardscroll</CODE>. <P>
-
-<H1><A NAME="ncurslib">A Tour of the Ncurses Library</A></H1>
-
-<H2><A NAME="loverview">Library Overview</A></H2>
-
-Most of the library is superstructure -- fairly trivial convenience
-interfaces to a small set of basic functions and data structures used
-to manipulate the virtual screen (in particular, none of this code
-does any I/O except through calls to more fundamental modules
-described below).  The files
-<blockquote>
-<CODE>
-lib_addch.c
-lib_bkgd.c
-lib_box.c
-lib_chgat.c
-lib_clear.c
-lib_clearok.c
-lib_clrbot.c
-lib_clreol.c
-lib_colorset.c
-lib_data.c
-lib_delch.c
-lib_delwin.c
-lib_echo.c
-lib_erase.c
-lib_gen.c
-lib_getstr.c
-lib_hline.c
-lib_immedok.c
-lib_inchstr.c
-lib_insch.c
-lib_insdel.c
-lib_insstr.c
-lib_instr.c
-lib_isendwin.c
-lib_keyname.c
-lib_leaveok.c
-lib_move.c
-lib_mvwin.c
-lib_overlay.c
-lib_pad.c
-lib_printw.c
-lib_redrawln.c
-lib_scanw.c
-lib_screen.c
-lib_scroll.c
-lib_scrollok.c
-lib_scrreg.c
-lib_set_term.c
-lib_slk.c
-lib_slkatr_set.c
-lib_slkatrof.c
-lib_slkatron.c
-lib_slkatrset.c
-lib_slkattr.c
-lib_slkclear.c
-lib_slkcolor.c
-lib_slkinit.c
-lib_slklab.c
-lib_slkrefr.c
-lib_slkset.c
-lib_slktouch.c
-lib_touch.c
-lib_unctrl.c
-lib_vline.c
-lib_wattroff.c
-lib_wattron.c
-lib_window.c
-</CODE>
-</blockquote>
-are all in this category.  They are very
-unlikely to need change, barring bugs or some fundamental
-reorganization in the underlying data structures. <P>
-
-These files are used only for debugging support:
-<blockquote>
-<code>
-lib_trace.c
-lib_traceatr.c
-lib_tracebits.c
-lib_tracechr.c
-lib_tracedmp.c
-lib_tracemse.c
-trace_buf.c
-</code>
-</blockquote>
-It is rather unlikely you will ever need to change these, unless
-you want to introduce a new debug trace level for some reason.<P>
-
-There is another group of files that do direct I/O via <EM>tputs()</EM>,
-computations on the terminal capabilities, or queries to the OS
-environment, but nevertheless have only fairly low complexity.  These
-include:
-<blockquote>
-<code>
-lib_acs.c
-lib_beep.c
-lib_color.c
-lib_endwin.c
-lib_initscr.c
-lib_longname.c
-lib_newterm.c
-lib_options.c
-lib_termcap.c
-lib_ti.c
-lib_tparm.c
-lib_tputs.c
-lib_vidattr.c
-read_entry.c.
-</code>
-</blockquote>
-They are likely to need revision only if
-ncurses is being ported to an environment without an underlying
-terminfo capability representation. <P>
-
-These files
-have serious hooks into
-the tty driver and signal facilities:
-<blockquote>
-<code>
-lib_kernel.c
-lib_baudrate.c
-lib_raw.c
-lib_tstp.c
-lib_twait.c
-</code>
-</blockquote>
-If you run into porting snafus
-moving the package to another UNIX, the problem is likely to be in one
-of these files.
-The file <CODE>lib_print.c</CODE> uses sleep(2) and also
-falls in this category.<P>
-
-Almost all of the real work is done in the files
-<blockquote>
-<code>
-hardscroll.c
-hashmap.c
-lib_addch.c
-lib_doupdate.c
-lib_getch.c
-lib_mouse.c
-lib_mvcur.c
-lib_refresh.c
-lib_setup.c
-lib_vidattr.c
-</code>
-</blockquote>
-Most of the algorithmic complexity in the
-library lives in these files.
-If there is a real bug in <STRONG>ncurses</STRONG> itself, it's probably here.
-We'll tour some of these files in detail
-below (see <A HREF="#engine">The Engine Room</A>). <P>
-
-Finally, there is a group of files that is actually most of the
-terminfo compiler.  The reason this code lives in the <STRONG>ncurses</STRONG>
-library is to support fallback to /etc/termcap.  These files include
-<blockquote>
-<code>
-alloc_entry.c
-captoinfo.c
-comp_captab.c
-comp_error.c
-comp_hash.c
-comp_parse.c
-comp_scan.c
-parse_entry.c
-read_termcap.c
-write_entry.c
-</code>
-</blockquote>
-We'll discuss these in the compiler tour.
-
-<H2><A NAME="engine">The Engine Room</A></H2>
-
-<H3><A NAME="input">Keyboard Input</A></H3>
-
-All <CODE>ncurses</CODE> input funnels through the function
-<CODE>wgetch()</CODE>, defined in <CODE>lib_getch.c</CODE>.  This function is
-tricky; it has to poll for keyboard and mouse events and do a running
-match of incoming input against the set of defined special keys. <P>
-
-The central data structure in this module is a FIFO queue, used to
-match multiple-character input sequences against special-key
-capabilities; also to implement pushback via <CODE>ungetch()</CODE>. <P>
-
-The <CODE>wgetch()</CODE> code distinguishes between function key
-sequences and the same sequences typed manually by doing a timed wait
-after each input character that could lead a function key sequence.
-If the entire sequence takes less than 1 second, it is assumed to have
-been generated by a function key press. <P>
-
-Hackers bruised by previous encounters with variant <CODE>select(2)</CODE>
-calls may find the code in <CODE>lib_twait.c</CODE> interesting.  It deals
-with the problem that some BSD selects don't return a reliable
-time-left value.  The function <CODE>timed_wait()</CODE> effectively
-simulates a System V select.
-
-<H3><A NAME="mouse">Mouse Events</A></H3>
-
-If the mouse interface is active, <CODE>wgetch()</CODE> polls for mouse
-events each call, before it goes to the keyboard for input.  It is
-up to <CODE>lib_mouse.c</CODE> how the polling is accomplished; it may vary
-for different devices. <P>
-
-Under xterm, however, mouse event notifications come in via the keyboard
-input stream.  They are recognized by having the <STRONG>kmous</STRONG> capability
-as a prefix.  This is kind of klugey, but trying to wire in recognition of
-a mouse key prefix without going through the function-key machinery would
-be just too painful, and this turns out to imply having the prefix somewhere
-in the function-key capabilities at terminal-type initialization. <P>
-
-This kluge only works because <STRONG>kmous</STRONG> isn't actually used by any
-historic terminal type or curses implementation we know of.  Best
-guess is it's a relic of some forgotten experiment in-house at Bell
-Labs that didn't leave any traces in the publicly-distributed System V
-terminfo files.  If System V or XPG4 ever gets serious about using it
-again, this kluge may have to change. <P>
-
-Here are some more details about mouse event handling: <P>
-
-The <CODE>lib_mouse()</CODE>code is logically split into a lower level that
-accepts event reports in a device-dependent format and an upper level that
-parses mouse gestures and filters events.  The mediating data structure is a
-circular queue of event structures. <P>
-
-Functionally, the lower level's job is to pick up primitive events and
-put them on the circular queue.  This can happen in one of two ways:
-either (a) <CODE>_nc_mouse_event()</CODE> detects a series of incoming
-mouse reports and queues them, or (b) code in <CODE>lib_getch.c</CODE> detects the
-<STRONG>kmous</STRONG> prefix in the keyboard input stream and calls _nc_mouse_inline
-to queue up a series of adjacent mouse reports. <P>
-
-In either case, <CODE>_nc_mouse_parse()</CODE> should be called after the
-series is accepted to parse the digested mouse reports (low-level
-events) into a gesture (a high-level or composite event).
-
-<H3><A NAME="output">Output and Screen Updating</A></H3>
-
-With the single exception of character echoes during a <CODE>wgetnstr()</CODE>
-call (which simulates cooked-mode line editing in an ncurses window),
-the library normally does all its output at refresh time. <P>
-
-The main job is to go from the current state of the screen (as represented
-in the <CODE>curscr</CODE> window structure) to the desired new state (as
-represented in the <CODE>newscr</CODE> window structure), while doing as
-little I/O as possible. <P>
-
-The brains of this operation are the modules <CODE>hashmap.c</CODE>,
-<CODE>hardscroll.c</CODE> and <CODE>lib_doupdate.c</CODE>; the latter two use
-<CODE>lib_mvcur.c</CODE>.  Essentially, what happens looks like this: <P>
-
-The <CODE>hashmap.c</CODE> module tries to detect vertical motion
-changes between the real and virtual screens.  This information
-is represented by the oldindex members in the newscr structure.
-These are modified by vertical-motion and clear operations, and both are
-re-initialized after each update. To this change-journalling
-information, the hashmap code adds deductions made using a modified Heckel
-algorithm on hash values generated from the line contents. <P>
-
-The <CODE>hardscroll.c</CODE> module computes an optimum set of scroll,
-insertion, and deletion operations to make the indices match.  It calls
-<CODE>_nc_mvcur_scrolln()</CODE> in <CODE>lib_mvcur.c</CODE> to do those motions. <P>
-
-Then <CODE>lib_doupdate.c</CODE> goes to work.  Its job is to do line-by-line
-transformations of <CODE>curscr</CODE> lines to <CODE>newscr</CODE> lines.  Its main
-tool is the routine <CODE>mvcur()</CODE> in <CODE>lib_mvcur.c</CODE>.  This routine
-does cursor-movement optimization, attempting to get from given screen
-location A to given location B in the fewest output characters possible. <P>
-
-If you want to work on screen optimizations, you should use the fact
-that (in the trace-enabled version of the library) enabling the
-<CODE>TRACE_TIMES</CODE> trace level causes a report to be emitted after
-each screen update giving the elapsed time and a count of characters
-emitted during the update.  You can use this to tell when an update
-optimization improves efficiency. <P>
-
-In the trace-enabled version of the library, it is also possible to disable
-and re-enable various optimizations at runtime by tweaking the variable
-<CODE>_nc_optimize_enable</CODE>.  See the file <CODE>include/curses.h.in</CODE>
-for mask values, near the end.
-
-<H1><A NAME="fmnote">The Forms and Menu Libraries</A></H1>
-
-The forms and menu libraries should work reliably in any environment you
-can port ncurses to. The only portability issue anywhere in them is what
-flavor of regular expressions the built-in form field type TYPE_REGEXP
-will recognize. <P>
-
-The configuration code prefers the POSIX regex facility, modeled on
-System V's, but will settle for BSD regexps if the former isn't available. <P>
-
-Historical note: the panels code was written primarily to assist in
-porting u386mon 2.0 (comp.sources.misc v14i001-4) to systems lacking
-panels support; u386mon 2.10 and beyond use it.  This version has been
-slightly cleaned up for <CODE>ncurses</CODE>.
-
-<H1><A NAME="tic">A Tour of the Terminfo Compiler</A></H1>
-
-The <STRONG>ncurses</STRONG> implementation of <STRONG>tic</STRONG> is rather complex
-internally; it has to do a trying combination of missions. This starts
-with the fact that, in addition to its normal duty of compiling
-terminfo sources into loadable terminfo binaries, it has to be able to
-handle termcap syntax and compile that too into terminfo entries. <P>
-
-The implementation therefore starts with a table-driven, dual-mode
-lexical analyzer (in <CODE>comp_scan.c</CODE>).  The lexer chooses its
-mode (termcap or terminfo) based on the first `,' or `:' it finds in
-each entry.  The lexer does all the work of recognizing capability
-names and values; the grammar above it is trivial, just "parse entries
-till you run out of file".
-
-<H2><A NAME="nonuse">Translation of Non-<STRONG>use</STRONG> Capabilities</A></H2>
-
-Translation of most things besides <STRONG>use</STRONG> capabilities is pretty
-straightforward.  The lexical analyzer's tokenizer hands each capability
-name to a hash function, which drives a table lookup.  The table entry
-yields an index which is used to look up the token type in another table,
-and controls interpretation of the value. <P>
-
-One possibly interesting aspect of the implementation is the way the
-compiler tables are initialized.  All the tables are generated by various
-awk/sed/sh scripts from a master table <CODE>include/Caps</CODE>; these
-scripts actually write C initializers which are linked to the compiler.
-Furthermore, the hash table is generated in the same way, so it doesn't
-have to be generated at compiler startup time (another benefit of this
-organization is that the hash table can be in shareable text space). <P>
-
-Thus, adding a new capability is usually pretty trivial, just a matter
-of adding one line to the <CODE>include/Caps</CODE> file.  We'll have more
-to say about this in the section on <A HREF="#translation">Source-Form
-Translation</A>.
-
-<H2><A NAME="uses">Use Capability Resolution</A></H2>
-
-The background problem that makes <STRONG>tic</STRONG> tricky isn't the capability
-translation itself, it's the resolution of <STRONG>use</STRONG> capabilities.  Older
-versions would not handle forward <STRONG>use</STRONG> references for this reason
-(that is, a using terminal always had to follow its use target in the
-source file).  By doing this, they got away with a simple implementation
-tactic; compile everything as it blows by, then resolve uses from compiled
-entries. <P>
-
-This won't do for <STRONG>ncurses</STRONG>.  The problem is that that the whole
-compilation process has to be embeddable in the <STRONG>ncurses</STRONG> library
-so that it can be called by the startup code to translate termcap
-entries on the fly.  The embedded version can't go promiscuously writing
-everything it translates out to disk -- for one thing, it will typically
-be running with non-root permissions. <P>
-
-So our <STRONG>tic</STRONG> is designed to parse an entire terminfo file into a
-doubly-linked circular list of entry structures in-core, and then do
-<STRONG>use</STRONG> resolution in-memory before writing everything out.  This
-design has other advantages: it makes forward and back use-references
-equally easy (so we get the latter for free), and it makes checking for
-name collisions before they're written out easy to do. <P>
-
-And this is exactly how the embedded version works.  But the stand-alone
-user-accessible version of <STRONG>tic</STRONG> partly reverts to the historical
-strategy; it writes to disk (not keeping in core) any entry with no
-<STRONG>use</STRONG> references. <P>
-
-This is strictly a core-economy kluge, implemented because the
-terminfo master file is large enough that some core-poor systems swap
-like crazy when you compile it all in memory...there have been reports of
-this process taking <STRONG>three hours</STRONG>, rather than the twenty seconds
-or less typical on the author's development box. <P>
-
-So.  The executable <STRONG>tic</STRONG> passes the entry-parser a hook that
-<EM>immediately</EM> writes out the referenced entry if it has no use
-capabilities.  The compiler main loop refrains from adding the entry
-to the in-core list when this hook fires.  If some other entry later
-needs to reference an entry that got written immediately, that's OK;
-the resolution code will fetch it off disk when it can't find it in
-core. <P>
-
-Name collisions will still be detected, just not as cleanly.  The
-<CODE>write_entry()</CODE> code complains before overwriting an entry that
-postdates the time of <STRONG>tic</STRONG>'s first call to
-<CODE>write_entry()</CODE>, Thus it will complain about overwriting
-entries newly made during the <STRONG>tic</STRONG> run, but not about
-overwriting ones that predate it.
-
-<H2><A NAME="translation">Source-Form Translation</A></H2>
-
-Another use of <STRONG>tic</STRONG> is to do source translation between various termcap
-and terminfo formats.  There are more variants out there than you might
-think; the ones we know about are described in the <STRONG>captoinfo(1)</STRONG>
-manual page. <P>
-
-The translation output code (<CODE>dump_entry()</CODE> in
-<CODE>ncurses/dump_entry.c</CODE>) is shared with the <STRONG>infocmp(1)</STRONG>
-utility.  It takes the same internal representation used to generate
-the binary form and dumps it to standard output in a specified
-format. <P>
-
-The <CODE>include/Caps</CODE> file has a header comment describing ways you
-can specify source translations for nonstandard capabilities just by
-altering the master table.  It's possible to set up capability aliasing
-or tell the compiler to plain ignore a given capability without writing
-any C code at all. <P>
-
-For circumstances where you need to do algorithmic translation, there
-are functions in <CODE>parse_entry.c</CODE> called after the parse of each
-entry that are specifically intended to encapsulate such
-translations.  This, for example, is where the AIX <STRONG>box1</STRONG> capability
-get translated to an <STRONG>acsc</STRONG> string.
-
-<H1><A NAME="utils">Other Utilities</A></H1>
-
-The <STRONG>infocmp</STRONG> utility is just a wrapper around the same
-entry-dumping code used by <STRONG>tic</STRONG> for source translation.  Perhaps
-the one interesting aspect of the code is the use of a predicate
-function passed in to <CODE>dump_entry()</CODE> to control which
-capabilities are dumped.  This is necessary in order to handle both
-the ordinary De-compilation case and entry difference reporting. <P>
-
-The <STRONG>tput</STRONG> and <STRONG>clear</STRONG> utilities just do an entry load
-followed by a <CODE>tputs()</CODE> of a selected capability.
-
-<H1><A NAME="style">Style Tips for Developers</A></H1>
-
-See the TO-DO file in the top-level directory of the source distribution
-for additions that would be particularly useful. <P>
-
-The prefix <CODE>_nc_</CODE> should be used on library public functions that are
-not part of the curses API in order to prevent pollution of the
-application namespace.
-
-If you have to add to or modify the function prototypes in curses.h.in,
-read ncurses/MKlib_gen.sh first so you can avoid breaking XSI conformance.
-
-Please join the ncurses mailing list.  See the INSTALL file in the
-top level of the distribution for details on the list. <P>
-
-Look for the string <CODE>FIXME</CODE> in source files to tag minor bugs
-and potential problems that could use fixing. <P>
-
-Don't try to auto-detect OS features in the main body of the C code.
-That's the job of the configuration system. <P>
-
-To hold down complexity, do make your code data-driven.  Especially,
-if you can drive logic from a table filtered out of
-<CODE>include/Caps</CODE>, do it.  If you find you need to augment the
-data in that file in order to generate the proper table, that's still
-preferable to ad-hoc code -- that's why the fifth field (flags) is
-there. <P>
-
-Have fun!
-
-<H1><A NAME="port">Porting Hints</A></H1>
-
-The following notes are intended to be a first step towards DOS and Macintosh
-ports of the ncurses libraries. <P>
-
-The following library modules are `pure curses'; they operate only on
-the curses internal structures, do all output through other curses
-calls (not including <CODE>tputs()</CODE> and <CODE>putp()</CODE>) and do not
-call any other UNIX routines such as signal(2) or the stdio library.
-Thus, they should not need to be modified for single-terminal
-ports. 
-
-<blockquote>
-<code>
-lib_addch.c
-lib_addstr.c
-lib_bkgd.c
-lib_box.c
-lib_clear.c
-lib_clrbot.c
-lib_clreol.c
-lib_delch.c
-lib_delwin.c
-lib_erase.c
-lib_inchstr.c
-lib_insch.c
-lib_insdel.c
-lib_insstr.c
-lib_keyname.c
-lib_move.c
-lib_mvwin.c
-lib_newwin.c
-lib_overlay.c
-lib_pad.c
-lib_printw.c
-lib_refresh.c
-lib_scanw.c
-lib_scroll.c
-lib_scrreg.c
-lib_set_term.c
-lib_touch.c
-lib_tparm.c
-lib_tputs.c
-lib_unctrl.c
-lib_window.c
-panel.c
-</code>
-</blockquote>
-<P>
-
-This module is pure curses, but calls outstr():
-
-<blockquote>
-<code>
-lib_getstr.c
-</code>
-</blockquote>
-<P>
-
-These modules are pure curses, except that they use <CODE>tputs()</CODE>
-and <CODE>putp()</CODE>:
-
-<blockquote>
-<code>
-lib_beep.c
-lib_color.c
-lib_endwin.c
-lib_options.c
-lib_slk.c
-lib_vidattr.c
-</code>
-</blockquote>
-<P>
-
-This modules assist in POSIX emulation on non-POSIX systems:
-<DL>
-<DT> sigaction.c
-<DD> signal calls
-</DL>
-
-The following source files will not be needed for a
-single-terminal-type port.
-
-<blockquote>
-<code>
-alloc_entry.c
-captoinfo.c
-clear.c
-comp_captab.c
-comp_error.c
-comp_hash.c
-comp_main.c
-comp_parse.c
-comp_scan.c
-dump_entry.c
-infocmp.c
-parse_entry.c
-read_entry.c
-tput.c
-write_entry.c
-</code>
-</blockquote>
-<P>
-
-The following modules will use open()/read()/write()/close()/lseek() on files,
-but no other OS calls.
-
-<DL>
-<DT>lib_screen.c
-<DD>used to read/write screen dumps
-<DT>lib_trace.c
-<DD>used to write trace data to the logfile
-</DL>
-
-Modules that would have to be modified for a port start here: <P>
-
-The following modules are `pure curses' but contain assumptions inappropriate
-for a memory-mapped port.
-
-<dl>
-<dt>lib_longname.c<dd>assumes there may be multiple terminals
-<dt>lib_acs.c<dd>assumes acs_map as a double indirection
-<dt>lib_mvcur.c<dd>assumes cursor moves have variable cost
-<dt>lib_termcap.c<dd>assumes there may be multiple terminals
-<dt>lib_ti.c<dd>assumes there may be multiple terminals
-</dl>
-
-The following modules use UNIX-specific calls:
-
-<dl>
-<dt>lib_doupdate.c<dd>input checking
-<dt>lib_getch.c<dd>read()
-<dt>lib_initscr.c<dd>getenv()
-<dt>lib_newterm.c
-<dt>lib_baudrate.c
-<dt>lib_kernel.c<dd>various tty-manipulation and system calls
-<dt>lib_raw.c<dd>various tty-manipulation calls
-<dt>lib_setup.c<dd>various tty-manipulation calls
-<dt>lib_restart.c<dd>various tty-manipulation calls
-<dt>lib_tstp.c<dd>signal-manipulation calls
-<dt>lib_twait.c<dd>gettimeofday(), select().
-</dl>
-
-<HR>
-<ADDRESS>Eric S. Raymond &lt;esr@snark.thyrsus.com&gt;</ADDRESS>
-(Note: This is <EM>not</EM> the <A HREF="#bugtrack">bug address</A>!)
-</BODY>
-</HTML>
+</pre>
+
+  <p>The <code>ncurses</code> code is maintained by a small group
+  of volunteers. While we try our best to fix bugs promptly, we
+  simply do not have a lot of hours to spend on elementary
+  hand-holding. We rely on intelligent cooperation from our users.
+  If you think you have found a bug in <code>ncurses</code>, there
+  are some steps you can take before contacting us that will help
+  get the bug fixed quickly.</p>
+
+  <p>In order to use our bug-fixing time efficiently, we put people
+  who show us they have taken these steps at the head of our queue.
+  This means that if you do not, you will probably end up at the
+  tail end and have to wait a while.</p>
+
+  <ol>
+    <li>Develop a recipe to reproduce the bug.
+
+      <p>Bugs we can reproduce are likely to be fixed very quickly,
+      often within days. The most effective single thing you can do
+      to get a quick fix is develop a way we can duplicate the bad
+      behavior &mdash; ideally, by giving us source for a small,
+      portable test program that breaks the library. (Even better
+      is a keystroke recipe using one of the test programs provided
+      with the distribution.)</p>
+    </li>
+
+    <li>Try to reproduce the bug on a different terminal type.
+
+      <p>In our experience, most of the behaviors people report as
+      library bugs are actually due to subtle problems in terminal
+      descriptions. This is especially likely to be true if you are
+      using a traditional asynchronous terminal or PC-based
+      terminal emulator, rather than xterm or a UNIX console
+      entry.</p>
+
+      <p>It is therefore extremely helpful if you can tell us
+      whether or not your problem reproduces on other terminal
+      types. Usually you will have both a console type and xterm
+      available; please tell us whether or not your bug reproduces
+      on both.</p>
+
+      <p>If you have xterm available, it is also good to collect
+      xterm reports for different window sizes. This is especially
+      true if you normally use an unusual xterm window size &mdash;
+      a surprising number of the bugs we have seen are either
+      triggered or masked by these.</p>
+    </li>
+
+    <li>Generate and examine a trace file for the broken behavior.
+
+      <p>Recompile your program with the debugging versions of the
+      libraries. Insert a <code>trace()</code> call with the
+      argument set to <code>TRACE_UPDATE</code>. (See <a href=
+      "ncurses-intro.html#debugging">"Writing Programs with
+      NCURSES"</a> for details on trace levels.) Reproduce your
+      bug, then look at the trace file to see what the library was
+      actually doing.</p>
+
+      <p>Another frequent cause of apparent bugs is application
+      coding errors that cause the wrong things to be put on the
+      virtual screen. Looking at the virtual-screen dumps in the
+      trace file will tell you immediately if this is happening,
+      and save you from the possible embarrassment of being told
+      that the bug is in your code and is your problem rather than
+      ours.</p>
+
+      <p>If the virtual-screen dumps look correct but the bug
+      persists, it is possible to crank up the trace level to give
+      more and more information about the library's update actions
+      and the control sequences it issues to perform them. The test
+      directory of the distribution contains a tool for digesting
+      these logs to make them less tedious to wade through.</p>
+
+      <p>Often you will find terminfo problems at this stage by
+      noticing that the escape sequences put out for various
+      capabilities are wrong. If not, you are likely to learn
+      enough to be able to characterize any bug in the
+      screen-update logic quite exactly.</p>
+    </li>
+
+    <li>Report details and symptoms, not just interpretations.
+
+      <p>If you do the preceding two steps, it is very likely that
+      you will discover the nature of the problem yourself and be
+      able to send us a fix. This will create happy feelings all
+      around and earn you good karma for the first time you run
+      into a bug you really cannot characterize and fix
+      yourself.</p>
+
+      <p>If you are still stuck, at least you will know what to
+      tell us. Remember, we need details. If you guess about what
+      is safe to leave out, you are too likely to be wrong.</p>
+
+      <p>If your bug produces a bad update, include a trace file.
+      Try to make the trace at the <em>least</em> voluminous level
+      that pins down the bug. Logs that have been through
+      tracemunch are OK, it does not throw away any information
+      (actually they are better than un-munched ones because they
+      are easier to read).</p>
+
+      <p>If your bug produces a core-dump, please include a
+      symbolic stack trace generated by gdb(1) or your local
+      equivalent.</p>
+
+      <p>Tell us about every terminal on which you have reproduced
+      the bug &mdash; and every terminal on which you cannot.
+      Ideally, sent us terminfo sources for all of these (yours
+      might differ from ours).</p>
+
+      <p>Include your ncurses version and your OS/machine type, of
+      course! You can find your ncurses version in the
+      <code>curses.h</code> file.</p>
+    </li>
+  </ol>
+
+  <p>If your problem smells like a logic error or in cursor
+  movement or scrolling or a bad capability, there are a couple of
+  tiny test frames for the library algorithms in the progs
+  directory that may help you isolate it. These are not part of the
+  normal build, but do have their own make productions.</p>
+
+  <p>The most important of these is <code>mvcur</code>, a test
+  frame for the cursor-movement optimization code. With this
+  program, you can see directly what control sequences will be
+  emitted for any given cursor movement or scroll/insert/delete
+  operations. If you think you have got a bad capability
+  identified, you can disable it and test again. The program is
+  command-driven and has on-line help.</p>
+
+  <p>If you think the vertical-scroll optimization is broken, or
+  just want to understand how it works better, build
+  <code>hashmap</code> and read the header comments of
+  <code>hardscroll.c</code> and <code>hashmap.c</code>; then try it
+  out. You can also test the hardware-scrolling optimization
+  separately with <code>hardscroll</code>.</p>
+
+  <h1><a name="ncurslib" id="ncurslib">A Tour of the Ncurses
+  Library</a></h1>
+
+  <h2><a name="loverview" id="loverview">Library Overview</a></h2>
+
+  <p>Most of the library is superstructure &mdash; fairly trivial
+  convenience interfaces to a small set of basic functions and data
+  structures used to manipulate the virtual screen (in particular,
+  none of this code does any I/O except through calls to more
+  fundamental modules described below). The files</p>
+
+  <blockquote>
+    <code>lib_addch.c lib_bkgd.c lib_box.c lib_chgat.c lib_clear.c
+    lib_clearok.c lib_clrbot.c lib_clreol.c lib_colorset.c
+    lib_data.c lib_delch.c lib_delwin.c lib_echo.c lib_erase.c
+    lib_gen.c lib_getstr.c lib_hline.c lib_immedok.c lib_inchstr.c
+    lib_insch.c lib_insdel.c lib_insstr.c lib_instr.c
+    lib_isendwin.c lib_keyname.c lib_leaveok.c lib_move.c
+    lib_mvwin.c lib_overlay.c lib_pad.c lib_printw.c lib_redrawln.c
+    lib_scanw.c lib_screen.c lib_scroll.c lib_scrollok.c
+    lib_scrreg.c lib_set_term.c lib_slk.c lib_slkatr_set.c
+    lib_slkatrof.c lib_slkatron.c lib_slkatrset.c lib_slkattr.c
+    lib_slkclear.c lib_slkcolor.c lib_slkinit.c lib_slklab.c
+    lib_slkrefr.c lib_slkset.c lib_slktouch.c lib_touch.c
+    lib_unctrl.c lib_vline.c lib_wattroff.c lib_wattron.c
+    lib_window.c</code>
+  </blockquote>
+
+  <p>are all in this category. They are very unlikely to need
+  change, barring bugs or some fundamental reorganization in the
+  underlying data structures.</p>
+
+  <p>These files are used only for debugging support:</p>
+
+  <blockquote>
+    <code>lib_trace.c lib_traceatr.c lib_tracebits.c lib_tracechr.c
+    lib_tracedmp.c lib_tracemse.c trace_buf.c</code>
+  </blockquote>
+
+  <p>It is rather unlikely you will ever need to change these,
+  unless you want to introduce a new debug trace level for some
+  reason.</p>
+
+  <p>There is another group of files that do direct I/O via
+  <em>tputs()</em>, computations on the terminal capabilities, or
+  queries to the OS environment, but nevertheless have only fairly
+  low complexity. These include:</p>
+
+  <blockquote>
+    <code>lib_acs.c lib_beep.c lib_color.c lib_endwin.c
+    lib_initscr.c lib_longname.c lib_newterm.c lib_options.c
+    lib_termcap.c lib_ti.c lib_tparm.c lib_tputs.c lib_vidattr.c
+    read_entry.c.</code>
+  </blockquote>
+
+  <p>They are likely to need revision only if ncurses is being
+  ported to an environment without an underlying terminfo
+  capability representation.</p>
+
+  <p>These files have serious hooks into the tty driver and signal
+  facilities:</p>
+
+  <blockquote>
+    <code>lib_kernel.c lib_baudrate.c lib_raw.c lib_tstp.c
+    lib_twait.c</code>
+  </blockquote>
+
+  <p>If you run into porting snafus moving the package to another
+  UNIX, the problem is likely to be in one of these files. The file
+  <code>lib_print.c</code> uses sleep(2) and also falls in this
+  category.</p>
+
+  <p>Almost all of the real work is done in the files</p>
+
+  <blockquote>
+    <code>hardscroll.c hashmap.c lib_addch.c lib_doupdate.c
+    lib_getch.c lib_mouse.c lib_mvcur.c lib_refresh.c lib_setup.c
+    lib_vidattr.c</code>
+  </blockquote>
+
+  <p>Most of the algorithmic complexity in the library lives in
+  these files. If there is a real bug in <strong>ncurses</strong>
+  itself, it is probably here. We will tour some of these files in
+  detail below (see <a href="#engine">The Engine Room</a>).</p>
+
+  <p>Finally, there is a group of files that is actually most of
+  the terminfo compiler. The reason this code lives in the
+  <strong>ncurses</strong> library is to support fallback to
+  /etc/termcap. These files include</p>
+
+  <blockquote>
+    <code>alloc_entry.c captoinfo.c comp_captab.c comp_error.c
+    comp_hash.c comp_parse.c comp_scan.c parse_entry.c
+    read_termcap.c write_entry.c</code>
+  </blockquote>
+
+  <p>We will discuss these in the compiler tour.</p>
+
+  <h2><a name="engine" id="engine">The Engine Room</a></h2>
+
+  <h3><a name="input" id="input">Keyboard Input</a></h3>
+
+  <p>All <code>ncurses</code> input funnels through the function
+  <code>wgetch()</code>, defined in <code>lib_getch.c</code>. This
+  function is tricky; it has to poll for keyboard and mouse events
+  and do a running match of incoming input against the set of
+  defined special keys.</p>
+
+  <p>The central data structure in this module is a FIFO queue,
+  used to match multiple-character input sequences against
+  special-key capabilities; also to implement pushback via
+  <code>ungetch()</code>.</p>
+
+  <p>The <code>wgetch()</code> code distinguishes between function
+  key sequences and the same sequences typed manually by doing a
+  timed wait after each input character that could lead a function
+  key sequence. If the entire sequence takes less than 1 second, it
+  is assumed to have been generated by a function key press.</p>
+
+  <p>Hackers bruised by previous encounters with variant
+  <code>select(2)</code> calls may find the code in
+  <code>lib_twait.c</code> interesting. It deals with the problem
+  that some BSD selects do not return a reliable time-left value.
+  The function <code>timed_wait()</code> effectively simulates a
+  System V select.</p>
+
+  <h3><a name="mouse" id="mouse">Mouse Events</a></h3>
+
+  <p>If the mouse interface is active, <code>wgetch()</code> polls
+  for mouse events each call, before it goes to the keyboard for
+  input. It is up to <code>lib_mouse.c</code> how the polling is
+  accomplished; it may vary for different devices.</p>
+
+  <p>Under xterm, however, mouse event notifications come in via
+  the keyboard input stream. They are recognized by having the
+  <strong>kmous</strong> capability as a prefix. This is kind of
+  klugey, but trying to wire in recognition of a mouse key prefix
+  without going through the function-key machinery would be just
+  too painful, and this turns out to imply having the prefix
+  somewhere in the function-key capabilities at terminal-type
+  initialization.</p>
+
+  <p>This kluge only works because <strong>kmous</strong> is not
+  actually used by any historic terminal type or curses
+  implementation we know of. Best guess is it is a relic of some
+  forgotten experiment in-house at Bell Labs that did not leave any
+  traces in the publicly-distributed System V terminfo files. If
+  System V or XPG4 ever gets serious about using it again, this
+  kluge may have to change.</p>
+
+  <p>Here are some more details about mouse event handling:</p>
+
+  <p>The <code>lib_mouse()</code>code is logically split into a
+  lower level that accepts event reports in a device-dependent
+  format and an upper level that parses mouse gestures and filters
+  events. The mediating data structure is a circular queue of event
+  structures.</p>
+
+  <p>Functionally, the lower level's job is to pick up primitive
+  events and put them on the circular queue. This can happen in one
+  of two ways: either (a) <code>_nc_mouse_event()</code> detects a
+  series of incoming mouse reports and queues them, or (b) code in
+  <code>lib_getch.c</code> detects the <strong>kmous</strong>
+  prefix in the keyboard input stream and calls _nc_mouse_inline to
+  queue up a series of adjacent mouse reports.</p>
+
+  <p>In either case, <code>_nc_mouse_parse()</code> should be
+  called after the series is accepted to parse the digested mouse
+  reports (low-level events) into a gesture (a high-level or
+  composite event).</p>
+
+  <h3><a name="output" id="output">Output and Screen
+  Updating</a></h3>
+
+  <p>With the single exception of character echoes during a
+  <code>wgetnstr()</code> call (which simulates cooked-mode line
+  editing in an ncurses window), the library normally does all its
+  output at refresh time.</p>
+
+  <p>The main job is to go from the current state of the screen (as
+  represented in the <code>curscr</code> window structure) to the
+  desired new state (as represented in the <code>newscr</code>
+  window structure), while doing as little I/O as possible.</p>
+
+  <p>The brains of this operation are the modules
+  <code>hashmap.c</code>, <code>hardscroll.c</code> and
+  <code>lib_doupdate.c</code>; the latter two use
+  <code>lib_mvcur.c</code>. Essentially, what happens looks like
+  this:</p>
+
+  <p>The <code>hashmap.c</code> module tries to detect vertical
+  motion changes between the real and virtual screens. This
+  information is represented by the oldindex members in the newscr
+  structure. These are modified by vertical-motion and clear
+  operations, and both are re-initialized after each update. To
+  this change-journalling information, the hashmap code adds
+  deductions made using a modified Heckel algorithm on hash values
+  generated from the line contents.</p>
+
+  <p>The <code>hardscroll.c</code> module computes an optimum set
+  of scroll, insertion, and deletion operations to make the indices
+  match. It calls <code>_nc_mvcur_scrolln()</code> in
+  <code>lib_mvcur.c</code> to do those motions.</p>
+
+  <p>Then <code>lib_doupdate.c</code> goes to work. Its job is to
+  do line-by-line transformations of <code>curscr</code> lines to
+  <code>newscr</code> lines. Its main tool is the routine
+  <code>mvcur()</code> in <code>lib_mvcur.c</code>. This routine
+  does cursor-movement optimization, attempting to get from given
+  screen location A to given location B in the fewest output
+  characters possible.</p>
+
+  <p>If you want to work on screen optimizations, you should use
+  the fact that (in the trace-enabled version of the library)
+  enabling the <code>TRACE_TIMES</code> trace level causes a report
+  to be emitted after each screen update giving the elapsed time
+  and a count of characters emitted during the update. You can use
+  this to tell when an update optimization improves efficiency.</p>
+
+  <p>In the trace-enabled version of the library, it is also
+  possible to disable and re-enable various optimizations at
+  runtime by tweaking the variable
+  <code>_nc_optimize_enable</code>. See the file
+  <code>include/curses.h.in</code> for mask values, near the
+  end.</p>
+
+  <h1><a name="fmnote" id="fmnote">The Forms and Menu
+  Libraries</a></h1>
+
+  <p>The forms and menu libraries should work reliably in any
+  environment you can port ncurses to. The only portability issue
+  anywhere in them is what flavor of regular expressions the
+  built-in form field type TYPE_REGEXP will recognize.</p>
+
+  <p>The configuration code prefers the POSIX regex facility,
+  modeled on System V's, but will settle for BSD regexps if the
+  former is not available.</p>
+
+  <p>Historical note: the panels code was written primarily to
+  assist in porting u386mon 2.0 (comp.sources.misc v14i001-4) to
+  systems lacking panels support; u386mon 2.10 and beyond use it.
+  This version has been slightly cleaned up for
+  <code>ncurses</code>.</p>
+
+  <h1><a name="tic" id="tic">A Tour of the Terminfo
+  Compiler</a></h1>
+
+  <p>The <strong>ncurses</strong> implementation of
+  <strong>tic</strong> is rather complex internally; it has to do a
+  trying combination of missions. This starts with the fact that,
+  in addition to its normal duty of compiling terminfo sources into
+  loadable terminfo binaries, it has to be able to handle termcap
+  syntax and compile that too into terminfo entries.</p>
+
+  <p>The implementation therefore starts with a table-driven,
+  dual-mode lexical analyzer (in <code>comp_scan.c</code>). The
+  lexer chooses its mode (termcap or terminfo) based on the first
+  &ldquo;,&rdquo; or &ldquo;:&rdquo; it finds in each entry. The
+  lexer does all the work of recognizing capability names and
+  values; the grammar above it is trivial, just "parse entries till
+  you run out of file".</p>
+
+  <h2><a name="nonuse" id="nonuse">Translation of
+  Non-<strong>use</strong> Capabilities</a></h2>
+
+  <p>Translation of most things besides <strong>use</strong>
+  capabilities is pretty straightforward. The lexical analyzer's
+  tokenizer hands each capability name to a hash function, which
+  drives a table lookup. The table entry yields an index which is
+  used to look up the token type in another table, and controls
+  interpretation of the value.</p>
+
+  <p>One possibly interesting aspect of the implementation is the
+  way the compiler tables are initialized. All the tables are
+  generated by various awk/sed/sh scripts from a master table
+  <code>include/Caps</code>; these scripts actually write C
+  initializers which are linked to the compiler. Furthermore, the
+  hash table is generated in the same way, so it doesn't have to be
+  generated at compiler startup time (another benefit of this
+  organization is that the hash table can be in shareable text
+  space).</p>
+
+  <p>Thus, adding a new capability is usually pretty trivial, just
+  a matter of adding one line to the <code>include/Caps</code>
+  file. We will have more to say about this in the section on
+  <a href="#translation">Source-Form Translation</a>.</p>
+
+  <h2><a name="uses" id="uses">Use Capability Resolution</a></h2>
+
+  <p>The background problem that makes <strong>tic</strong> tricky
+  is not the capability translation itself, it is the resolution of
+  <strong>use</strong> capabilities. Older versions would not
+  handle forward <strong>use</strong> references for this reason
+  (that is, a using terminal always had to follow its use target in
+  the source file). By doing this, they got away with a simple
+  implementation tactic; compile everything as it blows by, then
+  resolve uses from compiled entries.</p>
+
+  <p>This will not do for <strong>ncurses</strong>. The problem is
+  that that the whole compilation process has to be embeddable in
+  the <strong>ncurses</strong> library so that it can be called by
+  the startup code to translate termcap entries on the fly. The
+  embedded version cannot go promiscuously writing everything it
+  translates out to disk &mdash; for one thing, it will typically
+  be running with non-root permissions.</p>
+
+  <p>So our <strong>tic</strong> is designed to parse an entire
+  terminfo file into a doubly-linked circular list of entry
+  structures in-core, and then do <strong>use</strong> resolution
+  in-memory before writing everything out. This design has other
+  advantages: it makes forward and back use-references equally easy
+  (so we get the latter for free), and it makes checking for name
+  collisions before they are written out easy to do.</p>
+
+  <p>And this is exactly how the embedded version works. But the
+  stand-alone user-accessible version of <strong>tic</strong>
+  partly reverts to the historical strategy; it writes to disk (not
+  keeping in core) any entry with no <strong>use</strong>
+  references.</p>
+
+  <p>This is strictly a core-economy kluge, implemented because the
+  terminfo master file is large enough that some core-poor systems
+  swap like crazy when you compile it all in memory...there have
+  been reports of this process taking <strong>three hours</strong>,
+  rather than the twenty seconds or less typical on the author's
+  development box.</p>
+
+  <p>So. The executable <strong>tic</strong> passes the
+  entry-parser a hook that <em>immediately</em> writes out the
+  referenced entry if it has no use capabilities. The compiler main
+  loop refrains from adding the entry to the in-core list when this
+  hook fires. If some other entry later needs to reference an entry
+  that got written immediately, that is OK; the resolution code
+  will fetch it off disk when it cannot find it in core.</p>
+
+  <p>Name collisions will still be detected, just not as cleanly.
+  The <code>write_entry()</code> code complains before overwriting
+  an entry that postdates the time of <strong>tic</strong>'s first
+  call to <code>write_entry()</code>, Thus it will complain about
+  overwriting entries newly made during the <strong>tic</strong>
+  run, but not about overwriting ones that predate it.</p>
+
+  <h2><a name="translation" id="translation">Source-Form
+  Translation</a></h2>
+
+  <p>Another use of <strong>tic</strong> is to do source
+  translation between various termcap and terminfo formats. There
+  are more variants out there than you might think; the ones we
+  know about are described in the <strong>captoinfo(1)</strong>
+  manual page.</p>
+
+  <p>The translation output code (<code>dump_entry()</code> in
+  <code>ncurses/dump_entry.c</code>) is shared with the
+  <strong>infocmp(1)</strong> utility. It takes the same internal
+  representation used to generate the binary form and dumps it to
+  standard output in a specified format.</p>
+
+  <p>The <code>include/Caps</code> file has a header comment
+  describing ways you can specify source translations for
+  nonstandard capabilities just by altering the master table. It is
+  possible to set up capability aliasing or tell the compiler to
+  plain ignore a given capability without writing any C code at
+  all.</p>
+
+  <p>For circumstances where you need to do algorithmic
+  translation, there are functions in <code>parse_entry.c</code>
+  called after the parse of each entry that are specifically
+  intended to encapsulate such translations. This, for example, is
+  where the AIX <strong>box1</strong> capability get translated to
+  an <strong>acsc</strong> string.</p>
+
+  <h1><a name="utils" id="utils">Other Utilities</a></h1>
+
+  <p>The <strong>infocmp</strong> utility is just a wrapper around
+  the same entry-dumping code used by <strong>tic</strong> for
+  source translation. Perhaps the one interesting aspect of the
+  code is the use of a predicate function passed in to
+  <code>dump_entry()</code> to control which capabilities are
+  dumped. This is necessary in order to handle both the ordinary
+  De-compilation case and entry difference reporting.</p>
+
+  <p>The <strong>tput</strong> and <strong>clear</strong> utilities
+  just do an entry load followed by a <code>tputs()</code> of a
+  selected capability.</p>
+
+  <h1><a name="style" id="style">Style Tips for Developers</a></h1>
+
+  <p>See the TO-DO file in the top-level directory of the source
+  distribution for additions that would be particularly useful.</p>
+
+  <p>The prefix <code>_nc_</code> should be used on library public
+  functions that are not part of the curses API in order to prevent
+  pollution of the application namespace. If you have to add to or
+  modify the function prototypes in curses.h.in, read
+  ncurses/MKlib_gen.sh first so you can avoid breaking XSI
+  conformance. Please join the ncurses mailing list. See the
+  INSTALL file in the top level of the distribution for details on
+  the list.</p>
+
+  <p>Look for the string <code>FIXME</code> in source files to tag
+  minor bugs and potential problems that could use fixing.</p>
+
+  <p>Do not try to auto-detect OS features in the main body of the
+  C code. That is the job of the configuration system.</p>
+
+  <p>To hold down complexity, do make your code data-driven.
+  Especially, if you can drive logic from a table filtered out of
+  <code>include/Caps</code>, do it. If you find you need to augment
+  the data in that file in order to generate the proper table, that
+  is still preferable to ad-hoc code &mdash; that is why the fifth
+  field (flags) is there.</p>
+
+  <p>Have fun!</p>
+
+  <h1><a name="port" id="port">Porting Hints</a></h1>
+
+  <p>The following notes are intended to be a first step towards
+  DOS and Macintosh ports of the ncurses libraries.</p>
+
+  <p>The following library modules are &ldquo;pure curses&rdquo;;
+  they operate only on the curses internal structures, do all
+  output through other curses calls (not including
+  <code>tputs()</code> and <code>putp()</code>) and do not call any
+  other UNIX routines such as signal(2) or the stdio library. Thus,
+  they should not need to be modified for single-terminal
+  ports.</p>
+
+  <blockquote>
+    <code>lib_addch.c lib_addstr.c lib_bkgd.c lib_box.c lib_clear.c
+    lib_clrbot.c lib_clreol.c lib_delch.c lib_delwin.c lib_erase.c
+    lib_inchstr.c lib_insch.c lib_insdel.c lib_insstr.c
+    lib_keyname.c lib_move.c lib_mvwin.c lib_newwin.c lib_overlay.c
+    lib_pad.c lib_printw.c lib_refresh.c lib_scanw.c lib_scroll.c
+    lib_scrreg.c lib_set_term.c lib_touch.c lib_tparm.c lib_tputs.c
+    lib_unctrl.c lib_window.c panel.c</code>
+  </blockquote>
+
+  <p>This module is pure curses, but calls outstr():</p>
+
+  <blockquote>
+    <code>lib_getstr.c</code>
+  </blockquote>
+
+  <p>These modules are pure curses, except that they use
+  <code>tputs()</code> and <code>putp()</code>:</p>
+
+  <blockquote>
+    <code>lib_beep.c lib_color.c lib_endwin.c lib_options.c
+    lib_slk.c lib_vidattr.c</code>
+  </blockquote>
+
+  <p>This modules assist in POSIX emulation on non-POSIX
+  systems:</p>
+
+  <dl>
+    <dt>sigaction.c</dt>
+
+    <dd>signal calls</dd>
+  </dl>
+
+  <p>The following source files will not be needed for a
+  single-terminal-type port.</p>
+
+  <blockquote>
+    <code>alloc_entry.c captoinfo.c clear.c comp_captab.c
+    comp_error.c comp_hash.c comp_main.c comp_parse.c comp_scan.c
+    dump_entry.c infocmp.c parse_entry.c read_entry.c tput.c
+    write_entry.c</code>
+  </blockquote>
+
+  <p>The following modules will use
+  open()/read()/write()/close()/lseek() on files, but no other OS
+  calls.</p>
+
+  <dl>
+    <dt>lib_screen.c</dt>
+
+    <dd>used to read/write screen dumps</dd>
+
+    <dt>lib_trace.c</dt>
+
+    <dd>used to write trace data to the logfile</dd>
+  </dl>
+
+  <p>Modules that would have to be modified for a port start
+  here:</p>
+
+  <p>The following modules are &ldquo;pure curses&rdquo; but
+  contain assumptions inappropriate for a memory-mapped port.</p>
+
+  <dl>
+    <dt>lib_longname.c</dt>
+
+    <dd>assumes there may be multiple terminals</dd>
+
+    <dt>lib_acs.c</dt>
+
+    <dd>assumes acs_map as a double indirection</dd>
+
+    <dt>lib_mvcur.c</dt>
+
+    <dd>assumes cursor moves have variable cost</dd>
+
+    <dt>lib_termcap.c</dt>
+
+    <dd>assumes there may be multiple terminals</dd>
+
+    <dt>lib_ti.c</dt>
+
+    <dd>assumes there may be multiple terminals</dd>
+  </dl>
+
+  <p>The following modules use UNIX-specific calls:</p>
+
+  <dl>
+    <dt>lib_doupdate.c</dt>
+
+    <dd>input checking</dd>
+
+    <dt>lib_getch.c</dt>
+
+    <dd>read()</dd>
+
+    <dt>lib_initscr.c</dt>
+
+    <dd>getenv()</dd>
+
+    <dt>lib_newterm.c</dt>
+
+    <dt>lib_baudrate.c</dt>
+
+    <dt>lib_kernel.c</dt>
+
+    <dd>various tty-manipulation and system calls</dd>
+
+    <dt>lib_raw.c</dt>
+
+    <dd>various tty-manipulation calls</dd>
+
+    <dt>lib_setup.c</dt>
+
+    <dd>various tty-manipulation calls</dd>
+
+    <dt>lib_restart.c</dt>
+
+    <dd>various tty-manipulation calls</dd>
+
+    <dt>lib_tstp.c</dt>
+
+    <dd>signal-manipulation calls</dd>
+
+    <dt>lib_twait.c</dt>
+
+    <dd>gettimeofday(), select().</dd>
+  </dl>
+  <hr>
+
+  <address>
+    Eric S. Raymond &lt;esr@snark.thyrsus.com&gt;
+  </address>(Note: This is <em>not</em> the <a href="#bugtrack">bug
+  address</a>!)
+</body>
+</html>
index fb6a071c2ca0046b7151f9d660c26cde536f2cff..f847fd2fb58404c9873668121d330983980881a9 100644 (file)
@@ -1,8 +1,7 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN">
 <!--
-  $Id: index.html,v 1.6 2013/05/17 23:30:29 tom Exp $
+  $Id: index.html,v 1.7 2017/05/05 12:04:48 tom Exp $
   ****************************************************************************
-  * Copyright (c) 1998-2010,2013 Free Software Foundation, Inc.              *
+  * Copyright (c) 1998-2013,2017 Free Software Foundation, Inc.              *
   *                                                                          *
   * Permission is hereby granted, free of charge, to any person obtaining a  *
   * copy of this software and associated documentation files (the            *
   * authorization.                                                           *
   ****************************************************************************
 -->
-<HTML>
-<HEAD>
-<TITLE>Welcome to ncurses</TITLE>
-<link rev=made href="mailto:bug-ncurses@gnu.org">
-<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
-</HEAD>
-<BODY>
-
-<H1>Welcome to ncurses</H1>
-From this index page you have access to these further documents
-<UL>
-<LI>The <a href="announce.html">Announcement</a> of the current version of ncurses.
-<LI>An <a href="ncurses-intro.html">Introduction</a> into (n)curses programming.
-<LI>A <a href="hackguide.html">hackers guide</a> to ncurses.
-<LI>A description of the <a href="Ada95.html">Ada95 binding</a>, by J&uuml;rgen Pfeifer.
-<li>A <a href="NCURSES-Programming-HOWTO.html">A short tutorial</a>, by Pradeep Padala.
-</UL><P>
-We also have HTML versions of all the ncurses <a href="man">manpages</a>.
-</BODY>
-</HTML>
+<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN">
+
+<html>
+<head>
+  <meta name="generator" content=
+  "HTML Tidy for Linux (vers 25 March 2009), see www.w3.org">
+
+  <title>Welcome to ncurses</title>
+  <link rev="made" href="mailto:bug-ncurses@gnu.org">
+  <meta http-equiv="Content-Type" content=
+  "text/html; charset=us-ascii">
+</head>
+
+<body>
+  <h1>Welcome to ncurses</h1>From this index page you have access
+  to these further documents
+
+  <ul>
+    <li>The <a href="announce.html">Announcement</a> of the current
+    version of ncurses.</li>
+
+    <li>An <a href="ncurses-intro.html">Introduction</a> into
+    (n)curses programming.</li>
+
+    <li>A <a href="hackguide.html">hackers guide</a> to
+    ncurses.</li>
+
+    <li>A description of the <a href="Ada95.html">Ada95
+    binding</a>, by J&uuml;rgen Pfeifer.</li>
+
+    <li>A <a href="NCURSES-Programming-HOWTO.html">A short
+    tutorial</a>, by Pradeep Padala.</li>
+  </ul>
+
+  <p>We also have HTML versions of all the ncurses <a href=
+  "man">manpages</a>.</p>
+</body>
+</html>
index ab1549057fe8d3fee0b5a3c7ca1f47292ad9666c..062082436ff9b6f1268fc15a6223f5ad8ce3b3f8 100644 (file)
@@ -40,7 +40,7 @@
 <BODY>
 <H1 class="no-header">ADACURSES 1   User Commands</H1>
 <PRE>
-<STRONG>ADACURSES(1)</STRONG>                 User Commands                 <STRONG>ADACURSES(1)</STRONG>
+<STRONG>ADACURSES(1)</STRONG>                     User Commands                    <STRONG>ADACURSES(1)</STRONG>
 
 
 
 
 
 </PRE><H2><a name="h2-DESCRIPTION">DESCRIPTION</a></H2><PRE>
-       This  is  a  shell  script which simplifies configuring an
-       application  to  use  the  AdaCurses  library  binding  to
-       ncurses.
+       This  is  a shell script which simplifies configuring an application to
+       use the AdaCurses library binding to ncurses.
 
 
 </PRE><H2><a name="h2-OPTIONS">OPTIONS</a></H2><PRE>
        <STRONG>--cflags</STRONG>
-              echos  the gnat (Ada compiler) flags needed to com-
-              pile with AdaCurses.
-
-       <STRONG>--libs</STRONG> echos  the  gnat  libraries  needed  to  link  with
+              echos the gnat (Ada  compiler)  flags  needed  to  compile  with
               AdaCurses.
 
+       <STRONG>--libs</STRONG> echos the gnat libraries needed to link with AdaCurses.
+
        <STRONG>--version</STRONG>
-              echos  the release+patchdate version of the ncurses
-              libraries used to configure and build AdaCurses.
+              echos  the  release+patchdate  version  of the ncurses libraries
+              used to configure and build AdaCurses.
 
-       <STRONG>--help</STRONG> prints a list  of  the  <STRONG>adacurses6-config</STRONG>  script's
-              options.
+       <STRONG>--help</STRONG> prints a list of the <STRONG>adacurses6-config</STRONG> script's options.
 
-       If no options are given, <STRONG>adacurses6-config</STRONG> prints the com-
-       bination of <STRONG>--cflags</STRONG> and <STRONG>--libs</STRONG> that <STRONG>gnatmake</STRONG> expects (see
-       example).
+       If no options are given, <STRONG>adacurses6-config</STRONG> prints  the  combination  of
+       <STRONG>--cflags</STRONG> and <STRONG>--libs</STRONG> that <STRONG>gnatmake</STRONG> expects (see example).
 
 
 </PRE><H2><a name="h2-EXAMPLE">EXAMPLE</a></H2><PRE>
-       For example, supposing that you want to compile the "Hello
-       World!"   program  for  AdaCurses.   Make  a  file   named
-       "hello.adb":
+       For  example,  supposing  that  you  want to compile the "Hello World!"
+       program for AdaCurses.  Make a file named "hello.adb":
               with Terminal_Interface.Curses; use Terminal_Interface.Curses;
 
               procedure Hello is
                     end case;
 
                     Nap_Milli_Seconds (50);
-
                  end loop;
 
                  End_Windows;
               end Hello;
 
        Then, using
-              gnatmake  `adacurses-config  --cflags` hello -largs
-              `adacurses-config --libs`
+              gnatmake `adacurses-config --cflags`  hello  -largs  `adacurses-
+              config --libs`
 
        or (simpler):
               gnatmake hello `adacurses-config`
 </PRE><H2><a name="h2-SEE-ALSO">SEE ALSO</a></H2><PRE>
        <STRONG><A HREF="ncurses.3x.html">curses(3x)</A></STRONG>
 
-       This describes <STRONG>ncurses</STRONG> version 6.0 (patch 20170429).
+       This describes <STRONG>ncurses</STRONG> version 6.0 (patch 20170506).
 
 
 
-                                                           <STRONG>ADACURSES(1)</STRONG>
+                                                                  <STRONG>ADACURSES(1)</STRONG>
 </PRE>
 <div class="nav">
 <ul>
index 12dda478635c169897e970a5ea255bf527b4f21b..9bd10364603bc1b9722d555cb5c5ed469283d68d 100644 (file)
 <BODY>
 <H1 class="no-header">captoinfo 1m</H1>
 <PRE>
-<STRONG><A HREF="captoinfo.1m.html">captoinfo(1m)</A></STRONG>                                             <STRONG><A HREF="captoinfo.1m.html">captoinfo(1m)</A></STRONG>
+<STRONG><A HREF="captoinfo.1m.html">captoinfo(1m)</A></STRONG>                                                    <STRONG><A HREF="captoinfo.1m.html">captoinfo(1m)</A></STRONG>
 
 
 
 
 </PRE><H2><a name="h2-NAME">NAME</a></H2><PRE>
-       <STRONG>captoinfo</STRONG>  - convert a <EM>termcap</EM> description into a <EM>terminfo</EM>
-       description
+       <STRONG>captoinfo</STRONG> - convert a <EM>termcap</EM> description into a <EM>terminfo</EM> description
 
 
 </PRE><H2><a name="h2-SYNOPSIS">SYNOPSIS</a></H2><PRE>
 
 
 </PRE><H2><a name="h2-DESCRIPTION">DESCRIPTION</a></H2><PRE>
-       <STRONG>captoinfo</STRONG> looks  in  each  given  text  <EM>file</EM>  for  <STRONG>termcap</STRONG>
-       descriptions.   For each one found, an equivalent <STRONG>terminfo</STRONG>
-       description is written to  standard  output.   Termcap  <STRONG>tc</STRONG>
-       capabilities are translated directly to terminfo <STRONG>use</STRONG> capa-
-       bilities.
+       <STRONG>captoinfo</STRONG>  looks in each given text <EM>file</EM> for <STRONG>termcap</STRONG> descriptions.  For
+       each one found, an equivalent <STRONG>terminfo</STRONG> description is written to  stan-
+       dard  output.   Termcap <STRONG>tc</STRONG> capabilities are translated directly to ter-
+       minfo <STRONG>use</STRONG> capabilities.
 
-       If no <EM>file</EM> is given, then the environment variable <STRONG>TERMCAP</STRONG>
-       is  used  for the filename or entry.  If <STRONG>TERMCAP</STRONG> is a full
-       pathname to a file, only the terminal whose name is speci-
-       fied  in  the  environment variable <STRONG>TERM</STRONG> is extracted from
-       that file.  If the environment  variable  <STRONG>TERMCAP</STRONG>  is  not
-       set, then the file <STRONG>/usr/share/terminfo</STRONG> is read.
+       If no <EM>file</EM> is given, then the environment variable <STRONG>TERMCAP</STRONG> is used  for
+       the  filename  or entry.  If <STRONG>TERMCAP</STRONG> is a full pathname to a file, only
+       the terminal whose name is specified in the environment  variable  <STRONG>TERM</STRONG>
+       is  extracted  from  that file.  If the environment variable <STRONG>TERMCAP</STRONG> is
+       not set, then the file <STRONG>/usr/share/terminfo</STRONG> is read.
 
-       <STRONG>-v</STRONG>   print  out  tracing  information on standard error as
-            the program runs.
+       <STRONG>-v</STRONG>   print out tracing information on standard  error  as  the  program
+            runs.
 
-       <STRONG>-V</STRONG>   print out the version of the program in use on  stan-
-            dard error and exit.
+       <STRONG>-V</STRONG>   print  out the version of the program in use on standard error and
+            exit.
 
-       <STRONG>-1</STRONG>   cause  the fields to print out one to a line.  Other-
-            wise, the fields will be printed several to a line to
-            a maximum width of 60 characters.
+       <STRONG>-1</STRONG>   cause the fields to print out  one  to  a  line.   Otherwise,  the
+            fields  will be printed several to a line to a maximum width of 60
+            characters.
 
        <STRONG>-w</STRONG>   change the output to <EM>width</EM> characters.
 
 
 </PRE><H2><a name="h2-FILES">FILES</a></H2><PRE>
-       /usr/share/terminfo Compiled  terminal  description  data-
-                           base.
+       /usr/share/terminfo Compiled terminal description database.
 
 
 </PRE><H2><a name="h2-TRANSLATIONS-FROM-NONSTANDARD-CAPABILITIES">TRANSLATIONS FROM NONSTANDARD CAPABILITIES</a></H2><PRE>
-       Some obsolete nonstandard capabilities will  automatically
-       be  translated  into  standard  (SVr4/XSI Curses) terminfo
-       capabilities by <STRONG>captoinfo</STRONG>.  Whenever one  of  these  auto-
-       matic  translations  is  done,  the  program will issue an
-       notification to stderr, inviting the user to check that it
-       has  not  mistakenly  translated  a completely unknown and
-       random capability and/or syntax error.
+       Some obsolete nonstandard capabilities will automatically be translated
+       into  standard  (SVr4/XSI  Curses)  terminfo capabilities by <STRONG>captoinfo</STRONG>.
+       Whenever one of these automatic translations is done, the program  will
+       issue an notification to stderr, inviting the user to check that it has
+       not mistakenly translated a completely unknown  and  random  capability
+       and/or syntax error.
 
        Nonstd   Std    From           Terminfo
         name    name                 capability
        GE       ae     XENIX   exit_alt_charset_mode
        GS       as     XENIX   enter_alt_charset_mode
        HM       kh     XENIX   key_home
-
        LD       kL     XENIX   key_dl
        PD       kN     XENIX   key_npage
        PN       po     XENIX   prtr_off
        PS       pf     XENIX   prtr_on
        PU       kP     XENIX   key_ppage
+
        RT       @8     XENIX   kent
        UP       ku     XENIX   kcuu1
        KA       k;     Tek     key_f10
        FC       Sf     Tek     set_foreground
        HS       mh     Iris    enter_dim_mode
 
-       XENIX termcap also used to have a set of  extension  capa-
-       bilities  for forms drawing, designed to take advantage of
-       the IBM PC high-half graphics.  They were as follows:
+       XENIX  termcap  also  used  to have a set of extension capabilities for
+       forms drawing, designed to take  advantage  of  the  IBM  PC  high-half
+       graphics.  They were as follows:
 
        Cap          Graphic
        -----------------------------
        Gc    intersection
        GG    acs magic cookie count
 
-       If the single-line capabilities occur in  an  entry,  they
-       will  automatically  be composed into an <STRONG>acsc</STRONG> string.  The
-       double-line capabilities and <STRONG>GG</STRONG> are discarded with a warn-
-       ing message.
+       If  the single-line capabilities occur in an entry, they will automati-
+       cally be composed into an <STRONG>acsc</STRONG> string.   The  double-line  capabilities
+       and <STRONG>GG</STRONG> are discarded with a warning message.
 
-       IBM's AIX has a terminfo facility descended from SVr1 ter-
-       minfo but incompatible with the SVr4 format.  The  follow-
-       ing AIX extensions are automatically translated:
+       IBM's  AIX  has  a  terminfo  facility descended from SVr1 terminfo but
+       incompatible with the SVr4 format.  The following  AIX  extensions  are
+       automatically translated:
 
         IBM    XSI
        -------------
        font2   s2ds
        font3   s3ds
 
-       Additionally,  the  AIX  <EM>box1</EM> capability will be automati-
-       cally translated to an <STRONG>acsc</STRONG> string.
+       Additionally,  the AIX <EM>box1</EM> capability will be automatically translated
+       to an <STRONG>acsc</STRONG> string.
 
-       Hewlett-Packard's terminfo library supports  two  nonstan-
-       dard  terminfo  capabilities  <STRONG>meml</STRONG>  (memory lock) and <STRONG>memu</STRONG>
-       (memory unlock).  These will be discarded with  a  warning
-       message.
+       Hewlett-Packard's terminfo library supports  two  nonstandard  terminfo
+       capabilities  <STRONG>meml</STRONG>  (memory lock) and <STRONG>memu</STRONG> (memory unlock).  These will
+       be discarded with a warning message.
 
 
 </PRE><H2><a name="h2-NOTES">NOTES</a></H2><PRE>
-       This  utility is actually a link to <STRONG><A HREF="tic.1m.html">tic(1m)</A></STRONG>, running in <EM>-I</EM>
-       mode.  You can use other <STRONG>tic</STRONG> options such as <STRONG>-f</STRONG> and  <STRONG>-x</STRONG>.
+       This utility is actually a link to <STRONG><A HREF="tic.1m.html">tic(1m)</A></STRONG>, running in  <EM>-I</EM>  mode.   You
+       can use other <STRONG>tic</STRONG> options such as <STRONG>-f</STRONG> and  <STRONG>-x</STRONG>.
 
-       The trace option is not identical to SVr4's.  Under  SVr4,
-       instead  of  following  the  <STRONG>-v</STRONG>  with a trace level n, you
-       repeat it n times.
+       The  trace  option  is not identical to SVr4's.  Under SVr4, instead of
+       following the <STRONG>-v</STRONG> with a trace level n, you repeat it n times.
 
 
 </PRE><H2><a name="h2-SEE-ALSO">SEE ALSO</a></H2><PRE>
        <STRONG><A HREF="infocmp.1m.html">infocmp(1m)</A></STRONG>, <STRONG><A HREF="ncurses.3x.html">curses(3x)</A></STRONG>, <STRONG><A HREF="terminfo.5.html">terminfo(5)</A></STRONG>
 
-       This describes <STRONG>ncurses</STRONG> version 6.0 (patch 20170429).
+       This describes <STRONG>ncurses</STRONG> version 6.0 (patch 20170506).
 
 
 </PRE><H2><a name="h2-AUTHOR">AUTHOR</a></H2><PRE>
 
 
 
-                                                          <STRONG><A HREF="captoinfo.1m.html">captoinfo(1m)</A></STRONG>
+                                                                 <STRONG><A HREF="captoinfo.1m.html">captoinfo(1m)</A></STRONG>
 </PRE>
 <div class="nav">
 <ul>
index edc85d7e5a7e8e8e99d531c22b393c73368c2722..36beee1fb112deaf11e7e6d3f72bc0d764dd1827 100644 (file)
@@ -42,7 +42,7 @@
 <BODY>
 <H1 class="no-header">clear 1</H1>
 <PRE>
-<STRONG><A HREF="clear.1.html">clear(1)</A></STRONG>                                                       <STRONG><A HREF="clear.1.html">clear(1)</A></STRONG>
+<STRONG><A HREF="clear.1.html">clear(1)</A></STRONG>                                                              <STRONG><A HREF="clear.1.html">clear(1)</A></STRONG>
 
 
 
 
 
 </PRE><H2><a name="h2-DESCRIPTION">DESCRIPTION</a></H2><PRE>
-       <STRONG>clear</STRONG>  clears  your  screen if this is possible, including
-       its scrollback buffer (if the extended "E3" capability  is
-       defined).  <STRONG>clear</STRONG> looks in the environment for the terminal
-       type given by the environment variable <STRONG>TERM</STRONG>, and  then  in
-       the  <STRONG>terminfo</STRONG>  database  to  determine  how  to  clear the
+       <STRONG>clear</STRONG>  clears your screen if this is possible, including its scrollback
+       buffer (if the extended "E3" capability is defined).   <STRONG>clear</STRONG>  looks  in
+       the environment for the terminal type given by the environment variable
+       <STRONG>TERM</STRONG>, and then in the <STRONG>terminfo</STRONG> database to determine how to  clear  the
        screen.
 
-       <STRONG>clear</STRONG> writes to the standard output.  You can redirect the
-       standard output to a file (which prevents <STRONG>clear</STRONG> from actu-
-       ally clearing the screen), and later <STRONG>cat</STRONG> the file  to  the
-       screen, clearing it at that point.
+       <STRONG>clear</STRONG>  writes  to  the  standard output.  You can redirect the standard
+       output to a file (which  prevents  <STRONG>clear</STRONG>  from  actually  clearing  the
+       screen),  and  later  <STRONG>cat</STRONG>  the  file to the screen, clearing it at that
+       point.
 
-       <STRONG>clear</STRONG>  ignores  any  command-line  parameters  that may be
-       present.  The  analogous  "<STRONG>tput</STRONG>  clear"  has  command-line
-       parameters  including  <STRONG>-T</STRONG> for overriding the <STRONG>TERM</STRONG> environ-
-       ment variable.
+       <STRONG>clear</STRONG> ignores any command-line parameters that  may  be  present.   The
+       analogous  "<STRONG>tput</STRONG>  clear"  has  command-line parameters including <STRONG>-T</STRONG> for
+       overriding the <STRONG>TERM</STRONG> environment variable.
 
 
 </PRE><H2><a name="h2-HISTORY">HISTORY</a></H2><PRE>
-       A <STRONG>clear</STRONG> command appeared in  2.79BSD  dated  February  24,
-       1979.  Later that was provided in Unix 8th edition (1985).
+       A <STRONG>clear</STRONG> command appeared in 2.79BSD dated  February  24,  1979.   Later
+       that was provided in Unix 8th edition (1985).
 
-       AT&amp;T  adapted a different BSD program (<STRONG>tset</STRONG>) to make a new
-       command (<STRONG>tput</STRONG>), and used this to replace the <STRONG>clear</STRONG> command
-       with a shell script which calls <STRONG>tput</STRONG> <STRONG>clear</STRONG>, e.g.,
+       AT&amp;T  adapted  a  different  BSD  program  (<STRONG>tset</STRONG>) to make a new command
+       (<STRONG>tput</STRONG>), and used this to replace the <STRONG>clear</STRONG> command with a shell  script
+       which calls <STRONG>tput</STRONG> <STRONG>clear</STRONG>, e.g.,
 
          /usr/bin/tput ${1:+-T$1} clear 2&gt; /dev/null
          exit
 
-       In 1989, when Keith Bostic revised the BSD <STRONG>tput</STRONG> command to
-       make it similar to the AT&amp;T <STRONG>tput</STRONG>, he added a shell  script
-       for the <STRONG>clear</STRONG> command:
+       In 1989, when Keith Bostic revised the BSD <STRONG>tput</STRONG> command to make it sim-
+       ilar to the AT&amp;T <STRONG>tput</STRONG>, he added a shell script for the <STRONG>clear</STRONG> command:
 
          exec tput clear
 
-       The  remainder  of  the script in each case is a copyright
-       notice.
+       The remainder of the script in each case is a copyright notice.
 
-       The ncurses <STRONG>clear</STRONG> command began in 1995  by  adapting  the
-       original BSD <STRONG>clear</STRONG> command (with terminfo, of course).
+       The ncurses <STRONG>clear</STRONG> command began in 1995 by adapting  the  original  BSD
+       <STRONG>clear</STRONG> command (with terminfo, of course).
 
        The <STRONG>E3</STRONG> extension came later:
 
-       <STRONG>o</STRONG>   In June 1999, xterm provided an extension to the stan-
-           dard control sequence for clearing the screen.  Rather
-           than  clearing  just  the  visible  part of the screen
-           using
+       <STRONG>o</STRONG>   In  June  1999, xterm provided an extension to the standard control
+           sequence for clearing the screen.  Rather than  clearing  just  the
+           visible part of the screen using
 
              printf '\033[2J'
 
 
              printf '\033[<STRONG>3</STRONG>J'
 
-           This is documented in <EM>XTerm</EM>  <EM>Control</EM>  <EM>Sequences</EM>  as  a
-           feature originating with xterm.
+           This  is  documented in <EM>XTerm</EM> <EM>Control</EM> <EM>Sequences</EM> as a feature origi-
+           nating with xterm.
 
-       <STRONG>o</STRONG>   A  few  other terminal developers adopted the feature,
-           e.g., PuTTY in 2006.
+       <STRONG>o</STRONG>   A few other terminal developers adopted the feature, e.g., PuTTY in
+           2006.
 
-       <STRONG>o</STRONG>   In April 2011, a Red Hat developer submitted  a  patch
-           to  the  Linux kernel, modifying its console driver to
-           do the same thing.  The Linux change, part of the  3.0
-           release,  did not mention xterm, although it was cited
-           in the Red Hat bug report (#683733) which led  to  the
-           change.
+       <STRONG>o</STRONG>   In  April  2011, a Red Hat developer submitted a patch to the Linux
+           kernel, modifying its console driver to do  the  same  thing.   The
+           Linux  change,  part  of  the  3.0  release, did not mention xterm,
+           although it was cited in the Red Hat bug report (#683733) which led
+           to the change.
 
-       <STRONG>o</STRONG>   Again,  a  few  other  terminal developers adopted the
-           feature.  But the next relevant step was a  change  to
-           the  <STRONG>clear</STRONG>  program in 2013 to incorporate this exten-
-           sion.
+       <STRONG>o</STRONG>   Again,  a  few  other terminal developers adopted the feature.  But
+           the next relevant step was a change to the <STRONG>clear</STRONG> program in 2013 to
+           incorporate this extension.
 
-       <STRONG>o</STRONG>   In 2013, the <STRONG>E3</STRONG> extension was overlooked in <STRONG>tput</STRONG>  with
-           the  "clear" parameter.  That was addressed in 2016 by
-           reorganizing <STRONG>tput</STRONG> to share its logic  with  <STRONG>clear</STRONG>  and
-           <STRONG>tset</STRONG>.
+       <STRONG>o</STRONG>   In  2013,  the <STRONG>E3</STRONG> extension was overlooked in <STRONG>tput</STRONG> with the "clear"
+           parameter.  That was addressed in  2016  by  reorganizing  <STRONG>tput</STRONG>  to
+           share its logic with <STRONG>clear</STRONG> and <STRONG>tset</STRONG>.
 
 
 </PRE><H2><a name="h2-PORTABILITY">PORTABILITY</a></H2><PRE>
-       Neither  IEEE Std 1003.1/The Open  Group  Base  Specifica-
-       tions  Issue  7 (POSIX.1-2008) nor X/Open Curses  Issue  7
-       documents tset or reset.
+       Neither IEEE Std 1003.1/The Open  Group  Base  Specifications  Issue  7
+       (POSIX.1-2008) nor X/Open Curses Issue 7 documents tset or reset.
 
-       The  latter documents <STRONG>tput</STRONG>, which could be used to replace
-       this utility either via a shell  script  or  by  an  alias
-       (such as a symbolic link) to run <STRONG>tput</STRONG> as <STRONG>clear</STRONG>.
+       The latter documents <STRONG>tput</STRONG>, which could be used to replace this  utility
+       either  via  a shell script or by an alias (such as a symbolic link) to
+       run <STRONG>tput</STRONG> as <STRONG>clear</STRONG>.
 
 
 </PRE><H2><a name="h2-SEE-ALSO">SEE ALSO</a></H2><PRE>
        <STRONG><A HREF="tput.1.html">tput(1)</A></STRONG>, <STRONG><A HREF="terminfo.5.html">terminfo(5)</A></STRONG>
 
-       This describes <STRONG>ncurses</STRONG> version 6.0 (patch 20170429).
+       This describes <STRONG>ncurses</STRONG> version 6.0 (patch 20170506).
 
 
 
-                                                               <STRONG><A HREF="clear.1.html">clear(1)</A></STRONG>
+                                                                      <STRONG><A HREF="clear.1.html">clear(1)</A></STRONG>
 </PRE>
 <div class="nav">
 <ul>
index b33c693e2033b42f4e3644d97046ef105571330f..b0d8b61455640ceb70f520f6de5bf8bc051d6b6d 100644 (file)
@@ -26,7 +26,7 @@
   * sale, use or other dealings in this Software without prior written       *
   * authorization.                                                           *
   ****************************************************************************
-  * @Id: curs_add_wch.3x,v 1.17 2017/01/07 19:25:15 tom Exp @
+  * @Id: curs_add_wch.3x,v 1.22 2017/05/06 14:01:26 tom Exp @
 -->
 <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN">
 <HTML>
 <BODY>
 <H1 class="no-header">curs_add_wch 3x</H1>
 <PRE>
-<STRONG><A HREF="curs_add_wch.3x.html">curs_add_wch(3x)</A></STRONG>                                       <STRONG><A HREF="curs_add_wch.3x.html">curs_add_wch(3x)</A></STRONG>
+<STRONG><A HREF="curs_add_wch.3x.html">curs_add_wch(3x)</A></STRONG>                                              <STRONG><A HREF="curs_add_wch.3x.html">curs_add_wch(3x)</A></STRONG>
 
 
 
 
 </PRE><H2><a name="h2-NAME">NAME</a></H2><PRE>
-       <STRONG>add_wch</STRONG>,   <STRONG>wadd_wch</STRONG>,  <STRONG>mvadd_wch</STRONG>,  <STRONG>mvwadd_wch</STRONG>,  <STRONG>echo_wchar</STRONG>,
-       <STRONG>wecho_wchar</STRONG> - add a complex character and rendition  to  a
-       <STRONG>curses</STRONG> window, then advance the cursor
+       <STRONG>add_wch</STRONG>, <STRONG>wadd_wch</STRONG>, <STRONG>mvadd_wch</STRONG>, <STRONG>mvwadd_wch</STRONG>, <STRONG>echo_wchar</STRONG>, <STRONG>wecho_wchar</STRONG> - add
+       a complex character and rendition to a <STRONG>curses</STRONG> window, then advance  the
+       cursor
 
 
 </PRE><H2><a name="h2-SYNOPSIS">SYNOPSIS</a></H2><PRE>
@@ -57,8 +57,7 @@
        <STRONG>int</STRONG> <STRONG>add_wch(</STRONG> <STRONG>const</STRONG> <STRONG>cchar_t</STRONG> <STRONG>*</STRONG><EM>wch</EM> <STRONG>);</STRONG>
        <STRONG>int</STRONG> <STRONG>wadd_wch(</STRONG> <STRONG>WINDOW</STRONG> <STRONG>*</STRONG><EM>win</EM><STRONG>,</STRONG> <STRONG>const</STRONG> <STRONG>cchar_t</STRONG> <STRONG>*</STRONG><EM>wch</EM> <STRONG>);</STRONG>
        <STRONG>int</STRONG> <STRONG>mvadd_wch(</STRONG> <STRONG>int</STRONG> <EM>y</EM><STRONG>,</STRONG> <STRONG>int</STRONG> <EM>x</EM><STRONG>,</STRONG> <STRONG>const</STRONG> <STRONG>cchar_t</STRONG> <STRONG>*</STRONG><EM>wch</EM> <STRONG>);</STRONG>
-       <STRONG>int</STRONG>  <STRONG>mvwadd_wch(</STRONG>  <STRONG>WINDOW</STRONG> <STRONG>*</STRONG><EM>win</EM><STRONG>,</STRONG> <STRONG>int</STRONG> <EM>y</EM><STRONG>,</STRONG> <STRONG>int</STRONG> <EM>x</EM><STRONG>,</STRONG> <STRONG>const</STRONG> <STRONG>cchar_t</STRONG>
-       <STRONG>*</STRONG><EM>wch</EM> <STRONG>);</STRONG>
+       <STRONG>int</STRONG> <STRONG>mvwadd_wch(</STRONG> <STRONG>WINDOW</STRONG> <STRONG>*</STRONG><EM>win</EM><STRONG>,</STRONG> <STRONG>int</STRONG> <EM>y</EM><STRONG>,</STRONG> <STRONG>int</STRONG> <EM>x</EM><STRONG>,</STRONG> <STRONG>const</STRONG> <STRONG>cchar_t</STRONG> <STRONG>*</STRONG><EM>wch</EM> <STRONG>);</STRONG>
        <STRONG>int</STRONG> <STRONG>echo_wchar(</STRONG> <STRONG>const</STRONG> <STRONG>cchar_t</STRONG> <STRONG>*</STRONG><EM>wch</EM> <STRONG>);</STRONG>
        <STRONG>int</STRONG> <STRONG>wecho_wchar(</STRONG> <STRONG>WINDOW</STRONG> <STRONG>*</STRONG><EM>win</EM><STRONG>,</STRONG> <STRONG>const</STRONG> <STRONG>cchar_t</STRONG> <STRONG>*</STRONG><EM>wch</EM> <STRONG>);</STRONG>
 
 </PRE><H2><a name="h2-DESCRIPTION">DESCRIPTION</a></H2><PRE>
 
 </PRE><H3><a name="h3-add_wch">add_wch</a></H3><PRE>
-       The <STRONG>add_wch</STRONG>, <STRONG>wadd_wch</STRONG>, <STRONG>mvadd_wch</STRONG>, and <STRONG>mvwadd_wch</STRONG> functions
-       put the complex character <EM>wch</EM> into the given window at its
-       current position, which is then advanced.  These functions
-       perform  wrapping and special-character processing as fol-
-       lows:
+       The <STRONG>add_wch</STRONG>, <STRONG>wadd_wch</STRONG>, <STRONG>mvadd_wch</STRONG>, and <STRONG>mvwadd_wch</STRONG> functions put the com-
+       plex character <EM>wch</EM> into the given window at its current position, which
+       is then advanced.  These functions perform wrapping and special-charac-
+       ter processing as follows:
 
-       <STRONG>o</STRONG>   If <EM>wch</EM> refers to a spacing character, then any  previ-
-           ous  character  at  that  location  is removed.  A new
-           character specified by <EM>wch</EM> is placed at that  location
-           with  rendition  specified  by  <EM>wch</EM>.   The cursor then
-           advances to the next spacing character on the screen.
+       <STRONG>o</STRONG>   If <EM>wch</EM> refers to a spacing character, then any  previous  character
+           at  that  location is removed.  A new character specified by <EM>wch</EM> is
+           placed at that location with rendition specified by <EM>wch</EM>.  The  cur-
+           sor then advances to the next spacing character on the screen.
 
-       <STRONG>o</STRONG>   If <EM>wch</EM> refers to a non-spacing character, all previous
-           characters  at  that location are preserved.  The non-
-           spacing characters of <EM>wch</EM> are  added  to  the  spacing
-           complex  character, and the rendition specified by <EM>wch</EM>
-           is ignored.
+       <STRONG>o</STRONG>   If  <EM>wch</EM>  refers to a non-spacing character, all previous characters
+           at that location are preserved.  The non-spacing characters of  <EM>wch</EM>
+           are added to the spacing complex character, and the rendition spec-
+           ified by <EM>wch</EM> is ignored.
 
-       <STRONG>o</STRONG>   If the character  part  of  <EM>wch</EM>  is  a  tab,  newline,
-           backspace  or  other  control character, the window is
-           updated and the cursor moves as if <STRONG>addch</STRONG> were called.
+       <STRONG>o</STRONG>   If the character part of <EM>wch</EM> is a tab, newline, backspace or  other
+           control character, the window is updated and the cursor moves as if
+           <STRONG>addch</STRONG> were called.
 
 
 </PRE><H3><a name="h3-echo_wchar">echo_wchar</a></H3><PRE>
-       The <STRONG>echo_wchar</STRONG> function is functionally  equivalent  to  a
-       call  to <STRONG>add_wch</STRONG> followed by a call to <STRONG><A HREF="curs_refresh.3x.html">refresh(3x)</A></STRONG>.  Simi-
-       larly, the <STRONG>wecho_wchar</STRONG> is  functionally  equivalent  to  a
-       call  to  <STRONG>wadd_wch</STRONG>  followed  by  a call to <STRONG>wrefresh</STRONG>.  The
-       knowledge that only a single character is being output  is
-       taken  into consideration and, for non-control characters,
-       a considerable performance gain might be seen by using the
-       *<STRONG>echo</STRONG>* functions instead of their equivalents.
+       The <STRONG>echo_wchar</STRONG> function is functionally equivalent to a call to <STRONG>add_wch</STRONG>
+       followed by a call to <STRONG><A HREF="curs_refresh.3x.html">refresh(3x)</A></STRONG>.  Similarly, the <STRONG>wecho_wchar</STRONG> is func-
+       tionally equivalent to a call to <STRONG>wadd_wch</STRONG> followed by a  call  to  <STRONG>wre-</STRONG>
+       <STRONG>fresh</STRONG>.   The  knowledge that only a single character is being output is
+       taken into consideration and, for non-control characters,  a  consider-
+       able  performance  gain  might  be  seen  by using the *<STRONG>echo</STRONG>* functions
+       instead of their equivalents.
 
 
 </PRE><H3><a name="h3-Line-Graphics">Line Graphics</a></H3><PRE>
-       Like  <STRONG><A HREF="curs_addch.3x.html">addch(3x)</A></STRONG>,  <STRONG>addch_wch</STRONG>  accepts symbols which make it
-       simple to draw lines and  other  frequently  used  special
-       characters.   These  symbols  correspond to the same VT100
-       line-drawing set as <STRONG><A HREF="curs_addch.3x.html">addch(3x)</A></STRONG>.
-
-       <EM>Name</EM>              <EM>Unicode</EM>    <EM>Default</EM>   <EM>Description</EM>
-       ----------------------------------------------------------------
-       WACS_BLOCK        0x25ae     #         solid square block
-       WACS_BOARD        0x2592     #         board of squares
-       WACS_BTEE         0x2534     +         bottom tee
-
-       WACS_BULLET       0x00b7     o         bullet
-       WACS_CKBOARD      0x2592     :         checker board (stipple)
-       WACS_DARROW       0x2193     v         arrow pointing down
-       WACS_DEGREE       0x00b0     '         degree symbol
-       WACS_DIAMOND      0x25c6     +         diamond
-       WACS_GEQUAL       0x2265     &gt;         greater-than-or-equal-to
-       WACS_HLINE        0x2500     -         horizontal line
-       WACS_LANTERN      0x2603     #         lantern symbol
-       WACS_LARROW       0x2190     &lt;         arrow pointing left
-       WACS_LEQUAL       0x2264     &lt;         less-than-or-equal-to
-       WACS_LLCORNER     0x2514     +         lower left-hand corner
-       WACS_LRCORNER     0x2518     +         lower right-hand corner
-       WACS_LTEE         0x2524     +         left tee
-       WACS_NEQUAL       0x2260     !         not-equal
-       WACS_PI           0x03c0     *         greek pi
-       WACS_PLMINUS      0x00b1     #         plus/minus
-       WACS_PLUS         0x253c     +         plus
-       WACS_RARROW       0x2192     &gt;         arrow pointing right
-       WACS_RTEE         0x251c     +         right tee
-       WACS_S1           0x23ba     -         scan line 1
-       WACS_S3           0x23bb     -         scan line 3
-       WACS_S7           0x23bc     -         scan line 7
-       WACS_S9           0x23bd     _         scan line 9
-       WACS_STERLING     0x00a3     f         pound-sterling symbol
-       WACS_TTEE         0x252c     +         top tee
-       WACS_UARROW       0x2191     ^         arrow pointing up
-       WACS_ULCORNER     0x250c     +         upper left-hand corner
-       WACS_URCORNER     0x2510     +         upper right-hand corner
-       WACS_VLINE        0x2502     |         vertical line
-
-       The wide-character configuration of ncurses  also  defines
-       symbols for thick- and double-lines:
-
-       <EM>Name</EM>              <EM>Unicode</EM>   <EM>Default</EM>   <EM>Description</EM>
-       ---------------------------------------------------------------------
-       WACS_T_ULCORNER   0x250f    +         thick upper left corner
-       WACS_T_LLCORNER   0x2517    +         thick lower left corner
-       WACS_T_URCORNER   0x2513    +         thick upper right corner
-       WACS_T_LRCORNER   0x251b    +         thick lower right corner
-       WACS_T_LTEE       0x252b    +         thick tee pointing right
-       WACS_T_RTEE       0x2523    +         thick tee pointing left
-       WACS_T_BTEE       0x253b    +         thick tee pointing up
-       WACS_T_TTEE       0x2533    +         thick tee pointing down
-       WACS_T_HLINE      0x2501    -         thick horizontal line
-       WACS_T_VLINE      0x2503    |         thick vertical line
-       WACS_T_PLUS       0x254b    +         thick large plus or crossover
-       WACS_D_ULCORNER   0x2554    +         double upper left corner
-       WACS_D_LLCORNER   0x255a    +         double lower left corner
-       WACS_D_URCORNER   0x2557    +         double upper right corner
-       WACS_D_LRCORNER   0x255d    +         double lower right corner
-       WACS_D_RTEE       0x2563    +         double tee pointing left
-       WACS_D_LTEE       0x2560    +         double tee pointing right
-       WACS_D_BTEE       0x2569    +         double tee pointing up
-       WACS_D_TTEE       0x2566    +         double tee pointing down
-       WACS_D_HLINE      0x2550    -         double horizontal line
-       WACS_D_VLINE      0x2551    |         double vertical line
-       WACS_D_PLUS       0x256c    +         double large plus or crossover
+       Like <STRONG><A HREF="curs_addch.3x.html">addch(3x)</A></STRONG>, <STRONG>addch_wch</STRONG> accepts symbols which make it simple to  draw
+       lines and other frequently used special characters.  These symbols cor-
+       respond to the same VT100 line-drawing set as <STRONG><A HREF="curs_addch.3x.html">addch(3x)</A></STRONG>.
+
+       <STRONG>ACS</STRONG>               <STRONG>Unicode</STRONG>    <STRONG>ASCII</STRONG>     <STRONG>acsc</STRONG>    <STRONG>Glyph</STRONG>
+       <STRONG>Name</STRONG>              <STRONG>Default</STRONG>    <STRONG>Default</STRONG>   <STRONG>char</STRONG>    <STRONG>Name</STRONG>
+       ------------------------------------------------------------------------
+       WACS_BLOCK        0x25ae     #         0       solid square block
+       WACS_BOARD        0x2592     #         h       board of squares
+       WACS_BTEE         0x2534     +         v       bottom tee
+       WACS_BULLET       0x00b7     o         ~       bullet
+       WACS_CKBOARD      0x2592     :         a       checker board (stipple)
+       WACS_DARROW       0x2193     v         .       arrow pointing down
+       WACS_DEGREE       0x00b0     '         f       degree symbol
+       WACS_DIAMOND      0x25c6     +         `       diamond
+
+       WACS_GEQUAL       0x2265     &gt;         &gt;       greater-than-or-equal-to
+       WACS_HLINE        0x2500     -         q       horizontal line
+       WACS_LANTERN      0x2603     #         i       lantern symbol
+       WACS_LARROW       0x2190     &lt;         ,       arrow pointing left
+       WACS_LEQUAL       0x2264     &lt;         y       less-than-or-equal-to
+       WACS_LLCORNER     0x2514     +         m       lower left-hand corner
+       WACS_LRCORNER     0x2518     +         j       lower right-hand corner
+       WACS_LTEE         0x2524     +         t       left tee
+       WACS_NEQUAL       0x2260     !         |       not-equal
+       WACS_PI           0x03c0     *         {       greek pi
+       WACS_PLMINUS      0x00b1     #         g       plus/minus
+       WACS_PLUS         0x253c     +         n       plus
+       WACS_RARROW       0x2192     &gt;         +       arrow pointing right
+       WACS_RTEE         0x251c     +         u       right tee
+       WACS_S1           0x23ba     -         o       scan line 1
+       WACS_S3           0x23bb     -         p       scan line 3
+       WACS_S7           0x23bc     -         r       scan line 7
+       WACS_S9           0x23bd     _         s       scan line 9
+       WACS_STERLING     0x00a3     f         }       pound-sterling symbol
+       WACS_TTEE         0x252c     +         w       top tee
+       WACS_UARROW       0x2191     ^         -       arrow pointing up
+       WACS_ULCORNER     0x250c     +         l       upper left-hand corner
+       WACS_URCORNER     0x2510     +         k       upper right-hand corner
+       WACS_VLINE        0x2502     |         x       vertical line
+
+       The wide-character configuration of ncurses also  defines  symbols  for
+       double-lines:
+
+       <STRONG>ACS</STRONG>               <STRONG>Unicode</STRONG>   <STRONG>ASCII</STRONG>     <STRONG>acsc</STRONG>    <STRONG>Glyph</STRONG>
+       <STRONG>Name</STRONG>              <STRONG>Default</STRONG>   <STRONG>Default</STRONG>   <STRONG>char</STRONG>    <STRONG>Name</STRONG>
+       ------------------------------------------------------------------------
+       WACS_D_BTEE       0x2569    +         H       double tee pointing up
+       WACS_D_HLINE      0x2550    -         R       double horizontal line
+       WACS_D_LLCORNER   0x255a    +         D       double lower left corner
+       WACS_D_LRCORNER   0x255d    +         A       double lower right corner
+       WACS_D_LTEE       0x2560    +         F       double tee pointing right
+       WACS_D_PLUS       0x256c    +         E       double large plus
+       WACS_D_RTEE       0x2563    +         G       double tee pointing left
+       WACS_D_TTEE       0x2566    +         I       double tee pointing down
+       WACS_D_ULCORNER   0x2554    +         C       double upper left corner
+       WACS_D_URCORNER   0x2557    +         B       double upper right corner
+       WACS_D_VLINE      0x2551    |         Y       double vertical line
+
+       and for thick lines:
+
+       <STRONG>ACS</STRONG>               <STRONG>Unicode</STRONG>   <STRONG>ASCII</STRONG>     <STRONG>acsc</STRONG>    <STRONG>Glyph</STRONG>
+       <STRONG>Name</STRONG>              <STRONG>Default</STRONG>   <STRONG>Default</STRONG>   <STRONG>char</STRONG>    <STRONG>Name</STRONG>
+       -----------------------------------------------------------------------
+       WACS_T_BTEE       0x253b    +         V       thick tee pointing up
+       WACS_T_HLINE      0x2501    -         Q       thick horizontal line
+       WACS_T_LLCORNER   0x2517    +         M       thick lower left corner
+       WACS_T_LRCORNER   0x251b    +         J       thick lower right corner
+       WACS_T_LTEE       0x252b    +         T       thick tee pointing right
+       WACS_T_PLUS       0x254b    +         N       thick large plus
+       WACS_T_RTEE       0x2523    +         U       thick tee pointing left
+       WACS_T_TTEE       0x2533    +         W       thick tee pointing down
+       WACS_T_ULCORNER   0x250f    +         L       thick upper left corner
+       WACS_T_URCORNER   0x2513    +         K       thick upper right corner
+       WACS_T_VLINE      0x2503    |         X       thick vertical line
 
 
 </PRE><H2><a name="h2-RETURN-VALUE">RETURN VALUE</a></H2><PRE>
-       All routines return the integer <STRONG>ERR</STRONG> upon failure and <STRONG>OK</STRONG> on
-       success.
+       All routines return the integer <STRONG>ERR</STRONG> upon failure and <STRONG>OK</STRONG> on success.
 
-       Functions with a "mv" prefix first perform a cursor  move-
-       ment  using  <STRONG>wmove</STRONG>, and return an error if the position is
-       outside the window, or if the window pointer is null.
+       Functions  with  a  "mv"  prefix  first perform a cursor movement using
+       <STRONG>wmove</STRONG>, and return an error if the position is outside the window, or if
+       the window pointer is null.
 
 
 </PRE><H2><a name="h2-NOTES">NOTES</a></H2><PRE>
-       Note that <STRONG>add_wch</STRONG>, <STRONG>mvadd_wch</STRONG>, <STRONG>mvwadd_wch</STRONG>,  and  <STRONG>echo_wchar</STRONG>
-       may be macros.
+       Note that <STRONG>add_wch</STRONG>, <STRONG>mvadd_wch</STRONG>, <STRONG>mvwadd_wch</STRONG>, and <STRONG>echo_wchar</STRONG> may be macros.
 
 
 </PRE><H2><a name="h2-PORTABILITY">PORTABILITY</a></H2><PRE>
-       All  of  these  functions  are described in the XSI Curses
-       standard, Issue 4.  The defaults specified for  line-draw-
-       ing characters apply in the POSIX locale.
-
-       X/Open Curses makes it clear that the WACS_ symbols should
-       be defined as a pointer to <STRONG>cchar_t</STRONG> data, e.g., in the dis-
-       cussion of <STRONG>border_set</STRONG>.  A few implementations are problem-
-       atic:
-
-       <STRONG>o</STRONG>   NetBSD curses defines the symbols as a <STRONG>wchar_t</STRONG>  within
-           a <STRONG>cchar_t</STRONG>.
-
-       <STRONG>o</STRONG>   HPUX  curses  equates  some of the <EM>ACS</EM><STRONG>_</STRONG> symbols to the
-           analogous <EM>WACS</EM><STRONG>_</STRONG> symbols as if the  <EM>ACS</EM><STRONG>_</STRONG>  symbols  were
-           wide  characters.   The  misdefined  symbols  are  the
-           arrows and other symbols which are not used for  line-
-           drawing.
-
-       X/Open  Curses  does not define symbols for thick- or dou-
-       ble-lines.   SVr4  curses  implementations  defined  their
-       line-drawing  symbols  in  terms  of intermediate symbols.
-       This implementation extends those symbols,  providing  new
-       definitions which are not in the SVr4 implementations.
+       All  of these functions are described in the XSI Curses standard, Issue
+       4.  The defaults specified for line-drawing  characters  apply  in  the
+       POSIX locale.
+
+       X/Open  Curses  makes it clear that the WACS_ symbols should be defined
+       as a pointer to <STRONG>cchar_t</STRONG> data, e.g., in the discussion of <STRONG>border_set</STRONG>.  A
+       few implementations are problematic:
+
+       <STRONG>o</STRONG>   NetBSD curses defines the symbols as a <STRONG>wchar_t</STRONG> within a <STRONG>cchar_t</STRONG>.
+
+       <STRONG>o</STRONG>   HPUX curses equates some of the <EM>ACS</EM><STRONG>_</STRONG> symbols to the analogous <EM>WACS</EM><STRONG>_</STRONG>
+           symbols as if the <EM>ACS</EM><STRONG>_</STRONG> symbols were wide  characters.   The  misde-
+           fined  symbols  are the arrows and other symbols which are not used
+           for line-drawing.
+
+       X/Open Curses does not define symbols for thick- or double-lines.  SVr4
+       curses  implementations  defined their line-drawing symbols in terms of
+       intermediate symbols.  This implementation extends those symbols,  pro-
+       viding new definitions which are not in the SVr4 implementations.
+
+       Not  all  Unicode-capable  terminals  provide  support  for VT100-style
+       alternate character sets (i.e., the <STRONG>acsc</STRONG> capability), with their corre-
+       sponding  line-drawing  characters.   X/Open Curses did not address the
+       aspect of integrating Unicode with line-drawing  characters.   Existing
+       implementations  of  Unix curses (AIX, HPUX, Solaris) use only the <STRONG>acsc</STRONG>
+       character-mapping to provide this feature.  As a result,  those  imple-
+       mentations  can  only use single-byte line-drawing characters.  Ncurses
+       5.3 (2002) provided a table of Unicode values to solve these  problems.
+       NetBSD curses incorporated that table in 2010.
+
+       In this implementation, the Unicode values are used instead of the ter-
+       minal description's <STRONG>acsc</STRONG> mapping as discussed in  <STRONG><A HREF="ncurses.3x.html">ncurses(3x)</A></STRONG>  for  the
+       environment  variable  <STRONG>NCURSES_NO_UTF8_ACS</STRONG>.   In contrast, for the same
+       cases, the line-drawing characters described in <STRONG><A HREF="curs_addch.3x.html">curs_addch(3x)</A></STRONG> will use
+       only the ASCII default values.
+
+       Having  Unicode available does not solve all of the problems with line-
+       drawing for curses:
+
+       <STRONG>o</STRONG>   The closest Unicode equivalents to the VT100 graphics  <EM>S1</EM>,  <EM>S3</EM>,  <EM>S7</EM>
+           and  <EM>S9</EM> frequently are not displayed at the regular intervals which
+           the terminal used.
+
+       <STRONG>o</STRONG>   The <EM>lantern</EM> is a special case.  It originated with  the  AT&amp;T  4410
+           terminal  in the early 1980s.  There is no accessible documentation
+           depicting the lantern symbol on the AT&amp;T terminal.
+
+           Lacking documentation, most readers assume that a <EM>storm</EM> <EM>lantern</EM> was
+           intended.  But there are several possibilities, all with problems.
+
+           Unicode  6.0  (2010)  does provide two lantern symbols: U+1F383 and
+           U+1F3EE.  Those were not availble in 2002, and are irrelevant since
+           they  lie  outside the BMP and as a result are not generally avail-
+           able in terminals.  They are not storm lanterns, in any case.
+
+           Most <EM>storm</EM> <EM>lanterns</EM> have a tapering glass chimney (to guard against
+           tipping); some have a wire grid protecting the chimney.
+
+           For  the  tapering  appearance,   U+2603 was adequate.  In use on a
+           terminal, no one can tell what the image represents.  Unicode calls
+           it a snowman.
+
+           Others  have suggested these alternatives: S U+00A7 (section mark),
+           <STRONG>O</STRONG> U+0398 (theta), <STRONG>O</STRONG> U+03A6 (phi), d U+03B4 (delta),  U+2327 (x in a
+           rectangle),   U+256C  (forms  double  vertical and horizontal), and
+           U+2612 (ballot box with x).
 
 
 </PRE><H2><a name="h2-SEE-ALSO">SEE ALSO</a></H2><PRE>
-       <STRONG><A HREF="ncurses.3x.html">curses(3x)</A></STRONG>, <STRONG><A HREF="curs_addch.3x.html">curs_addch(3x)</A></STRONG>, <STRONG><A HREF="curs_attr.3x.html">curs_attr(3x)</A></STRONG>, <STRONG><A HREF="curs_clear.3x.html">curs_clear(3x)</A></STRONG>,
-       <STRONG><A HREF="curs_outopts.3x.html">curs_outopts(3x)</A></STRONG>, <STRONG><A HREF="curs_refresh.3x.html">curs_refresh(3x)</A></STRONG>, <STRONG>putwc(3)</STRONG>
+       <STRONG><A HREF="ncurses.3x.html">curses(3x)</A></STRONG>, <STRONG><A HREF="curs_addch.3x.html">curs_addch(3x)</A></STRONG>, <STRONG><A HREF="curs_attr.3x.html">curs_attr(3x)</A></STRONG>, <STRONG><A HREF="curs_clear.3x.html">curs_clear(3x)</A></STRONG>, <STRONG>curs_out-</STRONG>
+       <STRONG><A HREF="curs_outopts.3x.html">opts(3x)</A></STRONG>, <STRONG><A HREF="curs_refresh.3x.html">curs_refresh(3x)</A></STRONG>, <STRONG>putwc(3)</STRONG>
 
 
 
-                                                       <STRONG><A HREF="curs_add_wch.3x.html">curs_add_wch(3x)</A></STRONG>
+                                                              <STRONG><A HREF="curs_add_wch.3x.html">curs_add_wch(3x)</A></STRONG>
 </PRE>
 <div class="nav">
 <ul>
index 0e681db9a68c4c69bbf2c22efd559fad1921678a..ed9a3f20b4fcd13ba7df333d102bdcaf6ccb00b0 100644 (file)
 <BODY>
 <H1 class="no-header">curs_add_wchstr 3x</H1>
 <PRE>
-<STRONG><A HREF="curs_add_wchstr.3x.html">curs_add_wchstr(3x)</A></STRONG>                                 <STRONG><A HREF="curs_add_wchstr.3x.html">curs_add_wchstr(3x)</A></STRONG>
+<STRONG><A HREF="curs_add_wchstr.3x.html">curs_add_wchstr(3x)</A></STRONG>                                        <STRONG><A HREF="curs_add_wchstr.3x.html">curs_add_wchstr(3x)</A></STRONG>
 
 
 
 
 </PRE><H2><a name="h2-NAME">NAME</a></H2><PRE>
-       <STRONG>add_wchstr</STRONG>, <STRONG>add_wchnstr</STRONG>, <STRONG>wadd_wchstr</STRONG>, <STRONG>wadd_wchnstr</STRONG>,
-       <STRONG>mvadd_wchstr</STRONG>, <STRONG>mvadd_wchnstr</STRONG>, <STRONG>mvwadd_wchstr</STRONG>, <STRONG>mvwadd_wchnstr</STRONG>
-       - add an array of complex characters (and attributes) to a
-       curses window
+       <STRONG>add_wchstr</STRONG>, <STRONG>add_wchnstr</STRONG>, <STRONG>wadd_wchstr</STRONG>, <STRONG>wadd_wchnstr</STRONG>, <STRONG>mvadd_wchstr</STRONG>,
+       <STRONG>mvadd_wchnstr</STRONG>, <STRONG>mvwadd_wchstr</STRONG>, <STRONG>mvwadd_wchnstr</STRONG> - add an array of complex
+       characters (and attributes) to a curses window
 
 
 </PRE><H2><a name="h2-SYNOPSIS">SYNOPSIS</a></H2><PRE>
 
 
 </PRE><H2><a name="h2-DESCRIPTION">DESCRIPTION</a></H2><PRE>
-       These functions copy the (null-terminated) array  of  com-
-       plex  characters  <EM>wchstr</EM>  into  the window image structure
-       starting at the current cursor position.  The  four  func-
-       tions with <EM>n</EM> as the last argument copy at most <EM>n</EM> elements,
-       but no more than will fit on the line.  If <STRONG>n</STRONG>=<STRONG>-1</STRONG>  then  the
-       whole array is copied, to the maximum number of characters
-       that will fit on the line.
+       These  functions copy the (null-terminated) array of complex characters
+       <EM>wchstr</EM> into the window image structure starting at the  current  cursor
+       position.   The four functions with <EM>n</EM> as the last argument copy at most
+       <EM>n</EM> elements, but no more than will fit on the line.  If  <STRONG>n</STRONG>=<STRONG>-1</STRONG>  then  the
+       whole  array  is  copied, to the maximum number of characters that will
+       fit on the line.
 
-       The window cursor is <EM>not</EM> advanced.  These  functions  work
-       faster than <STRONG>waddnstr</STRONG>.  On the other hand:
+       The window cursor is <EM>not</EM> advanced.  These functions  work  faster  than
+       <STRONG>waddnstr</STRONG>.  On the other hand:
 
-       <STRONG>o</STRONG>   they do not perform checking (such as for the newline,
-           backspace, or carriage return characters),
+       <STRONG>o</STRONG>   they  do  not perform checking (such as for the newline, backspace,
+           or carriage return characters),
 
        <STRONG>o</STRONG>   they do not advance the current cursor position,
 
-       <STRONG>o</STRONG>   they do not expand other control characters  to  ^-es-
-           capes, and
+       <STRONG>o</STRONG>   they do not expand other control characters to ^-escapes, and
 
-       <STRONG>o</STRONG>   they  truncate the string if it crosses the right mar-
-           gin, rather than wrapping it around to the new line.
+       <STRONG>o</STRONG>   they truncate the string if it crosses  the  right  margin,  rather
+           than wrapping it around to the new line.
 
-       These functions end successfully on  encountering  a  null
-       <EM>cchar</EM><STRONG>_</STRONG><EM>t</EM>,  or when they have filled the current line.  If a
-       complex character cannot completely fit at the end of  the
-       current  line,  the  remaining columns are filled with the
-       background character and rendition.
+       These  functions  end  successfully  on encountering a null <EM>cchar</EM><STRONG>_</STRONG><EM>t</EM>, or
+       when they have filled the current line.  If a complex character  cannot
+       completely  fit  at  the end of the current line, the remaining columns
+       are filled with the background character and rendition.
 
 
 </PRE><H2><a name="h2-RETURN-VALUE">RETURN VALUE</a></H2><PRE>
-       All functions return the integer <STRONG>ERR</STRONG> upon failure  and  <STRONG>OK</STRONG>
-       on success.
+       All functions return the integer <STRONG>ERR</STRONG> upon failure and <STRONG>OK</STRONG> on success.
 
-       X/Open  does not define any error conditions.  This imple-
-       mentation returns an error if the window pointer is null.
+       X/Open does not define any error conditions.  This  implementation  re-
+       turns an error if the window pointer is null.
 
-       Functions with a "mv" prefix first perform a cursor  move-
-       ment  using  <STRONG>wmove</STRONG>, and return an error if the position is
-       outside the window, or if the window pointer is null.
+       Functions  with  a  "mv"  prefix  first perform a cursor movement using
+       <STRONG>wmove</STRONG>, and return an error if the position is outside the window, or if
+       the window pointer is null.
 
 
 </PRE><H2><a name="h2-NOTES">NOTES</a></H2><PRE>
 
 
 </PRE><H2><a name="h2-PORTABILITY">PORTABILITY</a></H2><PRE>
-       These entry points are described in the XSI  Curses  stan-
-       dard, Issue 4.
+       These entry points are described in the XSI Curses standard, Issue 4.
 
 
 </PRE><H2><a name="h2-SEE-ALSO">SEE ALSO</a></H2><PRE>
        <STRONG><A HREF="curs_addwstr.3x.html">curs_addwstr(3x)</A></STRONG>, <STRONG><A HREF="ncurses.3x.html">curses(3x)</A></STRONG>.
 
-       Comparable functions in the narrow-character (ncurses) li-
-       brary are described in <STRONG><A HREF="curs_addchstr.3x.html">curs_addchstr(3x)</A></STRONG>.
+       Comparable  functions in the narrow-character (ncurses) library are de-
+       scribed in <STRONG><A HREF="curs_addchstr.3x.html">curs_addchstr(3x)</A></STRONG>.
 
 
 
-                                                    <STRONG><A HREF="curs_add_wchstr.3x.html">curs_add_wchstr(3x)</A></STRONG>
+                                                           <STRONG><A HREF="curs_add_wchstr.3x.html">curs_add_wchstr(3x)</A></STRONG>
 </PRE>
 <div class="nav">
 <ul>
index 80ed97c81a881e3179157be03466ce907be6d638..c0af2f68e20bdb7db782cd268595c743b5d5b517 100644 (file)
@@ -27,7 +27,7 @@
   * sale, use or other dealings in this Software without prior written       *
   * authorization.                                                           *
   ****************************************************************************
-  * @Id: curs_addch.3x,v 1.39 2017/04/17 00:14:02 tom Exp @
+  * @Id: curs_addch.3x,v 1.41 2017/05/05 18:15:29 tom Exp @
 -->
 <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN">
 <HTML>
 <BODY>
 <H1 class="no-header">curs_addch 3x</H1>
 <PRE>
-<STRONG><A HREF="curs_addch.3x.html">curs_addch(3x)</A></STRONG>                                           <STRONG><A HREF="curs_addch.3x.html">curs_addch(3x)</A></STRONG>
+<STRONG><A HREF="curs_addch.3x.html">curs_addch(3x)</A></STRONG>                                                  <STRONG><A HREF="curs_addch.3x.html">curs_addch(3x)</A></STRONG>
 
 
 
 
 </PRE><H2><a name="h2-NAME">NAME</a></H2><PRE>
-       <STRONG>addch</STRONG>,  <STRONG>waddch</STRONG>,  <STRONG>mvaddch</STRONG>,  <STRONG>mvwaddch</STRONG>, <STRONG>echochar</STRONG>, <STRONG>wechochar</STRONG> -
-       add a character (with attributes) to a <STRONG>curses</STRONG> window, then
-       advance the cursor
+       <STRONG>addch</STRONG>, <STRONG>waddch</STRONG>, <STRONG>mvaddch</STRONG>, <STRONG>mvwaddch</STRONG>, <STRONG>echochar</STRONG>, <STRONG>wechochar</STRONG> - add a character
+       (with attributes) to a <STRONG>curses</STRONG> window, then advance the cursor
 
 
 </PRE><H2><a name="h2-SYNOPSIS">SYNOPSIS</a></H2><PRE>
 </PRE><H2><a name="h2-DESCRIPTION">DESCRIPTION</a></H2><PRE>
 
 </PRE><H3><a name="h3-Adding-characters">Adding characters</a></H3><PRE>
-       The  <STRONG>addch</STRONG>,  <STRONG>waddch</STRONG>, <STRONG>mvaddch</STRONG> and <STRONG>mvwaddch</STRONG> routines put the
-       character <EM>ch</EM> into the given window at its  current  window
-       position,  which  is then advanced.  They are analogous to
-       <STRONG>putchar(3)</STRONG> in <STRONG>stdio(3)</STRONG>.  If the advance is  at  the  right
-       margin:
-
-       <STRONG>o</STRONG>   The cursor automatically wraps to the beginning of the
-           next line.
-
-       <STRONG>o</STRONG>   At the bottom of the current scrolling region, and  if
-           <STRONG>scrollok</STRONG>  is enabled, the scrolling region is scrolled
-           up one line.
-
-       <STRONG>o</STRONG>   If <STRONG>scrollok</STRONG> is not enabled, writing a character at the
-           lower  right  margin  succeeds.   However, an error is
-           returned because it is not possible to wrap to  a  new
-           line
-
-       If <EM>ch</EM> is a tab, newline, carriage return or backspace, the
-       cursor is moved appropriately within the window:
-
-       <STRONG>o</STRONG>   Backspace moves the cursor one character left; at  the
-           left edge of a window it does nothing.
-
-       <STRONG>o</STRONG>   Carriage  return  moves  the cursor to the window left
-           margin on the current line.
-
-       <STRONG>o</STRONG>   Newline does a <STRONG>clrtoeol</STRONG>, then moves the cursor to  the
-           window  left  margin  on  the next line, scrolling the
-           window if on the last line.
-
-       <STRONG>o</STRONG>   Tabs are considered to be at every eighth column.  The
-           tab  interval  may  be  altered by setting the <STRONG>TABSIZE</STRONG>
-           variable.
-
-       If <EM>ch</EM> is any other control character, it is  drawn  in  <STRONG>^</STRONG><EM>X</EM>
-       notation.   Calling <STRONG>winch</STRONG> after adding a control character
-       does not return the character itself, but instead  returns
-       the ^-representation of the control character.
-
-       Video attributes can be combined with a character argument
-       passed to <STRONG>addch</STRONG> or related functions by logical-ORing them
-       into  the  character.   (Thus, text, including attributes,
-       can be copied from one place to another using <STRONG><A HREF="curs_inch.3x.html">inch(3x)</A></STRONG> and
-       <STRONG>addch</STRONG>.)   See  the <STRONG><A HREF="curs_attr.3x.html">curs_attr(3x)</A></STRONG> page for values of prede-
-       fined video attribute constants that can be usefully OR'ed
+       The <STRONG>addch</STRONG>, <STRONG>waddch</STRONG>, <STRONG>mvaddch</STRONG> and <STRONG>mvwaddch</STRONG> routines put the  character  <EM>ch</EM>
+       into  the  given  window  at its current window position, which is then
+       advanced.  They are  analogous  to  <STRONG>putchar(3)</STRONG>  in  <STRONG>stdio(3)</STRONG>.   If  the
+       advance is at the right margin:
+
+       <STRONG>o</STRONG>   The cursor automatically wraps to the beginning of the next line.
+
+       <STRONG>o</STRONG>   At  the  bottom of the current scrolling region, and if <STRONG>scrollok</STRONG> is
+           enabled, the scrolling region is scrolled up one line.
+
+       <STRONG>o</STRONG>   If <STRONG>scrollok</STRONG> is not enabled, writing a character at the lower  right
+           margin  succeeds.   However, an error is returned because it is not
+           possible to wrap to a new line
+
+       If <EM>ch</EM> is a tab, newline, carriage return or backspace,  the  cursor  is
+       moved appropriately within the window:
+
+       <STRONG>o</STRONG>   Backspace  moves the cursor one character left; at the left edge of
+           a window it does nothing.
+
+       <STRONG>o</STRONG>   Carriage return moves the cursor to the window left margin  on  the
+           current line.
+
+       <STRONG>o</STRONG>   Newline  does  a <STRONG>clrtoeol</STRONG>, then moves the cursor to the window left
+           margin on the next line, scrolling the window if on the last line.
+
+       <STRONG>o</STRONG>   Tabs are considered to be at every eighth column.  The tab interval
+           may be altered by setting the <STRONG>TABSIZE</STRONG> variable.
+
+       If  <EM>ch</EM>  is  any  other  control  character, it is drawn in <STRONG>^</STRONG><EM>X</EM> notation.
+       Calling <STRONG>winch</STRONG> after adding a control  character  does  not  return  the
+       character  itself, but instead returns the ^-representation of the con-
+       trol character.
+
+       Video attributes can be combined with a character  argument  passed  to
+       <STRONG>addch</STRONG>  or  related  functions by logical-ORing them into the character.
+       (Thus, text, including attributes, can be  copied  from  one  place  to
+       another using <STRONG><A HREF="curs_inch.3x.html">inch(3x)</A></STRONG> and <STRONG>addch</STRONG>.)  See the <STRONG><A HREF="curs_attr.3x.html">curs_attr(3x)</A></STRONG> page for val-
+       ues of predefined video attribute constants that can be usefully  OR'ed
        into characters.
 
 
 </PRE><H3><a name="h3-Echoing-characters">Echoing characters</a></H3><PRE>
-       The  <STRONG>echochar</STRONG>  and  <STRONG>wechochar</STRONG> routines are equivalent to a
-       call to <STRONG>addch</STRONG> followed by a call to <STRONG><A HREF="curs_refresh.3x.html">refresh(3x)</A></STRONG>, or a call
-       to  <STRONG>waddch</STRONG>  followed by a call to <STRONG>wrefresh</STRONG>.  The knowledge
-       that only a single character is being output is used  and,
-       for  non-control  characters,  a  considerable performance
-       gain may be seen by using these routines instead of  their
-       equivalents.
+       The  <STRONG>echochar</STRONG>  and <STRONG>wechochar</STRONG> routines are equivalent to a call to <STRONG>addch</STRONG>
+       followed by a call to <STRONG><A HREF="curs_refresh.3x.html">refresh(3x)</A></STRONG>, or a call to <STRONG>waddch</STRONG>  followed  by  a
+       call  to <STRONG>wrefresh</STRONG>.  The knowledge that only a single character is being
+       output is used and, for non-control characters, a considerable  perfor-
+       mance gain may be seen by using these routines instead of their equiva-
+       lents.
 
 
 </PRE><H3><a name="h3-Line-Graphics">Line Graphics</a></H3><PRE>
-       The  following  variables  may be used to add line drawing
-       characters to the screen with routines of the  <STRONG>addch</STRONG>  fam-
-       ily.   The  default  character listed below is used if the
-       <STRONG>acsc</STRONG>  capability  does  not  define  a   terminal-specific
-       replacement for it, or if the terminal and locale configu-
-       ration requires Unicode but the library is unable  to  use
-       Unicode.
+       The following variables may be used to add line drawing  characters  to
+       the  screen  with  routines of the <STRONG>addch</STRONG> family.  The default character
+       listed below is used if the <STRONG>acsc</STRONG> capability does not define a terminal-
+       specific  replacement  for it, or if the terminal and locale configura-
+       tion requires Unicode but the library is unable to use Unicode.
 
        The names are taken from VT100 nomenclature.
 
-       <EM>Name</EM>           <EM>Default</EM>   <EM>Description</EM>
-       --------------------------------------------------
-       ACS_BLOCK      #         solid square block
-       ACS_BOARD      #         board of squares
-       ACS_BTEE       +         bottom tee
-       ACS_BULLET     o         bullet
-       ACS_CKBOARD    :         checker board (stipple)
-       ACS_DARROW     v         arrow pointing down
-       ACS_DEGREE     '         degree symbol
-       ACS_DIAMOND    +         diamond
-       ACS_GEQUAL     &gt;         greater-than-or-equal-to
-       ACS_HLINE      -         horizontal line
-       ACS_LANTERN    #         lantern symbol
-       ACS_LARROW     &lt;         arrow pointing left
-       ACS_LEQUAL     &lt;         less-than-or-equal-to
-       ACS_LLCORNER   +         lower left-hand corner
-       ACS_LRCORNER   +         lower right-hand corner
-       ACS_LTEE       +         left tee
-       ACS_NEQUAL     !         not-equal
-       ACS_PI         *         greek pi
-       ACS_PLMINUS    #         plus/minus
-       ACS_PLUS       +         plus
-       ACS_RARROW     &gt;         arrow pointing right
-       ACS_RTEE       +         right tee
-       ACS_S1         -         scan line 1
-       ACS_S3         -         scan line 3
-       ACS_S7         -         scan line 7
-       ACS_S9         _         scan line 9
-       ACS_STERLING   f         pound-sterling symbol
-       ACS_TTEE       +         top tee
-       ACS_UARROW     ^         arrow pointing up
-       ACS_ULCORNER   +         upper left-hand corner
-       ACS_URCORNER   +         upper right-hand corner
-       ACS_VLINE      |         vertical line
+       <STRONG>ACS</STRONG>            <STRONG>ACS</STRONG>       <STRONG>acsc</STRONG>   <STRONG>Glyph</STRONG>
+       <STRONG>Name</STRONG>           <STRONG>Default</STRONG>   <STRONG>char</STRONG>   <STRONG>Name</STRONG>
+       ---------------------------------------------------------
+       ACS_BLOCK      #         0      solid square block
+       ACS_BOARD      #         h      board of squares
+       ACS_BTEE       +         v      bottom tee
+       ACS_BULLET     o         ~      bullet
+       ACS_CKBOARD    :         a      checker board (stipple)
+       ACS_DARROW     v         .      arrow pointing down
+       ACS_DEGREE     '         f      degree symbol
+       ACS_DIAMOND    +         `      diamond
+       ACS_GEQUAL     &gt;         &gt;      greater-than-or-equal-to
+       ACS_HLINE      -         q      horizontal line
+       ACS_LANTERN    #         i      lantern symbol
+       ACS_LARROW     &lt;         ,      arrow pointing left
+       ACS_LEQUAL     &lt;         y      less-than-or-equal-to
+       ACS_LLCORNER   +         m      lower left-hand corner
+       ACS_LRCORNER   +         j      lower right-hand corner
+       ACS_LTEE       +         t      left tee
+       ACS_NEQUAL     !         |      not-equal
+       ACS_PI         *         {      greek pi
+       ACS_PLMINUS    #         g      plus/minus
+       ACS_PLUS       +         n      plus
+       ACS_RARROW     &gt;         +      arrow pointing right
+       ACS_RTEE       +         u      right tee
+       ACS_S1         -         o      scan line 1
+       ACS_S3         -         p      scan line 3
+       ACS_S7         -         r      scan line 7
+       ACS_S9         _         s      scan line 9
+       ACS_STERLING   f         }      pound-sterling symbol
+       ACS_TTEE       +         w      top tee
+       ACS_UARROW     ^         -      arrow pointing up
+       ACS_ULCORNER   +         l      upper left-hand corner
+       ACS_URCORNER   +         k      upper right-hand corner
+       ACS_VLINE      |         x      vertical line
 
 
 </PRE><H2><a name="h2-RETURN-VALUE">RETURN VALUE</a></H2><PRE>
-       All routines return the integer <STRONG>ERR</STRONG> upon failure and <STRONG>OK</STRONG> on
-       success (the SVr4 manuals specify only "an  integer  value
-       other than <STRONG>ERR</STRONG>") upon successful completion, unless other-
-       wise noted in the preceding routine descriptions.
+       All routines return the integer <STRONG>ERR</STRONG> upon failure and <STRONG>OK</STRONG> on success (the
+       SVr4  manuals specify only "an integer value other than <STRONG>ERR</STRONG>") upon suc-
+       cessful completion, unless otherwise noted  in  the  preceding  routine
+       descriptions.
 
-       Functions with a "mv" prefix first perform a cursor  move-
-       ment  using  <STRONG>wmove</STRONG>, and return an error if the position is
-       outside the window, or if the window pointer is null.
+       Functions  with  a  "mv"  prefix  first perform a cursor movement using
+       <STRONG>wmove</STRONG>, and return an error if the position is outside the window, or if
+       the window pointer is null.
 
 
 </PRE><H2><a name="h2-NOTES">NOTES</a></H2><PRE>
-       Note that <STRONG>addch</STRONG>, <STRONG>mvaddch</STRONG>, <STRONG>mvwaddch</STRONG>, and  <STRONG>echochar</STRONG>  may  be
-       macros.
+       Note that <STRONG>addch</STRONG>, <STRONG>mvaddch</STRONG>, <STRONG>mvwaddch</STRONG>, and <STRONG>echochar</STRONG> may be macros.
 
 
 </PRE><H2><a name="h2-PORTABILITY">PORTABILITY</a></H2><PRE>
-       All  these functions are described in the XSI Curses stan-
-       dard, Issue 4.  The defaults specified  for  forms-drawing
-       characters apply in the POSIX locale.
-
-       X/Open  Curses  states  that the <EM>ACS</EM><STRONG>_</STRONG> definitions are <STRONG>char</STRONG>
-       constants.  For  the  wide-character  implementation  (see
-       <STRONG>curs_add_wch</STRONG>), there are analogous <EM>WACS</EM><STRONG>_</STRONG> definitions which
-       are <STRONG>cchar_t</STRONG> constants.
-
-       Some ACS symbols (ACS_S3, ACS_S7, ACS_LEQUAL,  ACS_GEQUAL,
-       ACS_PI,  ACS_NEQUAL,  ACS_STERLING) were not documented in
-       any publicly released System V.   However,  many  publicly
-       available  terminfos  include  <STRONG>acsc</STRONG> strings in which their
-       key characters (pryz{|}) are embedded, and  a  second-hand
-       list  of  their  character descriptions has come to light.
-       The  ACS-prefixed  names  for  them  were   invented   for
-       <STRONG><A HREF="ncurses.3x.html">ncurses(3x)</A></STRONG>.
-
-       The  <EM>displayed</EM>  values  for  the  <EM>ACS</EM><STRONG>_</STRONG> and <EM>WACS</EM><STRONG>_</STRONG> constants
-       depend on
-
-       <STRONG>o</STRONG>   the library configuration, i.e., <STRONG>ncurses</STRONG> versus <STRONG>ncurs-</STRONG>
-           <STRONG>esw</STRONG>, where the latter is capable of displaying Unicode
-           while the former is not, and
+       All  these functions are described in the XSI Curses standard, Issue 4.
+       The defaults specified for forms-drawing characters apply in the  POSIX
+       locale.
+
+       X/Open Curses states that the <EM>ACS</EM><STRONG>_</STRONG> definitions are <STRONG>char</STRONG> constants.  For
+       the wide-character implementation (see <STRONG>curs_add_wch</STRONG>), there are  analo-
+       gous <EM>WACS</EM><STRONG>_</STRONG> definitions which are <STRONG>cchar_t</STRONG> constants.
+
+       Some  ACS  symbols  (ACS_S3,  ACS_S7,  ACS_LEQUAL,  ACS_GEQUAL, ACS_PI,
+       ACS_NEQUAL, ACS_STERLING) were not documented in any publicly  released
+       System  V.   However,  many  publicly  available terminfos include <STRONG>acsc</STRONG>
+       strings in which their key characters (pryz{|})  are  embedded,  and  a
+       second-hand  list  of  their  character descriptions has come to light.
+       The ACS-prefixed names for them were invented for <STRONG><A HREF="ncurses.3x.html">ncurses(3x)</A></STRONG>.
+
+       The <EM>displayed</EM> values for the <EM>ACS</EM><STRONG>_</STRONG> and <EM>WACS</EM><STRONG>_</STRONG> constants depend on
+
+       <STRONG>o</STRONG>   the library configuration, i.e., <STRONG>ncurses</STRONG> versus <STRONG>ncursesw</STRONG>, where the
+           latter  is  capable  of displaying Unicode while the former is not,
+           and
 
        <STRONG>o</STRONG>   whether the <EM>locale</EM> uses UTF-8 encoding.
 
-       In certain cases, the terminal is unable to display  line-
-       drawing  characters except by using UTF-8 (see the discus-
-       sion of <STRONG>NCURSES_NO_UTF8_ACS</STRONG> in <STRONG><A HREF="ncurses.3x.html">ncurses(3x)</A></STRONG>).
+       In certain cases, the terminal is unable to display line-drawing  char-
+       acters except by using UTF-8 (see the discussion of <STRONG>NCURSES_NO_UTF8_ACS</STRONG>
+       in <STRONG><A HREF="ncurses.3x.html">ncurses(3x)</A></STRONG>).
 
-       The <STRONG>TABSIZE</STRONG> variable is implemented in  some  versions  of
-       curses, but is not part of X/Open curses.
+       The <STRONG>TABSIZE</STRONG> variable is implemented in some versions of curses, but  is
+       not part of X/Open curses.
 
-       If  <EM>ch</EM>  is  a  carriage return, the cursor is moved to the
-       beginning of the current row of the window.  This is  true
-       of other implementations, but is not documented.
+       If <EM>ch</EM> is a carriage return, the cursor is moved to the beginning of the
+       current row of the window.  This is true of other implementations,  but
+       is not documented.
 
 
 </PRE><H2><a name="h2-SEE-ALSO">SEE ALSO</a></H2><PRE>
-       <STRONG><A HREF="ncurses.3x.html">curses(3x)</A></STRONG>,  <STRONG><A HREF="curs_attr.3x.html">curs_attr(3x)</A></STRONG>, <STRONG><A HREF="curs_clear.3x.html">curs_clear(3x)</A></STRONG>, <STRONG><A HREF="curs_inch.3x.html">curs_inch(3x)</A></STRONG>,
-       <STRONG><A HREF="curs_outopts.3x.html">curs_outopts(3x)</A></STRONG>,  <STRONG><A HREF="curs_refresh.3x.html">curs_refresh(3x)</A></STRONG>,   <STRONG><A HREF="curs_variables.3x.html">curs_variables(3x)</A></STRONG>,
-       <STRONG>putc(3)</STRONG>.
+       <STRONG><A HREF="ncurses.3x.html">curses(3x)</A></STRONG>,  <STRONG><A HREF="curs_attr.3x.html">curs_attr(3x)</A></STRONG>,  <STRONG><A HREF="curs_clear.3x.html">curs_clear(3x)</A></STRONG>,  <STRONG><A HREF="curs_inch.3x.html">curs_inch(3x)</A></STRONG>,  <STRONG>curs_out-</STRONG>
+       <STRONG><A HREF="curs_outopts.3x.html">opts(3x)</A></STRONG>, <STRONG><A HREF="curs_refresh.3x.html">curs_refresh(3x)</A></STRONG>, <STRONG><A HREF="curs_variables.3x.html">curs_variables(3x)</A></STRONG>, <STRONG>putc(3)</STRONG>.
 
-       Comparable  functions  in  the  wide-character  (ncursesw)
-       library are described in <STRONG><A HREF="curs_add_wch.3x.html">curs_add_wch(3x)</A></STRONG>.
+       Comparable functions  in  the  wide-character  (ncursesw)  library  are
+       described in <STRONG><A HREF="curs_add_wch.3x.html">curs_add_wch(3x)</A></STRONG>.
 
 
 
-                                                         <STRONG><A HREF="curs_addch.3x.html">curs_addch(3x)</A></STRONG>
+                                                                <STRONG><A HREF="curs_addch.3x.html">curs_addch(3x)</A></STRONG>
 </PRE>
 <div class="nav">
 <ul>
index e19ee8a3c21e4f60ddfdd9f7d57af4ab276ea2dc..3d01f9d8dfdc40346330718f3c665a814e90428b 100644 (file)
 <BODY>
 <H1 class="no-header">curs_addchstr 3x</H1>
 <PRE>
-<STRONG><A HREF="curs_addchstr.3x.html">curs_addchstr(3x)</A></STRONG>                                     <STRONG><A HREF="curs_addchstr.3x.html">curs_addchstr(3x)</A></STRONG>
+<STRONG><A HREF="curs_addchstr.3x.html">curs_addchstr(3x)</A></STRONG>                                            <STRONG><A HREF="curs_addchstr.3x.html">curs_addchstr(3x)</A></STRONG>
 
 
 
 
 </PRE><H2><a name="h2-NAME">NAME</a></H2><PRE>
-       <STRONG>addchstr</STRONG>, <STRONG>addchnstr</STRONG>, <STRONG>waddchstr</STRONG>, <STRONG>waddchnstr</STRONG>, <STRONG>mvaddchstr</STRONG>,
-       <STRONG>mvaddchnstr</STRONG>, <STRONG>mvwaddchstr</STRONG>, <STRONG>mvwaddchnstr</STRONG> - add a string of
-       characters (and attributes) to a <STRONG>curses</STRONG> window
+       <STRONG>addchstr</STRONG>, <STRONG>addchnstr</STRONG>, <STRONG>waddchstr</STRONG>, <STRONG>waddchnstr</STRONG>, <STRONG>mvaddchstr</STRONG>, <STRONG>mvaddchnstr</STRONG>,
+       <STRONG>mvwaddchstr</STRONG>, <STRONG>mvwaddchnstr</STRONG> - add a string of characters (and attributes)
+       to a <STRONG>curses</STRONG> window
 
 
 </PRE><H2><a name="h2-SYNOPSIS">SYNOPSIS</a></H2><PRE>
 
 
 </PRE><H2><a name="h2-DESCRIPTION">DESCRIPTION</a></H2><PRE>
-       These functions copy the (null-terminated) <EM>chstr</EM> array in-
-       to the window image structure starting at the current cur-
-       sor position.  The four functions with <EM>n</EM> as the last argu-
-       ment copy at most <EM>n</EM> elements, but no more than will fit on
-       the  line.  If <STRONG>n</STRONG>=<STRONG>-1</STRONG> then the whole array is copied, to the
-       maximum number of characters that will fit on the line.
+       These  functions copy the (null-terminated) <EM>chstr</EM> array into the window
+       image structure starting at the  current  cursor  position.   The  four
+       functions  with  <EM>n</EM> as the last argument copy at most <EM>n</EM> elements, but no
+       more than will fit on the line.   If  <STRONG>n</STRONG>=<STRONG>-1</STRONG>  then  the  whole  array  is
+       copied, to the maximum number of characters that will fit on the line.
 
-       The window cursor is <EM>not</EM> advanced.  These  functions  work
-       faster than <STRONG>waddnstr</STRONG>.  On the other hand:
+       The  window  cursor  is <EM>not</EM> advanced.  These functions work faster than
+       <STRONG>waddnstr</STRONG>.  On the other hand:
 
-       <STRONG>o</STRONG>   they do not perform checking (such as for the newline,
-           backspace, or carriage return characters),
+       <STRONG>o</STRONG>   they do not perform checking (such as for the  newline,  backspace,
+           or carriage return characters),
 
        <STRONG>o</STRONG>   they do not advance the current cursor position,
 
-       <STRONG>o</STRONG>   they do not expand other control characters  to  ^-es-
-           capes, and
+       <STRONG>o</STRONG>   they do not expand other control characters to ^-escapes, and
 
-       <STRONG>o</STRONG>   they  truncate the string if it crosses the right mar-
-           gin, rather than wrapping it around to the new line.
+       <STRONG>o</STRONG>   they  truncate  the  string  if it crosses the right margin, rather
+           than wrapping it around to the new line.
 
 
 </PRE><H2><a name="h2-RETURN-VALUE">RETURN VALUE</a></H2><PRE>
-       All functions return the integer <STRONG>ERR</STRONG> upon failure  and  <STRONG>OK</STRONG>
-       on success.
+       All functions return the integer <STRONG>ERR</STRONG> upon failure and <STRONG>OK</STRONG> on success.
 
-       X/Open  does not define any error conditions.  This imple-
-       mentation returns an error if the window pointer is null.
+       X/Open does not define any error conditions.  This  implementation  re-
+       turns an error if the window pointer is null.
 
-       Functions with a "mv" prefix first perform a cursor  move-
-       ment  using  <STRONG>wmove</STRONG>, and return an error if the position is
-       outside the window, or if the window pointer is null.
+       Functions  with  a  "mv"  prefix  first perform a cursor movement using
+       <STRONG>wmove</STRONG>, and return an error if the position is outside the window, or if
+       the window pointer is null.
 
 
 </PRE><H2><a name="h2-NOTES">NOTES</a></H2><PRE>
 
 
 </PRE><H2><a name="h2-PORTABILITY">PORTABILITY</a></H2><PRE>
-       These entry points are described in the XSI  Curses  stan-
-       dard, Issue 4.
+       These entry points are described in the XSI Curses standard, Issue 4.
 
 
 </PRE><H2><a name="h2-SEE-ALSO">SEE ALSO</a></H2><PRE>
        <STRONG><A HREF="curs_addstr.3x.html">curs_addstr(3x)</A></STRONG>, <STRONG><A HREF="ncurses.3x.html">curses(3x)</A></STRONG>.
 
-       Comparable  functions in the wide-character (ncursesw) li-
-       brary are described in <STRONG><A HREF="curs_add_wchstr.3x.html">curs_add_wchstr(3x)</A></STRONG>.
+       Comparable  functions  in the wide-character (ncursesw) library are de-
+       scribed in <STRONG><A HREF="curs_add_wchstr.3x.html">curs_add_wchstr(3x)</A></STRONG>.
 
 
 
-                                                      <STRONG><A HREF="curs_addchstr.3x.html">curs_addchstr(3x)</A></STRONG>
+                                                             <STRONG><A HREF="curs_addchstr.3x.html">curs_addchstr(3x)</A></STRONG>
 </PRE>
 <div class="nav">
 <ul>
index 13e754354bb35eafe1ee3f9915ac38d62d4e0163..a72e71b0a4f40b82cbabfdfba93e292e88fa367b 100644 (file)
 <BODY>
 <H1 class="no-header">curs_addstr 3x</H1>
 <PRE>
-<STRONG><A HREF="curs_addstr.3x.html">curs_addstr(3x)</A></STRONG>                                         <STRONG><A HREF="curs_addstr.3x.html">curs_addstr(3x)</A></STRONG>
+<STRONG><A HREF="curs_addstr.3x.html">curs_addstr(3x)</A></STRONG>                                                <STRONG><A HREF="curs_addstr.3x.html">curs_addstr(3x)</A></STRONG>
 
 
 
 
 </PRE><H2><a name="h2-NAME">NAME</a></H2><PRE>
-       <STRONG>addstr</STRONG>, <STRONG>addnstr</STRONG>, <STRONG>waddstr</STRONG>, <STRONG>waddnstr</STRONG>, <STRONG>mvaddstr</STRONG>, <STRONG>mvaddnstr</STRONG>,
-       <STRONG>mvwaddstr</STRONG>, <STRONG>mvwaddnstr</STRONG> - add a string of characters to a
-       <STRONG>curses</STRONG> window and advance cursor
+       <STRONG>addstr</STRONG>, <STRONG>addnstr</STRONG>, <STRONG>waddstr</STRONG>, <STRONG>waddnstr</STRONG>, <STRONG>mvaddstr</STRONG>, <STRONG>mvaddnstr</STRONG>, <STRONG>mvwaddstr</STRONG>,
+       <STRONG>mvwaddnstr</STRONG> - add a string of characters to a <STRONG>curses</STRONG> window and advance
+       cursor
 
 
 </PRE><H2><a name="h2-SYNOPSIS">SYNOPSIS</a></H2><PRE>
 
 
 </PRE><H2><a name="h2-DESCRIPTION">DESCRIPTION</a></H2><PRE>
-       These  functions  write  the  (null-terminated)  character
-       string <EM>str</EM> on the given window.  It is similar to  calling
-       <STRONG>waddch</STRONG> once for each character in the string.
+       These functions write the (null-terminated) character string <EM>str</EM> on the
+       given window.  It is similar to calling <STRONG>waddch</STRONG> once for each  character
+       in the string.
 
-       The  <EM>mv</EM>  functions  perform  cursor  movement once, before
-       writing any characters.  Thereafter,  the  cursor  is  ad-
-       vanced as a side-effect of writing to the window.
+       The <EM>mv</EM> functions perform cursor movement once, before writing any char-
+       acters.  Thereafter, the cursor is advanced as a side-effect of writing
+       to the window.
 
-       The  four  functions  with <EM>n</EM> as the last argument write at
-       most <EM>n</EM> characters, or until a terminating null is reached.
-       If <EM>n</EM> is -1, then the entire string will be added.
+       The  four functions with <EM>n</EM> as the last argument write at most <EM>n</EM> charac-
+       ters, or until a terminating null is reached.  If <EM>n</EM> is -1, then the en-
+       tire string will be added.
 
 
 </PRE><H2><a name="h2-RETURN-VALUE">RETURN VALUE</a></H2><PRE>
-       All  functions  return the integer <STRONG>ERR</STRONG> upon failure and <STRONG>OK</STRONG>
-       on success.
+       All functions return the integer <STRONG>ERR</STRONG> upon failure and <STRONG>OK</STRONG> on success.
 
-       X/Open does not define any error conditions.  This  imple-
-       mentation returns an error
+       X/Open  does  not define any error conditions.  This implementation re-
+       turns an error
 
        <STRONG>o</STRONG>   if the window pointer is null or
 
@@ -91,9 +90,9 @@
 
        <STRONG>o</STRONG>   if the corresponding calls to <STRONG>waddch</STRONG> return an error.
 
-       Functions  with a "mv" prefix first perform a cursor move-
-       ment using <STRONG>wmove</STRONG>, and return an error if the  position  is
-       outside the window, or if the window pointer is null.
+       Functions with a "mv" prefix first  perform  a  cursor  movement  using
+       <STRONG>wmove</STRONG>, and return an error if the position is outside the window, or if
+       the window pointer is null.
 
 
 </PRE><H2><a name="h2-NOTES">NOTES</a></H2><PRE>
 
 
 </PRE><H2><a name="h2-PORTABILITY">PORTABILITY</a></H2><PRE>
-       These  functions are described in the XSI Curses standard,
-       Issue 4.
+       These functions are described in the XSI Curses standard, Issue 4.
 
 
 </PRE><H2><a name="h2-SEE-ALSO">SEE ALSO</a></H2><PRE>
 
 
 
-                                                        <STRONG><A HREF="curs_addstr.3x.html">curs_addstr(3x)</A></STRONG>
+                                                               <STRONG><A HREF="curs_addstr.3x.html">curs_addstr(3x)</A></STRONG>
 </PRE>
 <div class="nav">
 <ul>
index 0d81cba152fb54c1e9f53603895592f453437f16..28ddce3b761bda3c298ba3794d0da1aad15a7bf2 100644 (file)
 <BODY>
 <H1 class="no-header">curs_addwstr 3x</H1>
 <PRE>
-<STRONG><A HREF="curs_addwstr.3x.html">curs_addwstr(3x)</A></STRONG>                                       <STRONG><A HREF="curs_addwstr.3x.html">curs_addwstr(3x)</A></STRONG>
+<STRONG><A HREF="curs_addwstr.3x.html">curs_addwstr(3x)</A></STRONG>                                              <STRONG><A HREF="curs_addwstr.3x.html">curs_addwstr(3x)</A></STRONG>
 
 
 
 
 </PRE><H2><a name="h2-NAME">NAME</a></H2><PRE>
-       <STRONG>addwstr</STRONG>, <STRONG>addnwstr</STRONG>, <STRONG>waddwstr</STRONG>, <STRONG>waddnwstr</STRONG>, <STRONG>mvaddwstr</STRONG>,
-       <STRONG>mvaddnwstr</STRONG>, <STRONG>mvwaddwstr</STRONG>, <STRONG>mvwaddnwstr</STRONG> - add a string of wide
-       characters to a <STRONG>curses</STRONG> window and advance cursor
+       <STRONG>addwstr</STRONG>, <STRONG>addnwstr</STRONG>, <STRONG>waddwstr</STRONG>, <STRONG>waddnwstr</STRONG>, <STRONG>mvaddwstr</STRONG>, <STRONG>mvaddnwstr</STRONG>,
+       <STRONG>mvwaddwstr</STRONG>, <STRONG>mvwaddnwstr</STRONG> - add a string of wide characters to a <STRONG>curses</STRONG>
+       window and advance cursor
 
 
 </PRE><H2><a name="h2-SYNOPSIS">SYNOPSIS</a></H2><PRE>
 
 
 </PRE><H2><a name="h2-DESCRIPTION">DESCRIPTION</a></H2><PRE>
-       These  functions  write the characters of the (null-termi-
-       nated) <STRONG>wchar_t</STRONG> character string <EM>wstr</EM> on the given  window.
-       It  is  similar to constructing a <STRONG>cchar_t</STRONG> for each wchar_t
-       in the string, then calling  <STRONG>wadd_wch</STRONG>  for  the  resulting
-       <STRONG>cchar_t</STRONG>.
+       These  functions  write the characters of the (null-terminated) <STRONG>wchar_t</STRONG>
+       character string <EM>wstr</EM> on the given window.  It is similar to construct-
+       ing a <STRONG>cchar_t</STRONG> for each wchar_t in the string, then calling <STRONG>wadd_wch</STRONG> for
+       the resulting <STRONG>cchar_t</STRONG>.
 
-       The  <EM>mv</EM>  functions  perform  cursor  movement once, before
-       writing any characters.  Thereafter,  the  cursor  is  ad-
-       vanced as a side-effect of writing to the window.
+       The <EM>mv</EM> functions perform cursor movement once, before writing any char-
+       acters.  Thereafter, the cursor is advanced as a side-effect of writing
+       to the window.
 
-       The  four  functions  with <EM>n</EM> as the last argument write at
-       most <EM>n</EM> <STRONG>wchar_t</STRONG> characters, or until a terminating null  is
-       reached.   If  <EM>n</EM>  is  -1,  then  the entire string will be
-       added.
+       The four functions with <EM>n</EM> as the last argument write at most <EM>n</EM>  <STRONG>wchar_t</STRONG>
+       characters,  or  until a terminating null is reached.  If <EM>n</EM> is -1, then
+       the entire string will be added.
 
 
 </PRE><H2><a name="h2-RETURN-VALUE">RETURN VALUE</a></H2><PRE>
-       All functions return the integer <STRONG>ERR</STRONG> upon failure  and  <STRONG>OK</STRONG>
-       on success.
+       All functions return the integer <STRONG>ERR</STRONG> upon failure and <STRONG>OK</STRONG> on success.
 
-       X/Open  does not define any error conditions.  This imple-
-       mentation returns an error
+       X/Open does not define any error conditions.  This  implementation  re-
+       turns an error
 
        <STRONG>o</STRONG>   if the window pointer is null or
 
        <STRONG>o</STRONG>   if the string pointer is null or
 
-       <STRONG>o</STRONG>   if the corresponding calls to <STRONG>wadd_wch</STRONG> return  an  er-
-           ror.
+       <STRONG>o</STRONG>   if the corresponding calls to <STRONG>wadd_wch</STRONG> return an error.
 
-       Functions  with a "mv" prefix first perform a cursor move-
-       ment using <STRONG>wmove</STRONG>, and return an error if the  position  is
-       outside the window, or if the window pointer is null.
+       Functions  with  a  "mv"  prefix  first perform a cursor movement using
+       <STRONG>wmove</STRONG>, and return an error if the position is outside the window, or if
+       the window pointer is null.
 
 
 </PRE><H2><a name="h2-NOTES">NOTES</a></H2><PRE>
 
 
 </PRE><H2><a name="h2-PORTABILITY">PORTABILITY</a></H2><PRE>
-       These  functions are described in the XSI Curses standard,
-       Issue 4.
+       These functions are described in the XSI Curses standard, Issue 4.
 
 
 </PRE><H2><a name="h2-SEE-ALSO">SEE ALSO</a></H2><PRE>
 
 
 
-                                                       <STRONG><A HREF="curs_addwstr.3x.html">curs_addwstr(3x)</A></STRONG>
+                                                              <STRONG><A HREF="curs_addwstr.3x.html">curs_addwstr(3x)</A></STRONG>
 </PRE>
 <div class="nav">
 <ul>
index b0bb4980f94e33c5ca908cd2478e0005d3808eb1..f359177eafb2575cacbd3ed6209644b171b1b851 100644 (file)
 <BODY>
 <H1 class="no-header">curs_attr 3x</H1>
 <PRE>
-<STRONG><A HREF="curs_attr.3x.html">curs_attr(3x)</A></STRONG>                                             <STRONG><A HREF="curs_attr.3x.html">curs_attr(3x)</A></STRONG>
+<STRONG><A HREF="curs_attr.3x.html">curs_attr(3x)</A></STRONG>                                                    <STRONG><A HREF="curs_attr.3x.html">curs_attr(3x)</A></STRONG>
 
 
 
 
 </PRE><H2><a name="h2-NAME">NAME</a></H2><PRE>
-       <STRONG>attr_get</STRONG>, <STRONG>wattr_get</STRONG>, <STRONG>attr_set</STRONG>, <STRONG>wattr_set</STRONG>, <STRONG>attr_off</STRONG>,
-       <STRONG>wattr_off</STRONG>, <STRONG>attr_on</STRONG>, <STRONG>wattr_on</STRONG>, <STRONG>attroff</STRONG>, <STRONG>wattroff</STRONG>, <STRONG>attron</STRONG>,
-       <STRONG>wattron</STRONG>, <STRONG>attrset</STRONG>, <STRONG>wattrset</STRONG>, <STRONG>chgat</STRONG>, <STRONG>wchgat</STRONG>, <STRONG>mvchgat</STRONG>,
-       <STRONG>mvwchgat</STRONG>, <STRONG>color_set</STRONG>, <STRONG>wcolor_set</STRONG>, <STRONG>standend</STRONG>, <STRONG>wstandend</STRONG>,
-       <STRONG>standout</STRONG>, <STRONG>wstandout</STRONG> - <STRONG>curses</STRONG> character and window
-       attribute control routines
+       <STRONG>attr_get</STRONG>, <STRONG>wattr_get</STRONG>, <STRONG>attr_set</STRONG>, <STRONG>wattr_set</STRONG>, <STRONG>attr_off</STRONG>, <STRONG>wattr_off</STRONG>, <STRONG>attr_on</STRONG>,
+       <STRONG>wattr_on</STRONG>, <STRONG>attroff</STRONG>, <STRONG>wattroff</STRONG>, <STRONG>attron</STRONG>, <STRONG>wattron</STRONG>, <STRONG>attrset</STRONG>, <STRONG>wattrset</STRONG>, <STRONG>chgat</STRONG>,
+       <STRONG>wchgat</STRONG>, <STRONG>mvchgat</STRONG>, <STRONG>mvwchgat</STRONG>, <STRONG>color_set</STRONG>, <STRONG>wcolor_set</STRONG>, <STRONG>standend</STRONG>, <STRONG>wstandend</STRONG>,
+       <STRONG>standout</STRONG>, <STRONG>wstandout</STRONG> - <STRONG>curses</STRONG> character and window attribute control
+       routines
 
 
 </PRE><H2><a name="h2-SYNOPSIS">SYNOPSIS</a></H2><PRE>
        <STRONG>#include</STRONG> <STRONG>&lt;curses.h&gt;</STRONG>
 
        <STRONG>int</STRONG> <STRONG>attr_get(attr_t</STRONG> <STRONG>*</STRONG><EM>attrs</EM><STRONG>,</STRONG> <STRONG>short</STRONG> <STRONG>*</STRONG><EM>pair</EM><STRONG>,</STRONG> <STRONG>void</STRONG> <STRONG>*</STRONG><EM>opts</EM><STRONG>);</STRONG>
-       <STRONG>int</STRONG> <STRONG>wattr_get(WINDOW</STRONG> <STRONG>*</STRONG><EM>win</EM><STRONG>,</STRONG>  <STRONG>attr_t</STRONG>  <STRONG>*</STRONG><EM>attrs</EM><STRONG>,</STRONG>  <STRONG>short</STRONG>  <STRONG>*</STRONG><EM>pair</EM><STRONG>,</STRONG>
-       <STRONG>void</STRONG> <STRONG>*</STRONG><EM>opts</EM><STRONG>);</STRONG>
+       <STRONG>int</STRONG> <STRONG>wattr_get(WINDOW</STRONG> <STRONG>*</STRONG><EM>win</EM><STRONG>,</STRONG> <STRONG>attr_t</STRONG> <STRONG>*</STRONG><EM>attrs</EM><STRONG>,</STRONG> <STRONG>short</STRONG> <STRONG>*</STRONG><EM>pair</EM><STRONG>,</STRONG> <STRONG>void</STRONG> <STRONG>*</STRONG><EM>opts</EM><STRONG>);</STRONG>
        <STRONG>int</STRONG> <STRONG>attr_set(attr_t</STRONG> <EM>attrs</EM><STRONG>,</STRONG> <STRONG>short</STRONG> <EM>pair</EM><STRONG>,</STRONG> <STRONG>void</STRONG> <STRONG>*</STRONG><EM>opts</EM><STRONG>);</STRONG>
-       <STRONG>int</STRONG>  <STRONG>wattr_set(WINDOW</STRONG> <STRONG>*</STRONG><EM>win</EM><STRONG>,</STRONG> <STRONG>attr_t</STRONG> <EM>attrs</EM><STRONG>,</STRONG> <STRONG>short</STRONG> <EM>pair</EM><STRONG>,</STRONG> <STRONG>void</STRONG>
-       <STRONG>*</STRONG><EM>opts</EM><STRONG>);</STRONG>
+       <STRONG>int</STRONG> <STRONG>wattr_set(WINDOW</STRONG> <STRONG>*</STRONG><EM>win</EM><STRONG>,</STRONG> <STRONG>attr_t</STRONG> <EM>attrs</EM><STRONG>,</STRONG> <STRONG>short</STRONG> <EM>pair</EM><STRONG>,</STRONG> <STRONG>void</STRONG> <STRONG>*</STRONG><EM>opts</EM><STRONG>);</STRONG>
 
        <STRONG>int</STRONG> <STRONG>attr_off(attr_t</STRONG> <EM>attrs</EM><STRONG>,</STRONG> <STRONG>void</STRONG> <STRONG>*</STRONG><EM>opts</EM><STRONG>);</STRONG>
        <STRONG>int</STRONG> <STRONG>wattr_off(WINDOW</STRONG> <STRONG>*</STRONG><EM>win</EM><STRONG>,</STRONG> <STRONG>attr_t</STRONG> <EM>attrs</EM><STRONG>,</STRONG> <STRONG>void</STRONG> <STRONG>*</STRONG><EM>opts</EM><STRONG>);</STRONG>
@@ -89,8 +86,7 @@
        <STRONG>int</STRONG> <STRONG>attrset(int</STRONG> <EM>attrs</EM><STRONG>);</STRONG>
        <STRONG>int</STRONG> <STRONG>wattrset(WINDOW</STRONG> <STRONG>*</STRONG><EM>win</EM><STRONG>,</STRONG> <STRONG>int</STRONG> <EM>attrs</EM><STRONG>);</STRONG>
 
-       <STRONG>int</STRONG> <STRONG>chgat(int</STRONG> <EM>n</EM><STRONG>,</STRONG>  <STRONG>attr_t</STRONG>  <EM>attr</EM><STRONG>,</STRONG>  <STRONG>short</STRONG>  <EM>pair</EM><STRONG>,</STRONG>  <STRONG>const</STRONG>  <STRONG>void</STRONG>
-       <STRONG>*</STRONG><EM>opts</EM><STRONG>);</STRONG>
+       <STRONG>int</STRONG> <STRONG>chgat(int</STRONG> <EM>n</EM><STRONG>,</STRONG> <STRONG>attr_t</STRONG> <EM>attr</EM><STRONG>,</STRONG> <STRONG>short</STRONG> <EM>pair</EM><STRONG>,</STRONG> <STRONG>const</STRONG> <STRONG>void</STRONG> <STRONG>*</STRONG><EM>opts</EM><STRONG>);</STRONG>
        <STRONG>int</STRONG> <STRONG>wchgat(WINDOW</STRONG> <STRONG>*</STRONG><EM>win</EM><STRONG>,</STRONG>
              <STRONG>int</STRONG> <EM>n</EM><STRONG>,</STRONG> <STRONG>attr_t</STRONG> <EM>attr</EM><STRONG>,</STRONG> <STRONG>short</STRONG> <EM>pair</EM><STRONG>,</STRONG> <STRONG>const</STRONG> <STRONG>void</STRONG> <STRONG>*</STRONG><EM>opts</EM><STRONG>);</STRONG>
        <STRONG>int</STRONG> <STRONG>mvchgat(int</STRONG> <EM>y</EM><STRONG>,</STRONG> <STRONG>int</STRONG> <EM>x</EM><STRONG>,</STRONG>
 
 
 </PRE><H2><a name="h2-DESCRIPTION">DESCRIPTION</a></H2><PRE>
-       These  routines  manipulate  the current attributes of the
-       named window, which then apply to all characters that  are
-       written  into the window with <STRONG>waddch</STRONG>, <STRONG>waddstr</STRONG> and <STRONG>wprintw</STRONG>.
-       Attributes are a property of the character, and move  with
-       the  character  through  any  scrolling  and insert/delete
-       line/character operations.  To the extent  possible,  they
-       are  displayed as appropriate modifications to the graphic
-       rendition of characters put on the screen.
+       These  routines  manipulate the current attributes of the named window,
+       which then apply to all characters that are  written  into  the  window
+       with  <STRONG>waddch</STRONG>,  <STRONG>waddstr</STRONG>  and  <STRONG>wprintw</STRONG>.  Attributes are a property of the
+       character, and move with the character through any  scrolling  and  in-
+       sert/delete  line/character  operations.   To the extent possible, they
+       are displayed as appropriate modifications to the graphic rendition  of
+       characters put on the screen.
 
-       These routines do not  affect  the  attributes  used  when
-       erasing  portions  of  the  window.  See <STRONG><A HREF="curs_bkgd.3x.html">curs_bkgd(3x)</A></STRONG> for
-       functions which modify the attributes used for erasing and
-       clearing.
+       These  routines do not affect the attributes used when erasing portions
+       of the window.  See <STRONG><A HREF="curs_bkgd.3x.html">curs_bkgd(3x)</A></STRONG> for functions which  modify  the  at-
+       tributes used for erasing and clearing.
 
-       Routines  which  do  not have a <STRONG>WINDOW*</STRONG> parameter apply to
-       <STRONG>stdscr</STRONG>.  For example, <STRONG>attr_set</STRONG> is the  <STRONG>stdscr</STRONG>  variant  of
-       <STRONG>wattr_set</STRONG>.
+       Routines  which  do  not have a <STRONG>WINDOW*</STRONG> parameter apply to <STRONG>stdscr</STRONG>.  For
+       example, <STRONG>attr_set</STRONG> is the <STRONG>stdscr</STRONG> variant of <STRONG>wattr_set</STRONG>.
 
 
 </PRE><H3><a name="h3-Window-attributes">Window attributes</a></H3><PRE>
        There are two sets of functions:
 
-       <STRONG>o</STRONG>   functions  for  manipulating the window attributes and
-           color: <STRONG>wattr_set</STRONG> and <STRONG>wattr_get</STRONG>.
+       <STRONG>o</STRONG>   functions for manipulating the window attributes  and  color:  <STRONG>wat-</STRONG>
+           <STRONG>tr_set</STRONG> and <STRONG>wattr_get</STRONG>.
 
-       <STRONG>o</STRONG>   functions for manipulating only the window  attributes
-           (not color): <STRONG>wattr_on</STRONG> and <STRONG>wattr_off</STRONG>.
+       <STRONG>o</STRONG>   functions  for manipulating only the window attributes (not color):
+           <STRONG>wattr_on</STRONG> and <STRONG>wattr_off</STRONG>.
 
-       The  <STRONG>wattr_set</STRONG> function sets the current attributes of the
-       given window to <EM>attrs</EM>, with color specified by <EM>pair</EM>.
+       The <STRONG>wattr_set</STRONG> function sets the current attributes of the given  window
+       to <EM>attrs</EM>, with color specified by <EM>pair</EM>.
 
        Use <STRONG>wattr_get</STRONG> to retrieve attributes for the given window.
 
-       Use <STRONG>attr_on</STRONG> and <STRONG>wattr_on</STRONG> to  turn  on  window  attributes,
-       i.e., values OR'd together in <EM>attr</EM>, without affecting oth-
-       er attributes.  Use <STRONG>attr_off</STRONG> and  <STRONG>wattr_off</STRONG>  to  turn  off
-       window  attributes,  again  values  OR'd together in <EM>attr</EM>,
-       without affecting other attributes.
+       Use  <STRONG>attr_on</STRONG>  and  <STRONG>wattr_on</STRONG>  to turn on window attributes, i.e., values
+       OR'd together in <EM>attr</EM>, without affecting  other  attributes.   Use  <STRONG>at-</STRONG>
+       <STRONG>tr_off</STRONG>  and  <STRONG>wattr_off</STRONG> to turn off window attributes, again values OR'd
+       together in <EM>attr</EM>, without affecting other attributes.
 
 
 </PRE><H3><a name="h3-Legacy-window-attributes">Legacy window attributes</a></H3><PRE>
-       Most of the window attribute routines  are  extensions  of
-       older routines which assume that color pairs are OR'd into
-       the attribute parameter.  These  older  routines  use  the
-       same name, omitting an underscore (<STRONG>_</STRONG>).
+       Most of the window attribute routines are extensions of older  routines
+       which  assume  that  color pairs are OR'd into the attribute parameter.
+       These older routines use the same name, omitting an underscore (<STRONG>_</STRONG>).
 
-       The  <STRONG>attrset</STRONG>  routine  is  a legacy feature predating SVr4
-       curses but kept in X/Open Curses for the same reason  that
-       SVr4 curses kept it: compatibility.
+       The <STRONG>attrset</STRONG> routine is a legacy feature predating SVr4 curses but  kept
+       in X/Open Curses for the same reason that SVr4 curses kept it: compati-
+       bility.
 
-       The  remaining  <STRONG>attr</STRONG>*  functions  operate exactly like the
-       corresponding <STRONG>attr_</STRONG>* functions, except that they take  ar-
-       guments of type <STRONG>int</STRONG> rather than <STRONG>attr_t</STRONG>.
+       The remaining <STRONG>attr</STRONG>* functions operate exactly  like  the  corresponding
+       <STRONG>attr_</STRONG>*  functions,  except  that they take arguments of type <STRONG>int</STRONG> rather
+       than <STRONG>attr_t</STRONG>.
 
-       There  is  no  corresponding  <STRONG>attrget</STRONG>  function as such in
-       X/Open Curses, although  ncurses  provides  <STRONG>getattrs</STRONG>  (see
-       <STRONG><A HREF="curs_legacy.3x.html">curs_legacy(3x)</A></STRONG>).
+       There is no corresponding <STRONG>attrget</STRONG> function as such  in  X/Open  Curses,
+       although ncurses provides <STRONG>getattrs</STRONG> (see <STRONG><A HREF="curs_legacy.3x.html">curs_legacy(3x)</A></STRONG>).
 
 
 </PRE><H3><a name="h3-Change-character-rendition">Change character rendition</a></H3><PRE>
-       The routine <STRONG>chgat</STRONG> changes the attributes of a given number
-       of characters starting at the current cursor  location  of
-       <STRONG>stdscr</STRONG>.   It  does not update the cursor and does not per-
-       form wrapping.  A character count of -1  or  greater  than
-       the  remaining window width means to change attributes all
-       the way to the end of the current line.  The <STRONG>wchgat</STRONG>  func-
-       tion generalizes this to any window; the <STRONG>mvwchgat</STRONG> function
-       does a cursor move before acting.
+       The  routine  <STRONG>chgat</STRONG> changes the attributes of a given number of charac-
+       ters starting at the current cursor location of <STRONG>stdscr</STRONG>.   It  does  not
+       update  the cursor and does not perform wrapping.  A character count of
+       -1 or greater than the remaining  window  width  means  to  change  at-
+       tributes  all the way to the end of the current line.  The <STRONG>wchgat</STRONG> func-
+       tion generalizes this to any window; the <STRONG>mvwchgat</STRONG> function does a  cur-
+       sor move before acting.
 
-       In these functions, the color <EM>pair</EM> argument  is  a  color-
-       pair  index  (as  in  the first argument of <STRONG>init_pair</STRONG>, see
-       <STRONG><A HREF="curs_color.3x.html">curs_color(3x)</A></STRONG>).
+       In  these  functions, the color <EM>pair</EM> argument is a color-pair index (as
+       in the first argument of <STRONG>init_pair</STRONG>, see <STRONG><A HREF="curs_color.3x.html">curs_color(3x)</A></STRONG>).
 
 
 </PRE><H3><a name="h3-Change-window-color">Change window color</a></H3><PRE>
-       The routine <STRONG>color_set</STRONG> sets the current color of the  given
-       window  to the foreground/background combination described
-       by the color <EM>pair</EM> parameter.
+       The routine <STRONG>color_set</STRONG> sets the current color of the given window to the
+       foreground/background  combination  described by the color <EM>pair</EM> parame-
+       ter.
 
 
 </PRE><H3><a name="h3-Standout">Standout</a></H3><PRE>
-       The routine <STRONG>standout</STRONG> is the  same  as  <STRONG>attron(A_STANDOUT)</STRONG>.
-       The  routine  <STRONG>standend</STRONG> is the same as <STRONG>attrset(A_NORMAL)</STRONG> or
-       <STRONG>attrset(0)</STRONG>, that is, it turns off all attributes.
+       The routine <STRONG>standout</STRONG> is the same as  <STRONG>attron(A_STANDOUT)</STRONG>.   The  routine
+       <STRONG>standend</STRONG>  is  the  same as <STRONG>attrset(A_NORMAL)</STRONG> or <STRONG>attrset(0)</STRONG>, that is, it
+       turns off all attributes.
 
        X/Open does not mark these "restricted", because
 
        <STRONG>o</STRONG>   they have well established legacy use, and
 
-       <STRONG>o</STRONG>   there is no ambiguity about  the  way  the  attributes
-           might be combined with a color pair.
+       <STRONG>o</STRONG>   there is no ambiguity about the way the attributes  might  be  com-
+           bined with a color pair.
 
 
 </PRE><H2><a name="h2-VIDEO-ATTRIBUTES">VIDEO ATTRIBUTES</a></H2><PRE>
-       The following video attributes, defined in <STRONG>&lt;curses.h&gt;</STRONG>, can
-       be passed to the routines <STRONG>attron</STRONG>, <STRONG>attroff</STRONG>, and <STRONG>attrset</STRONG>, or
-       OR'd  with  the  characters passed to <STRONG>addch</STRONG> (see <STRONG>curs_add-</STRONG>
-       <STRONG><A HREF="curs_addch.3x.html">ch(3x)</A></STRONG>).
+       The following video attributes, defined in <STRONG>&lt;curses.h&gt;</STRONG>, can be passed to
+       the routines <STRONG>attron</STRONG>, <STRONG>attroff</STRONG>, and <STRONG>attrset</STRONG>, or OR'd with the  characters
+       passed to <STRONG>addch</STRONG> (see <STRONG><A HREF="curs_addch.3x.html">curs_addch(3x)</A></STRONG>).
 
               <EM>Name</EM>           <EM>Description</EM>
               -----------------------------------------------------------
               <STRONG>A_ITALIC</STRONG>       Italics (non-X/Open extension)
               <STRONG>A_CHARTEXT</STRONG>     Bit-mask to extract a character
 
-       These video attributes are supported by <STRONG>attr_on</STRONG> and relat-
-       ed functions (which also support the attributes recognized
-       by <STRONG>attron</STRONG>, etc.):
+       These  video  attributes are supported by <STRONG>attr_on</STRONG> and related functions
+       (which also support the attributes recognized by <STRONG>attron</STRONG>, etc.):
 
               <EM>Name</EM>            <EM>Description</EM>
               -----------------------------------------
               <STRONG>WA_TOP</STRONG>          Top highlight
               <STRONG>WA_VERTICAL</STRONG>     Vertical highlight
 
-       The return values of many of these routines are not  mean-
-       ingful (they are implemented as macro-expanded assignments
-       and simply return their argument).  The SVr4  manual  page
-       claims (falsely) that these routines always return <STRONG>1</STRONG>.
+       The return values of many of these routines are  not  meaningful  (they
+       are  implemented  as macro-expanded assignments and simply return their
+       argument).  The SVr4 manual page claims (falsely) that  these  routines
+       always return <STRONG>1</STRONG>.
 
 
 </PRE><H2><a name="h2-NOTES">NOTES</a></H2><PRE>
        These functions may be macros:
 
-              <STRONG>attroff</STRONG>,  <STRONG>wattroff</STRONG>,  <STRONG>attron</STRONG>, <STRONG>wattron</STRONG>, <STRONG>attrset</STRONG>, <STRONG>wat-</STRONG>
-              <STRONG>trset</STRONG>, <STRONG>standend</STRONG> and <STRONG>standout</STRONG>.
+              <STRONG>attroff</STRONG>,  <STRONG>wattroff</STRONG>, <STRONG>attron</STRONG>, <STRONG>wattron</STRONG>, <STRONG>attrset</STRONG>, <STRONG>wattrset</STRONG>, <STRONG>standend</STRONG>
+              and <STRONG>standout</STRONG>.
 
-       Color pair values can only be OR'd with attributes if  the
-       pair  number  is  less  than 256.  The alternate functions
-       such as <STRONG>color_set</STRONG> can pass a color  pair  value  directly.
-       However,  ncurses  ABI 4 and 5 simply OR this value within
-       the alternate functions.  You must use ncurses  ABI  6  to
+       Color pair values can only be OR'd with attributes if the  pair  number
+       is less than 256.  The alternate functions such as <STRONG>color_set</STRONG> can pass a
+       color pair value directly.  However, ncurses ABI 4 and 5 simply OR this
+       value  within  the  alternate functions.  You must use ncurses ABI 6 to
        support more than 256 color pairs.
 
 
 </PRE><H2><a name="h2-EXTENSIONS">EXTENSIONS</a></H2><PRE>
-       This  implementation  provides  the <STRONG>A_ITALIC</STRONG> attribute for
-       terminals which have the <STRONG>enter_italics_mode</STRONG> (<STRONG>sitm</STRONG>) and <STRONG>ex-</STRONG>
-       <STRONG>it_italics_mode</STRONG> (<STRONG>ritm</STRONG>) capabilities.  Italics are not men-
-       tioned in X/Open  Curses.   Unlike  the  other  video  at-
-       tributes,  <STRONG>A_ITALIC</STRONG> is unrelated to the <STRONG>set_attributes</STRONG> ca-
-       pabilities.  This implementation makes the assumption that
-       <STRONG>exit_attribute_mode</STRONG> may also reset italics.
-
-       Each  of the functions added by XSI Curses has a parameter
-       <EM>opts</EM>, which X/Open Curses still (after  more  than  twenty
-       years)  documents  as reserved for future use, saying that
-       it should be <STRONG>NULL</STRONG>.  This implementation uses that  parame-
-       ter in ABI 6 for the functions which have a color-pair pa-
-       rameter to support <EM>extended</EM> <EM>color</EM> <EM>pairs</EM>:
-
-       <STRONG>o</STRONG>   For functions which modify the color, e.g., <STRONG>wattr_set</STRONG>,
-           if  <EM>opts</EM> is set it is treated as a pointer to <STRONG>int</STRONG>, and
-           used to set the color pair instead of the  <STRONG>short</STRONG>  <EM>pair</EM>
-           parameter.
-
-       <STRONG>o</STRONG>   For  functions  which  retrieve  the color, e.g., <STRONG>wat-</STRONG>
-           <STRONG>tr_get</STRONG>, if <EM>opts</EM> is set it is treated as a  pointer  to
-           <STRONG>int</STRONG>,  and  used  to  retrieve the color pair as an <STRONG>int</STRONG>
-           value, in addition  retrieving  it  via  the  standard
-           pointer to <STRONG>short</STRONG> parameter.
-
-       The remaining functions which have <EM>opts</EM>, but do not manip-
-       ulate color, e.g., <STRONG>wattr_on</STRONG> and <STRONG>wattr_off</STRONG> are not used  by
-       this implementation except to check that they are <STRONG>NULL</STRONG>.
+       This implementation provides the <STRONG>A_ITALIC</STRONG> attribute for terminals which
+       have  the  <STRONG>enter_italics_mode</STRONG> (<STRONG>sitm</STRONG>) and <STRONG>exit_italics_mode</STRONG> (<STRONG>ritm</STRONG>) capa-
+       bilities.  Italics are not mentioned in X/Open Curses.  Unlike the oth-
+       er  video attributes, <STRONG>A_ITALIC</STRONG> is unrelated to the <STRONG>set_attributes</STRONG> capa-
+       bilities.  This  implementation  makes  the  assumption  that  <STRONG>exit_at-</STRONG>
+       <STRONG>tribute_mode</STRONG> may also reset italics.
+
+       Each  of  the functions added by XSI Curses has a parameter <EM>opts</EM>, which
+       X/Open Curses still (after more than twenty  years)  documents  as  re-
+       served for future use, saying that it should be <STRONG>NULL</STRONG>.  This implementa-
+       tion uses that parameter in ABI 6 for the functions which have a color-
+       pair parameter to support <EM>extended</EM> <EM>color</EM> <EM>pairs</EM>:
+
+       <STRONG>o</STRONG>   For  functions  which modify the color, e.g., <STRONG>wattr_set</STRONG>, if <EM>opts</EM> is
+           set it is treated as a pointer to <STRONG>int</STRONG>, and used to  set  the  color
+           pair instead of the <STRONG>short</STRONG> <EM>pair</EM> parameter.
+
+       <STRONG>o</STRONG>   For functions which retrieve the color, e.g., <STRONG>wattr_get</STRONG>, if <EM>opts</EM> is
+           set it is treated as a pointer to <STRONG>int</STRONG>, and  used  to  retrieve  the
+           color pair as an <STRONG>int</STRONG> value, in addition retrieving it via the stan-
+           dard pointer to <STRONG>short</STRONG> parameter.
+
+       The remaining functions which have <EM>opts</EM>, but do not  manipulate  color,
+       e.g., <STRONG>wattr_on</STRONG> and <STRONG>wattr_off</STRONG> are not used by this implementation except
+       to check that they are <STRONG>NULL</STRONG>.
 
 
 </PRE><H2><a name="h2-PORTABILITY">PORTABILITY</a></H2><PRE>
-       These  functions are supported in the XSI Curses standard,
-       Issue 4.  The standard  defined  the  dedicated  type  for
-       highlights,  <STRONG>attr_t</STRONG>, which was not defined in SVr4 curses.
-       The functions taking <STRONG>attr_t</STRONG> arguments were  not  supported
-       under SVr4.
-
-       Very  old versions of this library did not force an update
-       of the screen when changing the attributes.  Use  <STRONG>touchwin</STRONG>
-       to force the screen to match the updated attributes.
-
-       The XSI Curses standard states that whether the tradition-
-       al functions  <STRONG>attron</STRONG>/<STRONG>attroff</STRONG>/<STRONG>attrset</STRONG>  can  manipulate  at-
-       tributes  other  than  <STRONG>A_BLINK</STRONG>,  <STRONG>A_BOLD</STRONG>, <STRONG>A_DIM</STRONG>, <STRONG>A_REVERSE</STRONG>,
-       <STRONG>A_STANDOUT</STRONG>, or <STRONG>A_UNDERLINE</STRONG> is "unspecified".   Under  this
-       implementation  as  well  as  SVr4 curses, these functions
-       correctly manipulate all other  highlights  (specifically,
-       <STRONG>A_ALTCHARSET</STRONG>, <STRONG>A_PROTECT</STRONG>, and <STRONG>A_INVIS</STRONG>).
+       These functions are supported in the XSI Curses standard, Issue 4.  The
+       standard  defined  the dedicated type for highlights, <STRONG>attr_t</STRONG>, which was
+       not defined in SVr4 curses.  The functions taking <STRONG>attr_t</STRONG> arguments were
+       not supported under SVr4.
+
+       Very old versions of this library did not force an update of the screen
+       when changing the attributes.  Use <STRONG>touchwin</STRONG>  to  force  the  screen  to
+       match the updated attributes.
+
+       The  XSI  Curses standard states that whether the traditional functions
+       <STRONG>attron</STRONG>/<STRONG>attroff</STRONG>/<STRONG>attrset</STRONG> can manipulate attributes  other  than  <STRONG>A_BLINK</STRONG>,
+       <STRONG>A_BOLD</STRONG>,  <STRONG>A_DIM</STRONG>, <STRONG>A_REVERSE</STRONG>, <STRONG>A_STANDOUT</STRONG>, or <STRONG>A_UNDERLINE</STRONG> is "unspecified".
+       Under this implementation as well as SVr4 curses, these functions  cor-
+       rectly  manipulate  all  other  highlights (specifically, <STRONG>A_ALTCHARSET</STRONG>,
+       <STRONG>A_PROTECT</STRONG>, and <STRONG>A_INVIS</STRONG>).
 
        XSI Curses added these entry points:
 
-              <STRONG>attr_get</STRONG>,  <STRONG>attr_on</STRONG>,  <STRONG>attr_off</STRONG>,  <STRONG>attr_set</STRONG>, <STRONG>wattr_on</STRONG>,
-              <STRONG>wattr_off</STRONG>, <STRONG>wattr_get</STRONG>, <STRONG>wattr_set</STRONG>
+              <STRONG>attr_get</STRONG>, <STRONG>attr_on</STRONG>, <STRONG>attr_off</STRONG>, <STRONG>attr_set</STRONG>, <STRONG>wattr_on</STRONG>, <STRONG>wattr_off</STRONG>, <STRONG>wat-</STRONG>
+              <STRONG>tr_get</STRONG>, <STRONG>wattr_set</STRONG>
 
-       The new functions are intended to work with a  new  series
-       of  highlight  macros prefixed with <STRONG>WA_</STRONG>.  The older macros
-       have direct counterparts in the newer set of names:
+       The  new  functions are intended to work with a new series of highlight
+       macros prefixed with <STRONG>WA_</STRONG>.  The older macros have direct counterparts in
+       the newer set of names:
 
               <EM>Name</EM>            <EM>Description</EM>
               ------------------------------------------------------------
               <STRONG>WA_BOLD</STRONG>         Extra bright or bold
               <STRONG>WA_ALTCHARSET</STRONG>   Alternate character set
 
-       The XSI curses standard specifies that each pair of corre-
-       sponding  <STRONG>A_</STRONG>  and <STRONG>WA_</STRONG>-using functions operates on the same
-       current-highlight information.
+       The  XSI  curses  standard specifies that each pair of corresponding <STRONG>A_</STRONG>
+       and <STRONG>WA_</STRONG>-using functions operates on the same current-highlight informa-
+       tion.
 
-       The XSI standard extended conformance level adds new high-
-       lights <STRONG>A_HORIZONTAL</STRONG>, <STRONG>A_LEFT</STRONG>, <STRONG>A_LOW</STRONG>, <STRONG>A_RIGHT</STRONG>, <STRONG>A_TOP</STRONG>, <STRONG>A_VER-</STRONG>
-       <STRONG>TICAL</STRONG> (and corresponding <STRONG>WA_</STRONG> macros for each).  As of  Au-
-       gust  2013,  no  known  terminal provides these highlights
-       (i.e., via the <STRONG>sgr1</STRONG> capability).
+       The XSI standard extended conformance level adds new highlights <STRONG>A_HORI-</STRONG>
+       <STRONG>ZONTAL</STRONG>, <STRONG>A_LEFT</STRONG>, <STRONG>A_LOW</STRONG>, <STRONG>A_RIGHT</STRONG>, <STRONG>A_TOP</STRONG>,  <STRONG>A_VERTICAL</STRONG>  (and  corresponding
+       <STRONG>WA_</STRONG>  macros  for  each).  As of August 2013, no known terminal provides
+       these highlights (i.e., via the <STRONG>sgr1</STRONG> capability).
 
 
 </PRE><H2><a name="h2-RETURN-VALUE">RETURN VALUE</a></H2><PRE>
-       All routines return the integer <STRONG>OK</STRONG> on success, or  <STRONG>ERR</STRONG>  on
-       failure.
+       All routines return the integer <STRONG>OK</STRONG> on success, or <STRONG>ERR</STRONG> on failure.
 
        X/Open does not define any error conditions.
 
 
        <STRONG>o</STRONG>   returns an error if the window pointer is null.
 
-       <STRONG>o</STRONG>   returns an error if the color pair parameter for <STRONG>wcol-</STRONG>
-           <STRONG>or_set</STRONG> is outside the range 0..COLOR_PAIRS-1.
+       <STRONG>o</STRONG>   returns an error if the color pair parameter for <STRONG>wcolor_set</STRONG> is out-
+           side the range 0..COLOR_PAIRS-1.
 
-       <STRONG>o</STRONG>   does not return an error if either of  the  parameters
-           of  <STRONG>wattr_get</STRONG>  used for retrieving attribute or color-
-           pair values is <STRONG>NULL</STRONG>.
+       <STRONG>o</STRONG>   does  not  return an error if either of the parameters of <STRONG>wattr_get</STRONG>
+           used for retrieving attribute or color-pair values is <STRONG>NULL</STRONG>.
 
-       Functions with a "mv" prefix first perform a cursor  move-
-       ment  using  <STRONG>wmove</STRONG>, and return an error if the position is
-       outside the window, or if the window pointer is null.
+       Functions with a "mv" prefix first  perform  a  cursor  movement  using
+       <STRONG>wmove</STRONG>, and return an error if the position is outside the window, or if
+       the window pointer is null.
 
 
 </PRE><H2><a name="h2-SEE-ALSO">SEE ALSO</a></H2><PRE>
-       <STRONG><A HREF="ncurses.3x.html">curses(3x)</A></STRONG>, <STRONG><A HREF="curs_addch.3x.html">curs_addch(3x)</A></STRONG>, <STRONG><A HREF="curs_addstr.3x.html">curs_addstr(3x)</A></STRONG>,
-       <STRONG><A HREF="curs_bkgd.3x.html">curs_bkgd(3x)</A></STRONG>, <STRONG><A HREF="curs_printw.3x.html">curs_printw(3x)</A></STRONG>, <STRONG><A HREF="curs_variables.3x.html">curs_variables(3x)</A></STRONG>
+       <STRONG><A HREF="ncurses.3x.html">curses(3x)</A></STRONG>, <STRONG><A HREF="curs_addch.3x.html">curs_addch(3x)</A></STRONG>, <STRONG><A HREF="curs_addstr.3x.html">curs_addstr(3x)</A></STRONG>, <STRONG><A HREF="curs_bkgd.3x.html">curs_bkgd(3x)</A></STRONG>,
+       <STRONG><A HREF="curs_printw.3x.html">curs_printw(3x)</A></STRONG>, <STRONG><A HREF="curs_variables.3x.html">curs_variables(3x)</A></STRONG>
 
 
 
-                                                          <STRONG><A HREF="curs_attr.3x.html">curs_attr(3x)</A></STRONG>
+                                                                 <STRONG><A HREF="curs_attr.3x.html">curs_attr(3x)</A></STRONG>
 </PRE>
 <div class="nav">
 <ul>
index abae4b252cb1f531a4717df41ec60b660b7afcf9..5c179201ced3015c20d33b5330ce57d5be307481 100644 (file)
@@ -40,7 +40,7 @@
 <BODY>
 <H1 class="no-header">curs_beep 3x</H1>
 <PRE>
-<STRONG><A HREF="curs_beep.3x.html">curs_beep(3x)</A></STRONG>                                             <STRONG><A HREF="curs_beep.3x.html">curs_beep(3x)</A></STRONG>
+<STRONG><A HREF="curs_beep.3x.html">curs_beep(3x)</A></STRONG>                                                    <STRONG><A HREF="curs_beep.3x.html">curs_beep(3x)</A></STRONG>
 
 
 
 
 
 </PRE><H2><a name="h2-DESCRIPTION">DESCRIPTION</a></H2><PRE>
-       The <STRONG>beep</STRONG> and <STRONG>flash</STRONG> routines are used to alert the terminal
-       user.  The routine <STRONG>beep</STRONG> sounds an  audible  alarm  on  the
-       terminal,  if  possible;  otherwise  it flashes the screen
-       (visible bell).  The routine <STRONG>flash</STRONG> flashes the screen, and
-       if  that  is  not  possible, sounds the alert.  If neither
-       alert is possible, nothing happens.  Nearly all  terminals
-       have  an  audible  alert (bell or beep), but only some can
-       flash the screen.
+       The  <STRONG>beep</STRONG>  and <STRONG>flash</STRONG> routines are used to alert the terminal user.  The
+       routine <STRONG>beep</STRONG> sounds an audible alarm on the terminal, if possible; oth-
+       erwise it flashes the screen (visible bell).  The routine <STRONG>flash</STRONG> flashes
+       the screen, and if that is not possible, sounds the alert.  If  neither
+       alert is possible, nothing happens.  Nearly all terminals have an audi-
+       ble alert (bell or beep), but only some can flash the screen.
 
 
 </PRE><H2><a name="h2-RETURN-VALUE">RETURN VALUE</a></H2><PRE>
-       These routines return <STRONG>OK</STRONG> if they  succeed  in  beeping  or
-       flashing, <STRONG>ERR</STRONG> otherwise.
+       These routines return <STRONG>OK</STRONG> if they succeed in beeping  or  flashing,  <STRONG>ERR</STRONG>
+       otherwise.
 
 
 </PRE><H2><a name="h2-EXTENSIONS">EXTENSIONS</a></H2><PRE>
-       SVr4's  beep  and flash routines always returned <STRONG>OK</STRONG>, so it
-       was not possible to tell when the beep or flash failed.
+       SVr4's beep and flash routines always returned <STRONG>OK</STRONG>, so it was not possi-
+       ble to tell when the beep or flash failed.
 
 
 </PRE><H2><a name="h2-PORTABILITY">PORTABILITY</a></H2><PRE>
-       These functions are described in the XSI Curses  standard,
-       Issue  4.  Like SVr4, it specifies that they always return
-       <STRONG>OK</STRONG>.
+       These functions are described in the  XSI  Curses  standard,  Issue  4.
+       Like SVr4, it specifies that they always return <STRONG>OK</STRONG>.
 
 
 </PRE><H2><a name="h2-SEE-ALSO">SEE ALSO</a></H2><PRE>
@@ -88,7 +85,7 @@
 
 
 
-                                                          <STRONG><A HREF="curs_beep.3x.html">curs_beep(3x)</A></STRONG>
+                                                                 <STRONG><A HREF="curs_beep.3x.html">curs_beep(3x)</A></STRONG>
 </PRE>
 <div class="nav">
 <ul>
index 81cdf90cf26111ceb7303bca27359d3f441f91d7..04e8f3212ae64573e26884df379a27867a24c41d 100644 (file)
 <BODY>
 <H1 class="no-header">curs_bkgd 3x</H1>
 <PRE>
-<STRONG><A HREF="curs_bkgd.3x.html">curs_bkgd(3x)</A></STRONG>                                             <STRONG><A HREF="curs_bkgd.3x.html">curs_bkgd(3x)</A></STRONG>
+<STRONG><A HREF="curs_bkgd.3x.html">curs_bkgd(3x)</A></STRONG>                                                    <STRONG><A HREF="curs_bkgd.3x.html">curs_bkgd(3x)</A></STRONG>
 
 
 
 
 </PRE><H2><a name="h2-NAME">NAME</a></H2><PRE>
-       <STRONG>bkgdset</STRONG>,  <STRONG>wbkgdset</STRONG>,  <STRONG>bkgd</STRONG>,  <STRONG>wbkgd</STRONG>, <STRONG>getbkgd</STRONG> - <STRONG>curses</STRONG> window
-       background manipulation routines
+       <STRONG>bkgdset</STRONG>,  <STRONG>wbkgdset</STRONG>,  <STRONG>bkgd</STRONG>,  <STRONG>wbkgd</STRONG>,  <STRONG>getbkgd</STRONG>  - <STRONG>curses</STRONG> window background
+       manipulation routines
 
 
 </PRE><H2><a name="h2-SYNOPSIS">SYNOPSIS</a></H2><PRE>
 </PRE><H2><a name="h2-DESCRIPTION">DESCRIPTION</a></H2><PRE>
 
 </PRE><H3><a name="h3-bkgdset">bkgdset</a></H3><PRE>
-       The <STRONG>bkgdset</STRONG> and <STRONG>wbkgdset</STRONG>  routines  manipulate  the  back-
-       ground  of  the  named window.  The window background is a
-       <STRONG>chtype</STRONG> consisting of any combination of attributes  (i.e.,
-       rendition)  and  a  character.   The attribute part of the
-       background is combined (OR'ed) with all non-blank  charac-
-       ters  that  are written into the window with <STRONG>waddch</STRONG>.  Both
-       the character and attribute parts of  the  background  are
-       combined   with  the  blank  characters.   The  background
-       becomes a property of the character  and  moves  with  the
-       character   through   any   scrolling   and  insert/delete
+       The <STRONG>bkgdset</STRONG> and <STRONG>wbkgdset</STRONG> routines  manipulate  the  background  of  the
+       named window.  The window background is a <STRONG>chtype</STRONG> consisting of any com-
+       bination  of  attributes  (i.e.,  rendition)  and  a  character.    The
+       attribute part of the background is combined (OR'ed) with all non-blank
+       characters that are written into the  window  with  <STRONG>waddch</STRONG>.   Both  the
+       character  and  attribute parts of the background are combined with the
+       blank characters.  The background becomes a property of  the  character
+       and  moves  with  the character through any scrolling and insert/delete
        line/character operations.
 
-       To the extent  possible  on  a  particular  terminal,  the
-       attribute  part  of  the  background  is  displayed as the
-       graphic rendition of the character put on the screen.
+       To the extent possible on a particular terminal, the attribute part  of
+       the  background  is displayed as the graphic rendition of the character
+       put on the screen.
 
 
 </PRE><H3><a name="h3-bkgd">bkgd</a></H3><PRE>
-       The <STRONG>bkgd</STRONG> and <STRONG>wbkgd</STRONG> functions set the  background  property
-       of  the  current  or  specified window and then apply this
-       setting to every character position in that window:
+       The <STRONG>bkgd</STRONG> and <STRONG>wbkgd</STRONG> functions set the background property of the current
+       or  specified  window  and  then  apply this setting to every character
+       position in that window:
 
-       <STRONG>o</STRONG>   The rendition of every  character  on  the  screen  is
-           changed to the new background rendition.
+       <STRONG>o</STRONG>   The rendition of every character on the screen is  changed  to  the
+           new background rendition.
 
-       <STRONG>o</STRONG>   Wherever  the  former background character appears, it
-           is changed to the new background character.
+       <STRONG>o</STRONG>   Wherever  the former background character appears, it is changed to
+           the new background character.
 
 
 </PRE><H3><a name="h3-getbkgd">getbkgd</a></H3><PRE>
-       The <STRONG>getbkgd</STRONG> function returns the  given  window's  current
-       background character/attribute pair.
+       The <STRONG>getbkgd</STRONG> function returns  the  given  window's  current  background
+       character/attribute pair.
 
 
 </PRE><H2><a name="h2-RETURN-VALUE">RETURN VALUE</a></H2><PRE>
-       The  routines  <STRONG>bkgd</STRONG>  and <STRONG>wbkgd</STRONG> return the integer <STRONG>OK</STRONG>.  The
-       SVr4.0 manual says "or a non-negative integer  if  <STRONG>immedok</STRONG>
-       is set", but this appears to be an error.
+       The  routines  <STRONG>bkgd</STRONG> and <STRONG>wbkgd</STRONG> return the integer <STRONG>OK</STRONG>.  The SVr4.0 manual
+       says "or a non-negative integer if <STRONG>immedok</STRONG> is set", but this appears to
+       be an error.
 
 
 </PRE><H2><a name="h2-NOTES">NOTES</a></H2><PRE>
 
 
 </PRE><H2><a name="h2-PORTABILITY">PORTABILITY</a></H2><PRE>
-       These  functions are described in the XSI Curses standard,
-       Issue 4.  It specifies that <STRONG>bkgd</STRONG> and <STRONG>wbkgd</STRONG> return  <STRONG>ERR</STRONG>  on
-       failure, but gives no failure conditions.
+       These  functions are described in the XSI Curses standard, Issue 4.  It
+       specifies that <STRONG>bkgd</STRONG> and <STRONG>wbkgd</STRONG> return <STRONG>ERR</STRONG> on failure, but gives no fail-
+       ure conditions.
 
 
 </PRE><H2><a name="h2-SEE-ALSO">SEE ALSO</a></H2><PRE>
-       <STRONG><A HREF="ncurses.3x.html">curses(3x)</A></STRONG>, <STRONG><A HREF="curs_addch.3x.html">curs_addch(3x)</A></STRONG>, <STRONG><A HREF="curs_attr.3x.html">curs_attr(3x)</A></STRONG>, <STRONG>curs_out-</STRONG>
-       <STRONG><A HREF="curs_outopts.3x.html">opts(3x)</A></STRONG>
+       <STRONG><A HREF="ncurses.3x.html">curses(3x)</A></STRONG>, <STRONG><A HREF="curs_addch.3x.html">curs_addch(3x)</A></STRONG>, <STRONG><A HREF="curs_attr.3x.html">curs_attr(3x)</A></STRONG>, <STRONG><A HREF="curs_outopts.3x.html">curs_outopts(3x)</A></STRONG>
 
 
 
-                                                          <STRONG><A HREF="curs_bkgd.3x.html">curs_bkgd(3x)</A></STRONG>
+                                                                 <STRONG><A HREF="curs_bkgd.3x.html">curs_bkgd(3x)</A></STRONG>
 </PRE>
 <div class="nav">
 <ul>
index e4b0143d42a66b138ddd5402a0219b61471a63ea..75dc74a4b87e5438365f6ef0834e9a45d51b24f0 100644 (file)
 <BODY>
 <H1 class="no-header">curs_bkgrnd 3x</H1>
 <PRE>
-<STRONG><A HREF="curs_bkgrnd.3x.html">curs_bkgrnd(3x)</A></STRONG>                                         <STRONG><A HREF="curs_bkgrnd.3x.html">curs_bkgrnd(3x)</A></STRONG>
+<STRONG><A HREF="curs_bkgrnd.3x.html">curs_bkgrnd(3x)</A></STRONG>                                                <STRONG><A HREF="curs_bkgrnd.3x.html">curs_bkgrnd(3x)</A></STRONG>
 
 
 
 
 </PRE><H2><a name="h2-NAME">NAME</a></H2><PRE>
-       <STRONG>bkgrnd</STRONG>,  <STRONG>wbkgrnd</STRONG>,  <STRONG>bkgrndset</STRONG>, <STRONG>wbkgrndset</STRONG>, <STRONG>getbkgrnd</STRONG>, <STRONG>wget-</STRONG>
-       <STRONG>bkgrnd</STRONG> - <STRONG>curses</STRONG>  window  complex  background  manipulation
-       routines
+       <STRONG>bkgrnd</STRONG>,  <STRONG>wbkgrnd</STRONG>, <STRONG>bkgrndset</STRONG>, <STRONG>wbkgrndset</STRONG>, <STRONG>getbkgrnd</STRONG>, <STRONG>wgetbkgrnd</STRONG> - <STRONG>curses</STRONG>
+       window complex background manipulation routines
 
 
 </PRE><H2><a name="h2-SYNOPSIS">SYNOPSIS</a></H2><PRE>
 </PRE><H2><a name="h2-DESCRIPTION">DESCRIPTION</a></H2><PRE>
 
 </PRE><H3><a name="h3-bkgrndset">bkgrndset</a></H3><PRE>
-       The <STRONG>bkgrndset</STRONG> and <STRONG>wbkgrndset</STRONG> routines manipulate the back-
-       ground of the named window.  The window  background  is  a
-       <STRONG>cchar_t</STRONG> consisting of any combination of attributes (i.e.,
-       rendition) and a complex character.  The attribute part of
-       the  background  is  combined  (OR'ed)  with all non-blank
-       characters that are written into the window  with  <STRONG>waddch</STRONG>.
-       Both  the  character and attribute parts of the background
-       are combined with the blank  characters.   The  background
-       becomes  a  property  of  the character and moves with the
-       character  through   any   scrolling   and   insert/delete
-       line/character operations.
-
-       To  the  extent  possible  on  a  particular terminal, the
-       attribute part of  the  background  is  displayed  as  the
-       graphic rendition of the character put on the screen.
+       The <STRONG>bkgrndset</STRONG> and <STRONG>wbkgrndset</STRONG> routines manipulate the background of  the
+       named  window.   The  window  background is a <STRONG>cchar_t</STRONG> consisting of any
+       combination of attributes (i.e., rendition) and  a  complex  character.
+       The  attribute part of the background is combined (OR'ed) with all non-
+       blank characters that are written into the window  with  <STRONG>waddch</STRONG>.   Both
+       the  character  and attribute parts of the background are combined with
+       the blank characters.  The background becomes a property of the charac-
+       ter   and   moves   with   the  character  through  any  scrolling  and
+       insert/delete line/character operations.
+
+       To the extent possible on a particular terminal, the attribute part  of
+       the  background  is displayed as the graphic rendition of the character
+       put on the screen.
 
 
 </PRE><H3><a name="h3-bkgrnd">bkgrnd</a></H3><PRE>
-       The  <STRONG>bkgrnd</STRONG> and <STRONG>wbkgrnd</STRONG> functions set the background prop-
-       erty of the current or specified  window  and  then  apply
-       this setting to every character position in that window:
+       The <STRONG>bkgrnd</STRONG> and <STRONG>wbkgrnd</STRONG> functions set the  background  property  of  the
+       current  or specified window and then apply this setting to every char-
+       acter position in that window:
 
-       <STRONG>o</STRONG>   The  rendition  of  every  character  on the screen is
-           changed to the new background rendition.
+       <STRONG>o</STRONG>   The rendition of every character on the screen is  changed  to  the
+           new background rendition.
 
-       <STRONG>o</STRONG>   Wherever the former background character  appears,  it
-           is changed to the new background character.
+       <STRONG>o</STRONG>   Wherever  the former background character appears, it is changed to
+           the new background character.
 
 
 </PRE><H3><a name="h3-getbkgrnd">getbkgrnd</a></H3><PRE>
-       The  <STRONG>getbkgrnd</STRONG> function returns the given window's current
-       background character/attribute pair via the  <STRONG>wch</STRONG>  pointer.
-       If  the given window pointer is null, the character is not
-       updated (but no error returned).
+       The <STRONG>getbkgrnd</STRONG> function returns the given  window's  current  background
+       character/attribute  pair  via  the  <STRONG>wch</STRONG>  pointer.  If the given window
+       pointer is null, the character is not updated (but no error returned).
 
 
 </PRE><H2><a name="h2-NOTES">NOTES</a></H2><PRE>
 
 
 </PRE><H2><a name="h2-RETURN-VALUE">RETURN VALUE</a></H2><PRE>
-       The <STRONG>bkgrndset</STRONG> and <STRONG>wbkgrndset</STRONG>  routines  do  not  return  a
-       value.
+       The <STRONG>bkgrndset</STRONG> and <STRONG>wbkgrndset</STRONG> routines do not return a value.
 
-       Upon successful completion, the other functions return <STRONG>OK</STRONG>.
-       Otherwise, they return <STRONG>ERR</STRONG>:
+       Upon successful completion, the other functions return <STRONG>OK</STRONG>.   Otherwise,
+       they return <STRONG>ERR</STRONG>:
 
        <STRONG>o</STRONG>   A null window pointer is treated as an error.
 
 
 
 
-                                                        <STRONG><A HREF="curs_bkgrnd.3x.html">curs_bkgrnd(3x)</A></STRONG>
+                                                               <STRONG><A HREF="curs_bkgrnd.3x.html">curs_bkgrnd(3x)</A></STRONG>
 </PRE>
 <div class="nav">
 <ul>
index 39dc9726198bc0c18e1d8af50c04829aed1bd1e2..154de3731b96503f1f674e8d9a1fe35e1825b014 100644 (file)
 <BODY>
 <H1 class="no-header">curs_border 3x</H1>
 <PRE>
-<STRONG><A HREF="curs_border.3x.html">curs_border(3x)</A></STRONG>                                         <STRONG><A HREF="curs_border.3x.html">curs_border(3x)</A></STRONG>
+<STRONG><A HREF="curs_border.3x.html">curs_border(3x)</A></STRONG>                                                <STRONG><A HREF="curs_border.3x.html">curs_border(3x)</A></STRONG>
 
 
 
 
 </PRE><H2><a name="h2-NAME">NAME</a></H2><PRE>
-       <STRONG>border</STRONG>, <STRONG>wborder</STRONG>, <STRONG>box</STRONG>, <STRONG>hline</STRONG>, <STRONG>whline</STRONG>, <STRONG>vline</STRONG>, <STRONG>wvline</STRONG>,
-       <STRONG>mvhline</STRONG>, <STRONG>mvwhline</STRONG>, <STRONG>mvvline</STRONG>, <STRONG>mvwvline</STRONG> - create <STRONG>curses</STRONG>
-       borders, horizontal and vertical lines
+       <STRONG>border</STRONG>, <STRONG>wborder</STRONG>, <STRONG>box</STRONG>, <STRONG>hline</STRONG>, <STRONG>whline</STRONG>, <STRONG>vline</STRONG>, <STRONG>wvline</STRONG>, <STRONG>mvhline</STRONG>, <STRONG>mvwhline</STRONG>,
+       <STRONG>mvvline</STRONG>, <STRONG>mvwvline</STRONG> - create <STRONG>curses</STRONG> borders, horizontal and vertical
+       lines
 
 
 </PRE><H2><a name="h2-SYNOPSIS">SYNOPSIS</a></H2><PRE>
@@ -70,9 +70,9 @@
 
 
 </PRE><H2><a name="h2-DESCRIPTION">DESCRIPTION</a></H2><PRE>
-       The <STRONG>border</STRONG>, <STRONG>wborder</STRONG> and <STRONG>box</STRONG> routines draw a box around the
-       edges of a window.  Other than the window,  each  argument
-       is a character with attributes:
+       The  <STRONG>border</STRONG>,  <STRONG>wborder</STRONG> and <STRONG>box</STRONG> routines draw a box around the edges of a
+       window.  Other than the window, each argument is a character  with  at-
+       tributes:
 
               <EM>ls</EM> - left side,
               <EM>rs</EM> - right side,
@@ -83,8 +83,8 @@
               <EM>bl</EM> - bottom left-hand corner, and
               <EM>br</EM> - bottom right-hand corner.
 
-       If  any of these arguments is zero, then the corresponding
-       default values (defined in <STRONG>curses.h</STRONG>) are used instead:
+       If  any of these arguments is zero, then the corresponding default val-
+       ues (defined in <STRONG>curses.h</STRONG>) are used instead:
 
               <STRONG>ACS_VLINE</STRONG>,
               <STRONG>ACS_VLINE</STRONG>,
               <STRONG>ACS_LLCORNER</STRONG>,
               <STRONG>ACS_LRCORNER</STRONG>.
 
-       <STRONG>box(</STRONG><EM>win</EM><STRONG>,</STRONG> <EM>verch</EM><STRONG>,</STRONG> <EM>horch</EM><STRONG>)</STRONG> is a shorthand  for  the  following
-       call:  <STRONG>wborder(</STRONG><EM>win</EM><STRONG>,</STRONG>  <EM>verch</EM><STRONG>,</STRONG>  <EM>verch</EM><STRONG>,</STRONG> <EM>horch</EM><STRONG>,</STRONG> <EM>horch</EM><STRONG>,</STRONG> <STRONG>0,</STRONG> <STRONG>0,</STRONG> <STRONG>0,</STRONG>
-       <STRONG>0)</STRONG>.
+       <STRONG>box(</STRONG><EM>win</EM><STRONG>,</STRONG> <EM>verch</EM><STRONG>,</STRONG> <EM>horch</EM><STRONG>)</STRONG> is a shorthand for  the  following  call:  <STRONG>wbor-</STRONG>
+       <STRONG>der(</STRONG><EM>win</EM><STRONG>,</STRONG> <EM>verch</EM><STRONG>,</STRONG> <EM>verch</EM><STRONG>,</STRONG> <EM>horch</EM><STRONG>,</STRONG> <EM>horch</EM><STRONG>,</STRONG> <STRONG>0,</STRONG> <STRONG>0,</STRONG> <STRONG>0,</STRONG> <STRONG>0)</STRONG>.
 
-       The <STRONG>hline</STRONG> and <STRONG>whline</STRONG> functions draw a horizontal (left  to
-       right)  line using <EM>ch</EM> starting at the current cursor posi-
-       tion in the window.  The current cursor  position  is  not
-       changed.   The  line  is  at most <EM>n</EM> characters long, or as
-       many as fit into the window.
+       The  <STRONG>hline</STRONG>  and <STRONG>whline</STRONG> functions draw a horizontal (left to right) line
+       using <EM>ch</EM> starting at the current cursor position in  the  window.   The
+       current  cursor position is not changed.  The line is at most <EM>n</EM> charac-
+       ters long, or as many as fit into the window.
 
-       The <STRONG>vline</STRONG> and <STRONG>wvline</STRONG> functions draw  a  vertical  (top  to
-       bottom) line using <EM>ch</EM> starting at the current cursor posi-
-       tion in the window.  The current cursor  position  is  not
-       changed.   The  line  is  at most <EM>n</EM> characters long, or as
-       many as fit into the window.
+       The <STRONG>vline</STRONG> and <STRONG>wvline</STRONG> functions draw a vertical (top to bottom) line us-
+       ing <EM>ch</EM> starting at the current cursor position in the window.  The cur-
+       rent cursor position is not changed.  The line is at most <EM>n</EM>  characters
+       long, or as many as fit into the window.
 
 
 </PRE><H2><a name="h2-RETURN-VALUE">RETURN VALUE</a></H2><PRE>
-       All routines return the integer  <STRONG>OK</STRONG>.   The  SVr4.0  manual
-       says  "or  a  non-negative integer if <STRONG>immedok</STRONG> is set", but
-       this appears to be an error.
+       All  routines return the integer <STRONG>OK</STRONG>.  The SVr4.0 manual says "or a non-
+       negative integer if <STRONG>immedok</STRONG> is set", but this appears to be an error.
 
-       X/Open does not define any error conditions.  This  imple-
-       mentation returns an error if the window pointer is null.
+       X/Open does not define any error conditions.  This  implementation  re-
+       turns an error if the window pointer is null.
 
-       Functions  with a "mv" prefix first perform a cursor move-
-       ment using <STRONG>wmove</STRONG>, and return an error if the  position  is
-       outside the window, or if the window pointer is null.
+       Functions  with  a  "mv"  prefix  first perform a cursor movement using
+       <STRONG>wmove</STRONG>, and return an error if the position is outside the window, or if
+       the window pointer is null.
 
 
 </PRE><H2><a name="h2-NOTES">NOTES</a></H2><PRE>
-       The  borders  generated by these functions are <EM>inside</EM> bor-
-       ders (this is also true of SVr4 curses, though the fact is
-       not documented).
+       The  borders  generated  by these functions are <EM>inside</EM> borders (this is
+       also true of SVr4 curses, though the fact is not documented).
 
        Note that <STRONG>border</STRONG> and <STRONG>box</STRONG> may be macros.
 
 
 </PRE><H2><a name="h2-PORTABILITY">PORTABILITY</a></H2><PRE>
-       These  functions are described in the XSI Curses standard,
-       Issue 4.  The standard specifies that they return  <STRONG>ERR</STRONG>  on
-       failure, but specifies no error conditions.
+       These functions are described in the XSI Curses standard, Issue 4.  The
+       standard  specifies  that  they return <STRONG>ERR</STRONG> on failure, but specifies no
+       error conditions.
 
 
 </PRE><H2><a name="h2-SEE-ALSO">SEE ALSO</a></H2><PRE>
 
 
 
-                                                        <STRONG><A HREF="curs_border.3x.html">curs_border(3x)</A></STRONG>
+                                                               <STRONG><A HREF="curs_border.3x.html">curs_border(3x)</A></STRONG>
 </PRE>
 <div class="nav">
 <ul>
index 6b4ba5e87e404c342ba152d4ec0100d12b9bdf4f..06b9494b2cb849fcb698c12a5deaef8f42fd9ec1 100644 (file)
 <BODY>
 <H1 class="no-header">curs_border_set 3x</H1>
 <PRE>
-<STRONG><A HREF="curs_border_set.3x.html">curs_border_set(3x)</A></STRONG>                                 <STRONG><A HREF="curs_border_set.3x.html">curs_border_set(3x)</A></STRONG>
+<STRONG><A HREF="curs_border_set.3x.html">curs_border_set(3x)</A></STRONG>                                        <STRONG><A HREF="curs_border_set.3x.html">curs_border_set(3x)</A></STRONG>
 
 
 
 
 </PRE><H2><a name="h2-NAME">NAME</a></H2><PRE>
-       <STRONG>border_set</STRONG>, <STRONG>wborder_set</STRONG>, <STRONG>box_set</STRONG>, <STRONG>hline_set</STRONG>, <STRONG>whline_set</STRONG>,
-       <STRONG>mvhline_set</STRONG>, <STRONG>mvwhline_set</STRONG>, <STRONG>vline_set</STRONG>, <STRONG>wvline_set</STRONG>,
-       <STRONG>mvvline_set</STRONG>, <STRONG>mvwvline_set</STRONG> - create <STRONG>curses</STRONG> borders or lines
-       using complex characters and renditions
+       <STRONG>border_set</STRONG>, <STRONG>wborder_set</STRONG>, <STRONG>box_set</STRONG>, <STRONG>hline_set</STRONG>, <STRONG>whline_set</STRONG>, <STRONG>mvhline_set</STRONG>,
+       <STRONG>mvwhline_set</STRONG>, <STRONG>vline_set</STRONG>, <STRONG>wvline_set</STRONG>, <STRONG>mvvline_set</STRONG>, <STRONG>mvwvline_set</STRONG> - create
+       <STRONG>curses</STRONG> borders or lines using complex characters and renditions
 
 
 </PRE><H2><a name="h2-SYNOPSIS">SYNOPSIS</a></H2><PRE>
 
 
 </PRE><H2><a name="h2-DESCRIPTION">DESCRIPTION</a></H2><PRE>
-       The <STRONG>border_set</STRONG> and <STRONG>wborder_set</STRONG>  functions  draw  a  border
-       around  the  edges  of  the  current  or specified window.
-       These functions do not change the cursor position, and  do
-       not wrap.
+       The <STRONG>border_set</STRONG> and <STRONG>wborder_set</STRONG> functions draw a border around the edges
+       of the current or specified window.  These functions do not change  the
+       cursor position, and do not wrap.
 
-       Other  than the window, each argument is a complex charac-
-       ter with attributes:
+       Other  than  the  window, each argument is a complex character with at-
+       tributes:
               <EM>ls</EM> - left side,
               <EM>rs</EM> - right side,
               <EM>ts</EM> - top side,
               <EM>bl</EM> - bottom left-hand corner, and
               <EM>br</EM> - bottom right-hand corner.
 
-       If any of these arguments is zero, then the  corresponding
-       default values (defined in <STRONG>curses.h</STRONG>) are used instead:
+       If any of these arguments is zero, then the corresponding default  val-
+       ues (defined in <STRONG>curses.h</STRONG>) are used instead:
               <STRONG>WACS_VLINE</STRONG>,
               <STRONG>WACS_VLINE</STRONG>,
               <STRONG>WACS_HLINE</STRONG>,
               <STRONG>WACS_LLCORNER</STRONG>, and
               <STRONG>WACS_LRCORNER</STRONG>.
 
-       <STRONG>box_set(</STRONG><EM>win</EM>, <EM>verch</EM><STRONG>,</STRONG> <EM>horch</EM><STRONG>);</STRONG> is a shorthand for the follow-
-       ing call:
+       <STRONG>box_set(</STRONG><EM>win</EM>, <EM>verch</EM><STRONG>,</STRONG> <EM>horch</EM><STRONG>);</STRONG> is a shorthand for the following call:
 
        <STRONG>wborder_set(</STRONG><EM>win</EM><STRONG>,</STRONG> <EM>verch</EM><STRONG>,</STRONG> <EM>verch</EM><STRONG>,</STRONG>
            <EM>horch</EM><STRONG>,</STRONG> <EM>horch</EM><STRONG>,</STRONG> <STRONG>NULL,</STRONG> <STRONG>NULL,</STRONG> <STRONG>NULL,</STRONG> <STRONG>NULL);</STRONG>
 
-       The <STRONG>*line_set</STRONG> functions use <EM>wch</EM> to draw a line starting at
-       the current cursor position in the window.  The line is at
-       most <EM>n</EM> characters long or as many as fit into the  window.
-       The current cursor position is not changed.
+       The  <STRONG>*line_set</STRONG> functions use <EM>wch</EM> to draw a line starting at the current
+       cursor position in the window.  The line is at most <EM>n</EM>  characters  long
+       or  as many as fit into the window.  The current cursor position is not
+       changed.
 
-       The  <STRONG>hline_set</STRONG>,  <STRONG>mvhline_set</STRONG>, <STRONG>mvwhline_set</STRONG>, and <STRONG>whline_set</STRONG>
-       functions draw a line proceeding toward the last column of
-       the same line.
+       The <STRONG>hline_set</STRONG>, <STRONG>mvhline_set</STRONG>, <STRONG>mvwhline_set</STRONG>, and <STRONG>whline_set</STRONG> functions draw
+       a line proceeding toward the last column of the same line.
 
-       The  <STRONG>vline_set</STRONG>,  <STRONG>mvvline_set</STRONG>, <STRONG>mvwvline_set</STRONG>, and <STRONG>wvline_set</STRONG>
-       functions draw a line proceeding toward the last  line  of
-       the window.
+       The <STRONG>vline_set</STRONG>, <STRONG>mvvline_set</STRONG>, <STRONG>mvwvline_set</STRONG>, and <STRONG>wvline_set</STRONG> functions draw
+       a line proceeding toward the last line of the window.
 
 
 </PRE><H2><a name="h2-NOTES">NOTES</a></H2><PRE>
-       Note that <STRONG>border_set</STRONG>, <STRONG>hline_set</STRONG>, <STRONG>mvhline_set</STRONG>, <STRONG>mvvline_set</STRONG>,
-       <STRONG>mvwhline_set</STRONG>, <STRONG>mvwvline_set</STRONG>, and <STRONG>vline_set</STRONG> may be macros.
+       Note  that  <STRONG>border_set</STRONG>,  <STRONG>hline_set</STRONG>,  <STRONG>mvhline_set</STRONG>,  <STRONG>mvvline_set</STRONG>,   <STRONG>mvwh-</STRONG>
+       <STRONG>line_set</STRONG>, <STRONG>mvwvline_set</STRONG>, and <STRONG>vline_set</STRONG> may be macros.
 
 
 </PRE><H2><a name="h2-RETURN-VALUE">RETURN VALUE</a></H2><PRE>
-       Upon successful completion,  these  functions  return  <STRONG>OK</STRONG>.
-       Otherwise, they return <STRONG>ERR</STRONG>.
+       Upon successful completion, these functions return <STRONG>OK</STRONG>.  Otherwise, they
+       return <STRONG>ERR</STRONG>.
 
-       Functions  using  a window parameter return an error if it
-       is null.
+       Functions using a window parameter return an error if it is null.
 
-       Functions with a "mv" prefix first perform a cursor  move-
-       ment  using  <STRONG>wmove</STRONG>, and return an error if the position is
-       outside the window, or if the window pointer is null.
+       Functions with a "mv" prefix first  perform  a  cursor  movement  using
+       <STRONG>wmove</STRONG>, and return an error if the position is outside the window, or if
+       the window pointer is null.
 
 
 </PRE><H2><a name="h2-SEE-ALSO">SEE ALSO</a></H2><PRE>
-       <STRONG><A HREF="ncurses.3x.html">ncurses(3x)</A></STRONG>, <STRONG><A HREF="curs_add_wch.3x.html">curs_add_wch(3x)</A></STRONG>, <STRONG><A HREF="curs_border.3x.html">curs_border(3x)</A></STRONG>,  <STRONG>curs_out-</STRONG>
-       <STRONG><A HREF="curs_outopts.3x.html">opts(3x)</A></STRONG>
+       <STRONG><A HREF="ncurses.3x.html">ncurses(3x)</A></STRONG>, <STRONG><A HREF="curs_add_wch.3x.html">curs_add_wch(3x)</A></STRONG>, <STRONG><A HREF="curs_border.3x.html">curs_border(3x)</A></STRONG>, <STRONG><A HREF="curs_outopts.3x.html">curs_outopts(3x)</A></STRONG>
 
 
 
-                                                    <STRONG><A HREF="curs_border_set.3x.html">curs_border_set(3x)</A></STRONG>
+                                                           <STRONG><A HREF="curs_border_set.3x.html">curs_border_set(3x)</A></STRONG>
 </PRE>
 <div class="nav">
 <ul>
index 237d4a27c4548cc3eeb512623b2c944f1a0b4e4d..28de850de44903355e78bc9e57102b1c1bff7170 100644 (file)
 <BODY>
 <H1 class="no-header">curs_clear 3x</H1>
 <PRE>
-<STRONG><A HREF="curs_clear.3x.html">curs_clear(3x)</A></STRONG>                                           <STRONG><A HREF="curs_clear.3x.html">curs_clear(3x)</A></STRONG>
+<STRONG><A HREF="curs_clear.3x.html">curs_clear(3x)</A></STRONG>                                                  <STRONG><A HREF="curs_clear.3x.html">curs_clear(3x)</A></STRONG>
 
 
 
 
 </PRE><H2><a name="h2-NAME">NAME</a></H2><PRE>
-       <STRONG>erase</STRONG>, <STRONG>werase</STRONG>, <STRONG>clear</STRONG>, <STRONG>wclear</STRONG>, <STRONG>clrtobot</STRONG>, <STRONG>wclrtobot</STRONG>,
-       <STRONG>clrtoeol</STRONG>, <STRONG>wclrtoeol</STRONG> - clear all or part of a <STRONG>curses</STRONG> window
+       <STRONG>erase</STRONG>, <STRONG>werase</STRONG>, <STRONG>clear</STRONG>, <STRONG>wclear</STRONG>, <STRONG>clrtobot</STRONG>, <STRONG>wclrtobot</STRONG>, <STRONG>clrtoeol</STRONG>, <STRONG>wclrtoeol</STRONG>
+       - clear all or part of a <STRONG>curses</STRONG> window
 
 
 </PRE><H2><a name="h2-SYNOPSIS">SYNOPSIS</a></H2><PRE>
 
 
 </PRE><H2><a name="h2-DESCRIPTION">DESCRIPTION</a></H2><PRE>
-       The <STRONG>erase</STRONG> and <STRONG>werase</STRONG> routines copy blanks to  every  posi-
-       tion in the window, clearing the screen.
+       The <STRONG>erase</STRONG> and <STRONG>werase</STRONG> routines copy blanks to every position in the win-
+       dow, clearing the screen.
 
-       The  <STRONG>clear</STRONG>  and <STRONG>wclear</STRONG> routines are like <STRONG>erase</STRONG> and <STRONG>werase</STRONG>,
-       but they also call <STRONG>clearok</STRONG>, so that the screen is  cleared
-       completely  on  the  next call to <STRONG>wrefresh</STRONG> for that window
-       and repainted from scratch.
+       The  <STRONG>clear</STRONG> and <STRONG>wclear</STRONG> routines are like <STRONG>erase</STRONG> and <STRONG>werase</STRONG>, but they also
+       call <STRONG>clearok</STRONG>, so that the screen is cleared completely on the next call
+       to <STRONG>wrefresh</STRONG> for that window and repainted from scratch.
 
-       The <STRONG>clrtobot</STRONG> and <STRONG>wclrtobot</STRONG> routines erase from the  cursor
-       to the end of screen.  That is, they erase all lines below
-       the cursor in the window.  Also, the current line  to  the
-       right of the cursor, inclusive, is erased.
+       The <STRONG>clrtobot</STRONG> and <STRONG>wclrtobot</STRONG> routines erase from the cursor to the end of
+       screen.  That is, they erase all lines below the cursor in the  window.
+       Also,  the  current  line  to  the  right  of the cursor, inclusive, is
+       erased.
 
-       The <STRONG>clrtoeol</STRONG> and <STRONG>wclrtoeol</STRONG> routines erase the current line
-       to the right of the cursor, inclusive, to the end  of  the
-       current line.
+       The <STRONG>clrtoeol</STRONG> and <STRONG>wclrtoeol</STRONG> routines erase the current line to the right
+       of the cursor, inclusive, to the end of the current line.
 
-       Blanks created by erasure have the current background ren-
-       dition (as set by <STRONG>wbkgdset</STRONG>) merged into them.
+       Blanks created by erasure have the current background rendition (as set
+       by <STRONG>wbkgdset</STRONG>) merged into them.
 
 
 </PRE><H2><a name="h2-RETURN-VALUE">RETURN VALUE</a></H2><PRE>
-       All routines return the integer <STRONG>OK</STRONG> on success and  <STRONG>ERR</STRONG>  on
-       failure.   The SVr4.0 manual says "or a non-negative inte-
-       ger if <STRONG>immedok</STRONG> is set", but this appears to be an error.
+       All routines return the integer <STRONG>OK</STRONG> on success and <STRONG>ERR</STRONG> on failure.   The
+       SVr4.0  manual  says "or a non-negative integer if <STRONG>immedok</STRONG> is set", but
+       this appears to be an error.
 
-       X/Open defines no error conditions.  In  this  implementa-
-       tion, functions using a window pointer parameter return an
-       error if it is null.
+       X/Open defines no error conditions.  In this implementation,  functions
+       using a window pointer parameter return an error if it is null.
 
 
 </PRE><H2><a name="h2-NOTES">NOTES</a></H2><PRE>
-       Note that <STRONG>erase</STRONG>, <STRONG>werase</STRONG>, <STRONG>clear</STRONG>, <STRONG>wclear</STRONG>, <STRONG>clrtobot</STRONG>, and <STRONG>clr-</STRONG>
-       <STRONG>toeol</STRONG> may be macros.
+       Note  that  <STRONG>erase</STRONG>, <STRONG>werase</STRONG>, <STRONG>clear</STRONG>, <STRONG>wclear</STRONG>, <STRONG>clrtobot</STRONG>, and <STRONG>clrtoeol</STRONG> may be
+       macros.
 
 
 </PRE><H2><a name="h2-PORTABILITY">PORTABILITY</a></H2><PRE>
-       These  functions are described in the XSI Curses standard,
-       Issue 4.  The standard specifies that they return  <STRONG>ERR</STRONG>  on
-       failure, but specifies no error conditions.
+       These functions are described in the XSI Curses standard, Issue 4.  The
+       standard  specifies  that  they return <STRONG>ERR</STRONG> on failure, but specifies no
+       error conditions.
 
-       Some  historic  curses  implementations had, as an undocu-
-       mented feature,  the  ability  to  do  the  equivalent  of
-       <STRONG>clearok(...,</STRONG>  <STRONG>1)</STRONG>  by saying <STRONG>touchwin(stdscr)</STRONG> or <STRONG>clear(std-</STRONG>
-       <STRONG>scr)</STRONG>.  This will not work under ncurses.
+       Some historic curses implementations had, as an  undocumented  feature,
+       the  ability  to  do the equivalent of <STRONG>clearok(...,</STRONG> <STRONG>1)</STRONG> by saying <STRONG>touch-</STRONG>
+       <STRONG>win(stdscr)</STRONG> or <STRONG>clear(stdscr)</STRONG>.  This will not work under ncurses.
 
-       This implementation, and others such as Solaris, sets  the
-       current  position  to  0,0  after  erasing  via <STRONG>werase</STRONG> and
-       <STRONG>wclear</STRONG>.  That fact is not documented in other  implementa-
-       tions,  and  may not be true of implementations which were
-       not derived from SVr4 source.
+       This implementation, and others such as Solaris, sets the current posi-
+       tion to 0,0 after erasing via <STRONG>werase</STRONG> and <STRONG>wclear</STRONG>.  That fact is not doc-
+       umented in other implementations, and may not be  true  of  implementa-
+       tions which were not derived from SVr4 source.
 
-       Not obvious from  the  description,  most  implementations
-       clear  the screen after <STRONG>wclear</STRONG> even for a subwindow or de-
-       rived window.  If you do not want to clear the screen dur-
-       ing the next <STRONG>wrefresh</STRONG>, use <STRONG>werase</STRONG> instead.
+       Not obvious from the description, most implementations clear the screen
+       after <STRONG>wclear</STRONG> even for a subwindow or derived window.   If  you  do  not
+       want to clear the screen during the next <STRONG>wrefresh</STRONG>, use <STRONG>werase</STRONG> instead.
 
 
 </PRE><H2><a name="h2-SEE-ALSO">SEE ALSO</a></H2><PRE>
-       <STRONG><A HREF="ncurses.3x.html">curses(3x)</A></STRONG>, <STRONG><A HREF="curs_outopts.3x.html">curs_outopts(3x)</A></STRONG>, <STRONG><A HREF="curs_refresh.3x.html">curs_refresh(3x)</A></STRONG>, <STRONG>curs_vari-</STRONG>
-       <STRONG><A HREF="curs_variables.3x.html">ables(3x)</A></STRONG>
+       <STRONG><A HREF="ncurses.3x.html">curses(3x)</A></STRONG>, <STRONG><A HREF="curs_outopts.3x.html">curs_outopts(3x)</A></STRONG>, <STRONG><A HREF="curs_refresh.3x.html">curs_refresh(3x)</A></STRONG>, <STRONG><A HREF="curs_variables.3x.html">curs_variables(3x)</A></STRONG>
 
 
 
-                                                         <STRONG><A HREF="curs_clear.3x.html">curs_clear(3x)</A></STRONG>
+                                                                <STRONG><A HREF="curs_clear.3x.html">curs_clear(3x)</A></STRONG>
 </PRE>
 <div class="nav">
 <ul>
index bab33b328c15d3f8d2d0aa4c86ba319188932f52..dadd9a1ad900f884c78ebdefa05d29a9554153df 100644 (file)
 <BODY>
 <H1 class="no-header">curs_color 3x</H1>
 <PRE>
-<STRONG><A HREF="curs_color.3x.html">curs_color(3x)</A></STRONG>                                           <STRONG><A HREF="curs_color.3x.html">curs_color(3x)</A></STRONG>
+<STRONG><A HREF="curs_color.3x.html">curs_color(3x)</A></STRONG>                                                  <STRONG><A HREF="curs_color.3x.html">curs_color(3x)</A></STRONG>
 
 
 
 
 </PRE><H2><a name="h2-NAME">NAME</a></H2><PRE>
-       <STRONG>start_color</STRONG>, <STRONG>has_colors</STRONG>, <STRONG>can_change_color</STRONG>, <STRONG>init_pair</STRONG>,
-       <STRONG>init_color</STRONG>, <STRONG>color_content</STRONG>, <STRONG>pair_content</STRONG>, <STRONG>COLOR_PAIR</STRONG>,
-       <STRONG>PAIR_NUMBER</STRONG> - <STRONG>curses</STRONG> color manipulation routines
+       <STRONG>start_color</STRONG>, <STRONG>has_colors</STRONG>, <STRONG>can_change_color</STRONG>, <STRONG>init_pair</STRONG>, <STRONG>init_color</STRONG>,
+       <STRONG>color_content</STRONG>, <STRONG>pair_content</STRONG>, <STRONG>COLOR_PAIR</STRONG>, <STRONG>PAIR_NUMBER</STRONG> - <STRONG>curses</STRONG> color
+       manipulation routines
 
 
 </PRE><H2><a name="h2-SYNOPSIS">SYNOPSIS</a></H2><PRE>
        <STRONG>int</STRONG> <STRONG>init_extended_pair(int</STRONG> <STRONG>pair,</STRONG> <STRONG>int</STRONG> <STRONG>f,</STRONG> <STRONG>int</STRONG> <STRONG>b);</STRONG>
        <STRONG>int</STRONG> <STRONG>init_extended_color(int</STRONG> <STRONG>color,</STRONG> <STRONG>int</STRONG> <STRONG>r,</STRONG> <STRONG>int</STRONG> <STRONG>g,</STRONG> <STRONG>int</STRONG> <STRONG>b);</STRONG>
 
-       <STRONG>int</STRONG>  <STRONG>color_content(short</STRONG>  <STRONG>color,</STRONG> <STRONG>short</STRONG> <STRONG>*r,</STRONG> <STRONG>short</STRONG> <STRONG>*g,</STRONG> <STRONG>short</STRONG>
-       <STRONG>*b);</STRONG>
+       <STRONG>int</STRONG> <STRONG>color_content(short</STRONG> <STRONG>color,</STRONG> <STRONG>short</STRONG> <STRONG>*r,</STRONG> <STRONG>short</STRONG> <STRONG>*g,</STRONG> <STRONG>short</STRONG> <STRONG>*b);</STRONG>
        <STRONG>int</STRONG> <STRONG>pair_content(short</STRONG> <STRONG>pair,</STRONG> <STRONG>short</STRONG> <STRONG>*f,</STRONG> <STRONG>short</STRONG> <STRONG>*b);</STRONG>
        /* extensions */
-       <STRONG>int</STRONG> <STRONG>extended_color_content(int</STRONG> <STRONG>color,</STRONG> <STRONG>int</STRONG> <STRONG>*r,</STRONG> <STRONG>int</STRONG> <STRONG>*g,</STRONG>  <STRONG>int</STRONG>
-       <STRONG>*b);</STRONG>
+       <STRONG>int</STRONG> <STRONG>extended_color_content(int</STRONG> <STRONG>color,</STRONG> <STRONG>int</STRONG> <STRONG>*r,</STRONG> <STRONG>int</STRONG> <STRONG>*g,</STRONG> <STRONG>int</STRONG> <STRONG>*b);</STRONG>
        <STRONG>int</STRONG> <STRONG>extended_pair_content(int</STRONG> <STRONG>pair,</STRONG> <STRONG>int</STRONG> <STRONG>*f,</STRONG> <STRONG>int</STRONG> <STRONG>*b);</STRONG>
 
        <STRONG>int</STRONG> <STRONG>COLOR_PAIR(int</STRONG> <STRONG>n);</STRONG>
 </PRE><H2><a name="h2-DESCRIPTION">DESCRIPTION</a></H2><PRE>
 
 </PRE><H3><a name="h3-Overview">Overview</a></H3><PRE>
-       <STRONG>curses</STRONG>  supports  color  attributes on terminals with that
-       capability.  To use these  routines  <STRONG>start_color</STRONG>  must  be
-       called,  usually  right  after <STRONG>initscr</STRONG>.  Colors are always
-       used in pairs (referred to as color-pairs).  A  color-pair
-       consists  of  a  foreground  color  (for characters) and a
-       background color (for the blank field on which the charac-
-       ters  are  displayed).   A programmer initializes a color-
-       pair with the routine <STRONG>init_pair</STRONG>.  After it has  been  ini-
-       tialized, <STRONG>COLOR_PAIR</STRONG>(<EM>n</EM>) can be used to convert the pair to
-       a video attribute.
-
-       If a terminal is capable of redefining  colors,  the  pro-
-       grammer can use the routine <STRONG>init_color</STRONG> to change the defi-
-       nition  of  a  color.    The   routines   <STRONG>has_colors</STRONG>   and
-       <STRONG>can_change_color</STRONG>   return  <STRONG>TRUE</STRONG>  or  <STRONG>FALSE</STRONG>,  depending  on
-       whether the terminal has color  capabilities  and  whether
-       the  programmer  can  change the colors.  The routine <STRONG>col-</STRONG>
-       <STRONG>or_content</STRONG> allows a programmer to extract the  amounts  of
-       red,  green,  and blue components in an initialized color.
-       The routine <STRONG>pair_content</STRONG> allows a programmer to  find  out
-       how a given color-pair is currently defined.
+       <STRONG>curses</STRONG> supports color attributes on terminals with that capability.  To
+       use these routines <STRONG>start_color</STRONG> must  be  called,  usually  right  after
+       <STRONG>initscr</STRONG>.  Colors are always used in pairs (referred to as color-pairs).
+       A color-pair consists of a foreground  color  (for  characters)  and  a
+       background  color (for the blank field on which the characters are dis-
+       played).  A  programmer  initializes  a  color-pair  with  the  routine
+       <STRONG>init_pair</STRONG>.  After it has been initialized, <STRONG>COLOR_PAIR</STRONG>(<EM>n</EM>) can be used to
+       convert the pair to a video attribute.
+
+       If a terminal is capable of redefining colors, the programmer  can  use
+       the  routine  <STRONG>init_color</STRONG> to change the definition of a color.  The rou-
+       tines <STRONG>has_colors</STRONG> and <STRONG>can_change_color</STRONG> return <STRONG>TRUE</STRONG> or  <STRONG>FALSE</STRONG>,  depending
+       on whether the terminal has color capabilities and whether the program-
+       mer can change the colors.  The routine <STRONG>color_content</STRONG> allows a program-
+       mer  to  extract  the  amounts of red, green, and blue components in an
+       initialized color.  The routine <STRONG>pair_content</STRONG>  allows  a  programmer  to
+       find out how a given color-pair is currently defined.
 
 
 </PRE><H3><a name="h3-Color-Rendering">Color Rendering</a></H3><PRE>
-       The  <STRONG>curses</STRONG>  library  combines these inputs to produce the
-       actual foreground  and  background  colors  shown  on  the
-       screen:
+       The  <STRONG>curses</STRONG>  library  combines these inputs to produce the actual fore-
+       ground and background colors shown on the screen:
 
        <STRONG>o</STRONG>   per-character video attributes (e.g., via <STRONG>waddch</STRONG>),
 
 
        <STRONG>o</STRONG>   the background character (e.g., <STRONG>wbkgdset</STRONG>).
 
-       Per-character  and  window attributes are usually set by a
-       parameter containing video attributes  including  a  color
-       pair  value.  Some functions such as <STRONG>wattr_set</STRONG> use a sepa-
-       rate parameter which is the color pair number.
+       Per-character and window attributes are usually set by a parameter con-
+       taining  video attributes including a color pair value.  Some functions
+       such as <STRONG>wattr_set</STRONG> use a separate parameter which is the color pair num-
+       ber.
 
-       The background character is a special case: it includes  a
-       character value, just as if it were passed to <STRONG>waddch</STRONG>.
+       The  background  character  is  a special case: it includes a character
+       value, just as if it were passed to <STRONG>waddch</STRONG>.
 
-       The <STRONG>curses</STRONG> library does the actual work of combining these
-       color pairs in an internal function called from <STRONG>waddch</STRONG>:
+       The <STRONG>curses</STRONG> library does the actual work of combining these color  pairs
+       in an internal function called from <STRONG>waddch</STRONG>:
 
-       <STRONG>o</STRONG>   If the parameter passed to <STRONG>waddch</STRONG> is <EM>blank</EM>, and it us-
-           es the special color pair 0,
+       <STRONG>o</STRONG>   If the parameter passed to <STRONG>waddch</STRONG> is <EM>blank</EM>, and it uses the special
+           color pair 0,
 
            <STRONG>o</STRONG>   <STRONG>curses</STRONG> next checks the window attribute.
 
-           <STRONG>o</STRONG>   If the window attribute does not use color pair 0,
-               <STRONG>curses</STRONG> uses the color pair  from  the  window  at-
-               tribute.
+           <STRONG>o</STRONG>   If the window attribute does not use color pair 0, <STRONG>curses</STRONG>  uses
+               the color pair from the window attribute.
 
            <STRONG>o</STRONG>   Otherwise, <STRONG>curses</STRONG> uses the background character.
 
-       <STRONG>o</STRONG>   If  the parameter passed to <STRONG>waddch</STRONG> is <EM>not</EM> <EM>blank</EM>, or it
-           does not use the special color pair 0, <STRONG>curses</STRONG>  prefers
-           the  color  pair from the parameter, if it is nonzero.
-           Otherwise, it tries the window attribute next, and fi-
-           nally the background character.
+       <STRONG>o</STRONG>   If  the parameter passed to <STRONG>waddch</STRONG> is <EM>not</EM> <EM>blank</EM>, or it does not use
+           the special color pair 0, <STRONG>curses</STRONG> prefers the color  pair  from  the
+           parameter,  if  it  is nonzero.  Otherwise, it tries the window at-
+           tribute next, and finally the background character.
 
-       Some  <STRONG>curses</STRONG> functions such as <STRONG>wprintw</STRONG> call <STRONG>waddch</STRONG>.  Those
-       do not combine its parameter with a  color  pair.   Conse-
-       quently  those  calls use only the window attribute or the
-       background character.
+       Some <STRONG>curses</STRONG> functions such as <STRONG>wprintw</STRONG> call <STRONG>waddch</STRONG>.  Those do  not  com-
+       bine its parameter with a color pair.  Consequently those calls use on-
+       ly the window attribute or the background character.
 
 
 </PRE><H2><a name="h2-CONSTANTS">CONSTANTS</a></H2><PRE>
-       In <STRONG>&lt;curses.h&gt;</STRONG> the following macros are defined.  These are
-       the  standard colors (ISO-6429).  <STRONG>curses</STRONG> also assumes that
-       <STRONG>COLOR_BLACK</STRONG> is the default background color for all termi-
-       nals.
+       In <STRONG>&lt;curses.h&gt;</STRONG> the following macros are defined.  These are the standard
+       colors (ISO-6429).  <STRONG>curses</STRONG> also assumes that <STRONG>COLOR_BLACK</STRONG> is the default
+       background color for all terminals.
 
              <STRONG>COLOR_BLACK</STRONG>
              <STRONG>COLOR_RED</STRONG>
              <STRONG>COLOR_CYAN</STRONG>
              <STRONG>COLOR_WHITE</STRONG>
 
-       Some terminals support more than the eight (8) "ANSI" col-
-       ors.  There are no standard  names  for  those  additional
-       colors.
+       Some terminals support more than the eight (8)  "ANSI"  colors.   There
+       are no standard names for those additional colors.
 
 
 </PRE><H2><a name="h2-VARIABLES">VARIABLES</a></H2><PRE>
 
 </PRE><H3><a name="h3-COLORS">COLORS</a></H3><PRE>
-       is  initialized  by  <STRONG>start_color</STRONG>  to the maximum number of
-       colors the terminal can support.
+       is  initialized by <STRONG>start_color</STRONG> to the maximum number of colors the ter-
+       minal can support.
 
 
 </PRE><H3><a name="h3-COLOR_PAIRS">COLOR_PAIRS</a></H3><PRE>
-       is initialized by <STRONG>start_color</STRONG> to  the  maximum  number  of
-       color pairs the terminal can support.
+       is initialized by <STRONG>start_color</STRONG> to the maximum number of color pairs  the
+       terminal can support.
 
 
 </PRE><H2><a name="h2-FUNCTIONS">FUNCTIONS</a></H2><PRE>
 
 </PRE><H3><a name="h3-start_color">start_color</a></H3><PRE>
-       The <STRONG>start_color</STRONG> routine requires no arguments.  It must be
-       called if the programmer wants to use colors,  and  before
-       any  other  color  manipulation  routine is called.  It is
-       good practice to call this routine  right  after  <STRONG>initscr</STRONG>.
-       <STRONG>start_color</STRONG> does this:
-
-       <STRONG>o</STRONG>   It  initializes  two global variables, <STRONG>COLORS</STRONG> and <STRONG>COL-</STRONG>
-           <STRONG>OR_PAIRS</STRONG> (respectively defining the maximum number  of
-           colors and color-pairs the terminal can support).
-
-       <STRONG>o</STRONG>   It initializes the special color pair <STRONG>0</STRONG> to the default
-           foreground and  background  colors.   No  other  color
-           pairs are initialized.
-
-       <STRONG>o</STRONG>   It  restores  the colors on the terminal to the values
-           they had when the terminal was just turned on.
-
-       <STRONG>o</STRONG>   If the terminal supports the <STRONG>initc</STRONG>  (<STRONG>initialize_color</STRONG>)
-           capability, <STRONG>start_color</STRONG> initializes its internal table
-           representing the red, green and blue components of the
-           color palette.
-
-           The components depend on whether the terminal uses CGA
-           (aka "ANSI") or HLS (i.e., the <STRONG>hls</STRONG> (<STRONG>hue_lightness_sat-</STRONG>
-           <STRONG>uration</STRONG>) capability is set).  The table is initialized
-           first for eight basic colors (black, red, green,  yel-
-           low,  blue,  magenta, cyan, and white), and after that
-           (if the terminal supports more than eight colors)  the
+       The  <STRONG>start_color</STRONG>  routine  requires no arguments.  It must be called if
+       the programmer wants to use colors, and before any other color  manipu-
+       lation  routine  is  called.   It is good practice to call this routine
+       right after <STRONG>initscr</STRONG>.  <STRONG>start_color</STRONG> does this:
+
+       <STRONG>o</STRONG>   It initializes two global variables, <STRONG>COLORS</STRONG>  and  <STRONG>COLOR_PAIRS</STRONG>  (re-
+           spectively  defining  the  maximum number of colors and color-pairs
+           the terminal can support).
+
+       <STRONG>o</STRONG>   It initializes the special color pair <STRONG>0</STRONG> to the  default  foreground
+           and background colors.  No other color pairs are initialized.
+
+       <STRONG>o</STRONG>   It  restores the colors on the terminal to the values they had when
+           the terminal was just turned on.
+
+       <STRONG>o</STRONG>   If the terminal supports the <STRONG>initc</STRONG>  (<STRONG>initialize_color</STRONG>)  capability,
+           <STRONG>start_color</STRONG>  initializes  its  internal table representing the red,
+           green and blue components of the color palette.
+
+           The components depend on whether the terminal uses CGA (aka "ANSI")
+           or  HLS  (i.e.,  the  <STRONG>hls</STRONG>  (<STRONG>hue_lightness_saturation</STRONG>) capability is
+           set).  The table  is  initialized  first  for  eight  basic  colors
+           (black,  red,  green,  yellow, blue, magenta, cyan, and white), and
+           after that (if the terminal supports more than  eight  colors)  the
            components are initialized to <STRONG>1000</STRONG>.
 
-           <STRONG>start_color</STRONG>  does  not  attempt  to set the terminal's
-           color palette to match its built-in table.  An  appli-
-           cation  may use <STRONG>init_color</STRONG> to alter the internal table
-           along with the terminal's color.
+           <STRONG>start_color</STRONG> does not attempt to set the terminal's color palette to
+           match its built-in table.  An application may use <STRONG>init_color</STRONG> to al-
+           ter the internal table along with the terminal's color.
 
-       These limits apply to color values and color pairs.   Val-
-       ues  outside these limits are not legal, and may result in
-       a runtime error:
+       These  limits  apply  to  color values and color pairs.  Values outside
+       these limits are not legal, and may result in a runtime error:
 
-       <STRONG>o</STRONG>   <STRONG>COLORS</STRONG> corresponds to the terminal database's <STRONG>max_col-</STRONG>
-           <STRONG>ors</STRONG> capability, (see <STRONG><A HREF="max_colterminfo.5.html">terminfo(5)</A></STRONG>).
+       <STRONG>o</STRONG>   <STRONG>COLORS</STRONG> corresponds to the terminal database's <STRONG>max_colors</STRONG>  capabili-
+           ty, (see <STRONG><A HREF="terminfo.5.html">terminfo(5)</A></STRONG>).
 
-       <STRONG>o</STRONG>   color values are expected to be in the range <STRONG>0</STRONG> to <STRONG>COL-</STRONG>
-           <STRONG>ORS-1</STRONG>, inclusive (including <STRONG>0</STRONG> and <STRONG>COLORS-1</STRONG>).
+       <STRONG>o</STRONG>   color  values are expected to be in the range <STRONG>0</STRONG> to <STRONG>COLORS-1</STRONG>, inclu-
+           sive (including <STRONG>0</STRONG> and <STRONG>COLORS-1</STRONG>).
 
-       <STRONG>o</STRONG>   a special color value <STRONG>-1</STRONG> is used in  certain  extended
-           functions  to  denote  the  <EM>default</EM> <EM>color</EM> (see <STRONG>use_de-</STRONG>
-           <STRONG>fault_colors</STRONG>).
+       <STRONG>o</STRONG>   a special color value <STRONG>-1</STRONG> is used in certain extended  functions  to
+           denote the <EM>default</EM> <EM>color</EM> (see <STRONG>use_default_colors</STRONG>).
 
-       <STRONG>o</STRONG>   <STRONG>COLOR_PAIRS</STRONG> corresponds  to  the  terminal  database's
-           <STRONG>max_pairs</STRONG> capability, (see <STRONG><A HREF="terminfo.5.html">terminfo(5)</A></STRONG>).
+       <STRONG>o</STRONG>   <STRONG>COLOR_PAIRS</STRONG>  corresponds to the terminal database's <STRONG>max_pairs</STRONG> capa-
+           bility, (see <STRONG><A HREF="terminfo.5.html">terminfo(5)</A></STRONG>).
 
-       <STRONG>o</STRONG>   legal  color  pair  values  are in the range <STRONG>1</STRONG> to <STRONG>COL-</STRONG>
-           <STRONG>OR_PAIRS-1</STRONG>, inclusive.
+       <STRONG>o</STRONG>   legal color pair values are in the range <STRONG>1</STRONG> to <STRONG>COLOR_PAIRS-1</STRONG>, inclu-
+           sive.
 
        <STRONG>o</STRONG>   color pair <STRONG>0</STRONG> is special; it denotes "no color".
 
-           Color pair <STRONG>0</STRONG> is assumed to be white on black,  but  is
-           actually whatever the terminal implements before color
-           is initialized.  It cannot be modified by the applica-
-           tion.
+           Color pair <STRONG>0</STRONG> is assumed to be white on black, but is actually what-
+           ever the terminal implements before color is initialized.  It  can-
+           not be modified by the application.
 
 
 </PRE><H3><a name="h3-has_colors">has_colors</a></H3><PRE>
-       The  <STRONG>has_colors</STRONG> routine requires no arguments.  It returns
-       <STRONG>TRUE</STRONG> if the terminal can manipulate colors; otherwise,  it
-       returns <STRONG>FALSE</STRONG>.  This routine facilitates writing terminal-
-       independent programs.  For example, a programmer  can  use
-       it  to decide whether to use color or some other video at-
-       tribute.
+       The  <STRONG>has_colors</STRONG>  routine requires no arguments.  It returns <STRONG>TRUE</STRONG> if the
+       terminal can manipulate colors; otherwise, it returns <STRONG>FALSE</STRONG>.  This rou-
+       tine facilitates writing terminal-independent programs.  For example, a
+       programmer can use it to decide whether to  use  color  or  some  other
+       video attribute.
 
 
 </PRE><H3><a name="h3-can_change_color">can_change_color</a></H3><PRE>
-       The <STRONG>can_change_color</STRONG> routine requires  no  arguments.   It
-       returns  <STRONG>TRUE</STRONG>  if  the  terminal  supports  colors and can
-       change their definitions; other, it returns  <STRONG>FALSE</STRONG>.   This
-       routine facilitates writing terminal-independent programs.
+       The <STRONG>can_change_color</STRONG> routine requires no arguments.  It returns <STRONG>TRUE</STRONG> if
+       the terminal supports colors and can change their  definitions;  other,
+       it  returns  <STRONG>FALSE</STRONG>.  This routine facilitates writing terminal-indepen-
+       dent programs.
 
 
 </PRE><H3><a name="h3-init_pair">init_pair</a></H3><PRE>
-       The  <STRONG>init_pair</STRONG>  routine changes the definition of a color-
-       pair.  It takes three arguments: the number of the  color-
-       pair  to  be changed, the foreground color number, and the
-       background color number.  For portable applications:
+       The <STRONG>init_pair</STRONG> routine changes the definition of a color-pair.  It takes
+       three  arguments: the number of the color-pair to be changed, the fore-
+       ground color number, and the background color number.  For portable ap-
+       plications:
 
-       <STRONG>o</STRONG>   The first argument must be a legal color  pair  value.
-           If  default  colors  are used (see <STRONG>use_default_colors</STRONG>)
-           the upper limit is adjusted to allow for  extra  pairs
-           which  use  a default color in foreground and/or back-
-           ground.
+       <STRONG>o</STRONG>   The  first  argument  must be a legal color pair value.  If default
+           colors are used (see <STRONG>use_default_colors</STRONG>) the upper limit is adjust-
+           ed to allow for extra pairs which use a default color in foreground
+           and/or background.
 
-       <STRONG>o</STRONG>   The second and third arguments  must  be  legal  color
-           values.
+       <STRONG>o</STRONG>   The second and third arguments must be legal color values.
 
-       If  the  color-pair was previously initialized, the screen
-       is refreshed and all occurrences of  that  color-pair  are
-       changed to the new definition.
+       If the color-pair was previously initialized, the screen  is  refreshed
+       and  all  occurrences of that color-pair are changed to the new defini-
+       tion.
 
-       As  an  extension,  ncurses allows you to set color pair <STRONG>0</STRONG>
-       via the <STRONG><A HREF="default_colors.3x.html">assume_default_colors(3x)</A></STRONG> routine, or  to  specify
-       the  use  of default colors (color number <STRONG>-1</STRONG>) if you first
-       invoke the <STRONG><A HREF="default_colors.3x.html">use_default_colors(3x)</A></STRONG> routine.
+       As an extension, ncurses allows you to set color pair  <STRONG>0</STRONG>  via  the  <STRONG>as-</STRONG>
+       <STRONG><A HREF="assume_default_colors.3x.html">sume_default_colors(3x)</A></STRONG>  routine, or to specify the use of default col-
+       ors (color number <STRONG>-1</STRONG>) if you first  invoke  the  <STRONG><A HREF="default_colors.3x.html">use_default_colors(3x)</A></STRONG>
+       routine.
 
 
 </PRE><H3><a name="h3-init_color">init_color</a></H3><PRE>
-       The <STRONG>init_color</STRONG> routine changes the definition of a  color.
-       It  takes  four  arguments:  the number of the color to be
-       changed followed by three RGB values (for the  amounts  of
-       red, green, and blue components).
+       The  <STRONG>init_color</STRONG>  routine  changes  the definition of a color.  It takes
+       four arguments: the number of the color to be changed followed by three
+       RGB values (for the amounts of red, green, and blue components).
 
-       <STRONG>o</STRONG>   The  first  argument  must be a legal color value; de-
-           fault colors are not allowed here.  (See  the  section
-           <STRONG>Colors</STRONG> for the default color index.)
+       <STRONG>o</STRONG>   The  first argument must be a legal color value; default colors are
+           not allowed here.  (See the section <STRONG>Colors</STRONG> for  the  default  color
+           index.)
 
-       <STRONG>o</STRONG>   Each  of  the  last three arguments must be a value in
-           the range <STRONG>0</STRONG> through <STRONG>1000</STRONG>.
+       <STRONG>o</STRONG>   Each  of  the  last  three arguments must be a value in the range <STRONG>0</STRONG>
+           through <STRONG>1000</STRONG>.
 
-       When <STRONG>init_color</STRONG> is used, all occurrences of that color  on
-       the screen immediately change to the new definition.
+       When <STRONG>init_color</STRONG> is used, all occurrences of that color  on  the  screen
+       immediately change to the new definition.
 
 
 </PRE><H3><a name="h3-color_content">color_content</a></H3><PRE>
-       The  <STRONG>color_content</STRONG> routine gives programmers a way to find
-       the intensity of the red, green, and blue (RGB) components
-       in a color.  It requires four arguments: the color number,
-       and three addresses of <STRONG>short</STRONG>s for storing the  information
-       about  the  amounts  of red, green, and blue components in
-       the given color.
+       The <STRONG>color_content</STRONG> routine gives programmers a way to find the intensity
+       of the red, green, and blue (RGB) components in a color.   It  requires
+       four  arguments:  the  color  number, and three addresses of <STRONG>short</STRONG>s for
+       storing the information about the amounts of red, green, and blue  com-
+       ponents in the given color.
 
-       <STRONG>o</STRONG>   The first argument must be a legal color value,  i.e.,
-           <STRONG>0</STRONG> through <STRONG>COLORS-1</STRONG>, inclusive.
+       <STRONG>o</STRONG>   The  first  argument  must  be a legal color value, i.e., <STRONG>0</STRONG> through
+           <STRONG>COLORS-1</STRONG>, inclusive.
 
-       <STRONG>o</STRONG>   The values that are stored at the addresses pointed to
-           by the last three arguments are in  the  range  <STRONG>0</STRONG>  (no
-           component) through <STRONG>1000</STRONG> (maximum amount of component),
-           inclusive.
+       <STRONG>o</STRONG>   The values that are stored at the addresses pointed to by the  last
+           three  arguments  are  in  the  range <STRONG>0</STRONG> (no component) through <STRONG>1000</STRONG>
+           (maximum amount of component), inclusive.
 
 
 </PRE><H3><a name="h3-pair_content">pair_content</a></H3><PRE>
-       The <STRONG>pair_content</STRONG> routine allows programmers  to  find  out
-       what  colors  a given color-pair consists of.  It requires
-       three arguments: the color-pair number, and two  addresses
-       of  <STRONG>short</STRONG>s  for  storing the foreground and the background
-       color numbers.
+       The <STRONG>pair_content</STRONG> routine allows programmers to find out what  colors  a
+       given  color-pair consists of.  It requires three arguments: the color-
+       pair number, and two addresses of <STRONG>short</STRONG>s for storing the foreground and
+       the background color numbers.
 
-       <STRONG>o</STRONG>   The first argument must be a legal color value,  i.e.,
-           in the range <STRONG>1</STRONG> through <STRONG>COLOR_PAIRS-1</STRONG>, inclusive.
+       <STRONG>o</STRONG>   The  first argument must be a legal color value, i.e., in the range
+           <STRONG>1</STRONG> through <STRONG>COLOR_PAIRS-1</STRONG>, inclusive.
 
-       <STRONG>o</STRONG>   The values that are stored at the addresses pointed to
-           by the second and third arguments are in the  range  <STRONG>0</STRONG>
-           through <STRONG>COLORS</STRONG>, inclusive.
+       <STRONG>o</STRONG>   The values that are stored at the addresses pointed to by the  sec-
+           ond  and  third arguments are in the range <STRONG>0</STRONG> through <STRONG>COLORS</STRONG>, inclu-
+           sive.
 
 
 </PRE><H3><a name="h3-PAIR_NUMBER">PAIR_NUMBER</a></H3><PRE>
-       <STRONG>PAIR_NUMBER(</STRONG><EM>attrs</EM>) extracts the color value from its <EM>attrs</EM>
-       parameter and returns it as a color pair number.
+       <STRONG>PAIR_NUMBER(</STRONG><EM>attrs</EM>) extracts the color value from  its  <EM>attrs</EM>  parameter
+       and returns it as a color pair number.
 
 
 </PRE><H3><a name="h3-COLOR_PAIR">COLOR_PAIR</a></H3><PRE>
-       Its inverse <STRONG>COLOR_PAIR(</STRONG><EM>n</EM><STRONG>)</STRONG> converts a color pair number  to
-       an  attribute.   Attributes  can  hold  color pairs in the
-       range 0 to 255.  If you need  a  color  pair  larger  than
-       that,  you must use functions such as <STRONG>attr_set</STRONG> (which pass
-       the color pair as a separate parameter)  rather  than  the
+       Its inverse <STRONG>COLOR_PAIR(</STRONG><EM>n</EM><STRONG>)</STRONG> converts a color pair number to an attribute.
+       Attributes can hold color pairs in the range 0 to 255.  If you  need  a
+       color  pair  larger  than that, you must use functions such as <STRONG>attr_set</STRONG>
+       (which pass the color pair as a separate  parameter)  rather  than  the
        legacy functions such as <STRONG>attrset</STRONG>.
 
 
 </PRE><H2><a name="h2-RETURN-VALUE">RETURN VALUE</a></H2><PRE>
-       The  routines  <STRONG>can_change_color</STRONG> and <STRONG>has_colors</STRONG> return <STRONG>TRUE</STRONG>
-       or <STRONG>FALSE</STRONG>.
-
-       All other routines return the integer <STRONG>ERR</STRONG> upon failure and
-       an  <STRONG>OK</STRONG>  (SVr4  specifies only "an integer value other than
-       <STRONG>ERR</STRONG>") upon successful completion.
-
-       X/Open defines no error conditions.   This  implementation
-       will  return  <STRONG>ERR</STRONG>  on attempts to use color values outside
-       the range <STRONG>0</STRONG> to <STRONG>COLORS</STRONG>-1 (except for the default colors ex-
-       tension),  or  use color pairs outside the range <STRONG>0</STRONG> to <STRONG>COL-</STRONG>
-       <STRONG>OR_PAIRS-1</STRONG>.  Color values used in <STRONG>init_color</STRONG>  must  be  in
-       the  range <STRONG>0</STRONG> to <STRONG>1000</STRONG>.  An error is returned from all func-
-       tions if the terminal has not been initialized.  An  error
-       is  returned from secondary functions such as <STRONG>init_pair</STRONG> if
-       <STRONG>start_color</STRONG> was not called.
+       The routines <STRONG>can_change_color</STRONG> and <STRONG>has_colors</STRONG> return <STRONG>TRUE</STRONG> or <STRONG>FALSE</STRONG>.
+
+       All  other routines return the integer <STRONG>ERR</STRONG> upon failure and an <STRONG>OK</STRONG> (SVr4
+       specifies only "an integer value other than <STRONG>ERR</STRONG>") upon successful  com-
+       pletion.
+
+       X/Open  defines  no  error conditions.  This implementation will return
+       <STRONG>ERR</STRONG> on attempts to use color values outside the  range  <STRONG>0</STRONG>  to  <STRONG>COLORS</STRONG>-1
+       (except  for  the default colors extension), or use color pairs outside
+       the range <STRONG>0</STRONG> to <STRONG>COLOR_PAIRS-1</STRONG>.  Color values used in <STRONG>init_color</STRONG> must  be
+       in the range <STRONG>0</STRONG> to <STRONG>1000</STRONG>.  An error is returned from all functions if the
+       terminal has not been initialized.  An error is returned from secondary
+       functions such as <STRONG>init_pair</STRONG> if <STRONG>start_color</STRONG> was not called.
 
           <STRONG>init_color</STRONG>
-               returns an error if the terminal does not  support
-               this  feature, e.g., if the <STRONG>initialize_color</STRONG> capa-
-               bility is absent from the terminal description.
+               returns an error if the terminal does not support this feature,
+               e.g., if the <STRONG>initialize_color</STRONG> capability  is  absent  from  the
+               terminal description.
 
           <STRONG>start_color</STRONG>
-               returns an error if the color table cannot be  al-
-               located.
+               returns an error if the color table cannot be allocated.
 
 
 </PRE><H2><a name="h2-NOTES">NOTES</a></H2><PRE>
-       In  the  <STRONG>ncurses</STRONG> implementation, there is a separate color
-       activation flag, color palette, color pairs table, and as-
-       sociated  <STRONG>COLORS</STRONG>  and  <STRONG>COLOR_PAIRS</STRONG> counts for each screen;
-       the <STRONG>start_color</STRONG> function only affects the current  screen.
-       The SVr4/XSI interface is not really designed with this in
-       mind, and historical  implementations  may  use  a  single
-       shared color palette.
-
-       Setting  an implicit background color via a color pair af-
-       fects only character cells that a character  write  opera-
-       tion  explicitly  touches.  To change the background color
-       used when parts of a window  are  blanked  by  erasing  or
-       scrolling operations, see <STRONG><A HREF="curs_bkgd.3x.html">curs_bkgd(3x)</A></STRONG>.
-
-       Several  caveats  apply on older x86 machines (e.g., i386,
-       i486) with VGA-compatible graphics:
-
-       <STRONG>o</STRONG>   COLOR_YELLOW is actually brown.  To  get  yellow,  use
-           COLOR_YELLOW combined with the <STRONG>A_BOLD</STRONG> attribute.
-
-       <STRONG>o</STRONG>   The A_BLINK attribute should in theory cause the back-
-           ground to go bright.  This often fails  to  work,  and
-           even some cards for which it mostly works (such as the
-           Paradise and compatibles) do the wrong thing when  you
-           try  to  set  a  bright "yellow" background (you get a
+       In  the  <STRONG>ncurses</STRONG>  implementation,  there is a separate color activation
+       flag, color palette, color pairs table, and associated <STRONG>COLORS</STRONG> and  <STRONG>COL-</STRONG>
+       <STRONG>OR_PAIRS</STRONG>  counts for each screen; the <STRONG>start_color</STRONG> function only affects
+       the current screen.  The SVr4/XSI interface is not really designed with
+       this  in  mind,  and historical implementations may use a single shared
+       color palette.
+
+       Setting an implicit background color via  a  color  pair  affects  only
+       character  cells  that  a character write operation explicitly touches.
+       To change the background color used when parts of a window are  blanked
+       by erasing or scrolling operations, see <STRONG><A HREF="curs_bkgd.3x.html">curs_bkgd(3x)</A></STRONG>.
+
+       Several  caveats  apply  on  older x86 machines (e.g., i386, i486) with
+       VGA-compatible graphics:
+
+       <STRONG>o</STRONG>   COLOR_YELLOW is actually brown.  To get  yellow,  use  COLOR_YELLOW
+           combined with the <STRONG>A_BOLD</STRONG> attribute.
+
+       <STRONG>o</STRONG>   The  A_BLINK  attribute should in theory cause the background to go
+           bright.  This often fails to work, and even some cards for which it
+           mostly  works  (such  as the Paradise and compatibles) do the wrong
+           thing when you try to set a bright "yellow" background (you  get  a
            blinking yellow foreground instead).
 
        <STRONG>o</STRONG>   Color RGB values are not settable.
 
 
 </PRE><H2><a name="h2-PORTABILITY">PORTABILITY</a></H2><PRE>
-       This implementation satisfies XSI Curses's  minimum  maxi-
-       mums for <STRONG>COLORS</STRONG> and <STRONG>COLOR_PAIRS</STRONG>.
+       This  implementation satisfies XSI Curses's minimum maximums for <STRONG>COLORS</STRONG>
+       and <STRONG>COLOR_PAIRS</STRONG>.
 
-       The  <STRONG>init_pair</STRONG>  routine  accepts  negative values of fore-
-       ground  and  background  color  to  support  the   <STRONG>use_de-</STRONG>
-       <STRONG><A HREF="use_default_colors.3x.html">fault_colors(3x)</A></STRONG>  extension,  but only if that routine has
-       been first invoked.
+       The <STRONG>init_pair</STRONG> routine accepts negative values of foreground  and  back-
+       ground  color to support the <STRONG><A HREF="default_colors.3x.html">use_default_colors(3x)</A></STRONG> extension, but only
+       if that routine has been first invoked.
 
-       The assumption that <STRONG>COLOR_BLACK</STRONG> is the default  background
-       color  for  all  terminals  can  be modified using the <STRONG>as-</STRONG>
-       <STRONG><A HREF="assume_default_colors.3x.html">sume_default_colors(3x)</A></STRONG> extension.
+       The assumption that <STRONG>COLOR_BLACK</STRONG> is the default background color for all
+       terminals  can  be  modified using the <STRONG><A HREF="default_colors.3x.html">assume_default_colors(3x)</A></STRONG> exten-
+       sion.
 
-       This implementation checks the  pointers,  e.g.,  for  the
-       values  returned  by  <STRONG>color_content</STRONG>  and <STRONG>pair_content</STRONG>, and
-       will treat those as optional parameters when null.
+       This implementation checks the pointers, e.g., for the values  returned
+       by <STRONG>color_content</STRONG> and <STRONG>pair_content</STRONG>, and will treat those as optional pa-
+       rameters when null.
 
-       X/Open Curses does not specify a limit for the  number  of
-       colors and color pairs which a terminal can support.  How-
-       ever, in its use of <STRONG>short</STRONG> for the parameters,  it  carries
-       over SVr4's implementation detail for the compiled termin-
-       fo database, which uses signed 16-bit numbers.   This  im-
-       plementation provides extended versions of those functions
-       which use <STRONG>short</STRONG> parameters, allowing applications  to  use
-       larger color- and pair-numbers.
+       X/Open Curses does not specify a limit for the  number  of  colors  and
+       color pairs which a terminal can support.  However, in its use of <STRONG>short</STRONG>
+       for the parameters, it carries over SVr4's  implementation  detail  for
+       the compiled terminfo database, which uses signed 16-bit numbers.  This
+       implementation provides extended versions of those functions which  use
+       <STRONG>short</STRONG>  parameters, allowing applications to use larger color- and pair-
+       numbers.
 
 
 </PRE><H2><a name="h2-SEE-ALSO">SEE ALSO</a></H2><PRE>
-       <STRONG><A HREF="ncurses.3x.html">curses(3x)</A></STRONG>,  <STRONG><A HREF="curs_initscr.3x.html">curs_initscr(3x)</A></STRONG>,  <STRONG><A HREF="curs_attr.3x.html">curs_attr(3x)</A></STRONG>,  <STRONG>curs_vari-</STRONG>
-       <STRONG><A HREF="curs_variables.3x.html">ables(3x)</A></STRONG>, <STRONG><A HREF="default_colors.3x.html">default_colors(3x)</A></STRONG>
+       <STRONG><A HREF="ncurses.3x.html">curses(3x)</A></STRONG>, <STRONG><A HREF="curs_initscr.3x.html">curs_initscr(3x)</A></STRONG>,  <STRONG><A HREF="curs_attr.3x.html">curs_attr(3x)</A></STRONG>,  <STRONG><A HREF="curs_variables.3x.html">curs_variables(3x)</A></STRONG>,  <STRONG>de-</STRONG>
+       <STRONG><A HREF="default_colors.3x.html">fault_colors(3x)</A></STRONG>
 
 
 
-                                                         <STRONG><A HREF="curs_color.3x.html">curs_color(3x)</A></STRONG>
+                                                                <STRONG><A HREF="curs_color.3x.html">curs_color(3x)</A></STRONG>
 </PRE>
 <div class="nav">
 <ul>
index 2ba296e6b414bc528992914585052ff3acff4538..8b077729227ffd97a3c471948b5d10e20bc5e4a9 100644 (file)
 <BODY>
 <H1 class="no-header">curs_delch 3x</H1>
 <PRE>
-<STRONG><A HREF="curs_delch.3x.html">curs_delch(3x)</A></STRONG>                                           <STRONG><A HREF="curs_delch.3x.html">curs_delch(3x)</A></STRONG>
+<STRONG><A HREF="curs_delch.3x.html">curs_delch(3x)</A></STRONG>                                                  <STRONG><A HREF="curs_delch.3x.html">curs_delch(3x)</A></STRONG>
 
 
 
 
 </PRE><H2><a name="h2-NAME">NAME</a></H2><PRE>
-       <STRONG>delch</STRONG>,  <STRONG>wdelch</STRONG>, <STRONG>mvdelch</STRONG>, <STRONG>mvwdelch</STRONG> - delete character under
-       the cursor in a <STRONG>curses</STRONG> window
+       <STRONG>delch</STRONG>, <STRONG>wdelch</STRONG>, <STRONG>mvdelch</STRONG>, <STRONG>mvwdelch</STRONG> - delete character under the cursor in
+       a <STRONG>curses</STRONG> window
 
 
 </PRE><H2><a name="h2-SYNOPSIS">SYNOPSIS</a></H2><PRE>
 
 
 </PRE><H2><a name="h2-DESCRIPTION">DESCRIPTION</a></H2><PRE>
-       These routines delete the character under the cursor;  all
-       characters to the right of the cursor on the same line are
-       moved to the left one position and the last  character  on
-       the line is filled with a blank.  The cursor position does
-       not change (after moving to <EM>y</EM>, <EM>x</EM>,  if  specified).   (This
-       does  not  imply use of the hardware delete character fea-
+       These routines delete the character under the cursor; all characters to
+       the  right  of  the  cursor  on the same line are moved to the left one
+       position and the last character on the line is  filled  with  a  blank.
+       The  cursor  position  does not change (after moving to <EM>y</EM>, <EM>x</EM>, if speci-
+       fied).  (This does not imply use of the hardware delete character  fea-
        ture.)
 
 
 </PRE><H2><a name="h2-RETURN-VALUE">RETURN VALUE</a></H2><PRE>
-       All routines return the integer <STRONG>ERR</STRONG> upon failure and an <STRONG>OK</STRONG>
-       (SVr4  specifies  only  "an integer value other than <STRONG>ERR</STRONG>")
-       upon successful completion.
+       All routines return the integer <STRONG>ERR</STRONG> upon failure and an <STRONG>OK</STRONG> (SVr4 speci-
+       fies only "an integer value other than <STRONG>ERR</STRONG>")  upon  successful  comple-
+       tion.
 
-       Functions with a "mv" prefix first perform a cursor  move-
-       ment  using  <STRONG>wmove</STRONG>, and return an error if the position is
-       outside the window, or if the window pointer is null.
+       Functions  with  a  "mv"  prefix  first perform a cursor movement using
+       <STRONG>wmove</STRONG>, and return an error if the position is outside the window, or if
+       the window pointer is null.
 
 
 </PRE><H2><a name="h2-NOTES">NOTES</a></H2><PRE>
@@ -84,9 +83,9 @@
 
 
 </PRE><H2><a name="h2-PORTABILITY">PORTABILITY</a></H2><PRE>
-       These functions are described in the XSI Curses  standard,
-       Issue  4.   The standard specifies that they return <STRONG>ERR</STRONG> on
-       failure, but specifies no error conditions.
+       These functions are described in the XSI Curses standard, Issue 4.  The
+       standard specifies that they return <STRONG>ERR</STRONG> on failure,  but  specifies  no
+       error conditions.
 
 
 </PRE><H2><a name="h2-SEE-ALSO">SEE ALSO</a></H2><PRE>
@@ -94,7 +93,7 @@
 
 
 
-                                                         <STRONG><A HREF="curs_delch.3x.html">curs_delch(3x)</A></STRONG>
+                                                                <STRONG><A HREF="curs_delch.3x.html">curs_delch(3x)</A></STRONG>
 </PRE>
 <div class="nav">
 <ul>
index e45a6d13561c3538b6b2f9bca1a342f9ef72912e..3d533635bc3315ea59738464648a8f48efe33587 100644 (file)
 <BODY>
 <H1 class="no-header">curs_deleteln 3x</H1>
 <PRE>
-<STRONG><A HREF="curs_deleteln.3x.html">curs_deleteln(3x)</A></STRONG>                                     <STRONG><A HREF="curs_deleteln.3x.html">curs_deleteln(3x)</A></STRONG>
+<STRONG><A HREF="curs_deleteln.3x.html">curs_deleteln(3x)</A></STRONG>                                            <STRONG><A HREF="curs_deleteln.3x.html">curs_deleteln(3x)</A></STRONG>
 
 
 
 
 </PRE><H2><a name="h2-NAME">NAME</a></H2><PRE>
-       <STRONG>deleteln</STRONG>,  <STRONG>wdeleteln</STRONG>,  <STRONG>insdelln</STRONG>, <STRONG>winsdelln</STRONG>, <STRONG>insertln</STRONG>, <STRONG>win-</STRONG>
-       <STRONG>sertln</STRONG> - delete and insert lines in a <STRONG>curses</STRONG> window
+       <STRONG>deleteln</STRONG>,  <STRONG>wdeleteln</STRONG>, <STRONG>insdelln</STRONG>, <STRONG>winsdelln</STRONG>, <STRONG>insertln</STRONG>, <STRONG>winsertln</STRONG> - delete
+       and insert lines in a <STRONG>curses</STRONG> window
 
 
 </PRE><H2><a name="h2-SYNOPSIS">SYNOPSIS</a></H2><PRE>
 
 
 </PRE><H2><a name="h2-DESCRIPTION">DESCRIPTION</a></H2><PRE>
-       The <STRONG>deleteln</STRONG> and <STRONG>wdeleteln</STRONG> routines delete the line  under
-       the cursor in the window; all lines below the current line
-       are moved up one line.  The bottom line of the  window  is
-       cleared.  The cursor position does not change.
-
-       The  <STRONG>insdelln</STRONG>  and  <STRONG>winsdelln</STRONG>  routines,  for  positive <EM>n</EM>,
-       insert <EM>n</EM> lines into the specified window above the current
-       line.   The  <EM>n</EM>  bottom  lines  are  lost.  For negative <EM>n</EM>,
-       delete <EM>n</EM> lines (starting with the one under  the  cursor),
-       and  move  the remaining lines up.  The bottom <EM>n</EM> lines are
+       The <STRONG>deleteln</STRONG> and <STRONG>wdeleteln</STRONG> routines delete the line under the cursor in
+       the  window;  all  lines  below the current line are moved up one line.
+       The bottom line of the window is cleared.  The cursor position does not
+       change.
+
+       The  <STRONG>insdelln</STRONG>  and  <STRONG>winsdelln</STRONG>  routines, for positive <EM>n</EM>, insert <EM>n</EM> lines
+       into the specified window above the current line.  The <EM>n</EM>  bottom  lines
+       are  lost.  For negative <EM>n</EM>, delete <EM>n</EM> lines (starting with the one under
+       the cursor), and move the remaining lines up.  The bottom <EM>n</EM>  lines  are
        cleared.  The current cursor position remains the same.
 
-       The <STRONG>insertln</STRONG> and <STRONG>winsertln</STRONG> routines insert  a  blank  line
-       above the current line and the bottom line is lost.
+       The  <STRONG>insertln</STRONG> and <STRONG>winsertln</STRONG> routines insert a blank line above the cur-
+       rent line and the bottom line is lost.
 
 
 </PRE><H2><a name="h2-RETURN-VALUE">RETURN VALUE</a></H2><PRE>
-       All routines return the integer <STRONG>ERR</STRONG> upon failure and an <STRONG>OK</STRONG>
-       (SVr4 specifies only "an integer value  other  than  <STRONG>ERR</STRONG>")
-       upon successful completion.
+       All routines return the integer <STRONG>ERR</STRONG> upon failure and an <STRONG>OK</STRONG> (SVr4 speci-
+       fies  only  "an  integer value other than <STRONG>ERR</STRONG>") upon successful comple-
+       tion.
 
-       X/Open  defines  no error conditions.  In this implementa-
-       tion, if  the  window  parameter  is  null,  an  error  is
-       returned.
+       X/Open defines no error conditions.  In  this  implementation,  if  the
+       window parameter is null, an error is returned.
 
 
 </PRE><H2><a name="h2-PORTABILITY">PORTABILITY</a></H2><PRE>
-       These  functions are described in the XSI Curses standard,
-       Issue 4.  The standard specifies that they return  <STRONG>ERR</STRONG>  on
-       failure, but specifies no error conditions.
+       These functions are described in the XSI Curses standard, Issue 4.  The
+       standard specifies that they return <STRONG>ERR</STRONG> on failure,  but  specifies  no
+       error conditions.
 
 
 </PRE><H2><a name="h2-NOTES">NOTES</a></H2><PRE>
        Note that all but <STRONG>winsdelln</STRONG> may be macros.
 
-       These  routines  do  not require a hardware line delete or
-       insert feature in the terminal.  In fact,  they  will  not
-       use  hardware  line  delete/insert unless <STRONG>idlok(...,</STRONG> <STRONG>TRUE)</STRONG>
-       has been set on the current window.
+       These  routines do not require a hardware line delete or insert feature
+       in  the  terminal.   In  fact,  they  will  not   use   hardware   line
+       delete/insert  unless <STRONG>idlok(...,</STRONG> <STRONG>TRUE)</STRONG> has been set on the current win-
+       dow.
 
 
 </PRE><H2><a name="h2-SEE-ALSO">SEE ALSO</a></H2><PRE>
 
 
 
-                                                      <STRONG><A HREF="curs_deleteln.3x.html">curs_deleteln(3x)</A></STRONG>
+                                                             <STRONG><A HREF="curs_deleteln.3x.html">curs_deleteln(3x)</A></STRONG>
 </PRE>
 <div class="nav">
 <ul>
index 2a482b8ffbafee098fe1481c242f59ff7a58d7b2..102001493e7102094b9084ce9243fc01d0bbf0f4 100644 (file)
 <BODY>
 <H1 class="no-header">curs_extend 3x</H1>
 <PRE>
-<STRONG><A HREF="curs_extend.3x.html">curs_extend(3x)</A></STRONG>                                         <STRONG><A HREF="curs_extend.3x.html">curs_extend(3x)</A></STRONG>
+<STRONG><A HREF="curs_extend.3x.html">curs_extend(3x)</A></STRONG>                                                <STRONG><A HREF="curs_extend.3x.html">curs_extend(3x)</A></STRONG>
 
 
 
 
 </PRE><H2><a name="h2-NAME">NAME</a></H2><PRE>
-       <STRONG>curses_version</STRONG>,  <STRONG>use_extended_names</STRONG> - miscellaneous curses
-       extensions
+       <STRONG>curses_version</STRONG>, <STRONG>use_extended_names</STRONG> - miscellaneous curses extensions
 
 
 </PRE><H2><a name="h2-SYNOPSIS">SYNOPSIS</a></H2><PRE>
 
 
 </PRE><H2><a name="h2-DESCRIPTION">DESCRIPTION</a></H2><PRE>
-       These functions are extensions to the curses library which
-       do not fit easily into other categories.
+       These  functions  are extensions to the curses library which do not fit
+       easily into other categories.
 
 
 </PRE><H3><a name="h3-curses_version">curses_version</a></H3><PRE>
-       Use  <STRONG>curses_version</STRONG>  to  get the version number, including
-       patch level of the library, e.g., <STRONG>5.0.19991023</STRONG>
+       Use <STRONG>curses_version</STRONG> to get the version number, including patch level  of
+       the library, e.g., <STRONG>5.0.19991023</STRONG>
 
 
 </PRE><H3><a name="h3-use_extended_names">use_extended_names</a></H3><PRE>
-       The <STRONG>use_extended_names</STRONG> function controls whether the call-
-       ing application is able to use user-defined or nonstandard
-       names which may be compiled into the terminfo description,
-       i.e.,  via  the  terminfo or termcap interfaces.  Normally
-       these names are available for  use,  since  the  essential
-       decision  is made by using the <STRONG>-x</STRONG> option of <STRONG>tic</STRONG> to compile
-       extended terminal definitions.  However  you  can  disable
-       this  feature to ensure compatibility with other implemen-
-       tations of curses.
+       The  <STRONG>use_extended_names</STRONG>  function controls whether the calling applica-
+       tion is able to use user-defined or nonstandard names which may be com-
+       piled  into the terminfo description, i.e., via the terminfo or termcap
+       interfaces.  Normally these names are  available  for  use,  since  the
+       essential  decision  is  made  by using the <STRONG>-x</STRONG> option of <STRONG>tic</STRONG> to compile
+       extended terminal definitions.  However you can disable this feature to
+       ensure compatibility with other implementations of curses.
 
 
 </PRE><H2><a name="h2-RETURN-VALUE">RETURN VALUE</a></H2><PRE>
-       <STRONG>curses_version</STRONG> returns a pointer  to  static  memory;  you
-       should not free this in your application.
+       <STRONG>curses_version</STRONG>  returns a pointer to static memory; you should not free
+       this in your application.
 
-       <STRONG>use_extended_names</STRONG>  returns  the  previous state, allowing
-       you to save this and restore it.
+       <STRONG>use_extended_names</STRONG> returns the previous state,  allowing  you  to  save
+       this and restore it.
 
 
 </PRE><H2><a name="h2-PORTABILITY">PORTABILITY</a></H2><PRE>
-       These routines are specific to  ncurses.   They  were  not
-       supported  on  Version 7, BSD or System V implementations.
-       It is recommended that any code depending on them be  con-
-       ditioned using NCURSES_VERSION.
+       These  routines  are  specific  to ncurses.  They were not supported on
+       Version 7, BSD or System V implementations.  It is recommended that any
+       code depending on them be conditioned using NCURSES_VERSION.
 
 
 </PRE><H2><a name="h2-SEE-ALSO">SEE ALSO</a></H2><PRE>
-       <STRONG><A HREF="curs_getch.3x.html">curs_getch(3x)</A></STRONG>,       <STRONG><A HREF="curs_mouse.3x.html">curs_mouse(3x)</A></STRONG>,      <STRONG><A HREF="curs_print.3x.html">curs_print(3x)</A></STRONG>,
-       <STRONG><A HREF="curs_util.3x.html">curs_util(3x)</A></STRONG>,  <STRONG><A HREF="default_colors.3x.html">default_colors(3x)</A></STRONG>,  <STRONG><A HREF="define_key.3x.html">define_key(3x)</A></STRONG>,  <STRONG>key-</STRONG>
-       <STRONG><A HREF="keybound.3x.html">bound(3x)</A></STRONG>, <STRONG><A HREF="keyok.3x.html">keyok(3x)</A></STRONG>, <STRONG><A HREF="resizeterm.3x.html">resizeterm(3x)</A></STRONG>, <STRONG><A HREF="wresize.3x.html">wresize(3x)</A></STRONG>.
+       <STRONG><A HREF="curs_getch.3x.html">curs_getch(3x)</A></STRONG>,    <STRONG><A HREF="curs_mouse.3x.html">curs_mouse(3x)</A></STRONG>,    <STRONG><A HREF="curs_print.3x.html">curs_print(3x)</A></STRONG>,    <STRONG><A HREF="curs_util.3x.html">curs_util(3x)</A></STRONG>,
+       <STRONG><A HREF="default_colors.3x.html">default_colors(3x)</A></STRONG>,    <STRONG><A HREF="define_key.3x.html">define_key(3x)</A></STRONG>,     <STRONG><A HREF="keybound.3x.html">keybound(3x)</A></STRONG>,     <STRONG><A HREF="keyok.3x.html">keyok(3x)</A></STRONG>,
+       <STRONG><A HREF="resizeterm.3x.html">resizeterm(3x)</A></STRONG>, <STRONG><A HREF="wresize.3x.html">wresize(3x)</A></STRONG>.
 
 
 </PRE><H2><a name="h2-AUTHOR">AUTHOR</a></H2><PRE>
 
 
 
-                                                        <STRONG><A HREF="curs_extend.3x.html">curs_extend(3x)</A></STRONG>
+                                                               <STRONG><A HREF="curs_extend.3x.html">curs_extend(3x)</A></STRONG>
 </PRE>
 <div class="nav">
 <ul>
index 5229b8b33f84953cacc1516712ca3eaa77290b37..d50cce31374b31bae11d138841b8f4720e6725d9 100644 (file)
 <BODY>
 <H1 class="no-header">curs_get_wch 3x</H1>
 <PRE>
-<STRONG><A HREF="curs_get_wch.3x.html">curs_get_wch(3x)</A></STRONG>                                       <STRONG><A HREF="curs_get_wch.3x.html">curs_get_wch(3x)</A></STRONG>
+<STRONG><A HREF="curs_get_wch.3x.html">curs_get_wch(3x)</A></STRONG>                                              <STRONG><A HREF="curs_get_wch.3x.html">curs_get_wch(3x)</A></STRONG>
 
 
 
 
 </PRE><H2><a name="h2-NAME">NAME</a></H2><PRE>
-       <STRONG>get_wch</STRONG>, <STRONG>wget_wch</STRONG>, <STRONG>mvget_wch</STRONG>, <STRONG>mvwget_wch</STRONG>, <STRONG>unget_wch</STRONG> - get
-       (or push back) a wide character from curses terminal
-       keyboard
+       <STRONG>get_wch</STRONG>, <STRONG>wget_wch</STRONG>, <STRONG>mvget_wch</STRONG>, <STRONG>mvwget_wch</STRONG>, <STRONG>unget_wch</STRONG> - get (or push
+       back) a wide character from curses terminal keyboard
 
 
 </PRE><H2><a name="h2-SYNOPSIS">SYNOPSIS</a></H2><PRE>
 
 
 </PRE><H2><a name="h2-DESCRIPTION">DESCRIPTION</a></H2><PRE>
-       The <STRONG>get_wch</STRONG>, <STRONG>wget_wch</STRONG>, <STRONG>mvget_wch</STRONG>, and <STRONG>mvwget_wch</STRONG> functions
-       read a character from the  terminal  associated  with  the
-       current  or specified window.  In no-delay mode, if no in-
-       put is waiting, the value <STRONG>ERR</STRONG> is returned.  In delay mode,
-       the  program waits until the system passes text through to
-       the program.  Depending on the setting of <STRONG>cbreak</STRONG>, this  is
-       after one character (cbreak mode), or after the first new-
-       line (nocbreak mode).  In  half-delay  mode,  the  program
-       waits  until  the  user types a character or the specified
-       timeout interval has elapsed.
-
-       Unless <STRONG>noecho</STRONG> has been set, these routines echo the  char-
-       acter into the designated window.
-
-       If  the window is not a pad and has been moved or modified
-       since the last call to <STRONG>wrefresh</STRONG>, <STRONG>wrefresh</STRONG> will  be  called
-       before another character is read.
-
-       If  <STRONG>keypad</STRONG>  is  enabled,  these  functions  respond to the
-       pressing of a function key by setting the  object  pointed
-       to by <EM>wch</EM> to the keycode assigned to the function key, and
-       returning <STRONG>KEY_CODE_YES</STRONG>.  If a character (such  as  escape)
-       that could be the beginning of a function key is received,
-       curses sets a timer.  If the  remainder  of  the  sequence
-       does  arrive  within  the  designated  time, curses passes
-       through the character; otherwise, curses returns the func-
-       tion  key  value.  For this reason, many terminals experi-
-       ence a delay between the time a user  presses  the  escape
-       key and the time the escape is returned to the program.
-
-       The  keycodes  returned by these functions are the same as
-       those returned by <STRONG>wgetch</STRONG>:
-
-       <STRONG>o</STRONG>   The predefined function keys are listed in  <STRONG>&lt;curses.h&gt;</STRONG>
-           as macros with values outside the range of 8-bit char-
-           acters.  Their names begin with <STRONG>KEY_</STRONG>.
-
-       <STRONG>o</STRONG>   Other (user-defined) function keys which  may  be  de-
-           fined using <STRONG><A HREF="define_key.3x.html">define_key(3x)</A></STRONG> have no names, but also are
-           expected to have values outside  the  range  of  8-bit
-           characters.
-
-       The  <STRONG>unget_wch</STRONG> function pushes the wide character <EM>wch</EM> back
-       onto the head of the input queue, so the wide character is
-       returned by the next call to <STRONG>get_wch</STRONG>.  The pushback of one
-       character is guaranteed.  If the program  calls  <STRONG>unget_wch</STRONG>
-       too many times without an intervening call to <STRONG>get_wch</STRONG>, the
-       operation may fail.
+       The <STRONG>get_wch</STRONG>, <STRONG>wget_wch</STRONG>, <STRONG>mvget_wch</STRONG>, and <STRONG>mvwget_wch</STRONG> functions read a char-
+       acter  from  the terminal associated with the current or specified win-
+       dow.  In no-delay mode, if no input is waiting, the value  <STRONG>ERR</STRONG>  is  re-
+       turned.   In delay mode, the program waits until the system passes text
+       through to the program.  Depending on the setting of  <STRONG>cbreak</STRONG>,  this  is
+       after one character (cbreak mode), or after the first newline (nocbreak
+       mode).  In half-delay mode, the program waits until the  user  types  a
+       character or the specified timeout interval has elapsed.
+
+       Unless  <STRONG>noecho</STRONG> has been set, these routines echo the character into the
+       designated window.
+
+       If the window is not a pad and has been moved  or  modified  since  the
+       last call to <STRONG>wrefresh</STRONG>, <STRONG>wrefresh</STRONG> will be called before another character
+       is read.
+
+       If <STRONG>keypad</STRONG> is enabled, these functions respond  to  the  pressing  of  a
+       function key by setting the object pointed to by <EM>wch</EM> to the keycode as-
+       signed to the function key, and returning <STRONG>KEY_CODE_YES</STRONG>.  If a character
+       (such  as  escape) that could be the beginning of a function key is re-
+       ceived, curses sets a timer.  If the remainder of the sequence does ar-
+       rive  within  the designated time, curses passes through the character;
+       otherwise, curses returns the function key  value.   For  this  reason,
+       many  terminals  experience a delay between the time a user presses the
+       escape key and the time the escape is returned to the program.
+
+       The keycodes returned by these functions are the same as those returned
+       by <STRONG>wgetch</STRONG>:
+
+       <STRONG>o</STRONG>   The  predefined  function  keys  are listed in <STRONG>&lt;curses.h&gt;</STRONG> as macros
+           with values outside the range of 8-bit characters.  Their names be-
+           gin with <STRONG>KEY_</STRONG>.
+
+       <STRONG>o</STRONG>   Other  (user-defined)  function keys which may be defined using <STRONG>de-</STRONG>
+           <STRONG><A HREF="define_key.3x.html">fine_key(3x)</A></STRONG> have no names, but also are expected  to  have  values
+           outside the range of 8-bit characters.
+
+       The <STRONG>unget_wch</STRONG> function pushes the wide character <EM>wch</EM> back onto the head
+       of the input queue, so the wide character is returned by the next  call
+       to  <STRONG>get_wch</STRONG>.  The pushback of one character is guaranteed.  If the pro-
+       gram calls <STRONG>unget_wch</STRONG> too many times  without  an  intervening  call  to
+       <STRONG>get_wch</STRONG>, the operation may fail.
 
 
 </PRE><H2><a name="h2-NOTES">NOTES</a></H2><PRE>
-       The header  file  <STRONG>&lt;curses.h&gt;</STRONG>  automatically  includes  the
-       header file <STRONG>&lt;stdio.h&gt;</STRONG>.
+       The  header  file  <STRONG>&lt;curses.h&gt;</STRONG>  automatically  includes  the header file
+       <STRONG>&lt;stdio.h&gt;</STRONG>.
 
-       Applications should not define the escape key by itself as
-       a single-character function.
+       Applications should not define the escape key by itself  as  a  single-
+       character function.
 
-       When using <STRONG>get_wch</STRONG>, <STRONG>wget_wch</STRONG>,  <STRONG>mvget_wch</STRONG>,  or  <STRONG>mvwget_wch</STRONG>,
-       applications should not use <STRONG>nocbreak</STRONG> mode and <STRONG>echo</STRONG> mode at
-       the same time.  Depending on the state of the  tty  driver
-       when  each character is typed, the program may produce un-
-       desirable results.
+       When  using  <STRONG>get_wch</STRONG>,  <STRONG>wget_wch</STRONG>, <STRONG>mvget_wch</STRONG>, or <STRONG>mvwget_wch</STRONG>, applications
+       should not use <STRONG>nocbreak</STRONG> mode and <STRONG>echo</STRONG> mode at the same time.  Depending
+       on  the  state of the tty driver when each character is typed, the pro-
+       gram may produce undesirable results.
 
        All functions except <STRONG>wget_wch</STRONG> and <STRONG>unget_wch</STRONG> may be macros.
 
 
 </PRE><H2><a name="h2-RETURN-VALUE">RETURN VALUE</a></H2><PRE>
-       When <STRONG>get_wch</STRONG>, <STRONG>wget_wch</STRONG>, <STRONG>mvget_wch</STRONG>,  and  <STRONG>mvwget_wch</STRONG>  func-
-       tions  successfully report the pressing of a function key,
-       they return <STRONG>KEY_CODE_YES</STRONG>.  When they successfully report a
-       wide  character,  they  return <STRONG>OK</STRONG>.  Otherwise, they return
-       <STRONG>ERR</STRONG>.
+       When <STRONG>get_wch</STRONG>, <STRONG>wget_wch</STRONG>, <STRONG>mvget_wch</STRONG>, and <STRONG>mvwget_wch</STRONG> functions successful-
+       ly  report  the  pressing  of a function key, they return <STRONG>KEY_CODE_YES</STRONG>.
+       When they successfully report a wide character, they return <STRONG>OK</STRONG>.  Other-
+       wise, they return <STRONG>ERR</STRONG>.
 
-       Upon successful completion, <STRONG>unget_wch</STRONG> returns <STRONG>OK</STRONG>.   Other-
-       wise, the function returns <STRONG>ERR</STRONG>.
+       Upon successful completion, <STRONG>unget_wch</STRONG> returns <STRONG>OK</STRONG>.  Otherwise, the func-
+       tion returns <STRONG>ERR</STRONG>.
 
-       Functions  with a "mv" prefix first perform a cursor move-
-       ment using <STRONG>wmove</STRONG>, and return an error if the  position  is
-       outside the window, or if the window pointer is null.
+       Functions with a "mv" prefix first  perform  a  cursor  movement  using
+       <STRONG>wmove</STRONG>, and return an error if the position is outside the window, or if
+       the window pointer is null.
 
 
 </PRE><H2><a name="h2-SEE-ALSO">SEE ALSO</a></H2><PRE>
-       <STRONG><A HREF="ncurses.3x.html">curses(3x)</A></STRONG>,   <STRONG><A HREF="curs_getch.3x.html">curs_getch(3x)</A></STRONG>,  <STRONG><A HREF="curs_ins_wch.3x.html">curs_ins_wch(3x)</A></STRONG>,  <STRONG>curs_in-</STRONG>
-       <STRONG><A HREF="curs_inopts.3x.html">opts(3x)</A></STRONG>, <STRONG><A HREF="curs_move.3x.html">curs_move(3x)</A></STRONG>, <STRONG><A HREF="curs_refresh.3x.html">curs_refresh(3x)</A></STRONG>
+       <STRONG><A HREF="ncurses.3x.html">curses(3x)</A></STRONG>,    <STRONG><A HREF="curs_getch.3x.html">curs_getch(3x)</A></STRONG>,    <STRONG><A HREF="curs_ins_wch.3x.html">curs_ins_wch(3x)</A></STRONG>,    <STRONG><A HREF="curs_inopts.3x.html">curs_inopts(3x)</A></STRONG>,
+       <STRONG><A HREF="curs_move.3x.html">curs_move(3x)</A></STRONG>, <STRONG><A HREF="curs_refresh.3x.html">curs_refresh(3x)</A></STRONG>
 
 
 
-                                                       <STRONG><A HREF="curs_get_wch.3x.html">curs_get_wch(3x)</A></STRONG>
+                                                              <STRONG><A HREF="curs_get_wch.3x.html">curs_get_wch(3x)</A></STRONG>
 </PRE>
 <div class="nav">
 <ul>
index 853075a8cbf6ebd0f52207f58fc31325c5ef96a5..36ad16b1d5c30ba4ef2f214f2707a5c106cd31f9 100644 (file)
 <BODY>
 <H1 class="no-header">curs_get_wstr 3x</H1>
 <PRE>
-<STRONG><A HREF="curs_get_wstr.3x.html">curs_get_wstr(3x)</A></STRONG>                                     <STRONG><A HREF="curs_get_wstr.3x.html">curs_get_wstr(3x)</A></STRONG>
+<STRONG><A HREF="curs_get_wstr.3x.html">curs_get_wstr(3x)</A></STRONG>                                            <STRONG><A HREF="curs_get_wstr.3x.html">curs_get_wstr(3x)</A></STRONG>
 
 
 
 
 </PRE><H2><a name="h2-NAME">NAME</a></H2><PRE>
-       <STRONG>get_wstr</STRONG>, <STRONG>getn_wstr</STRONG>, <STRONG>wget_wstr</STRONG>, <STRONG>wgetn_wstr</STRONG>, <STRONG>mvget_wstr</STRONG>,
-       <STRONG>mvgetn_wstr</STRONG>, <STRONG>mvwget_wstr</STRONG>, <STRONG>mvwgetn_wstr</STRONG> - get an array of
-       wide characters from a curses terminal keyboard
+       <STRONG>get_wstr</STRONG>, <STRONG>getn_wstr</STRONG>, <STRONG>wget_wstr</STRONG>, <STRONG>wgetn_wstr</STRONG>, <STRONG>mvget_wstr</STRONG>, <STRONG>mvgetn_wstr</STRONG>,
+       <STRONG>mvwget_wstr</STRONG>, <STRONG>mvwgetn_wstr</STRONG> - get an array of wide characters from a
+       curses terminal keyboard
 
 
 </PRE><H2><a name="h2-SYNOPSIS">SYNOPSIS</a></H2><PRE>
 
 
 </PRE><H2><a name="h2-DESCRIPTION">DESCRIPTION</a></H2><PRE>
-       The  effect  of <STRONG>get_wstr</STRONG> is as though a series of calls to
-       <STRONG><A HREF="curs_get_wch.3x.html">get_wch(3x)</A></STRONG> were made, until a newline, other end-of-line,
-       or  end-of-file  condition  is  processed.  An end-of-file
-       condition is represented by <STRONG>WEOF</STRONG>, as defined in <STRONG>&lt;wchar.h&gt;</STRONG>.
-       The  newline and end-of-line conditions are represented by
-       the <STRONG>\n</STRONG> <STRONG>wchar_t</STRONG> value.  In all instances, the  end  of  the
-       string  is  terminated  by  a  null  <STRONG>wchar_t</STRONG>.  The routine
-       places resulting values in the area pointed to by <EM>wstr</EM>.
+       The  effect  of  <STRONG>get_wstr</STRONG> is as though a series of calls to <STRONG><A HREF="curs_get_wch.3x.html">get_wch(3x)</A></STRONG>
+       were made, until a newline, other end-of-line, or end-of-file condition
+       is  processed.  An end-of-file condition is represented by <STRONG>WEOF</STRONG>, as de-
+       fined in <STRONG>&lt;wchar.h&gt;</STRONG>.  The newline and end-of-line conditions are  repre-
+       sented  by  the  <STRONG>\n</STRONG>  <STRONG>wchar_t</STRONG>  value.   In all instances, the end of the
+       string is terminated by a null <STRONG>wchar_t</STRONG>.  The routine  places  resulting
+       values in the area pointed to by <EM>wstr</EM>.
 
-       The user's erase and kill characters are interpreted.   If
-       keypad   mode   is   on   for  the  window,  <STRONG>KEY_LEFT</STRONG>  and
-       <STRONG>KEY_BACKSPACE</STRONG> are both considered equivalent to the user's
-       kill character.
+       The  user's  erase and kill characters are interpreted.  If keypad mode
+       is on for the window, <STRONG>KEY_LEFT</STRONG> and <STRONG>KEY_BACKSPACE</STRONG>  are  both  considered
+       equivalent to the user's kill character.
 
-       Characters  input are echoed only if <STRONG>echo</STRONG> is currently on.
-       In that case, backspace is echoed as deletion of the  pre-
-       vious character (typically a left motion).
+       Characters  input  are  echoed  only  if <STRONG>echo</STRONG> is currently on.  In that
+       case, backspace is echoed as deletion of the previous character  (typi-
+       cally a left motion).
 
-       The  effect of <STRONG>wget_wstr</STRONG> is as though a series of calls to
-       <STRONG>wget_wch</STRONG> were made.
+       The effect of <STRONG>wget_wstr</STRONG> is as though a series of calls to <STRONG>wget_wch</STRONG> were
+       made.
 
-       The effect of <STRONG>mvget_wstr</STRONG> is as though a call to  <STRONG>move</STRONG>  and
-       then a series of calls to <STRONG>get_wch</STRONG> were made.
+       The effect of <STRONG>mvget_wstr</STRONG> is as though a call to <STRONG>move</STRONG> and then a  series
+       of calls to <STRONG>get_wch</STRONG> were made.
 
-       The effect of <STRONG>mvwget_wstr</STRONG> is as though a call to <STRONG>wmove</STRONG> and
-       then a series of calls to <STRONG>wget_wch</STRONG> were made.
+       The  effect  of <STRONG>mvwget_wstr</STRONG> is as though a call to <STRONG>wmove</STRONG> and then a se-
+       ries of calls to <STRONG>wget_wch</STRONG> were made.
 
-       The <STRONG>getn_wstr</STRONG>, <STRONG>mvgetn_wstr</STRONG>, <STRONG>mvwgetn_wstr</STRONG>,  and  <STRONG>wgetn_wstr</STRONG>
-       functions  are  identical  to  the  <STRONG>get_wstr</STRONG>,  <STRONG>mvget_wstr</STRONG>,
-       <STRONG>mvwget_wstr</STRONG>, and <STRONG>wget_wstr</STRONG> functions, respectively, except
-       that  the <STRONG>*n_*</STRONG> versions read at most <EM>n</EM> characters, letting
-       the application prevent overflow of the input buffer.
+       The <STRONG>getn_wstr</STRONG>, <STRONG>mvgetn_wstr</STRONG>, <STRONG>mvwgetn_wstr</STRONG>, and <STRONG>wgetn_wstr</STRONG> functions  are
+       identical to the <STRONG>get_wstr</STRONG>, <STRONG>mvget_wstr</STRONG>, <STRONG>mvwget_wstr</STRONG>, and <STRONG>wget_wstr</STRONG> func-
+       tions, respectively, except that the <STRONG>*n_*</STRONG> versions read at most <EM>n</EM> char-
+       acters, letting the application prevent overflow of the input buffer.
 
 
 </PRE><H2><a name="h2-NOTES">NOTES</a></H2><PRE>
-       Using <STRONG>get_wstr</STRONG>, <STRONG>mvget_wstr</STRONG>, <STRONG>mvwget_wstr</STRONG>, or  <STRONG>wget_wstr</STRONG>  to
-       read  a  line  that overflows the array pointed to by <STRONG>wstr</STRONG>
-       causes  undefined  results.    The   use   of   <STRONG>getn_wstr</STRONG>,
-       <STRONG>mvgetn_wstr</STRONG>, <STRONG>mvwgetn_wstr</STRONG>, or <STRONG>wgetn_wstr</STRONG>, respectively, is
-       recommended.
+       Using  <STRONG>get_wstr</STRONG>,  <STRONG>mvget_wstr</STRONG>,  <STRONG>mvwget_wstr</STRONG>, or <STRONG>wget_wstr</STRONG> to read a line
+       that overflows the array pointed to by <STRONG>wstr</STRONG> causes  undefined  results.
+       The use of <STRONG>getn_wstr</STRONG>, <STRONG>mvgetn_wstr</STRONG>, <STRONG>mvwgetn_wstr</STRONG>, or <STRONG>wgetn_wstr</STRONG>, respec-
+       tively, is recommended.
 
-       These functions cannot return <STRONG>KEY_</STRONG> values because there is
-       no  way  to  distinguish a <STRONG>KEY_</STRONG> value from a valid <STRONG>wchar_t</STRONG>
-       value.
+       These functions cannot return <STRONG>KEY_</STRONG> values because there is  no  way  to
+       distinguish a <STRONG>KEY_</STRONG> value from a valid <STRONG>wchar_t</STRONG> value.
 
        All of these routines except <STRONG>wgetn_wstr</STRONG> may be macros.
 
 
 </PRE><H2><a name="h2-RETURN-VALUE">RETURN VALUE</a></H2><PRE>
-       All of these functions return <STRONG>OK</STRONG> upon  successful  comple-
-       tion.  Otherwise, they return <STRONG>ERR</STRONG>.
+       All  of  these  functions return <STRONG>OK</STRONG> upon successful completion.  Other-
+       wise, they return <STRONG>ERR</STRONG>.
 
-       Functions  using  a window parameter return an error if it
-       is null.
+       Functions using a window parameter return an error if it is null.
 
               <STRONG>wgetn_wstr</STRONG>
-                   returns an error if  the  associated  call  to
-                   <STRONG>wget_wch</STRONG> failed.
+                   returns an error if the associated call to <STRONG>wget_wch</STRONG> failed.
 
-       Functions  with a "mv" prefix first perform a cursor move-
-       ment using <STRONG>wmove</STRONG>, and return an error if the  position  is
-       outside the window, or if the window pointer is null.
+       Functions with a "mv" prefix first  perform  a  cursor  movement  using
+       <STRONG>wmove</STRONG>, and return an error if the position is outside the window, or if
+       the window pointer is null.
 
 
 </PRE><H2><a name="h2-PORTABILITY">PORTABILITY</a></H2><PRE>
-       These  functions are described in The Single Unix Specifi-
-       cation, Version 2.  No error conditions are defined.  This
-       implementation  returns ERR if the window pointer is null,
-       or if the lower-level <STRONG>wget_wch</STRONG> call returns  an  ERR.   In
-       the  latter  case,  an  ERR  return  without other data is
-       treated as an end-of-file condition, and the returned  ar-
-       ray contains a <STRONG>WEOF</STRONG> followed by a null <STRONG>wchar_t</STRONG>.
+       These functions are described in The Single Unix Specification, Version
+       2.   No  error conditions are defined.  This implementation returns ERR
+       if the window pointer is null, or if the lower-level <STRONG>wget_wch</STRONG> call  re-
+       turns  an ERR.  In the latter case, an ERR return without other data is
+       treated as an end-of-file condition, and the returned array contains  a
+       <STRONG>WEOF</STRONG> followed by a null <STRONG>wchar_t</STRONG>.
 
-       X/Open  curses documented these functions to pass an array
-       of <STRONG>wchar_t</STRONG> in 1997, but that was an error because of  this
-       part of the description:
+       X/Open curses documented these functions to pass an array of <STRONG>wchar_t</STRONG> in
+       1997, but that was an error because of this part of the description:
 
-              The  effect  of <EM>get</EM><STRONG>_</STRONG><EM>wstr()</EM> is as though a series of
-              calls to <EM>get</EM><STRONG>_</STRONG><EM>wch()</EM> were made, until a newline char-
-              acter,  end-of-line character, or end-of-file char-
-              acter is processed.
+              The effect of <EM>get</EM><STRONG>_</STRONG><EM>wstr()</EM> is as  though  a  series  of  calls  to
+              <EM>get</EM><STRONG>_</STRONG><EM>wch()</EM>  were  made,  until  a  newline character, end-of-line
+              character, or end-of-file character is processed.
 
-       The latter function <EM>get</EM><STRONG>_</STRONG><EM>wch()</EM> can return a negative value,
-       while  <STRONG>wchar_t</STRONG> is a unsigned type.  All of the vendors im-
-       plement this using <STRONG>wint_t</STRONG>, following the standard.
+       The latter function  <EM>get</EM><STRONG>_</STRONG><EM>wch()</EM>  can  return  a  negative  value,  while
+       <STRONG>wchar_t</STRONG>  is  a  unsigned type.  All of the vendors implement this using
+       <STRONG>wint_t</STRONG>, following the standard.
 
 
 </PRE><H2><a name="h2-SEE-ALSO">SEE ALSO</a></H2><PRE>
 
 
 
-                                                      <STRONG><A HREF="curs_get_wstr.3x.html">curs_get_wstr(3x)</A></STRONG>
+                                                             <STRONG><A HREF="curs_get_wstr.3x.html">curs_get_wstr(3x)</A></STRONG>
 </PRE>
 <div class="nav">
 <ul>
index 73597971cc9650d294451fa788635da29a8324e2..da37720b9c75e5308291b71f13978513354dfed0 100644 (file)
 <BODY>
 <H1 class="no-header">curs_getcchar 3x</H1>
 <PRE>
-<STRONG><A HREF="curs_getcchar.3x.html">curs_getcchar(3x)</A></STRONG>                                     <STRONG><A HREF="curs_getcchar.3x.html">curs_getcchar(3x)</A></STRONG>
+<STRONG><A HREF="curs_getcchar.3x.html">curs_getcchar(3x)</A></STRONG>                                            <STRONG><A HREF="curs_getcchar.3x.html">curs_getcchar(3x)</A></STRONG>
 
 
 
 
 </PRE><H2><a name="h2-NAME">NAME</a></H2><PRE>
-       <STRONG>getcchar</STRONG>,  <STRONG>setcchar</STRONG> - Get a wide character string and ren-
-       dition from a <STRONG>cchar_t</STRONG> or set a <STRONG>cchar_t</STRONG> from a wide-charac-
-       ter string
+       <STRONG>getcchar</STRONG>,  <STRONG>setcchar</STRONG>  - Get a wide character string and rendition from a
+       <STRONG>cchar_t</STRONG> or set a <STRONG>cchar_t</STRONG> from a wide-character string
 
 
 </PRE><H2><a name="h2-SYNOPSIS">SYNOPSIS</a></H2><PRE>
 </PRE><H2><a name="h2-DESCRIPTION">DESCRIPTION</a></H2><PRE>
 
 </PRE><H3><a name="h3-getcchar">getcchar</a></H3><PRE>
-       The  <STRONG>getcchar</STRONG>  function  gets  a wide-character string and
-       rendition from a <STRONG>cchar_t</STRONG> argument.  When <EM>wch</EM> is not a null
-       pointer, the <STRONG>getcchar</STRONG> function does the following:
+       The <STRONG>getcchar</STRONG> function gets a wide-character string and rendition from a
+       <STRONG>cchar_t</STRONG>  argument.   When <EM>wch</EM> is not a null pointer, the <STRONG>getcchar</STRONG> func-
+       tion does the following:
 
        <STRONG>o</STRONG>   Extracts information from a <STRONG>cchar_t</STRONG> value <EM>wcval</EM>
 
-       <STRONG>o</STRONG>   Stores   the  character  attributes  in  the  location
-           pointed to by <EM>attrs</EM>
+       <STRONG>o</STRONG>   Stores the character attributes in the location pointed to by <EM>attrs</EM>
 
-       <STRONG>o</STRONG>   Stores the color-pair in the location  pointed  to  by
-           <EM>color</EM><STRONG>_</STRONG><EM>pair</EM>
+       <STRONG>o</STRONG>   Stores the color-pair in the location pointed to by <EM>color</EM><STRONG>_</STRONG><EM>pair</EM>
 
-       <STRONG>o</STRONG>   Stores  the  wide-character  string, characters refer-
-           enced by <EM>wcval</EM>, into the array pointed to by <EM>wch</EM>.
+       <STRONG>o</STRONG>   Stores the wide-character string, characters referenced  by  <EM>wcval</EM>,
+           into the array pointed to by <EM>wch</EM>.
 
-       When <EM>wch</EM> is a null pointer, the <STRONG>getcchar</STRONG> function does the
-       following:
+       When <EM>wch</EM> is a null pointer, the <STRONG>getcchar</STRONG> function does the following:
 
-       <STRONG>o</STRONG>   Obtains  the  number  of wide characters pointed to by
-           <EM>wcval</EM>
+       <STRONG>o</STRONG>   Obtains the number of wide characters pointed to by <EM>wcval</EM>
 
-       <STRONG>o</STRONG>   Does not  change  the  data  referenced  by  <EM>attrs</EM>  or
-           <EM>color</EM><STRONG>_</STRONG><EM>pair</EM>
+       <STRONG>o</STRONG>   Does not change the data referenced by <EM>attrs</EM> or <EM>color</EM><STRONG>_</STRONG><EM>pair</EM>
 
 
 </PRE><H3><a name="h3-setcchar">setcchar</a></H3><PRE>
-       The  <STRONG>setcchar</STRONG> function initializes the location pointed to
-       by <EM>wcval</EM> by using:
+       The  <STRONG>setcchar</STRONG>  function initializes the location pointed to by <EM>wcval</EM> by
+       using:
 
        <STRONG>o</STRONG>   The character attributes in <EM>attrs</EM>
 
        <STRONG>o</STRONG>   The color pair in <EM>color</EM><STRONG>_</STRONG><EM>pair</EM>
 
-       <STRONG>o</STRONG>   The wide-character string  pointed  to  by  <EM>wch</EM>.   The
-           string  must  be L'\0' terminated, contain at most one
-           spacing character, which must be the first.
+       <STRONG>o</STRONG>   The wide-character string pointed to by <EM>wch</EM>.  The  string  must  be
+           L'\0' terminated, contain at most one spacing character, which must
+           be the first.
 
-           Up to <STRONG>CCHARW_MAX</STRONG>-1 nonspacing characters  may  follow.
-           Additional nonspacing characters are ignored.
+           Up to <STRONG>CCHARW_MAX</STRONG>-1 nonspacing characters  may  follow.   Additional
+           nonspacing characters are ignored.
 
-           The  string  may  contain  a  single control character
-           instead.  In that case, no nonspacing  characters  are
-           allowed.
+           The string may contain a single control character instead.  In that
+           case, no nonspacing characters are allowed.
 
 
 </PRE><H2><a name="h2-EXTENSIONS">EXTENSIONS</a></H2><PRE>
-       X/Open  Curses documents the <EM>opts</EM> argument as reserved for
-       future use, saying that it must be null.  This implementa-
-       tion  uses that parameter in ABI 6 for the functions which
-       have a color-pair  parameter  to  support  extended  color
-       pairs:
+       X/Open Curses documents the <EM>opts</EM> argument as reserved for  future  use,
+       saying  that  it must be null.  This implementation uses that parameter
+       in ABI 6 for the functions which have a color-pair parameter to support
+       extended color pairs:
 
-       <STRONG>o</STRONG>   For   functions   which  modify the color, e.g., <STRONG>setc-</STRONG>
-           <STRONG>char</STRONG>, if <EM>opts</EM> is set it is treated  as  a  pointer  to
-           <STRONG>int</STRONG>,  and used to  set  the  color pair instead of the
-           <STRONG>short</STRONG> pair parameter.
+       <STRONG>o</STRONG>   For   functions  which modify the color, e.g., <STRONG>setcchar</STRONG>, if <EM>opts</EM> is
+           set it is treated as a pointer to <STRONG>int</STRONG>, and used to  set  the  color
+           pair instead of the <STRONG>short</STRONG> pair parameter.
 
-       <STRONG>o</STRONG>   For functions which retrieve the  color,  e.g.,  <STRONG>getc-</STRONG>
-           <STRONG>char</STRONG>,  if  <EM>opts</EM>  is  set it is treated as a pointer to
-           <STRONG>int</STRONG>, and  used  to  retrieve  the color pair as an <STRONG>int</STRONG>
-           value,  in  addition  retrieving  it  via the standard
-           pointer to <STRONG>short</STRONG> parameter.
+       <STRONG>o</STRONG>   For  functions which retrieve the color, e.g., <STRONG>getcchar</STRONG>, if <EM>opts</EM> is
+           set it is treated as a pointer to <STRONG>int</STRONG>, and  used  to  retrieve  the
+           color pair as an <STRONG>int</STRONG> value, in addition retrieving it via the stan-
+           dard pointer to <STRONG>short</STRONG> parameter.
 
 
 </PRE><H2><a name="h2-NOTES">NOTES</a></H2><PRE>
-       The <EM>wcval</EM> argument may be a value generated by a  call  to
-       <STRONG>setcchar</STRONG>  or by a function that has a <STRONG>cchar_t</STRONG> output argu-
-       ment.  If <EM>wcval</EM> is constructed by  any  other  means,  the
-       effect is unspecified.
+       The <EM>wcval</EM> argument may be a value generated by a call to <STRONG>setcchar</STRONG> or by
+       a function that has a <STRONG>cchar_t</STRONG> output argument.  If <EM>wcval</EM> is constructed
+       by any other means, the effect is unspecified.
 
 
 </PRE><H2><a name="h2-RETURN-VALUE">RETURN VALUE</a></H2><PRE>
-       When <EM>wch</EM> is a null pointer, <STRONG>getcchar</STRONG> returns the number of
-       wide characters referenced by <EM>wcval</EM>, including one  for  a
-       trailing null.
+       When <EM>wch</EM> is a null pointer, <STRONG>getcchar</STRONG> returns the number of wide charac-
+       ters referenced by <EM>wcval</EM>, including one for a trailing null.
 
-       When  <EM>wch</EM>  is not a null pointer, <STRONG>getcchar</STRONG> returns <STRONG>OK</STRONG> upon
-       successful completion, and <STRONG>ERR</STRONG> otherwise.
+       When  <EM>wch</EM>  is  not  a null pointer, <STRONG>getcchar</STRONG> returns <STRONG>OK</STRONG> upon successful
+       completion, and <STRONG>ERR</STRONG> otherwise.
 
-       Upon successful completion, <STRONG>setcchar</STRONG> returns  <STRONG>OK</STRONG>.   Other-
-       wise, it returns <STRONG>ERR</STRONG>.
+       Upon successful completion, <STRONG>setcchar</STRONG> returns <STRONG>OK</STRONG>.  Otherwise, it returns
+       <STRONG>ERR</STRONG>.
 
 
 </PRE><H2><a name="h2-SEE-ALSO">SEE ALSO</a></H2><PRE>
-       Functions:   <STRONG><A HREF="curs_attr.3x.html">curs_attr(3x)</A></STRONG>,   <STRONG><A HREF="curs_color.3x.html">curs_color(3x)</A></STRONG>,  <STRONG><A HREF="ncurses.3x.html">curses(3x)</A></STRONG>,
-       <STRONG>wcwidth(3)</STRONG>.
+       Functions: <STRONG><A HREF="curs_attr.3x.html">curs_attr(3x)</A></STRONG>, <STRONG><A HREF="curs_color.3x.html">curs_color(3x)</A></STRONG>, <STRONG><A HREF="ncurses.3x.html">curses(3x)</A></STRONG>, <STRONG>wcwidth(3)</STRONG>.
 
 
 
-                                                      <STRONG><A HREF="curs_getcchar.3x.html">curs_getcchar(3x)</A></STRONG>
+                                                             <STRONG><A HREF="curs_getcchar.3x.html">curs_getcchar(3x)</A></STRONG>
 </PRE>
 <div class="nav">
 <ul>
index d19c4b87454eea094ac47dad7dec1e085756245e..9fa11b6872a7552729941169fd0847a6264a6a43 100644 (file)
 <BODY>
 <H1 class="no-header">curs_getch 3x</H1>
 <PRE>
-<STRONG><A HREF="curs_getch.3x.html">curs_getch(3x)</A></STRONG>                                           <STRONG><A HREF="curs_getch.3x.html">curs_getch(3x)</A></STRONG>
+<STRONG><A HREF="curs_getch.3x.html">curs_getch(3x)</A></STRONG>                                                  <STRONG><A HREF="curs_getch.3x.html">curs_getch(3x)</A></STRONG>
 
 
 
 
 </PRE><H2><a name="h2-NAME">NAME</a></H2><PRE>
-       <STRONG>getch</STRONG>, <STRONG>wgetch</STRONG>, <STRONG>mvgetch</STRONG>, <STRONG>mvwgetch</STRONG>, <STRONG>ungetch</STRONG>, <STRONG>has_key</STRONG> - get
-       (or push back) characters from <STRONG>curses</STRONG> terminal keyboard
+       <STRONG>getch</STRONG>, <STRONG>wgetch</STRONG>, <STRONG>mvgetch</STRONG>, <STRONG>mvwgetch</STRONG>, <STRONG>ungetch</STRONG>, <STRONG>has_key</STRONG> - get (or push back)
+       characters from <STRONG>curses</STRONG> terminal keyboard
 
 
 </PRE><H2><a name="h2-SYNOPSIS">SYNOPSIS</a></H2><PRE>
 </PRE><H2><a name="h2-DESCRIPTION">DESCRIPTION</a></H2><PRE>
 
 </PRE><H3><a name="h3-Reading-characters">Reading characters</a></H3><PRE>
-       The <STRONG>getch</STRONG>, <STRONG>wgetch</STRONG>, <STRONG>mvgetch</STRONG> and <STRONG>mvwgetch</STRONG>, routines  read  a
-       character  from the window.  In no-delay mode, if no input
-       is waiting, the value <STRONG>ERR</STRONG> is returned.  In delay mode, the
-       program  waits until the system passes text through to the
-       program.  Depending on the setting of <STRONG>cbreak</STRONG>, this is  af-
-       ter  one  character (cbreak mode), or after the first new-
-       line (nocbreak mode).  In  half-delay  mode,  the  program
-       waits  until a character is typed or the specified timeout
-       has been reached.
+       The <STRONG>getch</STRONG>, <STRONG>wgetch</STRONG>, <STRONG>mvgetch</STRONG> and <STRONG>mvwgetch</STRONG>, routines read a character from
+       the window.  In no-delay mode, if no input is waiting, the value <STRONG>ERR</STRONG> is
+       returned.  In delay mode, the program waits  until  the  system  passes
+       text  through to the program.  Depending on the setting of <STRONG>cbreak</STRONG>, this
+       is after one character  (cbreak  mode),  or  after  the  first  newline
+       (nocbreak mode).  In half-delay mode, the program waits until a charac-
+       ter is typed or the specified timeout has been reached.
 
-       If <STRONG>echo</STRONG> is enabled, and the window is not a pad, then  the
-       character  will  also be echoed into the designated window
-       according to the following rules:
+       If <STRONG>echo</STRONG> is enabled, and the window is not a  pad,  then  the  character
+       will also be echoed into the designated window according to the follow-
+       ing rules:
 
-       <STRONG>o</STRONG>   If the character is the current erase character,  left
-           arrow,  or backspace, the cursor is moved one space to
-           the left and that screen  position  is  erased  as  if
-           <STRONG>delch</STRONG> had been called.
+       <STRONG>o</STRONG>   If the character is the current erase  character,  left  arrow,  or
+           backspace,  the  cursor  is  moved  one  space to the left and that
+           screen position is erased as if <STRONG>delch</STRONG> had been called.
 
-       <STRONG>o</STRONG>   If  the  character value is any other <STRONG>KEY_</STRONG> define, the
-           user is alerted with a <STRONG>beep</STRONG> call.
+       <STRONG>o</STRONG>   If the character value is any other <STRONG>KEY_</STRONG> define, the user is alert-
+           ed with a <STRONG>beep</STRONG> call.
 
-       <STRONG>o</STRONG>   If the character is a carriage-return, and  if  <STRONG>nl</STRONG>  is
-           enabled,  it  is translated to a line-feed after echo-
-           ing.
+       <STRONG>o</STRONG>   If  the character is a carriage-return, and if <STRONG>nl</STRONG> is enabled, it is
+           translated to a line-feed after echoing.
 
-       <STRONG>o</STRONG>   Otherwise  the  character  is  simply  output  to  the
-           screen.
+       <STRONG>o</STRONG>   Otherwise the character is simply output to the screen.
 
-       If the window is not a pad, and it has been moved or modi-
-       fied since the last call to  <STRONG>wrefresh</STRONG>,  <STRONG>wrefresh</STRONG>  will  be
-       called before another character is read.
+       If the window is not a pad, and it has been moved or modified since the
+       last call to <STRONG>wrefresh</STRONG>, <STRONG>wrefresh</STRONG> will be called before another character
+       is read.
 
 
 </PRE><H3><a name="h3-Keypad-mode">Keypad mode</a></H3><PRE>
-       If  <STRONG>keypad</STRONG> is <STRONG>TRUE</STRONG>, and a function key is pressed, the to-
-       ken for that function key is returned instead of  the  raw
-       characters:
-
-       <STRONG>o</STRONG>   The  predefined function keys are listed in <STRONG>&lt;curses.h&gt;</STRONG>
-           as macros with values outside the range of 8-bit char-
-           acters.  Their names begin with <STRONG>KEY_</STRONG>.
-
-       <STRONG>o</STRONG>   Other  (user-defined)  function  keys which may be de-
-           fined using <STRONG><A HREF="define_key.3x.html">define_key(3x)</A></STRONG> have no names, but also are
-           expected  to  have  values  outside the range of 8-bit
-           characters.
-
-       Thus, a variable intended to hold the return  value  of  a
-       function key must be of short size or larger.
-
-       When a character that could be the beginning of a function
-       key is received (which, on modern terminals, means an  es-
-       cape character), <STRONG>curses</STRONG> sets a timer.  If the remainder of
-       the sequence does not come in within the designated  time,
-       the  character  is passed through; otherwise, the function
-       key value is returned.  For this  reason,  many  terminals
-       experience a delay between the time a user presses the es-
-       cape key and the escape is returned to the program.
-
-       In <STRONG>ncurses</STRONG>, the timer normally expires after the value  in
-       <STRONG>ESCDELAY</STRONG>  (see <STRONG><A HREF="curs_variables.3x.html">curs_variables(3x)</A></STRONG>).  If <STRONG>notimeout</STRONG> is <STRONG>TRUE</STRONG>,
-       the timer does not expire; it  is  an  infinite  (or  very
-       large) value.  Because function keys usually begin with an
-       escape character, the terminal may appear to hang  in  no-
-       timeout  mode  after pressing the escape key until another
-       key is pressed.
+       If <STRONG>keypad</STRONG> is <STRONG>TRUE</STRONG>, and a function key is pressed, the  token  for  that
+       function key is returned instead of the raw characters:
+
+       <STRONG>o</STRONG>   The  predefined  function  keys  are listed in <STRONG>&lt;curses.h&gt;</STRONG> as macros
+           with values outside the range of 8-bit characters.  Their names be-
+           gin with <STRONG>KEY_</STRONG>.
+
+       <STRONG>o</STRONG>   Other  (user-defined)  function keys which may be defined using <STRONG>de-</STRONG>
+           <STRONG><A HREF="define_key.3x.html">fine_key(3x)</A></STRONG> have no names, but also are expected  to  have  values
+           outside the range of 8-bit characters.
+
+       Thus,  a  variable  intended to hold the return value of a function key
+       must be of short size or larger.
+
+       When a character that could be the beginning of a function key  is  re-
+       ceived  (which, on modern terminals, means an escape character), <STRONG>curses</STRONG>
+       sets a timer.  If the remainder of the sequence does not come in within
+       the  designated  time,  the character is passed through; otherwise, the
+       function key value is returned.  For this reason, many terminals  expe-
+       rience  a  delay between the time a user presses the escape key and the
+       escape is returned to the program.
+
+       In <STRONG>ncurses</STRONG>, the timer normally expires after the value in <STRONG>ESCDELAY</STRONG> (see
+       <STRONG><A HREF="curs_variables.3x.html">curs_variables(3x)</A></STRONG>).   If <STRONG>notimeout</STRONG> is <STRONG>TRUE</STRONG>, the timer does not expire;
+       it is an infinite (or very large) value.  Because function keys usually
+       begin  with an escape character, the terminal may appear to hang in no-
+       timeout mode after  pressing  the  escape  key  until  another  key  is
+       pressed.
 
 
 </PRE><H3><a name="h3-Ungetting-characters">Ungetting characters</a></H3><PRE>
-       The <STRONG>ungetch</STRONG> routine places <EM>ch</EM> back onto the input queue to
-       be returned by the next call to <STRONG>wgetch</STRONG>.  There is just one
-       input queue for all windows.
+       The  <STRONG>ungetch</STRONG> routine places <EM>ch</EM> back onto the input queue to be returned
+       by the next call to <STRONG>wgetch</STRONG>.  There is just one input queue for all win-
+       dows.
 
 
 </PRE><H3><a name="h3-Predefined-key-codes">Predefined key-codes</a></H3><PRE>
        The following special keys are defined in <STRONG>&lt;curses.h&gt;</STRONG>.
 
-       <STRONG>o</STRONG>   Except for the special case <STRONG>KEY_RESIZE</STRONG>, it  is  neces-
-           sary to enable <STRONG>keypad</STRONG> for <STRONG>getch</STRONG> to return these codes.
-
-       <STRONG>o</STRONG>   Not all of these are necessarily supported on any par-
-           ticular terminal.
-
-       <STRONG>o</STRONG>   The naming convention may seem obscure, with some  ap-
-           parent  misspellings  (such  as "RSUME" for "resume").
-           The names correspond to the long  terminfo  capability
-           names  for the keys, and were defined long ago, in the
-           1980s.
-
-            <EM>Name</EM>            <EM>Key</EM> <EM>name</EM>
-            -------------------------------------------------
-            KEY_BREAK       Break key
-            KEY_DOWN        The four arrow keys ...
-            KEY_UP
-            KEY_LEFT
-            KEY_RIGHT
-            KEY_HOME        Home key (upward+left arrow)
-            KEY_BACKSPACE   Backspace
-            KEY_F0          Function keys; space for 64 keys
-                            is reserved.
-            KEY_F(<EM>n</EM>)        For 0 &lt;= <EM>n</EM> &lt;= 63
-            KEY_DL          Delete line
-            KEY_IL          Insert line
-            KEY_DC          Delete character
-            KEY_IC          Insert char or enter insert mode
-            KEY_EIC         Exit insert char mode
-            KEY_CLEAR       Clear screen
-            KEY_EOS         Clear to end of screen
-            KEY_EOL         Clear to end of line
-            KEY_SF          Scroll 1 line forward
-            KEY_SR          Scroll 1 line backward (reverse)
-            KEY_NPAGE       Next page
-            KEY_PPAGE       Previous page
-
-            KEY_STAB        Set tab
-            KEY_CTAB        Clear tab
-            KEY_CATAB       Clear all tabs
-            KEY_ENTER       Enter or send
-            KEY_SRESET      Soft (partial) reset
-            KEY_RESET       Reset or hard reset
-            KEY_PRINT       Print or copy
-            KEY_LL          Home down or bottom (lower left)
-            KEY_A1          Upper left of keypad
-            KEY_A3          Upper right of keypad
-            KEY_B2          Center of keypad
-            KEY_C1          Lower left of keypad
-            KEY_C3          Lower right of keypad
-            KEY_BTAB        Back tab key
-            KEY_BEG         Beg(inning) key
-            KEY_CANCEL      Cancel key
-            KEY_CLOSE       Close key
-            KEY_COMMAND     Cmd (command) key
-            KEY_COPY        Copy key
-            KEY_CREATE      Create key
-            KEY_END         End key
-            KEY_EXIT        Exit key
-            KEY_FIND        Find key
-            KEY_HELP        Help key
-            KEY_MARK        Mark key
-            KEY_MESSAGE     Message key
-            KEY_MOUSE       Mouse event read
-            KEY_MOVE        Move key
-            KEY_NEXT        Next object key
-            KEY_OPEN        Open key
-            KEY_OPTIONS     Options key
-            KEY_PREVIOUS    Previous object key
-            KEY_REDO        Redo key
-            KEY_REFERENCE   Ref(erence) key
-            KEY_REFRESH     Refresh key
-            KEY_REPLACE     Replace key
-            KEY_RESIZE      Screen resized
-            KEY_RESTART     Restart key
-            KEY_RESUME      Resume key
-            KEY_SAVE        Save key
-            KEY_SBEG        Shifted beginning key
-            KEY_SCANCEL     Shifted cancel key
-            KEY_SCOMMAND    Shifted command key
-            KEY_SCOPY       Shifted copy key
-            KEY_SCREATE     Shifted create key
-            KEY_SDC         Shifted delete char key
-            KEY_SDL         Shifted delete line key
-            KEY_SELECT      Select key
-            KEY_SEND        Shifted end key
-            KEY_SEOL        Shifted clear line key
-            KEY_SEXIT       Shifted exit key
-            KEY_SFIND       Shifted find key
-            KEY_SHELP       Shifted help key
-            KEY_SHOME       Shifted home key
-            KEY_SIC         Shifted input key
-            KEY_SLEFT       Shifted left arrow key
-            KEY_SMESSAGE    Shifted message key
-            KEY_SMOVE       Shifted move key
-            KEY_SNEXT       Shifted next key
-            KEY_SOPTIONS    Shifted options key
-            KEY_SPREVIOUS   Shifted prev key
-            KEY_SPRINT      Shifted print key
-            KEY_SREDO       Shifted redo key
-            KEY_SREPLACE    Shifted replace key
-            KEY_SRIGHT      Shifted right arrow
-
-            KEY_SRSUME      Shifted resume key
-            KEY_SSAVE       Shifted save key
-            KEY_SSUSPEND    Shifted suspend key
-            KEY_SUNDO       Shifted undo key
-            KEY_SUSPEND     Suspend key
-            KEY_UNDO        Undo key
+       <STRONG>o</STRONG>   Except  for  the special case <STRONG>KEY_RESIZE</STRONG>, it is necessary to enable
+           <STRONG>keypad</STRONG> for <STRONG>getch</STRONG> to return these codes.
+
+       <STRONG>o</STRONG>   Not all of these are necessarily supported on any particular termi-
+           nal.
+
+       <STRONG>o</STRONG>   The  naming  convention  may  seem obscure, with some apparent mis-
+           spellings (such as "RSUME" for "resume").  The names correspond  to
+           the  long  terminfo capability names for the keys, and were defined
+           long ago, in the 1980s.
+
+                  <EM>Name</EM>            <EM>Key</EM> <EM>name</EM>
+                  -------------------------------------------------
+                  KEY_BREAK       Break key
+                  KEY_DOWN        The four arrow keys ...
+                  KEY_UP
+                  KEY_LEFT
+                  KEY_RIGHT
+                  KEY_HOME        Home key (upward+left arrow)
+                  KEY_BACKSPACE   Backspace
+                  KEY_F0          Function keys; space for 64 keys
+                                  is reserved.
+                  KEY_F(<EM>n</EM>)        For 0 &lt;= <EM>n</EM> &lt;= 63
+                  KEY_DL          Delete line
+                  KEY_IL          Insert line
+                  KEY_DC          Delete character
+                  KEY_IC          Insert char or enter insert mode
+                  KEY_EIC         Exit insert char mode
+                  KEY_CLEAR       Clear screen
+                  KEY_EOS         Clear to end of screen
+                  KEY_EOL         Clear to end of line
+                  KEY_SF          Scroll 1 line forward
+                  KEY_SR          Scroll 1 line backward (reverse)
+                  KEY_NPAGE       Next page
+                  KEY_PPAGE       Previous page
+                  KEY_STAB        Set tab
+                  KEY_CTAB        Clear tab
+                  KEY_CATAB       Clear all tabs
+                  KEY_ENTER       Enter or send
+                  KEY_SRESET      Soft (partial) reset
+                  KEY_RESET       Reset or hard reset
+                  KEY_PRINT       Print or copy
+                  KEY_LL          Home down or bottom (lower left)
+                  KEY_A1          Upper left of keypad
+                  KEY_A3          Upper right of keypad
+
+                  KEY_B2          Center of keypad
+                  KEY_C1          Lower left of keypad
+                  KEY_C3          Lower right of keypad
+                  KEY_BTAB        Back tab key
+                  KEY_BEG         Beg(inning) key
+                  KEY_CANCEL      Cancel key
+                  KEY_CLOSE       Close key
+                  KEY_COMMAND     Cmd (command) key
+                  KEY_COPY        Copy key
+                  KEY_CREATE      Create key
+                  KEY_END         End key
+                  KEY_EXIT        Exit key
+                  KEY_FIND        Find key
+                  KEY_HELP        Help key
+                  KEY_MARK        Mark key
+                  KEY_MESSAGE     Message key
+                  KEY_MOUSE       Mouse event read
+                  KEY_MOVE        Move key
+                  KEY_NEXT        Next object key
+                  KEY_OPEN        Open key
+                  KEY_OPTIONS     Options key
+                  KEY_PREVIOUS    Previous object key
+                  KEY_REDO        Redo key
+                  KEY_REFERENCE   Ref(erence) key
+                  KEY_REFRESH     Refresh key
+                  KEY_REPLACE     Replace key
+                  KEY_RESIZE      Screen resized
+                  KEY_RESTART     Restart key
+                  KEY_RESUME      Resume key
+                  KEY_SAVE        Save key
+                  KEY_SBEG        Shifted beginning key
+                  KEY_SCANCEL     Shifted cancel key
+                  KEY_SCOMMAND    Shifted command key
+                  KEY_SCOPY       Shifted copy key
+                  KEY_SCREATE     Shifted create key
+                  KEY_SDC         Shifted delete char key
+                  KEY_SDL         Shifted delete line key
+                  KEY_SELECT      Select key
+                  KEY_SEND        Shifted end key
+                  KEY_SEOL        Shifted clear line key
+                  KEY_SEXIT       Shifted exit key
+                  KEY_SFIND       Shifted find key
+                  KEY_SHELP       Shifted help key
+                  KEY_SHOME       Shifted home key
+                  KEY_SIC         Shifted input key
+                  KEY_SLEFT       Shifted left arrow key
+                  KEY_SMESSAGE    Shifted message key
+                  KEY_SMOVE       Shifted move key
+                  KEY_SNEXT       Shifted next key
+                  KEY_SOPTIONS    Shifted options key
+                  KEY_SPREVIOUS   Shifted prev key
+                  KEY_SPRINT      Shifted print key
+                  KEY_SREDO       Shifted redo key
+                  KEY_SREPLACE    Shifted replace key
+                  KEY_SRIGHT      Shifted right arrow
+                  KEY_SRSUME      Shifted resume key
+                  KEY_SSAVE       Shifted save key
+                  KEY_SSUSPEND    Shifted suspend key
+                  KEY_SUNDO       Shifted undo key
+                  KEY_SUSPEND     Suspend key
+                  KEY_UNDO        Undo key
 
        Keypad is arranged like this:
 
-                         +-----+------+-------+
-                         | <STRONG>A1</STRONG>  |  <STRONG>up</STRONG>  |  <STRONG>A3</STRONG>   |
-                         +-----+------+-------+
-                         |<STRONG>left</STRONG> |  <STRONG>B2</STRONG>  | <STRONG>right</STRONG> |
-                         +-----+------+-------+
-                         | <STRONG>C1</STRONG>  | <STRONG>down</STRONG> |  <STRONG>C3</STRONG>   |
-                         +-----+------+-------+
-       A  few  of  these predefined values do <EM>not</EM> correspond to a
-       real key:
+                                +-----+------+-------+
+                                | <STRONG>A1</STRONG>  |  <STRONG>up</STRONG>  |  <STRONG>A3</STRONG>   |
+                                +-----+------+-------+
+                                |<STRONG>left</STRONG> |  <STRONG>B2</STRONG>  | <STRONG>right</STRONG> |
+                                +-----+------+-------+
+                                | <STRONG>C1</STRONG>  | <STRONG>down</STRONG> |  <STRONG>C3</STRONG>   |
+                                +-----+------+-------+
+       A few of these predefined values do <EM>not</EM> correspond to a real key:
 
-       <STRONG>o</STRONG>   <STRONG>KEY_RESIZE</STRONG> is returned when the  <STRONG>SIGWINCH</STRONG>  signal  has
-           been  detected  (see  <STRONG><A HREF="curs_initscr.3x.html">initscr(3x)</A></STRONG> and <STRONG><A HREF="resizeterm.3x.html">resizeterm(3x)</A></STRONG>).
-           This code is returned whether or not <STRONG>keypad</STRONG>  has  been
-           enabled.
+       <STRONG>o</STRONG>   <STRONG>KEY_RESIZE</STRONG>  is  returned when the <STRONG>SIGWINCH</STRONG> signal has been detected
+           (see  <STRONG><A HREF="curs_initscr.3x.html">initscr(3x)</A></STRONG>  and  <STRONG><A HREF="resizeterm.3x.html">resizeterm(3x)</A></STRONG>).   This  code  is  returned
+           whether or not <STRONG>keypad</STRONG> has been enabled.
 
-       <STRONG>o</STRONG>   <STRONG>KEY_MOUSE</STRONG>    is   returned   for   mouse-events   (see
-           <STRONG><A HREF="curs_mouse.3x.html">curs_mouse(3x)</A></STRONG>).  This code relies upon whether or not
-           <STRONG><A HREF="curs_inopts.3x.html">keypad(3x)</A></STRONG> has been enabled, because (e.g., with <EM>xterm</EM>
-           mouse prototocol) ncurses must read escape  sequences,
-           just like a function key.
+       <STRONG>o</STRONG>   <STRONG>KEY_MOUSE</STRONG>  is returned for mouse-events (see <STRONG><A HREF="curs_mouse.3x.html">curs_mouse(3x)</A></STRONG>).  This
+           code relies upon whether or not <STRONG><A HREF="curs_inopts.3x.html">keypad(3x)</A></STRONG> has  been  enabled,  be-
+           cause  (e.g., with <EM>xterm</EM> mouse prototocol) ncurses must read escape
+           sequences, just like a function key.
 
 
 </PRE><H3><a name="h3-Testing-key-codes">Testing key-codes</a></H3><PRE>
-       The  <STRONG>has_key</STRONG> routine takes a key-code value from the above
-       list, and returns <STRONG>TRUE</STRONG> or <STRONG>FALSE</STRONG> according to  whether  the
-       current terminal type recognizes a key with that value.
+       The <STRONG>has_key</STRONG> routine takes a key-code value from the above list, and re-
+       turns <STRONG>TRUE</STRONG> or <STRONG>FALSE</STRONG> according to whether the current terminal type rec-
+       ognizes a key with that value.
 
        The library also supports these extensions:
 
           <STRONG>define_key</STRONG>
-               defines  a  key-code  for  a given string (see <STRONG>de-</STRONG>
-               <STRONG><A HREF="define_key.3x.html">fine_key(3x)</A></STRONG>).
+               defines a key-code for a given string (see <STRONG><A HREF="define_key.3x.html">define_key(3x)</A></STRONG>).
 
           <STRONG>key_defined</STRONG>
-               checks if there is a key-code defined for a  given
-               string (see <STRONG><A HREF="key_defined.3x.html">key_defined(3x)</A></STRONG>).
+               checks if there is a key-code defined for a given  string  (see
+               <STRONG><A HREF="key_defined.3x.html">key_defined(3x)</A></STRONG>).
 
 
 </PRE><H2><a name="h2-RETURN-VALUE">RETURN VALUE</a></H2><PRE>
-       All  routines  return  the integer <STRONG>ERR</STRONG> upon failure and an
-       integer value other than <STRONG>ERR</STRONG> (<STRONG>OK</STRONG> in the case  of  <STRONG>ungetch</STRONG>)
-       upon successful completion.
+       All  routines  return the integer <STRONG>ERR</STRONG> upon failure and an integer value
+       other than <STRONG>ERR</STRONG> (<STRONG>OK</STRONG> in the case of <STRONG>ungetch</STRONG>) upon successful completion.
 
           <STRONG>ungetch</STRONG>
                returns ERR if there is no more room in the FIFO.
 
           <STRONG>wgetch</STRONG>
-               returns  ERR  if the window pointer is null, or if
-               its timeout expires without having any data, or if
-               the  execution  was interrupted by a signal (<STRONG>errno</STRONG>
-               will be set to <STRONG>EINTR</STRONG>).
+               returns ERR if the window pointer is null, or  if  its  timeout
+               expires without having any data, or if the execution was inter-
+               rupted by a signal (<STRONG>errno</STRONG> will be set to <STRONG>EINTR</STRONG>).
 
-       Functions with a "mv" prefix first perform a cursor  move-
-       ment  using  <STRONG>wmove</STRONG>, and return an error if the position is
-       outside the window, or if the window pointer is null.
+       Functions with a "mv" prefix first  perform  a  cursor  movement  using
+       <STRONG>wmove</STRONG>, and return an error if the position is outside the window, or if
+       the window pointer is null.
 
 
 </PRE><H2><a name="h2-NOTES">NOTES</a></H2><PRE>
-       Use of the escape key by a programmer for a single charac-
-       ter  function  is discouraged, as it will cause a delay of
-       up to one second while the keypad code looks for a follow-
-       ing function-key sequence.
-
-       Some  keys  may be the same as commonly used control keys,
-       e.g., <STRONG>KEY_ENTER</STRONG>  versus  control/M,  <STRONG>KEY_BACKSPACE</STRONG>  versus
-       control/H.  Some curses implementations may differ accord-
-       ing to whether they treat  these  control  keys  specially
-       (and  ignore  the  terminfo),  or use the terminfo defini-
-       tions.  <STRONG>Ncurses</STRONG> uses the terminfo definition.  If it  says
-       that  <STRONG>KEY_ENTER</STRONG>  is control/M, <STRONG>getch</STRONG> will return <STRONG>KEY_ENTER</STRONG>
-       when you press control/M.
-
-       Generally, <STRONG>KEY_ENTER</STRONG> denotes the character(s) sent by  the
-       <EM>Enter</EM> key on the numeric keypad:
+       Use of the escape key by a programmer for a single  character  function
+       is  discouraged, as it will cause a delay of up to one second while the
+       keypad code looks for a following function-key sequence.
+
+       Some keys may be the same as commonly used control keys, e.g.,  <STRONG>KEY_EN-</STRONG>
+       <STRONG>TER</STRONG>  versus control/M, <STRONG>KEY_BACKSPACE</STRONG> versus control/H.  Some curses im-
+       plementations may differ according to whether they treat these  control
+       keys  specially  (and ignore the terminfo), or use the terminfo defini-
+       tions.  <STRONG>Ncurses</STRONG> uses the terminfo definition.  If it says that  <STRONG>KEY_EN-</STRONG>
+       <STRONG>TER</STRONG> is control/M, <STRONG>getch</STRONG> will return <STRONG>KEY_ENTER</STRONG> when you press control/M.
+
+       Generally,  <STRONG>KEY_ENTER</STRONG> denotes the character(s) sent by the <EM>Enter</EM> key on
+       the numeric keypad:
 
        <STRONG>o</STRONG>   the terminal description lists the most useful keys,
 
-       <STRONG>o</STRONG>   the  <EM>Enter</EM> key on the regular keyboard is already han-
-           dled by the standard ASCII characters for carriage-re-
-           turn and line-feed,
+       <STRONG>o</STRONG>   the <EM>Enter</EM> key on the regular keyboard is  already  handled  by  the
+           standard ASCII characters for carriage-return and line-feed,
 
-       <STRONG>o</STRONG>   depending  on  whether <STRONG>nl</STRONG> or <STRONG>nonl</STRONG> was called, pressing
-           "Enter" on the regular keyboard may  return  either  a
-           carriage-return or line-feed, and finally
+       <STRONG>o</STRONG>   depending on whether <STRONG>nl</STRONG> or <STRONG>nonl</STRONG> was called, pressing "Enter" on the
+           regular keyboard may return either a carriage-return or  line-feed,
+           and finally
 
-       <STRONG>o</STRONG>   "Enter  or  send" is the standard description for this
-           key.
+       <STRONG>o</STRONG>   "Enter or send" is the standard description for this key.
 
-       When using <STRONG>getch</STRONG>, <STRONG>wgetch</STRONG>, <STRONG>mvgetch</STRONG>, or  <STRONG>mvwgetch</STRONG>,  nocbreak
-       mode (<STRONG>nocbreak</STRONG>) and echo mode (<STRONG>echo</STRONG>) should not be used at
-       the same time.  Depending on the state of the  tty  driver
-       when  each character is typed, the program may produce un-
-       desirable results.
+       When   using   <STRONG>getch</STRONG>,  <STRONG>wgetch</STRONG>,  <STRONG>mvgetch</STRONG>,  or  <STRONG>mvwgetch</STRONG>,  nocbreak  mode
+       (<STRONG>nocbreak</STRONG>) and echo mode (<STRONG>echo</STRONG>) should not be used at  the  same  time.
+       Depending  on the state of the tty driver when each character is typed,
+       the program may produce undesirable results.
 
        Note that <STRONG>getch</STRONG>, <STRONG>mvgetch</STRONG>, and <STRONG>mvwgetch</STRONG> may be macros.
 
-       Historically, the set of keypad macros was largely defined
-       by  the  extremely  function-key-rich keyboard of the AT&amp;T
-       7300, aka 3B1, aka Safari 4.   Modern  personal  computers
-       usually  have  only a small subset of these.  IBM PC-style
-       consoles  typically  support  little  more  than   <STRONG>KEY_UP</STRONG>,
-       <STRONG>KEY_DOWN</STRONG>,    <STRONG>KEY_LEFT</STRONG>,   <STRONG>KEY_RIGHT</STRONG>,   <STRONG>KEY_HOME</STRONG>,   <STRONG>KEY_END</STRONG>,
-       <STRONG>KEY_NPAGE</STRONG>, <STRONG>KEY_PPAGE</STRONG>, and function keys 1 through 12.  The
-       Ins key is usually mapped to <STRONG>KEY_IC</STRONG>.
+       Historically, the set of keypad macros was largely defined by  the  ex-
+       tremely  function-key-rich  keyboard of the AT&amp;T 7300, aka 3B1, aka Sa-
+       fari 4.  Modern personal computers usually have only a small subset  of
+       these.   IBM  PC-style  consoles  typically  support  little  more than
+       <STRONG>KEY_UP</STRONG>, <STRONG>KEY_DOWN</STRONG>, <STRONG>KEY_LEFT</STRONG>, <STRONG>KEY_RIGHT</STRONG>,  <STRONG>KEY_HOME</STRONG>,  <STRONG>KEY_END</STRONG>,  <STRONG>KEY_NPAGE</STRONG>,
+       <STRONG>KEY_PPAGE</STRONG>,  and  function  keys  1  through 12.  The Ins key is usually
+       mapped to <STRONG>KEY_IC</STRONG>.
 
 
 </PRE><H2><a name="h2-PORTABILITY">PORTABILITY</a></H2><PRE>
-       The  *get* functions are described in the XSI Curses stan-
-       dard, Issue 4.  They  read  single-byte  characters  only.
-       The  standard  specifies  that they return <STRONG>ERR</STRONG> on failure,
-       but specifies no error conditions.
-
-       The echo behavior of these functions on input of  <STRONG>KEY_</STRONG>  or
-       backspace  characters  was not specified in the SVr4 docu-
-       mentation.  This description is adopted from the XSI Curs-
-       es standard.
-
-       The  behavior of <STRONG>getch</STRONG> and friends in the presence of han-
-       dled signals is unspecified in the  SVr4  and  XSI  Curses
-       documentation.   Under  historical curses implementations,
-       it varied depending on whether the operating system's  im-
-       plementation   of  handled  signal  receipt  interrupts  a
-       <STRONG>read(2)</STRONG> call in progress or not, and also (in some  imple-
-       mentations)  depending on whether an input timeout or non-
-       blocking mode has been set.
-
-       <STRONG>KEY_MOUSE</STRONG> is mentioned in XSI Curses, along with a few re-
-       lated terminfo capabilities, but no higher-level functions
-       use the feature.  The implementation in ncurses is an  ex-
-       tension.
-
-       <STRONG>KEY_RESIZE</STRONG>  is an extension first implemented for ncurses.
-       NetBSD curses later added this extension.
-
-       Programmers concerned about portability should be prepared
-       for  either  of two cases: (a) signal receipt does not in-
-       terrupt <STRONG>getch</STRONG>; (b) signal  receipt  interrupts  <STRONG>getch</STRONG>  and
-       causes it to return ERR with <STRONG>errno</STRONG> set to <STRONG>EINTR</STRONG>.
-
-       The  <STRONG>has_key</STRONG>  function is unique to <STRONG>ncurses</STRONG>.  We recommend
-       that any code using it be conditionalized  on  the  <STRONG>NCURS-</STRONG>
-       <STRONG>ES_VERSION</STRONG> feature macro.
+       The *get* functions are described in the XSI Curses standard, Issue  4.
+       They  read  single-byte  characters  only.  The standard specifies that
+       they return <STRONG>ERR</STRONG> on failure, but specifies no error conditions.
+
+       The echo behavior of these functions on  input  of  <STRONG>KEY_</STRONG>  or  backspace
+       characters  was not specified in the SVr4 documentation.  This descrip-
+       tion is adopted from the XSI Curses standard.
+
+       The behavior of <STRONG>getch</STRONG> and friends in the presence of handled signals is
+       unspecified in the SVr4 and XSI Curses documentation.  Under historical
+       curses implementations, it varied depending on  whether  the  operating
+       system's  implementation of handled signal receipt interrupts a <STRONG>read(2)</STRONG>
+       call in progress or not, and also (in some  implementations)  depending
+       on whether an input timeout or non-blocking mode has been set.
+
+       <STRONG>KEY_MOUSE</STRONG> is mentioned in XSI Curses, along with a few related terminfo
+       capabilities, but no higher-level functions use the feature.   The  im-
+       plementation in ncurses is an extension.
+
+       <STRONG>KEY_RESIZE</STRONG> is an extension first implemented for ncurses.  NetBSD curs-
+       es later added this extension.
+
+       Programmers concerned about portability should be prepared  for  either
+       of  two  cases: (a) signal receipt does not interrupt <STRONG>getch</STRONG>; (b) signal
+       receipt interrupts <STRONG>getch</STRONG> and causes it to return ERR with <STRONG>errno</STRONG> set  to
+       <STRONG>EINTR</STRONG>.
+
+       The  <STRONG>has_key</STRONG> function is unique to <STRONG>ncurses</STRONG>.  We recommend that any code
+       using it be conditionalized on the <STRONG>NCURSES_VERSION</STRONG> feature macro.
 
 
 </PRE><H2><a name="h2-SEE-ALSO">SEE ALSO</a></H2><PRE>
-       <STRONG><A HREF="ncurses.3x.html">curses(3x)</A></STRONG>,       <STRONG><A HREF="curs_inopts.3x.html">curs_inopts(3x)</A></STRONG>,       <STRONG><A HREF="curs_outopts.3x.html">curs_outopts(3x)</A></STRONG>,
-       <STRONG><A HREF="curs_mouse.3x.html">curs_mouse(3x)</A></STRONG>,      <STRONG><A HREF="curs_move.3x.html">curs_move(3x)</A></STRONG>,      <STRONG><A HREF="curs_refresh.3x.html">curs_refresh(3x)</A></STRONG>,
-       <STRONG><A HREF="curs_variables.3x.html">curs_variables(3x)</A></STRONG>, <STRONG><A HREF="resizeterm.3x.html">resizeterm(3x)</A></STRONG>.
+       <STRONG><A HREF="ncurses.3x.html">curses(3x)</A></STRONG>,    <STRONG><A HREF="curs_inopts.3x.html">curs_inopts(3x)</A></STRONG>,    <STRONG><A HREF="curs_outopts.3x.html">curs_outopts(3x)</A></STRONG>,    <STRONG><A HREF="curs_mouse.3x.html">curs_mouse(3x)</A></STRONG>,
+       <STRONG><A HREF="curs_move.3x.html">curs_move(3x)</A></STRONG>, <STRONG><A HREF="curs_refresh.3x.html">curs_refresh(3x)</A></STRONG>, <STRONG><A HREF="curs_variables.3x.html">curs_variables(3x)</A></STRONG>, <STRONG><A HREF="resizeterm.3x.html">resizeterm(3x)</A></STRONG>.
 
-       Comparable  functions in the wide-character (ncursesw) li-
-       brary are described in <STRONG><A HREF="curs_get_wch.3x.html">curs_get_wch(3x)</A></STRONG>.
+       Comparable  functions  in the wide-character (ncursesw) library are de-
+       scribed in <STRONG><A HREF="curs_get_wch.3x.html">curs_get_wch(3x)</A></STRONG>.
 
 
 
-                                                         <STRONG><A HREF="curs_getch.3x.html">curs_getch(3x)</A></STRONG>
+                                                                <STRONG><A HREF="curs_getch.3x.html">curs_getch(3x)</A></STRONG>
 </PRE>
 <div class="nav">
 <ul>
index 61ebd5466726fd48aa8a8c8cca12c8b670eca4ec..52968d5ed0adfede7cb76742f4142af021393f1b 100644 (file)
 <BODY>
 <H1 class="no-header">curs_getstr 3x</H1>
 <PRE>
-<STRONG><A HREF="curs_getstr.3x.html">curs_getstr(3x)</A></STRONG>                                         <STRONG><A HREF="curs_getstr.3x.html">curs_getstr(3x)</A></STRONG>
+<STRONG><A HREF="curs_getstr.3x.html">curs_getstr(3x)</A></STRONG>                                                <STRONG><A HREF="curs_getstr.3x.html">curs_getstr(3x)</A></STRONG>
 
 
 
 
 </PRE><H2><a name="h2-NAME">NAME</a></H2><PRE>
-       <STRONG>getstr</STRONG>, <STRONG>getnstr</STRONG>, <STRONG>wgetstr</STRONG>, <STRONG>wgetnstr</STRONG>, <STRONG>mvgetstr</STRONG>, <STRONG>mvgetnstr</STRONG>,
-       <STRONG>mvwgetstr</STRONG>, <STRONG>mvwgetnstr</STRONG> - accept character strings from
-       <STRONG>curses</STRONG> terminal keyboard
+       <STRONG>getstr</STRONG>, <STRONG>getnstr</STRONG>, <STRONG>wgetstr</STRONG>, <STRONG>wgetnstr</STRONG>, <STRONG>mvgetstr</STRONG>, <STRONG>mvgetnstr</STRONG>, <STRONG>mvwgetstr</STRONG>,
+       <STRONG>mvwgetnstr</STRONG> - accept character strings from <STRONG>curses</STRONG> terminal keyboard
 
 
 </PRE><H2><a name="h2-SYNOPSIS">SYNOPSIS</a></H2><PRE>
 
 
 </PRE><H2><a name="h2-DESCRIPTION">DESCRIPTION</a></H2><PRE>
-       The  function <STRONG>getstr</STRONG> is equivalent to a series of calls to
-       <STRONG>getch</STRONG>, until a newline or carriage return is received (the
-       terminating  character  is  not  included  in the returned
-       string).  The resulting value is placed in the area point-
-       ed to by the character pointer <EM>str</EM>.
+       The function <STRONG>getstr</STRONG> is equivalent to a series of calls to <STRONG>getch</STRONG>,  until
+       a  newline or carriage return is received (the terminating character is
+       not included in the returned string).  The resulting value is placed in
+       the area pointed to by the character pointer <EM>str</EM>.
 
-       <STRONG>wgetnstr</STRONG>  reads  at  most  <EM>n</EM> characters, thus preventing a
-       possible overflow of the input buffer.  Any attempt to en-
-       ter more characters (other than the terminating newline or
-       carriage return) causes a beep.  Function keys also  cause
-       a  beep  and are ignored.  The <STRONG>getnstr</STRONG> function reads from
-       the <EM>stdscr</EM> default window.
+       <STRONG>wgetnstr</STRONG>  reads  at most <EM>n</EM> characters, thus preventing a possible over-
+       flow of the input buffer.  Any attempt to enter more characters  (other
+       than  the terminating newline or carriage return) causes a beep.  Func-
+       tion keys also cause a beep and  are  ignored.   The  <STRONG>getnstr</STRONG>  function
+       reads from the <EM>stdscr</EM> default window.
 
-       The user's erase and kill characters are interpreted.   If
-       keypad   mode   is   on   for  the  window,  <STRONG>KEY_LEFT</STRONG>  and
-       <STRONG>KEY_BACKSPACE</STRONG> are both considered equivalent to the user's
-       kill character.
+       The  user's  erase and kill characters are interpreted.  If keypad mode
+       is on for the window, <STRONG>KEY_LEFT</STRONG> and <STRONG>KEY_BACKSPACE</STRONG>  are  both  considered
+       equivalent to the user's kill character.
 
-       Characters  input are echoed only if <STRONG>echo</STRONG> is currently on.
-       In that case, backspace is echoed as deletion of the  pre-
-       vious character (typically a left motion).
+       Characters  input  are  echoed  only  if <STRONG>echo</STRONG> is currently on.  In that
+       case, backspace is echoed as deletion of the previous character  (typi-
+       cally a left motion).
 
 
 </PRE><H2><a name="h2-RETURN-VALUE">RETURN VALUE</a></H2><PRE>
-       All routines return the integer <STRONG>ERR</STRONG> upon failure and an <STRONG>OK</STRONG>
-       (SVr4 specifies only "an integer value  other  than  <STRONG>ERR</STRONG>")
-       upon successful completion.
+       All routines return the integer <STRONG>ERR</STRONG> upon failure and an <STRONG>OK</STRONG> (SVr4 speci-
+       fies only "an integer value other than <STRONG>ERR</STRONG>")  upon  successful  comple-
+       tion.
 
        X/Open defines no error conditions.
 
-       In this implementation, these functions return an error if
-       the window pointer is null,  or  if  its  timeout  expires
-       without having any data.
+       In  this  implementation, these functions return an error if the window
+       pointer is null, or if its timeout expires without having any data.
 
-       This  implementation  provides an extension as well.  If a
-       SIGWINCH interrupts the function, it will  return  <STRONG>KEY_RE-</STRONG>
-       <STRONG>SIZE</STRONG> rather than <STRONG>OK</STRONG> or <STRONG>ERR</STRONG>.
+       This implementation provides an extension as well.  If a  SIGWINCH  in-
+       terrupts the function, it will return <STRONG>KEY_RESIZE</STRONG> rather than <STRONG>OK</STRONG> or <STRONG>ERR</STRONG>.
 
-       Functions  with a "mv" prefix first perform a cursor move-
-       ment using <STRONG>wmove</STRONG>, and return an error if the  position  is
-       outside the window, or if the window pointer is null.
+       Functions  with  a  "mv"  prefix  first perform a cursor movement using
+       <STRONG>wmove</STRONG>, and return an error if the position is outside the window, or if
+       the window pointer is null.
 
 
 </PRE><H2><a name="h2-NOTES">NOTES</a></H2><PRE>
 
 
 </PRE><H2><a name="h2-PORTABILITY">PORTABILITY</a></H2><PRE>
-       These  functions are described in the XSI Curses standard,
-       Issue 4.  They  read  single-byte  characters  only.   The
-       standard  does  not define any error conditions.  This im-
-       plementation returns ERR if the window pointer is null, or
-       if the lower-level <STRONG><A HREF="curs_getch.3x.html">wgetch(3x)</A></STRONG> call returns an ERR.
+       These  functions  are  described  in  the XSI Curses standard, Issue 4.
+       They read single-byte characters only.  The standard  does  not  define
+       any  error  conditions.   This implementation returns ERR if the window
+       pointer is null, or if the lower-level <STRONG><A HREF="curs_getch.3x.html">wgetch(3x)</A></STRONG> call returns an ERR.
 
-       SVr3  and early SVr4 curses implementations did not reject
-       function keys; the SVr4.0 documentation claimed that "spe-
-       cial  keys"  (such  as  function keys, "home" key, "clear"
-       key, <EM>etc</EM>.) are "interpreted", without giving details.   It
-       lied.   In  fact,  the  "character"  value appended to the
-       string by those implementations was  predictable  but  not
-       useful  (being,  in  fact, the low-order eight bits of the
-       key's KEY_ value).
+       SVr3 and early SVr4 curses  implementations  did  not  reject  function
+       keys;  the  SVr4.0  documentation  claimed that "special keys" (such as
+       function keys, "home" key, "clear" key, <EM>etc</EM>.) are "interpreted",  with-
+       out  giving details.  It lied.  In fact, the "character" value appended
+       to the string by those implementations was predictable but  not  useful
+       (being, in fact, the low-order eight bits of the key's KEY_ value).
 
-       The functions  <STRONG>getnstr</STRONG>,  <STRONG>mvgetnstr</STRONG>,  and  <STRONG>mvwgetnstr</STRONG>  were
-       present but not documented in SVr4.
+       The  functions  <STRONG>getnstr</STRONG>, <STRONG>mvgetnstr</STRONG>, and <STRONG>mvwgetnstr</STRONG> were present but not
+       documented in SVr4.
 
 
 </PRE><H2><a name="h2-SEE-ALSO">SEE ALSO</a></H2><PRE>
 
 
 
-                                                        <STRONG><A HREF="curs_getstr.3x.html">curs_getstr(3x)</A></STRONG>
+                                                               <STRONG><A HREF="curs_getstr.3x.html">curs_getstr(3x)</A></STRONG>
 </PRE>
 <div class="nav">
 <ul>
index cb7460b1aaedca6192b0b24984d7d46e6188acf2..e8f1cef5e2a881951da9e7c80e7ec7433dfc4e01 100644 (file)
 <BODY>
 <H1 class="no-header">curs_getyx 3x</H1>
 <PRE>
-<STRONG><A HREF="curs_getyx.3x.html">curs_getyx(3x)</A></STRONG>                                           <STRONG><A HREF="curs_getyx.3x.html">curs_getyx(3x)</A></STRONG>
+<STRONG><A HREF="curs_getyx.3x.html">curs_getyx(3x)</A></STRONG>                                                  <STRONG><A HREF="curs_getyx.3x.html">curs_getyx(3x)</A></STRONG>
 
 
 
 
 </PRE><H2><a name="h2-NAME">NAME</a></H2><PRE>
-       <STRONG>getyx</STRONG>,  <STRONG>getparyx</STRONG>,  <STRONG>getbegyx</STRONG>,  <STRONG>getmaxyx</STRONG> - get <STRONG>curses</STRONG> cursor
-       and window coordinates
+       <STRONG>getyx</STRONG>,  <STRONG>getparyx</STRONG>,  <STRONG>getbegyx</STRONG>,  <STRONG>getmaxyx</STRONG>  -  get <STRONG>curses</STRONG> cursor and window
+       coordinates
 
 
 </PRE><H2><a name="h2-SYNOPSIS">SYNOPSIS</a></H2><PRE>
 
 
 </PRE><H2><a name="h2-DESCRIPTION">DESCRIPTION</a></H2><PRE>
-       The <STRONG>getyx</STRONG> macro places the current cursor position of  the
-       given window in the two integer variables <EM>y</EM> and <EM>x</EM>.
+       The <STRONG>getyx</STRONG> macro places the current cursor position of the given  window
+       in the two integer variables <EM>y</EM> and <EM>x</EM>.
 
-       If  <EM>win</EM>  is  a  subwindow,  the  <STRONG>getparyx</STRONG> macro places the
-       beginning coordinates of the  subwindow  relative  to  the
-       parent  window into two integer variables <EM>y</EM> and <EM>x</EM>.  Other-
-       wise, <STRONG>-1</STRONG> is placed into <EM>y</EM> and <EM>x</EM>.
+       If  <EM>win</EM> is a subwindow, the <STRONG>getparyx</STRONG> macro places the beginning coordi-
+       nates of the subwindow relative to the parent window into  two  integer
+       variables <EM>y</EM> and <EM>x</EM>.  Otherwise, <STRONG>-1</STRONG> is placed into <EM>y</EM> and <EM>x</EM>.
 
-       Like <STRONG>getyx</STRONG>, the <STRONG>getbegyx</STRONG> and  <STRONG>getmaxyx</STRONG>  macros  store  the
-       current  beginning  coordinates  and size of the specified
-       window.
+       Like  <STRONG>getyx</STRONG>,  the <STRONG>getbegyx</STRONG> and <STRONG>getmaxyx</STRONG> macros store the current begin-
+       ning coordinates and size of the specified window.
 
 
 </PRE><H2><a name="h2-RETURN-VALUE">RETURN VALUE</a></H2><PRE>
-       The return values of these  macros  are  undefined  (i.e.,
-       they  should not be used as the right-hand side of assign-
-       ment statements).
+       The return values of these macros are undefined (i.e., they should  not
+       be used as the right-hand side of assignment statements).
 
 
 </PRE><H2><a name="h2-NOTES">NOTES</a></H2><PRE>
-       All of these interfaces are macros.  A "<STRONG>&amp;</STRONG>" is  not  neces-
-       sary before the variables <EM>y</EM> and <EM>x</EM>.
+       All  of these interfaces are macros.  A "<STRONG>&amp;</STRONG>" is not necessary before the
+       variables <EM>y</EM> and <EM>x</EM>.
 
 
 </PRE><H2><a name="h2-PORTABILITY">PORTABILITY</a></H2><PRE>
-       The  <STRONG>getyx</STRONG>,  <STRONG>getparyx</STRONG>,  <STRONG>getbegyx</STRONG>  and  <STRONG>getmaxyx</STRONG> macros are
-       described in the XSI Curses standard, Issue 4.
+       The <STRONG>getyx</STRONG>, <STRONG>getparyx</STRONG>, <STRONG>getbegyx</STRONG> and <STRONG>getmaxyx</STRONG> macros are described in  the
+       XSI Curses standard, Issue 4.
 
-       This implementation also provides functions <STRONG>getbegx</STRONG>, <STRONG>getb-</STRONG>
-       <STRONG>egy</STRONG>,  <STRONG>getcurx</STRONG>, <STRONG>getcury</STRONG>, <STRONG>getmaxx</STRONG>, <STRONG>getmaxy</STRONG>, <STRONG>getparx</STRONG> and <STRONG>get-</STRONG>
-       <STRONG>pary</STRONG> for compatibility with older versions of curses.
+       This  implementation also provides functions <STRONG>getbegx</STRONG>, <STRONG>getbegy</STRONG>, <STRONG>getcurx</STRONG>,
+       <STRONG>getcury</STRONG>, <STRONG>getmaxx</STRONG>, <STRONG>getmaxy</STRONG>, <STRONG>getparx</STRONG> and <STRONG>getpary</STRONG> for  compatibility  with
+       older versions of curses.
 
-       Although X/Open Curses does not address this, many  imple-
-       mentations  provide  members  of the WINDOW structure con-
-       taining values corresponding to these  macros.   For  best
-       portability,  do  not  rely  on  using the data in WINDOW,
-       since some implementations  make  WINDOW  opaque  (do  not
-       allow direct use of its members).
+       Although X/Open Curses does not address this, many implementations pro-
+       vide members of the WINDOW structure containing values corresponding to
+       these  macros.   For best portability, do not rely on using the data in
+       WINDOW, since some implementations make WINDOW  opaque  (do  not  allow
+       direct use of its members).
 
-       Besides  the problem of opaque structures, the data stored
-       in like-named members may not have like-values in  differ-
-       ent  implementations.   For  example, the WINDOW._maxx and
-       WINDOW._maxy  values  in  ncurses  have  (at  least  since
-       release 1.8.1) differed by one from some other implementa-
-       tions.  The difference is hidden by  means  of  the  macro
-       <STRONG>getmaxyx</STRONG>.
+       Besides the problem of opaque structures, the data stored in like-named
+       members may not have like-values  in  different  implementations.   For
+       example,  the  WINDOW._maxx and WINDOW._maxy values in ncurses have (at
+       least since release 1.8.1) differed by one from some other  implementa-
+       tions.  The difference is hidden by means of the macro <STRONG>getmaxyx</STRONG>.
 
 
 </PRE><H2><a name="h2-SEE-ALSO">SEE ALSO</a></H2><PRE>
 
 
 
-                                                         <STRONG><A HREF="curs_getyx.3x.html">curs_getyx(3x)</A></STRONG>
+                                                                <STRONG><A HREF="curs_getyx.3x.html">curs_getyx(3x)</A></STRONG>
 </PRE>
 <div class="nav">
 <ul>
index 9dd16a9b53f12b5bfb4c1abe239eb1ee36615e96..9698ca44e21c8900325ff150bd67edfce5449a6f 100644 (file)
 <BODY>
 <H1 class="no-header">curs_in_wch 3x</H1>
 <PRE>
-<STRONG><A HREF="curs_in_wch.3x.html">curs_in_wch(3x)</A></STRONG>                                         <STRONG><A HREF="curs_in_wch.3x.html">curs_in_wch(3x)</A></STRONG>
+<STRONG><A HREF="curs_in_wch.3x.html">curs_in_wch(3x)</A></STRONG>                                                <STRONG><A HREF="curs_in_wch.3x.html">curs_in_wch(3x)</A></STRONG>
 
 
 
 
 </PRE><H2><a name="h2-NAME">NAME</a></H2><PRE>
-       <STRONG>in_wch</STRONG>,  <STRONG>mvin_wch</STRONG>,  <STRONG>mvwin_wch</STRONG>, <STRONG>win_wch</STRONG> - extract a complex
-       character and rendition from a window
+       <STRONG>in_wch</STRONG>,  <STRONG>mvin_wch</STRONG>, <STRONG>mvwin_wch</STRONG>, <STRONG>win_wch</STRONG> - extract a complex character and
+       rendition from a window
 
 
 </PRE><H2><a name="h2-SYNOPSIS">SYNOPSIS</a></H2><PRE>
 
 
 </PRE><H2><a name="h2-DESCRIPTION">DESCRIPTION</a></H2><PRE>
-       These functions extract the complex character  and  rendi-
-       tion  from  the  current position in the named window into
-       the <STRONG>cchar_t</STRONG> object referenced by wcval.
+       These functions extract the complex character and  rendition  from  the
+       current position in the named window into the <STRONG>cchar_t</STRONG> object referenced
+       by wcval.
 
 
 </PRE><H2><a name="h2-RETURN-VALUE">RETURN VALUE</a></H2><PRE>
-       No errors are defined in the XSI  Curses  standard.   This
-       implementation  checks  for  null pointers, returns ERR in
-       that case.  Also, the <EM>mv</EM> routines check for  error  moving
-       the  cursor,  returning  ERR in that case.  Otherwise they
-       return OK
+       No errors are defined in the XSI Curses standard.  This  implementation
+       checks  for null pointers, returns ERR in that case.  Also, the <EM>mv</EM> rou-
+       tines check for error moving the cursor, returning ERR  in  that  case.
+       Otherwise they return OK
 
-       Functions with a "mv" prefix first perform a cursor  move-
-       ment  using  <STRONG>wmove</STRONG>, and return an error if the position is
-       outside the window, or if the window pointer is null.
+       Functions  with  a  "mv"  prefix  first perform a cursor movement using
+       <STRONG>wmove</STRONG>, and return an error if the position is outside the window, or if
+       the window pointer is null.
 
 
 </PRE><H2><a name="h2-NOTES">NOTES</a></H2><PRE>
@@ -82,8 +81,7 @@
 
 
 </PRE><H2><a name="h2-PORTABILITY">PORTABILITY</a></H2><PRE>
-       These functions are described in the XSI Curses  standard,
-       Issue 4.
+       These functions are described in the XSI Curses standard, Issue 4.
 
 
 </PRE><H2><a name="h2-SEE-ALSO">SEE ALSO</a></H2><PRE>
@@ -91,7 +89,7 @@
 
 
 
-                                                        <STRONG><A HREF="curs_in_wch.3x.html">curs_in_wch(3x)</A></STRONG>
+                                                               <STRONG><A HREF="curs_in_wch.3x.html">curs_in_wch(3x)</A></STRONG>
 </PRE>
 <div class="nav">
 <ul>
index ae3b3a0692a5bf7f728130cf5bb4fd19cee46eee..f17cae09e44b33ce5a919806b38d7477e529f010 100644 (file)
 <BODY>
 <H1 class="no-header">curs_in_wchstr 3x</H1>
 <PRE>
-<STRONG><A HREF="curs_in_wchstr.3x.html">curs_in_wchstr(3x)</A></STRONG>                                   <STRONG><A HREF="curs_in_wchstr.3x.html">curs_in_wchstr(3x)</A></STRONG>
+<STRONG><A HREF="curs_in_wchstr.3x.html">curs_in_wchstr(3x)</A></STRONG>                                          <STRONG><A HREF="curs_in_wchstr.3x.html">curs_in_wchstr(3x)</A></STRONG>
 
 
 
 
 </PRE><H2><a name="h2-NAME">NAME</a></H2><PRE>
-       <STRONG>in_wchstr</STRONG>, <STRONG>in_wchnstr</STRONG>, <STRONG>win_wchstr</STRONG>, <STRONG>win_wchnstr</STRONG>,
-       <STRONG>mvin_wchstr</STRONG>, <STRONG>mvin_wchnstr</STRONG>, <STRONG>mvwin_wchstr</STRONG>, <STRONG>mvwin_wchnstr</STRONG> -
-       get an array of complex characters and renditions from a
-       curses window
+       <STRONG>in_wchstr</STRONG>, <STRONG>in_wchnstr</STRONG>, <STRONG>win_wchstr</STRONG>, <STRONG>win_wchnstr</STRONG>, <STRONG>mvin_wchstr</STRONG>,
+       <STRONG>mvin_wchnstr</STRONG>, <STRONG>mvwin_wchstr</STRONG>, <STRONG>mvwin_wchnstr</STRONG> - get an array of complex
+       characters and renditions from a curses window
 
 
 </PRE><H2><a name="h2-SYNOPSIS">SYNOPSIS</a></H2><PRE>
 
 
 </PRE><H2><a name="h2-DESCRIPTION">DESCRIPTION</a></H2><PRE>
-       These functions return an array of complex  characters  in
-       <EM>wchstr</EM>,  starting  at  the  current cursor position in the
-       named window.  Attributes (rendition) are stored with  the
-       characters.
+       These functions return an array of complex characters in <EM>wchstr</EM>, start-
+       ing at the current cursor position in  the  named  window.   Attributes
+       (rendition) are stored with the characters.
 
-       The  <STRONG>in_wchnstr</STRONG>, <STRONG>mvin_wchnstr</STRONG>, <STRONG>mvwin_wchnstr</STRONG> and <STRONG>win_wchn-</STRONG>
-       <STRONG>str</STRONG> fill the array with at most <EM>n</EM> <STRONG>cchar_t</STRONG> elements.
+       The  <STRONG>in_wchnstr</STRONG>,  <STRONG>mvin_wchnstr</STRONG>,  <STRONG>mvwin_wchnstr</STRONG> and <STRONG>win_wchnstr</STRONG> fill the
+       array with at most <EM>n</EM> <STRONG>cchar_t</STRONG> elements.
 
 
 </PRE><H2><a name="h2-NOTES">NOTES</a></H2><PRE>
        Note that all routines except <STRONG>win_wchnstr</STRONG> may be macros.
 
-       Reading a line that overflows the array pointed to by <EM>wch-</EM>
-       <EM>str</EM>  with <STRONG>in_wchstr</STRONG>, <STRONG>mvin_wchstr</STRONG>, <STRONG>mvwin_wchstr</STRONG> or <STRONG>win_wch-</STRONG>
-       <STRONG>str</STRONG>  causes  undefined  results.  Therefore,  the  use  of
-       <STRONG>in_wchnstr</STRONG>, <STRONG>mvin_wchnstr</STRONG>, <STRONG>mvwin_wchnstr</STRONG>, or <STRONG>win_wchnstr</STRONG> is
-       recommended.
+       Reading a line that overflows the  array  pointed  to  by  <EM>wchstr</EM>  with
+       <STRONG>in_wchstr</STRONG>, <STRONG>mvin_wchstr</STRONG>, <STRONG>mvwin_wchstr</STRONG> or <STRONG>win_wchstr</STRONG> causes undefined re-
+       sults. Therefore, the use of <STRONG>in_wchnstr</STRONG>,  <STRONG>mvin_wchnstr</STRONG>,  <STRONG>mvwin_wchnstr</STRONG>,
+       or <STRONG>win_wchnstr</STRONG> is recommended.
 
 
 </PRE><H2><a name="h2-RETURN-VALUE">RETURN VALUE</a></H2><PRE>
-       Upon successful completion,  these  functions  return  <STRONG>OK</STRONG>.
-       Otherwise, they return <STRONG>ERR</STRONG>.
+       Upon successful completion, these functions return <STRONG>OK</STRONG>.  Otherwise, they
+       return <STRONG>ERR</STRONG>.
 
-       Functions  with a "mv" prefix first perform a cursor move-
-       ment using <STRONG>wmove</STRONG>, and return an error if the  position  is
-       outside the window, or if the window pointer is null.
+       Functions with a "mv" prefix first  perform  a  cursor  movement  using
+       <STRONG>wmove</STRONG>, and return an error if the position is outside the window, or if
+       the window pointer is null.
 
 
 </PRE><H2><a name="h2-PORTABILITY">PORTABILITY</a></H2><PRE>
-       The  XSI  Curses defines no error conditions.  This imple-
-       mentation checks for null pointers, returning ERR in  that
-       case.
+       The XSI Curses defines no error conditions.  This implementation checks
+       for null pointers, returning ERR in that case.
 
 
 </PRE><H2><a name="h2-SEE-ALSO">SEE ALSO</a></H2><PRE>
-       Functions:  <STRONG><A HREF="ncurses.3x.html">curses(3x)</A></STRONG>,  <STRONG><A HREF="curs_in_wch.3x.html">curs_in_wch(3x)</A></STRONG>,  <STRONG><A HREF="curs_instr.3x.html">curs_instr(3x)</A></STRONG>,
-       <STRONG><A HREF="curs_inwstr.3x.html">curs_inwstr(3x)</A></STRONG> <STRONG><A HREF="curs_inchstr.3x.html">curs_inchstr(3x)</A></STRONG>
+       Functions: <STRONG><A HREF="ncurses.3x.html">curses(3x)</A></STRONG>, <STRONG><A HREF="curs_in_wch.3x.html">curs_in_wch(3x)</A></STRONG>, <STRONG><A HREF="curs_instr.3x.html">curs_instr(3x)</A></STRONG>, <STRONG><A HREF="curs_inwstr.3x.html">curs_inwstr(3x)</A></STRONG>
+       <STRONG><A HREF="curs_inchstr.3x.html">curs_inchstr(3x)</A></STRONG>
 
 
 
-                                                     <STRONG><A HREF="curs_in_wchstr.3x.html">curs_in_wchstr(3x)</A></STRONG>
+                                                            <STRONG><A HREF="curs_in_wchstr.3x.html">curs_in_wchstr(3x)</A></STRONG>
 </PRE>
 <div class="nav">
 <ul>
index f7df04ff5243302f7e62216ee555a638d26e094e..e360994a93edefeebd433b5b8af0579a952aec45 100644 (file)
 <BODY>
 <H1 class="no-header">curs_inch 3x</H1>
 <PRE>
-<STRONG><A HREF="curs_inch.3x.html">curs_inch(3x)</A></STRONG>                                             <STRONG><A HREF="curs_inch.3x.html">curs_inch(3x)</A></STRONG>
+<STRONG><A HREF="curs_inch.3x.html">curs_inch(3x)</A></STRONG>                                                    <STRONG><A HREF="curs_inch.3x.html">curs_inch(3x)</A></STRONG>
 
 
 
 
 </PRE><H2><a name="h2-NAME">NAME</a></H2><PRE>
-       <STRONG>inch</STRONG>,  <STRONG>winch</STRONG>,  <STRONG>mvinch</STRONG>,  <STRONG>mvwinch</STRONG>  -  get  a  character  and
-       attributes from a <STRONG>curses</STRONG> window
+       <STRONG>inch</STRONG>,  <STRONG>winch</STRONG>,  <STRONG>mvinch</STRONG>,  <STRONG>mvwinch</STRONG> - get a character and attributes from a
+       <STRONG>curses</STRONG> window
 
 
 </PRE><H2><a name="h2-SYNOPSIS">SYNOPSIS</a></H2><PRE>
 
 
 </PRE><H2><a name="h2-DESCRIPTION">DESCRIPTION</a></H2><PRE>
-       These routines return the character, of  type  <STRONG>chtype</STRONG>,  at
-       the   current  position  in  the  named  window.   If  any
-       attributes are set for that  position,  their  values  are
-       OR'ed  into  the  value  returned.   Constants  defined in
-       <STRONG>&lt;curses.h&gt;</STRONG> can be used with the <STRONG>&amp;</STRONG> (logical  AND)  operator
-       to extract the character or attributes alone.
+       These routines return the character, of type  <STRONG>chtype</STRONG>,  at  the  current
+       position in the named window.  If any attributes are set for that posi-
+       tion, their values  are  OR'ed  into  the  value  returned.   Constants
+       defined  in <STRONG>&lt;curses.h&gt;</STRONG> can be used with the <STRONG>&amp;</STRONG> (logical AND) operator to
+       extract the character or attributes alone.
 
 
 </PRE><H3><a name="h3-Attributes">Attributes</a></H3><PRE>
-       The  following  bit-masks  may  be  AND-ed with characters
-       returned by <STRONG>winch</STRONG>.
+       The following bit-masks may  be  AND-ed  with  characters  returned  by
+       <STRONG>winch</STRONG>.
 
        <STRONG>A_CHARTEXT</STRONG>     Bit-mask to extract character
        <STRONG>A_ATTRIBUTES</STRONG>   Bit-mask to extract attributes
@@ -79,9 +78,9 @@
 
 
 </PRE><H2><a name="h2-RETURN-VALUE">RETURN VALUE</a></H2><PRE>
-       Functions with a "mv" prefix first perform a cursor  move-
-       ment  using  <STRONG>wmove</STRONG>, and return an error if the position is
-       outside the window, or if the window pointer is null.
+       Functions  with  a  "mv"  prefix  first perform a cursor movement using
+       <STRONG>wmove</STRONG>, and return an error if the position is outside the window, or if
+       the window pointer is null.
 
 
 </PRE><H2><a name="h2-NOTES">NOTES</a></H2><PRE>
 
 
 </PRE><H2><a name="h2-PORTABILITY">PORTABILITY</a></H2><PRE>
-       These functions are described in the XSI Curses  standard,
-       Issue 4.
+       These functions are described in the XSI Curses standard, Issue 4.
 
 
 </PRE><H2><a name="h2-SEE-ALSO">SEE ALSO</a></H2><PRE>
        <STRONG><A HREF="ncurses.3x.html">curses(3x)</A></STRONG>.
 
-       Comparable  functions  in  the  wide-character  (ncursesw)
-       library are described in <STRONG><A HREF="curs_in_wch.3x.html">curs_in_wch(3x)</A></STRONG>.
+       Comparable  functions  in  the  wide-character  (ncursesw)  library are
+       described in <STRONG><A HREF="curs_in_wch.3x.html">curs_in_wch(3x)</A></STRONG>.
 
 
 
-                                                          <STRONG><A HREF="curs_inch.3x.html">curs_inch(3x)</A></STRONG>
+                                                                 <STRONG><A HREF="curs_inch.3x.html">curs_inch(3x)</A></STRONG>
 </PRE>
 <div class="nav">
 <ul>
index 297aaa482d0d8815b378bcd13dc1a0d9a9925fca..bcc7edac8269f5794fcd73adf9d01b38804e9cf4 100644 (file)
 <BODY>
 <H1 class="no-header">curs_inchstr 3x</H1>
 <PRE>
-<STRONG><A HREF="curs_inchstr.3x.html">curs_inchstr(3x)</A></STRONG>                                       <STRONG><A HREF="curs_inchstr.3x.html">curs_inchstr(3x)</A></STRONG>
+<STRONG><A HREF="curs_inchstr.3x.html">curs_inchstr(3x)</A></STRONG>                                              <STRONG><A HREF="curs_inchstr.3x.html">curs_inchstr(3x)</A></STRONG>
 
 
 
 
 </PRE><H2><a name="h2-NAME">NAME</a></H2><PRE>
-       <STRONG>inchstr</STRONG>, <STRONG>inchnstr</STRONG>, <STRONG>winchstr</STRONG>, <STRONG>winchnstr</STRONG>, <STRONG>mvinchstr</STRONG>,
-       <STRONG>mvinchnstr</STRONG>, <STRONG>mvwinchstr</STRONG>, <STRONG>mvwinchnstr</STRONG> - get a string of
-       characters (and attributes) from a <STRONG>curses</STRONG> window
+       <STRONG>inchstr</STRONG>, <STRONG>inchnstr</STRONG>, <STRONG>winchstr</STRONG>, <STRONG>winchnstr</STRONG>, <STRONG>mvinchstr</STRONG>, <STRONG>mvinchnstr</STRONG>,
+       <STRONG>mvwinchstr</STRONG>, <STRONG>mvwinchnstr</STRONG> - get a string of characters (and attributes)
+       from a <STRONG>curses</STRONG> window
 
 
 </PRE><H2><a name="h2-SYNOPSIS">SYNOPSIS</a></H2><PRE>
        <STRONG>int</STRONG> <STRONG>mvinchstr(int</STRONG> <STRONG>y,</STRONG> <STRONG>int</STRONG> <STRONG>x,</STRONG> <STRONG>chtype</STRONG> <STRONG>*chstr);</STRONG>
        <STRONG>int</STRONG> <STRONG>mvinchnstr(int</STRONG> <STRONG>y,</STRONG> <STRONG>int</STRONG> <STRONG>x,</STRONG> <STRONG>chtype</STRONG> <STRONG>*chstr,</STRONG> <STRONG>int</STRONG> <STRONG>n);</STRONG>
        <STRONG>int</STRONG> <STRONG>mvwinchstr(WINDOW</STRONG> <STRONG>*win,</STRONG> <STRONG>int</STRONG> <STRONG>y,</STRONG> <STRONG>int</STRONG> <STRONG>x,</STRONG> <STRONG>chtype</STRONG> <STRONG>*chstr);</STRONG>
-       <STRONG>int</STRONG>  <STRONG>mvwinchnstr(WINDOW</STRONG> <STRONG>*win,</STRONG> <STRONG>int</STRONG> <STRONG>y,</STRONG> <STRONG>int</STRONG> <STRONG>x,</STRONG> <STRONG>chtype</STRONG> <STRONG>*chstr,</STRONG>
-       <STRONG>int</STRONG> <STRONG>n);</STRONG>
+       <STRONG>int</STRONG> <STRONG>mvwinchnstr(WINDOW</STRONG> <STRONG>*win,</STRONG> <STRONG>int</STRONG> <STRONG>y,</STRONG> <STRONG>int</STRONG> <STRONG>x,</STRONG> <STRONG>chtype</STRONG> <STRONG>*chstr,</STRONG> <STRONG>int</STRONG> <STRONG>n);</STRONG>
 
 
 </PRE><H2><a name="h2-DESCRIPTION">DESCRIPTION</a></H2><PRE>
-       These routines return a NULL-terminated  array  of  <STRONG>chtype</STRONG>
-       quantities, starting at the current cursor position in the
-       named window and ending at the right margin of the window.
-       The  four  functions with <EM>n</EM> as the last argument, return a
-       leading substring at most <EM>n</EM> characters long (exclusive  of
-       the  trailing (chtype)0).  Constants defined in <STRONG>&lt;curses.h&gt;</STRONG>
-       can be used with the <STRONG>&amp;</STRONG> (logical AND) operator  to  extract
-       the  character or the attribute alone from any position in
-       the <EM>chstr</EM> [see <STRONG><A HREF="curs_inch.3x.html">curs_inch(3x)</A></STRONG>].
+       These  routines  return  a  NULL-terminated array of <STRONG>chtype</STRONG> quantities,
+       starting at the current cursor position in the named window and  ending
+       at  the  right  margin of the window.  The four functions with <EM>n</EM> as the
+       last argument, return a leading substring at  most  <EM>n</EM>  characters  long
+       (exclusive of the trailing (chtype)0).  Constants defined in <STRONG>&lt;curses.h&gt;</STRONG>
+       can be used with the <STRONG>&amp;</STRONG> (logical AND) operator to extract the  character
+       or   the   attribute   alone  from  any  position  in  the  <EM>chstr</EM>  [see
+       <STRONG><A HREF="curs_inch.3x.html">curs_inch(3x)</A></STRONG>].
 
 
 </PRE><H2><a name="h2-RETURN-VALUE">RETURN VALUE</a></H2><PRE>
-       All routines return the integer <STRONG>ERR</STRONG> upon  failure  and  an
-       integer  value  other  than <STRONG>ERR</STRONG> upon successful completion
-       (the number of  characters  retrieved,  exclusive  of  the
-       trailing 0).
+       All routines return the integer <STRONG>ERR</STRONG> upon failure and an  integer  value
+       other than <STRONG>ERR</STRONG> upon successful completion (the number of characters re-
+       trieved, exclusive of the trailing 0).
 
-       X/Open Curses defines no error conditions.  In this imple-
-       mentation:
+       X/Open Curses defines no error conditions.  In this implementation:
 
        <STRONG>o</STRONG>   If the <EM>win</EM> parameter is null, an error is returned,
 
        <STRONG>o</STRONG>   If the <EM>chstr</EM> parameter is null, an error is returned,
 
-       Functions with a "mv" prefix first perform a cursor  move-
-       ment  using  <STRONG>wmove</STRONG>, and return an error if the position is
-       outside the window, or if the window pointer is null.
+       Functions with a "mv" prefix first  perform  a  cursor  movement  using
+       <STRONG>wmove</STRONG>, and return an error if the position is outside the window, or if
+       the window pointer is null.
 
 
 </PRE><H2><a name="h2-NOTES">NOTES</a></H2><PRE>
-       Note that all routines except  <STRONG>winchnstr</STRONG>  may  be  macros.
-       SVr4  does not document whether the result string is zero-
-       terminated; it does not document whether  a  length  limit
-       argument includes any trailing 0; and it does not document
-       the meaning of the return value.
+       Note that all routines except <STRONG>winchnstr</STRONG> may be macros.  SVr4  does  not
+       document whether the result string is zero-terminated; it does not doc-
+       ument whether a length limit argument includes any trailing 0;  and  it
+       does not document the meaning of the return value.
 
 
 </PRE><H2><a name="h2-PORTABILITY">PORTABILITY</a></H2><PRE>
-       These functions are described in the XSI Curses  standard,
-       Issue  4.  It is no more specific than the SVr4 documenta-
-       tion on the trailing 0.  It does specify that the success-
-       ful return of the functions is <STRONG>OK</STRONG>.
+       These  functions are described in the XSI Curses standard, Issue 4.  It
+       is no more specific than the SVr4 documentation on the trailing 0.   It
+       does specify that the successful return of the functions is <STRONG>OK</STRONG>.
 
 
 </PRE><H2><a name="h2-SEE-ALSO">SEE ALSO</a></H2><PRE>
        <STRONG><A HREF="ncurses.3x.html">curses(3x)</A></STRONG>, <STRONG><A HREF="curs_inch.3x.html">curs_inch(3x)</A></STRONG>.
 
-       Comparable  functions in the wide-character (ncursesw) li-
-       brary are described in <STRONG><A HREF="curs_in_wchstr.3x.html">curs_in_wchstr(3x)</A></STRONG>.
+       Comparable  functions  in the wide-character (ncursesw) library are de-
+       scribed in <STRONG><A HREF="curs_in_wchstr.3x.html">curs_in_wchstr(3x)</A></STRONG>.
 
 
 
-                                                       <STRONG><A HREF="curs_inchstr.3x.html">curs_inchstr(3x)</A></STRONG>
+                                                              <STRONG><A HREF="curs_inchstr.3x.html">curs_inchstr(3x)</A></STRONG>
 </PRE>
 <div class="nav">
 <ul>
index d487e93335168244ae353d2f5660fe75b8d70694..9e04741d9abc08b96bb7d10a09848d9df0cd82b0 100644 (file)
 <BODY>
 <H1 class="no-header">curs_initscr 3x</H1>
 <PRE>
-<STRONG><A HREF="curs_initscr.3x.html">curs_initscr(3x)</A></STRONG>                                       <STRONG><A HREF="curs_initscr.3x.html">curs_initscr(3x)</A></STRONG>
+<STRONG><A HREF="curs_initscr.3x.html">curs_initscr(3x)</A></STRONG>                                              <STRONG><A HREF="curs_initscr.3x.html">curs_initscr(3x)</A></STRONG>
 
 
 
 
 </PRE><H2><a name="h2-NAME">NAME</a></H2><PRE>
-       <STRONG>initscr</STRONG>, <STRONG>newterm</STRONG>, <STRONG>endwin</STRONG>, <STRONG>isendwin</STRONG>, <STRONG>set_term</STRONG>, <STRONG>delscreen</STRONG> -
-       <STRONG>curses</STRONG> screen initialization and manipulation routines
+       <STRONG>initscr</STRONG>, <STRONG>newterm</STRONG>, <STRONG>endwin</STRONG>, <STRONG>isendwin</STRONG>, <STRONG>set_term</STRONG>, <STRONG>delscreen</STRONG> - <STRONG>curses</STRONG> screen
+       initialization and manipulation routines
 
 
 </PRE><H2><a name="h2-SYNOPSIS">SYNOPSIS</a></H2><PRE>
 </PRE><H2><a name="h2-DESCRIPTION">DESCRIPTION</a></H2><PRE>
 
 </PRE><H3><a name="h3-initscr">initscr</a></H3><PRE>
-       <STRONG>initscr</STRONG> is normally the first <STRONG>curses</STRONG> routine to call  when
-       initializing  a program.  A few special routines sometimes
-       need to be called before it; these are <STRONG><A HREF="curs_slk.3x.html">slk_init(3x)</A></STRONG>,  <STRONG>fil-</STRONG>
-       <STRONG>ter</STRONG>,  <STRONG>ripoffline</STRONG>, <STRONG>use_env</STRONG>.  For multiple-terminal applica-
-       tions, <STRONG>newterm</STRONG> may be called before <STRONG>initscr</STRONG>.
+       <STRONG>initscr</STRONG> is normally the first <STRONG>curses</STRONG> routine to call when  initializing
+       a  program.   A few special routines sometimes need to be called before
+       it; these are <STRONG><A HREF="curs_slk.3x.html">slk_init(3x)</A></STRONG>, <STRONG>filter</STRONG>, <STRONG>ripoffline</STRONG>, <STRONG>use_env</STRONG>.  For multiple-
+       terminal applications, <STRONG>newterm</STRONG> may be called before <STRONG>initscr</STRONG>.
 
-       The initscr code determines the terminal type and initial-
-       izes  all <STRONG>curses</STRONG> data structures.  <STRONG>initscr</STRONG> also causes the
-       first call to <STRONG><A HREF="curs_refresh.3x.html">refresh(3x)</A></STRONG> to clear the screen.  If  errors
-       occur,  <STRONG>initscr</STRONG>  writes  an  appropriate  error message to
-       standard error and exits; otherwise, a pointer is returned
-       to <STRONG>stdscr</STRONG>.
+       The initscr code determines the terminal type and initializes all <STRONG>curs-</STRONG>
+       <STRONG>es</STRONG> data structures.  <STRONG>initscr</STRONG> also causes the first call to  <STRONG><A HREF="curscurs_refresh.3x.html">refresh(3x)</A></STRONG>
+       to  clear  the  screen.  If errors occur, <STRONG>initscr</STRONG> writes an appropriate
+       error message to standard error and exits; otherwise, a pointer is  re-
+       turned to <STRONG>stdscr</STRONG>.
 
 
 </PRE><H3><a name="h3-newterm">newterm</a></H3><PRE>
-       A  program  that  outputs to more than one terminal should
-       use the <STRONG>newterm</STRONG>  routine  for  each  terminal  instead  of
-       <STRONG>initscr</STRONG>.  A program that needs to inspect capabilities, so
-       it can continue to run in a line-oriented mode if the ter-
-       minal cannot support a screen-oriented program, would also
-       use <STRONG>newterm</STRONG>.  The routine <STRONG>newterm</STRONG> should  be  called  once
-       for each terminal.  It returns a variable of type <STRONG>SCREEN</STRONG> <STRONG>*</STRONG>
-       which should be saved as a  reference  to  that  terminal.
-       <STRONG>newterm</STRONG>'s arguments are
+       A program that outputs to more than one terminal should use the <STRONG>newterm</STRONG>
+       routine for each terminal instead of <STRONG>initscr</STRONG>.  A program that needs  to
+       inspect capabilities, so it can continue to run in a line-oriented mode
+       if the terminal cannot support a screen-oriented  program,  would  also
+       use <STRONG>newterm</STRONG>.  The routine <STRONG>newterm</STRONG> should be called once for each termi-
+       nal.  It returns a variable of type <STRONG>SCREEN</STRONG> <STRONG>*</STRONG> which should be saved as a
+       reference to that terminal.  <STRONG>newterm</STRONG>'s arguments are
 
        <STRONG>o</STRONG>   the <EM>type</EM> of the terminal to be used in place of <STRONG>$TERM</STRONG>,
 
 
 
 </PRE><H3><a name="h3-endwin">endwin</a></H3><PRE>
-       The  program must also call <STRONG>endwin</STRONG> for each terminal being
-       used before exiting from <STRONG>curses</STRONG>.   If  <STRONG>newterm</STRONG>  is  called
-       more  than  once for the same terminal, the first terminal
-       referred to must be the  last  one  for  which  <STRONG>endwin</STRONG>  is
-       called.
+       The  program  must also call <STRONG>endwin</STRONG> for each terminal being used before
+       exiting from <STRONG>curses</STRONG>.  If <STRONG>newterm</STRONG> is called more than once for the  same
+       terminal, the first terminal referred to must be the last one for which
+       <STRONG>endwin</STRONG> is called.
 
-       A  program should always call <STRONG>endwin</STRONG> before exiting or es-
-       caping from <STRONG>curses</STRONG> mode temporarily.  This routine
+       A program should always call <STRONG>endwin</STRONG> before  exiting  or  escaping  from
+       <STRONG>curses</STRONG> mode temporarily.  This routine
 
-       <STRONG>o</STRONG>   resets colors to correspond  with  the  default  color
-           pair 0,
+       <STRONG>o</STRONG>   resets colors to correspond with the default color pair 0,
 
-       <STRONG>o</STRONG>   moves  the cursor to the lower left-hand corner of the
-           screen,
+       <STRONG>o</STRONG>   moves the cursor to the lower left-hand corner of the screen,
 
-       <STRONG>o</STRONG>   clears the remainder of the line so that it  uses  the
-           default colors,
+       <STRONG>o</STRONG>   clears  the  remainder of the line so that it uses the default col-
+           ors,
 
-       <STRONG>o</STRONG>   sets    the   cursor   to   normal   visibility   (see
-           <STRONG><A HREF="curs_kernel.3x.html">curs_set(3x)</A></STRONG>),
+       <STRONG>o</STRONG>   sets the cursor to normal visibility (see <STRONG><A HREF="curs_kernel.3x.html">curs_set(3x)</A></STRONG>),
 
-       <STRONG>o</STRONG>   stops cursor-addressing mode  using  the  <EM>exit</EM><STRONG>_</STRONG><EM>ca</EM><STRONG>_</STRONG><EM>mode</EM>
-           terminal capability,
+       <STRONG>o</STRONG>   stops cursor-addressing mode using the <EM>exit</EM><STRONG>_</STRONG><EM>ca</EM><STRONG>_</STRONG><EM>mode</EM> terminal  capa-
+           bility,
 
        <STRONG>o</STRONG>   restores tty modes (see <STRONG><A HREF="curs_kernel.3x.html">reset_shell_mode(3x)</A></STRONG>).
 
-       Calling  <STRONG><A HREF="curs_refresh.3x.html">refresh(3x)</A></STRONG> or <STRONG><A HREF="curs_refresh.3x.html">doupdate(3x)</A></STRONG> after a temporary es-
-       cape causes the program to resume visual mode.
+       Calling <STRONG><A HREF="curs_refresh.3x.html">refresh(3x)</A></STRONG> or <STRONG><A HREF="curs_refresh.3x.html">doupdate(3x)</A></STRONG> after a temporary escape causes the
+       program to resume visual mode.
 
 
 </PRE><H3><a name="h3-isendwin">isendwin</a></H3><PRE>
-       The <STRONG>isendwin</STRONG> routine  returns  <STRONG>TRUE</STRONG>  if  <STRONG>endwin</STRONG>  has  been
-       called without any subsequent calls to <STRONG>wrefresh</STRONG>, and <STRONG>FALSE</STRONG>
-       otherwise.
+       The <STRONG>isendwin</STRONG> routine returns <STRONG>TRUE</STRONG> if <STRONG>endwin</STRONG> has been called without any
+       subsequent calls to <STRONG>wrefresh</STRONG>, and <STRONG>FALSE</STRONG> otherwise.
 
 
 </PRE><H3><a name="h3-set_term">set_term</a></H3><PRE>
-       The <STRONG>set_term</STRONG> routine is used to switch  between  different
-       terminals.   The screen reference <STRONG>new</STRONG> becomes the new cur-
-       rent terminal.  The previous terminal is returned  by  the
-       routine.   This  is  the  only  routine  which manipulates
-       <STRONG>SCREEN</STRONG> pointers; all other routines affect only  the  cur-
-       rent terminal.
+       The  <STRONG>set_term</STRONG>  routine  is  used to switch between different terminals.
+       The screen reference <STRONG>new</STRONG> becomes the new current terminal.  The  previ-
+       ous  terminal  is  returned  by  the routine.  This is the only routine
+       which manipulates <STRONG>SCREEN</STRONG> pointers; all other routines affect  only  the
+       current terminal.
 
 
 </PRE><H3><a name="h3-delscreen">delscreen</a></H3><PRE>
-       The  <STRONG>delscreen</STRONG>  routine  frees storage associated with the
-       <STRONG>SCREEN</STRONG> data structure.  The <STRONG>endwin</STRONG>  routine  does  not  do
-       this, so <STRONG>delscreen</STRONG> should be called after <STRONG>endwin</STRONG> if a par-
-       ticular <STRONG>SCREEN</STRONG> is no longer needed.
+       The  <STRONG>delscreen</STRONG>  routine  frees  storage associated with the <STRONG>SCREEN</STRONG> data
+       structure.  The <STRONG>endwin</STRONG> routine does not do this, so <STRONG>delscreen</STRONG> should be
+       called after <STRONG>endwin</STRONG> if a particular <STRONG>SCREEN</STRONG> is no longer needed.
 
 
 </PRE><H2><a name="h2-RETURN-VALUE">RETURN VALUE</a></H2><PRE>
-       <STRONG>endwin</STRONG> returns the integer <STRONG>ERR</STRONG> upon failure  and  <STRONG>OK</STRONG>  upon
-       successful completion.
+       <STRONG>endwin</STRONG> returns the integer <STRONG>ERR</STRONG> upon failure and <STRONG>OK</STRONG> upon successful com-
+       pletion.
 
        Routines that return pointers always return <STRONG>NULL</STRONG> on error.
 
-       X/Open  defines  no error conditions.  In this implementa-
-       tion
+       X/Open defines no error conditions.  In this implementation
 
-       <STRONG>o</STRONG>   <STRONG>endwin</STRONG> returns an error if the terminal was  not  ini-
-           tialized.
+       <STRONG>o</STRONG>   <STRONG>endwin</STRONG> returns an error if the terminal was not initialized.
 
-       <STRONG>o</STRONG>   <STRONG>newterm</STRONG> returns an error if it cannot allocate the da-
-           ta structures for the screen,  or  for  the  top-level
-           windows  within  the  screen, i.e., <STRONG>curscr</STRONG>, <STRONG>newscr</STRONG>, or
-           <STRONG>stdscr</STRONG>.
+       <STRONG>o</STRONG>   <STRONG>newterm</STRONG> returns an error if it cannot allocate the data  structures
+           for  the  screen,  or  for the top-level windows within the screen,
+           i.e., <STRONG>curscr</STRONG>, <STRONG>newscr</STRONG>, or <STRONG>stdscr</STRONG>.
 
        <STRONG>o</STRONG>   <STRONG>set_term</STRONG> returns no error.
 
 
 </PRE><H2><a name="h2-PORTABILITY">PORTABILITY</a></H2><PRE>
-       These functions were described in the XSI Curses standard,
-       Issue 4.  As of 2015, the current document is X/Open Curs-
-       es, Issue 7.
+       These functions were described in the XSI Curses standard, Issue 4.  As
+       of 2015, the current document is X/Open Curses, Issue 7.
 
 
 </PRE><H3><a name="h3-Differences">Differences</a></H3><PRE>
-       X/Open specifies that portable applications must not  call
-       <STRONG>initscr</STRONG> more than once:
+       X/Open  specifies that portable applications must not call <STRONG>initscr</STRONG> more
+       than once:
 
-       <STRONG>o</STRONG>   The  portable  way  to use <STRONG>initscr</STRONG> is once only, using
-           <STRONG>refresh</STRONG> (see <STRONG><A HREF="curs_refresh.3x.html">curs_refresh(3x)</A></STRONG>) to restore  the  screen
-           after <STRONG>endwin</STRONG>.
+       <STRONG>o</STRONG>   The portable way to use <STRONG>initscr</STRONG> is once only,  using  <STRONG>refresh</STRONG>  (see
+           <STRONG><A HREF="curs_refresh.3x.html">curs_refresh(3x)</A></STRONG>) to restore the screen after <STRONG>endwin</STRONG>.
 
        <STRONG>o</STRONG>   This implementation allows using <STRONG>initscr</STRONG> after <STRONG>endwin</STRONG>.
 
-       Old versions of curses, e.g., BSD 4.4, may have returned a
-       null pointer from  <STRONG>initscr</STRONG>  when  an  error  is  detected,
-       rather  than  exiting.   It is safe but redundant to check
-       the return value of <STRONG>initscr</STRONG> in XSI Curses.
+       Old versions of curses, e.g., BSD 4.4, may have returned a null pointer
+       from <STRONG>initscr</STRONG> when an error is detected, rather  than  exiting.   It  is
+       safe but redundant to check the return value of <STRONG>initscr</STRONG> in XSI Curses.
 
 
 </PRE><H3><a name="h3-Unset-TERM-Variable">Unset TERM Variable</a></H3><PRE>
-       If the TERM variable is missing or empty, <STRONG>initscr</STRONG> uses the
-       value  "unknown", which normally corresponds to a terminal
-       entry with the <EM>generic</EM> (<EM>gn</EM>) capability.   Generic  entries
-       are detected by <STRONG>setupterm</STRONG> (see <STRONG><A HREF="curs_terminfo.3x.html">curs_terminfo(3x)</A></STRONG>) and can-
-       not be used for full-screen operation.  Other  implementa-
-       tions  may handle a missing/empty TERM variable different-
-       ly.
+       If  the  TERM variable is missing or empty, <STRONG>initscr</STRONG> uses the value "un-
+       known", which normally corresponds to a terminal entry with the <EM>generic</EM>
+       (<EM>gn</EM>)  capability.   Generic  entries  are  detected  by  <STRONG>setupterm</STRONG> (see
+       <STRONG><A HREF="curs_terminfo.3x.html">curs_terminfo(3x)</A></STRONG>) and cannot be used for full-screen operation.  Other
+       implementations may handle a missing/empty TERM variable differently.
 
 
 </PRE><H3><a name="h3-Signal-Handlers">Signal Handlers</a></H3><PRE>
        Quoting from X/Open Curses, section 3.1.1:
 
-            <EM>Curses</EM> <EM>implementations</EM> <EM>may</EM> <EM>provide</EM> <EM>for</EM>  <EM>special</EM>  <EM>han-</EM>
-            <EM>dling</EM>  <EM>of</EM>  <EM>the</EM> <EM>SIGINT,</EM> <EM>SIGQUIT</EM> <EM>and</EM> <EM>SIGTSTP</EM> <EM>signals</EM> <EM>if</EM>
-            <EM>their</EM> <EM>disposition</EM> <EM>is</EM> <EM>SIG</EM><STRONG>_</STRONG><EM>DFL</EM> <EM>at</EM> <EM>the</EM> <EM>time</EM>  <STRONG>initscr</STRONG>  <EM>is</EM>
-            <EM>called</EM> <STRONG>...</STRONG>
+            <EM>Curses</EM>  <EM>implementations</EM>  <EM>may</EM>  <EM>provide</EM>  <EM>for</EM> <EM>special</EM> <EM>handling</EM> <EM>of</EM> <EM>the</EM>
+            <EM>SIGINT,</EM> <EM>SIGQUIT</EM>  <EM>and</EM>  <EM>SIGTSTP</EM>  <EM>signals</EM>  <EM>if</EM>  <EM>their</EM>  <EM>disposition</EM>  <EM>is</EM>
+            <EM>SIG</EM><STRONG>_</STRONG><EM>DFL</EM> <EM>at</EM> <EM>the</EM> <EM>time</EM> <STRONG>initscr</STRONG> <EM>is</EM> <EM>called</EM> <STRONG>...</STRONG>
 
-            <EM>Any</EM>  <EM>special</EM> <EM>handling</EM> <EM>for</EM> <EM>these</EM> <EM>signals</EM> <EM>may</EM> <EM>remain</EM> <EM>in</EM>
-            <EM>effect</EM> <EM>for</EM> <EM>the</EM> <EM>life</EM>  <EM>of</EM>  <EM>the</EM>  <EM>process</EM>  <EM>or</EM>  <EM>until</EM>  <EM>the</EM>
-            <EM>process</EM> <EM>changes</EM> <EM>the</EM> <EM>disposition</EM> <EM>of</EM> <EM>the</EM> <EM>signal.</EM>
+            <EM>Any</EM>  <EM>special</EM>  <EM>handling</EM>  <EM>for</EM> <EM>these</EM> <EM>signals</EM> <EM>may</EM> <EM>remain</EM> <EM>in</EM> <EM>effect</EM> <EM>for</EM>
+            <EM>the</EM> <EM>life</EM> <EM>of</EM> <EM>the</EM> <EM>process</EM> <EM>or</EM> <EM>until</EM> <EM>the</EM> <EM>process</EM> <EM>changes</EM> <EM>the</EM>  <EM>disposi-</EM>
+            <EM>tion</EM> <EM>of</EM> <EM>the</EM> <EM>signal.</EM>
 
-            <EM>None</EM>  <EM>of</EM> <EM>the</EM> <EM>Curses</EM> <EM>functions</EM> <EM>are</EM> <EM>required</EM> <EM>to</EM> <EM>be</EM> <EM>safe</EM>
-            <EM>with</EM> <EM>respect</EM> <EM>to</EM> <EM>signals</EM> ...
+            <EM>None</EM>  <EM>of</EM> <EM>the</EM> <EM>Curses</EM> <EM>functions</EM> <EM>are</EM> <EM>required</EM> <EM>to</EM> <EM>be</EM> <EM>safe</EM> <EM>with</EM> <EM>respect</EM>
+            <EM>to</EM> <EM>signals</EM> ...
 
-       This implementation  establishes  signal  handlers  during
-       initialization,  e.g.,  <STRONG>initscr</STRONG>  or <STRONG>newterm</STRONG>.  Applications
-       which must handle these signals should set up  the  corre-
-       sponding handlers <EM>after</EM> initializing the library:
+       This implementation establishes signal handlers during  initialization,
+       e.g., <STRONG>initscr</STRONG> or <STRONG>newterm</STRONG>.  Applications which must handle these signals
+       should set up the corresponding handlers  <EM>after</EM>  initializing  the  li-
+       brary:
 
        <STRONG>SIGINT</STRONG>
-            The  handler  <EM>attempts</EM> to cleanup the screen on exit.
-            Although it <EM>usually</EM> works as expected, there are lim-
-            itations:
+            The  handler  <EM>attempts</EM> to cleanup the screen on exit.  Although it
+            <EM>usually</EM> works as expected, there are limitations:
 
-            <STRONG>o</STRONG>   Walking the <STRONG>SCREEN</STRONG> list is unsafe, since all list
-                management is done without any signal blocking.
+            <STRONG>o</STRONG>   Walking the <STRONG>SCREEN</STRONG> list is unsafe, since all  list  management
+                is done without any signal blocking.
 
-            <STRONG>o</STRONG>   On  systems  which  have  <STRONG>REENTRANT</STRONG>  turned   on,
-                <STRONG>set_term</STRONG>  uses  functions which could deadlock or
-                misbehave in other ways.
+            <STRONG>o</STRONG>   On systems which have <STRONG>REENTRANT</STRONG> turned on, <STRONG>set_term</STRONG> uses func-
+                tions which could deadlock or misbehave in other ways.
 
-            <STRONG>o</STRONG>   <STRONG>endwin</STRONG> calls other functions, many of  which  use
-                stdio or other library functions which are clear-
-                ly unsafe.
+            <STRONG>o</STRONG>   <STRONG>endwin</STRONG> calls other functions, many of which use stdio or other
+                library functions which are clearly unsafe.
 
        <STRONG>SIGTERM</STRONG>
-            This uses the same handler as <STRONG>SIGINT</STRONG>, with  the  same
-            limitations.   It  is not mentioned in X/Open Curses,
-            but is more suitable for this  purpose  than  <STRONG>SIGQUIT</STRONG>
-            (which is used in debugging).
+            This  uses  the same handler as <STRONG>SIGINT</STRONG>, with the same limitations.
+            It is not mentioned in X/Open Curses, but  is  more  suitable  for
+            this purpose than <STRONG>SIGQUIT</STRONG> (which is used in debugging).
 
        <STRONG>SIGTSTP</STRONG>
-            This  handles  the  <EM>stop</EM> signal, used in job control.
-            When resuming the process, this  implementation  dis-
-            cards    pending    input    with   <STRONG>flushinput</STRONG>   (see
-            <STRONG><A HREF="curs_util.3x.html">curs_util(3x)</A></STRONG>), and repaints the screen assuming that
-            it  has been completely altered.  It also updates the
-            saved  terminal  modes   with   <STRONG>def_shell_mode</STRONG>   (see
-            <STRONG><A HREF="curs_kernel.3x.html">curs_kernel(3x)</A></STRONG>).
+            This  handles the <EM>stop</EM> signal, used in job control.  When resuming
+            the process,  this  implementation  discards  pending  input  with
+            <STRONG>flushinput</STRONG>  (see  <STRONG><A HREF="curs_util.3x.html">curs_util(3x)</A></STRONG>), and repaints the screen assuming
+            that it has been completely altered.  It also  updates  the  saved
+            terminal modes with <STRONG>def_shell_mode</STRONG> (see <STRONG><A HREF="curs_kernel.3x.html">curs_kernel(3x)</A></STRONG>).
 
        <STRONG>SIGWINCH</STRONG>
-            This  handles the window-size changes which were ini-
-            tially ignored in the standardization  efforts.   The
-            handler  sets a (signal-safe) variable which is later
-            tested in <STRONG>wgetch</STRONG> (see <STRONG><A HREF="curs_getch.3x.html">curs_getch(3x)</A></STRONG>).  If <STRONG>keypad</STRONG> has
-            been enabled for the corresponding window, <STRONG>wgetch</STRONG> re-
-            turns the key symbol <STRONG>KEY_RESIZE</STRONG>.  At the  same  time,
-            <STRONG>wgetch</STRONG> calls <STRONG>resizeterm</STRONG> to adjust the standard screen
-            <STRONG>stdscr</STRONG>, and update other data such as <STRONG>LINES</STRONG> and <STRONG>COLS</STRONG>.
+            This  handles the window-size changes which were initially ignored
+            in the standardization efforts.  The handler sets a  (signal-safe)
+            variable which is later tested in <STRONG>wgetch</STRONG> (see <STRONG><A HREF="curs_getch.3x.html">curs_getch(3x)</A></STRONG>).  If
+            <STRONG>keypad</STRONG> has been enabled for the corresponding window,  <STRONG>wgetch</STRONG>  re-
+            turns  the  key symbol <STRONG>KEY_RESIZE</STRONG>.  At the same time, <STRONG>wgetch</STRONG> calls
+            <STRONG>resizeterm</STRONG> to adjust the standard screen <STRONG>stdscr</STRONG>, and update  other
+            data such as <STRONG>LINES</STRONG> and <STRONG>COLS</STRONG>.
 
 
 </PRE><H2><a name="h2-SEE-ALSO">SEE ALSO</a></H2><PRE>
-       <STRONG><A HREF="ncurses.3x.html">curses(3x)</A></STRONG>,       <STRONG><A HREF="curs_kernel.3x.html">curs_kernel(3x)</A></STRONG>,       <STRONG><A HREF="curs_refresh.3x.html">curs_refresh(3x)</A></STRONG>,
-       <STRONG><A HREF="curs_slk.3x.html">curs_slk(3x)</A></STRONG>, <STRONG><A HREF="curs_terminfo.3x.html">curs_terminfo(3x)</A></STRONG>, <STRONG><A HREF="curs_util.3x.html">curs_util(3x)</A></STRONG>, <STRONG>curs_vari-</STRONG>
-       <STRONG><A HREF="curs_variables.3x.html">ables(3x)</A></STRONG>.
+       <STRONG><A HREF="ncurses.3x.html">curses(3x)</A></STRONG>,  <STRONG><A HREF="curs_kernel.3x.html">curs_kernel(3x)</A></STRONG>, <STRONG><A HREF="curs_refresh.3x.html">curs_refresh(3x)</A></STRONG>, <STRONG><A HREF="curs_slk.3x.html">curs_slk(3x)</A></STRONG>, <STRONG>curs_ter-</STRONG>
+       <STRONG><A HREF="curs_terminfo.3x.html">minfo(3x)</A></STRONG>, <STRONG><A HREF="curs_util.3x.html">curs_util(3x)</A></STRONG>, <STRONG><A HREF="curs_variables.3x.html">curs_variables(3x)</A></STRONG>.
 
 
 
-                                                       <STRONG><A HREF="curs_initscr.3x.html">curs_initscr(3x)</A></STRONG>
+                                                              <STRONG><A HREF="curs_initscr.3x.html">curs_initscr(3x)</A></STRONG>
 </PRE>
 <div class="nav">
 <ul>
index 1d2db7213a897b79b1565d422162648f307245cf..7aea80376f0d722b7dbb0e76788674b25d02c15c 100644 (file)
 <BODY>
 <H1 class="no-header">curs_inopts 3x</H1>
 <PRE>
-<STRONG><A HREF="curs_inopts.3x.html">curs_inopts(3x)</A></STRONG>                                         <STRONG><A HREF="curs_inopts.3x.html">curs_inopts(3x)</A></STRONG>
+<STRONG><A HREF="curs_inopts.3x.html">curs_inopts(3x)</A></STRONG>                                                <STRONG><A HREF="curs_inopts.3x.html">curs_inopts(3x)</A></STRONG>
 
 
 
 
 </PRE><H2><a name="h2-NAME">NAME</a></H2><PRE>
-       <STRONG>cbreak</STRONG>, <STRONG>nocbreak</STRONG>, <STRONG>echo</STRONG>, <STRONG>noecho</STRONG>, <STRONG>halfdelay</STRONG>, <STRONG>intrflush</STRONG>,
-       <STRONG>keypad</STRONG>, <STRONG>meta</STRONG>, <STRONG>nodelay</STRONG>, <STRONG>notimeout</STRONG>, <STRONG>raw</STRONG>, <STRONG>noraw</STRONG>, <STRONG>noqiflush</STRONG>,
-       <STRONG>qiflush</STRONG>, <STRONG>timeout</STRONG>, <STRONG>wtimeout</STRONG>, <STRONG>typeahead</STRONG> - <STRONG>curses</STRONG> input
-       options
+       <STRONG>cbreak</STRONG>, <STRONG>nocbreak</STRONG>, <STRONG>echo</STRONG>, <STRONG>noecho</STRONG>, <STRONG>halfdelay</STRONG>, <STRONG>intrflush</STRONG>, <STRONG>keypad</STRONG>, <STRONG>meta</STRONG>,
+       <STRONG>nodelay</STRONG>, <STRONG>notimeout</STRONG>, <STRONG>raw</STRONG>, <STRONG>noraw</STRONG>, <STRONG>noqiflush</STRONG>, <STRONG>qiflush</STRONG>, <STRONG>timeout</STRONG>, <STRONG>wtimeout</STRONG>,
+       <STRONG>typeahead</STRONG> - <STRONG>curses</STRONG> input options
 
 
 </PRE><H2><a name="h2-SYNOPSIS">SYNOPSIS</a></H2><PRE>
 
 
 </PRE><H2><a name="h2-DESCRIPTION">DESCRIPTION</a></H2><PRE>
-       The <STRONG>ncurses</STRONG> library provides several functions  which  let
-       an  application  change the way input from the terminal is
-       handled.  Some are global, applying to all windows.   Oth-
-       ers apply only to a specific window.  Window-specific set-
-       tings are not automatically applied to new or derived win-
-       dows.   An application must apply these to each window, if
-       the same behavior is needed.
+       The <STRONG>ncurses</STRONG> library provides several functions which let an application
+       change the way input from the terminal is handled.   Some  are  global,
+       applying to all windows.  Others apply only to a specific window.  Win-
+       dow-specific settings are not automatically applied to new  or  derived
+       windows.   An  application must apply these to each window, if the same
+       behavior is needed.
 
 
 </PRE><H3><a name="h3-cbreak">cbreak</a></H3><PRE>
-       Normally, the tty driver buffers typed characters until  a
-       newline  or  carriage return is typed.  The <STRONG>cbreak</STRONG> routine
-       disables line buffering and erase/kill  character-process-
-       ing  (interrupt  and flow control characters are unaffect-
-       ed), making  characters  typed  by  the  user  immediately
-       available  to  the  program.  The <STRONG>nocbreak</STRONG> routine returns
-       the terminal to normal (cooked) mode.
-
-       Initially the terminal may or may not be in  <STRONG>cbreak</STRONG>  mode,
-       as the mode is inherited; therefore, a program should call
-       <STRONG>cbreak</STRONG> or <STRONG>nocbreak</STRONG> explicitly.  Most interactive  programs
-       using  <STRONG>curses</STRONG> set the <STRONG>cbreak</STRONG> mode.  Note that <STRONG>cbreak</STRONG> over-
-       rides <STRONG>raw</STRONG>.  [See <STRONG><A HREF="curs_getch.3x.html">curs_getch(3x)</A></STRONG> for a  discussion  of  how
-       these routines interact with <STRONG>echo</STRONG> and <STRONG>noecho</STRONG>.]
+       Normally, the tty driver buffers typed characters until  a  newline  or
+       carriage  return  is typed.  The <STRONG>cbreak</STRONG> routine disables line buffering
+       and erase/kill character-processing (interrupt and flow control charac-
+       ters  are  unaffected), making characters typed by the user immediately
+       available to the program.  The <STRONG>nocbreak</STRONG> routine returns the terminal to
+       normal (cooked) mode.
+
+       Initially the terminal may or may not be in <STRONG>cbreak</STRONG> mode, as the mode is
+       inherited; therefore, a program should call <STRONG>cbreak</STRONG> or <STRONG>nocbreak</STRONG>  explic-
+       itly.   Most  interactive  programs  using  <STRONG>curses</STRONG> set the <STRONG>cbreak</STRONG> mode.
+       Note that <STRONG>cbreak</STRONG> overrides <STRONG>raw</STRONG>.  [See <STRONG><A HREF="curs_getch.3x.html">curs_getch(3x)</A></STRONG> for  a  discussion
+       of how these routines interact with <STRONG>echo</STRONG> and <STRONG>noecho</STRONG>.]
 
 
 </PRE><H3><a name="h3-echo_noecho">echo/noecho</a></H3><PRE>
-       The  <STRONG>echo</STRONG>  and  <STRONG>noecho</STRONG> routines control whether characters
-       typed by the user are echoed  by  <STRONG><A HREF="curs_getch.3x.html">getch(3x)</A></STRONG>  as  they  are
-       typed.   Echoing by the tty driver is always disabled, but
-       initially <STRONG>getch</STRONG> is in echo mode, so characters  typed  are
-       echoed.  Authors of most interactive programs prefer to do
-       their own echoing in a controlled area of the  screen,  or
-       not  to  echo  at  all, so they disable echoing by calling
-       <STRONG>noecho</STRONG>.  [See <STRONG><A HREF="curs_getch.3x.html">curs_getch(3x)</A></STRONG> for a discussion of how these
-       routines interact with <STRONG>cbreak</STRONG> and <STRONG>nocbreak</STRONG>.]
+       The  <STRONG>echo</STRONG>  and  <STRONG>noecho</STRONG> routines control whether characters typed by the
+       user are echoed by <STRONG><A HREF="curs_getch.3x.html">getch(3x)</A></STRONG> as they are typed.   Echoing  by  the  tty
+       driver  is  always  disabled,  but  initially <STRONG>getch</STRONG> is in echo mode, so
+       characters typed are echoed.  Authors of most interactive programs pre-
+       fer  to do their own echoing in a controlled area of the screen, or not
+       to echo at all, so  they  disable  echoing  by  calling  <STRONG>noecho</STRONG>.   [See
+       <STRONG><A HREF="curs_getch.3x.html">curs_getch(3x)</A></STRONG>  for  a  discussion  of how these routines interact with
+       <STRONG>cbreak</STRONG> and <STRONG>nocbreak</STRONG>.]
 
 
 </PRE><H3><a name="h3-halfdelay">halfdelay</a></H3><PRE>
-       The  <STRONG>halfdelay</STRONG>  routine is used for half-delay mode, which
-       is similar to <STRONG>cbreak</STRONG> mode in that characters typed by  the
-       user  are  immediately available to the program.  However,
-       after blocking for <EM>tenths</EM> tenths of seconds,  ERR  is  re-
-       turned  if  nothing  has  been typed.  The value of <EM>tenths</EM>
-       must be a number between 1 and 255.  Use <STRONG>nocbreak</STRONG> to leave
-       half-delay mode.
+       The <STRONG>halfdelay</STRONG> routine is used for half-delay mode, which is similar  to
+       <STRONG>cbreak</STRONG> mode in that characters typed by the user are immediately avail-
+       able to the program.  However, after blocking for <EM>tenths</EM> tenths of sec-
+       onds,  ERR  is returned if nothing has been typed.  The value of <EM>tenths</EM>
+       must be a number between 1 and 255.  Use <STRONG>nocbreak</STRONG> to  leave  half-delay
+       mode.
 
 
 </PRE><H3><a name="h3-intrflush">intrflush</a></H3><PRE>
-       If  the  <STRONG>intrflush</STRONG>  option is enabled (<EM>bf</EM> is <STRONG>TRUE</STRONG>), and an
-       interrupt key  is  pressed  on  the  keyboard  (interrupt,
-       break,  quit),  all output in the tty driver queue will be
-       flushed, giving the effect of faster response to  the  in-
-       terrupt, but causing <STRONG>curses</STRONG> to have the wrong idea of what
-       is on the screen.  Disabling the option (<EM>bf</EM> is <STRONG>FALSE</STRONG>) pre-
-       vents  the flush.  The default for the option is inherited
-       from the tty driver settings.  The window argument is  ig-
-       nored.
+       If  the  <STRONG>intrflush</STRONG> option is enabled (<EM>bf</EM> is <STRONG>TRUE</STRONG>), and an interrupt key
+       is pressed on the keyboard (interrupt, break, quit), all output in  the
+       tty  driver queue will be flushed, giving the effect of faster response
+       to the interrupt, but causing <STRONG>curses</STRONG> to have the wrong idea of what  is
+       on  the screen.  Disabling the option (<EM>bf</EM> is <STRONG>FALSE</STRONG>) prevents the flush.
+       The default for the option is inherited from the tty  driver  settings.
+       The window argument is ignored.
 
 
 </PRE><H3><a name="h3-keypad">keypad</a></H3><PRE>
-       The  <STRONG>keypad</STRONG> option enables the keypad of the user's termi-
-       nal.  If enabled (<EM>bf</EM> is <STRONG>TRUE</STRONG>), the user can press a  func-
-       tion  key  (such as an arrow key) and <STRONG><A HREF="curs_getch.3x.html">wgetch(3x)</A></STRONG> returns a
-       single  value  representing  the  function  key,   as   in
-       <STRONG>KEY_LEFT</STRONG>.   If  disabled  (<EM>bf</EM>  is  <STRONG>FALSE</STRONG>), <STRONG>curses</STRONG> does not
-       treat function keys specially and the program has  to  in-
-       terpret the escape sequences itself.  If the keypad in the
-       terminal can be turned on (made to transmit) and off (made
-       to work locally), turning on this option causes the termi-
-       nal keypad to be turned on when <STRONG><A HREF="curs_getch.3x.html">wgetch(3x)</A></STRONG> is called.  The
-       default value for keypad is <STRONG>FALSE</STRONG>.
+       The  <STRONG>keypad</STRONG>  option  enables the keypad of the user's terminal.  If en-
+       abled (<EM>bf</EM> is <STRONG>TRUE</STRONG>), the user can press a function key (such as an arrow
+       key)  and  <STRONG><A HREF="curs_getch.3x.html">wgetch(3x)</A></STRONG>  returns a single value representing the function
+       key, as in <STRONG>KEY_LEFT</STRONG>.  If disabled (<EM>bf</EM> is <STRONG>FALSE</STRONG>), <STRONG>curses</STRONG> does not  treat
+       function keys specially and the program has to interpret the escape se-
+       quences itself.  If the keypad in the terminal can be turned  on  (made
+       to  transmit)  and  off  (made to work locally), turning on this option
+       causes the terminal keypad to be turned on when <STRONG><A HREF="curs_getch.3x.html">wgetch(3x)</A></STRONG>  is  called.
+       The default value for keypad is <STRONG>FALSE</STRONG>.
 
 
 </PRE><H3><a name="h3-meta">meta</a></H3><PRE>
-       Initially, whether the terminal returns 7 or 8 significant
-       bits on input depends on the control mode of the tty driv-
-       er  [see  <STRONG>termio(7)</STRONG>].  To force 8 bits to be returned, in-
-       voke <STRONG>meta</STRONG>(<EM>win</EM>, <STRONG>TRUE</STRONG>); this is equivalent, under POSIX,  to
-       setting  the CS8 flag on the terminal.  To force 7 bits to
-       be returned, invoke <STRONG>meta</STRONG>(<EM>win</EM>, <STRONG>FALSE</STRONG>); this is  equivalent,
-       under POSIX, to setting the CS7 flag on the terminal.  The
-       window argument, <EM>win</EM>, is always ignored.  If the  terminfo
-       capabilities  <STRONG>smm</STRONG> (meta_on) and <STRONG>rmm</STRONG> (meta_off) are defined
-       for the  terminal,  <STRONG>smm</STRONG>  is  sent  to  the  terminal  when
-       <STRONG>meta</STRONG>(<EM>win</EM>,  <STRONG>TRUE</STRONG>)  is called and <STRONG>rmm</STRONG> is sent when <STRONG>meta</STRONG>(<EM>win</EM>,
+       Initially,  whether the terminal returns 7 or 8 significant bits on in-
+       put depends on the control mode of the tty driver [see <STRONG>termio(7)</STRONG>].   To
+       force  8  bits  to be returned, invoke <STRONG>meta</STRONG>(<EM>win</EM>, <STRONG>TRUE</STRONG>); this is equiva-
+       lent, under POSIX, to setting the CS8 flag on the terminal.  To force 7
+       bits to be returned, invoke <STRONG>meta</STRONG>(<EM>win</EM>, <STRONG>FALSE</STRONG>); this is equivalent, under
+       POSIX, to setting the CS7 flag on the terminal.  The  window  argument,
+       <EM>win</EM>, is always ignored.  If the terminfo capabilities <STRONG>smm</STRONG> (meta_on) and
+       <STRONG>rmm</STRONG> (meta_off) are defined for the terminal, <STRONG>smm</STRONG> is sent to the  termi-
+       nal  when  <STRONG>meta</STRONG>(<EM>win</EM>,  <STRONG>TRUE</STRONG>)  is  called  and <STRONG>rmm</STRONG> is sent when <STRONG>meta</STRONG>(<EM>win</EM>,
        <STRONG>FALSE</STRONG>) is called.
 
 
 </PRE><H3><a name="h3-nodelay">nodelay</a></H3><PRE>
-       The <STRONG>nodelay</STRONG> option causes <STRONG>getch</STRONG> to be a non-blocking call.
-       If  no input is ready, <STRONG>getch</STRONG> returns <STRONG>ERR</STRONG>.  If disabled (<EM>bf</EM>
-       is <STRONG>FALSE</STRONG>), <STRONG>getch</STRONG> waits until a key is pressed.
+       The <STRONG>nodelay</STRONG> option causes <STRONG>getch</STRONG> to be a non-blocking call.  If no input
+       is  ready,  <STRONG>getch</STRONG>  returns <STRONG>ERR</STRONG>.  If disabled (<EM>bf</EM> is <STRONG>FALSE</STRONG>), <STRONG>getch</STRONG> waits
+       until a key is pressed.
 
-       While interpreting an input  escape  sequence,  <STRONG><A HREF="curs_getch.3x.html">wgetch(3x)</A></STRONG>
-       sets a timer while waiting for the next character.  If <STRONG>no-</STRONG>
-       <STRONG>timeout(</STRONG><EM>win</EM>, <STRONG>TRUE</STRONG>) is called, then <STRONG>wgetch</STRONG> does not  set  a
-       timer.  The purpose of the timeout is to differentiate be-
-       tween sequences received from a  function  key  and  those
-       typed by a user.
+       While interpreting an input escape sequence, <STRONG><A HREF="curs_getch.3x.html">wgetch(3x)</A></STRONG>  sets  a  timer
+       while  waiting  for  the  next  character.   If <STRONG>notimeout(</STRONG><EM>win</EM>, <STRONG>TRUE</STRONG>) is
+       called, then <STRONG>wgetch</STRONG> does not set a timer.  The purpose of  the  timeout
+       is  to differentiate between sequences received from a function key and
+       those typed by a user.
 
 
 </PRE><H3><a name="h3-raw_noraw">raw/noraw</a></H3><PRE>
-       The  <STRONG>raw</STRONG> and <STRONG>noraw</STRONG> routines place the terminal into or out
-       of raw mode.  Raw mode is similar to <STRONG>cbreak</STRONG> mode, in  that
-       characters typed are immediately passed through to the us-
-       er program.  The differences are that in raw mode, the in-
-       terrupt,  quit,  suspend,  and flow control characters are
-       all passed through uninterpreted, instead of generating  a
-       signal.   The  behavior  of the BREAK key depends on other
-       bits in the tty driver that are not set by <STRONG>curses</STRONG>.
+       The <STRONG>raw</STRONG> and <STRONG>noraw</STRONG> routines place the terminal into or out of raw  mode.
+       Raw  mode is similar to <STRONG>cbreak</STRONG> mode, in that characters typed are imme-
+       diately passed through to the user program.  The differences  are  that
+       in  raw mode, the interrupt, quit, suspend, and flow control characters
+       are all passed through uninterpreted, instead of generating  a  signal.
+       The  behavior  of the BREAK key depends on other bits in the tty driver
+       that are not set by <STRONG>curses</STRONG>.
 
 
 </PRE><H3><a name="h3-noqiflush">noqiflush</a></H3><PRE>
-       When the <STRONG>noqiflush</STRONG> routine is used, normal flush of  input
-       and  output queues associated with the <STRONG>INTR</STRONG>, <STRONG>QUIT</STRONG> and <STRONG>SUSP</STRONG>
-       characters will not be done [see <STRONG>termio(7)</STRONG>].  When <STRONG>qiflush</STRONG>
-       is  called,  the queues will be flushed when these control
-       characters are read.  You may want to call <STRONG>noqiflush</STRONG> in  a
-       signal  handler  if  you want output to continue as though
+       When the <STRONG>noqiflush</STRONG> routine is used, normal flush of  input  and  output
+       queues  associated  with the <STRONG>INTR</STRONG>, <STRONG>QUIT</STRONG> and <STRONG>SUSP</STRONG> characters will not be
+       done [see <STRONG>termio(7)</STRONG>].  When <STRONG>qiflush</STRONG>  is  called,  the  queues  will  be
+       flushed  when  these control characters are read.  You may want to call
+       <STRONG>noqiflush</STRONG> in a signal handler if you want output to continue as  though
        the interrupt had not occurred, after the handler exits.
 
 
 </PRE><H3><a name="h3-timeout_wtimeout">timeout/wtimeout</a></H3><PRE>
-       The <STRONG>timeout</STRONG> and <STRONG>wtimeout</STRONG> routines  set  blocking  or  non-
-       blocking  read  for a given window.  If <EM>delay</EM> is negative,
-       blocking read is used (i.e., waits  indefinitely  for  in-
-       put).   If  <EM>delay</EM>  is zero, then non-blocking read is used
-       (i.e., read returns <STRONG>ERR</STRONG> if no input is waiting).  If <EM>delay</EM>
-       is  positive, then read blocks for <EM>delay</EM> milliseconds, and
-       returns <STRONG>ERR</STRONG> if there is still no input.  Hence, these rou-
-       tines  provide the same functionality as <STRONG>nodelay</STRONG>, plus the
-       additional capability of being able to block for only  <EM>de-</EM>
-       <EM>lay</EM> milliseconds (where <EM>delay</EM> is positive).
+       The <STRONG>timeout</STRONG> and <STRONG>wtimeout</STRONG> routines set blocking or non-blocking read for
+       a given window.  If <EM>delay</EM> is negative, blocking  read  is  used  (i.e.,
+       waits  indefinitely  for  input).   If <EM>delay</EM> is zero, then non-blocking
+       read is used (i.e., read returns <STRONG>ERR</STRONG> if no input is waiting).  If <EM>delay</EM>
+       is  positive,  then read blocks for <EM>delay</EM> milliseconds, and returns <STRONG>ERR</STRONG>
+       if there is still no input.  Hence, these  routines  provide  the  same
+       functionality  as <STRONG>nodelay</STRONG>, plus the additional capability of being able
+       to block for only <EM>delay</EM> milliseconds (where <EM>delay</EM> is positive).
 
 
 </PRE><H3><a name="h3-typeahead">typeahead</a></H3><PRE>
-       The  <STRONG>curses</STRONG>  library  does "line-breakout optimization" by
-       looking for  typeahead  periodically  while  updating  the
-       screen.   If  input is found, and it is coming from a tty,
-       the current update is postponed until <STRONG><A HREF="curs_refresh.3x.html">refresh(3x)</A></STRONG> or <STRONG>doup-</STRONG>
-       <STRONG>date</STRONG> is called again.  This allows faster response to com-
-       mands typed in advance.  Normally, the input FILE  pointer
-       passed  to  <STRONG>newterm</STRONG>, or <STRONG>stdin</STRONG> in the case that <STRONG>initscr</STRONG> was
-       used, will be used to do this typeahead checking.  The <STRONG>ty-</STRONG>
-       <STRONG>peahead</STRONG>  routine  specifies that the file descriptor <EM>fd</EM> is
-       to be used to check for typeahead instead.  If <EM>fd</EM>  is  -1,
-       then no typeahead checking is done.
+       The <STRONG>curses</STRONG> library does "line-breakout optimization" by looking for ty-
+       peahead periodically while updating the screen.  If input is found, and
+       it is coming from a tty, the current  update  is  postponed  until  <STRONG>re-</STRONG>
+       <STRONG><A HREF="refresh.3x.html">fresh(3x)</A></STRONG>  or <STRONG>doupdate</STRONG> is called again.  This allows faster response to
+       commands typed in advance.  Normally, the input FILE pointer passed  to
+       <STRONG>newterm</STRONG>, or <STRONG>stdin</STRONG> in the case that <STRONG>initscr</STRONG> was used, will be used to do
+       this typeahead checking.  The <STRONG>typeahead</STRONG> routine specifies that the file
+       descriptor  <EM>fd</EM>  is to be used to check for typeahead instead.  If <EM>fd</EM> is
+       -1, then no typeahead checking is done.
 
 
 </PRE><H2><a name="h2-RETURN-VALUE">RETURN VALUE</a></H2><PRE>
-       All  routines that return an integer return <STRONG>ERR</STRONG> upon fail-
-       ure and OK (SVr4 specifies only "an  integer  value  other
-       than  <STRONG>ERR</STRONG>")  upon  successful completion, unless otherwise
-       noted in the preceding routine descriptions.
+       All routines that return an integer return  <STRONG>ERR</STRONG>  upon  failure  and  OK
+       (SVr4 specifies only "an integer value other than <STRONG>ERR</STRONG>") upon successful
+       completion, unless otherwise noted in the  preceding  routine  descrip-
+       tions.
 
-       X/Open does not define any error conditions.  In this  im-
-       plementation,  functions  with a window parameter will re-
-       turn an error if it is null.  Any function will  also  re-
-       turn an error if the terminal was not initialized.  Also,
+       X/Open  does  not define any error conditions.  In this implementation,
+       functions with a window parameter will return an error if it  is  null.
+       Any function will also return an error if the terminal was not initial-
+       ized.  Also,
 
               <STRONG>halfdelay</STRONG>
-                   returns  an  error if its parameter is outside
-                   the range 1..255.
+                   returns an error if its  parameter  is  outside  the  range
+                   1..255.
 
 
 </PRE><H2><a name="h2-PORTABILITY">PORTABILITY</a></H2><PRE>
-       These functions are described in the XSI Curses  standard,
-       Issue 4.
-
-       The  ncurses  library obeys the XPG4 standard and the his-
-       torical practice of the AT&amp;T  curses  implementations,  in
-       that  the  echo bit is cleared when curses initializes the
-       terminal state.  BSD curses differed from  this  slightly;
-       it left the echo bit on at initialization, but the BSD <STRONG>raw</STRONG>
-       call turned it off as a side-effect.  For best  portabili-
-       ty,  set  echo or noecho explicitly just after initializa-
-       tion, even if your program remains in cooked mode.
-
-       When <STRONG>keypad</STRONG> is first enabled, ncurses loads the  key-defi-
-       nitions for the current terminal description.  If the ter-
-       minal description includes extended  string  capabilities,
-       e.g.,  from  using the <STRONG>-x</STRONG> option of <STRONG>tic</STRONG>, then ncurses also
-       defines keys for the capabilities whose names  begin  with
-       "k".   The  corresponding  keycodes are generated and (de-
-       pending on previous loads of  terminal  descriptions)  may
-       differ  from  one execution of a program to the next.  The
-       generated keycodes are recognized by the <STRONG>keyname</STRONG>  function
-       (which will then return a name beginning with "k" denoting
-       the terminfo capability name rather  than  "K",  used  for
-       curses  key-names).  On the other hand, an application can
-       use <STRONG>define_key</STRONG> to establish a specific keycode for a given
-       string.   This  makes  it  possible  for an application to
-       check for an extended capability's presence with <STRONG>tigetstr</STRONG>,
-       and reassign the keycode to match its own needs.
-
-       Low-level applications can use <STRONG>tigetstr</STRONG> to obtain the def-
-       inition of any particular string capability.  Higher-level
-       applications which use the curses <STRONG>wgetch</STRONG> and similar func-
-       tions to return keycodes rely upon the order in which  the
-       strings  are  loaded.  If more than one key definition has
-       the same string value, then <STRONG>wgetch</STRONG>  can  return  only  one
-       keycode.   Most curses implementations (including ncurses)
-       load key definitions in the order defined by the array  of
-       string capability names.  The last key to be loaded deter-
-       mines the keycode which will be returned.  In ncurses, you
-       may  also  have  extended  capabilities interpreted as key
-       definitions.  These are loaded after the predefined  keys,
-       and  if  a capability's value is the same as a previously-
-       loaded key definition, the later  definition  is  the  one
-       used.
+       These functions are described in the XSI Curses standard, Issue 4.
+
+       The ncurses library obeys the XPG4 standard and the historical practice
+       of the AT&amp;T curses implementations, in that the  echo  bit  is  cleared
+       when  curses  initializes the terminal state.  BSD curses differed from
+       this slightly; it left the echo bit on at initialization, but  the  BSD
+       <STRONG>raw</STRONG>  call  turned  it  off as a side-effect.  For best portability, set
+       echo or noecho explicitly just after initialization, even if your  pro-
+       gram remains in cooked mode.
+
+       When <STRONG>keypad</STRONG> is first enabled, ncurses loads the key-definitions for the
+       current terminal description.  If the terminal description includes ex-
+       tended string capabilities, e.g., from using the <STRONG>-x</STRONG> option of <STRONG>tic</STRONG>, then
+       ncurses also defines keys for the capabilities whose names  begin  with
+       "k".  The corresponding keycodes are generated and (depending on previ-
+       ous loads of terminal descriptions) may differ from one execution of  a
+       program to the next.  The generated keycodes are recognized by the <STRONG>key-</STRONG>
+       <STRONG>name</STRONG> function (which will then return a name beginning with "k"  denot-
+       ing  the terminfo capability name rather than "K", used for curses key-
+       names).  On the other hand, an application can use <STRONG>define_key</STRONG> to estab-
+       lish a specific keycode for a given string.  This makes it possible for
+       an application to check for  an  extended  capability's  presence  with
+       <STRONG>tigetstr</STRONG>, and reassign the keycode to match its own needs.
+
+       Low-level applications can use <STRONG>tigetstr</STRONG> to obtain the definition of any
+       particular string capability.  Higher-level applications which use  the
+       curses  <STRONG>wgetch</STRONG>  and  similar functions to return keycodes rely upon the
+       order in which the strings are loaded.  If more than one key definition
+       has  the  same  string  value, then <STRONG>wgetch</STRONG> can return only one keycode.
+       Most curses implementations (including ncurses) load key definitions in
+       the  order  defined  by the array of string capability names.  The last
+       key to be loaded determines the keycode which  will  be  returned.   In
+       ncurses,  you  may  also  have extended capabilities interpreted as key
+       definitions.  These are loaded after the predefined keys, and if a  ca-
+       pability's value is the same as a previously-loaded key definition, the
+       later definition is the one used.
 
 
 </PRE><H2><a name="h2-NOTES">NOTES</a></H2><PRE>
-       Note  that <STRONG>echo</STRONG>, <STRONG>noecho</STRONG>, <STRONG>halfdelay</STRONG>, <STRONG>intrflush</STRONG>, <STRONG>meta</STRONG>, <STRONG>node-</STRONG>
-       <STRONG>lay</STRONG>, <STRONG>notimeout</STRONG>, <STRONG>noqiflush</STRONG>, <STRONG>qiflush</STRONG>, <STRONG>timeout</STRONG>, and  <STRONG>wtimeout</STRONG>
-       may be macros.
-
-       The <STRONG>noraw</STRONG> and <STRONG>nocbreak</STRONG> calls follow historical practice in
-       that they attempt to restore  to  normal  ("cooked")  mode
-       from  raw and cbreak modes respectively.  Mixing raw/noraw
-       and cbreak/nocbreak calls  leads  to  tty  driver  control
-       states  that  are hard to predict or understand; it is not
+       Note that <STRONG>echo</STRONG>, <STRONG>noecho</STRONG>, <STRONG>halfdelay</STRONG>, <STRONG>intrflush</STRONG>, <STRONG>meta</STRONG>, <STRONG>nodelay</STRONG>, <STRONG>notimeout</STRONG>,
+       <STRONG>noqiflush</STRONG>, <STRONG>qiflush</STRONG>, <STRONG>timeout</STRONG>, and <STRONG>wtimeout</STRONG> may be macros.
+
+       The  <STRONG>noraw</STRONG>  and  <STRONG>nocbreak</STRONG> calls follow historical practice in that they
+       attempt to restore to normal ("cooked") mode from raw and cbreak  modes
+       respectively.   Mixing raw/noraw and cbreak/nocbreak calls leads to tty
+       driver control states that are hard to predict or understand; it is not
        recommended.
 
 
 </PRE><H2><a name="h2-SEE-ALSO">SEE ALSO</a></H2><PRE>
-       <STRONG><A HREF="ncurses.3x.html">curses(3x)</A></STRONG>,       <STRONG><A HREF="curs_getch.3x.html">curs_getch(3x)</A></STRONG>,        <STRONG><A HREF="curs_initscr.3x.html">curs_initscr(3x)</A></STRONG>,
-       <STRONG><A HREF="curs_util.3x.html">curs_util(3x)</A></STRONG>, <STRONG><A HREF="define_key.3x.html">define_key(3x)</A></STRONG>, <STRONG>termio(7)</STRONG>
+       <STRONG><A HREF="ncurses.3x.html">curses(3x)</A></STRONG>,   <STRONG><A HREF="curs_getch.3x.html">curs_getch(3x)</A></STRONG>,   <STRONG><A HREF="curs_initscr.3x.html">curs_initscr(3x)</A></STRONG>,   <STRONG><A HREF="curs_util.3x.html">curs_util(3x)</A></STRONG>,  <STRONG>de-</STRONG>
+       <STRONG><A HREF="define_key.3x.html">fine_key(3x)</A></STRONG>, <STRONG>termio(7)</STRONG>
 
 
 
-                                                        <STRONG><A HREF="curs_inopts.3x.html">curs_inopts(3x)</A></STRONG>
+                                                               <STRONG><A HREF="curs_inopts.3x.html">curs_inopts(3x)</A></STRONG>
 </PRE>
 <div class="nav">
 <ul>
index a15984d57f237004607f11dfa223c3883a931202..e4c734b7fe0f4fc4e903b5d26d08323a5616022a 100644 (file)
 <BODY>
 <H1 class="no-header">curs_ins_wch 3x</H1>
 <PRE>
-<STRONG><A HREF="curs_ins_wch.3x.html">curs_ins_wch(3x)</A></STRONG>                                       <STRONG><A HREF="curs_ins_wch.3x.html">curs_ins_wch(3x)</A></STRONG>
+<STRONG><A HREF="curs_ins_wch.3x.html">curs_ins_wch(3x)</A></STRONG>                                              <STRONG><A HREF="curs_ins_wch.3x.html">curs_ins_wch(3x)</A></STRONG>
 
 
 
 
 </PRE><H2><a name="h2-NAME">NAME</a></H2><PRE>
-       <STRONG>ins_wch</STRONG>,  <STRONG>mvins_wch</STRONG>,  <STRONG>mvwins_wch</STRONG>, <STRONG>wins_wch</STRONG> - insert a com-
-       plex character and rendition into a window
+       <STRONG>ins_wch</STRONG>,  <STRONG>mvins_wch</STRONG>,  <STRONG>mvwins_wch</STRONG>, <STRONG>wins_wch</STRONG> - insert a complex character
+       and rendition into a window
 
 
 </PRE><H2><a name="h2-SYNOPSIS">SYNOPSIS</a></H2><PRE>
        <STRONG>int</STRONG> <STRONG>ins_wch(const</STRONG> <STRONG>cchar_t</STRONG> <STRONG>*</STRONG><EM>wch</EM><STRONG>);</STRONG>
        <STRONG>int</STRONG> <STRONG>wins_wch(WINDOW</STRONG> <STRONG>*</STRONG><EM>win,</EM> <EM>const</EM> <EM>cchar</EM><STRONG>_</STRONG><EM>t</EM> <EM>*wch</EM><STRONG>);</STRONG>
        <STRONG>int</STRONG> <STRONG>mvins_wch(int</STRONG> <EM>y,</EM> <EM>int</EM> <EM>x,</EM> <EM>const</EM> <EM>cchar</EM><STRONG>_</STRONG><EM>t</EM> <EM>*wch</EM><STRONG>);</STRONG>
-       <STRONG>int</STRONG> <STRONG>mvwins_wch(WINDOW</STRONG> <STRONG>*</STRONG><EM>win,</EM> <EM>int</EM> <EM>y,</EM> <EM>int</EM>  <EM>x,</EM>  <EM>const</EM>  <EM>cchar</EM><STRONG>_</STRONG><EM>t</EM>
-       <EM>*wch</EM><STRONG>);</STRONG>
+       <STRONG>int</STRONG> <STRONG>mvwins_wch(WINDOW</STRONG> <STRONG>*</STRONG><EM>win,</EM> <EM>int</EM> <EM>y,</EM> <EM>int</EM> <EM>x,</EM> <EM>const</EM> <EM>cchar</EM><STRONG>_</STRONG><EM>t</EM> <EM>*wch</EM><STRONG>);</STRONG>
 
 
 </PRE><H2><a name="h2-DESCRIPTION">DESCRIPTION</a></H2><PRE>
-       These routines, insert the complex character <EM>wch</EM> with ren-
-       dition before the character under the cursor.  All charac-
-       ters to the right of the cursor are moved one space to the
-       right, with the possibility of the rightmost character  on
-       the  line  being  lost.   The insertion operation does not
-       change the cursor position.
+       These routines, insert the complex character <EM>wch</EM> with rendition  before
+       the  character  under  the  cursor.  All characters to the right of the
+       cursor are moved one space to the right, with the  possibility  of  the
+       rightmost  character  on  the line being lost.  The insertion operation
+       does not change the cursor position.
 
 
 </PRE><H2><a name="h2-RETURN-VALUE">RETURN VALUE</a></H2><PRE>
-       If successful, these functions return OK.   If  not,  they
-       return ERR.
+       If successful, these functions return OK.  If not, they return ERR.
 
-       Functions  with a "mv" prefix first perform a cursor move-
-       ment using <STRONG>wmove</STRONG>, and return an error if the  position  is
-       outside the window, or if the window pointer is null.
+       Functions with a "mv" prefix first  perform  a  cursor  movement  using
+       <STRONG>wmove</STRONG>, and return an error if the position is outside the window, or if
+       the window pointer is null.
 
 
 </PRE><H2><a name="h2-ERRORS">ERRORS</a></H2><PRE>
@@ -87,7 +84,7 @@
 
 
 
-                                                       <STRONG><A HREF="curs_ins_wch.3x.html">curs_ins_wch(3x)</A></STRONG>
+                                                              <STRONG><A HREF="curs_ins_wch.3x.html">curs_ins_wch(3x)</A></STRONG>
 </PRE>
 <div class="nav">
 <ul>
index 89b5d00656f65a7ed5fbfd46b5fc9119d590b221..0f3cf5d911f3faa2a6bab18175b36db891734459 100644 (file)
 <BODY>
 <H1 class="no-header">curs_ins_wstr 3x</H1>
 <PRE>
-<STRONG><A HREF="curs_ins_wstr.3x.html">curs_ins_wstr(3x)</A></STRONG>                                     <STRONG><A HREF="curs_ins_wstr.3x.html">curs_ins_wstr(3x)</A></STRONG>
+<STRONG><A HREF="curs_ins_wstr.3x.html">curs_ins_wstr(3x)</A></STRONG>                                            <STRONG><A HREF="curs_ins_wstr.3x.html">curs_ins_wstr(3x)</A></STRONG>
 
 
 
 
 </PRE><H2><a name="h2-NAME">NAME</a></H2><PRE>
-       <STRONG>ins_wstr</STRONG>, <STRONG>ins_nwstr</STRONG>, <STRONG>wins_wstr</STRONG>, <STRONG>wins_nwstr</STRONG>, <STRONG>mvins_wstr</STRONG>,
-       <STRONG>mvins_nwstr</STRONG>, <STRONG>mvwins_wstr</STRONG>, <STRONG>mvwins_nwstr</STRONG> - insert a wide-
-       character string into a curses window
+       <STRONG>ins_wstr</STRONG>, <STRONG>ins_nwstr</STRONG>, <STRONG>wins_wstr</STRONG>, <STRONG>wins_nwstr</STRONG>, <STRONG>mvins_wstr</STRONG>, <STRONG>mvins_nwstr</STRONG>,
+       <STRONG>mvwins_wstr</STRONG>, <STRONG>mvwins_nwstr</STRONG> - insert a wide-character string into a
+       curses window
 
 
 </PRE><H2><a name="h2-SYNOPSIS">SYNOPSIS</a></H2><PRE>
 
 
 </PRE><H2><a name="h2-DESCRIPTION">DESCRIPTION</a></H2><PRE>
-       These  routines insert a <STRONG>wchar_t</STRONG> character string (as many
-       characters as will fit on the line) before  the  character
-       under the cursor.  All characters to the right of the cur-
-       sor are shifted right, with the possibility of the  right-
-       most  characters  on  the line being lost.  No wrapping is
-       performed.  The cursor position  does  not  change  (after
-       moving  to  <EM>y</EM>, <EM>x</EM>, if specified).  The four routines with <EM>n</EM>
-       as the last argument insert a leading substring of at most
-       <EM>n</EM>  <STRONG>wchar_t</STRONG>  characters.   If  <EM>n</EM> is less than 1, the entire
-       string is inserted.
-
-       If a character in <EM>wstr</EM> is a tab, newline, carriage  return
-       or backspace, the cursor is moved appropriately within the
-       window.  A newline also does  a  <STRONG>clrtoeol</STRONG>  before  moving.
-       Tabs  are  considered  to be at every eighth column.  If a
-       character in <EM>wstr</EM> is  another  control  character,  it  is
-       drawn  in the <STRONG>^</STRONG><EM>X</EM> notation.  Calling <STRONG>win_wch</STRONG> after adding a
-       control character (and moving to it,  if  necessary)  does
-       not  return  the  control character, but instead returns a
-       character in the ^-representation of the  control  charac-
-       ter.
+       These routines insert a <STRONG>wchar_t</STRONG> character string (as many characters as
+       will fit on the line) before the character under the cursor.  All char-
+       acters to the right of the cursor are shifted right, with the possibil-
+       ity of the rightmost characters on the line being lost.  No wrapping is
+       performed.   The cursor position does not change (after moving to <EM>y</EM>, <EM>x</EM>,
+       if specified).  The four routines with <EM>n</EM> as the last argument insert  a
+       leading  substring  of at most <EM>n</EM> <STRONG>wchar_t</STRONG> characters.  If <EM>n</EM> is less than
+       1, the entire string is inserted.
+
+       If a character in <EM>wstr</EM> is a tab, newline, carriage return or backspace,
+       the  cursor  is  moved appropriately within the window.  A newline also
+       does a <STRONG>clrtoeol</STRONG> before moving.  Tabs are  considered  to  be  at  every
+       eighth column.  If a character in <EM>wstr</EM> is another control character, it
+       is drawn in the <STRONG>^</STRONG><EM>X</EM> notation.  Calling <STRONG>win_wch</STRONG> after  adding  a  control
+       character  (and moving to it, if necessary) does not return the control
+       character, but instead returns a character in the  ^-representation  of
+       the control character.
 
 
 </PRE><H2><a name="h2-NOTES">NOTES</a></H2><PRE>
        Note that all but wins_nwstr may be macros.
 
-       If the first character in the string is a nonspacing char-
-       acter, these functions will fail.   XSI  does  not  define
-       what  will happen if a nonspacing character follows a con-
-       trol character.
+       If  the  first character in the string is a nonspacing character, these
+       functions will fail.  XSI does not define what will happen  if  a  non-
+       spacing character follows a control character.
 
 
 </PRE><H2><a name="h2-RETURN-VALUE">RETURN VALUE</a></H2><PRE>
-       Upon successful completion,  these  functions  return  OK.
-       Otherwise, they return ERR.
+       Upon successful completion, these functions return OK.  Otherwise, they
+       return ERR.
 
-       Functions  with a "mv" prefix first perform a cursor move-
-       ment using <STRONG>wmove</STRONG>, and return an error if the  position  is
-       outside the window, or if the window pointer is null.
+       Functions with a "mv" prefix first  perform  a  cursor  movement  using
+       <STRONG>wmove</STRONG>, and return an error if the position is outside the window, or if
+       the window pointer is null.
 
 
 </PRE><H2><a name="h2-SEE-ALSO">SEE ALSO</a></H2><PRE>
-       <STRONG><A HREF="ncurses.3x.html">curses(3x)</A></STRONG>,        <STRONG><A HREF="curs_insstr.3x.html">curs_insstr(3x)</A></STRONG>,       <STRONG><A HREF="curs_in_wch.3x.html">curs_in_wch(3x)</A></STRONG>,
-       <STRONG><A HREF="curs_ins_wch.3x.html">curs_ins_wch(3x)</A></STRONG>.
+       <STRONG><A HREF="ncurses.3x.html">curses(3x)</A></STRONG>, <STRONG><A HREF="curs_insstr.3x.html">curs_insstr(3x)</A></STRONG>, <STRONG><A HREF="curs_in_wch.3x.html">curs_in_wch(3x)</A></STRONG>, <STRONG><A HREF="curs_ins_wch.3x.html">curs_ins_wch(3x)</A></STRONG>.
 
 
 
-                                                      <STRONG><A HREF="curs_ins_wstr.3x.html">curs_ins_wstr(3x)</A></STRONG>
+                                                             <STRONG><A HREF="curs_ins_wstr.3x.html">curs_ins_wstr(3x)</A></STRONG>
 </PRE>
 <div class="nav">
 <ul>
index d663807466fc8faed43502789465b64057c99473..54f6b467302dc01315ab9e4e06c68961ac62b317 100644 (file)
 <BODY>
 <H1 class="no-header">curs_insch 3x</H1>
 <PRE>
-<STRONG><A HREF="curs_insch.3x.html">curs_insch(3x)</A></STRONG>                                           <STRONG><A HREF="curs_insch.3x.html">curs_insch(3x)</A></STRONG>
+<STRONG><A HREF="curs_insch.3x.html">curs_insch(3x)</A></STRONG>                                                  <STRONG><A HREF="curs_insch.3x.html">curs_insch(3x)</A></STRONG>
 
 
 
 
 </PRE><H2><a name="h2-NAME">NAME</a></H2><PRE>
-       <STRONG>insch</STRONG>,  <STRONG>winsch</STRONG>,  <STRONG>mvinsch</STRONG>,  <STRONG>mvwinsch</STRONG>  -  insert a character
-       before cursor in a <STRONG>curses</STRONG> window
+       <STRONG>insch</STRONG>,  <STRONG>winsch</STRONG>, <STRONG>mvinsch</STRONG>, <STRONG>mvwinsch</STRONG> - insert a character before cursor in
+       a <STRONG>curses</STRONG> window
 
 
 </PRE><H2><a name="h2-SYNOPSIS">SYNOPSIS</a></H2><PRE>
 
 
 </PRE><H2><a name="h2-DESCRIPTION">DESCRIPTION</a></H2><PRE>
-       These routines insert the character <EM>ch</EM> before the  charac-
-       ter  under the cursor.  All characters to the right of the
-       cursor are moved one space to the right, with  the  possi-
-       bility  of the rightmost character on the line being lost.
-       The insertion operation does not change the  cursor  posi-
-       tion.
+       These routines insert the character <EM>ch</EM> before the character  under  the
+       cursor.   All characters to the right of the cursor are moved one space
+       to the right, with the possibility of the rightmost  character  on  the
+       line  being  lost.   The insertion operation does not change the cursor
+       position.
 
 
 </PRE><H2><a name="h2-RETURN-VALUE">RETURN VALUE</a></H2><PRE>
-       All  routines that return an integer return <STRONG>ERR</STRONG> upon fail-
-       ure and OK (SVr4 specifies only "an  integer  value  other
-       than  <STRONG>ERR</STRONG>")  upon  successful completion, unless otherwise
-       noted in the preceding routine descriptions.
+       All routines that return an integer return  <STRONG>ERR</STRONG>  upon  failure  and  OK
+       (SVr4 specifies only "an integer value other than <STRONG>ERR</STRONG>") upon successful
+       completion, unless otherwise noted in the  preceding  routine  descrip-
+       tions.
 
-       Functions with a "mv" prefix first perform a cursor  move-
-       ment  using  <STRONG>wmove</STRONG>, and return an error if the position is
-       outside the window, or if the window pointer is null.
+       Functions  with  a  "mv"  prefix  first perform a cursor movement using
+       <STRONG>wmove</STRONG>, and return an error if the position is outside the window, or if
+       the window pointer is null.
 
 
 </PRE><H2><a name="h2-NOTES">NOTES</a></H2><PRE>
-       These routines do not necessarily imply use of a  hardware
-       insert character feature.
+       These  routines do not necessarily imply use of a hardware insert char-
+       acter feature.
 
        Note that <STRONG>insch</STRONG>, <STRONG>mvinsch</STRONG>, and <STRONG>mvwinsch</STRONG> may be macros.
 
 
 </PRE><H2><a name="h2-PORTABILITY">PORTABILITY</a></H2><PRE>
-       These  functions are described in the XSI Curses standard,
-       Issue 4.
+       These functions are described in the XSI Curses standard, Issue 4.
 
 
 </PRE><H2><a name="h2-SEE-ALSO">SEE ALSO</a></H2><PRE>
        <STRONG><A HREF="ncurses.3x.html">curses(3x)</A></STRONG>.
 
-       Comparable  functions  in  the  wide-character  (ncursesw)
-       library are described in <STRONG><A HREF="curs_ins_wch.3x.html">curs_ins_wch(3x)</A></STRONG>.
+       Comparable functions  in  the  wide-character  (ncursesw)  library  are
+       described in <STRONG><A HREF="curs_ins_wch.3x.html">curs_ins_wch(3x)</A></STRONG>.
 
 
 
-                                                         <STRONG><A HREF="curs_insch.3x.html">curs_insch(3x)</A></STRONG>
+                                                                <STRONG><A HREF="curs_insch.3x.html">curs_insch(3x)</A></STRONG>
 </PRE>
 <div class="nav">
 <ul>
index becdc103a9ac7392d3c4dc5bf10dd73f8d0aaf26..50b837bcb5ad138998eaa09cf027d6d5a0b0df76 100644 (file)
 <BODY>
 <H1 class="no-header">curs_insstr 3x</H1>
 <PRE>
-<STRONG><A HREF="curs_insstr.3x.html">curs_insstr(3x)</A></STRONG>                                         <STRONG><A HREF="curs_insstr.3x.html">curs_insstr(3x)</A></STRONG>
+<STRONG><A HREF="curs_insstr.3x.html">curs_insstr(3x)</A></STRONG>                                                <STRONG><A HREF="curs_insstr.3x.html">curs_insstr(3x)</A></STRONG>
 
 
 
 
 </PRE><H2><a name="h2-NAME">NAME</a></H2><PRE>
-       <STRONG>insstr</STRONG>,  <STRONG>insnstr</STRONG>,  <STRONG>winsstr</STRONG>, <STRONG>winsnstr</STRONG>, <STRONG>mvinsstr</STRONG>, <STRONG>mvinsnstr</STRONG>,
-       <STRONG>mvwinsstr</STRONG>, <STRONG>mvwinsnstr</STRONG> - insert string before cursor  in  a
-       <STRONG>curses</STRONG> window
+       <STRONG>insstr</STRONG>,  <STRONG>insnstr</STRONG>,  <STRONG>winsstr</STRONG>,  <STRONG>winsnstr</STRONG>,  <STRONG>mvinsstr</STRONG>, <STRONG>mvinsnstr</STRONG>, <STRONG>mvwinsstr</STRONG>,
+       <STRONG>mvwinsnstr</STRONG> - insert string before cursor in a <STRONG>curses</STRONG> window
 
 
 </PRE><H2><a name="h2-SYNOPSIS">SYNOPSIS</a></H2><PRE>
        <STRONG>int</STRONG> <STRONG>mvinsstr(int</STRONG> <STRONG>y,</STRONG> <STRONG>int</STRONG> <STRONG>x,</STRONG> <STRONG>const</STRONG> <STRONG>char</STRONG> <STRONG>*str);</STRONG>
        <STRONG>int</STRONG> <STRONG>mvinsnstr(int</STRONG> <STRONG>y,</STRONG> <STRONG>int</STRONG> <STRONG>x,</STRONG> <STRONG>const</STRONG> <STRONG>char</STRONG> <STRONG>*str,</STRONG> <STRONG>int</STRONG> <STRONG>n);</STRONG>
        <STRONG>int</STRONG> <STRONG>mvwinsstr(WINDOW</STRONG> <STRONG>*win,</STRONG> <STRONG>int</STRONG> <STRONG>y,</STRONG> <STRONG>int</STRONG> <STRONG>x,</STRONG> <STRONG>const</STRONG> <STRONG>char</STRONG> <STRONG>*str);</STRONG>
-       <STRONG>int</STRONG> <STRONG>mvwinsnstr(WINDOW</STRONG> <STRONG>*win,</STRONG> <STRONG>int</STRONG> <STRONG>y,</STRONG> <STRONG>int</STRONG> <STRONG>x,</STRONG> <STRONG>const</STRONG> <STRONG>char</STRONG> <STRONG>*str,</STRONG>
-       <STRONG>int</STRONG> <STRONG>n);</STRONG>
+       <STRONG>int</STRONG> <STRONG>mvwinsnstr(WINDOW</STRONG> <STRONG>*win,</STRONG> <STRONG>int</STRONG> <STRONG>y,</STRONG> <STRONG>int</STRONG> <STRONG>x,</STRONG> <STRONG>const</STRONG> <STRONG>char</STRONG> <STRONG>*str,</STRONG> <STRONG>int</STRONG> <STRONG>n);</STRONG>
 
 
 </PRE><H2><a name="h2-DESCRIPTION">DESCRIPTION</a></H2><PRE>
-       These routines insert a character string (as many  charac-
-       ters  as  will fit on the line) before the character under
-       the cursor.  All characters to the right of the cursor are
-       shifted  right with the possibility of the rightmost char-
-       acters on the line being lost.  The cursor  position  does
-       not  change  (after  moving  to  <EM>y</EM>, <EM>x</EM>, if specified).  The
-       functions with <EM>n</EM> as the last  argument  insert  a  leading
-       substring  of  at  most  <EM>n</EM>  characters.  If <EM>n</EM>&lt;=0, then the
-       entire string is inserted.
+       These routines insert a character string (as many  characters  as  will
+       fit on the line) before the character under the cursor.  All characters
+       to the right of the cursor are shifted right with  the  possibility  of
+       the  rightmost  characters on the line being lost.  The cursor position
+       does not change (after moving to <EM>y</EM>, <EM>x</EM>, if  specified).   The  functions
+       with  <EM>n</EM>  as  the  last argument insert a leading substring of at most <EM>n</EM>
+       characters.  If <EM>n</EM>&lt;=0, then the entire string is inserted.
 
        Special characters are handled as in <STRONG>addch</STRONG>.
 
 
 </PRE><H2><a name="h2-RETURN-VALUE">RETURN VALUE</a></H2><PRE>
-       All routines that return an integer return <STRONG>ERR</STRONG> upon  fail-
-       ure  and  OK  (SVr4 specifies only "an integer value other
-       than <STRONG>ERR</STRONG>") upon successful  completion,  unless  otherwise
-       noted in the preceding routine descriptions.
+       All routines that return an integer return  <STRONG>ERR</STRONG>  upon  failure  and  OK
+       (SVr4 specifies only "an integer value other than <STRONG>ERR</STRONG>") upon successful
+       completion, unless otherwise noted in the  preceding  routine  descrip-
+       tions.
 
-       X/Open  defines  no error conditions.  In this implementa-
-       tion, if the window parameter is null or the str parameter
-       is null, an error is returned.
+       X/Open  defines  no  error  conditions.  In this implementation, if the
+       window parameter is null or the str parameter  is  null,  an  error  is
+       returned.
 
-       Functions  with a "mv" prefix first perform a cursor move-
-       ment using <STRONG>wmove</STRONG>, and return an error if the  position  is
-       outside the window, or if the window pointer is null.
+       Functions  with  a  "mv"  prefix  first perform a cursor movement using
+       <STRONG>wmove</STRONG>, and return an error if the position is outside the window, or if
+       the window pointer is null.
 
 
 </PRE><H2><a name="h2-NOTES">NOTES</a></H2><PRE>
 
 
 </PRE><H2><a name="h2-PORTABILITY">PORTABILITY</a></H2><PRE>
-       These  functions are described in the XSI Curses standard,
-       Issue 4, which adds const qualifiers to the arguments.
+       These  functions  are  described  in  the XSI Curses standard, Issue 4,
+       which adds const qualifiers to the arguments.
 
-       The Single  Unix  Specification,  Version  2  states  that
-       <STRONG>insnstr</STRONG>  and  <STRONG>winsnstr</STRONG> perform wrapping.  This is probably
-       an error, since it makes this group of functions inconsis-
-       tent.   Also,  no  implementation of curses documents this
-       inconsistency.
+       The Single Unix Specification, Version 2 states that <STRONG>insnstr</STRONG>  and  <STRONG>win-</STRONG>
+       <STRONG>snstr</STRONG> perform wrapping.  This is probably an error, since it makes this
+       group of functions inconsistent.  Also,  no  implementation  of  curses
+       documents this inconsistency.
 
 
 </PRE><H2><a name="h2-SEE-ALSO">SEE ALSO</a></H2><PRE>
 
 
 
-                                                        <STRONG><A HREF="curs_insstr.3x.html">curs_insstr(3x)</A></STRONG>
+                                                               <STRONG><A HREF="curs_insstr.3x.html">curs_insstr(3x)</A></STRONG>
 </PRE>
 <div class="nav">
 <ul>
index 9012f5ebf8c8828f22a073a59aec14f1e9068bcf..e63a980b2d55003702496c84927764733b435b36 100644 (file)
 <BODY>
 <H1 class="no-header">curs_instr 3x</H1>
 <PRE>
-<STRONG><A HREF="curs_instr.3x.html">curs_instr(3x)</A></STRONG>                                           <STRONG><A HREF="curs_instr.3x.html">curs_instr(3x)</A></STRONG>
+<STRONG><A HREF="curs_instr.3x.html">curs_instr(3x)</A></STRONG>                                                  <STRONG><A HREF="curs_instr.3x.html">curs_instr(3x)</A></STRONG>
 
 
 
 
 </PRE><H2><a name="h2-NAME">NAME</a></H2><PRE>
-       <STRONG>instr</STRONG>,  <STRONG>innstr</STRONG>, <STRONG>winstr</STRONG>, <STRONG>winnstr</STRONG>, <STRONG>mvinstr</STRONG>, <STRONG>mvinnstr</STRONG>, <STRONG>mvwin-</STRONG>
-       <STRONG>str</STRONG>, <STRONG>mvwinnstr</STRONG> - get a string of characters from a  <STRONG>curses</STRONG>
-       window
+       <STRONG>instr</STRONG>,  <STRONG>innstr</STRONG>, <STRONG>winstr</STRONG>, <STRONG>winnstr</STRONG>, <STRONG>mvinstr</STRONG>, <STRONG>mvinnstr</STRONG>, <STRONG>mvwinstr</STRONG>, <STRONG>mvwinnstr</STRONG>
+       - get a string of characters from a <STRONG>curses</STRONG> window
 
 
 </PRE><H2><a name="h2-SYNOPSIS">SYNOPSIS</a></H2><PRE>
        <STRONG>int</STRONG> <STRONG>mvinstr(int</STRONG> <STRONG>y,</STRONG> <STRONG>int</STRONG> <STRONG>x,</STRONG> <STRONG>char</STRONG> <STRONG>*str);</STRONG>
        <STRONG>int</STRONG> <STRONG>mvinnstr(int</STRONG> <STRONG>y,</STRONG> <STRONG>int</STRONG> <STRONG>x,</STRONG> <STRONG>char</STRONG> <STRONG>*str,</STRONG> <STRONG>int</STRONG> <STRONG>n);</STRONG>
        <STRONG>int</STRONG> <STRONG>mvwinstr(WINDOW</STRONG> <STRONG>*win,</STRONG> <STRONG>int</STRONG> <STRONG>y,</STRONG> <STRONG>int</STRONG> <STRONG>x,</STRONG> <STRONG>char</STRONG> <STRONG>*str);</STRONG>
-       <STRONG>int</STRONG>  <STRONG>mvwinnstr(WINDOW</STRONG>  <STRONG>*win,</STRONG>  <STRONG>int</STRONG> <STRONG>y,</STRONG> <STRONG>int</STRONG> <STRONG>x,</STRONG> <STRONG>char</STRONG> <STRONG>*str,</STRONG> <STRONG>int</STRONG>
-       <STRONG>n);</STRONG>
+       <STRONG>int</STRONG> <STRONG>mvwinnstr(WINDOW</STRONG> <STRONG>*win,</STRONG> <STRONG>int</STRONG> <STRONG>y,</STRONG> <STRONG>int</STRONG> <STRONG>x,</STRONG> <STRONG>char</STRONG> <STRONG>*str,</STRONG> <STRONG>int</STRONG> <STRONG>n);</STRONG>
 
 
 </PRE><H2><a name="h2-DESCRIPTION">DESCRIPTION</a></H2><PRE>
-       These routines return  a  string  of  characters  in  <EM>str</EM>,
-       extracted  starting  at the current cursor position in the
-       named window.  Attributes are stripped  from  the  charac-
-       ters.   The  four  functions  with  <EM>n</EM> as the last argument
-       return a leading  substring  at  most  <EM>n</EM>  characters  long
-       (exclusive of the trailing NUL).
+       These routines return a string of characters in <EM>str</EM>, extracted starting
+       at  the  current  cursor  position in the named window.  Attributes are
+       stripped from the characters.  The four functions with <EM>n</EM>  as  the  last
+       argument  return  a leading substring at most <EM>n</EM> characters long (exclu-
+       sive of the trailing NUL).
 
 
 </PRE><H2><a name="h2-RETURN-VALUE">RETURN VALUE</a></H2><PRE>
-       All  of the functions return <STRONG>ERR</STRONG> upon failure, or the num-
-       ber of characters actually read into the string.
+       All of the functions return <STRONG>ERR</STRONG> upon failure, or the number of  charac-
+       ters actually read into the string.
 
-       X/Open Curses defines no error conditions.  In this imple-
-       mentation:
+       X/Open Curses defines no error conditions.  In this implementation:
 
        <STRONG>o</STRONG>   If the <EM>win</EM> parameter is null, an error is returned,
 
        <STRONG>o</STRONG>   If the <EM>chstr</EM> parameter is null, an error is returned,
 
-       Functions  with a "mv" prefix first perform a cursor move-
-       ment using <STRONG>wmove</STRONG>, and return an error if the  position  is
-       outside the window, or if the window pointer is null.
+       Functions  with  a  "mv"  prefix  first perform a cursor movement using
+       <STRONG>wmove</STRONG>, and return an error if the position is outside the window, or if
+       the window pointer is null.
 
 
 </PRE><H2><a name="h2-NOTES">NOTES</a></H2><PRE>
 
 
 </PRE><H2><a name="h2-PORTABILITY">PORTABILITY</a></H2><PRE>
-       SVr4  does not document whether a length limit includes or
-       excludes the trailing NUL.
+       SVr4  does not document whether a length limit includes or excludes the
+       trailing NUL.
 
-       The ncurses library extends the XSI description by  allow-
-       ing  a  negative value for <EM>n</EM>.  In this case, the functions
-       return the string ending at the right margin.
+       The ncurses library extends the XSI description by allowing a  negative
+       value  for  <EM>n</EM>.  In this case, the functions return the string ending at
+       the right margin.
 
 
 </PRE><H2><a name="h2-SEE-ALSO">SEE ALSO</a></H2><PRE>
 
 
 
-                                                         <STRONG><A HREF="curs_instr.3x.html">curs_instr(3x)</A></STRONG>
+                                                                <STRONG><A HREF="curs_instr.3x.html">curs_instr(3x)</A></STRONG>
 </PRE>
 <div class="nav">
 <ul>
index c63b182dec4073d4c18289614f595cbce9a568f3..2b9b52912c4e010ede3e7700ffc1e6b1868dc5d5 100644 (file)
 <BODY>
 <H1 class="no-header">curs_inwstr 3x</H1>
 <PRE>
-<STRONG><A HREF="curs_inwstr.3x.html">curs_inwstr(3x)</A></STRONG>                                         <STRONG><A HREF="curs_inwstr.3x.html">curs_inwstr(3x)</A></STRONG>
+<STRONG><A HREF="curs_inwstr.3x.html">curs_inwstr(3x)</A></STRONG>                                                <STRONG><A HREF="curs_inwstr.3x.html">curs_inwstr(3x)</A></STRONG>
 
 
 
 
 </PRE><H2><a name="h2-NAME">NAME</a></H2><PRE>
-       <STRONG>inwstr</STRONG>,  <STRONG>innwstr</STRONG>,  <STRONG>winwstr</STRONG>, <STRONG>winnwstr</STRONG>, <STRONG>mvinwstr</STRONG>, <STRONG>mvinnwstr</STRONG>,
-       <STRONG>mvwinwstr</STRONG>, <STRONG>mvwinnwstr</STRONG> - get a string of <STRONG>wchar_t</STRONG> characters
-       from a curses window
+       <STRONG>inwstr</STRONG>,  <STRONG>innwstr</STRONG>,  <STRONG>winwstr</STRONG>,  <STRONG>winnwstr</STRONG>,  <STRONG>mvinwstr</STRONG>, <STRONG>mvinnwstr</STRONG>, <STRONG>mvwinwstr</STRONG>,
+       <STRONG>mvwinnwstr</STRONG> - get a string of <STRONG>wchar_t</STRONG> characters from a curses window
 
 
 </PRE><H2><a name="h2-SYNOPSIS">SYNOPSIS</a></H2><PRE>
 
 
 </PRE><H2><a name="h2-DESCRIPTION">DESCRIPTION</a></H2><PRE>
-       These  routines  return  a string of <STRONG>wchar_t</STRONG> characters in
-       <EM>wstr</EM>, extracted starting at the current cursor position in
-       the  named window.  Attributes are stripped from the char-
-       acters.  The four functions with <EM>n</EM> as  the  last  argument
-       return a leading substring at most <EM>n</EM> bytes long (exclusive
-       of the trailing NUL).  Transfer stops at the  end  of  the
-       current  line,  or  when  <EM>n</EM>  bytes have been stored at the
-       location referenced by <EM>wstr</EM>.
+       These routines return a string of <STRONG>wchar_t</STRONG> characters in <EM>wstr</EM>, extracted
+       starting   at   the  current  cursor  position  in  the  named  window.
+       Attributes are stripped from the characters.  The four functions with <EM>n</EM>
+       as  the  last  argument return a leading substring at most <EM>n</EM> bytes long
+       (exclusive of the trailing NUL).  Transfer stops at the end of the cur-
+       rent  line, or when <EM>n</EM> bytes have been stored at the location referenced
+       by <EM>wstr</EM>.
 
-       If the size <EM>n</EM> is not large  enough  to  store  a  complete
-       character, an error is generated.
+       If the size <EM>n</EM> is not large enough to store  a  complete  character,  an
+       error is generated.
 
 
 </PRE><H2><a name="h2-NOTES">NOTES</a></H2><PRE>
 
 
 </PRE><H2><a name="h2-RETURN-VALUE">RETURN VALUE</a></H2><PRE>
-       All routines return <STRONG>ERR</STRONG> upon failure. Upon successful com-
-       pletion, the *<STRONG>inwstr</STRONG> routines return <STRONG>OK</STRONG>, and the  *<STRONG>innwstr</STRONG>
-       routines  return  the  number  of characters read into the
-       string.
+       All  routines  return <STRONG>ERR</STRONG> upon failure. Upon successful completion, the
+       *<STRONG>inwstr</STRONG> routines return <STRONG>OK</STRONG>, and the *<STRONG>innwstr</STRONG> routines return the number
+       of characters read into the string.
 
-       Functions with a "mv" prefix first perform a cursor  move-
-       ment  using  <STRONG>wmove</STRONG>, and return an error if the position is
-       outside the window, or if the window pointer is null.
+       Functions  with  a  "mv"  prefix  first perform a cursor movement using
+       <STRONG>wmove</STRONG>, and return an error if the position is outside the window, or if
+       the window pointer is null.
 
 
 </PRE><H2><a name="h2-SEE-ALSO">SEE ALSO</a></H2><PRE>
@@ -98,7 +95,7 @@
 
 
 
-                                                        <STRONG><A HREF="curs_inwstr.3x.html">curs_inwstr(3x)</A></STRONG>
+                                                               <STRONG><A HREF="curs_inwstr.3x.html">curs_inwstr(3x)</A></STRONG>
 </PRE>
 <div class="nav">
 <ul>
index a91bb850a175d9f95b73f4bee2d855058babd541..a7303ec549c82e9b7ac081bf01fd567964d01df8 100644 (file)
 <BODY>
 <H1 class="no-header">curs_kernel 3x</H1>
 <PRE>
-<STRONG><A HREF="curs_kernel.3x.html">curs_kernel(3x)</A></STRONG>                                         <STRONG><A HREF="curs_kernel.3x.html">curs_kernel(3x)</A></STRONG>
+<STRONG><A HREF="curs_kernel.3x.html">curs_kernel(3x)</A></STRONG>                                                <STRONG><A HREF="curs_kernel.3x.html">curs_kernel(3x)</A></STRONG>
 
 
 
 
 </PRE><H2><a name="h2-NAME">NAME</a></H2><PRE>
-       <STRONG>def_prog_mode</STRONG>, <STRONG>def_shell_mode</STRONG>, <STRONG>reset_prog_mode</STRONG>,
-       <STRONG>reset_shell_mode</STRONG>, <STRONG>resetty</STRONG>, <STRONG>savetty</STRONG>, <STRONG>getsyx</STRONG>, <STRONG>setsyx</STRONG>,
-       <STRONG>ripoffline</STRONG>, <STRONG>curs_set</STRONG>, <STRONG>napms</STRONG> - low-level <STRONG>curses</STRONG> routines
+       <STRONG>def_prog_mode</STRONG>, <STRONG>def_shell_mode</STRONG>, <STRONG>reset_prog_mode</STRONG>, <STRONG>reset_shell_mode</STRONG>,
+       <STRONG>resetty</STRONG>, <STRONG>savetty</STRONG>, <STRONG>getsyx</STRONG>, <STRONG>setsyx</STRONG>, <STRONG>ripoffline</STRONG>, <STRONG>curs_set</STRONG>, <STRONG>napms</STRONG> - low-
+       level <STRONG>curses</STRONG> routines
 
 
 </PRE><H2><a name="h2-SYNOPSIS">SYNOPSIS</a></H2><PRE>
 
 
 </PRE><H2><a name="h2-DESCRIPTION">DESCRIPTION</a></H2><PRE>
-       The  following  routines  give low-level access to various
-       <STRONG>curses</STRONG> capabilities.  These routines  typically  are  used
-       inside library routines.
+       The following routines give low-level access to various <STRONG>curses</STRONG> capabil-
+       ities.  These routines typically are used inside library routines.
 
 
 </PRE><H3><a name="h3-def_prog_mode_-def_shell_mode">def_prog_mode, def_shell_mode</a></H3><PRE>
-       The  <STRONG>def_prog_mode</STRONG>  and  <STRONG>def_shell_mode</STRONG>  routines save the
-       current terminal modes as the  "program"  (in  <STRONG>curses</STRONG>)  or
-       "shell"   (not  in  <STRONG>curses</STRONG>)  state  for  use  by  the  <STRONG>re-</STRONG>
-       <STRONG>set_prog_mode</STRONG> and <STRONG>reset_shell_mode</STRONG> routines.  This is done
-       automatically by <STRONG>initscr</STRONG>.  There is one such save area for
-       each screen context allocated by <STRONG>newterm</STRONG>.
+       The <STRONG>def_prog_mode</STRONG> and <STRONG>def_shell_mode</STRONG> routines save the current terminal
+       modes as the "program" (in <STRONG>curses</STRONG>) or "shell" (not in <STRONG>curses</STRONG>) state for
+       use by the <STRONG>reset_prog_mode</STRONG> and <STRONG>reset_shell_mode</STRONG> routines.  This is done
+       automatically  by <STRONG>initscr</STRONG>.  There is one such save area for each screen
+       context allocated by <STRONG>newterm</STRONG>.
 
 
 </PRE><H3><a name="h3-reset_prog_mode_-reset_shell_mode">reset_prog_mode, reset_shell_mode</a></H3><PRE>
-       The <STRONG>reset_prog_mode</STRONG> and <STRONG>reset_shell_mode</STRONG> routines  restore
-       the  terminal  to "program" (in <STRONG>curses</STRONG>) or "shell" (out of
-       <STRONG>curses</STRONG>) state.  These are done automatically by <STRONG><A HREF="curs_initscr.3x.html">endwin(3x)</A></STRONG>
-       and,  after  an  <STRONG>endwin</STRONG>, by <STRONG>doupdate</STRONG>, so they normally are
-       not called.
+       The <STRONG>reset_prog_mode</STRONG> and <STRONG>reset_shell_mode</STRONG> routines restore the  terminal
+       to  "program"  (in <STRONG>curses</STRONG>) or "shell" (out of <STRONG>curses</STRONG>) state.  These are
+       done automatically by <STRONG><A HREF="curs_initscr.3x.html">endwin(3x)</A></STRONG> and, after an <STRONG>endwin</STRONG>, by <STRONG>doupdate</STRONG>,  so
+       they normally are not called.
 
 
 </PRE><H3><a name="h3-resetty_-savetty">resetty, savetty</a></H3><PRE>
-       The <STRONG>resetty</STRONG> and <STRONG>savetty</STRONG>  routines  save  and  restore  the
-       state  of  the  terminal modes.  <STRONG>savetty</STRONG> saves the current
-       state in a buffer and <STRONG>resetty</STRONG> restores the state  to  what
-       it was at the last call to <STRONG>savetty</STRONG>.
+       The <STRONG>resetty</STRONG> and <STRONG>savetty</STRONG> routines save and restore the state of the ter-
+       minal modes.  <STRONG>savetty</STRONG> saves the current state in a buffer  and  <STRONG>resetty</STRONG>
+       restores the state to what it was at the last call to <STRONG>savetty</STRONG>.
 
 
 </PRE><H3><a name="h3-getsyx">getsyx</a></H3><PRE>
-       The  <STRONG>getsyx</STRONG> routine returns the current coordinates of the
-       virtual screen cursor in <EM>y</EM> and <EM>x</EM>.  If <STRONG>leaveok</STRONG> is currently
-       <STRONG>TRUE</STRONG>,  then <STRONG>-1</STRONG>,<STRONG>-1</STRONG> is returned.  If lines have been removed
-       from the top of the screen, using <STRONG>ripoffline</STRONG>, <EM>y</EM> and <EM>x</EM>  in-
-       clude  these lines; therefore, <EM>y</EM> and <EM>x</EM> should be used only
-       as arguments for <STRONG>setsyx</STRONG>.
+       The  <STRONG>getsyx</STRONG>  routine  returns  the  current  coordinates of the virtual
+       screen cursor in <EM>y</EM> and <EM>x</EM>.  If <STRONG>leaveok</STRONG> is currently <STRONG>TRUE</STRONG>, then <STRONG>-1</STRONG>,<STRONG>-1</STRONG>  is
+       returned.  If lines have been removed from the top of the screen, using
+       <STRONG>ripoffline</STRONG>, <EM>y</EM> and <EM>x</EM> include these lines; therefore, <EM>y</EM> and <EM>x</EM>  should  be
+       used only as arguments for <STRONG>setsyx</STRONG>.
 
 
 </PRE><H3><a name="h3-setsyx">setsyx</a></H3><PRE>
-       The <STRONG>setsyx</STRONG> routine sets the virtual screen cursor to <EM>y</EM>, <EM>x</EM>.
-       If <EM>y</EM> and <EM>x</EM> are both <STRONG>-1</STRONG>, then <STRONG>leaveok</STRONG> is set.  The two rou-
-       tines <STRONG>getsyx</STRONG> and <STRONG>setsyx</STRONG> are designed to be used by  a  li-
-       brary  routine,  which manipulates <STRONG>curses</STRONG> windows but does
-       not want to change the current position of  the  program's
-       cursor.   The library routine would call <STRONG>getsyx</STRONG> at the be-
-       ginning, do its manipulation of  its  own  windows,  do  a
-       <STRONG>wnoutrefresh</STRONG>  on  its  windows, call <STRONG>setsyx</STRONG>, and then call
-       <STRONG>doupdate</STRONG>.
+       The  <STRONG>setsyx</STRONG> routine sets the virtual screen cursor to <EM>y</EM>, <EM>x</EM>.  If <EM>y</EM> and <EM>x</EM>
+       are both <STRONG>-1</STRONG>, then <STRONG>leaveok</STRONG> is set.  The two routines <STRONG>getsyx</STRONG>  and  <STRONG>setsyx</STRONG>
+       are  designed to be used by a library routine, which manipulates <STRONG>curses</STRONG>
+       windows but does not want to change the current position  of  the  pro-
+       gram's cursor.  The library routine would call <STRONG>getsyx</STRONG> at the beginning,
+       do its manipulation of its own windows, do a <STRONG>wnoutrefresh</STRONG> on  its  win-
+       dows, call <STRONG>setsyx</STRONG>, and then call <STRONG>doupdate</STRONG>.
 
 
 </PRE><H3><a name="h3-ripoffline">ripoffline</a></H3><PRE>
-       The <STRONG>ripoffline</STRONG> routine provides access to the same facili-
-       ty  that  <STRONG>slk_init</STRONG>  [see  <STRONG><A HREF="curs_slk.3x.html">curs_slk(3x)</A></STRONG>] uses to reduce the
-       size of the screen.   <STRONG>ripoffline</STRONG>  must  be  called  before
-       <STRONG>initscr</STRONG> or <STRONG>newterm</STRONG> is called, to prepare these initial ac-
-       tions:
+       The  <STRONG>ripoffline</STRONG>  routine  provides  access  to  the  same facility that
+       <STRONG>slk_init</STRONG> [see <STRONG><A HREF="curs_slk.3x.html">curs_slk(3x)</A></STRONG>] uses to reduce  the  size  of  the  screen.
+       <STRONG>ripoffline</STRONG>  must be called before <STRONG>initscr</STRONG> or <STRONG>newterm</STRONG> is called, to pre-
+       pare these initial actions:
 
-       <STRONG>o</STRONG>   If <EM>line</EM> is positive, a line is removed from the top of
-           <STRONG>stdscr</STRONG>.
+       <STRONG>o</STRONG>   If <EM>line</EM> is positive, a line is removed from the top of <STRONG>stdscr</STRONG>.
 
-       <STRONG>o</STRONG>   if  <EM>line</EM>  is negative, a line is removed from the bot-
-           tom.
+       <STRONG>o</STRONG>   if <EM>line</EM> is negative, a line is removed from the bottom.
 
-       When the resulting initialization is done inside  <STRONG>initscr</STRONG>,
-       the routine <STRONG>init</STRONG> (supplied by the user) is called with two
-       arguments:
+       When the resulting initialization is done inside <STRONG>initscr</STRONG>,  the  routine
+       <STRONG>init</STRONG> (supplied by the user) is called with two arguments:
 
-       <STRONG>o</STRONG>   a window pointer to the one-line window that has  been
-           allocated and
+       <STRONG>o</STRONG>   a window pointer to the one-line window that has been allocated and
 
        <STRONG>o</STRONG>   an integer with the number of columns in the window.
 
-       Inside  this initialization routine, the integer variables
-       <STRONG>LINES</STRONG> and <STRONG>COLS</STRONG> (defined in <STRONG>&lt;curses.h&gt;</STRONG>) are not  guaranteed
-       to  be  accurate  and  <STRONG>wrefresh</STRONG>  or  <STRONG>doupdate</STRONG>  must not be
-       called.  It is allowable to call <STRONG>wnoutrefresh</STRONG>  during  the
-       initialization routine.
+       Inside  this  initialization  routine,  the integer variables <STRONG>LINES</STRONG> and
+       <STRONG>COLS</STRONG> (defined in <STRONG>&lt;curses.h&gt;</STRONG>) are not guaranteed to be accurate and <STRONG>wre-</STRONG>
+       <STRONG>fresh</STRONG> or <STRONG>doupdate</STRONG> must not be called.  It is allowable to call <STRONG>wnoutre-</STRONG>
+       <STRONG>fresh</STRONG> during the initialization routine.
 
-       <STRONG>ripoffline</STRONG>  can  be called up to five times before calling
-       <STRONG>initscr</STRONG> or <STRONG>newterm</STRONG>.
+       <STRONG>ripoffline</STRONG> can be called up to five times  before  calling  <STRONG>initscr</STRONG>  or
+       <STRONG>newterm</STRONG>.
 
 
 </PRE><H3><a name="h3-curs_set">curs_set</a></H3><PRE>
-       The <STRONG>curs_set</STRONG> routine sets the cursor state  to  invisible,
-       normal, or very visible for <STRONG>visibility</STRONG> equal to <STRONG>0</STRONG>, <STRONG>1</STRONG>, or <STRONG>2</STRONG>
-       respectively.  If the terminal supports the <EM>visibility</EM> re-
-       quested, the previous <EM>cursor</EM> state is returned; otherwise,
-       <STRONG>ERR</STRONG> is returned.
+       The  <STRONG>curs_set</STRONG>  routine  sets  the cursor state to invisible, normal, or
+       very visible for <STRONG>visibility</STRONG> equal to <STRONG>0</STRONG>, <STRONG>1</STRONG>, or <STRONG>2</STRONG> respectively.   If  the
+       terminal  supports  the <EM>visibility</EM> requested, the previous <EM>cursor</EM> state
+       is returned; otherwise, <STRONG>ERR</STRONG> is returned.
 
 
 </PRE><H3><a name="h3-napms">napms</a></H3><PRE>
 </PRE><H2><a name="h2-RETURN-VALUE">RETURN VALUE</a></H2><PRE>
        Except for <STRONG>curs_set</STRONG>, these routines always return <STRONG>OK</STRONG>.
 
-       <STRONG>curs_set</STRONG> returns the previous cursor state, or <STRONG>ERR</STRONG> if  the
-       requested <EM>visibility</EM> is not supported.
+       <STRONG>curs_set</STRONG> returns the previous cursor state, or  <STRONG>ERR</STRONG>  if  the  requested
+       <EM>visibility</EM> is not supported.
 
-       X/Open  defines  no error conditions.  In this implementa-
-       tion
+       X/Open defines no error conditions.  In this implementation
 
-       <STRONG>def_prog_mode</STRONG>, <STRONG>def_shell_mode</STRONG>, <STRONG>reset_prog_mode</STRONG>,
-       <STRONG>reset_shell_mode</STRONG>
-            return  an error if the terminal was not initialized,
-            or if the I/O call to obtain  the  terminal  settings
-            fails.
+       <STRONG>def_prog_mode</STRONG>, <STRONG>def_shell_mode</STRONG>, <STRONG>reset_prog_mode</STRONG>, <STRONG>reset_shell_mode</STRONG>
+            return an error if the terminal was not initialized, or if the I/O
+            call to obtain the terminal settings fails.
 
        <STRONG>ripoffline</STRONG>
-            returns  an error if the maximum number of ripped-off
-            lines exceeds the maximum (NRIPS = 5).
+            returns an error if the maximum number of ripped-off lines exceeds
+            the maximum (NRIPS = 5).
 
 
 </PRE><H2><a name="h2-NOTES">NOTES</a></H2><PRE>
-       Note that <STRONG>getsyx</STRONG> is a macro, so <STRONG>&amp;</STRONG> is not necessary  before
-       the variables <EM>y</EM> and <EM>x</EM>.
+       Note that <STRONG>getsyx</STRONG> is a macro, so <STRONG>&amp;</STRONG> is not necessary before the variables
+       <EM>y</EM> and <EM>x</EM>.
 
-       Older  SVr4  man  pages  warn  that  the  return  value of
-       <STRONG>curs_set</STRONG> "is currently  incorrect".   This  implementation
-       gets  it  right, but it may be unwise to count on the cor-
-       rectness of the return value anywhere else.
+       Older SVr4 man pages warn that the return value of  <STRONG>curs_set</STRONG>  "is  cur-
+       rently  incorrect".   This  implementation gets it right, but it may be
+       unwise to count on the correctness of the return value anywhere else.
 
-       Both ncurses and SVr4 will  call  <STRONG>curs_set</STRONG>  in  <STRONG>endwin</STRONG>  if
-       <STRONG>curs_set</STRONG>  has  been  called  to make the cursor other than
-       normal, i.e., either invisible or very visible.  There  is
-       no  way  for ncurses to determine the initial cursor state
-       to restore that.
+       Both ncurses and SVr4 will call <STRONG>curs_set</STRONG> in <STRONG>endwin</STRONG> if <STRONG>curs_set</STRONG> has been
+       called  to make the cursor other than normal, i.e., either invisible or
+       very visible.  There is no way for ncurses  to  determine  the  initial
+       cursor state to restore that.
 
 
 </PRE><H2><a name="h2-PORTABILITY">PORTABILITY</a></H2><PRE>
-       The functions <STRONG>setsyx</STRONG> and <STRONG>getsyx</STRONG> are not described  in  the
-       XSI  Curses standard, Issue 4.  All other functions are as
-       described in XSI Curses.
+       The  functions  <STRONG>setsyx</STRONG>  and  <STRONG>getsyx</STRONG> are not described in the XSI Curses
+       standard, Issue 4.  All other functions are as described in XSI Curses.
 
-       The SVr4 documentation describes <STRONG>setsyx</STRONG> and <STRONG>getsyx</STRONG> as hav-
-       ing  return  type  int.  This  is  misleading, as they are
-       macros with no documented semantics for the return value.
+       The SVr4 documentation describes <STRONG>setsyx</STRONG> and  <STRONG>getsyx</STRONG>  as  having  return
+       type int. This is misleading, as they are macros with no documented se-
+       mantics for the return value.
 
 
 </PRE><H2><a name="h2-SEE-ALSO">SEE ALSO</a></H2><PRE>
-       <STRONG><A HREF="ncurses.3x.html">curses(3x)</A></STRONG>, <STRONG><A HREF="curs_initscr.3x.html">curs_initscr(3x)</A></STRONG>,  <STRONG><A HREF="curs_outopts.3x.html">curs_outopts(3x)</A></STRONG>,  <STRONG>curs_re-</STRONG>
-       <STRONG><A HREF="curs_refresh.3x.html">fresh(3x)</A></STRONG>,   <STRONG><A HREF="curs_scr_dump.3x.html">curs_scr_dump(3x)</A></STRONG>,  <STRONG><A HREF="curs_slk.3x.html">curs_slk(3x)</A></STRONG>,  <STRONG>curs_vari-</STRONG>
-       <STRONG><A HREF="curs_variables.3x.html">ables(3x)</A></STRONG>.
+       <STRONG><A HREF="ncurses.3x.html">curses(3x)</A></STRONG>,   <STRONG><A HREF="curs_initscr.3x.html">curs_initscr(3x)</A></STRONG>,   <STRONG><A HREF="curs_outopts.3x.html">curs_outopts(3x)</A></STRONG>,   <STRONG><A HREF="curs_refresh.3x.html">curs_refresh(3x)</A></STRONG>,
+       <STRONG><A HREF="curs_scr_dump.3x.html">curs_scr_dump(3x)</A></STRONG>, <STRONG><A HREF="curs_slk.3x.html">curs_slk(3x)</A></STRONG>, <STRONG><A HREF="curs_variables.3x.html">curs_variables(3x)</A></STRONG>.
 
 
 
-                                                        <STRONG><A HREF="curs_kernel.3x.html">curs_kernel(3x)</A></STRONG>
+                                                               <STRONG><A HREF="curs_kernel.3x.html">curs_kernel(3x)</A></STRONG>
 </PRE>
 <div class="nav">
 <ul>
index 991037b3343464a2dede9ba33c3b66fd33a7d97f..66a9f4b242b1c6754e41799efcf9c6d5f5d42d74 100644 (file)
 <BODY>
 <H1 class="no-header">curs_legacy 3x</H1>
 <PRE>
-<STRONG><A HREF="curs_legacy.3x.html">curs_legacy(3x)</A></STRONG>                                         <STRONG><A HREF="curs_legacy.3x.html">curs_legacy(3x)</A></STRONG>
+<STRONG><A HREF="curs_legacy.3x.html">curs_legacy(3x)</A></STRONG>                                                <STRONG><A HREF="curs_legacy.3x.html">curs_legacy(3x)</A></STRONG>
 
 
 
 
 </PRE><H2><a name="h2-NAME">NAME</a></H2><PRE>
-       curs_legacy  -  get  <STRONG>curses</STRONG> cursor and window coordinates,
-       attributes
+       curs_legacy - get <STRONG>curses</STRONG> cursor and window coordinates, attributes
 
 
 </PRE><H2><a name="h2-SYNOPSIS">SYNOPSIS</a></H2><PRE>
 
 
 </PRE><H2><a name="h2-DESCRIPTION">DESCRIPTION</a></H2><PRE>
-       The <STRONG>getbegy</STRONG> and <STRONG>getbegx</STRONG> functions return the same data  as
-       <STRONG>getbegyx</STRONG>.
+       The <STRONG>getbegy</STRONG> and <STRONG>getbegx</STRONG> functions return the same data as <STRONG>getbegyx</STRONG>.
 
-       The  <STRONG>getcury</STRONG> and <STRONG>getcurx</STRONG> functions return the same data as
-       <STRONG>getyx</STRONG>.
+       The <STRONG>getcury</STRONG> and <STRONG>getcurx</STRONG> functions return the same data as <STRONG>getyx</STRONG>.
 
-       The <STRONG>getmaxy</STRONG> and <STRONG>getmaxx</STRONG> functions return the same data  as
-       <STRONG>getmaxyx</STRONG>.
+       The <STRONG>getmaxy</STRONG> and <STRONG>getmaxx</STRONG> functions return the same data as <STRONG>getmaxyx</STRONG>.
 
-       The  <STRONG>getpary</STRONG> and <STRONG>getparx</STRONG> functions return the same data as
-       <STRONG>getparyx</STRONG>.
+       The <STRONG>getpary</STRONG> and <STRONG>getparx</STRONG> functions return the same data as <STRONG>getparyx</STRONG>.
 
 
 </PRE><H2><a name="h2-RETURN-VALUE">RETURN VALUE</a></H2><PRE>
-       These functions return an integer, or ERR  if  the  window
-       parameter is null.
+       These  functions  return  an integer, or ERR if the window parameter is
+       null.
 
 
 </PRE><H2><a name="h2-NOTES">NOTES</a></H2><PRE>
-       All  of  these interfaces are provided as macros and func-
-       tions.  The macros are suppressed (and only the  functions
-       provided)  when  <STRONG>NCURSES_OPAQUE</STRONG>  is defined.  The standard
-       forms such as <STRONG>getyx</STRONG> must be implemented as macros, and (in
-       this implementation) are defined in terms of the functions
-       described here, to avoid reliance on internal  details  of
-       the WINDOW structure.
+       All of these interfaces are provided  as  macros  and  functions.   The
+       macros   are   suppressed   (and  only  the  functions  provided)  when
+       <STRONG>NCURSES_OPAQUE</STRONG> is defined.  The standard forms such as  <STRONG>getyx</STRONG>  must  be
+       implemented  as  macros,  and  (in  this implementation) are defined in
+       terms of the functions described here, to avoid  reliance  on  internal
+       details of the WINDOW structure.
 
 
 </PRE><H2><a name="h2-PORTABILITY">PORTABILITY</a></H2><PRE>
-       These functions were supported on Version 7, BSD or System
-       V implementations.
+       These  functions were supported on Version 7, BSD or System V implemen-
+       tations.
 
 
 </PRE><H2><a name="h2-SEE-ALSO">SEE ALSO</a></H2><PRE>
 
 
 
-                                                        <STRONG><A HREF="curs_legacy.3x.html">curs_legacy(3x)</A></STRONG>
+                                                               <STRONG><A HREF="curs_legacy.3x.html">curs_legacy(3x)</A></STRONG>
 </PRE>
 <div class="nav">
 <ul>
index 499374aabe590fa955b397afe5343bd941c08c29..19ed239ea5cc43c5fd9037ab9ab43992ada69db5 100644 (file)
 <BODY>
 <H1 class="no-header">curs_memleaks 3x</H1>
 <PRE>
-<STRONG><A HREF="curs_memleaks.3x.html">curs_memleaks(3x)</A></STRONG>                                     <STRONG><A HREF="curs_memleaks.3x.html">curs_memleaks(3x)</A></STRONG>
+<STRONG><A HREF="curs_memleaks.3x.html">curs_memleaks(3x)</A></STRONG>                                            <STRONG><A HREF="curs_memleaks.3x.html">curs_memleaks(3x)</A></STRONG>
 
 
 
 
 </PRE><H2><a name="h2-NAME">NAME</a></H2><PRE>
-       <STRONG>_nc_freeall</STRONG> <STRONG>_nc_free_and_exit</STRONG> - <STRONG>curses</STRONG> memory-leak
-       checking
+       <STRONG>_nc_freeall</STRONG> <STRONG>_nc_free_and_exit</STRONG> - <STRONG>curses</STRONG> memory-leak checking
 
 
 </PRE><H2><a name="h2-SYNOPSIS">SYNOPSIS</a></H2><PRE>
 
 
 </PRE><H2><a name="h2-DESCRIPTION">DESCRIPTION</a></H2><PRE>
-       These functions are used to simplify  analysis  of  memory
-       leaks  in  the  ncurses  library.   They  are normally not
-       available; they must be configured  into  the  library  at
-       build  time  using  the <STRONG>--disable-leaks</STRONG> option.  That com-
-       piles-in code that frees memory that normally would not be
+       These  functions  are  used to simplify analysis of memory leaks in the
+       ncurses library.  They are normally not available; they must be config-
+       ured  into  the library at build time using the <STRONG>--disable-leaks</STRONG> option.
+       That compiles-in code that frees memory  that  normally  would  not  be
        freed.
 
-       Any  implementation of curses must not free the memory as-
-       sociated with a screen, since (even after calling <STRONG>endwin</STRONG>),
-       it  must  be  available  for  use  in the next call to <STRONG>re-</STRONG>
-       <STRONG><A HREF="refresh.3x.html">fresh(3x)</A></STRONG>.  There are also chunks of memory held for  per-
-       formance  reasons.   That  makes it hard to analyze curses
-       applications for memory leaks.  To work around  this,  one
-       can build a debugging version of the ncurses library which
-       frees those chunks which it can, and provides these  func-
-       tions  to  free all of the memory allocated by the ncurses
-       library.
+       Any implementation of curses must not free the memory associated with a
+       screen, since (even after calling <STRONG>endwin</STRONG>), it must be available for use
+       in  the next call to <STRONG><A HREF="curs_refresh.3x.html">refresh(3x)</A></STRONG>.  There are also chunks of memory held
+       for performance reasons.  That makes it hard to analyze curses applica-
+       tions for memory leaks.  To work around this, one can build a debugging
+       version of the ncurses library which frees those chunks which  it  can,
+       and provides these functions to free all of the memory allocated by the
+       ncurses library.
 
-       The _nc_free_and_exit function is the preferred one  since
-       some  of the memory which is freed may be required for the
-       application to continue running.   Its  parameter  is  the
-       code to pass to the exit routine.
+       The _nc_free_and_exit function is the preferred one since some  of  the
+       memory  which  is freed may be required for the application to continue
+       running.  Its parameter is the code to pass to the exit routine.
 
 
 </PRE><H2><a name="h2-RETURN-VALUE">RETURN VALUE</a></H2><PRE>
@@ -95,7 +90,7 @@
 
 
 
-                                                      <STRONG><A HREF="curs_memleaks.3x.html">curs_memleaks(3x)</A></STRONG>
+                                                             <STRONG><A HREF="curs_memleaks.3x.html">curs_memleaks(3x)</A></STRONG>
 </PRE>
 <div class="nav">
 <ul>
index 194e4d0f1a6ecedf986338c302639456682ea014..2506e2b50267848a3a7c123e1e03de37da7b81f0 100644 (file)
@@ -27,7 +27,7 @@
   * sale, use or other dealings in this Software without prior written       *
   * authorization.                                                           *
   ****************************************************************************
-  * @Id: curs_mouse.3x,v 1.43 2017/01/07 19:25:15 tom Exp @
+  * @Id: curs_mouse.3x,v 1.45 2017/05/06 17:29:26 tom Exp @
 -->
 <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN">
 <HTML>
 <BODY>
 <H1 class="no-header">curs_mouse 3x</H1>
 <PRE>
-<STRONG><A HREF="curs_mouse.3x.html">curs_mouse(3x)</A></STRONG>                                           <STRONG><A HREF="curs_mouse.3x.html">curs_mouse(3x)</A></STRONG>
+<STRONG><A HREF="curs_mouse.3x.html">curs_mouse(3x)</A></STRONG>                                                  <STRONG><A HREF="curs_mouse.3x.html">curs_mouse(3x)</A></STRONG>
 
 
 
 
 </PRE><H2><a name="h2-NAME">NAME</a></H2><PRE>
-       <STRONG>has_mouse</STRONG>, <STRONG>getmouse</STRONG>, <STRONG>ungetmouse</STRONG>, <STRONG>mousemask</STRONG>, <STRONG>wenclose</STRONG>,
-       <STRONG>mouse_trafo</STRONG>, <STRONG>wmouse_trafo</STRONG>, <STRONG>mouseinterval</STRONG> - mouse interface
-       through curses
+       <STRONG>has_mouse</STRONG>, <STRONG>getmouse</STRONG>, <STRONG>ungetmouse</STRONG>, <STRONG>mousemask</STRONG>, <STRONG>wenclose</STRONG>, <STRONG>mouse_trafo</STRONG>,
+       <STRONG>wmouse_trafo</STRONG>, <STRONG>mouseinterval</STRONG> - mouse interface through curses
 
 
 </PRE><H2><a name="h2-SYNOPSIS">SYNOPSIS</a></H2><PRE>
 
 
 </PRE><H2><a name="h2-DESCRIPTION">DESCRIPTION</a></H2><PRE>
-       These  functions provide an interface to mouse events from
-       <STRONG><A HREF="ncurses.3x.html">ncurses(3x)</A></STRONG>.  Mouse events are  represented  by  <STRONG>KEY_MOUSE</STRONG>
-       pseudo-key values in the <STRONG><A HREF="curs_getch.3x.html">wgetch(3x)</A></STRONG> input stream.
+       These functions provide an interface to mouse events from  <STRONG><A HREF="ncurses.3x.html">ncurses(3x)</A></STRONG>.
+       Mouse  events  are  represented  by  <STRONG>KEY_MOUSE</STRONG> pseudo-key values in the
+       <STRONG><A HREF="curs_getch.3x.html">wgetch(3x)</A></STRONG> input stream.
 
 
 </PRE><H3><a name="h3-mousemask">mousemask</a></H3><PRE>
-       To  make mouse events visible, use the <STRONG>mousemask</STRONG> function.
-       This will set the mouse events to  be  reported.   By  de-
-       fault,  no  mouse  events are reported.  The function will
-       return a mask to indicate which  of  the  specified  mouse
-       events  can be reported; on complete failure it returns 0.
-       If oldmask is non-NULL, this function fills the  indicated
-       location  with  the  previous  value of the given window's
-       mouse event mask.
+       To make mouse events visible, use the <STRONG>mousemask</STRONG>  function.   This  will
+       set  the  mouse events to be reported.  By default, no mouse events are
+       reported.  The function will return a mask to  indicate  which  of  the
+       specified  mouse events can be reported; on complete failure it returns
+       0.  If oldmask is non-NULL, this function fills the indicated  location
+       with the previous value of the given window's mouse event mask.
 
-       As a side effect, setting a zero mousemask  may  turn  off
-       the  mouse pointer; setting a nonzero mask may turn it on.
-       Whether this happens is device-dependent.
+       As  a  side  effect,  setting  a  zero mousemask may turn off the mouse
+       pointer; setting a nonzero mask may turn it on.  Whether  this  happens
+       is device-dependent.
 
 
 </PRE><H3><a name="h3-Mouse-events">Mouse events</a></H3><PRE>
        BUTTON2_RELEASED         mouse button 2 up
        BUTTON2_CLICKED          mouse button 2 clicked
        BUTTON2_DOUBLE_CLICKED   mouse button 2 double clicked
-
-
        BUTTON2_TRIPLE_CLICKED   mouse button 2 triple clicked
        ---------------------------------------------------------------------
        BUTTON3_PRESSED          mouse button 3 down
        BUTTON3_RELEASED         mouse button 3 up
+
        BUTTON3_CLICKED          mouse button 3 clicked
        BUTTON3_DOUBLE_CLICKED   mouse button 3 double clicked
        BUTTON3_TRIPLE_CLICKED   mouse button 3 triple clicked
 
 
 </PRE><H3><a name="h3-getmouse">getmouse</a></H3><PRE>
-       Once a class of mouse events has been made  visible  in  a
-       window, calling the <STRONG>wgetch</STRONG> function on that window may re-
-       turn <STRONG>KEY_MOUSE</STRONG> as an indicator that a mouse event has been
-       queued.   To read the event data and pop the event off the
-       queue, call <STRONG>getmouse</STRONG>.  This function will return <STRONG>OK</STRONG>  if  a
-       mouse  event  is actually visible in the given window, <STRONG>ERR</STRONG>
-       otherwise.  When <STRONG>getmouse</STRONG> returns <STRONG>OK</STRONG>, the  data  deposited
-       as  y  and  x  in  the event structure coordinates will be
-       screen-relative character-cell coordinates.  The  returned
-       state  mask  will have exactly one bit set to indicate the
-       event type.  The corresponding data in the queue is marked
-       invalid.   A subsequent call to <STRONG>getmouse</STRONG> will retrieve the
-       next older item from the queue.
+       Once a class of mouse events has been made visible in a window, calling
+       the <STRONG>wgetch</STRONG> function on that window may return <STRONG>KEY_MOUSE</STRONG> as an indicator
+       that a mouse event has been queued.  To read the event data and pop the
+       event off the queue, call <STRONG>getmouse</STRONG>.  This function will return <STRONG>OK</STRONG> if  a
+       mouse  event  is  actually  visible in the given window, <STRONG>ERR</STRONG> otherwise.
+       When <STRONG>getmouse</STRONG> returns <STRONG>OK</STRONG>, the data deposited as y and x  in  the  event
+       structure  coordinates  will  be screen-relative character-cell coordi-
+       nates.  The returned state mask will have exactly one bit set to  indi-
+       cate the event type.  The corresponding data in the queue is marked in-
+       valid.  A subsequent call to <STRONG>getmouse</STRONG> will retrieve the next older item
+       from the queue.
 
 
 </PRE><H3><a name="h3-ungetmouse">ungetmouse</a></H3><PRE>
-       The <STRONG>ungetmouse</STRONG> function behaves  analogously  to  <STRONG>ungetch</STRONG>.
-       It  pushes a <STRONG>KEY_MOUSE</STRONG> event onto the input queue, and as-
-       sociates with that event the given state data and  screen-
-       relative character-cell coordinates.
+       The  <STRONG>ungetmouse</STRONG>  function  behaves analogously to <STRONG>ungetch</STRONG>.  It pushes a
+       <STRONG>KEY_MOUSE</STRONG> event onto the input queue, and associates  with  that  event
+       the given state data and screen-relative character-cell coordinates.
 
 
 </PRE><H3><a name="h3-wenclose">wenclose</a></H3><PRE>
-       The  <STRONG>wenclose</STRONG>  function  tests  whether  a  given  pair of
-       screen-relative character-cell coordinates is enclosed  by
-       a  given  window, returning <STRONG>TRUE</STRONG> if it is and <STRONG>FALSE</STRONG> other-
-       wise.  It is useful for determining  what  subset  of  the
-       screen windows enclose the location of a mouse event.
+       The  <STRONG>wenclose</STRONG>  function  tests  whether a given pair of screen-relative
+       character-cell coordinates is enclosed by  a  given  window,  returning
+       <STRONG>TRUE</STRONG>  if  it is and <STRONG>FALSE</STRONG> otherwise.  It is useful for determining what
+       subset of the screen windows enclose the location of a mouse event.
 
 
 </PRE><H3><a name="h3-wmouse_trafo">wmouse_trafo</a></H3><PRE>
-       The <STRONG>wmouse_trafo</STRONG> function transforms a given pair of coor-
-       dinates from stdscr-relative  coordinates  to  coordinates
-       relative to the given window or vice versa.  The resulting
-       stdscr-relative coordinates are not  always  identical  to
-       window-relative  coordinates  due  to the mechanism to re-
-       serve lines on top or bottom of the screen for other  pur-
-       poses  (see the <STRONG>ripoffline</STRONG> and <STRONG><A HREF="curs_slk.3x.html">slk_init(3x)</A></STRONG> calls, for ex-
-       ample).
-
-       <STRONG>o</STRONG>   If the parameter <STRONG>to_screen</STRONG> is <STRONG>TRUE</STRONG>, the  pointers  <STRONG>pY,</STRONG>
-           <STRONG>pX</STRONG> must reference the coordinates of a location inside
-           the window <STRONG>win</STRONG>.  They are converted to window-relative
-           coordinates and returned through the pointers.  If the
-           conversion was successful, the function returns <STRONG>TRUE</STRONG>.
-
-       <STRONG>o</STRONG>   If one of the parameters was NULL or the  location  is
-           not inside the window, <STRONG>FALSE</STRONG> is returned.
-
-       <STRONG>o</STRONG>   If <STRONG>to_screen</STRONG> is <STRONG>FALSE</STRONG>, the pointers <STRONG>pY,</STRONG> <STRONG>pX</STRONG> must refer-
-           ence window-relative coordinates.  They are  converted
-           to  stdscr-relative  coordinates if the window <STRONG>win</STRONG> en-
-           closes this point.  In this case the function  returns
+       The <STRONG>wmouse_trafo</STRONG> function transforms a given pair of  coordinates  from
+       stdscr-relative coordinates to coordinates relative to the given window
+       or vice versa.  The resulting stdscr-relative coordinates are  not  al-
+       ways  identical  to window-relative coordinates due to the mechanism to
+       reserve lines on top or bottom of the screen for  other  purposes  (see
+       the <STRONG>ripoffline</STRONG> and <STRONG><A HREF="curs_slk.3x.html">slk_init(3x)</A></STRONG> calls, for example).
+
+       <STRONG>o</STRONG>   If the parameter <STRONG>to_screen</STRONG> is <STRONG>TRUE</STRONG>, the pointers <STRONG>pY,</STRONG> <STRONG>pX</STRONG> must refer-
+           ence the coordinates of a location inside the window <STRONG>win</STRONG>.  They are
+           converted  to  window-relative coordinates and returned through the
+           pointers.  If the conversion was successful, the  function  returns
            <STRONG>TRUE</STRONG>.
 
-       <STRONG>o</STRONG>   If  one  of the parameters is NULL or the point is not
-           inside the window, <STRONG>FALSE</STRONG> is returned.  The  referenced
-           coordinates are only replaced by the converted coordi-
-           nates if the transformation was successful.
+       <STRONG>o</STRONG>   If one of the parameters was NULL or the location is not inside the
+           window, <STRONG>FALSE</STRONG> is returned.
+
+       <STRONG>o</STRONG>   If <STRONG>to_screen</STRONG> is <STRONG>FALSE</STRONG>, the pointers <STRONG>pY,</STRONG> <STRONG>pX</STRONG> must  reference  window-
+           relative  coordinates.  They are converted to stdscr-relative coor-
+           dinates if the window <STRONG>win</STRONG> encloses this point.  In  this  case  the
+           function returns <STRONG>TRUE</STRONG>.
+
+       <STRONG>o</STRONG>   If  one  of  the  parameters is NULL or the point is not inside the
+           window, <STRONG>FALSE</STRONG> is returned.  The referenced coordinates are only re-
+           placed  by the converted coordinates if the transformation was suc-
+           cessful.
 
 
 </PRE><H3><a name="h3-mouse_trafo">mouse_trafo</a></H3><PRE>
-       The <STRONG>mouse_trafo</STRONG> function performs the same translation  as
-       <STRONG>wmouse_trafo</STRONG>, using stdscr for <STRONG>win</STRONG>.
+       The <STRONG>mouse_trafo</STRONG> function performs the same translation as <STRONG>wmouse_trafo</STRONG>,
+       using stdscr for <STRONG>win</STRONG>.
 
 
 </PRE><H3><a name="h3-mouseinterval">mouseinterval</a></H3><PRE>
-       The <STRONG>mouseinterval</STRONG> function sets the maximum time (in thou-
-       sands of a second) that can elapse between press  and  re-
-       lease  events  for  them to be recognized as a click.  Use
-       <STRONG>mouseinterval(0)</STRONG> to disable click resolution.  This  func-
-       tion returns the previous interval value.  Use <STRONG>mouseinter-</STRONG>
-       <STRONG>val(-1)</STRONG> to obtain the interval without altering  it.   The
-       default is one sixth of a second.
+       The  <STRONG>mouseinterval</STRONG>  function  sets  the maximum time (in thousands of a
+       second) that can elapse between press and release events for them to be
+       recognized  as  a click.  Use <STRONG>mouseinterval(0)</STRONG> to disable click resolu-
+       tion.  This function returns the previous interval value.  Use <STRONG>mousein-</STRONG>
+       <STRONG>terval(-1)</STRONG>  to obtain the interval without altering it.  The default is
+       one sixth of a second.
 
 
 </PRE><H3><a name="h3-has_mouse">has_mouse</a></H3><PRE>
-       The  <STRONG>has_mouse</STRONG>  function  returns <STRONG>TRUE</STRONG> if the mouse driver
-       has been successfully initialized.
+       The <STRONG>has_mouse</STRONG> function returns <STRONG>TRUE</STRONG> if the mouse driver has  been  suc-
+       cessfully initialized.
 
-       Note that mouse events will be ignored when  input  is  in
-       cooked mode, and will cause an error beep when cooked mode
-       is being simulated in a window by a function such as  <STRONG>get-</STRONG>
-       <STRONG>str</STRONG> that expects a linefeed for input-loop termination.
+       Note  that  mouse  events will be ignored when input is in cooked mode,
+       and will cause an error beep when cooked mode is being simulated  in  a
+       window  by a function such as <STRONG>getstr</STRONG> that expects a linefeed for input-
+       loop termination.
 
 
 </PRE><H2><a name="h2-RETURN-VALUE">RETURN VALUE</a></H2><PRE>
-       <STRONG>getmouse</STRONG>  and <STRONG>ungetmouse</STRONG> return the integer <STRONG>ERR</STRONG> upon fail-
-       ure or <STRONG>OK</STRONG> upon successful completion:
+       <STRONG>getmouse</STRONG> and <STRONG>ungetmouse</STRONG> return the integer <STRONG>ERR</STRONG> upon failure or <STRONG>OK</STRONG>  upon
+       successful completion:
 
           <STRONG>getmouse</STRONG>
                returns an error.
 
-          <STRONG>o</STRONG>   If no mouse driver was initialized, or if the  mask
-              parameter is zero,
+          <STRONG>o</STRONG>   If  no mouse driver was initialized, or if the mask parameter is
+              zero,
 
-          <STRONG>o</STRONG>   It  also  returns an error if no more events remain
-              in the queue.
+          <STRONG>o</STRONG>   It also returns an error if no more events remain in the queue.
 
           <STRONG>ungetmouse</STRONG>
                returns an error if the FIFO is full.
 
        <STRONG>mousemask</STRONG> returns the mask of reportable events.
 
-       <STRONG>mouseinterval</STRONG> returns the previous interval value,  unless
-       the  terminal  was  not initialized.  In that case, it re-
-       turns the maximum interval value (166).
+       <STRONG>mouseinterval</STRONG> returns the previous interval value, unless the  terminal
+       was  not  initialized.   In  that case, it returns the maximum interval
+       value (166).
 
-       <STRONG>wenclose</STRONG> and <STRONG>wmouse_trafo</STRONG> are boolean functions  returning
-       <STRONG>TRUE</STRONG> or <STRONG>FALSE</STRONG> depending on their test result.
+       <STRONG>wenclose</STRONG> and <STRONG>wmouse_trafo</STRONG> are boolean functions returning <STRONG>TRUE</STRONG> or <STRONG>FALSE</STRONG>
+       depending on their test result.
 
 
 </PRE><H2><a name="h2-PORTABILITY">PORTABILITY</a></H2><PRE>
-       These  calls  were  designed  for <STRONG><A HREF="ncurses.3x.html">ncurses(3x)</A></STRONG>, and are not
-       found in SVr4 curses, 4.4BSD curses, or any other previous
-       version of curses.
+       These  calls  were  designed for <STRONG><A HREF="ncurses.3x.html">ncurses(3x)</A></STRONG>, and are not found in SVr4
+       curses, 4.4BSD curses, or any other previous version of curses.
+
+       SVr4 curses had support for the mouse in a variant  of  <STRONG>xterm</STRONG>.   It  is
+       mentioned in a few places, but with no supporting documentation:
+
+       <STRONG>o</STRONG>   the  libcurses  manual  page lists functions for this feature which
+           are prototyped in <STRONG>curses.h</STRONG>:
+
+             extern int mouse_set(long int);
+             extern int mouse_on(long int);
+             extern int mouse_off(long int);
+             extern int request_mouse_pos(void);
+             extern int map_button(unsigned long);
+             extern void wmouse_position(WINDOW *, int *, int *);
+             extern unsigned long getmouse(void), getbmap(void);
 
-       The feature macro <STRONG>NCURSES_MOUSE_VERSION</STRONG> is provided so the
-       preprocessor can be used to test  whether  these  features
-       are  present.   If  the interface is changed, the value of
-       <STRONG>NCURSES_MOUSE_VERSION</STRONG> will be incremented.   These  values
-       for  <STRONG>NCURSES_MOUSE_VERSION</STRONG> may be specified when configur-
-       ing ncurses:
+       <STRONG>o</STRONG>   the terminfo manual page lists capabilities for the feature
 
-          1  has definitions for reserved events.  The mask  uses
-             28 bits.
+             buttons           btns    BT       Number of buttons on the mouse
+             get_mouse         getm    Gm       Curses should get button events
+             key_mouse         kmous   Km       0631, Mouse event has occured
+             mouse_info        minfo   Mi       Mouse status information
+             req_mouse_pos     reqmp   RQ       Request mouse position report
 
-          2  adds  definitions  for button 5, removes the defini-
-             tions for reserved events.  The mask uses 29 bits.
+       <STRONG>o</STRONG>   the interface made assumptions (as does ncurses) about  the  escape
+           sequences sent to and received from the terminal.
 
-       The order of the <STRONG>MEVENT</STRONG> structure members is  not  guaran-
-       teed.   Additional fields may be added to the structure in
-       the future.
+           For  instance the SVr4 curses library used the <STRONG>get_mouse</STRONG> capability
+           to tell the terminal which mouse  button  events  it  should  send,
+           passing  the mouse-button bit-mask to the terminal.  Also, it could
+           ask the terminal where the mouse was using the <STRONG>req_mouse_pos</STRONG>  capa-
+           bility.
 
-       Under <STRONG><A HREF="ncurses.3x.html">ncurses(3x)</A></STRONG>, these calls are implemented  using  ei-
-       ther  xterm's built-in mouse-tracking API or platform-spe-
-       cific drivers including
+           Those  features required a terminal which had been modified to work
+           with curses.  They were not part of the X Consortium's xterm.
+
+       When developing the xterm mouse support for ncurses in September  1995,
+       Eric  Raymond  was  uninterested in using the same interface due to its
+       lack of documentation.  Later, in 1998, Mark Hesseling provided support
+       in  PDCurses 2.3 using the SVr4 interface.  PDCurses, however, does not
+       use video terminals, making it unnecessary to be concerned  about  com-
+       patibility with the escape sequences.
+
+       The feature macro <STRONG>NCURSES_MOUSE_VERSION</STRONG> is provided so the preprocessor
+       can be used to test whether these features are present.  If the  inter-
+       face  is changed, the value of <STRONG>NCURSES_MOUSE_VERSION</STRONG> will be increment-
+       ed.  These values for <STRONG>NCURSES_MOUSE_VERSION</STRONG> may be specified when  con-
+       figuring ncurses:
+
+          1  has definitions for reserved events.  The mask uses 28 bits.
+
+          2  adds  definitions  for  button 5, removes the definitions for re-
+             served events.  The mask uses 29 bits.
+
+       The order of the <STRONG>MEVENT</STRONG> structure members is not guaranteed.  Addition-
+       al fields may be added to the structure in the future.
+
+       Under  <STRONG><A HREF="ncurses.3x.html">ncurses(3x)</A></STRONG>,  these  calls  are implemented using either xterm's
+       built-in mouse-tracking API or platform-specific drivers including
 
           <STRONG>o</STRONG>   Alessandro Rubini's gpm server
 
 
           <STRONG>o</STRONG>   OS/2 EMX
 
-       If you  are  using  an  unsupported  configuration,  mouse
-       events  will not be visible to <STRONG><A HREF="ncurses.3x.html">ncurses(3x)</A></STRONG> (and the <STRONG>mouse-</STRONG>
-       <STRONG>mask</STRONG> function will always return <STRONG>0</STRONG>).
+       If you are using an unsupported configuration, mouse events will not be
+       visible  to  <STRONG><A HREF="ncurses.3x.html">ncurses(3x)</A></STRONG> (and the <STRONG>mousemask</STRONG> function will always return
+       <STRONG>0</STRONG>).
 
-       If the terminfo entry contains a <STRONG>XM</STRONG> string, this  is  used
-       in  the xterm mouse driver to control the way the terminal
-       is initialized for mouse operation.  The default, if <STRONG>XM</STRONG> is
-       not found, corresponds to private mode 1000 of xterm:
+       If the terminfo entry contains a <STRONG>XM</STRONG> string, this is used in  the  xterm
+       mouse  driver  to control the way the terminal is initialized for mouse
+       operation.  The default, if <STRONG>XM</STRONG> is not  found,  corresponds  to  private
+       mode 1000 of xterm:
 
           \E[?1000%?%p1%{1}%=%th%el%;
 
-       The <EM>z</EM> member in the event structure is not presently used.
-       It is intended for use with touch screens  (which  may  be
-       pressure-sensitive)   or   with   3D-mice/trackballs/power
-       gloves.
+       The  <EM>z</EM>  member in the event structure is not presently used.  It is in-
+       tended for use with touch screens (which may be pressure-sensitive)  or
+       with 3D-mice/trackballs/power gloves.
 
-       The  <STRONG>ALL_MOUSE_EVENTS</STRONG>   class   does   not   include   <STRONG>RE-</STRONG>
-       <STRONG>PORT_MOUSE_POSITION</STRONG>.   They are distinct.  For example, in
-       xterm, wheel/scrolling mice send position reports as a se-
-       quence  of presses of buttons 4 or 5 without matching but-
-       ton-releases.
+       The  <STRONG>ALL_MOUSE_EVENTS</STRONG>  class  does  not  include <STRONG>REPORT_MOUSE_POSITION</STRONG>.
+       They are distinct.  For example, in xterm,  wheel/scrolling  mice  send
+       position  reports  as  a  sequence of presses of buttons 4 or 5 without
+       matching button-releases.
 
 
 </PRE><H2><a name="h2-BUGS">BUGS</a></H2><PRE>
-       Mouse events under xterm will not in fact be ignored  dur-
-       ing  cooked  mode, if they have been enabled by <STRONG>mousemask</STRONG>.
-       Instead, the xterm mouse report sequence  will  appear  in
-       the string read.
-
-       Mouse events under xterm will not be detected correctly in
-       a window with its keypad bit off, since  they  are  inter-
-       preted  as  a  variety of function key.  Your terminfo de-
-       scription should have <STRONG>kmous</STRONG> set to "\E[M"  (the  beginning
-       of  the response from xterm for mouse clicks).  Other val-
-       ues for <STRONG>kmous</STRONG> are permitted, but under  the  same  assump-
-       tion, i.e., it is the beginning of the response.
-
-       Because  there  are  no  standard  terminal responses that
-       would serve to identify terminals which support the  xterm
-       mouse  protocol,  <STRONG>ncurses</STRONG> assumes that if your $TERM envi-
-       ronment variable contains "xterm", or <STRONG>kmous</STRONG> is defined  in
-       the terminal description, then the terminal may send mouse
-       events.
+       Mouse events under xterm will not in  fact  be  ignored  during  cooked
+       mode, if they have been enabled by <STRONG>mousemask</STRONG>.  Instead, the xterm mouse
+       report sequence will appear in the string read.
+
+       Mouse events under xterm will not be detected  correctly  in  a  window
+       with  its  keypad  bit  off, since they are interpreted as a variety of
+       function key.  Your terminfo  description  should  have  <STRONG>kmous</STRONG>  set  to
+       "\E[M"  (the  beginning  of  the response from xterm for mouse clicks).
+       Other values for <STRONG>kmous</STRONG> are permitted, but under  the  same  assumption,
+       i.e., it is the beginning of the response.
+
+       Because  there  are  no standard terminal responses that would serve to
+       identify terminals which support the xterm mouse protocol, <STRONG>ncurses</STRONG>  as-
+       sumes  that  if  your  $TERM  environment variable contains "xterm", or
+       <STRONG>kmous</STRONG> is defined in the terminal description,  then  the  terminal  may
+       send mouse events.
 
 
 </PRE><H2><a name="h2-SEE-ALSO">SEE ALSO</a></H2><PRE>
-       <STRONG><A HREF="ncurses.3x.html">curses(3x)</A></STRONG>,  <STRONG><A HREF="curs_kernel.3x.html">curs_kernel(3x)</A></STRONG>,   <STRONG><A HREF="curs_slk.3x.html">curs_slk(3x)</A></STRONG>,   <STRONG>curs_vari-</STRONG>
-       <STRONG><A HREF="curs_variables.3x.html">ables(3x)</A></STRONG>.
+       <STRONG><A HREF="ncurses.3x.html">curses(3x)</A></STRONG>, <STRONG><A HREF="curs_kernel.3x.html">curs_kernel(3x)</A></STRONG>, <STRONG><A HREF="curs_slk.3x.html">curs_slk(3x)</A></STRONG>, <STRONG><A HREF="curs_variables.3x.html">curs_variables(3x)</A></STRONG>.
 
 
 
-                                                         <STRONG><A HREF="curs_mouse.3x.html">curs_mouse(3x)</A></STRONG>
+                                                                <STRONG><A HREF="curs_mouse.3x.html">curs_mouse(3x)</A></STRONG>
 </PRE>
 <div class="nav">
 <ul>
index 5401fd7cc3979b389e931d3afaab53100deef8a8..eb0a31f6613a8ca5108e936693b60b2aaee8f36a 100644 (file)
@@ -40,7 +40,7 @@
 <BODY>
 <H1 class="no-header">curs_move 3x</H1>
 <PRE>
-<STRONG><A HREF="curs_move.3x.html">curs_move(3x)</A></STRONG>                                             <STRONG><A HREF="curs_move.3x.html">curs_move(3x)</A></STRONG>
+<STRONG><A HREF="curs_move.3x.html">curs_move(3x)</A></STRONG>                                                    <STRONG><A HREF="curs_move.3x.html">curs_move(3x)</A></STRONG>
 
 
 
 
 
 </PRE><H2><a name="h2-DESCRIPTION">DESCRIPTION</a></H2><PRE>
-       These  routines move the cursor associated with the window
-       to line <EM>y</EM> and column <EM>x</EM>.  This routine does  not  move  the
-       physical  cursor  of  the  terminal  until  <STRONG><A HREF="curs_refresh.3x.html">refresh(3x)</A></STRONG> is
-       called.  The position specified is relative to  the  upper
-       left-hand corner of the window, which is (0,0).
+       These routines move the cursor associated with the window to line <EM>y</EM> and
+       column <EM>x</EM>.  This routine does not move the physical cursor of the termi-
+       nal until <STRONG><A HREF="curs_refresh.3x.html">refresh(3x)</A></STRONG> is called.  The position specified is relative to
+       the upper left-hand corner of the window, which is (0,0).
 
 
 </PRE><H2><a name="h2-RETURN-VALUE">RETURN VALUE</a></H2><PRE>
-       These routines return <STRONG>ERR</STRONG> upon failure and OK (SVr4 speci-
-       fies only "an integer value other than <STRONG>ERR</STRONG>") upon success-
-       ful completion.
+       These routines return <STRONG>ERR</STRONG> upon failure and OK (SVr4 specifies only  "an
+       integer value other than <STRONG>ERR</STRONG>") upon successful completion.
 
-       Specifically,  they  return an error if the window pointer
-       is null, or if the position is outside the window.
+       Specifically, they return an error if the window pointer is null, or if
+       the position is outside the window.
 
 
 </PRE><H2><a name="h2-NOTES">NOTES</a></H2><PRE>
@@ -78,8 +76,7 @@
 
 
 </PRE><H2><a name="h2-PORTABILITY">PORTABILITY</a></H2><PRE>
-       These functions are described in the XSI Curses  standard,
-       Issue 4.
+       These functions are described in the XSI Curses standard, Issue 4.
 
 
 </PRE><H2><a name="h2-SEE-ALSO">SEE ALSO</a></H2><PRE>
@@ -87,7 +84,7 @@
 
 
 
-                                                          <STRONG><A HREF="curs_move.3x.html">curs_move(3x)</A></STRONG>
+                                                                 <STRONG><A HREF="curs_move.3x.html">curs_move(3x)</A></STRONG>
 </PRE>
 <div class="nav">
 <ul>
index 5b0c716365dbb9763bf263d98a5a961f1dd1c5ae..43ab7c402319c084fa9beb21f79215ff75e66e4f 100644 (file)
 <BODY>
 <H1 class="no-header">curs_opaque 3x</H1>
 <PRE>
-<STRONG><A HREF="curs_opaque.3x.html">curs_opaque(3x)</A></STRONG>                                         <STRONG><A HREF="curs_opaque.3x.html">curs_opaque(3x)</A></STRONG>
+<STRONG><A HREF="curs_opaque.3x.html">curs_opaque(3x)</A></STRONG>                                                <STRONG><A HREF="curs_opaque.3x.html">curs_opaque(3x)</A></STRONG>
 
 
 
 
 </PRE><H2><a name="h2-NAME">NAME</a></H2><PRE>
-       <STRONG>is_cleared</STRONG>, <STRONG>is_idlok</STRONG>, <STRONG>is_idcok</STRONG>, <STRONG>is_immedok</STRONG>, <STRONG>is_keypad</STRONG>,
-       <STRONG>is_leaveok</STRONG>, <STRONG>is_nodelay</STRONG>, <STRONG>is_notimeout</STRONG>, <STRONG>is_pad</STRONG>, <STRONG>is_scrollok</STRONG>,
-       <STRONG>is_subwin</STRONG>, <STRONG>is_syncok</STRONG>, <STRONG>wgetdelay</STRONG>, <STRONG>wgetparent</STRONG>, <STRONG>wgetscrreg</STRONG> -
-       <STRONG>curses</STRONG> window properties
+       <STRONG>is_cleared</STRONG>, <STRONG>is_idlok</STRONG>, <STRONG>is_idcok</STRONG>, <STRONG>is_immedok</STRONG>, <STRONG>is_keypad</STRONG>, <STRONG>is_leaveok</STRONG>,
+       <STRONG>is_nodelay</STRONG>, <STRONG>is_notimeout</STRONG>, <STRONG>is_pad</STRONG>, <STRONG>is_scrollok</STRONG>, <STRONG>is_subwin</STRONG>, <STRONG>is_syncok</STRONG>,
+       <STRONG>wgetdelay</STRONG>, <STRONG>wgetparent</STRONG>, <STRONG>wgetscrreg</STRONG> - <STRONG>curses</STRONG> window properties
 
 
 </PRE><H2><a name="h2-SYNOPSIS">SYNOPSIS</a></H2><PRE>
@@ -73,9 +72,9 @@
 
 
 </PRE><H2><a name="h2-DESCRIPTION">DESCRIPTION</a></H2><PRE>
-       This implementation provides functions which return  prop-
-       erties  set  in  the  WINDOW  structure, allowing it to be
-       "opaque" if the symbol <STRONG>NCURSES_OPAQUE</STRONG> is defined:
+       This  implementation  provides functions which return properties set in
+       the WINDOW structure, allowing it to be "opaque" if the  symbol  <STRONG>NCURS-</STRONG>
+       <STRONG>ES_OPAQUE</STRONG> is defined:
 
        <STRONG>is_cleared</STRONG>
             returns the value set in <STRONG>clearok</STRONG>
             returns the value set in <STRONG>notimeout</STRONG>
 
        <STRONG>is_pad</STRONG>
-            returns <STRONG>TRUE</STRONG> if the window is a pad i.e., created  by
-            <STRONG>newpad</STRONG>
+            returns <STRONG>TRUE</STRONG> if the window is a pad i.e., created by <STRONG>newpad</STRONG>
 
        <STRONG>is_scrollok</STRONG>
             returns the value set in <STRONG>scrollok</STRONG>
 
        <STRONG>is_subwin</STRONG>
-            returns <STRONG>TRUE</STRONG> if the window is a subwindow, i.e., cre-
-            ated by <STRONG>subwin</STRONG> or <STRONG>derwin</STRONG>
+            returns <STRONG>TRUE</STRONG> if the window is a subwindow, i.e., created by <STRONG>subwin</STRONG>
+            or <STRONG>derwin</STRONG>
 
        <STRONG>is_syncok</STRONG>
             returns the value set in <STRONG>syncok</STRONG>
             returns the delay timeout as set in <STRONG>wtimeout</STRONG>.
 
        <STRONG>wgetparent</STRONG>
-            returns the parent WINDOW pointer for subwindows,  or
-            NULL for windows having no parent.
+            returns the parent WINDOW pointer for subwindows, or NULL for win-
+            dows having no parent.
 
        <STRONG>wgetscrreg</STRONG>
-            returns  the  top  and  bottom rows for the scrolling
-            margin as set in <STRONG>wsetscrreg</STRONG>.
+            returns the top and bottom rows for the scrolling margin as set in
+            <STRONG>wsetscrreg</STRONG>.
 
 
 </PRE><H2><a name="h2-RETURN-VALUE">RETURN VALUE</a></H2><PRE>
 
 
 </PRE><H2><a name="h2-PORTABILITY">PORTABILITY</a></H2><PRE>
-       These routines are specific to  ncurses.   They  were  not
-       supported  on  Version 7, BSD or System V implementations.
-       It is recommended that any code depending on  ncurses  ex-
-       tensions be conditioned using NCURSES_VERSION.
+       These routines are specific to ncurses.  They  were  not  supported  on
+       Version 7, BSD or System V implementations.  It is recommended that any
+       code depending on ncurses extensions be conditioned using  NCURSES_VER-
+       SION.
 
 
 </PRE><H2><a name="h2-SEE-ALSO">SEE ALSO</a></H2><PRE>
-       <STRONG><A HREF="ncurses.3x.html">curses(3x)</A></STRONG>,  <STRONG><A HREF="curs_inopts.3x.html">curs_inopts(3x)</A></STRONG>,  <STRONG><A HREF="curs_outopts.3x.html">curs_outopts(3x)</A></STRONG>, <STRONG>curs_win-</STRONG>
-       <STRONG><A HREF="curs_window.3x.html">dow(3x)</A></STRONG>
+       <STRONG><A HREF="ncurses.3x.html">curses(3x)</A></STRONG>, <STRONG><A HREF="curs_inopts.3x.html">curs_inopts(3x)</A></STRONG>, <STRONG><A HREF="curs_outopts.3x.html">curs_outopts(3x)</A></STRONG>, <STRONG><A HREF="curs_window.3x.html">curs_window(3x)</A></STRONG>
 
 
 
-                                                        <STRONG><A HREF="curs_opaque.3x.html">curs_opaque(3x)</A></STRONG>
+                                                               <STRONG><A HREF="curs_opaque.3x.html">curs_opaque(3x)</A></STRONG>
 </PRE>
 <div class="nav">
 <ul>
index 6e4ec307b397a4b0e3756d15092e95a3458f7124..b7d9e8cce42f4100d0726626baf32b95f8619e34 100644 (file)
 <BODY>
 <H1 class="no-header">curs_outopts 3x</H1>
 <PRE>
-<STRONG><A HREF="curs_outopts.3x.html">curs_outopts(3x)</A></STRONG>                                       <STRONG><A HREF="curs_outopts.3x.html">curs_outopts(3x)</A></STRONG>
+<STRONG><A HREF="curs_outopts.3x.html">curs_outopts(3x)</A></STRONG>                                              <STRONG><A HREF="curs_outopts.3x.html">curs_outopts(3x)</A></STRONG>
 
 
 
 
 </PRE><H2><a name="h2-NAME">NAME</a></H2><PRE>
-       <STRONG>clearok</STRONG>, <STRONG>idlok</STRONG>, <STRONG>idcok</STRONG>, <STRONG>immedok</STRONG>, <STRONG>leaveok</STRONG>, <STRONG>setscrreg</STRONG>,
-       <STRONG>wsetscrreg</STRONG>, <STRONG>scrollok</STRONG>, <STRONG>nl</STRONG>, <STRONG>nonl</STRONG> - <STRONG>curses</STRONG> output options
+       <STRONG>clearok</STRONG>, <STRONG>idlok</STRONG>, <STRONG>idcok</STRONG>, <STRONG>immedok</STRONG>, <STRONG>leaveok</STRONG>, <STRONG>setscrreg</STRONG>, <STRONG>wsetscrreg</STRONG>,
+       <STRONG>scrollok</STRONG>, <STRONG>nl</STRONG>, <STRONG>nonl</STRONG> - <STRONG>curses</STRONG> output options
 
 
 </PRE><H2><a name="h2-SYNOPSIS">SYNOPSIS</a></H2><PRE>
 
 
 </PRE><H2><a name="h2-DESCRIPTION">DESCRIPTION</a></H2><PRE>
-       These routines set options that change the style of output
-       within  <STRONG>curses</STRONG>.   All  options are initially <STRONG>FALSE</STRONG>, unless
-       otherwise stated.  It is not necessary to turn  these  op-
-       tions off before calling <STRONG><A HREF="curs_initscr.3x.html">endwin(3x)</A></STRONG>.
+       These routines set options that change the style of output within <STRONG>curs-</STRONG>
+       <STRONG>es</STRONG>.   All  options are initially <STRONG>FALSE</STRONG>, unless otherwise stated.  It is
+       not necessary to turn these options off before calling <STRONG><A HREF="curs_initscr.3x.html">endwin(3x)</A></STRONG>.
 
 
 </PRE><H3><a name="h3-clearok">clearok</a></H3><PRE>
-       If  <STRONG>clearok</STRONG> is called with <STRONG>TRUE</STRONG> as argument, the next call
-       to <STRONG>wrefresh</STRONG> with this window will clear  the  screen  com-
-       pletely  and  redraw the entire screen from scratch.  This
-       is useful when the contents of the screen  are  uncertain,
-       or  in  some  cases for a more pleasing visual effect.  If
-       the <EM>win</EM> argument to <STRONG>clearok</STRONG> is the global variable <STRONG>curscr</STRONG>,
-       the  next  call  to  <STRONG>wrefresh</STRONG>  with  any window causes the
-       screen to be cleared and repainted from scratch.
+       If <STRONG>clearok</STRONG> is called with <STRONG>TRUE</STRONG> as argument, the next call  to  <STRONG>wrefresh</STRONG>
+       with this window will clear the screen completely and redraw the entire
+       screen from scratch.  This is useful when the contents  of  the  screen
+       are  uncertain, or in some cases for a more pleasing visual effect.  If
+       the <EM>win</EM> argument to <STRONG>clearok</STRONG> is the global  variable  <STRONG>curscr</STRONG>,  the  next
+       call  to  <STRONG>wrefresh</STRONG>  with any window causes the screen to be cleared and
+       repainted from scratch.
 
 
 </PRE><H3><a name="h3-idlok">idlok</a></H3><PRE>
-       If <STRONG>idlok</STRONG> is called with <STRONG>TRUE</STRONG> as  second  argument,  <STRONG>curses</STRONG>
-       considers using the hardware insert/delete line feature of
-       terminals so equipped.  Calling <STRONG>idlok</STRONG> with <STRONG>FALSE</STRONG> as second
-       argument  disables  use  of  line  insertion and deletion.
-       This option should be  enabled  only  if  the  application
-       needs  insert/delete  line, for example, for a screen edi-
-       tor.  It is disabled by default because insert/delete line
-       tends  to  be  visually annoying when used in applications
-       where it is not really needed.  If insert/delete line can-
-       not  be  used,  <STRONG>curses</STRONG> redraws the changed portions of all
-       lines.
+       If <STRONG>idlok</STRONG> is called with <STRONG>TRUE</STRONG> as second argument, <STRONG>curses</STRONG> considers using
+       the  hardware  insert/delete  line  feature  of  terminals so equipped.
+       Calling <STRONG>idlok</STRONG> with <STRONG>FALSE</STRONG> as second argument disables use of line inser-
+       tion  and deletion.  This option should be enabled only if the applica-
+       tion needs insert/delete line, for example, for a screen editor.  It is
+       disabled by default because insert/delete line tends to be visually an-
+       noying when used in applications where it is not really needed.  If in-
+       sert/delete line cannot be used, <STRONG>curses</STRONG> redraws the changed portions of
+       all lines.
 
 
 </PRE><H3><a name="h3-idcok">idcok</a></H3><PRE>
-       If <STRONG>idcok</STRONG> is called with <STRONG>FALSE</STRONG> as second  argument,  <STRONG>curses</STRONG>
-       no longer considers using the hardware insert/delete char-
-       acter feature of terminals so equipped.  Use of  character
-       insert/delete  is  enabled by default.  Calling <STRONG>idcok</STRONG> with
-       <STRONG>TRUE</STRONG> as second argument re-enables use of character inser-
-       tion and deletion.
+       If <STRONG>idcok</STRONG> is called with <STRONG>FALSE</STRONG> as second argument, <STRONG>curses</STRONG> no longer con-
+       siders  using the hardware insert/delete character feature of terminals
+       so equipped.  Use of character insert/delete  is  enabled  by  default.
+       Calling  <STRONG>idcok</STRONG> with <STRONG>TRUE</STRONG> as second argument re-enables use of character
+       insertion and deletion.
 
 
 </PRE><H3><a name="h3-immedok">immedok</a></H3><PRE>
-       If  <STRONG>immedok</STRONG> is called with <STRONG>TRUE</STRONG> <STRONG>as</STRONG> <STRONG>argument</STRONG>, any change in
-       the window image, such as the ones caused by <STRONG>waddch,</STRONG> <STRONG>wclr-</STRONG>
-       <STRONG>tobot,</STRONG>  <STRONG>wscrl</STRONG>,  etc.,  automatically  cause a call to <STRONG>wre-</STRONG>
-       <STRONG>fresh</STRONG>.  However, it may degrade performance  considerably,
-       due  to repeated calls to <STRONG>wrefresh</STRONG>.  It is disabled by de-
-       fault.
+       If <STRONG>immedok</STRONG> is called with <STRONG>TRUE</STRONG> <STRONG>as</STRONG> <STRONG>argument</STRONG>, any change  in  the  window
+       image, such as the ones caused by <STRONG>waddch,</STRONG> <STRONG>wclrtobot,</STRONG> <STRONG>wscrl</STRONG>, etc., auto-
+       matically cause a call to <STRONG>wrefresh</STRONG>.  However, it  may  degrade  perfor-
+       mance  considerably, due to repeated calls to <STRONG>wrefresh</STRONG>.  It is disabled
+       by default.
 
 
 </PRE><H3><a name="h3-leaveok">leaveok</a></H3><PRE>
-       Normally, the hardware cursor is left at the  location  of
-       the window cursor being refreshed.  The <STRONG>leaveok</STRONG> option al-
-       lows the cursor to be left wherever the update happens  to
-       leave  it.  It is useful for applications where the cursor
-       is not used, since it reduces the need for cursor motions.
+       Normally, the hardware cursor is left at the  location  of  the  window
+       cursor  being  refreshed.   The  <STRONG>leaveok</STRONG> option allows the cursor to be
+       left wherever the update happens to leave it.  It is useful for  appli-
+       cations  where  the  cursor  is not used, since it reduces the need for
+       cursor motions.
 
 
 </PRE><H3><a name="h3-setscrreg">setscrreg</a></H3><PRE>
-       The <STRONG>setscrreg</STRONG> and <STRONG>wsetscrreg</STRONG> routines allow  the  applica-
-       tion  programmer  to  set a software scrolling region in a
-       window.  The <EM>top</EM> and <EM>bot</EM> parameters are the  line  numbers
-       of  the  top  and  bottom  margin of the scrolling region.
-       (Line 0 is the top line of the window.)   If  this  option
-       and  <STRONG>scrollok</STRONG> are enabled, an attempt to move off the bot-
-       tom margin line causes all lines in the  scrolling  region
-       to  scroll  one  line  in the direction of the first line.
-       Only the text of the window is scrolled.  (Note that  this
-       has nothing to do with the use of a physical scrolling re-
-       gion capability in the terminal, like that in  the  VT100.
-       If  <STRONG>idlok</STRONG>  is  enabled  and  the  terminal  has  either  a
-       scrolling region or insert/delete  line  capability,  they
-       will probably be used by the output routines.)
+       The <STRONG>setscrreg</STRONG> and <STRONG>wsetscrreg</STRONG> routines allow the application  programmer
+       to set a software scrolling region in a window.  The <EM>top</EM> and <EM>bot</EM> param-
+       eters are the line  numbers  of  the  top  and  bottom  margin  of  the
+       scrolling region.  (Line 0 is the top line of the window.)  If this op-
+       tion and <STRONG>scrollok</STRONG> are enabled, an attempt to move off the bottom margin
+       line causes all lines in the scrolling region to scroll one line in the
+       direction of the first line.  Only the text of the window is  scrolled.
+       (Note  that this has nothing to do with the use of a physical scrolling
+       region capability in the terminal, like that in the VT100.  If <STRONG>idlok</STRONG> is
+       enabled and the terminal has either a scrolling region or insert/delete
+       line capability, they will probably be used by the output routines.)
 
 
 </PRE><H3><a name="h3-scrollok">scrollok</a></H3><PRE>
-       The  <STRONG>scrollok</STRONG> option controls what happens when the cursor
-       of a window is  moved  off  the  edge  of  the  window  or
-       scrolling  region,  either as a result of a newline action
-       on the bottom line, or typing the last  character  of  the
-       last line.  If disabled, (<EM>bf</EM> is <STRONG>FALSE</STRONG>), the cursor is left
-       on the bottom line.  If enabled, (<EM>bf</EM> is <STRONG>TRUE</STRONG>), the  window
-       is  scrolled  up  one  line (Note that to get the physical
-       scrolling effect on the terminal, it is also necessary  to
-       call <STRONG>idlok</STRONG>).
+       The <STRONG>scrollok</STRONG> option controls what happens when the cursor of  a  window
+       is  moved  off  the edge of the window or scrolling region, either as a
+       result of a newline action on the bottom line, or typing the last char-
+       acter of the last line.  If disabled, (<EM>bf</EM> is <STRONG>FALSE</STRONG>), the cursor is left
+       on the bottom line.  If enabled, (<EM>bf</EM> is <STRONG>TRUE</STRONG>), the window  is  scrolled
+       up one line (Note that to get the physical scrolling effect on the ter-
+       minal, it is also necessary to call <STRONG>idlok</STRONG>).
 
 
 </PRE><H3><a name="h3-nl_-nonl">nl, nonl</a></H3><PRE>
-       The  <STRONG>nl</STRONG>  and  <STRONG>nonl</STRONG> routines control whether the underlying
-       display device translates the return key into  newline  on
-       input,  and  whether it translates newline into return and
-       line-feed on output (in either case, the call  <STRONG>addch('\n')</STRONG>
-       does the equivalent of return and line feed on the virtual
-       screen).  Initially, these translations do occur.  If  you
-       disable  them using <STRONG>nonl</STRONG>, <STRONG>curses</STRONG> will be able to make bet-
-       ter use of the line-feed capability, resulting  in  faster
-       cursor  motion.   Also, <STRONG>curses</STRONG> will then be able to detect
-       the return key.
+       The <STRONG>nl</STRONG> and <STRONG>nonl</STRONG> routines control whether the underlying display  device
+       translates  the return key into newline on input, and whether it trans-
+       lates newline into return and line-feed on output (in either case,  the
+       call  <STRONG>addch('\n')</STRONG>  does  the  equivalent of return and line feed on the
+       virtual screen).  Initially, these translations do occur.  If you  dis-
+       able  them  using  <STRONG>nonl</STRONG>,  <STRONG>curses</STRONG> will be able to make better use of the
+       line-feed capability, resulting in faster cursor motion.  Also,  <STRONG>curses</STRONG>
+       will then be able to detect the return key.
 
 
 </PRE><H2><a name="h2-RETURN-VALUE">RETURN VALUE</a></H2><PRE>
-       The functions <STRONG>setscrreg</STRONG> and <STRONG>wsetscrreg</STRONG> return <STRONG>OK</STRONG> upon suc-
-       cess and <STRONG>ERR</STRONG> upon failure.  All other routines that return
-       an integer always return <STRONG>OK</STRONG>.
+       The  functions  <STRONG>setscrreg</STRONG> and <STRONG>wsetscrreg</STRONG> return <STRONG>OK</STRONG> upon success and <STRONG>ERR</STRONG>
+       upon failure.  All other routines that return an integer always  return
+       <STRONG>OK</STRONG>.
 
        X/Open Curses does not define any error conditions.
 
-       In this implementation, those functions that have a window
-       pointer  will  return  an  error  if the window pointer is
-       null.
+       In this implementation, those functions that have a window pointer will
+       return an error if the window pointer is null.
 
               <STRONG>wclrtoeol</STRONG>
-                   returns an error if  the  cursor  position  is
-                   about to wrap.
+                   returns an error if the cursor position is about to wrap.
 
               <STRONG>wsetscrreg</STRONG>
-                   returns  an error if the scrolling region lim-
-                   its extend outside the window.
+                   returns an error if the scrolling region limits extend out-
+                   side the window.
 
-       X/Open does not define any error conditions.  This  imple-
-       mentation returns an error if the window pointer is null.
+       X/Open  does  not define any error conditions.  This implementation re-
+       turns an error if the window pointer is null.
 
 
 </PRE><H2><a name="h2-PORTABILITY">PORTABILITY</a></H2><PRE>
-       These  functions are described in the XSI Curses standard,
-       Issue 4.
-
-       The XSI Curses standard is ambiguous on  the  question  of
-       whether  <STRONG>raw</STRONG>  should  disable  the  CRLF translations con-
-       trolled by <STRONG>nl</STRONG> and <STRONG>nonl</STRONG>.  BSD curses  did  turn  off  these
-       translations;  AT&amp;T  curses (at least as late as SVr1) did
-       not.  We choose to do so, on the theory that a  programmer
-       requesting  raw  input wants a clean (ideally 8-bit clean)
-       connection that the operating system will not alter.
-
-       Some historic curses implementations had,  as  an  undocu-
-       mented  feature,  the  ability  to  do  the  equivalent of
-       <STRONG>clearok(...,</STRONG> <STRONG>1)</STRONG> by saying <STRONG>touchwin(stdscr)</STRONG>  or  <STRONG>clear(std-</STRONG>
-       <STRONG>scr)</STRONG>.  This will not work under ncurses.
-
-       Earlier  System  V  curses  implementations specified that
-       with <STRONG>scrollok</STRONG> enabled, any window modification  triggering
-       a  scroll also forced a physical refresh.  XSI Curses does
-       not require this, and <STRONG>ncurses</STRONG> avoids doing it  to  perform
-       better vertical-motion optimization at <STRONG>wrefresh</STRONG> time.
-
-       The  XSI  Curses standard does not mention that the cursor
-       should be made invisible  as  a  side-effect  of  <STRONG>leaveok</STRONG>.
-       SVr4  curses  documentation  does  this, but the code does
-       not.  Use <STRONG>curs_set</STRONG> to make the cursor invisible.
+       These functions are described in the XSI Curses standard, Issue 4.
+
+       The XSI Curses standard is ambiguous on the  question  of  whether  <STRONG>raw</STRONG>
+       should  disable  the  CRLF translations controlled by <STRONG>nl</STRONG> and <STRONG>nonl</STRONG>.  BSD
+       curses did turn off these translations; AT&amp;T curses (at least  as  late
+       as  SVr1) did not.  We choose to do so, on the theory that a programmer
+       requesting raw input wants a clean  (ideally  8-bit  clean)  connection
+       that the operating system will not alter.
+
+       Some  historic  curses implementations had, as an undocumented feature,
+       the ability to do the equivalent of <STRONG>clearok(...,</STRONG> <STRONG>1)</STRONG>  by  saying  <STRONG>touch-</STRONG>
+       <STRONG>win(stdscr)</STRONG> or <STRONG>clear(stdscr)</STRONG>.  This will not work under ncurses.
+
+       Earlier  System  V  curses implementations specified that with <STRONG>scrollok</STRONG>
+       enabled, any window modification triggering  a  scroll  also  forced  a
+       physical refresh.  XSI Curses does not require this, and <STRONG>ncurses</STRONG> avoids
+       doing it to perform better  vertical-motion  optimization  at  <STRONG>wrefresh</STRONG>
+       time.
+
+       The XSI Curses standard does not mention that the cursor should be made
+       invisible as a side-effect of <STRONG>leaveok</STRONG>.  SVr4 curses documentation  does
+       this,  but  the code does not.  Use <STRONG>curs_set</STRONG> to make the cursor invisi-
+       ble.
 
 
 </PRE><H2><a name="h2-NOTES">NOTES</a></H2><PRE>
-       Note that <STRONG>clearok</STRONG>, <STRONG>leaveok</STRONG>, <STRONG>scrollok</STRONG>, <STRONG>idcok</STRONG>, <STRONG>nl</STRONG>, <STRONG>nonl</STRONG>  and
-       <STRONG>setscrreg</STRONG> may be macros.
+       Note that <STRONG>clearok</STRONG>, <STRONG>leaveok</STRONG>, <STRONG>scrollok</STRONG>, <STRONG>idcok</STRONG>, <STRONG>nl</STRONG>, <STRONG>nonl</STRONG> and <STRONG>setscrreg</STRONG> may
+       be macros.
 
-       The <STRONG>immedok</STRONG> routine is useful for windows that are used as
-       terminal emulators.
+       The <STRONG>immedok</STRONG> routine is useful for windows that are used as terminal em-
+       ulators.
 
 
 </PRE><H2><a name="h2-SEE-ALSO">SEE ALSO</a></H2><PRE>
-       <STRONG><A HREF="ncurses.3x.html">curses(3x)</A></STRONG>, <STRONG><A HREF="curs_addch.3x.html">curs_addch(3x)</A></STRONG>, <STRONG><A HREF="curs_clear.3x.html">curs_clear(3x)</A></STRONG>,
-       <STRONG><A HREF="curs_initscr.3x.html">curs_initscr(3x)</A></STRONG>, <STRONG><A HREF="curs_scroll.3x.html">curs_scroll(3x)</A></STRONG>, <STRONG><A HREF="curs_refresh.3x.html">curs_refresh(3x)</A></STRONG>,
-       <STRONG><A HREF="curs_variables.3x.html">curs_variables(3x)</A></STRONG>.
+       <STRONG><A HREF="ncurses.3x.html">curses(3x)</A></STRONG>, <STRONG><A HREF="curs_addch.3x.html">curs_addch(3x)</A></STRONG>, <STRONG><A HREF="curs_clear.3x.html">curs_clear(3x)</A></STRONG>, <STRONG><A HREF="curs_initscr.3x.html">curs_initscr(3x)</A></STRONG>,
+       <STRONG><A HREF="curs_scroll.3x.html">curs_scroll(3x)</A></STRONG>, <STRONG><A HREF="curs_refresh.3x.html">curs_refresh(3x)</A></STRONG>, <STRONG><A HREF="curs_variables.3x.html">curs_variables(3x)</A></STRONG>.
 
 
 
-                                                       <STRONG><A HREF="curs_outopts.3x.html">curs_outopts(3x)</A></STRONG>
+                                                              <STRONG><A HREF="curs_outopts.3x.html">curs_outopts(3x)</A></STRONG>
 </PRE>
 <div class="nav">
 <ul>
index 573cb9c22901abfb5719833cb198ee703cbcb35f..701f3038f5b2505ae5396c2bba32965a6780e360 100644 (file)
 <BODY>
 <H1 class="no-header">curs_overlay 3x</H1>
 <PRE>
-<STRONG><A HREF="curs_overlay.3x.html">curs_overlay(3x)</A></STRONG>                                       <STRONG><A HREF="curs_overlay.3x.html">curs_overlay(3x)</A></STRONG>
+<STRONG><A HREF="curs_overlay.3x.html">curs_overlay(3x)</A></STRONG>                                              <STRONG><A HREF="curs_overlay.3x.html">curs_overlay(3x)</A></STRONG>
 
 
 
 
 </PRE><H2><a name="h2-NAME">NAME</a></H2><PRE>
-       <STRONG>overlay</STRONG>, <STRONG>overwrite</STRONG>, <STRONG>copywin</STRONG> - overlay and manipulate
-       overlapped <STRONG>curses</STRONG> windows
+       <STRONG>overlay</STRONG>, <STRONG>overwrite</STRONG>, <STRONG>copywin</STRONG> - overlay and manipulate overlapped <STRONG>curses</STRONG>
+       windows
 
 
 </PRE><H2><a name="h2-SYNOPSIS">SYNOPSIS</a></H2><PRE>
@@ -55,8 +55,7 @@
 
        <STRONG>int</STRONG> <STRONG>overlay(const</STRONG> <STRONG>WINDOW</STRONG> <STRONG>*</STRONG><EM>srcwin</EM><STRONG>,</STRONG> <STRONG>WINDOW</STRONG> <STRONG>*</STRONG><EM>dstwin</EM><STRONG>);</STRONG>
        <STRONG>int</STRONG> <STRONG>overwrite(const</STRONG> <STRONG>WINDOW</STRONG> <STRONG>*</STRONG><EM>srcwin</EM><STRONG>,</STRONG> <STRONG>WINDOW</STRONG> <STRONG>*</STRONG><EM>dstwin</EM><STRONG>);</STRONG>
-       <STRONG>int</STRONG> <STRONG>copywin(const</STRONG>  <STRONG>WINDOW</STRONG>  <STRONG>*</STRONG><EM>srcwin</EM><STRONG>,</STRONG>  <STRONG>WINDOW</STRONG>  <STRONG>*</STRONG><EM>dstwin</EM><STRONG>,</STRONG>  <STRONG>int</STRONG>
-       <EM>sminrow</EM><STRONG>,</STRONG>
+       <STRONG>int</STRONG> <STRONG>copywin(const</STRONG> <STRONG>WINDOW</STRONG> <STRONG>*</STRONG><EM>srcwin</EM><STRONG>,</STRONG> <STRONG>WINDOW</STRONG> <STRONG>*</STRONG><EM>dstwin</EM><STRONG>,</STRONG> <STRONG>int</STRONG> <EM>sminrow</EM><STRONG>,</STRONG>
              <STRONG>int</STRONG> <EM>smincol</EM><STRONG>,</STRONG> <STRONG>int</STRONG> <EM>dminrow</EM><STRONG>,</STRONG> <STRONG>int</STRONG> <EM>dmincol</EM><STRONG>,</STRONG> <STRONG>int</STRONG> <EM>dmaxrow</EM><STRONG>,</STRONG>
              <STRONG>int</STRONG> <EM>dmaxcol</EM><STRONG>,</STRONG> <STRONG>int</STRONG> <EM>overlay</EM><STRONG>);</STRONG>
 
 </PRE><H2><a name="h2-DESCRIPTION">DESCRIPTION</a></H2><PRE>
 
 </PRE><H3><a name="h3-overlay_-overwrite">overlay, overwrite</a></H3><PRE>
-       The  <STRONG>overlay</STRONG>  and <STRONG>overwrite</STRONG> routines overlay <EM>srcwin</EM> on top
-       of <EM>dstwin</EM>.  <EM>scrwin</EM> and <EM>dstwin</EM> are not required to  be  the
-       same  size;  only  text  where  the two windows overlap is
-       copied.  The difference is that <STRONG>overlay</STRONG> is non-destructive
-       (blanks are not copied) whereas <STRONG>overwrite</STRONG> is destructive.
+       The <STRONG>overlay</STRONG> and <STRONG>overwrite</STRONG> routines overlay <EM>srcwin</EM>  on  top  of  <EM>dstwin</EM>.
+       <EM>scrwin</EM> and <EM>dstwin</EM> are not required to be the same size; only text where
+       the two windows overlap is copied.  The difference is that  <STRONG>overlay</STRONG>  is
+       non-destructive  (blanks  are not copied) whereas <STRONG>overwrite</STRONG> is destruc-
+       tive.
 
 
 </PRE><H3><a name="h3-copywin">copywin</a></H3><PRE>
-       The  <STRONG>copywin</STRONG>  routine provides a finer granularity of con-
-       trol over the <STRONG>overlay</STRONG> and <STRONG>overwrite</STRONG> routines.  As  in  the
-       <STRONG>prefresh</STRONG> routine, a rectangle is specified in the destina-
-       tion window, (<EM>dminrow</EM>, <EM>dmincol</EM>)  and  (<EM>dmaxrow</EM>,  <EM>dmaxcol</EM>),
-       and  the  upper-left-corner coordinates of the source win-
-       dow, (<EM>sminrow</EM>, <EM>smincol</EM>).  If the argument <EM>overlay</EM> is <STRONG>true</STRONG>,
-       then copying is non-destructive, as in <STRONG>overlay</STRONG>.
+       The <STRONG>copywin</STRONG> routine provides a finer granularity of  control  over  the
+       <STRONG>overlay</STRONG>  and <STRONG>overwrite</STRONG> routines.  As in the <STRONG>prefresh</STRONG> routine, a rectan-
+       gle is specified in the  destination  window,  (<EM>dminrow</EM>,  <EM>dmincol</EM>)  and
+       (<EM>dmaxrow</EM>, <EM>dmaxcol</EM>), and the upper-left-corner coordinates of the source
+       window, (<EM>sminrow</EM>, <EM>smincol</EM>).  If the  argument  <EM>overlay</EM>  is  <STRONG>true</STRONG>,  then
+       copying is non-destructive, as in <STRONG>overlay</STRONG>.
 
 
 </PRE><H2><a name="h2-RETURN-VALUE">RETURN VALUE</a></H2><PRE>
-       Routines  that  return an integer return <STRONG>ERR</STRONG> upon failure,
-       and <STRONG>OK</STRONG> (SVr4 only specifies "an integer value  other  than
-       <STRONG>ERR</STRONG>") upon successful completion.
+       Routines  that  return an integer return <STRONG>ERR</STRONG> upon failure, and <STRONG>OK</STRONG> (SVr4
+       only specifies "an integer value other than <STRONG>ERR</STRONG>") upon successful  com-
+       pletion.
 
-       X/Open  defines  no error conditions.  In this implementa-
-       tion, <STRONG>copywin</STRONG>, <STRONG>overlay</STRONG> and <STRONG>overwrite</STRONG> return  an  error  if
-       either of the window pointers are null, or if some part of
-       the window would be placed off-screen.
+       X/Open  defines  no error conditions.  In this implementation, <STRONG>copywin</STRONG>,
+       <STRONG>overlay</STRONG> and <STRONG>overwrite</STRONG> return an error if either of the window  pointers
+       are null, or if some part of the window would be placed off-screen.
 
 
 </PRE><H2><a name="h2-NOTES">NOTES</a></H2><PRE>
 
 
 </PRE><H2><a name="h2-PORTABILITY">PORTABILITY</a></H2><PRE>
-       The XSI Curses standard, Issue 4 describes these functions
-       (adding the const qualifiers).  It further specifies their
-       behavior in the presence of characters with multibyte ren-
-       ditions (not yet supported in this implementation).
+       The  XSI Curses standard, Issue 4 describes these functions (adding the
+       const qualifiers).  It further specifies their behavior in the presence
+       of  characters with multibyte renditions (not yet supported in this im-
+       plementation).
 
 
 </PRE><H2><a name="h2-SEE-ALSO">SEE ALSO</a></H2><PRE>
 
 
 
-                                                       <STRONG><A HREF="curs_overlay.3x.html">curs_overlay(3x)</A></STRONG>
+                                                              <STRONG><A HREF="curs_overlay.3x.html">curs_overlay(3x)</A></STRONG>
 </PRE>
 <div class="nav">
 <ul>
index f59a9451acb5bc28549448addedda5d5968bbc61..fa9c5a45dcaffb7fb536a3e82688d41bb5ed70c3 100644 (file)
 <BODY>
 <H1 class="no-header">curs_pad 3x</H1>
 <PRE>
-<STRONG><A HREF="curs_pad.3x.html">curs_pad(3x)</A></STRONG>                                               <STRONG><A HREF="curs_pad.3x.html">curs_pad(3x)</A></STRONG>
+<STRONG><A HREF="curs_pad.3x.html">curs_pad(3x)</A></STRONG>                                                      <STRONG><A HREF="curs_pad.3x.html">curs_pad(3x)</A></STRONG>
 
 
 
 
 </PRE><H2><a name="h2-NAME">NAME</a></H2><PRE>
-       <STRONG>newpad</STRONG>, <STRONG>subpad</STRONG>, <STRONG>prefresh</STRONG>, <STRONG>pnoutrefresh</STRONG>, <STRONG>pechochar</STRONG>,
-       <STRONG>pecho_wchar</STRONG> - create and display <STRONG>curses</STRONG> pads
+       <STRONG>newpad</STRONG>, <STRONG>subpad</STRONG>, <STRONG>prefresh</STRONG>, <STRONG>pnoutrefresh</STRONG>, <STRONG>pechochar</STRONG>, <STRONG>pecho_wchar</STRONG> - create
+       and display <STRONG>curses</STRONG> pads
 
 
 </PRE><H2><a name="h2-SYNOPSIS">SYNOPSIS</a></H2><PRE>
 </PRE><H2><a name="h2-DESCRIPTION">DESCRIPTION</a></H2><PRE>
 
 </PRE><H3><a name="h3-newpad">newpad</a></H3><PRE>
-       The <STRONG>newpad</STRONG> routine creates and returns a pointer to a  new
-       pad data structure with the given number of lines, <EM>nlines</EM>,
-       and columns, <EM>ncols</EM>.  A pad is like a window,  except  that
-       it is not restricted by the screen size, and is not neces-
-       sarily associated with a particular part  of  the  screen.
-       Pads can be used when a large window is needed, and only a
-       part of the window will be on the screen at one time.  Au-
-       tomatic refreshes of pads (e.g., from scrolling or echoing
-       of input) do not occur.  It is not legal to call  <STRONG>wrefresh</STRONG>
-       with  a  <EM>pad</EM>  as  an  argument;  the  routines <STRONG>prefresh</STRONG> or
-       <STRONG>pnoutrefresh</STRONG> should be called instead.   Note  that  these
-       routines require additional parameters to specify the part
-       of the pad to be displayed and the location on the  screen
-       to be used for the display.
+       The <STRONG>newpad</STRONG> routine creates and returns a pointer  to  a  new  pad  data
+       structure  with  the given number of lines, <EM>nlines</EM>, and columns, <EM>ncols</EM>.
+       A pad is like a window, except that it is not restricted by the  screen
+       size,  and  is not necessarily associated with a particular part of the
+       screen.  Pads can be used when a large window is  needed,  and  only  a
+       part  of  the  window will be on the screen at one time.  Automatic re-
+       freshes of pads (e.g., from scrolling or echoing of input) do  not  oc-
+       cur.   It  is not legal to call <STRONG>wrefresh</STRONG> with a <EM>pad</EM> as an argument; the
+       routines <STRONG>prefresh</STRONG> or <STRONG>pnoutrefresh</STRONG> should be called instead.  Note  that
+       these routines require additional parameters to specify the part of the
+       pad to be displayed and the location on the screen to be used  for  the
+       display.
 
 
 </PRE><H3><a name="h3-subpad">subpad</a></H3><PRE>
-       The <STRONG>subpad</STRONG> routine creates and returns a pointer to a sub-
-       window within a  pad  with  the  given  number  of  lines,
-       <EM>nlines</EM>,  and  columns,  <EM>ncols</EM>.   Unlike <STRONG>subwin</STRONG>, which uses
-       screen coordinates, the window is  at  position  (<EM>begin</EM>_<EM>x</EM><STRONG>,</STRONG>
-       <EM>begin</EM>_<EM>y</EM>)  on the pad.  The window is made in the middle of
-       the window <EM>orig</EM>, so that changes made to one window affect
-       both windows.  During the use of this routine, it will of-
-       ten be necessary to call <STRONG>touchwin</STRONG> or <STRONG>touchline</STRONG> on <EM>orig</EM> be-
-       fore calling <STRONG>prefresh</STRONG>.
+       The  <STRONG>subpad</STRONG> routine creates and returns a pointer to a subwindow within
+       a pad with the given number of lines, <EM>nlines</EM>, and columns, <EM>ncols</EM>.   Un-
+       like  <STRONG>subwin</STRONG>,  which uses screen coordinates, the window is at position
+       (<EM>begin</EM>_<EM>x</EM><STRONG>,</STRONG> <EM>begin</EM>_<EM>y</EM>) on the pad.  The window is made in the middle of the
+       window  <EM>orig</EM>,  so  that changes made to one window affect both windows.
+       During the use of this routine, it will  often  be  necessary  to  call
+       <STRONG>touchwin</STRONG> or <STRONG>touchline</STRONG> on <EM>orig</EM> before calling <STRONG>prefresh</STRONG>.
 
 
 </PRE><H3><a name="h3-prefresh_-pnoutrefresh">prefresh, pnoutrefresh</a></H3><PRE>
-       The  <STRONG>prefresh</STRONG>  and  <STRONG>pnoutrefresh</STRONG> routines are analogous to
-       <STRONG>wrefresh</STRONG> and <STRONG>wnoutrefresh</STRONG> except that they relate to  pads
-       instead  of windows.  The additional parameters are needed
-       to indicate what part of the pad and screen are  involved.
-       The <EM>pminrow</EM> and <EM>pmincol</EM> parameters specify the upper left-
-       hand corner of the rectangle to be displayed in  the  pad.
-       The  <EM>sminrow</EM>,  <EM>smincol</EM>,  <EM>smaxrow</EM>,  and  <EM>smaxcol</EM> parameters
-       specify the edges of the rectangle to be displayed on  the
-       screen.   The  lower right-hand corner of the rectangle to
-       be displayed in the pad is calculated from the screen  co-
-       ordinates,  since  the  rectangles  must be the same size.
-       Both rectangles must be entirely  contained  within  their
-       respective  structures.  Negative values of <EM>pminrow</EM>, <EM>pmin-</EM>
-       <EM>col</EM>, <EM>sminrow</EM>, or <EM>smincol</EM> are treated as if they were zero.
+       The  <STRONG>prefresh</STRONG>  and  <STRONG>pnoutrefresh</STRONG> routines are analogous to <STRONG>wrefresh</STRONG> and
+       <STRONG>wnoutrefresh</STRONG> except that they relate to pads instead of  windows.   The
+       additional  parameters  are needed to indicate what part of the pad and
+       screen are involved.  The <EM>pminrow</EM> and <EM>pmincol</EM>  parameters  specify  the
+       upper  left-hand  corner  of  the rectangle to be displayed in the pad.
+       The <EM>sminrow</EM>, <EM>smincol</EM>, <EM>smaxrow</EM>, and <EM>smaxcol</EM> parameters specify the edges
+       of  the  rectangle to be displayed on the screen.  The lower right-hand
+       corner of the rectangle to be displayed in the pad is  calculated  from
+       the  screen  coordinates,  since  the rectangles must be the same size.
+       Both rectangles must be  entirely  contained  within  their  respective
+       structures.   Negative  values of <EM>pminrow</EM>, <EM>pmincol</EM>, <EM>sminrow</EM>, or <EM>smincol</EM>
+       are treated as if they were zero.
 
 
 </PRE><H3><a name="h3-pechochar">pechochar</a></H3><PRE>
-       The <STRONG>pechochar</STRONG> routine is functionally equivalent to a call
-       to <STRONG>addch</STRONG> followed by a call to <STRONG><A HREF="curs_refresh.3x.html">refresh(3x)</A></STRONG>, a call to <STRONG>wad-</STRONG>
-       <STRONG>dch</STRONG> followed by a call to <STRONG>wrefresh</STRONG>, or a  call  to  <STRONG>waddch</STRONG>
-       followed by a call to <STRONG>prefresh</STRONG>.  The knowledge that only a
-       single character is being output is taken into  considera-
-       tion  and, for non-control characters, a considerable per-
-       formance gain might be seen by using  these  routines  in-
-       stead of their equivalents.  In the case of <STRONG>pechochar</STRONG>, the
-       last location of the pad on the screen is reused  for  the
-       arguments to <STRONG>prefresh</STRONG>.
+       The <STRONG>pechochar</STRONG> routine is functionally equivalent to  a  call  to  <STRONG>addch</STRONG>
+       followed  by a call to <STRONG><A HREF="curs_refresh.3x.html">refresh(3x)</A></STRONG>, a call to <STRONG>waddch</STRONG> followed by a call
+       to <STRONG>wrefresh</STRONG>, or a call to <STRONG>waddch</STRONG> followed by a call to  <STRONG>prefresh</STRONG>.   The
+       knowledge  that  only  a single character is being output is taken into
+       consideration and, for non-control characters, a  considerable  perfor-
+       mance  gain  might  be  seen  by  using these routines instead of their
+       equivalents.  In the case of <STRONG>pechochar</STRONG>, the last location of the pad on
+       the screen is reused for the arguments to <STRONG>prefresh</STRONG>.
 
 
 </PRE><H3><a name="h3-pecho_wchar">pecho_wchar</a></H3><PRE>
-       The  <STRONG>pecho_wchar</STRONG>  function is the analogous wide-character
-       form of <STRONG>pechochar</STRONG>.  It outputs one character to a pad  and
-       immediately  refreshes the pad.  It does this by a call to
-       <STRONG>wadd_wch</STRONG> followed by a call to <STRONG>prefresh</STRONG>.
+       The  <STRONG>pecho_wchar</STRONG>  function  is the analogous wide-character form of <STRONG>pe-</STRONG>
+       <STRONG>chochar</STRONG>.  It outputs one character to a pad and  immediately  refreshes
+       the pad.  It does this by a call to <STRONG>wadd_wch</STRONG> followed by a call to <STRONG>pre-</STRONG>
+       <STRONG>fresh</STRONG>.
 
 
 </PRE><H2><a name="h2-RETURN-VALUE">RETURN VALUE</a></H2><PRE>
-       Routines that return an integer return  <STRONG>ERR</STRONG>  upon  failure
-       and  <STRONG>OK</STRONG>  (SVr4 only specifies "an integer value other than
-       <STRONG>ERR</STRONG>") upon successful completion.
+       Routines that return an integer return <STRONG>ERR</STRONG> upon failure  and  <STRONG>OK</STRONG>  (SVr4
+       only  specifies "an integer value other than <STRONG>ERR</STRONG>") upon successful com-
+       pletion.
 
-       Routines that return pointers return <STRONG>NULL</STRONG>  on  error,  and
-       set <STRONG>errno</STRONG> to <STRONG>ENOMEM</STRONG>.
+       Routines that return pointers return <STRONG>NULL</STRONG> on error, and  set  <STRONG>errno</STRONG>  to
+       <STRONG>ENOMEM</STRONG>.
 
-       X/Open  does not define any error conditions.  In this im-
-       plementation
+       X/Open does not define any error conditions.  In this implementation
 
           <STRONG>prefresh</STRONG> and <STRONG>pnoutrefresh</STRONG>
-               return an error if the window pointer is null,  or
-               if  the  window is not really a pad or if the area
-               to refresh extends off-screen or  if  the  minimum
-               coordinates are greater than the maximum.
+               return an error if the window pointer is null, or if the window
+               is not really a pad or if the  area  to  refresh  extends  off-
+               screen or if the minimum coordinates are greater than the maxi-
+               mum.
 
           <STRONG>pechochar</STRONG>
-               returns  an  error  if  the window is not really a
-               pad, and the associated call to <STRONG>wechochar</STRONG>  returns
-               an error.
+               returns an error if the window is not really a pad, and the as-
+               sociated call to <STRONG>wechochar</STRONG> returns an error.
 
           <STRONG>pecho_wchar</STRONG>
-               returns  an  error  if  the window is not really a
-               pad, and the associated call  to  <STRONG>wecho_wchar</STRONG>  re-
-               turns an error.
+               returns an error if the window is not really a pad, and the as-
+               sociated call to <STRONG>wecho_wchar</STRONG> returns an error.
 
 
 </PRE><H2><a name="h2-NOTES">NOTES</a></H2><PRE>
 
 
 </PRE><H2><a name="h2-PORTABILITY">PORTABILITY</a></H2><PRE>
-       The  XSI  Curses  standard,  Issue 4 describes these func-
-       tions.
+       The XSI Curses standard, Issue 4 describes these functions.
 
 
 </PRE><H2><a name="h2-SEE-ALSO">SEE ALSO</a></H2><PRE>
-       <STRONG><A HREF="ncurses.3x.html">curses(3x)</A></STRONG>,  <STRONG><A HREF="curs_refresh.3x.html">curs_refresh(3x)</A></STRONG>,  <STRONG><A HREF="curs_touch.3x.html">curs_touch(3x)</A></STRONG>,  <STRONG>curs_add-</STRONG>
-       <STRONG><A HREF="curs_addch.3x.html">ch(3x)</A></STRONG>.
+       <STRONG><A HREF="ncurses.3x.html">curses(3x)</A></STRONG>, <STRONG><A HREF="curs_refresh.3x.html">curs_refresh(3x)</A></STRONG>, <STRONG><A HREF="curs_touch.3x.html">curs_touch(3x)</A></STRONG>, <STRONG><A HREF="curs_addch.3x.html">curs_addch(3x)</A></STRONG>.
 
 
 
-                                                           <STRONG><A HREF="curs_pad.3x.html">curs_pad(3x)</A></STRONG>
+                                                                  <STRONG><A HREF="curs_pad.3x.html">curs_pad(3x)</A></STRONG>
 </PRE>
 <div class="nav">
 <ul>
index 2fba9f3faf87212855287f23fc1793fdfe2c96d2..4b8da39588476b285ff1241cdf057791c2ea7755 100644 (file)
@@ -40,7 +40,7 @@
 <BODY>
 <H1 class="no-header">curs_print 3x</H1>
 <PRE>
-<STRONG><A HREF="curs_print.3x.html">curs_print(3x)</A></STRONG>                                           <STRONG><A HREF="curs_print.3x.html">curs_print(3x)</A></STRONG>
+<STRONG><A HREF="curs_print.3x.html">curs_print(3x)</A></STRONG>                                                  <STRONG><A HREF="curs_print.3x.html">curs_print(3x)</A></STRONG>
 
 
 
 
 
 </PRE><H2><a name="h2-DESCRIPTION">DESCRIPTION</a></H2><PRE>
-       This  function  uses the <STRONG>mc5p</STRONG> or <STRONG>mc4</STRONG> and <STRONG>mc5</STRONG> capabilities,
-       if they are present, to  ship  given  data  to  a  printer
-       attached to the terminal.
+       This  function  uses  the <STRONG>mc5p</STRONG> or <STRONG>mc4</STRONG> and <STRONG>mc5</STRONG> capabilities, if they are
+       present, to ship given data to a printer attached to the terminal.
 
-       Note  that  the <STRONG>mcprint</STRONG> code has no way to do flow control
-       with the printer or to know how  much  buffering  it  has.
-       Your  application  is  responsible for keeping the rate of
-       writes to the printer below its continuous throughput rate
-       (typically  about  half  of its nominal cps rating).  Dot-
-       matrix printers and 6-page-per-minute lasers can typically
-       handle  80cps,  so a good conservative rule of thumb is to
-       sleep for a second after shipping each 80-character line.
+       Note that the <STRONG>mcprint</STRONG> code has no way  to  do  flow  control  with  the
+       printer  or  to  know  how  much buffering it has.  Your application is
+       responsible for keeping the rate of writes to  the  printer  below  its
+       continuous  throughput  rate  (typically  about half of its nominal cps
+       rating).  Dot-matrix printers and 6-page-per-minute  lasers  can  typi-
+       cally  handle  80cps,  so a good conservative rule of thumb is to sleep
+       for a second after shipping each 80-character line.
 
 
 </PRE><H2><a name="h2-RETURN-VALUE">RETURN VALUE</a></H2><PRE>
-       The <STRONG>mcprint</STRONG> function returns <STRONG>ERR</STRONG> if  the  write  operation
-       aborted for some reason.  In this case, errno will contain
-       either an error associated with <STRONG>write(2)</STRONG>  or  one  of  the
-       following:
+       The <STRONG>mcprint</STRONG> function returns <STRONG>ERR</STRONG> if the  write  operation  aborted  for
+       some  reason.  In this case, errno will contain either an error associ-
+       ated with <STRONG>write(2)</STRONG> or one of the following:
 
        ENODEV
             Capabilities for printer redirection do not exist.
 
        ENOMEM
-            Couldn't  allocate  sufficient  memory  to buffer the
-            printer write.
+            Couldn't allocate sufficient memory to buffer the printer write.
 
-       When <STRONG>mcprint</STRONG> succeeds, it returns the number of characters
-       actually sent to the printer.
+       When <STRONG>mcprint</STRONG> succeeds, it returns the  number  of  characters  actually
+       sent to the printer.
 
 
 </PRE><H2><a name="h2-PORTABILITY">PORTABILITY</a></H2><PRE>
-       The  <STRONG>mcprint</STRONG> call was designed for <STRONG><A HREF="ncurses.3x.html">ncurses(3x)</A></STRONG>, and is not
-       found in SVr4 curses, 4.4BSD curses, or any other previous
-       version of curses.
+       The <STRONG>mcprint</STRONG> call was designed for <STRONG><A HREF="ncurses.3x.html">ncurses(3x)</A></STRONG>, and is not found in SVr4
+       curses, 4.4BSD curses, or any other previous version of curses.
 
 
 </PRE><H2><a name="h2-BUGS">BUGS</a></H2><PRE>
-       Padding  in the <STRONG>mc5p</STRONG>, <STRONG>mc4</STRONG> and <STRONG>mc5</STRONG> capabilities will not be
-       interpreted.
+       Padding in the <STRONG>mc5p</STRONG>, <STRONG>mc4</STRONG> and <STRONG>mc5</STRONG> capabilities will not be interpreted.
 
 
 </PRE><H2><a name="h2-SEE-ALSO">SEE ALSO</a></H2><PRE>
 
 
 
-                                                         <STRONG><A HREF="curs_print.3x.html">curs_print(3x)</A></STRONG>
+                                                                <STRONG><A HREF="curs_print.3x.html">curs_print(3x)</A></STRONG>
 </PRE>
 <div class="nav">
 <ul>
index 7e26b7f724a7ac1fc0cce4c43162e5f797e42deb..f6da12390bbe40d859b77eca07d16ad721136f7e 100644 (file)
 <BODY>
 <H1 class="no-header">curs_printw 3x</H1>
 <PRE>
-<STRONG><A HREF="curs_printw.3x.html">curs_printw(3x)</A></STRONG>                                         <STRONG><A HREF="curs_printw.3x.html">curs_printw(3x)</A></STRONG>
+<STRONG><A HREF="curs_printw.3x.html">curs_printw(3x)</A></STRONG>                                                <STRONG><A HREF="curs_printw.3x.html">curs_printw(3x)</A></STRONG>
 
 
 
 
 </PRE><H2><a name="h2-NAME">NAME</a></H2><PRE>
-       <STRONG>printw</STRONG>, <STRONG>wprintw</STRONG>, <STRONG>mvprintw</STRONG>, <STRONG>mvwprintw</STRONG>, <STRONG>vwprintw</STRONG>, <STRONG>vw_printw</STRONG>
-       - print formatted output in <STRONG>curses</STRONG> windows
+       <STRONG>printw</STRONG>, <STRONG>wprintw</STRONG>, <STRONG>mvprintw</STRONG>, <STRONG>mvwprintw</STRONG>, <STRONG>vwprintw</STRONG>, <STRONG>vw_printw</STRONG> - print
+       formatted output in <STRONG>curses</STRONG> windows
 
 
 </PRE><H2><a name="h2-SYNOPSIS">SYNOPSIS</a></H2><PRE>
        <STRONG>int</STRONG> <STRONG>printw(const</STRONG> <STRONG>char</STRONG> <STRONG>*fmt,</STRONG> <STRONG>...);</STRONG>
        <STRONG>int</STRONG> <STRONG>wprintw(WINDOW</STRONG> <STRONG>*win,</STRONG> <STRONG>const</STRONG> <STRONG>char</STRONG> <STRONG>*fmt,</STRONG> <STRONG>...);</STRONG>
        <STRONG>int</STRONG> <STRONG>mvprintw(int</STRONG> <STRONG>y,</STRONG> <STRONG>int</STRONG> <STRONG>x,</STRONG> <STRONG>const</STRONG> <STRONG>char</STRONG> <STRONG>*fmt,</STRONG> <STRONG>...);</STRONG>
-       <STRONG>int</STRONG> <STRONG>mvwprintw(WINDOW</STRONG> <STRONG>*win,</STRONG> <STRONG>int</STRONG> <STRONG>y,</STRONG> <STRONG>int</STRONG> <STRONG>x,</STRONG> <STRONG>const</STRONG> <STRONG>char</STRONG>  <STRONG>*fmt,</STRONG>
-       <STRONG>...);</STRONG>
-       <STRONG>int</STRONG>  <STRONG>vwprintw(WINDOW</STRONG>  <STRONG>*win,</STRONG>  <STRONG>const</STRONG> <STRONG>char</STRONG> <STRONG>*fmt,</STRONG> <STRONG>va_list</STRONG> <STRONG>var-</STRONG>
-       <STRONG>glist);</STRONG>
-       <STRONG>int</STRONG> <STRONG>vw_printw(WINDOW</STRONG> <STRONG>*win,</STRONG> <STRONG>const</STRONG> <STRONG>char</STRONG> <STRONG>*fmt,</STRONG>  <STRONG>va_list</STRONG>  <STRONG>var-</STRONG>
-       <STRONG>glist);</STRONG>
+       <STRONG>int</STRONG> <STRONG>mvwprintw(WINDOW</STRONG> <STRONG>*win,</STRONG> <STRONG>int</STRONG> <STRONG>y,</STRONG> <STRONG>int</STRONG> <STRONG>x,</STRONG> <STRONG>const</STRONG> <STRONG>char</STRONG> <STRONG>*fmt,</STRONG> <STRONG>...);</STRONG>
+       <STRONG>int</STRONG> <STRONG>vwprintw(WINDOW</STRONG> <STRONG>*win,</STRONG> <STRONG>const</STRONG> <STRONG>char</STRONG> <STRONG>*fmt,</STRONG> <STRONG>va_list</STRONG> <STRONG>varglist);</STRONG>
+       <STRONG>int</STRONG> <STRONG>vw_printw(WINDOW</STRONG> <STRONG>*win,</STRONG> <STRONG>const</STRONG> <STRONG>char</STRONG> <STRONG>*fmt,</STRONG> <STRONG>va_list</STRONG> <STRONG>varglist);</STRONG>
 
 
 </PRE><H2><a name="h2-DESCRIPTION">DESCRIPTION</a></H2><PRE>
-       The  <STRONG>printw</STRONG>,  <STRONG>wprintw</STRONG>, <STRONG>mvprintw</STRONG> and <STRONG>mvwprintw</STRONG> routines are
-       analogous to  <STRONG>printf</STRONG>  [see  <STRONG>printf(3)</STRONG>].   In  effect,  the
-       string that would be output by <STRONG>printf</STRONG> is output instead as
-       though <STRONG>waddstr</STRONG> were used on the given window.
+       The <STRONG>printw</STRONG>, <STRONG>wprintw</STRONG>, <STRONG>mvprintw</STRONG> and <STRONG>mvwprintw</STRONG> routines are  analogous  to
+       <STRONG>printf</STRONG>  [see <STRONG>printf(3)</STRONG>].  In effect, the string that would be output by
+       <STRONG>printf</STRONG> is output instead as though <STRONG>waddstr</STRONG> were used on the given  win-
+       dow.
 
-       The <STRONG>vwprintw</STRONG>  and  <STRONG>wv_printw</STRONG>  routines  are  analogous  to
-       <STRONG>vprintf</STRONG>  [see  <STRONG>printf(3)</STRONG>]  and  perform  a <STRONG>wprintw</STRONG> using a
-       variable argument list.  The third argument is a  <STRONG>va_list</STRONG>,
-       a   pointer   to  a  list  of  arguments,  as  defined  in
-       <STRONG>&lt;stdarg.h&gt;</STRONG>.
+       The  <STRONG>vwprintw</STRONG>  and  <STRONG>wv_printw</STRONG>  routines  are  analogous to <STRONG>vprintf</STRONG> [see
+       <STRONG>printf(3)</STRONG>] and perform a <STRONG>wprintw</STRONG> using a variable argument  list.   The
+       third  argument  is a <STRONG>va_list</STRONG>, a pointer to a list of arguments, as de-
+       fined in <STRONG>&lt;stdarg.h&gt;</STRONG>.
 
 
 </PRE><H2><a name="h2-RETURN-VALUE">RETURN VALUE</a></H2><PRE>
-       Routines that return an integer return  <STRONG>ERR</STRONG>  upon  failure
-       and  <STRONG>OK</STRONG>  (SVr4 only specifies "an integer value other than
-       <STRONG>ERR</STRONG>") upon successful completion.
+       Routines that return an integer return <STRONG>ERR</STRONG> upon failure  and  <STRONG>OK</STRONG>  (SVr4
+       only  specifies "an integer value other than <STRONG>ERR</STRONG>") upon successful com-
+       pletion.
 
-       X/Open defines no error conditions.  In  this  implementa-
-       tion,  an  error  may  be  returned  if it cannot allocate
-       enough memory for the buffer used to format  the  results.
-       It will return an error if the window pointer is null.
+       X/Open defines no error conditions.  In this implementation,  an  error
+       may be returned if it cannot allocate enough memory for the buffer used
+       to format the results.  It will return an error if the  window  pointer
+       is null.
 
-       Functions  with a "mv" prefix first perform a cursor move-
-       ment using <STRONG>wmove</STRONG>, and return an error if the  position  is
-       outside the window, or if the window pointer is null.
+       Functions  with  a  "mv"  prefix  first perform a cursor movement using
+       <STRONG>wmove</STRONG>, and return an error if the position is outside the window, or if
+       the window pointer is null.
 
 
 </PRE><H2><a name="h2-PORTABILITY">PORTABILITY</a></H2><PRE>
-       The  XSI  Curses  standard,  Issue 4 describes these func-
-       tions.  The function <STRONG>vwprintw</STRONG> is marked TO  BE  WITHDRAWN,
-       and  is  to  be replaced by a function <STRONG>vw_printw</STRONG> using the
-       <STRONG>&lt;stdarg.h&gt;</STRONG> interface.  The Single Unix Specification, Ver-
-       sion  2  states  that  <STRONG>vw_printw</STRONG>  is preferred to <STRONG>vwprintw</STRONG>
-       since the latter  requires  including  <STRONG>&lt;varargs.h&gt;</STRONG>,  which
-       cannot  be  used in the same file as <STRONG>&lt;stdarg.h&gt;</STRONG>.  This im-
-       plementation uses <STRONG>&lt;stdarg.h&gt;</STRONG> for both, because that header
-       is included in <STRONG>&lt;curses.h</STRONG>&gt;.
+       The  XSI Curses standard, Issue 4 describes these functions.  The func-
+       tion <STRONG>vwprintw</STRONG> is marked TO BE WITHDRAWN, and is to  be  replaced  by  a
+       function  <STRONG>vw_printw</STRONG>  using  the  <STRONG>&lt;stdarg.h&gt;</STRONG> interface.  The Single Unix
+       Specification, Version 2 states that <STRONG>vw_printw</STRONG>   is  preferred  to  <STRONG>vw-</STRONG>
+       <STRONG>printw</STRONG> since the latter requires including <STRONG>&lt;varargs.h&gt;</STRONG>, which cannot be
+       used  in  the  same  file  as  <STRONG>&lt;stdarg.h&gt;</STRONG>.   This  implementation  uses
+       <STRONG>&lt;stdarg.h&gt;</STRONG> for both, because that header is included in <STRONG>&lt;curses.h</STRONG>&gt;.
 
 
 </PRE><H2><a name="h2-SEE-ALSO">SEE ALSO</a></H2><PRE>
 
 
 
-                                                        <STRONG><A HREF="curs_printw.3x.html">curs_printw(3x)</A></STRONG>
+                                                               <STRONG><A HREF="curs_printw.3x.html">curs_printw(3x)</A></STRONG>
 </PRE>
 <div class="nav">
 <ul>
index 1e3fc963d870b5782f0f7bec019cc42ffd83977f..d175ffc13c573e24df9167450a5f6632a4fcdd9a 100644 (file)
 <BODY>
 <H1 class="no-header">curs_refresh 3x</H1>
 <PRE>
-<STRONG><A HREF="curs_refresh.3x.html">curs_refresh(3x)</A></STRONG>                                       <STRONG><A HREF="curs_refresh.3x.html">curs_refresh(3x)</A></STRONG>
+<STRONG><A HREF="curs_refresh.3x.html">curs_refresh(3x)</A></STRONG>                                              <STRONG><A HREF="curs_refresh.3x.html">curs_refresh(3x)</A></STRONG>
 
 
 
 
 </PRE><H2><a name="h2-NAME">NAME</a></H2><PRE>
-       <STRONG>doupdate</STRONG>, <STRONG>redrawwin</STRONG>, <STRONG>refresh</STRONG>, <STRONG>wnoutrefresh</STRONG>, <STRONG>wredrawln</STRONG>,
-       <STRONG>wrefresh</STRONG> - refresh <STRONG>curses</STRONG> windows and lines
+       <STRONG>doupdate</STRONG>, <STRONG>redrawwin</STRONG>, <STRONG>refresh</STRONG>, <STRONG>wnoutrefresh</STRONG>, <STRONG>wredrawln</STRONG>, <STRONG>wrefresh</STRONG> -
+       refresh <STRONG>curses</STRONG> windows and lines
 
 
 </PRE><H2><a name="h2-SYNOPSIS">SYNOPSIS</a></H2><PRE>
 </PRE><H2><a name="h2-DESCRIPTION">DESCRIPTION</a></H2><PRE>
 
 </PRE><H3><a name="h3-refresh_wrefresh">refresh/wrefresh</a></H3><PRE>
-       The <STRONG>refresh</STRONG> and <STRONG>wrefresh</STRONG>  routines  (or  <STRONG>wnoutrefresh</STRONG>  and
-       <STRONG>doupdate</STRONG>)  must be called to get actual output to the ter-
-       minal, as other routines  merely  manipulate  data  struc-
-       tures.   The  routine  <STRONG>wrefresh</STRONG> copies the named window to
-       the physical terminal screen, taking into account what  is
-       already there to do optimizations.  The <STRONG>refresh</STRONG> routine is
-       the same, using <STRONG>stdscr</STRONG>  as  the  default  window.   Unless
-       <STRONG>leaveok</STRONG>  has been enabled, the physical cursor of the ter-
-       minal is left at the location of the cursor for that  win-
-       dow.
+       The <STRONG>refresh</STRONG> and <STRONG>wrefresh</STRONG> routines (or <STRONG>wnoutrefresh</STRONG> and  <STRONG>doupdate</STRONG>)  must
+       be called to get actual output to the terminal, as other routines mere-
+       ly manipulate data structures.  The routine <STRONG>wrefresh</STRONG> copies  the  named
+       window to the physical terminal screen, taking into account what is al-
+       ready there to do optimizations.  The <STRONG>refresh</STRONG> routine is the same,  us-
+       ing <STRONG>stdscr</STRONG> as the default window.  Unless <STRONG>leaveok</STRONG> has been enabled, the
+       physical cursor of the terminal is left at the location of  the  cursor
+       for that window.
 
 
 </PRE><H3><a name="h3-wnoutrefresh_doupdate">wnoutrefresh/doupdate</a></H3><PRE>
-       The  <STRONG>wnoutrefresh</STRONG> and <STRONG>doupdate</STRONG> routines allow multiple up-
-       dates with more efficiency than <STRONG>wrefresh</STRONG> alone.  In  addi-
-       tion  to  all the window structures, <STRONG>curses</STRONG> keeps two data
-       structures representing the terminal  screen:  a  physical
-       screen,  describing  what is actually on the screen, and a
-       virtual screen, describing what the  programmer  wants  to
-       have on the screen.
-
-       The  routine <STRONG>wrefresh</STRONG> works by first calling <STRONG>wnoutrefresh</STRONG>,
-       which copies the named window to the virtual  screen,  and
-       then  calling  <STRONG>doupdate</STRONG>, which compares the virtual screen
-       to the physical screen and does the actual update.  If the
-       programmer wishes to output several windows at once, a se-
-       ries of calls to <STRONG>wrefresh</STRONG> results in alternating calls  to
-       <STRONG>wnoutrefresh</STRONG>  and <STRONG>doupdate</STRONG>, causing several bursts of out-
-       put to the screen.  By first calling <STRONG>wnoutrefresh</STRONG> for each
-       window, it is then possible to call <STRONG>doupdate</STRONG> once, result-
-       ing in only one burst of output, with fewer total  charac-
-       ters transmitted and less CPU time used.  If the <EM>win</EM> argu-
-       ment to <STRONG>wrefresh</STRONG> is the global variable <STRONG>curscr</STRONG>, the screen
-       is immediately cleared and repainted from scratch.
-
-       The phrase "copies the named window to the virtual screen"
-       above is ambiguous.  What actually  happens  is  that  all
-       <EM>touched</EM>  (changed)  lines  in the window are copied to the
-       virtual screen.  This affects programs that  use  overlap-
-       ping  windows;  it  means that if two windows overlap, you
-       can refresh them in either order and  the  overlap  region
-       will be modified only when it is explicitly changed.  (But
-       see the section on <STRONG>PORTABILITY</STRONG> below for a  warning  about
-       exploiting this behavior.)
+       The <STRONG>wnoutrefresh</STRONG> and <STRONG>doupdate</STRONG> routines allow multiple updates with more
+       efficiency than <STRONG>wrefresh</STRONG> alone.  In addition to all the  window  struc-
+       tures,  <STRONG>curses</STRONG>  keeps  two  data  structures  representing the terminal
+       screen: a physical screen, describing what is actually on  the  screen,
+       and  a  virtual screen, describing what the programmer wants to have on
+       the screen.
+
+       The routine <STRONG>wrefresh</STRONG> works by first calling <STRONG>wnoutrefresh</STRONG>, which  copies
+       the  named  window  to  the  virtual screen, and then calling <STRONG>doupdate</STRONG>,
+       which compares the virtual screen to the physical screen and  does  the
+       actual  update.   If the programmer wishes to output several windows at
+       once, a series of calls to <STRONG>wrefresh</STRONG> results  in  alternating  calls  to
+       <STRONG>wnoutrefresh</STRONG>  and  <STRONG>doupdate</STRONG>,  causing  several  bursts of output to the
+       screen.  By first calling <STRONG>wnoutrefresh</STRONG> for each window, it is then pos-
+       sible  to  call  <STRONG>doupdate</STRONG>  once, resulting in only one burst of output,
+       with fewer total characters transmitted and less CPU time used.  If the
+       <EM>win</EM>  argument  to <STRONG>wrefresh</STRONG> is the global variable <STRONG>curscr</STRONG>, the screen is
+       immediately cleared and repainted from scratch.
+
+       The phrase "copies the named window to the virtual screen" above is am-
+       biguous.   What actually happens is that all <EM>touched</EM> (changed) lines in
+       the window are copied to the virtual  screen.   This  affects  programs
+       that use overlapping windows; it means that if two windows overlap, you
+       can refresh them in either order and the overlap region will  be  modi-
+       fied  only  when  it  is  explicitly  changed.  (But see the section on
+       <STRONG>PORTABILITY</STRONG> below for a warning about exploiting this behavior.)
 
 
 </PRE><H3><a name="h3-wredrawln_redrawwin">wredrawln/redrawwin</a></H3><PRE>
-       The <STRONG>wredrawln</STRONG> routine indicates to <STRONG>curses</STRONG> that some screen
-       lines are corrupted and should be thrown away before  any-
-       thing  is  written  over  them.   It touches the indicated
-       lines  (marking  them  changed).   The  routine  <STRONG>redrawwin</STRONG>
-       touches the entire window.
+       The <STRONG>wredrawln</STRONG> routine indicates to <STRONG>curses</STRONG> that some  screen  lines  are
+       corrupted  and  should  be  thrown away before anything is written over
+       them.  It touches the indicated lines (marking them changed).  The rou-
+       tine <STRONG>redrawwin</STRONG> touches the entire window.
 
 
 </PRE><H2><a name="h2-RETURN-VALUE">RETURN VALUE</a></H2><PRE>
-       Routines  that  return an integer return <STRONG>ERR</STRONG> upon failure,
-       and <STRONG>OK</STRONG> (SVr4 only specifies "an integer value  other  than
-       <STRONG>ERR</STRONG>") upon successful completion.
+       Routines  that  return an integer return <STRONG>ERR</STRONG> upon failure, and <STRONG>OK</STRONG> (SVr4
+       only specifies "an integer value other than <STRONG>ERR</STRONG>") upon successful  com-
+       pletion.
 
-       X/Open  does not define any error conditions.  In this im-
-       plementation
+       X/Open does not define any error conditions.  In this implementation
 
           <STRONG>wnoutrefresh</STRONG>
-               returns an error if the window pointer is null, or
-               if the window is really a pad.
+               returns  an error if the window pointer is null, or if the win-
+               dow is really a pad.
 
           <STRONG>wredrawln</STRONG>
-               returns an error if the associated call to <STRONG>touchln</STRONG>
-               returns an error.
+               returns an error if the associated call to <STRONG>touchln</STRONG>  returns  an
+               error.
 
 
 </PRE><H2><a name="h2-NOTES">NOTES</a></H2><PRE>
 
 
 </PRE><H2><a name="h2-PORTABILITY">PORTABILITY</a></H2><PRE>
-       The XSI Curses standard, Issue  4  describes  these  func-
-       tions.
+       The XSI Curses standard, Issue 4 describes these functions.
 
-       Whether  <STRONG>wnoutrefresh</STRONG> copies to the virtual screen the en-
-       tire contents of a window or just its changed portions has
-       never  been  well-documented  in  historic curses versions
-       (including SVr4).  It might be unwise to  rely  on  either
-       behavior  in  programs  that  might have to be linked with
-       other curses implementations.  Instead, you can do an  ex-
-       plicit  <STRONG>touchwin</STRONG> before the <STRONG>wnoutrefresh</STRONG> call to guarantee
-       an entire-contents copy anywhere.
+       Whether  <STRONG>wnoutrefresh</STRONG>  copies to the virtual screen the entire contents
+       of a window or just its changed portions has never been well-documented
+       in  historic  curses  versions (including SVr4).  It might be unwise to
+       rely on either behavior in programs that might have to be  linked  with
+       other curses implementations.  Instead, you can do an explicit <STRONG>touchwin</STRONG>
+       before the <STRONG>wnoutrefresh</STRONG> call to guarantee an entire-contents copy  any-
+       where.
 
 
 </PRE><H2><a name="h2-SEE-ALSO">SEE ALSO</a></H2><PRE>
 
 
 
-                                                       <STRONG><A HREF="curs_refresh.3x.html">curs_refresh(3x)</A></STRONG>
+                                                              <STRONG><A HREF="curs_refresh.3x.html">curs_refresh(3x)</A></STRONG>
 </PRE>
 <div class="nav">
 <ul>
index 7d81e69e931cf3102bcb18a15b0376efe4df5bdc..b96870cd772d4708ce04a016cefc926104e5be63 100644 (file)
 <BODY>
 <H1 class="no-header">curs_scanw 3x</H1>
 <PRE>
-<STRONG><A HREF="curs_scanw.3x.html">curs_scanw(3x)</A></STRONG>                                           <STRONG><A HREF="curs_scanw.3x.html">curs_scanw(3x)</A></STRONG>
+<STRONG><A HREF="curs_scanw.3x.html">curs_scanw(3x)</A></STRONG>                                                  <STRONG><A HREF="curs_scanw.3x.html">curs_scanw(3x)</A></STRONG>
 
 
 
 
 </PRE><H2><a name="h2-NAME">NAME</a></H2><PRE>
-       <STRONG>scanw</STRONG>, <STRONG>wscanw</STRONG>, <STRONG>mvscanw</STRONG>, <STRONG>mvwscanw</STRONG>, <STRONG>vwscanw</STRONG>, <STRONG>vw_scanw</STRONG> - con-
-       vert formatted input from a <STRONG>curses</STRONG> window
+       <STRONG>scanw</STRONG>, <STRONG>wscanw</STRONG>, <STRONG>mvscanw</STRONG>, <STRONG>mvwscanw</STRONG>, <STRONG>vwscanw</STRONG>, <STRONG>vw_scanw</STRONG> - convert formatted
+       input from a <STRONG>curses</STRONG> window
 
 
 </PRE><H2><a name="h2-SYNOPSIS">SYNOPSIS</a></H2><PRE>
 
 
 </PRE><H2><a name="h2-DESCRIPTION">DESCRIPTION</a></H2><PRE>
-       The <STRONG>scanw</STRONG>, <STRONG>wscanw</STRONG> and <STRONG>mvscanw</STRONG> routines  are  analogous  to
-       <STRONG>scanf</STRONG>  [see <STRONG>scanf(3)</STRONG>].  The effect of these routines is as
-       though <STRONG>wgetstr</STRONG> were called on the window, and the  result-
-       ing line used as input for <STRONG>sscanf(3)</STRONG>.  Fields which do not
-       map to a variable in the <EM>fmt</EM> field are lost.
+       The <STRONG>scanw</STRONG>, <STRONG>wscanw</STRONG> and <STRONG>mvscanw</STRONG> routines  are  analogous  to  <STRONG>scanf</STRONG>  [see
+       <STRONG>scanf(3)</STRONG>].   The  effect  of  these  routines is as though <STRONG>wgetstr</STRONG> were
+       called on the  window,  and  the  resulting  line  used  as  input  for
+       <STRONG>sscanf(3)</STRONG>.   Fields which do not map to a variable in the <EM>fmt</EM> field are
+       lost.
 
-       The  <STRONG>vwscanw</STRONG>  and  <STRONG>vw_scanw</STRONG>  routines  are  analogous   to
-       <STRONG>vscanf(3)</STRONG>.   They  perform a <STRONG>wscanw</STRONG> using a variable argu-
-       ment list.  The third argument is a <EM>va</EM><STRONG>_</STRONG><EM>list</EM>, a pointer  to
-       a list of arguments, as defined in <STRONG>&lt;stdarg.h&gt;</STRONG>.
+       The <STRONG>vwscanw</STRONG> and <STRONG>vw_scanw</STRONG> routines are  analogous  to  <STRONG>vscanf(3)</STRONG>.   They
+       perform a <STRONG>wscanw</STRONG> using a variable argument list.  The third argument is
+       a <EM>va</EM><STRONG>_</STRONG><EM>list</EM>, a pointer to a list of arguments, as defined in <STRONG>&lt;stdarg.h&gt;</STRONG>.
 
 
 </PRE><H2><a name="h2-RETURN-VALUE">RETURN VALUE</a></H2><PRE>
-       <STRONG>vwscanw</STRONG> returns <STRONG>ERR</STRONG> on failure and an integer equal to the
-       number of fields scanned on success.
+       <STRONG>vwscanw</STRONG> returns <STRONG>ERR</STRONG> on failure and an integer equal to  the  number  of
+       fields scanned on success.
 
-       Applications may use the  return  value  from  the  <STRONG>scanw</STRONG>,
-       <STRONG>wscanw</STRONG>,  <STRONG>mvscanw</STRONG>  and  <STRONG>mvwscanw</STRONG>  routines to determine the
-       number of fields which were mapped in the call.
+       Applications  may  use the return value from the <STRONG>scanw</STRONG>, <STRONG>wscanw</STRONG>, <STRONG>mvscanw</STRONG>
+       and <STRONG>mvwscanw</STRONG> routines to determine the  number  of  fields  which  were
+       mapped in the call.
 
-       Functions with a "mv" prefix first perform a cursor  move-
-       ment  using  <STRONG>wmove</STRONG>, and return an error if the position is
-       outside the window, or if the window pointer is null.
+       Functions  with  a  "mv"  prefix  first perform a cursor movement using
+       <STRONG>wmove</STRONG>, and return an error if the position is outside the window, or if
+       the window pointer is null.
 
 
 </PRE><H2><a name="h2-PORTABILITY">PORTABILITY</a></H2><PRE>
-       The XSI Curses standard, Issue  4  describes  these  func-
-       tions.   The  function  <STRONG>vwscanw</STRONG> is marked TO BE WITHDRAWN,
-       and is to be replaced by a  function  <STRONG>vw_scanw</STRONG>  using  the
-       <STRONG>&lt;stdarg.h&gt;</STRONG> interface.  The Single Unix Specification, Ver-
-       sion 2 states that <STRONG>vw_scanw</STRONG>  is preferred to <STRONG>vwscanw</STRONG> since
-       the latter requires including <STRONG>&lt;varargs.h&gt;</STRONG>, which cannot be
-       used in the same file as <STRONG>&lt;stdarg.h&gt;</STRONG>.  This  implementation
-       uses  <STRONG>&lt;stdarg.h&gt;</STRONG> for both, because that header is included
-       in <STRONG>&lt;curses.h</STRONG>&gt;.
-
-       Both XSI and The  Single  Unix  Specification,  Version  2
-       state  that  these  functions return ERR or OK.  Since the
-       underlying  <STRONG>scanf(3)</STRONG>  can  return  the  number  of   items
-       scanned, and the SVr4 code was documented to use this fea-
-       ture, this is probably an editing error which  was  intro-
-       duced  in XSI, rather than being done intentionally.  Por-
-       table applications should only test if the return value is
-       ERR, since the OK value (zero) is likely to be misleading.
-       One possible way to get useful results would be to  use  a
-       "%n"  conversion at the end of the format string to ensure
-       that something was processed.
+       The  XSI Curses standard, Issue 4 describes these functions.  The func-
+       tion <STRONG>vwscanw</STRONG> is marked TO BE WITHDRAWN, and is  to  be  replaced  by  a
+       function  <STRONG>vw_scanw</STRONG>  using  the  <STRONG>&lt;stdarg.h&gt;</STRONG>  interface.  The Single Unix
+       Specification, Version 2 states that <STRONG>vw_scanw</STRONG>  is preferred to  <STRONG>vwscanw</STRONG>
+       since  the  latter requires including <STRONG>&lt;varargs.h&gt;</STRONG>, which cannot be used
+       in the same file as <STRONG>&lt;stdarg.h&gt;</STRONG>.  This  implementation  uses  <STRONG>&lt;stdarg.h&gt;</STRONG>
+       for both, because that header is included in <STRONG>&lt;curses.h</STRONG>&gt;.
+
+       Both  XSI and The Single Unix Specification, Version 2 state that these
+       functions return ERR or OK.  Since the underlying <STRONG>scanf(3)</STRONG>  can  return
+       the  number  of  items scanned, and the SVr4 code was documented to use
+       this feature, this is probably an editing error which was introduced in
+       XSI,  rather  than  being  done  intentionally.   Portable applications
+       should only test if the return value is ERR, since the OK value  (zero)
+       is  likely  to  be  misleading.  One possible way to get useful results
+       would be to use a "%n" conversion at the end of the  format  string  to
+       ensure that something was processed.
 
 
 </PRE><H2><a name="h2-SEE-ALSO">SEE ALSO</a></H2><PRE>
 
 
 
-                                                         <STRONG><A HREF="curs_scanw.3x.html">curs_scanw(3x)</A></STRONG>
+                                                                <STRONG><A HREF="curs_scanw.3x.html">curs_scanw(3x)</A></STRONG>
 </PRE>
 <div class="nav">
 <ul>
index f646bf6c01a278c5f93bd068dd95432ed2c836fb..f13d8090a15b7d95cafd1622368a3be6690911c9 100644 (file)
 <BODY>
 <H1 class="no-header">curs_scr_dump 3x</H1>
 <PRE>
-<STRONG><A HREF="curs_scr_dump.3x.html">curs_scr_dump(3x)</A></STRONG>                                     <STRONG><A HREF="curs_scr_dump.3x.html">curs_scr_dump(3x)</A></STRONG>
+<STRONG><A HREF="curs_scr_dump.3x.html">curs_scr_dump(3x)</A></STRONG>                                            <STRONG><A HREF="curs_scr_dump.3x.html">curs_scr_dump(3x)</A></STRONG>
 
 
 
 
 </PRE><H2><a name="h2-NAME">NAME</a></H2><PRE>
-       <STRONG>scr_dump</STRONG>, <STRONG>scr_restore</STRONG>, <STRONG>scr_init</STRONG>, <STRONG>scr_set</STRONG> - read (write) a
-       <STRONG>curses</STRONG> screen from (to) a file
+       <STRONG>scr_dump</STRONG>, <STRONG>scr_restore</STRONG>, <STRONG>scr_init</STRONG>, <STRONG>scr_set</STRONG> - read (write) a <STRONG>curses</STRONG> screen
+       from (to) a file
 
 
 </PRE><H2><a name="h2-SYNOPSIS">SYNOPSIS</a></H2><PRE>
 
 
 </PRE><H2><a name="h2-DESCRIPTION">DESCRIPTION</a></H2><PRE>
-       The <STRONG>scr_dump</STRONG> routine dumps the  current  contents  of  the
-       virtual screen to the file <EM>filename</EM>.
-
-       The  <STRONG>scr_restore</STRONG>  routine  sets  the virtual screen to the
-       contents of <EM>filename</EM>, which must have been  written  using
-       <STRONG>scr_dump</STRONG>.   The  next call to <STRONG>doupdate</STRONG> restores the screen
-       to the way it looked in the dump file.
-
-       The <STRONG>scr_init</STRONG> routine reads in the contents of <EM>filename</EM> and
-       uses  them  to initialize the <STRONG>curses</STRONG> data structures about
-       what the terminal currently has on its screen.  If the da-
-       ta is determined to be valid, <STRONG>curses</STRONG> bases its next update
-       of the screen on this information rather than clearing the
-       screen  and starting from scratch.  <STRONG>scr_init</STRONG> is used after
-       <STRONG>initscr</STRONG> or a <STRONG>system</STRONG> call to share the screen with  another
-       process  which  has  done  a <STRONG>scr_dump</STRONG> after its <STRONG><A HREF="curs_initscr.3x.html">endwin(3x)</A></STRONG>
-       call.  The data is declared invalid if the terminfo  capa-
-       bilities  <STRONG>rmcup</STRONG>  and <STRONG>nrrmc</STRONG> exist; also if the terminal has
-       been written to since the preceding <STRONG>scr_dump</STRONG> call.
-
-       The <STRONG>scr_set</STRONG> routine is a combination  of  <STRONG>scr_restore</STRONG>  and
-       <STRONG>scr_init</STRONG>.   It  tells  the program that the information in
-       <EM>filename</EM> is what is currently on the screen, and also what
-       the  program  wants on the screen.  This can be thought of
-       as a screen inheritance function.
-
-       To read (write) a window from (to) a file, use the  <STRONG>getwin</STRONG>
-       and <STRONG>putwin</STRONG> routines [see <STRONG><A HREF="curs_util.3x.html">curs_util(3x)</A></STRONG>].
+       The <STRONG>scr_dump</STRONG> routine dumps the current contents of the  virtual  screen
+       to the file <EM>filename</EM>.
+
+       The  <STRONG>scr_restore</STRONG>  routine  sets  the  virtual screen to the contents of
+       <EM>filename</EM>, which must have been written using <STRONG>scr_dump</STRONG>.  The  next  call
+       to <STRONG>doupdate</STRONG> restores the screen to the way it looked in the dump file.
+
+       The <STRONG>scr_init</STRONG> routine reads in the contents of <EM>filename</EM> and uses them to
+       initialize the <STRONG>curses</STRONG> data structures about what the terminal currently
+       has on its screen.  If the data is determined to be valid, <STRONG>curses</STRONG> bases
+       its next update of the screen on this information rather than  clearing
+       the  screen  and starting from scratch.  <STRONG>scr_init</STRONG> is used after <STRONG>initscr</STRONG>
+       or a <STRONG>system</STRONG> call to share the screen with  another  process  which  has
+       done  a  <STRONG>scr_dump</STRONG>  after its <STRONG><A HREF="curs_initscr.3x.html">endwin(3x)</A></STRONG> call.  The data is declared in-
+       valid if the terminfo capabilities <STRONG>rmcup</STRONG> and <STRONG>nrrmc</STRONG> exist; also  if  the
+       terminal has been written to since the preceding <STRONG>scr_dump</STRONG> call.
+
+       The  <STRONG>scr_set</STRONG>  routine is a combination of <STRONG>scr_restore</STRONG> and <STRONG>scr_init</STRONG>.  It
+       tells the program that the information in <EM>filename</EM> is what is currently
+       on the screen, and also what the program wants on the screen.  This can
+       be thought of as a screen inheritance function.
+
+       To read (write) a window from (to) a file, use the  <STRONG>getwin</STRONG>  and  <STRONG>putwin</STRONG>
+       routines [see <STRONG><A HREF="curs_util.3x.html">curs_util(3x)</A></STRONG>].
 
 
 </PRE><H2><a name="h2-RETURN-VALUE">RETURN VALUE</a></H2><PRE>
-       All  routines  return  the integer <STRONG>ERR</STRONG> upon failure and <STRONG>OK</STRONG>
-       upon success.
+       All routines return the integer <STRONG>ERR</STRONG> upon failure and <STRONG>OK</STRONG> upon success.
 
-       X/Open defines no error conditions.  In  this  implementa-
-       tion,  each  will  return  an  error if the file cannot be
-       opened.
+       X/Open  defines no error conditions.  In this implementation, each will
+       return an error if the file cannot be opened.
 
 
 </PRE><H2><a name="h2-NOTES">NOTES</a></H2><PRE>
-       Note  that  <STRONG>scr_init</STRONG>,  <STRONG>scr_set</STRONG>,  and  <STRONG>scr_restore</STRONG>  may  be
-       macros.
+       Note that <STRONG>scr_init</STRONG>, <STRONG>scr_set</STRONG>, and <STRONG>scr_restore</STRONG> may be macros.
 
 
 </PRE><H2><a name="h2-PORTABILITY">PORTABILITY</a></H2><PRE>
-       The  XSI  Curses  standard, Issue 4, describes these func-
-       tions (adding the const qualifiers).
+       The XSI Curses standard, Issue 4, describes these functions (adding the
+       const qualifiers).
 
-       The SVr4 docs merely say under <STRONG>scr_init</STRONG> that the dump data
-       is  also  considered invalid "if the time-stamp of the tty
-       is old" but do not define "old".
+       The SVr4 docs merely say under <STRONG>scr_init</STRONG> that the dump data is also con-
+       sidered invalid "if the time-stamp of the tty is old" but do not define
+       "old".
 
 
 </PRE><H2><a name="h2-SEE-ALSO">SEE ALSO</a></H2><PRE>
-       <STRONG><A HREF="ncurses.3x.html">curses(3x)</A></STRONG>,      <STRONG><A HREF="curs_initscr.3x.html">curs_initscr(3x)</A></STRONG>,       <STRONG><A HREF="curs_refresh.3x.html">curs_refresh(3x)</A></STRONG>,
-       <STRONG><A HREF="curs_util.3x.html">curs_util(3x)</A></STRONG>, <STRONG><A HREF="scr_dump.5.html">scr_dump(5)</A></STRONG>, <STRONG>system(3)</STRONG>
+       <STRONG><A HREF="ncurses.3x.html">curses(3x)</A></STRONG>,    <STRONG><A HREF="curs_initscr.3x.html">curs_initscr(3x)</A></STRONG>,    <STRONG><A HREF="curs_refresh.3x.html">curs_refresh(3x)</A></STRONG>,    <STRONG><A HREF="curs_util.3x.html">curs_util(3x)</A></STRONG>,
+       <STRONG><A HREF="scr_dump.5.html">scr_dump(5)</A></STRONG>, <STRONG>system(3)</STRONG>
 
 
 
-                                                      <STRONG><A HREF="curs_scr_dump.3x.html">curs_scr_dump(3x)</A></STRONG>
+                                                             <STRONG><A HREF="curs_scr_dump.3x.html">curs_scr_dump(3x)</A></STRONG>
 </PRE>
 <div class="nav">
 <ul>
index 1d5c8e9d76c7b73a5dca90e8fa46b033d6c690bb..a3361cdea0466d9c62da92cfdf8e2270c1729e9b 100644 (file)
@@ -40,7 +40,7 @@
 <BODY>
 <H1 class="no-header">curs_scroll 3x</H1>
 <PRE>
-<STRONG><A HREF="curs_scroll.3x.html">curs_scroll(3x)</A></STRONG>                                         <STRONG><A HREF="curs_scroll.3x.html">curs_scroll(3x)</A></STRONG>
+<STRONG><A HREF="curs_scroll.3x.html">curs_scroll(3x)</A></STRONG>                                                <STRONG><A HREF="curs_scroll.3x.html">curs_scroll(3x)</A></STRONG>
 
 
 
 
 
 </PRE><H2><a name="h2-DESCRIPTION">DESCRIPTION</a></H2><PRE>
-       The  <STRONG>scroll</STRONG>  routine scrolls the window up one line.  This
-       involves moving the lines in the  window  data  structure.
-       As  an optimization, if the scrolling region of the window
-       is the entire screen, the physical screen may be  scrolled
-       at the same time.
+       The  <STRONG>scroll</STRONG> routine scrolls the window up one line.  This involves mov-
+       ing the lines in the window data structure.  As an optimization, if the
+       scrolling  region  of  the  window  is  the entire screen, the physical
+       screen may be scrolled at the same time.
 
-       For  positive  <EM>n</EM>,  the  <STRONG>scrl</STRONG> and <STRONG>wscrl</STRONG> routines scroll the
-       window up <EM>n</EM> lines (line <EM>i</EM>+<EM>n</EM> becomes <EM>i</EM>);  otherwise  scroll
-       the  window  down <EM>n</EM> lines.  This involves moving the lines
-       in the window character image structure.  The current cur-
-       sor position is not changed.
+       For positive <EM>n</EM>, the <STRONG>scrl</STRONG> and <STRONG>wscrl</STRONG> routines  scroll  the  window  up  <EM>n</EM>
+       lines  (line  <EM>i</EM>+<EM>n</EM> becomes <EM>i</EM>); otherwise scroll the window down <EM>n</EM> lines.
+       This involves moving the lines in the window character image structure.
+       The current cursor position is not changed.
 
-       For these functions to work, scrolling must be enabled via
-       <STRONG>scrollok</STRONG>.
+       For these functions to work, scrolling must be enabled via <STRONG>scrollok</STRONG>.
 
 
 </PRE><H2><a name="h2-RETURN-VALUE">RETURN VALUE</a></H2><PRE>
-       These routines return <STRONG>ERR</STRONG> upon failure, and <STRONG>OK</STRONG> (SVr4  only
-       specifies "an integer value other than <STRONG>ERR</STRONG>") upon success-
-       ful completion.
+       These routines return <STRONG>ERR</STRONG> upon failure, and <STRONG>OK</STRONG> (SVr4 only specifies "an
+       integer value other than <STRONG>ERR</STRONG>") upon successful completion.
 
        X/Open defines no error conditions.
 
-       This implementation returns an error if the window pointer
-       is  null,  or  if  scrolling is not enabled in the window,
-       e.g., with <STRONG>scrollok</STRONG>.
+       This implementation returns an error if the window pointer is null,  or
+       if scrolling is not enabled in the window, e.g., with <STRONG>scrollok</STRONG>.
 
 
 </PRE><H2><a name="h2-NOTES">NOTES</a></H2><PRE>
        Note that <STRONG>scrl</STRONG> and <STRONG>scroll</STRONG> may be macros.
 
-       The SVr4 documentation says that the optimization of phys-
-       ically  scrolling  immediately if the scroll region is the
-       entire screen "is"  performed,  not  "may  be"  performed.
-       This  implementation  deliberately does not guarantee that
-       this will occur, to leave open the possibility of  smarter
-       optimization  of  multiple  scroll actions on the next up-
-       date.
+       The  SVr4  documentation  says  that  the  optimization  of  physically
+       scrolling immediately if the scroll region is the  entire  screen  "is"
+       performed,  not  "may  be" performed.  This implementation deliberately
+       does not guarantee that this will occur, to leave open the  possibility
+       of smarter optimization of multiple scroll actions on the next update.
 
-       Neither the SVr4 nor the XSI documentation specify whether
-       the current attribute or current color-pair of blanks gen-
-       erated by the scroll function is zeroed.  Under  this  im-
-       plementation it is.
+       Neither  the SVr4 nor the XSI documentation specify whether the current
+       attribute or current color-pair of blanks generated by the scroll func-
+       tion is zeroed.  Under this implementation it is.
 
 
 </PRE><H2><a name="h2-PORTABILITY">PORTABILITY</a></H2><PRE>
-       The  XSI  Curses  standard,  Issue 4 describes these func-
-       tions.
+       The XSI Curses standard, Issue 4 describes these functions.
 
 
 </PRE><H2><a name="h2-SEE-ALSO">SEE ALSO</a></H2><PRE>
 
 
 
-                                                        <STRONG><A HREF="curs_scroll.3x.html">curs_scroll(3x)</A></STRONG>
+                                                               <STRONG><A HREF="curs_scroll.3x.html">curs_scroll(3x)</A></STRONG>
 </PRE>
 <div class="nav">
 <ul>
index 2a823bdef65bc71e755fad8dae69282c8f4f9de7..4b617ab4e2201c0feb75e05516a12f01291cd2af 100644 (file)
 <BODY>
 <H1 class="no-header">curs_slk 3x</H1>
 <PRE>
-<STRONG><A HREF="curs_slk.3x.html">curs_slk(3x)</A></STRONG>                                               <STRONG><A HREF="curs_slk.3x.html">curs_slk(3x)</A></STRONG>
+<STRONG><A HREF="curs_slk.3x.html">curs_slk(3x)</A></STRONG>                                                      <STRONG><A HREF="curs_slk.3x.html">curs_slk(3x)</A></STRONG>
 
 
 
 
 </PRE><H2><a name="h2-NAME">NAME</a></H2><PRE>
-       <STRONG>slk_init</STRONG>, <STRONG>slk_set</STRONG>, <STRONG>slk_wset</STRONG>, <STRONG>slk_refresh</STRONG>, <STRONG>slk_noutrefresh</STRONG>,
-       <STRONG>slk_label</STRONG>, <STRONG>slk_clear</STRONG>, <STRONG>slk_restore</STRONG>, <STRONG>slk_touch</STRONG>, <STRONG>slk_attron</STRONG>,
-       <STRONG>slk_attrset</STRONG>, <STRONG>slk_attroff</STRONG>, <STRONG>slk_attr_on</STRONG>, <STRONG>slk_attr_set</STRONG>,
-       <STRONG>slk_attr_off</STRONG>, <STRONG>slk_attr</STRONG>, <STRONG>slk_color</STRONG>, <STRONG>extended_slk_color</STRONG> -
-       <STRONG>curses</STRONG> soft label routines
+       <STRONG>slk_init</STRONG>, <STRONG>slk_set</STRONG>, <STRONG>slk_wset</STRONG>, <STRONG>slk_refresh</STRONG>, <STRONG>slk_noutrefresh</STRONG>, <STRONG>slk_label</STRONG>,
+       <STRONG>slk_clear</STRONG>, <STRONG>slk_restore</STRONG>, <STRONG>slk_touch</STRONG>, <STRONG>slk_attron</STRONG>, <STRONG>slk_attrset</STRONG>,
+       <STRONG>slk_attroff</STRONG>, <STRONG>slk_attr_on</STRONG>, <STRONG>slk_attr_set</STRONG>, <STRONG>slk_attr_off</STRONG>, <STRONG>slk_attr</STRONG>,
+       <STRONG>slk_color</STRONG>, <STRONG>extended_slk_color</STRONG> - <STRONG>curses</STRONG> soft label routines
 
 
 </PRE><H2><a name="h2-SYNOPSIS">SYNOPSIS</a></H2><PRE>
@@ -74,8 +73,7 @@
        <STRONG>int</STRONG> <STRONG>slk_attrset(const</STRONG> <STRONG>chtype</STRONG> <EM>attrs</EM><STRONG>);</STRONG>
        <STRONG>int</STRONG> <STRONG>slk_attr_on(attr_t</STRONG> <EM>attrs</EM><STRONG>,</STRONG> <STRONG>void*</STRONG> <EM>opts</EM><STRONG>);</STRONG>
        <STRONG>int</STRONG> <STRONG>slk_attr_off(const</STRONG> <STRONG>attr_t</STRONG> <EM>attrs</EM><STRONG>,</STRONG> <STRONG>void</STRONG> <STRONG>*</STRONG> <EM>opts</EM><STRONG>);</STRONG>
-       <STRONG>int</STRONG>  <STRONG>slk_attr_set(const</STRONG>  <STRONG>attr_t</STRONG>  <EM>attrs</EM><STRONG>,</STRONG>  <STRONG>short</STRONG> <EM>pair</EM><STRONG>,</STRONG> <STRONG>void*</STRONG>
-       <EM>opts</EM><STRONG>);</STRONG>
+       <STRONG>int</STRONG> <STRONG>slk_attr_set(const</STRONG> <STRONG>attr_t</STRONG> <EM>attrs</EM><STRONG>,</STRONG> <STRONG>short</STRONG> <EM>pair</EM><STRONG>,</STRONG> <STRONG>void*</STRONG> <EM>opts</EM><STRONG>);</STRONG>
 
        <STRONG>attr_t</STRONG> <STRONG>slk_attr(void);</STRONG>
 
 
 
 </PRE><H2><a name="h2-DESCRIPTION">DESCRIPTION</a></H2><PRE>
-       The slk* functions manipulate the set of soft function-key
-       labels  that exist on many terminals.  For those terminals
-       that do not have soft labels, <STRONG>curses</STRONG> takes over the bottom
-       line  of <STRONG>stdscr</STRONG>, reducing the size of <STRONG>stdscr</STRONG> and the vari-
-       able <STRONG>LINES</STRONG>.  <STRONG>curses</STRONG> standardizes on eight labels of up  to
-       eight  characters  each.  In addition to this, the ncurses
-       implementation supports a mode where it simulates  12  la-
-       bels  of  up  to five characters each.  This is useful for
-       PC-like enduser devices.  ncurses simulates this  mode  by
-       taking  over  up to two lines at the bottom of the screen;
-       it does not try to use any hardware support for this mode.
+       The slk* functions manipulate the set of soft function-key labels  that
+       exist on many terminals.  For those terminals that do not have soft la-
+       bels, <STRONG>curses</STRONG> takes over the bottom line of <STRONG>stdscr</STRONG>, reducing the size of
+       <STRONG>stdscr</STRONG>  and the variable <STRONG>LINES</STRONG>.  <STRONG>curses</STRONG> standardizes on eight labels of
+       up to eight characters each.  In addition to this, the  ncurses  imple-
+       mentation  supports  a  mode where it simulates 12 labels of up to five
+       characters each.  This is useful for PC-like enduser devices.   ncurses
+       simulates this mode by taking over up to two lines at the bottom of the
+       screen; it does not try to use any hardware support for this mode.
 
 
 </PRE><H3><a name="h3-Initialization">Initialization</a></H3><PRE>
-       The <STRONG>slk_init</STRONG> routine must  be  called  before  <STRONG>initscr</STRONG>  or
-       <STRONG>newterm</STRONG> is called.  If <STRONG>initscr</STRONG> eventually uses a line from
-       <STRONG>stdscr</STRONG> to emulate the soft labels, then <EM>fmt</EM> determines how
-       the labels are arranged on the screen:
+       The <STRONG>slk_init</STRONG> routine must  be  called  before  <STRONG>initscr</STRONG>  or  <STRONG>newterm</STRONG>  is
+       called.   If  <STRONG>initscr</STRONG> eventually uses a line from <STRONG>stdscr</STRONG> to emulate the
+       soft labels, then <EM>fmt</EM> determines how the labels  are  arranged  on  the
+       screen:
 
           <STRONG>0</STRONG>  indicates a 3-2-3 arrangement of the labels.
 
 
           <STRONG>2</STRONG>  indicates the PC-like 4-4-4 mode.
 
-          <STRONG>3</STRONG>  is  again the PC-like 4-4-4 mode, but in addition an
-             index line is generated, helping the user to identi-
-             fy the key numbers easily.
+          <STRONG>3</STRONG>  is again the PC-like 4-4-4 mode, but in addition an index line is
+             generated, helping the user to identify the key numbers easily.
 
 
 </PRE><H3><a name="h3-Labels">Labels</a></H3><PRE>
-       The  <STRONG>slk_set</STRONG>  routine  (and  the  <STRONG>slk_wset</STRONG> routine for the
-       wide-character library) has three parameters:
+       The <STRONG>slk_set</STRONG> routine (and the <STRONG>slk_wset</STRONG> routine  for  the  wide-character
+       library) has three parameters:
 
           <EM>labnum</EM>
-               is the label number, from <STRONG>1</STRONG> to <STRONG>8</STRONG> (12  for  <EM>fmt</EM>  in
-               <STRONG>slk_init</STRONG> is <STRONG>2</STRONG> or <STRONG>3</STRONG>);
+               is  the  label number, from <STRONG>1</STRONG> to <STRONG>8</STRONG> (12 for <EM>fmt</EM> in <STRONG>slk_init</STRONG> is <STRONG>2</STRONG>
+               or <STRONG>3</STRONG>);
 
           <EM>label</EM>
-               is  be the string to put on the label, up to eight
-               (five for <EM>fmt</EM> in <STRONG>slk_init</STRONG> is <STRONG>2</STRONG> or <STRONG>3</STRONG>) characters in
-               length.  A null string or a null pointer sets up a
-               blank label.
+               is be the string to put on the label, up to eight (five for <EM>fmt</EM>
+               in  <STRONG>slk_init</STRONG> is <STRONG>2</STRONG> or <STRONG>3</STRONG>) characters in length.  A null string or
+               a null pointer sets up a blank label.
 
-          <EM>fmt</EM>  is either <STRONG>0</STRONG>, <STRONG>1</STRONG>, or <STRONG>2</STRONG>, indicating whether the label
-               is to be left-justified, centered, or right-justi-
-               fied, respectively, within the label.
+          <EM>fmt</EM>  is either <STRONG>0</STRONG>, <STRONG>1</STRONG>, or <STRONG>2</STRONG>, indicating whether the  label  is  to  be
+               left-justified,  centered,  or  right-justified,  respectively,
+               within the label.
 
-       The <STRONG>slk_label</STRONG> routine returns the current label for  label
-       number <EM>labnum</EM>, with leading and trailing blanks stripped.
+       The <STRONG>slk_label</STRONG> routine returns the current label for label  number  <EM>lab-</EM>
+       <EM>num</EM>, with leading and trailing blanks stripped.
 
 
 </PRE><H3><a name="h3-Screen-updates">Screen updates</a></H3><PRE>
-       The <STRONG>slk_refresh</STRONG> and <STRONG>slk_noutrefresh</STRONG> routines correspond to
-       the <STRONG>wrefresh</STRONG> and <STRONG>wnoutrefresh</STRONG> routines.
+       The <STRONG>slk_refresh</STRONG> and <STRONG>slk_noutrefresh</STRONG> routines correspond to the <STRONG>wrefresh</STRONG>
+       and <STRONG>wnoutrefresh</STRONG> routines.
 
-       The <STRONG>slk_clear</STRONG> routine clears  the  soft  labels  from  the
-       screen.
+       The <STRONG>slk_clear</STRONG> routine clears the soft labels from the screen.
 
-       The  <STRONG>slk_restore</STRONG>  routine  restores the soft labels to the
-       screen after a <STRONG>slk_clear</STRONG> has been performed.
+       The <STRONG>slk_restore</STRONG> routine restores the soft labels to the screen after  a
+       <STRONG>slk_clear</STRONG> has been performed.
 
-       The <STRONG>slk_touch</STRONG> routine forces all the  soft  labels  to  be
-       output the next time a <STRONG>slk_noutrefresh</STRONG> is performed.
+       The  <STRONG>slk_touch</STRONG> routine forces all the soft labels to be output the next
+       time a <STRONG>slk_noutrefresh</STRONG> is performed.
 
 
 </PRE><H3><a name="h3-Video-attributes">Video attributes</a></H3><PRE>
-       The <STRONG>slk_attron</STRONG>, <STRONG>slk_attrset</STRONG>, <STRONG>slk_attroff</STRONG> and <STRONG>slk_attr</STRONG> rou-
-       tines correspond to <STRONG>attron</STRONG>, <STRONG>attrset</STRONG>, <STRONG>attroff</STRONG> and <STRONG>attr_get</STRONG>.
-       They  have  an effect only if soft labels are simulated on
-       the bottom line of the screen.  The default highlight  for
-       soft keys is A_STANDOUT (as in System V curses, which does
-       not document this fact).
+       The <STRONG>slk_attron</STRONG>, <STRONG>slk_attrset</STRONG>, <STRONG>slk_attroff</STRONG> and <STRONG>slk_attr</STRONG>  routines  corre-
+       spond  to  <STRONG>attron</STRONG>,  <STRONG>attrset</STRONG>, <STRONG>attroff</STRONG> and <STRONG>attr_get</STRONG>.  They have an effect
+       only if soft labels are simulated on the bottom  line  of  the  screen.
+       The default highlight for soft keys is A_STANDOUT (as in System V curs-
+       es, which does not document this fact).
 
 
 </PRE><H3><a name="h3-Colors">Colors</a></H3><PRE>
-       The <STRONG>slk_color</STRONG> routine corresponds to <STRONG>color_set</STRONG>.  It has an
-       effect  only  if  soft  labels are simulated on the bottom
-       line of the screen.
+       The <STRONG>slk_color</STRONG> routine corresponds to <STRONG>color_set</STRONG>.  It has an effect  only
+       if soft labels are simulated on the bottom line of the screen.
 
-       Because <STRONG>slk_color</STRONG> accepts only <STRONG>short</STRONG> (signed 16-bit  inte-
-       ger)   values,   this   implementation   provides  <STRONG>extend-</STRONG>
-       <STRONG>ed_slk_color</STRONG>  which  accepts  an  integer   value,   e.g.,
-       32-bits.
+       Because  <STRONG>slk_color</STRONG>  accepts  only <STRONG>short</STRONG> (signed 16-bit integer) values,
+       this implementation provides <STRONG>extended_slk_color</STRONG> which accepts an  inte-
+       ger value, e.g., 32-bits.
 
 
 </PRE><H2><a name="h2-RETURN-VALUE">RETURN VALUE</a></H2><PRE>
-       These routines return <STRONG>ERR</STRONG> upon failure and OK (SVr4 speci-
-       fies only "an integer value other than <STRONG>ERR</STRONG>") upon success-
-       ful completion.
+       These  routines return <STRONG>ERR</STRONG> upon failure and OK (SVr4 specifies only "an
+       integer value other than <STRONG>ERR</STRONG>") upon successful completion.
 
-       X/Open  defines  no error conditions.  In this implementa-
-       tion
+       X/Open defines no error conditions.  In this implementation
 
           <STRONG>slk_attr</STRONG>
                returns the attribute used for the soft keys.
 
-          <STRONG>slk_attroff</STRONG>, <STRONG>slk_attron</STRONG>, <STRONG>slk_clear</STRONG>, <STRONG>slk_noutrefresh</STRONG>,
-          <STRONG>slk_refresh</STRONG>, <STRONG>slk_touch</STRONG>
-               return  an  error  if the terminal or the softkeys
-               were not initialized.
+          <STRONG>slk_attroff</STRONG>, <STRONG>slk_attron</STRONG>, <STRONG>slk_clear</STRONG>, <STRONG>slk_noutrefresh</STRONG>, <STRONG>slk_refresh</STRONG>,
+          <STRONG>slk_touch</STRONG>
+               return  an  error if the terminal or the softkeys were not ini-
+               tialized.
 
           <STRONG>slk_attrset</STRONG>
-               returns an error if the terminal or  the  softkeys
-               were not initialized.
+               returns an error if the terminal or the softkeys were not  ini-
+               tialized.
 
           <STRONG>slk_attr_set</STRONG>
-               returns  an  error if the terminal or the softkeys
-               were not initialized, or the color pair is outside
-               the range 0..COLOR_PAIRS-1.
+               returns  an error if the terminal or the softkeys were not ini-
+               tialized, or the  color  pair  is  outside  the  range  0..COL-
+               OR_PAIRS-1.
 
           <STRONG>slk_color</STRONG>
-               returns  an  error if the terminal or the softkeys
-               were not initialized, or the color pair is outside
-               the range 0..COLOR_PAIRS-1.
+               returns  an error if the terminal or the softkeys were not ini-
+               tialized, or the  color  pair  is  outside  the  range  0..COL-
+               OR_PAIRS-1.
 
           <STRONG>slk_init</STRONG>
-               returns  an  error if the format parameter is out-
-               side the range 0..3.
+               returns  an  error if the format parameter is outside the range
+               0..3.
 
           <STRONG>slk_label</STRONG>
                returns <STRONG>NULL</STRONG> on error.
 
           <STRONG>slk_set</STRONG>
-               returns an error if the terminal or  the  softkeys
-               were  not  initialized, or the <EM>labnum</EM> parameter is
-               outside the range of label counts, or if the  for-
-               mat  parameter  is  outside  the range 0..2, or if
-               memory for the labels cannot be allocated.
+               returns an error if the terminal or the softkeys were not  ini-
+               tialized, or the <EM>labnum</EM> parameter is outside the range of label
+               counts, or if the format parameter is outside the  range  0..2,
+               or if memory for the labels cannot be allocated.
 
 
 </PRE><H2><a name="h2-EXTENSIONS">EXTENSIONS</a></H2><PRE>
-       X/Open Curses documents the <EM>opts</EM> argument as reserved  for
-       future use, saying that it must be null.  This implementa-
-       tion uses that parameter in ABI 6 for the functions  which
-       have  a  color-pair  parameter  to  support extended color
-       pairs.
+       X/Open  Curses  documents the <EM>opts</EM> argument as reserved for future use,
+       saying that it must be null.  This implementation uses  that  parameter
+       in ABI 6 for the functions which have a color-pair parameter to support
+       extended color pairs.
 
-       For  functions  which  modify  the  color,  e.g.,  <STRONG>slk_at-</STRONG>
-       <STRONG>tr_set</STRONG>,  if <EM>opts</EM> is set it is treated as a pointer to <STRONG>int</STRONG>,
-       and used to  set  the  color pair  instead  of  the  <STRONG>short</STRONG>
-       pair parameter.
+       For  functions  which modify the color, e.g., <STRONG>slk_attr_set</STRONG>, if <EM>opts</EM>  is
+       set  it  is  treated  as a pointer to <STRONG>int</STRONG>, and used to  set  the  color
+       pair instead of the <STRONG>short</STRONG> pair parameter.
 
 
 </PRE><H2><a name="h2-NOTES">NOTES</a></H2><PRE>
-       Most applications would use <STRONG>slk_noutrefresh</STRONG> because a <STRONG>wre-</STRONG>
-       <STRONG>fresh</STRONG> is likely to follow soon.
+       Most applications would use <STRONG>slk_noutrefresh</STRONG> because a <STRONG>wrefresh</STRONG> is like-
+       ly to follow soon.
 
 
 </PRE><H2><a name="h2-PORTABILITY">PORTABILITY</a></H2><PRE>
-       The XSI Curses standard, Issue 4, described  the  soft-key
-       functions, with some differences from SVr4 curses:
+       The  XSI  Curses  standard,  Issue 4, described the soft-key functions,
+       with some differences from SVr4 curses:
 
-       <STRONG>o</STRONG>   It  added  functions like the SVr4 attribute-manipula-
-           tion functions <STRONG>slk_attron</STRONG>,  <STRONG>slk_attroff</STRONG>,  <STRONG>slk_attrset</STRONG>,
-           but  which use <STRONG>attr_t</STRONG> parameters (rather than <STRONG>chtype</STRONG>),
-           along with a reserved <EM>opts</EM> parameter.
+       <STRONG>o</STRONG>   It added functions like the SVr4  attribute-manipulation  functions
+           <STRONG>slk_attron</STRONG>,  <STRONG>slk_attroff</STRONG>, <STRONG>slk_attrset</STRONG>, but which use <STRONG>attr_t</STRONG> parame-
+           ters (rather than <STRONG>chtype</STRONG>), along with a reserved <EM>opts</EM> parameter.
 
-           Two of these new functions (unlike the SVr4 functions)
-           have  no  provision for color: <STRONG>slk_attr_on</STRONG> and <STRONG>slk_at-</STRONG>
-           <STRONG>tr_off</STRONG>.
+           Two of these new functions (unlike the SVr4 functions) have no pro-
+           vision for color: <STRONG>slk_attr_on</STRONG> and <STRONG>slk_attr_off</STRONG>.
 
-           The third function (<STRONG>slk_attr_set</STRONG>) has a color-pair pa-
-           rameter.
+           The third function (<STRONG>slk_attr_set</STRONG>) has a color-pair parameter.
 
-       <STRONG>o</STRONG>   It  added <STRONG>const</STRONG> qualifiers to parameters (unnecessari-
-           ly), and
+       <STRONG>o</STRONG>   It added <STRONG>const</STRONG> qualifiers to parameters (unnecessarily), and
 
        <STRONG>o</STRONG>   It added <STRONG>slk_color</STRONG>.
 
-       The format codes <STRONG>2</STRONG> and <STRONG>3</STRONG> for  <STRONG>slk_init</STRONG>  and  the  function
-       <STRONG>slk_attr</STRONG> are specific to ncurses.
+       The  format  codes  <STRONG>2</STRONG>  and <STRONG>3</STRONG> for <STRONG>slk_init</STRONG> and the function <STRONG>slk_attr</STRONG> are
+       specific to ncurses.
 
-       X/Open  Curses  does not specify a limit for the number of
-       colors and color pairs which a terminal can support.  How-
-       ever,  in  its use of <STRONG>short</STRONG> for the parameters, it carries
-       over SVr4's implementation detail for the compiled termin-
-       fo  database,  which uses signed 16-bit numbers.  This im-
-       plementation provides extended versions of those functions
-       which  use  <STRONG>short</STRONG> parameters, allowing applications to use
-       larger color- and pair-numbers.
+       X/Open Curses does not specify a limit for the  number  of  colors  and
+       color pairs which a terminal can support.  However, in its use of <STRONG>short</STRONG>
+       for the parameters, it carries over SVr4's  implementation  detail  for
+       the compiled terminfo database, which uses signed 16-bit numbers.  This
+       implementation provides extended versions of those functions which  use
+       <STRONG>short</STRONG>  parameters, allowing applications to use larger color- and pair-
+       numbers.
 
 
 </PRE><H2><a name="h2-SEE-ALSO">SEE ALSO</a></H2><PRE>
-       <STRONG><A HREF="ncurses.3x.html">curses(3x)</A></STRONG>,  <STRONG><A HREF="curs_attr.3x.html">curs_attr(3x)</A></STRONG>,   <STRONG><A HREF="curs_initscr.3x.html">curs_initscr(3x)</A></STRONG>,   <STRONG>curs_re-</STRONG>
-       <STRONG><A HREF="curs_refresh.3x.html">fresh(3x)</A></STRONG>, <STRONG><A HREF="curs_variables.3x.html">curs_variables(3x)</A></STRONG>.
+       <STRONG><A HREF="ncurses.3x.html">curses(3x)</A></STRONG>,    <STRONG><A HREF="curs_attr.3x.html">curs_attr(3x)</A></STRONG>,    <STRONG><A HREF="curs_initscr.3x.html">curs_initscr(3x)</A></STRONG>,    <STRONG><A HREF="curs_refresh.3x.html">curs_refresh(3x)</A></STRONG>,
+       <STRONG><A HREF="curs_variables.3x.html">curs_variables(3x)</A></STRONG>.
 
 
 
-                                                           <STRONG><A HREF="curs_slk.3x.html">curs_slk(3x)</A></STRONG>
+                                                                  <STRONG><A HREF="curs_slk.3x.html">curs_slk(3x)</A></STRONG>
 </PRE>
 <div class="nav">
 <ul>
index 527a22a7c26863f55d03d75577cfc9cfd6c676c8..9a94c6d1efbded57edfe3ef1db146f11f284184e 100644 (file)
@@ -43,7 +43,7 @@
 <BODY>
 <H1 class="no-header">curs_sp_funcs 3x</H1>
 <PRE>
-<STRONG><A HREF="curs_sp_funcs.3x.html">curs_sp_funcs(3x)</A></STRONG>                                     <STRONG><A HREF="curs_sp_funcs.3x.html">curs_sp_funcs(3x)</A></STRONG>
+<STRONG><A HREF="curs_sp_funcs.3x.html">curs_sp_funcs(3x)</A></STRONG>                                            <STRONG><A HREF="curs_sp_funcs.3x.html">curs_sp_funcs(3x)</A></STRONG>
 
 
 
 
 
 </PRE><H2><a name="h2-DESCRIPTION">DESCRIPTION</a></H2><PRE>
-       This  implementation can be configured to provide a set of
-       functions which improve the  ability  to  manage  multiple
-       screens.  This feature can be added to any of the configu-
-       rations supported by  ncurses;  it  adds  new  entrypoints
-       without changing the meaning of any of the existing ones.
+       This  implementation  can  be  configured to provide a set of functions
+       which improve the ability to manage multiple screens.  This feature can
+       be added to any of the configurations supported by ncurses; it adds new
+       entrypoints without changing the meaning of any of the existing ones.
 
 
 </PRE><H3><a name="h3-IMPROVED-FUNCTIONS">IMPROVED FUNCTIONS</a></H3><PRE>
-       Most  of  the functions are new versions of existing func-
-       tions.  A parameter is added at the front of the parameter
-       list.  It is a SCREEN pointer.
+       Most of the functions are new versions of existing functions.  A param-
+       eter  is  added  at  the  front  of the parameter list.  It is a SCREEN
+       pointer.
 
-       The  existing  functions all use the current screen, which
-       is a static variable.   The  extended  functions  use  the
-       specified screen, thereby reducing the number of variables
-       which must be modified to update multiple screens.
+       The existing functions all use the current screen, which  is  a  static
+       variable.  The extended functions use the specified screen, thereby re-
+       ducing the number of variables which must be modified to update  multi-
+       ple screens.
 
 
 </PRE><H3><a name="h3-NEW-FUNCTIONS">NEW FUNCTIONS</a></H3><PRE>
        Here are the new functions:
 
        ceiling_panel
-            this returns a pointer to the topmost  panel  in  the
-            given screen.
+            this returns a pointer to the topmost panel in the given screen.
 
        ground_panel
-            this  returns  a  pointer  to the lowest panel in the
-            given screen.
+            this returns a pointer to the lowest panel in the given screen.
 
        new_prescr
-            when creating a new screen, the library  uses  static
-            variables   which   have   been   preset,   e.g.,  by
-            <STRONG><A HREF="curs_util.3x.html">use_env(3x)</A></STRONG>, <STRONG><A HREF="curs_util.3x.html">filter(3x)</A></STRONG>, etc.  With the screen-point-
-            er extension, there are situations where it must cre-
-            ate a current screen before  the  unextended  library
-            does.   The <STRONG>new_prescr</STRONG> function is used internally to
-            handle these cases.  It is also provided as an entry-
-            point  to allow applications to customize the library
-            initialization.
+            when  creating  a  new  screen,  the library uses static variables
+            which have been preset, e.g.,  by  <STRONG><A HREF="curs_util.3x.html">use_env(3x)</A></STRONG>,  <STRONG><A HREF="curs_util.3x.html">filter(3x)</A></STRONG>,  etc.
+            With  the  screen-pointer extension, there are situations where it
+            must create a current screen before the unextended  library  does.
+            The  <STRONG>new_prescr</STRONG> function is used internally to handle these cases.
+            It is also provided as an entrypoint to allow applications to cus-
+            tomize the library initialization.
 
 
 </PRE><H2><a name="h2-NOTES">NOTES</a></H2><PRE>
        This extension introduces some new names:
 
        NCURSES_SP_FUNCS
-            This is set to the library  patch-level  number.   In
-            the  unextended library, this is zero (0), to make it
-            useful for checking if the extension is provided.
+            This  is set to the library patch-level number.  In the unextended
+            library, this is zero (0), to make it useful for checking  if  the
+            extension is provided.
 
        NCURSES_SP_NAME
-            The new functions are named using  the  macro  <EM>NCURS-</EM>
-            <EM>ES</EM><STRONG>_</STRONG><EM>SP</EM><STRONG>_</STRONG><EM>NAME</EM>,  which  hides  the actual implementation.
-            Currently this adds a "_sp" suffix to the name of the
-            unextended  function.   This  manual page indexes the
-            extensions showing the full name.  However the proper
-            usage  of  these functions uses the macro, to provide
-            for the possibility of changing the naming convention
-            for specific library configurations.
+            The new functions are named using the macro <EM>NCURSES</EM><STRONG>_</STRONG><EM>SP</EM><STRONG>_</STRONG><EM>NAME</EM>, which
+            hides the actual implementation.  Currently this adds a "_sp" suf-
+            fix  to the name of the unextended function.  This manual page in-
+            dexes the extensions showing the full name.   However  the  proper
+            usage of these functions uses the macro, to provide for the possi-
+            bility of changing the naming convention for specific library con-
+            figurations.
 
        NCURSES_SP_OUTC
-            This  is  a  new  function-pointer type to use in the
-            screen-pointer functions  where  an  <EM>NCURSES</EM><STRONG>_</STRONG><EM>OUTC</EM>  is
-            used in the unextended library.
+            This  is  a new function-pointer type to use in the screen-pointer
+            functions where an <EM>NCURSES</EM><STRONG>_</STRONG><EM>OUTC</EM> is used in the unextended library.
 
        NCURSES_OUTC
-            This  is  a  function-pointer type used for the cases
-            where a function  passes  characters  to  the  output
-            stream, e.g., <STRONG><A HREF="curs_terminfo.3x.html">vidputs(3x)</A></STRONG>.
+            This is a function-pointer type used for the cases where  a  func-
+            tion passes characters to the output stream, e.g., <STRONG><A HREF="curs_terminfo.3x.html">vidputs(3x)</A></STRONG>.
 
 
 </PRE><H2><a name="h2-PORTABILITY">PORTABILITY</a></H2><PRE>
-       These  routines  are  specific  to ncurses.  They were not
-       supported on Version 7, BSD or System  V  implementations.
-       It  is  recommended that any code depending on ncurses ex-
-       tensions be conditioned using <EM>NCURSES</EM><STRONG>_</STRONG><EM>SP</EM><STRONG>_</STRONG><EM>FUNCS</EM>.
+       These  routines  are  specific  to ncurses.  They were not supported on
+       Version 7, BSD or System V implementations.  It is recommended that any
+       code  depending  on  ncurses  extensions  be  conditioned  using <EM>NCURS-</EM>
+       <EM>ES</EM><STRONG>_</STRONG><EM>SP</EM><STRONG>_</STRONG><EM>FUNCS</EM>.
 
 
 </PRE><H2><a name="h2-SEE-ALSO">SEE ALSO</a></H2><PRE>
 
 
 
-                                                      <STRONG><A HREF="curs_sp_funcs.3x.html">curs_sp_funcs(3x)</A></STRONG>
+                                                             <STRONG><A HREF="curs_sp_funcs.3x.html">curs_sp_funcs(3x)</A></STRONG>
 </PRE>
 <div class="nav">
 <ul>
index 024695b03ecf939de0e30b63c69f538088deaec8..cafc8c445a7889aca8ae24910ea8020be0e280f8 100644 (file)
 <BODY>
 <H1 class="no-header">curs_termattrs 3x</H1>
 <PRE>
-<STRONG><A HREF="curs_termattrs.3x.html">curs_termattrs(3x)</A></STRONG>                                   <STRONG><A HREF="curs_termattrs.3x.html">curs_termattrs(3x)</A></STRONG>
+<STRONG><A HREF="curs_termattrs.3x.html">curs_termattrs(3x)</A></STRONG>                                          <STRONG><A HREF="curs_termattrs.3x.html">curs_termattrs(3x)</A></STRONG>
 
 
 
 
 </PRE><H2><a name="h2-NAME">NAME</a></H2><PRE>
-       <STRONG>baudrate</STRONG>, <STRONG>erasechar</STRONG>, <STRONG>erasewchar</STRONG>, <STRONG>has_ic</STRONG>, <STRONG>has_il</STRONG>, <STRONG>killchar</STRONG>,
-       <STRONG>killwchar</STRONG>, <STRONG>longname</STRONG>,  <STRONG>term_attrs</STRONG>,  <STRONG>termattrs</STRONG>,  <STRONG>termname</STRONG>  -
-       <STRONG>curses</STRONG> environment query routines
+       <STRONG>baudrate</STRONG>,  <STRONG>erasechar</STRONG>,  <STRONG>erasewchar</STRONG>, <STRONG>has_ic</STRONG>, <STRONG>has_il</STRONG>, <STRONG>killchar</STRONG>, <STRONG>killwchar</STRONG>,
+       <STRONG>longname</STRONG>, <STRONG>term_attrs</STRONG>, <STRONG>termattrs</STRONG>, <STRONG>termname</STRONG> -  <STRONG>curses</STRONG>  environment  query
+       routines
 
 
 </PRE><H2><a name="h2-SYNOPSIS">SYNOPSIS</a></H2><PRE>
 </PRE><H2><a name="h2-DESCRIPTION">DESCRIPTION</a></H2><PRE>
 
 </PRE><H3><a name="h3-baudrate">baudrate</a></H3><PRE>
-       The  <STRONG>baudrate</STRONG> routine returns the output speed of the ter-
-       minal.  The number returned is in  bits  per  second,  for
-       example <STRONG>9600</STRONG>, and is an integer.
+       The  <STRONG>baudrate</STRONG>  routine  returns  the output speed of the terminal.  The
+       number returned is in bits per second, for  example  <STRONG>9600</STRONG>,  and  is  an
+       integer.
 
 
 </PRE><H3><a name="h3-erasechar_-erasewchar">erasechar, erasewchar</a></H3><PRE>
-       The  <STRONG>erasechar</STRONG>  routine  returns  the user's current erase
-       character.
+       The <STRONG>erasechar</STRONG> routine returns the user's current erase character.
 
-       The <STRONG>erasewchar</STRONG> routine stores the current erase  character
-       in  the  location referenced by <EM>ch</EM>.  If no erase character
-       has been defined, the routine fails and the location  ref-
-       erenced by <EM>ch</EM> is not changed.
+       The  <STRONG>erasewchar</STRONG> routine stores the current erase character in the loca-
+       tion referenced by <EM>ch</EM>.  If no erase character  has  been  defined,  the
+       routine fails and the location referenced by <EM>ch</EM> is not changed.
 
 
 </PRE><H3><a name="h3-has_is_-has_il">has_is, has_il</a></H3><PRE>
-       The <STRONG>has_ic</STRONG> routine is true if the terminal has insert- and
-       delete- character capabilities.
+       The  <STRONG>has_ic</STRONG>  routine  is  true  if the terminal has insert- and delete-
+       character capabilities.
 
-       The <STRONG>has_il</STRONG> routine is true if the terminal has insert- and
-       delete-line  capabilities,  or  can  simulate  them  using
-       scrolling regions.  This might be used to determine if  it
-       would  be  appropriate to turn on physical scrolling using
-       <STRONG>scrollok</STRONG>.
+       The <STRONG>has_il</STRONG> routine is true if the terminal has insert- and  delete-line
+       capabilities, or can simulate them using scrolling regions.  This might
+       be used to determine if it would be appropriate  to  turn  on  physical
+       scrolling using <STRONG>scrollok</STRONG>.
 
 
 </PRE><H3><a name="h3-killchar_-killwchar">killchar, killwchar</a></H3><PRE>
-       The <STRONG>killchar</STRONG> routine returns the user's current line  kill
-       character.
+       The <STRONG>killchar</STRONG> routine returns the user's current line kill character.
 
-       The <STRONG>killwchar</STRONG> routine stores the current line-kill charac-
-       ter in the location referenced by  <EM>ch</EM>.   If  no  line-kill
-       character  has  been  defined,  the  routine fails and the
-       location referenced by <EM>ch</EM> is not changed.
+       The  <STRONG>killwchar</STRONG>  routine  stores  the current line-kill character in the
+       location referenced by <EM>ch</EM>.  If no line-kill character has been defined,
+       the routine fails and the location referenced by <EM>ch</EM> is not changed.
 
 
 </PRE><H3><a name="h3-longname">longname</a></H3><PRE>
-       The <STRONG>longname</STRONG> routine returns a pointer to  a  static  area
-       containing  a verbose description of the current terminal.
-       The maximum length of a verbose description is 128 charac-
-       ters.   It  is  defined  only after the call to <STRONG>initscr</STRONG> or
-       <STRONG>newterm</STRONG>.  The area is overwritten by each call to  <STRONG>newterm</STRONG>
-       and  is  not  restored by <STRONG>set_term</STRONG>, so the value should be
-       saved between calls to <STRONG>newterm</STRONG> if <STRONG>longname</STRONG> is going to  be
-       used with multiple terminals.
+       The  <STRONG>longname</STRONG>  routine  returns a pointer to a static area containing a
+       verbose description of the current terminal.  The maximum length  of  a
+       verbose  description  is  128 characters.  It is defined only after the
+       call to <STRONG>initscr</STRONG> or <STRONG>newterm</STRONG>.  The area is overwritten by  each  call  to
+       <STRONG>newterm</STRONG>  and  is not restored by <STRONG>set_term</STRONG>, so the value should be saved
+       between calls to <STRONG>newterm</STRONG> if <STRONG>longname</STRONG> is going to be used with  multiple
+       terminals.
 
 
 </PRE><H3><a name="h3-termattrs_-term_attrs">termattrs, term_attrs</a></H3><PRE>
-       If  a  given  terminal  does not support a video attribute
-       that an application program is trying to use,  <STRONG>curses</STRONG>  may
-       substitute  a  different video attribute for it.  The <STRONG>ter-</STRONG>
-       <STRONG>mattrs</STRONG> and <STRONG>term_attrs</STRONG> functions return a logical <STRONG>OR</STRONG> of all
-       video  attributes  supported  by the terminal using <EM>A</EM><STRONG>_</STRONG> and
-       <EM>WA</EM><STRONG>_</STRONG> constants respectively.  This  information  is  useful
-       when  a  <STRONG>curses</STRONG>  program  needs  complete control over the
-       appearance of the screen.
+       If a given terminal does not support a video attribute that an applica-
+       tion program is trying to use, <STRONG>curses</STRONG> may substitute a different  video
+       attribute for it.  The <STRONG>termattrs</STRONG> and <STRONG>term_attrs</STRONG> functions return a log-
+       ical <STRONG>OR</STRONG> of all video attributes supported by the terminal using <EM>A</EM><STRONG>_</STRONG>  and
+       <EM>WA</EM><STRONG>_</STRONG>  constants  respectively.  This information is useful when a <STRONG>curses</STRONG>
+       program needs complete control over the appearance of the screen.
 
 
 </PRE><H3><a name="h3-termname">termname</a></H3><PRE>
-       The <STRONG>termname</STRONG> routine returns the  terminal  name  used  by
-       <STRONG>setupterm</STRONG>.
+       The <STRONG>termname</STRONG> routine returns the terminal name used by <STRONG>setupterm</STRONG>.
 
 
 </PRE><H2><a name="h2-RETURN-VALUE">RETURN VALUE</a></H2><PRE>
        <STRONG>longname</STRONG> and <STRONG>termname</STRONG> return <STRONG>NULL</STRONG> on error.
 
-       Routines  that  return  an integer return <STRONG>ERR</STRONG> upon failure
-       and <STRONG>OK</STRONG> (SVr4 only specifies "an integer value  other  than
-       <STRONG>ERR</STRONG>") upon successful completion.
+       Routines that return an integer return <STRONG>ERR</STRONG> upon failure  and  <STRONG>OK</STRONG>  (SVr4
+       only  specifies "an integer value other than <STRONG>ERR</STRONG>") upon successful com-
+       pletion.
 
 
 </PRE><H2><a name="h2-NOTES">NOTES</a></H2><PRE>
 
 
 </PRE><H2><a name="h2-PORTABILITY">PORTABILITY</a></H2><PRE>
-       The  XSI  Curses  standard,  Issue 4 describes these func-
-       tions.  It changes the return type of <STRONG>termattrs</STRONG> to the new
-       type  <STRONG>attr_t</STRONG>.  Most versions of curses truncate the result
-       returned by <STRONG>termname</STRONG> to 14 characters.
+       The XSI Curses standard, Issue 4 describes these functions.  It changes
+       the  return type of <STRONG>termattrs</STRONG> to the new type <STRONG>attr_t</STRONG>.  Most versions of
+       curses truncate the result returned by <STRONG>termname</STRONG> to 14 characters.
 
 
 </PRE><H2><a name="h2-SEE-ALSO">SEE ALSO</a></H2><PRE>
 
 
 
-                                                     <STRONG><A HREF="curs_termattrs.3x.html">curs_termattrs(3x)</A></STRONG>
+                                                            <STRONG><A HREF="curs_termattrs.3x.html">curs_termattrs(3x)</A></STRONG>
 </PRE>
 <div class="nav">
 <ul>
index a20e11e0542cfb01faa61e3e2977d8ada7e1bb5d..e079c4b190748e159087f572b2bea35e08710ac4 100644 (file)
 <BODY>
 <H1 class="no-header">curs_termcap 3x</H1>
 <PRE>
-<STRONG><A HREF="curs_termcap.3x.html">curs_termcap(3x)</A></STRONG>                                       <STRONG><A HREF="curs_termcap.3x.html">curs_termcap(3x)</A></STRONG>
+<STRONG><A HREF="curs_termcap.3x.html">curs_termcap(3x)</A></STRONG>                                              <STRONG><A HREF="curs_termcap.3x.html">curs_termcap(3x)</A></STRONG>
 
 
 
 
 </PRE><H2><a name="h2-NAME">NAME</a></H2><PRE>
-       <STRONG>PC</STRONG>, <STRONG>UP</STRONG>, <STRONG>BC</STRONG>, <STRONG>ospeed</STRONG>, <STRONG>tgetent</STRONG>, <STRONG>tgetflag</STRONG>, <STRONG>tgetnum</STRONG>, <STRONG>tgetstr</STRONG>,
-       <STRONG>tgoto</STRONG>, <STRONG>tputs</STRONG> - direct <STRONG>curses</STRONG> interface to the terminfo
-       capability database
+       <STRONG>PC</STRONG>, <STRONG>UP</STRONG>, <STRONG>BC</STRONG>, <STRONG>ospeed</STRONG>, <STRONG>tgetent</STRONG>, <STRONG>tgetflag</STRONG>, <STRONG>tgetnum</STRONG>, <STRONG>tgetstr</STRONG>, <STRONG>tgoto</STRONG>, <STRONG>tputs</STRONG> -
+       direct <STRONG>curses</STRONG> interface to the terminfo capability database
 
 
 </PRE><H2><a name="h2-SYNOPSIS">SYNOPSIS</a></H2><PRE>
 
 
 </PRE><H2><a name="h2-DESCRIPTION">DESCRIPTION</a></H2><PRE>
-       These  routines  are included as a conversion aid for pro-
-       grams that use the <EM>termcap</EM> library.  Their parameters  are
-       the  same and the routines are emulated using the <EM>terminfo</EM>
-       database.  Thus, they can only be used to query the  capa-
-       bilities  of  entries  for which a terminfo entry has been
-       compiled.
+       These routines are included as a conversion aid for programs  that  use
+       the  <EM>termcap</EM>  library.   Their parameters are the same and the routines
+       are emulated using the <EM>terminfo</EM> database.  Thus, they can only be  used
+       to  query  the  capabilities  of entries for which a terminfo entry has
+       been compiled.
 
 
 </PRE><H3><a name="h3-INITIALIZATION">INITIALIZATION</a></H3><PRE>
 
           1  on success,
 
-          0  if there is no such entry (or that it is  a  generic
-             type,  having  too little information for curses ap-
-             plications to run), and
+          0  if there is no such entry (or that it is a generic  type,  having
+             too little information for curses applications to run), and
 
           -1 if the terminfo database could not be found.
 
        This differs from the <EM>termcap</EM> library in two ways:
 
-          <STRONG>o</STRONG>   The emulation ignores the buffer pointer  <EM>bp</EM>.   The
-              <EM>termcap</EM>  library would store a copy of the terminal
-              description in the area referenced by this pointer.
-              However,  ncurses  stores its terminal descriptions
-              in compiled binary form,  which  is  not  the  same
+          <STRONG>o</STRONG>   The  emulation  ignores  the buffer pointer <EM>bp</EM>.  The <EM>termcap</EM> li-
+              brary would store a copy of the terminal description in the area
+              referenced  by this pointer.  However, ncurses stores its termi-
+              nal descriptions in compiled binary form, which is not the  same
               thing.
 
-          <STRONG>o</STRONG>   There is a difference in return codes.  The <EM>termcap</EM>
-              library does not check if the terminal  description
-              is  marked  with  the <EM>generic</EM> capability, or if the
-              terminal description has cursor-addressing.
+          <STRONG>o</STRONG>   There is a difference in return codes.  The <EM>termcap</EM> library does
+              not check if the terminal description is marked with the <EM>generic</EM>
+              capability,  or  if the terminal description has cursor-address-
+              ing.
 
 
 </PRE><H3><a name="h3-CAPABILITY-VALUES">CAPABILITY VALUES</a></H3><PRE>
-       The <STRONG>tgetflag</STRONG> routine gets the boolean entry for <EM>id</EM>, or ze-
-       ro if it is not available.
+       The <STRONG>tgetflag</STRONG> routine gets the boolean entry for <EM>id</EM>, or zero  if  it  is
+       not available.
 
-       The  <STRONG>tgetnum</STRONG>  routine gets the numeric entry for <EM>id</EM>, or -1
-       if it is not available.
+       The  <STRONG>tgetnum</STRONG>  routine gets the numeric entry for <EM>id</EM>, or -1 if it is not
+       available.
 
-       The <STRONG>tgetstr</STRONG> routine returns the string entry  for  <EM>id</EM>,  or
-       zero  if it is not available.  Use <STRONG>tputs</STRONG> to output the re-
-       turned string.  The <EM>area</EM> parameter is used as follows:
+       The <STRONG>tgetstr</STRONG> routine returns the string entry for <EM>id</EM>, or zero if  it  is
+       not  available.  Use <STRONG>tputs</STRONG> to output the returned string.  The <EM>area</EM> pa-
+       rameter is used as follows:
 
-          <STRONG>o</STRONG>   It is assumed to be the address of a pointer  to  a
-              buffer managed by the calling application.
+          <STRONG>o</STRONG>   It is assumed to be the address of a pointer to a buffer managed
+              by the calling application.
 
-          <STRONG>o</STRONG>   However,  ncurses checks to ensure that <STRONG>area</STRONG> is not
-              NULL, and also that the resulting buffer pointer is
-              not  NULL.  If either check fails, the <EM>area</EM> parame-
-              ter is ignored.
+          <STRONG>o</STRONG>   However, ncurses checks to ensure that <STRONG>area</STRONG> is not NULL, and al-
+              so that the resulting buffer pointer is  not  NULL.   If  either
+              check fails, the <EM>area</EM> parameter is ignored.
 
-          <STRONG>o</STRONG>   If the checks succeed, ncurses also copies the  re-
-              turn  value  to  the buffer pointed to by <EM>area</EM>, and
-              the <EM>area</EM> value will be updated to  point  past  the
-              null ending this value.
+          <STRONG>o</STRONG>   If  the  checks succeed, ncurses also copies the return value to
+              the buffer pointed to by <EM>area</EM>, and the <EM>area</EM> value will be updat-
+              ed to point past the null ending this value.
 
-          <STRONG>o</STRONG>   The return value itself is an address in the termi-
-              nal description which is loaded into memory.
+          <STRONG>o</STRONG>   The  return  value itself is an address in the terminal descrip-
+              tion which is loaded into memory.
 
-       Only the first two characters of the <STRONG>id</STRONG> parameter of <STRONG>tget-</STRONG>
-       <STRONG>flag</STRONG>, <STRONG>tgetnum</STRONG> and <STRONG>tgetstr</STRONG> are compared in lookups.
+       Only the first two characters of the <STRONG>id</STRONG> parameter of <STRONG>tgetflag</STRONG>,  <STRONG>tgetnum</STRONG>
+       and <STRONG>tgetstr</STRONG> are compared in lookups.
 
 
 </PRE><H3><a name="h3-FORMATTING-CAPABILITIES">FORMATTING CAPABILITIES</a></H3><PRE>
-       The  <STRONG>tgoto</STRONG>  routine expands the given capability using the
-       parameters.
+       The <STRONG>tgoto</STRONG> routine expands the given capability using the parameters.
 
-       <STRONG>o</STRONG>   Because the capability may  have  padding  characters,
-           the  output  of <STRONG>tgoto</STRONG> should be passed to <STRONG>tputs</STRONG> rather
-           than some other output function such as <STRONG>printf</STRONG>.
+       <STRONG>o</STRONG>   Because  the  capability may have padding characters, the output of
+           <STRONG>tgoto</STRONG> should be passed to <STRONG>tputs</STRONG> rather than some other output func-
+           tion such as <STRONG>printf</STRONG>.
 
-       <STRONG>o</STRONG>   While <STRONG>tgoto</STRONG> is assumed to be used for the  two-parame-
-           ter  cursor  positioning  capability, termcap applica-
-           tions also use it for single-parameter capabilities.
+       <STRONG>o</STRONG>   While  <STRONG>tgoto</STRONG> is assumed to be used for the two-parameter cursor po-
+           sitioning capability, termcap applications also use it for  single-
+           parameter capabilities.
 
-           Doing this shows a quirk in <STRONG>tgoto</STRONG>: most hardware  ter-
-           minals  use  cursor addressing with <EM>row</EM> first, but the
-           original developers of the termcap interface chose  to
-           put  the  <EM>column</EM>  parameter first.  The <STRONG>tgoto</STRONG> function
-           swaps the order of parameters.  It does this also  for
-           calls  requiring  only  a  single  parameter.  In that
-           case, the first parameter is merely a placeholder.
+           Doing this shows a quirk in <STRONG>tgoto</STRONG>: most hardware terminals use cur-
+           sor addressing with <EM>row</EM> first, but the original developers  of  the
+           termcap  interface  chose  to  put the <EM>column</EM> parameter first.  The
+           <STRONG>tgoto</STRONG> function swaps the order of parameters.  It  does  this  also
+           for  calls  requiring  only  a single parameter.  In that case, the
+           first parameter is merely a placeholder.
 
-       <STRONG>o</STRONG>   Normally the ncurses library is compiled with terminfo
-           support.   In  that case, <STRONG>tgoto</STRONG> uses <STRONG><A HREF="curs_terminfo.3x.html">tparm(3x)</A></STRONG> (a more
-           capable formatter).
+       <STRONG>o</STRONG>   Normally the ncurses library is compiled with terminfo support.  In
+           that case, <STRONG>tgoto</STRONG> uses <STRONG><A HREF="curs_terminfo.3x.html">tparm(3x)</A></STRONG> (a more capable formatter).
 
-       The <STRONG>tputs</STRONG> routine is described  on  the  <STRONG><A HREF="curs_terminfo.3x.html">curs_terminfo(3x)</A></STRONG>
-       manual page.  It can retrieve capabilities by either term-
-       cap or terminfo name.
+       The  <STRONG>tputs</STRONG>  routine  is described on the <STRONG><A HREF="curs_terminfo.3x.html">curs_terminfo(3x)</A></STRONG> manual page.
+       It can retrieve capabilities by either termcap or terminfo name.
 
 
 </PRE><H3><a name="h3-GLOBAL-VARIABLES">GLOBAL VARIABLES</a></H3><PRE>
-       The variables <STRONG>PC</STRONG>, <STRONG>UP</STRONG> and <STRONG>BC</STRONG> are set by <STRONG>tgetent</STRONG> to the ter-
-       minfo   entry's   data   for   <STRONG>pad_char</STRONG>,   <STRONG>cursor_up</STRONG>   and
-       <STRONG>backspace_if_not_bs</STRONG>, respectively.   <STRONG>UP</STRONG>  is  not  used  by
-       ncurses.  <STRONG>PC</STRONG> is used in the <STRONG>tdelay_output</STRONG> function.  <STRONG>BC</STRONG> is
-       used in the <STRONG>tgoto</STRONG> emulation.  The variable <STRONG>ospeed</STRONG>  is  set
-       by ncurses in a system-specific coding to reflect the ter-
-       minal speed.
+       The variables <STRONG>PC</STRONG>, <STRONG>UP</STRONG> and <STRONG>BC</STRONG> are set by <STRONG>tgetent</STRONG> to the terminfo  entry's
+       data for <STRONG>pad_char</STRONG>, <STRONG>cursor_up</STRONG> and <STRONG>backspace_if_not_bs</STRONG>, respectively.  <STRONG>UP</STRONG>
+       is not used by ncurses.  <STRONG>PC</STRONG> is used in the <STRONG>tdelay_output</STRONG> function.   <STRONG>BC</STRONG>
+       is  used in the <STRONG>tgoto</STRONG> emulation.  The variable <STRONG>ospeed</STRONG> is set by ncurses
+       in a system-specific coding to reflect the terminal speed.
 
 
 </PRE><H2><a name="h2-RETURN-VALUE">RETURN VALUE</a></H2><PRE>
-       Except where explicitly noted, routines that return an in-
-       teger  return <STRONG>ERR</STRONG> upon failure and <STRONG>OK</STRONG> (SVr4 only specifies
-       "an integer value other than <STRONG>ERR</STRONG>") upon successful comple-
-       tion.
+       Except where explicitly noted, routines that return an  integer  return
+       <STRONG>ERR</STRONG>  upon  failure  and <STRONG>OK</STRONG> (SVr4 only specifies "an integer value other
+       than <STRONG>ERR</STRONG>") upon successful completion.
 
        Routines that return pointers return <STRONG>NULL</STRONG> on error.
 
 
 </PRE><H2><a name="h2-BUGS">BUGS</a></H2><PRE>
-       If you call <STRONG>tgetstr</STRONG> to fetch <STRONG>ca</STRONG> or any other parameterized
-       string, be aware that it will be returned in terminfo  no-
-       tation, not the older and not-quite-compatible termcap no-
-       tation.  This will not cause problems if all you  do  with
-       it  is  call  <STRONG>tgoto</STRONG>  or <STRONG>tparm</STRONG>, which both expand terminfo-
-       style strings as terminfo.  (The <STRONG>tgoto</STRONG> function,  if  con-
-       figured  to  support  termcap, will check if the string is
-       indeed terminfo-style by looking for  "%p"  parameters  or
-       "$&lt;..&gt;"  delays,  and invoke a termcap-style parser if the
-       string does not appear to be terminfo).
-
-       Because terminfo conventions for representing  padding  in
-       string  capabilities  differ  from termcap's, <STRONG>tputs("50");</STRONG>
-       will put out a literal "50" rather than  busy-waiting  for
-       50 milliseconds.  Cope with it.
-
-       Note  that termcap has nothing analogous to terminfo's <STRONG>sgr</STRONG>
-       string.  One consequence of this is that termcap  applica-
-       tions  assume me (terminfo <STRONG>sgr0</STRONG>) does not reset the alter-
-       nate character set.  This implementation checks  for,  and
-       modifies the data shown to the termcap interface to accom-
-       modate termcap's limitation in this respect.
+       If you call <STRONG>tgetstr</STRONG> to fetch <STRONG>ca</STRONG> or any other parameterized  string,  be
+       aware  that it will be returned in terminfo notation, not the older and
+       not-quite-compatible termcap notation.  This will not cause problems if
+       all  you do with it is call <STRONG>tgoto</STRONG> or <STRONG>tparm</STRONG>, which both expand terminfo-
+       style strings as terminfo.  (The <STRONG>tgoto</STRONG> function, if configured to  sup-
+       port  termcap,  will  check  if  the string is indeed terminfo-style by
+       looking for "%p" parameters or "$&lt;..&gt;" delays, and  invoke  a  termcap-
+       style parser if the string does not appear to be terminfo).
+
+       Because  terminfo  conventions for representing padding in string capa-
+       bilities differ from termcap's, <STRONG>tputs("50");</STRONG> will  put  out  a  literal
+       "50" rather than busy-waiting for 50 milliseconds.  Cope with it.
+
+       Note  that termcap has nothing analogous to terminfo's <STRONG>sgr</STRONG> string.  One
+       consequence of this is that termcap applications  assume  me  (terminfo
+       <STRONG>sgr0</STRONG>)  does not reset the alternate character set.  This implementation
+       checks for, and modifies the data shown to the termcap interface to ac-
+       commodate termcap's limitation in this respect.
 
 
 </PRE><H2><a name="h2-PORTABILITY">PORTABILITY</a></H2><PRE>
-       The XSI Curses standard, Issue  4  describes  these  func-
-       tions.   However,  they are marked TO BE WITHDRAWN and may
-       be removed in future versions.
-
-       Neither the XSI Curses standard nor  the  SVr4  man  pages
-       documented  the return values of <STRONG>tgetent</STRONG> correctly, though
-       all three were in fact returned ever since SVr1.  In  par-
-       ticular,  an  omission in the XSI Curses documentation has
-       been misinterpreted to mean that  <STRONG>tgetent</STRONG>  returns  <STRONG>OK</STRONG>  or
-       <STRONG>ERR</STRONG>.  Because the purpose of these functions is to provide
-       compatibility with the <EM>termcap</EM> library, that is  a  defect
-       in XCurses, Issue 4, Version 2 rather than in ncurses.
-
-       External  variables  are  provided  for support of certain
-       termcap applications.  However, termcap applications'  use
-       of those variables is poorly documented, e.g., not distin-
-       guishing between input and output.   In  particular,  some
-       applications are reported to declare and/or modify <STRONG>ospeed</STRONG>.
-
-       The  comment  that only the first two characters of the <STRONG>id</STRONG>
-       parameter are used escapes  many  application  developers.
-       The  original  BSD  4.2  termcap  library  (and historical
-       relics thereof) did not require a trailing null NUL on the
-       parameter  name  passed  to <STRONG>tgetstr</STRONG>, <STRONG>tgetnum</STRONG> and <STRONG>tgetflag</STRONG>.
-       Some applications assume that the termcap  interface  does
-       not require the trailing NUL for the parameter name.  Tak-
-       ing into account these issues:
-
-       <STRONG>o</STRONG>   As a special case, <STRONG>tgetflag</STRONG> matched against a  single-
-           character  identifier  provided that was at the end of
-           the terminal description.  You should  not  rely  upon
-           this  behavior in portable programs.  This implementa-
-           tion disallows matches against single-character  capa-
-           bility names.
-
-       <STRONG>o</STRONG>   This  implementation  disallows matches by the termcap
-           interface against extended capability names which  are
-           longer than two characters.
+       The  XSI  Curses standard, Issue 4 describes these functions.  However,
+       they are marked TO BE WITHDRAWN and may be removed in future versions.
+
+       Neither the XSI Curses standard nor the SVr4 man pages  documented  the
+       return  values  of <STRONG>tgetent</STRONG> correctly, though all three were in fact re-
+       turned ever since SVr1.  In particular, an omission in the  XSI  Curses
+       documentation  has  been misinterpreted to mean that <STRONG>tgetent</STRONG> returns <STRONG>OK</STRONG>
+       or <STRONG>ERR</STRONG>.  Because the purpose of these functions is to provide  compati-
+       bility  with the <EM>termcap</EM> library, that is a defect in XCurses, Issue 4,
+       Version 2 rather than in ncurses.
+
+       External variables are provided for support of certain termcap applica-
+       tions.  However, termcap applications' use of those variables is poorly
+       documented, e.g., not distinguishing between input and output.  In par-
+       ticular,  some  applications  are reported to declare and/or modify <STRONG>os-</STRONG>
+       <STRONG>peed</STRONG>.
+
+       The comment that only the first two characters of the <STRONG>id</STRONG> parameter  are
+       used escapes many application developers.  The original BSD 4.2 termcap
+       library (and historical relics thereof) did not require a trailing null
+       NUL  on  the  parameter  name  passed to <STRONG>tgetstr</STRONG>, <STRONG>tgetnum</STRONG> and <STRONG>tgetflag</STRONG>.
+       Some applications assume that the termcap interface  does  not  require
+       the trailing NUL for the parameter name.  Taking into account these is-
+       sues:
+
+       <STRONG>o</STRONG>   As a special case,  <STRONG>tgetflag</STRONG>  matched  against  a  single-character
+           identifier  provided  that  was at the end of the terminal descrip-
+           tion.  You should not rely upon this behavior in portable programs.
+           This  implementation disallows matches against single-character ca-
+           pability names.
+
+       <STRONG>o</STRONG>   This implementation disallows  matches  by  the  termcap  interface
+           against extended capability names which are longer than two charac-
+           ters.
 
 
 </PRE><H2><a name="h2-SEE-ALSO">SEE ALSO</a></H2><PRE>
 
 
 
-                                                       <STRONG><A HREF="curs_termcap.3x.html">curs_termcap(3x)</A></STRONG>
+                                                              <STRONG><A HREF="curs_termcap.3x.html">curs_termcap(3x)</A></STRONG>
 </PRE>
 <div class="nav">
 <ul>
index e9f873d14d43d185a69c7a2ddf191a3c575fa92a..a10c39e7cee2111bab3a5b1e129cac51d041d484 100644 (file)
 <BODY>
 <H1 class="no-header">curs_terminfo 3x</H1>
 <PRE>
-<STRONG><A HREF="curs_terminfo.3x.html">curs_terminfo(3x)</A></STRONG>                                     <STRONG><A HREF="curs_terminfo.3x.html">curs_terminfo(3x)</A></STRONG>
+<STRONG><A HREF="curs_terminfo.3x.html">curs_terminfo(3x)</A></STRONG>                                            <STRONG><A HREF="curs_terminfo.3x.html">curs_terminfo(3x)</A></STRONG>
 
 
 
 
 </PRE><H2><a name="h2-NAME">NAME</a></H2><PRE>
-       <STRONG>del_curterm</STRONG>, <STRONG>mvcur</STRONG>, <STRONG>putp</STRONG>, <STRONG>restartterm</STRONG>, <STRONG>set_curterm</STRONG>,
-       <STRONG>setterm</STRONG>, <STRONG>setupterm</STRONG>, <STRONG>tigetflag</STRONG>, <STRONG>tigetnum</STRONG>, <STRONG>tigetstr</STRONG>, <STRONG>tiparm</STRONG>,
-       <STRONG>tparm</STRONG>, <STRONG>tputs</STRONG>, <STRONG>vid_attr</STRONG>, <STRONG>vid_puts</STRONG>, <STRONG>vidattr</STRONG>, <STRONG>vidputs</STRONG> -
-       <STRONG>curses</STRONG> interfaces to terminfo database
+       <STRONG>del_curterm</STRONG>, <STRONG>mvcur</STRONG>, <STRONG>putp</STRONG>, <STRONG>restartterm</STRONG>, <STRONG>set_curterm</STRONG>, <STRONG>setterm</STRONG>, <STRONG>setupterm</STRONG>,
+       <STRONG>tigetflag</STRONG>, <STRONG>tigetnum</STRONG>, <STRONG>tigetstr</STRONG>, <STRONG>tiparm</STRONG>, <STRONG>tparm</STRONG>, <STRONG>tputs</STRONG>, <STRONG>vid_attr</STRONG>,
+       <STRONG>vid_puts</STRONG>, <STRONG>vidattr</STRONG>, <STRONG>vidputs</STRONG> - <STRONG>curses</STRONG> interfaces to terminfo database
 
 
 </PRE><H2><a name="h2-SYNOPSIS">SYNOPSIS</a></H2><PRE>
 
 
 </PRE><H2><a name="h2-DESCRIPTION">DESCRIPTION</a></H2><PRE>
-       These low-level routines must be called by  programs  that
-       have to deal directly with the <STRONG>terminfo</STRONG> database to handle
-       certain terminal capabilities, such as  programming  func-
-       tion  keys.   For all other functionality, <STRONG>curses</STRONG> routines
-       are more suitable and their use is recommended.
+       These  low-level  routines must be called by programs that have to deal
+       directly with the <STRONG>terminfo</STRONG> database to handle certain terminal capabil-
+       ities, such as programming function keys.  For all other functionality,
+       <STRONG>curses</STRONG> routines are more suitable and their use is recommended.
 
 
 </PRE><H3><a name="h3-Initialization">Initialization</a></H3><PRE>
-       Initially, <STRONG>setupterm</STRONG> should  be  called.   The  high-level
-       curses  functions  <STRONG>initscr</STRONG>  and  <STRONG>newterm</STRONG> call <STRONG>setupterm</STRONG> to
-       initialize the low-level set of  terminal-dependent  vari-
-       ables [listed in <STRONG><A HREF="terminfo.5.html">terminfo(5)</A></STRONG>].
-
-       Applications  can use the terminal capabilities either di-
-       rectly (via header definitions), or by special  functions.
-       The  header  files  <STRONG>curses.h</STRONG> and <STRONG>term.h</STRONG> should be included
-       (in this order) to get the definitions for these  strings,
-       numbers, and flags.
-
-       The  <STRONG>terminfo</STRONG>  variables <STRONG>lines</STRONG> and <STRONG>columns</STRONG> are initialized
-       by <STRONG>setupterm</STRONG> as follows:
-
-       <STRONG>o</STRONG>   If <STRONG>use_env(FALSE)</STRONG> has been called,  values  for  <STRONG>lines</STRONG>
-           and <STRONG>columns</STRONG> specified in <STRONG>terminfo</STRONG> are used.
-
-       <STRONG>o</STRONG>   Otherwise, if the environment variables <STRONG>LINES</STRONG> and <STRONG>COL-</STRONG>
-           <STRONG>UMNS</STRONG> exist, their values are used.  If these  environ-
-           ment variables do not exist and the program is running
-           in a window, the current window size is used.   Other-
-           wise,  if  the environment variables do not exist, the
-           values for <STRONG>lines</STRONG> and <STRONG>columns</STRONG> specified in the <STRONG>terminfo</STRONG>
-           database are used.
-
-       Parameterized  strings  should  be passed through <STRONG>tparm</STRONG> to
-       instantiate them.  All  <STRONG>terminfo</STRONG>  strings  [including  the
-       output  of  <STRONG>tparm</STRONG>]  should  be printed with <STRONG>tputs</STRONG> or <STRONG>putp</STRONG>.
-       Call <STRONG>reset_shell_mode</STRONG> to restore the tty modes before  ex-
-       iting [see <STRONG><A HREF="curs_kernel.3x.html">curs_kernel(3x)</A></STRONG>].
+       Initially, <STRONG>setupterm</STRONG> should be called.  The high-level curses functions
+       <STRONG>initscr</STRONG>  and  <STRONG>newterm</STRONG> call <STRONG>setupterm</STRONG> to initialize the low-level set of
+       terminal-dependent variables [listed in <STRONG><A HREF="terminfo.5.html">terminfo(5)</A></STRONG>].
+
+       Applications can use the terminal  capabilities  either  directly  (via
+       header  definitions),  or by special functions.  The header files <STRONG>curs-</STRONG>
+       <STRONG>es.h</STRONG> and <STRONG>term.h</STRONG> should be included (in this order) to get  the  defini-
+       tions for these strings, numbers, and flags.
+
+       The  <STRONG>terminfo</STRONG>  variables <STRONG>lines</STRONG> and <STRONG>columns</STRONG> are initialized by <STRONG>setupterm</STRONG>
+       as follows:
+
+       <STRONG>o</STRONG>   If <STRONG>use_env(FALSE)</STRONG> has been called, values  for  <STRONG>lines</STRONG>  and  <STRONG>columns</STRONG>
+           specified in <STRONG>terminfo</STRONG> are used.
+
+       <STRONG>o</STRONG>   Otherwise,  if  the  environment variables <STRONG>LINES</STRONG> and <STRONG>COLUMNS</STRONG> exist,
+           their values are used.  If these environment variables do not exist
+           and  the program is running in a window, the current window size is
+           used.  Otherwise, if the environment variables do  not  exist,  the
+           values for <STRONG>lines</STRONG> and <STRONG>columns</STRONG> specified in the <STRONG>terminfo</STRONG> database are
+           used.
+
+       Parameterized strings should be passed  through  <STRONG>tparm</STRONG>  to  instantiate
+       them.   All  <STRONG>terminfo</STRONG> strings [including the output of <STRONG>tparm</STRONG>] should be
+       printed with <STRONG>tputs</STRONG> or <STRONG>putp</STRONG>.  Call <STRONG>reset_shell_mode</STRONG> to restore  the  tty
+       modes before exiting [see <STRONG><A HREF="curs_kernel.3x.html">curs_kernel(3x)</A></STRONG>].
 
        Programs which use cursor addressing should
 
 
        Programs which execute shell subprocesses should
 
-       <STRONG>o</STRONG>   call  <STRONG>reset_shell_mode</STRONG>  and output <STRONG>exit_ca_mode</STRONG> before
-           the shell is called and
+       <STRONG>o</STRONG>   call  <STRONG>reset_shell_mode</STRONG>  and output <STRONG>exit_ca_mode</STRONG> before the shell is
+           called and
 
-       <STRONG>o</STRONG>   output <STRONG>enter_ca_mode</STRONG> and  call  <STRONG>reset_prog_mode</STRONG>  after
-           returning from the shell.
+       <STRONG>o</STRONG>   output <STRONG>enter_ca_mode</STRONG> and call <STRONG>reset_prog_mode</STRONG> after returning  from
+           the shell.
 
-       The <STRONG>setupterm</STRONG> routine reads in the <STRONG>terminfo</STRONG> database, ini-
-       tializing the <STRONG>terminfo</STRONG> structures, but does not set up the
-       output  virtualization  structures  used by <STRONG>curses</STRONG>.  These
-       are its parameters:
+       The  <STRONG>setupterm</STRONG> routine reads in the <STRONG>terminfo</STRONG> database, initializing the
+       <STRONG>terminfo</STRONG> structures, but does not  set  up  the  output  virtualization
+       structures used by <STRONG>curses</STRONG>.  These are its parameters:
 
-          <EM>term</EM> is the terminal type, a character string.  If <EM>term</EM>
-               is null, the environment variable <STRONG>TERM</STRONG> is used.
+          <EM>term</EM> is the terminal type, a character string.  If <EM>term</EM> is null, the
+               environment variable <STRONG>TERM</STRONG> is used.
 
           <EM>filedes</EM>
                is the file descriptor used for all output.
 
           <EM>errret</EM>
-               points to an optional location where an error sta-
-               tus can be returned to the caller.  If  <EM>errret</EM>  is
-               not  null,  then  <STRONG>setupterm</STRONG>  returns <STRONG>OK</STRONG> or <STRONG>ERR</STRONG> and
-               stores a status value in the integer pointed to by
-               <EM>errret</EM>.  A return value of <STRONG>OK</STRONG> combined with status
-               of <STRONG>1</STRONG> in <EM>errret</EM> is normal.
+               points to an optional location where an error status can be re-
+               turned  to  the  caller.  If <EM>errret</EM> is not null, then <STRONG>setupterm</STRONG>
+               returns <STRONG>OK</STRONG> or <STRONG>ERR</STRONG> and stores a  status  value  in  the  integer
+               pointed  to by <EM>errret</EM>.  A return value of <STRONG>OK</STRONG> combined with sta-
+               tus of <STRONG>1</STRONG> in <EM>errret</EM> is normal.
 
                If <STRONG>ERR</STRONG> is returned, examine <EM>errret</EM>:
 
-               <STRONG>1</STRONG>    means that the terminal is  hardcopy,  cannot
-                    be used for curses applications.
+               <STRONG>1</STRONG>    means that the terminal is hardcopy, cannot  be  used  for
+                    curses applications.
 
-                    <STRONG>setupterm</STRONG>  determines if the entry is a hard-
-                    copy type by checking the <STRONG>hc</STRONG> (<STRONG>hardcopy</STRONG>) capa-
-                    bility.
+                    <STRONG>setupterm</STRONG>  determines  if  the entry is a hardcopy type by
+                    checking the <STRONG>hc</STRONG> (<STRONG>hardcopy</STRONG>) capability.
 
-               <STRONG>0</STRONG>    means  that  the terminal could not be found,
-                    or that it is a generic type, having too lit-
-                    tle  information  for  curses applications to
-                    run.
+               <STRONG>0</STRONG>    means that the terminal could not be found, or that it  is
+                    a  generic  type, having too little information for curses
+                    applications to run.
 
-                    <STRONG>setupterm</STRONG> determines if the entry is a gener-
-                    ic type by checking the <STRONG>gn</STRONG> (<STRONG>generic</STRONG>) capabil-
-                    ity.
+                    <STRONG>setupterm</STRONG> determines if the entry is  a  generic  type  by
+                    checking the <STRONG>gn</STRONG> (<STRONG>generic</STRONG>) capability.
 
-               <STRONG>-1</STRONG>   means that the <STRONG>terminfo</STRONG> database could not be
-                    found.
+               <STRONG>-1</STRONG>   means that the <STRONG>terminfo</STRONG> database could not be found.
 
-               If  <EM>errret</EM> is null, <STRONG>setupterm</STRONG> prints an error mes-
-               sage upon finding an error and exits.   Thus,  the
-               simplest call is:
+               If <EM>errret</EM> is null, <STRONG>setupterm</STRONG> prints an error message upon find-
+               ing an error and exits.  Thus, the simplest call is:
 
                      <STRONG>setupterm((char</STRONG> <STRONG>*)0,</STRONG> <STRONG>1,</STRONG> <STRONG>(int</STRONG> <STRONG>*)0);</STRONG>,
 
-               which  uses  all the defaults and sends the output
-               to <STRONG>stdout</STRONG>.
+               which uses all the defaults and sends the output to <STRONG>stdout</STRONG>.
 
        The <STRONG>setterm</STRONG> routine was replaced by <STRONG>setupterm</STRONG>.  The call:
 
              <STRONG>setupterm(</STRONG><EM>term</EM><STRONG>,</STRONG> <STRONG>1,</STRONG> <STRONG>(int</STRONG> <STRONG>*)0)</STRONG>
 
-       provides the same  functionality  as  <STRONG>setterm(</STRONG><EM>term</EM><STRONG>)</STRONG>.   The
-       <STRONG>setterm</STRONG>  routine is provided for BSD compatibility, and is
-       not recommended for new programs.
+       provides the same functionality as <STRONG>setterm(</STRONG><EM>term</EM><STRONG>)</STRONG>.  The <STRONG>setterm</STRONG>  routine
+       is  provided for BSD compatibility, and is not recommended for new pro-
+       grams.
 
 
 </PRE><H3><a name="h3-The-Terminal-State">The Terminal State</a></H3><PRE>
-       The <STRONG>setupterm</STRONG> routine stores  its  information  about  the
-       terminal  in a <STRONG>TERMINAL</STRONG> structure pointed to by the global
-       variable <STRONG>cur_term</STRONG>.  If it detects  an  error,  or  decides
-       that  the terminal is unsuitable (hardcopy or generic), it
-       discards this information, making it not available to  ap-
-       plications.
-
-       If  <STRONG>setupterm</STRONG>  is  called repeatedly for the same terminal
-       type, it will reuse the information.   It  maintains  only
-       one copy of a given terminal's capabilities in memory.  If
-       it is called for different terminal types, <STRONG>setupterm</STRONG> allo-
-       cates new storage for each set of terminal capabilities.
-
-       The  <STRONG>set_curterm</STRONG> routine sets <STRONG>cur_term</STRONG> to <EM>nterm</EM>, and makes
-       all of the <STRONG>terminfo</STRONG> boolean, numeric, and string variables
-       use  the  values  from <EM>nterm</EM>.  It returns the old value of
-       <STRONG>cur_term</STRONG>.
-
-       The <STRONG>del_curterm</STRONG> routine frees  the  space  pointed  to  by
-       <EM>oterm</EM> and makes it available for further use.  If <EM>oterm</EM> is
-       the same as <STRONG>cur_term</STRONG>, references to any  of  the  <STRONG>terminfo</STRONG>
-       boolean,  numeric, and string variables thereafter may re-
-       fer to invalid memory locations  until  another  <STRONG>setupterm</STRONG>
-       has been called.
-
-       The  <STRONG>restartterm</STRONG>  routine  is  similar  to  <STRONG>setupterm</STRONG>  and
-       <STRONG>initscr</STRONG>, except that it is called after  restoring  memory
-       to  a  previous  state (for example, when reloading a game
-       saved as a core image dump).  <STRONG>restartterm</STRONG> assumes that the
-       windows  and  the input and output options are the same as
-       when memory was saved, but the terminal type and baud rate
-       may  be different.  Accordingly, <STRONG>restartterm</STRONG> saves various
-       tty state bits, calls <STRONG>setupterm</STRONG>,  and  then  restores  the
-       bits.
+       The <STRONG>setupterm</STRONG> routine stores its information about the  terminal  in  a
+       <STRONG>TERMINAL</STRONG>  structure  pointed to by the global variable <STRONG>cur_term</STRONG>.  If it
+       detects an error, or decides that the terminal is unsuitable  (hardcopy
+       or  generic),  it discards this information, making it not available to
+       applications.
+
+       If <STRONG>setupterm</STRONG> is called repeatedly for the same terminal type,  it  will
+       reuse  the  information.   It maintains only one copy of a given termi-
+       nal's capabilities in memory.  If it is called for  different  terminal
+       types,  <STRONG>setupterm</STRONG>  allocates new storage for each set of terminal capa-
+       bilities.
+
+       The <STRONG>set_curterm</STRONG> routine sets <STRONG>cur_term</STRONG> to <EM>nterm</EM>, and makes  all  of  the
+       <STRONG>terminfo</STRONG>  boolean,  numeric,  and  string variables use the values from
+       <EM>nterm</EM>.  It returns the old value of <STRONG>cur_term</STRONG>.
+
+       The <STRONG>del_curterm</STRONG> routine frees the space pointed to by <EM>oterm</EM>  and  makes
+       it available for further use.  If <EM>oterm</EM> is the same as <STRONG>cur_term</STRONG>, refer-
+       ences to any of the <STRONG>terminfo</STRONG> boolean,  numeric,  and  string  variables
+       thereafter  may  refer  to  invalid  memory locations until another <STRONG>se-</STRONG>
+       <STRONG>tupterm</STRONG> has been called.
+
+       The <STRONG>restartterm</STRONG> routine is similar to  <STRONG>setupterm</STRONG>  and  <STRONG>initscr</STRONG>,  except
+       that it is called after restoring memory to a previous state (for exam-
+       ple, when reloading a game saved as a core  image  dump).   <STRONG>restartterm</STRONG>
+       assumes  that the windows and the input and output options are the same
+       as when memory was saved, but the terminal type and baud  rate  may  be
+       different.   Accordingly,  <STRONG>restartterm</STRONG>  saves  various  tty state bits,
+       calls <STRONG>setupterm</STRONG>, and then restores the bits.
 
 
 </PRE><H3><a name="h3-Formatting-Output">Formatting Output</a></H3><PRE>
-       The <STRONG>tparm</STRONG> routine instantiates the string <EM>str</EM> with parame-
-       ters <EM>pi</EM>.  A pointer is returned to the result of <EM>str</EM>  with
-       the  parameters  applied.   Application  developers should
-       keep in mind these quirks of the interface:
+       The <STRONG>tparm</STRONG> routine instantiates the string <EM>str</EM> with  parameters  <EM>pi</EM>.   A
+       pointer  is  returned to the result of <EM>str</EM> with the parameters applied.
+       Application developers should keep in mind these quirks of  the  inter-
+       face:
 
-       <STRONG>o</STRONG>   Although <STRONG>tparm</STRONG>'s actual parameters may be integers  or
-           strings, the prototype expects <STRONG>long</STRONG> (integer) values.
+       <STRONG>o</STRONG>   Although  <STRONG>tparm</STRONG>'s actual parameters may be integers or strings, the
+           prototype expects <STRONG>long</STRONG> (integer) values.
 
-       <STRONG>o</STRONG>   Aside  from  the <STRONG>set_attributes</STRONG> (<STRONG>sgr</STRONG>) capability, most
-           terminal capabilities require no more than one or  two
-           parameters.
+       <STRONG>o</STRONG>   Aside from the <STRONG>set_attributes</STRONG> (<STRONG>sgr</STRONG>) capability, most terminal capa-
+           bilities require no more than one or two parameters.
 
-       <STRONG>tiparm</STRONG>  is  a  newer  form  of <STRONG>tparm</STRONG> which uses <EM>&lt;stdarg.h&gt;</EM>
-       rather than a fixed-parameter list.  Its  numeric  parame-
-       ters are integers (int) rather than longs.
+       <STRONG>tiparm</STRONG>  is  a  newer  form of <STRONG>tparm</STRONG> which uses <EM>&lt;stdarg.h&gt;</EM> rather than a
+       fixed-parameter list.  Its numeric parameters are integers (int) rather
+       than longs.
 
 
 </PRE><H3><a name="h3-Output-Functions">Output Functions</a></H3><PRE>
-       The  <STRONG>tputs</STRONG>  routine  applies  padding  information  to the
-       string <EM>str</EM> and outputs it:
+       The  <STRONG>tputs</STRONG>  routine  applies  padding information to the string <EM>str</EM> and
+       outputs it:
 
-       <STRONG>o</STRONG>   The <EM>str</EM> must be a terminfo string variable or the  re-
-           turn value from <STRONG>tparm</STRONG>, <STRONG>tgetstr</STRONG>, or <STRONG>tgoto</STRONG>.
+       <STRONG>o</STRONG>   The <EM>str</EM> must be a terminfo string variable or the return value from
+           <STRONG>tparm</STRONG>, <STRONG>tgetstr</STRONG>, or <STRONG>tgoto</STRONG>.
 
-       <STRONG>o</STRONG>   <EM>affcnt</EM>  is  the  number of lines affected, or 1 if not
-           applicable.
+       <STRONG>o</STRONG>   <EM>affcnt</EM> is the number of lines affected, or 1 if not applicable.
 
-       <STRONG>o</STRONG>   <EM>putc</EM> is a <STRONG>putchar</STRONG>-like routine to which the characters
-           are passed, one at a time.
+       <STRONG>o</STRONG>   <EM>putc</EM>  is a <STRONG>putchar</STRONG>-like routine to which the characters are passed,
+           one at a time.
 
-       The <STRONG>putp</STRONG> routine calls <STRONG>tputs(</STRONG><EM>str</EM><STRONG>,</STRONG> <STRONG>1,</STRONG> <STRONG>putchar)</STRONG>.  The output
-       of <STRONG>putp</STRONG> always goes to <STRONG>stdout</STRONG>,  rather  than  the  <EM>filedes</EM>
-       specified in <STRONG>setupterm</STRONG>.
+       The <STRONG>putp</STRONG> routine calls <STRONG>tputs(</STRONG><EM>str</EM><STRONG>,</STRONG> <STRONG>1,</STRONG> <STRONG>putchar)</STRONG>.  The output of <STRONG>putp</STRONG>  al-
+       ways goes to <STRONG>stdout</STRONG>, rather than the <EM>filedes</EM> specified in <STRONG>setupterm</STRONG>.
 
-       The <STRONG>vidputs</STRONG> routine displays the string on the terminal in
-       the video attribute mode <EM>attrs</EM>, which is  any  combination
-       of  the  attributes  listed in <STRONG><A HREF="ncurses.3x.html">curses(3x)</A></STRONG>.  The characters
-       are passed to the <STRONG>putchar</STRONG>-like routine <EM>putc</EM>.
+       The  <STRONG>vidputs</STRONG>  routine  displays the string on the terminal in the video
+       attribute mode <EM>attrs</EM>, which is any combination of the attributes listed
+       in  <STRONG><A HREF="ncurses.3x.html">curses(3x)</A></STRONG>.   The characters are passed to the <STRONG>putchar</STRONG>-like routine
+       <EM>putc</EM>.
 
-       The <STRONG>vidattr</STRONG> routine is like the  <STRONG>vidputs</STRONG>  routine,  except
-       that it outputs through <STRONG>putchar</STRONG>.
+       The <STRONG>vidattr</STRONG> routine is like the <STRONG>vidputs</STRONG> routine, except that it outputs
+       through <STRONG>putchar</STRONG>.
 
-       The  <STRONG>vid_attr</STRONG>  and <STRONG>vid_puts</STRONG> routines correspond to vidattr
-       and vidputs, respectively.  They use a  set  of  arguments
-       for representing the video attributes plus color, i.e.,
+       The  <STRONG>vid_attr</STRONG>  and <STRONG>vid_puts</STRONG> routines correspond to vidattr and vidputs,
+       respectively.  They use a set of arguments for representing  the  video
+       attributes plus color, i.e.,
 
        <STRONG>o</STRONG>   <EM>attrs</EM> of type <STRONG>attr_t</STRONG> for the attributes and
 
        <STRONG>o</STRONG>   <EM>pair</EM> of type <STRONG>short</STRONG> for the color-pair number.
 
-       The <STRONG>vid_attr</STRONG> and <STRONG>vid_puts</STRONG> routines are designed to use the
-       attribute constants with the <EM>WA</EM><STRONG>_</STRONG> prefix.
+       The  <STRONG>vid_attr</STRONG>  and  <STRONG>vid_puts</STRONG> routines are designed to use the attribute
+       constants with the <EM>WA</EM><STRONG>_</STRONG> prefix.
 
-       X/Open Curses reserves the <EM>opts</EM> argument for  future  use,
-       saying  that  applications must provide a null pointer for
-       that argument.  As an extension, this  implementation  al-
-       lows  <EM>opts</EM> to be used as a pointer to <STRONG>int</STRONG>, which overrides
-       the <EM>pair</EM> (<STRONG>short</STRONG>) argument.
+       X/Open Curses reserves the <EM>opts</EM> argument for future  use,  saying  that
+       applications  must provide a null pointer for that argument.  As an ex-
+       tension, this implementation allows <EM>opts</EM> to be used  as  a  pointer  to
+       <STRONG>int</STRONG>, which overrides the <EM>pair</EM> (<STRONG>short</STRONG>) argument.
 
-       The <STRONG>mvcur</STRONG> routine provides low-level  cursor  motion.   It
-       takes  effect  immediately  (rather  than  at the next re-
-       fresh).
+       The  <STRONG>mvcur</STRONG>  routine  provides low-level cursor motion.  It takes effect
+       immediately (rather than at the next refresh).
 
 
 </PRE><H3><a name="h3-Terminal-Capability-Functions">Terminal Capability Functions</a></H3><PRE>
-       The <STRONG>tigetflag</STRONG>, <STRONG>tigetnum</STRONG> and <STRONG>tigetstr</STRONG> routines  return  the
-       value of the capability corresponding to the <STRONG>terminfo</STRONG> <EM>cap-</EM>
-       <EM>name</EM> passed to them, such as <STRONG>xenl</STRONG>.  The <EM>capname</EM>  for  each
-       capability  is  given in the table column entitled <EM>capname</EM>
-       code in the capabilities section of <STRONG><A HREF="terminfo.5.html">terminfo(5)</A></STRONG>.
+       The <STRONG>tigetflag</STRONG>, <STRONG>tigetnum</STRONG> and <STRONG>tigetstr</STRONG> routines return the value  of  the
+       capability  corresponding  to the <STRONG>terminfo</STRONG> <EM>capname</EM> passed to them, such
+       as <STRONG>xenl</STRONG>.  The <EM>capname</EM> for each capability is given in the table  column
+       entitled <EM>capname</EM> code in the capabilities section of <STRONG><A HREF="terminfo.5.html">terminfo(5)</A></STRONG>.
 
        These routines return special values to denote errors.
 
 
        <STRONG>-1</STRONG>     if <EM>capname</EM> is not a boolean capability, or
 
-       <STRONG>0</STRONG>      if it is canceled or absent from the  terminal  de-
-              scription.
+       <STRONG>0</STRONG>      if it is canceled or absent from the terminal description.
 
        The <STRONG>tigetnum</STRONG> routine returns
 
        <STRONG>-2</STRONG>     if <EM>capname</EM> is not a numeric capability, or
 
-       <STRONG>-1</STRONG>     if  it  is canceled or absent from the terminal de-
-              scription.
+       <STRONG>-1</STRONG>     if it is canceled or absent from the terminal description.
 
        The <STRONG>tigetstr</STRONG> routine returns
 
        <STRONG>(char</STRONG> <STRONG>*)-1</STRONG>
               if <EM>capname</EM> is not a string capability, or
 
-       <STRONG>0</STRONG>      if it is canceled or absent from the  terminal  de-
-              scription.
+       <STRONG>0</STRONG>      if it is canceled or absent from the terminal description.
 
 
 </PRE><H3><a name="h3-Terminal-Capability-Names">Terminal Capability Names</a></H3><PRE>
 
        for each of the predefined <STRONG>terminfo</STRONG> variables:
 
-              <STRONG>const</STRONG>   <STRONG>char</STRONG>  <STRONG>*boolnames[]</STRONG>,  <STRONG>*boolcodes[]</STRONG>,  <STRONG>*boolf-</STRONG>
-              <STRONG>names[]</STRONG>
+              <STRONG>const</STRONG> <STRONG>char</STRONG> <STRONG>*boolnames[]</STRONG>, <STRONG>*boolcodes[]</STRONG>, <STRONG>*boolfnames[]</STRONG>
               <STRONG>const</STRONG> <STRONG>char</STRONG> <STRONG>*numnames[]</STRONG>, <STRONG>*numcodes[]</STRONG>, <STRONG>*numfnames[]</STRONG>
               <STRONG>const</STRONG> <STRONG>char</STRONG> <STRONG>*strnames[]</STRONG>, <STRONG>*strcodes[]</STRONG>, <STRONG>*strfnames[]</STRONG>
 
 
 </PRE><H2><a name="h2-RETURN-VALUE">RETURN VALUE</a></H2><PRE>
-       Routines that return an integer return  <STRONG>ERR</STRONG>  upon  failure
-       and  <STRONG>OK</STRONG>  (SVr4 only specifies "an integer value other than
-       <STRONG>ERR</STRONG>") upon successful completion, unless  otherwise  noted
-       in the preceding routine descriptions.
+       Routines  that  return  an integer return <STRONG>ERR</STRONG> upon failure and <STRONG>OK</STRONG> (SVr4
+       only specifies "an integer value other than <STRONG>ERR</STRONG>") upon successful  com-
+       pletion, unless otherwise noted in the preceding routine descriptions.
 
        Routines that return pointers always return <STRONG>NULL</STRONG> on error.
 
-       X/Open  defines  no error conditions.  In this implementa-
-       tion
+       X/Open defines no error conditions.  In this implementation
 
           <STRONG>del_curterm</STRONG>
-               returns an error  if  its  terminal  parameter  is
-               null.
+               returns an error if its terminal parameter is null.
 
           <STRONG>putp</STRONG> calls <STRONG>tputs</STRONG>, returning the same error-codes.
 
           <STRONG>restartterm</STRONG>
-               returns  an  error  if  the associated call to <STRONG>se-</STRONG>
-               <STRONG>tupterm</STRONG> returns an error.
+               returns an error if the associated call to <STRONG>setupterm</STRONG> returns an
+               error.
 
           <STRONG>setupterm</STRONG>
-               returns an error if it cannot allocate enough mem-
-               ory,   or  create  the  initial  windows  (stdscr,
-               curscr, newscr).  Other error conditions are docu-
-               mented above.
+               returns an error if it cannot allocate enough memory, or create
+               the initial windows (stdscr, curscr, newscr).  Other error con-
+               ditions are documented above.
 
           <STRONG>tputs</STRONG>
-               returns  an error if the string parameter is null.
-               It does not detect I/O errors: X/Open states  that
-               <STRONG>tputs</STRONG> ignores the return value of the output func-
-               tion <EM>putc</EM>.
+               returns an error if the string parameter is null.  It does  not
+               detect  I/O errors: X/Open states that <STRONG>tputs</STRONG> ignores the return
+               value of the output function <EM>putc</EM>.
 
 
 </PRE><H2><a name="h2-PORTABILITY">PORTABILITY</a></H2><PRE>
 </PRE><H3><a name="h3-Legacy-functions">Legacy functions</a></H3><PRE>
        X/Open notes that <STRONG>vidattr</STRONG> and <STRONG>vidputs</STRONG> may be macros.
 
-       The function <STRONG>setterm</STRONG> is not described by X/Open  and  must
-       be  considered  non-portable.   All other functions are as
-       described by X/Open.
+       The function <STRONG>setterm</STRONG> is not described by X/Open and must be  considered
+       non-portable.  All other functions are as described by X/Open.
 
 
 </PRE><H3><a name="h3-Legacy-data">Legacy data</a></H3><PRE>
-       <STRONG>setupterm</STRONG> copies the terminal name to the  array  <STRONG>ttytype</STRONG>.
-       This  is not part of X/Open Curses, but is assumed by some
-       applications.
+       <STRONG>setupterm</STRONG>  copies  the terminal name to the array <STRONG>ttytype</STRONG>.  This is not
+       part of X/Open Curses, but is assumed by some applications.
 
-       Other implementions may not declare  the  capability  name
-       arrays.  Some provide them without declaring them.  X/Open
-       does not specify them.
+       Other implementions may not declare the capability name  arrays.   Some
+       provide them without declaring them.  X/Open does not specify them.
 
-       Extended terminal capability names, e.g.,  as  defined  by
-       <STRONG>tic</STRONG> <STRONG>-x</STRONG>, are not stored in the arrays described here.
+       Extended terminal capability names, e.g., as defined by <STRONG>tic</STRONG> <STRONG>-x</STRONG>, are not
+       stored in the arrays described here.
 
 
 </PRE><H3><a name="h3-Output-buffering">Output buffering</a></H3><PRE>
-       Older versions of <STRONG>ncurses</STRONG> assumed that the file descriptor
-       passed to <STRONG>setupterm</STRONG> from <STRONG>initscr</STRONG> or <STRONG>newterm</STRONG> uses  buffered
-       I/O,  and would write to the corresponding stream.  In ad-
-       dition to the limitation that the  terminal  was  left  in
-       block-buffered mode on exit (like System V curses), it was
-       problematic because <STRONG>ncurses</STRONG> did not allow a  reliable  way
-       to cleanup on receiving SIGTSTP.
-
-       The current version (ncurses6) uses output buffers managed
-       directly by <STRONG>ncurses</STRONG>.  Some of the low-level functions  de-
-       scribed  in this manual page write to the standard output.
-       They are not signal-safe.   The  high-level  functions  in
-       <STRONG>ncurses</STRONG>  use  alternate  versions of these functions using
+       Older versions of <STRONG>ncurses</STRONG> assumed that the file  descriptor  passed  to
+       <STRONG>setupterm</STRONG> from <STRONG>initscr</STRONG> or <STRONG>newterm</STRONG> uses buffered I/O, and would write to
+       the corresponding stream.  In addition to the limitation that the  ter-
+       minal  was  left in block-buffered mode on exit (like System V curses),
+       it was problematic because <STRONG>ncurses</STRONG> did not  allow  a  reliable  way  to
+       cleanup on receiving SIGTSTP.
+
+       The  current version (ncurses6) uses output buffers managed directly by
+       <STRONG>ncurses</STRONG>.  Some of the low-level functions described in this manual page
+       write to the standard output.  They are not signal-safe.  The high-lev-
+       el functions in <STRONG>ncurses</STRONG> use alternate versions of these functions using
        the more reliable buffering scheme.
 
 
 </PRE><H3><a name="h3-Function-prototypes">Function prototypes</a></H3><PRE>
-       The X/Open Curses prototypes are based on the SVr4  curses
-       header  declarations,  which were defined at the same time
-       the C language was first standardized in the late 1980s.
+       The X/Open Curses prototypes are based on the SVr4 curses header decla-
+       rations, which were defined at the same time the C language  was  first
+       standardized in the late 1980s.
 
-       <STRONG>o</STRONG>   X/Open Curses uses <STRONG>const</STRONG> less effectively than a later
-           design  might, in some cases applying it needlessly to
-           values are already constant, and in most  cases  over-
-           looking  parameters  which  normally  would use <STRONG>const</STRONG>.
-           Using constant parameters for functions which  do  not
-           use  <STRONG>const</STRONG> may prevent the program from compiling.  On
-           the other hand, <EM>writable</EM> <EM>strings</EM>  are  an  obsolescent
-           feature.
+       <STRONG>o</STRONG>   X/Open  Curses  uses  <STRONG>const</STRONG>  less  effectively  than a later design
+           might, in some cases applying it needlessly to values  are  already
+           constant,  and  in most cases overlooking parameters which normally
+           would use <STRONG>const</STRONG>.  Using constant parameters for functions which  do
+           not use <STRONG>const</STRONG> may prevent the program from compiling.  On the other
+           hand, <EM>writable</EM> <EM>strings</EM> are an obsolescent feature.
 
-           As an extension, this implementation can be configured
-           to change the function prototypes  to  use  the  <STRONG>const</STRONG>
-           keyword.   The  ncurses  ABI 6 enables this feature by
-           default.
+           As an extension, this implementation can be  configured  to  change
+           the  function prototypes to use the <STRONG>const</STRONG> keyword.  The ncurses ABI
+           6 enables this feature by default.
 
-       <STRONG>o</STRONG>   X/Open Curses prototypes <STRONG>tparm</STRONG> with a fixed number  of
-           parameters, rather than a variable argument list.
+       <STRONG>o</STRONG>   X/Open Curses prototypes <STRONG>tparm</STRONG> with a fixed number  of  parameters,
+           rather than a variable argument list.
 
-           This implementation uses a variable argument list, but
-           can be configured to  use  the  fixed-parameter  list.
-           Portable  applications should provide 9 parameters af-
-           ter the format; zeroes are fine for this purpose.
+           This  implementation uses a variable argument list, but can be con-
+           figured to use the  fixed-parameter  list.   Portable  applications
+           should  provide  9 parameters after the format; zeroes are fine for
+           this purpose.
 
-           In response to review comments by  Thomas  E.  Dickey,
-           X/Open  Curses Issue 7 proposed the <STRONG>tiparm</STRONG> function in
-           mid-2009.
+           In response to review comments by Thomas E. Dickey,  X/Open  Curses
+           Issue 7 proposed the <STRONG>tiparm</STRONG> function in mid-2009.
 
 
 </PRE><H3><a name="h3-Special-TERM-treatment">Special TERM treatment</a></H3><PRE>
-       If configured to use the terminal-driver,  e.g.,  for  the
-       MinGW port,
+       If configured to use the terminal-driver, e.g., for the MinGW port,
 
-       <STRONG>o</STRONG>   <STRONG>setupterm</STRONG>  interprets a missing/empty TERM variable as
-           the special value "unknown".
+       <STRONG>o</STRONG>   <STRONG>setupterm</STRONG>  interprets  a missing/empty TERM variable as the special
+           value "unknown".
 
-       <STRONG>o</STRONG>   <STRONG>setupterm</STRONG> allows explicit use of the the windows  con-
-           sole driver by checking if $TERM is set to "#win32con"
-           or an abbreviation of that string.
+       <STRONG>o</STRONG>   <STRONG>setupterm</STRONG> allows explicit use of the the windows console driver  by
+           checking  if $TERM is set to "#win32con" or an abbreviation of that
+           string.
 
 
 </PRE><H3><a name="h3-Other-portability-issues">Other portability issues</a></H3><PRE>
-       In System V Release 4, <STRONG>set_curterm</STRONG> has an <STRONG>int</STRONG> return  type
-       and  returns  <STRONG>OK</STRONG>  or <STRONG>ERR</STRONG>.  We have chosen to implement the
-       X/Open Curses semantics.
+       In System V Release 4, <STRONG>set_curterm</STRONG> has an <STRONG>int</STRONG> return type  and  returns
+       <STRONG>OK</STRONG> or <STRONG>ERR</STRONG>.  We have chosen to implement the X/Open Curses semantics.
 
-       In System V Release 4, the third argument of <STRONG>tputs</STRONG> has the
-       type <STRONG>int</STRONG> <STRONG>(*putc)(char)</STRONG>.
+       In  System  V  Release  4, the third argument of <STRONG>tputs</STRONG> has the type <STRONG>int</STRONG>
+       <STRONG>(*putc)(char)</STRONG>.
 
-       At least one implementation of X/Open Curses (Solaris) re-
-       turns a value other than OK/ERR from <STRONG>tputs</STRONG>.  That  returns
-       the length of the string, and does no error-checking.
+       At least one implementation of X/Open Curses (Solaris) returns a  value
+       other  than  OK/ERR from <STRONG>tputs</STRONG>.  That returns the length of the string,
+       and does no error-checking.
 
-       X/Open  notes  that  after calling <STRONG>mvcur</STRONG>, the curses state
-       may not match the actual terminal state, and that  an  ap-
-       plication  should  touch and refresh the window before re-
-       suming normal curses calls.  Both <STRONG>ncurses</STRONG> and System V Re-
-       lease 4 curses implement <STRONG>mvcur</STRONG> using the SCREEN data allo-
-       cated in either <STRONG>initscr</STRONG> or <STRONG>newterm</STRONG>.  So though it is docu-
-       mented  as  a  terminfo function, <STRONG>mvcur</STRONG> is really a curses
-       function which is not well specified.
+       X/Open notes that after calling <STRONG>mvcur</STRONG>, the curses state may  not  match
+       the actual terminal state, and that an application should touch and re-
+       fresh the window before resuming normal curses calls.  Both <STRONG>ncurses</STRONG> and
+       System  V  Release 4 curses implement <STRONG>mvcur</STRONG> using the SCREEN data allo-
+       cated in either <STRONG>initscr</STRONG> or <STRONG>newterm</STRONG>.  So though it is  documented  as  a
+       terminfo  function, <STRONG>mvcur</STRONG> is really a curses function which is not well
+       specified.
 
-       X/Open states that the old  location  must  be  given  for
-       <STRONG>mvcur</STRONG>.   This implementation allows the caller to use -1's
-       for the old ordinates.  In that case, the old location  is
-       unknown.
+       X/Open states that the old location must be given for <STRONG>mvcur</STRONG>.  This  im-
+       plementation  allows  the caller to use -1's for the old ordinates.  In
+       that case, the old location is unknown.
 
 
 </PRE><H2><a name="h2-SEE-ALSO">SEE ALSO</a></H2><PRE>
-       <STRONG><A HREF="ncurses.3x.html">curses(3x)</A></STRONG>,  <STRONG><A HREF="curs_initscr.3x.html">curs_initscr(3x)</A></STRONG>, <STRONG><A HREF="curs_kernel.3x.html">curs_kernel(3x)</A></STRONG>, <STRONG>curs_term-</STRONG>
-       <STRONG><A HREF="curs_termcap.3x.html">cap(3x)</A></STRONG>, <STRONG><A HREF="curs_variables.3x.html">curs_variables(3x)</A></STRONG>, <STRONG><A HREF="term_variables.3x.html">term_variables(3x)</A></STRONG>,  <STRONG>putc(3)</STRONG>,
-       <STRONG><A HREF="terminfo.5.html">terminfo(5)</A></STRONG>
+       <STRONG><A HREF="ncurses.3x.html">curses(3x)</A></STRONG>,   <STRONG><A HREF="curs_initscr.3x.html">curs_initscr(3x)</A></STRONG>,   <STRONG><A HREF="curs_kernel.3x.html">curs_kernel(3x)</A></STRONG>,    <STRONG><A HREF="curs_termcap.3x.html">curs_termcap(3x)</A></STRONG>,
+       <STRONG><A HREF="curs_variables.3x.html">curs_variables(3x)</A></STRONG>, <STRONG><A HREF="term_variables.3x.html">term_variables(3x)</A></STRONG>, <STRONG>putc(3)</STRONG>, <STRONG><A HREF="terminfo.5.html">terminfo(5)</A></STRONG>
 
 
 
-                                                      <STRONG><A HREF="curs_terminfo.3x.html">curs_terminfo(3x)</A></STRONG>
+                                                             <STRONG><A HREF="curs_terminfo.3x.html">curs_terminfo(3x)</A></STRONG>
 </PRE>
 <div class="nav">
 <ul>
index dd19f4337e0e1a74b761600488cc732348bd49d8..11b85c812c5b25dbd743dee9bf7671041aa55884 100644 (file)
@@ -42,7 +42,7 @@
 <BODY>
 <H1 class="no-header">curs_threads 3x</H1>
 <PRE>
-<STRONG><A HREF="curs_threads.3x.html">curs_threads(3x)</A></STRONG>                                       <STRONG><A HREF="curs_threads.3x.html">curs_threads(3x)</A></STRONG>
+<STRONG><A HREF="curs_threads.3x.html">curs_threads(3x)</A></STRONG>                                              <STRONG><A HREF="curs_threads.3x.html">curs_threads(3x)</A></STRONG>
 
 
 
        <STRONG>int</STRONG> <STRONG>get_escdelay(void);</STRONG>
        <STRONG>int</STRONG> <STRONG>set_escdelay(int</STRONG> <STRONG>size);</STRONG>
        <STRONG>int</STRONG> <STRONG>set_tabsize(int</STRONG> <STRONG>size);</STRONG>
-       <STRONG>int</STRONG>  <STRONG>use_screen(SCREEN</STRONG>  <STRONG>*scr,</STRONG> <STRONG>NCURSES_SCREEN_CB</STRONG> <STRONG>func,</STRONG> <STRONG>void</STRONG>
-       <STRONG>*data);</STRONG>
-       <STRONG>int</STRONG> <STRONG>use_window(WINDOW</STRONG> <STRONG>*win,</STRONG> <STRONG>NCURSES_WINDOW_CB</STRONG>  <STRONG>func,</STRONG>  <STRONG>void</STRONG>
-       <STRONG>*data);</STRONG>
+       <STRONG>int</STRONG> <STRONG>use_screen(SCREEN</STRONG> <STRONG>*scr,</STRONG> <STRONG>NCURSES_SCREEN_CB</STRONG> <STRONG>func,</STRONG> <STRONG>void</STRONG> <STRONG>*data);</STRONG>
+       <STRONG>int</STRONG> <STRONG>use_window(WINDOW</STRONG> <STRONG>*win,</STRONG> <STRONG>NCURSES_WINDOW_CB</STRONG> <STRONG>func,</STRONG> <STRONG>void</STRONG> <STRONG>*data);</STRONG>
 
 
 </PRE><H2><a name="h2-DESCRIPTION">DESCRIPTION</a></H2><PRE>
-       This  implementation can be configured to provide rudimen-
-       tary support for multi-threaded applications.  This  makes
-       a  different set of libraries, e.g., <EM>libncursest</EM> since the
-       binary interfaces are different.
-
-       Rather than modify the interfaces to pass a thread  speci-
-       fier  to  each function, it adds a few functions which can
-       be used in any configuration which hide the mutex's needed
-       to  prevent  concurrent  use  of the global variables when
-       configured for threading.
-
-       In addition to forcing access to  members  of  the  <STRONG>WINDOW</STRONG>
-       structure  to  be  via functions (see <STRONG><A HREF="curs_opaque.3x.html">curs_opaque(3x)</A></STRONG>), it
-       makes functions of the common global variables, e.g., COL-
-       ORS,  COLOR_PAIRS,  COLS, ESCDELAY, LINES, TABSIZE curscr,
-       newscr and ttytype.  Those  variables  are  maintained  as
+       This  implementation  can  be configured to provide rudimentary support
+       for multi-threaded applications.  This makes a  different  set  of  li-
+       braries, e.g., <EM>libncursest</EM> since the binary interfaces are different.
+
+       Rather  than  modify  the interfaces to pass a thread specifier to each
+       function, it adds a few functions which can be used in  any  configura-
+       tion  which  hide  the  mutex's needed to prevent concurrent use of the
+       global variables when configured for threading.
+
+       In addition to forcing access to members of the <STRONG>WINDOW</STRONG> structure to  be
+       via  functions  (see <STRONG><A HREF="curs_opaque.3x.html">curs_opaque(3x)</A></STRONG>), it makes functions of the common
+       global variables, e.g., COLORS,  COLOR_PAIRS,  COLS,  ESCDELAY,  LINES,
+       TABSIZE  curscr, newscr and ttytype.  Those variables are maintained as
        read-only values, stored in the <STRONG>SCREEN</STRONG> structure.
 
-       Even  this is not enough to make a thread-safe application
-       using curses.  A multi-threaded application would  be  ex-
-       pected  to  have threads updating separate windows (within
-       the same device), or updating on separate screens (on dif-
-       ferent  devices).  Also, a few of the global variables are
-       considered writable by some applications.   The  functions
-       described here address these special situations.
+       Even this is not enough to make a thread-safe application using curses.
+       A multi-threaded application would be expected to have threads updating
+       separate windows (within the same  device),  or  updating  on  separate
+       screens  (on  different  devices).  Also, a few of the global variables
+       are considered writable by some applications.  The functions  described
+       here address these special situations.
 
-       The  ESCDELAY and TABSIZE global variables are modified by
-       some applications.  To modify them in  any  configuration,
-       use  the  <STRONG>set_escdelay</STRONG>  or  <STRONG>set_tabsize</STRONG>  functions.  Other
-       global variables are not modifiable.
+       The ESCDELAY and TABSIZE global variables are modified by some applica-
+       tions.  To modify them in any configuration, use  the  <STRONG>set_escdelay</STRONG>  or
+       <STRONG>set_tabsize</STRONG> functions.  Other global variables are not modifiable.
 
        The <STRONG>get_escdelay</STRONG> function returns the value for ESCDELAY.
 
-       The <STRONG>use_window</STRONG> and  <STRONG>use_screen</STRONG>  functions  provide  coarse
-       granularity mutexes for their respective <STRONG>WINDOW</STRONG> and <STRONG>SCREEN</STRONG>
-       parameters, and call a user-supplied function, passing  it
-       a  <EM>data</EM>  parameter, and returning the value from the user-
-       supplied function to the application.
+       The  <STRONG>use_window</STRONG> and <STRONG>use_screen</STRONG> functions provide coarse granularity mu-
+       texes for their respective <STRONG>WINDOW</STRONG> and <STRONG>SCREEN</STRONG> parameters, and call a us-
+       er-supplied  function,  passing  it a <EM>data</EM> parameter, and returning the
+       value from the user-supplied function to the application.
 
 
 </PRE><H3><a name="h3-USAGE">USAGE</a></H3><PRE>
-       All of the ncurses library functions assume that  the  lo-
-       cale  is  not altered during operation.  In addition, they
-       use data which is maintained within a hierarchy of scopes.
-
-          <STRONG>o</STRONG>   global data, e.g., used in the  low-level  terminfo
-              or termcap interfaces.
-
-          <STRONG>o</STRONG>   terminal  data,  e.g.,  associated  with  a call to
-              <EM>set</EM><STRONG>_</STRONG><EM>curterm</EM>.  The  terminal  data  are  initialized
-              when screens are created.
-
-          <STRONG>o</STRONG>   screen  data,  e.g.,  associated  with  a  call  to
-              <EM>newterm</EM> or <EM>initscr</EM>.
-
-          <STRONG>o</STRONG>   window data, e.g., associated with a call to <EM>newwin</EM>
-              or  <EM>subwin</EM>.   Windows  are associated with screens.
-              Pads are not necessarily associated with a particu-
-              lar screen.
-
-              Most  curses  applications  operate  on one or more
-              windows within a single screen.
-
-          <STRONG>o</STRONG>   reentrant, i.e., it uses only the  data  passed  as
-              parameters.
-
-       This table lists the scope of data used for each symbol in
-       the ncurses library  when  it  is  configured  to  support
-       threading:
-
-      Symbol                  Scope
-      -------------------------------------------------------------
-      BC                      global
-      COLORS                  screen (readonly)
-      COLOR_PAIR              reentrant
-      COLOR_PAIRS             screen (readonly)
-      COLS                    screen (readonly)
-      ESCDELAY                screen (readonly, see <EM>set</EM><STRONG>_</STRONG><EM>escdelay</EM>)
-      LINES                   screen (readonly)
-      PAIR_NUMBER             reentrant
-      PC                      global
-      SP                      global
-      TABSIZE                 screen (readonly)
-      UP                      global
-      acs_map                 screen (readonly)
-      add_wch                 window (stdscr)
-      add_wchnstr             window (stdscr)
-      add_wchstr              window (stdscr)
-      addch                   window (stdscr)
-      addchnstr               window (stdscr)
-      addchstr                window (stdscr)
-      addnstr                 window (stdscr)
-      addnwstr                window (stdscr)
-      addstr                  window (stdscr)
-      addwstr                 window (stdscr)
-      assume_default_colors   screen
-      attr_get                window (stdscr)
-      attr_off                window (stdscr)
-      attr_on                 window (stdscr)
-      attr_set                window (stdscr)
-      attroff                 window (stdscr)
-      attron                  window (stdscr)
-      attrset                 window (stdscr)
-      baudrate                screen
-      beep                    screen
-      bkgd                    window (stdscr)
-      bkgdset                 window (stdscr)
-      bkgrnd                  window (stdscr)
-      bkgrndset               window (stdscr)
-      boolcodes               global (readonly)
-      boolfnames              global (readonly)
-      boolnames               global (readonly)
-      border                  window (stdscr)
-
-      border_set              window (stdscr)
-      box                     window (stdscr)
-      box_set                 window (stdscr)
-      can_change_color        terminal
-      cbreak                  screen
-      chgat                   window (stdscr)
-      clear                   window (stdscr)
-      clearok                 window
-      clrtobot                window (stdscr)
-      clrtoeol                window (stdscr)
-      color_content           screen
-      color_set               window (stdscr)
-      copywin                 window locks(source, target)
-      cur_term                terminal
-      curs_set                screen
-      curscr                  screen (readonly)
-      curses_version          global (readonly)
-      def_prog_mode           terminal
-      def_shell_mode          terminal
-      define_key              screen
-      del_curterm             screen
-      delay_output            screen
-      delch                   window (stdscr)
-      deleteln                window (stdscr)
-      delscreen               global locks(screenlist, screen)
-      delwin                  global locks(windowlist)
-      derwin                  screen
-      doupdate                screen
-      dupwin                  screen locks(window)
-      echo                    screen
-      echo_wchar              window (stdscr)
-      echochar                window (stdscr)
-      endwin                  screen
-      erase                   window (stdscr)
-      erasechar               window (stdscr)
-      erasewchar              window (stdscr)
-      filter                  global
-      flash                   terminal
-      flushinp                screen
-      get_wch                 screen (input-operation)
-      get_wstr                screen (input-operation)
-      getattrs                window
-      getbegx                 window
-      getbegy                 window
-      getbkgd                 window
-      getbkgrnd               window
-      getcchar                reentrant
-      getch                   screen (input-operation)
-      getcurx                 window
-      getcury                 window
-      getmaxx                 window
-      getmaxy                 window
-      getmouse                screen (input-operation)
-      getn_wstr               screen (input-operation)
-      getnstr                 screen (input-operation)
-      getparx                 window
-      getpary                 window
-      getstr                  screen (input-operation)
-      getwin                  screen (input-operation)
-      halfdelay               screen
-      has_colors              terminal
-      has_ic                  terminal
-      has_il                  terminal
-      has_key                 screen
-      hline                   window (stdscr)
-      hline_set               window (stdscr)
-
-      idcok                   window
-      idlok                   window
-      immedok                 window
-      in_wch                  window (stdscr)
-      in_wchnstr              window (stdscr)
-      in_wchstr               window (stdscr)
-      inch                    window (stdscr)
-      inchnstr                window (stdscr)
-      inchstr                 window (stdscr)
-      init_color              screen
-      init_pair               screen
-      initscr                 global locks(screenlist)
-      innstr                  window (stdscr)
-      innwstr                 window (stdscr)
-      ins_nwstr               window (stdscr)
-      ins_wch                 window (stdscr)
-      ins_wstr                window (stdscr)
-      insch                   window (stdscr)
-      insdelln                window (stdscr)
-      insertln                window (stdscr)
-      insnstr                 window (stdscr)
-      insstr                  window (stdscr)
-      instr                   window (stdscr)
-      intrflush               terminal
-      inwstr                  window (stdscr)
-      is_cleared              window
-      is_idcok                window
-      is_idlok                window
-      is_immedok              window
-      is_keypad               window
-      is_leaveok              window
-      is_linetouched          window
-      is_nodelay              window
-      is_notimeout            window
-      is_scrollok             window
-      is_syncok               window
-      is_term_resized         terminal
-      is_wintouched           window
-      isendwin                screen
-      key_defined             screen
-      key_name                global (static data)
-      keybound                screen
-      keyname                 global (static data)
-      keyok                   screen
-      keypad                  window
-      killchar                terminal
-      killwchar               terminal
-      leaveok                 window
-      longname                screen
-      mcprint                 terminal
-      meta                    screen
-      mouse_trafo             window (stdscr)
-      mouseinterval           screen
-      mousemask               screen
-      move                    window (stdscr)
-      mvadd_wch               window (stdscr)
-      mvadd_wchnstr           window (stdscr)
-      mvadd_wchstr            window (stdscr)
-      mvaddch                 window (stdscr)
-      mvaddchnstr             window (stdscr)
-      mvaddchstr              window (stdscr)
-      mvaddnstr               window (stdscr)
-      mvaddnwstr              window (stdscr)
-      mvaddstr                window (stdscr)
-      mvaddwstr               window (stdscr)
-      mvchgat                 window (stdscr)
-
-      mvcur                   screen
-      mvdelch                 window (stdscr)
-      mvderwin                window (stdscr)
-      mvget_wch               screen (input-operation)
-      mvget_wstr              screen (input-operation)
-      mvgetch                 screen (input-operation)
-      mvgetn_wstr             screen (input-operation)
-      mvgetnstr               screen (input-operation)
-      mvgetstr                screen (input-operation)
-      mvhline                 window (stdscr)
-      mvhline_set             window (stdscr)
-      mvin_wch                window (stdscr)
-      mvin_wchnstr            window (stdscr)
-      mvin_wchstr             window (stdscr)
-      mvinch                  window (stdscr)
-      mvinchnstr              window (stdscr)
-      mvinchstr               window (stdscr)
-      mvinnstr                window (stdscr)
-      mvinnwstr               window (stdscr)
-      mvins_nwstr             window (stdscr)
-      mvins_wch               window (stdscr)
-      mvins_wstr              window (stdscr)
-      mvinsch                 window (stdscr)
-      mvinsnstr               window (stdscr)
-      mvinsstr                window (stdscr)
-      mvinstr                 window (stdscr)
-      mvinwstr                window (stdscr)
-      mvprintw                window (stdscr)
-      mvscanw                 screen
-      mvvline                 window (stdscr)
-      mvvline_set             window (stdscr)
-      mvwadd_wch              window
-      mvwadd_wchnstr          window
-      mvwadd_wchstr           window
-      mvwaddch                window
-      mvwaddchnstr            window
-      mvwaddchstr             window
-      mvwaddnstr              window
-      mvwaddnwstr             window
-      mvwaddstr               window
-      mvwaddwstr              window
-      mvwchgat                window
-      mvwdelch                window
-      mvwget_wch              screen (input-operation)
-      mvwget_wstr             screen (input-operation)
-      mvwgetch                screen (input-operation)
-      mvwgetn_wstr            screen (input-operation)
-      mvwgetnstr              screen (input-operation)
-      mvwgetstr               screen (input-operation)
-      mvwhline                window
-      mvwhline_set            window
-      mvwin                   window
-      mvwin_wch               window
-      mvwin_wchnstr           window
-      mvwin_wchstr            window
-      mvwinch                 window
-      mvwinchnstr             window
-      mvwinchstr              window
-      mvwinnstr               window
-      mvwinnwstr              window
-      mvwins_nwstr            window
-      mvwins_wch              window
-      mvwins_wstr             window
-      mvwinsch                window
-      mvwinsnstr              window
-      mvwinsstr               window
-
-      mvwinstr                window
-      mvwinwstr               window
-      mvwprintw               window
-      mvwscanw                screen
-      mvwvline                window
-      mvwvline_set            window
-      napms                   reentrant
-      newpad                  global locks(windowlist)
-      newscr                  screen (readonly)
-      newterm                 global locks(screenlist)
-      newwin                  global locks(windowlist)
-      nl                      screen
-      nocbreak                screen
-      nodelay                 window
-      noecho                  screen
-      nofilter                global
-      nonl                    screen
-      noqiflush               terminal
-      noraw                   screen
-      notimeout               window
-      numcodes                global (readonly)
-      numfnames               global (readonly)
-      numnames                global (readonly)
-      ospeed                  global
-      overlay                 window locks(source, target)
-      overwrite               window locks(source, target)
-      pair_content            screen
-      pecho_wchar             screen
-      pechochar               screen
-      pnoutrefresh            screen
-      prefresh                screen
-      printw                  window
-      putp                    global
-      putwin                  window
-      qiflush                 terminal
-      raw                     screen
-      redrawwin               window
-      refresh                 screen
-      reset_prog_mode         screen
-      reset_shell_mode        screen
-      resetty                 terminal
-      resize_term             screen locks(windowlist)
-      resizeterm              screen
-      restartterm             screen
-      ripoffline              global (static data)
-      savetty                 terminal
-      scanw                   screen
-      scr_dump                screen
-      scr_init                screen
-      scr_restore             screen
-      scr_set                 screen
-      scrl                    window (stdscr)
-      scroll                  window
-      scrollok                window
-      set_curterm             screen
-      set_escdelay            screen
-      set_tabsize             screen
-      set_term                global locks(screenlist, screen)
-      setcchar                reentrant
-      setscrreg               window (stdscr)
-      setupterm               global
-      slk_attr                screen
-      slk_attr_off            screen
-      slk_attr_on             screen
-      slk_attr_set            screen
-      slk_attroff             screen
-
-      slk_attron              screen
-      slk_attrset             screen
-      slk_clear               screen
-      slk_color               screen
-      slk_init                screen
-      slk_label               screen
-      slk_noutrefresh         screen
-      slk_refresh             screen
-      slk_restore             screen
-      slk_set                 screen
-      slk_touch               screen
-      slk_wset                screen
-      standend                window
-      standout                window
-      start_color             screen
-      stdscr                  screen (readonly)
-      strcodes                global (readonly)
-      strfnames               global (readonly)
-      strnames                global (readonly)
-      subpad                  window
-      subwin                  window
-      syncok                  window
-      term_attrs              screen
-      termattrs               screen
-      termname                terminal
-      tgetent                 global
-      tgetflag                global
-      tgetnum                 global
-      tgetstr                 global
-      tgoto                   global
-      tigetflag               terminal
-      tigetnum                terminal
-      tigetstr                terminal
-      timeout                 window (stdscr)
-      touchline               window
-      touchwin                window
-      tparm                   global (static data)
-      tputs                   screen
-      trace                   global (static data)
-      ttytype                 screen (readonly)
-      typeahead               screen
-      unctrl                  screen
-      unget_wch               screen (input-operation)
-      ungetch                 screen (input-operation)
-      ungetmouse              screen (input-operation)
-      untouchwin              window
-      use_default_colors      screen
-      use_env                 global (static data)
-      use_extended_names      global (static data)
-      use_legacy_coding       screen
-      use_screen              global locks(screenlist, screen)
-      use_window              global locks(windowlist, window)
-      vid_attr                screen
-      vid_puts                screen
-      vidattr                 screen
-      vidputs                 screen
-      vline                   window (stdscr)
-      vline_set               window (stdscr)
-      vw_printw               window
-      vw_scanw                screen
-      vwprintw                window
-      vwscanw                 screen
-      wadd_wch                window
-      wadd_wchnstr            window
-      wadd_wchstr             window
-      waddch                  window
-
-      waddchnstr              window
-      waddchstr               window
-      waddnstr                window
-      waddnwstr               window
-      waddstr                 window
-      waddwstr                window
-      wattr_get               window
-      wattr_off               window
-      wattr_on                window
-      wattr_set               window
-      wattroff                window
-      wattron                 window
-      wattrset                window
-      wbkgd                   window
-      wbkgdset                window
-      wbkgrnd                 window
-      wbkgrndset              window
-      wborder                 window
-      wborder_set             window
-      wchgat                  window
-      wclear                  window
-      wclrtobot               window
-      wclrtoeol               window
-      wcolor_set              window
-      wcursyncup              screen (affects window plus parents)
-      wdelch                  window
-      wdeleteln               window
-      wecho_wchar             window
-      wechochar               window
-      wenclose                window
-      werase                  window
-      wget_wch                screen (input-operation)
-      wget_wstr               screen (input-operation)
-      wgetbkgrnd              window
-      wgetch                  screen (input-operation)
-      wgetdelay               window
-      wgetn_wstr              screen (input-operation)
-      wgetnstr                screen (input-operation)
-      wgetparent              window
-      wgetscrreg              window
-      wgetstr                 screen (input-operation)
-      whline                  window
-      whline_set              window
-      win_wch                 window
-      win_wchnstr             window
-      win_wchstr              window
-      winch                   window
-      winchnstr               window
-      winchstr                window
-      winnstr                 window
-      winnwstr                window
-      wins_nwstr              window
-      wins_wch                window
-      wins_wstr               window
-      winsch                  window
-      winsdelln               window
-      winsertln               window
-      winsnstr                window
-      winsstr                 window
-      winstr                  window
-      winwstr                 window
-      wmouse_trafo            window
-      wmove                   window
-      wnoutrefresh            screen
-      wprintw                 window
-      wredrawln               window
-
-      wrefresh                screen
-      wresize                 window locks(windowlist)
-      wscanw                  screen
-      wscrl                   window
-      wsetscrreg              window
-      wstandend               window
-      wstandout               window
-      wsyncdown               screen (affects window plus parents)
-      wsyncup                 screen (affects window plus parents)
-      wtimeout                window
-      wtouchln                window
-      wunctrl                 global (static data)
-      wvline                  window
-      wvline_set              window
+       All of the ncurses library functions assume that the locale is not  al-
+       tered during operation.  In addition, they use data which is maintained
+       within a hierarchy of scopes.
+
+          <STRONG>o</STRONG>   global data, e.g., used in the low-level terminfo or termcap in-
+              terfaces.
+
+          <STRONG>o</STRONG>   terminal data, e.g., associated with a call to <EM>set</EM><STRONG>_</STRONG><EM>curterm</EM>.  The
+              terminal data are initialized when screens are created.
+
+          <STRONG>o</STRONG>   screen data, e.g., associated with a call to <EM>newterm</EM> or <EM>initscr</EM>.
+
+          <STRONG>o</STRONG>   window data, e.g., associated with a call to <EM>newwin</EM>  or  <EM>subwin</EM>.
+              Windows  are  associated with screens.  Pads are not necessarily
+              associated with a particular screen.
+
+              Most curses applications operate on one or more windows within a
+              single screen.
+
+          <STRONG>o</STRONG>   reentrant, i.e., it uses only the data passed as parameters.
+
+       This  table lists the scope of data used for each symbol in the ncurses
+       library when it is configured to support threading:
+
+            Symbol                  Scope
+            -------------------------------------------------------------
+            BC                      global
+            COLORS                  screen (readonly)
+            COLOR_PAIR              reentrant
+            COLOR_PAIRS             screen (readonly)
+            COLS                    screen (readonly)
+            ESCDELAY                screen (readonly, see <EM>set</EM><STRONG>_</STRONG><EM>escdelay</EM>)
+            LINES                   screen (readonly)
+            PAIR_NUMBER             reentrant
+            PC                      global
+            SP                      global
+            TABSIZE                 screen (readonly)
+            UP                      global
+            acs_map                 screen (readonly)
+            add_wch                 window (stdscr)
+            add_wchnstr             window (stdscr)
+            add_wchstr              window (stdscr)
+            addch                   window (stdscr)
+            addchnstr               window (stdscr)
+            addchstr                window (stdscr)
+            addnstr                 window (stdscr)
+            addnwstr                window (stdscr)
+            addstr                  window (stdscr)
+            addwstr                 window (stdscr)
+            assume_default_colors   screen
+            attr_get                window (stdscr)
+            attr_off                window (stdscr)
+            attr_on                 window (stdscr)
+            attr_set                window (stdscr)
+            attroff                 window (stdscr)
+            attron                  window (stdscr)
+            attrset                 window (stdscr)
+            baudrate                screen
+            beep                    screen
+            bkgd                    window (stdscr)
+            bkgdset                 window (stdscr)
+            bkgrnd                  window (stdscr)
+            bkgrndset               window (stdscr)
+            boolcodes               global (readonly)
+            boolfnames              global (readonly)
+            boolnames               global (readonly)
+            border                  window (stdscr)
+            border_set              window (stdscr)
+            box                     window (stdscr)
+            box_set                 window (stdscr)
+            can_change_color        terminal
+            cbreak                  screen
+            chgat                   window (stdscr)
+            clear                   window (stdscr)
+            clearok                 window
+            clrtobot                window (stdscr)
+            clrtoeol                window (stdscr)
+            color_content           screen
+            color_set               window (stdscr)
+            copywin                 window locks(source, target)
+
+            cur_term                terminal
+            curs_set                screen
+            curscr                  screen (readonly)
+            curses_version          global (readonly)
+            def_prog_mode           terminal
+            def_shell_mode          terminal
+            define_key              screen
+            del_curterm             screen
+            delay_output            screen
+            delch                   window (stdscr)
+            deleteln                window (stdscr)
+            delscreen               global locks(screenlist, screen)
+            delwin                  global locks(windowlist)
+            derwin                  screen
+            doupdate                screen
+            dupwin                  screen locks(window)
+            echo                    screen
+            echo_wchar              window (stdscr)
+            echochar                window (stdscr)
+            endwin                  screen
+            erase                   window (stdscr)
+            erasechar               window (stdscr)
+            erasewchar              window (stdscr)
+            filter                  global
+            flash                   terminal
+            flushinp                screen
+            get_wch                 screen (input-operation)
+            get_wstr                screen (input-operation)
+            getattrs                window
+            getbegx                 window
+            getbegy                 window
+            getbkgd                 window
+            getbkgrnd               window
+            getcchar                reentrant
+            getch                   screen (input-operation)
+            getcurx                 window
+            getcury                 window
+            getmaxx                 window
+            getmaxy                 window
+            getmouse                screen (input-operation)
+            getn_wstr               screen (input-operation)
+            getnstr                 screen (input-operation)
+            getparx                 window
+            getpary                 window
+            getstr                  screen (input-operation)
+            getwin                  screen (input-operation)
+            halfdelay               screen
+            has_colors              terminal
+            has_ic                  terminal
+            has_il                  terminal
+            has_key                 screen
+            hline                   window (stdscr)
+            hline_set               window (stdscr)
+            idcok                   window
+            idlok                   window
+            immedok                 window
+            in_wch                  window (stdscr)
+            in_wchnstr              window (stdscr)
+            in_wchstr               window (stdscr)
+            inch                    window (stdscr)
+            inchnstr                window (stdscr)
+            inchstr                 window (stdscr)
+            init_color              screen
+            init_pair               screen
+            initscr                 global locks(screenlist)
+            innstr                  window (stdscr)
+
+            innwstr                 window (stdscr)
+            ins_nwstr               window (stdscr)
+            ins_wch                 window (stdscr)
+            ins_wstr                window (stdscr)
+            insch                   window (stdscr)
+            insdelln                window (stdscr)
+            insertln                window (stdscr)
+            insnstr                 window (stdscr)
+            insstr                  window (stdscr)
+            instr                   window (stdscr)
+            intrflush               terminal
+            inwstr                  window (stdscr)
+            is_cleared              window
+            is_idcok                window
+            is_idlok                window
+            is_immedok              window
+            is_keypad               window
+            is_leaveok              window
+            is_linetouched          window
+            is_nodelay              window
+            is_notimeout            window
+            is_scrollok             window
+            is_syncok               window
+            is_term_resized         terminal
+            is_wintouched           window
+            isendwin                screen
+            key_defined             screen
+            key_name                global (static data)
+            keybound                screen
+            keyname                 global (static data)
+            keyok                   screen
+            keypad                  window
+            killchar                terminal
+            killwchar               terminal
+            leaveok                 window
+            longname                screen
+            mcprint                 terminal
+            meta                    screen
+            mouse_trafo             window (stdscr)
+            mouseinterval           screen
+            mousemask               screen
+            move                    window (stdscr)
+            mvadd_wch               window (stdscr)
+            mvadd_wchnstr           window (stdscr)
+            mvadd_wchstr            window (stdscr)
+            mvaddch                 window (stdscr)
+            mvaddchnstr             window (stdscr)
+            mvaddchstr              window (stdscr)
+            mvaddnstr               window (stdscr)
+            mvaddnwstr              window (stdscr)
+            mvaddstr                window (stdscr)
+            mvaddwstr               window (stdscr)
+            mvchgat                 window (stdscr)
+            mvcur                   screen
+            mvdelch                 window (stdscr)
+            mvderwin                window (stdscr)
+            mvget_wch               screen (input-operation)
+            mvget_wstr              screen (input-operation)
+            mvgetch                 screen (input-operation)
+            mvgetn_wstr             screen (input-operation)
+            mvgetnstr               screen (input-operation)
+            mvgetstr                screen (input-operation)
+            mvhline                 window (stdscr)
+            mvhline_set             window (stdscr)
+            mvin_wch                window (stdscr)
+            mvin_wchnstr            window (stdscr)
+
+            mvin_wchstr             window (stdscr)
+            mvinch                  window (stdscr)
+            mvinchnstr              window (stdscr)
+            mvinchstr               window (stdscr)
+            mvinnstr                window (stdscr)
+            mvinnwstr               window (stdscr)
+            mvins_nwstr             window (stdscr)
+            mvins_wch               window (stdscr)
+            mvins_wstr              window (stdscr)
+            mvinsch                 window (stdscr)
+            mvinsnstr               window (stdscr)
+            mvinsstr                window (stdscr)
+            mvinstr                 window (stdscr)
+            mvinwstr                window (stdscr)
+            mvprintw                window (stdscr)
+            mvscanw                 screen
+            mvvline                 window (stdscr)
+            mvvline_set             window (stdscr)
+            mvwadd_wch              window
+            mvwadd_wchnstr          window
+            mvwadd_wchstr           window
+            mvwaddch                window
+            mvwaddchnstr            window
+            mvwaddchstr             window
+            mvwaddnstr              window
+            mvwaddnwstr             window
+            mvwaddstr               window
+            mvwaddwstr              window
+            mvwchgat                window
+            mvwdelch                window
+            mvwget_wch              screen (input-operation)
+            mvwget_wstr             screen (input-operation)
+            mvwgetch                screen (input-operation)
+            mvwgetn_wstr            screen (input-operation)
+            mvwgetnstr              screen (input-operation)
+            mvwgetstr               screen (input-operation)
+            mvwhline                window
+            mvwhline_set            window
+            mvwin                   window
+            mvwin_wch               window
+            mvwin_wchnstr           window
+            mvwin_wchstr            window
+            mvwinch                 window
+            mvwinchnstr             window
+            mvwinchstr              window
+            mvwinnstr               window
+            mvwinnwstr              window
+            mvwins_nwstr            window
+            mvwins_wch              window
+            mvwins_wstr             window
+            mvwinsch                window
+            mvwinsnstr              window
+            mvwinsstr               window
+            mvwinstr                window
+            mvwinwstr               window
+            mvwprintw               window
+            mvwscanw                screen
+            mvwvline                window
+            mvwvline_set            window
+            napms                   reentrant
+            newpad                  global locks(windowlist)
+            newscr                  screen (readonly)
+            newterm                 global locks(screenlist)
+            newwin                  global locks(windowlist)
+            nl                      screen
+            nocbreak                screen
+
+            nodelay                 window
+            noecho                  screen
+            nofilter                global
+            nonl                    screen
+            noqiflush               terminal
+            noraw                   screen
+            notimeout               window
+            numcodes                global (readonly)
+            numfnames               global (readonly)
+            numnames                global (readonly)
+            ospeed                  global
+            overlay                 window locks(source, target)
+            overwrite               window locks(source, target)
+            pair_content            screen
+            pecho_wchar             screen
+            pechochar               screen
+            pnoutrefresh            screen
+            prefresh                screen
+            printw                  window
+            putp                    global
+            putwin                  window
+            qiflush                 terminal
+            raw                     screen
+            redrawwin               window
+            refresh                 screen
+            reset_prog_mode         screen
+            reset_shell_mode        screen
+            resetty                 terminal
+            resize_term             screen locks(windowlist)
+            resizeterm              screen
+            restartterm             screen
+            ripoffline              global (static data)
+            savetty                 terminal
+            scanw                   screen
+            scr_dump                screen
+            scr_init                screen
+            scr_restore             screen
+            scr_set                 screen
+            scrl                    window (stdscr)
+            scroll                  window
+            scrollok                window
+            set_curterm             screen
+            set_escdelay            screen
+            set_tabsize             screen
+            set_term                global locks(screenlist, screen)
+            setcchar                reentrant
+            setscrreg               window (stdscr)
+            setupterm               global
+            slk_attr                screen
+            slk_attr_off            screen
+            slk_attr_on             screen
+            slk_attr_set            screen
+            slk_attroff             screen
+            slk_attron              screen
+            slk_attrset             screen
+            slk_clear               screen
+            slk_color               screen
+            slk_init                screen
+            slk_label               screen
+            slk_noutrefresh         screen
+            slk_refresh             screen
+            slk_restore             screen
+            slk_set                 screen
+            slk_touch               screen
+            slk_wset                screen
+            standend                window
+
+            standout                window
+            start_color             screen
+            stdscr                  screen (readonly)
+            strcodes                global (readonly)
+            strfnames               global (readonly)
+            strnames                global (readonly)
+            subpad                  window
+            subwin                  window
+            syncok                  window
+            term_attrs              screen
+            termattrs               screen
+            termname                terminal
+            tgetent                 global
+            tgetflag                global
+            tgetnum                 global
+            tgetstr                 global
+            tgoto                   global
+            tigetflag               terminal
+            tigetnum                terminal
+            tigetstr                terminal
+            timeout                 window (stdscr)
+            touchline               window
+            touchwin                window
+            tparm                   global (static data)
+            tputs                   screen
+            trace                   global (static data)
+            ttytype                 screen (readonly)
+            typeahead               screen
+            unctrl                  screen
+            unget_wch               screen (input-operation)
+            ungetch                 screen (input-operation)
+            ungetmouse              screen (input-operation)
+            untouchwin              window
+            use_default_colors      screen
+            use_env                 global (static data)
+            use_extended_names      global (static data)
+            use_legacy_coding       screen
+            use_screen              global locks(screenlist, screen)
+            use_window              global locks(windowlist, window)
+            vid_attr                screen
+            vid_puts                screen
+            vidattr                 screen
+            vidputs                 screen
+            vline                   window (stdscr)
+            vline_set               window (stdscr)
+            vw_printw               window
+            vw_scanw                screen
+            vwprintw                window
+            vwscanw                 screen
+            wadd_wch                window
+            wadd_wchnstr            window
+            wadd_wchstr             window
+            waddch                  window
+            waddchnstr              window
+            waddchstr               window
+            waddnstr                window
+            waddnwstr               window
+            waddstr                 window
+            waddwstr                window
+            wattr_get               window
+            wattr_off               window
+            wattr_on                window
+            wattr_set               window
+            wattroff                window
+            wattron                 window
+            wattrset                window
+
+            wbkgd                   window
+            wbkgdset                window
+            wbkgrnd                 window
+            wbkgrndset              window
+            wborder                 window
+            wborder_set             window
+            wchgat                  window
+            wclear                  window
+            wclrtobot               window
+            wclrtoeol               window
+            wcolor_set              window
+            wcursyncup              screen (affects window plus parents)
+            wdelch                  window
+            wdeleteln               window
+            wecho_wchar             window
+            wechochar               window
+            wenclose                window
+            werase                  window
+            wget_wch                screen (input-operation)
+            wget_wstr               screen (input-operation)
+            wgetbkgrnd              window
+            wgetch                  screen (input-operation)
+            wgetdelay               window
+            wgetn_wstr              screen (input-operation)
+            wgetnstr                screen (input-operation)
+            wgetparent              window
+            wgetscrreg              window
+            wgetstr                 screen (input-operation)
+            whline                  window
+            whline_set              window
+            win_wch                 window
+            win_wchnstr             window
+            win_wchstr              window
+            winch                   window
+            winchnstr               window
+            winchstr                window
+            winnstr                 window
+            winnwstr                window
+            wins_nwstr              window
+            wins_wch                window
+            wins_wstr               window
+            winsch                  window
+            winsdelln               window
+            winsertln               window
+            winsnstr                window
+            winsstr                 window
+            winstr                  window
+            winwstr                 window
+            wmouse_trafo            window
+            wmove                   window
+            wnoutrefresh            screen
+            wprintw                 window
+            wredrawln               window
+            wrefresh                screen
+            wresize                 window locks(windowlist)
+            wscanw                  screen
+            wscrl                   window
+            wsetscrreg              window
+            wstandend               window
+            wstandout               window
+            wsyncdown               screen (affects window plus parents)
+            wsyncup                 screen (affects window plus parents)
+            wtimeout                window
+            wtouchln                window
+            wunctrl                 global (static data)
+            wvline                  window
+
+            wvline_set              window
 
 
 </PRE><H2><a name="h2-RETURN-VALUE">RETURN VALUE</a></H2><PRE>
 
 
 </PRE><H2><a name="h2-PORTABILITY">PORTABILITY</a></H2><PRE>
-       These  routines  are  specific  to ncurses.  They were not
-       supported on Version 7, BSD or System  V  implementations.
-       It  is  recommended that any code depending on ncurses ex-
-       tensions be conditioned using NCURSES_VERSION.
+       These routines are specific to ncurses.  They  were  not  supported  on
+       Version 7, BSD or System V implementations.  It is recommended that any
+       code depending on ncurses extensions be conditioned using  NCURSES_VER-
+       SION.
 
 
 </PRE><H2><a name="h2-SEE-ALSO">SEE ALSO</a></H2><PRE>
 
 
 
-                                                       <STRONG><A HREF="curs_threads.3x.html">curs_threads(3x)</A></STRONG>
+                                                              <STRONG><A HREF="curs_threads.3x.html">curs_threads(3x)</A></STRONG>
 </PRE>
 <div class="nav">
 <ul>
index 6a7ee9be6ace6e15919c625a955f507771c7e6ab..d63e4de8d24ed2ee2ba3104fbba51ed252acd3e5 100644 (file)
@@ -40,7 +40,7 @@
 <BODY>
 <H1 class="no-header">curs_touch 3x</H1>
 <PRE>
-<STRONG><A HREF="curs_touch.3x.html">curs_touch(3x)</A></STRONG>                                           <STRONG><A HREF="curs_touch.3x.html">curs_touch(3x)</A></STRONG>
+<STRONG><A HREF="curs_touch.3x.html">curs_touch(3x)</A></STRONG>                                                  <STRONG><A HREF="curs_touch.3x.html">curs_touch(3x)</A></STRONG>
 
 
 
 
 
 </PRE><H2><a name="h2-DESCRIPTION">DESCRIPTION</a></H2><PRE>
-       The <STRONG>touchwin</STRONG> and <STRONG>touchline</STRONG> routines throw away  all  opti-
-       mization  information about which parts of the window have
-       been touched, by pretending that  the  entire  window  has
-       been  drawn  on.   This  is sometimes necessary when using
-       overlapping windows, since a change to one window  affects
-       the other window, but the records of which lines have been
-       changed in the other window do  not  reflect  the  change.
-       The  routine <STRONG>touchline</STRONG> only pretends that <EM>count</EM> lines have
-       been changed, beginning with line <EM>start</EM>.
-
-       The <STRONG>untouchwin</STRONG> routine marks all lines in  the  window  as
-       unchanged since the last call to <STRONG>wrefresh</STRONG>.
-
-       The <STRONG>wtouchln</STRONG> routine makes <EM>n</EM> lines in the window, starting
-       at line <EM>y</EM>, look as if they have (<EM>changed</EM><STRONG>=1</STRONG>)  or  have  not
-       (<EM>changed</EM><STRONG>=0</STRONG>) been changed since the last call to <STRONG>wrefresh</STRONG>.
-
-       The  <STRONG>is_linetouched</STRONG> and <STRONG>is_wintouched</STRONG> routines return <STRONG>TRUE</STRONG>
-       if the specified line/window was modified since  the  last
-       call  to  <STRONG>wrefresh</STRONG>; otherwise they return <STRONG>FALSE</STRONG>.  In addi-
-       tion, <STRONG>is_linetouched</STRONG> returns <STRONG>ERR</STRONG> if <EM>line</EM> is not valid  for
-       the given window.
+       The <STRONG>touchwin</STRONG> and <STRONG>touchline</STRONG> routines throw away all optimization  infor-
+       mation about which parts of the window have been touched, by pretending
+       that the entire window has been drawn on.  This is sometimes  necessary
+       when  using  overlapping  windows, since a change to one window affects
+       the other window, but the records of which lines have been  changed  in
+       the other window do not reflect the change.  The routine <STRONG>touchline</STRONG> only
+       pretends that <EM>count</EM> lines have been changed, beginning with line <EM>start</EM>.
+
+       The <STRONG>untouchwin</STRONG> routine marks all lines in the window as unchanged since
+       the last call to <STRONG>wrefresh</STRONG>.
+
+       The  <STRONG>wtouchln</STRONG>  routine makes <EM>n</EM> lines in the window, starting at line <EM>y</EM>,
+       look as if they have (<EM>changed</EM><STRONG>=1</STRONG>) or have not (<EM>changed</EM><STRONG>=0</STRONG>)  been  changed
+       since the last call to <STRONG>wrefresh</STRONG>.
+
+       The <STRONG>is_linetouched</STRONG> and <STRONG>is_wintouched</STRONG> routines return <STRONG>TRUE</STRONG> if the speci-
+       fied line/window was modified since the last call to  <STRONG>wrefresh</STRONG>;  other-
+       wise  they  return  <STRONG>FALSE</STRONG>.   In addition, <STRONG>is_linetouched</STRONG> returns <STRONG>ERR</STRONG> if
+       <EM>line</EM> is not valid for the given window.
 
 
 </PRE><H2><a name="h2-RETURN-VALUE">RETURN VALUE</a></H2><PRE>
-       All  routines  return  the integer <STRONG>ERR</STRONG> upon failure and an
-       integer value other than <STRONG>ERR</STRONG> upon  successful  completion,
-       unless  otherwise  noted in the preceding routine descrip-
-       tions.
+       All routines return the integer <STRONG>ERR</STRONG> upon failure and an  integer  value
+       other  than  <STRONG>ERR</STRONG>  upon successful completion, unless otherwise noted in
+       the preceding routine descriptions.
 
-       X/Open does not define any error conditions.  In this  im-
-       plementation
+       X/Open does not define any error conditions.  In this implementation
 
               <STRONG>is_linetouched</STRONG>
-                   returns  an  error  if  the  window pointer is
-                   null, or if the line  number  is  outside  the
-                   window.   Note  that ERR is distinct from <STRONG>TRUE</STRONG>
-                   and <STRONG>FALSE</STRONG>, which are the normal return  values
-                   of this function.
+                   returns an error if the window pointer is null, or  if  the
+                   line  number  is outside the window.  Note that ERR is dis-
+                   tinct from <STRONG>TRUE</STRONG> and <STRONG>FALSE</STRONG>, which are the normal return val-
+                   ues of this function.
 
               <STRONG>wtouchln</STRONG>
-                   returns  an  error  if  the  window pointer is
-                   null, or if the line  number  is  outside  the
-                   window.
+                   returns  an  error if the window pointer is null, or if the
+                   line number is outside the window.
 
 
 </PRE><H2><a name="h2-PORTABILITY">PORTABILITY</a></H2><PRE>
-       The  XSI  Curses  standard,  Issue 4 describes these func-
-       tions.
+       The XSI Curses standard, Issue 4 describes these functions.
 
-       Some historic curses implementations had,  as  an  undocu-
-       mented  feature,  the  ability  to  do  the  equivalent of
-       <STRONG>clearok(...,</STRONG> <STRONG>1)</STRONG> by saying <STRONG>touchwin(stdscr)</STRONG>  or  <STRONG>clear(std-</STRONG>
-       <STRONG>scr)</STRONG>.  This will not work under ncurses.
+       Some historic curses implementations had, as an  undocumented  feature,
+       the  ability  to  do the equivalent of <STRONG>clearok(...,</STRONG> <STRONG>1)</STRONG> by saying <STRONG>touch-</STRONG>
+       <STRONG>win(stdscr)</STRONG> or <STRONG>clear(stdscr)</STRONG>.  This will not work under ncurses.
 
 
 </PRE><H2><a name="h2-NOTES">NOTES</a></H2><PRE>
 
 
 
-                                                         <STRONG><A HREF="curs_touch.3x.html">curs_touch(3x)</A></STRONG>
+                                                                <STRONG><A HREF="curs_touch.3x.html">curs_touch(3x)</A></STRONG>
 </PRE>
 <div class="nav">
 <ul>
index 85ffaad03b7ac8008e0ed04e062f224aa42154f0..af3a377cf76be51b3ad8f460feed3a21663a5c85 100644 (file)
 <BODY>
 <H1 class="no-header">curs_trace 3x</H1>
 <PRE>
-<STRONG><A HREF="curs_trace.3x.html">curs_trace(3x)</A></STRONG>                                           <STRONG><A HREF="curs_trace.3x.html">curs_trace(3x)</A></STRONG>
+<STRONG><A HREF="curs_trace.3x.html">curs_trace(3x)</A></STRONG>                                                  <STRONG><A HREF="curs_trace.3x.html">curs_trace(3x)</A></STRONG>
 
 
 
 
 </PRE><H2><a name="h2-NAME">NAME</a></H2><PRE>
-       <STRONG>trace</STRONG>, <STRONG>_tracef</STRONG>, <STRONG>_traceattr</STRONG>, <STRONG>_traceattr2</STRONG>, <STRONG>_tracecchar_t</STRONG>,
-       <STRONG>_tracecchar_t2</STRONG>, <STRONG>_tracechar</STRONG>, <STRONG>_tracechtype</STRONG>, <STRONG>_tracechtype2</STRONG>,
-       <STRONG>_nc_tracebits</STRONG>, <STRONG>_tracedump</STRONG>, <STRONG>_tracemouse</STRONG> - <STRONG>curses</STRONG> debugging
-       routines
+       <STRONG>trace</STRONG>, <STRONG>_tracef</STRONG>, <STRONG>_traceattr</STRONG>, <STRONG>_traceattr2</STRONG>, <STRONG>_tracecchar_t</STRONG>, <STRONG>_tracecchar_t2</STRONG>,
+       <STRONG>_tracechar</STRONG>, <STRONG>_tracechtype</STRONG>, <STRONG>_tracechtype2</STRONG>, <STRONG>_nc_tracebits</STRONG>, <STRONG>_tracedump</STRONG>,
+       <STRONG>_tracemouse</STRONG> - <STRONG>curses</STRONG> debugging routines
 
 
 </PRE><H2><a name="h2-SYNOPSIS">SYNOPSIS</a></H2><PRE>
 
 
 </PRE><H2><a name="h2-DESCRIPTION">DESCRIPTION</a></H2><PRE>
-       The <STRONG>trace</STRONG> routines are used for debugging the ncurses  li-
-       braries, as well as applications which use the ncurses li-
-       braries.  These functions are normally available only with
-       the  debugging  library  e.g.,  <EM>libncurses</EM><STRONG>_</STRONG><EM>g.a</EM>, but may be
-       compiled into  any  model  (shared,  static,  profile)  by
-       defining  the  symbol <STRONG>TRACE</STRONG>.  Additionally, some functions
-       are only available with the  wide-character  configuration
-       of the libraries.
+       The  <STRONG>trace</STRONG>  routines  are  used for debugging the ncurses libraries, as
+       well as applications which use the ncurses libraries.  These  functions
+       are  normally available only with the debugging library e.g., <EM>libncurs-</EM>
+       <EM>es</EM><STRONG>_</STRONG><EM>g.a</EM>, but may be compiled into any model (shared, static, profile) by
+       defining  the  symbol  <STRONG>TRACE</STRONG>.   Additionally,  some  functions are only
+       available with the wide-character configuration of the libraries.
 
 
 </PRE><H3><a name="h3-Functions">Functions</a></H3><PRE>
        The principal parts of this interface are
 
-       <STRONG>o</STRONG>   <STRONG>trace</STRONG>,  which  selectively  enables  different tracing
-           features, and
+       <STRONG>o</STRONG>   <STRONG>trace</STRONG>, which selectively enables different tracing features, and
 
-       <STRONG>o</STRONG>   <STRONG>_tracef</STRONG>, which writes  formatted  data  to  the  <EM>trace</EM>
-           file.
+       <STRONG>o</STRONG>   <STRONG>_tracef</STRONG>, which writes formatted data to the <EM>trace</EM> file.
 
-       Calling  <STRONG>trace</STRONG>  with  a nonzero parameter creates the file
-       <STRONG>trace</STRONG> in the current directory for output.   If  the  file
-       already exists, no tracing is done.
+       Calling <STRONG>trace</STRONG> with a nonzero parameter creates the file  <STRONG>trace</STRONG>  in  the
+       current  directory  for output.  If the file already exists, no tracing
+       is done.
 
-       The  other  functions either return a pointer to a string-
-       area (allocated by the corresponding function), or  return
-       no  value (such as <STRONG>_tracedump</STRONG>, which implements the screen
-       dump for <STRONG>TRACE_UPDATE</STRONG>).  The caller should not free  these
-       strings,  since  the  allocation  is  reused on successive
-       calls.  To work around the problem of a single string-area
-       per  function, some use a buffer-number parameter, telling
-       the library to allocate additional string-areas.
+       The other functions either return a pointer to a string-area (allocated
+       by the corresponding function), or return no value (such as <STRONG>_tracedump</STRONG>,
+       which implements the screen dump for <STRONG>TRACE_UPDATE</STRONG>).  The caller  should
+       not  free  these  strings, since the allocation is reused on successive
+       calls.  To work around the problem of a single  string-area  per  func-
+       tion,  some use a buffer-number parameter, telling the library to allo-
+       cate additional string-areas.
 
 
 </PRE><H3><a name="h3-Trace-Parameter">Trace Parameter</a></H3><PRE>
-       The trace parameter is formed by OR'ing  values  from  the
-       list  of  <STRONG>TRACE_</STRONG><EM>xxx</EM>  definitions in <STRONG>&lt;curses.h&gt;</STRONG>.  These in-
-       clude:
+       The trace parameter is  formed  by  OR'ing  values  from  the  list  of
+       <STRONG>TRACE_</STRONG><EM>xxx</EM> definitions in <STRONG>&lt;curses.h&gt;</STRONG>.  These include:
 
        <STRONG>TRACE_DISABLE</STRONG>
             turn off tracing by passing a zero parameter.
 
-            The library flushes the output file, but  retains  an
-            open file-descriptor to the trace file so that it can
-            resume tracing later if a nonzero parameter is passed
-            to the <STRONG>trace</STRONG> function.
+            The  library flushes the output file, but retains an open file-de-
+            scriptor to the trace file so that it can resume tracing later  if
+            a nonzero parameter is passed to the <STRONG>trace</STRONG> function.
 
        <STRONG>TRACE_TIMES</STRONG>
             trace user and system times of updates.
             trace all character outputs.
 
        <STRONG>TRACE_ORDINARY</STRONG>
-            trace  all  update  actions.   The old and new screen
-            contents are written to the trace file for  each  re-
-            fresh.
+            trace  all  update  actions.   The old and new screen contents are
+            written to the trace file for each refresh.
 
        <STRONG>TRACE_CALLS</STRONG>
-            trace all curses calls.  The parameters for each call
-            are traced, as well as return values.
+            trace all curses calls.  The parameters for each call are  traced,
+            as well as return values.
 
        <STRONG>TRACE_VIRTPUT</STRONG>
             trace virtual character puts, i.e., calls to <STRONG>addch</STRONG>.
             trace changes to video attributes and colors.
 
        <STRONG>TRACE_MAXIMUM</STRONG>
-            maximum trace level,  enables  all  of  the  separate
-            trace features.
+            maximum trace level, enables all of the separate trace features.
 
-       Some  tracing  features are enabled whenever the <STRONG>trace</STRONG> pa-
-       rameter is nonzero.  Some features overlap.  The  specific
-       names are used as a guideline.
+       Some  tracing  features  are  enabled  whenever  the <STRONG>trace</STRONG> parameter is
+       nonzero.  Some features overlap.  The specific  names  are  used  as  a
+       guideline.
 
 
 </PRE><H3><a name="h3-Initialization">Initialization</a></H3><PRE>
-       These  functions check the <STRONG>NCURSES_TRACE</STRONG> environment vari-
-       able, to set the tracing feature as if <STRONG>trace</STRONG> was called:
+       These  functions  check  the <STRONG>NCURSES_TRACE</STRONG> environment variable, to set
+       the tracing feature as if <STRONG>trace</STRONG> was called:
 
-           filter, initscr, new_prescr, newterm, nofilter,
-           restartterm, ripoffline, setupterm, slk_init, tgetent,
-           use_env, use_extended_names, use_tioctl
+           filter, initscr, new_prescr, newterm, nofilter, restartterm,
+           ripoffline, setupterm, slk_init, tgetent, use_env,
+           use_extended_names, use_tioctl
 
 
 </PRE><H3><a name="h3-Command-line-Utilities">Command-line Utilities</a></H3><PRE>
-       The command-line utilities such as <STRONG><A HREF="tic.1m.html">tic(1)</A></STRONG> provide  a  ver-
-       bose  option which extends the set of messages written us-
-       ing the <STRONG>trace</STRONG> function.  Both of these (<STRONG>-v</STRONG> and <STRONG>trace</STRONG>)  use
-       the same variable (<STRONG>_nc_tracing</STRONG>), which determines the mes-
-       sages which are written.
+       The command-line utilities such as  <STRONG><A HREF="tic.1m.html">tic(1)</A></STRONG>  provide  a  verbose  option
+       which  extends  the  set  of messages written using the <STRONG>trace</STRONG> function.
+       Both of these (<STRONG>-v</STRONG> and <STRONG>trace</STRONG>) use the same variable (<STRONG>_nc_tracing</STRONG>), which
+       determines the messages which are written.
 
-       Because the command-line utilities may call initialization
-       functions   such  as  <STRONG>setupterm</STRONG>,  <STRONG>tgetent</STRONG>  or  <STRONG>use_extend-</STRONG>
-       <STRONG>ed_names</STRONG>, some of their debugging output may  be  directed
-       to  the  <EM>trace</EM> file if the <STRONG>NCURSES_TRACE</STRONG> environment vari-
-       able is set:
+       Because  the  command-line  utilities may call initialization functions
+       such as <STRONG>setupterm</STRONG>, <STRONG>tgetent</STRONG> or <STRONG>use_extended_names</STRONG>, some of their  debug-
+       ging  output may be directed to the <EM>trace</EM> file if the <STRONG>NCURSES_TRACE</STRONG> en-
+       vironment variable is set:
 
-       <STRONG>o</STRONG>   messages produced in the utility are  written  to  the
-           standard error.
+       <STRONG>o</STRONG>   messages produced in the utility are written to the standard error.
 
-       <STRONG>o</STRONG>   messages  produced by the underlying library are writ-
-           ten to <EM>trace</EM>.
+       <STRONG>o</STRONG>   messages produced by the underlying library are written to <EM>trace</EM>.
 
-       If ncurses is built without tracing, none  of  the  latter
-       are  produced,  and  fewer diagnostics are provided by the
-       command-line utilities.
+       If ncurses is built without tracing, none of the latter  are  produced,
+       and fewer diagnostics are provided by the command-line utilities.
 
 
 </PRE><H2><a name="h2-RETURN-VALUE">RETURN VALUE</a></H2><PRE>
-       Routines which return a value are designed to be  used  as
-       parameters to the <STRONG>_tracef</STRONG> routine.
+       Routines  which return a value are designed to be used as parameters to
+       the <STRONG>_tracef</STRONG> routine.
 
 
 </PRE><H2><a name="h2-PORTABILITY">PORTABILITY</a></H2><PRE>
-       These  functions  are not part of the XSI interface.  Some
-       other curses implementations are known  to  have  similar,
-       undocumented  features,  but  they are not compatible with
-       ncurses.
+       These functions are not part of the XSI interface.  Some  other  curses
+       implementations  are  known to have similar, undocumented features, but
+       they are not compatible with ncurses.
 
-       A few functions are not provided when symbol versioning is
-       used:
+       A few functions are not provided when symbol versioning is used:
 
            _nc_tracebits, _tracedump, _tracemouse
 
 
 
 
-                                                         <STRONG><A HREF="curs_trace.3x.html">curs_trace(3x)</A></STRONG>
+                                                                <STRONG><A HREF="curs_trace.3x.html">curs_trace(3x)</A></STRONG>
 </PRE>
 <div class="nav">
 <ul>
index 1ebcaf6e99d601ad894f5123b56287e8b5a2c44a..b945709e39b0a2bd49190e495b391334daa8a7f8 100644 (file)
 <BODY>
 <H1 class="no-header">curs_util 3x</H1>
 <PRE>
-<STRONG><A HREF="curs_util.3x.html">curs_util(3x)</A></STRONG>                                             <STRONG><A HREF="curs_util.3x.html">curs_util(3x)</A></STRONG>
+<STRONG><A HREF="curs_util.3x.html">curs_util(3x)</A></STRONG>                                                    <STRONG><A HREF="curs_util.3x.html">curs_util(3x)</A></STRONG>
 
 
 
 
 </PRE><H2><a name="h2-NAME">NAME</a></H2><PRE>
-       <STRONG>delay_output</STRONG>, <STRONG>filter</STRONG>, <STRONG>flushinp</STRONG>, <STRONG>getwin</STRONG>, <STRONG>key_name</STRONG>, <STRONG>keyname</STRONG>,
-       <STRONG>nofilter</STRONG>, <STRONG>putwin</STRONG>, <STRONG>unctrl</STRONG>, <STRONG>use_env</STRONG>, <STRONG>use_tioctl</STRONG>, <STRONG>wunctrl</STRONG> -
-       miscellaneous <STRONG>curses</STRONG> utility routines
+       <STRONG>delay_output</STRONG>, <STRONG>filter</STRONG>, <STRONG>flushinp</STRONG>, <STRONG>getwin</STRONG>, <STRONG>key_name</STRONG>, <STRONG>keyname</STRONG>, <STRONG>nofilter</STRONG>,
+       <STRONG>putwin</STRONG>, <STRONG>unctrl</STRONG>, <STRONG>use_env</STRONG>, <STRONG>use_tioctl</STRONG>, <STRONG>wunctrl</STRONG> - miscellaneous <STRONG>curses</STRONG>
+       utility routines
 
 
 </PRE><H2><a name="h2-SYNOPSIS">SYNOPSIS</a></H2><PRE>
 </PRE><H2><a name="h2-DESCRIPTION">DESCRIPTION</a></H2><PRE>
 
 </PRE><H3><a name="h3-unctrl">unctrl</a></H3><PRE>
-       The  <STRONG>unctrl</STRONG>  routine returns a character string which is a
-       printable representation of the character <EM>c</EM>, ignoring  at-
-       tributes.   Control characters are displayed in the <STRONG>^</STRONG><EM>X</EM> no-
-       tation.  Printing characters are  displayed  as  is.   The
-       corresponding  <STRONG>wunctrl</STRONG>  returns a printable representation
-       of a wide character.
+       The <STRONG>unctrl</STRONG> routine returns a character string which is a printable rep-
+       resentation of the character <EM>c</EM>, ignoring attributes.   Control  charac-
+       ters  are  displayed  in the <STRONG>^</STRONG><EM>X</EM> notation.  Printing characters are dis-
+       played as is.  The corresponding <STRONG>wunctrl</STRONG> returns a printable  represen-
+       tation of a wide character.
 
 
 </PRE><H3><a name="h3-keyname_key_name">keyname/key_name</a></H3><PRE>
-       The <STRONG>keyname</STRONG> routine returns a character string correspond-
-       ing to the key <EM>c</EM>:
+       The <STRONG>keyname</STRONG> routine returns a character string corresponding to the key
+       <EM>c</EM>:
 
-       <STRONG>o</STRONG>   Printable  characters  are  displayed  as  themselves,
-           e.g., a one-character string containing the key.
+       <STRONG>o</STRONG>   Printable characters are displayed as themselves, e.g., a one-char-
+           acter string containing the key.
 
        <STRONG>o</STRONG>   Control characters are displayed in the <STRONG>^</STRONG><EM>X</EM> notation.
 
        <STRONG>o</STRONG>   DEL (character 127) is displayed as <STRONG>^?</STRONG>.
 
-       <STRONG>o</STRONG>   Values above 128 are either meta  characters  (if  the
-           screen  has  not  been initialized, or if <STRONG><A HREF="curs_inopts.3x.html">meta(3x)</A></STRONG> has
-           been called with a <STRONG>TRUE</STRONG> parameter), shown in  the  <STRONG>M-</STRONG><EM>X</EM>
-           notation, or are displayed as themselves.  In the lat-
-           ter case, the values may not be printable;  this  fol-
-           lows the X/Open specification.
+       <STRONG>o</STRONG>   Values  above 128 are either meta characters (if the screen has not
+           been initialized, or if <STRONG><A HREF="curs_inopts.3x.html">meta(3x)</A></STRONG> has been called with a <STRONG>TRUE</STRONG> param-
+           eter),  shown  in the <STRONG>M-</STRONG><EM>X</EM> notation, or are displayed as themselves.
+           In the latter case, the values may not be printable;  this  follows
+           the X/Open specification.
 
-       <STRONG>o</STRONG>   Values  above  256  may  be  the names of the names of
-           function keys.
+       <STRONG>o</STRONG>   Values above 256 may be the names of the names of function keys.
 
-       <STRONG>o</STRONG>   Otherwise (if there  is  no  corresponding  name)  the
-           function returns null, to denote an error.  X/Open al-
-           so lists an "UNKNOWN KEY" return value, which some im-
-           plementations return rather than null.
+       <STRONG>o</STRONG>   Otherwise  (if there is no corresponding name) the function returns
+           null, to denote an error.  X/Open also lists an "UNKNOWN  KEY"  re-
+           turn value, which some implementations return rather than null.
 
-       The corresponding <STRONG>key_name</STRONG> returns a character string cor-
-       responding to the wide-character value <EM>w</EM>.  The  two  func-
-       tions  do  not  return the same set of strings; the latter
-       returns null where the former would display a meta charac-
-       ter.
+       The  corresponding <STRONG>key_name</STRONG> returns a character string corresponding to
+       the wide-character value <EM>w</EM>.  The two functions do not return  the  same
+       set  of strings; the latter returns null where the former would display
+       a meta character.
 
 
 </PRE><H3><a name="h3-filter_nofilter">filter/nofilter</a></H3><PRE>
-       The <STRONG>filter</STRONG> routine, if used, must be called before <STRONG>initscr</STRONG>
-       or <STRONG>newterm</STRONG> are called.  The effect is that,  during  those
-       calls,  <STRONG>LINES</STRONG>  is  set  to 1; the capabilities <STRONG>clear</STRONG>, <STRONG>cup</STRONG>,
-       <STRONG>cud</STRONG>, <STRONG>cud1</STRONG>, <STRONG>cuu1</STRONG>, <STRONG>cuu</STRONG>,  <STRONG>vpa</STRONG>  are  disabled;  and  the  <STRONG>home</STRONG>
-       string is set to the value of <STRONG>cr</STRONG>.
+       The <STRONG>filter</STRONG> routine, if used, must be called before <STRONG>initscr</STRONG>  or  <STRONG>newterm</STRONG>
+       are called.  The effect is that, during those calls, <STRONG>LINES</STRONG> is set to 1;
+       the capabilities <STRONG>clear</STRONG>, <STRONG>cup</STRONG>, <STRONG>cud</STRONG>, <STRONG>cud1</STRONG>, <STRONG>cuu1</STRONG>, <STRONG>cuu</STRONG>,  <STRONG>vpa</STRONG>  are  disabled;
+       and the <STRONG>home</STRONG> string is set to the value of <STRONG>cr</STRONG>.
 
-       The  <STRONG>nofilter</STRONG>  routine  cancels  the effect of a preceding
-       <STRONG>filter</STRONG> call.  That  allows  the  caller  to  initialize  a
-       screen  on  a different device, using a different value of
-       <STRONG>$TERM</STRONG>.  The limitation arises because the  <STRONG>filter</STRONG>  routine
-       modifies the in-memory copy of the terminal information.
+       The  <STRONG>nofilter</STRONG>  routine  cancels  the effect of a preceding <STRONG>filter</STRONG> call.
+       That allows the caller to initialize a screen on  a  different  device,
+       using  a  different  value of <STRONG>$TERM</STRONG>.  The limitation arises because the
+       <STRONG>filter</STRONG> routine modifies the in-memory copy of the terminal information.
 
 
 </PRE><H3><a name="h3-use_env">use_env</a></H3><PRE>
-       The  <STRONG>use_env</STRONG>  routine,  if  used,  should be called before
-       <STRONG>initscr</STRONG> or <STRONG>newterm</STRONG> are called (because those  compute  the
-       screen size).  It modifies the way <STRONG>ncurses</STRONG> treats environ-
-       ment variables when determining the screen size.
+       The <STRONG>use_env</STRONG> routine, if  used,  should  be  called  before  <STRONG>initscr</STRONG>  or
+       <STRONG>newterm</STRONG>  are  called (because those compute the screen size).  It modi-
+       fies the way <STRONG>ncurses</STRONG> treats environment variables when determining  the
+       screen size.
 
-       <STRONG>o</STRONG>   Normally <STRONG>ncurses</STRONG> looks first at the terminal  database
-           for the screen size.
+       <STRONG>o</STRONG>   Normally  <STRONG>ncurses</STRONG>  looks  first  at  the  terminal database for the
+           screen size.
 
-           If  <STRONG>use_env</STRONG>  was  called  with <STRONG>FALSE</STRONG> for parameter, it
-           stops here unless If <STRONG>use_tioctl</STRONG> was also  called  with
-           <STRONG>TRUE</STRONG> for parameter.
+           If <STRONG>use_env</STRONG> was called with <STRONG>FALSE</STRONG> for parameter, it stops  here  un-
+           less If <STRONG>use_tioctl</STRONG> was also called with <STRONG>TRUE</STRONG> for parameter.
 
-       <STRONG>o</STRONG>   Then  it asks for the screen size via operating system
-           calls.  If successful, it overrides  the  values  from
-           the terminal database.
+       <STRONG>o</STRONG>   Then  it  asks  for the screen size via operating system calls.  If
+           successful, it overrides the values from the terminal database.
 
-       <STRONG>o</STRONG>   Finally  (unless <STRONG>use_env</STRONG> was called with <STRONG>FALSE</STRONG> parame-
-           ter), <STRONG>ncurses</STRONG> examines the <STRONG>LINES</STRONG> or  <STRONG>COLUMNS</STRONG>  environ-
-           ment variables, using a value in those to override the
-           results from the operating system  or  terminal  data-
-           base.
+       <STRONG>o</STRONG>   Finally (unless <STRONG>use_env</STRONG> was called with <STRONG>FALSE</STRONG>  parameter),  <STRONG>ncurses</STRONG>
+           examines  the <STRONG>LINES</STRONG> or <STRONG>COLUMNS</STRONG> environment variables, using a value
+           in those to override the results from the operating system or  ter-
+           minal database.
 
-           <STRONG>Ncurses</STRONG>  also  updates  the screen size in response to
-           SIGWINCH, unless overridden by the  <STRONG>LINES</STRONG>  or  <STRONG>COLUMNS</STRONG>
-           environment variables,
+           <STRONG>Ncurses</STRONG>  also  updates the screen size in response to SIGWINCH, un-
+           less overridden by the <STRONG>LINES</STRONG> or <STRONG>COLUMNS</STRONG> environment variables,
 
 
 </PRE><H3><a name="h3-use_tioctl">use_tioctl</a></H3><PRE>
-       The  <STRONG>use_tioctl</STRONG>  routine, if used, should be called before
-       <STRONG>initscr</STRONG> or <STRONG>newterm</STRONG> are called (because those  compute  the
-       screen  size).  After <STRONG>use_tioctl</STRONG> is called with <STRONG>TRUE</STRONG> as an
-       argument, <STRONG>ncurses</STRONG> modifies the last step in  its  computa-
-       tion of screen size as follows:
-
-       <STRONG>o</STRONG>   checks  if the <STRONG>LINES</STRONG> and <STRONG>COLUMNS</STRONG> environment variables
-           are set to a number greater than zero.
-
-       <STRONG>o</STRONG>   for each, <STRONG>ncurses</STRONG> updates the  corresponding  environ-
-           ment  variable with the value that it has obtained via
-           operating system call or from the terminal database.
-
-       <STRONG>o</STRONG>   <STRONG>ncurses</STRONG> re-fetches the value of the environment  vari-
-           ables  so  that  it is still the environment variables
-           which set the screen size.
-
-       The <STRONG>use_env</STRONG> and <STRONG>use_tioctl</STRONG> routines combine as  summarized
-       here:
-
-     <EM>use</EM><STRONG>_</STRONG><EM>env</EM>   <EM>use</EM><STRONG>_</STRONG><EM>tioctl</EM>   <EM>Summary</EM>
-     ----------------------------------------------------------------
-
-
-
-     TRUE      FALSE        This  is  the default behavior.  <STRONG>ncurses</STRONG>
-                            uses operating system calls unless over-
-                            ridden by $LINES or $COLUMNS environment
-                            variables.
-     TRUE      TRUE         <STRONG>ncurses</STRONG>  updates  $LINES  and   $COLUMNS
-                            based on operating system calls.
-     FALSE     TRUE         <STRONG>ncurses</STRONG> ignores $LINES and $COLUMNS, us-
-                            es  operating  system  calls  to  obtain
-                            size.
-     FALSE     FALSE        <STRONG>ncurses</STRONG>  relies on the terminal database
-                            to determine size.
+       The <STRONG>use_tioctl</STRONG> routine, if used, should be  called  before  <STRONG>initscr</STRONG>  or
+       <STRONG>newterm</STRONG>  are  called  (because  those  compute the screen size).  After
+       <STRONG>use_tioctl</STRONG> is called with <STRONG>TRUE</STRONG> as an  argument,  <STRONG>ncurses</STRONG>  modifies  the
+       last step in its computation of screen size as follows:
+
+       <STRONG>o</STRONG>   checks  if the <STRONG>LINES</STRONG> and <STRONG>COLUMNS</STRONG> environment variables are set to a
+           number greater than zero.
+
+       <STRONG>o</STRONG>   for each, <STRONG>ncurses</STRONG> updates the  corresponding  environment  variable
+           with  the  value  that it has obtained via operating system call or
+           from the terminal database.
+
+       <STRONG>o</STRONG>   <STRONG>ncurses</STRONG> re-fetches the value of the environment variables  so  that
+           it is still the environment variables which set the screen size.
+
+       The <STRONG>use_env</STRONG> and <STRONG>use_tioctl</STRONG> routines combine as summarized here:
+
+           <EM>use</EM><STRONG>_</STRONG><EM>env</EM>   <EM>use</EM><STRONG>_</STRONG><EM>tioctl</EM>   <EM>Summary</EM>
+           ----------------------------------------------------------------
+           TRUE      FALSE        This  is  the default behavior.  <STRONG>ncurses</STRONG>
+                                  uses operating system calls unless over-
+                                  ridden by $LINES or $COLUMNS environment
+                                  variables.
+           TRUE      TRUE         <STRONG>ncurses</STRONG>  updates  $LINES  and   $COLUMNS
+                                  based on operating system calls.
+           FALSE     TRUE         <STRONG>ncurses</STRONG> ignores $LINES and $COLUMNS, us-
+                                  es  operating  system  calls  to  obtain
+                                  size.
+           FALSE     FALSE        <STRONG>ncurses</STRONG>  relies on the terminal database
+                                  to determine size.
 
 
 </PRE><H3><a name="h3-putwin_getwin">putwin/getwin</a></H3><PRE>
-       The <STRONG>putwin</STRONG> routine writes all data associated with  window
-       (or  pad)  <EM>win</EM>  into the file to which <EM>filep</EM> points.  This
-       information can be later retrieved using the <STRONG>getwin</STRONG>  func-
-       tion.
+       The <STRONG>putwin</STRONG> routine writes all data associated with window (or pad)  <EM>win</EM>
+       into the file to which <EM>filep</EM> points.  This information can be later re-
+       trieved using the <STRONG>getwin</STRONG> function.
 
-       The <STRONG>getwin</STRONG> routine reads window related data stored in the
-       file by <STRONG>putwin</STRONG>.  The routine then creates and  initializes
-       a new window using that data.  It returns a pointer to the
-       new window.  There are a few caveats:
+       The <STRONG>getwin</STRONG> routine reads window related data  stored  in  the  file  by
+       <STRONG>putwin</STRONG>.   The  routine  then creates and initializes a new window using
+       that data.  It returns a pointer to the new window.  There  are  a  few
+       caveats:
 
-       <STRONG>o</STRONG>   the data written is a copy of  the  <STRONG>WINDOW</STRONG>  structure,
-           and  its  associated character cells.  The format dif-
-           fers between the wide-character  (ncursesw)  and  non-
-           wide  (ncurses)  libraries.  You can transfer data be-
-           tween the two, however.
+       <STRONG>o</STRONG>   the data written is a copy of the <STRONG>WINDOW</STRONG> structure, and its associ-
+           ated character cells.  The format differs between the  wide-charac-
+           ter  (ncursesw) and non-wide (ncurses) libraries.  You can transfer
+           data between the two, however.
 
-       <STRONG>o</STRONG>   the retrieved window is always created as a  top-level
-           window (or pad), rather than a subwindow.
+       <STRONG>o</STRONG>   the retrieved window is always created as a  top-level  window  (or
+           pad), rather than a subwindow.
 
-       <STRONG>o</STRONG>   the  window's  character  cells contain the color pair
-           <EM>value</EM>, but not the actual color <EM>numbers</EM>.  If cells  in
-           the  retrieved  window  use color pairs which have not
-           been created in the application using <STRONG>init_pair</STRONG>,  they
-           will not be colored when the window is refreshed.
+       <STRONG>o</STRONG>   the  window's character cells contain the color pair <EM>value</EM>, but not
+           the actual color <EM>numbers</EM>.  If cells in  the  retrieved  window  use
+           color  pairs  which  have not been created in the application using
+           <STRONG>init_pair</STRONG>, they will not be colored when the window is refreshed.
 
 
 </PRE><H3><a name="h3-delay_output">delay_output</a></H3><PRE>
-       The  <STRONG>delay_output</STRONG>  routine inserts an <EM>ms</EM> millisecond pause
-       in output.  This routine should not  be  used  extensively
-       because  padding  characters  are  used  rather than a CPU
-       pause.  If no padding character is  specified,  this  uses
-       <STRONG>napms</STRONG> to perform the delay.
+       The <STRONG>delay_output</STRONG> routine inserts an <EM>ms</EM>  millisecond  pause  in  output.
+       This  routine should not be used extensively because padding characters
+       are used rather than a CPU pause.  If no padding  character  is  speci-
+       fied, this uses <STRONG>napms</STRONG> to perform the delay.
 
 
 </PRE><H3><a name="h3-flushinp">flushinp</a></H3><PRE>
-       The  <STRONG>flushinp</STRONG>  routine  throws away any typeahead that has
-       been typed by the user and has not yet been  read  by  the
-       program.
+       The  <STRONG>flushinp</STRONG>  routine throws away any typeahead that has been typed by
+       the user and has not yet been read by the program.
 
 
 </PRE><H2><a name="h2-RETURN-VALUE">RETURN VALUE</a></H2><PRE>
-       Except  for  <STRONG>flushinp</STRONG>, routines that return an integer re-
-       turn <STRONG>ERR</STRONG> upon failure and <STRONG>OK</STRONG> (SVr4 specifies only "an  in-
-       teger value other than <STRONG>ERR</STRONG>") upon successful completion.
+       Except for <STRONG>flushinp</STRONG>, routines that return an integer  return  <STRONG>ERR</STRONG>  upon
+       failure  and <STRONG>OK</STRONG> (SVr4 specifies only "an integer value other than <STRONG>ERR</STRONG>")
+       upon successful completion.
 
        Routines that return pointers return <STRONG>NULL</STRONG> on error.
 
-       X/Open  does not define any error conditions.  In this im-
-       plementation
+       X/Open does not define any error conditions.  In this implementation
 
           <STRONG>flushinp</STRONG>
-               returns an error if the terminal was not  initial-
-               ized.
+               returns an error if the terminal was not initialized.
 
           <STRONG>putwin</STRONG>
-               returns  an  error  if the associated <STRONG>fwrite</STRONG> calls
-               return an error.
+               returns an error if the associated <STRONG>fwrite</STRONG> calls return  an  er-
+               ror.
 
 
 </PRE><H2><a name="h2-PORTABILITY">PORTABILITY</a></H2><PRE>
 
 </PRE><H3><a name="h3-filter">filter</a></H3><PRE>
-       The SVr4 documentation describes the action of <STRONG>filter</STRONG> only
-       in  the  vaguest  terms.   The description here is adapted
-       from the XSI Curses standard (which erroneously  fails  to
-       describe the disabling of <STRONG>cuu</STRONG>).
+       The  SVr4  documentation  describes  the  action  of <STRONG>filter</STRONG> only in the
+       vaguest terms.  The description here is adapted  from  the  XSI  Curses
+       standard (which erroneously fails to describe the disabling of <STRONG>cuu</STRONG>).
 
 
 </PRE><H3><a name="h3-keyname">keyname</a></H3><PRE>
-       The  <STRONG>keyname</STRONG> function may return the names of user-defined
-       string capabilities which are defined in the terminfo  en-
-       try  via  the <STRONG>-x</STRONG> option of <STRONG>tic</STRONG>.  This implementation auto-
-       matically assigns at  run-time  keycodes  to  user-defined
-       strings  which  begin  with  "k".   The  keycodes start at
-       KEY_MAX, but are not guaranteed to be the same  value  for
-       different  runs because user-defined codes are merged from
-       all terminal descriptions which  have  been  loaded.   The
-       <STRONG><A HREF="curs_extend.3x.html">use_extended_names(3x)</A></STRONG> function controls whether this data
-       is loaded when the terminal description is read by the li-
-       brary.
+       The  <STRONG>keyname</STRONG> function may return the names of user-defined string capa-
+       bilities which are defined in the terminfo entry via the <STRONG>-x</STRONG>  option  of
+       <STRONG>tic</STRONG>.  This implementation automatically assigns at run-time keycodes to
+       user-defined strings which begin  with  "k".   The  keycodes  start  at
+       KEY_MAX, but are not guaranteed to be the same value for different runs
+       because user-defined codes are merged from  all  terminal  descriptions
+       which  have  been loaded.  The <STRONG><A HREF="curs_extend.3x.html">use_extended_names(3x)</A></STRONG> function controls
+       whether this data is loaded when the terminal description  is  read  by
+       the library.
 
 
 </PRE><H3><a name="h3-nofilter_use_tioctl">nofilter/use_tioctl</a></H3><PRE>
-       The  <STRONG>nofilter</STRONG>  and  <STRONG>use_tioctl</STRONG>  routines  are  specific to
-       <STRONG>ncurses</STRONG>.  They were not supported on  Version  7,  BSD  or
-       System V implementations.  It is recommended that any code
-       depending  on  <STRONG>ncurses</STRONG>  extensions  be  conditioned  using
-       NCURSES_VERSION.
+       The  <STRONG>nofilter</STRONG>  and  <STRONG>use_tioctl</STRONG>  routines are specific to <STRONG>ncurses</STRONG>.  They
+       were not supported on Version 7, BSD or System V  implementations.   It
+       is  recommended that any code depending on <STRONG>ncurses</STRONG> extensions be condi-
+       tioned using NCURSES_VERSION.
 
 
 </PRE><H3><a name="h3-putwin_getwin">putwin/getwin</a></H3><PRE>
-       The  <STRONG>putwin</STRONG>  and <STRONG>getwin</STRONG> functions have several issues with
-       portability:
-
-       <STRONG>o</STRONG>   The files written and read by these functions  use  an
-           implementation-specific  format.   Although the format
-           is an obvious target for standardization, it has  been
-           overlooked.
-
-           Interestingly enough, according to the copyright dates
-           in Solaris source, the functions (along with <STRONG>scr_init</STRONG>,
-           etc.)  originated  with  the University of California,
-           Berkeley (in 1982) and were later (in  1988)  incorpo-
-           rated  into  SVr4.  Oddly, there are no such functions
+       The <STRONG>putwin</STRONG> and <STRONG>getwin</STRONG> functions have several issues with portability:
+
+       <STRONG>o</STRONG>   The files written and read by these functions  use  an  implementa-
+           tion-specific format.  Although the format is an obvious target for
+           standardization, it has been overlooked.
+
+           Interestingly enough, according to the copyright dates  in  Solaris
+           source,  the  functions (along with <STRONG>scr_init</STRONG>, etc.) originated with
+           the University of California, Berkeley (in 1982) and were later (in
+           1988)  incorporated  into SVr4.  Oddly, there are no such functions
            in the 4.3BSD curses sources.
 
-       <STRONG>o</STRONG>   Most implementations simply  dump  the  binary  <STRONG>WINDOW</STRONG>
-           structure  to  the  file.   These include SVr4 curses,
-           NetBSD and PDCurses, as well  as  older  <STRONG>ncurses</STRONG>  ver-
-           sions.   This  implementation  (as  well as the X/Open
-           variant of Solaris curses, dated  1995)  uses  textual
-           dumps.
+       <STRONG>o</STRONG>   Most implementations simply dump the binary <STRONG>WINDOW</STRONG> structure to the
+           file.   These  include SVr4 curses, NetBSD and PDCurses, as well as
+           older <STRONG>ncurses</STRONG> versions.  This implementation (as well as the X/Open
+           variant of Solaris curses, dated 1995) uses textual dumps.
 
-           The  implementations which use binary dumps use block-
-           I/O (the <STRONG>fwrite</STRONG> and <STRONG>fread</STRONG> functions).  Those that  use
-           textual  dumps  use  buffered-I/O.  A few applications
-           may happen to write extra data in the file using these
-           functions.   Doing  that  can run into problems mixing
-           block- and buffered-I/O.  This implementation  reduces
-           the  problem on writes by flushing the output.  Howev-
-           er, reading from a file written  using  mixed  schemes
-           may not be successful.
+           The  implementations  which  use  binary  dumps  use block-I/O (the
+           <STRONG>fwrite</STRONG> and <STRONG>fread</STRONG> functions).  Those  that  use  textual  dumps  use
+           buffered-I/O.  A few applications may happen to write extra data in
+           the file using these functions.  Doing that can run  into  problems
+           mixing  block-  and  buffered-I/O.  This implementation reduces the
+           problem on writes by flushing the output.  However, reading from  a
+           file written using mixed schemes may not be successful.
 
 
 </PRE><H3><a name="h3-unctrl_wunctrl">unctrl/wunctrl</a></H3><PRE>
-       The  XSI  Curses  standard,  Issue 4 describes these func-
-       tions.  It states that <STRONG>unctrl</STRONG> and <STRONG>wunctrl</STRONG>  will  return  a
-       null  pointer if unsuccessful, but does not define any er-
-       ror conditions.  This implementation checks for three cas-
-       es:
-
-       <STRONG>o</STRONG>   the  parameter  is a 7-bit US-ASCII code.  This is the
-           case that X/Open Curses documented.
-
-       <STRONG>o</STRONG>   the parameter is in the range 128-159, i.e., a C1 con-
-           trol  code.  If <STRONG>use_legacy_coding</STRONG> has been called with
-           a <STRONG>2</STRONG> parameter, <STRONG>unctrl</STRONG> returns the parameter,  i.e.,  a
-           one-character  string  with the parameter as the first
-           character.  Otherwise, it returns  "~@",  "~A",  etc.,
-           analogous to "^@", "^A", C0 controls.
-
-           X/Open  Curses does not document whether <STRONG>unctrl</STRONG> can be
-           called before initializing curses.   This  implementa-
-           tion  permits that, and returns the "~@", etc., values
-           in that case.
-
-       <STRONG>o</STRONG>   parameter values outside the 0 to 255  range.   <STRONG>unctrl</STRONG>
-           returns a null pointer.
-
-       The  strings returned by <STRONG>unctrl</STRONG> in this implementation are
-       determined at compile time, showing C1 controls  from  the
-       upper-128  codes with a "~" prefix rather than "^".  Other
-       implementations have different conventions.  For  example,
-       they  may  show  both sets of control characters with "^",
-       and strip the parameter to 7 bits.  Or they may ignore  C1
-       controls  and  treat  all of the upper-128 codes as print-
-       able.  This implementation uses 8 bits but does not modify
-       the string to reflect locale.  The <STRONG>use_legacy_coding</STRONG> func-
-       tion allows the caller to change the output of <STRONG>unctrl</STRONG>.
-
-       Likewise, the  <STRONG><A HREF="curs_inopts.3x.html">meta(3x)</A></STRONG>  function  allows  the  caller  to
-       change  the output of <STRONG>keyname</STRONG>, i.e., it determines whether
-       to use the "M-" prefix for "meta" keys (codes in the range
-       128 to 255).  Both <STRONG>use_legacy_coding</STRONG> and <STRONG>meta</STRONG> succeed only
-       after curses is initialized.  X/Open Curses does not docu-
-       ment  the  treatment  of  codes 128 to 159.  When treating
-       them as "meta" keys (or if <STRONG>keyname</STRONG> is called  before  ini-
-       tializing  curses),  this  implementation  returns strings
-       "M-^@", "M-^A", etc.
+       The  XSI Curses standard, Issue 4 describes these functions.  It states
+       that <STRONG>unctrl</STRONG> and <STRONG>wunctrl</STRONG> will return a null pointer if unsuccessful, but
+       does  not  define any error conditions.  This implementation checks for
+       three cases:
+
+       <STRONG>o</STRONG>   the parameter is a 7-bit US-ASCII code.   This  is  the  case  that
+           X/Open Curses documented.
+
+       <STRONG>o</STRONG>   the parameter is in the range 128-159, i.e., a C1 control code.  If
+           <STRONG>use_legacy_coding</STRONG> has been called with a <STRONG>2</STRONG>  parameter,  <STRONG>unctrl</STRONG>  re-
+           turns  the parameter, i.e., a one-character string with the parame-
+           ter as the first character.   Otherwise,  it  returns  "~@",  "~A",
+           etc., analogous to "^@", "^A", C0 controls.
+
+           X/Open Curses does not document whether <STRONG>unctrl</STRONG> can be called before
+           initializing curses.  This implementation permits that, and returns
+           the "~@", etc., values in that case.
+
+       <STRONG>o</STRONG>   parameter values outside the 0 to 255 range.  <STRONG>unctrl</STRONG> returns a null
+           pointer.
+
+       The strings returned by <STRONG>unctrl</STRONG> in this implementation are determined at
+       compile  time,  showing C1 controls from the upper-128 codes with a "~"
+       prefix rather than "^".  Other implementations have  different  conven-
+       tions.  For example, they may show both sets of control characters with
+       "^", and strip the parameter to 7 bits.  Or they may ignore C1 controls
+       and treat all of the upper-128 codes as printable.  This implementation
+       uses 8 bits but does not modify the  string  to  reflect  locale.   The
+       <STRONG>use_legacy_coding</STRONG>  function  allows  the caller to change the output of
+       <STRONG>unctrl</STRONG>.
+
+       Likewise, the <STRONG><A HREF="curs_inopts.3x.html">meta(3x)</A></STRONG> function allows the caller to change the  output
+       of  <STRONG>keyname</STRONG>,  i.e.,  it  determines  whether to use the "M-" prefix for
+       "meta" keys (codes in the range 128 to  255).   Both  <STRONG>use_legacy_coding</STRONG>
+       and  <STRONG>meta</STRONG> succeed only after curses is initialized.  X/Open Curses does
+       not document the treatment of codes 128 to 159.  When treating them  as
+       "meta"  keys (or if <STRONG>keyname</STRONG> is called before initializing curses), this
+       implementation returns strings "M-^@", "M-^A", etc.
 
 
 </PRE><H3><a name="h3-use_env_use_tioctl">use_env/use_tioctl</a></H3><PRE>
-       If <STRONG>ncurses</STRONG> is configured to provide the  sp-functions  ex-
-       tension, the state of <STRONG>use_env</STRONG> and <STRONG>use_tioctl</STRONG> may be updat-
-       ed before creating  each  <EM>screen</EM>  rather  than  once  only
-       (<STRONG><A HREF="curs_sp_funcs.3x.html">curs_sp_funcs(3x)</A></STRONG>).   This feature of <STRONG>use_env</STRONG> is not pro-
-       vided by other implementation of curses.
+       If <STRONG>ncurses</STRONG> is configured to provide  the  sp-functions  extension,  the
+       state  of  <STRONG>use_env</STRONG>  and  <STRONG>use_tioctl</STRONG> may be updated before creating each
+       <EM>screen</EM> rather than once  only  (<STRONG><A HREF="curs_sp_funcs.3x.html">curs_sp_funcs(3x)</A></STRONG>).   This  feature  of
+       <STRONG>use_env</STRONG> is not provided by other implementation of curses.
 
 
 </PRE><H2><a name="h2-SEE-ALSO">SEE ALSO</a></H2><PRE>
-       <STRONG><A HREF="legacy_coding.3x.html">legacy_coding(3x)</A></STRONG>, <STRONG><A HREF="ncurses.3x.html">curses(3x)</A></STRONG>, <STRONG><A HREF="curs_initscr.3x.html">curs_initscr(3x)</A></STRONG>,  <STRONG>curs_in-</STRONG>
-       <STRONG><A HREF="curs_inopts.3x.html">opts(3x)</A></STRONG>,        <STRONG><A HREF="curs_kernel.3x.html">curs_kernel(3x)</A></STRONG>,       <STRONG><A HREF="curs_scr_dump.3x.html">curs_scr_dump(3x)</A></STRONG>,
-       <STRONG><A HREF="curs_sp_funcs.3x.html">curs_sp_funcs(3x)</A></STRONG>, <STRONG><A HREF="curs_variables.3x.html">curs_variables(3x)</A></STRONG>, <STRONG><A HREF="legacy_coding.3x.html">legacy_coding(3x)</A></STRONG>.
+       <STRONG><A HREF="legacy_coding.3x.html">legacy_coding(3x)</A></STRONG>,   <STRONG><A HREF="ncurses.3x.html">curses(3x)</A></STRONG>,   <STRONG><A HREF="curs_initscr.3x.html">curs_initscr(3x)</A></STRONG>,   <STRONG><A HREF="curs_inopts.3x.html">curs_inopts(3x)</A></STRONG>,
+       <STRONG><A HREF="curs_kernel.3x.html">curs_kernel(3x)</A></STRONG>,   <STRONG><A HREF="curs_scr_dump.3x.html">curs_scr_dump(3x)</A></STRONG>,   <STRONG><A HREF="curs_sp_funcs.3x.html">curs_sp_funcs(3x)</A></STRONG>,   <STRONG>curs_vari-</STRONG>
+       <STRONG><A HREF="curs_variables.3x.html">ables(3x)</A></STRONG>, <STRONG><A HREF="legacy_coding.3x.html">legacy_coding(3x)</A></STRONG>.
 
 
 
-                                                          <STRONG><A HREF="curs_util.3x.html">curs_util(3x)</A></STRONG>
+                                                                 <STRONG><A HREF="curs_util.3x.html">curs_util(3x)</A></STRONG>
 </PRE>
 <div class="nav">
 <ul>
index 2ee4a584bfad61a8a84748fd21628c3a6817a98f..d8a810dca141baa8707506643fca1ee65493bfdb 100644 (file)
 <BODY>
 <H1 class="no-header">curs_variables 3x</H1>
 <PRE>
-<STRONG><A HREF="curs_variables.3x.html">curs_variables(3x)</A></STRONG>                                   <STRONG><A HREF="curs_variables.3x.html">curs_variables(3x)</A></STRONG>
+<STRONG><A HREF="curs_variables.3x.html">curs_variables(3x)</A></STRONG>                                          <STRONG><A HREF="curs_variables.3x.html">curs_variables(3x)</A></STRONG>
 
 
 
 
 </PRE><H2><a name="h2-NAME">NAME</a></H2><PRE>
-       <STRONG>COLORS</STRONG>, <STRONG>COLOR_PAIRS</STRONG>, <STRONG>COLS</STRONG>, <STRONG>ESCDELAY</STRONG>, <STRONG>LINES</STRONG>, <STRONG>TABSIZE</STRONG>,
-       <STRONG>curscr</STRONG>, <STRONG>newscr</STRONG>, <STRONG>stdscr</STRONG> - <STRONG>curses</STRONG> global variables
+       <STRONG>COLORS</STRONG>, <STRONG>COLOR_PAIRS</STRONG>, <STRONG>COLS</STRONG>, <STRONG>ESCDELAY</STRONG>, <STRONG>LINES</STRONG>, <STRONG>TABSIZE</STRONG>, <STRONG>curscr</STRONG>, <STRONG>newscr</STRONG>,
+       <STRONG>stdscr</STRONG> - <STRONG>curses</STRONG> global variables
 
 
 </PRE><H2><a name="h2-SYNOPSIS">SYNOPSIS</a></H2><PRE>
 
 
 </PRE><H2><a name="h2-DESCRIPTION">DESCRIPTION</a></H2><PRE>
-       This page summarizes variables provided by the <STRONG>curses</STRONG>  li-
-       brary.   A more complete description is given in the <STRONG>curs-</STRONG>
-       <STRONG><A HREF="ncurses.3x.html">es(3x)</A></STRONG> manual page.
+       This page summarizes variables provided by the <STRONG>curses</STRONG> library.  A  more
+       complete description is given in the <STRONG><A HREF="ncurses.3x.html">curses(3x)</A></STRONG> manual page.
 
-       Depending on the configuration, these may be actual  vari-
-       ables,     or    macros    (see    <STRONG><A HREF="curs_threads.3x.html">curs_threads(3x)</A></STRONG>    and
-       <STRONG><A HREF="curs_opaque.3x.html">curs_opaque(3x)</A></STRONG>) which provide read-only access  to  <EM>curs-</EM>
-       <EM>es</EM>'s  state.   In  either  case, applications should treat
-       them as read-only to avoid confusing the library.
+       Depending  on  the  configuration,  these  may  be actual variables, or
+       macros (see <STRONG><A HREF="curs_threads.3x.html">curs_threads(3x)</A></STRONG> and <STRONG><A HREF="curs_opaque.3x.html">curs_opaque(3x)</A></STRONG>) which  provide  read-
+       only  access  to  <EM>curses</EM>'s  state.  In either case, applications should
+       treat them as read-only to avoid confusing the library.
 
 
 </PRE><H3><a name="h3-COLOR_PAIRS">COLOR_PAIRS</a></H3><PRE>
-       After initializing curses, this variable contains the num-
-       ber of color pairs which the terminal can support.  Usual-
-       ly the number of color pairs  will  be  the  product  <STRONG>COL-</STRONG>
-       <STRONG>ORS</STRONG>*<STRONG>COLORS</STRONG>, however this is not always true:
+       After initializing curses, this variable contains the number  of  color
+       pairs  which  the  terminal  can  support.  Usually the number of color
+       pairs will be the product <STRONG>COLORS</STRONG>*<STRONG>COLORS</STRONG>, however  this  is  not  always
+       true:
 
-       <STRONG>o</STRONG>   a  few  terminals  use HLS colors, which do not follow
-           this rule
+       <STRONG>o</STRONG>   a few terminals use HLS colors, which do not follow this rule
 
-       <STRONG>o</STRONG>   terminals supporting a large number of colors are lim-
-           ited  by  the number of color pairs that can be repre-
-           sented in a <EM>signed</EM> <EM>short</EM> value.
+       <STRONG>o</STRONG>   terminals  supporting  a  large number of colors are limited by the
+           number of color pairs that can be represented  in  a  <EM>signed</EM>  <EM>short</EM>
+           value.
 
 
 </PRE><H3><a name="h3-COLORS">COLORS</a></H3><PRE>
-       After initializing curses, this variable contains the num-
-       ber of colors which the terminal can support.
+       After  initializing curses, this variable contains the number of colors
+       which the terminal can support.
 
 
 </PRE><H3><a name="h3-COLS">COLS</a></H3><PRE>
-       After  initializing  curses,  this  variable  contains the
-       width of the screen, i.e., the number of columns.
+       After initializing curses, this variable  contains  the  width  of  the
+       screen, i.e., the number of columns.
 
 
 </PRE><H3><a name="h3-ESCDELAY">ESCDELAY</a></H3><PRE>
-       This variable holds the number of milliseconds to wait af-
-       ter reading an escape character, to distinguish between an
-       individual escape character entered on the  keyboard  from
-       escape  sequences  sent  by cursor- and function-keys (see
-       <STRONG><A HREF="ncurses.3x.html">curses(3x)</A></STRONG>.
+       This variable holds the number of milliseconds to wait after reading an
+       escape character, to distinguish between an individual escape character
+       entered on the keyboard from escape sequences sent by cursor- and func-
+       tion-keys (see <STRONG><A HREF="ncurses.3x.html">curses(3x)</A></STRONG>.
 
 
 </PRE><H3><a name="h3-LINES">LINES</a></H3><PRE>
-       After initializing  curses,  this  variable  contains  the
-       height of the screen, i.e., the number of lines.
+       After initializing curses, this variable contains  the  height  of  the
+       screen, i.e., the number of lines.
 
 
 </PRE><H3><a name="h3-TABSIZE">TABSIZE</a></H3><PRE>
-       This  variable  holds  the  number  of columns used by the
-       <EM>curses</EM> library when converting a tab character  to  spaces
-       as it adds the tab to a window (see <STRONG><A HREF="curs_addch.3x.html">curs_addch(3x)</A></STRONG>.
+       This  variable  holds  the number of columns used by the <EM>curses</EM> library
+       when converting a tab character to spaces as it adds the tab to a  win-
+       dow (see <STRONG><A HREF="curs_addch.3x.html">curs_addch(3x)</A></STRONG>.
 
 
 </PRE><H3><a name="h3-The-Current-Screen">The Current Screen</a></H3><PRE>
-       This implementation of curses uses a special window <STRONG>curscr</STRONG>
-       to record its updates to the terminal screen.
+       This  implementation  of  curses uses a special window <STRONG>curscr</STRONG> to record
+       its updates to the terminal screen.
 
 
 </PRE><H3><a name="h3-The-New-Screen">The New Screen</a></H3><PRE>
-       This implementation of curses uses a special window <STRONG>newscr</STRONG>
-       to  hold  updates  to  the terminal screen before applying
-       them to <STRONG>curscr</STRONG>.
+       This implementation of curses uses a special window <STRONG>newscr</STRONG> to hold  up-
+       dates to the terminal screen before applying them to <STRONG>curscr</STRONG>.
 
 
 </PRE><H3><a name="h3-The-Standard-Screen">The Standard Screen</a></H3><PRE>
-       Upon initializing curses, a default window called  <STRONG>stdscr</STRONG>,
-       which  is  the  size  of  the terminal screen, is created.
-       Many curses functions use this window.
+       Upon  initializing curses, a default window called <STRONG>stdscr</STRONG>, which is the
+       size of the terminal screen, is created.   Many  curses  functions  use
+       this window.
 
 
 </PRE><H2><a name="h2-NOTES">NOTES</a></H2><PRE>
-       The   curses   library   is   initialized   using   either
-       <STRONG><A HREF="curs_initscr.3x.html">initscr(3x)</A></STRONG>, or <STRONG><A HREF="curs_initscr.3x.html">newterm(3x)</A></STRONG>.
+       The   curses  library  is  initialized  using  either  <STRONG><A HREF="curs_initscr.3x.html">initscr(3x)</A></STRONG>,  or
+       <STRONG><A HREF="curs_initscr.3x.html">newterm(3x)</A></STRONG>.
 
-       If  <STRONG>curses</STRONG>  is  configured to use separate curses/terminfo
-       libraries, most of these variables reside  in  the  curses
-       library.
+       If <STRONG>curses</STRONG> is configured to use separate curses/terminfo libraries, most
+       of these variables reside in the curses library.
 
 
 </PRE><H2><a name="h2-PORTABILITY">PORTABILITY</a></H2><PRE>
-       ESCDELAY  and TABSIZE are extensions, not provided in most
-       other implementations of curses.
+       ESCDELAY  and TABSIZE are extensions, not provided in most other imple-
+       mentations of curses.
 
        ESCDELAY is an extension in AIX curses:
 
-       <STRONG>o</STRONG>   In AIX, the units for ESCDELAY are <EM>fifths</EM>  of  a  mil-
-           lisecond.
+       <STRONG>o</STRONG>   In AIX, the units for ESCDELAY are <EM>fifths</EM> of a millisecond.
 
        <STRONG>o</STRONG>   The default value for AIX's ESCDELAY is 0.1 seconds.
 
-       <STRONG>o</STRONG>   AIX also enforces a limit of 10,000 seconds for ESCDE-
-           LAY; this implementation currently has no upper limit.
+       <STRONG>o</STRONG>   AIX also enforces a limit of 10,000 seconds for ESCDELAY; this  im-
+           plementation currently has no upper limit.
 
-       This implementation has long used ESCDELAY with  units  of
-       milliseconds,  making  it impossible to be completely com-
-       patible with AIX.  Likewise, most users have either decid-
-       ed to override the value, or rely upon its default value.
+       This  implementation has long used ESCDELAY with units of milliseconds,
+       making it impossible to be completely compatible with  AIX.   Likewise,
+       most  users have either decided to override the value, or rely upon its
+       default value.
 
 
 </PRE><H2><a name="h2-SEE-ALSO">SEE ALSO</a></H2><PRE>
-       <STRONG><A HREF="ncurses.3x.html">curses(3x)</A></STRONG>,       <STRONG><A HREF="curs_opaque.3x.html">curs_opaque(3x)</A></STRONG>,      <STRONG><A HREF="curs_terminfo.3x.html">curs_terminfo(3x)</A></STRONG>,
-       <STRONG><A HREF="curs_threads.3x.html">curs_threads(3x)</A></STRONG>, <STRONG><A HREF="term_variables.3x.html">term_variables(3x)</A></STRONG>, <STRONG><A HREF="terminfo.5.html">terminfo(5)</A></STRONG>.
+       <STRONG><A HREF="ncurses.3x.html">curses(3x)</A></STRONG>,   <STRONG><A HREF="curs_opaque.3x.html">curs_opaque(3x)</A></STRONG>,   <STRONG><A HREF="curs_terminfo.3x.html">curs_terminfo(3x)</A></STRONG>,   <STRONG><A HREF="curs_threads.3x.html">curs_threads(3x)</A></STRONG>,
+       <STRONG><A HREF="term_variables.3x.html">term_variables(3x)</A></STRONG>, <STRONG><A HREF="terminfo.5.html">terminfo(5)</A></STRONG>.
 
 
 
-                                                     <STRONG><A HREF="curs_variables.3x.html">curs_variables(3x)</A></STRONG>
+                                                            <STRONG><A HREF="curs_variables.3x.html">curs_variables(3x)</A></STRONG>
 </PRE>
 <div class="nav">
 <ul>
index 16dcf10ff8f8875af2d9e8e8ec3fd6da68f92597..a20e19823e22da531e8172ae23205321158c8a75 100644 (file)
 <BODY>
 <H1 class="no-header">curs_window 3x</H1>
 <PRE>
-<STRONG><A HREF="curs_window.3x.html">curs_window(3x)</A></STRONG>                                         <STRONG><A HREF="curs_window.3x.html">curs_window(3x)</A></STRONG>
+<STRONG><A HREF="curs_window.3x.html">curs_window(3x)</A></STRONG>                                                <STRONG><A HREF="curs_window.3x.html">curs_window(3x)</A></STRONG>
 
 
 
 
 </PRE><H2><a name="h2-NAME">NAME</a></H2><PRE>
-       <STRONG>newwin</STRONG>, <STRONG>delwin</STRONG>, <STRONG>mvwin</STRONG>, <STRONG>subwin</STRONG>, <STRONG>derwin</STRONG>, <STRONG>mvderwin</STRONG>, <STRONG>dupwin</STRONG>,
-       <STRONG>wsyncup</STRONG>, <STRONG>syncok</STRONG>, <STRONG>wcursyncup</STRONG>, <STRONG>wsyncdown</STRONG> - create <STRONG>curses</STRONG>
-       windows
+       <STRONG>newwin</STRONG>, <STRONG>delwin</STRONG>, <STRONG>mvwin</STRONG>, <STRONG>subwin</STRONG>, <STRONG>derwin</STRONG>, <STRONG>mvderwin</STRONG>, <STRONG>dupwin</STRONG>, <STRONG>wsyncup</STRONG>,
+       <STRONG>syncok</STRONG>, <STRONG>wcursyncup</STRONG>, <STRONG>wsyncdown</STRONG> - create <STRONG>curses</STRONG> windows
 
 
 </PRE><H2><a name="h2-SYNOPSIS">SYNOPSIS</a></H2><PRE>
@@ -76,9 +75,9 @@
 </PRE><H2><a name="h2-DESCRIPTION">DESCRIPTION</a></H2><PRE>
 
 </PRE><H3><a name="h3-newwin">newwin</a></H3><PRE>
-       Calling <STRONG>newwin</STRONG> creates and returns a pointer to a new win-
-       dow with the given number of lines and columns.  The upper
-       left-hand corner of the window is at
+       Calling <STRONG>newwin</STRONG> creates and returns a pointer to a new window  with  the
+       given  number  of lines and columns.  The upper left-hand corner of the
+       window is at
               line <EM>begin</EM>_<EM>y</EM>,
               column <EM>begin</EM>_<EM>x</EM>
 
               <STRONG>LINES</STRONG> <STRONG>-</STRONG> <EM>begin</EM>_<EM>y</EM> and
               <STRONG>COLS</STRONG> <STRONG>-</STRONG> <EM>begin</EM>_<EM>x</EM>.
 
-       A   new   full-screen   window   is   created  by  calling
-       <STRONG>newwin(0,0,0,0)</STRONG>.
+       A new full-screen window is created by calling <STRONG>newwin(0,0,0,0)</STRONG>.
 
 
 </PRE><H3><a name="h3-delwin">delwin</a></H3><PRE>
-       Calling <STRONG>delwin</STRONG> deletes the named window, freeing all memo-
-       ry associated with it (it does not actually erase the win-
-       dow's screen image).  Subwindows must  be  deleted  before
-       the main window can be deleted.
+       Calling <STRONG>delwin</STRONG> deletes the named window, freeing all memory  associated
+       with  it  (it does not actually erase the window's screen image).  Sub-
+       windows must be deleted before the main window can be deleted.
 
 
 </PRE><H3><a name="h3-mvwin">mvwin</a></H3><PRE>
-       Calling <STRONG>mvwin</STRONG> moves the window so that the upper left-hand
-       corner is at position (<EM>x</EM>, <EM>y</EM>).  If the move would cause the
-       window to be off the screen, it is an error and the window
-       is not moved.  Moving subwindows is allowed, but should be
-       avoided.
+       Calling <STRONG>mvwin</STRONG> moves the window so that the upper left-hand corner is at
+       position  (<EM>x</EM>,  <EM>y</EM>).   If  the  move would cause the window to be off the
+       screen, it is an error and the window is not moved.  Moving  subwindows
+       is allowed, but should be avoided.
 
 
 </PRE><H3><a name="h3-subwin">subwin</a></H3><PRE>
-       Calling <STRONG>subwin</STRONG> creates and returns a pointer to a new win-
-       dow with the given number of lines, <EM>nlines</EM>,  and  columns,
-       <EM>ncols</EM>.   The  window  is at position (<EM>begin</EM>_<EM>y</EM>, <EM>begin</EM>_<EM>x</EM>) on
-       the screen.  The subwindow shares memory with  the  window
-       <EM>orig</EM>,  so that changes made to one window will affect both
-       windows.  When using this routine, it is necessary to call
-       <STRONG>touchwin</STRONG>  or  <STRONG>touchline</STRONG> on <EM>orig</EM> before calling <STRONG>wrefresh</STRONG> on
-       the subwindow.
+       Calling  <STRONG>subwin</STRONG>  creates and returns a pointer to a new window with the
+       given number of lines, <EM>nlines</EM>, and columns, <EM>ncols</EM>.  The  window  is  at
+       position (<EM>begin</EM>_<EM>y</EM>, <EM>begin</EM>_<EM>x</EM>) on the screen.  The subwindow shares memory
+       with the window <EM>orig</EM>, so that changes made to one  window  will  affect
+       both  windows.  When using this routine, it is necessary to call <STRONG>touch-</STRONG>
+       <STRONG>win</STRONG> or <STRONG>touchline</STRONG> on <EM>orig</EM> before calling <STRONG>wrefresh</STRONG> on the subwindow.
 
 
 </PRE><H3><a name="h3-derwin">derwin</a></H3><PRE>
-       Calling <STRONG>derwin</STRONG> is the same as calling <STRONG>subwin,</STRONG> except  that
-       <EM>begin</EM>_<EM>y</EM> and <EM>begin</EM>_<EM>x</EM> are relative to the origin of the win-
-       dow <EM>orig</EM> rather than the screen.  There is  no  difference
-       between the subwindows and the derived windows.
+       Calling <STRONG>derwin</STRONG> is the same as calling <STRONG>subwin,</STRONG> except that  <EM>begin</EM>_<EM>y</EM>  and
+       <EM>begin</EM>_<EM>x</EM>  are  relative to the origin of the window <EM>orig</EM> rather than the
+       screen.  There is no difference between the subwindows and the  derived
+       windows.
 
-       Calling <STRONG>mvderwin</STRONG> moves a derived window (or subwindow) in-
-       side its parent window.  The screen-relative parameters of
-       the  window are not changed.  This routine is used to dis-
-       play different parts of the  parent  window  at  the  same
-       physical position on the screen.
+       Calling  <STRONG>mvderwin</STRONG> moves a derived window (or subwindow) inside its par-
+       ent window.  The screen-relative  parameters  of  the  window  are  not
+       changed.  This routine is used to display different parts of the parent
+       window at the same physical position on the screen.
 
 
 </PRE><H3><a name="h3-dupwin">dupwin</a></H3><PRE>
-       Calling  <STRONG>dupwin</STRONG>  creates  an exact duplicate of the window
-       <EM>win</EM>.
+       Calling <STRONG>dupwin</STRONG> creates an exact duplicate of the window <EM>win</EM>.
 
 
 </PRE><H3><a name="h3-wsyncup">wsyncup</a></H3><PRE>
-       Calling <STRONG>wsyncup</STRONG> touches all locations in ancestors of  <EM>win</EM>
-       that  are changed in <EM>win</EM>.  If <STRONG>syncok</STRONG> is called with second
-       argument <STRONG>TRUE</STRONG> then <STRONG>wsyncup</STRONG> is called automatically whenev-
-       er there is a change in the window.
+       Calling <STRONG>wsyncup</STRONG> touches all locations in  ancestors  of  <EM>win</EM>  that  are
+       changed  in  <EM>win</EM>.   If  <STRONG>syncok</STRONG> is called with second argument <STRONG>TRUE</STRONG> then
+       <STRONG>wsyncup</STRONG> is called automatically whenever there is a change in the  win-
+       dow.
 
 
 </PRE><H3><a name="h3-wsyncdown">wsyncdown</a></H3><PRE>
-       The  <STRONG>wsyncdown</STRONG>  routine  touches each location in <EM>win</EM> that
-       has been touched in any of  its  ancestor  windows.   This
-       routine  is  called by <STRONG>wrefresh</STRONG>, so it should almost never
-       be necessary to call it manually.
+       The  <STRONG>wsyncdown</STRONG>  routine  touches  each  location  in  <EM>win</EM> that has been
+       touched in any of its ancestor windows.  This routine is called by <STRONG>wre-</STRONG>
+       <STRONG>fresh</STRONG>, so it should almost never be necessary to call it manually.
 
 
 </PRE><H3><a name="h3-wcursyncup">wcursyncup</a></H3><PRE>
-       The routine <STRONG>wcursyncup</STRONG> updates the current cursor position
-       of  all the ancestors of the window to reflect the current
-       cursor position of the window.
+       The  routine  <STRONG>wcursyncup</STRONG> updates the current cursor position of all the
+       ancestors of the window to reflect the current cursor position  of  the
+       window.
 
 
 </PRE><H2><a name="h2-RETURN-VALUE">RETURN VALUE</a></H2><PRE>
-       Routines that return an integer return the integer <STRONG>ERR</STRONG> up-
-       on  failure  and <STRONG>OK</STRONG> (SVr4 only specifies "an integer value
-       other than <STRONG>ERR</STRONG>") upon successful completion.
+       Routines that return an integer return the integer <STRONG>ERR</STRONG> upon failure and
+       <STRONG>OK</STRONG> (SVr4 only specifies "an integer value other than  <STRONG>ERR</STRONG>")  upon  suc-
+       cessful completion.
 
        Routines that return pointers return <STRONG>NULL</STRONG> on error.
 
-       X/Open defines no error conditions.  In  this  implementa-
-       tion
+       X/Open defines no error conditions.  In this implementation
 
        <STRONG>delwin</STRONG>
-            returns an error if the window pointer is null, or if
-            the window is the parent of another window.
+            returns  an  error if the window pointer is null, or if the window
+            is the parent of another window.
 
        <STRONG>derwin</STRONG>
-            returns an error if  the  parent  window  pointer  is
-            null,  or  if  any  of its ordinates or dimensions is
-            negative, or if the resulting window does not fit in-
-            side the parent window.
+            returns an error if the parent window pointer is null, or  if  any
+            of  its  ordinates  or dimensions is negative, or if the resulting
+            window does not fit inside the parent window.
 
        <STRONG>dupwin</STRONG>
             returns an error if the window pointer is null.
 
-            This implementation also maintains a list of windows,
-            and checks that the pointer passed to <STRONG>delwin</STRONG>  is  one
-            that it created, returning an error if it was not..
+            This implementation also maintains a list of windows,  and  checks
+            that  the pointer passed to <STRONG>delwin</STRONG> is one that it created, return-
+            ing an error if it was not..
 
        <STRONG>mvderwin</STRONG>
-            returns an error if the window pointer is null, or if
-            some part of the window would be placed off-screen.
+            returns an error if the window pointer is null, or if some part of
+            the window would be placed off-screen.
 
        <STRONG>mvwin</STRONG>
-            returns an error if the window pointer is null, or if
-            the  window  is  really a pad, or if some part of the
-            window would be placed off-screen.
+            returns  an  error if the window pointer is null, or if the window
+            is really a pad, or if some part of the  window  would  be  placed
+            off-screen.
 
        <STRONG>newwin</STRONG>
-            will fail if either of  its  beginning  ordinates  is
-            negative, or if either the number of lines or columns
-            is negative.
+            will  fail if either of its beginning ordinates is negative, or if
+            either the number of lines or columns is negative.
 
        <STRONG>syncok</STRONG>
             returns an error if the window pointer is null.
 
        <STRONG>subwin</STRONG>
-            returns an error if  the  parent  window  pointer  is
-            null,  or  if  any  of its ordinates or dimensions is
-            negative, or if the resulting window does not fit in-
-            side the parent window.
+            returns an error if the parent window pointer is null, or  if  any
+            of  its  ordinates  or dimensions is negative, or if the resulting
+            window does not fit inside the parent window.
 
-       The  functions which return a window pointer may also fail
-       if there is insufficient memory for its  data  structures.
-       Any  of  these  functions  will fail if the screen has not
-       been initialized, i.e., with <STRONG>initscr</STRONG> or <STRONG>newterm</STRONG>.
+       The functions which return a window pointer may also fail if  there  is
+       insufficient  memory  for  its data structures.  Any of these functions
+       will fail if the screen has not been initialized, i.e., with <STRONG>initscr</STRONG> or
+       <STRONG>newterm</STRONG>.
 
 
 </PRE><H2><a name="h2-NOTES">NOTES</a></H2><PRE>
-       If many small changes are made to the window, the  <STRONG>wsyncup</STRONG>
-       option could degrade performance.
+       If  many small changes are made to the window, the <STRONG>wsyncup</STRONG> option could
+       degrade performance.
 
        Note that <STRONG>syncok</STRONG> may be a macro.
 
 
 </PRE><H2><a name="h2-BUGS">BUGS</a></H2><PRE>
-       The  subwindow  functions (<STRONG>subwin</STRONG>, <STRONG>derwin</STRONG>, <STRONG>mvderwin</STRONG>, <STRONG>wsyn-</STRONG>
-       <STRONG>cup</STRONG>, <STRONG>wsyncdown</STRONG>, <STRONG>wcursyncup</STRONG>, <STRONG>syncok</STRONG>) are flaky, incomplete-
-       ly implemented, and not well tested.
-
-       The  System  V  curses documentation is very unclear about
-       what <STRONG>wsyncup</STRONG> and <STRONG>wsyncdown</STRONG> actually do.  It seems to imply
-       that  they  are only supposed to touch exactly those lines
-       that are affected by ancestor changes.  The language here,
-       and  the  behavior  of  the <STRONG>curses</STRONG> implementation, is pat-
-       terned on the XPG4 curses standard.  The weaker XPG4  spec
+       The subwindow functions (<STRONG>subwin</STRONG>, <STRONG>derwin</STRONG>, <STRONG>mvderwin</STRONG>, <STRONG>wsyncup</STRONG>,  <STRONG>wsyncdown</STRONG>,
+       <STRONG>wcursyncup</STRONG>,  <STRONG>syncok</STRONG>)  are flaky, incompletely implemented, and not well
+       tested.
+
+       The System V curses documentation is very unclear  about  what  <STRONG>wsyncup</STRONG>
+       and  <STRONG>wsyncdown</STRONG>  actually do.  It seems to imply that they are only sup-
+       posed to touch exactly  those  lines  that  are  affected  by  ancestor
+       changes.  The language here, and the behavior of the <STRONG>curses</STRONG> implementa-
+       tion, is patterned on the XPG4 curses standard.  The weaker  XPG4  spec
        may result in slower updates.
 
 
 </PRE><H2><a name="h2-PORTABILITY">PORTABILITY</a></H2><PRE>
-       The  XSI  Curses  standard,  Issue 4 describes these func-
-       tions.
+       The XSI Curses standard, Issue 4 describes these functions.
 
 
 </PRE><H2><a name="h2-SEE-ALSO">SEE ALSO</a></H2><PRE>
-       <STRONG><A HREF="ncurses.3x.html">curses(3x)</A></STRONG>, <STRONG><A HREF="curs_refresh.3x.html">curs_refresh(3x)</A></STRONG>,  <STRONG><A HREF="curs_touch.3x.html">curs_touch(3x)</A></STRONG>,  <STRONG>curs_vari-</STRONG>
-       <STRONG><A HREF="curs_variables.3x.html">ables(3x)</A></STRONG>
+       <STRONG><A HREF="ncurses.3x.html">curses(3x)</A></STRONG>, <STRONG><A HREF="curs_refresh.3x.html">curs_refresh(3x)</A></STRONG>, <STRONG><A HREF="curs_touch.3x.html">curs_touch(3x)</A></STRONG>, <STRONG><A HREF="curs_variables.3x.html">curs_variables(3x)</A></STRONG>
 
 
 
-                                                        <STRONG><A HREF="curs_window.3x.html">curs_window(3x)</A></STRONG>
+                                                               <STRONG><A HREF="curs_window.3x.html">curs_window(3x)</A></STRONG>
 </PRE>
 <div class="nav">
 <ul>
index e5f63afdf379a735729c5a32adc00ed46fdd17a8..03a52f9eb5ec45f69653009e65b1260d1b6b39ec 100644 (file)
 <BODY>
 <H1 class="no-header">default_colors 3x</H1>
 <PRE>
-<STRONG><A HREF="default_colors.3x.html">default_colors(3x)</A></STRONG>                                   <STRONG><A HREF="default_colors.3x.html">default_colors(3x)</A></STRONG>
+<STRONG><A HREF="default_colors.3x.html">default_colors(3x)</A></STRONG>                                          <STRONG><A HREF="default_colors.3x.html">default_colors(3x)</A></STRONG>
 
 
 
 
 </PRE><H2><a name="h2-NAME">NAME</a></H2><PRE>
-       <STRONG>use_default_colors</STRONG>, <STRONG>assume_default_colors</STRONG> - use terminal's
-       default colors
+       <STRONG>use_default_colors</STRONG>, <STRONG>assume_default_colors</STRONG> - use terminal's default col-
+       ors
 
 
 </PRE><H2><a name="h2-SYNOPSIS">SYNOPSIS</a></H2><PRE>
 
 
 </PRE><H2><a name="h2-DESCRIPTION">DESCRIPTION</a></H2><PRE>
-       The <STRONG>use_default_colors</STRONG> and <STRONG>assume_default_colors</STRONG> functions
-       are  extensions to the curses library.  They are used with
-       terminals that support  ISO  6429  color,  or  equivalent.
-       These terminals allow the application to reset color to an
-       unspecified default value (e.g., with SGR 39 or SGR 49).
-
-       Applications that paint  a  colored  background  over  the
-       whole  screen  do not take advantage of SGR 39 and SGR 49.
-       Some applications are designed to work  with  the  default
-       background,  using  colors  only  for  text.  For example,
-       there are several implementations of the <STRONG>ls</STRONG> program  which
-       use  colors to denote different file types or permissions.
-       These "color ls" programs do not  necessarily  modify  the
-       background  color, typically using only the <STRONG>setaf</STRONG> terminfo
-       capability  to  set  the  foreground  color.   Full-screen
-       applications  that  use default colors can achieve similar
-       visual effects.
-
-       The first function, <STRONG>use_default_colors</STRONG>  tells  the  curses
-       library  to  assign terminal default foreground/background
-       colors to color number  -1.  So  init_pair(x,COLOR_RED,-1)
-       will  initialize  pair  x as red on default background and
-       init_pair(x,-1,COLOR_BLUE)  will  initialize  pair  x   as
-       default foreground on blue.
-
-       The  other,  <STRONG>assume_default_colors</STRONG>  is  a refinement which
-       tells which colors to paint for color pair 0.  This  func-
-       tion  recognizes  a special color number -1, which denotes
-       the default terminal color.
+       The <STRONG>use_default_colors</STRONG> and <STRONG>assume_default_colors</STRONG> functions  are  exten-
+       sions to the curses library.  They are used with terminals that support
+       ISO 6429 color, or equivalent.  These terminals allow  the  application
+       to  reset  color  to an unspecified default value (e.g., with SGR 39 or
+       SGR 49).
+
+       Applications that paint a colored background over the whole  screen  do
+       not  take  advantage  of  SGR  39  and  SGR  49.  Some applications are
+       designed to work with the default background,  using  colors  only  for
+       text.  For example, there are several implementations of the <STRONG>ls</STRONG> program
+       which use colors to denote different file types or permissions.   These
+       "color  ls"  programs  do  not necessarily modify the background color,
+       typically using only the <STRONG>setaf</STRONG> terminfo capability  to  set  the  fore-
+       ground  color.   Full-screen  applications  that use default colors can
+       achieve similar visual effects.
+
+       The first function, <STRONG>use_default_colors</STRONG>  tells  the  curses  library  to
+       assign  terminal  default  foreground/background colors to color number
+       -1. So init_pair(x,COLOR_RED,-1) will  initialize  pair  x  as  red  on
+       default  background and init_pair(x,-1,COLOR_BLUE) will initialize pair
+       x as default foreground on blue.
+
+       The other, <STRONG>assume_default_colors</STRONG> is a refinement which tells which col-
+       ors  to  paint  for  color  pair 0.  This function recognizes a special
+       color number -1, which denotes the default terminal color.
 
        The following are equivalent:
               <EM>use</EM><STRONG>_</STRONG><EM>default</EM><STRONG>_</STRONG><EM>colors();</EM>
               <EM>assume</EM><STRONG>_</STRONG><EM>default</EM><STRONG>_</STRONG><EM>colors(-1,-1);</EM>
 
-       These are ncurses extensions.  For other curses  implemen-
-       tations,  color  number -1 does not mean anything, just as
-       for ncurses before a successful call of <STRONG>use_default_colors</STRONG>
-       or <STRONG>assume_default_colors</STRONG>.
+       These are ncurses extensions.  For other curses implementations,  color
+       number -1 does not mean anything, just as for ncurses before a success-
+       ful call of <STRONG>use_default_colors</STRONG> or <STRONG>assume_default_colors</STRONG>.
 
-       Other  curses  implementations do not allow an application
-       to modify color pair 0.  They assume that  the  background
-       is COLOR_BLACK, but do not ensure that the color pair 0 is
-       painted to match the assumption.  If your application does
-       not use either <STRONG>use_default_colors</STRONG> or <STRONG>assume_default_colors</STRONG>
-       ncurses will paint a white foreground  (text)  with  black
-       background for color pair 0.
+       Other curses implementations do not  allow  an  application  to  modify
+       color  pair  0.  They assume that the background is COLOR_BLACK, but do
+       not ensure that the color pair 0 is painted to  match  the  assumption.
+       If   your   application  does  not  use  either  <STRONG>use_default_colors</STRONG>  or
+       <STRONG>assume_default_colors</STRONG> ncurses will paint a white foreground (text) with
+       black background for color pair 0.
 
 
 </PRE><H2><a name="h2-RETURN-VALUE">RETURN VALUE</a></H2><PRE>
-       These functions return the integer <STRONG>ERR</STRONG> upon failure and <STRONG>OK</STRONG>
-       on success.  They will fail if either  the  terminal  does
-       not  support  the <STRONG>orig_pair</STRONG> or <STRONG>orig_colors</STRONG> capability.  If
-       the <STRONG>initialize_pair</STRONG> capability is not found,  this  causes
-       an error as well.
+       These  functions return the integer <STRONG>ERR</STRONG> upon failure and <STRONG>OK</STRONG> on success.
+       They will fail if either the terminal does not support the <STRONG>orig_pair</STRONG> or
+       <STRONG>orig_colors</STRONG>  capability.   If  the  <STRONG>initialize_pair</STRONG>  capability  is not
+       found, this causes an error as well.
 
 
 </PRE><H2><a name="h2-NOTES">NOTES</a></H2><PRE>
-       Associated  with  this  extension,  the <STRONG>init_pair</STRONG> function
-       accepts negative arguments to specify  default  foreground
-       or background colors.
-
-       The  <STRONG>use_default_colors</STRONG> function was added to support <EM>ded</EM>.
-       This is a full-screen application  which  uses  curses  to
-       manage only part of the screen.  The bottom portion of the
-       screen, which is of adjustable size, is left uncolored  to
-       display  the results from shell commands.  The top portion
-       of the screen colors filenames using  a  scheme  like  the
-       "color  ls" programs.  Attempting to manage the background
-       color of the screen for this application would give unsat-
-       isfactory  results  for a variety of reasons.  This exten-
-       sion was devised after noting that color xterm (and  simi-
-       lar  programs)  provides a background color which does not
-       necessarily correspond to any of the ANSI colors.  While a
-       special  terminfo  entry  could  be constructed using nine
-       colors, there was no mechanism provided within  curses  to
-       account  for  the  related  <STRONG>orig_pair</STRONG> and <STRONG>back_color_erase</STRONG>
-       capabilities.
-
-       The <STRONG>assume_default_colors</STRONG> function was added  to  solve  a
-       different  problem:  support  for applications which would
-       use  environment  variables  and  other  configuration  to
-       bypass  curses'  notion  of the terminal's default colors,
-       setting specific values.
+       Associated with this extension, the <STRONG>init_pair</STRONG> function accepts negative
+       arguments to specify default foreground or background colors.
+
+       The  <STRONG>use_default_colors</STRONG>  function  was added to support <EM>ded</EM>.  This is a
+       full-screen application which uses curses to manage only  part  of  the
+       screen.  The bottom portion of the screen, which is of adjustable size,
+       is left uncolored to display the results from shell commands.  The  top
+       portion  of  the screen colors filenames using a scheme like the "color
+       ls" programs.  Attempting to manage the background color of the  screen
+       for this application would give unsatisfactory results for a variety of
+       reasons.  This extension was devised after noting that color xterm (and
+       similar  programs) provides a background color which does not necessar-
+       ily correspond to any of the ANSI colors.   While  a  special  terminfo
+       entry  could  be  constructed using nine colors, there was no mechanism
+       provided within  curses  to  account  for  the  related  <STRONG>orig_pair</STRONG>  and
+       <STRONG>back_color_erase</STRONG> capabilities.
+
+       The <STRONG>assume_default_colors</STRONG> function was added to solve a different prob-
+       lem: support for applications which would use environment variables and
+       other  configuration to bypass curses' notion of the terminal's default
+       colors, setting specific values.
 
 
 </PRE><H2><a name="h2-PORTABILITY">PORTABILITY</a></H2><PRE>
-       These routines are specific to  ncurses.   They  were  not
-       supported  on  Version 7, BSD or System V implementations.
-       It is recommended that any code depending on them be  con-
-       ditioned using NCURSES_VERSION.
+       These routines are specific to ncurses.  They  were  not  supported  on
+       Version 7, BSD or System V implementations.  It is recommended that any
+       code depending on them be conditioned using NCURSES_VERSION.
 
 
 </PRE><H2><a name="h2-SEE-ALSO">SEE ALSO</a></H2><PRE>
 
 
 </PRE><H2><a name="h2-AUTHOR">AUTHOR</a></H2><PRE>
-       Thomas  Dickey  (from  an analysis of the requirements for
-       color xterm for XFree86 3.1.2C, February 1996).
+       Thomas Dickey (from an analysis of the requirements for color xterm for
+       XFree86 3.1.2C, February 1996).
 
 
 
-                                                     <STRONG><A HREF="default_colors.3x.html">default_colors(3x)</A></STRONG>
+                                                            <STRONG><A HREF="default_colors.3x.html">default_colors(3x)</A></STRONG>
 </PRE>
 <div class="nav">
 <ul>
index df5fd13fcbfb5cabfe35ddd70fa46660e83aa7ab..cbb11d0d678849fd68c4888f18c66d31dc25374b 100644 (file)
@@ -41,7 +41,7 @@
 <BODY>
 <H1 class="no-header">define_key 3x</H1>
 <PRE>
-<STRONG><A HREF="define_key.3x.html">define_key(3x)</A></STRONG>                                           <STRONG><A HREF="define_key.3x.html">define_key(3x)</A></STRONG>
+<STRONG><A HREF="define_key.3x.html">define_key(3x)</A></STRONG>                                                  <STRONG><A HREF="define_key.3x.html">define_key(3x)</A></STRONG>
 
 
 
 
 
 </PRE><H2><a name="h2-DESCRIPTION">DESCRIPTION</a></H2><PRE>
-       This is an extension to the curses library.  It permits an
-       application to define keycodes  with  their  corresponding
-       control  strings,  so that the ncurses library will inter-
-       pret them just as it would the  predefined  codes  in  the
-       terminfo database.
+       This  is an extension to the curses library.  It permits an application
+       to define keycodes with their corresponding control  strings,  so  that
+       the ncurses library will interpret them just as it would the predefined
+       codes in the terminfo database.
 
-       If  the  given string is null, any existing definition for
-       the keycode is removed.  Similarly, if the  given  keycode
-       is  negative  or  zero,  any existing string for the given
-       definition is removed.
+       If the given string is null, any existing definition for the keycode is
+       removed.   Similarly,  if  the  given  keycode is negative or zero, any
+       existing string for the given definition is removed.
 
 
 </PRE><H2><a name="h2-RETURN-VALUE">RETURN VALUE</a></H2><PRE>
-       The keycode must be greater than zero, and the string non-
-       null, otherwise ERR is returned.  ERR may also be returned
-       if there is insufficient memory to allocate  the  data  to
-       store  the  definition.   If  no  error is detected, OK is
-       returned.
+       The keycode must be greater than zero, and the string non-null,  other-
+       wise  ERR  is  returned.  ERR may also be returned if there is insuffi-
+       cient memory to allocate the data to store the definition.  If no error
+       is detected, OK is returned.
 
 
 </PRE><H2><a name="h2-PORTABILITY">PORTABILITY</a></H2><PRE>
-       These routines are specific to  ncurses.   They  were  not
-       supported  on  Version 7, BSD or System V implementations.
-       It is recommended that any code depending on them be  con-
-       ditioned using NCURSES_VERSION.
+       These  routines  are  specific  to ncurses.  They were not supported on
+       Version 7, BSD or System V implementations.  It is recommended that any
+       code depending on them be conditioned using NCURSES_VERSION.
 
 
 </PRE><H2><a name="h2-SEE-ALSO">SEE ALSO</a></H2><PRE>
@@ -93,7 +89,7 @@
 
 
 
-                                                         <STRONG><A HREF="define_key.3x.html">define_key(3x)</A></STRONG>
+                                                                <STRONG><A HREF="define_key.3x.html">define_key(3x)</A></STRONG>
 </PRE>
 <div class="nav">
 <ul>
index fcb67f540670b8075d600c8e9eae6c4572fb80c3..ae8a885e62257d2afa4f193cb67c36cddfc03bcb 100644 (file)
@@ -41,7 +41,7 @@
 <BODY>
 <H1 class="no-header">form 3x</H1>
 <PRE>
-<STRONG><A HREF="form.3x.html">form(3x)</A></STRONG>                                                       <STRONG><A HREF="form.3x.html">form(3x)</A></STRONG>
+<STRONG><A HREF="form.3x.html">form(3x)</A></STRONG>                                                              <STRONG><A HREF="form.3x.html">form(3x)</A></STRONG>
 
 
 
 
 
 </PRE><H2><a name="h2-DESCRIPTION">DESCRIPTION</a></H2><PRE>
-       The  <STRONG>form</STRONG> library provides terminal-independent facilities
-       for composing form screens  on  character-cell  terminals.
-       The  library  includes:  field  routines, which create and
-       modify form fields; and form routines, which group  fields
-       into forms, display forms on the screen, and handle inter-
+       The <STRONG>form</STRONG> library provides terminal-independent facilities for composing
+       form screens on character-cell terminals.  The library includes:  field
+       routines, which create and modify form fields; and form routines, which
+       group fields into forms, display forms on the screen, and handle inter-
        action with the user.
 
-       The <STRONG>form</STRONG> library uses the <STRONG>curses</STRONG> libraries.   To  use  the
-       <STRONG>form</STRONG> library, link with the options <STRONG>-lform</STRONG> <STRONG>-lcurses</STRONG>.
+       The  <STRONG>form</STRONG>  library uses the <STRONG>curses</STRONG> libraries.  To use the <STRONG>form</STRONG> library,
+       link with the options <STRONG>-lform</STRONG> <STRONG>-lcurses</STRONG>.
 
        Your program should set up the locale, e.g.,
 
 
        so that input/output processing will work.
 
-       A  curses  initialization  routine such as <STRONG>initscr</STRONG> must be
-       called before using any of these functions.
+       A curses initialization routine such as <STRONG>initscr</STRONG> must be  called  before
+       using any of these functions.
 
 
 </PRE><H3><a name="h3-Current-Default-Values-for-Field-Attributes">Current Default Values for Field Attributes</a></H3><PRE>
-       The <STRONG>form</STRONG> library  maintains  a  default  value  for  field
-       attributes.   You  can  get or set this default by calling
-       the appropriate <STRONG>set_</STRONG> or  retrieval  routine  with  a  <STRONG>NULL</STRONG>
-       field pointer.  Changing this default with a <STRONG>set_</STRONG> function
-       affects future field creations, but does  not  change  the
-       rendering of fields already created.
+       The  <STRONG>form</STRONG>  library maintains a default value for field attributes.  You
+       can get or  set  this  default  by  calling  the  appropriate  <STRONG>set_</STRONG>  or
+       retrieval  routine  with  a  <STRONG>NULL</STRONG> field pointer.  Changing this default
+       with a <STRONG>set_</STRONG> function affects  future  field  creations,  but  does  not
+       change the rendering of fields already created.
 
 
 </PRE><H3><a name="h3-Routine-Name-Index">Routine Name Index</a></H3><PRE>
-       The  following  table lists each <STRONG>form</STRONG> routine and the name
-       of the manual page on which it is described.
+       The  following table lists each <STRONG>form</STRONG> routine and the name of the manual
+       page on which it is described.
 
        <STRONG>curses</STRONG> Routine Name     Manual Page Name
        --------------------------------------------------
        field_status            <STRONG><A HREF="form_field_buffer.3x.html">form_field_buffer(3x)</A></STRONG>
        field_term              <STRONG><A HREF="form_hook.3x.html">form_hook(3x)</A></STRONG>
        field_type              <STRONG><A HREF="form_field_validation.3x.html">form_field_validation(3x)</A></STRONG>
-
        field_userptr           <STRONG><A HREF="form_field_userptr.3x.html">form_field_userptr(3x)</A></STRONG>
        form_driver             <STRONG><A HREF="form_driver.3x.html">form_driver(3x)</A></STRONG>
+
        form_driver_w           <STRONG><A HREF="form_driver.3x.html">form_driver(3x)</A></STRONG>*
        form_fields             <STRONG><A HREF="form_field.3x.html">form_field(3x)</A></STRONG>
        form_init               <STRONG><A HREF="form_hook.3x.html">form_hook(3x)</A></STRONG>
 
 
 </PRE><H2><a name="h2-RETURN-VALUE">RETURN VALUE</a></H2><PRE>
-       Routines that return pointers return <STRONG>NULL</STRONG>  on  error,  and
-       set  errno  to  the  corresponding  error-code returned by
-       functions returning an integer.  Routines that  return  an
-       integer return one of the following error codes:
+       Routines that return pointers return <STRONG>NULL</STRONG> on error, and  set  errno  to
+       the  corresponding  error-code returned by functions returning an inte-
+       ger.  Routines that return an integer return one of the following error
+       codes:
 
        <STRONG>E_OK</STRONG> The routine succeeded.
 
        <STRONG>E_BAD_ARGUMENT</STRONG>
-            Routine  detected  an incorrect or out-of-range argu-
-            ment.
+            Routine detected an incorrect or out-of-range argument.
 
        <STRONG>E_BAD_STATE</STRONG>
-            Routine was called from an initialization or termina-
-            tion function.
+            Routine was called from an initialization or termination function.
 
        <STRONG>E_CONNECTED</STRONG>
             The field is already connected to a form.
 
 
 </PRE><H2><a name="h2-NOTES">NOTES</a></H2><PRE>
-       The header file <STRONG>&lt;form.h&gt;</STRONG> automatically includes the header
-       files <STRONG>&lt;curses.h&gt;</STRONG> and <STRONG>&lt;eti.h&gt;</STRONG>.
+       The  header  file  <STRONG>&lt;form.h&gt;</STRONG>  automatically  includes  the  header files
+       <STRONG>&lt;curses.h&gt;</STRONG> and <STRONG>&lt;eti.h&gt;</STRONG>.
 
-       In your library list, libform.a  should  be  before  libn-
-       curses.a; that is, you want to say "-lform -lncurses", not
-       the other way around (which would give you  a  link  error
-       when using static libraries).
+       In your library list, libform.a should be before libncurses.a; that is,
+       you  want  to  say  "-lform -lncurses", not the other way around (which
+       would give you a link error when using static libraries).
 
 
 </PRE><H2><a name="h2-PORTABILITY">PORTABILITY</a></H2><PRE>
-       These  routines  emulate the System V forms library.  They
-       were not supported on Version 7 or BSD versions.
+       These routines emulate the System V forms library.  They were not  sup-
+       ported on Version 7 or BSD versions.
 
-       A few functions are extensions added  for  ncurses,  e.g.,
-       <STRONG>form_driver_w</STRONG>, <STRONG>unfocus_current_field</STRONG>.
+       A  few functions are extensions added for ncurses, e.g., <STRONG>form_driver_w</STRONG>,
+       <STRONG>unfocus_current_field</STRONG>.
 
 
 </PRE><H2><a name="h2-AUTHORS">AUTHORS</a></H2><PRE>
-       Juergen  Pfeifer.  Manual pages and adaptation for ncurses
-       by Eric S. Raymond.
+       Juergen Pfeifer.  Manual pages and adaptation for ncurses  by  Eric  S.
+       Raymond.
 
 
 </PRE><H2><a name="h2-SEE-ALSO">SEE ALSO</a></H2><PRE>
-       <STRONG><A HREF="ncurses.3x.html">curses(3x)</A></STRONG> and related pages whose names begin "form_" for
-       detailed descriptions of the entry points.
+       <STRONG><A HREF="ncurses.3x.html">curses(3x)</A></STRONG>  and  related  pages  whose names begin "form_" for detailed
+       descriptions of the entry points.
 
-       This describes <STRONG>ncurses</STRONG> version 6.0 (patch 20170429).
+       This describes <STRONG>ncurses</STRONG> version 6.0 (patch 20170506).
 
 
 
-                                                               <STRONG><A HREF="form.3x.html">form(3x)</A></STRONG>
+                                                                      <STRONG><A HREF="form.3x.html">form(3x)</A></STRONG>
 </PRE>
 <div class="nav">
 <ul>
index 7d1795cb8930b360ba5145063e6c5e9e183bc610..9407643f687c4c0b63e5bf34533377ceb825b061 100644 (file)
@@ -41,7 +41,7 @@
 <BODY>
 <H1 class="no-header">form_cursor 3x</H1>
 <PRE>
-<STRONG><A HREF="form_cursor.3x.html">form_cursor(3x)</A></STRONG>                                         <STRONG><A HREF="form_cursor.3x.html">form_cursor(3x)</A></STRONG>
+<STRONG><A HREF="form_cursor.3x.html">form_cursor(3x)</A></STRONG>                                                <STRONG><A HREF="form_cursor.3x.html">form_cursor(3x)</A></STRONG>
 
 
 
 
 
 </PRE><H2><a name="h2-DESCRIPTION">DESCRIPTION</a></H2><PRE>
-       The  function  <STRONG>pos_form_cursor</STRONG>  restores the cursor to the
-       position required for the forms driver  to  continue  pro-
-       cessing  requests.   This  is useful after <STRONG>curses</STRONG> routines
-       have been called to do screen-painting in  response  to  a
-       form operation.
+       The  function  <STRONG>pos_form_cursor</STRONG>  restores  the  cursor  to  the position
+       required for the forms driver to continue processing requests.  This is
+       useful  after <STRONG>curses</STRONG> routines have been called to do screen-painting in
+       response to a form operation.
 
 
 </PRE><H2><a name="h2-RETURN-VALUE">RETURN VALUE</a></H2><PRE>
@@ -69,8 +68,7 @@
        <STRONG>E_OK</STRONG> The routine succeeded.
 
        <STRONG>E_BAD_ARGUMENT</STRONG>
-            Routine  detected  an incorrect or out-of-range argu-
-            ment.
+            Routine detected an incorrect or out-of-range argument.
 
        <STRONG>E_NOT_POSTED</STRONG>
             The form has not been posted.
 
 
 </PRE><H2><a name="h2-NOTES">NOTES</a></H2><PRE>
-       The header file <STRONG>&lt;form.h&gt;</STRONG> automatically includes the header
-       file <STRONG>&lt;curses.h&gt;</STRONG>.
+       The  header  file  <STRONG>&lt;form.h&gt;</STRONG>  automatically  includes  the  header  file
+       <STRONG>&lt;curses.h&gt;</STRONG>.
 
 
 </PRE><H2><a name="h2-PORTABILITY">PORTABILITY</a></H2><PRE>
-       These  routines  emulate the System V forms library.  They
-       were not supported on Version 7 or BSD versions.
+       These  routines emulate the System V forms library.  They were not sup-
+       ported on Version 7 or BSD versions.
 
 
 </PRE><H2><a name="h2-AUTHORS">AUTHORS</a></H2><PRE>
-       Juergen Pfeifer.  Manual  pages  and  adaptation  for  new
-       curses by Eric S. Raymond.
+       Juergen Pfeifer.  Manual pages and adaptation for new curses by Eric S.
+       Raymond.
 
 
 
-                                                        <STRONG><A HREF="form_cursor.3x.html">form_cursor(3x)</A></STRONG>
+                                                               <STRONG><A HREF="form_cursor.3x.html">form_cursor(3x)</A></STRONG>
 </PRE>
 <div class="nav">
 <ul>
index 8e248e5500a784d86a2b3843d30092a303398e6d..aa170e2cbcb978e6084e3da1e7f18b2841526d2e 100644 (file)
 <BODY>
 <H1 class="no-header">form_data 3x</H1>
 <PRE>
-<STRONG><A HREF="form_data.3x.html">form_data(3x)</A></STRONG>                                             <STRONG><A HREF="form_data.3x.html">form_data(3x)</A></STRONG>
+<STRONG><A HREF="form_data.3x.html">form_data(3x)</A></STRONG>                                                    <STRONG><A HREF="form_data.3x.html">form_data(3x)</A></STRONG>
 
 
 
 
 </PRE><H2><a name="h2-NAME">NAME</a></H2><PRE>
-       <STRONG>data_ahead</STRONG>,  <STRONG>data_behind</STRONG>  -  test  for  off-screen data in
-       given forms
+       <STRONG>data_ahead</STRONG>, <STRONG>data_behind</STRONG> - test for off-screen data in given forms
 
 
 </PRE><H2><a name="h2-SYNOPSIS">SYNOPSIS</a></H2><PRE>
 
 
 </PRE><H2><a name="h2-DESCRIPTION">DESCRIPTION</a></H2><PRE>
-       The function <STRONG>data_ahead</STRONG> tests whether there is  off-screen
-       data  ahead  in  the  given  form.  It returns TRUE (1) or
-       FALSE (0).
+       The function <STRONG>data_ahead</STRONG> tests whether there is off-screen data ahead in
+       the given form.  It returns TRUE (1) or FALSE (0).
 
-       The function <STRONG>data_behind</STRONG> tests whether there is off-screen
-       data  behind  in  the  given form.  It returns TRUE (1) or
-       FALSE (0).
+       The function <STRONG>data_behind</STRONG> tests whether there is off-screen data  behind
+       in the given form.  It returns TRUE (1) or FALSE (0).
 
 
 </PRE><H2><a name="h2-SEE-ALSO">SEE ALSO</a></H2><PRE>
 
 
 </PRE><H2><a name="h2-NOTES">NOTES</a></H2><PRE>
-       The header file <STRONG>&lt;form.h&gt;</STRONG> automatically includes the header
-       file <STRONG>&lt;curses.h&gt;</STRONG>.
+       The  header  file  <STRONG>&lt;form.h&gt;</STRONG>  automatically  includes  the  header  file
+       <STRONG>&lt;curses.h&gt;</STRONG>.
 
 
 </PRE><H2><a name="h2-PORTABILITY">PORTABILITY</a></H2><PRE>
-       These  routines  emulate the System V forms library.  They
-       were not supported on Version 7 or BSD versions.
+       These routines emulate the System V forms library.  They were not  sup-
+       ported on Version 7 or BSD versions.
 
 
 </PRE><H2><a name="h2-AUTHORS">AUTHORS</a></H2><PRE>
-       Juergen Pfeifer.  Manual  pages  and  adaptation  for  new
-       curses by Eric S. Raymond.
+       Juergen Pfeifer.  Manual pages and adaptation for new curses by Eric S.
+       Raymond.
 
 
 
-                                                          <STRONG><A HREF="form_data.3x.html">form_data(3x)</A></STRONG>
+                                                                 <STRONG><A HREF="form_data.3x.html">form_data(3x)</A></STRONG>
 </PRE>
 <div class="nav">
 <ul>
index 6fb31c705ae0c0d73221b9262092ffb5c08bf148..3d7988baa120a465eb0f7f9a809def9d66c4571b 100644 (file)
 <BODY>
 <H1 class="no-header">form_driver 3x</H1>
 <PRE>
-<STRONG><A HREF="form_driver.3x.html">form_driver(3x)</A></STRONG>                                         <STRONG><A HREF="form_driver.3x.html">form_driver(3x)</A></STRONG>
+<STRONG><A HREF="form_driver.3x.html">form_driver(3x)</A></STRONG>                                                <STRONG><A HREF="form_driver.3x.html">form_driver(3x)</A></STRONG>
 
 
 
 
 </PRE><H2><a name="h2-NAME">NAME</a></H2><PRE>
-       <STRONG>form_driver</STRONG>,  <STRONG>form_driver_w</STRONG>  -  command-processing loop of
-       the form system
+       <STRONG>form_driver</STRONG>, <STRONG>form_driver_w</STRONG> - command-processing loop of the form system
 
 
 </PRE><H2><a name="h2-SYNOPSIS">SYNOPSIS</a></H2><PRE>
 </PRE><H2><a name="h2-DESCRIPTION">DESCRIPTION</a></H2><PRE>
 
 </PRE><H3><a name="h3-form_driver">form_driver</a></H3><PRE>
-       Once a form has been posted (displayed), you should funnel
-       input  events to it through <STRONG>form_driver</STRONG>.  This routine has
-       three major input cases:
+       Once a form has been posted (displayed), you should funnel input events
+       to it through <STRONG>form_driver</STRONG>.  This routine has three major input cases:
 
-       <STRONG>o</STRONG>   The input is a form  navigation  request.   Navigation
-           request codes are constants defined in <STRONG>&lt;form.h&gt;</STRONG>, which
-           are  distinct  from  the  key-  and  character   codes
-           returned by <STRONG><A HREF="curs_getch.3x.html">wgetch(3x)</A></STRONG>.
+       <STRONG>o</STRONG>   The input is a form navigation request.  Navigation  request  codes
+           are constants defined in <STRONG>&lt;form.h&gt;</STRONG>, which are distinct from the key-
+           and character codes returned by <STRONG><A HREF="curs_getch.3x.html">wgetch(3x)</A></STRONG>.
 
-       <STRONG>o</STRONG>   The input is a printable character.  Printable charac-
-           ters (which must  be  positive,  less  than  256)  are
-           checked according to the program's locale settings.
+       <STRONG>o</STRONG>   The input is a printable character.   Printable  characters  (which
+           must  be positive, less than 256) are checked according to the pro-
+           gram's locale settings.
 
-       <STRONG>o</STRONG>   The input is the KEY_MOUSE special key associated with
-           an mouse event.
+       <STRONG>o</STRONG>   The input is the KEY_MOUSE special key  associated  with  an  mouse
+           event.
 
 
 </PRE><H3><a name="h3-form_driver_w">form_driver_w</a></H3><PRE>
-       This extension simplifies the use  of  the  forms  library
-       using  wide characters.  The input is either a key code (a
-       request) or a wide character returned by <STRONG><A HREF="curs_get_wch.3x.html">get_wch(3x)</A></STRONG>.  The
-       type  must  be  passed  as  well, to enable the library to
-       determine whether the parameter is a wide character  or  a
+       This extension simplifies the use of the forms library using wide char-
+       acters.  The input is either a key code (a request) or a wide character
+       returned  by  <STRONG><A HREF="curs_get_wch.3x.html">get_wch(3x)</A></STRONG>.   The type must be passed as well, to enable
+       the library to determine whether the parameter is a wide character or a
        request.
 
 
        REQ_LAST_FIELD     Move to the last field.
        REQ_LAST_PAGE      Move to the last field.
        REQ_LEFT_CHAR      Move left in the field.
-
        REQ_LEFT_FIELD     Move left to a field.
        REQ_NEW_LINE       Insert or overlay a new line.
        REQ_NEXT_CHAR      Move to the next char.
        REQ_NEXT_CHOICE    Display next field choice.
+
        REQ_NEXT_FIELD     Move to the next field.
        REQ_NEXT_LINE      Move to the next line.
        REQ_NEXT_PAGE      Move to the next page.
        REQ_UP_FIELD       Move up to a field.
        REQ_VALIDATION     Validate field.
 
-       If  the  second  argument  is  a  printable character, the
-       driver places it in the current position  in  the  current
-       field.   If  it is one of the forms requests listed above,
-       that request is executed.
+       If  the  second argument is a printable character, the driver places it
+       in the current position in the current field.  If  it  is  one  of  the
+       forms requests listed above, that request is executed.
 
 
 </PRE><H3><a name="h3-Field-validation">Field validation</a></H3><PRE>
-       The form library makes updates to  the  window  associated
-       with  form  fields  rather than directly to the field buf-
-       fers.
+       The  form  library  makes  updates  to  the window associated with form
+       fields rather than directly to the field buffers.
 
-       The form driver provides low-level control over updates to
-       the  form fields.  The form driver also provides for vali-
-       dating modified fields to ensure that  the  contents  meet
-       whatever  constraints  an  application  may  attach  using
-       <STRONG>set_field_type</STRONG>.
+       The form driver provides low-level control over  updates  to  the  form
+       fields.   The  form driver also provides for validating modified fields
+       to ensure that the contents meet whatever  constraints  an  application
+       may attach using <STRONG>set_field_type</STRONG>.
 
-       You can validate a field without making any changes to  it
-       using  <STRONG>REQ_VALIDATION</STRONG>.   The  form driver also validates a
-       field in these cases:
+       You  can  validate  a  field  without  making  any  changes to it using
+       <STRONG>REQ_VALIDATION</STRONG>.  The form driver also validates a field in these cases:
 
-       <STRONG>o</STRONG>   a call to <STRONG>set_current_field</STRONG> attempts to move to a dif-
-           ferent field.
+       <STRONG>o</STRONG>   a call to <STRONG>set_current_field</STRONG> attempts to move to a different field.
 
-       <STRONG>o</STRONG>   a  call to <STRONG>set_current_page</STRONG> attempts to move to a dif-
-           ferent page of the form.
+       <STRONG>o</STRONG>   a call to <STRONG>set_current_page</STRONG> attempts to move to a different page  of
+           the form.
 
        <STRONG>o</STRONG>   a request attempts to move to a different field.
 
-       <STRONG>o</STRONG>   a request attempts to move to a different page of  the
-           form.
+       <STRONG>o</STRONG>   a request attempts to move to a different page of the form.
 
        In each case, the move fails if the field is invalid.
 
-       If the modified field is valid, the form driver copies the
-       modified data from the window associated with the field to
-       the field buffer.
+       If  the  modified  field  is valid, the form driver copies the modified
+       data from the window associated with the field to the field buffer.
 
 
 </PRE><H3><a name="h3-Mouse-handling">Mouse handling</a></H3><PRE>
-       If  the  second argument is the KEY_MOUSE special key, the
-       associated mouse event is translated into one of the above
-       pre-defined  requests.   Currently only clicks in the user
-       window (e.g., inside the form display area or the  decora-
-       tion window) are handled.
+       If the second argument is the KEY_MOUSE  special  key,  the  associated
+       mouse  event  is translated into one of the above pre-defined requests.
+       Currently only clicks in the user window (e.g., inside the form display
+       area or the decoration window) are handled.
 
        If you click above the display region of the form:
 
 
           a REQ_LAST_FIELD is generated for a triple-click.
 
-       If  you  click  at an field inside the display area of the
-       form:
+       If you click at an field inside the display area of the form:
 
           <STRONG>o</STRONG>   the form cursor is positioned to that field.
 
-          <STRONG>o</STRONG>   If you double-click a field,  the  form  cursor  is
-              positioned  to  that field and <STRONG>E_UNKNOWN_COMMAND</STRONG> is
-              returned.  This return value makes sense, because a
-              double  click  usually means that an field-specific
-              action should be returned.  It is exactly the  pur-
-              pose  of this return value to signal that an appli-
-              cation specific command should be executed.
+          <STRONG>o</STRONG>   If  you  double-click  a field, the form cursor is positioned to
+              that field and <STRONG>E_UNKNOWN_COMMAND</STRONG> is returned.  This return value
+              makes sense, because a double click usually means that an field-
+              specific action should be returned.  It is exactly  the  purpose
+              of this return value to signal that an application specific com-
+              mand should be executed.
 
-          <STRONG>o</STRONG>   If  a  translation  into  a   request   was   done,
-              <STRONG>form_driver</STRONG> returns the result of this request.
+          <STRONG>o</STRONG>   If a translation into a request was  done,  <STRONG>form_driver</STRONG>  returns
+              the result of this request.
 
-       If  you clicked outside the user window or the mouse event
-       could  not  be  translated  into   a   form   request   an
-       <STRONG>E_REQUEST_DENIED</STRONG> is returned.
+       If  you clicked outside the user window or the mouse event could not be
+       translated into a form request an <STRONG>E_REQUEST_DENIED</STRONG> is returned.
 
 
 </PRE><H3><a name="h3-Application-defined-commands">Application-defined commands</a></H3><PRE>
-       If the second argument is neither printable nor one of the
-       above pre-defined form requests, the driver assumes it  is
-       an application-specific command and returns <STRONG>E_UNKNOWN_COM-</STRONG>
-       <STRONG>MAND</STRONG>.  Application-defined commands should be defined rel-
-       ative  to  <STRONG>MAX_COMMAND</STRONG>,  the  maximum  value of these pre-
-       defined requests.
+       If the second argument is neither printable nor one of the  above  pre-
+       defined form requests, the driver assumes it is an application-specific
+       command and returns  <STRONG>E_UNKNOWN_COMMAND</STRONG>.   Application-defined  commands
+       should  be  defined relative to <STRONG>MAX_COMMAND</STRONG>, the maximum value of these
+       pre-defined requests.
 
 
 </PRE><H2><a name="h2-RETURN-VALUE">RETURN VALUE</a></H2><PRE>
        <STRONG>E_OK</STRONG> The routine succeeded.
 
        <STRONG>E_BAD_ARGUMENT</STRONG>
-            Routine detected an incorrect or  out-of-range  argu-
-            ment.
+            Routine detected an incorrect or out-of-range argument.
 
        <STRONG>E_BAD_STATE</STRONG>
-            Routine was called from an initialization or termina-
-            tion function.
+            Routine was called from an initialization or termination function.
 
        <STRONG>E_NOT_POSTED</STRONG>
             The form has not been posted.
 
 
 </PRE><H2><a name="h2-SEE-ALSO">SEE ALSO</a></H2><PRE>
-       <STRONG><A HREF="ncurses.3x.html">curses(3x)</A></STRONG>,        <STRONG><A HREF="form.3x.html">form(3x)</A></STRONG>,        <STRONG><A HREF="form_field_buffer.3x.html">form_field_buffer(3x)</A></STRONG>,
-       <STRONG><A HREF="form_field_validation.3x.html">form_field_validation(3x)</A></STRONG>,  <STRONG><A HREF="form_fieldtype.3x.html">form_fieldtype(3x)</A></STRONG>, <STRONG>form_vari-</STRONG>
-       <STRONG><A HREF="form_variables.3x.html">ables(3x)</A></STRONG>, <STRONG><A HREF="curs_getch.3x.html">getch(3x)</A></STRONG>.
+       <STRONG><A HREF="ncurses.3x.html">curses(3x)</A></STRONG>, <STRONG><A HREF="form.3x.html">form(3x)</A></STRONG>, <STRONG><A HREF="form_field_buffer.3x.html">form_field_buffer(3x)</A></STRONG>, <STRONG><A HREF="form_field_validation.3x.html">form_field_validation(3x)</A></STRONG>,
+       <STRONG><A HREF="form_fieldtype.3x.html">form_fieldtype(3x)</A></STRONG>, <STRONG><A HREF="form_variables.3x.html">form_variables(3x)</A></STRONG>, <STRONG><A HREF="curs_getch.3x.html">getch(3x)</A></STRONG>.
 
 
 </PRE><H2><a name="h2-NOTES">NOTES</a></H2><PRE>
-       The header file <STRONG>&lt;form.h&gt;</STRONG> automatically includes the header
-       files <STRONG>&lt;curses.h&gt;</STRONG>.
+       The  header  file  <STRONG>&lt;form.h&gt;</STRONG>  automatically  includes  the  header files
+       <STRONG>&lt;curses.h&gt;</STRONG>.
 
 
 </PRE><H2><a name="h2-PORTABILITY">PORTABILITY</a></H2><PRE>
-       These  routines  emulate the System V forms library.  They
-       were not supported on Version 7 or BSD versions.
+       These routines emulate the System V forms library.  They were not  sup-
+       ported on Version 7 or BSD versions.
 
 
 </PRE><H2><a name="h2-AUTHORS">AUTHORS</a></H2><PRE>
-       Juergen Pfeifer.  Manual  pages  and  adaptation  for  new
-       curses by Eric S. Raymond.
+       Juergen Pfeifer.  Manual pages and adaptation for new curses by Eric S.
+       Raymond.
 
 
 
-                                                        <STRONG><A HREF="form_driver.3x.html">form_driver(3x)</A></STRONG>
+                                                               <STRONG><A HREF="form_driver.3x.html">form_driver(3x)</A></STRONG>
 </PRE>
 <div class="nav">
 <ul>
index 2754a790d01cdd9fd473508e5edecb85a9883a9b..672107f814a739dcf8dced07ca2a4dc127a31191 100644 (file)
 <BODY>
 <H1 class="no-header">form_field 3x</H1>
 <PRE>
-<STRONG><A HREF="form_field.3x.html">form_field(3x)</A></STRONG>                                           <STRONG><A HREF="form_field.3x.html">form_field(3x)</A></STRONG>
+<STRONG><A HREF="form_field.3x.html">form_field(3x)</A></STRONG>                                                  <STRONG><A HREF="form_field.3x.html">form_field(3x)</A></STRONG>
 
 
 
 
 </PRE><H2><a name="h2-NAME">NAME</a></H2><PRE>
-       <STRONG>form_field</STRONG> - make and break connections between fields and
-       forms
+       <STRONG>form_field</STRONG> - make and break connections between fields and forms
 
 
 </PRE><H2><a name="h2-SYNOPSIS">SYNOPSIS</a></H2><PRE>
 
 
 </PRE><H2><a name="h2-DESCRIPTION">DESCRIPTION</a></H2><PRE>
-       The function <STRONG>set_form_fields</STRONG>  changes  the  field  pointer
-       array  of the given <EM>form</EM>.  The array must be terminated by
-       a <STRONG>NULL</STRONG>.
+       The  function  <STRONG>set_form_fields</STRONG>  changes  the field pointer array of the
+       given <EM>form</EM>.  The array must be terminated by a <STRONG>NULL</STRONG>.
 
-       The function <STRONG>form_fields</STRONG> returns the field  array  of  the
-       given form.
+       The function <STRONG>form_fields</STRONG> returns the field array of the given form.
 
-       The  function  <STRONG>field_count</STRONG>  returns the count of fields in
-       <EM>form</EM>.
+       The function <STRONG>field_count</STRONG> returns the count of fields in <EM>form</EM>.
 
-       The function <STRONG>move_field</STRONG> moves the given field (which  must
-       be disconnected) to a specified location on the screen.
+       The function <STRONG>move_field</STRONG> moves the given field (which  must  be  discon-
+       nected) to a specified location on the screen.
 
 
 </PRE><H2><a name="h2-RETURN-VALUE">RETURN VALUE</a></H2><PRE>
-       The  function  <STRONG>form_fields</STRONG> returns a pointer (which may be
-       <STRONG>NULL</STRONG>).  It does not set errno.
+       The  function  <STRONG>form_fields</STRONG>  returns  a pointer (which may be <STRONG>NULL</STRONG>).  It
+       does not set errno.
 
-       The function <STRONG>field_count</STRONG> returns <STRONG>ERR</STRONG> if the <EM>form</EM> parameter
-       is <STRONG>NULL</STRONG>.
+       The function <STRONG>field_count</STRONG> returns <STRONG>ERR</STRONG> if the <EM>form</EM> parameter is <STRONG>NULL</STRONG>.
 
-       The functions <STRONG>set_form_fields</STRONG> and <STRONG>move_field</STRONG> return one of
-       the following codes on error:
+       The functions <STRONG>set_form_fields</STRONG> and <STRONG>move_field</STRONG> return one of the  follow-
+       ing codes on error:
 
        <STRONG>E_OK</STRONG> The routine succeeded.
 
        <STRONG>E_BAD_ARGUMENT</STRONG>
-            Routine detected an incorrect or  out-of-range  argu-
-            ment.
+            Routine detected an incorrect or out-of-range argument.
 
        <STRONG>E_CONNECTED</STRONG>
             The field is already connected to a form.
 
 
 </PRE><H2><a name="h2-NOTES">NOTES</a></H2><PRE>
-       The header file <STRONG>&lt;form.h&gt;</STRONG> automatically includes the header
-       file <STRONG>&lt;curses.h&gt;</STRONG>.
+       The  header  file  <STRONG>&lt;form.h&gt;</STRONG>  automatically  includes  the  header  file
+       <STRONG>&lt;curses.h&gt;</STRONG>.
 
 
 </PRE><H2><a name="h2-PORTABILITY">PORTABILITY</a></H2><PRE>
-       These routines emulate the System V forms  library.   They
-       were not supported on Version 7 or BSD versions.
+       These routines emulate the System V forms library.  They were not  sup-
+       ported on Version 7 or BSD versions.
 
-       The   SVr4   forms  library  documentation  specifies  the
-       <STRONG>field_count</STRONG> error value as -1 (which is the value of <STRONG>ERR</STRONG>).
+       The  SVr4  forms  library documentation specifies the <STRONG>field_count</STRONG> error
+       value as -1 (which is the value of <STRONG>ERR</STRONG>).
 
 
 </PRE><H2><a name="h2-AUTHORS">AUTHORS</a></H2><PRE>
-       Juergen Pfeifer.  Manual  pages  and  adaptation  for  new
-       curses by Eric S. Raymond.
+       Juergen Pfeifer.  Manual pages and adaptation for new curses by Eric S.
+       Raymond.
 
 
 
-                                                         <STRONG><A HREF="form_field.3x.html">form_field(3x)</A></STRONG>
+                                                                <STRONG><A HREF="form_field.3x.html">form_field(3x)</A></STRONG>
 </PRE>
 <div class="nav">
 <ul>
index 58c677f61efd500d696ce46cae8a2c0b757eadbc..0b7f6af8fd5db5389aba2c860c78d2d32f782536 100644 (file)
 <BODY>
 <H1 class="no-header">form_field_attributes 3x</H1>
 <PRE>
-<STRONG><A HREF="form_field_attributes.3x.html">form_field_attributes(3x)</A></STRONG>                     <STRONG><A HREF="form_field_attributes.3x.html">form_field_attributes(3x)</A></STRONG>
+<STRONG><A HREF="form_field_attributes.3x.html">form_field_attributes(3x)</A></STRONG>                            <STRONG><A HREF="form_field_attributes.3x.html">form_field_attributes(3x)</A></STRONG>
 
 
 
 
 </PRE><H2><a name="h2-NAME">NAME</a></H2><PRE>
-       <STRONG>form_field_attributes</STRONG>  -  color  and attribute control for
-       form fields
+       <STRONG>form_field_attributes</STRONG> - color and attribute control for form fields
 
 
 </PRE><H2><a name="h2-SYNOPSIS">SYNOPSIS</a></H2><PRE>
 
 
 </PRE><H2><a name="h2-DESCRIPTION">DESCRIPTION</a></H2><PRE>
-       The function <STRONG>set_field_fore</STRONG> sets the foreground  attribute
-       of  <EM>field</EM>. This is the highlight used to display the field
-       contents.  The function <STRONG>field_fore</STRONG> returns the  foreground
-       attribute.  The default is <STRONG>A_STANDOUT</STRONG>.
+       The  function  <STRONG>set_field_fore</STRONG>  sets  the foreground attribute of <EM>field</EM>.
+       This is the highlight used to display the field contents.  The function
+       <STRONG>field_fore</STRONG>  returns  the foreground attribute.  The default is <STRONG>A_STAND-</STRONG>
+       <STRONG>OUT</STRONG>.
 
-       The  function <STRONG>set_field_back</STRONG> sets the background attribute
-       of <EM>form</EM>. This is the highlight used to display the  extent
-       fields  in  the form.  The function <STRONG>field_back</STRONG> returns the
-       background attribute.  The default is <STRONG>A_NORMAL</STRONG>.
+       The function <STRONG>set_field_back</STRONG> sets the background attribute of <EM>form</EM>. This
+       is  the  highlight  used to display the extent fields in the form.  The
+       function <STRONG>field_back</STRONG> returns the background attribute.  The  default  is
+       <STRONG>A_NORMAL</STRONG>.
 
-       The function <STRONG>set_field_pad</STRONG> sets the character used to fill
-       the  field.   The  function  <STRONG>field_pad</STRONG>  returns  the given
-       form's pad character.  The default is a blank.
+       The  function  <STRONG>set_field_pad</STRONG> sets the character used to fill the field.
+       The function <STRONG>field_pad</STRONG> returns the given  form's  pad  character.   The
+       default is a blank.
 
 
 </PRE><H2><a name="h2-RETURN-VALUE">RETURN VALUE</a></H2><PRE>
        <STRONG>E_OK</STRONG> The routine succeeded.
 
        <STRONG>E_BAD_ARGUMENT</STRONG>
-            Routine detected an incorrect or  out-of-range  argu-
-            ment.
+            Routine detected an incorrect or out-of-range argument.
 
        <STRONG>E_SYSTEM_ERROR</STRONG>
             System error occurred (see <STRONG>errno</STRONG>).
 
 
 </PRE><H2><a name="h2-SEE-ALSO">SEE ALSO</a></H2><PRE>
-       <STRONG><A HREF="ncurses.3x.html">curses(3x)</A></STRONG> and related pages whose names begin "form_" for
-       detailed descriptions of the entry points.
+       <STRONG><A HREF="ncurses.3x.html">curses(3x)</A></STRONG>  and  related  pages  whose names begin "form_" for detailed
+       descriptions of the entry points.
 
 
 </PRE><H2><a name="h2-NOTES">NOTES</a></H2><PRE>
-       The header file <STRONG>&lt;form.h&gt;</STRONG> automatically includes the header
-       file <STRONG>&lt;curses.h&gt;</STRONG>.
+       The  header  file  <STRONG>&lt;form.h&gt;</STRONG>  automatically  includes  the  header  file
+       <STRONG>&lt;curses.h&gt;</STRONG>.
 
 
 </PRE><H2><a name="h2-PORTABILITY">PORTABILITY</a></H2><PRE>
-       These  routines  emulate the System V forms library.  They
-       were not supported on Version 7 or BSD versions.
+       These  routines emulate the System V forms library.  They were not sup-
+       ported on Version 7 or BSD versions.
 
 
 </PRE><H2><a name="h2-AUTHORS">AUTHORS</a></H2><PRE>
-       Juergen Pfeifer.  Manual  pages  and  adaptation  for  new
-       curses by Eric S. Raymond.
+       Juergen Pfeifer.  Manual pages and adaptation for new curses by Eric S.
+       Raymond.
 
 
 
-                                              <STRONG><A HREF="form_field_attributes.3x.html">form_field_attributes(3x)</A></STRONG>
+                                                     <STRONG><A HREF="form_field_attributes.3x.html">form_field_attributes(3x)</A></STRONG>
 </PRE>
 <div class="nav">
 <ul>
index 329a8db4f2e5437d3465c58c8bd989319aeac31d..55eb6998cca1a5256835d7986740fea4e3e4b301 100644 (file)
@@ -41,7 +41,7 @@
 <BODY>
 <H1 class="no-header">form_field_buffer 3x</H1>
 <PRE>
-<STRONG><A HREF="form_field_buffer.3x.html">form_field_buffer(3x)</A></STRONG>                             <STRONG><A HREF="form_field_buffer.3x.html">form_field_buffer(3x)</A></STRONG>
+<STRONG><A HREF="form_field_buffer.3x.html">form_field_buffer(3x)</A></STRONG>                                    <STRONG><A HREF="form_field_buffer.3x.html">form_field_buffer(3x)</A></STRONG>
 
 
 
@@ -53,8 +53,7 @@
 </PRE><H2><a name="h2-SYNOPSIS">SYNOPSIS</a></H2><PRE>
        <STRONG>#include</STRONG> <STRONG>&lt;form.h&gt;</STRONG>
 
-       int  set_field_buffer(FIELD  *field,  int  buf, const char
-       *value);
+       int set_field_buffer(FIELD *field, int buf, const char *value);
        char *field_buffer(const FIELD *field, int buffer);
        int set_field_status(FIELD *field, bool status);
        bool field_status(const FIELD *field);
 
 
 </PRE><H2><a name="h2-DESCRIPTION">DESCRIPTION</a></H2><PRE>
-       The function <STRONG>set_field_buffer</STRONG> sets the numbered buffer  of
-       the given field to contain a given string:
+       The  function  <STRONG>set_field_buffer</STRONG>  sets  the numbered buffer of the given
+       field to contain a given string:
 
           <STRONG>o</STRONG>   Buffer 0 is the displayed value of the field.
 
-          <STRONG>o</STRONG>   Other numbered buffers may be allocated by applica-
-              tions   through   the   <STRONG>nbuf</STRONG>   argument   of   (see
-              <STRONG><A HREF="form_field_new.3x.html">form_field_new(3x)</A></STRONG>)  but are not manipulated by the
-              forms library.
+          <STRONG>o</STRONG>   Other numbered buffers may be allocated by applications  through
+              the <STRONG>nbuf</STRONG> argument of (see <STRONG><A HREF="form_field_new.3x.html">form_field_new(3x)</A></STRONG>) but are not manip-
+              ulated by the forms library.
 
-       The function <STRONG>field_buffer</STRONG> returns a pointer  to  the  con-
-       tents of the given numbered buffer:
+       The function <STRONG>field_buffer</STRONG> returns a pointer  to  the  contents  of  the
+       given numbered buffer:
 
-          <STRONG>o</STRONG>   The  buffer  contents  always have the same length,
-              and are padded with trailing spaces  as  needed  to
-              ensure this length is the same.
+          <STRONG>o</STRONG>   The  buffer contents always have the same length, and are padded
+              with trailing spaces as needed to  ensure  this  length  is  the
+              same.
 
-          <STRONG>o</STRONG>   The buffer may contain leading spaces, depending on
-              how it was set.
+          <STRONG>o</STRONG>   The  buffer  may contain leading spaces, depending on how it was
+              set.
 
-          <STRONG>o</STRONG>   The buffer contents are set with  <STRONG>set_field_buffer</STRONG>,
-              or  as  a  side effect of any editing operations on
-              the corresponding field.
+          <STRONG>o</STRONG>   The buffer contents are set with <STRONG>set_field_buffer</STRONG>, or as a  side
+              effect of any editing operations on the corresponding field.
 
-          <STRONG>o</STRONG>   Editing operations are based on  the  <EM>window</EM>  which
-              displays the field, rather than a <EM>string</EM>.  The win-
-              dow contains  only  printable  characters,  and  is
-              filled  with blanks.  If you want the raw data, you
-              must write your own routine that copies  the  value
-              out  of  the  buffer  and  removes  the leading and
-              trailing spaces.
+          <STRONG>o</STRONG>   Editing  operations  are  based on the <EM>window</EM> which displays the
+              field, rather than a <EM>string</EM>.  The window contains only printable
+              characters,  and  is  filled  with  blanks.  If you want the raw
+              data, you must write your own routine that copies the value  out
+              of the buffer and removes the leading and trailing spaces.
 
-          <STRONG>o</STRONG>   Because editing operations change  the  content  of
-              the  buffer to correspond to the window, you should
-              not rely on using buffers for long-term storage  of
-              form data.
+          <STRONG>o</STRONG>   Because  editing  operations change the content of the buffer to
+              correspond to the window, you should not rely on  using  buffers
+              for long-term storage of form data.
 
-       The  function  <STRONG>set_field_status</STRONG> sets the associated status
-       flag of <EM>field</EM>; <STRONG>field_status</STRONG> gets the current  value.   The
-       status  flag  is set to a nonzero value whenever the field
-       changes.
+       The function <STRONG>set_field_status</STRONG> sets the associated status flag of <EM>field</EM>;
+       <STRONG>field_status</STRONG> gets the current value.  The  status  flag  is  set  to  a
+       nonzero value whenever the field changes.
 
-       The function <STRONG>set_max_field</STRONG> sets the  maximum  size  for  a
-       dynamic  field.   An  argument  of 0 turns off any maximum
-       size threshold for that field.
+       The  function  <STRONG>set_max_field</STRONG> sets the maximum size for a dynamic field.
+       An argument of 0 turns off any maximum size threshold for that field.
 
 
 </PRE><H2><a name="h2-RETURN-VALUE">RETURN VALUE</a></H2><PRE>
-       The <STRONG>field_buffer</STRONG> function returns NULL on error.  It  sets
-       errno according to their success:
+       The <STRONG>field_buffer</STRONG> function returns NULL on error.  It sets errno accord-
+       ing to their success:
 
        <STRONG>E_OK</STRONG> The routine succeeded.
 
        <STRONG>E_BAD_ARGUMENT</STRONG>
-            Routine  detected  an incorrect or out-of-range argu-
-            ment.
+            Routine detected an incorrect or out-of-range argument.
 
        The <STRONG>field_status</STRONG> function returns <STRONG>TRUE</STRONG> or <STRONG>FALSE</STRONG>.
 
             System error occurred (see <STRONG>errno</STRONG>).
 
        <STRONG>E_BAD_ARGUMENT</STRONG>
-            Routine detected an incorrect or  out-of-range  argu-
-            ment.
+            Routine detected an incorrect or out-of-range argument.
 
 
 </PRE><H2><a name="h2-SEE-ALSO">SEE ALSO</a></H2><PRE>
-       <STRONG><A HREF="ncurses.3x.html">curses(3x)</A></STRONG> and related pages whose names begin "form_" for
-       detailed descriptions of the entry points.
+       <STRONG><A HREF="ncurses.3x.html">curses(3x)</A></STRONG>  and  related  pages  whose names begin "form_" for detailed
+       descriptions of the entry points.
 
 
 </PRE><H2><a name="h2-NOTES">NOTES</a></H2><PRE>
-       The header file <STRONG>&lt;form.h&gt;</STRONG> automatically includes the header
-       file
+       The header file <STRONG>&lt;form.h&gt;</STRONG> automatically includes the header file
 
-       When  configured for wide characters, <STRONG>field_buffer</STRONG> returns
-       a pointer to temporary storage (allocated and freed by the
-       library).   The  application  should not attempt to modify
-       the data.  It will be freed on the next call to <STRONG>field_buf-</STRONG>
-       <STRONG>fer</STRONG> to return the same buffer.  <STRONG>&lt;curses.h&gt;</STRONG>.
+       When configured for wide characters, <STRONG>field_buffer</STRONG> returns a pointer  to
+       temporary  storage  (allocated and freed by the library).  The applica-
+       tion should not attempt to modify the data.  It will be  freed  on  the
+       next call to <STRONG>field_buffer</STRONG> to return the same buffer.  <STRONG>&lt;curses.h&gt;</STRONG>.
 
 
 </PRE><H2><a name="h2-PORTABILITY">PORTABILITY</a></H2><PRE>
-       These  routines  emulate the System V forms library.  They
-       were not supported on Version 7 or BSD versions.
+       These  routines emulate the System V forms library.  They were not sup-
+       ported on Version 7 or BSD versions.
 
 
 </PRE><H2><a name="h2-AUTHORS">AUTHORS</a></H2><PRE>
-       Juergen Pfeifer.  Manual  pages  and  adaptation  for  new
-       curses by Eric S. Raymond.
+       Juergen Pfeifer.  Manual pages and adaptation for new curses by Eric S.
+       Raymond.
 
 
 
-                                                  <STRONG><A HREF="form_field_buffer.3x.html">form_field_buffer(3x)</A></STRONG>
+                                                         <STRONG><A HREF="form_field_buffer.3x.html">form_field_buffer(3x)</A></STRONG>
 </PRE>
 <div class="nav">
 <ul>
index 9f22bd03435da4a0f774dd219fb6018e6a08c524..83274e2f75db87dbc113a2697a2f6f50806abeeb 100644 (file)
 <BODY>
 <H1 class="no-header">form_field_info 3x</H1>
 <PRE>
-<STRONG><A HREF="form_field_info.3x.html">form_field_info(3x)</A></STRONG>                                 <STRONG><A HREF="form_field_info.3x.html">form_field_info(3x)</A></STRONG>
+<STRONG><A HREF="form_field_info.3x.html">form_field_info(3x)</A></STRONG>                                        <STRONG><A HREF="form_field_info.3x.html">form_field_info(3x)</A></STRONG>
 
 
 
 
 </PRE><H2><a name="h2-NAME">NAME</a></H2><PRE>
-       <STRONG>dynamic_field_info</STRONG>, <STRONG>field_info</STRONG> - retrieve field character-
-       istics
+       <STRONG>dynamic_field_info</STRONG>, <STRONG>field_info</STRONG> - retrieve field characteristics
 
 
 </PRE><H2><a name="h2-SYNOPSIS">SYNOPSIS</a></H2><PRE>
        <STRONG>#include</STRONG> <STRONG>&lt;form.h&gt;</STRONG>
        int field_info(const FIELD *field, int *rows, int *cols,
                      int *frow, int *fcol, int *nrow, int *nbuf);
-       int dynamic_field_info(const FIELD *field, int *rows,  int
-       *cols, int *max);
+       int  dynamic_field_info(const  FIELD  *field, int *rows, int *cols, int
+       *max);
 
 
 </PRE><H2><a name="h2-DESCRIPTION">DESCRIPTION</a></H2><PRE>
-       The  function  <STRONG>field_info</STRONG>  returns  the  sizes  and  other
-       attributes passed in to the field at  its  creation  time.
-       The  attributes are: height, width, row of upper-left cor-
-       ner, column of upper-left corner, number off-screen  rows,
-       and number of working buffers.
+       The function <STRONG>field_info</STRONG> returns the sizes and other  attributes  passed
+       in  to  the  field  at  its creation time.  The attributes are: height,
+       width, row of upper-left corner, column of  upper-left  corner,  number
+       off-screen rows, and number of working buffers.
 
-       The function <STRONG>dynamic_field_info</STRONG> returns the actual size of
-       the field, and its maximum possible size.   If  the  field
-       has  no  size  limit,  the location addressed by the third
-       argument will be set to 0.  A field can be made dynamic by
-       turning off the <STRONG>O_STATIC</STRONG> option with <STRONG>field_opts_off</STRONG>.
+       The  function  <STRONG>dynamic_field_info</STRONG> returns the actual size of the field,
+       and its maximum possible size.  If the field has  no  size  limit,  the
+       location addressed by the third argument will be set to 0.  A field can
+       be made dynamic by turning off the <STRONG>O_STATIC</STRONG> option with <STRONG>field_opts_off</STRONG>.
 
 
 </PRE><H2><a name="h2-RETURN-VALUE">RETURN VALUE</a></H2><PRE>
             System error occurred (see <STRONG>errno</STRONG>).
 
        <STRONG>E_BAD_ARGUMENT</STRONG>
-            Routine  detected  an incorrect or out-of-range argu-
-            ment.
+            Routine detected an incorrect or out-of-range argument.
 
 
 </PRE><H2><a name="h2-SEE-ALSO">SEE ALSO</a></H2><PRE>
-       <STRONG><A HREF="ncurses.3x.html">curses(3x)</A></STRONG> and related pages whose names begin "form_" for
-       detailed descriptions of the entry points.
+       <STRONG><A HREF="ncurses.3x.html">curses(3x)</A></STRONG> and related pages whose names  begin  "form_"  for  detailed
+       descriptions of the entry points.
 
 
 </PRE><H2><a name="h2-NOTES">NOTES</a></H2><PRE>
-       The header file <STRONG>&lt;form.h&gt;</STRONG> automatically includes the header
-       file <STRONG>&lt;curses.h&gt;</STRONG>.
+       The  header  file  <STRONG>&lt;form.h&gt;</STRONG>  automatically  includes  the  header  file
+       <STRONG>&lt;curses.h&gt;</STRONG>.
 
 
 </PRE><H2><a name="h2-PORTABILITY">PORTABILITY</a></H2><PRE>
-       These routines emulate the System V forms  library.   They
-       were not supported on Version 7 or BSD versions.
+       These routines emulate the System V forms library.  They were not  sup-
+       ported on Version 7 or BSD versions.
 
-       A  null  (zero  pointer) is accepted for any of the return
-       values, to ignore that  value.   Not  all  implementations
-       allow this, e.g., Solaris 2.7 does not.
+       A  null  (zero  pointer)  is  accepted for any of the return values, to
+       ignore that value.  Not all implementations allow this,  e.g.,  Solaris
+       2.7 does not.
 
 
 </PRE><H2><a name="h2-AUTHORS">AUTHORS</a></H2><PRE>
-       Juergen  Pfeifer.   Manual  pages  and  adaptation for new
-       curses by Eric S. Raymond.
+       Juergen Pfeifer.  Manual pages and adaptation for new curses by Eric S.
+       Raymond.
 
 
 
-                                                    <STRONG><A HREF="form_field_info.3x.html">form_field_info(3x)</A></STRONG>
+                                                           <STRONG><A HREF="form_field_info.3x.html">form_field_info(3x)</A></STRONG>
 </PRE>
 <div class="nav">
 <ul>
index 21e8c045f7cafd02ebbeb8f96bcea2dddf1fbabb..559316b717e025d3e20e625193f2907a42a02dad 100644 (file)
 <BODY>
 <H1 class="no-header">form_field_just 3x</H1>
 <PRE>
-<STRONG><A HREF="form_field_just.3x.html">form_field_just(3x)</A></STRONG>                                 <STRONG><A HREF="form_field_just.3x.html">form_field_just(3x)</A></STRONG>
+<STRONG><A HREF="form_field_just.3x.html">form_field_just(3x)</A></STRONG>                                        <STRONG><A HREF="form_field_just.3x.html">form_field_just(3x)</A></STRONG>
 
 
 
 
 </PRE><H2><a name="h2-NAME">NAME</a></H2><PRE>
-       <STRONG>set_field_just</STRONG>,  <STRONG>field_just</STRONG>  - retrieve field characteris-
-       tics
+       <STRONG>set_field_just</STRONG>, <STRONG>field_just</STRONG> - retrieve field characteristics
 
 
 </PRE><H2><a name="h2-SYNOPSIS">SYNOPSIS</a></H2><PRE>
 
 
 </PRE><H2><a name="h2-DESCRIPTION">DESCRIPTION</a></H2><PRE>
-       The  function  <STRONG>set_field_just</STRONG>   sets   the   justification
-       attribute  of a field; <STRONG>field_just</STRONG> returns a field's justi-
-       fication attribute.  The attribute may be one of NO_JUSTI-
-       FICATION, JUSTIFY_RIGHT, JUSTIFY_LEFT, or JUSTIFY_CENTER.
+       The  function  <STRONG>set_field_just</STRONG>  sets  the  justification  attribute of a
+       field; <STRONG>field_just</STRONG>  returns  a  field's  justification  attribute.   The
+       attribute  may be one of NO_JUSTIFICATION, JUSTIFY_RIGHT, JUSTIFY_LEFT,
+       or JUSTIFY_CENTER.
 
 
 </PRE><H2><a name="h2-RETURN-VALUE">RETURN VALUE</a></H2><PRE>
-       The  function <STRONG>field_just</STRONG> returns one of: NO_JUSTIFICATION,
-       JUSTIFY_RIGHT, JUSTIFY_LEFT, or JUSTIFY_CENTER.
+       The  function  <STRONG>field_just</STRONG>  returns  one  of:   NO_JUSTIFICATION,   JUS-
+       TIFY_RIGHT, JUSTIFY_LEFT, or JUSTIFY_CENTER.
 
        The function <STRONG>set_field_just</STRONG> returns one of the following:
 
             System error occurred (see <STRONG>errno</STRONG>).
 
        <STRONG>E_BAD_ARGUMENT</STRONG>
-            Routine detected an incorrect or  out-of-range  argu-
-            ment.
+            Routine detected an incorrect or out-of-range argument.
 
 
 </PRE><H2><a name="h2-SEE-ALSO">SEE ALSO</a></H2><PRE>
-       <STRONG><A HREF="ncurses.3x.html">curses(3x)</A></STRONG> and related pages whose names begin "form_" for
-       detailed descriptions of the entry points.
+       <STRONG><A HREF="ncurses.3x.html">curses(3x)</A></STRONG>  and  related  pages  whose names begin "form_" for detailed
+       descriptions of the entry points.
 
 
 </PRE><H2><a name="h2-NOTES">NOTES</a></H2><PRE>
-       The header file <STRONG>&lt;form.h&gt;</STRONG> automatically includes the header
-       file <STRONG>&lt;curses.h&gt;</STRONG>.
+       The  header  file  <STRONG>&lt;form.h&gt;</STRONG>  automatically  includes  the  header  file
+       <STRONG>&lt;curses.h&gt;</STRONG>.
 
 
 </PRE><H2><a name="h2-PORTABILITY">PORTABILITY</a></H2><PRE>
-       These  routines  emulate the System V forms library.  They
-       were not supported on Version 7 or BSD versions.
+       These  routines emulate the System V forms library.  They were not sup-
+       ported on Version 7 or BSD versions.
 
 
 </PRE><H2><a name="h2-AUTHORS">AUTHORS</a></H2><PRE>
-       Juergen Pfeifer.  Manual  pages  and  adaptation  for  new
-       curses by Eric S. Raymond.
+       Juergen Pfeifer.  Manual pages and adaptation for new curses by Eric S.
+       Raymond.
 
 
 
-                                                    <STRONG><A HREF="form_field_just.3x.html">form_field_just(3x)</A></STRONG>
+                                                           <STRONG><A HREF="form_field_just.3x.html">form_field_just(3x)</A></STRONG>
 </PRE>
 <div class="nav">
 <ul>
index b266a7e956b0fb904d26b92e9bc4e962cf57ec26..f7c96cf1563a6a0e81aca1fa186cd5593a657cca 100644 (file)
 <BODY>
 <H1 class="no-header">form_field_new 3x</H1>
 <PRE>
-<STRONG><A HREF="form_field_new.3x.html">form_field_new(3x)</A></STRONG>                                   <STRONG><A HREF="form_field_new.3x.html">form_field_new(3x)</A></STRONG>
+<STRONG><A HREF="form_field_new.3x.html">form_field_new(3x)</A></STRONG>                                          <STRONG><A HREF="form_field_new.3x.html">form_field_new(3x)</A></STRONG>
 
 
 
 
 </PRE><H2><a name="h2-NAME">NAME</a></H2><PRE>
-       <STRONG>new_field</STRONG>,  <STRONG>dup_field</STRONG>, <STRONG>link_field</STRONG>, <STRONG>free_field</STRONG> - create and
-       destroy form fields
+       <STRONG>new_field</STRONG>,  <STRONG>dup_field</STRONG>, <STRONG>link_field</STRONG>, <STRONG>free_field</STRONG> - create and destroy form
+       fields
 
 
 </PRE><H2><a name="h2-SYNOPSIS">SYNOPSIS</a></H2><PRE>
 
 
 </PRE><H2><a name="h2-DESCRIPTION">DESCRIPTION</a></H2><PRE>
-       The function <STRONG>new_field</STRONG> allocates a new field and  initial-
-       izes  it  from the parameters given: height, width, row of
-       upper-left corner, column  of  upper-left  corner,  number
-       off-screen rows, and number of additional working buffers.
+       The function <STRONG>new_field</STRONG> allocates a new field and  initializes  it  from
+       the  parameters  given: height, width, row of upper-left corner, column
+       of upper-left corner, number off-screen rows, and number of  additional
+       working buffers.
 
-       The  function  <STRONG>dup_field</STRONG> duplicates a field at a new loca-
-       tion.  Most attributes (including current contents,  size,
-       validation  type, buffer count, growth threshold, justifi-
-       cation, foreground, background,  pad  character,  options,
-       and  user pointer) are copied.  Field status and the field
-       page bit are not copied.
+       The  function  <STRONG>dup_field</STRONG>  duplicates  a  field at a new location.  Most
+       attributes (including current contents, size, validation  type,  buffer
+       count,  growth  threshold,  justification,  foreground, background, pad
+       character, options, and user pointer) are copied.  Field status and the
+       field page bit are not copied.
 
-       The function <STRONG>link_field</STRONG> acts like <STRONG>dup_field</STRONG>, but  the  new
-       field  shares  buffers with its parent.  Attribute data is
-       separate.
+       The  function  <STRONG>link_field</STRONG> acts like <STRONG>dup_field</STRONG>, but the new field shares
+       buffers with its parent.  Attribute data is separate.
 
-       The function <STRONG>free_field</STRONG>  de-allocates  storage  associated
-       with a field.
+       The function <STRONG>free_field</STRONG> de-allocates storage associated with a field.
 
 
 </PRE><H2><a name="h2-RETURN-VALUE">RETURN VALUE</a></H2><PRE>
-       The function, <STRONG>new_field</STRONG>, <STRONG>dup_field</STRONG>, <STRONG>link_field</STRONG> return <STRONG>NULL</STRONG>
-       on error.  They set errno according to their success:
+       The function, <STRONG>new_field</STRONG>, <STRONG>dup_field</STRONG>, <STRONG>link_field</STRONG> return  <STRONG>NULL</STRONG>  on  error.
+       They set errno according to their success:
 
        <STRONG>E_OK</STRONG> The routine succeeded.
 
        <STRONG>E_BAD_ARGUMENT</STRONG>
-            Routine detected an incorrect or  out-of-range  argu-
-            ment.
+            Routine detected an incorrect or out-of-range argument.
 
        <STRONG>E_SYSTEM_ERROR</STRONG>
             System error occurred, e.g., malloc failure.
        <STRONG>E_OK</STRONG> The routine succeeded.
 
        <STRONG>E_BAD_ARGUMENT</STRONG>
-            Routine  detected  an incorrect or out-of-range argu-
-            ment.
+            Routine detected an incorrect or out-of-range argument.
 
        <STRONG>E_CONNECTED</STRONG>
             field is connected.
 
 
 </PRE><H2><a name="h2-NOTES">NOTES</a></H2><PRE>
-       The header file <STRONG>&lt;form.h&gt;</STRONG> automatically includes the header
-       file <STRONG>&lt;curses.h&gt;</STRONG>.
+       The  header  file  <STRONG>&lt;form.h&gt;</STRONG>  automatically  includes  the  header  file
+       <STRONG>&lt;curses.h&gt;</STRONG>.
 
 
 </PRE><H2><a name="h2-PORTABILITY">PORTABILITY</a></H2><PRE>
-       These  routines  emulate the System V forms library.  They
-       were not supported on Version 7 or BSD versions.
+       These routines emulate the System V forms library.  They were not  sup-
+       ported on Version 7 or BSD versions.
 
-       It may be unwise to count on the set of attributes  copied
-       by  <STRONG>dup_field</STRONG>  being  portable; the System V forms library
-       documents are not very explicit about what gets copied and
-       what does not.
+       It  may be unwise to count on the set of attributes copied by <STRONG>dup_field</STRONG>
+       being portable; the System V  forms  library  documents  are  not  very
+       explicit about what gets copied and what does not.
 
 
 </PRE><H2><a name="h2-AUTHORS">AUTHORS</a></H2><PRE>
-       Juergen  Pfeifer.   Manual  pages  and  adaptation for new
-       curses by Eric S. Raymond.
+       Juergen Pfeifer.  Manual pages and adaptation for new curses by Eric S.
+       Raymond.
 
 
 
-                                                     <STRONG><A HREF="form_field_new.3x.html">form_field_new(3x)</A></STRONG>
+                                                            <STRONG><A HREF="form_field_new.3x.html">form_field_new(3x)</A></STRONG>
 </PRE>
 <div class="nav">
 <ul>
index c9a1205e3e1ec0b84b1aa303463c7829ccecd60f..0f677493251f00c11788a0aa63e502d1849f6ed9 100644 (file)
 <BODY>
 <H1 class="no-header">form_field_opts 3x</H1>
 <PRE>
-<STRONG><A HREF="form_field_opts.3x.html">form_field_opts(3x)</A></STRONG>                                 <STRONG><A HREF="form_field_opts.3x.html">form_field_opts(3x)</A></STRONG>
+<STRONG><A HREF="form_field_opts.3x.html">form_field_opts(3x)</A></STRONG>                                        <STRONG><A HREF="form_field_opts.3x.html">form_field_opts(3x)</A></STRONG>
 
 
 
 
 </PRE><H2><a name="h2-NAME">NAME</a></H2><PRE>
-       <STRONG>set_field_opts</STRONG>,  <STRONG>field_opts_on</STRONG>, <STRONG>field_opts_off</STRONG>, <STRONG>field_opts</STRONG>
-       - set and get field options
+       <STRONG>set_field_opts</STRONG>, <STRONG>field_opts_on</STRONG>, <STRONG>field_opts_off</STRONG>, <STRONG>field_opts</STRONG> - set and get
+       field options
 
 
 </PRE><H2><a name="h2-SYNOPSIS">SYNOPSIS</a></H2><PRE>
 
 
 </PRE><H2><a name="h2-DESCRIPTION">DESCRIPTION</a></H2><PRE>
-       The function <STRONG>set_field_opts</STRONG> sets  all  the  given  field's
-       option  bits  (field  option  bits  may be logically-OR'ed
-       together).
+       The function <STRONG>set_field_opts</STRONG> sets all  the  given  field's  option  bits
+       (field option bits may be logically-OR'ed together).
 
-       The function <STRONG>field_opts_on</STRONG> turns on the given option bits,
-       and leaves others alone.
+       The  function  <STRONG>field_opts_on</STRONG> turns on the given option bits, and leaves
+       others alone.
 
-       The  function  <STRONG>field_opts_off</STRONG>  turns  off the given option
-       bits, and leaves others alone.
+       The function <STRONG>field_opts_off</STRONG> turns off the given option bits, and leaves
+       others alone.
 
-       The function <STRONG>field_opts</STRONG> returns the field's current option
-       bits.
+       The function <STRONG>field_opts</STRONG> returns the field's current option bits.
 
-       The  following standard options are defined (all are on by
-       default):
+       The following standard options are defined (all are on by default):
 
        O_ACTIVE
-            The field is  visited  during  processing.   If  this
-            option  is  off,  the  field will not be reachable by
-            navigation keys.  Please  notice  that  an  invisible
-            field appears to be inactive also.
+            The  field  is  visited during processing.  If this option is off,
+            the field will not be reachable by navigation keys. Please  notice
+            that an invisible field appears to be inactive also.
 
        O_AUTOSKIP
             Skip to the next field when this one fills.
 
        O_BLANK
-            The  field is cleared whenever a character is entered
-            at the first position.
+            The  field is cleared whenever a character is entered at the first
+            position.
 
        O_EDIT
             The field can be edited.
             The field contents are displayed as data is entered.
 
        O_STATIC
-            Field buffers are fixed  to  field's  original  size.
-            Turn this option off to create a dynamic field.
+            Field buffers are fixed  to  field's  original  size.   Turn  this
+            option off to create a dynamic field.
 
        O_VISIBLE
-            The  field is displayed.  If this option is off, dis-
-            play of the field is suppressed.
+            The  field  is  displayed.   If this option is off, display of the
+            field is suppressed.
 
        O_WRAP
-            Words that do not fit on a line are  wrapped  to  the
-            next line.  Words are blank-separated.
+            Words that do not fit on a line are  wrapped  to  the  next  line.
+            Words are blank-separated.
 
-       These extension options are defined (extensions are off by
-       default):
+       These extension options are defined (extensions are off by default):
 
        O_DYNAMIC_JUSTIFY
-            Permit dynamic fields to be  justified,  like  static
-            fields.
+            Permit dynamic fields to be justified, like static fields.
 
        O_NO_LEFT_STRIP
-            Preserve  leading  whitespace  in  the  field buffer,
-            which is normally discarded.
+            Preserve leading whitespace in the field buffer, which is normally
+            discarded.
 
 
 </PRE><H2><a name="h2-RETURN-VALUE">RETURN VALUE</a></H2><PRE>
-       Except for <STRONG>field_opts</STRONG>, each routine  returns  one  of  the
-       following:
+       Except for <STRONG>field_opts</STRONG>, each routine returns one of the following:
 
        <STRONG>E_OK</STRONG> The routine succeeded.
 
        <STRONG>E_BAD_ARGUMENT</STRONG>
-            Routine  detected  an incorrect or out-of-range argu-
-            ment.
+            Routine detected an incorrect or out-of-range argument.
 
        <STRONG>E_CURRENT</STRONG>
             The field is the current field.
 
 
 </PRE><H2><a name="h2-NOTES">NOTES</a></H2><PRE>
-       The header file <STRONG>&lt;form.h&gt;</STRONG> automatically includes the header
-       file <STRONG>&lt;curses.h&gt;</STRONG>.
+       The  header  file  <STRONG>&lt;form.h&gt;</STRONG>  automatically  includes  the  header  file
+       <STRONG>&lt;curses.h&gt;</STRONG>.
 
 
 </PRE><H2><a name="h2-PORTABILITY">PORTABILITY</a></H2><PRE>
-       These  routines  emulate the System V forms library.  They
-       were not supported on Version 7 or BSD versions.
+       These  routines emulate the System V forms library.  They were not sup-
+       ported on Version 7 or BSD versions.
 
 
 </PRE><H2><a name="h2-AUTHORS">AUTHORS</a></H2><PRE>
-       Juergen Pfeifer.  Manual  pages  and  adaptation  for  new
-       curses by Eric S. Raymond.
+       Juergen Pfeifer.  Manual pages and adaptation for new curses by Eric S.
+       Raymond.
 
 
 
-                                                    <STRONG><A HREF="form_field_opts.3x.html">form_field_opts(3x)</A></STRONG>
+                                                           <STRONG><A HREF="form_field_opts.3x.html">form_field_opts(3x)</A></STRONG>
 </PRE>
 <div class="nav">
 <ul>
index de534a8953c1a86b150e7c3557f6dc26e0d416ad..112b930bc4520361b04d57ad9bafc86d6c0e4bf2 100644 (file)
 <BODY>
 <H1 class="no-header">form_field_userptr 3x</H1>
 <PRE>
-<STRONG><A HREF="form_field_userptr.3x.html">form_field_userptr(3x)</A></STRONG>                           <STRONG><A HREF="form_field_userptr.3x.html">form_field_userptr(3x)</A></STRONG>
+<STRONG><A HREF="form_field_userptr.3x.html">form_field_userptr(3x)</A></STRONG>                                  <STRONG><A HREF="form_field_userptr.3x.html">form_field_userptr(3x)</A></STRONG>
 
 
 
 
 </PRE><H2><a name="h2-NAME">NAME</a></H2><PRE>
-       <STRONG>set_field_userptr</STRONG>,  <STRONG>field_userptr</STRONG>  - associate application
-       data with a form field
+       <STRONG>set_field_userptr</STRONG>,  <STRONG>field_userptr</STRONG>  -  associate application data with a
+       form field
 
 
 </PRE><H2><a name="h2-SYNOPSIS">SYNOPSIS</a></H2><PRE>
 
 
 </PRE><H2><a name="h2-DESCRIPTION">DESCRIPTION</a></H2><PRE>
-       Every form field has a field that  can  be  used  to  hold
-       application-specific  data  (that is, the form-driver code
-       leaves it alone).  These functions get and set that field.
+       Every form field has a field that can be used to hold  application-spe-
+       cific  data  (that  is,  the  form-driver code leaves it alone).  These
+       functions get and set that field.
 
 
 </PRE><H2><a name="h2-RETURN-VALUE">RETURN VALUE</a></H2><PRE>
-       The function <STRONG>field_userptr</STRONG> returns a pointer (which may be
-       <STRONG>NULL</STRONG>).  It does not set errno.
+       The function <STRONG>field_userptr</STRONG> returns a pointer (which may be  <STRONG>NULL</STRONG>).   It
+       does not set errno.
 
        The function <STRONG>set_field_userptr</STRONG> returns <STRONG>E_OK</STRONG> (success).
 
 
 
 </PRE><H2><a name="h2-NOTES">NOTES</a></H2><PRE>
-       The header file <STRONG>&lt;form.h&gt;</STRONG> automatically includes the header
-       file <STRONG>&lt;curses.h&gt;</STRONG>.
+       The  header  file  <STRONG>&lt;form.h&gt;</STRONG>  automatically  includes  the  header  file
+       <STRONG>&lt;curses.h&gt;</STRONG>.
 
 
 </PRE><H2><a name="h2-PORTABILITY">PORTABILITY</a></H2><PRE>
-       These routines emulate the System V forms  library.   They
-       were not supported on Version 7 or BSD versions.
+       These routines emulate the System V forms library.  They were not  sup-
+       ported on Version 7 or BSD versions.
 
-       The user pointer is a void pointer.  We chose not to leave
-       it as a char pointer for SVr4 compatibility.
+       The user pointer is a void pointer.  We chose not to leave it as a char
+       pointer for SVr4 compatibility.
 
 
 </PRE><H2><a name="h2-AUTHORS">AUTHORS</a></H2><PRE>
-       Juergen Pfeifer.  Manual  pages  and  adaptation  for  new
-       curses by Eric S. Raymond.
+       Juergen Pfeifer.  Manual pages and adaptation for new curses by Eric S.
+       Raymond.
 
 
 
-                                                 <STRONG><A HREF="form_field_userptr.3x.html">form_field_userptr(3x)</A></STRONG>
+                                                        <STRONG><A HREF="form_field_userptr.3x.html">form_field_userptr(3x)</A></STRONG>
 </PRE>
 <div class="nav">
 <ul>
index ce9b36f086e124c423ab53880d8f5db90884d920..518c414e73b62efd018f5a80fcdd8655a906fc40 100644 (file)
@@ -40,7 +40,7 @@
 <BODY>
 <H1 class="no-header">form_field_validation 3x</H1>
 <PRE>
-<STRONG><A HREF="form_field_validation.3x.html">form_field_validation(3x)</A></STRONG>                     <STRONG><A HREF="form_field_validation.3x.html">form_field_validation(3x)</A></STRONG>
+<STRONG><A HREF="form_field_validation.3x.html">form_field_validation(3x)</A></STRONG>                            <STRONG><A HREF="form_field_validation.3x.html">form_field_validation(3x)</A></STRONG>
 
 
 
 
 
 </PRE><H2><a name="h2-DESCRIPTION">DESCRIPTION</a></H2><PRE>
-       The  function  <STRONG>set_field_type</STRONG>  declares  a data type for a
-       given form field.  This is the type checked by  validation
-       functions.  The predefined types are as follows:
+       The  function  <STRONG>set_field_type</STRONG>  declares  a  data  type for a given form
+       field.  This is the type checked by validation functions.   The  prede-
+       fined types are as follows:
 
        TYPE_ALNUM
-            Alphanumeric  data.  Requires a third <STRONG>int</STRONG> argument, a
-            minimum field width.
+            Alphanumeric data.  Requires a third <STRONG>int</STRONG> argument, a minimum field
+            width.
 
        TYPE_ALPHA
-            Character data.  Requires a  third  <STRONG>int</STRONG>  argument,  a
-            minimum field width.
+            Character data.  Requires a third <STRONG>int</STRONG> argument,  a  minimum  field
+            width.
 
        TYPE_ENUM
-            Accept one of a specified set of strings.  Requires a
-            third <STRONG>(char</STRONG> <STRONG>**)</STRONG> argument pointing to a string list; a
-            fourth  <STRONG>int</STRONG> flag argument to enable case-sensitivity;
-            and a fifth <STRONG>int</STRONG> flag argument  specifying  whether  a
-            partial  match  must be a unique one (if this flag is
-            off, a prefix matches the first of any  set  of  more
-            than  one  list  elements  with  that prefix). Please
-            notice that the string list is copied. So you may use
-            a  list  that  lives  in  automatic  variables on the
-            stack.
+            Accept  one of a specified set of strings.  Requires a third <STRONG>(char</STRONG>
+            <STRONG>**)</STRONG> argument pointing to a string list; a fourth <STRONG>int</STRONG> flag argument
+            to enable case-sensitivity; and a fifth <STRONG>int</STRONG> flag argument specify-
+            ing whether a partial match must be a unique one (if this flag  is
+            off,  a  prefix matches the first of any set of more than one list
+            elements with that prefix). Please notice that the string list  is
+            copied. So you may use a list that lives in automatic variables on
+            the stack.
 
        TYPE_INTEGER
-            Integer data, parsable  to  an  integer  by  <STRONG>atoi(3)</STRONG>.
-            Requires  a third <STRONG>int</STRONG> argument controlling the preci-
-            sion, a fourth  <STRONG>long</STRONG>  argument  constraining  minimum
-            value,  and  a fifth <STRONG>long</STRONG> constraining maximum value.
-            If the maximum value is less than  or  equal  to  the
-            minimum value, the range is simply ignored. On return
-            the field buffer is formatted according to the <STRONG>printf</STRONG>
-            format   specification   ".*ld",  where  the  '*'  is
-            replaced by the precision argument.  For  details  of
-            the precision handling see <STRONG>printf's</STRONG> man-page.
+            Integer data, parsable to an integer by <STRONG>atoi(3)</STRONG>.  Requires a third
+            <STRONG>int</STRONG>  argument  controlling  the  precision, a fourth <STRONG>long</STRONG> argument
+            constraining minimum value, and a fifth <STRONG>long</STRONG> constraining  maximum
+            value.   If the maximum value is less than or equal to the minimum
+            value, the range is simply ignored. On return the field buffer  is
+            formatted  according  to  the  <STRONG>printf</STRONG> format specification ".*ld",
+            where the '*' is replaced by the precision argument.  For  details
+            of the precision handling see <STRONG>printf's</STRONG> man-page.
 
        TYPE_NUMERIC
-            Numeric   data   (may  have  a  decimal-point  part).
-            Requires a third <STRONG>int</STRONG> argument controlling the  preci-
-            sion,  a  fourth <STRONG>double</STRONG> argument constraining minimum
-            value, and a fifth <STRONG>double</STRONG> constraining maximum value.
-            If  your  system  supports locales, the decimal point
-            character to be used must be  the  one  specified  by
-            your  locale.   If  the maximum value is less than or
-            equal to the  minimum  value,  the  range  is  simply
-            ignored.  On  return  the  field  buffer is formatted
-            according to the <STRONG>printf</STRONG> format  specification  ".*f",
-            where  the '*' is replaced by the precision argument.
-            For details of the precision  handling  see  <STRONG>printf's</STRONG>
-            man-page.
+            Numeric data (may have a decimal-point part). Requires a third <STRONG>int</STRONG>
+            argument controlling the precision, a fourth <STRONG>double</STRONG> argument  con-
+            straining  minimum  value, and a fifth <STRONG>double</STRONG> constraining maximum
+            value. If your system supports locales, the decimal point  charac-
+            ter  to  be used must be the one specified by your locale.  If the
+            maximum value is less than or equal  to  the  minimum  value,  the
+            range  is  simply ignored. On return the field buffer is formatted
+            according to the <STRONG>printf</STRONG> format specification ".*f", where the  '*'
+            is  replaced by the precision argument.  For details of the preci-
+            sion handling see <STRONG>printf's</STRONG> man-page.
 
        TYPE_REGEXP
-            Regular  expression data.  Requires a regular expres-
-            sion <STRONG>(char</STRONG> <STRONG>*)</STRONG> third argument; the data  is  valid  if
-            the  regular  expression matches it.  Regular expres-
-            sions are in  the  format  of  <STRONG>regcomp</STRONG>  and  <STRONG>regexec</STRONG>.
-            Please  notice that the regular expression must match
-            the whole field. If you have  for  example  an  eight
-            character wide field, a regular expression "^[0-9]*$"
-            always means that you have to fill  all  eight  posi-
-            tions with digits. If you want to allow fewer digits,
-            you may use for example "^[0-9]* *$"  which  is  good
-            for  trailing  spaces  (up  to an empty field), or "^
-            *[0-9]* *$" which is good for  leading  and  trailing
-            spaces around the digits.
+            Regular expression data.  Requires a regular expression  <STRONG>(char</STRONG>  <STRONG>*)</STRONG>
+            third  argument;  the  data  is  valid  if  the regular expression
+            matches it.  Regular expressions are in the format of <STRONG>regcomp</STRONG>  and
+            <STRONG>regexec</STRONG>.  Please notice that the regular expression must match the
+            whole field. If you have  for  example  an  eight  character  wide
+            field,  a regular expression "^[0-9]*$" always means that you have
+            to fill all eight positions with digits.  If  you  want  to  allow
+            fewer  digits,  you may use for example "^[0-9]* *$" which is good
+            for trailing spaces (up to an empty  field),  or  "^  *[0-9]*  *$"
+            which is good for leading and trailing spaces around the digits.
 
        TYPE_IPV4
-            An Internet Protocol Version 4 address. This requires
-            no additional argument. It is checked whether or  not
-            the  buffer  has  the form a.b.c.d, where a,b,c and d
-            are numbers between 0 and 255. Trailing blanks in the
-            buffer  are  ignored. The address itself is not vali-
-            dated. Please note that this is an ncurses extension.
-            This  field type may not be available in other curses
-            implementations.
+            An  Internet  Protocol  Version  4 address. This requires no addi-
+            tional argument. It is checked whether or not the buffer  has  the
+            form  a.b.c.d,  where  a,b,c  and d are numbers between 0 and 255.
+            Trailing blanks in the buffer are ignored. The address  itself  is
+            not validated. Please note that this is an ncurses extension. This
+            field type may not be available in other curses implementations.
 
-       It is possible to  set  up  new  programmer-defined  field
-       types.  See the <STRONG><A HREF="form_fieldtype.3x.html">form_fieldtype(3x)</A></STRONG> manual page.
+       It is possible to set up new programmer-defined field types.   See  the
+       <STRONG><A HREF="form_fieldtype.3x.html">form_fieldtype(3x)</A></STRONG> manual page.
 
 
 </PRE><H2><a name="h2-RETURN-VALUE">RETURN VALUE</a></H2><PRE>
-       The  functions  <STRONG>field_type</STRONG>  and  <STRONG>field_arg</STRONG>  return <STRONG>NULL</STRONG> on
-       error. The function <STRONG>set_field_type</STRONG> returns one of the fol-
-       lowing:
+       The  functions <STRONG>field_type</STRONG> and <STRONG>field_arg</STRONG> return <STRONG>NULL</STRONG> on error. The func-
+       tion <STRONG>set_field_type</STRONG> returns one of the following:
 
        <STRONG>E_OK</STRONG> The routine succeeded.
 
 
 
 </PRE><H2><a name="h2-NOTES">NOTES</a></H2><PRE>
-       The header file <STRONG>&lt;form.h&gt;</STRONG> automatically includes the header
-       file <STRONG>&lt;curses.h&gt;</STRONG>.
+       The  header  file  <STRONG>&lt;form.h&gt;</STRONG>  automatically  includes  the  header  file
+       <STRONG>&lt;curses.h&gt;</STRONG>.
 
 
 </PRE><H2><a name="h2-PORTABILITY">PORTABILITY</a></H2><PRE>
-       These routines emulate the System V forms  library.   They
-       were not supported on Version 7 or BSD versions.
+       These  routines emulate the System V forms library.  They were not sup-
+       ported on Version 7 or BSD versions.
 
 
 </PRE><H2><a name="h2-AUTHORS">AUTHORS</a></H2><PRE>
-       Juergen  Pfeifer.   Manual  pages  and  adaptation for new
-       curses by Eric S. Raymond.
+       Juergen Pfeifer.  Manual pages and adaptation for new curses by Eric S.
+       Raymond.
 
 
 
-                                              <STRONG><A HREF="form_field_validation.3x.html">form_field_validation(3x)</A></STRONG>
+                                                     <STRONG><A HREF="form_field_validation.3x.html">form_field_validation(3x)</A></STRONG>
 </PRE>
 <div class="nav">
 <ul>
index 21ca1ed249ca47333059f8bbf906293155cc3568..a8ac8997f29920a2b65d7266014b3cf5bd52f14f 100644 (file)
@@ -41,7 +41,7 @@
 <BODY>
 <H1 class="no-header">form_fieldtype 3x</H1>
 <PRE>
-<STRONG><A HREF="form_fieldtype.3x.html">form_fieldtype(3x)</A></STRONG>                                   <STRONG><A HREF="form_fieldtype.3x.html">form_fieldtype(3x)</A></STRONG>
+<STRONG><A HREF="form_fieldtype.3x.html">form_fieldtype(3x)</A></STRONG>                                          <STRONG><A HREF="form_fieldtype.3x.html">form_fieldtype(3x)</A></STRONG>
 
 
 
 
 
 </PRE><H2><a name="h2-DESCRIPTION">DESCRIPTION</a></H2><PRE>
-       The function <STRONG>new_fieldtype</STRONG> creates a new field type usable
-       for data validation.  You supply it  with  <EM>field</EM><STRONG>_</STRONG><EM>check</EM>,  a
-       predicate  to check the validity of an entered data string
-       whenever the user attempts to leave a field.   The  (FIELD
-       *)  argument  is passed in so the validation predicate can
-       see the field's buffer, sizes and  other  attributes;  the
-       second  argument  is  an  argument-block  structure, about
-       which more below.
-
-       You also supply <STRONG>new_fieldtype</STRONG> with <EM>char</EM><STRONG>_</STRONG><EM>check</EM>, a  function
-       to  validate input characters as they are entered; it will
-       be passed the character to be checked and a pointer to  an
-       argument-block structure.
-
-       The  function <STRONG>free_fieldtype</STRONG> frees the space allocated for
-       a given validation type.
-
-       The function <STRONG>set_fieldtype_arg</STRONG> associates  three  storage-
-       management  functions  with  a  field  type.  The <EM>make</EM><STRONG>_</STRONG><EM>arg</EM>
-       function is automatically applied to the list of arguments
-       you  give  <STRONG>set_field_type</STRONG>  when  attaching validation to a
-       field; its job is to bundle these into an allocated  argu-
-       ment-block  object which can later be passed to validation
-       predicated.  The other two hook arguments should copy  and
-       free  argument-block structures.  They will be used by the
-       forms-driver code.  You must supply the <EM>make</EM><STRONG>_</STRONG><EM>arg</EM> function,
-       the  other two are optional, you may supply NULL for them.
-       In this case it is assumed that <EM>make</EM><STRONG>_</STRONG><EM>arg</EM> does not allocate
-       memory  but simply loads the argument into a single scalar
+       The  function  <STRONG>new_fieldtype</STRONG>  creates  a new field type usable for data
+       validation.  You supply it with <EM>field</EM><STRONG>_</STRONG><EM>check</EM>, a predicate to  check  the
+       validity  of an entered data string whenever the user attempts to leave
+       a field.  The (FIELD *) argument is passed in so the validation  predi-
+       cate can see the field's buffer, sizes and other attributes; the second
+       argument is an argument-block structure, about which more below.
+
+       You also supply <STRONG>new_fieldtype</STRONG> with <EM>char</EM><STRONG>_</STRONG><EM>check</EM>, a function  to  validate
+       input  characters  as they are entered; it will be passed the character
+       to be checked and a pointer to an argument-block structure.
+
+       The function <STRONG>free_fieldtype</STRONG> frees the space allocated for a given vali-
+       dation type.
+
+       The  function  <STRONG>set_fieldtype_arg</STRONG>  associates  three  storage-management
+       functions with a field type.  The <EM>make</EM><STRONG>_</STRONG><EM>arg</EM>  function  is  automatically
+       applied to the list of arguments you give <STRONG>set_field_type</STRONG> when attaching
+       validation to a field; its job is to bundle  these  into  an  allocated
+       argument-block  object  which  can later be passed to validation predi-
+       cated.  The other two hook arguments should  copy  and  free  argument-
+       block  structures.   They  will  be used by the forms-driver code.  You
+       must supply the <EM>make</EM><STRONG>_</STRONG><EM>arg</EM> function, the other two are optional, you  may
+       supply  NULL  for  them.  In this case it is assumed that <EM>make</EM><STRONG>_</STRONG><EM>arg</EM> does
+       not allocate memory but simply loads the argument into a single  scalar
        value.
 
-       The function <STRONG>link_fieldtype</STRONG> creates a new field type  from
-       the  two  given  types.   They are connected by an logical
-       'OR'.
+       The function <STRONG>link_fieldtype</STRONG> creates a new field type from the two given
+       types.  They are connected by an logical 'OR'.
 
-       The   form    driver    requests    <STRONG>REQ_NEXT_CHOICE</STRONG>    and
-       <STRONG>REQ_PREV_CHOICE</STRONG> assume that the possible values of a field
-       form an ordered set, and provide the forms user with a way
-       to  move  through the set.  The <STRONG>set_fieldtype_choice</STRONG> func-
-       tion allows forms programmers to define successor and pre-
-       decessor  functions  for  the field type.  These functions
-       take the field pointer and an argument-block structure  as
-       arguments.
+       The form driver requests  <STRONG>REQ_NEXT_CHOICE</STRONG>  and  <STRONG>REQ_PREV_CHOICE</STRONG>  assume
+       that  the  possible  values of a field form an ordered set, and provide
+       the forms user with a way to move  through  the  set.   The  <STRONG>set_field-</STRONG>
+       <STRONG>type_choice</STRONG>  function  allows forms programmers to define successor and
+       predecessor functions for the field type.   These  functions  take  the
+       field pointer and an argument-block structure as arguments.
 
 
 </PRE><H2><a name="h2-RETURN-VALUE">RETURN VALUE</a></H2><PRE>
-       The  pointer-valued  routines  return NULL on error.  They
-       set errno according to their success:
+       The  pointer-valued  routines  return  NULL  on  error.  They set errno
+       according to their success:
 
        <STRONG>E_OK</STRONG> The routine succeeded.
 
        <STRONG>E_BAD_ARGUMENT</STRONG>
-            Routine detected an incorrect or  out-of-range  argu-
-            ment.
+            Routine detected an incorrect or out-of-range argument.
 
        <STRONG>E_SYSTEM_ERROR</STRONG>
             System error occurred, e.g., malloc failure.
 
-       The  integer-valued  routines  return one of the following
-       codes on error:
+       The integer-valued routines return one of the following codes on error:
 
        <STRONG>E_OK</STRONG> The routine succeeded.
 
        <STRONG>E_BAD_ARGUMENT</STRONG>
-            Routine detected an incorrect or  out-of-range  argu-
-            ment.
+            Routine detected an incorrect or out-of-range argument.
 
        <STRONG>E_CONNECTED</STRONG>
             The field is already connected to a form.
 
 
 </PRE><H2><a name="h2-NOTES">NOTES</a></H2><PRE>
-       The header file <STRONG>&lt;form.h&gt;</STRONG> automatically includes the header
-       file <STRONG>&lt;curses.h&gt;</STRONG>.
+       The  header  file  <STRONG>&lt;form.h&gt;</STRONG>  automatically  includes  the  header  file
+       <STRONG>&lt;curses.h&gt;</STRONG>.
 
-       All of the <STRONG>(char</STRONG> <STRONG>*)</STRONG> arguments of  these  functions  should
-       actually  be <STRONG>(void</STRONG> <STRONG>*)</STRONG>.  The type has been left uncorrected
-       for strict compatibility with System V.
+       All  of  the  <STRONG>(char</STRONG>  <STRONG>*)</STRONG> arguments of these functions should actually be
+       <STRONG>(void</STRONG> <STRONG>*)</STRONG>.  The type has been left uncorrected for strict  compatibility
+       with System V.
 
 
 </PRE><H2><a name="h2-PORTABILITY">PORTABILITY</a></H2><PRE>
-       These routines emulate the System V forms  library.   They
-       were not supported on Version 7 or BSD versions.
+       These  routines emulate the System V forms library.  They were not sup-
+       ported on Version 7 or BSD versions.
 
 
 </PRE><H2><a name="h2-AUTHORS">AUTHORS</a></H2><PRE>
-       Juergen  Pfeifer.   Manual  pages  and  adaptation for new
-       curses by Eric S. Raymond.
+       Juergen Pfeifer.  Manual pages and adaptation for new curses by Eric S.
+       Raymond.
 
 
 
-                                                     <STRONG><A HREF="form_fieldtype.3x.html">form_fieldtype(3x)</A></STRONG>
+                                                            <STRONG><A HREF="form_fieldtype.3x.html">form_fieldtype(3x)</A></STRONG>
 </PRE>
 <div class="nav">
 <ul>
index 3855eccaa4b4b460627a775a8aaeeeee4975fa64..0a1c87f687dd1754d84b57717242f509f24367e6 100644 (file)
 <BODY>
 <H1 class="no-header">form_hook 3x</H1>
 <PRE>
-<STRONG><A HREF="form_hook.3x.html">form_hook(3x)</A></STRONG>                                             <STRONG><A HREF="form_hook.3x.html">form_hook(3x)</A></STRONG>
+<STRONG><A HREF="form_hook.3x.html">form_hook(3x)</A></STRONG>                                                    <STRONG><A HREF="form_hook.3x.html">form_hook(3x)</A></STRONG>
 
 
 
 
 </PRE><H2><a name="h2-NAME">NAME</a></H2><PRE>
-       <STRONG>form_hook</STRONG> - set hooks for automatic invocation by applica-
-       tions
+       <STRONG>form_hook</STRONG> - set hooks for automatic invocation by applications
 
 
 </PRE><H2><a name="h2-SYNOPSIS">SYNOPSIS</a></H2><PRE>
 
 
 </PRE><H2><a name="h2-DESCRIPTION">DESCRIPTION</a></H2><PRE>
-       These functions make it possible to set hook functions  to
-       be called at various points in the automatic processing of
-       input event codes by <STRONG>form_driver</STRONG>.
+       These  functions make it possible to set hook functions to be called at
+       various points in the automatic processing  of  input  event  codes  by
+       <STRONG>form_driver</STRONG>.
 
-       The function <STRONG>set_field_init</STRONG> sets a hook to  be  called  at
-       form-post  time  and  each time the selected field changes
-       (after the change).  <STRONG>field_init</STRONG> returns the current  field
-       init hook, if any (<STRONG>NULL</STRONG> if there is no such hook).
+       The  function <STRONG>set_field_init</STRONG> sets a hook to be called at form-post time
+       and  each  time  the  selected  field  changes  (after   the   change).
+       <STRONG>field_init</STRONG>  returns  the current field init hook, if any (<STRONG>NULL</STRONG> if there
+       is no such hook).
 
-       The  function  <STRONG>set_field_term</STRONG>  sets a hook to be called at
-       form-unpost time and each time the selected field  changes
-       (before the change).  <STRONG>field_term</STRONG> returns the current field
-       term hook, if any (<STRONG>NULL</STRONG> if there is no such hook).
+       The function <STRONG>set_field_term</STRONG> sets a hook to  be  called  at  form-unpost
+       time  and  each  time  the  selected field changes (before the change).
+       <STRONG>field_term</STRONG> returns the current field term hook, if any (<STRONG>NULL</STRONG>  if  there
+       is no such hook).
 
-       The function <STRONG>set_form_init</STRONG> sets a hook  to  be  called  at
-       form-post  time  and  just  after a page change once it is
-       posted.  <STRONG>form_init</STRONG> returns the current form init hook,  if
-       any (<STRONG>NULL</STRONG> if there is no such hook).
+       The  function  <STRONG>set_form_init</STRONG> sets a hook to be called at form-post time
+       and just after a page change once it is posted.  <STRONG>form_init</STRONG> returns  the
+       current form init hook, if any (<STRONG>NULL</STRONG> if there is no such hook).
 
-       The  function  <STRONG>set_form_term</STRONG>  sets  a hook to be called at
-       form-unpost time and just before a page change once it  is
-       posted.   <STRONG>form_init</STRONG> returns the current form term hook, if
-       any (<STRONG>NULL</STRONG> if there is no such hook).
+       The function <STRONG>set_form_term</STRONG> sets a hook to be called at form-unpost time
+       and just before a page change once it is posted.  <STRONG>form_init</STRONG> returns the
+       current form term hook, if any (<STRONG>NULL</STRONG> if there is no such hook).
 
 
 </PRE><H2><a name="h2-RETURN-VALUE">RETURN VALUE</a></H2><PRE>
-       Routines that return pointers return <STRONG>NULL</STRONG> on error.  Other
-       routines return one of the following:
+       Routines  that  return  pointers  return <STRONG>NULL</STRONG> on error.  Other routines
+       return one of the following:
 
        <STRONG>E_OK</STRONG> The routine succeeded.
 
 
 
 </PRE><H2><a name="h2-NOTES">NOTES</a></H2><PRE>
-       The header file <STRONG>&lt;form.h&gt;</STRONG> automatically includes the header
-       file <STRONG>&lt;curses.h&gt;</STRONG>.
+       The  header  file  <STRONG>&lt;form.h&gt;</STRONG>  automatically  includes  the  header  file
+       <STRONG>&lt;curses.h&gt;</STRONG>.
 
 
 </PRE><H2><a name="h2-PORTABILITY">PORTABILITY</a></H2><PRE>
-       These routines emulate the System V forms  library.   They
-       were not supported on Version 7 or BSD versions.
+       These  routines emulate the System V forms library.  They were not sup-
+       ported on Version 7 or BSD versions.
 
 
 </PRE><H2><a name="h2-AUTHORS">AUTHORS</a></H2><PRE>
-       Juergen  Pfeifer.   Manual  pages  and  adaptation for new
-       curses by Eric S. Raymond.
+       Juergen Pfeifer.  Manual pages and adaptation for new curses by Eric S.
+       Raymond.
 
 
 
-                                                          <STRONG><A HREF="form_hook.3x.html">form_hook(3x)</A></STRONG>
+                                                                 <STRONG><A HREF="form_hook.3x.html">form_hook(3x)</A></STRONG>
 </PRE>
 <div class="nav">
 <ul>
index c4832155628ce8dd9165dab54ce0de71e3c51637..1f593ac87a76d9d44b7ae87c27c21e060c97fdae 100644 (file)
@@ -41,7 +41,7 @@
 <BODY>
 <H1 class="no-header">form_new 3x</H1>
 <PRE>
-<STRONG><A HREF="form_new.3x.html">form_new(3x)</A></STRONG>                                               <STRONG><A HREF="form_new.3x.html">form_new(3x)</A></STRONG>
+<STRONG><A HREF="form_new.3x.html">form_new(3x)</A></STRONG>                                                      <STRONG><A HREF="form_new.3x.html">form_new(3x)</A></STRONG>
 
 
 
 
 
 </PRE><H2><a name="h2-DESCRIPTION">DESCRIPTION</a></H2><PRE>
-       The  function  <STRONG>new_form</STRONG>  creates a new form connected to a
-       specified field pointer array (which must  be  <STRONG>NULL</STRONG>-termi-
-       nated).
+       The function <STRONG>new_form</STRONG> creates a new form connected to a specified field
+       pointer array (which must be <STRONG>NULL</STRONG>-terminated).
 
-       The  function  <STRONG>free_form</STRONG>  disconnects  <EM>form</EM> from its field
-       array and frees the storage allocated for the form.
+       The function <STRONG>free_form</STRONG> disconnects <EM>form</EM> from its field array and  frees
+       the storage allocated for the form.
 
 
 </PRE><H2><a name="h2-RETURN-VALUE">RETURN VALUE</a></H2><PRE>
-       The function <STRONG>new_form</STRONG> returns  <STRONG>NULL</STRONG>  on  error.   It  sets
-       errno according to the function's success:
+       The  function  <STRONG>new_form</STRONG> returns <STRONG>NULL</STRONG> on error.  It sets errno according
+       to the function's success:
 
        <STRONG>E_OK</STRONG> The routine succeeded.
 
        <STRONG>E_BAD_ARGUMENT</STRONG>
-            Routine  detected  an incorrect or out-of-range argu-
-            ment.
+            Routine detected an incorrect or out-of-range argument.
 
        <STRONG>E_CONNECTED</STRONG>
             The field is already connected to a form.
@@ -86,8 +84,7 @@
        <STRONG>E_OK</STRONG> The routine succeeded.
 
        <STRONG>E_BAD_ARGUMENT</STRONG>
-            Routine detected an incorrect or  out-of-range  argu-
-            ment.
+            Routine detected an incorrect or out-of-range argument.
 
        <STRONG>E_POSTED</STRONG>
             The form has already been posted.
 
 
 </PRE><H2><a name="h2-NOTES">NOTES</a></H2><PRE>
-       The header file <STRONG>&lt;form.h&gt;</STRONG> automatically includes the header
-       file <STRONG>&lt;curses.h&gt;</STRONG>.
+       The  header  file  <STRONG>&lt;form.h&gt;</STRONG>  automatically  includes  the  header  file
+       <STRONG>&lt;curses.h&gt;</STRONG>.
 
 
 </PRE><H2><a name="h2-PORTABILITY">PORTABILITY</a></H2><PRE>
-       These routines emulate the System V forms  library.   They
-       were not supported on Version 7 or BSD versions.
+       These  routines emulate the System V forms library.  They were not sup-
+       ported on Version 7 or BSD versions.
 
 
 </PRE><H2><a name="h2-AUTHORS">AUTHORS</a></H2><PRE>
-       Juergen  Pfeifer.   Manual  pages  and  adaptation for new
-       curses by Eric S. Raymond.
+       Juergen Pfeifer.  Manual pages and adaptation for new curses by Eric S.
+       Raymond.
 
 
 
-                                                           <STRONG><A HREF="form_new.3x.html">form_new(3x)</A></STRONG>
+                                                                  <STRONG><A HREF="form_new.3x.html">form_new(3x)</A></STRONG>
 </PRE>
 <div class="nav">
 <ul>
index 79c2a7607824b15328204126bcf408837970be42..512d80cec322bc2201f12c65485bf3c949e3734b 100644 (file)
@@ -41,7 +41,7 @@
 <BODY>
 <H1 class="no-header">form_new_page 3x</H1>
 <PRE>
-<STRONG><A HREF="form_new_page.3x.html">form_new_page(3x)</A></STRONG>                                     <STRONG><A HREF="form_new_page.3x.html">form_new_page(3x)</A></STRONG>
+<STRONG><A HREF="form_new_page.3x.html">form_new_page(3x)</A></STRONG>                                            <STRONG><A HREF="form_new_page.3x.html">form_new_page(3x)</A></STRONG>
 
 
 
 
 
 </PRE><H2><a name="h2-DESCRIPTION">DESCRIPTION</a></H2><PRE>
-       The  function  <STRONG>set_new_page</STRONG>  sets or resets a flag marking
-       the given field as the beginning of  a  new  page  on  its
-       form.
+       The function <STRONG>set_new_page</STRONG> sets or resets a flag marking the given field
+       as the beginning of a new page on its form.
 
-       The  function  <STRONG>new_page</STRONG>  is  a  predicate which tests if a
-       given field marks a page beginning on its form.
+       The function <STRONG>new_page</STRONG> is a predicate which tests if a given field marks
+       a page beginning on its form.
 
 
 </PRE><H2><a name="h2-RETURN-VALUE">RETURN VALUE</a></H2><PRE>
 
 
 </PRE><H2><a name="h2-SEE-ALSO">SEE ALSO</a></H2><PRE>
-       <STRONG><A HREF="ncurses.3x.html">curses(3x)</A></STRONG> and related pages whose names begin "form_" for
-       detailed descriptions of the entry points.
+       <STRONG><A HREF="ncurses.3x.html">curses(3x)</A></STRONG>  and  related  pages  whose names begin "form_" for detailed
+       descriptions of the entry points.
 
 
 </PRE><H2><a name="h2-NOTES">NOTES</a></H2><PRE>
-       The header file <STRONG>&lt;form.h&gt;</STRONG> automatically includes the header
-       file <STRONG>&lt;curses.h&gt;</STRONG>.
+       The  header  file  <STRONG>&lt;form.h&gt;</STRONG>  automatically  includes  the  header  file
+       <STRONG>&lt;curses.h&gt;</STRONG>.
 
 
 </PRE><H2><a name="h2-PORTABILITY">PORTABILITY</a></H2><PRE>
-       These routines emulate the System V forms  library.   They
-       were not supported on Version 7 or BSD versions.
+       These  routines emulate the System V forms library.  They were not sup-
+       ported on Version 7 or BSD versions.
 
 
 </PRE><H2><a name="h2-AUTHORS">AUTHORS</a></H2><PRE>
-       Juergen  Pfeifer.   Manual  pages  and  adaptation for new
-       curses by Eric S. Raymond.
+       Juergen Pfeifer.  Manual pages and adaptation for new curses by Eric S.
+       Raymond.
 
 
 
-                                                      <STRONG><A HREF="form_new_page.3x.html">form_new_page(3x)</A></STRONG>
+                                                             <STRONG><A HREF="form_new_page.3x.html">form_new_page(3x)</A></STRONG>
 </PRE>
 <div class="nav">
 <ul>
index 4c68bed2831e9f7b7da284e83f41be0ced534c7c..0f5e58fe9f83d5e8aa0f56144318147d7a254b84 100644 (file)
 <BODY>
 <H1 class="no-header">form_opts 3x</H1>
 <PRE>
-<STRONG><A HREF="form_opts.3x.html">form_opts(3x)</A></STRONG>                                             <STRONG><A HREF="form_opts.3x.html">form_opts(3x)</A></STRONG>
+<STRONG><A HREF="form_opts.3x.html">form_opts(3x)</A></STRONG>                                                    <STRONG><A HREF="form_opts.3x.html">form_opts(3x)</A></STRONG>
 
 
 
 
 </PRE><H2><a name="h2-NAME">NAME</a></H2><PRE>
-       <STRONG>set_form_opts</STRONG>,  <STRONG>form_opts_on</STRONG>,  <STRONG>form_opts_off</STRONG>,  <STRONG>form_opts</STRONG> -
-       set and get form options
+       <STRONG>set_form_opts</STRONG>,  <STRONG>form_opts_on</STRONG>,  <STRONG>form_opts_off</STRONG>,  <STRONG>form_opts</STRONG>  - set and get
+       form options
 
 
 </PRE><H2><a name="h2-SYNOPSIS">SYNOPSIS</a></H2><PRE>
 
 
 </PRE><H2><a name="h2-DESCRIPTION">DESCRIPTION</a></H2><PRE>
-       The function  <STRONG>set_form_opts</STRONG>  sets  all  the  given  form's
-       option  bits  (form  option  bits  may  be logically-OR'ed
-       together).
+       The function <STRONG>set_form_opts</STRONG> sets all the given form's option bits  (form
+       option bits may be logically-OR'ed together).
 
-       The function <STRONG>form_opts_on</STRONG> turns on the given option  bits,
-       and leaves others alone.
+       The  function  <STRONG>form_opts_on</STRONG>  turns on the given option bits, and leaves
+       others alone.
 
-       The  function  <STRONG>form_opts_off</STRONG>  turns  off  the given option
-       bits, and leaves others alone.
+       The function <STRONG>form_opts_off</STRONG> turns off the given option bits, and  leaves
+       others alone.
 
-       The function <STRONG>form_opts</STRONG> returns the form's  current  option
-       bits.
+       The function <STRONG>form_opts</STRONG> returns the form's current option bits.
 
        The following options are defined (all are on by default):
 
        O_NL_OVERLOAD
-            Overload  the  <STRONG>REQ_NEW_LINE</STRONG>  forms  driver request so
-            that calling it at the end of a  field  goes  to  the
-            next field.
+            Overload  the <STRONG>REQ_NEW_LINE</STRONG> forms driver request so that calling it
+            at the end of a field goes to the next field.
 
        O_BS_OVERLOAD
-            Overload  the  <STRONG>REQ_DEL_PREV</STRONG>  forms  driver request so
-            that calling it at the beginning of a field  goes  to
-            the previous field.
+            Overload the <STRONG>REQ_DEL_PREV</STRONG> forms driver request so that calling  it
+            at the beginning of a field goes to the previous field.
 
 
 </PRE><H2><a name="h2-RETURN-VALUE">RETURN VALUE</a></H2><PRE>
-       Except for <STRONG>form_opts</STRONG>, each routine returns one of the fol-
-       lowing:
+       Except for <STRONG>form_opts</STRONG>, each routine returns one of the following:
 
        <STRONG>E_OK</STRONG> The routine succeeded.
 
 
 
 </PRE><H2><a name="h2-NOTES">NOTES</a></H2><PRE>
-       The header file <STRONG>&lt;form.h&gt;</STRONG> automatically includes the header
-       file <STRONG>&lt;curses.h&gt;</STRONG>.
+       The  header  file  <STRONG>&lt;form.h&gt;</STRONG>  automatically  includes  the  header  file
+       <STRONG>&lt;curses.h&gt;</STRONG>.
 
 
 </PRE><H2><a name="h2-PORTABILITY">PORTABILITY</a></H2><PRE>
-       These  routines  emulate the System V forms library.  They
-       were not supported on Version 7 or BSD versions.
+       These routines emulate the System V forms library.  They were not  sup-
+       ported on Version 7 or BSD versions.
 
 
 </PRE><H2><a name="h2-AUTHORS">AUTHORS</a></H2><PRE>
-       Juergen Pfeifer.  Manual  pages  and  adaptation  for  new
-       curses by Eric S. Raymond.
+       Juergen Pfeifer.  Manual pages and adaptation for new curses by Eric S.
+       Raymond.
 
 
 
-                                                          <STRONG><A HREF="form_opts.3x.html">form_opts(3x)</A></STRONG>
+                                                                 <STRONG><A HREF="form_opts.3x.html">form_opts(3x)</A></STRONG>
 </PRE>
 <div class="nav">
 <ul>
index 2c9a3167007e4b8f3d17ad5ba208de92fbf622b1..4a45dd1870775f2341ddc728619f736978f32f79 100644 (file)
@@ -41,7 +41,7 @@
 <BODY>
 <H1 class="no-header">form_page 3x</H1>
 <PRE>
-<STRONG><A HREF="form_page.3x.html">form_page(3x)</A></STRONG>                                             <STRONG><A HREF="form_page.3x.html">form_page(3x)</A></STRONG>
+<STRONG><A HREF="form_page.3x.html">form_page(3x)</A></STRONG>                                                    <STRONG><A HREF="form_page.3x.html">form_page(3x)</A></STRONG>
 
 
 
 
 
 </PRE><H2><a name="h2-DESCRIPTION">DESCRIPTION</a></H2><PRE>
-       The  function  <STRONG>set_current_field</STRONG> sets the current field of
-       the given form; <STRONG>current_field</STRONG> returns the current field of
-       the given form.
+       The  function  <STRONG>set_current_field</STRONG>  sets  the  current field of the given
+       form; <STRONG>current_field</STRONG> returns the current field of the given form.
 
-       The  function <STRONG>unfocus_current_field</STRONG> removes the focus from
-       the current field of the form. In  such  state,  inquiries
-       via <STRONG>current_field</STRONG> shall return a NULL pointer.
+       The function <STRONG>unfocus_current_field</STRONG> removes the focus from  the  current
+       field  of  the  form.  In such state, inquiries via <STRONG>current_field</STRONG> shall
+       return a NULL pointer.
 
-       The  function  <STRONG>set_form_page</STRONG>  sets  the form's page number
-       (goes to page <EM>n</EM> of the form).
+       The function <STRONG>set_form_page</STRONG> sets the form's page number (goes to page  <EM>n</EM>
+       of the form).
 
-       The function <STRONG>form_page</STRONG> returns  the  form's  current  page
-       number.
+       The function <STRONG>form_page</STRONG> returns the form's current page number.
 
-       The function <STRONG>field_index</STRONG> returns the index of the field in
-       the field array of the form it is connected to. It returns
-       <STRONG>ERR</STRONG>  if  the  argument is the null pointer or the field is
-       not connected.
+       The  function  <STRONG>field_index</STRONG>  returns the index of the field in the field
+       array of the form it is connected to. It returns <STRONG>ERR</STRONG> if the argument is
+       the null pointer or the field is not connected.
 
 
 </PRE><H2><a name="h2-RETURN-VALUE">RETURN VALUE</a></H2><PRE>
-       Except for <STRONG>form_page</STRONG>, each routine returns one of the fol-
-       lowing:
+       Except for <STRONG>form_page</STRONG>, each routine returns one of the following:
 
        <STRONG>E_OK</STRONG> The routine succeeded.
 
        <STRONG>E_BAD_ARGUMENT</STRONG>
-            Routine  detected  an incorrect or out-of-range argu-
-            ment.
+            Routine detected an incorrect or out-of-range argument.
 
        <STRONG>E_BAD_STATE</STRONG>
-            Routine was called from an initialization or termina-
-            tion function.
+            Routine was called from an initialization or termination function.
 
        <STRONG>E_INVALID_FIELD</STRONG>
             Contents of a field are not valid.
 
 
 </PRE><H2><a name="h2-NOTES">NOTES</a></H2><PRE>
-       The header file <STRONG>&lt;form.h&gt;</STRONG> automatically includes the header
-       file <STRONG>&lt;curses.h&gt;</STRONG>.
+       The  header  file  <STRONG>&lt;form.h&gt;</STRONG>  automatically  includes  the  header  file
+       <STRONG>&lt;curses.h&gt;</STRONG>.
 
 
 </PRE><H2><a name="h2-PORTABILITY">PORTABILITY</a></H2><PRE>
-       These routines emulate the System V forms  library.   They
-       were not supported on Version 7 or BSD versions.
+       These routines emulate the System V forms library.  They were not  sup-
+       ported on Version 7 or BSD versions.
 
-       The  <STRONG>unfocus_current_field</STRONG>  function  is an ncurses exten-
-       sion.
+       The <STRONG>unfocus_current_field</STRONG> function is an ncurses extension.
 
 
 </PRE><H2><a name="h2-AUTHORS">AUTHORS</a></H2><PRE>
-       Juergen Pfeifer.  Manual  pages  and  adaptation  for  new
-       curses by Eric S. Raymond.
+       Juergen Pfeifer.  Manual pages and adaptation for new curses by Eric S.
+       Raymond.
 
 
 
-                                                          <STRONG><A HREF="form_page.3x.html">form_page(3x)</A></STRONG>
+                                                                 <STRONG><A HREF="form_page.3x.html">form_page(3x)</A></STRONG>
 </PRE>
 <div class="nav">
 <ul>
index a3608dea1da17ab56a61324aee4d98642fa15899..5d32b4785bcd248627f8db006d0528349e520c97 100644 (file)
 <BODY>
 <H1 class="no-header">form_post 3x</H1>
 <PRE>
-<STRONG><A HREF="form_post.3x.html">form_post(3x)</A></STRONG>                                             <STRONG><A HREF="form_post.3x.html">form_post(3x)</A></STRONG>
+<STRONG><A HREF="form_post.3x.html">form_post(3x)</A></STRONG>                                                    <STRONG><A HREF="form_post.3x.html">form_post(3x)</A></STRONG>
 
 
 
 
 </PRE><H2><a name="h2-NAME">NAME</a></H2><PRE>
-       <STRONG>post_form</STRONG>, <STRONG>unpost_form</STRONG> - write or erase forms from associ-
-       ated subwindows
+       <STRONG>post_form</STRONG>,  <STRONG>unpost_form</STRONG>  - write or erase forms from associated subwin-
+       dows
 
 
 </PRE><H2><a name="h2-SYNOPSIS">SYNOPSIS</a></H2><PRE>
 
 
 </PRE><H2><a name="h2-DESCRIPTION">DESCRIPTION</a></H2><PRE>
-       The function <STRONG>post_form</STRONG> displays a form to  its  associated
-       subwindow.   To trigger physical display of the subwindow,
-       use <STRONG><A HREF="curs_refresh.3x.html">refresh(3x)</A></STRONG> or some  equivalent  <STRONG>curses</STRONG>  routine  (the
-       implicit  <STRONG>doupdate</STRONG>  triggered  by  an <STRONG>curses</STRONG> input request
-       will do).
+       The function <STRONG>post_form</STRONG> displays a form to its associated subwindow.  To
+       trigger  physical  display  of  the  subwindow, use <STRONG><A HREF="curs_refresh.3x.html">refresh(3x)</A></STRONG> or some
+       equivalent <STRONG>curses</STRONG> routine (the implicit <STRONG>doupdate</STRONG> triggered by an <STRONG>curses</STRONG>
+       input request will do).
 
-       The function <STRONG>unpost_form</STRONG> erases form from  its  associated
-       subwindow.
+       The function <STRONG>unpost_form</STRONG> erases form from its associated subwindow.
 
 
 </PRE><H2><a name="h2-RETURN-VALUE">RETURN VALUE</a></H2><PRE>
        <STRONG>E_OK</STRONG> The routine succeeded.
 
        <STRONG>E_BAD_ARGUMENT</STRONG>
-            Routine  detected  an incorrect or out-of-range argu-
-            ment.
+            Routine detected an incorrect or out-of-range argument.
 
        <STRONG>E_BAD_STATE</STRONG>
-            Routine was called from an initialization or termina-
-            tion function.
+            Routine was called from an initialization or termination function.
 
        <STRONG>E_NOT_POSTED</STRONG>
             The form has not been posted.
 
 
 </PRE><H2><a name="h2-NOTES">NOTES</a></H2><PRE>
-       The header file <STRONG>&lt;form.h&gt;</STRONG> automatically includes the header
-       file <STRONG>&lt;curses.h&gt;</STRONG>.
+       The  header  file  <STRONG>&lt;form.h&gt;</STRONG>  automatically  includes  the  header  file
+       <STRONG>&lt;curses.h&gt;</STRONG>.
 
 
 </PRE><H2><a name="h2-PORTABILITY">PORTABILITY</a></H2><PRE>
-       These routines emulate the System V forms  library.   They
-       were not supported on Version 7 or BSD versions.
+       These routines emulate the System V forms library.  They were not  sup-
+       ported on Version 7 or BSD versions.
 
 
 </PRE><H2><a name="h2-AUTHORS">AUTHORS</a></H2><PRE>
-       Juergen  Pfeifer.   Manual  pages  and  adaptation for new
-       curses by Eric S. Raymond.
+       Juergen Pfeifer.  Manual pages and adaptation for new curses by Eric S.
+       Raymond.
 
 
 
-                                                          <STRONG><A HREF="form_post.3x.html">form_post(3x)</A></STRONG>
+                                                                 <STRONG><A HREF="form_post.3x.html">form_post(3x)</A></STRONG>
 </PRE>
 <div class="nav">
 <ul>
index 38107e9678d664268d5870c3a97c66f88af85121..7b4290b1c0bedaf7003a32177868b43ff71c569f 100644 (file)
 <BODY>
 <H1 class="no-header">form_requestname 3x</H1>
 <PRE>
-<STRONG><A HREF="form_requestname.3x.html">form_requestname(3x)</A></STRONG>                               <STRONG><A HREF="form_requestname.3x.html">form_requestname(3x)</A></STRONG>
+<STRONG><A HREF="form_requestname.3x.html">form_requestname(3x)</A></STRONG>                                      <STRONG><A HREF="form_requestname.3x.html">form_requestname(3x)</A></STRONG>
 
 
 
 
 </PRE><H2><a name="h2-NAME">NAME</a></H2><PRE>
-       <STRONG>form_request_by_name</STRONG>, <STRONG>form_request_name</STRONG> - handle printable
-       form request names
+       <STRONG>form_request_by_name</STRONG>, <STRONG>form_request_name</STRONG> - handle printable form request
+       names
 
 
 </PRE><H2><a name="h2-SYNOPSIS">SYNOPSIS</a></H2><PRE>
 
 
 </PRE><H2><a name="h2-DESCRIPTION">DESCRIPTION</a></H2><PRE>
-       The function <STRONG>form_request_name</STRONG> returns the printable  name
-       of a form request code.
-       The function <STRONG>form_request_by_name</STRONG> searches in the name-ta-
-       ble for a request with the  given  name  and  returns  its
-       request code. Otherwise E_NO_MATCH is returned.
+       The function <STRONG>form_request_name</STRONG> returns the printable  name  of  a  form
+       request code.
+       The  function  <STRONG>form_request_by_name</STRONG>  searches  in  the name-table for a
+       request with the given name and returns  its  request  code.  Otherwise
+       E_NO_MATCH is returned.
 
 
 </PRE><H2><a name="h2-RETURN-VALUE">RETURN VALUE</a></H2><PRE>
-       <STRONG>form_request_name</STRONG>  returns <STRONG>NULL</STRONG> on error and sets errno to
-       <STRONG>E_BAD_ARGUMENT</STRONG>.
-       <STRONG>form_request_by_name</STRONG> returns <STRONG>E_NO_MATCH</STRONG> on error.  It does
-       not set errno.
+       <STRONG>form_request_name</STRONG>  returns  <STRONG>NULL</STRONG> on error and sets errno to <STRONG>E_BAD_ARGU-</STRONG>
+       <STRONG>MENT</STRONG>.
+       <STRONG>form_request_by_name</STRONG> returns <STRONG>E_NO_MATCH</STRONG> on  error.   It  does  not  set
+       errno.
 
 
 </PRE><H2><a name="h2-SEE-ALSO">SEE ALSO</a></H2><PRE>
 
 
 </PRE><H2><a name="h2-NOTES">NOTES</a></H2><PRE>
-       The header file <STRONG>&lt;form.h&gt;</STRONG> automatically includes the header
-       file <STRONG>&lt;curses.h&gt;</STRONG>.
+       The  header  file  <STRONG>&lt;form.h&gt;</STRONG>  automatically  includes  the  header  file
+       <STRONG>&lt;curses.h&gt;</STRONG>.
 
 
 </PRE><H2><a name="h2-PORTABILITY">PORTABILITY</a></H2><PRE>
-       These routines are specific to  ncurses.   They  were  not
-       supported  on  Version 7, BSD or System V implementations.
-       It is recommended that any code depending on them be  con-
-       ditioned using NCURSES_VERSION.
+       These routines are specific to ncurses.  They  were  not  supported  on
+       Version 7, BSD or System V implementations.  It is recommended that any
+       code depending on them be conditioned using NCURSES_VERSION.
 
 
 </PRE><H2><a name="h2-AUTHORS">AUTHORS</a></H2><PRE>
-       Juergen  Pfeifer.   Manual  pages  and  adaptation for new
-       curses by Eric S. Raymond.
+       Juergen Pfeifer.  Manual pages and adaptation for new curses by Eric S.
+       Raymond.
 
 
 
-                                                   <STRONG><A HREF="form_requestname.3x.html">form_requestname(3x)</A></STRONG>
+                                                          <STRONG><A HREF="form_requestname.3x.html">form_requestname(3x)</A></STRONG>
 </PRE>
 <div class="nav">
 <ul>
index 4586087355c9a57b77bc6769ffaef1429f454759..28a85f00af0d9d41f0095ef1214e39802b5b66cf 100644 (file)
 <BODY>
 <H1 class="no-header">form_userptr 3x</H1>
 <PRE>
-<STRONG><A HREF="form_userptr.3x.html">form_userptr(3x)</A></STRONG>                                       <STRONG><A HREF="form_userptr.3x.html">form_userptr(3x)</A></STRONG>
+<STRONG><A HREF="form_userptr.3x.html">form_userptr(3x)</A></STRONG>                                              <STRONG><A HREF="form_userptr.3x.html">form_userptr(3x)</A></STRONG>
 
 
 
 
 </PRE><H2><a name="h2-NAME">NAME</a></H2><PRE>
-       <STRONG>set_form_userptr</STRONG>,  <STRONG>form_userptr</STRONG>  -  associate  application
-       data with a form item
+       <STRONG>set_form_userptr</STRONG>, <STRONG>form_userptr</STRONG> - associate application data with a form
+       item
 
 
 </PRE><H2><a name="h2-SYNOPSIS">SYNOPSIS</a></H2><PRE>
 
 
 </PRE><H2><a name="h2-DESCRIPTION">DESCRIPTION</a></H2><PRE>
-       Every form and every form item has a  field  that  can  be
-       used to hold application-specific data (that is, the form-
-       driver code leaves it alone).  These functions get and set
-       the form user pointer field.
+       Every form and every form item has a field that can  be  used  to  hold
+       application-specific  data  (that  is,  the  form-driver code leaves it
+       alone).  These functions get and set the form user pointer field.
 
 
 </PRE><H2><a name="h2-RETURN-VALUE">RETURN VALUE</a></H2><PRE>
-       The  function <STRONG>form_userptr</STRONG> returns a pointer (which may be
-       <STRONG>NULL</STRONG>).  It does not set errno.
+       The function <STRONG>form_userptr</STRONG> returns a pointer (which may  be  <STRONG>NULL</STRONG>).   It
+       does not set errno.
 
        The function <STRONG>set_form_userptr</STRONG> returns <STRONG>E_OK</STRONG> (success).
 
 
 
 </PRE><H2><a name="h2-NOTES">NOTES</a></H2><PRE>
-       The header file <STRONG>&lt;form.h&gt;</STRONG> automatically includes the header
-       file <STRONG>&lt;curses.h&gt;</STRONG>.
+       The  header  file  <STRONG>&lt;form.h&gt;</STRONG>  automatically  includes  the  header  file
+       <STRONG>&lt;curses.h&gt;</STRONG>.
 
 
 </PRE><H2><a name="h2-PORTABILITY">PORTABILITY</a></H2><PRE>
-       These  routines  emulate the System V forms library.  They
-       were not supported on Version 7 or BSD versions.
+       These routines emulate the System V forms library.  They were not  sup-
+       ported on Version 7 or BSD versions.
 
-       The user pointer is a void pointer.  We chose not to leave
-       it as a char pointer for SVr4 compatibility.
+       The user pointer is a void pointer.  We chose not to leave it as a char
+       pointer for SVr4 compatibility.
 
 
 </PRE><H2><a name="h2-AUTHORS">AUTHORS</a></H2><PRE>
-       Juergen  Pfeifer.   Manual  pages  and  adaptation for new
-       curses by Eric S. Raymond.
+       Juergen Pfeifer.  Manual pages and adaptation for new curses by Eric S.
+       Raymond.
 
 
 
-                                                       <STRONG><A HREF="form_userptr.3x.html">form_userptr(3x)</A></STRONG>
+                                                              <STRONG><A HREF="form_userptr.3x.html">form_userptr(3x)</A></STRONG>
 </PRE>
 <div class="nav">
 <ul>
index 55394b4acfa60fe47eba4b27d4e736724cd0e58d..e28697677a7ed0596cb7ba77ce7236bdbe993bb7 100644 (file)
 <BODY>
 <H1 class="no-header">form_variables 3x</H1>
 <PRE>
-<STRONG><A HREF="form_variables.3x.html">form_variables(3x)</A></STRONG>                                   <STRONG><A HREF="form_variables.3x.html">form_variables(3x)</A></STRONG>
+<STRONG><A HREF="form_variables.3x.html">form_variables(3x)</A></STRONG>                                          <STRONG><A HREF="form_variables.3x.html">form_variables(3x)</A></STRONG>
 
 
 
 
 </PRE><H2><a name="h2-NAME">NAME</a></H2><PRE>
-       <STRONG>TYPE_ALNUM</STRONG>, <STRONG>TYPE_ALPHA</STRONG>, <STRONG>TYPE_ENUM</STRONG>, <STRONG>TYPE_INTEGER</STRONG>,
-       <STRONG>TYPE_IPV4</STRONG>, <STRONG>TYPE_NUMERIC</STRONG>, <STRONG>TYPE_REGEXP</STRONG> - form system global
-       variables
+       <STRONG>TYPE_ALNUM</STRONG>, <STRONG>TYPE_ALPHA</STRONG>, <STRONG>TYPE_ENUM</STRONG>, <STRONG>TYPE_INTEGER</STRONG>, <STRONG>TYPE_IPV4</STRONG>,
+       <STRONG>TYPE_NUMERIC</STRONG>, <STRONG>TYPE_REGEXP</STRONG> - form system global variables
 
 
 </PRE><H2><a name="h2-SYNOPSIS">SYNOPSIS</a></H2><PRE>
 
 
 </PRE><H2><a name="h2-DESCRIPTION">DESCRIPTION</a></H2><PRE>
-       These  are  building blocks for the form library, defining
-       fields that can be created using <STRONG><A HREF="form_fieldtype.3x.html">set_fieldtype(3x)</A></STRONG>.   Each
-       provides  functions  for  field- and character-validation,
-       according to the given datatype.
+       These are building blocks for the form library,  defining  fields  that
+       can  be  created  using <STRONG><A HREF="form_fieldtype.3x.html">set_fieldtype(3x)</A></STRONG>.  Each provides functions for
+       field- and character-validation, according to the given datatype.
 
 
 </PRE><H3><a name="h3-TYPE_ALNUM">TYPE_ALNUM</a></H3><PRE>
@@ -91,8 +89,7 @@
 
 
 </PRE><H3><a name="h3-TYPE_NUMERIC">TYPE_NUMERIC</a></H3><PRE>
-       This holds a decimal number, with optional sign and  deci-
-       mal point.
+       This holds a decimal number, with optional sign and decimal point.
 
 
 </PRE><H3><a name="h3-TYPE_REGEXP">TYPE_REGEXP</a></H3><PRE>
 
 
 </PRE><H2><a name="h2-PORTABILITY">PORTABILITY</a></H2><PRE>
-       The  <STRONG>TYPE_IPV4</STRONG>  variable  is  an extension not provided by
-       older implementations of the form library.
+       The <STRONG>TYPE_IPV4</STRONG> variable is an extension not provided by older  implemen-
+       tations of the form library.
 
 
 </PRE><H2><a name="h2-SEE-ALSO">SEE ALSO</a></H2><PRE>
 
 
 
-                                                     <STRONG><A HREF="form_variables.3x.html">form_variables(3x)</A></STRONG>
+                                                            <STRONG><A HREF="form_variables.3x.html">form_variables(3x)</A></STRONG>
 </PRE>
 <div class="nav">
 <ul>
index 4f10b5f19773e4677363bd4e26292f159602e9bf..400fd4286c23e89c6ae7dfa3215d3e0b98cf90fc 100644 (file)
 <BODY>
 <H1 class="no-header">form_win 3x</H1>
 <PRE>
-<STRONG><A HREF="form_win.3x.html">form_win(3x)</A></STRONG>                                               <STRONG><A HREF="form_win.3x.html">form_win(3x)</A></STRONG>
+<STRONG><A HREF="form_win.3x.html">form_win(3x)</A></STRONG>                                                      <STRONG><A HREF="form_win.3x.html">form_win(3x)</A></STRONG>
 
 
 
 
 </PRE><H2><a name="h2-NAME">NAME</a></H2><PRE>
-       <STRONG>form_win</STRONG>  - make and break form window and subwindow asso-
-       ciations
+       <STRONG>form_win</STRONG> - make and break form window and subwindow associations
 
 
 </PRE><H2><a name="h2-SYNOPSIS">SYNOPSIS</a></H2><PRE>
 
 
 </PRE><H2><a name="h2-DESCRIPTION">DESCRIPTION</a></H2><PRE>
-       Every form has an associated pair of <STRONG>curses</STRONG> windows.   The
-       form  window displays any title and border associated with
-       the window; the form subwindow displays the items  of  the
-       form that are currently available for selection.
+       Every  form  has an associated pair of <STRONG>curses</STRONG> windows.  The form window
+       displays any title and border associated with the window; the form sub-
+       window  displays the items of the form that are currently available for
+       selection.
 
-       The first four functions get and set those windows.  It is
-       not necessary to set either window; by default, the driver
-       code uses <STRONG>stdscr</STRONG> for both.
+       The first four functions get and set those windows.  It is  not  neces-
+       sary  to set either window; by default, the driver code uses <STRONG>stdscr</STRONG> for
+       both.
 
-       In  the <STRONG>set_</STRONG> functions, window argument of <STRONG>NULL</STRONG> is treated
-       as though it were <STRONG>stsdcr</STRONG>.  A  form  argument  of  <STRONG>NULL</STRONG>  is
-       treated  as  a  request  to change the system default form
-       window or subwindow.
+       In the <STRONG>set_</STRONG> functions, window argument of <STRONG>NULL</STRONG> is treated as though  it
+       were <STRONG>stsdcr</STRONG>.  A form argument of <STRONG>NULL</STRONG> is treated as a request to change
+       the system default form window or subwindow.
 
-       The function <STRONG>scale_form</STRONG> returns the minimum size  required
-       for the subwindow of <EM>form</EM>.
+       The function <STRONG>scale_form</STRONG> returns the minimum size required for the  sub-
+       window of <EM>form</EM>.
 
 
 </PRE><H2><a name="h2-RETURN-VALUE">RETURN VALUE</a></H2><PRE>
-       Routines  that return pointers return <STRONG>NULL</STRONG> on error.  Rou-
-       tines that return an integer return one of  the  following
-       error codes:
+       Routines  that  return  pointers  return  <STRONG>NULL</STRONG> on error.  Routines that
+       return an integer return one of the following error codes:
 
        <STRONG>E_OK</STRONG> The routine succeeded.
 
@@ -90,8 +87,7 @@
             System error occurred (see <STRONG>errno</STRONG>).
 
        <STRONG>E_BAD_ARGUMENT</STRONG>
-            Routine  detected  an incorrect or out-of-range argu-
-            ment.
+            Routine detected an incorrect or out-of-range argument.
 
        <STRONG>E_POSTED</STRONG>
             The form has already been posted.
 
 
 </PRE><H2><a name="h2-NOTES">NOTES</a></H2><PRE>
-       The header file <STRONG>&lt;form.h&gt;</STRONG> automatically includes the header
-       file <STRONG>&lt;curses.h&gt;</STRONG>.
+       The  header  file  <STRONG>&lt;form.h&gt;</STRONG>  automatically  includes  the  header  file
+       <STRONG>&lt;curses.h&gt;</STRONG>.
 
 
 </PRE><H2><a name="h2-PORTABILITY">PORTABILITY</a></H2><PRE>
-       These  routines  emulate the System V forms library.  They
-       were not supported on Version 7 or BSD versions.
+       These  routines emulate the System V forms library.  They were not sup-
+       ported on Version 7 or BSD versions.
 
 
 </PRE><H2><a name="h2-AUTHORS">AUTHORS</a></H2><PRE>
-       Juergen Pfeifer.  Manual  pages  and  adaptation  for  new
-       curses by Eric S. Raymond.
+       Juergen Pfeifer.  Manual pages and adaptation for new curses by Eric S.
+       Raymond.
 
 
 
-                                                           <STRONG><A HREF="form_win.3x.html">form_win(3x)</A></STRONG>
+                                                                  <STRONG><A HREF="form_win.3x.html">form_win(3x)</A></STRONG>
 </PRE>
 <div class="nav">
 <ul>
index 26b750a7267a8e107eecadefdd48fc58837fb619..25f5e5afc9d424847ea92f0b268ac9a96ae62563 100644 (file)
@@ -41,7 +41,7 @@
 <BODY>
 <H1 class="no-header">infocmp 1m</H1>
 <PRE>
-<STRONG><A HREF="infocmp.1m.html">infocmp(1m)</A></STRONG>                                                 <STRONG><A HREF="infocmp.1m.html">infocmp(1m)</A></STRONG>
+<STRONG><A HREF="infocmp.1m.html">infocmp(1m)</A></STRONG>                                                        <STRONG><A HREF="infocmp.1m.html">infocmp(1m)</A></STRONG>
 
 
 
 
 
 </PRE><H2><a name="h2-DESCRIPTION">DESCRIPTION</a></H2><PRE>
-       <STRONG>infocmp</STRONG>  can  be  used  to compare a binary <STRONG>terminfo</STRONG> entry
-       with other terminfo entries, rewrite a  <STRONG>terminfo</STRONG>  descrip-
-       tion  to  take  advantage  of  the <STRONG>use=</STRONG> terminfo field, or
-       print out a <STRONG>terminfo</STRONG>  description  from  the  binary  file
-       (<STRONG>term</STRONG>) in a variety of formats.  In all cases, the boolean
-       fields will be printed  first,  followed  by  the  numeric
-       fields, followed by the string fields.
+       <STRONG>infocmp</STRONG>  can be used to compare a binary <STRONG>terminfo</STRONG> entry with other ter-
+       minfo entries, rewrite a <STRONG>terminfo</STRONG> description to take advantage of  the
+       <STRONG>use=</STRONG>  terminfo  field,  or  print  out  a <STRONG>terminfo</STRONG> description from the
+       binary file (<STRONG>term</STRONG>) in a variety of formats.  In all cases, the  boolean
+       fields  will be printed first, followed by the numeric fields, followed
+       by the string fields.
 
 
 </PRE><H3><a name="h3-Default-Options">Default Options</a></H3><PRE>
-       If  no options are specified and zero or one <EM>termnames</EM> are
-       specified, the <STRONG>-I</STRONG> option will be assumed.   If  more  than
-       one <EM>termname</EM> is specified, the <STRONG>-d</STRONG> option will be assumed.
+       If no options are specified and zero or one  <EM>termnames</EM>  are  specified,
+       the <STRONG>-I</STRONG> option will be assumed.  If more than one <EM>termname</EM> is specified,
+       the <STRONG>-d</STRONG> option will be assumed.
 
 
 </PRE><H3><a name="h3-Comparison-Options-_-d_-_-c_-_-n_">Comparison Options [-d] [-c] [-n]</a></H3><PRE>
-       <STRONG>infocmp</STRONG>  compares  the  <STRONG>terminfo</STRONG>  description of the first
-       terminal <EM>termname</EM> with each of the descriptions  given  by
-       the  entries  for  the  other  terminal's <EM>termnames</EM>.  If a
-       capability is defined for only one of the  terminals,  the
-       value returned depends on the type of the capability:
+       <STRONG>infocmp</STRONG>  compares  the  <STRONG>terminfo</STRONG>  description  of  the  first  terminal
+       <EM>termname</EM>  with  each  of  the descriptions given by the entries for the
+       other terminal's <EM>termnames</EM>.  If a capability is defined for only one of
+       the  terminals,  the value returned depends on the type of the capabil-
+       ity:
 
        <STRONG>o</STRONG>   <STRONG>F</STRONG> for missing boolean variables
 
        <STRONG>o</STRONG>   <STRONG>NULL</STRONG> for missing integer or string variables
 
-       Use  the  <STRONG>-q</STRONG> option to show the distinction between <EM>absent</EM>
-       and <EM>cancelled</EM> capabilities.
+       Use the <STRONG>-q</STRONG> option to show the distinction between <EM>absent</EM> and  <EM>cancelled</EM>
+       capabilities.
 
-       These options produce a list which you can use to  compare
-       two or more terminal descriptions:
+       These  options  produce a list which you can use to compare two or more
+       terminal descriptions:
 
-       <STRONG>-d</STRONG>   produces  a list of each capability that is <EM>different</EM>
-            between two entries.  Each item in the list shows ":"
-            after the capability name, followed by the capability
-            values, separated by a comma.
+       <STRONG>-d</STRONG>   produces a list of each capability that is <EM>different</EM>  between  two
+            entries.   Each  item  in  the list shows ":" after the capability
+            name, followed by the capability values, separated by a comma.
 
-       <STRONG>-c</STRONG>   produces a list of each  capability  that  is  <EM>common</EM>
-            between  two  or  more entries.  Missing capabilities
-            are ignored.  Each item in the list shows  "="  after
-            the  capability  name,  followed  by  the  capability
-            value.
+       <STRONG>-c</STRONG>   produces a list of each capability that is <EM>common</EM> between  two  or
+            more entries.  Missing capabilities are ignored.  Each item in the
+            list shows "=" after the capability name, followed by the capabil-
+            ity value.
 
-            The <STRONG>-u</STRONG> option provides a related output, showing  the
-            first  terminal description rewritten to use the sec-
-            ond as a building block via the "use=" clause.
+            The  <STRONG>-u</STRONG> option provides a related output, showing the first termi-
+            nal description rewritten to use the second as  a  building  block
+            via the "use=" clause.
 
-       <STRONG>-n</STRONG>   produces a list of each capability that is in <EM>none</EM> of
-            the  given  entries.  Each item in the list shows "!"
-            before the capability name.
+       <STRONG>-n</STRONG>   produces  a  list  of each capability that is in <EM>none</EM> of the given
+            entries.  Each item in the list shows "!"  before  the  capability
+            name.
 
-            Normally  only  the  conventional  capabilities   are
-            shown.   Use the <STRONG>-x</STRONG> option to add the BSD-compatibil-
-            ity capabilities (names prefixed with "OT").
+            Normally only the conventional capabilities are shown.  Use the <STRONG>-x</STRONG>
+            option to add the BSD-compatibility capabilities  (names  prefixed
+            with "OT").
 
-            If no <EM>termnames</EM> are given, <STRONG>infocmp</STRONG> uses the  environ-
-            ment variable <STRONG>TERM</STRONG> for each of the <EM>termnames</EM>.
+            If  no  <EM>termnames</EM> are given, <STRONG>infocmp</STRONG> uses the environment variable
+            <STRONG>TERM</STRONG> for each of the <EM>termnames</EM>.
 
 
 </PRE><H3><a name="h3-Source-Listing-Options-_-I_-_-L_-_-C_-_-r_">Source Listing Options [-I] [-L] [-C] [-r]</a></H3><PRE>
-       The  <STRONG>-I</STRONG>,  <STRONG>-L</STRONG>, and <STRONG>-C</STRONG> options will produce a source listing
-       for each terminal named.
-
-      <STRONG>-I</STRONG>   use the <STRONG>terminfo</STRONG> names
-      <STRONG>-L</STRONG>   use the long C variable name listed in &lt;<STRONG>term.h</STRONG>&gt;
-      <STRONG>-C</STRONG>   use the <STRONG>termcap</STRONG> names
-      <STRONG>-r</STRONG>   when using <STRONG>-C</STRONG>, put out all capabilities in <STRONG>termcap</STRONG> form
-      <STRONG>-K</STRONG>   modifies the <STRONG>-C</STRONG> option, improving BSD-compatibility.
-
-       If no <EM>termnames</EM> are given, the environment  variable  <STRONG>TERM</STRONG>
-       will be used for the terminal name.
-
-       The  source produced by the <STRONG>-C</STRONG> option may be used directly
-       as a <STRONG>termcap</STRONG> entry, but not all parameterized strings  can
-       be changed to the <STRONG>termcap</STRONG> format.  <STRONG>infocmp</STRONG> will attempt to
-       convert most of the parameterized  information,  and  any-
-       thing  not  converted will be plainly marked in the output
-       and commented out.  These should be edited by hand.
-
-       For best results when converting to  <STRONG>termcap</STRONG>  format,  you
-       should use both <STRONG>-C</STRONG> and <STRONG>-r</STRONG>.  Normally a termcap description
-       is limited to 1023 bytes.  <STRONG>infocmp</STRONG> trims away less  essen-
-       tial  parts  to make it fit.  If you are converting to one
-       of the (rare)  termcap  implementations  which  accept  an
-       unlimited  size  of  termcap,  you  may want to add the <STRONG>-T</STRONG>
-       option.  More often however, you  must  help  the  termcap
-       implementation,  and  trim  excess  whitespace (use the <STRONG>-0</STRONG>
-       option for that).
-
-       All padding information  for  strings  will  be  collected
-       together  and  placed at the beginning of the string where
-       <STRONG>termcap</STRONG> expects it.  Mandatory padding  (padding  informa-
-       tion with a trailing "/") will become optional.
-
-       All <STRONG>termcap</STRONG> variables no longer supported by <STRONG>terminfo</STRONG>, but
-       which are derivable from other <STRONG>terminfo</STRONG> variables, will be
-       output.  Not all <STRONG>terminfo</STRONG> capabilities will be translated;
-       only those variables which were part of <STRONG>termcap</STRONG> will  nor-
-       mally  be  output.  Specifying the <STRONG>-r</STRONG> option will take off
-       this restriction, allowing all capabilities to  be  output
-       in  <EM>termcap</EM>  form.  Normally you would use both the <STRONG>-C</STRONG> and
-       <STRONG>-r</STRONG> options.  The  actual  format  used  incorporates  some
-       improvements  for escaped characters from terminfo format.
-       For a stricter  BSD-compatible  translation,  use  the  <STRONG>-K</STRONG>
-       option rather than <STRONG>-C</STRONG>.
-
-       Note that because padding is collected to the beginning of
-       the capability, not all capabilities are  output.   Manda-
-       tory  padding  is  not supported.  Because <STRONG>termcap</STRONG> strings
-       are not as flexible, it is not always possible to  convert
-       a  <STRONG>terminfo</STRONG>  string  capability into an equivalent <STRONG>termcap</STRONG>
-       format.  A subsequent conversion of the <STRONG>termcap</STRONG> file  back
-       into  <STRONG>terminfo</STRONG>  format  will not necessarily reproduce the
-       original <STRONG>terminfo</STRONG> source.
-
-       Some common <STRONG>terminfo</STRONG> parameter  sequences,  their  <STRONG>termcap</STRONG>
-       equivalents,  and  some terminal types which commonly have
-       such sequences, are:
-
-
-
-     <STRONG>terminfo</STRONG>                    <STRONG>termcap</STRONG>   Representative Terminals
-     ---------------------------------------------------------------
-     <STRONG>%p1%c</STRONG>                       <STRONG>%.</STRONG>        adm
-     <STRONG>%p1%d</STRONG>                       <STRONG>%d</STRONG>        hp, ANSI standard, vt100
-     <STRONG>%p1%'x'%+%c</STRONG>                 <STRONG>%+x</STRONG>       concept
-     <STRONG>%i</STRONG>                          <STRONG>%i</STRONG>q       ANSI standard, vt100
-     <STRONG>%p1%?%'x'%&gt;%t%p1%'y'%+%;</STRONG>    <STRONG>%&gt;xy</STRONG>      concept
-     <STRONG>%p2</STRONG> is printed before <STRONG>%p1</STRONG>   <STRONG>%r</STRONG>        hp
+       The <STRONG>-I</STRONG>, <STRONG>-L</STRONG>, and <STRONG>-C</STRONG> options will produce a source listing for each  ter-
+       minal named.
+
+            <STRONG>-I</STRONG>   use the <STRONG>terminfo</STRONG> names
+            <STRONG>-L</STRONG>   use the long C variable name listed in &lt;<STRONG>term.h</STRONG>&gt;
+            <STRONG>-C</STRONG>   use the <STRONG>termcap</STRONG> names
+            <STRONG>-r</STRONG>   when using <STRONG>-C</STRONG>, put out all capabilities in <STRONG>termcap</STRONG> form
+            <STRONG>-K</STRONG>   modifies the <STRONG>-C</STRONG> option, improving BSD-compatibility.
+
+       If  no  <EM>termnames</EM> are given, the environment variable <STRONG>TERM</STRONG> will be used
+       for the terminal name.
+
+       The source produced by the <STRONG>-C</STRONG> option may be used directly as a  <STRONG>termcap</STRONG>
+       entry,  but not all parameterized strings can be changed to the <STRONG>termcap</STRONG>
+       format.  <STRONG>infocmp</STRONG> will attempt to  convert  most  of  the  parameterized
+       information,  and  anything not converted will be plainly marked in the
+       output and commented out.  These should be edited by hand.
+
+       For best results when converting to <STRONG>termcap</STRONG> format, you should use both
+       <STRONG>-C</STRONG>  and  <STRONG>-r</STRONG>.   Normally a termcap description is limited to 1023 bytes.
+       <STRONG>infocmp</STRONG> trims away less essential parts to make it  fit.   If  you  are
+       converting to one of the (rare) termcap implementations which accept an
+       unlimited size of termcap, you may want to add  the  <STRONG>-T</STRONG>  option.   More
+       often  however,  you  must  help  the  termcap implementation, and trim
+       excess whitespace (use the <STRONG>-0</STRONG> option for that).
+
+       All padding information for strings  will  be  collected  together  and
+       placed at the beginning of the string where <STRONG>termcap</STRONG> expects it.  Manda-
+       tory padding (padding information with  a  trailing  "/")  will  become
+       optional.
+
+       All  <STRONG>termcap</STRONG>  variables  no longer supported by <STRONG>terminfo</STRONG>, but which are
+       derivable from other <STRONG>terminfo</STRONG> variables, will be output.  Not all  <STRONG>ter-</STRONG>
+       <STRONG>minfo</STRONG>  capabilities will be translated; only those variables which were
+       part of <STRONG>termcap</STRONG> will normally be output.  Specifying the <STRONG>-r</STRONG> option will
+       take  off  this  restriction, allowing all capabilities to be output in
+       <EM>termcap</EM> form.  Normally you would use both the <STRONG>-C</STRONG> and <STRONG>-r</STRONG> options.   The
+       actual  format  used incorporates some improvements for escaped charac-
+       ters from terminfo format.  For a stricter BSD-compatible  translation,
+       use the <STRONG>-K</STRONG> option rather than <STRONG>-C</STRONG>.
+
+       Note that because padding is collected to the beginning of the capabil-
+       ity, not all capabilities are output.  Mandatory padding  is  not  sup-
+       ported.   Because <STRONG>termcap</STRONG> strings are not as flexible, it is not always
+       possible to convert a <STRONG>terminfo</STRONG> string  capability  into  an  equivalent
+       <STRONG>termcap</STRONG>  format.  A subsequent conversion of the <STRONG>termcap</STRONG> file back into
+       <STRONG>terminfo</STRONG> format will not necessarily reproduce  the  original  <STRONG>terminfo</STRONG>
+       source.
+
+       Some  common  <STRONG>terminfo</STRONG>  parameter sequences, their <STRONG>termcap</STRONG> equivalents,
+       and some terminal types which commonly have such sequences, are:
+
+           <STRONG>terminfo</STRONG>                    <STRONG>termcap</STRONG>   Representative Terminals
+           ---------------------------------------------------------------
+           <STRONG>%p1%c</STRONG>                       <STRONG>%.</STRONG>        adm
+           <STRONG>%p1%d</STRONG>                       <STRONG>%d</STRONG>        hp, ANSI standard, vt100
+           <STRONG>%p1%'x'%+%c</STRONG>                 <STRONG>%+x</STRONG>       concept
+           <STRONG>%i</STRONG>                          <STRONG>%i</STRONG>q       ANSI standard, vt100
+           <STRONG>%p1%?%'x'%&gt;%t%p1%'y'%+%;</STRONG>    <STRONG>%&gt;xy</STRONG>      concept
+           <STRONG>%p2</STRONG> is printed before <STRONG>%p1</STRONG>   <STRONG>%r</STRONG>        hp
 
 
 </PRE><H3><a name="h3-Use_-Option-_-u_">Use= Option [-u]</a></H3><PRE>
-       The <STRONG>-u</STRONG> option produces a <STRONG>terminfo</STRONG>  source  description  of
-       the  first  terminal <EM>termname</EM> which is relative to the sum
-       of the descriptions given by the  entries  for  the  other
-       terminals  <EM>termnames</EM>.   It does this by analyzing the dif-
-       ferences  between  the  first  <EM>termname</EM>  and   the   other
-       <EM>termnames</EM> and producing a description with <STRONG>use=</STRONG> fields for
-       the other terminals.  In this manner, it  is  possible  to
-       retrofit   generic  terminfo  entries  into  a  terminal's
-       description.  Or, if two similar terminals exist, but were
-       coded  at  different  times or by different people so that
-       each description is a full description, using <STRONG>infocmp</STRONG> will
-       show what can be done to change one description to be rel-
-       ative to the other.
-
-       A capability will get printed with an at-sign (@) if it no
-       longer  exists in the first <EM>termname</EM>, but one of the other
-       <EM>termname</EM> entries contains a value for it.  A  capability's
-       value  gets  printed if the value in the first <EM>termname</EM> is
-       not found in any of the other <EM>termname</EM> entries, or if  the
-       first of the other <EM>termname</EM> entries that has this capabil-
-       ity gives a different value for the capability  than  that
-       in the first <EM>termname</EM>.
-
-       The  order  of  the other <EM>termname</EM> entries is significant.
-       Since the terminfo compiler <STRONG>tic</STRONG> does a left-to-right  scan
-       of the capabilities, specifying two <STRONG>use=</STRONG> entries that con-
-       tain differing entries for the same capabilities will pro-
-       duce  different  results  depending  on the order that the
-       entries are given in.  <STRONG>infocmp</STRONG> will flag any  such  incon-
-       sistencies  between the other <EM>termname</EM> entries as they are
-       found.
-
-       Alternatively, specifying a capability <EM>after</EM> a <STRONG>use=</STRONG>  entry
-       that contains that capability will cause the second speci-
-       fication to be  ignored.   Using  <STRONG>infocmp</STRONG>  to  recreate  a
-       description can be a useful check to make sure that every-
-       thing was  specified  correctly  in  the  original  source
+       The <STRONG>-u</STRONG> option produces a <STRONG>terminfo</STRONG> source description of the first  ter-
+       minal  <EM>termname</EM>  which is relative to the sum of the descriptions given
+       by the entries for the other terminals <EM>termnames</EM>.  It does this by ana-
+       lyzing  the  differences  between  the  first  <EM>termname</EM>  and  the other
+       <EM>termnames</EM> and producing a description with <STRONG>use=</STRONG> fields  for  the  other
+       terminals.  In this manner, it is possible to retrofit generic terminfo
+       entries into a terminal's description.  Or, if  two  similar  terminals
+       exist, but were coded at different times or by different people so that
+       each description is a full description, using <STRONG>infocmp</STRONG>  will  show  what
+       can be done to change one description to be relative to the other.
+
+       A  capability  will  get  printed  with  an at-sign (@) if it no longer
+       exists in the first <EM>termname</EM>, but one of  the  other  <EM>termname</EM>  entries
+       contains  a  value  for  it.   A capability's value gets printed if the
+       value in the first <EM>termname</EM> is not found in any of the  other  <EM>termname</EM>
+       entries,  or  if  the first of the other <EM>termname</EM> entries that has this
+       capability gives a different value for the capability than that in  the
+       first <EM>termname</EM>.
+
+       The order of the other <EM>termname</EM> entries is significant.  Since the ter-
+       minfo compiler <STRONG>tic</STRONG> does a left-to-right scan of the capabilities, spec-
+       ifying  two  <STRONG>use=</STRONG>  entries  that contain differing entries for the same
+       capabilities will produce different results depending on the order that
+       the  entries  are given in.  <STRONG>infocmp</STRONG> will flag any such inconsistencies
+       between the other <EM>termname</EM> entries as they are found.
+
+       Alternatively, specifying a capability <EM>after</EM> a <STRONG>use=</STRONG> entry that contains
+       that  capability  will  cause  the  second specification to be ignored.
+       Using <STRONG>infocmp</STRONG> to recreate a description can be a useful check  to  make
+       sure  that  everything  was  specified correctly in the original source
        description.
 
-       Another  error  that  does  not  cause  incorrect compiled
-       files, but will slow down the compilation time, is  speci-
-       fying  extra  <STRONG>use=</STRONG>  fields  that are superfluous.  <STRONG>infocmp</STRONG>
-       will flag any other <EM>termname</EM> <EM>use=</EM>  fields  that  were  not
-       needed.
+       Another error that does not cause incorrect compiled  files,  but  will
+       slow  down  the  compilation time, is specifying extra <STRONG>use=</STRONG> fields that
+       are superfluous.  <STRONG>infocmp</STRONG> will flag any other <EM>termname</EM> <EM>use=</EM> fields that
+       were not needed.
 
    <STRONG>Changing</STRONG> <STRONG>Databases</STRONG> <STRONG>[-A</STRONG> <EM>directory</EM>] [-B <EM>directory</EM>]
-       Like other <STRONG>ncurses</STRONG> utilities, <STRONG>infocmp</STRONG> looks for the termi-
-       nal descriptions in several places.  You can use the  <STRONG>TER-</STRONG>
-       <STRONG>MINFO</STRONG>  and <STRONG>TERMINFO_DIRS</STRONG> environment variables to override
-       the compiled-in default list  of  places  to  search  (see
-       <STRONG><A HREF="ncurses.3x.html">curses(3x)</A></STRONG> for details).
+       Like  other  <STRONG>ncurses</STRONG> utilities, <STRONG>infocmp</STRONG> looks for the terminal descrip-
+       tions in several places.  You can use the  <STRONG>TERMINFO</STRONG>  and  <STRONG>TERMINFO_DIRS</STRONG>
+       environment  variables  to  override  the  compiled-in  default list of
+       places to search (see <STRONG><A HREF="ncurses.3x.html">curses(3x)</A></STRONG> for details).
 
-       You  can  also  use  the options <STRONG>-A</STRONG> and <STRONG>-B</STRONG> to override the
-       list of places to search when comparing terminal  descrip-
-       tions:
+       You can also use the options <STRONG>-A</STRONG> and <STRONG>-B</STRONG> to override the list  of  places
+       to search when comparing terminal descriptions:
 
        <STRONG>o</STRONG>   The <STRONG>-A</STRONG> option sets the location for the first <EM>termname</EM>
 
-       <STRONG>o</STRONG>   The   <STRONG>-B</STRONG>  option  sets  the  location  for  the  other
-           <EM>termnames</EM>.
+       <STRONG>o</STRONG>   The <STRONG>-B</STRONG> option sets the location for the other <EM>termnames</EM>.
 
-       Using these options, it is possible  to  compare  descrip-
-       tions  for  a  terminal  with the same name located in two
-       different databases.  For instance, you can use this  fea-
-       ture for comparing descriptions for the same terminal cre-
-       ated by different people.
+       Using  these options, it is possible to compare descriptions for a ter-
+       minal with the same name  located  in  two  different  databases.   For
+       instance,  you  can use this feature for comparing descriptions for the
+       same terminal created by different people.
 
 
 </PRE><H3><a name="h3-Other-Options">Other Options</a></H3><PRE>
-       <STRONG>-0</STRONG>   causes the fields to be printed on one line,  without
-            wrapping.
-
-       <STRONG>-1</STRONG>   causes  the  fields  to be printed out one to a line.
-            Otherwise, the fields will be printed  several  to  a
-            line to a maximum width of 60 characters.
-
-       <STRONG>-a</STRONG>   tells  <STRONG>infocmp</STRONG>  to  retain commented-out capabilities
-            rather than discarding them.  Capabilities  are  com-
-            mented by prefixing them with a period.
-
-       <STRONG>-D</STRONG>   tells <STRONG>infocmp</STRONG> to print the database locations that it
-            knows about, and exit.
-
-       <STRONG>-E</STRONG>   Dump  the  capabilities  of  the  given  terminal  as
-            tables,  needed  in  the C initializer for a TERMTYPE
-            structure (the terminal capability structure  in  the
-            <STRONG>&lt;term.h&gt;</STRONG>).   This option is useful for preparing ver-
-            sions of the curses library  hardwired  for  a  given
-            terminal  type.   The tables are all declared static,
-            and are named according to the type and the  name  of
-            the corresponding terminal entry.
-
-            Before  ncurses  5.0, the split between the <STRONG>-e</STRONG> and <STRONG>-E</STRONG>
-            options was not  needed;  but  support  for  extended
-            names required making the arrays of terminal capabil-
-            ities separate from the TERMTYPE structure.
-
-       <STRONG>-e</STRONG>   Dump the capabilities of the given terminal  as  a  C
-            initializer  for  a  TERMTYPE structure (the terminal
-            capability structure in the <STRONG>&lt;term.h&gt;</STRONG>).   This  option
-            is  useful  for  preparing  versions  of  the  curses
-            library hardwired for a given terminal type.
-
-       <STRONG>-F</STRONG>   compare terminfo files.  This assumes that  two  fol-
-            lowing   arguments  are  filenames.   The  files  are
-            searched for pairwise matches between  entries,  with
-            two entries considered to match if any of their names
-            do.  The report  printed  to  standard  output  lists
-            entries  with  no  matches  in  the  other  file, and
-            entries with more than one match.  For  entries  with
-            exactly  one  match  it includes a difference report.
-            Normally, to reduce the volume  of  the  report,  use
-            references  are  not resolved before looking for dif-
-            ferences, but resolution can be forced by also speci-
-            fying <STRONG>-r</STRONG>.
-
-       <STRONG>-f</STRONG>   Display   complex   terminfo  strings  which  contain
-            if/then/else/endif expressions indented for readabil-
-            ity.
-
-       <STRONG>-G</STRONG>   Display constant literals in decimal form rather than
-            their character equivalents.
-
-       <STRONG>-g</STRONG>   Display constant character literals  in  quoted  form
-            rather than their decimal equivalents.
-
-       <STRONG>-i</STRONG>   Analyze the initialization (<STRONG>is1</STRONG>, <STRONG>is2</STRONG>, <STRONG>is3</STRONG>), and reset
-            (<STRONG>rs1</STRONG>, <STRONG>rs2</STRONG>, <STRONG>rs3</STRONG>), strings in the  entry,  as  well  as
-            those  used  for starting/stopping cursor-positioning
-            mode (<STRONG>smcup</STRONG>,  <STRONG>rmcup</STRONG>)  as  well  as  starting/stopping
-            keymap mode (<STRONG>smkx</STRONG>, <STRONG>rmkx</STRONG>).
-
-            For  each  string,  the code tries to analyze it into
-            actions in terms of the  other  capabilities  in  the
-            entry,  certain  X3.64/ISO 6429/ECMA-48 capabilities,
-            and certain DEC VT-series private modes (the  set  of
-            recognized  special  sequences  has been selected for
-            completeness over the  existing  terminfo  database).
-            Each  report  line  consists  of the capability name,
-            followed by a colon and space, followed by  a  print-
-            able expansion of the capability string with sections
-            matching recognized actions translated into {}-brack-
-            eted descriptions.
-
-            Here is a list of the DEC/ANSI special sequences rec-
-            ognized:
-
-                  Action        Meaning
-                  -----------------------------------------
-                  RIS           full reset
-                  SC            save cursor
-                  RC            restore cursor
-                  LL            home-down
-                  RSR           reset scroll region
-                  -----------------------------------------
-                  DECSTR        soft reset (VT320)
-                  S7C1T         7-bit controls (VT220)
-                  -----------------------------------------
-                  ISO DEC G0    enable DEC graphics for G0
-                  ISO UK G0     enable UK chars for G0
-                  ISO US G0     enable US chars for G0
-                  ISO DEC G1    enable DEC graphics for G1
-                  ISO UK G1     enable UK chars for G1
-                  ISO US G1     enable US chars for G1
-                  -----------------------------------------
-                  DECPAM        application keypad mode
-                  DECPNM        normal keypad mode
-                  DECANSI       enter ANSI mode
-                  -----------------------------------------
-                  ECMA[+-]AM    keyboard action mode
-                  ECMA[+-]IRM   insert replace mode
-                  ECMA[+-]SRM   send receive mode
-                  ECMA[+-]LNM   linefeed mode
-                  -----------------------------------------
-                  DEC[+-]CKM    application cursor keys
-                  DEC[+-]ANM    set VT52 mode
-                  DEC[+-]COLM   132-column mode
-                  DEC[+-]SCLM   smooth scroll
-                  DEC[+-]SCNM   reverse video mode
-                  DEC[+-]OM     origin mode
-                  DEC[+-]AWM    wraparound mode
-                  DEC[+-]ARM    auto-repeat mode
-
-            It also recognizes  a  SGR  action  corresponding  to
-            ANSI/ISO  6429/ECMA  Set Graphics Rendition, with the
-            values NORMAL, BOLD, UNDERLINE, BLINK,  and  REVERSE.
-            All but NORMAL may be prefixed with
+       <STRONG>-0</STRONG>   causes the fields to be printed on one line, without wrapping.
+
+       <STRONG>-1</STRONG>   causes the fields to be printed out one to a line.  Otherwise, the
+            fields  will be printed several to a line to a maximum width of 60
+            characters.
+
+       <STRONG>-a</STRONG>   tells <STRONG>infocmp</STRONG> to retain  commented-out  capabilities  rather  than
+            discarding  them.   Capabilities  are  commented by prefixing them
+            with a period.
+
+       <STRONG>-D</STRONG>   tells <STRONG>infocmp</STRONG> to print the database locations that it knows about,
+            and exit.
+
+       <STRONG>-E</STRONG>   Dump  the  capabilities of the given terminal as tables, needed in
+            the C initializer for a TERMTYPE structure (the terminal  capabil-
+            ity structure in the <STRONG>&lt;term.h&gt;</STRONG>).  This option is useful for prepar-
+            ing versions of the curses library hardwired for a given  terminal
+            type.  The tables are all declared static, and are named according
+            to the type and the name of the corresponding terminal entry.
+
+            Before ncurses 5.0, the split between the <STRONG>-e</STRONG> and  <STRONG>-E</STRONG>  options  was
+            not  needed;  but  support  for extended names required making the
+            arrays of terminal capabilities separate from the TERMTYPE  struc-
+            ture.
+
+       <STRONG>-e</STRONG>   Dump the capabilities of the given terminal as a C initializer for
+            a TERMTYPE structure (the terminal  capability  structure  in  the
+            <STRONG>&lt;term.h&gt;</STRONG>).   This  option  is useful for preparing versions of the
+            curses library hardwired for a given terminal type.
+
+       <STRONG>-F</STRONG>   compare terminfo files.  This assumes that two following arguments
+            are  filenames.   The  files  are  searched  for  pairwise matches
+            between entries, with two entries considered to match  if  any  of
+            their  names  do.   The  report  printed  to standard output lists
+            entries with no matches in the other file, and entries  with  more
+            than  one match.  For entries with exactly one match it includes a
+            difference report.  Normally, to reduce the volume of the  report,
+            use  references  are  not resolved before looking for differences,
+            but resolution can be forced by also specifying <STRONG>-r</STRONG>.
+
+       <STRONG>-f</STRONG>   Display complex terminfo strings which contain  if/then/else/endif
+            expressions indented for readability.
+
+       <STRONG>-G</STRONG>   Display  constant literals in decimal form rather than their char-
+            acter equivalents.
+
+       <STRONG>-g</STRONG>   Display constant character literals in  quoted  form  rather  than
+            their decimal equivalents.
+
+       <STRONG>-i</STRONG>   Analyze  the  initialization (<STRONG>is1</STRONG>, <STRONG>is2</STRONG>, <STRONG>is3</STRONG>), and reset (<STRONG>rs1</STRONG>, <STRONG>rs2</STRONG>,
+            <STRONG>rs3</STRONG>), strings in the entry, as  well  as  those  used  for  start-
+            ing/stopping  cursor-positioning  mode  (<STRONG>smcup</STRONG>,  <STRONG>rmcup</STRONG>) as well as
+            starting/stopping keymap mode (<STRONG>smkx</STRONG>, <STRONG>rmkx</STRONG>).
+
+            For each string, the code tries to  analyze  it  into  actions  in
+            terms  of  the  other capabilities in the entry, certain X3.64/ISO
+            6429/ECMA-48 capabilities, and certain DEC VT-series private modes
+            (the  set  of  recognized  special sequences has been selected for
+            completeness over the existing terminfo  database).   Each  report
+            line  consists  of  the  capability  name, followed by a colon and
+            space, followed by a printable expansion of the capability  string
+            with   sections   matching   recognized  actions  translated  into
+            {}-bracketed descriptions.
+
+            Here is a list of the DEC/ANSI special sequences recognized:
+
+                         Action        Meaning
+                         -----------------------------------------
+                         RIS           full reset
+                         SC            save cursor
+                         RC            restore cursor
+                         LL            home-down
+                         RSR           reset scroll region
+                         -----------------------------------------
+                         DECSTR        soft reset (VT320)
+                         S7C1T         7-bit controls (VT220)
+                         -----------------------------------------
+
+                         ISO DEC G0    enable DEC graphics for G0
+                         ISO UK G0     enable UK chars for G0
+                         ISO US G0     enable US chars for G0
+                         ISO DEC G1    enable DEC graphics for G1
+                         ISO UK G1     enable UK chars for G1
+                         ISO US G1     enable US chars for G1
+                         -----------------------------------------
+                         DECPAM        application keypad mode
+                         DECPNM        normal keypad mode
+                         DECANSI       enter ANSI mode
+                         -----------------------------------------
+                         ECMA[+-]AM    keyboard action mode
+                         ECMA[+-]IRM   insert replace mode
+                         ECMA[+-]SRM   send receive mode
+                         ECMA[+-]LNM   linefeed mode
+                         -----------------------------------------
+                         DEC[+-]CKM    application cursor keys
+                         DEC[+-]ANM    set VT52 mode
+                         DEC[+-]COLM   132-column mode
+                         DEC[+-]SCLM   smooth scroll
+                         DEC[+-]SCNM   reverse video mode
+                         DEC[+-]OM     origin mode
+                         DEC[+-]AWM    wraparound mode
+                         DEC[+-]ARM    auto-repeat mode
+
+            It  also  recognizes  a  SGR  action  corresponding  to   ANSI/ISO
+            6429/ECMA  Set  Graphics  Rendition, with the values NORMAL, BOLD,
+            UNDERLINE, BLINK, and REVERSE.  All but  NORMAL  may  be  prefixed
+            with
 
             <STRONG>o</STRONG>   "+" (turn on) or
 
             <STRONG>o</STRONG>   "-" (turn off).
 
-            An   SGR0  designates  an  empty  highlight  sequence
-            (equivalent to {SGR:NORMAL}).
+            An  SGR0  designates  an  empty  highlight sequence (equivalent to
+            {SGR:NORMAL}).
 
        <STRONG>-l</STRONG>   Set output format to terminfo.
 
        <STRONG>-p</STRONG>   Ignore padding specifications when comparing strings.
 
-       <STRONG>-Q</STRONG> <EM>n</EM> Rather than show source in  terminfo  (text)  format,
-            print  the compiled (binary) format in hexadecimal or
-            base64 form, depending on the option's value:
+       <STRONG>-Q</STRONG> <EM>n</EM> Rather than show source in terminfo (text) format, print the  com-
+            piled  (binary) format in hexadecimal or base64 form, depending on
+            the option's value:
 
                1  hexadecimal
 
 
        <STRONG>-q</STRONG>   This makes the output a little shorter:
 
-            <STRONG>o</STRONG>   Make the comparison listing shorter  by  omitting
-                subheadings,  and  using "-" for absent capabili-
-                ties, "@" for canceled rather than "NULL".
+            <STRONG>o</STRONG>   Make the comparison listing shorter by  omitting  subheadings,
+                and using "-" for absent capabilities, "@" for canceled rather
+                than "NULL".
 
-            <STRONG>o</STRONG>   However, show differences between absent and can-
-                celled capabilities.
+            <STRONG>o</STRONG>   However, show differences between absent and  cancelled  capa-
+                bilities.
 
-            <STRONG>o</STRONG>   Omit  the "Reconstructed from" comment for source
-                listings.
+            <STRONG>o</STRONG>   Omit the "Reconstructed from" comment for source listings.
 
        <STRONG>-R</STRONG><EM>subset</EM>
-            Restrict output to a given subset.   This  option  is
-            for  use with archaic versions of terminfo like those
-            on SVr1, Ultrix, or HP/UX that  do  not  support  the
-            full  set  of  SVR4/XSI Curses terminfo; and variants
-            such as AIX that have their own extensions incompati-
-            ble with SVr4/XSI.
-
-            Available  terminfo  subsets  are  "SVr1",  "Ultrix",
-            "HP", and "AIX"; see <STRONG><A HREF="terminfo.5.html">terminfo(5)</A></STRONG>  for  details.   You
-            can  also  choose the subset "BSD" which selects only
-            capabilities with termcap equivalents  recognized  by
-            4.4BSD.
+            Restrict  output  to  a given subset.  This option is for use with
+            archaic versions of terminfo like those on SVr1, Ultrix, or  HP/UX
+            that  do not support the full set of SVR4/XSI Curses terminfo; and
+            variants such as AIX that have their own  extensions  incompatible
+            with SVr4/XSI.
+
+            Available  terminfo subsets are "SVr1", "Ultrix", "HP", and "AIX";
+            see <STRONG><A HREF="terminfo.5.html">terminfo(5)</A></STRONG> for details.  You can also choose the subset "BSD"
+            which  selects  only  capabilities with termcap equivalents recog-
+            nized by 4.4BSD.
 
        <STRONG>-s</STRONG> <EM>[d|i|l|c]</EM>
-            The  <STRONG>-s</STRONG>  option  sorts  the  fields  within each type
-            according to the argument below:
+            The <STRONG>-s</STRONG> option sorts the fields within each type according  to  the
+            argument below:
 
-            <STRONG>d</STRONG>    leave fields in the order that they  are  stored
-                 in the <EM>terminfo</EM> database.
+            <STRONG>d</STRONG>    leave  fields  in  the order that they are stored in the <EM>ter-</EM>
+                 <EM>minfo</EM> database.
 
             <STRONG>i</STRONG>    sort by <EM>terminfo</EM> name.
 
 
             <STRONG>c</STRONG>    sort by the <EM>termcap</EM> name.
 
-            If the <STRONG>-s</STRONG> option is not given, the fields printed out
-            will be sorted alphabetically by  the  <STRONG>terminfo</STRONG>  name
-            within each type, except in the case of the <STRONG>-C</STRONG> or the
-            <STRONG>-L</STRONG> options, which cause the sorting to be done by the
-            <STRONG>termcap</STRONG>  name  or  the  long C variable name, respec-
-            tively.
+            If the <STRONG>-s</STRONG> option is not given, the  fields  printed  out  will  be
+            sorted  alphabetically  by  the  <STRONG>terminfo</STRONG>  name  within each type,
+            except in the case of the <STRONG>-C</STRONG> or the <STRONG>-L</STRONG> options,  which  cause  the
+            sorting  to  be  done  by  the <STRONG>termcap</STRONG> name or the long C variable
+            name, respectively.
 
-       <STRONG>-T</STRONG>   eliminates size-restrictions on the  generated  text.
-            This is mainly useful for testing and analysis, since
-            the compiled descriptions are limited (e.g., 1023 for
-            termcap, 4096 for terminfo).
+       <STRONG>-T</STRONG>   eliminates size-restrictions  on  the  generated  text.   This  is
+            mainly  useful  for  testing  and  analysis,  since  the  compiled
+            descriptions are limited (e.g., 1023 for termcap,  4096  for  ter-
+            minfo).
 
-       <STRONG>-t</STRONG>   tells  <STRONG>tic</STRONG>  to  discard  commented-out  capabilities.
-            Normally when translating from terminfo  to  termcap,
-            untranslatable capabilities are commented-out.
+       <STRONG>-t</STRONG>   tells  <STRONG>tic</STRONG>  to  discard commented-out capabilities.  Normally when
+            translating from terminfo to termcap, untranslatable  capabilities
+            are commented-out.
 
-       <STRONG>-U</STRONG>   tells  <STRONG>infocmp</STRONG>  to  not  post-process  the data after
-            parsing the source file.   This  feature  helps  when
-            comparing  the  actual  contents of two source files,
-            since it excludes the inferences that  <STRONG>infocmp</STRONG>  makes
-            to fill in missing data.
+       <STRONG>-U</STRONG>   tells  <STRONG>infocmp</STRONG>  to  not  post-process  the  data after parsing the
+            source file.  This feature helps when comparing  the  actual  con-
+            tents  of  two source files, since it excludes the inferences that
+            <STRONG>infocmp</STRONG> makes to fill in missing data.
 
-       <STRONG>-V</STRONG>   reports the version of ncurses which was used in this
-            program, and exits.
+       <STRONG>-V</STRONG>   reports the version of ncurses which was used in this program, and
+            exits.
 
-       <STRONG>-v</STRONG> <EM>n</EM> prints out tracing information on standard  error  as
-            the program runs.
+       <STRONG>-v</STRONG> <EM>n</EM> prints  out  tracing  information on standard error as the program
+            runs.
 
-            The  optional  parameter  <EM>n</EM> is a number from 1 to 10,
-            inclusive, indicating the desired level of detail  of
-            information.   If  ncurses  is  built without tracing
-            support, the optional parameter is ignored.
+            The optional parameter <EM>n</EM> is a number  from  1  to  10,  inclusive,
+            indicating the desired level of detail of information.  If ncurses
+            is built  without  tracing  support,  the  optional  parameter  is
+            ignored.
 
-       <STRONG>-W</STRONG>   By itself, the <STRONG>-w</STRONG> option will not force long  strings
-            to be wrapped.  Use the <STRONG>-W</STRONG> option to do this.
+       <STRONG>-W</STRONG>   By  itself,  the  <STRONG>-w</STRONG>  option  will  not  force  long strings to be
+            wrapped.  Use the <STRONG>-W</STRONG> option to do this.
 
        <STRONG>-w</STRONG> <EM>width</EM>
             changes the output to <EM>width</EM> characters.
 
-       <STRONG>-x</STRONG>   print   information  for  user-defined  capabilities.
-            These are extensions to the terminfo repertoire which
-            can be loaded using the <STRONG>-x</STRONG> option of <STRONG>tic</STRONG>.
+       <STRONG>-x</STRONG>   print information for user-defined capabilities.  These are exten-
+            sions  to the terminfo repertoire which can be loaded using the <STRONG>-x</STRONG>
+            option of <STRONG>tic</STRONG>.
 
 
 </PRE><H2><a name="h2-FILES">FILES</a></H2><PRE>
-       /usr/share/terminfo Compiled  terminal  description  data-
-                           base.
+       /usr/share/terminfo Compiled terminal description database.
 
 
 </PRE><H2><a name="h2-EXTENSIONS">EXTENSIONS</a></H2><PRE>
-       The <STRONG>-0</STRONG>, <STRONG>-1</STRONG>, <STRONG>-E</STRONG>, <STRONG>-F</STRONG>, <STRONG>-G</STRONG>, <STRONG>-Q</STRONG>, <STRONG>-R</STRONG>, <STRONG>-T</STRONG>, <STRONG>-V</STRONG>, <STRONG>-a</STRONG>,  <STRONG>-e</STRONG>,  <STRONG>-f</STRONG>,  <STRONG>-g</STRONG>,
-       <STRONG>-i</STRONG>,  <STRONG>-l</STRONG>,  <STRONG>-p</STRONG>,  <STRONG>-q</STRONG> and <STRONG>-t</STRONG> options are not supported in SVr4
-       curses.
+       The <STRONG>-0</STRONG>, <STRONG>-1</STRONG>, <STRONG>-E</STRONG>, <STRONG>-F</STRONG>, <STRONG>-G</STRONG>, <STRONG>-Q</STRONG>, <STRONG>-R</STRONG>, <STRONG>-T</STRONG>, <STRONG>-V</STRONG>, <STRONG>-a</STRONG>, <STRONG>-e</STRONG>, <STRONG>-f</STRONG>, <STRONG>-g</STRONG>, <STRONG>-i</STRONG>, <STRONG>-l</STRONG>, <STRONG>-p</STRONG>,  <STRONG>-q</STRONG>
+       and <STRONG>-t</STRONG> options are not supported in SVr4 curses.
 
-       SVr4 infocmp does not distinguish between absent and  can-
-       celled capabilities.  Also, it shows missing integer capa-
-       bilities as <STRONG>-1</STRONG> (the internal value used to represent miss-
-       ing integers).  This implementation shows those as "NULL",
-       for consistency with missing strings.
+       SVr4 infocmp does not distinguish between absent and cancelled capabil-
+       ities.  Also, it shows missing integer capabilities as <STRONG>-1</STRONG> (the internal
+       value  used  to represent missing integers).  This implementation shows
+       those as "NULL", for consistency with missing strings.
 
-       The <STRONG>-r</STRONG> option's notion of "termcap" capabilities is System
-       V  Release  4's.   Actual  BSD curses versions will have a
-       more restricted set.  To see only the 4.4BSD set,  use  <STRONG>-r</STRONG>
-       <STRONG>-RBSD</STRONG>.
+       The <STRONG>-r</STRONG> option's notion of "termcap" capabilities is  System  V  Release
+       4's.   Actual  BSD curses versions will have a more restricted set.  To
+       see only the 4.4BSD set, use <STRONG>-r</STRONG> <STRONG>-RBSD</STRONG>.
 
 
 </PRE><H2><a name="h2-BUGS">BUGS</a></H2><PRE>
 
 
 </PRE><H2><a name="h2-SEE-ALSO">SEE ALSO</a></H2><PRE>
-       <STRONG><A HREF="captoinfo.1m.html">captoinfo(1m)</A></STRONG>,     <STRONG><A HREF="infotocap.1m.html">infotocap(1m)</A></STRONG>,     <STRONG><A HREF="tic.1m.html">tic(1m)</A></STRONG>,    <STRONG><A HREF="toe.1m.html">toe(1m)</A></STRONG>,
-       <STRONG><A HREF="ncurses.3x.html">curses(3x)</A></STRONG>, <STRONG><A HREF="terminfo.5.html">terminfo(5)</A></STRONG>.
+       <STRONG><A HREF="captoinfo.1m.html">captoinfo(1m)</A></STRONG>,  <STRONG><A HREF="infotocap.1m.html">infotocap(1m)</A></STRONG>,  <STRONG><A HREF="tic.1m.html">tic(1m)</A></STRONG>,  <STRONG><A HREF="toe.1m.html">toe(1m)</A></STRONG>,   <STRONG><A HREF="ncurses.3x.html">curses(3x)</A></STRONG>,   <STRONG>ter-</STRONG>
+       <STRONG><A HREF="terminfo.5.html">minfo(5)</A></STRONG>.
 
        http://invisible-island.net/ncurses/tctest.html
 
-       This describes <STRONG>ncurses</STRONG> version 6.0 (patch 20170429).
+       This describes <STRONG>ncurses</STRONG> version 6.0 (patch 20170506).
 
 
 </PRE><H2><a name="h2-AUTHOR">AUTHOR</a></H2><PRE>
 
 
 
-                                                            <STRONG><A HREF="infocmp.1m.html">infocmp(1m)</A></STRONG>
+                                                                   <STRONG><A HREF="infocmp.1m.html">infocmp(1m)</A></STRONG>
 </PRE>
 <div class="nav">
 <ul>
index b0bf6fc0159aac105a5a88788e13357c90474916..22682c358f90c6a54b23ca93d98d8e936b226f5b 100644 (file)
 <BODY>
 <H1 class="no-header">infotocap 1m</H1>
 <PRE>
-<STRONG><A HREF="infotocap.1m.html">infotocap(1m)</A></STRONG>                                             <STRONG><A HREF="infotocap.1m.html">infotocap(1m)</A></STRONG>
+<STRONG><A HREF="infotocap.1m.html">infotocap(1m)</A></STRONG>                                                    <STRONG><A HREF="infotocap.1m.html">infotocap(1m)</A></STRONG>
 
 
 
 
 </PRE><H2><a name="h2-NAME">NAME</a></H2><PRE>
-       <STRONG>infotocap</STRONG>  - convert a <EM>terminfo</EM> description into a <EM>termcap</EM>
-       description
+       <STRONG>infotocap</STRONG> - convert a <EM>terminfo</EM> description into a <EM>termcap</EM> description
 
 
 </PRE><H2><a name="h2-SYNOPSIS">SYNOPSIS</a></H2><PRE>
 
 
 </PRE><H2><a name="h2-DESCRIPTION">DESCRIPTION</a></H2><PRE>
-       <STRONG>infotocap</STRONG> looks in  each  given  text  <EM>file</EM>  for  <STRONG>terminfo</STRONG>
-       descriptions.   For  each  terminfo  description found, an
-       equivalent <STRONG>termcap</STRONG> description is written to standard out-
-       put.  Terminfo <STRONG>use</STRONG> capabilities are translated directly to
-       termcap <STRONG>tc</STRONG> capabilities.
+       <STRONG>infotocap</STRONG> looks in each given text <EM>file</EM> for <STRONG>terminfo</STRONG> descriptions.  For
+       each terminfo description found, an equivalent <STRONG>termcap</STRONG>  description  is
+       written  to  standard output.  Terminfo <STRONG>use</STRONG> capabilities are translated
+       directly to termcap <STRONG>tc</STRONG> capabilities.
 
-       <STRONG>-v</STRONG>   print out tracing information on  standard  error  as
-            the program runs.
+       <STRONG>-v</STRONG>   print out tracing information on standard  error  as  the  program
+            runs.
 
-       <STRONG>-V</STRONG>   print  out the version of the program in use on stan-
-            dard error and exit.
+       <STRONG>-V</STRONG>   print  out the version of the program in use on standard error and
+            exit.
 
-       <STRONG>-1</STRONG>   cause the fields to print out one to a line.   Other-
-            wise, the fields will be printed several to a line to
-            a maximum width of 60 characters.
+       <STRONG>-1</STRONG>   cause the fields to print out  one  to  a  line.   Otherwise,  the
+            fields  will be printed several to a line to a maximum width of 60
+            characters.
 
        <STRONG>-w</STRONG>   change the output to <EM>width</EM> characters.
 
 
 </PRE><H2><a name="h2-FILES">FILES</a></H2><PRE>
-       /usr/share/terminfo Compiled  terminal  description  data-
-                           base.
+       /usr/share/terminfo Compiled terminal description database.
 
 
 </PRE><H2><a name="h2-NOTES">NOTES</a></H2><PRE>
-       This  utility  is  actually  a  link to <STRONG>tic</STRONG>, running in <EM>-C</EM>
-       mode.  You can use other <STRONG>tic</STRONG> options such as <STRONG>-f</STRONG> and  <STRONG>-x</STRONG>.
+       This utility is actually a link to <STRONG>tic</STRONG>, running in <EM>-C</EM>  mode.   You  can
+       use other <STRONG>tic</STRONG> options such as <STRONG>-f</STRONG> and  <STRONG>-x</STRONG>.
 
 
 </PRE><H2><a name="h2-SEE-ALSO">SEE ALSO</a></H2><PRE>
        <STRONG><A HREF="ncurses.3x.html">curses(3x)</A></STRONG>, <STRONG><A HREF="tic.1m.html">tic(1m)</A></STRONG>, <STRONG><A HREF="infocmp.1m.html">infocmp(1m)</A></STRONG>, <STRONG><A HREF="terminfo.5.html">terminfo(5)</A></STRONG>
 
-       This describes <STRONG>ncurses</STRONG> version 6.0 (patch 20170429).
+       This describes <STRONG>ncurses</STRONG> version 6.0 (patch 20170506).
 
 
 </PRE><H2><a name="h2-AUTHOR">AUTHOR</a></H2><PRE>
@@ -97,7 +94,7 @@
 
 
 
-                                                          <STRONG><A HREF="infotocap.1m.html">infotocap(1m)</A></STRONG>
+                                                                 <STRONG><A HREF="infotocap.1m.html">infotocap(1m)</A></STRONG>
 </PRE>
 <div class="nav">
 <ul>
index 664c5634e6980bccf0ab5287698cb94b34c15252..cf878155fa23f332dd5853b6ad734d55b87e9160 100644 (file)
@@ -41,7 +41,7 @@
 <BODY>
 <H1 class="no-header">key_defined 3x</H1>
 <PRE>
-<STRONG><A HREF="key_defined.3x.html">key_defined(3x)</A></STRONG>                                         <STRONG><A HREF="key_defined.3x.html">key_defined(3x)</A></STRONG>
+<STRONG><A HREF="key_defined.3x.html">key_defined(3x)</A></STRONG>                                                <STRONG><A HREF="key_defined.3x.html">key_defined(3x)</A></STRONG>
 
 
 
 
 
 </PRE><H2><a name="h2-DESCRIPTION">DESCRIPTION</a></H2><PRE>
-       This is an extension to the curses library.  It permits an
-       application to determine if a string is currently bound to
-       any keycode.
+       This  is an extension to the curses library.  It permits an application
+       to determine if a string is currently bound to any keycode.
 
 
 </PRE><H2><a name="h2-RETURN-VALUE">RETURN VALUE</a></H2><PRE>
-       If  the  string  is bound to a keycode, its value (greater
-       than zero) is returned.  If no keycode is bound,  zero  is
-       returned.   If  the  string  conflicts with longer strings
-       which are bound to keys, -1 is returned.
+       If the string is bound to a keycode, its value (greater than  zero)  is
+       returned.   If  no  keycode  is bound, zero is returned.  If the string
+       conflicts with longer strings which are bound to keys, -1 is returned.
 
 
 </PRE><H2><a name="h2-PORTABILITY">PORTABILITY</a></H2><PRE>
-       These routines are specific to  ncurses.   They  were  not
-       supported  on  Version 7, BSD or System V implementations.
-       It is recommended that any code depending on them be  con-
-       ditioned using NCURSES_VERSION.
+       These routines are specific to ncurses.  They  were  not  supported  on
+       Version 7, BSD or System V implementations.  It is recommended that any
+       code depending on them be conditioned using NCURSES_VERSION.
 
 
 </PRE><H2><a name="h2-SEE-ALSO">SEE ALSO</a></H2><PRE>
@@ -85,7 +82,7 @@
 
 
 
-                                                        <STRONG><A HREF="key_defined.3x.html">key_defined(3x)</A></STRONG>
+                                                               <STRONG><A HREF="key_defined.3x.html">key_defined(3x)</A></STRONG>
 </PRE>
 <div class="nav">
 <ul>
index 5e4c022e771ae7cbd60926f508c2a287c1b08b6c..6294c349f026d668271f742aafd8bb436b7338a0 100644 (file)
@@ -41,7 +41,7 @@
 <BODY>
 <H1 class="no-header">keybound 3x</H1>
 <PRE>
-<STRONG><A HREF="keybound.3x.html">keybound(3x)</A></STRONG>                                               <STRONG><A HREF="keybound.3x.html">keybound(3x)</A></STRONG>
+<STRONG><A HREF="keybound.3x.html">keybound(3x)</A></STRONG>                                                      <STRONG><A HREF="keybound.3x.html">keybound(3x)</A></STRONG>
 
 
 
 
 
 </PRE><H2><a name="h2-DESCRIPTION">DESCRIPTION</a></H2><PRE>
-       This is an extension to the curses library.  It permits an
-       application to determine the string which  is  defined  in
-       the terminfo for specific keycodes.
+       This  is an extension to the curses library.  It permits an application
+       to determine the string which is defined in the terminfo  for  specific
+       keycodes.
 
 
 </PRE><H2><a name="h2-RETURN-VALUE">RETURN VALUE</a></H2><PRE>
-       The <EM>keycode</EM> parameter must be greater than zero, else NULL
-       is returned.  If it does not correspond to a defined  key,
-       then  NULL  is  returned.   The <EM>count</EM> parameter is used to
-       allow the application to iterate through multiple  defini-
-       tions,  counting from zero.  When successful, the function
-       returns a string which must be freed by the caller.
+       The <EM>keycode</EM> parameter must be greater than zero, else NULL is returned.
+       If it does not correspond to a defined key, then NULL is returned.  The
+       <EM>count</EM>  parameter  is  used  to allow the application to iterate through
+       multiple definitions, counting from zero.  When successful,  the  func-
+       tion returns a string which must be freed by the caller.
 
 
 </PRE><H2><a name="h2-PORTABILITY">PORTABILITY</a></H2><PRE>
-       These routines are specific to  ncurses.   They  were  not
-       supported  on  Version 7, BSD or System V implementations.
-       It is recommended that any code depending on them be  con-
-       ditioned using NCURSES_VERSION.
+       These  routines  are  specific  to ncurses.  They were not supported on
+       Version 7, BSD or System V implementations.  It is recommended that any
+       code depending on them be conditioned using NCURSES_VERSION.
 
 
 </PRE><H2><a name="h2-SEE-ALSO">SEE ALSO</a></H2><PRE>
@@ -87,7 +85,7 @@
 
 
 
-                                                           <STRONG><A HREF="keybound.3x.html">keybound(3x)</A></STRONG>
+                                                                  <STRONG><A HREF="keybound.3x.html">keybound(3x)</A></STRONG>
 </PRE>
 <div class="nav">
 <ul>
index 4f76638b3ad5a2af061aeac5303b45b274ba2115..a50ae40276a7e478affeb43ba4f7ee58ab5feeb0 100644 (file)
@@ -41,7 +41,7 @@
 <BODY>
 <H1 class="no-header">keyok 3x</H1>
 <PRE>
-<STRONG><A HREF="keyok.3x.html">keyok(3x)</A></STRONG>                                                     <STRONG><A HREF="keyok.3x.html">keyok(3x)</A></STRONG>
+<STRONG><A HREF="keyok.3x.html">keyok(3x)</A></STRONG>                                                            <STRONG><A HREF="keyok.3x.html">keyok(3x)</A></STRONG>
 
 
 
 
 
 </PRE><H2><a name="h2-DESCRIPTION">DESCRIPTION</a></H2><PRE>
-       This is an extension to the curses library.  It permits an
-       application to disable specific keycodes, rather than  use
-       the  <EM>keypad</EM>  function  to disable all keycodes.  Keys that
-       have been disabled can be re-enabled.
+       This  is an extension to the curses library.  It permits an application
+       to disable specific keycodes, rather than use the  <EM>keypad</EM>  function  to
+       disable all keycodes.  Keys that have been disabled can be re-enabled.
 
 
 </PRE><H2><a name="h2-RETURN-VALUE">RETURN VALUE</a></H2><PRE>
-       The keycode  must  be  greater  than  zero,  else  ERR  is
-       returned.   If  it  does  not correspond to a defined key,
-       then ERR is returned.  If the <EM>enable</EM>  parameter  is  true,
-       then  the  key  must  have  been disabled, and vice versa.
-       Otherwise, the function returns OK.
+       The  keycode  must  be  greater than zero, else ERR is returned.  If it
+       does not correspond to a defined key, then ERR  is  returned.   If  the
+       <EM>enable</EM>  parameter  is  true,  then the key must have been disabled, and
+       vice versa.  Otherwise, the function returns OK.
 
 
 </PRE><H2><a name="h2-PORTABILITY">PORTABILITY</a></H2><PRE>
-       These routines are specific to  ncurses.   They  were  not
-       supported  on  Version 7, BSD or System V implementations.
-       It is recommended that any code depending on them be  con-
-       ditioned using NCURSES_VERSION.
+       These routines are specific to ncurses.  They  were  not  supported  on
+       Version 7, BSD or System V implementations.  It is recommended that any
+       code depending on them be conditioned using NCURSES_VERSION.
 
 
 </PRE><H2><a name="h2-SEE-ALSO">SEE ALSO</a></H2><PRE>
@@ -87,7 +84,7 @@
 
 
 
-                                                              <STRONG><A HREF="keyok.3x.html">keyok(3x)</A></STRONG>
+                                                                     <STRONG><A HREF="keyok.3x.html">keyok(3x)</A></STRONG>
 </PRE>
 <div class="nav">
 <ul>
index d8792bfa41052075ba44c3535a48b9e969b75dfe..69e6c4cc029cf38cd2c42d5ed6880dde50b152be 100644 (file)
@@ -41,7 +41,7 @@
 <BODY>
 <H1 class="no-header">legacy_coding 3x</H1>
 <PRE>
-<STRONG><A HREF="legacy_coding.3x.html">legacy_coding(3x)</A></STRONG>                                     <STRONG><A HREF="legacy_coding.3x.html">legacy_coding(3x)</A></STRONG>
+<STRONG><A HREF="legacy_coding.3x.html">legacy_coding(3x)</A></STRONG>                                            <STRONG><A HREF="legacy_coding.3x.html">legacy_coding(3x)</A></STRONG>
 
 
 
 
 
 </PRE><H2><a name="h2-DESCRIPTION">DESCRIPTION</a></H2><PRE>
-       The  <STRONG>use_legacy_coding</STRONG>  function  is  an  extension to the
-       curses library.  It allows the caller to change the result
-       of  <STRONG>unctrl</STRONG>, and suppress related checks within the library
-       that would normally cause  nonprinting  characters  to  be
-       rendered in visible form.  This affects only 8-bit charac-
-       ters.
+       The  <STRONG>use_legacy_coding</STRONG>  function is an extension to the curses library.
+       It allows the caller to change  the  result  of  <STRONG>unctrl</STRONG>,  and  suppress
+       related checks within the library that would normally cause nonprinting
+       characters to be rendered in visible form.   This  affects  only  8-bit
+       characters.
 
        The <EM>level</EM> parameter controls the result:
 
-              0    the library functions normally, rendering non-
-                   printing characters as described in <STRONG>unctrl</STRONG>.
+              0    the library functions normally, rendering nonprinting char-
+                   acters as described in <STRONG>unctrl</STRONG>.
 
-              1    the  library ignores <STRONG>isprintf</STRONG> for codes in the
-                   range 160-255.
+              1    the  library  ignores  <STRONG>isprintf</STRONG>  for  codes  in  the  range
+                   160-255.
 
-              2    the library ignores <STRONG>isprintf</STRONG> for codes in  the
-                   range 128-255.  It also modifies the output of
-                   <STRONG>unctrl</STRONG>, showing codes in the range 128-159  as
-                   is.
+              2    the  library  ignores  <STRONG>isprintf</STRONG>  for  codes  in  the  range
+                   128-255.  It also modifies the output  of  <STRONG>unctrl</STRONG>,  showing
+                   codes in the range 128-159 as is.
 
 
 </PRE><H2><a name="h2-RETURN-VALUE">RETURN VALUE</a></H2><PRE>
-       If  the  screen  has  not  been  initialized, or the <EM>level</EM>
-       parameter is out of range, the function returns <STRONG>ERR</STRONG>.  Oth-
-       erwise, it returns the previous level: <STRONG>0</STRONG>, <STRONG>1</STRONG> or <STRONG>2</STRONG>.
+       If  the  screen has not been initialized, or the <EM>level</EM> parameter is out
+       of range, the function returns <STRONG>ERR</STRONG>.  Otherwise, it returns the previous
+       level: <STRONG>0</STRONG>, <STRONG>1</STRONG> or <STRONG>2</STRONG>.
 
 
 </PRE><H2><a name="h2-PORTABILITY">PORTABILITY</a></H2><PRE>
-       This routine is specific to ncurses.  It was not supported
-       on Version 7, BSD or System V implementations.  It is rec-
-       ommended  that any code depending on ncurses extensions be
-       conditioned using NCURSES_VERSION.
+       This  routine  is specific to ncurses.  It was not supported on Version
+       7, BSD or System V implementations.  It is recommended  that  any  code
+       depending on ncurses extensions be conditioned using NCURSES_VERSION.
 
 
 </PRE><H2><a name="h2-SEE-ALSO">SEE ALSO</a></H2><PRE>
 
 
 
-                                                      <STRONG><A HREF="legacy_coding.3x.html">legacy_coding(3x)</A></STRONG>
+                                                             <STRONG><A HREF="legacy_coding.3x.html">legacy_coding(3x)</A></STRONG>
 </PRE>
 <div class="nav">
 <ul>
index 96ddacff6a3317969db5e0f2346d8877020f870f..c09e53373a0ad6947fa833b07146c02ed737aef1 100644 (file)
@@ -41,7 +41,7 @@
 <BODY>
 <H1 class="no-header">menu 3x</H1>
 <PRE>
-<STRONG><A HREF="menu.3x.html">menu(3x)</A></STRONG>                                                       <STRONG><A HREF="menu.3x.html">menu(3x)</A></STRONG>
+<STRONG><A HREF="menu.3x.html">menu(3x)</A></STRONG>                                                              <STRONG><A HREF="menu.3x.html">menu(3x)</A></STRONG>
 
 
 
 
 
 </PRE><H2><a name="h2-DESCRIPTION">DESCRIPTION</a></H2><PRE>
-       The  <STRONG>menu</STRONG> library provides terminal-independent facilities
-       for composing menu systems  on  character-cell  terminals.
-       The library includes: item routines, which create and mod-
-       ify menu items; and menu routines, which group items  into
-       menus, display menus on the screen, and handle interaction
-       with the user.
+       The <STRONG>menu</STRONG> library provides terminal-independent facilities for composing
+       menu systems on character-cell terminals.  The library  includes:  item
+       routines,  which create and modify menu items; and menu routines, which
+       group items into menus, display menus on the screen, and handle  inter-
+       action with the user.
 
-       The <STRONG>menu</STRONG> library uses the <STRONG>curses</STRONG> libraries, and  a  curses
-       initialization  routine  such  as  <STRONG>initscr</STRONG>  must be called
-       before using any of these  functions.   To  use  the  <STRONG>menu</STRONG>
-       library, link with the options <STRONG>-lmenu</STRONG> <STRONG>-lcurses</STRONG>.
+       The <STRONG>menu</STRONG> library uses the <STRONG>curses</STRONG> libraries, and a curses initialization
+       routine such as <STRONG>initscr</STRONG> must be called before using any of these  func-
+       tions.  To use the <STRONG>menu</STRONG> library, link with the options <STRONG>-lmenu</STRONG> <STRONG>-lcurses</STRONG>.
 
 
 </PRE><H3><a name="h3-Current-Default-Values-for-Item-Attributes">Current Default Values for Item Attributes</a></H3><PRE>
-       The  <STRONG>menu</STRONG>  library  maintains  a  default  value  for item
-       attributes.  You can get or set this  default  by  calling
-       the  appropriate  <STRONG>get_</STRONG>  or  <STRONG>set_</STRONG>  routine with a <STRONG>NULL</STRONG> item
-       pointer.  Changing  this  default  with  a  <STRONG>set_</STRONG>  function
-       affects  future  item  creations,  but does not change the
-       rendering of items already created.
+       The  <STRONG>menu</STRONG>  library  maintains a default value for item attributes.  You
+       can get or set this default by calling the  appropriate  <STRONG>get_</STRONG>  or  <STRONG>set_</STRONG>
+       routine  with  a  <STRONG>NULL</STRONG> item pointer.  Changing this default with a <STRONG>set_</STRONG>
+       function affects future item creations, but does not change the render-
+       ing of items already created.
 
 
 </PRE><H3><a name="h3-Routine-Name-Index">Routine Name Index</a></H3><PRE>
-       The following table lists each <STRONG>menu</STRONG> routine and  the  name
-       of the manual page on which it is described.
+       The  following table lists each <STRONG>menu</STRONG> routine and the name of the manual
+       page on which it is described.
 
        <STRONG>curses</STRONG> Routine Name    Manual Page Name
        --------------------------------------------
        menu_opts_on           <STRONG><A HREF="menu_opts.3x.html">menu_opts(3x)</A></STRONG>
        menu_pad               <STRONG><A HREF="menu_attributes.3x.html">menu_attributes(3x)</A></STRONG>
        menu_pattern           <STRONG><A HREF="menu_pattern.3x.html">menu_pattern(3x)</A></STRONG>
-
        menu_request_by_name   <STRONG><A HREF="menu_requestname.3x.html">menu_requestname(3x)</A></STRONG>
        menu_request_name      <STRONG><A HREF="menu_requestname.3x.html">menu_requestname(3x)</A></STRONG>
        menu_spacing           <STRONG><A HREF="menu_spacing.3x.html">menu_spacing(3x)</A></STRONG>
+
        menu_sub               <STRONG><A HREF="menu_win.3x.html">menu_win(3x)</A></STRONG>
        menu_term              <STRONG><A HREF="menu_hook.3x.html">menu_hook(3x)</A></STRONG>
        menu_userptr           <STRONG><A HREF="menu_userptr.3x.html">menu_userptr(3x)</A></STRONG>
 
 
 </PRE><H2><a name="h2-RETURN-VALUE">RETURN VALUE</a></H2><PRE>
-       Routines  that return pointers return <STRONG>NULL</STRONG> on error.  Rou-
-       tines that return an integer return one of  the  following
-       error codes:
+       Routines that return pointers return  <STRONG>NULL</STRONG>  on  error.   Routines  that
+       return an integer return one of the following error codes:
 
        <STRONG>E_OK</STRONG> The routine succeeded.
 
        <STRONG>E_BAD_ARGUMENT</STRONG>
-            Routine  detected  an incorrect or out-of-range argu-
-            ment.
+            Routine detected an incorrect or out-of-range argument.
 
        <STRONG>E_BAD_STATE</STRONG>
-            Routine was called from an initialization or termina-
-            tion function.
+            Routine was called from an initialization or termination function.
 
        <STRONG>E_NO_MATCH</STRONG>
             Character failed to match.
 
 
 </PRE><H2><a name="h2-NOTES">NOTES</a></H2><PRE>
-       The header file <STRONG>&lt;menu.h&gt;</STRONG> automatically includes the header
-       files <STRONG>&lt;curses.h&gt;</STRONG> and <STRONG>&lt;eti.h&gt;</STRONG>.
+       The  header  file  <STRONG>&lt;menu.h&gt;</STRONG>  automatically  includes  the  header files
+       <STRONG>&lt;curses.h&gt;</STRONG> and <STRONG>&lt;eti.h&gt;</STRONG>.
 
-       In your library list, libmenu.a  should  be  before  libn-
-       curses.a;  that is, you should say "-lmenu -lncurses", not
-       the other way around (which would give a  link-error  when
-       using static libraries).
+       In your library list, libmenu.a should be before libncurses.a; that is,
+       you  should  say  "-lmenu  -lncurses",  not the other way around (which
+       would give a link-error when using static libraries).
 
 
 </PRE><H2><a name="h2-PORTABILITY">PORTABILITY</a></H2><PRE>
-       These  routines  emulate  the System V menu library.  They
-       were not supported on Version 7 or BSD versions.
+       These routines emulate the System V menu library.  They were  not  sup-
+       ported on Version 7 or BSD versions.
 
 
 </PRE><H2><a name="h2-AUTHORS">AUTHORS</a></H2><PRE>
-       Juergen Pfeifer.  Manual pages and adaptation for  ncurses
-       by Eric S. Raymond.
+       Juergen  Pfeifer.   Manual  pages and adaptation for ncurses by Eric S.
+       Raymond.
 
 
 </PRE><H2><a name="h2-SEE-ALSO">SEE ALSO</a></H2><PRE>
-       <STRONG><A HREF="ncurses.3x.html">curses(3x)</A></STRONG> and related pages whose names begin "menu_" for
-       detailed descriptions of the entry points.
+       <STRONG><A HREF="ncurses.3x.html">curses(3x)</A></STRONG> and related pages whose names  begin  "menu_"  for  detailed
+       descriptions of the entry points.
 
-       This describes <STRONG>ncurses</STRONG> version 6.0 (patch 20170429).
+       This describes <STRONG>ncurses</STRONG> version 6.0 (patch 20170506).
 
 
 
-                                                               <STRONG><A HREF="menu.3x.html">menu(3x)</A></STRONG>
+                                                                      <STRONG><A HREF="menu.3x.html">menu(3x)</A></STRONG>
 </PRE>
 <div class="nav">
 <ul>
index a66efc0ea45954e08586fe32ef86da450baa7ffd..37f51917d154d0bcab3a0986d73a96e9f50c279e 100644 (file)
 <BODY>
 <H1 class="no-header">menu_attributes 3x</H1>
 <PRE>
-<STRONG><A HREF="menu_attributes.3x.html">menu_attributes(3x)</A></STRONG>                                 <STRONG><A HREF="menu_attributes.3x.html">menu_attributes(3x)</A></STRONG>
+<STRONG><A HREF="menu_attributes.3x.html">menu_attributes(3x)</A></STRONG>                                        <STRONG><A HREF="menu_attributes.3x.html">menu_attributes(3x)</A></STRONG>
 
 
 
 
 </PRE><H2><a name="h2-NAME">NAME</a></H2><PRE>
-       <STRONG>menu_back</STRONG>,  <STRONG>menu_fore</STRONG>, <STRONG>menu_grey</STRONG>, <STRONG>menu_pad</STRONG>, <STRONG>set_menu_back</STRONG>,
-       <STRONG>set_menu_fore</STRONG>, <STRONG>set_menu_grey</STRONG>,  <STRONG>set_menu_pad</STRONG>  -  color  and
-       attribute control for menus
+       <STRONG>menu_back</STRONG>,     <STRONG>menu_fore</STRONG>,     <STRONG>menu_grey</STRONG>,    <STRONG>menu_pad</STRONG>,    <STRONG>set_menu_back</STRONG>,
+       <STRONG>set_menu_fore</STRONG>, <STRONG>set_menu_grey</STRONG>, <STRONG>set_menu_pad</STRONG> - color and  attribute  con-
+       trol for menus
 
 
 </PRE><H2><a name="h2-SYNOPSIS">SYNOPSIS</a></H2><PRE>
 
 
 </PRE><H2><a name="h2-DESCRIPTION">DESCRIPTION</a></H2><PRE>
-       The  function  <STRONG>set_menu_fore</STRONG> sets the foreground attribute
-       of <EM>menu</EM>. This is the  highlight  used  for  selected  menu
-       items.   <STRONG>menu_fore</STRONG>  returns the foreground attribute.  The
-       default is <STRONG>A_REVERSE</STRONG>.
+       The  function <STRONG>set_menu_fore</STRONG> sets the foreground attribute of <EM>menu</EM>. This
+       is the highlight used for selected menu items.  <STRONG>menu_fore</STRONG>  returns  the
+       foreground attribute.  The default is <STRONG>A_REVERSE</STRONG>.
 
-       The function <STRONG>set_menu_back</STRONG> sets the  background  attribute
-       of  <EM>menu</EM>.  This  is the highlight used for selectable (but
-       not  currently  selected)  menu   items.    The   function
-       <STRONG>menu_back</STRONG>  returns  the background attribute.  The default
-       is <STRONG>A_NORMAL</STRONG>.
+       The  function <STRONG>set_menu_back</STRONG> sets the background attribute of <EM>menu</EM>. This
+       is the highlight used for selectable (but not currently selected)  menu
+       items.   The  function <STRONG>menu_back</STRONG> returns the background attribute.  The
+       default is <STRONG>A_NORMAL</STRONG>.
 
-       The function <STRONG>set_menu_grey</STRONG>  sets  the  grey  attribute  of
-       <EM>menu</EM>.  This  is  the highlight used for un-selectable menu
-       items in menus that permit more than one  selection.   The
-       function   <STRONG>menu_grey</STRONG>  returns  the  grey  attribute.   The
-       default is <STRONG>A_UNDERLINE</STRONG>.
+       The function <STRONG>set_menu_grey</STRONG> sets the grey attribute of <EM>menu</EM>. This is the
+       highlight  used  for un-selectable menu items in menus that permit more
+       than one selection.  The function <STRONG>menu_grey</STRONG> returns the grey attribute.
+       The default is <STRONG>A_UNDERLINE</STRONG>.
 
-       The function <STRONG>set_menu_pad</STRONG> sets the character used to  fill
-       the space between the name and description parts of a menu
-       item.  <STRONG>menu_pad</STRONG> returns the given  menu's  pad  character.
-       The default is a blank.
+       The  function  <STRONG>set_menu_pad</STRONG>  sets  the character used to fill the space
+       between the name and  description  parts  of  a  menu  item.   <STRONG>menu_pad</STRONG>
+       returns the given menu's pad character.  The default is a blank.
 
 
 </PRE><H2><a name="h2-RETURN-VALUE">RETURN VALUE</a></H2><PRE>
             System error occurred (see <STRONG>errno</STRONG>).
 
        <STRONG>E_BAD_ARGUMENT</STRONG>
-            Routine  detected  an incorrect or out-of-range argu-
-            ment.
+            Routine detected an incorrect or out-of-range argument.
 
 
 </PRE><H2><a name="h2-SEE-ALSO">SEE ALSO</a></H2><PRE>
-       <STRONG><A HREF="ncurses.3x.html">curses(3x)</A></STRONG> and related pages whose names begin "menu_" for
-       detailed descriptions of the entry points.
+       <STRONG><A HREF="ncurses.3x.html">curses(3x)</A></STRONG>  and  related  pages  whose names begin "menu_" for detailed
+       descriptions of the entry points.
 
 
 </PRE><H2><a name="h2-NOTES">NOTES</a></H2><PRE>
-       The header file <STRONG>&lt;menu.h&gt;</STRONG> automatically includes the header
-       file <STRONG>&lt;curses.h&gt;</STRONG>.
+       The  header  file  <STRONG>&lt;menu.h&gt;</STRONG>  automatically  includes  the  header  file
+       <STRONG>&lt;curses.h&gt;</STRONG>.
 
 
 </PRE><H2><a name="h2-PORTABILITY">PORTABILITY</a></H2><PRE>
-       These routines emulate the System V  menu  library.   They
-       were not supported on Version 7 or BSD versions.
+       These  routines  emulate the System V menu library.  They were not sup-
+       ported on Version 7 or BSD versions.
 
 
 </PRE><H2><a name="h2-AUTHORS">AUTHORS</a></H2><PRE>
-       Juergen  Pfeifer.   Manual  pages  and  adaptation for new
-       curses by Eric S. Raymond.
+       Juergen Pfeifer.  Manual pages and adaptation for new curses by Eric S.
+       Raymond.
 
 
 
-                                                    <STRONG><A HREF="menu_attributes.3x.html">menu_attributes(3x)</A></STRONG>
+                                                           <STRONG><A HREF="menu_attributes.3x.html">menu_attributes(3x)</A></STRONG>
 </PRE>
 <div class="nav">
 <ul>
index 6e2875fc5c4f803774be12b44efe53af51549049..fd05ea2cd02cddd5c98f173d6ed8f002ee991828 100644 (file)
@@ -41,7 +41,7 @@
 <BODY>
 <H1 class="no-header">menu_cursor 3x</H1>
 <PRE>
-<STRONG><A HREF="menu_cursor.3x.html">menu_cursor(3x)</A></STRONG>                                         <STRONG><A HREF="menu_cursor.3x.html">menu_cursor(3x)</A></STRONG>
+<STRONG><A HREF="menu_cursor.3x.html">menu_cursor(3x)</A></STRONG>                                                <STRONG><A HREF="menu_cursor.3x.html">menu_cursor(3x)</A></STRONG>
 
 
 
 
 
 </PRE><H2><a name="h2-DESCRIPTION">DESCRIPTION</a></H2><PRE>
-       The  function  <STRONG>pos_menu_cursor</STRONG>  restores the cursor to the
-       current position associated with the menu's selected item.
-       This  is  useful after <STRONG>curses</STRONG> routines have been called to
-       do screen-painting in response to a menu select.
+       The  function  <STRONG>pos_menu_cursor</STRONG> restores the cursor to the current posi-
+       tion associated with the menu's selected item.  This  is  useful  after
+       <STRONG>curses</STRONG> routines have been called to do screen-painting in response to a
+       menu select.
 
 
 </PRE><H2><a name="h2-RETURN-VALUE">RETURN VALUE</a></H2><PRE>
@@ -71,8 +71,7 @@
             System error occurred (see <STRONG>errno</STRONG>).
 
        <STRONG>E_BAD_ARGUMENT</STRONG>
-            Routine detected an incorrect or  out-of-range  argu-
-            ment.
+            Routine detected an incorrect or out-of-range argument.
 
        <STRONG>E_NOT_POSTED</STRONG>
             The menu has not been posted.
 
 
 </PRE><H2><a name="h2-NOTES">NOTES</a></H2><PRE>
-       The header file <STRONG>&lt;menu.h&gt;</STRONG> automatically includes the header
-       file <STRONG>&lt;curses.h&gt;</STRONG>.
+       The  header  file  <STRONG>&lt;menu.h&gt;</STRONG>  automatically  includes  the  header  file
+       <STRONG>&lt;curses.h&gt;</STRONG>.
 
 
 </PRE><H2><a name="h2-PORTABILITY">PORTABILITY</a></H2><PRE>
-       These routines emulate the System V  menu  library.   They
-       were not supported on Version 7 or BSD versions.
+       These  routines  emulate the System V menu library.  They were not sup-
+       ported on Version 7 or BSD versions.
 
 
 </PRE><H2><a name="h2-AUTHORS">AUTHORS</a></H2><PRE>
-       Juergen  Pfeifer.   Manual  pages  and  adaptation for new
-       curses by Eric S. Raymond.
+       Juergen Pfeifer.  Manual pages and adaptation for new curses by Eric S.
+       Raymond.
 
 
 
-                                                        <STRONG><A HREF="menu_cursor.3x.html">menu_cursor(3x)</A></STRONG>
+                                                               <STRONG><A HREF="menu_cursor.3x.html">menu_cursor(3x)</A></STRONG>
 </PRE>
 <div class="nav">
 <ul>
index 98b5de815740d314686cba0e722483ca7728952e..95ef082bc1c1a54d6d297c8ab1ccc0ec69c076c8 100644 (file)
@@ -40,7 +40,7 @@
 <BODY>
 <H1 class="no-header">menu_driver 3x</H1>
 <PRE>
-<STRONG><A HREF="menu_driver.3x.html">menu_driver(3x)</A></STRONG>                                         <STRONG><A HREF="menu_driver.3x.html">menu_driver(3x)</A></STRONG>
+<STRONG><A HREF="menu_driver.3x.html">menu_driver(3x)</A></STRONG>                                                <STRONG><A HREF="menu_driver.3x.html">menu_driver(3x)</A></STRONG>
 
 
 
 
 
 </PRE><H2><a name="h2-DESCRIPTION">DESCRIPTION</a></H2><PRE>
-       Once a menu has been posted (displayed), you should funnel
-       input events to it through <STRONG>menu_driver</STRONG>.  This routine  has
-       three major input cases:
+       Once a menu has been posted (displayed), you should funnel input events
+       to it through <STRONG>menu_driver</STRONG>.  This routine has three major input cases:
 
-       <STRONG>o</STRONG>   The  input  is  a form navigation request.  Navigation
-           request codes are constants defined in <STRONG>&lt;form.h&gt;</STRONG>, which
-           are   distinct  from  the  key-  and  character  codes
-           returned by <STRONG><A HREF="curs_getch.3x.html">wgetch(3x)</A></STRONG>.
+       <STRONG>o</STRONG>   The input is a form navigation request.  Navigation  request  codes
+           are constants defined in <STRONG>&lt;form.h&gt;</STRONG>, which are distinct from the key-
+           and character codes returned by <STRONG><A HREF="curs_getch.3x.html">wgetch(3x)</A></STRONG>.
 
-       <STRONG>o</STRONG>   The input is a printable character.  Printable charac-
-           ters  (which  must  be  positive,  less  than 256) are
-           checked according to the program's locale settings.
+       <STRONG>o</STRONG>   The input is a printable character.   Printable  characters  (which
+           must  be positive, less than 256) are checked according to the pro-
+           gram's locale settings.
 
-       <STRONG>o</STRONG>   The input is the KEY_MOUSE special key associated with
-           an mouse event.
+       <STRONG>o</STRONG>   The input is the KEY_MOUSE special key  associated  with  an  mouse
+           event.
 
        The menu driver requests are as follows:
 
             Clear the menu pattern buffer.
 
        REQ_BACK_PATTERN
-            Delete  the  previous character from the pattern buf-
-            fer.
+            Delete the previous character from the pattern buffer.
 
        REQ_NEXT_MATCH
             Move to the next item matching the pattern match.
        REQ_PREV_MATCH
             Move to the previous item matching the pattern match.
 
-       If the second argument is a printable character, the  code
-       appends  it  to the pattern buffer and attempts to move to
-       the next item matching the new pattern.  If  there  is  no
-       such match, <STRONG>menu_driver</STRONG> returns <STRONG>E_NO_MATCH</STRONG> and deletes the
-       appended character from the buffer.
+       If the second argument is a printable character, the code appends it to
+       the pattern buffer and attempts to move to the next item  matching  the
+       new pattern.  If there is no such match, <STRONG>menu_driver</STRONG> returns <STRONG>E_NO_MATCH</STRONG>
+       and deletes the appended character from the buffer.
 
-       If the second argument is one  of  the  above  pre-defined
-       requests, the corresponding action is performed.
+       If the second argument is one of the above  pre-defined  requests,  the
+       corresponding action is performed.
 
 
 </PRE><H3><a name="h3-MOUSE-HANDLING">MOUSE HANDLING</a></H3><PRE>
-       If  the  second argument is the KEY_MOUSE special key, the
-       associated mouse event is translated into one of the above
-       pre-defined  requests.   Currently only clicks in the user
-       window (e.g., inside the menu display area or the  decora-
-       tion window) are handled.
+       If  the  second  argument  is the KEY_MOUSE special key, the associated
+       mouse event is translated into one of the above  pre-defined  requests.
+       Currently only clicks in the user window (e.g., inside the menu display
+       area or the decoration window) are handled.
 
        If you click above the display region of the menu:
 
 
        <STRONG>o</STRONG>   a REQ_LAST_ITEM is generated for a triple-click.
 
-       If  you  click  at  an item inside the display area of the
-       menu:
+       If you click at an item inside the display area of the menu:
 
        <STRONG>o</STRONG>   the menu cursor is positioned to that item.
 
-       <STRONG>o</STRONG>   If you double-click an item a REQ_TOGGLE_ITEM is  gen-
-           erated and <STRONG>E_UNKNOWN_COMMAND</STRONG> is returned.  This return
-           value makes sense,  because  a  double  click  usually
-           means that an item-specific action should be returned.
-           It is exactly the purpose of this return value to sig-
-           nal  that  an  application  specific command should be
-           executed.
+       <STRONG>o</STRONG>   If you double-click an item  a  REQ_TOGGLE_ITEM  is  generated  and
+           <STRONG>E_UNKNOWN_COMMAND</STRONG>  is  returned.   This  return  value makes sense,
+           because a double click usually means that an  item-specific  action
+           should be returned.  It is exactly the purpose of this return value
+           to signal that an application specific command should be executed.
 
-       <STRONG>o</STRONG>   If a translation into a request was done,  <STRONG>menu_driver</STRONG>
-           returns the result of this request.
+       <STRONG>o</STRONG>   If a translation into a request was done, <STRONG>menu_driver</STRONG>  returns  the
+           result of this request.
 
-       If  you clicked outside the user window or the mouse event
-       could  not  be  translated  into   a   menu   request   an
-       <STRONG>E_REQUEST_DENIED</STRONG> is returned.
+       If  you clicked outside the user window or the mouse event could not be
+       translated into a menu request an <STRONG>E_REQUEST_DENIED</STRONG> is returned.
 
 
 </PRE><H3><a name="h3-APPLICATION-DEFINED-COMMANDS">APPLICATION-DEFINED COMMANDS</a></H3><PRE>
-       If the second argument is neither printable nor one of the
-       above pre-defined menu requests or  KEY_MOUSE,  the  drive
-       assumes  it is an application-specific command and returns
-       <STRONG>E_UNKNOWN_COMMAND</STRONG>.  Application-defined commands should be
-       defined  relative  to  <STRONG>MAX_COMMAND</STRONG>,  the  maximum value of
-       these pre-defined requests.
+       If the second argument is neither printable nor one of the  above  pre-
+       defined menu requests or KEY_MOUSE, the drive assumes it is an applica-
+       tion-specific  command  and  returns  <STRONG>E_UNKNOWN_COMMAND</STRONG>.   Application-
+       defined commands should be defined relative to <STRONG>MAX_COMMAND</STRONG>, the maximum
+       value of these pre-defined requests.
 
 
 </PRE><H2><a name="h2-RETURN-VALUE">RETURN VALUE</a></H2><PRE>
             System error occurred (see <STRONG>errno</STRONG>).
 
        <STRONG>E_BAD_ARGUMENT</STRONG>
-            Routine detected an incorrect or  out-of-range  argu-
-            ment.
+            Routine detected an incorrect or out-of-range argument.
 
        <STRONG>E_BAD_STATE</STRONG>
-            Routine was called from an initialization or termina-
-            tion function.
+            Routine was called from an initialization or termination function.
 
        <STRONG>E_NOT_POSTED</STRONG>
             The menu has not been posted.
 
 
 </PRE><H2><a name="h2-NOTES">NOTES</a></H2><PRE>
-       The header file <STRONG>&lt;menu.h&gt;</STRONG> automatically includes the header
-       files <STRONG>&lt;curses.h&gt;</STRONG>.
+       The header  file  <STRONG>&lt;menu.h&gt;</STRONG>  automatically  includes  the  header  files
+       <STRONG>&lt;curses.h&gt;</STRONG>.
 
 
 </PRE><H2><a name="h2-PORTABILITY">PORTABILITY</a></H2><PRE>
-       These  routines  emulate  the System V menu library.  They
-       were not supported on Version 7 or BSD versions. The  sup-
-       port for mouse events is ncurses specific.
+       These  routines  emulate the System V menu library.  They were not sup-
+       ported on Version 7 or BSD versions. The support for  mouse  events  is
+       ncurses specific.
 
 
 </PRE><H2><a name="h2-AUTHORS">AUTHORS</a></H2><PRE>
-       Juergen  Pfeifer.   Manual  pages  and  adaptation for new
-       curses by Eric S. Raymond.
+       Juergen Pfeifer.  Manual pages and adaptation for new curses by Eric S.
+       Raymond.
 
 
 
-                                                        <STRONG><A HREF="menu_driver.3x.html">menu_driver(3x)</A></STRONG>
+                                                               <STRONG><A HREF="menu_driver.3x.html">menu_driver(3x)</A></STRONG>
 </PRE>
 <div class="nav">
 <ul>
index 2f4533bf8e958f6760e4c9db451de49958f45be4..fccb25bcb7ab3a66b79a1d960a5f5270f22c1f3a 100644 (file)
@@ -41,7 +41,7 @@
 <BODY>
 <H1 class="no-header">menu_format 3x</H1>
 <PRE>
-<STRONG><A HREF="menu_format.3x.html">menu_format(3x)</A></STRONG>                                         <STRONG><A HREF="menu_format.3x.html">menu_format(3x)</A></STRONG>
+<STRONG><A HREF="menu_format.3x.html">menu_format(3x)</A></STRONG>                                                <STRONG><A HREF="menu_format.3x.html">menu_format(3x)</A></STRONG>
 
 
 
 
 
 </PRE><H2><a name="h2-DESCRIPTION">DESCRIPTION</a></H2><PRE>
-       The function <STRONG>set_menu_format</STRONG> sets the maximum display size
-       of the given menu.  If this size is too small  to  display
-       all  menu items, the menu will be made scrollable. If this
-       size is larger than the menus subwindow and the  subwindow
-       is  too  small  to  display all menu items, <STRONG>post_menu</STRONG> will
-       fail.
+       The function <STRONG>set_menu_format</STRONG> sets the maximum display size of the given
+       menu.  If this size is too small to display all menu  items,  the  menu
+       will  be made scrollable. If this size is larger than the menus subwin-
+       dow and the subwindow is too small to display all menu items, <STRONG>post_menu</STRONG>
+       will fail.
 
-       The  default  format  is  16  rows,  1  column.    Calling
-       <STRONG>set_menu_format</STRONG>  with a null menu pointer will change this
-       default.  A zero row or column argument to <STRONG>set_menu_format</STRONG>
-       is  interpreted  as  a  request  not to change the current
-       value.
+       The  default format is 16 rows, 1 column.  Calling <STRONG>set_menu_format</STRONG> with
+       a null menu pointer will change this default.  A  zero  row  or  column
+       argument  to  <STRONG>set_menu_format</STRONG> is interpreted as a request not to change
+       the current value.
 
-       The function <STRONG>menu_format</STRONG>  returns  the  maximum-size  con-
-       straints  for the given menu into the storage addressed by
-       <STRONG>rows</STRONG> and <STRONG>cols</STRONG>.
+       The function <STRONG>menu_format</STRONG> returns the maximum-size constraints  for  the
+       given menu into the storage addressed by <STRONG>rows</STRONG> and <STRONG>cols</STRONG>.
 
 
 </PRE><H2><a name="h2-RETURN-VALUE">RETURN VALUE</a></H2><PRE>
@@ -84,8 +81,7 @@
             System error occurred (see <STRONG>errno</STRONG>).
 
        <STRONG>E_BAD_ARGUMENT</STRONG>
-            Routine detected an incorrect or  out-of-range  argu-
-            ment.
+            Routine detected an incorrect or out-of-range argument.
 
        <STRONG>E_POSTED</STRONG>
             The menu is already posted.
 
 
 </PRE><H2><a name="h2-NOTES">NOTES</a></H2><PRE>
-       The header file <STRONG>&lt;menu.h&gt;</STRONG> automatically includes the header
-       file <STRONG>&lt;curses.h&gt;</STRONG>.
+       The  header  file  <STRONG>&lt;menu.h&gt;</STRONG>  automatically  includes  the  header  file
+       <STRONG>&lt;curses.h&gt;</STRONG>.
 
 
 </PRE><H2><a name="h2-PORTABILITY">PORTABILITY</a></H2><PRE>
-       These routines emulate the System V  menu  library.   They
-       were not supported on Version 7 or BSD versions.
+       These routines emulate the System V menu library.  They were  not  sup-
+       ported on Version 7 or BSD versions.
 
 
 </PRE><H2><a name="h2-AUTHORS">AUTHORS</a></H2><PRE>
-       Juergen  Pfeifer.   Manual  pages  and  adaptation for new
-       curses by Eric S. Raymond.
+       Juergen Pfeifer.  Manual pages and adaptation for new curses by Eric S.
+       Raymond.
 
 
 
-                                                        <STRONG><A HREF="menu_format.3x.html">menu_format(3x)</A></STRONG>
+                                                               <STRONG><A HREF="menu_format.3x.html">menu_format(3x)</A></STRONG>
 </PRE>
 <div class="nav">
 <ul>
index 941c410c8a357d20265e2b992f2e1f35038686c4..0f23a2bfab1cf4289c931b84b72fb4b7b5b8cebe 100644 (file)
 <BODY>
 <H1 class="no-header">menu_hook 3x</H1>
 <PRE>
-<STRONG><A HREF="menu_hook.3x.html">menu_hook(3x)</A></STRONG>                                             <STRONG><A HREF="menu_hook.3x.html">menu_hook(3x)</A></STRONG>
+<STRONG><A HREF="menu_hook.3x.html">menu_hook(3x)</A></STRONG>                                                    <STRONG><A HREF="menu_hook.3x.html">menu_hook(3x)</A></STRONG>
 
 
 
 
 </PRE><H2><a name="h2-NAME">NAME</a></H2><PRE>
-       <STRONG>menu_hook</STRONG> - set hooks for automatic invocation by applica-
-       tions
+       <STRONG>menu_hook</STRONG> - set hooks for automatic invocation by applications
 
 
 </PRE><H2><a name="h2-SYNOPSIS">SYNOPSIS</a></H2><PRE>
 
 
 </PRE><H2><a name="h2-DESCRIPTION">DESCRIPTION</a></H2><PRE>
-       These functions make it possible to set hook functions  to
-       be called at various points in the automatic processing of
-       input event codes by <STRONG>menu_driver</STRONG>.
+       These  functions make it possible to set hook functions to be called at
+       various points in the automatic processing  of  input  event  codes  by
+       <STRONG>menu_driver</STRONG>.
 
-       The function <STRONG>set_item_init</STRONG> sets a hook  to  be  called  at
-       menu-post  time  and  each  time the selected item changes
-       (after the change).  <STRONG>item_init</STRONG> returns  the  current  item
-       init hook, if any (<STRONG>NULL</STRONG> if there is no such hook).
+       The  function  <STRONG>set_item_init</STRONG> sets a hook to be called at menu-post time
+       and each time the selected item changes (after the change).   <STRONG>item_init</STRONG>
+       returns  the  current  item init hook, if any (<STRONG>NULL</STRONG> if there is no such
+       hook).
 
-       The  function  <STRONG>set_item_term</STRONG>  sets  a hook to be called at
-       menu-unpost time and each time the selected  item  changes
-       (before  the  change).  <STRONG>item_term</STRONG> returns the current item
-       term hook, if any (<STRONG>NULL</STRONG> if there is no such hook).
+       The function <STRONG>set_item_term</STRONG> sets a hook to be called at menu-unpost time
+       and each time the selected item changes (before the change).  <STRONG>item_term</STRONG>
+       returns the current item term hook, if any (<STRONG>NULL</STRONG> if there  is  no  such
+       hook).
 
-       The function <STRONG>set_menu_init</STRONG> sets a hook  to  be  called  at
-       menu-post  time  and  just  after  the top row on the menu
-       changes once it is posted.  <STRONG>menu_init</STRONG> returns the  current
-       menu init hook, if any (<STRONG>NULL</STRONG> if there is no such hook).
+       The  function  <STRONG>set_menu_init</STRONG> sets a hook to be called at menu-post time
+       and just after the top row on the  menu  changes  once  it  is  posted.
+       <STRONG>menu_init</STRONG>  returns the current menu init hook, if any (<STRONG>NULL</STRONG> if there is
+       no such hook).
 
-       The  function  <STRONG>set_menu_term</STRONG>  sets  a hook to be called at
-       menu-unpost time and just before the top row on  the  menu
-       changes  once it is posted.  <STRONG>menu_term</STRONG> returns the current
-       menu term hook, if any (<STRONG>NULL</STRONG> if there is no such hook).
+       The function <STRONG>set_menu_term</STRONG> sets a hook to be called at menu-unpost time
+       and  just  before  the  top  row on the menu changes once it is posted.
+       <STRONG>menu_term</STRONG> returns the current menu term hook, if any (<STRONG>NULL</STRONG> if there  is
+       no such hook).
 
 
 </PRE><H2><a name="h2-RETURN-VALUE">RETURN VALUE</a></H2><PRE>
-       Routines that return pointers return <STRONG>NULL</STRONG> on error.  Other
-       routines return one of the following:
+       Routines  that  return  pointers  return <STRONG>NULL</STRONG> on error.  Other routines
+       return one of the following:
 
        <STRONG>E_OK</STRONG> The routine succeeded.
 
 
 
 </PRE><H2><a name="h2-NOTES">NOTES</a></H2><PRE>
-       The header file <STRONG>&lt;menu.h&gt;</STRONG> automatically includes the header
-       file <STRONG>&lt;curses.h&gt;</STRONG>.
+       The  header  file  <STRONG>&lt;menu.h&gt;</STRONG>  automatically  includes  the  header  file
+       <STRONG>&lt;curses.h&gt;</STRONG>.
 
 
 </PRE><H2><a name="h2-PORTABILITY">PORTABILITY</a></H2><PRE>
-       These routines emulate the System V  menu  library.   They
-       were not supported on Version 7 or BSD versions.
+       These  routines  emulate the System V menu library.  They were not sup-
+       ported on Version 7 or BSD versions.
 
 
 </PRE><H2><a name="h2-AUTHORS">AUTHORS</a></H2><PRE>
-       Juergen  Pfeifer.   Manual  pages  and  adaptation for new
-       curses by Eric S. Raymond.
+       Juergen Pfeifer.  Manual pages and adaptation for new curses by Eric S.
+       Raymond.
 
 
 
-                                                          <STRONG><A HREF="menu_hook.3x.html">menu_hook(3x)</A></STRONG>
+                                                                 <STRONG><A HREF="menu_hook.3x.html">menu_hook(3x)</A></STRONG>
 </PRE>
 <div class="nav">
 <ul>
index b63442219ebda3a4d735b1cb6c048954ce4ff31c..60bcb827deda8202bec061750c0e6907e3f96454 100644 (file)
 <BODY>
 <H1 class="no-header">menu_items 3x</H1>
 <PRE>
-<STRONG><A HREF="menu_items.3x.html">menu_items(3x)</A></STRONG>                                           <STRONG><A HREF="menu_items.3x.html">menu_items(3x)</A></STRONG>
+<STRONG><A HREF="menu_items.3x.html">menu_items(3x)</A></STRONG>                                                  <STRONG><A HREF="menu_items.3x.html">menu_items(3x)</A></STRONG>
 
 
 
 
 </PRE><H2><a name="h2-NAME">NAME</a></H2><PRE>
-       <STRONG>set_menu_items</STRONG>,  <STRONG>menu_items</STRONG>,  <STRONG>item_count</STRONG>  - make and break
-       connections between items and menus
+       <STRONG>set_menu_items</STRONG>,  <STRONG>menu_items</STRONG>,  <STRONG>item_count</STRONG>  -  make and break connections
+       between items and menus
 
 
 </PRE><H2><a name="h2-SYNOPSIS">SYNOPSIS</a></H2><PRE>
 
 
 </PRE><H2><a name="h2-DESCRIPTION">DESCRIPTION</a></H2><PRE>
-       The function <STRONG>set_menu_items</STRONG> changes the item pointer array
-       of  the  given  <EM>menu</EM>.   The  array must be terminated by a
-       <STRONG>NULL</STRONG>.
+       The function <STRONG>set_menu_items</STRONG> changes the item pointer array of the given
+       <EM>menu</EM>.  The array must be terminated by a <STRONG>NULL</STRONG>.
 
-       The function <STRONG>menu_items</STRONG> returns  the  item  array  of  the
-       given menu.
+       The function <STRONG>menu_items</STRONG> returns the item array of the given menu.
 
-       The  function  <STRONG>item_count</STRONG>  returns  the  count of items in
-       <EM>menu</EM>.
+       The function <STRONG>item_count</STRONG> returns the count of items in <EM>menu</EM>.
 
 
 </PRE><H2><a name="h2-RETURN-VALUE">RETURN VALUE</a></H2><PRE>
-       The function <STRONG>menu_items</STRONG> returns a pointer  (which  may  be
-       <STRONG>NULL</STRONG>).  It does not set errno.
+       The function <STRONG>menu_items</STRONG> returns a pointer (which may be <STRONG>NULL</STRONG>).  It does
+       not set errno.
 
-       The  function  <STRONG>item_count</STRONG>  returns <STRONG>ERR</STRONG> (the general <STRONG>curses</STRONG>
-       error return value) if its <EM>menu</EM> parameter is <STRONG>NULL</STRONG>.
+       The function <STRONG>item_count</STRONG> returns <STRONG>ERR</STRONG> (the general  <STRONG>curses</STRONG>  error  return
+       value) if its <EM>menu</EM> parameter is <STRONG>NULL</STRONG>.
 
-       The function <STRONG>set_menu_items</STRONG> returns one of  the  following
-       codes on error:
+       The  function  <STRONG>set_menu_items</STRONG>  returns  one  of  the following codes on
+       error:
 
        <STRONG>E_OK</STRONG> The routine succeeded.
 
        <STRONG>E_BAD_ARGUMENT</STRONG>
-            Routine  detected  an incorrect or out-of-range argu-
-            ment.
+            Routine detected an incorrect or out-of-range argument.
 
        <STRONG>E_NOT_CONNECTED</STRONG>
             No items are connected to the menu.
 
 
 </PRE><H2><a name="h2-NOTES">NOTES</a></H2><PRE>
-       The header file <STRONG>&lt;menu.h&gt;</STRONG> automatically includes the header
-       file <STRONG>&lt;curses.h&gt;</STRONG>.
+       The  header  file  <STRONG>&lt;menu.h&gt;</STRONG>  automatically  includes  the  header  file
+       <STRONG>&lt;curses.h&gt;</STRONG>.
 
 
 </PRE><H2><a name="h2-PORTABILITY">PORTABILITY</a></H2><PRE>
-       These  routines  emulate  the System V menu library.  They
-       were not supported on Version 7 or BSD versions.
+       These  routines  emulate the System V menu library.  They were not sup-
+       ported on Version 7 or BSD versions.
 
-       The  SVr4  menu  library   documentation   specifies   the
-       <STRONG>item_count</STRONG> error value as -1 (which is the value of <STRONG>ERR</STRONG>).
+       The SVr4 menu library  documentation  specifies  the  <STRONG>item_count</STRONG>  error
+       value as -1 (which is the value of <STRONG>ERR</STRONG>).
 
 
 </PRE><H2><a name="h2-AUTHORS">AUTHORS</a></H2><PRE>
-       Juergen  Pfeifer.   Manual  pages  and  adaptation for new
-       curses by Eric S. Raymond.
+       Juergen Pfeifer.  Manual pages and adaptation for new curses by Eric S.
+       Raymond.
 
 
 
-                                                         <STRONG><A HREF="menu_items.3x.html">menu_items(3x)</A></STRONG>
+                                                                <STRONG><A HREF="menu_items.3x.html">menu_items(3x)</A></STRONG>
 </PRE>
 <div class="nav">
 <ul>
index 48c0d680622ac4048ab6dabe2450498eae84a539..6654db9fcf030f9165544d7f79017d6c6745e896 100644 (file)
 <BODY>
 <H1 class="no-header">menu_mark 3x</H1>
 <PRE>
-<STRONG><A HREF="menu_mark.3x.html">menu_mark(3x)</A></STRONG>                                             <STRONG><A HREF="menu_mark.3x.html">menu_mark(3x)</A></STRONG>
+<STRONG><A HREF="menu_mark.3x.html">menu_mark(3x)</A></STRONG>                                                    <STRONG><A HREF="menu_mark.3x.html">menu_mark(3x)</A></STRONG>
 
 
 
 
 </PRE><H2><a name="h2-NAME">NAME</a></H2><PRE>
-       <STRONG>set_menu_mark</STRONG>,  <STRONG>menu_mark</STRONG>  -  get  and  set  the menu mark
-       string
+       <STRONG>set_menu_mark</STRONG>, <STRONG>menu_mark</STRONG> - get and set the menu mark string
 
 
 </PRE><H2><a name="h2-SYNOPSIS">SYNOPSIS</a></H2><PRE>
 
 
 </PRE><H2><a name="h2-DESCRIPTION">DESCRIPTION</a></H2><PRE>
-       In order to make menu selections visible on  older  termi-
-       nals  without  highlighting  or color capability, the menu
-       library marks selected items  in  a  menu  with  a  prefix
-       string.
+       In  order  to  make  menu selections visible on older terminals without
+       highlighting or color capability, the menu library marks selected items
+       in a menu with a prefix string.
 
-       The  function  <STRONG>set_menu_mark</STRONG>  sets the mark string for the
-       given menu.  Calling <STRONG>set_menu_mark</STRONG> with a null  menu  item
-       will  abolish  the  mark  string.   Note that changing the
-       length of the mark string for a menu  while  the  menu  is
-       posted is likely to produce unhelpful behavior.
+       The  function  <STRONG>set_menu_mark</STRONG>  sets  the mark string for the given menu.
+       Calling <STRONG>set_menu_mark</STRONG> with a null  menu  item  will  abolish  the  mark
+       string.   Note  that  changing the length of the mark string for a menu
+       while the menu is posted is likely to produce unhelpful behavior.
 
-       The  default string is "-" (a dash). Calling <STRONG>set_menu_mark</STRONG>
-       with a non-<STRONG>NULL</STRONG> menu argument will change this default.
+       The default string is "-" (a dash). Calling <STRONG>set_menu_mark</STRONG> with  a  non-
+       <STRONG>NULL</STRONG> menu argument will change this default.
 
-       The function <STRONG>menu_mark</STRONG> returns the menu's mark string  (or
-       <STRONG>NULL</STRONG> if there is none).
+       The function <STRONG>menu_mark</STRONG> returns the menu's mark string (or <STRONG>NULL</STRONG> if there
+       is none).
 
 
 </PRE><H2><a name="h2-RETURN-VALUE">RETURN VALUE</a></H2><PRE>
-       The  function  <STRONG>menu_mark</STRONG>  returns  a pointer (which may be
-       <STRONG>NULL</STRONG>).  It does not set errno.
+       The function <STRONG>menu_mark</STRONG> returns a pointer (which may be <STRONG>NULL</STRONG>).  It  does
+       not set errno.
 
-       The function <STRONG>set_menu_mark</STRONG> may return the following  error
-       codes:
+       The function <STRONG>set_menu_mark</STRONG> may return the following error codes:
 
        <STRONG>E_OK</STRONG> The routine succeeded.
 
        <STRONG>E_BAD_ARGUMENT</STRONG>
-            Routine  detected  an incorrect or out-of-range argu-
-            ment.
+            Routine detected an incorrect or out-of-range argument.
 
        <STRONG>E_SYSTEM_ERROR</STRONG>
             System error occurred (see <STRONG>errno</STRONG>).
 
 
 </PRE><H2><a name="h2-NOTES">NOTES</a></H2><PRE>
-       The header file <STRONG>&lt;menu.h&gt;</STRONG> automatically includes the header
-       file <STRONG>&lt;curses.h&gt;</STRONG>.
+       The  header  file  <STRONG>&lt;menu.h&gt;</STRONG>  automatically  includes  the  header  file
+       <STRONG>&lt;curses.h&gt;</STRONG>.
 
 
 </PRE><H2><a name="h2-PORTABILITY">PORTABILITY</a></H2><PRE>
-       These  routines  emulate  the System V menu library.  They
-       were not supported on Version 7 or BSD versions.
+       These routines emulate the System V menu library.  They were  not  sup-
+       ported on Version 7 or BSD versions.
 
 
 </PRE><H2><a name="h2-AUTHORS">AUTHORS</a></H2><PRE>
-       Juergen Pfeifer.  Manual  pages  and  adaptation  for  new
-       curses by Eric S. Raymond.
+       Juergen Pfeifer.  Manual pages and adaptation for new curses by Eric S.
+       Raymond.
 
 
 
-                                                          <STRONG><A HREF="menu_mark.3x.html">menu_mark(3x)</A></STRONG>
+                                                                 <STRONG><A HREF="menu_mark.3x.html">menu_mark(3x)</A></STRONG>
 </PRE>
 <div class="nav">
 <ul>
index 38ccc52b965972f7b9937cbec024074102850bb3..0d6e9fb4dc89b0d8391ca2f22182570275797b6b 100644 (file)
@@ -41,7 +41,7 @@
 <BODY>
 <H1 class="no-header">menu_new 3x</H1>
 <PRE>
-<STRONG><A HREF="menu_new.3x.html">menu_new(3x)</A></STRONG>                                               <STRONG><A HREF="menu_new.3x.html">menu_new(3x)</A></STRONG>
+<STRONG><A HREF="menu_new.3x.html">menu_new(3x)</A></STRONG>                                                      <STRONG><A HREF="menu_new.3x.html">menu_new(3x)</A></STRONG>
 
 
 
 
 
 </PRE><H2><a name="h2-DESCRIPTION">DESCRIPTION</a></H2><PRE>
-       The  function  <STRONG>new_menu</STRONG>  creates a new menu connected to a
-       specified item pointer array (which  must  be  <STRONG>NULL</STRONG>-termi-
-       nated).
+       The  function <STRONG>new_menu</STRONG> creates a new menu connected to a specified item
+       pointer array (which must be <STRONG>NULL</STRONG>-terminated).
 
-       The  function  <STRONG>free_menu</STRONG>  disconnects  <EM>menu</EM>  from its item
-       array and frees the storage allocated for the menu.
+       The function <STRONG>free_menu</STRONG> disconnects <EM>menu</EM> from its item array  and  frees
+       the storage allocated for the menu.
 
 
 </PRE><H2><a name="h2-RETURN-VALUE">RETURN VALUE</a></H2><PRE>
-       The function <STRONG>new_menu</STRONG> returns  <STRONG>NULL</STRONG>  on  error.   It  sets
-       errno according to the function's failure:
+       The  function  <STRONG>new_menu</STRONG> returns <STRONG>NULL</STRONG> on error.  It sets errno according
+       to the function's failure:
 
        <STRONG>E_NOT_CONNECTED</STRONG>
             No items are connected to the menu.
@@ -83,8 +82,7 @@
             System error occurred (see <STRONG>errno</STRONG>).
 
        <STRONG>E_BAD_ARGUMENT</STRONG>
-            Routine  detected  an incorrect or out-of-range argu-
-            ment.
+            Routine detected an incorrect or out-of-range argument.
 
        <STRONG>E_POSTED</STRONG>
             The menu has already been posted.
 
 
 </PRE><H2><a name="h2-NOTES">NOTES</a></H2><PRE>
-       The header file <STRONG>&lt;menu.h&gt;</STRONG> automatically includes the header
-       file <STRONG>&lt;curses.h&gt;</STRONG>.
+       The  header  file  <STRONG>&lt;menu.h&gt;</STRONG>  automatically  includes  the  header  file
+       <STRONG>&lt;curses.h&gt;</STRONG>.
 
 
 </PRE><H2><a name="h2-PORTABILITY">PORTABILITY</a></H2><PRE>
-       These  routines  emulate  the System V menu library.  They
-       were not supported on Version 7 or BSD versions.
+       These  routines  emulate the System V menu library.  They were not sup-
+       ported on Version 7 or BSD versions.
 
 
 </PRE><H2><a name="h2-AUTHORS">AUTHORS</a></H2><PRE>
-       Juergen Pfeifer.  Manual  pages  and  adaptation  for  new
-       curses by Eric S. Raymond.
+       Juergen Pfeifer.  Manual pages and adaptation for new curses by Eric S.
+       Raymond.
 
 
 
-                                                           <STRONG><A HREF="menu_new.3x.html">menu_new(3x)</A></STRONG>
+                                                                  <STRONG><A HREF="menu_new.3x.html">menu_new(3x)</A></STRONG>
 </PRE>
 <div class="nav">
 <ul>
index 091e223eb6bdc8cd900b03bb257a66ab569c6c89..278fa1bb996000787f4f05a37f19d30a88f5ddf3 100644 (file)
 <BODY>
 <H1 class="no-header">menu_opts 3x</H1>
 <PRE>
-<STRONG><A HREF="menu_opts.3x.html">menu_opts(3x)</A></STRONG>                                             <STRONG><A HREF="menu_opts.3x.html">menu_opts(3x)</A></STRONG>
+<STRONG><A HREF="menu_opts.3x.html">menu_opts(3x)</A></STRONG>                                                    <STRONG><A HREF="menu_opts.3x.html">menu_opts(3x)</A></STRONG>
 
 
 
 
 </PRE><H2><a name="h2-NAME">NAME</a></H2><PRE>
-       <STRONG>set_menu_opts</STRONG>,  <STRONG>menu_opts_on</STRONG>,  <STRONG>menu_opts_off</STRONG>,  <STRONG>menu_opts</STRONG> -
-       set and get menu options
+       <STRONG>set_menu_opts</STRONG>,  <STRONG>menu_opts_on</STRONG>,  <STRONG>menu_opts_off</STRONG>,  <STRONG>menu_opts</STRONG>  - set and get
+       menu options
 
 
 </PRE><H2><a name="h2-SYNOPSIS">SYNOPSIS</a></H2><PRE>
 
 
 </PRE><H2><a name="h2-DESCRIPTION">DESCRIPTION</a></H2><PRE>
-       The function  <STRONG>set_menu_opts</STRONG>  sets  all  the  given  menu's
-       option  bits  (menu  option  bits  may  be logically-OR'ed
-       together).
+       The function <STRONG>set_menu_opts</STRONG> sets all the given menu's option bits  (menu
+       option bits may be logically-OR'ed together).
 
-       The function <STRONG>menu_opts_on</STRONG> turns on the given option  bits,
-       and leaves others alone.
+       The  function  <STRONG>menu_opts_on</STRONG>  turns on the given option bits, and leaves
+       others alone.
 
-       The  function  <STRONG>menu_opts_off</STRONG>  turns  off  the given option
-       bits, and leaves others alone.
+       The function <STRONG>menu_opts_off</STRONG> turns off the given option bits, and  leaves
+       others alone.
 
-       The function <STRONG>menu_opts</STRONG> returns the menu's  current  option
-       bits.
+       The function <STRONG>menu_opts</STRONG> returns the menu's current option bits.
 
        The following options are defined (all are on by default):
 
@@ -79,8 +77,7 @@
             Only one item can be selected for this menu.
 
        O_SHOWDESC
-            Display  the  item  descriptions  when  the  menu  is
-            posted.
+            Display the item descriptions when the menu is posted.
 
        O_ROWMAJOR
             Display the menu in row-major order.
             Ignore the case when pattern-matching.
 
        O_SHOWMATCH
-            Move the cursor to within the item  name  while  pat-
-            tern-matching.
+            Move the cursor to within the item name while pattern-matching.
 
        O_NONCYCLIC
-            Don't   wrap   around  next-item  and  previous-item,
-            requests to the other end of the menu.
+            Don't  wrap  around  next-item  and previous-item, requests to the
+            other end of the menu.
 
        O_MOUSE_MENU
-            If user clicks with the mouse and it does not fall on
-            the  currently  active  menu,  push <STRONG>KEY_MOUSE</STRONG> and the
-            <STRONG>MEVENT</STRONG> data back on the queue to allow processing  in
-            another part of the calling program.
+            If user clicks with the mouse and it does not  fall  on  the  cur-
+            rently active menu, push <STRONG>KEY_MOUSE</STRONG> and the <STRONG>MEVENT</STRONG> data back on the
+            queue to allow processing in another part of the calling program.
 
 
 </PRE><H2><a name="h2-RETURN-VALUE">RETURN VALUE</a></H2><PRE>
-       Except for <STRONG>menu_opts</STRONG>, each routine returns one of the fol-
-       lowing:
+       Except for <STRONG>menu_opts</STRONG>, each routine returns one of the following:
 
        <STRONG>E_OK</STRONG> The routine succeeded.
 
 
 
 </PRE><H2><a name="h2-NOTES">NOTES</a></H2><PRE>
-       The header file <STRONG>&lt;menu.h&gt;</STRONG> automatically includes the header
-       file <STRONG>&lt;curses.h&gt;</STRONG>.
+       The  header  file  <STRONG>&lt;menu.h&gt;</STRONG>  automatically  includes  the  header  file
+       <STRONG>&lt;curses.h&gt;</STRONG>.
 
 
 </PRE><H2><a name="h2-PORTABILITY">PORTABILITY</a></H2><PRE>
-       These  routines  emulate  the System V menu library.  They
-       were not supported on Version 7 or BSD versions.
+       These  routines  emulate the System V menu library.  They were not sup-
+       ported on Version 7 or BSD versions.
 
 
 </PRE><H2><a name="h2-AUTHORS">AUTHORS</a></H2><PRE>
-       Juergen Pfeifer.  Manual  pages  and  adaptation  for  new
-       curses by Eric S. Raymond.
+       Juergen Pfeifer.  Manual pages and adaptation for new curses by Eric S.
+       Raymond.
 
 
 
-                                                          <STRONG><A HREF="menu_opts.3x.html">menu_opts(3x)</A></STRONG>
+                                                                 <STRONG><A HREF="menu_opts.3x.html">menu_opts(3x)</A></STRONG>
 </PRE>
 <div class="nav">
 <ul>
index bf7bf8f2af0285f81a6e8cb85fd36cb77d3a8f45..07ebc7cbe91934c1933185462208a6ae1f10c135 100644 (file)
 <BODY>
 <H1 class="no-header">menu_pattern 3x</H1>
 <PRE>
-<STRONG><A HREF="menu_pattern.3x.html">menu_pattern(3x)</A></STRONG>                                       <STRONG><A HREF="menu_pattern.3x.html">menu_pattern(3x)</A></STRONG>
+<STRONG><A HREF="menu_pattern.3x.html">menu_pattern(3x)</A></STRONG>                                              <STRONG><A HREF="menu_pattern.3x.html">menu_pattern(3x)</A></STRONG>
 
 
 
 
 </PRE><H2><a name="h2-NAME">NAME</a></H2><PRE>
-       <STRONG>set_menu_pattern</STRONG>, <STRONG>menu_pattern</STRONG> - set and get a menu's pat-
-       tern buffer
+       <STRONG>set_menu_pattern</STRONG>, <STRONG>menu_pattern</STRONG> - set and get a menu's pattern buffer
 
 
 </PRE><H2><a name="h2-SYNOPSIS">SYNOPSIS</a></H2><PRE>
 
 
 </PRE><H2><a name="h2-DESCRIPTION">DESCRIPTION</a></H2><PRE>
-       Every menu has an associated  pattern  match  buffer.   As
-       input  events  that are printable characters come in, they
-       are appended to this match buffer and tested for a  match,
-       as described in <STRONG><A HREF="menu_driver.3x.html">menu_driver(3x)</A></STRONG>.
+       Every  menu  has  an  associated pattern match buffer.  As input events
+       that are printable characters come in, they are appended to this  match
+       buffer and tested for a match, as described in <STRONG><A HREF="menu_driver.3x.html">menu_driver(3x)</A></STRONG>.
 
-       The  function <STRONG>set_menu_pattern</STRONG> sets the pattern buffer for
-       the given menu and tries to find the first matching  item.
-       If  it  succeeds,  that  item becomes current; if not, the
-       current item does not change.
+       The  function  <STRONG>set_menu_pattern</STRONG>  sets  the pattern buffer for the given
+       menu and tries to find the first matching item.  If it  succeeds,  that
+       item becomes current; if not, the current item does not change.
 
-       The function <STRONG>menu_pattern</STRONG> returns the  pattern  buffer  of
-       the given <EM>menu</EM>.
+       The function <STRONG>menu_pattern</STRONG> returns the pattern buffer of the given <EM>menu</EM>.
 
 
 </PRE><H2><a name="h2-RETURN-VALUE">RETURN VALUE</a></H2><PRE>
-       The function <STRONG>menu_pattern</STRONG> returns a pointer, which is <STRONG>NULL</STRONG>
-       if the <EM>menu</EM> parameter is <STRONG>NULL</STRONG>.  Otherwise, it is a pointer
-       to a string which is empty if no pattern has been set.  It
-       does not set errno.
+       The  function <STRONG>menu_pattern</STRONG> returns a pointer, which is <STRONG>NULL</STRONG> if the <EM>menu</EM>
+       parameter is <STRONG>NULL</STRONG>.  Otherwise, it is a pointer to  a  string  which  is
+       empty if no pattern has been set.  It does not set errno.
 
-       The function <STRONG>set_menu_pattern</STRONG>  may  return  the  following
-       error codes:
+       The function <STRONG>set_menu_pattern</STRONG> may return the following error codes:
 
        <STRONG>E_OK</STRONG> The routine succeeded.
 
        <STRONG>E_BAD_ARGUMENT</STRONG>
-            Routine  detected  an incorrect or out-of-range argu-
-            ment.
+            Routine detected an incorrect or out-of-range argument.
 
        <STRONG>E_BAD_STATE</STRONG>
-            Routine was called from an initialization or termina-
-            tion function.
+            Routine was called from an initialization or termination function.
 
        <STRONG>E_NOT_CONNECTED</STRONG>
             No items are connected to menu.
 
 
 </PRE><H2><a name="h2-NOTES">NOTES</a></H2><PRE>
-       The header file <STRONG>&lt;menu.h&gt;</STRONG> automatically includes the header
-       file <STRONG>&lt;curses.h&gt;</STRONG>.
+       The  header  file  <STRONG>&lt;menu.h&gt;</STRONG>  automatically  includes  the  header  file
+       <STRONG>&lt;curses.h&gt;</STRONG>.
 
 
 </PRE><H2><a name="h2-PORTABILITY">PORTABILITY</a></H2><PRE>
-       These routines emulate the System V  menu  library.   They
-       were not supported on Version 7 or BSD versions.
+       These routines emulate the System V menu library.  They were  not  sup-
+       ported on Version 7 or BSD versions.
 
 
 </PRE><H2><a name="h2-AUTHORS">AUTHORS</a></H2><PRE>
-       Juergen  Pfeifer.   Manual  pages  and  adaptation for new
-       curses by Eric S. Raymond.
+       Juergen Pfeifer.  Manual pages and adaptation for new curses by Eric S.
+       Raymond.
 
 
 
-                                                       <STRONG><A HREF="menu_pattern.3x.html">menu_pattern(3x)</A></STRONG>
+                                                              <STRONG><A HREF="menu_pattern.3x.html">menu_pattern(3x)</A></STRONG>
 </PRE>
 <div class="nav">
 <ul>
index 884473b36459ad9f0069ac1ef1ae6dcd369b1f9a..1bc68cf971a855ad3e0c760bce4e0258c786bb3e 100644 (file)
 <BODY>
 <H1 class="no-header">menu_post 3x</H1>
 <PRE>
-<STRONG><A HREF="menu_post.3x.html">menu_post(3x)</A></STRONG>                                             <STRONG><A HREF="menu_post.3x.html">menu_post(3x)</A></STRONG>
+<STRONG><A HREF="menu_post.3x.html">menu_post(3x)</A></STRONG>                                                    <STRONG><A HREF="menu_post.3x.html">menu_post(3x)</A></STRONG>
 
 
 
 
 </PRE><H2><a name="h2-NAME">NAME</a></H2><PRE>
-       <STRONG>post_menu</STRONG>, <STRONG>unpost_menu</STRONG> - write or erase menus from associ-
-       ated subwindows
+       <STRONG>post_menu</STRONG>,  <STRONG>unpost_menu</STRONG>  - write or erase menus from associated subwin-
+       dows
 
 
 </PRE><H2><a name="h2-SYNOPSIS">SYNOPSIS</a></H2><PRE>
 
 
 </PRE><H2><a name="h2-DESCRIPTION">DESCRIPTION</a></H2><PRE>
-       The function <STRONG>post_menu</STRONG> displays a menu to  its  associated
-       subwindow.   To trigger physical display of the subwindow,
-       use <STRONG><A HREF="curs_refresh.3x.html">refresh(3x)</A></STRONG> or some  equivalent  <STRONG>curses</STRONG>  routine  (the
-       implicit  <STRONG>doupdate</STRONG>  triggered  by  an <STRONG>curses</STRONG> input request
-       will do). <STRONG>post_menu</STRONG> resets the  selection  status  of  all
+       The function <STRONG>post_menu</STRONG> displays a menu to its associated subwindow.  To
+       trigger  physical  display  of  the  subwindow, use <STRONG><A HREF="curs_refresh.3x.html">refresh(3x)</A></STRONG> or some
+       equivalent <STRONG>curses</STRONG> routine (the implicit <STRONG>doupdate</STRONG> triggered by an <STRONG>curses</STRONG>
+       input  request  will  do). <STRONG>post_menu</STRONG> resets the selection status of all
        items.
 
-       The  function  <STRONG>unpost_menu</STRONG> erases menu from its associated
-       subwindow.
+       The function <STRONG>unpost_menu</STRONG> erases menu from its associated subwindow.
 
 
 </PRE><H2><a name="h2-RETURN-VALUE">RETURN VALUE</a></H2><PRE>
             System error occurred (see <STRONG>errno</STRONG>).
 
        <STRONG>E_BAD_ARGUMENT</STRONG>
-            Routine detected an incorrect or  out-of-range  argu-
-            ment.
+            Routine detected an incorrect or out-of-range argument.
 
        <STRONG>E_POSTED</STRONG>
             The menu has already been posted.
 
        <STRONG>E_BAD_STATE</STRONG>
-            Routine was called from an initialization or termina-
-            tion function.
+            Routine was called from an initialization or termination function.
 
        <STRONG>E_NO_ROOM</STRONG>
-            Menu is too large for its window.   You  should  con-
-            sider using <STRONG>set_menu_format</STRONG> to solve the problem.
+            Menu is too large for  its  window.   You  should  consider  using
+            <STRONG>set_menu_format</STRONG> to solve the problem.
 
        <STRONG>E_NOT_POSTED</STRONG>
             The menu has not been posted.
 
 
 </PRE><H2><a name="h2-NOTES">NOTES</a></H2><PRE>
-       The header file <STRONG>&lt;menu.h&gt;</STRONG> automatically includes the header
-       file <STRONG>&lt;curses.h&gt;</STRONG>.
+       The  header  file  <STRONG>&lt;menu.h&gt;</STRONG>  automatically  includes  the  header  file
+       <STRONG>&lt;curses.h&gt;</STRONG>.
 
 
 </PRE><H2><a name="h2-PORTABILITY">PORTABILITY</a></H2><PRE>
-       These routines emulate the System V  menu  library.   They
-       were not supported on Version 7 or BSD versions.
+       These routines emulate the System V menu library.  They were  not  sup-
+       ported on Version 7 or BSD versions.
 
 
 </PRE><H2><a name="h2-AUTHORS">AUTHORS</a></H2><PRE>
-       Juergen  Pfeifer.   Manual  pages  and  adaptation for new
-       curses by Eric S. Raymond.
+       Juergen Pfeifer.  Manual pages and adaptation for new curses by Eric S.
+       Raymond.
 
 
 
-                                                          <STRONG><A HREF="menu_post.3x.html">menu_post(3x)</A></STRONG>
+                                                                 <STRONG><A HREF="menu_post.3x.html">menu_post(3x)</A></STRONG>
 </PRE>
 <div class="nav">
 <ul>
index fb4ab3aba680b20a7bce3252a6638e3167c354a8..21f3a1e946521e74f9a795304a2869d5adc7bdab 100644 (file)
 <BODY>
 <H1 class="no-header">menu_requestname 3x</H1>
 <PRE>
-<STRONG><A HREF="menu_requestname.3x.html">menu_requestname(3x)</A></STRONG>                               <STRONG><A HREF="menu_requestname.3x.html">menu_requestname(3x)</A></STRONG>
+<STRONG><A HREF="menu_requestname.3x.html">menu_requestname(3x)</A></STRONG>                                      <STRONG><A HREF="menu_requestname.3x.html">menu_requestname(3x)</A></STRONG>
 
 
 
 
 </PRE><H2><a name="h2-NAME">NAME</a></H2><PRE>
-       <STRONG>menu_request_by_name</STRONG>, <STRONG>menu_request_name</STRONG> - handle printable
-       menu request names
+       <STRONG>menu_request_by_name</STRONG>, <STRONG>menu_request_name</STRONG> - handle printable menu request
+       names
 
 
 </PRE><H2><a name="h2-SYNOPSIS">SYNOPSIS</a></H2><PRE>
 
 
 </PRE><H2><a name="h2-DESCRIPTION">DESCRIPTION</a></H2><PRE>
-       The function <STRONG>menu_request_name</STRONG> returns the printable  name
-       of a menu request code.
-       The function <STRONG>menu_request_by_name</STRONG> searches in the name-ta-
-       ble for a request with the  given  name  and  returns  its
-       request code.  Otherwise E_NO_MATCH is returned.
+       The function <STRONG>menu_request_name</STRONG> returns the printable  name  of  a  menu
+       request code.
+       The  function  <STRONG>menu_request_by_name</STRONG>  searches  in  the name-table for a
+       request with the given name and returns its  request  code.   Otherwise
+       E_NO_MATCH is returned.
 
 
 </PRE><H2><a name="h2-RETURN-VALUE">RETURN VALUE</a></H2><PRE>
-       <STRONG>menu_request_name</STRONG>  returns <STRONG>NULL</STRONG> on error and sets errno to
-       <STRONG>E_BAD_ARGUMENT</STRONG>.
-       <STRONG>menu_request_by_name</STRONG> returns <STRONG>E_NO_MATCH</STRONG> on error.  It does
-       not set errno.
+       <STRONG>menu_request_name</STRONG>  returns  <STRONG>NULL</STRONG> on error and sets errno to <STRONG>E_BAD_ARGU-</STRONG>
+       <STRONG>MENT</STRONG>.
+       <STRONG>menu_request_by_name</STRONG> returns <STRONG>E_NO_MATCH</STRONG> on  error.   It  does  not  set
+       errno.
 
 
 </PRE><H2><a name="h2-SEE-ALSO">SEE ALSO</a></H2><PRE>
 
 
 </PRE><H2><a name="h2-NOTES">NOTES</a></H2><PRE>
-       The header file <STRONG>&lt;menu.h&gt;</STRONG> automatically includes the header
-       file <STRONG>&lt;curses.h&gt;</STRONG>.
+       The  header  file  <STRONG>&lt;menu.h&gt;</STRONG>  automatically  includes  the  header  file
+       <STRONG>&lt;curses.h&gt;</STRONG>.
 
 
 </PRE><H2><a name="h2-PORTABILITY">PORTABILITY</a></H2><PRE>
-       These routines are specific to  ncurses.   They  were  not
-       supported  on  Version 7, BSD or System V implementations.
-       It is recommended that any code depending on them be  con-
-       ditioned using NCURSES_VERSION.
+       These routines are specific to ncurses.  They  were  not  supported  on
+       Version 7, BSD or System V implementations.  It is recommended that any
+       code depending on them be conditioned using NCURSES_VERSION.
 
 
 </PRE><H2><a name="h2-AUTHORS">AUTHORS</a></H2><PRE>
-       Juergen  Pfeifer.   Manual  pages  and  adaptation for new
-       curses by Eric S. Raymond.
+       Juergen Pfeifer.  Manual pages and adaptation for new curses by Eric S.
+       Raymond.
 
 
 
-                                                   <STRONG><A HREF="menu_requestname.3x.html">menu_requestname(3x)</A></STRONG>
+                                                          <STRONG><A HREF="menu_requestname.3x.html">menu_requestname(3x)</A></STRONG>
 </PRE>
 <div class="nav">
 <ul>
index 6e127cd12b4ceb52ca2f08ecd54e7a2dd88302a7..4a85cc5de33c3a0724283b5d9d006700e8bc9c7d 100644 (file)
 <BODY>
 <H1 class="no-header">menu_spacing 3x</H1>
 <PRE>
-<STRONG><A HREF="menu_spacing.3x.html">menu_spacing(3x)</A></STRONG>                                       <STRONG><A HREF="menu_spacing.3x.html">menu_spacing(3x)</A></STRONG>
+<STRONG><A HREF="menu_spacing.3x.html">menu_spacing(3x)</A></STRONG>                                              <STRONG><A HREF="menu_spacing.3x.html">menu_spacing(3x)</A></STRONG>
 
 
 
 
 </PRE><H2><a name="h2-NAME">NAME</a></H2><PRE>
-       <STRONG>set_menu_spacing</STRONG>,  <STRONG>menu_spacing</STRONG>  -  set  and  get  spacing
-       between menu items.
+       <STRONG>set_menu_spacing</STRONG>,  <STRONG>menu_spacing</STRONG>  -  set  and  get  spacing between menu
+       items.
 
 
 </PRE><H2><a name="h2-SYNOPSIS">SYNOPSIS</a></H2><PRE>
 
 
 </PRE><H2><a name="h2-DESCRIPTION">DESCRIPTION</a></H2><PRE>
-       The function <STRONG>set_menu_spacing</STRONG> sets the spacing information
-       for  the menu.  Its parameter <STRONG>spc_description</STRONG> controls the
-       number of spaces between an item name and an item descrip-
-       tion.   It must not be larger than <STRONG>TABSIZE</STRONG>.  The menu sys-
-       tem puts in the middle of this spacing area the pad  char-
-       acter.   The  remaining parts are filled with spaces.  The
-       <STRONG>spc_rows</STRONG> parameter controls the number of  rows  that  are
-       used for an item.  It must not be larger than 3.  The menu
-       system inserts the blank lines between  item  rows,  these
-       lines  will  contain  the pad character in the appropriate
-       positions.  The <STRONG>spc_columns</STRONG> parameter controls the  number
-       of blanks between columns of items.  It must not be larger
-       than TABSIZE.  A value of 0 for  all  the  spacing  values
-       resets them to the default, which is 1 for all of them.
-       The function <STRONG>menu_spacing</STRONG> passes back the spacing info for
-       the menu.  If a pointer is NULL,  this  specific  info  is
-       simply not returned.
+       The function <STRONG>set_menu_spacing</STRONG> sets  the  spacing  information  for  the
+       menu.   Its  parameter  <STRONG>spc_description</STRONG>  controls  the number of spaces
+       between an item name and an item description.  It must  not  be  larger
+       than  <STRONG>TABSIZE</STRONG>.  The menu system puts in the middle of this spacing area
+       the pad character.  The remaining parts are filled  with  spaces.   The
+       <STRONG>spc_rows</STRONG>  parameter  controls  the  number of rows that are used for an
+       item.  It must not be larger than 3.  The menu system inserts the blank
+       lines  between item rows, these lines will contain the pad character in
+       the appropriate positions.  The <STRONG>spc_columns</STRONG> parameter controls the num-
+       ber  of  blanks  between  columns of items.  It must not be larger than
+       TABSIZE.  A value of 0 for all the spacing values resets  them  to  the
+       default, which is 1 for all of them.
+       The  function  <STRONG>menu_spacing</STRONG>  passes back the spacing info for the menu.
+       If a pointer is NULL, this specific info is simply not returned.
 
 
 </PRE><H2><a name="h2-RETURN-VALUE">RETURN VALUE</a></H2><PRE>
-       Both  routines  return  <STRONG>E_OK</STRONG> on success.  <STRONG>set_menu_spacing</STRONG>
-       may return <STRONG>E_POSTED</STRONG> if the menu is posted, or  <STRONG>E_BAD_ARGU-</STRONG>
-       <STRONG>MENT</STRONG> if one of the spacing values is out of range.
+       Both routines return <STRONG>E_OK</STRONG>  on  success.   <STRONG>set_menu_spacing</STRONG>  may  return
+       <STRONG>E_POSTED</STRONG> if the menu is posted, or <STRONG>E_BAD_ARGUMENT</STRONG> if one of the spacing
+       values is out of range.
 
 
 </PRE><H2><a name="h2-SEE-ALSO">SEE ALSO</a></H2><PRE>
 
 
 </PRE><H2><a name="h2-NOTES">NOTES</a></H2><PRE>
-       The header file <STRONG>&lt;menu.h&gt;</STRONG> automatically includes the header
-       file <STRONG>&lt;curses.h&gt;</STRONG>.
+       The  header  file  <STRONG>&lt;menu.h&gt;</STRONG>  automatically  includes  the  header  file
+       <STRONG>&lt;curses.h&gt;</STRONG>.
 
 
 </PRE><H2><a name="h2-PORTABILITY">PORTABILITY</a></H2><PRE>
-       These routines are specific to  ncurses.   They  were  not
-       supported  on  Version 7, BSD or System V implementations.
-       It is recommended that any code depending on them be  con-
-       ditioned using NCURSES_VERSION.
+       These  routines  are  specific  to ncurses.  They were not supported on
+       Version 7, BSD or System V implementations.  It is recommended that any
+       code depending on them be conditioned using NCURSES_VERSION.
 
 
 </PRE><H2><a name="h2-AUTHORS">AUTHORS</a></H2><PRE>
-       Juergen  Pfeifer.   Manual  pages  and  adaptation for new
-       curses by Eric S. Raymond.
+       Juergen Pfeifer.  Manual pages and adaptation for new curses by Eric S.
+       Raymond.
 
 
 
-                                                       <STRONG><A HREF="menu_spacing.3x.html">menu_spacing(3x)</A></STRONG>
+                                                              <STRONG><A HREF="menu_spacing.3x.html">menu_spacing(3x)</A></STRONG>
 </PRE>
 <div class="nav">
 <ul>
index 634e58aff17c4ebe253185dd53dc6f0daec67b80..df2dc1c5d40211e08a9dd744b33f81a6867b0849 100644 (file)
 <BODY>
 <H1 class="no-header">menu_userptr 3x</H1>
 <PRE>
-<STRONG><A HREF="menu_userptr.3x.html">menu_userptr(3x)</A></STRONG>                                       <STRONG><A HREF="menu_userptr.3x.html">menu_userptr(3x)</A></STRONG>
+<STRONG><A HREF="menu_userptr.3x.html">menu_userptr(3x)</A></STRONG>                                              <STRONG><A HREF="menu_userptr.3x.html">menu_userptr(3x)</A></STRONG>
 
 
 
 
 </PRE><H2><a name="h2-NAME">NAME</a></H2><PRE>
-       <STRONG>set_menu_userptr</STRONG>,  <STRONG>menu_userptr</STRONG>  -  associate  application
-       data with a menu item
+       <STRONG>set_menu_userptr</STRONG>, <STRONG>menu_userptr</STRONG> - associate application data with a menu
+       item
 
 
 </PRE><H2><a name="h2-SYNOPSIS">SYNOPSIS</a></H2><PRE>
 
 
 </PRE><H2><a name="h2-DESCRIPTION">DESCRIPTION</a></H2><PRE>
-       Every menu and every menu item has a  field  that  can  be
-       used to hold application-specific data (that is, the menu-
-       driver code leaves it alone).  These functions get and set
-       the menu user pointer field.
+       Every menu and every menu item has a field that can  be  used  to  hold
+       application-specific  data  (that  is,  the  menu-driver code leaves it
+       alone).  These functions get and set the menu user pointer field.
 
 
 </PRE><H2><a name="h2-RETURN-VALUE">RETURN VALUE</a></H2><PRE>
-       <STRONG>menu_userptr</STRONG>  returns  a  pointer (which may be <STRONG>NULL</STRONG>).  It
-       does not set errno.
+       <STRONG>menu_userptr</STRONG> returns a pointer (which may be <STRONG>NULL</STRONG>).  It  does  not  set
+       errno.
 
        <STRONG>set_menu_userptr</STRONG> returns <STRONG>E_OK</STRONG> (success).
 
 
 
 </PRE><H2><a name="h2-NOTES">NOTES</a></H2><PRE>
-       The header file <STRONG>&lt;menu.h&gt;</STRONG> automatically includes the header
-       file <STRONG>&lt;curses.h&gt;</STRONG>.
+       The  header  file  <STRONG>&lt;menu.h&gt;</STRONG>  automatically  includes  the  header  file
+       <STRONG>&lt;curses.h&gt;</STRONG>.
 
 
 </PRE><H2><a name="h2-PORTABILITY">PORTABILITY</a></H2><PRE>
-       These  routines  emulate  the System V menu library.  They
-       were not supported on Version 7 or BSD versions.
+       These routines emulate the System V menu library.  They were  not  sup-
+       ported on Version 7 or BSD versions.
 
-       The user pointer is a void pointer.  We chose not to leave
-       it as a char pointer for SVr4 compatibility.
+       The user pointer is a void pointer.  We chose not to leave it as a char
+       pointer for SVr4 compatibility.
 
 
 </PRE><H2><a name="h2-AUTHORS">AUTHORS</a></H2><PRE>
-       Juergen  Pfeifer.   Manual  pages  and  adaptation for new
-       curses by Eric S. Raymond.
+       Juergen Pfeifer.  Manual pages and adaptation for new curses by Eric S.
+       Raymond.
 
 
 
-                                                       <STRONG><A HREF="menu_userptr.3x.html">menu_userptr(3x)</A></STRONG>
+                                                              <STRONG><A HREF="menu_userptr.3x.html">menu_userptr(3x)</A></STRONG>
 </PRE>
 <div class="nav">
 <ul>
index 2c523b9ba5ca652eb71aaf807515111b5a08e415..2fd6e94bfc38375821bad5cfe89d1de65e556d43 100644 (file)
 <BODY>
 <H1 class="no-header">menu_win 3x</H1>
 <PRE>
-<STRONG><A HREF="menu_win.3x.html">menu_win(3x)</A></STRONG>                                               <STRONG><A HREF="menu_win.3x.html">menu_win(3x)</A></STRONG>
+<STRONG><A HREF="menu_win.3x.html">menu_win(3x)</A></STRONG>                                                      <STRONG><A HREF="menu_win.3x.html">menu_win(3x)</A></STRONG>
 
 
 
 
 </PRE><H2><a name="h2-NAME">NAME</a></H2><PRE>
-       <STRONG>menu_win</STRONG>  - make and break menu window and subwindow asso-
-       ciations
+       <STRONG>menu_win</STRONG> - make and break menu window and subwindow associations
 
 
 </PRE><H2><a name="h2-SYNOPSIS">SYNOPSIS</a></H2><PRE>
 
 
 </PRE><H2><a name="h2-DESCRIPTION">DESCRIPTION</a></H2><PRE>
-       Every menu has an associated pair of <STRONG>curses</STRONG> windows.   The
-       menu  window displays any title and border associated with
-       the window; the menu subwindow displays the items  of  the
-       menu that are currently available for selection.
+       Every  menu  has an associated pair of <STRONG>curses</STRONG> windows.  The menu window
+       displays any title and border associated with the window; the menu sub-
+       window  displays the items of the menu that are currently available for
+       selection.
 
-       The first four functions get and set those windows.  It is
-       not necessary to set either window; by default, the driver
-       code uses <STRONG>stdscr</STRONG> for both.
+       The first four functions get and set those windows.  It is  not  neces-
+       sary  to set either window; by default, the driver code uses <STRONG>stdscr</STRONG> for
+       both.
 
-       In  the <STRONG>set_</STRONG> functions, window argument of <STRONG>NULL</STRONG> is treated
-       as though it were <STRONG>stsdcr</STRONG>.  A  menu  argument  of  <STRONG>NULL</STRONG>  is
-       treated  as  a  request  to change the system default menu
-       window or subwindow.
+       In the <STRONG>set_</STRONG> functions, window argument of <STRONG>NULL</STRONG> is treated as though  it
+       were <STRONG>stsdcr</STRONG>.  A menu argument of <STRONG>NULL</STRONG> is treated as a request to change
+       the system default menu window or subwindow.
 
-       The function <STRONG>scale_menu</STRONG> returns the minimum size  required
-       for the subwindow of <EM>menu</EM>.
+       The function <STRONG>scale_menu</STRONG> returns the minimum size required for the  sub-
+       window of <EM>menu</EM>.
 
 
 </PRE><H2><a name="h2-RETURN-VALUE">RETURN VALUE</a></H2><PRE>
-       Routines  that return pointers return <STRONG>NULL</STRONG> on error.  Rou-
-       tines that return an integer return one of  the  following
-       error codes:
+       Routines  that  return  pointers  return  <STRONG>NULL</STRONG> on error.  Routines that
+       return an integer return one of the following error codes:
 
        <STRONG>E_OK</STRONG> The routine succeeded.
 
@@ -90,8 +87,7 @@
             System error occurred (see <STRONG>errno</STRONG>).
 
        <STRONG>E_BAD_ARGUMENT</STRONG>
-            Routine  detected  an incorrect or out-of-range argu-
-            ment.
+            Routine detected an incorrect or out-of-range argument.
 
        <STRONG>E_POSTED</STRONG>
             The menu has already been posted.
 
 
 </PRE><H2><a name="h2-NOTES">NOTES</a></H2><PRE>
-       The header file <STRONG>&lt;menu.h&gt;</STRONG> automatically includes the header
-       file <STRONG>&lt;curses.h&gt;</STRONG>.
+       The  header  file  <STRONG>&lt;menu.h&gt;</STRONG>  automatically  includes  the  header  file
+       <STRONG>&lt;curses.h&gt;</STRONG>.
 
 
 </PRE><H2><a name="h2-PORTABILITY">PORTABILITY</a></H2><PRE>
-       These  routines  emulate  the System V menu library.  They
-       were not supported on Version 7 or BSD versions.
+       These  routines  emulate the System V menu library.  They were not sup-
+       ported on Version 7 or BSD versions.
 
 
 </PRE><H2><a name="h2-AUTHORS">AUTHORS</a></H2><PRE>
-       Juergen Pfeifer.  Manual  pages  and  adaptation  for  new
-       curses by Eric S. Raymond.
+       Juergen Pfeifer.  Manual pages and adaptation for new curses by Eric S.
+       Raymond.
 
 
 
-                                                           <STRONG><A HREF="menu_win.3x.html">menu_win(3x)</A></STRONG>
+                                                                  <STRONG><A HREF="menu_win.3x.html">menu_win(3x)</A></STRONG>
 </PRE>
 <div class="nav">
 <ul>
index 66c68a5c9023ab601c562d8beec0d542ff6b817d..3c063cbd712395859320ef76a940cb5c57aa6dec 100644 (file)
@@ -41,7 +41,7 @@
 <BODY>
 <H1 class="no-header">mitem_current 3x</H1>
 <PRE>
-<STRONG><A HREF="mitem_current.3x.html">mitem_current(3x)</A></STRONG>                                     <STRONG><A HREF="mitem_current.3x.html">mitem_current(3x)</A></STRONG>
+<STRONG><A HREF="mitem_current.3x.html">mitem_current(3x)</A></STRONG>                                            <STRONG><A HREF="mitem_current.3x.html">mitem_current(3x)</A></STRONG>
 
 
 
 
 
 </PRE><H2><a name="h2-DESCRIPTION">DESCRIPTION</a></H2><PRE>
-       The  function  <STRONG>set_current_item</STRONG> sets the current item (the
-       item on  which  the  menu  cursor  is  positioned).   <STRONG>cur-</STRONG>
-       <STRONG>rent_item</STRONG>  returns  a  pointer  to the current item in the
-       given menu.
-
-       The function <STRONG>set_top_row</STRONG> sets the top row of the  menu  to
-       show  the  given  row  (the top row is initially 0, and is
-       reset to this value whenever the <STRONG>O_ROWMAJOR</STRONG> option is tog-
-       gled).   The  item  leftmost on the given row becomes cur-
-       rent.  The function <STRONG>top_row</STRONG> returns the number of the  top
+       The  function <STRONG>set_current_item</STRONG> sets the current item (the item on which
+       the menu cursor is positioned).  <STRONG>current_item</STRONG> returns a pointer to  the
+       current item in the given menu.
+
+       The function <STRONG>set_top_row</STRONG> sets the top row of the menu to show the given
+       row (the top row is initially 0, and is reset to  this  value  whenever
+       the  <STRONG>O_ROWMAJOR</STRONG> option is toggled).  The item leftmost on the given row
+       becomes current.  The function <STRONG>top_row</STRONG> returns the number  of  the  top
        menu row being displayed.
 
-       The function <STRONG>item_index</STRONG> returns the (zero-origin) index of
-       <EM>item</EM> in the menu's item pointer list.
+       The  function <STRONG>item_index</STRONG> returns the (zero-origin) index of <EM>item</EM> in the
+       menu's item pointer list.
 
 
 </PRE><H2><a name="h2-RETURN-VALUE">RETURN VALUE</a></H2><PRE>
-       <STRONG>current_item</STRONG> returns a pointer (which may  be  <STRONG>NULL</STRONG>).   It
-       does not set errno.
+       <STRONG>current_item</STRONG> returns a pointer (which may be <STRONG>NULL</STRONG>).  It  does  not  set
+       errno.
 
-       <STRONG>top_row</STRONG>  and  <STRONG>item_index</STRONG>  return  <STRONG>ERR</STRONG>  (the general <STRONG>curses</STRONG>
-       error value) if their <EM>menu</EM> parameter is <STRONG>NULL</STRONG>.
+       <STRONG>top_row</STRONG>  and  <STRONG>item_index</STRONG> return <STRONG>ERR</STRONG> (the general <STRONG>curses</STRONG> error value) if
+       their <EM>menu</EM> parameter is <STRONG>NULL</STRONG>.
 
-       <STRONG>set_current_item</STRONG> and <STRONG>set_top_row</STRONG> return one of the follow-
-       ing:
+       <STRONG>set_current_item</STRONG> and <STRONG>set_top_row</STRONG> return one of the following:
 
        <STRONG>E_OK</STRONG> The routine succeeded.
 
        <STRONG>E_BAD_ARGUMENT</STRONG>
-            Routine  detected  an incorrect or out-of-range argu-
-            ment.
+            Routine detected an incorrect or out-of-range argument.
 
        <STRONG>E_BAD_STATE</STRONG>
-            Routine was called from an initialization or termina-
-            tion function.
+            Routine was called from an initialization or termination function.
 
        <STRONG>E_NOT_CONNECTED</STRONG>
             No items are connected to the menu.
 
 
 </PRE><H2><a name="h2-NOTES">NOTES</a></H2><PRE>
-       The header file <STRONG>&lt;menu.h&gt;</STRONG> automatically includes the header
-       file <STRONG>&lt;curses.h&gt;</STRONG>.
+       The  header  file  <STRONG>&lt;menu.h&gt;</STRONG>  automatically  includes  the  header  file
+       <STRONG>&lt;curses.h&gt;</STRONG>.
 
 
 </PRE><H2><a name="h2-PORTABILITY">PORTABILITY</a></H2><PRE>
-       These routines emulate the System V  menu  library.   They
-       were not supported on Version 7 or BSD versions.
+       These  routines  emulate the System V menu library.  They were not sup-
+       ported on Version 7 or BSD versions.
 
-       The  SVr4 menu library documentation specifies the <STRONG>top_row</STRONG>
-       and <STRONG>index_item</STRONG> error value as -1 (which is  the  value  of
-       <STRONG>ERR</STRONG>).
+       The  SVr4  menu  library  documentation  specifies  the   <STRONG>top_row</STRONG>   and
+       <STRONG>index_item</STRONG> error value as -1 (which is the value of <STRONG>ERR</STRONG>).
 
 
 </PRE><H2><a name="h2-AUTHORS">AUTHORS</a></H2><PRE>
-       Juergen  Pfeifer.   Manual  pages  and  adaptation for new
-       curses by Eric S. Raymond.
+       Juergen Pfeifer.  Manual pages and adaptation for new curses by Eric S.
+       Raymond.
 
 
 
-                                                      <STRONG><A HREF="mitem_current.3x.html">mitem_current(3x)</A></STRONG>
+                                                             <STRONG><A HREF="mitem_current.3x.html">mitem_current(3x)</A></STRONG>
 </PRE>
 <div class="nav">
 <ul>
index 9d03d723b18496f857b05781b2f013da117b0527..470ee9b19c3c62dff3e3ead859f97764b672f69b 100644 (file)
 <BODY>
 <H1 class="no-header">mitem_name 3x</H1>
 <PRE>
-<STRONG><A HREF="mitem_name.3x.html">mitem_name(3x)</A></STRONG>                                           <STRONG><A HREF="mitem_name.3x.html">mitem_name(3x)</A></STRONG>
+<STRONG><A HREF="mitem_name.3x.html">mitem_name(3x)</A></STRONG>                                                  <STRONG><A HREF="mitem_name.3x.html">mitem_name(3x)</A></STRONG>
 
 
 
 
 </PRE><H2><a name="h2-NAME">NAME</a></H2><PRE>
-       <STRONG>item_name</STRONG>,  <STRONG>item_description</STRONG>  -  get  menu  item  name and
-       description fields
+       <STRONG>item_name</STRONG>, <STRONG>item_description</STRONG> - get menu item name and description fields
 
 
 </PRE><H2><a name="h2-SYNOPSIS">SYNOPSIS</a></H2><PRE>
 
 
 </PRE><H2><a name="h2-DESCRIPTION">DESCRIPTION</a></H2><PRE>
-       The function <STRONG>item_name</STRONG> returns the name part of the  given
+       The function <STRONG>item_name</STRONG> returns the name part of the given item.
+       The function <STRONG>item_description</STRONG> returns the description part of the given
        item.
-       The function <STRONG>item_description</STRONG> returns the description part
-       of the given item.
 
 
 </PRE><H2><a name="h2-RETURN-VALUE">RETURN VALUE</a></H2><PRE>
-       These routines return a pointer (which may be <STRONG>NULL</STRONG>).  They
-       do not set errno.
+       These routines return a pointer (which may be <STRONG>NULL</STRONG>).  They do  not  set
+       errno.
 
 
 </PRE><H2><a name="h2-SEE-ALSO">SEE ALSO</a></H2><PRE>
 
 
 </PRE><H2><a name="h2-NOTES">NOTES</a></H2><PRE>
-       The header file <STRONG>&lt;menu.h&gt;</STRONG> automatically includes the header
-       file <STRONG>&lt;curses.h&gt;</STRONG>.
+       The  header  file  <STRONG>&lt;menu.h&gt;</STRONG>  automatically  includes  the  header  file
+       <STRONG>&lt;curses.h&gt;</STRONG>.
 
 
 </PRE><H2><a name="h2-PORTABILITY">PORTABILITY</a></H2><PRE>
-       These routines emulate the System V  menu  library.   They
-       were not supported on Version 7 or BSD versions.
+       These routines emulate the System V menu library.  They were  not  sup-
+       ported on Version 7 or BSD versions.
 
 
 </PRE><H2><a name="h2-AUTHORS">AUTHORS</a></H2><PRE>
-       Juergen  Pfeifer.   Manual  pages  and  adaptation for new
-       curses by Eric S. Raymond.
+       Juergen Pfeifer.  Manual pages and adaptation for new curses by Eric S.
+       Raymond.
 
 
 
-                                                         <STRONG><A HREF="mitem_name.3x.html">mitem_name(3x)</A></STRONG>
+                                                                <STRONG><A HREF="mitem_name.3x.html">mitem_name(3x)</A></STRONG>
 </PRE>
 <div class="nav">
 <ul>
index 43da44904b749fa6e806a5fafe7286829ffb66d5..13c93da54b0413319be0015af9075c6a9a97f74a 100644 (file)
@@ -41,7 +41,7 @@
 <BODY>
 <H1 class="no-header">mitem_new 3x</H1>
 <PRE>
-<STRONG><A HREF="mitem_new.3x.html">mitem_new(3x)</A></STRONG>                                             <STRONG><A HREF="mitem_new.3x.html">mitem_new(3x)</A></STRONG>
+<STRONG><A HREF="mitem_new.3x.html">mitem_new(3x)</A></STRONG>                                                    <STRONG><A HREF="mitem_new.3x.html">mitem_new(3x)</A></STRONG>
 
 
 
 
 
 </PRE><H2><a name="h2-DESCRIPTION">DESCRIPTION</a></H2><PRE>
-       The function <STRONG>new_item</STRONG> allocates a new item and initializes
-       it from the <STRONG>name</STRONG> and <STRONG>description</STRONG> pointers.  Please  notice
-       that  the  item  stores  only the pointers to the name and
-       description. Those pointers must be valid during the life-
-       time of the item. So you should be very careful with names
-       or descriptions allocated on the stack of some routines.
-       The function <STRONG>free_item</STRONG> de-allocates an item. Please notice
-       that  it  is  the  responsibility  of  the  application to
-       release the memory for the name or the description of  the
-       item.
+       The  function <STRONG>new_item</STRONG> allocates a new item and initializes it from the
+       <STRONG>name</STRONG> and <STRONG>description</STRONG> pointers. Please notice that the item stores  only
+       the  pointers to the name and description. Those pointers must be valid
+       during the lifetime of the item. So you should  be  very  careful  with
+       names or descriptions allocated on the stack of some routines.
+       The  function  <STRONG>free_item</STRONG> de-allocates an item. Please notice that it is
+       the responsibility of the application to release  the  memory  for  the
+       name or the description of the item.
 
 
 </PRE><H2><a name="h2-RETURN-VALUE">RETURN VALUE</a></H2><PRE>
-       The  function  <STRONG>new_item</STRONG>  returns  <STRONG>NULL</STRONG>  on error.  It sets
-       errno according to the function's failure:
+       The  function  <STRONG>new_item</STRONG> returns <STRONG>NULL</STRONG> on error.  It sets errno according
+       to the function's failure:
 
        <STRONG>E_BAD_ARGUMENT</STRONG>
-            Routine detected an incorrect or  out-of-range  argu-
-            ment.
+            Routine detected an incorrect or out-of-range argument.
 
        <STRONG>E_SYSTEM_ERROR</STRONG>
             System error occurred, e.g., malloc failure.
@@ -85,8 +82,7 @@
        <STRONG>E_OK</STRONG> The routine succeeded.
 
        <STRONG>E_BAD_ARGUMENT</STRONG>
-            Routine  detected  an incorrect or out-of-range argu-
-            ment.
+            Routine detected an incorrect or out-of-range argument.
 
        <STRONG>E_CONNECTED</STRONG>
             Item is connected to a menu.
 
 
 </PRE><H2><a name="h2-NOTES">NOTES</a></H2><PRE>
-       The header file <STRONG>&lt;menu.h&gt;</STRONG> automatically includes the header
-       file <STRONG>&lt;curses.h&gt;</STRONG>.
+       The  header  file  <STRONG>&lt;menu.h&gt;</STRONG>  automatically  includes  the  header  file
+       <STRONG>&lt;curses.h&gt;</STRONG>.
 
 
 </PRE><H2><a name="h2-PORTABILITY">PORTABILITY</a></H2><PRE>
-       These  routines  emulate  the System V menu library.  They
-       were not supported on Version 7 or BSD versions.
+       These  routines  emulate the System V menu library.  They were not sup-
+       ported on Version 7 or BSD versions.
 
 
 </PRE><H2><a name="h2-AUTHORS">AUTHORS</a></H2><PRE>
-       Juergen Pfeifer.  Manual  pages  and  adaptation  for  new
-       curses by Eric S. Raymond.
+       Juergen Pfeifer.  Manual pages and adaptation for new curses by Eric S.
+       Raymond.
 
 
 
-                                                          <STRONG><A HREF="mitem_new.3x.html">mitem_new(3x)</A></STRONG>
+                                                                 <STRONG><A HREF="mitem_new.3x.html">mitem_new(3x)</A></STRONG>
 </PRE>
 <div class="nav">
 <ul>
index c0928067b4dc4683d93e88ae1993a0d8737d021d..e272814e3f80d2254d4c4285ef1d7511537be229 100644 (file)
 <BODY>
 <H1 class="no-header">mitem_opts 3x</H1>
 <PRE>
-<STRONG><A HREF="mitem_opts.3x.html">mitem_opts(3x)</A></STRONG>                                           <STRONG><A HREF="mitem_opts.3x.html">mitem_opts(3x)</A></STRONG>
+<STRONG><A HREF="mitem_opts.3x.html">mitem_opts(3x)</A></STRONG>                                                  <STRONG><A HREF="mitem_opts.3x.html">mitem_opts(3x)</A></STRONG>
 
 
 
 
 </PRE><H2><a name="h2-NAME">NAME</a></H2><PRE>
-       <STRONG>set_item_opts</STRONG>,  <STRONG>item_opts_on</STRONG>,  <STRONG>item_opts_off</STRONG>,  <STRONG>item_opts</STRONG> -
-       set and get menu item options
+       <STRONG>set_item_opts</STRONG>,  <STRONG>item_opts_on</STRONG>,  <STRONG>item_opts_off</STRONG>,  <STRONG>item_opts</STRONG>  - set and get
+       menu item options
 
 
 </PRE><H2><a name="h2-SYNOPSIS">SYNOPSIS</a></H2><PRE>
 
 
 </PRE><H2><a name="h2-DESCRIPTION">DESCRIPTION</a></H2><PRE>
-       The function  <STRONG>set_item_opts</STRONG>  sets  all  the  given  item's
-       option  bits  (menu  option  bits  may  be logically-OR'ed
-       together).
+       The function <STRONG>set_item_opts</STRONG> sets all the given item's option bits  (menu
+       option bits may be logically-OR'ed together).
 
-       The function <STRONG>item_opts_on</STRONG> turns on the given option  bits,
-       and leaves others alone.
+       The  function  <STRONG>item_opts_on</STRONG>  turns on the given option bits, and leaves
+       others alone.
 
-       The  function  <STRONG>item_opts_off</STRONG>  turns  off  the given option
-       bits, and leaves others alone.
+       The function <STRONG>item_opts_off</STRONG> turns off the given option bits, and  leaves
+       others alone.
 
-       The function <STRONG>item_opts</STRONG> returns the item's  current  option
-       bits.
+       The function <STRONG>item_opts</STRONG> returns the item's current option bits.
 
-       There  is  only one defined option bit mask, <STRONG>O_SELECTABLE</STRONG>.
-       When this is on, the item may be selected during menu pro-
-       cessing.  This option defaults to on.
+       There  is only one defined option bit mask, <STRONG>O_SELECTABLE</STRONG>.  When this is
+       on, the item may be  selected  during  menu  processing.   This  option
+       defaults to on.
 
 
 </PRE><H2><a name="h2-RETURN-VALUE">RETURN VALUE</a></H2><PRE>
-       Except for <STRONG>item_opts</STRONG>, each routine returns one of the fol-
-       lowing:
+       Except for <STRONG>item_opts</STRONG>, each routine returns one of the following:
 
        <STRONG>E_OK</STRONG> The routine succeeded.
 
 
 
 </PRE><H2><a name="h2-NOTES">NOTES</a></H2><PRE>
-       The header file <STRONG>&lt;menu.h&gt;</STRONG> automatically includes the header
-       file <STRONG>&lt;curses.h&gt;</STRONG>.
+       The  header  file  <STRONG>&lt;menu.h&gt;</STRONG>  automatically  includes  the  header  file
+       <STRONG>&lt;curses.h&gt;</STRONG>.
 
 
 </PRE><H2><a name="h2-PORTABILITY">PORTABILITY</a></H2><PRE>
-       These  routines  emulate  the System V menu library.  They
-       were not supported on Version 7 or BSD versions.
+       These routines emulate the System V menu library.  They were  not  sup-
+       ported on Version 7 or BSD versions.
 
 
 </PRE><H2><a name="h2-AUTHORS">AUTHORS</a></H2><PRE>
-       Juergen Pfeifer.  Manual  pages  and  adaptation  for  new
-       curses by Eric S. Raymond.
+       Juergen Pfeifer.  Manual pages and adaptation for new curses by Eric S.
+       Raymond.
 
 
 
-                                                         <STRONG><A HREF="mitem_opts.3x.html">mitem_opts(3x)</A></STRONG>
+                                                                <STRONG><A HREF="mitem_opts.3x.html">mitem_opts(3x)</A></STRONG>
 </PRE>
 <div class="nav">
 <ul>
index 78a21f25cddc40c7bab4a9b7753064fb3ce8a461..989b7bcef1d5ff75911b29ba66b1dd28ab3e6b34 100644 (file)
 <BODY>
 <H1 class="no-header">mitem_userptr 3x</H1>
 <PRE>
-<STRONG><A HREF="mitem_userptr.3x.html">mitem_userptr(3x)</A></STRONG>                                     <STRONG><A HREF="mitem_userptr.3x.html">mitem_userptr(3x)</A></STRONG>
+<STRONG><A HREF="mitem_userptr.3x.html">mitem_userptr(3x)</A></STRONG>                                            <STRONG><A HREF="mitem_userptr.3x.html">mitem_userptr(3x)</A></STRONG>
 
 
 
 
 </PRE><H2><a name="h2-NAME">NAME</a></H2><PRE>
-       <STRONG>set_item_userptr</STRONG>,  <STRONG>item_userptr</STRONG>  -  associate  application
-       data with a menu item
+       <STRONG>set_item_userptr</STRONG>, <STRONG>item_userptr</STRONG> - associate application data with a menu
+       item
 
 
 </PRE><H2><a name="h2-SYNOPSIS">SYNOPSIS</a></H2><PRE>
 
 
 </PRE><H2><a name="h2-DESCRIPTION">DESCRIPTION</a></H2><PRE>
-       Every menu item has a field  that  can  be  used  to  hold
-       application-specific  data  (that is, the menu-driver code
-       leaves it alone).  These functions get and set that field.
+       Every menu item has a field that can be used to  hold  application-spe-
+       cific  data  (that  is,  the  menu-driver code leaves it alone).  These
+       functions get and set that field.
 
 
 </PRE><H2><a name="h2-RETURN-VALUE">RETURN VALUE</a></H2><PRE>
-       The function  <STRONG>item_userptr</STRONG>  returns  a  pointer  (possibly
-       <STRONG>NULL</STRONG>).  It does not set errno.
+       The function <STRONG>item_userptr</STRONG> returns a pointer (possibly <STRONG>NULL</STRONG>).   It  does
+       not set errno.
 
        The <STRONG>set_item_userptr</STRONG> always returns <STRONG>E_OK</STRONG> (success).
 
 
 
 </PRE><H2><a name="h2-NOTES">NOTES</a></H2><PRE>
-       The header file <STRONG>&lt;menu.h&gt;</STRONG> automatically includes the header
-       file <STRONG>&lt;curses.h&gt;</STRONG>.
+       The  header  file  <STRONG>&lt;menu.h&gt;</STRONG>  automatically  includes  the  header  file
+       <STRONG>&lt;curses.h&gt;</STRONG>.
 
 
 </PRE><H2><a name="h2-PORTABILITY">PORTABILITY</a></H2><PRE>
-       These routines emulate the System V  menu  library.   They
-       were not supported on Version 7 or BSD versions.
+       These routines emulate the System V menu library.  They were  not  sup-
+       ported on Version 7 or BSD versions.
 
-       The user pointer is a void pointer.  We chose not to leave
-       it as a char pointer for SVr4 compatibility.
+       The user pointer is a void pointer.  We chose not to leave it as a char
+       pointer for SVr4 compatibility.
 
 
 </PRE><H2><a name="h2-AUTHORS">AUTHORS</a></H2><PRE>
-       Juergen Pfeifer.  Manual  pages  and  adaptation  for  new
-       curses by Eric S. Raymond.
+       Juergen Pfeifer.  Manual pages and adaptation for new curses by Eric S.
+       Raymond.
 
 
 
-                                                      <STRONG><A HREF="mitem_userptr.3x.html">mitem_userptr(3x)</A></STRONG>
+                                                             <STRONG><A HREF="mitem_userptr.3x.html">mitem_userptr(3x)</A></STRONG>
 </PRE>
 <div class="nav">
 <ul>
index a951522ca61db85380c07799573f6bf44f5280ca..04eccc04609959cd9477895b982fb37ade55941f 100644 (file)
@@ -40,7 +40,7 @@
 <BODY>
 <H1 class="no-header">mitem_value 3x</H1>
 <PRE>
-<STRONG><A HREF="mitem_value.3x.html">mitem_value(3x)</A></STRONG>                                         <STRONG><A HREF="mitem_value.3x.html">mitem_value(3x)</A></STRONG>
+<STRONG><A HREF="mitem_value.3x.html">mitem_value(3x)</A></STRONG>                                                <STRONG><A HREF="mitem_value.3x.html">mitem_value(3x)</A></STRONG>
 
 
 
 
 
 </PRE><H2><a name="h2-DESCRIPTION">DESCRIPTION</a></H2><PRE>
-       If  you  turn  off  the menu option <STRONG>O_ONEVALUE</STRONG> (e.g., with
-       <STRONG>set_menu_opts</STRONG> or <STRONG>menu_opts_off</STRONG>;  see  <STRONG><A HREF="menu_opts.3x.html">menu_opts(3x)</A></STRONG>),  the
-       menu becomes multi-valued; that is, more than one item may
-       simultaneously be selected.
+       If you turn off the menu option <STRONG>O_ONEVALUE</STRONG> (e.g., with <STRONG>set_menu_opts</STRONG> or
+       <STRONG>menu_opts_off</STRONG>; see <STRONG><A HREF="menu_opts.3x.html">menu_opts(3x)</A></STRONG>), the menu becomes multi-valued;  that
+       is, more than one item may simultaneously be selected.
 
-       In a multi_valued menu, you  can  used  <STRONG>set_item_value</STRONG>  to
-       select the given menu item (second argument <STRONG>TRUE</STRONG>) or dese-
-       lect it (second argument <STRONG>FALSE</STRONG>).
+       In a multi_valued menu, you can used <STRONG>set_item_value</STRONG> to select the given
+       menu item (second  argument  <STRONG>TRUE</STRONG>)  or  deselect  it  (second  argument
+       <STRONG>FALSE</STRONG>).
 
 
 </PRE><H2><a name="h2-RETURN-VALUE">RETURN VALUE</a></H2><PRE>
 
 
 </PRE><H2><a name="h2-NOTES">NOTES</a></H2><PRE>
-       The header file <STRONG>&lt;menu.h&gt;</STRONG> automatically includes the header
-       file <STRONG>&lt;curses.h&gt;</STRONG>.
+       The  header  file  <STRONG>&lt;menu.h&gt;</STRONG>  automatically  includes  the  header  file
+       <STRONG>&lt;curses.h&gt;</STRONG>.
 
 
 </PRE><H2><a name="h2-PORTABILITY">PORTABILITY</a></H2><PRE>
-       These  routines  emulate  the System V menu library.  They
-       were not supported on Version 7 or BSD versions.
+       These routines emulate the System V menu library.  They were  not  sup-
+       ported on Version 7 or BSD versions.
 
 
 </PRE><H2><a name="h2-AUTHORS">AUTHORS</a></H2><PRE>
-       Juergen Pfeifer.  Manual  pages  and  adaptation  for  new
-       curses by Eric S. Raymond.
+       Juergen Pfeifer.  Manual pages and adaptation for new curses by Eric S.
+       Raymond.
 
 
 
-                                                        <STRONG><A HREF="mitem_value.3x.html">mitem_value(3x)</A></STRONG>
+                                                               <STRONG><A HREF="mitem_value.3x.html">mitem_value(3x)</A></STRONG>
 </PRE>
 <div class="nav">
 <ul>
index 705c8bdac57cf3b3b4aec6850648d4500f9b8029..183273c4a8427554dac75a346eec48a613299ff4 100644 (file)
@@ -41,7 +41,7 @@
 <BODY>
 <H1 class="no-header">mitem_visible 3x</H1>
 <PRE>
-<STRONG><A HREF="mitem_visible.3x.html">mitem_visible(3x)</A></STRONG>                                     <STRONG><A HREF="mitem_visible.3x.html">mitem_visible(3x)</A></STRONG>
+<STRONG><A HREF="mitem_visible.3x.html">mitem_visible(3x)</A></STRONG>                                            <STRONG><A HREF="mitem_visible.3x.html">mitem_visible(3x)</A></STRONG>
 
 
 
 
 
 </PRE><H2><a name="h2-DESCRIPTION">DESCRIPTION</a></H2><PRE>
-       A  menu  item  is  visible  when it is in the portion of a
-       posted menu that is mapped onto the screen (if the menu is
-       scrollable,  in  particular,  this portion will be smaller
-       than the whole menu).
+       A  menu item is visible when it is in the portion of a posted menu that
+       is mapped onto the screen (if the menu is  scrollable,  in  particular,
+       this portion will be smaller than the whole menu).
 
 
 </PRE><H2><a name="h2-SEE-ALSO">SEE ALSO</a></H2><PRE>
 
 
 </PRE><H2><a name="h2-NOTES">NOTES</a></H2><PRE>
-       The header file <STRONG>&lt;menu.h&gt;</STRONG> automatically includes the header
-       file <STRONG>&lt;curses.h&gt;</STRONG>.
+       The  header  file  <STRONG>&lt;menu.h&gt;</STRONG>  automatically  includes  the  header  file
+       <STRONG>&lt;curses.h&gt;</STRONG>.
 
 
 </PRE><H2><a name="h2-PORTABILITY">PORTABILITY</a></H2><PRE>
-       These  routines  emulate  the System V menu library.  They
-       were not supported on Version 7 or BSD versions.
+       These routines emulate the System V menu library.  They were  not  sup-
+       ported on Version 7 or BSD versions.
 
 
 </PRE><H2><a name="h2-AUTHORS">AUTHORS</a></H2><PRE>
-       Juergen Pfeifer.  Manual  pages  and  adaptation  for  new
-       curses by Eric S. Raymond.
+       Juergen Pfeifer.  Manual pages and adaptation for new curses by Eric S.
+       Raymond.
 
 
 
-                                                      <STRONG><A HREF="mitem_visible.3x.html">mitem_visible(3x)</A></STRONG>
+                                                             <STRONG><A HREF="mitem_visible.3x.html">mitem_visible(3x)</A></STRONG>
 </PRE>
 <div class="nav">
 <ul>
index 4ba66546c9f8fac4d2d8112c9b6eb21247eee287..c4598bc3ff9f05f78d7cead803cb2bda35785a4c 100644 (file)
@@ -27,7 +27,7 @@
   * sale, use or other dealings in this Software without prior written       *
   * authorization.                                                           *
   ****************************************************************************
-  * @Id: ncurses.3x,v 1.131 2017/03/25 20:45:48 tom Exp @
+  * @Id: ncurses.3x,v 1.133 2017/05/06 14:32:49 tom Exp @
 -->
 <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN">
 <HTML>
@@ -41,7 +41,7 @@
 <BODY>
 <H1 class="no-header">ncurses 3x</H1>
 <PRE>
-<STRONG><A HREF="ncurses.3x.html">ncurses(3x)</A></STRONG>                                                 <STRONG><A HREF="ncurses.3x.html">ncurses(3x)</A></STRONG>
+<STRONG><A HREF="ncurses.3x.html">ncurses(3x)</A></STRONG>                                                        <STRONG><A HREF="ncurses.3x.html">ncurses(3x)</A></STRONG>
 
 
 
 
 
 </PRE><H2><a name="h2-DESCRIPTION">DESCRIPTION</a></H2><PRE>
-       The  <STRONG>ncurses</STRONG>  library  routines  give the user a terminal-
-       independent method of updating character screens with rea-
-       sonable optimization.  This implementation is "new curses"
-       (ncurses) and is the approved replacement for 4.4BSD clas-
-       sic  curses,  which has been discontinued.  This describes
-       <STRONG>ncurses</STRONG> version 6.0 (patch 20170429).
-
-       The <STRONG>ncurses</STRONG> library emulates the curses library of  System
-       V  Release  4  UNIX,  and  XPG4 (X/Open Portability Guide)
-       curses (also known as XSI curses).  XSI stands for  X/Open
-       System  Interfaces  Extension.   The  <STRONG>ncurses</STRONG>  library  is
-       freely redistributable in source form.   Differences  from
-       the  SVr4  curses  are summarized under the <STRONG>EXTENSIONS</STRONG> and
-       <STRONG>PORTABILITY</STRONG> sections below and described in detail in  the
-       respective  <STRONG>EXTENSIONS</STRONG>,  <STRONG>PORTABILITY</STRONG>  and <STRONG>BUGS</STRONG> sections of
-       individual man pages.
-
-       The <STRONG>ncurses</STRONG> library also provides many useful  extensions,
-       i.e.,  features  which  cannot  be implemented by a simple
-       add-on library but which require access to  the  internals
-       of the library.
-
-       A  program  using  these  routines must be linked with the
-       <STRONG>-lncurses</STRONG> option, or (if it has been generated)  with  the
-       debugging  library  <STRONG>-lncurses_g</STRONG>.   (Your system integrator
-       may also have installed these libraries  under  the  names
-       <STRONG>-lcurses</STRONG> and <STRONG>-lcurses_g</STRONG>.)  The ncurses_g library generates
-       trace logs (in a file called 'trace' in the current direc-
-       tory)  that describe curses actions.  See also the section
-       on <STRONG>ALTERNATE</STRONG> <STRONG>CONFIGURATIONS</STRONG>.
-
-       The <STRONG>ncurses</STRONG> package supports: overall screen,  window  and
-       pad manipulation; output to windows and pads; reading ter-
-       minal input; control over terminal and  <STRONG>curses</STRONG>  input  and
-       output  options; environment query routines; color manipu-
-       lation; use of soft label keys; terminfo capabilities; and
-       access to low-level terminal-manipulation routines.
+       The  <STRONG>ncurses</STRONG>  library  routines  give  the  user a terminal-independent
+       method of updating  character  screens  with  reasonable  optimization.
+       This  implementation  is  "new  curses"  (ncurses)  and is the approved
+       replacement for 4.4BSD classic curses,  which  has  been  discontinued.
+       This describes <STRONG>ncurses</STRONG> version 6.0 (patch 20170506).
+
+       The  <STRONG>ncurses</STRONG>  library emulates the curses library of System V Release 4
+       UNIX, and XPG4 (X/Open Portability Guide) curses  (also  known  as  XSI
+       curses).   XSI  stands  for  X/Open  System  Interfaces Extension.  The
+       <STRONG>ncurses</STRONG> library is freely redistributable in source form.   Differences
+       from  the SVr4 curses are summarized under the <STRONG>EXTENSIONS</STRONG> and <STRONG>PORTABIL-</STRONG>
+       <STRONG>ITY</STRONG> sections below and described in detail  in  the  respective  <STRONG>EXTEN-</STRONG>
+       <STRONG>SIONS</STRONG>, <STRONG>PORTABILITY</STRONG> and <STRONG>BUGS</STRONG> sections of individual man pages.
+
+       The  <STRONG>ncurses</STRONG>  library  also provides many useful extensions, i.e., fea-
+       tures which cannot be implemented by a simple add-on library but  which
+       require access to the internals of the library.
+
+       A  program  using  these  routines  must  be  linked with the <STRONG>-lncurses</STRONG>
+       option, or (if it  has  been  generated)  with  the  debugging  library
+       <STRONG>-lncurses_g</STRONG>.   (Your  system  integrator  may also have installed these
+       libraries under the names  <STRONG>-lcurses</STRONG>  and  <STRONG>-lcurses_g</STRONG>.)   The  ncurses_g
+       library  generates  trace logs (in a file called 'trace' in the current
+       directory) that describe curses  actions.   See  also  the  section  on
+       <STRONG>ALTERNATE</STRONG> <STRONG>CONFIGURATIONS</STRONG>.
+
+       The  <STRONG>ncurses</STRONG> package supports: overall screen, window and pad manipula-
+       tion; output to windows and pads; reading terminal input; control  over
+       terminal  and  <STRONG>curses</STRONG>  input and output options; environment query rou-
+       tines; color manipulation; use of soft label keys;  terminfo  capabili-
+       ties; and access to low-level terminal-manipulation routines.
 
 
 </PRE><H3><a name="h3-Initialization">Initialization</a></H3><PRE>
-       The  library uses the locale which the calling program has
-       initialized.  That is normally done with <STRONG>setlocale</STRONG>:
-
-               <STRONG>setlocale(LC_ALL,</STRONG> <STRONG>"");</STRONG>
-     If the locale is not initialized, the library  assumes  that
-     characters are printable as in ISO-8859-1, to work with cer-
-     tain legacy programs.  You should initialize the locale  and
-     not  rely on specific details of the library when the locale
-     has not been setup.
-
-       The function <STRONG>initscr</STRONG> or <STRONG>newterm</STRONG> must be called to initial-
-       ize the library before any of the other routines that deal
-       with windows and screens are used.  The routine <STRONG><A HREF="curs_initscr.3x.html">endwin(3x)</A></STRONG>
-       must be called before exiting.
-
-       To  get  character-at-a-time  input  without echoing (most
-       interactive, screen oriented programs want this), the fol-
-       lowing sequence should be used:
-
-               <STRONG>initscr();</STRONG> <STRONG>cbreak();</STRONG> <STRONG>noecho();</STRONG>
-     Most programs would additionally use the sequence:
-
-             <STRONG>nonl();</STRONG>
-             <STRONG>intrflush(stdscr,</STRONG> <STRONG>FALSE);</STRONG>
-             <STRONG>keypad(stdscr,</STRONG> <STRONG>TRUE);</STRONG>
-   Before  a <STRONG>curses</STRONG> program is run, the tab stops of the terminal
-   should be set and its initialization strings, if defined, must
-   be  output.   This can be done by executing the <STRONG>tput</STRONG> <STRONG>init</STRONG> com-
-   mand after  the  shell  environment  variable  <STRONG>TERM</STRONG>  has  been
-   exported.   <STRONG>tset(1)</STRONG>  is  usually  responsible  for doing this.
-   [See <STRONG><A HREF="terminfo.5.html">terminfo(5)</A></STRONG> for further details.]
+       The  library uses the locale which the calling program has initialized.
+       That is normally done with <STRONG>setlocale</STRONG>:
+
+         <STRONG>setlocale(LC_ALL,</STRONG> <STRONG>"");</STRONG>
+
+       If the locale is not initialized, the library assumes  that  characters
+       are  printable  as in ISO-8859-1, to work with certain legacy programs.
+       You should initialize the locale and not rely on  specific  details  of
+       the library when the locale has not been setup.
+
+       The  function  <STRONG>initscr</STRONG>  or  <STRONG>newterm</STRONG>  must  be  called to initialize the
+       library before any of the other routines that  deal  with  windows  and
+       screens  are  used.  The routine <STRONG><A HREF="curs_initscr.3x.html">endwin(3x)</A></STRONG> must be called before exit-
+       ing.
+
+       To get character-at-a-time input  without  echoing  (most  interactive,
+       screen  oriented  programs want this), the following sequence should be
+       used:
+
+         <STRONG>initscr();</STRONG> <STRONG>cbreak();</STRONG> <STRONG>noecho();</STRONG>
+
+       Most programs would additionally use the sequence:
+
+         <STRONG>nonl();</STRONG>
+         <STRONG>intrflush(stdscr,</STRONG> <STRONG>FALSE);</STRONG>
+         <STRONG>keypad(stdscr,</STRONG> <STRONG>TRUE);</STRONG>
+
+       Before a <STRONG>curses</STRONG> program is run, the tab stops of the terminal should be
+       set  and  its initialization strings, if defined, must be output.  This
+       can be done by executing the <STRONG>tput</STRONG> <STRONG>init</STRONG> command after the shell environ-
+       ment  variable  <STRONG>TERM</STRONG> has been exported.  <STRONG>tset(1)</STRONG> is usually responsible
+       for doing this.  [See <STRONG><A HREF="terminfo.5.html">terminfo(5)</A></STRONG> for further details.]
 
 
 </PRE><H3><a name="h3-Datatypes">Datatypes</a></H3><PRE>
-       The <STRONG>ncurses</STRONG> library permits manipulation  of  data  struc-
-       tures,  called  <EM>windows</EM>,  which  can be thought of as two-
-       dimensional arrays of characters representing all or  part
-       of a CRT screen.  A default window called <STRONG>stdscr</STRONG>, which is
-       the size of the terminal screen, is supplied.  Others  may
-       be created with <STRONG>newwin</STRONG>.
-
-       Note  that  <STRONG>curses</STRONG>  does  not  handle overlapping windows,
-       that's done by the <STRONG><A HREF="panel.3x.html">panel(3x)</A></STRONG> library.  This means that you
-       can either use <STRONG>stdscr</STRONG> or divide the screen into tiled win-
-       dows and not using <STRONG>stdscr</STRONG> at all.   Mixing  the  two  will
-       result in unpredictable, and undesired, effects.
-
-       Windows are referred to by variables declared as <STRONG>WINDOW</STRONG> <STRONG>*</STRONG>.
-       These  data  structures  are  manipulated  with   routines
-       described  here and elsewhere in the <STRONG>ncurses</STRONG> manual pages.
-       Among those, the most basic routines are <STRONG>move</STRONG>  and  <STRONG>addch</STRONG>.
-       More  general versions of these routines are included with
-       names beginning with <STRONG>w</STRONG>, allowing the  user  to  specify  a
-       window.  The routines not beginning with <STRONG>w</STRONG> affect <STRONG>stdscr</STRONG>.
-
-       After  using  routines to manipulate a window, <STRONG><A HREF="curs_refresh.3x.html">refresh(3x)</A></STRONG>
-       is called, telling <STRONG>curses</STRONG> to make the  user's  CRT  screen
-       look like <STRONG>stdscr</STRONG>.  The characters in a window are actually
-       of type <STRONG>chtype</STRONG>, (character and  attribute  data)  so  that
-       other  information  about the character may also be stored
-       with each character.
-
-       Special windows  called  <EM>pads</EM>  may  also  be  manipulated.
-       These are windows which are not constrained to the size of
-       the screen and whose contents need not be completely  dis-
-       played.  See <STRONG><A HREF="curs_pad.3x.html">curs_pad(3x)</A></STRONG> for more information.
-
-       In  addition  to  drawing  characters on the screen, video
-       attributes and colors may be supported, causing the  char-
-       acters  to show up in such modes as underlined, in reverse
-       video, or in color on terminals that support such  display
-       enhancements.  Line drawing characters may be specified to
-       be output.  On input, <STRONG>curses</STRONG> is  also  able  to  translate
-       arrow  and  function  keys  that transmit escape sequences
-       into single values.  The video  attributes,  line  drawing
-       characters,   and  input  values  use  names,  defined  in
-       <STRONG>&lt;curses.h&gt;</STRONG>, such as <STRONG>A_REVERSE</STRONG>, <STRONG>ACS_HLINE</STRONG>, and <STRONG>KEY_LEFT</STRONG>.
+       The <STRONG>ncurses</STRONG> library permits manipulation  of  data  structures,  called
+       <EM>windows</EM>,  which  can be thought of as two-dimensional arrays of charac-
+       ters representing all or part of a CRT screen.  A default window called
+       <STRONG>stdscr</STRONG>,  which is the size of the terminal screen, is supplied.  Others
+       may be created with <STRONG>newwin</STRONG>.
+
+       Note that <STRONG>curses</STRONG> does not handle overlapping windows,  that's  done  by
+       the  <STRONG><A HREF="panel.3x.html">panel(3x)</A></STRONG>  library.   This means that you can either use <STRONG>stdscr</STRONG> or
+       divide the screen into tiled windows and not using <STRONG>stdscr</STRONG> at all.  Mix-
+       ing the two will result in unpredictable, and undesired, effects.
+
+       Windows  are referred to by variables declared as <STRONG>WINDOW</STRONG> <STRONG>*</STRONG>.  These data
+       structures are manipulated with routines described here  and  elsewhere
+       in  the <STRONG>ncurses</STRONG> manual pages.  Among those, the most basic routines are
+       <STRONG>move</STRONG> and <STRONG>addch</STRONG>.  More general versions of these routines  are  included
+       with  names  beginning  with  <STRONG>w</STRONG>, allowing the user to specify a window.
+       The routines not beginning with <STRONG>w</STRONG> affect <STRONG>stdscr</STRONG>.
+
+       After using routines to manipulate a  window,  <STRONG><A HREF="curs_refresh.3x.html">refresh(3x)</A></STRONG>  is  called,
+       telling  <STRONG>curses</STRONG>  to  make  the user's CRT screen look like <STRONG>stdscr</STRONG>.  The
+       characters in a window are actually  of  type  <STRONG>chtype</STRONG>,  (character  and
+       attribute  data) so that other information about the character may also
+       be stored with each character.
+
+       Special windows called <EM>pads</EM> may also be manipulated.  These are windows
+       which  are not constrained to the size of the screen and whose contents
+       need not be completely displayed.  See <STRONG><A HREF="curs_pad.3x.html">curs_pad(3x)</A></STRONG> for  more  informa-
+       tion.
+
+       In  addition  to drawing characters on the screen, video attributes and
+       colors may be supported, causing the characters  to  show  up  in  such
+       modes  as  underlined,  in reverse video, or in color on terminals that
+       support such display enhancements.   Line  drawing  characters  may  be
+       specified  to  be  output.   On input, <STRONG>curses</STRONG> is also able to translate
+       arrow and function keys that transmit escape sequences into single val-
+       ues.   The  video attributes, line drawing characters, and input values
+       use names, defined in <STRONG>&lt;curses.h&gt;</STRONG>, such  as  <STRONG>A_REVERSE</STRONG>,  <STRONG>ACS_HLINE</STRONG>,  and
+       <STRONG>KEY_LEFT</STRONG>.
 
 
 </PRE><H3><a name="h3-Environment-variables">Environment variables</a></H3><PRE>
-       If the environment variables <STRONG>LINES</STRONG> and <STRONG>COLUMNS</STRONG> are set, or
-       if  the program is executing in a window environment, line
-       and column information in the  environment  will  override
-       information read by <EM>terminfo</EM>.  This would affect a program
-       running in an AT&amp;T 630 layer, for example, where the  size
-       of a screen is changeable (see <STRONG>ENVIRONMENT</STRONG>).
-
-       If  the environment variable <STRONG>TERMINFO</STRONG> is defined, any pro-
-       gram using <STRONG>curses</STRONG> checks for a local  terminal  definition
-       before  checking  in  the standard place.  For example, if
-       <STRONG>TERM</STRONG> is set to <STRONG>att4424</STRONG>, then the compiled terminal defini-
-       tion is found in
-
-               <STRONG>/usr/share/terminfo/a/att4424</STRONG>.
-     (The  <STRONG>a</STRONG>  is copied from the first letter of <STRONG>att4424</STRONG> to avoid
-     creation of huge directories.)  However, if <STRONG>TERMINFO</STRONG> is  set
-     to <STRONG>$HOME/myterms</STRONG>, <STRONG>curses</STRONG> first checks
-
-             <STRONG>$HOME/myterms/a/att4424</STRONG>,
-   and if that fails, it then checks
-
-           <STRONG>/usr/share/terminfo/a/att4424</STRONG>.
- This  is  useful for developing experimental definitions or when
- write permission in <STRONG>/usr/share/terminfo</STRONG> is not available.
-
-       The integer  variables  <STRONG>LINES</STRONG>  and  <STRONG>COLS</STRONG>  are  defined  in
-       <STRONG>&lt;curses.h&gt;</STRONG>  and will be filled in by <STRONG>initscr</STRONG> with the size
-       of the screen.  The constants <STRONG>TRUE</STRONG> and <STRONG>FALSE</STRONG> have the val-
-       ues <STRONG>1</STRONG> and <STRONG>0</STRONG>, respectively.
-
-       The  <STRONG>curses</STRONG>  routines  also  define  the <STRONG>WINDOW</STRONG> <STRONG>*</STRONG> variable
-       <STRONG>curscr</STRONG> which is used for certain low-level operations like
-       clearing  and  redrawing a screen containing garbage.  The
-       <STRONG>curscr</STRONG> can be used in only a few routines.
+       If  the environment variables <STRONG>LINES</STRONG> and <STRONG>COLUMNS</STRONG> are set, or if the pro-
+       gram is executing in a window environment, line and column  information
+       in  the  environment  will override information read by <EM>terminfo</EM>.  This
+       would affect a program running in an AT&amp;T 630 layer, for example, where
+       the size of a screen is changeable (see <STRONG>ENVIRONMENT</STRONG>).
+
+       If  the  environment  variable  <STRONG>TERMINFO</STRONG>  is defined, any program using
+       <STRONG>curses</STRONG> checks for a local terminal definition before  checking  in  the
+       standard  place.  For example, if <STRONG>TERM</STRONG> is set to <STRONG>att4424</STRONG>, then the com-
+       piled terminal definition is found in
+
+         <STRONG>/usr/share/terminfo/a/att4424</STRONG>.
+
+       (The <STRONG>a</STRONG> is copied from the first letter of <STRONG>att4424</STRONG> to avoid creation  of
+       huge  directories.)   However,  if  <STRONG>TERMINFO</STRONG>  is  set to <STRONG>$HOME/myterms</STRONG>,
+       <STRONG>curses</STRONG> first checks
+
+         <STRONG>$HOME/myterms/a/att4424</STRONG>,
+
+       and if that fails, it then checks
+
+         <STRONG>/usr/share/terminfo/a/att4424</STRONG>.
+
+       This is useful for developing experimental definitions  or  when  write
+       permission in <STRONG>/usr/share/terminfo</STRONG> is not available.
+
+       The integer variables <STRONG>LINES</STRONG> and <STRONG>COLS</STRONG> are defined in <STRONG>&lt;curses.h&gt;</STRONG> and will
+       be filled in by <STRONG>initscr</STRONG> with the size of  the  screen.   The  constants
+       <STRONG>TRUE</STRONG> and <STRONG>FALSE</STRONG> have the values <STRONG>1</STRONG> and <STRONG>0</STRONG>, respectively.
+
+       The  <STRONG>curses</STRONG>  routines also define the <STRONG>WINDOW</STRONG> <STRONG>*</STRONG> variable <STRONG>curscr</STRONG> which is
+       used for certain low-level operations like  clearing  and  redrawing  a
+       screen  containing  garbage.  The <STRONG>curscr</STRONG> can be used in only a few rou-
+       tines.
 
 
 </PRE><H3><a name="h3-Routine-and-Argument-Names">Routine and Argument Names</a></H3><PRE>
-       Many <STRONG>curses</STRONG> routines have two or more versions.  The  rou-
-       tines prefixed with <STRONG>w</STRONG> require a window argument.  The rou-
-       tines prefixed with <STRONG>p</STRONG> require a pad argument.  Those with-
-       out a prefix generally use <STRONG>stdscr</STRONG>.
-
-       The routines prefixed with <STRONG>mv</STRONG> require a <EM>y</EM> and <EM>x</EM> coordinate
-       to move to before performing the appropriate action.   The
-       <STRONG>mv</STRONG>  routines  imply  a call to <STRONG>move</STRONG> before the call to the
-       other routine.  The coordinate <EM>y</EM> always refers to the  row
-       (of  the  window), and <EM>x</EM> always refers to the column.  The
-       upper left-hand corner is always (0,0), not (1,1).
-
-       The routines prefixed with <STRONG>mvw</STRONG> take both a window argument
-       and  <EM>x</EM>  and  <EM>y</EM> coordinates.  The window argument is always
-       specified before the coordinates.
-
-       In each case, <EM>win</EM> is the window affected, and <EM>pad</EM>  is  the
-       pad affected; <EM>win</EM> and <EM>pad</EM> are always pointers to type <STRONG>WIN-</STRONG>
-       <STRONG>DOW</STRONG>.
-
-       Option setting routines require a Boolean flag <EM>bf</EM> with the
-       value  <STRONG>TRUE</STRONG>  or <STRONG>FALSE</STRONG>; <EM>bf</EM> is always of type <STRONG>bool</STRONG>.  Most of
-       the data types used in the library routines, such as  <STRONG>WIN-</STRONG>
-       <STRONG>DOW</STRONG>,  <STRONG>SCREEN</STRONG>,  <STRONG>bool</STRONG>, and <STRONG>chtype</STRONG> are defined in <STRONG>&lt;curses.h&gt;</STRONG>.
-       Types used for the terminfo routines such as <STRONG>TERMINAL</STRONG>  are
-       defined in <STRONG>&lt;term.h&gt;</STRONG>.
-
-       This  manual  page describes functions which may appear in
-       any configuration of the library.  There  are  two  common
-       configurations of the library:
+       Many <STRONG>curses</STRONG> routines have two or more versions.  The routines  prefixed
+       with <STRONG>w</STRONG> require a window argument.  The routines prefixed with <STRONG>p</STRONG> require
+       a pad argument.  Those without a prefix generally use <STRONG>stdscr</STRONG>.
+
+       The routines prefixed with <STRONG>mv</STRONG> require a <EM>y</EM> and <EM>x</EM> coordinate to  move  to
+       before performing the appropriate action.  The <STRONG>mv</STRONG> routines imply a call
+       to <STRONG>move</STRONG> before the call to the other routine.  The coordinate <EM>y</EM>  always
+       refers  to  the row (of the window), and <EM>x</EM> always refers to the column.
+       The upper left-hand corner is always (0,0), not (1,1).
+
+       The routines prefixed with <STRONG>mvw</STRONG> take both a window argument and <EM>x</EM> and  <EM>y</EM>
+       coordinates.   The window argument is always specified before the coor-
+       dinates.
+
+       In each case, <EM>win</EM> is the window affected, and <EM>pad</EM> is the pad  affected;
+       <EM>win</EM> and <EM>pad</EM> are always pointers to type <STRONG>WINDOW</STRONG>.
+
+       Option  setting  routines require a Boolean flag <EM>bf</EM> with the value <STRONG>TRUE</STRONG>
+       or <STRONG>FALSE</STRONG>; <EM>bf</EM> is always of type <STRONG>bool</STRONG>.  Most of the data  types  used  in
+       the  library  routines,  such  as  <STRONG>WINDOW</STRONG>, <STRONG>SCREEN</STRONG>, <STRONG>bool</STRONG>, and <STRONG>chtype</STRONG> are
+       defined in <STRONG>&lt;curses.h&gt;</STRONG>.  Types used for the terminfo  routines  such  as
+       <STRONG>TERMINAL</STRONG> are defined in <STRONG>&lt;term.h&gt;</STRONG>.
+
+       This manual page describes functions which may appear in any configura-
+       tion of the library.   There  are  two  common  configurations  of  the
+       library:
 
           <EM>ncurses</EM>
-               the  "normal" library, which handles 8-bit charac-
-               ters.  The normal (8-bit) library  stores  charac-
-               ters combined with attributes in <STRONG>chtype</STRONG> data.
+               the "normal" library, which handles 8-bit characters.  The nor-
+               mal (8-bit) library stores characters combined with  attributes
+               in <STRONG>chtype</STRONG> data.
 
-               Attributes  alone (no corresponding character) may
-               be stored in <STRONG>chtype</STRONG> or the equivalent <STRONG>attr_t</STRONG> data.
-               In  either  case,  the data is stored in something
-               like an integer.
+               Attributes  alone (no corresponding character) may be stored in
+               <STRONG>chtype</STRONG> or the equivalent <STRONG>attr_t</STRONG> data.  In either case, the data
+               is stored in something like an integer.
 
-               Each cell (row and column) in a <STRONG>WINDOW</STRONG>  is  stored
-               as a <STRONG>chtype</STRONG>.
+               Each cell (row and column) in a <STRONG>WINDOW</STRONG> is stored as a <STRONG>chtype</STRONG>.
 
           <EM>ncursesw</EM>
-               the so-called "wide" library, which handles multi-
-               byte characters (see the section on <STRONG>ALTERNATE</STRONG> <STRONG>CON-</STRONG>
-               <STRONG>FIGURATIONS</STRONG>).   The "wide" library includes all of
-               the calls from  the  "normal"  library.   It  adds
-               about  one third more calls using data types which
-               store multibyte characters:
+               the  so-called  "wide" library, which handles multibyte charac-
+               ters (see the section on <STRONG>ALTERNATE</STRONG> <STRONG>CONFIGURATIONS</STRONG>).  The "wide"
+               library  includes  all  of the calls from the "normal" library.
+               It adds about one third more calls using data types which store
+               multibyte characters:
 
                <STRONG>cchar_t</STRONG>
-                    corresponds  to  <STRONG>chtype</STRONG>.   However  it  is  a
-                    structure,  because  more data is stored than
-                    can fit into an integer.  The characters  are
-                    large  enough to require a full integer value
-                    - and there may be more  than  one  character
-                    per cell.  The video attributes and color are
-                    stored in separate fields of the structure.
+                    corresponds to <STRONG>chtype</STRONG>.  However it is a structure, because
+                    more data is stored than can fit  into  an  integer.   The
+                    characters  are  large  enough  to  require a full integer
+                    value - and there may be more than one character per cell.
+                    The  video  attributes  and  color  are stored in separate
+                    fields of the structure.
 
-                    Each cell (row and column)  in  a  <STRONG>WINDOW</STRONG>  is
-                    stored as a <STRONG>cchar_t</STRONG>.
+                    Each cell (row and column) in a  <STRONG>WINDOW</STRONG>  is  stored  as  a
+                    <STRONG>cchar_t</STRONG>.
 
                <STRONG>wchar_t</STRONG>
-                    stores a "wide" character.  Like <STRONG>chtype</STRONG>, this
-                    may be an integer.
+                    stores  a  "wide"  character.  Like <STRONG>chtype</STRONG>, this may be an
+                    integer.
 
                <STRONG>wint_t</STRONG>
-                    stores a <STRONG>wchar_t</STRONG> or  <STRONG>WEOF</STRONG>  -  not  the  same,
-                    though both may have the same size.
+                    stores a <STRONG>wchar_t</STRONG> or <STRONG>WEOF</STRONG> - not the same, though  both  may
+                    have the same size.
 
-               The  "wide"  library  provides new functions which
-               are  analogous  to  functions  in   the   "normal"
-               library.   There  is  a  naming  convention  which
-               relates many of the normal/wide variants:  a  "_w"
-               is  inserted  into  the name.  For example, <STRONG>waddch</STRONG>
-               becomes <STRONG>wadd_wch</STRONG>.
+               The  "wide"  library provides new functions which are analogous
+               to functions in the "normal" library.  There is a  naming  con-
+               vention  which relates many of the normal/wide variants: a "_w"
+               is  inserted  into  the  name.   For  example,  <STRONG>waddch</STRONG>  becomes
+               <STRONG>wadd_wch</STRONG>.
 
 
 </PRE><H3><a name="h3-Routine-Name-Index">Routine Name Index</a></H3><PRE>
-       The following table lists each <STRONG>curses</STRONG> routine and the name
-       of  the  manual  page  on which it is described.  Routines
-       flagged with "*" are ncurses-specific,  not  described  by
-       XPG4 or present in SVr4.
-
-              <STRONG>curses</STRONG> Routine Name      Manual Page Name
-              ---------------------------------------------
-              COLOR_PAIR               <STRONG><A HREF="curs_color.3x.html">curs_color(3x)</A></STRONG>
-              PAIR_NUMBER              <STRONG><A HREF="curs_attr.3x.html">curs_attr(3x)</A></STRONG>
-              _nc_free_and_exit        <STRONG><A HREF="curs_memleaks.3x.html">curs_memleaks(3x)</A></STRONG>*
-              _nc_freeall              <STRONG><A HREF="curs_memleaks.3x.html">curs_memleaks(3x)</A></STRONG>*
-              _nc_tracebits            <STRONG><A HREF="curs_trace.3x.html">curs_trace(3x)</A></STRONG>*
-              _traceattr               <STRONG><A HREF="curs_trace.3x.html">curs_trace(3x)</A></STRONG>*
-              _traceattr2              <STRONG><A HREF="curs_trace.3x.html">curs_trace(3x)</A></STRONG>*
-              _tracechar               <STRONG><A HREF="curs_trace.3x.html">curs_trace(3x)</A></STRONG>*
-              _tracechtype             <STRONG><A HREF="curs_trace.3x.html">curs_trace(3x)</A></STRONG>*
-              _tracechtype2            <STRONG><A HREF="curs_trace.3x.html">curs_trace(3x)</A></STRONG>*
-              _tracedump               <STRONG><A HREF="curs_trace.3x.html">curs_trace(3x)</A></STRONG>*
-              _tracef                  <STRONG><A HREF="curs_trace.3x.html">curs_trace(3x)</A></STRONG>*
-
-              _tracemouse              <STRONG><A HREF="curs_trace.3x.html">curs_trace(3x)</A></STRONG>*
-              add_wch                  <STRONG><A HREF="curs_add_wch.3x.html">curs_add_wch(3x)</A></STRONG>
-              add_wchnstr              <STRONG><A HREF="curs_add_wchstr.3x.html">curs_add_wchstr(3x)</A></STRONG>
-              add_wchstr               <STRONG><A HREF="curs_add_wchstr.3x.html">curs_add_wchstr(3x)</A></STRONG>
-              addch                    <STRONG><A HREF="curs_addch.3x.html">curs_addch(3x)</A></STRONG>
-              addchnstr                <STRONG><A HREF="curs_addchstr.3x.html">curs_addchstr(3x)</A></STRONG>
-              addchstr                 <STRONG><A HREF="curs_addchstr.3x.html">curs_addchstr(3x)</A></STRONG>
-              addnstr                  <STRONG><A HREF="curs_addstr.3x.html">curs_addstr(3x)</A></STRONG>
-              addnwstr                 <STRONG><A HREF="curs_addwstr.3x.html">curs_addwstr(3x)</A></STRONG>
-              addstr                   <STRONG><A HREF="curs_addstr.3x.html">curs_addstr(3x)</A></STRONG>
-              addwstr                  <STRONG><A HREF="curs_addwstr.3x.html">curs_addwstr(3x)</A></STRONG>
-              alloc_pair               <STRONG><A HREF="new_pair.3x.html">new_pair(3x)</A></STRONG>*
-              assume_default_colors    <STRONG><A HREF="default_colors.3x.html">default_colors(3x)</A></STRONG>*
-              attr_get                 <STRONG><A HREF="curs_attr.3x.html">curs_attr(3x)</A></STRONG>
-              attr_off                 <STRONG><A HREF="curs_attr.3x.html">curs_attr(3x)</A></STRONG>
-              attr_on                  <STRONG><A HREF="curs_attr.3x.html">curs_attr(3x)</A></STRONG>
-              attr_set                 <STRONG><A HREF="curs_attr.3x.html">curs_attr(3x)</A></STRONG>
-              attroff                  <STRONG><A HREF="curs_attr.3x.html">curs_attr(3x)</A></STRONG>
-              attron                   <STRONG><A HREF="curs_attr.3x.html">curs_attr(3x)</A></STRONG>
-              attrset                  <STRONG><A HREF="curs_attr.3x.html">curs_attr(3x)</A></STRONG>
-              baudrate                 <STRONG><A HREF="curs_termattrs.3x.html">curs_termattrs(3x)</A></STRONG>
-              beep                     <STRONG><A HREF="curs_beep.3x.html">curs_beep(3x)</A></STRONG>
-              bkgd                     <STRONG><A HREF="curs_bkgd.3x.html">curs_bkgd(3x)</A></STRONG>
-              bkgdset                  <STRONG><A HREF="curs_bkgd.3x.html">curs_bkgd(3x)</A></STRONG>
-              bkgrnd                   <STRONG><A HREF="curs_bkgrnd.3x.html">curs_bkgrnd(3x)</A></STRONG>
-              bkgrndset                <STRONG><A HREF="curs_bkgrnd.3x.html">curs_bkgrnd(3x)</A></STRONG>
-              border                   <STRONG><A HREF="curs_border.3x.html">curs_border(3x)</A></STRONG>
-              border_set               <STRONG><A HREF="curs_border_set.3x.html">curs_border_set(3x)</A></STRONG>
-              box                      <STRONG><A HREF="curs_border.3x.html">curs_border(3x)</A></STRONG>
-              box_set                  <STRONG><A HREF="curs_border_set.3x.html">curs_border_set(3x)</A></STRONG>
-              can_change_color         <STRONG><A HREF="curs_color.3x.html">curs_color(3x)</A></STRONG>
-              cbreak                   <STRONG><A HREF="curs_inopts.3x.html">curs_inopts(3x)</A></STRONG>
-              chgat                    <STRONG><A HREF="curs_attr.3x.html">curs_attr(3x)</A></STRONG>
-              clear                    <STRONG><A HREF="curs_clear.3x.html">curs_clear(3x)</A></STRONG>
-              clearok                  <STRONG><A HREF="curs_outopts.3x.html">curs_outopts(3x)</A></STRONG>
-              clrtobot                 <STRONG><A HREF="curs_clear.3x.html">curs_clear(3x)</A></STRONG>
-              clrtoeol                 <STRONG><A HREF="curs_clear.3x.html">curs_clear(3x)</A></STRONG>
-              color_content            <STRONG><A HREF="curs_color.3x.html">curs_color(3x)</A></STRONG>
-              color_set                <STRONG><A HREF="curs_attr.3x.html">curs_attr(3x)</A></STRONG>
-              copywin                  <STRONG><A HREF="curs_overlay.3x.html">curs_overlay(3x)</A></STRONG>
-              curs_set                 <STRONG><A HREF="curs_kernel.3x.html">curs_kernel(3x)</A></STRONG>
-              curses_version           <STRONG><A HREF="curs_extend.3x.html">curs_extend(3x)</A></STRONG>*
-              def_prog_mode            <STRONG><A HREF="curs_kernel.3x.html">curs_kernel(3x)</A></STRONG>
-              def_shell_mode           <STRONG><A HREF="curs_kernel.3x.html">curs_kernel(3x)</A></STRONG>
-              define_key               <STRONG><A HREF="define_key.3x.html">define_key(3x)</A></STRONG>*
-              del_curterm              <STRONG><A HREF="curs_terminfo.3x.html">curs_terminfo(3x)</A></STRONG>
-              delay_output             <STRONG><A HREF="curs_util.3x.html">curs_util(3x)</A></STRONG>
-              delch                    <STRONG><A HREF="curs_delch.3x.html">curs_delch(3x)</A></STRONG>
-              deleteln                 <STRONG><A HREF="curs_deleteln.3x.html">curs_deleteln(3x)</A></STRONG>
-              delscreen                <STRONG><A HREF="curs_initscr.3x.html">curs_initscr(3x)</A></STRONG>
-              delwin                   <STRONG><A HREF="curs_window.3x.html">curs_window(3x)</A></STRONG>
-              derwin                   <STRONG><A HREF="curs_window.3x.html">curs_window(3x)</A></STRONG>
-              doupdate                 <STRONG><A HREF="curs_refresh.3x.html">curs_refresh(3x)</A></STRONG>
-              dupwin                   <STRONG><A HREF="curs_window.3x.html">curs_window(3x)</A></STRONG>
-              echo                     <STRONG><A HREF="curs_inopts.3x.html">curs_inopts(3x)</A></STRONG>
-              echo_wchar               <STRONG><A HREF="curs_add_wch.3x.html">curs_add_wch(3x)</A></STRONG>
-              echochar                 <STRONG><A HREF="curs_addch.3x.html">curs_addch(3x)</A></STRONG>
-              endwin                   <STRONG><A HREF="curs_initscr.3x.html">curs_initscr(3x)</A></STRONG>
-              erase                    <STRONG><A HREF="curs_clear.3x.html">curs_clear(3x)</A></STRONG>
-              erasechar                <STRONG><A HREF="curs_termattrs.3x.html">curs_termattrs(3x)</A></STRONG>
-              erasewchar               <STRONG><A HREF="curs_termattrs.3x.html">curs_termattrs(3x)</A></STRONG>
-              extended_color_content   <STRONG><A HREF="curs_color.3x.html">curs_color(3x)</A></STRONG>*
-              extended_pair_content    <STRONG><A HREF="curs_color.3x.html">curs_color(3x)</A></STRONG>*
-              extended_slk_color       <STRONG><A HREF="curs_slk.3x.html">curs_slk(3x)</A></STRONG>*
-              filter                   <STRONG><A HREF="curs_util.3x.html">curs_util(3x)</A></STRONG>
-
-              find_pair                <STRONG><A HREF="new_pair.3x.html">new_pair(3x)</A></STRONG>*
-              flash                    <STRONG><A HREF="curs_beep.3x.html">curs_beep(3x)</A></STRONG>
-              flushinp                 <STRONG><A HREF="curs_util.3x.html">curs_util(3x)</A></STRONG>
-              free_pair                <STRONG><A HREF="new_pair.3x.html">new_pair(3x)</A></STRONG>*
-              get_wch                  <STRONG><A HREF="curs_get_wch.3x.html">curs_get_wch(3x)</A></STRONG>
-              get_wstr                 <STRONG><A HREF="curs_get_wstr.3x.html">curs_get_wstr(3x)</A></STRONG>
-              getattrs                 <STRONG><A HREF="curs_attr.3x.html">curs_attr(3x)</A></STRONG>
-              getbegx                  <STRONG><A HREF="curs_legacy.3x.html">curs_legacy(3x)</A></STRONG>*
-              getbegy                  <STRONG><A HREF="curs_legacy.3x.html">curs_legacy(3x)</A></STRONG>*
-              getbegyx                 <STRONG><A HREF="curs_getyx.3x.html">curs_getyx(3x)</A></STRONG>
-              getbkgd                  <STRONG><A HREF="curs_bkgd.3x.html">curs_bkgd(3x)</A></STRONG>
-              getbkgrnd                <STRONG><A HREF="curs_bkgrnd.3x.html">curs_bkgrnd(3x)</A></STRONG>
-              getcchar                 <STRONG><A HREF="curs_getcchar.3x.html">curs_getcchar(3x)</A></STRONG>
-              getch                    <STRONG><A HREF="curs_getch.3x.html">curs_getch(3x)</A></STRONG>
-              getcurx                  <STRONG><A HREF="curs_legacy.3x.html">curs_legacy(3x)</A></STRONG>*
-              getcury                  <STRONG><A HREF="curs_legacy.3x.html">curs_legacy(3x)</A></STRONG>*
-              getmaxx                  <STRONG><A HREF="curs_legacy.3x.html">curs_legacy(3x)</A></STRONG>*
-              getmaxy                  <STRONG><A HREF="curs_legacy.3x.html">curs_legacy(3x)</A></STRONG>*
-              getmaxyx                 <STRONG><A HREF="curs_getyx.3x.html">curs_getyx(3x)</A></STRONG>
-              getmouse                 <STRONG><A HREF="curs_mouse.3x.html">curs_mouse(3x)</A></STRONG>*
-              getn_wstr                <STRONG><A HREF="curs_get_wstr.3x.html">curs_get_wstr(3x)</A></STRONG>
-              getnstr                  <STRONG><A HREF="curs_getstr.3x.html">curs_getstr(3x)</A></STRONG>
-              getparx                  <STRONG><A HREF="curs_legacy.3x.html">curs_legacy(3x)</A></STRONG>*
-              getpary                  <STRONG><A HREF="curs_legacy.3x.html">curs_legacy(3x)</A></STRONG>*
-              getparyx                 <STRONG><A HREF="curs_getyx.3x.html">curs_getyx(3x)</A></STRONG>
-              getstr                   <STRONG><A HREF="curs_getstr.3x.html">curs_getstr(3x)</A></STRONG>
-              getsyx                   <STRONG><A HREF="curs_kernel.3x.html">curs_kernel(3x)</A></STRONG>
-              getwin                   <STRONG><A HREF="curs_util.3x.html">curs_util(3x)</A></STRONG>
-              getyx                    <STRONG><A HREF="curs_getyx.3x.html">curs_getyx(3x)</A></STRONG>
-              halfdelay                <STRONG><A HREF="curs_inopts.3x.html">curs_inopts(3x)</A></STRONG>
-              has_colors               <STRONG><A HREF="curs_color.3x.html">curs_color(3x)</A></STRONG>
-              has_ic                   <STRONG><A HREF="curs_termattrs.3x.html">curs_termattrs(3x)</A></STRONG>
-              has_il                   <STRONG><A HREF="curs_termattrs.3x.html">curs_termattrs(3x)</A></STRONG>
-              has_key                  <STRONG><A HREF="curs_getch.3x.html">curs_getch(3x)</A></STRONG>*
-              hline                    <STRONG><A HREF="curs_border.3x.html">curs_border(3x)</A></STRONG>
-              hline_set                <STRONG><A HREF="curs_border_set.3x.html">curs_border_set(3x)</A></STRONG>
-              idcok                    <STRONG><A HREF="curs_outopts.3x.html">curs_outopts(3x)</A></STRONG>
-              idlok                    <STRONG><A HREF="curs_outopts.3x.html">curs_outopts(3x)</A></STRONG>
-              immedok                  <STRONG><A HREF="curs_outopts.3x.html">curs_outopts(3x)</A></STRONG>
-              in_wch                   <STRONG><A HREF="curs_in_wch.3x.html">curs_in_wch(3x)</A></STRONG>
-              in_wchnstr               <STRONG><A HREF="curs_in_wchstr.3x.html">curs_in_wchstr(3x)</A></STRONG>
-              in_wchstr                <STRONG><A HREF="curs_in_wchstr.3x.html">curs_in_wchstr(3x)</A></STRONG>
-              inch                     <STRONG><A HREF="curs_inch.3x.html">curs_inch(3x)</A></STRONG>
-              inchnstr                 <STRONG><A HREF="curs_inchstr.3x.html">curs_inchstr(3x)</A></STRONG>
-              inchstr                  <STRONG><A HREF="curs_inchstr.3x.html">curs_inchstr(3x)</A></STRONG>
-              init_color               <STRONG><A HREF="curs_color.3x.html">curs_color(3x)</A></STRONG>
-              init_extended_color      <STRONG><A HREF="curs_color.3x.html">curs_color(3x)</A></STRONG>*
-              init_extended_pair       <STRONG><A HREF="curs_color.3x.html">curs_color(3x)</A></STRONG>*
-              init_pair                <STRONG><A HREF="curs_color.3x.html">curs_color(3x)</A></STRONG>
-              initscr                  <STRONG><A HREF="curs_initscr.3x.html">curs_initscr(3x)</A></STRONG>
-              innstr                   <STRONG><A HREF="curs_instr.3x.html">curs_instr(3x)</A></STRONG>
-              innwstr                  <STRONG><A HREF="curs_inwstr.3x.html">curs_inwstr(3x)</A></STRONG>
-              ins_nwstr                <STRONG><A HREF="curs_ins_wstr.3x.html">curs_ins_wstr(3x)</A></STRONG>
-              ins_wch                  <STRONG><A HREF="curs_ins_wch.3x.html">curs_ins_wch(3x)</A></STRONG>
-              ins_wstr                 <STRONG><A HREF="curs_ins_wstr.3x.html">curs_ins_wstr(3x)</A></STRONG>
-              insch                    <STRONG><A HREF="curs_insch.3x.html">curs_insch(3x)</A></STRONG>
-              insdelln                 <STRONG><A HREF="curs_deleteln.3x.html">curs_deleteln(3x)</A></STRONG>
-              insertln                 <STRONG><A HREF="curs_deleteln.3x.html">curs_deleteln(3x)</A></STRONG>
-              insnstr                  <STRONG><A HREF="curs_insstr.3x.html">curs_insstr(3x)</A></STRONG>
-              insstr                   <STRONG><A HREF="curs_insstr.3x.html">curs_insstr(3x)</A></STRONG>
-              instr                    <STRONG><A HREF="curs_instr.3x.html">curs_instr(3x)</A></STRONG>
-              intrflush                <STRONG><A HREF="curs_inopts.3x.html">curs_inopts(3x)</A></STRONG>
-              inwstr                   <STRONG><A HREF="curs_inwstr.3x.html">curs_inwstr(3x)</A></STRONG>
-              is_cleared               <STRONG><A HREF="curs_opaque.3x.html">curs_opaque(3x)</A></STRONG>*
-              is_idcok                 <STRONG><A HREF="curs_opaque.3x.html">curs_opaque(3x)</A></STRONG>*
-
-              is_idlok                 <STRONG><A HREF="curs_opaque.3x.html">curs_opaque(3x)</A></STRONG>*
-              is_immedok               <STRONG><A HREF="curs_opaque.3x.html">curs_opaque(3x)</A></STRONG>*
-              is_keypad                <STRONG><A HREF="curs_opaque.3x.html">curs_opaque(3x)</A></STRONG>*
-              is_leaveok               <STRONG><A HREF="curs_opaque.3x.html">curs_opaque(3x)</A></STRONG>*
-              is_linetouched           <STRONG><A HREF="curs_touch.3x.html">curs_touch(3x)</A></STRONG>
-              is_nodelay               <STRONG><A HREF="curs_opaque.3x.html">curs_opaque(3x)</A></STRONG>*
-              is_notimeout             <STRONG><A HREF="curs_opaque.3x.html">curs_opaque(3x)</A></STRONG>*
-              is_pad                   <STRONG><A HREF="curs_opaque.3x.html">curs_opaque(3x)</A></STRONG>*
-              is_scrollok              <STRONG><A HREF="curs_opaque.3x.html">curs_opaque(3x)</A></STRONG>*
-              is_subwin                <STRONG><A HREF="curs_opaque.3x.html">curs_opaque(3x)</A></STRONG>*
-              is_syncok                <STRONG><A HREF="curs_opaque.3x.html">curs_opaque(3x)</A></STRONG>*
-              is_term_resized          <STRONG><A HREF="resizeterm.3x.html">resizeterm(3x)</A></STRONG>*
-              is_wintouched            <STRONG><A HREF="curs_touch.3x.html">curs_touch(3x)</A></STRONG>
-              isendwin                 <STRONG><A HREF="curs_initscr.3x.html">curs_initscr(3x)</A></STRONG>
-              key_defined              <STRONG><A HREF="key_defined.3x.html">key_defined(3x)</A></STRONG>*
-              key_name                 <STRONG><A HREF="curs_util.3x.html">curs_util(3x)</A></STRONG>
-              keybound                 <STRONG><A HREF="keybound.3x.html">keybound(3x)</A></STRONG>*
-              keyname                  <STRONG><A HREF="curs_util.3x.html">curs_util(3x)</A></STRONG>
-              keyok                    <STRONG><A HREF="keyok.3x.html">keyok(3x)</A></STRONG>*
-              keypad                   <STRONG><A HREF="curs_inopts.3x.html">curs_inopts(3x)</A></STRONG>
-              killchar                 <STRONG><A HREF="curs_termattrs.3x.html">curs_termattrs(3x)</A></STRONG>
-              killwchar                <STRONG><A HREF="curs_termattrs.3x.html">curs_termattrs(3x)</A></STRONG>
-              leaveok                  <STRONG><A HREF="curs_outopts.3x.html">curs_outopts(3x)</A></STRONG>
-              longname                 <STRONG><A HREF="curs_termattrs.3x.html">curs_termattrs(3x)</A></STRONG>
-              mcprint                  <STRONG><A HREF="curs_print.3x.html">curs_print(3x)</A></STRONG>*
-              meta                     <STRONG><A HREF="curs_inopts.3x.html">curs_inopts(3x)</A></STRONG>
-              mouse_trafo              <STRONG><A HREF="curs_mouse.3x.html">curs_mouse(3x)</A></STRONG>*
-              mouseinterval            <STRONG><A HREF="curs_mouse.3x.html">curs_mouse(3x)</A></STRONG>*
-              mousemask                <STRONG><A HREF="curs_mouse.3x.html">curs_mouse(3x)</A></STRONG>*
-              move                     <STRONG><A HREF="curs_move.3x.html">curs_move(3x)</A></STRONG>
-              mvadd_wch                <STRONG><A HREF="curs_add_wch.3x.html">curs_add_wch(3x)</A></STRONG>
-              mvadd_wchnstr            <STRONG><A HREF="curs_add_wchstr.3x.html">curs_add_wchstr(3x)</A></STRONG>
-              mvadd_wchstr             <STRONG><A HREF="curs_add_wchstr.3x.html">curs_add_wchstr(3x)</A></STRONG>
-              mvaddch                  <STRONG><A HREF="curs_addch.3x.html">curs_addch(3x)</A></STRONG>
-              mvaddchnstr              <STRONG><A HREF="curs_addchstr.3x.html">curs_addchstr(3x)</A></STRONG>
-              mvaddchstr               <STRONG><A HREF="curs_addchstr.3x.html">curs_addchstr(3x)</A></STRONG>
-              mvaddnstr                <STRONG><A HREF="curs_addstr.3x.html">curs_addstr(3x)</A></STRONG>
-              mvaddnwstr               <STRONG><A HREF="curs_addwstr.3x.html">curs_addwstr(3x)</A></STRONG>
-              mvaddstr                 <STRONG><A HREF="curs_addstr.3x.html">curs_addstr(3x)</A></STRONG>
-              mvaddwstr                <STRONG><A HREF="curs_addwstr.3x.html">curs_addwstr(3x)</A></STRONG>
-              mvchgat                  <STRONG><A HREF="curs_attr.3x.html">curs_attr(3x)</A></STRONG>
-              mvcur                    <STRONG><A HREF="curs_terminfo.3x.html">curs_terminfo(3x)</A></STRONG>
-              mvdelch                  <STRONG><A HREF="curs_delch.3x.html">curs_delch(3x)</A></STRONG>
-              mvderwin                 <STRONG><A HREF="curs_window.3x.html">curs_window(3x)</A></STRONG>
-              mvget_wch                <STRONG><A HREF="curs_get_wch.3x.html">curs_get_wch(3x)</A></STRONG>
-              mvget_wstr               <STRONG><A HREF="curs_get_wstr.3x.html">curs_get_wstr(3x)</A></STRONG>
-              mvgetch                  <STRONG><A HREF="curs_getch.3x.html">curs_getch(3x)</A></STRONG>
-              mvgetn_wstr              <STRONG><A HREF="curs_get_wstr.3x.html">curs_get_wstr(3x)</A></STRONG>
-              mvgetnstr                <STRONG><A HREF="curs_getstr.3x.html">curs_getstr(3x)</A></STRONG>
-              mvgetstr                 <STRONG><A HREF="curs_getstr.3x.html">curs_getstr(3x)</A></STRONG>
-              mvhline                  <STRONG><A HREF="curs_border.3x.html">curs_border(3x)</A></STRONG>
-              mvhline_set              <STRONG><A HREF="curs_border_set.3x.html">curs_border_set(3x)</A></STRONG>
-              mvin_wch                 <STRONG><A HREF="curs_in_wch.3x.html">curs_in_wch(3x)</A></STRONG>
-              mvin_wchnstr             <STRONG><A HREF="curs_in_wchstr.3x.html">curs_in_wchstr(3x)</A></STRONG>
-              mvin_wchstr              <STRONG><A HREF="curs_in_wchstr.3x.html">curs_in_wchstr(3x)</A></STRONG>
-              mvinch                   <STRONG><A HREF="curs_inch.3x.html">curs_inch(3x)</A></STRONG>
-              mvinchnstr               <STRONG><A HREF="curs_inchstr.3x.html">curs_inchstr(3x)</A></STRONG>
-              mvinchstr                <STRONG><A HREF="curs_inchstr.3x.html">curs_inchstr(3x)</A></STRONG>
-              mvinnstr                 <STRONG><A HREF="curs_instr.3x.html">curs_instr(3x)</A></STRONG>
-              mvinnwstr                <STRONG><A HREF="curs_inwstr.3x.html">curs_inwstr(3x)</A></STRONG>
-              mvins_nwstr              <STRONG><A HREF="curs_ins_wstr.3x.html">curs_ins_wstr(3x)</A></STRONG>
-              mvins_wch                <STRONG><A HREF="curs_ins_wch.3x.html">curs_ins_wch(3x)</A></STRONG>
-              mvins_wstr               <STRONG><A HREF="curs_ins_wstr.3x.html">curs_ins_wstr(3x)</A></STRONG>
-              mvinsch                  <STRONG><A HREF="curs_insch.3x.html">curs_insch(3x)</A></STRONG>
-              mvinsnstr                <STRONG><A HREF="curs_insstr.3x.html">curs_insstr(3x)</A></STRONG>
-
-              mvinsstr                 <STRONG><A HREF="curs_insstr.3x.html">curs_insstr(3x)</A></STRONG>
-              mvinstr                  <STRONG><A HREF="curs_instr.3x.html">curs_instr(3x)</A></STRONG>
-              mvinwstr                 <STRONG><A HREF="curs_inwstr.3x.html">curs_inwstr(3x)</A></STRONG>
-              mvprintw                 <STRONG><A HREF="curs_printw.3x.html">curs_printw(3x)</A></STRONG>
-              mvscanw                  <STRONG><A HREF="curs_scanw.3x.html">curs_scanw(3x)</A></STRONG>
-              mvvline                  <STRONG><A HREF="curs_border.3x.html">curs_border(3x)</A></STRONG>
-              mvvline_set              <STRONG><A HREF="curs_border_set.3x.html">curs_border_set(3x)</A></STRONG>
-              mvwadd_wch               <STRONG><A HREF="curs_add_wch.3x.html">curs_add_wch(3x)</A></STRONG>
-              mvwadd_wchnstr           <STRONG><A HREF="curs_add_wchstr.3x.html">curs_add_wchstr(3x)</A></STRONG>
-              mvwadd_wchstr            <STRONG><A HREF="curs_add_wchstr.3x.html">curs_add_wchstr(3x)</A></STRONG>
-              mvwaddch                 <STRONG><A HREF="curs_addch.3x.html">curs_addch(3x)</A></STRONG>
-              mvwaddchnstr             <STRONG><A HREF="curs_addchstr.3x.html">curs_addchstr(3x)</A></STRONG>
-              mvwaddchstr              <STRONG><A HREF="curs_addchstr.3x.html">curs_addchstr(3x)</A></STRONG>
-              mvwaddnstr               <STRONG><A HREF="curs_addstr.3x.html">curs_addstr(3x)</A></STRONG>
-              mvwaddnwstr              <STRONG><A HREF="curs_addwstr.3x.html">curs_addwstr(3x)</A></STRONG>
-              mvwaddstr                <STRONG><A HREF="curs_addstr.3x.html">curs_addstr(3x)</A></STRONG>
-              mvwaddwstr               <STRONG><A HREF="curs_addwstr.3x.html">curs_addwstr(3x)</A></STRONG>
-              mvwchgat                 <STRONG><A HREF="curs_attr.3x.html">curs_attr(3x)</A></STRONG>
-              mvwdelch                 <STRONG><A HREF="curs_delch.3x.html">curs_delch(3x)</A></STRONG>
-              mvwget_wch               <STRONG><A HREF="curs_get_wch.3x.html">curs_get_wch(3x)</A></STRONG>
-              mvwget_wstr              <STRONG><A HREF="curs_get_wstr.3x.html">curs_get_wstr(3x)</A></STRONG>
-              mvwgetch                 <STRONG><A HREF="curs_getch.3x.html">curs_getch(3x)</A></STRONG>
-              mvwgetn_wstr             <STRONG><A HREF="curs_get_wstr.3x.html">curs_get_wstr(3x)</A></STRONG>
-              mvwgetnstr               <STRONG><A HREF="curs_getstr.3x.html">curs_getstr(3x)</A></STRONG>
-              mvwgetstr                <STRONG><A HREF="curs_getstr.3x.html">curs_getstr(3x)</A></STRONG>
-              mvwhline                 <STRONG><A HREF="curs_border.3x.html">curs_border(3x)</A></STRONG>
-              mvwhline_set             <STRONG><A HREF="curs_border_set.3x.html">curs_border_set(3x)</A></STRONG>
-              mvwin                    <STRONG><A HREF="curs_window.3x.html">curs_window(3x)</A></STRONG>
-              mvwin_wch                <STRONG><A HREF="curs_in_wch.3x.html">curs_in_wch(3x)</A></STRONG>
-              mvwin_wchnstr            <STRONG><A HREF="curs_in_wchstr.3x.html">curs_in_wchstr(3x)</A></STRONG>
-              mvwin_wchstr             <STRONG><A HREF="curs_in_wchstr.3x.html">curs_in_wchstr(3x)</A></STRONG>
-              mvwinch                  <STRONG><A HREF="curs_inch.3x.html">curs_inch(3x)</A></STRONG>
-              mvwinchnstr              <STRONG><A HREF="curs_inchstr.3x.html">curs_inchstr(3x)</A></STRONG>
-              mvwinchstr               <STRONG><A HREF="curs_inchstr.3x.html">curs_inchstr(3x)</A></STRONG>
-              mvwinnstr                <STRONG><A HREF="curs_instr.3x.html">curs_instr(3x)</A></STRONG>
-              mvwinnwstr               <STRONG><A HREF="curs_inwstr.3x.html">curs_inwstr(3x)</A></STRONG>
-              mvwins_nwstr             <STRONG><A HREF="curs_ins_wstr.3x.html">curs_ins_wstr(3x)</A></STRONG>
-              mvwins_wch               <STRONG><A HREF="curs_ins_wch.3x.html">curs_ins_wch(3x)</A></STRONG>
-              mvwins_wstr              <STRONG><A HREF="curs_ins_wstr.3x.html">curs_ins_wstr(3x)</A></STRONG>
-              mvwinsch                 <STRONG><A HREF="curs_insch.3x.html">curs_insch(3x)</A></STRONG>
-              mvwinsnstr               <STRONG><A HREF="curs_insstr.3x.html">curs_insstr(3x)</A></STRONG>
-              mvwinsstr                <STRONG><A HREF="curs_insstr.3x.html">curs_insstr(3x)</A></STRONG>
-              mvwinstr                 <STRONG><A HREF="curs_instr.3x.html">curs_instr(3x)</A></STRONG>
-              mvwinwstr                <STRONG><A HREF="curs_inwstr.3x.html">curs_inwstr(3x)</A></STRONG>
-              mvwprintw                <STRONG><A HREF="curs_printw.3x.html">curs_printw(3x)</A></STRONG>
-              mvwscanw                 <STRONG><A HREF="curs_scanw.3x.html">curs_scanw(3x)</A></STRONG>
-              mvwvline                 <STRONG><A HREF="curs_border.3x.html">curs_border(3x)</A></STRONG>
-              mvwvline_set             <STRONG><A HREF="curs_border_set.3x.html">curs_border_set(3x)</A></STRONG>
-              napms                    <STRONG><A HREF="curs_kernel.3x.html">curs_kernel(3x)</A></STRONG>
-              newpad                   <STRONG><A HREF="curs_pad.3x.html">curs_pad(3x)</A></STRONG>
-              newterm                  <STRONG><A HREF="curs_initscr.3x.html">curs_initscr(3x)</A></STRONG>
-              newwin                   <STRONG><A HREF="curs_window.3x.html">curs_window(3x)</A></STRONG>
-              nl                       <STRONG><A HREF="curs_outopts.3x.html">curs_outopts(3x)</A></STRONG>
-              nocbreak                 <STRONG><A HREF="curs_inopts.3x.html">curs_inopts(3x)</A></STRONG>
-              nodelay                  <STRONG><A HREF="curs_inopts.3x.html">curs_inopts(3x)</A></STRONG>
-              noecho                   <STRONG><A HREF="curs_inopts.3x.html">curs_inopts(3x)</A></STRONG>
-              nofilter                 <STRONG><A HREF="curs_util.3x.html">curs_util(3x)</A></STRONG>*
-              nonl                     <STRONG><A HREF="curs_outopts.3x.html">curs_outopts(3x)</A></STRONG>
-              noqiflush                <STRONG><A HREF="curs_inopts.3x.html">curs_inopts(3x)</A></STRONG>
-              noraw                    <STRONG><A HREF="curs_inopts.3x.html">curs_inopts(3x)</A></STRONG>
-              notimeout                <STRONG><A HREF="curs_inopts.3x.html">curs_inopts(3x)</A></STRONG>
-              overlay                  <STRONG><A HREF="curs_overlay.3x.html">curs_overlay(3x)</A></STRONG>
-              overwrite                <STRONG><A HREF="curs_overlay.3x.html">curs_overlay(3x)</A></STRONG>
-              pair_content             <STRONG><A HREF="curs_color.3x.html">curs_color(3x)</A></STRONG>
-              pechochar                <STRONG><A HREF="curs_pad.3x.html">curs_pad(3x)</A></STRONG>
-
-              pnoutrefresh             <STRONG><A HREF="curs_pad.3x.html">curs_pad(3x)</A></STRONG>
-              prefresh                 <STRONG><A HREF="curs_pad.3x.html">curs_pad(3x)</A></STRONG>
-              printw                   <STRONG><A HREF="curs_printw.3x.html">curs_printw(3x)</A></STRONG>
-              putp                     <STRONG><A HREF="curs_terminfo.3x.html">curs_terminfo(3x)</A></STRONG>
-              putwin                   <STRONG><A HREF="curs_util.3x.html">curs_util(3x)</A></STRONG>
-              qiflush                  <STRONG><A HREF="curs_inopts.3x.html">curs_inopts(3x)</A></STRONG>
-              raw                      <STRONG><A HREF="curs_inopts.3x.html">curs_inopts(3x)</A></STRONG>
-              redrawwin                <STRONG><A HREF="curs_refresh.3x.html">curs_refresh(3x)</A></STRONG>
-              refresh                  <STRONG><A HREF="curs_refresh.3x.html">curs_refresh(3x)</A></STRONG>
-              reset_prog_mode          <STRONG><A HREF="curs_kernel.3x.html">curs_kernel(3x)</A></STRONG>
-              reset_shell_mode         <STRONG><A HREF="curs_kernel.3x.html">curs_kernel(3x)</A></STRONG>
-              resetty                  <STRONG><A HREF="curs_kernel.3x.html">curs_kernel(3x)</A></STRONG>
-              resize_term              <STRONG><A HREF="resizeterm.3x.html">resizeterm(3x)</A></STRONG>*
-              resizeterm               <STRONG><A HREF="resizeterm.3x.html">resizeterm(3x)</A></STRONG>*
-              restartterm              <STRONG><A HREF="curs_terminfo.3x.html">curs_terminfo(3x)</A></STRONG>
-              ripoffline               <STRONG><A HREF="curs_kernel.3x.html">curs_kernel(3x)</A></STRONG>
-              savetty                  <STRONG><A HREF="curs_kernel.3x.html">curs_kernel(3x)</A></STRONG>
-              scanw                    <STRONG><A HREF="curs_scanw.3x.html">curs_scanw(3x)</A></STRONG>
-              scr_dump                 <STRONG><A HREF="curs_scr_dump.3x.html">curs_scr_dump(3x)</A></STRONG>
-              scr_init                 <STRONG><A HREF="curs_scr_dump.3x.html">curs_scr_dump(3x)</A></STRONG>
-              scr_restore              <STRONG><A HREF="curs_scr_dump.3x.html">curs_scr_dump(3x)</A></STRONG>
-              scr_set                  <STRONG><A HREF="curs_scr_dump.3x.html">curs_scr_dump(3x)</A></STRONG>
-              scrl                     <STRONG><A HREF="curs_scroll.3x.html">curs_scroll(3x)</A></STRONG>
-              scroll                   <STRONG><A HREF="curs_scroll.3x.html">curs_scroll(3x)</A></STRONG>
-              scrollok                 <STRONG><A HREF="curs_outopts.3x.html">curs_outopts(3x)</A></STRONG>
-              set_curterm              <STRONG><A HREF="curs_terminfo.3x.html">curs_terminfo(3x)</A></STRONG>
-              set_term                 <STRONG><A HREF="curs_initscr.3x.html">curs_initscr(3x)</A></STRONG>
-              setcchar                 <STRONG><A HREF="curs_getcchar.3x.html">curs_getcchar(3x)</A></STRONG>
-              setscrreg                <STRONG><A HREF="curs_outopts.3x.html">curs_outopts(3x)</A></STRONG>
-              setsyx                   <STRONG><A HREF="curs_kernel.3x.html">curs_kernel(3x)</A></STRONG>
-              setterm                  <STRONG><A HREF="curs_terminfo.3x.html">curs_terminfo(3x)</A></STRONG>
-              setupterm                <STRONG><A HREF="curs_terminfo.3x.html">curs_terminfo(3x)</A></STRONG>
-              slk_attr                 <STRONG><A HREF="curs_slk.3x.html">curs_slk(3x)</A></STRONG>*
-              slk_attr_off             <STRONG><A HREF="curs_slk.3x.html">curs_slk(3x)</A></STRONG>
-              slk_attr_on              <STRONG><A HREF="curs_slk.3x.html">curs_slk(3x)</A></STRONG>
-              slk_attr_set             <STRONG><A HREF="curs_slk.3x.html">curs_slk(3x)</A></STRONG>
-              slk_attroff              <STRONG><A HREF="curs_slk.3x.html">curs_slk(3x)</A></STRONG>
-              slk_attron               <STRONG><A HREF="curs_slk.3x.html">curs_slk(3x)</A></STRONG>
-              slk_attrset              <STRONG><A HREF="curs_slk.3x.html">curs_slk(3x)</A></STRONG>
-              slk_clear                <STRONG><A HREF="curs_slk.3x.html">curs_slk(3x)</A></STRONG>
-              slk_color                <STRONG><A HREF="curs_slk.3x.html">curs_slk(3x)</A></STRONG>
-              slk_init                 <STRONG><A HREF="curs_slk.3x.html">curs_slk(3x)</A></STRONG>
-              slk_label                <STRONG><A HREF="curs_slk.3x.html">curs_slk(3x)</A></STRONG>
-              slk_noutrefresh          <STRONG><A HREF="curs_slk.3x.html">curs_slk(3x)</A></STRONG>
-              slk_refresh              <STRONG><A HREF="curs_slk.3x.html">curs_slk(3x)</A></STRONG>
-              slk_restore              <STRONG><A HREF="curs_slk.3x.html">curs_slk(3x)</A></STRONG>
-              slk_set                  <STRONG><A HREF="curs_slk.3x.html">curs_slk(3x)</A></STRONG>
-              slk_touch                <STRONG><A HREF="curs_slk.3x.html">curs_slk(3x)</A></STRONG>
-              standend                 <STRONG><A HREF="curs_attr.3x.html">curs_attr(3x)</A></STRONG>
-              standout                 <STRONG><A HREF="curs_attr.3x.html">curs_attr(3x)</A></STRONG>
-              start_color              <STRONG><A HREF="curs_color.3x.html">curs_color(3x)</A></STRONG>
-              subpad                   <STRONG><A HREF="curs_pad.3x.html">curs_pad(3x)</A></STRONG>
-              subwin                   <STRONG><A HREF="curs_window.3x.html">curs_window(3x)</A></STRONG>
-              syncok                   <STRONG><A HREF="curs_window.3x.html">curs_window(3x)</A></STRONG>
-              term_attrs               <STRONG><A HREF="curs_termattrs.3x.html">curs_termattrs(3x)</A></STRONG>
-              termattrs                <STRONG><A HREF="curs_termattrs.3x.html">curs_termattrs(3x)</A></STRONG>
-              termname                 <STRONG><A HREF="curs_termattrs.3x.html">curs_termattrs(3x)</A></STRONG>
-              tgetent                  <STRONG><A HREF="curs_termcap.3x.html">curs_termcap(3x)</A></STRONG>
-              tgetflag                 <STRONG><A HREF="curs_termcap.3x.html">curs_termcap(3x)</A></STRONG>
-              tgetnum                  <STRONG><A HREF="curs_termcap.3x.html">curs_termcap(3x)</A></STRONG>
-              tgetstr                  <STRONG><A HREF="curs_termcap.3x.html">curs_termcap(3x)</A></STRONG>
-              tgoto                    <STRONG><A HREF="curs_termcap.3x.html">curs_termcap(3x)</A></STRONG>
-              tigetflag                <STRONG><A HREF="curs_terminfo.3x.html">curs_terminfo(3x)</A></STRONG>
-              tigetnum                 <STRONG><A HREF="curs_terminfo.3x.html">curs_terminfo(3x)</A></STRONG>
-              tigetstr                 <STRONG><A HREF="curs_terminfo.3x.html">curs_terminfo(3x)</A></STRONG>
-
-              timeout                  <STRONG><A HREF="curs_inopts.3x.html">curs_inopts(3x)</A></STRONG>
-              tiparm                   <STRONG><A HREF="curs_terminfo.3x.html">curs_terminfo(3x)</A></STRONG>*
-              touchline                <STRONG><A HREF="curs_touch.3x.html">curs_touch(3x)</A></STRONG>
-              touchwin                 <STRONG><A HREF="curs_touch.3x.html">curs_touch(3x)</A></STRONG>
-              tparm                    <STRONG><A HREF="curs_terminfo.3x.html">curs_terminfo(3x)</A></STRONG>
-              tputs                    <STRONG><A HREF="curs_termcap.3x.html">curs_termcap(3x)</A></STRONG>
-              tputs                    <STRONG><A HREF="curs_terminfo.3x.html">curs_terminfo(3x)</A></STRONG>
-              trace                    <STRONG><A HREF="curs_trace.3x.html">curs_trace(3x)</A></STRONG>*
-              typeahead                <STRONG><A HREF="curs_inopts.3x.html">curs_inopts(3x)</A></STRONG>
-              unctrl                   <STRONG><A HREF="curs_util.3x.html">curs_util(3x)</A></STRONG>
-              unget_wch                <STRONG><A HREF="curs_get_wch.3x.html">curs_get_wch(3x)</A></STRONG>
-              ungetch                  <STRONG><A HREF="curs_getch.3x.html">curs_getch(3x)</A></STRONG>
-              ungetmouse               <STRONG><A HREF="curs_mouse.3x.html">curs_mouse(3x)</A></STRONG>*
-              untouchwin               <STRONG><A HREF="curs_touch.3x.html">curs_touch(3x)</A></STRONG>
-              use_default_colors       <STRONG><A HREF="default_colors.3x.html">default_colors(3x)</A></STRONG>*
-              use_env                  <STRONG><A HREF="curs_util.3x.html">curs_util(3x)</A></STRONG>
-              use_extended_names       <STRONG><A HREF="curs_extend.3x.html">curs_extend(3x)</A></STRONG>*
-              use_legacy_coding        <STRONG><A HREF="legacy_coding.3x.html">legacy_coding(3x)</A></STRONG>*
-              use_tioctl               <STRONG><A HREF="curs_util.3x.html">curs_util(3x)</A></STRONG>
-              vid_attr                 <STRONG><A HREF="curs_terminfo.3x.html">curs_terminfo(3x)</A></STRONG>
-              vid_puts                 <STRONG><A HREF="curs_terminfo.3x.html">curs_terminfo(3x)</A></STRONG>
-              vidattr                  <STRONG><A HREF="curs_terminfo.3x.html">curs_terminfo(3x)</A></STRONG>
-              vidputs                  <STRONG><A HREF="curs_terminfo.3x.html">curs_terminfo(3x)</A></STRONG>
-              vline                    <STRONG><A HREF="curs_border.3x.html">curs_border(3x)</A></STRONG>
-              vline_set                <STRONG><A HREF="curs_border_set.3x.html">curs_border_set(3x)</A></STRONG>
-              vw_printw                <STRONG><A HREF="curs_printw.3x.html">curs_printw(3x)</A></STRONG>
-              vw_scanw                 <STRONG><A HREF="curs_scanw.3x.html">curs_scanw(3x)</A></STRONG>
-              vwprintw                 <STRONG><A HREF="curs_printw.3x.html">curs_printw(3x)</A></STRONG>
-              vwscanw                  <STRONG><A HREF="curs_scanw.3x.html">curs_scanw(3x)</A></STRONG>
-              wadd_wch                 <STRONG><A HREF="curs_add_wch.3x.html">curs_add_wch(3x)</A></STRONG>
-              wadd_wchnstr             <STRONG><A HREF="curs_add_wchstr.3x.html">curs_add_wchstr(3x)</A></STRONG>
-              wadd_wchstr              <STRONG><A HREF="curs_add_wchstr.3x.html">curs_add_wchstr(3x)</A></STRONG>
-              waddch                   <STRONG><A HREF="curs_addch.3x.html">curs_addch(3x)</A></STRONG>
-              waddchnstr               <STRONG><A HREF="curs_addchstr.3x.html">curs_addchstr(3x)</A></STRONG>
-              waddchstr                <STRONG><A HREF="curs_addchstr.3x.html">curs_addchstr(3x)</A></STRONG>
-              waddnstr                 <STRONG><A HREF="curs_addstr.3x.html">curs_addstr(3x)</A></STRONG>
-              waddnwstr                <STRONG><A HREF="curs_addwstr.3x.html">curs_addwstr(3x)</A></STRONG>
-              waddstr                  <STRONG><A HREF="curs_addstr.3x.html">curs_addstr(3x)</A></STRONG>
-              waddwstr                 <STRONG><A HREF="curs_addwstr.3x.html">curs_addwstr(3x)</A></STRONG>
-              wattr_get                <STRONG><A HREF="curs_attr.3x.html">curs_attr(3x)</A></STRONG>
-              wattr_off                <STRONG><A HREF="curs_attr.3x.html">curs_attr(3x)</A></STRONG>
-              wattr_on                 <STRONG><A HREF="curs_attr.3x.html">curs_attr(3x)</A></STRONG>
-              wattr_set                <STRONG><A HREF="curs_attr.3x.html">curs_attr(3x)</A></STRONG>
-              wattroff                 <STRONG><A HREF="curs_attr.3x.html">curs_attr(3x)</A></STRONG>
-              wattron                  <STRONG><A HREF="curs_attr.3x.html">curs_attr(3x)</A></STRONG>
-              wattrset                 <STRONG><A HREF="curs_attr.3x.html">curs_attr(3x)</A></STRONG>
-              wbkgd                    <STRONG><A HREF="curs_bkgd.3x.html">curs_bkgd(3x)</A></STRONG>
-              wbkgdset                 <STRONG><A HREF="curs_bkgd.3x.html">curs_bkgd(3x)</A></STRONG>
-              wbkgrnd                  <STRONG><A HREF="curs_bkgrnd.3x.html">curs_bkgrnd(3x)</A></STRONG>
-              wbkgrndset               <STRONG><A HREF="curs_bkgrnd.3x.html">curs_bkgrnd(3x)</A></STRONG>
-              wborder                  <STRONG><A HREF="curs_border.3x.html">curs_border(3x)</A></STRONG>
-              wborder_set              <STRONG><A HREF="curs_border_set.3x.html">curs_border_set(3x)</A></STRONG>
-              wchgat                   <STRONG><A HREF="curs_attr.3x.html">curs_attr(3x)</A></STRONG>
-              wclear                   <STRONG><A HREF="curs_clear.3x.html">curs_clear(3x)</A></STRONG>
-              wclrtobot                <STRONG><A HREF="curs_clear.3x.html">curs_clear(3x)</A></STRONG>
-              wclrtoeol                <STRONG><A HREF="curs_clear.3x.html">curs_clear(3x)</A></STRONG>
-              wcolor_set               <STRONG><A HREF="curs_attr.3x.html">curs_attr(3x)</A></STRONG>
-              wcursyncup               <STRONG><A HREF="curs_window.3x.html">curs_window(3x)</A></STRONG>
-              wdelch                   <STRONG><A HREF="curs_delch.3x.html">curs_delch(3x)</A></STRONG>
-              wdeleteln                <STRONG><A HREF="curs_deleteln.3x.html">curs_deleteln(3x)</A></STRONG>
-              wecho_wchar              <STRONG><A HREF="curs_add_wch.3x.html">curs_add_wch(3x)</A></STRONG>
-              wechochar                <STRONG><A HREF="curs_addch.3x.html">curs_addch(3x)</A></STRONG>
-              wenclose                 <STRONG><A HREF="curs_mouse.3x.html">curs_mouse(3x)</A></STRONG>*
-              werase                   <STRONG><A HREF="curs_clear.3x.html">curs_clear(3x)</A></STRONG>
-              wget_wch                 <STRONG><A HREF="curs_get_wch.3x.html">curs_get_wch(3x)</A></STRONG>
-
-              wget_wstr                <STRONG><A HREF="curs_get_wstr.3x.html">curs_get_wstr(3x)</A></STRONG>
-              wgetbkgrnd               <STRONG><A HREF="curs_bkgrnd.3x.html">curs_bkgrnd(3x)</A></STRONG>
-              wgetch                   <STRONG><A HREF="curs_getch.3x.html">curs_getch(3x)</A></STRONG>
-              wgetdelay                <STRONG><A HREF="curs_opaque.3x.html">curs_opaque(3x)</A></STRONG>*
-              wgetn_wstr               <STRONG><A HREF="curs_get_wstr.3x.html">curs_get_wstr(3x)</A></STRONG>
-              wgetnstr                 <STRONG><A HREF="curs_getstr.3x.html">curs_getstr(3x)</A></STRONG>
-              wgetparent               <STRONG><A HREF="curs_opaque.3x.html">curs_opaque(3x)</A></STRONG>*
-              wgetscrreg               <STRONG><A HREF="curs_opaque.3x.html">curs_opaque(3x)</A></STRONG>*
-              wgetstr                  <STRONG><A HREF="curs_getstr.3x.html">curs_getstr(3x)</A></STRONG>
-              whline                   <STRONG><A HREF="curs_border.3x.html">curs_border(3x)</A></STRONG>
-              whline_set               <STRONG><A HREF="curs_border_set.3x.html">curs_border_set(3x)</A></STRONG>
-              win_wch                  <STRONG><A HREF="curs_in_wch.3x.html">curs_in_wch(3x)</A></STRONG>
-              win_wchnstr              <STRONG><A HREF="curs_in_wchstr.3x.html">curs_in_wchstr(3x)</A></STRONG>
-              win_wchstr               <STRONG><A HREF="curs_in_wchstr.3x.html">curs_in_wchstr(3x)</A></STRONG>
-              winch                    <STRONG><A HREF="curs_inch.3x.html">curs_inch(3x)</A></STRONG>
-              winchnstr                <STRONG><A HREF="curs_inchstr.3x.html">curs_inchstr(3x)</A></STRONG>
-              winchstr                 <STRONG><A HREF="curs_inchstr.3x.html">curs_inchstr(3x)</A></STRONG>
-              winnstr                  <STRONG><A HREF="curs_instr.3x.html">curs_instr(3x)</A></STRONG>
-              winnwstr                 <STRONG><A HREF="curs_inwstr.3x.html">curs_inwstr(3x)</A></STRONG>
-              wins_nwstr               <STRONG><A HREF="curs_ins_wstr.3x.html">curs_ins_wstr(3x)</A></STRONG>
-              wins_wch                 <STRONG><A HREF="curs_ins_wch.3x.html">curs_ins_wch(3x)</A></STRONG>
-              wins_wstr                <STRONG><A HREF="curs_ins_wstr.3x.html">curs_ins_wstr(3x)</A></STRONG>
-              winsch                   <STRONG><A HREF="curs_insch.3x.html">curs_insch(3x)</A></STRONG>
-              winsdelln                <STRONG><A HREF="curs_deleteln.3x.html">curs_deleteln(3x)</A></STRONG>
-              winsertln                <STRONG><A HREF="curs_deleteln.3x.html">curs_deleteln(3x)</A></STRONG>
-              winsnstr                 <STRONG><A HREF="curs_insstr.3x.html">curs_insstr(3x)</A></STRONG>
-              winsstr                  <STRONG><A HREF="curs_insstr.3x.html">curs_insstr(3x)</A></STRONG>
-              winstr                   <STRONG><A HREF="curs_instr.3x.html">curs_instr(3x)</A></STRONG>
-              winwstr                  <STRONG><A HREF="curs_inwstr.3x.html">curs_inwstr(3x)</A></STRONG>
-              wmouse_trafo             <STRONG><A HREF="curs_mouse.3x.html">curs_mouse(3x)</A></STRONG>*
-              wmove                    <STRONG><A HREF="curs_move.3x.html">curs_move(3x)</A></STRONG>
-              wnoutrefresh             <STRONG><A HREF="curs_refresh.3x.html">curs_refresh(3x)</A></STRONG>
-              wprintw                  <STRONG><A HREF="curs_printw.3x.html">curs_printw(3x)</A></STRONG>
-              wredrawln                <STRONG><A HREF="curs_refresh.3x.html">curs_refresh(3x)</A></STRONG>
-              wrefresh                 <STRONG><A HREF="curs_refresh.3x.html">curs_refresh(3x)</A></STRONG>
-              wresize                  <STRONG><A HREF="wresize.3x.html">wresize(3x)</A></STRONG>*
-              wscanw                   <STRONG><A HREF="curs_scanw.3x.html">curs_scanw(3x)</A></STRONG>
-              wscrl                    <STRONG><A HREF="curs_scroll.3x.html">curs_scroll(3x)</A></STRONG>
-              wsetscrreg               <STRONG><A HREF="curs_outopts.3x.html">curs_outopts(3x)</A></STRONG>
-              wstandend                <STRONG><A HREF="curs_attr.3x.html">curs_attr(3x)</A></STRONG>
-              wstandout                <STRONG><A HREF="curs_attr.3x.html">curs_attr(3x)</A></STRONG>
-              wsyncdown                <STRONG><A HREF="curs_window.3x.html">curs_window(3x)</A></STRONG>
-              wsyncup                  <STRONG><A HREF="curs_window.3x.html">curs_window(3x)</A></STRONG>
-              wtimeout                 <STRONG><A HREF="curs_inopts.3x.html">curs_inopts(3x)</A></STRONG>
-              wtouchln                 <STRONG><A HREF="curs_touch.3x.html">curs_touch(3x)</A></STRONG>
-              wunctrl                  <STRONG><A HREF="curs_util.3x.html">curs_util(3x)</A></STRONG>
-              wvline                   <STRONG><A HREF="curs_border.3x.html">curs_border(3x)</A></STRONG>
-              wvline_set               <STRONG><A HREF="curs_border_set.3x.html">curs_border_set(3x)</A></STRONG>
+       The  following table lists each <STRONG>curses</STRONG> routine and the name of the man-
+       ual page on which it is  described.   Routines  flagged  with  "*"  are
+       ncurses-specific, not described by XPG4 or present in SVr4.
+
+                    <STRONG>curses</STRONG> Routine Name      Manual Page Name
+                    ---------------------------------------------
+                    COLOR_PAIR               <STRONG><A HREF="curs_color.3x.html">curs_color(3x)</A></STRONG>
+                    PAIR_NUMBER              <STRONG><A HREF="curs_attr.3x.html">curs_attr(3x)</A></STRONG>
+                    _nc_free_and_exit        <STRONG><A HREF="curs_memleaks.3x.html">curs_memleaks(3x)</A></STRONG>*
+                    _nc_freeall              <STRONG><A HREF="curs_memleaks.3x.html">curs_memleaks(3x)</A></STRONG>*
+                    _nc_tracebits            <STRONG><A HREF="curs_trace.3x.html">curs_trace(3x)</A></STRONG>*
+                    _traceattr               <STRONG><A HREF="curs_trace.3x.html">curs_trace(3x)</A></STRONG>*
+                    _traceattr2              <STRONG><A HREF="curs_trace.3x.html">curs_trace(3x)</A></STRONG>*
+                    _tracechar               <STRONG><A HREF="curs_trace.3x.html">curs_trace(3x)</A></STRONG>*
+                    _tracechtype             <STRONG><A HREF="curs_trace.3x.html">curs_trace(3x)</A></STRONG>*
+                    _tracechtype2            <STRONG><A HREF="curs_trace.3x.html">curs_trace(3x)</A></STRONG>*
+                    _tracedump               <STRONG><A HREF="curs_trace.3x.html">curs_trace(3x)</A></STRONG>*
+                    _tracef                  <STRONG><A HREF="curs_trace.3x.html">curs_trace(3x)</A></STRONG>*
+                    _tracemouse              <STRONG><A HREF="curs_trace.3x.html">curs_trace(3x)</A></STRONG>*
+                    add_wch                  <STRONG><A HREF="curs_add_wch.3x.html">curs_add_wch(3x)</A></STRONG>
+                    add_wchnstr              <STRONG><A HREF="curs_add_wchstr.3x.html">curs_add_wchstr(3x)</A></STRONG>
+                    add_wchstr               <STRONG><A HREF="curs_add_wchstr.3x.html">curs_add_wchstr(3x)</A></STRONG>
+                    addch                    <STRONG><A HREF="curs_addch.3x.html">curs_addch(3x)</A></STRONG>
+                    addchnstr                <STRONG><A HREF="curs_addchstr.3x.html">curs_addchstr(3x)</A></STRONG>
+                    addchstr                 <STRONG><A HREF="curs_addchstr.3x.html">curs_addchstr(3x)</A></STRONG>
+                    addnstr                  <STRONG><A HREF="curs_addstr.3x.html">curs_addstr(3x)</A></STRONG>
+                    addnwstr                 <STRONG><A HREF="curs_addwstr.3x.html">curs_addwstr(3x)</A></STRONG>
+                    addstr                   <STRONG><A HREF="curs_addstr.3x.html">curs_addstr(3x)</A></STRONG>
+                    addwstr                  <STRONG><A HREF="curs_addwstr.3x.html">curs_addwstr(3x)</A></STRONG>
+                    alloc_pair               <STRONG><A HREF="new_pair.3x.html">new_pair(3x)</A></STRONG>*
+                    assume_default_colors    <STRONG><A HREF="default_colors.3x.html">default_colors(3x)</A></STRONG>*
+                    attr_get                 <STRONG><A HREF="curs_attr.3x.html">curs_attr(3x)</A></STRONG>
+                    attr_off                 <STRONG><A HREF="curs_attr.3x.html">curs_attr(3x)</A></STRONG>
+                    attr_on                  <STRONG><A HREF="curs_attr.3x.html">curs_attr(3x)</A></STRONG>
+                    attr_set                 <STRONG><A HREF="curs_attr.3x.html">curs_attr(3x)</A></STRONG>
+                    attroff                  <STRONG><A HREF="curs_attr.3x.html">curs_attr(3x)</A></STRONG>
+                    attron                   <STRONG><A HREF="curs_attr.3x.html">curs_attr(3x)</A></STRONG>
+                    attrset                  <STRONG><A HREF="curs_attr.3x.html">curs_attr(3x)</A></STRONG>
+
+                    baudrate                 <STRONG><A HREF="curs_termattrs.3x.html">curs_termattrs(3x)</A></STRONG>
+                    beep                     <STRONG><A HREF="curs_beep.3x.html">curs_beep(3x)</A></STRONG>
+                    bkgd                     <STRONG><A HREF="curs_bkgd.3x.html">curs_bkgd(3x)</A></STRONG>
+                    bkgdset                  <STRONG><A HREF="curs_bkgd.3x.html">curs_bkgd(3x)</A></STRONG>
+                    bkgrnd                   <STRONG><A HREF="curs_bkgrnd.3x.html">curs_bkgrnd(3x)</A></STRONG>
+                    bkgrndset                <STRONG><A HREF="curs_bkgrnd.3x.html">curs_bkgrnd(3x)</A></STRONG>
+                    border                   <STRONG><A HREF="curs_border.3x.html">curs_border(3x)</A></STRONG>
+                    border_set               <STRONG><A HREF="curs_border_set.3x.html">curs_border_set(3x)</A></STRONG>
+                    box                      <STRONG><A HREF="curs_border.3x.html">curs_border(3x)</A></STRONG>
+                    box_set                  <STRONG><A HREF="curs_border_set.3x.html">curs_border_set(3x)</A></STRONG>
+                    can_change_color         <STRONG><A HREF="curs_color.3x.html">curs_color(3x)</A></STRONG>
+                    cbreak                   <STRONG><A HREF="curs_inopts.3x.html">curs_inopts(3x)</A></STRONG>
+                    chgat                    <STRONG><A HREF="curs_attr.3x.html">curs_attr(3x)</A></STRONG>
+                    clear                    <STRONG><A HREF="curs_clear.3x.html">curs_clear(3x)</A></STRONG>
+                    clearok                  <STRONG><A HREF="curs_outopts.3x.html">curs_outopts(3x)</A></STRONG>
+                    clrtobot                 <STRONG><A HREF="curs_clear.3x.html">curs_clear(3x)</A></STRONG>
+                    clrtoeol                 <STRONG><A HREF="curs_clear.3x.html">curs_clear(3x)</A></STRONG>
+                    color_content            <STRONG><A HREF="curs_color.3x.html">curs_color(3x)</A></STRONG>
+                    color_set                <STRONG><A HREF="curs_attr.3x.html">curs_attr(3x)</A></STRONG>
+                    copywin                  <STRONG><A HREF="curs_overlay.3x.html">curs_overlay(3x)</A></STRONG>
+                    curs_set                 <STRONG><A HREF="curs_kernel.3x.html">curs_kernel(3x)</A></STRONG>
+                    curses_version           <STRONG><A HREF="curs_extend.3x.html">curs_extend(3x)</A></STRONG>*
+                    def_prog_mode            <STRONG><A HREF="curs_kernel.3x.html">curs_kernel(3x)</A></STRONG>
+                    def_shell_mode           <STRONG><A HREF="curs_kernel.3x.html">curs_kernel(3x)</A></STRONG>
+                    define_key               <STRONG><A HREF="define_key.3x.html">define_key(3x)</A></STRONG>*
+                    del_curterm              <STRONG><A HREF="curs_terminfo.3x.html">curs_terminfo(3x)</A></STRONG>
+                    delay_output             <STRONG><A HREF="curs_util.3x.html">curs_util(3x)</A></STRONG>
+                    delch                    <STRONG><A HREF="curs_delch.3x.html">curs_delch(3x)</A></STRONG>
+                    deleteln                 <STRONG><A HREF="curs_deleteln.3x.html">curs_deleteln(3x)</A></STRONG>
+                    delscreen                <STRONG><A HREF="curs_initscr.3x.html">curs_initscr(3x)</A></STRONG>
+                    delwin                   <STRONG><A HREF="curs_window.3x.html">curs_window(3x)</A></STRONG>
+                    derwin                   <STRONG><A HREF="curs_window.3x.html">curs_window(3x)</A></STRONG>
+                    doupdate                 <STRONG><A HREF="curs_refresh.3x.html">curs_refresh(3x)</A></STRONG>
+                    dupwin                   <STRONG><A HREF="curs_window.3x.html">curs_window(3x)</A></STRONG>
+                    echo                     <STRONG><A HREF="curs_inopts.3x.html">curs_inopts(3x)</A></STRONG>
+                    echo_wchar               <STRONG><A HREF="curs_add_wch.3x.html">curs_add_wch(3x)</A></STRONG>
+                    echochar                 <STRONG><A HREF="curs_addch.3x.html">curs_addch(3x)</A></STRONG>
+                    endwin                   <STRONG><A HREF="curs_initscr.3x.html">curs_initscr(3x)</A></STRONG>
+                    erase                    <STRONG><A HREF="curs_clear.3x.html">curs_clear(3x)</A></STRONG>
+                    erasechar                <STRONG><A HREF="curs_termattrs.3x.html">curs_termattrs(3x)</A></STRONG>
+                    erasewchar               <STRONG><A HREF="curs_termattrs.3x.html">curs_termattrs(3x)</A></STRONG>
+                    extended_color_content   <STRONG><A HREF="curs_color.3x.html">curs_color(3x)</A></STRONG>*
+                    extended_pair_content    <STRONG><A HREF="curs_color.3x.html">curs_color(3x)</A></STRONG>*
+                    extended_slk_color       <STRONG><A HREF="curs_slk.3x.html">curs_slk(3x)</A></STRONG>*
+                    filter                   <STRONG><A HREF="curs_util.3x.html">curs_util(3x)</A></STRONG>
+                    find_pair                <STRONG><A HREF="new_pair.3x.html">new_pair(3x)</A></STRONG>*
+                    flash                    <STRONG><A HREF="curs_beep.3x.html">curs_beep(3x)</A></STRONG>
+                    flushinp                 <STRONG><A HREF="curs_util.3x.html">curs_util(3x)</A></STRONG>
+                    free_pair                <STRONG><A HREF="new_pair.3x.html">new_pair(3x)</A></STRONG>*
+                    get_wch                  <STRONG><A HREF="curs_get_wch.3x.html">curs_get_wch(3x)</A></STRONG>
+                    get_wstr                 <STRONG><A HREF="curs_get_wstr.3x.html">curs_get_wstr(3x)</A></STRONG>
+                    getattrs                 <STRONG><A HREF="curs_attr.3x.html">curs_attr(3x)</A></STRONG>
+                    getbegx                  <STRONG><A HREF="curs_legacy.3x.html">curs_legacy(3x)</A></STRONG>*
+                    getbegy                  <STRONG><A HREF="curs_legacy.3x.html">curs_legacy(3x)</A></STRONG>*
+                    getbegyx                 <STRONG><A HREF="curs_getyx.3x.html">curs_getyx(3x)</A></STRONG>
+                    getbkgd                  <STRONG><A HREF="curs_bkgd.3x.html">curs_bkgd(3x)</A></STRONG>
+                    getbkgrnd                <STRONG><A HREF="curs_bkgrnd.3x.html">curs_bkgrnd(3x)</A></STRONG>
+                    getcchar                 <STRONG><A HREF="curs_getcchar.3x.html">curs_getcchar(3x)</A></STRONG>
+                    getch                    <STRONG><A HREF="curs_getch.3x.html">curs_getch(3x)</A></STRONG>
+                    getcurx                  <STRONG><A HREF="curs_legacy.3x.html">curs_legacy(3x)</A></STRONG>*
+                    getcury                  <STRONG><A HREF="curs_legacy.3x.html">curs_legacy(3x)</A></STRONG>*
+                    getmaxx                  <STRONG><A HREF="curs_legacy.3x.html">curs_legacy(3x)</A></STRONG>*
+                    getmaxy                  <STRONG><A HREF="curs_legacy.3x.html">curs_legacy(3x)</A></STRONG>*
+                    getmaxyx                 <STRONG><A HREF="curs_getyx.3x.html">curs_getyx(3x)</A></STRONG>
+                    getmouse                 <STRONG><A HREF="curs_mouse.3x.html">curs_mouse(3x)</A></STRONG>*
+
+                    getn_wstr                <STRONG><A HREF="curs_get_wstr.3x.html">curs_get_wstr(3x)</A></STRONG>
+                    getnstr                  <STRONG><A HREF="curs_getstr.3x.html">curs_getstr(3x)</A></STRONG>
+                    getparx                  <STRONG><A HREF="curs_legacy.3x.html">curs_legacy(3x)</A></STRONG>*
+                    getpary                  <STRONG><A HREF="curs_legacy.3x.html">curs_legacy(3x)</A></STRONG>*
+                    getparyx                 <STRONG><A HREF="curs_getyx.3x.html">curs_getyx(3x)</A></STRONG>
+                    getstr                   <STRONG><A HREF="curs_getstr.3x.html">curs_getstr(3x)</A></STRONG>
+                    getsyx                   <STRONG><A HREF="curs_kernel.3x.html">curs_kernel(3x)</A></STRONG>
+                    getwin                   <STRONG><A HREF="curs_util.3x.html">curs_util(3x)</A></STRONG>
+                    getyx                    <STRONG><A HREF="curs_getyx.3x.html">curs_getyx(3x)</A></STRONG>
+                    halfdelay                <STRONG><A HREF="curs_inopts.3x.html">curs_inopts(3x)</A></STRONG>
+                    has_colors               <STRONG><A HREF="curs_color.3x.html">curs_color(3x)</A></STRONG>
+                    has_ic                   <STRONG><A HREF="curs_termattrs.3x.html">curs_termattrs(3x)</A></STRONG>
+                    has_il                   <STRONG><A HREF="curs_termattrs.3x.html">curs_termattrs(3x)</A></STRONG>
+                    has_key                  <STRONG><A HREF="curs_getch.3x.html">curs_getch(3x)</A></STRONG>*
+                    hline                    <STRONG><A HREF="curs_border.3x.html">curs_border(3x)</A></STRONG>
+                    hline_set                <STRONG><A HREF="curs_border_set.3x.html">curs_border_set(3x)</A></STRONG>
+                    idcok                    <STRONG><A HREF="curs_outopts.3x.html">curs_outopts(3x)</A></STRONG>
+                    idlok                    <STRONG><A HREF="curs_outopts.3x.html">curs_outopts(3x)</A></STRONG>
+                    immedok                  <STRONG><A HREF="curs_outopts.3x.html">curs_outopts(3x)</A></STRONG>
+                    in_wch                   <STRONG><A HREF="curs_in_wch.3x.html">curs_in_wch(3x)</A></STRONG>
+                    in_wchnstr               <STRONG><A HREF="curs_in_wchstr.3x.html">curs_in_wchstr(3x)</A></STRONG>
+                    in_wchstr                <STRONG><A HREF="curs_in_wchstr.3x.html">curs_in_wchstr(3x)</A></STRONG>
+                    inch                     <STRONG><A HREF="curs_inch.3x.html">curs_inch(3x)</A></STRONG>
+                    inchnstr                 <STRONG><A HREF="curs_inchstr.3x.html">curs_inchstr(3x)</A></STRONG>
+                    inchstr                  <STRONG><A HREF="curs_inchstr.3x.html">curs_inchstr(3x)</A></STRONG>
+                    init_color               <STRONG><A HREF="curs_color.3x.html">curs_color(3x)</A></STRONG>
+                    init_extended_color      <STRONG><A HREF="curs_color.3x.html">curs_color(3x)</A></STRONG>*
+                    init_extended_pair       <STRONG><A HREF="curs_color.3x.html">curs_color(3x)</A></STRONG>*
+                    init_pair                <STRONG><A HREF="curs_color.3x.html">curs_color(3x)</A></STRONG>
+                    initscr                  <STRONG><A HREF="curs_initscr.3x.html">curs_initscr(3x)</A></STRONG>
+                    innstr                   <STRONG><A HREF="curs_instr.3x.html">curs_instr(3x)</A></STRONG>
+                    innwstr                  <STRONG><A HREF="curs_inwstr.3x.html">curs_inwstr(3x)</A></STRONG>
+                    ins_nwstr                <STRONG><A HREF="curs_ins_wstr.3x.html">curs_ins_wstr(3x)</A></STRONG>
+                    ins_wch                  <STRONG><A HREF="curs_ins_wch.3x.html">curs_ins_wch(3x)</A></STRONG>
+                    ins_wstr                 <STRONG><A HREF="curs_ins_wstr.3x.html">curs_ins_wstr(3x)</A></STRONG>
+                    insch                    <STRONG><A HREF="curs_insch.3x.html">curs_insch(3x)</A></STRONG>
+                    insdelln                 <STRONG><A HREF="curs_deleteln.3x.html">curs_deleteln(3x)</A></STRONG>
+                    insertln                 <STRONG><A HREF="curs_deleteln.3x.html">curs_deleteln(3x)</A></STRONG>
+                    insnstr                  <STRONG><A HREF="curs_insstr.3x.html">curs_insstr(3x)</A></STRONG>
+                    insstr                   <STRONG><A HREF="curs_insstr.3x.html">curs_insstr(3x)</A></STRONG>
+                    instr                    <STRONG><A HREF="curs_instr.3x.html">curs_instr(3x)</A></STRONG>
+                    intrflush                <STRONG><A HREF="curs_inopts.3x.html">curs_inopts(3x)</A></STRONG>
+                    inwstr                   <STRONG><A HREF="curs_inwstr.3x.html">curs_inwstr(3x)</A></STRONG>
+                    is_cleared               <STRONG><A HREF="curs_opaque.3x.html">curs_opaque(3x)</A></STRONG>*
+                    is_idcok                 <STRONG><A HREF="curs_opaque.3x.html">curs_opaque(3x)</A></STRONG>*
+                    is_idlok                 <STRONG><A HREF="curs_opaque.3x.html">curs_opaque(3x)</A></STRONG>*
+                    is_immedok               <STRONG><A HREF="curs_opaque.3x.html">curs_opaque(3x)</A></STRONG>*
+                    is_keypad                <STRONG><A HREF="curs_opaque.3x.html">curs_opaque(3x)</A></STRONG>*
+                    is_leaveok               <STRONG><A HREF="curs_opaque.3x.html">curs_opaque(3x)</A></STRONG>*
+                    is_linetouched           <STRONG><A HREF="curs_touch.3x.html">curs_touch(3x)</A></STRONG>
+                    is_nodelay               <STRONG><A HREF="curs_opaque.3x.html">curs_opaque(3x)</A></STRONG>*
+                    is_notimeout             <STRONG><A HREF="curs_opaque.3x.html">curs_opaque(3x)</A></STRONG>*
+                    is_pad                   <STRONG><A HREF="curs_opaque.3x.html">curs_opaque(3x)</A></STRONG>*
+                    is_scrollok              <STRONG><A HREF="curs_opaque.3x.html">curs_opaque(3x)</A></STRONG>*
+                    is_subwin                <STRONG><A HREF="curs_opaque.3x.html">curs_opaque(3x)</A></STRONG>*
+                    is_syncok                <STRONG><A HREF="curs_opaque.3x.html">curs_opaque(3x)</A></STRONG>*
+                    is_term_resized          <STRONG><A HREF="resizeterm.3x.html">resizeterm(3x)</A></STRONG>*
+                    is_wintouched            <STRONG><A HREF="curs_touch.3x.html">curs_touch(3x)</A></STRONG>
+                    isendwin                 <STRONG><A HREF="curs_initscr.3x.html">curs_initscr(3x)</A></STRONG>
+                    key_defined              <STRONG><A HREF="key_defined.3x.html">key_defined(3x)</A></STRONG>*
+                    key_name                 <STRONG><A HREF="curs_util.3x.html">curs_util(3x)</A></STRONG>
+                    keybound                 <STRONG><A HREF="keybound.3x.html">keybound(3x)</A></STRONG>*
+                    keyname                  <STRONG><A HREF="curs_util.3x.html">curs_util(3x)</A></STRONG>
+                    keyok                    <STRONG><A HREF="keyok.3x.html">keyok(3x)</A></STRONG>*
+                    keypad                   <STRONG><A HREF="curs_inopts.3x.html">curs_inopts(3x)</A></STRONG>
+
+                    killchar                 <STRONG><A HREF="curs_termattrs.3x.html">curs_termattrs(3x)</A></STRONG>
+                    killwchar                <STRONG><A HREF="curs_termattrs.3x.html">curs_termattrs(3x)</A></STRONG>
+                    leaveok                  <STRONG><A HREF="curs_outopts.3x.html">curs_outopts(3x)</A></STRONG>
+                    longname                 <STRONG><A HREF="curs_termattrs.3x.html">curs_termattrs(3x)</A></STRONG>
+                    mcprint                  <STRONG><A HREF="curs_print.3x.html">curs_print(3x)</A></STRONG>*
+                    meta                     <STRONG><A HREF="curs_inopts.3x.html">curs_inopts(3x)</A></STRONG>
+                    mouse_trafo              <STRONG><A HREF="curs_mouse.3x.html">curs_mouse(3x)</A></STRONG>*
+                    mouseinterval            <STRONG><A HREF="curs_mouse.3x.html">curs_mouse(3x)</A></STRONG>*
+                    mousemask                <STRONG><A HREF="curs_mouse.3x.html">curs_mouse(3x)</A></STRONG>*
+                    move                     <STRONG><A HREF="curs_move.3x.html">curs_move(3x)</A></STRONG>
+                    mvadd_wch                <STRONG><A HREF="curs_add_wch.3x.html">curs_add_wch(3x)</A></STRONG>
+                    mvadd_wchnstr            <STRONG><A HREF="curs_add_wchstr.3x.html">curs_add_wchstr(3x)</A></STRONG>
+                    mvadd_wchstr             <STRONG><A HREF="curs_add_wchstr.3x.html">curs_add_wchstr(3x)</A></STRONG>
+                    mvaddch                  <STRONG><A HREF="curs_addch.3x.html">curs_addch(3x)</A></STRONG>
+                    mvaddchnstr              <STRONG><A HREF="curs_addchstr.3x.html">curs_addchstr(3x)</A></STRONG>
+                    mvaddchstr               <STRONG><A HREF="curs_addchstr.3x.html">curs_addchstr(3x)</A></STRONG>
+                    mvaddnstr                <STRONG><A HREF="curs_addstr.3x.html">curs_addstr(3x)</A></STRONG>
+                    mvaddnwstr               <STRONG><A HREF="curs_addwstr.3x.html">curs_addwstr(3x)</A></STRONG>
+                    mvaddstr                 <STRONG><A HREF="curs_addstr.3x.html">curs_addstr(3x)</A></STRONG>
+                    mvaddwstr                <STRONG><A HREF="curs_addwstr.3x.html">curs_addwstr(3x)</A></STRONG>
+                    mvchgat                  <STRONG><A HREF="curs_attr.3x.html">curs_attr(3x)</A></STRONG>
+                    mvcur                    <STRONG><A HREF="curs_terminfo.3x.html">curs_terminfo(3x)</A></STRONG>
+                    mvdelch                  <STRONG><A HREF="curs_delch.3x.html">curs_delch(3x)</A></STRONG>
+                    mvderwin                 <STRONG><A HREF="curs_window.3x.html">curs_window(3x)</A></STRONG>
+                    mvget_wch                <STRONG><A HREF="curs_get_wch.3x.html">curs_get_wch(3x)</A></STRONG>
+                    mvget_wstr               <STRONG><A HREF="curs_get_wstr.3x.html">curs_get_wstr(3x)</A></STRONG>
+                    mvgetch                  <STRONG><A HREF="curs_getch.3x.html">curs_getch(3x)</A></STRONG>
+                    mvgetn_wstr              <STRONG><A HREF="curs_get_wstr.3x.html">curs_get_wstr(3x)</A></STRONG>
+                    mvgetnstr                <STRONG><A HREF="curs_getstr.3x.html">curs_getstr(3x)</A></STRONG>
+                    mvgetstr                 <STRONG><A HREF="curs_getstr.3x.html">curs_getstr(3x)</A></STRONG>
+                    mvhline                  <STRONG><A HREF="curs_border.3x.html">curs_border(3x)</A></STRONG>
+                    mvhline_set              <STRONG><A HREF="curs_border_set.3x.html">curs_border_set(3x)</A></STRONG>
+                    mvin_wch                 <STRONG><A HREF="curs_in_wch.3x.html">curs_in_wch(3x)</A></STRONG>
+                    mvin_wchnstr             <STRONG><A HREF="curs_in_wchstr.3x.html">curs_in_wchstr(3x)</A></STRONG>
+                    mvin_wchstr              <STRONG><A HREF="curs_in_wchstr.3x.html">curs_in_wchstr(3x)</A></STRONG>
+                    mvinch                   <STRONG><A HREF="curs_inch.3x.html">curs_inch(3x)</A></STRONG>
+                    mvinchnstr               <STRONG><A HREF="curs_inchstr.3x.html">curs_inchstr(3x)</A></STRONG>
+                    mvinchstr                <STRONG><A HREF="curs_inchstr.3x.html">curs_inchstr(3x)</A></STRONG>
+                    mvinnstr                 <STRONG><A HREF="curs_instr.3x.html">curs_instr(3x)</A></STRONG>
+                    mvinnwstr                <STRONG><A HREF="curs_inwstr.3x.html">curs_inwstr(3x)</A></STRONG>
+                    mvins_nwstr              <STRONG><A HREF="curs_ins_wstr.3x.html">curs_ins_wstr(3x)</A></STRONG>
+                    mvins_wch                <STRONG><A HREF="curs_ins_wch.3x.html">curs_ins_wch(3x)</A></STRONG>
+                    mvins_wstr               <STRONG><A HREF="curs_ins_wstr.3x.html">curs_ins_wstr(3x)</A></STRONG>
+                    mvinsch                  <STRONG><A HREF="curs_insch.3x.html">curs_insch(3x)</A></STRONG>
+                    mvinsnstr                <STRONG><A HREF="curs_insstr.3x.html">curs_insstr(3x)</A></STRONG>
+                    mvinsstr                 <STRONG><A HREF="curs_insstr.3x.html">curs_insstr(3x)</A></STRONG>
+                    mvinstr                  <STRONG><A HREF="curs_instr.3x.html">curs_instr(3x)</A></STRONG>
+                    mvinwstr                 <STRONG><A HREF="curs_inwstr.3x.html">curs_inwstr(3x)</A></STRONG>
+                    mvprintw                 <STRONG><A HREF="curs_printw.3x.html">curs_printw(3x)</A></STRONG>
+                    mvscanw                  <STRONG><A HREF="curs_scanw.3x.html">curs_scanw(3x)</A></STRONG>
+                    mvvline                  <STRONG><A HREF="curs_border.3x.html">curs_border(3x)</A></STRONG>
+                    mvvline_set              <STRONG><A HREF="curs_border_set.3x.html">curs_border_set(3x)</A></STRONG>
+                    mvwadd_wch               <STRONG><A HREF="curs_add_wch.3x.html">curs_add_wch(3x)</A></STRONG>
+                    mvwadd_wchnstr           <STRONG><A HREF="curs_add_wchstr.3x.html">curs_add_wchstr(3x)</A></STRONG>
+                    mvwadd_wchstr            <STRONG><A HREF="curs_add_wchstr.3x.html">curs_add_wchstr(3x)</A></STRONG>
+                    mvwaddch                 <STRONG><A HREF="curs_addch.3x.html">curs_addch(3x)</A></STRONG>
+                    mvwaddchnstr             <STRONG><A HREF="curs_addchstr.3x.html">curs_addchstr(3x)</A></STRONG>
+                    mvwaddchstr              <STRONG><A HREF="curs_addchstr.3x.html">curs_addchstr(3x)</A></STRONG>
+                    mvwaddnstr               <STRONG><A HREF="curs_addstr.3x.html">curs_addstr(3x)</A></STRONG>
+                    mvwaddnwstr              <STRONG><A HREF="curs_addwstr.3x.html">curs_addwstr(3x)</A></STRONG>
+                    mvwaddstr                <STRONG><A HREF="curs_addstr.3x.html">curs_addstr(3x)</A></STRONG>
+                    mvwaddwstr               <STRONG><A HREF="curs_addwstr.3x.html">curs_addwstr(3x)</A></STRONG>
+                    mvwchgat                 <STRONG><A HREF="curs_attr.3x.html">curs_attr(3x)</A></STRONG>
+                    mvwdelch                 <STRONG><A HREF="curs_delch.3x.html">curs_delch(3x)</A></STRONG>
+                    mvwget_wch               <STRONG><A HREF="curs_get_wch.3x.html">curs_get_wch(3x)</A></STRONG>
+
+                    mvwget_wstr              <STRONG><A HREF="curs_get_wstr.3x.html">curs_get_wstr(3x)</A></STRONG>
+                    mvwgetch                 <STRONG><A HREF="curs_getch.3x.html">curs_getch(3x)</A></STRONG>
+                    mvwgetn_wstr             <STRONG><A HREF="curs_get_wstr.3x.html">curs_get_wstr(3x)</A></STRONG>
+                    mvwgetnstr               <STRONG><A HREF="curs_getstr.3x.html">curs_getstr(3x)</A></STRONG>
+                    mvwgetstr                <STRONG><A HREF="curs_getstr.3x.html">curs_getstr(3x)</A></STRONG>
+                    mvwhline                 <STRONG><A HREF="curs_border.3x.html">curs_border(3x)</A></STRONG>
+                    mvwhline_set             <STRONG><A HREF="curs_border_set.3x.html">curs_border_set(3x)</A></STRONG>
+                    mvwin                    <STRONG><A HREF="curs_window.3x.html">curs_window(3x)</A></STRONG>
+                    mvwin_wch                <STRONG><A HREF="curs_in_wch.3x.html">curs_in_wch(3x)</A></STRONG>
+                    mvwin_wchnstr            <STRONG><A HREF="curs_in_wchstr.3x.html">curs_in_wchstr(3x)</A></STRONG>
+                    mvwin_wchstr             <STRONG><A HREF="curs_in_wchstr.3x.html">curs_in_wchstr(3x)</A></STRONG>
+                    mvwinch                  <STRONG><A HREF="curs_inch.3x.html">curs_inch(3x)</A></STRONG>
+                    mvwinchnstr              <STRONG><A HREF="curs_inchstr.3x.html">curs_inchstr(3x)</A></STRONG>
+                    mvwinchstr               <STRONG><A HREF="curs_inchstr.3x.html">curs_inchstr(3x)</A></STRONG>
+                    mvwinnstr                <STRONG><A HREF="curs_instr.3x.html">curs_instr(3x)</A></STRONG>
+                    mvwinnwstr               <STRONG><A HREF="curs_inwstr.3x.html">curs_inwstr(3x)</A></STRONG>
+                    mvwins_nwstr             <STRONG><A HREF="curs_ins_wstr.3x.html">curs_ins_wstr(3x)</A></STRONG>
+                    mvwins_wch               <STRONG><A HREF="curs_ins_wch.3x.html">curs_ins_wch(3x)</A></STRONG>
+                    mvwins_wstr              <STRONG><A HREF="curs_ins_wstr.3x.html">curs_ins_wstr(3x)</A></STRONG>
+                    mvwinsch                 <STRONG><A HREF="curs_insch.3x.html">curs_insch(3x)</A></STRONG>
+                    mvwinsnstr               <STRONG><A HREF="curs_insstr.3x.html">curs_insstr(3x)</A></STRONG>
+                    mvwinsstr                <STRONG><A HREF="curs_insstr.3x.html">curs_insstr(3x)</A></STRONG>
+                    mvwinstr                 <STRONG><A HREF="curs_instr.3x.html">curs_instr(3x)</A></STRONG>
+                    mvwinwstr                <STRONG><A HREF="curs_inwstr.3x.html">curs_inwstr(3x)</A></STRONG>
+                    mvwprintw                <STRONG><A HREF="curs_printw.3x.html">curs_printw(3x)</A></STRONG>
+                    mvwscanw                 <STRONG><A HREF="curs_scanw.3x.html">curs_scanw(3x)</A></STRONG>
+                    mvwvline                 <STRONG><A HREF="curs_border.3x.html">curs_border(3x)</A></STRONG>
+                    mvwvline_set             <STRONG><A HREF="curs_border_set.3x.html">curs_border_set(3x)</A></STRONG>
+                    napms                    <STRONG><A HREF="curs_kernel.3x.html">curs_kernel(3x)</A></STRONG>
+                    newpad                   <STRONG><A HREF="curs_pad.3x.html">curs_pad(3x)</A></STRONG>
+                    newterm                  <STRONG><A HREF="curs_initscr.3x.html">curs_initscr(3x)</A></STRONG>
+                    newwin                   <STRONG><A HREF="curs_window.3x.html">curs_window(3x)</A></STRONG>
+                    nl                       <STRONG><A HREF="curs_outopts.3x.html">curs_outopts(3x)</A></STRONG>
+                    nocbreak                 <STRONG><A HREF="curs_inopts.3x.html">curs_inopts(3x)</A></STRONG>
+                    nodelay                  <STRONG><A HREF="curs_inopts.3x.html">curs_inopts(3x)</A></STRONG>
+                    noecho                   <STRONG><A HREF="curs_inopts.3x.html">curs_inopts(3x)</A></STRONG>
+                    nofilter                 <STRONG><A HREF="curs_util.3x.html">curs_util(3x)</A></STRONG>*
+                    nonl                     <STRONG><A HREF="curs_outopts.3x.html">curs_outopts(3x)</A></STRONG>
+                    noqiflush                <STRONG><A HREF="curs_inopts.3x.html">curs_inopts(3x)</A></STRONG>
+                    noraw                    <STRONG><A HREF="curs_inopts.3x.html">curs_inopts(3x)</A></STRONG>
+                    notimeout                <STRONG><A HREF="curs_inopts.3x.html">curs_inopts(3x)</A></STRONG>
+                    overlay                  <STRONG><A HREF="curs_overlay.3x.html">curs_overlay(3x)</A></STRONG>
+                    overwrite                <STRONG><A HREF="curs_overlay.3x.html">curs_overlay(3x)</A></STRONG>
+                    pair_content             <STRONG><A HREF="curs_color.3x.html">curs_color(3x)</A></STRONG>
+                    pechochar                <STRONG><A HREF="curs_pad.3x.html">curs_pad(3x)</A></STRONG>
+                    pnoutrefresh             <STRONG><A HREF="curs_pad.3x.html">curs_pad(3x)</A></STRONG>
+                    prefresh                 <STRONG><A HREF="curs_pad.3x.html">curs_pad(3x)</A></STRONG>
+                    printw                   <STRONG><A HREF="curs_printw.3x.html">curs_printw(3x)</A></STRONG>
+                    putp                     <STRONG><A HREF="curs_terminfo.3x.html">curs_terminfo(3x)</A></STRONG>
+                    putwin                   <STRONG><A HREF="curs_util.3x.html">curs_util(3x)</A></STRONG>
+                    qiflush                  <STRONG><A HREF="curs_inopts.3x.html">curs_inopts(3x)</A></STRONG>
+                    raw                      <STRONG><A HREF="curs_inopts.3x.html">curs_inopts(3x)</A></STRONG>
+                    redrawwin                <STRONG><A HREF="curs_refresh.3x.html">curs_refresh(3x)</A></STRONG>
+                    refresh                  <STRONG><A HREF="curs_refresh.3x.html">curs_refresh(3x)</A></STRONG>
+                    reset_prog_mode          <STRONG><A HREF="curs_kernel.3x.html">curs_kernel(3x)</A></STRONG>
+                    reset_shell_mode         <STRONG><A HREF="curs_kernel.3x.html">curs_kernel(3x)</A></STRONG>
+                    resetty                  <STRONG><A HREF="curs_kernel.3x.html">curs_kernel(3x)</A></STRONG>
+                    resize_term              <STRONG><A HREF="resizeterm.3x.html">resizeterm(3x)</A></STRONG>*
+                    resizeterm               <STRONG><A HREF="resizeterm.3x.html">resizeterm(3x)</A></STRONG>*
+                    restartterm              <STRONG><A HREF="curs_terminfo.3x.html">curs_terminfo(3x)</A></STRONG>
+                    ripoffline               <STRONG><A HREF="curs_kernel.3x.html">curs_kernel(3x)</A></STRONG>
+                    savetty                  <STRONG><A HREF="curs_kernel.3x.html">curs_kernel(3x)</A></STRONG>
+                    scanw                    <STRONG><A HREF="curs_scanw.3x.html">curs_scanw(3x)</A></STRONG>
+                    scr_dump                 <STRONG><A HREF="curs_scr_dump.3x.html">curs_scr_dump(3x)</A></STRONG>
+                    scr_init                 <STRONG><A HREF="curs_scr_dump.3x.html">curs_scr_dump(3x)</A></STRONG>
+
+                    scr_restore              <STRONG><A HREF="curs_scr_dump.3x.html">curs_scr_dump(3x)</A></STRONG>
+                    scr_set                  <STRONG><A HREF="curs_scr_dump.3x.html">curs_scr_dump(3x)</A></STRONG>
+                    scrl                     <STRONG><A HREF="curs_scroll.3x.html">curs_scroll(3x)</A></STRONG>
+                    scroll                   <STRONG><A HREF="curs_scroll.3x.html">curs_scroll(3x)</A></STRONG>
+                    scrollok                 <STRONG><A HREF="curs_outopts.3x.html">curs_outopts(3x)</A></STRONG>
+                    set_curterm              <STRONG><A HREF="curs_terminfo.3x.html">curs_terminfo(3x)</A></STRONG>
+                    set_term                 <STRONG><A HREF="curs_initscr.3x.html">curs_initscr(3x)</A></STRONG>
+                    setcchar                 <STRONG><A HREF="curs_getcchar.3x.html">curs_getcchar(3x)</A></STRONG>
+                    setscrreg                <STRONG><A HREF="curs_outopts.3x.html">curs_outopts(3x)</A></STRONG>
+                    setsyx                   <STRONG><A HREF="curs_kernel.3x.html">curs_kernel(3x)</A></STRONG>
+                    setterm                  <STRONG><A HREF="curs_terminfo.3x.html">curs_terminfo(3x)</A></STRONG>
+                    setupterm                <STRONG><A HREF="curs_terminfo.3x.html">curs_terminfo(3x)</A></STRONG>
+                    slk_attr                 <STRONG><A HREF="curs_slk.3x.html">curs_slk(3x)</A></STRONG>*
+                    slk_attr_off             <STRONG><A HREF="curs_slk.3x.html">curs_slk(3x)</A></STRONG>
+                    slk_attr_on              <STRONG><A HREF="curs_slk.3x.html">curs_slk(3x)</A></STRONG>
+                    slk_attr_set             <STRONG><A HREF="curs_slk.3x.html">curs_slk(3x)</A></STRONG>
+                    slk_attroff              <STRONG><A HREF="curs_slk.3x.html">curs_slk(3x)</A></STRONG>
+                    slk_attron               <STRONG><A HREF="curs_slk.3x.html">curs_slk(3x)</A></STRONG>
+                    slk_attrset              <STRONG><A HREF="curs_slk.3x.html">curs_slk(3x)</A></STRONG>
+                    slk_clear                <STRONG><A HREF="curs_slk.3x.html">curs_slk(3x)</A></STRONG>
+                    slk_color                <STRONG><A HREF="curs_slk.3x.html">curs_slk(3x)</A></STRONG>
+                    slk_init                 <STRONG><A HREF="curs_slk.3x.html">curs_slk(3x)</A></STRONG>
+                    slk_label                <STRONG><A HREF="curs_slk.3x.html">curs_slk(3x)</A></STRONG>
+                    slk_noutrefresh          <STRONG><A HREF="curs_slk.3x.html">curs_slk(3x)</A></STRONG>
+                    slk_refresh              <STRONG><A HREF="curs_slk.3x.html">curs_slk(3x)</A></STRONG>
+                    slk_restore              <STRONG><A HREF="curs_slk.3x.html">curs_slk(3x)</A></STRONG>
+                    slk_set                  <STRONG><A HREF="curs_slk.3x.html">curs_slk(3x)</A></STRONG>
+                    slk_touch                <STRONG><A HREF="curs_slk.3x.html">curs_slk(3x)</A></STRONG>
+                    standend                 <STRONG><A HREF="curs_attr.3x.html">curs_attr(3x)</A></STRONG>
+                    standout                 <STRONG><A HREF="curs_attr.3x.html">curs_attr(3x)</A></STRONG>
+                    start_color              <STRONG><A HREF="curs_color.3x.html">curs_color(3x)</A></STRONG>
+                    subpad                   <STRONG><A HREF="curs_pad.3x.html">curs_pad(3x)</A></STRONG>
+                    subwin                   <STRONG><A HREF="curs_window.3x.html">curs_window(3x)</A></STRONG>
+                    syncok                   <STRONG><A HREF="curs_window.3x.html">curs_window(3x)</A></STRONG>
+                    term_attrs               <STRONG><A HREF="curs_termattrs.3x.html">curs_termattrs(3x)</A></STRONG>
+                    termattrs                <STRONG><A HREF="curs_termattrs.3x.html">curs_termattrs(3x)</A></STRONG>
+                    termname                 <STRONG><A HREF="curs_termattrs.3x.html">curs_termattrs(3x)</A></STRONG>
+                    tgetent                  <STRONG><A HREF="curs_termcap.3x.html">curs_termcap(3x)</A></STRONG>
+                    tgetflag                 <STRONG><A HREF="curs_termcap.3x.html">curs_termcap(3x)</A></STRONG>
+                    tgetnum                  <STRONG><A HREF="curs_termcap.3x.html">curs_termcap(3x)</A></STRONG>
+                    tgetstr                  <STRONG><A HREF="curs_termcap.3x.html">curs_termcap(3x)</A></STRONG>
+                    tgoto                    <STRONG><A HREF="curs_termcap.3x.html">curs_termcap(3x)</A></STRONG>
+                    tigetflag                <STRONG><A HREF="curs_terminfo.3x.html">curs_terminfo(3x)</A></STRONG>
+                    tigetnum                 <STRONG><A HREF="curs_terminfo.3x.html">curs_terminfo(3x)</A></STRONG>
+                    tigetstr                 <STRONG><A HREF="curs_terminfo.3x.html">curs_terminfo(3x)</A></STRONG>
+                    timeout                  <STRONG><A HREF="curs_inopts.3x.html">curs_inopts(3x)</A></STRONG>
+                    tiparm                   <STRONG><A HREF="curs_terminfo.3x.html">curs_terminfo(3x)</A></STRONG>*
+                    touchline                <STRONG><A HREF="curs_touch.3x.html">curs_touch(3x)</A></STRONG>
+                    touchwin                 <STRONG><A HREF="curs_touch.3x.html">curs_touch(3x)</A></STRONG>
+                    tparm                    <STRONG><A HREF="curs_terminfo.3x.html">curs_terminfo(3x)</A></STRONG>
+                    tputs                    <STRONG><A HREF="curs_termcap.3x.html">curs_termcap(3x)</A></STRONG>
+                    tputs                    <STRONG><A HREF="curs_terminfo.3x.html">curs_terminfo(3x)</A></STRONG>
+                    trace                    <STRONG><A HREF="curs_trace.3x.html">curs_trace(3x)</A></STRONG>*
+                    typeahead                <STRONG><A HREF="curs_inopts.3x.html">curs_inopts(3x)</A></STRONG>
+                    unctrl                   <STRONG><A HREF="curs_util.3x.html">curs_util(3x)</A></STRONG>
+                    unget_wch                <STRONG><A HREF="curs_get_wch.3x.html">curs_get_wch(3x)</A></STRONG>
+                    ungetch                  <STRONG><A HREF="curs_getch.3x.html">curs_getch(3x)</A></STRONG>
+                    ungetmouse               <STRONG><A HREF="curs_mouse.3x.html">curs_mouse(3x)</A></STRONG>*
+                    untouchwin               <STRONG><A HREF="curs_touch.3x.html">curs_touch(3x)</A></STRONG>
+                    use_default_colors       <STRONG><A HREF="default_colors.3x.html">default_colors(3x)</A></STRONG>*
+                    use_env                  <STRONG><A HREF="curs_util.3x.html">curs_util(3x)</A></STRONG>
+                    use_extended_names       <STRONG><A HREF="curs_extend.3x.html">curs_extend(3x)</A></STRONG>*
+                    use_legacy_coding        <STRONG><A HREF="legacy_coding.3x.html">legacy_coding(3x)</A></STRONG>*
+                    use_tioctl               <STRONG><A HREF="curs_util.3x.html">curs_util(3x)</A></STRONG>
+                    vid_attr                 <STRONG><A HREF="curs_terminfo.3x.html">curs_terminfo(3x)</A></STRONG>
+
+                    vid_puts                 <STRONG><A HREF="curs_terminfo.3x.html">curs_terminfo(3x)</A></STRONG>
+                    vidattr                  <STRONG><A HREF="curs_terminfo.3x.html">curs_terminfo(3x)</A></STRONG>
+                    vidputs                  <STRONG><A HREF="curs_terminfo.3x.html">curs_terminfo(3x)</A></STRONG>
+                    vline                    <STRONG><A HREF="curs_border.3x.html">curs_border(3x)</A></STRONG>
+                    vline_set                <STRONG><A HREF="curs_border_set.3x.html">curs_border_set(3x)</A></STRONG>
+                    vw_printw                <STRONG><A HREF="curs_printw.3x.html">curs_printw(3x)</A></STRONG>
+                    vw_scanw                 <STRONG><A HREF="curs_scanw.3x.html">curs_scanw(3x)</A></STRONG>
+                    vwprintw                 <STRONG><A HREF="curs_printw.3x.html">curs_printw(3x)</A></STRONG>
+                    vwscanw                  <STRONG><A HREF="curs_scanw.3x.html">curs_scanw(3x)</A></STRONG>
+                    wadd_wch                 <STRONG><A HREF="curs_add_wch.3x.html">curs_add_wch(3x)</A></STRONG>
+                    wadd_wchnstr             <STRONG><A HREF="curs_add_wchstr.3x.html">curs_add_wchstr(3x)</A></STRONG>
+                    wadd_wchstr              <STRONG><A HREF="curs_add_wchstr.3x.html">curs_add_wchstr(3x)</A></STRONG>
+                    waddch                   <STRONG><A HREF="curs_addch.3x.html">curs_addch(3x)</A></STRONG>
+                    waddchnstr               <STRONG><A HREF="curs_addchstr.3x.html">curs_addchstr(3x)</A></STRONG>
+                    waddchstr                <STRONG><A HREF="curs_addchstr.3x.html">curs_addchstr(3x)</A></STRONG>
+                    waddnstr                 <STRONG><A HREF="curs_addstr.3x.html">curs_addstr(3x)</A></STRONG>
+                    waddnwstr                <STRONG><A HREF="curs_addwstr.3x.html">curs_addwstr(3x)</A></STRONG>
+                    waddstr                  <STRONG><A HREF="curs_addstr.3x.html">curs_addstr(3x)</A></STRONG>
+                    waddwstr                 <STRONG><A HREF="curs_addwstr.3x.html">curs_addwstr(3x)</A></STRONG>
+                    wattr_get                <STRONG><A HREF="curs_attr.3x.html">curs_attr(3x)</A></STRONG>
+                    wattr_off                <STRONG><A HREF="curs_attr.3x.html">curs_attr(3x)</A></STRONG>
+                    wattr_on                 <STRONG><A HREF="curs_attr.3x.html">curs_attr(3x)</A></STRONG>
+                    wattr_set                <STRONG><A HREF="curs_attr.3x.html">curs_attr(3x)</A></STRONG>
+                    wattroff                 <STRONG><A HREF="curs_attr.3x.html">curs_attr(3x)</A></STRONG>
+                    wattron                  <STRONG><A HREF="curs_attr.3x.html">curs_attr(3x)</A></STRONG>
+                    wattrset                 <STRONG><A HREF="curs_attr.3x.html">curs_attr(3x)</A></STRONG>
+                    wbkgd                    <STRONG><A HREF="curs_bkgd.3x.html">curs_bkgd(3x)</A></STRONG>
+                    wbkgdset                 <STRONG><A HREF="curs_bkgd.3x.html">curs_bkgd(3x)</A></STRONG>
+                    wbkgrnd                  <STRONG><A HREF="curs_bkgrnd.3x.html">curs_bkgrnd(3x)</A></STRONG>
+                    wbkgrndset               <STRONG><A HREF="curs_bkgrnd.3x.html">curs_bkgrnd(3x)</A></STRONG>
+                    wborder                  <STRONG><A HREF="curs_border.3x.html">curs_border(3x)</A></STRONG>
+                    wborder_set              <STRONG><A HREF="curs_border_set.3x.html">curs_border_set(3x)</A></STRONG>
+                    wchgat                   <STRONG><A HREF="curs_attr.3x.html">curs_attr(3x)</A></STRONG>
+                    wclear                   <STRONG><A HREF="curs_clear.3x.html">curs_clear(3x)</A></STRONG>
+                    wclrtobot                <STRONG><A HREF="curs_clear.3x.html">curs_clear(3x)</A></STRONG>
+                    wclrtoeol                <STRONG><A HREF="curs_clear.3x.html">curs_clear(3x)</A></STRONG>
+                    wcolor_set               <STRONG><A HREF="curs_attr.3x.html">curs_attr(3x)</A></STRONG>
+                    wcursyncup               <STRONG><A HREF="curs_window.3x.html">curs_window(3x)</A></STRONG>
+                    wdelch                   <STRONG><A HREF="curs_delch.3x.html">curs_delch(3x)</A></STRONG>
+                    wdeleteln                <STRONG><A HREF="curs_deleteln.3x.html">curs_deleteln(3x)</A></STRONG>
+                    wecho_wchar              <STRONG><A HREF="curs_add_wch.3x.html">curs_add_wch(3x)</A></STRONG>
+                    wechochar                <STRONG><A HREF="curs_addch.3x.html">curs_addch(3x)</A></STRONG>
+                    wenclose                 <STRONG><A HREF="curs_mouse.3x.html">curs_mouse(3x)</A></STRONG>*
+                    werase                   <STRONG><A HREF="curs_clear.3x.html">curs_clear(3x)</A></STRONG>
+                    wget_wch                 <STRONG><A HREF="curs_get_wch.3x.html">curs_get_wch(3x)</A></STRONG>
+                    wget_wstr                <STRONG><A HREF="curs_get_wstr.3x.html">curs_get_wstr(3x)</A></STRONG>
+                    wgetbkgrnd               <STRONG><A HREF="curs_bkgrnd.3x.html">curs_bkgrnd(3x)</A></STRONG>
+                    wgetch                   <STRONG><A HREF="curs_getch.3x.html">curs_getch(3x)</A></STRONG>
+                    wgetdelay                <STRONG><A HREF="curs_opaque.3x.html">curs_opaque(3x)</A></STRONG>*
+                    wgetn_wstr               <STRONG><A HREF="curs_get_wstr.3x.html">curs_get_wstr(3x)</A></STRONG>
+                    wgetnstr                 <STRONG><A HREF="curs_getstr.3x.html">curs_getstr(3x)</A></STRONG>
+                    wgetparent               <STRONG><A HREF="curs_opaque.3x.html">curs_opaque(3x)</A></STRONG>*
+                    wgetscrreg               <STRONG><A HREF="curs_opaque.3x.html">curs_opaque(3x)</A></STRONG>*
+                    wgetstr                  <STRONG><A HREF="curs_getstr.3x.html">curs_getstr(3x)</A></STRONG>
+                    whline                   <STRONG><A HREF="curs_border.3x.html">curs_border(3x)</A></STRONG>
+                    whline_set               <STRONG><A HREF="curs_border_set.3x.html">curs_border_set(3x)</A></STRONG>
+                    win_wch                  <STRONG><A HREF="curs_in_wch.3x.html">curs_in_wch(3x)</A></STRONG>
+                    win_wchnstr              <STRONG><A HREF="curs_in_wchstr.3x.html">curs_in_wchstr(3x)</A></STRONG>
+                    win_wchstr               <STRONG><A HREF="curs_in_wchstr.3x.html">curs_in_wchstr(3x)</A></STRONG>
+                    winch                    <STRONG><A HREF="curs_inch.3x.html">curs_inch(3x)</A></STRONG>
+                    winchnstr                <STRONG><A HREF="curs_inchstr.3x.html">curs_inchstr(3x)</A></STRONG>
+                    winchstr                 <STRONG><A HREF="curs_inchstr.3x.html">curs_inchstr(3x)</A></STRONG>
+                    winnstr                  <STRONG><A HREF="curs_instr.3x.html">curs_instr(3x)</A></STRONG>
+                    winnwstr                 <STRONG><A HREF="curs_inwstr.3x.html">curs_inwstr(3x)</A></STRONG>
+                    wins_nwstr               <STRONG><A HREF="curs_ins_wstr.3x.html">curs_ins_wstr(3x)</A></STRONG>
+
+                    wins_wch                 <STRONG><A HREF="curs_ins_wch.3x.html">curs_ins_wch(3x)</A></STRONG>
+                    wins_wstr                <STRONG><A HREF="curs_ins_wstr.3x.html">curs_ins_wstr(3x)</A></STRONG>
+                    winsch                   <STRONG><A HREF="curs_insch.3x.html">curs_insch(3x)</A></STRONG>
+                    winsdelln                <STRONG><A HREF="curs_deleteln.3x.html">curs_deleteln(3x)</A></STRONG>
+                    winsertln                <STRONG><A HREF="curs_deleteln.3x.html">curs_deleteln(3x)</A></STRONG>
+                    winsnstr                 <STRONG><A HREF="curs_insstr.3x.html">curs_insstr(3x)</A></STRONG>
+                    winsstr                  <STRONG><A HREF="curs_insstr.3x.html">curs_insstr(3x)</A></STRONG>
+                    winstr                   <STRONG><A HREF="curs_instr.3x.html">curs_instr(3x)</A></STRONG>
+                    winwstr                  <STRONG><A HREF="curs_inwstr.3x.html">curs_inwstr(3x)</A></STRONG>
+                    wmouse_trafo             <STRONG><A HREF="curs_mouse.3x.html">curs_mouse(3x)</A></STRONG>*
+                    wmove                    <STRONG><A HREF="curs_move.3x.html">curs_move(3x)</A></STRONG>
+                    wnoutrefresh             <STRONG><A HREF="curs_refresh.3x.html">curs_refresh(3x)</A></STRONG>
+                    wprintw                  <STRONG><A HREF="curs_printw.3x.html">curs_printw(3x)</A></STRONG>
+                    wredrawln                <STRONG><A HREF="curs_refresh.3x.html">curs_refresh(3x)</A></STRONG>
+                    wrefresh                 <STRONG><A HREF="curs_refresh.3x.html">curs_refresh(3x)</A></STRONG>
+                    wresize                  <STRONG><A HREF="wresize.3x.html">wresize(3x)</A></STRONG>*
+                    wscanw                   <STRONG><A HREF="curs_scanw.3x.html">curs_scanw(3x)</A></STRONG>
+                    wscrl                    <STRONG><A HREF="curs_scroll.3x.html">curs_scroll(3x)</A></STRONG>
+                    wsetscrreg               <STRONG><A HREF="curs_outopts.3x.html">curs_outopts(3x)</A></STRONG>
+                    wstandend                <STRONG><A HREF="curs_attr.3x.html">curs_attr(3x)</A></STRONG>
+                    wstandout                <STRONG><A HREF="curs_attr.3x.html">curs_attr(3x)</A></STRONG>
+                    wsyncdown                <STRONG><A HREF="curs_window.3x.html">curs_window(3x)</A></STRONG>
+                    wsyncup                  <STRONG><A HREF="curs_window.3x.html">curs_window(3x)</A></STRONG>
+                    wtimeout                 <STRONG><A HREF="curs_inopts.3x.html">curs_inopts(3x)</A></STRONG>
+                    wtouchln                 <STRONG><A HREF="curs_touch.3x.html">curs_touch(3x)</A></STRONG>
+                    wunctrl                  <STRONG><A HREF="curs_util.3x.html">curs_util(3x)</A></STRONG>
+                    wvline                   <STRONG><A HREF="curs_border.3x.html">curs_border(3x)</A></STRONG>
+                    wvline_set               <STRONG><A HREF="curs_border_set.3x.html">curs_border_set(3x)</A></STRONG>
 
 
 </PRE><H2><a name="h2-RETURN-VALUE">RETURN VALUE</a></H2><PRE>
-       Routines  that  return  an integer return <STRONG>ERR</STRONG> upon failure
-       and an integer value other than <STRONG>ERR</STRONG> upon  successful  com-
-       pletion,  unless  otherwise  noted in the routine descrip-
-       tions.
+       Routines  that return an integer return <STRONG>ERR</STRONG> upon failure and an integer
+       value other than <STRONG>ERR</STRONG> upon successful completion, unless otherwise noted
+       in the routine descriptions.
 
-       As a general rule, routines check for null pointers passed
-       as parameters, and handle this as an error.
+       As  a  general rule, routines check for null pointers passed as parame-
+       ters, and handle this as an error.
 
-       All  macros  return  the  value  of  the <STRONG>w</STRONG> version, except
-       <STRONG>setscrreg</STRONG>, <STRONG>wsetscrreg</STRONG>, <STRONG>getyx</STRONG>, <STRONG>getbegyx</STRONG>, and <STRONG>getmaxyx</STRONG>.  The
-       return  values  of <STRONG>setscrreg</STRONG>, <STRONG>wsetscrreg</STRONG>, <STRONG>getyx</STRONG>, <STRONG>getbegyx</STRONG>,
-       and <STRONG>getmaxyx</STRONG> are undefined (i.e., these should not be used
-       as the right-hand side of assignment statements).
+       All macros return  the  value  of  the  <STRONG>w</STRONG>  version,  except  <STRONG>setscrreg</STRONG>,
+       <STRONG>wsetscrreg</STRONG>,  <STRONG>getyx</STRONG>,  <STRONG>getbegyx</STRONG>,  and  <STRONG>getmaxyx</STRONG>.   The  return  values of
+       <STRONG>setscrreg</STRONG>, <STRONG>wsetscrreg</STRONG>, <STRONG>getyx</STRONG>,  <STRONG>getbegyx</STRONG>,  and  <STRONG>getmaxyx</STRONG>  are  undefined
+       (i.e.,  these  should  not be used as the right-hand side of assignment
+       statements).
 
        Routines that return pointers return <STRONG>NULL</STRONG> on error.
 
 
 </PRE><H2><a name="h2-ENVIRONMENT">ENVIRONMENT</a></H2><PRE>
-       The following environment symbols are useful for customiz-
-       ing the runtime behavior of the <STRONG>ncurses</STRONG> library.  The most
-       important ones have been already discussed in detail.
+       The following environment symbols are useful for customizing  the  run-
+       time  behavior  of  the  <STRONG>ncurses</STRONG> library.  The most important ones have
+       been already discussed in detail.
 
-   <STRONG>CC</STRONG>
-       When  set,  change  occurrences  of  the command_character
-       (i.e.,  the  <STRONG>cmdch</STRONG>  capability)  of  the  loaded  terminfo
-       entries  to the value of this variable.  Very few terminfo
-       entries provide this feature.
 
-       Because this name is also used in development environments
-       to  represent the C compiler's name, <STRONG>ncurses</STRONG> ignores it if
-       it does not happen to be a single character.
+</PRE><H3><a name="h3-CC-command-character">CC command-character</a></H3><PRE>
+       When set, change occurrences of the command_character (i.e., the  <STRONG>cmdch</STRONG>
+       capability)  of  the loaded terminfo entries to the value of this vari-
+       able.  Very few terminfo entries provide this feature.
+
+       Because this name is also used in development environments to represent
+       the C compiler's name, <STRONG>ncurses</STRONG> ignores it if it does not happen to be a
+       single character.
 
 
 </PRE><H3><a name="h3-BAUDRATE">BAUDRATE</a></H3><PRE>
-       The debugging library  checks  this  environment  variable
-       when the application has redirected output to a file.  The
-       variable's numeric value is used for the baudrate.  If  no
-       value is found, <STRONG>ncurses</STRONG> uses 9600.  This allows testers to
-       construct repeatable test-cases  that  take  into  account
-       costs that depend on baudrate.
+       The debugging library checks this environment variable when the  appli-
+       cation  has  redirected output to a file.  The variable's numeric value
+       is used for the baudrate.  If no value is  found,  <STRONG>ncurses</STRONG>  uses  9600.
+       This  allows  testers to construct repeatable test-cases that take into
+       account costs that depend on baudrate.
 
 
 </PRE><H3><a name="h3-COLUMNS">COLUMNS</a></H3><PRE>
-       Specify  the  width of the screen in characters.  Applica-
-       tions running in a windowing environment usually are  able
-       to  obtain  the width of the window in which they are exe-
-       cuting.  If neither the <STRONG>COLUMNS</STRONG> value nor  the  terminal's
-       screen  size is available, <STRONG>ncurses</STRONG> uses the size which may
-       be specified in the  terminfo  database  (i.e.,  the  <STRONG>cols</STRONG>
-       capability).
-
-       It  is  important that your application use a correct size
-       for the screen.  This is not always possible because  your
-       application  may be running on a host which does not honor
-       NAWS (Negotiations About Window Size), or because you  are
-       temporarily  running  as  another  user.  However, setting
-       <STRONG>COLUMNS</STRONG> and/or <STRONG>LINES</STRONG> overrides the library's  use  of  the
+       Specify the width of the screen in characters.  Applications running in
+       a  windowing  environment  usually  are able to obtain the width of the
+       window in which they are executing.  If neither the <STRONG>COLUMNS</STRONG>  value  nor
+       the  terminal's  screen  size is available, <STRONG>ncurses</STRONG> uses the size which
+       may be specified in the terminfo database (i.e., the <STRONG>cols</STRONG> capability).
+
+       It is important that your  application  use  a  correct  size  for  the
+       screen.   This  is  not always possible because your application may be
+       running on a host which does not honor NAWS (Negotiations About  Window
+       Size),  or  because  you are temporarily running as another user.  How-
+       ever, setting <STRONG>COLUMNS</STRONG> and/or <STRONG>LINES</STRONG> overrides the library's use  of  the
        screen size obtained from the operating system.
 
-       Either  <STRONG>COLUMNS</STRONG> or <STRONG>LINES</STRONG> symbols may be specified indepen-
-       dently.  This is mainly useful to circumvent  legacy  mis-
-       features  of terminal descriptions, e.g., xterm which com-
-       monly specifies a 65 line screen.  For best results, <STRONG>lines</STRONG>
-       and <STRONG>cols</STRONG> should not be specified in a terminal description
-       for terminals which are run as emulations.
+       Either  <STRONG>COLUMNS</STRONG>  or <STRONG>LINES</STRONG> symbols may be specified independently.  This
+       is mainly useful to circumvent legacy misfeatures of terminal  descrip-
+       tions, e.g., xterm which commonly specifies a 65 line screen.  For best
+       results, <STRONG>lines</STRONG> and <STRONG>cols</STRONG> should not be specified in a terminal  descrip-
+       tion for terminals which are run as emulations.
 
-       Use the <STRONG>use_env</STRONG> function to disable all  use  of  external
-       environment  (but not including system calls) to determine
-       the screen size.  Use the <STRONG>use_tioctl</STRONG>  function  to  update
-       <STRONG>COLUMNS</STRONG>  or  <STRONG>LINES</STRONG>  to match the screen size obtained from
-       system calls or the terminal database.
+       Use  the  <STRONG>use_env</STRONG>  function  to disable all use of external environment
+       (but not including system calls) to determine the screen size.  Use the
+       <STRONG>use_tioctl</STRONG> function to update <STRONG>COLUMNS</STRONG> or <STRONG>LINES</STRONG> to match the screen size
+       obtained from system calls or the terminal database.
 
 
 </PRE><H3><a name="h3-ESCDELAY">ESCDELAY</a></H3><PRE>
-       Specifies the  total  time,  in  milliseconds,  for  which
-       ncurses  will await a character sequence, e.g., a function
-       key.  The default value, 1000 milliseconds, is enough  for
-       most  uses.  However, it is made a variable to accommodate
-       unusual applications.
-
-       The most common instance where you may wish to change this
-       value  is to work with slow hosts, e.g., running on a net-
-       work.  If the host cannot read characters rapidly  enough,
-       it  will  have  the same effect as if the terminal did not
-       send characters rapidly enough.  The  library  will  still
-       see a timeout.
-
-       Note  that  xterm mouse events are built up from character
-       sequences received from the xterm.   If  your  application
-       makes  heavy  use  of  multiple-clicking,  you may wish to
-       lengthen this default value because the timeout applies to
-       the  composed  multi-click event as well as the individual
-       clicks.
-
-       In addition to the environment variable, this  implementa-
-       tion  provides a global variable with the same name.  Por-
-       table applications should not rely upon  the  presence  of
-       ESCDELAY in either form, but setting the environment vari-
-       able rather than the global variable does not create prob-
-       lems when compiling an application.
+       Specifies the total time, in milliseconds, for which ncurses will await
+       a  character  sequence,  e.g., a function key.  The default value, 1000
+       milliseconds, is enough for most uses.  However, it is made a  variable
+       to accommodate unusual applications.
+
+       The  most common instance where you may wish to change this value is to
+       work with slow hosts, e.g., running on a network.  If the  host  cannot
+       read  characters rapidly enough, it will have the same effect as if the
+       terminal did not send characters  rapidly  enough.   The  library  will
+       still see a timeout.
+
+       Note  that  xterm  mouse  events  are built up from character sequences
+       received from the xterm.  If your application makes heavy use of multi-
+       ple-clicking,  you  may wish to lengthen this default value because the
+       timeout applies to the composed multi-click event as well as the  indi-
+       vidual clicks.
+
+       In addition to the environment variable, this implementation provides a
+       global variable with the same name.  Portable applications  should  not
+       rely  upon  the  presence  of  ESCDELAY in either form, but setting the
+       environment variable rather than the global variable  does  not  create
+       problems when compiling an application.
 
 
 </PRE><H3><a name="h3-HOME">HOME</a></H3><PRE>
-       Tells <STRONG>ncurses</STRONG> where your home directory is.  That is where
-       it may read and write auxiliary terminal descriptions:
+       Tells  <STRONG>ncurses</STRONG> where your home directory is.  That is where it may read
+       and write auxiliary terminal descriptions:
 
-       $HOME/.termcap
-       $HOME/.terminfo
+         $HOME/.termcap
+         $HOME/.terminfo
 
 
 </PRE><H3><a name="h3-LINES">LINES</a></H3><PRE>
-       Like COLUMNS, specify the height of the screen in  charac-
-       ters.  See COLUMNS for a detailed description.
+       Like COLUMNS, specify the height of the screen in characters.  See COL-
+       UMNS for a detailed description.
 
 
 </PRE><H3><a name="h3-MOUSE_BUTTONS_123">MOUSE_BUTTONS_123</a></H3><PRE>
-       This  applies only to the OS/2 EMX port.  It specifies the
-       order of buttons on the mouse.  OS/2  numbers  a  3-button
-       mouse inconsistently from other platforms:
+       This applies only to the OS/2 EMX port.  It specifies the order of but-
+       tons on the mouse.  OS/2 numbers a 3-button mouse  inconsistently  from
+       other platforms:
 
-       1 = left
-       2 = right
-       3 = middle.
+         1 = left
+         2 = right
+         3 = middle.
 
-       This  variable lets you customize the mouse.  The variable
-       must be three numeric digits 1-3 in any order,  e.g.,  123
-       or 321.  If it is not specified, <STRONG>ncurses</STRONG> uses 132.
+       This variable lets you customize the mouse.  The variable must be three
+       numeric digits 1-3 in any order, e.g., 123 or 321.  If it is not speci-
+       fied, <STRONG>ncurses</STRONG> uses 132.
 
 
 </PRE><H3><a name="h3-NCURSES_ASSUMED_COLORS">NCURSES_ASSUMED_COLORS</a></H3><PRE>
-       Override  the  compiled-in  assumption that the terminal's
-       default  colors  are  white-on-black   (see   <STRONG>default_col-</STRONG>
-       <STRONG><A HREF="default_colors.3x.html">ors(3x)</A></STRONG>).  You may set the foreground and background color
-       values with this environment variable by proving a  2-ele-
-       ment  list:  foreground,background.   For example, to tell
-       ncurses to not assume anything about the colors, set  this
-       to  "-1,-1".   To make it green-on-black, set it to "2,0".
-       Any positive value from zero to  the  terminfo  <STRONG>max_colors</STRONG>
-       value is allowed.
+       Override  the compiled-in assumption that the terminal's default colors
+       are white-on-black (see <STRONG><A HREF="default_colors.3x.html">default_colors(3x)</A></STRONG>).  You  may  set  the  fore-
+       ground  and  background  color values with this environment variable by
+       proving a 2-element list: foreground,background.  For example, to  tell
+       ncurses  to  not assume anything about the colors, set this to "-1,-1".
+       To make it green-on-black, set it to "2,0".  Any  positive  value  from
+       zero to the terminfo <STRONG>max_colors</STRONG> value is allowed.
 
 
 </PRE><H3><a name="h3-NCURSES_CONSOLE2">NCURSES_CONSOLE2</a></H3><PRE>
        This applies only to the MinGW port of ncurses.
 
-       The  <STRONG>Console2</STRONG>  program's handling of the Microsoft Console
-       API call <STRONG>CreateConsoleScreenBuffer</STRONG> is defective.  Applica-
-       tions  which  use this will hang.  However, it is possible
-       to simulate the action of this  call  by  mapping  coordi-
-       nates, explicitly saving and restoring the original screen
-       contents.  Setting the environment variable <STRONG>NCGDB</STRONG> has  the
-       same effect.
+       The  <STRONG>Console2</STRONG> program's handling of the Microsoft Console API call <STRONG>Cre-</STRONG>
+       <STRONG>ateConsoleScreenBuffer</STRONG> is defective.  Applications which use this  will
+       hang.   However,  it is possible to simulate the action of this call by
+       mapping coordinates,  explicitly  saving  and  restoring  the  original
+       screen  contents.   Setting the environment variable <STRONG>NCGDB</STRONG> has the same
+       effect.
 
 
 </PRE><H3><a name="h3-NCURSES_GPM_TERMS">NCURSES_GPM_TERMS</a></H3><PRE>
-       This  applies  only  to  ncurses configured to use the GPM
-       interface.
+       This applies only to ncurses configured to use the GPM interface.
 
-       If present, the environment variable is a list of  one  or
-       more  terminal  names  against  which the <STRONG>TERM</STRONG> environment
-       variable is matched.  Setting it to an  empty  value  dis-
-       ables  the  GPM  interface; using the built-in support for
-       xterm, etc.
+       If present, the environment variable is a list of one or more  terminal
+       names  against which the <STRONG>TERM</STRONG> environment variable is matched.  Setting
+       it to an empty value disables the GPM  interface;  using  the  built-in
+       support for xterm, etc.
 
-       If  the  environment  variable  is  absent,  ncurses  will
-       attempt to open GPM if <STRONG>TERM</STRONG> contains "linux".
+       If the environment variable is absent, ncurses will attempt to open GPM
+       if <STRONG>TERM</STRONG> contains "linux".
 
 
 </PRE><H3><a name="h3-NCURSES_NO_HARD_TABS">NCURSES_NO_HARD_TABS</a></H3><PRE>
-       <STRONG>Ncurses</STRONG>  may use tabs as part of the cursor movement opti-
-       mization.  In some cases, your  terminal  driver  may  not
-       handle  these  properly.  Set this environment variable to
-       disable the feature.  You can also adjust your  <STRONG>stty</STRONG>  set-
-       tings  to avoid the problem.  NCURSES_NO_MAGIC_COOKIE Some
-       terminals use a magic-cookie feature which  requires  spe-
-       cial   handling  to  make  highlighting  and  other  video
-       attributes display properly.  You can suppress  the  high-
-       lighting  entirely  for  these  terminals  by setting this
-       environment variable.
+       <STRONG>Ncurses</STRONG> may use tabs as part of the cursor movement  optimization.   In
+       some  cases,  your  terminal driver may not handle these properly.  Set
+       this environment variable to disable the feature.  You can also  adjust
+       your <STRONG>stty</STRONG> settings to avoid the problem.
+
+
+</PRE><H3><a name="h3-NCURSES_NO_MAGIC_COOKIE">NCURSES_NO_MAGIC_COOKIE</a></H3><PRE>
+       Some  terminals  use a magic-cookie feature which requires special han-
+       dling to make highlighting and other video attributes display properly.
+       You  can suppress the highlighting entirely for these terminals by set-
+       ting this environment variable.
 
 
 </PRE><H3><a name="h3-NCURSES_NO_PADDING">NCURSES_NO_PADDING</a></H3><PRE>
-       Most of the terminal descriptions in the terminfo database
-       are  written  for  real "hardware" terminals.  Many people
-       use terminal emulators which run in a  windowing  environ-
-       ment  and  use curses-based applications.  Terminal emula-
-       tors can duplicate all of the important aspects of a hard-
-       ware  terminal, but they do not have the same limitations.
-       The chief limitation  of  a  hardware  terminal  from  the
-       standpoint  of  your  application  is  the  management  of
-       dataflow, i.e., timing.  Unless  a  hardware  terminal  is
-       interfaced  into  a terminal concentrator (which does flow
-       control), it (or your application) must  manage  dataflow,
-       preventing  overruns.   The cheapest solution (no hardware
-       cost) is for your program to  do  this  by  pausing  after
-       operations that the terminal does slowly, such as clearing
-       the display.
-
-       As a result, many  terminal  descriptions  (including  the
-       vt100)  have  delay  times  embedded.  You may wish to use
-       these descriptions, but not want to  pay  the  performance
-       penalty.
-
-       Set the NCURSES_NO_PADDING environment variable to disable
-       all but mandatory padding.  Mandatory padding is used as a
-       part of special control sequences such as <EM>flash</EM>.
+       Most of the terminal descriptions in the terminfo database are  written
+       for  real  "hardware"  terminals.   Many  people use terminal emulators
+       which run in a windowing environment and use curses-based applications.
+       Terminal  emulators  can  duplicate  all  of the important aspects of a
+       hardware terminal, but they do not  have  the  same  limitations.   The
+       chief  limitation  of  a  hardware terminal from the standpoint of your
+       application is the management of  dataflow,  i.e.,  timing.   Unless  a
+       hardware  terminal  is  interfaced  into a terminal concentrator (which
+       does flow control), it (or your application) must manage dataflow, pre-
+       venting overruns.  The cheapest solution (no hardware cost) is for your
+       program to do this by pausing after operations that the  terminal  does
+       slowly, such as clearing the display.
+
+       As  a  result,  many  terminal  descriptions (including the vt100) have
+       delay times embedded.  You may wish to use these descriptions, but  not
+       want to pay the performance penalty.
+
+       Set  the  NCURSES_NO_PADDING  environment  variable  to disable all but
+       mandatory padding.  Mandatory padding is used as a part of special con-
+       trol sequences such as <EM>flash</EM>.
 
 
 </PRE><H3><a name="h3-NCURSES_NO_SETBUF">NCURSES_NO_SETBUF</a></H3><PRE>
 
           <STRONG>o</STRONG>   continued though 5.9 patch 20130126
 
-       <STRONG>ncurses</STRONG>  enabled  buffered output during terminal initial-
-       ization.  This was done (as in SVr4  curses)  for  perfor-
-       mance  reasons.  For testing purposes, both of <STRONG>ncurses</STRONG> and
-       certain applications,  this  feature  was  made  optional.
-       Setting  the  NCURSES_NO_SETBUF  variable  disabled output
-       buffering, leaving the output  in  the  original  (usually
-       line buffered) mode.
-
-       In  the  current  implementation, ncurses performs its own
-       buffering and does not require this workaround.   It  does
-       not modify the buffering of the standard output.
-
-       The  reason  for  the  change was to make the behavior for
-       interrupts and other signals more robust.  One drawback is
-       that  certain  nonconventional programs would mix ordinary
-       stdio calls with ncurses calls and (usually)  work.   This
-       is  no  longer  possible  since  ncurses  is not using the
-       buffered standard output but its own output (to  the  same
-       file  descriptor).  As a special case, the low-level calls
-       such as <STRONG>putp</STRONG> still use the  standard  output.   But  high-
-       level curses calls do not.
+       <STRONG>ncurses</STRONG>  enabled  buffered output during terminal initialization.  This
+       was done (as in SVr4 curses) for performance reasons.  For testing pur-
+       poses,  both of <STRONG>ncurses</STRONG> and certain applications, this feature was made
+       optional.   Setting  the  NCURSES_NO_SETBUF  variable  disabled  output
+       buffering,  leaving  the output in the original (usually line buffered)
+       mode.
+
+       In the current implementation, ncurses performs its own  buffering  and
+       does  not require this workaround.  It does not modify the buffering of
+       the standard output.
+
+       The reason for the change was to make the behavior for  interrupts  and
+       other  signals  more  robust.   One drawback is that certain nonconven-
+       tional programs would mix ordinary stdio calls with ncurses  calls  and
+       (usually)  work.  This is no longer possible since ncurses is not using
+       the buffered standard output but its  own  output  (to  the  same  file
+       descriptor).  As a special case, the low-level calls such as <STRONG>putp</STRONG> still
+       use the standard output.  But high-level curses calls do not.
 
 
 </PRE><H3><a name="h3-NCURSES_NO_UTF8_ACS">NCURSES_NO_UTF8_ACS</a></H3><PRE>
-       During initialization, the <STRONG>ncurses</STRONG> library checks for spe-
-       cial cases where VT100 line-drawing (and the corresponding
-       alternate  character  set  capabilities)  described in the
-       terminfo are known to be missing.  Specifically, when run-
-       ning in a UTF-8 locale, the Linux console emulator and the
-       GNU screen program ignore these.  Ncurses checks the  <STRONG>TERM</STRONG>
-       environment  variable for these.  For other special cases,
-       you should set  this  environment  variable.   Doing  this
-       tells  ncurses  to  use Unicode values which correspond to
-       the VT100 line-drawing glyphs.  That works for the special
-       cases cited, and is likely to work for terminal emulators.
-
-       When setting this variable, you should set it to a nonzero
-       value.  Setting it to zero (or to  a  nonnumber)  disables
-       the special check for "linux" and "screen".
-
-       As  an  alternative  to  the environment variable, ncurses
-       checks for an extended terminfo capability <STRONG>U8</STRONG>.  This is  a
-       numeric  capability  which  can  be compiled using <STRONG>tic</STRONG> <STRONG>-x</STRONG>.
-       For example
+       During initialization, the <STRONG>ncurses</STRONG> library  checks  for  special  cases
+       where VT100 line-drawing (and the corresponding alternate character set
+       capabilities) described in  the  terminfo  are  known  to  be  missing.
+       Specifically,  when running in a UTF-8 locale, the Linux console emula-
+       tor and the GNU screen program ignore these.  Ncurses checks  the  <STRONG>TERM</STRONG>
+       environment  variable  for  these.  For other special cases, you should
+       set this environment variable.  Doing this tells ncurses to use Unicode
+       values  which  correspond to the VT100 line-drawing glyphs.  That works
+       for the special cases cited, and is likely to work for terminal  emula-
+       tors.
+
+       When setting this variable, you should set it to a nonzero value.  Set-
+       ting it to zero (or to a nonnumber)  disables  the  special  check  for
+       "linux" and "screen".
+
+       As  an  alternative  to the environment variable, ncurses checks for an
+       extended terminfo capability <STRONG>U8</STRONG>.  This is a  numeric  capability  which
+       can be compiled using <STRONG>tic</STRONG> <STRONG>-x</STRONG>.  For example
 
           # linux console, if patched to provide working
           # VT100 shift-in/shift-out, with corresponding font.
           xterm-utf8|xterm relying on UTF-8 line-graphics,
                   U8#1, use=xterm,
 
-       The name "U8" is chosen to be two characters, to permit it
-       to  be  used  by  applications  that  use ncurses' termcap
-       interface.
+       The  name  "U8" is chosen to be two characters, to permit it to be used
+       by applications that use ncurses' termcap interface.
 
 
 </PRE><H3><a name="h3-NCURSES_TRACE">NCURSES_TRACE</a></H3><PRE>
-       During  initialization,  the  <STRONG>ncurses</STRONG>  debugging   library
-       checks  the  NCURSES_TRACE environment variable.  If it is
-       defined, to a numeric value, <STRONG>ncurses</STRONG> calls the <STRONG>trace</STRONG> func-
-       tion, using that value as the argument.
+       During  initialization,  the  <STRONG>ncurses</STRONG>  debugging  library  checks   the
+       NCURSES_TRACE  environment  variable.   If  it is defined, to a numeric
+       value, <STRONG>ncurses</STRONG> calls the <STRONG>trace</STRONG> function, using that value as the  argu-
+       ment.
 
-       The  argument  values, which are defined in <STRONG>curses.h</STRONG>, pro-
-       vide several types  of  information.   When  running  with
-       traces enabled, your application will write the file <STRONG>trace</STRONG>
-       to the current directory.
+       The  argument  values,  which  are defined in <STRONG>curses.h</STRONG>, provide several
+       types of information.  When running with traces enabled, your  applica-
+       tion will write the file <STRONG>trace</STRONG> to the current directory.
 
        See <STRONG><A HREF="curs_trace.3x.html">curs_trace(3x)</A></STRONG> for more information.
 
 
 </PRE><H3><a name="h3-TERM">TERM</a></H3><PRE>
-       Denotes your terminal type.  Each terminal  type  is  dis-
-       tinct, though many are similar.
+       Denotes  your  terminal  type.   Each terminal type is distinct, though
+       many are similar.
 
-       <STRONG>TERM</STRONG>  is commonly set by terminal emulators to help appli-
-       cations find a workable  terminal  description.   Some  of
-       those   choose  a  popular  approximation,  e.g.,  "ansi",
-       "vt100", "xterm" rather than an  exact  fit.   Not  infre-
-       quently,  your  application  will  have problems with that
-       approach, e.g., incorrect function-key definitions.
+       <STRONG>TERM</STRONG> is commonly set by terminal emulators to help applications find  a
+       workable terminal description.  Some of those choose a popular approxi-
+       mation, e.g., "ansi", "vt100", "xterm" rather than an exact  fit.   Not
+       infrequently,  your  application will have problems with that approach,
+       e.g., incorrect function-key definitions.
 
-       If you set <STRONG>TERM</STRONG> in your environment, it has no  effect  on
-       the  operation  of the terminal emulator.  It only affects
-       the way applications work within the terminal.   Likewise,
-       as a general rule (<STRONG>xterm</STRONG> being a rare exception), terminal
-       emulators which allow you to specify <STRONG>TERM</STRONG> as  a  parameter
-       or  configuration  value  do  not change their behavior to
-       match that setting.
+       If you set <STRONG>TERM</STRONG> in your environment, it has no effect on the  operation
+       of  the  terminal  emulator.  It only affects the way applications work
+       within the terminal.  Likewise, as a general rule (<STRONG>xterm</STRONG> being  a  rare
+       exception),  terminal  emulators  which  allow you to specify <STRONG>TERM</STRONG> as a
+       parameter or configuration value do not change their behavior to  match
+       that setting.
 
 
 </PRE><H3><a name="h3-TERMCAP">TERMCAP</a></H3><PRE>
-       If the <STRONG>ncurses</STRONG> library has been  configured  with  <EM>termcap</EM>
-       support,  <STRONG>ncurses</STRONG>  will check for a terminal's description
-       in termcap form if it is not  available  in  the  terminfo
-       database.
+       If  the  <STRONG>ncurses</STRONG>  library  has  been  configured  with <EM>termcap</EM> support,
+       <STRONG>ncurses</STRONG> will check for a terminal's description in termcap form  if  it
+       is not available in the terminfo database.
 
-       The  <STRONG>TERMCAP</STRONG> environment variable contains either a termi-
-       nal description (with newlines stripped out),  or  a  file
-       name  telling  where  the  information denoted by the <STRONG>TERM</STRONG>
-       environment variable exists.  In either case,  setting  it
-       directs  <STRONG>ncurses</STRONG> to ignore the usual place for this infor-
-       mation, e.g., /etc/termcap.
+       The <STRONG>TERMCAP</STRONG> environment variable contains either a terminal description
+       (with newlines stripped out), or a file name telling where the informa-
+       tion  denoted by the <STRONG>TERM</STRONG> environment variable exists.  In either case,
+       setting it directs <STRONG>ncurses</STRONG> to ignore the usual place for this  informa-
+       tion, e.g., /etc/termcap.
 
 
 </PRE><H3><a name="h3-TERMINFO">TERMINFO</a></H3><PRE>
-       <STRONG>ncurses</STRONG> can be configured to read from  multiple  terminal
-       databases.   The  <STRONG>TERMINFO</STRONG> variable overrides the location
-       for the default terminal database.  Terminal  descriptions
-       (in terminal format) are stored in terminal databases:
+       <STRONG>ncurses</STRONG>  can  be  configured  to read from multiple terminal databases.
+       The <STRONG>TERMINFO</STRONG> variable overrides the location for the  default  terminal
+       database.   Terminal  descriptions  (in  terminal format) are stored in
+       terminal databases:
 
-       <STRONG>o</STRONG>   Normally  these  are stored in a directory tree, using
-           subdirectories named by the first letter of the termi-
-           nal names therein.
+       <STRONG>o</STRONG>   Normally these are stored in a directory tree, using subdirectories
+           named by the first letter of the terminal names therein.
 
-           This is the scheme used in System V, which legacy Unix
-           systems use, and the  <STRONG>TERMINFO</STRONG>  variable  is  used  by
-           <EM>curses</EM>  applications  on those systems to override the
-           default location of the terminal database.
+           This is the scheme used in System V, which legacy Unix systems use,
+           and the <STRONG>TERMINFO</STRONG> variable is used by <EM>curses</EM> applications  on  those
+           systems to override the default location of the terminal database.
 
-       <STRONG>o</STRONG>   If <STRONG>ncurses</STRONG> is built to use hashed databases, then each
-           entry  in  this list may be the path of a hashed data-
-           base file, e.g.,
+       <STRONG>o</STRONG>   If  <STRONG>ncurses</STRONG>  is  built  to use hashed databases, then each entry in
+           this list may be the path of a hashed database file, e.g.,
 
              /usr/share/terminfo.db
 
 
              /usr/share/terminfo/
 
-           The hashed database uses less disk-space and is a lit-
-           tle  faster  than  the  directory tree.  However, some
-           applications assume the  existence  of  the  directory
-           tree,  reading  it directly rather than using the ter-
-           minfo library calls.
+           The hashed database uses less disk-space and  is  a  little  faster
+           than  the  directory  tree.   However, some applications assume the
+           existence of the directory tree, reading it  directly  rather  than
+           using the terminfo library calls.
 
-       <STRONG>o</STRONG>   If <STRONG>ncurses</STRONG> is built with a support for reading termcap
-           files  directly, then an entry in this list may be the
-           path of a termcap file.
+       <STRONG>o</STRONG>   If  <STRONG>ncurses</STRONG>  is  built  with  a  support  for reading termcap files
+           directly, then an entry in this list may be the path of  a  termcap
+           file.
 
-       <STRONG>o</STRONG>   If the <STRONG>TERMINFO</STRONG> variable begins with "hex:" or "b64:",
-           <STRONG>ncurses</STRONG>  uses the remainder of that variable as a com-
-           piled terminal description.   You  might  produce  the
-           base64 format using <STRONG><A HREF="infocmp.1m.html">infocmp(1m)</A></STRONG>:
+       <STRONG>o</STRONG>   If the <STRONG>TERMINFO</STRONG> variable begins with "hex:" or "b64:", <STRONG>ncurses</STRONG> uses
+           the remainder of that variable as a compiled terminal  description.
+           You might produce the base64 format using <STRONG><A HREF="infocmp.1m.html">infocmp(1m)</A></STRONG>:
 
              TERMINFO="$(infocmp -0 -Q2 -q)"
              export TERMINFO
 
-           The  compiled description is used if it corresponds to
-           the terminal identified by the <STRONG>TERM</STRONG> variable.
+           The  compiled description is used if it corresponds to the terminal
+           identified by the <STRONG>TERM</STRONG> variable.
 
-       Setting <STRONG>TERMINFO</STRONG> is the simplest, but not the only way  to
-       set  location  of the default terminal database.  The com-
-       plete list of database locations in order follows:
+       Setting <STRONG>TERMINFO</STRONG> is the simplest, but not the only way to set  location
+       of  the default terminal database.  The complete list of database loca-
+       tions in order follows:
 
-          <STRONG>o</STRONG>   the last terminal database to which <STRONG>ncurses</STRONG>  wrote,
-              if any, is searched first
+          <STRONG>o</STRONG>   the last terminal database to which <STRONG>ncurses</STRONG> wrote,  if  any,  is
+              searched first
 
-          <STRONG>o</STRONG>   the  location specified by the TERMINFO environment
-              variable
+          <STRONG>o</STRONG>   the location specified by the TERMINFO environment variable
 
           <STRONG>o</STRONG>   $HOME/.terminfo
 
-          <STRONG>o</STRONG>   locations listed in the  TERMINFO_DIRS  environment
-              variable
+          <STRONG>o</STRONG>   locations listed in the TERMINFO_DIRS environment variable
 
-          <STRONG>o</STRONG>   one  or  more  locations whose names are configured
-              and compiled into the ncurses library, i.e.,
+          <STRONG>o</STRONG>   one  or  more  locations whose names are configured and compiled
+              into the ncurses library, i.e.,
 
-             <STRONG>o</STRONG>   /usr/local/ncurses/share/ter-
-                 minfo:/usr/share/terminfo  (corresponding to the
-                 TERMINFO_DIRS variable)
+             <STRONG>o</STRONG>   /usr/local/ncurses/share/terminfo:/usr/share/terminfo (corre-
+                 sponding to the TERMINFO_DIRS variable)
 
-             <STRONG>o</STRONG>   /usr/share/terminfo (corresponding to  the  TER-
-                 MINFO variable)
+             <STRONG>o</STRONG>   /usr/share/terminfo (corresponding to the TERMINFO variable)
 
 
 </PRE><H3><a name="h3-TERMINFO_DIRS">TERMINFO_DIRS</a></H3><PRE>
-       Specifies  a  list  of  locations  to  search for terminal
-       descriptions.  Each location in the  list  is  a  terminal
-       database as described in the section on the <STRONG>TERMINFO</STRONG> vari-
-       able.  The list is separated  by  colons  (i.e.,  ":")  on
-       Unix, semicolons on OS/2 EMX.
+       Specifies  a  list  of  locations  to search for terminal descriptions.
+       Each location in the list is a terminal database as  described  in  the
+       section  on  the  <STRONG>TERMINFO</STRONG>  variable.   The list is separated by colons
+       (i.e., ":") on Unix, semicolons on OS/2 EMX.
 
-       There is no corresponding feature in System V terminfo; it
-       is an extension developed for <STRONG>ncurses</STRONG>.
+       There is no corresponding feature in System V terminfo; it is an exten-
+       sion developed for <STRONG>ncurses</STRONG>.
 
 
 </PRE><H3><a name="h3-TERMPATH">TERMPATH</a></H3><PRE>
-       If <STRONG>TERMCAP</STRONG> does not hold a file name then  <STRONG>ncurses</STRONG>  checks
-       the  <STRONG>TERMPATH</STRONG>  environment  variable.   This  is a list of
-       filenames separated by spaces or  colons  (i.e.,  ":")  on
-       Unix, semicolons on OS/2 EMX.
+       If  <STRONG>TERMCAP</STRONG>  does not hold a file name then <STRONG>ncurses</STRONG> checks the <STRONG>TERMPATH</STRONG>
+       environment variable.  This is a list of filenames separated by  spaces
+       or colons (i.e., ":") on Unix, semicolons on OS/2 EMX.
 
-       If  the  <STRONG>TERMPATH</STRONG> environment variable is not set, <STRONG>ncurses</STRONG>
-       looks in the files
+       If  the  <STRONG>TERMPATH</STRONG> environment variable is not set, <STRONG>ncurses</STRONG> looks in the
+       files
 
          /etc/termcap, /usr/share/misc/termcap and $HOME/.termcap,
 
        in that order.
 
-       The library may be configured to disregard  the  following
-       variables  when  the current user is the superuser (root),
-       or if the application uses setuid or setgid permissions:
+       The library may be configured to disregard the following variables when
+       the  current  user  is the superuser (root), or if the application uses
+       setuid or setgid permissions:
 
          $TERMINFO, $TERMINFO_DIRS, $TERMPATH, as well as $HOME.
 
 
 </PRE><H2><a name="h2-ALTERNATE-CONFIGURATIONS">ALTERNATE CONFIGURATIONS</a></H2><PRE>
-       Several different configurations are  possible,  depending
-       on   the  configure  script  options  used  when  building
-       <STRONG>ncurses</STRONG>.  There are a few main options whose  effects  are
-       visible to the applications developer using <STRONG>ncurses</STRONG>:
+       Several different configurations are possible, depending on the config-
+       ure  script  options  used when building <STRONG>ncurses</STRONG>.  There are a few main
+       options whose effects are visible to the applications  developer  using
+       <STRONG>ncurses</STRONG>:
 
        --disable-overwrite
-            The  standard include for <STRONG>ncurses</STRONG> is as noted in <STRONG>SYN-</STRONG>
-            <STRONG>OPSIS</STRONG>:
+            The standard include for <STRONG>ncurses</STRONG> is as noted in <STRONG>SYNOPSIS</STRONG>:
 
-          <STRONG>#include</STRONG> <STRONG>&lt;curses.h&gt;</STRONG>
+              <STRONG>#include</STRONG> <STRONG>&lt;curses.h&gt;</STRONG>
 
-            This option is used to avoid filename conflicts  when
-            <STRONG>ncurses</STRONG>  is  not the main implementation of curses of
-            the computer.   If  <STRONG>ncurses</STRONG>  is  installed  disabling
-            overwrite,  it  puts  its  headers in a subdirectory,
-            e.g.,
+            This  option  is  used to avoid filename conflicts when <STRONG>ncurses</STRONG> is
+            not the main implementation of curses of the computer.  If <STRONG>ncurses</STRONG>
+            is  installed disabling overwrite, it puts its headers in a subdi-
+            rectory, e.g.,
 
-          <STRONG>#include</STRONG> <STRONG>&lt;ncurses/curses.h&gt;</STRONG>
+              <STRONG>#include</STRONG> <STRONG>&lt;ncurses/curses.h&gt;</STRONG>
 
-            It also omits a symbolic link which would  allow  you
-            to use <STRONG>-lcurses</STRONG> to build executables.
+            It also omits a  symbolic  link  which  would  allow  you  to  use
+            <STRONG>-lcurses</STRONG> to build executables.
 
        --enable-widec
-            The  configure script renames the library and (if the
-            <STRONG>--disable-overwrite</STRONG> option is used) puts  the  header
-            files  in  a  different  subdirectory.   All  of  the
-            library names have a  "w"  appended  to  them,  i.e.,
-            instead of
+            The  configure  script  renames  the  library  and  (if the <STRONG>--dis-</STRONG>
+            <STRONG>able-overwrite</STRONG> option is used) puts the header files in a  differ-
+            ent subdirectory.  All of the library names have a "w" appended to
+            them, i.e., instead of
 
-          <STRONG>-lncurses</STRONG>
+              <STRONG>-lncurses</STRONG>
 
             you link with
 
-          <STRONG>-lncursesw</STRONG>
-
-            You must also define <STRONG>_XOPEN_SOURCE_EXTENDED</STRONG> when com-
-            piling for the  wide-character  library  to  use  the
-            extended  (wide-character)  functions.   The <STRONG>curses.h</STRONG>
-            file  which  is  installed  for  the   wide-character
-            library  is designed to be compatible with the normal
-            library's header.  Only the size of the <STRONG>WINDOW</STRONG> struc-
-            ture  differs, and very few applications require more
-            than a  pointer  to  <STRONG>WINDOW</STRONG>s.   If  the  headers  are
-            installed   allowing  overwrite,  the  wide-character
-            library's headers should be installed last, to  allow
-            applications  to  be  built using either library from
-            the same set of headers.
+              <STRONG>-lncursesw</STRONG>
+
+            You must also define <STRONG>_XOPEN_SOURCE_EXTENDED</STRONG> when compiling for the
+            wide-character  library to use the extended (wide-character) func-
+            tions.  The <STRONG>curses.h</STRONG> file which is installed for the  wide-charac-
+            ter library is designed to be compatible with the normal library's
+            header.  Only the size of the <STRONG>WINDOW</STRONG> structure differs,  and  very
+            few  applications  require more than a pointer to <STRONG>WINDOW</STRONG>s.  If the
+            headers  are  installed  allowing  overwrite,  the  wide-character
+            library's  headers should be installed last, to allow applications
+            to be built using either library from the same set of headers.
 
        --with-pthread
-            The configure script renames the library.  All of the
-            library names have a "t" appended to them (before any
-            "w" added by <STRONG>--enable-widec</STRONG>).
+            The configure script renames the  library.   All  of  the  library
+            names  have  a  "t"  appended  to  them  (before  any "w" added by
+            <STRONG>--enable-widec</STRONG>).
 
-            The global variables such as <STRONG>LINES</STRONG>  are  replaced  by
-            macros  to allow read-only access.  At the same time,
-            setter-functions are provided to  set  these  values.
-            Some  applications  (very few) may require changes to
-            work with this convention.
+            The global variables such as <STRONG>LINES</STRONG> are replaced by macros to allow
+            read-only access.  At the same time, setter-functions are provided
+            to set these values.  Some applications  (very  few)  may  require
+            changes to work with this convention.
 
        --with-shared
 
        --with-debug
 
        --with-profile
-            The shared and normal (static) library  names  differ
-            by  their  suffixes,  e.g.,  <STRONG>libncurses.so</STRONG>  and <STRONG>libn-</STRONG>
-            <STRONG>curses.a</STRONG>.  The debug and profiling  libraries  add  a
-            "_g" and a "_p" to the root names respectively, e.g.,
-            <STRONG>libncurses_g.a</STRONG> and <STRONG>libncurses_p.a</STRONG>.
+            The  shared and normal (static) library names differ by their suf-
+            fixes, e.g., <STRONG>libncurses.so</STRONG> and <STRONG>libncurses.a</STRONG>.  The debug  and  pro-
+            filing  libraries  add a "_g" and a "_p" to the root names respec-
+            tively, e.g., <STRONG>libncurses_g.a</STRONG> and <STRONG>libncurses_p.a</STRONG>.
 
        --with-trace
-            The <STRONG>trace</STRONG> function  normally  resides  in  the  debug
-            library, but it is sometimes useful to configure this
-            in the  shared  library.   Configure  scripts  should
-            check for the function's existence rather than assum-
-            ing it is always in the debug library.
+            The <STRONG>trace</STRONG> function normally resides in the debug library,  but  it
+            is sometimes useful to configure this in the shared library.  Con-
+            figure scripts should check for the  function's  existence  rather
+            than assuming it is always in the debug library.
 
 
 </PRE><H2><a name="h2-FILES">FILES</a></H2><PRE>
        /usr/share/tabset
-            directory containing  initialization  files  for  the
-            terminal capability database /usr/share/terminfo ter-
-            minal capability database
+            directory  containing  initialization files for the terminal capa-
+            bility database /usr/share/terminfo terminal capability database
 
 
 </PRE><H2><a name="h2-SEE-ALSO">SEE ALSO</a></H2><PRE>
-       <STRONG><A HREF="terminfo.5.html">terminfo(5)</A></STRONG> and related pages whose  names  begin  "curs_"
-       for detailed routine descriptions.
+       <STRONG><A HREF="terminfo.5.html">terminfo(5)</A></STRONG> and related pages whose names begin  "curs_"  for  detailed
+       routine descriptions.
        <STRONG><A HREF="curs_variables.3x.html">curs_variables(3x)</A></STRONG>
 
 
 </PRE><H2><a name="h2-EXTENSIONS">EXTENSIONS</a></H2><PRE>
-       The  <STRONG>ncurses</STRONG>  library  can  be  compiled  with  an  option
-       (<STRONG>-DUSE_GETCAP</STRONG>) that falls back to the old-style /etc/term-
-       cap file if the terminal setup code cannot find a terminfo
-       entry corresponding to <STRONG>TERM</STRONG>.  Use of this feature  is  not
-       recommended,  as it essentially includes an entire termcap
-       compiler in the <STRONG>ncurses</STRONG> startup code, at significant  cost
-       in core and startup cycles.
-
-       The  <STRONG>ncurses</STRONG>  library  includes  facilities  for capturing
-       mouse events on certain terminals (including xterm).   See
-       the <STRONG><A HREF="curs_mouse.3x.html">curs_mouse(3x)</A></STRONG> manual page for details.
-
-       The  <STRONG>ncurses</STRONG> library includes facilities for responding to
-       window resizing events, e.g., when running  in  an  xterm.
-       See  the  <STRONG><A HREF="resizeterm.3x.html">resizeterm(3x)</A></STRONG>  and <STRONG><A HREF="wresize.3x.html">wresize(3x)</A></STRONG> manual pages for
-       details.  In addition, the library may be configured  with
-       a SIGWINCH handler.
-
-       The  <STRONG>ncurses</STRONG> library extends the fixed set of function key
-       capabilities of  terminals  by  allowing  the  application
-       designer  to  define  additional key sequences at runtime.
-       See the <STRONG><A HREF="define_key.3x.html">define_key(3x)</A></STRONG> <STRONG><A HREF="key_defined.3x.html">key_defined(3x)</A></STRONG>, and <STRONG><A HREF="keyok.3x.html">keyok(3x)</A></STRONG> man-
-       ual pages for details.
-
-       The <STRONG>ncurses</STRONG> library can exploit the capabilities of termi-
-       nals which implement the ISO-6429 SGR 39 and SGR  49  con-
-       trols, which allow an application to reset the terminal to
-       its original foreground and background colors.   From  the
-       users'  perspective,  the application is able to draw col-
-       ored text on a background  whose  color  is  set  indepen-
-       dently,  providing  better  control  over color contrasts.
-       See the <STRONG><A HREF="default_colors.3x.html">default_colors(3x)</A></STRONG> manual page for details.
-
-       The <STRONG>ncurses</STRONG> library  includes  a  function  for  directing
-       application  output  to a printer attached to the terminal
-       device.  See the <STRONG><A HREF="curs_print.3x.html">curs_print(3x)</A></STRONG> manual page for details.
+       The  <STRONG>ncurses</STRONG> library can be compiled with an option (<STRONG>-DUSE_GETCAP</STRONG>) that
+       falls back to the old-style /etc/termcap file  if  the  terminal  setup
+       code  cannot  find a terminfo entry corresponding to <STRONG>TERM</STRONG>.  Use of this
+       feature is not recommended, as it essentially includes an entire  term-
+       cap  compiler  in the <STRONG>ncurses</STRONG> startup code, at significant cost in core
+       and startup cycles.
+
+       The <STRONG>ncurses</STRONG> library includes facilities for capturing mouse  events  on
+       certain  terminals  (including  xterm).   See the <STRONG><A HREF="curs_mouse.3x.html">curs_mouse(3x)</A></STRONG> manual
+       page for details.
+
+       The <STRONG>ncurses</STRONG> library includes facilities for responding to window resiz-
+       ing events, e.g., when running in an xterm.  See the <STRONG><A HREF="resizeterm.3x.html">resizeterm(3x)</A></STRONG> and
+       <STRONG><A HREF="wresize.3x.html">wresize(3x)</A></STRONG> manual pages for details.  In addition, the library may  be
+       configured with a SIGWINCH handler.
+
+       The  <STRONG>ncurses</STRONG> library extends the fixed set of function key capabilities
+       of terminals by allowing the application designer to define  additional
+       key  sequences at runtime.  See the <STRONG><A HREF="define_key.3x.html">define_key(3x)</A></STRONG> <STRONG><A HREF="key_defined.3x.html">key_defined(3x)</A></STRONG>, and
+       <STRONG><A HREF="keyok.3x.html">keyok(3x)</A></STRONG> manual pages for details.
+
+       The <STRONG>ncurses</STRONG> library can exploit the  capabilities  of  terminals  which
+       implement  the  ISO-6429  SGR  39  and  SGR 49 controls, which allow an
+       application to reset the terminal to its original foreground and  back-
+       ground colors.  From the users' perspective, the application is able to
+       draw colored text on a background whose  color  is  set  independently,
+       providing  better  control  over color contrasts.  See the <STRONG>default_col-</STRONG>
+       <STRONG><A HREF="default_colors.3x.html">ors(3x)</A></STRONG> manual page for details.
+
+       The <STRONG>ncurses</STRONG> library includes a function for directing application  out-
+       put   to   a   printer  attached  to  the  terminal  device.   See  the
+       <STRONG><A HREF="curs_print.3x.html">curs_print(3x)</A></STRONG> manual page for details.
 
 
 </PRE><H2><a name="h2-PORTABILITY">PORTABILITY</a></H2><PRE>
-       The <STRONG>ncurses</STRONG> library is intended to be  BASE-level  confor-
-       mant with XSI Curses.  The EXTENDED XSI Curses functional-
-       ity (including color support) is supported.
-
-       A small number of local differences (that  is,  individual
-       differences  between the XSI Curses and <STRONG>ncurses</STRONG> calls) are
-       described in  <STRONG>PORTABILITY</STRONG>  sections  of  the  library  man
-       pages.
-
-       Unlike  other  implementations, this one checks parameters
-       such as pointers to WINDOW structures to ensure  they  are
-       not  null.  The main reason for providing this behavior is
-       to guard against programmer error.  The standard interface
-       does not provide a way for the library to tell an applica-
-       tion which  of  several  possible  errors  were  detected.
-       Relying  on  this (or some other) extension will adversely
-       affect the portability of curses applications.
+       The <STRONG>ncurses</STRONG> library is intended to be BASE-level  conformant  with  XSI
+       Curses.   The  EXTENDED  XSI Curses functionality (including color sup-
+       port) is supported.
+
+       A small number of local differences (that  is,  individual  differences
+       between  the XSI Curses and <STRONG>ncurses</STRONG> calls) are described in <STRONG>PORTABILITY</STRONG>
+       sections of the library man pages.
+
+       Unlike other implementations, this one checks parameters such as point-
+       ers  to WINDOW structures to ensure they are not null.  The main reason
+       for providing this behavior is to guard against programmer error.   The
+       standard  interface  does  not provide a way for the library to tell an
+       application which of several possible errors were detected.  Relying on
+       this (or some other) extension will adversely affect the portability of
+       curses applications.
 
        This implementation also contains several extensions:
 
-       <STRONG>o</STRONG>   The routine <STRONG>has_key</STRONG> is not part of  XPG4,  nor  is  it
-           present  in  SVr4.  See the <STRONG><A HREF="curs_getch.3x.html">curs_getch(3x)</A></STRONG> manual page
-           for details.
+       <STRONG>o</STRONG>   The routine <STRONG>has_key</STRONG> is not part of XPG4, nor is it present in SVr4.
+           See the <STRONG><A HREF="curs_getch.3x.html">curs_getch(3x)</A></STRONG> manual page for details.
 
-       <STRONG>o</STRONG>   The routine <STRONG>slk_attr</STRONG> is not part of XPG4,  nor  is  it
-           present in SVr4.  See the <STRONG><A HREF="curs_slk.3x.html">curs_slk(3x)</A></STRONG> manual page for
-           details.
+       <STRONG>o</STRONG>   The  routine  <STRONG>slk_attr</STRONG>  is  not  part of XPG4, nor is it present in
+           SVr4.  See the <STRONG><A HREF="curs_slk.3x.html">curs_slk(3x)</A></STRONG> manual page for details.
 
-       <STRONG>o</STRONG>   The routines <STRONG>getmouse</STRONG>, <STRONG>mousemask</STRONG>, <STRONG>ungetmouse</STRONG>, <STRONG>mousein-</STRONG>
-           <STRONG>terval</STRONG>, and <STRONG>wenclose</STRONG> relating to mouse interfacing are
-           not part of XPG4, nor are they present in  SVr4.   See
-           the <STRONG><A HREF="curs_mouse.3x.html">curs_mouse(3x)</A></STRONG> manual page for details.
+       <STRONG>o</STRONG>   The routines <STRONG>getmouse</STRONG>, <STRONG>mousemask</STRONG>,  <STRONG>ungetmouse</STRONG>,  <STRONG>mouseinterval</STRONG>,  and
+           <STRONG>wenclose</STRONG>  relating  to  mouse interfacing are not part of XPG4, nor
+           are they present in SVr4.  See the <STRONG><A HREF="curs_mouse.3x.html">curs_mouse(3x)</A></STRONG> manual  page  for
+           details.
 
-       <STRONG>o</STRONG>   The  routine  <STRONG>mcprint</STRONG>  was not present in any previous
-           curses implementation.  See the <STRONG><A HREF="curs_print.3x.html">curs_print(3x)</A></STRONG>  manual
-           page for details.
+       <STRONG>o</STRONG>   The  routine  <STRONG>mcprint</STRONG> was not present in any previous curses imple-
+           mentation.  See the <STRONG><A HREF="curs_print.3x.html">curs_print(3x)</A></STRONG> manual page for details.
 
-       <STRONG>o</STRONG>   The  routine  <STRONG>wresize</STRONG>  is  not part of XPG4, nor is it
-           present in SVr4.  See the <STRONG><A HREF="wresize.3x.html">wresize(3x)</A></STRONG> manual page  for
-           details.
+       <STRONG>o</STRONG>   The routine <STRONG>wresize</STRONG> is not part of XPG4, nor is it present in SVr4.
+           See the <STRONG><A HREF="wresize.3x.html">wresize(3x)</A></STRONG> manual page for details.
 
-       <STRONG>o</STRONG>   The  WINDOW structure's internal details can be hidden
-           from application programs.   See  <STRONG><A HREF="curs_opaque.3x.html">curs_opaque(3x)</A></STRONG>  for
-           the discussion of <STRONG>is_scrollok</STRONG>, etc.
+       <STRONG>o</STRONG>   The WINDOW structure's internal details can be hidden from applica-
+           tion programs.  See <STRONG><A HREF="curs_opaque.3x.html">curs_opaque(3x)</A></STRONG> for the discussion of <STRONG>is_scrol-</STRONG>
+           <STRONG>lok</STRONG>, etc.
 
-       <STRONG>o</STRONG>   This implementation can be configured to provide rudi-
-           mentary support for multi-threaded applications.   See
-           <STRONG><A HREF="curs_threads.3x.html">curs_threads(3x)</A></STRONG> for details.
+       <STRONG>o</STRONG>   This  implementation  can be configured to provide rudimentary sup-
+           port for multi-threaded  applications.   See  <STRONG><A HREF="curs_threads.3x.html">curs_threads(3x)</A></STRONG>  for
+           details.
 
-       <STRONG>o</STRONG>   This  implementation can also be configured to provide
-           a set of functions which improve the ability to manage
-           multiple screens.  See <STRONG><A HREF="curs_sp_funcs.3x.html">curs_sp_funcs(3x)</A></STRONG> for details.
+       <STRONG>o</STRONG>   This  implementation  can  also  be  configured to provide a set of
+           functions which improve the ability  to  manage  multiple  screens.
+           See <STRONG><A HREF="curs_sp_funcs.3x.html">curs_sp_funcs(3x)</A></STRONG> for details.
 
-       In  historic curses versions, delays embedded in the capa-
-       bilities <STRONG>cr</STRONG>, <STRONG>ind</STRONG>, <STRONG>cub1</STRONG>, <STRONG>ff</STRONG> and <STRONG>tab</STRONG> activated corresponding
-       delay  bits  in  the UNIX tty driver.  In this implementa-
-       tion, all padding is done  by  sending  NUL  bytes.   This
-       method  is slightly more expensive, but narrows the inter-
-       face to the UNIX kernel significantly  and  increases  the
-       package's portability correspondingly.
+       In  historic  curses  versions, delays embedded in the capabilities <STRONG>cr</STRONG>,
+       <STRONG>ind</STRONG>, <STRONG>cub1</STRONG>, <STRONG>ff</STRONG> and <STRONG>tab</STRONG> activated corresponding delay bits  in  the  UNIX
+       tty driver.  In this implementation, all padding is done by sending NUL
+       bytes.  This method is slightly more expensive, but narrows the  inter-
+       face  to  the  UNIX  kernel  significantly  and increases the package's
+       portability correspondingly.
 
 
 </PRE><H2><a name="h2-NOTES">NOTES</a></H2><PRE>
-       The  header  file  <STRONG>&lt;curses.h&gt;</STRONG>  automatically  includes the
-       header files <STRONG>&lt;stdio.h&gt;</STRONG> and <STRONG>&lt;unctrl.h&gt;</STRONG>.
+       The header file <STRONG>&lt;curses.h&gt;</STRONG>  automatically  includes  the  header  files
+       <STRONG>&lt;stdio.h&gt;</STRONG> and <STRONG>&lt;unctrl.h&gt;</STRONG>.
 
-       If standard output from a <STRONG>ncurses</STRONG> program  is  re-directed
-       to  something  which  is not a tty, screen updates will be
-       directed to standard error.  This was an undocumented fea-
-       ture of AT&amp;T System V Release 3 curses.
+       If  standard  output from a <STRONG>ncurses</STRONG> program is re-directed to something
+       which is not a tty, screen updates will be directed to standard  error.
+       This was an undocumented feature of AT&amp;T System V Release 3 curses.
 
 
 </PRE><H2><a name="h2-AUTHORS">AUTHORS</a></H2><PRE>
-       Zeyd  M.  Ben-Halim,  Eric  S.  Raymond, Thomas E. Dickey.
-       Based on pcurses by Pavel Curtis.
+       Zeyd M. Ben-Halim, Eric S. Raymond, Thomas E. Dickey.  Based on pcurses
+       by Pavel Curtis.
 
 
 
-                                                            <STRONG><A HREF="ncurses.3x.html">ncurses(3x)</A></STRONG>
+                                                                   <STRONG><A HREF="ncurses.3x.html">ncurses(3x)</A></STRONG>
 </PRE>
 <div class="nav">
 <ul>
 <li><a href="#h2-RETURN-VALUE">RETURN VALUE</a></li>
 <li><a href="#h2-ENVIRONMENT">ENVIRONMENT</a>
 <ul>
+<li><a href="#h3-CC-command-character">CC command-character</a></li>
 <li><a href="#h3-BAUDRATE">BAUDRATE</a></li>
 <li><a href="#h3-COLUMNS">COLUMNS</a></li>
 <li><a href="#h3-ESCDELAY">ESCDELAY</a></li>
 <li><a href="#h3-NCURSES_CONSOLE2">NCURSES_CONSOLE2</a></li>
 <li><a href="#h3-NCURSES_GPM_TERMS">NCURSES_GPM_TERMS</a></li>
 <li><a href="#h3-NCURSES_NO_HARD_TABS">NCURSES_NO_HARD_TABS</a></li>
+<li><a href="#h3-NCURSES_NO_MAGIC_COOKIE">NCURSES_NO_MAGIC_COOKIE</a></li>
 <li><a href="#h3-NCURSES_NO_PADDING">NCURSES_NO_PADDING</a></li>
 <li><a href="#h3-NCURSES_NO_SETBUF">NCURSES_NO_SETBUF</a></li>
 <li><a href="#h3-NCURSES_NO_UTF8_ACS">NCURSES_NO_UTF8_ACS</a></li>
index aabe9c75d864156b149929db8127852cf5d854cf..d73eca5881ee7a035a64d080bb8a55c385228ff4 100644 (file)
@@ -40,7 +40,7 @@
 <BODY>
 <H1 class="no-header">ncurses6-config 1</H1>
 <PRE>
-<STRONG><A HREF="ncurses6-config.1.html">ncurses6-config(1)</A></STRONG>                                   <STRONG><A HREF="ncurses6-config.1.html">ncurses6-config(1)</A></STRONG>
+<STRONG><A HREF="ncurses6-config.1.html">ncurses6-config(1)</A></STRONG>                                          <STRONG><A HREF="ncurses6-config.1.html">ncurses6-config(1)</A></STRONG>
 
 
 
@@ -54,8 +54,8 @@
 
 
 </PRE><H2><a name="h2-DESCRIPTION">DESCRIPTION</a></H2><PRE>
-       This is a shell script which simplifies configuring appli-
-       cations against a particular set of ncurses libraries.
+       This  is  a  shell  script  which  simplifies  configuring applications
+       against a particular set of ncurses libraries.
 
 
 </PRE><H2><a name="h2-OPTIONS">OPTIONS</a></H2><PRE>
@@ -66,8 +66,7 @@
               echos the executable-prefix of ncurses
 
        <STRONG>--cflags</STRONG>
-              echos the C compiler flags needed to  compile  with
-              ncurses
+              echos the C compiler flags needed to compile with ncurses
 
        <STRONG>--libs</STRONG> echos the libraries needed to link with ncurses
 
 
        <STRONG>--terminfo-dirs</STRONG>
               echos the $TERMINFO_DIRS directory list, e.g.,
-              /usr/local/ncurses/share/terminfo:/usr/share/ter-
-              minfo
+              /usr/local/ncurses/share/terminfo:/usr/share/terminfo
 
        <STRONG>--termpath</STRONG>
-              echos the $TERMPATH termcap list,  if  support  for
-              termcap is configured.
+              echos the $TERMPATH termcap list, if support for termcap is con-
+              figured.
 
        <STRONG>--help</STRONG> prints this message
 
 </PRE><H2><a name="h2-SEE-ALSO">SEE ALSO</a></H2><PRE>
        <STRONG><A HREF="ncurses.3x.html">curses(3x)</A></STRONG>
 
-       This describes <STRONG>ncurses</STRONG> version 6.0 (patch 20170429).
+       This describes <STRONG>ncurses</STRONG> version 6.0 (patch 20170506).
 
 
 
-                                                     <STRONG><A HREF="ncurses6-config.1.html">ncurses6-config(1)</A></STRONG>
+                                                            <STRONG><A HREF="ncurses6-config.1.html">ncurses6-config(1)</A></STRONG>
 </PRE>
 <div class="nav">
 <ul>
index fa487adc7fcb1bb68814ce94ea68635a890b0d0b..ffe64cac465f4debd73580792de165fb3695596a 100644 (file)
 <BODY>
 <H1 class="no-header">new_pair 3x</H1>
 <PRE>
-<STRONG><A HREF="new_pair.3x.html">new_pair(3x)</A></STRONG>                                               <STRONG><A HREF="new_pair.3x.html">new_pair(3x)</A></STRONG>
+<STRONG><A HREF="new_pair.3x.html">new_pair(3x)</A></STRONG>                                                      <STRONG><A HREF="new_pair.3x.html">new_pair(3x)</A></STRONG>
 
 
 
 
 </PRE><H2><a name="h2-NAME">NAME</a></H2><PRE>
-       <STRONG>alloc_pair</STRONG>,  <STRONG>find_pair</STRONG>,  <STRONG>free_pair</STRONG> - new curses color-pair
-       functions
+       <STRONG>alloc_pair</STRONG>, <STRONG>find_pair</STRONG>, <STRONG>free_pair</STRONG> - new curses color-pair functions
 
 
 </PRE><H2><a name="h2-SYNOPSIS">SYNOPSIS</a></H2><PRE>
 
 
 </PRE><H2><a name="h2-DESCRIPTION">DESCRIPTION</a></H2><PRE>
-       These functions are an extension to  the  curses  library.
-       They permit an application to dynamically allocate a color
-       pair using the foreground/background  colors  rather  than
-       assign  a  fixed  color  pair number, and return an unused
-       pair to the pool.
-
-       The number of colors may be related to the number of  pos-
-       sible color pairs for a given terminal, or it may not:
-
-       <STRONG>o</STRONG>   While  almost  all  terminals  allow setting the color
-           <EM>attributes</EM> independently, it  is  unlikely  that  your
-           terminal  allows  you  to  modify  the attributes of a
-           given character cell without rewriting it.   That  is,
-           the  foreground and background colors are applied as a
+       These functions are an extension to the curses library.  They permit an
+       application to dynamically  allocate  a  color  pair  using  the  fore-
+       ground/background  colors rather than assign a fixed color pair number,
+       and return an unused pair to the pool.
+
+       The number of colors may be related to the  number  of  possible  color
+       pairs for a given terminal, or it may not:
+
+       <STRONG>o</STRONG>   While almost all terminals allow setting the color <EM>attributes</EM> inde-
+           pendently, it is unlikely that your terminal allows you  to  modify
+           the  attributes  of  a  given  character cell without rewriting it.
+           That is, the foreground and background  colors  are  applied  as  a
            pair.
 
-       <STRONG>o</STRONG>   Color pairs are the curses library's way of managing a
-           color  palette on a terminal.  If the library does not
-           keep track of the <EM>combinations</EM>  of  colors  which  are
-           displayed, it will be inefficient.
+       <STRONG>o</STRONG>   Color  pairs  are the curses library's way of managing a color pal-
+           ette on a terminal.  If the library does not keep track of the <EM>com-</EM>
+           <EM>binations</EM> of colors which are displayed, it will be inefficient.
 
-       <STRONG>o</STRONG>   For  simple  terminal  emulators with only a few dozen
-           color combinations, it is convenient to use the  maxi-
-           mum  number  of  combinations  as  the  limit on color
-           pairs:
+       <STRONG>o</STRONG>   For  simple terminal emulators with only a few dozen color combina-
+           tions, it is convenient to use the maximum number  of  combinations
+           as the limit on color pairs:
 
              <STRONG>COLORS</STRONG> <EM>*</EM> <STRONG>COLORS</STRONG>
 
-       <STRONG>o</STRONG>   Terminals which support <EM>default</EM> <EM>colors</EM>  distinct  from
-           "ANSI  colors"  add to the possible combinations, pro-
-           ducing this total:
+       <STRONG>o</STRONG>   Terminals  which support <EM>default</EM> <EM>colors</EM> distinct from "ANSI colors"
+           add to the possible combinations, producing this total:
 
              <EM>(</EM> <STRONG>COLORS</STRONG> <EM>+</EM> <EM>1</EM> <EM>)</EM> <EM>*</EM> <EM>(</EM> <STRONG>COLORS</STRONG> <EM>+</EM> <EM>1</EM> <EM>)</EM>
 
-       <STRONG>o</STRONG>   An application might use up to a few dozen color pairs
-           to implement a predefined color scheme.
+       <STRONG>o</STRONG>   An application might use up to a few dozen color pairs to implement
+           a predefined color scheme.
 
-           Beyond  that  lies  in the realm of programs using the
-           foreground and background colors for "ASCII  art"  (or
-           some other non-textual application).
+           Beyond  that lies in the realm of programs using the foreground and
+           background colors for "ASCII art" (or some other non-textual appli-
+           cation).
 
-           Also  beyond  those few dozen pairs, the required size
-           for  a  table  to  represent  the  combinations  grows
-           rapidly with an increasing number of colors.
+           Also beyond those few dozen pairs, the required size for a table to
+           represent the combinations grows rapidly with an increasing  number
+           of colors.
 
-           These  functions  allow  a developer to let the screen
-           library manage color pairs.
+           These  functions allow a developer to let the screen library manage
+           color pairs.
 
 
 </PRE><H3><a name="h3-alloc_pair">alloc_pair</a></H3><PRE>
-       The <STRONG>alloc_pair</STRONG> function accepts parameters for  foreground
-       and background color, and checks if that color combination
-       is already associated with a color pair.
+       The <STRONG>alloc_pair</STRONG> function accepts parameters  for  foreground  and  back-
+       ground  color,  and checks if that color combination is already associ-
+       ated with a color pair.
 
-       <STRONG>o</STRONG>   If the combination already exists, <STRONG>alloc_pair</STRONG>  returns
-           the existing pair.
+       <STRONG>o</STRONG>   If the combination already exists, <STRONG>alloc_pair</STRONG> returns the  existing
+           pair.
 
-       <STRONG>o</STRONG>   If  the  combination  does not exist, <STRONG>alloc_pair</STRONG> allo-
-           cates a new color pair and returns that.
+       <STRONG>o</STRONG>   If the combination does not exist, <STRONG>alloc_pair</STRONG> allocates a new color
+           pair and returns that.
 
-       <STRONG>o</STRONG>   If the table fills up, <STRONG>alloc_pair</STRONG> discards the  least-
-           recently allocated entry using <STRONG>free_pair</STRONG> and allocates
-           a new color pair.
+       <STRONG>o</STRONG>   If the table fills up, <STRONG>alloc_pair</STRONG> discards the least-recently allo-
+           cated entry using <STRONG>free_pair</STRONG> and allocates a new color pair.
 
-       All of the color pairs are allocated from a table of  pos-
-       sible color pairs.  The size of the table is determined by
-       the terminfo <EM>pairs</EM> capability.  The table is  shared  with
-       <STRONG>init_pair</STRONG>; in fact <STRONG>alloc_pair</STRONG> calls <STRONG>init_pair</STRONG> after updat-
-       ing the ncurses library's fast index to the colors  versus
-       color pairs.
+       All  of  the  color  pairs are allocated from a table of possible color
+       pairs.  The size of the table is determined by the terminfo <EM>pairs</EM> capa-
+       bility.   The  table is shared with <STRONG>init_pair</STRONG>; in fact <STRONG>alloc_pair</STRONG> calls
+       <STRONG>init_pair</STRONG> after updating the ncurses library's fast index to the colors
+       versus color pairs.
 
 
 </PRE><H3><a name="h3-find_pair">find_pair</a></H3><PRE>
-       The  <STRONG>find_pair</STRONG>  function accepts parameters for foreground
-       and background color, and checks if that color combination
-       is  already  associated  with  a color pair, returning the
-       pair number  if  it  has  been  allocated.   Otherwise  it
-       returns -1.
+       The <STRONG>find_pair</STRONG> function accepts parameters for foreground and background
+       color, and checks if that color combination is already associated  with
+       a color pair, returning the pair number if it has been allocated.  Oth-
+       erwise it returns -1.
 
 
 </PRE><H3><a name="h3-free_pair">free_pair</a></H3><PRE>
-       Marks  the  given  color  pair as unused, i.e., like color
-       pair 0.
+       Marks the given color pair as unused, i.e., like color pair 0.
 
 
 </PRE><H2><a name="h2-RETURN-VALUE">RETURN VALUE</a></H2><PRE>
-       The <STRONG>alloc_pair</STRONG> function returns a color pair number in the
-       range  1  through  <STRONG>COLOR_PAIRS</STRONG>-1,  unless it encounters an
-       error updating its fast index to the  color  pair  values,
-       preventing it from allocating a color pair.  In that case,
-       it returns -1.
+       The <STRONG>alloc_pair</STRONG> function returns a color pair  number  in  the  range  1
+       through  <STRONG>COLOR_PAIRS</STRONG>-1, unless it encounters an error updating its fast
+       index to the color pair values, preventing it from allocating  a  color
+       pair.  In that case, it returns -1.
 
-       The <STRONG>find_pair</STRONG> function returns a color pair number if  the
-       given  color  combination has been associated with a color
-       pair, or -1 if not.
+       The  <STRONG>find_pair</STRONG>  function returns a color pair number if the given color
+       combination has been associated with a color pair, or -1 if not.
 
-       Likewise, <STRONG>free_pair</STRONG> returns <STRONG>OK</STRONG>  unless  it  encounters  an
-       error  updating the fast index or if no such color pair is
-       in use.
+       Likewise, <STRONG>free_pair</STRONG> returns <STRONG>OK</STRONG> unless it encounters an  error  updating
+       the fast index or if no such color pair is in use.
 
 
 </PRE><H2><a name="h2-PORTABILITY">PORTABILITY</a></H2><PRE>
-       These routines are specific to  ncurses.   They  were  not
-       supported  on  Version 7, BSD or System V implementations.
-       It is recommended that any code depending on them be  con-
-       ditioned using NCURSES_VERSION.
+       These  routines  are  specific  to ncurses.  They were not supported on
+       Version 7, BSD or System V implementations.  It is recommended that any
+       code depending on them be conditioned using NCURSES_VERSION.
 
 
 </PRE><H2><a name="h2-SEE-ALSO">SEE ALSO</a></H2><PRE>
 
 
 
-                                                           <STRONG><A HREF="new_pair.3x.html">new_pair(3x)</A></STRONG>
+                                                                  <STRONG><A HREF="new_pair.3x.html">new_pair(3x)</A></STRONG>
 </PRE>
 <div class="nav">
 <ul>
index ba7598c1b1ce23a90eb3d74947e3d39f4ed6d71f..0c526c6abacb79a8de3a52afe59c526630e47db7 100644 (file)
@@ -40,7 +40,7 @@
 <BODY>
 <H1 class="no-header">panel 3x</H1>
 <PRE>
-<STRONG><A HREF="panel.3x.html">panel(3x)</A></STRONG>                                                     <STRONG><A HREF="panel.3x.html">panel(3x)</A></STRONG>
+<STRONG><A HREF="panel.3x.html">panel(3x)</A></STRONG>                                                            <STRONG><A HREF="panel.3x.html">panel(3x)</A></STRONG>
 
 
 
 
 
 </PRE><H2><a name="h2-DESCRIPTION">DESCRIPTION</a></H2><PRE>
-       Panels  are  <STRONG><A HREF="ncurses.3x.html">curses(3x)</A></STRONG>  windows with the added feature of
-       depth.  Panel functions allow the use of  stacked  windows
-       and  ensure  the  proper  portions  of each window and the
-       curses <STRONG>stdscr</STRONG> window are hidden or displayed  when  panels
-       are  added,  moved,  modified or removed.  The set of cur-
-       rently visible panels is the stack of panels.  The  <STRONG>stdscr</STRONG>
-       window  is  beneath all panels, and is not considered part
-       of the stack.
+       Panels  are  <STRONG><A HREF="ncurses.3x.html">curses(3x)</A></STRONG> windows with the added feature of depth.  Panel
+       functions allow the use of stacked windows and ensure the  proper  por-
+       tions  of  each  window and the curses <STRONG>stdscr</STRONG> window are hidden or dis-
+       played when panels are added, moved, modified or removed.  The  set  of
+       currently  visible panels is the stack of panels.  The <STRONG>stdscr</STRONG> window is
+       beneath all panels, and is not considered part of the stack.
 
-       A window is associated with every panel.  The  panel  rou-
-       tines  enable  you to create, move, hide, and show panels,
-       as well as position a panel at any desired location in the
-       stack.
+       A window is associated with every panel. The panel routines enable  you
+       to  create, move, hide, and show panels, as well as position a panel at
+       any desired location in the stack.
 
-       Panel routines are a functional layer added to <STRONG><A HREF="ncurses.3x.html">curses(3x)</A></STRONG>,
-       make only high-level curses calls, and work anywhere  ter-
-       minfo curses does.
+       Panel routines are a functional layer added to  <STRONG><A HREF="ncurses.3x.html">curses(3x)</A></STRONG>,  make  only
+       high-level curses calls, and work anywhere terminfo curses does.
 
 
 </PRE><H2><a name="h2-FUNCTIONS">FUNCTIONS</a></H2><PRE>
        <STRONG>new_panel(win)</STRONG>
-              allocates   a   <STRONG>PANEL</STRONG> structure, associates it with
-              <STRONG>win</STRONG>, places the panel  on  the  top  of  the  stack
-              (causes   it  to   be   displayed  above  any other
-              panel) and returns a pointer to the new panel.
+              allocates   a   <STRONG>PANEL</STRONG>  structure, associates it with <STRONG>win</STRONG>, places
+              the panel on the top of the stack  (causes  it to  be  displayed
+              above any other panel) and returns a pointer to the new panel.
 
        <STRONG>update_panels</STRONG>
-              refreshes the virtual screen to reflect  the  rela-
-              tions between the panels in the stack, but does not
-              call <STRONG>doupdate</STRONG> to refresh the physical screen.   Use
-              this  function  and  not  <STRONG>wrefresh</STRONG> or <STRONG>wnoutrefresh</STRONG>.
-              <STRONG>update_panels</STRONG> may be called more than once before a
-              call  to  <STRONG>doupdate</STRONG>,  but  <STRONG>doupdate</STRONG>  is the function
-              responsible for updating the physical screen.
+              refreshes  the  virtual  screen to reflect the relations between
+              the panels in the stack, but does not call <STRONG>doupdate</STRONG>  to  refresh
+              the  physical  screen.   Use  this  function and not <STRONG>wrefresh</STRONG> or
+              <STRONG>wnoutrefresh</STRONG>.  <STRONG>update_panels</STRONG> may be called more than once before
+              a call to <STRONG>doupdate</STRONG>, but <STRONG>doupdate</STRONG> is the function responsible for
+              updating the physical screen.
 
        <STRONG>del_panel(pan)</STRONG>
-              removes the given panel from the  stack and deallo-
-              cates  the  <STRONG>PANEL</STRONG> structure (but not its associated
-              window).
+              removes the given panel from  the   stack  and  deallocates  the
+              <STRONG>PANEL</STRONG> structure (but not its associated window).
 
        <STRONG>hide_panel(pan)</STRONG>
-              removes the given panel from the  panel  stack  and
-              thus hides it from view. The <STRONG>PANEL</STRONG> structure is not
-              lost, merely removed from the stack.
+              removes  the  given panel from the panel stack and thus hides it
+              from view. The <STRONG>PANEL</STRONG> structure is not lost, merely removed  from
+              the stack.
 
        <STRONG>panel_hidden(pan)</STRONG>
-              returns <STRONG>TRUE</STRONG> if the panel is in  the  panel  stack,
-              <STRONG>FALSE</STRONG>  if  it  is  not.   If  the  panel  is a null
-              pointer, return ERR.
+              returns  <STRONG>TRUE</STRONG> if the panel is in the panel stack, <STRONG>FALSE</STRONG> if it is
+              not.  If the panel is a null pointer, return ERR.
 
        <STRONG>show_panel(pan)</STRONG>
-              makes a hidden panel visible by placing it  on  top
-              of the panels in the panel stack. See COMPATIBILITY
-              below.
+              makes a hidden panel visible by placing it on top of the  panels
+              in the panel stack. See COMPATIBILITY below.
 
        <STRONG>top_panel(pan)</STRONG>
-              puts the given visible panel on top of  all  panels
-              in the stack.  See COMPATIBILITY below.
+              puts  the given visible panel on top of all panels in the stack.
+              See COMPATIBILITY below.
 
        <STRONG>bottom_panel(pan)</STRONG>
               puts panel at the bottom of all panels.
 
        <STRONG>move_panel(pan,starty,startx)</STRONG>
-              moves the given panel window so that its upper-left
-              corner is at <STRONG>starty</STRONG>, <STRONG>startx</STRONG>.  It  does  not  change
-              the position of the panel in the stack.  Be sure to
-              use this function, not <STRONG>mvwin</STRONG>, to move a panel  win-
-              dow.
+              moves the given panel window so that its upper-left corner is at
+              <STRONG>starty</STRONG>, <STRONG>startx</STRONG>.  It does not change the position of the panel in
+              the stack.  Be sure to use this function, not <STRONG>mvwin</STRONG>, to  move  a
+              panel window.
 
        <STRONG>replace_panel(pan,window)</STRONG>
-              replaces  the  current  window of panel with <STRONG>window</STRONG>
-              (useful, for example if you want to resize a panel;
-              if you're using <STRONG>ncurses</STRONG>, you can call <STRONG>replace_panel</STRONG>
-              on the output of <STRONG><A HREF="wresize.3x.html">wresize(3x)</A></STRONG>).  It does not  change
-              the position of the panel in the stack.
+              replaces  the  current  window of panel with <STRONG>window</STRONG> (useful, for
+              example if you want to resize a panel; if you're using  <STRONG>ncurses</STRONG>,
+              you  can  call  <STRONG>replace_panel</STRONG> on the output of <STRONG><A HREF="wresize.3x.html">wresize(3x)</A></STRONG>).  It
+              does not change the position of the panel in the stack.
 
        <STRONG>panel_above(pan)</STRONG>
-              returns  a  pointer to the panel above pan.  If the
-              panel argument is <STRONG>(PANEL</STRONG> <STRONG>*)0</STRONG>, it returns a  pointer
-              to the bottom panel in the stack.
+              returns a pointer to the panel above pan.  If the panel argument
+              is  <STRONG>(PANEL</STRONG>  <STRONG>*)0</STRONG>, it returns a pointer to the bottom panel in the
+              stack.
 
        <STRONG>panel_below(pan)</STRONG>
-              returns  a pointer to the panel just below pan.  If
-              the panel argument is  <STRONG>(PANEL</STRONG>  <STRONG>*)0</STRONG>,  it  returns  a
-              pointer to the top panel in the stack.
+              returns a pointer to the panel just below  pan.   If  the  panel
+              argument is <STRONG>(PANEL</STRONG> <STRONG>*)0</STRONG>, it returns a pointer to the top panel in
+              the stack.
 
        <STRONG>set_panel_userptr(pan,ptr)</STRONG>
               sets the panel's user pointer.
 
 
 </PRE><H2><a name="h2-DIAGNOSTICS">DIAGNOSTICS</a></H2><PRE>
-       Each  routine  that  returns  a pointer returns <STRONG>NULL</STRONG> if an
-       error occurs. Each  routine  that  returns  an  int  value
-       returns <STRONG>OK</STRONG> if it executes successfully and <STRONG>ERR</STRONG> if not.
+       Each routine that returns a pointer returns <STRONG>NULL</STRONG> if  an  error  occurs.
+       Each  routine  that returns an int value returns <STRONG>OK</STRONG> if it executes suc-
+       cessfully and <STRONG>ERR</STRONG> if not.
 
 
 </PRE><H2><a name="h2-COMPATIBILITY">COMPATIBILITY</a></H2><PRE>
-       Reasonable  care  has been taken to  ensure  compatibility
-       with  the  native  panel  facility  introduced  in  SVr3.2
-       (inspection of the SVr4 manual pages suggests the program-
-       ming interface is unchanged).  The <STRONG>PANEL</STRONG>  data  structures
-       are  merely   similar. The  programmer is cautioned not to
-       directly use <STRONG>PANEL</STRONG> fields.
-
-       The functions <STRONG>show_panel</STRONG> and <STRONG>top_panel</STRONG>  are  identical  in
-       this  implementation, and work equally well with displayed
-       or hidden panels.  In the native System V  implementation,
-       <STRONG>show_panel</STRONG>  is  intended for making a hidden panel visible
-       (at the top of the stack) and <STRONG>top_panel</STRONG>  is  intended  for
-       making  an  already-visible  panel  move to the top of the
-       stack. You are cautioned to use the  correct  function  to
-       ensure compatibility with native panel libraries.
+       Reasonable care has been taken  to   ensure   compatibility  with   the
+       native   panel  facility  introduced  in SVr3.2 (inspection of the SVr4
+       manual pages suggests the programming  interface  is  unchanged).   The
+       <STRONG>PANEL</STRONG> data structures are merely  similar. The  programmer is cautioned
+       not to directly use <STRONG>PANEL</STRONG> fields.
+
+       The functions <STRONG>show_panel</STRONG> and <STRONG>top_panel</STRONG> are identical in this  implemen-
+       tation,  and work equally well with displayed or hidden panels.  In the
+       native System V implementation, <STRONG>show_panel</STRONG> is  intended  for  making  a
+       hidden  panel  visible  (at  the  top  of  the  stack) and <STRONG>top_panel</STRONG> is
+       intended for making an already-visible panel move to  the  top  of  the
+       stack. You are cautioned to use the correct function to ensure compati-
+       bility with native panel libraries.
 
 
 </PRE><H2><a name="h2-NOTE">NOTE</a></H2><PRE>
-       In  your  library  list, libpanel.a should be before libn-
-       curses.a; that is, you should say "-lpanel -lncurses", not
-       the  other  way around (which would give a link-error with
-       static libraries).
+       In your library list, libpanel.a should be  before  libncurses.a;  that
+       is, you should say "-lpanel -lncurses", not the other way around (which
+       would give a link-error with static libraries).
 
 
 </PRE><H2><a name="h2-FILES">FILES</a></H2><PRE>
 </PRE><H2><a name="h2-SEE-ALSO">SEE ALSO</a></H2><PRE>
        <STRONG><A HREF="ncurses.3x.html">curses(3x)</A></STRONG>, <STRONG><A HREF="curs_variables.3x.html">curs_variables(3x)</A></STRONG>,
 
-       This describes <STRONG>ncurses</STRONG> version 6.0 (patch 20170429).
+       This describes <STRONG>ncurses</STRONG> version 6.0 (patch 20170506).
 
 
 </PRE><H2><a name="h2-AUTHOR">AUTHOR</a></H2><PRE>
-       Originally  written  by   Warren   Tucker   &lt;wht@n4hgf.mt-
-       park.ga.us&gt;,  primarily  to  assist  in porting u386mon to
-       systems without a native panels library.   Repackaged  for
-       ncurses by Zeyd ben-Halim.
+       Originally written by Warren Tucker &lt;wht@n4hgf.mt-park.ga.us&gt;,  primar-
+       ily  to  assist  in  porting u386mon to systems without a native panels
+       library.  Repackaged for ncurses by Zeyd ben-Halim.
 
 
 
-                                                              <STRONG><A HREF="panel.3x.html">panel(3x)</A></STRONG>
+                                                                     <STRONG><A HREF="panel.3x.html">panel(3x)</A></STRONG>
 </PRE>
 <div class="nav">
 <ul>
index ca51d4a3e9f92ad0ff3591b3e89d337df052f49b..c4a5bcfba029ff8d9e5f9c0eaf6b2e73bca0ee86 100644 (file)
 <BODY>
 <H1 class="no-header">resizeterm 3x</H1>
 <PRE>
-<STRONG><A HREF="resizeterm.3x.html">resizeterm(3x)</A></STRONG>                                           <STRONG><A HREF="resizeterm.3x.html">resizeterm(3x)</A></STRONG>
+<STRONG><A HREF="resizeterm.3x.html">resizeterm(3x)</A></STRONG>                                                  <STRONG><A HREF="resizeterm.3x.html">resizeterm(3x)</A></STRONG>
 
 
 
 
 </PRE><H2><a name="h2-NAME">NAME</a></H2><PRE>
-       <STRONG>is_term_resized</STRONG>,  <STRONG>resize_term</STRONG>,  <STRONG>resizeterm</STRONG>  -  change  the
-       curses terminal size
+       <STRONG>is_term_resized</STRONG>,  <STRONG>resize_term</STRONG>,  <STRONG>resizeterm</STRONG> - change the curses terminal
+       size
 
 
 </PRE><H2><a name="h2-SYNOPSIS">SYNOPSIS</a></H2><PRE>
 
 
 </PRE><H2><a name="h2-DESCRIPTION">DESCRIPTION</a></H2><PRE>
-       This is an extension to the curses library.   It  provides
-       callers  with  a hook into the <STRONG>ncurses</STRONG> data to resize win-
-       dows, primarily for use by programs running in an X Window
-       terminal (e.g., xterm).
+       This is an extension to the curses library.  It provides callers with a
+       hook into the <STRONG>ncurses</STRONG> data to resize windows, primarily for use by pro-
+       grams running in an X Window terminal (e.g., xterm).
 
 
 </PRE><H3><a name="h3-resizeterm">resizeterm</a></H3><PRE>
-       The  function  <STRONG>resizeterm</STRONG> resizes the standard and current
-       windows to the specified  dimensions,  and  adjusts  other
-       bookkeeping  data  used by the <STRONG>ncurses</STRONG> library that record
-       the window dimensions such as the  <STRONG>LINES</STRONG>  and  <STRONG>COLS</STRONG>  vari-
-       ables.
+       The function <STRONG>resizeterm</STRONG> resizes the standard and current windows to the
+       specified  dimensions,  and  adjusts other bookkeeping data used by the
+       <STRONG>ncurses</STRONG> library that record the window dimensions such as the <STRONG>LINES</STRONG> and
+       <STRONG>COLS</STRONG> variables.
 
 
 </PRE><H3><a name="h3-resize_term">resize_term</a></H3><PRE>
-       Most   of   the   work  is  done  by  the  inner  function
-       <STRONG>resize_term</STRONG>.  The outer function <STRONG>resizeterm</STRONG> adds bookkeep-
-       ing  for the SIGWINCH handler.  When resizing the windows,
-       <STRONG>resize_term</STRONG> blank-fills the areas that are extended.   The
-       calling application should fill in these areas with appro-
-       priate data.  The <STRONG>resize_term</STRONG> function attempts to  resize
-       all  windows.   However,  due to the calling convention of
-       pads, it is not possible to  resize  these  without  addi-
-       tional interaction with the application.
+       Most  of the work is done by the inner function <STRONG>resize_term</STRONG>.  The outer
+       function <STRONG>resizeterm</STRONG> adds bookkeeping for the  SIGWINCH  handler.   When
+       resizing  the  windows,  <STRONG>resize_term</STRONG>  blank-fills  the  areas  that are
+       extended.  The calling application should  fill  in  these  areas  with
+       appropriate data.  The <STRONG>resize_term</STRONG> function attempts to resize all win-
+       dows.  However, due to the calling convention of pads, it is not possi-
+       ble  to  resize  these without additional interaction with the applica-
+       tion.
 
 
 </PRE><H3><a name="h3-is_term_resized">is_term_resized</a></H3><PRE>
-       A  support  function  <STRONG>is_term_resized</STRONG>  is provided so that
-       applications can check if the <STRONG>resize_term</STRONG>  function  would
-       modify the window structures.  It returns <STRONG>TRUE</STRONG> if the win-
-       dows would be modified, and <STRONG>FALSE</STRONG> otherwise.
+       A support function <STRONG>is_term_resized</STRONG> is provided so that applications can
+       check  if  the <STRONG>resize_term</STRONG> function would modify the window structures.
+       It returns <STRONG>TRUE</STRONG> if the windows would be modified, and <STRONG>FALSE</STRONG> otherwise.
 
 
 </PRE><H2><a name="h2-RETURN-VALUE">RETURN VALUE</a></H2><PRE>
-       Except as noted, these functions return  the  integer  <STRONG>ERR</STRONG>
-       upon  failure and <STRONG>OK</STRONG> on success.  They will fail if either
-       of the dimensions are less than or equal to zero, or if an
-       error occurs while (re)allocating memory for the windows.
+       Except as noted, these functions return the integer  <STRONG>ERR</STRONG>  upon  failure
+       and <STRONG>OK</STRONG> on success.  They will fail if either of the dimensions are less
+       than or equal to zero, or if an error occurs while (re)allocating  mem-
+       ory for the windows.
 
 
 </PRE><H2><a name="h2-NOTES">NOTES</a></H2><PRE>
-       While these functions are intended to be used to support a
-       signal handler (i.e., for SIGWINCH), care should be  taken
-       to  avoid invoking them in a context where <STRONG>malloc</STRONG> or <STRONG>real-</STRONG>
-       <STRONG>loc</STRONG> may have been interrupted, since it uses  those  func-
-       tions.
+       While  these functions are intended to be used to support a signal han-
+       dler (i.e., for SIGWINCH), care should be taken to avoid invoking  them
+       in  a  context where <STRONG>malloc</STRONG> or <STRONG>realloc</STRONG> may have been interrupted, since
+       it uses those functions.
 
-       If  ncurses  is configured to supply its own SIGWINCH han-
-       dler,
+       If ncurses is configured to supply its own SIGWINCH handler,
 
        <STRONG>o</STRONG>   on receipt of a SIGWINCH, the handler sets a flag
 
 
        <STRONG>o</STRONG>   in turn, calling the <STRONG>resizeterm</STRONG> function,
 
-       <STRONG>o</STRONG>   which <STRONG>ungetch</STRONG>'s a <STRONG>KEY_RESIZE</STRONG> which will be read on the
-           next call to <STRONG>wgetch</STRONG>.
+       <STRONG>o</STRONG>   which <STRONG>ungetch</STRONG>'s a <STRONG>KEY_RESIZE</STRONG> which will be read on the next call to
+           <STRONG>wgetch</STRONG>.
 
-           The  <STRONG>KEY_RESIZE</STRONG>  alerts an application that the screen
-           size has changed, and that it should  repaint  special
-           features  such  as  pads that cannot be done automati-
-           cally.
+           The  <STRONG>KEY_RESIZE</STRONG>  alerts  an  application  that  the screen size has
+           changed, and that it should repaint special features such  as  pads
+           that cannot be done automatically.
 
-           Calling <STRONG>resizeterm</STRONG> or <STRONG>resize_term</STRONG> directly from a sig-
-           nal  handler  is unsafe.  This indirect method is used
-           to provide a safe  way  to  resize  the  ncurses  data
-           structures.
+           Calling <STRONG>resizeterm</STRONG> or <STRONG>resize_term</STRONG> directly from a signal handler is
+           unsafe.  This indirect method is used to  provide  a  safe  way  to
+           resize the ncurses data structures.
 
-       If  the  environment  variables  <STRONG>LINES</STRONG> or <STRONG>COLUMNS</STRONG> are set,
-       this overrides  the  library's  use  of  the  window  size
-       obtained  from the operating system.  Thus, even if a SIG-
-       WINCH is received, no screen size change may be recorded.
+       If  the  environment variables <STRONG>LINES</STRONG> or <STRONG>COLUMNS</STRONG> are set, this overrides
+       the library's use of the window size obtained from the  operating  sys-
+       tem.   Thus,  even if a SIGWINCH is received, no screen size change may
+       be recorded.
 
 
 </PRE><H2><a name="h2-PORTABILITY">PORTABILITY</a></H2><PRE>
 
        Doing that clears the screen and is visually distracting.
 
-       This extension of ncurses was introduced in mid-1995.   It
-       was adopted in NetBSD curses (2001) and PDCurses (2003).
+       This extension of ncurses was introduced in mid-1995.  It  was  adopted
+       in NetBSD curses (2001) and PDCurses (2003).
 
 
 </PRE><H2><a name="h2-SEE-ALSO">SEE ALSO</a></H2><PRE>
 
 
 </PRE><H2><a name="h2-AUTHOR">AUTHOR</a></H2><PRE>
-       Thomas Dickey (from an equivalent function written in 1988
-       for BSD curses).
+       Thomas  Dickey  (from  an  equivalent  function written in 1988 for BSD
+       curses).
 
 
 
-                                                         <STRONG><A HREF="resizeterm.3x.html">resizeterm(3x)</A></STRONG>
+                                                                <STRONG><A HREF="resizeterm.3x.html">resizeterm(3x)</A></STRONG>
 </PRE>
 <div class="nav">
 <ul>
index 20fd4f42762c0c97990e0dd0d58cc3dcdb5eb312..ed7a18f84fc8b1c35c03ffbea61b237805cd8515 100644 (file)
@@ -40,7 +40,7 @@
 <BODY>
 <H1 class="no-header">scr_dump 5</H1>
 <PRE>
-<STRONG><A HREF="scr_dump.5.html">scr_dump(5)</A></STRONG>                                                 <STRONG><A HREF="scr_dump.5.html">scr_dump(5)</A></STRONG>
+<STRONG><A HREF="scr_dump.5.html">scr_dump(5)</A></STRONG>                                                        <STRONG><A HREF="scr_dump.5.html">scr_dump(5)</A></STRONG>
 
 
 
 
 
 </PRE><H2><a name="h2-DESCRIPTION">DESCRIPTION</a></H2><PRE>
-       The  curses library provides applications with the ability
-       to write the contents of a  window  to  an  external  file
-       using   <STRONG>scr_dump</STRONG>   or  <STRONG>putwin</STRONG>,  and  read  it  back  using
-       <STRONG>scr_restore</STRONG> or <STRONG>getwin</STRONG>.
+       The  curses library provides applications with the ability to write the
+       contents of a window to an external file using <STRONG>scr_dump</STRONG> or <STRONG>putwin</STRONG>,  and
+       read it back using <STRONG>scr_restore</STRONG> or <STRONG>getwin</STRONG>.
 
-       The  <STRONG>putwin</STRONG>  and  <STRONG>getwin</STRONG>  functions  do  the  work;  while
-       <STRONG>scr_dump</STRONG> and <STRONG>scr_restore</STRONG> conveniently save and restore the
-       whole screen, i.e., <STRONG>stdscr</STRONG>.
+       The  <STRONG>putwin</STRONG>  and  <STRONG>getwin</STRONG>  functions  do  the  work;  while <STRONG>scr_dump</STRONG> and
+       <STRONG>scr_restore</STRONG> conveniently save and restore the whole screen, i.e.,  <STRONG>std-</STRONG>
+       <STRONG>scr</STRONG>.
 
 
 </PRE><H3><a name="h3-ncurses6">ncurses6</a></H3><PRE>
-       A longstanding implementation of screen-dump  was  revised
-       with   ncurses6   to  remedy  problems  with  the  earlier
-       approach:
+       A  longstanding implementation of screen-dump was revised with ncurses6
+       to remedy problems with the earlier approach:
 
-       <STRONG>o</STRONG>   A "magic number" is written to the  beginning  of  the
-           dump  file, allowing applications (such as <STRONG>file(1)</STRONG>) to
-           recognize curses dump files.
+       <STRONG>o</STRONG>   A "magic number" is written to the  beginning  of  the  dump  file,
+           allowing  applications  (such  as <STRONG>file(1)</STRONG>) to recognize curses dump
+           files.
 
-           Because ncurses6 uses a new format,  that  requires  a
-           new  magic  number  was  unused by other applications.
-           This 16-bit number was unused:
+           Because ncurses6 uses a new format, that requires a new magic  num-
+           ber  was  unused  by  other  applications.   This 16-bit number was
+           unused:
 
              0x8888 (octal "\210\210")
 
@@ -83,8 +81,8 @@
 
              0x88888888 (octal "\210\210\210\210")
 
-           This is the pattern submitted to  the  maintainers  of
-           the <STRONG>file</STRONG> program:
+           This is the pattern submitted to the maintainers of the  <STRONG>file</STRONG>  pro-
+           gram:
 
              #
              # ncurses5 (and before) did not use a magic number,
              0    string    \210\210\210\210ncurses    ncurses6 screen image
              #
 
-       <STRONG>o</STRONG>   The  screen dumps are written in textual form, so that
-           internal data sizes are not directly  related  to  the
-           dump-format,  and  enabling  the library to read dumps
-           from either narrow- or wide-character- configurations.
+       <STRONG>o</STRONG>   The screen dumps are written in textual form, so that internal data
+           sizes are not directly related to the dump-format, and enabling the
+           library  to  read dumps from either narrow- or wide-character- con-
+           figurations.
 
-           The <EM>narrow</EM> library configuration holds characters  and
-           video  attributes  in a 32-bit <STRONG>chtype</STRONG>, while the <EM>wide-</EM>
-           <EM>character</EM>  library  stores  this  information  in  the
-           <STRONG>cchar_t</STRONG> structure, which is much larger than 32-bits.
+           The  <EM>narrow</EM>  library  configuration  holds  characters  and   video
+           attributes  in  a  32-bit  <STRONG>chtype</STRONG>, while the <EM>wide-character</EM> library
+           stores this information in the <STRONG>cchar_t</STRONG>  structure,  which  is  much
+           larger than 32-bits.
 
-       <STRONG>o</STRONG>   It  is  possible to read a screen dump into a terminal
-           with a  different  screen-size,  because  the  library
-           truncates or fills the screen as necessary.
+       <STRONG>o</STRONG>   It is possible to read a screen dump into a terminal with a differ-
+           ent screen-size, because the library truncates or fills the  screen
+           as necessary.
 
-       <STRONG>o</STRONG>   The ncurses6 <STRONG>getwin</STRONG> reads the legacy screen dumps from
-           ncurses5.
+       <STRONG>o</STRONG>   The ncurses6 <STRONG>getwin</STRONG> reads the legacy screen dumps from ncurses5.
 
 
 </PRE><H3><a name="h3-ncurses5-_legacy_">ncurses5 (legacy)</a></H3><PRE>
-       The screen-dump feature was added to ncurses in June 1995.
-       While  there  were  fixes  and  improvements in succeeding
-       years, the basic scheme was unchanged:
+       The screen-dump feature was added to ncurses in June 1995.  While there
+       were fixes and improvements in succeeding years, the basic  scheme  was
+       unchanged:
 
        <STRONG>o</STRONG>   The <STRONG>WINDOW</STRONG> structure was written in binary form.
 
-       <STRONG>o</STRONG>   The <STRONG>WINDOW</STRONG> structure refers to lines  of  data,  which
-           were  written as an array of binary data following the
-           <STRONG>WINDOW</STRONG>.
+       <STRONG>o</STRONG>   The <STRONG>WINDOW</STRONG> structure refers to lines of data, which were written as
+           an array of binary data following the <STRONG>WINDOW</STRONG>.
 
-       <STRONG>o</STRONG>   When <STRONG>getwin</STRONG> restored the window, it would  keep  track
-           of  offsets into the array of line-data and adjust the
-           <STRONG>WINDOW</STRONG> structure which was read back into memory.
+       <STRONG>o</STRONG>   When <STRONG>getwin</STRONG> restored the window, it would  keep  track  of  offsets
+           into  the  array of line-data and adjust the <STRONG>WINDOW</STRONG> structure which
+           was read back into memory.
 
-       This is similar to Unix SystemV,  but  does  not  write  a
-       "magic number" to identify the file format.
+       This is similar to Unix SystemV, but does not write a "magic number" to
+       identify the file format.
 
 
 </PRE><H2><a name="h2-PORTABILITY">PORTABILITY</a></H2><PRE>
-       There  is  no  standard  format  for <STRONG>putwin</STRONG>.  This section
-       gives a brief description of the existing formats.
+       There  is  no  standard  format for <STRONG>putwin</STRONG>.  This section gives a brief
+       description of the existing formats.
 
 
 </PRE><H3><a name="h3-X_Open-Curses">X/Open Curses</a></H3><PRE>
 
        X/Open's documentation for <EM>enhanced</EM> <EM>curses</EM> says only:
 
-          The <EM>getwin(</EM> <EM>)</EM> function reads window-related data stored
-          in  the  file  by <EM>putwin(</EM> <EM>)</EM>.  The function then creates
-          and initializes a new window using that data.
+          The <EM>getwin(</EM> <EM>)</EM> function reads window-related data stored in the  file
+          by  <EM>putwin(</EM> <EM>)</EM>.  The function then creates and initializes a new win-
+          dow using that data.
 
-          The <EM>putwin(</EM> <EM>)</EM> function writes all data associated  with
-          <EM>win</EM>  into the <EM>stdio</EM> stream to which <EM>filep</EM> points, using
-          an  <STRONG>unspecified</STRONG>  <STRONG>format</STRONG>.   This  information   can   be
-          retrieved later using <EM>getwin(</EM> <EM>)</EM>.
+          The <EM>putwin(</EM> <EM>)</EM> function writes all data associated with <EM>win</EM> into  the
+          <EM>stdio</EM>  stream  to  which  <EM>filep</EM> points, using an <STRONG>unspecified</STRONG> <STRONG>format</STRONG>.
+          This information can be retrieved later using <EM>getwin(</EM> <EM>)</EM>.
 
-       In the mid-1990s when the X/Open Curses document was writ-
-       ten, there were still systems using  older,  less  capable
-       curses  libraries (aside from the BSD curses library which
-       was not relevant to X/Open because it  did  not  meet  the
-       criteria  for  <EM>base</EM>  <EM>curses</EM>).   The document explained the
+       In the mid-1990s when the X/Open Curses  document  was  written,  there
+       were  still  systems  using older, less capable curses libraries (aside
+       from the BSD curses library which was not relevant to X/Open because it
+       did not meet the criteria for <EM>base</EM> <EM>curses</EM>).  The document explained the
        term "enhanced" as follows:
 
-          <STRONG>o</STRONG>   Shading is used to identify <EM>X/Open</EM> <EM>Enhanced</EM>  <EM>Curses</EM>
-              material,  relating  to interfaces included to pro-
-              vide enhanced capabilities for applications  origi-
-              nally  written  to  be compiled on systems based on
-              the UNIX operating system. Therefore, the  features
-              described  may  not be present on systems that con-
-              form to <STRONG>XPG4</STRONG> <STRONG>or</STRONG> <STRONG>to</STRONG> <STRONG>earlier</STRONG> <STRONG>XPG</STRONG> <STRONG>releases</STRONG>.  The rele-
-              vant reference pages may provide additional or more
-              specific portability  warnings  about  use  of  the
-              material.
+          <STRONG>o</STRONG>   Shading is used to identify  <EM>X/Open</EM>  <EM>Enhanced</EM>  <EM>Curses</EM>  material,
+              relating to interfaces included to provide enhanced capabilities
+              for applications originally written to be  compiled  on  systems
+              based  on  the  UNIX  operating  system. Therefore, the features
+              described may not be present on systems that conform to <STRONG>XPG4</STRONG>  <STRONG>or</STRONG>
+              <STRONG>to</STRONG>  <STRONG>earlier</STRONG> <STRONG>XPG</STRONG> <STRONG>releases</STRONG>.  The relevant reference pages may pro-
+              vide additional or more specific portability warnings about  use
+              of the material.
 
-       In the foregoing, emphasis was added to <STRONG>unspecified</STRONG> <STRONG>format</STRONG>
-       and to <STRONG>XPG4</STRONG> <STRONG>or</STRONG> <STRONG>to</STRONG> <STRONG>earlier</STRONG> <STRONG>XPG</STRONG> <STRONG>releases</STRONG>, for clarity.
+       In  the foregoing, emphasis was added to <STRONG>unspecified</STRONG> <STRONG>format</STRONG> and to <STRONG>XPG4</STRONG>
+       <STRONG>or</STRONG> <STRONG>to</STRONG> <STRONG>earlier</STRONG> <STRONG>XPG</STRONG> <STRONG>releases</STRONG>, for clarity.
 
 
 </PRE><H3><a name="h3-Unix-SystemV">Unix SystemV</a></H3><PRE>
-       Unix SystemV curses identified the file format by  writing
-       a "magic number" at the beginning of the dump.  The <STRONG>WINDOW</STRONG>
-       data and the lines of text follow, all in binary form.
+       Unix SystemV curses identified the file format by writing a "magic num-
+       ber"  at  the  beginning of the dump.  The <STRONG>WINDOW</STRONG> data and the lines of
+       text follow, all in binary form.
 
        The Solaris curses source has these definitions:
 
          #define SVR2_DUMP_MAGIC_NUMBER  0433
          #define SVR3_DUMP_MAGIC_NUMBER  0434
 
-       That is, the feature was likely introduced in SVr2 (1984),
-       and  improved  in  SVr3 (1987).  The Solaris curses source
-       has no magic number for SVr4 (1989).  Other operating sys-
-       tems  (AIX and HPUX) use a magic number which would corre-
-       spond to this definition:
+       That is, the feature was likely introduced in SVr2 (1984), and improved
+       in SVr3 (1987).  The Solaris curses source has no magic number for SVr4
+       (1989).  Other operating systems (AIX and  HPUX)  use  a  magic  number
+       which would correspond to this definition:
 
          /* curses screen dump magic number */
          #define SVR4_DUMP_MAGIC_NUMBER  0435
 
-       That octal number in bytes is 001, 035.  Because most Unix
-       vendors use big-endian hardware, the magic number is writ-
-       ten with the high-order byte first, e.g.,
+       That  octal number in bytes is 001, 035.  Because most Unix vendors use
+       big-endian hardware, the magic number is written  with  the  high-order
+       byte first, e.g.,
 
           01 35
 
-       After the magic number, the <STRONG>WINDOW</STRONG> structure and line-data
-       are written in binary format.  While the magic number used
-       by the Unix systems can be seen using <STRONG>od(1)</STRONG>, none  of  the
-       Unix systems documents the format used for screen-dumps.
+       After  the magic number, the <STRONG>WINDOW</STRONG> structure and line-data are written
+       in binary format.  While the magic number used by the Unix systems  can
+       be seen using <STRONG>od(1)</STRONG>, none of the Unix systems documents the format used
+       for screen-dumps.
 
-       The Unix systems do not use identical formats.  While col-
-       lecting information for for this manual  page,  the  <EM>save-</EM>
-       <EM>screen</EM>  test-program produced dumps of different size (all
-       on 64-bit hardware, on 40x80 screens):
+       The Unix systems do not use identical formats.  While collecting infor-
+       mation  for  for this manual page, the <EM>savescreen</EM> test-program produced
+       dumps of different size (all on 64-bit hardware, on 40x80 screens):
 
        <STRONG>o</STRONG>   AIX (51817 bytes)
 
 
 
 </PRE><H3><a name="h3-Solaris">Solaris</a></H3><PRE>
-       As noted above, Solaris curses has no magic number  corre-
-       sponding  to  SVr4  curses.  This is odd since Solaris was
-       the first operating system to pass  the  SVr4  guidelines.
-       Solaris has two versions of curses:
+       As noted above, Solaris curses has no  magic  number  corresponding  to
+       SVr4  curses.  This is odd since Solaris was the first operating system
+       to pass the SVr4 guidelines.  Solaris has two versions of curses:
 
        <STRONG>o</STRONG>   The default curses library uses the SVr3 magic number.
 
-       <STRONG>o</STRONG>   There  is  an  alternate  curses library in <STRONG>/usr/xpg4</STRONG>.
-           This uses a textual format with no magic number.
+       <STRONG>o</STRONG>   There is an alternate curses library in  <STRONG>/usr/xpg4</STRONG>.   This  uses  a
+           textual format with no magic number.
 
-           According to the copyright notice,  the  <EM>xpg4</EM>  Solaris
-           curses library was developed by MKS (Mortice Kern Sys-
-           tems) from 1990 to 1995.
+           According  to the copyright notice, the <EM>xpg4</EM> Solaris curses library
+           was developed by MKS (Mortice Kern Systems) from 1990 to 1995.
 
-           Like ncurses6, there is a file-header with parameters.
-           Unlike  ncurses6, the contents of the window are writ-
-           ten piecemeal, with  coordinates  and  attributes  for
-           each  chunk of text rather than writing the whole win-
-           dow from top to bottom.
+           Like ncurses6, there is  a  file-header  with  parameters.   Unlike
+           ncurses6,  the  contents  of the window are written piecemeal, with
+           coordinates and attributes for each chunk of text rather than writ-
+           ing the whole window from top to bottom.
 
 
 </PRE><H3><a name="h3-PDCurses">PDCurses</a></H3><PRE>
-       PDCurses added support for screen  dumps  in  version  2.7
-       (2005).   Like  Unix  SystemV  and ncurses5, it writes the
-       <STRONG>WINDOW</STRONG> structure in binary, but begins the file  with  its
-       three-byte  identifier  "PDC", followed by a one-byte ver-
-       sion, e.g.,
+       PDCurses  added  support  for screen dumps in version 2.7 (2005).  Like
+       Unix SystemV and ncurses5, it writes the <STRONG>WINDOW</STRONG>  structure  in  binary,
+       but begins the file with its three-byte identifier "PDC", followed by a
+       one-byte version, e.g.,
 
               "PDC\001"
 
 
 </PRE><H3><a name="h3-NetBSD">NetBSD</a></H3><PRE>
-       As of April 2017, NetBSD curses does not support  <STRONG>scr_dump</STRONG>
-       and  <STRONG>scr_restore</STRONG>  (or  <STRONG>scr_init</STRONG>, <STRONG>scr_set</STRONG>), although it has
-       <STRONG>putwin</STRONG> and <STRONG>getwin</STRONG>.
+       As  of  April  2017,  NetBSD  curses  does  not  support  <STRONG>scr_dump</STRONG>  and
+       <STRONG>scr_restore</STRONG> (or <STRONG>scr_init</STRONG>, <STRONG>scr_set</STRONG>), although it has <STRONG>putwin</STRONG> and <STRONG>getwin</STRONG>.
 
-       Like ncurses5, NetBSD <STRONG>putwin</STRONG> does not identify  its  dumps
-       with a useful magic number.  It writes
+       Like  ncurses5, NetBSD <STRONG>putwin</STRONG> does not identify its dumps with a useful
+       magic number.  It writes
 
-       <STRONG>o</STRONG>   the  curses shared library major and minor versions as
-           the first two bytes (e.g., 7 and 1),
+       <STRONG>o</STRONG>   the curses shared library major and minor versions as the first two
+           bytes (e.g., 7 and 1),
 
        <STRONG>o</STRONG>   followed by a binary dump of the <STRONG>WINDOW</STRONG>,
 
-       <STRONG>o</STRONG>   some data for wide-characters referenced by the <STRONG>WINDOW</STRONG>
-           structure, and
+       <STRONG>o</STRONG>   some  data  for wide-characters referenced by the <STRONG>WINDOW</STRONG> structure,
+           and
 
        <STRONG>o</STRONG>   finally, lines as done by other implementations.
 
 
 </PRE><H2><a name="h2-EXAMPLE">EXAMPLE</a></H2><PRE>
-       Given  a  simple  program  which writes text to the screen
-       (and for the sake of example, limiting the screen-size  to
-       10x20):
+       Given a simple program which writes text to the  screen  (and  for  the
+       sake of example, limiting the screen-size to 10x20):
 
          #include &lt;curses.h&gt;
 
          9:\s\s\s\s\s\s\s\s\s\s\s\s\s\s\s\s\s\s\s\s
          10:\s\s\s\s\s\s\s\s\s\s\s\s\s\s\s\s\s\s\s\s
 
-       The  first  four  octal  escapes  are actually nonprinting
-       characters, while the remainder of the file  is  printable
-       text.  You may notice:
+       The first four octal escapes are actually nonprinting characters, while
+       the remainder of the file is printable text.  You may notice:
 
-       <STRONG>o</STRONG>   The  actual  color  pair values are not written to the
-           file.
+       <STRONG>o</STRONG>   The actual color pair values are not written to the file.
 
-       <STRONG>o</STRONG>   All characters are shown in printable form; spaces are
-           "\s" to ensure they are not overlooked.
+       <STRONG>o</STRONG>   All characters are shown in printable  form;  spaces  are  "\s"  to
+           ensure they are not overlooked.
 
-       <STRONG>o</STRONG>   Attributes  are written in escaped curly braces, e.g.,
-           "\{BOLD}", and may include a color-pair (C1 or  C2  in
-           this example).
+       <STRONG>o</STRONG>   Attributes  are  written  in escaped curly braces, e.g., "\{BOLD}",
+           and may include a color-pair (C1 or C2 in this example).
 
-       <STRONG>o</STRONG>   The  parameters  in the header are written out only if
-           they are nonzero.  When reading back, order  does  not
-           matter.
+       <STRONG>o</STRONG>   The parameters in the header are  written  out  only  if  they  are
+           nonzero.  When reading back, order does not matter.
 
-       Running  the  same  program with Solaris <EM>xpg4</EM> curses gives
-       this dump:
+       Running the same program with Solaris <EM>xpg4</EM> curses gives this dump:
 
          MAX=10,20
          BEG=0,0
          9,19,0,0,
          CUR=11,5
 
-       Solaris <STRONG>getwin</STRONG> requires that all parameters  are  present,
-       and  in  the same order.  The <EM>xpg4</EM> curses library does not
-       know about the <STRONG>bce</STRONG> (back color erase) capability, and does
-       not color the window background.
+       Solaris  <STRONG>getwin</STRONG>  requires  that  all parameters are present, and in the
+       same order.  The <EM>xpg4</EM> curses library does not know about the <STRONG>bce</STRONG>  (back
+       color erase) capability, and does not color the window background.
 
-       On the other hand, the SVr4 curses library does know about
-       the background color.  However, its screen  dumps  are  in
-       binary.   Here  is  the  corresponding  dump (using "od -t
-       x1"):
+       On  the  other  hand, the SVr4 curses library does know about the back-
+       ground color.  However, its screen dumps are in binary.   Here  is  the
+       corresponding dump (using "od -t x1"):
 
          0000000 1c 01 c3 d6 f3 58 05 00 0b 00 0a 00 14 00 00 00
          0000020 00 00 02 00 00 00 00 00 00 00 00 00 00 00 00 00
 
 
 
-                                                            <STRONG><A HREF="scr_dump.5.html">scr_dump(5)</A></STRONG>
+                                                                   <STRONG><A HREF="scr_dump.5.html">scr_dump(5)</A></STRONG>
 </PRE>
 <div class="nav">
 <ul>
index 8dbcda50e945d492d9104cc65fc64eab71873359..466f6c3c3530563cd9953f3e6cec44ec4547b7fb 100644 (file)
@@ -40,7 +40,7 @@
 <BODY>
 <H1 class="no-header">tabs 1</H1>
 <PRE>
-<STRONG><A HREF="tabs.1.html">tabs(1)</A></STRONG>                                                         <STRONG><A HREF="tabs.1.html">tabs(1)</A></STRONG>
+<STRONG><A HREF="tabs.1.html">tabs(1)</A></STRONG>                                                                <STRONG><A HREF="tabs.1.html">tabs(1)</A></STRONG>
 
 
 
 
 
 </PRE><H2><a name="h2-DESCRIPTION">DESCRIPTION</a></H2><PRE>
-       The  <STRONG>tabs</STRONG>  program clears and sets tab-stops on the termi-
-       nal.  This uses the terminfo  <EM>clear</EM><STRONG>_</STRONG><EM>all</EM><STRONG>_</STRONG><EM>tabs</EM>  and  <EM>set</EM><STRONG>_</STRONG><EM>tab</EM>
-       capabilities.   If  either  is  absent,  <STRONG>tabs</STRONG> is unable to
-       clear/set tab-stops.  The terminal should be configured to
-       use hard tabs, e.g.,
+       The  <STRONG>tabs</STRONG> program clears and sets tab-stops on the terminal.  This uses
+       the terminfo <EM>clear</EM><STRONG>_</STRONG><EM>all</EM><STRONG>_</STRONG><EM>tabs</EM> and <EM>set</EM><STRONG>_</STRONG><EM>tab</EM>  capabilities.   If  either  is
+       absent,  <STRONG>tabs</STRONG> is unable to clear/set tab-stops.  The terminal should be
+       configured to use hard tabs, e.g.,
 
          stty tab0
 
-       Like  <STRONG><A HREF="clear.1.html">clear(1)</A></STRONG>,  <STRONG>tabs</STRONG>  writes to the standard output.  You
-       can redirect the standard output to a file (which prevents
-       <STRONG>tabs</STRONG>  from  actually changing the tabstops), and later <STRONG>cat</STRONG>
-       the file to the screen, setting tabstops at that point.
+       Like <STRONG><A HREF="clear.1.html">clear(1)</A></STRONG>, <STRONG>tabs</STRONG> writes to the standard output.   You  can  redirect
+       the standard output to a file (which prevents <STRONG>tabs</STRONG> from actually chang-
+       ing the tabstops), and later <STRONG>cat</STRONG> the file to the screen,  setting  tab-
+       stops at that point.
 
 
 </PRE><H2><a name="h2-OPTIONS">OPTIONS</a></H2><PRE>
 
 </PRE><H3><a name="h3-General-Options">General Options</a></H3><PRE>
        <STRONG>-T</STRONG><EM>name</EM>
-            Tell <STRONG>tabs</STRONG> which terminal type to use.  If this option
-            is  not  given,  <STRONG>tabs</STRONG>  will use the <STRONG>$TERM</STRONG> environment
-            variable.  If that  is  not  set,  it  will  use  the
-            <EM>ansi+tabs</EM> entry.
+            Tell  <STRONG>tabs</STRONG>  which  terminal  type  to  use.  If this option is not
+            given, <STRONG>tabs</STRONG> will use the <STRONG>$TERM</STRONG> environment variable.  If  that  is
+            not set, it will use the <EM>ansi+tabs</EM> entry.
 
-       <STRONG>-d</STRONG>   The  debugging option shows a ruler line, followed by
-            two data  lines.   The  first  data  line  shows  the
-            expected tab-stops marked with asterisks.  The second
-            data line shows the  actual  tab-stops,  marked  with
-            asterisks.
+       <STRONG>-d</STRONG>   The  debugging  option  shows  a  ruler line, followed by two data
+            lines.  The first data line shows the  expected  tab-stops  marked
+            with  asterisks.  The second data line shows the actual tab-stops,
+            marked with asterisks.
 
-       <STRONG>-n</STRONG>   This  option  tells <STRONG>tabs</STRONG> to check the options and run
-            any debugging option, but not to modify the  terminal
-            settings.
+       <STRONG>-n</STRONG>   This option tells <STRONG>tabs</STRONG> to check the options and run any  debugging
+            option, but not to modify the terminal settings.
 
-       <STRONG>-V</STRONG>   reports the version of ncurses which was used in this
-            program, and exits.
+       <STRONG>-V</STRONG>   reports the version of ncurses which was used in this program, and
+            exits.
 
-       The <STRONG>tabs</STRONG> program processes a single  list  of  tab  stops.
-       The  last  option  to be processed which defines a list is
-       the one that determines the list to be processed.
+       The <STRONG>tabs</STRONG> program processes a single list of tab stops.  The last option
+       to  be  processed  which  defines a list is the one that determines the
+       list to be processed.
 
 
 </PRE><H3><a name="h3-Implicit-Lists">Implicit Lists</a></H3><PRE>
-       Use a single number as an option, e.g., "<STRONG>-5</STRONG>" to  set  tabs
-       at  the  given  interval  (in  this case 1, 6, 11, 16, 21,
-       etc.).  Tabs are repeated up to the right  margin  of  the
-       screen.
+       Use a single number as an option, e.g., "<STRONG>-5</STRONG>" to set tabs at  the  given
+       interval  (in  this case 1, 6, 11, 16, 21, etc.).  Tabs are repeated up
+       to the right margin of the screen.
 
        Use "<STRONG>-0</STRONG>" to clear all tabs.
 
 
 
 </PRE><H3><a name="h3-Explicit-Lists">Explicit Lists</a></H3><PRE>
-       An  explicit  list  can be defined after the options (this
-       does not use a "-").  The values in the list  must  be  in
-       increasing numeric order, and greater than zero.  They are
-       separated by a comma or a blank, for example,
+       An explicit list can be defined after the options (this does not use  a
+       "-").   The values in the list must be in increasing numeric order, and
+       greater than zero.  They are separated by a comma or a blank, for exam-
+       ple,
 
          tabs 1,6,11,16,21
          tabs 1 6 11 16 21
 
-       Use a "+" to treat a number as an  increment  relative  to
-       the previous value, e.g.,
+       Use  a  "+"  to treat a number as an increment relative to the previous
+       value, e.g.,
 
          tabs 1,+5,+5,+5,+5
 
 
 
 </PRE><H2><a name="h2-PORTABILITY">PORTABILITY</a></H2><PRE>
-       IEEE  Std 1003.1/The Open Group  Base Specifications Issue
-       (POSIX.1-2008) describes a <STRONG>tabs</STRONG> utility.  However
+       IEEE  Std  1003.1/The  Open  Group    Base   Specifications   Issue   7
+       (POSIX.1-2008) describes a <STRONG>tabs</STRONG> utility.  However
 
-       <STRONG>o</STRONG>   This standard describes a <STRONG>+m</STRONG> option, to set  a  termi-
-           nal's  left-margin.   Very  few  of the entries in the
-           terminal database provide this capability.
+       <STRONG>o</STRONG>   This  standard describes a <STRONG>+m</STRONG> option, to set a terminal's left-mar-
+           gin.  Very few of the entries in the terminal database provide this
+           capability.
 
-       <STRONG>o</STRONG>   There is no counterpart in X/Open Curses Issue  7  for
-           this utility, unlike <STRONG>tput(1)</STRONG>.
+       <STRONG>o</STRONG>   There  is no counterpart in X/Open Curses Issue 7 for this utility,
+           unlike <STRONG>tput(1)</STRONG>.
 
-       The  <STRONG>-d</STRONG>  (debug) and <STRONG>-n</STRONG> (no-op) options are extensions not
-       provided by other implementations.
+       The <STRONG>-d</STRONG> (debug) and <STRONG>-n</STRONG> (no-op) options are extensions  not  provided  by
+       other implementations.
 
-       Documentation for other implementations states that  there
-       is  a limit on the number of tab stops.  While some termi-
-       nals may not accept an arbitrary number of tab stops, this
-       implementation  will  attempt  to  set tab stops up to the
-       right margin of the screen, if the given list  happens  to
-       be that long.
+       Documentation for other implementations states that there is a limit on
+       the number of tab stops.  While some terminals may not accept an  arbi-
+       trary  number of tab stops, this implementation will attempt to set tab
+       stops up to the right margin of the screen, if the given  list  happens
+       to be that long.
 
 
 </PRE><H2><a name="h2-SEE-ALSO">SEE ALSO</a></H2><PRE>
        <STRONG><A HREF="tset.1.html">tset(1)</A></STRONG>, <STRONG><A HREF="infocmp.1m.html">infocmp(1m)</A></STRONG>, <STRONG><A HREF="ncurses.3x.html">curses(3x)</A></STRONG>, <STRONG><A HREF="terminfo.5.html">terminfo(5)</A></STRONG>.
 
-       This describes <STRONG>ncurses</STRONG> version 6.0 (patch 20170429).
+       This describes <STRONG>ncurses</STRONG> version 6.0 (patch 20170506).
 
 
 
-                                                                <STRONG><A HREF="tabs.1.html">tabs(1)</A></STRONG>
+                                                                       <STRONG><A HREF="tabs.1.html">tabs(1)</A></STRONG>
 </PRE>
 <div class="nav">
 <ul>
index 690985ea41288ec9b3e2469c6cd4e76cdd18739d..4d398c3f63189a9b61417afb309900e91a348396 100644 (file)
@@ -40,7 +40,7 @@
 <BODY>
 <H1 class="no-header">term 5</H1>
 <PRE>
-<STRONG><A HREF="term.5.html">term(5)</A></STRONG>                                                         <STRONG><A HREF="term.5.html">term(5)</A></STRONG>
+<STRONG><A HREF="term.5.html">term(5)</A></STRONG>                                                                <STRONG><A HREF="term.5.html">term(5)</A></STRONG>
 
 
 
 </PRE><H2><a name="h2-DESCRIPTION">DESCRIPTION</a></H2><PRE>
 
 </PRE><H3><a name="h3-STORAGE-LOCATION">STORAGE LOCATION</a></H3><PRE>
-       Compiled terminfo descriptions are placed under the direc-
-       tory <STRONG>/usr/share/terminfo</STRONG>.   Two  configurations  are  sup-
-       ported (when building the ncurses libraries):
+       Compiled   terminfo   descriptions   are  placed  under  the  directory
+       <STRONG>/usr/share/terminfo</STRONG>.  Two configurations are supported  (when  building
+       the ncurses libraries):
 
        <STRONG>directory</STRONG> <STRONG>tree</STRONG>
-            A  two-level  scheme is used to avoid a linear search
-            of a  huge  UNIX  system  directory:  <STRONG>/usr/share/ter-</STRONG>
-            <STRONG>minfo/c/name</STRONG>  where <EM>name</EM> is the name of the terminal,
-            and <EM>c</EM> is the first character of <EM>name</EM>.  Thus, <EM>act4</EM> can
-            be  found  in  the  file  <STRONG>/usr/share/terminfo/a/act4</STRONG>.
-            Synonyms for the same  terminal  are  implemented  by
-            multiple links to the same compiled file.
+            A two-level scheme is used to avoid a linear search of a huge UNIX
+            system directory: <STRONG>/usr/share/terminfo/c/name</STRONG>  where  <EM>name</EM>  is  the
+            name of the terminal, and <EM>c</EM> is the first character of <EM>name</EM>.  Thus,
+            <EM>act4</EM> can be found in the  file  <STRONG>/usr/share/terminfo/a/act4</STRONG>.   Syn-
+            onyms  for  the same terminal are implemented by multiple links to
+            the same compiled file.
 
        <STRONG>hashed</STRONG> <STRONG>database</STRONG>
-            Using  Berkeley  database,  two  types of records are
-            stored: the terminfo  data  in  the  same  format  as
-            stored  in  a directory tree with the terminfo's pri-
-            mary name as  a  key,  and  records  containing  only
+            Using Berkeley database, two types of records are stored: the ter-
+            minfo  data  in the same format as stored in a directory tree with
+            the terminfo's primary name as a key, and records containing  only
             aliases pointing to the primary name.
 
-            If built to write hashed databases, ncurses can still
-            read terminfo  databases  organized  as  a  directory
-            tree,  but  cannot  write  entries into the directory
-            tree.  It can  write  (or  rewrite)  entries  in  the
-            hashed database.
+            If  built  to  write hashed databases, ncurses can still read ter-
+            minfo databases organized as a directory tree,  but  cannot  write
+            entries  into  the  directory  tree.   It  can  write (or rewrite)
+            entries in the hashed database.
 
-            ncurses  distinguishes  the two cases in the TERMINFO
-            and TERMINFO_DIRS environment variable by assuming  a
-            directory  tree  for  entries  that  correspond to an
-            existing directory, and hashed database otherwise.
+            ncurses distinguishes the two  cases  in  the  TERMINFO  and  TER-
+            MINFO_DIRS  environment  variable by assuming a directory tree for
+            entries that correspond to an existing directory, and hashed data-
+            base otherwise.
 
 
 </PRE><H3><a name="h3-STORAGE-FORMAT">STORAGE FORMAT</a></H3><PRE>
-       The format has been chosen so that it will be the same  on
-       all  hardware.   An  8 or more bit byte is assumed, but no
-       assumptions about byte  ordering  or  sign  extension  are
-       made.
+       The format has been chosen so that it will be the same on all hardware.
+       An 8 or more bit byte is assumed, but no assumptions about byte  order-
+       ing or sign extension are made.
 
-       The  compiled  file  is  created with the <STRONG>tic</STRONG> program, and
-       read by the routine <STRONG><A HREF="curs_terminfo.3x.html">setupterm(3x)</A></STRONG>.  The  file  is  divided
-       into six parts: the header, terminal names, boolean flags,
-       numbers, strings, and string table.
+       The compiled file is created with the <STRONG>tic</STRONG> program, and read by the rou-
+       tine <STRONG><A HREF="curs_terminfo.3x.html">setupterm(3x)</A></STRONG>.  The file is divided into six  parts:  the  header,
+       terminal names, boolean flags, numbers, strings, and string table.
 
-       The header section begins the file.  This section contains
-       six  short  integers in the format described below.  These
-       integers are
+       The  header  section  begins the file.  This section contains six short
+       integers in the format described below.  These integers are
 
             (1) the magic number (octal 0432);
 
 
             (3) the number of bytes in the boolean section;
 
-            (4) the number of short integers in the numbers  sec-
-            tion;
+            (4) the number of short integers in the numbers section;
 
-            (5)  the  number  of  offsets (short integers) in the
-            strings section;
+            (5) the number of offsets (short integers) in the strings section;
 
             (6) the size, in bytes, of the string table.
 
-       Short integers are stored in two 8-bit bytes.   The  first
-       byte  contains  the least significant 8 bits of the value,
-       and the second byte contains the most significant 8  bits.
-       (Thus,  the  value  represented is 256*second+first.)  The
-       value -1 is represented by the two bytes 0377, 0377; other
-       negative  values  are  illegal. This value generally means
-       that the corresponding capability  is  missing  from  this
-       terminal.   Note that this format corresponds to the hard-
-       ware  of  the  VAX  and  PDP-11  (that  is,  little-endian
-       machines).  Machines where this does not correspond to the
-       hardware must read the integers as two bytes  and  compute
-       the little-endian value.
-
-       The  terminal  names  section comes next.  It contains the
-       first line of the terminfo description, listing the  vari-
-       ous  names  for the terminal, separated by the "|" charac-
-       ter.  The section is terminated with an ASCII NUL  charac-
-       ter.
-
-       The  boolean flags have one byte for each flag.  This byte
-       is either 0 or 1 as the flag is present  or  absent.   The
-       capabilities are in the same order as the file &lt;term.h&gt;.
-
-       Between the boolean section and the number section, a null
-       byte will be inserted, if necessary, to  ensure  that  the
-       number  section begins on an even byte (this is a relic of
-       the  PDP-11's  word-addressed   architecture,   originally
-       designed  in  to  avoid  IOT traps induced by addressing a
-       word on an odd byte boundary).   All  short  integers  are
-       aligned on a short word boundary.
-
-       The numbers section is similar to the flags section.  Each
-       capability takes up two bytes, and is stored as a  little-
-       endian short integer.  If the value represented is -1, the
-       capability is taken to be missing.
-
-       The strings section is also similar.  Each  capability  is
-       stored  as  a short integer, in the format above.  A value
-       of -1 means the capability  is  missing.   Otherwise,  the
-       value  is  taken  as  an  offset from the beginning of the
-       string table.  Special characters in ^X or \c notation are
-       stored  in their interpreted form, not the printing repre-
-       sentation.  Padding information $&lt;nn&gt; and parameter infor-
-       mation %x are stored intact in uninterpreted form.
-
-       The  final  section  is the string table.  It contains all
-       the values of string capabilities referenced in the string
-       section.  Each string is null terminated.
+       Short integers are stored in two 8-bit bytes.  The first byte  contains
+       the least significant 8 bits of the value, and the second byte contains
+       the most significant 8 bits.  (Thus, the value represented is  256*sec-
+       ond+first.)   The  value -1 is represented by the two bytes 0377, 0377;
+       other negative values are illegal. This value generally means that  the
+       corresponding capability is missing from this terminal.  Note that this
+       format corresponds to the hardware of the VAX and PDP-11 (that is, lit-
+       tle-endian  machines).   Machines where this does not correspond to the
+       hardware must read the integers as two bytes and  compute  the  little-
+       endian value.
+
+       The  terminal  names section comes next.  It contains the first line of
+       the terminfo description, listing the various names for  the  terminal,
+       separated  by  the  "|"  character.   The section is terminated with an
+       ASCII NUL character.
+
+       The boolean flags have one byte for each flag.  This byte is  either  0
+       or  1  as  the  flag is present or absent.  The capabilities are in the
+       same order as the file &lt;term.h&gt;.
+
+       Between the boolean section and the number section, a null byte will be
+       inserted,  if necessary, to ensure that the number section begins on an
+       even byte (this is a relic of the PDP-11's word-addressed architecture,
+       originally  designed in to avoid IOT traps induced by addressing a word
+       on an odd byte boundary).  All short integers are aligned  on  a  short
+       word boundary.
+
+       The  numbers  section is similar to the flags section.  Each capability
+       takes up two bytes, and is stored as a little-endian short integer.  If
+       the value represented is -1, the capability is taken to be missing.
+
+       The  strings  section  is also similar.  Each capability is stored as a
+       short integer, in the format above.  A value of -1 means the capability
+       is missing.  Otherwise, the value is taken as an offset from the begin-
+       ning of the string table.  Special characters in ^X or \c notation  are
+       stored  in  their  interpreted  form,  not the printing representation.
+       Padding information $&lt;nn&gt;  and  parameter  information  %x  are  stored
+       intact in uninterpreted form.
+
+       The  final  section is the string table.  It contains all the values of
+       string capabilities referenced in the string section.  Each  string  is
+       null terminated.
 
 
 </PRE><H3><a name="h3-EXTENDED-STORAGE-FORMAT">EXTENDED STORAGE FORMAT</a></H3><PRE>
-       The  previous  section describes the conventional terminfo
-       binary format.  With some minor variations of the  offsets
-       (see  PORTABILITY),  the same binary format is used in all
-       modern UNIX systems.  Each system uses a predefined set of
-       boolean, number or string capabilities.
-
-       The  ncurses  libraries  and applications support extended
-       terminfo binary format, allowing users to define capabili-
-       ties  which are loaded at runtime.  This extension is made
-       possible by using the fact that the other  implementations
-       stop  reading the terminfo data when they have reached the
-       end of the size given in the header.  ncurses  checks  the
-       size,  and  if it exceeds that due to the predefined data,
-       continues to parse according to its own scheme.
+       The previous section describes the conventional terminfo binary format.
+       With some minor variations of the offsets (see PORTABILITY),  the  same
+       binary  format  is used in all modern UNIX systems.  Each system uses a
+       predefined set of boolean, number or string capabilities.
+
+       The ncurses libraries and applications support extended terminfo binary
+       format,  allowing users to define capabilities which are loaded at run-
+       time.  This extension is made possible by using the fact that the other
+       implementations  stop  reading the terminfo data when they have reached
+       the end of the size given in the header.  ncurses checks the size,  and
+       if  it  exceeds  that  due  to  the predefined data, continues to parse
+       according to its own scheme.
 
        First, it reads the extended header (5 short integers):
 
 
             (4)  size of the extended string table in bytes.
 
-            (5)  last offset of  the  extended  string  table  in
-                 bytes.
+            (5)  last offset of the extended string table in bytes.
 
-       Using  the  counts and sizes, ncurses allocates arrays and
-       reads data for the extended capabilities in the same order
-       as the header information.
+       Using the counts and sizes, ncurses allocates arrays and reads data for
+       the extended capabilities in the same order as the header information.
 
-       The extended string table contains values for string capa-
-       bilities.  After the end of these values, it contains  the
-       names  for  each  of  the  extended capabilities in order,
-       e.g., booleans, then numbers and finally strings.
+       The  extended  string  table  contains  values for string capabilities.
+       After the end of these values, it contains the names for  each  of  the
+       extended  capabilities  in  order,  e.g.,  booleans,  then  numbers and
+       finally strings.
 
 
 </PRE><H2><a name="h2-PORTABILITY">PORTABILITY</a></H2><PRE>
-       Note that it is possible for <STRONG>setupterm</STRONG> to expect a differ-
-       ent  set  of capabilities than are actually present in the
-       file.  Either the database may  have  been  updated  since
-       <STRONG>setupterm</STRONG> has been recompiled (resulting in extra unrecog-
-       nized entries in the file) or the program  may  have  been
-       recompiled  more  recently  than  the database was updated
-       (resulting in missing  entries).   The  routine  <STRONG>setupterm</STRONG>
-       must  be prepared for both possibilities - this is why the
-       numbers and sizes are included.   Also,  new  capabilities
-       must  always  be added at the end of the lists of boolean,
-       number, and string capabilities.
-
-       Despite the consistent use of  little-endian  for  numbers
-       and  the  otherwise self-describing format, it is not wise
-       to count on portability of binary terminfo entries between
-       commercial  UNIX  versions.  The problem is that there are
-       at least three versions of terminfo (under HP-UX, AIX, and
-       OSF/1)  which  diverged from System V terminfo after SVr1,
-       and have added extension capabilities to the string  table
-       that  (in the binary format) collide with System V and XSI
-       Curses extensions.  See <STRONG><A HREF="terminfo.5.html">terminfo(5)</A></STRONG> for  detailed  discus-
-       sion of terminfo source compatibility issues.
+       Note that it is possible for <STRONG>setupterm</STRONG> to expect  a  different  set  of
+       capabilities  than  are actually present in the file.  Either the data-
+       base may have been updated since <STRONG>setupterm</STRONG> has been recompiled (result-
+       ing  in extra unrecognized entries in the file) or the program may have
+       been recompiled more recently than the database was updated  (resulting
+       in  missing  entries).  The routine <STRONG>setupterm</STRONG> must be prepared for both
+       possibilities - this is why the numbers and sizes are included.   Also,
+       new  capabilities must always be added at the end of the lists of bool-
+       ean, number, and string capabilities.
+
+       Despite the consistent use of little-endian for numbers and the  other-
+       wise  self-describing format, it is not wise to count on portability of
+       binary terminfo entries between commercial UNIX versions.  The  problem
+       is  that  there  are  at least three versions of terminfo (under HP-UX,
+       AIX, and OSF/1) which diverged from System V terminfo after  SVr1,  and
+       have  added  extension  capabilities  to  the string table that (in the
+       binary format) collide with System V and XSI  Curses  extensions.   See
+       <STRONG><A HREF="terminfo.5.html">terminfo(5)</A></STRONG>  for  detailed  discussion of terminfo source compatibility
+       issues.
 
 
 </PRE><H2><a name="h2-EXAMPLE">EXAMPLE</a></H2><PRE>
-       As  an  example, here is a hex dump of the description for
-       the Lear-Siegler ADM-3, a  popular  though  rather  stupid
-       early terminal:
+       As an example, here is a hex dump of  the  description  for  the  Lear-
+       Siegler ADM-3, a popular though rather stupid early terminal:
 
        adm3a|lsi adm3a,
                am,
 
 
 </PRE><H2><a name="h2-LIMITS">LIMITS</a></H2><PRE>
-       Some  limitations:  total  compiled  entries cannot exceed
-       4096 bytes.  The name field cannot exceed 128 bytes.
+       Some limitations: total compiled entries cannot exceed 4096 bytes.  The
+       name field cannot exceed 128 bytes.
 
 
 </PRE><H2><a name="h2-FILES">FILES</a></H2><PRE>
-       /usr/share/terminfo/*/*  compiled terminal capability data
-       base
+       /usr/share/terminfo/*/*  compiled terminal capability data base
 
 
 </PRE><H2><a name="h2-SEE-ALSO">SEE ALSO</a></H2><PRE>
 
 
 
-                                                                <STRONG><A HREF="term.5.html">term(5)</A></STRONG>
+                                                                       <STRONG><A HREF="term.5.html">term(5)</A></STRONG>
 </PRE>
 <div class="nav">
 <ul>
index ceb5528f5d30d35eda50139ec09c72a1a1c0557c..0d4ac03e7bae61f487997fe952bc915900977fca 100644 (file)
@@ -40,7 +40,7 @@
 <BODY>
 <H1 class="no-header">term 7</H1>
 <PRE>
-<STRONG><A HREF="term.7.html">term(7)</A></STRONG>                                                         <STRONG><A HREF="term.7.html">term(7)</A></STRONG>
+<STRONG><A HREF="term.7.html">term(7)</A></STRONG>                                                                <STRONG><A HREF="term.7.html">term(7)</A></STRONG>
 
 
 
 
 
 </PRE><H2><a name="h2-DESCRIPTION">DESCRIPTION</a></H2><PRE>
-       The  environment variable <STRONG>TERM</STRONG> should normally contain the
-       type name of the terminal, console or display-device  type
-       you  are  using.   This  information  is  critical for all
-       screen-oriented  programs,  including  your   editor   and
-       mailer.
-
-       A  default  <STRONG>TERM</STRONG>  value will be set on a per-line basis by
-       either  <STRONG>/etc/inittab</STRONG>  (e.g.,  System-V-like   UNIXes)   or
-       <STRONG>/etc/ttys</STRONG>  (BSD  UNIXes).  This will nearly always suffice
-       for workstation and microcomputer consoles.
-
-       If you use a dialup line, the type of device  attached  to
-       it  may vary.  Older UNIX systems pre-set a very dumb ter-
-       minal type like "dumb" or "dialup" on dialup lines.  Newer
-       ones may pre-set "vt100", reflecting the prevalence of DEC
-       VT100-compatible terminals  and  personal-computer  emula-
-       tors.
-
-       Modern  telnets  pass  your <STRONG>TERM</STRONG> environment variable from
-       the local side to the remote one.  There can  be  problems
-       if  the  remote terminfo or termcap entry for your type is
-       not compatible with yours, but this situation is rare  and
-       can  almost  always  be  avoided  by  explicitly exporting
-       "vt100" (assuming you are in fact using  a  VT100-superset
-       console, terminal, or terminal emulator.)
-
-       In any case, you are free to override the system <STRONG>TERM</STRONG> set-
-       ting to your taste in your  shell  profile.   The  <STRONG><A HREF="tset.1.html">tset(1)</A></STRONG>
-       utility  may  be  of  assistance; you can give it a set of
-       rules for deducing or requesting a terminal type based  on
-       the tty device and baud rate.
-
-       Setting your own <STRONG>TERM</STRONG> value may also be useful if you have
-       created a custom entry incorporating options (such as vis-
-       ual  bell or reverse-video) which you wish to override the
-       system default type for your line.
-
-       Terminal type descriptions are stored as files of capabil-
-       ity data underneath /usr/share/terminfo.  To browse a list
-       of all terminal names recognized by the system, do
+       The  environment variable <STRONG>TERM</STRONG> should normally contain the type name of
+       the terminal, console or  display-device  type  you  are  using.   This
+       information  is  critical  for  all screen-oriented programs, including
+       your editor and mailer.
+
+       A default <STRONG>TERM</STRONG> value  will  be  set  on  a  per-line  basis  by  either
+       <STRONG>/etc/inittab</STRONG>  (e.g.,  System-V-like  UNIXes) or <STRONG>/etc/ttys</STRONG> (BSD UNIXes).
+       This will nearly always suffice for workstation and microcomputer  con-
+       soles.
+
+       If  you  use a dialup line, the type of device attached to it may vary.
+       Older UNIX systems pre-set a very dumb terminal  type  like  "dumb"  or
+       "dialup"  on  dialup lines.  Newer ones may pre-set "vt100", reflecting
+       the prevalence of DEC VT100-compatible terminals and  personal-computer
+       emulators.
+
+       Modern  telnets pass your <STRONG>TERM</STRONG> environment variable from the local side
+       to the remote one.  There can be problems if  the  remote  terminfo  or
+       termcap entry for your type is not compatible with yours, but this sit-
+       uation is rare and can almost always be avoided by explicitly exporting
+       "vt100"  (assuming you are in fact using a VT100-superset console, ter-
+       minal, or terminal emulator.)
+
+       In any case, you are free to override the system <STRONG>TERM</STRONG> setting  to  your
+       taste in your shell profile.  The <STRONG><A HREF="tset.1.html">tset(1)</A></STRONG> utility may be of assistance;
+       you can give it a set of rules for deducing or  requesting  a  terminal
+       type based on the tty device and baud rate.
+
+       Setting  your  own  <STRONG>TERM</STRONG> value may also be useful if you have created a
+       custom entry incorporating options (such as  visual  bell  or  reverse-
+       video)  which  you  wish  to  override the system default type for your
+       line.
+
+       Terminal type descriptions are  stored  as  files  of  capability  data
+       underneath /usr/share/terminfo.  To browse a list of all terminal names
+       recognized by the system, do
 
             toe | more
 
-       from your shell.  These capability files are in  a  binary
-       format optimized for retrieval speed (unlike the old text-
-       based <STRONG>termcap</STRONG> format they replace); to examine  an  entry,
-       you  must  use the <STRONG><A HREF="infocmp.1m.html">infocmp(1m)</A></STRONG> command.  Invoke it as fol-
-       lows:
+       from your shell.  These capability files are in a binary  format  opti-
+       mized  for  retrieval  speed  (unlike the old text-based <STRONG>termcap</STRONG> format
+       they replace); to examine an entry, you must use the  <STRONG><A HREF="infocmp.1m.html">infocmp(1m)</A></STRONG>  com-
+       mand.  Invoke it as follows:
 
             infocmp <EM>entry</EM><STRONG>_</STRONG><EM>name</EM>
 
-       where <EM>entry</EM><STRONG>_</STRONG><EM>name</EM> is the name of the type you wish to exam-
-       ine  (and the name of its capability file the subdirectory
-       of /usr/share/terminfo named for its first letter).   This
-       command  dumps  a  capability  file  in  the  text  format
-       described by <STRONG><A HREF="terminfo.5.html">terminfo(5)</A></STRONG>.
-
-       The first line of  a  <STRONG><A HREF="terminfo.5.html">terminfo(5)</A></STRONG>  description  gives  the
-       names by which terminfo knows a terminal, separated by "|"
-       (pipe-bar) characters with the last name field  terminated
-       by  a  comma.   The first name field is the type's <EM>primary</EM>
-       <EM>name</EM>, and is the one to use when setting <STRONG>TERM</STRONG>.   The  last
-       name  field  (if  distinct  from  the first) is actually a
-       description of the terminal type (it may  contain  blanks;
-       the others must be single words).  Name fields between the
-       first and last (if present) are aliases for the  terminal,
-       usually historical names retained for compatibility.
-
-       There are some conventions for how to choose terminal pri-
-       mary names that help keep  them  informative  and  unique.
-       Here is a step-by-step guide to naming terminals that also
-       explains how to parse them:
-
-       First, choose a root name.  The root  will  consist  of  a
-       lower-case  letter followed by up to seven lower-case let-
-       ters or digits.  You need to avoid using punctuation char-
-       acters  in  root  names,  because they are used and inter-
-       preted as filenames and shell meta-characters (such as  !,
-       $,  *, ?, etc.) embedded in them may cause odd and unhelp-
-       ful behavior.  The slash (/), or any other character  that
-       may  be  interpreted by anyone's file system (\, $, [, ]),
-       is especially dangerous (terminfo is platform-independent,
-       and  choosing  names with special characters could someday
-       make life difficult for users of a future port).  The  dot
-       (.)  character  is  relatively safe as long as there is at
-       most one per root name; some historical terminfo names use
-       it.
-
-       The  root  name for a terminal or workstation console type
-       should almost always begin with a vendor prefix  (such  as
-       <STRONG>hp</STRONG>  for Hewlett-Packard, <STRONG>wy</STRONG> for Wyse, or <STRONG>att</STRONG> for AT&amp;T ter-
-       minals), or a common name of the terminal line (<STRONG>vt</STRONG> for the
-       VT  series of terminals from DEC, or <STRONG>sun</STRONG> for Sun Microsys-
-       tems workstation consoles, or <STRONG>regent</STRONG> for the  ADDS  Regent
-       series.   You  can list the terminfo tree to see what pre-
-       fixes are already in common use.   The  root  name  prefix
-       should  be  followed  when  appropriate by a model number;
-       thus <STRONG>vt100</STRONG>, <STRONG>hp2621</STRONG>, <STRONG>wy50</STRONG>.
-
-       The root name for a PC-Unix console type should be the  OS
-       name,  i.e., <STRONG>linux</STRONG>, <STRONG>bsdos</STRONG>, <STRONG>freebsd</STRONG>, <STRONG>netbsd</STRONG>.  It should <EM>not</EM>
-       be <STRONG>console</STRONG> or any other generic that might cause confusion
-       in  a  multi-platform environment!  If a model number fol-
-       lows, it should indicate either the OS  release  level  or
-       the console driver release level.
-
-       The  root  name  for a terminal emulator (assuming it does
-       not fit one of the standard ANSI or vt100 types) should be
-       the program name or a readily recognizable abbreviation of
-       it (i.e., <STRONG>versaterm</STRONG>, <STRONG>ctrm</STRONG>).
-
-       Following the root name, you may add any reasonable number
-       of hyphen-separated feature suffixes.
+       where  <EM>entry</EM><STRONG>_</STRONG><EM>name</EM>  is the name of the type you wish to examine (and the
+       name of its capability file  the  subdirectory  of  /usr/share/terminfo
+       named  for  its first letter).  This command dumps a capability file in
+       the text format described by <STRONG><A HREF="terminfo.5.html">terminfo(5)</A></STRONG>.
+
+       The first line of a <STRONG><A HREF="terminfo.5.html">terminfo(5)</A></STRONG> description gives the  names  by  which
+       terminfo  knows a terminal, separated by "|" (pipe-bar) characters with
+       the last name field terminated by a comma.  The first name field is the
+       type's <EM>primary</EM> <EM>name</EM>, and is the one to use when setting <STRONG>TERM</STRONG>.  The last
+       name field (if distinct from the first) is actually  a  description  of
+       the  terminal  type  (it  may contain blanks; the others must be single
+       words).  Name fields between  the  first  and  last  (if  present)  are
+       aliases for the terminal, usually historical names retained for compat-
+       ibility.
+
+       There are some conventions for how to  choose  terminal  primary  names
+       that  help  keep  them  informative and unique.  Here is a step-by-step
+       guide to naming terminals that also explains how to parse them:
+
+       First, choose a root name.  The root will consist of a lower-case  let-
+       ter  followed by up to seven lower-case letters or digits.  You need to
+       avoid using punctuation characters in root names, because they are used
+       and  interpreted  as filenames and shell meta-characters (such as !, $,
+       *, ?, etc.) embedded in them may cause odd and unhelpful behavior.  The
+       slash  (/),  or any other character that may be interpreted by anyone's
+       file system (\, $, [, ]), is especially dangerous  (terminfo  is  plat-
+       form-independent,  and  choosing  names  with  special characters could
+       someday make life difficult for users of a future port).  The  dot  (.)
+       character  is  relatively safe as long as there is at most one per root
+       name; some historical terminfo names use it.
+
+       The root name for a terminal or workstation console type should  almost
+       always  begin  with a vendor prefix (such as <STRONG>hp</STRONG> for Hewlett-Packard, <STRONG>wy</STRONG>
+       for Wyse, or <STRONG>att</STRONG> for AT&amp;T terminals), or a common name of the  terminal
+       line  (<STRONG>vt</STRONG>  for  the  VT  series  of  terminals from DEC, or <STRONG>sun</STRONG> for Sun
+       Microsystems workstation  consoles,  or  <STRONG>regent</STRONG>  for  the  ADDS  Regent
+       series.   You  can  list  the  terminfo  tree  to see what prefixes are
+       already in common use.  The root name prefix should  be  followed  when
+       appropriate by a model number; thus <STRONG>vt100</STRONG>, <STRONG>hp2621</STRONG>, <STRONG>wy50</STRONG>.
+
+       The  root  name for a PC-Unix console type should be the OS name, i.e.,
+       <STRONG>linux</STRONG>, <STRONG>bsdos</STRONG>, <STRONG>freebsd</STRONG>, <STRONG>netbsd</STRONG>.  It should <EM>not</EM> be <STRONG>console</STRONG> or  any  other
+       generic that might cause confusion in a multi-platform environment!  If
+       a model number follows, it should indicate either the OS release  level
+       or the console driver release level.
+
+       The  root name for a terminal emulator (assuming it does not fit one of
+       the standard ANSI or vt100 types) should be the program name or a read-
+       ily recognizable abbreviation of it (i.e., <STRONG>versaterm</STRONG>, <STRONG>ctrm</STRONG>).
+
+       Following  the  root name, you may add any reasonable number of hyphen-
+       separated feature suffixes.
 
        2p   Has two pages of memory.  Likewise 4p, 8p, etc.
 
-       mc   Magic-cookie.   Some  terminals (notably older Wyses)
-            can only support one attribute  without  magic-cookie
-            lossage.   Their  base  entry  is usually paired with
-            another that has this suffix and uses  magic  cookies
-            to support multiple attributes.
+       mc   Magic-cookie.  Some terminals (notably older Wyses) can only  sup-
+            port one attribute without magic-cookie lossage.  Their base entry
+            is usually paired with another that has this suffix and uses magic
+            cookies to support multiple attributes.
 
        -am  Enable auto-margin (right-margin wraparound).
 
        -m   Mono mode - suppress color support.
 
-       -na  No  arrow keys - termcap ignores arrow keys which are
-            actually there on the terminal, so the user  can  use
-            the arrow keys locally.
+       -na  No  arrow  keys  -  termcap  ignores arrow keys which are actually
+            there on the terminal, so the user can use the arrow keys locally.
 
        -nam No auto-margin - suppress am capability.
 
 
        -w   Wide; terminal is in 132 column mode.
 
-       Conventionally,   if  your  terminal  type  is  a  variant
-       intended to specify a line height, that suffix  should  go
-       first.  So, for a hypothetical FuBarCo model 2317 terminal
-       in 30-line mode with reverse video,  best  form  would  be
-       <STRONG>fubar-30-rv</STRONG> (rather than, say, "fubar-rv-30").
+       Conventionally, if your terminal type is a variant intended to  specify
+       a  line  height,  that  suffix should go first.  So, for a hypothetical
+       FuBarCo model 2317 terminal in 30-line mode with  reverse  video,  best
+       form would be <STRONG>fubar-30-rv</STRONG> (rather than, say, "fubar-rv-30").
 
-       Terminal types that are written not as standalone entries,
-       but rather as components to be plugged into other  entries
-       via  <STRONG>use</STRONG> capabilities, are distinguished by using embedded
-       plus signs rather than dashes.
+       Terminal  types  that are written not as standalone entries, but rather
+       as components to be plugged into other entries  via  <STRONG>use</STRONG>  capabilities,
+       are distinguished by using embedded plus signs rather than dashes.
 
-       Commands which use a  terminal  type  to  control  display
-       often  accept  a  -T  option  that accepts a terminal name
-       argument.  Such programs should  fall  back  on  the  <STRONG>TERM</STRONG>
-       environment variable when no -T option is specified.
+       Commands which use a terminal type to control display often accept a -T
+       option that accepts a terminal name  argument.   Such  programs  should
+       fall  back on the <STRONG>TERM</STRONG> environment variable when no -T option is speci-
+       fied.
 
 
 </PRE><H2><a name="h2-PORTABILITY">PORTABILITY</a></H2><PRE>
-       For  maximum  compatibility  with  older  System V UNIXes,
-       names and aliases should be unique  within  the  first  14
-       characters.
+       For maximum compatibility with older System V UNIXes, names and aliases
+       should be unique within the first 14 characters.
 
 
 </PRE><H2><a name="h2-FILES">FILES</a></H2><PRE>
 
 
 
-                                                                <STRONG><A HREF="term.7.html">term(7)</A></STRONG>
+                                                                       <STRONG><A HREF="term.7.html">term(7)</A></STRONG>
 </PRE>
 <div class="nav">
 <ul>
index d26d21e0ccd24514f234056dde30b14ebd42585b..414ff165b3755fbe7a89e00108de2c0cf7e417ce 100644 (file)
 <BODY>
 <H1 class="no-header">term_variables 3x</H1>
 <PRE>
-<STRONG><A HREF="term_variables.3x.html">term_variables(3x)</A></STRONG>                                   <STRONG><A HREF="term_variables.3x.html">term_variables(3x)</A></STRONG>
+<STRONG><A HREF="term_variables.3x.html">term_variables(3x)</A></STRONG>                                          <STRONG><A HREF="term_variables.3x.html">term_variables(3x)</A></STRONG>
 
 
 
 
 </PRE><H2><a name="h2-NAME">NAME</a></H2><PRE>
-       <STRONG>SP</STRONG>, <STRONG>acs_map</STRONG>, <STRONG>boolcodes</STRONG>, <STRONG>boolfnames</STRONG>, <STRONG>boolnames</STRONG>, <STRONG>cur_term</STRONG>,
-       <STRONG>numcodes</STRONG>, <STRONG>numfnames</STRONG>, <STRONG>numnames</STRONG>, <STRONG>strcodes</STRONG>, <STRONG>strfnames</STRONG>,
-       <STRONG>strnames</STRONG>, <STRONG>ttytype</STRONG> - <STRONG>curses</STRONG> terminfo global variables
+       <STRONG>SP</STRONG>, <STRONG>acs_map</STRONG>, <STRONG>boolcodes</STRONG>, <STRONG>boolfnames</STRONG>, <STRONG>boolnames</STRONG>, <STRONG>cur_term</STRONG>, <STRONG>numcodes</STRONG>,
+       <STRONG>numfnames</STRONG>, <STRONG>numnames</STRONG>, <STRONG>strcodes</STRONG>, <STRONG>strfnames</STRONG>, <STRONG>strnames</STRONG>, <STRONG>ttytype</STRONG> - <STRONG>curses</STRONG>
+       terminfo global variables
 
 
 </PRE><H2><a name="h2-SYNOPSIS">SYNOPSIS</a></H2><PRE>
 
 
 </PRE><H2><a name="h2-DESCRIPTION">DESCRIPTION</a></H2><PRE>
-       This  page summarizes variables provided by the <STRONG>curses</STRONG> li-
-       brary's low-level terminfo interface.  A more complete de-
-       scription is given in the <STRONG><A HREF="curs_terminfo.3x.html">curs_terminfo(3x)</A></STRONG> manual page.
+       This  page  summarizes  variables provided by the <STRONG>curses</STRONG> library's low-
+       level terminfo interface.  A more complete description is given in  the
+       <STRONG><A HREF="curs_terminfo.3x.html">curs_terminfo(3x)</A></STRONG> manual page.
 
-       Depending  on the configuration, these may be actual vari-
-       ables, or  macros  (see  <STRONG><A HREF="curs_threads.3x.html">curs_threads(3x)</A></STRONG>)  which  provide
-       read-only  access  to <EM>curses</EM>'s state.  In either case, ap-
-       plications should treat them as read-only to avoid confus-
-       ing the library.
+       Depending  on  the  configuration,  these  may  be actual variables, or
+       macros (see <STRONG><A HREF="curs_threads.3x.html">curs_threads(3x)</A></STRONG>) which provide read-only access  to  <EM>curs-</EM>
+       <EM>es</EM>'s state.  In either case, applications should treat them as read-on-
+       ly to avoid confusing the library.
 
 
 </PRE><H3><a name="h3-Alternate-Character-Set-Mapping">Alternate Character Set Mapping</a></H3><PRE>
-       After  initializing the curses or terminfo interfaces, the
-       <STRONG>acs_map</STRONG> array holds information used  to  translate  cells
-       with  the  <STRONG>A_ALTCHARSET</STRONG>  video attribute into line-drawing
-       characters.
+       After initializing the curses or terminfo interfaces, the <STRONG>acs_map</STRONG> array
+       holds  information  used to translate cells with the <STRONG>A_ALTCHARSET</STRONG> video
+       attribute into line-drawing characters.
 
-       The encoding of the information in this array has  changed
-       periodically.   Application developers need only know that
-       it is used for the "ACS_" constants in &lt;curses.h&gt;.
+       The encoding of the information in this array has changed periodically.
+       Application  developers  need  only know that it is used for the "ACS_"
+       constants in &lt;curses.h&gt;.
 
-       The comparable data for the wide-character  library  is  a
-       private variable.
+       The comparable data for the wide-character library is a  private  vari-
+       able.
 
 
 </PRE><H3><a name="h3-Current-Terminal-Data">Current Terminal Data</a></H3><PRE>
-       After  initializing the curses or terminfo interfaces, the
-       <STRONG>cur_term</STRONG> contains data describing  the  current  terminal.
-       This variable is also set as a side-effect of <STRONG><A HREF="curs_initscr.3x.html">set_term(3x)</A></STRONG>
-       and <STRONG><A HREF="curs_initscr.3x.html">delscreen(3x)</A></STRONG>.
+       After initializing the curses or terminfo interfaces, the <STRONG>cur_term</STRONG> con-
+       tains data describing the current terminal.  This variable is also  set
+       as a side-effect of <STRONG><A HREF="curs_initscr.3x.html">set_term(3x)</A></STRONG> and <STRONG><A HREF="curs_initscr.3x.html">delscreen(3x)</A></STRONG>.
 
-       It is possible to save a value of <STRONG>cur_term</STRONG> for  subsequent
-       use  as  a  parameter  to  <STRONG>set_term</STRONG>, for switching between
-       screens.  Alternatively, one can  save  the  return  value
-       from <STRONG>newterm</STRONG> or <STRONG><A HREF="curs_terminfo.3x.html">setupterm(3x)</A></STRONG> to reuse in <STRONG>set_term</STRONG>.
+       It  is possible to save a value of <STRONG>cur_term</STRONG> for subsequent use as a pa-
+       rameter to <STRONG>set_term</STRONG>, for switching between screens.  Alternatively, one
+       can  save  the  return  value from <STRONG>newterm</STRONG> or <STRONG><A HREF="curs_terminfo.3x.html">setupterm(3x)</A></STRONG> to reuse in
+       <STRONG>set_term</STRONG>.
 
 
 </PRE><H3><a name="h3-Terminfo-Names">Terminfo Names</a></H3><PRE>
-       The  <STRONG><A HREF="tic.1m.html">tic(1)</A></STRONG>  and <STRONG><A HREF="infocmp.1m.html">infocmp(1)</A></STRONG> programs use lookup tables for
-       the long and short names of terminfo capabilities, as well
-       as  the  corresponding  names  for  termcap  capabilities.
-       These are available to other  applications,  although  the
-       hash-tables used by the terminfo and termcap functions are
-       not available.
+       The <STRONG><A HREF="tic.1m.html">tic(1)</A></STRONG> and <STRONG><A HREF="infocmp.1m.html">infocmp(1)</A></STRONG> programs use lookup tables for the  long  and
+       short  names  of  terminfo  capabilities,  as well as the corresponding
+       names for termcap capabilities.  These are available to other  applica-
+       tions,  although the hash-tables used by the terminfo and termcap func-
+       tions are not available.
 
-       The long terminfo capability names  use  a  "l"  (ell)  in
-       their names: <STRONG>boolfnames</STRONG>, <STRONG>numfnames</STRONG>, and <STRONG>strfnames</STRONG>.
+       The long terminfo capability names use a  "l"  (ell)  in  their  names:
+       <STRONG>boolfnames</STRONG>, <STRONG>numfnames</STRONG>, and <STRONG>strfnames</STRONG>.
 
-       These are the short names for terminfo capabilities: <STRONG>bool-</STRONG>
-       <STRONG>names</STRONG>, <STRONG>numnames</STRONG>, and <STRONG>strnames</STRONG>.
+       These  are  the  short names for terminfo capabilities: <STRONG>boolnames</STRONG>, <STRONG>num-</STRONG>
+       <STRONG>names</STRONG>, and <STRONG>strnames</STRONG>.
 
-       These are the corresponding names  used  for  termcap  de-
-       scriptions: <STRONG>boolcodes</STRONG>, <STRONG>numcodes</STRONG>, and <STRONG>strcodes</STRONG>.
+       These are the corresponding names used for termcap descriptions:  <STRONG>bool-</STRONG>
+       <STRONG>codes</STRONG>, <STRONG>numcodes</STRONG>, and <STRONG>strcodes</STRONG>.
 
 
 </PRE><H3><a name="h3-Terminal-Type">Terminal Type</a></H3><PRE>
-       A  terminal  description  begins with one or more terminal
-       names separated by "|" (vertical bars).  On initialization
-       of the curses or terminfo interfaces, <STRONG><A HREF="curs_terminfo.3x.html">setupterm(3x)</A></STRONG> copies
-       the terminal names to the array <STRONG>ttytype</STRONG>.
+       A terminal description begins with one or more terminal names separated
+       by "|" (vertical bars).  On initialization of the  curses  or  terminfo
+       interfaces,  <STRONG><A HREF="curs_terminfo.3x.html">setupterm(3x)</A></STRONG>  copies the terminal names to the array <STRONG>tty-</STRONG>
+       <STRONG>type</STRONG>.
 
 
 </PRE><H3><a name="h3-Terminfo-Names">Terminfo Names</a></H3><PRE>
-       In addition to the variables, <STRONG>&lt;term.h&gt;</STRONG> also defines a sym-
-       bol  for each terminfo capability <EM>long</EM> <EM>name</EM>.  These are in
-       terms of the symbol <STRONG>CUR</STRONG>, which is defined
+       In addition to the variables, <STRONG>&lt;term.h&gt;</STRONG> also defines a symbol  for  each
+       terminfo  capability  <EM>long</EM> <EM>name</EM>.  These are in terms of the symbol <STRONG>CUR</STRONG>,
+       which is defined
 
        #define CUR ((TERMTYPE *)(cur_term))-&gt;
 
-       These symbols provide a faster method of accessing termin-
-       fo capabilities than using <STRONG><A HREF="curs_terminfo.3x.html">tigetstr(3x)</A></STRONG>, etc.
+       These symbols provide a faster method of accessing  terminfo  capabili-
+       ties than using <STRONG><A HREF="curs_terminfo.3x.html">tigetstr(3x)</A></STRONG>, etc.
 
-       The  actual definition of <STRONG>CUR</STRONG> depends upon the implementa-
-       tion, but each terminfo library provides these long  names
-       defined  to  point  into  the current terminal description
-       loaded into memory.
+       The  actual definition of <STRONG>CUR</STRONG> depends upon the implementation, but each
+       terminfo library provides these long names defined to  point  into  the
+       current terminal description loaded into memory.
 
 
 </PRE><H2><a name="h2-NOTES">NOTES</a></H2><PRE>
-       The low-level  terminfo  interface  is  initialized  using
-       <STRONG><A HREF="curs_terminfo.3x.html">setupterm(3x)</A></STRONG>.   The upper-level curses interface uses the
-       low-level terminfo interface, internally.
+       The  low-level  terminfo  interface is initialized using <STRONG><A HREF="curs_terminfo.3x.html">setupterm(3x)</A></STRONG>.
+       The upper-level curses interface uses the low-level terminfo interface,
+       internally.
 
 
 </PRE><H2><a name="h2-PORTABILITY">PORTABILITY</a></H2><PRE>
-       X/Open Curses does not describe any of  these  except  for
-       <STRONG>cur_term</STRONG>.   (The  inclusion  of  <STRONG>cur_term</STRONG> appears to be an
-       oversight, since other comparable low-level information is
-       omitted by X/Open).
+       X/Open Curses does not describe any of these except for <STRONG>cur_term</STRONG>.  (The
+       inclusion of <STRONG>cur_term</STRONG> appears to be an oversight, since other  compara-
+       ble low-level information is omitted by X/Open).
 
-       Other implementations may have comparable variables.  Some
-       implementations provide the variables in their  libraries,
-       but omit them from the header files.
+       Other  implementations may have comparable variables.  Some implementa-
+       tions provide the variables in their libraries, but omit them from  the
+       header files.
 
-       All  implementations which provide terminfo interfaces add
-       definitions as described in the  <STRONG>Terminfo</STRONG>  <STRONG>Names</STRONG>  section.
-       Most,  but  not all, base the definition upon the <STRONG>cur_term</STRONG>
-       variable.
+       All  implementations  which provide terminfo interfaces add definitions
+       as described in the <STRONG>Terminfo</STRONG> <STRONG>Names</STRONG> section.  Most, but  not  all,  base
+       the definition upon the <STRONG>cur_term</STRONG> variable.
 
 
 </PRE><H2><a name="h2-SEE-ALSO">SEE ALSO</a></H2><PRE>
-       <STRONG><A HREF="ncurses.3x.html">curses(3x)</A></STRONG>,      <STRONG><A HREF="curs_terminfo.3x.html">curs_terminfo(3x)</A></STRONG>,      <STRONG><A HREF="curs_threads.3x.html">curs_threads(3x)</A></STRONG>,
-       <STRONG><A HREF="terminfo.5.html">terminfo(5)</A></STRONG>.
+       <STRONG><A HREF="ncurses.3x.html">curses(3x)</A></STRONG>, <STRONG><A HREF="curs_terminfo.3x.html">curs_terminfo(3x)</A></STRONG>, <STRONG><A HREF="curs_threads.3x.html">curs_threads(3x)</A></STRONG>, <STRONG><A HREF="terminfo.5.html">terminfo(5)</A></STRONG>.
 
 
 
-                                                     <STRONG><A HREF="term_variables.3x.html">term_variables(3x)</A></STRONG>
+                                                            <STRONG><A HREF="term_variables.3x.html">term_variables(3x)</A></STRONG>
 </PRE>
 <div class="nav">
 <ul>
index f2d7ffd4142476b35beb0dc7578beb74977235e0..cce59d63097863e5b288d2826e26763b180ce7f2 100644 (file)
@@ -33,7 +33,7 @@
   ****************************************************************************
   * @Id: terminfo.head,v 1.32 2017/04/22 13:52:49 tom Exp @
   * Head of terminfo man page ends here
-  * @Id: terminfo.tail,v 1.85 2017/04/22 18:59:02 tom Exp @
+  * @Id: terminfo.tail,v 1.87 2017/05/05 17:54:07 tom Exp @
   * Beginning of terminfo.tail file
   * This file is part of ncurses.
   * See "terminfo.head" for copyright.
@@ -55,7 +55,7 @@
 <BODY>
 <H1 class="no-header">terminfo 5   File Formats</H1>
 <PRE>
-<STRONG><A HREF="terminfo.5.html">terminfo(5)</A></STRONG>                   File Formats                  <STRONG><A HREF="terminfo.5.html">terminfo(5)</A></STRONG>
+<STRONG><A HREF="terminfo.5.html">terminfo(5)</A></STRONG>                      File Formats                      <STRONG><A HREF="terminfo.5.html">terminfo(5)</A></STRONG>
 
 
 
 
 
 </PRE><H2><a name="h2-DESCRIPTION">DESCRIPTION</a></H2><PRE>
-       <EM>Terminfo</EM>  is  a  data  base  describing terminals, used by
-       screen-oriented programs  such  as  <STRONG>nvi(1)</STRONG>,  <STRONG>rogue(1)</STRONG>  and
-       libraries  such  as <STRONG><A HREF="ncurses.3x.html">curses(3x)</A></STRONG>.  <EM>Terminfo</EM> describes termi-
-       nals by giving a set of capabilities which they  have,  by
-       specifying how to perform screen operations, and by speci-
-       fying padding requirements and  initialization  sequences.
-       This describes <STRONG>ncurses</STRONG> version 6.0 (patch 20170429).
+       <EM>Terminfo</EM>  is  a data base describing terminals, used by screen-oriented
+       programs such as <STRONG>nvi(1)</STRONG>, <STRONG>rogue(1)</STRONG> and  libraries  such  as  <STRONG><A HREF="ncurses.3x.html">curses(3x)</A></STRONG>.
+       <EM>Terminfo</EM> describes terminals by giving a set of capabilities which they
+       have, by specifying how to perform screen operations, and by specifying
+       padding  requirements  and  initialization  sequences.   This describes
+       <STRONG>ncurses</STRONG> version 6.0 (patch 20170506).
 
 
 </PRE><H3><a name="h3-Terminfo-Entry-Syntax">Terminfo Entry Syntax</a></H3><PRE>
        Entries in <EM>terminfo</EM> consist of a sequence of fields:
 
-       <STRONG>o</STRONG>   Each  field ends with a comma "," (embedded commas may
-           be escaped with a backslash or written as "\054").
+       <STRONG>o</STRONG>   Each field ends with a comma "," (embedded commas  may  be  escaped
+           with a backslash or written as "\054").
 
        <STRONG>o</STRONG>   White space between fields is ignored.
 
-       <STRONG>o</STRONG>   The first field in a  <EM>terminfo</EM>  entry  begins  in  the
-           first column.
-
-       <STRONG>o</STRONG>   Newlines  and  leading whitespace (spaces or tabs) may
-           be used for formatting entries for readability.  These
-           are removed from parsed entries.
-
-           The  <STRONG>infocmp</STRONG>  <STRONG>-f</STRONG> and <STRONG>-W</STRONG> options rely on this to format
-           if-then-else expressions, or to enforce maximum  line-
-           width.   The  resulting formatted terminal description
-           can be read by <STRONG>tic</STRONG>.
-
-       <STRONG>o</STRONG>   The first field for  each  terminal  gives  the  names
-           which  are  known  for  the terminal, separated by "|"
-           characters.
-
-           The first name given is the most  common  abbreviation
-           for  the  terminal  (its  primary name), the last name
-           given should be a long name fully identifying the ter-
-           minal  (see  <STRONG><A HREF="curs_termattrs.3x.html">longname(3x)</A></STRONG>), and all others are treated
-           as synonyms (aliases) for the primary terminal name.
-
-           X/Open Curses advises that  all  names  but  the  last
-           should  be  in  lower  case and contain no blanks; the
-           last name may well contain upper case and  blanks  for
-           readability.
-
-           This  implementation is not so strict; it allows mixed
-           case in the primary name and  aliases.   If  the  last
-           name has no embedded blanks, it allows that to be both
-           an alias and a verbose name (but will warn about  this
-           ambiguity).
-
-       <STRONG>o</STRONG>   Lines  beginning  with  a  "#" in the first column are
-           treated as comments.
-
-           While comment lines are legal at any point, the output
-           of <STRONG>captoinfo</STRONG> and <STRONG>infotocap</STRONG> (aliases for <STRONG>tic</STRONG>) will move
-           comments so they occur only between entries.
-
-       Terminal names (except for the last, verbose entry) should
-       be chosen using the following conventions.  The particular
-       piece of hardware making up the  terminal  should  have  a
-       root  name,  thus  "hp2621".  This name should not contain
-       hyphens.  Modes that the hardware can be in, or user pref-
-       erences,  should  be indicated by appending a hyphen and a
-       mode suffix.  Thus, a vt100 in 132 column  mode  would  be
-       vt100-w.  The following suffixes should be used where pos-
-       sible:
-
-      <STRONG>Suffix</STRONG>                  <STRONG>Meaning</STRONG>                   <STRONG>Example</STRONG>
-      -<EM>nn</EM>      Number of lines on the screen            aaa-60
-      -<EM>n</EM>p      Number of pages of memory                c100-4p
-      -am      With automargins (usually the default)   vt100-am
-      -m       Mono mode; suppress color                ansi-m
-      -mc      Magic cookie; spaces when highlighting   wy30-mc
-      -na      No arrow keys (leave them in local)      c100-na
-      -nam     Without automatic margins                vt100-nam
-      -nl      No status line                           att4415-nl
-      -ns      No status line                           hp2626-ns
-      -rv      Reverse video                            c100-rv
-      -s       Enable status line                       vt100-s
-      -vb      Use visible bell instead of beep         wy370-vb
-      -w       Wide mode (&gt; 80 columns, usually 132)    vt100-w
-
-       For more on terminal naming conventions, see  the  <STRONG>term(7)</STRONG>
-       manual page.
+       <STRONG>o</STRONG>   The first field in a <EM>terminfo</EM> entry begins in the first column.
+
+       <STRONG>o</STRONG>   Newlines  and  leading  whitespace (spaces or tabs) may be used for
+           formatting entries for readability.  These are removed from  parsed
+           entries.
+
+           The  <STRONG>infocmp</STRONG>  <STRONG>-f</STRONG> and <STRONG>-W</STRONG> options rely on this to format if-then-else
+           expressions, or to enforce maximum line-width.  The resulting  for-
+           matted terminal description can be read by <STRONG>tic</STRONG>.
+
+       <STRONG>o</STRONG>   The  first  field for each terminal gives the names which are known
+           for the terminal, separated by "|" characters.
+
+           The first name given is the most common abbreviation for the termi-
+           nal  (its  primary name), the last name given should be a long name
+           fully identifying the terminal (see <STRONG><A HREF="curs_termattrs.3x.html">longname(3x)</A></STRONG>), and  all  others
+           are treated as synonyms (aliases) for the primary terminal name.
+
+           X/Open  Curses  advises  that  all  names but the last should be in
+           lower case and contain no blanks; the last name  may  well  contain
+           upper case and blanks for readability.
+
+           This  implementation  is not so strict; it allows mixed case in the
+           primary name and aliases.  If the last name has no embedded blanks,
+           it  allows  that  to  be both an alias and a verbose name (but will
+           warn about this ambiguity).
+
+       <STRONG>o</STRONG>   Lines beginning with a "#" in the first column are treated as  com-
+           ments.
+
+           While comment lines are legal at any point, the output of <STRONG>captoinfo</STRONG>
+           and <STRONG>infotocap</STRONG> (aliases for <STRONG>tic</STRONG>) will move comments  so  they  occur
+           only between entries.
+
+       Terminal  names  (except  for the last, verbose entry) should be chosen
+       using the following conventions.  The particular piece of hardware mak-
+       ing  up the terminal should have a root name, thus "hp2621".  This name
+       should not contain hyphens.  Modes that the hardware can be in, or user
+       preferences,  should be indicated by appending a hyphen and a mode suf-
+       fix.  Thus, a vt100 in 132 column mode would be vt100-w.  The following
+       suffixes should be used where possible:
+
+            <STRONG>Suffix</STRONG>                  <STRONG>Meaning</STRONG>                   <STRONG>Example</STRONG>
+            -<EM>nn</EM>      Number of lines on the screen            aaa-60
+            -<EM>n</EM>p      Number of pages of memory                c100-4p
+            -am      With automargins (usually the default)   vt100-am
+            -m       Mono mode; suppress color                ansi-m
+            -mc      Magic cookie; spaces when highlighting   wy30-mc
+            -na      No arrow keys (leave them in local)      c100-na
+            -nam     Without automatic margins                vt100-nam
+            -nl      No status line                           att4415-nl
+            -ns      No status line                           hp2626-ns
+            -rv      Reverse video                            c100-rv
+            -s       Enable status line                       vt100-s
+            -vb      Use visible bell instead of beep         wy370-vb
+            -w       Wide mode (&gt; 80 columns, usually 132)    vt100-w
+
+       For more on terminal naming conventions, see the <STRONG>term(7)</STRONG> manual page.
 
 
 </PRE><H3><a name="h3-Terminfo-Capabilities-Syntax">Terminfo Capabilities Syntax</a></H3><PRE>
-       The terminfo entry consists of several <EM>capabilities</EM>, i.e.,
-       features that the terminal has, or methods for  exercising
-       the terminal's features.
-
-       After  the first field (giving the name(s) of the terminal
-       entry), there should be one  or  more  <EM>capability</EM>  fields.
-       These  are  boolean,  numeric  or string names with corre-
-       sponding values:
-
-       <STRONG>o</STRONG>   Boolean capabilities are true when present, false when
-           absent.   There is no explicit value for boolean capa-
-           bilities.
-
-       <STRONG>o</STRONG>   Numeric capabilities have a "#"  following  the  name,
-           then an unsigned decimal integer value.
-
-       <STRONG>o</STRONG>   String  capabilities  have  a  "=" following the name,
-           then an string of characters making up the  capability
-           value.
-
-           String  capabilities can be split into multiple lines,
-           just as the fields comprising a terminal entry can  be
-           split  into  multiple  lines.   While  blanks  between
-           fields are ignored, blanks embedded  within  a  string
-           value  are  retained,  except  for leading blanks on a
+       The  terminfo  entry  consists  of several <EM>capabilities</EM>, i.e., features
+       that the terminal has, or methods for exercising  the  terminal's  fea-
+       tures.
+
+       After the first field (giving the name(s) of the terminal entry), there
+       should be one or more <EM>capability</EM> fields.  These are boolean, numeric or
+       string names with corresponding values:
+
+       <STRONG>o</STRONG>   Boolean  capabilities  are  true  when  present, false when absent.
+           There is no explicit value for boolean capabilities.
+
+       <STRONG>o</STRONG>   Numeric capabilities  have  a  "#"  following  the  name,  then  an
+           unsigned decimal integer value.
+
+       <STRONG>o</STRONG>   String  capabilities  have a "=" following the name, then an string
+           of characters making up the capability value.
+
+           String capabilities can be split into multiple lines, just  as  the
+           fields  comprising  a  terminal  entry  can  be split into multiple
+           lines.  While blanks between fields are  ignored,  blanks  embedded
+           within  a string value are retained, except for leading blanks on a
            line.
 
-       Any capability can be <EM>canceled</EM>, i.e., suppressed from  the
-       terminal entry, by following its name with "@" rather than
-       a capability value.
+       Any capability can be <EM>canceled</EM>,  i.e.,  suppressed  from  the  terminal
+       entry, by following its name with "@" rather than a capability value.
 
 
 </PRE><H3><a name="h3-Similar-Terminals">Similar Terminals</a></H3><PRE>
-       If there are two very similar terminals, one (the variant)
-       can  be  defined  as  being just like the other (the base)
-       with certain exceptions.  In the definition of  the  vari-
-       ant,  the string capability <STRONG>use</STRONG> can be given with the name
-       of the base terminal:
+       If  there  are  two  very  similar  terminals, one (the variant) can be
+       defined as being just like the other (the  base)  with  certain  excep-
+       tions.  In the definition of the variant, the string capability <STRONG>use</STRONG> can
+       be given with the name of the base terminal:
 
-       <STRONG>o</STRONG>   The capabilities given before <STRONG>use</STRONG>  override  those  in
-           the base type named by <STRONG>use</STRONG>.
+       <STRONG>o</STRONG>   The capabilities given before <STRONG>use</STRONG> override those in the  base  type
+           named by <STRONG>use</STRONG>.
 
-       <STRONG>o</STRONG>   If  there  are  multiple  <STRONG>use</STRONG>  capabilities,  they are
-           merged in reverse order.  That is, the  rightmost  <STRONG>use</STRONG>
-           reference  is  processed  first,  then  the one to its
-           left, and so forth.
+       <STRONG>o</STRONG>   If  there are multiple <STRONG>use</STRONG> capabilities, they are merged in reverse
+           order.  That is, the rightmost <STRONG>use</STRONG> reference  is  processed  first,
+           then the one to its left, and so forth.
 
-       <STRONG>o</STRONG>   Capabilities given explicitly in  the  entry  override
-           those brought in by <STRONG>use</STRONG> references.
+       <STRONG>o</STRONG>   Capabilities  given  explicitly in the entry override those brought
+           in by <STRONG>use</STRONG> references.
 
-       A capability can be canceled by placing <STRONG>xx@</STRONG> to the left of
-       the use reference that imports it, where <EM>xx</EM> is  the  capa-
-       bility.  For example, the entry
+       A capability can be canceled by placing <STRONG>xx@</STRONG> to the left of the use ref-
+       erence  that  imports it, where <EM>xx</EM> is the capability.  For example, the
+       entry
 
               2621-nl, smkx@, rmkx@, use=2621,
 
-       defines  a  2621-nl  that  does  not have the <STRONG>smkx</STRONG> or <STRONG>rmkx</STRONG>
-       capabilities, and hence does not turn on the function  key
-       labels  when in visual mode.  This is useful for different
-       modes for a terminal, or for different user preferences.
+       defines a 2621-nl that does not have the <STRONG>smkx</STRONG> or <STRONG>rmkx</STRONG> capabilities, and
+       hence  does  not  turn  on the function key labels when in visual mode.
+       This is useful for different modes for a  terminal,  or  for  different
+       user preferences.
 
-       An entry included via <STRONG>use</STRONG> can contain  canceled  capabili-
-       ties,  which have the same effect as if those cancels were
-       inline in the using terminal entry.
+       An entry included via <STRONG>use</STRONG> can contain canceled capabilities, which have
+       the same effect as if those cancels were inline in the  using  terminal
+       entry.
 
 
 </PRE><H3><a name="h3-Predefined-Capabilities">Predefined Capabilities</a></H3><PRE>
-       The following is a  complete  table  of  the  capabilities
-       included  in a terminfo description block and available to
-       terminfo-using code.  In each line of the table,
-
-       The <STRONG>variable</STRONG> is the name by which the programmer  (at  the
-       terminfo level) accesses the capability.
-
-       The  <STRONG>capname</STRONG>  is  the  short  name used in the text of the
-       database, and is used by a person updating  the  database.
-       Whenever  possible,  capnames are chosen to be the same as
-       or similar to the ANSI X3.64-1979 standard (now superseded
-       by  ECMA-48,  which uses identical or very similar names).
-       Semantics are also intended to match those of the specifi-
-       cation.
-
-       The  termcap code is the old <STRONG>termcap</STRONG> capability name (some
-       capabilities are new, and have names which termcap did not
-       originate).
-
-       Capability  names have no hard length limit, but an infor-
-       mal limit of 5 characters has been adopted  to  keep  them
-       short  and  to  allow  the tabs in the source file <STRONG>Caps</STRONG> to
-       line up nicely.
-
-       Finally, the description  field  attempts  to  convey  the
-       semantics  of  the capability.  You may find some codes in
-       the description field:
+       The  following  is  a  complete table of the capabilities included in a
+       terminfo description block and available to  terminfo-using  code.   In
+       each line of the table,
+
+       The  <STRONG>variable</STRONG>  is  the  name  by  which the programmer (at the terminfo
+       level) accesses the capability.
+
+       The <STRONG>capname</STRONG> is the short name used in the text of the database, and  is
+       used  by  a  person updating the database.  Whenever possible, capnames
+       are chosen to be the same as or similar to the ANSI X3.64-1979 standard
+       (now  superseded  by  ECMA-48,  which  uses  identical  or very similar
+       names).  Semantics are also intended to match those of  the  specifica-
+       tion.
+
+       The  termcap code is the old <STRONG>termcap</STRONG> capability name (some capabilities
+       are new, and have names which termcap did not originate).
+
+       Capability names have no hard length limit, but an informal limit of  5
+       characters has been adopted to keep them short and to allow the tabs in
+       the source file <STRONG>Caps</STRONG> to line up nicely.
+
+       Finally, the description field attempts to convey the semantics of  the
+       capability.  You may find some codes in the description field:
 
        (P)    indicates that padding may be specified
 
-       #[1-9] in the description field indicates that the  string
-              is passed through tparm with parms as given (#<EM>i</EM>).
+       #[1-9] in  the  description  field  indicates that the string is passed
+              through tparm with parms as given (#<EM>i</EM>).
 
-       (P*)   indicates  that  padding  may vary in proportion to
-              the number of lines affected
+       (P*)   indicates that padding may vary in proportion to the  number  of
+              lines affected
 
        (#<EM>i</EM>)   indicates the <EM>i</EM>th parameter.
 
        These are the boolean capabilities:
 
 
-               <STRONG>Variable</STRONG>          <STRONG>Cap-</STRONG>   <STRONG>TCap</STRONG>     <STRONG>Description</STRONG>
-               <STRONG>Booleans</STRONG>          <STRONG>name</STRONG>   <STRONG>Code</STRONG>
-       auto_left_margin          bw     bw   cub1 wraps from col-
-                                             umn 0 to last column
-       auto_right_margin         am     am   terminal has auto-
-                                             matic margins
-       back_color_erase          bce    ut   screen erased with
-                                             background color
-       can_change                ccc    cc   terminal can re-
-                                             define existing col-
-                                             ors
-       ceol_standout_glitch      xhp    xs   standout not erased
-                                             by overwriting (hp)
-       col_addr_glitch           xhpa   YA   only positive motion
-                                             for hpa/mhpa caps
-       cpi_changes_res           cpix   YF   changing character
-                                             pitch changes reso-
-                                             lution
-       cr_cancels_micro_mode     crxm   YB   using cr turns off
-                                             micro mode
-       dest_tabs_magic_smso      xt     xt   tabs destructive,
-                                             magic so char
-                                             (t1061)
-       eat_newline_glitch        xenl   xn   newline ignored
-                                             after 80 cols (con-
-                                             cept)
-       erase_overstrike          eo     eo   can erase over-
-                                             strikes with a blank
-       generic_type              gn     gn   generic line type
-       hard_copy                 hc     hc   hardcopy terminal
-       hard_cursor               chts   HC   cursor is hard to
-                                             see
-       has_meta_key              km     km   Has a meta key
-                                             (i.e., sets 8th-bit)
-       has_print_wheel           daisy  YC   printer needs opera-
-                                             tor to change char-
-                                             acter set
-       has_status_line           hs     hs   has extra status
-                                             line
-       hue_lightness_saturation  hls    hl   terminal uses only
-                                             HLS color notation
-                                             (Tektronix)
-       insert_null_glitch        in     in   insert mode distin-
-                                             guishes nulls
-       lpi_changes_res           lpix   YG   changing line pitch
-                                             changes resolution
-       memory_above              da     da   display may be
-                                             retained above the
-                                             screen
-       memory_below              db     db   display may be
-                                             retained below the
-                                             screen
-       move_insert_mode          mir    mi   safe to move while
-                                             in insert mode
-       move_standout_mode        msgr   ms   safe to move while
-                                             in standout mode
-       needs_xon_xoff            nxon   nx   padding will not
-                                             work, xon/xoff
-                                             required
-       no_esc_ctlc               xsb    xb   beehive (f1=escape,
-                                             f2=ctrl C)
-
-
-       no_pad_char               npc    NP   pad character does
-                                             not exist
-       non_dest_scroll_region    ndscr  ND   scrolling region is
-                                             non-destructive
-       non_rev_rmcup             nrrmc  NR   smcup does not
-                                             reverse rmcup
-       over_strike               os     os   terminal can over-
-                                             strike
-       prtr_silent               mc5i   5i   printer will not
-                                             echo on screen
-       row_addr_glitch           xvpa   YD   only positive motion
-                                             for vpa/mvpa caps
-       semi_auto_right_margin    sam    YE   printing in last
-                                             column causes cr
-       status_line_esc_ok        eslok  es   escape can be used
-                                             on the status line
-       tilde_glitch              hz     hz   cannot print ~'s
-                                             (Hazeltine)
-       transparent_underline     ul     ul   underline character
-                                             overstrikes
-       xon_xoff                  xon    xo   terminal uses
-                                             xon/xoff handshaking
+               <STRONG>Variable</STRONG>              <STRONG>Cap-</STRONG>       <STRONG>TCap</STRONG>          <STRONG>Description</STRONG>
+               <STRONG>Booleans</STRONG>              <STRONG>name</STRONG>       <STRONG>Code</STRONG>
+       auto_left_margin              bw         bw        cub1 wraps from col-
+                                                          umn 0 to last column
+       auto_right_margin             am         am        terminal has auto-
+                                                          matic margins
+       back_color_erase              bce        ut        screen erased with
+                                                          background color
+       can_change                    ccc        cc        terminal can re-
+                                                          define existing col-
+                                                          ors
+       ceol_standout_glitch          xhp        xs        standout not erased
+                                                          by overwriting (hp)
+       col_addr_glitch               xhpa       YA        only positive motion
+                                                          for hpa/mhpa caps
+
+       cpi_changes_res               cpix       YF        changing character
+                                                          pitch changes reso-
+                                                          lution
+       cr_cancels_micro_mode         crxm       YB        using cr turns off
+                                                          micro mode
+       dest_tabs_magic_smso          xt         xt        tabs destructive,
+                                                          magic so char
+                                                          (t1061)
+       eat_newline_glitch            xenl       xn        newline ignored
+                                                          after 80 cols (con-
+                                                          cept)
+       erase_overstrike              eo         eo        can erase over-
+                                                          strikes with a blank
+       generic_type                  gn         gn        generic line type
+       hard_copy                     hc         hc        hardcopy terminal
+       hard_cursor                   chts       HC        cursor is hard to
+                                                          see
+       has_meta_key                  km         km        Has a meta key
+                                                          (i.e., sets 8th-bit)
+       has_print_wheel               daisy      YC        printer needs opera-
+                                                          tor to change char-
+                                                          acter set
+       has_status_line               hs         hs        has extra status
+                                                          line
+       hue_lightness_saturation      hls        hl        terminal uses only
+                                                          HLS color notation
+                                                          (Tektronix)
+       insert_null_glitch            in         in        insert mode distin-
+                                                          guishes nulls
+       lpi_changes_res               lpix       YG        changing line pitch
+                                                          changes resolution
+       memory_above                  da         da        display may be
+                                                          retained above the
+                                                          screen
+       memory_below                  db         db        display may be
+                                                          retained below the
+                                                          screen
+       move_insert_mode              mir        mi        safe to move while
+                                                          in insert mode
+       move_standout_mode            msgr       ms        safe to move while
+                                                          in standout mode
+       needs_xon_xoff                nxon       nx        padding will not
+                                                          work, xon/xoff
+                                                          required
+       no_esc_ctlc                   xsb        xb        beehive (f1=escape,
+                                                          f2=ctrl C)
+       no_pad_char                   npc        NP        pad character does
+                                                          not exist
+       non_dest_scroll_region        ndscr      ND        scrolling region is
+                                                          non-destructive
+       non_rev_rmcup                 nrrmc      NR        smcup does not
+                                                          reverse rmcup
+       over_strike                   os         os        terminal can over-
+                                                          strike
+       prtr_silent                   mc5i       5i        printer will not
+                                                          echo on screen
+       row_addr_glitch               xvpa       YD        only positive motion
+                                                          for vpa/mvpa caps
+       semi_auto_right_margin        sam        YE        printing in last
+                                                          column causes cr
+       status_line_esc_ok            eslok      es        escape can be used
+                                                          on the status line
+       tilde_glitch                  hz         hz        cannot print ~'s
+                                                          (Hazeltine)
+
+
+       transparent_underline         ul         ul        underline character
+                                                          overstrikes
+       xon_xoff                      xon        xo        terminal uses
+                                                          xon/xoff handshaking
 
        These are the numeric capabilities:
 
 
-               <STRONG>Variable</STRONG>          <STRONG>Cap-</STRONG>   <STRONG>TCap</STRONG>     <STRONG>Description</STRONG>
-                <STRONG>Numeric</STRONG>          <STRONG>name</STRONG>   <STRONG>Code</STRONG>
-       columns                   cols   co   number of columns in
-                                             a line
-       init_tabs                 it     it   tabs initially every
-                                             # spaces
-       label_height              lh     lh   rows in each label
-       label_width               lw     lw   columns in each
-                                             label
-       lines                     lines  li   number of lines on
-                                             screen or page
-       lines_of_memory           lm     lm   lines of memory if &gt;
-                                             line. 0 means varies
-       magic_cookie_glitch       xmc    sg   number of blank
-                                             characters left by
-                                             smso or rmso
-       max_attributes            ma     ma   maximum combined
-                                             attributes terminal
-                                             can handle
-       max_colors                colors Co   maximum number of
-                                             colors on screen
-       max_pairs                 pairs  pa   maximum number of
-                                             color-pairs on the
-                                             screen
-       maximum_windows           wnum   MW   maximum number of
-                                             definable windows
-       no_color_video            ncv    NC   video attributes
-                                             that cannot be used
-                                             with colors
-       num_labels                nlab   Nl   number of labels on
-                                             screen
-       padding_baud_rate         pb     pb   lowest baud rate
-                                             where padding needed
-       virtual_terminal          vt     vt   virtual terminal
-                                             number (CB/unix)
-       width_status_line         wsl    ws   number of columns in
-                                             status line
-
-       The  following  numeric  capabilities  are  present in the
-       SVr4.0 term structure, but are not yet documented  in  the
-       man page.  They came in with SVr4's printer support.
-
-
-               <STRONG>Variable</STRONG>          <STRONG>Cap-</STRONG>   <STRONG>TCap</STRONG>     <STRONG>Description</STRONG>
-                <STRONG>Numeric</STRONG>          <STRONG>name</STRONG>   <STRONG>Code</STRONG>
-       bit_image_entwining       bitwin Yo   number of passes for
-                                             each bit-image row
-       bit_image_type            bitype Yp   type of bit-image
-                                             device
-       buffer_capacity           bufsz  Ya   numbers of bytes
-                                             buffered before
-                                             printing
-       buttons                   btns   BT   number of buttons on
-                                             mouse
-       dot_horz_spacing          spinh  Yc   spacing of dots hor-
-                                             izontally in dots
-                                             per inch
-       dot_vert_spacing          spinv  Yb   spacing of pins ver-
-                                             tically in pins per
-                                             inch
-       max_micro_address         maddr  Yd   maximum value in
-                                             micro_..._address
-       max_micro_jump            mjump  Ye   maximum value in
-                                             parm_..._micro
-       micro_col_size            mcs    Yf   character step size
-                                             when in micro mode
-       micro_line_size           mls    Yg   line step size when
-                                             in micro mode
-       number_of_pins            npins  Yh   numbers of pins in
-                                             print-head
-       output_res_char           orc    Yi   horizontal resolu-
-                                             tion in units per
-                                             line
-       output_res_horz_inch      orhi   Yk   horizontal resolu-
-                                             tion in units per
-                                             inch
-       output_res_line           orl    Yj   vertical resolution
-                                             in units per line
-       output_res_vert_inch      orvi   Yl   vertical resolution
-                                             in units per inch
-       print_rate                cps    Ym   print rate in char-
-                                             acters per second
-       wide_char_size            widcs  Yn   character step size
-                                             when in double wide
-                                             mode
+               <STRONG>Variable</STRONG>              <STRONG>Cap-</STRONG>       <STRONG>TCap</STRONG>          <STRONG>Description</STRONG>
+                <STRONG>Numeric</STRONG>              <STRONG>name</STRONG>       <STRONG>Code</STRONG>
+       columns                       cols       co        number of columns in
+                                                          a line
+       init_tabs                     it         it        tabs initially every
+                                                          # spaces
+       label_height                  lh         lh        rows in each label
+       label_width                   lw         lw        columns in each
+                                                          label
+       lines                         lines      li        number of lines on
+                                                          screen or page
+       lines_of_memory               lm         lm        lines of memory if &gt;
+                                                          line. 0 means varies
+       magic_cookie_glitch           xmc        sg        number of blank
+                                                          characters left by
+                                                          smso or rmso
+       max_attributes                ma         ma        maximum combined
+                                                          attributes terminal
+                                                          can handle
+       max_colors                    colors     Co        maximum number of
+                                                          colors on screen
+       max_pairs                     pairs      pa        maximum number of
+                                                          color-pairs on the
+                                                          screen
+       maximum_windows               wnum       MW        maximum number of
+                                                          definable windows
+       no_color_video                ncv        NC        video attributes
+                                                          that cannot be used
+                                                          with colors
+       num_labels                    nlab       Nl        number of labels on
+                                                          screen
+       padding_baud_rate             pb         pb        lowest baud rate
+                                                          where padding needed
+       virtual_terminal              vt         vt        virtual terminal
+                                                          number (CB/unix)
+       width_status_line             wsl        ws        number of columns in
+                                                          status line
+
+       The following numeric capabilities  are  present  in  the  SVr4.0  term
+       structure,  but  are  not yet documented in the man page.  They came in
+       with SVr4's printer support.
+
+
+               <STRONG>Variable</STRONG>              <STRONG>Cap-</STRONG>       <STRONG>TCap</STRONG>          <STRONG>Description</STRONG>
+                <STRONG>Numeric</STRONG>              <STRONG>name</STRONG>       <STRONG>Code</STRONG>
+       bit_image_entwining           bitwin     Yo        number of passes for
+                                                          each bit-image row
+       bit_image_type                bitype     Yp        type of bit-image
+                                                          device
+       buffer_capacity               bufsz      Ya        numbers of bytes
+                                                          buffered before
+                                                          printing
+       buttons                       btns       BT        number of buttons on
+                                                          mouse
+       dot_horz_spacing              spinh      Yc        spacing of dots hor-
+                                                          izontally in dots
+                                                          per inch
+
+       dot_vert_spacing              spinv      Yb        spacing of pins ver-
+                                                          tically in pins per
+                                                          inch
+       max_micro_address             maddr      Yd        maximum value in
+                                                          micro_..._address
+       max_micro_jump                mjump      Ye        maximum value in
+                                                          parm_..._micro
+       micro_col_size                mcs        Yf        character step size
+                                                          when in micro mode
+       micro_line_size               mls        Yg        line step size when
+                                                          in micro mode
+       number_of_pins                npins      Yh        numbers of pins in
+                                                          print-head
+       output_res_char               orc        Yi        horizontal resolu-
+                                                          tion in units per
+                                                          line
+       output_res_horz_inch          orhi       Yk        horizontal resolu-
+                                                          tion in units per
+                                                          inch
+       output_res_line               orl        Yj        vertical resolution
+                                                          in units per line
+       output_res_vert_inch          orvi       Yl        vertical resolution
+                                                          in units per inch
+       print_rate                    cps        Ym        print rate in char-
+                                                          acters per second
+       wide_char_size                widcs      Yn        character step size
+                                                          when in double wide
+                                                          mode
 
        These are the string capabilities:
 
 
-               <STRONG>Variable</STRONG>          <STRONG>Cap-</STRONG>   <STRONG>TCap</STRONG>     <STRONG>Description</STRONG>
-                <STRONG>String</STRONG>           <STRONG>name</STRONG>   <STRONG>Code</STRONG>
-       acs_chars                 acsc   ac   graphics charset
-                                             pairs, based on
-                                             vt100
-       back_tab                  cbt    bt   back tab (P)
-       bell                      bel    bl   audible signal
-                                             (bell) (P)
-       carriage_return           cr     cr   carriage return (P*)
-                                             (P*)
-       change_char_pitch         cpi    ZA   Change number of
-                                             characters per inch
-                                             to #1
-       change_line_pitch         lpi    ZB   Change number of
-                                             lines per inch to #1
-
-       change_res_horz           chr    ZC   Change horizontal
-                                             resolution to #1
-
-
-       change_res_vert           cvr    ZD   Change vertical res-
-                                             olution to #1
-       change_scroll_region      csr    cs   change region to
-                                             line #1 to line #2
-                                             (P)
-       char_padding              rmp    rP   like ip but when in
-                                             insert mode
-       clear_all_tabs            tbc    ct   clear all tab stops
-                                             (P)
-       clear_margins             mgc    MC   clear right and left
-                                             soft margins
-       clear_screen              clear  cl   clear screen and
-                                             home cursor (P*)
-       clr_bol                   el1    cb   Clear to beginning
-                                             of line
-       clr_eol                   el     ce   clear to end of line
-                                             (P)
-       clr_eos                   ed     cd   clear to end of
-                                             screen (P*)
-       column_address            hpa    ch   horizontal position
-                                             #1, absolute (P)
-       command_character         cmdch  CC   terminal settable
-                                             cmd character in
-                                             prototype !?
-       create_window             cwin   CW   define a window #1
-                                             from #2,#3 to #4,#5
-       cursor_address            cup    cm   move to row #1 col-
-                                             umns #2
-       cursor_down               cud1   do   down one line
-       cursor_home               home   ho   home cursor (if no
-                                             cup)
-       cursor_invisible          civis  vi   make cursor invisi-
-                                             ble
-       cursor_left               cub1   le   move left one space
-       cursor_mem_address        mrcup  CM   memory relative cur-
-                                             sor addressing, move
-                                             to row #1 columns #2
-       cursor_normal             cnorm  ve   make cursor appear
-                                             normal (undo
-                                             civis/cvvis)
-       cursor_right              cuf1   nd   non-destructive
-                                             space (move right
-                                             one space)
-       cursor_to_ll              ll     ll   last line, first
-                                             column (if no cup)
-       cursor_up                 cuu1   up   up one line
-       cursor_visible            cvvis  vs   make cursor very
-                                             visible
-       define_char               defc   ZE   Define a character
-                                             #1, #2 dots wide,
-                                             descender #3
-       delete_character          dch1   dc   delete character
-                                             (P*)
-       delete_line               dl1    dl   delete line (P*)
-       dial_phone                dial   DI   dial number #1
-       dis_status_line           dsl    ds   disable status line
-       display_clock             dclk   DK   display clock
-       down_half_line            hd     hd   half a line down
-       ena_acs                   enacs  eA   enable alternate
-                                             char set
-       enter_alt_charset_mode    smacs  as   start alternate
-                                             character set (P)
-
-       enter_am_mode             smam   SA   turn on automatic
-                                             margins
-       enter_blink_mode          blink  mb   turn on blinking
-
-
-       enter_bold_mode           bold   md   turn on bold (extra
-                                             bright) mode
-       enter_ca_mode             smcup  ti   string to start pro-
-                                             grams using cup
-       enter_delete_mode         smdc   dm   enter delete mode
-       enter_dim_mode            dim    mh   turn on half-bright
-                                             mode
-       enter_doublewide_mode     swidm  ZF   Enter double-wide
-                                             mode
-       enter_draft_quality       sdrfq  ZG   Enter draft-quality
-                                             mode
-       enter_insert_mode         smir   im   enter insert mode
-       enter_italics_mode        sitm   ZH   Enter italic mode
-       enter_leftward_mode       slm    ZI   Start leftward car-
-                                             riage motion
-       enter_micro_mode          smicm  ZJ   Start micro-motion
-                                             mode
-       enter_near_letter_quality snlq   ZK   Enter NLQ mode
-       enter_normal_quality      snrmq  ZL   Enter normal-quality
-                                             mode
-       enter_protected_mode      prot   mp   turn on protected
-                                             mode
-       enter_reverse_mode        rev    mr   turn on reverse
-                                             video mode
-       enter_secure_mode         invis  mk   turn on blank mode
-                                             (characters invisi-
-                                             ble)
-       enter_shadow_mode         sshm   ZM   Enter shadow-print
-                                             mode
-       enter_standout_mode       smso   so   begin standout mode
-       enter_subscript_mode      ssubm  ZN   Enter subscript mode
-       enter_superscript_mode    ssupm  ZO   Enter superscript
-                                             mode
-       enter_underline_mode      smul   us   begin underline mode
-       enter_upward_mode         sum    ZP   Start upward car-
-                                             riage motion
-       enter_xon_mode            smxon  SX   turn on xon/xoff
-                                             handshaking
-       erase_chars               ech    ec   erase #1 characters
-                                             (P)
-       exit_alt_charset_mode     rmacs  ae   end alternate char-
-                                             acter set (P)
-       exit_am_mode              rmam   RA   turn off automatic
-                                             margins
-       exit_attribute_mode       sgr0   me   turn off all
-                                             attributes
-       exit_ca_mode              rmcup  te   strings to end pro-
-                                             grams using cup
-       exit_delete_mode          rmdc   ed   end delete mode
-       exit_doublewide_mode      rwidm  ZQ   End double-wide mode
-       exit_insert_mode          rmir   ei   exit insert mode
-       exit_italics_mode         ritm   ZR   End italic mode
-       exit_leftward_mode        rlm    ZS   End left-motion mode
-       exit_micro_mode           rmicm  ZT   End micro-motion
-                                             mode
-       exit_shadow_mode          rshm   ZU   End shadow-print
-                                             mode
-       exit_standout_mode        rmso   se   exit standout mode
-       exit_subscript_mode       rsubm  ZV   End subscript mode
-       exit_superscript_mode     rsupm  ZW   End superscript mode
-       exit_underline_mode       rmul   ue   exit underline mode
-       exit_upward_mode          rum    ZX   End reverse charac-
-                                             ter motion
-       exit_xon_mode             rmxon  RX   turn off xon/xoff
-                                             handshaking
-
-
-       fixed_pause               pause  PA   pause for 2-3 sec-
-                                             onds
-       flash_hook                hook   fh   flash switch hook
-       flash_screen              flash  vb   visible bell (may
-                                             not move cursor)
-       form_feed                 ff     ff   hardcopy terminal
-                                             page eject (P*)
-       from_status_line          fsl    fs   return from status
-                                             line
-       goto_window               wingo  WG   go to window #1
-       hangup                    hup    HU   hang-up phone
-       init_1string              is1    i1   initialization
-                                             string
-       init_2string              is2    is   initialization
-                                             string
-       init_3string              is3    i3   initialization
-                                             string
-       init_file                 if     if   name of initializa-
-                                             tion file
-       init_prog                 iprog  iP   path name of program
-                                             for initialization
-       initialize_color          initc  Ic   initialize color #1
-                                             to (#2,#3,#4)
-       initialize_pair           initp  Ip   Initialize color
-                                             pair #1 to
-                                             fg=(#2,#3,#4),
-                                             bg=(#5,#6,#7)
-       insert_character          ich1   ic   insert character (P)
-       insert_line               il1    al   insert line (P*)
-       insert_padding            ip     ip   insert padding after
-                                             inserted character
-       key_a1                    ka1    K1   upper left of keypad
-       key_a3                    ka3    K3   upper right of key-
-                                             pad
-       key_b2                    kb2    K2   center of keypad
-       key_backspace             kbs    kb   backspace key
-       key_beg                   kbeg   @1   begin key
-       key_btab                  kcbt   kB   back-tab key
-       key_c1                    kc1    K4   lower left of keypad
-       key_c3                    kc3    K5   lower right of key-
-                                             pad
-       key_cancel                kcan   @2   cancel key
-       key_catab                 ktbc   ka   clear-all-tabs key
-       key_clear                 kclr   kC   clear-screen or
-                                             erase key
-       key_close                 kclo   @3   close key
-       key_command               kcmd   @4   command key
-       key_copy                  kcpy   @5   copy key
-       key_create                kcrt   @6   create key
-       key_ctab                  kctab  kt   clear-tab key
-       key_dc                    kdch1  kD   delete-character key
-       key_dl                    kdl1   kL   delete-line key
-       key_down                  kcud1  kd   down-arrow key
-       key_eic                   krmir  kM   sent by rmir or smir
-                                             in insert mode
-       key_end                   kend   @7   end key
-       key_enter                 kent   @8   enter/send key
-       key_eol                   kel    kE   clear-to-end-of-line
-                                             key
-       key_eos                   ked    kS   clear-to-end-of-
-                                             screen key
-       key_exit                  kext   @9   exit key
-       key_f0                    kf0    k0   F0 function key
-       key_f1                    kf1    k1   F1 function key
-       key_f10                   kf10   k;   F10 function key
-       key_f11                   kf11   F1   F11 function key
-
-       key_f12                   kf12   F2   F12 function key
-       key_f13                   kf13   F3   F13 function key
-       key_f14                   kf14   F4   F14 function key
-       key_f15                   kf15   F5   F15 function key
-       key_f16                   kf16   F6   F16 function key
-       key_f17                   kf17   F7   F17 function key
-       key_f18                   kf18   F8   F18 function key
-       key_f19                   kf19   F9   F19 function key
-       key_f2                    kf2    k2   F2 function key
-       key_f20                   kf20   FA   F20 function key
-       key_f21                   kf21   FB   F21 function key
-       key_f22                   kf22   FC   F22 function key
-       key_f23                   kf23   FD   F23 function key
-       key_f24                   kf24   FE   F24 function key
-       key_f25                   kf25   FF   F25 function key
-       key_f26                   kf26   FG   F26 function key
-       key_f27                   kf27   FH   F27 function key
-       key_f28                   kf28   FI   F28 function key
-       key_f29                   kf29   FJ   F29 function key
-       key_f3                    kf3    k3   F3 function key
-       key_f30                   kf30   FK   F30 function key
-       key_f31                   kf31   FL   F31 function key
-       key_f32                   kf32   FM   F32 function key
-       key_f33                   kf33   FN   F33 function key
-       key_f34                   kf34   FO   F34 function key
-       key_f35                   kf35   FP   F35 function key
-       key_f36                   kf36   FQ   F36 function key
-       key_f37                   kf37   FR   F37 function key
-       key_f38                   kf38   FS   F38 function key
-       key_f39                   kf39   FT   F39 function key
-       key_f4                    kf4    k4   F4 function key
-       key_f40                   kf40   FU   F40 function key
-       key_f41                   kf41   FV   F41 function key
-       key_f42                   kf42   FW   F42 function key
-       key_f43                   kf43   FX   F43 function key
-       key_f44                   kf44   FY   F44 function key
-       key_f45                   kf45   FZ   F45 function key
-       key_f46                   kf46   Fa   F46 function key
-       key_f47                   kf47   Fb   F47 function key
-       key_f48                   kf48   Fc   F48 function key
-       key_f49                   kf49   Fd   F49 function key
-       key_f5                    kf5    k5   F5 function key
-       key_f50                   kf50   Fe   F50 function key
-       key_f51                   kf51   Ff   F51 function key
-       key_f52                   kf52   Fg   F52 function key
-       key_f53                   kf53   Fh   F53 function key
-       key_f54                   kf54   Fi   F54 function key
-       key_f55                   kf55   Fj   F55 function key
-       key_f56                   kf56   Fk   F56 function key
-       key_f57                   kf57   Fl   F57 function key
-       key_f58                   kf58   Fm   F58 function key
-       key_f59                   kf59   Fn   F59 function key
-       key_f6                    kf6    k6   F6 function key
-       key_f60                   kf60   Fo   F60 function key
-       key_f61                   kf61   Fp   F61 function key
-       key_f62                   kf62   Fq   F62 function key
-       key_f63                   kf63   Fr   F63 function key
-       key_f7                    kf7    k7   F7 function key
-       key_f8                    kf8    k8   F8 function key
-       key_f9                    kf9    k9   F9 function key
-       key_find                  kfnd   @0   find key
-       key_help                  khlp   %1   help key
-       key_home                  khome  kh   home key
-       key_ic                    kich1  kI   insert-character key
-       key_il                    kil1   kA   insert-line key
-       key_left                  kcub1  kl   left-arrow key
-
-       key_ll                    kll    kH   lower-left key (home
-                                             down)
-       key_mark                  kmrk   %2   mark key
-       key_message               kmsg   %3   message key
-       key_move                  kmov   %4   move key
-       key_next                  knxt   %5   next key
-       key_npage                 knp    kN   next-page key
-       key_open                  kopn   %6   open key
-       key_options               kopt   %7   options key
-       key_ppage                 kpp    kP   previous-page key
-       key_previous              kprv   %8   previous key
-       key_print                 kprt   %9   print key
-       key_redo                  krdo   %0   redo key
-       key_reference             kref   &amp;1   reference key
-       key_refresh               krfr   &amp;2   refresh key
-       key_replace               krpl   &amp;3   replace key
-       key_restart               krst   &amp;4   restart key
-       key_resume                kres   &amp;5   resume key
-       key_right                 kcuf1  kr   right-arrow key
-       key_save                  ksav   &amp;6   save key
-       key_sbeg                  kBEG   &amp;9   shifted begin key
-       key_scancel               kCAN   &amp;0   shifted cancel key
-       key_scommand              kCMD   *1   shifted command key
-       key_scopy                 kCPY   *2   shifted copy key
-       key_screate               kCRT   *3   shifted create key
-       key_sdc                   kDC    *4   shifted delete-char-
-                                             acter key
-       key_sdl                   kDL    *5   shifted delete-line
-                                             key
-       key_select                kslt   *6   select key
-       key_send                  kEND   *7   shifted end key
-       key_seol                  kEOL   *8   shifted clear-to-
-                                             end-of-line key
-       key_sexit                 kEXT   *9   shifted exit key
-       key_sf                    kind   kF   scroll-forward key
-       key_sfind                 kFND   *0   shifted find key
-       key_shelp                 kHLP   #1   shifted help key
-       key_shome                 kHOM   #2   shifted home key
-       key_sic                   kIC    #3   shifted insert-char-
-                                             acter key
-       key_sleft                 kLFT   #4   shifted left-arrow
-                                             key
-       key_smessage              kMSG   %a   shifted message key
-       key_smove                 kMOV   %b   shifted move key
-       key_snext                 kNXT   %c   shifted next key
-       key_soptions              kOPT   %d   shifted options key
-       key_sprevious             kPRV   %e   shifted previous key
-       key_sprint                kPRT   %f   shifted print key
-       key_sr                    kri    kR   scroll-backward key
-       key_sredo                 kRDO   %g   shifted redo key
-       key_sreplace              kRPL   %h   shifted replace key
-       key_sright                kRIT   %i   shifted right-arrow
-                                             key
-       key_srsume                kRES   %j   shifted resume key
-       key_ssave                 kSAV   !1   shifted save key
-       key_ssuspend              kSPD   !2   shifted suspend key
-       key_stab                  khts   kT   set-tab key
-       key_sundo                 kUND   !3   shifted undo key
-       key_suspend               kspd   &amp;7   suspend key
-       key_undo                  kund   &amp;8   undo key
-       key_up                    kcuu1  ku   up-arrow key
-       keypad_local              rmkx   ke   leave 'key-
-                                             board_transmit' mode
-       keypad_xmit               smkx   ks   enter 'key-
-                                             board_transmit' mode
-
-
-       lab_f0                    lf0    l0   label on function
-                                             key f0 if not f0
-       lab_f1                    lf1    l1   label on function
-                                             key f1 if not f1
-       lab_f10                   lf10   la   label on function
-                                             key f10 if not f10
-       lab_f2                    lf2    l2   label on function
-                                             key f2 if not f2
-       lab_f3                    lf3    l3   label on function
-                                             key f3 if not f3
-       lab_f4                    lf4    l4   label on function
-                                             key f4 if not f4
-       lab_f5                    lf5    l5   label on function
-                                             key f5 if not f5
-       lab_f6                    lf6    l6   label on function
-                                             key f6 if not f6
-       lab_f7                    lf7    l7   label on function
-                                             key f7 if not f7
-       lab_f8                    lf8    l8   label on function
-                                             key f8 if not f8
-       lab_f9                    lf9    l9   label on function
-                                             key f9 if not f9
-       label_format              fln    Lf   label format
-       label_off                 rmln   LF   turn off soft labels
-       label_on                  smln   LO   turn on soft labels
-       meta_off                  rmm    mo   turn off meta mode
-       meta_on                   smm    mm   turn on meta mode
-                                             (8th-bit on)
-       micro_column_address      mhpa   ZY   Like column_address
-                                             in micro mode
-       micro_down                mcud1  ZZ   Like cursor_down in
-                                             micro mode
-       micro_left                mcub1  Za   Like cursor_left in
-                                             micro mode
-       micro_right               mcuf1  Zb   Like cursor_right in
-                                             micro mode
-       micro_row_address         mvpa   Zc   Like row_address #1
-                                             in micro mode
-       micro_up                  mcuu1  Zd   Like cursor_up in
-                                             micro mode
-       newline                   nel    nw   newline (behave like
-                                             cr followed by lf)
-       order_of_pins             porder Ze   Match software bits
-                                             to print-head pins
-       orig_colors               oc     oc   Set all color pairs
-                                             to the original ones
-       orig_pair                 op     op   Set default pair to
-                                             its original value
-       pad_char                  pad    pc   padding char
-                                             (instead of null)
-       parm_dch                  dch    DC   delete #1 characters
-                                             (P*)
-       parm_delete_line          dl     DL   delete #1 lines (P*)
-       parm_down_cursor          cud    DO   down #1 lines (P*)
-       parm_down_micro           mcud   Zf   Like parm_down_cur-
-                                             sor in micro mode
-       parm_ich                  ich    IC   insert #1 characters
-                                             (P*)
-       parm_index                indn   SF   scroll forward #1
-                                             lines (P)
-       parm_insert_line          il     AL   insert #1 lines (P*)
-       parm_left_cursor          cub    LE   move #1 characters
-                                             to the left (P)
-       parm_left_micro           mcub   Zg   Like parm_left_cur-
-                                             sor in micro mode
-
-
-       parm_right_cursor         cuf    RI   move #1 characters
-                                             to the right (P*)
-       parm_right_micro          mcuf   Zh   Like parm_right_cur-
-                                             sor in micro mode
-       parm_rindex               rin    SR   scroll back #1 lines
-                                             (P)
-       parm_up_cursor            cuu    UP   up #1 lines (P*)
-       parm_up_micro             mcuu   Zi   Like parm_up_cursor
-                                             in micro mode
-       pkey_key                  pfkey  pk   program function key
-                                             #1 to type string #2
-       pkey_local                pfloc  pl   program function key
-                                             #1 to execute string
-                                             #2
-       pkey_xmit                 pfx    px   program function key
-                                             #1 to transmit
-                                             string #2
-       plab_norm                 pln    pn   program label #1 to
-                                             show string #2
-       print_screen              mc0    ps   print contents of
-                                             screen
-       prtr_non                  mc5p   pO   turn on printer for
-                                             #1 bytes
-       prtr_off                  mc4    pf   turn off printer
-       prtr_on                   mc5    po   turn on printer
-       pulse                     pulse  PU   select pulse dialing
-       quick_dial                qdial  QD   dial number #1 with-
-                                             out checking
-       remove_clock              rmclk  RC   remove clock
-       repeat_char               rep    rp   repeat char #1 #2
-                                             times (P*)
-       req_for_input             rfi    RF   send next input char
-                                             (for ptys)
-       reset_1string             rs1    r1   reset string
-       reset_2string             rs2    r2   reset string
-       reset_3string             rs3    r3   reset string
-       reset_file                rf     rf   name of reset file
-       restore_cursor            rc     rc   restore cursor to
-                                             position of last
-                                             save_cursor
-       row_address               vpa    cv   vertical position #1
-                                             absolute (P)
-       save_cursor               sc     sc   save current cursor
-                                             position (P)
-       scroll_forward            ind    sf   scroll text up (P)
-       scroll_reverse            ri     sr   scroll text down (P)
-       select_char_set           scs    Zj   Select character
-                                             set, #1
-       set_attributes            sgr    sa   define video
-                                             attributes #1-#9
-                                             (PG9)
-       set_background            setb   Sb   Set background color
-                                             #1
-       set_bottom_margin         smgb   Zk   Set bottom margin at
-                                             current line
-       set_bottom_margin_parm    smgbp  Zl   Set bottom margin at
-                                             line #1 or (if smgtp
-                                             is not given) #2
-                                             lines from bottom
-       set_clock                 sclk   SC   set clock, #1 hrs #2
-                                             mins #3 secs
-       set_color_pair            scp    sp   Set current color
-                                             pair to #1
-       set_foreground            setf   Sf   Set foreground color
-                                             #1
-
-
-       set_left_margin           smgl   ML   set left soft margin
-                                             at current column.
-                                             See smgl. (ML is not
-                                             in BSD termcap).
-       set_left_margin_parm      smglp  Zm   Set left (right)
-                                             margin at column #1
-       set_right_margin          smgr   MR   set right soft mar-
-                                             gin at current col-
-                                             umn
-       set_right_margin_parm     smgrp  Zn   Set right margin at
-                                             column #1
-       set_tab                   hts    st   set a tab in every
-                                             row, current columns
-       set_top_margin            smgt   Zo   Set top margin at
-                                             current line
-       set_top_margin_parm       smgtp  Zp   Set top (bottom)
-                                             margin at row #1
-       set_window                wind   wi   current window is
-                                             lines #1-#2 cols
-                                             #3-#4
-       start_bit_image           sbim   Zq   Start printing bit
-                                             image graphics
-       start_char_set_def        scsd   Zr   Start character set
-                                             definition #1, with
-                                             #2 characters in the
-                                             set
-       stop_bit_image            rbim   Zs   Stop printing bit
-                                             image graphics
-       stop_char_set_def         rcsd   Zt   End definition of
-                                             character set #1
-       subscript_characters      subcs  Zu   List of subscript-
-                                             able characters
-       superscript_characters    supcs  Zv   List of superscript-
-                                             able characters
-       tab                       ht     ta   tab to next 8-space
-                                             hardware tab stop
-       these_cause_cr            docr   Zw   Printing any of
-                                             these characters
-                                             causes CR
-       to_status_line            tsl    ts   move to status line,
-                                             column #1
-       tone                      tone   TO   select touch tone
-                                             dialing
-       underline_char            uc     uc   underline char and
-                                             move past it
-       up_half_line              hu     hu   half a line up
-       user0                     u0     u0   User string #0
-       user1                     u1     u1   User string #1
-       user2                     u2     u2   User string #2
-       user3                     u3     u3   User string #3
-       user4                     u4     u4   User string #4
-       user5                     u5     u5   User string #5
-       user6                     u6     u6   User string #6
-       user7                     u7     u7   User string #7
-       user8                     u8     u8   User string #8
-       user9                     u9     u9   User string #9
-       wait_tone                 wait   WA   wait for dial-tone
-       xoff_character            xoffc  XF   XOFF character
-       xon_character             xonc   XN   XON character
-       zero_motion               zerom  Zx   No motion for subse-
-                                             quent character
-
-       The  following  string  capabilities  are  present  in the
-       SVr4.0 term structure, but were originally not  documented
-       in the man page.
-
-
-               <STRONG>Variable</STRONG>          <STRONG>Cap-</STRONG>     <STRONG>TCap</STRONG>    <STRONG>Description</STRONG>
-                <STRONG>String</STRONG>           <STRONG>name</STRONG>     <STRONG>Code</STRONG>
-       alt_scancode_esc          scesa    S8   Alternate escape
-                                               for scancode emu-
-                                               lation
-       bit_image_carriage_return bicr     Yv   Move to beginning
-                                               of same row
-       bit_image_newline         binel    Zz   Move to next row
-                                               of the bit image
-       bit_image_repeat          birep    Xy   Repeat bit image
-                                               cell #1 #2 times
-       char_set_names            csnm     Zy   Produce #1'th item
-                                               from list of char-
-                                               acter set names
-       code_set_init             csin     ci   Init sequence for
-                                               multiple codesets
-       color_names               colornm  Yw   Give name for
-                                               color #1
-       define_bit_image_region   defbi    Yx   Define rectangular
-                                               bit image region
-       device_type               devt     dv   Indicate lan-
-                                               guage/codeset sup-
-                                               port
-       display_pc_char           dispc    S1   Display PC charac-
-                                               ter #1
-       end_bit_image_region      endbi    Yy   End a bit-image
-                                               region
-       enter_pc_charset_mode     smpch    S2   Enter PC character
-                                               display mode
-       enter_scancode_mode       smsc     S4   Enter PC scancode
-                                               mode
-       exit_pc_charset_mode      rmpch    S3   Exit PC character
-                                               display mode
-       exit_scancode_mode        rmsc     S5   Exit PC scancode
-                                               mode
-       get_mouse                 getm     Gm   Curses should get
-                                               button events,
-                                               parameter #1 not
-                                               documented.
-       key_mouse                 kmous    Km   Mouse event has
-                                               occurred
-       mouse_info                minfo    Mi   Mouse status
-                                               information
-       pc_term_options           pctrm    S6   PC terminal
-                                               options
-       pkey_plab                 pfxl     xl   Program function
-                                               key #1 to type
-                                               string #2 and show
-                                               string #3
-       req_mouse_pos             reqmp    RQ   Request mouse
-                                               position
-       scancode_escape           scesc    S7   Escape for scan-
-                                               code emulation
-       set0_des_seq              s0ds     s0   Shift to codeset 0
-                                               (EUC set 0, ASCII)
-       set1_des_seq              s1ds     s1   Shift to codeset 1
-       set2_des_seq              s2ds     s2   Shift to codeset 2
-       set3_des_seq              s3ds     s3   Shift to codeset 3
-       set_a_background          setab    AB   Set background
-                                               color to #1, using
-                                               ANSI escape
-       set_a_foreground          setaf    AF   Set foreground
-                                               color to #1, using
-                                               ANSI escape
-       set_color_band            setcolor Yz   Change to ribbon
-                                               color #1
-
-       set_lr_margin             smglr    ML   Set both left and
-                                               right margins to
-                                               #1, #2.  (ML is
-                                               not in BSD term-
-                                               cap).
-       set_page_length           slines   YZ   Set page length to
-                                               #1 lines
-       set_tb_margin             smgtb    MT   Sets both top and
-                                               bottom margins to
-                                               #1, #2
-
-        The  XSI  Curses  standard added these hardcopy capabili-
-        ties.  They were used in some post-4.1 versions of System
-        V curses, e.g., Solaris 2.5 and IRIX 6.x.  Except for <STRONG>YI</STRONG>,
-        the <STRONG>ncurses</STRONG> termcap names for them are invented.  Accord-
-        ing  to  the  XSI  Curses  standard, they have no termcap
-        names.  If your compiled terminfo entries use these, they
-        may  not  be  binary-compatible  with  System  V terminfo
-        entries after SVr4.1; beware!
-
-
-                <STRONG>Variable</STRONG>         <STRONG>Cap-</STRONG>   <STRONG>TCap</STRONG>     <STRONG>Description</STRONG>
-                 <STRONG>String</STRONG>          <STRONG>name</STRONG>   <STRONG>Code</STRONG>
-        enter_horizontal_hl_mode ehhlm  Xh   Enter horizontal
-                                             highlight mode
-        enter_left_hl_mode       elhlm  Xl   Enter left highlight
-                                             mode
-        enter_low_hl_mode        elohlm Xo   Enter low highlight
-                                             mode
-        enter_right_hl_mode      erhlm  Xr   Enter right high-
-                                             light mode
-        enter_top_hl_mode        ethlm  Xt   Enter top highlight
-                                             mode
-        enter_vertical_hl_mode   evhlm  Xv   Enter vertical high-
-                                             light mode
-        set_a_attributes         sgr1   sA   Define second set of
-                                             video attributes
-                                             #1-#6
-        set_pglen_inch           slengthYI   Set page length to
-                                             #1 hundredth of an
-                                             inch (some implemen-
-                                             tations use sL for
-                                             termcap).
+               <STRONG>Variable</STRONG>              <STRONG>Cap-</STRONG>       <STRONG>TCap</STRONG>          <STRONG>Description</STRONG>
+                <STRONG>String</STRONG>               <STRONG>name</STRONG>       <STRONG>Code</STRONG>
+       acs_chars                     acsc       ac        graphics charset
+                                                          pairs, based on
+                                                          vt100
+       back_tab                      cbt        bt        back tab (P)
+       bell                          bel        bl        audible signal
+                                                          (bell) (P)
+       carriage_return               cr         cr        carriage return (P*)
+                                                          (P*)
+       change_char_pitch             cpi        ZA        Change number of
+                                                          characters per inch
+                                                          to #1
+       change_line_pitch             lpi        ZB        Change number of
+                                                          lines per inch to #1
+       change_res_horz               chr        ZC        Change horizontal
+                                                          resolution to #1
+       change_res_vert               cvr        ZD        Change vertical res-
+                                                          olution to #1
+       change_scroll_region          csr        cs        change region to
+                                                          line #1 to line #2
+                                                          (P)
+       char_padding                  rmp        rP        like ip but when in
+                                                          insert mode
+       clear_all_tabs                tbc        ct        clear all tab stops
+                                                          (P)
+       clear_margins                 mgc        MC        clear right and left
+                                                          soft margins
+       clear_screen                  clear      cl        clear screen and
+                                                          home cursor (P*)
+       clr_bol                       el1        cb        Clear to beginning
+                                                          of line
+
+
+       clr_eol                       el         ce        clear to end of line
+                                                          (P)
+       clr_eos                       ed         cd        clear to end of
+                                                          screen (P*)
+       column_address                hpa        ch        horizontal position
+                                                          #1, absolute (P)
+       command_character             cmdch      CC        terminal settable
+                                                          cmd character in
+                                                          prototype !?
+       create_window                 cwin       CW        define a window #1
+                                                          from #2,#3 to #4,#5
+       cursor_address                cup        cm        move to row #1 col-
+                                                          umns #2
+       cursor_down                   cud1       do        down one line
+       cursor_home                   home       ho        home cursor (if no
+                                                          cup)
+       cursor_invisible              civis      vi        make cursor invisi-
+                                                          ble
+       cursor_left                   cub1       le        move left one space
+       cursor_mem_address            mrcup      CM        memory relative cur-
+                                                          sor addressing, move
+                                                          to row #1 columns #2
+       cursor_normal                 cnorm      ve        make cursor appear
+                                                          normal (undo
+                                                          civis/cvvis)
+       cursor_right                  cuf1       nd        non-destructive
+                                                          space (move right
+                                                          one space)
+       cursor_to_ll                  ll         ll        last line, first
+                                                          column (if no cup)
+       cursor_up                     cuu1       up        up one line
+       cursor_visible                cvvis      vs        make cursor very
+                                                          visible
+       define_char                   defc       ZE        Define a character
+                                                          #1, #2 dots wide,
+                                                          descender #3
+       delete_character              dch1       dc        delete character
+                                                          (P*)
+       delete_line                   dl1        dl        delete line (P*)
+       dial_phone                    dial       DI        dial number #1
+       dis_status_line               dsl        ds        disable status line
+       display_clock                 dclk       DK        display clock
+       down_half_line                hd         hd        half a line down
+       ena_acs                       enacs      eA        enable alternate
+                                                          char set
+       enter_alt_charset_mode        smacs      as        start alternate
+                                                          character set (P)
+       enter_am_mode                 smam       SA        turn on automatic
+                                                          margins
+       enter_blink_mode              blink      mb        turn on blinking
+       enter_bold_mode               bold       md        turn on bold (extra
+                                                          bright) mode
+       enter_ca_mode                 smcup      ti        string to start pro-
+                                                          grams using cup
+       enter_delete_mode             smdc       dm        enter delete mode
+       enter_dim_mode                dim        mh        turn on half-bright
+                                                          mode
+       enter_doublewide_mode         swidm      ZF        Enter double-wide
+                                                          mode
+       enter_draft_quality           sdrfq      ZG        Enter draft-quality
+                                                          mode
+       enter_insert_mode             smir       im        enter insert mode
+       enter_italics_mode            sitm       ZH        Enter italic mode
+       enter_leftward_mode           slm        ZI        Start leftward car-
+                                                          riage motion
+
+       enter_micro_mode              smicm      ZJ        Start micro-motion
+                                                          mode
+       enter_near_letter_quality     snlq       ZK        Enter NLQ mode
+       enter_normal_quality          snrmq      ZL        Enter normal-quality
+                                                          mode
+       enter_protected_mode          prot       mp        turn on protected
+                                                          mode
+       enter_reverse_mode            rev        mr        turn on reverse
+                                                          video mode
+       enter_secure_mode             invis      mk        turn on blank mode
+                                                          (characters invisi-
+                                                          ble)
+       enter_shadow_mode             sshm       ZM        Enter shadow-print
+                                                          mode
+       enter_standout_mode           smso       so        begin standout mode
+       enter_subscript_mode          ssubm      ZN        Enter subscript mode
+       enter_superscript_mode        ssupm      ZO        Enter superscript
+                                                          mode
+       enter_underline_mode          smul       us        begin underline mode
+       enter_upward_mode             sum        ZP        Start upward car-
+                                                          riage motion
+       enter_xon_mode                smxon      SX        turn on xon/xoff
+                                                          handshaking
+       erase_chars                   ech        ec        erase #1 characters
+                                                          (P)
+       exit_alt_charset_mode         rmacs      ae        end alternate char-
+                                                          acter set (P)
+       exit_am_mode                  rmam       RA        turn off automatic
+                                                          margins
+       exit_attribute_mode           sgr0       me        turn off all
+                                                          attributes
+       exit_ca_mode                  rmcup      te        strings to end pro-
+                                                          grams using cup
+       exit_delete_mode              rmdc       ed        end delete mode
+       exit_doublewide_mode          rwidm      ZQ        End double-wide mode
+       exit_insert_mode              rmir       ei        exit insert mode
+       exit_italics_mode             ritm       ZR        End italic mode
+       exit_leftward_mode            rlm        ZS        End left-motion mode
+       exit_micro_mode               rmicm      ZT        End micro-motion
+                                                          mode
+       exit_shadow_mode              rshm       ZU        End shadow-print
+                                                          mode
+       exit_standout_mode            rmso       se        exit standout mode
+       exit_subscript_mode           rsubm      ZV        End subscript mode
+       exit_superscript_mode         rsupm      ZW        End superscript mode
+       exit_underline_mode           rmul       ue        exit underline mode
+       exit_upward_mode              rum        ZX        End reverse charac-
+                                                          ter motion
+       exit_xon_mode                 rmxon      RX        turn off xon/xoff
+                                                          handshaking
+       fixed_pause                   pause      PA        pause for 2-3 sec-
+                                                          onds
+       flash_hook                    hook       fh        flash switch hook
+       flash_screen                  flash      vb        visible bell (may
+                                                          not move cursor)
+       form_feed                     ff         ff        hardcopy terminal
+                                                          page eject (P*)
+       from_status_line              fsl        fs        return from status
+                                                          line
+       goto_window                   wingo      WG        go to window #1
+       hangup                        hup        HU        hang-up phone
+       init_1string                  is1        i1        initialization
+                                                          string
+       init_2string                  is2        is        initialization
+                                                          string
+
+       init_3string                  is3        i3        initialization
+                                                          string
+       init_file                     if         if        name of initializa-
+                                                          tion file
+       init_prog                     iprog      iP        path name of program
+                                                          for initialization
+       initialize_color              initc      Ic        initialize color #1
+                                                          to (#2,#3,#4)
+       initialize_pair               initp      Ip        Initialize color
+                                                          pair #1 to
+                                                          fg=(#2,#3,#4),
+                                                          bg=(#5,#6,#7)
+       insert_character              ich1       ic        insert character (P)
+       insert_line                   il1        al        insert line (P*)
+       insert_padding                ip         ip        insert padding after
+                                                          inserted character
+       key_a1                        ka1        K1        upper left of keypad
+       key_a3                        ka3        K3        upper right of key-
+                                                          pad
+       key_b2                        kb2        K2        center of keypad
+       key_backspace                 kbs        kb        backspace key
+       key_beg                       kbeg       @1        begin key
+       key_btab                      kcbt       kB        back-tab key
+       key_c1                        kc1        K4        lower left of keypad
+       key_c3                        kc3        K5        lower right of key-
+                                                          pad
+       key_cancel                    kcan       @2        cancel key
+       key_catab                     ktbc       ka        clear-all-tabs key
+       key_clear                     kclr       kC        clear-screen or
+                                                          erase key
+       key_close                     kclo       @3        close key
+       key_command                   kcmd       @4        command key
+       key_copy                      kcpy       @5        copy key
+       key_create                    kcrt       @6        create key
+       key_ctab                      kctab      kt        clear-tab key
+       key_dc                        kdch1      kD        delete-character key
+       key_dl                        kdl1       kL        delete-line key
+       key_down                      kcud1      kd        down-arrow key
+       key_eic                       krmir      kM        sent by rmir or smir
+                                                          in insert mode
+       key_end                       kend       @7        end key
+       key_enter                     kent       @8        enter/send key
+       key_eol                       kel        kE        clear-to-end-of-line
+                                                          key
+       key_eos                       ked        kS        clear-to-end-of-
+                                                          screen key
+       key_exit                      kext       @9        exit key
+       key_f0                        kf0        k0        F0 function key
+       key_f1                        kf1        k1        F1 function key
+       key_f10                       kf10       k;        F10 function key
+       key_f11                       kf11       F1        F11 function key
+       key_f12                       kf12       F2        F12 function key
+       key_f13                       kf13       F3        F13 function key
+       key_f14                       kf14       F4        F14 function key
+       key_f15                       kf15       F5        F15 function key
+       key_f16                       kf16       F6        F16 function key
+       key_f17                       kf17       F7        F17 function key
+       key_f18                       kf18       F8        F18 function key
+       key_f19                       kf19       F9        F19 function key
+       key_f2                        kf2        k2        F2 function key
+       key_f20                       kf20       FA        F20 function key
+       key_f21                       kf21       FB        F21 function key
+       key_f22                       kf22       FC        F22 function key
+       key_f23                       kf23       FD        F23 function key
+       key_f24                       kf24       FE        F24 function key
+
+       key_f25                       kf25       FF        F25 function key
+       key_f26                       kf26       FG        F26 function key
+       key_f27                       kf27       FH        F27 function key
+       key_f28                       kf28       FI        F28 function key
+       key_f29                       kf29       FJ        F29 function key
+       key_f3                        kf3        k3        F3 function key
+       key_f30                       kf30       FK        F30 function key
+       key_f31                       kf31       FL        F31 function key
+       key_f32                       kf32       FM        F32 function key
+       key_f33                       kf33       FN        F33 function key
+       key_f34                       kf34       FO        F34 function key
+       key_f35                       kf35       FP        F35 function key
+       key_f36                       kf36       FQ        F36 function key
+       key_f37                       kf37       FR        F37 function key
+       key_f38                       kf38       FS        F38 function key
+       key_f39                       kf39       FT        F39 function key
+       key_f4                        kf4        k4        F4 function key
+       key_f40                       kf40       FU        F40 function key
+       key_f41                       kf41       FV        F41 function key
+       key_f42                       kf42       FW        F42 function key
+       key_f43                       kf43       FX        F43 function key
+       key_f44                       kf44       FY        F44 function key
+       key_f45                       kf45       FZ        F45 function key
+       key_f46                       kf46       Fa        F46 function key
+       key_f47                       kf47       Fb        F47 function key
+       key_f48                       kf48       Fc        F48 function key
+       key_f49                       kf49       Fd        F49 function key
+       key_f5                        kf5        k5        F5 function key
+       key_f50                       kf50       Fe        F50 function key
+       key_f51                       kf51       Ff        F51 function key
+       key_f52                       kf52       Fg        F52 function key
+       key_f53                       kf53       Fh        F53 function key
+       key_f54                       kf54       Fi        F54 function key
+       key_f55                       kf55       Fj        F55 function key
+       key_f56                       kf56       Fk        F56 function key
+       key_f57                       kf57       Fl        F57 function key
+       key_f58                       kf58       Fm        F58 function key
+       key_f59                       kf59       Fn        F59 function key
+       key_f6                        kf6        k6        F6 function key
+       key_f60                       kf60       Fo        F60 function key
+       key_f61                       kf61       Fp        F61 function key
+       key_f62                       kf62       Fq        F62 function key
+       key_f63                       kf63       Fr        F63 function key
+       key_f7                        kf7        k7        F7 function key
+       key_f8                        kf8        k8        F8 function key
+       key_f9                        kf9        k9        F9 function key
+       key_find                      kfnd       @0        find key
+       key_help                      khlp       %1        help key
+       key_home                      khome      kh        home key
+       key_ic                        kich1      kI        insert-character key
+       key_il                        kil1       kA        insert-line key
+       key_left                      kcub1      kl        left-arrow key
+       key_ll                        kll        kH        lower-left key (home
+                                                          down)
+       key_mark                      kmrk       %2        mark key
+       key_message                   kmsg       %3        message key
+       key_move                      kmov       %4        move key
+       key_next                      knxt       %5        next key
+       key_npage                     knp        kN        next-page key
+       key_open                      kopn       %6        open key
+       key_options                   kopt       %7        options key
+       key_ppage                     kpp        kP        previous-page key
+       key_previous                  kprv       %8        previous key
+       key_print                     kprt       %9        print key
+       key_redo                      krdo       %0        redo key
+
+       key_reference                 kref       &amp;1        reference key
+       key_refresh                   krfr       &amp;2        refresh key
+       key_replace                   krpl       &amp;3        replace key
+       key_restart                   krst       &amp;4        restart key
+       key_resume                    kres       &amp;5        resume key
+       key_right                     kcuf1      kr        right-arrow key
+       key_save                      ksav       &amp;6        save key
+       key_sbeg                      kBEG       &amp;9        shifted begin key
+       key_scancel                   kCAN       &amp;0        shifted cancel key
+       key_scommand                  kCMD       *1        shifted command key
+       key_scopy                     kCPY       *2        shifted copy key
+       key_screate                   kCRT       *3        shifted create key
+       key_sdc                       kDC        *4        shifted delete-char-
+                                                          acter key
+       key_sdl                       kDL        *5        shifted delete-line
+                                                          key
+       key_select                    kslt       *6        select key
+       key_send                      kEND       *7        shifted end key
+       key_seol                      kEOL       *8        shifted clear-to-
+                                                          end-of-line key
+       key_sexit                     kEXT       *9        shifted exit key
+       key_sf                        kind       kF        scroll-forward key
+       key_sfind                     kFND       *0        shifted find key
+       key_shelp                     kHLP       #1        shifted help key
+       key_shome                     kHOM       #2        shifted home key
+       key_sic                       kIC        #3        shifted insert-char-
+                                                          acter key
+       key_sleft                     kLFT       #4        shifted left-arrow
+                                                          key
+       key_smessage                  kMSG       %a        shifted message key
+       key_smove                     kMOV       %b        shifted move key
+       key_snext                     kNXT       %c        shifted next key
+       key_soptions                  kOPT       %d        shifted options key
+       key_sprevious                 kPRV       %e        shifted previous key
+       key_sprint                    kPRT       %f        shifted print key
+       key_sr                        kri        kR        scroll-backward key
+       key_sredo                     kRDO       %g        shifted redo key
+       key_sreplace                  kRPL       %h        shifted replace key
+       key_sright                    kRIT       %i        shifted right-arrow
+                                                          key
+       key_srsume                    kRES       %j        shifted resume key
+       key_ssave                     kSAV       !1        shifted save key
+       key_ssuspend                  kSPD       !2        shifted suspend key
+       key_stab                      khts       kT        set-tab key
+       key_sundo                     kUND       !3        shifted undo key
+       key_suspend                   kspd       &amp;7        suspend key
+       key_undo                      kund       &amp;8        undo key
+       key_up                        kcuu1      ku        up-arrow key
+       keypad_local                  rmkx       ke        leave 'key-
+                                                          board_transmit' mode
+       keypad_xmit                   smkx       ks        enter 'key-
+                                                          board_transmit' mode
+       lab_f0                        lf0        l0        label on function
+                                                          key f0 if not f0
+       lab_f1                        lf1        l1        label on function
+                                                          key f1 if not f1
+       lab_f10                       lf10       la        label on function
+                                                          key f10 if not f10
+       lab_f2                        lf2        l2        label on function
+                                                          key f2 if not f2
+       lab_f3                        lf3        l3        label on function
+                                                          key f3 if not f3
+       lab_f4                        lf4        l4        label on function
+                                                          key f4 if not f4
+
+
+       lab_f5                        lf5        l5        label on function
+                                                          key f5 if not f5
+       lab_f6                        lf6        l6        label on function
+                                                          key f6 if not f6
+       lab_f7                        lf7        l7        label on function
+                                                          key f7 if not f7
+       lab_f8                        lf8        l8        label on function
+                                                          key f8 if not f8
+       lab_f9                        lf9        l9        label on function
+                                                          key f9 if not f9
+       label_format                  fln        Lf        label format
+       label_off                     rmln       LF        turn off soft labels
+       label_on                      smln       LO        turn on soft labels
+       meta_off                      rmm        mo        turn off meta mode
+       meta_on                       smm        mm        turn on meta mode
+                                                          (8th-bit on)
+       micro_column_address          mhpa       ZY        Like column_address
+                                                          in micro mode
+       micro_down                    mcud1      ZZ        Like cursor_down in
+                                                          micro mode
+       micro_left                    mcub1      Za        Like cursor_left in
+                                                          micro mode
+       micro_right                   mcuf1      Zb        Like cursor_right in
+                                                          micro mode
+       micro_row_address             mvpa       Zc        Like row_address #1
+                                                          in micro mode
+       micro_up                      mcuu1      Zd        Like cursor_up in
+                                                          micro mode
+       newline                       nel        nw        newline (behave like
+                                                          cr followed by lf)
+       order_of_pins                 porder     Ze        Match software bits
+                                                          to print-head pins
+       orig_colors                   oc         oc        Set all color pairs
+                                                          to the original ones
+       orig_pair                     op         op        Set default pair to
+                                                          its original value
+       pad_char                      pad        pc        padding char
+                                                          (instead of null)
+       parm_dch                      dch        DC        delete #1 characters
+                                                          (P*)
+       parm_delete_line              dl         DL        delete #1 lines (P*)
+       parm_down_cursor              cud        DO        down #1 lines (P*)
+       parm_down_micro               mcud       Zf        Like parm_down_cur-
+                                                          sor in micro mode
+       parm_ich                      ich        IC        insert #1 characters
+                                                          (P*)
+       parm_index                    indn       SF        scroll forward #1
+                                                          lines (P)
+       parm_insert_line              il         AL        insert #1 lines (P*)
+       parm_left_cursor              cub        LE        move #1 characters
+                                                          to the left (P)
+       parm_left_micro               mcub       Zg        Like parm_left_cur-
+                                                          sor in micro mode
+       parm_right_cursor             cuf        RI        move #1 characters
+                                                          to the right (P*)
+       parm_right_micro              mcuf       Zh        Like parm_right_cur-
+                                                          sor in micro mode
+       parm_rindex                   rin        SR        scroll back #1 lines
+                                                          (P)
+       parm_up_cursor                cuu        UP        up #1 lines (P*)
+       parm_up_micro                 mcuu       Zi        Like parm_up_cursor
+                                                          in micro mode
+       pkey_key                      pfkey      pk        program function key
+                                                          #1 to type string #2
+
+
+       pkey_local                    pfloc      pl        program function key
+                                                          #1 to execute string
+                                                          #2
+       pkey_xmit                     pfx        px        program function key
+                                                          #1 to transmit
+                                                          string #2
+       plab_norm                     pln        pn        program label #1 to
+                                                          show string #2
+       print_screen                  mc0        ps        print contents of
+                                                          screen
+       prtr_non                      mc5p       pO        turn on printer for
+                                                          #1 bytes
+       prtr_off                      mc4        pf        turn off printer
+       prtr_on                       mc5        po        turn on printer
+       pulse                         pulse      PU        select pulse dialing
+       quick_dial                    qdial      QD        dial number #1 with-
+                                                          out checking
+       remove_clock                  rmclk      RC        remove clock
+       repeat_char                   rep        rp        repeat char #1 #2
+                                                          times (P*)
+       req_for_input                 rfi        RF        send next input char
+                                                          (for ptys)
+       reset_1string                 rs1        r1        reset string
+       reset_2string                 rs2        r2        reset string
+       reset_3string                 rs3        r3        reset string
+       reset_file                    rf         rf        name of reset file
+       restore_cursor                rc         rc        restore cursor to
+                                                          position of last
+                                                          save_cursor
+       row_address                   vpa        cv        vertical position #1
+                                                          absolute (P)
+       save_cursor                   sc         sc        save current cursor
+                                                          position (P)
+       scroll_forward                ind        sf        scroll text up (P)
+       scroll_reverse                ri         sr        scroll text down (P)
+       select_char_set               scs        Zj        Select character
+                                                          set, #1
+       set_attributes                sgr        sa        define video
+                                                          attributes #1-#9
+                                                          (PG9)
+       set_background                setb       Sb        Set background color
+                                                          #1
+       set_bottom_margin             smgb       Zk        Set bottom margin at
+                                                          current line
+       set_bottom_margin_parm        smgbp      Zl        Set bottom margin at
+                                                          line #1 or (if smgtp
+                                                          is not given) #2
+                                                          lines from bottom
+       set_clock                     sclk       SC        set clock, #1 hrs #2
+                                                          mins #3 secs
+       set_color_pair                scp        sp        Set current color
+                                                          pair to #1
+       set_foreground                setf       Sf        Set foreground color
+                                                          #1
+       set_left_margin               smgl       ML        set left soft margin
+                                                          at current col-
+                                                          umn.        See
+                                                          smgl. (ML is not in
+                                                          BSD termcap).
+       set_left_margin_parm          smglp      Zm        Set left (right)
+                                                          margin at column #1
+       set_right_margin              smgr       MR        set right soft mar-
+                                                          gin at current col-
+                                                          umn
+
+
+       set_right_margin_parm         smgrp      Zn        Set right margin at
+                                                          column #1
+       set_tab                       hts        st        set a tab in every
+                                                          row, current columns
+       set_top_margin                smgt       Zo        Set top margin at
+                                                          current line
+       set_top_margin_parm           smgtp      Zp        Set top (bottom)
+                                                          margin at row #1
+       set_window                    wind       wi        current window is
+                                                          lines #1-#2 cols
+                                                          #3-#4
+       start_bit_image               sbim       Zq        Start printing bit
+                                                          image graphics
+       start_char_set_def            scsd       Zr        Start character set
+                                                          definition #1, with
+                                                          #2 characters in the
+                                                          set
+       stop_bit_image                rbim       Zs        Stop printing bit
+                                                          image graphics
+       stop_char_set_def             rcsd       Zt        End definition of
+                                                          character set #1
+       subscript_characters          subcs      Zu        List of subscript-
+                                                          able characters
+       superscript_characters        supcs      Zv        List of superscript-
+                                                          able characters
+       tab                           ht         ta        tab to next 8-space
+                                                          hardware tab stop
+       these_cause_cr                docr       Zw        Printing any of
+                                                          these characters
+                                                          causes CR
+       to_status_line                tsl        ts        move to status line,
+                                                          column #1
+       tone                          tone       TO        select touch tone
+                                                          dialing
+       underline_char                uc         uc        underline char and
+                                                          move past it
+       up_half_line                  hu         hu        half a line up
+       user0                         u0         u0        User string #0
+       user1                         u1         u1        User string #1
+       user2                         u2         u2        User string #2
+       user3                         u3         u3        User string #3
+       user4                         u4         u4        User string #4
+       user5                         u5         u5        User string #5
+       user6                         u6         u6        User string #6
+       user7                         u7         u7        User string #7
+       user8                         u8         u8        User string #8
+       user9                         u9         u9        User string #9
+       wait_tone                     wait       WA        wait for dial-tone
+       xoff_character                xoffc      XF        XOFF character
+       xon_character                 xonc       XN        XON character
+       zero_motion                   zerom      Zx        No motion for subse-
+                                                          quent character
+
+       The following string capabilities are present in the SVr4.0 term struc-
+       ture, but were originally not documented in the man page.
+
+
+               <STRONG>Variable</STRONG>              <STRONG>Cap-</STRONG>         <STRONG>TCap</STRONG>         <STRONG>Description</STRONG>
+                <STRONG>String</STRONG>               <STRONG>name</STRONG>         <STRONG>Code</STRONG>
+       alt_scancode_esc              scesa        S8        Alternate escape
+                                                            for scancode emu-
+                                                            lation
+       bit_image_carriage_return     bicr         Yv        Move to beginning
+                                                            of same row
+
+
+       bit_image_newline             binel        Zz        Move to next row
+                                                            of the bit image
+       bit_image_repeat              birep        Xy        Repeat bit image
+                                                            cell #1 #2 times
+       char_set_names                csnm         Zy        Produce #1'th item
+                                                            from list of char-
+                                                            acter set names
+       code_set_init                 csin         ci        Init sequence for
+                                                            multiple codesets
+       color_names                   colornm      Yw        Give name for
+                                                            color #1
+       define_bit_image_region       defbi        Yx        Define rectangular
+                                                            bit image region
+       device_type                   devt         dv        Indicate lan-
+                                                            guage/codeset sup-
+                                                            port
+       display_pc_char               dispc        S1        Display PC charac-
+                                                            ter #1
+       end_bit_image_region          endbi        Yy        End a bit-image
+                                                            region
+       enter_pc_charset_mode         smpch        S2        Enter PC character
+                                                            display mode
+       enter_scancode_mode           smsc         S4        Enter PC scancode
+                                                            mode
+       exit_pc_charset_mode          rmpch        S3        Exit PC character
+                                                            display mode
+       exit_scancode_mode            rmsc         S5        Exit PC scancode
+                                                            mode
+       get_mouse                     getm         Gm        Curses should get
+                                                            button events,
+                                                            parameter #1 not
+                                                            documented.
+       key_mouse                     kmous        Km        Mouse event has
+                                                            occurred
+       mouse_info                    minfo        Mi        Mouse status
+                                                            information
+       pc_term_options               pctrm        S6        PC terminal
+                                                            options
+       pkey_plab                     pfxl         xl        Program function
+                                                            key #1 to type
+                                                            string #2 and show
+                                                            string #3
+       req_mouse_pos                 reqmp        RQ        Request mouse
+                                                            position
+       scancode_escape               scesc        S7        Escape for scan-
+                                                            code emulation
+       set0_des_seq                  s0ds         s0        Shift to codeset 0
+                                                            (EUC set 0, ASCII)
+       set1_des_seq                  s1ds         s1        Shift to codeset 1
+       set2_des_seq                  s2ds         s2        Shift to codeset 2
+       set3_des_seq                  s3ds         s3        Shift to codeset 3
+       set_a_background              setab        AB        Set background
+                                                            color to #1, using
+                                                            ANSI escape
+       set_a_foreground              setaf        AF        Set foreground
+                                                            color to #1, using
+                                                            ANSI escape
+       set_color_band                setcolor     Yz        Change to ribbon
+                                                            color #1
+       set_lr_margin                 smglr        ML        Set both left and
+                                                            right margins to
+                                                            #1, #2.  (ML is
+                                                            not in BSD term-
+                                                            cap).
+
+
+       set_page_length               slines       YZ        Set page length to
+                                                            #1 lines
+       set_tb_margin                 smgtb        MT        Sets both top and
+                                                            bottom margins to
+                                                            #1, #2
+
+        The XSI Curses standard added these hardcopy capabilities.  They  were
+        used  in  some post-4.1 versions of System V curses, e.g., Solaris 2.5
+        and IRIX 6.x.  Except for <STRONG>YI</STRONG>, the <STRONG>ncurses</STRONG> termcap names for  them  are
+        invented.   According to the XSI Curses standard, they have no termcap
+        names.  If your compiled terminfo entries use these, they may  not  be
+        binary-compatible with System V terminfo entries after SVr4.1; beware!
+
+
+                <STRONG>Variable</STRONG>              <STRONG>Cap-</STRONG>       <STRONG>TCap</STRONG>         <STRONG>Description</STRONG>
+                 <STRONG>String</STRONG>               <STRONG>name</STRONG>       <STRONG>Code</STRONG>
+        enter_horizontal_hl_mode      ehhlm      Xh       Enter horizontal
+                                                          highlight mode
+        enter_left_hl_mode            elhlm      Xl       Enter left highlight
+                                                          mode
+        enter_low_hl_mode             elohlm     Xo       Enter low highlight
+                                                          mode
+        enter_right_hl_mode           erhlm      Xr       Enter right high-
+                                                          light mode
+        enter_top_hl_mode             ethlm      Xt       Enter top highlight
+                                                          mode
+        enter_vertical_hl_mode        evhlm      Xv       Enter vertical high-
+                                                          light mode
+        set_a_attributes              sgr1       sA       Define second set of
+                                                          video attributes
+                                                          #1-#6
+        set_pglen_inch                slength    YI       Set page length to
+                                                          #1 hundredth of an
+                                                          inch (some implemen-
+                                                          tations use sL for
+                                                          termcap).
 
 
 </PRE><H3><a name="h3-User-Defined-Capabilities">User-Defined Capabilities</a></H3><PRE>
-       The preceding section listed the <EM>predefined</EM>  capabilities.
-       They  deal  with  some  special  features for terminals no
-       longer (or possibly never) produced.   Occasionally  there
-       are  special features of newer terminals which are awkward
-       or impossible to represent by reusing the predefined capa-
-       bilities.
-
-       <STRONG>ncurses</STRONG> addresses this limitation by allowing user-defined
-       capabilities.  The <STRONG>tic</STRONG> and <STRONG>infocmp</STRONG> programs provide the <STRONG>-x</STRONG>
-       option  for  this  purpose.   When  <STRONG>-x</STRONG>  is set, <STRONG>tic</STRONG> treats
-       unknown capabilities as user-defined.   That  is,  if  <STRONG>tic</STRONG>
-       encounters  a capability name which it does not recognize,
-       it infers its type (boolean, number or  string)  from  the
-       syntax and makes an extended table entry for that capabil-
-       ity.   The  <STRONG><A HREF="curs_extend.3x.html">use_extended_names(3x)</A></STRONG>  function  makes   this
-       information  conditionally available to applications.  The
-       ncurses library provides the  data  leaving  most  of  the
-       behavior to applications:
-
-       <STRONG>o</STRONG>   User-defined capability strings whose name begins with
-           "k" are treated as function keys.
-
-       <STRONG>o</STRONG>   The types (boolean, number, string) determined by  <STRONG>tic</STRONG>
-           can be inferred by successful calls on <STRONG>tigetflag</STRONG>, etc.
-
-       <STRONG>o</STRONG>   If  the  capability name happens to be two characters,
-           the capability is also available through  the  termcap
-           interface.
-
-       While termcap is said to be extensible because it does not
-       use a predefined set of capabilities, in practice  it  has
-       been  limited  to  the  capabilities  defined  by terminfo
-       implementations.  As  a  rule,  user-defined  capabilities
-       intended for use by termcap applications should be limited
-       to booleans and numbers to avoid  running  past  the  1023
-       byte  limit  assumed  by termcap implementations and their
-       applications.  In particular, providing extended  sets  of
-       function  keys  (past the 60 numbered keys and the handful
-       of special named keys) is best done using the longer names
-       available using terminfo.
+       The  preceding  section  listed the <EM>predefined</EM> capabilities.  They deal
+       with some special features for terminals no longer (or possibly  never)
+       produced.   Occasionally  there are special features of newer terminals
+       which are awkward or impossible to represent by reusing the  predefined
+       capabilities.
+
+       <STRONG>ncurses</STRONG>  addresses  this  limitation by allowing user-defined capabili-
+       ties.  The <STRONG>tic</STRONG> and <STRONG>infocmp</STRONG> programs provide the <STRONG>-x</STRONG> option for this pur-
+       pose.  When <STRONG>-x</STRONG> is set, <STRONG>tic</STRONG> treats unknown capabilities as user-defined.
+       That is, if <STRONG>tic</STRONG> encounters a capability name which it does  not  recog-
+       nize,  it  infers  its type (boolean, number or string) from the syntax
+       and  makes  an  extended  table  entry  for   that   capability.    The
+       <STRONG><A HREF="curs_extend.3x.html">use_extended_names(3x)</A></STRONG>  function  makes  this information conditionally
+       available to applications.  The ncurses library provides the data leav-
+       ing most of the behavior to applications:
+
+       <STRONG>o</STRONG>   User-defined  capability  strings  whose  name  begins with "k" are
+           treated as function keys.
+
+       <STRONG>o</STRONG>   The types (boolean,  number,  string)  determined  by  <STRONG>tic</STRONG>  can  be
+           inferred by successful calls on <STRONG>tigetflag</STRONG>, etc.
+
+       <STRONG>o</STRONG>   If the capability name happens to be two characters, the capability
+           is also available through the termcap interface.
+
+       While termcap is said to be extensible because it does not use a prede-
+       fined set of capabilities, in practice it has been limited to the capa-
+       bilities defined by terminfo implementations.  As a rule,  user-defined
+       capabilities intended for use by termcap applications should be limited
+       to booleans and numbers to avoid  running  past  the  1023  byte  limit
+       assumed by termcap implementations and their applications.  In particu-
+       lar, providing extended sets of function keys  (past  the  60  numbered
+       keys  and  the  handful  of  special named keys) is best done using the
+       longer names available using terminfo.
 
 
 </PRE><H3><a name="h3-A-Sample-Entry">A Sample Entry</a></H3><PRE>
-       The following entry, describing an ANSI-standard terminal,
-       is representative of what a <STRONG>terminfo</STRONG> entry  for  a  modern
-       terminal typically looks like.
+       The following entry, describing an ANSI-standard terminal, is represen-
+       tative  of  what a <STRONG>terminfo</STRONG> entry for a modern terminal typically looks
+       like.
 
        ansi|ansi/pc-term compatible with color,
                am, mc5i, mir, msgr,
                smul=\E[4m, tbc=\E[3g, u6=\E[%i%d;%dR, u7=\E[6n,
                u8=\E[?%[;0123456789]c, u9=\E[c, vpa=\E[%i%p1%dd,
 
-       Entries  may continue onto multiple lines by placing white
-       space at the beginning of  each  line  except  the  first.
-       Comments  may  be  included  on  lines beginning with "#".
-       Capabilities in <EM>terminfo</EM> are of three types:
+       Entries may continue onto multiple lines by placing white space at  the
+       beginning  of  each line except the first.  Comments may be included on
+       lines beginning with "#".  Capabilities in <EM>terminfo</EM> are of three types:
 
-       <STRONG>o</STRONG>   Boolean capabilities which indicate that the  terminal
-           has some particular feature,
+       <STRONG>o</STRONG>   Boolean capabilities which indicate that the terminal has some par-
+           ticular feature,
 
-       <STRONG>o</STRONG>   numeric  capabilities  giving the size of the terminal
-           or the size of particular delays, and
+       <STRONG>o</STRONG>   numeric capabilities giving the size of the terminal or the size of
+           particular delays, and
 
-       <STRONG>o</STRONG>   string capabilities, which give a sequence  which  can
-           be used to perform particular terminal operations.
+       <STRONG>o</STRONG>   string capabilities, which give a sequence which  can  be  used  to
+           perform particular terminal operations.
 
 
 </PRE><H3><a name="h3-Types-of-Capabilities">Types of Capabilities</a></H3><PRE>
-       All  capabilities have names.  For instance, the fact that
-       ANSI-standard terminals have <EM>automatic</EM> <EM>margins</EM>  (i.e.,  an
-       automatic  return  and line-feed when the end of a line is
-       reached) is indicated by the  capability  <STRONG>am</STRONG>.   Hence  the
-       description of ansi includes <STRONG>am</STRONG>.  Numeric capabilities are
-       followed by the character "#" and then a  positive  value.
-       Thus  <STRONG>cols</STRONG>, which indicates the number of columns the ter-
-       minal has, gives the value  "80"  for  ansi.   Values  for
-       numeric capabilities may be specified in decimal, octal or
-       hexadecimal, using the C programming language  conventions
-       (e.g., 255, 0377 and 0xff or 0xFF).
-
-       Finally,  string valued capabilities, such as <STRONG>el</STRONG> (clear to
-       end of line sequence) are given by the two-character code,
-       an  "=",  and  then  a string ending at the next following
-       ",".
-
-       A number of escape sequences are provided  in  the  string
-       valued capabilities for easy encoding of characters there:
+       All capabilities have names.  For instance, the fact that ANSI-standard
+       terminals have <EM>automatic</EM> <EM>margins</EM> (i.e., an automatic return  and  line-
+       feed  when the end of a line is reached) is indicated by the capability
+       <STRONG>am</STRONG>.  Hence the description of ansi includes <STRONG>am</STRONG>.   Numeric  capabilities
+       are  followed  by  the  character  "#" and then a positive value.  Thus
+       <STRONG>cols</STRONG>, which indicates the number of columns the terminal has, gives the
+       value  "80" for ansi.  Values for numeric capabilities may be specified
+       in decimal, octal or hexadecimal, using the C programming language con-
+       ventions (e.g., 255, 0377 and 0xff or 0xFF).
+
+       Finally,  string  valued capabilities, such as <STRONG>el</STRONG> (clear to end of line
+       sequence) are given by the two-character  code,  an  "=",  and  then  a
+       string ending at the next following ",".
+
+       A number of escape sequences are provided in the string valued capabil-
+       ities for easy encoding of characters there:
 
        <STRONG>o</STRONG>   Both <STRONG>\E</STRONG> and <STRONG>\e</STRONG> map to an ESCAPE character,
 
 
            produce
 
-             <EM>newline</EM>,  <EM>line-feed</EM>,  <EM>return</EM>,  <EM>tab</EM>, <EM>backspace</EM>, <EM>form-</EM>
-             <EM>feed</EM>, and <EM>space</EM>,
+             <EM>newline</EM>, <EM>line-feed</EM>, <EM>return</EM>, <EM>tab</EM>, <EM>backspace</EM>, <EM>form-feed</EM>, and <EM>space</EM>,
 
            respectively.
 
-       X/Open Curses does not say what "appropriate <EM>x</EM>" might  be.
-       In  practice, that is a printable ASCII graphic character.
-       The special case "^?" is interpreted as DEL (127).  In all
-       other  cases, the character value is AND'd with 0x1f, map-
-       ping to ASCII control codes in the range 0 through 31.
+       X/Open Curses does not say what "appropriate <EM>x</EM>" might be.  In practice,
+       that  is a printable ASCII graphic character.  The special case "^?" is
+       interpreted as DEL (127).  In all other cases, the character  value  is
+       AND'd  with 0x1f, mapping to ASCII control codes in the range 0 through
+       31.
 
        Other escapes include
 
 
        <STRONG>o</STRONG>   and <STRONG>\0</STRONG> for null.
 
-           <STRONG>\0</STRONG> will produce  \200,  which  does  not  terminate  a
-           string  but behaves as a null character on most termi-
-           nals, providing CS7 is specified.  See <STRONG>stty(1)</STRONG>.
+           <STRONG>\0</STRONG> will produce \200, which does not terminate a string but behaves
+           as  a null character on most terminals, providing CS7 is specified.
+           See <STRONG>stty(1)</STRONG>.
 
-           The reason for this quirk is to maintain  binary  com-
-           patibility  of  the compiled terminfo files with other
-           implementations, e.g., the SVr4 systems,  which  docu-
-           ment  this.   Compiled  terminfo files use null-termi-
-           nated strings, with no lengths.  Modifying this  would
-           require a new binary format, which would not work with
-           other implementations.
+           The reason for this quirk is to maintain  binary  compatibility  of
+           the  compiled  terminfo files with other implementations, e.g., the
+           SVr4 systems, which document this.   Compiled  terminfo  files  use
+           null-terminated  strings,  with  no  lengths.  Modifying this would
+           require a new binary format, which would not work with other imple-
+           mentations.
 
-       Finally, characters may be given  as  three  octal  digits
-       after a <STRONG>\</STRONG>.
+       Finally, characters may be given as three octal digits after a <STRONG>\</STRONG>.
 
-       A  delay  in  milliseconds may appear anywhere in a string
-       capability, enclosed in $&lt;..&gt; brackets, as in  <STRONG>el</STRONG>=\EK$&lt;5&gt;,
-       and  padding  characters are supplied by <STRONG><A HREF="curs_terminfo.3x.html">tputs(3x)</A></STRONG> to pro-
-       vide this delay.
+       A  delay  in  milliseconds  may appear anywhere in a string capability,
+       enclosed in $&lt;..&gt; brackets, as in <STRONG>el</STRONG>=\EK$&lt;5&gt;,  and  padding  characters
+       are supplied by <STRONG><A HREF="curs_terminfo.3x.html">tputs(3x)</A></STRONG> to provide this delay.
 
-       <STRONG>o</STRONG>   The delay must be a number with at  most  one  decimal
-           place of precision; it may be followed by suffixes "*"
-           or "/" or both.
+       <STRONG>o</STRONG>   The delay must be a number with at most one decimal place of preci-
+           sion; it may be followed by suffixes "*" or "/" or both.
 
-       <STRONG>o</STRONG>   A "*" indicates that the padding required  is  propor-
-           tional  to  the number of lines affected by the opera-
-           tion, and the amount given  is  the  per-affected-unit
-           padding  required.   (In the case of insert character,
-           the factor is still the number of <EM>lines</EM> affected.)
+       <STRONG>o</STRONG>   A "*" indicates that the padding required is  proportional  to  the
+           number  of lines affected by the operation, and the amount given is
+           the per-affected-unit padding required.  (In  the  case  of  insert
+           character, the factor is still the number of <EM>lines</EM> affected.)
 
-           Normally, padding is advisory if the  device  has  the
-           <STRONG>xon</STRONG>  capability;  it  is used for cost computation but
-           does not trigger delays.
+           Normally, padding is advisory if the device has the <STRONG>xon</STRONG> capability;
+           it is used for cost computation but does not trigger delays.
 
-       <STRONG>o</STRONG>   A "/" suffix indicates that the padding  is  mandatory
-           and forces a delay of the given number of milliseconds
-           even on devices for which <STRONG>xon</STRONG> is present  to  indicate
-           flow control.
+       <STRONG>o</STRONG>   A "/" suffix indicates that the padding is mandatory and  forces  a
+           delay of the given number of milliseconds even on devices for which
+           <STRONG>xon</STRONG> is present to indicate flow control.
 
-       Sometimes  individual  capabilities must be commented out.
-       To do this, put a period before the capability name.   For
-       example, see the second <STRONG>ind</STRONG> in the example above.
+       Sometimes individual capabilities must be commented out.  To  do  this,
+       put  a  period before the capability name.  For example, see the second
+       <STRONG>ind</STRONG> in the example above.
 
 
 </PRE><H3><a name="h3-Fetching-Compiled-Descriptions">Fetching Compiled Descriptions</a></H3><PRE>
-       The  <STRONG>ncurses</STRONG> library searches for terminal descriptions in
-       several places.  It uses only the first description found.
-       The  library  has  a  compiled-in list of places to search
-       which can be overridden by environment variables.   Before
-       starting  to  search, <STRONG>ncurses</STRONG> eliminates duplicates in its
-       search list.
-
-       <STRONG>o</STRONG>   If the environment variable TERMINFO  is  set,  it  is
-           interpreted  as the pathname of a directory containing
-           the compiled description you  are  working  on.   Only
-           that directory is searched.
-
-       <STRONG>o</STRONG>   If  TERMINFO  is not set, <STRONG>ncurses</STRONG> will instead look in
-           the directory <STRONG>$HOME/.terminfo</STRONG> for a compiled  descrip-
-           tion.
-
-       <STRONG>o</STRONG>   Next,  if  the  environment  variable TERMINFO_DIRS is
-           set, <STRONG>ncurses</STRONG> will interpret the contents of that vari-
-           able  as  a  list  of  colon-separated directories (or
-           database files) to be searched.
-
-           An empty directory name (i.e., if the variable  begins
-           or  ends with a colon, or contains adjacent colons) is
-           interpreted as  the  system  location  <EM>/usr/share/ter-</EM>
-           <EM>minfo</EM>.
+       The <STRONG>ncurses</STRONG> library  searches  for  terminal  descriptions  in  several
+       places.   It  uses only the first description found.  The library has a
+       compiled-in list of places to search which can be overridden  by  envi-
+       ronment  variables.   Before  starting  to  search,  <STRONG>ncurses</STRONG> eliminates
+       duplicates in its search list.
+
+       <STRONG>o</STRONG>   If the environment variable TERMINFO is set, it is  interpreted  as
+           the pathname of a directory containing the compiled description you
+           are working on.  Only that directory is searched.
+
+       <STRONG>o</STRONG>   If TERMINFO is not set, <STRONG>ncurses</STRONG> will instead look in the  directory
+           <STRONG>$HOME/.terminfo</STRONG> for a compiled description.
+
+       <STRONG>o</STRONG>   Next,  if  the  environment  variable TERMINFO_DIRS is set, <STRONG>ncurses</STRONG>
+           will interpret the contents of that variable as a  list  of  colon-
+           separated directories (or database files) to be searched.
+
+           An  empty directory name (i.e., if the variable begins or ends with
+           a colon, or contains adjacent colons) is interpreted as the  system
+           location <EM>/usr/share/terminfo</EM>.
 
        <STRONG>o</STRONG>   Finally, <STRONG>ncurses</STRONG> searches these compiled-in locations:
 
-           <STRONG>o</STRONG>   a           list           of          directories
-               (/usr/local/ncurses/share/terminfo:/usr/share/ter-
-               minfo), and
+           <STRONG>o</STRONG>   a    list    of    directories   (/usr/local/ncurses/share/ter-
+               minfo:/usr/share/terminfo), and
 
-           <STRONG>o</STRONG>   the system terminfo directory, <EM>/usr/share/terminfo</EM>
-               (the compiled-in default).
+           <STRONG>o</STRONG>   the system terminfo directory,  <EM>/usr/share/terminfo</EM>  (the  com-
+               piled-in default).
 
 
 </PRE><H3><a name="h3-Preparing-Descriptions">Preparing Descriptions</a></H3><PRE>
-       We now outline how to prepare descriptions  of  terminals.
-       The  most  effective way to prepare a terminal description
-       is by imitating the description of a similar  terminal  in
-       <EM>terminfo</EM>  and  to  build up a description gradually, using
-       partial descriptions with <EM>vi</EM> or some other screen-oriented
-       program  to  check that they are correct.  Be aware that a
-       very unusual terminal may expose deficiencies in the abil-
-       ity  of  the  <EM>terminfo</EM>  file to describe it or bugs in the
-       screen-handling code of the test program.
-
-       To get the padding for insert line right (if the  terminal
-       manufacturer did not document it) a severe test is to edit
-       a large file at 9600 baud, delete 16 or so lines from  the
-       middle  of  the screen, then hit the "u" key several times
-       quickly.  If the terminal messes up, more padding is  usu-
-       ally  needed.  A similar test can be used for insert char-
-       acter.
+       We  now  outline  how  to  prepare descriptions of terminals.  The most
+       effective way to prepare a terminal description  is  by  imitating  the
+       description  of  a  similar  terminal  in  <EM>terminfo</EM>  and  to build up a
+       description gradually, using partial descriptions with <EM>vi</EM> or some other
+       screen-oriented  program to check that they are correct.  Be aware that
+       a very unusual terminal may expose deficiencies in the ability  of  the
+       <EM>terminfo</EM> file to describe it or bugs in the screen-handling code of the
+       test program.
+
+       To get the padding for insert line right (if the terminal  manufacturer
+       did  not  document  it)  a  severe test is to edit a large file at 9600
+       baud, delete 16 or so lines from the middle of the screen, then hit the
+       "u" key several times quickly.  If the terminal messes up, more padding
+       is usually needed.  A similar test can be used for insert character.
 
 
 </PRE><H3><a name="h3-Basic-Capabilities">Basic Capabilities</a></H3><PRE>
-       The number of columns on each line  for  the  terminal  is
-       given  by the <STRONG>cols</STRONG> numeric capability.  If the terminal is
-       a CRT, then the number of lines on the screen is given  by
-       the <STRONG>lines</STRONG> capability.  If the terminal wraps around to the
-       beginning of the next line when it reaches the right  mar-
-       gin, then it should have the <STRONG>am</STRONG> capability.  If the termi-
-       nal can clear its screen, leaving the cursor in  the  home
-       position,  then this is given by the <STRONG>clear</STRONG> string capabil-
-       ity.  If the terminal overstrikes (rather than clearing  a
-       position  when  a character is struck over) then it should
-       have the <STRONG>os</STRONG> capability.  If the  terminal  is  a  printing
-       terminal,  with no soft copy unit, give it both <STRONG>hc</STRONG> and <STRONG>os</STRONG>.
-       (<STRONG>os</STRONG> applies to storage scope terminals, such as  TEKTRONIX
-       4010  series, as well as hard copy and APL terminals.)  If
-       there is a code to move the cursor to the left edge of the
-       current row, give this as <STRONG>cr</STRONG>.  (Normally this will be car-
-       riage return, control M.)  If there is a code  to  produce
-       an audible signal (bell, beep, etc) give this as <STRONG>bel</STRONG>.
-
-       If  there is a code to move the cursor one position to the
-       left (such as backspace) that capability should  be  given
-       as  <STRONG>cub1</STRONG>.   Similarly, codes to move to the right, up, and
-       down should be given as <STRONG>cuf1</STRONG>, <STRONG>cuu1</STRONG>, and <STRONG>cud1</STRONG>.  These local
-       cursor  motions  should not alter the text they pass over,
-       for example, you would not normally use  "<STRONG>cuf1</STRONG>= "  because
-       the space would erase the character moved over.
-
-       A  very  important  point  here  is  that the local cursor
-       motions encoded in <EM>terminfo</EM> are undefined at the left  and
-       top  edges  of  a  CRT  terminal.   Programs  should never
-       attempt to backspace around the left edge,  unless  <STRONG>bw</STRONG>  is
-       given, and never attempt to go up locally off the top.  In
-       order to scroll text up, a program will go to  the  bottom
-       left corner of the screen and send the <STRONG>ind</STRONG> (index) string.
-
-       To scroll text down, a program goes to the top left corner
-       of the screen and sends the  <STRONG>ri</STRONG>  (reverse  index)  string.
-       The  strings  <STRONG>ind</STRONG>  and  <STRONG>ri</STRONG> are undefined when not on their
-       respective corners of the screen.
-
-       Parameterized versions of the scrolling sequences are <STRONG>indn</STRONG>
-       and <STRONG>rin</STRONG> which have the same semantics as <STRONG>ind</STRONG> and <STRONG>ri</STRONG> except
-       that they take one parameter, and scroll that many  lines.
-       They  are also undefined except at the appropriate edge of
-       the screen.
-
-       The <STRONG>am</STRONG> capability tells whether the cursor sticks  at  the
-       right  edge  of  the  screen when text is output, but this
-       does not necessarily apply to a <STRONG>cuf1</STRONG> from the last column.
-       The  only local motion which is defined from the left edge
-       is if <STRONG>bw</STRONG> is given, then a <STRONG>cub1</STRONG> from  the  left  edge  will
-       move  to the right edge of the previous row.  If <STRONG>bw</STRONG> is not
-       given, the effect is undefined.  This is useful for  draw-
-       ing  a box around the edge of the screen, for example.  If
-       the terminal has switch selectable automatic margins,  the
-       <EM>terminfo</EM>  file  usually assumes that this is on; i.e., <STRONG>am</STRONG>.
-       If the terminal has a command which  moves  to  the  first
-       column  of the next line, that command can be given as <STRONG>nel</STRONG>
-       (newline).  It does not matter if the command  clears  the
-       remainder  of  the current line, so if the terminal has no
-       <STRONG>cr</STRONG> and <STRONG>lf</STRONG> it may still be possible to craft a working  <STRONG>nel</STRONG>
-       out of one or both of them.
-
-       These  capabilities  suffice  to  describe  hard-copy  and
-       "glass-tty" terminals.  Thus  the  model  33  teletype  is
-       described as
+       The number of columns on each line for the terminal  is  given  by  the
+       <STRONG>cols</STRONG>  numeric capability.  If the terminal is a CRT, then the number of
+       lines on the screen is given by the <STRONG>lines</STRONG> capability.  If the  terminal
+       wraps  around  to  the  beginning  of the next line when it reaches the
+       right margin, then it should have the <STRONG>am</STRONG> capability.  If  the  terminal
+       can  clear  its  screen,  leaving the cursor in the home position, then
+       this is given by the <STRONG>clear</STRONG> string capability.  If  the  terminal  over-
+       strikes  (rather  than  clearing  a position when a character is struck
+       over) then it should have the <STRONG>os</STRONG> capability.   If  the  terminal  is  a
+       printing terminal, with no soft copy unit, give it both <STRONG>hc</STRONG> and <STRONG>os</STRONG>.  (<STRONG>os</STRONG>
+       applies to storage scope terminals, such as TEKTRONIX 4010  series,  as
+       well  as  hard copy and APL terminals.)  If there is a code to move the
+       cursor to the left edge of the current row, give this as <STRONG>cr</STRONG>.  (Normally
+       this  will  be carriage return, control M.)  If there is a code to pro-
+       duce an audible signal (bell, beep, etc) give this as <STRONG>bel</STRONG>.
+
+       If there is a code to move the cursor one position to the left (such as
+       backspace)  that  capability should be given as <STRONG>cub1</STRONG>.  Similarly, codes
+       to move to the right, up, and down should be given as <STRONG>cuf1</STRONG>,  <STRONG>cuu1</STRONG>,  and
+       <STRONG>cud1</STRONG>.   These  local cursor motions should not alter the text they pass
+       over, for example, you would not  normally  use  "<STRONG>cuf1</STRONG>= "  because  the
+       space would erase the character moved over.
+
+       A very important point here is that the local cursor motions encoded in
+       <EM>terminfo</EM> are undefined at the left and top edges  of  a  CRT  terminal.
+       Programs should never attempt to backspace around the left edge, unless
+       <STRONG>bw</STRONG> is given, and never attempt to go up locally off the top.  In  order
+       to  scroll  text up, a program will go to the bottom left corner of the
+       screen and send the <STRONG>ind</STRONG> (index) string.
+
+       To scroll text down, a program goes to  the  top  left  corner  of  the
+       screen and sends the <STRONG>ri</STRONG> (reverse index) string.  The strings <STRONG>ind</STRONG> and <STRONG>ri</STRONG>
+       are undefined when not on their respective corners of the screen.
+
+       Parameterized versions of the scrolling  sequences  are  <STRONG>indn</STRONG>  and  <STRONG>rin</STRONG>
+       which  have  the same semantics as <STRONG>ind</STRONG> and <STRONG>ri</STRONG> except that they take one
+       parameter, and scroll that many lines.  They are also undefined  except
+       at the appropriate edge of the screen.
+
+       The  <STRONG>am</STRONG> capability tells whether the cursor sticks at the right edge of
+       the screen when text is output, but this does not necessarily apply  to
+       a  <STRONG>cuf1</STRONG>  from  the last column.  The only local motion which is defined
+       from the left edge is if <STRONG>bw</STRONG> is given, then a <STRONG>cub1</STRONG> from  the  left  edge
+       will  move  to the right edge of the previous row.  If <STRONG>bw</STRONG> is not given,
+       the effect is undefined.  This is useful for drawing a box  around  the
+       edge of the screen, for example.  If the terminal has switch selectable
+       automatic margins, the <EM>terminfo</EM> file usually assumes that this  is  on;
+       i.e.,  <STRONG>am</STRONG>.  If the terminal has a command which moves to the first col-
+       umn of the next line, that command can be given as <STRONG>nel</STRONG>  (newline).   It
+       does  not  matter  if  the  command clears the remainder of the current
+       line, so if the terminal has no <STRONG>cr</STRONG> and <STRONG>lf</STRONG> it may still be  possible  to
+       craft a working <STRONG>nel</STRONG> out of one or both of them.
+
+       These capabilities suffice to describe hard-copy and "glass-tty" termi-
+       nals.  Thus the model 33 teletype is described as
 
        33|tty33|tty|model 33 teletype,
                bel=^G, cols#72, cr=^M, cud1=^J, hc, ind=^J, os,
 
 
 </PRE><H3><a name="h3-Parameterized-Strings">Parameterized Strings</a></H3><PRE>
-       Cursor  addressing  and other strings requiring parameters
-       in the terminal are described by  a  parameterized  string
-       capability,  with  <EM>printf</EM>-like  escapes  such as <EM>%x</EM> in it.
-       For example, to address the cursor, the <STRONG>cup</STRONG> capability  is
-       given, using two parameters: the row and column to address
-       to.  (Rows and columns are numbered from zero and refer to
-       the physical screen visible to the user, not to any unseen
-       memory.)  If  the  terminal  has  memory  relative  cursor
-       addressing, that can be indicated by <STRONG>mrcup</STRONG>.
-
-       The  parameter  mechanism uses a stack and special <STRONG>%</STRONG> codes
-       to manipulate it.  Typically a sequence will push  one  of
-       the  parameters  onto  the stack and then print it in some
-       format.  Print (e.g., "%d")  is  a  special  case.   Other
-       operations,  including  "%t"  pop  their  operand from the
-       stack.  It is noted that more complex operations are often
-       necessary, e.g., in the <STRONG>sgr</STRONG> string.
+       Cursor addressing and other strings requiring parameters in the  termi-
+       nal  are  described  by a parameterized string capability, with <EM>printf</EM>-
+       like escapes such as <EM>%x</EM> in it.  For example, to address the cursor, the
+       <STRONG>cup</STRONG>  capability  is  given, using two parameters: the row and column to
+       address to.  (Rows and columns are numbered from zero and refer to  the
+       physical screen visible to the user, not to any unseen memory.)  If the
+       terminal has memory relative cursor addressing, that can  be  indicated
+       by <STRONG>mrcup</STRONG>.
+
+       The  parameter mechanism uses a stack and special <STRONG>%</STRONG> codes to manipulate
+       it.  Typically a sequence will push one  of  the  parameters  onto  the
+       stack  and  then print it in some format.  Print (e.g., "%d") is a spe-
+       cial case.  Other operations, including "%t" pop their operand from the
+       stack.   It  is noted that more complex operations are often necessary,
+       e.g., in the <STRONG>sgr</STRONG> string.
 
        The <STRONG>%</STRONG> encodings have the following meanings:
 
        <STRONG>%%</STRONG>   outputs "%"
 
        <STRONG>%</STRONG><EM>[[</EM>:<EM>]flags][width[.precision]][</EM><STRONG>doxXs</STRONG><EM>]</EM>
-            as  in  <STRONG>printf</STRONG>, flags are <EM>[-+#]</EM> and <EM>space</EM>.  Use a ":"
-            to allow the next character to be a "-" flag,  avoid-
-            ing interpreting "%-" as an operator.
+            as in <STRONG>printf</STRONG>, flags are <EM>[-+#]</EM> and <EM>space</EM>.  Use a ":" to  allow  the
+            next  character to be a "-" flag, avoiding interpreting "%-" as an
+            operator.
 
        %c   print <EM>pop()</EM> like %c in <STRONG>printf</STRONG>
 
        <STRONG>%g</STRONG><EM>[A-Z]</EM>
             get static variable <EM>[a-z]</EM> and push it
 
-            The  terms  "static"  and  "dynamic"  are misleading.
-            Historically, these are simply two different sets  of
-            variables,  whose  values are not reset between calls
-            to <STRONG><A HREF="curs_terminfo.3x.html">tparm(3x)</A></STRONG>.  However, that fact is  not  documented
-            in   other   implementations.   Relying  on  it  will
-            adversely impact  portability  to  other  implementa-
-            tions.
+            The terms "static" and "dynamic"  are  misleading.   Historically,
+            these are simply two different sets of variables, whose values are
+            not reset between calls to <STRONG><A HREF="curs_terminfo.3x.html">tparm(3x)</A></STRONG>.  However, that fact  is  not
+            documented in other implementations.  Relying on it will adversely
+            impact portability to other implementations.
 
        <STRONG>%'</STRONG><EM>c</EM><STRONG>'</STRONG> char constant <EM>c</EM>
 
             arithmetic (%m is <EM>mod</EM>): <EM>push(pop()</EM> <EM>op</EM> <EM>pop())</EM>
 
        <STRONG>%&amp;</STRONG>, <STRONG>%|</STRONG>, <STRONG>%^</STRONG>
-            bit operations (AND, OR and exclusive-OR): <EM>push(pop()</EM>
-            <EM>op</EM> <EM>pop())</EM>
+            bit operations (AND, OR and exclusive-OR): <EM>push(pop()</EM> <EM>op</EM> <EM>pop())</EM>
 
        <STRONG>%=</STRONG>, <STRONG>%&gt;</STRONG>, <STRONG>%&lt;</STRONG>
             logical operations: <EM>push(pop()</EM> <EM>op</EM> <EM>pop())</EM>
             logical AND and OR operations (for conditionals)
 
        <STRONG>%!</STRONG>, <STRONG>%~</STRONG>
-            unary  operations  (logical  and   bit   complement):
-            <EM>push(op</EM> <EM>pop())</EM>
+            unary operations (logical and bit complement): <EM>push(op</EM> <EM>pop())</EM>
 
        <STRONG>%i</STRONG>   add 1 to first two parameters (for ANSI terminals)
 
        <STRONG>%?</STRONG> <EM>expr</EM> <STRONG>%t</STRONG> <EM>thenpart</EM> <STRONG>%e</STRONG> <EM>elsepart</EM> <STRONG>%;</STRONG>
-            This  forms  an  if-then-else.   The  <STRONG>%e</STRONG>  <EM>elsepart</EM> is
-            optional.  Usually the <STRONG>%?</STRONG> <EM>expr</EM> part  pushes  a  value
-            onto  the stack, and <STRONG>%t</STRONG> pops it from the stack, test-
-            ing if it is nonzero (true).  If it is zero  (false),
-            control passes to the <STRONG>%e</STRONG> (else) part.
+            This forms an if-then-else.  The <STRONG>%e</STRONG> <EM>elsepart</EM> is optional.  Usually
+            the  <STRONG>%?</STRONG>  <EM>expr</EM>  part  pushes a value onto the stack, and <STRONG>%t</STRONG> pops it
+            from the stack, testing if it is nonzero (true).  If  it  is  zero
+            (false), control passes to the <STRONG>%e</STRONG> (else) part.
 
             It is possible to form else-if's a la Algol 68:
             <STRONG>%?</STRONG> c1 <STRONG>%t</STRONG> b1 <STRONG>%e</STRONG> c2 <STRONG>%t</STRONG> b2 <STRONG>%e</STRONG> c3 <STRONG>%t</STRONG> b3 <STRONG>%e</STRONG> c4 <STRONG>%t</STRONG> b4 <STRONG>%e</STRONG> <STRONG>%;</STRONG>
 
             where ci are conditions, bi are bodies.
 
-            Use the <STRONG>-f</STRONG> option of <STRONG>tic</STRONG> or <STRONG>infocmp</STRONG> to see the struc-
-            ture of if-then-else's.  Some strings, e.g., <STRONG>sgr</STRONG>  can
-            be very complicated when written on one line.  The <STRONG>-f</STRONG>
-            option splits the string into lines  with  the  parts
-            indented.
-
-       Binary operations are in postfix form with the operands in
-       the usual order.  That  is,  to  get  x-5  one  would  use
-       "%gx%{5}%-".   <STRONG>%P</STRONG>  and  <STRONG>%g</STRONG> variables are persistent across
-       escape-string evaluations.
-
-       Consider the HP2645, which, to get to row 3 and column 12,
-       needs  to  be  sent  \E&amp;a12c03Y padded for 6 milliseconds.
-       Note that the order of the rows and  columns  is  inverted
-       here,  and that the row and column are printed as two dig-
-       its.  Thus its <STRONG>cup</STRONG> capability is "cup=6\E&amp;%p2%2dc%p1%2dY".
-
-       The Microterm ACT-IV needs the current row and column sent
-       preceded  by  a <STRONG>^T</STRONG>, with the row and column simply encoded
-       in binary, "cup=^T%p1%c%p2%c".  Terminals which  use  "%c"
-       need  to  be  able  to backspace the cursor (<STRONG>cub1</STRONG>), and to
-       move the cursor up one line on the screen (<STRONG>cuu1</STRONG>).  This is
-       necessary  because it is not always safe to transmit <STRONG>\n</STRONG> <STRONG>^D</STRONG>
-       and <STRONG>\r</STRONG>, as the system may change or  discard  them.   (The
-       library  routines  dealing  with terminfo set tty modes so
-       that tabs are never expanded, so \t is safe to send.  This
-       turns out to be essential for the Ann Arbor 4080.)
-
-       A final example is the LSI ADM-3a, which uses row and col-
-       umn  offset  by  a  blank  character,  thus  "cup=\E=%p1%'
-       '%+%c%p2%'  '%+%c".   After sending "\E=", this pushes the
-       first parameter, pushes the ASCII value for a space  (32),
-       adds  them  (pushing  the sum on the stack in place of the
-       two previous values) and outputs that value as  a  charac-
-       ter.   Then  the  same  is  done for the second parameter.
-       More complex arithmetic is possible using the stack.
+            Use  the  <STRONG>-f</STRONG>  option of <STRONG>tic</STRONG> or <STRONG>infocmp</STRONG> to see the structure of if-
+            then-else's.  Some strings, e.g., <STRONG>sgr</STRONG> can be very complicated when
+            written  on  one line.  The <STRONG>-f</STRONG> option splits the string into lines
+            with the parts indented.
+
+       Binary operations are in postfix form with the operands  in  the  usual
+       order.  That is, to get x-5 one would use "%gx%{5}%-".  <STRONG>%P</STRONG> and <STRONG>%g</STRONG> vari-
+       ables are persistent across escape-string evaluations.
+
+       Consider the HP2645, which, to get to row 3 and column 12, needs to  be
+       sent  \E&amp;a12c03Y padded for 6 milliseconds.  Note that the order of the
+       rows and columns is inverted here, and that  the  row  and  column  are
+       printed    as    two    digits.     Thus    its   <STRONG>cup</STRONG>   capability   is
+       "cup=6\E&amp;%p2%2dc%p1%2dY".
+
+       The Microterm ACT-IV needs the current row and column sent preceded  by
+       a   <STRONG>^T</STRONG>,   with   the   row   and   column  simply  encoded  in  binary,
+       "cup=^T%p1%c%p2%c".  Terminals which  use  "%c"  need  to  be  able  to
+       backspace  the cursor (<STRONG>cub1</STRONG>), and to move the cursor up one line on the
+       screen (<STRONG>cuu1</STRONG>).  This is necessary because it  is  not  always  safe  to
+       transmit  <STRONG>\n</STRONG> <STRONG>^D</STRONG> and <STRONG>\r</STRONG>, as the system may change or discard them.  (The
+       library routines dealing with terminfo set tty modes so that  tabs  are
+       never  expanded, so \t is safe to send.  This turns out to be essential
+       for the Ann Arbor 4080.)
+
+       A final example is the LSI ADM-3a, which uses row and column offset  by
+       a blank character, thus "cup=\E=%p1%' '%+%c%p2%' '%+%c".  After sending
+       "\E=", this pushes the first parameter, pushes the ASCII  value  for  a
+       space (32), adds them (pushing the sum on the stack in place of the two
+       previous values) and outputs that value as a character.  Then the  same
+       is  done for the second parameter.  More complex arithmetic is possible
+       using the stack.
 
 
 </PRE><H3><a name="h3-Cursor-Motions">Cursor Motions</a></H3><PRE>
-       If the terminal has a fast way to home the cursor (to very
-       upper  left  corner  of  screen) then this can be given as
-       <STRONG>home</STRONG>; similarly a fast way of getting to the  lower  left-
-       hand  corner can be given as <STRONG>ll</STRONG>; this may involve going up
-       with <STRONG>cuu1</STRONG> from the home position,  but  a  program  should
-       never  do this itself (unless <STRONG>ll</STRONG> does) because it can make
-       no assumption about the effect of moving up from the  home
-       position.   Note  that  the  home  position is the same as
-       addressing to (0,0): to the top left corner of the screen,
-       not  of  memory.   (Thus, the \EH sequence on HP terminals
-       cannot be used for <STRONG>home</STRONG>.)
-
-       If the terminal has row or column absolute cursor address-
-       ing,  these  can be given as single parameter capabilities
-       <STRONG>hpa</STRONG> (horizontal position absolute) and <STRONG>vpa</STRONG> (vertical posi-
-       tion absolute).  Sometimes these are shorter than the more
-       general two parameter sequence (as with  the  hp2645)  and
-       can be used in preference to <STRONG>cup</STRONG>.  If there are parameter-
-       ized local motions (e.g., move  <EM>n</EM>  spaces  to  the  right)
-       these can be given as <STRONG>cud</STRONG>, <STRONG>cub</STRONG>, <STRONG>cuf</STRONG>, and <STRONG>cuu</STRONG> with a single
-       parameter indicating how many spaces to move.   These  are
-       primarily  useful  if the terminal does not have <STRONG>cup</STRONG>, such
-       as the TEKTRONIX 4025.
-
-       If the terminal needs to be in a special mode when running
-       a program that uses these capabilities, the codes to enter
-       and exit this mode can be given as <STRONG>smcup</STRONG> and <STRONG>rmcup</STRONG>.   This
-       arises,  for example, from terminals like the Concept with
-       more than one page of memory.  If the  terminal  has  only
-       memory  relative cursor addressing and not screen relative
-       cursor addressing, a one screen-sized window must be fixed
-       into  the terminal for cursor addressing to work properly.
-       This is also used for the TEKTRONIX 4025, where <STRONG>smcup</STRONG> sets
-       the  command character to be the one used by terminfo.  If
-       the <STRONG>smcup</STRONG> sequence will not restore the  screen  after  an
-       <STRONG>rmcup</STRONG> sequence is output (to the state prior to outputting
+       If the terminal has a fast way to home the cursor (to very  upper  left
+       corner  of screen) then this can be given as <STRONG>home</STRONG>; similarly a fast way
+       of getting to the lower left-hand corner can be given as <STRONG>ll</STRONG>;  this  may
+       involve going up with <STRONG>cuu1</STRONG> from the home position, but a program should
+       never do this itself (unless <STRONG>ll</STRONG> does) because it can make no assumption
+       about  the  effect  of moving up from the home position.  Note that the
+       home position is the same as addressing to (0,0): to the top left  cor-
+       ner of the screen, not of memory.  (Thus, the \EH sequence on HP termi-
+       nals cannot be used for <STRONG>home</STRONG>.)
+
+       If the terminal has row or column absolute cursor addressing, these can
+       be  given  as  single  parameter  capabilities <STRONG>hpa</STRONG> (horizontal position
+       absolute) and <STRONG>vpa</STRONG> (vertical position absolute).   Sometimes  these  are
+       shorter  than  the  more  general  two  parameter sequence (as with the
+       hp2645) and can be used in preference to <STRONG>cup</STRONG>.  If there are  parameter-
+       ized  local  motions  (e.g.,  move  <EM>n</EM> spaces to the right) these can be
+       given as <STRONG>cud</STRONG>, <STRONG>cub</STRONG>, <STRONG>cuf</STRONG>, and <STRONG>cuu</STRONG> with a single parameter indicating  how
+       many  spaces  to move.  These are primarily useful if the terminal does
+       not have <STRONG>cup</STRONG>, such as the TEKTRONIX 4025.
+
+       If the terminal needs to be in a special mode when  running  a  program
+       that uses these capabilities, the codes to enter and exit this mode can
+       be given as <STRONG>smcup</STRONG> and <STRONG>rmcup</STRONG>.  This arises, for example, from  terminals
+       like  the  Concept  with more than one page of memory.  If the terminal
+       has only memory relative cursor addressing and not screen relative cur-
+       sor addressing, a one screen-sized window must be fixed into the termi-
+       nal for cursor addressing to work properly.  This is also used for  the
+       TEKTRONIX  4025,  where  <STRONG>smcup</STRONG> sets the command character to be the one
+       used by terminfo.  If the <STRONG>smcup</STRONG> sequence will not  restore  the  screen
+       after  an  <STRONG>rmcup</STRONG>  sequence  is output (to the state prior to outputting
        <STRONG>rmcup</STRONG>), specify <STRONG>nrrmc</STRONG>.
 
 
 </PRE><H3><a name="h3-Area-Clears">Area Clears</a></H3><PRE>
-       If the terminal can clear from the current position to the
-       end  of  the  line,  leaving  the cursor where it is, this
-       should be given as <STRONG>el</STRONG>.  If the terminal can clear from the
-       beginning  of  the line to the current position inclusive,
-       leaving the cursor where it is, this should  be  given  as
-       <STRONG>el1</STRONG>.   If the terminal can clear from the current position
-       to the end of the display, then this should  be  given  as
-       <STRONG>ed</STRONG>.   <STRONG>Ed</STRONG>  is only defined from the first column of a line.
-       (Thus, it can be simulated by a request to delete a  large
-       number of lines, if a true <STRONG>ed</STRONG> is not available.)
+       If the terminal can clear from the current position to the end  of  the
+       line,  leaving  the cursor where it is, this should be given as <STRONG>el</STRONG>.  If
+       the terminal can clear from the beginning of the line  to  the  current
+       position  inclusive,  leaving  the  cursor  where it is, this should be
+       given as <STRONG>el1</STRONG>.  If the terminal can clear from the current  position  to
+       the  end  of  the display, then this should be given as <STRONG>ed</STRONG>.  <STRONG>Ed</STRONG> is only
+       defined from the first column of a line.  (Thus, it can be simulated by
+       a request to delete a large number of lines, if a true <STRONG>ed</STRONG> is not avail-
+       able.)
 
 
 </PRE><H3><a name="h3-Insert_delete-line-and-vertical-motions">Insert/delete line and vertical motions</a></H3><PRE>
-       If  the terminal can open a new blank line before the line
-       where the cursor is, this should be given as <STRONG>il1</STRONG>; this  is
-       done  only  from the first position of a line.  The cursor
-       must then appear on the newly blank line.  If the terminal
-       can  delete  the  line  which  the cursor is on, then this
-       should be given as <STRONG>dl1</STRONG>; this is done only from  the  first
-       position  on  the line to be deleted.  Versions of <STRONG>il1</STRONG> and
-       <STRONG>dl1</STRONG> which take a single parameter  and  insert  or  delete
-       that many lines can be given as <STRONG>il</STRONG> and <STRONG>dl</STRONG>.
-
-       If  the terminal has a settable scrolling region (like the
-       vt100) the command to set this can be described  with  the
-       <STRONG>csr</STRONG>  capability,  which  takes two parameters: the top and
-       bottom lines of the scrolling region.  The cursor position
-       is, alas, undefined after using this command.
-
-       It  is possible to get the effect of insert or delete line
-       using <STRONG>csr</STRONG> on a properly chosen region; the <STRONG>sc</STRONG> and <STRONG>rc</STRONG> (save
-       and  restore  cursor)  commands may be useful for ensuring
-       that your synthesized insert/delete string does  not  move
-       the  cursor.  (Note that the <STRONG><A HREF="ncurses.3x.html">ncurses(3x)</A></STRONG> library does this
-       synthesis  automatically,  so   you   need   not   compose
+       If the terminal can open a new blank line before  the  line  where  the
+       cursor  is,  this  should  be  given as <STRONG>il1</STRONG>; this is done only from the
+       first position of a line.  The cursor must then  appear  on  the  newly
+       blank  line.   If  the terminal can delete the line which the cursor is
+       on, then this should be given as <STRONG>dl1</STRONG>; this is done only from the  first
+       position on the line to be deleted.  Versions of <STRONG>il1</STRONG> and <STRONG>dl1</STRONG> which take
+       a single parameter and insert or delete that many lines can be given as
+       <STRONG>il</STRONG> and <STRONG>dl</STRONG>.
+
+       If  the  terminal  has a settable scrolling region (like the vt100) the
+       command to set this can be described with  the  <STRONG>csr</STRONG>  capability,  which
+       takes two parameters: the top and bottom lines of the scrolling region.
+       The cursor position is, alas, undefined after using this command.
+
+       It is possible to get the effect of insert or delete line using <STRONG>csr</STRONG>  on
+       a  properly chosen region; the <STRONG>sc</STRONG> and <STRONG>rc</STRONG> (save and restore cursor) com-
+       mands may be useful for ensuring that  your  synthesized  insert/delete
+       string  does  not  move the cursor.  (Note that the <STRONG><A HREF="ncurses.3x.html">ncurses(3x)</A></STRONG> library
+       does  this  synthesis  automatically,   so   you   need   not   compose
        insert/delete strings for an entry with <STRONG>csr</STRONG>).
 
-       Yet another way to construct insert and delete might be to
-       use a combination of index with  the  memory-lock  feature
-       found  on some terminals (like the HP-700/90 series, which
-       however also has insert/delete).
-
-       Inserting lines at the top or bottom  of  the  screen  can
-       also  be  done using <STRONG>ri</STRONG> or <STRONG>ind</STRONG> on many terminals without a
-       true insert/delete line, and is often faster even on  ter-
-       minals with those features.
-
-       The  boolean  <STRONG>non_dest_scroll_region</STRONG> should be set if each
-       scrolling window is effectively a view port on  a  screen-
-       sized  canvas.   To  test  for  this  capability, create a
-       scrolling region in the middle of the screen, write  some-
-       thing  to  the  bottom line, move the cursor to the top of
-       the region, and do <STRONG>ri</STRONG> followed by <STRONG>dl1</STRONG> or <STRONG>ind</STRONG>.  If the data
-       scrolled  off  the  bottom  of  the  region  by the <STRONG>ri</STRONG> re-
-       appears, then scrolling is non-destructive.  System V  and
-       XSI  Curses  expect that <STRONG>ind</STRONG>, <STRONG>ri</STRONG>, <STRONG>indn</STRONG>, and <STRONG>rin</STRONG> will simu-
-       late destructive scrolling; their  documentation  cautions
-       you  not  to  define <STRONG>csr</STRONG> unless this is true.  This <STRONG>curses</STRONG>
-       implementation is more liberal and will do explicit erases
-       after scrolling if <STRONG>ndsrc</STRONG> is defined.
-
-       If the terminal has the ability to define a window as part
-       of memory, which all commands affect, it should  be  given
-       as the parameterized string <STRONG>wind</STRONG>.  The four parameters are
-       the starting and ending lines in memory and  the  starting
-       and ending columns in memory, in that order.
-
-       If  the terminal can retain display memory above, then the
-       <STRONG>da</STRONG> capability should be given; if display  memory  can  be
-       retained  below,  then <STRONG>db</STRONG> should be given.  These indicate
-       that deleting a line  or  scrolling  may  bring  non-blank
-       lines  up  from  below  or that scrolling back with <STRONG>ri</STRONG> may
+       Yet another way to construct insert and delete might be to use a combi-
+       nation of index with the memory-lock feature found  on  some  terminals
+       (like the HP-700/90 series, which however also has insert/delete).
+
+       Inserting  lines  at  the  top or bottom of the screen can also be done
+       using <STRONG>ri</STRONG> or <STRONG>ind</STRONG> on many terminals without a  true  insert/delete  line,
+       and is often faster even on terminals with those features.
+
+       The boolean <STRONG>non_dest_scroll_region</STRONG> should be set if each scrolling win-
+       dow is effectively a view port on a screen-sized canvas.  To  test  for
+       this capability, create a scrolling region in the middle of the screen,
+       write something to the bottom line, move the cursor to the top  of  the
+       region, and do <STRONG>ri</STRONG> followed by <STRONG>dl1</STRONG> or <STRONG>ind</STRONG>.  If the data scrolled off the
+       bottom of the region by the  <STRONG>ri</STRONG>  re-appears,  then  scrolling  is  non-
+       destructive.   System  V  and XSI Curses expect that <STRONG>ind</STRONG>, <STRONG>ri</STRONG>, <STRONG>indn</STRONG>, and
+       <STRONG>rin</STRONG> will simulate destructive scrolling; their  documentation  cautions
+       you  not to define <STRONG>csr</STRONG> unless this is true.  This <STRONG>curses</STRONG> implementation
+       is more liberal and will do explicit erases after scrolling if <STRONG>ndsrc</STRONG> is
+       defined.
+
+       If  the  terminal has the ability to define a window as part of memory,
+       which all commands affect, it should  be  given  as  the  parameterized
+       string  <STRONG>wind</STRONG>.  The four parameters are the starting and ending lines in
+       memory and the starting and ending columns in memory, in that order.
+
+       If the terminal can retain display memory above, then the <STRONG>da</STRONG> capability
+       should  be  given;  if  display  memory  can be retained below, then <STRONG>db</STRONG>
+       should be given.  These indicate that deleting a line or scrolling  may
+       bring  non-blank lines up from below or that scrolling back with <STRONG>ri</STRONG> may
        bring down non-blank lines.
 
 
 </PRE><H3><a name="h3-Insert_Delete-Character">Insert/Delete Character</a></H3><PRE>
-       There are two basic kinds of  intelligent  terminals  with
-       respect  to insert/delete character which can be described
-       using <EM>terminfo.</EM>  The most common  insert/delete  character
-       operations  affect only the characters on the current line
-       and shift characters off the  end  of  the  line  rigidly.
-       Other  terminals,  such  as the Concept 100 and the Perkin
-       Elmer Owl, make a distinction between  typed  and  untyped
-       blanks  on  the  screen, shifting upon an insert or delete
-       only to an untyped blank on the  screen  which  is  either
-       eliminated, or expanded to two untyped blanks.
-
-       You  can determine the kind of terminal you have by clear-
-       ing the screen and then typing text  separated  by  cursor
-       motions.   Type  "abc    def"  using  local cursor motions
-       (not spaces) between the "abc" and the "def".  Then  posi-
-       tion  the  cursor before the "abc" and put the terminal in
-       insert mode.  If typing characters causes the rest of  the
-       line  to shift rigidly and characters to fall off the end,
-       then your terminal does not distinguish between blanks and
-       untyped  positions.  If the "abc" shifts over to the "def"
-       which then move together around the  end  of  the  current
-       line  and onto the next as you insert, you have the second
-       type of terminal, and should give the capability <STRONG>in</STRONG>, which
-       stands for "insert null".
-
-       While  these  are  two  logically separate attributes (one
-       line versus multi-line insert mode, and special  treatment
-       of  untyped spaces) we have seen no terminals whose insert
-       mode cannot be described with the single attribute.
-
-       Terminfo can describe both terminals which have an  insert
-       mode, and terminals which send a simple sequence to open a
-       blank position on the current  line.   Give  as  <STRONG>smir</STRONG>  the
-       sequence  to  get  into  insert  mode.   Give  as <STRONG>rmir</STRONG> the
-       sequence to leave insert  mode.   Now  give  as  <STRONG>ich1</STRONG>  any
-       sequence needed to be sent just before sending the charac-
-       ter to be inserted.  Most terminals  with  a  true  insert
-       mode  will  not give <STRONG>ich1</STRONG>; terminals which send a sequence
-       to open a screen position should give it here.
-
-       If your terminal has both, insert mode is usually  prefer-
-       able  to  <STRONG>ich1</STRONG>.   Technically,  you  should  not give both
-       unless the terminal actually requires both to be  used  in
-       combination.   Accordingly,  some  non-curses applications
-       get confused if both are present; the symptom  is  doubled
-       characters in an update using insert.  This requirement is
-       now rare; most <STRONG>ich</STRONG> sequences do not require previous smir,
-       and most smir insert modes do not require <STRONG>ich1</STRONG> before each
-       character.  Therefore, the  new  <STRONG>curses</STRONG>  actually  assumes
-       this  is the case and uses either <STRONG>rmir</STRONG>/<STRONG>smir</STRONG> or <STRONG>ich</STRONG>/<STRONG>ich1</STRONG> as
-       appropriate (but not both).  If you have to write an entry
-       to  be  used under new curses for a terminal old enough to
-       need both, include the <STRONG>rmir</STRONG>/<STRONG>smir</STRONG> sequences in <STRONG>ich1</STRONG>.
-
-       If post insert padding is needed, give this as a number of
-       milliseconds  in <STRONG>ip</STRONG> (a string option).  Any other sequence
-       which may need to be sent after  an  insert  of  a  single
-       character may also be given in <STRONG>ip</STRONG>.  If your terminal needs
-       both to be placed into an "insert mode" and a special code
-       to  precede  each  inserted character, then both <STRONG>smir</STRONG>/<STRONG>rmir</STRONG>
-       and <STRONG>ich1</STRONG> can be given, and both will  be  used.   The  <STRONG>ich</STRONG>
-       capability, with one parameter, <EM>n</EM>, will repeat the effects
-       of <STRONG>ich1</STRONG> <EM>n</EM> times.
-
-       If padding is necessary between characters typed while not
-       in insert mode, give this as a number of milliseconds pad-
-       ding in <STRONG>rmp</STRONG>.
-
-       It is occasionally  necessary  to  move  around  while  in
-       insert  mode  to delete characters on the same line (e.g.,
-       if there is a tab after the insertion position).  If  your
-       terminal  allows  motion while in insert mode you can give
-       the capability <STRONG>mir</STRONG> to speed up  inserting  in  this  case.
-       Omitting  <STRONG>mir</STRONG>  will  affect  only  speed.   Some terminals
-       (notably Datamedia's) must not have <STRONG>mir</STRONG> because of the way
-       their insert mode works.
-
-       Finally,  you  can specify <STRONG>dch1</STRONG> to delete a single charac-
-       ter, <STRONG>dch</STRONG> with one parameter, <EM>n</EM>, to  delete  <EM>n</EM>  <EM>characters,</EM>
-       and  delete mode by giving <STRONG>smdc</STRONG> and <STRONG>rmdc</STRONG> to enter and exit
-       delete mode (any mode the terminal needs to be  placed  in
-       for <STRONG>dch1</STRONG> to work).
-
-       A  command to erase <EM>n</EM> characters (equivalent to outputting
-       <EM>n</EM> blanks without moving the cursor) can be  given  as  <STRONG>ech</STRONG>
-       with one parameter.
+       There are two basic kinds of  intelligent  terminals  with  respect  to
+       insert/delete  character  which  can  be described using <EM>terminfo.</EM>  The
+       most common insert/delete character operations affect only the  charac-
+       ters  on  the current line and shift characters off the end of the line
+       rigidly.  Other terminals, such as the Concept 100 and the Perkin Elmer
+       Owl, make a distinction between typed and untyped blanks on the screen,
+       shifting upon an insert or delete only  to  an  untyped  blank  on  the
+       screen which is either eliminated, or expanded to two untyped blanks.
+
+       You  can determine the kind of terminal you have by clearing the screen
+       and then typing text separated by cursor  motions.   Type  "abc    def"
+       using  local  cursor  motions  (not  spaces)  between the "abc" and the
+       "def".  Then position the cursor before the "abc" and put the  terminal
+       in  insert  mode.   If typing characters causes the rest of the line to
+       shift rigidly and characters to fall off the end,  then  your  terminal
+       does  not  distinguish  between  blanks  and untyped positions.  If the
+       "abc" shifts over to the "def" which then move together around the  end
+       of  the current line and onto the next as you insert, you have the sec-
+       ond type of terminal, and should give the capability <STRONG>in</STRONG>,  which  stands
+       for "insert null".
+
+       While  these  are  two  logically  separate attributes (one line versus
+       multi-line insert mode, and special treatment  of  untyped  spaces)  we
+       have  seen  no terminals whose insert mode cannot be described with the
+       single attribute.
+
+       Terminfo can describe both terminals which have  an  insert  mode,  and
+       terminals  which send a simple sequence to open a blank position on the
+       current line.  Give as <STRONG>smir</STRONG> the sequence to get into insert mode.  Give
+       as  <STRONG>rmir</STRONG>  the  sequence  to  leave  insert  mode.  Now give as <STRONG>ich1</STRONG> any
+       sequence needed to be sent just before  sending  the  character  to  be
+       inserted.   Most  terminals with a true insert mode will not give <STRONG>ich1</STRONG>;
+       terminals which send a sequence to open a screen position  should  give
+       it here.
+
+       If  your  terminal has both, insert mode is usually preferable to <STRONG>ich1</STRONG>.
+       Technically, you should not give  both  unless  the  terminal  actually
+       requires  both to be used in combination.  Accordingly, some non-curses
+       applications get confused if both are present; the symptom  is  doubled
+       characters  in  an  update using insert.  This requirement is now rare;
+       most <STRONG>ich</STRONG> sequences do not require previous smir, and most  smir  insert
+       modes  do  not  require <STRONG>ich1</STRONG> before each character.  Therefore, the new
+       <STRONG>curses</STRONG> actually assumes this is the case and uses either  <STRONG>rmir</STRONG>/<STRONG>smir</STRONG>  or
+       <STRONG>ich</STRONG>/<STRONG>ich1</STRONG>  as appropriate (but not both).  If you have to write an entry
+       to be used under new curses for a terminal old  enough  to  need  both,
+       include the <STRONG>rmir</STRONG>/<STRONG>smir</STRONG> sequences in <STRONG>ich1</STRONG>.
+
+       If post insert padding is needed, give this as a number of milliseconds
+       in <STRONG>ip</STRONG> (a string option).  Any other sequence which may need to be  sent
+       after an insert of a single character may also be given in <STRONG>ip</STRONG>.  If your
+       terminal needs both to be placed into an "insert mode"  and  a  special
+       code  to  precede each inserted character, then both <STRONG>smir</STRONG>/<STRONG>rmir</STRONG> and <STRONG>ich1</STRONG>
+       can be given, and both will be used.   The  <STRONG>ich</STRONG>  capability,  with  one
+       parameter, <EM>n</EM>, will repeat the effects of <STRONG>ich1</STRONG> <EM>n</EM> times.
+
+       If  padding  is  necessary between characters typed while not in insert
+       mode, give this as a number of milliseconds padding in <STRONG>rmp</STRONG>.
+
+       It is occasionally necessary to move around while  in  insert  mode  to
+       delete  characters  on the same line (e.g., if there is a tab after the
+       insertion position).  If your terminal allows motion  while  in  insert
+       mode  you  can  give  the  capability <STRONG>mir</STRONG> to speed up inserting in this
+       case.  Omitting <STRONG>mir</STRONG> will affect only speed.   Some  terminals  (notably
+       Datamedia's)  must  not  have  <STRONG>mir</STRONG> because of the way their insert mode
+       works.
+
+       Finally, you can specify <STRONG>dch1</STRONG> to delete a single  character,  <STRONG>dch</STRONG>  with
+       one  parameter,  <EM>n</EM>,  to  delete <EM>n</EM> <EM>characters,</EM> and delete mode by giving
+       <STRONG>smdc</STRONG> and <STRONG>rmdc</STRONG> to enter and exit delete  mode  (any  mode  the  terminal
+       needs to be placed in for <STRONG>dch1</STRONG> to work).
+
+       A  command  to  erase  <EM>n</EM>  characters (equivalent to outputting <EM>n</EM> blanks
+       without moving the cursor) can be given as <STRONG>ech</STRONG> with one parameter.
 
 
 </PRE><H3><a name="h3-Highlighting_-Underlining_-and-Visible-Bells">Highlighting, Underlining, and Visible Bells</a></H3><PRE>
-       If  your  terminal  has  one  or  more  kinds  of  display
-       attributes, these can be represented in a number  of  dif-
-       ferent ways.  You should choose one display form as <EM>stand-</EM>
-       <EM>out</EM> <EM>mode</EM>, representing a good, high contrast, easy-on-the-
-       eyes,  format  for  highlighting  error messages and other
-       attention getters.  (If you have a choice,  reverse  video
-       plus  half-bright  is  good, or reverse video alone.)  The
-       sequences to enter and exit standout  mode  are  given  as
-       <STRONG>smso</STRONG>  and  <STRONG>rmso</STRONG>, respectively.  If the code to change into
-       or out of standout mode leaves one or even two blank  spa-
-       ces  on  the  screen,  as the TVI 912 and Teleray 1061 do,
-       then <STRONG>xmc</STRONG> should be given to tell how many spaces are left.
-
-       Codes to begin underlining  and  end  underlining  can  be
-       given  as <STRONG>smul</STRONG> and <STRONG>rmul</STRONG> respectively.  If the terminal has
-       a code to underline the current  character  and  move  the
-       cursor one space to the right, such as the Microterm Mime,
-       this can be given as <STRONG>uc</STRONG>.
-
-       Other capabilities to  enter  various  highlighting  modes
-       include  <STRONG>blink</STRONG>  (blinking) <STRONG>bold</STRONG> (bold or extra bright) <STRONG>dim</STRONG>
-       (dim or half-bright) <STRONG>invis</STRONG> (blanking  or  invisible  text)
-       <STRONG>prot</STRONG>  (protected)  <STRONG>rev</STRONG>  (reverse video) <STRONG>sgr0</STRONG> (turn off <EM>all</EM>
-       attribute modes)  <STRONG>smacs</STRONG>  (enter  alternate  character  set
-       mode)  and  <STRONG>rmacs</STRONG>  (exit  alternate  character  set mode).
-       Turning on any of these modes singly may or may  not  turn
-       off other modes.
-
-       If  there  is  a sequence to set arbitrary combinations of
-       modes, this should be given as <STRONG>sgr</STRONG> (set attributes),  tak-
-       ing  9 parameters.  Each parameter is either 0 or nonzero,
-       as the corresponding attribute is on or off.  The 9 param-
-       eters  are, in order: standout, underline, reverse, blink,
-       dim, bold, blank, protect, alternate character  set.   Not
-       all  modes  need be supported by <STRONG>sgr</STRONG>, only those for which
-       corresponding separate attribute commands exist.
+       If your terminal has one or more kinds of display attributes, these can
+       be  represented  in  a number of different ways.  You should choose one
+       display form as <EM>standout</EM> <EM>mode</EM>,  representing  a  good,  high  contrast,
+       easy-on-the-eyes,  format  for  highlighting  error  messages and other
+       attention getters.  (If you have a choice,  reverse  video  plus  half-
+       bright  is  good,  or reverse video alone.)  The sequences to enter and
+       exit standout mode are given as <STRONG>smso</STRONG> and <STRONG>rmso</STRONG>,  respectively.   If  the
+       code  to  change  into  or  out of standout mode leaves one or even two
+       blank spaces on the screen, as the TVI 912 and Teleray  1061  do,  then
+       <STRONG>xmc</STRONG> should be given to tell how many spaces are left.
+
+       Codes to begin underlining and end underlining can be given as <STRONG>smul</STRONG> and
+       <STRONG>rmul</STRONG> respectively.  If the terminal has a code to underline the current
+       character  and  move  the  cursor  one  space to the right, such as the
+       Microterm Mime, this can be given as <STRONG>uc</STRONG>.
+
+       Other capabilities to enter various highlighting  modes  include  <STRONG>blink</STRONG>
+       (blinking)  <STRONG>bold</STRONG>  (bold or extra bright) <STRONG>dim</STRONG> (dim or half-bright) <STRONG>invis</STRONG>
+       (blanking or invisible text) <STRONG>prot</STRONG> (protected) <STRONG>rev</STRONG> (reverse video)  <STRONG>sgr0</STRONG>
+       (turn  off  <EM>all</EM>  attribute  modes) <STRONG>smacs</STRONG> (enter alternate character set
+       mode) and <STRONG>rmacs</STRONG> (exit alternate character set mode).  Turning on any of
+       these modes singly may or may not turn off other modes.
+
+       If  there  is  a  sequence to set arbitrary combinations of modes, this
+       should be given as <STRONG>sgr</STRONG> (set attributes),  taking  9  parameters.   Each
+       parameter  is either 0 or nonzero, as the corresponding attribute is on
+       or off.  The 9 parameters are, in order: standout, underline,  reverse,
+       blink,  dim,  bold,  blank,  protect, alternate character set.  Not all
+       modes need be supported by <STRONG>sgr</STRONG>, only those for which corresponding sep-
+       arate attribute commands exist.
 
        For example, the DEC vt220 supports most of the modes:
 
-        <STRONG>tparm</STRONG> <STRONG>parameter</STRONG>      <STRONG>attribute</STRONG>        <STRONG>escape</STRONG> <STRONG>sequence</STRONG>
-
-        none                 none             \E[0m
-        p1                   standout         \E[0;1;7m
-        p2                   underline        \E[0;4m
-        p3                   reverse          \E[0;7m
-        p4                   blink            \E[0;5m
-        p5                   dim              not available
-        p6                   bold             \E[0;1m
-        p7                   invis            \E[0;8m
-        p8                   protect          not used
-        p9                   altcharset       ^O (off) ^N (on)
-
-       We begin each escape sequence by turning off any  existing
-       modes,  since  there  is no quick way to determine whether
-       they are active.  Standout is set up to be the combination
-       of  reverse  and  bold.   The vt220 terminal has a protect
-       mode, though it is not commonly used  in  sgr  because  it
-       protects  characters  on  the  screen from the host's era-
-       sures.  The altcharset mode also is different in  that  it
-       is  either ^O or ^N, depending on whether it is off or on.
-       If all modes are turned  on,  the  resulting  sequence  is
-       \E[0;1;4;5;7;8m^N.
-
-       Some  sequences  are common to different modes.  For exam-
-       ple, ;7 is output when either p1 or p3 is true,  that  is,
-       if either standout or reverse modes are turned on.
-
-       Writing  out  the above sequences, along with their depen-
-       dencies yields
-
-      <STRONG>sequence</STRONG>             <STRONG>when</STRONG> <STRONG>to</STRONG> <STRONG>output</STRONG>      <STRONG>terminfo</STRONG> <STRONG>translation</STRONG>
-
-      \E[0                 always              \E[0
-      ;1                   if p1 or p6         %?%p1%p6%|%t;1%;
-      ;4                   if p2               %?%p2%|%t;4%;
-      ;5                   if p4               %?%p4%|%t;5%;
-      ;7                   if p1 or p3         %?%p1%p3%|%t;7%;
-      ;8                   if p7               %?%p7%|%t;8%;
-      m                    always              m
-      ^N or ^O             if p9 ^N, else ^O   %?%p9%t^N%e^O%;
+              <STRONG>tparm</STRONG> <STRONG>parameter</STRONG>      <STRONG>attribute</STRONG>        <STRONG>escape</STRONG> <STRONG>sequence</STRONG>
+
+              none                 none             \E[0m
+              p1                   standout         \E[0;1;7m
+              p2                   underline        \E[0;4m
+              p3                   reverse          \E[0;7m
+              p4                   blink            \E[0;5m
+              p5                   dim              not available
+              p6                   bold             \E[0;1m
+              p7                   invis            \E[0;8m
+              p8                   protect          not used
+              p9                   altcharset       ^O (off) ^N (on)
+
+       We  begin each escape sequence by turning off any existing modes, since
+       there is no quick way to determine whether they are  active.   Standout
+       is  set up to be the combination of reverse and bold.  The vt220 termi-
+       nal has a protect mode, though it is not commonly used in  sgr  because
+       it  protects  characters  on  the screen from the host's erasures.  The
+       altcharset mode also is different in  that  it  is  either  ^O  or  ^N,
+       depending  on whether it is off or on.  If all modes are turned on, the
+       resulting sequence is \E[0;1;4;5;7;8m^N.
+
+       Some sequences are common to different modes.  For example, ;7 is  out-
+       put  when  either  p1  or  p3  is  true, that is, if either standout or
+       reverse modes are turned on.
+
+       Writing out the above sequences, along with their dependencies yields
+
+            <STRONG>sequence</STRONG>             <STRONG>when</STRONG> <STRONG>to</STRONG> <STRONG>output</STRONG>      <STRONG>terminfo</STRONG> <STRONG>translation</STRONG>
+
+            \E[0                 always              \E[0
+            ;1                   if p1 or p6         %?%p1%p6%|%t;1%;
+            ;4                   if p2               %?%p2%|%t;4%;
+            ;5                   if p4               %?%p4%|%t;5%;
+            ;7                   if p1 or p3         %?%p1%p3%|%t;7%;
+            ;8                   if p7               %?%p7%|%t;8%;
+            m                    always              m
+            ^N or ^O             if p9 ^N, else ^O   %?%p9%t^N%e^O%;
 
        Putting this all together into the sgr sequence gives:
 
            sgr=\E[0%?%p1%p6%|%t;1%;%?%p2%t;4%;%?%p4%t;5%;
                %?%p1%p3%|%t;7%;%?%p7%t;8%;m%?%p9%t\016%e\017%;,
 
-       Remember that if you specify sgr, you  must  also  specify
-       sgr0.   Also, some implementations rely on sgr being given
-       if sgr0 is, Not all terminfo entries necessarily  have  an
-       sgr  string,  however.   Many terminfo entries are derived
-       from termcap entries which have no sgr string.   The  only
-       drawback  to  adding  an  sgr  string is that termcap also
-       assumes that sgr0 does not exit  alternate  character  set
-       mode.
-
-       Terminals  with  the  "magic  cookie" glitch (<STRONG>xmc</STRONG>) deposit
-       special   "cookies"   when   they   receive   mode-setting
-       sequences,  which affect the display algorithm rather than
-       having extra bits for  each  character.   Some  terminals,
-       such  as  the  HP  2621, automatically leave standout mode
-       when they move to a new line or the cursor  is  addressed.
-       Programs  using  standout  mode  should exit standout mode
-       before moving the cursor or sending a newline, unless  the
-       <STRONG>msgr</STRONG>  capability,  asserting  that  it  is safe to move in
-       standout mode, is present.
-
-       If the terminal has a way of flashing the screen to  indi-
-       cate  an  error quietly (a bell replacement) then this can
-       be given as <STRONG>flash</STRONG>; it must not move the cursor.
-
-       If the cursor needs to be made more  visible  than  normal
-       when it is not on the bottom line (to make, for example, a
-       non-blinking underline into an easier  to  find  block  or
-       blinking underline) give this sequence as <STRONG>cvvis</STRONG>.  If there
-       is a way to make the  cursor  completely  invisible,  give
-       that as <STRONG>civis</STRONG>.  The capability <STRONG>cnorm</STRONG> should be given which
-       undoes the effects of both of these modes.
-
-       If your terminal correctly generates underlined characters
-       (with  no  special  codes  needed) even though it does not
-       overstrike, then you should give the capability <STRONG>ul</STRONG>.  If  a
-       character  overstriking  another leaves both characters on
-       the screen, specify the capability <STRONG>os</STRONG>.  If overstrikes are
-       erasable  with  a  blank, then this should be indicated by
+       Remember that if you specify sgr, you must also  specify  sgr0.   Also,
+       some  implementations  rely on sgr being given if sgr0 is, Not all ter-
+       minfo entries necessarily have an sgr string, however.   Many  terminfo
+       entries are derived from termcap entries which have no sgr string.  The
+       only drawback to adding an sgr string is that termcap also assumes that
+       sgr0 does not exit alternate character set mode.
+
+       Terminals  with  the "magic cookie" glitch (<STRONG>xmc</STRONG>) deposit special "cook-
+       ies" when they receive mode-setting sequences, which affect the display
+       algorithm  rather than having extra bits for each character.  Some ter-
+       minals, such as the HP 2621, automatically  leave  standout  mode  when
+       they  move  to  a  new line or the cursor is addressed.  Programs using
+       standout mode should exit standout mode before  moving  the  cursor  or
+       sending  a  newline,  unless  the <STRONG>msgr</STRONG> capability, asserting that it is
+       safe to move in standout mode, is present.
+
+       If the terminal has a way of flashing the screen to indicate  an  error
+       quietly  (a  bell replacement) then this can be given as <STRONG>flash</STRONG>; it must
+       not move the cursor.
+
+       If the cursor needs to be made more visible than normal when it is  not
+       on the bottom line (to make, for example, a non-blinking underline into
+       an easier to find block or blinking underline) give  this  sequence  as
+       <STRONG>cvvis</STRONG>.  If there is a way to make the cursor completely invisible, give
+       that as <STRONG>civis</STRONG>.  The capability <STRONG>cnorm</STRONG> should be given which  undoes  the
+       effects of both of these modes.
+
+       If  your  terminal  correctly  generates underlined characters (with no
+       special codes needed) even though it  does  not  overstrike,  then  you
+       should  give  the  capability  <STRONG>ul</STRONG>.  If a character overstriking another
+       leaves both characters on the screen, specify the  capability  <STRONG>os</STRONG>.   If
+       overstrikes are erasable with a blank, then this should be indicated by
        giving <STRONG>eo</STRONG>.
 
 
 </PRE><H3><a name="h3-Keypad-and-Function-Keys">Keypad and Function Keys</a></H3><PRE>
-       If the terminal has a keypad that transmits codes when the
-       keys  are  pressed,  this  information can be given.  Note
-       that it is not possible to handle terminals where the key-
-       pad only works in local (this applies, for example, to the
-       unshifted HP 2621 keys).  If the  keypad  can  be  set  to
-       transmit  or  not  transmit,  give these codes as <STRONG>smkx</STRONG> and
-       <STRONG>rmkx</STRONG>.  Otherwise the keypad is assumed to always transmit.
-
-       The codes sent by the left arrow, right arrow,  up  arrow,
-       down  arrow,  and  home keys can be given as <STRONG>kcub1,</STRONG> <STRONG>kcuf1,</STRONG>
-       <STRONG>kcuu1,</STRONG> <STRONG>kcud1,</STRONG> and <STRONG>khome</STRONG> respectively.  If there are  func-
-       tion  keys  such  as f0, f1, ..., f10, the codes they send
-       can be given as <STRONG>kf0,</STRONG> <STRONG>kf1,</STRONG> <STRONG>...,</STRONG> <STRONG>kf10</STRONG>.  If these  keys  have
-       labels  other  than the default f0 through f10, the labels
-       can be given as <STRONG>lf0,</STRONG> <STRONG>lf1,</STRONG> <STRONG>...,</STRONG> <STRONG>lf10</STRONG>.
-
-       The codes transmitted by certain other special keys can be
-       given:
+       If the terminal has a keypad that transmits codes  when  the  keys  are
+       pressed,  this  information can be given.  Note that it is not possible
+       to handle terminals where the keypad only works in local (this applies,
+       for  example, to the unshifted HP 2621 keys).  If the keypad can be set
+       to transmit or not transmit, give these codes as <STRONG>smkx</STRONG> and <STRONG>rmkx</STRONG>.  Other-
+       wise the keypad is assumed to always transmit.
+
+       The  codes  sent  by the left arrow, right arrow, up arrow, down arrow,
+       and home keys can be given as <STRONG>kcub1,</STRONG> <STRONG>kcuf1,</STRONG>  <STRONG>kcuu1,</STRONG>  <STRONG>kcud1,</STRONG>  and  <STRONG>khome</STRONG>
+       respectively.  If there are function keys such as f0, f1, ..., f10, the
+       codes they send can be given as <STRONG>kf0,</STRONG> <STRONG>kf1,</STRONG> <STRONG>...,</STRONG>  <STRONG>kf10</STRONG>.   If  these  keys
+       have  labels  other  than the default f0 through f10, the labels can be
+       given as <STRONG>lf0,</STRONG> <STRONG>lf1,</STRONG> <STRONG>...,</STRONG> <STRONG>lf10</STRONG>.
+
+       The codes transmitted by certain other special keys can be given:
 
        <STRONG>o</STRONG>   <STRONG>kll</STRONG> (home down),
 
 
        <STRONG>o</STRONG>   <STRONG>khts</STRONG> (set a tab stop in this column).
 
-       In  addition,  if  the  keypad  has a 3 by 3 array of keys
-       including the four arrow keys, the other five keys can  be
-       given as <STRONG>ka1</STRONG>, <STRONG>ka3</STRONG>, <STRONG>kb2</STRONG>, <STRONG>kc1</STRONG>, and <STRONG>kc3</STRONG>.  These keys are use-
-       ful when the effects of a  3  by  3  directional  pad  are
-       needed.
-
-       Strings  to  program  function keys can be given as <STRONG>pfkey</STRONG>,
-       <STRONG>pfloc</STRONG>, and <STRONG>pfx</STRONG>.  A string to program screen labels  should
-       be  specified  as  <STRONG>pln</STRONG>.   Each  of these strings takes two
-       parameters: the function key number to program (from 0  to
-       10)  and the string to program it with.  Function key num-
-       bers out of this range may program  undefined  keys  in  a
-       terminal  dependent  manner.   The  difference between the
-       capabilities is that <STRONG>pfkey</STRONG> causes pressing the  given  key
-       to  be the same as the user typing the given string; <STRONG>pfloc</STRONG>
-       causes the string to be executed by the terminal in local;
-       and  <STRONG>pfx</STRONG>  causes  the string to be transmitted to the com-
-       puter.
-
-       The capabilities <STRONG>nlab</STRONG>, <STRONG>lw</STRONG> and <STRONG>lh</STRONG> define the number of pro-
-       grammable  screen  labels  and their width and height.  If
-       there are commands to turn the labels  on  and  off,  give
-       them  in <STRONG>smln</STRONG> and <STRONG>rmln</STRONG>.  <STRONG>smln</STRONG> is normally output after one
-       or more pln sequences to make sure that the change becomes
-       visible.
+       In addition, if the keypad has a 3 by 3 array  of  keys  including  the
+       four  arrow  keys,  the  other five keys can be given as <STRONG>ka1</STRONG>, <STRONG>ka3</STRONG>, <STRONG>kb2</STRONG>,
+       <STRONG>kc1</STRONG>, and <STRONG>kc3</STRONG>.  These keys are useful when the  effects  of  a  3  by  3
+       directional pad are needed.
+
+       Strings to program function keys can be given as <STRONG>pfkey</STRONG>, <STRONG>pfloc</STRONG>, and <STRONG>pfx</STRONG>.
+       A string to program screen labels should be specified as <STRONG>pln</STRONG>.  Each  of
+       these  strings takes two parameters: the function key number to program
+       (from 0 to 10) and the string to program it with.  Function key numbers
+       out  of  this  range may program undefined keys in a terminal dependent
+       manner.  The difference between the capabilities is that  <STRONG>pfkey</STRONG>  causes
+       pressing  the  given  key  to  be the same as the user typing the given
+       string; <STRONG>pfloc</STRONG> causes the string to  be  executed  by  the  terminal  in
+       local; and <STRONG>pfx</STRONG> causes the string to be transmitted to the computer.
+
+       The  capabilities  <STRONG>nlab</STRONG>,  <STRONG>lw</STRONG>  and  <STRONG>lh</STRONG> define the number of programmable
+       screen labels and their width and height.  If  there  are  commands  to
+       turn  the  labels on and off, give them in <STRONG>smln</STRONG> and <STRONG>rmln</STRONG>.  <STRONG>smln</STRONG> is nor-
+       mally output after one or more pln sequences  to  make  sure  that  the
+       change becomes visible.
 
 
 </PRE><H3><a name="h3-Tabs-and-Initialization">Tabs and Initialization</a></H3><PRE>
-       If  the terminal has hardware tabs, the command to advance
-       to the next tab stop can be given as <STRONG>ht</STRONG>  (usually  control
-       I).  A "back-tab" command which moves leftward to the pre-
-       ceding tab stop can be given as <STRONG>cbt</STRONG>.   By  convention,  if
-       the  teletype  modes indicate that tabs are being expanded
-       by the computer rather than being sent  to  the  terminal,
-       programs  should  not  use  <STRONG>ht</STRONG>  or  <STRONG>cbt</STRONG>  even  if they are
-       present, since the user may not have the tab  stops  prop-
-       erly  set.   If  the  terminal has hardware tabs which are
-       initially set every <EM>n</EM> spaces when the terminal is  powered
-       up,  the numeric parameter <STRONG>it</STRONG> is given, showing the number
-       of spaces the tabs are set to.  This is normally  used  by
-       the  <STRONG>tset</STRONG> command to determine whether to set the mode for
-       hardware tab expansion, and whether to set the tab  stops.
-       If  the  terminal  has tab stops that can be saved in non-
-       volatile memory, the terminfo description can assume  that
-       they are properly set.
-
-       Other  capabilities include <STRONG>is1</STRONG>, <STRONG>is2</STRONG>, and <STRONG>is3</STRONG>, initializa-
-       tion strings for the terminal, <STRONG>iprog</STRONG>, the path name  of  a
-       program  to be run to initialize the terminal, and <STRONG>if</STRONG>, the
-       name of a file  containing  long  initialization  strings.
-       These  strings are expected to set the terminal into modes
-       consistent with the  rest  of  the  terminfo  description.
-       They are normally sent to the terminal, by the <EM>init</EM> option
-       of the <STRONG>tput</STRONG> program, each time the  user  logs  in.   They
-       will be printed in the following order:
+       If  the  terminal has hardware tabs, the command to advance to the next
+       tab stop can be given as <STRONG>ht</STRONG> (usually control I).  A "back-tab"  command
+       which moves leftward to the preceding tab stop can be given as <STRONG>cbt</STRONG>.  By
+       convention, if the teletype modes indicate that tabs are being expanded
+       by the computer rather than being sent to the terminal, programs should
+       not use <STRONG>ht</STRONG> or <STRONG>cbt</STRONG> even if they are present, since the user may not have
+       the  tab  stops  properly set.  If the terminal has hardware tabs which
+       are initially set every <EM>n</EM> spaces when the terminal is powered  up,  the
+       numeric  parameter  <STRONG>it</STRONG>  is given, showing the number of spaces the tabs
+       are set to.  This is normally used by the  <STRONG>tset</STRONG>  command  to  determine
+       whether  to set the mode for hardware tab expansion, and whether to set
+       the tab stops.  If the terminal has tab stops that can be saved in non-
+       volatile  memory,  the  terminfo  description  can assume that they are
+       properly set.
+
+       Other capabilities include <STRONG>is1</STRONG>, <STRONG>is2</STRONG>, and  <STRONG>is3</STRONG>,  initialization  strings
+       for  the  terminal, <STRONG>iprog</STRONG>, the path name of a program to be run to ini-
+       tialize the terminal, and <STRONG>if</STRONG>, the name of a file containing  long  ini-
+       tialization  strings.   These  strings are expected to set the terminal
+       into modes consistent with the rest of the terminfo description.   They
+       are  normally sent to the terminal, by the <EM>init</EM> option of the <STRONG>tput</STRONG> pro-
+       gram, each time the user logs in.  They will be printed in the  follow-
+       ing order:
 
               run the program
                      <STRONG>iprog</STRONG>
               and finally
                      output <STRONG>is3</STRONG>.
 
-       Most  initialization  is  done with <STRONG>is2</STRONG>.  Special terminal
-       modes can be set up without duplicating strings by putting
-       the  common  sequences in <STRONG>is2</STRONG> and special cases in <STRONG>is1</STRONG> and
-       <STRONG>is3</STRONG>.
-
-       A set of sequences that does a harder reset from a totally
-       unknown state can be given as <STRONG>rs1</STRONG>, <STRONG>rs2</STRONG>, <STRONG>rf</STRONG> and <STRONG>rs3</STRONG>, analo-
-       gous to <STRONG>is1</STRONG> <STRONG>,</STRONG>  <STRONG>is2</STRONG>  <STRONG>,</STRONG>  <STRONG>if</STRONG>  and  <STRONG>is3</STRONG>  respectively.   These
-       strings  are  output  by  the <STRONG>reset</STRONG> program, which is used
-       when the terminal gets into a wedged state.  Commands  are
-       normally  placed  in <STRONG>rs1</STRONG>, <STRONG>rs2</STRONG> <STRONG>rs3</STRONG> and <STRONG>rf</STRONG> only if they pro-
-       duce annoying effects on the screen and are not  necessary
-       when  logging  in.   For  example,  the command to set the
-       vt100 into 80-column mode would normally be part  of  <STRONG>is2</STRONG>,
-       but  it causes an annoying glitch of the screen and is not
-       normally needed since the terminal is usually  already  in
-       80 column mode.
-
-       The <STRONG>reset</STRONG> program writes strings including <STRONG>iprog</STRONG>, etc., in
-       the same order as  the  <EM>init</EM>  program,  using  <STRONG>rs1</STRONG>,  etc.,
-       instead of <STRONG>is1</STRONG>, etc.  If any of <STRONG>rs1</STRONG>, <STRONG>rs2</STRONG>, <STRONG>rs3</STRONG>, or <STRONG>rf</STRONG> reset
-       capability strings are missing, the  <STRONG>reset</STRONG>  program  falls
-       back  upon  the  corresponding  initialization  capability
-       string.
-
-       If there are commands to set and clear tab stops, they can
-       be  given  as <STRONG>tbc</STRONG> (clear all tab stops) and <STRONG>hts</STRONG> (set a tab
-       stop in the current column of every row).  If a more  com-
-       plex  sequence  is  needed  to  set  the  tabs than can be
-       described by this, the sequence can be placed  in  <STRONG>is2</STRONG>  or
-       <STRONG>if</STRONG>.
+       Most  initialization  is  done with <STRONG>is2</STRONG>.  Special terminal modes can be
+       set up without duplicating strings by putting the common  sequences  in
+       <STRONG>is2</STRONG> and special cases in <STRONG>is1</STRONG> and <STRONG>is3</STRONG>.
+
+       A  set  of  sequences  that  does a harder reset from a totally unknown
+       state can be given as <STRONG>rs1</STRONG>, <STRONG>rs2</STRONG>, <STRONG>rf</STRONG> and <STRONG>rs3</STRONG>, analogous to <STRONG>is1</STRONG> <STRONG>,</STRONG> <STRONG>is2</STRONG> <STRONG>,</STRONG> <STRONG>if</STRONG>
+       and  <STRONG>is3</STRONG>  respectively.  These strings are output by the <STRONG>reset</STRONG> program,
+       which is used when the terminal gets into a wedged state.  Commands are
+       normally  placed  in  <STRONG>rs1</STRONG>, <STRONG>rs2</STRONG> <STRONG>rs3</STRONG> and <STRONG>rf</STRONG> only if they produce annoying
+       effects on the screen and are not necessary when logging in.  For exam-
+       ple, the command to set the vt100 into 80-column mode would normally be
+       part of <STRONG>is2</STRONG>, but it causes an annoying glitch of the screen and is  not
+       normally  needed  since  the  terminal  is usually already in 80 column
+       mode.
+
+       The <STRONG>reset</STRONG> program writes strings including <STRONG>iprog</STRONG>,  etc.,  in  the  same
+       order  as  the  <EM>init</EM> program, using <STRONG>rs1</STRONG>, etc., instead of <STRONG>is1</STRONG>, etc.  If
+       any of <STRONG>rs1</STRONG>, <STRONG>rs2</STRONG>, <STRONG>rs3</STRONG>, or <STRONG>rf</STRONG> reset capability strings are  missing,  the
+       <STRONG>reset</STRONG> program falls back upon the corresponding initialization capabil-
+       ity string.
+
+       If there are commands to set and clear tab stops, they can be given  as
+       <STRONG>tbc</STRONG> (clear all tab stops) and <STRONG>hts</STRONG> (set a tab stop in the current column
+       of every row).  If a more complex sequence is needed to  set  the  tabs
+       than can be described by this, the sequence can be placed in <STRONG>is2</STRONG> or <STRONG>if</STRONG>.
 
 
 </PRE><H3><a name="h3-Delays-and-Padding">Delays and Padding</a></H3><PRE>
-       Many  older  and  slower  terminals  do not support either
-       XON/XOFF or DTR handshaking, including hard copy terminals
-       and  some  very  archaic CRTs (including, for example, DEC
-       VT100s).  These may require padding characters after  cer-
-       tain cursor motions and screen changes.
-
-       If the terminal uses xon/xoff handshaking for flow control
-       (that is, it automatically emits ^S back to the host  when
-       its input buffers are close to full), set <STRONG>xon</STRONG>.  This capa-
-       bility suppresses the emission of padding.  You  can  also
-       set  it for memory-mapped console devices effectively that
-       do not have a speed  limit.   Padding  information  should
-       still  be  included so that routines can make better deci-
-       sions about relative costs, but actual pad characters will
-       not be transmitted.
-
-       If  <STRONG>pb</STRONG> (padding baud rate) is given, padding is suppressed
-       at baud rates below the value of <STRONG>pb</STRONG>.  If the entry has  no
-       padding  baud rate, then whether padding is emitted or not
-       is completely controlled by <STRONG>xon</STRONG>.
-
-       If the terminal requires other than a null (zero)  charac-
-       ter  as  a  pad,  then this can be given as <STRONG>pad</STRONG>.  Only the
-       first character of the <STRONG>pad</STRONG> string is used.
+       Many  older  and slower terminals do not support either XON/XOFF or DTR
+       handshaking, including hard copy terminals and some very  archaic  CRTs
+       (including,  for example, DEC VT100s).  These may require padding char-
+       acters after certain cursor motions and screen changes.
+
+       If the terminal uses xon/xoff handshaking for flow control (that is, it
+       automatically  emits  ^S  back  to  the host when its input buffers are
+       close to full), set <STRONG>xon</STRONG>.  This capability suppresses  the  emission  of
+       padding.   You can also set it for memory-mapped console devices effec-
+       tively that do not have a  speed  limit.   Padding  information  should
+       still be included so that routines can make better decisions about rel-
+       ative costs, but actual pad characters will not be transmitted.
+
+       If <STRONG>pb</STRONG> (padding baud rate) is given, padding is suppressed at baud rates
+       below  the  value  of  <STRONG>pb</STRONG>.  If the entry has no padding baud rate, then
+       whether padding is emitted or not is completely controlled by <STRONG>xon</STRONG>.
+
+       If the terminal requires other than a null (zero) character as  a  pad,
+       then  this  can  be  given as <STRONG>pad</STRONG>.  Only the first character of the <STRONG>pad</STRONG>
+       string is used.
 
 
 </PRE><H3><a name="h3-Status-Lines">Status Lines</a></H3><PRE>
-       Some terminals have an extra "status line"  which  is  not
-       normally  used  by  software  (and thus not counted in the
-       terminal's <STRONG>lines</STRONG> capability).
+       Some terminals have an extra "status line" which is not  normally  used
+       by software (and thus not counted in the terminal's <STRONG>lines</STRONG> capability).
 
-       The simplest case  is  a  status  line  which  is  cursor-
-       addressable  but  not part of the main scrolling region on
-       the screen; the Heathkit H19 has a  status  line  of  this
-       kind,  as  would  a 24-line VT100 with a 23-line scrolling
-       region set up on initialization.  This situation is  indi-
-       cated by the <STRONG>hs</STRONG> capability.
+       The  simplest case is a status line which is cursor-addressable but not
+       part of the main scrolling region on the screen; the Heathkit H19 has a
+       status  line  of  this  kind,  as  would a 24-line VT100 with a 23-line
+       scrolling region set up on initialization.  This situation is indicated
+       by the <STRONG>hs</STRONG> capability.
 
-       Some terminals with status lines need special sequences to
-       access the status line.   These  may  be  expressed  as  a
-       string with single parameter <STRONG>tsl</STRONG> which takes the cursor to
-       a given zero-origin column on the status line.  The  capa-
-       bility <STRONG>fsl</STRONG> must return to the main-screen cursor positions
-       before the last <STRONG>tsl</STRONG>.  You may need  to  embed  the  string
-       values  of <STRONG>sc</STRONG> (save cursor) and <STRONG>rc</STRONG> (restore cursor) in <STRONG>tsl</STRONG>
-       and <STRONG>fsl</STRONG> to accomplish this.
+       Some  terminals  with status lines need special sequences to access the
+       status line.  These may be expressed as a string with single  parameter
+       <STRONG>tsl</STRONG>  which takes the cursor to a given zero-origin column on the status
+       line.  The capability <STRONG>fsl</STRONG> must return to the main-screen  cursor  posi-
+       tions  before the last <STRONG>tsl</STRONG>.  You may need to embed the string values of
+       <STRONG>sc</STRONG> (save cursor) and <STRONG>rc</STRONG> (restore cursor) in <STRONG>tsl</STRONG> and <STRONG>fsl</STRONG>  to  accomplish
+       this.
 
-       The status line is normally assumed to be the  same  width
-       as  the width of the terminal.  If this is untrue, you can
-       specify it with the numeric capability <STRONG>wsl</STRONG>.
+       The  status  line is normally assumed to be the same width as the width
+       of the terminal.  If this is  untrue,  you  can  specify  it  with  the
+       numeric capability <STRONG>wsl</STRONG>.
 
-       A command to erase or blank the status line may be  speci-
-       fied as <STRONG>dsl</STRONG>.
+       A command to erase or blank the status line may be specified as <STRONG>dsl</STRONG>.
 
-       The   boolean   capability  <STRONG>eslok</STRONG>  specifies  that  escape
-       sequences, tabs, etc., work ordinarily in the status line.
+       The  boolean  capability  <STRONG>eslok</STRONG>  specifies that escape sequences, tabs,
+       etc., work ordinarily in the status line.
 
-       The <STRONG>ncurses</STRONG> implementation does not yet use any  of  these
-       capabilities.   They are documented here in case they ever
-       become important.
+       The <STRONG>ncurses</STRONG> implementation does not yet use any of these  capabilities.
+       They are documented here in case they ever become important.
 
 
 </PRE><H3><a name="h3-Line-Graphics">Line Graphics</a></H3><PRE>
-       Many terminals have alternate character  sets  useful  for
-       forms-drawing.   Terminfo  and <STRONG>curses</STRONG> built-in support for
-       the drawing characters supported by the VT100,  with  some
-       characters  from  the  AT&amp;T  4410v1 added.  This alternate
-       character set may be specified by the <STRONG>acsc</STRONG> capability.
-
-       <STRONG>Glyph</STRONG>                    <STRONG>ACS</STRONG>          <STRONG>Ascii</STRONG>  <STRONG>VT100</STRONG>  <STRONG>VT100</STRONG>
-
-       <STRONG>Name</STRONG>                     <STRONG>Name</STRONG>         <STRONG>DefaultChar</STRONG>   <STRONG>Code</STRONG>
-       -----------------------------------------------------------
-       arrow pointing right     ACS_RARROW   &gt;      +      0x2b
-       arrow pointing left      ACS_LARROW   &lt;      ,      0x2c
-       arrow pointing up        ACS_UARROW   ^      -      0x2d
-       arrow pointing down      ACS_DARROW   v      .      0x2e
-       solid square block       ACS_BLOCK    #      0      0x30
-       diamond                  ACS_DIAMOND  +      `      0x60
-       checker board (stipple)  ACS_CKBOARD  :      a      0x61
-       degree symbol            ACS_DEGREE   \      f      0x66
-       plus/minus               ACS_PLMINUS  #      g      0x67
-       board of squares         ACS_BOARD    #      h      0x68
-       lantern symbol           ACS_LANTERN  #      i      0x69
-       lower right corner       ACS_LRCORNER +      j      0x6a
-       upper right corner       ACS_URCORNER +      k      0x6b
-       upper left corner        ACS_ULCORNER +      l      0x6c
-       lower left corner        ACS_LLCORNER +      m      0x6d
-       large plus or crossover  ACS_PLUS     +      n      0x6e
-       scan line 1              ACS_S1       ~      o      0x6f
-       scan line 3              ACS_S3       -      p      0x70
-       horizontal line          ACS_HLINE    -      q      0x71
-       scan line 7              ACS_S7       -      r      0x72
-       scan line 9              ACS_S9       _      s      0x73
-       tee pointing right       ACS_LTEE     +      t      0x74
-       tee pointing left        ACS_RTEE     +      u      0x75
-       tee pointing up          ACS_BTEE     +      v      0x76
-       tee pointing down        ACS_TTEE     +      w      0x77
-       vertical line            ACS_VLINE    |      x      0x78
-       less-than-or-equal-to    ACS_LEQUAL   &lt;      y      0x79
-       greater-than-or-equal-to ACS_GEQUAL   &gt;      z      0x7a
-       greek pi                 ACS_PI       *      {      0x7b
-       not-equal                ACS_NEQUAL   !      |      0x7c
-       UK pound sign            ACS_STERLING f      }      0x7d
-       bullet                   ACS_BULLET   o      ~      0x7e
+       Many  terminals have alternate character sets useful for forms-drawing.
+       Terminfo and <STRONG>curses</STRONG> have built-in support for most of the drawing char-
+       acters  supported  by  the  VT100,  with  some characters from the AT&amp;T
+       4410v1 added.  This alternate character set may  be  specified  by  the
+       <STRONG>acsc</STRONG> capability.
+
+       <STRONG>Glyph</STRONG>                        <STRONG>ACS</STRONG>            <STRONG>Ascii</STRONG>      <STRONG>acsc</STRONG>      <STRONG>acsc</STRONG>
+       <STRONG>Name</STRONG>                         <STRONG>Name</STRONG>           <STRONG>Default</STRONG>    <STRONG>Char</STRONG>      <STRONG>Value</STRONG>
+       ------------------------------------------------------------------------
+       arrow pointing right         ACS_RARROW     &gt;          +         0x2b
+       arrow pointing left          ACS_LARROW     &lt;          ,         0x2c
+       arrow pointing up            ACS_UARROW     ^          -         0x2d
+       arrow pointing down          ACS_DARROW     v          .         0x2e
+       solid square block           ACS_BLOCK      #          0         0x30
+       diamond                      ACS_DIAMOND    +          `         0x60
+       checker board (stipple)      ACS_CKBOARD    :          a         0x61
+       degree symbol                ACS_DEGREE     \          f         0x66
+       plus/minus                   ACS_PLMINUS    #          g         0x67
+       board of squares             ACS_BOARD      #          h         0x68
+
+       lantern symbol               ACS_LANTERN    #          i         0x69
+       lower right corner           ACS_LRCORNER   +          j         0x6a
+       upper right corner           ACS_URCORNER   +          k         0x6b
+       upper left corner            ACS_ULCORNER   +          l         0x6c
+       lower left corner            ACS_LLCORNER   +          m         0x6d
+       large plus or crossover      ACS_PLUS       +          n         0x6e
+       scan line 1                  ACS_S1         ~          o         0x6f
+       scan line 3                  ACS_S3         -          p         0x70
+       horizontal line              ACS_HLINE      -          q         0x71
+       scan line 7                  ACS_S7         -          r         0x72
+       scan line 9                  ACS_S9         _          s         0x73
+       tee pointing right           ACS_LTEE       +          t         0x74
+       tee pointing left            ACS_RTEE       +          u         0x75
+       tee pointing up              ACS_BTEE       +          v         0x76
+       tee pointing down            ACS_TTEE       +          w         0x77
+       vertical line                ACS_VLINE      |          x         0x78
+       less-than-or-equal-to        ACS_LEQUAL     &lt;          y         0x79
+       greater-than-or-equal-to     ACS_GEQUAL     &gt;          z         0x7a
+       greek pi                     ACS_PI         *          {         0x7b
+       not-equal                    ACS_NEQUAL     !          |         0x7c
+       UK pound sign                ACS_STERLING   f          }         0x7d
+       bullet                       ACS_BULLET     o          ~         0x7e
 
        A few notes apply to the table itself:
 
-       <STRONG>o</STRONG>   X/Open Curses incorrectly states that the mapping  for
-           <EM>lantern</EM> is uppercase "I" although Unix implementations
-           use the lowercase "i" mapping.
+       <STRONG>o</STRONG>   X/Open  Curses  incorrectly  states that the mapping for <EM>lantern</EM> is
+           uppercase "I" although Unix implementations use the  lowercase  "i"
+           mapping.
+
+       <STRONG>o</STRONG>   The  DEC  VT100  implemented graphics using the alternate character
+           set feature, temporarily switching <EM>modes</EM> and sending characters  in
+           the range 0x60 (96) to 0x7e (126) (the <STRONG>acsc</STRONG> <STRONG>Value</STRONG> column in the ta-
+           ble).
 
-       <STRONG>o</STRONG>   The DEC VT100 implemented graphics using the alternate
-           character set feature, temporarily switching <EM>modes</EM> and
-           sending characters in the  range  0x60  (96)  to  0x7e
-           (126).
+       <STRONG>o</STRONG>   The AT&amp;T terminal added graphics characters outside that range.
 
-       <STRONG>o</STRONG>   The  AT&amp;T  terminal  added graphics characters outside
-           that range.
+           Some of the characters within the range do  not  match  the  VT100;
+           presumably  they  were  used in the AT&amp;T terminal: <EM>board</EM> <EM>of</EM> <EM>squares</EM>
+           replaces the VT100 <EM>newline</EM> symbol, while  <EM>lantern</EM>  <EM>symbol</EM>  replaces
+           the VT100 <EM>vertical</EM> <EM>tab</EM> symbol.  The other VT100 symbols for control
+           characters (<EM>horizontal</EM> <EM>tab</EM>, <EM>carriage</EM> <EM>return</EM> and <EM>line-feed</EM>) are  not
+           (re)used in curses.
 
-       The best way to define a new device's graphics set  is  to
-       add  a  column  to a copy of this table for your terminal,
-       giving  the  character   which   (when   emitted   between
-       <STRONG>smacs</STRONG>/<STRONG>rmacs</STRONG>  switches) will be rendered as the correspond-
-       ing graphic.  Then read off the VT100/your terminal  char-
-       acter  pairs  right  to left in sequence; these become the
-       ACSC string.
+       The  best  way to define a new device's graphics set is to add a column
+       to a copy of this table for your terminal, giving the  character  which
+       (when  emitted  between  <STRONG>smacs</STRONG>/<STRONG>rmacs</STRONG>  switches) will be rendered as the
+       corresponding graphic.  Then read off the VT100/your terminal character
+       pairs right to left in sequence; these become the ACSC string.
 
 
 </PRE><H3><a name="h3-Color-Handling">Color Handling</a></H3><PRE>
-       The curses  library  functions  <STRONG>init_pair</STRONG>  and  <STRONG>init_color</STRONG>
-       manipulate  the  <EM>color</EM> <EM>pairs</EM> and <EM>color</EM> <EM>values</EM> discussed in
-       this section (see <STRONG><A HREF="curs_color.3x.html">curs_color(3x)</A></STRONG> for details on these  and
-       related functions).
-
-       Most  color  terminals are either "Tektronix-like" or "HP-
-       like":
-
-       <STRONG>o</STRONG>   Tektronix-like terminals have a predefined  set  of  <EM>N</EM>
-           colors  (where <EM>N</EM> is usually 8), and can set character-
-           cell foreground  and  background  characters  indepen-
-           dently, mixing them into <EM>N</EM> * <EM>N</EM> color-pairs.
-
-       <STRONG>o</STRONG>   On  HP-like  terminals,  the  user must set each color
-           pair up separately (foreground and background are  not
-           independently  settable).   Up to <EM>M</EM> color-pairs may be
-           set up from  2*<EM>M</EM>  different  colors.   ANSI-compatible
-           terminals are Tektronix-like.
-
-       Some basic color capabilities are independent of the color
-       method.  The numeric capabilities <STRONG>colors</STRONG> and <STRONG>pairs</STRONG> specify
-       the  maximum numbers of colors and color-pairs that can be
-       displayed simultaneously.  The <STRONG>op</STRONG> (original  pair)  string
-       resets  foreground  and background colors to their default
-       values for the terminal.  The <STRONG>oc</STRONG> string resets all  colors
-       or  color-pairs  to their default values for the terminal.
-       Some terminals  (including  many  PC  terminal  emulators)
-       erase  screen  areas  with  the  current  background color
-       rather than the power-up default background; these  should
-       have the boolean capability <STRONG>bce</STRONG>.
-
-       While  the curses library works with <EM>color</EM> <EM>pairs</EM> (reflect-
-       ing the inability of some devices to  set  foreground  and
-       background colors independently), there are separate capa-
-       bilities for setting these features:
-
-       <STRONG>o</STRONG>   To change the current foreground or  background  color
-           on  a  Tektronix-type  terminal,  use  <STRONG>setaf</STRONG> (set ANSI
-           foreground) and <STRONG>setab</STRONG> (set ANSI  background)  or  <STRONG>setf</STRONG>
-           (set  foreground)  and  <STRONG>setb</STRONG>  (set background).  These
-           take one parameter, the color number.  The SVr4  docu-
-           mentation  describes  only <STRONG>setaf</STRONG>/<STRONG>setab</STRONG>; the XPG4 draft
-           says  that  "If  the  terminal  supports  ANSI  escape
-           sequences  to  set  background  and  foreground,  they
-           should be coded as <STRONG>setaf</STRONG> and <STRONG>setab</STRONG>, respectively.
-
-       <STRONG>o</STRONG>   If the terminal supports other escape sequences to set
-           background  and  foreground,  they  should be coded as
-           <STRONG>setf</STRONG> and <STRONG>setb</STRONG>,  respectively.   The  <STRONG>vidputs</STRONG>  and  the
-           <STRONG><A HREF="curs_refresh.3x.html">refresh(3x)</A></STRONG> functions use the <STRONG>setaf</STRONG> and <STRONG>setab</STRONG> capabil-
-           ities if they are defined.
-
-       The <STRONG>setaf</STRONG>/<STRONG>setab</STRONG> and <STRONG>setf</STRONG>/<STRONG>setb</STRONG> capabilities take  a  single
-       numeric argument each.  Argument values 0-7 of <STRONG>setaf</STRONG>/<STRONG>setab</STRONG>
-       are portably defined as follows (the middle column is  the
-       symbolic #define available in the header for the <STRONG>curses</STRONG> or
-       <STRONG>ncurses</STRONG> libraries).  The terminal hardware is free to  map
-       these  as  it  likes,  but  the RGB values indicate normal
-       locations in color space.
-
-             <STRONG>Color</STRONG>       <STRONG>#define</STRONG>       <STRONG>Value</STRONG>       <STRONG>RGB</STRONG>
-             black     <STRONG>COLOR_BLACK</STRONG>       0     0, 0, 0
-             red       <STRONG>COLOR_RED</STRONG>         1     max,0,0
-             green     <STRONG>COLOR_GREEN</STRONG>       2     0,max,0
-             yellow    <STRONG>COLOR_YELLOW</STRONG>      3     max,max,0
-             blue      <STRONG>COLOR_BLUE</STRONG>        4     0,0,max
-             magenta   <STRONG>COLOR_MAGENTA</STRONG>     5     max,0,max
-             cyan      <STRONG>COLOR_CYAN</STRONG>        6     0,max,max
-             white     <STRONG>COLOR_WHITE</STRONG>       7     max,max,max
-
-       The argument values of <STRONG>setf</STRONG>/<STRONG>setb</STRONG>  historically  correspond
-       to a different mapping, i.e.,
-
-             <STRONG>Color</STRONG>       <STRONG>#define</STRONG>       <STRONG>Value</STRONG>       <STRONG>RGB</STRONG>
-             black     <STRONG>COLOR_BLACK</STRONG>       0     0, 0, 0
-             blue      <STRONG>COLOR_BLUE</STRONG>        1     0,0,max
-             green     <STRONG>COLOR_GREEN</STRONG>       2     0,max,0
-             cyan      <STRONG>COLOR_CYAN</STRONG>        3     0,max,max
-             red       <STRONG>COLOR_RED</STRONG>         4     max,0,0
-             magenta   <STRONG>COLOR_MAGENTA</STRONG>     5     max,0,max
-             yellow    <STRONG>COLOR_YELLOW</STRONG>      6     max,max,0
-             white     <STRONG>COLOR_WHITE</STRONG>       7     max,max,max
-
-       It is important to not confuse the two sets of color capa-
-       bilities; otherwise red/blue will be interchanged  on  the
-       display.
-
-       On  an  HP-like terminal, use <STRONG>scp</STRONG> with a color-pair number
-       parameter to set which color pair is current.
+       The  curses  library  functions <STRONG>init_pair</STRONG> and <STRONG>init_color</STRONG> manipulate the
+       <EM>color</EM>  <EM>pairs</EM>  and  <EM>color</EM>  <EM>values</EM>  discussed  in   this   section   (see
+       <STRONG><A HREF="curs_color.3x.html">curs_color(3x)</A></STRONG> for details on these and related functions).
+
+       Most color terminals are either "Tektronix-like" or "HP-like":
+
+       <STRONG>o</STRONG>   Tektronix-like terminals have a predefined set of <EM>N</EM> colors (where <EM>N</EM>
+           is usually 8), and can set character-cell foreground and background
+           characters independently, mixing them into <EM>N</EM> * <EM>N</EM> color-pairs.
+
+       <STRONG>o</STRONG>   On  HP-like  terminals,  the user must set each color pair up sepa-
+           rately (foreground and background are not independently  settable).
+           Up to <EM>M</EM> color-pairs may be set up from 2*<EM>M</EM> different colors.  ANSI-
+           compatible terminals are Tektronix-like.
+
+       Some basic color capabilities are independent of the color method.  The
+       numeric  capabilities  <STRONG>colors</STRONG>  and <STRONG>pairs</STRONG> specify the maximum numbers of
+       colors and color-pairs that can be displayed  simultaneously.   The  <STRONG>op</STRONG>
+       (original pair) string resets foreground and background colors to their
+       default values for the terminal.  The <STRONG>oc</STRONG> string resets  all  colors  or
+       color-pairs  to  their default values for the terminal.  Some terminals
+       (including many PC terminal emulators) erase screen areas with the cur-
+       rent  background  color  rather  than  the power-up default background;
+       these should have the boolean capability <STRONG>bce</STRONG>.
+
+       While the curses library works with <EM>color</EM> <EM>pairs</EM> (reflecting the inabil-
+       ity  of  some  devices to set foreground and background colors indepen-
+       dently), there are separate capabilities for setting these features:
+
+       <STRONG>o</STRONG>   To change the current foreground or  background  color  on  a  Tek-
+           tronix-type  terminal,  use  <STRONG>setaf</STRONG>  (set ANSI foreground) and <STRONG>setab</STRONG>
+           (set ANSI background) or <STRONG>setf</STRONG> (set foreground) and <STRONG>setb</STRONG> (set  back-
+           ground).   These  take  one  parameter, the color number.  The SVr4
+           documentation describes only <STRONG>setaf</STRONG>/<STRONG>setab</STRONG>; the XPG4 draft says  that
+           "If  the  terminal supports ANSI escape sequences to set background
+           and foreground, they should be coded as <STRONG>setaf</STRONG>  and  <STRONG>setab</STRONG>,  respec-
+           tively.
+
+       <STRONG>o</STRONG>   If  the  terminal supports other escape sequences to set background
+           and foreground, they should be coded  as  <STRONG>setf</STRONG>  and  <STRONG>setb</STRONG>,  respec-
+           tively.   The  <STRONG>vidputs</STRONG>  and the <STRONG><A HREF="curs_refresh.3x.html">refresh(3x)</A></STRONG> functions use the <STRONG>setaf</STRONG>
+           and <STRONG>setab</STRONG> capabilities if they are defined.
+
+       The <STRONG>setaf</STRONG>/<STRONG>setab</STRONG> and <STRONG>setf</STRONG>/<STRONG>setb</STRONG> capabilities take a single numeric  argu-
+       ment  each.  Argument values 0-7 of <STRONG>setaf</STRONG>/<STRONG>setab</STRONG> are portably defined as
+       follows (the middle column is the symbolic  #define  available  in  the
+       header  for the <STRONG>curses</STRONG> or <STRONG>ncurses</STRONG> libraries).  The terminal hardware is
+       free to map these as it likes, but the RGB values indicate normal loca-
+       tions in color space.
+
+                    <STRONG>Color</STRONG>       <STRONG>#define</STRONG>       <STRONG>Value</STRONG>       <STRONG>RGB</STRONG>
+                    black     <STRONG>COLOR_BLACK</STRONG>       0     0, 0, 0
+                    red       <STRONG>COLOR_RED</STRONG>         1     max,0,0
+                    green     <STRONG>COLOR_GREEN</STRONG>       2     0,max,0
+                    yellow    <STRONG>COLOR_YELLOW</STRONG>      3     max,max,0
+                    blue      <STRONG>COLOR_BLUE</STRONG>        4     0,0,max
+                    magenta   <STRONG>COLOR_MAGENTA</STRONG>     5     max,0,max
+                    cyan      <STRONG>COLOR_CYAN</STRONG>        6     0,max,max
+                    white     <STRONG>COLOR_WHITE</STRONG>       7     max,max,max
+
+       The argument values of <STRONG>setf</STRONG>/<STRONG>setb</STRONG> historically correspond to a different
+       mapping, i.e.,
+
+                    <STRONG>Color</STRONG>       <STRONG>#define</STRONG>       <STRONG>Value</STRONG>       <STRONG>RGB</STRONG>
+                    black     <STRONG>COLOR_BLACK</STRONG>       0     0, 0, 0
+                    blue      <STRONG>COLOR_BLUE</STRONG>        1     0,0,max
+                    green     <STRONG>COLOR_GREEN</STRONG>       2     0,max,0
+                    cyan      <STRONG>COLOR_CYAN</STRONG>        3     0,max,max
+                    red       <STRONG>COLOR_RED</STRONG>         4     max,0,0
+                    magenta   <STRONG>COLOR_MAGENTA</STRONG>     5     max,0,max
+                    yellow    <STRONG>COLOR_YELLOW</STRONG>      6     max,max,0
+                    white     <STRONG>COLOR_WHITE</STRONG>       7     max,max,max
+
+       It is important to not confuse the two sets of color capabilities; oth-
+       erwise red/blue will be interchanged on the display.
+
+       On  an  HP-like terminal, use <STRONG>scp</STRONG> with a color-pair number parameter to
+       set which color pair is current.
 
        Some terminals allow the <EM>color</EM> <EM>values</EM> to be modified:
 
-       <STRONG>o</STRONG>   On a Tektronix-like terminal, the capability  <STRONG>ccc</STRONG>  may
-           be  present  to  indicate that colors can be modified.
-           If so, the <STRONG>initc</STRONG> capability will take a  color  number
-           (0  to  <STRONG>colors</STRONG>  -  1)and  three  more parameters which
-           describe the color.  These three parameters default to
-           being  interpreted  as  RGB (Red, Green, Blue) values.
-           If the boolean capability <STRONG>hls</STRONG>  is  present,  they  are
-           instead  as  HLS (Hue, Lightness, Saturation) indices.
-           The ranges are terminal-dependent.
-
-       <STRONG>o</STRONG>   On an HP-like terminal, <STRONG>initp</STRONG> may  give  a  capability
-           for  changing  a color-pair value.  It will take seven
-           parameters; a color-pair number (0 to <STRONG>max_pairs</STRONG> -  1),
-           and  two  triples describing first background and then
-           foreground colors.  These  parameters  must  be  (Red,
-           Green, Blue) or (Hue, Lightness, Saturation) depending
-           on <STRONG>hls</STRONG>.
-
-       On some color terminals, colors collide  with  highlights.
-       You can register these collisions with the <STRONG>ncv</STRONG> capability.
-       This is a bit-mask of attributes not to be used when  col-
-       ors  are  enabled.  The correspondence with the attributes
-       understood by <STRONG>curses</STRONG> is as follows:
-
-          <STRONG>Attribute</STRONG>              <STRONG>Bit</STRONG>   <STRONG>Decimal</STRONG>      <STRONG>Set</STRONG> <STRONG>by</STRONG>
-          A_STANDOUT             0     1            sgr
-          A_UNDERLINE            1     2            sgr
-          A_REVERSE              2     4            sgr
-          A_BLINK                3     8            sgr
-          A_DIM                  4     16           sgr
-          A_BOLD                 5     32           sgr
-          A_INVIS                6     64           sgr
-          A_PROTECT              7     128          sgr
-          A_ALTCHARSET           8     256          sgr
-          A_HORIZONTAL           9     512          sgr1
-          A_LEFT                 10    1024         sgr1
-          A_LOW                  11    2048         sgr1
-          A_RIGHT                12    4096         sgr1
-          A_TOP                  13    8192         sgr1
-          A_VERTICAL             14    16384        sgr1
-          A_ITALIC               15    32768        sitm
-
-       For example,  on  many  IBM  PC  consoles,  the  underline
-       attribute  collides  with the foreground color blue and is
-       not available in color mode.  These  should  have  an  <STRONG>ncv</STRONG>
-       capability of 2.
-
-       SVr4  curses  does nothing with <STRONG>ncv</STRONG>, ncurses recognizes it
-       and optimizes the output in favor of colors.
+       <STRONG>o</STRONG>   On a Tektronix-like terminal, the capability <STRONG>ccc</STRONG> may be present  to
+           indicate  that colors can be modified.  If so, the <STRONG>initc</STRONG> capability
+           will take a color number (0 to <STRONG>colors</STRONG> - 1)and three more parameters
+           which  describe the color.  These three parameters default to being
+           interpreted as RGB (Red, Green, Blue) values.  If the boolean capa-
+           bility  <STRONG>hls</STRONG>  is  present,  they are instead as HLS (Hue, Lightness,
+           Saturation) indices.  The ranges are terminal-dependent.
+
+       <STRONG>o</STRONG>   On an HP-like terminal, <STRONG>initp</STRONG> may give a capability for changing  a
+           color-pair value.  It will take seven parameters; a color-pair num-
+           ber (0 to <STRONG>max_pairs</STRONG> - 1), and two triples  describing  first  back-
+           ground  and then foreground colors.  These parameters must be (Red,
+           Green, Blue) or (Hue, Lightness, Saturation) depending on <STRONG>hls</STRONG>.
+
+       On some color terminals, colors collide with highlights.  You can  reg-
+       ister  these collisions with the <STRONG>ncv</STRONG> capability.  This is a bit-mask of
+       attributes not to be used when colors are enabled.  The  correspondence
+       with the attributes understood by <STRONG>curses</STRONG> is as follows:
+
+                <STRONG>Attribute</STRONG>              <STRONG>Bit</STRONG>   <STRONG>Decimal</STRONG>      <STRONG>Set</STRONG> <STRONG>by</STRONG>
+                A_STANDOUT             0     1            sgr
+                A_UNDERLINE            1     2            sgr
+                A_REVERSE              2     4            sgr
+                A_BLINK                3     8            sgr
+                A_DIM                  4     16           sgr
+                A_BOLD                 5     32           sgr
+                A_INVIS                6     64           sgr
+                A_PROTECT              7     128          sgr
+                A_ALTCHARSET           8     256          sgr
+                A_HORIZONTAL           9     512          sgr1
+                A_LEFT                 10    1024         sgr1
+                A_LOW                  11    2048         sgr1
+                A_RIGHT                12    4096         sgr1
+                A_TOP                  13    8192         sgr1
+                A_VERTICAL             14    16384        sgr1
+                A_ITALIC               15    32768        sitm
+
+       For  example, on many IBM PC consoles, the underline attribute collides
+       with the foreground color blue and is  not  available  in  color  mode.
+       These should have an <STRONG>ncv</STRONG> capability of 2.
+
+       SVr4  curses does nothing with <STRONG>ncv</STRONG>, ncurses recognizes it and optimizes
+       the output in favor of colors.
 
 
 </PRE><H3><a name="h3-Miscellaneous">Miscellaneous</a></H3><PRE>
-       If the terminal requires other than a null (zero)  charac-
-       ter  as  a  pad,  then this can be given as pad.  Only the
-       first character of the pad string is used.  If the  termi-
-       nal does not have a pad character, specify npc.  Note that
-       ncurses implements  the  termcap-compatible  <STRONG>PC</STRONG>  variable;
-       though  the  application  may  set this value to something
-       other than a null, ncurses will test  <STRONG>npc</STRONG>  first  and  use
-       napms if the terminal has no pad character.
-
-       If  the terminal can move up or down half a line, this can
-       be indicated with <STRONG>hu</STRONG>  (half-line  up)  and  <STRONG>hd</STRONG>  (half-line
-       down).  This is primarily useful for superscripts and sub-
-       scripts on hard-copy terminals.  If a  hard-copy  terminal
-       can  eject  to  the next page (form feed), give this as <STRONG>ff</STRONG>
+       If the terminal requires other than a null (zero) character as  a  pad,
+       then  this  can  be  given as pad.  Only the first character of the pad
+       string is used.  If the terminal does not have a pad character, specify
+       npc.   Note that ncurses implements the termcap-compatible <STRONG>PC</STRONG> variable;
+       though the application may set this value to  something  other  than  a
+       null,  ncurses will test <STRONG>npc</STRONG> first and use napms if the terminal has no
+       pad character.
+
+       If the terminal can move up or down half a line, this can be  indicated
+       with <STRONG>hu</STRONG> (half-line up) and <STRONG>hd</STRONG> (half-line down).  This is primarily use-
+       ful for superscripts and subscripts on hard-copy terminals.  If a hard-
+       copy  terminal  can eject to the next page (form feed), give this as <STRONG>ff</STRONG>
        (usually control L).
 
-       If there is a command to repeat a given character a  given
-       number  of times (to save time transmitting a large number
-       of identical characters) this can be  indicated  with  the
-       parameterized  string  <STRONG>rep</STRONG>.   The  first  parameter is the
-       character to be repeated and the second is the  number  of
-       times  to repeat it.  Thus, tparm(repeat_char, 'x', 10) is
-       the same as "xxxxxxxxxx".
-
-       If the terminal has a settable command character, such  as
-       the  TEKTRONIX  4025, this can be indicated with <STRONG>cmdch</STRONG>.  A
-       prototype command character is chosen which is used in all
-       capabilities.   This character is given in the <STRONG>cmdch</STRONG> capa-
-       bility to identify it.  The following convention  is  sup-
-       ported  on  some  UNIX  systems:  The environment is to be
-       searched for a <STRONG>CC</STRONG> variable, and if found, all  occurrences
-       of the prototype character are replaced with the character
-       in the environment variable.
-
-       Terminal descriptions that do  not  represent  a  specific
-       kind of known terminal, such as <EM>switch</EM>, <EM>dialup</EM>, <EM>patch</EM>, and
-       <EM>network</EM>, should include the  <STRONG>gn</STRONG>  (generic)  capability  so
-       that  programs  can  complain that they do not know how to
-       talk to the terminal.  (This capability does not apply  to
-       <EM>virtual</EM>   terminal   descriptions  for  which  the  escape
-       sequences are known.)
-
-       If the terminal has a "meta key" which  acts  as  a  shift
-       key,  setting  the  8th  bit of any character transmitted,
-       this fact can be indicated with <STRONG>km</STRONG>.   Otherwise,  software
-       will assume that the 8th bit is parity and it will usually
-       be cleared.  If strings exist to turn this "meta mode"  on
+       If there is a command to repeat a given character  a  given  number  of
+       times  (to  save  time transmitting a large number of identical charac-
+       ters) this can be indicated with the  parameterized  string  <STRONG>rep</STRONG>.   The
+       first  parameter  is the character to be repeated and the second is the
+       number of times to repeat it.  Thus, tparm(repeat_char, 'x', 10) is the
+       same as "xxxxxxxxxx".
+
+       If the terminal has a settable command character, such as the TEKTRONIX
+       4025, this can be indicated with <STRONG>cmdch</STRONG>.  A prototype command  character
+       is  chosen  which is used in all capabilities.  This character is given
+       in the <STRONG>cmdch</STRONG> capability to identify it.  The  following  convention  is
+       supported on some UNIX systems: The environment is to be searched for a
+       <STRONG>CC</STRONG> variable, and if found, all occurrences of the  prototype  character
+       are replaced with the character in the environment variable.
+
+       Terminal  descriptions  that  do not represent a specific kind of known
+       terminal, such as <EM>switch</EM>, <EM>dialup</EM>, <EM>patch</EM>, and  <EM>network</EM>,  should  include
+       the  <STRONG>gn</STRONG> (generic) capability so that programs can complain that they do
+       not know how to talk to the terminal.  (This capability does not  apply
+       to  <EM>virtual</EM>  terminal  descriptions  for which the escape sequences are
+       known.)
+
+       If the terminal has a "meta key" which acts as a shift key, setting the
+       8th  bit  of any character transmitted, this fact can be indicated with
+       <STRONG>km</STRONG>.  Otherwise, software will assume that the 8th bit is parity and  it
+       will  usually be cleared.  If strings exist to turn this "meta mode" on
        and off, they can be given as <STRONG>smm</STRONG> and <STRONG>rmm</STRONG>.
 
-       If  the terminal has more lines of memory than will fit on
-       the screen at once, the number of lines of memory  can  be
-       indicated  with  <STRONG>lm</STRONG>.   A  value of <STRONG>lm</STRONG>#0 indicates that the
-       number of lines is not fixed, but that there is still more
-       memory than fits on the screen.
-
-       If the terminal is one of those supported by the UNIX vir-
-       tual terminal protocol, the terminal number can  be  given
-       as <STRONG>vt</STRONG>.
-
-       Media copy strings which control an auxiliary printer con-
-       nected to the terminal can be given as <STRONG>mc0</STRONG>: print the con-
-       tents  of  the screen, <STRONG>mc4</STRONG>: turn off the printer, and <STRONG>mc5</STRONG>:
-       turn on the printer.  When the printer  is  on,  all  text
-       sent  to  the terminal will be sent to the printer.  It is
-       undefined whether the text is also displayed on the termi-
-       nal screen when the printer is on.  A variation <STRONG>mc5p</STRONG> takes
-       one parameter, and leaves the printer on for as many char-
-       acters  as  the  value  of  the  parameter, then turns the
-       printer off.  The parameter should not  exceed  255.   All
-       text,  including  <STRONG>mc4</STRONG>,  is  transparently  passed  to  the
-       printer while an <STRONG>mc5p</STRONG> is in effect.
+       If the terminal has more lines of memory than will fit on the screen at
+       once,  the number of lines of memory can be indicated with <STRONG>lm</STRONG>.  A value
+       of <STRONG>lm</STRONG>#0 indicates that the number of lines is not fixed, but that there
+       is still more memory than fits on the screen.
+
+       If  the terminal is one of those supported by the UNIX virtual terminal
+       protocol, the terminal number can be given as <STRONG>vt</STRONG>.
+
+       Media copy strings which control an auxiliary printer connected to  the
+       terminal  can  be  given as <STRONG>mc0</STRONG>: print the contents of the screen, <STRONG>mc4</STRONG>:
+       turn off the printer, and <STRONG>mc5</STRONG>: turn on the printer.  When  the  printer
+       is  on,  all text sent to the terminal will be sent to the printer.  It
+       is undefined whether the text is also displayed on the terminal  screen
+       when  the  printer  is  on.   A variation <STRONG>mc5p</STRONG> takes one parameter, and
+       leaves the printer on for as many characters as the value of the param-
+       eter, then turns the printer off.  The parameter should not exceed 255.
+       All text, including <STRONG>mc4</STRONG>, is transparently passed to the  printer  while
+       an <STRONG>mc5p</STRONG> is in effect.
 
 
 </PRE><H3><a name="h3-Glitches-and-Braindamage">Glitches and Braindamage</a></H3><PRE>
-       Hazeltine terminals, which do not allow "~" characters  to
-       be displayed should indicate <STRONG>hz</STRONG>.
-
-       Terminals which ignore a line-feed immediately after an <STRONG>am</STRONG>
-       wrap, such as the Concept and vt100, should indicate <STRONG>xenl</STRONG>.
-
-       If <STRONG>el</STRONG> is required to  get  rid  of  standout  (instead  of
-       merely  writing  normal  text on top of it), <STRONG>xhp</STRONG> should be
-       given.
-
-       Teleray terminals, where tabs turn  all  characters  moved
-       over  to  blanks,  should  indicate <STRONG>xt</STRONG> (destructive tabs).
-       Note:   the    variable    indicating    this    is    now
-       "dest_tabs_magic_smso";  in  older  versions,  it was tel-
-       eray_glitch.  This glitch is also taken to mean that it is
-       not  possible  to  position  the cursor on top of a "magic
-       cookie", that to erase standout mode it is instead  neces-
-       sary to use delete and insert line.  The ncurses implemen-
-       tation ignores this glitch.
-
-       The Beehive Superbee, which is unable to correctly  trans-
-       mit  the escape or control C characters, has <STRONG>xsb</STRONG>, indicat-
-       ing that the f1 key is used for escape and f2 for  control
-       C.   (Only  certain Superbees have this problem, depending
-       on the ROM.)  Note that in older terminfo  versions,  this
-       capability   was   called   "beehive_glitch";  it  is  now
-       "no_esc_ctl_c".
-
-       Other specific  terminal  problems  may  be  corrected  by
-       adding more capabilities of the form <STRONG>x</STRONG><EM>x</EM>.
+       Hazeltine  terminals, which do not allow "~" characters to be displayed
+       should indicate <STRONG>hz</STRONG>.
+
+       Terminals which ignore a line-feed immediately after an <STRONG>am</STRONG>  wrap,  such
+       as the Concept and vt100, should indicate <STRONG>xenl</STRONG>.
+
+       If  <STRONG>el</STRONG>  is  required  to get rid of standout (instead of merely writing
+       normal text on top of it), <STRONG>xhp</STRONG> should be given.
+
+       Teleray terminals, where tabs turn all characters moved over to blanks,
+       should  indicate  <STRONG>xt</STRONG> (destructive tabs).  Note: the variable indicating
+       this is now "dest_tabs_magic_smso"; in  older  versions,  it  was  tel-
+       eray_glitch.  This glitch is also taken to mean that it is not possible
+       to position the cursor on top of a "magic cookie", that to erase stand-
+       out  mode  it  is instead necessary to use delete and insert line.  The
+       ncurses implementation ignores this glitch.
+
+       The Beehive Superbee, which is unable to correctly transmit the  escape
+       or  control  C  characters, has <STRONG>xsb</STRONG>, indicating that the f1 key is used
+       for escape and f2 for control C.  (Only  certain  Superbees  have  this
+       problem,  depending on the ROM.)  Note that in older terminfo versions,
+       this capability was called "beehive_glitch"; it is now "no_esc_ctl_c".
+
+       Other specific terminal problems may be corrected by adding more  capa-
+       bilities of the form <STRONG>x</STRONG><EM>x</EM>.
 
 
 </PRE><H3><a name="h3-Pitfalls-of-Long-Entries">Pitfalls of Long Entries</a></H3><PRE>
-       Long  terminfo  entries  are  unlikely to be a problem; to
-       date, no entry has even  approached  terminfo's  4096-byte
-       string-table maximum.  Unfortunately, the termcap transla-
-       tions are much more strictly limited (to 1023 bytes), thus
-       termcap  translations  of  long terminfo entries can cause
-       problems.
-
-       The man pages for 4.3BSD and  older  versions  of  <STRONG>tgetent</STRONG>
-       instruct  the  user to allocate a 1024-byte buffer for the
-       termcap entry.  The  entry  gets  null-terminated  by  the
-       termcap library, so that makes the maximum safe length for
-       a termcap entry 1k-1 (1023) bytes.  Depending on what  the
-       application  and  the termcap library being used does, and
-       where in the termcap file the terminal type  that  <STRONG>tgetent</STRONG>
-       is searching for is, several bad things can happen.
-
-       Some  termcap libraries print a warning message or exit if
-       they find an entry that's longer than 1023  bytes;  others
-       do  not;  others truncate the entries to 1023 bytes.  Some
-       application programs allocate more than the recommended 1K
-       for the termcap entry; others do not.
-
-       Each termcap entry has two important sizes associated with
-       it: before "tc" expansion, and after "tc" expansion.  "tc"
-       is  the  capability that tacks on another termcap entry to
-       the end of the current one, to add  on  its  capabilities.
-       If  a termcap entry does not use the "tc" capability, then
-       of course the two lengths are the same.
-
-       The "before tc expansion" length  is  the  most  important
-       one,  because it affects more than just users of that par-
-       ticular terminal.  This is the length of the entry  as  it
-       exists in /etc/termcap, minus the backslash-newline pairs,
-       which <STRONG>tgetent</STRONG> strips out while reading it.   Some  termcap
-       libraries  strip  off  the final newline, too (GNU termcap
-       does not).  Now suppose:
-
-       <STRONG>o</STRONG>   a termcap entry before expansion  is  more  than  1023
-           bytes long,
+       Long  terminfo  entries are unlikely to be a problem; to date, no entry
+       has even approached terminfo's 4096-byte string-table maximum.   Unfor-
+       tunately,  the  termcap translations are much more strictly limited (to
+       1023 bytes), thus termcap translations of  long  terminfo  entries  can
+       cause problems.
+
+       The  man  pages  for  4.3BSD and older versions of <STRONG>tgetent</STRONG> instruct the
+       user to allocate a 1024-byte buffer for the termcap entry.   The  entry
+       gets  null-terminated by the termcap library, so that makes the maximum
+       safe length for a termcap entry 1k-1 (1023) bytes.  Depending  on  what
+       the  application  and the termcap library being used does, and where in
+       the termcap file the terminal type that <STRONG>tgetent</STRONG> is  searching  for  is,
+       several bad things can happen.
+
+       Some  termcap libraries print a warning message or exit if they find an
+       entry that's longer than 1023 bytes; others do not; others truncate the
+       entries  to  1023  bytes.  Some application programs allocate more than
+       the recommended 1K for the termcap entry; others do not.
+
+       Each termcap entry has two important sizes associated with  it:  before
+       "tc"  expansion, and after "tc" expansion.  "tc" is the capability that
+       tacks on another termcap entry to the end of the current one, to add on
+       its capabilities.  If a termcap entry does not use the "tc" capability,
+       then of course the two lengths are the same.
+
+       The "before tc expansion" length is the most important one, because  it
+       affects  more than just users of that particular terminal.  This is the
+       length of the entry as it exists in /etc/termcap, minus the  backslash-
+       newline pairs, which <STRONG>tgetent</STRONG> strips out while reading it.  Some termcap
+       libraries strip off the final newline, too (GNU termcap does not).  Now
+       suppose:
+
+       <STRONG>o</STRONG>   a termcap entry before expansion is more than 1023 bytes long,
 
        <STRONG>o</STRONG>   and the application has only allocated a 1k buffer,
 
-       <STRONG>o</STRONG>   and  the  termcap  library (like the one in BSD/OS 1.1
-           and GNU) reads the whole entry  into  the  buffer,  no
-           matter  what  its length, to see if it is the entry it
-           wants,
-
-       <STRONG>o</STRONG>   and <STRONG>tgetent</STRONG> is searching  for  a  terminal  type  that
-           either  is the long entry, appears in the termcap file
-           after the long entry, or does not appear in  the  file
-           at  all (so that <STRONG>tgetent</STRONG> has to search the whole term-
-           cap file).
-
-       Then <STRONG>tgetent</STRONG> will overwrite memory, perhaps its stack, and
-       probably  core dump the program.  Programs like telnet are
-       particularly vulnerable; modern telnets pass along  values
-       like  the  terminal  type  automatically.  The results are
-       almost as undesirable with a termcap library,  like  SunOS
-       4.1.3 and Ultrix 4.4, that prints warning messages when it
-       reads an overly long termcap entry.  If a termcap  library
-       truncates  long  entries,  like OSF/1 3.0, it is immune to
-       dying here but will return incorrect data for  the  termi-
-       nal.
-
-       The "after tc expansion" length will have a similar effect
-       to the above, but only for people who actually set TERM to
-       that terminal type, since <STRONG>tgetent</STRONG> only does "tc" expansion
-       once it is found the terminal type it was looking for, not
-       while searching.
-
-       In summary, a termcap entry that is longer than 1023 bytes
-       can cause, on various combinations  of  termcap  libraries
-       and  applications,  a  core  dump,  warnings, or incorrect
-       operation.  If it is too long even before "tc"  expansion,
-       it will have this effect even for users of some other ter-
-       minal types and users whose TERM variable does not have  a
-       termcap entry.
-
-       When in -C (translate to termcap) mode, the <STRONG>ncurses</STRONG> imple-
-       mentation of <STRONG><A HREF="tic.1m.html">tic(1m)</A></STRONG> issues warning messages when the pre-
-       tc  length  of  a termcap translation is too long.  The -c
-       (check) option also checks resolved (after  tc  expansion)
-       lengths.
+       <STRONG>o</STRONG>   and  the termcap library (like the one in BSD/OS 1.1 and GNU) reads
+           the whole entry into the buffer, no matter what its length, to  see
+           if it is the entry it wants,
+
+       <STRONG>o</STRONG>   and  <STRONG>tgetent</STRONG>  is  searching  for a terminal type that either is the
+           long entry, appears in the termcap file after the  long  entry,  or
+           does  not  appear in the file at all (so that <STRONG>tgetent</STRONG> has to search
+           the whole termcap file).
+
+       Then <STRONG>tgetent</STRONG> will overwrite memory, perhaps  its  stack,  and  probably
+       core  dump the program.  Programs like telnet are particularly vulnera-
+       ble; modern telnets pass along values like the terminal type  automati-
+       cally.   The  results are almost as undesirable with a termcap library,
+       like SunOS 4.1.3 and Ultrix 4.4, that prints warning messages  when  it
+       reads  an  overly  long  termcap entry.  If a termcap library truncates
+       long entries, like OSF/1 3.0, it is  immune  to  dying  here  but  will
+       return incorrect data for the terminal.
+
+       The  "after  tc  expansion"  length  will  have a similar effect to the
+       above, but only for people who actually set TERM to that terminal type,
+       since  <STRONG>tgetent</STRONG>  only  does "tc" expansion once it is found the terminal
+       type it was looking for, not while searching.
+
+       In summary, a termcap entry that is longer than 1023 bytes  can  cause,
+       on  various  combinations of termcap libraries and applications, a core
+       dump, warnings, or incorrect operation.  If it is too long even  before
+       "tc"  expansion,  it will have this effect even for users of some other
+       terminal types and users whose TERM variable does not  have  a  termcap
+       entry.
+
+       When  in  -C (translate to termcap) mode, the <STRONG>ncurses</STRONG> implementation of
+       <STRONG><A HREF="tic.1m.html">tic(1m)</A></STRONG> issues warning messages when the pre-tc  length  of  a  termcap
+       translation  is  too  long.  The -c (check) option also checks resolved
+       (after tc expansion) lengths.
 
 
 </PRE><H3><a name="h3-Binary-Compatibility">Binary Compatibility</a></H3><PRE>
-       It  is not wise to count on portability of binary terminfo
-       entries between commercial UNIX versions.  The problem  is
-       that  there  are  at least two versions of terminfo (under
-       HP-UX and AIX) which diverged from System V terminfo after
-       SVr1,  and have added extension capabilities to the string
-       table that (in the binary format) collide  with  System  V
-       and XSI Curses extensions.
+       It is not wise to count  on  portability  of  binary  terminfo  entries
+       between  commercial  UNIX  versions.   The problem is that there are at
+       least two versions of terminfo (under HP-UX  and  AIX)  which  diverged
+       from  System  V terminfo after SVr1, and have added extension capabili-
+       ties to the string table that (in the binary format) collide with  Sys-
+       tem V and XSI Curses extensions.
 
 
 </PRE><H2><a name="h2-EXTENSIONS">EXTENSIONS</a></H2><PRE>
-       Searching for terminal descriptions in <STRONG>$HOME/.terminfo</STRONG> and
-       TERMINFO_DIRS is not supported by older implementations.
-
-       Some SVr4 <STRONG>curses</STRONG>  implementations,  and  all  previous  to
-       SVr4,  do not interpret the %A and %O operators in parame-
-       ter strings.
-
-       SVr4/XPG4 do not specify whether  <STRONG>msgr</STRONG>  licenses  movement
-       while  in an alternate-character-set mode (such modes may,
-       among other things, map CR and NL to  characters  that  do
-       not  trigger  local  motions).  The <STRONG>ncurses</STRONG> implementation
-       ignores <STRONG>msgr</STRONG> in <STRONG>ALTCHARSET</STRONG> mode.  This raises  the  possi-
-       bility  that  an  XPG4  implementation making the opposite
-       interpretation may need terminfo entries made for  <STRONG>ncurses</STRONG>
-       to have <STRONG>msgr</STRONG> turned off.
-
-       The  <STRONG>ncurses</STRONG>  library handles insert-character and insert-
-       character modes in a slightly non-standard way to get bet-
-       ter  update  efficiency.   See the <STRONG>Insert/Delete</STRONG> <STRONG>Character</STRONG>
-       subsection above.
-
-       The  parameter  substitutions  for  <STRONG>set_clock</STRONG>   and   <STRONG>dis-</STRONG>
-       <STRONG>play_clock</STRONG>  are  not  documented in SVr4 or the XSI Curses
-       standard.  They are deduced from the documentation for the
-       AT&amp;T 505 terminal.
-
-       Be  careful  assigning  the <STRONG>kmous</STRONG> capability.  The <STRONG>ncurses</STRONG>
-       library wants to interpret it as  <STRONG>KEY_MOUSE</STRONG>,  for  use  by
-       terminals  and emulators like xterm that can return mouse-
-       tracking information in the keyboard-input stream.
-
-       X/Open Curses does not mention italics.  Portable applica-
-       tions  must  assume  that  numeric capabilities are signed
-       16-bit values.  This  includes  the  <EM>no</EM><STRONG>_</STRONG><EM>color</EM><STRONG>_</STRONG><EM>video</EM>  (ncv)
-       capability.   The  32768  mask value used for italics with
-       ncv can be confused with an absent or cancelled  ncv.   If
-       italics  should  work with colors, then the ncv value must
-       be specified, even if it is zero.
-
-       Different commercial ports of terminfo and curses  support
-       different  subsets of the XSI Curses standard and (in some
-       cases) different extension sets.  Here is a summary, accu-
-       rate as of October 1995:
-
-       <STRONG>o</STRONG>   <STRONG>SVR4,</STRONG> <STRONG>Solaris,</STRONG> <STRONG>ncurses</STRONG> -- These support all SVr4 capa-
-           bilities.
-
-       <STRONG>o</STRONG>   <STRONG>SGI</STRONG> -- Supports the SVr4 set,  adds  one  undocumented
-           extended string capability (<STRONG>set_pglen</STRONG>).
-
-       <STRONG>o</STRONG>   <STRONG>SVr1,</STRONG>  <STRONG>Ultrix</STRONG>  -- These support a restricted subset of
-           terminfo  capabilities.    The   booleans   end   with
-           <STRONG>xon_xoff</STRONG>; the numerics with <STRONG>width_status_line</STRONG>; and the
-           strings with <STRONG>prtr_non</STRONG>.
-
-       <STRONG>o</STRONG>   <STRONG>HP/UX</STRONG> -- Supports the SVr1 subset, plus  the  SVr[234]
-           numerics  <STRONG>num_labels</STRONG>,  <STRONG>label_height</STRONG>, <STRONG>label_width</STRONG>, plus
-           function keys 11 through 63, plus <STRONG>plab_norm</STRONG>, <STRONG>label_on</STRONG>,
-           and  <STRONG>label_off</STRONG>,  plus  some incompatible extensions in
-           the string table.
-
-       <STRONG>o</STRONG>   <STRONG>AIX</STRONG> -- Supports the SVr1 subset, plus function keys 11
-           through 63, plus a number of incompatible string table
-           extensions.
-
-       <STRONG>o</STRONG>   <STRONG>OSF</STRONG> -- Supports both the SVr4 set and the  AIX  exten-
-           sions.
+       Searching   for  terminal  descriptions  in  <STRONG>$HOME/.terminfo</STRONG>  and  TER-
+       MINFO_DIRS is not supported by older implementations.
+
+       Some SVr4 <STRONG>curses</STRONG> implementations, and all  previous  to  SVr4,  do  not
+       interpret the %A and %O operators in parameter strings.
+
+       SVr4/XPG4  do  not  specify  whether <STRONG>msgr</STRONG> licenses movement while in an
+       alternate-character-set mode (such modes may, among other  things,  map
+       CR  and  NL  to  characters  that  do  not trigger local motions).  The
+       <STRONG>ncurses</STRONG> implementation ignores <STRONG>msgr</STRONG> in <STRONG>ALTCHARSET</STRONG>  mode.   This  raises
+       the  possibility that an XPG4 implementation making the opposite inter-
+       pretation may need terminfo entries  made  for  <STRONG>ncurses</STRONG>  to  have  <STRONG>msgr</STRONG>
+       turned off.
+
+       The <STRONG>ncurses</STRONG> library handles insert-character and insert-character modes
+       in a slightly non-standard way to get better  update  efficiency.   See
+       the <STRONG>Insert/Delete</STRONG> <STRONG>Character</STRONG> subsection above.
+
+       The  parameter  substitutions  for  <STRONG>set_clock</STRONG> and <STRONG>display_clock</STRONG> are not
+       documented in SVr4 or the XSI Curses standard.  They are  deduced  from
+       the documentation for the AT&amp;T 505 terminal.
+
+       Be  careful  assigning the <STRONG>kmous</STRONG> capability.  The <STRONG>ncurses</STRONG> library wants
+       to interpret it as <STRONG>KEY_MOUSE</STRONG>, for use by terminals and  emulators  like
+       xterm  that can return mouse-tracking information in the keyboard-input
+       stream.
+
+       X/Open Curses does not mention  italics.   Portable  applications  must
+       assume  that  numeric  capabilities  are  signed  16-bit  values.  This
+       includes the <EM>no</EM><STRONG>_</STRONG><EM>color</EM><STRONG>_</STRONG><EM>video</EM> (ncv) capability.   The  32768  mask  value
+       used  for  italics with ncv can be confused with an absent or cancelled
+       ncv.  If italics should work with colors, then the ncv  value  must  be
+       specified, even if it is zero.
+
+       Different  commercial  ports  of  terminfo and curses support different
+       subsets of the XSI Curses standard and (in some cases) different exten-
+       sion sets.  Here is a summary, accurate as of October 1995:
+
+       <STRONG>o</STRONG>   <STRONG>SVR4,</STRONG> <STRONG>Solaris,</STRONG> <STRONG>ncurses</STRONG> -- These support all SVr4 capabilities.
+
+       <STRONG>o</STRONG>   <STRONG>SGI</STRONG> -- Supports the SVr4 set, adds one undocumented extended string
+           capability (<STRONG>set_pglen</STRONG>).
+
+       <STRONG>o</STRONG>   <STRONG>SVr1,</STRONG> <STRONG>Ultrix</STRONG> -- These support a restricted subset of terminfo capa-
+           bilities.   The  booleans  end  with  <STRONG>xon_xoff</STRONG>;  the  numerics with
+           <STRONG>width_status_line</STRONG>; and the strings with <STRONG>prtr_non</STRONG>.
+
+       <STRONG>o</STRONG>   <STRONG>HP/UX</STRONG> -- Supports the  SVr1  subset,  plus  the  SVr[234]  numerics
+           <STRONG>num_labels</STRONG>,   <STRONG>label_height</STRONG>,  <STRONG>label_width</STRONG>,  plus  function  keys  11
+           through 63, plus <STRONG>plab_norm</STRONG>,  <STRONG>label_on</STRONG>,  and  <STRONG>label_off</STRONG>,  plus  some
+           incompatible extensions in the string table.
+
+       <STRONG>o</STRONG>   <STRONG>AIX</STRONG>  -- Supports the SVr1 subset, plus function keys 11 through 63,
+           plus a number of incompatible string table extensions.
+
+       <STRONG>o</STRONG>   <STRONG>OSF</STRONG> -- Supports both the SVr4 set and the AIX extensions.
 
 
 </PRE><H2><a name="h2-FILES">FILES</a></H2><PRE>
-       /usr/share/terminfo/?/*  files     containing     terminal
-                                descriptions
+       /usr/share/terminfo/?/*  files containing terminal descriptions
 
 
 </PRE><H2><a name="h2-SEE-ALSO">SEE ALSO</a></H2><PRE>
-       <STRONG><A HREF="tic.1m.html">tic(1m)</A></STRONG>,    <STRONG><A HREF="infocmp.1m.html">infocmp(1m)</A></STRONG>,    <STRONG><A HREF="ncurses.3x.html">curses(3x)</A></STRONG>,    <STRONG><A HREF="curs_color.3x.html">curs_color(3x)</A></STRONG>,
-       <STRONG>printf(3)</STRONG>, <STRONG><A HREF="term.5.html">term(5)</A></STRONG>.  <STRONG><A HREF="term_variables.3x.html">term_variables(3x)</A></STRONG>.
+       <STRONG><A HREF="tic.1m.html">tic(1m)</A></STRONG>, <STRONG><A HREF="infocmp.1m.html">infocmp(1m)</A></STRONG>, <STRONG><A HREF="ncurses.3x.html">curses(3x)</A></STRONG>, <STRONG><A HREF="curs_color.3x.html">curs_color(3x)</A></STRONG>,  <STRONG>printf(3)</STRONG>,  <STRONG><A HREF="term.5.html">term(5)</A></STRONG>.
+       <STRONG><A HREF="term_variables.3x.html">term_variables(3x)</A></STRONG>.
 
 
 </PRE><H2><a name="h2-AUTHORS">AUTHORS</a></H2><PRE>
-       Zeyd  M.  Ben-Halim,  Eric  S.  Raymond, Thomas E. Dickey.
-       Based on pcurses by Pavel Curtis.
+       Zeyd M. Ben-Halim, Eric S. Raymond, Thomas E. Dickey.  Based on pcurses
+       by Pavel Curtis.
 
 
 
-                                                            <STRONG><A HREF="terminfo.5.html">terminfo(5)</A></STRONG>
+                                                                   <STRONG><A HREF="terminfo.5.html">terminfo(5)</A></STRONG>
 </PRE>
 <div class="nav">
 <ul>
index 27486f49882920ea586c290f3e15889d2efba4ed..3329413fcbb2f2997787604deb3919311bf8495c 100644 (file)
@@ -40,7 +40,7 @@
 <BODY>
 <H1 class="no-header">tic 1m</H1>
 <PRE>
-<STRONG><A HREF="tic.1m.html">tic(1m)</A></STRONG>                                                         <STRONG><A HREF="tic.1m.html">tic(1m)</A></STRONG>
+<STRONG><A HREF="tic.1m.html">tic(1m)</A></STRONG>                                                                <STRONG><A HREF="tic.1m.html">tic(1m)</A></STRONG>
 
 
 
 
 
 </PRE><H2><a name="h2-SYNOPSIS">SYNOPSIS</a></H2><PRE>
-       <STRONG>tic</STRONG>  [<STRONG>-01CDGIKLNTUVWacfgqrstx</STRONG>] [<STRONG>-e</STRONG> <EM>names</EM>] [<STRONG>-o</STRONG> <EM>dir</EM>] [<STRONG>-Q</STRONG>[<EM>n</EM>]]
-       [<STRONG>-R</STRONG> <EM>subset</EM>] [<STRONG>-v</STRONG>[<EM>n</EM>]] [<STRONG>-w</STRONG>[<EM>n</EM>]] <EM>file</EM>
+       <STRONG>tic</STRONG>  [<STRONG>-01CDGIKLNTUVWacfgqrstx</STRONG>]  [<STRONG>-e</STRONG> <EM>names</EM>] [<STRONG>-o</STRONG> <EM>dir</EM>] [<STRONG>-Q</STRONG>[<EM>n</EM>]] [<STRONG>-R</STRONG> <EM>subset</EM>]
+       [<STRONG>-v</STRONG>[<EM>n</EM>]] [<STRONG>-w</STRONG>[<EM>n</EM>]] <EM>file</EM>
 
 
 </PRE><H2><a name="h2-DESCRIPTION">DESCRIPTION</a></H2><PRE>
-       The <STRONG>tic</STRONG> command translates a  <STRONG>terminfo</STRONG>  file  from  source
-       format  into compiled format.  The compiled format is nec-
-       essary for use with the library routines in <STRONG><A HREF="ncurses.3x.html">ncurses(3x)</A></STRONG>.
-
-       As described in <STRONG><A HREF="term.5.html">term(5)</A></STRONG>, the  database  may  be  either  a
-       directory  tree  (one file per terminal entry) or a hashed
-       database (one record per entry).  The <STRONG>tic</STRONG>  command  writes
-       only one type of entry, depending on how it was built:
-
-       <STRONG>o</STRONG>   For  directory  trees,  the top-level directory, e.g.,
-           /usr/share/terminfo, specifies  the  location  of  the
-           database.
-
-       <STRONG>o</STRONG>   For  hashed  databases,  a filename is needed.  If the
-           given file is not found by that name, but can be found
-           by adding the suffix ".db", then that is used.
-
-           The  default  name for the hashed database is the same
-           as the default directory name  (only  adding  a  ".db"
-           suffix).
-
-       In  either  case  (directory or hashed database), <STRONG>tic</STRONG> will
-       create the container if it does not exist.  For  a  direc-
-       tory,  this  would  be the "terminfo" leaf, versus a "ter-
-       minfo.db" file.
-
-       The results are normally placed  in  the  system  terminfo
-       database   <STRONG>/usr/share/terminfo</STRONG>.    The  compiled  terminal
-       description can be placed in a  different  terminfo  data-
-       base.  There are two ways to achieve this:
-
-       <STRONG>o</STRONG>   First,  you  may override the system default either by
-           using the <STRONG>-o</STRONG> option, or by setting the  variable  <STRONG>TER-</STRONG>
-           <STRONG>MINFO</STRONG>  in  your  shell environment to a valid database
-           location.
-
-       <STRONG>o</STRONG>   Secondly, if <STRONG>tic</STRONG> cannot write  in  <EM>/usr/share/terminfo</EM>
-           or  the  location  specified using your TERMINFO vari-
-           able, it looks for the directory  <EM>$HOME/.terminfo</EM>  (or
-           hashed  database <EM>$HOME/.terminfo.db)</EM>; if that location
-           exists, the entry is placed there.
-
-       Libraries that read terminfo entries are expected to check
-       in succession
-
-       <STRONG>o</STRONG>   a  location  specified  with  the TERMINFO environment
-           variable,
+       The <STRONG>tic</STRONG> command translates a <STRONG>terminfo</STRONG> file from source format into com-
+       piled  format.   The  compiled  format  is  necessary  for use with the
+       library routines in <STRONG><A HREF="ncurses.3x.html">ncurses(3x)</A></STRONG>.
+
+       As described in <STRONG><A HREF="term.5.html">term(5)</A></STRONG>, the database may be either  a  directory  tree
+       (one  file  per  terminal  entry)  or a hashed database (one record per
+       entry).  The <STRONG>tic</STRONG> command writes only one type of  entry,  depending  on
+       how it was built:
+
+       <STRONG>o</STRONG>   For directory trees, the top-level directory, e.g., /usr/share/ter-
+           minfo, specifies the location of the database.
+
+       <STRONG>o</STRONG>   For hashed databases, a filename is needed.  If the given  file  is
+           not  found  by  that  name,  but  can be found by adding the suffix
+           ".db", then that is used.
+
+           The default name for the hashed database is the same as the default
+           directory name (only adding a ".db" suffix).
+
+       In either case (directory or hashed database), <STRONG>tic</STRONG> will create the con-
+       tainer if it does not exist.  For a directory, this would be the  "ter-
+       minfo" leaf, versus a "terminfo.db" file.
+
+       The  results  are  normally  placed  in  the  system  terminfo database
+       <STRONG>/usr/share/terminfo</STRONG>.  The compiled terminal description can  be  placed
+       in a different terminfo database.  There are two ways to achieve this:
+
+       <STRONG>o</STRONG>   First,  you  may override the system default either by using the <STRONG>-o</STRONG>
+           option, or by setting the variable <STRONG>TERMINFO</STRONG> in your shell  environ-
+           ment to a valid database location.
+
+       <STRONG>o</STRONG>   Secondly,  if  <STRONG>tic</STRONG> cannot write in <EM>/usr/share/terminfo</EM> or the loca-
+           tion specified using your  TERMINFO  variable,  it  looks  for  the
+           directory  <EM>$HOME/.terminfo</EM> (or hashed database <EM>$HOME/.terminfo.db)</EM>;
+           if that location exists, the entry is placed there.
+
+       Libraries that read terminfo entries are expected to check  in  succes-
+       sion
+
+       <STRONG>o</STRONG>   a location specified with the TERMINFO environment variable,
 
        <STRONG>o</STRONG>   <EM>$HOME/.terminfo</EM>,
 
-       <STRONG>o</STRONG>   directories listed in  the  TERMINFO_DIRS  environment
-           variable,
+       <STRONG>o</STRONG>   directories listed in the TERMINFO_DIRS environment variable,
 
-       <STRONG>o</STRONG>   a       compiled-in      list      of      directories
-           (/usr/local/ncurses/share/terminfo:/usr/share/ter-
-           minfo), and
+       <STRONG>o</STRONG>   a  compiled-in  list  of directories (/usr/local/ncurses/share/ter-
+           minfo:/usr/share/terminfo), and
 
        <STRONG>o</STRONG>   the system terminfo database (<EM>/usr/share/terminfo</EM>).
 
 
        <STRONG>-1</STRONG>     restricts the output to a single column
 
-       <STRONG>-a</STRONG>     tells  <STRONG>tic</STRONG>  to  retain  commented-out  capabilities
-              rather than discarding them.  Capabilities are com-
-              mented  by prefixing them with a period.  This sets
-              the <STRONG>-x</STRONG> option, because it treats the  commented-out
-              entries  as  user-defined  names.  If the source is
-              termcap, accept the 2-character names  required  by
-              version 6.  Otherwise these are ignored.
-
-       <STRONG>-C</STRONG>     Force  source translation to termcap format.  Note:
-              this differs from the <STRONG>-C</STRONG> option of  <STRONG><A HREF="infocmp.1m.html">infocmp(1m)</A></STRONG>  in
-              that it does not merely translate capability names,
-              but also translates  terminfo  strings  to  termcap
-              format.  Capabilities that are not translatable are
-              left in the entry under their  terminfo  names  but
-              commented  out with two preceding dots.  The actual
-              format  used  incorporates  some  improvements  for
-              escaped  characters  from  terminfo  format.  For a
-              stricter BSD-compatible  translation,  add  the  <STRONG>-K</STRONG>
-              option.
-
-              If  this  is combined with <STRONG>-c</STRONG>, <STRONG>tic</STRONG> makes additional
-              checks to report cases where the terminfo values do
-              not  have an exact equivalent in termcap form.  For
-              example:
-
-              <STRONG>o</STRONG>   <STRONG>sgr</STRONG> usually will not convert,  because  termcap
-                  lacks  the  ability  to work with more than two
-                  parameters, and because termcap lacks  many  of
-                  the  arithmetic/logical  operators used in ter-
-                  minfo.
-
-              <STRONG>o</STRONG>   capabilities with more than one delay  or  with
-                  delays  before  the  end of the string will not
-                  convert completely.
-
-       <STRONG>-c</STRONG>     tells <STRONG>tic</STRONG> to only check <EM>file</EM> for errors,  including
-              syntax  problems and bad use links.  If you specify
-              <STRONG>-C</STRONG> (<STRONG>-I</STRONG>) with this option, the code will print warn-
-              ings about entries which, after use resolution, are
-              more than 1023 (4096) bytes long.  Due to  a  fixed
-              buffer  length  in older termcap libraries, as well
-              as buggy checking for the buffer length (and a doc-
-              umented limit in terminfo), these entries may cause
-              core dumps with other implementations.
-
-              <STRONG>tic</STRONG> checks string capabilities to ensure that those
-              with parameters will be valid expressions.  It does
-              this check only for the predefined string capabili-
-              ties;  those  which  are defined with the <STRONG>-x</STRONG> option
-              are ignored.
-
-       <STRONG>-D</STRONG>     tells <STRONG>tic</STRONG> to print the database locations  that  it
-              knows about, and exit.  The first location shown is
-              the one to which it would write  compiled  terminal
-              descriptions.   If  <STRONG>tic</STRONG>  is  not  able  to  find  a
-              writable database location according to  the  rules
-              summarized  above,  it  will print a diagnostic and
-              exit with an error rather than printing a  list  of
-              database locations.
+       <STRONG>-a</STRONG>     tells <STRONG>tic</STRONG> to retain commented-out capabilities rather than  dis-
+              carding them.  Capabilities are commented by prefixing them with
+              a period.  This sets the <STRONG>-x</STRONG> option, because it treats  the  com-
+              mented-out  entries  as  user-defined  names.   If the source is
+              termcap, accept the 2-character names  required  by  version  6.
+              Otherwise these are ignored.
+
+       <STRONG>-C</STRONG>     Force  source translation to termcap format.  Note: this differs
+              from the <STRONG>-C</STRONG> option of <STRONG><A HREF="infocmp.1m.html">infocmp(1m)</A></STRONG> in that  it  does  not  merely
+              translate capability names, but also translates terminfo strings
+              to termcap format.  Capabilities that are not  translatable  are
+              left  in  the entry under their terminfo names but commented out
+              with two preceding dots.  The actual  format  used  incorporates
+              some  improvements  for escaped characters from terminfo format.
+              For a stricter BSD-compatible translation, add the <STRONG>-K</STRONG> option.
+
+              If this is combined with <STRONG>-c</STRONG>,  <STRONG>tic</STRONG>  makes  additional  checks  to
+              report  cases  where  the  terminfo  values do not have an exact
+              equivalent in termcap form.  For example:
+
+              <STRONG>o</STRONG>   <STRONG>sgr</STRONG> usually will not  convert,  because  termcap  lacks  the
+                  ability  to  work with more than two parameters, and because
+                  termcap lacks many of the arithmetic/logical operators  used
+                  in terminfo.
+
+              <STRONG>o</STRONG>   capabilities  with more than one delay or with delays before
+                  the end of the string will not convert completely.
+
+       <STRONG>-c</STRONG>     tells <STRONG>tic</STRONG> to only check <EM>file</EM> for errors, including syntax  prob-
+              lems  and  bad  use  links.   If  you  specify <STRONG>-C</STRONG> (<STRONG>-I</STRONG>) with this
+              option, the code will print warnings about entries which,  after
+              use  resolution, are more than 1023 (4096) bytes long.  Due to a
+              fixed buffer length in older termcap libraries, as well as buggy
+              checking  for  the buffer length (and a documented limit in ter-
+              minfo), these entries may cause core dumps with other  implemen-
+              tations.
+
+              <STRONG>tic</STRONG> checks string capabilities to ensure that those with parame-
+              ters will be valid expressions.  It does this check only for the
+              predefined string capabilities; those which are defined with the
+              <STRONG>-x</STRONG> option are ignored.
+
+       <STRONG>-D</STRONG>     tells <STRONG>tic</STRONG> to print the database locations that it  knows  about,
+              and exit.  The first location shown is the one to which it would
+              write compiled terminal descriptions.  If <STRONG>tic</STRONG>  is  not  able  to
+              find  a writable database location according to the rules summa-
+              rized above, it will print a diagnostic and exit with  an  error
+              rather than printing a list of database locations.
 
        <STRONG>-e</STRONG> <EM>names</EM>
-              Limit  writes  and  translations  to  the following
-              comma-separated list of terminals.  If any name  or
-              alias of a terminal matches one of the names in the
-              list, the entry will be written  or  translated  as
-              normal.   Otherwise no output will be generated for
-              it.  The option value is interpreted as a file con-
-              taining  the  list  if  it  contains a '/'.  (Note:
-              depending on how tic was compiled, this option  may
-              require <STRONG>-I</STRONG> or <STRONG>-C</STRONG>.)
-
-       <STRONG>-f</STRONG>     Display  complex  terminfo  strings  which  contain
-              if/then/else/endif expressions indented  for  read-
-              ability.
-
-       <STRONG>-G</STRONG>     Display  constant  literals  in decimal form rather
-              than their character equivalents.
-
-       <STRONG>-g</STRONG>     Display constant character literals in quoted  form
-              rather than their decimal equivalents.
+              Limit  writes  and translations to the following comma-separated
+              list of terminals.  If any name or alias of a  terminal  matches
+              one  of  the  names  in  the  list, the entry will be written or
+              translated as normal.  Otherwise no output will be generated for
+              it.   The  option  value is interpreted as a file containing the
+              list if it contains a '/'.  (Note: depending on how tic was com-
+              piled, this option may require <STRONG>-I</STRONG> or <STRONG>-C</STRONG>.)
+
+       <STRONG>-f</STRONG>     Display     complex     terminfo     strings    which    contain
+              if/then/else/endif expressions indented for readability.
+
+       <STRONG>-G</STRONG>     Display constant literals in  decimal  form  rather  than  their
+              character equivalents.
+
+       <STRONG>-g</STRONG>     Display  constant  character literals in quoted form rather than
+              their decimal equivalents.
 
        <STRONG>-I</STRONG>     Force source translation to terminfo format.
 
-       <STRONG>-K</STRONG>     Suppress  some  longstanding  ncurses extensions to
-              termcap format, e.g., "\s" for space.
-
-       <STRONG>-L</STRONG>     Force source translation to terminfo  format  using
-              the long C variable names listed in &lt;<STRONG>term.h</STRONG>&gt;
-
-       <STRONG>-N</STRONG>     Disable smart defaults.  Normally, when translating
-              from termcap to terminfo, the compiler makes a num-
-              ber  of  assumptions  about  the defaults of string
-              capabilities <STRONG>reset1_string</STRONG>,  <STRONG>carriage_return</STRONG>,  <STRONG>cur-</STRONG>
-              <STRONG>sor_left</STRONG>,  <STRONG>cursor_down</STRONG>,  <STRONG>scroll_forward</STRONG>,  <STRONG>tab</STRONG>, <STRONG>new-</STRONG>
-              <STRONG>line</STRONG>, <STRONG>key_backspace</STRONG>, <STRONG>key_left</STRONG>, and  <STRONG>key_down</STRONG>,  then
-              attempts  to  use  obsolete termcap capabilities to
-              deduce correct values.  It also normally suppresses
-              output of obsolete termcap capabilities such as <STRONG>bs</STRONG>.
-              This option forces a more literal translation  that
+       <STRONG>-K</STRONG>     Suppress some longstanding ncurses extensions to termcap format,
+              e.g., "\s" for space.
+
+       <STRONG>-L</STRONG>     Force  source  translation  to  terminfo format using the long C
+              variable names listed in &lt;<STRONG>term.h</STRONG>&gt;
+
+       <STRONG>-N</STRONG>     Disable smart defaults.  Normally, when translating from termcap
+              to  terminfo,  the  compiler makes a number of assumptions about
+              the  defaults  of  string   capabilities   <STRONG>reset1_string</STRONG>,   <STRONG>car-</STRONG>
+              <STRONG>riage_return</STRONG>,  <STRONG>cursor_left</STRONG>,  <STRONG>cursor_down</STRONG>,  <STRONG>scroll_forward</STRONG>,  <STRONG>tab</STRONG>,
+              <STRONG>newline</STRONG>, <STRONG>key_backspace</STRONG>, <STRONG>key_left</STRONG>, and <STRONG>key_down</STRONG>, then attempts to
+              use  obsolete termcap capabilities to deduce correct values.  It
+              also normally suppresses output of obsolete termcap capabilities
+              such  as <STRONG>bs</STRONG>.  This option forces a more literal translation that
               also preserves the obsolete capabilities.
 
-       <STRONG>-o</STRONG><EM>dir</EM>  Write  compiled entries to given database location.
-              Overrides the TERMINFO environment variable.
+       <STRONG>-o</STRONG><EM>dir</EM>  Write compiled entries to given  database  location.   Overrides
+              the TERMINFO environment variable.
 
-       <STRONG>-Q</STRONG><EM>n</EM>    Rather than show source in terminfo (text)  format,
-              print  the  compiled (binary) format in hexadecimal
-              or base64 form, depending on the option's value:
+       <STRONG>-Q</STRONG><EM>n</EM>    Rather  than  show  source  in terminfo (text) format, print the
+              compiled (binary) format in hexadecimal or base64 form,  depend-
+              ing on the option's value:
 
                1  hexadecimal
 
 
                3  hexadecimal and base64
 
-       <STRONG>-q</STRONG>     Suppress comments  and  blank  lines  when  showing
-              translated source.
+       <STRONG>-q</STRONG>     Suppress  comments  and  blank  lines  when  showing  translated
+              source.
 
        <STRONG>-R</STRONG><EM>subset</EM>
-              Restrict  output to a given subset.  This option is
-              for use with  archaic  versions  of  terminfo  like
-              those on SVr1, Ultrix, or HP/UX that do not support
-              the full set of SVR4/XSI Curses terminfo; and  out-
-              right broken ports like AIX 3.x that have their own
-              extensions incompatible with  SVr4/XSI.   Available
-              subsets  are  "SVr1",  "Ultrix",  "HP",  "BSD"  and
-              "AIX"; see <STRONG><A HREF="terminfo.5.html">terminfo(5)</A></STRONG> for details.
-
-       <STRONG>-r</STRONG>     Force entry resolution (so there are  no  remaining
-              tc  capabilities)  even  when  doing translation to
-              termcap format.  This may be needed if you are pre-
-              paring  a  termcap file for a termcap library (such
-              as GNU termcap through version 1.3 or  BSD  termcap
-              through  4.3BSD)  that  does not handle multiple tc
-              capabilities per entry.
-
-       <STRONG>-s</STRONG>     Summarize the compile by showing the database loca-
-              tion into which entries are written, and the number
-              of entries which are compiled.
-
-       <STRONG>-T</STRONG>     eliminates size-restrictions on the generated text.
-              This  is  mainly  useful  for testing and analysis,
-              since the compiled descriptions are limited  (e.g.,
-              1023 for termcap, 4096 for terminfo).
-
-       <STRONG>-t</STRONG>     tells  <STRONG>tic</STRONG>  to  discard commented-out capabilities.
-              Normally when translating from terminfo to termcap,
-              untranslatable capabilities are commented-out.
-
-       <STRONG>-U</STRONG>   tells  <STRONG>tic</STRONG> to not post-process the data after parsing
-            the source file.  Normally, it infers data  which  is
-            commonly  missing in older terminfo data, or in term-
-            caps.
-
-       <STRONG>-V</STRONG>   reports the version of ncurses which was used in this
-            program, and exits.
-
-       <STRONG>-v</STRONG><EM>n</EM>  specifies  that  (verbose) output be written to stan-
-            dard error trace information showing <STRONG>tic</STRONG>'s progress.
-
-            The optional parameter <EM>n</EM> is a number from  1  to  10,
-            inclusive,  indicating the desired level of detail of
-            information.  If ncurses  is  built  without  tracing
-            support,  the optional parameter is ignored.  If <EM>n</EM> is
-            omitted, the default level is 1.  If <EM>n</EM>  is  specified
-            and greater than 1, the level of detail is increased.
+              Restrict output to a given subset.  This option is for use  with
+              archaic  versions  of  terminfo  like  those on SVr1, Ultrix, or
+              HP/UX that do not support the full set of SVR4/XSI  Curses  ter-
+              minfo;  and  outright  broken ports like AIX 3.x that have their
+              own extensions incompatible with  SVr4/XSI.   Available  subsets
+              are "SVr1", "Ultrix", "HP", "BSD" and "AIX"; see <STRONG><A HREF="terminfo.5.html">terminfo(5)</A></STRONG> for
+              details.
+
+       <STRONG>-r</STRONG>     Force entry resolution (so there are no remaining  tc  capabili-
+              ties)  even  when doing translation to termcap format.  This may
+              be needed if you are preparing a  termcap  file  for  a  termcap
+              library  (such as GNU termcap through version 1.3 or BSD termcap
+              through 4.3BSD) that does not handle  multiple  tc  capabilities
+              per entry.
+
+       <STRONG>-s</STRONG>     Summarize  the  compile  by  showing  the database location into
+              which entries are written, and the number of entries  which  are
+              compiled.
+
+       <STRONG>-T</STRONG>     eliminates  size-restrictions  on  the  generated text.  This is
+              mainly useful for  testing  and  analysis,  since  the  compiled
+              descriptions  are limited (e.g., 1023 for termcap, 4096 for ter-
+              minfo).
+
+       <STRONG>-t</STRONG>     tells <STRONG>tic</STRONG> to discard commented-out capabilities.  Normally  when
+              translating  from  terminfo to termcap, untranslatable capabili-
+              ties are commented-out.
+
+       <STRONG>-U</STRONG>   tells <STRONG>tic</STRONG> to not post-process the data after  parsing  the  source
+            file.  Normally, it infers data which is commonly missing in older
+            terminfo data, or in termcaps.
+
+       <STRONG>-V</STRONG>   reports the version of ncurses which was used in this program, and
+            exits.
+
+       <STRONG>-v</STRONG><EM>n</EM>  specifies that (verbose) output be written to standard error trace
+            information showing <STRONG>tic</STRONG>'s progress.
+
+            The optional parameter <EM>n</EM> is a number  from  1  to  10,  inclusive,
+            indicating the desired level of detail of information.  If ncurses
+            is built  without  tracing  support,  the  optional  parameter  is
+            ignored.  If <EM>n</EM> is omitted, the default level is 1.  If <EM>n</EM> is speci-
+            fied and greater than 1, the level of detail is increased.
 
             The debug flag levels are as follows:
 
 
             8      List of tokens encountered by scanner
 
-            9      All  values  computed  in  construction of the
-                   hash table
+            9      All values computed in construction of the hash table
 
-            If the debug level <EM>n</EM> is not given, it is taken to  be
-            one.
+            If the debug level <EM>n</EM> is not given, it is taken to be one.
 
-       <STRONG>-W</STRONG>   By  itself, the <STRONG>-w</STRONG> option will not force long strings
-            to be wrapped.  Use the <STRONG>-W</STRONG> option to do this.
+       <STRONG>-W</STRONG>   By itself, the <STRONG>-w</STRONG>  option  will  not  force  long  strings  to  be
+            wrapped.  Use the <STRONG>-W</STRONG> option to do this.
 
-       <STRONG>-w</STRONG><EM>n</EM>  specifies the width of the output.  The parameter  is
-            optional.  If it is omitted, it defaults to 60.
+       <STRONG>-w</STRONG><EM>n</EM>  specifies the width of the output.  The parameter is optional.  If
+            it is omitted, it defaults to 60.
 
-       <STRONG>-x</STRONG>   Treat unknown capabilities as user-defined.  That is,
-            if you supply a capability name which  <STRONG>tic</STRONG>  does  not
-            recognize, it will infer its type (boolean, number or
-            string) from the syntax and make  an  extended  table
-            entry  for  that.   User-defined  capability  strings
-            whose name begins with "k" are  treated  as  function
-            keys.
+       <STRONG>-x</STRONG>   Treat unknown capabilities as user-defined.  That is, if you  sup-
+            ply  a capability name which <STRONG>tic</STRONG> does not recognize, it will infer
+            its type (boolean, number or string) from the syntax and  make  an
+            extended  table  entry  for that.  User-defined capability strings
+            whose name begins with "k" are treated as function keys.
 
 
 </PRE><H3><a name="h3-PARAMETERS">PARAMETERS</a></H3><PRE>
-       <EM>file</EM>   contains one or more <STRONG>terminfo</STRONG> terminal descriptions
-              in source format [see <STRONG><A HREF="terminfo.5.html">terminfo(5)</A></STRONG>].  Each  descrip-
-              tion  in  the  file describes the capabilities of a
-              particular terminal.
+       <EM>file</EM>   contains one or more <STRONG>terminfo</STRONG> terminal  descriptions  in  source
+              format   [see   <STRONG><A HREF="terminfo.5.html">terminfo(5)</A></STRONG>].   Each  description  in  the  file
+              describes the capabilities of a particular terminal.
 
-              If <EM>file</EM> is "-", then the  data  is  read  from  the
-              standard input.  The <EM>file</EM> parameter may also be the
-              path of a character-device.
+              If <EM>file</EM> is "-", then the data is read from the  standard  input.
+              The <EM>file</EM> parameter may also be the path of a character-device.
 
 
 </PRE><H3><a name="h3-PROCESSING">PROCESSING</a></H3><PRE>
-       All but one of the capabilities recognized by <STRONG>tic</STRONG> are doc-
-       umented in <STRONG><A HREF="terminfo.5.html">terminfo(5)</A></STRONG>.  The exception is the <STRONG>use</STRONG> capabil-
-       ity.
-
-       When a <STRONG>use</STRONG>=<EM>entry</EM>-<EM>name</EM> field is discovered  in  a  terminal
-       entry  currently  being  compiled, <STRONG>tic</STRONG> reads in the binary
-       from <STRONG>/usr/share/terminfo</STRONG> to complete the entry.   (Entries
-       created  from <EM>file</EM> will be used first.  <STRONG>tic</STRONG> duplicates the
-       capabilities in <EM>entry</EM>-<EM>name</EM> for the current entry, with the
-       exception   of  those  capabilities  that  explicitly  are
-       defined in the current entry.
-
-       When   an   entry,   e.g.,   <STRONG>entry_name_1</STRONG>,   contains    a
-       <STRONG>use=</STRONG><EM>entry</EM>_<EM>name</EM>_<EM>2</EM>   field,  any  canceled  capabilities  in
-       <EM>entry</EM>_<EM>name</EM>_<EM>2</EM> must also appear in <STRONG>entry_name_1</STRONG> before  <STRONG>use=</STRONG>
-       for these capabilities to be canceled in <STRONG>entry_name_1</STRONG>.
-
-       Total compiled entries cannot exceed 4096 bytes.  The name
-       field cannot exceed 512 bytes.  Terminal  names  exceeding
-       the  maximum  alias  length (32 characters on systems with
-       long filenames, 14 characters otherwise) will be truncated
-       to  the maximum alias length and a warning message will be
-       printed.
+       All  but  one  of  the capabilities recognized by <STRONG>tic</STRONG> are documented in
+       <STRONG><A HREF="terminfo.5.html">terminfo(5)</A></STRONG>.  The exception is the <STRONG>use</STRONG> capability.
+
+       When a <STRONG>use</STRONG>=<EM>entry</EM>-<EM>name</EM> field is discovered in a terminal entry currently
+       being  compiled,  <STRONG>tic</STRONG>  reads  in the binary from <STRONG>/usr/share/terminfo</STRONG> to
+       complete the entry.  (Entries created from <EM>file</EM>  will  be  used  first.
+       <STRONG>tic</STRONG>  duplicates  the  capabilities in <EM>entry</EM>-<EM>name</EM> for the current entry,
+       with the exception of those capabilities that explicitly are defined in
+       the current entry.
+
+       When  an  entry, e.g., <STRONG>entry_name_1</STRONG>, contains a <STRONG>use=</STRONG><EM>entry</EM>_<EM>name</EM>_<EM>2</EM> field,
+       any  canceled  capabilities  in  <EM>entry</EM>_<EM>name</EM>_<EM>2</EM>  must  also   appear   in
+       <STRONG>entry_name_1</STRONG>  before  <STRONG>use=</STRONG>  for  these  capabilities  to be canceled in
+       <STRONG>entry_name_1</STRONG>.
+
+       Total compiled entries cannot exceed 4096 bytes.  The name field cannot
+       exceed  512  bytes.   Terminal names exceeding the maximum alias length
+       (32 characters on systems with long filenames, 14 characters otherwise)
+       will  be  truncated  to  the maximum alias length and a warning message
+       will be printed.
 
 
 </PRE><H2><a name="h2-COMPATIBILITY">COMPATIBILITY</a></H2><PRE>
-       There is some evidence that historic  <STRONG>tic</STRONG>  implementations
-       treated  description  fields with no whitespace in them as
-       additional aliases or short names.  This <STRONG>tic</STRONG> does  not  do
-       that,  but  it  does  warn  when description fields may be
-       treated that way and check them for dangerous characters.
+       There is  some  evidence  that  historic  <STRONG>tic</STRONG>  implementations  treated
+       description  fields with no whitespace in them as additional aliases or
+       short names.  This <STRONG>tic</STRONG> does not do that, but it does warn when descrip-
+       tion  fields may be treated that way and check them for dangerous char-
+       acters.
 
 
 </PRE><H2><a name="h2-EXTENSIONS">EXTENSIONS</a></H2><PRE>
-       Unlike the SVr4 <STRONG>tic</STRONG> command, this implementation can actu-
-       ally  compile  termcap  sources.  In fact, entries in ter-
-       minfo and termcap syntax can be mixed in a  single  source
-       file.  See <STRONG><A HREF="terminfo.5.html">terminfo(5)</A></STRONG> for the list of termcap names taken
-       to be equivalent to terminfo names.
+       Unlike the SVr4 <STRONG>tic</STRONG> command, this implementation can  actually  compile
+       termcap  sources.   In fact, entries in terminfo and termcap syntax can
+       be mixed in a single source file.  See  <STRONG><A HREF="terminfo.5.html">terminfo(5)</A></STRONG>  for  the  list  of
+       termcap names taken to be equivalent to terminfo names.
 
-       The SVr4 manual pages are  not  clear  on  the  resolution
-       rules  for  <STRONG>use</STRONG>  capabilities.  This implementation of <STRONG>tic</STRONG>
-       will find <STRONG>use</STRONG> targets anywhere in the source file, or any-
-       where  in the file tree rooted at <STRONG>TERMINFO</STRONG> (if <STRONG>TERMINFO</STRONG> is
-       defined), or in the user's <EM>$HOME/.terminfo</EM> database (if it
-       exists),  or  (finally) anywhere in the system's file tree
-       of compiled entries.
+       The  SVr4  manual  pages  are not clear on the resolution rules for <STRONG>use</STRONG>
+       capabilities.  This implementation of <STRONG>tic</STRONG> will find  <STRONG>use</STRONG>  targets  any-
+       where  in  the source file, or anywhere in the file tree rooted at <STRONG>TER-</STRONG>
+       <STRONG>MINFO</STRONG> (if <STRONG>TERMINFO</STRONG> is defined), or in the user's <EM>$HOME/.terminfo</EM>  data-
+       base (if it exists), or (finally) anywhere in the system's file tree of
+       compiled entries.
 
-       The error messages from this <STRONG>tic</STRONG> have the same  format  as
-       GNU  C  error  messages,  and can be parsed by GNU Emacs's
-       compile facility.
+       The error messages from this <STRONG>tic</STRONG> have the same format as  GNU  C  error
+       messages, and can be parsed by GNU Emacs's compile facility.
 
-       The <STRONG>-0</STRONG>, <STRONG>-1</STRONG>, <STRONG>-C</STRONG>, <STRONG>-G</STRONG>, <STRONG>-I</STRONG>, <STRONG>-N</STRONG>, <STRONG>-R</STRONG>, <STRONG>-T</STRONG>, <STRONG>-V</STRONG>, <STRONG>-a</STRONG>,  <STRONG>-e</STRONG>,  <STRONG>-f</STRONG>,  <STRONG>-g</STRONG>,
-       <STRONG>-o</STRONG>,  <STRONG>-r</STRONG>,  <STRONG>-s</STRONG>,  <STRONG>-t</STRONG>  and  <STRONG>-x</STRONG> options are not supported under
-       SVr4.  The SVr4 <STRONG>-c</STRONG> mode does not report bad use links.
+       The  <STRONG>-0</STRONG>, <STRONG>-1</STRONG>, <STRONG>-C</STRONG>, <STRONG>-G</STRONG>, <STRONG>-I</STRONG>, <STRONG>-N</STRONG>, <STRONG>-R</STRONG>, <STRONG>-T</STRONG>, <STRONG>-V</STRONG>, <STRONG>-a</STRONG>, <STRONG>-e</STRONG>, <STRONG>-f</STRONG>, <STRONG>-g</STRONG>, <STRONG>-o</STRONG>, <STRONG>-r</STRONG>, <STRONG>-s</STRONG>, <STRONG>-t</STRONG>
+       and <STRONG>-x</STRONG> options are not supported under SVr4.  The SVr4 <STRONG>-c</STRONG> mode does not
+       report bad use links.
 
-       System V does not compile entries to or read entries  from
-       your  <EM>$HOME/.terminfo</EM>  database unless TERMINFO is explic-
-       itly set to it.
+       System  V  does  not  compile  entries  to  or  read  entries from your
+       <EM>$HOME/.terminfo</EM> database unless TERMINFO is explicitly set to it.
 
 
 </PRE><H2><a name="h2-FILES">FILES</a></H2><PRE>
 
 
 </PRE><H2><a name="h2-SEE-ALSO">SEE ALSO</a></H2><PRE>
-       <STRONG><A HREF="infocmp.1m.html">infocmp(1m)</A></STRONG>,   <STRONG><A HREF="captoinfo.1m.html">captoinfo(1m)</A></STRONG>,   <STRONG><A HREF="infotocap.1m.html">infotocap(1m)</A></STRONG>,    <STRONG><A HREF="toe.1m.html">toe(1m)</A></STRONG>,
-       <STRONG><A HREF="ncurses.3x.html">curses(3x)</A></STRONG>, <STRONG><A HREF="term.5.html">term(5)</A></STRONG>.  <STRONG><A HREF="terminfo.5.html">terminfo(5)</A></STRONG>.
+       <STRONG><A HREF="infocmp.1m.html">infocmp(1m)</A></STRONG>,   <STRONG><A HREF="captoinfo.1m.html">captoinfo(1m)</A></STRONG>,   <STRONG><A HREF="infotocap.1m.html">infotocap(1m)</A></STRONG>,   <STRONG><A HREF="toe.1m.html">toe(1m)</A></STRONG>,   <STRONG><A HREF="ncurses.3x.html">curses(3x)</A></STRONG>,
+       <STRONG><A HREF="term.5.html">term(5)</A></STRONG>.  <STRONG><A HREF="terminfo.5.html">terminfo(5)</A></STRONG>.
 
-       This describes <STRONG>ncurses</STRONG> version 6.0 (patch 20170429).
+       This describes <STRONG>ncurses</STRONG> version 6.0 (patch 20170506).
 
 
 </PRE><H2><a name="h2-AUTHOR">AUTHOR</a></H2><PRE>
 
 
 
-                                                                <STRONG><A HREF="tic.1m.html">tic(1m)</A></STRONG>
+                                                                       <STRONG><A HREF="tic.1m.html">tic(1m)</A></STRONG>
 </PRE>
 <div class="nav">
 <ul>
index 0c9c6bf3a1aa55841a7554f95785e0166c63afca..abc1ccd227f363105b616b12f0a865759d98ab80 100644 (file)
@@ -40,7 +40,7 @@
 <BODY>
 <H1 class="no-header">toe 1m</H1>
 <PRE>
-<STRONG><A HREF="toe.1m.html">toe(1m)</A></STRONG>                                                         <STRONG><A HREF="toe.1m.html">toe(1m)</A></STRONG>
+<STRONG><A HREF="toe.1m.html">toe(1m)</A></STRONG>                                                                <STRONG><A HREF="toe.1m.html">toe(1m)</A></STRONG>
 
 
 
 
 
 </PRE><H2><a name="h2-DESCRIPTION">DESCRIPTION</a></H2><PRE>
-       With no options, <STRONG>toe</STRONG> lists all available terminal types by
-       primary name with descriptions.   File  arguments  specify
-       the  directories  to  be scanned; if no such arguments are
-       given, your default terminfo directory is scanned.  If you
-       also  specify  the  <STRONG>-h</STRONG>  option, a directory header will be
-       issued as each directory is entered.
+       With no options, <STRONG>toe</STRONG> lists all available terminal types by primary name
+       with descriptions.   File  arguments  specify  the  directories  to  be
+       scanned;  if  no such arguments are given, your default terminfo direc-
+       tory is scanned.  If you also specify the <STRONG>-h</STRONG> option, a directory header
+       will be issued as each directory is entered.
 
-       There are other options intended for use by terminfo  file
-       maintainers:
+       There are other options intended for use by terminfo file maintainers:
 
-       <STRONG>-a</STRONG>     report  on  all  of  the  terminal  databases which
-              ncurses would search, rather than  only  the  first
-              one that it finds.
+       <STRONG>-a</STRONG>     report  on  all  of  the  terminal databases which ncurses would
+              search, rather than only the first one that it finds.
 
-              If  the  <STRONG>-s</STRONG> is also given, <STRONG>toe</STRONG> adds a column to the
-              report, showing (like  <STRONG>conflict(1)</STRONG>)  which  entries
-              which  belong to a given terminal database.  An "*"
-              marks entries which differ, and "+"  marks  equiva-
-              lent entries.
+              If the <STRONG>-s</STRONG> is also given, <STRONG>toe</STRONG> adds a column to the report,  show-
+              ing  (like  <STRONG>conflict(1)</STRONG>)  which  entries which belong to a given
+              terminal database.  An "*" marks entries which differ,  and  "+"
+              marks equivalent entries.
 
-              Without  the  <STRONG>-s</STRONG>  option,  <STRONG>toe</STRONG>  does not attempt to
-              merge duplicates in its report
+              Without  the <STRONG>-s</STRONG> option, <STRONG>toe</STRONG> does not attempt to merge duplicates
+              in its report
 
        <STRONG>-s</STRONG>     sort the output by the entry names.
 
        <STRONG>-u</STRONG> <EM>file</EM>
-              says to write a  report  to  the  standard  output,
-              listing  dependencies in the given terminfo/termcap
-              source file.  The report condenses the "use"  rela-
-              tion:  each  line consists of the primary name of a
-              terminal that has use capabilities, followed  by  a
-              colon, followed by the whitespace-separated primary
-              names of all terminals which  occur  in  those  use
-              capabilities, followed by a newline
+              says to write a report to the standard output, listing dependen-
+              cies in the given terminfo/termcap source file.  The report con-
+              denses the "use" relation: each line  consists  of  the  primary
+              name  of  a  terminal  that  has use capabilities, followed by a
+              colon, followed by the whitespace-separated primary names of all
+              terminals  which  occur in those use capabilities, followed by a
+              newline
 
        <STRONG>-U</STRONG> <EM>file</EM>
-              says  to  write  a  report  to the standard output,
-              listing reverse  dependencies  in  the  given  ter-
-              minfo/termcap source file.  The report reverses the
-              "use" relation: each line consists of  the  primary
-              name of a terminal that occurs in use capabilities,
-              followed by a colon, followed  by  the  whitespace-
-              separated  primary  names  of  all  terminals which
-              depend on it, followed by a newline.
+              says to write a report to the standard output,  listing  reverse
+              dependencies  in  the  given  terminfo/termcap source file.  The
+              report reverses the "use" relation: each line  consists  of  the
+              primary name of a terminal that occurs in use capabilities, fol-
+              lowed by a colon, followed by the  whitespace-separated  primary
+              names  of  all  terminals which depend on it, followed by a new-
+              line.
 
-       <STRONG>-v</STRONG><EM>n</EM>    specifies that (verbose) output be written to stan-
-              dard error, showing <STRONG>toe</STRONG>'s progress.
+       <STRONG>-v</STRONG><EM>n</EM>    specifies that (verbose) output be written  to  standard  error,
+              showing <STRONG>toe</STRONG>'s progress.
 
-              The  optional parameter <EM>n</EM> is a number from 1 to 10,
-              interpreted as for <STRONG><A HREF="tic.1m.html">tic(1m)</A></STRONG>.  If  ncurses  is  built
-              without  tracing support, the optional parameter is
-              ignored.
+              The  optional  parameter <EM>n</EM> is a number from 1 to 10, interpreted
+              as for <STRONG><A HREF="tic.1m.html">tic(1m)</A></STRONG>.  If ncurses is built  without  tracing  support,
+              the optional parameter is ignored.
 
-       <STRONG>-V</STRONG>     reports the version of ncurses which  was  used  in
-              this program, and exits.
+       <STRONG>-V</STRONG>     reports  the  version of ncurses which was used in this program,
+              and exits.
 
 
 </PRE><H2><a name="h2-FILES">FILES</a></H2><PRE>
 
 
 </PRE><H2><a name="h2-SEE-ALSO">SEE ALSO</a></H2><PRE>
-       <STRONG><A HREF="tic.1m.html">tic(1m)</A></STRONG>,    <STRONG><A HREF="infocmp.1m.html">infocmp(1m)</A></STRONG>,   <STRONG><A HREF="captoinfo.1m.html">captoinfo(1m)</A></STRONG>,   <STRONG><A HREF="infotocap.1m.html">infotocap(1m)</A></STRONG>,
-       <STRONG><A HREF="ncurses.3x.html">curses(3x)</A></STRONG>, <STRONG><A HREF="terminfo.5.html">terminfo(5)</A></STRONG>.
+       <STRONG><A HREF="tic.1m.html">tic(1m)</A></STRONG>, <STRONG><A HREF="infocmp.1m.html">infocmp(1m)</A></STRONG>, <STRONG><A HREF="captoinfo.1m.html">captoinfo(1m)</A></STRONG>,  <STRONG><A HREF="infotocap.1m.html">infotocap(1m)</A></STRONG>,  <STRONG><A HREF="ncurses.3x.html">curses(3x)</A></STRONG>,  <STRONG>ter-</STRONG>
+       <STRONG><A HREF="terminfo.5.html">minfo(5)</A></STRONG>.
 
-       This describes <STRONG>ncurses</STRONG> version 6.0 (patch 20170429).
+       This describes <STRONG>ncurses</STRONG> version 6.0 (patch 20170506).
 
 
 
-                                                                <STRONG><A HREF="toe.1m.html">toe(1m)</A></STRONG>
+                                                                       <STRONG><A HREF="toe.1m.html">toe(1m)</A></STRONG>
 </PRE>
 <div class="nav">
 <ul>
index a7e1c8356b8f0f7c10fe63db91007a0270bbdc9a..a7c02e633a83a88050cbaa1b2273bd7d6f0aa6d3 100644 (file)
 <BODY>
 <H1 class="no-header">tput 1</H1>
 <PRE>
-<STRONG><A HREF="tput.1.html">tput(1)</A></STRONG>                                                         <STRONG><A HREF="tput.1.html">tput(1)</A></STRONG>
+<STRONG><A HREF="tput.1.html">tput(1)</A></STRONG>                                                                <STRONG><A HREF="tput.1.html">tput(1)</A></STRONG>
 
 
 
 
 </PRE><H2><a name="h2-NAME">NAME</a></H2><PRE>
-       <STRONG>tput</STRONG>,  <STRONG>reset</STRONG>  -  initialize  a  terminal or query terminfo
-       database
+       <STRONG>tput</STRONG>, <STRONG>reset</STRONG> - initialize a terminal or query terminfo database
 
 
 </PRE><H2><a name="h2-SYNOPSIS">SYNOPSIS</a></H2><PRE>
 
 
 </PRE><H2><a name="h2-DESCRIPTION">DESCRIPTION</a></H2><PRE>
-       The <STRONG>tput</STRONG> utility uses the <STRONG>terminfo</STRONG> database  to  make  the
-       values  of terminal-dependent capabilities and information
-       available to the shell (see <STRONG>sh(1)</STRONG>), to initialize or reset
-       the  terminal,  or  return  the long name of the requested
-       terminal type.  The result depends upon  the  capability's
-       type:
+       The  <STRONG>tput</STRONG> utility uses the <STRONG>terminfo</STRONG> database to make the values of ter-
+       minal-dependent capabilities and information  available  to  the  shell
+       (see  <STRONG>sh(1)</STRONG>),  to  initialize or reset the terminal, or return the long
+       name of the requested terminal type.  The result depends upon the capa-
+       bility's type:
 
           string
-               <STRONG>tput</STRONG> writes the string to the standard output.  No
-               trailing newline is supplied.
+               <STRONG>tput</STRONG>  writes  the  string  to the standard output.  No trailing
+               newline is supplied.
 
           integer
-               <STRONG>tput</STRONG> writes the decimal value to the standard out-
-               put, with a trailing newline.
+               <STRONG>tput</STRONG> writes the decimal value to the standard  output,  with  a
+               trailing newline.
 
           boolean
-               <STRONG>tput</STRONG>  simply sets the exit code (<STRONG>0</STRONG> for TRUE if the
-               terminal has the capability, <STRONG>1</STRONG>  for  FALSE  if  it
-               does not), and writes nothing to the standard out-
-               put.
+               <STRONG>tput</STRONG>  simply sets the exit code (<STRONG>0</STRONG> for TRUE if the terminal has
+               the capability, <STRONG>1</STRONG> for FALSE if it does not), and writes nothing
+               to the standard output.
 
-       Before using a value returned on the standard output,  the
-       application  should  test  the  exit  code  (e.g., <STRONG>$?</STRONG>, see
-       <STRONG>sh(1)</STRONG>) to be sure it is <STRONG>0</STRONG>.  (See the <STRONG>EXIT</STRONG> <STRONG>CODES</STRONG> and  <STRONG>DIAG-</STRONG>
-       <STRONG>NOSTICS</STRONG>  sections.)   For  a complete list of capabilities
-       and the <EM>capname</EM> associated with each, see <STRONG><A HREF="terminfo.5.html">terminfo(5)</A></STRONG>.
+       Before  using  a value returned on the standard output, the application
+       should test the exit code (e.g., <STRONG>$?</STRONG>, see <STRONG>sh(1)</STRONG>) to be  sure  it  is  <STRONG>0</STRONG>.
+       (See  the <STRONG>EXIT</STRONG> <STRONG>CODES</STRONG> and <STRONG>DIAGNOSTICS</STRONG> sections.)  For a complete list of
+       capabilities and the <EM>capname</EM> associated with each, see <STRONG><A HREF="terminfo.5.html">terminfo(5)</A></STRONG>.
 
 
 </PRE><H3><a name="h3-Options">Options</a></H3><PRE>
-       <STRONG>-T</STRONG><EM>type</EM> indicates the  <EM>type</EM>  of  terminal.   Normally  this
-              option is unnecessary, because the default is taken
-              from the environment variable <STRONG>TERM</STRONG>.  If <STRONG>-T</STRONG> is spec-
-              ified,  then  the shell variables <STRONG>LINES</STRONG> and <STRONG>COLUMNS</STRONG>
-              will also be ignored.
+       <STRONG>-T</STRONG><EM>type</EM> indicates the <EM>type</EM> of terminal.  Normally this option is  unnec-
+              essary,  because the default is taken from the environment vari-
+              able <STRONG>TERM</STRONG>.  If <STRONG>-T</STRONG> is specified, then the shell  variables  <STRONG>LINES</STRONG>
+              and <STRONG>COLUMNS</STRONG> will also be ignored.
 
-       <STRONG>-S</STRONG>     allows more than one capability per  invocation  of
-              <STRONG>tput</STRONG>.  The capabilities must be passed to <STRONG>tput</STRONG> from
-              the standard input instead of from the command line
-              (see  example).   Only  one  <EM>capname</EM> is allowed per
-              line.  The <STRONG>-S</STRONG> option changes the meaning of  the  <STRONG>0</STRONG>
-              and  <STRONG>1</STRONG>  boolean and string exit codes (see the EXIT
-              CODES section).
+       <STRONG>-S</STRONG>     allows  more  than  one  capability per invocation of <STRONG>tput</STRONG>.  The
+              capabilities must be passed to  <STRONG>tput</STRONG>  from  the  standard  input
+              instead  of  from the command line (see example).  Only one <EM>cap-</EM>
+              <EM>name</EM> is allowed per line.  The <STRONG>-S</STRONG> option changes the meaning  of
+              the  <STRONG>0</STRONG>  and  <STRONG>1</STRONG> boolean and string exit codes (see the EXIT CODES
+              section).
 
-              Again, <STRONG>tput</STRONG> uses a table and the presence of param-
-              eters  in  its  input  to  decide  whether  to  use
-              <STRONG><A HREF="curs_terminfo.3x.html">tparm(3x)</A></STRONG>, and how to interpret the parameters.
+              Again, <STRONG>tput</STRONG> uses a table and the presence of parameters  in  its
+              input  to  decide whether to use <STRONG><A HREF="curs_terminfo.3x.html">tparm(3x)</A></STRONG>, and how to interpret
+              the parameters.
 
-       <STRONG>-V</STRONG>     reports the version of ncurses which  was  used  in
-              this program, and exits.
+       <STRONG>-V</STRONG>     reports the version of ncurses which was used in  this  program,
+              and exits.
 
 
 </PRE><H3><a name="h3-Commands">Commands</a></H3><PRE>
-       A  few  commands  (<STRONG>init</STRONG>,  <STRONG>reset</STRONG> and <STRONG>longname</STRONG>) are special;
-       they are defined by the <STRONG>tput</STRONG> program.  The others are  the
-       names of <EM>capabilities</EM> from the terminal database (see <STRONG>ter-</STRONG>
-       <STRONG><A HREF="terminfo.5.html">minfo(5)</A></STRONG> for a list).  Although <STRONG>init</STRONG>  and  <STRONG>reset</STRONG>  resemble
-       capability  names,  <STRONG>tput</STRONG> uses several capabilities to per-
+       A few commands (<STRONG>init</STRONG>, <STRONG>reset</STRONG> and <STRONG>longname</STRONG>) are special; they are defined
+       by the <STRONG>tput</STRONG> program.  The others are the names of <EM>capabilities</EM> from the
+       terminal  database  (see  <STRONG><A HREF="terminfo.5.html">terminfo(5)</A></STRONG>  for  a list).  Although <STRONG>init</STRONG> and
+       <STRONG>reset</STRONG> resemble capability names, <STRONG>tput</STRONG> uses several capabilities to per-
        form these special functions.
 
        <EM>capname</EM>
-              indicates the capability from  the  terminal  data-
-              base.
+              indicates the capability from the terminal database.
 
-              If  the  capability  is a string that takes parame-
-              ters, the arguments following the  capability  will
-              be used as parameters for the string.
+              If  the  capability is a string that takes parameters, the argu-
+              ments following the capability will be used  as  parameters  for
+              the string.
 
-              Most  parameters  are numbers.  Only a few terminal
-              capabilities require string parameters; <STRONG>tput</STRONG> uses a
-              table to decide which to pass as strings.  Normally
-              <STRONG>tput</STRONG> uses <STRONG><A HREF="curs_terminfo.3x.html">tparm(3x)</A></STRONG> to  perform  the  substitution.
-              If no parameters are given for the capability, <STRONG>tput</STRONG>
-              writes the string without performing the  substitu-
-              tion.
+              Most  parameters  are numbers.  Only a few terminal capabilities
+              require string parameters; <STRONG>tput</STRONG> uses a table to decide which  to
+              pass  as  strings.   Normally <STRONG>tput</STRONG> uses <STRONG><A HREF="curs_terminfo.3x.html">tparm(3x)</A></STRONG> to perform the
+              substitution.  If no parameters are given  for  the  capability,
+              <STRONG>tput</STRONG> writes the string without performing the substitution.
 
-       <STRONG>init</STRONG>   If  the  terminal  database is present and an entry
-              for the user's terminal exists (see <STRONG>-T</STRONG><EM>type</EM>, above),
-              the following will occur:
+       <STRONG>init</STRONG>   If  the terminal database is present and an entry for the user's
+              terminal exists (see <STRONG>-T</STRONG><EM>type</EM>, above), the following will occur:
 
-              (1)  first,  <STRONG>tput</STRONG>  retrieves  the  current terminal
-                   mode settings for your terminal.  It does this
-                   by successively testing
+              (1)  first, <STRONG>tput</STRONG> retrieves the current  terminal  mode  settings
+                   for your terminal.  It does this by successively testing
 
                    <STRONG>o</STRONG>   the standard error,
 
 
                    <STRONG>o</STRONG>   ultimately "/dev/tty"
 
-                   to obtain terminal settings.  Having retrieved
-                   these  settings,  <STRONG>tput</STRONG>  remembers  which  file
-                   descriptor to use when updating settings.
+                   to  obtain  terminal settings.  Having retrieved these set-
+                   tings, <STRONG>tput</STRONG> remembers which file  descriptor  to  use  when
+                   updating settings.
 
-              (2)  if the window size cannot be obtained from the
-                   operating system, but the terminal description
-                   (or environment, e.g., <STRONG>LINES</STRONG> and <STRONG>COLUMNS</STRONG> vari-
-                   ables specify this), update the operating sys-
-                   tem's notion of the window size.
+              (2)  if  the  window  size cannot be obtained from the operating
+                   system, but the terminal description (or environment, e.g.,
+                   <STRONG>LINES</STRONG> and <STRONG>COLUMNS</STRONG> variables specify this), update the oper-
+                   ating system's notion of the window size.
 
               (3)  the terminal modes will be updated:
 
-                   <STRONG>o</STRONG>   any  delays  (e.g.,  newline) specified in
-                       the entry will be set in the tty driver,
+                   <STRONG>o</STRONG>   any delays (e.g., newline) specified in the entry  will
+                       be set in the tty driver,
 
-                   <STRONG>o</STRONG>   tabs expansion will be turned  on  or  off
-                       according  to  the  specification  in  the
-                       entry, and
+                   <STRONG>o</STRONG>   tabs  expansion  will  be turned on or off according to
+                       the specification in the entry, and
 
-                   <STRONG>o</STRONG>   if tabs are not  expanded,  standard  tabs
-                       will be set (every 8 spaces).
+                   <STRONG>o</STRONG>   if tabs are not expanded, standard  tabs  will  be  set
+                       (every 8 spaces).
 
-              (4)  if   present,  the  terminal's  initialization
-                   strings will be output as detailed in the <STRONG>ter-</STRONG>
-                   <STRONG><A HREF="terminfo.5.html">minfo(5)</A></STRONG> section on <EM>Tabs</EM> <EM>and</EM> <EM>Initialization</EM>,
+              (4)  if  present,  the terminal's initialization strings will be
+                   output as detailed in the <STRONG><A HREF="terminfo.5.html">terminfo(5)</A></STRONG> section on  <EM>Tabs</EM>  <EM>and</EM>
+                   <EM>Initialization</EM>,
 
               (5)  output is flushed.
 
-              If an entry does not contain the information needed
-              for any of these  activities,  that  activity  will
-              silently be skipped.
+              If  an  entry does not contain the information needed for any of
+              these activities, that activity will silently be skipped.
 
        <STRONG>reset</STRONG>  This is similar to <STRONG>init</STRONG>, with two differences:
 
-              (1)  before  any other initialization, the terminal
-                   modes will be reset to a "sane" state:
+              (1)  before any other initialization, the terminal modes will be
+                   reset to a "sane" state:
 
                    <STRONG>o</STRONG>   set cooked and echo modes,
 
 
                    <STRONG>o</STRONG>   turn on newline translation and
 
-                   <STRONG>o</STRONG>   reset  any  unset  special  characters  to
-                       their default values
+                   <STRONG>o</STRONG>   reset  any  unset  special  characters to their default
+                       values
 
-              (2)  Instead of putting out <EM>initialization</EM> strings,
-                   the terminal's <EM>reset</EM> strings will be output if
-                   present  (<STRONG>rs1</STRONG>,  <STRONG>rs2</STRONG>,  <STRONG>rs3</STRONG>,  <STRONG>rf</STRONG>).  If the <EM>reset</EM>
-                   strings are not  present,  but  <EM>initialization</EM>
-                   strings  are,  the <EM>initialization</EM> strings will
-                   be output.
+              (2)  Instead of putting out <EM>initialization</EM> strings,  the  termi-
+                   nal's  <EM>reset</EM>  strings  will be output if present (<STRONG>rs1</STRONG>, <STRONG>rs2</STRONG>,
+                   <STRONG>rs3</STRONG>, <STRONG>rf</STRONG>).  If the <EM>reset</EM> strings are not present,  but  <EM>ini-</EM>
+                   <EM>tialization</EM> strings are, the <EM>initialization</EM> strings will be
+                   output.
 
               Otherwise, <STRONG>reset</STRONG> acts identically to <STRONG>init</STRONG>.
 
        <STRONG>longname</STRONG>
-              If the terminal database is present  and  an  entry
-              for  the user's terminal exists (see <STRONG>-T</STRONG><EM>type</EM> above),
-              then the long name of the terminal will be put out.
-              The long name is the last name in the first line of
-              the terminal's description in the <STRONG>terminfo</STRONG> database
-              [see <STRONG><A HREF="term.5.html">term(5)</A></STRONG>].
+              If the terminal database is present and an entry for the  user's
+              terminal  exists  (see  <STRONG>-T</STRONG><EM>type</EM> above), then the long name of the
+              terminal will be put out.  The long name is the last name in the
+              first  line  of the terminal's description in the <STRONG>terminfo</STRONG> data-
+              base [see <STRONG><A HREF="term.5.html">term(5)</A></STRONG>].
 
 
 </PRE><H3><a name="h3-Aliases">Aliases</a></H3><PRE>
-       <STRONG>tput</STRONG> handles the <STRONG>clear</STRONG>, <STRONG>init</STRONG> and <STRONG>reset</STRONG> commands specially:
-       it allows for the possibility that it is invoked by a link
-       with those names.
+       <STRONG>tput</STRONG> handles the <STRONG>clear</STRONG>, <STRONG>init</STRONG> and <STRONG>reset</STRONG> commands  specially:  it  allows
+       for the possibility that it is invoked by a link with those names.
 
-       If  <STRONG>tput</STRONG>  is  invoked  by a link named <STRONG>reset</STRONG>, this has the
-       same effect as  <STRONG>tput</STRONG>  <STRONG>reset</STRONG>.   The  <STRONG><A HREF="tset.1.html">tset(1)</A></STRONG>  utility  also
-       treats a link named <STRONG>reset</STRONG> specially.
+       If  <STRONG>tput</STRONG>  is invoked by a link named <STRONG>reset</STRONG>, this has the same effect as
+       <STRONG>tput</STRONG> <STRONG>reset</STRONG>.  The <STRONG><A HREF="tset.1.html">tset(1)</A></STRONG> utility also treats a link  named  <STRONG>reset</STRONG>  spe-
+       cially.
 
-       Before  ncurses 6.1, the two utilities were different from
-       each other:
+       Before ncurses 6.1, the two utilities were different from each other:
 
-       <STRONG>o</STRONG>   <STRONG>tset</STRONG> utility reset  the  terminal  modes  and  special
-           characters (not done with <STRONG>tput</STRONG>).
+       <STRONG>o</STRONG>   <STRONG>tset</STRONG>  utility  reset the terminal modes and special characters (not
+           done with <STRONG>tput</STRONG>).
 
-       <STRONG>o</STRONG>   On the other hand, <STRONG>tset</STRONG>'s repertoire of terminal capa-
-           bilities for resetting the terminal was more  limited,
-           i.e., only <STRONG>reset_1string</STRONG>, <STRONG>reset_2string</STRONG> and <STRONG>reset_file</STRONG>
-           in contrast to the tab-stops and margins which are set
-           by this utility.
+       <STRONG>o</STRONG>   On the other hand, <STRONG>tset</STRONG>'s repertoire of terminal  capabilities  for
+           resetting  the terminal was more limited, i.e., only <STRONG>reset_1string</STRONG>,
+           <STRONG>reset_2string</STRONG> and <STRONG>reset_file</STRONG> in contrast to the tab-stops and  mar-
+           gins which are set by this utility.
 
-       <STRONG>o</STRONG>   The  <STRONG>reset</STRONG>  program  is  usually  an  alias  for <STRONG>tset</STRONG>,
-           because of this  difference  with  resetting  terminal
-           modes and special characters.
+       <STRONG>o</STRONG>   The  <STRONG>reset</STRONG>  program  is  usually an alias for <STRONG>tset</STRONG>, because of this
+           difference with resetting terminal modes and special characters.
 
-       With  the  changes made for ncurses 6.1, the <EM>reset</EM> feature
-       of the two programs is (mostly) the same.  A  few  differ-
-       ences remain:
+       With the changes made for ncurses 6.1, the <EM>reset</EM>  feature  of  the  two
+       programs is (mostly) the same.  A few differences remain:
 
-       <STRONG>o</STRONG>   The  <STRONG>tset</STRONG>  program waits one second when resetting, in
-           case it happens to be a hardware terminal.
+       <STRONG>o</STRONG>   The  <STRONG>tset</STRONG>  program waits one second when resetting, in case it hap-
+           pens to be a hardware terminal.
 
-       <STRONG>o</STRONG>   The two programs  write  the  terminal  initialization
-           strings  to  different  streams  (i.e.,.  the standard
-           error for <STRONG>tset</STRONG> and the standard output for <STRONG>tput</STRONG>).
+       <STRONG>o</STRONG>   The two programs write the terminal initialization strings to  dif-
+           ferent streams (i.e.,. the standard error for <STRONG>tset</STRONG> and the standard
+           output for <STRONG>tput</STRONG>).
 
-           <STRONG>Note:</STRONG>  although  these  programs  write  to  different
-           streams,  redirecting their output to a file will cap-
-           ture only part of their actions.  The changes  to  the
-           terminal  modes  are  not  affected by redirecting the
-           output.
+           <STRONG>Note:</STRONG> although these programs write to different streams, redirect-
+           ing their output to a file will capture only part of their actions.
+           The changes to the terminal modes are not affected  by  redirecting
+           the output.
 
-       If <STRONG>tput</STRONG> is invoked by a link named <STRONG>init</STRONG>, this has the same
-       effect  as  <STRONG>tput</STRONG>  <STRONG>init</STRONG>.  Again, you are less likely to use
-       that link because another program named <STRONG>init</STRONG>  has  a  more
-       well-established use.
+       If  <STRONG>tput</STRONG>  is  invoked by a link named <STRONG>init</STRONG>, this has the same effect as
+       <STRONG>tput</STRONG> <STRONG>init</STRONG>.  Again, you are less likely to use that link because another
+       program named <STRONG>init</STRONG> has a more well-established use.
 
 
 </PRE><H2><a name="h2-EXAMPLES">EXAMPLES</a></H2><PRE>
        <STRONG>tput</STRONG> <STRONG>init</STRONG>
-            Initialize the terminal according to the type of ter-
-            minal in the environmental variable <STRONG>TERM</STRONG>.  This  com-
-            mand  should be included in everyone's .profile after
-            the environmental variable <STRONG>TERM</STRONG> has been exported, as
-            illustrated on the <STRONG>profile(5)</STRONG> manual page.
+            Initialize  the  terminal according to the type of terminal in the
+            environmental variable <STRONG>TERM</STRONG>.  This command should be  included  in
+            everyone's .profile after the environmental variable <STRONG>TERM</STRONG> has been
+            exported, as illustrated on the <STRONG>profile(5)</STRONG> manual page.
 
        <STRONG>tput</STRONG> <STRONG>-T5620</STRONG> <STRONG>reset</STRONG>
-            Reset  an  AT&amp;T 5620 terminal, overriding the type of
-            terminal in the environmental variable <STRONG>TERM</STRONG>.
+            Reset an AT&amp;T 5620 terminal, overriding the type  of  terminal  in
+            the environmental variable <STRONG>TERM</STRONG>.
 
        <STRONG>tput</STRONG> <STRONG>cup</STRONG> <STRONG>0</STRONG> <STRONG>0</STRONG>
-            Send the sequence to move the cursor to row <STRONG>0</STRONG>, column
-            <STRONG>0</STRONG> (the upper left corner of the screen, usually known
-            as the "home" cursor position).
+            Send the sequence to move the cursor to row <STRONG>0</STRONG>, column <STRONG>0</STRONG> (the upper
+            left corner of the screen, usually  known  as  the  "home"  cursor
+            position).
 
        <STRONG>tput</STRONG> <STRONG>clear</STRONG>
-            Echo the clear-screen sequence for the current termi-
-            nal.
+            Echo the clear-screen sequence for the current terminal.
 
        <STRONG>tput</STRONG> <STRONG>cols</STRONG>
             Print the number of columns for the current terminal.
             Print the number of columns for the 450 terminal.
 
        <STRONG>bold=`tput</STRONG> <STRONG>smso`</STRONG> <STRONG>offbold=`tput</STRONG> <STRONG>rmso`</STRONG>
-            Set the shell variables <STRONG>bold</STRONG>, to begin stand-out mode
-            sequence, and <STRONG>offbold</STRONG>, to end standout mode sequence,
-            for  the current terminal.  This might be followed by
-            a prompt: <STRONG>echo</STRONG>  <STRONG>"${bold}Please</STRONG>  <STRONG>type</STRONG>  <STRONG>in</STRONG>  <STRONG>your</STRONG>  <STRONG>name:</STRONG>
-            <STRONG>${offbold}\c"</STRONG>
+            Set  the  shell  variables <STRONG>bold</STRONG>, to begin stand-out mode sequence,
+            and <STRONG>offbold</STRONG>, to end standout mode sequence, for the current termi-
+            nal.  This might be followed by a prompt: <STRONG>echo</STRONG> <STRONG>"${bold}Please</STRONG> <STRONG>type</STRONG>
+            <STRONG>in</STRONG> <STRONG>your</STRONG> <STRONG>name:</STRONG> <STRONG>${offbold}\c"</STRONG>
 
        <STRONG>tput</STRONG> <STRONG>hc</STRONG>
-            Set  exit code to indicate if the current terminal is
-            a hard copy terminal.
+            Set exit code to indicate if the current terminal is a  hard  copy
+            terminal.
 
        <STRONG>tput</STRONG> <STRONG>cup</STRONG> <STRONG>23</STRONG> <STRONG>4</STRONG>
-            Send the sequence to move the cursor to row 23,  col-
-            umn 4.
+            Send the sequence to move the cursor to row 23, column 4.
 
        <STRONG>tput</STRONG> <STRONG>cup</STRONG>
-            Send the terminfo string for cursor-movement, with no
-            parameters substituted.
+            Send  the  terminfo string for cursor-movement, with no parameters
+            substituted.
 
        <STRONG>tput</STRONG> <STRONG>longname</STRONG>
-            Print the long name from the  <STRONG>terminfo</STRONG>  database  for
-            the  type  of terminal specified in the environmental
-            variable <STRONG>TERM</STRONG>.
+            Print the long name from the <STRONG>terminfo</STRONG> database  for  the  type  of
+            terminal specified in the environmental variable <STRONG>TERM</STRONG>.
 
             <STRONG>tput</STRONG> <STRONG>-S</STRONG> <STRONG>&lt;&lt;!</STRONG>
             <STRONG>&gt;</STRONG> <STRONG>clear</STRONG>
             <STRONG>&gt;</STRONG> <STRONG>bold</STRONG>
             <STRONG>&gt;</STRONG> <STRONG>!</STRONG>
 
-            This example shows <STRONG>tput</STRONG> processing several  capabili-
-            ties  in one invocation.  It clears the screen, moves
-            the cursor to position  10,  10  and  turns  on  bold
-            (extra  bright)  mode.   The list is terminated by an
-            exclamation mark (<STRONG>!</STRONG>) on a line by itself.
+            This  example  shows  <STRONG>tput</STRONG>  processing several capabilities in one
+            invocation.  It clears the screen, moves the  cursor  to  position
+            10,  10 and turns on bold (extra bright) mode.  The list is termi-
+            nated by an exclamation mark (<STRONG>!</STRONG>) on a line by itself.
 
 
 </PRE><H2><a name="h2-FILES">FILES</a></H2><PRE>
               compiled terminal description database
 
        <STRONG>/usr/share/tabset/*</STRONG>
-              tab settings for some terminals, in a format appro-
-              priate   to  be  output  to  the  terminal  (escape
-              sequences that set  margins  and  tabs);  for  more
-              information,  see the <EM>Tabs</EM> <EM>and</EM> <EM>Initialization</EM>, sec-
-              tion of <STRONG><A HREF="terminfo.5.html">terminfo(5)</A></STRONG>
+              tab settings for some terminals, in a format appropriate  to  be
+              output  to  the  terminal (escape sequences that set margins and
+              tabs); for more information, see the  <EM>Tabs</EM>  <EM>and</EM>  <EM>Initialization</EM>,
+              section of <STRONG><A HREF="terminfo.5.html">terminfo(5)</A></STRONG>
 
 
 </PRE><H2><a name="h2-EXIT-CODES">EXIT CODES</a></H2><PRE>
-       If the <STRONG>-S</STRONG> option is used, <STRONG>tput</STRONG> checks for errors from each
-       line,  and if any errors are found, will set the exit code
-       to 4 plus the number of lines with errors.  If  no  errors
-       are  found,  the  exit  code is <STRONG>0</STRONG>.  No indication of which
-       line failed can be given so exit code <STRONG>1</STRONG> will never appear.
-       Exit  codes <STRONG>2</STRONG>, <STRONG>3</STRONG>, and <STRONG>4</STRONG> retain their usual interpretation.
-       If the <STRONG>-S</STRONG> option is not used, the exit code depends on the
-       type of <EM>capname</EM>:
+       If the <STRONG>-S</STRONG> option is used, <STRONG>tput</STRONG> checks for errors from each line, and if
+       any errors are found, will set the exit code to 4 plus  the  number  of
+       lines  with  errors.   If  no errors are found, the exit code is <STRONG>0</STRONG>.  No
+       indication of which line failed can be given so exit code <STRONG>1</STRONG> will  never
+       appear.   Exit codes <STRONG>2</STRONG>, <STRONG>3</STRONG>, and <STRONG>4</STRONG> retain their usual interpretation.  If
+       the <STRONG>-S</STRONG> option is not used, the exit code depends on the  type  of  <EM>cap-</EM>
+       <EM>name</EM>:
 
           <EM>boolean</EM>
                  a value of <STRONG>0</STRONG> is set for TRUE and <STRONG>1</STRONG> for FALSE.
 
-          <EM>string</EM> a  value  of  <STRONG>0</STRONG> is set if the <EM>capname</EM> is defined
-                 for this terminal <EM>type</EM> (the value of <EM>capname</EM>  is
-                 returned  on  standard  output); a value of <STRONG>1</STRONG> is
-                 set if <EM>capname</EM> is not defined for this  terminal
-                 <EM>type</EM> (nothing is written to standard output).
+          <EM>string</EM> a value of <STRONG>0</STRONG> is set if the <EM>capname</EM> is defined for this termi-
+                 nal <EM>type</EM> (the value of <EM>capname</EM> is returned on  standard  out-
+                 put);  a value of <STRONG>1</STRONG> is set if <EM>capname</EM> is not defined for this
+                 terminal <EM>type</EM> (nothing is written to standard output).
 
           <EM>integer</EM>
-                 a  value of <STRONG>0</STRONG> is always set, whether or not <EM>cap-</EM>
-                 <EM>name</EM> is defined  for  this  terminal  <EM>type</EM>.   To
-                 determine  if <EM>capname</EM> is defined for this termi-
-                 nal <EM>type</EM>, the user must test the  value  written
-                 to  standard  output.   A value of <STRONG>-1</STRONG> means that
-                 <EM>capname</EM> is not defined for this terminal <EM>type</EM>.
+                 a value of <STRONG>0</STRONG> is always set, whether or not <EM>capname</EM> is defined
+                 for  this  terminal <EM>type</EM>.  To determine if <EM>capname</EM> is defined
+                 for this terminal <EM>type</EM>, the user must test the value  written
+                 to  standard output.  A value of <STRONG>-1</STRONG> means that <EM>capname</EM> is not
+                 defined for this terminal <EM>type</EM>.
 
-          <EM>other</EM>  <STRONG>reset</STRONG> or <STRONG>init</STRONG> may fail to find their  respective
-                 files.   In that case, the exit code is set to 4
-                 + <STRONG>errno</STRONG>.
+          <EM>other</EM>  <STRONG>reset</STRONG> or <STRONG>init</STRONG> may fail to find their  respective  files.   In
+                 that case, the exit code is set to 4 + <STRONG>errno</STRONG>.
 
-       Any other exit code indicates an error; see  the  DIAGNOS-
-       TICS section.
+       Any other exit code indicates an error; see the DIAGNOSTICS section.
 
 
 </PRE><H2><a name="h2-DIAGNOSTICS">DIAGNOSTICS</a></H2><PRE>
-       <STRONG>tput</STRONG> prints the following error messages and sets the cor-
-       responding exit codes.
+       <STRONG>tput</STRONG>  prints  the  following  error messages and sets the corresponding
+       exit codes.
 
        exit code   error message
        ---------------------------------------------------------------------
 
 
 </PRE><H2><a name="h2-HISTORY">HISTORY</a></H2><PRE>
-       The <STRONG>tput</STRONG> command was begun by Bill Joy in 1980.  The  ini-
-       tial version only cleared the screen.
-
-       AT&amp;T  System  V  provided  a different <STRONG>tput</STRONG> command, whose
-       <STRONG>init</STRONG> and <STRONG>reset</STRONG>  subcommands (more than half  the  program)
-       were incorporated from the <STRONG>reset</STRONG> feature of BSD <STRONG>tset</STRONG> writ-
-       ten by Eric Allman.
-
-       Keith Bostic replaced the BSD <STRONG>tput</STRONG> command in 1989 with  a
-       new  implementation  based  on  the  AT&amp;T System V program
-       <STRONG>tput</STRONG>.  Like the AT&amp;T program,  Bostic's  version  accepted
-       some  parameters  named  for <EM>terminfo</EM> <EM>capabilities</EM> (<STRONG>clear</STRONG>,
-       <STRONG>init</STRONG>, <STRONG>longname</STRONG> and <STRONG>reset</STRONG>).  However (because he  had  only
-       termcap  available),  it  accepted <EM>termcap</EM> <EM>names</EM> for other
-       capabilities.  Also, Bostic's BSD <STRONG>tput</STRONG> did not modify  the
-       terminal I/O modes as the earlier BSD <STRONG>tset</STRONG> had done.
-
-       At  the  same  time,  Bostic  added  a  shell script named
-       "clear", which used <STRONG>tput</STRONG> to clear the screen.
-
-       Both of these appeared in 4.4BSD,  becoming  the  "modern"
-       BSD implementation of <STRONG>tput</STRONG>.
-
-       This  implementation of <STRONG>tput</STRONG> began from a different source
-       than AT&amp;T or BSD: Ross Ridge's <EM>mytinfo</EM> package,  published
-       on  <EM>comp.sources.unix</EM>  in  December 1992.  Ridge's program
-       made more sophisticated use of the  terminal  capabilities
-       than  the BSD program.  Eric Raymond used the <STRONG>tput</STRONG> program
-       (and other parts of <EM>mytinfo</EM>)  in  ncurses  in  June  1995.
-       Using  the  portions  dealing  with  terminal capabilities
-       almost without change, Raymond made  improvements  to  the
-       way the command-line parameters were handled.
+       The <STRONG>tput</STRONG> command was begun by Bill Joy in 1980.   The  initial  version
+       only cleared the screen.
+
+       AT&amp;T  System  V provided a different <STRONG>tput</STRONG> command, whose <STRONG>init</STRONG> and <STRONG>reset</STRONG>
+       subcommands (more than half the program)  were  incorporated  from  the
+       <STRONG>reset</STRONG> feature of BSD <STRONG>tset</STRONG> written by Eric Allman.
+
+       Keith Bostic replaced the BSD <STRONG>tput</STRONG> command in 1989 with a new implemen-
+       tation based on the AT&amp;T System V program <STRONG>tput</STRONG>.  Like the AT&amp;T program,
+       Bostic's  version accepted some parameters named for <EM>terminfo</EM> <EM>capabili-</EM>
+       <EM>ties</EM> (<STRONG>clear</STRONG>, <STRONG>init</STRONG>, <STRONG>longname</STRONG> and <STRONG>reset</STRONG>).  However (because he  had  only
+       termcap  available),  it accepted <EM>termcap</EM> <EM>names</EM> for other capabilities.
+       Also, Bostic's BSD <STRONG>tput</STRONG> did not modify the terminal I/O  modes  as  the
+       earlier BSD <STRONG>tset</STRONG> had done.
+
+       At the same time, Bostic added a shell script named "clear", which used
+       <STRONG>tput</STRONG> to clear the screen.
+
+       Both of these appeared in 4.4BSD, becoming the "modern" BSD implementa-
+       tion of <STRONG>tput</STRONG>.
+
+       This  implementation of <STRONG>tput</STRONG> began from a different source than AT&amp;T or
+       BSD: Ross Ridge's <EM>mytinfo</EM> package, published  on  <EM>comp.sources.unix</EM>  in
+       December 1992.  Ridge's program made more sophisticated use of the ter-
+       minal capabilities than the BSD program.  Eric Raymond  used  the  <STRONG>tput</STRONG>
+       program  (and  other  parts of <EM>mytinfo</EM>) in ncurses in June 1995.  Using
+       the portions dealing with terminal capabilities almost without  change,
+       Raymond  made  improvements to the way the command-line parameters were
+       handled.
 
 
 </PRE><H2><a name="h2-PORTABILITY">PORTABILITY</a></H2><PRE>
-       This  implementation of <STRONG>tput</STRONG> differs from AT&amp;T <STRONG>tput</STRONG> in two
-       important areas:
-
-       <STRONG>o</STRONG>   <STRONG>tput</STRONG> <EM>capname</EM> writes to the standard output.  That need
-           not  be  a regular terminal.  However, the subcommands
-           which manipulate terminal modes may not use the  stan-
-           dard output.
-
-           The  AT&amp;T implementation's <STRONG>init</STRONG> and <STRONG>reset</STRONG> commands use
-           the BSD (4.1c) <STRONG>tset</STRONG> source, which manipulates terminal
-           modes.   It  successively tries standard output, stan-
-           dard error, standard  input  before  falling  back  to
-           "/dev/tty" and finally just assumes a 1200Bd terminal.
-           When updating terminal modes, it ignores errors.
-
-           Until changes made after ncurses  6.0,  <STRONG>tput</STRONG>  did  not
-           modify  terminal  modes.   <STRONG>tput</STRONG>  now  uses  a  similar
-           scheme, using functions shared with  <STRONG>tset</STRONG>  (and  ulti-
-           mately  based  on the 4.4BSD <STRONG>tset</STRONG>).  If it is not able
-           to open a terminal, e.g., when running in  <STRONG>cron</STRONG>,  <STRONG>tput</STRONG>
-           will return an error.
-
-       <STRONG>o</STRONG>   AT&amp;T  <STRONG>tput</STRONG> guesses the type of its <EM>capname</EM> operands by
-           seeing if all of the characters are numeric, or not.
-
-           Most implementations which provide support for <EM>capname</EM>
-           operands  use  the <EM>tparm</EM> function to expand parameters
-           in it.  That function expects a mixture of numeric and
-           string  parameters,  requiring <STRONG>tput</STRONG> to know which type
-           to use.
-
-           This implementation uses  a  table  to  determine  the
-           parameter types for the standard <EM>capname</EM> operands, and
-           an internal library function  to  analyze  nonstandard
-           <EM>capname</EM> operands.
-
-       This  implementation (unlike others) can accept both <EM>term-</EM>
-       <EM>cap</EM> and <EM>terminfo</EM> names for the <EM>capname</EM> feature, if <EM>termcap</EM>
-       support  is  compiled in.  However, the predefined <EM>termcap</EM>
-       and <EM>terminfo</EM> names have two ambiguities in this case  (and
-       the <EM>terminfo</EM> name is assumed):
-
-       <STRONG>o</STRONG>   The  <EM>termcap</EM>  name <STRONG>dl</STRONG> corresponds to the <EM>terminfo</EM> name
-           <STRONG>dl1</STRONG> (delete one line).
-           The <EM>terminfo</EM> name <STRONG>dl</STRONG> corresponds to the  <EM>termcap</EM>  name
-           <STRONG>DL</STRONG> (delete a given number of lines).
-
-       <STRONG>o</STRONG>   The  <EM>termcap</EM>  name <STRONG>ed</STRONG> corresponds to the <EM>terminfo</EM> name
-           <STRONG>rmdc</STRONG> (end delete mode).
-           The <EM>terminfo</EM> name <STRONG>ed</STRONG> corresponds to the  <EM>termcap</EM>  name
-           <STRONG>cd</STRONG> (clear to end of screen).
-
-       The  <STRONG>longname</STRONG>  and <STRONG>-S</STRONG> options, and the parameter-substitu-
-       tion features used in the <STRONG>cup</STRONG> example, were not  supported
-       in  BSD curses before 4.3reno (1989) or in AT&amp;T/USL curses
-       before SVr4 (1988).
-
-       IEEE Std 1003.1/The Open Group  Base Specifications  Issue
-       7  (POSIX.1-2008)  documents  only the operands for <STRONG>clear</STRONG>,
-       <STRONG>init</STRONG> and <STRONG>reset</STRONG>.  There are a few interesting  observations
-       to make regarding that:
-
-       <STRONG>o</STRONG>   In  this  implementation, <STRONG>clear</STRONG> is part of the <EM>capname</EM>
-           support.  The others (<STRONG>init</STRONG> and <STRONG>longname</STRONG>) do not corre-
-           spond to terminal capabilities.
-
-       <STRONG>o</STRONG>   Other  implementations  of  <STRONG>tput</STRONG> on SVr4-based systems
-           such as Solaris, IRIX64 and HPUX  as  well  as  others
-           such  as AIX and Tru64 provide support for <EM>capname</EM> op-
-           erands.
-
-       <STRONG>o</STRONG>   A few platforms  such  as  FreeBSD  recognize  termcap
-           names  rather  than terminfo capability names in their
-           respective <STRONG>tput</STRONG> commands.  Since 2010,  NetBSD's  <STRONG>tput</STRONG>
-           uses  terminfo  names.  Before that, it (like FreeBSD)
-           recognized termcap names.
-
-       Because (apparently) <EM>all</EM> of  the  certified  Unix  systems
-       support  the  full  set of capability names, the reasoning
-       for documenting only a few may not be apparent.
-
-       <STRONG>o</STRONG>   X/Open Curses Issue 7 documents <STRONG>tput</STRONG> differently, with
-           <EM>capname</EM>  and the other features used in this implemen-
-           tation.
-
-       <STRONG>o</STRONG>   That is, there are two standards for  <STRONG>tput</STRONG>:  POSIX  (a
-           subset)  and  X/Open Curses (the full implementation).
-           POSIX documents a subset to avoid the complication  of
-           including  X/Open Curses and the terminal capabilities
-           database.
-
-       <STRONG>o</STRONG>   While it is certainly possible to write a <STRONG>tput</STRONG> program
-           without using curses, none of the systems which have a
-           curses implementation provide  a  <STRONG>tput</STRONG>  utility  which
-           does not provide the <EM>capname</EM> feature.
+       This implementation of <STRONG>tput</STRONG> differs from AT&amp;T  <STRONG>tput</STRONG>  in  two  important
+       areas:
+
+       <STRONG>o</STRONG>   <STRONG>tput</STRONG>  <EM>capname</EM>  writes  to  the standard output.  That need not be a
+           regular terminal.  However, the subcommands which manipulate termi-
+           nal modes may not use the standard output.
+
+           The  AT&amp;T  implementation's  <STRONG>init</STRONG>  and  <STRONG>reset</STRONG>  commands use the BSD
+           (4.1c) <STRONG>tset</STRONG> source, which manipulates terminal modes.   It  succes-
+           sively tries standard output, standard error, standard input before
+           falling back to "/dev/tty" and finally just assumes a 1200Bd termi-
+           nal.  When updating terminal modes, it ignores errors.
+
+           Until  changes made after ncurses 6.0, <STRONG>tput</STRONG> did not modify terminal
+           modes.  <STRONG>tput</STRONG> now uses a similar scheme, using functions shared with
+           <STRONG>tset</STRONG>  (and ultimately based on the 4.4BSD <STRONG>tset</STRONG>).  If it is not able
+           to open a terminal, e.g., when running in <STRONG>cron</STRONG>, <STRONG>tput</STRONG> will return an
+           error.
+
+       <STRONG>o</STRONG>   AT&amp;T <STRONG>tput</STRONG> guesses the type of its <EM>capname</EM> operands by seeing if all
+           of the characters are numeric, or not.
+
+           Most implementations which provide support for <EM>capname</EM> operands use
+           the  <EM>tparm</EM>  function  to  expand  parameters  in it.  That function
+           expects a mixture of numeric and string parameters, requiring  <STRONG>tput</STRONG>
+           to know which type to use.
+
+           This  implementation  uses a table to determine the parameter types
+           for the standard <EM>capname</EM> operands, and an internal library function
+           to analyze nonstandard <EM>capname</EM> operands.
+
+       This  implementation  (unlike  others) can accept both <EM>termcap</EM> and <EM>ter-</EM>
+       <EM>minfo</EM> names for the <EM>capname</EM> feature, if <EM>termcap</EM> support is compiled in.
+       However, the predefined <EM>termcap</EM> and <EM>terminfo</EM> names have two ambiguities
+       in this case (and the <EM>terminfo</EM> name is assumed):
+
+       <STRONG>o</STRONG>   The <EM>termcap</EM> name <STRONG>dl</STRONG> corresponds to the <EM>terminfo</EM>  name  <STRONG>dl1</STRONG>  (delete
+           one line).
+           The  <EM>terminfo</EM>  name <STRONG>dl</STRONG> corresponds to the <EM>termcap</EM> name <STRONG>DL</STRONG> (delete a
+           given number of lines).
+
+       <STRONG>o</STRONG>   The <EM>termcap</EM> name <STRONG>ed</STRONG> corresponds to  the  <EM>terminfo</EM>  name  <STRONG>rmdc</STRONG>  (end
+           delete mode).
+           The  <EM>terminfo</EM>  name <STRONG>ed</STRONG> corresponds to the <EM>termcap</EM> name <STRONG>cd</STRONG> (clear to
+           end of screen).
+
+       The <STRONG>longname</STRONG> and <STRONG>-S</STRONG> options, and  the  parameter-substitution  features
+       used  in  the  <STRONG>cup</STRONG>  example,  were  not  supported in BSD curses before
+       4.3reno (1989) or in AT&amp;T/USL curses before SVr4 (1988).
+
+       IEEE  Std  1003.1/The  Open  Group    Base   Specifications   Issue   7
+       (POSIX.1-2008)  documents  only the operands for <STRONG>clear</STRONG>, <STRONG>init</STRONG> and <STRONG>reset</STRONG>.
+       There are a few interesting observations to make regarding that:
+
+       <STRONG>o</STRONG>   In this implementation, <STRONG>clear</STRONG> is part of the <EM>capname</EM> support.   The
+           others  (<STRONG>init</STRONG> and <STRONG>longname</STRONG>) do not correspond to terminal capabili-
+           ties.
+
+       <STRONG>o</STRONG>   Other  implementations  of  <STRONG>tput</STRONG>  on  SVr4-based  systems  such  as
+           Solaris,  IRIX64  and  HPUX as well as others such as AIX and Tru64
+           provide support for <EM>capname</EM> operands.
+
+       <STRONG>o</STRONG>   A few platforms such as FreeBSD recognize termcap names rather than
+           terminfo capability names in their respective <STRONG>tput</STRONG> commands.  Since
+           2010, NetBSD's <STRONG>tput</STRONG> uses terminfo names.   Before  that,  it  (like
+           FreeBSD) recognized termcap names.
+
+       Because (apparently) <EM>all</EM> of the certified Unix systems support the full
+       set of capability names, the reasoning for documenting only a  few  may
+       not be apparent.
+
+       <STRONG>o</STRONG>   X/Open  Curses Issue 7 documents <STRONG>tput</STRONG> differently, with <EM>capname</EM> and
+           the other features used in this implementation.
+
+       <STRONG>o</STRONG>   That is, there are two standards for <STRONG>tput</STRONG>:  POSIX  (a  subset)  and
+           X/Open  Curses (the full implementation).  POSIX documents a subset
+           to avoid the complication of including X/Open Curses and the termi-
+           nal capabilities database.
+
+       <STRONG>o</STRONG>   While  it  is  certainly  possible  to write a <STRONG>tput</STRONG> program without
+           using curses, none of the systems which have a  curses  implementa-
+           tion provide a <STRONG>tput</STRONG> utility which does not provide the <EM>capname</EM> fea-
+           ture.
 
 
 </PRE><H2><a name="h2-SEE-ALSO">SEE ALSO</a></H2><PRE>
-       <STRONG><A HREF="clear.1.html">clear(1)</A></STRONG>,    <STRONG>stty(1)</STRONG>,   <STRONG><A HREF="tabs.1.html">tabs(1)</A></STRONG>,   <STRONG><A HREF="tset.1.html">tset(1)</A></STRONG>,   <STRONG><A HREF="terminfo.5.html">terminfo(5)</A></STRONG>,
-       <STRONG><A HREF="curs_termcap.3x.html">curs_termcap(3x)</A></STRONG>.
+       <STRONG><A HREF="clear.1.html">clear(1)</A></STRONG>, <STRONG>stty(1)</STRONG>, <STRONG><A HREF="tabs.1.html">tabs(1)</A></STRONG>, <STRONG><A HREF="tset.1.html">tset(1)</A></STRONG>, <STRONG><A HREF="terminfo.5.html">terminfo(5)</A></STRONG>, <STRONG><A HREF="curs_termcap.3x.html">curs_termcap(3x)</A></STRONG>.
 
-       This describes <STRONG>ncurses</STRONG> version 6.0 (patch 20170429).
+       This describes <STRONG>ncurses</STRONG> version 6.0 (patch 20170506).
 
 
 
-                                                                <STRONG><A HREF="tput.1.html">tput(1)</A></STRONG>
+                                                                       <STRONG><A HREF="tput.1.html">tput(1)</A></STRONG>
 </PRE>
 <div class="nav">
 <ul>
index 03b4eb608cd27d5af83ef00aba175095ed9de845..0891fcbc03ece97a8bdab1e6f6368ad247f48458 100644 (file)
@@ -40,7 +40,7 @@
 <BODY>
 <H1 class="no-header">tset 1</H1>
 <PRE>
-<STRONG><A HREF="tset.1.html">tset(1)</A></STRONG>                                                         <STRONG><A HREF="tset.1.html">tset(1)</A></STRONG>
+<STRONG><A HREF="tset.1.html">tset(1)</A></STRONG>                                                                <STRONG><A HREF="tset.1.html">tset(1)</A></STRONG>
 
 
 
 
 
 </PRE><H2><a name="h2-SYNOPSIS">SYNOPSIS</a></H2><PRE>
-       <STRONG>tset</STRONG>  [<STRONG>-IQVcqrsw</STRONG>] [<STRONG>-</STRONG>] [<STRONG>-e</STRONG> <EM>ch</EM>] [<STRONG>-i</STRONG> <EM>ch</EM>] [<STRONG>-k</STRONG> <EM>ch</EM>] [<STRONG>-m</STRONG> <EM>mapping</EM>]
-       [<EM>terminal</EM>]
-       <STRONG>reset</STRONG> [<STRONG>-IQVcqrsw</STRONG>] [<STRONG>-</STRONG>] [<STRONG>-e</STRONG> <EM>ch</EM>] [<STRONG>-i</STRONG> <EM>ch</EM>] [<STRONG>-k</STRONG> <EM>ch</EM>] [<STRONG>-m</STRONG> <EM>mapping</EM>]
-       [<EM>terminal</EM>]
+       <STRONG>tset</STRONG> [<STRONG>-IQVcqrsw</STRONG>] [<STRONG>-</STRONG>] [<STRONG>-e</STRONG> <EM>ch</EM>] [<STRONG>-i</STRONG> <EM>ch</EM>] [<STRONG>-k</STRONG> <EM>ch</EM>] [<STRONG>-m</STRONG> <EM>mapping</EM>] [<EM>terminal</EM>]
+       <STRONG>reset</STRONG> [<STRONG>-IQVcqrsw</STRONG>] [<STRONG>-</STRONG>] [<STRONG>-e</STRONG> <EM>ch</EM>] [<STRONG>-i</STRONG> <EM>ch</EM>] [<STRONG>-k</STRONG> <EM>ch</EM>] [<STRONG>-m</STRONG> <EM>mapping</EM>] [<EM>terminal</EM>]
 
 
 </PRE><H2><a name="h2-DESCRIPTION">DESCRIPTION</a></H2><PRE>
@@ -61,8 +59,8 @@
 </PRE><H3><a name="h3-tset---initialization">tset - initialization</a></H3><PRE>
        This program initializes terminals.
 
-       First,  <STRONG>tset</STRONG>  retrieves the current terminal mode settings
-       for your terminal.  It does this by successively testing
+       First,  <STRONG>tset</STRONG> retrieves the current terminal mode settings for your ter-
+       minal.  It does this by successively testing
 
        <STRONG>o</STRONG>   the standard error,
 
 
        <STRONG>o</STRONG>   ultimately "/dev/tty"
 
-       to obtain terminal settings.  Having retrieved these  set-
-       tings,  <STRONG>tset</STRONG>  remembers  which file descriptor to use when
-       updating settings.
+       to obtain terminal settings.  Having  retrieved  these  settings,  <STRONG>tset</STRONG>
+       remembers which file descriptor to use when updating settings.
 
-       Next, <STRONG>tset</STRONG> determines the type of terminal  that  you  are
-       using.   This  determination is done as follows, using the
-       first terminal type found.
+       Next,  <STRONG>tset</STRONG>  determines  the type of terminal that you are using.  This
+       determination is done as follows, using the first terminal type found.
 
        1. The <STRONG>terminal</STRONG> argument specified on the command line.
 
        2. The value of the <STRONG>TERM</STRONG> environmental variable.
 
-       3. (BSD systems only.) The terminal type  associated  with
-       the  standard  error  output device in the <EM>/etc/ttys</EM> file.
-       (On System-V-like UNIXes and systems  using  that  conven-
-       tion, <EM>getty</EM> does this job by setting <STRONG>TERM</STRONG> according to the
-       type passed to it by <EM>/etc/inittab</EM>.)
+       3. (BSD systems only.) The terminal type associated with  the  standard
+       error  output  device  in the <EM>/etc/ttys</EM> file.  (On System-V-like UNIXes
+       and systems using that convention, <EM>getty</EM> does this job by setting  <STRONG>TERM</STRONG>
+       according to the type passed to it by <EM>/etc/inittab</EM>.)
 
        4. The default terminal type, "unknown".
 
-       If the terminal type was not  specified  on  the  command-
-       line,  the  <STRONG>-m</STRONG>  option  mappings are then applied (see the
-       section  <STRONG>TERMINAL</STRONG>  <STRONG>TYPE</STRONG>  <STRONG>MAPPING</STRONG>  for  more  information).
-       Then,  if  the  terminal  type begins with a question mark
-       ("?"), the user is prompted for confirmation of the termi-
-       nal  type.   An  empty  response  confirms  the  type, or,
-       another type can be entered to specify a new  type.   Once
-       the  terminal  type  has  been  determined,  the  terminal
-       description for the terminal is retrieved.  If no terminal
-       description  is  found  for the type, the user is prompted
-       for another terminal type.
+       If  the  terminal  type  was  not specified on the command-line, the <STRONG>-m</STRONG>
+       option mappings are then applied (see the section <STRONG>TERMINAL</STRONG> <STRONG>TYPE</STRONG> <STRONG>MAPPING</STRONG>
+       for  more information).  Then, if the terminal type begins with a ques-
+       tion mark ("?"), the user is prompted for confirmation of the  terminal
+       type.   An  empty  response  confirms the type, or, another type can be
+       entered to specify a new type.  Once the terminal type has been  deter-
+       mined,  the  terminal description for the terminal is retrieved.  If no
+       terminal description is found for the type, the user  is  prompted  for
+       another terminal type.
 
        Once the terminal description is retrieved,
 
-       <STRONG>o</STRONG>   if the "<STRONG>-w</STRONG>" option is enabled,  <STRONG>tset</STRONG>  may  update  the
-           terminal's window size.
+       <STRONG>o</STRONG>   if  the "<STRONG>-w</STRONG>" option is enabled, <STRONG>tset</STRONG> may update the terminal's win-
+           dow size.
 
-           If the window size cannot be obtained from the operat-
-           ing system, but the terminal description (or  environ-
-           ment, e.g., <STRONG>LINES</STRONG> and <STRONG>COLUMNS</STRONG> variables specify this),
-           use this to set the operating system's notion  of  the
-           window size.
+           If the window size cannot be obtained from  the  operating  system,
+           but  the terminal description (or environment, e.g., <STRONG>LINES</STRONG> and <STRONG>COL-</STRONG>
+           <STRONG>UMNS</STRONG> variables specify this), use this to set  the  operating  sys-
+           tem's notion of the window size.
 
-       <STRONG>o</STRONG>   if  the  "<STRONG>-c</STRONG>" option is enabled, the backspace, inter-
-           rupt  and  line  kill  characters  (among  many  other
-           things) are set
+       <STRONG>o</STRONG>   if  the  "<STRONG>-c</STRONG>"  option is enabled, the backspace, interrupt and line
+           kill characters (among many other things) are set
 
-       <STRONG>o</STRONG>   unless  the  "<STRONG>-I</STRONG>"  option is enabled, the terminal and
-           tab <EM>initialization</EM> strings are sent  to  the  standard
-           error  output,  and  <STRONG>tset</STRONG>  waits one second (in case a
-           hardware reset was issued).
+       <STRONG>o</STRONG>   unless the "<STRONG>-I</STRONG>" option is enabled, the terminal and tab <EM>initializa-</EM>
+           <EM>tion</EM>  strings are sent to the standard error output, and <STRONG>tset</STRONG> waits
+           one second (in case a hardware reset was issued).
 
-       <STRONG>o</STRONG>   Finally, if the erase, interrupt and line kill charac-
-           ters  have  changed,  or  are not set to their default
-           values, their values are  displayed  to  the  standard
-           error output.
+       <STRONG>o</STRONG>   Finally, if the erase, interrupt  and  line  kill  characters  have
+           changed,  or  are not set to their default values, their values are
+           displayed to the standard error output.
 
 
 </PRE><H3><a name="h3-reset---reinitialization">reset - reinitialization</a></H3><PRE>
-       When  invoked  as  <STRONG>reset</STRONG>,  <STRONG>tset</STRONG> sets the terminal modes to
-       "sane" values:
+       When invoked as <STRONG>reset</STRONG>, <STRONG>tset</STRONG> sets the terminal modes to "sane" values:
 
        <STRONG>o</STRONG>   sets cooked and echo modes,
 
 
        <STRONG>o</STRONG>   turns on newline translation and
 
-       <STRONG>o</STRONG>   resets any unset special characters to  their  default
-           values
+       <STRONG>o</STRONG>   resets any unset special characters to their default values
 
-       before  doing the terminal initialization described above.
-       Also,  rather  than  using  the  terminal   <EM>initialization</EM>
-       strings, it uses the terminal <EM>reset</EM> strings.
+       before doing the terminal initialization described above.  Also, rather
+       than  using  the  terminal <EM>initialization</EM> strings, it uses the terminal
+       <EM>reset</EM> strings.
 
-       The <STRONG>reset</STRONG> command is useful after a program dies leaving a
-       terminal in an abnormal state:
+       The <STRONG>reset</STRONG> command is useful after a program dies leaving a terminal  in
+       an abnormal state:
 
        <STRONG>o</STRONG>   you may have to type
 
                <EM>&lt;LF&gt;</EM><STRONG>reset</STRONG><EM>&lt;LF&gt;</EM>
 
-           (the line-feed character is normally control-J) to get
-           the terminal to work, as carriage-return may no longer
-           work in the abnormal state.
+           (the line-feed character is normally control-J) to get the terminal
+           to work, as carriage-return may no  longer  work  in  the  abnormal
+           state.
 
        <STRONG>o</STRONG>   Also, the terminal will often not echo the command.
 
 
        <STRONG>-e</STRONG>   Set the erase character to <EM>ch</EM>.
 
-       <STRONG>-I</STRONG>   Do  not  send  the  terminal  or  tab  initialization
-            strings to the terminal.
+       <STRONG>-I</STRONG>   Do not send the terminal or tab initialization strings to the ter-
+            minal.
 
        <STRONG>-i</STRONG>   Set the interrupt character to <EM>ch</EM>.
 
        <STRONG>-k</STRONG>   Set the line kill character to <EM>ch</EM>.
 
-       <STRONG>-m</STRONG>   Specify  a  mapping  from  a port type to a terminal.
-            See the section <STRONG>TERMINAL</STRONG> <STRONG>TYPE</STRONG> <STRONG>MAPPING</STRONG> for more infor-
-            mation.
+       <STRONG>-m</STRONG>   Specify a mapping from a port type to a terminal.  See the section
+            <STRONG>TERMINAL</STRONG> <STRONG>TYPE</STRONG> <STRONG>MAPPING</STRONG> for more information.
 
-       <STRONG>-Q</STRONG>   Do  not  display  any values for the erase, interrupt
-            and line kill characters.  Normally <STRONG>tset</STRONG> displays the
-            values  for  control characters which differ from the
-            system's default values.
+       <STRONG>-Q</STRONG>   Do  not  display any values for the erase, interrupt and line kill
+            characters.  Normally <STRONG>tset</STRONG> displays the values for control charac-
+            ters which differ from the system's default values.
 
-       <STRONG>-q</STRONG>   The terminal type is displayed to the  standard  out-
-            put,  and the terminal is not initialized in any way.
-            The option "-" by itself is equivalent but archaic.
+       <STRONG>-q</STRONG>   The  terminal  type  is  displayed to the standard output, and the
+            terminal is not initialized in any way.  The option "-" by  itself
+            is equivalent but archaic.
 
        <STRONG>-r</STRONG>   Print the terminal type to the standard error output.
 
-       <STRONG>-s</STRONG>   Print the sequence of shell  commands  to  initialize
-            the environment variable <STRONG>TERM</STRONG> to the standard output.
-            See the section <STRONG>SETTING</STRONG> <STRONG>THE</STRONG> <STRONG>ENVIRONMENT</STRONG> for details.
+       <STRONG>-s</STRONG>   Print the sequence of shell commands to initialize the environment
+            variable <STRONG>TERM</STRONG> to the standard output.  See the section <STRONG>SETTING</STRONG> <STRONG>THE</STRONG>
+            <STRONG>ENVIRONMENT</STRONG> for details.
 
-       <STRONG>-V</STRONG>   reports the version of ncurses which was used in this
-            program, and exits.
+       <STRONG>-V</STRONG>   reports the version of ncurses which was used in this program, and
+            exits.
 
-       <STRONG>-w</STRONG>   Resize  the  window  to  match  the  size deduced via
-            <STRONG><A HREF="curs_terminfo.3x.html">setupterm(3x)</A></STRONG>.  Normally this has no  effect,  unless
-            <STRONG>setupterm</STRONG> is not able to detect the window size.
+       <STRONG>-w</STRONG>   Resize the window to match the  size  deduced  via  <STRONG><A HREF="curs_terminfo.3x.html">setupterm(3x)</A></STRONG>.
+            Normally  this  has  no  effect,  unless  <STRONG>setupterm</STRONG> is not able to
+            detect the window size.
 
-       The arguments for the <STRONG>-e</STRONG>, <STRONG>-i</STRONG>, and <STRONG>-k</STRONG> options may either be
-       entered as actual characters or by using the  "hat"  nota-
-       tion, i.e., control-h may be specified as "^H" or "^h".
+       The arguments for the <STRONG>-e</STRONG>, <STRONG>-i</STRONG>, and <STRONG>-k</STRONG> options may either be  entered  as
+       actual  characters  or by using the "hat" notation, i.e., control-h may
+       be specified as "^H" or "^h".
 
        If neither <STRONG>-c</STRONG> or <STRONG>-w</STRONG> is given, both options are assumed.
 
 
 </PRE><H2><a name="h2-SETTING-THE-ENVIRONMENT">SETTING THE ENVIRONMENT</a></H2><PRE>
-       It  is  often  desirable  to  enter  the terminal type and
-       information about the  terminal's  capabilities  into  the
-       shell's environment.  This is done using the <STRONG>-s</STRONG> option.
-
-       When the <STRONG>-s</STRONG> option is specified, the commands to enter the
-       information into the shell's environment  are  written  to
-       the  standard output.  If the <STRONG>SHELL</STRONG> environmental variable
-       ends in "csh", the commands are for <STRONG>csh</STRONG>,  otherwise,  they
-       are  for  <STRONG>sh</STRONG>.   Note,  the  <STRONG>csh</STRONG> commands set and unset the
-       shell variable <STRONG>noglob</STRONG>, leaving it  unset.   The  following
-       line  in  the <STRONG>.login</STRONG> or <STRONG>.profile</STRONG> files will initialize the
-       environment correctly:
+       It is often desirable to enter the terminal type and information  about
+       the terminal's capabilities into the shell's environment.  This is done
+       using the <STRONG>-s</STRONG> option.
+
+       When the <STRONG>-s</STRONG> option is specified, the commands to enter the  information
+       into  the  shell's  environment are written to the standard output.  If
+       the <STRONG>SHELL</STRONG> environmental variable ends in "csh", the  commands  are  for
+       <STRONG>csh</STRONG>,  otherwise, they are for <STRONG>sh</STRONG>.  Note, the <STRONG>csh</STRONG> commands set and unset
+       the shell variable <STRONG>noglob</STRONG>, leaving it unset.  The following line in the
+       <STRONG>.login</STRONG> or <STRONG>.profile</STRONG> files will initialize the environment correctly:
 
            eval `tset -s options ... `
 
 
 </PRE><H2><a name="h2-TERMINAL-TYPE-MAPPING">TERMINAL TYPE MAPPING</a></H2><PRE>
-       When the terminal is not hardwired into the system (or the
-       current system information is incorrect) the terminal type
-       derived from the <EM>/etc/ttys</EM> file or the <STRONG>TERM</STRONG>  environmental
-       variable  is often something generic like <STRONG>network</STRONG>, <STRONG>dialup</STRONG>,
-       or <STRONG>unknown</STRONG>.  When <STRONG>tset</STRONG> is used in a startup script  it  is
-       often  desirable  to provide information about the type of
-       terminal used on such ports.
-
-       The <STRONG>-m</STRONG> options maps from some set of conditions to a  ter-
-       minal  type, that is, to tell <STRONG>tset</STRONG> "If I'm on this port at
-       a particular speed, guess that I'm on that kind of  termi-
-       nal".
-
-       The argument to the <STRONG>-m</STRONG> option consists of an optional port
-       type, an optional operator, an optional baud rate specifi-
-       cation,  an  optional colon (":") character and a terminal
-       type.  The port type is a string (delimited by either  the
-       operator or the colon character).  The operator may be any
-       combination of "&gt;", "&lt;", "@", and "!"; "&gt;"  means  greater
-       than,  "&lt;"  means  less  than,  "@" means equal to and "!"
-       inverts the sense of the test.  The baud rate is specified
-       as a number and is compared with the speed of the standard
-       error output (which should be the control terminal).   The
-       terminal type is a string.
-
-       If the terminal type is not specified on the command line,
-       the <STRONG>-m</STRONG> mappings are applied to the terminal type.  If  the
-       port  type  and  baud rate match the mapping, the terminal
-       type specified in the mapping replaces the  current  type.
-       If  more than one mapping is specified, the first applica-
-       ble mapping is used.
-
-       For   example,    consider    the    following    mapping:
-       <STRONG>dialup&gt;9600:vt100</STRONG>.  The port type is dialup , the operator
-       is &gt;, the baud rate specification is 9600, and the  termi-
-       nal type is vt100.  The result of this mapping is to spec-
-       ify that if the terminal type is <STRONG>dialup</STRONG>, and the baud rate
-       is  greater  than 9600 baud, a terminal type of <STRONG>vt100</STRONG> will
-       be used.
-
-       If no baud rate is specified, the terminal type will match
-       any baud rate.  If no port type is specified, the terminal
-       type  will  match  any  port  type.    For   example,   <STRONG>-m</STRONG>
-       <STRONG>dialup:vt100</STRONG>  <STRONG>-m</STRONG>  <STRONG>:?xterm</STRONG>  will  cause  any  dialup  port,
-       regardless of baud rate, to match the terminal type vt100,
-       and  any  non-dialup  port type to match the terminal type
-       ?xterm.  Note, because of the leading question  mark,  the
-       user  will be queried on a default port as to whether they
-       are actually using an xterm terminal.
-
-       No whitespace characters are permitted in  the  <STRONG>-m</STRONG>  option
-       argument.   Also,  to avoid problems with meta-characters,
-       it is suggested that the  entire  <STRONG>-m</STRONG>  option  argument  be
-       placed  within single quote characters, and that <STRONG>csh</STRONG> users
-       insert a backslash character ("\") before any  exclamation
-       marks ("!").
+       When the terminal is not hardwired into the system (or the current sys-
+       tem information is  incorrect)  the  terminal  type  derived  from  the
+       <EM>/etc/ttys</EM>  file  or  the <STRONG>TERM</STRONG> environmental variable is often something
+       generic like <STRONG>network</STRONG>, <STRONG>dialup</STRONG>, or <STRONG>unknown</STRONG>.   When  <STRONG>tset</STRONG>  is  used  in  a
+       startup  script  it is often desirable to provide information about the
+       type of terminal used on such ports.
+
+       The <STRONG>-m</STRONG> options maps from some set of conditions  to  a  terminal  type,
+       that is, to tell <STRONG>tset</STRONG> "If I'm on this port at a particular speed, guess
+       that I'm on that kind of terminal".
+
+       The argument to the <STRONG>-m</STRONG> option consists of an  optional  port  type,  an
+       optional  operator,  an  optional  baud rate specification, an optional
+       colon (":") character and a terminal type.  The port type is  a  string
+       (delimited  by either the operator or the colon character).  The opera-
+       tor may be any combination of "&gt;", "&lt;", "@", and "!"; "&gt;" means greater
+       than, "&lt;" means less than, "@" means equal to and "!" inverts the sense
+       of the test.  The baud rate is specified as a number  and  is  compared
+       with  the  speed of the standard error output (which should be the con-
+       trol terminal).  The terminal type is a string.
+
+       If the terminal type is not specified on the command line, the <STRONG>-m</STRONG>  map-
+       pings are applied to the terminal type.  If the port type and baud rate
+       match the mapping, the terminal type specified in the mapping  replaces
+       the  current  type.   If  more than one mapping is specified, the first
+       applicable mapping is used.
+
+       For example, consider the following  mapping:  <STRONG>dialup&gt;9600:vt100</STRONG>.   The
+       port type is dialup , the operator is &gt;, the baud rate specification is
+       9600, and the terminal type is vt100.  The result of this mapping is to
+       specify  that  if  the  terminal  type  is <STRONG>dialup</STRONG>, and the baud rate is
+       greater than 9600 baud, a terminal type of <STRONG>vt100</STRONG> will be used.
+
+       If no baud rate is specified, the terminal type  will  match  any  baud
+       rate.   If  no port type is specified, the terminal type will match any
+       port type.  For example, <STRONG>-m</STRONG> <STRONG>dialup:vt100</STRONG>  <STRONG>-m</STRONG>  <STRONG>:?xterm</STRONG>  will  cause  any
+       dialup port, regardless of baud rate, to match the terminal type vt100,
+       and any non-dialup port type to match the terminal type ?xterm.   Note,
+       because  of  the  leading  question mark, the user will be queried on a
+       default port as to whether they are actually using an xterm terminal.
+
+       No whitespace characters are  permitted  in  the  <STRONG>-m</STRONG>  option  argument.
+       Also,  to avoid problems with meta-characters, it is suggested that the
+       entire <STRONG>-m</STRONG> option argument be placed within single quote characters, and
+       that  <STRONG>csh</STRONG>  users insert a backslash character ("\") before any exclama-
+       tion marks ("!").
 
 
 </PRE><H2><a name="h2-HISTORY">HISTORY</a></H2><PRE>
-       A  <STRONG>reset</STRONG> command appeared in 2BSD (April 1979), written by
-       Kurt Shoens.  This program set the <EM>erase</EM> and <EM>kill</EM>  charac-
-       ters  to  <STRONG>^H</STRONG>  (backspace) and <STRONG>@</STRONG> respectively.  Mark Horton
-       improved that in 3BSD (October 1979), adding  <EM>intr</EM>,  <EM>quit</EM>,
-       <EM>start</EM>/<EM>stop</EM> and <EM>eof</EM> characters as well as changing the pro-
+       A <STRONG>reset</STRONG> command appeared in 2BSD (April 1979), written by Kurt  Shoens.
+       This  program set the <EM>erase</EM> and <EM>kill</EM> characters to <STRONG>^H</STRONG> (backspace) and <STRONG>@</STRONG>
+       respectively.  Mark Horton improved that in 3BSD (October 1979), adding
+       <EM>intr</EM>,  <EM>quit</EM>, <EM>start</EM>/<EM>stop</EM> and <EM>eof</EM> characters as well as changing the pro-
        gram to avoid modifying any user settings.
 
-       Later in 4.1BSD (December 1980), Mark Horton added a  call
-       to  the  <STRONG>tset</STRONG>  program  using the <STRONG>-I</STRONG> and <STRONG>-Q</STRONG> options, i.e.,
-       using that to improve  the  terminal  modes.   With  those
-       options,  that  version  of  <STRONG>reset</STRONG> did not use the termcap
-       database.
-
-       A separate <STRONG>tset</STRONG> command was provided in 2BSD by Eric  All-
-       man.   While  the oldest published source (from 1979) pro-
-       vides both <STRONG>tset</STRONG> and <STRONG>reset</STRONG>, Allman's comments in  the  2BSD
-       source  code  indicate that he began work in October 1977,
-       continuing development over the next few years.
-
-       In September 1980, Eric Allman modified <STRONG>tset</STRONG>,  adding  the
-       code  from  the  existing  "reset"  feature  when <STRONG>tset</STRONG> was
-       invoked as <STRONG>reset</STRONG>.  Rather than simply copying the existing
-       program,  in  this  merged  version, <STRONG>tset</STRONG> used the termcap
-       database to do additional (re)initialization of the termi-
+       Later in 4.1BSD (December 1980), Mark Horton added a call to  the  <STRONG>tset</STRONG>
+       program  using  the  <STRONG>-I</STRONG> and <STRONG>-Q</STRONG> options, i.e., using that to improve the
+       terminal modes.  With those options, that version of <STRONG>reset</STRONG> did not  use
+       the termcap database.
+
+       A separate <STRONG>tset</STRONG> command was provided in 2BSD by Eric Allman.  While the
+       oldest published source (from 1979) provides both <STRONG>tset</STRONG> and <STRONG>reset</STRONG>,  All-
+       man's  comments  in the 2BSD source code indicate that he began work in
+       October 1977, continuing development over the next few years.
+
+       In September 1980, Eric Allman modified <STRONG>tset</STRONG>, adding the code from  the
+       existing  "reset"  feature when <STRONG>tset</STRONG> was invoked as <STRONG>reset</STRONG>.  Rather than
+       simply copying the existing program, in this merged version, <STRONG>tset</STRONG>  used
+       the  termcap database to do additional (re)initialization of the termi-
        nal.  This version appeared in 4.1cBSD, late in 1982.
 
-       Other  developers  (e.g., Keith Bostic and Jim Bloom) con-
-       tinued to modify <STRONG>tset</STRONG> until 4.4BSD was released in 1993.
+       Other developers (e.g., Keith Bostic and Jim Bloom) continued to modify
+       <STRONG>tset</STRONG> until 4.4BSD was released in 1993.
 
-       The <STRONG>ncurses</STRONG> implementation was lightly  adapted  from  the
-       4.4BSD  sources for a terminfo environment by Eric S. Ray-
-       mond &lt;esr@snark.thyrsus.com&gt;.
+       The  <STRONG>ncurses</STRONG> implementation was lightly adapted from the 4.4BSD sources
+       for a terminfo environment by Eric S. Raymond &lt;esr@snark.thyrsus.com&gt;.
 
 
 </PRE><H2><a name="h2-COMPATIBILITY">COMPATIBILITY</a></H2><PRE>
-       Neither IEEE Std 1003.1/The Open Group Base Specifications
-       Issue 7 (POSIX.1-2008) nor X/Open Curses Issue 7 documents
-       <STRONG>tset</STRONG> or <STRONG>reset</STRONG>.
-
-       The AT&amp;T <STRONG>tput</STRONG> utility (AIX,  HPUX,  Solaris)  incorporated
-       the  terminal-mode  manipulation  as well as termcap-based
-       features such as  resetting  tabstops  from  <STRONG>tset</STRONG>  in  BSD
-       (4.1c), presumably with the intention of making <STRONG>tset</STRONG> obso-
-       lete.  However, each of those systems still provides <STRONG>tset</STRONG>.
-       In  fact,  the  commonly-used  <STRONG>reset</STRONG>  utility is always an
-       alias for <STRONG>tset</STRONG>.
-
-       The <STRONG>tset</STRONG> utility provides for backward-compatibility  with
-       BSD  environments  (under most modern UNIXes, <STRONG>/etc/inittab</STRONG>
-       and <STRONG>getty(1)</STRONG> can set <STRONG>TERM</STRONG> appropriately for  each  dial-up
-       line;  this  obviates what was <STRONG>tset</STRONG>'s most important use).
-       This implementation behaves like 4.4BSD <STRONG>tset</STRONG>, with  a  few
-       exceptions specified here.
-
-       A  few  options are different because the <STRONG>TERMCAP</STRONG> variable
-       is no longer supported under terminfo-based <STRONG>ncurses</STRONG>:
-
-       <STRONG>o</STRONG>   The <STRONG>-S</STRONG> option of BSD <STRONG>tset</STRONG> no longer works;  it  prints
-           an error message to the standard error and dies.
+       Neither IEEE Std 1003.1/The Open  Group  Base  Specifications  Issue  7
+       (POSIX.1-2008) nor X/Open Curses Issue 7 documents <STRONG>tset</STRONG> or <STRONG>reset</STRONG>.
+
+       The  AT&amp;T  <STRONG>tput</STRONG> utility (AIX, HPUX, Solaris) incorporated the terminal-
+       mode manipulation as well as termcap-based features such  as  resetting
+       tabstops from <STRONG>tset</STRONG> in BSD (4.1c), presumably with the intention of mak-
+       ing <STRONG>tset</STRONG> obsolete.  However, each of those systems still provides <STRONG>tset</STRONG>.
+       In fact, the commonly-used <STRONG>reset</STRONG> utility is always an alias for <STRONG>tset</STRONG>.
+
+       The  <STRONG>tset</STRONG> utility provides for backward-compatibility with BSD environ-
+       ments (under most modern UNIXes, <STRONG>/etc/inittab</STRONG> and <STRONG>getty(1)</STRONG> can set <STRONG>TERM</STRONG>
+       appropriately for each dial-up line; this obviates what was <STRONG>tset</STRONG>'s most
+       important use).  This implementation behaves like 4.4BSD <STRONG>tset</STRONG>,  with  a
+       few exceptions specified here.
+
+       A  few  options are different because the <STRONG>TERMCAP</STRONG> variable is no longer
+       supported under terminfo-based <STRONG>ncurses</STRONG>:
+
+       <STRONG>o</STRONG>   The <STRONG>-S</STRONG> option of BSD <STRONG>tset</STRONG> no longer works; it prints an error  mes-
+           sage to the standard error and dies.
 
        <STRONG>o</STRONG>   The <STRONG>-s</STRONG> option only sets <STRONG>TERM</STRONG>, not <STRONG>TERMCAP</STRONG>.
 
-       There  was  an  undocumented  4.4BSD feature that invoking
-       <STRONG>tset</STRONG> via a link named "TSET" (or via any other name begin-
-       ning  with  an  upper-case letter) set the terminal to use
-       upper-case only.  This feature has been omitted.
-
-       The <STRONG>-A</STRONG>, <STRONG>-E</STRONG>, <STRONG>-h</STRONG>, <STRONG>-u</STRONG> and <STRONG>-v</STRONG> options were  deleted  from  the
-       <STRONG>tset</STRONG>  utility  in 4.4BSD.  None of them were documented in
-       4.3BSD and all are of limited utility at  best.   The  <STRONG>-a</STRONG>,
-       <STRONG>-d</STRONG>, and <STRONG>-p</STRONG> options are similarly not documented or useful,
-       but were retained as they appear to be in widespread  use.
-       It  is  strongly recommended that any usage of these three
-       options be changed to use the <STRONG>-m</STRONG> option instead.  The  <STRONG>-a</STRONG>,
-       <STRONG>-d</STRONG>,  and  <STRONG>-p</STRONG>  options are therefore omitted from the usage
-       summary above.
-
-       Very old systems, e.g., 3BSD, used  a  different  terminal
-       driver  which was replaced in 4BSD in the early 1980s.  To
-       accommodate these older systems, the 4BSD <STRONG>tset</STRONG> provided  a
-       <STRONG>-n</STRONG>  option  to specify that the new terminal driver should
-       be  used.   This  implementation  does  not  provide  that
-       choice.
-
-       It  is  still  permissible  to  specify the <STRONG>-e</STRONG>, <STRONG>-i</STRONG>, and <STRONG>-k</STRONG>
-       options without arguments, although it is strongly  recom-
-       mended  that such usage be fixed to explicitly specify the
-       character.
-
-       As of 4.4BSD, executing <STRONG>tset</STRONG> as <STRONG>reset</STRONG>  no  longer  implies
-       the <STRONG>-Q</STRONG> option.  Also, the interaction between the - option
-       and the <EM>terminal</EM> argument in some historic implementations
-       of <STRONG>tset</STRONG> has been removed.
-
-       The <STRONG>-c</STRONG> and <STRONG>-w</STRONG> options are not found in earlier implementa-
-       tions.  However, a different  window  size-change  feature
-       was provided in 4.4BSD.
-
-       <STRONG>o</STRONG>   In  4.4BSD, <STRONG>tset</STRONG> uses the window size from the termcap
-           description to set the window size if <STRONG>tset</STRONG> is not able
-           to obtain the window size from the operating system.
-
-       <STRONG>o</STRONG>   In   ncurses,  <STRONG>tset</STRONG>  obtains  the  window  size  using
-           <STRONG>setupterm</STRONG>, which may be from the operating system, the
-           <STRONG>LINES</STRONG>  and <STRONG>COLUMNS</STRONG> environment variables or the termi-
-           nal description.
-
-       Obtaining the window size from the terminal description is
-       common  to  both  implementations, but considered obsoles-
-       cent.  Its only practical use is for  hardware  terminals.
-       Generally  speaking,  a window size would be unset only if
-       there were some problem obtaining the value from the oper-
-       ating  system  (and <STRONG>setupterm</STRONG> would still fail).  For that
-       reason, the <STRONG>LINES</STRONG> and <STRONG>COLUMNS</STRONG> environment variables may be
-       useful  for  working  around  window-size problems.  Those
-       have the drawback that if the  window  is  resized,  those
-       variables  must  be recomputed and reassigned.  To do this
-       more easily, use the <STRONG><A HREF="resize.1.html">resize(1)</A></STRONG> program.
+       There  was an undocumented 4.4BSD feature that invoking <STRONG>tset</STRONG> via a link
+       named "TSET" (or via any other name beginning with an  upper-case  let-
+       ter)  set  the  terminal to use upper-case only.  This feature has been
+       omitted.
+
+       The <STRONG>-A</STRONG>, <STRONG>-E</STRONG>, <STRONG>-h</STRONG>, <STRONG>-u</STRONG> and <STRONG>-v</STRONG> options were deleted from the <STRONG>tset</STRONG> utility in
+       4.4BSD.   None of them were documented in 4.3BSD and all are of limited
+       utility at best.  The <STRONG>-a</STRONG>, <STRONG>-d</STRONG>, and <STRONG>-p</STRONG> options are  similarly  not  docu-
+       mented  or useful, but were retained as they appear to be in widespread
+       use.  It is strongly recommended that any usage of these three  options
+       be  changed  to  use the <STRONG>-m</STRONG> option instead.  The <STRONG>-a</STRONG>, <STRONG>-d</STRONG>, and <STRONG>-p</STRONG> options
+       are therefore omitted from the usage summary above.
+
+       Very old systems, e.g., 3BSD, used a different  terminal  driver  which
+       was  replaced  in  4BSD in the early 1980s.  To accommodate these older
+       systems, the 4BSD <STRONG>tset</STRONG> provided a <STRONG>-n</STRONG> option to  specify  that  the  new
+       terminal  driver  should be used.  This implementation does not provide
+       that choice.
+
+       It is still permissible to specify the <STRONG>-e</STRONG>, <STRONG>-i</STRONG>, and <STRONG>-k</STRONG>  options  without
+       arguments, although it is strongly recommended that such usage be fixed
+       to explicitly specify the character.
+
+       As of 4.4BSD, executing <STRONG>tset</STRONG> as <STRONG>reset</STRONG> no longer implies the <STRONG>-Q</STRONG>  option.
+       Also, the interaction between the - option and the <EM>terminal</EM> argument in
+       some historic implementations of <STRONG>tset</STRONG> has been removed.
+
+       The <STRONG>-c</STRONG> and <STRONG>-w</STRONG> options are not found in earlier  implementations.   How-
+       ever, a different window size-change feature was provided in 4.4BSD.
+
+       <STRONG>o</STRONG>   In  4.4BSD,  <STRONG>tset</STRONG> uses the window size from the termcap description
+           to set the window size if <STRONG>tset</STRONG> is not able  to  obtain  the  window
+           size from the operating system.
+
+       <STRONG>o</STRONG>   In ncurses, <STRONG>tset</STRONG> obtains the window size using <STRONG>setupterm</STRONG>, which may
+           be from the operating system, the  <STRONG>LINES</STRONG>  and  <STRONG>COLUMNS</STRONG>  environment
+           variables or the terminal description.
+
+       Obtaining  the  window  size from the terminal description is common to
+       both implementations, but considered obsolescent.  Its  only  practical
+       use is for hardware terminals.  Generally speaking, a window size would
+       be unset only if there were some problem obtaining the value  from  the
+       operating  system  (and  <STRONG>setupterm</STRONG> would still fail).  For that reason,
+       the <STRONG>LINES</STRONG> and <STRONG>COLUMNS</STRONG> environment variables may be useful  for  working
+       around  window-size problems.  Those have the drawback that if the win-
+       dow is resized, those variables must be recomputed and reassigned.   To
+       do this more easily, use the <STRONG><A HREF="resize.1.html">resize(1)</A></STRONG> program.
 
 
 </PRE><H2><a name="h2-ENVIRONMENT">ENVIRONMENT</a></H2><PRE>
        The <STRONG>tset</STRONG> command uses these environment variables:
 
        SHELL
-            tells <STRONG>tset</STRONG> whether to initialize <STRONG>TERM</STRONG> using <STRONG>sh</STRONG> or <STRONG>csh</STRONG>
-            syntax.
+            tells <STRONG>tset</STRONG> whether to initialize <STRONG>TERM</STRONG> using <STRONG>sh</STRONG> or <STRONG>csh</STRONG> syntax.
 
-       TERM Denotes  your  terminal  type.  Each terminal type is
-            distinct, though many are similar.
+       TERM Denotes  your  terminal  type.   Each  terminal  type is distinct,
+            though many are similar.
 
        TERMCAP
-            may denote the location of a termcap database.  If it
-            is not an absolute pathname, e.g., begins with a "/",
-            <STRONG>tset</STRONG> removes the variable from the environment before
-            looking for the terminal description.
+            may denote the location of a termcap database.  If it  is  not  an
+            absolute pathname, e.g., begins with a "/", <STRONG>tset</STRONG> removes the vari-
+            able from the environment before looking for the terminal descrip-
+            tion.
 
 
 </PRE><H2><a name="h2-FILES">FILES</a></H2><PRE>
        /etc/ttys
-            system  port  name  to terminal type mapping database
-            (BSD versions only).
+            system  port  name to terminal type mapping database (BSD versions
+            only).
 
        /usr/share/terminfo
             terminal capability database
 
 
 </PRE><H2><a name="h2-SEE-ALSO">SEE ALSO</a></H2><PRE>
-       <STRONG>csh(1)</STRONG>,   <STRONG>sh(1)</STRONG>,   <STRONG>stty(1)</STRONG>,   <STRONG><A HREF="curs_terminfo.3x.html">curs_terminfo(3x)</A></STRONG>,   <STRONG>tty(4)</STRONG>,
-       <STRONG><A HREF="terminfo.5.html">terminfo(5)</A></STRONG>, <STRONG>ttys(5)</STRONG>, <STRONG>environ(7)</STRONG>
+       <STRONG>csh(1)</STRONG>,  <STRONG>sh(1)</STRONG>,  <STRONG>stty(1)</STRONG>,   <STRONG><A HREF="curs_terminfo.3x.html">curs_terminfo(3x)</A></STRONG>,   <STRONG>tty(4)</STRONG>,   <STRONG><A HREF="terminfo.5.html">terminfo(5)</A></STRONG>,
+       <STRONG>ttys(5)</STRONG>, <STRONG>environ(7)</STRONG>
 
-       This describes <STRONG>ncurses</STRONG> version 6.0 (patch 20170429).
+       This describes <STRONG>ncurses</STRONG> version 6.0 (patch 20170506).
 
 
 
-                                                                <STRONG><A HREF="tset.1.html">tset(1)</A></STRONG>
+                                                                       <STRONG><A HREF="tset.1.html">tset(1)</A></STRONG>
 </PRE>
 <div class="nav">
 <ul>
index 818383d5d54d905f62cc9e490854ea098b032ac0..c47106e102806023460a1ed777c9ca3dd3ddae87 100644 (file)
@@ -41,7 +41,7 @@
 <BODY>
 <H1 class="no-header">wresize 3x</H1>
 <PRE>
-<STRONG><A HREF="wresize.3x.html">wresize(3x)</A></STRONG>                                                 <STRONG><A HREF="wresize.3x.html">wresize(3x)</A></STRONG>
+<STRONG><A HREF="wresize.3x.html">wresize(3x)</A></STRONG>                                                        <STRONG><A HREF="wresize.3x.html">wresize(3x)</A></STRONG>
 
 
 
 
 
 </PRE><H2><a name="h2-DESCRIPTION">DESCRIPTION</a></H2><PRE>
-       This  is  an  extension to the curses library.  It reallo-
-       cates storage for an <STRONG>ncurses</STRONG> window to adjust  its  dimen-
-       sions  to  the  specified  values.  If either dimension is
-       larger than the  current  values,  the  window's  data  is
-       filled with blanks that have the current background rendi-
-       tion (as set by <STRONG>wbkgdset</STRONG>) merged into them.
+       This is an extension to the curses library.  It reallocates storage for
+       an <STRONG>ncurses</STRONG> window to adjust its dimensions to the specified values.  If
+       either  dimension  is larger than the current values, the window's data
+       is filled with blanks that have the current  background  rendition  (as
+       set by <STRONG>wbkgdset</STRONG>) merged into them.
 
 
 </PRE><H2><a name="h2-RETURN-VALUE">RETURN VALUE</a></H2><PRE>
-       The function returns the integer <STRONG>ERR</STRONG> upon failure  and  <STRONG>OK</STRONG>
-       on success.  It will fail if either of the dimensions less
-       than or equal  to  zero,  or  if  an  error  occurs  while
-       (re)allocating memory for the window.
+       The  function  returns  the integer <STRONG>ERR</STRONG> upon failure and <STRONG>OK</STRONG> on success.
+       It will fail if either of the dimensions less than or equal to zero, or
+       if an error occurs while (re)allocating memory for the window.
 
 
 </PRE><H2><a name="h2-NOTES">NOTES</a></H2><PRE>
-       The only restriction placed on the dimensions is that they
-       be greater than zero.  The dimensions are not compared  to
-       <STRONG>curses</STRONG>   screen   dimensions  to  simplify  the  logic  of
-       <STRONG>resizeterm</STRONG>.  The caller  must  ensure  that  the  window's
-       dimensions fit within the actual screen dimensions.
+       The  only  restriction placed on the dimensions is that they be greater
+       than zero.  The dimensions are not compared to <STRONG>curses</STRONG> screen dimensions
+       to  simplify  the logic of <STRONG>resizeterm</STRONG>.  The caller must ensure that the
+       window's dimensions fit within the actual screen dimensions.
 
 
 </PRE><H2><a name="h2-PORTABILITY">PORTABILITY</a></H2><PRE>
        It is not possible to resize windows with SVr4 curses.
 
-       This  extension of ncurses was introduced in mid-1995.  It
-       was adopted in NetBSD curses (2001) and PDCurses (2003).
+       This extension of ncurses was introduced in mid-1995.  It  was  adopted
+       in NetBSD curses (2001) and PDCurses (2003).
 
 
 </PRE><H2><a name="h2-SEE-ALSO">SEE ALSO</a></H2><PRE>
 
 
 </PRE><H2><a name="h2-AUTHOR">AUTHOR</a></H2><PRE>
-       Thomas Dickey (from an equivalent function written in 1988
-       for BSD curses).
+       Thomas  Dickey  (from  an  equivalent  function written in 1988 for BSD
+       curses).
 
 
 
-                                                            <STRONG><A HREF="wresize.3x.html">wresize(3x)</A></STRONG>
+                                                                   <STRONG><A HREF="wresize.3x.html">wresize(3x)</A></STRONG>
 </PRE>
 <div class="nav">
 <ul>
index a6cd40c74ddb9aa602d114e2028213c85bb8e386..0f4e89972c6f7e0755e4484e5f1d415e2a083112 100644 (file)
@@ -1,8 +1,7 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN">
 <!--
-  $Id: ncurses-intro.html,v 1.46 2013/05/17 23:29:27 tom Exp $
+  $Id: ncurses-intro.html,v 1.47 2017/05/05 12:03:28 tom Exp $
   ****************************************************************************
-  * Copyright (c) 1998-2012,2013 Free Software Foundation, Inc.              *
+  * Copyright (c) 1998-2013,2017 Free Software Foundation, Inc.              *
   *                                                                          *
   * Permission is hereby granted, free of charge, to any person obtaining a  *
   * copy of this software and associated documentation files (the            *
   * authorization.                                                           *
   ****************************************************************************
 -->
-<HTML>
-<HEAD>
-<TITLE>Writing Programs with NCURSES</TITLE>
-<link rev="made" href="mailto:bugs-ncurses@gnu.org">
-<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
-</HEAD>
-<BODY>
-
-<H1>Writing Programs with NCURSES</H1>
-
-<BLOCKQUOTE>
-by Eric S. Raymond and Zeyd M. Ben-Halim<BR>
-updates since release 1.9.9e by Thomas Dickey
-</BLOCKQUOTE>
-
-<H1>Contents</H1>
-<UL>
-<LI><A HREF="#introduction">Introduction</A>
-<UL>
-<LI><A HREF="#history">A Brief History of Curses</A>
-<LI><A HREF="#scope">Scope of This Document</A>
-<LI><A HREF="#terminology">Terminology</A>
-</UL>
-<LI><A HREF="#curses">The Curses Library</A>
-<UL>
-<LI><A HREF="#overview">An Overview of Curses</A>
-<UL>
-<LI><A HREF="#compiling">Compiling Programs using Curses</A>
-<LI><A HREF="#updating">Updating the Screen</A>
-<LI><A HREF="#stdscr">Standard Windows and Function Naming Conventions</A>
-<LI><A HREF="#variables">Variables</A>
-</UL>
-<LI><A HREF="#using">Using the Library</A>
-<UL>
-<LI><A HREF="#starting">Starting up</A>
-<LI><A HREF="#output">Output</A>
-<LI><A HREF="#input">Input</A>
-<LI><A HREF="#formschars">Using Forms Characters</A>
-<LI><A HREF="#attributes">Character Attributes and Color</A>
-<LI><A HREF="#mouse">Mouse Interfacing</A>
-<LI><A HREF="#finishing">Finishing Up</A>
-</UL>
-<LI><A HREF="#functions">Function Descriptions</A>
-<UL>
-<LI><A HREF="#init">Initialization and Wrapup</A>
-<LI><A HREF="#flush">Causing Output to the Terminal</A>
-<LI><A HREF="#lowlevel">Low-Level Capability Access</A>
-<LI><A HREF="#debugging">Debugging</A>
-</UL>
-<LI><A HREF="#hints">Hints, Tips, and Tricks</A>
-<UL>
-<LI><A HREF="#caution">Some Notes of Caution</A>
-<LI><A HREF="#leaving">Temporarily Leaving ncurses Mode</A>
-<LI><A HREF="#xterm">Using <CODE>ncurses</CODE> under <CODE>xterm</CODE></A>
-<LI><A HREF="#screens">Handling Multiple Terminal Screens</A>
-<LI><A HREF="#testing">Testing for Terminal Capabilities</A>
-<LI><A HREF="#tuning">Tuning for Speed</A>
-<LI><A HREF="#special">Special Features of <CODE>ncurses</CODE></A>
-</UL>
-<LI><A HREF="#compat">Compatibility with Older Versions</A>
-<UL>
-<LI><A HREF="#refbug">Refresh of Overlapping Windows</A>
-<LI><A HREF="#backbug">Background Erase</A>
-</UL>
-<LI><A HREF="#xsifuncs">XSI Curses Conformance</A>
-</UL>
-<LI><A HREF="#panels">The Panels Library</A>
-<UL>
-<LI><A HREF="#pcompile">Compiling With the Panels Library</A>
-<LI><A HREF="#poverview">Overview of Panels</A>
-<LI><A HREF="#pstdscr">Panels, Input, and the Standard Screen</A>
-<LI><A HREF="#hiding">Hiding Panels</A>
-<LI><A HREF="#pmisc">Miscellaneous Other Facilities</A>
-</UL>
-<LI><A HREF="#menu">The Menu Library</A>
-<UL>
-<LI><A HREF="#mcompile">Compiling with the menu Library</A>
-<LI><A HREF="#moverview">Overview of Menus</A>
-<LI><A HREF="#mselect">Selecting items</A>
-<LI><A HREF="#mdisplay">Menu Display</A>
-<LI><A HREF="#mwindows">Menu Windows</A>
-<LI><A HREF="#minput">Processing Menu Input</A>
-<LI><A HREF="#mmisc">Miscellaneous Other Features</A>
-</UL>
-<LI><A HREF="#form">The Forms Library</A>
-<UL>
-<LI><A HREF="#fcompile">Compiling with the forms Library</A>
-<LI><A HREF="#foverview">Overview of Forms</A>
-<LI><A HREF="#fcreate">Creating and Freeing Fields and Forms</A>
-<LI><A HREF="#fattributes">Fetching and Changing Field Attributes</A>
-<UL>
-<LI><A HREF="#fsizes">Fetching Size and Location Data</A>
-<LI><A HREF="#flocation">Changing the Field Location</A>
-<LI><A HREF="#fjust">The Justification Attribute</A>
-<LI><A HREF="#fdispatts">Field Display Attributes</A>
-<LI><A HREF="#foptions">Field Option Bits</A>
-<LI><A HREF="#fstatus">Field Status</A>
-<LI><A HREF="#fuser">Field User Pointer</A>
-</UL>
-<LI><A HREF="#fdynamic">Variable-Sized Fields</A>
-<LI><A HREF="#fvalidation">Field Validation</A>
-<UL>
-<LI><A HREF="#ftype_alpha">TYPE_ALPHA</A>
-<LI><A HREF="#ftype_alnum">TYPE_ALNUM</A>
-<LI><A HREF="#ftype_enum">TYPE_ENUM</A>
-<LI><A HREF="#ftype_integer">TYPE_INTEGER</A>
-<LI><A HREF="#ftype_numeric">TYPE_NUMERIC</A>
-<LI><A HREF="#ftype_regexp">TYPE_REGEXP</A>
-</UL>
-<LI><A HREF="#fbuffer">Direct Field Buffer Manipulation</A>
-<LI><A HREF="#formattrs">Attributes of Forms</A>
-<LI><A HREF="#fdisplay">Control of Form Display</A>
-<LI><A HREF="#fdriver">Input Processing in the Forms Driver</A>
-<UL>
-<LI><A HREF="#fpage">Page Navigation Requests</A>
-<LI><A HREF="#ffield">Inter-Field Navigation Requests</A>
-<LI><A HREF="#fifield">Intra-Field Navigation Requests</A>
-<LI><A HREF="#fscroll">Scrolling Requests</A>
-<LI><A HREF="#fedit">Field Editing Requests</A>
-<LI><A HREF="#forder">Order Requests</A>
-<LI><A HREF="#fappcmds">Application Commands</A>
-</UL>
-<LI><A HREF="#fhooks">Field Change Hooks</A>
-<LI><A HREF="#ffocus">Field Change Commands</A>
-<LI><A HREF="#frmoptions">Form Options</A>
-<LI><A HREF="#fcustom">Custom Validation Types</A>
-<UL>
-<LI><A HREF="#flinktypes">Union Types</A>
-<LI><A HREF="#fnewtypes">New Field Types</A>
-<LI><A HREF="#fcheckargs">Validation Function Arguments</A>
-<LI><A HREF="#fcustorder">Order Functions For Custom Types</A>
-<LI><A HREF="#fcustprobs">Avoiding Problems</A>
-</UL>
-</UL>
-</UL>
-
-<HR>
-<H1><A NAME="introduction">Introduction</A></H1>
-
-This document is an introduction to programming with <CODE>curses</CODE>. It is
-not an exhaustive reference for the curses Application Programming Interface
-(API); that role is filled by the <CODE>curses</CODE> manual pages.  Rather, it
-is intended to help C programmers ease into using the package. <P>
-
-This document is aimed at C applications programmers not yet specifically
-familiar with ncurses.  If you are already an experienced <CODE>curses</CODE>
-programmer, you should nevertheless read the sections on
-<A HREF="#mouse">Mouse Interfacing</A>, <A HREF="#debugging">Debugging</A>,
-<A HREF="#compat">Compatibility with Older Versions</A>,
-and <A HREF="#hints">Hints, Tips, and Tricks</A>.  These will bring you up
-to speed on the special features and quirks of the <CODE>ncurses</CODE>
-implementation.  If you are not so experienced, keep reading. <P>
-
-The <CODE>curses</CODE> package is a subroutine library for
-terminal-independent screen-painting and input-event handling which
-presents a high level screen model to the programmer, hiding differences
-between terminal types and doing automatic optimization of output to change
-one screen full of text into another.  <CODE>Curses</CODE> uses terminfo, which
-is a database format that can describe the capabilities of thousands of
-different terminals. <P>
-
-The <CODE>curses</CODE> API may seem something of an archaism on UNIX desktops
-increasingly dominated by X, Motif, and Tcl/Tk.  Nevertheless, UNIX still
-supports tty lines and X supports <EM>xterm(1)</EM>; the <CODE>curses</CODE>
-API has the advantage of (a) back-portability to character-cell terminals,
-and (b) simplicity.  For an application that does not require bit-mapped
-graphics and multiple fonts, an interface implementation using <CODE>curses</CODE>
-will typically be a great deal simpler and less expensive than one using an
-X toolkit.
-
-<H2><A NAME="history">A Brief History of Curses</A></H2>
-
-Historically, the first ancestor of <CODE>curses</CODE> was the routines written to
-provide screen-handling for the game <CODE>rogue</CODE>; these used the
-already-existing <CODE>termcap</CODE> database facility for describing terminal
-capabilities.  These routines were abstracted into a documented library and
-first released with the early BSD UNIX versions. <P>
-
-System III UNIX from Bell Labs featured a rewritten and much-improved
-<CODE>curses</CODE> library.  It introduced the terminfo format.  Terminfo is based
-on Berkeley's termcap database, but contains a number of improvements and
-extensions. Parameterized capabilities strings were introduced, making it
-possible to describe multiple video attributes, and colors and to handle far
-more unusual terminals than possible with termcap.  In the later AT&amp;T
-System V releases, <CODE>curses</CODE> evolved to use more facilities and offer
-more capabilities, going far beyond BSD curses in power and flexibility.
-
-<H2><A NAME="scope">Scope of This Document</A></H2>
-
-This document describes <CODE>ncurses</CODE>, a free implementation of
-the System V <CODE>curses</CODE> API with some clearly marked extensions.
-It includes the following System V curses features:
-<UL>
-<LI>Support for multiple screen highlights (BSD curses could only
-handle one `standout' highlight, usually reverse-video).
-<LI>Support for line- and box-drawing using forms characters.
-<LI>Recognition of function keys on input.
-<LI>Color support.
-<LI>Support for pads (windows of larger than screen size on which the
-screen or a subwindow defines a viewport).
-</UL>
-
-Also, this package makes use of the insert and delete line and character
-features of terminals so equipped, and determines how to optimally use these
-features with no help from the programmer.  It allows arbitrary combinations of
-video attributes to be displayed, even on terminals that leave ``magic
-cookies'' on the screen to mark changes in attributes. <P>
-
-The <CODE>ncurses</CODE> package can also capture and use event reports from a
-mouse in some environments (notably, xterm under the X window system).  This
-document includes tips for using the mouse. <P>
-
-The <CODE>ncurses</CODE> package was originated by Pavel Curtis.  The original
-maintainer of this package is
-<A HREF="mailto:zmbenhal@netcom.com">Zeyd Ben-Halim</A>
-&lt;zmbenhal@netcom.com&gt;.
-<A HREF="mailto:esr@snark.thyrsus.com">Eric S. Raymond</A>
-&lt;esr@snark.thyrsus.com&gt;
-wrote many of the new features in versions after 1.8.1
-and wrote most of this introduction.
-J&uuml;rgen Pfeifer
-wrote all of the menu and forms code as well as the
-<A HREF="http://www.adahome.com">Ada95</A> binding.
-Ongoing work is being done by
-<A HREF="mailto:dickey@invisible-island.net">Thomas Dickey</A> (maintainer).
-Contact the current maintainers at
-<A HREF="mailto:bug-ncurses@gnu.org">bug-ncurses@gnu.org</A>.
-<P>
-
-This document also describes the <A HREF="#panels">panels</A> extension library,
-similarly modeled on the SVr4 panels facility.  This library allows you to
-associate backing store with each of a stack or deck of overlapping windows,
-and provides operations for moving windows around in the stack that change
-their visibility in the natural way (handling window overlaps). <P>
-
-Finally, this document describes in detail the <A HREF="#menu">menus</A> and <A
-HREF="#form">forms</A> extension libraries, also cloned from System V,
-which support easy construction and sequences of menus and fill-in
-forms.
-
-
-<H2><A NAME="terminology">Terminology</A></H2>
-
-In this document, the following terminology is used with reasonable
-consistency:
-
-<DL>
-<DT> window
-<DD>
-A data structure describing a sub-rectangle of the screen (possibly the
-entire screen).  You can write to a window as though it were a miniature
-screen, scrolling independently of other windows on the physical screen.
-<DT> screens
-<DD>
-A subset of windows which are as large as the terminal screen, i.e., they start
-at the upper left hand corner and encompass the lower right hand corner.  One
-of these, <CODE>stdscr</CODE>, is automatically provided for the programmer.
-<DT> terminal screen
-<DD>
-The package's idea of what the terminal display currently looks like, i.e.,
-what the user sees now.  This is a special screen.
-</DL>
-
-<H1><A NAME="curses">The Curses Library</A></H1>
-
-<H2><A NAME="overview">An Overview of Curses</A></H2>
-
-<H3><A NAME="compiling">Compiling Programs using Curses</A></H3>
-
-In order to use the library, it is necessary to have certain types and
-variables defined.  Therefore, the programmer must have a line:
-
-<PRE>
-         #include &lt;curses.h&gt;
-</PRE>
-
-at the top of the program source.  The screen package uses the Standard I/O
-library, so <CODE>&lt;curses.h&gt;</CODE> includes
-<CODE>&lt;stdio.h&gt;</CODE>. <CODE>&lt;curses.h&gt;</CODE> also includes
-<CODE>&lt;termios.h&gt;</CODE>, <CODE>&lt;termio.h&gt;</CODE>, or
-<CODE>&lt;sgtty.h&gt;</CODE> depending on your system.  It is redundant (but
-harmless) for the programmer to do these includes, too. In linking with
-<CODE>curses</CODE> you need to have <CODE>-lncurses</CODE> in your LDFLAGS or on the
-command line.  There is no need for any other libraries.
-
-<H3><A NAME="updating">Updating the Screen</A></H3>
-
-In order to update the screen optimally, it is necessary for the routines to
-know what the screen currently looks like and what the programmer wants it to
-look like next. For this purpose, a data type (structure) named WINDOW is
-defined which describes a window image to the routines, including its starting
-position on the screen (the (y, x) coordinates of the upper left hand corner)
-and its size.  One of these (called <CODE>curscr</CODE>, for current screen) is a
-screen image of what the terminal currently looks like.  Another screen (called
-<CODE>stdscr</CODE>, for standard screen) is provided by default to make changes
-on. <P>
-
-A window is a purely internal representation. It is used to build and store a
-potential image of a portion of the terminal.  It doesn't bear any necessary
-relation to what is really on the terminal screen; it's more like a
-scratchpad or write buffer. <P>
-
-To make the section of physical screen corresponding to a window reflect the
-contents of the window structure, the routine <CODE>refresh()</CODE> (or
-<CODE>wrefresh()</CODE> if the window is not <CODE>stdscr</CODE>) is called. <P>
-
-A given physical screen section may be within the scope of any number of
-overlapping windows.  Also, changes can be made to windows in any order,
-without regard to motion efficiency.  Then, at will, the programmer can
-effectively say ``make it look like this,'' and let the package implementation
-determine the most efficient way to repaint the screen.
-
-<H3><A NAME="stdscr">Standard Windows and Function Naming Conventions</A></H3>
-
-As hinted above, the routines can use several windows, but two are
-automatically given: <CODE>curscr</CODE>, which knows what the terminal looks like,
-and <CODE>stdscr</CODE>, which is what the programmer wants the terminal to look
-like next.  The user should never actually access <CODE>curscr</CODE> directly.
-Changes should be made to through the API, and then the routine
-<CODE>refresh()</CODE> (or <CODE>wrefresh()</CODE>) called. <P>
-
-Many functions are defined to use <CODE>stdscr</CODE> as a default screen.  For
-example, to add a character to <CODE>stdscr</CODE>, one calls <CODE>addch()</CODE> with
-the desired character as argument.  To write to a different window. use the
-routine <CODE>waddch()</CODE> (for `w'indow-specific addch()) is provided.  This
-convention of prepending function names with a `w' when they are to be
-applied to specific windows is consistent.  The only routines which do not
-follow it are those for which a window must always be specified. <P>
-
-In order to move the current (y, x) coordinates from one point to another, the
-routines <CODE>move()</CODE> and <CODE>wmove()</CODE> are provided.  However, it is
-often desirable to first move and then perform some I/O operation.  In order to
-avoid clumsiness, most I/O routines can be preceded by the prefix 'mv' and
-the desired (y, x) coordinates prepended to the arguments to the function.  For
-example, the calls
-
-<PRE>
-         move(y, x);
-         addch(ch);
-</PRE>
-
-can be replaced by
-
-<PRE>
-         mvaddch(y, x, ch);
-</PRE>
-
-and
-
-<PRE>
-         wmove(win, y, x);
-         waddch(win, ch);
-</PRE>
-
-can be replaced by
-
-<PRE>
-         mvwaddch(win, y, x, ch);
-</PRE>
-
-Note that the window description pointer (win) comes before the added (y, x)
-coordinates.  If a function requires a window pointer, it is always the first
-parameter passed.
-
-<H3><A NAME="variables">Variables</A></H3>
-
-The <CODE>curses</CODE> library sets some variables describing the terminal
-capabilities.
-
-<PRE>
+<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN">
+
+<html>
+<head>
+  <meta name="generator" content=
+  "HTML Tidy for Linux (vers 25 March 2009), see www.w3.org">
+
+  <title>Writing Programs with NCURSES</title>
+  <link rev="made" href="mailto:bugs-ncurses@gnu.org">
+  <meta http-equiv="Content-Type" content=
+  "text/html; charset=us-ascii">
+</head>
+
+<body>
+  <h1>Writing Programs with NCURSES</h1>
+
+  <blockquote>
+    by Eric S. Raymond and Zeyd M. Ben-Halim<br>
+    updates since release 1.9.9e by Thomas Dickey
+  </blockquote>
+
+  <h1>Contents</h1>
+
+  <ul>
+    <li>
+      <a href="#introduction">Introduction</a>
+
+      <ul>
+        <li><a href="#history">A Brief History of Curses</a></li>
+
+        <li><a href="#scope">Scope of This Document</a></li>
+
+        <li><a href="#terminology">Terminology</a></li>
+      </ul>
+    </li>
+
+    <li>
+      <a href="#curses">The Curses Library</a>
+
+      <ul>
+        <li>
+          <a href="#overview">An Overview of Curses</a>
+
+          <ul>
+            <li><a href="#compiling">Compiling Programs using
+            Curses</a></li>
+
+            <li><a href="#updating">Updating the Screen</a></li>
+
+            <li><a href="#stdscr">Standard Windows and Function
+            Naming Conventions</a></li>
+
+            <li><a href="#variables">Variables</a></li>
+          </ul>
+        </li>
+
+        <li>
+          <a href="#using">Using the Library</a>
+
+          <ul>
+            <li><a href="#starting">Starting up</a></li>
+
+            <li><a href="#output">Output</a></li>
+
+            <li><a href="#input">Input</a></li>
+
+            <li><a href="#formschars">Using Forms
+            Characters</a></li>
+
+            <li><a href="#attributes">Character Attributes and
+            Color</a></li>
+
+            <li><a href="#mouse">Mouse Interfacing</a></li>
+
+            <li><a href="#finishing">Finishing Up</a></li>
+          </ul>
+        </li>
+
+        <li>
+          <a href="#functions">Function Descriptions</a>
+
+          <ul>
+            <li><a href="#init">Initialization and Wrapup</a></li>
+
+            <li><a href="#flush">Causing Output to the
+            Terminal</a></li>
+
+            <li><a href="#lowlevel">Low-Level Capability
+            Access</a></li>
+
+            <li><a href="#debugging">Debugging</a></li>
+          </ul>
+        </li>
+
+        <li>
+          <a href="#hints">Hints, Tips, and Tricks</a>
+
+          <ul>
+            <li><a href="#caution">Some Notes of Caution</a></li>
+
+            <li><a href="#leaving">Temporarily Leaving ncurses
+            Mode</a></li>
+
+            <li><a href="#xterm">Using <code>ncurses</code> under
+            <code>xterm</code></a></li>
+
+            <li><a href="#screens">Handling Multiple Terminal
+            Screens</a></li>
+
+            <li><a href="#testing">Testing for Terminal
+            Capabilities</a></li>
+
+            <li><a href="#tuning">Tuning for Speed</a></li>
+
+            <li><a href="#special">Special Features of
+            <code>ncurses</code></a></li>
+          </ul>
+        </li>
+
+        <li>
+          <a href="#compat">Compatibility with Older Versions</a>
+
+          <ul>
+            <li><a href="#refbug">Refresh of Overlapping
+            Windows</a></li>
+
+            <li><a href="#backbug">Background Erase</a></li>
+          </ul>
+        </li>
+
+        <li><a href="#xsifuncs">XSI Curses Conformance</a></li>
+      </ul>
+    </li>
+
+    <li>
+      <a href="#panels">The Panels Library</a>
+
+      <ul>
+        <li><a href="#pcompile">Compiling With the Panels
+        Library</a></li>
+
+        <li><a href="#poverview">Overview of Panels</a></li>
+
+        <li><a href="#pstdscr">Panels, Input, and the Standard
+        Screen</a></li>
+
+        <li><a href="#hiding">Hiding Panels</a></li>
+
+        <li><a href="#pmisc">Miscellaneous Other
+        Facilities</a></li>
+      </ul>
+    </li>
+
+    <li>
+      <a href="#menu">The Menu Library</a>
+
+      <ul>
+        <li><a href="#mcompile">Compiling with the menu
+        Library</a></li>
+
+        <li><a href="#moverview">Overview of Menus</a></li>
+
+        <li><a href="#mselect">Selecting items</a></li>
+
+        <li><a href="#mdisplay">Menu Display</a></li>
+
+        <li><a href="#mwindows">Menu Windows</a></li>
+
+        <li><a href="#minput">Processing Menu Input</a></li>
+
+        <li><a href="#mmisc">Miscellaneous Other Features</a></li>
+      </ul>
+    </li>
+
+    <li>
+      <a href="#form">The Forms Library</a>
+
+      <ul>
+        <li><a href="#fcompile">Compiling with the forms
+        Library</a></li>
+
+        <li><a href="#foverview">Overview of Forms</a></li>
+
+        <li><a href="#fcreate">Creating and Freeing Fields and
+        Forms</a></li>
+
+        <li>
+          <a href="#fattributes">Fetching and Changing Field
+          Attributes</a>
+
+          <ul>
+            <li><a href="#fsizes">Fetching Size and Location
+            Data</a></li>
+
+            <li><a href="#flocation">Changing the Field
+            Location</a></li>
+
+            <li><a href="#fjust">The Justification
+            Attribute</a></li>
+
+            <li><a href="#fdispatts">Field Display
+            Attributes</a></li>
+
+            <li><a href="#foptions">Field Option Bits</a></li>
+
+            <li><a href="#fstatus">Field Status</a></li>
+
+            <li><a href="#fuser">Field User Pointer</a></li>
+          </ul>
+        </li>
+
+        <li><a href="#fdynamic">Variable-Sized Fields</a></li>
+
+        <li>
+          <a href="#fvalidation">Field Validation</a>
+
+          <ul>
+            <li><a href="#ftype_alpha">TYPE_ALPHA</a></li>
+
+            <li><a href="#ftype_alnum">TYPE_ALNUM</a></li>
+
+            <li><a href="#ftype_enum">TYPE_ENUM</a></li>
+
+            <li><a href="#ftype_integer">TYPE_INTEGER</a></li>
+
+            <li><a href="#ftype_numeric">TYPE_NUMERIC</a></li>
+
+            <li><a href="#ftype_regexp">TYPE_REGEXP</a></li>
+          </ul>
+        </li>
+
+        <li><a href="#fbuffer">Direct Field Buffer
+        Manipulation</a></li>
+
+        <li><a href="#formattrs">Attributes of Forms</a></li>
+
+        <li><a href="#fdisplay">Control of Form Display</a></li>
+
+        <li>
+          <a href="#fdriver">Input Processing in the Forms
+          Driver</a>
+
+          <ul>
+            <li><a href="#fpage">Page Navigation Requests</a></li>
+
+            <li><a href="#ffield">Inter-Field Navigation
+            Requests</a></li>
+
+            <li><a href="#fifield">Intra-Field Navigation
+            Requests</a></li>
+
+            <li><a href="#fscroll">Scrolling Requests</a></li>
+
+            <li><a href="#fedit">Field Editing Requests</a></li>
+
+            <li><a href="#forder">Order Requests</a></li>
+
+            <li><a href="#fappcmds">Application Commands</a></li>
+          </ul>
+        </li>
+
+        <li><a href="#fhooks">Field Change Hooks</a></li>
+
+        <li><a href="#ffocus">Field Change Commands</a></li>
+
+        <li><a href="#frmoptions">Form Options</a></li>
+
+        <li>
+          <a href="#fcustom">Custom Validation Types</a>
+
+          <ul>
+            <li><a href="#flinktypes">Union Types</a></li>
+
+            <li><a href="#fnewtypes">New Field Types</a></li>
+
+            <li><a href="#fcheckargs">Validation Function
+            Arguments</a></li>
+
+            <li><a href="#fcustorder">Order Functions For Custom
+            Types</a></li>
+
+            <li><a href="#fcustprobs">Avoiding Problems</a></li>
+          </ul>
+        </li>
+      </ul>
+    </li>
+  </ul>
+  <hr>
+
+  <h1><a name="introduction" id=
+  "introduction">Introduction</a></h1>
+
+  <p>This document is an introduction to programming with
+  <code>curses</code>. It is not an exhaustive reference for the
+  curses Application Programming Interface (API); that role is
+  filled by the <code>curses</code> manual pages. Rather, it is
+  intended to help C programmers ease into using the package.</p>
+
+  <p>This document is aimed at C applications programmers not yet
+  specifically familiar with ncurses. If you are already an
+  experienced <code>curses</code> programmer, you should
+  nevertheless read the sections on <a href="#mouse">Mouse
+  Interfacing</a>, <a href="#debugging">Debugging</a>, <a href=
+  "#compat">Compatibility with Older Versions</a>, and <a href=
+  "#hints">Hints, Tips, and Tricks</a>. These will bring you up to
+  speed on the special features and quirks of the
+  <code>ncurses</code> implementation. If you are not so
+  experienced, keep reading.</p>
+
+  <p>The <code>curses</code> package is a subroutine library for
+  terminal-independent screen-painting and input-event handling
+  which presents a high level screen model to the programmer,
+  hiding differences between terminal types and doing automatic
+  optimization of output to change one screen full of text into
+  another. <code>Curses</code> uses terminfo, which is a database
+  format that can describe the capabilities of thousands of
+  different terminals.</p>
+
+  <p>The <code>curses</code> API may seem something of an archaism
+  on UNIX desktops increasingly dominated by X, Motif, and Tcl/Tk.
+  Nevertheless, UNIX still supports tty lines and X supports
+  <em>xterm(1)</em>; the <code>curses</code> API has the advantage
+  of (a) back-portability to character-cell terminals, and (b)
+  simplicity. For an application that does not require bit-mapped
+  graphics and multiple fonts, an interface implementation using
+  <code>curses</code> will typically be a great deal simpler and
+  less expensive than one using an X toolkit.</p>
+
+  <h2><a name="history" id="history">A Brief History of
+  Curses</a></h2>
+
+  <p>Historically, the first ancestor of <code>curses</code> was
+  the routines written to provide screen-handling for the game
+  <code>rogue</code>; these used the already-existing
+  <code>termcap</code> database facility for describing terminal
+  capabilities. These routines were abstracted into a documented
+  library and first released with the early BSD UNIX versions.</p>
+
+  <p>System III UNIX from Bell Labs featured a rewritten and
+  much-improved <code>curses</code> library. It introduced the
+  terminfo format. Terminfo is based on Berkeley's termcap
+  database, but contains a number of improvements and extensions.
+  Parameterized capabilities strings were introduced, making it
+  possible to describe multiple video attributes, and colors and to
+  handle far more unusual terminals than possible with termcap. In
+  the later AT&amp;T System V releases, <code>curses</code> evolved
+  to use more facilities and offer more capabilities, going far
+  beyond BSD curses in power and flexibility.</p>
+
+  <h2><a name="scope" id="scope">Scope of This Document</a></h2>
+
+  <p>This document describes <code>ncurses</code>, a free
+  implementation of the System V <code>curses</code> API with some
+  clearly marked extensions. It includes the following System V
+  curses features:</p>
+
+  <ul>
+    <li>Support for multiple screen highlights (BSD curses could
+    only handle one &ldquo;standout&rdquo; highlight, usually
+    reverse-video).</li>
+
+    <li>Support for line- and box-drawing using forms
+    characters.</li>
+
+    <li>Recognition of function keys on input.</li>
+
+    <li>Color support.</li>
+
+    <li>Support for pads (windows of larger than screen size on
+    which the screen or a subwindow defines a viewport).</li>
+  </ul>
+
+  <p>Also, this package makes use of the insert and delete line and
+  character features of terminals so equipped, and determines how
+  to optimally use these features with no help from the programmer.
+  It allows arbitrary combinations of video attributes to be
+  displayed, even on terminals that leave &ldquo;magic
+  cookies&rdquo; on the screen to mark changes in attributes.</p>
+
+  <p>The <code>ncurses</code> package can also capture and use
+  event reports from a mouse in some environments (notably, xterm
+  under the X window system). This document includes tips for using
+  the mouse.</p>
+
+  <p>The <code>ncurses</code> package was originated by Pavel
+  Curtis. The original maintainer of this package is <a href=
+  "mailto:zmbenhal@netcom.com">Zeyd Ben-Halim</a>
+  &lt;zmbenhal@netcom.com&gt;. <a href=
+  "mailto:esr@snark.thyrsus.com">Eric S. Raymond</a>
+  &lt;esr@snark.thyrsus.com&gt; wrote many of the new features in
+  versions after 1.8.1 and wrote most of this introduction.
+  J&uuml;rgen Pfeifer wrote all of the menu and forms code as well
+  as the <a href="http://www.adahome.com">Ada95</a> binding.
+  Ongoing work is being done by <a href=
+  "mailto:dickey@invisible-island.net">Thomas Dickey</a>
+  (maintainer). Contact the current maintainers at <a href=
+  "mailto:bug-ncurses@gnu.org">bug-ncurses@gnu.org</a>.</p>
+
+  <p>This document also describes the <a href="#panels">panels</a>
+  extension library, similarly modeled on the SVr4 panels facility.
+  This library allows you to associate backing store with each of a
+  stack or deck of overlapping windows, and provides operations for
+  moving windows around in the stack that change their visibility
+  in the natural way (handling window overlaps).</p>
+
+  <p>Finally, this document describes in detail the <a href=
+  "#menu">menus</a> and <a href="#form">forms</a> extension
+  libraries, also cloned from System V, which support easy
+  construction and sequences of menus and fill-in forms.</p>
+
+  <h2><a name="terminology" id="terminology">Terminology</a></h2>
+
+  <p>In this document, the following terminology is used with
+  reasonable consistency:</p>
+
+  <dl>
+    <dt>window</dt>
+
+    <dd>A data structure describing a sub-rectangle of the screen
+    (possibly the entire screen). You can write to a window as
+    though it were a miniature screen, scrolling independently of
+    other windows on the physical screen.</dd>
+
+    <dt>screens</dt>
+
+    <dd>A subset of windows which are as large as the terminal
+    screen, i.e., they start at the upper left hand corner and
+    encompass the lower right hand corner. One of these,
+    <code>stdscr</code>, is automatically provided for the
+    programmer.</dd>
+
+    <dt>terminal screen</dt>
+
+    <dd>The package's idea of what the terminal display currently
+    looks like, i.e., what the user sees now. This is a special
+    screen.</dd>
+  </dl>
+
+  <h1><a name="curses" id="curses">The Curses Library</a></h1>
+
+  <h2><a name="overview" id="overview">An Overview of
+  Curses</a></h2>
+
+  <h3><a name="compiling" id="compiling">Compiling Programs using
+  Curses</a></h3>
+
+  <p>In order to use the library, it is necessary to have certain
+  types and variables defined. Therefore, the programmer must have
+  a line:</p>
+  <pre>
+          #include &lt;curses.h&gt;
+</pre>
+
+  <p>at the top of the program source. The screen package uses the
+  Standard I/O library, so <code>&lt;curses.h&gt;</code> includes
+  <code>&lt;stdio.h&gt;</code>. <code>&lt;curses.h&gt;</code> also
+  includes <code>&lt;termios.h&gt;</code>,
+  <code>&lt;termio.h&gt;</code>, or <code>&lt;sgtty.h&gt;</code>
+  depending on your system. It is redundant (but harmless) for the
+  programmer to do these includes, too. In linking with
+  <code>curses</code> you need to have <code>-lncurses</code> in
+  your LDFLAGS or on the command line. There is no need for any
+  other libraries.</p>
+
+  <h3><a name="updating" id="updating">Updating the Screen</a></h3>
+
+  <p>In order to update the screen optimally, it is necessary for
+  the routines to know what the screen currently looks like and
+  what the programmer wants it to look like next. For this purpose,
+  a data type (structure) named WINDOW is defined which describes a
+  window image to the routines, including its starting position on
+  the screen (the (y, x) coordinates of the upper left hand corner)
+  and its size. One of these (called <code>curscr</code>, for
+  current screen) is a screen image of what the terminal currently
+  looks like. Another screen (called <code>stdscr</code>, for
+  standard screen) is provided by default to make changes on.</p>
+
+  <p>A window is a purely internal representation. It is used to
+  build and store a potential image of a portion of the terminal.
+  It does not bear any necessary relation to what is really on the
+  terminal screen; it is more like a scratchpad or write
+  buffer.</p>
+
+  <p>To make the section of physical screen corresponding to a
+  window reflect the contents of the window structure, the routine
+  <code>refresh()</code> (or <code>wrefresh()</code> if the window
+  is not <code>stdscr</code>) is called.</p>
+
+  <p>A given physical screen section may be within the scope of any
+  number of overlapping windows. Also, changes can be made to
+  windows in any order, without regard to motion efficiency. Then,
+  at will, the programmer can effectively say &ldquo;make it look
+  like this,&rdquo; and let the package implementation determine
+  the most efficient way to repaint the screen.</p>
+
+  <h3><a name="stdscr" id="stdscr">Standard Windows and Function
+  Naming Conventions</a></h3>
+
+  <p>As hinted above, the routines can use several windows, but two
+  are automatically given: <code>curscr</code>, which knows what
+  the terminal looks like, and <code>stdscr</code>, which is what
+  the programmer wants the terminal to look like next. The user
+  should never actually access <code>curscr</code> directly.
+  Changes should be made to through the API, and then the routine
+  <code>refresh()</code> (or <code>wrefresh()</code>) called.</p>
+
+  <p>Many functions are defined to use <code>stdscr</code> as a
+  default screen. For example, to add a character to
+  <code>stdscr</code>, one calls <code>addch()</code> with the
+  desired character as argument. To write to a different window.
+  use the routine <code>waddch()</code> (for
+  <strong>w</strong>indow-specific addch()) is provided. This
+  convention of prepending function names with a &ldquo;w&rdquo;
+  when they are to be applied to specific windows is consistent.
+  The only routines which do not follow it are those for which a
+  window must always be specified.</p>
+
+  <p>In order to move the current (y, x) coordinates from one point
+  to another, the routines <code>move()</code> and
+  <code>wmove()</code> are provided. However, it is often desirable
+  to first move and then perform some I/O operation. In order to
+  avoid clumsiness, most I/O routines can be preceded by the prefix
+  &ldquo;mv&rdquo; and the desired (y, x) coordinates prepended to
+  the arguments to the function. For example, the calls</p>
+  <pre>
+          move(y, x);
+          addch(ch);
+</pre>
+
+  <p>can be replaced by</p>
+  <pre>
+          mvaddch(y, x, ch);
+</pre>
+
+  <p>and</p>
+  <pre>
+          wmove(win, y, x);
+          waddch(win, ch);
+</pre>
+
+  <p>can be replaced by</p>
+  <pre>
+          mvwaddch(win, y, x, ch);
+</pre>
+
+  <p>Note that the window description pointer (win) comes before
+  the added (y, x) coordinates. If a function requires a window
+  pointer, it is always the first parameter passed.</p>
+
+  <h3><a name="variables" id="variables">Variables</a></h3>
+
+  <p>The <code>curses</code> library sets some variables describing
+  the terminal capabilities.</p>
+  <pre>
       type   name      description
       ------------------------------------------------------------------
       int    LINES     number of lines on the terminal
       int    COLS      number of columns on the terminal
-</PRE>
-
-The <CODE>curses.h</CODE> also introduces some <CODE>#define</CODE> constants and types
-of general usefulness:
-
-<DL>
-<DT> <CODE>bool</CODE>
-<DD> boolean type, actually a `char' (e.g., <CODE>bool doneit;</CODE>)
-<DT> <CODE>TRUE</CODE>
-<DD> boolean `true' flag (1).
-<DT> <CODE>FALSE</CODE>
-<DD> boolean `false' flag (0).
-<DT> <CODE>ERR</CODE>
-<DD> error flag returned by routines on a failure (-1).
-<DT> <CODE>OK</CODE>
-<DD> error flag returned by routines when things go right.
-</DL>
-
-<H2><A NAME="using">Using the Library</A></H2>
-
-Now we describe how to actually use the screen package.  In it, we assume all
-updating, reading, etc. is applied to <CODE>stdscr</CODE>.  These instructions will
-work on any window, providing you change the function names and parameters as
-mentioned above. <P>
-
-Here is a sample program to motivate the discussion:
-
-<PRE>
+</pre>
+
+  <p>The <code>curses.h</code> also introduces some
+  <code>#define</code> constants and types of general
+  usefulness:</p>
+
+  <dl>
+    <dt><code>bool</code></dt>
+
+    <dd>boolean type, actually a &ldquo;char&rdquo; (e.g.,
+    <code>bool doneit;</code>)</dd>
+
+    <dt><code>TRUE</code></dt>
+
+    <dd>boolean &ldquo;true&rdquo; flag (1).</dd>
+
+    <dt><code>FALSE</code></dt>
+
+    <dd>boolean &ldquo;false&rdquo; flag (0).</dd>
+
+    <dt><code>ERR</code></dt>
+
+    <dd>error flag returned by routines on a failure (-1).</dd>
+
+    <dt><code>OK</code></dt>
+
+    <dd>error flag returned by routines when things go right.</dd>
+  </dl>
+
+  <h2><a name="using" id="using">Using the Library</a></h2>
+
+  <p>Now we describe how to actually use the screen package. In it,
+  we assume all updating, reading, etc. is applied to
+  <code>stdscr</code>. These instructions will work on any window,
+  providing you change the function names and parameters as
+  mentioned above.</p>
+
+  <p>Here is a sample program to motivate the discussion:</p>
+  <pre>
 #include &lt;stdlib.h&gt;
 #include &lt;curses.h&gt;
 #include &lt;signal.h&gt;
@@ -458,9 +652,9 @@ main(int argc, char *argv[])
 
         /*
          * Simple color assignment, often all we need.  Color pair 0 cannot
-        * be redefined.  This example uses the same value for the color
-        * pair as for the foreground color, though of course that is not
-        * necessary:
+         * be redefined.  This example uses the same value for the color
+         * pair as for the foreground color, though of course that is not
+         * necessary:
          */
         init_pair(1, COLOR_RED,     COLOR_BLACK);
         init_pair(2, COLOR_GREEN,   COLOR_BLACK);
@@ -474,13 +668,13 @@ main(int argc, char *argv[])
     for (;;)
     {
         int c = getch();     /* refresh, accept single keystroke of input */
-       attrset(COLOR_PAIR(num % 8));
-       num++;
+        attrset(COLOR_PAIR(num % 8));
+        num++;
 
         /* process the command keystroke */
     }
 
-    finish(0);               /* we're done */
+    finish(0);               /* we are done */
 }
 
 static void finish(int sig)
@@ -491,1165 +685,1364 @@ static void finish(int sig)
 
     exit(0);
 }
-</PRE>
-
-<H3><A NAME="starting">Starting up</A></H3>
-
-In order to use the screen package, the routines must know about terminal
-characteristics, and the space for <CODE>curscr</CODE> and <CODE>stdscr</CODE> must be
-allocated.  These function <CODE>initscr()</CODE> does both these things. Since it
-must allocate space for the windows, it can overflow memory when attempting to
-do so. On the rare occasions this happens, <CODE>initscr()</CODE> will terminate
-the program with an error message.  <CODE>initscr()</CODE> must always be called
-before any of the routines which affect windows are used.  If it is not, the
-program will core dump as soon as either <CODE>curscr</CODE> or <CODE>stdscr</CODE> are
-referenced.  However, it is usually best to wait to call it until after you are
-sure you will need it, like after checking for startup errors.  Terminal status
-changing routines like <CODE>nl()</CODE> and <CODE>cbreak()</CODE> should be called
-after <CODE>initscr()</CODE>. <P>
-
-Once the screen windows have been allocated, you can set them up for
-your program.  If you want to, say, allow a screen to scroll, use
-<CODE>scrollok()</CODE>.  If you want the cursor to be left in place after
-the last change, use <CODE>leaveok()</CODE>.  If this isn't done,
-<CODE>refresh()</CODE> will move the cursor to the window's current (y, x)
-coordinates after updating it. <P>
-
-You can create new windows of your own using the functions <CODE>newwin()</CODE>,
-<CODE>derwin()</CODE>, and <CODE>subwin()</CODE>.  The routine <CODE>delwin()</CODE> will
-allow you to get rid of old windows.  All the options described above can be
-applied to any window.
-
-<H3><A NAME="output">Output</A></H3>
-
-Now that we have set things up, we will want to actually update the terminal.
-The basic functions used to change what will go on a window are
-<CODE>addch()</CODE> and <CODE>move()</CODE>.  <CODE>addch()</CODE> adds a character at the
-current (y, x) coordinates.  <CODE>move()</CODE> changes the current (y, x)
-coordinates to whatever you want them to be.  It returns <CODE>ERR</CODE> if you
-try to move off the window.  As mentioned above, you can combine the two into
-<CODE>mvaddch()</CODE> to do both things at once. <P>
-
-The other output functions, such as <CODE>addstr()</CODE> and <CODE>printw()</CODE>,
-all call <CODE>addch()</CODE> to add characters to the window. <P>
-
-After you have put on the window what you want there, when you want the portion
-of the terminal covered by the window to be made to look like it, you must call
-<CODE>refresh()</CODE>.  In order to optimize finding changes, <CODE>refresh()</CODE>
-assumes that any part of the window not changed since the last
-<CODE>refresh()</CODE> of that window has not been changed on the terminal, i.e.,
-that you have not refreshed a portion of the terminal with an overlapping
-window.  If this is not the case, the routine <CODE>touchwin()</CODE> is provided
-to make it look like the entire window has been changed, thus making
-<CODE>refresh()</CODE> check the whole subsection of the terminal for changes. <P>
-
-If you call <CODE>wrefresh()</CODE> with <CODE>curscr</CODE> as its argument, it will
-make the screen look like <CODE>curscr</CODE> thinks it looks like.  This is useful
-for implementing a command which would redraw the screen in case it get messed
-up.
-
-<H3><A NAME="input">Input</A></H3>
-
-The complementary function to <CODE>addch()</CODE> is <CODE>getch()</CODE> which, if
-echo is set, will call <CODE>addch()</CODE> to echo the character.  Since the
-screen package needs to know what is on the terminal at all times, if
-characters are to be echoed, the tty must be in raw or cbreak mode.  Since
-initially the terminal has echoing enabled and is in ordinary ``cooked'' mode,
-one or the other has to changed before calling <CODE>getch()</CODE>; otherwise,
-the program's output will be unpredictable. <P>
-
-When you need to accept line-oriented input in a window, the functions
-<CODE>wgetstr()</CODE> and friends are available.  There is even a <CODE>wscanw()</CODE>
-function that can do <CODE>scanf()</CODE>(3)-style multi-field parsing on window
-input.  These pseudo-line-oriented functions turn on echoing while they
-execute. <P>
-
-The example code above uses the call <CODE>keypad(stdscr, TRUE)</CODE> to enable
-support for function-key mapping.  With this feature, the <CODE>getch()</CODE> code
-watches the input stream for character sequences that correspond to arrow and
-function keys.  These sequences are returned as pseudo-character values.  The
-<CODE>#define</CODE> values returned are listed in the <CODE>curses.h</CODE> The
-mapping from sequences to <CODE>#define</CODE> values is determined by
-<CODE>key_</CODE> capabilities in the terminal's terminfo entry.
-
-<H3><A NAME="formschars">Using Forms Characters</A></H3>
-
-The <CODE>addch()</CODE> function (and some others, including <CODE>box()</CODE> and
-<CODE>border()</CODE>) can accept some pseudo-character arguments which are specially
-defined by <CODE>ncurses</CODE>.  These are <CODE>#define</CODE> values set up in
-the <CODE>curses.h</CODE> header; see there for a complete list (look for
-the prefix <CODE>ACS_</CODE>). <P>
-
-The most useful of the ACS defines are the forms-drawing characters.  You can
-use these to draw boxes and simple graphs on the screen.  If the terminal
-does not have such characters, <CODE>curses.h</CODE> will map them to a
-recognizable (though ugly) set of ASCII defaults.
-
-<H3><A NAME="attributes">Character Attributes and Color</A></H3>
-
-The <CODE>ncurses</CODE> package supports screen highlights including standout,
-reverse-video, underline, and blink.  It also supports color, which is treated
-as another kind of highlight. <P>
-
-Highlights are encoded, internally, as high bits of the pseudo-character type
-(<CODE>chtype</CODE>) that <CODE>curses.h</CODE> uses to represent the contents of a
-screen cell.  See the <CODE>curses.h</CODE> header file for a complete list of
-highlight mask values (look for the prefix <CODE>A_</CODE>).<P>
-
-There are two ways to make highlights.  One is to logical-or the value of the
-highlights you want into the character argument of an <CODE>addch()</CODE> call,
-or any other output call that takes a <CODE>chtype</CODE> argument. <P>
-
-The other is to set the current-highlight value.  This is logical-or'ed with
-any highlight you specify the first way.  You do this with the functions
-<CODE>attron()</CODE>, <CODE>attroff()</CODE>, and <CODE>attrset()</CODE>; see the manual
-pages for details.
-
-Color is a special kind of highlight.  The package actually thinks in terms
-of color pairs, combinations of foreground and background colors.  The sample
-code above sets up eight color pairs, all of the guaranteed-available colors
-on black.  Note that each color pair is, in effect, given the name of its
-foreground color.  Any other range of eight non-conflicting values could
-have been used as the first arguments of the <CODE>init_pair()</CODE> values. <P>
-
-Once you've done an <CODE>init_pair()</CODE> that creates color-pair N, you can
-use <CODE>COLOR_PAIR(N)</CODE> as a highlight that invokes that particular
-color combination.  Note that <CODE>COLOR_PAIR(N)</CODE>, for constant N,
-is itself a compile-time constant and can be used in initializers.
-
-<H3><A NAME="mouse">Mouse Interfacing</A></H3>
-
-The <CODE>ncurses</CODE> library also provides a mouse interface.
-<!-- The 'note' tag is not portable enough -->
-<blockquote>
-<strong>NOTE:</strong> this facility is specific to <CODE>ncurses</CODE>, it is not part of either
-the XSI Curses standard, nor of System V Release 4, nor BSD curses.
-System V Release 4 curses contains code with similar interface definitions,
-however it is not documented.  Other than by disassembling the library, we
-have no way to determine exactly how that mouse code works.
-Thus, we recommend that you wrap mouse-related code in an #ifdef using the
-feature macro NCURSES_MOUSE_VERSION so it will not be compiled and linked
-on non-ncurses systems.
-</blockquote>
-
-Presently, mouse event reporting works in the following environments:
-<ul>
-<li>xterm and similar programs such as rxvt.
-<li>Linux console, when configured with <CODE>gpm</CODE>(1), Alessandro
-Rubini's mouse server.
-<li>FreeBSD sysmouse (console)
-<li>OS/2 EMX
-</ul>
-<P>
-The mouse interface is very simple.  To activate it, you use the function
-<CODE>mousemask()</CODE>, passing it as first argument a bit-mask that specifies
-what kinds of events you want your program to be able to see.  It will
-return the bit-mask of events that actually become visible, which may differ
-from the argument if the mouse device is not capable of reporting some of
-the event types you specify. <P>
-
-Once the mouse is active, your application's command loop should watch
-for a return value of <CODE>KEY_MOUSE</CODE> from <CODE>wgetch()</CODE>.  When
-you see this, a mouse event report has been queued.  To pick it off
-the queue, use the function <CODE>getmouse()</CODE> (you must do this before
-the next <CODE>wgetch()</CODE>, otherwise another mouse event might come
-in and make the first one inaccessible). <P>
-
-Each call to <CODE>getmouse()</CODE> fills a structure (the address of which you'll
-pass it) with mouse event data.  The event data includes zero-origin,
-screen-relative character-cell coordinates of the mouse pointer.  It also
-includes an event mask.  Bits in this mask will be set, corresponding
-to the event type being reported. <P>
-
-The mouse structure contains two additional fields which may be
-significant in the future as ncurses interfaces to new kinds of
-pointing device.  In addition to x and y coordinates, there is a slot
-for a z coordinate; this might be useful with touch-screens that can
-return a pressure or duration parameter.  There is also a device ID
-field, which could be used to distinguish between multiple pointing
-devices. <P>
-
-The class of visible events may be changed at any time via <CODE>mousemask()</CODE>.
-Events that can be reported include presses, releases, single-, double- and
-triple-clicks (you can set the maximum button-down time for clicks).  If
-you don't make clicks visible, they will be reported as press-release
-pairs.  In some environments, the event mask may include bits reporting
-the state of shift, alt, and ctrl keys on the keyboard during the event. <P>
-
-A function to check whether a mouse event fell within a given window is
-also supplied.  You can use this to see whether a given window should
-consider a mouse event relevant to it. <P>
-
-Because mouse event reporting will not be available in all
-environments, it would be unwise to build <CODE>ncurses</CODE>
-applications that <EM>require</EM> the use of a mouse.  Rather, you should
-use the mouse as a shortcut for point-and-shoot commands your application
-would normally accept from the keyboard.  Two of the test games in the
-<CODE>ncurses</CODE> distribution (<CODE>bs</CODE> and <CODE>knight</CODE>) contain
-code that illustrates how this can be done. <P>
-
-See the manual page <CODE>curs_mouse(3X)</CODE> for full details of the
-mouse-interface functions.
-
-<H3><A NAME="finishing">Finishing Up</A></H3>
-
-In order to clean up after the <CODE>ncurses</CODE> routines, the routine
-<CODE>endwin()</CODE> is provided.  It restores tty modes to what they were when
-<CODE>initscr()</CODE> was first called, and moves the cursor down to the
-lower-left corner.  Thus, anytime after the call to initscr, <CODE>endwin()</CODE>
-should be called before exiting.
-
-<H2><A NAME="functions">Function Descriptions</A></H2>
-
-We describe the detailed behavior of some important curses functions here, as a
-supplement to the manual page descriptions.
-
-<H3><A NAME="init">Initialization and Wrapup</A></H3>
-
-<DL>
-<DT> <CODE>initscr()</CODE>
-<DD> The first function called should almost always be <CODE>initscr()</CODE>.
-This will determine the terminal type and
-initialize curses data structures. <CODE>initscr()</CODE> also arranges that
-the first call to <CODE>refresh()</CODE> will clear the screen.  If an error
-occurs a message is written to standard error and the program
-exits. Otherwise it returns a pointer to stdscr.  A few functions may be
-called before initscr (<CODE>slk_init()</CODE>, <CODE>filter()</CODE>,
-<CODE>ripoffline()</CODE>, <CODE>use_env()</CODE>, and, if you are using multiple
-terminals, <CODE>newterm()</CODE>.)
-<DT> <CODE>endwin()</CODE>
-<DD> Your program should always call <CODE>endwin()</CODE> before exiting or
-shelling out of the program. This function will restore tty modes,
-move the cursor to the lower left corner of the screen, reset the
-terminal into the proper non-visual mode.  Calling <CODE>refresh()</CODE>
-or <CODE>doupdate()</CODE> after a temporary escape from the program will
-restore the ncurses screen from before the escape.
-<DT> <CODE>newterm(type, ofp, ifp)</CODE>
-<DD> A program which outputs to more than one terminal should use
-<CODE>newterm()</CODE> instead of <CODE>initscr()</CODE>.  <CODE>newterm()</CODE> should
-be called once for each terminal.  It returns a variable of type
-<CODE>SCREEN *</CODE> which should be saved as a reference to that
-terminal.
-(NOTE: a SCREEN variable is not a <em>screen</em> in the sense we
-are describing in this introduction, but a collection of 
-parameters used to assist in optimizing the display.)
-The arguments are the type of the terminal (a string) and
-<CODE>FILE</CODE> pointers for the output and input of the terminal.  If
-type is NULL then the environment variable <CODE>$TERM</CODE> is used.
-<CODE>endwin()</CODE> should called once at wrapup time for each terminal
-opened using this function.
-<DT> <CODE>set_term(new)</CODE>
-<DD> This function is used to switch to a different terminal previously
-opened by <CODE>newterm()</CODE>.  The screen reference for the new terminal
-is passed as the parameter.  The previous terminal is returned by the
-function.  All other calls affect only the current terminal.
-<DT> <CODE>delscreen(sp)</CODE>
-<DD> The inverse of <CODE>newterm()</CODE>; deallocates the data structures
-associated with a given <CODE>SCREEN</CODE> reference.
-</DL>
-
-<H3><A NAME="flush">Causing Output to the Terminal</A></H3>
-
-<DL>
-<DT> <CODE>refresh()</CODE> and <CODE>wrefresh(win)</CODE>
-<DD> These functions must be called to actually get any output on
-the  terminal,  as  other  routines  merely  manipulate data
-structures.  <CODE>wrefresh()</CODE> copies the named window  to the physical
-terminal screen,  taking  into account  what is already
-there in  order to  do optimizations.  <CODE>refresh()</CODE> does a
-refresh of <CODE>stdscr</CODE>.   Unless <CODE>leaveok()</CODE> has been
-enabled, the physical cursor of the terminal is left at  the
-location of the window's cursor.
-<DT> <CODE>doupdate()</CODE> and <CODE>wnoutrefresh(win)</CODE>
-<DD> These two functions allow multiple updates with more efficiency
-than wrefresh.  To use them, it is important to understand how curses
-works.  In addition to all the window structures, curses keeps two
-data structures representing the terminal screen: a physical screen,
-describing what is actually on the screen, and a virtual screen,
-describing what the programmer wants to have on the screen.  wrefresh
-works by first copying the named window to the virtual screen
-(<CODE>wnoutrefresh()</CODE>), and then calling the routine to update the
-screen (<CODE>doupdate()</CODE>).  If the programmer wishes to output
-several windows at once, a series of calls to <CODE>wrefresh</CODE> will result
-in alternating calls to <CODE>wnoutrefresh()</CODE> and <CODE>doupdate()</CODE>,
-causing several bursts of output to the screen.  By calling
-<CODE>wnoutrefresh()</CODE> for each window, it is then possible to call
-<CODE>doupdate()</CODE> once, resulting in only one burst of output, with
-fewer total characters transmitted (this also avoids a visually annoying
-flicker at each update).
-</DL>
-
-<H3><A NAME="lowlevel">Low-Level Capability Access</A></H3>
-
-<DL>
-<DT> <CODE>setupterm(term, filenum, errret)</CODE>
-<DD> This routine is called to initialize a terminal's description, without setting
-up the curses screen structures or changing the tty-driver mode bits.
-<CODE>term</CODE> is the character string representing the name of the terminal
-being used.  <CODE>filenum</CODE> is the UNIX file descriptor of the terminal to
-be used for output.  <CODE>errret</CODE> is a pointer to an integer, in which a
-success or failure indication is returned.  The values returned can be 1 (all
-is well), 0 (no such terminal), or -1 (some problem locating the terminfo
-database). <P>
-
-The value of <CODE>term</CODE> can be given as NULL, which will cause the value of
-<CODE>TERM</CODE> in the environment to be used.  The <CODE>errret</CODE> pointer can
-also be given as NULL, meaning no error code is wanted.  If <CODE>errret</CODE> is
-defaulted, and something goes wrong, <CODE>setupterm()</CODE> will print an
-appropriate error message and exit, rather than returning.  Thus, a simple
-program can call setupterm(0, 1, 0) and not worry about initialization
-errors. <P>
-
-After the call to <CODE>setupterm()</CODE>, the global variable <CODE>cur_term</CODE> is
-set to point to the current structure of terminal capabilities. By calling
-<CODE>setupterm()</CODE> for each terminal, and saving and restoring
-<CODE>cur_term</CODE>, it is possible for a program to use two or more terminals at
-once.  <CODE>Setupterm()</CODE> also stores the names section of the terminal
-description in the global character array <CODE>ttytype[]</CODE>.  Subsequent calls
-to <CODE>setupterm()</CODE> will overwrite this array, so you'll have to save it
-yourself if need be.
-</DL>
-
-<H3><A NAME="debugging">Debugging</A></H3>
-
-<!-- The 'note' tag is not portable enough -->
-<blockquote>
-<strong>NOTE:</strong> These functions are not part of the standard curses API!
-</blockquote>
-
-<DL>
-<DT> <CODE>trace()</CODE>
-<DD>
-This function can be used to explicitly set a trace level.  If the
-trace level is nonzero, execution of your program will generate a file
-called `trace' in the current working directory containing a report on
-the library's actions.  Higher trace levels enable more detailed (and
-verbose) reporting -- see comments attached to <CODE>TRACE_</CODE> defines
-in the <CODE>curses.h</CODE> file for details.  (It is also possible to set
-a trace level by assigning a trace level value to the environment variable
-<CODE>NCURSES_TRACE</CODE>).
-<DT> <CODE>_tracef()</CODE>
-<DD>
-This function can be used to output your own debugging information.  It is only
-available only if you link with -lncurses_g.  It can be used the same way as
-<CODE>printf()</CODE>, only it outputs a newline after the end of arguments.
-The output goes to a file called <CODE>trace</CODE> in the current directory.
-</DL>
-
-Trace logs can be difficult to interpret due to the sheer volume of
-data dumped in them.  There is a script called <STRONG>tracemunch</STRONG>
-included with the <CODE>ncurses</CODE> distribution that can alleviate
-this problem somewhat; it compacts long sequences of similar operations into
-more succinct single-line pseudo-operations. These pseudo-ops can be
-distinguished by the fact that they are named in capital letters.
-
-<H2><A NAME="hints">Hints, Tips, and Tricks</A></H2>
-
-The <CODE>ncurses</CODE> manual pages are a complete reference for this library.
-In the remainder of this document, we discuss various useful methods that
-may not be obvious from the manual page descriptions.
-
-<H3><A NAME="caution">Some Notes of Caution</A></H3>
-
-If you find yourself thinking you need to use <CODE>noraw()</CODE> or
-<CODE>nocbreak()</CODE>, think again and move carefully.  It's probably
-better design to use <CODE>getstr()</CODE> or one of its relatives to
-simulate cooked mode.  The <CODE>noraw()</CODE> and <CODE>nocbreak()</CODE>
-functions try to restore cooked mode, but they may end up clobbering
-some control bits set before you started your application.  Also, they
-have always been poorly documented, and are likely to hurt your
-application's usability with other curses libraries. <P>
-
-Bear in mind that <CODE>refresh()</CODE> is a synonym for <CODE>wrefresh(stdscr)</CODE>.
-Don't try to mix use of <CODE>stdscr</CODE> with use of windows declared
-by <CODE>newwin()</CODE>; a <CODE>refresh()</CODE> call will blow them off the
-screen.  The right way to handle this is to use <CODE>subwin()</CODE>, or
-not touch <CODE>stdscr</CODE> at all and tile your screen with declared
-windows which you then <CODE>wnoutrefresh()</CODE> somewhere in your program
-event loop, with a single <CODE>doupdate()</CODE> call to trigger actual
-repainting. <P>
-
-You are much less likely to run into problems if you design your screen
-layouts to use tiled rather than overlapping windows.  Historically,
-curses support for overlapping windows has been weak, fragile, and poorly
-documented.  The <CODE>ncurses</CODE> library is not yet an exception to this
-rule. <P>
-
-There is a panels library included in the <CODE>ncurses</CODE>
-distribution that does a pretty good job of strengthening the
-overlapping-windows facilities. <P>
-
-Try to avoid using the global variables LINES and COLS.  Use
-<CODE>getmaxyx()</CODE> on the <CODE>stdscr</CODE> context instead.  Reason:
-your code may be ported to run in an environment with window resizes,
-in which case several screens could be open with different sizes.
-
-<H3><A NAME="leaving">Temporarily Leaving NCURSES Mode</A></H3>
-
-Sometimes you will want to write a program that spends most of its time in
-screen mode, but occasionally returns to ordinary `cooked' mode.  A common
-reason for this is to support shell-out.  This behavior is simple to arrange
-in <CODE>ncurses</CODE>. <P>
-
-To leave <CODE>ncurses</CODE> mode, call <CODE>endwin()</CODE> as you would if you
-were intending to terminate the program.  This will take the screen back to
-cooked mode; you can do your shell-out.  When you want to return to
-<CODE>ncurses</CODE> mode, simply call <CODE>refresh()</CODE> or <CODE>doupdate()</CODE>.
-This will repaint the screen. <P>
-
-There is a boolean function, <CODE>isendwin()</CODE>, which code can use to
-test whether <CODE>ncurses</CODE> screen mode is active.  It returns <CODE>TRUE</CODE>
-in the interval between an <CODE>endwin()</CODE> call and the following
-<CODE>refresh()</CODE>, <CODE>FALSE</CODE> otherwise.  <P>
-
-Here is some sample code for shellout:
-
-<PRE>
+</pre>
+
+  <h3><a name="starting" id="starting">Starting up</a></h3>
+
+  <p>In order to use the screen package, the routines must know
+  about terminal characteristics, and the space for
+  <code>curscr</code> and <code>stdscr</code> must be allocated.
+  These function <code>initscr()</code> does both these things.
+  Since it must allocate space for the windows, it can overflow
+  memory when attempting to do so. On the rare occasions this
+  happens, <code>initscr()</code> will terminate the program with
+  an error message. <code>initscr()</code> must always be called
+  before any of the routines which affect windows are used. If it
+  is not, the program will core dump as soon as either
+  <code>curscr</code> or <code>stdscr</code> are referenced.
+  However, it is usually best to wait to call it until after you
+  are sure you will need it, like after checking for startup
+  errors. Terminal status changing routines like <code>nl()</code>
+  and <code>cbreak()</code> should be called after
+  <code>initscr()</code>.</p>
+
+  <p>Once the screen windows have been allocated, you can set them
+  up for your program. If you want to, say, allow a screen to
+  scroll, use <code>scrollok()</code>. If you want the cursor to be
+  left in place after the last change, use <code>leaveok()</code>.
+  If this is not done, <code>refresh()</code> will move the cursor
+  to the window's current (y, x) coordinates after updating it.</p>
+
+  <p>You can create new windows of your own using the functions
+  <code>newwin()</code>, <code>derwin()</code>, and
+  <code>subwin()</code>. The routine <code>delwin()</code> will
+  allow you to get rid of old windows. All the options described
+  above can be applied to any window.</p>
+
+  <h3><a name="output" id="output">Output</a></h3>
+
+  <p>Now that we have set things up, we will want to actually
+  update the terminal. The basic functions used to change what will
+  go on a window are <code>addch()</code> and <code>move()</code>.
+  <code>addch()</code> adds a character at the current (y, x)
+  coordinates. <code>move()</code> changes the current (y, x)
+  coordinates to whatever you want them to be. It returns
+  <code>ERR</code> if you try to move off the window. As mentioned
+  above, you can combine the two into <code>mvaddch()</code> to do
+  both things at once.</p>
+
+  <p>The other output functions, such as <code>addstr()</code> and
+  <code>printw()</code>, all call <code>addch()</code> to add
+  characters to the window.</p>
+
+  <p>After you have put on the window what you want there, when you
+  want the portion of the terminal covered by the window to be made
+  to look like it, you must call <code>refresh()</code>. In order
+  to optimize finding changes, <code>refresh()</code> assumes that
+  any part of the window not changed since the last
+  <code>refresh()</code> of that window has not been changed on the
+  terminal, i.e., that you have not refreshed a portion of the
+  terminal with an overlapping window. If this is not the case, the
+  routine <code>touchwin()</code> is provided to make it look like
+  the entire window has been changed, thus making
+  <code>refresh()</code> check the whole subsection of the terminal
+  for changes.</p>
+
+  <p>If you call <code>wrefresh()</code> with <code>curscr</code>
+  as its argument, it will make the screen look like
+  <code>curscr</code> thinks it looks like. This is useful for
+  implementing a command which would redraw the screen in case it
+  get messed up.</p>
+
+  <h3><a name="input" id="input">Input</a></h3>
+
+  <p>The complementary function to <code>addch()</code> is
+  <code>getch()</code> which, if echo is set, will call
+  <code>addch()</code> to echo the character. Since the screen
+  package needs to know what is on the terminal at all times, if
+  characters are to be echoed, the tty must be in raw or cbreak
+  mode. Since initially the terminal has echoing enabled and is in
+  ordinary &ldquo;cooked&rdquo; mode, one or the other has to
+  changed before calling <code>getch()</code>; otherwise, the
+  program's output will be unpredictable.</p>
+
+  <p>When you need to accept line-oriented input in a window, the
+  functions <code>wgetstr()</code> and friends are available. There
+  is even a <code>wscanw()</code> function that can do
+  <code>scanf()</code>(3)-style multi-field parsing on window
+  input. These pseudo-line-oriented functions turn on echoing while
+  they execute.</p>
+
+  <p>The example code above uses the call <code>keypad(stdscr,
+  TRUE)</code> to enable support for function-key mapping. With
+  this feature, the <code>getch()</code> code watches the input
+  stream for character sequences that correspond to arrow and
+  function keys. These sequences are returned as pseudo-character
+  values. The <code>#define</code> values returned are listed in
+  the <code>curses.h</code> The mapping from sequences to
+  <code>#define</code> values is determined by <code>key_</code>
+  capabilities in the terminal's terminfo entry.</p>
+
+  <h3><a name="formschars" id="formschars">Using Forms
+  Characters</a></h3>
+
+  <p>The <code>addch()</code> function (and some others, including
+  <code>box()</code> and <code>border()</code>) can accept some
+  pseudo-character arguments which are specially defined by
+  <code>ncurses</code>. These are <code>#define</code> values set
+  up in the <code>curses.h</code> header; see there for a complete
+  list (look for the prefix <code>ACS_</code>).</p>
+
+  <p>The most useful of the ACS defines are the forms-drawing
+  characters. You can use these to draw boxes and simple graphs on
+  the screen. If the terminal does not have such characters,
+  <code>curses.h</code> will map them to a recognizable (though
+  ugly) set of ASCII defaults.</p>
+
+  <h3><a name="attributes" id="attributes">Character Attributes and
+  Color</a></h3>
+
+  <p>The <code>ncurses</code> package supports screen highlights
+  including standout, reverse-video, underline, and blink. It also
+  supports color, which is treated as another kind of
+  highlight.</p>
+
+  <p>Highlights are encoded, internally, as high bits of the
+  pseudo-character type (<code>chtype</code>) that
+  <code>curses.h</code> uses to represent the contents of a screen
+  cell. See the <code>curses.h</code> header file for a complete
+  list of highlight mask values (look for the prefix
+  <code>A_</code>).</p>
+
+  <p>There are two ways to make highlights. One is to logical-or
+  the value of the highlights you want into the character argument
+  of an <code>addch()</code> call, or any other output call that
+  takes a <code>chtype</code> argument.</p>
+
+  <p>The other is to set the current-highlight value. This is
+  <em>logical-OR</em>ed with any highlight you specify the first
+  way. You do this with the functions <code>attron()</code>,
+  <code>attroff()</code>, and <code>attrset()</code>; see the
+  manual pages for details. Color is a special kind of highlight.
+  The package actually thinks in terms of color pairs, combinations
+  of foreground and background colors. The sample code above sets
+  up eight color pairs, all of the guaranteed-available colors on
+  black. Note that each color pair is, in effect, given the name of
+  its foreground color. Any other range of eight non-conflicting
+  values could have been used as the first arguments of the
+  <code>init_pair()</code> values.</p>
+
+  <p>Once you have done an <code>init_pair()</code> that creates
+  color-pair N, you can use <code>COLOR_PAIR(N)</code> as a
+  highlight that invokes that particular color combination. Note
+  that <code>COLOR_PAIR(N)</code>, for constant N, is itself a
+  compile-time constant and can be used in initializers.</p>
+
+  <h3><a name="mouse" id="mouse">Mouse Interfacing</a></h3>
+
+  <p>The <code>ncurses</code> library also provides a mouse
+  interface.</p>
+
+  <blockquote>
+    <strong>NOTE:</strong> this facility is specific to
+    <code>ncurses</code>, it is not part of either the XSI Curses
+    standard, nor of System V Release 4, nor BSD curses. System V
+    Release 4 curses contains code with similar interface
+    definitions, however it is not documented. Other than by
+    disassembling the library, we have no way to determine exactly
+    how that mouse code works. Thus, we recommend that you wrap
+    mouse-related code in an #ifdef using the feature macro
+    NCURSES_MOUSE_VERSION so it will not be compiled and linked on
+    non-ncurses systems.
+  </blockquote>
+
+  <p>Presently, mouse event reporting works in the following
+  environments:</p>
+
+  <ul>
+    <li>xterm and similar programs such as rxvt.</li>
+
+    <li>Linux console, when configured with <code>gpm</code>(1),
+    Alessandro Rubini's mouse server.</li>
+
+    <li>FreeBSD sysmouse (console)</li>
+
+    <li>OS/2 EMX</li>
+  </ul>
+
+  <p>The mouse interface is very simple. To activate it, you use
+  the function <code>mousemask()</code>, passing it as first
+  argument a bit-mask that specifies what kinds of events you want
+  your program to be able to see. It will return the bit-mask of
+  events that actually become visible, which may differ from the
+  argument if the mouse device is not capable of reporting some of
+  the event types you specify.</p>
+
+  <p>Once the mouse is active, your application's command loop
+  should watch for a return value of <code>KEY_MOUSE</code> from
+  <code>wgetch()</code>. When you see this, a mouse event report
+  has been queued. To pick it off the queue, use the function
+  <code>getmouse()</code> (you must do this before the next
+  <code>wgetch()</code>, otherwise another mouse event might come
+  in and make the first one inaccessible).</p>
+
+  <p>Each call to <code>getmouse()</code> fills a structure (the
+  address of which you will pass it) with mouse event data. The
+  event data includes zero-origin, screen-relative character-cell
+  coordinates of the mouse pointer. It also includes an event mask.
+  Bits in this mask will be set, corresponding to the event type
+  being reported.</p>
+
+  <p>The mouse structure contains two additional fields which may
+  be significant in the future as ncurses interfaces to new kinds
+  of pointing device. In addition to x and y coordinates, there is
+  a slot for a z coordinate; this might be useful with
+  touch-screens that can return a pressure or duration parameter.
+  There is also a device ID field, which could be used to
+  distinguish between multiple pointing devices.</p>
+
+  <p>The class of visible events may be changed at any time via
+  <code>mousemask()</code>. Events that can be reported include
+  presses, releases, single-, double- and triple-clicks (you can
+  set the maximum button-down time for clicks). If you do not make
+  clicks visible, they will be reported as press-release pairs. In
+  some environments, the event mask may include bits reporting the
+  state of shift, alt, and ctrl keys on the keyboard during the
+  event.</p>
+
+  <p>A function to check whether a mouse event fell within a given
+  window is also supplied. You can use this to see whether a given
+  window should consider a mouse event relevant to it.</p>
+
+  <p>Because mouse event reporting will not be available in all
+  environments, it would be unwise to build <code>ncurses</code>
+  applications that <em>require</em> the use of a mouse. Rather,
+  you should use the mouse as a shortcut for point-and-shoot
+  commands your application would normally accept from the
+  keyboard. Two of the test games in the <code>ncurses</code>
+  distribution (<code>bs</code> and <code>knight</code>) contain
+  code that illustrates how this can be done.</p>
+
+  <p>See the manual page <code>curs_mouse(3X)</code> for full
+  details of the mouse-interface functions.</p>
+
+  <h3><a name="finishing" id="finishing">Finishing Up</a></h3>
+
+  <p>In order to clean up after the <code>ncurses</code> routines,
+  the routine <code>endwin()</code> is provided. It restores tty
+  modes to what they were when <code>initscr()</code> was first
+  called, and moves the cursor down to the lower-left corner. Thus,
+  anytime after the call to initscr, <code>endwin()</code> should
+  be called before exiting.</p>
+
+  <h2><a name="functions" id="functions">Function
+  Descriptions</a></h2>
+
+  <p>We describe the detailed behavior of some important curses
+  functions here, as a supplement to the manual page
+  descriptions.</p>
+
+  <h3><a name="init" id="init">Initialization and Wrapup</a></h3>
+
+  <dl>
+    <dt><code>initscr()</code></dt>
+
+    <dd>The first function called should almost always be
+    <code>initscr()</code>. This will determine the terminal type
+    and initialize curses data structures. <code>initscr()</code>
+    also arranges that the first call to <code>refresh()</code>
+    will clear the screen. If an error occurs a message is written
+    to standard error and the program exits. Otherwise it returns a
+    pointer to stdscr. A few functions may be called before initscr
+    (<code>slk_init()</code>, <code>filter()</code>,
+    <code>ripoffline()</code>, <code>use_env()</code>, and, if you
+    are using multiple terminals, <code>newterm()</code>.)</dd>
+
+    <dt><code>endwin()</code></dt>
+
+    <dd>Your program should always call <code>endwin()</code>
+    before exiting or shelling out of the program. This function
+    will restore tty modes, move the cursor to the lower left
+    corner of the screen, reset the terminal into the proper
+    non-visual mode. Calling <code>refresh()</code> or
+    <code>doupdate()</code> after a temporary escape from the
+    program will restore the ncurses screen from before the
+    escape.</dd>
+
+    <dt><code>newterm(type, ofp, ifp)</code></dt>
+
+    <dd>A program which outputs to more than one terminal should
+    use <code>newterm()</code> instead of <code>initscr()</code>.
+    <code>newterm()</code> should be called once for each terminal.
+    It returns a variable of type <code>SCREEN *</code> which
+    should be saved as a reference to that terminal. (NOTE: a
+    SCREEN variable is not a <em>screen</em> in the sense we are
+    describing in this introduction, but a collection of parameters
+    used to assist in optimizing the display.) The arguments are
+    the type of the terminal (a string) and <code>FILE</code>
+    pointers for the output and input of the terminal. If type is
+    NULL then the environment variable <code>$TERM</code> is used.
+    <code>endwin()</code> should called once at wrapup time for
+    each terminal opened using this function.</dd>
+
+    <dt><code>set_term(new)</code></dt>
+
+    <dd>This function is used to switch to a different terminal
+    previously opened by <code>newterm()</code>. The screen
+    reference for the new terminal is passed as the parameter. The
+    previous terminal is returned by the function. All other calls
+    affect only the current terminal.</dd>
+
+    <dt><code>delscreen(sp)</code></dt>
+
+    <dd>The inverse of <code>newterm()</code>; deallocates the data
+    structures associated with a given <code>SCREEN</code>
+    reference.</dd>
+  </dl>
+
+  <h3><a name="flush" id="flush">Causing Output to the
+  Terminal</a></h3>
+
+  <dl>
+    <dt><code>refresh()</code> and <code>wrefresh(win)</code></dt>
+
+    <dd>These functions must be called to actually get any output
+    on the terminal, as other routines merely manipulate data
+    structures. <code>wrefresh()</code> copies the named window to
+    the physical terminal screen, taking into account what is
+    already there in order to do optimizations.
+    <code>refresh()</code> does a refresh of <code>stdscr</code>.
+    Unless <code>leaveok()</code> has been enabled, the physical
+    cursor of the terminal is left at the location of the window's
+    cursor.</dd>
+
+    <dt><code>doupdate()</code> and
+    <code>wnoutrefresh(win)</code></dt>
+
+    <dd>These two functions allow multiple updates with more
+    efficiency than wrefresh. To use them, it is important to
+    understand how curses works. In addition to all the window
+    structures, curses keeps two data structures representing the
+    terminal screen: a physical screen, describing what is actually
+    on the screen, and a virtual screen, describing what the
+    programmer wants to have on the screen. wrefresh works by first
+    copying the named window to the virtual screen
+    (<code>wnoutrefresh()</code>), and then calling the routine to
+    update the screen (<code>doupdate()</code>). If the programmer
+    wishes to output several windows at once, a series of calls to
+    <code>wrefresh</code> will result in alternating calls to
+    <code>wnoutrefresh()</code> and <code>doupdate()</code>,
+    causing several bursts of output to the screen. By calling
+    <code>wnoutrefresh()</code> for each window, it is then
+    possible to call <code>doupdate()</code> once, resulting in
+    only one burst of output, with fewer total characters
+    transmitted (this also avoids a visually annoying flicker at
+    each update).</dd>
+  </dl>
+
+  <h3><a name="lowlevel" id="lowlevel">Low-Level Capability
+  Access</a></h3>
+
+  <dl>
+    <dt><code>setupterm(term, filenum, errret)</code></dt>
+
+    <dd>
+      This routine is called to initialize a terminal's
+      description, without setting up the curses screen structures
+      or changing the tty-driver mode bits. <code>term</code> is
+      the character string representing the name of the terminal
+      being used. <code>filenum</code> is the UNIX file descriptor
+      of the terminal to be used for output. <code>errret</code> is
+      a pointer to an integer, in which a success or failure
+      indication is returned. The values returned can be 1 (all is
+      well), 0 (no such terminal), or -1 (some problem locating the
+      terminfo database).
+
+      <p>The value of <code>term</code> can be given as NULL, which
+      will cause the value of <code>TERM</code> in the environment
+      to be used. The <code>errret</code> pointer can also be given
+      as NULL, meaning no error code is wanted. If
+      <code>errret</code> is defaulted, and something goes wrong,
+      <code>setupterm()</code> will print an appropriate error
+      message and exit, rather than returning. Thus, a simple
+      program can call setupterm(0, 1, 0) and not worry about
+      initialization errors.</p>
+
+      <p>After the call to <code>setupterm()</code>, the global
+      variable <code>cur_term</code> is set to point to the current
+      structure of terminal capabilities. By calling
+      <code>setupterm()</code> for each terminal, and saving and
+      restoring <code>cur_term</code>, it is possible for a program
+      to use two or more terminals at once.
+      <code>Setupterm()</code> also stores the names section of the
+      terminal description in the global character array
+      <code>ttytype[]</code>. Subsequent calls to
+      <code>setupterm()</code> will overwrite this array, so you
+      will have to save it yourself if need be.</p>
+    </dd>
+  </dl>
+
+  <h3><a name="debugging" id="debugging">Debugging</a></h3>
+
+  <blockquote>
+    <strong>NOTE:</strong> These functions are not part of the
+    standard curses API!
+  </blockquote>
+
+  <dl>
+    <dt><code>trace()</code></dt>
+
+    <dd>This function can be used to explicitly set a trace level.
+    If the trace level is nonzero, execution of your program will
+    generate a file called &ldquo;trace&rdquo; in the current
+    working directory containing a report on the library's actions.
+    Higher trace levels enable more detailed (and verbose)
+    reporting -- see comments attached to <code>TRACE_</code>
+    defines in the <code>curses.h</code> file for details. (It is
+    also possible to set a trace level by assigning a trace level
+    value to the environment variable
+    <code>NCURSES_TRACE</code>).</dd>
+
+    <dt><code>_tracef()</code></dt>
+
+    <dd>This function can be used to output your own debugging
+    information. It is only available only if you link with
+    -lncurses_g. It can be used the same way as
+    <code>printf()</code>, only it outputs a newline after the end
+    of arguments. The output goes to a file called
+    <code>trace</code> in the current directory.</dd>
+  </dl>
+
+  <p>Trace logs can be difficult to interpret due to the sheer
+  volume of data dumped in them. There is a script called
+  <strong>tracemunch</strong> included with the
+  <code>ncurses</code> distribution that can alleviate this problem
+  somewhat; it compacts long sequences of similar operations into
+  more succinct single-line pseudo-operations. These pseudo-ops can
+  be distinguished by the fact that they are named in capital
+  letters.</p>
+
+  <h2><a name="hints" id="hints">Hints, Tips, and Tricks</a></h2>
+
+  <p>The <code>ncurses</code> manual pages are a complete reference
+  for this library. In the remainder of this document, we discuss
+  various useful methods that may not be obvious from the manual
+  page descriptions.</p>
+
+  <h3><a name="caution" id="caution">Some Notes of Caution</a></h3>
+
+  <p>If you find yourself thinking you need to use
+  <code>noraw()</code> or <code>nocbreak()</code>, think again and
+  move carefully. It is probably better design to use
+  <code>getstr()</code> or one of its relatives to simulate cooked
+  mode. The <code>noraw()</code> and <code>nocbreak()</code>
+  functions try to restore cooked mode, but they may end up
+  clobbering some control bits set before you started your
+  application. Also, they have always been poorly documented, and
+  are likely to hurt your application's usability with other curses
+  libraries.</p>
+
+  <p>Bear in mind that <code>refresh()</code> is a synonym for
+  <code>wrefresh(stdscr)</code>. Do not try to mix use of
+  <code>stdscr</code> with use of windows declared by
+  <code>newwin()</code>; a <code>refresh()</code> call will blow
+  them off the screen. The right way to handle this is to use
+  <code>subwin()</code>, or not touch <code>stdscr</code> at all
+  and tile your screen with declared windows which you then
+  <code>wnoutrefresh()</code> somewhere in your program event loop,
+  with a single <code>doupdate()</code> call to trigger actual
+  repainting.</p>
+
+  <p>You are much less likely to run into problems if you design
+  your screen layouts to use tiled rather than overlapping windows.
+  Historically, curses support for overlapping windows has been
+  weak, fragile, and poorly documented. The <code>ncurses</code>
+  library is not yet an exception to this rule.</p>
+
+  <p>There is a panels library included in the <code>ncurses</code>
+  distribution that does a pretty good job of strengthening the
+  overlapping-windows facilities.</p>
+
+  <p>Try to avoid using the global variables LINES and COLS. Use
+  <code>getmaxyx()</code> on the <code>stdscr</code> context
+  instead. Reason: your code may be ported to run in an environment
+  with window resizes, in which case several screens could be open
+  with different sizes.</p>
+
+  <h3><a name="leaving" id="leaving">Temporarily Leaving NCURSES
+  Mode</a></h3>
+
+  <p>Sometimes you will want to write a program that spends most of
+  its time in screen mode, but occasionally returns to ordinary
+  &ldquo;cooked&rdquo; mode. A common reason for this is to support
+  shell-out. This behavior is simple to arrange in
+  <code>ncurses</code>.</p>
+
+  <p>To leave <code>ncurses</code> mode, call <code>endwin()</code>
+  as you would if you were intending to terminate the program. This
+  will take the screen back to cooked mode; you can do your
+  shell-out. When you want to return to <code>ncurses</code> mode,
+  simply call <code>refresh()</code> or <code>doupdate()</code>.
+  This will repaint the screen.</p>
+
+  <p>There is a boolean function, <code>isendwin()</code>, which
+  code can use to test whether <code>ncurses</code> screen mode is
+  active. It returns <code>TRUE</code> in the interval between an
+  <code>endwin()</code> call and the following
+  <code>refresh()</code>, <code>FALSE</code> otherwise.</p>
+
+  <p>Here is some sample code for shellout:</p>
+  <pre>
     addstr("Shelling out...");
     def_prog_mode();           /* save current tty modes */
     endwin();                  /* restore original tty modes */
     system("sh");              /* run shell */
     addstr("returned.\n");     /* prepare return message */
     refresh();                 /* restore save modes, repaint screen */
-</PRE>
-
-<H3><A NAME="xterm">Using NCURSES under XTERM</A></H3>
-
-A resize operation in X sends <CODE>SIGWINCH</CODE> to the application running
-under xterm.
-
-The easiest way to handle <CODE>SIGWINCH</CODE>
-is to do an <CODE>endwin</CODE>,
-followed by an <CODE>refresh</CODE> and a screen repaint you code
-yourself.
-The <CODE>refresh</CODE> will pick up the new screen size from the
-xterm's environment. <P>
-
-That is the standard way, of course (it even works with some vendor's curses
-implementations).
-Its drawback is that it clears the screen to reinitialize the display, and does
-not resize subwindows which must be shrunk.
-<CODE>Ncurses</CODE> provides an extension which works better, the
-<CODE>resizeterm</CODE> function.  That function ensures that all windows
-are limited to the new screen dimensions, and pads <CODE>stdscr</CODE>
-with blanks if the screen is larger. <P>
-
-The <CODE>ncurses</CODE> library provides a SIGWINCH signal handler,
-which pushes a <CODE>KEY_RESIZE</CODE> via the wgetch() calls.
-When <CODE>ncurses</CODE> returns that code,
-it calls <code>resizeterm</CODE>
-to update the size of the standard screen's window, repainting that
-(filling with blanks or truncating as needed).
-It also resizes other windows,
-but its effect may be less satisfactory because it cannot
-know how you want the screen re-painted.
-You will usually have to write special-purpose code to handle
-<CODE>KEY_RESIZE</CODE> yourself.
-
-<H3><A NAME="screens">Handling Multiple Terminal Screens</A></H3>
-
-The <CODE>initscr()</CODE> function actually calls a function named
-<CODE>newterm()</CODE> to do most of its work.  If you are writing a program that
-opens multiple terminals, use <CODE>newterm()</CODE> directly. <P>
-
-For each call, you will have to specify a terminal type and a pair of file
-pointers; each call will return a screen reference, and <CODE>stdscr</CODE> will be
-set to the last one allocated.  You will switch between screens with the
-<CODE>set_term</CODE> call.  Note that you will also have to call
-<CODE>def_shell_mode</CODE> and <CODE>def_prog_mode</CODE> on each tty yourself.
-
-<H3><A NAME="testing">Testing for Terminal Capabilities</A></H3>
-
-Sometimes you may want to write programs that test for the presence of various
-capabilities before deciding whether to go into <CODE>ncurses</CODE> mode.  An easy
-way to do this is to call <CODE>setupterm()</CODE>, then use the functions
-<CODE>tigetflag()</CODE>, <CODE>tigetnum()</CODE>, and <CODE>tigetstr()</CODE> to do your
-testing. <P>
-
-A particularly useful case of this often comes up when you want to
-test whether a given terminal type should be treated as `smart'
-(cursor-addressable) or `stupid'.  The right way to test this is to see
-if the return value of <CODE>tigetstr("cup")</CODE> is non-NULL.  Alternatively,
-you can include the <CODE>term.h</CODE> file and test the value of the
-macro <CODE>cursor_address</CODE>.
-
-<H3><A NAME="tuning">Tuning for Speed</A></H3>
-
-Use the <CODE>addchstr()</CODE> family of functions for fast
-screen-painting of text when you know the text doesn't contain any
-control characters.  Try to make attribute changes infrequent on your
-screens.  Don't use the <CODE>immedok()</CODE> option!
-
-<H3><A NAME="special">Special Features of NCURSES</A></H3>
-
-The <CODE>wresize()</CODE> function allows you to resize a window in place.
-The associated <CODE>resizeterm()</CODE> function simplifies the construction
-of <a HREF="#xterm">SIGWINCH</a> handlers, for resizing all windows.  <P>
-
-The <CODE>define_key()</CODE> function allows you
-to define at runtime function-key control sequences which are not in the
-terminal description.
-The <CODE>keyok()</CODE> function allows you to temporarily
-enable or disable interpretation of any function-key control sequence. <P>
-
-The <CODE>use_default_colors()</CODE> function allows you to construct
-applications which can use the terminal's default foreground and
-background colors as an additional "default" color.
-Several terminal emulators support this feature, which is based on ISO 6429. <P>
-
-Ncurses supports up 16 colors, unlike SVr4 curses which defines only 8.
-While most terminals which provide color allow only 8 colors, about
-a quarter (including XFree86 xterm) support 16 colors.
-
-<H2><A NAME="compat">Compatibility with Older Versions</A></H2>
-
-Despite our best efforts, there are some differences between <CODE>ncurses</CODE>
-and the (undocumented!) behavior of older curses implementations.  These arise
-from ambiguities or omissions in the documentation of the API.
-
-<H3><A NAME="refbug">Refresh of Overlapping Windows</A></H3>
-
-If you define two windows A and B that overlap, and then alternately scribble
-on and refresh them, the changes made to the overlapping region under historic
-<CODE>curses</CODE> versions were often not documented precisely. <P>
-
-To understand why this is a problem, remember that screen updates are
-calculated between two representations of the <EM>entire</EM> display. The
-documentation says that when you refresh a window, it is first copied to the
-virtual screen, and then changes are calculated to update the physical screen
-(and applied to the terminal).  But "copied to" is not very specific, and
-subtle differences in how copying works can produce different behaviors in the
-case where two overlapping windows are each being refreshed at unpredictable
-intervals. <P>
-
-What happens to the overlapping region depends on what <CODE>wnoutrefresh()</CODE>
-does with its argument -- what portions of the argument window it copies to the
-virtual screen.  Some implementations do "change copy", copying down only
-locations in the window that have changed (or been marked changed with
-<CODE>wtouchln()</CODE> and friends).  Some implementations do  "entire copy",
-copying <EM>all</EM> window locations to the virtual screen whether or not
-they have changed. <P>
-
-The <CODE>ncurses</CODE> library itself has not always been consistent on this
-score.  Due to a bug, versions 1.8.7 to 1.9.8a did entire copy.  Versions
-1.8.6 and older, and versions 1.9.9 and newer, do change copy. <P>
-
-For most commercial curses implementations, it is not documented and not known
-for sure (at least not to the <CODE>ncurses</CODE> maintainers) whether they do
-change copy or entire copy.  We know that System V release 3 curses has logic
-in it that looks like an attempt to do change copy, but the surrounding logic
-and data representations are sufficiently complex, and our knowledge
-sufficiently indirect, that it's hard to know whether this is reliable.
-
-It is not clear what the SVr4 documentation and XSI standard intend.  The XSI
-Curses standard barely mentions wnoutrefresh(); the SVr4 documents seem to be
-describing entire-copy, but it is possible with some effort and straining to
-read them the other way. <P>
-
-It might therefore be unwise to rely on either behavior in programs that might
-have to be linked with other curses implementations.  Instead, you can do an
-explicit <CODE>touchwin()</CODE> before the <CODE>wnoutrefresh()</CODE> call to
-guarantee an entire-contents copy anywhere. <P>
-
-The really clean way to handle this is to use the panels library.  If,
-when you want a screen update, you do <CODE>update_panels()</CODE>, it will
-do all the necessary <CODE>wnoutrefresh()</CODE> calls for whatever panel
-stacking order you have defined.  Then you can do one <CODE>doupdate()</CODE>
-and there will be a <EM>single</EM> burst of physical I/O that will do
-all your updates.
-
-<H3><A NAME="backbug">Background Erase</A></H3>
-
-If you have been using a very old versions of <CODE>ncurses</CODE> (1.8.7 or
-older) you may be surprised by the behavior of the erase functions.  In older
-versions, erased areas of a window were filled with a blank modified by the
-window's current attribute (as set by <STRONG>wattrset()</STRONG>, <STRONG>wattron()</STRONG>,
-<STRONG>wattroff()</STRONG> and friends). <P>
-
-In newer versions, this is not so.  Instead, the attribute of erased blanks
-is normal unless and until it is modified by the functions <CODE>bkgdset()</CODE>
-or <CODE>wbkgdset()</CODE>. <P>
-
-This change in behavior conforms <CODE>ncurses</CODE> to System V Release 4 and
-the XSI Curses standard.
-
-<H2><A NAME="xsifuncs">XSI Curses Conformance</A></H2>
-
-The <CODE>ncurses</CODE> library is intended to be base-level conformant with the
-XSI Curses standard from X/Open.  Many extended-level features (in fact, almost
-all features not directly concerned with wide characters and
-internationalization) are also supported. <P>
-
-One effect of XSI conformance is the change in behavior described under
-<A HREF="#backbug">"Background Erase -- Compatibility with Old Versions"</A>. <P>
-
-Also, <CODE>ncurses</CODE> meets the XSI requirement that every macro
-entry point have a corresponding function which may be linked (and
-will be prototype-checked) if the macro definition is disabled with
-<CODE>#undef</CODE>.
-
-<H1><A NAME="panels">The Panels Library</A></H1>
-
-The <CODE>ncurses</CODE> library by itself provides good support for screen
-displays in which the windows are tiled (non-overlapping).  In the more
-general case that windows may overlap, you have to use a series of
-<CODE>wnoutrefresh()</CODE> calls followed by a <CODE>doupdate()</CODE>, and be
-careful about the order you do the window refreshes in.  It has to be
-bottom-upwards, otherwise parts of windows that should be obscured will
-show through. <P>
-
-When your interface design is such that windows may dive deeper into the
-visibility stack or pop to the top at runtime, the resulting book-keeping
-can be tedious and difficult to get right.  Hence the panels library. <P>
-
-The <CODE>panel</CODE> library first appeared in AT&amp;T System V.  The
-version documented here is the <CODE>panel</CODE> code distributed
-with <CODE>ncurses</CODE>.
-
-<H2><A NAME="pcompile">Compiling With the Panels Library</A></H2>
-
-Your panels-using modules must import the panels library declarations with
-
-<PRE>
-         #include &lt;panel.h&gt;
-</PRE>
-
-and must be linked explicitly with the panels library using an
-<CODE>-lpanel</CODE> argument.  Note that they must also link the
-<CODE>ncurses</CODE> library with <CODE>-lncurses</CODE>.  Many linkers
-are two-pass and will accept either order, but it is still good practice
-to put <CODE>-lpanel</CODE> first and <CODE>-lncurses</CODE> second.
-
-<H2><A NAME="poverview">Overview of Panels</A></H2>
-
-A panel object is a window that is implicitly treated as part of a
-<DFN>deck</DFN> including all other panel objects.  The deck has an implicit
-bottom-to-top visibility order.  The panels library includes an update
-function (analogous to <CODE>refresh()</CODE>) that displays all panels in the
-deck in the proper order to resolve overlaps.  The standard window,
-<CODE>stdscr</CODE>, is considered below all panels. <P>
-
-Details on the panels functions are available in the man pages.  We'll just
-hit the highlights here. <P>
-
-You create a panel from a window by calling <CODE>new_panel()</CODE> on a
-window pointer.  It then becomes the top of the deck.  The panel's window
-is available as the value of <CODE>panel_window()</CODE> called with the
-panel pointer as argument.<P>
-
-You can delete a panel (removing it from the deck) with <CODE>del_panel</CODE>.
-This will not deallocate the associated window; you have to do that yourself.
+</pre>
+
+  <h3><a name="xterm" id="xterm">Using NCURSES under XTERM</a></h3>
+
+  <p>A resize operation in X sends <code>SIGWINCH</code> to the
+  application running under xterm. The easiest way to handle
+  <code>SIGWINCH</code> is to do an <code>endwin</code>, followed
+  by an <code>refresh</code> and a screen repaint you code
+  yourself. The <code>refresh</code> will pick up the new screen
+  size from the xterm's environment.</p>
+
+  <p>That is the standard way, of course (it even works with some
+  vendor's curses implementations). Its drawback is that it clears
+  the screen to reinitialize the display, and does not resize
+  subwindows which must be shrunk. <code>Ncurses</code> provides an
+  extension which works better, the <code>resizeterm</code>
+  function. That function ensures that all windows are limited to
+  the new screen dimensions, and pads <code>stdscr</code> with
+  blanks if the screen is larger.</p>
+
+  <p>The <code>ncurses</code> library provides a SIGWINCH signal
+  handler, which pushes a <code>KEY_RESIZE</code> via the wgetch()
+  calls. When <code>ncurses</code> returns that code, it calls
+  <code>resizeterm</code> to update the size of the standard
+  screen's window, repainting that (filling with blanks or
+  truncating as needed). It also resizes other windows, but its
+  effect may be less satisfactory because it cannot know how you
+  want the screen re-painted. You will usually have to write
+  special-purpose code to handle <code>KEY_RESIZE</code>
+  yourself.</p>
+
+  <h3><a name="screens" id="screens">Handling Multiple Terminal
+  Screens</a></h3>
+
+  <p>The <code>initscr()</code> function actually calls a function
+  named <code>newterm()</code> to do most of its work. If you are
+  writing a program that opens multiple terminals, use
+  <code>newterm()</code> directly.</p>
+
+  <p>For each call, you will have to specify a terminal type and a
+  pair of file pointers; each call will return a screen reference,
+  and <code>stdscr</code> will be set to the last one allocated.
+  You will switch between screens with the <code>set_term</code>
+  call. Note that you will also have to call
+  <code>def_shell_mode</code> and <code>def_prog_mode</code> on
+  each tty yourself.</p>
+
+  <h3><a name="testing" id="testing">Testing for Terminal
+  Capabilities</a></h3>
+
+  <p>Sometimes you may want to write programs that test for the
+  presence of various capabilities before deciding whether to go
+  into <code>ncurses</code> mode. An easy way to do this is to call
+  <code>setupterm()</code>, then use the functions
+  <code>tigetflag()</code>, <code>tigetnum()</code>, and
+  <code>tigetstr()</code> to do your testing.</p>
+
+  <p>A particularly useful case of this often comes up when you
+  want to test whether a given terminal type should be treated as
+  &ldquo;smart&rdquo; (cursor-addressable) or &ldquo;stupid&rdquo;.
+  The right way to test this is to see if the return value of
+  <code>tigetstr("cup")</code> is non-NULL. Alternatively, you can
+  include the <code>term.h</code> file and test the value of the
+  macro <code>cursor_address</code>.</p>
+
+  <h3><a name="tuning" id="tuning">Tuning for Speed</a></h3>
+
+  <p>Use the <code>addchstr()</code> family of functions for fast
+  screen-painting of text when you know the text does not contain
+  any control characters. Try to make attribute changes infrequent
+  on your screens. Do not use the <code>immedok()</code>
+  option!</p>
+
+  <h3><a name="special" id="special">Special Features of
+  NCURSES</a></h3>
+
+  <p>The <code>wresize()</code> function allows you to resize a
+  window in place. The associated <code>resizeterm()</code>
+  function simplifies the construction of <a href=
+  "#xterm">SIGWINCH</a> handlers, for resizing all windows.</p>
+
+  <p>The <code>define_key()</code> function allows you to define at
+  runtime function-key control sequences which are not in the
+  terminal description. The <code>keyok()</code> function allows
+  you to temporarily enable or disable interpretation of any
+  function-key control sequence.</p>
+
+  <p>The <code>use_default_colors()</code> function allows you to
+  construct applications which can use the terminal's default
+  foreground and background colors as an additional "default"
+  color. Several terminal emulators support this feature, which is
+  based on ISO 6429.</p>
+
+  <p>Ncurses supports up 16 colors, unlike SVr4 curses which
+  defines only 8. While most terminals which provide color allow
+  only 8 colors, about a quarter (including XFree86 xterm) support
+  16 colors.</p>
+
+  <h2><a name="compat" id="compat">Compatibility with Older
+  Versions</a></h2>
+
+  <p>Despite our best efforts, there are some differences between
+  <code>ncurses</code> and the (undocumented!) behavior of older
+  curses implementations. These arise from ambiguities or omissions
+  in the documentation of the API.</p>
+
+  <h3><a name="refbug" id="refbug">Refresh of Overlapping
+  Windows</a></h3>
+
+  <p>If you define two windows A and B that overlap, and then
+  alternately scribble on and refresh them, the changes made to the
+  overlapping region under historic <code>curses</code> versions
+  were often not documented precisely.</p>
+
+  <p>To understand why this is a problem, remember that screen
+  updates are calculated between two representations of the
+  <em>entire</em> display. The documentation says that when you
+  refresh a window, it is first copied to the virtual screen, and
+  then changes are calculated to update the physical screen (and
+  applied to the terminal). But "copied to" is not very specific,
+  and subtle differences in how copying works can produce different
+  behaviors in the case where two overlapping windows are each
+  being refreshed at unpredictable intervals.</p>
+
+  <p>What happens to the overlapping region depends on what
+  <code>wnoutrefresh()</code> does with its argument -- what
+  portions of the argument window it copies to the virtual screen.
+  Some implementations do "change copy", copying down only
+  locations in the window that have changed (or been marked changed
+  with <code>wtouchln()</code> and friends). Some implementations
+  do "entire copy", copying <em>all</em> window locations to the
+  virtual screen whether or not they have changed.</p>
+
+  <p>The <code>ncurses</code> library itself has not always been
+  consistent on this score. Due to a bug, versions 1.8.7 to 1.9.8a
+  did entire copy. Versions 1.8.6 and older, and versions 1.9.9 and
+  newer, do change copy.</p>
+
+  <p>For most commercial curses implementations, it is not
+  documented and not known for sure (at least not to the
+  <code>ncurses</code> maintainers) whether they do change copy or
+  entire copy. We know that System V release 3 curses has logic in
+  it that looks like an attempt to do change copy, but the
+  surrounding logic and data representations are sufficiently
+  complex, and our knowledge sufficiently indirect, that it is hard
+  to know whether this is reliable. It is not clear what the SVr4
+  documentation and XSI standard intend. The XSI Curses standard
+  barely mentions wnoutrefresh(); the SVr4 documents seem to be
+  describing entire-copy, but it is possible with some effort and
+  straining to read them the other way.</p>
+
+  <p>It might therefore be unwise to rely on either behavior in
+  programs that might have to be linked with other curses
+  implementations. Instead, you can do an explicit
+  <code>touchwin()</code> before the <code>wnoutrefresh()</code>
+  call to guarantee an entire-contents copy anywhere.</p>
+
+  <p>The really clean way to handle this is to use the panels
+  library. If, when you want a screen update, you do
+  <code>update_panels()</code>, it will do all the necessary
+  <code>wnoutrefresh()</code> calls for whatever panel stacking
+  order you have defined. Then you can do one
+  <code>doupdate()</code> and there will be a <em>single</em> burst
+  of physical I/O that will do all your updates.</p>
+
+  <h3><a name="backbug" id="backbug">Background Erase</a></h3>
+
+  <p>If you have been using a very old versions of
+  <code>ncurses</code> (1.8.7 or older) you may be surprised by the
+  behavior of the erase functions. In older versions, erased areas
+  of a window were filled with a blank modified by the window's
+  current attribute (as set by <strong>wattrset()</strong>,
+  <strong>wattron()</strong>, <strong>wattroff()</strong> and
+  friends).</p>
+
+  <p>In newer versions, this is not so. Instead, the attribute of
+  erased blanks is normal unless and until it is modified by the
+  functions <code>bkgdset()</code> or <code>wbkgdset()</code>.</p>
+
+  <p>This change in behavior conforms <code>ncurses</code> to
+  System V Release 4 and the XSI Curses standard.</p>
+
+  <h2><a name="xsifuncs" id="xsifuncs">XSI Curses
+  Conformance</a></h2>
+
+  <p>The <code>ncurses</code> library is intended to be base-level
+  conformant with the XSI Curses standard from X/Open. Many
+  extended-level features (in fact, almost all features not
+  directly concerned with wide characters and internationalization)
+  are also supported.</p>
+
+  <p>One effect of XSI conformance is the change in behavior
+  described under <a href="#backbug">"Background Erase --
+  Compatibility with Old Versions"</a>.</p>
+
+  <p>Also, <code>ncurses</code> meets the XSI requirement that
+  every macro entry point have a corresponding function which may
+  be linked (and will be prototype-checked) if the macro definition
+  is disabled with <code>#undef</code>.</p>
+
+  <h1><a name="panels" id="panels">The Panels Library</a></h1>
+
+  <p>The <code>ncurses</code> library by itself provides good
+  support for screen displays in which the windows are tiled
+  (non-overlapping). In the more general case that windows may
+  overlap, you have to use a series of <code>wnoutrefresh()</code>
+  calls followed by a <code>doupdate()</code>, and be careful about
+  the order you do the window refreshes in. It has to be
+  bottom-upwards, otherwise parts of windows that should be
+  obscured will show through.</p>
+
+  <p>When your interface design is such that windows may dive
+  deeper into the visibility stack or pop to the top at runtime,
+  the resulting book-keeping can be tedious and difficult to get
+  right. Hence the panels library.</p>
+
+  <p>The <code>panel</code> library first appeared in AT&amp;T
+  System V. The version documented here is the <code>panel</code>
+  code distributed with <code>ncurses</code>.</p>
+
+  <h2><a name="pcompile" id="pcompile">Compiling With the Panels
+  Library</a></h2>
+
+  <p>Your panels-using modules must import the panels library
+  declarations with</p>
+  <pre>
+          #include &lt;panel.h&gt;
+</pre>
+
+  <p>and must be linked explicitly with the panels library using an
+  <code>-lpanel</code> argument. Note that they must also link the
+  <code>ncurses</code> library with <code>-lncurses</code>. Many
+  linkers are two-pass and will accept either order, but it is
+  still good practice to put <code>-lpanel</code> first and
+  <code>-lncurses</code> second.</p>
+
+  <h2><a name="poverview" id="poverview">Overview of
+  Panels</a></h2>
+
+  <p>A panel object is a window that is implicitly treated as part
+  of a <dfn>deck</dfn> including all other panel objects. The deck
+  has an implicit bottom-to-top visibility order. The panels
+  library includes an update function (analogous to
+  <code>refresh()</code>) that displays all panels in the deck in
+  the proper order to resolve overlaps. The standard window,
+  <code>stdscr</code>, is considered below all panels.</p>
+
+  <p>Details on the panels functions are available in the man
+  pages. We will just hit the highlights here.</p>
+
+  <p>You create a panel from a window by calling
+  <code>new_panel()</code> on a window pointer. It then becomes the
+  top of the deck. The panel's window is available as the value of
+  <code>panel_window()</code> called with the panel pointer as
+  argument.</p>
+
+  <p>You can delete a panel (removing it from the deck) with
+  <code>del_panel</code>. This will not deallocate the associated
+  window; you have to do that yourself. You can replace a panel's
+  window with a different window by calling
+  <code>replace_window</code>. The new window may be of different
+  size; the panel code will re-compute all overlaps. This operation
+  does not change the panel's position in the deck.</p>
+
+  <p>To move a panel's window, use <code>move_panel()</code>. The
+  <code>mvwin()</code> function on the panel's window is not
+  sufficient because it does not update the panels library's
+  representation of where the windows are. This operation leaves
+  the panel's depth, contents, and size unchanged.</p>
+
+  <p>Two functions (<code>top_panel()</code>,
+  <code>bottom_panel()</code>) are provided for rearranging the
+  deck. The first pops its argument window to the top of the deck;
+  the second sends it to the bottom. Either operation leaves the
+  panel's screen location, contents, and size unchanged.</p>
+
+  <p>The function <code>update_panels()</code> does all the
+  <code>wnoutrefresh()</code> calls needed to prepare for
+  <code>doupdate()</code> (which you must call yourself,
+  afterwards).</p>
+
+  <p>Typically, you will want to call <code>update_panels()</code>
+  and <code>doupdate()</code> just before accepting command input,
+  once in each cycle of interaction with the user. If you call
+  <code>update_panels()</code> after each and every panel write,
+  you will generate a lot of unnecessary refresh activity and
+  screen flicker.</p>
+
+  <h2><a name="pstdscr" id="pstdscr">Panels, Input, and the
+  Standard Screen</a></h2>
+
+  <p>You should not mix <code>wnoutrefresh()</code> or
+  <code>wrefresh()</code> operations with panels code; this will
+  work only if the argument window is either in the top panel or
+  unobscured by any other panels.</p>
+
+  <p>The <code>stsdcr</code> window is a special case. It is
+  considered below all panels. Because changes to panels may
+  obscure parts of <code>stdscr</code>, though, you should call
+  <code>update_panels()</code> before <code>doupdate()</code> even
+  when you only change <code>stdscr</code>.</p>
+
+  <p>Note that <code>wgetch</code> automatically calls
+  <code>wrefresh</code>. Therefore, before requesting input from a
+  panel window, you need to be sure that the panel is totally
+  unobscured.</p>
+
+  <p>There is presently no way to display changes to one obscured
+  panel without repainting all panels.</p>
+
+  <h2><a name="hiding" id="hiding">Hiding Panels</a></h2>
+
+  <p>It is possible to remove a panel from the deck temporarily;
+  use <code>hide_panel</code> for this. Use
+  <code>show_panel()</code> to render it visible again. The
+  predicate function <code>panel_hidden</code> tests whether or not
+  a panel is hidden.</p>
+
+  <p>The <code>panel_update</code> code ignores hidden panels. You
+  cannot do <code>top_panel()</code> or <code>bottom_panel</code>
+  on a hidden panel(). Other panels operations are applicable.</p>
+
+  <h2><a name="pmisc" id="pmisc">Miscellaneous Other
+  Facilities</a></h2>
+
+  <p>It is possible to navigate the deck using the functions
+  <code>panel_above()</code> and <code>panel_below</code>. Handed a
+  panel pointer, they return the panel above or below that panel.
+  Handed <code>NULL</code>, they return the bottom-most or top-most
+  panel.</p>
+
+  <p>Every panel has an associated user pointer, not used by the
+  panel code, to which you can attach application data. See the man
+  page documentation of <code>set_panel_userptr()</code> and
+  <code>panel_userptr</code> for details.</p>
+
+  <h1><a name="menu" id="menu">The Menu Library</a></h1>
+
+  <p>A menu is a screen display that assists the user to choose
+  some subset of a given set of items. The <code>menu</code>
+  library is a curses extension that supports easy programming of
+  menu hierarchies with a uniform but flexible interface.</p>
 
-You can replace a panel's window with a different window by calling
-<CODE>replace_window</CODE>.  The new window may be of different size;
-the panel code will re-compute all overlaps.  This operation doesn't
-change the panel's position in the deck. <P>
+  <p>The <code>menu</code> library first appeared in AT&amp;T
+  System V. The version documented here is the <code>menu</code>
+  code distributed with <code>ncurses</code>.</p>
 
-To move a panel's window, use <CODE>move_panel()</CODE>.  The
-<CODE>mvwin()</CODE> function on the panel's window isn't sufficient because it
-doesn't update the panels library's representation of where the windows are.
-This operation leaves the panel's depth, contents, and size unchanged. <P>
+  <h2><a name="mcompile" id="mcompile">Compiling With the menu
+  Library</a></h2>
 
-Two functions (<CODE>top_panel()</CODE>, <CODE>bottom_panel()</CODE>) are
-provided for rearranging the deck.  The first pops its argument window to the
-top of the deck; the second sends it to the bottom.  Either operation leaves
-the panel's screen location, contents, and size unchanged. <P>
+  <p>Your menu-using modules must import the menu library
+  declarations with</p>
+  <pre>
+          #include &lt;menu.h&gt;
+</pre>
 
-The function <CODE>update_panels()</CODE> does all the
-<CODE>wnoutrefresh()</CODE> calls needed to prepare for
-<CODE>doupdate()</CODE> (which you must call yourself, afterwards). <P>
-
-Typically, you will want to call <CODE>update_panels()</CODE> and
-<CODE>doupdate()</CODE> just before accepting command input, once in each cycle
-of interaction with the user.  If you call <CODE>update_panels()</CODE> after
-each and every panel write, you'll generate a lot of unnecessary refresh
-activity and screen flicker.
-
-<H2><A NAME="pstdscr">Panels, Input, and the Standard Screen</A></H2>
-
-You shouldn't mix <CODE>wnoutrefresh()</CODE> or <CODE>wrefresh()</CODE>
-operations with panels code; this will work only if the argument window
-is either in the top panel or unobscured by any other panels. <P>
-
-The <CODE>stsdcr</CODE> window is a special case.  It is considered below all
-panels.  Because changes to panels may obscure parts of <CODE>stdscr</CODE>,
-though, you should call <CODE>update_panels()</CODE> before
-<CODE>doupdate()</CODE> even when you only change <CODE>stdscr</CODE>. <P>
-
-Note that <CODE>wgetch</CODE> automatically calls <CODE>wrefresh</CODE>.
-Therefore, before requesting input from a panel window, you need to be sure
-that the panel is totally unobscured. <P>
-
-There is presently no way to display changes to one obscured panel without
-repainting all panels.
-
-<H2><A NAME="hiding">Hiding Panels</A></H2>
-
-It's possible to remove a panel from the deck temporarily; use
-<CODE>hide_panel</CODE> for this.  Use <CODE>show_panel()</CODE> to render it
-visible again.  The predicate function <CODE>panel_hidden</CODE>
-tests whether or not a panel is hidden. <P>
-
-The <CODE>panel_update</CODE> code ignores hidden panels.  You cannot do
-<CODE>top_panel()</CODE> or <CODE>bottom_panel</CODE> on a hidden panel().
-Other panels operations are applicable.
-
-<H2><A NAME="pmisc">Miscellaneous Other Facilities</A></H2>
-
-It's possible to navigate the deck using the functions
-<CODE>panel_above()</CODE> and <CODE>panel_below</CODE>.  Handed a panel
-pointer, they return the panel above or below that panel.  Handed
-<CODE>NULL</CODE>, they return the bottom-most or top-most panel. <P>
-
-Every panel has an associated user pointer, not used by the panel code, to
-which you can attach application data.  See the man page documentation
-of <CODE>set_panel_userptr()</CODE> and <CODE>panel_userptr</CODE> for
-details.
-
-<H1><A NAME="menu">The Menu Library</A></H1>
-
-A menu is a screen display that assists the user to choose some subset
-of a given set of items.  The <CODE>menu</CODE> library is a curses
-extension that supports easy programming of menu hierarchies with a
-uniform but flexible interface. <P>
-
-The <CODE>menu</CODE> library first appeared in AT&amp;T System V.  The
-version documented here is the <CODE>menu</CODE> code distributed
-with <CODE>ncurses</CODE>.
-
-<H2><A NAME="mcompile">Compiling With the menu Library</A></H2>
-
-Your menu-using modules must import the menu library declarations with
-
-<PRE>
-         #include &lt;menu.h&gt;
-</PRE>
-
-and must be linked explicitly with the menus library using an
-<CODE>-lmenu</CODE> argument.  Note that they must also link the
-<CODE>ncurses</CODE> library with <CODE>-lncurses</CODE>.  Many linkers
-are two-pass and will accept either order, but it is still good practice
-to put <CODE>-lmenu</CODE> first and <CODE>-lncurses</CODE> second.
-
-<H2><A NAME="moverview">Overview of Menus</A></H2>
-
-The menus created by this library consist of collections of
-<DFN>items</DFN> including a name string part and a description string
-part.  To make menus, you create groups of these items and connect
-them with menu frame objects. <P>
-
-The menu can then by <DFN>posted</DFN>, that is written to an
-associated window.  Actually, each menu has two associated windows; a
-containing window in which the programmer can scribble titles or
-borders, and a subwindow in which the menu items proper are displayed.
-If this subwindow is too small to display all the items, it will be a
-scrollable viewport on the collection of items. <P>
-
-A menu may also be <DFN>unposted</DFN> (that is, undisplayed), and finally
-freed to make the storage associated with it and its items available for
-re-use. <P>
-
-The general flow of control of a menu program looks like this:
-
-<OL>
-<LI>Initialize <CODE>curses</CODE>.
-<LI>Create the menu items, using <CODE>new_item()</CODE>.
-<LI>Create the menu using <CODE>new_menu()</CODE>.
-<LI>Post the menu using <CODE>post_menu()</CODE>.
-<LI>Refresh the screen.
-<LI>Process user requests via an input loop.
-<LI>Unpost the menu using <CODE>unpost_menu()</CODE>.
-<LI>Free the menu, using <CODE>free_menu()</CODE>.
-<LI>Free the items using <CODE>free_item()</CODE>.
-<LI>Terminate <CODE>curses</CODE>.
-</OL>
-
-<H2><A NAME="mselect">Selecting items</A></H2>
-
-Menus may be multi-valued or (the default) single-valued (see the manual
-page <CODE>menu_opts(3x)</CODE> to see how to change the default).
-Both types always have a <DFN>current item</DFN>. <P>
-
-From a single-valued menu you can read the selected value simply by looking
-at the current item.  From a multi-valued menu, you get the selected set
-by looping through the items applying the <CODE>item_value()</CODE>
-predicate function.  Your menu-processing code can use the function
-<CODE>set_item_value()</CODE> to flag the items in the select set. <P>
-
-Menu items can be made unselectable using <CODE>set_item_opts()</CODE>
-or <CODE>item_opts_off()</CODE> with the <CODE>O_SELECTABLE</CODE>
-argument.  This is the only option so far defined for menus, but it
-is good practice to code as though other option bits might be on.
-
-<H2><A NAME="mdisplay">Menu Display</A></H2>
-
-The menu library calculates a minimum display size for your window, based
-on the following variables:
-
-<UL>
-<LI>The number and maximum length of the menu items
-<LI>Whether the O_ROWMAJOR option is enabled
-<LI>Whether display of descriptions is enabled
-<LI>Whatever menu format may have been set by the programmer
-<LI>The length of the menu mark string used for highlighting selected items
-</UL>
-
-The function <CODE>set_menu_format()</CODE> allows you to set the
-maximum size of the viewport or <DFN>menu page</DFN> that will be used
-to display menu items.  You can retrieve any format associated with a
-menu with <CODE>menu_format()</CODE>. The default format is rows=16,
-columns=1. <P>
-
-The actual menu page may be smaller than the format size.  This depends
-on the item number and size and whether O_ROWMAJOR is on.  This option
-(on by default) causes menu items to be displayed in a `raster-scan'
-pattern, so that if more than one item will fit horizontally the first
-couple of items are side-by-side in the top row.  The alternative is
-column-major display, which tries to put the first several items in
-the first column. <P>
-
-As mentioned above, a menu format not large enough to allow all items to fit
-on-screen will result in a menu display that is vertically scrollable. <P>
-You can scroll it with requests to the menu driver, which will be described
-in the section on <A HREF="#minput">menu input handling</A>. <P>
-
-Each menu has a <DFN>mark string</DFN> used to visually tag selected items;
-see the <CODE>menu_mark(3x)</CODE> manual page for details.  The mark
-string length also influences the menu page size. <P>
-
-The function <CODE>scale_menu()</CODE> returns the minimum display size
-that the menu code computes from all these factors.
-
-There are other menu display attributes including a select attribute,
-an attribute for selectable items, an attribute for unselectable items,
-and a pad character used to separate item name text from description
-text.  These have reasonable defaults which the library allows you to
-change (see the <CODE>menu_attribs(3x)</CODE> manual page.
-
-<H2><A NAME="mwindows">Menu Windows</A></H2>
-
-Each menu has, as mentioned previously, a pair of associated windows.
-Both these windows are painted when the menu is posted and erased when
-the menu is unposted. <P>
-
-The outer or frame window is not otherwise touched by the menu
-routines.  It exists so the programmer can associate a title, a
-border, or perhaps help text with the menu and have it properly
-refreshed or erased at post/unpost time.  The inner window or
-<DFN>subwindow</DFN> is where the current menu page is displayed. <P>
-
-By default, both windows are <CODE>stdscr</CODE>.  You can set them with the
-functions in <CODE>menu_win(3x)</CODE>. <P>
-
-When you call <CODE>post_menu()</CODE>, you write the menu to its
-subwindow.  When you call <CODE>unpost_menu()</CODE>, you erase the
-subwindow, However, neither of these actually modifies the screen.  To
-do that, call <CODE>wrefresh()</CODE> or some equivalent.
-
-<H2><A NAME="minput">Processing Menu Input</A></H2>
-
-The main loop of your menu-processing code should call
-<CODE>menu_driver()</CODE> repeatedly. The first argument of this routine
-is a menu pointer; the second is a menu command code.  You should write an
-input-fetching routine that maps input characters to menu command codes, and
-pass its output to <CODE>menu_driver()</CODE>.  The menu command codes are
-fully documented in <CODE>menu_driver(3x)</CODE>. <P>
-
-The simplest group of command codes is <CODE>REQ_NEXT_ITEM</CODE>,
-<CODE>REQ_PREV_ITEM</CODE>, <CODE>REQ_FIRST_ITEM</CODE>,
-<CODE>REQ_LAST_ITEM</CODE>, <CODE>REQ_UP_ITEM</CODE>,
-<CODE>REQ_DOWN_ITEM</CODE>, <CODE>REQ_LEFT_ITEM</CODE>,
-<CODE>REQ_RIGHT_ITEM</CODE>.  These change the currently selected
-item.  These requests may cause scrolling of the menu page if it only
-partially displayed. <P>
-
-There are explicit requests for scrolling which also change the
-current item (because the select location does not change, but the
-item there does).  These are <CODE>REQ_SCR_DLINE</CODE>,
-<CODE>REQ_SCR_ULINE</CODE>, <CODE>REQ_SCR_DPAGE</CODE>, and
-<CODE>REQ_SCR_UPAGE</CODE>. <P>
-
-The <CODE>REQ_TOGGLE_ITEM</CODE> selects or deselects the current item.
-It is for use in multi-valued menus; if you use it with <CODE>O_ONEVALUE</CODE>
-on, you'll get an error return (<CODE>E_REQUEST_DENIED</CODE>). <P>
-
-Each menu has an associated pattern buffer.  The
-<CODE>menu_driver()</CODE> logic tries to accumulate printable ASCII
-characters passed in in that buffer; when it matches a prefix of an
-item name, that item (or the next matching item) is selected.  If
-appending a character yields no new match, that character is deleted
-from the pattern buffer, and <CODE>menu_driver()</CODE> returns
-<CODE>E_NO_MATCH</CODE>. <P>
-
-Some requests change the pattern buffer directly:
-<CODE>REQ_CLEAR_PATTERN</CODE>, <CODE>REQ_BACK_PATTERN</CODE>,
-<CODE>REQ_NEXT_MATCH</CODE>, <CODE>REQ_PREV_MATCH</CODE>.  The latter
-two are useful when pattern buffer input matches more than one item
-in a multi-valued menu. <P>
-
-Each successful scroll or item navigation request clears the pattern
-buffer.  It is also possible to set the pattern buffer explicitly
-with <CODE>set_menu_pattern()</CODE>. <P>
-
-Finally, menu driver requests above the constant <CODE>MAX_COMMAND</CODE>
-are considered application-specific commands.  The <CODE>menu_driver()</CODE>
-code ignores them and returns <CODE>E_UNKNOWN_COMMAND</CODE>.
-
-<H2><A NAME="mmisc">Miscellaneous Other Features</A></H2>
-
-Various menu options can affect the processing and visual appearance
-and input processing of menus.  See <CODE>menu_opts(3x) for
-details.</CODE> <P>
-
-It is possible to change the current item from application code; this
-is useful if you want to write your own navigation requests.  It is
-also possible to explicitly set the top row of the menu display.  See
-<CODE>mitem_current(3x)</CODE>.
-
-If your application needs to change the menu subwindow cursor for
-any reason, <CODE>pos_menu_cursor()</CODE> will restore it to the
-correct location for continuing menu driver processing. <P>
-
-It is possible to set hooks to be called at menu initialization and
-wrapup time, and whenever the selected item changes.  See
-<CODE>menu_hook(3x)</CODE>. <P>
-
-Each item, and each menu, has an associated user pointer on which you
-can hang application data.  See <CODE>mitem_userptr(3x)</CODE> and
-<CODE>menu_userptr(3x)</CODE>.
-
-<H1><A NAME="form">The Forms Library</A></H1>
-
-The <CODE>form</CODE> library is a curses extension that supports easy
-programming of on-screen forms for data entry and program control. <P>
-
-The <CODE>form</CODE> library first appeared in AT&amp;T System V.  The
-version documented here is the <CODE>form</CODE> code distributed
-with <CODE>ncurses</CODE>.
-
-<H2><A NAME="fcompile">Compiling With the form Library</A></H2>
-
-Your form-using modules must import the form library declarations with
-
-<PRE>
-         #include &lt;form.h&gt;
-</PRE>
-
-and must be linked explicitly with the forms library using an
-<CODE>-lform</CODE> argument.  Note that they must also link the
-<CODE>ncurses</CODE> library with <CODE>-lncurses</CODE>.  Many linkers
-are two-pass and will accept either order, but it is still good practice
-to put <CODE>-lform</CODE> first and <CODE>-lncurses</CODE> second.
-
-<H2><A NAME="foverview">Overview of Forms</A></H2>
-
-A form is a collection of fields; each field may be either a label
-(explanatory text) or a data-entry location.  Long forms may be
-segmented into pages; each entry to a new page clears the screen. <P>
-To make forms, you create groups of fields and connect them with form
-frame objects; the form library makes this relatively simple. <P>
-
-Once defined, a form can be <DFN>posted</DFN>, that is written to an
-associated window.  Actually, each form has two associated windows; a
-containing window in which the programmer can scribble titles or
-borders, and a subwindow in which the form fields proper are displayed. <P>
-
-As the form user fills out the posted form, navigation and editing
-keys support movement between fields, editing keys support modifying
-field, and plain text adds to or changes data in a current field.  The
-form library allows you (the forms designer) to bind each navigation
-and editing key to any keystroke accepted by <CODE>curses</CODE>
-
-Fields may have validation conditions on them, so that they check input
-data for type and value.  The form library supplies a rich set of
-pre-defined field types, and makes it relatively easy to define new ones. <P>
-
-Once its transaction is completed (or aborted), a form may be
-<DFN>unposted</DFN> (that is, undisplayed), and finally freed to make
-the storage associated with it and its items available for re-use. <P>
-
-The general flow of control of a form program looks like this:
-
-<OL>
-<LI>Initialize <CODE>curses</CODE>.
-<LI>Create the form fields, using <CODE>new_field()</CODE>.
-<LI>Create the form using <CODE>new_form()</CODE>.
-<LI>Post the form using <CODE>post_form()</CODE>.
-<LI>Refresh the screen.
-<LI>Process user requests via an input loop.
-<LI>Unpost the form using <CODE>unpost_form()</CODE>.
-<LI>Free the form, using <CODE>free_form()</CODE>.
-<LI>Free the fields using <CODE>free_field()</CODE>.
-<LI>Terminate <CODE>curses</CODE>.
-</OL>
+  <p>and must be linked explicitly with the menus library using an
+  <code>-lmenu</code> argument. Note that they must also link the
+  <code>ncurses</code> library with <code>-lncurses</code>. Many
+  linkers are two-pass and will accept either order, but it is
+  still good practice to put <code>-lmenu</code> first and
+  <code>-lncurses</code> second.</p>
 
-Note that this looks much like a menu program; the form library handles
-tasks which are in many ways similar, and its interface was obviously
-designed to resemble that of the <A HREF="#menu">menu library</A>
-wherever possible. <P>
+  <h2><a name="moverview" id="moverview">Overview of Menus</a></h2>
+
+  <p>The menus created by this library consist of collections of
+  <dfn>items</dfn> including a name string part and a description
+  string part. To make menus, you create groups of these items and
+  connect them with menu frame objects.</p>
 
-In forms programs, however, the `process user requests' is somewhat more
-complicated than for menus.  Besides menu-like navigation operations,
-the menu driver loop has to support field editing and data validation.
+  <p>The menu can then by <dfn>posted</dfn>, that is written to an
+  associated window. Actually, each menu has two associated
+  windows; a containing window in which the programmer can scribble
+  titles or borders, and a subwindow in which the menu items proper
+  are displayed. If this subwindow is too small to display all the
+  items, it will be a scrollable viewport on the collection of
+  items.</p>
 
-<H2><A NAME="fcreate">Creating and Freeing Fields and Forms</A></H2>
+  <p>A menu may also be <dfn>unposted</dfn> (that is, undisplayed),
+  and finally freed to make the storage associated with it and its
+  items available for re-use.</p>
+
+  <p>The general flow of control of a menu program looks like
+  this:</p>
 
-The basic function for creating fields is <CODE>new_field()</CODE>:
+  <ol>
+    <li>Initialize <code>curses</code>.</li>
 
-<PRE>
-FIELD *new_field(int height, int width,   /* new field size */
-                 int top, int left,       /* upper left corner */
-                 int offscreen,           /* number of offscreen rows */
-                 int nbuf);               /* number of working buffers */
-</PRE>
-
-Menu items always occupy a single row, but forms fields may have
-multiple rows.  So <CODE>new_field()</CODE> requires you to specify a
-width and height (the first two arguments, which mist both be greater
-than zero). <P>
-
-You must also specify the location of the field's upper left corner on
-the screen (the third and fourth arguments, which must be zero or
-greater). Note that these coordinates are relative to the form
-subwindow, which will coincide with <CODE>stdscr</CODE> by default but
-need not be <CODE>stdscr</CODE> if you've done an explicit
-<CODE>set_form_win()</CODE> call. <P>
-
-The fifth argument allows you to specify a number of off-screen rows.  If
-this is zero, the entire field will always be displayed.  If it is
-nonzero, the form will be scrollable, with only one screen-full (initially
-the top part) displayed at any given time.  If you make a field dynamic
-and grow it so it will no longer fit on the screen, the form will become
-scrollable even if the <CODE>offscreen</CODE> argument was initially zero. <P>
-
-The forms library allocates one working buffer per field; the size of
-each buffer is <CODE>((height + offscreen)*width + 1</CODE>, one character
-for each position in the field plus a NUL terminator.  The sixth
-argument is the number of additional data buffers to allocate for the
-field; your application can use them for its own purposes.
-
-<PRE>
-FIELD *dup_field(FIELD *field,            /* field to copy */
-                 int top, int left);      /* location of new copy */
-</PRE>
+    <li>Create the menu items, using <code>new_item()</code>.</li>
 
-The function <CODE>dup_field()</CODE> duplicates an existing field at a
-new location.  Size and buffering information are copied; some
-attribute flags and status bits are not (see the
-<CODE>form_field_new(3X)</CODE> for details).
+    <li>Create the menu using <code>new_menu()</code>.</li>
 
-<PRE>
-FIELD *link_field(FIELD *field,           /* field to copy */
-                  int top, int left);     /* location of new copy */
-</PRE>
+    <li>Post the menu using <code>post_menu()</code>.</li>
 
-The function <CODE>link_field()</CODE> also duplicates an existing field
-at a new location.  The difference from <CODE>dup_field()</CODE> is that
-it arranges for the new field's buffer to be shared with the old one. <P>
+    <li>Refresh the screen.</li>
 
-Besides the obvious use in making a field editable from two different
-form pages, linked fields give you a way to hack in dynamic labels.  If
-you declare several fields linked to an original, and then make them
-inactive, changes from the original will still be propagated to the
-linked fields. <P>
+    <li>Process user requests via an input loop.</li>
 
-As with duplicated fields, linked fields have attribute bits separate
-from the original. <P>
+    <li>Unpost the menu using <code>unpost_menu()</code>.</li>
 
-As you might guess, all these field-allocations return <CODE>NULL</CODE> if
-the field allocation is not possible due to an out-of-memory error or
-out-of-bounds arguments. <P>
+    <li>Free the menu, using <code>free_menu()</code>.</li>
 
-To connect fields to a form, use
+    <li>Free the items using <code>free_item()</code>.</li>
 
-<PRE>
-FORM *new_form(FIELD **fields);
-</PRE>
+    <li>Terminate <code>curses</code>.</li>
+  </ol>
+
+  <h2><a name="mselect" id="mselect">Selecting items</a></h2>
+
+  <p>Menus may be multi-valued or (the default) single-valued (see
+  the manual page <code>menu_opts(3x)</code> to see how to change
+  the default). Both types always have a <dfn>current
+  item</dfn>.</p>
+
+  <p>From a single-valued menu you can read the selected value
+  simply by looking at the current item. From a multi-valued menu,
+  you get the selected set by looping through the items applying
+  the <code>item_value()</code> predicate function. Your
+  menu-processing code can use the function
+  <code>set_item_value()</code> to flag the items in the select
+  set.</p>
+
+  <p>Menu items can be made unselectable using
+  <code>set_item_opts()</code> or <code>item_opts_off()</code> with
+  the <code>O_SELECTABLE</code> argument. This is the only option
+  so far defined for menus, but it is good practice to code as
+  though other option bits might be on.</p>
+
+  <h2><a name="mdisplay" id="mdisplay">Menu Display</a></h2>
+
+  <p>The menu library calculates a minimum display size for your
+  window, based on the following variables:</p>
+
+  <ul>
+    <li>The number and maximum length of the menu items</li>
+
+    <li>Whether the O_ROWMAJOR option is enabled</li>
+
+    <li>Whether display of descriptions is enabled</li>
+
+    <li>Whatever menu format may have been set by the
+    programmer</li>
+
+    <li>The length of the menu mark string used for highlighting
+    selected items</li>
+  </ul>
+
+  <p>The function <code>set_menu_format()</code> allows you to set
+  the maximum size of the viewport or <dfn>menu page</dfn> that
+  will be used to display menu items. You can retrieve any format
+  associated with a menu with <code>menu_format()</code>. The
+  default format is rows=16, columns=1.</p>
+
+  <p>The actual menu page may be smaller than the format size. This
+  depends on the item number and size and whether O_ROWMAJOR is on.
+  This option (on by default) causes menu items to be displayed in
+  a &ldquo;raster-scan&rdquo; pattern, so that if more than one
+  item will fit horizontally the first couple of items are
+  side-by-side in the top row. The alternative is column-major
+  display, which tries to put the first several items in the first
+  column.</p>
+
+  <p>As mentioned above, a menu format not large enough to allow
+  all items to fit on-screen will result in a menu display that is
+  vertically scrollable.</p>
+
+  <p>You can scroll it with requests to the menu driver, which will
+  be described in the section on <a href="#minput">menu input
+  handling</a>.</p>
+
+  <p>Each menu has a <dfn>mark string</dfn> used to visually tag
+  selected items; see the <code>menu_mark(3x)</code> manual page
+  for details. The mark string length also influences the menu page
+  size.</p>
+
+  <p>The function <code>scale_menu()</code> returns the minimum
+  display size that the menu code computes from all these factors.
+  There are other menu display attributes including a select
+  attribute, an attribute for selectable items, an attribute for
+  unselectable items, and a pad character used to separate item
+  name text from description text. These have reasonable defaults
+  which the library allows you to change (see the
+  <code>menu_attribs(3x)</code> manual page.</p>
+
+  <h2><a name="mwindows" id="mwindows">Menu Windows</a></h2>
+
+  <p>Each menu has, as mentioned previously, a pair of associated
+  windows. Both these windows are painted when the menu is posted
+  and erased when the menu is unposted.</p>
+
+  <p>The outer or frame window is not otherwise touched by the menu
+  routines. It exists so the programmer can associate a title, a
+  border, or perhaps help text with the menu and have it properly
+  refreshed or erased at post/unpost time. The inner window or
+  <dfn>subwindow</dfn> is where the current menu page is
+  displayed.</p>
+
+  <p>By default, both windows are <code>stdscr</code>. You can set
+  them with the functions in <code>menu_win(3x)</code>.</p>
+
+  <p>When you call <code>post_menu()</code>, you write the menu to
+  its subwindow. When you call <code>unpost_menu()</code>, you
+  erase the subwindow, However, neither of these actually modifies
+  the screen. To do that, call <code>wrefresh()</code> or some
+  equivalent.</p>
+
+  <h2><a name="minput" id="minput">Processing Menu Input</a></h2>
+
+  <p>The main loop of your menu-processing code should call
+  <code>menu_driver()</code> repeatedly. The first argument of this
+  routine is a menu pointer; the second is a menu command code. You
+  should write an input-fetching routine that maps input characters
+  to menu command codes, and pass its output to
+  <code>menu_driver()</code>. The menu command codes are fully
+  documented in <code>menu_driver(3x)</code>.</p>
+
+  <p>The simplest group of command codes is
+  <code>REQ_NEXT_ITEM</code>, <code>REQ_PREV_ITEM</code>,
+  <code>REQ_FIRST_ITEM</code>, <code>REQ_LAST_ITEM</code>,
+  <code>REQ_UP_ITEM</code>, <code>REQ_DOWN_ITEM</code>,
+  <code>REQ_LEFT_ITEM</code>, <code>REQ_RIGHT_ITEM</code>. These
+  change the currently selected item. These requests may cause
+  scrolling of the menu page if it only partially displayed.</p>
+
+  <p>There are explicit requests for scrolling which also change
+  the current item (because the select location does not change,
+  but the item there does). These are <code>REQ_SCR_DLINE</code>,
+  <code>REQ_SCR_ULINE</code>, <code>REQ_SCR_DPAGE</code>, and
+  <code>REQ_SCR_UPAGE</code>.</p>
+
+  <p>The <code>REQ_TOGGLE_ITEM</code> selects or deselects the
+  current item. It is for use in multi-valued menus; if you use it
+  with <code>O_ONEVALUE</code> on, you will get an error return
+  (<code>E_REQUEST_DENIED</code>).</p>
+
+  <p>Each menu has an associated pattern buffer. The
+  <code>menu_driver()</code> logic tries to accumulate printable
+  ASCII characters passed in in that buffer; when it matches a
+  prefix of an item name, that item (or the next matching item) is
+  selected. If appending a character yields no new match, that
+  character is deleted from the pattern buffer, and
+  <code>menu_driver()</code> returns <code>E_NO_MATCH</code>.</p>
+
+  <p>Some requests change the pattern buffer directly:
+  <code>REQ_CLEAR_PATTERN</code>, <code>REQ_BACK_PATTERN</code>,
+  <code>REQ_NEXT_MATCH</code>, <code>REQ_PREV_MATCH</code>. The
+  latter two are useful when pattern buffer input matches more than
+  one item in a multi-valued menu.</p>
+
+  <p>Each successful scroll or item navigation request clears the
+  pattern buffer. It is also possible to set the pattern buffer
+  explicitly with <code>set_menu_pattern()</code>.</p>
+
+  <p>Finally, menu driver requests above the constant
+  <code>MAX_COMMAND</code> are considered application-specific
+  commands. The <code>menu_driver()</code> code ignores them and
+  returns <code>E_UNKNOWN_COMMAND</code>.</p>
+
+  <h2><a name="mmisc" id="mmisc">Miscellaneous Other
+  Features</a></h2>
+
+  <p>Various menu options can affect the processing and visual
+  appearance and input processing of menus. See <code>menu_opts(3x)
+  for details.</code></p>
+
+  <p>It is possible to change the current item from application
+  code; this is useful if you want to write your own navigation
+  requests. It is also possible to explicitly set the top row of
+  the menu display. See <code>mitem_current(3x)</code>. If your
+  application needs to change the menu subwindow cursor for any
+  reason, <code>pos_menu_cursor()</code> will restore it to the
+  correct location for continuing menu driver processing.</p>
+
+  <p>It is possible to set hooks to be called at menu
+  initialization and wrapup time, and whenever the selected item
+  changes. See <code>menu_hook(3x)</code>.</p>
+
+  <p>Each item, and each menu, has an associated user pointer on
+  which you can hang application data. See
+  <code>mitem_userptr(3x)</code> and
+  <code>menu_userptr(3x)</code>.</p>
+
+  <h1><a name="form" id="form">The Forms Library</a></h1>
+
+  <p>The <code>form</code> library is a curses extension that
+  supports easy programming of on-screen forms for data entry and
+  program control.</p>
+
+  <p>The <code>form</code> library first appeared in AT&amp;T
+  System V. The version documented here is the <code>form</code>
+  code distributed with <code>ncurses</code>.</p>
+
+  <h2><a name="fcompile" id="fcompile">Compiling With the form
+  Library</a></h2>
+
+  <p>Your form-using modules must import the form library
+  declarations with</p>
+  <pre>
+          #include &lt;form.h&gt;
+</pre>
+
+  <p>and must be linked explicitly with the forms library using an
+  <code>-lform</code> argument. Note that they must also link the
+  <code>ncurses</code> library with <code>-lncurses</code>. Many
+  linkers are two-pass and will accept either order, but it is
+  still good practice to put <code>-lform</code> first and
+  <code>-lncurses</code> second.</p>
+
+  <h2><a name="foverview" id="foverview">Overview of Forms</a></h2>
+
+  <p>A form is a collection of fields; each field may be either a
+  label (explanatory text) or a data-entry location. Long forms may
+  be segmented into pages; each entry to a new page clears the
+  screen.</p>
+
+  <p>To make forms, you create groups of fields and connect them
+  with form frame objects; the form library makes this relatively
+  simple.</p>
+
+  <p>Once defined, a form can be <dfn>posted</dfn>, that is written
+  to an associated window. Actually, each form has two associated
+  windows; a containing window in which the programmer can scribble
+  titles or borders, and a subwindow in which the form fields
+  proper are displayed.</p>
+
+  <p>As the form user fills out the posted form, navigation and
+  editing keys support movement between fields, editing keys
+  support modifying field, and plain text adds to or changes data
+  in a current field. The form library allows you (the forms
+  designer) to bind each navigation and editing key to any
+  keystroke accepted by <code>curses</code> Fields may have
+  validation conditions on them, so that they check input data for
+  type and value. The form library supplies a rich set of
+  pre-defined field types, and makes it relatively easy to define
+  new ones.</p>
+
+  <p>Once its transaction is completed (or aborted), a form may be
+  <dfn>unposted</dfn> (that is, undisplayed), and finally freed to
+  make the storage associated with it and its items available for
+  re-use.</p>
+
+  <p>The general flow of control of a form program looks like
+  this:</p>
+
+  <ol>
+    <li>Initialize <code>curses</code>.</li>
+
+    <li>Create the form fields, using
+    <code>new_field()</code>.</li>
+
+    <li>Create the form using <code>new_form()</code>.</li>
+
+    <li>Post the form using <code>post_form()</code>.</li>
+
+    <li>Refresh the screen.</li>
+
+    <li>Process user requests via an input loop.</li>
+
+    <li>Unpost the form using <code>unpost_form()</code>.</li>
 
-This function expects to see a NULL-terminated array of field pointers.
-Said fields are connected to a newly-allocated form object; its address
-is returned (or else NULL if the allocation fails).   <P>
+    <li>Free the form, using <code>free_form()</code>.</li>
 
-Note that <CODE>new_field()</CODE> does <EM>not</EM> copy the pointer array
-into private storage; if you modify the contents of the pointer array
-during forms processing, all manner of bizarre things might happen.  Also
-note that any given field may only be connected to one form. <P>
+    <li>Free the fields using <code>free_field()</code>.</li>
 
-The functions <CODE>free_field()</CODE> and <CODE>free_form</CODE> are available
-to free field and form objects.  It is an error to attempt to free a field
-connected to a form, but not vice-versa; thus, you will generally free
-your form objects first.
+    <li>Terminate <code>curses</code>.</li>
+  </ol>
 
-<H2><A NAME="fattributes">Fetching and Changing Field Attributes</A></H2>
+  <p>Note that this looks much like a menu program; the form
+  library handles tasks which are in many ways similar, and its
+  interface was obviously designed to resemble that of the <a href=
+  "#menu">menu library</a> wherever possible.</p>
+
+  <p>In forms programs, however, the &ldquo;process user
+  requests&rdquo; is somewhat more complicated than for menus.
+  Besides menu-like navigation operations, the menu driver loop has
+  to support field editing and data validation.</p>
+
+  <h2><a name="fcreate" id="fcreate">Creating and Freeing Fields
+  and Forms</a></h2>
+
+  <p>The basic function for creating fields is
+  <code>new_field()</code>:</p>
+  <pre>
+FIELD *new_field(int height, int width,   /* new field size */
+                 int top, int left,       /* upper left corner */
+                 int offscreen,           /* number of offscreen rows */
+                 int nbuf);               /* number of working buffers */
+</pre>
+
+  <p>Menu items always occupy a single row, but forms fields may
+  have multiple rows. So <code>new_field()</code> requires you to
+  specify a width and height (the first two arguments, which mist
+  both be greater than zero).</p>
+
+  <p>You must also specify the location of the field's upper left
+  corner on the screen (the third and fourth arguments, which must
+  be zero or greater). Note that these coordinates are relative to
+  the form subwindow, which will coincide with <code>stdscr</code>
+  by default but need not be <code>stdscr</code> if you have done
+  an explicit <code>set_form_win()</code> call.</p>
+
+  <p>The fifth argument allows you to specify a number of
+  off-screen rows. If this is zero, the entire field will always be
+  displayed. If it is nonzero, the form will be scrollable, with
+  only one screen-full (initially the top part) displayed at any
+  given time. If you make a field dynamic and grow it so it will no
+  longer fit on the screen, the form will become scrollable even if
+  the <code>offscreen</code> argument was initially zero.</p>
+
+  <p>The forms library allocates one working buffer per field; the
+  size of each buffer is <code>((height + offscreen)*width +
+  1</code>, one character for each position in the field plus a NUL
+  terminator. The sixth argument is the number of additional data
+  buffers to allocate for the field; your application can use them
+  for its own purposes.</p>
+  <pre>
+FIELD *dup_field(FIELD *field,            /* field to copy */
+                 int top, int left);      /* location of new copy */
+</pre>
+
+  <p>The function <code>dup_field()</code> duplicates an existing
+  field at a new location. Size and buffering information are
+  copied; some attribute flags and status bits are not (see the
+  <code>form_field_new(3X)</code> for details).</p>
+  <pre>
+FIELD *link_field(FIELD *field,           /* field to copy */
+                  int top, int left);     /* location of new copy */
+</pre>
 
-Each form field has a number of location and size attributes
-associated with it. There are other field attributes used to control
-display and editing of the field.  Some (for example, the <CODE>O_STATIC</CODE> bit)
-involve sufficient complications to be covered in sections of their own
-later on.  We cover the functions used to get and set several basic
-attributes here. <P>
+  <p>The function <code>link_field()</code> also duplicates an
+  existing field at a new location. The difference from
+  <code>dup_field()</code> is that it arranges for the new field's
+  buffer to be shared with the old one.</p>
 
-When a field is created, the attributes not specified by the
-<CODE>new_field</CODE> function are copied from an invisible system
-default field.  In attribute-setting and -fetching functions, the
-argument NULL is taken to mean this field.  Changes to it persist
-as defaults until your forms application terminates.
+  <p>Besides the obvious use in making a field editable from two
+  different form pages, linked fields give you a way to hack in
+  dynamic labels. If you declare several fields linked to an
+  original, and then make them inactive, changes from the original
+  will still be propagated to the linked fields.</p>
 
-<H3><A NAME="fsizes">Fetching Size and Location Data</A></H3>
+  <p>As with duplicated fields, linked fields have attribute bits
+  separate from the original.</p>
 
-You can retrieve field sizes and locations through:
+  <p>As you might guess, all these field-allocations return
+  <code>NULL</code> if the field allocation is not possible due to
+  an out-of-memory error or out-of-bounds arguments.</p>
 
-<PRE>
+  <p>To connect fields to a form, use</p>
+  <pre>
+FORM *new_form(FIELD **fields);
+</pre>
+
+  <p>This function expects to see a NULL-terminated array of field
+  pointers. Said fields are connected to a newly-allocated form
+  object; its address is returned (or else NULL if the allocation
+  fails).</p>
+
+  <p>Note that <code>new_field()</code> does <em>not</em> copy the
+  pointer array into private storage; if you modify the contents of
+  the pointer array during forms processing, all manner of bizarre
+  things might happen. Also note that any given field may only be
+  connected to one form.</p>
+
+  <p>The functions <code>free_field()</code> and
+  <code>free_form</code> are available to free field and form
+  objects. It is an error to attempt to free a field connected to a
+  form, but not vice-versa; thus, you will generally free your form
+  objects first.</p>
+
+  <h2><a name="fattributes" id="fattributes">Fetching and Changing
+  Field Attributes</a></h2>
+
+  <p>Each form field has a number of location and size attributes
+  associated with it. There are other field attributes used to
+  control display and editing of the field. Some (for example, the
+  <code>O_STATIC</code> bit) involve sufficient complications to be
+  covered in sections of their own later on. We cover the functions
+  used to get and set several basic attributes here.</p>
+
+  <p>When a field is created, the attributes not specified by the
+  <code>new_field</code> function are copied from an invisible
+  system default field. In attribute-setting and -fetching
+  functions, the argument NULL is taken to mean this field. Changes
+  to it persist as defaults until your forms application
+  terminates.</p>
+
+  <h3><a name="fsizes" id="fsizes">Fetching Size and Location
+  Data</a></h3>
+
+  <p>You can retrieve field sizes and locations through:</p>
+  <pre>
 int field_info(FIELD *field,              /* field from which to fetch */
                int *height, *int width,   /* field size */
                int *top, int *left,       /* upper left corner */
                int *offscreen,            /* number of offscreen rows */
                int *nbuf);                /* number of working buffers */
-</PRE>
-
-This function is a sort of inverse of <CODE>new_field()</CODE>; instead of
-setting size and location attributes of a new field, it fetches them
-from an existing one.
+</pre>
 
-<H3><A NAME="flocation">Changing the Field Location</A></H3>
+  <p>This function is a sort of inverse of
+  <code>new_field()</code>; instead of setting size and location
+  attributes of a new field, it fetches them from an existing
+  one.</p>
 
-It is possible to move a field's location on the screen:
+  <h3><a name="flocation" id="flocation">Changing the Field
+  Location</a></h3>
 
-<PRE>
+  <p>It is possible to move a field's location on the screen:</p>
+  <pre>
 int move_field(FIELD *field,              /* field to alter */
                int top, int left);        /* new upper-left corner */
-</PRE>
+</pre>
 
-You can, of course. query the current location through <CODE>field_info()</CODE>.
+  <p>You can, of course. query the current location through
+  <code>field_info()</code>.</p>
 
-<H3><A NAME="fjust">The Justification Attribute</A></H3>
+  <h3><a name="fjust" id="fjust">The Justification
+  Attribute</a></h3>
 
-One-line fields may be unjustified, justified right, justified left,
-or centered.  Here is how you manipulate this attribute:
-
-<PRE>
+  <p>One-line fields may be unjustified, justified right, justified
+  left, or centered. Here is how you manipulate this attribute:</p>
+  <pre>
 int set_field_just(FIELD *field,          /* field to alter */
                    int justmode);         /* mode to set */
 
 int field_just(FIELD *field);             /* fetch mode of field */
-</PRE>
-
-The mode values accepted and returned by this functions are
-preprocessor macros <CODE>NO_JUSTIFICATION</CODE>, <CODE>JUSTIFY_RIGHT</CODE>,
-<CODE>JUSTIFY_LEFT</CODE>, or <CODE>JUSTIFY_CENTER</CODE>.
+</pre>
 
-<H3><A NAME="fdispatts">Field Display Attributes</A></H3>
+  <p>The mode values accepted and returned by this functions are
+  preprocessor macros <code>NO_JUSTIFICATION</code>,
+  <code>JUSTIFY_RIGHT</code>, <code>JUSTIFY_LEFT</code>, or
+  <code>JUSTIFY_CENTER</code>.</p>
 
-For each field, you can set a foreground attribute for entered
-characters, a background attribute for the entire field, and a pad
-character for the unfilled portion of the field.  You can also
-control pagination of the form. <P>
+  <h3><a name="fdispatts" id="fdispatts">Field Display
+  Attributes</a></h3>
 
-This group of four field attributes controls the visual appearance
-of the field on the screen, without affecting in any way the data
-in the field buffer.
+  <p>For each field, you can set a foreground attribute for entered
+  characters, a background attribute for the entire field, and a
+  pad character for the unfilled portion of the field. You can also
+  control pagination of the form.</p>
 
-<PRE>
+  <p>This group of four field attributes controls the visual
+  appearance of the field on the screen, without affecting in any
+  way the data in the field buffer.</p>
+  <pre>
 int set_field_fore(FIELD *field,          /* field to alter */
                    chtype attr);          /* attribute to set */
 
@@ -1669,22 +2062,20 @@ int set_new_page(FIELD *field,            /* field to alter */
                  int flag);               /* TRUE to force new page */
 
 chtype new_page(FIELD *field);            /* field to query */
-</PRE>
-
-The attributes set and returned by the first four functions are normal
-<CODE>curses(3x)</CODE> display attribute values (<CODE>A_STANDOUT</CODE>,
-<CODE>A_BOLD</CODE>, <CODE>A_REVERSE</CODE> etc).
+</pre>
 
-The page bit of a field controls whether it is displayed at the start of
-a new form screen.
+  <p>The attributes set and returned by the first four functions
+  are normal <code>curses(3x)</code> display attribute values
+  (<code>A_STANDOUT</code>, <code>A_BOLD</code>,
+  <code>A_REVERSE</code> etc). The page bit of a field controls
+  whether it is displayed at the start of a new form screen.</p>
 
-<H3><A NAME="foptions">Field Option Bits</A></H3>
+  <h3><a name="foptions" id="foptions">Field Option Bits</a></h3>
 
-There is also a large collection of field option bits you can set to control
-various aspects of forms processing.  You can manipulate them with these
-functions:
-
-<PRE>
+  <p>There is also a large collection of field option bits you can
+  set to control various aspects of forms processing. You can
+  manipulate them with these functions:</p>
+  <pre>
 int set_field_opts(FIELD *field,          /* field to alter */
                    int attr);             /* attribute to set */
 
@@ -1695,423 +2086,476 @@ int field_opts_off(FIELD *field,          /* field to alter */
                    int attr);             /* attributes to turn off */
 
 int field_opts(FIELD *field);             /* field to query */
-</PRE>
-
-By default, all options are on.  Here are the available option bits:
-<DL>
-<DT> O_VISIBLE
-<DD> Controls whether the field is visible on the screen.  Can be used
-during form processing to hide or pop up fields depending on the value
-of parent fields.
-<DT> O_ACTIVE
-<DD> Controls whether the field is active during forms processing (i.e.
-visited by form navigation keys).  Can be used to make labels or derived
-fields with buffer values alterable by the forms application, not the user.
-<DT> O_PUBLIC
-<DD> Controls whether data is displayed during field entry.  If this option is
-turned off on a field, the library will accept and edit data in that field,
-but it will not be displayed and the visible field cursor will not move.
-You can turn off the O_PUBLIC bit to define password fields.
-<DT> O_EDIT
-<DD> Controls whether the field's data can be modified.  When this option is
-off, all editing requests except <CODE>REQ_PREV_CHOICE</CODE> and
-<CODE>REQ_NEXT_CHOICE</CODE> will fail.  Such read-only fields may be useful for
-help messages.
-<DT> O_WRAP
-<DD> Controls word-wrapping in multi-line fields.  Normally, when any
-character of a (blank-separated) word reaches the end of the current line, the
-entire word is wrapped to the next line (assuming there is one).  When this
-option is off, the word will be split across the line break.
-<DT> O_BLANK
-<DD> Controls field blanking.  When this option is on, entering a character at
-the first field position erases the entire field (except for the just-entered
-character).
-<DT> O_AUTOSKIP
-<DD> Controls automatic skip to next field when this one fills.  Normally,
-when the forms user tries to type more data into a field than will fit,
-the editing location jumps to next field.  When this option is off, the
-user's cursor will hang at the end of the field.  This option is ignored
-in dynamic fields that have not reached their size limit.
-<DT> O_NULLOK
-<DD> Controls whether <A HREF="#fvalidation">validation</A> is applied to
-blank fields.  Normally, it is not; the user can leave a field blank
-without invoking the usual validation check on exit.  If this option is
-off on a field, exit from it will invoke a validation check.
-<DT> O_PASSOK
-<DD> Controls whether validation occurs on every exit, or only after
-the field is modified.  Normally the latter is true.  Setting O_PASSOK
-may be useful if your field's validation function may change during
-forms processing.
-<DT> O_STATIC
-<DD> Controls whether the field is fixed to its initial dimensions.  If you
-turn this off, the field becomes <A HREF="#fdynamic">dynamic</A> and will
-stretch to fit entered data.
-</DL>
-
-A field's options cannot be changed while the field is currently selected.
-However, options may be changed on posted fields that are not current. <P>
-
-The option values are bit-masks and can be composed with logical-or in
-the obvious way.
-
-<H2><A NAME="fstatus">Field Status</A></H2>
-
-Every field has a status flag, which is set to FALSE when the field is
-created and TRUE when the value in field buffer 0 changes.  This flag can
-be queried and set directly:
-
-<PRE>
-int set_field_status(FIELD *field,      /* field to alter */
-                   int status);         /* mode to set */
+</pre>
 
-int field_status(FIELD *field);         /* fetch mode of field */
-</PRE>
+  <p>By default, all options are on. Here are the available option
+  bits:</p>
 
-Setting this flag under program control can be useful if you use the same
-form repeatedly, looking for modified fields each time. <P>
+  <dl>
+    <dt>O_VISIBLE</dt>
 
-Calling <CODE>field_status()</CODE> on a field not currently selected
-for input will return a correct value.  Calling <CODE>field_status()</CODE> on a
-field that is currently selected for input may not necessarily give a
-correct field status value, because entered data isn't necessarily copied to
-buffer zero before the exit validation check.
+    <dd>Controls whether the field is visible on the screen. Can be
+    used during form processing to hide or pop up fields depending
+    on the value of parent fields.</dd>
 
-To guarantee that the returned status value reflects reality, call
-<CODE>field_status()</CODE> either (1) in the field's exit validation check
-routine, (2) from the field's or form's initialization or termination
-hooks, or (3) just after a <CODE>REQ_VALIDATION</CODE> request has been
-processed by the forms driver.
+    <dt>O_ACTIVE</dt>
 
-<H2><A NAME="fuser">Field User Pointer</A></H2>
+    <dd>Controls whether the field is active during forms
+    processing (i.e. visited by form navigation keys). Can be used
+    to make labels or derived fields with buffer values alterable
+    by the forms application, not the user.</dd>
 
-Each field structure contains one character pointer slot that is not used
-by the forms library.  It is intended to be used by applications to store
-private per-field data.  You can manipulate it with:
+    <dt>O_PUBLIC</dt>
 
-<PRE>
-int set_field_userptr(FIELD *field,       /* field to alter */
-                   char *userptr);        /* mode to set */
+    <dd>Controls whether data is displayed during field entry. If
+    this option is turned off on a field, the library will accept
+    and edit data in that field, but it will not be displayed and
+    the visible field cursor will not move. You can turn off the
+    O_PUBLIC bit to define password fields.</dd>
 
-char *field_userptr(FIELD *field);        /* fetch mode of field */
-</PRE>
+    <dt>O_EDIT</dt>
+
+    <dd>Controls whether the field's data can be modified. When
+    this option is off, all editing requests except
+    <code>REQ_PREV_CHOICE</code> and <code>REQ_NEXT_CHOICE</code>
+    will fail. Such read-only fields may be useful for help
+    messages.</dd>
+
+    <dt>O_WRAP</dt>
+
+    <dd>Controls word-wrapping in multi-line fields. Normally, when
+    any character of a (blank-separated) word reaches the end of
+    the current line, the entire word is wrapped to the next line
+    (assuming there is one). When this option is off, the word will
+    be split across the line break.</dd>
+
+    <dt>O_BLANK</dt>
+
+    <dd>Controls field blanking. When this option is on, entering a
+    character at the first field position erases the entire field
+    (except for the just-entered character).</dd>
 
-(Properly, this user pointer field ought to have <CODE>(void *)</CODE> type.
-The <CODE>(char *)</CODE> type is retained for System V compatibility.) <P>
+    <dt>O_AUTOSKIP</dt>
 
-It is valid to set the user pointer of the default field (with a
-<CODE>set_field_userptr()</CODE> call passed a NULL field pointer.)
-When a new field is created, the default-field user pointer is copied
-to initialize the new field's user pointer.
+    <dd>Controls automatic skip to next field when this one fills.
+    Normally, when the forms user tries to type more data into a
+    field than will fit, the editing location jumps to next field.
+    When this option is off, the user's cursor will hang at the end
+    of the field. This option is ignored in dynamic fields that
+    have not reached their size limit.</dd>
 
-<H2><A NAME="fdynamic">Variable-Sized Fields</A></H2>
+    <dt>O_NULLOK</dt>
 
-Normally, a field is fixed at the size specified for it at creation
-time.  If, however, you turn off its O_STATIC bit, it becomes
-<DFN>dynamic</DFN> and will automatically resize itself to accommodate
-data as it is entered.  If the field has extra buffers associated with it,
-they will grow right along with the main input buffer.  <P>
+    <dd>Controls whether <a href="#fvalidation">validation</a> is
+    applied to blank fields. Normally, it is not; the user can
+    leave a field blank without invoking the usual validation check
+    on exit. If this option is off on a field, exit from it will
+    invoke a validation check.</dd>
 
-A one-line dynamic field will have a fixed height (1) but variable
-width, scrolling horizontally to display data within the field area as
-originally dimensioned and located.  A multi-line dynamic field will
-have a fixed width, but variable height (number of rows), scrolling
-vertically to display data within the field area as originally
-dimensioned and located. <P>
+    <dt>O_PASSOK</dt>
 
-Normally, a dynamic field is allowed to grow without limit.  But it is
-possible to set an upper limit on the size of a dynamic field.  You do
-it with this function:
+    <dd>Controls whether validation occurs on every exit, or only
+    after the field is modified. Normally the latter is true.
+    Setting O_PASSOK may be useful if your field's validation
+    function may change during forms processing.</dd>
 
-<PRE>
+    <dt>O_STATIC</dt>
+
+    <dd>Controls whether the field is fixed to its initial
+    dimensions. If you turn this off, the field becomes <a href=
+    "#fdynamic">dynamic</a> and will stretch to fit entered
+    data.</dd>
+  </dl>
+
+  <p>A field's options cannot be changed while the field is
+  currently selected. However, options may be changed on posted
+  fields that are not current.</p>
+
+  <p>The option values are bit-masks and can be composed with
+  logical-or in the obvious way.</p>
+
+  <h2><a name="fstatus" id="fstatus">Field Status</a></h2>
+
+  <p>Every field has a status flag, which is set to FALSE when the
+  field is created and TRUE when the value in field buffer 0
+  changes. This flag can be queried and set directly:</p>
+  <pre>
+int set_field_status(FIELD *field,      /* field to alter */
+                   int status);         /* mode to set */
+
+int field_status(FIELD *field);         /* fetch mode of field */
+</pre>
+
+  <p>Setting this flag under program control can be useful if you
+  use the same form repeatedly, looking for modified fields each
+  time.</p>
+
+  <p>Calling <code>field_status()</code> on a field not currently
+  selected for input will return a correct value. Calling
+  <code>field_status()</code> on a field that is currently selected
+  for input may not necessarily give a correct field status value,
+  because entered data is not necessarily copied to buffer zero
+  before the exit validation check. To guarantee that the returned
+  status value reflects reality, call <code>field_status()</code>
+  either (1) in the field's exit validation check routine, (2) from
+  the field's or form's initialization or termination hooks, or (3)
+  just after a <code>REQ_VALIDATION</code> request has been
+  processed by the forms driver.</p>
+
+  <h2><a name="fuser" id="fuser">Field User Pointer</a></h2>
+
+  <p>Each field structure contains one character pointer slot that
+  is not used by the forms library. It is intended to be used by
+  applications to store private per-field data. You can manipulate
+  it with:</p>
+  <pre>
+int set_field_userptr(FIELD *field,       /* field to alter */
+                   char *userptr);        /* mode to set */
+
+char *field_userptr(FIELD *field);        /* fetch mode of field */
+</pre>(Properly, this user pointer field ought to have <code>(void
+*)</code> type. The <code>(char *)</code> type is retained for
+System V compatibility.)
+
+  <p>It is valid to set the user pointer of the default field (with
+  a <code>set_field_userptr()</code> call passed a NULL field
+  pointer.) When a new field is created, the default-field user
+  pointer is copied to initialize the new field's user pointer.</p>
+
+  <h2><a name="fdynamic" id="fdynamic">Variable-Sized
+  Fields</a></h2>
+
+  <p>Normally, a field is fixed at the size specified for it at
+  creation time. If, however, you turn off its O_STATIC bit, it
+  becomes <dfn>dynamic</dfn> and will automatically resize itself
+  to accommodate data as it is entered. If the field has extra
+  buffers associated with it, they will grow right along with the
+  main input buffer.</p>
+
+  <p>A one-line dynamic field will have a fixed height (1) but
+  variable width, scrolling horizontally to display data within the
+  field area as originally dimensioned and located. A multi-line
+  dynamic field will have a fixed width, but variable height
+  (number of rows), scrolling vertically to display data within the
+  field area as originally dimensioned and located.</p>
+
+  <p>Normally, a dynamic field is allowed to grow without limit.
+  But it is possible to set an upper limit on the size of a dynamic
+  field. You do it with this function:</p>
+  <pre>
 int set_max_field(FIELD *field,     /* field to alter (may not be NULL) */
                    int max_size);   /* upper limit on field size */
-</PRE>
-
-If the field is one-line, <CODE>max_size</CODE> is taken to be a column size
-limit; if it is multi-line, it is taken to be a line size limit.  To disable
-any limit, use an argument of zero.  The growth limit can be changed whether
-or not the O_STATIC bit is on, but has no effect until it is. <P>
-
-The following properties of a field change when it becomes dynamic:
-
-<UL>
-<LI>If there is no growth limit, there is no final position of the field;
-therefore <CODE>O_AUTOSKIP</CODE> and <CODE>O_NL_OVERLOAD</CODE> are ignored.
-<LI>Field justification will be ignored (though whatever justification is
-set up will be retained internally and can be queried).
-<LI>The <CODE>dup_field()</CODE> and <CODE>link_field()</CODE> calls copy
-dynamic-buffer sizes.  If the <CODE>O_STATIC</CODE> option is set on one of a
-collection of links, buffer resizing will occur only when the field is
-edited through that link.
-<LI>The call <CODE>field_info()</CODE> will retrieve the original static size of
-the field; use <CODE>dynamic_field_info()</CODE> to get the actual dynamic size.
-</UL>
-
-<H2><A NAME="fvalidation">Field Validation</A></H2>
-
-By default, a field will accept any data that will fit in its input buffer.
-However, it is possible to attach a validation type to a field.  If you do
-this, any attempt to leave the field while it contains data that doesn't
-match the validation type will fail.  Some validation types also have a
-character-validity check for each time a character is entered in the field. <P>
-
-A field's validation check (if any) is not called when
-<CODE>set_field_buffer()</CODE> modifies the input buffer, nor when that buffer
-is changed through a linked field. <P>
-
-The <CODE>form</CODE> library provides a rich set of pre-defined validation
-types, and gives you the capability to define custom ones of your own.  You
-can examine and change field validation attributes with the following
-functions:
-
-<PRE>
+</pre>
+
+  <p>If the field is one-line, <code>max_size</code> is taken to be
+  a column size limit; if it is multi-line, it is taken to be a
+  line size limit. To disable any limit, use an argument of zero.
+  The growth limit can be changed whether or not the O_STATIC bit
+  is on, but has no effect until it is.</p>
+
+  <p>The following properties of a field change when it becomes
+  dynamic:</p>
+
+  <ul>
+    <li>If there is no growth limit, there is no final position of
+    the field; therefore <code>O_AUTOSKIP</code> and
+    <code>O_NL_OVERLOAD</code> are ignored.</li>
+
+    <li>Field justification will be ignored (though whatever
+    justification is set up will be retained internally and can be
+    queried).</li>
+
+    <li>The <code>dup_field()</code> and <code>link_field()</code>
+    calls copy dynamic-buffer sizes. If the <code>O_STATIC</code>
+    option is set on one of a collection of links, buffer resizing
+    will occur only when the field is edited through that
+    link.</li>
+
+    <li>The call <code>field_info()</code> will retrieve the
+    original static size of the field; use
+    <code>dynamic_field_info()</code> to get the actual dynamic
+    size.</li>
+  </ul>
+
+  <h2><a name="fvalidation" id="fvalidation">Field
+  Validation</a></h2>
+
+  <p>By default, a field will accept any data that will fit in its
+  input buffer. However, it is possible to attach a validation type
+  to a field. If you do this, any attempt to leave the field while
+  it contains data that does not match the validation type will
+  fail. Some validation types also have a character-validity check
+  for each time a character is entered in the field.</p>
+
+  <p>A field's validation check (if any) is not called when
+  <code>set_field_buffer()</code> modifies the input buffer, nor
+  when that buffer is changed through a linked field.</p>
+
+  <p>The <code>form</code> library provides a rich set of
+  pre-defined validation types, and gives you the capability to
+  define custom ones of your own. You can examine and change field
+  validation attributes with the following functions:</p>
+  <pre>
 int set_field_type(FIELD *field,          /* field to alter */
                    FIELDTYPE *ftype,      /* type to associate */
                    ...);                  /* additional arguments*/
 
 FIELDTYPE *field_type(FIELD *field);      /* field to query */
-</PRE>
-
-The validation type of a field is considered an attribute of the field.  As
-with other field attributes, Also, doing <CODE>set_field_type()</CODE> with a
-<CODE>NULL</CODE> field default will change the system default for validation of
-newly-created fields. <P>
+</pre>
 
-Here are the pre-defined validation types:
+  <p>The validation type of a field is considered an attribute of
+  the field. As with other field attributes, Also, doing
+  <code>set_field_type()</code> with a <code>NULL</code> field
+  default will change the system default for validation of
+  newly-created fields.</p>
 
-<H3><A NAME="ftype_alpha">TYPE_ALPHA</A></H3>
+  <p>Here are the pre-defined validation types:</p>
 
-This field type accepts alphabetic data; no blanks, no digits, no special
-characters (this is checked at character-entry time).  It is set up with:
+  <h3><a name="ftype_alpha" id="ftype_alpha">TYPE_ALPHA</a></h3>
 
-<PRE>
+  <p>This field type accepts alphabetic data; no blanks, no digits,
+  no special characters (this is checked at character-entry time).
+  It is set up with:</p>
+  <pre>
 int set_field_type(FIELD *field,          /* field to alter */
                    TYPE_ALPHA,            /* type to associate */
                    int width);            /* maximum width of field */
-</PRE>
-
-The <CODE>width</CODE> argument sets a minimum width of data.  Typically
-you'll want to set this to the field width; if it's greater than the
-field width, the validation check will always fail.  A minimum width
-of zero makes field completion optional.
+</pre>
 
-<H3><A NAME="ftype_alnum">TYPE_ALNUM</A></H3>
+  <p>The <code>width</code> argument sets a minimum width of data.
+  Typically you will want to set this to the field width; if it is
+  greater than the field width, the validation check will always
+  fail. A minimum width of zero makes field completion
+  optional.</p>
 
-This field type accepts alphabetic data and digits; no blanks, no special
-characters (this is checked at character-entry time).  It is set up with:
+  <h3><a name="ftype_alnum" id="ftype_alnum">TYPE_ALNUM</a></h3>
 
-<PRE>
+  <p>This field type accepts alphabetic data and digits; no blanks,
+  no special characters (this is checked at character-entry time).
+  It is set up with:</p>
+  <pre>
 int set_field_type(FIELD *field,          /* field to alter */
                    TYPE_ALNUM,            /* type to associate */
                    int width);            /* maximum width of field */
-</PRE>
+</pre>
 
-The <CODE>width</CODE> argument sets a minimum width of data.  As with
-TYPE_ALPHA, typically you'll want to set this to the field width; if it's
-greater than the field width, the validation check will always fail.  A
-minimum width of zero makes field completion optional.
+  <p>The <code>width</code> argument sets a minimum width of data.
+  As with TYPE_ALPHA, typically you will want to set this to the
+  field width; if it is greater than the field width, the
+  validation check will always fail. A minimum width of zero makes
+  field completion optional.</p>
 
-<H3><A NAME="ftype_enum">TYPE_ENUM</A></H3>
+  <h3><a name="ftype_enum" id="ftype_enum">TYPE_ENUM</a></h3>
 
-This type allows you to restrict a field's values to be among a specified
-set of string values (for example, the two-letter postal codes for U.S.
-states).  It is set up with:
-
-<PRE>
+  <p>This type allows you to restrict a field's values to be among
+  a specified set of string values (for example, the two-letter
+  postal codes for U.S. states). It is set up with:</p>
+  <pre>
 int set_field_type(FIELD *field,          /* field to alter */
                    TYPE_ENUM,             /* type to associate */
                    char **valuelist;      /* list of possible values */
                    int checkcase;         /* case-sensitive? */
                    int checkunique);      /* must specify uniquely? */
-</PRE>
-
-The <CODE>valuelist</CODE> parameter must point at a NULL-terminated list of
-valid strings.  The <CODE>checkcase</CODE> argument, if true, makes comparison
-with the string case-sensitive. <P>
-
-When the user exits a TYPE_ENUM field, the validation procedure tries to
-complete the data in the buffer to a valid entry.  If a complete choice string
-has been entered, it is of course valid.  But it is also possible to enter a
-prefix of a valid string and have it completed for you. <P>
-
-By default, if you enter such a prefix and it matches more than one value
-in the string list, the prefix will be completed to the first matching
-value.  But the <CODE>checkunique</CODE> argument, if true, requires prefix
-matches to be unique in order to be valid. <P>
-
-The <CODE>REQ_NEXT_CHOICE</CODE> and <CODE>REQ_PREV_CHOICE</CODE> input requests
-can be particularly useful with these fields.
-
-<H3><A NAME="ftype_integer">TYPE_INTEGER</A></H3>
-
-This field type accepts an integer.  It is set up as follows:
-
-<PRE>
+</pre>
+
+  <p>The <code>valuelist</code> parameter must point at a
+  NULL-terminated list of valid strings. The <code>checkcase</code>
+  argument, if true, makes comparison with the string
+  case-sensitive.</p>
+
+  <p>When the user exits a TYPE_ENUM field, the validation
+  procedure tries to complete the data in the buffer to a valid
+  entry. If a complete choice string has been entered, it is of
+  course valid. But it is also possible to enter a prefix of a
+  valid string and have it completed for you.</p>
+
+  <p>By default, if you enter such a prefix and it matches more
+  than one value in the string list, the prefix will be completed
+  to the first matching value. But the <code>checkunique</code>
+  argument, if true, requires prefix matches to be unique in order
+  to be valid.</p>
+
+  <p>The <code>REQ_NEXT_CHOICE</code> and
+  <code>REQ_PREV_CHOICE</code> input requests can be particularly
+  useful with these fields.</p>
+
+  <h3><a name="ftype_integer" id=
+  "ftype_integer">TYPE_INTEGER</a></h3>
+
+  <p>This field type accepts an integer. It is set up as
+  follows:</p>
+  <pre>
 int set_field_type(FIELD *field,          /* field to alter */
                    TYPE_INTEGER,          /* type to associate */
                    int padding,           /* # places to zero-pad to */
                    int vmin, int vmax);   /* valid range */
-</PRE>
-
-Valid characters consist of an optional leading minus and digits.
-The range check is performed on exit.  If the range maximum is less
-than or equal to the minimum, the range is ignored. <P>
+</pre>
 
-If the value passes its range check, it is padded with as many leading
-zero digits as necessary to meet the padding argument. <P>
+  <p>Valid characters consist of an optional leading minus and
+  digits. The range check is performed on exit. If the range
+  maximum is less than or equal to the minimum, the range is
+  ignored.</p>
 
-A <CODE>TYPE_INTEGER</CODE> value buffer can conveniently be interpreted
-with the C library function <CODE>atoi(3)</CODE>.
+  <p>If the value passes its range check, it is padded with as many
+  leading zero digits as necessary to meet the padding
+  argument.</p>
 
-<H3><A NAME="ftype_numeric">TYPE_NUMERIC</A></H3>
+  <p>A <code>TYPE_INTEGER</code> value buffer can conveniently be
+  interpreted with the C library function <code>atoi(3)</code>.</p>
 
-This field type accepts a decimal number.  It is set up as follows:
+  <h3><a name="ftype_numeric" id=
+  "ftype_numeric">TYPE_NUMERIC</a></h3>
 
-<PRE>
+  <p>This field type accepts a decimal number. It is set up as
+  follows:</p>
+  <pre>
 int set_field_type(FIELD *field,              /* field to alter */
                    TYPE_NUMERIC,              /* type to associate */
                    int padding,               /* # places of precision */
                    double vmin, double vmax); /* valid range */
-</PRE>
+</pre>
 
-Valid characters consist of an optional leading minus and digits. possibly
-including a decimal point. If your system supports locale's, the decimal point
-character used must be the one defined by your locale. The range check is
-performed on exit. If the range maximum is less than or equal to the minimum,
-the range is ignored. <P>
+  <p>Valid characters consist of an optional leading minus and
+  digits. possibly including a decimal point. If your system
+  supports locale's, the decimal point character used must be the
+  one defined by your locale. The range check is performed on exit.
+  If the range maximum is less than or equal to the minimum, the
+  range is ignored.</p>
 
-If the value passes its range check, it is padded with as many trailing
-zero digits as necessary to meet the padding argument. <P>
+  <p>If the value passes its range check, it is padded with as many
+  trailing zero digits as necessary to meet the padding
+  argument.</p>
 
-A <CODE>TYPE_NUMERIC</CODE> value buffer can conveniently be interpreted
-with the C library function <CODE>atof(3)</CODE>.
+  <p>A <code>TYPE_NUMERIC</code> value buffer can conveniently be
+  interpreted with the C library function <code>atof(3)</code>.</p>
 
-<H3><A NAME="ftype_regexp">TYPE_REGEXP</A></H3>
+  <h3><a name="ftype_regexp" id="ftype_regexp">TYPE_REGEXP</a></h3>
 
-This field type accepts data matching a regular expression.  It is set up
-as follows:
-
-<PRE>
+  <p>This field type accepts data matching a regular expression. It
+  is set up as follows:</p>
+  <pre>
 int set_field_type(FIELD *field,          /* field to alter */
                    TYPE_REGEXP,           /* type to associate */
                    char *regexp);         /* expression to match */
-</PRE>
-
-The syntax for regular expressions is that of <CODE>regcomp(3)</CODE>.
-The check for regular-expression match is performed on exit.
+</pre>
 
-<H2><A NAME="fbuffer">Direct Field Buffer Manipulation</A></H2>
+  <p>The syntax for regular expressions is that of
+  <code>regcomp(3)</code>. The check for regular-expression match
+  is performed on exit.</p>
 
-The chief attribute of a field is its buffer contents.  When a form has
-been completed, your application usually needs to know the state of each
-field buffer.  You can find this out with:
+  <h2><a name="fbuffer" id="fbuffer">Direct Field Buffer
+  Manipulation</a></h2>
 
-<PRE>
+  <p>The chief attribute of a field is its buffer contents. When a
+  form has been completed, your application usually needs to know
+  the state of each field buffer. You can find this out with:</p>
+  <pre>
 char *field_buffer(FIELD *field,          /* field to query */
                    int bufindex);         /* number of buffer to query */
-</PRE>
-
-Normally, the state of the zero-numbered buffer for each field is set by
-the user's editing actions on that field.  It's sometimes useful to be able
-to set the value of the zero-numbered (or some other) buffer from your
-application:
+</pre>
 
-<PRE>
+  <p>Normally, the state of the zero-numbered buffer for each field
+  is set by the user's editing actions on that field. It is
+  sometimes useful to be able to set the value of the zero-numbered
+  (or some other) buffer from your application:</p>
+  <pre>
 int set_field_buffer(FIELD *field,        /* field to alter */
                    int bufindex,          /* number of buffer to alter */
                    char *value);          /* string value to set */
-</PRE>
-
-If the field is not large enough and cannot be resized to a sufficiently
-large size to contain the specified value, the value will be truncated
-to fit. <P>
-
-Calling <CODE>field_buffer()</CODE> with a null field pointer will raise an
-error.  Calling <CODE>field_buffer()</CODE> on a field not currently selected
-for input will return a correct value.  Calling <CODE>field_buffer()</CODE> on a
-field that is currently selected for input may not necessarily give a
-correct field buffer value, because entered data isn't necessarily copied to
-buffer zero before the exit validation check.
-
-To guarantee that the returned buffer value reflects on-screen reality,
-call <CODE>field_buffer()</CODE> either (1) in the field's exit validation
-check routine, (2) from the field's or form's initialization or termination
-hooks, or (3) just after a <CODE>REQ_VALIDATION</CODE> request has been processed
-by the forms driver.
-
-<H2><A NAME="formattrs">Attributes of Forms</A></H2>
-
-As with field attributes, form attributes inherit a default from a
-system default form structure.  These defaults can be queried or set by
-of these functions using a form-pointer argument of <CODE>NULL</CODE>. <P>
-
-The principal attribute of a form is its field list.  You can query
-and change this list with:
-
-<PRE>
+</pre>
+
+  <p>If the field is not large enough and cannot be resized to a
+  sufficiently large size to contain the specified value, the value
+  will be truncated to fit.</p>
+
+  <p>Calling <code>field_buffer()</code> with a null field pointer
+  will raise an error. Calling <code>field_buffer()</code> on a
+  field not currently selected for input will return a correct
+  value. Calling <code>field_buffer()</code> on a field that is
+  currently selected for input may not necessarily give a correct
+  field buffer value, because entered data is not necessarily
+  copied to buffer zero before the exit validation check. To
+  guarantee that the returned buffer value reflects on-screen
+  reality, call <code>field_buffer()</code> either (1) in the
+  field's exit validation check routine, (2) from the field's or
+  form's initialization or termination hooks, or (3) just after a
+  <code>REQ_VALIDATION</code> request has been processed by the
+  forms driver.</p>
+
+  <h2><a name="formattrs" id="formattrs">Attributes of
+  Forms</a></h2>
+
+  <p>As with field attributes, form attributes inherit a default
+  from a system default form structure. These defaults can be
+  queried or set by of these functions using a form-pointer
+  argument of <code>NULL</code>.</p>
+
+  <p>The principal attribute of a form is its field list. You can
+  query and change this list with:</p>
+  <pre>
 int set_form_fields(FORM *form,           /* form to alter */
                     FIELD **fields);      /* fields to connect */
 
 char *form_fields(FORM *form);            /* fetch fields of form */
 
 int field_count(FORM *form);              /* count connect fields */
-</PRE>
-
-The second argument of <CODE>set_form_fields()</CODE> may be a
-NULL-terminated field pointer array like the one required by
-<CODE>new_form()</CODE>. In that case, the old fields of the form are
-disconnected but not freed (and eligible to be connected to other
-forms), then the new fields are connected. <P>
-
-It may also be null, in which case the old fields are disconnected
-(and not freed) but no new ones are connected. <P>
-
-The <CODE>field_count()</CODE> function simply counts the number of fields
-connected to a given from.  It returns -1 if the form-pointer argument
-is NULL.
-
-<H2><A NAME="fdisplay">Control of Form Display</A></H2>
-
-In the overview section, you saw that to display a form you normally
-start by defining its size (and fields), posting it, and refreshing
-the screen.  There is an hidden step before posting, which is the
-association of the form with a frame window (actually, a pair of
-windows) within which it will be displayed.  By default, the forms
-library associates every form with the full-screen window
-<CODE>stdscr</CODE>. <P>
-
-By making this step explicit, you can associate a form with a declared
-frame window on your screen display.  This can be useful if you want to
-adapt the form display to different screen sizes, dynamically tile
-forms on the screen, or use a form as part of an interface layout
-managed by <A HREF="#panels">panels</A>. <P>
-
-The two windows associated with each form have the same functions as
-their analogues in the <A HREF="#menu">menu library</A>.  Both these
-windows are painted when the form is posted and erased when the form
-is unposted. <P>
-
-The outer or frame window is not otherwise touched by the form
-routines.  It exists so the programmer can associate a title, a
-border, or perhaps help text with the form and have it properly
-refreshed or erased at post/unpost time. The inner window or subwindow
-is where the current form page is actually displayed. <P>
-
-In order to declare your own frame window for a form, you'll need to
-know the size of the form's bounding rectangle.  You can get this
-information with:
-
-<PRE>
+</pre>
+
+  <p>The second argument of <code>set_form_fields()</code> may be a
+  NULL-terminated field pointer array like the one required by
+  <code>new_form()</code>. In that case, the old fields of the form
+  are disconnected but not freed (and eligible to be connected to
+  other forms), then the new fields are connected.</p>
+
+  <p>It may also be null, in which case the old fields are
+  disconnected (and not freed) but no new ones are connected.</p>
+
+  <p>The <code>field_count()</code> function simply counts the
+  number of fields connected to a given from. It returns -1 if the
+  form-pointer argument is NULL.</p>
+
+  <h2><a name="fdisplay" id="fdisplay">Control of Form
+  Display</a></h2>
+
+  <p>In the overview section, you saw that to display a form you
+  normally start by defining its size (and fields), posting it, and
+  refreshing the screen. There is an hidden step before posting,
+  which is the association of the form with a frame window
+  (actually, a pair of windows) within which it will be displayed.
+  By default, the forms library associates every form with the
+  full-screen window <code>stdscr</code>.</p>
+
+  <p>By making this step explicit, you can associate a form with a
+  declared frame window on your screen display. This can be useful
+  if you want to adapt the form display to different screen sizes,
+  dynamically tile forms on the screen, or use a form as part of an
+  interface layout managed by <a href="#panels">panels</a>.</p>
+
+  <p>The two windows associated with each form have the same
+  functions as their analogues in the <a href="#menu">menu
+  library</a>. Both these windows are painted when the form is
+  posted and erased when the form is unposted.</p>
+
+  <p>The outer or frame window is not otherwise touched by the form
+  routines. It exists so the programmer can associate a title, a
+  border, or perhaps help text with the form and have it properly
+  refreshed or erased at post/unpost time. The inner window or
+  subwindow is where the current form page is actually
+  displayed.</p>
+
+  <p>In order to declare your own frame window for a form, you will
+  need to know the size of the form's bounding rectangle. You can
+  get this information with:</p>
+  <pre>
 int scale_form(FORM *form,                /* form to query */
                int *rows,                 /* form rows */
                int *cols);                /* form cols */
-</PRE>
-
-The form dimensions are passed back in the locations pointed to by
-the arguments.  Once you have this information, you can use it to
-declare of windows, then use one of these functions:
+</pre>
 
-<PRE>
+  <p>The form dimensions are passed back in the locations pointed
+  to by the arguments. Once you have this information, you can use
+  it to declare of windows, then use one of these functions:</p>
+  <pre>
 int set_form_win(FORM *form,              /* form to alter */
                  WINDOW *win);            /* frame window to connect */
 
@@ -2121,319 +2565,448 @@ int set_form_sub(FORM *form,              /* form to alter */
                  WINDOW *win);            /* form subwindow to connect */
 
 WINDOW *form_sub(FORM *form);             /* fetch form subwindow of form */
-</PRE>
+</pre>
 
-Note that curses operations, including <CODE>refresh()</CODE>, on the form,
-should be done on the frame window, not the form subwindow. <P>
+  <p>Note that curses operations, including <code>refresh()</code>,
+  on the form, should be done on the frame window, not the form
+  subwindow.</p>
 
-It is possible to check from your application whether all of a
-scrollable field is actually displayed within the menu subwindow.  Use
-these functions:
-
-<PRE>
+  <p>It is possible to check from your application whether all of a
+  scrollable field is actually displayed within the menu subwindow.
+  Use these functions:</p>
+  <pre>
 int data_ahead(FORM *form);               /* form to be queried */
 
 int data_behind(FORM *form);              /* form to be queried */
-</PRE>
-
-The function <CODE>data_ahead()</CODE> returns TRUE if (a) the current
-field is one-line and has undisplayed data off to the right, (b) the current
-field is multi-line and there is data off-screen below it. <P>
+</pre>
 
-The function <CODE>data_behind()</CODE> returns TRUE if the first (upper
-left hand) character position is off-screen (not being displayed). <P>
+  <p>The function <code>data_ahead()</code> returns TRUE if (a) the
+  current field is one-line and has undisplayed data off to the
+  right, (b) the current field is multi-line and there is data
+  off-screen below it.</p>
 
-Finally, there is a function to restore the form window's cursor to the
-value expected by the forms driver:
+  <p>The function <code>data_behind()</code> returns TRUE if the
+  first (upper left hand) character position is off-screen (not
+  being displayed).</p>
 
-<PRE>
+  <p>Finally, there is a function to restore the form window's
+  cursor to the value expected by the forms driver:</p>
+  <pre>
 int pos_form_cursor(FORM *)               /* form to be queried */
-</PRE>
-
-If your application changes the form window cursor, call this function before
-handing control back to the forms driver in order to re-synchronize it.
+</pre>
 
-<H2><A NAME="fdriver">Input Processing in the Forms Driver</A></H2>
+  <p>If your application changes the form window cursor, call this
+  function before handing control back to the forms driver in order
+  to re-synchronize it.</p>
 
-The function <CODE>form_driver()</CODE> handles virtualized input requests
-for form navigation, editing, and validation requests, just as
-<CODE>menu_driver</CODE> does for menus (see the section on <A
-HREF="#minput">menu input handling</A>).
+  <h2><a name="fdriver" id="fdriver">Input Processing in the Forms
+  Driver</a></h2>
 
-<PRE>
+  <p>The function <code>form_driver()</code> handles virtualized
+  input requests for form navigation, editing, and validation
+  requests, just as <code>menu_driver</code> does for menus (see
+  the section on <a href="#minput">menu input handling</a>).</p>
+  <pre>
 int form_driver(FORM *form,               /* form to pass input to */
                 int request);             /* form request code */
-</PRE>
-
-Your input virtualization function needs to take input and then convert it
-to either an alphanumeric character (which is treated as data to be
-entered in the currently-selected field), or a forms processing request. <P>
-
-The forms driver provides hooks (through input-validation and
-field-termination functions) with which your application code can check
-that the input taken by the driver matched what was expected.
-
-<H3><A NAME="fpage">Page Navigation Requests</A></H3>
-
-These requests cause page-level moves through the form,
-triggering display of a new form screen.
-
-<DL>
-<DT> <CODE>REQ_NEXT_PAGE</CODE>
-<DD> Move to the next form page.
-<DT> <CODE>REQ_PREV_PAGE</CODE>
-<DD> Move to the previous form page.
-<DT> <CODE>REQ_FIRST_PAGE</CODE>
-<DD> Move to the first form page.
-<DT> <CODE>REQ_LAST_PAGE</CODE>
-<DD> Move to the last form page.
-</DL>
-
-These requests treat the list as cyclic; that is, <CODE>REQ_NEXT_PAGE</CODE>
-from the last page goes to the first, and <CODE>REQ_PREV_PAGE</CODE> from
-the first page goes to the last.
-
-<H3><A NAME="ffield">Inter-Field Navigation Requests</A></H3>
-
-These requests handle navigation between fields on the same page.
-
-<DL>
-<DT> <CODE>REQ_NEXT_FIELD</CODE>
-<DD> Move to next field.
-<DT> <CODE>REQ_PREV_FIELD</CODE>
-<DD> Move to previous field.
-<DT> <CODE>REQ_FIRST_FIELD</CODE>
-<DD> Move to the first field.
-<DT> <CODE>REQ_LAST_FIELD</CODE>
-<DD> Move to the last field.
-<DT> <CODE>REQ_SNEXT_FIELD</CODE>
-<DD> Move to sorted next field.
-<DT> <CODE>REQ_SPREV_FIELD</CODE>
-<DD> Move to sorted previous field.
-<DT> <CODE>REQ_SFIRST_FIELD</CODE>
-<DD> Move to the sorted first field.
-<DT> <CODE>REQ_SLAST_FIELD</CODE>
-<DD> Move to the sorted last field.
-<DT> <CODE>REQ_LEFT_FIELD</CODE>
-<DD> Move left to field.
-<DT> <CODE>REQ_RIGHT_FIELD</CODE>
-<DD> Move right to field.
-<DT> <CODE>REQ_UP_FIELD</CODE>
-<DD> Move up to field.
-<DT> <CODE>REQ_DOWN_FIELD</CODE>
-<DD> Move down to field.
-</DL>
-
-These requests treat the list of fields on a page as cyclic; that is,
-<CODE>REQ_NEXT_FIELD</CODE> from the last field goes to the first, and
-<CODE>REQ_PREV_FIELD</CODE> from the first field goes to the last. The
-order of the fields for these (and the <CODE>REQ_FIRST_FIELD</CODE> and
-<CODE>REQ_LAST_FIELD</CODE> requests) is simply the order of the field
-pointers in the form array (as set up by <CODE>new_form()</CODE> or
-<CODE>set_form_fields()</CODE> <P>
-
-It is also possible to traverse the fields as if they had been sorted in
-screen-position order, so the sequence goes left-to-right and top-to-bottom.
-To do this, use the second group of four sorted-movement requests.  <P>
-
-Finally, it is possible to move between fields using visual directions up,
-down, right, and left.  To accomplish this, use the third group of four
-requests.  Note, however, that the position of a form for purposes of these
-requests is its upper-left corner. <P>
-
-For example, suppose you have a multi-line field B, and two
-single-line fields A and C on the same line with B, with A to the left
-of B and C to the right of B.  A <CODE>REQ_MOVE_RIGHT</CODE> from A will
-go to B only if A, B, and C <EM>all</EM> share the same first line;
-otherwise it will skip over B to C.
-
-<H3><A NAME="fifield">Intra-Field Navigation Requests</A></H3>
-
-These requests drive movement of the edit cursor within the currently
-selected field.
-
-<DL>
-<DT> <CODE>REQ_NEXT_CHAR</CODE>
-<DD> Move to next character.
-<DT> <CODE>REQ_PREV_CHAR</CODE>
-<DD> Move to previous character.
-<DT> <CODE>REQ_NEXT_LINE</CODE>
-<DD> Move to next line.
-<DT> <CODE>REQ_PREV_LINE</CODE>
-<DD> Move to previous line.
-<DT> <CODE>REQ_NEXT_WORD</CODE>
-<DD> Move to next word.
-<DT> <CODE>REQ_PREV_WORD</CODE>
-<DD> Move to previous word.
-<DT> <CODE>REQ_BEG_FIELD</CODE>
-<DD> Move to beginning of field.
-<DT> <CODE>REQ_END_FIELD</CODE>
-<DD> Move to end of field.
-<DT> <CODE>REQ_BEG_LINE</CODE>
-<DD> Move to beginning of line.
-<DT> <CODE>REQ_END_LINE</CODE>
-<DD> Move to end of line.
-<DT> <CODE>REQ_LEFT_CHAR</CODE>
-<DD> Move left in field.
-<DT> <CODE>REQ_RIGHT_CHAR</CODE>
-<DD> Move right in field.
-<DT> <CODE>REQ_UP_CHAR</CODE>
-<DD> Move up in field.
-<DT> <CODE>REQ_DOWN_CHAR</CODE>
-<DD> Move down in field.
-</DL>
-
-Each <EM>word</EM> is separated from the previous and next characters
-by whitespace.  The commands to move to beginning and end of line or field
-look for the first or last non-pad character in their ranges.
-
-<H3><A NAME="fscroll">Scrolling Requests</A></H3>
-
-Fields that are dynamic and have grown and fields explicitly created
-with offscreen rows are scrollable.  One-line fields scroll horizontally;
-multi-line fields scroll vertically.  Most scrolling is triggered by
-editing and intra-field movement (the library scrolls the field to keep the
-cursor visible).  It is possible to explicitly request scrolling with the
-following requests:
-
-<DL>
-<DT> <CODE>REQ_SCR_FLINE</CODE>
-<DD> Scroll vertically forward a line.
-<DT> <CODE>REQ_SCR_BLINE</CODE>
-<DD> Scroll vertically backward a line.
-<DT> <CODE>REQ_SCR_FPAGE</CODE>
-<DD> Scroll vertically forward a page.
-<DT> <CODE>REQ_SCR_BPAGE</CODE>
-<DD> Scroll vertically backward a page.
-<DT> <CODE>REQ_SCR_FHPAGE</CODE>
-<DD> Scroll vertically forward half a page.
-<DT> <CODE>REQ_SCR_BHPAGE</CODE>
-<DD> Scroll vertically backward half a page.
-<DT> <CODE>REQ_SCR_FCHAR</CODE>
-<DD> Scroll horizontally forward a character.
-<DT> <CODE>REQ_SCR_BCHAR</CODE>
-<DD> Scroll horizontally backward a character.
-<DT> <CODE>REQ_SCR_HFLINE</CODE>
-<DD> Scroll horizontally one field width forward.
-<DT> <CODE>REQ_SCR_HBLINE</CODE>
-<DD> Scroll horizontally one field width backward.
-<DT> <CODE>REQ_SCR_HFHALF</CODE>
-<DD> Scroll horizontally one half field width forward.
-<DT> <CODE>REQ_SCR_HBHALF</CODE>
-<DD> Scroll horizontally one half field width backward.
-</DL>
-
-For scrolling purposes, a <EM>page</EM> of a field is the height
-of its visible part.
-
-<H3><A NAME="fedit">Editing Requests</A></H3>
-
-When you pass the forms driver an ASCII character, it is treated as a
-request to add the character to the field's data buffer.  Whether this
-is an insertion or a replacement depends on the field's edit mode
-(insertion is the default. <P>
-
-The following requests support editing the field and changing the edit
-mode:
-
-<DL>
-<DT> <CODE>REQ_INS_MODE</CODE>
-<DD> Set insertion mode.
-<DT> <CODE>REQ_OVL_MODE</CODE>
-<DD> Set overlay mode.
-<DT> <CODE>REQ_NEW_LINE</CODE>
-<DD> New line request (see below for explanation).
-<DT> <CODE>REQ_INS_CHAR</CODE>
-<DD> Insert space at character location.
-<DT> <CODE>REQ_INS_LINE</CODE>
-<DD> Insert blank line at character location.
-<DT> <CODE>REQ_DEL_CHAR</CODE>
-<DD> Delete character at cursor.
-<DT> <CODE>REQ_DEL_PREV</CODE>
-<DD> Delete previous word at cursor.
-<DT> <CODE>REQ_DEL_LINE</CODE>
-<DD> Delete line at cursor.
-<DT> <CODE>REQ_DEL_WORD</CODE>
-<DD> Delete word at cursor.
-<DT> <CODE>REQ_CLR_EOL</CODE>
-<DD> Clear to end of line.
-<DT> <CODE>REQ_CLR_EOF</CODE>
-<DD> Clear to end of field.
-<DT> <CODE>REQ_CLEAR_FIELD</CODE>
-<DD> Clear entire field.
-</DL>
-
-The behavior of the <CODE>REQ_NEW_LINE</CODE> and <CODE>REQ_DEL_PREV</CODE> requests
-is complicated and partly controlled by a pair of forms options.
-The special cases are triggered when the cursor is at the beginning of
-a field, or on the last line of the field. <P>
-
-First, we consider <CODE>REQ_NEW_LINE</CODE>: <P>
-
-The normal behavior of <CODE>REQ_NEW_LINE</CODE> in insert mode is to break the
-current line at the position of the edit cursor, inserting the portion of
-the current line after the cursor as a new line following the current
-and moving the cursor to the beginning of that new line (you may think
-of this as inserting a newline in the field buffer). <P>
-
-The normal behavior of <CODE>REQ_NEW_LINE</CODE> in overlay mode is to clear the
-current line from the position of the edit cursor to end of line.
-The cursor is then moved to the beginning of the next line. <P>
-
-However, <CODE>REQ_NEW_LINE</CODE> at the beginning of a field, or on the
-last line of a field, instead does a <CODE>REQ_NEXT_FIELD</CODE>.
-<CODE>O_NL_OVERLOAD</CODE> option is off, this special action is
-disabled. <P>
-
-Now, let us consider <CODE>REQ_DEL_PREV</CODE>: <P>
-
-The normal behavior of <CODE>REQ_DEL_PREV</CODE> is to delete the previous
-character.  If insert mode is on, and the cursor is at the start of a
-line, and the text on that line will fit on the previous one, it
-instead appends the contents of the current line to the previous one
-and deletes the current line (you may think of this as deleting a
-newline from the field buffer). <P>
-
-However, <CODE>REQ_DEL_PREV</CODE> at the beginning of a field is instead
-treated as a <CODE>REQ_PREV_FIELD</CODE>. <P> If the
-<CODE>O_BS_OVERLOAD</CODE> option is off, this special action is
-disabled and the forms driver just returns <CODE>E_REQUEST_DENIED</CODE>. <P>
-
-See <A HREF="#frmoptions">Form Options</A> for discussion of how to set
-and clear the overload options.
-
-<H3><A NAME="forder">Order Requests</A></H3>
-
-If the type of your field is ordered, and has associated functions
-for getting the next and previous values of the type from a given value,
-there are requests that can fetch that value into the field buffer:
-
-<DL>
-<DT> <CODE>REQ_NEXT_CHOICE</CODE>
-<DD> Place the successor value of the current value in the buffer.
-<DT> <CODE>REQ_PREV_CHOICE</CODE>
-<DD> Place the predecessor value of the current value in the buffer.
-</DL>
-
-Of the built-in field types, only <CODE>TYPE_ENUM</CODE> has built-in successor
-and predecessor functions.  When you define a field type of your own
-(see <A HREF="#fcustom">Custom Validation Types</A>), you can associate
-our own ordering functions.
-
-<H3><A NAME="fappcmds">Application Commands</A></H3>
-
-Form requests are represented as integers above the <CODE>curses</CODE> value
-greater than <CODE>KEY_MAX</CODE> and less than or equal to the constant
-<CODE>MAX_COMMAND</CODE>.  If your input-virtualization routine returns a
-value above <CODE>MAX_COMMAND</CODE>, the forms driver will ignore it.
-
-<H2><A NAME="fhooks">Field Change Hooks</A></H2>
-
-It is possible to set function hooks to be executed whenever the
-current field or form changes.  Here are the functions that support this:
-
-<PRE>
-typedef void   (*HOOK)();       /* pointer to function returning void */
+</pre>
+
+  <p>Your input virtualization function needs to take input and
+  then convert it to either an alphanumeric character (which is
+  treated as data to be entered in the currently-selected field),
+  or a forms processing request.</p>
+
+  <p>The forms driver provides hooks (through input-validation and
+  field-termination functions) with which your application code can
+  check that the input taken by the driver matched what was
+  expected.</p>
+
+  <h3><a name="fpage" id="fpage">Page Navigation Requests</a></h3>
+
+  <p>These requests cause page-level moves through the form,
+  triggering display of a new form screen.</p>
+
+  <dl>
+    <dt><code>REQ_NEXT_PAGE</code></dt>
+
+    <dd>Move to the next form page.</dd>
+
+    <dt><code>REQ_PREV_PAGE</code></dt>
+
+    <dd>Move to the previous form page.</dd>
+
+    <dt><code>REQ_FIRST_PAGE</code></dt>
+
+    <dd>Move to the first form page.</dd>
+
+    <dt><code>REQ_LAST_PAGE</code></dt>
+
+    <dd>Move to the last form page.</dd>
+  </dl>
+
+  <p>These requests treat the list as cyclic; that is,
+  <code>REQ_NEXT_PAGE</code> from the last page goes to the first,
+  and <code>REQ_PREV_PAGE</code> from the first page goes to the
+  last.</p>
+
+  <h3><a name="ffield" id="ffield">Inter-Field Navigation
+  Requests</a></h3>
+
+  <p>These requests handle navigation between fields on the same
+  page.</p>
+
+  <dl>
+    <dt><code>REQ_NEXT_FIELD</code></dt>
+
+    <dd>Move to next field.</dd>
+
+    <dt><code>REQ_PREV_FIELD</code></dt>
+
+    <dd>Move to previous field.</dd>
+
+    <dt><code>REQ_FIRST_FIELD</code></dt>
+
+    <dd>Move to the first field.</dd>
+
+    <dt><code>REQ_LAST_FIELD</code></dt>
+
+    <dd>Move to the last field.</dd>
+
+    <dt><code>REQ_SNEXT_FIELD</code></dt>
+
+    <dd>Move to sorted next field.</dd>
+
+    <dt><code>REQ_SPREV_FIELD</code></dt>
+
+    <dd>Move to sorted previous field.</dd>
+
+    <dt><code>REQ_SFIRST_FIELD</code></dt>
+
+    <dd>Move to the sorted first field.</dd>
+
+    <dt><code>REQ_SLAST_FIELD</code></dt>
+
+    <dd>Move to the sorted last field.</dd>
+
+    <dt><code>REQ_LEFT_FIELD</code></dt>
+
+    <dd>Move left to field.</dd>
+
+    <dt><code>REQ_RIGHT_FIELD</code></dt>
+
+    <dd>Move right to field.</dd>
+
+    <dt><code>REQ_UP_FIELD</code></dt>
+
+    <dd>Move up to field.</dd>
+
+    <dt><code>REQ_DOWN_FIELD</code></dt>
+
+    <dd>Move down to field.</dd>
+  </dl>
+
+  <p>These requests treat the list of fields on a page as cyclic;
+  that is, <code>REQ_NEXT_FIELD</code> from the last field goes to
+  the first, and <code>REQ_PREV_FIELD</code> from the first field
+  goes to the last. The order of the fields for these (and the
+  <code>REQ_FIRST_FIELD</code> and <code>REQ_LAST_FIELD</code>
+  requests) is simply the order of the field pointers in the form
+  array (as set up by <code>new_form()</code> or
+  <code>set_form_fields()</code></p>
+
+  <p>It is also possible to traverse the fields as if they had been
+  sorted in screen-position order, so the sequence goes
+  left-to-right and top-to-bottom. To do this, use the second group
+  of four sorted-movement requests.</p>
+
+  <p>Finally, it is possible to move between fields using visual
+  directions up, down, right, and left. To accomplish this, use the
+  third group of four requests. Note, however, that the position of
+  a form for purposes of these requests is its upper-left
+  corner.</p>
+
+  <p>For example, suppose you have a multi-line field B, and two
+  single-line fields A and C on the same line with B, with A to the
+  left of B and C to the right of B. A <code>REQ_MOVE_RIGHT</code>
+  from A will go to B only if A, B, and C <em>all</em> share the
+  same first line; otherwise it will skip over B to C.</p>
+
+  <h3><a name="fifield" id="fifield">Intra-Field Navigation
+  Requests</a></h3>
+
+  <p>These requests drive movement of the edit cursor within the
+  currently selected field.</p>
+
+  <dl>
+    <dt><code>REQ_NEXT_CHAR</code></dt>
+
+    <dd>Move to next character.</dd>
+
+    <dt><code>REQ_PREV_CHAR</code></dt>
+
+    <dd>Move to previous character.</dd>
+
+    <dt><code>REQ_NEXT_LINE</code></dt>
+
+    <dd>Move to next line.</dd>
+
+    <dt><code>REQ_PREV_LINE</code></dt>
+
+    <dd>Move to previous line.</dd>
+
+    <dt><code>REQ_NEXT_WORD</code></dt>
+
+    <dd>Move to next word.</dd>
+
+    <dt><code>REQ_PREV_WORD</code></dt>
+
+    <dd>Move to previous word.</dd>
+
+    <dt><code>REQ_BEG_FIELD</code></dt>
+
+    <dd>Move to beginning of field.</dd>
+
+    <dt><code>REQ_END_FIELD</code></dt>
+
+    <dd>Move to end of field.</dd>
+
+    <dt><code>REQ_BEG_LINE</code></dt>
+
+    <dd>Move to beginning of line.</dd>
+
+    <dt><code>REQ_END_LINE</code></dt>
+
+    <dd>Move to end of line.</dd>
+
+    <dt><code>REQ_LEFT_CHAR</code></dt>
+
+    <dd>Move left in field.</dd>
+
+    <dt><code>REQ_RIGHT_CHAR</code></dt>
+
+    <dd>Move right in field.</dd>
+
+    <dt><code>REQ_UP_CHAR</code></dt>
+
+    <dd>Move up in field.</dd>
+
+    <dt><code>REQ_DOWN_CHAR</code></dt>
+
+    <dd>Move down in field.</dd>
+  </dl>
+
+  <p>Each <em>word</em> is separated from the previous and next
+  characters by whitespace. The commands to move to beginning and
+  end of line or field look for the first or last non-pad character
+  in their ranges.</p>
+
+  <h3><a name="fscroll" id="fscroll">Scrolling Requests</a></h3>
+
+  <p>Fields that are dynamic and have grown and fields explicitly
+  created with offscreen rows are scrollable. One-line fields
+  scroll horizontally; multi-line fields scroll vertically. Most
+  scrolling is triggered by editing and intra-field movement (the
+  library scrolls the field to keep the cursor visible). It is
+  possible to explicitly request scrolling with the following
+  requests:</p>
+
+  <dl>
+    <dt><code>REQ_SCR_FLINE</code></dt>
+
+    <dd>Scroll vertically forward a line.</dd>
+
+    <dt><code>REQ_SCR_BLINE</code></dt>
+
+    <dd>Scroll vertically backward a line.</dd>
+
+    <dt><code>REQ_SCR_FPAGE</code></dt>
+
+    <dd>Scroll vertically forward a page.</dd>
+
+    <dt><code>REQ_SCR_BPAGE</code></dt>
+
+    <dd>Scroll vertically backward a page.</dd>
+
+    <dt><code>REQ_SCR_FHPAGE</code></dt>
+
+    <dd>Scroll vertically forward half a page.</dd>
+
+    <dt><code>REQ_SCR_BHPAGE</code></dt>
+
+    <dd>Scroll vertically backward half a page.</dd>
+
+    <dt><code>REQ_SCR_FCHAR</code></dt>
+
+    <dd>Scroll horizontally forward a character.</dd>
+
+    <dt><code>REQ_SCR_BCHAR</code></dt>
+
+    <dd>Scroll horizontally backward a character.</dd>
+
+    <dt><code>REQ_SCR_HFLINE</code></dt>
+
+    <dd>Scroll horizontally one field width forward.</dd>
+
+    <dt><code>REQ_SCR_HBLINE</code></dt>
+
+    <dd>Scroll horizontally one field width backward.</dd>
+
+    <dt><code>REQ_SCR_HFHALF</code></dt>
+
+    <dd>Scroll horizontally one half field width forward.</dd>
+
+    <dt><code>REQ_SCR_HBHALF</code></dt>
+
+    <dd>Scroll horizontally one half field width backward.</dd>
+  </dl>
+
+  <p>For scrolling purposes, a <em>page</em> of a field is the
+  height of its visible part.</p>
+
+  <h3><a name="fedit" id="fedit">Editing Requests</a></h3>
+
+  <p>When you pass the forms driver an ASCII character, it is
+  treated as a request to add the character to the field's data
+  buffer. Whether this is an insertion or a replacement depends on
+  the field's edit mode (insertion is the default.</p>
+
+  <p>The following requests support editing the field and changing
+  the edit mode:</p>
+
+  <dl>
+    <dt><code>REQ_INS_MODE</code></dt>
+
+    <dd>Set insertion mode.</dd>
+
+    <dt><code>REQ_OVL_MODE</code></dt>
+
+    <dd>Set overlay mode.</dd>
+
+    <dt><code>REQ_NEW_LINE</code></dt>
+
+    <dd>New line request (see below for explanation).</dd>
+
+    <dt><code>REQ_INS_CHAR</code></dt>
+
+    <dd>Insert space at character location.</dd>
+
+    <dt><code>REQ_INS_LINE</code></dt>
+
+    <dd>Insert blank line at character location.</dd>
+
+    <dt><code>REQ_DEL_CHAR</code></dt>
+
+    <dd>Delete character at cursor.</dd>
+
+    <dt><code>REQ_DEL_PREV</code></dt>
+
+    <dd>Delete previous word at cursor.</dd>
+
+    <dt><code>REQ_DEL_LINE</code></dt>
+
+    <dd>Delete line at cursor.</dd>
+
+    <dt><code>REQ_DEL_WORD</code></dt>
+
+    <dd>Delete word at cursor.</dd>
+
+    <dt><code>REQ_CLR_EOL</code></dt>
+
+    <dd>Clear to end of line.</dd>
+
+    <dt><code>REQ_CLR_EOF</code></dt>
+
+    <dd>Clear to end of field.</dd>
+
+    <dt><code>REQ_CLEAR_FIELD</code></dt>
+
+    <dd>Clear entire field.</dd>
+  </dl>
+
+  <p>The behavior of the <code>REQ_NEW_LINE</code> and
+  <code>REQ_DEL_PREV</code> requests is complicated and partly
+  controlled by a pair of forms options. The special cases are
+  triggered when the cursor is at the beginning of a field, or on
+  the last line of the field.</p>
+
+  <p>First, we consider <code>REQ_NEW_LINE</code>:</p>
+
+  <p>The normal behavior of <code>REQ_NEW_LINE</code> in insert
+  mode is to break the current line at the position of the edit
+  cursor, inserting the portion of the current line after the
+  cursor as a new line following the current and moving the cursor
+  to the beginning of that new line (you may think of this as
+  inserting a newline in the field buffer).</p>
+
+  <p>The normal behavior of <code>REQ_NEW_LINE</code> in overlay
+  mode is to clear the current line from the position of the edit
+  cursor to end of line. The cursor is then moved to the beginning
+  of the next line.</p>
+
+  <p>However, <code>REQ_NEW_LINE</code> at the beginning of a
+  field, or on the last line of a field, instead does a
+  <code>REQ_NEXT_FIELD</code>. <code>O_NL_OVERLOAD</code> option is
+  off, this special action is disabled.</p>
+
+  <p>Now, let us consider <code>REQ_DEL_PREV</code>:</p>
+
+  <p>The normal behavior of <code>REQ_DEL_PREV</code> is to delete
+  the previous character. If insert mode is on, and the cursor is
+  at the start of a line, and the text on that line will fit on the
+  previous one, it instead appends the contents of the current line
+  to the previous one and deletes the current line (you may think
+  of this as deleting a newline from the field buffer).</p>
+
+  <p>However, <code>REQ_DEL_PREV</code> at the beginning of a field
+  is instead treated as a <code>REQ_PREV_FIELD</code>.</p>
+
+  <p>If the <code>O_BS_OVERLOAD</code> option is off, this special
+  action is disabled and the forms driver just returns
+  <code>E_REQUEST_DENIED</code>.</p>
+
+  <p>See <a href="#frmoptions">Form Options</a> for discussion of
+  how to set and clear the overload options.</p>
+
+  <h3><a name="forder" id="forder">Order Requests</a></h3>
+
+  <p>If the type of your field is ordered, and has associated
+  functions for getting the next and previous values of the type
+  from a given value, there are requests that can fetch that value
+  into the field buffer:</p>
+
+  <dl>
+    <dt><code>REQ_NEXT_CHOICE</code></dt>
+
+    <dd>Place the successor value of the current value in the
+    buffer.</dd>
+
+    <dt><code>REQ_PREV_CHOICE</code></dt>
+
+    <dd>Place the predecessor value of the current value in the
+    buffer.</dd>
+  </dl>
+
+  <p>Of the built-in field types, only <code>TYPE_ENUM</code> has
+  built-in successor and predecessor functions. When you define a
+  field type of your own (see <a href="#fcustom">Custom Validation
+  Types</a>), you can associate our own ordering functions.</p>
+
+  <h3><a name="fappcmds" id="fappcmds">Application
+  Commands</a></h3>
+
+  <p>Form requests are represented as integers above the
+  <code>curses</code> value greater than <code>KEY_MAX</code> and
+  less than or equal to the constant <code>MAX_COMMAND</code>. If
+  your input-virtualization routine returns a value above
+  <code>MAX_COMMAND</code>, the forms driver will ignore it.</p>
+
+  <h2><a name="fhooks" id="fhooks">Field Change Hooks</a></h2>
+
+  <p>It is possible to set function hooks to be executed whenever
+  the current field or form changes. Here are the functions that
+  support this:</p>
+  <pre>
+typedef void    (*HOOK)();       /* pointer to function returning void */
 
 int set_form_init(FORM *form,    /* form to alter */
                   HOOK hook);    /* initialization hook */
@@ -2454,53 +3027,66 @@ int set_field_term(FORM *form,   /* form to alter */
                   HOOK hook);    /* termination hook */
 
 HOOK field_term(FORM *form);     /* form to query */
-</PRE>
-
-These functions allow you to either set or query four different hooks.
-In each of the set functions, the second argument should be the
-address of a hook function.  These functions differ only in the timing
-of the hook call.
-
-<DL>
-<DT> form_init
-<DD> This hook is called when the form is posted; also, just after
-each page change operation.
-<DT> field_init
-<DD> This hook is called when the form is posted; also, just after
-each field change
-<DT> field_term
-<DD> This hook is called just after field validation; that is, just before
-the field is altered.  It is also called when the form is unposted.
-<DT> form_term
-<DD> This hook is called when the form is unposted; also, just before
-each page change operation.
-</DL>
-
-Calls to these hooks may be triggered
-<OL>
-<LI>When user editing requests are processed by the forms driver
-<LI>When the current page is changed by <CODE>set_current_field()</CODE> call
-<LI>When the current field is changed by a <CODE>set_form_page()</CODE> call
-</OL>
-
-See <A NAME="ffocus">Field Change Commands</A> for discussion of the latter
-two cases. <P>
-
-You can set a default hook for all fields by passing one of the set functions
-a NULL first argument. <P>
-
-You can disable any of these hooks by (re)setting them to NULL, the default
-value.
-
-<H2><A HREF="#ffocus">Field Change Commands</A></H2>
-
-Normally, navigation through the form will be driven by the user's
-input requests.  But sometimes it is useful to be able to move the
-focus for editing and viewing under control of your application, or
-ask which field it currently is in.  The following functions help you
-accomplish this:
-
-<PRE>
+</pre>
+
+  <p>These functions allow you to either set or query four
+  different hooks. In each of the set functions, the second
+  argument should be the address of a hook function. These
+  functions differ only in the timing of the hook call.</p>
+
+  <dl>
+    <dt>form_init</dt>
+
+    <dd>This hook is called when the form is posted; also, just
+    after each page change operation.</dd>
+
+    <dt>field_init</dt>
+
+    <dd>This hook is called when the form is posted; also, just
+    after each field change</dd>
+
+    <dt>field_term</dt>
+
+    <dd>This hook is called just after field validation; that is,
+    just before the field is altered. It is also called when the
+    form is unposted.</dd>
+
+    <dt>form_term</dt>
+
+    <dd>This hook is called when the form is unposted; also, just
+    before each page change operation.</dd>
+  </dl>
+
+  <p>Calls to these hooks may be triggered</p>
+
+  <ol>
+    <li>When user editing requests are processed by the forms
+    driver</li>
+
+    <li>When the current page is changed by
+    <code>set_current_field()</code> call</li>
+
+    <li>When the current field is changed by a
+    <code>set_form_page()</code> call</li>
+  </ol>
+
+  <p>See <a name="ffocus" id="ffocus">Field Change Commands</a> for
+  discussion of the latter two cases.</p>
+
+  <p>You can set a default hook for all fields by passing one of
+  the set functions a NULL first argument.</p>
+
+  <p>You can disable any of these hooks by (re)setting them to
+  NULL, the default value.</p>
+
+  <h2><a href="#ffocus">Field Change Commands</a></h2>
+
+  <p>Normally, navigation through the form will be driven by the
+  user's input requests. But sometimes it is useful to be able to
+  move the focus for editing and viewing under control of your
+  application, or ask which field it currently is in. The following
+  functions help you accomplish this:</p>
+  <pre>
 int set_current_field(FORM *form,         /* form to alter */
                       FIELD *field);      /* field to shift to */
 
@@ -2508,33 +3094,33 @@ FIELD *current_field(FORM *form);         /* form to query */
 
 int field_index(FORM *form,               /* form to query */
                 FIELD *field);            /* field to get index of */
-</PRE>
-
-The function <CODE>field_index()</CODE> returns the index of the given field
-in the given form's field array (the array passed to <CODE>new_form()</CODE> or
-<CODE>set_form_fields()</CODE>). <P>
+</pre>
 
-The initial current field of a form is the first active field on the
-first page. The function <CODE>set_form_fields()</CODE> resets this.<P>
+  <p>The function <code>field_index()</code> returns the index of
+  the given field in the given form's field array (the array passed
+  to <code>new_form()</code> or
+  <code>set_form_fields()</code>).</p>
 
-It is also possible to move around by pages.
+  <p>The initial current field of a form is the first active field
+  on the first page. The function <code>set_form_fields()</code>
+  resets this.</p>
 
-<PRE>
+  <p>It is also possible to move around by pages.</p>
+  <pre>
 int set_form_page(FORM *form,             /* form to alter */
                   int page);              /* page to go to (0-origin) */
 
 int form_page(FORM *form);                /* return form's current page */
-</PRE>
-
-The initial page of a newly-created form is 0.  The function
-<CODE>set_form_fields()</CODE> resets this.
+</pre>
 
-<H2><A NAME="frmoptions">Form Options</A></H2>
+  <p>The initial page of a newly-created form is 0. The function
+  <code>set_form_fields()</code> resets this.</p>
 
-Like fields, forms may have control option bits.  They can be changed
-or queried with these functions:
+  <h2><a name="frmoptions" id="frmoptions">Form Options</a></h2>
 
-<PRE>
+  <p>Like fields, forms may have control option bits. They can be
+  changed or queried with these functions:</p>
+  <pre>
 int set_form_opts(FORM *form,             /* form to alter */
                   int attr);              /* attribute to set */
 
@@ -2545,179 +3131,206 @@ int form_opts_off(FORM *form,             /* form to alter */
                   int attr);              /* attributes to turn off */
 
 int form_opts(FORM *form);                /* form to query */
-</PRE>
+</pre>
 
-By default, all options are on.  Here are the available option bits:
+  <p>By default, all options are on. Here are the available option
+  bits:</p>
 
-<DL>
-<DT> O_NL_OVERLOAD
-<DD> Enable overloading of <CODE>REQ_NEW_LINE</CODE> as described in <A
-href="#fedit">Editing Requests</A>.  The value of this option is
-ignored on dynamic fields that have not reached their size limit;
-these have no last line, so the circumstances for triggering a
-<CODE>REQ_NEXT_FIELD</CODE> never arise.
-<DT> O_BS_OVERLOAD
-<DD> Enable overloading of <CODE>REQ_DEL_PREV</CODE> as described in
-<A href="#fedit">Editing Requests</A>.
-</DL>
+  <dl>
+    <dt>O_NL_OVERLOAD</dt>
 
-The option values are bit-masks and can be composed with logical-or in
-the obvious way.
+    <dd>Enable overloading of <code>REQ_NEW_LINE</code> as
+    described in <a href="#fedit">Editing Requests</a>. The value
+    of this option is ignored on dynamic fields that have not
+    reached their size limit; these have no last line, so the
+    circumstances for triggering a <code>REQ_NEXT_FIELD</code>
+    never arise.</dd>
 
-<H2><A NAME="fcustom">Custom Validation Types</A></H2>
+    <dt>O_BS_OVERLOAD</dt>
 
-The <CODE>form</CODE> library gives you the capability to define custom
-validation types of your own.  Further, the optional additional arguments
-of <CODE>set_field_type</CODE> effectively allow you to parameterize validation
-types.  Most of the complications in the validation-type interface have to
-do with the handling of the additional arguments within custom validation
-functions.
+    <dd>Enable overloading of <code>REQ_DEL_PREV</code> as
+    described in <a href="#fedit">Editing Requests</a>.</dd>
+  </dl>
 
-<H3><A NAME="flinktypes">Union Types</A></H3>
+  <p>The option values are bit-masks and can be composed with
+  logical-or in the obvious way.</p>
 
-The simplest way to create a custom data type is to compose it from two
-preexisting ones:
+  <h2><a name="fcustom" id="fcustom">Custom Validation
+  Types</a></h2>
 
-<PRE>
+  <p>The <code>form</code> library gives you the capability to
+  define custom validation types of your own. Further, the optional
+  additional arguments of <code>set_field_type</code> effectively
+  allow you to parameterize validation types. Most of the
+  complications in the validation-type interface have to do with
+  the handling of the additional arguments within custom validation
+  functions.</p>
+
+  <h3><a name="flinktypes" id="flinktypes">Union Types</a></h3>
+
+  <p>The simplest way to create a custom data type is to compose it
+  from two preexisting ones:</p>
+  <pre>
 FIELD *link_fieldtype(FIELDTYPE *type1,
                       FIELDTYPE *type2);
-</PRE>
+</pre>
 
-This function creates a field type that will accept any of the values
-legal for either of its argument field types (which may be either
-predefined or programmer-defined).
+  <p>This function creates a field type that will accept any of the
+  values legal for either of its argument field types (which may be
+  either predefined or programmer-defined). If a
+  <code>set_field_type()</code> call later requires arguments, the
+  new composite type expects all arguments for the first type, than
+  all arguments for the second. Order functions (see <a href=
+  "#forder">Order Requests</a>) associated with the component types
+  will work on the composite; what it does is check the validation
+  function for the first type, then for the second, to figure what
+  type the buffer contents should be treated as.</p>
 
-If a <CODE>set_field_type()</CODE> call later requires arguments, the new
-composite type expects all arguments for the first type, than all arguments
-for the second.  Order functions (see <A HREF="#forder">Order Requests</A>)
-associated with the component types will work on the composite; what it does
-is check the validation function for the first type, then for the second, to
-figure what type the buffer contents should be treated as.
+  <h3><a name="fnewtypes" id="fnewtypes">New Field Types</a></h3>
 
-<H3><A NAME="fnewtypes">New Field Types</A></H3>
+  <p>To create a field type from scratch, you need to specify one
+  or both of the following things:</p>
 
-To create a field type from scratch, you need to specify one or both of the
-following things:
+  <ul>
+    <li>A character-validation function, to check each character as
+    it is entered.</li>
 
-<UL>
-<LI>A character-validation function, to check each character as it is entered.
-<LI>A field-validation function to be applied on exit from the field.
-</UL>
+    <li>A field-validation function to be applied on exit from the
+    field.</li>
+  </ul>
 
-Here's how you do that:
-<PRE>
-typedef int    (*HOOK)();       /* pointer to function returning int */
+  <p>Here is how you do that:</p>
+  <pre>
+typedef int     (*HOOK)();       /* pointer to function returning int */
 
 FIELDTYPE *new_fieldtype(HOOK f_validate, /* field validator */
                          HOOK c_validate) /* character validator */
 
 
 int free_fieldtype(FIELDTYPE *ftype);     /* type to free */
-</PRE>
+</pre>
+
+  <p>At least one of the arguments of <code>new_fieldtype()</code>
+  must be non-NULL. The forms driver will automatically call the
+  new type's validation functions at appropriate points in
+  processing a field of the new type.</p>
+
+  <p>The function <code>free_fieldtype()</code> deallocates the
+  argument fieldtype, freeing all storage associated with it.</p>
+
+  <p>Normally, a field validator is called when the user attempts
+  to leave the field. Its first argument is a field pointer, from
+  which it can get to field buffer 0 and test it. If the function
+  returns TRUE, the operation succeeds; if it returns FALSE, the
+  edit cursor stays in the field.</p>
+
+  <p>A character validator gets the character passed in as a first
+  argument. It too should return TRUE if the character is valid,
+  FALSE otherwise.</p>
+
+  <h3><a name="fcheckargs" id="fcheckargs">Validation Function
+  Arguments</a></h3>
+
+  <p>Your field- and character- validation functions will be passed
+  a second argument as well. This second argument is the address of
+  a structure (which we will call a <em>pile</em>) built from any
+  of the field-type-specific arguments passed to
+  <code>set_field_type()</code>. If no such arguments are defined
+  for the field type, this pile pointer argument will be NULL.</p>
+
+  <p>In order to arrange for such arguments to be passed to your
+  validation functions, you must associate a small set of
+  storage-management functions with the type. The forms driver will
+  use these to synthesize a pile from the trailing arguments of
+  each <code>set_field_type()</code> argument, and a pointer to the
+  pile will be passed to the validation functions.</p>
+
+  <p>Here is how you make the association:</p>
+  <pre>
+typedef char    *(*PTRHOOK)();    /* pointer to function returning (char *) */
+typedef void    (*VOIDHOOK)();    /* pointer to function returning void */
 
-At least one of the arguments of <CODE>new_fieldtype()</CODE> must be
-non-NULL.  The forms driver will automatically call the new type's
-validation functions at appropriate points in processing a field of
-the new type. <P>
+int set_fieldtype_arg(FIELDTYPE *type,    /* type to alter */
+                      PTRHOOK make_str,   /* make structure from args */
+                      PTRHOOK copy_str,   /* make copy of structure */
+                      VOIDHOOK free_str); /* free structure storage */
+</pre>
 
-The function <CODE>free_fieldtype()</CODE> deallocates the argument
-fieldtype, freeing all storage associated with it. <P>
+  <p>Here is how the storage-management hooks are used:</p>
 
-Normally, a field validator is called when the user attempts to
-leave the field.  Its first argument is a field pointer, from which it
-can get to field buffer 0 and test it.  If the function returns TRUE,
-the operation succeeds; if it returns FALSE, the edit cursor stays in
-the field. <P>
+  <dl>
+    <dt><code>make_str</code></dt>
 
-A character validator gets the character passed in as a first argument.
-It too should return TRUE if the character is valid, FALSE otherwise.
+    <dd>This function is called by <code>set_field_type()</code>.
+    It gets one argument, a <code>va_list</code> of the
+    type-specific arguments passed to
+    <code>set_field_type()</code>. It is expected to return a pile
+    pointer to a data structure that encapsulates those
+    arguments.</dd>
 
-<H3><A NAME="fcheckargs">Validation Function Arguments</A></H3>
+    <dt><code>copy_str</code></dt>
 
-Your field- and character- validation functions will be passed a
-second argument as well.  This second argument is the address of a
-structure (which we'll call a <EM>pile</EM>) built from any of the
-field-type-specific arguments passed to <CODE>set_field_type()</CODE>.  If
-no such arguments are defined for the field type, this pile pointer
-argument will be NULL. <P>
+    <dd>This function is called by form library functions that
+    allocate new field instances. It is expected to take a pile
+    pointer, copy the pile to allocated storage, and return the
+    address of the pile copy.</dd>
 
-In order to arrange for such arguments to be passed to your validation
-functions, you must associate a small set of storage-management functions
-with the type.  The forms driver will use these to synthesize a pile
-from the trailing arguments of each <CODE>set_field_type()</CODE> argument, and
-a pointer to the pile will be passed to the validation functions. <P>
+    <dt><code>free_str</code></dt>
 
-Here is how you make the association:
+    <dd>This function is called by field- and type-deallocation
+    routines in the library. It takes a pile pointer argument, and
+    is expected to free the storage of that pile.</dd>
+  </dl>
 
-<PRE>
-typedef char   *(*PTRHOOK)();    /* pointer to function returning (char *) */
-typedef void   (*VOIDHOOK)();    /* pointer to function returning void */
+  <p>The <code>make_str</code> and <code>copy_str</code> functions
+  may return NULL to signal allocation failure. The library
+  routines will that call them will return error indication when
+  this happens. Thus, your validation functions should never see a
+  NULL file pointer and need not check specially for it.</p>
 
-int set_fieldtype_arg(FIELDTYPE *type,    /* type to alter */
-                      PTRHOOK make_str,   /* make structure from args */
-                      PTRHOOK copy_str,   /* make copy of structure */
-                      VOIDHOOK free_str); /* free structure storage */
-</PRE>
-
-Here is how the storage-management hooks are used:
-
-<DL>
-<DT> <CODE>make_str</CODE>
-<DD> This function is called by <CODE>set_field_type()</CODE>.  It gets one
-argument, a <CODE>va_list</CODE> of the type-specific arguments passed to
-<CODE>set_field_type()</CODE>.  It is expected to return a pile pointer to a data
-structure that encapsulates those arguments.
-<DT> <CODE>copy_str</CODE>
-<DD> This function is called by form library functions that allocate new
-field instances.  It is expected to take a pile pointer, copy the pile
-to allocated storage, and return the address of the pile copy.
-<DT> <CODE>free_str</CODE>
-<DD> This function is called by field- and type-deallocation routines in the
-library.  It takes a pile pointer argument, and is expected to free the
-storage of that pile.
-</DL>
-
-The <CODE>make_str</CODE> and <CODE>copy_str</CODE> functions may return NULL to
-signal allocation failure.  The library routines will that call them will
-return error indication when this happens.  Thus, your validation functions
-should never see a NULL file pointer and need not check specially for it.
-
-<H3><A NAME="fcustorder">Order Functions For Custom Types</A></H3>
-
-Some custom field types are simply ordered in the same well-defined way
-that <CODE>TYPE_ENUM</CODE> is.  For such types, it is possible to define
-successor and predecessor functions to support the <CODE>REQ_NEXT_CHOICE</CODE>
-and <CODE>REQ_PREV_CHOICE</CODE> requests. Here's how:
-
-<PRE>
-typedef int    (*INTHOOK)();     /* pointer to function returning int */
+  <h3><a name="fcustorder" id="fcustorder">Order Functions For
+  Custom Types</a></h3>
+
+  <p>Some custom field types are simply ordered in the same
+  well-defined way that <code>TYPE_ENUM</code> is. For such types,
+  it is possible to define successor and predecessor functions to
+  support the <code>REQ_NEXT_CHOICE</code> and
+  <code>REQ_PREV_CHOICE</code> requests. Here is how:</p>
+  <pre>
+typedef int     (*INTHOOK)();     /* pointer to function returning int */
 
 int set_fieldtype_arg(FIELDTYPE *type,    /* type to alter */
                       INTHOOK succ,       /* get successor value */
                       INTHOOK pred);      /* get predecessor value */
-</PRE>
-
-The successor and predecessor arguments will each be passed two arguments;
-a field pointer, and a pile pointer (as for the validation functions).  They
-are expected to use the function <CODE>field_buffer()</CODE> to read the
-current value, and <CODE>set_field_buffer()</CODE> on buffer 0 to set the next
-or previous value.  Either hook may return TRUE to indicate success (a
-legal next or previous value was set) or FALSE to indicate failure.
-
-<H3><A NAME="fcustprobs">Avoiding Problems</A></H3>
-
-The interface for defining custom types is complicated and tricky.
-Rather than attempting to create a custom type entirely from scratch,
-you should start by studying the library source code for whichever of
-the pre-defined types seems to be closest to what you want. <P>
-
-Use that code as a model, and evolve it towards what you really want.
-You will avoid many problems and annoyances that way.  The code
-in the <CODE>ncurses</CODE> library has been specifically exempted from
-the package copyright to support this. <P>
-
-If your custom type defines order functions, have do something intuitive
-with a blank field.  A useful convention is to make the successor of a
-blank field the types minimum value, and its predecessor the maximum.
-</BODY>
-</HTML>
+</pre>
+
+  <p>The successor and predecessor arguments will each be passed
+  two arguments; a field pointer, and a pile pointer (as for the
+  validation functions). They are expected to use the function
+  <code>field_buffer()</code> to read the current value, and
+  <code>set_field_buffer()</code> on buffer 0 to set the next or
+  previous value. Either hook may return TRUE to indicate success
+  (a legal next or previous value was set) or FALSE to indicate
+  failure.</p>
+
+  <h3><a name="fcustprobs" id="fcustprobs">Avoiding
+  Problems</a></h3>
+
+  <p>The interface for defining custom types is complicated and
+  tricky. Rather than attempting to create a custom type entirely
+  from scratch, you should start by studying the library source
+  code for whichever of the pre-defined types seems to be closest
+  to what you want.</p>
+
+  <p>Use that code as a model, and evolve it towards what you
+  really want. You will avoid many problems and annoyances that
+  way. The code in the <code>ncurses</code> library has been
+  specifically exempted from the package copyright to support
+  this.</p>
+
+  <p>If your custom type defines order functions, have do something
+  intuitive with a blank field. A useful convention is to make the
+  successor of a blank field the types minimum value, and its
+  predecessor the maximum.</p>
+</body>
+</html>
index 1d72f8087af6fd779552852f18d288d51a30b95a..d9f978f1901a4b27bd319f8f01fc2be7058f342c 100644 (file)
@@ -153,7 +153,7 @@ Scope of This Document
    curses  API  with  some  clearly  marked  extensions.  It includes the
    following System V curses features:
      * Support  for  multiple  screen  highlights  (BSD curses could only
-       handle one `standout' highlight, usually reverse-video).
+       handle one "standout" highlight, usually reverse-video).
      * Support for line- and box-drawing using forms characters.
      * Recognition of function keys on input.
      * Color support.
@@ -164,7 +164,7 @@ Scope of This Document
    character  features  of  terminals  so equipped, and determines how to
    optimally  use  these  features  with  no help from the programmer. It
    allows  arbitrary  combinations  of  video attributes to be displayed,
-   even  on  terminals that leave ``magic cookies'' on the screen to mark
+   even  on  terminals  that  leave "magic cookies" on the screen to mark
    changes in attributes.
 
    The  ncurses  package  can  also  capture and use event reports from a
@@ -242,8 +242,8 @@ An Overview of Curses
    standard screen) is provided by default to make changes on.
 
    A  window is a purely internal representation. It is used to build and
-   store  a potential image of a portion of the terminal. It doesn't bear
-   any  necessary relation to what is really on the terminal screen; it's
+   store a potential image of a portion of the terminal. It does not bear
+   any necessary relation to what is really on the terminal screen; it is
    more like a scratchpad or write buffer.
 
    To  make  the  section  of  physical  screen corresponding to a window
@@ -253,7 +253,7 @@ An Overview of Curses
    A  given physical screen section may be within the scope of any number
    of  overlapping  windows.  Also, changes can be made to windows in any
    order,  without  regard  to  motion  efficiency.  Then,  at  will, the
-   programmer can effectively say ``make it look like this,'' and let the
+   programmer  can  effectively say "make it look like this," and let the
    package implementation determine the most efficient way to repaint the
    screen.
 
@@ -269,8 +269,8 @@ An Overview of Curses
    Many  functions  are  defined  to  use stdscr as a default screen. For
    example,  to  add  a  character  to stdscr, one calls addch() with the
    desired character as argument. To write to a different window. use the
-   routine  waddch()  (for  `w'indow-specific  addch()) is provided. This
-   convention of prepending function names with a `w' when they are to be
+   routine  waddch()  (for  window-specific  addch())  is  provided. This
+   convention of prepending function names with a "w" when they are to be
    applied  to specific windows is consistent. The only routines which do
    not follow it are those for which a window must always be specified.
 
@@ -278,7 +278,7 @@ An Overview of Curses
    another,  the routines move() and wmove() are provided. However, it is
    often  desirable to first move and then perform some I/O operation. In
    order  to  avoid  clumsiness, most I/O routines can be preceded by the
-   prefix  'mv'  and  the  desired  (y,  x)  coordinates prepended to the
+   prefix  "mv"  and  the  desired  (y,  x)  coordinates prepended to the
    arguments to the function. For example, the calls
           move(y, x);
           addch(ch);
@@ -310,13 +310,13 @@ An Overview of Curses
    general usefulness:
 
    bool
-          boolean type, actually a `char' (e.g., bool doneit;)
+          boolean type, actually a "char" (e.g., bool doneit;)
 
    TRUE
-          boolean `true' flag (1).
+          boolean "true" flag (1).
 
    FALSE
-          boolean `false' flag (0).
+          boolean "false" flag (0).
 
    ERR
           error flag returned by routines on a failure (-1).
@@ -381,7 +381,7 @@ main(int argc, char *argv[])
         /* process the command keystroke */
     }
 
-    finish(0);               /* we're done */
+    finish(0);               /* we are done */
 }
 
 static void finish(int sig)
@@ -411,7 +411,7 @@ static void finish(int sig)
    Once  the  screen windows have been allocated, you can set them up for
    your  program.  If  you  want  to,  say, allow a screen to scroll, use
    scrollok().  If you want the cursor to be left in place after the last
-   change,  use  leaveok().  If  this isn't done, refresh() will move the
+   change,  use  leaveok().  If this is not done, refresh() will move the
    cursor to the window's current (y, x) coordinates after updating it.
 
    You  can  create new windows of your own using the functions newwin(),
@@ -454,8 +454,8 @@ static void finish(int sig)
    set, will call addch() to echo the character. Since the screen package
    needs  to know what is on the terminal at all times, if characters are
    to  be  echoed, the tty must be in raw or cbreak mode. Since initially
-   the  terminal  has echoing enabled and is in ordinary ``cooked'' mode,
-   one or the other has to changed before calling getch(); otherwise, the
+   the terminal has echoing enabled and is in ordinary "cooked" mode, one
+   or  the  other  has  to changed before calling getch(); otherwise, the
    program's output will be unpredictable.
 
    When you need to accept line-oriented input in a window, the functions
@@ -499,7 +499,7 @@ static void finish(int sig)
    of  the  highlights you want into the character argument of an addch()
    call, or any other output call that takes a chtype argument.
 
-   The other is to set the current-highlight value. This is logical-or'ed
+   The  other is to set the current-highlight value. This is logical-ORed
    with  any  highlight  you  specify the first way. You do this with the
    functions attron(), attroff(), and attrset(); see the manual pages for
    details.  Color  is  a special kind of highlight. The package actually
@@ -510,8 +510,8 @@ static void finish(int sig)
    range  of  eight  non-conflicting  values  could have been used as the
    first arguments of the init_pair() values.
 
-   Once you've done an init_pair() that creates color-pair N, you can use
-   COLOR_PAIR(N)  as  a  highlight  that  invokes  that  particular color
+   Once  you  have done an init_pair() that creates color-pair N, you can
+   use  COLOR_PAIR(N)  as  a highlight that invokes that particular color
    combination.  Note  that  COLOR_PAIR(N),  for  constant N, is itself a
    compile-time constant and can be used in initializers.
 
@@ -550,11 +550,11 @@ static void finish(int sig)
    otherwise  another  mouse  event  might come in and make the first one
    inaccessible).
 
-   Each call to getmouse() fills a structure (the address of which you'll
-   pass  it)  with mouse event data. The event data includes zero-origin,
-   screen-relative  character-cell  coordinates  of the mouse pointer. It
-   also  includes  an  event  mask.  Bits  in  this  mask  will  be  set,
-   corresponding to the event type being reported.
+   Each  call  to  getmouse() fills a structure (the address of which you
+   will  pass  it)  with  mouse  event  data.  The  event  data  includes
+   zero-origin,  screen-relative  character-cell coordinates of the mouse
+   pointer.  It  also  includes  an event mask. Bits in this mask will be
+   set, corresponding to the event type being reported.
 
    The  mouse  structure  contains  two  additional  fields  which may be
    significant  in  the  future  as  ncurses  interfaces  to new kinds of
@@ -567,7 +567,7 @@ static void finish(int sig)
    The   class  of  visible  events  may  be  changed  at  any  time  via
    mousemask().  Events  that  can be reported include presses, releases,
    single-,   double-   and   triple-clicks  (you  can  set  the  maximum
-   button-down  time  for clicks). If you don't make clicks visible, they
+   button-down  time for clicks). If you do not make clicks visible, they
    will  be  reported  as  press-release pairs. In some environments, the
    event  mask  may  include  bits reporting the state of shift, alt, and
    ctrl keys on the keyboard during the event.
@@ -701,7 +701,7 @@ Function Descriptions
           more  terminals  at  once.  Setupterm()  also  stores the names
           section  of  the  terminal  description in the global character
           array ttytype[]. Subsequent calls to setupterm() will overwrite
-          this array, so you'll have to save it yourself if need be.
+          this array, so you will have to save it yourself if need be.
 
   Debugging
 
@@ -710,7 +710,7 @@ Function Descriptions
    trace()
           This  function  can be used to explicitly set a trace level. If
           the  trace  level  is  nonzero,  execution of your program will
-          generate a file called `trace' in the current working directory
+          generate a file called "trace" in the current working directory
           containing  a  report  on  the  library's actions. Higher trace
           levels  enable  more  detailed  (and  verbose) reporting -- see
           comments  attached  to  TRACE_ defines in the curses.h file for
@@ -740,7 +740,7 @@ Hints, Tips, and Tricks
   Some Notes of Caution
 
    If  you  find yourself thinking you need to use noraw() or nocbreak(),
-   think  again  and  move  carefully. It's probably better design to use
+   think  again  and  move carefully. It is probably better design to use
    getstr()  or one of its relatives to simulate cooked mode. The noraw()
    and  nocbreak() functions try to restore cooked mode, but they may end
    up   clobbering   some  control  bits  set  before  you  started  your
@@ -748,7 +748,7 @@ Hints, Tips, and Tricks
    likely   to  hurt  your  application's  usability  with  other  curses
    libraries.
 
-   Bear  in  mind that refresh() is a synonym for wrefresh(stdscr). Don't
+   Bear  in mind that refresh() is a synonym for wrefresh(stdscr). Do not
    try  to  mix use of stdscr with use of windows declared by newwin(); a
    refresh()  call will blow them off the screen. The right way to handle
    this  is  to  use  subwin(),  or not touch stdscr at all and tile your
@@ -774,7 +774,7 @@ Hints, Tips, and Tricks
   Temporarily Leaving NCURSES Mode
 
    Sometimes  you  will  want  to write a program that spends most of its
-   time  in  screen  mode,  but occasionally returns to ordinary `cooked'
+   time  in  screen  mode,  but occasionally returns to ordinary "cooked"
    mode.  A common reason for this is to support shell-out. This behavior
    is simple to arrange in ncurses.
 
@@ -839,8 +839,8 @@ Hints, Tips, and Tricks
    tigetflag(), tigetnum(), and tigetstr() to do your testing.
 
    A  particularly  useful  case  of this often comes up when you want to
-   test  whether  a  given  terminal  type  should  be treated as `smart'
-   (cursor-addressable) or `stupid'. The right way to test this is to see
+   test  whether  a  given  terminal  type  should  be treated as "smart"
+   (cursor-addressable) or "stupid". The right way to test this is to see
    if the return value of tigetstr("cup") is non-NULL. Alternatively, you
    can  include  the  term.h  file  and  test  the  value  of  the  macro
    cursor_address.
@@ -848,8 +848,8 @@ Hints, Tips, and Tricks
   Tuning for Speed
 
    Use  the  addchstr()  family  of functions for fast screen-painting of
-   text  when  you  know the text doesn't contain any control characters.
-   Try  to  make  attribute changes infrequent on your screens. Don't use
+   text  when  you know the text does not contain any control characters.
+   Try  to  make attribute changes infrequent on your screens. Do not use
    the immedok() option!
 
   Special Features of NCURSES
@@ -913,7 +913,7 @@ Compatibility with Older Versions
    they  do  change  copy or entire copy. We know that System V release 3
    curses  has  logic in it that looks like an attempt to do change copy,
    but  the  surrounding  logic and data representations are sufficiently
-   complex,  and  our  knowledge sufficiently indirect, that it's hard to
+   complex,  and  our knowledge sufficiently indirect, that it is hard to
    know  whether  this  is  reliable.  It  is  not  clear  what  the SVr4
    documentation  and XSI standard intend. The XSI Curses standard barely
    mentions  wnoutrefresh();  the  SVr4  documents  seem to be describing
@@ -997,8 +997,8 @@ Overview of Panels
    in  the proper order to resolve overlaps. The standard window, stdscr,
    is considered below all panels.
 
-   Details  on the panels functions are available in the man pages. We'll
-   just hit the highlights here.
+   Details  on  the  panels  functions are available in the man pages. We
+   will just hit the highlights here.
 
    You  create  a  panel from a window by calling new_panel() on a window
    pointer.  It  then  becomes the top of the deck. The panel's window is
@@ -1009,11 +1009,11 @@ Overview of Panels
    This  will  not  deallocate the associated window; you have to do that
    yourself.  You can replace a panel's window with a different window by
    calling  replace_window.  The new window may be of different size; the
-   panel code will re-compute all overlaps. This operation doesn't change
-   the panel's position in the deck.
+   panel  code  will  re-compute  all  overlaps.  This operation does not
+   change the panel's position in the deck.
 
    To  move  a  panel's window, use move_panel(). The mvwin() function on
-   the  panel's  window  isn't  sufficient  because it doesn't update the
+   the  panel's  window  is not sufficient because it does not update the
    panels  library's  representation  of  where  the  windows  are.  This
    operation leaves the panel's depth, contents, and size unchanged.
 
@@ -1028,12 +1028,12 @@ Overview of Panels
    Typically,  you  will want to call update_panels() and doupdate() just
    before accepting command input, once in each cycle of interaction with
    the  user.  If  you  call  update_panels()  after each and every panel
-   write,  you'll  generate  a  lot  of  unnecessary refresh activity and
+   write,  you  will  generate  a lot of unnecessary refresh activity and
    screen flicker.
 
 Panels, Input, and the Standard Screen
 
-   You  shouldn't mix wnoutrefresh() or wrefresh() operations with panels
+   You should not mix wnoutrefresh() or wrefresh() operations with panels
    code;  this will work only if the argument window is either in the top
    panel or unobscured by any other panels.
 
@@ -1051,7 +1051,7 @@ Panels, Input, and the Standard Screen
 
 Hiding Panels
 
-   It's  possible  to  remove  a  panel  from  the  deck temporarily; use
+   It  is  possible  to  remove  a  panel  from the deck temporarily; use
    hide_panel  for this. Use show_panel() to render it visible again. The
    predicate  function  panel_hidden  tests  whether  or  not  a panel is
    hidden.
@@ -1062,7 +1062,7 @@ Hiding Panels
 
 Miscellaneous Other Facilities
 
-   It's  possible  to navigate the deck using the functions panel_above()
+   It  is possible to navigate the deck using the functions panel_above()
    and  panel_below.  Handed a panel pointer, they return the panel above
    or  below  that  panel.  Handed  NULL,  they return the bottom-most or
    top-most panel.
@@ -1156,7 +1156,7 @@ Menu Display
 
    The actual menu page may be smaller than the format size. This depends
    on  the item number and size and whether O_ROWMAJOR is on. This option
-   (on  by  default) causes menu items to be displayed in a `raster-scan'
+   (on  by  default) causes menu items to be displayed in a "raster-scan"
    pattern, so that if more than one item will fit horizontally the first
    couple  of  items  are side-by-side in the top row. The alternative is
    column-major  display,  which  tries to put the first several items in
@@ -1222,7 +1222,7 @@ Processing Menu Input
    REQ_SCR_DPAGE, and REQ_SCR_UPAGE.
 
    The  REQ_TOGGLE_ITEM  selects or deselects the current item. It is for
-   use  in  multi-valued  menus; if you use it with O_ONEVALUE on, you'll
+   use  in multi-valued menus; if you use it with O_ONEVALUE on, you will
    get an error return (E_REQUEST_DENIED).
 
    Each  menu  has  an associated pattern buffer. The menu_driver() logic
@@ -1326,7 +1326,7 @@ Overview of Forms
    obviously  designed  to  resemble  that  of  the menu library wherever
    possible.
 
-   In  forms  programs,  however, the `process user requests' is somewhat
+   In  forms  programs,  however, the "process user requests" is somewhat
    more   complicated   than  for  menus.  Besides  menu-like  navigation
    operations, the menu driver loop has to support field editing and data
    validation.
@@ -1348,7 +1348,7 @@ FIELD *new_field(int height, int width,   /* new field size */
    the  screen  (the  third  and  fourth arguments, which must be zero or
    greater).  Note  that  these  coordinates  are  relative  to  the form
    subwindow,  which will coincide with stdscr by default but need not be
-   stdscr if you've done an explicit set_form_win() call.
+   stdscr if you have done an explicit set_form_win() call.
 
    The  fifth argument allows you to specify a number of off-screen rows.
    If  this  is zero, the entire field will always be displayed. If it is
@@ -1593,7 +1593,7 @@ int field_status(FIELD *field);         /* fetch mode of field */
    Calling  field_status()  on  a  field not currently selected for input
    will return a correct value. Calling field_status() on a field that is
    currently  selected for input may not necessarily give a correct field
-   status  value, because entered data isn't necessarily copied to buffer
+   status value, because entered data is not necessarily copied to buffer
    zero  before the exit validation check. To guarantee that the returned
    status  value  reflects reality, call field_status() either (1) in the
    field's  exit validation check routine, (2) from the field's or form's
@@ -1662,7 +1662,7 @@ Field Validation
    By  default,  a  field will accept any data that will fit in its input
    buffer.  However,  it  is  possible  to  attach a validation type to a
    field.  If  you  do  this,  any  attempt  to  leave the field while it
-   contains  data  that doesn't match the validation type will fail. Some
+   contains  data that does not match the validation type will fail. Some
    validation  types also have a character-validity check for each time a
    character is entered in the field.
 
@@ -1696,10 +1696,10 @@ int set_field_type(FIELD *field,          /* field to alter */
                    TYPE_ALPHA,            /* type to associate */
                    int width);            /* maximum width of field */
 
-   The width argument sets a minimum width of data. Typically you'll want
-   to  set this to the field width; if it's greater than the field width,
-   the  validation  check will always fail. A minimum width of zero makes
-   field completion optional.
+   The  width  argument  sets a minimum width of data. Typically you will
+   want  to  set this to the field width; if it is greater than the field
+   width,  the validation check will always fail. A minimum width of zero
+   makes field completion optional.
 
   TYPE_ALNUM
 
@@ -1711,9 +1711,9 @@ int set_field_type(FIELD *field,          /* field to alter */
                    int width);            /* maximum width of field */
 
    The  width  argument sets a minimum width of data. As with TYPE_ALPHA,
-   typically  you'll want to set this to the field width; if it's greater
-   than the field width, the validation check will always fail. A minimum
-   width of zero makes field completion optional.
+   typically  you  will  want  to  set  this to the field width; if it is
+   greater than the field width, the validation check will always fail. A
+   minimum width of zero makes field completion optional.
 
   TYPE_ENUM
 
@@ -1802,7 +1802,7 @@ char *field_buffer(FIELD *field,          /* field to query */
                    int bufindex);         /* number of buffer to query */
 
    Normally,  the state of the zero-numbered buffer for each field is set
-   by  the user's editing actions on that field. It's sometimes useful to
+   by the user's editing actions on that field. It is sometimes useful to
    be  able  to set the value of the zero-numbered (or some other) buffer
    from your application:
 int set_field_buffer(FIELD *field,        /* field to alter */
@@ -1817,7 +1817,7 @@ int set_field_buffer(FIELD *field,        /* field to alter */
    Calling  field_buffer()  on  a  field not currently selected for input
    will return a correct value. Calling field_buffer() on a field that is
    currently  selected for input may not necessarily give a correct field
-   buffer  value, because entered data isn't necessarily copied to buffer
+   buffer value, because entered data is not necessarily copied to buffer
    zero  before the exit validation check. To guarantee that the returned
    buffer  value  reflects  on-screen reality, call field_buffer() either
    (1) in the field's exit validation check routine, (2) from the field's
@@ -1877,7 +1877,7 @@ Control of Form Display
    erased at post/unpost time. The inner window or subwindow is where the
    current form page is actually displayed.
 
-   In  order  to declare your own frame window for a form, you'll need to
+   In order to declare your own frame window for a form, you will need to
    know  the  size  of  the  form's  bounding rectangle. You can get this
    information with:
 int scale_form(FORM *form,                /* form to query */
@@ -2389,7 +2389,7 @@ FIELD *link_fieldtype(FIELDTYPE *type1,
        entered.
      * A field-validation function to be applied on exit from the field.
 
-   Here's how you do that:
+   Here is how you do that:
 typedef int     (*HOOK)();       /* pointer to function returning int */
 
 FIELDTYPE *new_fieldtype(HOOK f_validate, /* field validator */
@@ -2419,7 +2419,7 @@ int free_fieldtype(FIELDTYPE *ftype);     /* type to free */
 
    Your  field-  and  character-  validation  functions  will be passed a
    second  argument  as  well.  This  second argument is the address of a
-   structure   (which   we'll   call  a  pile)  built  from  any  of  the
+   structure  (which  we  will  call  a  pile)  built  from  any  of  the
    field-type-specific  arguments  passed to set_field_type(). If no such
    arguments  are  defined for the field type, this pile pointer argument
    will be NULL.
@@ -2469,7 +2469,7 @@ int set_fieldtype_arg(FIELDTYPE *type,    /* type to alter */
    Some  custom  field  types are simply ordered in the same well-defined
    way  that  TYPE_ENUM  is.  For  such  types,  it is possible to define
    successor and predecessor functions to support the REQ_NEXT_CHOICE and
-   REQ_PREV_CHOICE requests. Here's how:
+   REQ_PREV_CHOICE requests. Here is how:
 typedef int     (*INTHOOK)();     /* pointer to function returning int */
 
 int set_fieldtype_arg(FIELDTYPE *type,    /* type to alter */
index adcf5e84f3c1cf54f97eb5b5d950a527308417c7..b5397eb7fda04fd1eeee36f69e20c94aa67eab2d 100644 (file)
 .\" authorization.                                                           *
 .\"***************************************************************************
 .\"
-.\" $Id: curs_add_wch.3x,v 1.17 2017/01/07 19:25:15 tom Exp $
+.\" $Id: curs_add_wch.3x,v 1.22 2017/05/06 14:01:26 tom Exp $
 .TH curs_add_wch 3X ""
+.ie \n(.g .ds `` \(lq
+.el       .ds `` ``
+.ie \n(.g .ds '' \(rq
+.el       .ds '' ''
 .de bP
 .IP \(bu 4
 ..
@@ -109,80 +113,94 @@ These symbols correspond to the same VT100 line-drawing set as
 \fBaddch\fP(3X).
 .PP
 .TS
-l l l l
-_ _ _ _
-lw(1.5i) lw7 lw7 lw20.
-\fIName\fR     \fIUnicode\fP   \fIDefault\fR   \fIDescription\fR
-WACS_BLOCK     0x25ae  #       solid square block
-WACS_BOARD     0x2592  #       board of squares
-WACS_BTEE      0x2534  +       bottom tee
-WACS_BULLET    0x00b7  o       bullet
-WACS_CKBOARD   0x2592  :       checker board (stipple)
-WACS_DARROW    0x2193  v       arrow pointing down
-WACS_DEGREE    0x00b0  '       degree symbol
-WACS_DIAMOND   0x25c6  +       diamond
-WACS_GEQUAL    0x2265  >       greater-than-or-equal-to
-WACS_HLINE     0x2500  \-      horizontal line
-WACS_LANTERN   0x2603  #       lantern symbol
-WACS_LARROW    0x2190  <       arrow pointing left
-WACS_LEQUAL    0x2264  <       less-than-or-equal-to
-WACS_LLCORNER  0x2514  +       lower left-hand corner
-WACS_LRCORNER  0x2518  +       lower right-hand corner
-WACS_LTEE      0x2524  +       left tee
-WACS_NEQUAL    0x2260  !       not-equal
-WACS_PI        0x03c0  *       greek pi
-WACS_PLMINUS   0x00b1  #       plus/minus
-WACS_PLUS      0x253c  +       plus
-WACS_RARROW    0x2192  >       arrow pointing right
-WACS_RTEE      0x251c  +       right tee
-WACS_S1        0x23ba  \-      scan line 1
-WACS_S3        0x23bb  \-      scan line 3
-WACS_S7        0x23bc  \-      scan line 7
-WACS_S9        0x23bd  \&_     scan line 9
-WACS_STERLING  0x00a3  f       pound-sterling symbol
-WACS_TTEE      0x252c  +       top tee
-WACS_UARROW    0x2191          ^       arrow pointing up
-WACS_ULCORNER  0x250c  +       upper left-hand corner
-WACS_URCORNER  0x2510  +       upper right-hand corner
-WACS_VLINE     0x2502  |       vertical line
+l l l l l
+l l l l l
+_ _ _ _ _
+lw(1.5i) lw5 lw5 lw5 lw20.
+\fBACS\fR      \fBUnicode\fP   \fBASCII\fR     \fBacsc\fP      \fBGlyph\fR
+\fBName\fR     \fBDefault\fP   \fBDefault\fR   \fBchar\fP      \fBName\fR
+WACS_BLOCK     0x25ae  #       0       solid square block
+WACS_BOARD     0x2592  #       h       board of squares
+WACS_BTEE      0x2534  +       v       bottom tee
+WACS_BULLET    0x00b7  o       ~       bullet
+WACS_CKBOARD   0x2592  :       a       checker board (stipple)
+WACS_DARROW    0x2193  v       .       arrow pointing down
+WACS_DEGREE    0x00b0  '       f       degree symbol
+WACS_DIAMOND   0x25c6  +       `       diamond
+WACS_GEQUAL    0x2265  >       >       greater-than-or-equal-to
+WACS_HLINE     0x2500  \-      q       horizontal line
+WACS_LANTERN   0x2603  #       i       lantern symbol
+WACS_LARROW    0x2190  <       ,       arrow pointing left
+WACS_LEQUAL    0x2264  <       y       less-than-or-equal-to
+WACS_LLCORNER  0x2514  +       m       lower left-hand corner
+WACS_LRCORNER  0x2518  +       j       lower right-hand corner
+WACS_LTEE      0x2524  +       t       left tee
+WACS_NEQUAL    0x2260  !       |       not-equal
+WACS_PI        0x03c0  *       {       greek pi
+WACS_PLMINUS   0x00b1  #       g       plus/minus
+WACS_PLUS      0x253c  +       n       plus
+WACS_RARROW    0x2192  >       +       arrow pointing right
+WACS_RTEE      0x251c  +       u       right tee
+WACS_S1        0x23ba  \-      o       scan line 1
+WACS_S3        0x23bb  \-      p       scan line 3
+WACS_S7        0x23bc  \-      r       scan line 7
+WACS_S9        0x23bd  \&_     s       scan line 9
+WACS_STERLING  0x00a3  f       }       pound-sterling symbol
+WACS_TTEE      0x252c  +       w       top tee
+WACS_UARROW    0x2191          ^       \-      arrow pointing up
+WACS_ULCORNER  0x250c  +       l       upper left-hand corner
+WACS_URCORNER  0x2510  +       k       upper right-hand corner
+WACS_VLINE     0x2502  |       x       vertical line
 .TE
 .PP
 The wide-character configuration of ncurses also defines symbols
-for thick- and double-lines:
+for double-lines:
 .PP
 .TS
-l l l l
-_ _ _ _
-lw(1.5i) lw7 lw7 lw20.
-\fIName\fR     \fIUnicode\fP   \fIDefault\fR   \fIDescription\fR
-WACS_T_ULCORNER        0x250f  +       thick upper left corner
-WACS_T_LLCORNER        0x2517  +       thick lower left corner
-WACS_T_URCORNER        0x2513  +       thick upper right corner
-WACS_T_LRCORNER        0x251b  +       thick lower right corner
-WACS_T_LTEE    0x252b  +       thick tee pointing right
-WACS_T_RTEE    0x2523  +       thick tee pointing left
-WACS_T_BTEE    0x253b  +       thick tee pointing up
-WACS_T_TTEE    0x2533  +       thick tee pointing down
-WACS_T_HLINE   0x2501  -       thick horizontal line
-WACS_T_VLINE   0x2503  |       thick vertical line
-WACS_T_PLUS    0x254b  +       thick large plus or crossover
-WACS_D_ULCORNER        0x2554  +       double upper left corner
-WACS_D_LLCORNER        0x255a  +       double lower left corner
-WACS_D_URCORNER        0x2557  +       double upper right corner
-WACS_D_LRCORNER        0x255d  +       double lower right corner
-WACS_D_RTEE    0x2563  +       double tee pointing left
-WACS_D_LTEE    0x2560  +       double tee pointing right
-WACS_D_BTEE    0x2569  +       double tee pointing up
-WACS_D_TTEE    0x2566  +       double tee pointing down
-WACS_D_HLINE   0x2550  -       double horizontal line
-WACS_D_VLINE   0x2551  |       double vertical line
-WACS_D_PLUS    0x256c  +       double large plus or crossover
+l l l l l
+l l l l l
+_ _ _ _ _
+lw(1.5i) lw5 lw5 lw5 lw20.
+\fBACS\fR      \fBUnicode\fP   \fBASCII\fR     \fBacsc\fP      \fBGlyph\fR
+\fBName\fR     \fBDefault\fP   \fBDefault\fR   \fBchar\fP      \fBName\fR
+WACS_D_BTEE    0x2569  +       H       double tee pointing up
+WACS_D_HLINE   0x2550  -       R       double horizontal line
+WACS_D_LLCORNER        0x255a  +       D       double lower left corner
+WACS_D_LRCORNER        0x255d  +       A       double lower right corner
+WACS_D_LTEE    0x2560  +       F       double tee pointing right
+WACS_D_PLUS    0x256c  +       E       double large plus
+WACS_D_RTEE    0x2563  +       G       double tee pointing left
+WACS_D_TTEE    0x2566  +       I       double tee pointing down
+WACS_D_ULCORNER        0x2554  +       C       double upper left corner
+WACS_D_URCORNER        0x2557  +       B       double upper right corner
+WACS_D_VLINE   0x2551  |       Y       double vertical line
+.TE
+.PP
+and for thick lines:
+.TS
+l l l l l
+l l l l l
+_ _ _ _ _
+lw(1.5i) lw5 lw5 lw5 lw20.
+\fBACS\fR      \fBUnicode\fP   \fBASCII\fR     \fBacsc\fP      \fBGlyph\fR
+\fBName\fR     \fBDefault\fP   \fBDefault\fR   \fBchar\fP      \fBName\fR
+WACS_T_BTEE    0x253b  +       V       thick tee pointing up
+WACS_T_HLINE   0x2501  -       Q       thick horizontal line
+WACS_T_LLCORNER        0x2517  +       M       thick lower left corner
+WACS_T_LRCORNER        0x251b  +       J       thick lower right corner
+WACS_T_LTEE    0x252b  +       T       thick tee pointing right
+WACS_T_PLUS    0x254b  +       N       thick large plus
+WACS_T_RTEE    0x2523  +       U       thick tee pointing left
+WACS_T_TTEE    0x2533  +       W       thick tee pointing down
+WACS_T_ULCORNER        0x250f  +       L       thick upper left corner
+WACS_T_URCORNER        0x2513  +       K       thick upper right corner
+WACS_T_VLINE   0x2503  |       X       thick vertical line
 .TE
 .SH RETURN VALUE
 .PP
 All routines return the integer \fBERR\fR upon failure and \fBOK\fR on success.
 .PP
-Functions with a "mv" prefix first perform a cursor movement using
+Functions with a \*(``mv\*('' prefix first perform a cursor movement using
 \fBwmove\fP, and return an error if the position is outside the window,
 or if the window pointer is null.
 .SH NOTES
@@ -215,6 +233,64 @@ SVr4 curses implementations defined their line-drawing symbols in
 terms of intermediate symbols.
 This implementation extends those symbols, providing new definitions
 which are not in the SVr4 implementations.
+.PP
+Not all Unicode-capable terminals provide support for VT100-style
+alternate character sets (i.e., the \fBacsc\fP capability),
+with their corresponding line-drawing characters.
+X/Open Curses did not address the aspect of integrating Unicode with
+line-drawing characters.
+Existing implementations of Unix curses (AIX, HPUX, Solaris)
+use only the \fBacsc\fP character-mapping to provide this feature.
+As a result, those implementations can only use single-byte line-drawing
+characters.
+Ncurses 5.3 (2002) provided a table of Unicode values to solve these problems.
+NetBSD curses incorporated that table in 2010.
+.PP
+In this implementation, the Unicode values are used instead of the
+terminal description's \fBacsc\fP mapping as discussed in ncurses(3X)
+for the environment variable \fBNCURSES_NO_UTF8_ACS\fP.
+In contrast, for the same cases, the line-drawing characters
+described in \fBcurs_addch\fP(3X) will use only the ASCII default values.
+.PP
+Having Unicode available does not solve all of the problems with
+line-drawing for curses:
+.bP
+The closest Unicode equivalents to the
+VT100 graphics \fIS1\fP, \fIS3\fP, \fIS7\fP and \fIS9\fP
+frequently are not displayed at
+the regular intervals which the terminal used.
+.bP
+The \fIlantern\fP is a special case.
+It originated with the AT&T 4410 terminal in the early 1980s.
+There is no accessible documentation depicting the lantern symbol
+on the AT&T terminal.
+.IP
+Lacking documentation, most readers assume that a \fIstorm lantern\fP
+was intended.
+But there are several possibilities, all with problems.
+.IP
+Unicode 6.0 (2010) does provide two lantern symbols: U+1F383 and U+1F3EE.
+Those were not availble in 2002, and are irrelevant since
+they lie outside the BMP and as a result are not generally available
+in terminals.
+They are not storm lanterns, in any case.
+.IP
+Most \fIstorm lanterns\fP have a tapering glass chimney
+(to guard against tipping);
+some have a wire grid protecting the chimney.
+.IP
+For the tapering appearance, \[u2603] U+2603 was adequate.
+In use on a terminal, no one can tell what the image represents.
+Unicode calls it a snowman.
+.IP
+Others have suggested these alternatives:
+\[sc] U+00A7 (section mark),
+\[u0398] U+0398 (theta),
+\[u03A6] U+03A6 (phi),
+\[u03B4] U+03B4 (delta),
+\[u2327] U+2327 (x in a rectangle),
+\[u256C] U+256C (forms double vertical and horizontal), and
+\[u2612] U+2612 (ballot box with x).
 .SH SEE ALSO
 .na
 .PP
index cc3a75fd67b8f4bd9406a1e6d1318b9408488267..151c3160c4c8d1322b956a8fdab8f7228807cf16 100644 (file)
 .\" authorization.                                                           *
 .\"***************************************************************************
 .\"
-.\" $Id: curs_addch.3x,v 1.39 2017/04/17 00:14:02 tom Exp $
+.\" $Id: curs_addch.3x,v 1.41 2017/05/05 18:15:29 tom Exp $
 .TH curs_addch 3X ""
+.ie \n(.g .ds `` \(lq
+.el       .ds `` ``
+.ie \n(.g .ds '' \(rq
+.el       .ds '' ''
 .de bP
 .IP \(bu 4
 ..
@@ -117,50 +121,52 @@ library is unable to use Unicode.
 The names are taken from VT100 nomenclature.
 .PP
 .TS
-l l l
-_ _ _
-l l l.
-\fIName\fR     \fIDefault\fR   \fIDescription\fR
-ACS_BLOCK      #       solid square block
-ACS_BOARD      #       board of squares
-ACS_BTEE       +       bottom tee
-ACS_BULLET     o       bullet
-ACS_CKBOARD    :       checker board (stipple)
-ACS_DARROW     v       arrow pointing down
-ACS_DEGREE     '       degree symbol
-ACS_DIAMOND    +       diamond
-ACS_GEQUAL     >       greater-than-or-equal-to
-ACS_HLINE      \-      horizontal line
-ACS_LANTERN    #       lantern symbol
-ACS_LARROW     <       arrow pointing left
-ACS_LEQUAL     <       less-than-or-equal-to
-ACS_LLCORNER   +       lower left-hand corner
-ACS_LRCORNER   +       lower right-hand corner
-ACS_LTEE       +       left tee
-ACS_NEQUAL     !       not-equal
-ACS_PI *       greek pi
-ACS_PLMINUS    #       plus/minus
-ACS_PLUS       +       plus
-ACS_RARROW     >       arrow pointing right
-ACS_RTEE       +       right tee
-ACS_S1 \-      scan line 1
-ACS_S3 \-      scan line 3
-ACS_S7 \-      scan line 7
-ACS_S9 \&_     scan line 9
-ACS_STERLING   f       pound-sterling symbol
-ACS_TTEE       +       top tee
-ACS_UARROW     ^       arrow pointing up
-ACS_ULCORNER   +       upper left-hand corner
-ACS_URCORNER   +       upper right-hand corner
-ACS_VLINE      |       vertical line
+l l l l
+l l l l
+_ _ _ _
+l l l l.
+\fBACS\fR      \fBACS\fR       \fBacsc\fP      \fBGlyph\fR
+\fBName\fR     \fBDefault\fR   \fBchar\fP      \fBName\fR
+ACS_BLOCK      #       0       solid square block
+ACS_BOARD      #       h       board of squares
+ACS_BTEE       +       v       bottom tee
+ACS_BULLET     o       ~       bullet
+ACS_CKBOARD    :       a       checker board (stipple)
+ACS_DARROW     v       .       arrow pointing down
+ACS_DEGREE     '       f       degree symbol
+ACS_DIAMOND    +       `       diamond
+ACS_GEQUAL     >       >       greater-than-or-equal-to
+ACS_HLINE      \-      q       horizontal line
+ACS_LANTERN    #       i       lantern symbol
+ACS_LARROW     <       ,       arrow pointing left
+ACS_LEQUAL     <       y       less-than-or-equal-to
+ACS_LLCORNER   +       m       lower left-hand corner
+ACS_LRCORNER   +       j       lower right-hand corner
+ACS_LTEE       +       t       left tee
+ACS_NEQUAL     !       |       not-equal
+ACS_PI *       {       greek pi
+ACS_PLMINUS    #       g       plus/minus
+ACS_PLUS       +       n       plus
+ACS_RARROW     >       +       arrow pointing right
+ACS_RTEE       +       u       right tee
+ACS_S1 \-      o       scan line 1
+ACS_S3 \-      p       scan line 3
+ACS_S7 \-      r       scan line 7
+ACS_S9 \&_     s       scan line 9
+ACS_STERLING   f       }       pound-sterling symbol
+ACS_TTEE       +       w       top tee
+ACS_UARROW     ^       \-      arrow pointing up
+ACS_ULCORNER   +       l       upper left-hand corner
+ACS_URCORNER   +       k       upper right-hand corner
+ACS_VLINE      |       x       vertical line
 .TE
 .SH RETURN VALUE
 All routines return the integer \fBERR\fR upon failure and \fBOK\fR on success
-(the SVr4 manuals specify only "an integer value other than \fBERR\fR") upon
-successful completion, unless otherwise noted in the preceding routine
-descriptions.
+(the SVr4 manuals specify only
+\*(``an integer value other than \fBERR\fR\*('') upon successful completion,
+unless otherwise noted in the preceding routine descriptions.
 .PP
-Functions with a "mv" prefix first perform a cursor movement using
+Functions with a \*(``mv\*('' prefix first perform a cursor movement using
 \fBwmove\fP, and return an error if the position is outside the window,
 or if the window pointer is null.
 .SH NOTES
index 08b83e28f23e4f40a396156a19b234e959635067..8b433ec58e00d327c5d2e44cb634397ebe411a84 100644 (file)
 .\" authorization.                                                           *
 .\"***************************************************************************
 .\"
-.\" $Id: curs_mouse.3x,v 1.43 2017/01/07 19:25:15 tom Exp $
+.\" $Id: curs_mouse.3x,v 1.45 2017/05/06 17:29:26 tom Exp $
+.de NS
+.ie \n(.sp
+.el    .sp .5
+.ie \n(.in +4
+.el    .in +2
+.nf
+.ft C                  \" Courier
+..
+.de NE
+.fi
+.ft R
+.in -4
+..
 .de bP
 .IP \(bu 4
 ..
@@ -257,6 +270,51 @@ on their test result.
 These calls were designed for \fBncurses\fR(3X), and are not found in SVr4
 curses, 4.4BSD curses, or any other previous version of curses.
 .PP
+SVr4 curses had support for the mouse in a variant of \fBxterm\fP.
+It is mentioned in a few places, but with no supporting documentation:
+.bP
+the \*(``libcurses\*('' manual page lists functions for this feature
+which are prototyped in \fBcurses.h\fP:
+.NS
+extern int mouse_set(long int);
+extern int mouse_on(long int);
+extern int mouse_off(long int);
+extern int request_mouse_pos(void);
+extern int map_button(unsigned long);
+extern void wmouse_position(WINDOW *, int *, int *);
+extern unsigned long getmouse(void), getbmap(void);
+.NE
+.bP
+the \*(``terminfo\*('' manual page lists capabilities for the feature
+.NS
+buttons           btns    BT       Number of buttons on the mouse
+get_mouse         getm    Gm       Curses should get button events
+key_mouse         kmous   Km       0631, Mouse event has occured
+mouse_info        minfo   Mi       Mouse status information
+req_mouse_pos     reqmp   RQ       Request mouse position report
+.NE
+.bP
+the interface made assumptions (as does ncurses) about the escape sequences
+sent to and received from the terminal.
+.IP
+For instance
+the SVr4 curses library used the \fBget_mouse\fP capability to tell the
+terminal which mouse button events it should send,
+passing the mouse-button bit-mask to the terminal.
+Also, it could ask the terminal where the mouse was using the \fBreq_mouse_pos\fP capability.
+.IP
+Those features required a terminal which had been modified to work with curses.
+They were not part of the X Consortium's xterm.
+.PP
+When developing the xterm mouse support for ncurses in September 1995,
+Eric Raymond was uninterested in using the same interface due to its
+lack of documentation.
+Later, in 1998, Mark Hesseling provided support in
+PDCurses 2.3 using the SVr4 interface.
+PDCurses, however, does not use video terminals,
+making it unnecessary to be concerned about compatibility with the
+escape sequences.
+.PP
 The feature macro \fBNCURSES_MOUSE_VERSION\fR is provided so the preprocessor
 can be used to test whether these features are present.
 If the interface is changed, the value of \fBNCURSES_MOUSE_VERSION\fR will be
index 796e6c10cefe9599390f4246dfc83635fead0dfc..87cfb9afff728d19de08cbb3e8d5a15bda3c96e9 100644 (file)
@@ -27,7 +27,7 @@
 .\" authorization.                                                           *
 .\"***************************************************************************
 .\"
-.\" $Id: ncurses.3x,v 1.131 2017/03/25 20:45:48 tom Exp $
+.\" $Id: ncurses.3x,v 1.133 2017/05/06 14:32:49 tom Exp $
 .hy 0
 .TH ncurses 3X ""
 .ie \n(.g .ds `` \(lq
@@ -100,8 +100,9 @@ and access to low-level terminal-manipulation routines.
 The library uses the locale which the calling program has initialized.
 That is normally done with \fBsetlocale\fP:
 .NS
-      \fBsetlocale(LC_ALL, "");\fP
+\fBsetlocale(LC_ALL, "");\fP
 .NE
+.PP
 If the locale is not initialized,
 the library assumes that characters are printable as in ISO\-8859\-1,
 to work with certain legacy programs.
@@ -118,14 +119,16 @@ To get character-at-a-time input without echoing (most
 interactive, screen oriented programs want this), the following
 sequence should be used:
 .NS
-      \fBinitscr(); cbreak(); noecho();\fR
+\fBinitscr(); cbreak(); noecho();\fR
 .NE
+.PP
 Most programs would additionally use the sequence:
 .NS
-      \fBnonl();\fR
-      \fBintrflush(stdscr, FALSE);\fR
-      \fBkeypad(stdscr, TRUE);\fR
+\fBnonl();\fR
+\fBintrflush(stdscr, FALSE);\fR
+\fBkeypad(stdscr, TRUE);\fR
 .NE
+.PP
 Before a \fBcurses\fR program is run, the tab stops of the terminal
 should be set and its initialization strings, if defined, must be output.
 This can be done by executing the \fB@TPUT@ init\fR command
@@ -197,18 +200,21 @@ standard place.
 For example, if \fBTERM\fR is set to \fBatt4424\fR, then the
 compiled terminal definition is found in
 .NS
-      \fB\*d/a/att4424\fR.
+\fB\*d/a/att4424\fR.
 .NE
+.PP
 (The \fBa\fR is copied from the first letter of \fBatt4424\fR to avoid
 creation of huge directories.)  However, if \fBTERMINFO\fR is set to
 \fB$HOME/myterms\fR, \fBcurses\fR first checks
 .NS
-      \fB$HOME/myterms/a/att4424\fR,
+\fB$HOME/myterms/a/att4424\fR,
 .NE
+.PP
 and if that fails, it then checks
 .NS
-      \fB\*d/a/att4424\fR.
+\fB\*d/a/att4424\fR.
 .NE
+.PP
 This is useful for developing experimental definitions or when write
 permission in \fB\*d\fR is not available.
 .PP
@@ -787,10 +793,12 @@ right-hand side of assignment statements).
 .PP
 Routines that return pointers return \fBNULL\fR on error.
 .SH ENVIRONMENT
+.PP
 The following environment symbols are useful for customizing the
 runtime behavior of the \fBncurses\fR library.
 The most important ones have been already discussed in detail.
-.SS CC
+.SS CC command-character
+.PP
 When set, change occurrences of the command_character
 (i.e., the \fBcmdch\fP capability)
 of the loaded terminfo entries to the value of this variable.
@@ -800,6 +808,7 @@ Because this name is also used in development environments to represent
 the C compiler's name, \fBncurses\fR ignores it if it does not happen to
 be a single character.
 .SS BAUDRATE
+.PP
 The debugging library checks this environment variable when the application
 has redirected output to a file.
 The variable's numeric value is used for the baudrate.
@@ -807,6 +816,7 @@ If no value is found, \fBncurses\fR uses 9600.
 This allows testers to construct repeatable test-cases
 that take into account costs that depend on baudrate.
 .SS COLUMNS
+.PP
 Specify the width of the screen in characters.
 Applications running in a windowing environment usually are able to
 obtain the width of the window in which they are executing.
@@ -832,6 +842,7 @@ Use the \fBuse_env\fR function to disable all use of external environment
 Use the \fBuse_tioctl\fR function to update \fBCOLUMNS\fP or \fBLINES\fP
 to match the screen size obtained from system calls or the terminal database.
 .SS ESCDELAY
+.PP
 Specifies the total time, in milliseconds, for which ncurses will
 await a character sequence, e.g., a function key.
 The default value, 1000 milliseconds, is enough for most uses.
@@ -858,29 +869,33 @@ does not create problems when compiling an application.
 .SS HOME
 Tells \fBncurses\fR where your home directory is.
 That is where it may read and write auxiliary terminal descriptions:
-.PP
+.NS
 $HOME/.termcap
-.br
 $HOME/.terminfo
+.NE
 .SS LINES
+.PP
 Like COLUMNS, specify the height of the screen in characters.
 See COLUMNS for a detailed description.
 .SS MOUSE_BUTTONS_123
+.PP
 This applies only to the OS/2 EMX port.
 It specifies the order of buttons on the mouse.
 OS/2 numbers a 3-button mouse inconsistently from other
 platforms:
-.sp
+.NS
 1 = left
 .br
 2 = right
 .br
 3 = middle.
-.sp
+.NE
+.PP
 This variable lets you customize the mouse.
 The variable must be three numeric digits 1\-3 in any order, e.g., 123 or 321.
 If it is not specified, \fBncurses\fR uses 132.
 .SS NCURSES_ASSUMED_COLORS
+.PP
 Override the compiled-in assumption that the
 terminal's default colors are white-on-black
 (see \fBdefault_colors\fR(3X)).
@@ -901,6 +916,7 @@ mapping coordinates,
 explicitly saving and restoring the original screen contents.
 Setting the environment variable \fBNCGDB\fP has the same effect.
 .SS NCURSES_GPM_TERMS
+.PP
 This applies only to ncurses configured to use the GPM interface.
 .PP
 If present,
@@ -912,17 +928,20 @@ using the built-in support for xterm, etc.
 If the environment variable is absent,
 ncurses will attempt to open GPM if \fBTERM\fP contains "linux".
 .SS NCURSES_NO_HARD_TABS
+.PP
 \fBNcurses\fP may use tabs as part of the cursor movement optimization.
 In some cases,
 your terminal driver may not handle these properly.
 Set this environment variable to disable the feature.
 You can also adjust your \fBstty\fP settings to avoid the problem.
-NCURSES_NO_MAGIC_COOKIE
+.SS NCURSES_NO_MAGIC_COOKIE
+.PP
 Some terminals use a magic-cookie feature which requires special handling
 to make highlighting and other video attributes display properly.
 You can suppress the highlighting entirely for these terminals by
 setting this environment variable.
 .SS NCURSES_NO_PADDING
+.PP
 Most of the terminal descriptions in the terminfo database are written
 for real "hardware" terminals.
 Many people use terminal emulators
@@ -982,6 +1001,7 @@ As a special case, the low-level calls such as \fBputp\fP still use the
 standard output.
 But high-level curses calls do not.
 .SS NCURSES_NO_UTF8_ACS
+.PP
 During initialization, the \fBncurses\fR library
 checks for special cases where VT100 line-drawing (and the corresponding
 alternate character set capabilities) described in the terminfo are known
@@ -1023,6 +1043,7 @@ The name "U8" is chosen to be two characters,
 to permit it to be used by applications that use ncurses'
 termcap interface.
 .SS NCURSES_TRACE
+.PP
 During initialization, the \fBncurses\fR debugging library
 checks the NCURSES_TRACE environment variable.
 If it is defined, to a numeric value, \fBncurses\fR calls the \fBtrace\fR
@@ -1035,6 +1056,7 @@ file \fBtrace\fR to the current directory.
 .PP
 See \fBcurs_trace\fP(3X) for more information.
 .SS TERM
+.PP
 Denotes your terminal type.
 Each terminal type is distinct, though many are similar.
 .PP
@@ -1064,6 +1086,7 @@ the \fBTERM\fP environment variable exists.
 In either case, setting it directs \fBncurses\fR to ignore
 the usual place for this information, e.g., /etc/termcap.
 .SS TERMINFO
+.PP
 \fBncurses\fP can be configured to read from multiple terminal databases.
 The \fBTERMINFO\fP variable overrides the location for the default terminal database.
 Terminal descriptions (in terminal format) are stored in terminal databases:
@@ -1134,6 +1157,7 @@ ncurses library, i.e.,
 .RE
 .PP
 .SS TERMINFO_DIRS
+.PP
 Specifies a list of locations to search for terminal descriptions.
 Each location in the list is a terminal database as described in
 the section on the \fBTERMINFO\fP variable.
@@ -1142,6 +1166,7 @@ The list is separated by colons (i.e., ":") on Unix, semicolons on OS/2 EMX.
 There is no corresponding feature in System V terminfo;
 it is an extension developed for \fBncurses\fP.
 .SS TERMPATH
+.PP
 If \fBTERMCAP\fP does not hold a file name then \fBncurses\fR checks
 the \fBTERMPATH\fP environment variable.
 This is a list of filenames separated by spaces or colons (i.e., ":") on Unix,
@@ -1162,6 +1187,7 @@ setgid permissions:
 $TERMINFO, $TERMINFO_DIRS, $TERMPATH, as well as $HOME.
 .NE
 .SH ALTERNATE CONFIGURATIONS
+.PP
 Several different configurations are possible,
 depending on the configure script options used when building \fBncurses\fP.
 There are a few main options whose effects are visible to the applications
@@ -1169,19 +1195,17 @@ developer using \fBncurses\fP:
 .TP 5
 \-\-disable\-overwrite
 The standard include for \fBncurses\fP is as noted in \fBSYNOPSIS\fP:
-.RS 3
-.sp
+.NS
 \fB#include <curses.h>\fR
-.RE
+.NE
 .IP
 This option is used to avoid filename conflicts when \fBncurses\fP
 is not the main implementation of curses of the computer.
 If \fBncurses\fP is installed disabling overwrite, it puts its headers in
 a subdirectory, e.g.,
-.RS 3
-.sp
+.NS
 \fB#include <ncurses/curses.h>\fR
-.RE
+.NE
 .IP
 It also omits a symbolic link which would allow you to use \fB\-lcurses\fP
 to build executables.
@@ -1192,16 +1216,14 @@ The configure script renames the library and
 puts the header files in a different subdirectory.
 All of the library names have a "w" appended to them,
 i.e., instead of
-.RS 3
-.sp
+.NS
 \fB\-lncurses\fR
-.RE
+.NE
 .IP
 you link with
-.RS 3
-.sp
+.NS
 \fB\-lncursesw\fR
-.RE
+.NE
 .IP
 You must also define \fB_XOPEN_SOURCE_EXTENDED\fP when compiling for the
 wide-character library to use the extended (wide-character) functions.
index 152297c12830185bf4dd406a83b9f989c472d7bf..1e67cf8d54fccf35510822f9bf94256d3939634e 100644 (file)
@@ -1,4 +1,4 @@
-.\" $Id: terminfo.tail,v 1.85 2017/04/22 18:59:02 tom Exp $
+.\" $Id: terminfo.tail,v 1.87 2017/05/05 17:54:07 tom Exp $
 .\" Beginning of terminfo.tail file
 .\" This file is part of ncurses.
 .\" See "terminfo.head" for copyright.
@@ -1290,7 +1290,8 @@ They are documented here in case they ever become important.
 .SS Line Graphics
 .PP
 Many terminals have alternate character sets useful for forms-drawing.
-Terminfo and \fBcurses\fR built-in support for the drawing characters
+Terminfo and \fBcurses\fR have built-in support
+for most of the drawing characters
 supported by the VT100, with some characters from the AT&T 4410v1 added.
 This alternate character set may be specified by the \fBacsc\fR capability.
 .PP
@@ -1301,8 +1302,8 @@ l l l l l
 _ _ _ _ _
 lw25 lw10 lw6 lw6 lw6.
 .\".TH
-\fBGlyph       ACS     Ascii   VT100   VT100\fR
-\fBName        Name    Default Char    Code\fR
+\fBGlyph       ACS     Ascii   acsc    acsc\fR
+\fBName        Name    Default Char    Value\fR
 arrow pointing right   ACS_RARROW      >       +       0x2b
 arrow pointing left    ACS_LARROW      <       ,       0x2c
 arrow pointing up      ACS_UARROW      ^       \-      0x2d
@@ -1345,9 +1346,17 @@ lowercase \*(``i\*('' mapping.
 .bP
 The DEC VT100 implemented graphics using the alternate character set
 feature, temporarily switching \fImodes\fP and sending characters
-in the range 0x60 (96) to 0x7e (126).
+in the range 0x60 (96) to 0x7e (126)
+(the \fBacsc Value\fP column in the table).
 .bP
 The AT&T terminal added graphics characters outside that range.
+.IP
+Some of the characters within the range do not match the VT100;
+presumably they were used in the AT&T terminal:
+\fIboard of squares\fP replaces the VT100 \fInewline\fP symbol, while
+\fIlantern symbol\fP replaces the VT100 \fIvertical tab\fP symbol.
+The other VT100 symbols for control characters (\fIhorizontal tab\fP,
+\fIcarriage return\fP and \fIline-feed\fP) are not (re)used in curses.
 .PP
 The best way to define a new device's graphics set is to add a column
 to a copy of this table for your terminal, giving the character which
index 5e4966719fc9fd257748284cf8ced5dd5237737d..e7c656009a850d8720de7f8db0e4961f3763b32d 100644 (file)
@@ -1,8 +1,8 @@
-ncurses6 (6.0+20170429) unstable; urgency=low
+ncurses6 (6.0+20170506) unstable; urgency=low
 
   * latest weekly patch
 
- -- Thomas E. Dickey <dickey@invisible-island.net>  Sun, 23 Apr 2017 10:51:25 -0400
+ -- Thomas E. Dickey <dickey@invisible-island.net>  Sun, 30 Apr 2017 12:25:14 -0400
 
 ncurses6 (5.9-20131005) unstable; urgency=low
 
index 5e4966719fc9fd257748284cf8ced5dd5237737d..e7c656009a850d8720de7f8db0e4961f3763b32d 100644 (file)
@@ -1,8 +1,8 @@
-ncurses6 (6.0+20170429) unstable; urgency=low
+ncurses6 (6.0+20170506) unstable; urgency=low
 
   * latest weekly patch
 
- -- Thomas E. Dickey <dickey@invisible-island.net>  Sun, 23 Apr 2017 10:51:25 -0400
+ -- Thomas E. Dickey <dickey@invisible-island.net>  Sun, 30 Apr 2017 12:25:14 -0400
 
 ncurses6 (5.9-20131005) unstable; urgency=low
 
index d0a849617e016b26fb16bca0c2b7d5b3b011e5ba..fe9b2355d5b5cdfbfdf01284d473556bac52aaa6 100644 (file)
@@ -1,8 +1,8 @@
-ncurses6 (6.0+20170429) unstable; urgency=low
+ncurses6 (6.0+20170506) unstable; urgency=low
 
   * latest weekly patch
 
- -- Thomas E. Dickey <dickey@invisible-island.net>  Sun, 23 Apr 2017 10:51:25 -0400
+ -- Thomas E. Dickey <dickey@invisible-island.net>  Sun, 30 Apr 2017 12:25:14 -0400
 
 ncurses6 (5.9-20120608) unstable; urgency=low
 
index 550aa64cf772e8e962112973ce1dfe027451a2ba..0d3fd023e99ad2fb8ea8b7efd36102289a4e33f4 100644 (file)
@@ -1,4 +1,4 @@
-; $Id: mingw-ncurses.nsi,v 1.209 2017/04/23 14:51:25 tom Exp $\r
+; $Id: mingw-ncurses.nsi,v 1.210 2017/04/30 16:25:14 tom Exp $\r
 \r
 ; TODO add examples\r
 ; TODO bump ABI to 6\r
@@ -10,7 +10,7 @@
 !define VERSION_MAJOR "6"\r
 !define VERSION_MINOR "0"\r
 !define VERSION_YYYY  "2017"\r
-!define VERSION_MMDD  "0429"\r
+!define VERSION_MMDD  "0506"\r
 !define VERSION_PATCH ${VERSION_YYYY}${VERSION_MMDD}\r
 \r
 !define MY_ABI   "5"\r
index ff86202f5d48c95196ff68afd5a73eb50d4b4552..385a38a26610344091873b4f26cf466cb69c4584 100644 (file)
@@ -3,7 +3,7 @@
 Summary: shared libraries for terminal handling
 Name: mingw32-ncurses6
 Version: 6.0
-Release: 20170429
+Release: 20170506
 License: X11
 Group: Development/Libraries
 Source: ncurses-%{version}-%{release}.tgz
index 2b88c395ba53ac0d1f7a102f21bc399fa05e3a7e..eefcc13810a4d897818cb97f665dfd2efff388e6 100644 (file)
@@ -1,7 +1,7 @@
 Summary: shared libraries for terminal handling
 Name: ncurses6
 Version: 6.0
-Release: 20170429
+Release: 20170506
 License: X11
 Group: Development/Libraries
 Source: ncurses-%{version}-%{release}.tgz
index d48016e4813003f51f9494282dfcbec479612432..dad3135f4fceec9ccca61e11c2de045ac8aaa138 100644 (file)
@@ -39,7 +39,7 @@
 #include "termsort.c"          /* this C file is generated */
 #include <parametrized.h>      /* so is this */
 
-MODULE_ID("$Id: dump_entry.c,v 1.150 2017/04/05 09:27:40 tom Exp $")
+MODULE_ID("$Id: dump_entry.c,v 1.152 2017/05/06 18:56:15 tom Exp $")
 
 #define DISCARD(string) string = ABSENT_STRING
 #define PRINTF (void) printf
@@ -796,6 +796,28 @@ fmt_complex(TERMTYPE2 *tterm, const char *capability, char *src, int level)
     return src;
 }
 
+/*
+ * Make "large" numbers a little easier to read by showing them in hexadecimal
+ * if they are "close" to a power of two.
+ */
+static const char *
+number_format(int value)
+{
+    const char *result = "%d";
+    if ((outform != F_TERMCAP) && (value > 255)) {
+       unsigned long lv = (unsigned long) value;
+       unsigned long mm;
+       int nn;
+       for (nn = 8; (mm = (1UL << nn)) != 0; ++nn) {
+           if ((mm - 16) <= lv && (mm + 16) > lv) {
+               result = "%#x";
+               break;
+           }
+       }
+    }
+    return result;
+}
+
 #define SAME_CAP(n,cap) (&tterm->Strings[n] == &cap)
 #define EXTRA_CAP 20
 
@@ -892,8 +914,13 @@ fmt_entry(TERMTYPE2 *tterm,
                _nc_SPRINTF(buffer, _nc_SLIMIT(sizeof(buffer))
                            "%s@", name);
            } else {
+               size_t nn;
                _nc_SPRINTF(buffer, _nc_SLIMIT(sizeof(buffer))
-                           "%s#%d", name, tterm->Numbers[i]);
+                           "%s#", name);
+               nn = strlen(buffer);
+               _nc_SPRINTF(buffer + nn, _nc_SLIMIT(sizeof(buffer) - nn)
+                           number_format(tterm->Numbers[i]),
+                           tterm->Numbers[i]);
                if (i + 1 > num_values)
                    num_values = i + 1;
            }
index bb343c593a1d559b4766fa668414f5dd3ddf463d..728fdcd0841c0d24ff94855ceb006abe953e51b1 100644 (file)
@@ -40,7 +40,7 @@ AUTHOR
    Author: Eric S. Raymond <esr@snark.thyrsus.com> 1993
            Thomas E. Dickey (beginning revision 1.27 in 1996).
 
-$Id: ncurses.c,v 1.449 2017/04/15 18:53:50 tom Exp $
+$Id: ncurses.c,v 1.450 2017/05/05 14:58:47 tom Exp $
 
 ***************************************************************************/
 
@@ -3984,7 +3984,7 @@ show_wacs_chars_double(int repeat, attr_t attr, NCURSES_PAIRS_T pair)
     n = show_1_wacs(n, repeat, BOTH2(WACS_DEGREE));
     n = show_1_wacs(n, repeat, BOTH2(WACS_DIAMOND));
     n = show_1_wacs(n, repeat, BOTH2(WACS_PLMINUS));
-    n = show_1_wacs(n, repeat, BOTH2(WACS_PLUS));
+    n = show_1_wacs(n, repeat, BOTH2(WACS_D_PLUS));
 
 #ifdef CURSES_WACS_ARRAY
     n = show_1_wacs(n, repeat, BOTH2(WACS_GEQUAL));
@@ -4045,7 +4045,7 @@ show_wacs_chars_thick(int repeat, attr_t attr, NCURSES_PAIRS_T pair)
     n = show_1_wacs(n, repeat, BOTH2(WACS_DEGREE));
     n = show_1_wacs(n, repeat, BOTH2(WACS_DIAMOND));
     n = show_1_wacs(n, repeat, BOTH2(WACS_PLMINUS));
-    n = show_1_wacs(n, repeat, BOTH2(WACS_PLUS));
+    n = show_1_wacs(n, repeat, BOTH2(WACS_T_PLUS));
 
 #ifdef CURSES_WACS_ARRAY
     n = show_1_wacs(n, repeat, BOTH2(WACS_GEQUAL));