+<!--
+ * t
+ ****************************************************************************
+ * Copyright 2018-2019,2020 Thomas E. Dickey *
+ * Copyright 1998-2015,2017 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.150 2020/11/07 23:48:27 tom Exp @
+-->
+<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN">
<HTML>
+<HEAD>
+<meta http-equiv="Content-Type" content="text/html; charset=us-ascii">
+<meta name="generator" content="Manpage converted by man2html - see https://invisible-island.net/scripts/readme.html#others_scripts">
+<TITLE>ncurses 3x</TITLE>
+<link rel="author" href="mailto:bug-ncurses@gnu.org">
+<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
+</HEAD>
<BODY>
+<H1 class="no-header">ncurses 3x</H1>
<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>
- <B>ncurses</B> - CRT screen handling and optimization package
-</PRE>
-<H2>SYNOPSIS</H2><PRE>
- <B>#include</B> <B><curses.h></B>
+</PRE><H2><a name="h2-NAME">NAME</a></H2><PRE>
+ <STRONG>ncurses</STRONG> - CRT screen handling and optimization package
-</PRE>
-<H2>DESCRIPTION</H2><PRE>
- The <B>ncurses</B> 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.
-
- The <B>ncurses</B> routines emulate the <B><A HREF="ncurses.3x.html">curses(3x)</A></B> library of
- System V Release 4 UNIX, and the XPG4 curses standard (XSI
- curses) but the <B>ncurses</B> library is freely redistributable
- in source form. Differences from the SVr4 curses are sum-
- marized under the EXTENSIONS and BUGS sections below and
- described in detail in the EXTENSIONS and BUGS sections of
- individual man pages.
-
- A program using these routines must be linked with the
- <B>-lncurses</B> option, or (if it has been generated) with the
- debugging library <B>-lncurses_g</B>. (Your system integrator
- may also have installed these libraries under the names
- <B>-lcurses</B> and <B>-lcurses_g</B>.) The ncurses_g library generates
- trace logs (in a file called 'trace' in the current direc-
- tory) that describe curses actions.
-
- The <B>ncurses</B> package supports: overall screen, window and
- pad manipulation; output to windows and pads; reading ter-
- minal input; control over terminal and <B>curses</B> 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.
-
- To initialize the routines, the routine <B>initscr</B> or <B>newterm</B>
- must be called before any of the other routines that deal
- with windows and screens are used. The routine <B>endwin</B>
- 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
+
+</PRE><H2><a name="h2-SYNOPSIS">SYNOPSIS</a></H2><PRE>
+ <STRONG>#include</STRONG> <STRONG><curses.h></STRONG>
+
+
+</PRE><H2><a name="h2-DESCRIPTION">DESCRIPTION</a></H2><PRE>
+ The <STRONG>ncurses</STRONG> 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 <STRONG>ncurses</STRONG> version 6.2 (patch 20201212).
+
+ 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>PORTABIL-</STRONG>
+ <STRONG>ITY</STRONG> sections below and described in detail in the respective <STRONG>EXTEN-</STRONG>
+ <STRONG>SIONS</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., fea-
+ tures 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
+ directory) 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 manipula-
+ tion; output to windows and pads; reading terminal input; control over
+ terminal and <STRONG>curses</STRONG> input and output options; environment query rou-
+ tines; color manipulation; use of soft label keys; terminfo capabili-
+ ties; and access to low-level terminal-manipulation routines.
+
+
+</PRE><H3><a name="h3-Initialization">Initialization</a></H3><PRE>
+ 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 initialize the
+ library before any of the other routines that deal with windows and
+ screens are used. The routine <STRONG><A HREF="curs_initscr.3x.html">endwin(3x)</A></STRONG> must be called before exit-
+ ing.
+
+ To get character-at-a-time input without echoing (most interactive,
+ screen oriented programs want this), the following sequence should be
used:
- <B>initscr();</B> <B>cbreak();</B> <B>noecho();</B>
+ <STRONG>initscr();</STRONG> <STRONG>cbreak();</STRONG> <STRONG>noecho();</STRONG>
Most programs would additionally use the sequence:
- <B>nonl();</B>
- <B>intrflush(stdscr,</B> <B>FALSE);</B>
- <B>keypad(stdscr,</B> <B>TRUE);</B>
-
- Before a <B>curses</B> 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 <B>tput</B> <B>init</B> command after the shell environment variable
- <B>TERM</B> has been exported. <B>tset(1)</B> is usually responsible
- for doing this. [See <B><A HREF="terminfo.5.html">terminfo(5)</A></B> for further details.]
-
- The <B>ncurses</B> library permits manipulation of data struc-
- tures, called <I>windows</I>, which can be thought of as two-
- dimensional arrays of characters representing all or part
- of a CRT screen. A default window called <B>stdscr</B>, which is
- the size of the terminal screen, is supplied. Others may
- be created with <B>newwin</B>.
-
- Note that <B>curses</B> does not handle overlapping windows,
- that's done by the <B><A HREF="panel.3x.html">panel(3x)</A></B> library. This means that you
- can either use <B>stdscr</B> or divide the screen into tiled win-
- dows and not using <B>stdscr</B> at all. Mixing the two will
- result in unpredictable, and undesired, effects.
-
- Windows are referred to by variables declared as <B>WINDOW</B> <B>*</B>.
- These data structures are manipulated with routines
- described here and elsewhere in the <B>ncurses</B> manual pages.
- Among which the most basic routines are <B>move</B> and <B>addch</B>.
- More general versions of these routines are included with
- names beginning with <B>w</B>, allowing the user to specify a
- window. The routines not beginning with <B>w</B> affect <B>stdscr</B>.)
-
- After using routines to manipulate a window, <B>refresh</B> is
- called, telling <B>curses</B> to make the user's CRT screen look
- like <B>stdscr</B>. The characters in a window are actually of
- type <B>chtype</B>, (character and attribute data) so that other
- information about the character may also be stored with
- each character.
-
- Special windows called <I>pads</I> 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 <B><A HREF="curs_pad.3x.html">curs_pad(3x)</A></B> 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, <B>curses</B> 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
- <B><curses.h></B>, such as <B>A_REVERSE</B>, <B>ACS_HLINE</B>, and <B>KEY_LEFT</B>.
-
- If the environment variables <B>LINES</B> and <B>COLUMNS</B> are set, or
- if the program is executing in a window environment, line
- and column information in the environment will override
- information read by <I>terminfo</I>. This would effect a program
- running in an AT&T 630 layer, for example, where the size
- of a screen is changeable (see <B>ENVIRONMENT</B>).
-
- If the environment variable <B>TERMINFO</B> is defined, any pro-
- gram using <B>curses</B> checks for a local terminal definition
- before checking in the standard place. For example, if
- <B>TERM</B> is set to <B>att4424</B>, then the compiled terminal defini-
- tion is found in
-
- <B>@DATADIR@/terminfo/a/att4424</B>.
-
- (The <B>a</B> is copied from the first letter of <B>att4424</B> to avoid
- creation of huge directories.) However, if <B>TERMINFO</B> is
- set to <B>$HOME/myterms</B>, <B>curses</B> first checks
-
- <B>$HOME/myterms/a/att4424</B>,
+ <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 terminal 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 environ-
+ ment 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.]
+
+
+</PRE><H3><a name="h3-Datatypes">Datatypes</a></H3><PRE>
+ The <STRONG>ncurses</STRONG> library permits manipulation of data structures, called
+ <EM>windows</EM>, which can be thought of as two-dimensional arrays of charac-
+ ters 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 windows and not using <STRONG>stdscr</STRONG> at all. Mix-
+ ing 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><A HREF="curs_refresh.3x.html">refresh(3x)</A></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 displayed. See <STRONG><A HREF="curs_pad.3x.html">curs_pad(3x)</A></STRONG> for more informa-
+ tion.
+
+ 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, <STRONG>curses</STRONG> is also able to translate
+ arrow and function keys that transmit escape sequences into single val-
+ ues. 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>.
+
+
+</PRE><H3><a name="h3-Environment-variables">Environment variables</a></H3><PRE>
+ If the environment variables <STRONG>LINES</STRONG> and <STRONG>COLUMNS</STRONG> are set, or if the pro-
+ gram 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 program 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 com-
+ piled terminal definition is found in
+
+ <STRONG>/usr/local/ncurses/lib/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
- <B>@DATADIR@/terminfo/a/att4424</B>.
-
- This is useful for developing experimental definitions or
- when write permission in <B>@DATADIR@/terminfo</B> is not avail-
- able.
-
- The integer variables <B>LINES</B> and <B>COLS</B> are defined in
- <B><curses.h></B> and will be filled in by <B>initscr</B> with the size
- of the screen. The constants <B>TRUE</B> and <B>FALSE</B> have the val-
- ues <B>1</B> and <B>0</B>, respectively.
-
- The <B>curses</B> routines also define the <B>WINDOW</B> <B>*</B> variable
- <B>curscr</B> which is used for certain low-level operations like
- clearing and redrawing a screen containing garbage. The
- <B>curscr</B> can be used in only a few routines.
-
-
- <B>Routine</B> <B>and</B> <B>Argument</B> <B>Names</B>
- Many <B>curses</B> routines have two or more versions. The rou-
- tines prefixed with <B>w</B> require a window argument. The rou-
- tines prefixed with <B>p</B> require a pad argument. Those with-
- out a prefix generally use <B>stdscr</B>.
-
- The routines prefixed with <B>mv</B> require a <I>y</I> and <I>x</I> coordinate
- to move to before performing the appropriate action. The
- <B>mv</B> routines imply a call to <B>move</B> before the call to the
- other routine. The coordinate <I>y</I> always refers to the row
- (of the window), and <I>x</I> always refers to the column. The
- upper left-hand corner is always (0,0), not (1,1).
-
- The routines prefixed with <B>mvw</B> take both a window argument
- and <I>x</I> and <I>y</I> coordinates. The window argument is always
- specified before the coordinates.
-
- In each case, <I>win</I> is the window affected, and <I>pad</I> is the
- pad affected; <I>win</I> and <I>pad</I> are always pointers to type
- <B>WINDOW</B>.
-
- Option setting routines require a Boolean flag <I>bf</I> with the
- value <B>TRUE</B> or <B>FALSE</B>; <I>bf</I> is always of type <B>bool</B>. The vari-
- ables <I>ch</I> and <I>attrs</I> below are always of type <B>chtype</B>. The
- types <B>WINDOW</B>, <B>SCREEN</B>, <B>bool</B>, and <B>chtype</B> are defined in
- <B><curses.h></B>. The type <B>TERMINAL</B> is defined in <B><term.h></B>.
- All other arguments are integers.
-
-
- <B>Routine</B> <B>Name</B> <B>Index</B>
- The following table lists each <B>curses</B> 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.
-
- <B>curses</B> Routine Name Manual Page Name
- -------------------------------------------
- COLOR_PAIR <B><A HREF="curs_color.3x.html">curs_color(3x)</A></B>
- PAIR_NUMBER <B><A HREF="curs_attr.3x.html">curs_attr(3x)</A></B>
- _nc_tracebits <B><A HREF="curs_trace.3x.html">curs_trace(3x)</A></B>*
- _traceattr <B><A HREF="curs_trace.3x.html">curs_trace(3x)</A></B>*
- _traceattr2 <B><A HREF="curs_trace.3x.html">curs_trace(3x)</A></B>*
- _tracechar <B><A HREF="curs_trace.3x.html">curs_trace(3x)</A></B>*
- _tracechtype <B><A HREF="curs_trace.3x.html">curs_trace(3x)</A></B>*
- _tracechtype2 <B><A HREF="curs_trace.3x.html">curs_trace(3x)</A></B>*
- _tracedump <B><A HREF="curs_trace.3x.html">curs_trace(3x)</A></B>*
- _tracef <B><A HREF="curs_trace.3x.html">curs_trace(3x)</A></B>*
- _tracemouse <B><A HREF="curs_trace.3x.html">curs_trace(3x)</A></B>*
- addch <B><A HREF="curs_addch.3x.html">curs_addch(3x)</A></B>
- addchnstr <B><A HREF="curs_addchstr.3x.html">curs_addchstr(3x)</A></B>
- addchstr <B><A HREF="curs_addchstr.3x.html">curs_addchstr(3x)</A></B>
- addnstr <B><A HREF="curs_addstr.3x.html">curs_addstr(3x)</A></B>
- addstr <B><A HREF="curs_addstr.3x.html">curs_addstr(3x)</A></B>
- assume_default_colors <B><A HREF="dft_fgbg.3x.html">dft_fgbg(3x)</A></B>*
- attr_get <B><A HREF="curs_attr.3x.html">curs_attr(3x)</A></B>
- attr_off <B><A HREF="curs_attr.3x.html">curs_attr(3x)</A></B>
- attr_on <B><A HREF="curs_attr.3x.html">curs_attr(3x)</A></B>
- attr_set <B><A HREF="curs_attr.3x.html">curs_attr(3x)</A></B>
- attroff <B><A HREF="curs_attr.3x.html">curs_attr(3x)</A></B>
- attron <B><A HREF="curs_attr.3x.html">curs_attr(3x)</A></B>
- attrset <B><A HREF="curs_attr.3x.html">curs_attr(3x)</A></B>
- baudrate <B><A HREF="curs_termattrs.3x.html">curs_termattrs(3x)</A></B>
- beep <B><A HREF="curs_beep.3x.html">curs_beep(3x)</A></B>
- bkgd <B><A HREF="curs_bkgd.3x.html">curs_bkgd(3x)</A></B>
- bkgdset <B><A HREF="curs_bkgd.3x.html">curs_bkgd(3x)</A></B>
- border <B><A HREF="curs_border.3x.html">curs_border(3x)</A></B>
- box <B><A HREF="curs_border.3x.html">curs_border(3x)</A></B>
- can_change_color <B><A HREF="curs_color.3x.html">curs_color(3x)</A></B>
- cbreak <B><A HREF="curs_inopts.3x.html">curs_inopts(3x)</A></B>
- chgat <B><A HREF="curs_attr.3x.html">curs_attr(3x)</A></B>
- clear <B><A HREF="curs_clear.3x.html">curs_clear(3x)</A></B>
- clearok <B><A HREF="curs_outopts.3x.html">curs_outopts(3x)</A></B>
-
- clrtobot <B><A HREF="curs_clear.3x.html">curs_clear(3x)</A></B>
- clrtoeol <B><A HREF="curs_clear.3x.html">curs_clear(3x)</A></B>
- color_content <B><A HREF="curs_color.3x.html">curs_color(3x)</A></B>
- color_set <B><A HREF="curs_attr.3x.html">curs_attr(3x)</A></B>
- copywin <B><A HREF="curs_overlay.3x.html">curs_overlay(3x)</A></B>
- curs_set <B><A HREF="curs_kernel.3x.html">curs_kernel(3x)</A></B>
- curses_version <B><A HREF="curs_extend.3x.html">curs_extend(3x)</A></B>*
- def_prog_mode <B><A HREF="curs_kernel.3x.html">curs_kernel(3x)</A></B>
- def_shell_mode <B><A HREF="curs_kernel.3x.html">curs_kernel(3x)</A></B>
- define_key <B><A HREF="define_key.3x.html">define_key(3x)</A></B>*
- del_curterm <B><A HREF="curs_terminfo.3x.html">curs_terminfo(3x)</A></B>
- delay_output <B><A HREF="curs_util.3x.html">curs_util(3x)</A></B>
- delch <B><A HREF="curs_delch.3x.html">curs_delch(3x)</A></B>
- deleteln <B><A HREF="curs_deleteln.3x.html">curs_deleteln(3x)</A></B>
- delscreen <B><A HREF="curs_initscr.3x.html">curs_initscr(3x)</A></B>
- delwin <B><A HREF="curs_window.3x.html">curs_window(3x)</A></B>
- derwin <B><A HREF="curs_window.3x.html">curs_window(3x)</A></B>
- doupdate <B><A HREF="curs_refresh.3x.html">curs_refresh(3x)</A></B>
- dupwin <B><A HREF="curs_window.3x.html">curs_window(3x)</A></B>
- echo <B><A HREF="curs_inopts.3x.html">curs_inopts(3x)</A></B>
- echochar <B><A HREF="curs_addch.3x.html">curs_addch(3x)</A></B>
- endwin <B><A HREF="curs_initscr.3x.html">curs_initscr(3x)</A></B>
- erase <B><A HREF="curs_clear.3x.html">curs_clear(3x)</A></B>
- erasechar <B><A HREF="curs_termattrs.3x.html">curs_termattrs(3x)</A></B>
- filter <B><A HREF="curs_util.3x.html">curs_util(3x)</A></B>
- flash <B><A HREF="curs_beep.3x.html">curs_beep(3x)</A></B>
- flushinp <B><A HREF="curs_util.3x.html">curs_util(3x)</A></B>
- getbegyx <B><A HREF="curs_getyx.3x.html">curs_getyx(3x)</A></B>
- getbkgd <B><A HREF="curs_bkgd.3x.html">curs_bkgd(3x)</A></B>
- getch <B><A HREF="curs_getch.3x.html">curs_getch(3x)</A></B>
- getmaxyx <B><A HREF="curs_getyx.3x.html">curs_getyx(3x)</A></B>
- getmouse <B><A HREF="curs_mouse.3x.html">curs_mouse(3x)</A></B>*
- getnstr <B><A HREF="curs_getstr.3x.html">curs_getstr(3x)</A></B>
- getparyx <B><A HREF="curs_getyx.3x.html">curs_getyx(3x)</A></B>
- getstr <B><A HREF="curs_getstr.3x.html">curs_getstr(3x)</A></B>
- getsyx <B><A HREF="curs_kernel.3x.html">curs_kernel(3x)</A></B>
- getwin <B><A HREF="curs_util.3x.html">curs_util(3x)</A></B>
- getyx <B><A HREF="curs_getyx.3x.html">curs_getyx(3x)</A></B>
- halfdelay <B><A HREF="curs_inopts.3x.html">curs_inopts(3x)</A></B>
- has_colors <B><A HREF="curs_color.3x.html">curs_color(3x)</A></B>
- has_ic <B><A HREF="curs_termattrs.3x.html">curs_termattrs(3x)</A></B>
- has_il <B><A HREF="curs_termattrs.3x.html">curs_termattrs(3x)</A></B>
- has_key <B><A HREF="curs_getch.3x.html">curs_getch(3x)</A></B>*
- hline <B><A HREF="curs_border.3x.html">curs_border(3x)</A></B>
- idcok <B><A HREF="curs_outopts.3x.html">curs_outopts(3x)</A></B>
- idlok <B><A HREF="curs_outopts.3x.html">curs_outopts(3x)</A></B>
- immedok <B><A HREF="curs_outopts.3x.html">curs_outopts(3x)</A></B>
- inch <B><A HREF="curs_inch.3x.html">curs_inch(3x)</A></B>
- inchnstr <B><A HREF="curs_inchstr.3x.html">curs_inchstr(3x)</A></B>
- inchstr <B><A HREF="curs_inchstr.3x.html">curs_inchstr(3x)</A></B>
- init_color <B><A HREF="curs_color.3x.html">curs_color(3x)</A></B>
- init_pair <B><A HREF="curs_color.3x.html">curs_color(3x)</A></B>
- initscr <B><A HREF="curs_initscr.3x.html">curs_initscr(3x)</A></B>
-
- innstr <B><A HREF="curs_instr.3x.html">curs_instr(3x)</A></B>
- insch <B><A HREF="curs_insch.3x.html">curs_insch(3x)</A></B>
- insdelln <B><A HREF="curs_deleteln.3x.html">curs_deleteln(3x)</A></B>
- insertln <B><A HREF="curs_deleteln.3x.html">curs_deleteln(3x)</A></B>
- insnstr <B><A HREF="curs_insstr.3x.html">curs_insstr(3x)</A></B>
- insstr <B><A HREF="curs_insstr.3x.html">curs_insstr(3x)</A></B>
- instr <B><A HREF="curs_instr.3x.html">curs_instr(3x)</A></B>
- intrflush <B><A HREF="curs_inopts.3x.html">curs_inopts(3x)</A></B>
- is_linetouched <B><A HREF="curs_touch.3x.html">curs_touch(3x)</A></B>
- is_wintouched <B><A HREF="curs_touch.3x.html">curs_touch(3x)</A></B>
- isendwin <B><A HREF="curs_initscr.3x.html">curs_initscr(3x)</A></B>
- keybound <B><A HREF="keybound.3x.html">keybound(3x)</A></B>*
- keyname <B><A HREF="curs_util.3x.html">curs_util(3x)</A></B>
- keyok <B><A HREF="keyok.3x.html">keyok(3x)</A></B>*
- keypad <B><A HREF="curs_inopts.3x.html">curs_inopts(3x)</A></B>
- killchar <B><A HREF="curs_termattrs.3x.html">curs_termattrs(3x)</A></B>
- leaveok <B><A HREF="curs_outopts.3x.html">curs_outopts(3x)</A></B>
- longname <B><A HREF="curs_termattrs.3x.html">curs_termattrs(3x)</A></B>
- mcprint <B><A HREF="curs_print.3x.html">curs_print(3x)</A></B>*
- meta <B><A HREF="curs_inopts.3x.html">curs_inopts(3x)</A></B>
- mouse_trafo <B><A HREF="curs_mouse.3x.html">curs_mouse(3x)</A></B>*
- mouseinterval <B><A HREF="curs_mouse.3x.html">curs_mouse(3x)</A></B>*
- mousemask <B><A HREF="curs_mouse.3x.html">curs_mouse(3x)</A></B>*
- move <B><A HREF="curs_move.3x.html">curs_move(3x)</A></B>
- mvaddch <B><A HREF="curs_addch.3x.html">curs_addch(3x)</A></B>
- mvaddchnstr <B><A HREF="curs_addchstr.3x.html">curs_addchstr(3x)</A></B>
- mvaddchstr <B><A HREF="curs_addchstr.3x.html">curs_addchstr(3x)</A></B>
- mvaddnstr <B><A HREF="curs_addstr.3x.html">curs_addstr(3x)</A></B>
- mvaddstr <B><A HREF="curs_addstr.3x.html">curs_addstr(3x)</A></B>
- mvchgat <B><A HREF="curs_attr.3x.html">curs_attr(3x)</A></B>
- mvcur <B><A HREF="curs_terminfo.3x.html">curs_terminfo(3x)</A></B>
- mvdelch <B><A HREF="curs_delch.3x.html">curs_delch(3x)</A></B>
- mvderwin <B><A HREF="curs_window.3x.html">curs_window(3x)</A></B>
- mvgetch <B><A HREF="curs_getch.3x.html">curs_getch(3x)</A></B>
- mvgetnstr <B><A HREF="curs_getstr.3x.html">curs_getstr(3x)</A></B>
- mvgetstr <B><A HREF="curs_getstr.3x.html">curs_getstr(3x)</A></B>
- mvhline <B><A HREF="curs_border.3x.html">curs_border(3x)</A></B>
- mvinch <B><A HREF="curs_inch.3x.html">curs_inch(3x)</A></B>
- mvinchnstr <B><A HREF="curs_inchstr.3x.html">curs_inchstr(3x)</A></B>
- mvinchstr <B><A HREF="curs_inchstr.3x.html">curs_inchstr(3x)</A></B>
- mvinnstr <B><A HREF="curs_instr.3x.html">curs_instr(3x)</A></B>
- mvinsch <B><A HREF="curs_insch.3x.html">curs_insch(3x)</A></B>
- mvinsnstr <B><A HREF="curs_insstr.3x.html">curs_insstr(3x)</A></B>
- mvinsstr <B><A HREF="curs_insstr.3x.html">curs_insstr(3x)</A></B>
- mvinstr <B><A HREF="curs_instr.3x.html">curs_instr(3x)</A></B>
- mvprintw <B><A HREF="curs_printw.3x.html">curs_printw(3x)</A></B>
- mvscanw <B><A HREF="curs_scanw.3x.html">curs_scanw(3x)</A></B>
- mvvline <B><A HREF="curs_border.3x.html">curs_border(3x)</A></B>
- mvwaddch <B><A HREF="curs_addch.3x.html">curs_addch(3x)</A></B>
- mvwaddchnstr <B><A HREF="curs_addchstr.3x.html">curs_addchstr(3x)</A></B>
- mvwaddchstr <B><A HREF="curs_addchstr.3x.html">curs_addchstr(3x)</A></B>
- mvwaddnstr <B><A HREF="curs_addstr.3x.html">curs_addstr(3x)</A></B>
- mvwaddstr <B><A HREF="curs_addstr.3x.html">curs_addstr(3x)</A></B>
-
- mvwchgat <B><A HREF="curs_attr.3x.html">curs_attr(3x)</A></B>
- mvwdelch <B><A HREF="curs_delch.3x.html">curs_delch(3x)</A></B>
- mvwgetch <B><A HREF="curs_getch.3x.html">curs_getch(3x)</A></B>
- mvwgetnstr <B><A HREF="curs_getstr.3x.html">curs_getstr(3x)</A></B>
- mvwgetstr <B><A HREF="curs_getstr.3x.html">curs_getstr(3x)</A></B>
- mvwhline <B><A HREF="curs_border.3x.html">curs_border(3x)</A></B>
- mvwin <B><A HREF="curs_window.3x.html">curs_window(3x)</A></B>
- mvwinch <B><A HREF="curs_inch.3x.html">curs_inch(3x)</A></B>
- mvwinchnstr <B><A HREF="curs_inchstr.3x.html">curs_inchstr(3x)</A></B>
- mvwinchstr <B><A HREF="curs_inchstr.3x.html">curs_inchstr(3x)</A></B>
- mvwinnstr <B><A HREF="curs_instr.3x.html">curs_instr(3x)</A></B>
- mvwinsch <B><A HREF="curs_insch.3x.html">curs_insch(3x)</A></B>
- mvwinsnstr <B><A HREF="curs_insstr.3x.html">curs_insstr(3x)</A></B>
- mvwinsstr <B><A HREF="curs_insstr.3x.html">curs_insstr(3x)</A></B>
- mvwinstr <B><A HREF="curs_instr.3x.html">curs_instr(3x)</A></B>
- mvwprintw <B><A HREF="curs_printw.3x.html">curs_printw(3x)</A></B>
- mvwscanw <B><A HREF="curs_scanw.3x.html">curs_scanw(3x)</A></B>
- mvwvline <B><A HREF="curs_border.3x.html">curs_border(3x)</A></B>
- napms <B><A HREF="curs_kernel.3x.html">curs_kernel(3x)</A></B>
- newpad <B><A HREF="curs_pad.3x.html">curs_pad(3x)</A></B>
- newterm <B><A HREF="curs_initscr.3x.html">curs_initscr(3x)</A></B>
- newwin <B><A HREF="curs_window.3x.html">curs_window(3x)</A></B>
- nl <B><A HREF="curs_outopts.3x.html">curs_outopts(3x)</A></B>
- nocbreak <B><A HREF="curs_inopts.3x.html">curs_inopts(3x)</A></B>
- nodelay <B><A HREF="curs_inopts.3x.html">curs_inopts(3x)</A></B>
- noecho <B><A HREF="curs_inopts.3x.html">curs_inopts(3x)</A></B>
- nonl <B><A HREF="curs_outopts.3x.html">curs_outopts(3x)</A></B>
- noqiflush <B><A HREF="curs_inopts.3x.html">curs_inopts(3x)</A></B>
- noraw <B><A HREF="curs_inopts.3x.html">curs_inopts(3x)</A></B>
- notimeout <B><A HREF="curs_inopts.3x.html">curs_inopts(3x)</A></B>
- overlay <B><A HREF="curs_overlay.3x.html">curs_overlay(3x)</A></B>
- overwrite <B><A HREF="curs_overlay.3x.html">curs_overlay(3x)</A></B>
- pair_content <B><A HREF="curs_color.3x.html">curs_color(3x)</A></B>
- pechochar <B><A HREF="curs_pad.3x.html">curs_pad(3x)</A></B>
- pnoutrefresh <B><A HREF="curs_pad.3x.html">curs_pad(3x)</A></B>
- prefresh <B><A HREF="curs_pad.3x.html">curs_pad(3x)</A></B>
- printw <B><A HREF="curs_printw.3x.html">curs_printw(3x)</A></B>
- putp <B><A HREF="curs_terminfo.3x.html">curs_terminfo(3x)</A></B>
- putwin <B><A HREF="curs_util.3x.html">curs_util(3x)</A></B>
- qiflush <B><A HREF="curs_inopts.3x.html">curs_inopts(3x)</A></B>
- raw <B><A HREF="curs_inopts.3x.html">curs_inopts(3x)</A></B>
- redrawwin <B><A HREF="curs_refresh.3x.html">curs_refresh(3x)</A></B>
- refresh <B><A HREF="curs_refresh.3x.html">curs_refresh(3x)</A></B>
- reset_prog_mode <B><A HREF="curs_kernel.3x.html">curs_kernel(3x)</A></B>
- reset_shell_mode <B><A HREF="curs_kernel.3x.html">curs_kernel(3x)</A></B>
- resetty <B><A HREF="curs_kernel.3x.html">curs_kernel(3x)</A></B>
- resizeterm <B><A HREF="resizeterm.3x.html">resizeterm(3x)</A></B>*
- restartterm <B><A HREF="curs_terminfo.3x.html">curs_terminfo(3x)</A></B>
- ripoffline <B><A HREF="curs_kernel.3x.html">curs_kernel(3x)</A></B>
- savetty <B><A HREF="curs_kernel.3x.html">curs_kernel(3x)</A></B>
- scanw <B><A HREF="curs_scanw.3x.html">curs_scanw(3x)</A></B>
- scr_dump <B><A HREF="curs_scr_dump.3x.html">curs_scr_dump(3x)</A></B>
- scr_init <B><A HREF="curs_scr_dump.3x.html">curs_scr_dump(3x)</A></B>
-
- scr_restore <B><A HREF="curs_scr_dump.3x.html">curs_scr_dump(3x)</A></B>
- scr_set <B><A HREF="curs_scr_dump.3x.html">curs_scr_dump(3x)</A></B>
- scrl <B><A HREF="curs_scroll.3x.html">curs_scroll(3x)</A></B>
- scroll <B><A HREF="curs_scroll.3x.html">curs_scroll(3x)</A></B>
- scrollok <B><A HREF="curs_outopts.3x.html">curs_outopts(3x)</A></B>
- set_curterm <B><A HREF="curs_terminfo.3x.html">curs_terminfo(3x)</A></B>
- set_term <B><A HREF="curs_initscr.3x.html">curs_initscr(3x)</A></B>
- setscrreg <B><A HREF="curs_outopts.3x.html">curs_outopts(3x)</A></B>
- setsyx <B><A HREF="curs_kernel.3x.html">curs_kernel(3x)</A></B>
- setterm <B><A HREF="curs_terminfo.3x.html">curs_terminfo(3x)</A></B>
- setupterm <B><A HREF="curs_terminfo.3x.html">curs_terminfo(3x)</A></B>
- slk_attr <B><A HREF="curs_slk.3x.html">curs_slk(3x)</A></B>*
- slk_attr_off <B><A HREF="curs_slk.3x.html">curs_slk(3x)</A></B>
- slk_attr_on <B><A HREF="curs_slk.3x.html">curs_slk(3x)</A></B>
- slk_attr_set <B><A HREF="curs_slk.3x.html">curs_slk(3x)</A></B>
- slk_attroff <B><A HREF="curs_slk.3x.html">curs_slk(3x)</A></B>
- slk_attron <B><A HREF="curs_slk.3x.html">curs_slk(3x)</A></B>
- slk_attrset <B><A HREF="curs_slk.3x.html">curs_slk(3x)</A></B>
- slk_clear <B><A HREF="curs_slk.3x.html">curs_slk(3x)</A></B>
- slk_color <B><A HREF="curs_slk.3x.html">curs_slk(3x)</A></B>
- slk_init <B><A HREF="curs_slk.3x.html">curs_slk(3x)</A></B>
- slk_label <B><A HREF="curs_slk.3x.html">curs_slk(3x)</A></B>
- slk_noutrefresh <B><A HREF="curs_slk.3x.html">curs_slk(3x)</A></B>
- slk_refresh <B><A HREF="curs_slk.3x.html">curs_slk(3x)</A></B>
- slk_restore <B><A HREF="curs_slk.3x.html">curs_slk(3x)</A></B>
- slk_set <B><A HREF="curs_slk.3x.html">curs_slk(3x)</A></B>
- slk_touch <B><A HREF="curs_slk.3x.html">curs_slk(3x)</A></B>
- standend <B><A HREF="curs_attr.3x.html">curs_attr(3x)</A></B>
- standout <B><A HREF="curs_attr.3x.html">curs_attr(3x)</A></B>
- start_color <B><A HREF="curs_color.3x.html">curs_color(3x)</A></B>
- subpad <B><A HREF="curs_pad.3x.html">curs_pad(3x)</A></B>
- subwin <B><A HREF="curs_window.3x.html">curs_window(3x)</A></B>
- syncok <B><A HREF="curs_window.3x.html">curs_window(3x)</A></B>
- termattrs <B><A HREF="curs_termattrs.3x.html">curs_termattrs(3x)</A></B>
- termname <B><A HREF="curs_termattrs.3x.html">curs_termattrs(3x)</A></B>
- tgetent <B><A HREF="curs_termcap.3x.html">curs_termcap(3x)</A></B>
- tgetflag <B><A HREF="curs_termcap.3x.html">curs_termcap(3x)</A></B>
- tgetnum <B><A HREF="curs_termcap.3x.html">curs_termcap(3x)</A></B>
- tgetstr <B><A HREF="curs_termcap.3x.html">curs_termcap(3x)</A></B>
- tgoto <B><A HREF="curs_termcap.3x.html">curs_termcap(3x)</A></B>
- tigetflag <B><A HREF="curs_terminfo.3x.html">curs_terminfo(3x)</A></B>
- tigetnum <B><A HREF="curs_terminfo.3x.html">curs_terminfo(3x)</A></B>
- tigetstr <B><A HREF="curs_terminfo.3x.html">curs_terminfo(3x)</A></B>
- timeout <B><A HREF="curs_inopts.3x.html">curs_inopts(3x)</A></B>
- touchline <B><A HREF="curs_touch.3x.html">curs_touch(3x)</A></B>
- touchwin <B><A HREF="curs_touch.3x.html">curs_touch(3x)</A></B>
- tparm <B><A HREF="curs_terminfo.3x.html">curs_terminfo(3x)</A></B>
- tputs <B><A HREF="curs_termcap.3x.html">curs_termcap(3x)</A></B>
- tputs <B><A HREF="curs_terminfo.3x.html">curs_terminfo(3x)</A></B>
- trace <B><A HREF="curs_trace.3x.html">curs_trace(3x)</A></B>*
- typeahead <B><A HREF="curs_inopts.3x.html">curs_inopts(3x)</A></B>
- unctrl <B><A HREF="curs_util.3x.html">curs_util(3x)</A></B>
- ungetch <B><A HREF="curs_getch.3x.html">curs_getch(3x)</A></B>
-
- ungetmouse <B><A HREF="curs_mouse.3x.html">curs_mouse(3x)</A></B>*
- untouchwin <B><A HREF="curs_touch.3x.html">curs_touch(3x)</A></B>
- use_default_colors <B><A HREF="dft_fgbg.3x.html">dft_fgbg(3x)</A></B>*
- use_env <B><A HREF="curs_util.3x.html">curs_util(3x)</A></B>
- use_extended_names <B><A HREF="curs_extend.3x.html">curs_extend(3x)</A></B>*
- vidattr <B><A HREF="curs_terminfo.3x.html">curs_terminfo(3x)</A></B>
- vidputs <B><A HREF="curs_terminfo.3x.html">curs_terminfo(3x)</A></B>
- vline <B><A HREF="curs_border.3x.html">curs_border(3x)</A></B>
- vw_printw <B><A HREF="curs_printw.3x.html">curs_printw(3x)</A></B>
- vw_scanw <B><A HREF="curs_scanw.3x.html">curs_scanw(3x)</A></B>
- vwprintw <B><A HREF="curs_printw.3x.html">curs_printw(3x)</A></B>
- vwscanw <B><A HREF="curs_scanw.3x.html">curs_scanw(3x)</A></B>
- waddch <B><A HREF="curs_addch.3x.html">curs_addch(3x)</A></B>
- waddchnstr <B><A HREF="curs_addchstr.3x.html">curs_addchstr(3x)</A></B>
- waddchstr <B><A HREF="curs_addchstr.3x.html">curs_addchstr(3x)</A></B>
- waddnstr <B><A HREF="curs_addstr.3x.html">curs_addstr(3x)</A></B>
- waddstr <B><A HREF="curs_addstr.3x.html">curs_addstr(3x)</A></B>
- wattr_get <B><A HREF="curs_attr.3x.html">curs_attr(3x)</A></B>
- wattr_off <B><A HREF="curs_attr.3x.html">curs_attr(3x)</A></B>
- wattr_on <B><A HREF="curs_attr.3x.html">curs_attr(3x)</A></B>
- wattr_set <B><A HREF="curs_attr.3x.html">curs_attr(3x)</A></B>
- wattroff <B><A HREF="curs_attr.3x.html">curs_attr(3x)</A></B>
- wattron <B><A HREF="curs_attr.3x.html">curs_attr(3x)</A></B>
- wattrset <B><A HREF="curs_attr.3x.html">curs_attr(3x)</A></B>
- wbkgd <B><A HREF="curs_bkgd.3x.html">curs_bkgd(3x)</A></B>
- wbkgdset <B><A HREF="curs_bkgd.3x.html">curs_bkgd(3x)</A></B>
- wborder <B><A HREF="curs_border.3x.html">curs_border(3x)</A></B>
- wchgat <B><A HREF="curs_attr.3x.html">curs_attr(3x)</A></B>
- wclear <B><A HREF="curs_clear.3x.html">curs_clear(3x)</A></B>
- wclrtobot <B><A HREF="curs_clear.3x.html">curs_clear(3x)</A></B>
- wclrtoeol <B><A HREF="curs_clear.3x.html">curs_clear(3x)</A></B>
- wcolor_set <B><A HREF="curs_attr.3x.html">curs_attr(3x)</A></B>
- wcursyncup <B><A HREF="curs_window.3x.html">curs_window(3x)</A></B>
- wdelch <B><A HREF="curs_delch.3x.html">curs_delch(3x)</A></B>
- wdeleteln <B><A HREF="curs_deleteln.3x.html">curs_deleteln(3x)</A></B>
- wechochar <B><A HREF="curs_addch.3x.html">curs_addch(3x)</A></B>
- wenclose <B><A HREF="curs_mouse.3x.html">curs_mouse(3x)</A></B>*
- werase <B><A HREF="curs_clear.3x.html">curs_clear(3x)</A></B>
- wgetch <B><A HREF="curs_getch.3x.html">curs_getch(3x)</A></B>
- wgetnstr <B><A HREF="curs_getstr.3x.html">curs_getstr(3x)</A></B>
- wgetstr <B><A HREF="curs_getstr.3x.html">curs_getstr(3x)</A></B>
- whline <B><A HREF="curs_border.3x.html">curs_border(3x)</A></B>
- winch <B><A HREF="curs_inch.3x.html">curs_inch(3x)</A></B>
- winchnstr <B><A HREF="curs_inchstr.3x.html">curs_inchstr(3x)</A></B>
- winchstr <B><A HREF="curs_inchstr.3x.html">curs_inchstr(3x)</A></B>
- winnstr <B><A HREF="curs_instr.3x.html">curs_instr(3x)</A></B>
- winsch <B><A HREF="curs_insch.3x.html">curs_insch(3x)</A></B>
- winsdelln <B><A HREF="curs_deleteln.3x.html">curs_deleteln(3x)</A></B>
- winsertln <B><A HREF="curs_deleteln.3x.html">curs_deleteln(3x)</A></B>
- winsnstr <B><A HREF="curs_insstr.3x.html">curs_insstr(3x)</A></B>
- winsstr <B><A HREF="curs_insstr.3x.html">curs_insstr(3x)</A></B>
- winstr <B><A HREF="curs_instr.3x.html">curs_instr(3x)</A></B>
- wmouse_trafo <B><A HREF="curs_mouse.3x.html">curs_mouse(3x)</A></B>*
-
- wmove <B><A HREF="curs_move.3x.html">curs_move(3x)</A></B>
- wnoutrefresh <B><A HREF="curs_refresh.3x.html">curs_refresh(3x)</A></B>
- wprintw <B><A HREF="curs_printw.3x.html">curs_printw(3x)</A></B>
- wredrawln <B><A HREF="curs_refresh.3x.html">curs_refresh(3x)</A></B>
- wrefresh <B><A HREF="curs_refresh.3x.html">curs_refresh(3x)</A></B>
- wresize <B><A HREF="wresize.3x.html">wresize(3x)</A></B>*
- wscanw <B><A HREF="curs_scanw.3x.html">curs_scanw(3x)</A></B>
- wscrl <B><A HREF="curs_scroll.3x.html">curs_scroll(3x)</A></B>
- wsetscrreg <B><A HREF="curs_outopts.3x.html">curs_outopts(3x)</A></B>
- wstandend <B><A HREF="curs_attr.3x.html">curs_attr(3x)</A></B>
- wstandout <B><A HREF="curs_attr.3x.html">curs_attr(3x)</A></B>
- wsyncdown <B><A HREF="curs_window.3x.html">curs_window(3x)</A></B>
- wsyncup <B><A HREF="curs_window.3x.html">curs_window(3x)</A></B>
- wtimeout <B><A HREF="curs_inopts.3x.html">curs_inopts(3x)</A></B>
- wtouchln <B><A HREF="curs_touch.3x.html">curs_touch(3x)</A></B>
- wvline <B><A HREF="curs_border.3x.html">curs_border(3x)</A></B>
+ <STRONG>/usr/local/ncurses/lib/terminfo/a/att4424</STRONG>.
+
+ This is useful for developing experimental definitions or when write
+ permission in <STRONG>/usr/local/ncurses/lib/terminfo</STRONG> is not available.
+
+ 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 values <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 rou-
+ tines.
+
+
+</PRE><H3><a name="h3-Routine-and-Argument-Names">Routine and Argument Names</a></H3><PRE>
+ Many <STRONG>curses</STRONG> routines have two or more versions. The routines prefixed
+ with <STRONG>w</STRONG> require a window argument. The routines prefixed with <STRONG>p</STRONG> require
+ a pad argument. Those without 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 coor-
+ dinates.
+
+ 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>WINDOW</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>WINDOW</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 configura-
+ tion of the library. There are two common configurations of the
+ library:
+
+ <EM>ncurses</EM>
+ the "normal" library, which handles 8-bit characters. The nor-
+ mal (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>.
+
+ <EM>ncursesw</EM>
+ the so-called "wide" library, which handles multibyte charac-
+ ters (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 characters:
+
+ <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
+ 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.
+
+ Each cell (row and column) in a <STRONG>WINDOW</STRONG> is stored as a
+ <STRONG>cchar_t</STRONG>.
+
+ The <STRONG><A HREF="curs_getcchar.3x.html">setcchar(3x)</A></STRONG> and <STRONG><A HREF="curs_getcchar.3x.html">getcchar(3x)</A></STRONG> functions store and
+ retrieve the data from a <STRONG>cchar_t</STRONG> structure.
+
+ <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 "normal" library. There is a naming con-
+ vention which relates many of the normal/wide variants: a "_w"
+ is inserted into the name. For example, <STRONG>waddch</STRONG> becomes
+ <STRONG>wadd_wch</STRONG>.
+
+
+</PRE><H3><a name="h3-Routine-Name-Index">Routine Name Index</a></H3><PRE>
+ The following table lists the <STRONG>curses</STRONG> routines provided in the "normal"
+ and "wide" libraries and the names of the manual pages on which they
+ are 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>
+ 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>
+ alloc_pair <STRONG><A HREF="new_pair.3x.html">new_pair(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_trace <STRONG><A HREF="curs_trace.3x.html">curs_trace(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>
+ exit_curses <STRONG><A HREF="curs_memleaks.3x.html">curs_memleaks(3x)</A></STRONG>*
+ exit_terminfo <STRONG><A HREF="curs_memleaks.3x.html">curs_memleaks(3x)</A></STRONG>*
+ extended_color_content <STRONG><A HREF="curs_color.3x.html">curs_color(3x)</A></STRONG>*
+ extended_pair_content <STRONG><A HREF="curs_color.3x.html">curs_color(3x)</A></STRONG>*
+ extended_slk_color <STRONG><A HREF="curs_slk.3x.html">curs_slk(3x)</A></STRONG>*
+ filter <STRONG><A HREF="curs_util.3x.html">curs_util(3x)</A></STRONG>
+ find_pair <STRONG><A HREF="new_pair.3x.html">new_pair(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>
+ free_pair <STRONG><A HREF="new_pair.3x.html">new_pair(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>*
+ has_mouse <STRONG><A HREF="curs_mouse.3x.html">curs_mouse(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_extended_color <STRONG><A HREF="curs_color.3x.html">curs_color(3x)</A></STRONG>*
+ init_extended_pair <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_pad <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_subwin <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_inopts.3x.html">curs_inopts(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>
+ pecho_wchar <STRONG><A HREF="curs_pad.3x.html">curs_pad(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_color_pairs <STRONG><A HREF="curs_color.3x.html">curs_color(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>
+ resize_term <STRONG><A HREF="resizeterm.3x.html">resizeterm(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>
+ slk_wset <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>
+ tiparm <STRONG><A HREF="curs_terminfo.3x.html">curs_terminfo(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>*
+ use_tioctl <STRONG><A HREF="curs_util.3x.html">curs_util(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>
+ wgetdelay <STRONG><A HREF="curs_opaque.3x.html">curs_opaque(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>
+ wgetparent <STRONG><A HREF="curs_opaque.3x.html">curs_opaque(3x)</A></STRONG>*
+ wgetscrreg <STRONG><A HREF="curs_opaque.3x.html">curs_opaque(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>
+
+ Depending on the configuration, additional sets of functions may be
+ available:
+
+ <STRONG><A HREF="curs_memleaks.3x.html">curs_memleaks(3x)</A></STRONG> - curses memory-leak checking
+
+ <STRONG><A HREF="curs_sp_funcs.3x.html">curs_sp_funcs(3x)</A></STRONG> - curses screen-pointer extension
+
+ <STRONG><A HREF="curs_threads.3x.html">curs_threads(3x)</A></STRONG> - curses thread support
+
+ <STRONG><A HREF="curs_trace.3x.html">curs_trace(3x)</A></STRONG> - curses debugging routines
+
+
+</PRE><H2><a name="h2-RETURN-VALUE">RETURN VALUE</a></H2><PRE>
+ Routines that return an integer return <STRONG>ERR</STRONG> upon failure and an integer
+ value other than <STRONG>ERR</STRONG> upon successful completion, unless otherwise noted
+ in the routine descriptions.
+
+ As a general rule, routines check for null pointers passed as parame-
+ ters, and handle this as an error.
+
+ 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).
+
+ Functions with a "mv" prefix first perform a cursor movement using
+ <STRONG>wmove</STRONG>, and return an error if the position is outside the window, or if
+ the window pointer is null. Most "mv"-prefixed functions (except vari-
+ adic functions such as <STRONG>mvprintw</STRONG>) are provided both as macros and func-
+ tions.
+ Routines that return pointers return <STRONG>NULL</STRONG> on error.
-</PRE>
-<H2>RETURN VALUE</H2><PRE>
- Routines that return an integer return <B>ERR</B> upon failure
- and an integer value other than <B>ERR</B> upon successful com-
- pletion, unless otherwise noted in the routine descrip-
- tions.
- All macros return the value of the <B>w</B> version, except
- <B>setscrreg</B>, <B>wsetscrreg</B>, <B>getyx</B>, <B>getbegyx</B>, <B>getmaxyx</B>. The
- return values of <B>setscrreg</B>, <B>wsetscrreg</B>, <B>getyx</B>, <B>getbegyx</B>,
- and <B>getmaxyx</B> are undefined (<I>i</I>.<I>e</I>., these should not be used
- as the right-hand side of assignment statements).
+</PRE><H2><a name="h2-ENVIRONMENT">ENVIRONMENT</a></H2><PRE>
+ The following environment symbols are useful for customizing the run-
+ time behavior of the <STRONG>ncurses</STRONG> library. The most important ones have
+ been already discussed in detail.
- Routines that return pointers return <B>NULL</B> on error.
+</PRE><H3><a name="h3-CC-command-character">CC command-character</a></H3><PRE>
+ 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 vari-
+ able. Very few terminfo entries provide this feature.
-</PRE>
-<H2>ENVIRONMENT</H2><PRE>
- The following environment symbols are useful for customiz-
- ing the runtime behavior of the <B>ncurses</B> 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 <B>ncurses</B> 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 <B>cmdch</B> capability) of the loaded terminfo
- entries to the value of this symbol. Very few ter-
- minfo entries provide this feature.
-
- 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 $COLUMNS
- value nor the terminal's screen size is available,
- <B>ncurses</B> uses the size which may be specified in the
- terminfo database (i.e., the <B>cols</B> capability).
-
- It is important that your application use a correct
- size for the screen. However, this is not always
- possible because your application may be running on a
- host which does not honor NAWS (Negotiations About
- Window Size), or because you are temporarily running
- as another user.
-
- Either COLUMNS or LINES symbols may be specified
- independently. This is mainly useful to circumvent
- legacy misfeatures of terminal descriptions, e.g.,
- xterm which commonly specifies a 65 line screen. For
- best results, <B>lines</B> and <B>cols</B> should not be specified
- in a terminal description for terminals which are run
- as emulations.
-
- Use the <B>use_env</B> function to disable this feature.
-
- 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.
-
- HOME Tells <B>ncurses</B> 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, <B>ncurses</B> uses
- 132.
-
- 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 <I>flash</I>.
-
- NCURSES_NO_SETBUF
- Normally <B>ncurses</B> enables buffered output during ter-
- minal initialization. This is done (as in SVr4
- curses) for performance reasons. For testing pur-
- poses, both of <B>ncurses</B> 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_TRACE
- During initialization, the <B>ncurses</B> debugging library
- checks the NCURSES_TRACE symbol. If it is defined,
- to a numeric value, <B>ncurses</B> calls the <B>trace</B> function,
- using that value as the argument.
-
- The argument values, which are defined in <B>curses.h</B>,
- provide several types of information. When running
- with traces enabled, your application will write the
- file <B>trace</B> to the current directory.
-
- TERM Denotes your terminal type. Each terminal type is
- distinct, though many are similar.
-
- TERMCAP
- If the <B>ncurses</B> library has been configured with <I>term-</I>
- <I>cap</I> support, <B>ncurses</B> 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 <B>ncurses</B> to ignore the usual place for this
- information, e.g., /etc/termcap.
-
- TERMINFO
- Overrides the directory in which <B>ncurses</B> 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:
-
- - the last directory to which <B>ncurses</B> wrote, if any,
- is searched first.
-
- - the directory specified by the TERMINFO symbol
-
- - $HOME/.terminfo
-
- - directories listed in the TERMINFO_DIRS symbol
-
- - one or more directories whose names are configured
- and compiled into the ncurses library, e.g.,
- @DATADIR@/terminfo
-
- TERMINFO_DIRS
- Specifies a list of directories to search for termi-
- nal descriptions. The list is separated by colons
- (i.e., ":"). All of the terminal descriptions are in
- terminfo form, which makes a subdirectory named for
- the first letter of the terminal names therein.
-
- TERMPATH
- If TERMCAP does not hold a file name then <B>ncurses</B>
- checks the TERMPATH symbol. This is a list of file-
- names separated by colons (i.e., ":"). If the
- TERMPATH symbol is not set, <B>ncurses</B> looks in the
- files /etc/termcap, /usr/share/misc/termcap and
- $HOME/.termcap, in that order.
+ Because this name is also used in development environments to represent
+ the C compiler's name, <STRONG>ncurses</STRONG> ignores it if it does not happen to be a
+ single character.
-</PRE>
-<H2>FILES</H2><PRE>
- @DATADIR@/tabset
- directory containing initialization files for the
- terminal capability database @DATADIR@/terminfo ter-
- minal capability database
+</PRE><H3><a name="h3-BAUDRATE">BAUDRATE</a></H3><PRE>
+ The debugging library checks this environment variable when the appli-
+ cation has redirected output to a file. The variable'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.
-</PRE>
-<H2>SEE ALSO</H2><PRE>
- <B><A HREF="terminfo.5.html">terminfo(5)</A></B> and 3x pages whose names begin "curs_" for
- detailed routine descriptions.
+</PRE><H3><a name="h3-COLUMNS">COLUMNS</a></H3><PRE>
+ 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 <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. How-
+ ever, setting <STRONG>COLUMNS</STRONG> and/or <STRONG>LINES</STRONG> overrides the library's use of the
+ screen size obtained from the operating system.
-</PRE>
-<H2>EXTENSIONS</H2><PRE>
- The <B>ncurses</B> library can be compiled with an option
- (<B>-DUSE_GETCAP</B>) that falls back to the old-style /etc/term-
- cap file if the terminal setup code cannot find a terminfo
- entry corresponding to <B>TERM</B>. Use of this feature is not
- recommended, as it essentially includes an entire termcap
- compiler in the <B>ncurses</B> startup code, at significant cost
- in core and startup cycles.
-
- The <B>ncurses</B> library includes facilities for capturing
- mouse events on certain terminals (including xterm). See
- the <B><A HREF="curs_mouse.3x.html">curs_mouse(3x)</A></B> manual page for details.
-
- The <B>ncurses</B> library includes facilities for responding to
- window resizing events, e.g., when running in an xterm.
- See the <B><A HREF="resizeterm.3x.html">resizeterm(3x)</A></B> and <B><A HREF="wresize.3x.html">wresize(3x)</A></B> manual pages for
- details. In addition, the library may be configured with
- a SIGWINCH handler.
-
- The <B>ncurses</B> 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 <B><A HREF="define_key.3x.html">define_key(3x)</A></B> and <B><A HREF="keyok.3x.html">keyok(3x)</A></B> manual pages for
- details.
-
- The <B>ncurses</B> 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 <B><A HREF="use_default_colors.3x.html">use_default_colors(3x)</A></B> manual page for details.
-
- The <B>ncurses</B> library includes a function for directing
- application output to a printer attached to the terminal
- device. See the <B><A HREF="curs_print.3x.html">curs_print(3x)</A></B> manual page for details.
+ Either <STRONG>COLUMNS</STRONG> or <STRONG>LINES</STRONG> symbols may be specified independently. This
+ is mainly useful to circumvent legacy misfeatures of terminal descrip-
+ tions, 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 descrip-
+ tion for terminals which are run as emulations.
+ Use the <STRONG>use_env</STRONG> function to disable all use of external environment
+ (but not including system calls) to determine the screen size. Use the
+ <STRONG>use_tioctl</STRONG> function to update <STRONG>COLUMNS</STRONG> or <STRONG>LINES</STRONG> to match the screen size
+ obtained from system calls or the terminal database.
-</PRE>
-<H2>PORTABILITY</H2><PRE>
- The <B>ncurses</B> library is intended to be BASE-level
- conformant with the XSI Curses standard. Certain portions
- of the EXTENDED XSI Curses functionality (including color
- support) are supported. The following EXTENDED XSI Curses
- calls in support of wide (multibyte) characters are not
- yet implemented: <B>add_wch</B>, <B>add_wchnstr</B>, <B>add_wchstr</B>, <B>addnw-</B>
- <B>str</B>, <B>addwstr</B>, <B>bkgrnd</B>, <B>bkgrndset</B>, <B>border_set</B>, <B>box_set</B>,
- <B>echo_wchar</B>, <B>erasewchar</B>, <B>get_wch</B>, <B>get_wstr</B>, <B>getbkgrnd</B>,
- <B>getcchar</B>, <B>getn_wstr</B>, <B>getwchtype</B>, <B>hline_set</B>, <B>in_wch</B>,
- <B>in_wchnstr</B>, <B>in_wchstr</B>, <B>innwstr</B>, <B>ins_nwstr</B>, <B>ins_wch</B>,
- <B>ins_wstr</B>, <B>inwchnstr</B>, <B>inwchstr</B>, <B>inwstr</B>, <B>key_name</B>, <B>kill-</B>
- <B>wchar</B>, <B>mvadd_wch</B>, <B>mvadd_wchnstr</B>, <B>mvadd_wchstr</B>, <B>mvaddnwstr</B>,
- <B>mvaddwstr</B>, <B>mvget_wch</B>, <B>mvget_wstr</B>, <B>mvgetn_wstr</B>, <B>mvh-</B>
- <B>line_set</B>, <B>mvin_wch</B>, <B>mvinnwstr</B>, <B>mvins_nwstr</B>, <B>mvins_wch</B>,
- <B>mvins_wstr</B>, <B>mvinwchnstr</B>, <B>mvinwchstr</B>, <B>mvinwchstr</B>, <B>mvinwstr</B>,
- <B>mvvline_set</B>, <B>mvwadd_wch</B>, <B>mvwadd_wchnstr</B>, <B>mvwadd_wchstr</B>,
- <B>mvwaddnwstr</B>, <B>mvwaddwstr</B>, <B>mvwget_ch</B>, <B>mvwget_wch</B>,
- <B>mvwget_wstr</B>, <B>mvwgetn_wstr</B>, <B>mvwhline_set</B>, <B>mvwin_wch</B>,
- <B>mvwin_wchnstr</B>, <B>mvwin_wchstr</B>, <B>mvwinnwstr</B>, <B>mvwins_nwstr</B>,
- <B>mvwins_wch</B>, <B>mvwins_wstr</B>, <B>mvwinwchnstr</B>. <B>mvwinwstr</B>, <B>mvwv-</B>
- <B>line_set</B>, <B>pecho_wchar</B>, <B>setcchar</B>, <B>slk_wset</B>, <B>term_attrs</B>,
- <B>unget_wch</B>, <B>vhline_set</B>, <B>vid_attr</B>, <B>vid_puts</B>, <B>vline_set</B>,
- <B>wadd_wch</B>, <B>wadd_wchnstr</B>, <B>wadd_wchstr</B>, <B>waddnwstr</B>, <B>waddwstr</B>,
- <B>waddwstr</B>, <B>wbkgrnd</B>, <B>wbkgrndset</B>, <B>wbkgrndset</B>, <B>wborder_set</B>,
- <B>wecho_wchar</B>, <B>wecho_wchar</B>, <B>wget_wch</B>, <B>wget_wstr</B>, <B>wgetbkgrnd</B>,
- <B>wgetn_wstr</B>, <B>whline_set</B>, <B>win_wch</B>, <B>win_wchnstr</B>, <B>win_wchstr</B>,
- <B>winnwstr</B>, <B>wins_nwstr</B>, <B>wins_wch</B>, <B>wins_wstr</B>, <B>winwchnstr</B>,
- <B>winwchstr</B>, <B>winwstr</B>, <B>wunctrl</B>, <B>wvline_set</B>,
-
- A small number of local differences (that is, individual
- differences between the XSI Curses and <B>ncurses</B> calls) are
- described in <B>PORTABILITY</B> sections of the library man
- pages.
-
- The routine <B>has_key</B> is not part of XPG4, nor is it present
- in SVr4. See the <B><A HREF="curs_getch.3x.html">curs_getch(3x)</A></B> manual page for details.
-
- The routine <B>slk_attr</B> is not part of XPG4, nor is it pre-
- sent in SVr4. See the <B><A HREF="curs_slk.3x.html">curs_slk(3x)</A></B> manual page for
- details.
-
- The routines <B>getmouse</B>, <B>mousemask</B>, <B>ungetmouse</B>, <B>mouseinter-</B>
- <B>val</B>, and <B>wenclose</B> relating to mouse interfacing are not
- part of XPG4, nor are they present in SVr4. See the
- <B><A HREF="curs_mouse.3x.html">curs_mouse(3x)</A></B> manual page for details.
-
- The routine <B>mcprint</B> was not present in any previous curses
- implementation. See the <B><A HREF="curs_print.3x.html">curs_print(3x)</A></B> manual page for
- details.
-
- The routine <B>wresize</B> is not part of XPG4, nor is it present
- in SVr4. See the <B><A HREF="wresize.3x.html">wresize(3x)</A></B> manual page for details.
-
- In historic curses versions, delays embedded in the capa-
- bilities <B>cr</B>, <B>ind</B>, <B>cub1</B>, <B>ff</B> and <B>tab</B> activated corresponding
- delay bits in the UNIX tty driver. In this implementa-
- tion, all padding is done by NUL sends. This method is
- slightly more expensive, but narrows the interface to the
- UNIX kernel significantly and increases the package's
+
+</PRE><H3><a name="h3-ESCDELAY">ESCDELAY</a></H3><PRE>
+ Specifies the total time, in milliseconds, for which ncurses will await
+ a character sequence, e.g., a function key. The default value, 1000
+ milliseconds, is enough for most uses. However, it is made a variable
+ to accommodate unusual applications.
+
+ The most common instance where you may wish to change this value is to
+ work with slow hosts, e.g., running on a network. If the host cannot
+ read characters rapidly enough, it will have the same effect as if the
+ terminal did not send characters rapidly enough. The library will
+ still see a timeout.
+
+ Note that xterm mouse events are built up from character sequences
+ received from the xterm. If your application makes heavy use of multi-
+ ple-clicking, you may wish to lengthen this default value because the
+ timeout applies to the composed multi-click event as well as the indi-
+ vidual clicks.
+
+ 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.
+
+
+</PRE><H3><a name="h3-HOME">HOME</a></H3><PRE>
+ Tells <STRONG>ncurses</STRONG> where your home directory is. That is where it may read
+ and write auxiliary terminal descriptions:
+
+ $HOME/.termcap
+ $HOME/.terminfo
+
+
+</PRE><H3><a name="h3-LINES">LINES</a></H3><PRE>
+ Like COLUMNS, specify the height of the screen in characters. See COL-
+ UMNS for a detailed description.
+
+
+</PRE><H3><a name="h3-MOUSE_BUTTONS_123">MOUSE_BUTTONS_123</a></H3><PRE>
+ This applies only to the OS/2 EMX port. It specifies the order of but-
+ tons on the mouse. OS/2 numbers a 3-button mouse inconsistently from
+ other platforms:
+
+ 1 = left
+ 2 = right
+ 3 = middle.
+
+ This variable lets you customize the mouse. The variable must be three
+ numeric digits 1-3 in any order, e.g., 123 or 321. If it is not speci-
+ fied, <STRONG>ncurses</STRONG> uses 132.
+
+
+</PRE><H3><a name="h3-NCURSES_ASSUMED_COLORS">NCURSES_ASSUMED_COLORS</a></H3><PRE>
+ Override the compiled-in assumption that the terminal's default colors
+ are white-on-black (see <STRONG><A HREF="default_colors.3x.html">default_colors(3x)</A></STRONG>). You may set the fore-
+ ground 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 <STRONG>max_colors</STRONG> value is allowed.
+
+
+</PRE><H3><a name="h3-NCURSES_CONSOLE2">NCURSES_CONSOLE2</a></H3><PRE>
+ This applies only to the MinGW port of ncurses.
+
+ The <STRONG>Console2</STRONG> program's handling of the Microsoft Console API call <STRONG>Cre-</STRONG>
+ <STRONG>ateConsoleScreenBuffer</STRONG> is defective. Applications which use this will
+ hang. However, it is possible to simulate the action of this call by
+ mapping coordinates, explicitly saving and restoring the original
+ screen contents. Setting the environment variable <STRONG>NCGDB</STRONG> has the same
+ effect.
+
+
+</PRE><H3><a name="h3-NCURSES_GPM_TERMS">NCURSES_GPM_TERMS</a></H3><PRE>
+ 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 <STRONG>TERM</STRONG> environment 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 <STRONG>TERM</STRONG> contains "linux".
+
+
+</PRE><H3><a name="h3-NCURSES_NO_HARD_TABS">NCURSES_NO_HARD_TABS</a></H3><PRE>
+ <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.
+
+
+</PRE><H3><a name="h3-NCURSES_NO_MAGIC_COOKIE">NCURSES_NO_MAGIC_COOKIE</a></H3><PRE>
+ Some terminals use a magic-cookie feature which requires special han-
+ dling to make highlighting and other video attributes display properly.
+ You can suppress the highlighting entirely for these terminals by set-
+ ting this environment variable.
+
+
+</PRE><H3><a name="h3-NCURSES_NO_PADDING">NCURSES_NO_PADDING</a></H3><PRE>
+ 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, pre-
+ venting 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 environment variable to disable all but
+ mandatory padding. Mandatory padding is used as a part of special con-
+ trol sequences such as <EM>flash</EM>.
+
+
+</PRE><H3><a name="h3-NCURSES_NO_SETBUF">NCURSES_NO_SETBUF</a></H3><PRE>
+ This setting is obsolete. Before changes
+
+ <STRONG>o</STRONG> started with 5.9 patch 20120825 and
+
+ <STRONG>o</STRONG> continued though 5.9 patch 20130126
+
+ <STRONG>ncurses</STRONG> enabled buffered output during terminal initialization. This
+ was done (as in SVr4 curses) for performance reasons. For testing pur-
+ poses, both of <STRONG>ncurses</STRONG> and certain applications, this feature was made
+ optional. Setting the NCURSES_NO_SETBUF variable disabled output
+ buffering, leaving the output in the original (usually line buffered)
+ mode.
+
+ In the current implementation, ncurses performs its own buffering and
+ does not require this workaround. It does not modify the buffering of
+ the standard output.
+
+ The reason for the change was to make the behavior for interrupts and
+ other signals more robust. One drawback is that certain nonconven-
+ tional programs would mix ordinary stdio calls with ncurses calls and
+ (usually) work. This is no longer possible since ncurses is not using
+ the buffered standard output but its own output (to the same file
+ descriptor). As a special case, the low-level calls such as <STRONG>putp</STRONG> still
+ use the standard output. But high-level curses calls do not.
+
+
+</PRE><H3><a name="h3-NCURSES_NO_UTF8_ACS">NCURSES_NO_UTF8_ACS</a></H3><PRE>
+ During initialization, the <STRONG>ncurses</STRONG> 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 emula-
+ tor and the GNU screen program ignore these. Ncurses checks the <STRONG>TERM</STRONG>
+ 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 emula-
+ tors.
+
+ When setting this variable, you should set it to a nonzero value. Set-
+ ting it to zero (or to a nonnumber) 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 compiled 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 permit it to be used
+ by applications that use ncurses' termcap interface.
+
+
+</PRE><H3><a name="h3-NCURSES_TRACE">NCURSES_TRACE</a></H3><PRE>
+ During initialization, the <STRONG>ncurses</STRONG> debugging library checks the
+ NCURSES_TRACE environment variable. If it is defined, to a numeric
+ value, <STRONG>ncurses</STRONG> calls the <STRONG>trace</STRONG> function, using that value as the argu-
+ ment.
+
+ The argument values, which are defined in <STRONG>curses.h</STRONG>, provide several
+ types of information. When running with traces enabled, your applica-
+ tion will write the file <STRONG>trace</STRONG> to the current directory.
+
+ See <STRONG><A HREF="curs_trace.3x.html">curs_trace(3x)</A></STRONG> for more information.
+
+
+</PRE><H3><a name="h3-TERM">TERM</a></H3><PRE>
+ Denotes your terminal type. Each terminal type is distinct, though
+ many are similar.
+
+ <STRONG>TERM</STRONG> is commonly set by terminal emulators to help applications find a
+ workable terminal description. Some of those choose a popular approxi-
+ mation, e.g., "ansi", "vt100", "xterm" rather than an exact fit. Not
+ infrequently, your application will have problems with that approach,
+ e.g., incorrect function-key definitions.
+
+ If you set <STRONG>TERM</STRONG> in your environment, it has no effect on the operation
+ of the terminal emulator. It only affects the way applications work
+ within the terminal. Likewise, as a general rule (<STRONG>xterm</STRONG> being a rare
+ exception), terminal emulators which allow you to specify <STRONG>TERM</STRONG> as a
+ parameter or configuration value do not change their behavior to match
+ that setting.
+
+
+</PRE><H3><a name="h3-TERMCAP">TERMCAP</a></H3><PRE>
+ If the <STRONG>ncurses</STRONG> library has been configured with <EM>termcap</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 <STRONG>TERMCAP</STRONG> environment variable contains either a terminal description
+ (with newlines stripped out), or a file name telling where the informa-
+ tion denoted by the <STRONG>TERM</STRONG> environment variable exists. In either case,
+ setting it directs <STRONG>ncurses</STRONG> to ignore the usual place for this informa-
+ tion, e.g., /etc/termcap.
+
+
+</PRE><H3><a name="h3-TERMINFO">TERMINFO</a></H3><PRE>
+ <STRONG>ncurses</STRONG> can be configured to read from multiple terminal databases.
+ The <STRONG>TERMINFO</STRONG> variable overrides the location for the default terminal
+ database. Terminal descriptions (in terminal format) are stored in
+ terminal databases:
+
+ <STRONG>o</STRONG> Normally these are stored in a directory tree, using subdirectories
+ named by the first letter of the terminal names therein.
+
+ This is the scheme used in System V, which legacy Unix systems use,
+ and the <STRONG>TERMINFO</STRONG> variable is used by <EM>curses</EM> applications on those
+ systems to override the default location of the terminal database.
+
+ <STRONG>o</STRONG> If <STRONG>ncurses</STRONG> is built to use hashed databases, then each entry in
+ this list may be the path of a hashed database file, e.g.,
+
+ /usr/share/terminfo.db
+
+ rather than
+
+ /usr/share/terminfo/
+
+ The hashed database uses less disk-space and is a little faster
+ than the directory tree. However, some applications assume the
+ existence of the directory tree, reading it directly rather than
+ using the terminfo library calls.
+
+ <STRONG>o</STRONG> If <STRONG>ncurses</STRONG> is built with a support for reading termcap files
+ directly, then an entry in this list may be the path of a termcap
+ file.
+
+ <STRONG>o</STRONG> If the <STRONG>TERMINFO</STRONG> variable begins with "hex:" or "b64:", <STRONG>ncurses</STRONG> uses
+ the remainder of that variable as a compiled terminal description.
+ You might produce the base64 format using <STRONG><A HREF="infocmp.1m.html">infocmp(1m)</A></STRONG>:
+
+ TERMINFO="$(infocmp -0 -Q2 -q)"
+ export TERMINFO
+
+ The compiled description is used if it corresponds to the terminal
+ identified by the <STRONG>TERM</STRONG> variable.
+
+ Setting <STRONG>TERMINFO</STRONG> is the simplest, but not the only way to set location
+ of the default terminal database. The complete list of database loca-
+ tions in order follows:
+
+ <STRONG>o</STRONG> the last terminal database to which <STRONG>ncurses</STRONG> wrote, if any, is
+ searched first
+
+ <STRONG>o</STRONG> the location specified by the TERMINFO environment variable
+
+ <STRONG>o</STRONG> $HOME/.terminfo
+
+ <STRONG>o</STRONG> locations listed in the TERMINFO_DIRS environment variable
+
+ <STRONG>o</STRONG> one or more locations whose names are configured and compiled
+ into the ncurses library, i.e.,
+
+ <STRONG>o</STRONG> /usr/local/ncurses/share/terminfo:/usr/share/terminfo (corre-
+ sponding to the TERMINFO_DIRS variable)
+
+ <STRONG>o</STRONG> /usr/local/ncurses/lib/terminfo (corresponding to the TER-
+ MINFO variable)
+
+
+</PRE><H3><a name="h3-TERMINFO_DIRS">TERMINFO_DIRS</a></H3><PRE>
+ Specifies a list of locations to search for terminal descriptions.
+ Each location in the list is a terminal database as described in the
+ section on the <STRONG>TERMINFO</STRONG> variable. The list is separated by colons
+ (i.e., ":") on Unix, semicolons on OS/2 EMX.
+
+ There is no corresponding feature in System V terminfo; it is an exten-
+ sion developed for <STRONG>ncurses</STRONG>.
+
+
+</PRE><H3><a name="h3-TERMPATH">TERMPATH</a></H3><PRE>
+ If <STRONG>TERMCAP</STRONG> does not hold a file name then <STRONG>ncurses</STRONG> checks the <STRONG>TERMPATH</STRONG>
+ environment variable. This is a list of filenames separated by spaces
+ or colons (i.e., ":") on Unix, semicolons on OS/2 EMX.
+
+ If the <STRONG>TERMPATH</STRONG> environment variable 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><a name="h2-ALTERNATE-CONFIGURATIONS">ALTERNATE CONFIGURATIONS</a></H2><PRE>
+ Several different configurations are possible, depending on the config-
+ ure 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>SYNOPSIS</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 subdi-
+ rectory, 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>--dis-</STRONG>
+ <STRONG>able-overwrite</STRONG> option is used) puts the header files in a differ-
+ ent 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 enable the wide-character features in the header
+ file when compiling for the wide-character library to use the
+ extended (wide-character) functions. The symbol which enables
+ these features has changed since XSI Curses, Issue 4:
+
+ <STRONG>o</STRONG> Originally, the wide-character feature required the symbol
+ <STRONG>_XOPEN_SOURCE_EXTENDED</STRONG> but that was only valid for XPG4
+ (1996).
+
+ <STRONG>o</STRONG> Later, that was deemed conflicting with <STRONG>_XOPEN_SOURCE</STRONG> defined
+ to 500.
+
+ <STRONG>o</STRONG> As of mid-2018, none of the features in this implementation
+ require a <STRONG>_XOPEN_SOURCE</STRONG> feature greater than 600. However,
+ X/Open Curses, Issue 7 (2009) recommends defining it to 700.
+
+ <STRONG>o</STRONG> Alternatively, you can enable the feature by defining
+ <STRONG>NCURSES_WIDECHAR</STRONG> with the caveat that some other header file
+ than <STRONG>curses.h</STRONG> may require a specific value for <STRONG>_XOPEN_SOURCE</STRONG>
+ (or a system-specific symbol).
+
+ 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> structure differs, and very
+ few applications require more than a pointer to <STRONG>WINDOW</STRONG>s.
+
+ If the headers are installed allowing overwrite, the wide-charac-
+ ter library's headers should be installed last, to allow applica-
+ tions to be built using either library from the same set of head-
+ ers.
+
+ --with-pthread
+ The configure script renames the library. All of the library
+ names have a "t" appended to them (before any "w" added by
+ <STRONG>--enable-widec</STRONG>).
+
+ The global variables such as <STRONG>LINES</STRONG> are replaced by macros to allow
+ read-only access. At the same time, setter-functions are provided
+ to set these values. Some applications (very few) may require
+ changes to work with this convention.
+
+ --with-shared
+
+ --with-normal
+
+ --with-debug
+
+ --with-profile
+ The shared and normal (static) library names differ by their suf-
+ fixes, e.g., <STRONG>libncurses.so</STRONG> and <STRONG>libncurses.a</STRONG>. The debug and pro-
+ filing libraries add a "_g" and a "_p" to the root names respec-
+ tively, e.g., <STRONG>libncurses_g.a</STRONG> and <STRONG>libncurses_p.a</STRONG>.
+
+ --with-termlib
+ Low-level functions which do not depend upon whether the library
+ supports wide-characters, are provided in the tinfo library.
+
+ By doing this, it is possible to share the tinfo library between
+ wide/normal configurations as well as reduce the size of the
+ library when only low-level functions are needed.
+
+ Those functions are described in these pages:
+
+ <STRONG>o</STRONG> <STRONG><A HREF="curs_extend.3x.html">curs_extend(3x)</A></STRONG> - miscellaneous curses extensions
+
+ <STRONG>o</STRONG> <STRONG><A HREF="curs_inopts.3x.html">curs_inopts(3x)</A></STRONG> - <STRONG>curses</STRONG> input options
+
+ <STRONG>o</STRONG> <STRONG><A HREF="curs_kernel.3x.html">curs_kernel(3x)</A></STRONG> - low-level <STRONG>curses</STRONG> routines
+
+ <STRONG>o</STRONG> <STRONG><A HREF="curs_termattrs.3x.html">curs_termattrs(3x)</A></STRONG> - <STRONG>curses</STRONG> environment query routines
+
+ <STRONG>o</STRONG> <STRONG><A HREF="curs_termcap.3x.html">curs_termcap(3x)</A></STRONG> - <STRONG>curses</STRONG> emulation of termcap
+
+ <STRONG>o</STRONG> <STRONG><A HREF="curs_terminfo.3x.html">curs_terminfo(3x)</A></STRONG> - <STRONG>curses</STRONG> interfaces to terminfo database
+
+ <STRONG>o</STRONG> <STRONG><A HREF="curs_util.3x.html">curs_util(3x)</A></STRONG> - miscellaneous <STRONG>curses</STRONG> utility routines
+
+ --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. Con-
+ figure scripts should check for the function's existence rather
+ than assuming it is always in the debug library.
+
+
+</PRE><H2><a name="h2-FILES">FILES</a></H2><PRE>
+ /usr/share/tabset
+ directory containing initialization files for the terminal capa-
+ bility database /usr/local/ncurses/lib/terminfo terminal capabil-
+ ity database
+
+
+</PRE><H2><a name="h2-SEE-ALSO">SEE ALSO</a></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>
+ <STRONG><A HREF="user_caps.5.html">user_caps(5)</A></STRONG> for user-defined capabilities
+
+
+</PRE><H2><a name="h2-EXTENSIONS">EXTENSIONS</a></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/termcap 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 term-
+ cap 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 resiz-
+ ing 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 <STRONG>SIGWINCH</STRONG> 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> manual pages for details.
+
+ The <STRONG>ncurses</STRONG> 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 back-
+ ground 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 <STRONG>default_col-</STRONG>
+ <STRONG><A HREF="default_colors.3x.html">ors(3x)</A></STRONG> manual page for details.
+
+ The <STRONG>ncurses</STRONG> library includes a function for directing application out-
+ put 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><a name="h2-PORTABILITY">PORTABILITY</a></H2><PRE>
+ The <STRONG>ncurses</STRONG> library is intended to be BASE-level conformant with XSI
+ Curses. The EXTENDED XSI Curses functionality (including color sup-
+ port) 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.
+
+
+</PRE><H3><a name="h3-Error-checking">Error checking</a></H3><PRE>
+ In many cases, X/Open Curses is vague about error conditions, omitting
+ some of the SVr4 documentation.
+
+ Unlike other implementations, this one checks parameters such as point-
+ ers to WINDOW structures to ensure they are not null. The main reason
+ for providing this behavior is to guard against programmer error. The
+ standard interface does not provide a way for the library to tell an
+ application which of several possible errors were detected. Relying on
+ this (or some other) extension will adversely affect the portability of
+ curses applications.
+
+
+</PRE><H3><a name="h3-Extensions-versus-portability">Extensions versus portability</a></H3><PRE>
+ Most of the extensions provided by ncurses have not been standardized.
+ Some have been incorporated into other implementations, such as
+ PDCurses or NetBSD curses. Here are a few to consider:
+
+ <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>mouseinterval</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 imple-
+ mentation. 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 applica-
+ tion programs. See <STRONG><A HREF="curs_opaque.3x.html">curs_opaque(3x)</A></STRONG> for the discussion of <STRONG>is_scrol-</STRONG>
+ <STRONG>lok</STRONG>, etc.
+
+ <STRONG>o</STRONG> This implementation can be configured to provide rudimentary sup-
+ port 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.
+
+
+</PRE><H3><a name="h3-Padding-differences">Padding differences</a></H3><PRE>
+ In historic curses versions, delays embedded in the capabilities <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 implementation, 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.
- In the XSI standard and SVr4 manual pages, many entry
- points have prototype arguments of the for <B>char</B> <B>*const</B> (or
- <B>cchar_t</B> <B>*const</B>, or <B>wchar_t</B> <B>*const</B>, or <B>void</B> <B>*const</B>).
- Depending on one's interpretation of the ANSI C standard
- (see section 3.5.4.1), these declarations are either (a)
- meaningless, or (b) meaningless and illegal. The declara-
- tion <B>const</B> <B>char</B> <B>*x</B> is a modifiable pointer to unmodifiable
- data, but <B>char</B> <B>*const</B> <B>x</B>' is an unmodifiable pointer to
- modifiable data. Given that C passes arguments by value,
- <B><type></B> <B>*const</B> as a formal type is at best dubious. Some
- compilers choke on the prototypes. Therefore, in this
- implementation, they have been changed to <B>const</B> <B><type></B> <B>*</B>
- globally.
+</PRE><H3><a name="h3-Header-files">Header files</a></H3><PRE>
+ The header file <STRONG><curses.h></STRONG> automatically includes the header files
+ <STRONG><stdio.h></STRONG> and <STRONG><unctrl.h></STRONG>.
-</PRE>
-<H2>NOTES</H2><PRE>
- The header file <B><curses.h></B> automatically includes the
- header files <B><stdio.h></B> and <B><unctrl.h></B>.
+ X/Open Curses has more to say, but does not finish the story:
- If standard output from a <B>ncurses</B> 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.
+ The inclusion of <curses.h> may make visible all symbols from the
+ headers <stdio.h>, <term.h>, <termios.h>, and <wchar.h>.
+ Here is a more complete story:
-</PRE>
-<H2>AUTHORS</H2><PRE>
- Zeyd M. Ben-Halim, Eric S. Raymond, Thomas E. Dickey.
- Based on pcurses by Pavel Curtis.
+ <STRONG>o</STRONG> Starting with BSD curses, all implementations have included
+ <stdio.h>.
+
+ BSD curses included <curses.h> and <unctrl.h> from an internal
+ header "curses.ext" ("ext" was a short name for <EM>externs</EM>).
+
+ BSD curses used <stdio.h> internally (for <STRONG>printw</STRONG> and <STRONG>scanw</STRONG>), but
+ nothing in <curses.h> itself relied upon <stdio.h>.
+
+ <STRONG>o</STRONG> SVr2 curses added <STRONG><A HREF="curs_initscr.3x.html">newterm(3x)</A></STRONG>, which relies upon <stdio.h>. That
+ is, the function prototype uses <STRONG>FILE</STRONG>.
+
+ SVr4 curses added <STRONG>putwin</STRONG> and <STRONG>getwin</STRONG>, which also use <stdio.h>.
+
+ X/Open Curses documents all three of these functions.
+ SVr4 curses and X/Open Curses do not require the developer to
+ include <stdio.h> before including <curses.h>. Both document
+ curses showing <curses.h> as the only required header.
+ As a result, standard <curses.h> will always include <stdio.h>.
+ <STRONG>o</STRONG> X/Open Curses is inconsistent with respect to SVr4 regarding <unc-
+ trl.h>.
+ As noted in <STRONG><A HREF="curs_util.3x.html">curs_util(3x)</A></STRONG>, ncurses includes <unctrl.h> from
+ <curses.h> (like SVr4).
+ <STRONG>o</STRONG> X/Open's comments about <term.h> and <termios.h> may refer to HP-UX
+ and AIX:
+ HP-UX curses includes <term.h> from <curses.h> to declare <STRONG>setupterm</STRONG>
+ in curses.h, but ncurses (and Solaris curses) do not.
+ AIX curses includes <term.h> and <termios.h>. Again, ncurses (and
+ Solaris curses) do not.
+ <STRONG>o</STRONG> X/Open says that <curses.h> <EM>may</EM> include <term.h>, but there is no
+ requirement that it do that.
+ Some programs use functions declared in both <curses.h> and
+ <term.h>, and must include both headers in the same module. Very
+ old versions of AIX curses required including <curses.h> before
+ including <term.h>.
+ Because ncurses header files include the headers needed to define
+ datatypes used in the headers, ncurses header files can be included
+ in any order. But for portability, you should include <curses.h>
+ before <term.h>.
+ <STRONG>o</STRONG> X/Open Curses says <EM>"may</EM> <EM>make</EM> <EM>visible"</EM> because including a header
+ file does not necessarily make all symbols in it visible (there are
+ ifdef's to consider).
+ For instance, in ncurses <wchar.h> <EM>may</EM> be included if the proper
+ symbol is defined, and if ncurses is configured for wide-character
+ support. If the header is included, its symbols may be made visi-
+ ble. That depends on the value used for <STRONG>_XOPEN_SOURCE</STRONG> feature test
+ macro.
+ <STRONG>o</STRONG> X/Open Curses documents one required header, in a special case:
+ <stdarg.h> before <curses.h> to prototype the <STRONG>vw_printw</STRONG> and
+ <STRONG>vw_scanw</STRONG> functions (as well as the obsolete the <STRONG>vwprintw</STRONG> and <STRONG>vws-</STRONG>
+ <STRONG>canw</STRONG> functions). Each of those uses a <STRONG>va_list</STRONG> parameter.
+ The two obsolete functions were introduced in SVr3. The other
+ functions were introduced in X/Open Curses. In between, SVr4
+ curses provided for the possibility that an application might
+ include either <varargs.h> or <stdarg.h>. Initially, that was done
+ by using <STRONG>void*</STRONG> for the <STRONG>va_list</STRONG> parameter. Later, a special type
+ (defined in <stdio.h>) was introduced, to allow for compiler type-
+ checking. That special type is always available, because <stdio.h>
+ is always included by <curses.h>.
+ None of the X/Open Curses implementations require an application to
+ include <stdarg.h> before <curses.h> because they either have
+ allowed for a special type, or (like ncurses) include <stdarg.h>
+ directly to provide a portable interface.
+</PRE><H2><a name="h2-NOTES">NOTES</a></H2><PRE>
+ 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 feature of AT&T System V Release 3 curses.
+</PRE><H2><a name="h2-AUTHORS">AUTHORS</a></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>
+<div class="nav">
+<ul>
+<li><a href="#h2-NAME">NAME</a></li>
+<li><a href="#h2-SYNOPSIS">SYNOPSIS</a></li>
+<li><a href="#h2-DESCRIPTION">DESCRIPTION</a>
+<ul>
+<li><a href="#h3-Initialization">Initialization</a></li>
+<li><a href="#h3-Datatypes">Datatypes</a></li>
+<li><a href="#h3-Environment-variables">Environment variables</a></li>
+<li><a href="#h3-Routine-and-Argument-Names">Routine and Argument Names</a></li>
+<li><a href="#h3-Routine-Name-Index">Routine Name Index</a></li>
+</ul>
+</li>
+<li><a href="#h2-RETURN-VALUE">RETURN VALUE</a></li>
+<li><a href="#h2-ENVIRONMENT">ENVIRONMENT</a>
+<ul>
+<li><a href="#h3-CC-command-character">CC command-character</a></li>
+<li><a href="#h3-BAUDRATE">BAUDRATE</a></li>
+<li><a href="#h3-COLUMNS">COLUMNS</a></li>
+<li><a href="#h3-ESCDELAY">ESCDELAY</a></li>
+<li><a href="#h3-HOME">HOME</a></li>
+<li><a href="#h3-LINES">LINES</a></li>
+<li><a href="#h3-MOUSE_BUTTONS_123">MOUSE_BUTTONS_123</a></li>
+<li><a href="#h3-NCURSES_ASSUMED_COLORS">NCURSES_ASSUMED_COLORS</a></li>
+<li><a href="#h3-NCURSES_CONSOLE2">NCURSES_CONSOLE2</a></li>
+<li><a href="#h3-NCURSES_GPM_TERMS">NCURSES_GPM_TERMS</a></li>
+<li><a href="#h3-NCURSES_NO_HARD_TABS">NCURSES_NO_HARD_TABS</a></li>
+<li><a href="#h3-NCURSES_NO_MAGIC_COOKIE">NCURSES_NO_MAGIC_COOKIE</a></li>
+<li><a href="#h3-NCURSES_NO_PADDING">NCURSES_NO_PADDING</a></li>
+<li><a href="#h3-NCURSES_NO_SETBUF">NCURSES_NO_SETBUF</a></li>
+<li><a href="#h3-NCURSES_NO_UTF8_ACS">NCURSES_NO_UTF8_ACS</a></li>
+<li><a href="#h3-NCURSES_TRACE">NCURSES_TRACE</a></li>
+<li><a href="#h3-TERM">TERM</a></li>
+<li><a href="#h3-TERMCAP">TERMCAP</a></li>
+<li><a href="#h3-TERMINFO">TERMINFO</a></li>
+<li><a href="#h3-TERMINFO_DIRS">TERMINFO_DIRS</a></li>
+<li><a href="#h3-TERMPATH">TERMPATH</a></li>
+</ul>
+</li>
+<li><a href="#h2-ALTERNATE-CONFIGURATIONS">ALTERNATE CONFIGURATIONS</a></li>
+<li><a href="#h2-FILES">FILES</a></li>
+<li><a href="#h2-SEE-ALSO">SEE ALSO</a></li>
+<li><a href="#h2-EXTENSIONS">EXTENSIONS</a></li>
+<li><a href="#h2-PORTABILITY">PORTABILITY</a>
+<ul>
+<li><a href="#h3-Error-checking">Error checking</a></li>
+<li><a href="#h3-Extensions-versus-portability">Extensions versus portability</a></li>
+<li><a href="#h3-Padding-differences">Padding differences</a></li>
+<li><a href="#h3-Header-files">Header files</a></li>
+</ul>
+</li>
+<li><a href="#h2-NOTES">NOTES</a></li>
+<li><a href="#h2-AUTHORS">AUTHORS</a></li>
+</ul>
+</div>
</BODY>
</HTML>