diff options
author | rafan <rafan@FreeBSD.org> | 2008-11-09 09:06:04 +0000 |
---|---|---|
committer | rafan <rafan@FreeBSD.org> | 2008-11-09 09:06:04 +0000 |
commit | 7977961487d57da48a9073f8eb75e61cc48782fe (patch) | |
tree | a1816f5667d2280b970ca44e407bac8cc4496c0a /contrib/ncurses/man/ncurses.3x | |
parent | d036c70cacd0de6225b1da6ff34a218f4afe4962 (diff) | |
download | FreeBSD-src-7977961487d57da48a9073f8eb75e61cc48782fe.zip FreeBSD-src-7977961487d57da48a9073f8eb75e61cc48782fe.tar.gz |
- Flatten the vendor area
Diffstat (limited to 'contrib/ncurses/man/ncurses.3x')
-rw-r--r-- | contrib/ncurses/man/ncurses.3x | 1141 |
1 files changed, 0 insertions, 1141 deletions
diff --git a/contrib/ncurses/man/ncurses.3x b/contrib/ncurses/man/ncurses.3x deleted file mode 100644 index ac3d049..0000000 --- a/contrib/ncurses/man/ncurses.3x +++ /dev/null @@ -1,1141 +0,0 @@ -'\" t -.\"*************************************************************************** -.\" Copyright (c) 1998-2006,2007 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.89 2007/09/01 18:57:29 tom Exp $ -.hy 0 -.TH ncurses 3X "" -.ds n 5 -.ds d @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. -This describes \fBncurses\fR -version @NCURSES_MAJOR@.@NCURSES_MINOR@ (patch @NCURSES_PATCH@). -.PP -The \fBncurses\fR library emulates the \fBcurses\fR(3X) library of -System V Release 4 UNIX, -and XPG4 (X/Open Portability Guide) curses (also known as XSI curses). -XSI stands for X/Open System Interfaces Extension. -The \fBncurses\fR library is freely redistributable in source form. -Differences from the SVr4 -curses are summarized under the \fBEXTENSIONS\fP and \fBPORTABILITY\fP sections below and -described in detail in the respective \fBEXTENSIONS\fP, \fBPORTABILITY\fP and \fBBUGS\fP sections -of individual man pages. -.PP -The \fBncurses\fR library also provides many useful extensions, -i.e., features which cannot be implemented by a simple add-on library -but which require access to the internals of the library. -.PP -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. -See also the section on \fBALTERNATE CONFIGURATIONS\fP. -.PP -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. -.PP -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: -.sp - \fBinitscr(); cbreak(); noecho();\fR -.sp -Most programs would additionally use the sequence: -.sp - \fBnonl();\fR - \fBintrflush(stdscr, FALSE);\fR - \fBkeypad(stdscr, TRUE);\fR -.sp -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.] -.PP -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. -.PP -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. -.PP -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 those, 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. -.PP -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. -.PP -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. -.PP -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. -.PP -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 affect a program running in an AT&T 630 layer, -for example, where the size of a -screen is changeable (see \fBENVIRONMENT\fR). -.PP -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 -.sp - \fB\*d/a/att4424\fR. -.sp -(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 -.sp - \fB$HOME/myterms/a/att4424\fR, -.sp -and if that fails, it then checks -.sp - \fB\*d/a/att4424\fR. -.sp -This is useful for developing experimental definitions or when write -permission in \fB\*d\fR is not available. -.PP -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. -.PP -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. -.PP -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). -.PP -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. -.PP -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. -.PP -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. -Most of the data types used in the library routines, -such as \fBWINDOW\fR, \fBSCREEN\fR, \fBbool\fR, and \fBchtype\fR -are defined in \fB<curses.h>\fR. -Types used for the terminfo routines such as -\fBTERMINAL\fR are defined in \fB<term.h>\fR. -.PP -This manual page describes functions which may appear in any configuration -of the library. -There are two common configurations of the library: -.RS -.TP 5 -ncurses -the "normal" library, which handles 8-bit characters. -The normal (8-bit) library stores characters combined with attributes -in \fBchtype\fP data. -.IP -Attributes alone (no corresponding character) may be stored in \fBchtype\fP -or the equivalent \fBattr_t\fP data. -In either case, the data is stored in something like an integer. -.IP -Each cell (row and column) in a \fBWINDOW\fP is stored as a \fBchtype\fP. -.TP 5 -ncursesw -the so-called "wide" library, which handles multibyte characters -(See the section on \fBALTERNATE CONFIGURATIONS\fP). -The "wide" library includes all of the calls from the "normal" library. -It adds about one third more calls using data types which store -multibyte characters: -.RS -.TP 5 -.B cchar_t -corresponds to \fBchtype\fP. -However it is a structure, because more data is stored than can fit into -an integer. -The characters are large enough to require a full integer value - and there -may be more than one character per cell. -The video attributes and color are stored in separate fields of the structure. -.IP -Each cell (row and column) in a \fBWINDOW\fP is stored as a \fBcchar_t\fP. -.TP 5 -.B wchar_t -stores a "wide" character. -Like \fBchtype\fP, this may be an integer. -.TP 5 -.B wint_t -stores a \fBwchar_t\fP or \fBWEOF\fP - not the same, though both may have -the same size. -.RE -.IP -The "wide" library provides new functions which are analogous to -functions in the "normal" library. -There is a naming convention which relates many of the normal/wide variants: -a "_w" is inserted into the name. -For example, \fBwaddch\fP becomes \fBwadd_wch\fP. -.RE -.PP -.\" -.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. -.PP -.TS -center tab(/); -l l -l l . -\fBcurses\fR Routine Name/Manual Page Name -= -COLOR_PAIR/\fBcurs_color\fR(3X) -PAIR_NUMBER/\fBcurs_attr\fR(3X) -_nc_tracebits/\fBcurs_trace\fR(3X)* -_traceattr/\fBcurs_trace\fR(3X)* -_traceattr2/\fBcurs_trace\fR(3X)* -_tracechar/\fBcurs_trace\fR(3X)* -_tracechtype/\fBcurs_trace\fR(3X)* -_tracechtype2/\fBcurs_trace\fR(3X)* -_tracedump/\fBcurs_trace\fR(3X)* -_tracef/\fBcurs_trace\fR(3X)* -_tracemouse/\fBcurs_trace\fR(3X)* -add_wch/\fBcurs_add_wch\fR(3X) -add_wchnstr/\fBcurs_add_wchstr\fR(3X) -add_wchstr/\fBcurs_add_wchstr\fR(3X) -addch/\fBcurs_addch\fR(3X) -addchnstr/\fBcurs_addchstr\fR(3X) -addchstr/\fBcurs_addchstr\fR(3X) -addnstr/\fBcurs_addstr\fR(3X) -addnwstr/\fBcurs_addwstr\fR(3X) -addstr/\fBcurs_addstr\fR(3X) -addwstr/\fBcurs_addwstr\fR(3X) -assume_default_colors/\fBdefault_colors\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) -bkgrnd/\fBcurs_bkgrnd\fR(3X) -bkgrndset/\fBcurs_bkgrnd\fR(3X) -border/\fBcurs_border\fR(3X) -border_set/\fBcurs_border_set\fR(3X) -box/\fBcurs_border\fR(3X) -box_set/\fBcurs_border_set\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) -curses_version/\fBcurs_extend\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) -echo_wchar/\fBcurs_add_wch\fR(3X) -echochar/\fBcurs_addch\fR(3X) -endwin/\fBcurs_initscr\fR(3X) -erase/\fBcurs_clear\fR(3X) -erasechar/\fBcurs_termattrs\fR(3X) -erasewchar/\fBcurs_termattrs\fR(3X) -filter/\fBcurs_util\fR(3X) -flash/\fBcurs_beep\fR(3X) -flushinp/\fBcurs_util\fR(3X) -get_wch/\fBcurs_get_wch\fR(3X) -get_wstr/\fBcurs_get_wstr\fR(3X) -getattrs/\fBcurs_attr\fR(3X) -getbegx/\fBcurs_legacy\fR(3X)* -getbegy/\fBcurs_legacy\fR(3X)* -getbegyx/\fBcurs_getyx\fR(3X) -getbkgd/\fBcurs_bkgd\fR(3X) -getbkgrnd/\fBcurs_bkgrnd\fR(3X) -getcchar/\fBcurs_getcchar\fR(3X) -getch/\fBcurs_getch\fR(3X) -getcurx/\fBcurs_legacy\fR(3X)* -getcury/\fBcurs_legacy\fR(3X)* -getmaxx/\fBcurs_legacy\fR(3X)* -getmaxy/\fBcurs_legacy\fR(3X)* -getmaxyx/\fBcurs_getyx\fR(3X) -getmouse/\fBcurs_mouse\fR(3X)* -getn_wstr/\fBcurs_get_wstr\fR(3X) -getnstr/\fBcurs_getstr\fR(3X) -getparx/\fBcurs_legacy\fR(3X)* -getpary/\fBcurs_legacy\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) -hline_set/\fBcurs_border_set\fR(3X) -idcok/\fBcurs_outopts\fR(3X) -idlok/\fBcurs_outopts\fR(3X) -immedok/\fBcurs_outopts\fR(3X) -in_wch/\fBcurs_in_wch\fR(3X) -in_wchnstr/\fBcurs_in_wchstr\fR(3X) -in_wchstr/\fBcurs_in_wchstr\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) -innwstr/\fBcurs_inwstr\fR(3X) -ins_nwstr/\fBcurs_ins_wstr\fR(3X) -ins_wch/\fBcurs_ins_wch\fR(3X) -ins_wstr/\fBcurs_ins_wstr\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) -inwstr/\fBcurs_inwstr\fR(3X) -is_cleared/\fBcurs_opaque\fR(3X)* -is_idcok/\fBcurs_opaque\fR(3X)* -is_idlok/\fBcurs_opaque\fR(3X)* -is_immedok/\fBcurs_opaque\fR(3X)* -is_keypad/\fBcurs_opaque\fR(3X)* -is_leaveok/\fBcurs_opaque\fR(3X)* -is_linetouched/\fBcurs_touch\fR(3X) -is_nodelay/\fBcurs_opaque\fR(3X)* -is_notimeout/\fBcurs_opaque\fR(3X)* -is_scrollok/\fBcurs_opaque\fR(3X)* -is_syncok/\fBcurs_opaque\fR(3X)* -is_term_resized/\fBresizeterm\fR(3X)* -is_wintouched/\fBcurs_touch\fR(3X) -isendwin/\fBcurs_initscr\fR(3X) -key_defined/\fBkey_defined\fR(3X)* -key_name/\fBcurs_util\fR(3X) -keybound/\fBkeybound\fR(3X)* -keyname/\fBcurs_util\fR(3X) -keyok/\fBkeyok\fR(3X)* -keypad/\fBcurs_inopts\fR(3X) -killchar/\fBcurs_termattrs\fR(3X) -killwchar/\fBcurs_termattrs\fR(3X) -leaveok/\fBcurs_outopts\fR(3X) -longname/\fBcurs_termattrs\fR(3X) -mcprint/\fBcurs_print\fR(3X)* -meta/\fBcurs_inopts\fR(3X) -mouse_trafo/\fBcurs_mouse\fR(3X)* -mouseinterval/\fBcurs_mouse\fR(3X)* -mousemask/\fBcurs_mouse\fR(3X)* -move/\fBcurs_move\fR(3X) -mvadd_wch/\fBcurs_add_wch\fR(3X) -mvadd_wchnstr/\fBcurs_add_wchstr\fR(3X) -mvadd_wchstr/\fBcurs_add_wchstr\fR(3X) -mvaddch/\fBcurs_addch\fR(3X) -mvaddchnstr/\fBcurs_addchstr\fR(3X) -mvaddchstr/\fBcurs_addchstr\fR(3X) -mvaddnstr/\fBcurs_addstr\fR(3X) -mvaddnwstr/\fBcurs_addwstr\fR(3X) -mvaddstr/\fBcurs_addstr\fR(3X) -mvaddwstr/\fBcurs_addwstr\fR(3X) -mvchgat/\fBcurs_attr\fR(3X) -mvcur/\fBcurs_terminfo\fR(3X) -mvdelch/\fBcurs_delch\fR(3X) -mvderwin/\fBcurs_window\fR(3X) -mvget_wch/\fBcurs_get_wch\fR(3X) -mvget_wstr/\fBcurs_get_wstr\fR(3X) -mvgetch/\fBcurs_getch\fR(3X) -mvgetn_wstr/\fBcurs_get_wstr\fR(3X) -mvgetnstr/\fBcurs_getstr\fR(3X) -mvgetstr/\fBcurs_getstr\fR(3X) -mvhline/\fBcurs_border\fR(3X) -mvhline_set/\fBcurs_border_set\fR(3X) -mvin_wch/\fBcurs_in_wch\fR(3X) -mvin_wchnstr/\fBcurs_in_wchstr\fR(3X) -mvin_wchstr/\fBcurs_in_wchstr\fR(3X) -mvinch/\fBcurs_inch\fR(3X) -mvinchnstr/\fBcurs_inchstr\fR(3X) -mvinchstr/\fBcurs_inchstr\fR(3X) -mvinnstr/\fBcurs_instr\fR(3X) -mvinnwstr/\fBcurs_inwstr\fR(3X) -mvins_nwstr/\fBcurs_ins_wstr\fR(3X) -mvins_wch/\fBcurs_ins_wch\fR(3X) -mvins_wstr/\fBcurs_ins_wstr\fR(3X) -mvinsch/\fBcurs_insch\fR(3X) -mvinsnstr/\fBcurs_insstr\fR(3X) -mvinsstr/\fBcurs_insstr\fR(3X) -mvinstr/\fBcurs_instr\fR(3X) -mvinwstr/\fBcurs_inwstr\fR(3X) -mvprintw/\fBcurs_printw\fR(3X) -mvscanw/\fBcurs_scanw\fR(3X) -mvvline/\fBcurs_border\fR(3X) -mvvline_set/\fBcurs_border_set\fR(3X) -mvwadd_wch/\fBcurs_add_wch\fR(3X) -mvwadd_wchnstr/\fBcurs_add_wchstr\fR(3X) -mvwadd_wchstr/\fBcurs_add_wchstr\fR(3X) -mvwaddch/\fBcurs_addch\fR(3X) -mvwaddchnstr/\fBcurs_addchstr\fR(3X) -mvwaddchstr/\fBcurs_addchstr\fR(3X) -mvwaddnstr/\fBcurs_addstr\fR(3X) -mvwaddnwstr/\fBcurs_addwstr\fR(3X) -mvwaddstr/\fBcurs_addstr\fR(3X) -mvwaddwstr/\fBcurs_addwstr\fR(3X) -mvwchgat/\fBcurs_attr\fR(3X) -mvwdelch/\fBcurs_delch\fR(3X) -mvwget_wch/\fBcurs_get_wch\fR(3X) -mvwget_wstr/\fBcurs_get_wstr\fR(3X) -mvwgetch/\fBcurs_getch\fR(3X) -mvwgetn_wstr/\fBcurs_get_wstr\fR(3X) -mvwgetnstr/\fBcurs_getstr\fR(3X) -mvwgetstr/\fBcurs_getstr\fR(3X) -mvwhline/\fBcurs_border\fR(3X) -mvwhline_set/\fBcurs_border_set\fR(3X) -mvwin/\fBcurs_window\fR(3X) -mvwin_wch/\fBcurs_in_wch\fR(3X) -mvwin_wchnstr/\fBcurs_in_wchstr\fR(3X) -mvwin_wchstr/\fBcurs_in_wchstr\fR(3X) -mvwinch/\fBcurs_inch\fR(3X) -mvwinchnstr/\fBcurs_inchstr\fR(3X) -mvwinchstr/\fBcurs_inchstr\fR(3X) -mvwinnstr/\fBcurs_instr\fR(3X) -mvwinnwstr/\fBcurs_inwstr\fR(3X) -mvwins_nwstr/\fBcurs_ins_wstr\fR(3X) -mvwins_wch/\fBcurs_ins_wch\fR(3X) -mvwins_wstr/\fBcurs_ins_wstr\fR(3X) -mvwinsch/\fBcurs_insch\fR(3X) -mvwinsnstr/\fBcurs_insstr\fR(3X) -mvwinsstr/\fBcurs_insstr\fR(3X) -mvwinstr/\fBcurs_instr\fR(3X) -mvwinwstr/\fBcurs_inwstr\fR(3X) -mvwprintw/\fBcurs_printw\fR(3X) -mvwscanw/\fBcurs_scanw\fR(3X) -mvwvline/\fBcurs_border\fR(3X) -mvwvline_set/\fBcurs_border_set\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) -nofilter/\fBcurs_util\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) -setcchar/\fBcurs_getcchar\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) -term_attrs/\fBcurs_termattrs\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) -trace/\fBcurs_trace\fR(3X)* -typeahead/\fBcurs_inopts\fR(3X) -unctrl/\fBcurs_util\fR(3X) -unget_wch/\fBcurs_get_wch\fR(3X) -ungetch/\fBcurs_getch\fR(3X) -ungetmouse/\fBcurs_mouse\fR(3X)* -untouchwin/\fBcurs_touch\fR(3X) -use_default_colors/\fBdefault_colors\fR(3X)* -use_env/\fBcurs_util\fR(3X) -use_extended_names/\fBcurs_extend\fR(3X)* -use_legacy_coding/\fBlegacy_coding\fR(3X)* -vid_attr/\fBcurs_terminfo\fR(3X) -vid_puts/\fBcurs_terminfo\fR(3X) -vidattr/\fBcurs_terminfo\fR(3X) -vidputs/\fBcurs_terminfo\fR(3X) -vline/\fBcurs_border\fR(3X) -vline_set/\fBcurs_border_set\fR(3X) -vw_printw/\fBcurs_printw\fR(3X) -vw_scanw/\fBcurs_scanw\fR(3X) -vwprintw/\fBcurs_printw\fR(3X) -vwscanw/\fBcurs_scanw\fR(3X) -wadd_wch/\fBcurs_add_wch\fR(3X) -wadd_wchnstr/\fBcurs_add_wchstr\fR(3X) -wadd_wchstr/\fBcurs_add_wchstr\fR(3X) -waddch/\fBcurs_addch\fR(3X) -waddchnstr/\fBcurs_addchstr\fR(3X) -waddchstr/\fBcurs_addchstr\fR(3X) -waddnstr/\fBcurs_addstr\fR(3X) -waddnwstr/\fBcurs_addwstr\fR(3X) -waddstr/\fBcurs_addstr\fR(3X) -waddwstr/\fBcurs_addwstr\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) -wbkgrnd/\fBcurs_bkgrnd\fR(3X) -wbkgrndset/\fBcurs_bkgrnd\fR(3X) -wborder/\fBcurs_border\fR(3X) -wborder_set/\fBcurs_border_set\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) -wecho_wchar/\fBcurs_add_wch\fR(3X) -wechochar/\fBcurs_addch\fR(3X) -wenclose/\fBcurs_mouse\fR(3X)* -werase/\fBcurs_clear\fR(3X) -wget_wch/\fBcurs_get_wch\fR(3X) -wget_wstr/\fBcurs_get_wstr\fR(3X) -wgetbkgrnd/\fBcurs_bkgrnd\fR(3X) -wgetch/\fBcurs_getch\fR(3X) -wgetn_wstr/\fBcurs_get_wstr\fR(3X) -wgetnstr/\fBcurs_getstr\fR(3X) -wgetstr/\fBcurs_getstr\fR(3X) -whline/\fBcurs_border\fR(3X) -whline_set/\fBcurs_border_set\fR(3X) -win_wch/\fBcurs_in_wch\fR(3X) -win_wchnstr/\fBcurs_in_wchstr\fR(3X) -win_wchstr/\fBcurs_in_wchstr\fR(3X) -winch/\fBcurs_inch\fR(3X) -winchnstr/\fBcurs_inchstr\fR(3X) -winchstr/\fBcurs_inchstr\fR(3X) -winnstr/\fBcurs_instr\fR(3X) -winnwstr/\fBcurs_inwstr\fR(3X) -wins_nwstr/\fBcurs_ins_wstr\fR(3X) -wins_wch/\fBcurs_ins_wch\fR(3X) -wins_wstr/\fBcurs_ins_wstr\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) -winwstr/\fBcurs_inwstr\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) -wunctrl/\fBcurs_util\fR(3X) -wvline/\fBcurs_border\fR(3X) -wvline_set/\fBcurs_border_set\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. -.PP -All macros return the value of the \fBw\fR version, except \fBsetscrreg\fR, -\fBwsetscrreg\fR, \fBgetyx\fR, \fBgetbegyx\fR, and \fBgetmaxyx\fR. -The return values of \fBsetscrreg\fR, \fBwsetscrreg\fR, \fBgetyx\fR, \fBgetbegyx\fR, and -\fBgetmaxyx\fR are undefined (i.e., these should not be used as the -right-hand side of assignment statements). -.PP -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 \fBCOLUMNS\fP 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). -.IP -It is important that your application use a correct size for the screen. -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. -However, setting \fBCOLUMNS\fP and/or \fBLINES\fP overrides the library's -use of the screen size obtained from the operating system. -.IP -Either \fBCOLUMNS\fP or \fBLINES\fP 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. -.IP -Use the \fBuse_env\fR function to disable all use of external environment -(including system calls) to determine the screen size. -.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. -.IP -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. -.IP -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. -.IP -In addition to the environment variable, -this implementation provides a global variable with the same name. -Portable applications should not rely upon the presence of ESCDELAY -in either form, -but setting the environment variable rather than the global variable -does not create problems when compiling an application. -.TP 5 -HOME -Tells \fBncurses\fR where your home directory is. -That is where it may read and write auxiliary terminal descriptions: -.IP -$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: -.sp -1 = left -.br -2 = right -.br -3 = middle. -.sp -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_ASSUMED_COLORS -Override the compiled-in assumption that the -terminal's default colors are white-on-black -(see \fBdefault_colors\fR(3X)). -You may set the foreground and background color values with this environment -variable by proving a 2-element list: foreground,background. -For example, to tell ncurses to not assume anything -about the colors, set this to "-1,-1". -To make it green-on-black, set it to "2,0". -Any positive value from zero to the terminfo \fBmax_colors\fR value is allowed. -.TP 5 -NCURSES_NO_HARD_TABS -\fBNcurses\fP may use tabs as part of the cursor movement optimization. -In some cases, -your terminal driver may not handle these properly. -Set this environment variable to disable the feature. -You can also adjust your \fBstty\fP settings to avoid the problem. -.TP 5 -NCURSES_NO_MAGIC_COOKIES -Some terminals use a magic-cookie feature which requires special handling -to make highlighting and other video attributes display properly. -You can suppress the highlighting entirely for these terminals by -setting this environment variable. -.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. -.IP -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. -.IP -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_NO_UTF8_ACS -During initialization, the \fBncurses\fR library -checks for special cases where VT100 line-drawing (and the corresponding -alternate character set capabilities) described in the terminfo are known -to be missing. -Specifically, when running in a UTF-8 locale, -the Linux console emulator and the GNU screen program ignore these. -Ncurses checks the TERM environment variable for these. -For other special cases, you should set this environment variable. -Doing this tells ncurses to use Unicode values which correspond to -the VT100 line-drawing glyphs. -That works for the special cases cited, -and is likely to work for terminal emulators. -.IP -When setting this variable, you should set it to a nonzero value. -Setting it to zero (or to a nonnumber) -disables the special check for Linux and screen. -.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. -.IP -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. -.IP -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., -@TERMINFO@ -.RE -.TP 5 -TERMINFO_DIRS -Specifies a list of directories to search for terminal descriptions. -The list is separated by colons (i.e., ":") on Unix, semicolons on OS/2 EMX. -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 spaces or colons (i.e., ":") on Unix, semicolons on OS/2 EMX. -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. -.PP -The library may be configured to disregard the following variables when the -current user is the superuser (root), or if the application uses setuid or -setgid permissions: -$TERMINFO, $TERMINFO_DIRS, $TERMPATH, as well as $HOME. -.SH ALTERNATE CONFIGURATIONS -Several different configurations are possible, -depending on the configure script options used when building \fBncurses\fP. -There are a few main options whose effects are visible to the applications -developer using \fBncurses\fP: -.TP 5 ---disable-overwrite -The standard include for \fBncurses\fP is as noted in \fBSYNOPSIS\fP: -.RS -.sp -\fB#include <curses.h>\fR -.RE -.IP -This option is used to avoid filename conflicts when \fBncurses\fP -is not the main implementation of curses of the computer. -If \fBncurses\fP is installed disabling overwrite, it puts its headers in -a subdirectory, e.g., -.RS -.sp -\fB#include <ncurses/curses.h>\fR -.RE -.IP -It also omits a symbolic link which would allow you to use \fB-lcurses\fP -to build executables. -.TP 5 ---enable-widec -The configure script renames the library and (if the \fB--disable-overwrite\fP -option is used) puts the header files in a different subdirectory. -All of the library names have a "w" appended to them, -i.e., instead of -.RS -.sp -\fB-lncurses\fR -.RE -.IP -you link with -.RS -.sp -\fB-lncursesw\fR -.RE -.IP -You must also define \fB_XOPEN_SOURCE_EXTENDED\fP when compiling for the -wide-character library to use the extended (wide-character) functions. -The \fBcurses.h\fP file which is installed for the wide-character -library is designed to be compatible with the normal library's header. -Only the size of the \fBWINDOW\fP structure differs, and very few -applications require more than a pointer to \fBWINDOW\fPs. -If the headers are installed allowing overwrite, -the wide-character library's headers should be installed last, -to allow applications to be built using either library -from the same set of headers. -.TP 5 ---with-shared -.TP ---with-normal -.TP ---with-debug -.TP ---with-profile -The shared and normal (static) library names differ by their suffixes, -e.g., \fBlibncurses.so\fP and \fBlibncurses.a\fP. -The debug and profiling libraries add a "_g" and a "_p" to the root -names respectively, -e.g., \fBlibncurses_g.a\fP and \fBlibncurses_p.a\fP. -.TP 5 ---with-trace -The \fBtrace\fP function normally resides in the debug library, -but it is sometimes useful to configure this in the shared library. -Configure scripts should check for the function's existence rather -than assuming it is always in the debug library. -.SH FILES -.TP 5 -@DATADIR@/tabset -directory containing initialization files for the terminal capability database -@TERMINFO@ -terminal capability database -.SH SEE ALSO -\fBterminfo\fR(\*n) and related 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. -.PP -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. -.PP -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. -.PP -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) -\fBkey_defined\fR(3X), -and \fBkeyok\fR(3X) manual pages for details. -.PP -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 \fBdefault_colors\fR(3X) manual page for details. -.PP -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 XSI -Curses. -The EXTENDED XSI Curses functionality -(including color support) is supported. -.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 -This implementation also contains several extensions: -.RS 5 -.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 -The WINDOW structure's internal details can be hidden from application -programs. -See \fBcurs_opaque\fR(3X) for the discussion of \fBis_scrollok\fR, etc. -.RE -.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 sending NUL bytes. -This method is slightly more expensive, but narrows the interface -to the UNIX kernel significantly and increases the package's portability -correspondingly. -.SH NOTES -The header file \fB<curses.h>\fR automatically includes the header files -\fB<stdio.h>\fR and \fB<unctrl.h>\fR. -.PP -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: |