aboutsummaryrefslogtreecommitdiff
path: root/contrib/ncurses/man/ncurses.3x
diff options
context:
space:
mode:
authorPeter Wemm <peter@FreeBSD.org>1999-08-24 01:06:48 +0000
committerPeter Wemm <peter@FreeBSD.org>1999-08-24 01:06:48 +0000
commit0e3d540892016a47f6a68ec9ba2879d35ce5f7c2 (patch)
treead214c5b2c8142ad6dc6d2ce3a9c83e6317d7f77 /contrib/ncurses/man/ncurses.3x
downloadsrc-0e3d540892016a47f6a68ec9ba2879d35ce5f7c2.tar.gz
src-0e3d540892016a47f6a68ec9ba2879d35ce5f7c2.zip
Import unmodified (but trimmed) ncurses 5.0 prerelease 990821.vendor/ncurses/5.0-19990821
This contains the full eti (panel, form, menu) extensions. bmake glue to follow. Obtained from: ftp://ftp.clark.net/pub/dickey/ncurses
Notes
Notes: svn path=/vendor/ncurses/dist/; revision=50276 svn path=/vendor/ncurses/5.0-19990821/; revision=50278; tag=vendor/ncurses/5.0-19990821
Diffstat (limited to 'contrib/ncurses/man/ncurses.3x')
-rw-r--r--contrib/ncurses/man/ncurses.3x912
1 files changed, 912 insertions, 0 deletions
diff --git a/contrib/ncurses/man/ncurses.3x b/contrib/ncurses/man/ncurses.3x
new file mode 100644
index 000000000000..afbbe277c786
--- /dev/null
+++ b/contrib/ncurses/man/ncurses.3x
@@ -0,0 +1,912 @@
+'\" t
+.\"***************************************************************************
+.\" Copyright (c) 1998 Free Software Foundation, Inc. *
+.\" *
+.\" Permission is hereby granted, free of charge, to any person obtaining a *
+.\" copy of this software and associated documentation files (the *
+.\" "Software"), to deal in the Software without restriction, including *
+.\" without limitation the rights to use, copy, modify, merge, publish, *
+.\" distribute, distribute with modifications, sublicense, and/or sell *
+.\" copies of the Software, and to permit persons to whom the Software is *
+.\" furnished to do so, subject to the following conditions: *
+.\" *
+.\" The above copyright notice and this permission notice shall be included *
+.\" in all copies or substantial portions of the Software. *
+.\" *
+.\" THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS *
+.\" OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF *
+.\" MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. *
+.\" IN NO EVENT SHALL THE ABOVE COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, *
+.\" DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR *
+.\" OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR *
+.\" THE USE OR OTHER DEALINGS IN THE SOFTWARE. *
+.\" *
+.\" Except as contained in this notice, the name(s) of the above copyright *
+.\" holders shall not be used in advertising or otherwise to promote the *
+.\" sale, use or other dealings in this Software without prior written *
+.\" authorization. *
+.\"***************************************************************************
+.\"
+.\" $Id: ncurses.3x,v 1.34 1999/07/24 21:37:35 tom Exp $
+.hy 0
+.TH ncurses 3X ""
+.ds n 5
+.ds d @DATADIR@/terminfo
+.SH NAME
+\fBncurses\fR - CRT screen handling and optimization package
+.SH SYNOPSIS
+\fB#include <curses.h>\fR
+.br
+.SH DESCRIPTION
+The \fBncurses\fR library routines give the user a terminal-independent method
+of updating character screens with reasonable optimization. This
+implementation is ``new curses'' (ncurses) and is the approved replacement for
+4.4BSD classic curses, which has been discontinued.
+
+The \fBncurses\fR routines emulate the \fBcurses\fR(3X) library of System V
+Release 4 UNIX, and the XPG4 curses standard (XSI curses) but the \fBncurses\fR
+library is freely redistributable in source form. Differences from the SVr4
+curses are summarized under the EXTENSIONS and BUGS sections below and
+described in detail in the EXTENSIONS and BUGS sections of individual man
+pages.
+
+A program using these routines must be linked with the \fB-lncurses\fR option,
+or (if it has been generated) with the debugging library \fB-lncurses_g\fR.
+(Your system integrator may also have installed these libraries under
+the names \fB-lcurses\fR and \fB-lcurses_g\fR.)
+The ncurses_g library generates trace logs (in a file called 'trace' in the
+current directory) that describe curses actions.
+
+The \fBncurses\fR package supports: overall screen, window and pad
+manipulation; output to windows and pads; reading terminal input; control over
+terminal and \fBcurses\fR input and output options; environment query
+routines; color manipulation; use of soft label keys; terminfo capabilities;
+and access to low-level terminal-manipulation routines.
+
+To initialize the routines, the routine \fBinitscr\fR or \fBnewterm\fR
+must be called before any of the other routines that deal with windows
+and screens are used. The routine \fBendwin\fR must be called before
+exiting. To get character-at-a-time input without echoing (most
+interactive, screen oriented programs want this), the following
+sequence should be used:
+
+ \fBinitscr(); cbreak(); noecho();\fR
+
+Most programs would additionally use the sequence:
+
+ \fBnonl();\fR
+ \fBintrflush(stdscr, FALSE);\fR
+ \fBkeypad(stdscr, TRUE);\fR
+
+Before a \fBcurses\fR program is run, the tab stops of the terminal
+should be set and its initialization strings, if defined, must be
+output. This can be done by executing the \fBtput init\fR command
+after the shell environment variable \fBTERM\fR has been exported.
+\fBtset(1)\fR is usually responsible for doing this.
+[See \fBterminfo\fR(\*n) for further details.]
+
+The \fBncurses\fR library permits manipulation of data structures,
+called \fIwindows\fR, which can be thought of as two-dimensional
+arrays of characters representing all or part of a CRT screen. A
+default window called \fBstdscr\fR, which is the size of the terminal
+screen, is supplied. Others may be created with \fBnewwin\fR.
+
+Note that \fBcurses\fR does not handle overlapping windows, that's done by
+the \fBpanel\fR(3X) library. This means that you can either use
+\fBstdscr\fR or divide the screen into tiled windows and not using
+\fBstdscr\fR at all. Mixing the two will result in unpredictable, and
+undesired, effects.
+
+Windows are referred to by variables declared as \fBWINDOW *\fR.
+These data structures are manipulated with routines described here and
+elsewhere in the \fBncurses\fR manual pages. Among which the most basic
+routines are \fBmove\fR and \fBaddch\fR. More general versions of
+these routines are included with names beginning with \fBw\fR,
+allowing the user to specify a window. The routines not beginning
+with \fBw\fR affect \fBstdscr\fR.)
+
+After using routines to manipulate a window, \fBrefresh\fR is called,
+telling \fBcurses\fR to make the user's CRT screen look like
+\fBstdscr\fR. The characters in a window are actually of type
+\fBchtype\fR, (character and attribute data) so that other information
+about the character may also be stored with each character.
+
+Special windows called \fIpads\fR may also be manipulated. These are windows
+which are not constrained to the size of the screen and whose contents need not
+be completely displayed. See \fBcurs_pad\fR(3X) for more information.
+
+In addition to drawing characters on the screen, video attributes and colors
+may be supported, causing the characters to show up in such modes as
+underlined, in reverse video, or in color on terminals that support such
+display enhancements. Line drawing characters may be specified to be output.
+On input, \fBcurses\fR is also able to translate arrow and function keys that
+transmit escape sequences into single values. The video attributes, line
+drawing characters, and input values use names, defined in \fB<curses.h>\fR,
+such as \fBA_REVERSE\fR, \fBACS_HLINE\fR, and \fBKEY_LEFT\fR.
+
+If the environment variables \fBLINES\fR and \fBCOLUMNS\fR are set, or if the
+program is executing in a window environment, line and column information in
+the environment will override information read by \fIterminfo\fR. This would
+effect a program running in an AT&T 630 layer, for example, where the size of a
+screen is changeable (see \fBENVIRONMENT\fR).
+
+If the environment variable \fBTERMINFO\fR is defined, any program using
+\fBcurses\fR checks for a local terminal definition before checking in the
+standard place. For example, if \fBTERM\fR is set to \fBatt4424\fR, then the
+compiled terminal definition is found in
+
+ \fB\*d/a/att4424\fR.
+
+(The \fBa\fR is copied from the first letter of \fBatt4424\fR to avoid
+creation of huge directories.) However, if \fBTERMINFO\fR is set to
+\fB$HOME/myterms\fR, \fBcurses\fR first checks
+
+ \fB$HOME/myterms/a/att4424\fR,
+
+and if that fails, it then checks
+
+ \fB\*d/a/att4424\fR.
+
+This is useful for developing experimental definitions or when write
+permission in \fB\*d\fR is not available.
+
+The integer variables \fBLINES\fR and \fBCOLS\fR are defined in
+\fB<curses.h>\fR and will be filled in by \fBinitscr\fR with the size of the
+screen. The constants \fBTRUE\fR and \fBFALSE\fR have the values \fB1\fR and
+\fB0\fR, respectively.
+
+The \fBcurses\fR routines also define the \fBWINDOW *\fR variable \fBcurscr\fR
+which is used for certain low-level operations like clearing and redrawing a
+screen containing garbage. The \fBcurscr\fR can be used in only a few
+routines.
+
+.SS Routine and Argument Names
+Many \fBcurses\fR routines have two or more versions. The routines prefixed
+with \fBw\fR require a window argument. The routines prefixed with \fBp\fR
+require a pad argument. Those without a prefix generally use \fBstdscr\fR.
+
+The routines prefixed with \fBmv\fR require a \fIy\fR and \fIx\fR
+coordinate to move to before performing the appropriate action. The
+\fBmv\fR routines imply a call to \fBmove\fR before the call to the
+other routine. The coordinate \fIy\fR always refers to the row (of
+the window), and \fIx\fR always refers to the column. The upper
+left-hand corner is always (0,0), not (1,1).
+
+The routines prefixed with \fBmvw\fR take both a window argument and
+\fIx\fR and \fIy\fR coordinates. The window argument is always
+specified before the coordinates.
+
+In each case, \fIwin\fR is the window affected, and \fIpad\fR is the
+pad affected; \fIwin\fR and \fIpad\fR are always pointers to type
+\fBWINDOW\fR.
+
+Option setting routines require a Boolean flag \fIbf\fR with the value
+\fBTRUE\fR or \fBFALSE\fR; \fIbf\fR is always of type \fBbool\fR. The
+variables \fIch\fR and \fIattrs\fR below are always of type
+\fBchtype\fR. The types \fBWINDOW\fR, \fBSCREEN\fR, \fBbool\fR, and
+\fBchtype\fR are defined in \fB<curses.h>\fR. The type \fBTERMINAL\fR
+is defined in \fB<term.h>\fR. All other arguments are integers.
+
+.SS Routine Name Index
+The following table lists each \fBcurses\fR routine and the name of
+the manual page on which it is described. Routines flagged with `*'
+are ncurses-specific, not described by XPG4 or present in SVr4.
+
+.TS
+center tab(/);
+l l
+l l .
+\fBcurses\fR Routine Name/Manual Page Name
+=
+addch/\fBcurs_addch\fR(3X)
+addchnstr/\fBcurs_addchstr\fR(3X)
+addchstr/\fBcurs_addchstr\fR(3X)
+addnstr/\fBcurs_addstr\fR(3X)
+addstr/\fBcurs_addstr\fR(3X)
+attr_get/\fBcurs_attr\fR(3X)
+attr_off/\fBcurs_attr\fR(3X)
+attr_on/\fBcurs_attr\fR(3X)
+attr_set/\fBcurs_attr\fR(3X)
+attroff/\fBcurs_attr\fR(3X)
+attron/\fBcurs_attr\fR(3X)
+attrset/\fBcurs_attr\fR(3X)
+baudrate/\fBcurs_termattrs\fR(3X)
+beep/\fBcurs_beep\fR(3X)
+bkgd/\fBcurs_bkgd\fR(3X)
+bkgdset/\fBcurs_bkgd\fR(3X)
+border/\fBcurs_border\fR(3X)
+box/\fBcurs_border\fR(3X)
+can_change_color/\fBcurs_color\fR(3X)
+cbreak/\fBcurs_inopts\fR(3X)
+chgat/\fBcurs_attr\fR(3X)
+clear/\fBcurs_clear\fR(3X)
+clearok/\fBcurs_outopts\fR(3X)
+clrtobot/\fBcurs_clear\fR(3X)
+clrtoeol/\fBcurs_clear\fR(3X)
+color_content/\fBcurs_color\fR(3X)
+color_set/\fBcurs_attr\fR(3X)
+copywin/\fBcurs_overlay\fR(3X)
+curs_set/\fBcurs_kernel\fR(3X)
+def_prog_mode/\fBcurs_kernel\fR(3X)
+def_shell_mode/\fBcurs_kernel\fR(3X)
+define_key/\fBdefine_key\fR(3X)*
+del_curterm/\fBcurs_terminfo\fR(3X)
+delay_output/\fBcurs_util\fR(3X)
+delch/\fBcurs_delch\fR(3X)
+deleteln/\fBcurs_deleteln\fR(3X)
+delscreen/\fBcurs_initscr\fR(3X)
+delwin/\fBcurs_window\fR(3X)
+derwin/\fBcurs_window\fR(3X)
+doupdate/\fBcurs_refresh\fR(3X)
+dupwin/\fBcurs_window\fR(3X)
+echo/\fBcurs_inopts\fR(3X)
+echochar/\fBcurs_addch\fR(3X)
+endwin/\fBcurs_initscr\fR(3X)
+erase/\fBcurs_clear\fR(3X)
+erasechar/\fBcurs_termattrs\fR(3X)
+filter/\fBcurs_util\fR(3X)
+flash/\fBcurs_beep\fR(3X)
+flushinp/\fBcurs_util\fR(3X)
+getbegyx/\fBcurs_getyx\fR(3X)
+getbkgd/\fBcurs_bkgd\fR(3X)
+getch/\fBcurs_getch\fR(3X)
+getmaxyx/\fBcurs_getyx\fR(3X)
+getmouse/\fBcurs_mouse\fR(3X)*
+getnstr/\fBcurs_getstr\fR(3X)
+getparyx/\fBcurs_getyx\fR(3X)
+getstr/\fBcurs_getstr\fR(3X)
+getsyx/\fBcurs_kernel\fR(3X)
+getwin/\fBcurs_util\fR(3X)
+getyx/\fBcurs_getyx\fR(3X)
+halfdelay/\fBcurs_inopts\fR(3X)
+has_colors/\fBcurs_color\fR(3X)
+has_ic/\fBcurs_termattrs\fR(3X)
+has_il/\fBcurs_termattrs\fR(3X)
+has_key/\fBcurs_getch\fR(3X)*
+hline/\fBcurs_border\fR(3X)
+idcok/\fBcurs_outopts\fR(3X)
+idlok/\fBcurs_outopts\fR(3X)
+immedok/\fBcurs_outopts\fR(3X)
+inch/\fBcurs_inch\fR(3X)
+inchnstr/\fBcurs_inchstr\fR(3X)
+inchstr/\fBcurs_inchstr\fR(3X)
+init_color/\fBcurs_color\fR(3X)
+init_pair/\fBcurs_color\fR(3X)
+initscr/\fBcurs_initscr\fR(3X)
+innstr/\fBcurs_instr\fR(3X)
+insch/\fBcurs_insch\fR(3X)
+insdelln/\fBcurs_deleteln\fR(3X)
+insertln/\fBcurs_deleteln\fR(3X)
+insnstr/\fBcurs_insstr\fR(3X)
+insstr/\fBcurs_insstr\fR(3X)
+instr/\fBcurs_instr\fR(3X)
+intrflush/\fBcurs_inopts\fR(3X)
+is_linetouched/\fBcurs_touch\fR(3X)
+is_wintouched/\fBcurs_touch\fR(3X)
+isendwin/\fBcurs_initscr\fR(3X)
+keyname/\fBcurs_util\fR(3X)
+keyok/\fBkeyok\fR(3X)*
+keypad/\fBcurs_inopts\fR(3X)
+killchar/\fBcurs_termattrs\fR(3X)
+leaveok/\fBcurs_outopts\fR(3X)
+longname/\fBcurs_termattrs\fR(3X)
+mcprint/\fBcurs_print\fR(3X)*
+meta/\fBcurs_inopts\fR(3X)
+mouseinterval/\fBcurs_mouse\fR(3X)*
+mousemask/\fBcurs_mouse\fR(3X)*
+move/\fBcurs_move\fR(3X)
+mvaddch/\fBcurs_addch\fR(3X)
+mvaddchnstr/\fBcurs_addchstr\fR(3X)
+mvaddchstr/\fBcurs_addchstr\fR(3X)
+mvaddnstr/\fBcurs_addstr\fR(3X)
+mvaddstr/\fBcurs_addstr\fR(3X)
+mvchgat/\fBcurs_attr\fR(3X)
+mvcur/\fBcurs_terminfo\fR(3X)
+mvdelch/\fBcurs_delch\fR(3X)
+mvderwin/\fBcurs_window\fR(3X)
+mvgetch/\fBcurs_getch\fR(3X)
+mvgetnstr/\fBcurs_getstr\fR(3X)
+mvgetstr/\fBcurs_getstr\fR(3X)
+mvhline/\fBcurs_border\fR(3X)
+mvinch/\fBcurs_inch\fR(3X)
+mvinchnstr/\fBcurs_inchstr\fR(3X)
+mvinchstr/\fBcurs_inchstr\fR(3X)
+mvinnstr/\fBcurs_instr\fR(3X)
+mvinsch/\fBcurs_insch\fR(3X)
+mvinsnstr/\fBcurs_insstr\fR(3X)
+mvinsstr/\fBcurs_insstr\fR(3X)
+mvinstr/\fBcurs_instr\fR(3X)
+mvprintw/\fBcurs_printw\fR(3X)
+mvscanw/\fBcurs_scanw\fR(3X)
+mvwaddch/\fBcurs_addch\fR(3X)
+mvwaddchnstr/\fBcurs_addchstr\fR(3X)
+mvwaddchstr/\fBcurs_addchstr\fR(3X)
+mvwaddnstr/\fBcurs_addstr\fR(3X)
+mvwaddstr/\fBcurs_addstr\fR(3X)
+mvwchgat/\fBcurs_attr\fR(3X)
+mvwdelch/\fBcurs_delch\fR(3X)
+mvwgetch/\fBcurs_getch\fR(3X)
+mvwgetnstr/\fBcurs_getstr\fR(3X)
+mvwgetstr/\fBcurs_getstr\fR(3X)
+mvwhline/\fBcurs_border\fR(3X)
+mvwin/\fBcurs_window\fR(3X)
+mvwinch/\fBcurs_inch\fR(3X)
+mvwinchnstr/\fBcurs_inchstr\fR(3X)
+mvwinchstr/\fBcurs_inchstr\fR(3X)
+mvwinnstr/\fBcurs_instr\fR(3X)
+mvwinsch/\fBcurs_insch\fR(3X)
+mvwinsnstr/\fBcurs_insstr\fR(3X)
+mvwinsstr/\fBcurs_insstr\fR(3X)
+mvwinstr/\fBcurs_instr\fR(3X)
+mvwprintw/\fBcurs_printw\fR(3X)
+mvwscanw/\fBcurs_scanw\fR(3X)
+mvwvline/\fBcurs_border\fR(3X)
+napms/\fBcurs_kernel\fR(3X)
+newpad/\fBcurs_pad\fR(3X)
+newterm/\fBcurs_initscr\fR(3X)
+newwin/\fBcurs_window\fR(3X)
+nl/\fBcurs_outopts\fR(3X)
+nocbreak/\fBcurs_inopts\fR(3X)
+nodelay/\fBcurs_inopts\fR(3X)
+noecho/\fBcurs_inopts\fR(3X)
+nonl/\fBcurs_outopts\fR(3X)
+noqiflush/\fBcurs_inopts\fR(3X)
+noraw/\fBcurs_inopts\fR(3X)
+notimeout/\fBcurs_inopts\fR(3X)
+overlay/\fBcurs_overlay\fR(3X)
+overwrite/\fBcurs_overlay\fR(3X)
+pair_content/\fBcurs_color\fR(3X)
+pechochar/\fBcurs_pad\fR(3X)
+pnoutrefresh/\fBcurs_pad\fR(3X)
+prefresh/\fBcurs_pad\fR(3X)
+printw/\fBcurs_printw\fR(3X)
+putp/\fBcurs_terminfo\fR(3X)
+putwin/\fBcurs_util\fR(3X)
+qiflush/\fBcurs_inopts\fR(3X)
+raw/\fBcurs_inopts\fR(3X)
+redrawwin/\fBcurs_refresh\fR(3X)
+refresh/\fBcurs_refresh\fR(3X)
+reset_prog_mode/\fBcurs_kernel\fR(3X)
+reset_shell_mode/\fBcurs_kernel\fR(3X)
+resetty/\fBcurs_kernel\fR(3X)
+resizeterm/\fBresizeterm\fR(3X)*
+restartterm/\fBcurs_terminfo\fR(3X)
+ripoffline/\fBcurs_kernel\fR(3X)
+savetty/\fBcurs_kernel\fR(3X)
+scanw/\fBcurs_scanw\fR(3X)
+scr_dump/\fBcurs_scr_dump\fR(3X)
+scr_init/\fBcurs_scr_dump\fR(3X)
+scr_restore/\fBcurs_scr_dump\fR(3X)
+scr_set/\fBcurs_scr_dump\fR(3X)
+scrl/\fBcurs_scroll\fR(3X)
+scroll/\fBcurs_scroll\fR(3X)
+scrollok/\fBcurs_outopts\fR(3X)
+set_curterm/\fBcurs_terminfo\fR(3X)
+set_term/\fBcurs_initscr\fR(3X)
+setscrreg/\fBcurs_outopts\fR(3X)
+setsyx/\fBcurs_kernel\fR(3X)
+setterm/\fBcurs_terminfo\fR(3X)
+setupterm/\fBcurs_terminfo\fR(3X)
+slk_attr/\fBcurs_slk\fR(3X)*
+slk_attr_off/\fBcurs_slk\fR(3X)
+slk_attr_on/\fBcurs_slk\fR(3X)
+slk_attr_set/\fBcurs_slk\fR(3X)
+slk_attroff/\fBcurs_slk\fR(3X)
+slk_attron/\fBcurs_slk\fR(3X)
+slk_attrset/\fBcurs_slk\fR(3X)
+slk_clear/\fBcurs_slk\fR(3X)
+slk_color/\fBcurs_slk\fR(3X)
+slk_init/\fBcurs_slk\fR(3X)
+slk_label/\fBcurs_slk\fR(3X)
+slk_noutrefresh/\fBcurs_slk\fR(3X)
+slk_refresh/\fBcurs_slk\fR(3X)
+slk_restore/\fBcurs_slk\fR(3X)
+slk_set/\fBcurs_slk\fR(3X)
+slk_touch/\fBcurs_slk\fR(3X)
+standend/\fBcurs_attr\fR(3X)
+standout/\fBcurs_attr\fR(3X)
+start_color/\fBcurs_color\fR(3X)
+subpad/\fBcurs_pad\fR(3X)
+subwin/\fBcurs_window\fR(3X)
+syncok/\fBcurs_window\fR(3X)
+termattrs/\fBcurs_termattrs\fR(3X)
+termname/\fBcurs_termattrs\fR(3X)
+tgetent/\fBcurs_termcap\fR(3X)
+tgetflag/\fBcurs_termcap\fR(3X)
+tgetnum/\fBcurs_termcap\fR(3X)
+tgetstr/\fBcurs_termcap\fR(3X)
+tgoto/\fBcurs_termcap\fR(3X)
+tigetflag/\fBcurs_terminfo\fR(3X)
+tigetnum/\fBcurs_terminfo\fR(3X)
+tigetstr/\fBcurs_terminfo\fR(3X)
+timeout/\fBcurs_inopts\fR(3X)
+touchline/\fBcurs_touch\fR(3X)
+touchwin/\fBcurs_touch\fR(3X)
+tparm/\fBcurs_terminfo\fR(3X)
+tputs/\fBcurs_termcap\fR(3X)
+tputs/\fBcurs_terminfo\fR(3X)
+typeahead/\fBcurs_inopts\fR(3X)
+unctrl/\fBcurs_util\fR(3X)
+ungetch/\fBcurs_getch\fR(3X)
+ungetmouse/\fBcurs_mouse\fR(3X)*
+untouchwin/\fBcurs_touch\fR(3X)
+use_default_colors/\fBdft_fgbg\fR(3X)*
+use_env/\fBcurs_util\fR(3X)
+vidattr/\fBcurs_terminfo\fR(3X)
+vidputs/\fBcurs_terminfo\fR(3X)
+vline/\fBcurs_border\fR(3X)
+vw_printw/\fBcurs_printw\fR(3X)
+vw_scanw/\fBcurs_scanw\fR(3X)
+vwprintw/\fBcurs_printw\fR(3X)
+vwscanw/\fBcurs_scanw\fR(3X)
+waddch/\fBcurs_addch\fR(3X)
+waddchnstr/\fBcurs_addchstr\fR(3X)
+waddchstr/\fBcurs_addchstr\fR(3X)
+waddnstr/\fBcurs_addstr\fR(3X)
+waddstr/\fBcurs_addstr\fR(3X)
+wattr_get/\fBcurs_attr\fR(3X)
+wattr_off/\fBcurs_attr\fR(3X)
+wattr_on/\fBcurs_attr\fR(3X)
+wattr_set/\fBcurs_attr\fR(3X)
+wattroff/\fBcurs_attr\fR(3X)
+wattron/\fBcurs_attr\fR(3X)
+wattrset/\fBcurs_attr\fR(3X)
+wbkgd/\fBcurs_bkgd\fR(3X)
+wbkgdset/\fBcurs_bkgd\fR(3X)
+wborder/\fBcurs_border\fR(3X)
+wchgat/\fBcurs_attr\fR(3X)
+wclear/\fBcurs_clear\fR(3X)
+wclrtobot/\fBcurs_clear\fR(3X)
+wclrtoeol/\fBcurs_clear\fR(3X)
+wcolor_set/\fBcurs_attr\fR(3X)
+wcursyncup/\fBcurs_window\fR(3X)
+wdelch/\fBcurs_delch\fR(3X)
+wdeleteln/\fBcurs_deleteln\fR(3X)
+wechochar/\fBcurs_addch\fR(3X)
+wenclose/\fBcurs_mouse\fR(3X)*
+werase/\fBcurs_clear\fR(3X)
+wgetch/\fBcurs_getch\fR(3X)
+wgetnstr/\fBcurs_getstr\fR(3X)
+wgetstr/\fBcurs_getstr\fR(3X)
+whline/\fBcurs_border\fR(3X)
+winch/\fBcurs_inch\fR(3X)
+winchnstr/\fBcurs_inchstr\fR(3X)
+winchstr/\fBcurs_inchstr\fR(3X)
+winnstr/\fBcurs_instr\fR(3X)
+winsch/\fBcurs_insch\fR(3X)
+winsdelln/\fBcurs_deleteln\fR(3X)
+winsertln/\fBcurs_deleteln\fR(3X)
+winsnstr/\fBcurs_insstr\fR(3X)
+winsstr/\fBcurs_insstr\fR(3X)
+winstr/\fBcurs_instr\fR(3X)
+wmouse_trafo/\fBcurs_mouse\fR(3X)
+wmove/\fBcurs_move\fR(3X)
+wnoutrefresh/\fBcurs_refresh\fR(3X)
+wprintw/\fBcurs_printw\fR(3X)
+wredrawln/\fBcurs_refresh\fR(3X)
+wrefresh/\fBcurs_refresh\fR(3X)
+wresize/\fBwresize\fR(3X)*
+wscanw/\fBcurs_scanw\fR(3X)
+wscrl/\fBcurs_scroll\fR(3X)
+wsetscrreg/\fBcurs_outopts\fR(3X)
+wstandend/\fBcurs_attr\fR(3X)
+wstandout/\fBcurs_attr\fR(3X)
+wsyncdown/\fBcurs_window\fR(3X)
+wsyncup/\fBcurs_window\fR(3X)
+wtimeout/\fBcurs_inopts\fR(3X)
+wtouchln/\fBcurs_touch\fR(3X)
+wvline/\fBcurs_border\fR(3X)
+.TE
+.SH RETURN VALUE
+Routines that return an integer return \fBERR\fR upon failure and an
+integer value other than \fBERR\fR upon successful completion, unless
+otherwise noted in the routine descriptions.
+
+All macros return the value of the \fBw\fR version, except \fBsetscrreg\fR,
+\fBwsetscrreg\fR, \fBgetyx\fR, \fBgetbegyx\fR, \fBgetmaxyx\fR. The return
+values of \fBsetscrreg\fR, \fBwsetscrreg\fR, \fBgetyx\fR, \fBgetbegyx\fR, and
+\fBgetmaxyx\fR are undefined (\fIi\fR.\fIe\fR., these should not be used as the
+right-hand side of assignment statements).
+
+Routines that return pointers return \fBNULL\fR on error.
+.SH ENVIRONMENT
+The following environment symbols are useful for customizing the
+runtime behavior of the \fBncurses\fR library. The most important
+ones have been already discussed in detail.
+.TP 5
+BAUDRATE
+The debugging library checks this environment symbol when the application
+has redirected output to a file.
+The symbol's numeric value is used for the baudrate.
+If no value is found \fBncurses\fR uses 9600.
+This allows testers to construct repeatable test-cases
+that take into account costs that depend on baudrate.
+.TP 5
+CC
+When set, change occurrences of the command_character
+(i.e., the \fBcmdch\fP capability)
+of the loaded terminfo entries to the value of this symbol.
+Very few terminfo entries provide this feature.
+.TP 5
+COLUMNS
+Specify the width of the screen in characters.
+Applications running in a windowing environment usually are able to
+obtain the width of the window in which they are executing.
+If neither the $COLUMNS value nor the terminal's screen size is available,
+\fBncurses\fR uses the size which may be specified in the terminfo database
+(i.e., the \fBcols\fR capability).
+
+It is important that your application use a correct size for the screen.
+However, this is not always possible because your application may be
+running on a host which does not honor NAWS (Negotiations About Window
+Size), or because you are temporarily running as another user.
+
+Either COLUMNS or LINES symbols may be specified independently.
+This is mainly useful to circumvent legacy misfeatures of terminal descriptions,
+e.g., xterm which commonly specifies a 65 line screen.
+For best results, \fBlines\fR and \fBcols\fR should not be specified in
+a terminal description for terminals which are run as emulations.
+
+Use the \fBuse_env\fR function to disable this feature.
+.TP 5
+DISPLAY
+Provides a hint to ncurses that your terminal is an X terminal
+emulator such as \fBxterm\fP.
+If the \fBkmous\fP capability is set to the beginning of the xterm
+mouse response, e.g., "kmous=\E[M", then ncurses will send the terminal
+xterm's mouse initialization strings and allow appropriate replies.
+See the \fBcurs_mouse\fR(3X) manual page for programming information.
+.TP 5
+ESCDELAY
+Specifies the total time, in milliseconds, for which ncurses will
+await a character sequence, e.g., a function key.
+The default value, 1000 milliseconds, is enough for most uses.
+However, it is made a variable to accommodate unusual applications.
+
+The most common instance where you may wish to change this value
+is to work with slow hosts, e.g., running on a network.
+If the host cannot read characters rapidly enough, it will have the same
+effect as if the terminal did not send characters rapidly enough.
+The library will still see a timeout.
+
+Note that xterm mouse events are built up from character sequences
+received from the xterm.
+If your application makes heavy use of multiple-clicking, you may
+wish to lengthen this default value because the timeout applies
+to the composed multi-click event as well as the individual clicks.
+.TP 5
+HOME
+Tells \fBncurses\fR where your home directory is.
+That is where it may read and write auxiliary terminal descriptions:
+
+$HOME/.termcap
+.br
+$HOME/.terminfo
+.TP 5
+LINES
+Like COLUMNS, specify the height of the screen in characters.
+See COLUMNS for a detailed description.
+.TP 5
+MOUSE_BUTTONS_123
+This applies only to the OS/2 EMX port.
+It specifies the order of buttons on the mouse.
+OS/2 numbers a 3-button mouse inconsistently from other
+platforms:
+
+1 = left
+.br
+2 = right
+.br
+3 = middle.
+
+This symbol lets you customize the mouse.
+The symbol must be three numeric digits 1-3 in any order, e.g., 123 or 321.
+If it is not specified, \fBncurses\fR uses 132.
+.TP 5
+NCURSES_NO_PADDING
+Most of the terminal descriptions in the terminfo database are written
+for real "hardware" terminals.
+Many people use terminal emulators
+which run in a windowing environment and use curses-based applications.
+Terminal emulators can duplicate
+all of the important aspects of a hardware terminal, but they do not
+have the same limitations.
+The chief limitation of a hardware terminal from the standpoint
+of your application is the management of dataflow, i.e., timing.
+Unless a hardware terminal is interfaced into a terminal concentrator
+(which does flow control),
+it (or your application) must manage dataflow, preventing overruns.
+The cheapest solution (no hardware cost)
+is for your program to do this by pausing after
+operations that the terminal does slowly, such as clearing the display.
+
+As a result, many terminal descriptions (including the vt100)
+have delay times embedded. You may wish to use these descriptions,
+but not want to pay the performance penalty.
+
+Set the NCURSES_NO_PADDING symbol to disable all but mandatory
+padding. Mandatory padding is used as a part of special control
+sequences such as \fIflash\fR.
+.TP 5
+NCURSES_NO_SETBUF
+Normally \fBncurses\fR enables buffered output during terminal initialization.
+This is done (as in SVr4 curses) for performance reasons.
+For testing purposes, both of \fBncurses\fR and certain applications,
+this feature is made optional. Setting the NCURSES_NO_SETBUF variable
+disables output buffering, leaving the output in the original (usually
+line buffered) mode.
+.TP 5
+NCURSES_TRACE
+During initialization, the \fBncurses\fR debugging library
+checks the NCURSES_TRACE symbol.
+If it is defined, to a numeric value, \fBncurses\fR calls the \fBtrace\fR
+function, using that value as the argument.
+
+The argument values, which are defined in \fBcurses.h\fR, provide several
+types of information.
+When running with traces enabled, your application will write the
+file \fBtrace\fR to the current directory.
+.TP 5
+TERM
+Denotes your terminal type.
+Each terminal type is distinct, though many are similar.
+.TP 5
+TERMCAP
+If the \fBncurses\fR library has been configured with \fItermcap\fR
+support, \fBncurses\fR will check for a terminal's description in
+termcap form if it is not available in the terminfo database.
+
+The TERMCAP symbol contains either a terminal description (with
+newlines stripped out),
+or a file name telling where the information denoted by the TERM symbol exists.
+In either case, setting it directs \fBncurses\fR to ignore
+the usual place for this information, e.g., /etc/termcap.
+.TP 5
+TERMINFO
+Overrides the directory in which \fBncurses\fR searches for your terminal
+description.
+This is the simplest, but not the only way to change the list of directories.
+The complete list of directories in order follows:
+.RS
+.TP 3
+-
+the last directory to which \fBncurses\fR wrote, if any, is searched first.
+.TP 3
+-
+the directory specified by the TERMINFO symbol
+.TP 3
+-
+$HOME/.terminfo
+.TP 3
+-
+directories listed in the TERMINFO_DIRS symbol
+.TP 3
+-
+one or more directories whose names are configured and compiled into the
+ncurses library, e.g.,
+@DATADIR@/terminfo
+.RE
+.TP 5
+TERMINFO_DIRS
+Specifies a list of directories to search for terminal descriptions.
+The list is separated by colons (i.e., ":").
+All of the terminal descriptions are in terminfo form, which makes
+a subdirectory named for the first letter of the terminal names therein.
+.TP 5
+TERMPATH
+If TERMCAP does not hold a file name then \fBncurses\fR checks
+the TERMPATH symbol.
+This is a list of filenames separated by colons (i.e., ":").
+If the TERMPATH symbol is not set, \fBncurses\fR looks in the files
+/etc/termcap, /usr/share/misc/termcap and $HOME/.termcap, in that order.
+.SH FILES
+.TP 5
+@DATADIR@/tabset
+directory containing initialization files for the terminal capability database
+@DATADIR@/terminfo
+terminal capability database
+.SH SEE ALSO
+\fBterminfo\fR(\*n) and 3X pages whose names begin "curs_" for detailed routine
+descriptions.
+.SH EXTENSIONS
+The \fBncurses\fR library can be compiled with an option (\fB-DUSE_GETCAP\fR)
+that falls back to the old-style /etc/termcap file if the terminal setup code
+cannot find a terminfo entry corresponding to \fBTERM\fR. Use of this feature
+is not recommended, as it essentially includes an entire termcap compiler in
+the \fBncurses\fR startup code, at significant cost in core and startup cycles.
+
+The \fBncurses\fR library includes facilities for capturing mouse events on
+certain terminals (including xterm). See the \fBcurs_mouse\fR(3X)
+manual page for details.
+
+The \fBncurses\fR library includes facilities for responding to window
+resizing events, e.g., when running in an xterm.
+See the \fBresizeterm\fR(3X)
+and \fBwresize\fR(3X) manual pages for details.
+In addition, the library may be configured with a SIGWINCH handler.
+
+The \fBncurses\fR library extends the fixed set of function key capabilities
+of terminals by allowing the application designer to define additional
+key sequences at runtime.
+See the \fBdefine_key\fR(3X)
+and \fBkeyok\fR(3X) manual pages for details.
+
+The \fBncurses\fR library can exploit the capabilities of terminals which
+implement the ISO-6429 SGR 39 and SGR 49 controls, which allow an application
+to reset the terminal to its original foreground and background colors.
+From the users' perspective, the application is able to draw colored
+text on a background whose color is set independently, providing better
+control over color contrasts.
+See the \fBuse_default_colors\fR(3X) manual page for details.
+
+The \fBncurses\fR library includes a function for directing application output
+to a printer attached to the terminal device. See the \fBcurs_print\fR(3X)
+manual page for details.
+.SH PORTABILITY
+The \fBncurses\fR library is intended to be BASE-level conformant with the XSI
+Curses standard. Certain portions of the EXTENDED XSI Curses functionality
+(including color support) are supported. The following EXTENDED XSI Curses
+calls in support of wide (multibyte) characters are not yet implemented:
+\fBadd_wch\fP,
+\fBadd_wchnstr\fP,
+\fBadd_wchstr\fP,
+\fBaddnwstr\fP,
+\fBaddwstr\fP,
+\fBbkgrnd\fP,
+\fBbkgrndset\fP,
+\fBborder_set\fP,
+\fBbox_set\fP,
+\fBecho_wchar\fP,
+\fBerasewchar\fP,
+\fBget_wch\fP,
+\fBget_wstr\fP,
+\fBgetbkgrnd\fP,
+\fBgetcchar\fP,
+\fBgetn_wstr\fP,
+\fBgetwchtype\fP,
+\fBhline_set\fP,
+\fBin_wch\fP,
+\fBin_wchnstr\fP,
+\fBin_wchstr\fP,
+\fBinnwstr\fP,
+\fBins_nwstr\fP,
+\fBins_wch\fP,
+\fBins_wstr\fP,
+\fBinwchnstr\fP,
+\fBinwchstr\fP,
+\fBinwstr\fP,
+\fBkey_name\fP,
+\fBkillwchar\fP,
+\fBmvadd_wch\fP,
+\fBmvadd_wchnstr\fP,
+\fBmvadd_wchstr\fP,
+\fBmvaddnwstr\fP,
+\fBmvaddwstr\fP,
+\fBmvget_wch\fP,
+\fBmvget_wstr\fP,
+\fBmvgetn_wstr\fP,
+\fBmvhline_set\fP,
+\fBmvin_wch\fP,
+\fBmvinnwstr\fP,
+\fBmvins_nwstr\fP,
+\fBmvins_wch\fP,
+\fBmvins_wstr\fP,
+\fBmvinwchnstr\fP,
+\fBmvinwchstr\fP,
+\fBmvinwchstr\fP,
+\fBmvinwstr\fP,
+\fBmvvline_set\fP,
+\fBmvwadd_wch\fP,
+\fBmvwadd_wchnstr\fP,
+\fBmvwadd_wchstr\fP,
+\fBmvwaddnwstr\fP,
+\fBmvwaddwstr\fP,
+\fBmvwget_ch\fP,
+\fBmvwget_wch\fP,
+\fBmvwget_wstr\fP,
+\fBmvwgetn_wstr\fP,
+\fBmvwhline_set\fP,
+\fBmvwin_wch\fP,
+\fBmvwin_wchnstr\fP,
+\fBmvwin_wchstr\fP,
+\fBmvwinnwstr\fP,
+\fBmvwins_nwstr\fP,
+\fBmvwins_wch\fP,
+\fBmvwins_wstr\fP,
+\fBmvwinwchnstr\fP.
+\fBmvwinwstr\fP,
+\fBmvwvline_set\fP,
+\fBpecho_wchar\fP,
+\fBsetcchar\fP,
+\fBslk_wset\fP,
+\fBterm_attrs\fP,
+\fBunget_wch\fP,
+\fBvhline_set\fP,
+\fBvid_attr\fP,
+\fBvid_puts\fP,
+\fBvline_set\fP,
+\fBwadd_wch\fP,
+\fBwadd_wchnstr\fP,
+\fBwadd_wchstr\fP,
+\fBwaddnwstr\fP,
+\fBwaddwstr\fP,
+\fBwaddwstr\fP,
+\fBwbkgrnd\fP,
+\fBwbkgrndset\fP,
+\fBwbkgrndset\fP,
+\fBwborder_set\fP,
+\fBwecho_wchar\fP,
+\fBwecho_wchar\fP,
+\fBwget_wch\fP,
+\fBwget_wstr\fP,
+\fBwgetbkgrnd\fP,
+\fBwgetn_wstr\fP,
+\fBwhline_set\fP,
+\fBwin_wch\fP,
+\fBwin_wchnstr\fP,
+\fBwin_wchstr\fP,
+\fBwinnwstr\fP,
+\fBwins_nwstr\fP,
+\fBwins_wch\fP,
+\fBwins_wstr\fP,
+\fBwinwchnstr\fP,
+\fBwinwchstr\fP,
+\fBwinwstr\fP,
+\fBwunctrl\fP,
+\fBwvline_set\fP,
+.PP
+A small number of local differences (that is, individual differences between
+the XSI Curses and \fBncurses\fR calls) are described in \fBPORTABILITY\fR
+sections of the library man pages.
+.PP
+The routine \fBhas_key\fR is not part of XPG4, nor is it present in SVr4. See
+the \fBcurs_getch\fR(3X) manual page for details.
+.PP
+The routine \fBslk_attr\fR is not part of XPG4, nor is it present in SVr4. See
+the \fBcurs_slk\fR(3X) manual page for details.
+.PP
+The routines \fBgetmouse\fR, \fBmousemask\fR, \fBungetmouse\fR,
+\fBmouseinterval\fR, and \fBwenclose\fR relating to mouse interfacing are not
+part of XPG4, nor are they present in SVr4. See the \fBcurs_mouse\fR(3X)
+manual page for details.
+.PP
+The routine \fBmcprint\fR was not present in any previous curses
+implementation. See the \fBcurs_print\fR(3X) manual page for details.
+.PP
+The routine \fBwresize\fR is not part of XPG4, nor is it present in SVr4. See
+the \fBwresize\fR(3X) manual page for details.
+.PP
+In historic curses versions, delays embedded in the capabilities \fBcr\fR,
+\fBind\fR, \fBcub1\fR, \fBff\fR and \fBtab\fR activated corresponding delay
+bits in the UNIX tty driver. In this implementation, all padding is done by
+NUL sends. This method is slightly more expensive, but narrows the interface
+to the UNIX kernel significantly and increases the package's portability
+correspondingly.
+.PP
+In the XSI standard and SVr4 manual pages, many entry points have prototype
+arguments of the for \fBchar *const\fR (or \fBcchar_t *const\fR, or
+\fBwchar_t *const\fR, or \fBvoid *const\fR). Depending on one's interpretation of the
+ANSI C standard (see section 3.5.4.1), these declarations are either (a)
+meaningless, or (b) meaningless and illegal. The declaration
+\fBconst char *x\fR is a modifiable pointer to unmodifiable data, but
+\fBchar *const x\fR' is
+an unmodifiable pointer to modifiable data. Given that C passes arguments by
+value, \fB<type> *const\fR as a formal type is at best dubious. Some compilers
+choke on the prototypes. Therefore, in this implementation, they have been
+changed to \fBconst <type> *\fR globally.
+.SH NOTES
+The header file \fB<curses.h>\fR automatically includes the header files
+\fB<stdio.h>\fR and \fB<unctrl.h>\fR.
+
+If standard output from a \fBncurses\fR program is re-directed to something
+which is not a tty, screen updates will be directed to standard error. This
+was an undocumented feature of AT&T System V Release 3 curses.
+.SH AUTHORS
+Zeyd M. Ben-Halim, Eric S. Raymond, Thomas E. Dickey.
+Based on pcurses by Pavel Curtis.
+.\"#
+.\"# The following sets edit modes for GNU EMACS
+.\"# Local Variables:
+.\"# mode:nroff
+.\"# fill-column:79
+.\"# End: