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