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