d280efe5467ec9377ed2d89b783c694b44e95b22
[ncurses.git] / doc / html / man / ncurses.3x.html
1 <!-- 
2   * t
3   ****************************************************************************
4   * Copyright (c) 1998-2015,2017 Free Software Foundation, Inc.              *
5   *                                                                          *
6   * Permission is hereby granted, free of charge, to any person obtaining a  *
7   * copy of this software and associated documentation files (the            *
8   * "Software"), to deal in the Software without restriction, including      *
9   * without limitation the rights to use, copy, modify, merge, publish,      *
10   * distribute, distribute with modifications, sublicense, and/or sell       *
11   * copies of the Software, and to permit persons to whom the Software is    *
12   * furnished to do so, subject to the following conditions:                 *
13   *                                                                          *
14   * The above copyright notice and this permission notice shall be included  *
15   * in all copies or substantial portions of the Software.                   *
16   *                                                                          *
17   * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS  *
18   * OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF               *
19   * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.   *
20   * IN NO EVENT SHALL THE ABOVE COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM,   *
21   * DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR    *
22   * OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR    *
23   * THE USE OR OTHER DEALINGS IN THE SOFTWARE.                               *
24   *                                                                          *
25   * Except as contained in this notice, the name(s) of the above copyright   *
26   * holders shall not be used in advertising or otherwise to promote the     *
27   * sale, use or other dealings in this Software without prior written       *
28   * authorization.                                                           *
29   ****************************************************************************
30   * @Id: ncurses.3x,v 1.129 2017/02/18 16:50:46 tom Exp @
31 -->
32 <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN">
33 <HTML>
34 <HEAD>
35 <meta http-equiv="Content-Type" content="text/html; charset=us-ascii">
36 <meta name="generator" content="Manpage converted by man2html - see http://invisible-island.net/scripts/readme.html#others_scripts">
37 <TITLE>ncurses 3x</TITLE>
38 <link rev=made href="mailto:bug-ncurses@gnu.org">
39 <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
40 </HEAD>
41 <BODY>
42 <H1 class="no-header">ncurses 3x</H1>
43 <PRE>
44 <STRONG><A HREF="ncurses.3x.html">ncurses(3x)</A></STRONG>                                                 <STRONG><A HREF="ncurses.3x.html">ncurses(3x)</A></STRONG>
45
46
47
48
49 </PRE><H2><a name="h2-NAME">NAME</a></H2><PRE>
50        <STRONG>ncurses</STRONG> - CRT screen handling and optimization package
51
52
53 </PRE><H2><a name="h2-SYNOPSIS">SYNOPSIS</a></H2><PRE>
54        <STRONG>#include</STRONG> <STRONG>&lt;curses.h&gt;</STRONG>
55
56
57 </PRE><H2><a name="h2-DESCRIPTION">DESCRIPTION</a></H2><PRE>
58        The  <STRONG>ncurses</STRONG>  library  routines  give the user a terminal-
59        independent method of updating character screens with rea-
60        sonable optimization.  This implementation is "new curses"
61        (ncurses) and is the approved replacement for 4.4BSD clas-
62        sic  curses,  which has been discontinued.  This describes
63        <STRONG>ncurses</STRONG> version 6.0 (patch 20170304).
64
65        The <STRONG>ncurses</STRONG> library emulates the curses library of  System
66        V  Release  4  UNIX,  and  XPG4 (X/Open Portability Guide)
67        curses (also known as XSI curses).  XSI stands for  X/Open
68        System  Interfaces  Extension.   The  <STRONG>ncurses</STRONG>  library  is
69        freely redistributable in source form.   Differences  from
70        the  SVr4  curses  are summarized under the <STRONG>EXTENSIONS</STRONG> and
71        <STRONG>PORTABILITY</STRONG> sections below and described in detail in  the
72        respective  <STRONG>EXTENSIONS</STRONG>,  <STRONG>PORTABILITY</STRONG>  and <STRONG>BUGS</STRONG> sections of
73        individual man pages.
74
75        The <STRONG>ncurses</STRONG> library also provides many useful  extensions,
76        i.e.,  features  which  cannot  be implemented by a simple
77        add-on library but which require access to  the  internals
78        of the library.
79
80        A  program  using  these  routines must be linked with the
81        <STRONG>-lncurses</STRONG> option, or (if it has been generated)  with  the
82        debugging  library  <STRONG>-lncurses_g</STRONG>.   (Your system integrator
83        may also have installed these libraries  under  the  names
84        <STRONG>-lcurses</STRONG> and <STRONG>-lcurses_g</STRONG>.)  The ncurses_g library generates
85        trace logs (in a file called 'trace' in the current direc-
86        tory)  that describe curses actions.  See also the section
87        on <STRONG>ALTERNATE</STRONG> <STRONG>CONFIGURATIONS</STRONG>.
88
89        The <STRONG>ncurses</STRONG> package supports: overall screen,  window  and
90        pad manipulation; output to windows and pads; reading ter-
91        minal input; control over terminal and  <STRONG>curses</STRONG>  input  and
92        output  options; environment query routines; color manipu-
93        lation; use of soft label keys; terminfo capabilities; and
94        access to low-level terminal-manipulation routines.
95
96
97 </PRE><H3><a name="h3-Initialization">Initialization</a></H3><PRE>
98        The  library uses the locale which the calling program has
99        initialized.  That is normally done with <STRONG>setlocale</STRONG>:
100
101                <STRONG>setlocale(LC_ALL,</STRONG> <STRONG>"");</STRONG>
102      If the locale is not initialized, the library  assumes  that
103      characters are printable as in ISO-8859-1, to work with cer-
104      tain legacy programs.  You should initialize the locale  and
105      not  rely on specific details of the library when the locale
106      has not been setup.
107
108        The function <STRONG>initscr</STRONG> or <STRONG>newterm</STRONG> must be called to initial-
109        ize the library before any of the other routines that deal
110        with windows and screens are used.  The routine <STRONG><A HREF="curs_initscr.3x.html">endwin(3x)</A></STRONG>
111        must be called before exiting.
112
113        To  get  character-at-a-time  input  without echoing (most
114        interactive, screen oriented programs want this), the fol-
115        lowing sequence should be used:
116
117                <STRONG>initscr();</STRONG> <STRONG>cbreak();</STRONG> <STRONG>noecho();</STRONG>
118      Most programs would additionally use the sequence:
119
120              <STRONG>nonl();</STRONG>
121              <STRONG>intrflush(stdscr,</STRONG> <STRONG>FALSE);</STRONG>
122              <STRONG>keypad(stdscr,</STRONG> <STRONG>TRUE);</STRONG>
123    Before  a <STRONG>curses</STRONG> program is run, the tab stops of the terminal
124    should be set and its initialization strings, if defined, must
125    be  output.   This can be done by executing the <STRONG>tput</STRONG> <STRONG>init</STRONG> com-
126    mand after  the  shell  environment  variable  <STRONG>TERM</STRONG>  has  been
127    exported.   <STRONG>tset(1)</STRONG>  is  usually  responsible  for doing this.
128    [See <STRONG><A HREF="terminfo.5.html">terminfo(5)</A></STRONG> for further details.]
129
130
131 </PRE><H3><a name="h3-Datatypes">Datatypes</a></H3><PRE>
132        The <STRONG>ncurses</STRONG> library permits manipulation  of  data  struc-
133        tures,  called  <EM>windows</EM>,  which  can be thought of as two-
134        dimensional arrays of characters representing all or  part
135        of a CRT screen.  A default window called <STRONG>stdscr</STRONG>, which is
136        the size of the terminal screen, is supplied.  Others  may
137        be created with <STRONG>newwin</STRONG>.
138
139        Note  that  <STRONG>curses</STRONG>  does  not  handle overlapping windows,
140        that's done by the <STRONG><A HREF="panel.3x.html">panel(3x)</A></STRONG> library.  This means that you
141        can either use <STRONG>stdscr</STRONG> or divide the screen into tiled win-
142        dows and not using <STRONG>stdscr</STRONG> at all.   Mixing  the  two  will
143        result in unpredictable, and undesired, effects.
144
145        Windows are referred to by variables declared as <STRONG>WINDOW</STRONG> <STRONG>*</STRONG>.
146        These  data  structures  are  manipulated  with   routines
147        described  here and elsewhere in the <STRONG>ncurses</STRONG> manual pages.
148        Among those, the most basic routines are <STRONG>move</STRONG>  and  <STRONG>addch</STRONG>.
149        More  general versions of these routines are included with
150        names beginning with <STRONG>w</STRONG>, allowing the  user  to  specify  a
151        window.  The routines not beginning with <STRONG>w</STRONG> affect <STRONG>stdscr</STRONG>.
152
153        After  using  routines to manipulate a window, <STRONG><A HREF="curs_refresh.3x.html">refresh(3x)</A></STRONG>
154        is called, telling <STRONG>curses</STRONG> to make the  user's  CRT  screen
155        look like <STRONG>stdscr</STRONG>.  The characters in a window are actually
156        of type <STRONG>chtype</STRONG>, (character and  attribute  data)  so  that
157        other  information  about the character may also be stored
158        with each character.
159
160        Special windows  called  <EM>pads</EM>  may  also  be  manipulated.
161        These are windows which are not constrained to the size of
162        the screen and whose contents need not be completely  dis-
163        played.  See <STRONG><A HREF="curs_pad.3x.html">curs_pad(3x)</A></STRONG> for more information.
164
165        In  addition  to  drawing  characters on the screen, video
166        attributes and colors may be supported, causing the  char-
167        acters  to show up in such modes as underlined, in reverse
168        video, or in color on terminals that support such  display
169        enhancements.  Line drawing characters may be specified to
170        be output.  On input, <STRONG>curses</STRONG> is  also  able  to  translate
171        arrow  and  function  keys  that transmit escape sequences
172        into single values.  The video  attributes,  line  drawing
173        characters,   and  input  values  use  names,  defined  in
174        <STRONG>&lt;curses.h&gt;</STRONG>, such as <STRONG>A_REVERSE</STRONG>, <STRONG>ACS_HLINE</STRONG>, and <STRONG>KEY_LEFT</STRONG>.
175
176
177 </PRE><H3><a name="h3-Environment-variables">Environment variables</a></H3><PRE>
178        If the environment variables <STRONG>LINES</STRONG> and <STRONG>COLUMNS</STRONG> are set, or
179        if  the program is executing in a window environment, line
180        and column information in the  environment  will  override
181        information read by <EM>terminfo</EM>.  This would affect a program
182        running in an AT&amp;T 630 layer, for example, where the  size
183        of a screen is changeable (see <STRONG>ENVIRONMENT</STRONG>).
184
185        If  the environment variable <STRONG>TERMINFO</STRONG> is defined, any pro-
186        gram using <STRONG>curses</STRONG> checks for a local  terminal  definition
187        before  checking  in  the standard place.  For example, if
188        <STRONG>TERM</STRONG> is set to <STRONG>att4424</STRONG>, then the compiled terminal defini-
189        tion is found in
190
191                <STRONG>/usr/share/terminfo/a/att4424</STRONG>.
192      (The  <STRONG>a</STRONG>  is copied from the first letter of <STRONG>att4424</STRONG> to avoid
193      creation of huge directories.)  However, if <STRONG>TERMINFO</STRONG> is  set
194      to <STRONG>$HOME/myterms</STRONG>, <STRONG>curses</STRONG> first checks
195
196              <STRONG>$HOME/myterms/a/att4424</STRONG>,
197    and if that fails, it then checks
198
199            <STRONG>/usr/share/terminfo/a/att4424</STRONG>.
200  This  is  useful for developing experimental definitions or when
201  write permission in <STRONG>/usr/share/terminfo</STRONG> is not available.
202
203        The integer  variables  <STRONG>LINES</STRONG>  and  <STRONG>COLS</STRONG>  are  defined  in
204        <STRONG>&lt;curses.h&gt;</STRONG>  and will be filled in by <STRONG>initscr</STRONG> with the size
205        of the screen.  The constants <STRONG>TRUE</STRONG> and <STRONG>FALSE</STRONG> have the val-
206        ues <STRONG>1</STRONG> and <STRONG>0</STRONG>, respectively.
207
208        The  <STRONG>curses</STRONG>  routines  also  define  the <STRONG>WINDOW</STRONG> <STRONG>*</STRONG> variable
209        <STRONG>curscr</STRONG> which is used for certain low-level operations like
210        clearing  and  redrawing a screen containing garbage.  The
211        <STRONG>curscr</STRONG> can be used in only a few routines.
212
213
214 </PRE><H3><a name="h3-Routine-and-Argument-Names">Routine and Argument Names</a></H3><PRE>
215        Many <STRONG>curses</STRONG> routines have two or more versions.  The  rou-
216        tines prefixed with <STRONG>w</STRONG> require a window argument.  The rou-
217        tines prefixed with <STRONG>p</STRONG> require a pad argument.  Those with-
218        out a prefix generally use <STRONG>stdscr</STRONG>.
219
220        The routines prefixed with <STRONG>mv</STRONG> require a <EM>y</EM> and <EM>x</EM> coordinate
221        to move to before performing the appropriate action.   The
222        <STRONG>mv</STRONG>  routines  imply  a call to <STRONG>move</STRONG> before the call to the
223        other routine.  The coordinate <EM>y</EM> always refers to the  row
224        (of  the  window), and <EM>x</EM> always refers to the column.  The
225        upper left-hand corner is always (0,0), not (1,1).
226
227        The routines prefixed with <STRONG>mvw</STRONG> take both a window argument
228        and  <EM>x</EM>  and  <EM>y</EM> coordinates.  The window argument is always
229        specified before the coordinates.
230
231        In each case, <EM>win</EM> is the window affected, and <EM>pad</EM>  is  the
232        pad affected; <EM>win</EM> and <EM>pad</EM> are always pointers to type <STRONG>WIN-</STRONG>
233        <STRONG>DOW</STRONG>.
234
235        Option setting routines require a Boolean flag <EM>bf</EM> with the
236        value  <STRONG>TRUE</STRONG>  or <STRONG>FALSE</STRONG>; <EM>bf</EM> is always of type <STRONG>bool</STRONG>.  Most of
237        the data types used in the library routines, such as  <STRONG>WIN-</STRONG>
238        <STRONG>DOW</STRONG>,  <STRONG>SCREEN</STRONG>,  <STRONG>bool</STRONG>, and <STRONG>chtype</STRONG> are defined in <STRONG>&lt;curses.h&gt;</STRONG>.
239        Types used for the terminfo routines such as <STRONG>TERMINAL</STRONG>  are
240        defined in <STRONG>&lt;term.h&gt;</STRONG>.
241
242        This  manual  page describes functions which may appear in
243        any configuration of the library.  There  are  two  common
244        configurations of the library:
245
246           <EM>ncurses</EM>
247                the  "normal" library, which handles 8-bit charac-
248                ters.  The normal (8-bit) library  stores  charac-
249                ters combined with attributes in <STRONG>chtype</STRONG> data.
250
251                Attributes  alone (no corresponding character) may
252                be stored in <STRONG>chtype</STRONG> or the equivalent <STRONG>attr_t</STRONG> data.
253                In  either  case,  the data is stored in something
254                like an integer.
255
256                Each cell (row and column) in a <STRONG>WINDOW</STRONG>  is  stored
257                as a <STRONG>chtype</STRONG>.
258
259           <EM>ncursesw</EM>
260                the so-called "wide" library, which handles multi-
261                byte characters (see the section on <STRONG>ALTERNATE</STRONG> <STRONG>CON-</STRONG>
262                <STRONG>FIGURATIONS</STRONG>).   The "wide" library includes all of
263                the calls from  the  "normal"  library.   It  adds
264                about  one third more calls using data types which
265                store multibyte characters:
266
267                <STRONG>cchar_t</STRONG>
268                     corresponds  to  <STRONG>chtype</STRONG>.   However  it  is  a
269                     structure,  because  more data is stored than
270                     can fit into an integer.  The characters  are
271                     large  enough to require a full integer value
272                     - and there may be more  than  one  character
273                     per cell.  The video attributes and color are
274                     stored in separate fields of the structure.
275
276                     Each cell (row and column)  in  a  <STRONG>WINDOW</STRONG>  is
277                     stored as a <STRONG>cchar_t</STRONG>.
278
279                <STRONG>wchar_t</STRONG>
280                     stores a "wide" character.  Like <STRONG>chtype</STRONG>, this
281                     may be an integer.
282
283                <STRONG>wint_t</STRONG>
284                     stores a <STRONG>wchar_t</STRONG> or  <STRONG>WEOF</STRONG>  -  not  the  same,
285                     though both may have the same size.
286
287                The  "wide"  library  provides new functions which
288                are  analogous  to  functions  in   the   "normal"
289                library.   There  is  a  naming  convention  which
290                relates many of the normal/wide variants:  a  "_w"
291                is  inserted  into  the name.  For example, <STRONG>waddch</STRONG>
292                becomes <STRONG>wadd_wch</STRONG>.
293
294
295 </PRE><H3><a name="h3-Routine-Name-Index">Routine Name Index</a></H3><PRE>
296        The following table lists each <STRONG>curses</STRONG> routine and the name
297        of  the  manual  page  on which it is described.  Routines
298        flagged with "*" are ncurses-specific,  not  described  by
299        XPG4 or present in SVr4.
300
301               <STRONG>curses</STRONG> Routine Name     Manual Page Name
302               --------------------------------------------
303               COLOR_PAIR              <STRONG><A HREF="curs_color.3x.html">curs_color(3x)</A></STRONG>
304               PAIR_NUMBER             <STRONG><A HREF="curs_attr.3x.html">curs_attr(3x)</A></STRONG>
305               _nc_free_and_exit       <STRONG><A HREF="curs_memleaks.3x.html">curs_memleaks(3x)</A></STRONG>*
306               _nc_freeall             <STRONG><A HREF="curs_memleaks.3x.html">curs_memleaks(3x)</A></STRONG>*
307               _nc_tracebits           <STRONG><A HREF="curs_trace.3x.html">curs_trace(3x)</A></STRONG>*
308               _traceattr              <STRONG><A HREF="curs_trace.3x.html">curs_trace(3x)</A></STRONG>*
309               _traceattr2             <STRONG><A HREF="curs_trace.3x.html">curs_trace(3x)</A></STRONG>*
310               _tracechar              <STRONG><A HREF="curs_trace.3x.html">curs_trace(3x)</A></STRONG>*
311               _tracechtype            <STRONG><A HREF="curs_trace.3x.html">curs_trace(3x)</A></STRONG>*
312               _tracechtype2           <STRONG><A HREF="curs_trace.3x.html">curs_trace(3x)</A></STRONG>*
313               _tracedump              <STRONG><A HREF="curs_trace.3x.html">curs_trace(3x)</A></STRONG>*
314               _tracef                 <STRONG><A HREF="curs_trace.3x.html">curs_trace(3x)</A></STRONG>*
315
316               _tracemouse             <STRONG><A HREF="curs_trace.3x.html">curs_trace(3x)</A></STRONG>*
317               add_wch                 <STRONG><A HREF="curs_add_wch.3x.html">curs_add_wch(3x)</A></STRONG>
318               add_wchnstr             <STRONG><A HREF="curs_add_wchstr.3x.html">curs_add_wchstr(3x)</A></STRONG>
319               add_wchstr              <STRONG><A HREF="curs_add_wchstr.3x.html">curs_add_wchstr(3x)</A></STRONG>
320               addch                   <STRONG><A HREF="curs_addch.3x.html">curs_addch(3x)</A></STRONG>
321               addchnstr               <STRONG><A HREF="curs_addchstr.3x.html">curs_addchstr(3x)</A></STRONG>
322               addchstr                <STRONG><A HREF="curs_addchstr.3x.html">curs_addchstr(3x)</A></STRONG>
323               addnstr                 <STRONG><A HREF="curs_addstr.3x.html">curs_addstr(3x)</A></STRONG>
324               addnwstr                <STRONG><A HREF="curs_addwstr.3x.html">curs_addwstr(3x)</A></STRONG>
325               addstr                  <STRONG><A HREF="curs_addstr.3x.html">curs_addstr(3x)</A></STRONG>
326               addwstr                 <STRONG><A HREF="curs_addwstr.3x.html">curs_addwstr(3x)</A></STRONG>
327               assume_default_colors   <STRONG><A HREF="default_colors.3x.html">default_colors(3x)</A></STRONG>*
328               attr_get                <STRONG><A HREF="curs_attr.3x.html">curs_attr(3x)</A></STRONG>
329               attr_off                <STRONG><A HREF="curs_attr.3x.html">curs_attr(3x)</A></STRONG>
330               attr_on                 <STRONG><A HREF="curs_attr.3x.html">curs_attr(3x)</A></STRONG>
331               attr_set                <STRONG><A HREF="curs_attr.3x.html">curs_attr(3x)</A></STRONG>
332               attroff                 <STRONG><A HREF="curs_attr.3x.html">curs_attr(3x)</A></STRONG>
333               attron                  <STRONG><A HREF="curs_attr.3x.html">curs_attr(3x)</A></STRONG>
334               attrset                 <STRONG><A HREF="curs_attr.3x.html">curs_attr(3x)</A></STRONG>
335               baudrate                <STRONG><A HREF="curs_termattrs.3x.html">curs_termattrs(3x)</A></STRONG>
336               beep                    <STRONG><A HREF="curs_beep.3x.html">curs_beep(3x)</A></STRONG>
337               bkgd                    <STRONG><A HREF="curs_bkgd.3x.html">curs_bkgd(3x)</A></STRONG>
338               bkgdset                 <STRONG><A HREF="curs_bkgd.3x.html">curs_bkgd(3x)</A></STRONG>
339               bkgrnd                  <STRONG><A HREF="curs_bkgrnd.3x.html">curs_bkgrnd(3x)</A></STRONG>
340               bkgrndset               <STRONG><A HREF="curs_bkgrnd.3x.html">curs_bkgrnd(3x)</A></STRONG>
341               border                  <STRONG><A HREF="curs_border.3x.html">curs_border(3x)</A></STRONG>
342               border_set              <STRONG><A HREF="curs_border_set.3x.html">curs_border_set(3x)</A></STRONG>
343               box                     <STRONG><A HREF="curs_border.3x.html">curs_border(3x)</A></STRONG>
344               box_set                 <STRONG><A HREF="curs_border_set.3x.html">curs_border_set(3x)</A></STRONG>
345               can_change_color        <STRONG><A HREF="curs_color.3x.html">curs_color(3x)</A></STRONG>
346               cbreak                  <STRONG><A HREF="curs_inopts.3x.html">curs_inopts(3x)</A></STRONG>
347               chgat                   <STRONG><A HREF="curs_attr.3x.html">curs_attr(3x)</A></STRONG>
348               clear                   <STRONG><A HREF="curs_clear.3x.html">curs_clear(3x)</A></STRONG>
349               clearok                 <STRONG><A HREF="curs_outopts.3x.html">curs_outopts(3x)</A></STRONG>
350               clrtobot                <STRONG><A HREF="curs_clear.3x.html">curs_clear(3x)</A></STRONG>
351               clrtoeol                <STRONG><A HREF="curs_clear.3x.html">curs_clear(3x)</A></STRONG>
352               color_content           <STRONG><A HREF="curs_color.3x.html">curs_color(3x)</A></STRONG>
353               color_set               <STRONG><A HREF="curs_attr.3x.html">curs_attr(3x)</A></STRONG>
354               copywin                 <STRONG><A HREF="curs_overlay.3x.html">curs_overlay(3x)</A></STRONG>
355               curs_set                <STRONG><A HREF="curs_kernel.3x.html">curs_kernel(3x)</A></STRONG>
356               curses_version          <STRONG><A HREF="curs_extend.3x.html">curs_extend(3x)</A></STRONG>*
357               def_prog_mode           <STRONG><A HREF="curs_kernel.3x.html">curs_kernel(3x)</A></STRONG>
358               def_shell_mode          <STRONG><A HREF="curs_kernel.3x.html">curs_kernel(3x)</A></STRONG>
359               define_key              <STRONG><A HREF="define_key.3x.html">define_key(3x)</A></STRONG>*
360               del_curterm             <STRONG><A HREF="curs_terminfo.3x.html">curs_terminfo(3x)</A></STRONG>
361               delay_output            <STRONG><A HREF="curs_util.3x.html">curs_util(3x)</A></STRONG>
362               delch                   <STRONG><A HREF="curs_delch.3x.html">curs_delch(3x)</A></STRONG>
363               deleteln                <STRONG><A HREF="curs_deleteln.3x.html">curs_deleteln(3x)</A></STRONG>
364               delscreen               <STRONG><A HREF="curs_initscr.3x.html">curs_initscr(3x)</A></STRONG>
365               delwin                  <STRONG><A HREF="curs_window.3x.html">curs_window(3x)</A></STRONG>
366               derwin                  <STRONG><A HREF="curs_window.3x.html">curs_window(3x)</A></STRONG>
367               doupdate                <STRONG><A HREF="curs_refresh.3x.html">curs_refresh(3x)</A></STRONG>
368               dupwin                  <STRONG><A HREF="curs_window.3x.html">curs_window(3x)</A></STRONG>
369               echo                    <STRONG><A HREF="curs_inopts.3x.html">curs_inopts(3x)</A></STRONG>
370               echo_wchar              <STRONG><A HREF="curs_add_wch.3x.html">curs_add_wch(3x)</A></STRONG>
371               echochar                <STRONG><A HREF="curs_addch.3x.html">curs_addch(3x)</A></STRONG>
372               endwin                  <STRONG><A HREF="curs_initscr.3x.html">curs_initscr(3x)</A></STRONG>
373               erase                   <STRONG><A HREF="curs_clear.3x.html">curs_clear(3x)</A></STRONG>
374               erasechar               <STRONG><A HREF="curs_termattrs.3x.html">curs_termattrs(3x)</A></STRONG>
375               erasewchar              <STRONG><A HREF="curs_termattrs.3x.html">curs_termattrs(3x)</A></STRONG>
376               filter                  <STRONG><A HREF="curs_util.3x.html">curs_util(3x)</A></STRONG>
377               flash                   <STRONG><A HREF="curs_beep.3x.html">curs_beep(3x)</A></STRONG>
378               flushinp                <STRONG><A HREF="curs_util.3x.html">curs_util(3x)</A></STRONG>
379               get_wch                 <STRONG><A HREF="curs_get_wch.3x.html">curs_get_wch(3x)</A></STRONG>
380               get_wstr                <STRONG><A HREF="curs_get_wstr.3x.html">curs_get_wstr(3x)</A></STRONG>
381
382               getattrs                <STRONG><A HREF="curs_attr.3x.html">curs_attr(3x)</A></STRONG>
383               getbegx                 <STRONG><A HREF="curs_legacy.3x.html">curs_legacy(3x)</A></STRONG>*
384               getbegy                 <STRONG><A HREF="curs_legacy.3x.html">curs_legacy(3x)</A></STRONG>*
385               getbegyx                <STRONG><A HREF="curs_getyx.3x.html">curs_getyx(3x)</A></STRONG>
386               getbkgd                 <STRONG><A HREF="curs_bkgd.3x.html">curs_bkgd(3x)</A></STRONG>
387               getbkgrnd               <STRONG><A HREF="curs_bkgrnd.3x.html">curs_bkgrnd(3x)</A></STRONG>
388               getcchar                <STRONG><A HREF="curs_getcchar.3x.html">curs_getcchar(3x)</A></STRONG>
389               getch                   <STRONG><A HREF="curs_getch.3x.html">curs_getch(3x)</A></STRONG>
390               getcurx                 <STRONG><A HREF="curs_legacy.3x.html">curs_legacy(3x)</A></STRONG>*
391               getcury                 <STRONG><A HREF="curs_legacy.3x.html">curs_legacy(3x)</A></STRONG>*
392               getmaxx                 <STRONG><A HREF="curs_legacy.3x.html">curs_legacy(3x)</A></STRONG>*
393               getmaxy                 <STRONG><A HREF="curs_legacy.3x.html">curs_legacy(3x)</A></STRONG>*
394               getmaxyx                <STRONG><A HREF="curs_getyx.3x.html">curs_getyx(3x)</A></STRONG>
395               getmouse                <STRONG><A HREF="curs_mouse.3x.html">curs_mouse(3x)</A></STRONG>*
396               getn_wstr               <STRONG><A HREF="curs_get_wstr.3x.html">curs_get_wstr(3x)</A></STRONG>
397               getnstr                 <STRONG><A HREF="curs_getstr.3x.html">curs_getstr(3x)</A></STRONG>
398               getparx                 <STRONG><A HREF="curs_legacy.3x.html">curs_legacy(3x)</A></STRONG>*
399               getpary                 <STRONG><A HREF="curs_legacy.3x.html">curs_legacy(3x)</A></STRONG>*
400               getparyx                <STRONG><A HREF="curs_getyx.3x.html">curs_getyx(3x)</A></STRONG>
401               getstr                  <STRONG><A HREF="curs_getstr.3x.html">curs_getstr(3x)</A></STRONG>
402               getsyx                  <STRONG><A HREF="curs_kernel.3x.html">curs_kernel(3x)</A></STRONG>
403               getwin                  <STRONG><A HREF="curs_util.3x.html">curs_util(3x)</A></STRONG>
404               getyx                   <STRONG><A HREF="curs_getyx.3x.html">curs_getyx(3x)</A></STRONG>
405               halfdelay               <STRONG><A HREF="curs_inopts.3x.html">curs_inopts(3x)</A></STRONG>
406               has_colors              <STRONG><A HREF="curs_color.3x.html">curs_color(3x)</A></STRONG>
407               has_ic                  <STRONG><A HREF="curs_termattrs.3x.html">curs_termattrs(3x)</A></STRONG>
408               has_il                  <STRONG><A HREF="curs_termattrs.3x.html">curs_termattrs(3x)</A></STRONG>
409               has_key                 <STRONG><A HREF="curs_getch.3x.html">curs_getch(3x)</A></STRONG>*
410               hline                   <STRONG><A HREF="curs_border.3x.html">curs_border(3x)</A></STRONG>
411               hline_set               <STRONG><A HREF="curs_border_set.3x.html">curs_border_set(3x)</A></STRONG>
412               idcok                   <STRONG><A HREF="curs_outopts.3x.html">curs_outopts(3x)</A></STRONG>
413               idlok                   <STRONG><A HREF="curs_outopts.3x.html">curs_outopts(3x)</A></STRONG>
414               immedok                 <STRONG><A HREF="curs_outopts.3x.html">curs_outopts(3x)</A></STRONG>
415               in_wch                  <STRONG><A HREF="curs_in_wch.3x.html">curs_in_wch(3x)</A></STRONG>
416               in_wchnstr              <STRONG><A HREF="curs_in_wchstr.3x.html">curs_in_wchstr(3x)</A></STRONG>
417               in_wchstr               <STRONG><A HREF="curs_in_wchstr.3x.html">curs_in_wchstr(3x)</A></STRONG>
418               inch                    <STRONG><A HREF="curs_inch.3x.html">curs_inch(3x)</A></STRONG>
419               inchnstr                <STRONG><A HREF="curs_inchstr.3x.html">curs_inchstr(3x)</A></STRONG>
420               inchstr                 <STRONG><A HREF="curs_inchstr.3x.html">curs_inchstr(3x)</A></STRONG>
421               init_color              <STRONG><A HREF="curs_color.3x.html">curs_color(3x)</A></STRONG>
422               init_pair               <STRONG><A HREF="curs_color.3x.html">curs_color(3x)</A></STRONG>
423               initscr                 <STRONG><A HREF="curs_initscr.3x.html">curs_initscr(3x)</A></STRONG>
424               innstr                  <STRONG><A HREF="curs_instr.3x.html">curs_instr(3x)</A></STRONG>
425               innwstr                 <STRONG><A HREF="curs_inwstr.3x.html">curs_inwstr(3x)</A></STRONG>
426               ins_nwstr               <STRONG><A HREF="curs_ins_wstr.3x.html">curs_ins_wstr(3x)</A></STRONG>
427               ins_wch                 <STRONG><A HREF="curs_ins_wch.3x.html">curs_ins_wch(3x)</A></STRONG>
428               ins_wstr                <STRONG><A HREF="curs_ins_wstr.3x.html">curs_ins_wstr(3x)</A></STRONG>
429               insch                   <STRONG><A HREF="curs_insch.3x.html">curs_insch(3x)</A></STRONG>
430               insdelln                <STRONG><A HREF="curs_deleteln.3x.html">curs_deleteln(3x)</A></STRONG>
431               insertln                <STRONG><A HREF="curs_deleteln.3x.html">curs_deleteln(3x)</A></STRONG>
432               insnstr                 <STRONG><A HREF="curs_insstr.3x.html">curs_insstr(3x)</A></STRONG>
433               insstr                  <STRONG><A HREF="curs_insstr.3x.html">curs_insstr(3x)</A></STRONG>
434               instr                   <STRONG><A HREF="curs_instr.3x.html">curs_instr(3x)</A></STRONG>
435               intrflush               <STRONG><A HREF="curs_inopts.3x.html">curs_inopts(3x)</A></STRONG>
436               inwstr                  <STRONG><A HREF="curs_inwstr.3x.html">curs_inwstr(3x)</A></STRONG>
437               is_cleared              <STRONG><A HREF="curs_opaque.3x.html">curs_opaque(3x)</A></STRONG>*
438               is_idcok                <STRONG><A HREF="curs_opaque.3x.html">curs_opaque(3x)</A></STRONG>*
439               is_idlok                <STRONG><A HREF="curs_opaque.3x.html">curs_opaque(3x)</A></STRONG>*
440               is_immedok              <STRONG><A HREF="curs_opaque.3x.html">curs_opaque(3x)</A></STRONG>*
441               is_keypad               <STRONG><A HREF="curs_opaque.3x.html">curs_opaque(3x)</A></STRONG>*
442               is_leaveok              <STRONG><A HREF="curs_opaque.3x.html">curs_opaque(3x)</A></STRONG>*
443               is_linetouched          <STRONG><A HREF="curs_touch.3x.html">curs_touch(3x)</A></STRONG>
444               is_nodelay              <STRONG><A HREF="curs_opaque.3x.html">curs_opaque(3x)</A></STRONG>*
445               is_notimeout            <STRONG><A HREF="curs_opaque.3x.html">curs_opaque(3x)</A></STRONG>*
446               is_pad                  <STRONG><A HREF="curs_opaque.3x.html">curs_opaque(3x)</A></STRONG>*
447
448               is_scrollok             <STRONG><A HREF="curs_opaque.3x.html">curs_opaque(3x)</A></STRONG>*
449               is_subwin               <STRONG><A HREF="curs_opaque.3x.html">curs_opaque(3x)</A></STRONG>*
450               is_syncok               <STRONG><A HREF="curs_opaque.3x.html">curs_opaque(3x)</A></STRONG>*
451               is_term_resized         <STRONG><A HREF="resizeterm.3x.html">resizeterm(3x)</A></STRONG>*
452               is_wintouched           <STRONG><A HREF="curs_touch.3x.html">curs_touch(3x)</A></STRONG>
453               isendwin                <STRONG><A HREF="curs_initscr.3x.html">curs_initscr(3x)</A></STRONG>
454               key_defined             <STRONG><A HREF="key_defined.3x.html">key_defined(3x)</A></STRONG>*
455               key_name                <STRONG><A HREF="curs_util.3x.html">curs_util(3x)</A></STRONG>
456               keybound                <STRONG><A HREF="keybound.3x.html">keybound(3x)</A></STRONG>*
457               keyname                 <STRONG><A HREF="curs_util.3x.html">curs_util(3x)</A></STRONG>
458               keyok                   <STRONG><A HREF="keyok.3x.html">keyok(3x)</A></STRONG>*
459               keypad                  <STRONG><A HREF="curs_inopts.3x.html">curs_inopts(3x)</A></STRONG>
460               killchar                <STRONG><A HREF="curs_termattrs.3x.html">curs_termattrs(3x)</A></STRONG>
461               killwchar               <STRONG><A HREF="curs_termattrs.3x.html">curs_termattrs(3x)</A></STRONG>
462               leaveok                 <STRONG><A HREF="curs_outopts.3x.html">curs_outopts(3x)</A></STRONG>
463               longname                <STRONG><A HREF="curs_termattrs.3x.html">curs_termattrs(3x)</A></STRONG>
464               mcprint                 <STRONG><A HREF="curs_print.3x.html">curs_print(3x)</A></STRONG>*
465               meta                    <STRONG><A HREF="curs_inopts.3x.html">curs_inopts(3x)</A></STRONG>
466               mouse_trafo             <STRONG><A HREF="curs_mouse.3x.html">curs_mouse(3x)</A></STRONG>*
467               mouseinterval           <STRONG><A HREF="curs_mouse.3x.html">curs_mouse(3x)</A></STRONG>*
468               mousemask               <STRONG><A HREF="curs_mouse.3x.html">curs_mouse(3x)</A></STRONG>*
469               move                    <STRONG><A HREF="curs_move.3x.html">curs_move(3x)</A></STRONG>
470               mvadd_wch               <STRONG><A HREF="curs_add_wch.3x.html">curs_add_wch(3x)</A></STRONG>
471               mvadd_wchnstr           <STRONG><A HREF="curs_add_wchstr.3x.html">curs_add_wchstr(3x)</A></STRONG>
472               mvadd_wchstr            <STRONG><A HREF="curs_add_wchstr.3x.html">curs_add_wchstr(3x)</A></STRONG>
473               mvaddch                 <STRONG><A HREF="curs_addch.3x.html">curs_addch(3x)</A></STRONG>
474               mvaddchnstr             <STRONG><A HREF="curs_addchstr.3x.html">curs_addchstr(3x)</A></STRONG>
475               mvaddchstr              <STRONG><A HREF="curs_addchstr.3x.html">curs_addchstr(3x)</A></STRONG>
476               mvaddnstr               <STRONG><A HREF="curs_addstr.3x.html">curs_addstr(3x)</A></STRONG>
477               mvaddnwstr              <STRONG><A HREF="curs_addwstr.3x.html">curs_addwstr(3x)</A></STRONG>
478               mvaddstr                <STRONG><A HREF="curs_addstr.3x.html">curs_addstr(3x)</A></STRONG>
479               mvaddwstr               <STRONG><A HREF="curs_addwstr.3x.html">curs_addwstr(3x)</A></STRONG>
480               mvchgat                 <STRONG><A HREF="curs_attr.3x.html">curs_attr(3x)</A></STRONG>
481               mvcur                   <STRONG><A HREF="curs_terminfo.3x.html">curs_terminfo(3x)</A></STRONG>
482               mvdelch                 <STRONG><A HREF="curs_delch.3x.html">curs_delch(3x)</A></STRONG>
483               mvderwin                <STRONG><A HREF="curs_window.3x.html">curs_window(3x)</A></STRONG>
484               mvget_wch               <STRONG><A HREF="curs_get_wch.3x.html">curs_get_wch(3x)</A></STRONG>
485               mvget_wstr              <STRONG><A HREF="curs_get_wstr.3x.html">curs_get_wstr(3x)</A></STRONG>
486               mvgetch                 <STRONG><A HREF="curs_getch.3x.html">curs_getch(3x)</A></STRONG>
487               mvgetn_wstr             <STRONG><A HREF="curs_get_wstr.3x.html">curs_get_wstr(3x)</A></STRONG>
488               mvgetnstr               <STRONG><A HREF="curs_getstr.3x.html">curs_getstr(3x)</A></STRONG>
489               mvgetstr                <STRONG><A HREF="curs_getstr.3x.html">curs_getstr(3x)</A></STRONG>
490               mvhline                 <STRONG><A HREF="curs_border.3x.html">curs_border(3x)</A></STRONG>
491               mvhline_set             <STRONG><A HREF="curs_border_set.3x.html">curs_border_set(3x)</A></STRONG>
492               mvin_wch                <STRONG><A HREF="curs_in_wch.3x.html">curs_in_wch(3x)</A></STRONG>
493               mvin_wchnstr            <STRONG><A HREF="curs_in_wchstr.3x.html">curs_in_wchstr(3x)</A></STRONG>
494               mvin_wchstr             <STRONG><A HREF="curs_in_wchstr.3x.html">curs_in_wchstr(3x)</A></STRONG>
495               mvinch                  <STRONG><A HREF="curs_inch.3x.html">curs_inch(3x)</A></STRONG>
496               mvinchnstr              <STRONG><A HREF="curs_inchstr.3x.html">curs_inchstr(3x)</A></STRONG>
497               mvinchstr               <STRONG><A HREF="curs_inchstr.3x.html">curs_inchstr(3x)</A></STRONG>
498               mvinnstr                <STRONG><A HREF="curs_instr.3x.html">curs_instr(3x)</A></STRONG>
499               mvinnwstr               <STRONG><A HREF="curs_inwstr.3x.html">curs_inwstr(3x)</A></STRONG>
500               mvins_nwstr             <STRONG><A HREF="curs_ins_wstr.3x.html">curs_ins_wstr(3x)</A></STRONG>
501               mvins_wch               <STRONG><A HREF="curs_ins_wch.3x.html">curs_ins_wch(3x)</A></STRONG>
502               mvins_wstr              <STRONG><A HREF="curs_ins_wstr.3x.html">curs_ins_wstr(3x)</A></STRONG>
503               mvinsch                 <STRONG><A HREF="curs_insch.3x.html">curs_insch(3x)</A></STRONG>
504               mvinsnstr               <STRONG><A HREF="curs_insstr.3x.html">curs_insstr(3x)</A></STRONG>
505               mvinsstr                <STRONG><A HREF="curs_insstr.3x.html">curs_insstr(3x)</A></STRONG>
506               mvinstr                 <STRONG><A HREF="curs_instr.3x.html">curs_instr(3x)</A></STRONG>
507               mvinwstr                <STRONG><A HREF="curs_inwstr.3x.html">curs_inwstr(3x)</A></STRONG>
508               mvprintw                <STRONG><A HREF="curs_printw.3x.html">curs_printw(3x)</A></STRONG>
509               mvscanw                 <STRONG><A HREF="curs_scanw.3x.html">curs_scanw(3x)</A></STRONG>
510               mvvline                 <STRONG><A HREF="curs_border.3x.html">curs_border(3x)</A></STRONG>
511               mvvline_set             <STRONG><A HREF="curs_border_set.3x.html">curs_border_set(3x)</A></STRONG>
512               mvwadd_wch              <STRONG><A HREF="curs_add_wch.3x.html">curs_add_wch(3x)</A></STRONG>
513
514               mvwadd_wchnstr          <STRONG><A HREF="curs_add_wchstr.3x.html">curs_add_wchstr(3x)</A></STRONG>
515               mvwadd_wchstr           <STRONG><A HREF="curs_add_wchstr.3x.html">curs_add_wchstr(3x)</A></STRONG>
516               mvwaddch                <STRONG><A HREF="curs_addch.3x.html">curs_addch(3x)</A></STRONG>
517               mvwaddchnstr            <STRONG><A HREF="curs_addchstr.3x.html">curs_addchstr(3x)</A></STRONG>
518               mvwaddchstr             <STRONG><A HREF="curs_addchstr.3x.html">curs_addchstr(3x)</A></STRONG>
519               mvwaddnstr              <STRONG><A HREF="curs_addstr.3x.html">curs_addstr(3x)</A></STRONG>
520               mvwaddnwstr             <STRONG><A HREF="curs_addwstr.3x.html">curs_addwstr(3x)</A></STRONG>
521               mvwaddstr               <STRONG><A HREF="curs_addstr.3x.html">curs_addstr(3x)</A></STRONG>
522               mvwaddwstr              <STRONG><A HREF="curs_addwstr.3x.html">curs_addwstr(3x)</A></STRONG>
523               mvwchgat                <STRONG><A HREF="curs_attr.3x.html">curs_attr(3x)</A></STRONG>
524               mvwdelch                <STRONG><A HREF="curs_delch.3x.html">curs_delch(3x)</A></STRONG>
525               mvwget_wch              <STRONG><A HREF="curs_get_wch.3x.html">curs_get_wch(3x)</A></STRONG>
526               mvwget_wstr             <STRONG><A HREF="curs_get_wstr.3x.html">curs_get_wstr(3x)</A></STRONG>
527               mvwgetch                <STRONG><A HREF="curs_getch.3x.html">curs_getch(3x)</A></STRONG>
528               mvwgetn_wstr            <STRONG><A HREF="curs_get_wstr.3x.html">curs_get_wstr(3x)</A></STRONG>
529               mvwgetnstr              <STRONG><A HREF="curs_getstr.3x.html">curs_getstr(3x)</A></STRONG>
530               mvwgetstr               <STRONG><A HREF="curs_getstr.3x.html">curs_getstr(3x)</A></STRONG>
531               mvwhline                <STRONG><A HREF="curs_border.3x.html">curs_border(3x)</A></STRONG>
532               mvwhline_set            <STRONG><A HREF="curs_border_set.3x.html">curs_border_set(3x)</A></STRONG>
533               mvwin                   <STRONG><A HREF="curs_window.3x.html">curs_window(3x)</A></STRONG>
534               mvwin_wch               <STRONG><A HREF="curs_in_wch.3x.html">curs_in_wch(3x)</A></STRONG>
535               mvwin_wchnstr           <STRONG><A HREF="curs_in_wchstr.3x.html">curs_in_wchstr(3x)</A></STRONG>
536               mvwin_wchstr            <STRONG><A HREF="curs_in_wchstr.3x.html">curs_in_wchstr(3x)</A></STRONG>
537               mvwinch                 <STRONG><A HREF="curs_inch.3x.html">curs_inch(3x)</A></STRONG>
538               mvwinchnstr             <STRONG><A HREF="curs_inchstr.3x.html">curs_inchstr(3x)</A></STRONG>
539               mvwinchstr              <STRONG><A HREF="curs_inchstr.3x.html">curs_inchstr(3x)</A></STRONG>
540               mvwinnstr               <STRONG><A HREF="curs_instr.3x.html">curs_instr(3x)</A></STRONG>
541               mvwinnwstr              <STRONG><A HREF="curs_inwstr.3x.html">curs_inwstr(3x)</A></STRONG>
542               mvwins_nwstr            <STRONG><A HREF="curs_ins_wstr.3x.html">curs_ins_wstr(3x)</A></STRONG>
543               mvwins_wch              <STRONG><A HREF="curs_ins_wch.3x.html">curs_ins_wch(3x)</A></STRONG>
544               mvwins_wstr             <STRONG><A HREF="curs_ins_wstr.3x.html">curs_ins_wstr(3x)</A></STRONG>
545               mvwinsch                <STRONG><A HREF="curs_insch.3x.html">curs_insch(3x)</A></STRONG>
546               mvwinsnstr              <STRONG><A HREF="curs_insstr.3x.html">curs_insstr(3x)</A></STRONG>
547               mvwinsstr               <STRONG><A HREF="curs_insstr.3x.html">curs_insstr(3x)</A></STRONG>
548               mvwinstr                <STRONG><A HREF="curs_instr.3x.html">curs_instr(3x)</A></STRONG>
549               mvwinwstr               <STRONG><A HREF="curs_inwstr.3x.html">curs_inwstr(3x)</A></STRONG>
550               mvwprintw               <STRONG><A HREF="curs_printw.3x.html">curs_printw(3x)</A></STRONG>
551               mvwscanw                <STRONG><A HREF="curs_scanw.3x.html">curs_scanw(3x)</A></STRONG>
552               mvwvline                <STRONG><A HREF="curs_border.3x.html">curs_border(3x)</A></STRONG>
553               mvwvline_set            <STRONG><A HREF="curs_border_set.3x.html">curs_border_set(3x)</A></STRONG>
554               napms                   <STRONG><A HREF="curs_kernel.3x.html">curs_kernel(3x)</A></STRONG>
555               newpad                  <STRONG><A HREF="curs_pad.3x.html">curs_pad(3x)</A></STRONG>
556               newterm                 <STRONG><A HREF="curs_initscr.3x.html">curs_initscr(3x)</A></STRONG>
557               newwin                  <STRONG><A HREF="curs_window.3x.html">curs_window(3x)</A></STRONG>
558               nl                      <STRONG><A HREF="curs_outopts.3x.html">curs_outopts(3x)</A></STRONG>
559               nocbreak                <STRONG><A HREF="curs_inopts.3x.html">curs_inopts(3x)</A></STRONG>
560               nodelay                 <STRONG><A HREF="curs_inopts.3x.html">curs_inopts(3x)</A></STRONG>
561               noecho                  <STRONG><A HREF="curs_inopts.3x.html">curs_inopts(3x)</A></STRONG>
562               nofilter                <STRONG><A HREF="curs_util.3x.html">curs_util(3x)</A></STRONG>*
563               nonl                    <STRONG><A HREF="curs_outopts.3x.html">curs_outopts(3x)</A></STRONG>
564               noqiflush               <STRONG><A HREF="curs_inopts.3x.html">curs_inopts(3x)</A></STRONG>
565               noraw                   <STRONG><A HREF="curs_inopts.3x.html">curs_inopts(3x)</A></STRONG>
566               notimeout               <STRONG><A HREF="curs_inopts.3x.html">curs_inopts(3x)</A></STRONG>
567               overlay                 <STRONG><A HREF="curs_overlay.3x.html">curs_overlay(3x)</A></STRONG>
568               overwrite               <STRONG><A HREF="curs_overlay.3x.html">curs_overlay(3x)</A></STRONG>
569               pair_content            <STRONG><A HREF="curs_color.3x.html">curs_color(3x)</A></STRONG>
570               pechochar               <STRONG><A HREF="curs_pad.3x.html">curs_pad(3x)</A></STRONG>
571               pnoutrefresh            <STRONG><A HREF="curs_pad.3x.html">curs_pad(3x)</A></STRONG>
572               prefresh                <STRONG><A HREF="curs_pad.3x.html">curs_pad(3x)</A></STRONG>
573               printw                  <STRONG><A HREF="curs_printw.3x.html">curs_printw(3x)</A></STRONG>
574               putp                    <STRONG><A HREF="curs_terminfo.3x.html">curs_terminfo(3x)</A></STRONG>
575               putwin                  <STRONG><A HREF="curs_util.3x.html">curs_util(3x)</A></STRONG>
576               qiflush                 <STRONG><A HREF="curs_inopts.3x.html">curs_inopts(3x)</A></STRONG>
577               raw                     <STRONG><A HREF="curs_inopts.3x.html">curs_inopts(3x)</A></STRONG>
578               redrawwin               <STRONG><A HREF="curs_refresh.3x.html">curs_refresh(3x)</A></STRONG>
579
580               refresh                 <STRONG><A HREF="curs_refresh.3x.html">curs_refresh(3x)</A></STRONG>
581               reset_prog_mode         <STRONG><A HREF="curs_kernel.3x.html">curs_kernel(3x)</A></STRONG>
582               reset_shell_mode        <STRONG><A HREF="curs_kernel.3x.html">curs_kernel(3x)</A></STRONG>
583               resetty                 <STRONG><A HREF="curs_kernel.3x.html">curs_kernel(3x)</A></STRONG>
584               resize_term             <STRONG><A HREF="resizeterm.3x.html">resizeterm(3x)</A></STRONG>*
585               resizeterm              <STRONG><A HREF="resizeterm.3x.html">resizeterm(3x)</A></STRONG>*
586               restartterm             <STRONG><A HREF="curs_terminfo.3x.html">curs_terminfo(3x)</A></STRONG>
587               ripoffline              <STRONG><A HREF="curs_kernel.3x.html">curs_kernel(3x)</A></STRONG>
588               savetty                 <STRONG><A HREF="curs_kernel.3x.html">curs_kernel(3x)</A></STRONG>
589               scanw                   <STRONG><A HREF="curs_scanw.3x.html">curs_scanw(3x)</A></STRONG>
590               scr_dump                <STRONG><A HREF="curs_scr_dump.3x.html">curs_scr_dump(3x)</A></STRONG>
591               scr_init                <STRONG><A HREF="curs_scr_dump.3x.html">curs_scr_dump(3x)</A></STRONG>
592               scr_restore             <STRONG><A HREF="curs_scr_dump.3x.html">curs_scr_dump(3x)</A></STRONG>
593               scr_set                 <STRONG><A HREF="curs_scr_dump.3x.html">curs_scr_dump(3x)</A></STRONG>
594               scrl                    <STRONG><A HREF="curs_scroll.3x.html">curs_scroll(3x)</A></STRONG>
595               scroll                  <STRONG><A HREF="curs_scroll.3x.html">curs_scroll(3x)</A></STRONG>
596               scrollok                <STRONG><A HREF="curs_outopts.3x.html">curs_outopts(3x)</A></STRONG>
597               set_curterm             <STRONG><A HREF="curs_terminfo.3x.html">curs_terminfo(3x)</A></STRONG>
598               set_term                <STRONG><A HREF="curs_initscr.3x.html">curs_initscr(3x)</A></STRONG>
599               setcchar                <STRONG><A HREF="curs_getcchar.3x.html">curs_getcchar(3x)</A></STRONG>
600               setscrreg               <STRONG><A HREF="curs_outopts.3x.html">curs_outopts(3x)</A></STRONG>
601               setsyx                  <STRONG><A HREF="curs_kernel.3x.html">curs_kernel(3x)</A></STRONG>
602               setterm                 <STRONG><A HREF="curs_terminfo.3x.html">curs_terminfo(3x)</A></STRONG>
603               setupterm               <STRONG><A HREF="curs_terminfo.3x.html">curs_terminfo(3x)</A></STRONG>
604               slk_attr                <STRONG><A HREF="curs_slk.3x.html">curs_slk(3x)</A></STRONG>*
605               slk_attr_off            <STRONG><A HREF="curs_slk.3x.html">curs_slk(3x)</A></STRONG>
606               slk_attr_on             <STRONG><A HREF="curs_slk.3x.html">curs_slk(3x)</A></STRONG>
607               slk_attr_set            <STRONG><A HREF="curs_slk.3x.html">curs_slk(3x)</A></STRONG>
608               slk_attroff             <STRONG><A HREF="curs_slk.3x.html">curs_slk(3x)</A></STRONG>
609               slk_attron              <STRONG><A HREF="curs_slk.3x.html">curs_slk(3x)</A></STRONG>
610               slk_attrset             <STRONG><A HREF="curs_slk.3x.html">curs_slk(3x)</A></STRONG>
611               slk_clear               <STRONG><A HREF="curs_slk.3x.html">curs_slk(3x)</A></STRONG>
612               slk_color               <STRONG><A HREF="curs_slk.3x.html">curs_slk(3x)</A></STRONG>
613               slk_init                <STRONG><A HREF="curs_slk.3x.html">curs_slk(3x)</A></STRONG>
614               slk_label               <STRONG><A HREF="curs_slk.3x.html">curs_slk(3x)</A></STRONG>
615               slk_noutrefresh         <STRONG><A HREF="curs_slk.3x.html">curs_slk(3x)</A></STRONG>
616               slk_refresh             <STRONG><A HREF="curs_slk.3x.html">curs_slk(3x)</A></STRONG>
617               slk_restore             <STRONG><A HREF="curs_slk.3x.html">curs_slk(3x)</A></STRONG>
618               slk_set                 <STRONG><A HREF="curs_slk.3x.html">curs_slk(3x)</A></STRONG>
619               slk_touch               <STRONG><A HREF="curs_slk.3x.html">curs_slk(3x)</A></STRONG>
620               standend                <STRONG><A HREF="curs_attr.3x.html">curs_attr(3x)</A></STRONG>
621               standout                <STRONG><A HREF="curs_attr.3x.html">curs_attr(3x)</A></STRONG>
622               start_color             <STRONG><A HREF="curs_color.3x.html">curs_color(3x)</A></STRONG>
623               subpad                  <STRONG><A HREF="curs_pad.3x.html">curs_pad(3x)</A></STRONG>
624               subwin                  <STRONG><A HREF="curs_window.3x.html">curs_window(3x)</A></STRONG>
625               syncok                  <STRONG><A HREF="curs_window.3x.html">curs_window(3x)</A></STRONG>
626               term_attrs              <STRONG><A HREF="curs_termattrs.3x.html">curs_termattrs(3x)</A></STRONG>
627               termattrs               <STRONG><A HREF="curs_termattrs.3x.html">curs_termattrs(3x)</A></STRONG>
628               termname                <STRONG><A HREF="curs_termattrs.3x.html">curs_termattrs(3x)</A></STRONG>
629               tgetent                 <STRONG><A HREF="curs_termcap.3x.html">curs_termcap(3x)</A></STRONG>
630               tgetflag                <STRONG><A HREF="curs_termcap.3x.html">curs_termcap(3x)</A></STRONG>
631               tgetnum                 <STRONG><A HREF="curs_termcap.3x.html">curs_termcap(3x)</A></STRONG>
632               tgetstr                 <STRONG><A HREF="curs_termcap.3x.html">curs_termcap(3x)</A></STRONG>
633               tgoto                   <STRONG><A HREF="curs_termcap.3x.html">curs_termcap(3x)</A></STRONG>
634               tigetflag               <STRONG><A HREF="curs_terminfo.3x.html">curs_terminfo(3x)</A></STRONG>
635               tigetnum                <STRONG><A HREF="curs_terminfo.3x.html">curs_terminfo(3x)</A></STRONG>
636               tigetstr                <STRONG><A HREF="curs_terminfo.3x.html">curs_terminfo(3x)</A></STRONG>
637               tiparm                  <STRONG><A HREF="curs_terminfo.3x.html">curs_terminfo(3x)</A></STRONG>*
638               timeout                 <STRONG><A HREF="curs_inopts.3x.html">curs_inopts(3x)</A></STRONG>
639               touchline               <STRONG><A HREF="curs_touch.3x.html">curs_touch(3x)</A></STRONG>
640               touchwin                <STRONG><A HREF="curs_touch.3x.html">curs_touch(3x)</A></STRONG>
641               tparm                   <STRONG><A HREF="curs_terminfo.3x.html">curs_terminfo(3x)</A></STRONG>
642               tputs                   <STRONG><A HREF="curs_termcap.3x.html">curs_termcap(3x)</A></STRONG>
643               tputs                   <STRONG><A HREF="curs_terminfo.3x.html">curs_terminfo(3x)</A></STRONG>
644               trace                   <STRONG><A HREF="curs_trace.3x.html">curs_trace(3x)</A></STRONG>*
645
646               typeahead               <STRONG><A HREF="curs_inopts.3x.html">curs_inopts(3x)</A></STRONG>
647               unctrl                  <STRONG><A HREF="curs_util.3x.html">curs_util(3x)</A></STRONG>
648               unget_wch               <STRONG><A HREF="curs_get_wch.3x.html">curs_get_wch(3x)</A></STRONG>
649               ungetch                 <STRONG><A HREF="curs_getch.3x.html">curs_getch(3x)</A></STRONG>
650               ungetmouse              <STRONG><A HREF="curs_mouse.3x.html">curs_mouse(3x)</A></STRONG>*
651               untouchwin              <STRONG><A HREF="curs_touch.3x.html">curs_touch(3x)</A></STRONG>
652               use_default_colors      <STRONG><A HREF="default_colors.3x.html">default_colors(3x)</A></STRONG>*
653               use_env                 <STRONG><A HREF="curs_util.3x.html">curs_util(3x)</A></STRONG>
654               use_extended_names      <STRONG><A HREF="curs_extend.3x.html">curs_extend(3x)</A></STRONG>*
655               use_legacy_coding       <STRONG><A HREF="legacy_coding.3x.html">legacy_coding(3x)</A></STRONG>*
656               use_tioctl              <STRONG><A HREF="curs_util.3x.html">curs_util(3x)</A></STRONG>
657               vid_attr                <STRONG><A HREF="curs_terminfo.3x.html">curs_terminfo(3x)</A></STRONG>
658               vid_puts                <STRONG><A HREF="curs_terminfo.3x.html">curs_terminfo(3x)</A></STRONG>
659               vidattr                 <STRONG><A HREF="curs_terminfo.3x.html">curs_terminfo(3x)</A></STRONG>
660               vidputs                 <STRONG><A HREF="curs_terminfo.3x.html">curs_terminfo(3x)</A></STRONG>
661               vline                   <STRONG><A HREF="curs_border.3x.html">curs_border(3x)</A></STRONG>
662               vline_set               <STRONG><A HREF="curs_border_set.3x.html">curs_border_set(3x)</A></STRONG>
663               vw_printw               <STRONG><A HREF="curs_printw.3x.html">curs_printw(3x)</A></STRONG>
664               vw_scanw                <STRONG><A HREF="curs_scanw.3x.html">curs_scanw(3x)</A></STRONG>
665               vwprintw                <STRONG><A HREF="curs_printw.3x.html">curs_printw(3x)</A></STRONG>
666               vwscanw                 <STRONG><A HREF="curs_scanw.3x.html">curs_scanw(3x)</A></STRONG>
667               wadd_wch                <STRONG><A HREF="curs_add_wch.3x.html">curs_add_wch(3x)</A></STRONG>
668               wadd_wchnstr            <STRONG><A HREF="curs_add_wchstr.3x.html">curs_add_wchstr(3x)</A></STRONG>
669               wadd_wchstr             <STRONG><A HREF="curs_add_wchstr.3x.html">curs_add_wchstr(3x)</A></STRONG>
670               waddch                  <STRONG><A HREF="curs_addch.3x.html">curs_addch(3x)</A></STRONG>
671               waddchnstr              <STRONG><A HREF="curs_addchstr.3x.html">curs_addchstr(3x)</A></STRONG>
672               waddchstr               <STRONG><A HREF="curs_addchstr.3x.html">curs_addchstr(3x)</A></STRONG>
673               waddnstr                <STRONG><A HREF="curs_addstr.3x.html">curs_addstr(3x)</A></STRONG>
674               waddnwstr               <STRONG><A HREF="curs_addwstr.3x.html">curs_addwstr(3x)</A></STRONG>
675               waddstr                 <STRONG><A HREF="curs_addstr.3x.html">curs_addstr(3x)</A></STRONG>
676               waddwstr                <STRONG><A HREF="curs_addwstr.3x.html">curs_addwstr(3x)</A></STRONG>
677               wattr_get               <STRONG><A HREF="curs_attr.3x.html">curs_attr(3x)</A></STRONG>
678               wattr_off               <STRONG><A HREF="curs_attr.3x.html">curs_attr(3x)</A></STRONG>
679               wattr_on                <STRONG><A HREF="curs_attr.3x.html">curs_attr(3x)</A></STRONG>
680               wattr_set               <STRONG><A HREF="curs_attr.3x.html">curs_attr(3x)</A></STRONG>
681               wattroff                <STRONG><A HREF="curs_attr.3x.html">curs_attr(3x)</A></STRONG>
682               wattron                 <STRONG><A HREF="curs_attr.3x.html">curs_attr(3x)</A></STRONG>
683               wattrset                <STRONG><A HREF="curs_attr.3x.html">curs_attr(3x)</A></STRONG>
684               wbkgd                   <STRONG><A HREF="curs_bkgd.3x.html">curs_bkgd(3x)</A></STRONG>
685               wbkgdset                <STRONG><A HREF="curs_bkgd.3x.html">curs_bkgd(3x)</A></STRONG>
686               wbkgrnd                 <STRONG><A HREF="curs_bkgrnd.3x.html">curs_bkgrnd(3x)</A></STRONG>
687               wbkgrndset              <STRONG><A HREF="curs_bkgrnd.3x.html">curs_bkgrnd(3x)</A></STRONG>
688               wborder                 <STRONG><A HREF="curs_border.3x.html">curs_border(3x)</A></STRONG>
689               wborder_set             <STRONG><A HREF="curs_border_set.3x.html">curs_border_set(3x)</A></STRONG>
690               wchgat                  <STRONG><A HREF="curs_attr.3x.html">curs_attr(3x)</A></STRONG>
691               wclear                  <STRONG><A HREF="curs_clear.3x.html">curs_clear(3x)</A></STRONG>
692               wclrtobot               <STRONG><A HREF="curs_clear.3x.html">curs_clear(3x)</A></STRONG>
693               wclrtoeol               <STRONG><A HREF="curs_clear.3x.html">curs_clear(3x)</A></STRONG>
694               wcolor_set              <STRONG><A HREF="curs_attr.3x.html">curs_attr(3x)</A></STRONG>
695               wcursyncup              <STRONG><A HREF="curs_window.3x.html">curs_window(3x)</A></STRONG>
696               wdelch                  <STRONG><A HREF="curs_delch.3x.html">curs_delch(3x)</A></STRONG>
697               wdeleteln               <STRONG><A HREF="curs_deleteln.3x.html">curs_deleteln(3x)</A></STRONG>
698               wecho_wchar             <STRONG><A HREF="curs_add_wch.3x.html">curs_add_wch(3x)</A></STRONG>
699               wechochar               <STRONG><A HREF="curs_addch.3x.html">curs_addch(3x)</A></STRONG>
700               wenclose                <STRONG><A HREF="curs_mouse.3x.html">curs_mouse(3x)</A></STRONG>*
701               werase                  <STRONG><A HREF="curs_clear.3x.html">curs_clear(3x)</A></STRONG>
702               wget_wch                <STRONG><A HREF="curs_get_wch.3x.html">curs_get_wch(3x)</A></STRONG>
703               wget_wstr               <STRONG><A HREF="curs_get_wstr.3x.html">curs_get_wstr(3x)</A></STRONG>
704               wgetbkgrnd              <STRONG><A HREF="curs_bkgrnd.3x.html">curs_bkgrnd(3x)</A></STRONG>
705               wgetch                  <STRONG><A HREF="curs_getch.3x.html">curs_getch(3x)</A></STRONG>
706               wgetdelay               <STRONG><A HREF="curs_opaque.3x.html">curs_opaque(3x)</A></STRONG>*
707               wgetn_wstr              <STRONG><A HREF="curs_get_wstr.3x.html">curs_get_wstr(3x)</A></STRONG>
708               wgetnstr                <STRONG><A HREF="curs_getstr.3x.html">curs_getstr(3x)</A></STRONG>
709               wgetparent              <STRONG><A HREF="curs_opaque.3x.html">curs_opaque(3x)</A></STRONG>*
710               wgetscrreg              <STRONG><A HREF="curs_opaque.3x.html">curs_opaque(3x)</A></STRONG>*
711
712               wgetstr                 <STRONG><A HREF="curs_getstr.3x.html">curs_getstr(3x)</A></STRONG>
713               whline                  <STRONG><A HREF="curs_border.3x.html">curs_border(3x)</A></STRONG>
714               whline_set              <STRONG><A HREF="curs_border_set.3x.html">curs_border_set(3x)</A></STRONG>
715               win_wch                 <STRONG><A HREF="curs_in_wch.3x.html">curs_in_wch(3x)</A></STRONG>
716               win_wchnstr             <STRONG><A HREF="curs_in_wchstr.3x.html">curs_in_wchstr(3x)</A></STRONG>
717               win_wchstr              <STRONG><A HREF="curs_in_wchstr.3x.html">curs_in_wchstr(3x)</A></STRONG>
718               winch                   <STRONG><A HREF="curs_inch.3x.html">curs_inch(3x)</A></STRONG>
719               winchnstr               <STRONG><A HREF="curs_inchstr.3x.html">curs_inchstr(3x)</A></STRONG>
720               winchstr                <STRONG><A HREF="curs_inchstr.3x.html">curs_inchstr(3x)</A></STRONG>
721               winnstr                 <STRONG><A HREF="curs_instr.3x.html">curs_instr(3x)</A></STRONG>
722               winnwstr                <STRONG><A HREF="curs_inwstr.3x.html">curs_inwstr(3x)</A></STRONG>
723               wins_nwstr              <STRONG><A HREF="curs_ins_wstr.3x.html">curs_ins_wstr(3x)</A></STRONG>
724               wins_wch                <STRONG><A HREF="curs_ins_wch.3x.html">curs_ins_wch(3x)</A></STRONG>
725               wins_wstr               <STRONG><A HREF="curs_ins_wstr.3x.html">curs_ins_wstr(3x)</A></STRONG>
726               winsch                  <STRONG><A HREF="curs_insch.3x.html">curs_insch(3x)</A></STRONG>
727               winsdelln               <STRONG><A HREF="curs_deleteln.3x.html">curs_deleteln(3x)</A></STRONG>
728               winsertln               <STRONG><A HREF="curs_deleteln.3x.html">curs_deleteln(3x)</A></STRONG>
729               winsnstr                <STRONG><A HREF="curs_insstr.3x.html">curs_insstr(3x)</A></STRONG>
730               winsstr                 <STRONG><A HREF="curs_insstr.3x.html">curs_insstr(3x)</A></STRONG>
731               winstr                  <STRONG><A HREF="curs_instr.3x.html">curs_instr(3x)</A></STRONG>
732               winwstr                 <STRONG><A HREF="curs_inwstr.3x.html">curs_inwstr(3x)</A></STRONG>
733               wmouse_trafo            <STRONG><A HREF="curs_mouse.3x.html">curs_mouse(3x)</A></STRONG>*
734               wmove                   <STRONG><A HREF="curs_move.3x.html">curs_move(3x)</A></STRONG>
735               wnoutrefresh            <STRONG><A HREF="curs_refresh.3x.html">curs_refresh(3x)</A></STRONG>
736               wprintw                 <STRONG><A HREF="curs_printw.3x.html">curs_printw(3x)</A></STRONG>
737               wredrawln               <STRONG><A HREF="curs_refresh.3x.html">curs_refresh(3x)</A></STRONG>
738               wrefresh                <STRONG><A HREF="curs_refresh.3x.html">curs_refresh(3x)</A></STRONG>
739               wresize                 <STRONG><A HREF="wresize.3x.html">wresize(3x)</A></STRONG>*
740               wscanw                  <STRONG><A HREF="curs_scanw.3x.html">curs_scanw(3x)</A></STRONG>
741               wscrl                   <STRONG><A HREF="curs_scroll.3x.html">curs_scroll(3x)</A></STRONG>
742               wsetscrreg              <STRONG><A HREF="curs_outopts.3x.html">curs_outopts(3x)</A></STRONG>
743               wstandend               <STRONG><A HREF="curs_attr.3x.html">curs_attr(3x)</A></STRONG>
744               wstandout               <STRONG><A HREF="curs_attr.3x.html">curs_attr(3x)</A></STRONG>
745               wsyncdown               <STRONG><A HREF="curs_window.3x.html">curs_window(3x)</A></STRONG>
746               wsyncup                 <STRONG><A HREF="curs_window.3x.html">curs_window(3x)</A></STRONG>
747               wtimeout                <STRONG><A HREF="curs_inopts.3x.html">curs_inopts(3x)</A></STRONG>
748               wtouchln                <STRONG><A HREF="curs_touch.3x.html">curs_touch(3x)</A></STRONG>
749               wunctrl                 <STRONG><A HREF="curs_util.3x.html">curs_util(3x)</A></STRONG>
750               wvline                  <STRONG><A HREF="curs_border.3x.html">curs_border(3x)</A></STRONG>
751               wvline_set              <STRONG><A HREF="curs_border_set.3x.html">curs_border_set(3x)</A></STRONG>
752
753
754 </PRE><H2><a name="h2-RETURN-VALUE">RETURN VALUE</a></H2><PRE>
755        Routines  that  return  an integer return <STRONG>ERR</STRONG> upon failure
756        and an integer value other than <STRONG>ERR</STRONG> upon  successful  com-
757        pletion,  unless  otherwise  noted in the routine descrip-
758        tions.
759
760        As a general rule, routines check for null pointers passed
761        as parameters, and handle this as an error.
762
763        All  macros  return  the  value  of  the <STRONG>w</STRONG> version, except
764        <STRONG>setscrreg</STRONG>, <STRONG>wsetscrreg</STRONG>, <STRONG>getyx</STRONG>, <STRONG>getbegyx</STRONG>, and <STRONG>getmaxyx</STRONG>.  The
765        return  values  of <STRONG>setscrreg</STRONG>, <STRONG>wsetscrreg</STRONG>, <STRONG>getyx</STRONG>, <STRONG>getbegyx</STRONG>,
766        and <STRONG>getmaxyx</STRONG> are undefined (i.e., these should not be used
767        as the right-hand side of assignment statements).
768
769        Routines that return pointers return <STRONG>NULL</STRONG> on error.
770
771
772 </PRE><H2><a name="h2-ENVIRONMENT">ENVIRONMENT</a></H2><PRE>
773        The following environment symbols are useful for customiz-
774        ing the runtime behavior of the <STRONG>ncurses</STRONG> library.  The most
775        important ones have been already discussed in detail.
776
777    <STRONG>CC</STRONG>
778        When  set,  change  occurrences  of  the command_character
779        (i.e.,  the  <STRONG>cmdch</STRONG>  capability)  of  the  loaded  terminfo
780        entries  to the value of this variable.  Very few terminfo
781        entries provide this feature.
782
783        Because this name is also used in development environments
784        to  represent the C compiler's name, <STRONG>ncurses</STRONG> ignores it if
785        it does not happen to be a single character.
786
787
788 </PRE><H3><a name="h3-BAUDRATE">BAUDRATE</a></H3><PRE>
789        The debugging library  checks  this  environment  variable
790        when the application has redirected output to a file.  The
791        variable's numeric value is used for the baudrate.  If  no
792        value is found, <STRONG>ncurses</STRONG> uses 9600.  This allows testers to
793        construct repeatable test-cases  that  take  into  account
794        costs that depend on baudrate.
795
796
797 </PRE><H3><a name="h3-COLUMNS">COLUMNS</a></H3><PRE>
798        Specify  the  width of the screen in characters.  Applica-
799        tions running in a windowing environment usually are  able
800        to  obtain  the width of the window in which they are exe-
801        cuting.  If neither the <STRONG>COLUMNS</STRONG> value nor  the  terminal's
802        screen  size is available, <STRONG>ncurses</STRONG> uses the size which may
803        be specified in the  terminfo  database  (i.e.,  the  <STRONG>cols</STRONG>
804        capability).
805
806        It  is  important that your application use a correct size
807        for the screen.  This is not always possible because  your
808        application  may be running on a host which does not honor
809        NAWS (Negotiations About Window Size), or because you  are
810        temporarily  running  as  another  user.  However, setting
811        <STRONG>COLUMNS</STRONG> and/or <STRONG>LINES</STRONG> overrides the library's  use  of  the
812        screen size obtained from the operating system.
813
814        Either  <STRONG>COLUMNS</STRONG> or <STRONG>LINES</STRONG> symbols may be specified indepen-
815        dently.  This is mainly useful to circumvent  legacy  mis-
816        features  of terminal descriptions, e.g., xterm which com-
817        monly specifies a 65 line screen.  For best results, <STRONG>lines</STRONG>
818        and <STRONG>cols</STRONG> should not be specified in a terminal description
819        for terminals which are run as emulations.
820
821        Use the <STRONG>use_env</STRONG> function to disable all  use  of  external
822        environment  (but not including system calls) to determine
823        the screen size.  Use the <STRONG>use_tioctl</STRONG>  function  to  update
824        <STRONG>COLUMNS</STRONG>  or  <STRONG>LINES</STRONG>  to match the screen size obtained from
825        system calls or the terminal database.
826
827
828 </PRE><H3><a name="h3-ESCDELAY">ESCDELAY</a></H3><PRE>
829        Specifies the  total  time,  in  milliseconds,  for  which
830        ncurses  will await a character sequence, e.g., a function
831        key.  The default value, 1000 milliseconds, is enough  for
832        most  uses.  However, it is made a variable to accommodate
833        unusual applications.
834
835        The most common instance where you may wish to change this
836        value  is to work with slow hosts, e.g., running on a net-
837        work.  If the host cannot read characters rapidly  enough,
838        it  will  have  the same effect as if the terminal did not
839        send characters rapidly enough.  The  library  will  still
840        see a timeout.
841
842        Note  that  xterm mouse events are built up from character
843        sequences received from the xterm.   If  your  application
844        makes  heavy  use  of  multiple-clicking,  you may wish to
845        lengthen this default value because the timeout applies to
846        the  composed  multi-click event as well as the individual
847        clicks.
848
849        In addition to the environment variable, this  implementa-
850        tion  provides a global variable with the same name.  Por-
851        table applications should not rely upon  the  presence  of
852        ESCDELAY in either form, but setting the environment vari-
853        able rather than the global variable does not create prob-
854        lems when compiling an application.
855
856
857 </PRE><H3><a name="h3-HOME">HOME</a></H3><PRE>
858        Tells <STRONG>ncurses</STRONG> where your home directory is.  That is where
859        it may read and write auxiliary terminal descriptions:
860
861        $HOME/.termcap
862        $HOME/.terminfo
863
864
865 </PRE><H3><a name="h3-LINES">LINES</a></H3><PRE>
866        Like COLUMNS, specify the height of the screen in  charac-
867        ters.  See COLUMNS for a detailed description.
868
869
870 </PRE><H3><a name="h3-MOUSE_BUTTONS_123">MOUSE_BUTTONS_123</a></H3><PRE>
871        This  applies only to the OS/2 EMX port.  It specifies the
872        order of buttons on the mouse.  OS/2  numbers  a  3-button
873        mouse inconsistently from other platforms:
874
875        1 = left
876        2 = right
877        3 = middle.
878
879        This  variable lets you customize the mouse.  The variable
880        must be three numeric digits 1-3 in any order,  e.g.,  123
881        or 321.  If it is not specified, <STRONG>ncurses</STRONG> uses 132.
882
883
884 </PRE><H3><a name="h3-NCURSES_ASSUMED_COLORS">NCURSES_ASSUMED_COLORS</a></H3><PRE>
885        Override  the  compiled-in  assumption that the terminal's
886        default  colors  are  white-on-black   (see   <STRONG>default_col-</STRONG>
887        <STRONG><A HREF="default_colors.3x.html">ors(3x)</A></STRONG>).  You may set the foreground and background color
888        values with this environment variable by proving a  2-ele-
889        ment  list:  foreground,background.   For example, to tell
890        ncurses to not assume anything about the colors, set  this
891        to  "-1,-1".   To make it green-on-black, set it to "2,0".
892        Any positive value from zero to  the  terminfo  <STRONG>max_colors</STRONG>
893        value is allowed.
894
895
896 </PRE><H3><a name="h3-NCURSES_CONSOLE2">NCURSES_CONSOLE2</a></H3><PRE>
897        This applies only to the MinGW port of ncurses.
898
899        The  <STRONG>Console2</STRONG>  program's handling of the Microsoft Console
900        API call <STRONG>CreateConsoleScreenBuffer</STRONG> is defective.  Applica-
901        tions  which  use this will hang.  However, it is possible
902        to simulate the action of this  call  by  mapping  coordi-
903        nates, explicitly saving and restoring the original screen
904        contents.  Setting the environment variable <STRONG>NCGDB</STRONG> has  the
905        same effect.
906
907
908 </PRE><H3><a name="h3-NCURSES_GPM_TERMS">NCURSES_GPM_TERMS</a></H3><PRE>
909        This  applies  only  to  ncurses configured to use the GPM
910        interface.
911
912        If present, the environment variable is a list of  one  or
913        more  terminal  names  against  which the <STRONG>TERM</STRONG> environment
914        variable is matched.  Setting it to an  empty  value  dis-
915        ables  the  GPM  interface; using the built-in support for
916        xterm, etc.
917
918        If  the  environment  variable  is  absent,  ncurses  will
919        attempt to open GPM if <STRONG>TERM</STRONG> contains "linux".
920
921
922 </PRE><H3><a name="h3-NCURSES_NO_HARD_TABS">NCURSES_NO_HARD_TABS</a></H3><PRE>
923        <STRONG>Ncurses</STRONG>  may use tabs as part of the cursor movement opti-
924        mization.  In some cases, your  terminal  driver  may  not
925        handle  these  properly.  Set this environment variable to
926        disable the feature.  You can also adjust your  <STRONG>stty</STRONG>  set-
927        tings  to avoid the problem.  NCURSES_NO_MAGIC_COOKIE Some
928        terminals use a magic-cookie feature which  requires  spe-
929        cial   handling  to  make  highlighting  and  other  video
930        attributes display properly.  You can suppress  the  high-
931        lighting  entirely  for  these  terminals  by setting this
932        environment variable.
933
934
935 </PRE><H3><a name="h3-NCURSES_NO_PADDING">NCURSES_NO_PADDING</a></H3><PRE>
936        Most of the terminal descriptions in the terminfo database
937        are  written  for  real "hardware" terminals.  Many people
938        use terminal emulators which run in a  windowing  environ-
939        ment  and  use curses-based applications.  Terminal emula-
940        tors can duplicate all of the important aspects of a hard-
941        ware  terminal, but they do not have the same limitations.
942        The chief limitation  of  a  hardware  terminal  from  the
943        standpoint  of  your  application  is  the  management  of
944        dataflow, i.e., timing.  Unless  a  hardware  terminal  is
945        interfaced  into  a terminal concentrator (which does flow
946        control), it (or your application) must  manage  dataflow,
947        preventing  overruns.   The cheapest solution (no hardware
948        cost) is for your program to  do  this  by  pausing  after
949        operations that the terminal does slowly, such as clearing
950        the display.
951
952        As a result, many  terminal  descriptions  (including  the
953        vt100)  have  delay  times  embedded.  You may wish to use
954        these descriptions, but not want to  pay  the  performance
955        penalty.
956
957        Set the NCURSES_NO_PADDING environment variable to disable
958        all but mandatory padding.  Mandatory padding is used as a
959        part of special control sequences such as <EM>flash</EM>.
960
961
962 </PRE><H3><a name="h3-NCURSES_NO_SETBUF">NCURSES_NO_SETBUF</a></H3><PRE>
963        This setting is obsolete.  Before changes
964
965           <STRONG>o</STRONG>   started with 5.9 patch 20120825 and
966
967           <STRONG>o</STRONG>   continued though 5.9 patch 20130126
968
969        <STRONG>ncurses</STRONG>  enabled  buffered output during terminal initial-
970        ization.  This was done (as in SVr4  curses)  for  perfor-
971        mance  reasons.  For testing purposes, both of <STRONG>ncurses</STRONG> and
972        certain applications,  this  feature  was  made  optional.
973        Setting  the  NCURSES_NO_SETBUF  variable  disabled output
974        buffering, leaving the output  in  the  original  (usually
975        line buffered) mode.
976
977        In  the  current  implementation, ncurses performs its own
978        buffering and does not require this workaround.   It  does
979        not modify the buffering of the standard output.
980
981        The  reason  for  the  change was to make the behavior for
982        interrupts and other signals more robust.  One drawback is
983        that  certain  nonconventional programs would mix ordinary
984        stdio calls with ncurses calls and (usually)  work.   This
985        is  no  longer  possible  since  ncurses  is not using the
986        buffered standard output but its own output (to  the  same
987        file  descriptor).  As a special case, the low-level calls
988        such as <STRONG>putp</STRONG> still use the  standard  output.   But  high-
989        level curses calls do not.
990
991
992 </PRE><H3><a name="h3-NCURSES_NO_UTF8_ACS">NCURSES_NO_UTF8_ACS</a></H3><PRE>
993        During initialization, the <STRONG>ncurses</STRONG> library checks for spe-
994        cial cases where VT100 line-drawing (and the corresponding
995        alternate  character  set  capabilities)  described in the
996        terminfo are known to be missing.  Specifically, when run-
997        ning in a UTF-8 locale, the Linux console emulator and the
998        GNU screen program ignore these.  Ncurses checks the  <STRONG>TERM</STRONG>
999        environment  variable for these.  For other special cases,
1000        you should set  this  environment  variable.   Doing  this
1001        tells  ncurses  to  use Unicode values which correspond to
1002        the VT100 line-drawing glyphs.  That works for the special
1003        cases cited, and is likely to work for terminal emulators.
1004
1005        When setting this variable, you should set it to a nonzero
1006        value.  Setting it to zero (or to  a  nonnumber)  disables
1007        the special check for "linux" and "screen".
1008
1009        As  an  alternative  to  the environment variable, ncurses
1010        checks for an extended terminfo capability <STRONG>U8</STRONG>.  This is  a
1011        numeric  capability  which  can  be compiled using <STRONG>tic</STRONG> <STRONG>-x</STRONG>.
1012        For example
1013
1014           # linux console, if patched to provide working
1015           # VT100 shift-in/shift-out, with corresponding font.
1016           linux-vt100|linux console with VT100 line-graphics,
1017                   U8#0, use=linux,
1018
1019           # uxterm with vt100Graphics resource set to false
1020           xterm-utf8|xterm relying on UTF-8 line-graphics,
1021                   U8#1, use=xterm,
1022
1023        The name "U8" is chosen to be two characters, to permit it
1024        to  be  used  by  applications  that  use ncurses' termcap
1025        interface.
1026
1027
1028 </PRE><H3><a name="h3-NCURSES_TRACE">NCURSES_TRACE</a></H3><PRE>
1029        During  initialization,  the  <STRONG>ncurses</STRONG>  debugging   library
1030        checks  the  NCURSES_TRACE environment variable.  If it is
1031        defined, to a numeric value, <STRONG>ncurses</STRONG> calls the <STRONG>trace</STRONG> func-
1032        tion, using that value as the argument.
1033
1034        The  argument  values, which are defined in <STRONG>curses.h</STRONG>, pro-
1035        vide several types  of  information.   When  running  with
1036        traces enabled, your application will write the file <STRONG>trace</STRONG>
1037        to the current directory.
1038
1039        See <STRONG><A HREF="curs_trace.3x.html">curs_trace(3x)</A></STRONG> for more information.
1040
1041
1042 </PRE><H3><a name="h3-TERM">TERM</a></H3><PRE>
1043        Denotes your terminal type.  Each terminal  type  is  dis-
1044        tinct, though many are similar.
1045
1046        <STRONG>TERM</STRONG>  is commonly set by terminal emulators to help appli-
1047        cations find a workable  terminal  description.   Some  of
1048        those   choose  a  popular  approximation,  e.g.,  "ansi",
1049        "vt100", "xterm" rather than an  exact  fit.   Not  infre-
1050        quently,  your  application  will  have problems with that
1051        approach, e.g., incorrect function-key definitions.
1052
1053        If you set <STRONG>TERM</STRONG> in your environment, it has no  effect  on
1054        the  operation  of the terminal emulator.  It only affects
1055        the way applications work within the terminal.   Likewise,
1056        as a general rule (<STRONG>xterm</STRONG> being a rare exception), terminal
1057        emulators which allow you to specify <STRONG>TERM</STRONG> as  a  parameter
1058        or  configuration  value  do  not change their behavior to
1059        match that setting.
1060
1061
1062 </PRE><H3><a name="h3-TERMCAP">TERMCAP</a></H3><PRE>
1063        If the <STRONG>ncurses</STRONG> library has been  configured  with  <EM>termcap</EM>
1064        support,  <STRONG>ncurses</STRONG>  will check for a terminal's description
1065        in termcap form if it is not  available  in  the  terminfo
1066        database.
1067
1068        The  <STRONG>TERMCAP</STRONG> environment variable contains either a termi-
1069        nal description (with newlines stripped out),  or  a  file
1070        name  telling  where  the  information denoted by the <STRONG>TERM</STRONG>
1071        environment variable exists.  In either case,  setting  it
1072        directs  <STRONG>ncurses</STRONG> to ignore the usual place for this infor-
1073        mation, e.g., /etc/termcap.
1074
1075
1076 </PRE><H3><a name="h3-TERMINFO">TERMINFO</a></H3><PRE>
1077        <STRONG>ncurses</STRONG> can be configured to read from  multiple  terminal
1078        databases.   The  <STRONG>TERMINFO</STRONG> variable overrides the location
1079        for the default terminal database.  Terminal  descriptions
1080        (in terminal format) are stored in terminal databases:
1081
1082        <STRONG>o</STRONG>   Normally  these  are stored in a directory tree, using
1083            subdirectories named by the first letter of the termi-
1084            nal names therein.
1085
1086            This is the scheme used in System V, which legacy Unix
1087            systems use, and the  <STRONG>TERMINFO</STRONG>  variable  is  used  by
1088            <EM>curses</EM>  applications  on those systems to override the
1089            default location of the terminal database.
1090
1091        <STRONG>o</STRONG>   If <STRONG>ncurses</STRONG> is built to use hashed databases, then each
1092            entry  in  this list may be the path of a hashed data-
1093            base file, e.g.,
1094
1095              /usr/share/terminfo.db
1096
1097            rather than
1098
1099              /usr/share/terminfo/
1100
1101            The hashed database uses less disk-space and is a lit-
1102            tle  faster  than  the  directory tree.  However, some
1103            applications assume the  existence  of  the  directory
1104            tree,  reading  it directly rather than using the ter-
1105            minfo library calls.
1106
1107        <STRONG>o</STRONG>   If <STRONG>ncurses</STRONG> is built with a support for reading termcap
1108            files  directly, then an entry in this list may be the
1109            path of a termcap file.
1110
1111        <STRONG>o</STRONG>   If the <STRONG>TERMINFO</STRONG> variable begins with "hex:" or "b64:",
1112            <STRONG>ncurses</STRONG>  uses the remainder of that variable as a com-
1113            piled terminal description.   You  might  produce  the
1114            base64 format using <STRONG><A HREF="infocmp.1m.html">infocmp(1m)</A></STRONG>:
1115
1116              TERMINFO="$(infocmp -0 -Q2 -q)"
1117              export TERMINFO
1118
1119            The  compiled description is used if it corresponds to
1120            the terminal identified by the <STRONG>TERM</STRONG> variable.
1121
1122        Setting <STRONG>TERMINFO</STRONG> is the simplest, but not the only way  to
1123        set  location  of the default terminal database.  The com-
1124        plete list of database locations in order follows:
1125
1126           <STRONG>o</STRONG>   the last terminal database to which <STRONG>ncurses</STRONG>  wrote,
1127               if any, is searched first
1128
1129           <STRONG>o</STRONG>   the  location specified by the TERMINFO environment
1130               variable
1131
1132           <STRONG>o</STRONG>   $HOME/.terminfo
1133
1134           <STRONG>o</STRONG>   locations listed in the  TERMINFO_DIRS  environment
1135               variable
1136
1137           <STRONG>o</STRONG>   one  or  more  locations whose names are configured
1138               and compiled into the ncurses library, i.e.,
1139
1140              <STRONG>o</STRONG>   /usr/local/ncurses/share/ter-
1141                  minfo:/usr/share/terminfo  (corresponding to the
1142                  TERMINFO_DIRS variable)
1143
1144              <STRONG>o</STRONG>   /usr/share/terminfo (corresponding to  the  TER-
1145                  MINFO variable)
1146
1147
1148 </PRE><H3><a name="h3-TERMINFO_DIRS">TERMINFO_DIRS</a></H3><PRE>
1149        Specifies  a  list  of  locations  to  search for terminal
1150        descriptions.  Each location in the  list  is  a  terminal
1151        database as described in the section on the <STRONG>TERMINFO</STRONG> vari-
1152        able.  The list is separated  by  colons  (i.e.,  ":")  on
1153        Unix, semicolons on OS/2 EMX.
1154
1155        There is no corresponding feature in System V terminfo; it
1156        is an extension developed for <STRONG>ncurses</STRONG>.
1157
1158
1159 </PRE><H3><a name="h3-TERMPATH">TERMPATH</a></H3><PRE>
1160        If <STRONG>TERMCAP</STRONG> does not hold a file name then  <STRONG>ncurses</STRONG>  checks
1161        the  <STRONG>TERMPATH</STRONG>  environment  variable.   This  is a list of
1162        filenames separated by spaces or  colons  (i.e.,  ":")  on
1163        Unix, semicolons on OS/2 EMX.
1164
1165        If  the  <STRONG>TERMPATH</STRONG> environment variable is not set, <STRONG>ncurses</STRONG>
1166        looks in the files
1167
1168          /etc/termcap, /usr/share/misc/termcap and $HOME/.termcap,
1169
1170        in that order.
1171
1172        The library may be configured to disregard  the  following
1173        variables  when  the current user is the superuser (root),
1174        or if the application uses setuid or setgid permissions:
1175
1176          $TERMINFO, $TERMINFO_DIRS, $TERMPATH, as well as $HOME.
1177
1178
1179 </PRE><H2><a name="h2-ALTERNATE-CONFIGURATIONS">ALTERNATE CONFIGURATIONS</a></H2><PRE>
1180        Several different configurations are  possible,  depending
1181        on   the  configure  script  options  used  when  building
1182        <STRONG>ncurses</STRONG>.  There are a few main options whose  effects  are
1183        visible to the applications developer using <STRONG>ncurses</STRONG>:
1184
1185        --disable-overwrite
1186             The  standard include for <STRONG>ncurses</STRONG> is as noted in <STRONG>SYN-</STRONG>
1187             <STRONG>OPSIS</STRONG>:
1188
1189           <STRONG>#include</STRONG> <STRONG>&lt;curses.h&gt;</STRONG>
1190
1191             This option is used to avoid filename conflicts  when
1192             <STRONG>ncurses</STRONG>  is  not the main implementation of curses of
1193             the computer.   If  <STRONG>ncurses</STRONG>  is  installed  disabling
1194             overwrite,  it  puts  its  headers in a subdirectory,
1195             e.g.,
1196
1197           <STRONG>#include</STRONG> <STRONG>&lt;ncurses/curses.h&gt;</STRONG>
1198
1199             It also omits a symbolic link which would  allow  you
1200             to use <STRONG>-lcurses</STRONG> to build executables.
1201
1202        --enable-widec
1203             The  configure script renames the library and (if the
1204             <STRONG>--disable-overwrite</STRONG> option is used) puts  the  header
1205             files  in  a  different  subdirectory.   All  of  the
1206             library names have a  "w"  appended  to  them,  i.e.,
1207             instead of
1208
1209           <STRONG>-lncurses</STRONG>
1210
1211             you link with
1212
1213           <STRONG>-lncursesw</STRONG>
1214
1215             You must also define <STRONG>_XOPEN_SOURCE_EXTENDED</STRONG> when com-
1216             piling for the  wide-character  library  to  use  the
1217             extended  (wide-character)  functions.   The <STRONG>curses.h</STRONG>
1218             file  which  is  installed  for  the   wide-character
1219             library  is designed to be compatible with the normal
1220             library's header.  Only the size of the <STRONG>WINDOW</STRONG> struc-
1221             ture  differs, and very few applications require more
1222             than a  pointer  to  <STRONG>WINDOW</STRONG>s.   If  the  headers  are
1223             installed   allowing  overwrite,  the  wide-character
1224             library's headers should be installed last, to  allow
1225             applications  to  be  built using either library from
1226             the same set of headers.
1227
1228        --with-pthread
1229             The configure script renames the library.  All of the
1230             library names have a "t" appended to them (before any
1231             "w" added by <STRONG>--enable-widec</STRONG>).
1232
1233             The global variables such as <STRONG>LINES</STRONG>  are  replaced  by
1234             macros  to allow read-only access.  At the same time,
1235             setter-functions are provided to  set  these  values.
1236             Some  applications  (very few) may require changes to
1237             work with this convention.
1238
1239        --with-shared
1240
1241        --with-normal
1242
1243        --with-debug
1244
1245        --with-profile
1246             The shared and normal (static) library  names  differ
1247             by  their  suffixes,  e.g.,  <STRONG>libncurses.so</STRONG>  and <STRONG>libn-</STRONG>
1248             <STRONG>curses.a</STRONG>.  The debug and profiling  libraries  add  a
1249             "_g" and a "_p" to the root names respectively, e.g.,
1250             <STRONG>libncurses_g.a</STRONG> and <STRONG>libncurses_p.a</STRONG>.
1251
1252        --with-trace
1253             The <STRONG>trace</STRONG> function  normally  resides  in  the  debug
1254             library, but it is sometimes useful to configure this
1255             in the  shared  library.   Configure  scripts  should
1256             check for the function's existence rather than assum-
1257             ing it is always in the debug library.
1258
1259
1260 </PRE><H2><a name="h2-FILES">FILES</a></H2><PRE>
1261        /usr/share/tabset
1262             directory containing  initialization  files  for  the
1263             terminal capability database /usr/share/terminfo ter-
1264             minal capability database
1265
1266
1267 </PRE><H2><a name="h2-SEE-ALSO">SEE ALSO</a></H2><PRE>
1268        <STRONG><A HREF="terminfo.5.html">terminfo(5)</A></STRONG> and related pages whose  names  begin  "curs_"
1269        for detailed routine descriptions.
1270        <STRONG><A HREF="curs_variables.3x.html">curs_variables(3x)</A></STRONG>
1271
1272
1273 </PRE><H2><a name="h2-EXTENSIONS">EXTENSIONS</a></H2><PRE>
1274        The  <STRONG>ncurses</STRONG>  library  can  be  compiled  with  an  option
1275        (<STRONG>-DUSE_GETCAP</STRONG>) that falls back to the old-style /etc/term-
1276        cap file if the terminal setup code cannot find a terminfo
1277        entry corresponding to <STRONG>TERM</STRONG>.  Use of this feature  is  not
1278        recommended,  as it essentially includes an entire termcap
1279        compiler in the <STRONG>ncurses</STRONG> startup code, at significant  cost
1280        in core and startup cycles.
1281
1282        The  <STRONG>ncurses</STRONG>  library  includes  facilities  for capturing
1283        mouse events on certain terminals (including xterm).   See
1284        the <STRONG><A HREF="curs_mouse.3x.html">curs_mouse(3x)</A></STRONG> manual page for details.
1285
1286        The  <STRONG>ncurses</STRONG> library includes facilities for responding to
1287        window resizing events, e.g., when running  in  an  xterm.
1288        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
1289        details.  In addition, the library may be configured  with
1290        a SIGWINCH handler.
1291
1292        The  <STRONG>ncurses</STRONG> library extends the fixed set of function key
1293        capabilities of  terminals  by  allowing  the  application
1294        designer  to  define  additional key sequences at runtime.
1295        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-
1296        ual pages for details.
1297
1298        The <STRONG>ncurses</STRONG> library can exploit the capabilities of termi-
1299        nals which implement the ISO-6429 SGR 39 and SGR  49  con-
1300        trols, which allow an application to reset the terminal to
1301        its original foreground and background colors.   From  the
1302        users'  perspective,  the application is able to draw col-
1303        ored text on a background  whose  color  is  set  indepen-
1304        dently,  providing  better  control  over color contrasts.
1305        See the <STRONG><A HREF="default_colors.3x.html">default_colors(3x)</A></STRONG> manual page for details.
1306
1307        The <STRONG>ncurses</STRONG> library  includes  a  function  for  directing
1308        application  output  to a printer attached to the terminal
1309        device.  See the <STRONG><A HREF="curs_print.3x.html">curs_print(3x)</A></STRONG> manual page for details.
1310
1311
1312 </PRE><H2><a name="h2-PORTABILITY">PORTABILITY</a></H2><PRE>
1313        The <STRONG>ncurses</STRONG> library is intended to be  BASE-level  confor-
1314        mant with XSI Curses.  The EXTENDED XSI Curses functional-
1315        ity (including color support) is supported.
1316
1317        A small number of local differences (that  is,  individual
1318        differences  between the XSI Curses and <STRONG>ncurses</STRONG> calls) are
1319        described in  <STRONG>PORTABILITY</STRONG>  sections  of  the  library  man
1320        pages.
1321
1322        Unlike  other  implementations, this one checks parameters
1323        such as pointers to WINDOW structures to ensure  they  are
1324        not  null.  The main reason for providing this behavior is
1325        to guard against programmer error.  The standard interface
1326        does not provide a way for the library to tell an applica-
1327        tion which  of  several  possible  errors  were  detected.
1328        Relying  on  this (or some other) extension will adversely
1329        affect the portability of curses applications.
1330
1331        This implementation also contains several extensions:
1332
1333        <STRONG>o</STRONG>   The routine <STRONG>has_key</STRONG> is not part of  XPG4,  nor  is  it
1334            present  in  SVr4.  See the <STRONG><A HREF="curs_getch.3x.html">curs_getch(3x)</A></STRONG> manual page
1335            for details.
1336
1337        <STRONG>o</STRONG>   The routine <STRONG>slk_attr</STRONG> is not part of XPG4,  nor  is  it
1338            present in SVr4.  See the <STRONG><A HREF="curs_slk.3x.html">curs_slk(3x)</A></STRONG> manual page for
1339            details.
1340
1341        <STRONG>o</STRONG>   The routines <STRONG>getmouse</STRONG>, <STRONG>mousemask</STRONG>, <STRONG>ungetmouse</STRONG>, <STRONG>mousein-</STRONG>
1342            <STRONG>terval</STRONG>, and <STRONG>wenclose</STRONG> relating to mouse interfacing are
1343            not part of XPG4, nor are they present in  SVr4.   See
1344            the <STRONG><A HREF="curs_mouse.3x.html">curs_mouse(3x)</A></STRONG> manual page for details.
1345
1346        <STRONG>o</STRONG>   The  routine  <STRONG>mcprint</STRONG>  was not present in any previous
1347            curses implementation.  See the <STRONG><A HREF="curs_print.3x.html">curs_print(3x)</A></STRONG>  manual
1348            page for details.
1349
1350        <STRONG>o</STRONG>   The  routine  <STRONG>wresize</STRONG>  is  not part of XPG4, nor is it
1351            present in SVr4.  See the <STRONG><A HREF="wresize.3x.html">wresize(3x)</A></STRONG> manual page  for
1352            details.
1353
1354        <STRONG>o</STRONG>   The  WINDOW structure's internal details can be hidden
1355            from application programs.   See  <STRONG><A HREF="curs_opaque.3x.html">curs_opaque(3x)</A></STRONG>  for
1356            the discussion of <STRONG>is_scrollok</STRONG>, etc.
1357
1358        <STRONG>o</STRONG>   This implementation can be configured to provide rudi-
1359            mentary support for multi-threaded applications.   See
1360            <STRONG><A HREF="curs_threads.3x.html">curs_threads(3x)</A></STRONG> for details.
1361
1362        <STRONG>o</STRONG>   This  implementation can also be configured to provide
1363            a set of functions which improve the ability to manage
1364            multiple screens.  See <STRONG><A HREF="curs_sp_funcs.3x.html">curs_sp_funcs(3x)</A></STRONG> for details.
1365
1366        In  historic curses versions, delays embedded in the capa-
1367        bilities <STRONG>cr</STRONG>, <STRONG>ind</STRONG>, <STRONG>cub1</STRONG>, <STRONG>ff</STRONG> and <STRONG>tab</STRONG> activated corresponding
1368        delay  bits  in  the UNIX tty driver.  In this implementa-
1369        tion, all padding is done  by  sending  NUL  bytes.   This
1370        method  is slightly more expensive, but narrows the inter-
1371        face to the UNIX kernel significantly  and  increases  the
1372        package's portability correspondingly.
1373
1374
1375 </PRE><H2><a name="h2-NOTES">NOTES</a></H2><PRE>
1376        The  header  file  <STRONG>&lt;curses.h&gt;</STRONG>  automatically  includes the
1377        header files <STRONG>&lt;stdio.h&gt;</STRONG> and <STRONG>&lt;unctrl.h&gt;</STRONG>.
1378
1379        If standard output from a <STRONG>ncurses</STRONG> program  is  re-directed
1380        to  something  which  is not a tty, screen updates will be
1381        directed to standard error.  This was an undocumented fea-
1382        ture of AT&amp;T System V Release 3 curses.
1383
1384
1385 </PRE><H2><a name="h2-AUTHORS">AUTHORS</a></H2><PRE>
1386        Zeyd  M.  Ben-Halim,  Eric  S.  Raymond, Thomas E. Dickey.
1387        Based on pcurses by Pavel Curtis.
1388
1389
1390
1391                                                             <STRONG><A HREF="ncurses.3x.html">ncurses(3x)</A></STRONG>
1392 </PRE>
1393 <div class="nav">
1394 <ul>
1395 <li><a href="#h2-NAME">NAME</a></li>
1396 <li><a href="#h2-SYNOPSIS">SYNOPSIS</a></li>
1397 <li><a href="#h2-DESCRIPTION">DESCRIPTION</a>
1398 <ul>
1399 <li><a href="#h3-Initialization">Initialization</a></li>
1400 <li><a href="#h3-Datatypes">Datatypes</a></li>
1401 <li><a href="#h3-Environment-variables">Environment variables</a></li>
1402 <li><a href="#h3-Routine-and-Argument-Names">Routine and Argument Names</a></li>
1403 <li><a href="#h3-Routine-Name-Index">Routine Name Index</a></li>
1404 </ul>
1405 </li>
1406 <li><a href="#h2-RETURN-VALUE">RETURN VALUE</a></li>
1407 <li><a href="#h2-ENVIRONMENT">ENVIRONMENT</a>
1408 <ul>
1409 <li><a href="#h3-BAUDRATE">BAUDRATE</a></li>
1410 <li><a href="#h3-COLUMNS">COLUMNS</a></li>
1411 <li><a href="#h3-ESCDELAY">ESCDELAY</a></li>
1412 <li><a href="#h3-HOME">HOME</a></li>
1413 <li><a href="#h3-LINES">LINES</a></li>
1414 <li><a href="#h3-MOUSE_BUTTONS_123">MOUSE_BUTTONS_123</a></li>
1415 <li><a href="#h3-NCURSES_ASSUMED_COLORS">NCURSES_ASSUMED_COLORS</a></li>
1416 <li><a href="#h3-NCURSES_CONSOLE2">NCURSES_CONSOLE2</a></li>
1417 <li><a href="#h3-NCURSES_GPM_TERMS">NCURSES_GPM_TERMS</a></li>
1418 <li><a href="#h3-NCURSES_NO_HARD_TABS">NCURSES_NO_HARD_TABS</a></li>
1419 <li><a href="#h3-NCURSES_NO_PADDING">NCURSES_NO_PADDING</a></li>
1420 <li><a href="#h3-NCURSES_NO_SETBUF">NCURSES_NO_SETBUF</a></li>
1421 <li><a href="#h3-NCURSES_NO_UTF8_ACS">NCURSES_NO_UTF8_ACS</a></li>
1422 <li><a href="#h3-NCURSES_TRACE">NCURSES_TRACE</a></li>
1423 <li><a href="#h3-TERM">TERM</a></li>
1424 <li><a href="#h3-TERMCAP">TERMCAP</a></li>
1425 <li><a href="#h3-TERMINFO">TERMINFO</a></li>
1426 <li><a href="#h3-TERMINFO_DIRS">TERMINFO_DIRS</a></li>
1427 <li><a href="#h3-TERMPATH">TERMPATH</a></li>
1428 </ul>
1429 </li>
1430 <li><a href="#h2-ALTERNATE-CONFIGURATIONS">ALTERNATE CONFIGURATIONS</a></li>
1431 <li><a href="#h2-FILES">FILES</a></li>
1432 <li><a href="#h2-SEE-ALSO">SEE ALSO</a></li>
1433 <li><a href="#h2-EXTENSIONS">EXTENSIONS</a></li>
1434 <li><a href="#h2-PORTABILITY">PORTABILITY</a></li>
1435 <li><a href="#h2-NOTES">NOTES</a></li>
1436 <li><a href="#h2-AUTHORS">AUTHORS</a></li>
1437 </ul>
1438 </div>
1439 </BODY>
1440 </HTML>