]> ncurses.scripts.mit.edu Git - ncurses.git/blobdiff - doc/html/man/ncurses.3x.html
ncurses 6.0 - patch 20170204
[ncurses.git] / doc / html / man / ncurses.3x.html
index 7aaa61b46a8df51a3ce6f7becdcb4c12be9f6689..753ccfebf6df2f9dc93c3050be721cd77233a956 100644 (file)
@@ -1,8 +1,7 @@
-<!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML 2.0//EN">
 <!-- 
   * t
   ****************************************************************************
-  * Copyright (c) 1998-2009,2010 Free Software Foundation, Inc.              *
+  * Copyright (c) 1998-2015,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            *
   * sale, use or other dealings in this Software without prior written       *
   * authorization.                                                           *
   ****************************************************************************
-  * @Id: ncurses.3x,v 1.98 2010/09/18 20:17:20 tom Exp @
+  * @Id: ncurses.3x,v 1.128 2017/02/05 00:33:02 tom Exp @
 -->
+<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN">
 <HTML>
 <HEAD>
+<meta http-equiv="Content-Type" content="text/html; charset=us-ascii">
+<meta name="generator" content="Manpage converted by man2html - see http://invisible-island.net/scripts/readme.html#others_scripts">
 <TITLE>ncurses 3x</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>ncurses 3x</H1>
-<HR>
+<H1 class="no-header">ncurses 3x</H1>
 <PRE>
-<!-- Manpage converted by man2html 3.0.1 -->
 <STRONG><A HREF="ncurses.3x.html">ncurses(3x)</A></STRONG>                                                 <STRONG><A HREF="ncurses.3x.html">ncurses(3x)</A></STRONG>
 
 
 
 
-</PRE>
-<H2>NAME</H2><PRE>
+</PRE><H2><a name="h2-NAME">NAME</a></H2><PRE>
        <STRONG>ncurses</STRONG> - CRT screen handling and optimization package
 
 
-</PRE>
-<H2>SYNOPSIS</H2><PRE>
+</PRE><H2><a name="h2-SYNOPSIS">SYNOPSIS</a></H2><PRE>
        <STRONG>#include</STRONG> <STRONG>&lt;curses.h&gt;</STRONG>
 
 
-</PRE>
-<H2>DESCRIPTION</H2><PRE>
+</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  classic curses, which has been discontinued.  This
-       describes <STRONG>ncurses</STRONG> 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
+       <STRONG>ncurses</STRONG> version 6.0 (patch 20170204).
 
        The <STRONG>ncurses</STRONG> library emulates the curses library of  System
        V  Release  4  UNIX,  and  XPG4 (X/Open Portability Guide)
        lation; use of soft label keys; terminfo capabilities; 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
-       certain legacy programs.  You should initialize the locale
-       and  not  rely on specific details of the library when the
-       locale has not been setup.
+               <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>endwin</STRONG>
+       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>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.]
 
-       Before  a <STRONG>curses</STRONG> program is run, the tab stops of the ter-
-       minal 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 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.]
 
+</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
        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>refresh</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.
+       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
        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
        <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>/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
 
-       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 avail-
-       able.
+           <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
+       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
+       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
+       clearing  and  redrawing a screen containing garbage.  The
        <STRONG>curscr</STRONG> can be used in only a few routines.
 
-   <STRONG>Routine</STRONG> <STRONG>and</STRONG> <STRONG>Argument</STRONG> <STRONG>Names</STRONG>
-       Many  <STRONG>curses</STRONG> routines have two or more versions.  The rou-
+
+</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
+       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
+       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
+       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
+       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
+       This  manual  page describes functions which may appear in
+       any configuration of the library.  There  are  two  common
        configurations of the library:
 
