summaryrefslogtreecommitdiffstats
path: root/lib/libncurses/ncurses.3
diff options
context:
space:
mode:
authorache <ache@FreeBSD.org>1994-10-07 08:58:58 +0000
committerache <ache@FreeBSD.org>1994-10-07 08:58:58 +0000
commita80c0624fbd8bd1c784b0b5b7a0fd20b09d317b9 (patch)
tree4a94ca97fb2fc2fdc1fcdd522a66e39c6e763138 /lib/libncurses/ncurses.3
downloadFreeBSD-src-a80c0624fbd8bd1c784b0b5b7a0fd20b09d317b9.zip
FreeBSD-src-a80c0624fbd8bd1c784b0b5b7a0fd20b09d317b9.tar.gz
Moved from ports with several enhancements
Diffstat (limited to 'lib/libncurses/ncurses.3')
-rw-r--r--lib/libncurses/ncurses.3433
1 files changed, 433 insertions, 0 deletions
diff --git a/lib/libncurses/ncurses.3 b/lib/libncurses/ncurses.3
new file mode 100644
index 0000000..e8d74bb
--- /dev/null
+++ b/lib/libncurses/ncurses.3
@@ -0,0 +1,433 @@
+.TH ncurses 3X ""
+.ds n 5
+.ds d /usr/lib/terminfo
+.SH NAME
+\fBncurses\fR - CRT screen handling and optimization package
+.SH SYNOPSIS
+\fB#include <ncurses.h>\fR
+.br
+.SH DESCRIPTION
+The \fBncurses\fR library routines give the user a terminal-independent
+method of updating character screens with reasonable optimization.
+
+The \fBncurses\fR routines emulate the \fBcurses\fR(3X) library of System V
+Release 4 UNIX, but is freely redistributable in source form. Differences from
+the SVr4 curses are described in the BUGS sections of individual man pages.
+There are only few of these, and as ncurses matures they will become fewer
+still.
+
+A program using these routines must be linked with the \fB-lncurses\fR option,
+or (if they have been generated) with one of the debugging libraries
+\fB-ldcurses\fR or \fB-lpcurses\fR. The dcurses library generates trace logs
+that describe curses actions; the pcurses library supports profiling.
+
+The \fBncurses\fR package supports: overall screen, window and pad
+manipulation; output to windows and pads; reading terminal input; control over
+terminal and \fBncurses\fR input and output options; environment query
+routines; color manipulation; use of soft label keys; terminfo capabilities;
+and access to low-level \fBncurses\fR 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(); intrflush(stdscr,FALSE); keypad(stdscr,TRUE);\fR
+
+Before a \fBncurses\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.
+[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.
+
+Windows are referred to by variables declared as \fBWINDOW *\fR.
+These data structures are manipulated with routines described on 3X
+pages (whose names begin "curs_"). 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 \fBncurses\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 curs_pad(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, \fBncurses\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<ncurses.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.
+
+If the environment variable \fBTERMINFO\fR is defined, any program using
+\fBncurses\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, \fBncurses\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<ncurses.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 \fBncurses\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 \fBncurses\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<ncurses.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 \fBncurses\fR routine and the name of
+the manual page on which it is described.
+
+.nf
+\fBncurses\fR Routine Name Manual Page Name
+___________________________________________
+addch curs_addch(3X)
+addchnstr curs_addchstr(3X)
+addchstr curs_addchstr(3X)
+addnstr curs_addstr(3X)
+addstr curs_addstr(3X)
+attroff curs_attr(3X)
+attron curs_attr(3X)
+attrset curs_attr(3X)
+baudrate curs_termattrs(3X)
+beep curs_beep(3X)
+bkgd curs_bkgd(3X)
+bkgdset curs_bkgd(3X)
+border curs_border(3X)
+box curs_border(3X)
+can_change_color curs_color(3X)
+cbreak curs_inopts(3X)
+clear curs_clear(3X)
+clearok curs_outopts(3X)
+clrtobot curs_clear(3X)
+clrtoeol curs_clear(3X)
+color_content curs_color(3X)
+copywin curs_overlay(3X)
+curs_set curs_kernel(3X)
+def_prog_mode curs_kernel(3X)
+def_shell_mode curs_kernel(3X)
+del_curterm curs_terminfo(\*n)
+delay_output curs_util(3X)
+delch curs_delch(3X)
+deleteln curs_deleteln(3X)
+delscreen curs_initscr(3X)
+delwin curs_window(3X)
+derwin curs_window(3X)
+doupdate curs_refresh(3X)
+dupwin curs_window(3X)
+echo curs_inopts(3X)
+echochar curs_addch(3X)
+endwin curs_initscr(3X)
+erase curs_clear(3X)
+erasechar curs_termattrs(3X)
+filter curs_util(3X)
+flash curs_beep(3X)
+flushinp curs_util(3X)
+getbegyx curs_getyx(3X)
+getch curs_getch(3X)
+getmaxyx curs_getyx(3X)
+getparyx curs_getyx(3X)
+getstr curs_getstr(3X)
+getsyx curs_kernel(3X)
+getwin curs_util(3X)
+getyx curs_getyx(3X)
+halfdelay curs_inopts(3X)
+has_colors curs_color(3X)
+has_ic curs_termattrs(3X)
+has_il curs_termattrs(3X)
+hline curs_border(3X)
+idcok curs_outopts(3X)
+idlok curs_outopts(3X)
+immedok curs_outopts(3X)
+inch curs_inch(3X)
+inchnstr curs_inchstr(3X)
+inchstr curs_inchstr(3X)
+init_color curs_color(3X)
+init_pair curs_color(3X)
+initscr curs_initscr(3X)
+innstr curs_instr(3X)
+insch curs_insch(3X)
+insdelln curs_deleteln(3X)
+insertln curs_deleteln(3X)
+insnstr curs_insstr(3X)
+insstr curs_insstr(3X)
+instr curs_instr(3X)
+intrflush curs_inopts(3X)
+is_linetouched curs_touch(3X)
+is_wintouched curs_touch(3X)
+isendwin curs_initscr(3X)
+keyname curs_util(3X)
+keypad curs_inopts(3X)
+killchar curs_termattrs(3X)
+leaveok curs_outopts(3X)
+longname curs_termattrs(3X)
+meta curs_inopts(3X)
+move curs_move(3X)
+mvaddch curs_addch(3X)
+mvaddchnstr curs_addchstr(3X)
+mvaddchstr curs_addchstr(3X)
+mvaddnstr curs_addstr(3X)
+mvaddstr curs_addstr(3X)
+mvcur curs_terminfo(\*n)
+mvdelch curs_delch(3X)
+mvderwin curs_window(3X)
+mvgetch curs_getch(3X)
+mvgetstr curs_getstr(3X)
+mvinch curs_inch(3X)
+mvinchnstr curs_inchstr(3X)
+mvinchstr curs_inchstr(3X)
+mvinnstr curs_instr(3X)
+mvinsch curs_insch(3X)
+mvinsnstr curs_insstr(3X)
+mvinsstr curs_insstr(3X)
+mvinstr curs_instr(3X)
+mvprintw curs_printw(3X)
+mvscanw curs_scanw(3X)
+mvwaddch curs_addch(3X)
+mvwaddchnstr curs_addchstr(3X)
+mvwaddchstr curs_addchstr(3X)
+mvwaddnstr curs_addstr(3X)
+mvwaddstr curs_addstr(3X)
+mvwdelch curs_delch(3X)
+mvwgetch curs_getch(3X)
+mvwgetstr curs_getstr(3X)
+mvwin curs_window(3X)
+mvwinch curs_inch(3X)
+mvwinchnstr curs_inchstr(3X)
+mvwinchstr curs_inchstr(3X)
+mvwinnstr curs_instr(3X)
+mvwinsch curs_insch(3X)
+mvwinsnstr curs_insstr(3X)
+mvwinsstr curs_insstr(3X)
+mvwinstr curs_instr(3X)
+mvwprintw curs_printw(3X)
+mvwscanw curs_scanw(3X)
+napms curs_kernel(3X)
+newpad curs_pad(3X)
+newterm curs_initscr(3X)
+newwin curs_window(3X)
+nl curs_outopts(3X)
+nocbreak curs_inopts(3X)
+nodelay curs_inopts(3X)
+noecho curs_inopts(3X)
+nonl curs_outopts(3X)
+noqiflush curs_inopts(3X)
+noraw curs_inopts(3X)
+notimeout curs_inopts(3X)
+overlay curs_overlay(3X)
+overwrite curs_overlay(3X)
+pair_content curs_color(3X)
+pechochar curs_pad(3X)
+pnoutrefresh curs_pad(3X)
+prefresh curs_pad(3X)
+printw curs_printw(3X)
+putp curs_terminfo(\*n)
+putwin curs_util(3X)
+qiflush curs_inopts(3X)
+raw curs_inopts(3X)
+redrawwin curs_refresh(3X)
+refresh curs_refresh(3X)
+reset_prog_mode curs_kernel(3X)
+reset_shell_mode curs_kernel(3X)
+resetty curs_kernel(3X)
+restartterm curs_terminfo(\*n)
+ripoffline curs_kernel(3X)
+savetty curs_kernel(3X)
+scanw curs_scanw(3X)
+scr_dump curs_scr_dump(3X)
+scr_init curs_scr_dump(3X)
+scr_restore curs_scr_dump(3X)
+scr_set curs_scr_dump(3X)
+scrl curs_scroll(3X)
+scroll curs_scroll(3X)
+scrollok curs_outopts(3X)
+set_curterm curs_terminfo(\*n)
+set_term curs_initscr(3X)
+setscrreg curs_outopts(3X)
+setsyx curs_kernel(3X)
+setterm curs_terminfo(\*n)
+setupterm curs_terminfo(\*n)
+slk_attroff curs_slk(3X)
+slk_attron curs_slk(3X)
+slk_attrset curs_slk(3X)
+slk_clear curs_slk(3X)
+slk_init curs_slk(3X)
+slk_label curs_slk(3X)
+slk_noutrefresh curs_slk(3X)
+slk_refresh curs_slk(3X)
+slk_restore curs_slk(3X)
+slk_set curs_slk(3X)
+slk_touch curs_slk(3X)
+standend curs_attr(3X)
+standout curs_attr(3X)
+start_color curs_color(3X)
+subpad curs_pad(3X)
+subwin curs_window(3X)
+syncok curs_window(3X)
+termattrs curs_termattrs(3X)
+termname curs_termattrs(3X)
+tgetent curs_termcap(3X)
+tgetflag curs_termcap(3X)
+tgetnum curs_termcap(3X)
+tgetstr curs_termcap(3X)
+tgoto curs_termcap(3X)
+tigetflag curs_terminfo(\*n)
+tigetnum curs_terminfo(\*n)
+tigetstr curs_terminfo(\*n)
+timeout curs_inopts(3X)
+touchline curs_touch(3X)
+touchwin curs_touch(3X)
+tparm curs_terminfo(\*n)
+tputs curs_termcap(3X)
+tputs curs_terminfo(\*n)
+typeahead curs_inopts(3X)
+unctrl curs_util(3X)
+ungetch curs_getch(3X)
+untouchwin curs_touch(3X)
+use_env curs_util(3X)
+vidattr curs_terminfo(\*n)
+vidputs curs_terminfo(\*n)
+vline curs_border(3X)
+vwprintw curs_printw(3X)
+vwscanw curs_scanw(3X)
+waddch curs_addch(3X)
+waddchnstr curs_addchstr(3X)
+waddchstr curs_addchstr(3X)
+waddnstr curs_addstr(3X)
+waddstr curs_addstr(3X)
+wattroff curs_attr(3X)
+wattron curs_attr(3X)
+wattrset curs_attr(3X)
+wbkgd curs_bkgd(3X)
+wbkgdset curs_bkgd(3X)
+wborder curs_border(3X)
+wclear curs_clear(3X)
+wclrtobot curs_clear(3X)
+wclrtoeol curs_clear(3X)
+wcursyncup curs_window(3X)
+wdelch curs_delch(3X)
+wdeleteln curs_deleteln(3X)
+wechochar curs_addch(3X)
+werase curs_clear(3X)
+wgetch curs_getch(3X)
+wgetnstr curs_getstr(3X)
+wgetstr curs_getstr(3X)
+whline curs_border(3X)
+winch curs_inch(3X)
+winchnstr curs_inchstr(3X)
+winchstr curs_inchstr(3X)
+winnstr curs_instr(3X)
+winsch curs_insch(3X)
+winsdelln curs_deleteln(3X)
+winsertln curs_deleteln(3X)
+winsnstr curs_insstr(3X)
+winsstr curs_insstr(3X)
+winstr curs_instr(3X)
+wmove curs_move(3X)
+wnoutrefresh curs_refresh(3X)
+wprintw curs_printw(3X)
+wredrawln curs_refresh(3X)
+wrefresh curs_refresh(3X)
+wscanw curs_scanw(3X)
+wscrl curs_scroll(3X)
+wsetscrreg curs_outopts(3X)
+wstandend curs_attr(3X)
+wstandout curs_attr(3X)
+wsyncdown curs_window(3X)
+wsyncup curs_window(3X)
+wtimeout curs_inopts(3X)
+wtouchln curs_touch(3X)
+wvline curs_border(3X)
+.fi
+.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 SEE ALSO
+\fBterminfo\fR(\*n) and 3X pages whose names begin "curs_" for detailed routine
+descriptions.
+.SH NOTES
+The header file \fB<ncurses.h>\fR automatically includes the header files
+\fB<stdio.h>\fR and \fB<unctrl.h>\fR.
+.\"#
+.\"# The following sets edit modes for GNU EMACS
+.\"# Local Variables:
+.\"# mode:nroff
+.\"# fill-column:79
+.\"# End:
OpenPOWER on IntegriCloud