]> ncurses.scripts.mit.edu Git - ncurses.git/blobdiff - doc/html/man/ncurses.3x.html
ncurses 5.7 - patch 20100109
[ncurses.git] / doc / html / man / ncurses.3x.html
index 321ccb23e5648ec2d4c1e5b64fb0448c66548438..0d17ec0fa4ebb37fc45df64a4f60239c94286966 100644 (file)
@@ -2,7 +2,7 @@
 <!-- 
   * t
   ****************************************************************************
-  * Copyright (c) 1998-2005,2006 Free Software Foundation, Inc.              *
+  * Copyright (c) 1998-2009,2010 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            *
@@ -28,7 +28,7 @@
   * sale, use or other dealings in this Software without prior written       *
   * authorization.                                                           *
   ****************************************************************************
-  * @Id: ncurses.3x,v 1.82 2006/12/24 14:44:05 tom Exp @
+  * @Id: ncurses.3x,v 1.94 2010/01/09 16:34:57 tom Exp @
 -->
 <HTML>
 <HEAD>
        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.6 (patch 20061224).
-
-       The <STRONG>ncurses</STRONG> routines emulate  the  <STRONG><A HREF="ncurses.3x.html">curses(3x)</A></STRONG>  library  of
-       System V Release 4 UNIX, and the XPG4 curses standard (XSI
-       curses) but the <STRONG>ncurses</STRONG> library is freely  redistributable
-       in source form.  Differences from the SVr4 curses are sum-
-       marized under  the  <STRONG>EXTENSIONS</STRONG>  and  <STRONG>PORTABILITY</STRONG>  sections
-       below  and  described  in  detail in the respective <STRONG>EXTEN-</STRONG>
-       <STRONG>SIONS</STRONG>, <STRONG>PORTABILITY</STRONG> and <STRONG>BUGS</STRONG>  sections  of  individual  man
-       pages.
+       describes <STRONG>ncurses</STRONG> version 5.7 (patch 20100109).
+
+       The <STRONG>ncurses</STRONG> library emulates  the  <STRONG><A HREF="ncurses.3x.html">curses(3x)</A></STRONG>  library  of
+       System  V  Release  4  UNIX,  and XPG4 (X/Open Portability
+       Guide) curses (also known as XSI curses).  XSI stands  for
+       X/Open  System  Interfaces Extension.  The <STRONG>ncurses</STRONG> library
+       is freely redistributable  in  source  form.   Differences
+       from  the  SVr4 curses are summarized under the <STRONG>EXTENSIONS</STRONG>
+       and <STRONG>PORTABILITY</STRONG> sections below and described in detail  in
+       the  respective  <STRONG>EXTENSIONS</STRONG>, <STRONG>PORTABILITY</STRONG> and <STRONG>BUGS</STRONG> sections
+       of individual man pages.
+
+       The <STRONG>ncurses</STRONG> library also provides many useful  extensions,
+       i.e.,  features  which  cannot  be implemented by a simple
+       add-on library but which require access to  the  internals
+       of the library.
 
        A  program  using  these  routines must be linked with the
        <STRONG>-lncurses</STRONG> option, or (if it has been generated)  with  the
        lation; use of soft label keys; terminfo capabilities; and
        access to low-level terminal-manipulation routines.
 
-       To initialize the routines, the routine <STRONG>initscr</STRONG> or <STRONG>newterm</STRONG>
-       must be called before any of the other routines that  deal
-       with  windows  and  screens  are used.  The routine <STRONG>endwin</STRONG>
-       must be called before exiting.  To get character-at-a-time
-       input  without  echoing (most interactive, screen oriented
-       programs want this),  the  following  sequence  should  be
-       used:
+       The  library uses the locale which the calling program has
+       initialized.  That is normally done with <STRONG>setlocale</STRONG>:
+
+             <STRONG>setlocale(LC_ALL,</STRONG> <STRONG>"");</STRONG>
+
+       If the locale is not initialized, the library assumes that
+       characters  are  printable  as in ISO-8859-1, to work with
+       certain legacy programs.  You should initialize the locale
+       and  not  rely on specific details of the library when the
+       locale has not been setup.
+
+       The function <STRONG>initscr</STRONG> or <STRONG>newterm</STRONG> must be called to initial-
+       ize the library before any of the other routines that deal
+       with windows and screens are  used.   The  routine  <STRONG>endwin</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>
 
        be created with <STRONG>newwin</STRONG>.
 
        Note  that  <STRONG>curses</STRONG>  does  not  handle overlapping windows,
-       that's done by the <STRONG><A HREF="panel.3x.html">panel(3x)</A></STRONG> library. This means that  you
+       that's done by the <STRONG><A HREF="panel.3x.html">panel(3x)</A></STRONG> library.  This means that you
        can either use <STRONG>stdscr</STRONG> or divide the screen into tiled win-
-       dows and not using <STRONG>stdscr</STRONG> at  all.  Mixing  the  two  will
+       dows and not using <STRONG>stdscr</STRONG> at all.   Mixing  the  two  will
        result in unpredictable, and undesired, effects.
 
        Windows are referred to by variables declared as <STRONG>WINDOW</STRONG> <STRONG>*</STRONG>.
        Among those, the most basic routines are <STRONG>move</STRONG>  and  <STRONG>addch</STRONG>.
        More  general versions of these routines are included with
        names beginning with <STRONG>w</STRONG>, allowing the  user  to  specify  a
-       window.   The routines not beginning with <STRONG>w</STRONG> affect <STRONG>stdscr</STRONG>.
+       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
+       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.
 
-       Special  windows  called  <EM>pads</EM>  may  also  be manipulated.
+       Special windows  called  <EM>pads</EM>  may  also  be  manipulated.
        These are windows which are not constrained to the size of
-       the  screen and whose contents need not be completely dis-
+       the screen and whose contents need not be completely  dis-
        played.  See <STRONG><A HREF="curs_pad.3x.html">curs_pad(3x)</A></STRONG> for more information.
 
-       In addition to drawing characters  on  the  screen,  video
-       attributes  and colors may be supported, causing the char-
-       acters to show up in such modes as underlined, in  reverse
-       video,  or in color on terminals that support such display
+       In  addition  to  drawing  characters on the screen, video
+       attributes and colors may be supported, causing the  char-
+       acters  to show up in such modes as underlined, in reverse
+       video, or in color on terminals that support such  display
        enhancements.  Line drawing characters may be specified to
-       be  output.   On  input,  <STRONG>curses</STRONG> is also able to translate
-       arrow and function keys  that  transmit  escape  sequences
-       into  single  values.   The video attributes, line drawing
-       characters,  and  input  values  use  names,  defined   in
+       be output.  On input, <STRONG>curses</STRONG> is  also  able  to  translate
+       arrow  and  function  keys  that transmit escape sequences
+       into single values.  The video  attributes,  line  drawing
+       characters,   and  input  values  use  names,  defined  in
        <STRONG>&lt;curses.h&gt;</STRONG>, such as <STRONG>A_REVERSE</STRONG>, <STRONG>ACS_HLINE</STRONG>, and <STRONG>KEY_LEFT</STRONG>.
 
        If the environment variables <STRONG>LINES</STRONG> and <STRONG>COLUMNS</STRONG> are set, or
-       if the program is executing in a window environment,  line
-       and  column  information  in the environment will override
-       information read by <EM>terminfo</EM>.  This would effect a program
-       running  in an AT&amp;T 630 layer, for example, where the size
+       if  the program is executing in a window environment, line
+       and column information in the  environment  will  override
+       information read by <EM>terminfo</EM>.  This would affect a program
+       running in an AT&amp;T 630 layer, for example, where the  size
        of a screen is changeable (see <STRONG>ENVIRONMENT</STRONG>).
 
-       If the environment variable <STRONG>TERMINFO</STRONG> is defined, any  pro-
-       gram  using  <STRONG>curses</STRONG> checks for a local terminal definition
-       before checking in the standard place.   For  example,  if
+       If  the environment variable <STRONG>TERMINFO</STRONG> is defined, any pro-
+       gram using <STRONG>curses</STRONG> checks for a local  terminal  definition
+       before  checking  in  the standard place.  For example, if
        <STRONG>TERM</STRONG> is set to <STRONG>att4424</STRONG>, then the compiled terminal defini-
        tion is found in
 
              <STRONG>/usr/share/terminfo/a/att4424</STRONG>.
 
        (The <STRONG>a</STRONG> is copied from the first letter of <STRONG>att4424</STRONG> to avoid
-       creation  of  huge  directories.)  However, if <STRONG>TERMINFO</STRONG> is
+       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>,
 
              <STRONG>/usr/share/terminfo/a/att4424</STRONG>.
 
