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