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