diff options
Diffstat (limited to 'doc/html/man/ncurses.3x.html')
-rw-r--r-- | doc/html/man/ncurses.3x.html | 1267 |
1 files changed, 1267 insertions, 0 deletions
diff --git a/doc/html/man/ncurses.3x.html b/doc/html/man/ncurses.3x.html new file mode 100644 index 000000000000..576b1a15ec45 --- /dev/null +++ b/doc/html/man/ncurses.3x.html @@ -0,0 +1,1267 @@ +<!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML 2.0//EN"> +<!-- + * t + **************************************************************************** + * Copyright (c) 1998-2010,2011 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.103 2011/02/05 23:21:29 tom Exp @ +--> +<HTML> +<HEAD> +<TITLE>ncurses 3x</TITLE> +<link rev=made href="mailto:bug-ncurses@gnu.org"> +<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1"> +</HEAD> +<BODY> +<H1>ncurses 3x</H1> +<HR> +<PRE> +<!-- Manpage converted by man2html 3.0.1 --> +<STRONG><A HREF="ncurses.3x.html">ncurses(3x)</A></STRONG> <STRONG><A HREF="ncurses.3x.html">ncurses(3x)</A></STRONG> + + + + +</PRE> +<H2>NAME</H2><PRE> + <STRONG>ncurses</STRONG> - CRT screen handling and optimization package + + +</PRE> +<H2>SYNOPSIS</H2><PRE> + <STRONG>#include</STRONG> <STRONG><curses.h></STRONG> + + +</PRE> +<H2>DESCRIPTION</H2><PRE> + The <STRONG>ncurses</STRONG> library routines give the user a terminal- + independent method of updating character screens with rea- + sonable optimization. This implementation is ``new + curses'' (ncurses) and is the approved replacement for + 4.4BSD classic curses, which has been discontinued. This + describes <STRONG>ncurses</STRONG> version 5.9 (patch 20110404). + + The <STRONG>ncurses</STRONG> library emulates the curses 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 <STRONG>ncurses</STRONG> library is + freely redistributable in source form. Differences from + the SVr4 curses are summarized under the <STRONG>EXTENSIONS</STRONG> and + <STRONG>PORTABILITY</STRONG> sections below and described in detail in the + respective <STRONG>EXTENSIONS</STRONG>, <STRONG>PORTABILITY</STRONG> and <STRONG>BUGS</STRONG> sections of + individual man pages. + + The <STRONG>ncurses</STRONG> 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. + + A program using these routines must be linked with the + <STRONG>-lncurses</STRONG> option, or (if it has been generated) with the + debugging library <STRONG>-lncurses_g</STRONG>. (Your system integrator + may also have installed these libraries under the names + <STRONG>-lcurses</STRONG> and <STRONG>-lcurses_g</STRONG>.) The ncurses_g library generates + trace logs (in a file called 'trace' in the current direc- + tory) that describe curses actions. See also the section + on <STRONG>ALTERNATE</STRONG> <STRONG>CONFIGURATIONS</STRONG>. + + The <STRONG>ncurses</STRONG> package supports: overall screen, window and + pad manipulation; output to windows and pads; reading ter- + minal input; control over terminal and <STRONG>curses</STRONG> input and + output options; environment query routines; color manipu- + lation; use of soft label keys; terminfo capabilities; and + access to low-level terminal-manipulation routines. + + The library uses the locale which the calling program has + initialized. That is normally done with <STRONG>setlocale</STRONG>: + + <STRONG>setlocale(LC_ALL,</STRONG> <STRONG>"");</STRONG> + + If the locale is not initialized, the library assumes that + characters are printable as in ISO-8859-1, to work with + certain legacy programs. You should initialize the locale + and not rely on specific details of the library when the + locale has not been setup. + + The function <STRONG>initscr</STRONG> or <STRONG>newterm</STRONG> must be called to initial- + ize the library before any of the other routines that deal + with windows and screens are used. The routine <STRONG>endwin</STRONG> + must be called before exiting. + + To get character-at-a-time input without echoing (most + interactive, screen oriented programs want this), the fol- + lowing sequence should be used: + + <STRONG>initscr();</STRONG> <STRONG>cbreak();</STRONG> <STRONG>noecho();</STRONG> + + Most programs would additionally use the sequence: + + <STRONG>nonl();</STRONG> + <STRONG>intrflush(stdscr,</STRONG> <STRONG>FALSE);</STRONG> + <STRONG>keypad(stdscr,</STRONG> <STRONG>TRUE);</STRONG> + + Before a <STRONG>curses</STRONG> program is run, the tab stops of the ter- + minal should be set and its initialization strings, if + defined, must be output. This can be done by executing + the <STRONG>tput</STRONG> <STRONG>init</STRONG> command after the shell environment variable + <STRONG>TERM</STRONG> has been exported. <STRONG>tset(1)</STRONG> is usually responsible + for doing this. [See <STRONG><A HREF="terminfo.5.html">terminfo(5)</A></STRONG> for further details.] + + The <STRONG>ncurses</STRONG> library permits manipulation of data struc- + tures, called <EM>windows</EM>, which can be thought of as two- + dimensional arrays of characters representing all or part + of a CRT screen. A default window called <STRONG>stdscr</STRONG>, which is + the size of the terminal screen, is supplied. Others may + be created with <STRONG>newwin</STRONG>. + + Note that <STRONG>curses</STRONG> does not handle overlapping windows, + that's done by the <STRONG><A HREF="panel.3x.html">panel(3x)</A></STRONG> library. This means that you + can either use <STRONG>stdscr</STRONG> or divide the screen into tiled win- + dows and not using <STRONG>stdscr</STRONG> at all. Mixing the two will + result in unpredictable, and undesired, effects. + + Windows are referred to by variables declared as <STRONG>WINDOW</STRONG> <STRONG>*</STRONG>. + These data structures are manipulated with routines + described here and elsewhere in the <STRONG>ncurses</STRONG> manual pages. + Among those, the most basic routines are <STRONG>move</STRONG> and <STRONG>addch</STRONG>. + More general versions of these routines are included with + names beginning with <STRONG>w</STRONG>, allowing the user to specify a + window. The routines not beginning with <STRONG>w</STRONG> affect <STRONG>stdscr</STRONG>. + + After using routines to manipulate a window, <STRONG>refresh</STRONG> is + called, telling <STRONG>curses</STRONG> to make the user's CRT screen look + like <STRONG>stdscr</STRONG>. The characters in a window are actually of + type <STRONG>chtype</STRONG>, (character and attribute data) so that other + information about the character may also be stored with + each character. + + Special windows called <EM>pads</EM> may also be manipulated. + These are windows which are not constrained to the size of + the screen and whose contents need not be completely dis- + played. See <STRONG><A HREF="curs_pad.3x.html">curs_pad(3x)</A></STRONG> for more information. + + In addition to drawing characters on the screen, video + attributes and colors may be supported, causing the char- + acters 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, <STRONG>curses</STRONG> 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 + <STRONG><curses.h></STRONG>, such as <STRONG>A_REVERSE</STRONG>, <STRONG>ACS_HLINE</STRONG>, and <STRONG>KEY_LEFT</STRONG>. + + If the environment variables <STRONG>LINES</STRONG> and <STRONG>COLUMNS</STRONG> are set, or + if the program is executing in a window environment, line + and column information in the environment will override + information read by <EM>terminfo</EM>. This would affect a program + running in an AT&T 630 layer, for example, where the size + of a screen is changeable (see <STRONG>ENVIRONMENT</STRONG>). + + If the environment variable <STRONG>TERMINFO</STRONG> is defined, any pro- + gram using <STRONG>curses</STRONG> checks for a local terminal definition + before checking in the standard place. For example, if + <STRONG>TERM</STRONG> is set to <STRONG>att4424</STRONG>, then the compiled terminal defini- + tion is found in + + <STRONG>/usr/share/terminfo/a/att4424</STRONG>. + + (The <STRONG>a</STRONG> is copied from the first letter of <STRONG>att4424</STRONG> to avoid + creation of huge directories.) However, if <STRONG>TERMINFO</STRONG> is + set to <STRONG>$HOME/myterms</STRONG>, <STRONG>curses</STRONG> first checks + + <STRONG>$HOME/myterms/a/att4424</STRONG>, + + and if that fails, it then checks + + <STRONG>/usr/share/terminfo/a/att4424</STRONG>. + + This is useful for developing experimental definitions or + when write permission in <STRONG>/usr/share/terminfo</STRONG> is not avail- + able. + + The integer variables <STRONG>LINES</STRONG> and <STRONG>COLS</STRONG> are defined in + <STRONG><curses.h></STRONG> and will be filled in by <STRONG>initscr</STRONG> with the size + of the screen. The constants <STRONG>TRUE</STRONG> and <STRONG>FALSE</STRONG> have the val- + ues <STRONG>1</STRONG> and <STRONG>0</STRONG>, respectively. + + The <STRONG>curses</STRONG> routines also define the <STRONG>WINDOW</STRONG> <STRONG>*</STRONG> variable + <STRONG>curscr</STRONG> which is used for certain low-level operations like + clearing and redrawing a screen containing garbage. The + <STRONG>curscr</STRONG> can be used in only a few routines. + + <STRONG>Routine</STRONG> <STRONG>and</STRONG> <STRONG>Argument</STRONG> <STRONG>Names</STRONG> + Many <STRONG>curses</STRONG> routines have two or more versions. The rou- + tines prefixed with <STRONG>w</STRONG> require a window argument. The rou- + tines prefixed with <STRONG>p</STRONG> require a pad argument. Those with- + out a prefix generally use <STRONG>stdscr</STRONG>. + + The routines prefixed with <STRONG>mv</STRONG> require a <EM>y</EM> and <EM>x</EM> coordinate + to move to before performing the appropriate action. The + <STRONG>mv</STRONG> routines imply a call to <STRONG>move</STRONG> before the call to the + other routine. The coordinate <EM>y</EM> always refers to the row + (of the window), and <EM>x</EM> always refers to the column. The + upper left-hand corner is always (0,0), not (1,1). + + The routines prefixed with <STRONG>mvw</STRONG> take both a window argument + and <EM>x</EM> and <EM>y</EM> coordinates. The window argument is always + specified before the coordinates. + + In each case, <EM>win</EM> is the window affected, and <EM>pad</EM> is the + pad affected; <EM>win</EM> and <EM>pad</EM> are always pointers to type <STRONG>WIN-</STRONG> + <STRONG>DOW</STRONG>. + + Option setting routines require a Boolean flag <EM>bf</EM> with the + value <STRONG>TRUE</STRONG> or <STRONG>FALSE</STRONG>; <EM>bf</EM> is always of type <STRONG>bool</STRONG>. Most of + the data types used in the library routines, such as <STRONG>WIN-</STRONG> + <STRONG>DOW</STRONG>, <STRONG>SCREEN</STRONG>, <STRONG>bool</STRONG>, and <STRONG>chtype</STRONG> are defined in <STRONG><curses.h></STRONG>. + Types used for the terminfo routines such as <STRONG>TERMINAL</STRONG> are + defined in <STRONG><term.h></STRONG>. + + This manual page describes functions which may appear in + any configuration of the library. There are two common + configurations of the library: + + ncurses + the "normal" library, which handles 8-bit + characters. The normal (8-bit) library stores + characters combined with attributes in <STRONG>chtype</STRONG> + data. + + Attributes alone (no corresponding character) + may be stored in <STRONG>chtype</STRONG> or the equivalent + <STRONG>attr_t</STRONG> data. In either case, the data is + stored in something like an integer. + + Each cell (row and column) in a <STRONG>WINDOW</STRONG> is + stored as a <STRONG>chtype</STRONG>. + + ncursesw + the so-called "wide" library, which handles + multibyte characters (see the section on + <STRONG>ALTERNATE</STRONG> <STRONG>CONFIGURATIONS</STRONG>). 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 charac- + ters: + + <STRONG>cchar_t</STRONG> + corresponds to <STRONG>chtype</STRONG>. However it is a + structure, because more data is stored + than can fit into an integer. The char- + acters 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 sepa- + rate fields of the structure. + + Each cell (row and column) in a <STRONG>WINDOW</STRONG> is + stored as a <STRONG>cchar_t</STRONG>. + + <STRONG>wchar_t</STRONG> + stores a "wide" character. Like <STRONG>chtype</STRONG>, + this may be an integer. + + <STRONG>wint_t</STRONG> + stores a <STRONG>wchar_t</STRONG> or <STRONG>WEOF</STRONG> - not the same, + though both may have the same size. + + The "wide" library provides new functions + which are analogous to functions in the "nor- + mal" library. There is a naming convention + which relates many of the normal/wide vari- + ants: a "_w" is inserted into the name. For + example, <STRONG>waddch</STRONG> becomes <STRONG>wadd_wch</STRONG>. + + + <STRONG>Routine</STRONG> <STRONG>Name</STRONG> <STRONG>Index</STRONG> + The following table lists each <STRONG>curses</STRONG> 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. + + + <STRONG>curses</STRONG> Routine Name Manual Page Name + -------------------------------------------- + COLOR_PAIR <STRONG><A HREF="curs_color.3x.html">curs_color(3x)</A></STRONG> + PAIR_NUMBER <STRONG><A HREF="curs_attr.3x.html">curs_attr(3x)</A></STRONG> + _nc_free_and_exit <STRONG><A HREF="curs_memleaks.3x.html">curs_memleaks(3x)</A></STRONG>* + + _nc_freeall <STRONG><A HREF="curs_memleaks.3x.html">curs_memleaks(3x)</A></STRONG>* + _nc_tracebits <STRONG><A HREF="curs_trace.3x.html">curs_trace(3x)</A></STRONG>* + _traceattr <STRONG><A HREF="curs_trace.3x.html">curs_trace(3x)</A></STRONG>* + _traceattr2 <STRONG><A HREF="curs_trace.3x.html">curs_trace(3x)</A></STRONG>* + _tracechar <STRONG><A HREF="curs_trace.3x.html">curs_trace(3x)</A></STRONG>* + _tracechtype <STRONG><A HREF="curs_trace.3x.html">curs_trace(3x)</A></STRONG>* + _tracechtype2 <STRONG><A HREF="curs_trace.3x.html">curs_trace(3x)</A></STRONG>* + _tracedump <STRONG><A HREF="curs_trace.3x.html">curs_trace(3x)</A></STRONG>* + _tracef <STRONG><A HREF="curs_trace.3x.html">curs_trace(3x)</A></STRONG>* + _tracemouse <STRONG><A HREF="curs_trace.3x.html">curs_trace(3x)</A></STRONG>* + add_wch <STRONG><A HREF="curs_add_wch.3x.html">curs_add_wch(3x)</A></STRONG> + add_wchnstr <STRONG><A HREF="curs_add_wchstr.3x.html">curs_add_wchstr(3x)</A></STRONG> + add_wchstr <STRONG><A HREF="curs_add_wchstr.3x.html">curs_add_wchstr(3x)</A></STRONG> + addch <STRONG><A HREF="curs_addch.3x.html">curs_addch(3x)</A></STRONG> + addchnstr <STRONG><A HREF="curs_addchstr.3x.html">curs_addchstr(3x)</A></STRONG> + addchstr <STRONG><A HREF="curs_addchstr.3x.html">curs_addchstr(3x)</A></STRONG> + addnstr <STRONG><A HREF="curs_addstr.3x.html">curs_addstr(3x)</A></STRONG> + addnwstr <STRONG><A HREF="curs_addwstr.3x.html">curs_addwstr(3x)</A></STRONG> + addstr <STRONG><A HREF="curs_addstr.3x.html">curs_addstr(3x)</A></STRONG> + addwstr <STRONG><A HREF="curs_addwstr.3x.html">curs_addwstr(3x)</A></STRONG> + assume_default_colors <STRONG><A HREF="default_colors.3x.html">default_colors(3x)</A></STRONG>* + attr_get <STRONG><A HREF="curs_attr.3x.html">curs_attr(3x)</A></STRONG> + attr_off <STRONG><A HREF="curs_attr.3x.html">curs_attr(3x)</A></STRONG> + attr_on <STRONG><A HREF="curs_attr.3x.html">curs_attr(3x)</A></STRONG> + attr_set <STRONG><A HREF="curs_attr.3x.html">curs_attr(3x)</A></STRONG> + attroff <STRONG><A HREF="curs_attr.3x.html">curs_attr(3x)</A></STRONG> + attron <STRONG><A HREF="curs_attr.3x.html">curs_attr(3x)</A></STRONG> + attrset <STRONG><A HREF="curs_attr.3x.html">curs_attr(3x)</A></STRONG> + baudrate <STRONG><A HREF="curs_termattrs.3x.html">curs_termattrs(3x)</A></STRONG> + beep <STRONG><A HREF="curs_beep.3x.html">curs_beep(3x)</A></STRONG> + bkgd <STRONG><A HREF="curs_bkgd.3x.html">curs_bkgd(3x)</A></STRONG> + bkgdset <STRONG><A HREF="curs_bkgd.3x.html">curs_bkgd(3x)</A></STRONG> + bkgrnd <STRONG><A HREF="curs_bkgrnd.3x.html">curs_bkgrnd(3x)</A></STRONG> + bkgrndset <STRONG><A HREF="curs_bkgrnd.3x.html">curs_bkgrnd(3x)</A></STRONG> + border <STRONG><A HREF="curs_border.3x.html">curs_border(3x)</A></STRONG> + border_set <STRONG><A HREF="curs_border_set.3x.html">curs_border_set(3x)</A></STRONG> + box <STRONG><A HREF="curs_border.3x.html">curs_border(3x)</A></STRONG> + box_set <STRONG><A HREF="curs_border_set.3x.html">curs_border_set(3x)</A></STRONG> + can_change_color <STRONG><A HREF="curs_color.3x.html">curs_color(3x)</A></STRONG> + cbreak <STRONG><A HREF="curs_inopts.3x.html">curs_inopts(3x)</A></STRONG> + chgat <STRONG><A HREF="curs_attr.3x.html">curs_attr(3x)</A></STRONG> + clear <STRONG><A HREF="curs_clear.3x.html">curs_clear(3x)</A></STRONG> + clearok <STRONG><A HREF="curs_outopts.3x.html">curs_outopts(3x)</A></STRONG> + clrtobot <STRONG><A HREF="curs_clear.3x.html">curs_clear(3x)</A></STRONG> + clrtoeol <STRONG><A HREF="curs_clear.3x.html">curs_clear(3x)</A></STRONG> + color_content <STRONG><A HREF="curs_color.3x.html">curs_color(3x)</A></STRONG> + color_set <STRONG><A HREF="curs_attr.3x.html">curs_attr(3x)</A></STRONG> + copywin <STRONG><A HREF="curs_overlay.3x.html">curs_overlay(3x)</A></STRONG> + curs_set <STRONG><A HREF="curs_kernel.3x.html">curs_kernel(3x)</A></STRONG> + curses_version <STRONG><A HREF="curs_extend.3x.html">curs_extend(3x)</A></STRONG>* + def_prog_mode <STRONG><A HREF="curs_kernel.3x.html">curs_kernel(3x)</A></STRONG> + def_shell_mode <STRONG><A HREF="curs_kernel.3x.html">curs_kernel(3x)</A></STRONG> + define_key <STRONG><A HREF="define_key.3x.html">define_key(3x)</A></STRONG>* + del_curterm <STRONG><A HREF="curs_terminfo.3x.html">curs_terminfo(3x)</A></STRONG> + delay_output <STRONG><A HREF="curs_util.3x.html">curs_util(3x)</A></STRONG> + delch <STRONG><A HREF="curs_delch.3x.html">curs_delch(3x)</A></STRONG> + deleteln <STRONG><A HREF="curs_deleteln.3x.html">curs_deleteln(3x)</A></STRONG> + delscreen <STRONG><A HREF="curs_initscr.3x.html">curs_initscr(3x)</A></STRONG> + delwin <STRONG><A HREF="curs_window.3x.html">curs_window(3x)</A></STRONG> + derwin <STRONG><A HREF="curs_window.3x.html">curs_window(3x)</A></STRONG> + doupdate <STRONG><A HREF="curs_refresh.3x.html">curs_refresh(3x)</A></STRONG> + dupwin <STRONG><A HREF="curs_window.3x.html">curs_window(3x)</A></STRONG> + echo <STRONG><A HREF="curs_inopts.3x.html">curs_inopts(3x)</A></STRONG> + echo_wchar <STRONG><A HREF="curs_add_wch.3x.html">curs_add_wch(3x)</A></STRONG> + echochar <STRONG><A HREF="curs_addch.3x.html">curs_addch(3x)</A></STRONG> + + endwin <STRONG><A HREF="curs_initscr.3x.html">curs_initscr(3x)</A></STRONG> + erase <STRONG><A HREF="curs_clear.3x.html">curs_clear(3x)</A></STRONG> + erasechar <STRONG><A HREF="curs_termattrs.3x.html">curs_termattrs(3x)</A></STRONG> + erasewchar <STRONG><A HREF="curs_termattrs.3x.html">curs_termattrs(3x)</A></STRONG> + filter <STRONG><A HREF="curs_util.3x.html">curs_util(3x)</A></STRONG> + flash <STRONG><A HREF="curs_beep.3x.html">curs_beep(3x)</A></STRONG> + flushinp <STRONG><A HREF="curs_util.3x.html">curs_util(3x)</A></STRONG> + get_wch <STRONG><A HREF="curs_get_wch.3x.html">curs_get_wch(3x)</A></STRONG> + get_wstr <STRONG><A HREF="curs_get_wstr.3x.html">curs_get_wstr(3x)</A></STRONG> + getattrs <STRONG><A HREF="curs_attr.3x.html">curs_attr(3x)</A></STRONG> + getbegx <STRONG><A HREF="curs_legacy.3x.html">curs_legacy(3x)</A></STRONG>* + getbegy <STRONG><A HREF="curs_legacy.3x.html">curs_legacy(3x)</A></STRONG>* + getbegyx <STRONG><A HREF="curs_getyx.3x.html">curs_getyx(3x)</A></STRONG> + getbkgd <STRONG><A HREF="curs_bkgd.3x.html">curs_bkgd(3x)</A></STRONG> + getbkgrnd <STRONG><A HREF="curs_bkgrnd.3x.html">curs_bkgrnd(3x)</A></STRONG> + getcchar <STRONG><A HREF="curs_getcchar.3x.html">curs_getcchar(3x)</A></STRONG> + getch <STRONG><A HREF="curs_getch.3x.html">curs_getch(3x)</A></STRONG> + getcurx <STRONG><A HREF="curs_legacy.3x.html">curs_legacy(3x)</A></STRONG>* + getcury <STRONG><A HREF="curs_legacy.3x.html">curs_legacy(3x)</A></STRONG>* + getmaxx <STRONG><A HREF="curs_legacy.3x.html">curs_legacy(3x)</A></STRONG>* + getmaxy <STRONG><A HREF="curs_legacy.3x.html">curs_legacy(3x)</A></STRONG>* + getmaxyx <STRONG><A HREF="curs_getyx.3x.html">curs_getyx(3x)</A></STRONG> + getmouse <STRONG><A HREF="curs_mouse.3x.html">curs_mouse(3x)</A></STRONG>* + getn_wstr <STRONG><A HREF="curs_get_wstr.3x.html">curs_get_wstr(3x)</A></STRONG> + getnstr <STRONG><A HREF="curs_getstr.3x.html">curs_getstr(3x)</A></STRONG> + getparx <STRONG><A HREF="curs_legacy.3x.html">curs_legacy(3x)</A></STRONG>* + getpary <STRONG><A HREF="curs_legacy.3x.html">curs_legacy(3x)</A></STRONG>* + getparyx <STRONG><A HREF="curs_getyx.3x.html">curs_getyx(3x)</A></STRONG> + getstr <STRONG><A HREF="curs_getstr.3x.html">curs_getstr(3x)</A></STRONG> + getsyx <STRONG><A HREF="curs_kernel.3x.html">curs_kernel(3x)</A></STRONG> + getwin <STRONG><A HREF="curs_util.3x.html">curs_util(3x)</A></STRONG> + getyx <STRONG><A HREF="curs_getyx.3x.html">curs_getyx(3x)</A></STRONG> + halfdelay <STRONG><A HREF="curs_inopts.3x.html">curs_inopts(3x)</A></STRONG> + has_colors <STRONG><A HREF="curs_color.3x.html">curs_color(3x)</A></STRONG> + has_ic <STRONG><A HREF="curs_termattrs.3x.html">curs_termattrs(3x)</A></STRONG> + has_il <STRONG><A HREF="curs_termattrs.3x.html">curs_termattrs(3x)</A></STRONG> + has_key <STRONG><A HREF="curs_getch.3x.html">curs_getch(3x)</A></STRONG>* + hline <STRONG><A HREF="curs_border.3x.html">curs_border(3x)</A></STRONG> + hline_set <STRONG><A HREF="curs_border_set.3x.html">curs_border_set(3x)</A></STRONG> + idcok <STRONG><A HREF="curs_outopts.3x.html">curs_outopts(3x)</A></STRONG> + idlok <STRONG><A HREF="curs_outopts.3x.html">curs_outopts(3x)</A></STRONG> + immedok <STRONG><A HREF="curs_outopts.3x.html">curs_outopts(3x)</A></STRONG> + in_wch <STRONG><A HREF="curs_in_wch.3x.html">curs_in_wch(3x)</A></STRONG> + in_wchnstr <STRONG><A HREF="curs_in_wchstr.3x.html">curs_in_wchstr(3x)</A></STRONG> + in_wchstr <STRONG><A HREF="curs_in_wchstr.3x.html">curs_in_wchstr(3x)</A></STRONG> + inch <STRONG><A HREF="curs_inch.3x.html">curs_inch(3x)</A></STRONG> + inchnstr <STRONG><A HREF="curs_inchstr.3x.html">curs_inchstr(3x)</A></STRONG> + inchstr <STRONG><A HREF="curs_inchstr.3x.html">curs_inchstr(3x)</A></STRONG> + init_color <STRONG><A HREF="curs_color.3x.html">curs_color(3x)</A></STRONG> + init_pair <STRONG><A HREF="curs_color.3x.html">curs_color(3x)</A></STRONG> + initscr <STRONG><A HREF="curs_initscr.3x.html">curs_initscr(3x)</A></STRONG> + innstr <STRONG><A HREF="curs_instr.3x.html">curs_instr(3x)</A></STRONG> + innwstr <STRONG><A HREF="curs_inwstr.3x.html">curs_inwstr(3x)</A></STRONG> + ins_nwstr <STRONG><A HREF="curs_ins_wstr.3x.html">curs_ins_wstr(3x)</A></STRONG> + ins_wch <STRONG><A HREF="curs_ins_wch.3x.html">curs_ins_wch(3x)</A></STRONG> + ins_wstr <STRONG><A HREF="curs_ins_wstr.3x.html">curs_ins_wstr(3x)</A></STRONG> + insch <STRONG><A HREF="curs_insch.3x.html">curs_insch(3x)</A></STRONG> + insdelln <STRONG><A HREF="curs_deleteln.3x.html">curs_deleteln(3x)</A></STRONG> + insertln <STRONG><A HREF="curs_deleteln.3x.html">curs_deleteln(3x)</A></STRONG> + insnstr <STRONG><A HREF="curs_insstr.3x.html">curs_insstr(3x)</A></STRONG> + insstr <STRONG><A HREF="curs_insstr.3x.html">curs_insstr(3x)</A></STRONG> + instr <STRONG><A HREF="curs_instr.3x.html">curs_instr(3x)</A></STRONG> + intrflush <STRONG><A HREF="curs_inopts.3x.html">curs_inopts(3x)</A></STRONG> + inwstr <STRONG><A HREF="curs_inwstr.3x.html">curs_inwstr(3x)</A></STRONG> + is_cleared <STRONG><A HREF="curs_opaque.3x.html">curs_opaque(3x)</A></STRONG>* + + is_idcok <STRONG><A HREF="curs_opaque.3x.html">curs_opaque(3x)</A></STRONG>* + is_idlok <STRONG><A HREF="curs_opaque.3x.html">curs_opaque(3x)</A></STRONG>* + is_immedok <STRONG><A HREF="curs_opaque.3x.html">curs_opaque(3x)</A></STRONG>* + is_keypad <STRONG><A HREF="curs_opaque.3x.html">curs_opaque(3x)</A></STRONG>* + is_leaveok <STRONG><A HREF="curs_opaque.3x.html">curs_opaque(3x)</A></STRONG>* + is_linetouched <STRONG><A HREF="curs_touch.3x.html">curs_touch(3x)</A></STRONG> + is_nodelay <STRONG><A HREF="curs_opaque.3x.html">curs_opaque(3x)</A></STRONG>* + is_notimeout <STRONG><A HREF="curs_opaque.3x.html">curs_opaque(3x)</A></STRONG>* + is_scrollok <STRONG><A HREF="curs_opaque.3x.html">curs_opaque(3x)</A></STRONG>* + is_syncok <STRONG><A HREF="curs_opaque.3x.html">curs_opaque(3x)</A></STRONG>* + is_term_resized <STRONG><A HREF="resizeterm.3x.html">resizeterm(3x)</A></STRONG>* + is_wintouched <STRONG><A HREF="curs_touch.3x.html">curs_touch(3x)</A></STRONG> + isendwin <STRONG><A HREF="curs_initscr.3x.html">curs_initscr(3x)</A></STRONG> + key_defined <STRONG><A HREF="key_defined.3x.html">key_defined(3x)</A></STRONG>* + key_name <STRONG><A HREF="curs_util.3x.html">curs_util(3x)</A></STRONG> + keybound <STRONG><A HREF="keybound.3x.html">keybound(3x)</A></STRONG>* + keyname <STRONG><A HREF="curs_util.3x.html">curs_util(3x)</A></STRONG> + keyok <STRONG><A HREF="keyok.3x.html">keyok(3x)</A></STRONG>* + keypad <STRONG><A HREF="curs_inopts.3x.html">curs_inopts(3x)</A></STRONG> + killchar <STRONG><A HREF="curs_termattrs.3x.html">curs_termattrs(3x)</A></STRONG> + killwchar <STRONG><A HREF="curs_termattrs.3x.html">curs_termattrs(3x)</A></STRONG> + leaveok <STRONG><A HREF="curs_outopts.3x.html">curs_outopts(3x)</A></STRONG> + longname <STRONG><A HREF="curs_termattrs.3x.html">curs_termattrs(3x)</A></STRONG> + mcprint <STRONG><A HREF="curs_print.3x.html">curs_print(3x)</A></STRONG>* + meta <STRONG><A HREF="curs_inopts.3x.html">curs_inopts(3x)</A></STRONG> + mouse_trafo <STRONG><A HREF="curs_mouse.3x.html">curs_mouse(3x)</A></STRONG>* + mouseinterval <STRONG><A HREF="curs_mouse.3x.html">curs_mouse(3x)</A></STRONG>* + mousemask <STRONG><A HREF="curs_mouse.3x.html">curs_mouse(3x)</A></STRONG>* + move <STRONG><A HREF="curs_move.3x.html">curs_move(3x)</A></STRONG> + mvadd_wch <STRONG><A HREF="curs_add_wch.3x.html">curs_add_wch(3x)</A></STRONG> + mvadd_wchnstr <STRONG><A HREF="curs_add_wchstr.3x.html">curs_add_wchstr(3x)</A></STRONG> + mvadd_wchstr <STRONG><A HREF="curs_add_wchstr.3x.html">curs_add_wchstr(3x)</A></STRONG> + mvaddch <STRONG><A HREF="curs_addch.3x.html">curs_addch(3x)</A></STRONG> + mvaddchnstr <STRONG><A HREF="curs_addchstr.3x.html">curs_addchstr(3x)</A></STRONG> + mvaddchstr <STRONG><A HREF="curs_addchstr.3x.html">curs_addchstr(3x)</A></STRONG> + mvaddnstr <STRONG><A HREF="curs_addstr.3x.html">curs_addstr(3x)</A></STRONG> + mvaddnwstr <STRONG><A HREF="curs_addwstr.3x.html">curs_addwstr(3x)</A></STRONG> + mvaddstr <STRONG><A HREF="curs_addstr.3x.html">curs_addstr(3x)</A></STRONG> + mvaddwstr <STRONG><A HREF="curs_addwstr.3x.html">curs_addwstr(3x)</A></STRONG> + mvchgat <STRONG><A HREF="curs_attr.3x.html">curs_attr(3x)</A></STRONG> + mvcur <STRONG><A HREF="curs_terminfo.3x.html">curs_terminfo(3x)</A></STRONG> + mvdelch <STRONG><A HREF="curs_delch.3x.html">curs_delch(3x)</A></STRONG> + mvderwin <STRONG><A HREF="curs_window.3x.html">curs_window(3x)</A></STRONG> + mvget_wch <STRONG><A HREF="curs_get_wch.3x.html">curs_get_wch(3x)</A></STRONG> + mvget_wstr <STRONG><A HREF="curs_get_wstr.3x.html">curs_get_wstr(3x)</A></STRONG> + mvgetch <STRONG><A HREF="curs_getch.3x.html">curs_getch(3x)</A></STRONG> + mvgetn_wstr <STRONG><A HREF="curs_get_wstr.3x.html">curs_get_wstr(3x)</A></STRONG> + mvgetnstr <STRONG><A HREF="curs_getstr.3x.html">curs_getstr(3x)</A></STRONG> + mvgetstr <STRONG><A HREF="curs_getstr.3x.html">curs_getstr(3x)</A></STRONG> + mvhline <STRONG><A HREF="curs_border.3x.html">curs_border(3x)</A></STRONG> + mvhline_set <STRONG><A HREF="curs_border_set.3x.html">curs_border_set(3x)</A></STRONG> + mvin_wch <STRONG><A HREF="curs_in_wch.3x.html">curs_in_wch(3x)</A></STRONG> + mvin_wchnstr <STRONG><A HREF="curs_in_wchstr.3x.html">curs_in_wchstr(3x)</A></STRONG> + mvin_wchstr <STRONG><A HREF="curs_in_wchstr.3x.html">curs_in_wchstr(3x)</A></STRONG> + mvinch <STRONG><A HREF="curs_inch.3x.html">curs_inch(3x)</A></STRONG> + mvinchnstr <STRONG><A HREF="curs_inchstr.3x.html">curs_inchstr(3x)</A></STRONG> + mvinchstr <STRONG><A HREF="curs_inchstr.3x.html">curs_inchstr(3x)</A></STRONG> + mvinnstr <STRONG><A HREF="curs_instr.3x.html">curs_instr(3x)</A></STRONG> + mvinnwstr <STRONG><A HREF="curs_inwstr.3x.html">curs_inwstr(3x)</A></STRONG> + mvins_nwstr <STRONG><A HREF="curs_ins_wstr.3x.html">curs_ins_wstr(3x)</A></STRONG> + mvins_wch <STRONG><A HREF="curs_ins_wch.3x.html">curs_ins_wch(3x)</A></STRONG> + mvins_wstr <STRONG><A HREF="curs_ins_wstr.3x.html">curs_ins_wstr(3x)</A></STRONG> + mvinsch <STRONG><A HREF="curs_insch.3x.html">curs_insch(3x)</A></STRONG> + mvinsnstr <STRONG><A HREF="curs_insstr.3x.html">curs_insstr(3x)</A></STRONG> + mvinsstr <STRONG><A HREF="curs_insstr.3x.html">curs_insstr(3x)</A></STRONG> + + mvinstr <STRONG><A HREF="curs_instr.3x.html">curs_instr(3x)</A></STRONG> + mvinwstr <STRONG><A HREF="curs_inwstr.3x.html">curs_inwstr(3x)</A></STRONG> + mvprintw <STRONG><A HREF="curs_printw.3x.html">curs_printw(3x)</A></STRONG> + mvscanw <STRONG><A HREF="curs_scanw.3x.html">curs_scanw(3x)</A></STRONG> + mvvline <STRONG><A HREF="curs_border.3x.html">curs_border(3x)</A></STRONG> + mvvline_set <STRONG><A HREF="curs_border_set.3x.html">curs_border_set(3x)</A></STRONG> + mvwadd_wch <STRONG><A HREF="curs_add_wch.3x.html">curs_add_wch(3x)</A></STRONG> + mvwadd_wchnstr <STRONG><A HREF="curs_add_wchstr.3x.html">curs_add_wchstr(3x)</A></STRONG> + mvwadd_wchstr <STRONG><A HREF="curs_add_wchstr.3x.html">curs_add_wchstr(3x)</A></STRONG> + mvwaddch <STRONG><A HREF="curs_addch.3x.html">curs_addch(3x)</A></STRONG> + mvwaddchnstr <STRONG><A HREF="curs_addchstr.3x.html">curs_addchstr(3x)</A></STRONG> + mvwaddchstr <STRONG><A HREF="curs_addchstr.3x.html">curs_addchstr(3x)</A></STRONG> + mvwaddnstr <STRONG><A HREF="curs_addstr.3x.html">curs_addstr(3x)</A></STRONG> + mvwaddnwstr <STRONG><A HREF="curs_addwstr.3x.html">curs_addwstr(3x)</A></STRONG> + mvwaddstr <STRONG><A HREF="curs_addstr.3x.html">curs_addstr(3x)</A></STRONG> + mvwaddwstr <STRONG><A HREF="curs_addwstr.3x.html">curs_addwstr(3x)</A></STRONG> + mvwchgat <STRONG><A HREF="curs_attr.3x.html">curs_attr(3x)</A></STRONG> + mvwdelch <STRONG><A HREF="curs_delch.3x.html">curs_delch(3x)</A></STRONG> + mvwget_wch <STRONG><A HREF="curs_get_wch.3x.html">curs_get_wch(3x)</A></STRONG> + mvwget_wstr <STRONG><A HREF="curs_get_wstr.3x.html">curs_get_wstr(3x)</A></STRONG> + mvwgetch <STRONG><A HREF="curs_getch.3x.html">curs_getch(3x)</A></STRONG> + mvwgetn_wstr <STRONG><A HREF="curs_get_wstr.3x.html">curs_get_wstr(3x)</A></STRONG> + mvwgetnstr <STRONG><A HREF="curs_getstr.3x.html">curs_getstr(3x)</A></STRONG> + mvwgetstr <STRONG><A HREF="curs_getstr.3x.html">curs_getstr(3x)</A></STRONG> + mvwhline <STRONG><A HREF="curs_border.3x.html">curs_border(3x)</A></STRONG> + mvwhline_set <STRONG><A HREF="curs_border_set.3x.html">curs_border_set(3x)</A></STRONG> + mvwin <STRONG><A HREF="curs_window.3x.html">curs_window(3x)</A></STRONG> + mvwin_wch <STRONG><A HREF="curs_in_wch.3x.html">curs_in_wch(3x)</A></STRONG> + mvwin_wchnstr <STRONG><A HREF="curs_in_wchstr.3x.html">curs_in_wchstr(3x)</A></STRONG> + mvwin_wchstr <STRONG><A HREF="curs_in_wchstr.3x.html">curs_in_wchstr(3x)</A></STRONG> + mvwinch <STRONG><A HREF="curs_inch.3x.html">curs_inch(3x)</A></STRONG> + mvwinchnstr <STRONG><A HREF="curs_inchstr.3x.html">curs_inchstr(3x)</A></STRONG> + mvwinchstr <STRONG><A HREF="curs_inchstr.3x.html">curs_inchstr(3x)</A></STRONG> + mvwinnstr <STRONG><A HREF="curs_instr.3x.html">curs_instr(3x)</A></STRONG> + mvwinnwstr <STRONG><A HREF="curs_inwstr.3x.html">curs_inwstr(3x)</A></STRONG> + mvwins_nwstr <STRONG><A HREF="curs_ins_wstr.3x.html">curs_ins_wstr(3x)</A></STRONG> + mvwins_wch <STRONG><A HREF="curs_ins_wch.3x.html">curs_ins_wch(3x)</A></STRONG> + mvwins_wstr <STRONG><A HREF="curs_ins_wstr.3x.html">curs_ins_wstr(3x)</A></STRONG> + mvwinsch <STRONG><A HREF="curs_insch.3x.html">curs_insch(3x)</A></STRONG> + mvwinsnstr <STRONG><A HREF="curs_insstr.3x.html">curs_insstr(3x)</A></STRONG> + mvwinsstr <STRONG><A HREF="curs_insstr.3x.html">curs_insstr(3x)</A></STRONG> + mvwinstr <STRONG><A HREF="curs_instr.3x.html">curs_instr(3x)</A></STRONG> + mvwinwstr <STRONG><A HREF="curs_inwstr.3x.html">curs_inwstr(3x)</A></STRONG> + mvwprintw <STRONG><A HREF="curs_printw.3x.html">curs_printw(3x)</A></STRONG> + mvwscanw <STRONG><A HREF="curs_scanw.3x.html">curs_scanw(3x)</A></STRONG> + mvwvline <STRONG><A HREF="curs_border.3x.html">curs_border(3x)</A></STRONG> + mvwvline_set <STRONG><A HREF="curs_border_set.3x.html">curs_border_set(3x)</A></STRONG> + napms <STRONG><A HREF="curs_kernel.3x.html">curs_kernel(3x)</A></STRONG> + newpad <STRONG><A HREF="curs_pad.3x.html">curs_pad(3x)</A></STRONG> + newterm <STRONG><A HREF="curs_initscr.3x.html">curs_initscr(3x)</A></STRONG> + newwin <STRONG><A HREF="curs_window.3x.html">curs_window(3x)</A></STRONG> + nl <STRONG><A HREF="curs_outopts.3x.html">curs_outopts(3x)</A></STRONG> + nocbreak <STRONG><A HREF="curs_inopts.3x.html">curs_inopts(3x)</A></STRONG> + nodelay <STRONG><A HREF="curs_inopts.3x.html">curs_inopts(3x)</A></STRONG> + noecho <STRONG><A HREF="curs_inopts.3x.html">curs_inopts(3x)</A></STRONG> + nofilter <STRONG><A HREF="curs_util.3x.html">curs_util(3x)</A></STRONG>* + nonl <STRONG><A HREF="curs_outopts.3x.html">curs_outopts(3x)</A></STRONG> + noqiflush <STRONG><A HREF="curs_inopts.3x.html">curs_inopts(3x)</A></STRONG> + noraw <STRONG><A HREF="curs_inopts.3x.html">curs_inopts(3x)</A></STRONG> + notimeout <STRONG><A HREF="curs_inopts.3x.html">curs_inopts(3x)</A></STRONG> + overlay <STRONG><A HREF="curs_overlay.3x.html">curs_overlay(3x)</A></STRONG> + overwrite <STRONG><A HREF="curs_overlay.3x.html">curs_overlay(3x)</A></STRONG> + pair_content <STRONG><A HREF="curs_color.3x.html">curs_color(3x)</A></STRONG> + pechochar <STRONG><A HREF="curs_pad.3x.html">curs_pad(3x)</A></STRONG> + pnoutrefresh <STRONG><A HREF="curs_pad.3x.html">curs_pad(3x)</A></STRONG> + + prefresh <STRONG><A HREF="curs_pad.3x.html">curs_pad(3x)</A></STRONG> + printw <STRONG><A HREF="curs_printw.3x.html">curs_printw(3x)</A></STRONG> + putp <STRONG><A HREF="curs_terminfo.3x.html">curs_terminfo(3x)</A></STRONG> + putwin <STRONG><A HREF="curs_util.3x.html">curs_util(3x)</A></STRONG> + qiflush <STRONG><A HREF="curs_inopts.3x.html">curs_inopts(3x)</A></STRONG> + raw <STRONG><A HREF="curs_inopts.3x.html">curs_inopts(3x)</A></STRONG> + redrawwin <STRONG><A HREF="curs_refresh.3x.html">curs_refresh(3x)</A></STRONG> + refresh <STRONG><A HREF="curs_refresh.3x.html">curs_refresh(3x)</A></STRONG> + reset_prog_mode <STRONG><A HREF="curs_kernel.3x.html">curs_kernel(3x)</A></STRONG> + reset_shell_mode <STRONG><A HREF="curs_kernel.3x.html">curs_kernel(3x)</A></STRONG> + resetty <STRONG><A HREF="curs_kernel.3x.html">curs_kernel(3x)</A></STRONG> + resizeterm <STRONG><A HREF="resizeterm.3x.html">resizeterm(3x)</A></STRONG>* + restartterm <STRONG><A HREF="curs_terminfo.3x.html">curs_terminfo(3x)</A></STRONG> + ripoffline <STRONG><A HREF="curs_kernel.3x.html">curs_kernel(3x)</A></STRONG> + savetty <STRONG><A HREF="curs_kernel.3x.html">curs_kernel(3x)</A></STRONG> + scanw <STRONG><A HREF="curs_scanw.3x.html">curs_scanw(3x)</A></STRONG> + scr_dump <STRONG><A HREF="curs_scr_dump.3x.html">curs_scr_dump(3x)</A></STRONG> + scr_init <STRONG><A HREF="curs_scr_dump.3x.html">curs_scr_dump(3x)</A></STRONG> + scr_restore <STRONG><A HREF="curs_scr_dump.3x.html">curs_scr_dump(3x)</A></STRONG> + scr_set <STRONG><A HREF="curs_scr_dump.3x.html">curs_scr_dump(3x)</A></STRONG> + scrl <STRONG><A HREF="curs_scroll.3x.html">curs_scroll(3x)</A></STRONG> + scroll <STRONG><A HREF="curs_scroll.3x.html">curs_scroll(3x)</A></STRONG> + scrollok <STRONG><A HREF="curs_outopts.3x.html">curs_outopts(3x)</A></STRONG> + set_curterm <STRONG><A HREF="curs_terminfo.3x.html">curs_terminfo(3x)</A></STRONG> + set_term <STRONG><A HREF="curs_initscr.3x.html">curs_initscr(3x)</A></STRONG> + setcchar <STRONG><A HREF="curs_getcchar.3x.html">curs_getcchar(3x)</A></STRONG> + setscrreg <STRONG><A HREF="curs_outopts.3x.html">curs_outopts(3x)</A></STRONG> + setsyx <STRONG><A HREF="curs_kernel.3x.html">curs_kernel(3x)</A></STRONG> + setterm <STRONG><A HREF="curs_terminfo.3x.html">curs_terminfo(3x)</A></STRONG> + setupterm <STRONG><A HREF="curs_terminfo.3x.html">curs_terminfo(3x)</A></STRONG> + slk_attr <STRONG><A HREF="curs_slk.3x.html">curs_slk(3x)</A></STRONG>* + slk_attr_off <STRONG><A HREF="curs_slk.3x.html">curs_slk(3x)</A></STRONG> + slk_attr_on <STRONG><A HREF="curs_slk.3x.html">curs_slk(3x)</A></STRONG> + slk_attr_set <STRONG><A HREF="curs_slk.3x.html">curs_slk(3x)</A></STRONG> + slk_attroff <STRONG><A HREF="curs_slk.3x.html">curs_slk(3x)</A></STRONG> + slk_attron <STRONG><A HREF="curs_slk.3x.html">curs_slk(3x)</A></STRONG> + slk_attrset <STRONG><A HREF="curs_slk.3x.html">curs_slk(3x)</A></STRONG> + slk_clear <STRONG><A HREF="curs_slk.3x.html">curs_slk(3x)</A></STRONG> + slk_color <STRONG><A HREF="curs_slk.3x.html">curs_slk(3x)</A></STRONG> + slk_init <STRONG><A HREF="curs_slk.3x.html">curs_slk(3x)</A></STRONG> + slk_label <STRONG><A HREF="curs_slk.3x.html">curs_slk(3x)</A></STRONG> + slk_noutrefresh <STRONG><A HREF="curs_slk.3x.html">curs_slk(3x)</A></STRONG> + slk_refresh <STRONG><A HREF="curs_slk.3x.html">curs_slk(3x)</A></STRONG> + slk_restore <STRONG><A HREF="curs_slk.3x.html">curs_slk(3x)</A></STRONG> + slk_set <STRONG><A HREF="curs_slk.3x.html">curs_slk(3x)</A></STRONG> + slk_touch <STRONG><A HREF="curs_slk.3x.html">curs_slk(3x)</A></STRONG> + standend <STRONG><A HREF="curs_attr.3x.html">curs_attr(3x)</A></STRONG> + standout <STRONG><A HREF="curs_attr.3x.html">curs_attr(3x)</A></STRONG> + start_color <STRONG><A HREF="curs_color.3x.html">curs_color(3x)</A></STRONG> + subpad <STRONG><A HREF="curs_pad.3x.html">curs_pad(3x)</A></STRONG> + subwin <STRONG><A HREF="curs_window.3x.html">curs_window(3x)</A></STRONG> + syncok <STRONG><A HREF="curs_window.3x.html">curs_window(3x)</A></STRONG> + term_attrs <STRONG><A HREF="curs_termattrs.3x.html">curs_termattrs(3x)</A></STRONG> + termattrs <STRONG><A HREF="curs_termattrs.3x.html">curs_termattrs(3x)</A></STRONG> + termname <STRONG><A HREF="curs_termattrs.3x.html">curs_termattrs(3x)</A></STRONG> + tgetent <STRONG><A HREF="curs_termcap.3x.html">curs_termcap(3x)</A></STRONG> + tgetflag <STRONG><A HREF="curs_termcap.3x.html">curs_termcap(3x)</A></STRONG> + tgetnum <STRONG><A HREF="curs_termcap.3x.html">curs_termcap(3x)</A></STRONG> + tgetstr <STRONG><A HREF="curs_termcap.3x.html">curs_termcap(3x)</A></STRONG> + tgoto <STRONG><A HREF="curs_termcap.3x.html">curs_termcap(3x)</A></STRONG> + tigetflag <STRONG><A HREF="curs_terminfo.3x.html">curs_terminfo(3x)</A></STRONG> + tigetnum <STRONG><A HREF="curs_terminfo.3x.html">curs_terminfo(3x)</A></STRONG> + tigetstr <STRONG><A HREF="curs_terminfo.3x.html">curs_terminfo(3x)</A></STRONG> + timeout <STRONG><A HREF="curs_inopts.3x.html">curs_inopts(3x)</A></STRONG> + touchline <STRONG><A HREF="curs_touch.3x.html">curs_touch(3x)</A></STRONG> + + touchwin <STRONG><A HREF="curs_touch.3x.html">curs_touch(3x)</A></STRONG> + tparm <STRONG><A HREF="curs_terminfo.3x.html">curs_terminfo(3x)</A></STRONG> + tputs <STRONG><A HREF="curs_termcap.3x.html">curs_termcap(3x)</A></STRONG> + tputs <STRONG><A HREF="curs_terminfo.3x.html">curs_terminfo(3x)</A></STRONG> + trace <STRONG><A HREF="curs_trace.3x.html">curs_trace(3x)</A></STRONG>* + typeahead <STRONG><A HREF="curs_inopts.3x.html">curs_inopts(3x)</A></STRONG> + unctrl <STRONG><A HREF="curs_util.3x.html">curs_util(3x)</A></STRONG> + unget_wch <STRONG><A HREF="curs_get_wch.3x.html">curs_get_wch(3x)</A></STRONG> + ungetch <STRONG><A HREF="curs_getch.3x.html">curs_getch(3x)</A></STRONG> + ungetmouse <STRONG><A HREF="curs_mouse.3x.html">curs_mouse(3x)</A></STRONG>* + untouchwin <STRONG><A HREF="curs_touch.3x.html">curs_touch(3x)</A></STRONG> + use_default_colors <STRONG><A HREF="default_colors.3x.html">default_colors(3x)</A></STRONG>* + use_env <STRONG><A HREF="curs_util.3x.html">curs_util(3x)</A></STRONG> + use_extended_names <STRONG><A HREF="curs_extend.3x.html">curs_extend(3x)</A></STRONG>* + use_legacy_coding <STRONG><A HREF="legacy_coding.3x.html">legacy_coding(3x)</A></STRONG>* + vid_attr <STRONG><A HREF="curs_terminfo.3x.html">curs_terminfo(3x)</A></STRONG> + vid_puts <STRONG><A HREF="curs_terminfo.3x.html">curs_terminfo(3x)</A></STRONG> + vidattr <STRONG><A HREF="curs_terminfo.3x.html">curs_terminfo(3x)</A></STRONG> + vidputs <STRONG><A HREF="curs_terminfo.3x.html">curs_terminfo(3x)</A></STRONG> + vline <STRONG><A HREF="curs_border.3x.html">curs_border(3x)</A></STRONG> + vline_set <STRONG><A HREF="curs_border_set.3x.html">curs_border_set(3x)</A></STRONG> + vw_printw <STRONG><A HREF="curs_printw.3x.html">curs_printw(3x)</A></STRONG> + vw_scanw <STRONG><A HREF="curs_scanw.3x.html">curs_scanw(3x)</A></STRONG> + vwprintw <STRONG><A HREF="curs_printw.3x.html">curs_printw(3x)</A></STRONG> + vwscanw <STRONG><A HREF="curs_scanw.3x.html">curs_scanw(3x)</A></STRONG> + wadd_wch <STRONG><A HREF="curs_add_wch.3x.html">curs_add_wch(3x)</A></STRONG> + wadd_wchnstr <STRONG><A HREF="curs_add_wchstr.3x.html">curs_add_wchstr(3x)</A></STRONG> + wadd_wchstr <STRONG><A HREF="curs_add_wchstr.3x.html">curs_add_wchstr(3x)</A></STRONG> + waddch <STRONG><A HREF="curs_addch.3x.html">curs_addch(3x)</A></STRONG> + waddchnstr <STRONG><A HREF="curs_addchstr.3x.html">curs_addchstr(3x)</A></STRONG> + waddchstr <STRONG><A HREF="curs_addchstr.3x.html">curs_addchstr(3x)</A></STRONG> + waddnstr <STRONG><A HREF="curs_addstr.3x.html">curs_addstr(3x)</A></STRONG> + waddnwstr <STRONG><A HREF="curs_addwstr.3x.html">curs_addwstr(3x)</A></STRONG> + waddstr <STRONG><A HREF="curs_addstr.3x.html">curs_addstr(3x)</A></STRONG> + waddwstr <STRONG><A HREF="curs_addwstr.3x.html">curs_addwstr(3x)</A></STRONG> + wattr_get <STRONG><A HREF="curs_attr.3x.html">curs_attr(3x)</A></STRONG> + wattr_off <STRONG><A HREF="curs_attr.3x.html">curs_attr(3x)</A></STRONG> + wattr_on <STRONG><A HREF="curs_attr.3x.html">curs_attr(3x)</A></STRONG> + wattr_set <STRONG><A HREF="curs_attr.3x.html">curs_attr(3x)</A></STRONG> + wattroff <STRONG><A HREF="curs_attr.3x.html">curs_attr(3x)</A></STRONG> + wattron <STRONG><A HREF="curs_attr.3x.html">curs_attr(3x)</A></STRONG> + wattrset <STRONG><A HREF="curs_attr.3x.html">curs_attr(3x)</A></STRONG> + wbkgd <STRONG><A HREF="curs_bkgd.3x.html">curs_bkgd(3x)</A></STRONG> + wbkgdset <STRONG><A HREF="curs_bkgd.3x.html">curs_bkgd(3x)</A></STRONG> + wbkgrnd <STRONG><A HREF="curs_bkgrnd.3x.html">curs_bkgrnd(3x)</A></STRONG> + wbkgrndset <STRONG><A HREF="curs_bkgrnd.3x.html">curs_bkgrnd(3x)</A></STRONG> + wborder <STRONG><A HREF="curs_border.3x.html">curs_border(3x)</A></STRONG> + wborder_set <STRONG><A HREF="curs_border_set.3x.html">curs_border_set(3x)</A></STRONG> + wchgat <STRONG><A HREF="curs_attr.3x.html">curs_attr(3x)</A></STRONG> + wclear <STRONG><A HREF="curs_clear.3x.html">curs_clear(3x)</A></STRONG> + wclrtobot <STRONG><A HREF="curs_clear.3x.html">curs_clear(3x)</A></STRONG> + wclrtoeol <STRONG><A HREF="curs_clear.3x.html">curs_clear(3x)</A></STRONG> + wcolor_set <STRONG><A HREF="curs_attr.3x.html">curs_attr(3x)</A></STRONG> + wcursyncup <STRONG><A HREF="curs_window.3x.html">curs_window(3x)</A></STRONG> + wdelch <STRONG><A HREF="curs_delch.3x.html">curs_delch(3x)</A></STRONG> + wdeleteln <STRONG><A HREF="curs_deleteln.3x.html">curs_deleteln(3x)</A></STRONG> + wecho_wchar <STRONG><A HREF="curs_add_wch.3x.html">curs_add_wch(3x)</A></STRONG> + wechochar <STRONG><A HREF="curs_addch.3x.html">curs_addch(3x)</A></STRONG> + wenclose <STRONG><A HREF="curs_mouse.3x.html">curs_mouse(3x)</A></STRONG>* + werase <STRONG><A HREF="curs_clear.3x.html">curs_clear(3x)</A></STRONG> + wget_wch <STRONG><A HREF="curs_get_wch.3x.html">curs_get_wch(3x)</A></STRONG> + wget_wstr <STRONG><A HREF="curs_get_wstr.3x.html">curs_get_wstr(3x)</A></STRONG> + wgetbkgrnd <STRONG><A HREF="curs_bkgrnd.3x.html">curs_bkgrnd(3x)</A></STRONG> + wgetch <STRONG><A HREF="curs_getch.3x.html">curs_getch(3x)</A></STRONG> + wgetn_wstr <STRONG><A HREF="curs_get_wstr.3x.html">curs_get_wstr(3x)</A></STRONG> + + wgetnstr <STRONG><A HREF="curs_getstr.3x.html">curs_getstr(3x)</A></STRONG> + wgetstr <STRONG><A HREF="curs_getstr.3x.html">curs_getstr(3x)</A></STRONG> + whline <STRONG><A HREF="curs_border.3x.html">curs_border(3x)</A></STRONG> + whline_set <STRONG><A HREF="curs_border_set.3x.html">curs_border_set(3x)</A></STRONG> + win_wch <STRONG><A HREF="curs_in_wch.3x.html">curs_in_wch(3x)</A></STRONG> + win_wchnstr <STRONG><A HREF="curs_in_wchstr.3x.html">curs_in_wchstr(3x)</A></STRONG> + win_wchstr <STRONG><A HREF="curs_in_wchstr.3x.html">curs_in_wchstr(3x)</A></STRONG> + winch <STRONG><A HREF="curs_inch.3x.html">curs_inch(3x)</A></STRONG> + winchnstr <STRONG><A HREF="curs_inchstr.3x.html">curs_inchstr(3x)</A></STRONG> + winchstr <STRONG><A HREF="curs_inchstr.3x.html">curs_inchstr(3x)</A></STRONG> + winnstr <STRONG><A HREF="curs_instr.3x.html">curs_instr(3x)</A></STRONG> + winnwstr <STRONG><A HREF="curs_inwstr.3x.html">curs_inwstr(3x)</A></STRONG> + wins_nwstr <STRONG><A HREF="curs_ins_wstr.3x.html">curs_ins_wstr(3x)</A></STRONG> + wins_wch <STRONG><A HREF="curs_ins_wch.3x.html">curs_ins_wch(3x)</A></STRONG> + wins_wstr <STRONG><A HREF="curs_ins_wstr.3x.html">curs_ins_wstr(3x)</A></STRONG> + winsch <STRONG><A HREF="curs_insch.3x.html">curs_insch(3x)</A></STRONG> + winsdelln <STRONG><A HREF="curs_deleteln.3x.html">curs_deleteln(3x)</A></STRONG> + winsertln <STRONG><A HREF="curs_deleteln.3x.html">curs_deleteln(3x)</A></STRONG> + winsnstr <STRONG><A HREF="curs_insstr.3x.html">curs_insstr(3x)</A></STRONG> + winsstr <STRONG><A HREF="curs_insstr.3x.html">curs_insstr(3x)</A></STRONG> + winstr <STRONG><A HREF="curs_instr.3x.html">curs_instr(3x)</A></STRONG> + winwstr <STRONG><A HREF="curs_inwstr.3x.html">curs_inwstr(3x)</A></STRONG> + wmouse_trafo <STRONG><A HREF="curs_mouse.3x.html">curs_mouse(3x)</A></STRONG>* + wmove <STRONG><A HREF="curs_move.3x.html">curs_move(3x)</A></STRONG> + wnoutrefresh <STRONG><A HREF="curs_refresh.3x.html">curs_refresh(3x)</A></STRONG> + wprintw <STRONG><A HREF="curs_printw.3x.html">curs_printw(3x)</A></STRONG> + wredrawln <STRONG><A HREF="curs_refresh.3x.html">curs_refresh(3x)</A></STRONG> + wrefresh <STRONG><A HREF="curs_refresh.3x.html">curs_refresh(3x)</A></STRONG> + wresize <STRONG><A HREF="wresize.3x.html">wresize(3x)</A></STRONG>* + wscanw <STRONG><A HREF="curs_scanw.3x.html">curs_scanw(3x)</A></STRONG> + wscrl <STRONG><A HREF="curs_scroll.3x.html">curs_scroll(3x)</A></STRONG> + wsetscrreg <STRONG><A HREF="curs_outopts.3x.html">curs_outopts(3x)</A></STRONG> + wstandend <STRONG><A HREF="curs_attr.3x.html">curs_attr(3x)</A></STRONG> + wstandout <STRONG><A HREF="curs_attr.3x.html">curs_attr(3x)</A></STRONG> + wsyncdown <STRONG><A HREF="curs_window.3x.html">curs_window(3x)</A></STRONG> + wsyncup <STRONG><A HREF="curs_window.3x.html">curs_window(3x)</A></STRONG> + wtimeout <STRONG><A HREF="curs_inopts.3x.html">curs_inopts(3x)</A></STRONG> + wtouchln <STRONG><A HREF="curs_touch.3x.html">curs_touch(3x)</A></STRONG> + wunctrl <STRONG><A HREF="curs_util.3x.html">curs_util(3x)</A></STRONG> + wvline <STRONG><A HREF="curs_border.3x.html">curs_border(3x)</A></STRONG> + wvline_set <STRONG><A HREF="curs_border_set.3x.html">curs_border_set(3x)</A></STRONG> + + +</PRE> +<H2>RETURN VALUE</H2><PRE> + Routines that return an integer return <STRONG>ERR</STRONG> upon failure + and an integer value other than <STRONG>ERR</STRONG> upon successful com- + pletion, unless otherwise noted in the routine descrip- + tions. + + All macros return the value of the <STRONG>w</STRONG> version, except + <STRONG>setscrreg</STRONG>, <STRONG>wsetscrreg</STRONG>, <STRONG>getyx</STRONG>, <STRONG>getbegyx</STRONG>, and <STRONG>getmaxyx</STRONG>. The + return values of <STRONG>setscrreg</STRONG>, <STRONG>wsetscrreg</STRONG>, <STRONG>getyx</STRONG>, <STRONG>getbegyx</STRONG>, + and <STRONG>getmaxyx</STRONG> are undefined (i.e., these should not be used + as the right-hand side of assignment statements). + + Routines that return pointers return <STRONG>NULL</STRONG> on error. + + +</PRE> +<H2>ENVIRONMENT</H2><PRE> + The following environment symbols are useful for customiz- + ing the runtime behavior of the <STRONG>ncurses</STRONG> library. The most + important ones have been already discussed in detail. + + 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, <STRONG>ncurses</STRONG> uses 9600. This allows + testers to construct repeatable test-cases that take + into account costs that depend on baudrate. + + CC When set, change occurrences of the command_character + (i.e., the <STRONG>cmdch</STRONG> capability) of the loaded terminfo + entries to the value of this symbol. Very few ter- + minfo entries provide this feature. + + Because this name is also used in development envi- + ronments to represent the C compiler's name, <STRONG>ncurses</STRONG> + ignores it if it does not happen to be a single char- + acter. + + COLUMNS + Specify the width of the screen in characters. + Applications running in a windowing environment usu- + ally are able to obtain the width of the window in + which they are executing. If neither the <STRONG>COLUMNS</STRONG> + value nor the terminal's screen size is available, + <STRONG>ncurses</STRONG> uses the size which may be specified in the + terminfo database (i.e., the <STRONG>cols</STRONG> capability). + + 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 <STRONG>COLUMNS</STRONG> and/or <STRONG>LINES</STRONG> + overrides the library's use of the screen size + obtained from the operating system. + + Either <STRONG>COLUMNS</STRONG> or <STRONG>LINES</STRONG> 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, <STRONG>lines</STRONG> and <STRONG>cols</STRONG> should not be specified + in a terminal description for terminals which are run + as emulations. + + Use the <STRONG>use_env</STRONG> function to disable all use of exter- + nal environment (including system calls) to determine + the screen size. + + 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 vari- + able 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 char- + acter 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. + + In addition to the environment variable, this imple- + mentation 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 applica- + tion. + + HOME Tells <STRONG>ncurses</STRONG> where your home directory is. That is + where it may read and write auxiliary terminal + descriptions: + + $HOME/.termcap + $HOME/.terminfo + + LINES + Like COLUMNS, specify the height of the screen in + characters. See COLUMNS for a detailed description. + + 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 + 2 = right + 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, <STRONG>ncurses</STRONG> uses + 132. + + NCURSES_ASSUMED_COLORS + Override the compiled-in assumption that the termi- + nal's default colors are white-on-black (see + <STRONG><A HREF="default_colors.3x.html">default_colors(3x)</A></STRONG>). You may set the foreground and + background color values with this environment vari- + able by proving a 2-element list: foreground,back- + ground. 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 posi- + tive value from zero to the terminfo <STRONG>max_colors</STRONG> value + is allowed. + + NCURSES_GPM_TERMS + This applies only to ncurses configured to use the + GPM interface. + + If present, the environment variable is a list of one + or more terminal names against which the TERM envi- + ronment variable is matched. Setting it to an empty + value disables the GPM interface; using the built-in + support for xterm, etc. + + If the environment variable is absent, ncurses will + attempt to open GPM if TERM contains "linux". + + NCURSES_NO_HARD_TABS + <STRONG>Ncurses</STRONG> 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 <STRONG>stty</STRONG> settings to avoid the problem. + + 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 termi- + nals by setting this environment variable. + + 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 applica- + tions. 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., tim- + ing. Unless a hardware terminal is interfaced into a + terminal concentrator (which does flow control), it + (or your application) must manage dataflow, prevent- + ing 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 <EM>flash</EM>. + + NCURSES_NO_SETBUF + Normally <STRONG>ncurses</STRONG> enables buffered output during ter- + minal initialization. This is done (as in SVr4 + curses) for performance reasons. For testing pur- + poses, both of <STRONG>ncurses</STRONG> 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. + + NCURSES_NO_UTF8_ACS + During initialization, the <STRONG>ncurses</STRONG> library checks for + special cases where VT100 line-drawing (and the cor- + responding 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 termi- + nal emulators. + + When setting this variable, you should set it to a + nonzero value. Setting it to zero (or to a nonnum- + ber) disables the special check for "linux" and + "screen". + + As an alternative to the environment variable, + ncurses checks for an extended terminfo capability + <STRONG>U8</STRONG>. This is a numeric capability which can be com- + piled using <STRONG>tic</STRONG> <STRONG>-x</STRONG>. For example + + # linux console, if patched to provide working + # VT100 shift-in/shift-out, with corresponding font. + linux-vt100|linux console with VT100 line-graphics, + U8#0, use=linux, + + # uxterm with vt100Graphics resource set to false + xterm-utf8|xterm relying on UTF-8 line-graphics, + U8#1, use=xterm, + + The name "U8" is chosen to be two characters, to per- + mit it to be used by applications that use ncurses' + termcap interface. + + NCURSES_TRACE + During initialization, the <STRONG>ncurses</STRONG> debugging library + checks the NCURSES_TRACE symbol. If it is defined, + to a numeric value, <STRONG>ncurses</STRONG> calls the <STRONG>trace</STRONG> function, + using that value as the argument. + + The argument values, which are defined in <STRONG>curses.h</STRONG>, + provide several types of information. When running + with traces enabled, your application will write the + file <STRONG>trace</STRONG> to the current directory. + + TERM Denotes your terminal type. Each terminal type is + distinct, though many are similar. + + TERMCAP + If the <STRONG>ncurses</STRONG> library has been configured with <EM>term-</EM> + <EM>cap</EM> support, <STRONG>ncurses</STRONG> 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 <STRONG>ncurses</STRONG> to ignore the usual place for this + information, e.g., /etc/termcap. + + TERMINFO + Overrides the directory in which <STRONG>ncurses</STRONG> 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: + + <STRONG>o</STRONG> the last directory to which <STRONG>ncurses</STRONG> wrote, if + any, is searched first + + <STRONG>o</STRONG> the directory specified by the TERMINFO symbol + + <STRONG>o</STRONG> $HOME/.terminfo + + <STRONG>o</STRONG> directories listed in the TERMINFO_DIRS symbol + + <STRONG>o</STRONG> one or more directories whose names are config- + ured and compiled into the ncurses library, e.g., + /usr/share/terminfo + + TERMINFO_DIRS + Specifies a list of directories to search for termi- + nal 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. + + TERMPATH + If TERMCAP does not hold a file name then <STRONG>ncurses</STRONG> + checks the TERMPATH symbol. This is a list of file- + names separated by spaces or colons (i.e., ":") on + Unix, semicolons on OS/2 EMX. If the TERMPATH symbol + is not set, <STRONG>ncurses</STRONG> looks in the files /etc/termcap, + /usr/share/misc/termcap and $HOME/.termcap, in that + order. + + 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. + + +</PRE> +<H2>ALTERNATE CONFIGURATIONS</H2><PRE> + Several different configurations are possible, depending + on the configure script options used when building + <STRONG>ncurses</STRONG>. There are a few main options whose effects are + visible to the applications developer using <STRONG>ncurses</STRONG>: + + --disable-overwrite + The standard include for <STRONG>ncurses</STRONG> is as noted in <STRONG>SYN-</STRONG> + <STRONG>OPSIS</STRONG>: + + <STRONG>#include</STRONG> <STRONG><curses.h></STRONG> + + This option is used to avoid filename conflicts when + <STRONG>ncurses</STRONG> is not the main implementation of curses of + the computer. If <STRONG>ncurses</STRONG> is installed disabling + overwrite, it puts its headers in a subdirectory, + e.g., + + <STRONG>#include</STRONG> <STRONG><ncurses/curses.h></STRONG> + + It also omits a symbolic link which would allow you + to use <STRONG>-lcurses</STRONG> to build executables. + + --enable-widec + The configure script renames the library and (if the + <STRONG>--disable-overwrite</STRONG> 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 + + <STRONG>-lncurses</STRONG> + + you link with + + <STRONG>-lncursesw</STRONG> + + You must also define <STRONG>_XOPEN_SOURCE_EXTENDED</STRONG> when com- + piling for the wide-character library to use the + extended (wide-character) functions. The <STRONG>curses.h</STRONG> + 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 <STRONG>WINDOW</STRONG> struc- + ture differs, and very few applications require more + than a pointer to <STRONG>WINDOW</STRONG>s. 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. + + --with-shared + + --with-normal + + --with-debug + + --with-profile + The shared and normal (static) library names differ + by their suffixes, e.g., <STRONG>libncurses.so</STRONG> and + <STRONG>libncurses.a</STRONG>. The debug and profiling libraries add + a "_g" and a "_p" to the root names respectively, + e.g., <STRONG>libncurses_g.a</STRONG> and <STRONG>libncurses_p.a</STRONG>. + + --with-trace + The <STRONG>trace</STRONG> 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 assum- + ing it is always in the debug library. + + +</PRE> +<H2>FILES</H2><PRE> + /usr/share/tabset + directory containing initialization files for the + terminal capability database /usr/share/terminfo ter- + minal capability database + + +</PRE> +<H2>SEE ALSO</H2><PRE> + <STRONG><A HREF="terminfo.5.html">terminfo(5)</A></STRONG> and related pages whose names begin "curs_" + for detailed routine descriptions. + <STRONG><A HREF="curs_variables.3x.html">curs_variables(3x)</A></STRONG> + + +</PRE> +<H2>EXTENSIONS</H2><PRE> + The <STRONG>ncurses</STRONG> library can be compiled with an option + (<STRONG>-DUSE_GETCAP</STRONG>) that falls back to the old-style /etc/term- + cap file if the terminal setup code cannot find a terminfo + entry corresponding to <STRONG>TERM</STRONG>. Use of this feature is not + recommended, as it essentially includes an entire termcap + compiler in the <STRONG>ncurses</STRONG> startup code, at significant cost + in core and startup cycles. + + The <STRONG>ncurses</STRONG> library includes facilities for capturing + mouse events on certain terminals (including xterm). See + the <STRONG><A HREF="curs_mouse.3x.html">curs_mouse(3x)</A></STRONG> manual page for details. + + The <STRONG>ncurses</STRONG> library includes facilities for responding to + window resizing events, e.g., when running in an xterm. + See the <STRONG><A HREF="resizeterm.3x.html">resizeterm(3x)</A></STRONG> and <STRONG><A HREF="wresize.3x.html">wresize(3x)</A></STRONG> manual pages for + details. In addition, the library may be configured with + a SIGWINCH handler. + + The <STRONG>ncurses</STRONG> 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 <STRONG><A HREF="define_key.3x.html">define_key(3x)</A></STRONG> <STRONG><A HREF="key_defined.3x.html">key_defined(3x)</A></STRONG>, and <STRONG><A HREF="keyok.3x.html">keyok(3x)</A></STRONG> man- + ual pages for details. + + The <STRONG>ncurses</STRONG> library can exploit the capabilities of termi- + nals which implement the ISO-6429 SGR 39 and SGR 49 con- + trols, 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 col- + ored text on a background whose color is set indepen- + dently, providing better control over color contrasts. + See the <STRONG><A HREF="default_colors.3x.html">default_colors(3x)</A></STRONG> manual page for details. + + The <STRONG>ncurses</STRONG> library includes a function for directing + application output to a printer attached to the terminal + device. See the <STRONG><A HREF="curs_print.3x.html">curs_print(3x)</A></STRONG> manual page for details. + + +</PRE> +<H2>PORTABILITY</H2><PRE> + The <STRONG>ncurses</STRONG> library is intended to be BASE-level confor- + mant with XSI Curses. The EXTENDED XSI Curses functional- + ity (including color support) is supported. + + A small number of local differences (that is, individual + differences between the XSI Curses and <STRONG>ncurses</STRONG> calls) are + described in <STRONG>PORTABILITY</STRONG> sections of the library man + pages. + + This implementation also contains several extensions: + + <STRONG>o</STRONG> The routine <STRONG>has_key</STRONG> is not part of XPG4, nor is it + present in SVr4. See the <STRONG><A HREF="curs_getch.3x.html">curs_getch(3x)</A></STRONG> manual page + for details. + + <STRONG>o</STRONG> The routine <STRONG>slk_attr</STRONG> is not part of XPG4, nor is it + present in SVr4. See the <STRONG><A HREF="curs_slk.3x.html">curs_slk(3x)</A></STRONG> manual page for + details. + + <STRONG>o</STRONG> The routines <STRONG>getmouse</STRONG>, <STRONG>mousemask</STRONG>, <STRONG>ungetmouse</STRONG>, <STRONG>mousein-</STRONG> + <STRONG>terval</STRONG>, and <STRONG>wenclose</STRONG> relating to mouse interfacing are + not part of XPG4, nor are they present in SVr4. See + the <STRONG><A HREF="curs_mouse.3x.html">curs_mouse(3x)</A></STRONG> manual page for details. + + <STRONG>o</STRONG> The routine <STRONG>mcprint</STRONG> was not present in any previous + curses implementation. See the <STRONG><A HREF="curs_print.3x.html">curs_print(3x)</A></STRONG> manual + page for details. + + <STRONG>o</STRONG> The routine <STRONG>wresize</STRONG> is not part of XPG4, nor is it + present in SVr4. See the <STRONG><A HREF="wresize.3x.html">wresize(3x)</A></STRONG> manual page for + details. + + <STRONG>o</STRONG> The WINDOW structure's internal details can be hidden + from application programs. See <STRONG><A HREF="curs_opaque.3x.html">curs_opaque(3x)</A></STRONG> for + the discussion of <STRONG>is_scrollok</STRONG>, etc. + + <STRONG>o</STRONG> This implementation can be configured to provide rudi- + mentary support for multi-threaded applications. See + <STRONG><A HREF="curs_threads.3x.html">curs_threads(3x)</A></STRONG> for details. + + <STRONG>o</STRONG> This implementation can also be configured to provide + a set of functions which improve the ability to manage + multiple screens. See <STRONG><A HREF="curs_sp_funcs.3x.html">curs_sp_funcs(3x)</A></STRONG> for details. + + In historic curses versions, delays embedded in the capa- + bilities <STRONG>cr</STRONG>, <STRONG>ind</STRONG>, <STRONG>cub1</STRONG>, <STRONG>ff</STRONG> and <STRONG>tab</STRONG> activated corresponding + delay bits in the UNIX tty driver. In this implementa- + tion, all padding is done by sending NUL bytes. This + method is slightly more expensive, but narrows the inter- + face to the UNIX kernel significantly and increases the + package's portability correspondingly. + + +</PRE> +<H2>NOTES</H2><PRE> + The header file <STRONG><curses.h></STRONG> automatically includes the + header files <STRONG><stdio.h></STRONG> and <STRONG><unctrl.h></STRONG>. + + If standard output from a <STRONG>ncurses</STRONG> program is re-directed + to something which is not a tty, screen updates will be + directed to standard error. This was an undocumented fea- + ture of AT&T System V Release 3 curses. + + +</PRE> +<H2>AUTHORS</H2><PRE> + Zeyd M. Ben-Halim, Eric S. Raymond, Thomas E. Dickey. + Based on pcurses by Pavel Curtis. + + + + <STRONG><A HREF="ncurses.3x.html">ncurses(3x)</A></STRONG> +</PRE> +<HR> +<ADDRESS> +Man(1) output converted with +<a href="http://www.oac.uci.edu/indiv/ehood/man2html.html">man2html</a> +</ADDRESS> +</BODY> +</HTML> |