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