]> ncurses.scripts.mit.edu Git - ncurses.git/blob - doc/html/man/ncurses.3x.html
d76f4f45f85c93da84949579102171af1605aa15
[ncurses.git] / doc / html / man / ncurses.3x.html
1 <!--
2   * t
3   ****************************************************************************
4   * Copyright 2018-2023,2024 Thomas E. Dickey                                *
5   * Copyright 1998-2015,2017 Free Software Foundation, Inc.                  *
6   *                                                                          *
7   * Permission is hereby granted, free of charge, to any person obtaining a  *
8   * copy of this software and associated documentation files (the            *
9   * "Software"), to deal in the Software without restriction, including      *
10   * without limitation the rights to use, copy, modify, merge, publish,      *
11   * distribute, distribute with modifications, sublicense, and/or sell       *
12   * copies of the Software, and to permit persons to whom the Software is    *
13   * furnished to do so, subject to the following conditions:                 *
14   *                                                                          *
15   * The above copyright notice and this permission notice shall be included  *
16   * in all copies or substantial portions of the Software.                   *
17   *                                                                          *
18   * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS  *
19   * OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF               *
20   * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.   *
21   * IN NO EVENT SHALL THE ABOVE COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM,   *
22   * DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR    *
23   * OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR    *
24   * THE USE OR OTHER DEALINGS IN THE SOFTWARE.                               *
25   *                                                                          *
26   * Except as contained in this notice, the name(s) of the above copyright   *
27   * holders shall not be used in advertising or otherwise to promote the     *
28   * sale, use or other dealings in this Software without prior written       *
29   * authorization.                                                           *
30   ****************************************************************************
31   * @Id: ncurses.3x,v 1.217 2024/05/18 20:02:27 tom Exp @
32 -->
33 <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN">
34 <HTML>
35 <HEAD>
36 <meta http-equiv="Content-Type" content="text/html; charset=us-ascii">
37 <meta name="generator" content="Manpage converted by man2html - see https://invisible-island.net/scripts/readme.html#others_scripts">
38 <TITLE>ncurses 3x 2024-05-18 ncurses 6.5 Library calls</TITLE>
39 <link rel="author" href="mailto:bug-ncurses@gnu.org">
40
41 </HEAD>
42 <BODY>
43 <H1 class="no-header">ncurses 3x 2024-05-18 ncurses 6.5 Library calls</H1>
44 <PRE>
45 <STRONG><A HREF="ncurses.3x.html">ncurses(3x)</A></STRONG>                      Library calls                     <STRONG><A HREF="ncurses.3x.html">ncurses(3x)</A></STRONG>
46
47
48
49
50 </PRE><H2><a name="h2-NAME">NAME</a></H2><PRE>
51        <STRONG>ncurses</STRONG> - character-cell terminal interface with optimized output
52
53
54 </PRE><H2><a name="h2-SYNOPSIS">SYNOPSIS</a></H2><PRE>
55        <STRONG>#include</STRONG> <STRONG>&lt;curses.h&gt;</STRONG>
56
57
58 </PRE><H2><a name="h2-DESCRIPTION">DESCRIPTION</a></H2><PRE>
59        The  "new  curses" library offers the programmer a terminal-independent
60        means of reading keyboard and mouse input and  updating  character-cell
61        terminals  with  output  optimized to minimize screen updates.  <EM>ncurses</EM>
62        replaces the <EM>curses</EM> libraries from System V Release 4 Unix ("SVr4") and
63        4.4BSD  Unix,  the  development  of  which  ceased  in the 1990s.  This
64        document describes <EM>ncurses</EM> version 6.5 (patch 20240518).
65
66        <EM>ncurses</EM> permits control of the terminal screen's contents;  abstraction
67        and  subdivision thereof with <EM>windows</EM> and <EM>pads</EM>; acquisition of keyboard
68        and mouse  events;  control  of  terminal  input  and  output  options;
69        selection   of   color  and  rendering  attributes  (such  as  bold  or
70        underline); the definition and use of <EM>soft</EM> <EM>label</EM> keys;  access  to  the
71        <EM>terminfo</EM>   terminal   capability   database;  a  <EM>termcap</EM>  compatibility
72        interface; and an abstraction of the system's API for manipulating  the
73        terminal (such as <STRONG>termios(3)</STRONG>).
74
75        <EM>ncurses</EM>  implements  the  interface described by X/Open Curses Issue 7.
76        In many behavioral details not standardized by X/Open, <EM>ncurses</EM> emulates
77        the <EM>curses</EM> library of SVr4 and provides numerous useful extensions.
78
79        <EM>ncurses</EM>  man  pages employ several sections to clarify matters of usage
80        and interoperability with other <EM>curses</EM> implementations.
81
82        <STRONG>o</STRONG>   "NOTES" describes issues and caveats  of  which  any  user  of  the
83            <EM>ncurses</EM>  API should be aware, such as limitations on the size of an
84            underlying integral type or  the  availability  of  a  preprocessor
85            macro  exclusive  of  a  function  definition  (which  prevents its
86            address  from  being   taken).    This   section   also   describes
87            implementation  details  that will be significant to the programmer
88            but which are not standardized.
89
90        <STRONG>o</STRONG>   "EXTENSIONS" presents <EM>ncurses</EM> innovations beyond the X/Open  Curses
91            standard  and/or  the  SVr4 <EM>curses</EM> implementation.  They are termed
92            <EM>extensions</EM> to indicate that they cannot be  implemented  solely  by
93            using the library API, but require access to the library's internal
94            state.
95
96        <STRONG>o</STRONG>   "PORTABILITY" discusses matters (beyond the exercise of extensions)
97            that should be considered when writing to a <EM>curses</EM> standard, or for
98            multiple implementations.
99
100        <STRONG>o</STRONG>   "HISTORY" examines points of detail in  <EM>ncurses</EM>  and  other  <EM>curses</EM>
101            implementations over the decades of their development, particularly
102            where precedent or inertia have frustrated better design (and, in a
103            few cases, where such inertia has been overcome).
104
105        A <EM>curses</EM> application must be linked with the library; use the <STRONG>-lncurses</STRONG>
106        option to your compiler or linker.  A debugging version of the  library
107        may  be available; if so, link with it using <STRONG>-lncurses_g</STRONG>.  (Your system
108        integrator may have installed these libraries such that you can use the
109        options  <STRONG>-lcurses</STRONG> and <STRONG>-lcurses_g</STRONG>, respectively.)  The <EM>ncurses</EM><STRONG>_</STRONG><EM>g</EM> library
110        generates trace logs (in a file called <EM>trace</EM> in the current  directory)
111        that  describe <EM>ncurses</EM> actions.  See section "ALTERNATE CONFIGURATIONS"
112        below.
113
114
115 </PRE><H3><a name="h3-Application-Structure">Application Structure</a></H3><PRE>
116        A  <EM>curses</EM>  application  uses  information  from  the   system   locale;
117        <STRONG>setlocale(3)</STRONG> prepares it for <EM>curses</EM> library calls.
118
119            setlocale(LC_ALL, "");
120
121        If  the  locale  is  not  thus  initialized,  the  library assumes that
122        characters are printable as in ISO 8859-1, to work with certain  legacy
123        programs.   You  should initialize the locale; do not expect consistent
124        behavior from the library when the locale has not been set up.
125
126        <STRONG><A HREF="curs_initscr.3x.html">initscr(3x)</A></STRONG> or <STRONG><A HREF="curs_initscr.3x.html">newterm(3x)</A></STRONG> must be called to initialize  <EM>curses</EM>  before
127        use of any functions that deal with windows and screens.
128
129        To  get  character-at-a-time  input  without echoing--most interactive,
130        screen-oriented programs want this--use the following sequence.
131
132            initscr(); cbreak(); noecho();
133
134        Most applications perform further setup as follows.
135
136            intrflush(stdscr, FALSE);
137            keypad(stdscr, TRUE);
138
139        A <EM>curses</EM> program then often enters an event loop of  some  sort.   Call
140        <STRONG><A HREF="curs_initscr.3x.html">endwin(3x)</A></STRONG> before exiting.
141
142
143 </PRE><H3><a name="h3-Overview">Overview</a></H3><PRE>
144        A  <EM>curses</EM>  library abstracts the terminal screen by representing all or
145        part of it as a <EM>WINDOW</EM> data structure.  A <EM>window</EM> is a rectangular  grid
146        of  character  cells,  addressed  by row and column coordinates (<EM>y</EM>, <EM>x</EM>),
147        with the upper left corner as (0, 0).  A window called <STRONG>stdscr</STRONG>, the same
148        size  as  the terminal screen, is always available.  Create others with
149        <STRONG><A HREF="curs_window.3x.html">newwin(3x)</A></STRONG>.
150
151        A <EM>curses</EM> library does not manage overlapping windows (but  see  below).
152        You  can either use <STRONG>stdscr</STRONG> to manage one screen-filling window, or tile
153        the screen into non-overlapping windows and  not  use  <STRONG>stdscr</STRONG>  at  all.
154        Mixing  the  two  approaches will result in unpredictable and undesired
155        effects.
156
157        Functions permit manipulation of a window and  the  <EM>cursor</EM>  identifying
158        the  cell  within  it  at  which  the next output operation will occur.
159        Among those, the most basic are <STRONG><A HREF="curs_move.3x.html">move(3x)</A></STRONG> and <STRONG><A HREF="curs_addch.3x.html">addch(3x)</A></STRONG>: these place the
160        cursor and write a character to <STRONG>stdscr</STRONG>, respectively.
161
162        Frequent changes to the terminal screen can cause unpleasant flicker or
163        inefficient use of the communication channel to the  device,  so  as  a
164        rule  the  library  does not update it automatically.  Therefore, after
165        using <EM>curses</EM> functions to accumulate a set of desired updates that make
166        sense to present together, call <STRONG><A HREF="curs_refresh.3x.html">refresh(3x)</A></STRONG> to tell the library to make
167        the user's screen look like <STRONG>stdscr</STRONG>.  The library <EM>optimizes</EM>  its  output
168        by  computing  a minimal volume of operations to mutate the screen from
169        its  state  at  the  previous  refresh  to  the  new  one.    Effective
170        optimization  demands  accurate  information about the terminal device:
171        the management of such information is the province of the  <STRONG><A HREF="curs_terminfo.3x.html">terminfo(3x)</A></STRONG>
172        API, a feature of every standard <EM>curses</EM> implementation.
173
174        Special  windows  called  <EM>pads</EM>  may also be manipulated.  These are not
175        constrained to the size of the terminal screen and their contents  need
176        not be completely displayed.  See <STRONG><A HREF="curs_pad.3x.html">curs_pad(3x)</A></STRONG>.
177
178        Many  terminals  support configuration of character cell foreground and
179        background  colors  as  well  as  rendering  <EM>attributes</EM>,  which   cause
180        characters  to  show  up  in such modes as boldfaced, underlined, or in
181        reverse video.  See <STRONG><A HREF="curs_attr.3x.html">curs_attr(3x)</A></STRONG>.
182
183        <EM>curses</EM> predefines constants for a small set of  forms-drawing  graphics
184        corresponding  to  the  DEC Alternate Character Set (ACS), a feature of
185        VT100 and other terminals.  See <STRONG><A HREF="curs_addch.3x.html">addch(3x)</A></STRONG>.
186
187        <EM>curses</EM> is implemented using the operating system's terminal driver; key
188        events are received not as scan codes but as byte sequences.  Graphical
189        keycaps (alphanumeric and punctuation keys, and the space)  appear  as-
190        is.   Everything  else, including the tab, enter/return, keypad, arrow,
191        and function keys, appears as a control character or a multibyte <EM>escape</EM>
192        <EM>sequence.</EM>   <EM>curses</EM>  translates  the  latter into unique <EM>key</EM> <EM>codes.</EM>  See
193        <STRONG><A HREF="curs_getch.3x.html">getch(3x)</A></STRONG>.
194
195        <EM>ncurses</EM> provides reimplementations of the SVr4 <STRONG><A HREF="panel.3x.html">panel(3x)</A></STRONG>, <STRONG><A HREF="form.3x.html">form(3x)</A></STRONG>, and
196        <STRONG><A HREF="menu.3x.html">menu(3x)</A></STRONG>   libraries;   they   permit   overlapping  windows  and  ease
197        construction of user interfaces with <EM>curses</EM>.
198
199
200 </PRE><H3><a name="h3-Initialization">Initialization</a></H3><PRE>
201        The  selection  of  an  appropriate  value  of  <EM>TERM</EM>  in  the   process
202        environment  is  essential  to  correct  <EM>curses</EM>  and  <EM>terminfo</EM>  library
203        operation.  A well-configured  system  selects  a  correct  <EM>TERM</EM>  value
204        automatically;   <STRONG><A HREF="tset.1.html">tset(1)</A></STRONG>   may   assist   with  troubleshooting  exotic
205        situations.
206
207        If you change the terminal type, export the shell's <EM>TERM</EM> variable, then
208        run  <STRONG><A HREF="tset.1.html">tset(1)</A></STRONG>  or  the  "<STRONG>tput</STRONG>  <STRONG>init</STRONG>"  command.  See subsection "Tabs and
209        Initialization" of <STRONG><A HREF="terminfo.5.html">terminfo(5)</A></STRONG>.
210
211        If the environment variables <EM>LINES</EM> and  <EM>COLUMNS</EM>  are  set,  or  if  the
212        <EM>curses</EM>  program  is executing in a graphical windowing environment, the
213        information obtained thence overrides that obtained  by  <EM>terminfo</EM>.   An
214        <EM>ncurses</EM> extension supports resizable terminals; see <STRONG><A HREF="wresize.3x.html">wresize(3x)</A></STRONG>.
215
216        If  the  environment  variable  <EM>TERMINFO</EM>  is  defined, a <EM>curses</EM> program
217        checks first for  a  terminal  type  description  in  the  location  it
218        identifies.   <EM>TERMINFO</EM>  is  useful  for developing type descriptions or
219        when write permission to <EM>/usr/share/terminfo</EM> is not available.
220
221        See section "ENVIRONMENT" below.
222
223
224 </PRE><H3><a name="h3-Naming-Conventions">Naming Conventions</a></H3><PRE>
225        <EM>curses</EM> offers many functions in variant forms using a  regular  set  of
226        alternatives  to the name of an elemental one.  Those prefixed with "w"
227        require a <EM>WINDOW</EM> pointer argument;  those  with  a  "mv"  prefix  first
228        perform cursor movement using <STRONG><A HREF="curs_move.3x.html">wmove(3x)</A></STRONG>; a "mvw" prefix indicates both.
229        The "w" function is typically the elemental one; the  removal  of  this
230        prefix usually indicates operation on <STRONG>stdscr</STRONG>.
231
232        Four functions prefixed with "p" require a pad argument.
233
234        In  function  synopses,  <EM>ncurses</EM> man pages apply the following names to
235        parameters.
236
237                        <EM>bf</EM>    a <EM>bool</EM> (<STRONG>TRUE</STRONG> or <STRONG>FALSE</STRONG>)
238                        <EM>c</EM>     a <EM>char</EM> or <EM>int</EM>
239                        <EM>ch</EM>    a <EM>chtype</EM>
240                        <EM>wc</EM>    a <EM>wchar</EM><STRONG>_</STRONG><EM>t</EM> or <EM>wint</EM><STRONG>_</STRONG><EM>t</EM>
241                        <EM>wch</EM>   a <EM>cchar</EM><STRONG>_</STRONG><EM>t</EM>
242                        <EM>win</EM>   pointer to a <EM>WINDOW</EM>
243                        <EM>pad</EM>   pointer to a <EM>WINDOW</EM> that is a pad
244
245
246 </PRE><H3><a name="h3-Wide-and-Non-wide-Character-Configurations">Wide and Non-wide Character Configurations</a></H3><PRE>
247        This  man  page  primarily  surveys  functions  that  appear   in   any
248        configuration of the library.  There are two common configurations; see
249        section "ALTERNATE CONFIGURATIONS" below.
250
251        <EM>ncurses</EM>   is the library in its "non-wide" configuration, handling only
252                  eight-bit  characters.   It  stores a character combined with
253                  attributes and a color pair in a <EM>chtype</EM> datum, which is often
254                  an alias of <EM>int</EM>.  A string of <EM>curses</EM> characters is similar to
255                  a C <EM>char</EM> string; a <EM>chtype</EM> string ends with an integral <STRONG>0</STRONG>, the
256                  null <EM>curses</EM> character.
257
258                  Attributes  and a color pair selection (with no corresponding
259                  character) can be stored in variables  of  <EM>chtype</EM>  or  <EM>attr</EM><STRONG>_</STRONG><EM>t</EM>
260                  type.   In either case, they are accessed via an integral bit
261                  mask.
262
263                  Each cell of a <EM>WINDOW</EM> is stored as a <EM>chtype</EM>.
264
265        <EM>ncursesw</EM>  is the library in its  "wide"  configuration,  which  handles
266                  character encodings requiring a larger data type than <EM>char</EM> (a
267                  byte-sized type) can represent.  It adds about one third more
268                  calls  using  additional  data  types  that  can  store  such
269                  <EM>multibyte</EM> characters.
270
271                  <EM>cchar</EM><STRONG>_</STRONG><EM>t</EM>  corresponds to the non-wide configuration's  <EM>chtype</EM>.
272                           It  always  a structure type, because it stores more
273                           data than  fit  into  a  standard  scalar  type.   A
274                           character  code  may not be representable as a <EM>char</EM>,
275                           and moreover more than one character  may  occupy  a
276                           cell  (as  with  accent marks and other diacritics).
277                           Each  character  is  of  type  <EM>wchar</EM><STRONG>_</STRONG><EM>t</EM>;  a   complex
278                           character contains one spacing character and zero or
279                           more non-spacing characters (see below).   A  string
280                           of  complex  characters  ends  with  a <EM>cchar</EM><STRONG>_</STRONG><EM>t</EM> whose
281                           <EM>wchar</EM><STRONG>_</STRONG><EM>t</EM>  member  is   the   null   wide   character.
282                           Attributes  and a color pair selection are stored in
283                           separate fields of the structure, not combined  into
284                           an integer as in <EM>chtype</EM>.
285
286                  Each cell of a <EM>WINDOW</EM> is stored as a <EM>cchar</EM><STRONG>_</STRONG><EM>t</EM>.
287
288                  <STRONG><A HREF="curs_getcchar.3x.html">setcchar(3x)</A></STRONG>  and  <STRONG><A HREF="curs_getcchar.3x.html">getcchar(3x)</A></STRONG>  store  and  retrieve <EM>cchar</EM><STRONG>_</STRONG><EM>t</EM>
289                  data.  The wide library API of <EM>ncurses</EM> depends  on  two  data
290                  types standardized by ISO C95.
291
292                  <EM>wchar</EM><STRONG>_</STRONG><EM>t</EM>  stores  a wide character.  Like <EM>chtype</EM>, it may be an
293                           alias of <EM>int</EM>.  Depending on the character  encoding,
294                           a  wide  character  may  be <EM>spacing</EM>, meaning that it
295                           occupies a character cell by  itself  and  typically
296                           accompanies   cursor  advancement,  or  <EM>non-spacing</EM>,
297                           meaning that it occupies the same cell as a  spacing
298                           character,  is often regarded as a "modifier" of the
299                           base glyph with which  it  combines,  and  typically
300                           does not advance the cursor.
301
302                  <EM>wint</EM><STRONG>_</STRONG><EM>t</EM>   can   store   a   <EM>wchar</EM><STRONG>_</STRONG><EM>t</EM>   or  the  constant  <STRONG>WEOF</STRONG>,
303                           analogously to the <EM>int</EM>-sized character  manipulation
304                           functions of ISO C and its constant <STRONG>EOF</STRONG>.
305
306                  The   wide   library   provides   additional  functions  that
307                  complement those in the non-wide library where  the  size  of
308                  the  underlying  character  type  is significant.  A somewhat
309                  regular naming convention relates many of the  wide  variants
310                  to  their  non-wide  counterparts;  where a non-wide function
311                  name contains "ch" or "str", prefix it with  "_w"  to  obtain
312                  the  wide counterpart.  For example, <STRONG>waddch</STRONG> becomes <STRONG>wadd_wch</STRONG>.
313                  (Exceptions that add only "w" comprise <STRONG>addwstr</STRONG>,  <STRONG>inwstr</STRONG>,  and
314                  their variants.)
315
316                  This  convention  is  inapplicable  to some non-wide function
317                  names,  so  other  transformations  are  used  for  the  wide
318                  configuration:  the  window  background  management  function
319                  "bkgd"  becomes  "bkgrnd";  the  window  border-drawing   and
320                  -clearing  functions  are suffixed with "_set"; and character
321                  attribute  manipulation  functions   like   "attron"   become
322                  "attr_on".
323
324
325 </PRE><H3><a name="h3-Function-Name-Index">Function Name Index</a></H3><PRE>
326        The following table lists the <EM>curses</EM> functions provided in the non-wide
327        and wide APIs and the  corresponding  man  pages  that  describe  them.
328        Those  flagged  with  "*"  are  <EM>ncurses</EM>-specific,  neither described by
329        X/Open Curses nor present in SVr4.
330
331                     <STRONG><EM>curses</EM></STRONG> Function Name     Man Page
332                     ---------------------------------------------
333                     COLOR_PAIR               <STRONG><A HREF="curs_color.3x.html">curs_color(3x)</A></STRONG>
334                     PAIR_NUMBER              <STRONG><A HREF="curs_color.3x.html">curs_color(3x)</A></STRONG>
335                     add_wch                  <STRONG><A HREF="curs_add_wch.3x.html">curs_add_wch(3x)</A></STRONG>
336                     add_wchnstr              <STRONG><A HREF="curs_add_wchstr.3x.html">curs_add_wchstr(3x)</A></STRONG>
337                     add_wchstr               <STRONG><A HREF="curs_add_wchstr.3x.html">curs_add_wchstr(3x)</A></STRONG>
338                     addch                    <STRONG><A HREF="curs_addch.3x.html">curs_addch(3x)</A></STRONG>
339                     addchnstr                <STRONG><A HREF="curs_addchstr.3x.html">curs_addchstr(3x)</A></STRONG>
340                     addchstr                 <STRONG><A HREF="curs_addchstr.3x.html">curs_addchstr(3x)</A></STRONG>
341                     addnstr                  <STRONG><A HREF="curs_addstr.3x.html">curs_addstr(3x)</A></STRONG>
342                     addnwstr                 <STRONG><A HREF="curs_addwstr.3x.html">curs_addwstr(3x)</A></STRONG>
343                     addstr                   <STRONG><A HREF="curs_addstr.3x.html">curs_addstr(3x)</A></STRONG>
344                     addwstr                  <STRONG><A HREF="curs_addwstr.3x.html">curs_addwstr(3x)</A></STRONG>
345                     alloc_pair               <STRONG><A HREF="new_pair.3x.html">new_pair(3x)</A></STRONG>*
346                     assume_default_colors    <STRONG><A HREF="default_colors.3x.html">default_colors(3x)</A></STRONG>*
347                     attr_get                 <STRONG><A HREF="curs_attr.3x.html">curs_attr(3x)</A></STRONG>
348                     attr_off                 <STRONG><A HREF="curs_attr.3x.html">curs_attr(3x)</A></STRONG>
349                     attr_on                  <STRONG><A HREF="curs_attr.3x.html">curs_attr(3x)</A></STRONG>
350                     attr_set                 <STRONG><A HREF="curs_attr.3x.html">curs_attr(3x)</A></STRONG>
351                     attroff                  <STRONG><A HREF="curs_attr.3x.html">curs_attr(3x)</A></STRONG>
352                     attron                   <STRONG><A HREF="curs_attr.3x.html">curs_attr(3x)</A></STRONG>
353                     attrset                  <STRONG><A HREF="curs_attr.3x.html">curs_attr(3x)</A></STRONG>
354                     baudrate                 <STRONG><A HREF="curs_termattrs.3x.html">curs_termattrs(3x)</A></STRONG>
355                     beep                     <STRONG><A HREF="curs_beep.3x.html">curs_beep(3x)</A></STRONG>
356                     bkgd                     <STRONG><A HREF="curs_bkgd.3x.html">curs_bkgd(3x)</A></STRONG>
357                     bkgdset                  <STRONG><A HREF="curs_bkgd.3x.html">curs_bkgd(3x)</A></STRONG>
358                     bkgrnd                   <STRONG><A HREF="curs_bkgrnd.3x.html">curs_bkgrnd(3x)</A></STRONG>
359                     bkgrndset                <STRONG><A HREF="curs_bkgrnd.3x.html">curs_bkgrnd(3x)</A></STRONG>
360                     border                   <STRONG><A HREF="curs_border.3x.html">curs_border(3x)</A></STRONG>
361                     border_set               <STRONG><A HREF="curs_border_set.3x.html">curs_border_set(3x)</A></STRONG>
362                     box                      <STRONG><A HREF="curs_border.3x.html">curs_border(3x)</A></STRONG>
363                     box_set                  <STRONG><A HREF="curs_border_set.3x.html">curs_border_set(3x)</A></STRONG>
364                     can_change_color         <STRONG><A HREF="curs_color.3x.html">curs_color(3x)</A></STRONG>
365                     cbreak                   <STRONG><A HREF="curs_inopts.3x.html">curs_inopts(3x)</A></STRONG>
366                     chgat                    <STRONG><A HREF="curs_attr.3x.html">curs_attr(3x)</A></STRONG>
367                     clear                    <STRONG><A HREF="curs_clear.3x.html">curs_clear(3x)</A></STRONG>
368                     clearok                  <STRONG><A HREF="curs_outopts.3x.html">curs_outopts(3x)</A></STRONG>
369                     clrtobot                 <STRONG><A HREF="curs_clear.3x.html">curs_clear(3x)</A></STRONG>
370                     clrtoeol                 <STRONG><A HREF="curs_clear.3x.html">curs_clear(3x)</A></STRONG>
371                     color_content            <STRONG><A HREF="curs_color.3x.html">curs_color(3x)</A></STRONG>
372                     color_set                <STRONG><A HREF="curs_attr.3x.html">curs_attr(3x)</A></STRONG>
373                     copywin                  <STRONG><A HREF="curs_overlay.3x.html">curs_overlay(3x)</A></STRONG>
374                     curs_set                 <STRONG><A HREF="curs_kernel.3x.html">curs_kernel(3x)</A></STRONG>
375                     curses_trace             <STRONG><A HREF="curs_trace.3x.html">curs_trace(3x)</A></STRONG>*
376                     curses_version           <STRONG><A HREF="curs_extend.3x.html">curs_extend(3x)</A></STRONG>*
377                     def_prog_mode            <STRONG><A HREF="curs_kernel.3x.html">curs_kernel(3x)</A></STRONG>
378                     def_shell_mode           <STRONG><A HREF="curs_kernel.3x.html">curs_kernel(3x)</A></STRONG>
379                     define_key               <STRONG><A HREF="define_key.3x.html">define_key(3x)</A></STRONG>*
380                     del_curterm              <STRONG><A HREF="curs_terminfo.3x.html">curs_terminfo(3x)</A></STRONG>
381                     delay_output             <STRONG><A HREF="curs_util.3x.html">curs_util(3x)</A></STRONG>
382                     delch                    <STRONG><A HREF="curs_delch.3x.html">curs_delch(3x)</A></STRONG>
383                     deleteln                 <STRONG><A HREF="curs_deleteln.3x.html">curs_deleteln(3x)</A></STRONG>
384                     delscreen                <STRONG><A HREF="curs_initscr.3x.html">curs_initscr(3x)</A></STRONG>
385
386                     delwin                   <STRONG><A HREF="curs_window.3x.html">curs_window(3x)</A></STRONG>
387                     derwin                   <STRONG><A HREF="curs_window.3x.html">curs_window(3x)</A></STRONG>
388                     doupdate                 <STRONG><A HREF="curs_refresh.3x.html">curs_refresh(3x)</A></STRONG>
389                     dupwin                   <STRONG><A HREF="curs_window.3x.html">curs_window(3x)</A></STRONG>
390                     echo                     <STRONG><A HREF="curs_inopts.3x.html">curs_inopts(3x)</A></STRONG>
391                     echo_wchar               <STRONG><A HREF="curs_add_wch.3x.html">curs_add_wch(3x)</A></STRONG>
392                     echochar                 <STRONG><A HREF="curs_addch.3x.html">curs_addch(3x)</A></STRONG>
393                     endwin                   <STRONG><A HREF="curs_initscr.3x.html">curs_initscr(3x)</A></STRONG>
394                     erase                    <STRONG><A HREF="curs_clear.3x.html">curs_clear(3x)</A></STRONG>
395                     erasechar                <STRONG><A HREF="curs_termattrs.3x.html">curs_termattrs(3x)</A></STRONG>
396                     erasewchar               <STRONG><A HREF="curs_termattrs.3x.html">curs_termattrs(3x)</A></STRONG>
397                     exit_curses              <STRONG><A HREF="curs_memleaks.3x.html">curs_memleaks(3x)</A></STRONG>*
398                     exit_terminfo            <STRONG><A HREF="curs_memleaks.3x.html">curs_memleaks(3x)</A></STRONG>*
399                     extended_color_content   <STRONG><A HREF="curs_color.3x.html">curs_color(3x)</A></STRONG>*
400                     extended_pair_content    <STRONG><A HREF="curs_color.3x.html">curs_color(3x)</A></STRONG>*
401                     extended_slk_color       <STRONG><A HREF="curs_slk.3x.html">curs_slk(3x)</A></STRONG>*
402                     filter                   <STRONG><A HREF="curs_util.3x.html">curs_util(3x)</A></STRONG>
403                     find_pair                <STRONG><A HREF="new_pair.3x.html">new_pair(3x)</A></STRONG>*
404                     flash                    <STRONG><A HREF="curs_beep.3x.html">curs_beep(3x)</A></STRONG>
405                     flushinp                 <STRONG><A HREF="curs_util.3x.html">curs_util(3x)</A></STRONG>
406                     free_pair                <STRONG><A HREF="new_pair.3x.html">new_pair(3x)</A></STRONG>*
407                     get_escdelay             <STRONG><A HREF="curs_threads.3x.html">curs_threads(3x)</A></STRONG>*
408                     get_wch                  <STRONG><A HREF="curs_get_wch.3x.html">curs_get_wch(3x)</A></STRONG>
409                     get_wstr                 <STRONG><A HREF="curs_get_wstr.3x.html">curs_get_wstr(3x)</A></STRONG>
410                     getattrs                 <STRONG><A HREF="curs_attr.3x.html">curs_attr(3x)</A></STRONG>
411                     getbegx                  <STRONG><A HREF="curs_legacy.3x.html">curs_legacy(3x)</A></STRONG>*
412                     getbegy                  <STRONG><A HREF="curs_legacy.3x.html">curs_legacy(3x)</A></STRONG>*
413                     getbegyx                 <STRONG><A HREF="curs_getyx.3x.html">curs_getyx(3x)</A></STRONG>
414                     getbkgd                  <STRONG><A HREF="curs_bkgd.3x.html">curs_bkgd(3x)</A></STRONG>
415                     getbkgrnd                <STRONG><A HREF="curs_bkgrnd.3x.html">curs_bkgrnd(3x)</A></STRONG>
416                     getcchar                 <STRONG><A HREF="curs_getcchar.3x.html">curs_getcchar(3x)</A></STRONG>
417                     getch                    <STRONG><A HREF="curs_getch.3x.html">curs_getch(3x)</A></STRONG>
418                     getcurx                  <STRONG><A HREF="curs_legacy.3x.html">curs_legacy(3x)</A></STRONG>*
419                     getcury                  <STRONG><A HREF="curs_legacy.3x.html">curs_legacy(3x)</A></STRONG>*
420                     getmaxx                  <STRONG><A HREF="curs_legacy.3x.html">curs_legacy(3x)</A></STRONG>*
421                     getmaxy                  <STRONG><A HREF="curs_legacy.3x.html">curs_legacy(3x)</A></STRONG>*
422                     getmaxyx                 <STRONG><A HREF="curs_getyx.3x.html">curs_getyx(3x)</A></STRONG>
423                     getmouse                 <STRONG><A HREF="curs_mouse.3x.html">curs_mouse(3x)</A></STRONG>*
424                     getn_wstr                <STRONG><A HREF="curs_get_wstr.3x.html">curs_get_wstr(3x)</A></STRONG>
425                     getnstr                  <STRONG><A HREF="curs_getstr.3x.html">curs_getstr(3x)</A></STRONG>
426                     getparx                  <STRONG><A HREF="curs_legacy.3x.html">curs_legacy(3x)</A></STRONG>*
427                     getpary                  <STRONG><A HREF="curs_legacy.3x.html">curs_legacy(3x)</A></STRONG>*
428                     getparyx                 <STRONG><A HREF="curs_getyx.3x.html">curs_getyx(3x)</A></STRONG>
429                     getstr                   <STRONG><A HREF="curs_getstr.3x.html">curs_getstr(3x)</A></STRONG>
430                     getsyx                   <STRONG><A HREF="curs_kernel.3x.html">curs_kernel(3x)</A></STRONG>
431                     getwin                   <STRONG><A HREF="curs_util.3x.html">curs_util(3x)</A></STRONG>
432                     getyx                    <STRONG><A HREF="curs_getyx.3x.html">curs_getyx(3x)</A></STRONG>
433                     halfdelay                <STRONG><A HREF="curs_inopts.3x.html">curs_inopts(3x)</A></STRONG>
434                     has_colors               <STRONG><A HREF="curs_color.3x.html">curs_color(3x)</A></STRONG>
435                     has_ic                   <STRONG><A HREF="curs_termattrs.3x.html">curs_termattrs(3x)</A></STRONG>
436                     has_il                   <STRONG><A HREF="curs_termattrs.3x.html">curs_termattrs(3x)</A></STRONG>
437                     has_key                  <STRONG><A HREF="curs_getch.3x.html">curs_getch(3x)</A></STRONG>*
438                     has_mouse                <STRONG><A HREF="curs_mouse.3x.html">curs_mouse(3x)</A></STRONG>*
439                     hline                    <STRONG><A HREF="curs_border.3x.html">curs_border(3x)</A></STRONG>
440                     hline_set                <STRONG><A HREF="curs_border_set.3x.html">curs_border_set(3x)</A></STRONG>
441                     idcok                    <STRONG><A HREF="curs_outopts.3x.html">curs_outopts(3x)</A></STRONG>
442                     idlok                    <STRONG><A HREF="curs_outopts.3x.html">curs_outopts(3x)</A></STRONG>
443                     immedok                  <STRONG><A HREF="curs_outopts.3x.html">curs_outopts(3x)</A></STRONG>
444                     in_wch                   <STRONG><A HREF="curs_in_wch.3x.html">curs_in_wch(3x)</A></STRONG>
445                     in_wchnstr               <STRONG><A HREF="curs_in_wchstr.3x.html">curs_in_wchstr(3x)</A></STRONG>
446                     in_wchstr                <STRONG><A HREF="curs_in_wchstr.3x.html">curs_in_wchstr(3x)</A></STRONG>
447                     inch                     <STRONG><A HREF="curs_inch.3x.html">curs_inch(3x)</A></STRONG>
448                     inchnstr                 <STRONG><A HREF="curs_inchstr.3x.html">curs_inchstr(3x)</A></STRONG>
449                     inchstr                  <STRONG><A HREF="curs_inchstr.3x.html">curs_inchstr(3x)</A></STRONG>
450                     init_color               <STRONG><A HREF="curs_color.3x.html">curs_color(3x)</A></STRONG>
451                     init_extended_color      <STRONG><A HREF="curs_color.3x.html">curs_color(3x)</A></STRONG>*
452
453                     init_extended_pair       <STRONG><A HREF="curs_color.3x.html">curs_color(3x)</A></STRONG>*
454                     init_pair                <STRONG><A HREF="curs_color.3x.html">curs_color(3x)</A></STRONG>
455                     initscr                  <STRONG><A HREF="curs_initscr.3x.html">curs_initscr(3x)</A></STRONG>
456                     innstr                   <STRONG><A HREF="curs_instr.3x.html">curs_instr(3x)</A></STRONG>
457                     innwstr                  <STRONG><A HREF="curs_inwstr.3x.html">curs_inwstr(3x)</A></STRONG>
458                     ins_nwstr                <STRONG><A HREF="curs_ins_wstr.3x.html">curs_ins_wstr(3x)</A></STRONG>
459                     ins_wch                  <STRONG><A HREF="curs_ins_wch.3x.html">curs_ins_wch(3x)</A></STRONG>
460                     ins_wstr                 <STRONG><A HREF="curs_ins_wstr.3x.html">curs_ins_wstr(3x)</A></STRONG>
461                     insch                    <STRONG><A HREF="curs_insch.3x.html">curs_insch(3x)</A></STRONG>
462                     insdelln                 <STRONG><A HREF="curs_deleteln.3x.html">curs_deleteln(3x)</A></STRONG>
463                     insertln                 <STRONG><A HREF="curs_deleteln.3x.html">curs_deleteln(3x)</A></STRONG>
464                     insnstr                  <STRONG><A HREF="curs_insstr.3x.html">curs_insstr(3x)</A></STRONG>
465                     insstr                   <STRONG><A HREF="curs_insstr.3x.html">curs_insstr(3x)</A></STRONG>
466                     instr                    <STRONG><A HREF="curs_instr.3x.html">curs_instr(3x)</A></STRONG>
467                     intrflush                <STRONG><A HREF="curs_inopts.3x.html">curs_inopts(3x)</A></STRONG>
468                     inwstr                   <STRONG><A HREF="curs_inwstr.3x.html">curs_inwstr(3x)</A></STRONG>
469                     is_cbreak                <STRONG><A HREF="curs_inopts.3x.html">curs_inopts(3x)</A></STRONG>*
470                     is_cleared               <STRONG><A HREF="curs_opaque.3x.html">curs_opaque(3x)</A></STRONG>*
471                     is_echo                  <STRONG><A HREF="curs_inopts.3x.html">curs_inopts(3x)</A></STRONG>*
472                     is_idcok                 <STRONG><A HREF="curs_opaque.3x.html">curs_opaque(3x)</A></STRONG>*
473                     is_idlok                 <STRONG><A HREF="curs_opaque.3x.html">curs_opaque(3x)</A></STRONG>*
474                     is_immedok               <STRONG><A HREF="curs_opaque.3x.html">curs_opaque(3x)</A></STRONG>*
475                     is_keypad                <STRONG><A HREF="curs_opaque.3x.html">curs_opaque(3x)</A></STRONG>*
476                     is_leaveok               <STRONG><A HREF="curs_opaque.3x.html">curs_opaque(3x)</A></STRONG>*
477                     is_linetouched           <STRONG><A HREF="curs_touch.3x.html">curs_touch(3x)</A></STRONG>
478                     is_nl                    <STRONG><A HREF="curs_inopts.3x.html">curs_inopts(3x)</A></STRONG>*
479                     is_nodelay               <STRONG><A HREF="curs_opaque.3x.html">curs_opaque(3x)</A></STRONG>*
480                     is_notimeout             <STRONG><A HREF="curs_opaque.3x.html">curs_opaque(3x)</A></STRONG>*
481                     is_pad                   <STRONG><A HREF="curs_opaque.3x.html">curs_opaque(3x)</A></STRONG>*
482                     is_raw                   <STRONG><A HREF="curs_inopts.3x.html">curs_inopts(3x)</A></STRONG>*
483                     is_scrollok              <STRONG><A HREF="curs_opaque.3x.html">curs_opaque(3x)</A></STRONG>*
484                     is_subwin                <STRONG><A HREF="curs_opaque.3x.html">curs_opaque(3x)</A></STRONG>*
485                     is_syncok                <STRONG><A HREF="curs_opaque.3x.html">curs_opaque(3x)</A></STRONG>*
486                     is_term_resized          <STRONG><A HREF="resizeterm.3x.html">resizeterm(3x)</A></STRONG>*
487                     is_wintouched            <STRONG><A HREF="curs_touch.3x.html">curs_touch(3x)</A></STRONG>
488                     isendwin                 <STRONG><A HREF="curs_initscr.3x.html">curs_initscr(3x)</A></STRONG>
489                     key_defined              <STRONG><A HREF="key_defined.3x.html">key_defined(3x)</A></STRONG>*
490                     key_name                 <STRONG><A HREF="curs_util.3x.html">curs_util(3x)</A></STRONG>
491                     keybound                 <STRONG><A HREF="keybound.3x.html">keybound(3x)</A></STRONG>*
492                     keyname                  <STRONG><A HREF="curs_util.3x.html">curs_util(3x)</A></STRONG>
493                     keyok                    <STRONG><A HREF="keyok.3x.html">keyok(3x)</A></STRONG>*
494                     keypad                   <STRONG><A HREF="curs_inopts.3x.html">curs_inopts(3x)</A></STRONG>
495                     killchar                 <STRONG><A HREF="curs_termattrs.3x.html">curs_termattrs(3x)</A></STRONG>
496                     killwchar                <STRONG><A HREF="curs_termattrs.3x.html">curs_termattrs(3x)</A></STRONG>
497                     leaveok                  <STRONG><A HREF="curs_outopts.3x.html">curs_outopts(3x)</A></STRONG>
498                     longname                 <STRONG><A HREF="curs_termattrs.3x.html">curs_termattrs(3x)</A></STRONG>
499                     mcprint                  <STRONG><A HREF="curs_print.3x.html">curs_print(3x)</A></STRONG>*
500                     meta                     <STRONG><A HREF="curs_inopts.3x.html">curs_inopts(3x)</A></STRONG>
501                     mouse_trafo              <STRONG><A HREF="curs_mouse.3x.html">curs_mouse(3x)</A></STRONG>*
502                     mouseinterval            <STRONG><A HREF="curs_mouse.3x.html">curs_mouse(3x)</A></STRONG>*
503                     mousemask                <STRONG><A HREF="curs_mouse.3x.html">curs_mouse(3x)</A></STRONG>*
504                     move                     <STRONG><A HREF="curs_move.3x.html">curs_move(3x)</A></STRONG>
505                     mvadd_wch                <STRONG><A HREF="curs_add_wch.3x.html">curs_add_wch(3x)</A></STRONG>
506                     mvadd_wchnstr            <STRONG><A HREF="curs_add_wchstr.3x.html">curs_add_wchstr(3x)</A></STRONG>
507                     mvadd_wchstr             <STRONG><A HREF="curs_add_wchstr.3x.html">curs_add_wchstr(3x)</A></STRONG>
508                     mvaddch                  <STRONG><A HREF="curs_addch.3x.html">curs_addch(3x)</A></STRONG>
509                     mvaddchnstr              <STRONG><A HREF="curs_addchstr.3x.html">curs_addchstr(3x)</A></STRONG>
510                     mvaddchstr               <STRONG><A HREF="curs_addchstr.3x.html">curs_addchstr(3x)</A></STRONG>
511                     mvaddnstr                <STRONG><A HREF="curs_addstr.3x.html">curs_addstr(3x)</A></STRONG>
512                     mvaddnwstr               <STRONG><A HREF="curs_addwstr.3x.html">curs_addwstr(3x)</A></STRONG>
513                     mvaddstr                 <STRONG><A HREF="curs_addstr.3x.html">curs_addstr(3x)</A></STRONG>
514                     mvaddwstr                <STRONG><A HREF="curs_addwstr.3x.html">curs_addwstr(3x)</A></STRONG>
515                     mvchgat                  <STRONG><A HREF="curs_attr.3x.html">curs_attr(3x)</A></STRONG>
516                     mvcur                    <STRONG><A HREF="curs_terminfo.3x.html">curs_terminfo(3x)</A></STRONG>
517                     mvdelch                  <STRONG><A HREF="curs_delch.3x.html">curs_delch(3x)</A></STRONG>
518                     mvderwin                 <STRONG><A HREF="curs_window.3x.html">curs_window(3x)</A></STRONG>
519
520                     mvget_wch                <STRONG><A HREF="curs_get_wch.3x.html">curs_get_wch(3x)</A></STRONG>
521                     mvget_wstr               <STRONG><A HREF="curs_get_wstr.3x.html">curs_get_wstr(3x)</A></STRONG>
522                     mvgetch                  <STRONG><A HREF="curs_getch.3x.html">curs_getch(3x)</A></STRONG>
523                     mvgetn_wstr              <STRONG><A HREF="curs_get_wstr.3x.html">curs_get_wstr(3x)</A></STRONG>
524                     mvgetnstr                <STRONG><A HREF="curs_getstr.3x.html">curs_getstr(3x)</A></STRONG>
525                     mvgetstr                 <STRONG><A HREF="curs_getstr.3x.html">curs_getstr(3x)</A></STRONG>
526                     mvhline                  <STRONG><A HREF="curs_border.3x.html">curs_border(3x)</A></STRONG>
527                     mvhline_set              <STRONG><A HREF="curs_border_set.3x.html">curs_border_set(3x)</A></STRONG>
528                     mvin_wch                 <STRONG><A HREF="curs_in_wch.3x.html">curs_in_wch(3x)</A></STRONG>
529                     mvin_wchnstr             <STRONG><A HREF="curs_in_wchstr.3x.html">curs_in_wchstr(3x)</A></STRONG>
530                     mvin_wchstr              <STRONG><A HREF="curs_in_wchstr.3x.html">curs_in_wchstr(3x)</A></STRONG>
531                     mvinch                   <STRONG><A HREF="curs_inch.3x.html">curs_inch(3x)</A></STRONG>
532                     mvinchnstr               <STRONG><A HREF="curs_inchstr.3x.html">curs_inchstr(3x)</A></STRONG>
533                     mvinchstr                <STRONG><A HREF="curs_inchstr.3x.html">curs_inchstr(3x)</A></STRONG>
534                     mvinnstr                 <STRONG><A HREF="curs_instr.3x.html">curs_instr(3x)</A></STRONG>
535                     mvinnwstr                <STRONG><A HREF="curs_inwstr.3x.html">curs_inwstr(3x)</A></STRONG>
536                     mvins_nwstr              <STRONG><A HREF="curs_ins_wstr.3x.html">curs_ins_wstr(3x)</A></STRONG>
537                     mvins_wch                <STRONG><A HREF="curs_ins_wch.3x.html">curs_ins_wch(3x)</A></STRONG>
538                     mvins_wstr               <STRONG><A HREF="curs_ins_wstr.3x.html">curs_ins_wstr(3x)</A></STRONG>
539                     mvinsch                  <STRONG><A HREF="curs_insch.3x.html">curs_insch(3x)</A></STRONG>
540                     mvinsnstr                <STRONG><A HREF="curs_insstr.3x.html">curs_insstr(3x)</A></STRONG>
541                     mvinsstr                 <STRONG><A HREF="curs_insstr.3x.html">curs_insstr(3x)</A></STRONG>
542                     mvinstr                  <STRONG><A HREF="curs_instr.3x.html">curs_instr(3x)</A></STRONG>
543                     mvinwstr                 <STRONG><A HREF="curs_inwstr.3x.html">curs_inwstr(3x)</A></STRONG>
544                     mvprintw                 <STRONG><A HREF="curs_printw.3x.html">curs_printw(3x)</A></STRONG>
545                     mvscanw                  <STRONG><A HREF="curs_scanw.3x.html">curs_scanw(3x)</A></STRONG>
546                     mvvline                  <STRONG><A HREF="curs_border.3x.html">curs_border(3x)</A></STRONG>
547                     mvvline_set              <STRONG><A HREF="curs_border_set.3x.html">curs_border_set(3x)</A></STRONG>
548                     mvwadd_wch               <STRONG><A HREF="curs_add_wch.3x.html">curs_add_wch(3x)</A></STRONG>
549                     mvwadd_wchnstr           <STRONG><A HREF="curs_add_wchstr.3x.html">curs_add_wchstr(3x)</A></STRONG>
550                     mvwadd_wchstr            <STRONG><A HREF="curs_add_wchstr.3x.html">curs_add_wchstr(3x)</A></STRONG>
551                     mvwaddch                 <STRONG><A HREF="curs_addch.3x.html">curs_addch(3x)</A></STRONG>
552                     mvwaddchnstr             <STRONG><A HREF="curs_addchstr.3x.html">curs_addchstr(3x)</A></STRONG>
553                     mvwaddchstr              <STRONG><A HREF="curs_addchstr.3x.html">curs_addchstr(3x)</A></STRONG>
554                     mvwaddnstr               <STRONG><A HREF="curs_addstr.3x.html">curs_addstr(3x)</A></STRONG>
555                     mvwaddnwstr              <STRONG><A HREF="curs_addwstr.3x.html">curs_addwstr(3x)</A></STRONG>
556                     mvwaddstr                <STRONG><A HREF="curs_addstr.3x.html">curs_addstr(3x)</A></STRONG>
557                     mvwaddwstr               <STRONG><A HREF="curs_addwstr.3x.html">curs_addwstr(3x)</A></STRONG>
558                     mvwchgat                 <STRONG><A HREF="curs_attr.3x.html">curs_attr(3x)</A></STRONG>
559                     mvwdelch                 <STRONG><A HREF="curs_delch.3x.html">curs_delch(3x)</A></STRONG>
560                     mvwget_wch               <STRONG><A HREF="curs_get_wch.3x.html">curs_get_wch(3x)</A></STRONG>
561                     mvwget_wstr              <STRONG><A HREF="curs_get_wstr.3x.html">curs_get_wstr(3x)</A></STRONG>
562                     mvwgetch                 <STRONG><A HREF="curs_getch.3x.html">curs_getch(3x)</A></STRONG>
563                     mvwgetn_wstr             <STRONG><A HREF="curs_get_wstr.3x.html">curs_get_wstr(3x)</A></STRONG>
564                     mvwgetnstr               <STRONG><A HREF="curs_getstr.3x.html">curs_getstr(3x)</A></STRONG>
565                     mvwgetstr                <STRONG><A HREF="curs_getstr.3x.html">curs_getstr(3x)</A></STRONG>
566                     mvwhline                 <STRONG><A HREF="curs_border.3x.html">curs_border(3x)</A></STRONG>
567                     mvwhline_set             <STRONG><A HREF="curs_border_set.3x.html">curs_border_set(3x)</A></STRONG>
568                     mvwin                    <STRONG><A HREF="curs_window.3x.html">curs_window(3x)</A></STRONG>
569                     mvwin_wch                <STRONG><A HREF="curs_in_wch.3x.html">curs_in_wch(3x)</A></STRONG>
570                     mvwin_wchnstr            <STRONG><A HREF="curs_in_wchstr.3x.html">curs_in_wchstr(3x)</A></STRONG>
571                     mvwin_wchstr             <STRONG><A HREF="curs_in_wchstr.3x.html">curs_in_wchstr(3x)</A></STRONG>
572                     mvwinch                  <STRONG><A HREF="curs_inch.3x.html">curs_inch(3x)</A></STRONG>
573                     mvwinchnstr              <STRONG><A HREF="curs_inchstr.3x.html">curs_inchstr(3x)</A></STRONG>
574                     mvwinchstr               <STRONG><A HREF="curs_inchstr.3x.html">curs_inchstr(3x)</A></STRONG>
575                     mvwinnstr                <STRONG><A HREF="curs_instr.3x.html">curs_instr(3x)</A></STRONG>
576                     mvwinnwstr               <STRONG><A HREF="curs_inwstr.3x.html">curs_inwstr(3x)</A></STRONG>
577                     mvwins_nwstr             <STRONG><A HREF="curs_ins_wstr.3x.html">curs_ins_wstr(3x)</A></STRONG>
578                     mvwins_wch               <STRONG><A HREF="curs_ins_wch.3x.html">curs_ins_wch(3x)</A></STRONG>
579                     mvwins_wstr              <STRONG><A HREF="curs_ins_wstr.3x.html">curs_ins_wstr(3x)</A></STRONG>
580                     mvwinsch                 <STRONG><A HREF="curs_insch.3x.html">curs_insch(3x)</A></STRONG>
581                     mvwinsnstr               <STRONG><A HREF="curs_insstr.3x.html">curs_insstr(3x)</A></STRONG>
582                     mvwinsstr                <STRONG><A HREF="curs_insstr.3x.html">curs_insstr(3x)</A></STRONG>
583                     mvwinstr                 <STRONG><A HREF="curs_instr.3x.html">curs_instr(3x)</A></STRONG>
584                     mvwinwstr                <STRONG><A HREF="curs_inwstr.3x.html">curs_inwstr(3x)</A></STRONG>
585                     mvwprintw                <STRONG><A HREF="curs_printw.3x.html">curs_printw(3x)</A></STRONG>
586
587                     mvwscanw                 <STRONG><A HREF="curs_scanw.3x.html">curs_scanw(3x)</A></STRONG>
588                     mvwvline                 <STRONG><A HREF="curs_border.3x.html">curs_border(3x)</A></STRONG>
589                     mvwvline_set             <STRONG><A HREF="curs_border_set.3x.html">curs_border_set(3x)</A></STRONG>
590                     napms                    <STRONG><A HREF="curs_kernel.3x.html">curs_kernel(3x)</A></STRONG>
591                     newpad                   <STRONG><A HREF="curs_pad.3x.html">curs_pad(3x)</A></STRONG>
592                     newterm                  <STRONG><A HREF="curs_initscr.3x.html">curs_initscr(3x)</A></STRONG>
593                     newwin                   <STRONG><A HREF="curs_window.3x.html">curs_window(3x)</A></STRONG>
594                     nl                       <STRONG><A HREF="curs_inopts.3x.html">curs_inopts(3x)</A></STRONG>
595                     nocbreak                 <STRONG><A HREF="curs_inopts.3x.html">curs_inopts(3x)</A></STRONG>
596                     nodelay                  <STRONG><A HREF="curs_inopts.3x.html">curs_inopts(3x)</A></STRONG>
597                     noecho                   <STRONG><A HREF="curs_inopts.3x.html">curs_inopts(3x)</A></STRONG>
598                     nofilter                 <STRONG><A HREF="curs_util.3x.html">curs_util(3x)</A></STRONG>*
599                     nonl                     <STRONG><A HREF="curs_inopts.3x.html">curs_inopts(3x)</A></STRONG>
600                     noqiflush                <STRONG><A HREF="curs_inopts.3x.html">curs_inopts(3x)</A></STRONG>
601                     noraw                    <STRONG><A HREF="curs_inopts.3x.html">curs_inopts(3x)</A></STRONG>
602                     notimeout                <STRONG><A HREF="curs_inopts.3x.html">curs_inopts(3x)</A></STRONG>
603                     overlay                  <STRONG><A HREF="curs_overlay.3x.html">curs_overlay(3x)</A></STRONG>
604                     overwrite                <STRONG><A HREF="curs_overlay.3x.html">curs_overlay(3x)</A></STRONG>
605                     pair_content             <STRONG><A HREF="curs_color.3x.html">curs_color(3x)</A></STRONG>
606                     pecho_wchar              <STRONG><A HREF="curs_pad.3x.html">curs_pad(3x)</A></STRONG>
607                     pechochar                <STRONG><A HREF="curs_pad.3x.html">curs_pad(3x)</A></STRONG>
608                     pnoutrefresh             <STRONG><A HREF="curs_pad.3x.html">curs_pad(3x)</A></STRONG>
609                     prefresh                 <STRONG><A HREF="curs_pad.3x.html">curs_pad(3x)</A></STRONG>
610                     printw                   <STRONG><A HREF="curs_printw.3x.html">curs_printw(3x)</A></STRONG>
611                     putp                     <STRONG><A HREF="curs_terminfo.3x.html">curs_terminfo(3x)</A></STRONG>
612                     putwin                   <STRONG><A HREF="curs_util.3x.html">curs_util(3x)</A></STRONG>
613                     qiflush                  <STRONG><A HREF="curs_inopts.3x.html">curs_inopts(3x)</A></STRONG>
614                     raw                      <STRONG><A HREF="curs_inopts.3x.html">curs_inopts(3x)</A></STRONG>
615                     redrawwin                <STRONG><A HREF="curs_refresh.3x.html">curs_refresh(3x)</A></STRONG>
616                     refresh                  <STRONG><A HREF="curs_refresh.3x.html">curs_refresh(3x)</A></STRONG>
617                     reset_color_pairs        <STRONG><A HREF="curs_color.3x.html">curs_color(3x)</A></STRONG>*
618                     reset_prog_mode          <STRONG><A HREF="curs_kernel.3x.html">curs_kernel(3x)</A></STRONG>
619                     reset_shell_mode         <STRONG><A HREF="curs_kernel.3x.html">curs_kernel(3x)</A></STRONG>
620                     resetty                  <STRONG><A HREF="curs_kernel.3x.html">curs_kernel(3x)</A></STRONG>
621                     resize_term              <STRONG><A HREF="resizeterm.3x.html">resizeterm(3x)</A></STRONG>*
622                     resizeterm               <STRONG><A HREF="resizeterm.3x.html">resizeterm(3x)</A></STRONG>*
623                     restartterm              <STRONG><A HREF="curs_terminfo.3x.html">curs_terminfo(3x)</A></STRONG>
624                     ripoffline               <STRONG><A HREF="curs_kernel.3x.html">curs_kernel(3x)</A></STRONG>
625                     savetty                  <STRONG><A HREF="curs_kernel.3x.html">curs_kernel(3x)</A></STRONG>
626                     scanw                    <STRONG><A HREF="curs_scanw.3x.html">curs_scanw(3x)</A></STRONG>
627                     scr_dump                 <STRONG><A HREF="curs_scr_dump.3x.html">curs_scr_dump(3x)</A></STRONG>
628                     scr_init                 <STRONG><A HREF="curs_scr_dump.3x.html">curs_scr_dump(3x)</A></STRONG>
629                     scr_restore              <STRONG><A HREF="curs_scr_dump.3x.html">curs_scr_dump(3x)</A></STRONG>
630                     scr_set                  <STRONG><A HREF="curs_scr_dump.3x.html">curs_scr_dump(3x)</A></STRONG>
631                     scrl                     <STRONG><A HREF="curs_scroll.3x.html">curs_scroll(3x)</A></STRONG>
632                     scroll                   <STRONG><A HREF="curs_scroll.3x.html">curs_scroll(3x)</A></STRONG>
633                     scrollok                 <STRONG><A HREF="curs_outopts.3x.html">curs_outopts(3x)</A></STRONG>
634                     set_curterm              <STRONG><A HREF="curs_terminfo.3x.html">curs_terminfo(3x)</A></STRONG>
635                     set_escdelay             <STRONG><A HREF="curs_threads.3x.html">curs_threads(3x)</A></STRONG>*
636                     set_tabsize              <STRONG><A HREF="curs_threads.3x.html">curs_threads(3x)</A></STRONG>*
637                     set_term                 <STRONG><A HREF="curs_initscr.3x.html">curs_initscr(3x)</A></STRONG>
638                     setcchar                 <STRONG><A HREF="curs_getcchar.3x.html">curs_getcchar(3x)</A></STRONG>
639                     setscrreg                <STRONG><A HREF="curs_outopts.3x.html">curs_outopts(3x)</A></STRONG>
640                     setsyx                   <STRONG><A HREF="curs_kernel.3x.html">curs_kernel(3x)</A></STRONG>
641                     setupterm                <STRONG><A HREF="curs_terminfo.3x.html">curs_terminfo(3x)</A></STRONG>
642                     slk_attr                 <STRONG><A HREF="curs_slk.3x.html">curs_slk(3x)</A></STRONG>*
643                     slk_attr_off             <STRONG><A HREF="curs_slk.3x.html">curs_slk(3x)</A></STRONG>
644                     slk_attr_on              <STRONG><A HREF="curs_slk.3x.html">curs_slk(3x)</A></STRONG>
645                     slk_attr_set             <STRONG><A HREF="curs_slk.3x.html">curs_slk(3x)</A></STRONG>
646                     slk_attroff              <STRONG><A HREF="curs_slk.3x.html">curs_slk(3x)</A></STRONG>
647                     slk_attron               <STRONG><A HREF="curs_slk.3x.html">curs_slk(3x)</A></STRONG>
648                     slk_attrset              <STRONG><A HREF="curs_slk.3x.html">curs_slk(3x)</A></STRONG>
649                     slk_clear                <STRONG><A HREF="curs_slk.3x.html">curs_slk(3x)</A></STRONG>
650                     slk_color                <STRONG><A HREF="curs_slk.3x.html">curs_slk(3x)</A></STRONG>
651                     slk_init                 <STRONG><A HREF="curs_slk.3x.html">curs_slk(3x)</A></STRONG>
652                     slk_label                <STRONG><A HREF="curs_slk.3x.html">curs_slk(3x)</A></STRONG>
653
654                     slk_noutrefresh          <STRONG><A HREF="curs_slk.3x.html">curs_slk(3x)</A></STRONG>
655                     slk_refresh              <STRONG><A HREF="curs_slk.3x.html">curs_slk(3x)</A></STRONG>
656                     slk_restore              <STRONG><A HREF="curs_slk.3x.html">curs_slk(3x)</A></STRONG>
657                     slk_set                  <STRONG><A HREF="curs_slk.3x.html">curs_slk(3x)</A></STRONG>
658                     slk_touch                <STRONG><A HREF="curs_slk.3x.html">curs_slk(3x)</A></STRONG>
659                     slk_wset                 <STRONG><A HREF="curs_slk.3x.html">curs_slk(3x)</A></STRONG>
660                     standend                 <STRONG><A HREF="curs_attr.3x.html">curs_attr(3x)</A></STRONG>
661                     standout                 <STRONG><A HREF="curs_attr.3x.html">curs_attr(3x)</A></STRONG>
662                     start_color              <STRONG><A HREF="curs_color.3x.html">curs_color(3x)</A></STRONG>
663                     subpad                   <STRONG><A HREF="curs_pad.3x.html">curs_pad(3x)</A></STRONG>
664                     subwin                   <STRONG><A HREF="curs_window.3x.html">curs_window(3x)</A></STRONG>
665                     syncok                   <STRONG><A HREF="curs_window.3x.html">curs_window(3x)</A></STRONG>
666                     term_attrs               <STRONG><A HREF="curs_termattrs.3x.html">curs_termattrs(3x)</A></STRONG>
667                     termattrs                <STRONG><A HREF="curs_termattrs.3x.html">curs_termattrs(3x)</A></STRONG>
668                     termname                 <STRONG><A HREF="curs_termattrs.3x.html">curs_termattrs(3x)</A></STRONG>
669                     tgetent                  <STRONG><A HREF="curs_termcap.3x.html">curs_termcap(3x)</A></STRONG>
670                     tgetflag                 <STRONG><A HREF="curs_termcap.3x.html">curs_termcap(3x)</A></STRONG>
671                     tgetnum                  <STRONG><A HREF="curs_termcap.3x.html">curs_termcap(3x)</A></STRONG>
672                     tgetstr                  <STRONG><A HREF="curs_termcap.3x.html">curs_termcap(3x)</A></STRONG>
673                     tgoto                    <STRONG><A HREF="curs_termcap.3x.html">curs_termcap(3x)</A></STRONG>
674                     tigetflag                <STRONG><A HREF="curs_terminfo.3x.html">curs_terminfo(3x)</A></STRONG>
675                     tigetnum                 <STRONG><A HREF="curs_terminfo.3x.html">curs_terminfo(3x)</A></STRONG>
676                     tigetstr                 <STRONG><A HREF="curs_terminfo.3x.html">curs_terminfo(3x)</A></STRONG>
677                     timeout                  <STRONG><A HREF="curs_inopts.3x.html">curs_inopts(3x)</A></STRONG>
678                     tiparm                   <STRONG><A HREF="curs_terminfo.3x.html">curs_terminfo(3x)</A></STRONG>
679                     tiparm_s                 <STRONG><A HREF="curs_terminfo.3x.html">curs_terminfo(3x)</A></STRONG>*
680                     tiscan_s                 <STRONG><A HREF="curs_terminfo.3x.html">curs_terminfo(3x)</A></STRONG>*
681                     touchline                <STRONG><A HREF="curs_touch.3x.html">curs_touch(3x)</A></STRONG>
682                     touchwin                 <STRONG><A HREF="curs_touch.3x.html">curs_touch(3x)</A></STRONG>
683                     tparm                    <STRONG><A HREF="curs_terminfo.3x.html">curs_terminfo(3x)</A></STRONG>
684                     tputs                    <STRONG><A HREF="curs_termcap.3x.html">curs_termcap(3x)</A></STRONG>
685                     tputs                    <STRONG><A HREF="curs_terminfo.3x.html">curs_terminfo(3x)</A></STRONG>
686                     trace                    <STRONG><A HREF="curs_trace.3x.html">curs_trace(3x)</A></STRONG>*
687                     typeahead                <STRONG><A HREF="curs_inopts.3x.html">curs_inopts(3x)</A></STRONG>
688                     unctrl                   <STRONG><A HREF="curs_util.3x.html">curs_util(3x)</A></STRONG>
689                     unget_wch                <STRONG><A HREF="curs_get_wch.3x.html">curs_get_wch(3x)</A></STRONG>
690                     ungetch                  <STRONG><A HREF="curs_getch.3x.html">curs_getch(3x)</A></STRONG>
691                     ungetmouse               <STRONG><A HREF="curs_mouse.3x.html">curs_mouse(3x)</A></STRONG>*
692                     untouchwin               <STRONG><A HREF="curs_touch.3x.html">curs_touch(3x)</A></STRONG>
693                     use_default_colors       <STRONG><A HREF="default_colors.3x.html">default_colors(3x)</A></STRONG>*
694                     use_env                  <STRONG><A HREF="curs_util.3x.html">curs_util(3x)</A></STRONG>
695                     use_extended_names       <STRONG><A HREF="curs_extend.3x.html">curs_extend(3x)</A></STRONG>*
696                     use_legacy_coding        <STRONG><A HREF="legacy_coding.3x.html">legacy_coding(3x)</A></STRONG>*
697                     use_screen               <STRONG><A HREF="curs_threads.3x.html">curs_threads(3x)</A></STRONG>*
698                     use_tioctl               <STRONG><A HREF="curs_util.3x.html">curs_util(3x)</A></STRONG>*
699                     use_window               <STRONG><A HREF="curs_threads.3x.html">curs_threads(3x)</A></STRONG>*
700                     vid_attr                 <STRONG><A HREF="curs_terminfo.3x.html">curs_terminfo(3x)</A></STRONG>
701                     vid_puts                 <STRONG><A HREF="curs_terminfo.3x.html">curs_terminfo(3x)</A></STRONG>
702                     vidattr                  <STRONG><A HREF="curs_terminfo.3x.html">curs_terminfo(3x)</A></STRONG>
703                     vidputs                  <STRONG><A HREF="curs_terminfo.3x.html">curs_terminfo(3x)</A></STRONG>
704                     vline                    <STRONG><A HREF="curs_border.3x.html">curs_border(3x)</A></STRONG>
705                     vline_set                <STRONG><A HREF="curs_border_set.3x.html">curs_border_set(3x)</A></STRONG>
706                     vw_printw                <STRONG><A HREF="curs_printw.3x.html">curs_printw(3x)</A></STRONG>
707                     vw_scanw                 <STRONG><A HREF="curs_scanw.3x.html">curs_scanw(3x)</A></STRONG>
708                     vwprintw                 <STRONG><A HREF="curs_printw.3x.html">curs_printw(3x)</A></STRONG>
709                     vwscanw                  <STRONG><A HREF="curs_scanw.3x.html">curs_scanw(3x)</A></STRONG>
710                     wadd_wch                 <STRONG><A HREF="curs_add_wch.3x.html">curs_add_wch(3x)</A></STRONG>
711                     wadd_wchnstr             <STRONG><A HREF="curs_add_wchstr.3x.html">curs_add_wchstr(3x)</A></STRONG>
712                     wadd_wchstr              <STRONG><A HREF="curs_add_wchstr.3x.html">curs_add_wchstr(3x)</A></STRONG>
713                     waddch                   <STRONG><A HREF="curs_addch.3x.html">curs_addch(3x)</A></STRONG>
714                     waddchnstr               <STRONG><A HREF="curs_addchstr.3x.html">curs_addchstr(3x)</A></STRONG>
715                     waddchstr                <STRONG><A HREF="curs_addchstr.3x.html">curs_addchstr(3x)</A></STRONG>
716                     waddnstr                 <STRONG><A HREF="curs_addstr.3x.html">curs_addstr(3x)</A></STRONG>
717                     waddnwstr                <STRONG><A HREF="curs_addwstr.3x.html">curs_addwstr(3x)</A></STRONG>
718                     waddstr                  <STRONG><A HREF="curs_addstr.3x.html">curs_addstr(3x)</A></STRONG>
719                     waddwstr                 <STRONG><A HREF="curs_addwstr.3x.html">curs_addwstr(3x)</A></STRONG>
720
721                     wattr_get                <STRONG><A HREF="curs_attr.3x.html">curs_attr(3x)</A></STRONG>
722                     wattr_off                <STRONG><A HREF="curs_attr.3x.html">curs_attr(3x)</A></STRONG>
723                     wattr_on                 <STRONG><A HREF="curs_attr.3x.html">curs_attr(3x)</A></STRONG>
724                     wattr_set                <STRONG><A HREF="curs_attr.3x.html">curs_attr(3x)</A></STRONG>
725                     wattroff                 <STRONG><A HREF="curs_attr.3x.html">curs_attr(3x)</A></STRONG>
726                     wattron                  <STRONG><A HREF="curs_attr.3x.html">curs_attr(3x)</A></STRONG>
727                     wattrset                 <STRONG><A HREF="curs_attr.3x.html">curs_attr(3x)</A></STRONG>
728                     wbkgd                    <STRONG><A HREF="curs_bkgd.3x.html">curs_bkgd(3x)</A></STRONG>
729                     wbkgdset                 <STRONG><A HREF="curs_bkgd.3x.html">curs_bkgd(3x)</A></STRONG>
730                     wbkgrnd                  <STRONG><A HREF="curs_bkgrnd.3x.html">curs_bkgrnd(3x)</A></STRONG>
731                     wbkgrndset               <STRONG><A HREF="curs_bkgrnd.3x.html">curs_bkgrnd(3x)</A></STRONG>
732                     wborder                  <STRONG><A HREF="curs_border.3x.html">curs_border(3x)</A></STRONG>
733                     wborder_set              <STRONG><A HREF="curs_border_set.3x.html">curs_border_set(3x)</A></STRONG>
734                     wchgat                   <STRONG><A HREF="curs_attr.3x.html">curs_attr(3x)</A></STRONG>
735                     wclear                   <STRONG><A HREF="curs_clear.3x.html">curs_clear(3x)</A></STRONG>
736                     wclrtobot                <STRONG><A HREF="curs_clear.3x.html">curs_clear(3x)</A></STRONG>
737                     wclrtoeol                <STRONG><A HREF="curs_clear.3x.html">curs_clear(3x)</A></STRONG>
738                     wcolor_set               <STRONG><A HREF="curs_attr.3x.html">curs_attr(3x)</A></STRONG>
739                     wcursyncup               <STRONG><A HREF="curs_window.3x.html">curs_window(3x)</A></STRONG>
740                     wdelch                   <STRONG><A HREF="curs_delch.3x.html">curs_delch(3x)</A></STRONG>
741                     wdeleteln                <STRONG><A HREF="curs_deleteln.3x.html">curs_deleteln(3x)</A></STRONG>
742                     wecho_wchar              <STRONG><A HREF="curs_add_wch.3x.html">curs_add_wch(3x)</A></STRONG>
743                     wechochar                <STRONG><A HREF="curs_addch.3x.html">curs_addch(3x)</A></STRONG>
744                     wenclose                 <STRONG><A HREF="curs_mouse.3x.html">curs_mouse(3x)</A></STRONG>*
745                     werase                   <STRONG><A HREF="curs_clear.3x.html">curs_clear(3x)</A></STRONG>
746                     wget_wch                 <STRONG><A HREF="curs_get_wch.3x.html">curs_get_wch(3x)</A></STRONG>
747                     wget_wstr                <STRONG><A HREF="curs_get_wstr.3x.html">curs_get_wstr(3x)</A></STRONG>
748                     wgetbkgrnd               <STRONG><A HREF="curs_bkgrnd.3x.html">curs_bkgrnd(3x)</A></STRONG>
749                     wgetch                   <STRONG><A HREF="curs_getch.3x.html">curs_getch(3x)</A></STRONG>
750                     wgetdelay                <STRONG><A HREF="curs_opaque.3x.html">curs_opaque(3x)</A></STRONG>*
751                     wgetn_wstr               <STRONG><A HREF="curs_get_wstr.3x.html">curs_get_wstr(3x)</A></STRONG>
752                     wgetnstr                 <STRONG><A HREF="curs_getstr.3x.html">curs_getstr(3x)</A></STRONG>
753                     wgetparent               <STRONG><A HREF="curs_opaque.3x.html">curs_opaque(3x)</A></STRONG>*
754                     wgetscrreg               <STRONG><A HREF="curs_opaque.3x.html">curs_opaque(3x)</A></STRONG>*
755                     wgetstr                  <STRONG><A HREF="curs_getstr.3x.html">curs_getstr(3x)</A></STRONG>
756                     whline                   <STRONG><A HREF="curs_border.3x.html">curs_border(3x)</A></STRONG>
757                     whline_set               <STRONG><A HREF="curs_border_set.3x.html">curs_border_set(3x)</A></STRONG>
758                     win_wch                  <STRONG><A HREF="curs_in_wch.3x.html">curs_in_wch(3x)</A></STRONG>
759                     win_wchnstr              <STRONG><A HREF="curs_in_wchstr.3x.html">curs_in_wchstr(3x)</A></STRONG>
760                     win_wchstr               <STRONG><A HREF="curs_in_wchstr.3x.html">curs_in_wchstr(3x)</A></STRONG>
761                     winch                    <STRONG><A HREF="curs_inch.3x.html">curs_inch(3x)</A></STRONG>
762                     winchnstr                <STRONG><A HREF="curs_inchstr.3x.html">curs_inchstr(3x)</A></STRONG>
763                     winchstr                 <STRONG><A HREF="curs_inchstr.3x.html">curs_inchstr(3x)</A></STRONG>
764                     winnstr                  <STRONG><A HREF="curs_instr.3x.html">curs_instr(3x)</A></STRONG>
765                     winnwstr                 <STRONG><A HREF="curs_inwstr.3x.html">curs_inwstr(3x)</A></STRONG>
766                     wins_nwstr               <STRONG><A HREF="curs_ins_wstr.3x.html">curs_ins_wstr(3x)</A></STRONG>
767                     wins_wch                 <STRONG><A HREF="curs_ins_wch.3x.html">curs_ins_wch(3x)</A></STRONG>
768                     wins_wstr                <STRONG><A HREF="curs_ins_wstr.3x.html">curs_ins_wstr(3x)</A></STRONG>
769                     winsch                   <STRONG><A HREF="curs_insch.3x.html">curs_insch(3x)</A></STRONG>
770                     winsdelln                <STRONG><A HREF="curs_deleteln.3x.html">curs_deleteln(3x)</A></STRONG>
771                     winsertln                <STRONG><A HREF="curs_deleteln.3x.html">curs_deleteln(3x)</A></STRONG>
772                     winsnstr                 <STRONG><A HREF="curs_insstr.3x.html">curs_insstr(3x)</A></STRONG>
773                     winsstr                  <STRONG><A HREF="curs_insstr.3x.html">curs_insstr(3x)</A></STRONG>
774                     winstr                   <STRONG><A HREF="curs_instr.3x.html">curs_instr(3x)</A></STRONG>
775                     winwstr                  <STRONG><A HREF="curs_inwstr.3x.html">curs_inwstr(3x)</A></STRONG>
776                     wmouse_trafo             <STRONG><A HREF="curs_mouse.3x.html">curs_mouse(3x)</A></STRONG>*
777                     wmove                    <STRONG><A HREF="curs_move.3x.html">curs_move(3x)</A></STRONG>
778                     wnoutrefresh             <STRONG><A HREF="curs_refresh.3x.html">curs_refresh(3x)</A></STRONG>
779                     wprintw                  <STRONG><A HREF="curs_printw.3x.html">curs_printw(3x)</A></STRONG>
780                     wredrawln                <STRONG><A HREF="curs_refresh.3x.html">curs_refresh(3x)</A></STRONG>
781                     wrefresh                 <STRONG><A HREF="curs_refresh.3x.html">curs_refresh(3x)</A></STRONG>
782                     wresize                  <STRONG><A HREF="wresize.3x.html">wresize(3x)</A></STRONG>*
783                     wscanw                   <STRONG><A HREF="curs_scanw.3x.html">curs_scanw(3x)</A></STRONG>
784                     wscrl                    <STRONG><A HREF="curs_scroll.3x.html">curs_scroll(3x)</A></STRONG>
785                     wsetscrreg               <STRONG><A HREF="curs_outopts.3x.html">curs_outopts(3x)</A></STRONG>
786                     wstandend                <STRONG><A HREF="curs_attr.3x.html">curs_attr(3x)</A></STRONG>
787
788                     wstandout                <STRONG><A HREF="curs_attr.3x.html">curs_attr(3x)</A></STRONG>
789                     wsyncdown                <STRONG><A HREF="curs_window.3x.html">curs_window(3x)</A></STRONG>
790                     wsyncup                  <STRONG><A HREF="curs_window.3x.html">curs_window(3x)</A></STRONG>
791                     wtimeout                 <STRONG><A HREF="curs_inopts.3x.html">curs_inopts(3x)</A></STRONG>
792                     wtouchln                 <STRONG><A HREF="curs_touch.3x.html">curs_touch(3x)</A></STRONG>
793                     wunctrl                  <STRONG><A HREF="curs_util.3x.html">curs_util(3x)</A></STRONG>
794                     wvline                   <STRONG><A HREF="curs_border.3x.html">curs_border(3x)</A></STRONG>
795                     wvline_set               <STRONG><A HREF="curs_border_set.3x.html">curs_border_set(3x)</A></STRONG>
796
797        <EM>ncurses</EM>'s   <EM>screen-pointer</EM>   <EM>extension</EM>   adds   additional    functions
798        corresponding  to  many  of  the  above, each with an "_sp" suffix; see
799        <STRONG><A HREF="curs_sp_funcs.3x.html">curs_sp_funcs(3x)</A></STRONG>.
800
801        The availability of some extensions is  configurable  when  <EM>ncurses</EM>  is
802        compiled;  see  sections  "ALTERNATE  CONFIGURATIONS"  and "EXTENSIONS"
803        below.
804
805
806 </PRE><H2><a name="h2-RETURN-VALUE">RETURN VALUE</a></H2><PRE>
807        Unless otherwise noted,  functions  that  return  integers  return  the
808        constants  <STRONG>OK</STRONG>  on  success  and <STRONG>ERR</STRONG> on failure; see <STRONG><A HREF="curs_variables.3x.html">curs_variables(3x)</A></STRONG>.
809        Functions that return pointers  return  <STRONG>NULL</STRONG>  on  failure.   Typically,
810        <EM>ncurses</EM>  treats  a  null  pointer  passed  as a function parameter as a
811        failure.  Functions prefixed with "mv" first  perform  cursor  movement
812        and fail if the position (<EM>y</EM>, <EM>x</EM>) is outside the window boundaries.
813
814
815 </PRE><H2><a name="h2-ENVIRONMENT">ENVIRONMENT</a></H2><PRE>
816        The  following  symbols  from  the  process  environment  customize the
817        runtime  behavior  of  <EM>ncurses</EM>  applications.   The  library   may   be
818        configured   to   disregard   the  variables  <EM>TERMINFO</EM>,  <EM>TERMINFO</EM><STRONG>_</STRONG><EM>DIRS</EM>,
819        <EM>TERMPATH</EM>, and <EM>HOME</EM>, if  the  user  is  the  superuser  (root),  or  the
820        application uses <STRONG>setuid(2)</STRONG> or <STRONG>setgid(2)</STRONG>.
821
822
823 </PRE><H3><a name="h3-BAUDRATE"><EM>BAUDRATE</EM></a></H3><PRE>
824        The  debugging  library  checks  this variable when the application has
825        redirected output to a file.  Its integral value is used for  the  baud
826        rate.   If  that  value  is absent or invalid, <EM>ncurses</EM> uses 9600.  This
827        feature allows developers to construct repeatable test cases that  take
828        into account optimization decisions that depend on baud rate.
829
830
831 </PRE><H3><a name="h3-CC-_command-character_"><EM>CC</EM> (command character)</a></H3><PRE>
832        When  set,  the  <STRONG>command_character</STRONG>  (<STRONG>cmdch</STRONG>)  capability value of loaded
833        <EM>terminfo</EM> entries changes to the value of this variable.  Very few <EM>term-</EM>
834        <EM>info</EM> entries provide this feature.
835
836        Because this name is also used in development environments to represent
837        the C compiler's name, <EM>ncurses</EM> ignores its  value  if  it  is  not  one
838        character in length.
839
840
841 </PRE><H3><a name="h3-COLUMNS"><EM>COLUMNS</EM></a></H3><PRE>
842        This  variable  specifies  the  width  of  the  screen  in  characters.
843        Applications running in a windowing environment  usually  are  able  to
844        obtain the width of the window in which they are executing.  If <EM>COLUMNS</EM>
845        is not defined and the terminal's screen size is not available from the
846        terminal  driver, <EM>ncurses</EM> uses the size specified by the <STRONG>columns</STRONG> (<STRONG>cols</STRONG>)
847        capability of the terminal type's entry in the  <EM>terminfo</EM>  database,  if
848        any.
849
850        It  is  important  that  your  application use the correct screen size.
851        Automatic  detection  thereof  is  not  always  possible   because   an
852        application  may  be  running  on  a  host  that  does  not  honor NAWS
853        (Negotiations About Window Size) or as a different  user  ID  than  the
854        owner  of  the  terminal  device  file.   Setting  <EM>COLUMNS</EM> and/or <EM>LINES</EM>
855        overrides the library's use  of  the  screen  size  obtained  from  the
856        operating system.
857
858        The  <EM>COLUMNS</EM>  and <EM>LINES</EM> variables may be specified independently.  This
859        property is useful to circumvent misfeatures of  legacy  terminal  type
860        descriptions;  <STRONG>xterm(1)</STRONG>  descriptions  specifying  65  lines  were once
861        notorious.   For  best  results,  avoid  specifying  <STRONG>cols</STRONG>   and   <STRONG>lines</STRONG>
862        capability codes in <EM>terminfo</EM> descriptions of terminal emulators.
863
864        <STRONG><A HREF="curs_util.3x.html">use_env(3x)</A></STRONG>  can  disable use of the process environment in determining
865        the screen size.  <STRONG><A HREF="curs_util.3x.html">use_tioctl(3x)</A></STRONG> can update <EM>COLUMNS</EM> and <EM>LINES</EM> to  match
866        the screen size obtained from system calls or the terminal database.
867
868
869 </PRE><H3><a name="h3-ESCDELAY"><EM>ESCDELAY</EM></a></H3><PRE>
870        For  <EM>curses</EM>  to  distinguish  the ESC character resulting from a user's
871        press of the "Escape" key on the input device  from  one  beginning  an
872        <EM>escape</EM> <EM>sequence</EM> (as commonly produced by function keys), it waits after
873        receiving the  escape  character  to  see  if  further  characters  are
874        available  on  the  input  stream  within  a  short interval.  A global
875        variable <STRONG>ESCDELAY</STRONG> stores this interval in  milliseconds.   The  default
876        value of 1000 (one second) is adequate for most uses.  This environment
877        variable overrides it.
878
879        The most common instance where you may wish to change this value is  to
880        work with a remote host over a slow communication channel.  If the host
881        running a <EM>curses</EM> application does not  receive  the  characters  of  an
882        escape  sequence  in a timely manner, the library can interpret them as
883        multiple key stroke events.
884
885        <STRONG>xterm(1)</STRONG> mouse events are a form of escape sequence; therefore, if your
886        application  makes  heavy  use  of  multiple-clicking,  you may wish to
887        lengthen the default value because the delay applies to  the  composite
888        multi-click event as well as the individual clicks.
889
890        Portable  applications should not rely upon the presence of <STRONG>ESCDELAY</STRONG> in
891        either form, but setting  the  environment  variable  rather  than  the
892        global variable does not create problems when compiling an application.
893
894        If  <STRONG><A HREF="curs_inopts.3x.html">keypad(3x)</A></STRONG>  is  disabled  for  the <EM>curses</EM> window receiving input, a
895        program must disambiguate escape sequences itself.
896
897
898 </PRE><H3><a name="h3-HOME"><EM>HOME</EM></a></H3><PRE>
899        <EM>ncurses</EM> may read and write auxiliary terminal descriptions in  <EM>.termcap</EM>
900        and <EM>.terminfo</EM> files in the user's home directory.
901
902
903 </PRE><H3><a name="h3-LINES"><EM>LINES</EM></a></H3><PRE>
904        This  counterpart  to  <EM>COLUMNS</EM>  specifies  the  height of the screen in
905        characters.  The corresponding <EM>terminfo</EM> capability and code  is  <STRONG>lines</STRONG>.
906        See the description of the <EM>COLUMNS</EM> variable above.
907
908
909 </PRE><H3><a name="h3-MOUSE_BUTTONS_123"><EM>MOUSE_BUTTONS_123</EM></a></H3><PRE>
910        (OS/2  EMX  port only) OS/2 numbers a three-button mouse inconsistently
911        with other platforms, such that 1 is the left button, 2 the right,  and
912        3  the  middle.   This  variable customizes the mouse button numbering.
913        Its value must be three digits 1-3 in any order.  By  default,  <EM>ncurses</EM>
914        assumes a numbering of "132".
915
916
917 </PRE><H3><a name="h3-NCURSES_ASSUMED_COLORS"><EM>NCURSES_ASSUMED_COLORS</EM></a></H3><PRE>
918        If  set,  this  variable  overrides  the  <EM>ncurses</EM> library's compiled-in
919        assumption that the terminal's default colors are white on  black;  see
920        <STRONG><A HREF="default_colors.3x.html">default_colors(3x)</A></STRONG>.   Set  the  foreground  and background color values
921        with this environment variable  by  assigning  it  two  integer  values
922        separated  by  a  comma,  indicating  foregound  and  background  color
923        numbers, respectively.
924
925        For example, to tell <EM>ncurses</EM> not to assume anything about  the  colors,
926        use  a  value  of  "-1,-1".   To make the default color scheme green on
927        black, use "2,0".  <EM>ncurses</EM> accepts integral values from -1  up  to  the
928        value of the <EM>terminfo</EM> <STRONG>max_colors</STRONG> (<STRONG>colors</STRONG>) capability.
929
930
931 </PRE><H3><a name="h3-NCURSES_CONSOLE2"><EM>NCURSES_CONSOLE2</EM></a></H3><PRE>
932        (MinGW   port  only)  The  <EM>Console2</EM>  program  defectively  handles  the
933        Microsoft Console  API  call  <EM>CreateConsoleScreenBuffer</EM>.   Applications
934        that  use it will hang.  However, it is possible to simulate the action
935        of this call by mapping coordinates, explicitly  saving  and  restoring
936        the  original  screen contents.  Setting the environment variable <EM>NCGDB</EM>
937        has the same effect.
938
939
940 </PRE><H3><a name="h3-NCURSES_GPM_TERMS"><EM>NCURSES_GPM_TERMS</EM></a></H3><PRE>
941        (Linux only) When <EM>ncurses</EM> is configured to use the GPM interface,  this
942        variable  may  list  one  or more terminal type names against which the
943        <EM>TERM</EM> variable (see below) is matched.  An empty value disables the  GPM
944        interface,   using   <EM>ncurses</EM>'s  built-in  support  for  <STRONG>xterm(1)</STRONG>  mouse
945        protocols instead.  If the variable is absent, <EM>ncurses</EM> attempts to open
946        GPM if <EM>TERM</EM> contains "linux".
947
948
949 </PRE><H3><a name="h3-NCURSES_NO_HARD_TABS"><EM>NCURSES_NO_HARD_TABS</EM></a></H3><PRE>
950        <EM>ncurses</EM>  may  use  tab  characters in cursor movement optimization.  In
951        some cases, your terminal driver may not  handle  them  properly.   Set
952        this environment variable to any value to disable the feature.  You can
953        also adjust your <STRONG>stty(1)</STRONG> settings to avoid the problem.
954
955
956 </PRE><H3><a name="h3-NCURSES_NO_MAGIC_COOKIE"><EM>NCURSES_NO_MAGIC_COOKIE</EM></a></H3><PRE>
957        Many terminals store video attributes as  a  property  of  a  character
958        cell,  as  <EM>curses</EM>  does.   Historically, some recorded changes in video
959        attributes as data that  logically  <EM>occupies</EM>  character  cells  on  the
960        display,  switching attributes on or off, similarly to tags in a markup
961        language; these are termed "magic cookies", and  must  be  subsequently
962        overprinted.   If  the  <EM>terminfo</EM>  entry for your terminal type does not
963        adequately describe its handling of magic cookies, set this variable to
964        any value to instruct <EM>ncurses</EM> to disable attributes entirely.
965
966
967 </PRE><H3><a name="h3-NCURSES_NO_PADDING"><EM>NCURSES_NO_PADDING</EM></a></H3><PRE>
968        Most  terminal  type  descriptions  in  the  <EM>terminfo</EM>  database  detail
969        hardware  devices.   Many  people  use  <EM>curses</EM>-based  applications   in
970        terminal  emulator programs that run in a windowing environment.  These
971        programs can duplicate all of the  important  features  of  a  hardware
972        terminal,  but  often lack their limitations.  Chief among these absent
973        drawbacks is the problem of data flow management; that is, limiting the
974        speed  of  communication  to  what the hardware could handle.  Unless a
975        hardware terminal is interfaced into  a  terminal  concentrator  (which
976        does  flow  control), an application must manage flow itself to prevent
977        overruns and data loss.
978
979        A solution that comes at no hardware cost  is  for  an  application  to
980        pause  after  directing  a  terminal  to  execute  an operation that it
981        performs slowly, such as clearing  the  display.   Many  terminal  type
982        descriptions,  including that for the VT100, embed delay specifications
983        in capabilities.  You may  wish  to  use  these  terminal  descriptions
984        without  paying the performance penalty.  Set <EM>NCURSES</EM><STRONG>_</STRONG><EM>NO</EM><STRONG>_</STRONG><EM>PADDING</EM> to any
985        value to disable all but mandatory padding.  Mandatory padding is  used
986        by such terminal capabilities as <STRONG>flash_screen</STRONG> (<STRONG>flash</STRONG>).
987
988
989 </PRE><H3><a name="h3-NCURSES_NO_SETBUF"><EM>NCURSES_NO_SETBUF</EM></a></H3><PRE>
990        (Obsolete)  Prior to internal changes developed in <EM>ncurses</EM> 5.9 (patches
991        20120825 through 20130126), the library used <STRONG>setbuf(3)</STRONG> to enable  fully
992        buffered  output  when initializing the terminal.  This was done, as in
993        SVr4 <EM>curses</EM>, to increase performance.  For testing  purposes,  both  of
994        <EM>ncurses</EM>  and  of  certain applications, this feature was made optional.
995        Setting this variable disabled output  buffering,  leaving  the  output
996        stream in the original (usually line-buffered) mode.
997
998        Nowadays,  <EM>ncurses</EM> performs its own buffering and does not require this
999        workaround; it does not modify the buffering  of  the  standard  output
1000        stream.   This  approach makes signal handling, as for interrupts, more
1001        robust.  A drawback  is  that  certain  unconventional  programs  mixed
1002        <STRONG>stdio(3)</STRONG>  calls  with <EM>ncurses</EM> calls and (usually) got the behavior they
1003        expected.  This is no longer the case; <EM>ncurses</EM> does not  write  to  the
1004        standard output file descriptor through a <EM>stdio</EM>-buffered stream.
1005
1006        As  a  special case, low-level API calls such as <STRONG><A HREF="curs_terminfo.3x.html">putp(3x)</A></STRONG> still use the
1007        standard output stream.  High-level <EM>curses</EM> calls such as <STRONG><A HREF="curs_printw.3x.html">printw(3x)</A></STRONG>  do
1008        not.
1009
1010
1011 </PRE><H3><a name="h3-NCURSES_NO_UTF8_ACS"><EM>NCURSES_NO_UTF8_ACS</EM></a></H3><PRE>
1012        At  initialization,  <EM>ncurses</EM> inspects the <EM>TERM</EM> environment variable for
1013        special  cases  where   VT100   forms-drawing   characters   (and   the
1014        corresponding  alternate character set <EM>terminfo</EM> capabilities) are known
1015        to  be  unsupported  by  terminal  types  that  otherwise  claim  VT100
1016        compatibility.  Specifically, when running in a UTF-8 locale, the Linux
1017        virtual console device and the GNU <STRONG>screen(1)</STRONG> program ignore them.   Set
1018        this  variable  to  a  nonzero  value  to  instruct  <EM>ncurses</EM>  that  the
1019        terminal's ACS support is broken; the library then outputs Unicode code
1020        points that correspond to the forms-drawing characters.  Set it to zero
1021        (or a non-integer) to disable the special check for terminal type names
1022        matching  "linux" or "screen", directing <EM>ncurses</EM> to assume that the ACS
1023        feature works if the terminal type description advertises it.
1024
1025        As an alternative to use  of  this  variable,  <EM>ncurses</EM>  checks  for  an
1026        extended <EM>terminfo</EM> numeric capability <STRONG>U8</STRONG> that can be compiled using "<STRONG>tic</STRONG>
1027        <STRONG>-x</STRONG>".  Examples follow.
1028
1029           # linux console, if patched to provide working
1030           # VT100 shift-in/shift-out, with corresponding font.
1031           linux-vt100|linux console with VT100 line-graphics,
1032                   U8#0, use=linux,
1033
1034           # uxterm with vt100Graphics resource set to false
1035           xterm-utf8|xterm relying on UTF-8 line-graphics,
1036                   U8#1, use=xterm,
1037
1038        The two-character name "U8" was chosen to permit its use via  <EM>ncurses</EM>'s
1039        <EM>termcap</EM> interface.
1040
1041
1042 </PRE><H3><a name="h3-NCURSES_TRACE"><EM>NCURSES_TRACE</EM></a></H3><PRE>
1043        At  initialization, <EM>ncurses</EM> (in its debugging configuration) checks for
1044        this variable's presence.  If  defined  with  an  integral  value,  the
1045        library calls <STRONG><A HREF="curs_trace.3x.html">curses_trace(3x)</A></STRONG> with that value as the argument.
1046
1047
1048 </PRE><H3><a name="h3-TERM"><EM>TERM</EM></a></H3><PRE>
1049        The  <EM>TERM</EM> variable denotes the terminal type.  Each is distinct, though
1050        many are similar.  It is commonly set by  terminal  emulators  to  help
1051        applications  find  a  workable  terminal  description.   Some choose a
1052        popular approximation such as "ansi", "vt100", or "xterm"  rather  than
1053        an  exact  fit to their capabilities.  Not infrequently, an application
1054        will have problems with that approach; for example, a  key  stroke  may
1055        not  operate  correctly,  or  produce  no  effect  but  seeming garbage
1056        characters on the screen.
1057
1058        Setting <EM>TERM</EM> has no effect on hardware operation; it  affects  the  way
1059        applications  communicate  with  the  terminal.  Likewise, as a general
1060        rule (<STRONG>xterm(1)</STRONG> being a rare exception), terminal emulators  that  allow
1061        you to specify <EM>TERM</EM> as a parameter or configuration value do not change
1062        their behavior to match that setting.
1063
1064
1065 </PRE><H3><a name="h3-TERMCAP"><EM>TERMCAP</EM></a></H3><PRE>
1066        If <EM>ncurses</EM> is configured with <EM>termcap</EM> support, it checks for a terminal
1067        type  description  in  <EM>termcap</EM>  format if one in <EM>terminfo</EM> format is not
1068        available.  Setting this variable directs <EM>ncurses</EM> to ignore  the  usual
1069        <EM>termcap</EM>  database  location, <EM>/etc/termcap</EM>; see <EM>TERMPATH</EM> below.  <EM>TERMCAP</EM>
1070        should contain either a terminal description  (with  newlines  stripped
1071        out),  or  a file name indicating where the information required by the
1072        <EM>TERM</EM> environment variable is stored.
1073
1074
1075 </PRE><H3><a name="h3-TERMINFO"><EM>TERMINFO</EM></a></H3><PRE>
1076        <EM>ncurses</EM> can be configured to read terminal type  description  databases
1077        in  various locations using different formats.  This variable overrides
1078        the default location.
1079
1080        <STRONG>o</STRONG>   Descriptions in <EM>terminfo</EM> format are normally stored in a  directory
1081            tree  using subdirectories named by the common first letters of the
1082            terminal types named therein.  This is the scheme used in System V.
1083
1084        <STRONG>o</STRONG>   If <EM>ncurses</EM> is configured to use hashed databases, then <EM>TERMINFO</EM> may
1085            name  its  location,  such  as  <EM>/usr/share/terminfo.db</EM>, rather than
1086            <EM>/usr/share/terminfo/</EM>.
1087
1088        The hashed database uses less disk space and is a  little  faster  than
1089        the directory tree.  However, some applications assume the existence of
1090        the directory tree, and read it directly rather than using the <EM>terminfo</EM>
1091        API.
1092
1093        <STRONG>o</STRONG>   If  <EM>ncurses</EM>  is  configured with <EM>termcap</EM> support, this variable may
1094            contain the location of a <EM>termcap</EM> file.
1095
1096        <STRONG>o</STRONG>   If the value of <EM>TERMINFO</EM> begins with "hex:" or "b64:", <EM>ncurses</EM> uses
1097            the remainder of the value as a compiled <EM>terminfo</EM> description.  You
1098            might produce the base64 format using <STRONG><A HREF="infocmp.1m.html">infocmp(1m)</A></STRONG>.
1099
1100                   TERMINFO=$(infocmp -0 -Q2 -q)
1101                   export TERMINFO
1102
1103            The compiled description is used only  if  it  corresponds  to  the
1104            terminal type identified by <EM>TERM</EM>.
1105
1106        Setting  <EM>TERMINFO</EM>  is  the  simplest,  but  not the only, way to direct
1107        <EM>ncurses</EM> to a terminal database.  The search path is as follows.
1108
1109        <STRONG>o</STRONG>   the last terminal database to which the running <EM>ncurses</EM> application
1110            wrote, if any
1111
1112        <STRONG>o</STRONG>   the location specified by the <EM>TERMINFO</EM> environment variable
1113
1114        <STRONG>o</STRONG>   <EM>$HOME/.terminfo</EM>
1115
1116        <STRONG>o</STRONG>   locations listed in the <EM>TERMINFO</EM><STRONG>_</STRONG><EM>DIRS</EM> environment variable
1117
1118        <STRONG>o</STRONG>   location(s) configured and compiled into <EM>ncurses</EM>
1119
1120            <STRONG>o</STRONG>   <EM>/usr/share/terminfo</EM>
1121
1122
1123 </PRE><H3><a name="h3-TERMINFO_DIRS"><EM>TERMINFO_DIRS</EM></a></H3><PRE>
1124        This  variable  specifies  a  list of locations, akin to <EM>PATH</EM>, in which
1125        <EM>ncurses</EM> searches  for  the  terminal  type  descriptions  described  by
1126        <EM>TERMINFO</EM>  above.   The  list  items are separated by colons on Unix and
1127        semicolons on  OS/2  EMX.   System V  <EM>terminfo</EM>  lacks  a  corresponding
1128        feature; <EM>TERMINFO</EM><STRONG>_</STRONG><EM>DIRS</EM> is an <EM>ncurses</EM> extension.
1129
1130
1131 </PRE><H3><a name="h3-TERMPATH"><EM>TERMPATH</EM></a></H3><PRE>
1132        If <EM>TERMCAP</EM> does not hold a terminal type description or file name, then
1133        <EM>ncurses</EM> checks the contents of <EM>TERMPATH</EM>, a list of locations,  akin  to
1134        <EM>PATH</EM>, in which it searches for <EM>termcap</EM> terminal type descriptions.  The
1135        list items are separated by colons on Unix and semicolons on OS/2 EMX.
1136
1137        If both <EM>TERMCAP</EM> and <EM>TERMPATH</EM> are unset or invalid, <EM>ncurses</EM> searches for
1138        the files <EM>/etc/termcap</EM>, <EM>/usr/share/misc/termcap</EM>, and <EM>$HOME/.termcap</EM>, in
1139        that order.
1140
1141
1142 </PRE><H2><a name="h2-ALTERNATE-CONFIGURATIONS">ALTERNATE CONFIGURATIONS</a></H2><PRE>
1143        Many different <EM>ncurses</EM> configurations are possible, determined  by  the
1144        options  given  to the <EM>configure</EM> script when building the library.  Run
1145        the script with the <STRONG>--help</STRONG> option to peruse them all.   A  few  are  of
1146        particular significance to the application developer employing <EM>ncurses</EM>.
1147
1148        <STRONG>--disable-overwrite</STRONG>
1149             The standard C preprocessor inclusion for the <EM>curses</EM> library is as
1150             follows.
1151
1152                 <STRONG>#include</STRONG> <STRONG>&lt;curses.h&gt;</STRONG>
1153
1154             This option is used to avoid file name conflicts  between  <EM>ncurses</EM>
1155             and  an existing <EM>curses</EM> installation on the system.  If <EM>ncurses</EM> is
1156             installed disabling overwrite, it  puts  its  header  files  in  a
1157             subdirectory.  Here is an example.
1158
1159                 <STRONG>#include</STRONG> <STRONG>&lt;ncurses/curses.h&gt;</STRONG>
1160
1161             Installation  also  omits  a  symbolic  link  that would cause the
1162             compiler's <STRONG>-lcurses</STRONG> option  to  link  object  files  with  <EM>ncurses</EM>
1163             instead of the system <EM>curses</EM> library.
1164
1165             The  directory  used  by this configuration of <EM>ncurses</EM> is shown in
1166             section "SYNOPSIS" above.
1167
1168        <STRONG>--enable-widec</STRONG>
1169             The  configure  script   renames   the   library   and   (if   the
1170             <STRONG>--disable-overwrite</STRONG>  option  is  used)  puts the header files in a
1171             different subdirectory.  All of  the  library  names  have  a  "w"
1172             appended to them, i.e., instead of
1173
1174                 <STRONG>-lncurses</STRONG>
1175
1176             you link with
1177
1178                 <STRONG>-lncursesw</STRONG>
1179
1180             You  must  also  enable  the wide-character features in the header
1181             file when compiling for the  wide-character  library  to  use  the
1182             extended  (wide-character)  functions.   The  symbol which enables
1183             these features has changed since X/Open Curses, Issue 4:
1184
1185             <STRONG>o</STRONG>   Originally, the wide-character  feature  required  the  symbol
1186                 <STRONG>_XOPEN_SOURCE_EXTENDED</STRONG>  but  that  was  only  valid  for  XPG4
1187                 (1996).
1188
1189             <STRONG>o</STRONG>   Later, that was deemed conflicting with <STRONG>_XOPEN_SOURCE</STRONG>  defined
1190                 to 500.
1191
1192             <STRONG>o</STRONG>   As  of  mid-2018,  none of the features in this implementation
1193                 require a <STRONG>_XOPEN_SOURCE</STRONG> feature greater  than  600.   However,
1194                 X/Open Curses, Issue 7 (2009) recommends defining it to 700.
1195
1196             <STRONG>o</STRONG>   Alternatively,   you   can  enable  the  feature  by  defining
1197                 <STRONG>NCURSES_WIDECHAR</STRONG> with the caveat that some other  header  file
1198                 than  <STRONG>curses.h</STRONG>  may require a specific value for <STRONG>_XOPEN_SOURCE</STRONG>
1199                 (or a system-specific symbol).
1200
1201             The <EM>curses.h</EM> header file installed for the wide-character  library
1202             is  designed  to be compatible with the non-wide library's header.
1203             Only the size of the <EM>WINDOW</EM> structure  differs;  few  applications
1204             require more than pointers to <EM>WINDOW</EM>s.
1205
1206             If  the  headers  are  installed  allowing  overwrite,  the  wide-
1207             character library's headers should be  installed  last,  to  allow
1208             applications to be built using either library from the same set of
1209             headers.
1210
1211        <STRONG>--with-pthread</STRONG>
1212             The configure script renames the  library.   All  of  the  library
1213             names  have  a  "t"  appended  to  them  (before  any "w" added by
1214             <STRONG>--enable-widec</STRONG>).
1215
1216             The global variables such as <STRONG>LINES</STRONG> are replaced by macros to allow
1217             read-only access.  At the same time, setter-functions are provided
1218             to set these values.  Some applications  (very  few)  may  require
1219             changes to work with this convention.
1220
1221        <STRONG>--with-shared</STRONG>
1222        <STRONG>--with-normal</STRONG>
1223        <STRONG>--with-debug</STRONG>
1224        <STRONG>--with-profile</STRONG>
1225             The  shared  and  normal  (static)  library  names differ by their
1226             suffixes, e.g., <STRONG>libncurses.so</STRONG> and  <STRONG>libncurses.a</STRONG>.   The  debug  and
1227             profiling  libraries  add  a  "_g"  and  a  "_p" to the root names
1228             respectively, e.g., <STRONG>libncurses_g.a</STRONG> and <STRONG>libncurses_p.a</STRONG>.
1229
1230        <STRONG>--with-termlib</STRONG>
1231             Low-level functions which do not depend upon whether  the  library
1232             supports wide-characters, are provided in the tinfo library.
1233
1234             By  doing  this, it is possible to share the tinfo library between
1235             wide/normal configurations as well  as  reduce  the  size  of  the
1236             library when only low-level functions are needed.
1237
1238             Those functions are described in these pages:
1239
1240             <STRONG>o</STRONG>   <STRONG><A HREF="curs_extend.3x.html">curs_extend(3x)</A></STRONG> - miscellaneous <EM>curses</EM> extensions
1241
1242             <STRONG>o</STRONG>   <STRONG><A HREF="curs_inopts.3x.html">curs_inopts(3x)</A></STRONG> - <EM>curses</EM> input options
1243
1244             <STRONG>o</STRONG>   <STRONG><A HREF="curs_kernel.3x.html">curs_kernel(3x)</A></STRONG> - low-level <EM>curses</EM> routines
1245
1246             <STRONG>o</STRONG>   <STRONG><A HREF="curs_termattrs.3x.html">curs_termattrs(3x)</A></STRONG> - <EM>curses</EM> environment query routines
1247
1248             <STRONG>o</STRONG>   <STRONG><A HREF="curs_termcap.3x.html">curs_termcap(3x)</A></STRONG> - <EM>curses</EM> emulation of <EM>termcap</EM>
1249
1250             <STRONG>o</STRONG>   <STRONG><A HREF="curs_terminfo.3x.html">curs_terminfo(3x)</A></STRONG> - <EM>curses</EM> interface to <EM>terminfo</EM> database
1251
1252             <STRONG>o</STRONG>   <STRONG><A HREF="curs_util.3x.html">curs_util(3x)</A></STRONG> - miscellaneous <EM>curses</EM> utility routines
1253
1254        <STRONG>--with-trace</STRONG>
1255             The  <STRONG>trace</STRONG>  function normally resides in the debug library, but it
1256             is sometimes useful to  configure  this  in  the  shared  library.
1257             Configure scripts should check for the function's existence rather
1258             than assuming it is always in the debug library.
1259
1260
1261 </PRE><H2><a name="h2-FILES">FILES</a></H2><PRE>
1262        <EM>/usr/share/tabset</EM>
1263               tab stop initialization database
1264
1265        <EM>/usr/share/terminfo</EM>
1266               compiled terminal capability database
1267
1268
1269 </PRE><H2><a name="h2-NOTES">NOTES</a></H2><PRE>
1270        X/Open Curses permits most functions it specifies to be made  available
1271        as macros as well.  <EM>ncurses</EM> does so
1272
1273        <STRONG>o</STRONG>   for functions that return values via their parameters,
1274
1275        <STRONG>o</STRONG>   to support obsolete features,
1276
1277        <STRONG>o</STRONG>   to  reuse functions (for example, those that move the cursor before
1278            another operation), and
1279
1280        <STRONG>o</STRONG>   in a few special cases.
1281
1282        If the standard  output  file  descriptor  of  an  <EM>ncurses</EM>  program  is
1283        redirected  to  something  that  is  not a terminal device, the library
1284        writes screen updates to the standard error file descriptor.  This  was
1285        an undocumented feature of SVr3 <EM>curses</EM>.
1286
1287        See  subsection  "Header  Files"  below  regarding  symbols  exposed by
1288        inclusion of <EM>curses.h</EM>.
1289
1290
1291 </PRE><H2><a name="h2-EXTENSIONS">EXTENSIONS</a></H2><PRE>
1292        <EM>ncurses</EM> enables an application  to  capture  mouse  events  on  certain
1293        terminals, including <STRONG>xterm(1)</STRONG>; see <STRONG><A HREF="curs_mouse.3x.html">curs_mouse(3x)</A></STRONG>.
1294
1295        <EM>ncurses</EM>  provides  a  means of responding to window resizing events, as
1296        when running in a GUI terminal emulator application such as <EM>xterm</EM>;  see
1297        <STRONG><A HREF="resizeterm.3x.html">resizeterm(3x)</A></STRONG> and <STRONG><A HREF="wresize.3x.html">wresize(3x)</A></STRONG>.
1298
1299        <EM>ncurses</EM> allows an application to query the terminal for the presence of
1300        a wide variety of special keys; see <STRONG><A HREF="curs_getch.3x.html">has_key(3x)</A></STRONG>.
1301
1302        <EM>ncurses</EM> extends the fixed set of function key capabilities specified by
1303        X/Open   Curses  by  allowing  the  application  programmer  to  define
1304        additional key events at runtime; see <STRONG><A HREF="define_key.3x.html">define_key(3x)</A></STRONG>,  <STRONG><A HREF="key_defined.3x.html">key_defined(3x)</A></STRONG>,
1305        <STRONG><A HREF="keybound.3x.html">keybound(3x)</A></STRONG>, and <STRONG><A HREF="keyok.3x.html">keyok(3x)</A></STRONG>.
1306
1307        <EM>ncurses</EM>   can   exploit  the  capabilities  of  terminals  implementing
1308        ISO 6429/ECMA-48  SGR 39  and  SGR 49   sequences,   which   allow   an
1309        application  to  reset  the  terminal  to  its  original foreground and
1310        background colors.  From a user's perspective, the application is  able
1311        to  draw colored text on a background whose color is set independently,
1312        providing better control over color contrasts.  See <STRONG><A HREF="default_colors.3x.html">default_colors(3x)</A></STRONG>.
1313
1314        An  <EM>ncurses</EM>  application  can  eschew  knowledge  of  <EM>WINDOW</EM>  structure
1315        internals, instead using accessor functions such as <STRONG><A HREF="curs_opaque.3x.html">is_scrollok(3x)</A></STRONG>.
1316
1317        <EM>ncurses</EM>  enables  an  application  to  direct  its  output to a printer
1318        attached to the terminal device; see <STRONG><A HREF="curs_print.3x.html">curs_print(3x)</A></STRONG>.
1319
1320        <EM>ncurses</EM> offers <STRONG><A HREF="curs_slk.3x.html">slk_attr(3x)</A></STRONG> as a counterpart of <STRONG><A HREF="curs_attr.3x.html">attr_get(3x)</A></STRONG> for  soft-
1321        label  key lines, and <STRONG><A HREF="curs_slk.3x.html">extended_slk_color(3x)</A></STRONG> as a form of <STRONG><A HREF="curs_slk.3x.html">slk_color(3x)</A></STRONG>
1322        that can gather color  information  from  them  when  many  colors  are
1323        supported.
1324
1325        Some  extensions  are available only if <EM>ncurses</EM> permits modification of
1326        <STRONG><A HREF="unctrl.3x.html">unctrl(3x)</A></STRONG>'s behavior; see <STRONG><A HREF="legacy_coding.3x.html">use_legacy_coding(3x)</A></STRONG>.  <EM>ncurses</EM> is  compiled
1327        to support them; section "ALTERNATE CONFIGURATIONS" describes how.
1328
1329        <EM>ncurses</EM>    permits   modification   of   <STRONG><A HREF="unctrl.3x.html">unctrl(3x)</A></STRONG>'s   behavior;   see
1330        <STRONG><A HREF="legacy_coding.3x.html">use_legacy_coding(3x)</A></STRONG>.
1331
1332        Rudimentary support for multi-threaded applications may  be  available;
1333        see <STRONG><A HREF="curs_threads.3x.html">curs_threads(3x)</A></STRONG>.
1334
1335        Functions  that ease the management of multiple screens can be exposed;
1336        see <STRONG><A HREF="curs_sp_funcs.3x.html">curs_sp_funcs(3x)</A></STRONG>.
1337
1338        To aid applications to debug their  memory  usage,  <EM>ncurses</EM>  optionally
1339        offers  functions  to  more  aggressively  free  memory  it dynamically
1340        allocates itself; see <STRONG><A HREF="curs_memleaks.3x.html">curs_memleaks(3x)</A></STRONG>.
1341
1342        The library facilitates auditing and troubleshooting of  its  behavior;
1343        see <STRONG><A HREF="curs_trace.3x.html">curs_trace(3x)</A></STRONG>.
1344
1345        Compiling  <EM>ncurses</EM>  with the option <STRONG>-DUSE_GETCAP</STRONG> causes it to fall back
1346        to reading <EM>/etc/termcap</EM> if the terminal setup code cannot find a  <EM>term-</EM>
1347        <EM>info</EM>  entry  corresponding  to  <EM>TERM</EM>.   Use  of  this  feature  is  not
1348        recommended, as it essentially includes an entire <EM>termcap</EM>  compiler  in
1349        the  <EM>ncurses</EM>  startup  code,  at a cost in memory usage and application
1350        launch latency.
1351
1352        <EM>PDCurses</EM>  and  NetBSD  <EM>curses</EM>  incorporate  some  <EM>ncurses</EM>   extensions.
1353        Individual man pages indicate where this is the case.
1354
1355
1356 </PRE><H2><a name="h2-PORTABILITY">PORTABILITY</a></H2><PRE>
1357        X/Open Curses defines two levels of conformance, "base" and "enhanced".
1358        The latter includes several additional features, such as wide-character
1359        and  color support.  <EM>ncurses</EM> intends base-level conformance with X/Open
1360        Curses, and supports all features of  its  enhanced  level  except  the
1361        <STRONG>untic</STRONG> utility.
1362
1363        Differences  between  X/Open  Curses  and <EM>ncurses</EM> are documented in the
1364        "PORTABILITY" sections of applicable man pages.
1365
1366
1367 </PRE><H3><a name="h3-Error-Checking">Error Checking</a></H3><PRE>
1368        In many cases, X/Open Curses is vague about error conditions,  omitting
1369        some of the SVr4 documentation.
1370
1371        Unlike  other  implementations, <EM>ncurses</EM> checks pointer parameters, such
1372        as those to <EM>WINDOW</EM> structures, to ensure that they are not null.   This
1373        is  done  primarily  to  guard  against programmer error.  The standard
1374        interface does not provide a way for the library to tell an application
1375        which  of several possible errors occurred.  An application that relies
1376        on <EM>ncurses</EM> to check its function parameters  for  validity  limits  its
1377        portability and robustness.
1378
1379
1380 </PRE><H3><a name="h3-Padding-Differences">Padding Differences</a></H3><PRE>
1381        In  historical  <EM>curses</EM> implementations, delays embedded in the <EM>terminfo</EM>
1382        capabilities <STRONG>carriage_return</STRONG> (<STRONG>cr</STRONG>),  <STRONG>scroll_forward</STRONG>  (<STRONG>ind</STRONG>),  <STRONG>cursor_left</STRONG>
1383        (<STRONG>cub1</STRONG>), <STRONG>form_feed</STRONG> (<STRONG>ff</STRONG>), and <STRONG>tab</STRONG> (<STRONG>ht</STRONG>) activated corresponding delay bits
1384        in the Unix terminal driver.  <EM>ncurses</EM> performs all padding  by  sending
1385        NUL  bytes  to the device.  This method is slightly more expensive, but
1386        narrows  the  interface  to   the   Unix   kernel   significantly   and
1387        correspondingly increases the package's portability.
1388
1389
1390 </PRE><H3><a name="h3-Header-Files">Header Files</a></H3><PRE>
1391        The  header  file <EM>curses.h</EM> itself includes the header files <EM>stdio.h</EM> and
1392        <EM>unctrl.h</EM>.
1393
1394        X/Open Curses has more to say,
1395
1396            The inclusion of <EM>curses.h</EM> may make visible  all  symbols  from  the
1397            headers <EM>stdio.h</EM>, <EM>term.h</EM>, <EM>termios.h</EM>, and <EM>wchar.h</EM>.
1398
1399        but does not finish the story.  A more complete account follows.
1400
1401        <STRONG>o</STRONG>   Starting  with 4BSD <EM>curses</EM> (1980) all implementations have provided
1402            a <EM>curses.h</EM> file.
1403
1404            BSD <EM>curses</EM> code included <EM>curses.h</EM> and  <EM>unctrl.h</EM>  from  an  internal
1405            header file <EM>curses.ext</EM>, where "ext" abbreviated "externs".
1406
1407            The  implementations of <EM>printw</EM> and <EM>scanw</EM> used undocumented internal
1408            functions of the standard I/O library (<STRONG>_</STRONG><EM>doprnt</EM>  and  <STRONG>_</STRONG><EM>doscan</EM>),  but
1409            nothing in <EM>curses.h</EM> itself relied upon <EM>stdio.h</EM>.
1410
1411        <STRONG>o</STRONG>   SVr2  <EM>curses</EM>  added  <EM>newterm</EM>, which relies upon <EM>stdio.h</EM> because its
1412            function prototype employs the <EM>FILE</EM> type.
1413
1414            SVr4 <EM>curses</EM> added <EM>putwin</EM> and <EM>getwin</EM>, which also use <EM>stdio.h</EM>.
1415
1416            X/Open Curses specifies all three of these functions.
1417
1418            SVr4 <EM>curses</EM> and X/Open Curses  do  not  require  the  developer  to
1419            include  <EM>stdio.h</EM>  before  <EM>curses.h</EM>.  Both document use of <EM>curses</EM> as
1420            requiring only <EM>curses.h</EM>.
1421
1422            As a result, standard <EM>curses.h</EM> always includes <EM>stdio.h</EM>.
1423
1424        <STRONG>o</STRONG>   X/Open Curses and SVr4 <EM>curses</EM>  are  inconsistent  with  respect  to
1425            <EM>unctrl.h</EM>.
1426
1427            As  noted in <STRONG><A HREF="curs_util.3x.html">curs_util(3x)</A></STRONG>, <EM>ncurses</EM> includes <EM>unctrl.h</EM> from <EM>curses.h</EM>
1428            (as SVr4 does).
1429
1430        <STRONG>o</STRONG>   X/Open Curses's comments about <EM>term.h</EM> and <EM>termios.h</EM>  may  refer  to
1431            HP-UX and AIX.
1432
1433            HP-UX  <EM>curses</EM> includes <EM>term.h</EM> from <EM>curses.h</EM> to declare <EM>setupterm</EM> in
1434            <EM>curses.h</EM>, but <EM>ncurses</EM> and Solaris <EM>curses</EM> do not.
1435
1436            AIX <EM>curses</EM> includes  <EM>term.h</EM>  and  <EM>termios.h</EM>.   Again,  <EM>ncurses</EM>  and
1437            Solaris <EM>curses</EM> do not.
1438
1439        <STRONG>o</STRONG>   X/Open  Curses  says that <EM>curses.h</EM> <STRONG>may</STRONG> include <EM>term.h</EM>, but does not
1440            require it to do so.
1441
1442            Some programs use functions declared in both <EM>curses.h</EM>  and  <EM>term.h</EM>,
1443            and  must  include  both header files in the same module.  Very old
1444            versions of  AIX  <EM>curses</EM>  required  inclusion  of  <EM>curses.h</EM>  before
1445            <EM>term.h</EM>.
1446
1447            The  header  files supplied by <EM>ncurses</EM> include the standard library
1448            headers required for its  declarations,  so  <EM>ncurses</EM>'s  own  header
1449            files  can  be  included  in  any  order.  But for portability, you
1450            should include <EM>curses.h</EM> before <EM>term.h</EM>.
1451
1452        <STRONG>o</STRONG>   X/Open Curses says "may make visible" because  including  a  header
1453            file  does  not  necessarily  make visible all of the symbols in it
1454            (consider <STRONG>#ifdef</STRONG> and similar).
1455
1456            For instance, <EM>ncurses</EM>'s <EM>curses.h</EM> <STRONG>may</STRONG> include <EM>wchar.h</EM> if the  proper
1457            symbol  is defined, and if <EM>ncurses</EM> is configured for wide-character
1458            support.  If <EM>wchar.h</EM> is included, its symbols <STRONG>may</STRONG> be  made  visible
1459            depending on the value of the <STRONG>_XOPEN_SOURCE</STRONG> feature test macro.
1460
1461        <STRONG>o</STRONG>   X/Open Curses mandates an application's inclusion of one standard C
1462            library header in a  special  case:  <EM>stdarg.h</EM>  before  <EM>curses.h</EM>  to
1463            prototype  the  functions  <EM>vw</EM><STRONG>_</STRONG><EM>printw</EM>  and  <EM>vw</EM><STRONG>_</STRONG><EM>scanw</EM> (as well as the
1464            obsolete <EM>vwprintw</EM> and <EM>vwscanw</EM>).  Each of  these  takes  a  variadic
1465            argument list, a <EM>va</EM><STRONG>_</STRONG><EM>list</EM> parameter, like that of <STRONG>printf(3)</STRONG>.
1466
1467            SVr3  <EM>curses</EM>  introduced  the  two  obsolete  functions, and X/Open
1468            Curses the others.   In  between,  SVr4  <EM>curses</EM>  provided  for  the
1469            possibility  that  an application might include either <EM>varargs.h</EM> or
1470            <EM>stdarg.h</EM>.  These represented  contrasting  approaches  to  handling
1471            variadic  argument  lists.   The older interface, <EM>varargs.h</EM>, used a
1472            pointer to <EM>char</EM> for variadic functions' <EM>va</EM><STRONG>_</STRONG><EM>list</EM> parameter.   Later,
1473            the  list  acquired its own standard data type, <EM>va</EM><STRONG>_</STRONG><EM>list</EM>, defined in
1474            <EM>stdarg.h</EM>, empowering the compiler to check the types of a  function
1475            call's  actual  parameters  against the formal ones declared in its
1476            prototype.
1477
1478            No  conforming  implementations  of  X/Open   Curses   require   an
1479            application to include <EM>stdarg.h</EM> before <EM>curses.h</EM> because they either
1480            have allowed for a special type, or,  like  <EM>ncurses</EM>,  they  include
1481            <EM>stdarg.h</EM> themselves to provide a portable interface.
1482
1483
1484 </PRE><H2><a name="h2-AUTHORS">AUTHORS</a></H2><PRE>
1485        Zeyd M. Ben-Halim, Eric S. Raymond, Thomas E. Dickey.  Based on <EM>pcurses</EM>
1486        by Pavel Curtis.
1487
1488
1489 </PRE><H2><a name="h2-SEE-ALSO">SEE ALSO</a></H2><PRE>
1490        <STRONG><A HREF="curs_variables.3x.html">curs_variables(3x)</A></STRONG>, <STRONG><A HREF="terminfo.5.html">terminfo(5)</A></STRONG>, <STRONG><A HREF="user_caps.5.html">user_caps(5)</A></STRONG>
1491
1492
1493
1494 ncurses 6.5                       2024-05-18                       <STRONG><A HREF="ncurses.3x.html">ncurses(3x)</A></STRONG>
1495 </PRE>
1496 <div class="nav">
1497 <ul>
1498 <li><a href="#h2-NAME">NAME</a></li>
1499 <li><a href="#h2-SYNOPSIS">SYNOPSIS</a></li>
1500 <li><a href="#h2-DESCRIPTION">DESCRIPTION</a>
1501 <ul>
1502 <li><a href="#h3-Application-Structure">Application Structure</a></li>
1503 <li><a href="#h3-Overview">Overview</a></li>
1504 <li><a href="#h3-Initialization">Initialization</a></li>
1505 <li><a href="#h3-Naming-Conventions">Naming Conventions</a></li>
1506 <li><a href="#h3-Wide-and-Non-wide-Character-Configurations">Wide and Non-wide Character Configurations</a></li>
1507 <li><a href="#h3-Function-Name-Index">Function Name Index</a></li>
1508 </ul>
1509 </li>
1510 <li><a href="#h2-RETURN-VALUE">RETURN VALUE</a></li>
1511 <li><a href="#h2-ENVIRONMENT">ENVIRONMENT</a>
1512 <ul>
1513 <li><a href="#h3-BAUDRATE">BAUDRATE</a></li>
1514 <li><a href="#h3-CC-_command-character_">CC (command character)</a></li>
1515 <li><a href="#h3-COLUMNS">COLUMNS</a></li>
1516 <li><a href="#h3-ESCDELAY">ESCDELAY</a></li>
1517 <li><a href="#h3-HOME">HOME</a></li>
1518 <li><a href="#h3-LINES">LINES</a></li>
1519 <li><a href="#h3-MOUSE_BUTTONS_123">MOUSE_BUTTONS_123</a></li>
1520 <li><a href="#h3-NCURSES_ASSUMED_COLORS">NCURSES_ASSUMED_COLORS</a></li>
1521 <li><a href="#h3-NCURSES_CONSOLE2">NCURSES_CONSOLE2</a></li>
1522 <li><a href="#h3-NCURSES_GPM_TERMS">NCURSES_GPM_TERMS</a></li>
1523 <li><a href="#h3-NCURSES_NO_HARD_TABS">NCURSES_NO_HARD_TABS</a></li>
1524 <li><a href="#h3-NCURSES_NO_MAGIC_COOKIE">NCURSES_NO_MAGIC_COOKIE</a></li>
1525 <li><a href="#h3-NCURSES_NO_PADDING">NCURSES_NO_PADDING</a></li>
1526 <li><a href="#h3-NCURSES_NO_SETBUF">NCURSES_NO_SETBUF</a></li>
1527 <li><a href="#h3-NCURSES_NO_UTF8_ACS">NCURSES_NO_UTF8_ACS</a></li>
1528 <li><a href="#h3-NCURSES_TRACE">NCURSES_TRACE</a></li>
1529 <li><a href="#h3-TERM">TERM</a></li>
1530 <li><a href="#h3-TERMCAP">TERMCAP</a></li>
1531 <li><a href="#h3-TERMINFO">TERMINFO</a></li>
1532 <li><a href="#h3-TERMINFO_DIRS">TERMINFO_DIRS</a></li>
1533 <li><a href="#h3-TERMPATH">TERMPATH</a></li>
1534 </ul>
1535 </li>
1536 <li><a href="#h2-ALTERNATE-CONFIGURATIONS">ALTERNATE CONFIGURATIONS</a></li>
1537 <li><a href="#h2-FILES">FILES</a></li>
1538 <li><a href="#h2-NOTES">NOTES</a></li>
1539 <li><a href="#h2-EXTENSIONS">EXTENSIONS</a></li>
1540 <li><a href="#h2-PORTABILITY">PORTABILITY</a>
1541 <ul>
1542 <li><a href="#h3-Error-Checking">Error Checking</a></li>
1543 <li><a href="#h3-Padding-Differences">Padding Differences</a></li>
1544 <li><a href="#h3-Header-Files">Header Files</a></li>
1545 </ul>
1546 </li>
1547 <li><a href="#h2-AUTHORS">AUTHORS</a></li>
1548 <li><a href="#h2-SEE-ALSO">SEE ALSO</a></li>
1549 </ul>
1550 </div>
1551 </BODY>
1552 </HTML>