-       This is useful for developing experimental definitions  or
+       This  is useful for developing experimental definitions or
        when write permission in <STRONG>/usr/share/terminfo</STRONG> is not avail-
        able.
 
-       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-
+       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>.  The vari-
-       ables <EM>ch</EM> and <EM>attrs</EM> below are always of type  <STRONG>chtype</STRONG>.   The
-       types  <STRONG>WINDOW</STRONG>,  <STRONG>SCREEN</STRONG>,  <STRONG>bool</STRONG>,  and  <STRONG>chtype</STRONG> are defined in
-       <STRONG>&lt;curses.h&gt;</STRONG>.  The type <STRONG>TERMINAL</STRONG>  is  defined  in  <STRONG>&lt;term.h&gt;</STRONG>.
-       All other arguments are integers.
+       value <STRONG>TRUE</STRONG> or <STRONG>FALSE</STRONG>; <EM>bf</EM> is always of type <STRONG>bool</STRONG>.   Most  of
+       the  data types used in the library routines, such as <STRONG>WIN-</STRONG>
+       <STRONG>DOW</STRONG>, <STRONG>SCREEN</STRONG>, <STRONG>bool</STRONG>, and <STRONG>chtype</STRONG> are defined  in  <STRONG>&lt;curses.h&gt;</STRONG>.
+       Types  used for the terminfo routines such as <STRONG>TERMINAL</STRONG> are
+       defined in <STRONG>&lt;term.h&gt;</STRONG>.
+
+       This manual page describes functions which may  appear  in
+       any  configuration  of  the library.  There are two common
+       configurations of the library:
+
+              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>
        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
