]> ncurses.scripts.mit.edu Git - ncurses.git/blob - doc/html/man/ncurses.3x.html
ncurses 6.0 - patch 20170422
[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.131 2017/03/25 20:45:48 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 20170422).
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               alloc_pair               <STRONG><A HREF="new_pair.3x.html">new_pair(3x)</A></STRONG>*
328               assume_default_colors    <STRONG><A HREF="default_colors.3x.html">default_colors(3x)</A></STRONG>*
329               attr_get                 <STRONG><A HREF="curs_attr.3x.html">curs_attr(3x)</A></STRONG>
330               attr_off                 <STRONG><A HREF="curs_attr.3x.html">curs_attr(3x)</A></STRONG>
331               attr_on                  <STRONG><A HREF="curs_attr.3x.html">curs_attr(3x)</A></STRONG>
332               attr_set                 <STRONG><A HREF="curs_attr.3x.html">curs_attr(3x)</A></STRONG>
333               attroff                  <STRONG><A HREF="curs_attr.3x.html">curs_attr(3x)</A></STRONG>
334               attron                   <STRONG><A HREF="curs_attr.3x.html">curs_attr(3x)</A></STRONG>
335               attrset                  <STRONG><A HREF="curs_attr.3x.html">curs_attr(3x)</A></STRONG>
336               baudrate                 <STRONG><A HREF="curs_termattrs.3x.html">curs_termattrs(3x)</A></STRONG>
337               beep                     <STRONG><A HREF="curs_beep.3x.html">curs_beep(3x)</A></STRONG>
338               bkgd                     <STRONG><A HREF="curs_bkgd.3x.html">curs_bkgd(3x)</A></STRONG>
339               bkgdset                  <STRONG><A HREF="curs_bkgd.3x.html">curs_bkgd(3x)</A></STRONG>
340               bkgrnd                   <STRONG><A HREF="curs_bkgrnd.3x.html">curs_bkgrnd(3x)</A></STRONG>
341               bkgrndset                <STRONG><A HREF="curs_bkgrnd.3x.html">curs_bkgrnd(3x)</A></STRONG>
342               border                   <STRONG><A HREF="curs_border.3x.html">curs_border(3x)</A></STRONG>
343               border_set               <STRONG><A HREF="curs_border_set.3x.html">curs_border_set(3x)</A></STRONG>
344               box                      <STRONG><A HREF="curs_border.3x.html">curs_border(3x)</A></STRONG>
345               box_set                  <STRONG><A HREF="curs_border_set.3x.html">curs_border_set(3x)</A></STRONG>
346               can_change_color         <STRONG><A HREF="curs_color.3x.html">curs_color(3x)</A></STRONG>
347               cbreak                   <STRONG><A HREF="curs_inopts.3x.html">curs_inopts(3x)</A></STRONG>
348               chgat                    <STRONG><A HREF="curs_attr.3x.html">curs_attr(3x)</A></STRONG>
349               clear                    <STRONG><A HREF="curs_clear.3x.html">curs_clear(3x)</A></STRONG>
350               clearok                  <STRONG><A HREF="curs_outopts.3x.html">curs_outopts(3x)</A></STRONG>
351               clrtobot                 <STRONG><A HREF="curs_clear.3x.html">curs_clear(3x)</A></STRONG>
352               clrtoeol                 <STRONG><A HREF="curs_clear.3x.html">curs_clear(3x)</A></STRONG>
353               color_content            <STRONG><A HREF="curs_color.3x.html">curs_color(3x)</A></STRONG>
354               color_set                <STRONG><A HREF="curs_attr.3x.html">curs_attr(3x)</A></STRONG>
355               copywin                  <STRONG><A HREF="curs_overlay.3x.html">curs_overlay(3x)</A></STRONG>
356               curs_set                 <STRONG><A HREF="curs_kernel.3x.html">curs_kernel(3x)</A></STRONG>
357               curses_version           <STRONG><A HREF="curs_extend.3x.html">curs_extend(3x)</A></STRONG>*
358               def_prog_mode            <STRONG><A HREF="curs_kernel.3x.html">curs_kernel(3x)</A></STRONG>
359               def_shell_mode           <STRONG><A HREF="curs_kernel.3x.html">curs_kernel(3x)</A></STRONG>
360               define_key               <STRONG><A HREF="define_key.3x.html">define_key(3x)</A></STRONG>*
361               del_curterm              <STRONG><A HREF="curs_terminfo.3x.html">curs_terminfo(3x)</A></STRONG>
362               delay_output             <STRONG><A HREF="curs_util.3x.html">curs_util(3x)</A></STRONG>
363               delch                    <STRONG><A HREF="curs_delch.3x.html">curs_delch(3x)</A></STRONG>
364               deleteln                 <STRONG><A HREF="curs_deleteln.3x.html">curs_deleteln(3x)</A></STRONG>
365               delscreen                <STRONG><A HREF="curs_initscr.3x.html">curs_initscr(3x)</A></STRONG>
366               delwin                   <STRONG><A HREF="curs_window.3x.html">curs_window(3x)</A></STRONG>
367               derwin                   <STRONG><A HREF="curs_window.3x.html">curs_window(3x)</A></STRONG>
368               doupdate                 <STRONG><A HREF="curs_refresh.3x.html">curs_refresh(3x)</A></STRONG>
369               dupwin                   <STRONG><A HREF="curs_window.3x.html">curs_window(3x)</A></STRONG>
370               echo                     <STRONG><A HREF="curs_inopts.3x.html">curs_inopts(3x)</A></STRONG>
371               echo_wchar               <STRONG><A HREF="curs_add_wch.3x.html">curs_add_wch(3x)</A></STRONG>
372               echochar                 <STRONG><A HREF="curs_addch.3x.html">curs_addch(3x)</A></STRONG>
373               endwin                   <STRONG><A HREF="curs_initscr.3x.html">curs_initscr(3x)</A></STRONG>
374               erase                    <STRONG><A HREF="curs_clear.3x.html">curs_clear(3x)</A></STRONG>
375               erasechar                <STRONG><A HREF="curs_termattrs.3x.html">curs_termattrs(3x)</A></STRONG>
376               erasewchar               <STRONG><A HREF="curs_termattrs.3x.html">curs_termattrs(3x)</A></STRONG>
377               extended_color_content   <STRONG><A HREF="curs_color.3x.html">curs_color(3x)</A></STRONG>*
378               extended_pair_content    <STRONG><A HREF="curs_color.3x.html">curs_color(3x)</A></STRONG>*
379               extended_slk_color       <STRONG><A HREF="curs_slk.3x.html">curs_slk(3x)</A></STRONG>*
380               filter                   <STRONG><A HREF="curs_util.3x.html">curs_util(3x)</A></STRONG>
381
382               find_pair                <STRONG><A HREF="new_pair.3x.html">new_pair(3x)</A></STRONG>*
383               flash                    <STRONG><A HREF="curs_beep.3x.html">curs_beep(3x)</A></STRONG>
384               flushinp                 <STRONG><A HREF="curs_util.3x.html">curs_util(3x)</A></STRONG>
385               free_pair                <STRONG><A HREF="new_pair.3x.html">new_pair(3x)</A></STRONG>*
386               get_wch                  <STRONG><A HREF="curs_get_wch.3x.html">curs_get_wch(3x)</A></STRONG>
387               get_wstr                 <STRONG><A HREF="curs_get_wstr.3x.html">curs_get_wstr(3x)</A></STRONG>
388               getattrs                 <STRONG><A HREF="curs_attr.3x.html">curs_attr(3x)</A></STRONG>
389               getbegx                  <STRONG><A HREF="curs_legacy.3x.html">curs_legacy(3x)</A></STRONG>*
390               getbegy                  <STRONG><A HREF="curs_legacy.3x.html">curs_legacy(3x)</A></STRONG>*
391               getbegyx                 <STRONG><A HREF="curs_getyx.3x.html">curs_getyx(3x)</A></STRONG>
392               getbkgd                  <STRONG><A HREF="curs_bkgd.3x.html">curs_bkgd(3x)</A></STRONG>
393               getbkgrnd                <STRONG><A HREF="curs_bkgrnd.3x.html">curs_bkgrnd(3x)</A></STRONG>
394               getcchar                 <STRONG><A HREF="curs_getcchar.3x.html">curs_getcchar(3x)</A></STRONG>
395               getch                    <STRONG><A HREF="curs_getch.3x.html">curs_getch(3x)</A></STRONG>
396               getcurx                  <STRONG><A HREF="curs_legacy.3x.html">curs_legacy(3x)</A></STRONG>*
397               getcury                  <STRONG><A HREF="curs_legacy.3x.html">curs_legacy(3x)</A></STRONG>*
398               getmaxx                  <STRONG><A HREF="curs_legacy.3x.html">curs_legacy(3x)</A></STRONG>*
399               getmaxy                  <STRONG><A HREF="curs_legacy.3x.html">curs_legacy(3x)</A></STRONG>*
400               getmaxyx                 <STRONG><A HREF="curs_getyx.3x.html">curs_getyx(3x)</A></STRONG>
401               getmouse                 <STRONG><A HREF="curs_mouse.3x.html">curs_mouse(3x)</A></STRONG>*
402               getn_wstr                <STRONG><A HREF="curs_get_wstr.3x.html">curs_get_wstr(3x)</A></STRONG>
403               getnstr                  <STRONG><A HREF="curs_getstr.3x.html">curs_getstr(3x)</A></STRONG>
404               getparx                  <STRONG><A HREF="curs_legacy.3x.html">curs_legacy(3x)</A></STRONG>*
405               getpary                  <STRONG><A HREF="curs_legacy.3x.html">curs_legacy(3x)</A></STRONG>*
406               getparyx                 <STRONG><A HREF="curs_getyx.3x.html">curs_getyx(3x)</A></STRONG>
407               getstr                   <STRONG><A HREF="curs_getstr.3x.html">curs_getstr(3x)</A></STRONG>
408               getsyx                   <STRONG><A HREF="curs_kernel.3x.html">curs_kernel(3x)</A></STRONG>
409               getwin                   <STRONG><A HREF="curs_util.3x.html">curs_util(3x)</A></STRONG>
410               getyx                    <STRONG><A HREF="curs_getyx.3x.html">curs_getyx(3x)</A></STRONG>
411               halfdelay                <STRONG><A HREF="curs_inopts.3x.html">curs_inopts(3x)</A></STRONG>
412               has_colors               <STRONG><A HREF="curs_color.3x.html">curs_color(3x)</A></STRONG>
413               has_ic                   <STRONG><A HREF="curs_termattrs.3x.html">curs_termattrs(3x)</A></STRONG>
414               has_il                   <STRONG><A HREF="curs_termattrs.3x.html">curs_termattrs(3x)</A></STRONG>
415               has_key                  <STRONG><A HREF="curs_getch.3x.html">curs_getch(3x)</A></STRONG>*
416               hline                    <STRONG><A HREF="curs_border.3x.html">curs_border(3x)</A></STRONG>
417               hline_set                <STRONG><A HREF="curs_border_set.3x.html">curs_border_set(3x)</A></STRONG>
418               idcok                    <STRONG><A HREF="curs_outopts.3x.html">curs_outopts(3x)</A></STRONG>
419               idlok                    <STRONG><A HREF="curs_outopts.3x.html">curs_outopts(3x)</A></STRONG>
420               immedok                  <STRONG><A HREF="curs_outopts.3x.html">curs_outopts(3x)</A></STRONG>
421               in_wch                   <STRONG><A HREF="curs_in_wch.3x.html">curs_in_wch(3x)</A></STRONG>
422               in_wchnstr               <STRONG><A HREF="curs_in_wchstr.3x.html">curs_in_wchstr(3x)</A></STRONG>
423               in_wchstr                <STRONG><A HREF="curs_in_wchstr.3x.html">curs_in_wchstr(3x)</A></STRONG>
424               inch                     <STRONG><A HREF="curs_inch.3x.html">curs_inch(3x)</A></STRONG>
425               inchnstr                 <STRONG><A HREF="curs_inchstr.3x.html">curs_inchstr(3x)</A></STRONG>
426               inchstr                  <STRONG><A HREF="curs_inchstr.3x.html">curs_inchstr(3x)</A></STRONG>
427               init_color               <STRONG><A HREF="curs_color.3x.html">curs_color(3x)</A></STRONG>
428               init_extended_color      <STRONG><A HREF="curs_color.3x.html">curs_color(3x)</A></STRONG>*
429               init_extended_pair       <STRONG><A HREF="curs_color.3x.html">curs_color(3x)</A></STRONG>*
430               init_pair                <STRONG><A HREF="curs_color.3x.html">curs_color(3x)</A></STRONG>
431               initscr                  <STRONG><A HREF="curs_initscr.3x.html">curs_initscr(3x)</A></STRONG>
432               innstr                   <STRONG><A HREF="curs_instr.3x.html">curs_instr(3x)</A></STRONG>
433               innwstr                  <STRONG><A HREF="curs_inwstr.3x.html">curs_inwstr(3x)</A></STRONG>
434               ins_nwstr                <STRONG><A HREF="curs_ins_wstr.3x.html">curs_ins_wstr(3x)</A></STRONG>
435               ins_wch                  <STRONG><A HREF="curs_ins_wch.3x.html">curs_ins_wch(3x)</A></STRONG>
436               ins_wstr                 <STRONG><A HREF="curs_ins_wstr.3x.html">curs_ins_wstr(3x)</A></STRONG>
437               insch                    <STRONG><A HREF="curs_insch.3x.html">curs_insch(3x)</A></STRONG>
438               insdelln                 <STRONG><A HREF="curs_deleteln.3x.html">curs_deleteln(3x)</A></STRONG>
439               insertln                 <STRONG><A HREF="curs_deleteln.3x.html">curs_deleteln(3x)</A></STRONG>
440               insnstr                  <STRONG><A HREF="curs_insstr.3x.html">curs_insstr(3x)</A></STRONG>
441               insstr                   <STRONG><A HREF="curs_insstr.3x.html">curs_insstr(3x)</A></STRONG>
442               instr                    <STRONG><A HREF="curs_instr.3x.html">curs_instr(3x)</A></STRONG>
443               intrflush                <STRONG><A HREF="curs_inopts.3x.html">curs_inopts(3x)</A></STRONG>
444               inwstr                   <STRONG><A HREF="curs_inwstr.3x.html">curs_inwstr(3x)</A></STRONG>
445               is_cleared               <STRONG><A HREF="curs_opaque.3x.html">curs_opaque(3x)</A></STRONG>*
446               is_idcok                 <STRONG><A HREF="curs_opaque.3x.html">curs_opaque(3x)</A></STRONG>*
447
448               is_idlok                 <STRONG><A HREF="curs_opaque.3x.html">curs_opaque(3x)</A></STRONG>*
449               is_immedok               <STRONG><A HREF="curs_opaque.3x.html">curs_opaque(3x)</A></STRONG>*
450               is_keypad                <STRONG><A HREF="curs_opaque.3x.html">curs_opaque(3x)</A></STRONG>*
451               is_leaveok               <STRONG><A HREF="curs_opaque.3x.html">curs_opaque(3x)</A></STRONG>*
452               is_linetouched           <STRONG><A HREF="curs_touch.3x.html">curs_touch(3x)</A></STRONG>
453               is_nodelay               <STRONG><A HREF="curs_opaque.3x.html">curs_opaque(3x)</A></STRONG>*
454               is_notimeout             <STRONG><A HREF="curs_opaque.3x.html">curs_opaque(3x)</A></STRONG>*
455               is_pad                   <STRONG><A HREF="curs_opaque.3x.html">curs_opaque(3x)</A></STRONG>*
456               is_scrollok              <STRONG><A HREF="curs_opaque.3x.html">curs_opaque(3x)</A></STRONG>*
457               is_subwin                <STRONG><A HREF="curs_opaque.3x.html">curs_opaque(3x)</A></STRONG>*
458               is_syncok                <STRONG><A HREF="curs_opaque.3x.html">curs_opaque(3x)</A></STRONG>*
459               is_term_resized          <STRONG><A HREF="resizeterm.3x.html">resizeterm(3x)</A></STRONG>*
460               is_wintouched            <STRONG><A HREF="curs_touch.3x.html">curs_touch(3x)</A></STRONG>
461               isendwin                 <STRONG><A HREF="curs_initscr.3x.html">curs_initscr(3x)</A></STRONG>
462               key_defined              <STRONG><A HREF="key_defined.3x.html">key_defined(3x)</A></STRONG>*
463               key_name                 <STRONG><A HREF="curs_util.3x.html">curs_util(3x)</A></STRONG>
464               keybound                 <STRONG><A HREF="keybound.3x.html">keybound(3x)</A></STRONG>*
465               keyname                  <STRONG><A HREF="curs_util.3x.html">curs_util(3x)</A></STRONG>
466               keyok                    <STRONG><A HREF="keyok.3x.html">keyok(3x)</A></STRONG>*
467               keypad                   <STRONG><A HREF="curs_inopts.3x.html">curs_inopts(3x)</A></STRONG>
468               killchar                 <STRONG><A HREF="curs_termattrs.3x.html">curs_termattrs(3x)</A></STRONG>
469               killwchar                <STRONG><A HREF="curs_termattrs.3x.html">curs_termattrs(3x)</A></STRONG>
470               leaveok                  <STRONG><A HREF="curs_outopts.3x.html">curs_outopts(3x)</A></STRONG>
471               longname                 <STRONG><A HREF="curs_termattrs.3x.html">curs_termattrs(3x)</A></STRONG>
472               mcprint                  <STRONG><A HREF="curs_print.3x.html">curs_print(3x)</A></STRONG>*
473               meta                     <STRONG><A HREF="curs_inopts.3x.html">curs_inopts(3x)</A></STRONG>
474               mouse_trafo              <STRONG><A HREF="curs_mouse.3x.html">curs_mouse(3x)</A></STRONG>*
475               mouseinterval            <STRONG><A HREF="curs_mouse.3x.html">curs_mouse(3x)</A></STRONG>*
476               mousemask                <STRONG><A HREF="curs_mouse.3x.html">curs_mouse(3x)</A></STRONG>*
477               move                     <STRONG><A HREF="curs_move.3x.html">curs_move(3x)</A></STRONG>
478               mvadd_wch                <STRONG><A HREF="curs_add_wch.3x.html">curs_add_wch(3x)</A></STRONG>
479               mvadd_wchnstr            <STRONG><A HREF="curs_add_wchstr.3x.html">curs_add_wchstr(3x)</A></STRONG>
480               mvadd_wchstr             <STRONG><A HREF="curs_add_wchstr.3x.html">curs_add_wchstr(3x)</A></STRONG>
481               mvaddch                  <STRONG><A HREF="curs_addch.3x.html">curs_addch(3x)</A></STRONG>
482               mvaddchnstr              <STRONG><A HREF="curs_addchstr.3x.html">curs_addchstr(3x)</A></STRONG>
483               mvaddchstr               <STRONG><A HREF="curs_addchstr.3x.html">curs_addchstr(3x)</A></STRONG>
484               mvaddnstr                <STRONG><A HREF="curs_addstr.3x.html">curs_addstr(3x)</A></STRONG>
485               mvaddnwstr               <STRONG><A HREF="curs_addwstr.3x.html">curs_addwstr(3x)</A></STRONG>
486               mvaddstr                 <STRONG><A HREF="curs_addstr.3x.html">curs_addstr(3x)</A></STRONG>
487               mvaddwstr                <STRONG><A HREF="curs_addwstr.3x.html">curs_addwstr(3x)</A></STRONG>
488               mvchgat                  <STRONG><A HREF="curs_attr.3x.html">curs_attr(3x)</A></STRONG>
489               mvcur                    <STRONG><A HREF="curs_terminfo.3x.html">curs_terminfo(3x)</A></STRONG>
490               mvdelch                  <STRONG><A HREF="curs_delch.3x.html">curs_delch(3x)</A></STRONG>
491               mvderwin                 <STRONG><A HREF="curs_window.3x.html">curs_window(3x)</A></STRONG>
492               mvget_wch                <STRONG><A HREF="curs_get_wch.3x.html">curs_get_wch(3x)</A></STRONG>
493               mvget_wstr               <STRONG><A HREF="curs_get_wstr.3x.html">curs_get_wstr(3x)</A></STRONG>
494               mvgetch                  <STRONG><A HREF="curs_getch.3x.html">curs_getch(3x)</A></STRONG>
495               mvgetn_wstr              <STRONG><A HREF="curs_get_wstr.3x.html">curs_get_wstr(3x)</A></STRONG>
496               mvgetnstr                <STRONG><A HREF="curs_getstr.3x.html">curs_getstr(3x)</A></STRONG>
497               mvgetstr                 <STRONG><A HREF="curs_getstr.3x.html">curs_getstr(3x)</A></STRONG>
498               mvhline                  <STRONG><A HREF="curs_border.3x.html">curs_border(3x)</A></STRONG>
499               mvhline_set              <STRONG><A HREF="curs_border_set.3x.html">curs_border_set(3x)</A></STRONG>
500               mvin_wch                 <STRONG><A HREF="curs_in_wch.3x.html">curs_in_wch(3x)</A></STRONG>
501               mvin_wchnstr             <STRONG><A HREF="curs_in_wchstr.3x.html">curs_in_wchstr(3x)</A></STRONG>
502               mvin_wchstr              <STRONG><A HREF="curs_in_wchstr.3x.html">curs_in_wchstr(3x)</A></STRONG>
503               mvinch                   <STRONG><A HREF="curs_inch.3x.html">curs_inch(3x)</A></STRONG>
504               mvinchnstr               <STRONG><A HREF="curs_inchstr.3x.html">curs_inchstr(3x)</A></STRONG>
505               mvinchstr                <STRONG><A HREF="curs_inchstr.3x.html">curs_inchstr(3x)</A></STRONG>
506               mvinnstr                 <STRONG><A HREF="curs_instr.3x.html">curs_instr(3x)</A></STRONG>
507               mvinnwstr                <STRONG><A HREF="curs_inwstr.3x.html">curs_inwstr(3x)</A></STRONG>
508               mvins_nwstr              <STRONG><A HREF="curs_ins_wstr.3x.html">curs_ins_wstr(3x)</A></STRONG>
509               mvins_wch                <STRONG><A HREF="curs_ins_wch.3x.html">curs_ins_wch(3x)</A></STRONG>
510               mvins_wstr               <STRONG><A HREF="curs_ins_wstr.3x.html">curs_ins_wstr(3x)</A></STRONG>
511               mvinsch                  <STRONG><A HREF="curs_insch.3x.html">curs_insch(3x)</A></STRONG>
512               mvinsnstr                <STRONG><A HREF="curs_insstr.3x.html">curs_insstr(3x)</A></STRONG>
513
514               mvinsstr                 <STRONG><A HREF="curs_insstr.3x.html">curs_insstr(3x)</A></STRONG>
515               mvinstr                  <STRONG><A HREF="curs_instr.3x.html">curs_instr(3x)</A></STRONG>
516               mvinwstr                 <STRONG><A HREF="curs_inwstr.3x.html">curs_inwstr(3x)</A></STRONG>
517               mvprintw                 <STRONG><A HREF="curs_printw.3x.html">curs_printw(3x)</A></STRONG>
518               mvscanw                  <STRONG><A HREF="curs_scanw.3x.html">curs_scanw(3x)</A></STRONG>
519               mvvline                  <STRONG><A HREF="curs_border.3x.html">curs_border(3x)</A></STRONG>
520               mvvline_set              <STRONG><A HREF="curs_border_set.3x.html">curs_border_set(3x)</A></STRONG>
521               mvwadd_wch               <STRONG><A HREF="curs_add_wch.3x.html">curs_add_wch(3x)</A></STRONG>
522               mvwadd_wchnstr           <STRONG><A HREF="curs_add_wchstr.3x.html">curs_add_wchstr(3x)</A></STRONG>
523               mvwadd_wchstr            <STRONG><A HREF="curs_add_wchstr.3x.html">curs_add_wchstr(3x)</A></STRONG>
524               mvwaddch                 <STRONG><A HREF="curs_addch.3x.html">curs_addch(3x)</A></STRONG>
525               mvwaddchnstr             <STRONG><A HREF="curs_addchstr.3x.html">curs_addchstr(3x)</A></STRONG>
526               mvwaddchstr              <STRONG><A HREF="curs_addchstr.3x.html">curs_addchstr(3x)</A></STRONG>
527               mvwaddnstr               <STRONG><A HREF="curs_addstr.3x.html">curs_addstr(3x)</A></STRONG>
528               mvwaddnwstr              <STRONG><A HREF="curs_addwstr.3x.html">curs_addwstr(3x)</A></STRONG>
529               mvwaddstr                <STRONG><A HREF="curs_addstr.3x.html">curs_addstr(3x)</A></STRONG>
530               mvwaddwstr               <STRONG><A HREF="curs_addwstr.3x.html">curs_addwstr(3x)</A></STRONG>
531               mvwchgat                 <STRONG><A HREF="curs_attr.3x.html">curs_attr(3x)</A></STRONG>
532               mvwdelch                 <STRONG><A HREF="curs_delch.3x.html">curs_delch(3x)</A></STRONG>
533               mvwget_wch               <STRONG><A HREF="curs_get_wch.3x.html">curs_get_wch(3x)</A></STRONG>
534               mvwget_wstr              <STRONG><A HREF="curs_get_wstr.3x.html">curs_get_wstr(3x)</A></STRONG>
535               mvwgetch                 <STRONG><A HREF="curs_getch.3x.html">curs_getch(3x)</A></STRONG>
536               mvwgetn_wstr             <STRONG><A HREF="curs_get_wstr.3x.html">curs_get_wstr(3x)</A></STRONG>
537               mvwgetnstr               <STRONG><A HREF="curs_getstr.3x.html">curs_getstr(3x)</A></STRONG>
538               mvwgetstr                <STRONG><A HREF="curs_getstr.3x.html">curs_getstr(3x)</A></STRONG>
539               mvwhline                 <STRONG><A HREF="curs_border.3x.html">curs_border(3x)</A></STRONG>
540               mvwhline_set             <STRONG><A HREF="curs_border_set.3x.html">curs_border_set(3x)</A></STRONG>
541               mvwin                    <STRONG><A HREF="curs_window.3x.html">curs_window(3x)</A></STRONG>
542               mvwin_wch                <STRONG><A HREF="curs_in_wch.3x.html">curs_in_wch(3x)</A></STRONG>
543               mvwin_wchnstr            <STRONG><A HREF="curs_in_wchstr.3x.html">curs_in_wchstr(3x)</A></STRONG>
544               mvwin_wchstr             <STRONG><A HREF="curs_in_wchstr.3x.html">curs_in_wchstr(3x)</A></STRONG>
545               mvwinch                  <STRONG><A HREF="curs_inch.3x.html">curs_inch(3x)</A></STRONG>
546               mvwinchnstr              <STRONG><A HREF="curs_inchstr.3x.html">curs_inchstr(3x)</A></STRONG>
547               mvwinchstr               <STRONG><A HREF="curs_inchstr.3x.html">curs_inchstr(3x)</A></STRONG>
548               mvwinnstr                <STRONG><A HREF="curs_instr.3x.html">curs_instr(3x)</A></STRONG>
549               mvwinnwstr               <STRONG><A HREF="curs_inwstr.3x.html">curs_inwstr(3x)</A></STRONG>
550               mvwins_nwstr             <STRONG><A HREF="curs_ins_wstr.3x.html">curs_ins_wstr(3x)</A></STRONG>
551               mvwins_wch               <STRONG><A HREF="curs_ins_wch.3x.html">curs_ins_wch(3x)</A></STRONG>
552               mvwins_wstr              <STRONG><A HREF="curs_ins_wstr.3x.html">curs_ins_wstr(3x)</A></STRONG>
553               mvwinsch                 <STRONG><A HREF="curs_insch.3x.html">curs_insch(3x)</A></STRONG>
554               mvwinsnstr               <STRONG><A HREF="curs_insstr.3x.html">curs_insstr(3x)</A></STRONG>
555               mvwinsstr                <STRONG><A HREF="curs_insstr.3x.html">curs_insstr(3x)</A></STRONG>
556               mvwinstr                 <STRONG><A HREF="curs_instr.3x.html">curs_instr(3x)</A></STRONG>
557               mvwinwstr                <STRONG><A HREF="curs_inwstr.3x.html">curs_inwstr(3x)</A></STRONG>
558               mvwprintw                <STRONG><A HREF="curs_printw.3x.html">curs_printw(3x)</A></STRONG>
559               mvwscanw                 <STRONG><A HREF="curs_scanw.3x.html">curs_scanw(3x)</A></STRONG>
560               mvwvline                 <STRONG><A HREF="curs_border.3x.html">curs_border(3x)</A></STRONG>
561               mvwvline_set             <STRONG><A HREF="curs_border_set.3x.html">curs_border_set(3x)</A></STRONG>
562               napms                    <STRONG><A HREF="curs_kernel.3x.html">curs_kernel(3x)</A></STRONG>
563               newpad                   <STRONG><A HREF="curs_pad.3x.html">curs_pad(3x)</A></STRONG>
564               newterm                  <STRONG><A HREF="curs_initscr.3x.html">curs_initscr(3x)</A></STRONG>
565               newwin                   <STRONG><A HREF="curs_window.3x.html">curs_window(3x)</A></STRONG>
566               nl                       <STRONG><A HREF="curs_outopts.3x.html">curs_outopts(3x)</A></STRONG>
567               nocbreak                 <STRONG><A HREF="curs_inopts.3x.html">curs_inopts(3x)</A></STRONG>
568               nodelay                  <STRONG><A HREF="curs_inopts.3x.html">curs_inopts(3x)</A></STRONG>
569               noecho                   <STRONG><A HREF="curs_inopts.3x.html">curs_inopts(3x)</A></STRONG>
570               nofilter                 <STRONG><A HREF="curs_util.3x.html">curs_util(3x)</A></STRONG>*
571               nonl                     <STRONG><A HREF="curs_outopts.3x.html">curs_outopts(3x)</A></STRONG>
572               noqiflush                <STRONG><A HREF="curs_inopts.3x.html">curs_inopts(3x)</A></STRONG>
573               noraw                    <STRONG><A HREF="curs_inopts.3x.html">curs_inopts(3x)</A></STRONG>
574               notimeout                <STRONG><A HREF="curs_inopts.3x.html">curs_inopts(3x)</A></STRONG>
575               overlay                  <STRONG><A HREF="curs_overlay.3x.html">curs_overlay(3x)</A></STRONG>
576               overwrite                <STRONG><A HREF="curs_overlay.3x.html">curs_overlay(3x)</A></STRONG>
577               pair_content             <STRONG><A HREF="curs_color.3x.html">curs_color(3x)</A></STRONG>
578               pechochar                <STRONG><A HREF="curs_pad.3x.html">curs_pad(3x)</A></STRONG>
579
580               pnoutrefresh             <STRONG><A HREF="curs_pad.3x.html">curs_pad(3x)</A></STRONG>
581               prefresh                 <STRONG><A HREF="curs_pad.3x.html">curs_pad(3x)</A></STRONG>
582               printw                   <STRONG><A HREF="curs_printw.3x.html">curs_printw(3x)</A></STRONG>
583               putp                     <STRONG><A HREF="curs_terminfo.3x.html">curs_terminfo(3x)</A></STRONG>
584               putwin                   <STRONG><A HREF="curs_util.3x.html">curs_util(3x)</A></STRONG>
585               qiflush                  <STRONG><A HREF="curs_inopts.3x.html">curs_inopts(3x)</A></STRONG>
586               raw                      <STRONG><A HREF="curs_inopts.3x.html">curs_inopts(3x)</A></STRONG>
587               redrawwin                <STRONG><A HREF="curs_refresh.3x.html">curs_refresh(3x)</A></STRONG>
588               refresh                  <STRONG><A HREF="curs_refresh.3x.html">curs_refresh(3x)</A></STRONG>
589               reset_prog_mode          <STRONG><A HREF="curs_kernel.3x.html">curs_kernel(3x)</A></STRONG>
590               reset_shell_mode         <STRONG><A HREF="curs_kernel.3x.html">curs_kernel(3x)</A></STRONG>
591               resetty                  <STRONG><A HREF="curs_kernel.3x.html">curs_kernel(3x)</A></STRONG>
592               resize_term              <STRONG><A HREF="resizeterm.3x.html">resizeterm(3x)</A></STRONG>*
593               resizeterm               <STRONG><A HREF="resizeterm.3x.html">resizeterm(3x)</A></STRONG>*
594               restartterm              <STRONG><A HREF="curs_terminfo.3x.html">curs_terminfo(3x)</A></STRONG>
595               ripoffline               <STRONG><A HREF="curs_kernel.3x.html">curs_kernel(3x)</A></STRONG>
596               savetty                  <STRONG><A HREF="curs_kernel.3x.html">curs_kernel(3x)</A></STRONG>
597               scanw                    <STRONG><A HREF="curs_scanw.3x.html">curs_scanw(3x)</A></STRONG>
598               scr_dump                 <STRONG><A HREF="curs_scr_dump.3x.html">curs_scr_dump(3x)</A></STRONG>
599               scr_init                 <STRONG><A HREF="curs_scr_dump.3x.html">curs_scr_dump(3x)</A></STRONG>
600               scr_restore              <STRONG><A HREF="curs_scr_dump.3x.html">curs_scr_dump(3x)</A></STRONG>
601               scr_set                  <STRONG><A HREF="curs_scr_dump.3x.html">curs_scr_dump(3x)</A></STRONG>
602               scrl                     <STRONG><A HREF="curs_scroll.3x.html">curs_scroll(3x)</A></STRONG>
603               scroll                   <STRONG><A HREF="curs_scroll.3x.html">curs_scroll(3x)</A></STRONG>
604               scrollok                 <STRONG><A HREF="curs_outopts.3x.html">curs_outopts(3x)</A></STRONG>
605               set_curterm              <STRONG><A HREF="curs_terminfo.3x.html">curs_terminfo(3x)</A></STRONG>
606               set_term                 <STRONG><A HREF="curs_initscr.3x.html">curs_initscr(3x)</A></STRONG>
607               setcchar                 <STRONG><A HREF="curs_getcchar.3x.html">curs_getcchar(3x)</A></STRONG>
608               setscrreg                <STRONG><A HREF="curs_outopts.3x.html">curs_outopts(3x)</A></STRONG>
609               setsyx                   <STRONG><A HREF="curs_kernel.3x.html">curs_kernel(3x)</A></STRONG>
610               setterm                  <STRONG><A HREF="curs_terminfo.3x.html">curs_terminfo(3x)</A></STRONG>
611               setupterm                <STRONG><A HREF="curs_terminfo.3x.html">curs_terminfo(3x)</A></STRONG>
612               slk_attr                 <STRONG><A HREF="curs_slk.3x.html">curs_slk(3x)</A></STRONG>*
613               slk_attr_off             <STRONG><A HREF="curs_slk.3x.html">curs_slk(3x)</A></STRONG>
614               slk_attr_on              <STRONG><A HREF="curs_slk.3x.html">curs_slk(3x)</A></STRONG>
615               slk_attr_set             <STRONG><A HREF="curs_slk.3x.html">curs_slk(3x)</A></STRONG>
616               slk_attroff              <STRONG><A HREF="curs_slk.3x.html">curs_slk(3x)</A></STRONG>
617               slk_attron               <STRONG><A HREF="curs_slk.3x.html">curs_slk(3x)</A></STRONG>
618               slk_attrset              <STRONG><A HREF="curs_slk.3x.html">curs_slk(3x)</A></STRONG>
619               slk_clear                <STRONG><A HREF="curs_slk.3x.html">curs_slk(3x)</A></STRONG>
620               slk_color                <STRONG><A HREF="curs_slk.3x.html">curs_slk(3x)</A></STRONG>
621               slk_init                 <STRONG><A HREF="curs_slk.3x.html">curs_slk(3x)</A></STRONG>
622               slk_label                <STRONG><A HREF="curs_slk.3x.html">curs_slk(3x)</A></STRONG>
623               slk_noutrefresh          <STRONG><A HREF="curs_slk.3x.html">curs_slk(3x)</A></STRONG>
624               slk_refresh              <STRONG><A HREF="curs_slk.3x.html">curs_slk(3x)</A></STRONG>
625               slk_restore              <STRONG><A HREF="curs_slk.3x.html">curs_slk(3x)</A></STRONG>
626               slk_set                  <STRONG><A HREF="curs_slk.3x.html">curs_slk(3x)</A></STRONG>
627               slk_touch                <STRONG><A HREF="curs_slk.3x.html">curs_slk(3x)</A></STRONG>
628               standend                 <STRONG><A HREF="curs_attr.3x.html">curs_attr(3x)</A></STRONG>
629               standout                 <STRONG><A HREF="curs_attr.3x.html">curs_attr(3x)</A></STRONG>
630               start_color              <STRONG><A HREF="curs_color.3x.html">curs_color(3x)</A></STRONG>
631               subpad                   <STRONG><A HREF="curs_pad.3x.html">curs_pad(3x)</A></STRONG>
632               subwin                   <STRONG><A HREF="curs_window.3x.html">curs_window(3x)</A></STRONG>
633               syncok                   <STRONG><A HREF="curs_window.3x.html">curs_window(3x)</A></STRONG>
634               term_attrs               <STRONG><A HREF="curs_termattrs.3x.html">curs_termattrs(3x)</A></STRONG>
635               termattrs                <STRONG><A HREF="curs_termattrs.3x.html">curs_termattrs(3x)</A></STRONG>
636               termname                 <STRONG><A HREF="curs_termattrs.3x.html">curs_termattrs(3x)</A></STRONG>
637               tgetent                  <STRONG><A HREF="curs_termcap.3x.html">curs_termcap(3x)</A></STRONG>
638               tgetflag                 <STRONG><A HREF="curs_termcap.3x.html">curs_termcap(3x)</A></STRONG>
639               tgetnum                  <STRONG><A HREF="curs_termcap.3x.html">curs_termcap(3x)</A></STRONG>
640               tgetstr                  <STRONG><A HREF="curs_termcap.3x.html">curs_termcap(3x)</A></STRONG>
641               tgoto                    <STRONG><A HREF="curs_termcap.3x.html">curs_termcap(3x)</A></STRONG>
642               tigetflag                <STRONG><A HREF="curs_terminfo.3x.html">curs_terminfo(3x)</A></STRONG>
643               tigetnum                 <STRONG><A HREF="curs_terminfo.3x.html">curs_terminfo(3x)</A></STRONG>
644               tigetstr                 <STRONG><A HREF="curs_terminfo.3x.html">curs_terminfo(3x)</A></STRONG>
645
646               timeout                  <STRONG><A HREF="curs_inopts.3x.html">curs_inopts(3x)</A></STRONG>
647               tiparm                   <STRONG><A HREF="curs_terminfo.3x.html">curs_terminfo(3x)</A></STRONG>*
648               touchline                <STRONG><A HREF="curs_touch.3x.html">curs_touch(3x)</A></STRONG>
649               touchwin                 <STRONG><A HREF="curs_touch.3x.html">curs_touch(3x)</A></STRONG>
650               tparm                    <STRONG><A HREF="curs_terminfo.3x.html">curs_terminfo(3x)</A></STRONG>
651               tputs                    <STRONG><A HREF="curs_termcap.3x.html">curs_termcap(3x)</A></STRONG>
652               tputs                    <STRONG><A HREF="curs_terminfo.3x.html">curs_terminfo(3x)</A></STRONG>
653               trace                    <STRONG><A HREF="curs_trace.3x.html">curs_trace(3x)</A></STRONG>*
654               typeahead                <STRONG><A HREF="curs_inopts.3x.html">curs_inopts(3x)</A></STRONG>
655               unctrl                   <STRONG><A HREF="curs_util.3x.html">curs_util(3x)</A></STRONG>
656               unget_wch                <STRONG><A HREF="curs_get_wch.3x.html">curs_get_wch(3x)</A></STRONG>
657               ungetch                  <STRONG><A HREF="curs_getch.3x.html">curs_getch(3x)</A></STRONG>
658               ungetmouse               <STRONG><A HREF="curs_mouse.3x.html">curs_mouse(3x)</A></STRONG>*
659               untouchwin               <STRONG><A HREF="curs_touch.3x.html">curs_touch(3x)</A></STRONG>
660               use_default_colors       <STRONG><A HREF="default_colors.3x.html">default_colors(3x)</A></STRONG>*
661               use_env                  <STRONG><A HREF="curs_util.3x.html">curs_util(3x)</A></STRONG>
662               use_extended_names       <STRONG><A HREF="curs_extend.3x.html">curs_extend(3x)</A></STRONG>*
663               use_legacy_coding        <STRONG><A HREF="legacy_coding.3x.html">legacy_coding(3x)</A></STRONG>*
664               use_tioctl               <STRONG><A HREF="curs_util.3x.html">curs_util(3x)</A></STRONG>
665               vid_attr                 <STRONG><A HREF="curs_terminfo.3x.html">curs_terminfo(3x)</A></STRONG>
666               vid_puts                 <STRONG><A HREF="curs_terminfo.3x.html">curs_terminfo(3x)</A></STRONG>
667               vidattr                  <STRONG><A HREF="curs_terminfo.3x.html">curs_terminfo(3x)</A></STRONG>
668               vidputs                  <STRONG><A HREF="curs_terminfo.3x.html">curs_terminfo(3x)</A></STRONG>
669               vline                    <STRONG><A HREF="curs_border.3x.html">curs_border(3x)</A></STRONG>
670               vline_set                <STRONG><A HREF="curs_border_set.3x.html">curs_border_set(3x)</A></STRONG>
671               vw_printw                <STRONG><A HREF="curs_printw.3x.html">curs_printw(3x)</A></STRONG>
672               vw_scanw                 <STRONG><A HREF="curs_scanw.3x.html">curs_scanw(3x)</A></STRONG>
673               vwprintw                 <STRONG><A HREF="curs_printw.3x.html">curs_printw(3x)</A></STRONG>
674               vwscanw                  <STRONG><A HREF="curs_scanw.3x.html">curs_scanw(3x)</A></STRONG>
675               wadd_wch                 <STRONG><A HREF="curs_add_wch.3x.html">curs_add_wch(3x)</A></STRONG>
676               wadd_wchnstr             <STRONG><A HREF="curs_add_wchstr.3x.html">curs_add_wchstr(3x)</A></STRONG>
677               wadd_wchstr              <STRONG><A HREF="curs_add_wchstr.3x.html">curs_add_wchstr(3x)</A></STRONG>
678               waddch                   <STRONG><A HREF="curs_addch.3x.html">curs_addch(3x)</A></STRONG>
679               waddchnstr               <STRONG><A HREF="curs_addchstr.3x.html">curs_addchstr(3x)</A></STRONG>
680               waddchstr                <STRONG><A HREF="curs_addchstr.3x.html">curs_addchstr(3x)</A></STRONG>
681               waddnstr                 <STRONG><A HREF="curs_addstr.3x.html">curs_addstr(3x)</A></STRONG>
682               waddnwstr                <STRONG><A HREF="curs_addwstr.3x.html">curs_addwstr(3x)</A></STRONG>
683               waddstr                  <STRONG><A HREF="curs_addstr.3x.html">curs_addstr(3x)</A></STRONG>
684               waddwstr                 <STRONG><A HREF="curs_addwstr.3x.html">curs_addwstr(3x)</A></STRONG>
685               wattr_get                <STRONG><A HREF="curs_attr.3x.html">curs_attr(3x)</A></STRONG>
686               wattr_off                <STRONG><A HREF="curs_attr.3x.html">curs_attr(3x)</A></STRONG>
687               wattr_on                 <STRONG><A HREF="curs_attr.3x.html">curs_attr(3x)</A></STRONG>
688               wattr_set                <STRONG><A HREF="curs_attr.3x.html">curs_attr(3x)</A></STRONG>
689               wattroff                 <STRONG><A HREF="curs_attr.3x.html">curs_attr(3x)</A></STRONG>
690               wattron                  <STRONG><A HREF="curs_attr.3x.html">curs_attr(3x)</A></STRONG>
691               wattrset                 <STRONG><A HREF="curs_attr.3x.html">curs_attr(3x)</A></STRONG>
692               wbkgd                    <STRONG><A HREF="curs_bkgd.3x.html">curs_bkgd(3x)</A></STRONG>
693               wbkgdset                 <STRONG><A HREF="curs_bkgd.3x.html">curs_bkgd(3x)</A></STRONG>
694               wbkgrnd                  <STRONG><A HREF="curs_bkgrnd.3x.html">curs_bkgrnd(3x)</A></STRONG>
695               wbkgrndset               <STRONG><A HREF="curs_bkgrnd.3x.html">curs_bkgrnd(3x)</A></STRONG>
696               wborder                  <STRONG><A HREF="curs_border.3x.html">curs_border(3x)</A></STRONG>
697               wborder_set              <STRONG><A HREF="curs_border_set.3x.html">curs_border_set(3x)</A></STRONG>
698               wchgat                   <STRONG><A HREF="curs_attr.3x.html">curs_attr(3x)</A></STRONG>
699               wclear                   <STRONG><A HREF="curs_clear.3x.html">curs_clear(3x)</A></STRONG>
700               wclrtobot                <STRONG><A HREF="curs_clear.3x.html">curs_clear(3x)</A></STRONG>
701               wclrtoeol                <STRONG><A HREF="curs_clear.3x.html">curs_clear(3x)</A></STRONG>
702               wcolor_set               <STRONG><A HREF="curs_attr.3x.html">curs_attr(3x)</A></STRONG>
703               wcursyncup               <STRONG><A HREF="curs_window.3x.html">curs_window(3x)</A></STRONG>
704               wdelch                   <STRONG><A HREF="curs_delch.3x.html">curs_delch(3x)</A></STRONG>
705               wdeleteln                <STRONG><A HREF="curs_deleteln.3x.html">curs_deleteln(3x)</A></STRONG>
706               wecho_wchar              <STRONG><A HREF="curs_add_wch.3x.html">curs_add_wch(3x)</A></STRONG>
707               wechochar                <STRONG><A HREF="curs_addch.3x.html">curs_addch(3x)</A></STRONG>
708               wenclose                 <STRONG><A HREF="curs_mouse.3x.html">curs_mouse(3x)</A></STRONG>*
709               werase                   <STRONG><A HREF="curs_clear.3x.html">curs_clear(3x)</A></STRONG>
710               wget_wch                 <STRONG><A HREF="curs_get_wch.3x.html">curs_get_wch(3x)</A></STRONG>
711
712               wget_wstr                <STRONG><A HREF="curs_get_wstr.3x.html">curs_get_wstr(3x)</A></STRONG>
713               wgetbkgrnd               <STRONG><A HREF="curs_bkgrnd.3x.html">curs_bkgrnd(3x)</A></STRONG>
714               wgetch                   <STRONG><A HREF="curs_getch.3x.html">curs_getch(3x)</A></STRONG>
715               wgetdelay                <STRONG><A HREF="curs_opaque.3x.html">curs_opaque(3x)</A></STRONG>*
716               wgetn_wstr               <STRONG><A HREF="curs_get_wstr.3x.html">curs_get_wstr(3x)</A></STRONG>
717               wgetnstr                 <STRONG><A HREF="curs_getstr.3x.html">curs_getstr(3x)</A></STRONG>
718               wgetparent               <STRONG><A HREF="curs_opaque.3x.html">curs_opaque(3x)</A></STRONG>*
719               wgetscrreg               <STRONG><A HREF="curs_opaque.3x.html">curs_opaque(3x)</A></STRONG>*
720               wgetstr                  <STRONG><A HREF="curs_getstr.3x.html">curs_getstr(3x)</A></STRONG>
721               whline                   <STRONG><A HREF="curs_border.3x.html">curs_border(3x)</A></STRONG>
722               whline_set               <STRONG><A HREF="curs_border_set.3x.html">curs_border_set(3x)</A></STRONG>
723               win_wch                  <STRONG><A HREF="curs_in_wch.3x.html">curs_in_wch(3x)</A></STRONG>
724               win_wchnstr              <STRONG><A HREF="curs_in_wchstr.3x.html">curs_in_wchstr(3x)</A></STRONG>
725               win_wchstr               <STRONG><A HREF="curs_in_wchstr.3x.html">curs_in_wchstr(3x)</A></STRONG>
726               winch                    <STRONG><A HREF="curs_inch.3x.html">curs_inch(3x)</A></STRONG>
727               winchnstr                <STRONG><A HREF="curs_inchstr.3x.html">curs_inchstr(3x)</A></STRONG>
728               winchstr                 <STRONG><A HREF="curs_inchstr.3x.html">curs_inchstr(3x)</A></STRONG>
729               winnstr                  <STRONG><A HREF="curs_instr.3x.html">curs_instr(3x)</A></STRONG>
730               winnwstr                 <STRONG><A HREF="curs_inwstr.3x.html">curs_inwstr(3x)</A></STRONG>
731               wins_nwstr               <STRONG><A HREF="curs_ins_wstr.3x.html">curs_ins_wstr(3x)</A></STRONG>
732               wins_wch                 <STRONG><A HREF="curs_ins_wch.3x.html">curs_ins_wch(3x)</A></STRONG>
733               wins_wstr                <STRONG><A HREF="curs_ins_wstr.3x.html">curs_ins_wstr(3x)</A></STRONG>
734               winsch                   <STRONG><A HREF="curs_insch.3x.html">curs_insch(3x)</A></STRONG>
735               winsdelln                <STRONG><A HREF="curs_deleteln.3x.html">curs_deleteln(3x)</A></STRONG>
736               winsertln                <STRONG><A HREF="curs_deleteln.3x.html">curs_deleteln(3x)</A></STRONG>
737               winsnstr                 <STRONG><A HREF="curs_insstr.3x.html">curs_insstr(3x)</A></STRONG>
738               winsstr                  <STRONG><A HREF="curs_insstr.3x.html">curs_insstr(3x)</A></STRONG>
739               winstr                   <STRONG><A HREF="curs_instr.3x.html">curs_instr(3x)</A></STRONG>
740               winwstr                  <STRONG><A HREF="curs_inwstr.3x.html">curs_inwstr(3x)</A></STRONG>
741               wmouse_trafo             <STRONG><A HREF="curs_mouse.3x.html">curs_mouse(3x)</A></STRONG>*
742               wmove                    <STRONG><A HREF="curs_move.3x.html">curs_move(3x)</A></STRONG>
743               wnoutrefresh             <STRONG><A HREF="curs_refresh.3x.html">curs_refresh(3x)</A></STRONG>
744               wprintw                  <STRONG><A HREF="curs_printw.3x.html">curs_printw(3x)</A></STRONG>
745               wredrawln                <STRONG><A HREF="curs_refresh.3x.html">curs_refresh(3x)</A></STRONG>
746               wrefresh                 <STRONG><A HREF="curs_refresh.3x.html">curs_refresh(3x)</A></STRONG>
747               wresize                  <STRONG><A HREF="wresize.3x.html">wresize(3x)</A></STRONG>*
748               wscanw                   <STRONG><A HREF="curs_scanw.3x.html">curs_scanw(3x)</A></STRONG>
749               wscrl                    <STRONG><A HREF="curs_scroll.3x.html">curs_scroll(3x)</A></STRONG>
750               wsetscrreg               <STRONG><A HREF="curs_outopts.3x.html">curs_outopts(3x)</A></STRONG>
751               wstandend                <STRONG><A HREF="curs_attr.3x.html">curs_attr(3x)</A></STRONG>
752               wstandout                <STRONG><A HREF="curs_attr.3x.html">curs_attr(3x)</A></STRONG>
753               wsyncdown                <STRONG><A HREF="curs_window.3x.html">curs_window(3x)</A></STRONG>
754               wsyncup                  <STRONG><A HREF="curs_window.3x.html">curs_window(3x)</A></STRONG>
755               wtimeout                 <STRONG><A HREF="curs_inopts.3x.html">curs_inopts(3x)</A></STRONG>
756               wtouchln                 <STRONG><A HREF="curs_touch.3x.html">curs_touch(3x)</A></STRONG>
757               wunctrl                  <STRONG><A HREF="curs_util.3x.html">curs_util(3x)</A></STRONG>
758               wvline                   <STRONG><A HREF="curs_border.3x.html">curs_border(3x)</A></STRONG>
759               wvline_set               <STRONG><A HREF="curs_border_set.3x.html">curs_border_set(3x)</A></STRONG>
760
761
762 </PRE><H2><a name="h2-RETURN-VALUE">RETURN VALUE</a></H2><PRE>
763        Routines  that  return  an integer return <STRONG>ERR</STRONG> upon failure
764        and an integer value other than <STRONG>ERR</STRONG> upon  successful  com-
765        pletion,  unless  otherwise  noted in the routine descrip-
766        tions.
767
768        As a general rule, routines check for null pointers passed
769        as parameters, and handle this as an error.
770
771        All  macros  return  the  value  of  the <STRONG>w</STRONG> version, except
772        <STRONG>setscrreg</STRONG>, <STRONG>wsetscrreg</STRONG>, <STRONG>getyx</STRONG>, <STRONG>getbegyx</STRONG>, and <STRONG>getmaxyx</STRONG>.  The
773        return  values  of <STRONG>setscrreg</STRONG>, <STRONG>wsetscrreg</STRONG>, <STRONG>getyx</STRONG>, <STRONG>getbegyx</STRONG>,
774        and <STRONG>getmaxyx</STRONG> are undefined (i.e., these should not be used
775        as the right-hand side of assignment statements).
776
777        Routines that return pointers return <STRONG>NULL</STRONG> on error.
778
779
780 </PRE><H2><a name="h2-ENVIRONMENT">ENVIRONMENT</a></H2><PRE>
781        The following environment symbols are useful for customiz-
782        ing the runtime behavior of the <STRONG>ncurses</STRONG> library.  The most
783        important ones have been already discussed in detail.
784
785    <STRONG>CC</STRONG>
786        When  set,  change  occurrences  of  the command_character
787        (i.e.,  the  <STRONG>cmdch</STRONG>  capability)  of  the  loaded  terminfo
788        entries  to the value of this variable.  Very few terminfo
789        entries provide this feature.
790
791        Because this name is also used in development environments
792        to  represent the C compiler's name, <STRONG>ncurses</STRONG> ignores it if
793        it does not happen to be a single character.
794
795
796 </PRE><H3><a name="h3-BAUDRATE">BAUDRATE</a></H3><PRE>
797        The debugging library  checks  this  environment  variable
798        when the application has redirected output to a file.  The
799        variable's numeric value is used for the baudrate.  If  no
800        value is found, <STRONG>ncurses</STRONG> uses 9600.  This allows testers to
801        construct repeatable test-cases  that  take  into  account
802        costs that depend on baudrate.
803
804
805 </PRE><H3><a name="h3-COLUMNS">COLUMNS</a></H3><PRE>
806        Specify  the  width of the screen in characters.  Applica-
807        tions running in a windowing environment usually are  able
808        to  obtain  the width of the window in which they are exe-
809        cuting.  If neither the <STRONG>COLUMNS</STRONG> value nor  the  terminal's
810        screen  size is available, <STRONG>ncurses</STRONG> uses the size which may
811        be specified in the  terminfo  database  (i.e.,  the  <STRONG>cols</STRONG>
812        capability).
813
814        It  is  important that your application use a correct size
815        for the screen.  This is not always possible because  your
816        application  may be running on a host which does not honor
817        NAWS (Negotiations About Window Size), or because you  are
818        temporarily  running  as  another  user.  However, setting
819        <STRONG>COLUMNS</STRONG> and/or <STRONG>LINES</STRONG> overrides the library's  use  of  the
820        screen size obtained from the operating system.
821
822        Either  <STRONG>COLUMNS</STRONG> or <STRONG>LINES</STRONG> symbols may be specified indepen-
823        dently.  This is mainly useful to circumvent  legacy  mis-
824        features  of terminal descriptions, e.g., xterm which com-
825        monly specifies a 65 line screen.  For best results, <STRONG>lines</STRONG>
826        and <STRONG>cols</STRONG> should not be specified in a terminal description
827        for terminals which are run as emulations.
828
829        Use the <STRONG>use_env</STRONG> function to disable all  use  of  external
830        environment  (but not including system calls) to determine
831        the screen size.  Use the <STRONG>use_tioctl</STRONG>  function  to  update
832        <STRONG>COLUMNS</STRONG>  or  <STRONG>LINES</STRONG>  to match the screen size obtained from
833        system calls or the terminal database.
834
835
836 </PRE><H3><a name="h3-ESCDELAY">ESCDELAY</a></H3><PRE>
837        Specifies the  total  time,  in  milliseconds,  for  which
838        ncurses  will await a character sequence, e.g., a function
839        key.  The default value, 1000 milliseconds, is enough  for
840        most  uses.  However, it is made a variable to accommodate
841        unusual applications.
842
843        The most common instance where you may wish to change this
844        value  is to work with slow hosts, e.g., running on a net-
845        work.  If the host cannot read characters rapidly  enough,
846        it  will  have  the same effect as if the terminal did not
847        send characters rapidly enough.  The  library  will  still
848        see a timeout.
849
850        Note  that  xterm mouse events are built up from character
851        sequences received from the xterm.   If  your  application
852        makes  heavy  use  of  multiple-clicking,  you may wish to
853        lengthen this default value because the timeout applies to
854        the  composed  multi-click event as well as the individual
855        clicks.
856
857        In addition to the environment variable, this  implementa-
858        tion  provides a global variable with the same name.  Por-
859        table applications should not rely upon  the  presence  of
860        ESCDELAY in either form, but setting the environment vari-
861        able rather than the global variable does not create prob-
862        lems when compiling an application.
863
864
865 </PRE><H3><a name="h3-HOME">HOME</a></H3><PRE>
866        Tells <STRONG>ncurses</STRONG> where your home directory is.  That is where
867        it may read and write auxiliary terminal descriptions:
868
869        $HOME/.termcap
870        $HOME/.terminfo
871
872
873 </PRE><H3><a name="h3-LINES">LINES</a></H3><PRE>
874        Like COLUMNS, specify the height of the screen in  charac-
875        ters.  See COLUMNS for a detailed description.
876
877
878 </PRE><H3><a name="h3-MOUSE_BUTTONS_123">MOUSE_BUTTONS_123</a></H3><PRE>
879        This  applies only to the OS/2 EMX port.  It specifies the
880        order of buttons on the mouse.  OS/2  numbers  a  3-button
881        mouse inconsistently from other platforms:
882
883        1 = left
884        2 = right
885        3 = middle.
886
887        This  variable lets you customize the mouse.  The variable
888        must be three numeric digits 1-3 in any order,  e.g.,  123
889        or 321.  If it is not specified, <STRONG>ncurses</STRONG> uses 132.
890
891
892 </PRE><H3><a name="h3-NCURSES_ASSUMED_COLORS">NCURSES_ASSUMED_COLORS</a></H3><PRE>
893        Override  the  compiled-in  assumption that the terminal's
894        default  colors  are  white-on-black   (see   <STRONG>default_col-</STRONG>
895        <STRONG><A HREF="default_colors.3x.html">ors(3x)</A></STRONG>).  You may set the foreground and background color
896        values with this environment variable by proving a  2-ele-
897        ment  list:  foreground,background.   For example, to tell
898        ncurses to not assume anything about the colors, set  this
899        to  "-1,-1".   To make it green-on-black, set it to "2,0".
900        Any positive value from zero to  the  terminfo  <STRONG>max_colors</STRONG>
901        value is allowed.
902
903
904 </PRE><H3><a name="h3-NCURSES_CONSOLE2">NCURSES_CONSOLE2</a></H3><PRE>
905        This applies only to the MinGW port of ncurses.
906
907        The  <STRONG>Console2</STRONG>  program's handling of the Microsoft Console
908        API call <STRONG>CreateConsoleScreenBuffer</STRONG> is defective.  Applica-
909        tions  which  use this will hang.  However, it is possible
910        to simulate the action of this  call  by  mapping  coordi-
911        nates, explicitly saving and restoring the original screen
912        contents.  Setting the environment variable <STRONG>NCGDB</STRONG> has  the
913        same effect.
914
915
916 </PRE><H3><a name="h3-NCURSES_GPM_TERMS">NCURSES_GPM_TERMS</a></H3><PRE>
917        This  applies  only  to  ncurses configured to use the GPM
918        interface.
919
920        If present, the environment variable is a list of  one  or
921        more  terminal  names  against  which the <STRONG>TERM</STRONG> environment
922        variable is matched.  Setting it to an  empty  value  dis-
923        ables  the  GPM  interface; using the built-in support for
924        xterm, etc.
925
926        If  the  environment  variable  is  absent,  ncurses  will
927        attempt to open GPM if <STRONG>TERM</STRONG> contains "linux".
928
929
930 </PRE><H3><a name="h3-NCURSES_NO_HARD_TABS">NCURSES_NO_HARD_TABS</a></H3><PRE>
931        <STRONG>Ncurses</STRONG>  may use tabs as part of the cursor movement opti-
932        mization.  In some cases, your  terminal  driver  may  not
933        handle  these  properly.  Set this environment variable to
934        disable the feature.  You can also adjust your  <STRONG>stty</STRONG>  set-
935        tings  to avoid the problem.  NCURSES_NO_MAGIC_COOKIE Some
936        terminals use a magic-cookie feature which  requires  spe-
937        cial   handling  to  make  highlighting  and  other  video
938        attributes display properly.  You can suppress  the  high-
939        lighting  entirely  for  these  terminals  by setting this
940        environment variable.
941
942
943 </PRE><H3><a name="h3-NCURSES_NO_PADDING">NCURSES_NO_PADDING</a></H3><PRE>
944        Most of the terminal descriptions in the terminfo database
945        are  written  for  real "hardware" terminals.  Many people
946        use terminal emulators which run in a  windowing  environ-
947        ment  and  use curses-based applications.  Terminal emula-
948        tors can duplicate all of the important aspects of a hard-
949        ware  terminal, but they do not have the same limitations.
950        The chief limitation  of  a  hardware  terminal  from  the
951        standpoint  of  your  application  is  the  management  of
952        dataflow, i.e., timing.  Unless  a  hardware  terminal  is
953        interfaced  into  a terminal concentrator (which does flow
954        control), it (or your application) must  manage  dataflow,
955        preventing  overruns.   The cheapest solution (no hardware
956        cost) is for your program to  do  this  by  pausing  after
957        operations that the terminal does slowly, such as clearing
958        the display.
959
960        As a result, many  terminal  descriptions  (including  the
961        vt100)  have  delay  times  embedded.  You may wish to use
962        these descriptions, but not want to  pay  the  performance
963        penalty.
964
965        Set the NCURSES_NO_PADDING environment variable to disable
966        all but mandatory padding.  Mandatory padding is used as a
967        part of special control sequences such as <EM>flash</EM>.
968
969
970 </PRE><H3><a name="h3-NCURSES_NO_SETBUF">NCURSES_NO_SETBUF</a></H3><PRE>
971        This setting is obsolete.  Before changes
972
973           <STRONG>o</STRONG>   started with 5.9 patch 20120825 and
974
975           <STRONG>o</STRONG>   continued though 5.9 patch 20130126
976
977        <STRONG>ncurses</STRONG>  enabled  buffered output during terminal initial-
978        ization.  This was done (as in SVr4  curses)  for  perfor-
979        mance  reasons.  For testing purposes, both of <STRONG>ncurses</STRONG> and
980        certain applications,  this  feature  was  made  optional.
981        Setting  the  NCURSES_NO_SETBUF  variable  disabled output
982        buffering, leaving the output  in  the  original  (usually
983        line buffered) mode.
984
985        In  the  current  implementation, ncurses performs its own
986        buffering and does not require this workaround.   It  does
987        not modify the buffering of the standard output.
988
989        The  reason  for  the  change was to make the behavior for
990        interrupts and other signals more robust.  One drawback is
991        that  certain  nonconventional programs would mix ordinary
992        stdio calls with ncurses calls and (usually)  work.   This
993        is  no  longer  possible  since  ncurses  is not using the
994        buffered standard output but its own output (to  the  same
995        file  descriptor).  As a special case, the low-level calls
996        such as <STRONG>putp</STRONG> still use the  standard  output.   But  high-
997        level curses calls do not.
998
999
1000 </PRE><H3><a name="h3-NCURSES_NO_UTF8_ACS">NCURSES_NO_UTF8_ACS</a></H3><PRE>
1001        During initialization, the <STRONG>ncurses</STRONG> library checks for spe-
1002        cial cases where VT100 line-drawing (and the corresponding
1003        alternate  character  set  capabilities)  described in the
1004        terminfo are known to be missing.  Specifically, when run-
1005        ning in a UTF-8 locale, the Linux console emulator and the
1006        GNU screen program ignore these.  Ncurses checks the  <STRONG>TERM</STRONG>
1007        environment  variable for these.  For other special cases,
1008        you should set  this  environment  variable.   Doing  this
1009        tells  ncurses  to  use Unicode values which correspond to
1010        the VT100 line-drawing glyphs.  That works for the special
1011        cases cited, and is likely to work for terminal emulators.
1012
1013        When setting this variable, you should set it to a nonzero
1014        value.  Setting it to zero (or to  a  nonnumber)  disables
1015        the special check for "linux" and "screen".
1016
1017        As  an  alternative  to  the environment variable, ncurses
1018        checks for an extended terminfo capability <STRONG>U8</STRONG>.  This is  a
1019        numeric  capability  which  can  be compiled using <STRONG>tic</STRONG> <STRONG>-x</STRONG>.
1020        For example
1021
1022           # linux console, if patched to provide working
1023           # VT100 shift-in/shift-out, with corresponding font.
1024           linux-vt100|linux console with VT100 line-graphics,
1025                   U8#0, use=linux,
1026
1027           # uxterm with vt100Graphics resource set to false
1028           xterm-utf8|xterm relying on UTF-8 line-graphics,
1029                   U8#1, use=xterm,
1030
1031        The name "U8" is chosen to be two characters, to permit it
1032        to  be  used  by  applications  that  use ncurses' termcap
1033        interface.
1034
1035
1036 </PRE><H3><a name="h3-NCURSES_TRACE">NCURSES_TRACE</a></H3><PRE>
1037        During  initialization,  the  <STRONG>ncurses</STRONG>  debugging   library
1038        checks  the  NCURSES_TRACE environment variable.  If it is
1039        defined, to a numeric value, <STRONG>ncurses</STRONG> calls the <STRONG>trace</STRONG> func-
1040        tion, using that value as the argument.
1041
1042        The  argument  values, which are defined in <STRONG>curses.h</STRONG>, pro-
1043        vide several types  of  information.   When  running  with
1044        traces enabled, your application will write the file <STRONG>trace</STRONG>
1045        to the current directory.
1046
1047        See <STRONG><A HREF="curs_trace.3x.html">curs_trace(3x)</A></STRONG> for more information.
1048
1049
1050 </PRE><H3><a name="h3-TERM">TERM</a></H3><PRE>
1051        Denotes your terminal type.  Each terminal  type  is  dis-
1052        tinct, though many are similar.
1053
1054        <STRONG>TERM</STRONG>  is commonly set by terminal emulators to help appli-
1055        cations find a workable  terminal  description.   Some  of
1056        those   choose  a  popular  approximation,  e.g.,  "ansi",
1057        "vt100", "xterm" rather than an  exact  fit.   Not  infre-
1058        quently,  your  application  will  have problems with that
1059        approach, e.g., incorrect function-key definitions.
1060
1061        If you set <STRONG>TERM</STRONG> in your environment, it has no  effect  on
1062        the  operation  of the terminal emulator.  It only affects
1063        the way applications work within the terminal.   Likewise,
1064        as a general rule (<STRONG>xterm</STRONG> being a rare exception), terminal
1065        emulators which allow you to specify <STRONG>TERM</STRONG> as  a  parameter
1066        or  configuration  value  do  not change their behavior to
1067        match that setting.
1068
1069
1070 </PRE><H3><a name="h3-TERMCAP">TERMCAP</a></H3><PRE>
1071        If the <STRONG>ncurses</STRONG> library has been  configured  with  <EM>termcap</EM>
1072        support,  <STRONG>ncurses</STRONG>  will check for a terminal's description
1073        in termcap form if it is not  available  in  the  terminfo
1074        database.
1075
1076        The  <STRONG>TERMCAP</STRONG> environment variable contains either a termi-
1077        nal description (with newlines stripped out),  or  a  file
1078        name  telling  where  the  information denoted by the <STRONG>TERM</STRONG>
1079        environment variable exists.  In either case,  setting  it
1080        directs  <STRONG>ncurses</STRONG> to ignore the usual place for this infor-
1081        mation, e.g., /etc/termcap.
1082
1083
1084 </PRE><H3><a name="h3-TERMINFO">TERMINFO</a></H3><PRE>
1085        <STRONG>ncurses</STRONG> can be configured to read from  multiple  terminal
1086        databases.   The  <STRONG>TERMINFO</STRONG> variable overrides the location
1087        for the default terminal database.  Terminal  descriptions
1088        (in terminal format) are stored in terminal databases:
1089
1090        <STRONG>o</STRONG>   Normally  these  are stored in a directory tree, using
1091            subdirectories named by the first letter of the termi-
1092            nal names therein.
1093
1094            This is the scheme used in System V, which legacy Unix
1095            systems use, and the  <STRONG>TERMINFO</STRONG>  variable  is  used  by
1096            <EM>curses</EM>  applications  on those systems to override the
1097            default location of the terminal database.
1098
1099        <STRONG>o</STRONG>   If <STRONG>ncurses</STRONG> is built to use hashed databases, then each
1100            entry  in  this list may be the path of a hashed data-
1101            base file, e.g.,
1102
1103              /usr/share/terminfo.db
1104
1105            rather than
1106
1107              /usr/share/terminfo/
1108
1109            The hashed database uses less disk-space and is a lit-
1110            tle  faster  than  the  directory tree.  However, some
1111            applications assume the  existence  of  the  directory
1112            tree,  reading  it directly rather than using the ter-
1113            minfo library calls.
1114
1115        <STRONG>o</STRONG>   If <STRONG>ncurses</STRONG> is built with a support for reading termcap
1116            files  directly, then an entry in this list may be the
1117            path of a termcap file.
1118
1119        <STRONG>o</STRONG>   If the <STRONG>TERMINFO</STRONG> variable begins with "hex:" or "b64:",
1120            <STRONG>ncurses</STRONG>  uses the remainder of that variable as a com-
1121            piled terminal description.   You  might  produce  the
1122            base64 format using <STRONG><A HREF="infocmp.1m.html">infocmp(1m)</A></STRONG>:
1123
1124              TERMINFO="$(infocmp -0 -Q2 -q)"
1125              export TERMINFO
1126
1127            The  compiled description is used if it corresponds to
1128            the terminal identified by the <STRONG>TERM</STRONG> variable.
1129
1130        Setting <STRONG>TERMINFO</STRONG> is the simplest, but not the only way  to
1131        set  location  of the default terminal database.  The com-
1132        plete list of database locations in order follows:
1133
1134           <STRONG>o</STRONG>   the last terminal database to which <STRONG>ncurses</STRONG>  wrote,
1135               if any, is searched first
1136
1137           <STRONG>o</STRONG>   the  location specified by the TERMINFO environment
1138               variable
1139
1140           <STRONG>o</STRONG>   $HOME/.terminfo
1141
1142           <STRONG>o</STRONG>   locations listed in the  TERMINFO_DIRS  environment
1143               variable
1144
1145           <STRONG>o</STRONG>   one  or  more  locations whose names are configured
1146               and compiled into the ncurses library, i.e.,
1147
1148              <STRONG>o</STRONG>   /usr/local/ncurses/share/ter-
1149                  minfo:/usr/share/terminfo  (corresponding to the
1150                  TERMINFO_DIRS variable)
1151
1152              <STRONG>o</STRONG>   /usr/share/terminfo (corresponding to  the  TER-
1153                  MINFO variable)
1154
1155
1156 </PRE><H3><a name="h3-TERMINFO_DIRS">TERMINFO_DIRS</a></H3><PRE>
1157        Specifies  a  list  of  locations  to  search for terminal
1158        descriptions.  Each location in the  list  is  a  terminal
1159        database as described in the section on the <STRONG>TERMINFO</STRONG> vari-
1160        able.  The list is separated  by  colons  (i.e.,  ":")  on
1161        Unix, semicolons on OS/2 EMX.
1162
1163        There is no corresponding feature in System V terminfo; it
1164        is an extension developed for <STRONG>ncurses</STRONG>.
1165
1166
1167 </PRE><H3><a name="h3-TERMPATH">TERMPATH</a></H3><PRE>
1168        If <STRONG>TERMCAP</STRONG> does not hold a file name then  <STRONG>ncurses</STRONG>  checks
1169        the  <STRONG>TERMPATH</STRONG>  environment  variable.   This  is a list of
1170        filenames separated by spaces or  colons  (i.e.,  ":")  on
1171        Unix, semicolons on OS/2 EMX.
1172
1173        If  the  <STRONG>TERMPATH</STRONG> environment variable is not set, <STRONG>ncurses</STRONG>
1174        looks in the files
1175
1176          /etc/termcap, /usr/share/misc/termcap and $HOME/.termcap,
1177
1178        in that order.
1179
1180        The library may be configured to disregard  the  following
1181        variables  when  the current user is the superuser (root),
1182        or if the application uses setuid or setgid permissions:
1183
1184          $TERMINFO, $TERMINFO_DIRS, $TERMPATH, as well as $HOME.
1185
1186
1187 </PRE><H2><a name="h2-ALTERNATE-CONFIGURATIONS">ALTERNATE CONFIGURATIONS</a></H2><PRE>
1188        Several different configurations are  possible,  depending
1189        on   the  configure  script  options  used  when  building
1190        <STRONG>ncurses</STRONG>.  There are a few main options whose  effects  are
1191        visible to the applications developer using <STRONG>ncurses</STRONG>:
1192
1193        --disable-overwrite
1194             The  standard include for <STRONG>ncurses</STRONG> is as noted in <STRONG>SYN-</STRONG>
1195             <STRONG>OPSIS</STRONG>:
1196
1197           <STRONG>#include</STRONG> <STRONG>&lt;curses.h&gt;</STRONG>
1198
1199             This option is used to avoid filename conflicts  when
1200             <STRONG>ncurses</STRONG>  is  not the main implementation of curses of
1201             the computer.   If  <STRONG>ncurses</STRONG>  is  installed  disabling
1202             overwrite,  it  puts  its  headers in a subdirectory,
1203             e.g.,
1204
1205           <STRONG>#include</STRONG> <STRONG>&lt;ncurses/curses.h&gt;</STRONG>
1206
1207             It also omits a symbolic link which would  allow  you
1208             to use <STRONG>-lcurses</STRONG> to build executables.
1209
1210        --enable-widec
1211             The  configure script renames the library and (if the
1212             <STRONG>--disable-overwrite</STRONG> option is used) puts  the  header
1213             files  in  a  different  subdirectory.   All  of  the
1214             library names have a  "w"  appended  to  them,  i.e.,
1215             instead of
1216
1217           <STRONG>-lncurses</STRONG>
1218
1219             you link with
1220
1221           <STRONG>-lncursesw</STRONG>
1222
1223             You must also define <STRONG>_XOPEN_SOURCE_EXTENDED</STRONG> when com-
1224             piling for the  wide-character  library  to  use  the
1225             extended  (wide-character)  functions.   The <STRONG>curses.h</STRONG>
1226             file  which  is  installed  for  the   wide-character
1227             library  is designed to be compatible with the normal
1228             library's header.  Only the size of the <STRONG>WINDOW</STRONG> struc-
1229             ture  differs, and very few applications require more
1230             than a  pointer  to  <STRONG>WINDOW</STRONG>s.   If  the  headers  are
1231             installed   allowing  overwrite,  the  wide-character
1232             library's headers should be installed last, to  allow
1233             applications  to  be  built using either library from
1234             the same set of headers.
1235
1236        --with-pthread
1237             The configure script renames the library.  All of the
1238             library names have a "t" appended to them (before any
1239             "w" added by <STRONG>--enable-widec</STRONG>).
1240
1241             The global variables such as <STRONG>LINES</STRONG>  are  replaced  by
1242             macros  to allow read-only access.  At the same time,
1243             setter-functions are provided to  set  these  values.
1244             Some  applications  (very few) may require changes to
1245             work with this convention.
1246
1247        --with-shared
1248
1249        --with-normal
1250
1251        --with-debug
1252
1253        --with-profile
1254             The shared and normal (static) library  names  differ
1255             by  their  suffixes,  e.g.,  <STRONG>libncurses.so</STRONG>  and <STRONG>libn-</STRONG>
1256             <STRONG>curses.a</STRONG>.  The debug and profiling  libraries  add  a
1257             "_g" and a "_p" to the root names respectively, e.g.,
1258             <STRONG>libncurses_g.a</STRONG> and <STRONG>libncurses_p.a</STRONG>.
1259
1260        --with-trace
1261             The <STRONG>trace</STRONG> function  normally  resides  in  the  debug
1262             library, but it is sometimes useful to configure this
1263             in the  shared  library.   Configure  scripts  should
1264             check for the function's existence rather than assum-
1265             ing it is always in the debug library.
1266
1267
1268 </PRE><H2><a name="h2-FILES">FILES</a></H2><PRE>
1269        /usr/share/tabset
1270             directory containing  initialization  files  for  the
1271             terminal capability database /usr/share/terminfo ter-
1272             minal capability database
1273
1274
1275 </PRE><H2><a name="h2-SEE-ALSO">SEE ALSO</a></H2><PRE>
1276        <STRONG><A HREF="terminfo.5.html">terminfo(5)</A></STRONG> and related pages whose  names  begin  "curs_"
1277        for detailed routine descriptions.
1278        <STRONG><A HREF="curs_variables.3x.html">curs_variables(3x)</A></STRONG>
1279
1280
1281 </PRE><H2><a name="h2-EXTENSIONS">EXTENSIONS</a></H2><PRE>
1282        The  <STRONG>ncurses</STRONG>  library  can  be  compiled  with  an  option
1283        (<STRONG>-DUSE_GETCAP</STRONG>) that falls back to the old-style /etc/term-
1284        cap file if the terminal setup code cannot find a terminfo
1285        entry corresponding to <STRONG>TERM</STRONG>.  Use of this feature  is  not
1286        recommended,  as it essentially includes an entire termcap
1287        compiler in the <STRONG>ncurses</STRONG> startup code, at significant  cost
1288        in core and startup cycles.
1289
1290        The  <STRONG>ncurses</STRONG>  library  includes  facilities  for capturing
1291        mouse events on certain terminals (including xterm).   See
1292        the <STRONG><A HREF="curs_mouse.3x.html">curs_mouse(3x)</A></STRONG> manual page for details.
1293
1294        The  <STRONG>ncurses</STRONG> library includes facilities for responding to
1295        window resizing events, e.g., when running  in  an  xterm.
1296        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
1297        details.  In addition, the library may be configured  with
1298        a SIGWINCH handler.
1299
1300        The  <STRONG>ncurses</STRONG> library extends the fixed set of function key
1301        capabilities of  terminals  by  allowing  the  application
1302        designer  to  define  additional key sequences at runtime.
1303        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-
1304        ual pages for details.
1305
1306        The <STRONG>ncurses</STRONG> library can exploit the capabilities of termi-
1307        nals which implement the ISO-6429 SGR 39 and SGR  49  con-
1308        trols, which allow an application to reset the terminal to
1309        its original foreground and background colors.   From  the
1310        users'  perspective,  the application is able to draw col-
1311        ored text on a background  whose  color  is  set  indepen-
1312        dently,  providing  better  control  over color contrasts.
1313        See the <STRONG><A HREF="default_colors.3x.html">default_colors(3x)</A></STRONG> manual page for details.
1314
1315        The <STRONG>ncurses</STRONG> library  includes  a  function  for  directing
1316        application  output  to a printer attached to the terminal
1317        device.  See the <STRONG><A HREF="curs_print.3x.html">curs_print(3x)</A></STRONG> manual page for details.
1318
1319
1320 </PRE><H2><a name="h2-PORTABILITY">PORTABILITY</a></H2><PRE>
1321        The <STRONG>ncurses</STRONG> library is intended to be  BASE-level  confor-
1322        mant with XSI Curses.  The EXTENDED XSI Curses functional-
1323        ity (including color support) is supported.
1324
1325        A small number of local differences (that  is,  individual
1326        differences  between the XSI Curses and <STRONG>ncurses</STRONG> calls) are
1327        described in  <STRONG>PORTABILITY</STRONG>  sections  of  the  library  man
1328        pages.
1329
1330        Unlike  other  implementations, this one checks parameters
1331        such as pointers to WINDOW structures to ensure  they  are
1332        not  null.  The main reason for providing this behavior is
1333        to guard against programmer error.  The standard interface
1334        does not provide a way for the library to tell an applica-
1335        tion which  of  several  possible  errors  were  detected.
1336        Relying  on  this (or some other) extension will adversely
1337        affect the portability of curses applications.
1338
1339        This implementation also contains several extensions:
1340
1341        <STRONG>o</STRONG>   The routine <STRONG>has_key</STRONG> is not part of  XPG4,  nor  is  it
1342            present  in  SVr4.  See the <STRONG><A HREF="curs_getch.3x.html">curs_getch(3x)</A></STRONG> manual page
1343            for details.
1344
1345        <STRONG>o</STRONG>   The routine <STRONG>slk_attr</STRONG> is not part of XPG4,  nor  is  it
1346            present in SVr4.  See the <STRONG><A HREF="curs_slk.3x.html">curs_slk(3x)</A></STRONG> manual page for
1347            details.
1348
1349        <STRONG>o</STRONG>   The routines <STRONG>getmouse</STRONG>, <STRONG>mousemask</STRONG>, <STRONG>ungetmouse</STRONG>, <STRONG>mousein-</STRONG>
1350            <STRONG>terval</STRONG>, and <STRONG>wenclose</STRONG> relating to mouse interfacing are
1351            not part of XPG4, nor are they present in  SVr4.   See
1352            the <STRONG><A HREF="curs_mouse.3x.html">curs_mouse(3x)</A></STRONG> manual page for details.
1353
1354        <STRONG>o</STRONG>   The  routine  <STRONG>mcprint</STRONG>  was not present in any previous
1355            curses implementation.  See the <STRONG><A HREF="curs_print.3x.html">curs_print(3x)</A></STRONG>  manual
1356            page for details.
1357
1358        <STRONG>o</STRONG>   The  routine  <STRONG>wresize</STRONG>  is  not part of XPG4, nor is it
1359            present in SVr4.  See the <STRONG><A HREF="wresize.3x.html">wresize(3x)</A></STRONG> manual page  for
1360            details.
1361
1362        <STRONG>o</STRONG>   The  WINDOW structure's internal details can be hidden
1363            from application programs.   See  <STRONG><A HREF="curs_opaque.3x.html">curs_opaque(3x)</A></STRONG>  for
1364            the discussion of <STRONG>is_scrollok</STRONG>, etc.
1365
1366        <STRONG>o</STRONG>   This implementation can be configured to provide rudi-
1367            mentary support for multi-threaded applications.   See
1368            <STRONG><A HREF="curs_threads.3x.html">curs_threads(3x)</A></STRONG> for details.
1369
1370        <STRONG>o</STRONG>   This  implementation can also be configured to provide
1371            a set of functions which improve the ability to manage
1372            multiple screens.  See <STRONG><A HREF="curs_sp_funcs.3x.html">curs_sp_funcs(3x)</A></STRONG> for details.
1373
1374        In  historic curses versions, delays embedded in the capa-
1375        bilities <STRONG>cr</STRONG>, <STRONG>ind</STRONG>, <STRONG>cub1</STRONG>, <STRONG>ff</STRONG> and <STRONG>tab</STRONG> activated corresponding
1376        delay  bits  in  the UNIX tty driver.  In this implementa-
1377        tion, all padding is done  by  sending  NUL  bytes.   This
1378        method  is slightly more expensive, but narrows the inter-
1379        face to the UNIX kernel significantly  and  increases  the
1380        package's portability correspondingly.
1381
1382
1383 </PRE><H2><a name="h2-NOTES">NOTES</a></H2><PRE>
1384        The  header  file  <STRONG>&lt;curses.h&gt;</STRONG>  automatically  includes the
1385        header files <STRONG>&lt;stdio.h&gt;</STRONG> and <STRONG>&lt;unctrl.h&gt;</STRONG>.
1386
1387        If standard output from a <STRONG>ncurses</STRONG> program  is  re-directed
1388        to  something  which  is not a tty, screen updates will be
1389        directed to standard error.  This was an undocumented fea-
1390        ture of AT&amp;T System V Release 3 curses.
1391
1392
1393 </PRE><H2><a name="h2-AUTHORS">AUTHORS</a></H2><PRE>
1394        Zeyd  M.  Ben-Halim,  Eric  S.  Raymond, Thomas E. Dickey.
1395        Based on pcurses by Pavel Curtis.
1396
1397
1398
1399                                                             <STRONG><A HREF="ncurses.3x.html">ncurses(3x)</A></STRONG>
1400 </PRE>
1401 <div class="nav">
1402 <ul>
1403 <li><a href="#h2-NAME">NAME</a></li>
1404 <li><a href="#h2-SYNOPSIS">SYNOPSIS</a></li>
1405 <li><a href="#h2-DESCRIPTION">DESCRIPTION</a>
1406 <ul>
1407 <li><a href="#h3-Initialization">Initialization</a></li>
1408 <li><a href="#h3-Datatypes">Datatypes</a></li>
1409 <li><a href="#h3-Environment-variables">Environment variables</a></li>
1410 <li><a href="#h3-Routine-and-Argument-Names">Routine and Argument Names</a></li>
1411 <li><a href="#h3-Routine-Name-Index">Routine Name Index</a></li>
1412 </ul>
1413 </li>
1414 <li><a href="#h2-RETURN-VALUE">RETURN VALUE</a></li>
1415 <li><a href="#h2-ENVIRONMENT">ENVIRONMENT</a>
1416 <ul>
1417 <li><a href="#h3-BAUDRATE">BAUDRATE</a></li>
1418 <li><a href="#h3-COLUMNS">COLUMNS</a></li>
1419 <li><a href="#h3-ESCDELAY">ESCDELAY</a></li>
1420 <li><a href="#h3-HOME">HOME</a></li>
1421 <li><a href="#h3-LINES">LINES</a></li>
1422 <li><a href="#h3-MOUSE_BUTTONS_123">MOUSE_BUTTONS_123</a></li>
1423 <li><a href="#h3-NCURSES_ASSUMED_COLORS">NCURSES_ASSUMED_COLORS</a></li>
1424 <li><a href="#h3-NCURSES_CONSOLE2">NCURSES_CONSOLE2</a></li>
1425 <li><a href="#h3-NCURSES_GPM_TERMS">NCURSES_GPM_TERMS</a></li>
1426 <li><a href="#h3-NCURSES_NO_HARD_TABS">NCURSES_NO_HARD_TABS</a></li>
1427 <li><a href="#h3-NCURSES_NO_PADDING">NCURSES_NO_PADDING</a></li>
1428 <li><a href="#h3-NCURSES_NO_SETBUF">NCURSES_NO_SETBUF</a></li>
1429 <li><a href="#h3-NCURSES_NO_UTF8_ACS">NCURSES_NO_UTF8_ACS</a></li>
1430 <li><a href="#h3-NCURSES_TRACE">NCURSES_TRACE</a></li>
1431 <li><a href="#h3-TERM">TERM</a></li>
1432 <li><a href="#h3-TERMCAP">TERMCAP</a></li>
1433 <li><a href="#h3-TERMINFO">TERMINFO</a></li>
1434 <li><a href="#h3-TERMINFO_DIRS">TERMINFO_DIRS</a></li>
1435 <li><a href="#h3-TERMPATH">TERMPATH</a></li>
1436 </ul>
1437 </li>
1438 <li><a href="#h2-ALTERNATE-CONFIGURATIONS">ALTERNATE CONFIGURATIONS</a></li>
1439 <li><a href="#h2-FILES">FILES</a></li>
1440 <li><a href="#h2-SEE-ALSO">SEE ALSO</a></li>
1441 <li><a href="#h2-EXTENSIONS">EXTENSIONS</a></li>
1442 <li><a href="#h2-PORTABILITY">PORTABILITY</a></li>
1443 <li><a href="#h2-NOTES">NOTES</a></li>
1444 <li><a href="#h2-AUTHORS">AUTHORS</a></li>
1445 </ul>
1446 </div>
1447 </BODY>
1448 </HTML>