* sale, use or other dealings in this Software without prior written *
* authorization. *
****************************************************************************
- * @Id: ncurses.3x,v 1.200 2024/02/24 20:03:50 tom Exp @
+ * @Id: ncurses.3x,v 1.204 2024/03/23 20:42:29 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 2024-02-24 ncurses 6.4 Library calls</TITLE>
+<TITLE>ncurses 3x 2024-03-23 ncurses 6.4 Library calls</TITLE>
<link rel="author" href="mailto:bug-ncurses@gnu.org">
</HEAD>
<BODY>
-<H1 class="no-header">ncurses 3x 2024-02-24 ncurses 6.4 Library calls</H1>
+<H1 class="no-header">ncurses 3x 2024-03-23 ncurses 6.4 Library calls</H1>
<PRE>
<STRONG><A HREF="ncurses.3x.html">ncurses(3x)</A></STRONG> Library calls <STRONG><A HREF="ncurses.3x.html">ncurses(3x)</A></STRONG>
</PRE><H2><a name="h2-DESCRIPTION">DESCRIPTION</a></H2><PRE>
- The <EM>ncurses</EM> library routines give the user a terminal-independent
- method of updating character screens with reasonable optimization.
- This implementation is "new curses" (<EM>ncurses</EM>) and is the approved
- replacement for 4.4BSD classic curses, which has been discontinued.
- This describes <EM>ncurses</EM> version 6.4 (patch 20240302).
-
- The <EM>ncurses</EM> library emulates the curses library of System V Release 4
- Unix ("SVr4"), and XPG4 (X/Open Portability Guide) curses (also known
- as XSI curses). XSI stands for X/Open System Interfaces Extension.
- The <EM>ncurses</EM> library is freely redistributable in source form.
+ The "new curses" library offers the programmer a terminal-independent
+ means of reading keyboard and mouse input and updating character-cell
+ terminals with output optimized to minimize screen updates. <EM>ncurses</EM>
+ replaces the <EM>curses</EM> libraries from System V Release 4 Unix ("SVr4") and
+ 4.4BSD Unix, the development of which ceased in the 1990s. This
+ describes <EM>ncurses</EM> version 6.4 (patch 20240323).
+
+ <EM>ncurses</EM> permits control of the terminal screen's contents; abstraction
+ and subdivision thereof with <EM>windows</EM> and <EM>pads</EM>; the reading of terminal
+ input; control of terminal input and output options; environment query
+ routines; color manipulation; the definition and use of <EM>soft</EM> <EM>label</EM>
+ keys; <EM>terminfo</EM> capabilities; a <EM>termcap</EM> compatibility interface; and
+ access to low-level terminal-manipulation routines.
+
+ <EM>ncurses</EM> implements the standard interface described by X/Open Curses
+ Issue 7. In many behavioral details not standardized by X/Open,
+ <EM>ncurses</EM> emulates the <EM>curses</EM> library of SVr4 and provides numerous
+ useful extensions.
<EM>ncurses</EM> man pages employ several sections to clarify matters of usage
and interoperability with other <EM>curses</EM> implementations.
directory) that describe curses actions. See section "ALTERNATE
CONFIGURATIONS" below.
- The <EM>ncurses</EM> package supports: overall screen, window and pad
- manipulation; output to windows and pads; reading terminal input;
- control over terminal and <STRONG>curses</STRONG> input and output options; environment
- query routines; color manipulation; use of soft label keys; terminfo
- capabilities; 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.
Among those, the most basic are <STRONG><A HREF="curs_move.3x.html">move(3x)</A></STRONG> and <STRONG><A HREF="curs_addch.3x.html">addch(3x)</A></STRONG>: these place the
cursor and write a character to <STRONG>stdscr</STRONG>, respectively. As a rule,
window-addressing functions feature names prefixed (or infixed, see
- below) with "w"; these allow the user to specify a pointer to a <EM>WINDOW.</EM>
+ below) with "w"; these allow the user to specify a pointer to a <EM>WINDOW</EM>.
Counterparts not thus prefixed (or infixed) affect <STRONG>stdscr</STRONG>. Because
moving the cursor prior to another operation is so common, <EM>curses</EM>
generally also provides functions with a "mv" prefix as a convenience.
<EM>ncurses</EM> is the library in its "non-wide" configuration, handling only
eight-bit characters. It stores a character combined with
- attributes in a <EM>chtype</EM> datum, which is often an alias of <EM>int.</EM>
+ attributes in a <EM>chtype</EM> datum, which is often an alias of <EM>int</EM>.
Attributes alone (with no corresponding character) can be
stored in variables of <EM>chtype</EM> or <EM>attr</EM><STRONG>_</STRONG><EM>t</EM> type. In either
case, they are represented as an integral bit mask.
- Each cell of a <EM>WINDOW</EM> is stored as a <EM>chtype.</EM>
+ Each cell of a <EM>WINDOW</EM> is stored as a <EM>chtype</EM>.
<EM>ncursesw</EM> is the library in its "wide" configuration, which handles
character encodings requiring a larger data type than <EM>char</EM> (a
calls using additional data types that can store such
<EM>multibyte</EM> characters.
- <EM>cchar</EM><STRONG>_</STRONG><EM>t</EM> corresponds to the non-wide configuration's <EM>chtype.</EM>
+ <EM>cchar</EM><STRONG>_</STRONG><EM>t</EM> corresponds to the non-wide configuration's <EM>chtype</EM>.
It always a structure type, because it stores more
data than fits into an integral type. A character
- code may not be representable as a <EM>char,</EM> and
+ code may not be representable as a <EM>char</EM>, and
moreover more than one character may occupy a cell
(as with accent marks and other diacritics). Each
- character is of type <EM>wchar</EM><STRONG>_</STRONG><EM>t;</EM> a complex character
+ character is of type <EM>wchar</EM><STRONG>_</STRONG><EM>t</EM>; a complex character
contains one spacing character and zero or more non-
spacing characters (see below). Attributes and
color data are stored in separate fields of the
- structure, not combined as in <EM>chtype.</EM>
+ structure, not combined as in <EM>chtype</EM>.
- Each cell of a <EM>WINDOW</EM> is stored as a <EM>cchar</EM><STRONG>_</STRONG><EM>t.</EM>
+ Each cell of a <EM>WINDOW</EM> is stored as a <EM>cchar</EM><STRONG>_</STRONG><EM>t</EM>.
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 <EM>cchar</EM><STRONG>_</STRONG><EM>t</EM> structure. The wide library
API of <EM>ncurses</EM> depends on two data types standardized by ISO
C95.
- <EM>wchar</EM><STRONG>_</STRONG><EM>t</EM> stores a wide character. Like <EM>chtype,</EM> it may be an
- alias of <EM>int.</EM> Depending on the character encoding,
- a wide character may be <EM>spacing,</EM> meaning that it
+ <EM>wchar</EM><STRONG>_</STRONG><EM>t</EM> stores a wide character. Like <EM>chtype</EM>, it may be an
+ alias of <EM>int</EM>. Depending on the character encoding,
+ a wide character may be <EM>spacing</EM>, meaning that it
occupies a character cell by itself and typically
- accompanies cursor advancement, or <EM>non-spacing,</EM>
+ accompanies cursor advancement, or <EM>non-spacing</EM>,
meaning that it occupies the same cell as a spacing
character, is often regarded as a "modifier" of the
base glyph with which it combines, and typically
---------------------------------------------
COLOR_PAIR <STRONG><A HREF="curs_color.3x.html">curs_color(3x)</A></STRONG>
PAIR_NUMBER <STRONG><A HREF="curs_color.3x.html">curs_color(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>
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>
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>
is_cbreak <STRONG><A HREF="curs_inopts.3x.html">curs_inopts(3x)</A></STRONG>*
is_cleared <STRONG><A HREF="curs_opaque.3x.html">curs_opaque(3x)</A></STRONG>*
is_echo <STRONG><A HREF="curs_inopts.3x.html">curs_inopts(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>*
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>
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>
nl <STRONG><A HREF="curs_inopts.3x.html">curs_inopts(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>
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>
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>
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>
tiparm_s <STRONG><A HREF="curs_terminfo.3x.html">curs_terminfo(3x)</A></STRONG>*
tiscan_s <STRONG><A HREF="curs_terminfo.3x.html">curs_terminfo(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>
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>*
Many different <EM>ncurses</EM> configurations are possible, determined by the
options given to the <EM>configure</EM> script when building the library. Run
the script with the <STRONG>--help</STRONG> option to peruse them all. A few are of
- particular significance to the application developer employing <EM>ncurses.</EM>
+ particular significance to the application developer employing <EM>ncurses</EM>.
--disable-overwrite
The standard include for <EM>ncurses</EM> is as noted in <STRONG>SYNOPSIS</STRONG>:
</PRE><H2><a name="h2-EXTENSIONS">EXTENSIONS</a></H2><PRE>
<EM>ncurses</EM> enables an application to capture mouse events on certain
- terminals, including <EM>xterm;</EM> see <STRONG><A HREF="curs_mouse.3x.html">curs_mouse(3x)</A></STRONG>.
+ terminals, including <EM>xterm</EM>; see <STRONG><A HREF="curs_mouse.3x.html">curs_mouse(3x)</A></STRONG>.
<EM>ncurses</EM> provides a means of responding to window resizing events, as
- when running in a GUI terminal emulator application such as <EM>xterm;</EM> see
+ when running in a GUI terminal emulator application such as <EM>xterm</EM>; see
<STRONG><A HREF="resizeterm.3x.html">resizeterm(3x)</A></STRONG> and <STRONG><A HREF="wresize.3x.html">wresize(3x)</A></STRONG>.
<EM>ncurses</EM> allows an application to query the terminal for the presence of
<STRONG>o</STRONG> The compiler option <STRONG>-DUSE_GETCAP</STRONG> causes the library to fall back to
reading <EM>/etc/termcap</EM> if the terminal setup code cannot find a <EM>term-</EM>
- <EM>info</EM> entry corresponding to <EM>TERM.</EM> Use of this feature is not
+ <EM>info</EM> entry corresponding to <EM>TERM</EM>. Use of this feature is not
recommended, as it essentially includes an entire <EM>termcap</EM> compiler
in the <EM>ncurses</EM> startup code, at a cost in memory usage and
application launch latency.
-ncurses 6.4 2024-02-24 <STRONG><A HREF="ncurses.3x.html">ncurses(3x)</A></STRONG>
+ncurses 6.4 2024-03-23 <STRONG><A HREF="ncurses.3x.html">ncurses(3x)</A></STRONG>
</PRE>
<div class="nav">
<ul>