X-Git-Url: https://ncurses.scripts.mit.edu/?p=ncurses.git;a=blobdiff_plain;f=doc%2Fhtml%2Fman%2Fncurses.3x.html;h=96f662accc6281344375599fbb635fa9bd6ece1b;hp=7aaa61b46a8df51a3ce6f7becdcb4c12be9f6689;hb=aabb3a65ee5d88949abe529b5131adedb9cfab84;hpb=0ac2306dd3aaab1338d8b1458c15a7e476cfc3ff diff --git a/doc/html/man/ncurses.3x.html b/doc/html/man/ncurses.3x.html index 7aaa61b4..96f662ac 100644 --- a/doc/html/man/ncurses.3x.html +++ b/doc/html/man/ncurses.3x.html @@ -1,8 +1,7 @@ - + + + ncurses 3x -

ncurses 3x

-
+

ncurses 3x

-
 ncurses(3x)                                                 ncurses(3x)
 
 
 
 
 
-

NAME

+

NAME

        ncurses - CRT screen handling and optimization package
 
 
 
-

SYNOPSIS

+

SYNOPSIS

        #include <curses.h>
 
 
 
-

DESCRIPTION

+

DESCRIPTION

        The  ncurses  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  classic curses, which has been discontinued.  This
-       describes ncurses version 5.7 (patch 20100918).
+       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
+       ncurses version 5.9 (patch 20150523).
 
        The ncurses library emulates the curses library of  System
        V  Release  4  UNIX,  and  XPG4 (X/Open Portability Guide)
@@ -214,7 +214,9 @@
        clearing and redrawing a screen containing  garbage.   The
        curscr can be used in only a few routines.
 
-   Routine and Argument Names
+
+
+

Routine and Argument Names

        Many  curses routines have two or more versions.  The rou-
        tines prefixed with w require a window argument.  The rou-
        tines prefixed with p require a pad argument.  Those with-
@@ -297,7 +299,9 @@
                    ants:  a  "_w" is inserted into the name.  For
                    example, waddch becomes wadd_wch.
 
-   Routine Name Index
+
+
+

