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