1 <!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML 2.0//EN">
4 ****************************************************************************
5 * Copyright (c) 1998-2006,2007 Free Software Foundation, Inc. *
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: *
15 * The above copyright notice and this permission notice shall be included *
16 * in all copies or substantial portions of the Software. *
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. *
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 *
30 ****************************************************************************
31 * @Id: ncurses.3x,v 1.89 2007/09/01 18:57:29 tom Exp @
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">
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>
51 <STRONG>ncurses</STRONG> - CRT screen handling and optimization package
55 <H2>SYNOPSIS</H2><PRE>
56 <STRONG>#include</STRONG> <STRONG><curses.h></STRONG>
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.6 (patch 20080621).
68 The <STRONG>ncurses</STRONG> library emulates the <STRONG><A HREF="ncurses.3x.html">curses(3x)</A></STRONG> library of
69 System V Release 4 UNIX, and XPG4 (X/Open Portability
70 Guide) curses (also known as XSI curses). XSI stands for
71 X/Open System Interfaces Extension. The <STRONG>ncurses</STRONG> library
72 is freely redistributable in source form. Differences
73 from the SVr4 curses are summarized under the <STRONG>EXTENSIONS</STRONG>
74 and <STRONG>PORTABILITY</STRONG> sections below and described in detail in
75 the respective <STRONG>EXTENSIONS</STRONG>, <STRONG>PORTABILITY</STRONG> and <STRONG>BUGS</STRONG> sections
76 of 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
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 To initialize the routines, the routine <STRONG>initscr</STRONG> or <STRONG>newterm</STRONG>
100 must be called before any of the other routines that deal
101 with windows and screens are used. The routine <STRONG>endwin</STRONG>
102 must be called before exiting. To get character-at-a-time
103 input without echoing (most interactive, screen oriented
104 programs want this), the following sequence should be
107 <STRONG>initscr();</STRONG> <STRONG>cbreak();</STRONG> <STRONG>noecho();</STRONG>
109 Most programs would additionally use the sequence:
111 <STRONG>nonl();</STRONG>
112 <STRONG>intrflush(stdscr,</STRONG> <STRONG>FALSE);</STRONG>
113 <STRONG>keypad(stdscr,</STRONG> <STRONG>TRUE);</STRONG>
115 Before a <STRONG>curses</STRONG> program is run, the tab stops of the
116 terminal should be set and its initialization strings, if
117 defined, must be output. This can be done by executing
118 the <STRONG>tput</STRONG> <STRONG>init</STRONG> command after the shell environment variable
119 <STRONG>TERM</STRONG> has been exported. <STRONG>tset(1)</STRONG> is usually responsible
120 for doing this. [See <STRONG><A HREF="terminfo.5.html">terminfo(5)</A></STRONG> for further details.]
122 The <STRONG>ncurses</STRONG> library permits manipulation of data struc-
123 tures, called <EM>windows</EM>, which can be thought of as two-
124 dimensional arrays of characters representing all or part
125 of a CRT screen. A default window called <STRONG>stdscr</STRONG>, which is
126 the size of the terminal screen, is supplied. Others may
127 be created with <STRONG>newwin</STRONG>.
129 Note that <STRONG>curses</STRONG> does not handle overlapping windows,
130 that's done by the <STRONG><A HREF="panel.3x.html">panel(3x)</A></STRONG> library. This means that you
131 can either use <STRONG>stdscr</STRONG> or divide the screen into tiled win-
132 dows and not using <STRONG>stdscr</STRONG> at all. Mixing the two will
133 result in unpredictable, and undesired, effects.
135 Windows are referred to by variables declared as <STRONG>WINDOW</STRONG> <STRONG>*</STRONG>.
136 These data structures are manipulated with routines
137 described here and elsewhere in the <STRONG>ncurses</STRONG> manual pages.
138 Among those, the most basic routines are <STRONG>move</STRONG> and <STRONG>addch</STRONG>.
139 More general versions of these routines are included with
140 names beginning with <STRONG>w</STRONG>, allowing the user to specify a
141 window. The routines not beginning with <STRONG>w</STRONG> affect <STRONG>stdscr</STRONG>.
143 After using routines to manipulate a window, <STRONG>refresh</STRONG> is
144 called, telling <STRONG>curses</STRONG> to make the user's CRT screen look
145 like <STRONG>stdscr</STRONG>. The characters in a window are actually of
146 type <STRONG>chtype</STRONG>, (character and attribute data) so that other
147 information about the character may also be stored with
150 Special windows called <EM>pads</EM> may also be manipulated.
151 These are windows which are not constrained to the size of
152 the screen and whose contents need not be completely dis-
153 played. See <STRONG><A HREF="curs_pad.3x.html">curs_pad(3x)</A></STRONG> for more information.
155 In addition to drawing characters on the screen, video
156 attributes and colors may be supported, causing the char-
157 acters to show up in such modes as underlined, in reverse
158 video, or in color on terminals that support such display
159 enhancements. Line drawing characters may be specified to
160 be output. On input, <STRONG>curses</STRONG> is also able to translate
161 arrow and function keys that transmit escape sequences
162 into single values. The video attributes, line drawing
163 characters, and input values use names, defined in
164 <STRONG><curses.h></STRONG>, such as <STRONG>A_REVERSE</STRONG>, <STRONG>ACS_HLINE</STRONG>, and <STRONG>KEY_LEFT</STRONG>.
166 If the environment variables <STRONG>LINES</STRONG> and <STRONG>COLUMNS</STRONG> are set, or
167 if the program is executing in a window environment, line
168 and column information in the environment will override
169 information read by <EM>terminfo</EM>. This would affect a program
170 running in an AT&T 630 layer, for example, where the size
171 of a screen is changeable (see <STRONG>ENVIRONMENT</STRONG>).
173 If the environment variable <STRONG>TERMINFO</STRONG> is defined, any pro-
174 gram using <STRONG>curses</STRONG> checks for a local terminal definition
175 before checking in the standard place. For example, if
176 <STRONG>TERM</STRONG> is set to <STRONG>att4424</STRONG>, then the compiled terminal defini-
179 <STRONG>/usr/share/terminfo/a/att4424</STRONG>.
181 (The <STRONG>a</STRONG> is copied from the first letter of <STRONG>att4424</STRONG> to avoid
182 creation of huge directories.) However, if <STRONG>TERMINFO</STRONG> is
183 set to <STRONG>$HOME/myterms</STRONG>, <STRONG>curses</STRONG> first checks
185 <STRONG>$HOME/myterms/a/att4424</STRONG>,
187 and if that fails, it then checks
189 <STRONG>/usr/share/terminfo/a/att4424</STRONG>.
191 This is useful for developing experimental definitions or
192 when write permission in <STRONG>/usr/share/terminfo</STRONG> is not avail-
195 The integer variables <STRONG>LINES</STRONG> and <STRONG>COLS</STRONG> are defined in
196 <STRONG><curses.h></STRONG> and will be filled in by <STRONG>initscr</STRONG> with the size
197 of the screen. The constants <STRONG>TRUE</STRONG> and <STRONG>FALSE</STRONG> have the val-
198 ues <STRONG>1</STRONG> and <STRONG>0</STRONG>, respectively.
200 The <STRONG>curses</STRONG> routines also define the <STRONG>WINDOW</STRONG> <STRONG>*</STRONG> variable
201 <STRONG>curscr</STRONG> which is used for certain low-level operations like
202 clearing and redrawing a screen containing garbage. The
203 <STRONG>curscr</STRONG> can be used in only a few routines.
205 <STRONG>Routine</STRONG> <STRONG>and</STRONG> <STRONG>Argument</STRONG> <STRONG>Names</STRONG>
206 Many <STRONG>curses</STRONG> routines have two or more versions. The rou-
207 tines prefixed with <STRONG>w</STRONG> require a window argument. The rou-
208 tines prefixed with <STRONG>p</STRONG> require a pad argument. Those with-
209 out a prefix generally use <STRONG>stdscr</STRONG>.
211 The routines prefixed with <STRONG>mv</STRONG> require a <EM>y</EM> and <EM>x</EM> coordinate
212 to move to before performing the appropriate action. The
213 <STRONG>mv</STRONG> routines imply a call to <STRONG>move</STRONG> before the call to the
214 other routine. The coordinate <EM>y</EM> always refers to the row
215 (of the window), and <EM>x</EM> always refers to the column. The
216 upper left-hand corner is always (0,0), not (1,1).
218 The routines prefixed with <STRONG>mvw</STRONG> take both a window argument
219 and <EM>x</EM> and <EM>y</EM> coordinates. The window argument is always
220 specified before the coordinates.
222 In each case, <EM>win</EM> is the window affected, and <EM>pad</EM> is the
223 pad affected; <EM>win</EM> and <EM>pad</EM> are always pointers to type <STRONG>WIN-</STRONG>
224 <STRONG>DOW</STRONG>.
226 Option setting routines require a Boolean flag <EM>bf</EM> with the
227 value <STRONG>TRUE</STRONG> or <STRONG>FALSE</STRONG>; <EM>bf</EM> is always of type <STRONG>bool</STRONG>. Most of
228 the data types used in the library routines, such as <STRONG>WIN-</STRONG>
229 <STRONG>DOW</STRONG>, <STRONG>SCREEN</STRONG>, <STRONG>bool</STRONG>, and <STRONG>chtype</STRONG> are defined in <STRONG><curses.h></STRONG>.
230 Types used for the terminfo routines such as <STRONG>TERMINAL</STRONG> are
231 defined in <STRONG><term.h></STRONG>.
233 This manual page describes functions which may appear in
234 any configuration of the library. There are two common
235 configurations of the library:
238 the "normal" library, which handles 8-bit
239 characters. The normal (8-bit) library stores
240 characters combined with attributes in <STRONG>chtype</STRONG>
243 Attributes alone (no corresponding character)
244 may be stored in <STRONG>chtype</STRONG> or the equivalent
245 <STRONG>attr_t</STRONG> data. In either case, the data is
246 stored in something like an integer.
248 Each cell (row and column) in a <STRONG>WINDOW</STRONG> is
249 stored as a <STRONG>chtype</STRONG>.
252 the so-called "wide" library, which handles
253 multibyte characters (See the section on
254 <STRONG>ALTERNATE</STRONG> <STRONG>CONFIGURATIONS</STRONG>). The "wide" library
255 includes all of the calls from the "normal"
256 library. It adds about one third more calls
257 using data types which store multibyte charac-
260 <STRONG>cchar_t</STRONG>
261 corresponds to <STRONG>chtype</STRONG>. However it is a
262 structure, because more data is stored
263 than can fit into an integer. The char-
264 acters are large enough to require a full
265 integer value - and there may be more
266 than one character per cell. The video
267 attributes and color are stored in sepa-
268 rate fields of the structure.
270 Each cell (row and column) in a <STRONG>WINDOW</STRONG> is
271 stored as a <STRONG>cchar_t</STRONG>.
273 <STRONG>wchar_t</STRONG>
274 stores a "wide" character. Like <STRONG>chtype</STRONG>,
275 this may be an integer.
277 <STRONG>wint_t</STRONG>
278 stores a <STRONG>wchar_t</STRONG> or <STRONG>WEOF</STRONG> - not the same,
279 though both may have the same size.
281 The "wide" library provides new functions
282 which are analogous to functions in the "nor-
283 mal" library. There is a naming convention
284 which relates many of the normal/wide vari-
285 ants: a "_w" is inserted into the name. For
286 example, <STRONG>waddch</STRONG> becomes <STRONG>wadd_wch</STRONG>.
289 <STRONG>Routine</STRONG> <STRONG>Name</STRONG> <STRONG>Index</STRONG>
290 The following table lists each <STRONG>curses</STRONG> routine and the name
291 of the manual page on which it is described. Routines
292 flagged with `*' are ncurses-specific, not described by
293 XPG4 or present in SVr4.
296 <STRONG>curses</STRONG> Routine Name Manual Page Name
297 --------------------------------------------
298 COLOR_PAIR <STRONG><A HREF="curs_color.3x.html">curs_color(3x)</A></STRONG>
299 PAIR_NUMBER <STRONG><A HREF="curs_attr.3x.html">curs_attr(3x)</A></STRONG>
300 _nc_tracebits <STRONG><A HREF="curs_trace.3x.html">curs_trace(3x)</A></STRONG>*
301 _traceattr <STRONG><A HREF="curs_trace.3x.html">curs_trace(3x)</A></STRONG>*
302 _traceattr2 <STRONG><A HREF="curs_trace.3x.html">curs_trace(3x)</A></STRONG>*
303 _tracechar <STRONG><A HREF="curs_trace.3x.html">curs_trace(3x)</A></STRONG>*
304 _tracechtype <STRONG><A HREF="curs_trace.3x.html">curs_trace(3x)</A></STRONG>*
305 _tracechtype2 <STRONG><A HREF="curs_trace.3x.html">curs_trace(3x)</A></STRONG>*
306 _tracedump <STRONG><A HREF="curs_trace.3x.html">curs_trace(3x)</A></STRONG>*
307 _tracef <STRONG><A HREF="curs_trace.3x.html">curs_trace(3x)</A></STRONG>*
308 _tracemouse <STRONG><A HREF="curs_trace.3x.html">curs_trace(3x)</A></STRONG>*
309 add_wch <STRONG><A HREF="curs_add_wch.3x.html">curs_add_wch(3x)</A></STRONG>
310 add_wchnstr <STRONG><A HREF="curs_add_wchstr.3x.html">curs_add_wchstr(3x)</A></STRONG>
311 add_wchstr <STRONG><A HREF="curs_add_wchstr.3x.html">curs_add_wchstr(3x)</A></STRONG>
312 addch <STRONG><A HREF="curs_addch.3x.html">curs_addch(3x)</A></STRONG>
314 addchnstr <STRONG><A HREF="curs_addchstr.3x.html">curs_addchstr(3x)</A></STRONG>
315 addchstr <STRONG><A HREF="curs_addchstr.3x.html">curs_addchstr(3x)</A></STRONG>
316 addnstr <STRONG><A HREF="curs_addstr.3x.html">curs_addstr(3x)</A></STRONG>
317 addnwstr <STRONG><A HREF="curs_addwstr.3x.html">curs_addwstr(3x)</A></STRONG>
318 addstr <STRONG><A HREF="curs_addstr.3x.html">curs_addstr(3x)</A></STRONG>
319 addwstr <STRONG><A HREF="curs_addwstr.3x.html">curs_addwstr(3x)</A></STRONG>
320 assume_default_colors <STRONG><A HREF="default_colors.3x.html">default_colors(3x)</A></STRONG>*
321 attr_get <STRONG><A HREF="curs_attr.3x.html">curs_attr(3x)</A></STRONG>
322 attr_off <STRONG><A HREF="curs_attr.3x.html">curs_attr(3x)</A></STRONG>
323 attr_on <STRONG><A HREF="curs_attr.3x.html">curs_attr(3x)</A></STRONG>
324 attr_set <STRONG><A HREF="curs_attr.3x.html">curs_attr(3x)</A></STRONG>
325 attroff <STRONG><A HREF="curs_attr.3x.html">curs_attr(3x)</A></STRONG>
326 attron <STRONG><A HREF="curs_attr.3x.html">curs_attr(3x)</A></STRONG>
327 attrset <STRONG><A HREF="curs_attr.3x.html">curs_attr(3x)</A></STRONG>
328 baudrate <STRONG><A HREF="curs_termattrs.3x.html">curs_termattrs(3x)</A></STRONG>
329 beep <STRONG><A HREF="curs_beep.3x.html">curs_beep(3x)</A></STRONG>
330 bkgd <STRONG><A HREF="curs_bkgd.3x.html">curs_bkgd(3x)</A></STRONG>
331 bkgdset <STRONG><A HREF="curs_bkgd.3x.html">curs_bkgd(3x)</A></STRONG>
332 bkgrnd <STRONG><A HREF="curs_bkgrnd.3x.html">curs_bkgrnd(3x)</A></STRONG>
333 bkgrndset <STRONG><A HREF="curs_bkgrnd.3x.html">curs_bkgrnd(3x)</A></STRONG>
334 border <STRONG><A HREF="curs_border.3x.html">curs_border(3x)</A></STRONG>
335 border_set <STRONG><A HREF="curs_border_set.3x.html">curs_border_set(3x)</A></STRONG>
336 box <STRONG><A HREF="curs_border.3x.html">curs_border(3x)</A></STRONG>
337 box_set <STRONG><A HREF="curs_border_set.3x.html">curs_border_set(3x)</A></STRONG>
338 can_change_color <STRONG><A HREF="curs_color.3x.html">curs_color(3x)</A></STRONG>
339 cbreak <STRONG><A HREF="curs_inopts.3x.html">curs_inopts(3x)</A></STRONG>
340 chgat <STRONG><A HREF="curs_attr.3x.html">curs_attr(3x)</A></STRONG>
341 clear <STRONG><A HREF="curs_clear.3x.html">curs_clear(3x)</A></STRONG>
342 clearok <STRONG><A HREF="curs_outopts.3x.html">curs_outopts(3x)</A></STRONG>
343 clrtobot <STRONG><A HREF="curs_clear.3x.html">curs_clear(3x)</A></STRONG>
344 clrtoeol <STRONG><A HREF="curs_clear.3x.html">curs_clear(3x)</A></STRONG>
345 color_content <STRONG><A HREF="curs_color.3x.html">curs_color(3x)</A></STRONG>
346 color_set <STRONG><A HREF="curs_attr.3x.html">curs_attr(3x)</A></STRONG>
347 copywin <STRONG><A HREF="curs_overlay.3x.html">curs_overlay(3x)</A></STRONG>
348 curs_set <STRONG><A HREF="curs_kernel.3x.html">curs_kernel(3x)</A></STRONG>
349 curses_version <STRONG><A HREF="curs_extend.3x.html">curs_extend(3x)</A></STRONG>*
350 def_prog_mode <STRONG><A HREF="curs_kernel.3x.html">curs_kernel(3x)</A></STRONG>
351 def_shell_mode <STRONG><A HREF="curs_kernel.3x.html">curs_kernel(3x)</A></STRONG>
352 define_key <STRONG><A HREF="define_key.3x.html">define_key(3x)</A></STRONG>*
353 del_curterm <STRONG><A HREF="curs_terminfo.3x.html">curs_terminfo(3x)</A></STRONG>
354 delay_output <STRONG><A HREF="curs_util.3x.html">curs_util(3x)</A></STRONG>
355 delch <STRONG><A HREF="curs_delch.3x.html">curs_delch(3x)</A></STRONG>
356 deleteln <STRONG><A HREF="curs_deleteln.3x.html">curs_deleteln(3x)</A></STRONG>
357 delscreen <STRONG><A HREF="curs_initscr.3x.html">curs_initscr(3x)</A></STRONG>
358 delwin <STRONG><A HREF="curs_window.3x.html">curs_window(3x)</A></STRONG>
359 derwin <STRONG><A HREF="curs_window.3x.html">curs_window(3x)</A></STRONG>
360 doupdate <STRONG><A HREF="curs_refresh.3x.html">curs_refresh(3x)</A></STRONG>
361 dupwin <STRONG><A HREF="curs_window.3x.html">curs_window(3x)</A></STRONG>
362 echo <STRONG><A HREF="curs_inopts.3x.html">curs_inopts(3x)</A></STRONG>
363 echo_wchar <STRONG><A HREF="curs_add_wch.3x.html">curs_add_wch(3x)</A></STRONG>
364 echochar <STRONG><A HREF="curs_addch.3x.html">curs_addch(3x)</A></STRONG>
365 endwin <STRONG><A HREF="curs_initscr.3x.html">curs_initscr(3x)</A></STRONG>
366 erase <STRONG><A HREF="curs_clear.3x.html">curs_clear(3x)</A></STRONG>
367 erasechar <STRONG><A HREF="curs_termattrs.3x.html">curs_termattrs(3x)</A></STRONG>
368 erasewchar <STRONG><A HREF="curs_termattrs.3x.html">curs_termattrs(3x)</A></STRONG>
369 filter <STRONG><A HREF="curs_util.3x.html">curs_util(3x)</A></STRONG>
370 flash <STRONG><A HREF="curs_beep.3x.html">curs_beep(3x)</A></STRONG>
371 flushinp <STRONG><A HREF="curs_util.3x.html">curs_util(3x)</A></STRONG>
372 get_wch <STRONG><A HREF="curs_get_wch.3x.html">curs_get_wch(3x)</A></STRONG>
373 get_wstr <STRONG><A HREF="curs_get_wstr.3x.html">curs_get_wstr(3x)</A></STRONG>
374 getattrs <STRONG><A HREF="curs_attr.3x.html">curs_attr(3x)</A></STRONG>
375 getbegx <STRONG><A HREF="curs_legacy.3x.html">curs_legacy(3x)</A></STRONG>*
376 getbegy <STRONG><A HREF="curs_legacy.3x.html">curs_legacy(3x)</A></STRONG>*
377 getbegyx <STRONG><A HREF="curs_getyx.3x.html">curs_getyx(3x)</A></STRONG>
378 getbkgd <STRONG><A HREF="curs_bkgd.3x.html">curs_bkgd(3x)</A></STRONG>
380 getbkgrnd <STRONG><A HREF="curs_bkgrnd.3x.html">curs_bkgrnd(3x)</A></STRONG>
381 getcchar <STRONG><A HREF="curs_getcchar.3x.html">curs_getcchar(3x)</A></STRONG>
382 getch <STRONG><A HREF="curs_getch.3x.html">curs_getch(3x)</A></STRONG>
383 getcurx <STRONG><A HREF="curs_legacy.3x.html">curs_legacy(3x)</A></STRONG>*
384 getcury <STRONG><A HREF="curs_legacy.3x.html">curs_legacy(3x)</A></STRONG>*
385 getmaxx <STRONG><A HREF="curs_legacy.3x.html">curs_legacy(3x)</A></STRONG>*
386 getmaxy <STRONG><A HREF="curs_legacy.3x.html">curs_legacy(3x)</A></STRONG>*
387 getmaxyx <STRONG><A HREF="curs_getyx.3x.html">curs_getyx(3x)</A></STRONG>
388 getmouse <STRONG><A HREF="curs_mouse.3x.html">curs_mouse(3x)</A></STRONG>*
389 getn_wstr <STRONG><A HREF="curs_get_wstr.3x.html">curs_get_wstr(3x)</A></STRONG>
390 getnstr <STRONG><A HREF="curs_getstr.3x.html">curs_getstr(3x)</A></STRONG>
391 getparx <STRONG><A HREF="curs_legacy.3x.html">curs_legacy(3x)</A></STRONG>*
392 getpary <STRONG><A HREF="curs_legacy.3x.html">curs_legacy(3x)</A></STRONG>*
393 getparyx <STRONG><A HREF="curs_getyx.3x.html">curs_getyx(3x)</A></STRONG>
394 getstr <STRONG><A HREF="curs_getstr.3x.html">curs_getstr(3x)</A></STRONG>
395 getsyx <STRONG><A HREF="curs_kernel.3x.html">curs_kernel(3x)</A></STRONG>
396 getwin <STRONG><A HREF="curs_util.3x.html">curs_util(3x)</A></STRONG>
397 getyx <STRONG><A HREF="curs_getyx.3x.html">curs_getyx(3x)</A></STRONG>
398 halfdelay <STRONG><A HREF="curs_inopts.3x.html">curs_inopts(3x)</A></STRONG>
399 has_colors <STRONG><A HREF="curs_color.3x.html">curs_color(3x)</A></STRONG>
400 has_ic <STRONG><A HREF="curs_termattrs.3x.html">curs_termattrs(3x)</A></STRONG>
401 has_il <STRONG><A HREF="curs_termattrs.3x.html">curs_termattrs(3x)</A></STRONG>
402 has_key <STRONG><A HREF="curs_getch.3x.html">curs_getch(3x)</A></STRONG>*
403 hline <STRONG><A HREF="curs_border.3x.html">curs_border(3x)</A></STRONG>
404 hline_set <STRONG><A HREF="curs_border_set.3x.html">curs_border_set(3x)</A></STRONG>
405 idcok <STRONG><A HREF="curs_outopts.3x.html">curs_outopts(3x)</A></STRONG>
406 idlok <STRONG><A HREF="curs_outopts.3x.html">curs_outopts(3x)</A></STRONG>
407 immedok <STRONG><A HREF="curs_outopts.3x.html">curs_outopts(3x)</A></STRONG>
408 in_wch <STRONG><A HREF="curs_in_wch.3x.html">curs_in_wch(3x)</A></STRONG>
409 in_wchnstr <STRONG><A HREF="curs_in_wchstr.3x.html">curs_in_wchstr(3x)</A></STRONG>
410 in_wchstr <STRONG><A HREF="curs_in_wchstr.3x.html">curs_in_wchstr(3x)</A></STRONG>
411 inch <STRONG><A HREF="curs_inch.3x.html">curs_inch(3x)</A></STRONG>
412 inchnstr <STRONG><A HREF="curs_inchstr.3x.html">curs_inchstr(3x)</A></STRONG>
413 inchstr <STRONG><A HREF="curs_inchstr.3x.html">curs_inchstr(3x)</A></STRONG>
414 init_color <STRONG><A HREF="curs_color.3x.html">curs_color(3x)</A></STRONG>
415 init_pair <STRONG><A HREF="curs_color.3x.html">curs_color(3x)</A></STRONG>
416 initscr <STRONG><A HREF="curs_initscr.3x.html">curs_initscr(3x)</A></STRONG>
417 innstr <STRONG><A HREF="curs_instr.3x.html">curs_instr(3x)</A></STRONG>
418 innwstr <STRONG><A HREF="curs_inwstr.3x.html">curs_inwstr(3x)</A></STRONG>
419 ins_nwstr <STRONG><A HREF="curs_ins_wstr.3x.html">curs_ins_wstr(3x)</A></STRONG>
420 ins_wch <STRONG><A HREF="curs_ins_wch.3x.html">curs_ins_wch(3x)</A></STRONG>
421 ins_wstr <STRONG><A HREF="curs_ins_wstr.3x.html">curs_ins_wstr(3x)</A></STRONG>
422 insch <STRONG><A HREF="curs_insch.3x.html">curs_insch(3x)</A></STRONG>
423 insdelln <STRONG><A HREF="curs_deleteln.3x.html">curs_deleteln(3x)</A></STRONG>
424 insertln <STRONG><A HREF="curs_deleteln.3x.html">curs_deleteln(3x)</A></STRONG>
425 insnstr <STRONG><A HREF="curs_insstr.3x.html">curs_insstr(3x)</A></STRONG>
426 insstr <STRONG><A HREF="curs_insstr.3x.html">curs_insstr(3x)</A></STRONG>
427 instr <STRONG><A HREF="curs_instr.3x.html">curs_instr(3x)</A></STRONG>
428 intrflush <STRONG><A HREF="curs_inopts.3x.html">curs_inopts(3x)</A></STRONG>
429 inwstr <STRONG><A HREF="curs_inwstr.3x.html">curs_inwstr(3x)</A></STRONG>
430 is_cleared <STRONG><A HREF="curs_opaque.3x.html">curs_opaque(3x)</A></STRONG>*
431 is_idcok <STRONG><A HREF="curs_opaque.3x.html">curs_opaque(3x)</A></STRONG>*
432 is_idlok <STRONG><A HREF="curs_opaque.3x.html">curs_opaque(3x)</A></STRONG>*
433 is_immedok <STRONG><A HREF="curs_opaque.3x.html">curs_opaque(3x)</A></STRONG>*
434 is_keypad <STRONG><A HREF="curs_opaque.3x.html">curs_opaque(3x)</A></STRONG>*
435 is_leaveok <STRONG><A HREF="curs_opaque.3x.html">curs_opaque(3x)</A></STRONG>*
436 is_linetouched <STRONG><A HREF="curs_touch.3x.html">curs_touch(3x)</A></STRONG>
437 is_nodelay <STRONG><A HREF="curs_opaque.3x.html">curs_opaque(3x)</A></STRONG>*
438 is_notimeout <STRONG><A HREF="curs_opaque.3x.html">curs_opaque(3x)</A></STRONG>*
439 is_scrollok <STRONG><A HREF="curs_opaque.3x.html">curs_opaque(3x)</A></STRONG>*
440 is_syncok <STRONG><A HREF="curs_opaque.3x.html">curs_opaque(3x)</A></STRONG>*
441 is_term_resized <STRONG><A HREF="resizeterm.3x.html">resizeterm(3x)</A></STRONG>*
442 is_wintouched <STRONG><A HREF="curs_touch.3x.html">curs_touch(3x)</A></STRONG>
443 isendwin <STRONG><A HREF="curs_initscr.3x.html">curs_initscr(3x)</A></STRONG>
444 key_defined <STRONG><A HREF="key_defined.3x.html">key_defined(3x)</A></STRONG>*
446 key_name <STRONG><A HREF="curs_util.3x.html">curs_util(3x)</A></STRONG>
447 keybound <STRONG><A HREF="keybound.3x.html">keybound(3x)</A></STRONG>*
448 keyname <STRONG><A HREF="curs_util.3x.html">curs_util(3x)</A></STRONG>
449 keyok <STRONG><A HREF="keyok.3x.html">keyok(3x)</A></STRONG>*
450 keypad <STRONG><A HREF="curs_inopts.3x.html">curs_inopts(3x)</A></STRONG>
451 killchar <STRONG><A HREF="curs_termattrs.3x.html">curs_termattrs(3x)</A></STRONG>
452 killwchar <STRONG><A HREF="curs_termattrs.3x.html">curs_termattrs(3x)</A></STRONG>
453 leaveok <STRONG><A HREF="curs_outopts.3x.html">curs_outopts(3x)</A></STRONG>
454 longname <STRONG><A HREF="curs_termattrs.3x.html">curs_termattrs(3x)</A></STRONG>
455 mcprint <STRONG><A HREF="curs_print.3x.html">curs_print(3x)</A></STRONG>*
456 meta <STRONG><A HREF="curs_inopts.3x.html">curs_inopts(3x)</A></STRONG>
457 mouse_trafo <STRONG><A HREF="curs_mouse.3x.html">curs_mouse(3x)</A></STRONG>*
458 mouseinterval <STRONG><A HREF="curs_mouse.3x.html">curs_mouse(3x)</A></STRONG>*
459 mousemask <STRONG><A HREF="curs_mouse.3x.html">curs_mouse(3x)</A></STRONG>*
460 move <STRONG><A HREF="curs_move.3x.html">curs_move(3x)</A></STRONG>
461 mvadd_wch <STRONG><A HREF="curs_add_wch.3x.html">curs_add_wch(3x)</A></STRONG>
462 mvadd_wchnstr <STRONG><A HREF="curs_add_wchstr.3x.html">curs_add_wchstr(3x)</A></STRONG>
463 mvadd_wchstr <STRONG><A HREF="curs_add_wchstr.3x.html">curs_add_wchstr(3x)</A></STRONG>
464 mvaddch <STRONG><A HREF="curs_addch.3x.html">curs_addch(3x)</A></STRONG>
465 mvaddchnstr <STRONG><A HREF="curs_addchstr.3x.html">curs_addchstr(3x)</A></STRONG>
466 mvaddchstr <STRONG><A HREF="curs_addchstr.3x.html">curs_addchstr(3x)</A></STRONG>
467 mvaddnstr <STRONG><A HREF="curs_addstr.3x.html">curs_addstr(3x)</A></STRONG>
468 mvaddnwstr <STRONG><A HREF="curs_addwstr.3x.html">curs_addwstr(3x)</A></STRONG>
469 mvaddstr <STRONG><A HREF="curs_addstr.3x.html">curs_addstr(3x)</A></STRONG>
470 mvaddwstr <STRONG><A HREF="curs_addwstr.3x.html">curs_addwstr(3x)</A></STRONG>
471 mvchgat <STRONG><A HREF="curs_attr.3x.html">curs_attr(3x)</A></STRONG>
472 mvcur <STRONG><A HREF="curs_terminfo.3x.html">curs_terminfo(3x)</A></STRONG>
473 mvdelch <STRONG><A HREF="curs_delch.3x.html">curs_delch(3x)</A></STRONG>
474 mvderwin <STRONG><A HREF="curs_window.3x.html">curs_window(3x)</A></STRONG>
475 mvget_wch <STRONG><A HREF="curs_get_wch.3x.html">curs_get_wch(3x)</A></STRONG>
476 mvget_wstr <STRONG><A HREF="curs_get_wstr.3x.html">curs_get_wstr(3x)</A></STRONG>
477 mvgetch <STRONG><A HREF="curs_getch.3x.html">curs_getch(3x)</A></STRONG>
478 mvgetn_wstr <STRONG><A HREF="curs_get_wstr.3x.html">curs_get_wstr(3x)</A></STRONG>
479 mvgetnstr <STRONG><A HREF="curs_getstr.3x.html">curs_getstr(3x)</A></STRONG>
480 mvgetstr <STRONG><A HREF="curs_getstr.3x.html">curs_getstr(3x)</A></STRONG>
481 mvhline <STRONG><A HREF="curs_border.3x.html">curs_border(3x)</A></STRONG>
482 mvhline_set <STRONG><A HREF="curs_border_set.3x.html">curs_border_set(3x)</A></STRONG>
483 mvin_wch <STRONG><A HREF="curs_in_wch.3x.html">curs_in_wch(3x)</A></STRONG>
484 mvin_wchnstr <STRONG><A HREF="curs_in_wchstr.3x.html">curs_in_wchstr(3x)</A></STRONG>
485 mvin_wchstr <STRONG><A HREF="curs_in_wchstr.3x.html">curs_in_wchstr(3x)</A></STRONG>
486 mvinch <STRONG><A HREF="curs_inch.3x.html">curs_inch(3x)</A></STRONG>
487 mvinchnstr <STRONG><A HREF="curs_inchstr.3x.html">curs_inchstr(3x)</A></STRONG>
488 mvinchstr <STRONG><A HREF="curs_inchstr.3x.html">curs_inchstr(3x)</A></STRONG>
489 mvinnstr <STRONG><A HREF="curs_instr.3x.html">curs_instr(3x)</A></STRONG>
490 mvinnwstr <STRONG><A HREF="curs_inwstr.3x.html">curs_inwstr(3x)</A></STRONG>
491 mvins_nwstr <STRONG><A HREF="curs_ins_wstr.3x.html">curs_ins_wstr(3x)</A></STRONG>
492 mvins_wch <STRONG><A HREF="curs_ins_wch.3x.html">curs_ins_wch(3x)</A></STRONG>
493 mvins_wstr <STRONG><A HREF="curs_ins_wstr.3x.html">curs_ins_wstr(3x)</A></STRONG>
494 mvinsch <STRONG><A HREF="curs_insch.3x.html">curs_insch(3x)</A></STRONG>
495 mvinsnstr <STRONG><A HREF="curs_insstr.3x.html">curs_insstr(3x)</A></STRONG>
496 mvinsstr <STRONG><A HREF="curs_insstr.3x.html">curs_insstr(3x)</A></STRONG>
497 mvinstr <STRONG><A HREF="curs_instr.3x.html">curs_instr(3x)</A></STRONG>
498 mvinwstr <STRONG><A HREF="curs_inwstr.3x.html">curs_inwstr(3x)</A></STRONG>
499 mvprintw <STRONG><A HREF="curs_printw.3x.html">curs_printw(3x)</A></STRONG>
500 mvscanw <STRONG><A HREF="curs_scanw.3x.html">curs_scanw(3x)</A></STRONG>
501 mvvline <STRONG><A HREF="curs_border.3x.html">curs_border(3x)</A></STRONG>
502 mvvline_set <STRONG><A HREF="curs_border_set.3x.html">curs_border_set(3x)</A></STRONG>
503 mvwadd_wch <STRONG><A HREF="curs_add_wch.3x.html">curs_add_wch(3x)</A></STRONG>
504 mvwadd_wchnstr <STRONG><A HREF="curs_add_wchstr.3x.html">curs_add_wchstr(3x)</A></STRONG>
505 mvwadd_wchstr <STRONG><A HREF="curs_add_wchstr.3x.html">curs_add_wchstr(3x)</A></STRONG>
506 mvwaddch <STRONG><A HREF="curs_addch.3x.html">curs_addch(3x)</A></STRONG>
507 mvwaddchnstr <STRONG><A HREF="curs_addchstr.3x.html">curs_addchstr(3x)</A></STRONG>
508 mvwaddchstr <STRONG><A HREF="curs_addchstr.3x.html">curs_addchstr(3x)</A></STRONG>
509 mvwaddnstr <STRONG><A HREF="curs_addstr.3x.html">curs_addstr(3x)</A></STRONG>
510 mvwaddnwstr <STRONG><A HREF="curs_addwstr.3x.html">curs_addwstr(3x)</A></STRONG>
512 mvwaddstr <STRONG><A HREF="curs_addstr.3x.html">curs_addstr(3x)</A></STRONG>
513 mvwaddwstr <STRONG><A HREF="curs_addwstr.3x.html">curs_addwstr(3x)</A></STRONG>
514 mvwchgat <STRONG><A HREF="curs_attr.3x.html">curs_attr(3x)</A></STRONG>
515 mvwdelch <STRONG><A HREF="curs_delch.3x.html">curs_delch(3x)</A></STRONG>
516 mvwget_wch <STRONG><A HREF="curs_get_wch.3x.html">curs_get_wch(3x)</A></STRONG>
517 mvwget_wstr <STRONG><A HREF="curs_get_wstr.3x.html">curs_get_wstr(3x)</A></STRONG>
518 mvwgetch <STRONG><A HREF="curs_getch.3x.html">curs_getch(3x)</A></STRONG>
519 mvwgetn_wstr <STRONG><A HREF="curs_get_wstr.3x.html">curs_get_wstr(3x)</A></STRONG>
520 mvwgetnstr <STRONG><A HREF="curs_getstr.3x.html">curs_getstr(3x)</A></STRONG>
521 mvwgetstr <STRONG><A HREF="curs_getstr.3x.html">curs_getstr(3x)</A></STRONG>
522 mvwhline <STRONG><A HREF="curs_border.3x.html">curs_border(3x)</A></STRONG>
523 mvwhline_set <STRONG><A HREF="curs_border_set.3x.html">curs_border_set(3x)</A></STRONG>
524 mvwin <STRONG><A HREF="curs_window.3x.html">curs_window(3x)</A></STRONG>
525 mvwin_wch <STRONG><A HREF="curs_in_wch.3x.html">curs_in_wch(3x)</A></STRONG>
526 mvwin_wchnstr <STRONG><A HREF="curs_in_wchstr.3x.html">curs_in_wchstr(3x)</A></STRONG>
527 mvwin_wchstr <STRONG><A HREF="curs_in_wchstr.3x.html">curs_in_wchstr(3x)</A></STRONG>
528 mvwinch <STRONG><A HREF="curs_inch.3x.html">curs_inch(3x)</A></STRONG>
529 mvwinchnstr <STRONG><A HREF="curs_inchstr.3x.html">curs_inchstr(3x)</A></STRONG>
530 mvwinchstr <STRONG><A HREF="curs_inchstr.3x.html">curs_inchstr(3x)</A></STRONG>
531 mvwinnstr <STRONG><A HREF="curs_instr.3x.html">curs_instr(3x)</A></STRONG>
532 mvwinnwstr <STRONG><A HREF="curs_inwstr.3x.html">curs_inwstr(3x)</A></STRONG>
533 mvwins_nwstr <STRONG><A HREF="curs_ins_wstr.3x.html">curs_ins_wstr(3x)</A></STRONG>
534 mvwins_wch <STRONG><A HREF="curs_ins_wch.3x.html">curs_ins_wch(3x)</A></STRONG>
535 mvwins_wstr <STRONG><A HREF="curs_ins_wstr.3x.html">curs_ins_wstr(3x)</A></STRONG>
536 mvwinsch <STRONG><A HREF="curs_insch.3x.html">curs_insch(3x)</A></STRONG>
537 mvwinsnstr <STRONG><A HREF="curs_insstr.3x.html">curs_insstr(3x)</A></STRONG>
538 mvwinsstr <STRONG><A HREF="curs_insstr.3x.html">curs_insstr(3x)</A></STRONG>
539 mvwinstr <STRONG><A HREF="curs_instr.3x.html">curs_instr(3x)</A></STRONG>
540 mvwinwstr <STRONG><A HREF="curs_inwstr.3x.html">curs_inwstr(3x)</A></STRONG>
541 mvwprintw <STRONG><A HREF="curs_printw.3x.html">curs_printw(3x)</A></STRONG>
542 mvwscanw <STRONG><A HREF="curs_scanw.3x.html">curs_scanw(3x)</A></STRONG>
543 mvwvline <STRONG><A HREF="curs_border.3x.html">curs_border(3x)</A></STRONG>
544 mvwvline_set <STRONG><A HREF="curs_border_set.3x.html">curs_border_set(3x)</A></STRONG>
545 napms <STRONG><A HREF="curs_kernel.3x.html">curs_kernel(3x)</A></STRONG>
546 newpad <STRONG><A HREF="curs_pad.3x.html">curs_pad(3x)</A></STRONG>
547 newterm <STRONG><A HREF="curs_initscr.3x.html">curs_initscr(3x)</A></STRONG>
548 newwin <STRONG><A HREF="curs_window.3x.html">curs_window(3x)</A></STRONG>
549 nl <STRONG><A HREF="curs_outopts.3x.html">curs_outopts(3x)</A></STRONG>
550 nocbreak <STRONG><A HREF="curs_inopts.3x.html">curs_inopts(3x)</A></STRONG>
551 nodelay <STRONG><A HREF="curs_inopts.3x.html">curs_inopts(3x)</A></STRONG>
552 noecho <STRONG><A HREF="curs_inopts.3x.html">curs_inopts(3x)</A></STRONG>
553 nofilter <STRONG><A HREF="curs_util.3x.html">curs_util(3x)</A></STRONG>*
554 nonl <STRONG><A HREF="curs_outopts.3x.html">curs_outopts(3x)</A></STRONG>
555 noqiflush <STRONG><A HREF="curs_inopts.3x.html">curs_inopts(3x)</A></STRONG>
556 noraw <STRONG><A HREF="curs_inopts.3x.html">curs_inopts(3x)</A></STRONG>
557 notimeout <STRONG><A HREF="curs_inopts.3x.html">curs_inopts(3x)</A></STRONG>
558 overlay <STRONG><A HREF="curs_overlay.3x.html">curs_overlay(3x)</A></STRONG>
559 overwrite <STRONG><A HREF="curs_overlay.3x.html">curs_overlay(3x)</A></STRONG>
560 pair_content <STRONG><A HREF="curs_color.3x.html">curs_color(3x)</A></STRONG>
561 pechochar <STRONG><A HREF="curs_pad.3x.html">curs_pad(3x)</A></STRONG>
562 pnoutrefresh <STRONG><A HREF="curs_pad.3x.html">curs_pad(3x)</A></STRONG>
563 prefresh <STRONG><A HREF="curs_pad.3x.html">curs_pad(3x)</A></STRONG>
564 printw <STRONG><A HREF="curs_printw.3x.html">curs_printw(3x)</A></STRONG>
565 putp <STRONG><A HREF="curs_terminfo.3x.html">curs_terminfo(3x)</A></STRONG>
566 putwin <STRONG><A HREF="curs_util.3x.html">curs_util(3x)</A></STRONG>
567 qiflush <STRONG><A HREF="curs_inopts.3x.html">curs_inopts(3x)</A></STRONG>
568 raw <STRONG><A HREF="curs_inopts.3x.html">curs_inopts(3x)</A></STRONG>
569 redrawwin <STRONG><A HREF="curs_refresh.3x.html">curs_refresh(3x)</A></STRONG>
570 refresh <STRONG><A HREF="curs_refresh.3x.html">curs_refresh(3x)</A></STRONG>
571 reset_prog_mode <STRONG><A HREF="curs_kernel.3x.html">curs_kernel(3x)</A></STRONG>
572 reset_shell_mode <STRONG><A HREF="curs_kernel.3x.html">curs_kernel(3x)</A></STRONG>
573 resetty <STRONG><A HREF="curs_kernel.3x.html">curs_kernel(3x)</A></STRONG>
574 resizeterm <STRONG><A HREF="resizeterm.3x.html">resizeterm(3x)</A></STRONG>*
575 restartterm <STRONG><A HREF="curs_terminfo.3x.html">curs_terminfo(3x)</A></STRONG>
576 ripoffline <STRONG><A HREF="curs_kernel.3x.html">curs_kernel(3x)</A></STRONG>
578 savetty <STRONG><A HREF="curs_kernel.3x.html">curs_kernel(3x)</A></STRONG>
579 scanw <STRONG><A HREF="curs_scanw.3x.html">curs_scanw(3x)</A></STRONG>
580 scr_dump <STRONG><A HREF="curs_scr_dump.3x.html">curs_scr_dump(3x)</A></STRONG>
581 scr_init <STRONG><A HREF="curs_scr_dump.3x.html">curs_scr_dump(3x)</A></STRONG>
582 scr_restore <STRONG><A HREF="curs_scr_dump.3x.html">curs_scr_dump(3x)</A></STRONG>
583 scr_set <STRONG><A HREF="curs_scr_dump.3x.html">curs_scr_dump(3x)</A></STRONG>
584 scrl <STRONG><A HREF="curs_scroll.3x.html">curs_scroll(3x)</A></STRONG>
585 scroll <STRONG><A HREF="curs_scroll.3x.html">curs_scroll(3x)</A></STRONG>
586 scrollok <STRONG><A HREF="curs_outopts.3x.html">curs_outopts(3x)</A></STRONG>
587 set_curterm <STRONG><A HREF="curs_terminfo.3x.html">curs_terminfo(3x)</A></STRONG>
588 set_term <STRONG><A HREF="curs_initscr.3x.html">curs_initscr(3x)</A></STRONG>
589 setcchar <STRONG><A HREF="curs_getcchar.3x.html">curs_getcchar(3x)</A></STRONG>
590 setscrreg <STRONG><A HREF="curs_outopts.3x.html">curs_outopts(3x)</A></STRONG>
591 setsyx <STRONG><A HREF="curs_kernel.3x.html">curs_kernel(3x)</A></STRONG>
592 setterm <STRONG><A HREF="curs_terminfo.3x.html">curs_terminfo(3x)</A></STRONG>
593 setupterm <STRONG><A HREF="curs_terminfo.3x.html">curs_terminfo(3x)</A></STRONG>
594 slk_attr <STRONG><A HREF="curs_slk.3x.html">curs_slk(3x)</A></STRONG>*
595 slk_attr_off <STRONG><A HREF="curs_slk.3x.html">curs_slk(3x)</A></STRONG>
596 slk_attr_on <STRONG><A HREF="curs_slk.3x.html">curs_slk(3x)</A></STRONG>
597 slk_attr_set <STRONG><A HREF="curs_slk.3x.html">curs_slk(3x)</A></STRONG>
598 slk_attroff <STRONG><A HREF="curs_slk.3x.html">curs_slk(3x)</A></STRONG>
599 slk_attron <STRONG><A HREF="curs_slk.3x.html">curs_slk(3x)</A></STRONG>
600 slk_attrset <STRONG><A HREF="curs_slk.3x.html">curs_slk(3x)</A></STRONG>
601 slk_clear <STRONG><A HREF="curs_slk.3x.html">curs_slk(3x)</A></STRONG>
602 slk_color <STRONG><A HREF="curs_slk.3x.html">curs_slk(3x)</A></STRONG>
603 slk_init <STRONG><A HREF="curs_slk.3x.html">curs_slk(3x)</A></STRONG>
604 slk_label <STRONG><A HREF="curs_slk.3x.html">curs_slk(3x)</A></STRONG>
605 slk_noutrefresh <STRONG><A HREF="curs_slk.3x.html">curs_slk(3x)</A></STRONG>
606 slk_refresh <STRONG><A HREF="curs_slk.3x.html">curs_slk(3x)</A></STRONG>
607 slk_restore <STRONG><A HREF="curs_slk.3x.html">curs_slk(3x)</A></STRONG>
608 slk_set <STRONG><A HREF="curs_slk.3x.html">curs_slk(3x)</A></STRONG>
609 slk_touch <STRONG><A HREF="curs_slk.3x.html">curs_slk(3x)</A></STRONG>
610 standend <STRONG><A HREF="curs_attr.3x.html">curs_attr(3x)</A></STRONG>
611 standout <STRONG><A HREF="curs_attr.3x.html">curs_attr(3x)</A></STRONG>
612 start_color <STRONG><A HREF="curs_color.3x.html">curs_color(3x)</A></STRONG>
613 subpad <STRONG><A HREF="curs_pad.3x.html">curs_pad(3x)</A></STRONG>
614 subwin <STRONG><A HREF="curs_window.3x.html">curs_window(3x)</A></STRONG>
615 syncok <STRONG><A HREF="curs_window.3x.html">curs_window(3x)</A></STRONG>
616 term_attrs <STRONG><A HREF="curs_termattrs.3x.html">curs_termattrs(3x)</A></STRONG>
617 termattrs <STRONG><A HREF="curs_termattrs.3x.html">curs_termattrs(3x)</A></STRONG>
618 termname <STRONG><A HREF="curs_termattrs.3x.html">curs_termattrs(3x)</A></STRONG>
619 tgetent <STRONG><A HREF="curs_termcap.3x.html">curs_termcap(3x)</A></STRONG>
620 tgetflag <STRONG><A HREF="curs_termcap.3x.html">curs_termcap(3x)</A></STRONG>
621 tgetnum <STRONG><A HREF="curs_termcap.3x.html">curs_termcap(3x)</A></STRONG>
622 tgetstr <STRONG><A HREF="curs_termcap.3x.html">curs_termcap(3x)</A></STRONG>
623 tgoto <STRONG><A HREF="curs_termcap.3x.html">curs_termcap(3x)</A></STRONG>
624 tigetflag <STRONG><A HREF="curs_terminfo.3x.html">curs_terminfo(3x)</A></STRONG>
625 tigetnum <STRONG><A HREF="curs_terminfo.3x.html">curs_terminfo(3x)</A></STRONG>
626 tigetstr <STRONG><A HREF="curs_terminfo.3x.html">curs_terminfo(3x)</A></STRONG>
627 timeout <STRONG><A HREF="curs_inopts.3x.html">curs_inopts(3x)</A></STRONG>
628 touchline <STRONG><A HREF="curs_touch.3x.html">curs_touch(3x)</A></STRONG>
629 touchwin <STRONG><A HREF="curs_touch.3x.html">curs_touch(3x)</A></STRONG>
630 tparm <STRONG><A HREF="curs_terminfo.3x.html">curs_terminfo(3x)</A></STRONG>
631 tputs <STRONG><A HREF="curs_termcap.3x.html">curs_termcap(3x)</A></STRONG>
632 tputs <STRONG><A HREF="curs_terminfo.3x.html">curs_terminfo(3x)</A></STRONG>
633 trace <STRONG><A HREF="curs_trace.3x.html">curs_trace(3x)</A></STRONG>*
634 typeahead <STRONG><A HREF="curs_inopts.3x.html">curs_inopts(3x)</A></STRONG>
635 unctrl <STRONG><A HREF="curs_util.3x.html">curs_util(3x)</A></STRONG>
636 unget_wch <STRONG><A HREF="curs_get_wch.3x.html">curs_get_wch(3x)</A></STRONG>
637 ungetch <STRONG><A HREF="curs_getch.3x.html">curs_getch(3x)</A></STRONG>
638 ungetmouse <STRONG><A HREF="curs_mouse.3x.html">curs_mouse(3x)</A></STRONG>*
639 untouchwin <STRONG><A HREF="curs_touch.3x.html">curs_touch(3x)</A></STRONG>
640 use_default_colors <STRONG><A HREF="default_colors.3x.html">default_colors(3x)</A></STRONG>*
641 use_env <STRONG><A HREF="curs_util.3x.html">curs_util(3x)</A></STRONG>
642 use_extended_names <STRONG><A HREF="curs_extend.3x.html">curs_extend(3x)</A></STRONG>*
644 use_legacy_coding <STRONG><A HREF="legacy_coding.3x.html">legacy_coding(3x)</A></STRONG>*
645 vid_attr <STRONG><A HREF="curs_terminfo.3x.html">curs_terminfo(3x)</A></STRONG>
646 vid_puts <STRONG><A HREF="curs_terminfo.3x.html">curs_terminfo(3x)</A></STRONG>
647 vidattr <STRONG><A HREF="curs_terminfo.3x.html">curs_terminfo(3x)</A></STRONG>
648 vidputs <STRONG><A HREF="curs_terminfo.3x.html">curs_terminfo(3x)</A></STRONG>
649 vline <STRONG><A HREF="curs_border.3x.html">curs_border(3x)</A></STRONG>
650 vline_set <STRONG><A HREF="curs_border_set.3x.html">curs_border_set(3x)</A></STRONG>
651 vw_printw <STRONG><A HREF="curs_printw.3x.html">curs_printw(3x)</A></STRONG>
652 vw_scanw <STRONG><A HREF="curs_scanw.3x.html">curs_scanw(3x)</A></STRONG>
653 vwprintw <STRONG><A HREF="curs_printw.3x.html">curs_printw(3x)</A></STRONG>
654 vwscanw <STRONG><A HREF="curs_scanw.3x.html">curs_scanw(3x)</A></STRONG>
655 wadd_wch <STRONG><A HREF="curs_add_wch.3x.html">curs_add_wch(3x)</A></STRONG>
656 wadd_wchnstr <STRONG><A HREF="curs_add_wchstr.3x.html">curs_add_wchstr(3x)</A></STRONG>
657 wadd_wchstr <STRONG><A HREF="curs_add_wchstr.3x.html">curs_add_wchstr(3x)</A></STRONG>
658 waddch <STRONG><A HREF="curs_addch.3x.html">curs_addch(3x)</A></STRONG>
659 waddchnstr <STRONG><A HREF="curs_addchstr.3x.html">curs_addchstr(3x)</A></STRONG>
660 waddchstr <STRONG><A HREF="curs_addchstr.3x.html">curs_addchstr(3x)</A></STRONG>
661 waddnstr <STRONG><A HREF="curs_addstr.3x.html">curs_addstr(3x)</A></STRONG>
662 waddnwstr <STRONG><A HREF="curs_addwstr.3x.html">curs_addwstr(3x)</A></STRONG>
663 waddstr <STRONG><A HREF="curs_addstr.3x.html">curs_addstr(3x)</A></STRONG>
664 waddwstr <STRONG><A HREF="curs_addwstr.3x.html">curs_addwstr(3x)</A></STRONG>
665 wattr_get <STRONG><A HREF="curs_attr.3x.html">curs_attr(3x)</A></STRONG>
666 wattr_off <STRONG><A HREF="curs_attr.3x.html">curs_attr(3x)</A></STRONG>
667 wattr_on <STRONG><A HREF="curs_attr.3x.html">curs_attr(3x)</A></STRONG>
668 wattr_set <STRONG><A HREF="curs_attr.3x.html">curs_attr(3x)</A></STRONG>
669 wattroff <STRONG><A HREF="curs_attr.3x.html">curs_attr(3x)</A></STRONG>
670 wattron <STRONG><A HREF="curs_attr.3x.html">curs_attr(3x)</A></STRONG>
671 wattrset <STRONG><A HREF="curs_attr.3x.html">curs_attr(3x)</A></STRONG>
672 wbkgd <STRONG><A HREF="curs_bkgd.3x.html">curs_bkgd(3x)</A></STRONG>
673 wbkgdset <STRONG><A HREF="curs_bkgd.3x.html">curs_bkgd(3x)</A></STRONG>
674 wbkgrnd <STRONG><A HREF="curs_bkgrnd.3x.html">curs_bkgrnd(3x)</A></STRONG>
675 wbkgrndset <STRONG><A HREF="curs_bkgrnd.3x.html">curs_bkgrnd(3x)</A></STRONG>
676 wborder <STRONG><A HREF="curs_border.3x.html">curs_border(3x)</A></STRONG>
677 wborder_set <STRONG><A HREF="curs_border_set.3x.html">curs_border_set(3x)</A></STRONG>
678 wchgat <STRONG><A HREF="curs_attr.3x.html">curs_attr(3x)</A></STRONG>
679 wclear <STRONG><A HREF="curs_clear.3x.html">curs_clear(3x)</A></STRONG>
680 wclrtobot <STRONG><A HREF="curs_clear.3x.html">curs_clear(3x)</A></STRONG>
681 wclrtoeol <STRONG><A HREF="curs_clear.3x.html">curs_clear(3x)</A></STRONG>
682 wcolor_set <STRONG><A HREF="curs_attr.3x.html">curs_attr(3x)</A></STRONG>
683 wcursyncup <STRONG><A HREF="curs_window.3x.html">curs_window(3x)</A></STRONG>
684 wdelch <STRONG><A HREF="curs_delch.3x.html">curs_delch(3x)</A></STRONG>
685 wdeleteln <STRONG><A HREF="curs_deleteln.3x.html">curs_deleteln(3x)</A></STRONG>
686 wecho_wchar <STRONG><A HREF="curs_add_wch.3x.html">curs_add_wch(3x)</A></STRONG>
687 wechochar <STRONG><A HREF="curs_addch.3x.html">curs_addch(3x)</A></STRONG>
688 wenclose <STRONG><A HREF="curs_mouse.3x.html">curs_mouse(3x)</A></STRONG>*
689 werase <STRONG><A HREF="curs_clear.3x.html">curs_clear(3x)</A></STRONG>
690 wget_wch <STRONG><A HREF="curs_get_wch.3x.html">curs_get_wch(3x)</A></STRONG>
691 wget_wstr <STRONG><A HREF="curs_get_wstr.3x.html">curs_get_wstr(3x)</A></STRONG>
692 wgetbkgrnd <STRONG><A HREF="curs_bkgrnd.3x.html">curs_bkgrnd(3x)</A></STRONG>
693 wgetch <STRONG><A HREF="curs_getch.3x.html">curs_getch(3x)</A></STRONG>
694 wgetn_wstr <STRONG><A HREF="curs_get_wstr.3x.html">curs_get_wstr(3x)</A></STRONG>
695 wgetnstr <STRONG><A HREF="curs_getstr.3x.html">curs_getstr(3x)</A></STRONG>
696 wgetstr <STRONG><A HREF="curs_getstr.3x.html">curs_getstr(3x)</A></STRONG>
697 whline <STRONG><A HREF="curs_border.3x.html">curs_border(3x)</A></STRONG>
698 whline_set <STRONG><A HREF="curs_border_set.3x.html">curs_border_set(3x)</A></STRONG>
699 win_wch <STRONG><A HREF="curs_in_wch.3x.html">curs_in_wch(3x)</A></STRONG>
700 win_wchnstr <STRONG><A HREF="curs_in_wchstr.3x.html">curs_in_wchstr(3x)</A></STRONG>
701 win_wchstr <STRONG><A HREF="curs_in_wchstr.3x.html">curs_in_wchstr(3x)</A></STRONG>
702 winch <STRONG><A HREF="curs_inch.3x.html">curs_inch(3x)</A></STRONG>
703 winchnstr <STRONG><A HREF="curs_inchstr.3x.html">curs_inchstr(3x)</A></STRONG>
704 winchstr <STRONG><A HREF="curs_inchstr.3x.html">curs_inchstr(3x)</A></STRONG>
705 winnstr <STRONG><A HREF="curs_instr.3x.html">curs_instr(3x)</A></STRONG>
706 winnwstr <STRONG><A HREF="curs_inwstr.3x.html">curs_inwstr(3x)</A></STRONG>
707 wins_nwstr <STRONG><A HREF="curs_ins_wstr.3x.html">curs_ins_wstr(3x)</A></STRONG>
708 wins_wch <STRONG><A HREF="curs_ins_wch.3x.html">curs_ins_wch(3x)</A></STRONG>
710 wins_wstr <STRONG><A HREF="curs_ins_wstr.3x.html">curs_ins_wstr(3x)</A></STRONG>
711 winsch <STRONG><A HREF="curs_insch.3x.html">curs_insch(3x)</A></STRONG>
712 winsdelln <STRONG><A HREF="curs_deleteln.3x.html">curs_deleteln(3x)</A></STRONG>
713 winsertln <STRONG><A HREF="curs_deleteln.3x.html">curs_deleteln(3x)</A></STRONG>
714 winsnstr <STRONG><A HREF="curs_insstr.3x.html">curs_insstr(3x)</A></STRONG>
715 winsstr <STRONG><A HREF="curs_insstr.3x.html">curs_insstr(3x)</A></STRONG>
716 winstr <STRONG><A HREF="curs_instr.3x.html">curs_instr(3x)</A></STRONG>
717 winwstr <STRONG><A HREF="curs_inwstr.3x.html">curs_inwstr(3x)</A></STRONG>
718 wmouse_trafo <STRONG><A HREF="curs_mouse.3x.html">curs_mouse(3x)</A></STRONG>*
719 wmove <STRONG><A HREF="curs_move.3x.html">curs_move(3x)</A></STRONG>
720 wnoutrefresh <STRONG><A HREF="curs_refresh.3x.html">curs_refresh(3x)</A></STRONG>
721 wprintw <STRONG><A HREF="curs_printw.3x.html">curs_printw(3x)</A></STRONG>
722 wredrawln <STRONG><A HREF="curs_refresh.3x.html">curs_refresh(3x)</A></STRONG>
723 wrefresh <STRONG><A HREF="curs_refresh.3x.html">curs_refresh(3x)</A></STRONG>
724 wresize <STRONG><A HREF="wresize.3x.html">wresize(3x)</A></STRONG>*
725 wscanw <STRONG><A HREF="curs_scanw.3x.html">curs_scanw(3x)</A></STRONG>
726 wscrl <STRONG><A HREF="curs_scroll.3x.html">curs_scroll(3x)</A></STRONG>
727 wsetscrreg <STRONG><A HREF="curs_outopts.3x.html">curs_outopts(3x)</A></STRONG>
728 wstandend <STRONG><A HREF="curs_attr.3x.html">curs_attr(3x)</A></STRONG>
729 wstandout <STRONG><A HREF="curs_attr.3x.html">curs_attr(3x)</A></STRONG>
730 wsyncdown <STRONG><A HREF="curs_window.3x.html">curs_window(3x)</A></STRONG>
731 wsyncup <STRONG><A HREF="curs_window.3x.html">curs_window(3x)</A></STRONG>
732 wtimeout <STRONG><A HREF="curs_inopts.3x.html">curs_inopts(3x)</A></STRONG>
733 wtouchln <STRONG><A HREF="curs_touch.3x.html">curs_touch(3x)</A></STRONG>
734 wunctrl <STRONG><A HREF="curs_util.3x.html">curs_util(3x)</A></STRONG>
735 wvline <STRONG><A HREF="curs_border.3x.html">curs_border(3x)</A></STRONG>
736 wvline_set <STRONG><A HREF="curs_border_set.3x.html">curs_border_set(3x)</A></STRONG>
740 <H2>RETURN VALUE</H2><PRE>
741 Routines that return an integer return <STRONG>ERR</STRONG> upon failure
742 and an integer value other than <STRONG>ERR</STRONG> upon successful com-
743 pletion, unless otherwise noted in the routine descrip-
746 All macros return the value of the <STRONG>w</STRONG> version, except
747 <STRONG>setscrreg</STRONG>, <STRONG>wsetscrreg</STRONG>, <STRONG>getyx</STRONG>, <STRONG>getbegyx</STRONG>, and <STRONG>getmaxyx</STRONG>. The
748 return values of <STRONG>setscrreg</STRONG>, <STRONG>wsetscrreg</STRONG>, <STRONG>getyx</STRONG>, <STRONG>getbegyx</STRONG>,
749 and <STRONG>getmaxyx</STRONG> are undefined (i.e., these should not be used
750 as the right-hand side of assignment statements).
752 Routines that return pointers return <STRONG>NULL</STRONG> on error.
756 <H2>ENVIRONMENT</H2><PRE>
757 The following environment symbols are useful for customiz-
758 ing the runtime behavior of the <STRONG>ncurses</STRONG> library. The most
759 important ones have been already discussed in detail.
762 The debugging library checks this environment symbol
763 when the application has redirected output to a file.
764 The symbol's numeric value is used for the baudrate.
765 If no value is found, <STRONG>ncurses</STRONG> uses 9600. This allows
766 testers to construct repeatable test-cases that take
767 into account costs that depend on baudrate.
769 CC When set, change occurrences of the command_character
770 (i.e., the <STRONG>cmdch</STRONG> capability) of the loaded terminfo
771 entries to the value of this symbol. Very few ter-
772 minfo entries provide this feature.
775 Specify the width of the screen in characters.
776 Applications running in a windowing environment usu-
777 ally are able to obtain the width of the window in
778 which they are executing. If neither the <STRONG>COLUMNS</STRONG>
779 value nor the terminal's screen size is available,
780 <STRONG>ncurses</STRONG> uses the size which may be specified in the
781 terminfo database (i.e., the <STRONG>cols</STRONG> capability).
783 It is important that your application use a correct
784 size for the screen. This is not always possible
785 because your application may be running on a host
786 which does not honor NAWS (Negotiations About Window
787 Size), or because you are temporarily running as
788 another user. However, setting <STRONG>COLUMNS</STRONG> and/or <STRONG>LINES</STRONG>
789 overrides the library's use of the screen size
790 obtained from the operating system.
792 Either <STRONG>COLUMNS</STRONG> or <STRONG>LINES</STRONG> symbols may be specified
793 independently. This is mainly useful to circumvent
794 legacy misfeatures of terminal descriptions, e.g.,
795 xterm which commonly specifies a 65 line screen. For
796 best results, <STRONG>lines</STRONG> and <STRONG>cols</STRONG> should not be specified
797 in a terminal description for terminals which are run
800 Use the <STRONG>use_env</STRONG> function to disable all use of exter-
801 nal environment (including system calls) to determine
805 Specifies the total time, in milliseconds, for which
806 ncurses will await a character sequence, e.g., a
807 function key. The default value, 1000 milliseconds,
808 is enough for most uses. However, it is made a vari-
809 able to accommodate unusual applications.
811 The most common instance where you may wish to change
812 this value is to work with slow hosts, e.g., running
813 on a network. If the host cannot read characters
814 rapidly enough, it will have the same effect as if
815 the terminal did not send characters rapidly enough.
816 The library will still see a timeout.
818 Note that xterm mouse events are built up from char-
819 acter sequences received from the xterm. If your
820 application makes heavy use of multiple-clicking, you
821 may wish to lengthen this default value because the
822 timeout applies to the composed multi-click event as
823 well as the individual clicks.
825 In addition to the environment variable, this imple-
826 mentation provides a global variable with the same
827 name. Portable applications should not rely upon the
828 presence of ESCDELAY in either form, but setting the
829 environment variable rather than the global variable
830 does not create problems when compiling an applica-
833 HOME Tells <STRONG>ncurses</STRONG> where your home directory is. That is
834 where it may read and write auxiliary terminal
841 Like COLUMNS, specify the height of the screen in
842 characters. See COLUMNS for a detailed description.
845 This applies only to the OS/2 EMX port. It specifies
846 the order of buttons on the mouse. OS/2 numbers a
847 3-button mouse inconsistently from other platforms:
853 This symbol lets you customize the mouse. The symbol
854 must be three numeric digits 1-3 in any order, e.g.,
855 123 or 321. If it is not specified, <STRONG>ncurses</STRONG> uses
858 NCURSES_ASSUMED_COLORS
859 Override the compiled-in assumption that the termi-
860 nal's default colors are white-on-black (see
861 <STRONG><A HREF="default_colors.3x.html">default_colors(3x)</A></STRONG>). You may set the foreground and
862 background color values with this environment vari-
863 able by proving a 2-element list: foreground,back-
864 ground. For example, to tell ncurses to not assume
865 anything about the colors, set this to "-1,-1". To
866 make it green-on-black, set it to "2,0". Any posi-
867 tive value from zero to the terminfo <STRONG>max_colors</STRONG> value
871 <STRONG>Ncurses</STRONG> may use tabs as part of the cursor movement
872 optimization. In some cases, your terminal driver
873 may not handle these properly. Set this environment
874 variable to disable the feature. You can also adjust
875 your <STRONG>stty</STRONG> settings to avoid the problem.
877 NCURSES_NO_MAGIC_COOKIES
878 Some terminals use a magic-cookie feature which
879 requires special handling to make highlighting and
880 other video attributes display properly. You can
881 suppress the highlighting entirely for these termi-
882 nals by setting this environment variable.
885 Most of the terminal descriptions in the terminfo
886 database are written for real "hardware" terminals.
887 Many people use terminal emulators which run in a
888 windowing environment and use curses-based applica-
889 tions. Terminal emulators can duplicate all of the
890 important aspects of a hardware terminal, but they do
891 not have the same limitations. The chief limitation
892 of a hardware terminal from the standpoint of your
893 application is the management of dataflow, i.e., tim-
894 ing. Unless a hardware terminal is interfaced into a
895 terminal concentrator (which does flow control), it
896 (or your application) must manage dataflow, prevent-
897 ing overruns. The cheapest solution (no hardware
898 cost) is for your program to do this by pausing after
899 operations that the terminal does slowly, such as
900 clearing the display.
902 As a result, many terminal descriptions (including
903 the vt100) have delay times embedded. You may wish
904 to use these descriptions, but not want to pay the
907 Set the NCURSES_NO_PADDING symbol to disable all but
908 mandatory padding. Mandatory padding is used as a
909 part of special control sequences such as <EM>flash</EM>.
912 Normally <STRONG>ncurses</STRONG> enables buffered output during ter-
913 minal initialization. This is done (as in SVr4
914 curses) for performance reasons. For testing pur-
915 poses, both of <STRONG>ncurses</STRONG> and certain applications, this
916 feature is made optional. Setting the
917 NCURSES_NO_SETBUF variable disables output buffering,
918 leaving the output in the original (usually line
922 During initialization, the <STRONG>ncurses</STRONG> library checks for
923 special cases where VT100 line-drawing (and the cor-
924 responding alternate character set capabilities)
925 described in the terminfo are known to be missing.
926 Specifically, when running in a UTF-8 locale, the
927 Linux console emulator and the GNU screen program
928 ignore these. Ncurses checks the TERM environment
929 variable for these. For other special cases, you
930 should set this environment variable. Doing this
931 tells ncurses to use Unicode values which correspond
932 to the VT100 line-drawing glyphs. That works for the
933 special cases cited, and is likely to work for termi-
936 When setting this variable, you should set it to a
937 nonzero value. Setting it to zero (or to a nonnum-
938 ber) disables the special check for Linux and screen.
941 During initialization, the <STRONG>ncurses</STRONG> debugging library
942 checks the NCURSES_TRACE symbol. If it is defined,
943 to a numeric value, <STRONG>ncurses</STRONG> calls the <STRONG>trace</STRONG> function,
944 using that value as the argument.
946 The argument values, which are defined in <STRONG>curses.h</STRONG>,
947 provide several types of information. When running
948 with traces enabled, your application will write the
949 file <STRONG>trace</STRONG> to the current directory.
951 TERM Denotes your terminal type. Each terminal type is
952 distinct, though many are similar.
955 If the <STRONG>ncurses</STRONG> library has been configured with <EM>term-</EM>
956 <EM>cap</EM> support, <STRONG>ncurses</STRONG> will check for a terminal's
957 description in termcap form if it is not available in
958 the terminfo database.
960 The TERMCAP symbol contains either a terminal
961 description (with newlines stripped out), or a file
962 name telling where the information denoted by the
963 TERM symbol exists. In either case, setting it
964 directs <STRONG>ncurses</STRONG> to ignore the usual place for this
965 information, e.g., /etc/termcap.
968 Overrides the directory in which <STRONG>ncurses</STRONG> searches for
969 your terminal description. This is the simplest, but
970 not the only way to change the list of directories.
971 The complete list of directories in order follows:
973 - the last directory to which <STRONG>ncurses</STRONG> wrote, if any,
976 - the directory specified by the TERMINFO symbol
980 - directories listed in the TERMINFO_DIRS symbol
982 - one or more directories whose names are configured
983 and compiled into the ncurses library, e.g.,
987 Specifies a list of directories to search for termi-
988 nal descriptions. The list is separated by colons
989 (i.e., ":") on Unix, semicolons on OS/2 EMX. All of
990 the terminal descriptions are in terminfo form, which
991 makes a subdirectory named for the first letter of
992 the terminal names therein.
995 If TERMCAP does not hold a file name then <STRONG>ncurses</STRONG>
996 checks the TERMPATH symbol. This is a list of file-
997 names separated by spaces or colons (i.e., ":") on
998 Unix, semicolons on OS/2 EMX. If the TERMPATH symbol
999 is not set, <STRONG>ncurses</STRONG> looks in the files /etc/termcap,
1000 /usr/share/misc/termcap and $HOME/.termcap, in that
1003 The library may be configured to disregard the following
1004 variables when the current user is the superuser (root),
1005 or if the application uses setuid or setgid permissions:
1006 $TERMINFO, $TERMINFO_DIRS, $TERMPATH, as well as $HOME.
1010 <H2>ALTERNATE CONFIGURATIONS</H2><PRE>
1011 Several different configurations are possible, depending
1012 on the configure script options used when building
1013 <STRONG>ncurses</STRONG>. There are a few main options whose effects are
1014 visible to the applications developer using <STRONG>ncurses</STRONG>:
1017 The standard include for <STRONG>ncurses</STRONG> is as noted in <STRONG>SYN-</STRONG>
1018 <STRONG>OPSIS</STRONG>:
1020 <STRONG>#include</STRONG> <STRONG><curses.h></STRONG>
1022 This option is used to avoid filename conflicts when
1023 <STRONG>ncurses</STRONG> is not the main implementation of curses of
1024 the computer. If <STRONG>ncurses</STRONG> is installed disabling
1025 overwrite, it puts its headers in a subdirectory,
1028 <STRONG>#include</STRONG> <STRONG><ncurses/curses.h></STRONG>
1030 It also omits a symbolic link which would allow you
1031 to use <STRONG>-lcurses</STRONG> to build executables.
1034 The configure script renames the library and (if the
1035 <STRONG>--disable-overwrite</STRONG> option is used) puts the header
1036 files in a different subdirectory. All of the
1037 library names have a "w" appended to them, i.e.,
1040 <STRONG>-lncurses</STRONG>
1044 <STRONG>-lncursesw</STRONG>
1046 You must also define <STRONG>_XOPEN_SOURCE_EXTENDED</STRONG> when com-
1047 piling for the wide-character library to use the
1048 extended (wide-character) functions. The <STRONG>curses.h</STRONG>
1049 file which is installed for the wide-character
1050 library is designed to be compatible with the normal
1051 library's header. Only the size of the <STRONG>WINDOW</STRONG>
1052 structure differs, and very few applications require
1053 more than a pointer to <STRONG>WINDOW</STRONG>s. If the headers are
1054 installed allowing overwrite, the wide-character
1055 library's headers should be installed last, to allow
1056 applications to be built using either library from
1057 the same set of headers.
1066 The shared and normal (static) library names differ
1067 by their suffixes, e.g., <STRONG>libncurses.so</STRONG> and <STRONG>libn-</STRONG>
1068 <STRONG>curses.a</STRONG>. The debug and profiling libraries add a
1069 "_g" and a "_p" to the root names respectively, e.g.,
1070 <STRONG>libncurses_g.a</STRONG> and <STRONG>libncurses_p.a</STRONG>.
1073 The <STRONG>trace</STRONG> function normally resides in the debug
1074 library, but it is sometimes useful to configure this
1075 in the shared library. Configure scripts should
1076 check for the function's existence rather than assum-
1077 ing it is always in the debug library.
1083 directory containing initialization files for the
1084 terminal capability database /usr/share/terminfo ter-
1085 minal capability database
1089 <H2>SEE ALSO</H2><PRE>
1090 <STRONG><A HREF="terminfo.5.html">terminfo(5)</A></STRONG> and related pages whose names begin "curs_"
1091 for detailed routine descriptions.
1095 <H2>EXTENSIONS</H2><PRE>
1096 The <STRONG>ncurses</STRONG> library can be compiled with an option
1097 (<STRONG>-DUSE_GETCAP</STRONG>) that falls back to the old-style /etc/term-
1098 cap file if the terminal setup code cannot find a terminfo
1099 entry corresponding to <STRONG>TERM</STRONG>. Use of this feature is not
1100 recommended, as it essentially includes an entire termcap
1101 compiler in the <STRONG>ncurses</STRONG> startup code, at significant cost
1102 in core and startup cycles.
1104 The <STRONG>ncurses</STRONG> library includes facilities for capturing
1105 mouse events on certain terminals (including xterm). See
1106 the <STRONG><A HREF="curs_mouse.3x.html">curs_mouse(3x)</A></STRONG> manual page for details.
1108 The <STRONG>ncurses</STRONG> library includes facilities for responding to
1109 window resizing events, e.g., when running in an xterm.
1110 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
1111 details. In addition, the library may be configured with
1114 The <STRONG>ncurses</STRONG> library extends the fixed set of function key
1115 capabilities of terminals by allowing the application
1116 designer to define additional key sequences at runtime.
1117 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-
1118 ual pages for details.
1120 The <STRONG>ncurses</STRONG> library can exploit the capabilities of termi-
1121 nals which implement the ISO-6429 SGR 39 and SGR 49 con-
1122 trols, which allow an application to reset the terminal to
1123 its original foreground and background colors. From the
1124 users' perspective, the application is able to draw col-
1125 ored text on a background whose color is set
1126 independently, providing better control over color con-
1127 trasts. See the <STRONG><A HREF="default_colors.3x.html">default_colors(3x)</A></STRONG> manual page for
1130 The <STRONG>ncurses</STRONG> library includes a function for directing
1131 application output to a printer attached to the terminal
1132 device. See the <STRONG><A HREF="curs_print.3x.html">curs_print(3x)</A></STRONG> manual page for details.
1136 <H2>PORTABILITY</H2><PRE>
1137 The <STRONG>ncurses</STRONG> library is intended to be BASE-level confor-
1138 mant with XSI Curses. The EXTENDED XSI Curses functional-
1139 ity (including color support) is supported.
1141 A small number of local differences (that is, individual
1142 differences between the XSI Curses and <STRONG>ncurses</STRONG> calls) are
1143 described in <STRONG>PORTABILITY</STRONG> sections of the library man
1146 This implementation also contains several extensions:
1148 The routine <STRONG>has_key</STRONG> is not part of XPG4, nor is it
1149 present in SVr4. See the <STRONG><A HREF="curs_getch.3x.html">curs_getch(3x)</A></STRONG> manual page
1152 The routine <STRONG>slk_attr</STRONG> is not part of XPG4, nor is it
1153 present in SVr4. See the <STRONG><A HREF="curs_slk.3x.html">curs_slk(3x)</A></STRONG> manual page
1156 The routines <STRONG>getmouse</STRONG>, <STRONG>mousemask</STRONG>, <STRONG>ungetmouse</STRONG>, <STRONG>mou-</STRONG>
1157 <STRONG>seinterval</STRONG>, and <STRONG>wenclose</STRONG> relating to mouse interfac-
1158 ing are not part of XPG4, nor are they present in
1159 SVr4. See the <STRONG><A HREF="curs_mouse.3x.html">curs_mouse(3x)</A></STRONG> manual page for
1162 The routine <STRONG>mcprint</STRONG> was not present in any previous
1163 curses implementation. See the <STRONG><A HREF="curs_print.3x.html">curs_print(3x)</A></STRONG> manual
1166 The routine <STRONG>wresize</STRONG> is not part of XPG4, nor is it
1167 present in SVr4. See the <STRONG><A HREF="wresize.3x.html">wresize(3x)</A></STRONG> manual page for
1170 The WINDOW structure's internal details can be hidden
1171 from application programs. See <STRONG><A HREF="curs_opaque.3x.html">curs_opaque(3x)</A></STRONG> for
1172 the discussion of <STRONG>is_scrollok</STRONG>, etc.
1174 In historic curses versions, delays embedded in the capa-
1175 bilities <STRONG>cr</STRONG>, <STRONG>ind</STRONG>, <STRONG>cub1</STRONG>, <STRONG>ff</STRONG> and <STRONG>tab</STRONG> activated corresponding
1176 delay bits in the UNIX tty driver. In this implementa-
1177 tion, all padding is done by sending NUL bytes. This
1178 method is slightly more expensive, but narrows the inter-
1179 face to the UNIX kernel significantly and increases the
1180 package's portability correspondingly.
1185 The header file <STRONG><curses.h></STRONG> automatically includes the
1186 header files <STRONG><stdio.h></STRONG> and <STRONG><unctrl.h></STRONG>.
1188 If standard output from a <STRONG>ncurses</STRONG> program is re-directed
1189 to something which is not a tty, screen updates will be
1190 directed to standard error. This was an undocumented fea-
1191 ture of AT&T System V Release 3 curses.
1195 <H2>AUTHORS</H2><PRE>
1196 Zeyd M. Ben-Halim, Eric S. Raymond, Thomas E. Dickey.
1197 Based on pcurses by Pavel Curtis.
1201 <STRONG><A HREF="ncurses.3x.html">ncurses(3x)</A></STRONG>
1205 Man(1) output converted with
1206 <a href="http://www.oac.uci.edu/indiv/ehood/man2html.html">man2html</a>