Routine Name Index

        The following table lists each curses routine and the name
        of  the  manual  page  on which it is described.  Routines
        flagged with `*' are ncurses-specific,  not  described  by
@@ -654,6 +658,7 @@
               use_env                 curs_util(3x)
               use_extended_names      curs_extend(3x)*
               use_legacy_coding       legacy_coding(3x)*
+              use_tioctl              curs_util(3x)
               vid_attr                curs_terminfo(3x)
               vid_puts                curs_terminfo(3x)
               vidattr                 curs_terminfo(3x)
@@ -705,8 +710,8 @@
               wgetch                  curs_getch(3x)
               wgetn_wstr              curs_get_wstr(3x)
               wgetnstr                curs_getstr(3x)
-              wgetstr                 curs_getstr(3x)
 
+              wgetstr                 curs_getstr(3x)
               whline                  curs_border(3x)
               whline_set              curs_border_set(3x)
               win_wch                 curs_in_wch(3x)
@@ -749,15 +754,18 @@
 
 
 
-

RETURN VALUE

+

RETURN VALUE

        Routines  that  return  an integer return ERR upon failure
        and an integer value other than ERR upon  successful  com-
        pletion,  unless  otherwise  noted in the routine descrip-
        tions.
 
-       All macros return the  value  of  the  w  version,  except
+       As a general rule, routines check for null pointers passed
+       as parameters, and handle this as an error.
+
+       All  macros  return  the  value  of  the w version, except
        setscrreg, wsetscrreg, getyx, getbegyx, and getmaxyx.  The
-       return values of setscrreg, wsetscrreg,  getyx,  getbegyx,
+       return  values  of setscrreg, wsetscrreg, getyx, getbegyx,
        and getmaxyx are undefined (i.e., these should not be used
        as the right-hand side of assignment statements).
 
@@ -765,22 +773,14 @@
 
 
 
-

ENVIRONMENT

+

ENVIRONMENT

        The following environment symbols are useful for customiz-
        ing the runtime behavior of the ncurses library.  The most
        important ones have been already discussed in detail.
 
-       BAUDRATE
-            The debugging library checks this environment  symbol
-            when the application has redirected output to a file.
-            The symbol's numeric value is used for the  baudrate.
-            If no value is found, ncurses uses 9600.  This allows
-            testers to construct repeatable test-cases that  take
-            into account costs that depend on baudrate.
-
        CC   When set, change occurrences of the command_character
             (i.e., the cmdch capability) of the  loaded  terminfo
-            entries  to  the value of this symbol.  Very few ter-
+            entries to the value of this variable.  Very few ter-
             minfo entries provide this feature.
 
             Because this name is also used in  development  envi-
@@ -788,6 +788,15 @@
             ignores it if it does not happen to be a single char-
             acter.
 
+       BAUDRATE
+            The  debugging  library checks this environment vari-
+            able when the application has redirected output to  a
+            file.   The  variable's numeric value is used for the
+            baudrate.  If no value is found, ncurses  uses  9600.
+            This  allows  testers  to  construct repeatable test-
+            cases that take into account  costs  that  depend  on
+            baudrate.
+
        COLUMNS
             Specify  the  width  of  the  screen  in  characters.
             Applications running in a windowing environment  usu-
@@ -815,39 +824,42 @@
             as emulations.
 
             Use the use_env function to disable all use of exter-
-            nal environment (including system calls) to determine
-            the screen size.
+            nal  environment  (but not including system calls) to
+            determine the screen size.  Use the use_tioctl  func-
+            tion  to  update COLUMNS or LINES to match the screen
+            size obtained from system calls or the terminal data-
+            base.
 
        ESCDELAY
-            Specifies the total time, in milliseconds, for  which
-            ncurses  will  await  a  character  sequence, e.g., a
-            function key.  The default value, 1000  milliseconds,
+            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 vari-
             able 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.
+            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 char-
-            acter sequences received from  the  xterm.   If  your
+            Note that xterm mouse events are built up from  char-
+            acter  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
+            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  imple-
-            mentation  provides  a  global variable with the same
+            In  addition to the environment variable, this imple-
+            mentation 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 applica-
+            presence of ESCDELAY in either form, but setting  the
+            environment  variable rather than the global variable
+            does not create problems when compiling  an  applica-
             tion.
 
-       HOME Tells ncurses where your home directory is.  That  is
+       HOME Tells  ncurses where your home directory is.  That is
             where  it  may  read  and  write  auxiliary  terminal
             descriptions:
 
@@ -855,124 +867,175 @@
             $HOME/.terminfo
 
        LINES
-            Like COLUMNS, specify the height  of  the  screen  in
+            Like  COLUMNS,  specify  the  height of the screen in
             characters.  See COLUMNS for a detailed description.
 
        MOUSE_BUTTONS_123
             This applies only to the OS/2 EMX port.  It specifies
-            the order of buttons on the mouse.   OS/2  numbers  a
+            the  order  of  buttons on the mouse.  OS/2 numbers a
             3-button mouse inconsistently from other platforms:
 
             1 = left
             2 = right
             3 = middle.
 
-            This symbol lets you customize the mouse.  The symbol
-            must be three numeric digits 1-3 in any order,  e.g.,
-            123  or  321.   If  it is not specified, ncurses 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  specified,
+            ncurses uses 132.
 
        NCURSES_ASSUMED_COLORS
-            Override the compiled-in assumption that  the  termi-
-            nal's   default   colors   are   white-on-black  (see
-            default_colors(3x)).  You may set the foreground  and
-            background  color  values with this environment vari-
-            able by proving a  2-element  list:  foreground,back-
-            ground.   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 posi-
+            Override  the  compiled-in assumption that the termi-
+            nal's  default   colors   are   white-on-black   (see
+            default_colors(3x)).   You may set the foreground and
+            background color values with this  environment  vari-
+            able  by  proving  a 2-element list: foreground,back-
+            ground.  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  posi-
             tive value from zero to the terminfo max_colors value
             is allowed.
 
+       NCURSES_CONSOLE2
+            This applies only to the MinGW port of ncurses.
+
+            The Console2 program's handling of the Microsoft Con-
+            sole API call CreateConsoleScreenBuffer 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 environ-
+            ment variable NCGDB has the same effect.
+
        NCURSES_GPM_TERMS
-            This  applies  only  to ncurses configured to use the
+            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 TERM envi-
-            ronment variable is matched.  Setting it to an  empty
-            value  disables the GPM interface; using the built-in
+            or more terminal names against which the  TERM  envi-
+            ronment  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
+            If  the  environment variable is absent, ncurses will
             attempt to open GPM if TERM contains "linux".
 
        NCURSES_NO_HARD_TABS
-            Ncurses  may  use tabs as part of the cursor movement
-            optimization.  In some cases,  your  terminal  driver
-            may  not handle these properly.  Set this environment
+            Ncurses 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 stty settings to avoid the problem.
 
-       NCURSES_NO_MAGIC_COOKIES
+       NCURSES_NO_MAGIC_COOKIE
             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  termi-
+            requires  special  handling  to make highlighting and
+            other video attributes  display  properly.   You  can
+            suppress  the  highlighting entirely for these termi-
             nals by setting this environment variable.
 
        NCURSES_NO_PADDING
-            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  applica-
-            tions.   Terminal  emulators can duplicate all of the
+            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 applica-
+            tions.  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
+            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., tim-
             ing.  Unless a hardware terminal is interfaced into a
-            terminal  concentrator  (which does flow control), it
-            (or your application) must manage dataflow,  prevent-
-            ing  overruns.   The  cheapest  solution (no hardware
+            terminal concentrator (which does flow  control),  it
+            (or  your application) must manage dataflow, prevent-
+            ing 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
+            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
+            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 symbol to disable all but
-            mandatory padding.  Mandatory padding is  used  as  a
-            part of special control sequences such as flash.
+            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 flash.
 
        NCURSES_NO_SETBUF
-            Normally  ncurses enables buffered output during ter-
-            minal initialization.   This  is  done  (as  in  SVr4
-            curses)  for  performance  reasons.  For testing pur-
-            poses, both of ncurses and certain applications, this
-            feature    is    made    optional.     Setting    the
-            NCURSES_NO_SETBUF variable disables output buffering,
-            leaving  the  output  in  the  original (usually line
-            buffered) mode.
+            This setting is obsolete.  Before changes
+
+            o   started with 5.9 patch 20120825 and
+
+            o   continued though 5.9 patch 20130126
+
+            ncurses  enabled buffered output during terminal ini-
+            tialization.  This was done (as in SVr4  curses)  for
+            performance  reasons.   For testing purposes, both of
+            ncurses and certain applications,  this  feature  was
+            made  optional.   Setting the NCURSES_NO_SETBUF vari-
+            able 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 out-
+            put.
+
+            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 putp still
+            use the standard output.  But high-level curses calls
+            do not.
 
        NCURSES_NO_UTF8_ACS
             During initialization, the ncurses library checks for
-            special  cases where VT100 line-drawing (and the cor-
-            responding  alternate  character  set   capabilities)
-            described  in  the  terminfo are known to be missing.
-            Specifically, when running in  a  UTF-8  locale,  the
-            Linux  console  emulator  and  the GNU screen program
-            ignore these.  Ncurses checks  the  TERM  environment
-            variable  for  these.   For  other special cases, you
-            should set this  environment  variable.   Doing  this
-            tells  ncurses to use Unicode values which correspond
+            special cases where VT100 line-drawing (and the  cor-
+            responding   alternate  character  set  capabilities)
+            described in the terminfo are known  to  be  missing.
+            Specifically,  when  running  in  a UTF-8 locale, the
+            Linux console emulator and  the  GNU  screen  program
+            ignore  these.   Ncurses  checks the TERM 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 termi-
             nal emulators.
 
-            When setting this variable, you should set  it  to  a
-            nonzero  value.   Setting it to zero (or to a nonnum-
-            ber) disables  the  special  check  for  "linux"  and
+            When  setting  this  variable, you should set it to a
+            nonzero value.  Setting it to zero (or to  a  nonnum-
+            ber)  disables  the  special  check  for  "linux" and
             "screen".
 
+            As  an  alternative  to  the  environment   variable,
+            ncurses  checks  for  an extended terminfo capability
+            U8.  This is a numeric capability which can  be  com-
+            piled using tic -x.  For example
+
+            # linux console, if patched to provide working
+            # VT100 shift-in/shift-out, with corresponding font.
+            linux-vt100|linux console with VT100 line-graphics,
+                    U8#0, use=linux,
+
+            # uxterm with vt100Graphics resource set to false
+            xterm-utf8|xterm relying on UTF-8 line-graphics,
+                    U8#1, use=xterm,
+
+            The name "U8" is chosen to be two characters, to per-
+            mit it to be used by applications that  use  ncurses'
+            termcap interface.
+
        NCURSES_TRACE
             During  initialization, the ncurses debugging library
-            checks the NCURSES_TRACE symbol.  If it  is  defined,
-            to a numeric value, ncurses calls the trace function,
-            using that value as the argument.
+            checks the NCURSES_TRACE environment variable.  If it
+            is  defined,  to  a  numeric value, ncurses calls the
+            trace function, using that value as the argument.
 
             The argument values, which are defined  in  curses.h,
             provide  several  types of information.  When running
@@ -982,18 +1045,34 @@
        TERM Denotes  your  terminal  type.  Each terminal type is
             distinct, though many are similar.
 
+            TERM is commonly set by terminal  emulators  to  help
+            applications  find  a  workable terminal description.
+            Some of those choose a popular  approximation,  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 def-
+            initions.
+
+            If you set TERM in your environment, it has no effect
+            on  the  operation of the terminal emulator.  It only
+            affects the way applications work within  the  termi-
+            nal.  Likewise, as a general rule (xterm being a rare
+            exception), terminal emulators  which  allow  you  to
+            specify TERM as a parameter or configuration value do
+            not change their behavior to match that setting.
+
        TERMCAP
             If the ncurses library has been configured with term-
             cap  support,  ncurses  will  check  for a terminal's
             description in termcap form if it is not available in
             the terminfo database.
 
-            The   TERMCAP   symbol  contains  either  a  terminal
-            description (with newlines stripped out), or  a  file
-            name  telling  where  the  information denoted by the
-            TERM symbol  exists.   In  either  case,  setting  it
-            directs  ncurses  to  ignore the usual place for this
-            information, e.g., /etc/termcap.
+            The  TERMCAP  environment  variable contains either a
+            terminal description (with newlines stripped out), or
+            a  file name telling where the information denoted by
+            the TERM  environment  variable  exists.   In  either
+            case,  setting it directs ncurses to ignore the usual
+            place for this information, e.g., /etc/termcap.
 
        TERMINFO
             Overrides the directory in which ncurses searches for
@@ -1004,41 +1083,63 @@
             o   the  last  directory  to  which ncurses wrote, if
                 any, is searched first
 
-            o   the directory specified by the TERMINFO symbol
+            o   the directory specified by the TERMINFO  environ-
+                ment variable
 
             o   $HOME/.terminfo
 
-            o   directories listed in the TERMINFO_DIRS symbol
+            o   directories  listed in the TERMINFO_DIRS environ-
+                ment variable
 
             o   one or more directories whose names  are  config-
-                ured and compiled into the ncurses library, e.g.,
-                /usr/share/terminfo
+                ured and compiled into the ncurses library, i.e.,
+
+                o   /usr/local/ncurses/share/ter-
+                    minfo:/usr/share/terminfo  (corresponding  to
+                    the TERMINFO_DIRS variable)
+
+                o   /usr/share/terminfo   (corresponding  to  the
+                    TERMINFO variable)
 
        TERMINFO_DIRS
             Specifies a list of directories to search for  termi-
             nal  descriptions.   The  list is separated by colons
-            (i.e., ":") on Unix, semicolons on OS/2 EMX.  All  of
-            the terminal descriptions are in terminfo form, which
-            makes a subdirectory named for the  first  letter  of
-            the terminal names therein.
+            (i.e., ":") on Unix, semicolons on OS/2 EMX.
+
+            All of the  terminal  descriptions  are  in  terminfo
+            form.  Normally these are stored in a directory tree,
+            using subdirectories named by the first letter of the
+            terminal names therein.
+
+            If ncurses is built with a hashed database, then each
+            entry in this list can also be the path of the corre-
+            sponding database file.
+
+            If  ncurses is built with a support for reading term-
+            cap files directly, then an entry in this list may be
+            the path of a termcap file.
 
        TERMPATH
             If  TERMCAP  does  not  hold a file name then ncurses
-            checks the TERMPATH symbol.  This is a list of  file-
-            names  separated  by  spaces or colons (i.e., ":") on
-            Unix, semicolons on OS/2 EMX.  If the TERMPATH symbol
-            is  not set, ncurses looks in the files /etc/termcap,
+            checks the TERMPATH environment variable.  This is  a
+            list  of  filenames  separated  by  spaces  or colons
+            (i.e., ":") on Unix, semicolons on OS/2 EMX.
+
+            If the TERMPATH  environment  variable  is  not  set,
+            ncurses    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:
-       $TERMINFO, $TERMINFO_DIRS, $TERMPATH, as well as $HOME.
+       or if the application uses setuid or setgid permissions:
+
+              $TERMINFO,  $TERMINFO_DIRS,  $TERMPATH,  as well as
+              $HOME.
 
 
 
-

ALTERNATE CONFIGURATIONS

+

ALTERNATE CONFIGURATIONS

        Several different configurations are  possible,  depending
        on   the  configure  script  options  used  when  building
        ncurses.  There are a few main options whose  effects  are
@@ -1087,6 +1188,17 @@
             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 --enable-widec).
+
+            The global variables such as LINES  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-normal
@@ -1109,7 +1221,7 @@
 
 
 
-

FILES

+

FILES

        /usr/share/tabset
             directory containing  initialization  files  for  the
             terminal capability database /usr/share/terminfo ter-
@@ -1117,13 +1229,14 @@
 
 
 
-

SEE ALSO

+

SEE ALSO

        terminfo(5) and related pages whose  names  begin  "curs_"
        for detailed routine descriptions.
+       curs_variables(3x)
 
 
 
-

EXTENSIONS

+

EXTENSIONS

        The  ncurses  library  can  be  compiled  with  an  option
        (-DUSE_GETCAP) that falls back to the old-style /etc/term-
        cap file if the terminal setup code cannot find a terminfo
@@ -1163,7 +1276,7 @@
 
 
 
-

PORTABILITY

+

PORTABILITY

        The ncurses library is intended to be  BASE-level  confor-
        mant with XSI Curses.  The EXTENDED XSI Curses functional-
        ity (including color support) is supported.
@@ -1173,33 +1286,49 @@
        described in  PORTABILITY  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.
+
        This implementation also contains several extensions:
 
-            The  routine  has_key  is not part of XPG4, nor is it
-            present in SVr4.  See the curs_getch(3x) manual  page
-            for details.
+       o   The routine has_key is not part of  XPG4,  nor  is  it
+           present  in  SVr4.  See the curs_getch(3x) manual page
+           for details.
+
+       o   The routine slk_attr is not part of XPG4,  nor  is  it
+           present in SVr4.  See the curs_slk(3x) manual page for
+           details.
+
+       o   The routines getmouse, mousemask, ungetmouse, mousein-
+           terval, and wenclose relating to mouse interfacing are
+           not part of XPG4, nor are they present in  SVr4.   See
+           the curs_mouse(3x) manual page for details.
 
-            The  routine  slk_attr is not part of XPG4, nor is it
-            present in SVr4.  See the  curs_slk(3x)  manual  page
-            for details.
+       o   The  routine  mcprint  was not present in any previous
+           curses implementation.  See the curs_print(3x)  manual
+           page for details.
 
-            The  routines  getmouse,  mousemask, ungetmouse, mou-
-            seinterval, and wenclose relating to mouse  interfac-
-            ing  are  not  part  of XPG4, nor are they present in
-            SVr4.   See  the  curs_mouse(3x)  manual   page   for
-            details.
+       o   The  routine  wresize  is  not part of XPG4, nor is it
+           present in SVr4.  See the wresize(3x) manual page  for
+           details.
 
-            The  routine  mcprint was not present in any previous
-            curses implementation.  See the curs_print(3x) manual
-            page for details.
+       o   The  WINDOW structure's internal details can be hidden
+           from application programs.   See  curs_opaque(3x)  for
+           the discussion of is_scrollok, etc.
 
-            The  routine  wresize  is not part of XPG4, nor is it
-            present in SVr4.  See the wresize(3x) manual page for
-            details.
+       o   This implementation can be configured to provide rudi-
+           mentary support for multi-threaded applications.   See
+           curs_threads(3x) for details.
 
-            The WINDOW structure's internal details can be hidden
-            from application programs.  See  curs_opaque(3x)  for
-            the discussion of is_scrollok, etc.
+       o   This  implementation can also be configured to provide
+           a set of functions which improve the ability to manage
+           multiple screens.  See curs_sp_funcs(3x) for details.
 
        In  historic curses versions, delays embedded in the capa-
        bilities cr, ind, cub1, ff and tab activated corresponding
@@ -1211,7 +1340,7 @@
 
 
 
-

NOTES

+

NOTES

        The  header  file  <curses.h>  automatically  includes the
        header files <stdio.h> and <unctrl.h>.
 
@@ -1222,7 +1351,7 @@
 
 
 
-

AUTHORS

+

AUTHORS

        Zeyd  M.  Ben-Halim,  Eric  S.  Raymond, Thomas E. Dickey.
        Based on pcurses by Pavel Curtis.
 
@@ -1230,10 +1359,26 @@
 
                                                             ncurses(3x)
 
-
-
-Man(1) output converted with -man2html -
+