+       of  the  manual  page  on which it is described.  Routines
+       flagged with `*' are ncurses-specific,  not  described  by
        XPG4 or present in SVr4.
 
-
               <STRONG>curses</STRONG> Routine Name     Manual Page Name
               --------------------------------------------
               COLOR_PAIR              <STRONG><A HREF="curs_color.3x.html">curs_color(3x)</A></STRONG>
               PAIR_NUMBER             <STRONG><A HREF="curs_attr.3x.html">curs_attr(3x)</A></STRONG>
+              _nc_free_and_exit       <STRONG><A HREF="curs_memleaks.3x.html">curs_memleaks(3x)</A></STRONG>*
+              _nc_freeall             <STRONG><A HREF="curs_memleaks.3x.html">curs_memleaks(3x)</A></STRONG>*
               _nc_tracebits           <STRONG><A HREF="curs_trace.3x.html">curs_trace(3x)</A></STRONG>*
+
               _traceattr              <STRONG><A HREF="curs_trace.3x.html">curs_trace(3x)</A></STRONG>*
               _traceattr2             <STRONG><A HREF="curs_trace.3x.html">curs_trace(3x)</A></STRONG>*
               _tracechar              <STRONG><A HREF="curs_trace.3x.html">curs_trace(3x)</A></STRONG>*
               _tracedump              <STRONG><A HREF="curs_trace.3x.html">curs_trace(3x)</A></STRONG>*
               _tracef                 <STRONG><A HREF="curs_trace.3x.html">curs_trace(3x)</A></STRONG>*
               _tracemouse             <STRONG><A HREF="curs_trace.3x.html">curs_trace(3x)</A></STRONG>*
-
               add_wch                 <STRONG><A HREF="curs_add_wch.3x.html">curs_add_wch(3x)</A></STRONG>
               add_wchnstr             <STRONG><A HREF="curs_add_wchstr.3x.html">curs_add_wchstr(3x)</A></STRONG>
               add_wchstr              <STRONG><A HREF="curs_add_wchstr.3x.html">curs_add_wchstr(3x)</A></STRONG>
               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>*
               getbegyx                <STRONG><A HREF="curs_getyx.3x.html">curs_getyx(3x)</A></STRONG>
-
               getbkgd                 <STRONG><A HREF="curs_bkgd.3x.html">curs_bkgd(3x)</A></STRONG>
               getbkgrnd               <STRONG><A HREF="curs_bkgrnd.3x.html">curs_bkgrnd(3x)</A></STRONG>
               getcchar                <STRONG><A HREF="curs_getcchar.3x.html">curs_getcchar(3x)</A></STRONG>
               getch                   <STRONG><A HREF="curs_getch.3x.html">curs_getch(3x)</A></STRONG>
+              getcurx                 <STRONG><A HREF="curs_legacy.3x.html">curs_legacy(3x)</A></STRONG>*
+              getcury                 <STRONG><A HREF="curs_legacy.3x.html">curs_legacy(3x)</A></STRONG>*
+              getmaxx                 <STRONG><A HREF="curs_legacy.3x.html">curs_legacy(3x)</A></STRONG>*
+              getmaxy                 <STRONG><A HREF="curs_legacy.3x.html">curs_legacy(3x)</A></STRONG>*
               getmaxyx                <STRONG><A HREF="curs_getyx.3x.html">curs_getyx(3x)</A></STRONG>
               getmouse                <STRONG><A HREF="curs_mouse.3x.html">curs_mouse(3x)</A></STRONG>*
               getn_wstr               <STRONG><A HREF="curs_get_wstr.3x.html">curs_get_wstr(3x)</A></STRONG>
               getnstr                 <STRONG><A HREF="curs_getstr.3x.html">curs_getstr(3x)</A></STRONG>
+              getparx                 <STRONG><A HREF="curs_legacy.3x.html">curs_legacy(3x)</A></STRONG>*
+              getpary                 <STRONG><A HREF="curs_legacy.3x.html">curs_legacy(3x)</A></STRONG>*
               getparyx                <STRONG><A HREF="curs_getyx.3x.html">curs_getyx(3x)</A></STRONG>
               getstr                  <STRONG><A HREF="curs_getstr.3x.html">curs_getstr(3x)</A></STRONG>
               getsyx                  <STRONG><A HREF="curs_kernel.3x.html">curs_kernel(3x)</A></STRONG>
               instr                   <STRONG><A HREF="curs_instr.3x.html">curs_instr(3x)</A></STRONG>
               intrflush               <STRONG><A HREF="curs_inopts.3x.html">curs_inopts(3x)</A></STRONG>
               inwstr                  <STRONG><A HREF="curs_inwstr.3x.html">curs_inwstr(3x)</A></STRONG>
+              is_cleared              <STRONG><A HREF="curs_opaque.3x.html">curs_opaque(3x)</A></STRONG>*
+              is_idcok                <STRONG><A HREF="curs_opaque.3x.html">curs_opaque(3x)</A></STRONG>*
+              is_idlok                <STRONG><A HREF="curs_opaque.3x.html">curs_opaque(3x)</A></STRONG>*
+
+              is_immedok              <STRONG><A HREF="curs_opaque.3x.html">curs_opaque(3x)</A></STRONG>*
+              is_keypad               <STRONG><A HREF="curs_opaque.3x.html">curs_opaque(3x)</A></STRONG>*
+              is_leaveok              <STRONG><A HREF="curs_opaque.3x.html">curs_opaque(3x)</A></STRONG>*
               is_linetouched          <STRONG><A HREF="curs_touch.3x.html">curs_touch(3x)</A></STRONG>
+              is_nodelay              <STRONG><A HREF="curs_opaque.3x.html">curs_opaque(3x)</A></STRONG>*
+              is_notimeout            <STRONG><A HREF="curs_opaque.3x.html">curs_opaque(3x)</A></STRONG>*
+              is_scrollok             <STRONG><A HREF="curs_opaque.3x.html">curs_opaque(3x)</A></STRONG>*
+              is_syncok               <STRONG><A HREF="curs_opaque.3x.html">curs_opaque(3x)</A></STRONG>*
+              is_term_resized         <STRONG><A HREF="resizeterm.3x.html">resizeterm(3x)</A></STRONG>*
               is_wintouched           <STRONG><A HREF="curs_touch.3x.html">curs_touch(3x)</A></STRONG>
               isendwin                <STRONG><A HREF="curs_initscr.3x.html">curs_initscr(3x)</A></STRONG>
               key_defined             <STRONG><A HREF="key_defined.3x.html">key_defined(3x)</A></STRONG>*
               mousemask               <STRONG><A HREF="curs_mouse.3x.html">curs_mouse(3x)</A></STRONG>*
               move                    <STRONG><A HREF="curs_move.3x.html">curs_move(3x)</A></STRONG>
               mvadd_wch               <STRONG><A HREF="curs_add_wch.3x.html">curs_add_wch(3x)</A></STRONG>
-
               mvadd_wchnstr           <STRONG><A HREF="curs_add_wchstr.3x.html">curs_add_wchstr(3x)</A></STRONG>
               mvadd_wchstr            <STRONG><A HREF="curs_add_wchstr.3x.html">curs_add_wchstr(3x)</A></STRONG>
               mvaddch                 <STRONG><A HREF="curs_addch.3x.html">curs_addch(3x)</A></STRONG>
               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>
               mvwin_wch               <STRONG><A HREF="curs_in_wch.3x.html">curs_in_wch(3x)</A></STRONG>
               mvwin_wchnstr           <STRONG><A HREF="curs_in_wchstr.3x.html">curs_in_wchstr(3x)</A></STRONG>
               mvwin_wchstr            <STRONG><A HREF="curs_in_wchstr.3x.html">curs_in_wchstr(3x)</A></STRONG>
-
               mvwinch                 <STRONG><A HREF="curs_inch.3x.html">curs_inch(3x)</A></STRONG>
               mvwinchnstr             <STRONG><A HREF="curs_inchstr.3x.html">curs_inchstr(3x)</A></STRONG>
               mvwinchstr              <STRONG><A HREF="curs_inchstr.3x.html">curs_inchstr(3x)</A></STRONG>
               nocbreak                <STRONG><A HREF="curs_inopts.3x.html">curs_inopts(3x)</A></STRONG>
               nodelay                 <STRONG><A HREF="curs_inopts.3x.html">curs_inopts(3x)</A></STRONG>
               noecho                  <STRONG><A HREF="curs_inopts.3x.html">curs_inopts(3x)</A></STRONG>
+              nofilter                <STRONG><A HREF="curs_util.3x.html">curs_util(3x)</A></STRONG>*
               nonl                    <STRONG><A HREF="curs_outopts.3x.html">curs_outopts(3x)</A></STRONG>
               noqiflush               <STRONG><A HREF="curs_inopts.3x.html">curs_inopts(3x)</A></STRONG>
               noraw                   <STRONG><A HREF="curs_inopts.3x.html">curs_inopts(3x)</A></STRONG>
               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>
               setterm                 <STRONG><A HREF="curs_terminfo.3x.html">curs_terminfo(3x)</A></STRONG>
               setupterm               <STRONG><A HREF="curs_terminfo.3x.html">curs_terminfo(3x)</A></STRONG>
               slk_attr                <STRONG><A HREF="curs_slk.3x.html">curs_slk(3x)</A></STRONG>*
-
               slk_attr_off            <STRONG><A HREF="curs_slk.3x.html">curs_slk(3x)</A></STRONG>
               slk_attr_on             <STRONG><A HREF="curs_slk.3x.html">curs_slk(3x)</A></STRONG>
               slk_attr_set            <STRONG><A HREF="curs_slk.3x.html">curs_slk(3x)</A></STRONG>
               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>*
               use_default_colors      <STRONG><A HREF="default_colors.3x.html">default_colors(3x)</A></STRONG>*
               use_env                 <STRONG><A HREF="curs_util.3x.html">curs_util(3x)</A></STRONG>
               use_extended_names      <STRONG><A HREF="curs_extend.3x.html">curs_extend(3x)</A></STRONG>*
+              use_legacy_coding       <STRONG><A HREF="legacy_coding.3x.html">legacy_coding(3x)</A></STRONG>*
               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>
               waddchnstr              <STRONG><A HREF="curs_addchstr.3x.html">curs_addchstr(3x)</A></STRONG>
               waddchstr               <STRONG><A HREF="curs_addchstr.3x.html">curs_addchstr(3x)</A></STRONG>
               waddnstr                <STRONG><A HREF="curs_addstr.3x.html">curs_addstr(3x)</A></STRONG>
-
               waddnwstr               <STRONG><A HREF="curs_addwstr.3x.html">curs_addwstr(3x)</A></STRONG>
               waddstr                 <STRONG><A HREF="curs_addstr.3x.html">curs_addstr(3x)</A></STRONG>
               waddwstr                <STRONG><A HREF="curs_addwstr.3x.html">curs_addwstr(3x)</A></STRONG>
               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>
+
               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>
               wscanw                  <STRONG><A HREF="curs_scanw.3x.html">curs_scanw(3x)</A></STRONG>
               wscrl                   <STRONG><A HREF="curs_scroll.3x.html">curs_scroll(3x)</A></STRONG>
               wsetscrreg              <STRONG><A HREF="curs_outopts.3x.html">curs_outopts(3x)</A></STRONG>
-
               wstandend               <STRONG><A HREF="curs_attr.3x.html">curs_attr(3x)</A></STRONG>
               wstandout               <STRONG><A HREF="curs_attr.3x.html">curs_attr(3x)</A></STRONG>
               wsyncdown               <STRONG><A HREF="curs_window.3x.html">curs_window(3x)</A></STRONG>
 
 </PRE>
 <H2>RETURN VALUE</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-
+       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
+       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).
 
        important ones have been already discussed in detail.
 
        BAUDRATE
-            The  debugging library checks this environment symbol
+            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.
+            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
+            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-
+            (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-
 
        LINES
             Like COLUMNS, specify the height  of  the  screen  in
-            characters.   See COLUMNS for a detailed description.
+            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
             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
+            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,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_col-</STRONG>
-            <STRONG>ors</STRONG> value is allowed.
+            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
+            <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-
+            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
+            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-
+            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
+            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
+            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.
+            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,
+            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
+            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
+       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
+            <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
+            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.
+            not the only way to change the list  of  directories.
             The complete list of directories in order follows:
 
             -  the last directory to which <STRONG>ncurses</STRONG> wrote, if any,
                /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
+            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
+            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
-            filenames 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:
+            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.
 
 
 </PRE>
 <H2>ALTERNATE CONFIGURATIONS</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
+       Several different configurations are  possible,  depending
+       on   the  configure  script  options  used  when  building
+       <STRONG>ncurses</STRONG>.  There are a few main options whose  effects  are
        visible to the applications developer using <STRONG>ncurses</STRONG>:
 
        --disable-overwrite
-            The standard include for <STRONG>ncurses</STRONG> is as noted in  <STRONG>SYN-</STRONG>
+            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>
 
-            This  option is used to avoid filename conflicts when
-            <STRONG>ncurses</STRONG> is not the main implementation of  curses  of
-            the  computer.   If  <STRONG>ncurses</STRONG>  is  installed disabling
-            overwrite, it puts its  headers  in  a  subdirectory,
+            This option is used to avoid filename conflicts  when
+            <STRONG>ncurses</STRONG>  is  not the main implementation of curses of
+            the computer.   If  <STRONG>ncurses</STRONG>  is  installed  disabling
+            overwrite,  it  puts  its  headers in a subdirectory,
             e.g.,
 
             <STRONG>#include</STRONG> <STRONG>&lt;ncurses/curses.h&gt;</STRONG>
 
-            It  also  omits a symbolic link which would allow you
+            It also omits a symbolic link which would  allow  you
             to use <STRONG>-lcurses</STRONG> to build executables.
 
        --enable-widec
-            The configure script renames the library and (if  the
-            <STRONG>--disable-overwrite</STRONG>  option  is used) puts the header
+            The  configure script renames the library and (if the
+            <STRONG>--disable-overwrite</STRONG> option is used) puts  the  header
             files  in  a  different  subdirectory.   All  of  the
-            library  names  have  a  "w"  appended to them, i.e.,
+            library names have a  "w"  appended  to  them,  i.e.,
             instead of
 
             <STRONG>-lncurses</STRONG>
             <STRONG>-lncursesw</STRONG>
 
             You must also define <STRONG>_XOPEN_SOURCE_EXTENDED</STRONG> when com-
-            piling  for  the  wide-character  library  to use the
-            extended (wide-character)  functions.   The  <STRONG>curses.h</STRONG>
-            file   which  is  installed  for  the  wide-character
-            library is designed to be compatible with the  normal
+            piling for the  wide-character  library  to  use  the
+            extended  (wide-character)  functions.   The <STRONG>curses.h</STRONG>
+            file  which  is  installed  for  the   wide-character
+            library  is designed to be compatible with the normal
             library's header.  Only the size of the <STRONG>WINDOW</STRONG> struc-
-            ture differs, and very few applications require  more
-            than  a  pointer  to  <STRONG>WINDOW</STRONG>s.   If  the  headers are
-            installed  allowing  overwrite,  the   wide-character
-            library's  headers should be installed last, to allow
-            applications to be built using  either  library  from
+            ture  differs, and very few applications require more
+            than a  pointer  to  <STRONG>WINDOW</STRONG>s.   If  the  headers  are
+            installed   allowing  overwrite,  the  wide-character
+            library's headers should be installed last, to  allow
+            applications  to  be  built using either library from
             the same set of headers.
 
        --with-shared
        --with-debug
 
        --with-profile
-            The  shared  and normal (static) library names differ
-            by   their   suffixes,   e.g.,   <STRONG>libncurses.so</STRONG>    and
-            <STRONG>libncurses.a</STRONG>.   The debug and profiling libraries add
-            a "_g" and a "_p" to  the  root  names  respectively,
-            e.g., <STRONG>libncurses_g.a</STRONG> and <STRONG>libncurses_p.a</STRONG>.
+            The shared and normal (static) library  names  differ
+            by  their  suffixes,  e.g.,  <STRONG>libncurses.so</STRONG>  and <STRONG>libn-</STRONG>
+            <STRONG>curses.a</STRONG>.  The debug and profiling  libraries  add  a
+            "_g" and a "_p" to the root names respectively, e.g.,
+            <STRONG>libncurses_g.a</STRONG> and <STRONG>libncurses_p.a</STRONG>.
 
        --with-trace
-            The  <STRONG>trace</STRONG>  function  normally  resides  in the debug
+            The <STRONG>trace</STRONG> function  normally  resides  in  the  debug
             library, but it is sometimes useful to configure this
-            in  the  shared  library.   Configure  scripts should
+            in the  shared  library.   Configure  scripts  should
             check for the function's existence rather than assum-
             ing it is always in the debug library.
 
 </PRE>
 <H2>FILES</H2><PRE>
        /usr/share/tabset
-            directory  containing  initialization  files  for the
+            directory containing  initialization  files  for  the
             terminal capability database /usr/share/terminfo ter-
             minal capability database
 
 
 </PRE>
 <H2>SEE ALSO</H2><PRE>
-       <STRONG><A HREF="terminfo.5.html">terminfo(5)</A></STRONG>  and  related  pages whose names begin "curs_"
+       <STRONG><A HREF="terminfo.5.html">terminfo(5)</A></STRONG> and related pages whose  names  begin  "curs_"
        for detailed routine descriptions.
 
 
        The  <STRONG>ncurses</STRONG>  library  can  be  compiled  with  an  option
        (<STRONG>-DUSE_GETCAP</STRONG>) that falls back to the old-style /etc/term-
        cap file if the terminal setup code cannot find a terminfo
-       entry  corresponding  to <STRONG>TERM</STRONG>.  Use of this feature is not
-       recommended, as it essentially includes an entire  termcap
-       compiler  in the <STRONG>ncurses</STRONG> startup code, at significant cost
+       entry corresponding to <STRONG>TERM</STRONG>.  Use of this feature  is  not
+       recommended,  as it essentially includes an entire termcap
+       compiler in the <STRONG>ncurses</STRONG> startup code, at significant  cost
        in core and startup cycles.
 
-       The <STRONG>ncurses</STRONG>  library  includes  facilities  for  capturing
-       mouse  events  on certain terminals (including xterm). See
+       The  <STRONG>ncurses</STRONG>  library  includes  facilities  for capturing
+       mouse events on certain terminals (including xterm).   See
        the <STRONG><A HREF="curs_mouse.3x.html">curs_mouse(3x)</A></STRONG> manual page for details.
 
-       The <STRONG>ncurses</STRONG> library includes facilities for responding  to
-       window  resizing  events,  e.g., when running in an xterm.
-       See the <STRONG><A HREF="resizeterm.3x.html">resizeterm(3x)</A></STRONG> and <STRONG><A HREF="wresize.3x.html">wresize(3x)</A></STRONG>  manual  pages  for
-       details.   In addition, the library may be configured with
+       The  <STRONG>ncurses</STRONG> library includes facilities for responding to
+       window resizing events, e.g., when running  in  an  xterm.
+       See  the  <STRONG><A HREF="resizeterm.3x.html">resizeterm(3x)</A></STRONG>  and <STRONG><A HREF="wresize.3x.html">wresize(3x)</A></STRONG> manual pages for
+       details.  In addition, the library may be configured  with
        a SIGWINCH handler.
 
-       The <STRONG>ncurses</STRONG> library extends the fixed set of function  key
-       capabilities  of  terminals  by  allowing  the application
-       designer to define additional key  sequences  at  runtime.
+       The  <STRONG>ncurses</STRONG> library extends the fixed set of function key
+       capabilities of  terminals  by  allowing  the  application
+       designer  to  define  additional key sequences at runtime.
        See the <STRONG><A HREF="define_key.3x.html">define_key(3x)</A></STRONG> <STRONG><A HREF="key_defined.3x.html">key_defined(3x)</A></STRONG>, and <STRONG><A HREF="keyok.3x.html">keyok(3x)</A></STRONG> man-
        ual pages for details.
 
        The <STRONG>ncurses</STRONG> library can exploit the capabilities of termi-
-       nals  which  implement the ISO-6429 SGR 39 and SGR 49 con-
+       nals which implement the ISO-6429 SGR 39 and SGR  49  con-
        trols, which allow an application to reset the terminal to
-       its  original  foreground and background colors.  From the
-       users' perspective, the application is able to  draw  col-
-       ored  text  on  a  background  whose color is set indepen-
-       dently, providing better  control  over  color  contrasts.
+       its original foreground and background colors.   From  the
+       users'  perspective,  the application is able to draw col-
+       ored text on a background  whose  color  is  set  indepen-
+       dently,  providing  better  control  over color contrasts.
        See the <STRONG><A HREF="default_colors.3x.html">default_colors(3x)</A></STRONG> manual page for details.
 
-       The  <STRONG>ncurses</STRONG>  library  includes  a  function for directing
-       application output to a printer attached to  the  terminal
+       The <STRONG>ncurses</STRONG> library  includes  a  function  for  directing
+       application  output  to a printer attached to the terminal
        device.  See the <STRONG><A HREF="curs_print.3x.html">curs_print(3x)</A></STRONG> manual page for details.
 
 
 </PRE>
 <H2>PORTABILITY</H2><PRE>
-       The  <STRONG>ncurses</STRONG>  library is intended to be BASE-level confor-
-       mant with the  XSI  Curses  standard.   The  EXTENDED  XSI
-       Curses  functionality  (including  color  support) is sup-
-       ported.
+       The <STRONG>ncurses</STRONG> library is intended to be  BASE-level  confor-
+       mant with XSI Curses.  The EXTENDED XSI Curses functional-
+       ity (including color support) is supported.
 
        A small number of local differences (that  is,  individual
        differences  between the XSI Curses and <STRONG>ncurses</STRONG> calls) are
        described in  <STRONG>PORTABILITY</STRONG>  sections  of  the  library  man
        pages.
 
-       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.
+       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.
+
+            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  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.
 
-       The  routines <STRONG>getmouse</STRONG>, <STRONG>mousemask</STRONG>, <STRONG>ungetmouse</STRONG>, <STRONG>mouseinter-</STRONG>
-       <STRONG>val</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.
 
-       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.
 
-       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.
 
        In  historic curses versions, delays embedded in the capa-
        bilities <STRONG>cr</STRONG>, <STRONG>ind</STRONG>, <STRONG>cub1</STRONG>, <STRONG>ff</STRONG> and <STRONG>tab</STRONG> activated corresponding
        delay  bits  in  the UNIX tty driver.  In this implementa-
-       tion, all padding is done by NUL sends.   This  method  is
-       slightly  more expensive, but narrows the interface to the
-       UNIX kernel  significantly  and  increases  the  package's
-       portability correspondingly.
+       tion, all padding is done  by  sending  NUL  bytes.   This
+       method  is slightly more expensive, but narrows the inter-
+       face to the UNIX kernel significantly  and  increases  the
+       package's portability correspondingly.
 
 
 </PRE>