missing ncurses sources
[tomato.git] / release / src / router / libncurses / doc / html / man / ncurses.3x.html
blob576b1a15ec454a087103a28c4e2501e1708f009f
1 <!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML 2.0//EN">
2 <!--
3 * t
4 ****************************************************************************
5 * Copyright (c) 1998-2010,2011 Free Software Foundation, Inc. *
6 * *
7 * Permission is hereby granted, free of charge, to any person obtaining a *
8 * copy of this software and associated documentation files (the *
9 * "Software"), to deal in the Software without restriction, including *
10 * without limitation the rights to use, copy, modify, merge, publish, *
11 * distribute, distribute with modifications, sublicense, and/or sell *
12 * copies of the Software, and to permit persons to whom the Software is *
13 * furnished to do so, subject to the following conditions: *
14 * *
15 * The above copyright notice and this permission notice shall be included *
16 * in all copies or substantial portions of the Software. *
17 * *
18 * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS *
19 * OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF *
20 * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. *
21 * IN NO EVENT SHALL THE ABOVE COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, *
22 * DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR *
23 * OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR *
24 * THE USE OR OTHER DEALINGS IN THE SOFTWARE. *
25 * *
26 * Except as contained in this notice, the name(s) of the above copyright *
27 * holders shall not be used in advertising or otherwise to promote the *
28 * sale, use or other dealings in this Software without prior written *
29 * authorization. *
30 ****************************************************************************
31 * @Id: ncurses.3x,v 1.103 2011/02/05 23:21:29 tom Exp @
32 -->
33 <HTML>
34 <HEAD>
35 <TITLE>ncurses 3x</TITLE>
36 <link rev=made href="mailto:bug-ncurses@gnu.org">
37 <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
38 </HEAD>
39 <BODY>
40 <H1>ncurses 3x</H1>
41 <HR>
42 <PRE>
43 <!-- Manpage converted by man2html 3.0.1 -->
44 <STRONG><A HREF="ncurses.3x.html">ncurses(3x)</A></STRONG> <STRONG><A HREF="ncurses.3x.html">ncurses(3x)</A></STRONG>
49 </PRE>
50 <H2>NAME</H2><PRE>
51 <STRONG>ncurses</STRONG> - CRT screen handling and optimization package
54 </PRE>
55 <H2>SYNOPSIS</H2><PRE>
56 <STRONG>#include</STRONG> <STRONG>&lt;curses.h&gt;</STRONG>
59 </PRE>
60 <H2>DESCRIPTION</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
64 curses'' (ncurses) and is the approved replacement for
65 4.4BSD classic curses, which has been discontinued. This
66 describes <STRONG>ncurses</STRONG> version 5.9 (patch 20110404).
68 The <STRONG>ncurses</STRONG> library emulates the curses library of System
69 V Release 4 UNIX, and XPG4 (X/Open Portability Guide)
70 curses (also known as XSI curses). XSI stands for X/Open
71 System Interfaces Extension. The <STRONG>ncurses</STRONG> library is
72 freely redistributable in source form. Differences from
73 the SVr4 curses are summarized under the <STRONG>EXTENSIONS</STRONG> and
74 <STRONG>PORTABILITY</STRONG> sections below and described in detail in the
75 respective <STRONG>EXTENSIONS</STRONG>, <STRONG>PORTABILITY</STRONG> and <STRONG>BUGS</STRONG> sections of
76 individual man pages.
78 The <STRONG>ncurses</STRONG> library also provides many useful extensions,
79 i.e., features which cannot be implemented by a simple
80 add-on library but which require access to the internals
81 of the library.
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.
99 The library uses the locale which the calling program has
100 initialized. That is normally done with <STRONG>setlocale</STRONG>:
102 <STRONG>setlocale(LC_ALL,</STRONG> <STRONG>"");</STRONG>
104 If the locale is not initialized, the library assumes that
105 characters are printable as in ISO-8859-1, to work with
106 certain legacy programs. You should initialize the locale
107 and not rely on specific details of the library when the
108 locale has not been setup.
110 The function <STRONG>initscr</STRONG> or <STRONG>newterm</STRONG> must be called to initial-
111 ize the library before any of the other routines that deal
112 with windows and screens are used. The routine <STRONG>endwin</STRONG>
113 must be called before exiting.
115 To get character-at-a-time input without echoing (most
116 interactive, screen oriented programs want this), the fol-
117 lowing sequence should be used:
119 <STRONG>initscr();</STRONG> <STRONG>cbreak();</STRONG> <STRONG>noecho();</STRONG>
121 Most programs would additionally use the sequence:
123 <STRONG>nonl();</STRONG>
124 <STRONG>intrflush(stdscr,</STRONG> <STRONG>FALSE);</STRONG>
125 <STRONG>keypad(stdscr,</STRONG> <STRONG>TRUE);</STRONG>
127 Before a <STRONG>curses</STRONG> program is run, the tab stops of the ter-
128 minal should be set and its initialization strings, if
129 defined, must be output. This can be done by executing
130 the <STRONG>tput</STRONG> <STRONG>init</STRONG> command after the shell environment variable
131 <STRONG>TERM</STRONG> has been exported. <STRONG>tset(1)</STRONG> is usually responsible
132 for doing this. [See <STRONG><A HREF="terminfo.5.html">terminfo(5)</A></STRONG> for further details.]
134 The <STRONG>ncurses</STRONG> library permits manipulation of data struc-
135 tures, called <EM>windows</EM>, which can be thought of as two-
136 dimensional arrays of characters representing all or part
137 of a CRT screen. A default window called <STRONG>stdscr</STRONG>, which is
138 the size of the terminal screen, is supplied. Others may
139 be created with <STRONG>newwin</STRONG>.
141 Note that <STRONG>curses</STRONG> does not handle overlapping windows,
142 that's done by the <STRONG><A HREF="panel.3x.html">panel(3x)</A></STRONG> library. This means that you
143 can either use <STRONG>stdscr</STRONG> or divide the screen into tiled win-
144 dows and not using <STRONG>stdscr</STRONG> at all. Mixing the two will
145 result in unpredictable, and undesired, effects.
147 Windows are referred to by variables declared as <STRONG>WINDOW</STRONG> <STRONG>*</STRONG>.
148 These data structures are manipulated with routines
149 described here and elsewhere in the <STRONG>ncurses</STRONG> manual pages.
150 Among those, the most basic routines are <STRONG>move</STRONG> and <STRONG>addch</STRONG>.
151 More general versions of these routines are included with
152 names beginning with <STRONG>w</STRONG>, allowing the user to specify a
153 window. The routines not beginning with <STRONG>w</STRONG> affect <STRONG>stdscr</STRONG>.
155 After using routines to manipulate a window, <STRONG>refresh</STRONG> is
156 called, telling <STRONG>curses</STRONG> to make the user's CRT screen look
157 like <STRONG>stdscr</STRONG>. The characters in a window are actually of
158 type <STRONG>chtype</STRONG>, (character and attribute data) so that other
159 information about the character may also be stored with
160 each character.
162 Special windows called <EM>pads</EM> may also be manipulated.
163 These are windows which are not constrained to the size of
164 the screen and whose contents need not be completely dis-
165 played. See <STRONG><A HREF="curs_pad.3x.html">curs_pad(3x)</A></STRONG> for more information.
167 In addition to drawing characters on the screen, video
168 attributes and colors may be supported, causing the char-
169 acters to show up in such modes as underlined, in reverse
170 video, or in color on terminals that support such display
171 enhancements. Line drawing characters may be specified to
172 be output. On input, <STRONG>curses</STRONG> is also able to translate
173 arrow and function keys that transmit escape sequences
174 into single values. The video attributes, line drawing
175 characters, and input values use names, defined in
176 <STRONG>&lt;curses.h&gt;</STRONG>, such as <STRONG>A_REVERSE</STRONG>, <STRONG>ACS_HLINE</STRONG>, and <STRONG>KEY_LEFT</STRONG>.
178 If the environment variables <STRONG>LINES</STRONG> and <STRONG>COLUMNS</STRONG> are set, or
179 if the program is executing in a window environment, line
180 and column information in the environment will override
181 information read by <EM>terminfo</EM>. This would affect a program
182 running in an AT&amp;T 630 layer, for example, where the size
183 of a screen is changeable (see <STRONG>ENVIRONMENT</STRONG>).
185 If the environment variable <STRONG>TERMINFO</STRONG> is defined, any pro-
186 gram using <STRONG>curses</STRONG> checks for a local terminal definition
187 before checking in the standard place. For example, if
188 <STRONG>TERM</STRONG> is set to <STRONG>att4424</STRONG>, then the compiled terminal defini-
189 tion is found in
191 <STRONG>/usr/share/terminfo/a/att4424</STRONG>.
193 (The <STRONG>a</STRONG> is copied from the first letter of <STRONG>att4424</STRONG> to avoid
194 creation of huge directories.) However, if <STRONG>TERMINFO</STRONG> is
195 set to <STRONG>$HOME/myterms</STRONG>, <STRONG>curses</STRONG> first checks
197 <STRONG>$HOME/myterms/a/att4424</STRONG>,
199 and if that fails, it then checks
201 <STRONG>/usr/share/terminfo/a/att4424</STRONG>.
203 This is useful for developing experimental definitions or
204 when write permission in <STRONG>/usr/share/terminfo</STRONG> is not avail-
205 able.
207 The integer variables <STRONG>LINES</STRONG> and <STRONG>COLS</STRONG> are defined in
208 <STRONG>&lt;curses.h&gt;</STRONG> and will be filled in by <STRONG>initscr</STRONG> with the size
209 of the screen. The constants <STRONG>TRUE</STRONG> and <STRONG>FALSE</STRONG> have the val-
210 ues <STRONG>1</STRONG> and <STRONG>0</STRONG>, respectively.
212 The <STRONG>curses</STRONG> routines also define the <STRONG>WINDOW</STRONG> <STRONG>*</STRONG> variable
213 <STRONG>curscr</STRONG> which is used for certain low-level operations like
214 clearing and redrawing a screen containing garbage. The
215 <STRONG>curscr</STRONG> can be used in only a few routines.
217 <STRONG>Routine</STRONG> <STRONG>and</STRONG> <STRONG>Argument</STRONG> <STRONG>Names</STRONG>
218 Many <STRONG>curses</STRONG> routines have two or more versions. The rou-
219 tines prefixed with <STRONG>w</STRONG> require a window argument. The rou-
220 tines prefixed with <STRONG>p</STRONG> require a pad argument. Those with-
221 out a prefix generally use <STRONG>stdscr</STRONG>.
223 The routines prefixed with <STRONG>mv</STRONG> require a <EM>y</EM> and <EM>x</EM> coordinate
224 to move to before performing the appropriate action. The
225 <STRONG>mv</STRONG> routines imply a call to <STRONG>move</STRONG> before the call to the
226 other routine. The coordinate <EM>y</EM> always refers to the row
227 (of the window), and <EM>x</EM> always refers to the column. The
228 upper left-hand corner is always (0,0), not (1,1).
230 The routines prefixed with <STRONG>mvw</STRONG> take both a window argument
231 and <EM>x</EM> and <EM>y</EM> coordinates. The window argument is always
232 specified before the coordinates.
234 In each case, <EM>win</EM> is the window affected, and <EM>pad</EM> is the
235 pad affected; <EM>win</EM> and <EM>pad</EM> are always pointers to type <STRONG>WIN-</STRONG>
236 <STRONG>DOW</STRONG>.
238 Option setting routines require a Boolean flag <EM>bf</EM> with the
239 value <STRONG>TRUE</STRONG> or <STRONG>FALSE</STRONG>; <EM>bf</EM> is always of type <STRONG>bool</STRONG>. Most of
240 the data types used in the library routines, such as <STRONG>WIN-</STRONG>
241 <STRONG>DOW</STRONG>, <STRONG>SCREEN</STRONG>, <STRONG>bool</STRONG>, and <STRONG>chtype</STRONG> are defined in <STRONG>&lt;curses.h&gt;</STRONG>.
242 Types used for the terminfo routines such as <STRONG>TERMINAL</STRONG> are
243 defined in <STRONG>&lt;term.h&gt;</STRONG>.
245 This manual page describes functions which may appear in
246 any configuration of the library. There are two common
247 configurations of the library:
249 ncurses
250 the "normal" library, which handles 8-bit
251 characters. The normal (8-bit) library stores
252 characters combined with attributes in <STRONG>chtype</STRONG>
253 data.
255 Attributes alone (no corresponding character)
256 may be stored in <STRONG>chtype</STRONG> or the equivalent
257 <STRONG>attr_t</STRONG> data. In either case, the data is
258 stored in something like an integer.
260 Each cell (row and column) in a <STRONG>WINDOW</STRONG> is
261 stored as a <STRONG>chtype</STRONG>.
263 ncursesw
264 the so-called "wide" library, which handles
265 multibyte characters (see the section on
266 <STRONG>ALTERNATE</STRONG> <STRONG>CONFIGURATIONS</STRONG>). The "wide" library
267 includes all of the calls from the "normal"
268 library. It adds about one third more calls
269 using data types which store multibyte charac-
270 ters:
272 <STRONG>cchar_t</STRONG>
273 corresponds to <STRONG>chtype</STRONG>. However it is a
274 structure, because more data is stored
275 than can fit into an integer. The char-
276 acters are large enough to require a full
277 integer value - and there may be more
278 than one character per cell. The video
279 attributes and color are stored in sepa-
280 rate fields of the structure.
282 Each cell (row and column) in a <STRONG>WINDOW</STRONG> is
283 stored as a <STRONG>cchar_t</STRONG>.
285 <STRONG>wchar_t</STRONG>
286 stores a "wide" character. Like <STRONG>chtype</STRONG>,
287 this may be an integer.
289 <STRONG>wint_t</STRONG>
290 stores a <STRONG>wchar_t</STRONG> or <STRONG>WEOF</STRONG> - not the same,
291 though both may have the same size.
293 The "wide" library provides new functions
294 which are analogous to functions in the "nor-
295 mal" library. There is a naming convention
296 which relates many of the normal/wide vari-
297 ants: a "_w" is inserted into the name. For
298 example, <STRONG>waddch</STRONG> becomes <STRONG>wadd_wch</STRONG>.
301 <STRONG>Routine</STRONG> <STRONG>Name</STRONG> <STRONG>Index</STRONG>
302 The following table lists each <STRONG>curses</STRONG> routine and the name
303 of the manual page on which it is described. Routines
304 flagged with `*' are ncurses-specific, not described by
305 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>*
314 _nc_freeall <STRONG><A HREF="curs_memleaks.3x.html">curs_memleaks(3x)</A></STRONG>*
315 _nc_tracebits <STRONG><A HREF="curs_trace.3x.html">curs_trace(3x)</A></STRONG>*
316 _traceattr <STRONG><A HREF="curs_trace.3x.html">curs_trace(3x)</A></STRONG>*
317 _traceattr2 <STRONG><A HREF="curs_trace.3x.html">curs_trace(3x)</A></STRONG>*
318 _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>
380 endwin <STRONG><A HREF="curs_initscr.3x.html">curs_initscr(3x)</A></STRONG>
381 erase <STRONG><A HREF="curs_clear.3x.html">curs_clear(3x)</A></STRONG>
382 erasechar <STRONG><A HREF="curs_termattrs.3x.html">curs_termattrs(3x)</A></STRONG>
383 erasewchar <STRONG><A HREF="curs_termattrs.3x.html">curs_termattrs(3x)</A></STRONG>
384 filter <STRONG><A HREF="curs_util.3x.html">curs_util(3x)</A></STRONG>
385 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>*
446 is_idcok <STRONG><A HREF="curs_opaque.3x.html">curs_opaque(3x)</A></STRONG>*
447 is_idlok <STRONG><A HREF="curs_opaque.3x.html">curs_opaque(3x)</A></STRONG>*
448 is_immedok <STRONG><A HREF="curs_opaque.3x.html">curs_opaque(3x)</A></STRONG>*
449 is_keypad <STRONG><A HREF="curs_opaque.3x.html">curs_opaque(3x)</A></STRONG>*
450 is_leaveok <STRONG><A HREF="curs_opaque.3x.html">curs_opaque(3x)</A></STRONG>*
451 is_linetouched <STRONG><A HREF="curs_touch.3x.html">curs_touch(3x)</A></STRONG>
452 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_scrollok <STRONG><A HREF="curs_opaque.3x.html">curs_opaque(3x)</A></STRONG>*
455 is_syncok <STRONG><A HREF="curs_opaque.3x.html">curs_opaque(3x)</A></STRONG>*
456 is_term_resized <STRONG><A HREF="resizeterm.3x.html">resizeterm(3x)</A></STRONG>*
457 is_wintouched <STRONG><A HREF="curs_touch.3x.html">curs_touch(3x)</A></STRONG>
458 isendwin <STRONG><A HREF="curs_initscr.3x.html">curs_initscr(3x)</A></STRONG>
459 key_defined <STRONG><A HREF="key_defined.3x.html">key_defined(3x)</A></STRONG>*
460 key_name <STRONG><A HREF="curs_util.3x.html">curs_util(3x)</A></STRONG>
461 keybound <STRONG><A HREF="keybound.3x.html">keybound(3x)</A></STRONG>*
462 keyname <STRONG><A HREF="curs_util.3x.html">curs_util(3x)</A></STRONG>
463 keyok <STRONG><A HREF="keyok.3x.html">keyok(3x)</A></STRONG>*
464 keypad <STRONG><A HREF="curs_inopts.3x.html">curs_inopts(3x)</A></STRONG>
465 killchar <STRONG><A HREF="curs_termattrs.3x.html">curs_termattrs(3x)</A></STRONG>
466 killwchar <STRONG><A HREF="curs_termattrs.3x.html">curs_termattrs(3x)</A></STRONG>
467 leaveok <STRONG><A HREF="curs_outopts.3x.html">curs_outopts(3x)</A></STRONG>
468 longname <STRONG><A HREF="curs_termattrs.3x.html">curs_termattrs(3x)</A></STRONG>
469 mcprint <STRONG><A HREF="curs_print.3x.html">curs_print(3x)</A></STRONG>*
470 meta <STRONG><A HREF="curs_inopts.3x.html">curs_inopts(3x)</A></STRONG>
471 mouse_trafo <STRONG><A HREF="curs_mouse.3x.html">curs_mouse(3x)</A></STRONG>*
472 mouseinterval <STRONG><A HREF="curs_mouse.3x.html">curs_mouse(3x)</A></STRONG>*
473 mousemask <STRONG><A HREF="curs_mouse.3x.html">curs_mouse(3x)</A></STRONG>*
474 move <STRONG><A HREF="curs_move.3x.html">curs_move(3x)</A></STRONG>
475 mvadd_wch <STRONG><A HREF="curs_add_wch.3x.html">curs_add_wch(3x)</A></STRONG>
476 mvadd_wchnstr <STRONG><A HREF="curs_add_wchstr.3x.html">curs_add_wchstr(3x)</A></STRONG>
477 mvadd_wchstr <STRONG><A HREF="curs_add_wchstr.3x.html">curs_add_wchstr(3x)</A></STRONG>
478 mvaddch <STRONG><A HREF="curs_addch.3x.html">curs_addch(3x)</A></STRONG>
479 mvaddchnstr <STRONG><A HREF="curs_addchstr.3x.html">curs_addchstr(3x)</A></STRONG>
480 mvaddchstr <STRONG><A HREF="curs_addchstr.3x.html">curs_addchstr(3x)</A></STRONG>
481 mvaddnstr <STRONG><A HREF="curs_addstr.3x.html">curs_addstr(3x)</A></STRONG>
482 mvaddnwstr <STRONG><A HREF="curs_addwstr.3x.html">curs_addwstr(3x)</A></STRONG>
483 mvaddstr <STRONG><A HREF="curs_addstr.3x.html">curs_addstr(3x)</A></STRONG>
484 mvaddwstr <STRONG><A HREF="curs_addwstr.3x.html">curs_addwstr(3x)</A></STRONG>
485 mvchgat <STRONG><A HREF="curs_attr.3x.html">curs_attr(3x)</A></STRONG>
486 mvcur <STRONG><A HREF="curs_terminfo.3x.html">curs_terminfo(3x)</A></STRONG>
487 mvdelch <STRONG><A HREF="curs_delch.3x.html">curs_delch(3x)</A></STRONG>
488 mvderwin <STRONG><A HREF="curs_window.3x.html">curs_window(3x)</A></STRONG>
489 mvget_wch <STRONG><A HREF="curs_get_wch.3x.html">curs_get_wch(3x)</A></STRONG>
490 mvget_wstr <STRONG><A HREF="curs_get_wstr.3x.html">curs_get_wstr(3x)</A></STRONG>
491 mvgetch <STRONG><A HREF="curs_getch.3x.html">curs_getch(3x)</A></STRONG>
492 mvgetn_wstr <STRONG><A HREF="curs_get_wstr.3x.html">curs_get_wstr(3x)</A></STRONG>
493 mvgetnstr <STRONG><A HREF="curs_getstr.3x.html">curs_getstr(3x)</A></STRONG>
494 mvgetstr <STRONG><A HREF="curs_getstr.3x.html">curs_getstr(3x)</A></STRONG>
495 mvhline <STRONG><A HREF="curs_border.3x.html">curs_border(3x)</A></STRONG>
496 mvhline_set <STRONG><A HREF="curs_border_set.3x.html">curs_border_set(3x)</A></STRONG>
497 mvin_wch <STRONG><A HREF="curs_in_wch.3x.html">curs_in_wch(3x)</A></STRONG>
498 mvin_wchnstr <STRONG><A HREF="curs_in_wchstr.3x.html">curs_in_wchstr(3x)</A></STRONG>
499 mvin_wchstr <STRONG><A HREF="curs_in_wchstr.3x.html">curs_in_wchstr(3x)</A></STRONG>
500 mvinch <STRONG><A HREF="curs_inch.3x.html">curs_inch(3x)</A></STRONG>
501 mvinchnstr <STRONG><A HREF="curs_inchstr.3x.html">curs_inchstr(3x)</A></STRONG>
502 mvinchstr <STRONG><A HREF="curs_inchstr.3x.html">curs_inchstr(3x)</A></STRONG>
503 mvinnstr <STRONG><A HREF="curs_instr.3x.html">curs_instr(3x)</A></STRONG>
504 mvinnwstr <STRONG><A HREF="curs_inwstr.3x.html">curs_inwstr(3x)</A></STRONG>
505 mvins_nwstr <STRONG><A HREF="curs_ins_wstr.3x.html">curs_ins_wstr(3x)</A></STRONG>
506 mvins_wch <STRONG><A HREF="curs_ins_wch.3x.html">curs_ins_wch(3x)</A></STRONG>
507 mvins_wstr <STRONG><A HREF="curs_ins_wstr.3x.html">curs_ins_wstr(3x)</A></STRONG>
508 mvinsch <STRONG><A HREF="curs_insch.3x.html">curs_insch(3x)</A></STRONG>
509 mvinsnstr <STRONG><A HREF="curs_insstr.3x.html">curs_insstr(3x)</A></STRONG>
510 mvinsstr <STRONG><A HREF="curs_insstr.3x.html">curs_insstr(3x)</A></STRONG>
512 mvinstr <STRONG><A HREF="curs_instr.3x.html">curs_instr(3x)</A></STRONG>
513 mvinwstr <STRONG><A HREF="curs_inwstr.3x.html">curs_inwstr(3x)</A></STRONG>
514 mvprintw <STRONG><A HREF="curs_printw.3x.html">curs_printw(3x)</A></STRONG>
515 mvscanw <STRONG><A HREF="curs_scanw.3x.html">curs_scanw(3x)</A></STRONG>
516 mvvline <STRONG><A HREF="curs_border.3x.html">curs_border(3x)</A></STRONG>
517 mvvline_set <STRONG><A HREF="curs_border_set.3x.html">curs_border_set(3x)</A></STRONG>
518 mvwadd_wch <STRONG><A HREF="curs_add_wch.3x.html">curs_add_wch(3x)</A></STRONG>
519 mvwadd_wchnstr <STRONG><A HREF="curs_add_wchstr.3x.html">curs_add_wchstr(3x)</A></STRONG>
520 mvwadd_wchstr <STRONG><A HREF="curs_add_wchstr.3x.html">curs_add_wchstr(3x)</A></STRONG>
521 mvwaddch <STRONG><A HREF="curs_addch.3x.html">curs_addch(3x)</A></STRONG>
522 mvwaddchnstr <STRONG><A HREF="curs_addchstr.3x.html">curs_addchstr(3x)</A></STRONG>
523 mvwaddchstr <STRONG><A HREF="curs_addchstr.3x.html">curs_addchstr(3x)</A></STRONG>
524 mvwaddnstr <STRONG><A HREF="curs_addstr.3x.html">curs_addstr(3x)</A></STRONG>
525 mvwaddnwstr <STRONG><A HREF="curs_addwstr.3x.html">curs_addwstr(3x)</A></STRONG>
526 mvwaddstr <STRONG><A HREF="curs_addstr.3x.html">curs_addstr(3x)</A></STRONG>
527 mvwaddwstr <STRONG><A HREF="curs_addwstr.3x.html">curs_addwstr(3x)</A></STRONG>
528 mvwchgat <STRONG><A HREF="curs_attr.3x.html">curs_attr(3x)</A></STRONG>
529 mvwdelch <STRONG><A HREF="curs_delch.3x.html">curs_delch(3x)</A></STRONG>
530 mvwget_wch <STRONG><A HREF="curs_get_wch.3x.html">curs_get_wch(3x)</A></STRONG>
531 mvwget_wstr <STRONG><A HREF="curs_get_wstr.3x.html">curs_get_wstr(3x)</A></STRONG>
532 mvwgetch <STRONG><A HREF="curs_getch.3x.html">curs_getch(3x)</A></STRONG>
533 mvwgetn_wstr <STRONG><A HREF="curs_get_wstr.3x.html">curs_get_wstr(3x)</A></STRONG>
534 mvwgetnstr <STRONG><A HREF="curs_getstr.3x.html">curs_getstr(3x)</A></STRONG>
535 mvwgetstr <STRONG><A HREF="curs_getstr.3x.html">curs_getstr(3x)</A></STRONG>
536 mvwhline <STRONG><A HREF="curs_border.3x.html">curs_border(3x)</A></STRONG>
537 mvwhline_set <STRONG><A HREF="curs_border_set.3x.html">curs_border_set(3x)</A></STRONG>
538 mvwin <STRONG><A HREF="curs_window.3x.html">curs_window(3x)</A></STRONG>
539 mvwin_wch <STRONG><A HREF="curs_in_wch.3x.html">curs_in_wch(3x)</A></STRONG>
540 mvwin_wchnstr <STRONG><A HREF="curs_in_wchstr.3x.html">curs_in_wchstr(3x)</A></STRONG>
541 mvwin_wchstr <STRONG><A HREF="curs_in_wchstr.3x.html">curs_in_wchstr(3x)</A></STRONG>
542 mvwinch <STRONG><A HREF="curs_inch.3x.html">curs_inch(3x)</A></STRONG>
543 mvwinchnstr <STRONG><A HREF="curs_inchstr.3x.html">curs_inchstr(3x)</A></STRONG>
544 mvwinchstr <STRONG><A HREF="curs_inchstr.3x.html">curs_inchstr(3x)</A></STRONG>
545 mvwinnstr <STRONG><A HREF="curs_instr.3x.html">curs_instr(3x)</A></STRONG>
546 mvwinnwstr <STRONG><A HREF="curs_inwstr.3x.html">curs_inwstr(3x)</A></STRONG>
547 mvwins_nwstr <STRONG><A HREF="curs_ins_wstr.3x.html">curs_ins_wstr(3x)</A></STRONG>
548 mvwins_wch <STRONG><A HREF="curs_ins_wch.3x.html">curs_ins_wch(3x)</A></STRONG>
549 mvwins_wstr <STRONG><A HREF="curs_ins_wstr.3x.html">curs_ins_wstr(3x)</A></STRONG>
550 mvwinsch <STRONG><A HREF="curs_insch.3x.html">curs_insch(3x)</A></STRONG>
551 mvwinsnstr <STRONG><A HREF="curs_insstr.3x.html">curs_insstr(3x)</A></STRONG>
552 mvwinsstr <STRONG><A HREF="curs_insstr.3x.html">curs_insstr(3x)</A></STRONG>
553 mvwinstr <STRONG><A HREF="curs_instr.3x.html">curs_instr(3x)</A></STRONG>
554 mvwinwstr <STRONG><A HREF="curs_inwstr.3x.html">curs_inwstr(3x)</A></STRONG>
555 mvwprintw <STRONG><A HREF="curs_printw.3x.html">curs_printw(3x)</A></STRONG>
556 mvwscanw <STRONG><A HREF="curs_scanw.3x.html">curs_scanw(3x)</A></STRONG>
557 mvwvline <STRONG><A HREF="curs_border.3x.html">curs_border(3x)</A></STRONG>
558 mvwvline_set <STRONG><A HREF="curs_border_set.3x.html">curs_border_set(3x)</A></STRONG>
559 napms <STRONG><A HREF="curs_kernel.3x.html">curs_kernel(3x)</A></STRONG>
560 newpad <STRONG><A HREF="curs_pad.3x.html">curs_pad(3x)</A></STRONG>
561 newterm <STRONG><A HREF="curs_initscr.3x.html">curs_initscr(3x)</A></STRONG>
562 newwin <STRONG><A HREF="curs_window.3x.html">curs_window(3x)</A></STRONG>
563 nl <STRONG><A HREF="curs_outopts.3x.html">curs_outopts(3x)</A></STRONG>
564 nocbreak <STRONG><A HREF="curs_inopts.3x.html">curs_inopts(3x)</A></STRONG>
565 nodelay <STRONG><A HREF="curs_inopts.3x.html">curs_inopts(3x)</A></STRONG>
566 noecho <STRONG><A HREF="curs_inopts.3x.html">curs_inopts(3x)</A></STRONG>
567 nofilter <STRONG><A HREF="curs_util.3x.html">curs_util(3x)</A></STRONG>*
568 nonl <STRONG><A HREF="curs_outopts.3x.html">curs_outopts(3x)</A></STRONG>
569 noqiflush <STRONG><A HREF="curs_inopts.3x.html">curs_inopts(3x)</A></STRONG>
570 noraw <STRONG><A HREF="curs_inopts.3x.html">curs_inopts(3x)</A></STRONG>
571 notimeout <STRONG><A HREF="curs_inopts.3x.html">curs_inopts(3x)</A></STRONG>
572 overlay <STRONG><A HREF="curs_overlay.3x.html">curs_overlay(3x)</A></STRONG>
573 overwrite <STRONG><A HREF="curs_overlay.3x.html">curs_overlay(3x)</A></STRONG>
574 pair_content <STRONG><A HREF="curs_color.3x.html">curs_color(3x)</A></STRONG>
575 pechochar <STRONG><A HREF="curs_pad.3x.html">curs_pad(3x)</A></STRONG>
576 pnoutrefresh <STRONG><A HREF="curs_pad.3x.html">curs_pad(3x)</A></STRONG>
578 prefresh <STRONG><A HREF="curs_pad.3x.html">curs_pad(3x)</A></STRONG>
579 printw <STRONG><A HREF="curs_printw.3x.html">curs_printw(3x)</A></STRONG>
580 putp <STRONG><A HREF="curs_terminfo.3x.html">curs_terminfo(3x)</A></STRONG>
581 putwin <STRONG><A HREF="curs_util.3x.html">curs_util(3x)</A></STRONG>
582 qiflush <STRONG><A HREF="curs_inopts.3x.html">curs_inopts(3x)</A></STRONG>
583 raw <STRONG><A HREF="curs_inopts.3x.html">curs_inopts(3x)</A></STRONG>
584 redrawwin <STRONG><A HREF="curs_refresh.3x.html">curs_refresh(3x)</A></STRONG>
585 refresh <STRONG><A HREF="curs_refresh.3x.html">curs_refresh(3x)</A></STRONG>
586 reset_prog_mode <STRONG><A HREF="curs_kernel.3x.html">curs_kernel(3x)</A></STRONG>
587 reset_shell_mode <STRONG><A HREF="curs_kernel.3x.html">curs_kernel(3x)</A></STRONG>
588 resetty <STRONG><A HREF="curs_kernel.3x.html">curs_kernel(3x)</A></STRONG>
589 resizeterm <STRONG><A HREF="resizeterm.3x.html">resizeterm(3x)</A></STRONG>*
590 restartterm <STRONG><A HREF="curs_terminfo.3x.html">curs_terminfo(3x)</A></STRONG>
591 ripoffline <STRONG><A HREF="curs_kernel.3x.html">curs_kernel(3x)</A></STRONG>
592 savetty <STRONG><A HREF="curs_kernel.3x.html">curs_kernel(3x)</A></STRONG>
593 scanw <STRONG><A HREF="curs_scanw.3x.html">curs_scanw(3x)</A></STRONG>
594 scr_dump <STRONG><A HREF="curs_scr_dump.3x.html">curs_scr_dump(3x)</A></STRONG>
595 scr_init <STRONG><A HREF="curs_scr_dump.3x.html">curs_scr_dump(3x)</A></STRONG>
596 scr_restore <STRONG><A HREF="curs_scr_dump.3x.html">curs_scr_dump(3x)</A></STRONG>
597 scr_set <STRONG><A HREF="curs_scr_dump.3x.html">curs_scr_dump(3x)</A></STRONG>
598 scrl <STRONG><A HREF="curs_scroll.3x.html">curs_scroll(3x)</A></STRONG>
599 scroll <STRONG><A HREF="curs_scroll.3x.html">curs_scroll(3x)</A></STRONG>
600 scrollok <STRONG><A HREF="curs_outopts.3x.html">curs_outopts(3x)</A></STRONG>
601 set_curterm <STRONG><A HREF="curs_terminfo.3x.html">curs_terminfo(3x)</A></STRONG>
602 set_term <STRONG><A HREF="curs_initscr.3x.html">curs_initscr(3x)</A></STRONG>
603 setcchar <STRONG><A HREF="curs_getcchar.3x.html">curs_getcchar(3x)</A></STRONG>
604 setscrreg <STRONG><A HREF="curs_outopts.3x.html">curs_outopts(3x)</A></STRONG>
605 setsyx <STRONG><A HREF="curs_kernel.3x.html">curs_kernel(3x)</A></STRONG>
606 setterm <STRONG><A HREF="curs_terminfo.3x.html">curs_terminfo(3x)</A></STRONG>
607 setupterm <STRONG><A HREF="curs_terminfo.3x.html">curs_terminfo(3x)</A></STRONG>
608 slk_attr <STRONG><A HREF="curs_slk.3x.html">curs_slk(3x)</A></STRONG>*
609 slk_attr_off <STRONG><A HREF="curs_slk.3x.html">curs_slk(3x)</A></STRONG>
610 slk_attr_on <STRONG><A HREF="curs_slk.3x.html">curs_slk(3x)</A></STRONG>
611 slk_attr_set <STRONG><A HREF="curs_slk.3x.html">curs_slk(3x)</A></STRONG>
612 slk_attroff <STRONG><A HREF="curs_slk.3x.html">curs_slk(3x)</A></STRONG>
613 slk_attron <STRONG><A HREF="curs_slk.3x.html">curs_slk(3x)</A></STRONG>
614 slk_attrset <STRONG><A HREF="curs_slk.3x.html">curs_slk(3x)</A></STRONG>
615 slk_clear <STRONG><A HREF="curs_slk.3x.html">curs_slk(3x)</A></STRONG>
616 slk_color <STRONG><A HREF="curs_slk.3x.html">curs_slk(3x)</A></STRONG>
617 slk_init <STRONG><A HREF="curs_slk.3x.html">curs_slk(3x)</A></STRONG>
618 slk_label <STRONG><A HREF="curs_slk.3x.html">curs_slk(3x)</A></STRONG>
619 slk_noutrefresh <STRONG><A HREF="curs_slk.3x.html">curs_slk(3x)</A></STRONG>
620 slk_refresh <STRONG><A HREF="curs_slk.3x.html">curs_slk(3x)</A></STRONG>
621 slk_restore <STRONG><A HREF="curs_slk.3x.html">curs_slk(3x)</A></STRONG>
622 slk_set <STRONG><A HREF="curs_slk.3x.html">curs_slk(3x)</A></STRONG>
623 slk_touch <STRONG><A HREF="curs_slk.3x.html">curs_slk(3x)</A></STRONG>
624 standend <STRONG><A HREF="curs_attr.3x.html">curs_attr(3x)</A></STRONG>
625 standout <STRONG><A HREF="curs_attr.3x.html">curs_attr(3x)</A></STRONG>
626 start_color <STRONG><A HREF="curs_color.3x.html">curs_color(3x)</A></STRONG>
627 subpad <STRONG><A HREF="curs_pad.3x.html">curs_pad(3x)</A></STRONG>
628 subwin <STRONG><A HREF="curs_window.3x.html">curs_window(3x)</A></STRONG>
629 syncok <STRONG><A HREF="curs_window.3x.html">curs_window(3x)</A></STRONG>
630 term_attrs <STRONG><A HREF="curs_termattrs.3x.html">curs_termattrs(3x)</A></STRONG>
631 termattrs <STRONG><A HREF="curs_termattrs.3x.html">curs_termattrs(3x)</A></STRONG>
632 termname <STRONG><A HREF="curs_termattrs.3x.html">curs_termattrs(3x)</A></STRONG>
633 tgetent <STRONG><A HREF="curs_termcap.3x.html">curs_termcap(3x)</A></STRONG>
634 tgetflag <STRONG><A HREF="curs_termcap.3x.html">curs_termcap(3x)</A></STRONG>
635 tgetnum <STRONG><A HREF="curs_termcap.3x.html">curs_termcap(3x)</A></STRONG>
636 tgetstr <STRONG><A HREF="curs_termcap.3x.html">curs_termcap(3x)</A></STRONG>
637 tgoto <STRONG><A HREF="curs_termcap.3x.html">curs_termcap(3x)</A></STRONG>
638 tigetflag <STRONG><A HREF="curs_terminfo.3x.html">curs_terminfo(3x)</A></STRONG>
639 tigetnum <STRONG><A HREF="curs_terminfo.3x.html">curs_terminfo(3x)</A></STRONG>
640 tigetstr <STRONG><A HREF="curs_terminfo.3x.html">curs_terminfo(3x)</A></STRONG>
641 timeout <STRONG><A HREF="curs_inopts.3x.html">curs_inopts(3x)</A></STRONG>
642 touchline <STRONG><A HREF="curs_touch.3x.html">curs_touch(3x)</A></STRONG>
644 touchwin <STRONG><A HREF="curs_touch.3x.html">curs_touch(3x)</A></STRONG>
645 tparm <STRONG><A HREF="curs_terminfo.3x.html">curs_terminfo(3x)</A></STRONG>
646 tputs <STRONG><A HREF="curs_termcap.3x.html">curs_termcap(3x)</A></STRONG>
647 tputs <STRONG><A HREF="curs_terminfo.3x.html">curs_terminfo(3x)</A></STRONG>
648 trace <STRONG><A HREF="curs_trace.3x.html">curs_trace(3x)</A></STRONG>*
649 typeahead <STRONG><A HREF="curs_inopts.3x.html">curs_inopts(3x)</A></STRONG>
650 unctrl <STRONG><A HREF="curs_util.3x.html">curs_util(3x)</A></STRONG>
651 unget_wch <STRONG><A HREF="curs_get_wch.3x.html">curs_get_wch(3x)</A></STRONG>
652 ungetch <STRONG><A HREF="curs_getch.3x.html">curs_getch(3x)</A></STRONG>
653 ungetmouse <STRONG><A HREF="curs_mouse.3x.html">curs_mouse(3x)</A></STRONG>*
654 untouchwin <STRONG><A HREF="curs_touch.3x.html">curs_touch(3x)</A></STRONG>
655 use_default_colors <STRONG><A HREF="default_colors.3x.html">default_colors(3x)</A></STRONG>*
656 use_env <STRONG><A HREF="curs_util.3x.html">curs_util(3x)</A></STRONG>
657 use_extended_names <STRONG><A HREF="curs_extend.3x.html">curs_extend(3x)</A></STRONG>*
658 use_legacy_coding <STRONG><A HREF="legacy_coding.3x.html">legacy_coding(3x)</A></STRONG>*
659 vid_attr <STRONG><A HREF="curs_terminfo.3x.html">curs_terminfo(3x)</A></STRONG>
660 vid_puts <STRONG><A HREF="curs_terminfo.3x.html">curs_terminfo(3x)</A></STRONG>
661 vidattr <STRONG><A HREF="curs_terminfo.3x.html">curs_terminfo(3x)</A></STRONG>
662 vidputs <STRONG><A HREF="curs_terminfo.3x.html">curs_terminfo(3x)</A></STRONG>
663 vline <STRONG><A HREF="curs_border.3x.html">curs_border(3x)</A></STRONG>
664 vline_set <STRONG><A HREF="curs_border_set.3x.html">curs_border_set(3x)</A></STRONG>
665 vw_printw <STRONG><A HREF="curs_printw.3x.html">curs_printw(3x)</A></STRONG>
666 vw_scanw <STRONG><A HREF="curs_scanw.3x.html">curs_scanw(3x)</A></STRONG>
667 vwprintw <STRONG><A HREF="curs_printw.3x.html">curs_printw(3x)</A></STRONG>
668 vwscanw <STRONG><A HREF="curs_scanw.3x.html">curs_scanw(3x)</A></STRONG>
669 wadd_wch <STRONG><A HREF="curs_add_wch.3x.html">curs_add_wch(3x)</A></STRONG>
670 wadd_wchnstr <STRONG><A HREF="curs_add_wchstr.3x.html">curs_add_wchstr(3x)</A></STRONG>
671 wadd_wchstr <STRONG><A HREF="curs_add_wchstr.3x.html">curs_add_wchstr(3x)</A></STRONG>
672 waddch <STRONG><A HREF="curs_addch.3x.html">curs_addch(3x)</A></STRONG>
673 waddchnstr <STRONG><A HREF="curs_addchstr.3x.html">curs_addchstr(3x)</A></STRONG>
674 waddchstr <STRONG><A HREF="curs_addchstr.3x.html">curs_addchstr(3x)</A></STRONG>
675 waddnstr <STRONG><A HREF="curs_addstr.3x.html">curs_addstr(3x)</A></STRONG>
676 waddnwstr <STRONG><A HREF="curs_addwstr.3x.html">curs_addwstr(3x)</A></STRONG>
677 waddstr <STRONG><A HREF="curs_addstr.3x.html">curs_addstr(3x)</A></STRONG>
678 waddwstr <STRONG><A HREF="curs_addwstr.3x.html">curs_addwstr(3x)</A></STRONG>
679 wattr_get <STRONG><A HREF="curs_attr.3x.html">curs_attr(3x)</A></STRONG>
680 wattr_off <STRONG><A HREF="curs_attr.3x.html">curs_attr(3x)</A></STRONG>
681 wattr_on <STRONG><A HREF="curs_attr.3x.html">curs_attr(3x)</A></STRONG>
682 wattr_set <STRONG><A HREF="curs_attr.3x.html">curs_attr(3x)</A></STRONG>
683 wattroff <STRONG><A HREF="curs_attr.3x.html">curs_attr(3x)</A></STRONG>
684 wattron <STRONG><A HREF="curs_attr.3x.html">curs_attr(3x)</A></STRONG>
685 wattrset <STRONG><A HREF="curs_attr.3x.html">curs_attr(3x)</A></STRONG>
686 wbkgd <STRONG><A HREF="curs_bkgd.3x.html">curs_bkgd(3x)</A></STRONG>
687 wbkgdset <STRONG><A HREF="curs_bkgd.3x.html">curs_bkgd(3x)</A></STRONG>
688 wbkgrnd <STRONG><A HREF="curs_bkgrnd.3x.html">curs_bkgrnd(3x)</A></STRONG>
689 wbkgrndset <STRONG><A HREF="curs_bkgrnd.3x.html">curs_bkgrnd(3x)</A></STRONG>
690 wborder <STRONG><A HREF="curs_border.3x.html">curs_border(3x)</A></STRONG>
691 wborder_set <STRONG><A HREF="curs_border_set.3x.html">curs_border_set(3x)</A></STRONG>
692 wchgat <STRONG><A HREF="curs_attr.3x.html">curs_attr(3x)</A></STRONG>
693 wclear <STRONG><A HREF="curs_clear.3x.html">curs_clear(3x)</A></STRONG>
694 wclrtobot <STRONG><A HREF="curs_clear.3x.html">curs_clear(3x)</A></STRONG>
695 wclrtoeol <STRONG><A HREF="curs_clear.3x.html">curs_clear(3x)</A></STRONG>
696 wcolor_set <STRONG><A HREF="curs_attr.3x.html">curs_attr(3x)</A></STRONG>
697 wcursyncup <STRONG><A HREF="curs_window.3x.html">curs_window(3x)</A></STRONG>
698 wdelch <STRONG><A HREF="curs_delch.3x.html">curs_delch(3x)</A></STRONG>
699 wdeleteln <STRONG><A HREF="curs_deleteln.3x.html">curs_deleteln(3x)</A></STRONG>
700 wecho_wchar <STRONG><A HREF="curs_add_wch.3x.html">curs_add_wch(3x)</A></STRONG>
701 wechochar <STRONG><A HREF="curs_addch.3x.html">curs_addch(3x)</A></STRONG>
702 wenclose <STRONG><A HREF="curs_mouse.3x.html">curs_mouse(3x)</A></STRONG>*
703 werase <STRONG><A HREF="curs_clear.3x.html">curs_clear(3x)</A></STRONG>
704 wget_wch <STRONG><A HREF="curs_get_wch.3x.html">curs_get_wch(3x)</A></STRONG>
705 wget_wstr <STRONG><A HREF="curs_get_wstr.3x.html">curs_get_wstr(3x)</A></STRONG>
706 wgetbkgrnd <STRONG><A HREF="curs_bkgrnd.3x.html">curs_bkgrnd(3x)</A></STRONG>
707 wgetch <STRONG><A HREF="curs_getch.3x.html">curs_getch(3x)</A></STRONG>
708 wgetn_wstr <STRONG><A HREF="curs_get_wstr.3x.html">curs_get_wstr(3x)</A></STRONG>
710 wgetnstr <STRONG><A HREF="curs_getstr.3x.html">curs_getstr(3x)</A></STRONG>
711 wgetstr <STRONG><A HREF="curs_getstr.3x.html">curs_getstr(3x)</A></STRONG>
712 whline <STRONG><A HREF="curs_border.3x.html">curs_border(3x)</A></STRONG>
713 whline_set <STRONG><A HREF="curs_border_set.3x.html">curs_border_set(3x)</A></STRONG>
714 win_wch <STRONG><A HREF="curs_in_wch.3x.html">curs_in_wch(3x)</A></STRONG>
715 win_wchnstr <STRONG><A HREF="curs_in_wchstr.3x.html">curs_in_wchstr(3x)</A></STRONG>
716 win_wchstr <STRONG><A HREF="curs_in_wchstr.3x.html">curs_in_wchstr(3x)</A></STRONG>
717 winch <STRONG><A HREF="curs_inch.3x.html">curs_inch(3x)</A></STRONG>
718 winchnstr <STRONG><A HREF="curs_inchstr.3x.html">curs_inchstr(3x)</A></STRONG>
719 winchstr <STRONG><A HREF="curs_inchstr.3x.html">curs_inchstr(3x)</A></STRONG>
720 winnstr <STRONG><A HREF="curs_instr.3x.html">curs_instr(3x)</A></STRONG>
721 winnwstr <STRONG><A HREF="curs_inwstr.3x.html">curs_inwstr(3x)</A></STRONG>
722 wins_nwstr <STRONG><A HREF="curs_ins_wstr.3x.html">curs_ins_wstr(3x)</A></STRONG>
723 wins_wch <STRONG><A HREF="curs_ins_wch.3x.html">curs_ins_wch(3x)</A></STRONG>
724 wins_wstr <STRONG><A HREF="curs_ins_wstr.3x.html">curs_ins_wstr(3x)</A></STRONG>
725 winsch <STRONG><A HREF="curs_insch.3x.html">curs_insch(3x)</A></STRONG>
726 winsdelln <STRONG><A HREF="curs_deleteln.3x.html">curs_deleteln(3x)</A></STRONG>
727 winsertln <STRONG><A HREF="curs_deleteln.3x.html">curs_deleteln(3x)</A></STRONG>
728 winsnstr <STRONG><A HREF="curs_insstr.3x.html">curs_insstr(3x)</A></STRONG>
729 winsstr <STRONG><A HREF="curs_insstr.3x.html">curs_insstr(3x)</A></STRONG>
730 winstr <STRONG><A HREF="curs_instr.3x.html">curs_instr(3x)</A></STRONG>
731 winwstr <STRONG><A HREF="curs_inwstr.3x.html">curs_inwstr(3x)</A></STRONG>
732 wmouse_trafo <STRONG><A HREF="curs_mouse.3x.html">curs_mouse(3x)</A></STRONG>*
733 wmove <STRONG><A HREF="curs_move.3x.html">curs_move(3x)</A></STRONG>
734 wnoutrefresh <STRONG><A HREF="curs_refresh.3x.html">curs_refresh(3x)</A></STRONG>
735 wprintw <STRONG><A HREF="curs_printw.3x.html">curs_printw(3x)</A></STRONG>
736 wredrawln <STRONG><A HREF="curs_refresh.3x.html">curs_refresh(3x)</A></STRONG>
737 wrefresh <STRONG><A HREF="curs_refresh.3x.html">curs_refresh(3x)</A></STRONG>
738 wresize <STRONG><A HREF="wresize.3x.html">wresize(3x)</A></STRONG>*
739 wscanw <STRONG><A HREF="curs_scanw.3x.html">curs_scanw(3x)</A></STRONG>
740 wscrl <STRONG><A HREF="curs_scroll.3x.html">curs_scroll(3x)</A></STRONG>
741 wsetscrreg <STRONG><A HREF="curs_outopts.3x.html">curs_outopts(3x)</A></STRONG>
742 wstandend <STRONG><A HREF="curs_attr.3x.html">curs_attr(3x)</A></STRONG>
743 wstandout <STRONG><A HREF="curs_attr.3x.html">curs_attr(3x)</A></STRONG>
744 wsyncdown <STRONG><A HREF="curs_window.3x.html">curs_window(3x)</A></STRONG>
745 wsyncup <STRONG><A HREF="curs_window.3x.html">curs_window(3x)</A></STRONG>
746 wtimeout <STRONG><A HREF="curs_inopts.3x.html">curs_inopts(3x)</A></STRONG>
747 wtouchln <STRONG><A HREF="curs_touch.3x.html">curs_touch(3x)</A></STRONG>
748 wunctrl <STRONG><A HREF="curs_util.3x.html">curs_util(3x)</A></STRONG>
749 wvline <STRONG><A HREF="curs_border.3x.html">curs_border(3x)</A></STRONG>
750 wvline_set <STRONG><A HREF="curs_border_set.3x.html">curs_border_set(3x)</A></STRONG>
753 </PRE>
754 <H2>RETURN VALUE</H2><PRE>
755 Routines that return an integer return <STRONG>ERR</STRONG> upon failure
756 and an integer value other than <STRONG>ERR</STRONG> upon successful com-
757 pletion, unless otherwise noted in the routine descrip-
758 tions.
760 All macros return the value of the <STRONG>w</STRONG> version, except
761 <STRONG>setscrreg</STRONG>, <STRONG>wsetscrreg</STRONG>, <STRONG>getyx</STRONG>, <STRONG>getbegyx</STRONG>, and <STRONG>getmaxyx</STRONG>. The
762 return values of <STRONG>setscrreg</STRONG>, <STRONG>wsetscrreg</STRONG>, <STRONG>getyx</STRONG>, <STRONG>getbegyx</STRONG>,
763 and <STRONG>getmaxyx</STRONG> are undefined (i.e., these should not be used
764 as the right-hand side of assignment statements).
766 Routines that return pointers return <STRONG>NULL</STRONG> on error.
769 </PRE>
770 <H2>ENVIRONMENT</H2><PRE>
771 The following environment symbols are useful for customiz-
772 ing the runtime behavior of the <STRONG>ncurses</STRONG> library. The most
773 important ones have been already discussed in detail.
775 BAUDRATE
776 The debugging library checks this environment symbol
777 when the application has redirected output to a file.
778 The symbol's numeric value is used for the baudrate.
779 If no value is found, <STRONG>ncurses</STRONG> uses 9600. This allows
780 testers to construct repeatable test-cases that take
781 into account costs that depend on baudrate.
783 CC When set, change occurrences of the command_character
784 (i.e., the <STRONG>cmdch</STRONG> capability) of the loaded terminfo
785 entries to the value of this symbol. Very few ter-
786 minfo entries provide this feature.
788 Because this name is also used in development envi-
789 ronments to represent the C compiler's name, <STRONG>ncurses</STRONG>
790 ignores it if it does not happen to be a single char-
791 acter.
793 COLUMNS
794 Specify the width of the screen in characters.
795 Applications running in a windowing environment usu-
796 ally are able to obtain the width of the window in
797 which they are executing. If neither the <STRONG>COLUMNS</STRONG>
798 value nor the terminal's screen size is available,
799 <STRONG>ncurses</STRONG> uses the size which may be specified in the
800 terminfo database (i.e., the <STRONG>cols</STRONG> capability).
802 It is important that your application use a correct
803 size for the screen. This is not always possible
804 because your application may be running on a host
805 which does not honor NAWS (Negotiations About Window
806 Size), or because you are temporarily running as
807 another user. However, setting <STRONG>COLUMNS</STRONG> and/or <STRONG>LINES</STRONG>
808 overrides the library's use of the screen size
809 obtained from the operating system.
811 Either <STRONG>COLUMNS</STRONG> or <STRONG>LINES</STRONG> symbols may be specified
812 independently. This is mainly useful to circumvent
813 legacy misfeatures of terminal descriptions, e.g.,
814 xterm which commonly specifies a 65 line screen. For
815 best results, <STRONG>lines</STRONG> and <STRONG>cols</STRONG> should not be specified
816 in a terminal description for terminals which are run
817 as emulations.
819 Use the <STRONG>use_env</STRONG> function to disable all use of exter-
820 nal environment (including system calls) to determine
821 the screen size.
823 ESCDELAY
824 Specifies the total time, in milliseconds, for which
825 ncurses will await a character sequence, e.g., a
826 function key. The default value, 1000 milliseconds,
827 is enough for most uses. However, it is made a vari-
828 able to accommodate unusual applications.
830 The most common instance where you may wish to change
831 this value is to work with slow hosts, e.g., running
832 on a network. If the host cannot read characters
833 rapidly enough, it will have the same effect as if
834 the terminal did not send characters rapidly enough.
835 The library will still see a timeout.
837 Note that xterm mouse events are built up from char-
838 acter sequences received from the xterm. If your
839 application makes heavy use of multiple-clicking, you
840 may wish to lengthen this default value because the
841 timeout applies to the composed multi-click event as
842 well as the individual clicks.
844 In addition to the environment variable, this imple-
845 mentation provides a global variable with the same
846 name. Portable applications should not rely upon the
847 presence of ESCDELAY in either form, but setting the
848 environment variable rather than the global variable
849 does not create problems when compiling an applica-
850 tion.
852 HOME Tells <STRONG>ncurses</STRONG> where your home directory is. That is
853 where it may read and write auxiliary terminal
854 descriptions:
856 $HOME/.termcap
857 $HOME/.terminfo
859 LINES
860 Like COLUMNS, specify the height of the screen in
861 characters. See COLUMNS for a detailed description.
863 MOUSE_BUTTONS_123
864 This applies only to the OS/2 EMX port. It specifies
865 the order of buttons on the mouse. OS/2 numbers a
866 3-button mouse inconsistently from other platforms:
868 1 = left
869 2 = right
870 3 = middle.
872 This symbol lets you customize the mouse. The symbol
873 must be three numeric digits 1-3 in any order, e.g.,
874 123 or 321. If it is not specified, <STRONG>ncurses</STRONG> uses
875 132.
877 NCURSES_ASSUMED_COLORS
878 Override the compiled-in assumption that the termi-
879 nal's default colors are white-on-black (see
880 <STRONG><A HREF="default_colors.3x.html">default_colors(3x)</A></STRONG>). You may set the foreground and
881 background color values with this environment vari-
882 able by proving a 2-element list: foreground,back-
883 ground. For example, to tell ncurses to not assume
884 anything about the colors, set this to "-1,-1". To
885 make it green-on-black, set it to "2,0". Any posi-
886 tive value from zero to the terminfo <STRONG>max_colors</STRONG> value
887 is allowed.
889 NCURSES_GPM_TERMS
890 This applies only to ncurses configured to use the
891 GPM interface.
893 If present, the environment variable is a list of one
894 or more terminal names against which the TERM envi-
895 ronment variable is matched. Setting it to an empty
896 value disables the GPM interface; using the built-in
897 support for xterm, etc.
899 If the environment variable is absent, ncurses will
900 attempt to open GPM if TERM contains "linux".
902 NCURSES_NO_HARD_TABS
903 <STRONG>Ncurses</STRONG> may use tabs as part of the cursor movement
904 optimization. In some cases, your terminal driver
905 may not handle these properly. Set this environment
906 variable to disable the feature. You can also adjust
907 your <STRONG>stty</STRONG> settings to avoid the problem.
909 NCURSES_NO_MAGIC_COOKIES
910 Some terminals use a magic-cookie feature which
911 requires special handling to make highlighting and
912 other video attributes display properly. You can
913 suppress the highlighting entirely for these termi-
914 nals by setting this environment variable.
916 NCURSES_NO_PADDING
917 Most of the terminal descriptions in the terminfo
918 database are written for real "hardware" terminals.
919 Many people use terminal emulators which run in a
920 windowing environment and use curses-based applica-
921 tions. Terminal emulators can duplicate all of the
922 important aspects of a hardware terminal, but they do
923 not have the same limitations. The chief limitation
924 of a hardware terminal from the standpoint of your
925 application is the management of dataflow, i.e., tim-
926 ing. Unless a hardware terminal is interfaced into a
927 terminal concentrator (which does flow control), it
928 (or your application) must manage dataflow, prevent-
929 ing overruns. The cheapest solution (no hardware
930 cost) is for your program to do this by pausing after
931 operations that the terminal does slowly, such as
932 clearing the display.
934 As a result, many terminal descriptions (including
935 the vt100) have delay times embedded. You may wish
936 to use these descriptions, but not want to pay the
937 performance penalty.
939 Set the NCURSES_NO_PADDING symbol to disable all but
940 mandatory padding. Mandatory padding is used as a
941 part of special control sequences such as <EM>flash</EM>.
943 NCURSES_NO_SETBUF
944 Normally <STRONG>ncurses</STRONG> enables buffered output during ter-
945 minal initialization. This is done (as in SVr4
946 curses) for performance reasons. For testing pur-
947 poses, both of <STRONG>ncurses</STRONG> and certain applications, this
948 feature is made optional. Setting the
949 NCURSES_NO_SETBUF variable disables output buffering,
950 leaving the output in the original (usually line
951 buffered) mode.
953 NCURSES_NO_UTF8_ACS
954 During initialization, the <STRONG>ncurses</STRONG> library checks for
955 special cases where VT100 line-drawing (and the cor-
956 responding alternate character set capabilities)
957 described in the terminfo are known to be missing.
958 Specifically, when running in a UTF-8 locale, the
959 Linux console emulator and the GNU screen program
960 ignore these. Ncurses checks the TERM environment
961 variable for these. For other special cases, you
962 should set this environment variable. Doing this
963 tells ncurses to use Unicode values which correspond
964 to the VT100 line-drawing glyphs. That works for the
965 special cases cited, and is likely to work for termi-
966 nal emulators.
968 When setting this variable, you should set it to a
969 nonzero value. Setting it to zero (or to a nonnum-
970 ber) disables the special check for "linux" and
971 "screen".
973 As an alternative to the environment variable,
974 ncurses checks for an extended terminfo capability
975 <STRONG>U8</STRONG>. This is a numeric capability which can be com-
976 piled using <STRONG>tic</STRONG> <STRONG>-x</STRONG>. For example
978 # linux console, if patched to provide working
979 # VT100 shift-in/shift-out, with corresponding font.
980 linux-vt100|linux console with VT100 line-graphics,
981 U8#0, use=linux,
983 # uxterm with vt100Graphics resource set to false
984 xterm-utf8|xterm relying on UTF-8 line-graphics,
985 U8#1, use=xterm,
987 The name "U8" is chosen to be two characters, to per-
988 mit it to be used by applications that use ncurses'
989 termcap interface.
991 NCURSES_TRACE
992 During initialization, the <STRONG>ncurses</STRONG> debugging library
993 checks the NCURSES_TRACE symbol. If it is defined,
994 to a numeric value, <STRONG>ncurses</STRONG> calls the <STRONG>trace</STRONG> function,
995 using that value as the argument.
997 The argument values, which are defined in <STRONG>curses.h</STRONG>,
998 provide several types of information. When running
999 with traces enabled, your application will write the
1000 file <STRONG>trace</STRONG> to the current directory.
1002 TERM Denotes your terminal type. Each terminal type is
1003 distinct, though many are similar.
1005 TERMCAP
1006 If the <STRONG>ncurses</STRONG> library has been configured with <EM>term-</EM>
1007 <EM>cap</EM> support, <STRONG>ncurses</STRONG> will check for a terminal's
1008 description in termcap form if it is not available in
1009 the terminfo database.
1011 The TERMCAP symbol contains either a terminal
1012 description (with newlines stripped out), or a file
1013 name telling where the information denoted by the
1014 TERM symbol exists. In either case, setting it
1015 directs <STRONG>ncurses</STRONG> to ignore the usual place for this
1016 information, e.g., /etc/termcap.
1018 TERMINFO
1019 Overrides the directory in which <STRONG>ncurses</STRONG> searches for
1020 your terminal description. This is the simplest, but
1021 not the only way to change the list of directories.
1022 The complete list of directories in order follows:
1024 <STRONG>o</STRONG> the last directory to which <STRONG>ncurses</STRONG> wrote, if
1025 any, is searched first
1027 <STRONG>o</STRONG> the directory specified by the TERMINFO symbol
1029 <STRONG>o</STRONG> $HOME/.terminfo
1031 <STRONG>o</STRONG> directories listed in the TERMINFO_DIRS symbol
1033 <STRONG>o</STRONG> one or more directories whose names are config-
1034 ured and compiled into the ncurses library, e.g.,
1035 /usr/share/terminfo
1037 TERMINFO_DIRS
1038 Specifies a list of directories to search for termi-
1039 nal descriptions. The list is separated by colons
1040 (i.e., ":") on Unix, semicolons on OS/2 EMX. All of
1041 the terminal descriptions are in terminfo form, which
1042 makes a subdirectory named for the first letter of
1043 the terminal names therein.
1045 TERMPATH
1046 If TERMCAP does not hold a file name then <STRONG>ncurses</STRONG>
1047 checks the TERMPATH symbol. This is a list of file-
1048 names separated by spaces or colons (i.e., ":") on
1049 Unix, semicolons on OS/2 EMX. If the TERMPATH symbol
1050 is not set, <STRONG>ncurses</STRONG> looks in the files /etc/termcap,
1051 /usr/share/misc/termcap and $HOME/.termcap, in that
1052 order.
1054 The library may be configured to disregard the following
1055 variables when the current user is the superuser (root),
1056 or if the application uses setuid or setgid permissions:
1057 $TERMINFO, $TERMINFO_DIRS, $TERMPATH, as well as $HOME.
1060 </PRE>
1061 <H2>ALTERNATE CONFIGURATIONS</H2><PRE>
1062 Several different configurations are possible, depending
1063 on the configure script options used when building
1064 <STRONG>ncurses</STRONG>. There are a few main options whose effects are
1065 visible to the applications developer using <STRONG>ncurses</STRONG>:
1067 --disable-overwrite
1068 The standard include for <STRONG>ncurses</STRONG> is as noted in <STRONG>SYN-</STRONG>
1069 <STRONG>OPSIS</STRONG>:
1071 <STRONG>#include</STRONG> <STRONG>&lt;curses.h&gt;</STRONG>
1073 This option is used to avoid filename conflicts when
1074 <STRONG>ncurses</STRONG> is not the main implementation of curses of
1075 the computer. If <STRONG>ncurses</STRONG> is installed disabling
1076 overwrite, it puts its headers in a subdirectory,
1077 e.g.,
1079 <STRONG>#include</STRONG> <STRONG>&lt;ncurses/curses.h&gt;</STRONG>
1081 It also omits a symbolic link which would allow you
1082 to use <STRONG>-lcurses</STRONG> to build executables.
1084 --enable-widec
1085 The configure script renames the library and (if the
1086 <STRONG>--disable-overwrite</STRONG> option is used) puts the header
1087 files in a different subdirectory. All of the
1088 library names have a "w" appended to them, i.e.,
1089 instead of
1091 <STRONG>-lncurses</STRONG>
1093 you link with
1095 <STRONG>-lncursesw</STRONG>
1097 You must also define <STRONG>_XOPEN_SOURCE_EXTENDED</STRONG> when com-
1098 piling for the wide-character library to use the
1099 extended (wide-character) functions. The <STRONG>curses.h</STRONG>
1100 file which is installed for the wide-character
1101 library is designed to be compatible with the normal
1102 library's header. Only the size of the <STRONG>WINDOW</STRONG> struc-
1103 ture differs, and very few applications require more
1104 than a pointer to <STRONG>WINDOW</STRONG>s. If the headers are
1105 installed allowing overwrite, the wide-character
1106 library's headers should be installed last, to allow
1107 applications to be built using either library from
1108 the same set of headers.
1110 --with-shared
1112 --with-normal
1114 --with-debug
1116 --with-profile
1117 The shared and normal (static) library names differ
1118 by their suffixes, e.g., <STRONG>libncurses.so</STRONG> and
1119 <STRONG>libncurses.a</STRONG>. The debug and profiling libraries add
1120 a "_g" and a "_p" to the root names respectively,
1121 e.g., <STRONG>libncurses_g.a</STRONG> and <STRONG>libncurses_p.a</STRONG>.
1123 --with-trace
1124 The <STRONG>trace</STRONG> function normally resides in the debug
1125 library, but it is sometimes useful to configure this
1126 in the shared library. Configure scripts should
1127 check for the function's existence rather than assum-
1128 ing it is always in the debug library.
1131 </PRE>
1132 <H2>FILES</H2><PRE>
1133 /usr/share/tabset
1134 directory containing initialization files for the
1135 terminal capability database /usr/share/terminfo ter-
1136 minal capability database
1139 </PRE>
1140 <H2>SEE ALSO</H2><PRE>
1141 <STRONG><A HREF="terminfo.5.html">terminfo(5)</A></STRONG> and related pages whose names begin "curs_"
1142 for detailed routine descriptions.
1143 <STRONG><A HREF="curs_variables.3x.html">curs_variables(3x)</A></STRONG>
1146 </PRE>
1147 <H2>EXTENSIONS</H2><PRE>
1148 The <STRONG>ncurses</STRONG> library can be compiled with an option
1149 (<STRONG>-DUSE_GETCAP</STRONG>) that falls back to the old-style /etc/term-
1150 cap file if the terminal setup code cannot find a terminfo
1151 entry corresponding to <STRONG>TERM</STRONG>. Use of this feature is not
1152 recommended, as it essentially includes an entire termcap
1153 compiler in the <STRONG>ncurses</STRONG> startup code, at significant cost
1154 in core and startup cycles.
1156 The <STRONG>ncurses</STRONG> library includes facilities for capturing
1157 mouse events on certain terminals (including xterm). See
1158 the <STRONG><A HREF="curs_mouse.3x.html">curs_mouse(3x)</A></STRONG> manual page for details.
1160 The <STRONG>ncurses</STRONG> library includes facilities for responding to
1161 window resizing events, e.g., when running in an xterm.
1162 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
1163 details. In addition, the library may be configured with
1164 a SIGWINCH handler.
1166 The <STRONG>ncurses</STRONG> library extends the fixed set of function key
1167 capabilities of terminals by allowing the application
1168 designer to define additional key sequences at runtime.
1169 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-
1170 ual pages for details.
1172 The <STRONG>ncurses</STRONG> library can exploit the capabilities of termi-
1173 nals which implement the ISO-6429 SGR 39 and SGR 49 con-
1174 trols, which allow an application to reset the terminal to
1175 its original foreground and background colors. From the
1176 users' perspective, the application is able to draw col-
1177 ored text on a background whose color is set indepen-
1178 dently, providing better control over color contrasts.
1179 See the <STRONG><A HREF="default_colors.3x.html">default_colors(3x)</A></STRONG> manual page for details.
1181 The <STRONG>ncurses</STRONG> library includes a function for directing
1182 application output to a printer attached to the terminal
1183 device. See the <STRONG><A HREF="curs_print.3x.html">curs_print(3x)</A></STRONG> manual page for details.
1186 </PRE>
1187 <H2>PORTABILITY</H2><PRE>
1188 The <STRONG>ncurses</STRONG> library is intended to be BASE-level confor-
1189 mant with XSI Curses. The EXTENDED XSI Curses functional-
1190 ity (including color support) is supported.
1192 A small number of local differences (that is, individual
1193 differences between the XSI Curses and <STRONG>ncurses</STRONG> calls) are
1194 described in <STRONG>PORTABILITY</STRONG> sections of the library man
1195 pages.
1197 This implementation also contains several extensions:
1199 <STRONG>o</STRONG> The routine <STRONG>has_key</STRONG> is not part of XPG4, nor is it
1200 present in SVr4. See the <STRONG><A HREF="curs_getch.3x.html">curs_getch(3x)</A></STRONG> manual page
1201 for details.
1203 <STRONG>o</STRONG> The routine <STRONG>slk_attr</STRONG> is not part of XPG4, nor is it
1204 present in SVr4. See the <STRONG><A HREF="curs_slk.3x.html">curs_slk(3x)</A></STRONG> manual page for
1205 details.
1207 <STRONG>o</STRONG> The routines <STRONG>getmouse</STRONG>, <STRONG>mousemask</STRONG>, <STRONG>ungetmouse</STRONG>, <STRONG>mousein-</STRONG>
1208 <STRONG>terval</STRONG>, and <STRONG>wenclose</STRONG> relating to mouse interfacing are
1209 not part of XPG4, nor are they present in SVr4. See
1210 the <STRONG><A HREF="curs_mouse.3x.html">curs_mouse(3x)</A></STRONG> manual page for details.
1212 <STRONG>o</STRONG> The routine <STRONG>mcprint</STRONG> was not present in any previous
1213 curses implementation. See the <STRONG><A HREF="curs_print.3x.html">curs_print(3x)</A></STRONG> manual
1214 page for details.
1216 <STRONG>o</STRONG> The routine <STRONG>wresize</STRONG> is not part of XPG4, nor is it
1217 present in SVr4. See the <STRONG><A HREF="wresize.3x.html">wresize(3x)</A></STRONG> manual page for
1218 details.
1220 <STRONG>o</STRONG> The WINDOW structure's internal details can be hidden
1221 from application programs. See <STRONG><A HREF="curs_opaque.3x.html">curs_opaque(3x)</A></STRONG> for
1222 the discussion of <STRONG>is_scrollok</STRONG>, etc.
1224 <STRONG>o</STRONG> This implementation can be configured to provide rudi-
1225 mentary support for multi-threaded applications. See
1226 <STRONG><A HREF="curs_threads.3x.html">curs_threads(3x)</A></STRONG> for details.
1228 <STRONG>o</STRONG> This implementation can also be configured to provide
1229 a set of functions which improve the ability to manage
1230 multiple screens. See <STRONG><A HREF="curs_sp_funcs.3x.html">curs_sp_funcs(3x)</A></STRONG> for details.
1232 In historic curses versions, delays embedded in the capa-
1233 bilities <STRONG>cr</STRONG>, <STRONG>ind</STRONG>, <STRONG>cub1</STRONG>, <STRONG>ff</STRONG> and <STRONG>tab</STRONG> activated corresponding
1234 delay bits in the UNIX tty driver. In this implementa-
1235 tion, all padding is done by sending NUL bytes. This
1236 method is slightly more expensive, but narrows the inter-
1237 face to the UNIX kernel significantly and increases the
1238 package's portability correspondingly.
1241 </PRE>
1242 <H2>NOTES</H2><PRE>
1243 The header file <STRONG>&lt;curses.h&gt;</STRONG> automatically includes the
1244 header files <STRONG>&lt;stdio.h&gt;</STRONG> and <STRONG>&lt;unctrl.h&gt;</STRONG>.
1246 If standard output from a <STRONG>ncurses</STRONG> program is re-directed
1247 to something which is not a tty, screen updates will be
1248 directed to standard error. This was an undocumented fea-
1249 ture of AT&amp;T System V Release 3 curses.
1252 </PRE>
1253 <H2>AUTHORS</H2><PRE>
1254 Zeyd M. Ben-Halim, Eric S. Raymond, Thomas E. Dickey.
1255 Based on pcurses by Pavel Curtis.
1259 <STRONG><A HREF="ncurses.3x.html">ncurses(3x)</A></STRONG>
1260 </PRE>
1261 <HR>
1262 <ADDRESS>
1263 Man(1) output converted with
1264 <a href="http://www.oac.uci.edu/indiv/ehood/man2html.html">man2html</a>
1265 </ADDRESS>
1266 </BODY>
1267 </HTML>