Explicitly specify `all' as the default target(as it used to be), so as
[dragonfly.git] / lib / libncurses / man / ncurses.3
1 '\" t
2 .\"***************************************************************************
3 .\" Copyright (c) 1998-2003,2004 Free Software Foundation, Inc.              *
4 .\"                                                                          *
5 .\" Permission is hereby granted, free of charge, to any person obtaining a  *
6 .\" copy of this software and associated documentation files (the            *
7 .\" "Software"), to deal in the Software without restriction, including      *
8 .\" without limitation the rights to use, copy, modify, merge, publish,      *
9 .\" distribute, distribute with modifications, sublicense, and/or sell       *
10 .\" copies of the Software, and to permit persons to whom the Software is    *
11 .\" furnished to do so, subject to the following conditions:                 *
12 .\"                                                                          *
13 .\" The above copyright notice and this permission notice shall be included  *
14 .\" in all copies or substantial portions of the Software.                   *
15 .\"                                                                          *
16 .\" THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS  *
17 .\" OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF               *
18 .\" MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.   *
19 .\" IN NO EVENT SHALL THE ABOVE COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM,   *
20 .\" DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR    *
21 .\" OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR    *
22 .\" THE USE OR OTHER DEALINGS IN THE SOFTWARE.                               *
23 .\"                                                                          *
24 .\" Except as contained in this notice, the name(s) of the above copyright   *
25 .\" holders shall not be used in advertising or otherwise to promote the     *
26 .\" sale, use or other dealings in this Software without prior written       *
27 .\" authorization.                                                           *
28 .\"***************************************************************************
29 .\"
30 .\" $Id: ncurses.3x,v 1.70 2004/01/11 01:45:54 tom Exp $
31 .\" $DragonFly: src/lib/libncurses/man/ncurses.3,v 1.1 2005/03/12 19:13:54 eirikn Exp $
32 .hy 0
33 .TH ncurses 3X ""
34 .ds n 5
35 .ds d /usr/share/terminfo
36 .SH NAME
37 \fBncurses\fR - CRT screen handling and optimization package
38 .SH SYNOPSIS
39 \fB#include <curses.h>\fR
40 .br
41 .SH DESCRIPTION
42 The \fBncurses\fR library routines give the user a terminal-independent method
43 of updating character screens with reasonable optimization.  This
44 implementation is ``new curses'' (ncurses) and is the approved replacement for
45 4.4BSD classic curses, which has been discontinued.
46 .PP
47 The \fBncurses\fR routines emulate the \fBcurses\fR(3X) library of System V
48 Release 4 UNIX, and the XPG4 curses standard (XSI curses) but the \fBncurses\fR
49 library is freely redistributable in source form.  Differences from the SVr4
50 curses are summarized under the EXTENSIONS and BUGS sections below and
51 described in detail in the EXTENSIONS and BUGS sections of individual man
52 pages.
53 .PP
54 A program using these routines must be linked with the \fB-lncurses\fR option,
55 or (if it has been generated) with the debugging library \fB-lncurses_g\fR.
56 (Your system integrator may also have installed these libraries under
57 the names \fB-lcurses\fR and \fB-lcurses_g\fR.)
58 The ncurses_g library generates trace logs (in a file called 'trace' in the
59 current directory) that describe curses actions.
60 .PP
61 The \fBncurses\fR package supports: overall screen, window and pad
62 manipulation; output to windows and pads; reading terminal input; control over
63 terminal and \fBcurses\fR input and output options; environment query
64 routines; color manipulation; use of soft label keys; terminfo capabilities;
65 and access to low-level terminal-manipulation routines.
66 .PP
67 To initialize the routines, the routine \fBinitscr\fR or \fBnewterm\fR
68 must be called before any of the other routines that deal with windows
69 and screens are used.  The routine \fBendwin\fR must be called before
70 exiting.  To get character-at-a-time input without echoing (most
71 interactive, screen oriented programs want this), the following
72 sequence should be used:
73 .sp
74       \fBinitscr(); cbreak(); noecho();\fR
75 .sp
76 Most programs would additionally use the sequence:
77 .sp
78       \fBnonl();\fR
79       \fBintrflush(stdscr, FALSE);\fR
80       \fBkeypad(stdscr, TRUE);\fR
81 .sp
82 Before a \fBcurses\fR program is run, the tab stops of the terminal
83 should be set and its initialization strings, if defined, must be
84 output.  This can be done by executing the \fBtput init\fR command
85 after the shell environment variable \fBTERM\fR has been exported.
86 \fBtset(1)\fR is usually responsible for doing this.
87 [See \fBterminfo\fR(\*n) for further details.]
88 .PP
89 The \fBncurses\fR library permits manipulation of data structures,
90 called \fIwindows\fR, which can be thought of as two-dimensional
91 arrays of characters representing all or part of a CRT screen.  A
92 default window called \fBstdscr\fR, which is the size of the terminal
93 screen, is supplied.  Others may be created with \fBnewwin\fR.
94 .PP
95 Note that \fBcurses\fR does not handle overlapping windows, that's done by
96 the \fBpanel\fR(3X) library. This means that you can either use
97 \fBstdscr\fR or divide the screen into tiled windows and not using
98 \fBstdscr\fR at all. Mixing the two will result in unpredictable, and
99 undesired, effects.
100 .PP
101 Windows are referred to by variables declared as \fBWINDOW *\fR.
102 These data structures are manipulated with routines described here and
103 elsewhere in the \fBncurses\fR manual pages.  Among which the most basic
104 routines are \fBmove\fR and \fBaddch\fR.  More general versions of
105 these routines are included with names beginning with \fBw\fR,
106 allowing the user to specify a window.  The routines not beginning
107 with \fBw\fR affect \fBstdscr\fR.)
108 .PP
109 After using routines to manipulate a window, \fBrefresh\fR is called,
110 telling \fBcurses\fR to make the user's CRT screen look like
111 \fBstdscr\fR.  The characters in a window are actually of type
112 \fBchtype\fR, (character and attribute data) so that other information
113 about the character may also be stored with each character.
114 .PP
115 Special windows called \fIpads\fR may also be manipulated.  These are windows
116 which are not constrained to the size of the screen and whose contents need not
117 be completely displayed.  See \fBcurs_pad\fR(3X) for more information.
118 .PP
119 In addition to drawing characters on the screen, video attributes and colors
120 may be supported, causing the characters to show up in such modes as
121 underlined, in reverse video, or in color on terminals that support such
122 display enhancements.  Line drawing characters may be specified to be output.
123 On input, \fBcurses\fR is also able to translate arrow and function keys that
124 transmit escape sequences into single values.  The video attributes, line
125 drawing characters, and input values use names, defined in \fB<curses.h>\fR,
126 such as \fBA_REVERSE\fR, \fBACS_HLINE\fR, and \fBKEY_LEFT\fR.
127 .PP
128 If the environment variables \fBLINES\fR and \fBCOLUMNS\fR are set, or if the
129 program is executing in a window environment, line and column information in
130 the environment will override information read by \fIterminfo\fR.  This would
131 effect a program running in an AT&T 630 layer, for example, where the size of a
132 screen is changeable (see \fBENVIRONMENT\fR).
133 .PP
134 If the environment variable \fBTERMINFO\fR is defined, any program using
135 \fBcurses\fR checks for a local terminal definition before checking in the
136 standard place.  For example, if \fBTERM\fR is set to \fBatt4424\fR, then the
137 compiled terminal definition is found in
138 .sp
139       \fB\*d/a/att4424\fR.
140 .sp
141 (The \fBa\fR is copied from the first letter of \fBatt4424\fR to avoid
142 creation of huge directories.)  However, if \fBTERMINFO\fR is set to
143 \fB$HOME/myterms\fR, \fBcurses\fR first checks
144 .sp
145       \fB$HOME/myterms/a/att4424\fR,
146 .sp
147 and if that fails, it then checks
148 .sp
149       \fB\*d/a/att4424\fR.
150 .sp
151 This is useful for developing experimental definitions or when write
152 permission in \fB\*d\fR is not available.
153 .PP
154 The integer variables \fBLINES\fR and \fBCOLS\fR are defined in
155 \fB<curses.h>\fR and will be filled in by \fBinitscr\fR with the size of the
156 screen.  The constants \fBTRUE\fR and \fBFALSE\fR have the values \fB1\fR and
157 \fB0\fR, respectively.
158 .PP
159 The \fBcurses\fR routines also define the \fBWINDOW *\fR variable \fBcurscr\fR
160 which is used for certain low-level operations like clearing and redrawing a
161 screen containing garbage.  The \fBcurscr\fR can be used in only a few
162 routines.
163 .
164 .SS Routine and Argument Names
165 Many \fBcurses\fR routines have two or more versions.  The routines prefixed
166 with \fBw\fR require a window argument.  The routines prefixed with \fBp\fR
167 require a pad argument.  Those without a prefix generally use \fBstdscr\fR.
168 .PP
169 The routines prefixed with \fBmv\fR require a \fIy\fR and \fIx\fR
170 coordinate to move to before performing the appropriate action.  The
171 \fBmv\fR routines imply a call to \fBmove\fR before the call to the
172 other routine.  The coordinate \fIy\fR always refers to the row (of
173 the window), and \fIx\fR always refers to the column.  The upper
174 left-hand corner is always (0,0), not (1,1).
175 .PP
176 The routines prefixed with \fBmvw\fR take both a window argument and
177 \fIx\fR and \fIy\fR coordinates.  The window argument is always
178 specified before the coordinates.
179 .PP
180 In each case, \fIwin\fR is the window affected, and \fIpad\fR is the
181 pad affected; \fIwin\fR and \fIpad\fR are always pointers to type
182 \fBWINDOW\fR.
183 .PP
184 Option setting routines require a Boolean flag \fIbf\fR with the value
185 \fBTRUE\fR or \fBFALSE\fR; \fIbf\fR is always of type \fBbool\fR.  The
186 variables \fIch\fR and \fIattrs\fR below are always of type
187 \fBchtype\fR.  The types \fBWINDOW\fR, \fBSCREEN\fR, \fBbool\fR, and
188 \fBchtype\fR are defined in \fB<curses.h>\fR.  The type \fBTERMINAL\fR
189 is defined in \fB<term.h>\fR.  All other arguments are integers.
190 .SS Routine Name Index
191 The following table lists each \fBcurses\fR routine and the name of
192 the manual page on which it is described.  Routines flagged with `*'
193 are ncurses-specific, not described by XPG4 or present in SVr4.
194 .PP
195 .TS
196 center tab(/);
197 l l
198 l l .
199 \fBcurses\fR Routine Name/Manual Page Name
200 =
201 COLOR_PAIR/\fBcurs_color\fR(3X)
202 PAIR_NUMBER/\fBcurs_attr\fR(3X)
203 _nc_tracebits/\fBcurs_trace\fR(3X)*
204 _traceattr/\fBcurs_trace\fR(3X)*
205 _traceattr2/\fBcurs_trace\fR(3X)*
206 _tracechar/\fBcurs_trace\fR(3X)*
207 _tracechtype/\fBcurs_trace\fR(3X)*
208 _tracechtype2/\fBcurs_trace\fR(3X)*
209 _tracedump/\fBcurs_trace\fR(3X)*
210 _tracef/\fBcurs_trace\fR(3X)*
211 _tracemouse/\fBcurs_trace\fR(3X)*
212 add_wch/\fBcurs_add_wch\fR(3X)
213 add_wchnstr/\fBcurs_add_wchstr\fR(3X)
214 add_wchstr/\fBcurs_add_wchstr\fR(3X)
215 addch/\fBcurs_addch\fR(3X)
216 addchnstr/\fBcurs_addchstr\fR(3X)
217 addchstr/\fBcurs_addchstr\fR(3X)
218 addnstr/\fBcurs_addstr\fR(3X)
219 addnwstr/\fBcurs_addwstr\fR(3X)
220 addstr/\fBcurs_addstr\fR(3X)
221 addwstr/\fBcurs_addwstr\fR(3X)
222 assume_default_colors/\fBdefault_colors\fR(3X)*
223 attr_get/\fBcurs_attr\fR(3X)
224 attr_off/\fBcurs_attr\fR(3X)
225 attr_on/\fBcurs_attr\fR(3X)
226 attr_set/\fBcurs_attr\fR(3X)
227 attroff/\fBcurs_attr\fR(3X)
228 attron/\fBcurs_attr\fR(3X)
229 attrset/\fBcurs_attr\fR(3X)
230 baudrate/\fBcurs_termattrs\fR(3X)
231 beep/\fBcurs_beep\fR(3X)
232 bkgd/\fBcurs_bkgd\fR(3X)
233 bkgdset/\fBcurs_bkgd\fR(3X)
234 bkgrnd/\fBcurs_bkgrnd\fR(3X)
235 bkgrndset/\fBcurs_bkgrnd\fR(3X)
236 border/\fBcurs_border\fR(3X)
237 border_set/\fBcurs_border_set\fR(3X)
238 box/\fBcurs_border\fR(3X)
239 box_set/\fBcurs_border_set\fR(3X)
240 can_change_color/\fBcurs_color\fR(3X)
241 cbreak/\fBcurs_inopts\fR(3X)
242 chgat/\fBcurs_attr\fR(3X)
243 clear/\fBcurs_clear\fR(3X)
244 clearok/\fBcurs_outopts\fR(3X)
245 clrtobot/\fBcurs_clear\fR(3X)
246 clrtoeol/\fBcurs_clear\fR(3X)
247 color_content/\fBcurs_color\fR(3X)
248 color_set/\fBcurs_attr\fR(3X)
249 copywin/\fBcurs_overlay\fR(3X)
250 curs_set/\fBcurs_kernel\fR(3X)
251 curses_version/\fBcurs_extend\fR(3X)*
252 def_prog_mode/\fBcurs_kernel\fR(3X)
253 def_shell_mode/\fBcurs_kernel\fR(3X)
254 define_key/\fBdefine_key\fR(3X)*
255 del_curterm/\fBcurs_terminfo\fR(3X)
256 delay_output/\fBcurs_util\fR(3X)
257 delch/\fBcurs_delch\fR(3X)
258 deleteln/\fBcurs_deleteln\fR(3X)
259 delscreen/\fBcurs_initscr\fR(3X)
260 delwin/\fBcurs_window\fR(3X)
261 derwin/\fBcurs_window\fR(3X)
262 doupdate/\fBcurs_refresh\fR(3X)
263 dupwin/\fBcurs_window\fR(3X)
264 echo/\fBcurs_inopts\fR(3X)
265 echo_wchar/\fBcurs_add_wch\fR(3X)
266 echochar/\fBcurs_addch\fR(3X)
267 endwin/\fBcurs_initscr\fR(3X)
268 erase/\fBcurs_clear\fR(3X)
269 erasechar/\fBcurs_termattrs\fR(3X)
270 erasewchar/\fBcurs_termattrs\fR(3X)
271 filter/\fBcurs_util\fR(3X)
272 flash/\fBcurs_beep\fR(3X)
273 flushinp/\fBcurs_util\fR(3X)
274 get_wch/\fBcurs_get_wch\fR(3X)
275 get_wstr/\fBcurs_get_wstr\fR(3X)
276 getbegyx/\fBcurs_getyx\fR(3X)
277 getbkgd/\fBcurs_bkgd\fR(3X)
278 getbkgrnd/\fBcurs_bkgrnd\fR(3X)
279 getcchar/\fBcurs_getcchar\fR(3X)
280 getch/\fBcurs_getch\fR(3X)
281 getmaxyx/\fBcurs_getyx\fR(3X)
282 getmouse/\fBcurs_mouse\fR(3X)*
283 getn_wstr/\fBcurs_get_wstr\fR(3X)
284 getnstr/\fBcurs_getstr\fR(3X)
285 getparyx/\fBcurs_getyx\fR(3X)
286 getstr/\fBcurs_getstr\fR(3X)
287 getsyx/\fBcurs_kernel\fR(3X)
288 getwin/\fBcurs_util\fR(3X)
289 getyx/\fBcurs_getyx\fR(3X)
290 halfdelay/\fBcurs_inopts\fR(3X)
291 has_colors/\fBcurs_color\fR(3X)
292 has_ic/\fBcurs_termattrs\fR(3X)
293 has_il/\fBcurs_termattrs\fR(3X)
294 has_key/\fBcurs_getch\fR(3X)*
295 hline/\fBcurs_border\fR(3X)
296 hline_set/\fBcurs_border_set\fR(3X)
297 idcok/\fBcurs_outopts\fR(3X)
298 idlok/\fBcurs_outopts\fR(3X)
299 immedok/\fBcurs_outopts\fR(3X)
300 in_wch/\fBcurs_in_wch\fR(3X)
301 in_wchnstr/\fBcurs_in_wchstr\fR(3X)
302 in_wchstr/\fBcurs_in_wchstr\fR(3X)
303 inch/\fBcurs_inch\fR(3X)
304 inchnstr/\fBcurs_inchstr\fR(3X)
305 inchstr/\fBcurs_inchstr\fR(3X)
306 init_color/\fBcurs_color\fR(3X)
307 init_pair/\fBcurs_color\fR(3X)
308 initscr/\fBcurs_initscr\fR(3X)
309 innstr/\fBcurs_instr\fR(3X)
310 innwstr/\fBcurs_inwstr\fR(3X)
311 ins_nwstr/\fBcurs_ins_wstr\fR(3X)
312 ins_wch/\fBcurs_ins_wch\fR(3X)
313 ins_wstr/\fBcurs_ins_wstr\fR(3X)
314 insch/\fBcurs_insch\fR(3X)
315 insdelln/\fBcurs_deleteln\fR(3X)
316 insertln/\fBcurs_deleteln\fR(3X)
317 insnstr/\fBcurs_insstr\fR(3X)
318 insstr/\fBcurs_insstr\fR(3X)
319 instr/\fBcurs_instr\fR(3X)
320 intrflush/\fBcurs_inopts\fR(3X)
321 inwstr/\fBcurs_inwstr\fR(3X)
322 is_linetouched/\fBcurs_touch\fR(3X)
323 is_wintouched/\fBcurs_touch\fR(3X)
324 isendwin/\fBcurs_initscr\fR(3X)
325 key_defined/\fBkey_defined\fR(3X)*
326 key_name/\fBcurs_util\fR(3X)
327 keybound/\fBkeybound\fR(3X)*
328 keyname/\fBcurs_util\fR(3X)
329 keyok/\fBkeyok\fR(3X)*
330 keypad/\fBcurs_inopts\fR(3X)
331 killchar/\fBcurs_termattrs\fR(3X)
332 killwchar/\fBcurs_termattrs\fR(3X)
333 leaveok/\fBcurs_outopts\fR(3X)
334 longname/\fBcurs_termattrs\fR(3X)
335 mcprint/\fBcurs_print\fR(3X)*
336 meta/\fBcurs_inopts\fR(3X)
337 mouse_trafo/\fBcurs_mouse\fR(3X)*
338 mouseinterval/\fBcurs_mouse\fR(3X)*
339 mousemask/\fBcurs_mouse\fR(3X)*
340 move/\fBcurs_move\fR(3X)
341 mvadd_wch/\fBcurs_add_wch\fR(3X)
342 mvadd_wchnstr/\fBcurs_add_wchstr\fR(3X)
343 mvadd_wchstr/\fBcurs_add_wchstr\fR(3X)
344 mvaddch/\fBcurs_addch\fR(3X)
345 mvaddchnstr/\fBcurs_addchstr\fR(3X)
346 mvaddchstr/\fBcurs_addchstr\fR(3X)
347 mvaddnstr/\fBcurs_addstr\fR(3X)
348 mvaddnwstr/\fBcurs_addwstr\fR(3X)
349 mvaddstr/\fBcurs_addstr\fR(3X)
350 mvaddwstr/\fBcurs_addwstr\fR(3X)
351 mvchgat/\fBcurs_attr\fR(3X)
352 mvcur/\fBcurs_terminfo\fR(3X)
353 mvdelch/\fBcurs_delch\fR(3X)
354 mvderwin/\fBcurs_window\fR(3X)
355 mvget_wch/\fBcurs_get_wch\fR(3X)
356 mvget_wstr/\fBcurs_get_wstr\fR(3X)
357 mvgetch/\fBcurs_getch\fR(3X)
358 mvgetn_wstr/\fBcurs_get_wstr\fR(3X)
359 mvgetnstr/\fBcurs_getstr\fR(3X)
360 mvgetstr/\fBcurs_getstr\fR(3X)
361 mvhline/\fBcurs_border\fR(3X)
362 mvhline_set/\fBcurs_border_set\fR(3X)
363 mvin_wch/\fBcurs_in_wch\fR(3X)
364 mvin_wchnstr/\fBcurs_in_wchstr\fR(3X)
365 mvin_wchstr/\fBcurs_in_wchstr\fR(3X)
366 mvinch/\fBcurs_inch\fR(3X)
367 mvinchnstr/\fBcurs_inchstr\fR(3X)
368 mvinchstr/\fBcurs_inchstr\fR(3X)
369 mvinnstr/\fBcurs_instr\fR(3X)
370 mvinnwstr/\fBcurs_inwstr\fR(3X)
371 mvins_nwstr/\fBcurs_ins_wstr\fR(3X)
372 mvins_wch/\fBcurs_ins_wch\fR(3X)
373 mvins_wstr/\fBcurs_ins_wstr\fR(3X)
374 mvinsch/\fBcurs_insch\fR(3X)
375 mvinsnstr/\fBcurs_insstr\fR(3X)
376 mvinsstr/\fBcurs_insstr\fR(3X)
377 mvinstr/\fBcurs_instr\fR(3X)
378 mvinwstr/\fBcurs_inwstr\fR(3X)
379 mvprintw/\fBcurs_printw\fR(3X)
380 mvscanw/\fBcurs_scanw\fR(3X)
381 mvvline/\fBcurs_border\fR(3X)
382 mvvline_set/\fBcurs_border_set\fR(3X)
383 mvwadd_wch/\fBcurs_add_wch\fR(3X)
384 mvwadd_wchnstr/\fBcurs_add_wchstr\fR(3X)
385 mvwadd_wchstr/\fBcurs_add_wchstr\fR(3X)
386 mvwaddch/\fBcurs_addch\fR(3X)
387 mvwaddchnstr/\fBcurs_addchstr\fR(3X)
388 mvwaddchstr/\fBcurs_addchstr\fR(3X)
389 mvwaddnstr/\fBcurs_addstr\fR(3X)
390 mvwaddnwstr/\fBcurs_addwstr\fR(3X)
391 mvwaddstr/\fBcurs_addstr\fR(3X)
392 mvwaddwstr/\fBcurs_addwstr\fR(3X)
393 mvwchgat/\fBcurs_attr\fR(3X)
394 mvwdelch/\fBcurs_delch\fR(3X)
395 mvwget_wch/\fBcurs_get_wch\fR(3X)
396 mvwget_wstr/\fBcurs_get_wstr\fR(3X)
397 mvwgetch/\fBcurs_getch\fR(3X)
398 mvwgetn_wstr/\fBcurs_get_wstr\fR(3X)
399 mvwgetnstr/\fBcurs_getstr\fR(3X)
400 mvwgetstr/\fBcurs_getstr\fR(3X)
401 mvwhline/\fBcurs_border\fR(3X)
402 mvwhline_set/\fBcurs_border_set\fR(3X)
403 mvwin/\fBcurs_window\fR(3X)
404 mvwin_wch/\fBcurs_in_wch\fR(3X)
405 mvwin_wchnstr/\fBcurs_in_wchstr\fR(3X)
406 mvwin_wchstr/\fBcurs_in_wchstr\fR(3X)
407 mvwinch/\fBcurs_inch\fR(3X)
408 mvwinchnstr/\fBcurs_inchstr\fR(3X)
409 mvwinchstr/\fBcurs_inchstr\fR(3X)
410 mvwinnstr/\fBcurs_instr\fR(3X)
411 mvwinnwstr/\fBcurs_inwstr\fR(3X)
412 mvwins_nwstr/\fBcurs_ins_wstr\fR(3X)
413 mvwins_wch/\fBcurs_ins_wch\fR(3X)
414 mvwins_wstr/\fBcurs_ins_wstr\fR(3X)
415 mvwinsch/\fBcurs_insch\fR(3X)
416 mvwinsnstr/\fBcurs_insstr\fR(3X)
417 mvwinsstr/\fBcurs_insstr\fR(3X)
418 mvwinstr/\fBcurs_instr\fR(3X)
419 mvwinwstr/\fBcurs_inwstr\fR(3X)
420 mvwprintw/\fBcurs_printw\fR(3X)
421 mvwscanw/\fBcurs_scanw\fR(3X)
422 mvwvline/\fBcurs_border\fR(3X)
423 mvwvline_set/\fBcurs_border_set\fR(3X)
424 napms/\fBcurs_kernel\fR(3X)
425 newpad/\fBcurs_pad\fR(3X)
426 newterm/\fBcurs_initscr\fR(3X)
427 newwin/\fBcurs_window\fR(3X)
428 nl/\fBcurs_outopts\fR(3X)
429 nocbreak/\fBcurs_inopts\fR(3X)
430 nodelay/\fBcurs_inopts\fR(3X)
431 noecho/\fBcurs_inopts\fR(3X)
432 nonl/\fBcurs_outopts\fR(3X)
433 noqiflush/\fBcurs_inopts\fR(3X)
434 noraw/\fBcurs_inopts\fR(3X)
435 notimeout/\fBcurs_inopts\fR(3X)
436 overlay/\fBcurs_overlay\fR(3X)
437 overwrite/\fBcurs_overlay\fR(3X)
438 pair_content/\fBcurs_color\fR(3X)
439 pechochar/\fBcurs_pad\fR(3X)
440 pnoutrefresh/\fBcurs_pad\fR(3X)
441 prefresh/\fBcurs_pad\fR(3X)
442 printw/\fBcurs_printw\fR(3X)
443 putp/\fBcurs_terminfo\fR(3X)
444 putwin/\fBcurs_util\fR(3X)
445 qiflush/\fBcurs_inopts\fR(3X)
446 raw/\fBcurs_inopts\fR(3X)
447 redrawwin/\fBcurs_refresh\fR(3X)
448 refresh/\fBcurs_refresh\fR(3X)
449 reset_prog_mode/\fBcurs_kernel\fR(3X)
450 reset_shell_mode/\fBcurs_kernel\fR(3X)
451 resetty/\fBcurs_kernel\fR(3X)
452 resizeterm/\fBresizeterm\fR(3X)*
453 restartterm/\fBcurs_terminfo\fR(3X)
454 ripoffline/\fBcurs_kernel\fR(3X)
455 savetty/\fBcurs_kernel\fR(3X)
456 scanw/\fBcurs_scanw\fR(3X)
457 scr_dump/\fBcurs_scr_dump\fR(3X)
458 scr_init/\fBcurs_scr_dump\fR(3X)
459 scr_restore/\fBcurs_scr_dump\fR(3X)
460 scr_set/\fBcurs_scr_dump\fR(3X)
461 scrl/\fBcurs_scroll\fR(3X)
462 scroll/\fBcurs_scroll\fR(3X)
463 scrollok/\fBcurs_outopts\fR(3X)
464 set_curterm/\fBcurs_terminfo\fR(3X)
465 set_term/\fBcurs_initscr\fR(3X)
466 setcchar/\fBcurs_getcchar\fR(3X)
467 setscrreg/\fBcurs_outopts\fR(3X)
468 setsyx/\fBcurs_kernel\fR(3X)
469 setterm/\fBcurs_terminfo\fR(3X)
470 setupterm/\fBcurs_terminfo\fR(3X)
471 slk_attr/\fBcurs_slk\fR(3X)*
472 slk_attr_off/\fBcurs_slk\fR(3X)
473 slk_attr_on/\fBcurs_slk\fR(3X)
474 slk_attr_set/\fBcurs_slk\fR(3X)
475 slk_attroff/\fBcurs_slk\fR(3X)
476 slk_attron/\fBcurs_slk\fR(3X)
477 slk_attrset/\fBcurs_slk\fR(3X)
478 slk_clear/\fBcurs_slk\fR(3X)
479 slk_color/\fBcurs_slk\fR(3X)
480 slk_init/\fBcurs_slk\fR(3X)
481 slk_label/\fBcurs_slk\fR(3X)
482 slk_noutrefresh/\fBcurs_slk\fR(3X)
483 slk_refresh/\fBcurs_slk\fR(3X)
484 slk_restore/\fBcurs_slk\fR(3X)
485 slk_set/\fBcurs_slk\fR(3X)
486 slk_touch/\fBcurs_slk\fR(3X)
487 standend/\fBcurs_attr\fR(3X)
488 standout/\fBcurs_attr\fR(3X)
489 start_color/\fBcurs_color\fR(3X)
490 subpad/\fBcurs_pad\fR(3X)
491 subwin/\fBcurs_window\fR(3X)
492 syncok/\fBcurs_window\fR(3X)
493 term_attrs/\fBcurs_termattrs\fR(3X)
494 termattrs/\fBcurs_termattrs\fR(3X)
495 termname/\fBcurs_termattrs\fR(3X)
496 tgetent/\fBcurs_termcap\fR(3X)
497 tgetflag/\fBcurs_termcap\fR(3X)
498 tgetnum/\fBcurs_termcap\fR(3X)
499 tgetstr/\fBcurs_termcap\fR(3X)
500 tgoto/\fBcurs_termcap\fR(3X)
501 tigetflag/\fBcurs_terminfo\fR(3X)
502 tigetnum/\fBcurs_terminfo\fR(3X)
503 tigetstr/\fBcurs_terminfo\fR(3X)
504 timeout/\fBcurs_inopts\fR(3X)
505 touchline/\fBcurs_touch\fR(3X)
506 touchwin/\fBcurs_touch\fR(3X)
507 tparm/\fBcurs_terminfo\fR(3X)
508 tputs/\fBcurs_termcap\fR(3X)
509 tputs/\fBcurs_terminfo\fR(3X)
510 trace/\fBcurs_trace\fR(3X)*
511 typeahead/\fBcurs_inopts\fR(3X)
512 unctrl/\fBcurs_util\fR(3X)
513 unget_wch/\fBcurs_get_wch\fR(3X)
514 ungetch/\fBcurs_getch\fR(3X)
515 ungetmouse/\fBcurs_mouse\fR(3X)*
516 untouchwin/\fBcurs_touch\fR(3X)
517 use_default_colors/\fBdefault_colors\fR(3X)*
518 use_env/\fBcurs_util\fR(3X)
519 use_extended_names/\fBcurs_extend\fR(3X)*
520 vid_attr/\fBcurs_terminfo\fR(3X)
521 vid_puts/\fBcurs_terminfo\fR(3X)
522 vidattr/\fBcurs_terminfo\fR(3X)
523 vidputs/\fBcurs_terminfo\fR(3X)
524 vline/\fBcurs_border\fR(3X)
525 vline_set/\fBcurs_border_set\fR(3X)
526 vw_printw/\fBcurs_printw\fR(3X)
527 vw_scanw/\fBcurs_scanw\fR(3X)
528 vwprintw/\fBcurs_printw\fR(3X)
529 vwscanw/\fBcurs_scanw\fR(3X)
530 wadd_wch/\fBcurs_add_wch\fR(3X)
531 wadd_wchnstr/\fBcurs_add_wchstr\fR(3X)
532 wadd_wchstr/\fBcurs_add_wchstr\fR(3X)
533 waddch/\fBcurs_addch\fR(3X)
534 waddchnstr/\fBcurs_addchstr\fR(3X)
535 waddchstr/\fBcurs_addchstr\fR(3X)
536 waddnstr/\fBcurs_addstr\fR(3X)
537 waddnwstr/\fBcurs_addwstr\fR(3X)
538 waddstr/\fBcurs_addstr\fR(3X)
539 waddwstr/\fBcurs_addwstr\fR(3X)
540 wattr_get/\fBcurs_attr\fR(3X)
541 wattr_off/\fBcurs_attr\fR(3X)
542 wattr_on/\fBcurs_attr\fR(3X)
543 wattr_set/\fBcurs_attr\fR(3X)
544 wattroff/\fBcurs_attr\fR(3X)
545 wattron/\fBcurs_attr\fR(3X)
546 wattrset/\fBcurs_attr\fR(3X)
547 wbkgd/\fBcurs_bkgd\fR(3X)
548 wbkgdset/\fBcurs_bkgd\fR(3X)
549 wbkgrnd/\fBcurs_bkgrnd\fR(3X)
550 wbkgrndset/\fBcurs_bkgrnd\fR(3X)
551 wborder/\fBcurs_border\fR(3X)
552 wborder_set/\fBcurs_border_set\fR(3X)
553 wchgat/\fBcurs_attr\fR(3X)
554 wclear/\fBcurs_clear\fR(3X)
555 wclrtobot/\fBcurs_clear\fR(3X)
556 wclrtoeol/\fBcurs_clear\fR(3X)
557 wcolor_set/\fBcurs_attr\fR(3X)
558 wcursyncup/\fBcurs_window\fR(3X)
559 wdelch/\fBcurs_delch\fR(3X)
560 wdeleteln/\fBcurs_deleteln\fR(3X)
561 wecho_wchar/\fBcurs_add_wch\fR(3X)
562 wechochar/\fBcurs_addch\fR(3X)
563 wenclose/\fBcurs_mouse\fR(3X)*
564 werase/\fBcurs_clear\fR(3X)
565 wget_wch/\fBcurs_get_wch\fR(3X)
566 wget_wstr/\fBcurs_get_wstr\fR(3X)
567 wgetbkgrnd/\fBcurs_bkgrnd\fR(3X)
568 wgetch/\fBcurs_getch\fR(3X)
569 wgetn_wstr/\fBcurs_get_wstr\fR(3X)
570 wgetnstr/\fBcurs_getstr\fR(3X)
571 wgetstr/\fBcurs_getstr\fR(3X)
572 whline/\fBcurs_border\fR(3X)
573 whline_set/\fBcurs_border_set\fR(3X)
574 win_wch/\fBcurs_in_wch\fR(3X)
575 win_wchnstr/\fBcurs_in_wchstr\fR(3X)
576 win_wchstr/\fBcurs_in_wchstr\fR(3X)
577 winch/\fBcurs_inch\fR(3X)
578 winchnstr/\fBcurs_inchstr\fR(3X)
579 winchstr/\fBcurs_inchstr\fR(3X)
580 winnstr/\fBcurs_instr\fR(3X)
581 winnwstr/\fBcurs_inwstr\fR(3X)
582 wins_nwstr/\fBcurs_ins_wstr\fR(3X)
583 wins_wch/\fBcurs_ins_wch\fR(3X)
584 wins_wstr/\fBcurs_ins_wstr\fR(3X)
585 winsch/\fBcurs_insch\fR(3X)
586 winsdelln/\fBcurs_deleteln\fR(3X)
587 winsertln/\fBcurs_deleteln\fR(3X)
588 winsnstr/\fBcurs_insstr\fR(3X)
589 winsstr/\fBcurs_insstr\fR(3X)
590 winstr/\fBcurs_instr\fR(3X)
591 winwstr/\fBcurs_inwstr\fR(3X)
592 wmouse_trafo/\fBcurs_mouse\fR(3X)*
593 wmove/\fBcurs_move\fR(3X)
594 wnoutrefresh/\fBcurs_refresh\fR(3X)
595 wprintw/\fBcurs_printw\fR(3X)
596 wredrawln/\fBcurs_refresh\fR(3X)
597 wrefresh/\fBcurs_refresh\fR(3X)
598 wresize/\fBwresize\fR(3X)*
599 wscanw/\fBcurs_scanw\fR(3X)
600 wscrl/\fBcurs_scroll\fR(3X)
601 wsetscrreg/\fBcurs_outopts\fR(3X)
602 wstandend/\fBcurs_attr\fR(3X)
603 wstandout/\fBcurs_attr\fR(3X)
604 wsyncdown/\fBcurs_window\fR(3X)
605 wsyncup/\fBcurs_window\fR(3X)
606 wtimeout/\fBcurs_inopts\fR(3X)
607 wtouchln/\fBcurs_touch\fR(3X)
608 wunctrl/\fBcurs_util\fR(3X)
609 wvline/\fBcurs_border\fR(3X)
610 wvline_set/\fBcurs_border_set\fR(3X)
611 .TE
612 .SH RETURN VALUE
613 Routines that return an integer return \fBERR\fR upon failure and an
614 integer value other than \fBERR\fR upon successful completion, unless
615 otherwise noted in the routine descriptions.
616 .PP
617 All macros return the value of the \fBw\fR version, except \fBsetscrreg\fR,
618 \fBwsetscrreg\fR, \fBgetyx\fR, \fBgetbegyx\fR, and \fBgetmaxyx\fR.  The return
619 values of \fBsetscrreg\fR, \fBwsetscrreg\fR, \fBgetyx\fR, \fBgetbegyx\fR, and
620 \fBgetmaxyx\fR are undefined (i.e., these should not be used as the
621 right-hand side of assignment statements).
622 .PP
623 Routines that return pointers return \fBNULL\fR on error.
624 .SH ENVIRONMENT
625 The following environment symbols are useful for customizing the
626 runtime behavior of the \fBncurses\fR library.  The most important
627 ones have been already discussed in detail.
628 .TP 5
629 BAUDRATE
630 The debugging library checks this environment symbol when the application
631 has redirected output to a file.
632 The symbol's numeric value is used for the baudrate.
633 If no value is found, \fBncurses\fR uses 9600.
634 This allows testers to construct repeatable test-cases
635 that take into account costs that depend on baudrate.
636 .TP 5
637 CC
638 When set, change occurrences of the command_character
639 (i.e., the \fBcmdch\fP capability)
640 of the loaded terminfo entries to the value of this symbol.
641 Very few terminfo entries provide this feature.
642 .TP 5
643 COLUMNS
644 Specify the width of the screen in characters.
645 Applications running in a windowing environment usually are able to
646 obtain the width of the window in which they are executing.
647 If neither the $COLUMNS value nor the terminal's screen size is available,
648 \fBncurses\fR uses the size which may be specified in the terminfo database
649 (i.e., the \fBcols\fR capability).
650 .IP
651 It is important that your application use a correct size for the screen.
652 However, this is not always possible because your application may be
653 running on a host which does not honor NAWS (Negotiations About Window
654 Size), or because you are temporarily running as another user.
655 .IP
656 Either COLUMNS or LINES symbols may be specified independently.
657 This is mainly useful to circumvent legacy misfeatures of terminal descriptions,
658 e.g., xterm which commonly specifies a 65 line screen.
659 For best results, \fBlines\fR and \fBcols\fR should not be specified in
660 a terminal description for terminals which are run as emulations.
661 .IP
662 Use the \fBuse_env\fR function to disable this feature.
663 .TP 5
664 ESCDELAY
665 Specifies the total time, in milliseconds, for which ncurses will
666 await a character sequence, e.g., a function key.
667 The default value, 1000 milliseconds, is enough for most uses.
668 However, it is made a variable to accommodate unusual applications.
669 .IP
670 The most common instance where you may wish to change this value
671 is to work with slow hosts, e.g., running on a network.
672 If the host cannot read characters rapidly enough, it will have the same
673 effect as if the terminal did not send characters rapidly enough.
674 The library will still see a timeout.
675 .IP
676 Note that xterm mouse events are built up from character sequences
677 received from the xterm.
678 If your application makes heavy use of multiple-clicking, you may
679 wish to lengthen this default value because the timeout applies
680 to the composed multi-click event as well as the individual clicks.
681 .TP 5
682 HOME
683 Tells \fBncurses\fR where your home directory is.
684 That is where it may read and write auxiliary terminal descriptions:
685 .IP
686 $HOME/.termcap
687 .br
688 $HOME/.terminfo
689 .TP 5
690 LINES
691 Like COLUMNS, specify the height of the screen in characters.
692 See COLUMNS for a detailed description.
693 .TP 5
694 MOUSE_BUTTONS_123
695 This applies only to the OS/2 EMX port.
696 It specifies the order of buttons on the mouse.
697 OS/2 numbers a 3-button mouse inconsistently from other
698 platforms:
699 .sp
700 1 = left
701 .br
702 2 = right
703 .br
704 3 = middle.
705 .sp
706 This symbol lets you customize the mouse.
707 The symbol must be three numeric digits 1-3 in any order, e.g., 123 or 321.
708 If it is not specified, \fBncurses\fR uses 132.
709 .TP 5
710 NCURSES_ASSUMED_COLORS
711 Override the compiled-in assumption that the
712 terminal's default colors are white-on-black
713 (see \fBassume_default_colors\fR(3X)).
714 You may set the foreground and background color values with this environment
715 variable by proving a 2-element list: foreground,background.
716 For example, to tell ncurses to not assume anything
717 about the colors, set this to "-1,-1".
718 To make it green-on-black, set it to "2,0".
719 Any positive value from zero to the terminfo \fBmax_colors\fR value is allowed.
720 .TP 5
721 NCURSES_NO_PADDING
722 Most of the terminal descriptions in the terminfo database are written
723 for real "hardware" terminals.
724 Many people use terminal emulators
725 which run in a windowing environment and use curses-based applications.
726 Terminal emulators can duplicate
727 all of the important aspects of a hardware terminal, but they do not
728 have the same limitations.
729 The chief limitation of a hardware terminal from the standpoint
730 of your application is the management of dataflow, i.e., timing.
731 Unless a hardware terminal is interfaced into a terminal concentrator
732 (which does flow control),
733 it (or your application) must manage dataflow, preventing overruns.
734 The cheapest solution (no hardware cost)
735 is for your program to do this by pausing after
736 operations that the terminal does slowly, such as clearing the display.
737 .IP
738 As a result, many terminal descriptions (including the vt100)
739 have delay times embedded.  You may wish to use these descriptions,
740 but not want to pay the performance penalty.
741 .IP
742 Set the NCURSES_NO_PADDING symbol to disable all but mandatory
743 padding.  Mandatory padding is used as a part of special control
744 sequences such as \fIflash\fR.
745 .TP 5
746 NCURSES_NO_SETBUF
747 Normally \fBncurses\fR enables buffered output during terminal initialization.
748 This is done (as in SVr4 curses) for performance reasons.
749 For testing purposes, both of \fBncurses\fR and certain applications,
750 this feature is made optional.  Setting the NCURSES_NO_SETBUF variable
751 disables output buffering, leaving the output in the original (usually
752 line buffered) mode.
753 .TP 5
754 NCURSES_TRACE
755 During initialization, the \fBncurses\fR debugging library
756 checks the NCURSES_TRACE symbol.
757 If it is defined, to a numeric value, \fBncurses\fR calls the \fBtrace\fR
758 function, using that value as the argument.
759 .IP
760 The argument values, which are defined in \fBcurses.h\fR, provide several
761 types of information.
762 When running with traces enabled, your application will write the
763 file \fBtrace\fR to the current directory.
764 .TP 5
765 TERM
766 Denotes your terminal type.
767 Each terminal type is distinct, though many are similar.
768 .TP 5
769 TERMCAP
770 If the \fBncurses\fR library has been configured with \fItermcap\fR
771 support, \fBncurses\fR will check for a terminal's description in
772 termcap form if it is not available in the terminfo database.
773 .IP
774 The TERMCAP symbol contains either a terminal description (with
775 newlines stripped out),
776 or a file name telling where the information denoted by the TERM symbol exists.
777 In either case, setting it directs \fBncurses\fR to ignore
778 the usual place for this information, e.g., /etc/termcap.
779 .TP 5
780 TERMINFO
781 Overrides the directory in which \fBncurses\fR searches for your terminal
782 description.
783 This is the simplest, but not the only way to change the list of directories.
784 The complete list of directories in order follows:
785 .RS
786 .TP 3
787 -
788 the last directory to which \fBncurses\fR wrote, if any, is searched first
789 .TP 3
790 -
791 the directory specified by the TERMINFO symbol
792 .TP 3
793 -
794 $HOME/.terminfo
795 .TP 3
796 -
797 directories listed in the TERMINFO_DIRS symbol
798 .TP 3
799 -
800 one or more directories whose names are configured and compiled into the
801 ncurses library, e.g.,
802 /usr/share/terminfo
803 .RE
804 .TP 5
805 TERMINFO_DIRS
806 Specifies a list of directories to search for terminal descriptions.
807 The list is separated by colons (i.e., ":") on Unix, semicolons on OS/2 EMX.
808 All of the terminal descriptions are in terminfo form, which makes
809 a subdirectory named for the first letter of the terminal names therein.
810 .TP 5
811 TERMPATH
812 If TERMCAP does not hold a file name then \fBncurses\fR checks
813 the TERMPATH symbol.
814 This is a list of filenames separated by spaces or colons (i.e., ":") on Unix, semicolons on OS/2 EMX.
815 If the TERMPATH symbol is not set, \fBncurses\fR looks in the files
816 /etc/termcap, /usr/share/misc/termcap and $HOME/.termcap, in that order.
817 .PP
818 The library may be configured to disregard the following variables when the
819 current user is the superuser (root), or if the application uses setuid or
820 setgid permissions:
821 $TERMINFO, $TERMINFO_DIRS, $TERMPATH, as well as $HOME.
822 .SH FILES
823 .TP 5
824 /usr/share/tabset
825 directory containing initialization files for the terminal capability database
826 /usr/share/terminfo
827 terminal capability database
828 .SH SEE ALSO
829 \fBterminfo\fR(\*n) and related pages whose names begin "curs_" for detailed routine
830 descriptions.
831 .SH EXTENSIONS
832 The \fBncurses\fR library can be compiled with an option (\fB\-DUSE_GETCAP\fR)
833 that falls back to the old-style /etc/termcap file if the terminal setup code
834 cannot find a terminfo entry corresponding to \fBTERM\fR.  Use of this feature
835 is not recommended, as it essentially includes an entire termcap compiler in
836 the \fBncurses\fR startup code, at significant cost in core and startup cycles.
837 .PP
838 The \fBncurses\fR library includes facilities for capturing mouse events on
839 certain terminals (including xterm). See the \fBcurs_mouse\fR(3X)
840 manual page for details.
841 .PP
842 The \fBncurses\fR library includes facilities for responding to window
843 resizing events, e.g., when running in an xterm.
844 See the \fBresizeterm\fR(3X)
845 and \fBwresize\fR(3X) manual pages for details.
846 In addition, the library may be configured with a SIGWINCH handler.
847 .PP
848 The \fBncurses\fR library extends the fixed set of function key capabilities
849 of terminals by allowing the application designer to define additional
850 key sequences at runtime.
851 See the \fBdefine_key\fR(3X)
852 \fBkey_defined\fR(3X),
853 and \fBkeyok\fR(3X) manual pages for details.
854 .PP
855 The \fBncurses\fR library can exploit the capabilities of terminals which
856 implement the ISO-6429 SGR 39 and SGR 49 controls, which allow an application
857 to reset the terminal to its original foreground and background colors.
858 From the users' perspective, the application is able to draw colored
859 text on a background whose color is set independently, providing better
860 control over color contrasts.
861 See the \fBdefault_colors\fR(3X) manual page for details.
862 .PP
863 The \fBncurses\fR library includes a function for directing application output
864 to a printer attached to the terminal device.  See the \fBcurs_print\fR(3X)
865 manual page for details.
866 .SH PORTABILITY
867 The \fBncurses\fR library is intended to be BASE-level conformant with the XSI
868 Curses standard.  The EXTENDED XSI Curses functionality
869 (including color support) is supported.
870 .PP
871 A small number of local differences (that is, individual differences between
872 the XSI Curses and \fBncurses\fR calls) are described in \fBPORTABILITY\fR
873 sections of the library man pages.
874 .PP
875 The routine \fBhas_key\fR is not part of XPG4, nor is it present in SVr4.  See
876 the \fBcurs_getch\fR(3X) manual page for details.
877 .PP
878 The routine \fBslk_attr\fR is not part of XPG4, nor is it present in SVr4.  See
879 the \fBcurs_slk\fR(3X) manual page for details.
880 .PP
881 The routines \fBgetmouse\fR, \fBmousemask\fR, \fBungetmouse\fR,
882 \fBmouseinterval\fR, and \fBwenclose\fR relating to mouse interfacing are not
883 part of XPG4, nor are they present in SVr4.  See the \fBcurs_mouse\fR(3X)
884 manual page for details.
885 .PP
886 The routine \fBmcprint\fR was not present in any previous curses
887 implementation.  See the \fBcurs_print\fR(3X) manual page for details.
888 .PP
889 The routine \fBwresize\fR is not part of XPG4, nor is it present in SVr4.  See
890 the \fBwresize\fR(3X) manual page for details.
891 .PP
892 In historic curses versions, delays embedded in the capabilities \fBcr\fR,
893 \fBind\fR, \fBcub1\fR, \fBff\fR and \fBtab\fR activated corresponding delay
894 bits in the UNIX tty driver.  In this implementation, all padding is done by
895 NUL sends.  This method is slightly more expensive, but narrows the interface
896 to the UNIX kernel significantly and increases the package's portability
897 correspondingly.
898 .SH NOTES
899 The header file \fB<curses.h>\fR automatically includes the header files
900 \fB<stdio.h>\fR and \fB<unctrl.h>\fR.
901 .PP
902 If standard output from a \fBncurses\fR program is re-directed to something
903 which is not a tty, screen updates will be directed to standard error.  This
904 was an undocumented feature of AT&T System V Release 3 curses.
905 .SH AUTHORS
906 Zeyd M. Ben-Halim, Eric S. Raymond, Thomas E. Dickey.
907 Based on pcurses by Pavel Curtis.
908 .\"#
909 .\"# The following sets edit modes for GNU EMACS
910 .\"# Local Variables:
911 .\"# mode:nroff
912 .\"# fill-column:79
913 .\"# End: