1 <!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML 2.0//EN">
4 ****************************************************************************
5 * Copyright (c) 1998-2009,2010 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.100 2010/10/02 23:30:31 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.7 (patch 20101002).
68 The <STRONG>ncurses</STRONG> library emulates the curses library of System
69 V Release 4 UNIX, and XPG4 (X/Open Portability Guide)
70 curses (also known as XSI curses). XSI stands for X/Open
71 System Interfaces Extension. The <STRONG>ncurses</STRONG> library is
72 freely redistributable in source form. Differences from
73 the SVr4 curses are summarized under the <STRONG>EXTENSIONS</STRONG> and
74 <STRONG>PORTABILITY</STRONG> sections below and described in detail in the
75 respective <STRONG>EXTENSIONS</STRONG>, <STRONG>PORTABILITY</STRONG> and <STRONG>BUGS</STRONG> sections of
78 The <STRONG>ncurses</STRONG> library also provides many useful extensions,
79 i.e., features which cannot be implemented by a simple
80 add-on library but which require access to the internals
83 A program using these routines must be linked with the
84 <STRONG>-lncurses</STRONG> option, or (if it has been generated) with the
85 debugging library <STRONG>-lncurses_g</STRONG>. (Your system integrator
86 may also have installed these libraries under the names
87 <STRONG>-lcurses</STRONG> and <STRONG>-lcurses_g</STRONG>.) The ncurses_g library generates
88 trace logs (in a file called 'trace' in the current direc-
89 tory) that describe curses actions. See also the section
90 on <STRONG>ALTERNATE</STRONG> <STRONG>CONFIGURATIONS</STRONG>.
92 The <STRONG>ncurses</STRONG> package supports: overall screen, window and
93 pad manipulation; output to windows and pads; reading ter-
94 minal input; control over terminal and <STRONG>curses</STRONG> input and
95 output options; environment query routines; color manipu-
96 lation; use of soft label keys; terminfo capabilities; and
97 access to low-level terminal-manipulation routines.
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
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><curses.h></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&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-
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-
207 The integer variables <STRONG>LINES</STRONG> and <STRONG>COLS</STRONG> are defined in
208 <STRONG><curses.h></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><curses.h></STRONG>.
242 Types used for the terminfo routines such as <STRONG>TERMINAL</STRONG> are
243 defined in <STRONG><term.h></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:
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>
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>.
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-
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>.
300 <STRONG>Routine</STRONG> <STRONG>Name</STRONG> <STRONG>Index</STRONG>
301 The following table lists each <STRONG>curses</STRONG> routine and the name
302 of the manual page on which it is described. Routines
303 flagged with `*' are ncurses-specific, not described by
304 XPG4 or present in SVr4.
306 <STRONG>curses</STRONG> Routine Name Manual Page Name
307 --------------------------------------------
308 COLOR_PAIR <STRONG><A HREF="curs_color.3x.html">curs_color(3x)</A></STRONG>
309 PAIR_NUMBER <STRONG><A HREF="curs_attr.3x.html">curs_attr(3x)</A></STRONG>
310 _nc_free_and_exit <STRONG><A HREF="curs_memleaks.3x.html">curs_memleaks(3x)</A></STRONG>*
311 _nc_freeall <STRONG><A HREF="curs_memleaks.3x.html">curs_memleaks(3x)</A></STRONG>*
312 _nc_tracebits <STRONG><A HREF="curs_trace.3x.html">curs_trace(3x)</A></STRONG>*
314 _traceattr <STRONG><A HREF="curs_trace.3x.html">curs_trace(3x)</A></STRONG>*
315 _traceattr2 <STRONG><A HREF="curs_trace.3x.html">curs_trace(3x)</A></STRONG>*
316 _tracechar <STRONG><A HREF="curs_trace.3x.html">curs_trace(3x)</A></STRONG>*
317 _tracechtype <STRONG><A HREF="curs_trace.3x.html">curs_trace(3x)</A></STRONG>*
318 _tracechtype2 <STRONG><A HREF="curs_trace.3x.html">curs_trace(3x)</A></STRONG>*
319 _tracedump <STRONG><A HREF="curs_trace.3x.html">curs_trace(3x)</A></STRONG>*
320 _tracef <STRONG><A HREF="curs_trace.3x.html">curs_trace(3x)</A></STRONG>*
321 _tracemouse <STRONG><A HREF="curs_trace.3x.html">curs_trace(3x)</A></STRONG>*
322 add_wch <STRONG><A HREF="curs_add_wch.3x.html">curs_add_wch(3x)</A></STRONG>
323 add_wchnstr <STRONG><A HREF="curs_add_wchstr.3x.html">curs_add_wchstr(3x)</A></STRONG>
324 add_wchstr <STRONG><A HREF="curs_add_wchstr.3x.html">curs_add_wchstr(3x)</A></STRONG>
325 addch <STRONG><A HREF="curs_addch.3x.html">curs_addch(3x)</A></STRONG>
326 addchnstr <STRONG><A HREF="curs_addchstr.3x.html">curs_addchstr(3x)</A></STRONG>
327 addchstr <STRONG><A HREF="curs_addchstr.3x.html">curs_addchstr(3x)</A></STRONG>
328 addnstr <STRONG><A HREF="curs_addstr.3x.html">curs_addstr(3x)</A></STRONG>
329 addnwstr <STRONG><A HREF="curs_addwstr.3x.html">curs_addwstr(3x)</A></STRONG>
330 addstr <STRONG><A HREF="curs_addstr.3x.html">curs_addstr(3x)</A></STRONG>
331 addwstr <STRONG><A HREF="curs_addwstr.3x.html">curs_addwstr(3x)</A></STRONG>
332 assume_default_colors <STRONG><A HREF="default_colors.3x.html">default_colors(3x)</A></STRONG>*
333 attr_get <STRONG><A HREF="curs_attr.3x.html">curs_attr(3x)</A></STRONG>
334 attr_off <STRONG><A HREF="curs_attr.3x.html">curs_attr(3x)</A></STRONG>
335 attr_on <STRONG><A HREF="curs_attr.3x.html">curs_attr(3x)</A></STRONG>
336 attr_set <STRONG><A HREF="curs_attr.3x.html">curs_attr(3x)</A></STRONG>
337 attroff <STRONG><A HREF="curs_attr.3x.html">curs_attr(3x)</A></STRONG>
338 attron <STRONG><A HREF="curs_attr.3x.html">curs_attr(3x)</A></STRONG>
339 attrset <STRONG><A HREF="curs_attr.3x.html">curs_attr(3x)</A></STRONG>
340 baudrate <STRONG><A HREF="curs_termattrs.3x.html">curs_termattrs(3x)</A></STRONG>
341 beep <STRONG><A HREF="curs_beep.3x.html">curs_beep(3x)</A></STRONG>
342 bkgd <STRONG><A HREF="curs_bkgd.3x.html">curs_bkgd(3x)</A></STRONG>
343 bkgdset <STRONG><A HREF="curs_bkgd.3x.html">curs_bkgd(3x)</A></STRONG>
344 bkgrnd <STRONG><A HREF="curs_bkgrnd.3x.html">curs_bkgrnd(3x)</A></STRONG>
345 bkgrndset <STRONG><A HREF="curs_bkgrnd.3x.html">curs_bkgrnd(3x)</A></STRONG>
346 border <STRONG><A HREF="curs_border.3x.html">curs_border(3x)</A></STRONG>
347 border_set <STRONG><A HREF="curs_border_set.3x.html">curs_border_set(3x)</A></STRONG>
348 box <STRONG><A HREF="curs_border.3x.html">curs_border(3x)</A></STRONG>
349 box_set <STRONG><A HREF="curs_border_set.3x.html">curs_border_set(3x)</A></STRONG>
350 can_change_color <STRONG><A HREF="curs_color.3x.html">curs_color(3x)</A></STRONG>
351 cbreak <STRONG><A HREF="curs_inopts.3x.html">curs_inopts(3x)</A></STRONG>
352 chgat <STRONG><A HREF="curs_attr.3x.html">curs_attr(3x)</A></STRONG>
353 clear <STRONG><A HREF="curs_clear.3x.html">curs_clear(3x)</A></STRONG>
354 clearok <STRONG><A HREF="curs_outopts.3x.html">curs_outopts(3x)</A></STRONG>
355 clrtobot <STRONG><A HREF="curs_clear.3x.html">curs_clear(3x)</A></STRONG>
356 clrtoeol <STRONG><A HREF="curs_clear.3x.html">curs_clear(3x)</A></STRONG>
357 color_content <STRONG><A HREF="curs_color.3x.html">curs_color(3x)</A></STRONG>
358 color_set <STRONG><A HREF="curs_attr.3x.html">curs_attr(3x)</A></STRONG>
359 copywin <STRONG><A HREF="curs_overlay.3x.html">curs_overlay(3x)</A></STRONG>
360 curs_set <STRONG><A HREF="curs_kernel.3x.html">curs_kernel(3x)</A></STRONG>
361 curses_version <STRONG><A HREF="curs_extend.3x.html">curs_extend(3x)</A></STRONG>*
362 def_prog_mode <STRONG><A HREF="curs_kernel.3x.html">curs_kernel(3x)</A></STRONG>
363 def_shell_mode <STRONG><A HREF="curs_kernel.3x.html">curs_kernel(3x)</A></STRONG>
364 define_key <STRONG><A HREF="define_key.3x.html">define_key(3x)</A></STRONG>*
365 del_curterm <STRONG><A HREF="curs_terminfo.3x.html">curs_terminfo(3x)</A></STRONG>
366 delay_output <STRONG><A HREF="curs_util.3x.html">curs_util(3x)</A></STRONG>
367 delch <STRONG><A HREF="curs_delch.3x.html">curs_delch(3x)</A></STRONG>
368 deleteln <STRONG><A HREF="curs_deleteln.3x.html">curs_deleteln(3x)</A></STRONG>
369 delscreen <STRONG><A HREF="curs_initscr.3x.html">curs_initscr(3x)</A></STRONG>
370 delwin <STRONG><A HREF="curs_window.3x.html">curs_window(3x)</A></STRONG>
371 derwin <STRONG><A HREF="curs_window.3x.html">curs_window(3x)</A></STRONG>
372 doupdate <STRONG><A HREF="curs_refresh.3x.html">curs_refresh(3x)</A></STRONG>
373 dupwin <STRONG><A HREF="curs_window.3x.html">curs_window(3x)</A></STRONG>
374 echo <STRONG><A HREF="curs_inopts.3x.html">curs_inopts(3x)</A></STRONG>
375 echo_wchar <STRONG><A HREF="curs_add_wch.3x.html">curs_add_wch(3x)</A></STRONG>
376 echochar <STRONG><A HREF="curs_addch.3x.html">curs_addch(3x)</A></STRONG>
377 endwin <STRONG><A HREF="curs_initscr.3x.html">curs_initscr(3x)</A></STRONG>
378 erase <STRONG><A HREF="curs_clear.3x.html">curs_clear(3x)</A></STRONG>
380 erasechar <STRONG><A HREF="curs_termattrs.3x.html">curs_termattrs(3x)</A></STRONG>
381 erasewchar <STRONG><A HREF="curs_termattrs.3x.html">curs_termattrs(3x)</A></STRONG>
382 filter <STRONG><A HREF="curs_util.3x.html">curs_util(3x)</A></STRONG>
383 flash <STRONG><A HREF="curs_beep.3x.html">curs_beep(3x)</A></STRONG>
384 flushinp <STRONG><A HREF="curs_util.3x.html">curs_util(3x)</A></STRONG>
385 get_wch <STRONG><A HREF="curs_get_wch.3x.html">curs_get_wch(3x)</A></STRONG>
386 get_wstr <STRONG><A HREF="curs_get_wstr.3x.html">curs_get_wstr(3x)</A></STRONG>
387 getattrs <STRONG><A HREF="curs_attr.3x.html">curs_attr(3x)</A></STRONG>
388 getbegx <STRONG><A HREF="curs_legacy.3x.html">curs_legacy(3x)</A></STRONG>*
389 getbegy <STRONG><A HREF="curs_legacy.3x.html">curs_legacy(3x)</A></STRONG>*
390 getbegyx <STRONG><A HREF="curs_getyx.3x.html">curs_getyx(3x)</A></STRONG>
391 getbkgd <STRONG><A HREF="curs_bkgd.3x.html">curs_bkgd(3x)</A></STRONG>
392 getbkgrnd <STRONG><A HREF="curs_bkgrnd.3x.html">curs_bkgrnd(3x)</A></STRONG>
393 getcchar <STRONG><A HREF="curs_getcchar.3x.html">curs_getcchar(3x)</A></STRONG>
394 getch <STRONG><A HREF="curs_getch.3x.html">curs_getch(3x)</A></STRONG>
395 getcurx <STRONG><A HREF="curs_legacy.3x.html">curs_legacy(3x)</A></STRONG>*
396 getcury <STRONG><A HREF="curs_legacy.3x.html">curs_legacy(3x)</A></STRONG>*
397 getmaxx <STRONG><A HREF="curs_legacy.3x.html">curs_legacy(3x)</A></STRONG>*
398 getmaxy <STRONG><A HREF="curs_legacy.3x.html">curs_legacy(3x)</A></STRONG>*
399 getmaxyx <STRONG><A HREF="curs_getyx.3x.html">curs_getyx(3x)</A></STRONG>
400 getmouse <STRONG><A HREF="curs_mouse.3x.html">curs_mouse(3x)</A></STRONG>*
401 getn_wstr <STRONG><A HREF="curs_get_wstr.3x.html">curs_get_wstr(3x)</A></STRONG>
402 getnstr <STRONG><A HREF="curs_getstr.3x.html">curs_getstr(3x)</A></STRONG>
403 getparx <STRONG><A HREF="curs_legacy.3x.html">curs_legacy(3x)</A></STRONG>*
404 getpary <STRONG><A HREF="curs_legacy.3x.html">curs_legacy(3x)</A></STRONG>*
405 getparyx <STRONG><A HREF="curs_getyx.3x.html">curs_getyx(3x)</A></STRONG>
406 getstr <STRONG><A HREF="curs_getstr.3x.html">curs_getstr(3x)</A></STRONG>
407 getsyx <STRONG><A HREF="curs_kernel.3x.html">curs_kernel(3x)</A></STRONG>
408 getwin <STRONG><A HREF="curs_util.3x.html">curs_util(3x)</A></STRONG>
409 getyx <STRONG><A HREF="curs_getyx.3x.html">curs_getyx(3x)</A></STRONG>
410 halfdelay <STRONG><A HREF="curs_inopts.3x.html">curs_inopts(3x)</A></STRONG>
411 has_colors <STRONG><A HREF="curs_color.3x.html">curs_color(3x)</A></STRONG>
412 has_ic <STRONG><A HREF="curs_termattrs.3x.html">curs_termattrs(3x)</A></STRONG>
413 has_il <STRONG><A HREF="curs_termattrs.3x.html">curs_termattrs(3x)</A></STRONG>
414 has_key <STRONG><A HREF="curs_getch.3x.html">curs_getch(3x)</A></STRONG>*
415 hline <STRONG><A HREF="curs_border.3x.html">curs_border(3x)</A></STRONG>
416 hline_set <STRONG><A HREF="curs_border_set.3x.html">curs_border_set(3x)</A></STRONG>
417 idcok <STRONG><A HREF="curs_outopts.3x.html">curs_outopts(3x)</A></STRONG>
418 idlok <STRONG><A HREF="curs_outopts.3x.html">curs_outopts(3x)</A></STRONG>
419 immedok <STRONG><A HREF="curs_outopts.3x.html">curs_outopts(3x)</A></STRONG>
420 in_wch <STRONG><A HREF="curs_in_wch.3x.html">curs_in_wch(3x)</A></STRONG>
421 in_wchnstr <STRONG><A HREF="curs_in_wchstr.3x.html">curs_in_wchstr(3x)</A></STRONG>
422 in_wchstr <STRONG><A HREF="curs_in_wchstr.3x.html">curs_in_wchstr(3x)</A></STRONG>
423 inch <STRONG><A HREF="curs_inch.3x.html">curs_inch(3x)</A></STRONG>
424 inchnstr <STRONG><A HREF="curs_inchstr.3x.html">curs_inchstr(3x)</A></STRONG>
425 inchstr <STRONG><A HREF="curs_inchstr.3x.html">curs_inchstr(3x)</A></STRONG>
426 init_color <STRONG><A HREF="curs_color.3x.html">curs_color(3x)</A></STRONG>
427 init_pair <STRONG><A HREF="curs_color.3x.html">curs_color(3x)</A></STRONG>
428 initscr <STRONG><A HREF="curs_initscr.3x.html">curs_initscr(3x)</A></STRONG>
429 innstr <STRONG><A HREF="curs_instr.3x.html">curs_instr(3x)</A></STRONG>
430 innwstr <STRONG><A HREF="curs_inwstr.3x.html">curs_inwstr(3x)</A></STRONG>
431 ins_nwstr <STRONG><A HREF="curs_ins_wstr.3x.html">curs_ins_wstr(3x)</A></STRONG>
432 ins_wch <STRONG><A HREF="curs_ins_wch.3x.html">curs_ins_wch(3x)</A></STRONG>
433 ins_wstr <STRONG><A HREF="curs_ins_wstr.3x.html">curs_ins_wstr(3x)</A></STRONG>
434 insch <STRONG><A HREF="curs_insch.3x.html">curs_insch(3x)</A></STRONG>
435 insdelln <STRONG><A HREF="curs_deleteln.3x.html">curs_deleteln(3x)</A></STRONG>
436 insertln <STRONG><A HREF="curs_deleteln.3x.html">curs_deleteln(3x)</A></STRONG>
437 insnstr <STRONG><A HREF="curs_insstr.3x.html">curs_insstr(3x)</A></STRONG>
438 insstr <STRONG><A HREF="curs_insstr.3x.html">curs_insstr(3x)</A></STRONG>
439 instr <STRONG><A HREF="curs_instr.3x.html">curs_instr(3x)</A></STRONG>
440 intrflush <STRONG><A HREF="curs_inopts.3x.html">curs_inopts(3x)</A></STRONG>
441 inwstr <STRONG><A HREF="curs_inwstr.3x.html">curs_inwstr(3x)</A></STRONG>
442 is_cleared <STRONG><A HREF="curs_opaque.3x.html">curs_opaque(3x)</A></STRONG>*
443 is_idcok <STRONG><A HREF="curs_opaque.3x.html">curs_opaque(3x)</A></STRONG>*
444 is_idlok <STRONG><A HREF="curs_opaque.3x.html">curs_opaque(3x)</A></STRONG>*
446 is_immedok <STRONG><A HREF="curs_opaque.3x.html">curs_opaque(3x)</A></STRONG>*
447 is_keypad <STRONG><A HREF="curs_opaque.3x.html">curs_opaque(3x)</A></STRONG>*
448 is_leaveok <STRONG><A HREF="curs_opaque.3x.html">curs_opaque(3x)</A></STRONG>*
449 is_linetouched <STRONG><A HREF="curs_touch.3x.html">curs_touch(3x)</A></STRONG>
450 is_nodelay <STRONG><A HREF="curs_opaque.3x.html">curs_opaque(3x)</A></STRONG>*
451 is_notimeout <STRONG><A HREF="curs_opaque.3x.html">curs_opaque(3x)</A></STRONG>*
452 is_scrollok <STRONG><A HREF="curs_opaque.3x.html">curs_opaque(3x)</A></STRONG>*
453 is_syncok <STRONG><A HREF="curs_opaque.3x.html">curs_opaque(3x)</A></STRONG>*
454 is_term_resized <STRONG><A HREF="resizeterm.3x.html">resizeterm(3x)</A></STRONG>*
455 is_wintouched <STRONG><A HREF="curs_touch.3x.html">curs_touch(3x)</A></STRONG>
456 isendwin <STRONG><A HREF="curs_initscr.3x.html">curs_initscr(3x)</A></STRONG>
457 key_defined <STRONG><A HREF="key_defined.3x.html">key_defined(3x)</A></STRONG>*
458 key_name <STRONG><A HREF="curs_util.3x.html">curs_util(3x)</A></STRONG>
459 keybound <STRONG><A HREF="keybound.3x.html">keybound(3x)</A></STRONG>*
460 keyname <STRONG><A HREF="curs_util.3x.html">curs_util(3x)</A></STRONG>
461 keyok <STRONG><A HREF="keyok.3x.html">keyok(3x)</A></STRONG>*
462 keypad <STRONG><A HREF="curs_inopts.3x.html">curs_inopts(3x)</A></STRONG>
463 killchar <STRONG><A HREF="curs_termattrs.3x.html">curs_termattrs(3x)</A></STRONG>
464 killwchar <STRONG><A HREF="curs_termattrs.3x.html">curs_termattrs(3x)</A></STRONG>
465 leaveok <STRONG><A HREF="curs_outopts.3x.html">curs_outopts(3x)</A></STRONG>
466 longname <STRONG><A HREF="curs_termattrs.3x.html">curs_termattrs(3x)</A></STRONG>
467 mcprint <STRONG><A HREF="curs_print.3x.html">curs_print(3x)</A></STRONG>*
468 meta <STRONG><A HREF="curs_inopts.3x.html">curs_inopts(3x)</A></STRONG>
469 mouse_trafo <STRONG><A HREF="curs_mouse.3x.html">curs_mouse(3x)</A></STRONG>*
470 mouseinterval <STRONG><A HREF="curs_mouse.3x.html">curs_mouse(3x)</A></STRONG>*
471 mousemask <STRONG><A HREF="curs_mouse.3x.html">curs_mouse(3x)</A></STRONG>*
472 move <STRONG><A HREF="curs_move.3x.html">curs_move(3x)</A></STRONG>
473 mvadd_wch <STRONG><A HREF="curs_add_wch.3x.html">curs_add_wch(3x)</A></STRONG>
474 mvadd_wchnstr <STRONG><A HREF="curs_add_wchstr.3x.html">curs_add_wchstr(3x)</A></STRONG>
475 mvadd_wchstr <STRONG><A HREF="curs_add_wchstr.3x.html">curs_add_wchstr(3x)</A></STRONG>
476 mvaddch <STRONG><A HREF="curs_addch.3x.html">curs_addch(3x)</A></STRONG>
477 mvaddchnstr <STRONG><A HREF="curs_addchstr.3x.html">curs_addchstr(3x)</A></STRONG>
478 mvaddchstr <STRONG><A HREF="curs_addchstr.3x.html">curs_addchstr(3x)</A></STRONG>
479 mvaddnstr <STRONG><A HREF="curs_addstr.3x.html">curs_addstr(3x)</A></STRONG>
480 mvaddnwstr <STRONG><A HREF="curs_addwstr.3x.html">curs_addwstr(3x)</A></STRONG>
481 mvaddstr <STRONG><A HREF="curs_addstr.3x.html">curs_addstr(3x)</A></STRONG>
482 mvaddwstr <STRONG><A HREF="curs_addwstr.3x.html">curs_addwstr(3x)</A></STRONG>
483 mvchgat <STRONG><A HREF="curs_attr.3x.html">curs_attr(3x)</A></STRONG>
484 mvcur <STRONG><A HREF="curs_terminfo.3x.html">curs_terminfo(3x)</A></STRONG>
485 mvdelch <STRONG><A HREF="curs_delch.3x.html">curs_delch(3x)</A></STRONG>
486 mvderwin <STRONG><A HREF="curs_window.3x.html">curs_window(3x)</A></STRONG>
487 mvget_wch <STRONG><A HREF="curs_get_wch.3x.html">curs_get_wch(3x)</A></STRONG>
488 mvget_wstr <STRONG><A HREF="curs_get_wstr.3x.html">curs_get_wstr(3x)</A></STRONG>
489 mvgetch <STRONG><A HREF="curs_getch.3x.html">curs_getch(3x)</A></STRONG>
490 mvgetn_wstr <STRONG><A HREF="curs_get_wstr.3x.html">curs_get_wstr(3x)</A></STRONG>
491 mvgetnstr <STRONG><A HREF="curs_getstr.3x.html">curs_getstr(3x)</A></STRONG>
492 mvgetstr <STRONG><A HREF="curs_getstr.3x.html">curs_getstr(3x)</A></STRONG>
493 mvhline <STRONG><A HREF="curs_border.3x.html">curs_border(3x)</A></STRONG>
494 mvhline_set <STRONG><A HREF="curs_border_set.3x.html">curs_border_set(3x)</A></STRONG>
495 mvin_wch <STRONG><A HREF="curs_in_wch.3x.html">curs_in_wch(3x)</A></STRONG>
496 mvin_wchnstr <STRONG><A HREF="curs_in_wchstr.3x.html">curs_in_wchstr(3x)</A></STRONG>
497 mvin_wchstr <STRONG><A HREF="curs_in_wchstr.3x.html">curs_in_wchstr(3x)</A></STRONG>
498 mvinch <STRONG><A HREF="curs_inch.3x.html">curs_inch(3x)</A></STRONG>
499 mvinchnstr <STRONG><A HREF="curs_inchstr.3x.html">curs_inchstr(3x)</A></STRONG>
500 mvinchstr <STRONG><A HREF="curs_inchstr.3x.html">curs_inchstr(3x)</A></STRONG>
501 mvinnstr <STRONG><A HREF="curs_instr.3x.html">curs_instr(3x)</A></STRONG>
502 mvinnwstr <STRONG><A HREF="curs_inwstr.3x.html">curs_inwstr(3x)</A></STRONG>
503 mvins_nwstr <STRONG><A HREF="curs_ins_wstr.3x.html">curs_ins_wstr(3x)</A></STRONG>
504 mvins_wch <STRONG><A HREF="curs_ins_wch.3x.html">curs_ins_wch(3x)</A></STRONG>
505 mvins_wstr <STRONG><A HREF="curs_ins_wstr.3x.html">curs_ins_wstr(3x)</A></STRONG>
506 mvinsch <STRONG><A HREF="curs_insch.3x.html">curs_insch(3x)</A></STRONG>
507 mvinsnstr <STRONG><A HREF="curs_insstr.3x.html">curs_insstr(3x)</A></STRONG>
508 mvinsstr <STRONG><A HREF="curs_insstr.3x.html">curs_insstr(3x)</A></STRONG>
509 mvinstr <STRONG><A HREF="curs_instr.3x.html">curs_instr(3x)</A></STRONG>
510 mvinwstr <STRONG><A HREF="curs_inwstr.3x.html">curs_inwstr(3x)</A></STRONG>
512 mvprintw <STRONG><A HREF="curs_printw.3x.html">curs_printw(3x)</A></STRONG>
513 mvscanw <STRONG><A HREF="curs_scanw.3x.html">curs_scanw(3x)</A></STRONG>
514 mvvline <STRONG><A HREF="curs_border.3x.html">curs_border(3x)</A></STRONG>
515 mvvline_set <STRONG><A HREF="curs_border_set.3x.html">curs_border_set(3x)</A></STRONG>
516 mvwadd_wch <STRONG><A HREF="curs_add_wch.3x.html">curs_add_wch(3x)</A></STRONG>
517 mvwadd_wchnstr <STRONG><A HREF="curs_add_wchstr.3x.html">curs_add_wchstr(3x)</A></STRONG>
518 mvwadd_wchstr <STRONG><A HREF="curs_add_wchstr.3x.html">curs_add_wchstr(3x)</A></STRONG>
519 mvwaddch <STRONG><A HREF="curs_addch.3x.html">curs_addch(3x)</A></STRONG>
520 mvwaddchnstr <STRONG><A HREF="curs_addchstr.3x.html">curs_addchstr(3x)</A></STRONG>
521 mvwaddchstr <STRONG><A HREF="curs_addchstr.3x.html">curs_addchstr(3x)</A></STRONG>
522 mvwaddnstr <STRONG><A HREF="curs_addstr.3x.html">curs_addstr(3x)</A></STRONG>
523 mvwaddnwstr <STRONG><A HREF="curs_addwstr.3x.html">curs_addwstr(3x)</A></STRONG>
524 mvwaddstr <STRONG><A HREF="curs_addstr.3x.html">curs_addstr(3x)</A></STRONG>
525 mvwaddwstr <STRONG><A HREF="curs_addwstr.3x.html">curs_addwstr(3x)</A></STRONG>
526 mvwchgat <STRONG><A HREF="curs_attr.3x.html">curs_attr(3x)</A></STRONG>
527 mvwdelch <STRONG><A HREF="curs_delch.3x.html">curs_delch(3x)</A></STRONG>
528 mvwget_wch <STRONG><A HREF="curs_get_wch.3x.html">curs_get_wch(3x)</A></STRONG>
529 mvwget_wstr <STRONG><A HREF="curs_get_wstr.3x.html">curs_get_wstr(3x)</A></STRONG>
530 mvwgetch <STRONG><A HREF="curs_getch.3x.html">curs_getch(3x)</A></STRONG>
531 mvwgetn_wstr <STRONG><A HREF="curs_get_wstr.3x.html">curs_get_wstr(3x)</A></STRONG>
532 mvwgetnstr <STRONG><A HREF="curs_getstr.3x.html">curs_getstr(3x)</A></STRONG>
533 mvwgetstr <STRONG><A HREF="curs_getstr.3x.html">curs_getstr(3x)</A></STRONG>
534 mvwhline <STRONG><A HREF="curs_border.3x.html">curs_border(3x)</A></STRONG>
535 mvwhline_set <STRONG><A HREF="curs_border_set.3x.html">curs_border_set(3x)</A></STRONG>
536 mvwin <STRONG><A HREF="curs_window.3x.html">curs_window(3x)</A></STRONG>
537 mvwin_wch <STRONG><A HREF="curs_in_wch.3x.html">curs_in_wch(3x)</A></STRONG>
538 mvwin_wchnstr <STRONG><A HREF="curs_in_wchstr.3x.html">curs_in_wchstr(3x)</A></STRONG>
539 mvwin_wchstr <STRONG><A HREF="curs_in_wchstr.3x.html">curs_in_wchstr(3x)</A></STRONG>
540 mvwinch <STRONG><A HREF="curs_inch.3x.html">curs_inch(3x)</A></STRONG>
541 mvwinchnstr <STRONG><A HREF="curs_inchstr.3x.html">curs_inchstr(3x)</A></STRONG>
542 mvwinchstr <STRONG><A HREF="curs_inchstr.3x.html">curs_inchstr(3x)</A></STRONG>
543 mvwinnstr <STRONG><A HREF="curs_instr.3x.html">curs_instr(3x)</A></STRONG>
544 mvwinnwstr <STRONG><A HREF="curs_inwstr.3x.html">curs_inwstr(3x)</A></STRONG>
545 mvwins_nwstr <STRONG><A HREF="curs_ins_wstr.3x.html">curs_ins_wstr(3x)</A></STRONG>
546 mvwins_wch <STRONG><A HREF="curs_ins_wch.3x.html">curs_ins_wch(3x)</A></STRONG>
547 mvwins_wstr <STRONG><A HREF="curs_ins_wstr.3x.html">curs_ins_wstr(3x)</A></STRONG>
548 mvwinsch <STRONG><A HREF="curs_insch.3x.html">curs_insch(3x)</A></STRONG>
549 mvwinsnstr <STRONG><A HREF="curs_insstr.3x.html">curs_insstr(3x)</A></STRONG>
550 mvwinsstr <STRONG><A HREF="curs_insstr.3x.html">curs_insstr(3x)</A></STRONG>
551 mvwinstr <STRONG><A HREF="curs_instr.3x.html">curs_instr(3x)</A></STRONG>
552 mvwinwstr <STRONG><A HREF="curs_inwstr.3x.html">curs_inwstr(3x)</A></STRONG>
553 mvwprintw <STRONG><A HREF="curs_printw.3x.html">curs_printw(3x)</A></STRONG>
554 mvwscanw <STRONG><A HREF="curs_scanw.3x.html">curs_scanw(3x)</A></STRONG>
555 mvwvline <STRONG><A HREF="curs_border.3x.html">curs_border(3x)</A></STRONG>
556 mvwvline_set <STRONG><A HREF="curs_border_set.3x.html">curs_border_set(3x)</A></STRONG>
557 napms <STRONG><A HREF="curs_kernel.3x.html">curs_kernel(3x)</A></STRONG>
558 newpad <STRONG><A HREF="curs_pad.3x.html">curs_pad(3x)</A></STRONG>
559 newterm <STRONG><A HREF="curs_initscr.3x.html">curs_initscr(3x)</A></STRONG>
560 newwin <STRONG><A HREF="curs_window.3x.html">curs_window(3x)</A></STRONG>
561 nl <STRONG><A HREF="curs_outopts.3x.html">curs_outopts(3x)</A></STRONG>
562 nocbreak <STRONG><A HREF="curs_inopts.3x.html">curs_inopts(3x)</A></STRONG>
563 nodelay <STRONG><A HREF="curs_inopts.3x.html">curs_inopts(3x)</A></STRONG>
564 noecho <STRONG><A HREF="curs_inopts.3x.html">curs_inopts(3x)</A></STRONG>
565 nofilter <STRONG><A HREF="curs_util.3x.html">curs_util(3x)</A></STRONG>*
566 nonl <STRONG><A HREF="curs_outopts.3x.html">curs_outopts(3x)</A></STRONG>
567 noqiflush <STRONG><A HREF="curs_inopts.3x.html">curs_inopts(3x)</A></STRONG>
568 noraw <STRONG><A HREF="curs_inopts.3x.html">curs_inopts(3x)</A></STRONG>
569 notimeout <STRONG><A HREF="curs_inopts.3x.html">curs_inopts(3x)</A></STRONG>
570 overlay <STRONG><A HREF="curs_overlay.3x.html">curs_overlay(3x)</A></STRONG>
571 overwrite <STRONG><A HREF="curs_overlay.3x.html">curs_overlay(3x)</A></STRONG>
572 pair_content <STRONG><A HREF="curs_color.3x.html">curs_color(3x)</A></STRONG>
573 pechochar <STRONG><A HREF="curs_pad.3x.html">curs_pad(3x)</A></STRONG>
574 pnoutrefresh <STRONG><A HREF="curs_pad.3x.html">curs_pad(3x)</A></STRONG>
575 prefresh <STRONG><A HREF="curs_pad.3x.html">curs_pad(3x)</A></STRONG>
576 printw <STRONG><A HREF="curs_printw.3x.html">curs_printw(3x)</A></STRONG>
578 putp <STRONG><A HREF="curs_terminfo.3x.html">curs_terminfo(3x)</A></STRONG>
579 putwin <STRONG><A HREF="curs_util.3x.html">curs_util(3x)</A></STRONG>
580 qiflush <STRONG><A HREF="curs_inopts.3x.html">curs_inopts(3x)</A></STRONG>
581 raw <STRONG><A HREF="curs_inopts.3x.html">curs_inopts(3x)</A></STRONG>
582 redrawwin <STRONG><A HREF="curs_refresh.3x.html">curs_refresh(3x)</A></STRONG>
583 refresh <STRONG><A HREF="curs_refresh.3x.html">curs_refresh(3x)</A></STRONG>
584 reset_prog_mode <STRONG><A HREF="curs_kernel.3x.html">curs_kernel(3x)</A></STRONG>
585 reset_shell_mode <STRONG><A HREF="curs_kernel.3x.html">curs_kernel(3x)</A></STRONG>
586 resetty <STRONG><A HREF="curs_kernel.3x.html">curs_kernel(3x)</A></STRONG>
587 resizeterm <STRONG><A HREF="resizeterm.3x.html">resizeterm(3x)</A></STRONG>*
588 restartterm <STRONG><A HREF="curs_terminfo.3x.html">curs_terminfo(3x)</A></STRONG>
589 ripoffline <STRONG><A HREF="curs_kernel.3x.html">curs_kernel(3x)</A></STRONG>
590 savetty <STRONG><A HREF="curs_kernel.3x.html">curs_kernel(3x)</A></STRONG>
591 scanw <STRONG><A HREF="curs_scanw.3x.html">curs_scanw(3x)</A></STRONG>
592 scr_dump <STRONG><A HREF="curs_scr_dump.3x.html">curs_scr_dump(3x)</A></STRONG>
593 scr_init <STRONG><A HREF="curs_scr_dump.3x.html">curs_scr_dump(3x)</A></STRONG>
594 scr_restore <STRONG><A HREF="curs_scr_dump.3x.html">curs_scr_dump(3x)</A></STRONG>
595 scr_set <STRONG><A HREF="curs_scr_dump.3x.html">curs_scr_dump(3x)</A></STRONG>
596 scrl <STRONG><A HREF="curs_scroll.3x.html">curs_scroll(3x)</A></STRONG>
597 scroll <STRONG><A HREF="curs_scroll.3x.html">curs_scroll(3x)</A></STRONG>
598 scrollok <STRONG><A HREF="curs_outopts.3x.html">curs_outopts(3x)</A></STRONG>
599 set_curterm <STRONG><A HREF="curs_terminfo.3x.html">curs_terminfo(3x)</A></STRONG>
600 set_term <STRONG><A HREF="curs_initscr.3x.html">curs_initscr(3x)</A></STRONG>
601 setcchar <STRONG><A HREF="curs_getcchar.3x.html">curs_getcchar(3x)</A></STRONG>
602 setscrreg <STRONG><A HREF="curs_outopts.3x.html">curs_outopts(3x)</A></STRONG>
603 setsyx <STRONG><A HREF="curs_kernel.3x.html">curs_kernel(3x)</A></STRONG>
604 setterm <STRONG><A HREF="curs_terminfo.3x.html">curs_terminfo(3x)</A></STRONG>
605 setupterm <STRONG><A HREF="curs_terminfo.3x.html">curs_terminfo(3x)</A></STRONG>
606 slk_attr <STRONG><A HREF="curs_slk.3x.html">curs_slk(3x)</A></STRONG>*
607 slk_attr_off <STRONG><A HREF="curs_slk.3x.html">curs_slk(3x)</A></STRONG>
608 slk_attr_on <STRONG><A HREF="curs_slk.3x.html">curs_slk(3x)</A></STRONG>
609 slk_attr_set <STRONG><A HREF="curs_slk.3x.html">curs_slk(3x)</A></STRONG>
610 slk_attroff <STRONG><A HREF="curs_slk.3x.html">curs_slk(3x)</A></STRONG>
611 slk_attron <STRONG><A HREF="curs_slk.3x.html">curs_slk(3x)</A></STRONG>
612 slk_attrset <STRONG><A HREF="curs_slk.3x.html">curs_slk(3x)</A></STRONG>
613 slk_clear <STRONG><A HREF="curs_slk.3x.html">curs_slk(3x)</A></STRONG>
614 slk_color <STRONG><A HREF="curs_slk.3x.html">curs_slk(3x)</A></STRONG>
615 slk_init <STRONG><A HREF="curs_slk.3x.html">curs_slk(3x)</A></STRONG>
616 slk_label <STRONG><A HREF="curs_slk.3x.html">curs_slk(3x)</A></STRONG>
617 slk_noutrefresh <STRONG><A HREF="curs_slk.3x.html">curs_slk(3x)</A></STRONG>
618 slk_refresh <STRONG><A HREF="curs_slk.3x.html">curs_slk(3x)</A></STRONG>
619 slk_restore <STRONG><A HREF="curs_slk.3x.html">curs_slk(3x)</A></STRONG>
620 slk_set <STRONG><A HREF="curs_slk.3x.html">curs_slk(3x)</A></STRONG>
621 slk_touch <STRONG><A HREF="curs_slk.3x.html">curs_slk(3x)</A></STRONG>
622 standend <STRONG><A HREF="curs_attr.3x.html">curs_attr(3x)</A></STRONG>
623 standout <STRONG><A HREF="curs_attr.3x.html">curs_attr(3x)</A></STRONG>
624 start_color <STRONG><A HREF="curs_color.3x.html">curs_color(3x)</A></STRONG>
625 subpad <STRONG><A HREF="curs_pad.3x.html">curs_pad(3x)</A></STRONG>
626 subwin <STRONG><A HREF="curs_window.3x.html">curs_window(3x)</A></STRONG>
627 syncok <STRONG><A HREF="curs_window.3x.html">curs_window(3x)</A></STRONG>
628 term_attrs <STRONG><A HREF="curs_termattrs.3x.html">curs_termattrs(3x)</A></STRONG>
629 termattrs <STRONG><A HREF="curs_termattrs.3x.html">curs_termattrs(3x)</A></STRONG>
630 termname <STRONG><A HREF="curs_termattrs.3x.html">curs_termattrs(3x)</A></STRONG>
631 tgetent <STRONG><A HREF="curs_termcap.3x.html">curs_termcap(3x)</A></STRONG>
632 tgetflag <STRONG><A HREF="curs_termcap.3x.html">curs_termcap(3x)</A></STRONG>
633 tgetnum <STRONG><A HREF="curs_termcap.3x.html">curs_termcap(3x)</A></STRONG>
634 tgetstr <STRONG><A HREF="curs_termcap.3x.html">curs_termcap(3x)</A></STRONG>
635 tgoto <STRONG><A HREF="curs_termcap.3x.html">curs_termcap(3x)</A></STRONG>
636 tigetflag <STRONG><A HREF="curs_terminfo.3x.html">curs_terminfo(3x)</A></STRONG>
637 tigetnum <STRONG><A HREF="curs_terminfo.3x.html">curs_terminfo(3x)</A></STRONG>
638 tigetstr <STRONG><A HREF="curs_terminfo.3x.html">curs_terminfo(3x)</A></STRONG>
639 timeout <STRONG><A HREF="curs_inopts.3x.html">curs_inopts(3x)</A></STRONG>
640 touchline <STRONG><A HREF="curs_touch.3x.html">curs_touch(3x)</A></STRONG>
641 touchwin <STRONG><A HREF="curs_touch.3x.html">curs_touch(3x)</A></STRONG>
642 tparm <STRONG><A HREF="curs_terminfo.3x.html">curs_terminfo(3x)</A></STRONG>
644 tputs <STRONG><A HREF="curs_termcap.3x.html">curs_termcap(3x)</A></STRONG>
645 tputs <STRONG><A HREF="curs_terminfo.3x.html">curs_terminfo(3x)</A></STRONG>
646 trace <STRONG><A HREF="curs_trace.3x.html">curs_trace(3x)</A></STRONG>*
647 typeahead <STRONG><A HREF="curs_inopts.3x.html">curs_inopts(3x)</A></STRONG>
648 unctrl <STRONG><A HREF="curs_util.3x.html">curs_util(3x)</A></STRONG>
649 unget_wch <STRONG><A HREF="curs_get_wch.3x.html">curs_get_wch(3x)</A></STRONG>
650 ungetch <STRONG><A HREF="curs_getch.3x.html">curs_getch(3x)</A></STRONG>
651 ungetmouse <STRONG><A HREF="curs_mouse.3x.html">curs_mouse(3x)</A></STRONG>*
652 untouchwin <STRONG><A HREF="curs_touch.3x.html">curs_touch(3x)</A></STRONG>
653 use_default_colors <STRONG><A HREF="default_colors.3x.html">default_colors(3x)</A></STRONG>*
654 use_env <STRONG><A HREF="curs_util.3x.html">curs_util(3x)</A></STRONG>
655 use_extended_names <STRONG><A HREF="curs_extend.3x.html">curs_extend(3x)</A></STRONG>*
656 use_legacy_coding <STRONG><A HREF="legacy_coding.3x.html">legacy_coding(3x)</A></STRONG>*
657 vid_attr <STRONG><A HREF="curs_terminfo.3x.html">curs_terminfo(3x)</A></STRONG>
658 vid_puts <STRONG><A HREF="curs_terminfo.3x.html">curs_terminfo(3x)</A></STRONG>
659 vidattr <STRONG><A HREF="curs_terminfo.3x.html">curs_terminfo(3x)</A></STRONG>
660 vidputs <STRONG><A HREF="curs_terminfo.3x.html">curs_terminfo(3x)</A></STRONG>
661 vline <STRONG><A HREF="curs_border.3x.html">curs_border(3x)</A></STRONG>
662 vline_set <STRONG><A HREF="curs_border_set.3x.html">curs_border_set(3x)</A></STRONG>
663 vw_printw <STRONG><A HREF="curs_printw.3x.html">curs_printw(3x)</A></STRONG>
664 vw_scanw <STRONG><A HREF="curs_scanw.3x.html">curs_scanw(3x)</A></STRONG>
665 vwprintw <STRONG><A HREF="curs_printw.3x.html">curs_printw(3x)</A></STRONG>
666 vwscanw <STRONG><A HREF="curs_scanw.3x.html">curs_scanw(3x)</A></STRONG>
667 wadd_wch <STRONG><A HREF="curs_add_wch.3x.html">curs_add_wch(3x)</A></STRONG>
668 wadd_wchnstr <STRONG><A HREF="curs_add_wchstr.3x.html">curs_add_wchstr(3x)</A></STRONG>
669 wadd_wchstr <STRONG><A HREF="curs_add_wchstr.3x.html">curs_add_wchstr(3x)</A></STRONG>
670 waddch <STRONG><A HREF="curs_addch.3x.html">curs_addch(3x)</A></STRONG>
671 waddchnstr <STRONG><A HREF="curs_addchstr.3x.html">curs_addchstr(3x)</A></STRONG>
672 waddchstr <STRONG><A HREF="curs_addchstr.3x.html">curs_addchstr(3x)</A></STRONG>
673 waddnstr <STRONG><A HREF="curs_addstr.3x.html">curs_addstr(3x)</A></STRONG>
674 waddnwstr <STRONG><A HREF="curs_addwstr.3x.html">curs_addwstr(3x)</A></STRONG>
675 waddstr <STRONG><A HREF="curs_addstr.3x.html">curs_addstr(3x)</A></STRONG>
676 waddwstr <STRONG><A HREF="curs_addwstr.3x.html">curs_addwstr(3x)</A></STRONG>
677 wattr_get <STRONG><A HREF="curs_attr.3x.html">curs_attr(3x)</A></STRONG>
678 wattr_off <STRONG><A HREF="curs_attr.3x.html">curs_attr(3x)</A></STRONG>
679 wattr_on <STRONG><A HREF="curs_attr.3x.html">curs_attr(3x)</A></STRONG>
680 wattr_set <STRONG><A HREF="curs_attr.3x.html">curs_attr(3x)</A></STRONG>
681 wattroff <STRONG><A HREF="curs_attr.3x.html">curs_attr(3x)</A></STRONG>
682 wattron <STRONG><A HREF="curs_attr.3x.html">curs_attr(3x)</A></STRONG>
683 wattrset <STRONG><A HREF="curs_attr.3x.html">curs_attr(3x)</A></STRONG>
684 wbkgd <STRONG><A HREF="curs_bkgd.3x.html">curs_bkgd(3x)</A></STRONG>
685 wbkgdset <STRONG><A HREF="curs_bkgd.3x.html">curs_bkgd(3x)</A></STRONG>
686 wbkgrnd <STRONG><A HREF="curs_bkgrnd.3x.html">curs_bkgrnd(3x)</A></STRONG>
687 wbkgrndset <STRONG><A HREF="curs_bkgrnd.3x.html">curs_bkgrnd(3x)</A></STRONG>
688 wborder <STRONG><A HREF="curs_border.3x.html">curs_border(3x)</A></STRONG>
689 wborder_set <STRONG><A HREF="curs_border_set.3x.html">curs_border_set(3x)</A></STRONG>
690 wchgat <STRONG><A HREF="curs_attr.3x.html">curs_attr(3x)</A></STRONG>
691 wclear <STRONG><A HREF="curs_clear.3x.html">curs_clear(3x)</A></STRONG>
692 wclrtobot <STRONG><A HREF="curs_clear.3x.html">curs_clear(3x)</A></STRONG>
693 wclrtoeol <STRONG><A HREF="curs_clear.3x.html">curs_clear(3x)</A></STRONG>
694 wcolor_set <STRONG><A HREF="curs_attr.3x.html">curs_attr(3x)</A></STRONG>
695 wcursyncup <STRONG><A HREF="curs_window.3x.html">curs_window(3x)</A></STRONG>
696 wdelch <STRONG><A HREF="curs_delch.3x.html">curs_delch(3x)</A></STRONG>
697 wdeleteln <STRONG><A HREF="curs_deleteln.3x.html">curs_deleteln(3x)</A></STRONG>
698 wecho_wchar <STRONG><A HREF="curs_add_wch.3x.html">curs_add_wch(3x)</A></STRONG>
699 wechochar <STRONG><A HREF="curs_addch.3x.html">curs_addch(3x)</A></STRONG>
700 wenclose <STRONG><A HREF="curs_mouse.3x.html">curs_mouse(3x)</A></STRONG>*
701 werase <STRONG><A HREF="curs_clear.3x.html">curs_clear(3x)</A></STRONG>
702 wget_wch <STRONG><A HREF="curs_get_wch.3x.html">curs_get_wch(3x)</A></STRONG>
703 wget_wstr <STRONG><A HREF="curs_get_wstr.3x.html">curs_get_wstr(3x)</A></STRONG>
704 wgetbkgrnd <STRONG><A HREF="curs_bkgrnd.3x.html">curs_bkgrnd(3x)</A></STRONG>
705 wgetch <STRONG><A HREF="curs_getch.3x.html">curs_getch(3x)</A></STRONG>
706 wgetn_wstr <STRONG><A HREF="curs_get_wstr.3x.html">curs_get_wstr(3x)</A></STRONG>
707 wgetnstr <STRONG><A HREF="curs_getstr.3x.html">curs_getstr(3x)</A></STRONG>
708 wgetstr <STRONG><A HREF="curs_getstr.3x.html">curs_getstr(3x)</A></STRONG>
710 whline <STRONG><A HREF="curs_border.3x.html">curs_border(3x)</A></STRONG>
711 whline_set <STRONG><A HREF="curs_border_set.3x.html">curs_border_set(3x)</A></STRONG>
712 win_wch <STRONG><A HREF="curs_in_wch.3x.html">curs_in_wch(3x)</A></STRONG>
713 win_wchnstr <STRONG><A HREF="curs_in_wchstr.3x.html">curs_in_wchstr(3x)</A></STRONG>
714 win_wchstr <STRONG><A HREF="curs_in_wchstr.3x.html">curs_in_wchstr(3x)</A></STRONG>
715 winch <STRONG><A HREF="curs_inch.3x.html">curs_inch(3x)</A></STRONG>
716 winchnstr <STRONG><A HREF="curs_inchstr.3x.html">curs_inchstr(3x)</A></STRONG>
717 winchstr <STRONG><A HREF="curs_inchstr.3x.html">curs_inchstr(3x)</A></STRONG>
718 winnstr <STRONG><A HREF="curs_instr.3x.html">curs_instr(3x)</A></STRONG>
719 winnwstr <STRONG><A HREF="curs_inwstr.3x.html">curs_inwstr(3x)</A></STRONG>
720 wins_nwstr <STRONG><A HREF="curs_ins_wstr.3x.html">curs_ins_wstr(3x)</A></STRONG>
721 wins_wch <STRONG><A HREF="curs_ins_wch.3x.html">curs_ins_wch(3x)</A></STRONG>
722 wins_wstr <STRONG><A HREF="curs_ins_wstr.3x.html">curs_ins_wstr(3x)</A></STRONG>
723 winsch <STRONG><A HREF="curs_insch.3x.html">curs_insch(3x)</A></STRONG>
724 winsdelln <STRONG><A HREF="curs_deleteln.3x.html">curs_deleteln(3x)</A></STRONG>
725 winsertln <STRONG><A HREF="curs_deleteln.3x.html">curs_deleteln(3x)</A></STRONG>
726 winsnstr <STRONG><A HREF="curs_insstr.3x.html">curs_insstr(3x)</A></STRONG>
727 winsstr <STRONG><A HREF="curs_insstr.3x.html">curs_insstr(3x)</A></STRONG>
728 winstr <STRONG><A HREF="curs_instr.3x.html">curs_instr(3x)</A></STRONG>
729 winwstr <STRONG><A HREF="curs_inwstr.3x.html">curs_inwstr(3x)</A></STRONG>
730 wmouse_trafo <STRONG><A HREF="curs_mouse.3x.html">curs_mouse(3x)</A></STRONG>*
731 wmove <STRONG><A HREF="curs_move.3x.html">curs_move(3x)</A></STRONG>
732 wnoutrefresh <STRONG><A HREF="curs_refresh.3x.html">curs_refresh(3x)</A></STRONG>
733 wprintw <STRONG><A HREF="curs_printw.3x.html">curs_printw(3x)</A></STRONG>
734 wredrawln <STRONG><A HREF="curs_refresh.3x.html">curs_refresh(3x)</A></STRONG>
735 wrefresh <STRONG><A HREF="curs_refresh.3x.html">curs_refresh(3x)</A></STRONG>
736 wresize <STRONG><A HREF="wresize.3x.html">wresize(3x)</A></STRONG>*
737 wscanw <STRONG><A HREF="curs_scanw.3x.html">curs_scanw(3x)</A></STRONG>
738 wscrl <STRONG><A HREF="curs_scroll.3x.html">curs_scroll(3x)</A></STRONG>
739 wsetscrreg <STRONG><A HREF="curs_outopts.3x.html">curs_outopts(3x)</A></STRONG>
740 wstandend <STRONG><A HREF="curs_attr.3x.html">curs_attr(3x)</A></STRONG>
741 wstandout <STRONG><A HREF="curs_attr.3x.html">curs_attr(3x)</A></STRONG>
742 wsyncdown <STRONG><A HREF="curs_window.3x.html">curs_window(3x)</A></STRONG>
743 wsyncup <STRONG><A HREF="curs_window.3x.html">curs_window(3x)</A></STRONG>
744 wtimeout <STRONG><A HREF="curs_inopts.3x.html">curs_inopts(3x)</A></STRONG>
745 wtouchln <STRONG><A HREF="curs_touch.3x.html">curs_touch(3x)</A></STRONG>
746 wunctrl <STRONG><A HREF="curs_util.3x.html">curs_util(3x)</A></STRONG>
747 wvline <STRONG><A HREF="curs_border.3x.html">curs_border(3x)</A></STRONG>
748 wvline_set <STRONG><A HREF="curs_border_set.3x.html">curs_border_set(3x)</A></STRONG>
752 <H2>RETURN VALUE</H2><PRE>
753 Routines that return an integer return <STRONG>ERR</STRONG> upon failure
754 and an integer value other than <STRONG>ERR</STRONG> upon successful com-
755 pletion, unless otherwise noted in the routine descrip-
758 All macros return the value of the <STRONG>w</STRONG> version, except
759 <STRONG>setscrreg</STRONG>, <STRONG>wsetscrreg</STRONG>, <STRONG>getyx</STRONG>, <STRONG>getbegyx</STRONG>, and <STRONG>getmaxyx</STRONG>. The
760 return values of <STRONG>setscrreg</STRONG>, <STRONG>wsetscrreg</STRONG>, <STRONG>getyx</STRONG>, <STRONG>getbegyx</STRONG>,
761 and <STRONG>getmaxyx</STRONG> are undefined (i.e., these should not be used
762 as the right-hand side of assignment statements).
764 Routines that return pointers return <STRONG>NULL</STRONG> on error.
768 <H2>ENVIRONMENT</H2><PRE>
769 The following environment symbols are useful for customiz-
770 ing the runtime behavior of the <STRONG>ncurses</STRONG> library. The most
771 important ones have been already discussed in detail.
774 The debugging library checks this environment symbol
775 when the application has redirected output to a file.
776 The symbol's numeric value is used for the baudrate.
777 If no value is found, <STRONG>ncurses</STRONG> uses 9600. This allows
778 testers to construct repeatable test-cases that take
779 into account costs that depend on baudrate.
781 CC When set, change occurrences of the command_character
782 (i.e., the <STRONG>cmdch</STRONG> capability) of the loaded terminfo
783 entries to the value of this symbol. Very few ter-
784 minfo entries provide this feature.
786 Because this name is also used in development envi-
787 ronments to represent the C compiler's name, <STRONG>ncurses</STRONG>
788 ignores it if it does not happen to be a single char-
792 Specify the width of the screen in characters.
793 Applications running in a windowing environment usu-
794 ally are able to obtain the width of the window in
795 which they are executing. If neither the <STRONG>COLUMNS</STRONG>
796 value nor the terminal's screen size is available,
797 <STRONG>ncurses</STRONG> uses the size which may be specified in the
798 terminfo database (i.e., the <STRONG>cols</STRONG> capability).
800 It is important that your application use a correct
801 size for the screen. This is not always possible
802 because your application may be running on a host
803 which does not honor NAWS (Negotiations About Window
804 Size), or because you are temporarily running as
805 another user. However, setting <STRONG>COLUMNS</STRONG> and/or <STRONG>LINES</STRONG>
806 overrides the library's use of the screen size
807 obtained from the operating system.
809 Either <STRONG>COLUMNS</STRONG> or <STRONG>LINES</STRONG> symbols may be specified
810 independently. This is mainly useful to circumvent
811 legacy misfeatures of terminal descriptions, e.g.,
812 xterm which commonly specifies a 65 line screen. For
813 best results, <STRONG>lines</STRONG> and <STRONG>cols</STRONG> should not be specified
814 in a terminal description for terminals which are run
817 Use the <STRONG>use_env</STRONG> function to disable all use of exter-
818 nal environment (including system calls) to determine
822 Specifies the total time, in milliseconds, for which
823 ncurses will await a character sequence, e.g., a
824 function key. The default value, 1000 milliseconds,
825 is enough for most uses. However, it is made a vari-
826 able to accommodate unusual applications.
828 The most common instance where you may wish to change
829 this value is to work with slow hosts, e.g., running
830 on a network. If the host cannot read characters
831 rapidly enough, it will have the same effect as if
832 the terminal did not send characters rapidly enough.
833 The library will still see a timeout.
835 Note that xterm mouse events are built up from char-
836 acter sequences received from the xterm. If your
837 application makes heavy use of multiple-clicking, you
838 may wish to lengthen this default value because the
839 timeout applies to the composed multi-click event as
840 well as the individual clicks.
842 In addition to the environment variable, this imple-
843 mentation provides a global variable with the same
844 name. Portable applications should not rely upon the
845 presence of ESCDELAY in either form, but setting the
846 environment variable rather than the global variable
847 does not create problems when compiling an applica-
850 HOME Tells <STRONG>ncurses</STRONG> where your home directory is. That is
851 where it may read and write auxiliary terminal
858 Like COLUMNS, specify the height of the screen in
859 characters. See COLUMNS for a detailed description.
862 This applies only to the OS/2 EMX port. It specifies
863 the order of buttons on the mouse. OS/2 numbers a
864 3-button mouse inconsistently from other platforms:
870 This symbol lets you customize the mouse. The symbol
871 must be three numeric digits 1-3 in any order, e.g.,
872 123 or 321. If it is not specified, <STRONG>ncurses</STRONG> uses
875 NCURSES_ASSUMED_COLORS
876 Override the compiled-in assumption that the termi-
877 nal's default colors are white-on-black (see
878 <STRONG><A HREF="default_colors.3x.html">default_colors(3x)</A></STRONG>). You may set the foreground and
879 background color values with this environment vari-
880 able by proving a 2-element list: foreground,back-
881 ground. For example, to tell ncurses to not assume
882 anything about the colors, set this to "-1,-1". To
883 make it green-on-black, set it to "2,0". Any posi-
884 tive value from zero to the terminfo <STRONG>max_colors</STRONG> value
888 This applies only to ncurses configured to use the
891 If present, the environment variable is a list of one
892 or more terminal names against which the TERM envi-
893 ronment variable is matched. Setting it to an empty
894 value disables the GPM interface; using the built-in
895 support for xterm, etc.
897 If the environment variable is absent, ncurses will
898 attempt to open GPM if TERM contains "linux".
901 <STRONG>Ncurses</STRONG> may use tabs as part of the cursor movement
902 optimization. In some cases, your terminal driver
903 may not handle these properly. Set this environment
904 variable to disable the feature. You can also adjust
905 your <STRONG>stty</STRONG> settings to avoid the problem.
907 NCURSES_NO_MAGIC_COOKIES
908 Some terminals use a magic-cookie feature which
909 requires special handling to make highlighting and
910 other video attributes display properly. You can
911 suppress the highlighting entirely for these termi-
912 nals by setting this environment variable.
915 Most of the terminal descriptions in the terminfo
916 database are written for real "hardware" terminals.
917 Many people use terminal emulators which run in a
918 windowing environment and use curses-based applica-
919 tions. Terminal emulators can duplicate all of the
920 important aspects of a hardware terminal, but they do
921 not have the same limitations. The chief limitation
922 of a hardware terminal from the standpoint of your
923 application is the management of dataflow, i.e., tim-
924 ing. Unless a hardware terminal is interfaced into a
925 terminal concentrator (which does flow control), it
926 (or your application) must manage dataflow, prevent-
927 ing overruns. The cheapest solution (no hardware
928 cost) is for your program to do this by pausing after
929 operations that the terminal does slowly, such as
930 clearing the display.
932 As a result, many terminal descriptions (including
933 the vt100) have delay times embedded. You may wish
934 to use these descriptions, but not want to pay the
937 Set the NCURSES_NO_PADDING symbol to disable all but
938 mandatory padding. Mandatory padding is used as a
939 part of special control sequences such as <EM>flash</EM>.
942 Normally <STRONG>ncurses</STRONG> enables buffered output during ter-
943 minal initialization. This is done (as in SVr4
944 curses) for performance reasons. For testing pur-
945 poses, both of <STRONG>ncurses</STRONG> and certain applications, this
946 feature is made optional. Setting the
947 NCURSES_NO_SETBUF variable disables output buffering,
948 leaving the output in the original (usually line
952 During initialization, the <STRONG>ncurses</STRONG> library checks for
953 special cases where VT100 line-drawing (and the cor-
954 responding alternate character set capabilities)
955 described in the terminfo are known to be missing.
956 Specifically, when running in a UTF-8 locale, the
957 Linux console emulator and the GNU screen program
958 ignore these. Ncurses checks the TERM environment
959 variable for these. For other special cases, you
960 should set this environment variable. Doing this
961 tells ncurses to use Unicode values which correspond
962 to the VT100 line-drawing glyphs. That works for the
963 special cases cited, and is likely to work for termi-
966 When setting this variable, you should set it to a
967 nonzero value. Setting it to zero (or to a nonnum-
968 ber) disables the special check for "linux" and
972 During initialization, the <STRONG>ncurses</STRONG> debugging library
973 checks the NCURSES_TRACE symbol. If it is defined,
974 to a numeric value, <STRONG>ncurses</STRONG> calls the <STRONG>trace</STRONG> function,
975 using that value as the argument.
977 The argument values, which are defined in <STRONG>curses.h</STRONG>,
978 provide several types of information. When running
979 with traces enabled, your application will write the
980 file <STRONG>trace</STRONG> to the current directory.
982 TERM Denotes your terminal type. Each terminal type is
983 distinct, though many are similar.
986 If the <STRONG>ncurses</STRONG> library has been configured with <EM>term-</EM>
987 <EM>cap</EM> support, <STRONG>ncurses</STRONG> will check for a terminal's
988 description in termcap form if it is not available in
989 the terminfo database.
991 The TERMCAP symbol contains either a terminal
992 description (with newlines stripped out), or a file
993 name telling where the information denoted by the
994 TERM symbol exists. In either case, setting it
995 directs <STRONG>ncurses</STRONG> to ignore the usual place for this
996 information, e.g., /etc/termcap.
999 Overrides the directory in which <STRONG>ncurses</STRONG> searches for
1000 your terminal description. This is the simplest, but
1001 not the only way to change the list of directories.
1002 The complete list of directories in order follows:
1004 <STRONG>o</STRONG> the last directory to which <STRONG>ncurses</STRONG> wrote, if
1005 any, is searched first
1007 <STRONG>o</STRONG> the directory specified by the TERMINFO symbol
1009 <STRONG>o</STRONG> $HOME/.terminfo
1011 <STRONG>o</STRONG> directories listed in the TERMINFO_DIRS symbol
1013 <STRONG>o</STRONG> one or more directories whose names are config-
1014 ured and compiled into the ncurses library, e.g.,
1018 Specifies a list of directories to search for termi-
1019 nal descriptions. The list is separated by colons
1020 (i.e., ":") on Unix, semicolons on OS/2 EMX. All of
1021 the terminal descriptions are in terminfo form, which
1022 makes a subdirectory named for the first letter of
1023 the terminal names therein.
1026 If TERMCAP does not hold a file name then <STRONG>ncurses</STRONG>
1027 checks the TERMPATH symbol. This is a list of file-
1028 names separated by spaces or colons (i.e., ":") on
1029 Unix, semicolons on OS/2 EMX. If the TERMPATH symbol
1030 is not set, <STRONG>ncurses</STRONG> looks in the files /etc/termcap,
1031 /usr/share/misc/termcap and $HOME/.termcap, in that
1034 The library may be configured to disregard the following
1035 variables when the current user is the superuser (root),
1036 or if the application uses setuid or setgid permissions:
1037 $TERMINFO, $TERMINFO_DIRS, $TERMPATH, as well as $HOME.
1041 <H2>ALTERNATE CONFIGURATIONS</H2><PRE>
1042 Several different configurations are possible, depending
1043 on the configure script options used when building
1044 <STRONG>ncurses</STRONG>. There are a few main options whose effects are
1045 visible to the applications developer using <STRONG>ncurses</STRONG>:
1048 The standard include for <STRONG>ncurses</STRONG> is as noted in <STRONG>SYN-</STRONG>
1049 <STRONG>OPSIS</STRONG>:
1051 <STRONG>#include</STRONG> <STRONG><curses.h></STRONG>
1053 This option is used to avoid filename conflicts when
1054 <STRONG>ncurses</STRONG> is not the main implementation of curses of
1055 the computer. If <STRONG>ncurses</STRONG> is installed disabling
1056 overwrite, it puts its headers in a subdirectory,
1059 <STRONG>#include</STRONG> <STRONG><ncurses/curses.h></STRONG>
1061 It also omits a symbolic link which would allow you
1062 to use <STRONG>-lcurses</STRONG> to build executables.
1065 The configure script renames the library and (if the
1066 <STRONG>--disable-overwrite</STRONG> option is used) puts the header
1067 files in a different subdirectory. All of the
1068 library names have a "w" appended to them, i.e.,
1071 <STRONG>-lncurses</STRONG>
1075 <STRONG>-lncursesw</STRONG>
1077 You must also define <STRONG>_XOPEN_SOURCE_EXTENDED</STRONG> when com-
1078 piling for the wide-character library to use the
1079 extended (wide-character) functions. The <STRONG>curses.h</STRONG>
1080 file which is installed for the wide-character
1081 library is designed to be compatible with the normal
1082 library's header. Only the size of the <STRONG>WINDOW</STRONG> struc-
1083 ture differs, and very few applications require more
1084 than a pointer to <STRONG>WINDOW</STRONG>s. If the headers are
1085 installed allowing overwrite, the wide-character
1086 library's headers should be installed last, to allow
1087 applications to be built using either library from
1088 the same set of headers.
1097 The shared and normal (static) library names differ
1098 by their suffixes, e.g., <STRONG>libncurses.so</STRONG> and <STRONG>libn-</STRONG>
1099 <STRONG>curses.a</STRONG>. The debug and profiling libraries add a
1100 "_g" and a "_p" to the root names respectively, e.g.,
1101 <STRONG>libncurses_g.a</STRONG> and <STRONG>libncurses_p.a</STRONG>.
1104 The <STRONG>trace</STRONG> function normally resides in the debug
1105 library, but it is sometimes useful to configure this
1106 in the shared library. Configure scripts should
1107 check for the function's existence rather than assum-
1108 ing it is always in the debug library.
1114 directory containing initialization files for the
1115 terminal capability database /usr/share/terminfo ter-
1116 minal capability database
1120 <H2>SEE ALSO</H2><PRE>
1121 <STRONG><A HREF="terminfo.5.html">terminfo(5)</A></STRONG> and related pages whose names begin "curs_"
1122 for detailed routine descriptions.
1123 <STRONG><A HREF="curs_variables.3x.html">curs_variables(3x)</A></STRONG>
1127 <H2>EXTENSIONS</H2><PRE>
1128 The <STRONG>ncurses</STRONG> library can be compiled with an option
1129 (<STRONG>-DUSE_GETCAP</STRONG>) that falls back to the old-style /etc/term-
1130 cap file if the terminal setup code cannot find a terminfo
1131 entry corresponding to <STRONG>TERM</STRONG>. Use of this feature is not
1132 recommended, as it essentially includes an entire termcap
1133 compiler in the <STRONG>ncurses</STRONG> startup code, at significant cost
1134 in core and startup cycles.
1136 The <STRONG>ncurses</STRONG> library includes facilities for capturing
1137 mouse events on certain terminals (including xterm). See
1138 the <STRONG><A HREF="curs_mouse.3x.html">curs_mouse(3x)</A></STRONG> manual page for details.
1140 The <STRONG>ncurses</STRONG> library includes facilities for responding to
1141 window resizing events, e.g., when running in an xterm.
1142 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
1143 details. In addition, the library may be configured with
1146 The <STRONG>ncurses</STRONG> library extends the fixed set of function key
1147 capabilities of terminals by allowing the application
1148 designer to define additional key sequences at runtime.
1149 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-
1150 ual pages for details.
1152 The <STRONG>ncurses</STRONG> library can exploit the capabilities of termi-
1153 nals which implement the ISO-6429 SGR 39 and SGR 49 con-
1154 trols, which allow an application to reset the terminal to
1155 its original foreground and background colors. From the
1156 users' perspective, the application is able to draw col-
1157 ored text on a background whose color is set indepen-
1158 dently, providing better control over color contrasts.
1159 See the <STRONG><A HREF="default_colors.3x.html">default_colors(3x)</A></STRONG> manual page for details.
1161 The <STRONG>ncurses</STRONG> library includes a function for directing
1162 application output to a printer attached to the terminal
1163 device. See the <STRONG><A HREF="curs_print.3x.html">curs_print(3x)</A></STRONG> manual page for details.
1167 <H2>PORTABILITY</H2><PRE>
1168 The <STRONG>ncurses</STRONG> library is intended to be BASE-level confor-
1169 mant with XSI Curses. The EXTENDED XSI Curses functional-
1170 ity (including color support) is supported.
1172 A small number of local differences (that is, individual
1173 differences between the XSI Curses and <STRONG>ncurses</STRONG> calls) are
1174 described in <STRONG>PORTABILITY</STRONG> sections of the library man
1177 This implementation also contains several extensions:
1179 <STRONG>o</STRONG> The routine <STRONG>has_key</STRONG> is not part of XPG4, nor is it
1180 present in SVr4. See the <STRONG><A HREF="curs_getch.3x.html">curs_getch(3x)</A></STRONG> manual page
1183 <STRONG>o</STRONG> The routine <STRONG>slk_attr</STRONG> is not part of XPG4, nor is it
1184 present in SVr4. See the <STRONG><A HREF="curs_slk.3x.html">curs_slk(3x)</A></STRONG> manual page for
1187 <STRONG>o</STRONG> The routines <STRONG>getmouse</STRONG>, <STRONG>mousemask</STRONG>, <STRONG>ungetmouse</STRONG>, <STRONG>mousein-</STRONG>
1188 <STRONG>terval</STRONG>, and <STRONG>wenclose</STRONG> relating to mouse interfacing are
1189 not part of XPG4, nor are they present in SVr4. See
1190 the <STRONG><A HREF="curs_mouse.3x.html">curs_mouse(3x)</A></STRONG> manual page for details.
1192 <STRONG>o</STRONG> The routine <STRONG>mcprint</STRONG> was not present in any previous
1193 curses implementation. See the <STRONG><A HREF="curs_print.3x.html">curs_print(3x)</A></STRONG> manual
1196 <STRONG>o</STRONG> The routine <STRONG>wresize</STRONG> is not part of XPG4, nor is it
1197 present in SVr4. See the <STRONG><A HREF="wresize.3x.html">wresize(3x)</A></STRONG> manual page for
1200 <STRONG>o</STRONG> The WINDOW structure's internal details can be hidden
1201 from application programs. See <STRONG><A HREF="curs_opaque.3x.html">curs_opaque(3x)</A></STRONG> for
1202 the discussion of <STRONG>is_scrollok</STRONG>, etc.
1204 <STRONG>o</STRONG> This implementation can be configured to provide rudi-
1205 mentary support for multi-threaded applications. See
1206 <STRONG><A HREF="curs_threads.3x.html">curs_threads(3x)</A></STRONG> for details.
1208 <STRONG>o</STRONG> This implementation can also be configured to provide
1209 a set of functions which improve the ability to manage
1210 multiple screens. See <STRONG><A HREF="curs_sp_funcs.3x.html">curs_sp_funcs(3x)</A></STRONG> for details.
1212 In historic curses versions, delays embedded in the capa-
1213 bilities <STRONG>cr</STRONG>, <STRONG>ind</STRONG>, <STRONG>cub1</STRONG>, <STRONG>ff</STRONG> and <STRONG>tab</STRONG> activated corresponding
1214 delay bits in the UNIX tty driver. In this implementa-
1215 tion, all padding is done by sending NUL bytes. This
1216 method is slightly more expensive, but narrows the inter-
1217 face to the UNIX kernel significantly and increases the
1218 package's portability correspondingly.
1223 The header file <STRONG><curses.h></STRONG> automatically includes the
1224 header files <STRONG><stdio.h></STRONG> and <STRONG><unctrl.h></STRONG>.
1226 If standard output from a <STRONG>ncurses</STRONG> program is re-directed
1227 to something which is not a tty, screen updates will be
1228 directed to standard error. This was an undocumented fea-
1229 ture of AT&T System V Release 3 curses.
1233 <H2>AUTHORS</H2><PRE>
1234 Zeyd M. Ben-Halim, Eric S. Raymond, Thomas E. Dickey.
1235 Based on pcurses by Pavel Curtis.
1239 <STRONG><A HREF="ncurses.3x.html">ncurses(3x)</A></STRONG>
1243 Man(1) output converted with
1244 <a href="http://www.oac.uci.edu/indiv/ehood/man2html.html">man2html</a>