-              ncurses
-                   the  "normal"  library,  which  handles  8-bit
-                   characters.  The normal (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.
-
-                   Each cell (row and  column)  in  a  <STRONG>WINDOW</STRONG>  is
-                   stored as a <STRONG>chtype</STRONG>.
-
-              ncursesw
-                   the  so-called  "wide"  library, which handles
-                   multibyte  characters  (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 charac-
-                   ters:
-
-                   <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 char-
-                        acters 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 sepa-
-                        rate fields of the structure.
-
-                        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.
-
-                   <STRONG>wint_t</STRONG>
-                        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  "nor-
-                   mal"  library.   There  is a naming convention
-                   which relates many of  the  normal/wide  vari-
-                   ants:  a  "_w" is inserted into the name.  For
-                   example, <STRONG>waddch</STRONG> becomes <STRONG>wadd_wch</STRONG>.
-
-   <STRONG>Routine</STRONG> <STRONG>Name</STRONG> <STRONG>Index</STRONG>
+          <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.
+
+               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>.
+
+          <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:
+
+               <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.
+
+                    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.
+
+               <STRONG>wint_t</STRONG>
+                    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>.
+
+
+</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
               _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>*
               _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>
               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>
               filter                  <STRONG><A HREF="curs_util.3x.html">curs_util(3x)</A></STRONG>
               flushinp                <STRONG><A HREF="curs_util.3x.html">curs_util(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>*
               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>
               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>
               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>
               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>
+              tiparm                  <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>
               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>
               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>
               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>
-              wgetstr                 <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>
               wvline_set              <STRONG><A HREF="curs_border_set.3x.html">curs_border_set(3x)</A></STRONG>
 
 
-</PRE>
-<H2>RETURN VALUE</H2><PRE>
+</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.
 
-       All macros return the  value  of  the  <STRONG>w</STRONG>  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 <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>,
+       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>ENVIRONMENT</H2><PRE>
+</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.
 
-       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, <STRONG>ncurses</STRONG> 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 <STRONG>cmdch</STRONG> capability) of the  loaded  terminfo
-            entries  to  the value of this symbol.  Very few ter-
-            minfo entries provide this feature.
-
-            Because this name is also used in  development  envi-
-            ronments  to represent the C compiler's name, <STRONG>ncurses</STRONG>
-            ignores it if it does not happen to be a single char-
-            acter.
-
-       COLUMNS
-            Specify  the  width  of  the  screen  in  characters.
-            Applications running in a windowing environment  usu-
-            ally  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.  However, 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
-            independently.   This  is mainly useful to circumvent
-            legacy misfeatures of  terminal  descriptions,  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 description for terminals which are run
-            as emulations.
-
-            Use the <STRONG>use_env</STRONG> function to disable all use of exter-
-            nal environment (including system calls) to determine
-            the screen size.
-
-       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,
-            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.
-            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
-            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  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-
-            tion.
-
-       HOME Tells <STRONG>ncurses</STRONG> where your home directory is.  That  is
-            where  it  may  read  and  write  auxiliary  terminal
-            descriptions:
-
-            $HOME/.termcap
-            $HOME/.terminfo
-
-       LINES
-            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
-            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, <STRONG>ncurses</STRONG> uses
-            132.
-
-       NCURSES_ASSUMED_COLORS
-            Override the compiled-in assumption that  the  termi-
-            nal's   default   colors   are   white-on-black  (see
-            <STRONG><A HREF="default_colors.3x.html">default_colors(3x)</A></STRONG>).  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 <STRONG>max_colors</STRONG> value
-            is allowed.
-
-       NCURSES_GPM_TERMS
-            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
-            support for xterm, etc.
-
-            If the environment variable is absent,  ncurses  will
-            attempt to open GPM if TERM contains "linux".
-
-       NCURSES_NO_HARD_TABS
-            <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.
-
-       NCURSES_NO_MAGIC_COOKIES
-            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-
-            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
-            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., 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
-            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 symbol to disable all but
-            mandatory padding.  Mandatory padding is  used  as  a
-            part of special control sequences such as <EM>flash</EM>.
-
-       NCURSES_NO_SETBUF
-            Normally  <STRONG>ncurses</STRONG> enables buffered output during ter-
-            minal initialization.   This  is  done  (as  in  SVr4
-            curses)  for  performance  reasons.  For testing pur-
-            poses, both of <STRONG>ncurses</STRONG> 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.
-
-       NCURSES_NO_UTF8_ACS
-            During initialization, the <STRONG>ncurses</STRONG> 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
-            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
-            "screen".
-
-       NCURSES_TRACE
-            During  initialization, the <STRONG>ncurses</STRONG> debugging library
-            checks the NCURSES_TRACE symbol.  If it  is  defined,
-            to a numeric value, <STRONG>ncurses</STRONG> calls the <STRONG>trace</STRONG> function,
-            using that value as the argument.
-
-            The argument values, which are defined  in  <STRONG>curses.h</STRONG>,
-            provide  several  types of information.  When running
-            with traces enabled, your application will write  the
-            file <STRONG>trace</STRONG> to the current directory.
-
-       TERM Denotes  your  terminal  type.  Each terminal type is
-            distinct, though many are similar.
-
-       TERMCAP
-            If the <STRONG>ncurses</STRONG> library has been configured with <EM>term-</EM>
-            <EM>cap</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   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  <STRONG>ncurses</STRONG>  to  ignore the usual place for this
-            information, e.g., /etc/termcap.
-
-       TERMINFO
-            Overrides the directory in which <STRONG>ncurses</STRONG> searches for
-            your terminal description.  This is the simplest, but
-            not the only way to change the list  of  directories.
-            The complete list of directories in order follows:
-
-            <STRONG>o</STRONG>   the  last  directory  to  which <STRONG>ncurses</STRONG> wrote, if
-                any, is searched first
-
-            <STRONG>o</STRONG>   the directory specified by the TERMINFO symbol
-
-            <STRONG>o</STRONG>   $HOME/.terminfo
-
-            <STRONG>o</STRONG>   directories listed in the TERMINFO_DIRS symbol
-
-            <STRONG>o</STRONG>   one or more directories whose names  are  config-
-                ured and compiled into the ncurses library, e.g.,
-                /usr/share/terminfo
-
-       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.
-
-       TERMPATH
-            If  TERMCAP  does  not  hold a file name then <STRONG>ncurses</STRONG>
-            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, <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:
-       $TERMINFO, $TERMINFO_DIRS, $TERMPATH, as well as $HOME.
+   <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-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.
+
+
+</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
+       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.
+
+       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.
+
+
+</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:
+
+       $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.
+
+
+</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:
+
+       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.
+
+
+</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.
+
+
+</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.
+
+
+</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.
+
+       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  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.
+
+
+</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>.
+
+
+</PRE><H3><a name="h3-NCURSES_NO_SETBUF">NCURSES_NO_SETBUF</a></H3><PRE>
+       This setting is obsolete.  Before changes
+
+          <STRONG>o</STRONG>   started with 5.9 patch 20120825 and
+
+          <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.
+
+
+</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
+
+          # 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 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.
+
+       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.
+
+       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.
+
+       <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.
+
+       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>
-<H2>ALTERNATE CONFIGURATIONS</H2><PRE>
+</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.
+
+       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.
+
+
+</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>o</STRONG>   Normally  these  are stored in a directory tree, using
+           subdirectories named by the first letter of the termi-
+           nal 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.
+
+       <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.,
+
+             /usr/share/terminfo.db
+
+           rather than
+
+             /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.
+
+       <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>:
+
+             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.
+
+       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:
+
+          <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>   $HOME/.terminfo
+
+          <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>   /usr/local/ncurses/share/ter-
+                 minfo:/usr/share/terminfo  (corresponding to the
+                 TERMINFO_DIRS variable)
+
+             <STRONG>o</STRONG>   /usr/share/terminfo (corresponding to  the  TER-
+                 MINFO 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.
+
+       There is no corresponding feature in System V terminfo; it
+       is an extension 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  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:
+
+         $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
             The  standard include for <STRONG>ncurses</STRONG> is as noted in <STRONG>SYN-</STRONG>
             <STRONG>OPSIS</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
             overwrite,  it  puts  its  headers in a subdirectory,
             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.
             library names have a  "w"  appended  to  them,  i.e.,
             instead of
 
-            <STRONG>-lncurses</STRONG>
+          <STRONG>-lncurses</STRONG>
 
             you link with
 
-            <STRONG>-lncursesw</STRONG>
+          <STRONG>-lncursesw</STRONG>
 
             You must also define <STRONG>_XOPEN_SOURCE_EXTENDED</STRONG> when com-
             piling for the  wide-character  library  to  use  the
             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 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-normal
             ing it is always in the debug library.
 
 
-</PRE>
-<H2>FILES</H2><PRE>
+</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
 
 
-</PRE>
-<H2>SEE ALSO</H2><PRE>
+</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="curs_variables.3x.html">curs_variables(3x)</A></STRONG>
 
 
-</PRE>
-<H2>EXTENSIONS</H2><PRE>
+</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
        device.  See the <STRONG><A HREF="curs_print.3x.html">curs_print(3x)</A></STRONG> manual page for details.
 
 
-</PRE>
-<H2>PORTABILITY</H2><PRE>
+</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.
        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.
+
        This implementation also contains several extensions:
 
-            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.
 
-            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.
 
-            The  routines  <STRONG>getmouse</STRONG>,  <STRONG>mousemask</STRONG>, <STRONG>ungetmouse</STRONG>, <STRONG>mou-</STRONG>
-            <STRONG>seinterval</STRONG>, and <STRONG>wenclose</STRONG> relating to mouse  interfac-
-            ing  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>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.
 
-            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 implementation.  See the <STRONG><A HREF="curs_print.3x.html">curs_print(3x)</A></STRONG>  manual
+           page for details.
 
-            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.
 
-            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 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>   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 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
        package's portability correspondingly.
 
 
-</PRE>
-<H2>NOTES</H2><PRE>
+</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>.
 
        ture of AT&amp;T System V Release 3 curses.
 
 
-</PRE>
-<H2>AUTHORS</H2><PRE>
+</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.
 
 
                                                             <STRONG><A HREF="ncurses.3x.html">ncurses(3x)</A></STRONG>
 </PRE>
-<HR>
-<ADDRESS>
-Man(1) output converted with
-<a href="http://www.oac.uci.edu/indiv/ehood/man2html.html">man2html</a>
-</ADDRESS>
+<div class="nav">
+<ul>
+<li><a href="#h2-NAME">NAME</a></li>
+<li><a href="#h2-SYNOPSIS">SYNOPSIS</a></li>
+<li><a href="#h2-DESCRIPTION">DESCRIPTION</a>
+<ul>
+<li><a href="#h3-Initialization">Initialization</a></li>
+<li><a href="#h3-Datatypes">Datatypes</a></li>
+<li><a href="#h3-Environment-variables">Environment variables</a></li>
+<li><a href="#h3-Routine-and-Argument-Names">Routine and Argument Names</a></li>
+<li><a href="#h3-Routine-Name-Index">Routine Name Index</a></li>
+</ul>
+</li>
+<li><a href="#h2-RETURN-VALUE">RETURN VALUE</a></li>
+<li><a href="#h2-ENVIRONMENT">ENVIRONMENT</a>
+<ul>
+<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-HOME">HOME</a></li>
+<li><a href="#h3-LINES">LINES</a></li>
+<li><a href="#h3-MOUSE_BUTTONS_123">MOUSE_BUTTONS_123</a></li>
+<li><a href="#h3-NCURSES_ASSUMED_COLORS">NCURSES_ASSUMED_COLORS</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_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>
+<li><a href="#h3-NCURSES_TRACE">NCURSES_TRACE</a></li>
+<li><a href="#h3-TERM">TERM</a></li>
+<li><a href="#h3-TERMCAP">TERMCAP</a></li>
+<li><a href="#h3-TERMINFO">TERMINFO</a></li>
+<li><a href="#h3-TERMINFO_DIRS">TERMINFO_DIRS</a></li>
+<li><a href="#h3-TERMPATH">TERMPATH</a></li>
+</ul>
+</li>
+<li><a href="#h2-ALTERNATE-CONFIGURATIONS">ALTERNATE CONFIGURATIONS</a></li>
+<li><a href="#h2-FILES">FILES</a></li>
+<li><a href="#h2-SEE-ALSO">SEE ALSO</a></li>
+<li><a href="#h2-EXTENSIONS">EXTENSIONS</a></li>
+<li><a href="#h2-PORTABILITY">PORTABILITY</a></li>
+<li><a href="#h2-NOTES">NOTES</a></li>
+<li><a href="#h2-AUTHORS">AUTHORS</a></li>
+</ul>
+</div>
 </BODY>
 </HTML>