-- sale, use or other dealings in this Software without prior written --
-- authorization. --
-------------------------------------------------------------------------------
--- $Id: NEWS,v 1.3995 2023/09/09 16:45:37 tom Exp $
+-- $Id: NEWS,v 1.4000 2023/09/17 08:34:59 tom Exp $
-------------------------------------------------------------------------------
This is a log of changes that ncurses has gone through since Zeyd started
Changes through 1.9.9e did not credit all contributions;
it is not possible to add this information.
+20230917
+ + improve formatting of manpages (integrated patches by Branden
+ Robinson).
+ + correct limit for name-length in write_entry.c (report/testcase by
+ Luna Saphie Mittelbach).
+ + limit delays to 30 seconds, i.e., padding delays in terminfo, as well
+ as napms() and delay_output() functions.
+ + improve a few pointer-checks.
+ + improve parsing in _nc_msec_cost, allowing a single decimal point.
+
20230909
- + improve formatting of manpages (patches by Branden Robinson).
+ + improve formatting of manpages (patches by Branden Robinson), for
+ captoinfo.1m and terminfo.5
> patches by Nicholas Marriott:
+ use string-hacks in alloc_entry.c, alloc_type.c and hardscroll.c,
overlooked due to compiler changes in recent OpenBSD releases.
-5:0:10 6.4 20230909
+5:0:10 6.4 20230917
# use or other dealings in this Software without prior written #
# authorization. #
##############################################################################
-# $Id: dist.mk,v 1.1563 2023/09/09 12:21:39 tom Exp $
+# $Id: dist.mk,v 1.1565 2023/09/17 08:35:40 tom Exp $
# Makefile for creating ncurses distributions.
#
# This only needs to be used directly as a makefile by developers, but
# These define the major/minor/patch versions of ncurses.
NCURSES_MAJOR = 6
NCURSES_MINOR = 4
-NCURSES_PATCH = 20230909
+NCURSES_PATCH = 20230917
# We don't append the patch to the version, since this only applies to releases
VERSION = $(NCURSES_MAJOR).$(NCURSES_MINOR)
* sale, use or other dealings in this Software without prior written *
* authorization. *
****************************************************************************
- * @Id: MKada_config.in,v 1.17 2023/09/09 17:06:25 Branden.Robinson Exp @
+ * @Id: MKada_config.in,v 1.22 2023/09/17 08:29:17 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>ADACURSES 1 2023-08-19 ncurses 6.4 User commands</TITLE>
+<TITLE>ADACURSES 1 2023-09-17 ncurses 6.4 User commands</TITLE>
<link rel="author" href="mailto:bug-ncurses@gnu.org">
</HEAD>
<BODY>
-<H1 class="no-header">ADACURSES 1 2023-08-19 ncurses 6.4 User commands</H1>
+<H1 class="no-header">ADACURSES 1 2023-09-17 ncurses 6.4 User commands</H1>
<PRE>
<STRONG>ADACURSES(1)</STRONG> User commands <STRONG>ADACURSES(1)</STRONG>
</PRE><H2><a name="h2-NAME">NAME</a></H2><PRE>
- adacurses6-config - helper script for AdaCurses libraries
+ <STRONG>adacurses6-config</STRONG> - helper script for AdaCurses libraries
</PRE><H2><a name="h2-SYNOPSIS">SYNOPSIS</a></H2><PRE>
</PRE><H2><a name="h2-SEE-ALSO">SEE ALSO</a></H2><PRE>
<STRONG><A HREF="ncurses.3x.html">curses(3x)</A></STRONG>
- This describes <STRONG>ncurses</STRONG> version 6.4 (patch 20230909).
+ This describes <STRONG>ncurses</STRONG> version 6.4 (patch 20230917).
-ncurses 6.4 2023-08-19 <STRONG>ADACURSES(1)</STRONG>
+ncurses 6.4 2023-09-17 <STRONG>ADACURSES(1)</STRONG>
</PRE>
<div class="nav">
<ul>
* sale, use or other dealings in this Software without prior written *
* authorization. *
****************************************************************************
- * @Id: captoinfo.1m,v 1.39 2023/09/09 16:40:25 tom Exp @
+ * @Id: captoinfo.1m,v 1.44 2023/09/16 23:39:05 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>captoinfo 1m 2023-09-09 ncurses 6.4 User commands</TITLE>
+<TITLE>captoinfo 1m 2023-09-16 ncurses 6.4 User commands</TITLE>
<link rel="author" href="mailto:bug-ncurses@gnu.org">
</HEAD>
<BODY>
-<H1 class="no-header">captoinfo 1m 2023-09-09 ncurses 6.4 User commands</H1>
+<H1 class="no-header">captoinfo 1m 2023-09-16 ncurses 6.4 User commands</H1>
<PRE>
<STRONG><A HREF="captoinfo.1m.html">captoinfo(1m)</A></STRONG> User commands <STRONG><A HREF="captoinfo.1m.html">captoinfo(1m)</A></STRONG>
</PRE><H2><a name="h2-SYNOPSIS">SYNOPSIS</a></H2><PRE>
- <STRONG>captoinfo</STRONG> [<STRONG>-v</STRONG><EM>n</EM> <EM>width</EM>] [<STRONG>-V</STRONG>] [<STRONG>-1</STRONG>] [<STRONG>-w</STRONG> <EM>width</EM>] <EM>file</EM> ...
+ <STRONG>captoinfo</STRONG> [<EM>tic-option</EM>] <EM>file</EM> ...
+
+ <STRONG>captoinfo</STRONG> <STRONG>-V</STRONG>
</PRE><H2><a name="h2-DESCRIPTION">DESCRIPTION</a></H2><PRE>
is extracted from that file. If the environment variable <STRONG>TERMCAP</STRONG> is
not set, then the file <STRONG>/usr/share/terminfo</STRONG> is read.
- <STRONG>-v</STRONG> print out tracing information on standard error as the program
- runs.
-
- <STRONG>-V</STRONG> print out the version of the program in use on standard error and
- exit.
-
- <STRONG>-1</STRONG> cause the fields to print out one to a line. Otherwise, the
- fields will be printed several to a line to a maximum width of 60
- characters.
-
- <STRONG>-w</STRONG> change the output to <EM>width</EM> characters.
+ This utility is implemented as a link to <STRONG><A HREF="tic.1m.html">tic(1m)</A></STRONG>, with the latter's <STRONG>-I</STRONG>
+ option implied. You can use other <STRONG>tic</STRONG> options such as <STRONG>-1</STRONG>, <STRONG>-f</STRONG>, <STRONG>-v</STRONG>, <STRONG>-w</STRONG>,
+ and <STRONG>-x</STRONG>.
</PRE><H2><a name="h2-FILES">FILES</a></H2><PRE>
PN po XENIX prtr_off
PS pf XENIX prtr_on
PU kP XENIX key_ppage
-
RT @8 XENIX kent
UP ku XENIX kcuu1
KA k; Tek key_f10
KB F1 Tek key_f11
KC F2 Tek key_f12
KD F3 Tek key_f13
+
KE F4 Tek key_f14
KF F5 Tek key_f15
BC Sb Tek set_background
</PRE><H2><a name="h2-NOTES">NOTES</a></H2><PRE>
- This utility is actually a link to <STRONG><A HREF="tic.1m.html">tic(1m)</A></STRONG>, running in <EM>-I</EM> mode. You
- can use other <STRONG>tic</STRONG> options such as <STRONG>-f</STRONG> and <STRONG>-x</STRONG>.
-
- The verbose option is not identical to SVr4's. Under SVr4, instead of
+ The verbose option is not identical to SVr4's. Under SVr4, instead of
following the <STRONG>-v</STRONG> with a trace level n, you repeat it n times.
</PRE><H2><a name="h2-PORTABILITY">PORTABILITY</a></H2><PRE>
- X/Open Curses, Issue 7 (2009) describes <STRONG>tic</STRONG> briefly, but omits this
+ X/Open Curses, Issue 7 (2009) describes <STRONG>tic</STRONG> briefly, but omits this
program. SVr4 systems provide <STRONG>captoinfo</STRONG> as a separate application from
<STRONG>tic</STRONG>.
</PRE><H2><a name="h2-SEE-ALSO">SEE ALSO</a></H2><PRE>
<STRONG><A HREF="infocmp.1m.html">infocmp(1m)</A></STRONG>, <STRONG><A HREF="ncurses.3x.html">curses(3x)</A></STRONG>, <STRONG><A HREF="terminfo.5.html">terminfo(5)</A></STRONG>
- This describes <STRONG>ncurses</STRONG> version 6.4 (patch 20230909).
+ This describes <STRONG>ncurses</STRONG> version 6.4 (patch 20230917).
</PRE><H2><a name="h2-AUTHOR">AUTHOR</a></H2><PRE>
-ncurses 6.4 2023-09-09 <STRONG><A HREF="captoinfo.1m.html">captoinfo(1m)</A></STRONG>
+ncurses 6.4 2023-09-16 <STRONG><A HREF="captoinfo.1m.html">captoinfo(1m)</A></STRONG>
</PRE>
<div class="nav">
<ul>
* sale, use or other dealings in this Software without prior written *
* authorization. *
****************************************************************************
- * @Id: clear.1,v 1.35 2023/09/09 21:12:26 tom Exp @
+ * @Id: clear.1,v 1.38 2023/09/16 23:39:05 tom Exp @
* these would be fallbacks for DS/DE,
* but groff changed the meaning of the macros.
-->
<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>clear 1 2023-09-09 ncurses 6.4 User commands</TITLE>
+<TITLE>clear 1 2023-09-16 ncurses 6.4 User commands</TITLE>
<link rel="author" href="mailto:bug-ncurses@gnu.org">
</HEAD>
<BODY>
-<H1 class="no-header">clear 1 2023-09-09 ncurses 6.4 User commands</H1>
+<H1 class="no-header">clear 1 2023-09-16 ncurses 6.4 User commands</H1>
<PRE>
<STRONG><A HREF="clear.1.html">clear(1)</A></STRONG> User commands <STRONG><A HREF="clear.1.html">clear(1)</A></STRONG>
</PRE><H2><a name="h2-SEE-ALSO">SEE ALSO</a></H2><PRE>
<STRONG><A HREF="tput.1.html">tput(1)</A></STRONG>, <STRONG>xterm(1)</STRONG>, <STRONG><A HREF="terminfo.5.html">terminfo(5)</A></STRONG>.
- This describes <STRONG>ncurses</STRONG> version 6.4 (patch 20230909).
+ This describes <STRONG>ncurses</STRONG> version 6.4 (patch 20230917).
-ncurses 6.4 2023-09-09 <STRONG><A HREF="clear.1.html">clear(1)</A></STRONG>
+ncurses 6.4 2023-09-16 <STRONG><A HREF="clear.1.html">clear(1)</A></STRONG>
</PRE>
<div class="nav">
<ul>
* sale, use or other dealings in this Software without prior written *
* authorization. *
****************************************************************************
- * @Id: curs_add_wch.3x,v 1.39 2023/08/19 20:37:30 tom Exp @
+ * @Id: curs_add_wch.3x,v 1.43 2023/09/16 23:34:43 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>curs_add_wch 3x 2023-08-19 ncurses 6.4 Library calls</TITLE>
+<TITLE>curs_add_wch 3x 2023-09-16 ncurses 6.4 Library calls</TITLE>
<link rel="author" href="mailto:bug-ncurses@gnu.org">
</HEAD>
<BODY>
-<H1 class="no-header">curs_add_wch 3x 2023-08-19 ncurses 6.4 Library calls</H1>
+<H1 class="no-header">curs_add_wch 3x 2023-09-16 ncurses 6.4 Library calls</H1>
<PRE>
<STRONG><A HREF="curs_add_wch.3x.html">curs_add_wch(3x)</A></STRONG> Library calls <STRONG><A HREF="curs_add_wch.3x.html">curs_add_wch(3x)</A></STRONG>
</PRE><H2><a name="h2-NAME">NAME</a></H2><PRE>
<STRONG>add_wch</STRONG>, <STRONG>wadd_wch</STRONG>, <STRONG>mvadd_wch</STRONG>, <STRONG>mvwadd_wch</STRONG>, <STRONG>echo_wchar</STRONG>, <STRONG>wecho_wchar</STRONG> - add
- a complex character and rendition to a <STRONG>curses</STRONG> window, then advance the
- cursor
+ a <EM>curses</EM> complex character to a window and advance the cursor
</PRE><H2><a name="h2-SYNOPSIS">SYNOPSIS</a></H2><PRE>
</PRE><H2><a name="h2-DESCRIPTION">DESCRIPTION</a></H2><PRE>
</PRE><H3><a name="h3-add_wch">add_wch</a></H3><PRE>
- The <STRONG>add_wch</STRONG>, <STRONG>wadd_wch</STRONG>, <STRONG>mvadd_wch</STRONG>, and <STRONG>mvwadd_wch</STRONG> functions put the
- complex character <EM>wch</EM> into the given window at its current position,
- which is then advanced. These functions perform wrapping and special-
+ The <STRONG>add_wch</STRONG>, <STRONG>wadd_wch</STRONG>, <STRONG>mvadd_wch</STRONG>, and <STRONG>mvwadd_wch</STRONG> functions put the
+ complex character <EM>wch</EM> into the given window at its current position,
+ which is then advanced. These functions perform wrapping and special-
character processing as follows:
- <STRONG>o</STRONG> If <EM>wch</EM> refers to a spacing character, then any previous character
- at that location is removed. A new character specified by <EM>wch</EM> is
- placed at that location with rendition specified by <EM>wch</EM>. The
- cursor then advances after this spacing character, to prepare for
+ <STRONG>o</STRONG> If <EM>wch</EM> refers to a spacing character, then any previous character
+ at that location is removed. A new character specified by <EM>wch</EM> is
+ placed at that location with rendition specified by <EM>wch</EM>. The
+ cursor then advances after this spacing character, to prepare for
writing the next character on the screen.
The newly added spacing character is the base of the active complex
- character. Subsequent non-spacing characters can be combined with
+ character. Subsequent non-spacing characters can be combined with
this base until another spacing character is written to the screen,
or the cursor is moved, e.g., using <STRONG>wmove</STRONG>.
- <STRONG>o</STRONG> If <EM>wch</EM> refers to a non-spacing character, it is appended to the
+ <STRONG>o</STRONG> If <EM>wch</EM> refers to a non-spacing character, it is appended to the
active complex character, retaining the previous characters at that
location. The rendition specified by <EM>wch</EM> is ignored.
- The cursor is not advanced after adding a non-spacing character.
+ The cursor is not advanced after adding a non-spacing character.
Subsequent calls to add non-spacing characters will update the same
position.
- <STRONG>o</STRONG> If the character part of <EM>wch</EM> is a tab, newline, backspace or other
+ <STRONG>o</STRONG> If the character part of <EM>wch</EM> is a tab, newline, backspace or other
control character, the window is updated and the cursor moves as if
<STRONG>addch</STRONG> were called.
</PRE><H3><a name="h3-echo_wchar">echo_wchar</a></H3><PRE>
The <STRONG>echo_wchar</STRONG> function is functionally equivalent to a call to <STRONG>add_wch</STRONG>
- followed by a call to <STRONG><A HREF="curs_refresh.3x.html">refresh(3x)</A></STRONG>. Similarly, the <STRONG>wecho_wchar</STRONG> is
- functionally equivalent to a call to <STRONG>wadd_wch</STRONG> followed by a call to
- <STRONG>wrefresh</STRONG>. The knowledge that only a single character is being output
- is taken into consideration and, for non-control characters, a
- considerable performance gain might be seen by using the *<STRONG>echo</STRONG>*
+ followed by a call to <STRONG><A HREF="curs_refresh.3x.html">refresh(3x)</A></STRONG>. Similarly, the <STRONG>wecho_wchar</STRONG> is
+ functionally equivalent to a call to <STRONG>wadd_wch</STRONG> followed by a call to
+ <STRONG>wrefresh</STRONG>. The knowledge that only a single character is being output
+ is taken into consideration and, for non-control characters, a
+ considerable performance gain might be seen by using the *<STRONG>echo</STRONG>*
functions instead of their equivalents.
</PRE><H3><a name="h3-Line-Graphics">Line Graphics</a></H3><PRE>
- Like <STRONG><A HREF="curs_addch.3x.html">addch(3x)</A></STRONG>, <STRONG>addch_wch</STRONG> accepts symbols which make it simple to draw
- lines and other frequently used special characters. These symbols
+ Like <STRONG><A HREF="curs_addch.3x.html">addch(3x)</A></STRONG>, <STRONG>addch_wch</STRONG> accepts symbols which make it simple to draw
+ lines and other frequently used special characters. These symbols
correspond to the same VT100 line-drawing set as <STRONG><A HREF="curs_addch.3x.html">addch(3x)</A></STRONG>.
<STRONG>ACS</STRONG> <STRONG>Unicode</STRONG> <STRONG>ASCII</STRONG> <STRONG>acsc</STRONG> <STRONG>Glyph</STRONG>
-
<STRONG>Name</STRONG> <STRONG>Default</STRONG> <STRONG>Default</STRONG> <STRONG>char</STRONG> <STRONG>Name</STRONG>
+
------------------------------------------------------------------------
WACS_BLOCK 0x25ae # 0 solid square block
WACS_BOARD 0x2592 # h board of squares
WACS_URCORNER 0x2510 + k upper right-hand corner
WACS_VLINE 0x2502 | x vertical line
- The wide-character configuration of ncurses also defines symbols for
+ The wide-character configuration of ncurses also defines symbols for
thick lines (<STRONG>acsc</STRONG> "J" to "V"):
<STRONG>ACS</STRONG> <STRONG>Unicode</STRONG> <STRONG>ASCII</STRONG> <STRONG>acsc</STRONG> <STRONG>Glyph</STRONG>
WACS_D_LTEE 0x2560 + F double tee pointing right
WACS_D_PLUS 0x256c + E double large plus
WACS_D_RTEE 0x2563 + G double tee pointing left
-
WACS_D_TTEE 0x2566 + I double tee pointing down
+
WACS_D_ULCORNER 0x2554 + C double upper left corner
WACS_D_URCORNER 0x2557 + B double upper right corner
WACS_D_VLINE 0x2551 | Y double vertical line
- Unicode's descriptions for these characters differs slightly from
- ncurses, by introducing the term "light" (along with less important
- details). Here are its descriptions for the normal, thick, and double
+ Unicode's descriptions for these characters differs slightly from
+ ncurses, by introducing the term "light" (along with less important
+ details). Here are its descriptions for the normal, thick, and double
horizontal lines:
<STRONG>o</STRONG> U+2500 BOX DRAWINGS LIGHT HORIZONTAL
</PRE><H2><a name="h2-RETURN-VALUE">RETURN VALUE</a></H2><PRE>
All routines return the integer <STRONG>ERR</STRONG> upon failure and <STRONG>OK</STRONG> on success.
- X/Open does not define any error conditions. This implementation
+ X/Open does not define any error conditions. This implementation
returns an error
<STRONG>o</STRONG> if the window pointer is null or
The latter may be due to different causes:
- <STRONG>o</STRONG> If <STRONG><A HREF="scrollok.3x.html">scrollok(3x)</A></STRONG> is not enabled, writing a character at the lower
+ <STRONG>o</STRONG> If <STRONG><A HREF="scrollok.3x.html">scrollok(3x)</A></STRONG> is not enabled, writing a character at the lower
right margin succeeds. However, an error is returned because it is
not possible to wrap to a new line
- <STRONG>o</STRONG> If an error is detected when converting a multibyte character to a
- sequence of bytes, or if it is not possible to add all of the
+ <STRONG>o</STRONG> If an error is detected when converting a multibyte character to a
+ sequence of bytes, or if it is not possible to add all of the
resulting bytes in the window, an error is returned.
- Functions with a "mv" prefix first perform a cursor movement using
+ 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.
</PRE><H2><a name="h2-PORTABILITY">PORTABILITY</a></H2><PRE>
- All of these functions are described in the XSI Curses standard, Issue
- 4. The defaults specified for line-drawing characters apply in the
+ All of these functions are described in the XSI Curses standard, Issue
+ 4. The defaults specified for line-drawing characters apply in the
POSIX locale.
</PRE><H3><a name="h3-WACS-Symbols">WACS Symbols</a></H3><PRE>
- X/Open Curses makes it clear that the WACS_ symbols should be defined
+ X/Open Curses makes it clear that the WACS_ symbols should be defined
as a pointer to <STRONG>cchar_t</STRONG> data, e.g., in the discussion of <STRONG>border_set</STRONG>. A
few implementations are problematic:
<STRONG>o</STRONG> NetBSD curses defines the symbols as a <STRONG>wchar_t</STRONG> within a <STRONG>cchar_t</STRONG>.
<STRONG>o</STRONG> HPUX curses equates some of the <STRONG>ACS_</STRONG> symbols to the analogous <STRONG>WACS_</STRONG>
- symbols as if the <STRONG>ACS_</STRONG> symbols were wide characters. The
- misdefined symbols are the arrows and other symbols which are not
+ symbols as if the <STRONG>ACS_</STRONG> symbols were wide characters. The
+ misdefined symbols are the arrows and other symbols which are not
used for line-drawing.
X/Open Curses does not define symbols for thick- or double-lines. SVr4
- curses implementations defined their line-drawing symbols in terms of
+ curses implementations defined their line-drawing symbols in terms of
intermediate symbols. This implementation extends those symbols,
providing new definitions which are not in the SVr4 implementations.
- Not all Unicode-capable terminals provide support for VT100-style
- alternate character sets (i.e., the <STRONG>acsc</STRONG> capability), with their
- corresponding line-drawing characters. X/Open Curses did not address
- the aspect of integrating Unicode with line-drawing characters.
- Existing implementations of Unix curses (AIX, HPUX, Solaris) use only
+ Not all Unicode-capable terminals provide support for VT100-style
+ alternate character sets (i.e., the <STRONG>acsc</STRONG> capability), with their
+ corresponding line-drawing characters. X/Open Curses did not address
+ the aspect of integrating Unicode with line-drawing characters.
+ Existing implementations of Unix curses (AIX, HPUX, Solaris) use only
the <STRONG>acsc</STRONG> character-mapping to provide this feature. As a result, those
implementations can only use single-byte line-drawing characters.
- Ncurses 5.3 (2002) provided a table of Unicode values to solve these
+ Ncurses 5.3 (2002) provided a table of Unicode values to solve these
problems. NetBSD curses incorporated that table in 2010.
- In this implementation, the Unicode values are used instead of the
+ In this implementation, the Unicode values are used instead of the
terminal description's <STRONG>acsc</STRONG> mapping as discussed in <STRONG><A HREF="ncurses.3x.html">ncurses(3x)</A></STRONG> for the
- environment variable <STRONG>NCURSES_NO_UTF8_ACS</STRONG>. In contrast, for the same
+ environment variable <STRONG>NCURSES_NO_UTF8_ACS</STRONG>. In contrast, for the same
cases, the line-drawing characters described in <STRONG><A HREF="curs_addch.3x.html">curs_addch(3x)</A></STRONG> will use
only the ASCII default values.
- Having Unicode available does not solve all of the problems with line-
+ Having Unicode available does not solve all of the problems with line-
drawing for curses:
- <STRONG>o</STRONG> The closest Unicode equivalents to the VT100 graphics <EM>S1</EM>, <EM>S3</EM>, <EM>S7</EM>
- and <EM>S9</EM> frequently are not displayed at the regular intervals which
+ <STRONG>o</STRONG> The closest Unicode equivalents to the VT100 graphics <EM>S1</EM>, <EM>S3</EM>, <EM>S7</EM>
+ and <EM>S9</EM> frequently are not displayed at the regular intervals which
the terminal used.
- <STRONG>o</STRONG> The <EM>lantern</EM> is a special case. It originated with the AT&T 4410
- terminal in the early 1980s. There is no accessible documentation
+ <STRONG>o</STRONG> The <EM>lantern</EM> is a special case. It originated with the AT&T 4410
+ terminal in the early 1980s. There is no accessible documentation
depicting the lantern symbol on the AT&T terminal.
Lacking documentation, most readers assume that a <EM>storm</EM> <EM>lantern</EM> was
intended. But there are several possibilities, all with problems.
- Unicode 6.0 (2010) does provide two lantern symbols: U+1F383 and
- U+1F3EE. Those were not available in 2002, and are irrelevant
- since they lie outside the BMP and as a result are not generally
+ Unicode 6.0 (2010) does provide two lantern symbols: U+1F383 and
+ U+1F3EE. Those were not available in 2002, and are irrelevant
+ since they lie outside the BMP and as a result are not generally
available in terminals. They are not storm lanterns, in any case.
Most <EM>storm</EM> <EM>lanterns</EM> have a tapering glass chimney (to guard against
tipping); some have a wire grid protecting the chimney.
- For the tapering appearance, U+2603 was adequate. In use on a
+ For the tapering appearance, U+2603 was adequate. In use on a
terminal, no one can tell what the image represents. Unicode calls
it a snowman.
Others have suggested these alternatives: <section> U+00A7 (section
- mark), <Theta> U+0398 (theta), <Phi> U+03A6 (phi), <delta> U+03B4
+ mark), <Theta> U+0398 (theta), <Phi> U+03A6 (phi), <delta> U+03B4
(delta), U+2327 (x in a rectangle), U+256C (forms double vertical
and horizontal), and U+2612 (ballot box with x).
</PRE><H3><a name="h3-Complex-Characters">Complex Characters</a></H3><PRE>
- The complex character type <STRONG>cchar_t</STRONG> can store more than one wide
- character (<STRONG>wchar_t</STRONG>). The X/Open Curses description does not mention
- this possibility, describing only the cases where <EM>wch</EM> is a spacing
+ The complex character type <STRONG>cchar_t</STRONG> can store more than one wide
+ character (<STRONG>wchar_t</STRONG>). The X/Open Curses description does not mention
+ this possibility, describing only the cases where <EM>wch</EM> is a spacing
character or a non-spacing character.
This implementation assumes that <EM>wch</EM> is constructed using <STRONG><A HREF="curs_getcchar.3x.html">setcchar(3x)</A></STRONG>,
<STRONG>o</STRONG> may hold one non-spacing character.
- In the latter case, ncurses adds the non-spacing character to the
+ In the latter case, ncurses adds the non-spacing character to the
active (base) spacing character.
-ncurses 6.4 2023-08-19 <STRONG><A HREF="curs_add_wch.3x.html">curs_add_wch(3x)</A></STRONG>
+ncurses 6.4 2023-09-16 <STRONG><A HREF="curs_add_wch.3x.html">curs_add_wch(3x)</A></STRONG>
</PRE>
<div class="nav">
<ul>
<!--
****************************************************************************
- * Copyright 2019-2021,2022 Thomas E. Dickey *
+ * Copyright 2019-2022,2023 Thomas E. Dickey *
* Copyright 2002-2012,2017 Free Software Foundation, Inc. *
* *
* Permission is hereby granted, free of charge, to any person obtaining a *
* sale, use or other dealings in this Software without prior written *
* authorization. *
****************************************************************************
- * @Id: curs_add_wchstr.3x,v 1.20 2022/02/12 20:07:29 tom Exp @
+ * @Id: curs_add_wchstr.3x,v 1.25 2023/09/16 23:34:43 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>curs_add_wchstr 3x 2022-02-12 ncurses 6.4 Library calls</TITLE>
+<TITLE>curs_add_wchstr 3x 2023-09-16 ncurses 6.4 Library calls</TITLE>
<link rel="author" href="mailto:bug-ncurses@gnu.org">
</HEAD>
<BODY>
-<H1 class="no-header">curs_add_wchstr 3x 2022-02-12 ncurses 6.4 Library calls</H1>
+<H1 class="no-header">curs_add_wchstr 3x 2023-09-16 ncurses 6.4 Library calls</H1>
<PRE>
<STRONG><A HREF="curs_add_wchstr.3x.html">curs_add_wchstr(3x)</A></STRONG> Library calls <STRONG><A HREF="curs_add_wchstr.3x.html">curs_add_wchstr(3x)</A></STRONG>
</PRE><H2><a name="h2-NAME">NAME</a></H2><PRE>
- <STRONG>add_wchstr</STRONG>, <STRONG>add_wchnstr</STRONG>, <STRONG>wadd_wchstr</STRONG>, <STRONG>wadd_wchnstr</STRONG>, <STRONG>mvadd_wchstr</STRONG>,
- <STRONG>mvadd_wchnstr</STRONG>, <STRONG>mvwadd_wchstr</STRONG>, <STRONG>mvwadd_wchnstr</STRONG> - add an array of complex
- characters (and attributes) to a curses window
+ <STRONG>add_wchstr</STRONG>, <STRONG>add_wchnstr</STRONG>, <STRONG>wadd_wchstr</STRONG>, <STRONG>wadd_wchnstr</STRONG>, <STRONG>mvadd_wchstr</STRONG>,
+ <STRONG>mvadd_wchnstr</STRONG>, <STRONG>mvwadd_wchstr</STRONG>, <STRONG>mvwadd_wchnstr</STRONG> - add a <EM>curses</EM> complex
+ character string to a window
</PRE><H2><a name="h2-SYNOPSIS">SYNOPSIS</a></H2><PRE>
</PRE><H2><a name="h2-RETURN-VALUE">RETURN VALUE</a></H2><PRE>
All functions return the integer <STRONG>ERR</STRONG> upon failure and <STRONG>OK</STRONG> on success.
- X/Open does not define any error conditions. This implementation re-
- turns an error if the window pointer is null.
+ X/Open does not define any error conditions. This implementation
+ returns an error if the window pointer is null.
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
</PRE><H2><a name="h2-SEE-ALSO">SEE ALSO</a></H2><PRE>
<STRONG><A HREF="ncurses.3x.html">curses(3x)</A></STRONG>, <STRONG><A HREF="curs_addwstr.3x.html">curs_addwstr(3x)</A></STRONG>.
- Comparable functions in the narrow-character (ncurses) library are de-
- scribed in <STRONG><A HREF="curs_addchstr.3x.html">curs_addchstr(3x)</A></STRONG>.
+ Comparable functions in the narrow-character (ncurses) library are
+ described in <STRONG><A HREF="curs_addchstr.3x.html">curs_addchstr(3x)</A></STRONG>.
-ncurses 6.4 2022-02-12 <STRONG><A HREF="curs_add_wchstr.3x.html">curs_add_wchstr(3x)</A></STRONG>
+ncurses 6.4 2023-09-16 <STRONG><A HREF="curs_add_wchstr.3x.html">curs_add_wchstr(3x)</A></STRONG>
</PRE>
<div class="nav">
<ul>
* sale, use or other dealings in this Software without prior written *
* authorization. *
****************************************************************************
- * @Id: curs_addch.3x,v 1.65 2023/08/19 19:45:54 tom Exp @
+ * @Id: curs_addch.3x,v 1.69 2023/09/16 23:34:43 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>curs_addch 3x 2023-08-19 ncurses 6.4 Library calls</TITLE>
+<TITLE>curs_addch 3x 2023-09-16 ncurses 6.4 Library calls</TITLE>
<link rel="author" href="mailto:bug-ncurses@gnu.org">
</HEAD>
<BODY>
-<H1 class="no-header">curs_addch 3x 2023-08-19 ncurses 6.4 Library calls</H1>
+<H1 class="no-header">curs_addch 3x 2023-09-16 ncurses 6.4 Library calls</H1>
<PRE>
<STRONG><A HREF="curs_addch.3x.html">curs_addch(3x)</A></STRONG> Library calls <STRONG><A HREF="curs_addch.3x.html">curs_addch(3x)</A></STRONG>
</PRE><H2><a name="h2-NAME">NAME</a></H2><PRE>
- <STRONG>addch</STRONG>, <STRONG>waddch</STRONG>, <STRONG>mvaddch</STRONG>, <STRONG>mvwaddch</STRONG>, <STRONG>echochar</STRONG>, <STRONG>wechochar</STRONG> - add a character
- (with attributes) to a <STRONG>curses</STRONG> window, then advance the cursor
+ <STRONG>addch</STRONG>, <STRONG>waddch</STRONG>, <STRONG>mvaddch</STRONG>, <STRONG>mvwaddch</STRONG>, <STRONG>echochar</STRONG>, <STRONG>wechochar</STRONG> - add a <EM>curses</EM>
+ character to a window and advance the cursor
</PRE><H2><a name="h2-SYNOPSIS">SYNOPSIS</a></H2><PRE>
-ncurses 6.4 2023-08-19 <STRONG><A HREF="curs_addch.3x.html">curs_addch(3x)</A></STRONG>
+ncurses 6.4 2023-09-16 <STRONG><A HREF="curs_addch.3x.html">curs_addch(3x)</A></STRONG>
</PRE>
<div class="nav">
<ul>
<!--
****************************************************************************
- * Copyright 2019-2021,2022 Thomas E. Dickey *
+ * Copyright 2019-2022,2023 Thomas E. Dickey *
* Copyright 1998-2012,2017 Free Software Foundation, Inc. *
* *
* Permission is hereby granted, free of charge, to any person obtaining a *
* sale, use or other dealings in this Software without prior written *
* authorization. *
****************************************************************************
- * @Id: curs_addchstr.3x,v 1.26 2022/02/12 20:07:29 tom Exp @
+ * @Id: curs_addchstr.3x,v 1.31 2023/09/16 23:34:43 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>curs_addchstr 3x 2022-02-12 ncurses 6.4 Library calls</TITLE>
+<TITLE>curs_addchstr 3x 2023-09-16 ncurses 6.4 Library calls</TITLE>
<link rel="author" href="mailto:bug-ncurses@gnu.org">
</HEAD>
<BODY>
-<H1 class="no-header">curs_addchstr 3x 2022-02-12 ncurses 6.4 Library calls</H1>
+<H1 class="no-header">curs_addchstr 3x 2023-09-16 ncurses 6.4 Library calls</H1>
<PRE>
<STRONG><A HREF="curs_addchstr.3x.html">curs_addchstr(3x)</A></STRONG> Library calls <STRONG><A HREF="curs_addchstr.3x.html">curs_addchstr(3x)</A></STRONG>
</PRE><H2><a name="h2-NAME">NAME</a></H2><PRE>
- <STRONG>addchstr</STRONG>, <STRONG>addchnstr</STRONG>, <STRONG>waddchstr</STRONG>, <STRONG>waddchnstr</STRONG>, <STRONG>mvaddchstr</STRONG>, <STRONG>mvaddchnstr</STRONG>,
- <STRONG>mvwaddchstr</STRONG>, <STRONG>mvwaddchnstr</STRONG> - add a string of characters (and attributes)
- to a <STRONG>curses</STRONG> window
+ <STRONG>addchstr</STRONG>, <STRONG>addchnstr</STRONG>, <STRONG>waddchstr</STRONG>, <STRONG>waddchnstr</STRONG>, <STRONG>mvaddchstr</STRONG>, <STRONG>mvaddchnstr</STRONG>,
+ <STRONG>mvwaddchstr</STRONG>, <STRONG>mvwaddchnstr</STRONG> - add a <EM>curses</EM> character string to a window
</PRE><H2><a name="h2-SYNOPSIS">SYNOPSIS</a></H2><PRE>
</PRE><H2><a name="h2-DESCRIPTION">DESCRIPTION</a></H2><PRE>
- These functions copy the (null-terminated) <EM>chstr</EM> array into the window
- image structure starting at the current cursor position. The four
- functions with <EM>n</EM> as the last argument copy at most <EM>n</EM> elements, but no
- more than will fit on the line. If <STRONG>n</STRONG>=<STRONG>-1</STRONG> then the whole array is
+ These functions copy the (null-terminated) <EM>chstr</EM> array into the window
+ image structure starting at the current cursor position. The four
+ functions with <EM>n</EM> as the last argument copy at most <EM>n</EM> elements, but no
+ more than will fit on the line. If <STRONG>n</STRONG>=<STRONG>-1</STRONG> then the whole array is
copied, to the maximum number of characters that will fit on the line.
- The window cursor is <EM>not</EM> advanced. These functions work faster than
+ The window cursor is <EM>not</EM> advanced. These functions work faster than
<STRONG>waddnstr</STRONG>. On the other hand:
- <STRONG>o</STRONG> they do not perform checking (such as for the newline, backspace,
+ <STRONG>o</STRONG> they do not perform checking (such as for the newline, backspace,
or carriage return characters),
<STRONG>o</STRONG> they do not advance the current cursor position,
<STRONG>o</STRONG> they do not expand other control characters to ^-escapes, and
- <STRONG>o</STRONG> they truncate the string if it crosses the right margin, rather
+ <STRONG>o</STRONG> they truncate the string if it crosses the right margin, rather
than wrapping it around to the new line.
</PRE><H2><a name="h2-RETURN-VALUE">RETURN VALUE</a></H2><PRE>
All functions return the integer <STRONG>ERR</STRONG> upon failure and <STRONG>OK</STRONG> on success.
- X/Open does not define any error conditions. This implementation re-
- turns an error if the window pointer is null.
+ X/Open does not define any error conditions. This implementation
+ returns an error if the window pointer is null.
- Functions with a "mv" prefix first perform a cursor movement using
+ 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.
</PRE><H2><a name="h2-SEE-ALSO">SEE ALSO</a></H2><PRE>
<STRONG><A HREF="ncurses.3x.html">curses(3x)</A></STRONG>, <STRONG><A HREF="curs_addstr.3x.html">curs_addstr(3x)</A></STRONG>.
- Comparable functions in the wide-character (ncursesw) library are de-
- scribed in <STRONG><A HREF="curs_add_wchstr.3x.html">curs_add_wchstr(3x)</A></STRONG>.
+ Comparable functions in the wide-character (ncursesw) library are
+ described in <STRONG><A HREF="curs_add_wchstr.3x.html">curs_add_wchstr(3x)</A></STRONG>.
-ncurses 6.4 2022-02-12 <STRONG><A HREF="curs_addchstr.3x.html">curs_addchstr(3x)</A></STRONG>
+ncurses 6.4 2023-09-16 <STRONG><A HREF="curs_addchstr.3x.html">curs_addchstr(3x)</A></STRONG>
</PRE>
<div class="nav">
<ul>
* sale, use or other dealings in this Software without prior written *
* authorization. *
****************************************************************************
- * @Id: curs_addstr.3x,v 1.28 2023/03/11 20:40:52 tom Exp @
+ * @Id: curs_addstr.3x,v 1.32 2023/09/16 23:34:43 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>curs_addstr 3x 2023-03-11 ncurses 6.4 Library calls</TITLE>
+<TITLE>curs_addstr 3x 2023-09-16 ncurses 6.4 Library calls</TITLE>
<link rel="author" href="mailto:bug-ncurses@gnu.org">
</HEAD>
<BODY>
-<H1 class="no-header">curs_addstr 3x 2023-03-11 ncurses 6.4 Library calls</H1>
+<H1 class="no-header">curs_addstr 3x 2023-09-16 ncurses 6.4 Library calls</H1>
<PRE>
<STRONG><A HREF="curs_addstr.3x.html">curs_addstr(3x)</A></STRONG> Library calls <STRONG><A HREF="curs_addstr.3x.html">curs_addstr(3x)</A></STRONG>
</PRE><H2><a name="h2-NAME">NAME</a></H2><PRE>
- <STRONG>addstr</STRONG>, <STRONG>addnstr</STRONG>, <STRONG>waddstr</STRONG>, <STRONG>waddnstr</STRONG>, <STRONG>mvaddstr</STRONG>, <STRONG>mvaddnstr</STRONG>, <STRONG>mvwaddstr</STRONG>,
- <STRONG>mvwaddnstr</STRONG> - add a string of characters to a <STRONG>curses</STRONG> window and advance
- cursor
+ <STRONG>addstr</STRONG>, <STRONG>addnstr</STRONG>, <STRONG>waddstr</STRONG>, <STRONG>waddnstr</STRONG>, <STRONG>mvaddstr</STRONG>, <STRONG>mvaddnstr</STRONG>, <STRONG>mvwaddstr</STRONG>,
+ <STRONG>mvwaddnstr</STRONG> - add a string to a <EM>curses</EM> window and advance the cursor
</PRE><H2><a name="h2-SYNOPSIS">SYNOPSIS</a></H2><PRE>
</PRE><H2><a name="h2-DESCRIPTION">DESCRIPTION</a></H2><PRE>
These functions write the (null-terminated) character string <EM>str</EM> on the
- given window. It is similar to calling <STRONG>waddch</STRONG> once for each byte in
+ given window. It is similar to calling <STRONG>waddch</STRONG> once for each byte in
the string.
- The <EM>mv</EM> functions perform cursor movement once, before writing any char-
- acters. Thereafter, the cursor is advanced as a side-effect of writing
- to the window.
+ The <EM>mv</EM> functions perform cursor movement once, before writing any
+ characters. Thereafter, the cursor is advanced as a side-effect of
+ writing to the window.
- The four functions with <EM>n</EM> as the last argument write at most <EM>n</EM> bytes,
- or until a terminating null is reached. If <EM>n</EM> is -1, then the entire
+ The four functions with <EM>n</EM> as the last argument write at most <EM>n</EM> bytes,
+ or until a terminating null is reached. If <EM>n</EM> is -1, then the entire
string will be added.
</PRE><H2><a name="h2-RETURN-VALUE">RETURN VALUE</a></H2><PRE>
All functions return the integer <STRONG>ERR</STRONG> upon failure and <STRONG>OK</STRONG> on success.
- X/Open does not define any error conditions. This implementation re-
- turns an error
+ X/Open does not define any error conditions. This implementation
+ returns an error
<STRONG>o</STRONG> if the window pointer is null or
<STRONG>o</STRONG> if the corresponding calls to <STRONG>waddch</STRONG> return an error.
- Functions with a "mv" prefix first perform a cursor movement using
+ 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. If an error is returned by the <STRONG>wmove</STRONG>, no
+ the window pointer is null. If an error is returned by the <STRONG>wmove</STRONG>, no
characters are added to the window.
- If an error is returned by <STRONG>waddch</STRONG> (e.g., because the window is not
- large enough, or an illegal byte sequence was detected) only part of
- the string may be added. Aside from that, there is a special case in
- <STRONG>waddch</STRONG> where an error may be returned after successfully writing a
- character to the lower-right corner of a window when <STRONG><A HREF="scrollok.3x.html">scrollok(3x)</A></STRONG> is
+ If an error is returned by <STRONG>waddch</STRONG> (e.g., because the window is not
+ large enough, or an illegal byte sequence was detected) only part of
+ the string may be added. Aside from that, there is a special case in
+ <STRONG>waddch</STRONG> where an error may be returned after successfully writing a
+ character to the lower-right corner of a window when <STRONG><A HREF="scrollok.3x.html">scrollok(3x)</A></STRONG> is
disabled.
-ncurses 6.4 2023-03-11 <STRONG><A HREF="curs_addstr.3x.html">curs_addstr(3x)</A></STRONG>
+ncurses 6.4 2023-09-16 <STRONG><A HREF="curs_addstr.3x.html">curs_addstr(3x)</A></STRONG>
</PRE>
<div class="nav">
<ul>
* sale, use or other dealings in this Software without prior written *
* authorization. *
****************************************************************************
- * @Id: curs_addwstr.3x,v 1.20 2023/07/15 17:11:59 tom Exp @
+ * @Id: curs_addwstr.3x,v 1.24 2023/09/16 23:34:43 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>curs_addwstr 3x 2023-07-15 ncurses 6.4 Library calls</TITLE>
+<TITLE>curs_addwstr 3x 2023-09-16 ncurses 6.4 Library calls</TITLE>
<link rel="author" href="mailto:bug-ncurses@gnu.org">
</HEAD>
<BODY>
-<H1 class="no-header">curs_addwstr 3x 2023-07-15 ncurses 6.4 Library calls</H1>
+<H1 class="no-header">curs_addwstr 3x 2023-09-16 ncurses 6.4 Library calls</H1>
<PRE>
<STRONG><A HREF="curs_addwstr.3x.html">curs_addwstr(3x)</A></STRONG> Library calls <STRONG><A HREF="curs_addwstr.3x.html">curs_addwstr(3x)</A></STRONG>
</PRE><H2><a name="h2-NAME">NAME</a></H2><PRE>
- <STRONG>addwstr</STRONG>, <STRONG>addnwstr</STRONG>, <STRONG>waddwstr</STRONG>, <STRONG>waddnwstr</STRONG>, <STRONG>mvaddwstr</STRONG>, <STRONG>mvaddnwstr</STRONG>,
- <STRONG>mvwaddwstr</STRONG>, <STRONG>mvwaddnwstr</STRONG> - add a string of wide characters to a <STRONG>curses</STRONG>
- window and advance cursor
+ <STRONG>addwstr</STRONG>, <STRONG>addnwstr</STRONG>, <STRONG>waddwstr</STRONG>, <STRONG>waddnwstr</STRONG>, <STRONG>mvaddwstr</STRONG>, <STRONG>mvaddnwstr</STRONG>,
+ <STRONG>mvwaddwstr</STRONG>, <STRONG>mvwaddnwstr</STRONG> - add a wide-character string to a <EM>curses</EM>
+ window and advance the cursor
</PRE><H2><a name="h2-SYNOPSIS">SYNOPSIS</a></H2><PRE>
</PRE><H2><a name="h2-DESCRIPTION">DESCRIPTION</a></H2><PRE>
These functions write the characters of the (null-terminated) <STRONG>wchar_t</STRONG>
- character string <EM>wstr</EM> on the given window. It is similar to construct-
- ing a <STRONG>cchar_t</STRONG> for each <STRONG>wchar_t</STRONG> in the string, then calling <STRONG><A HREF="curs_add_wch.3x.html">wadd_wch(3x)</A></STRONG>
- for the resulting <STRONG>cchar_t</STRONG>:
+ character string <EM>wstr</EM> on the given window. It is similar to
+ constructing a <STRONG>cchar_t</STRONG> for each <STRONG>wchar_t</STRONG> in the string, then calling
+ <STRONG><A HREF="curs_add_wch.3x.html">wadd_wch(3x)</A></STRONG> for the resulting <STRONG>cchar_t</STRONG>:
<STRONG>o</STRONG> spacing and non-spacing characters in the string are processed one
at a time, and
<STRONG>o</STRONG> control characters are processed as in <STRONG><A HREF="curs_addch.3x.html">waddch(3x)</A></STRONG>.
- The <EM>mv</EM> functions perform cursor movement once, before writing any char-
- acters. Thereafter, the cursor is advanced as a side-effect of writing
- to the window.
+ The <EM>mv</EM> functions perform cursor movement once, before writing any
+ characters. Thereafter, the cursor is advanced as a side-effect of
+ writing to the window.
The four functions with <EM>n</EM> as the last argument write at most <EM>n</EM> <STRONG>wchar_t</STRONG>
characters, or until a terminating null is reached. If <EM>n</EM> is -1, then
</PRE><H2><a name="h2-RETURN-VALUE">RETURN VALUE</a></H2><PRE>
All functions return the integer <STRONG>ERR</STRONG> upon failure and <STRONG>OK</STRONG> on success.
- X/Open does not define any error conditions. This implementation re-
- turns an error
+ X/Open does not define any error conditions. This implementation
+ returns an error
<STRONG>o</STRONG> if the window pointer is null or
-ncurses 6.4 2023-07-15 <STRONG><A HREF="curs_addwstr.3x.html">curs_addwstr(3x)</A></STRONG>
+ncurses 6.4 2023-09-16 <STRONG><A HREF="curs_addwstr.3x.html">curs_addwstr(3x)</A></STRONG>
</PRE>
<div class="nav">
<ul>
* sale, use or other dealings in this Software without prior written *
* authorization. *
****************************************************************************
- * @Id: curs_attr.3x,v 1.80 2023/09/09 21:13:26 tom Exp @
+ * @Id: curs_attr.3x,v 1.84 2023/09/16 23:34:43 tom Exp @
* ---------------------------------------------------------------------------
- * attr_get
- * .br
- * .br
- * .br
- * .br
- * .br
* ---------------------------------------------------------------------------
* ---------------------------------------------------------------------------
* ---------------------------------------------------------------------------
<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>curs_attr 3x 2023-09-09 ncurses 6.4 Library calls</TITLE>
+<TITLE>curs_attr 3x 2023-09-16 ncurses 6.4 Library calls</TITLE>
<link rel="author" href="mailto:bug-ncurses@gnu.org">
</HEAD>
<BODY>
-<H1 class="no-header">curs_attr 3x 2023-09-09 ncurses 6.4 Library calls</H1>
+<H1 class="no-header">curs_attr 3x 2023-09-16 ncurses 6.4 Library calls</H1>
<PRE>
<STRONG><A HREF="curs_attr.3x.html">curs_attr(3x)</A></STRONG> Library calls <STRONG><A HREF="curs_attr.3x.html">curs_attr(3x)</A></STRONG>
</PRE><H2><a name="h2-NAME">NAME</a></H2><PRE>
<STRONG>attr_get</STRONG>, <STRONG>wattr_get</STRONG>, <STRONG>attr_set</STRONG>, <STRONG>wattr_set</STRONG>, <STRONG>attr_off</STRONG>, <STRONG>wattr_off</STRONG>, <STRONG>attr_on</STRONG>,
<STRONG>wattr_on</STRONG>, <STRONG>attroff</STRONG>, <STRONG>wattroff</STRONG>, <STRONG>attron</STRONG>, <STRONG>wattron</STRONG>, <STRONG>attrset</STRONG>, <STRONG>wattrset</STRONG>, <STRONG>chgat</STRONG>,
- <STRONG>wchgat</STRONG>, <STRONG>mvchgat</STRONG>, <STRONG>mvwchgat</STRONG>, <STRONG>color_set</STRONG>, <STRONG>wcolor_set</STRONG>, <STRONG>standend</STRONG>, <STRONG>wstandend</STRONG>,
- <STRONG>standout</STRONG>, <STRONG>wstandout</STRONG> - <STRONG>curses</STRONG> character and window attribute control
- routines
+ <STRONG>wchgat</STRONG>, <STRONG>mvchgat</STRONG>, <STRONG>mvwchgat</STRONG>, <STRONG>color_set</STRONG>, <STRONG>wcolor_set</STRONG>, <STRONG>standend</STRONG>, <STRONG>wstandend</STRONG>,
+ <STRONG>standout</STRONG>, <STRONG>wstandout</STRONG> - manipulate attributes of character cells in
+ <EM>curses</EM> windows
</PRE><H2><a name="h2-SYNOPSIS">SYNOPSIS</a></H2><PRE>
These routines manipulate the current attributes of the named window,
which then apply to all characters that are written into the window
with <STRONG>waddch</STRONG>, <STRONG>waddstr</STRONG> and <STRONG>wprintw</STRONG>. Attributes are a property of the
- character, and move with the character through any scrolling and in-
- sert/delete line/character operations. To the extent possible, they
+ character, and move with the character through any scrolling and
+ insert/delete line/character operations. To the extent possible, they
are displayed as appropriate modifications to the graphic rendition of
characters put on the screen.
These routines do not affect the attributes used when erasing portions
- of the window. See <STRONG><A HREF="curs_bkgd.3x.html">curs_bkgd(3x)</A></STRONG> for functions which modify the at-
- tributes used for erasing and clearing.
+ of the window. See <STRONG><A HREF="curs_bkgd.3x.html">curs_bkgd(3x)</A></STRONG> for functions which modify the
+ attributes used for erasing and clearing.
Routines which do not have a <STRONG>WINDOW*</STRONG> parameter apply to <STRONG>stdscr</STRONG>. For
example, <STRONG>attr_set</STRONG> is the <STRONG>stdscr</STRONG> variant of <STRONG>wattr_set</STRONG>.
</PRE><H3><a name="h3-Window-attributes">Window attributes</a></H3><PRE>
There are two sets of functions:
- <STRONG>o</STRONG> functions for manipulating the window attributes and color: <STRONG>wat-</STRONG>
- <STRONG>tr_set</STRONG> and <STRONG>wattr_get</STRONG>.
+ <STRONG>o</STRONG> functions for manipulating the window attributes and color:
+ <STRONG>wattr_set</STRONG> and <STRONG>wattr_get</STRONG>.
<STRONG>o</STRONG> functions for manipulating only the window attributes (not color):
<STRONG>wattr_on</STRONG> and <STRONG>wattr_off</STRONG>.
Use <STRONG>wattr_get</STRONG> to retrieve attributes for the given window.
Use <STRONG>attr_on</STRONG> and <STRONG>wattr_on</STRONG> to turn on window attributes, i.e., values
- OR'd together in <EM>attr</EM>, without affecting other attributes. Use <STRONG>at-</STRONG>
- <STRONG>tr_off</STRONG> and <STRONG>wattr_off</STRONG> to turn off window attributes, again values OR'd
+ OR'd together in <EM>attr</EM>, without affecting other attributes. Use
+ <STRONG>attr_off</STRONG> and <STRONG>wattr_off</STRONG> to turn off window attributes, again values OR'd
together in <EM>attr</EM>, without affecting other attributes.
because X/Open simply added an underscore (<STRONG>_</STRONG>) for the newer names.
The <STRONG>int</STRONG> datatype used in the legacy routines is treated as if it is the
- same size as <STRONG>chtype</STRONG> (used by <STRONG><A HREF="curs_addch.3x.html">addch(3x)</A></STRONG>). It holds the common video at-
- tributes (such as bold, reverse), as well as a few bits for color.
- Those bits correspond to the <STRONG>A_COLOR</STRONG> symbol. The <STRONG>COLOR_PAIR</STRONG> macro pro-
- vides a value which can be OR'd into the attribute parameter. For ex-
- ample, as long as that value fits into the <STRONG>A_COLOR</STRONG> mask, then these
+ same size as <STRONG>chtype</STRONG> (used by <STRONG><A HREF="curs_addch.3x.html">addch(3x)</A></STRONG>). It holds the common video
+ attributes (such as bold, reverse), as well as a few bits for color.
+ Those bits correspond to the <STRONG>A_COLOR</STRONG> symbol. The <STRONG>COLOR_PAIR</STRONG> macro
+ provides a value which can be OR'd into the attribute parameter. For
+ example, as long as that value fits into the <STRONG>A_COLOR</STRONG> mask, then these
calls produce similar results:
attrset(A_BOLD | COLOR_PAIR(<EM>pair</EM>));
int <EM>output</EM> = PAIR_NUMBER(value);
The <STRONG>attrset</STRONG> routine is a legacy feature predating SVr4 curses but kept
- in X/Open Curses for the same reason that SVr4 curses kept it: compati-
- bility.
+ in X/Open Curses for the same reason that SVr4 curses kept it:
+ compatibility.
The remaining <STRONG>attr</STRONG>* functions operate exactly like the corresponding
<STRONG>attr_</STRONG>* functions, except that they take arguments of type <STRONG>int</STRONG> rather
</PRE><H3><a name="h3-Change-character-rendition">Change character rendition</a></H3><PRE>
- The routine <STRONG>chgat</STRONG> changes the attributes of a given number of charac-
- ters starting at the current cursor location of <STRONG>stdscr</STRONG>. It does not
- update the cursor and does not perform wrapping. A character count of
- -1 or greater than the remaining window width means to change at-
- tributes all the way to the end of the current line. The <STRONG>wchgat</STRONG> func-
- tion generalizes this to any window; the <STRONG>mvwchgat</STRONG> function does a cur-
- sor move before acting.
+ The routine <STRONG>chgat</STRONG> changes the attributes of a given number of
+ characters starting at the current cursor location of <STRONG>stdscr</STRONG>. It does
+ not update the cursor and does not perform wrapping. A character count
+ of -1 or greater than the remaining window width means to change
+ attributes all the way to the end of the current line. The <STRONG>wchgat</STRONG>
+ function generalizes this to any window; the <STRONG>mvwchgat</STRONG> function does a
+ cursor move before acting.
In these functions, the color <EM>pair</EM> argument is a color-pair index (as
in the first argument of <STRONG>init_pair</STRONG>, see <STRONG><A HREF="curs_color.3x.html">curs_color(3x)</A></STRONG>).
</PRE><H3><a name="h3-Change-window-color">Change window color</a></H3><PRE>
The routine <STRONG>color_set</STRONG> sets the current color of the given window to the
- foreground/background combination described by the color <EM>pair</EM> parame-
- ter.
+ foreground/background combination described by the color <EM>pair</EM>
+ parameter.
</PRE><H3><a name="h3-Standout">Standout</a></H3><PRE>
<STRONG>o</STRONG> they have well established legacy use, and
- <STRONG>o</STRONG> there is no ambiguity about the way the attributes might be com-
- bined with a color pair.
+ <STRONG>o</STRONG> there is no ambiguity about the way the attributes might be
+ combined with a color pair.
</PRE><H2><a name="h2-VIDEO-ATTRIBUTES">VIDEO ATTRIBUTES</a></H2><PRE>
</PRE><H2><a name="h2-HISTORY">HISTORY</a></H2><PRE>
X/Open Curses is largely based on SVr4 curses, adding support for
- "wide-characters" (not specific to Unicode). Some of the X/Open dif-
- ferences from SVr4 curses address the way video attributes can be ap-
- plied to wide-characters. But aside from that, <STRONG>attrset</STRONG> and <STRONG>attr_set</STRONG>
+ "wide-characters" (not specific to Unicode). Some of the X/Open
+ differences from SVr4 curses address the way video attributes can be
+ applied to wide-characters. But aside from that, <STRONG>attrset</STRONG> and <STRONG>attr_set</STRONG>
are similar. SVr4 curses provided the basic features for manipulating
video attributes. However, earlier versions of curses provided a part
of these features.
<STRONG>standout</STRONG> and <STRONG>standend</STRONG> which were carried along into X/Open Curses due
to their pervasive use in legacy applications.
- Some terminals in the 1980s could support a variety of video at-
- tributes, although the BSD curses library could do nothing with those.
- System V (1983) provided an improved curses library. It defined the <STRONG>A_</STRONG>
- symbols for use by applications to manipulate the other attributes.
- There are few useful references for the chronology.
+ Some terminals in the 1980s could support a variety of video
+ attributes, although the BSD curses library could do nothing with
+ those. System V (1983) provided an improved curses library. It
+ defined the <STRONG>A_</STRONG> symbols for use by applications to manipulate the other
+ attributes. There are few useful references for the chronology.
Goodheart's book <EM>UNIX</EM> <EM>Curses</EM> <EM>Explained</EM> (1991) describes SVr3 (1987),
commenting on several functions:
This table showing the number of bits for <STRONG>A_COLOR</STRONG> and <STRONG>A_CHARTEXT</STRONG> was
gleaned from the curses header files for various operating systems and
architectures. The inferred architecture and notes reflect the format
- and size of the defined constants as well as clues such as the alter-
- nate character set implementation. A 32-bit library can be used on a
- 64-bit system, but not necessarily the reverse.
+ and size of the defined constants as well as clues such as the
+ alternate character set implementation. A 32-bit library can be used
+ on a 64-bit system, but not necessarily the reverse.
<STRONG>Year</STRONG> <STRONG>System</STRONG> <STRONG>Arch</STRONG> <STRONG>Color</STRONG> <STRONG>Char</STRONG> <STRONG>Notes</STRONG>
----------------------------------------------------------------
Regarding OSF/1 (and Tru64),
- <STRONG>o</STRONG> These used 64-bit hardware. Like ncurses, the OSF/1 curses in-
- terface is not customized for 32-bit and 64-bit versions.
+ <STRONG>o</STRONG> These used 64-bit hardware. Like ncurses, the OSF/1 curses
+ interface is not customized for 32-bit and 64-bit versions.
- <STRONG>o</STRONG> Unlike other systems which evolved from AT&T code, OSF/1 provid-
- ed a new implementation for X/Open curses.
+ <STRONG>o</STRONG> Unlike other systems which evolved from AT&T code, OSF/1
+ provided a new implementation for X/Open curses.
Regarding Solaris,
Sun's copyright began in 1996.
<STRONG>o</STRONG> Sun updated the X/Open curses interface after 64-bit support was
- introduced in 1997, but did not modify the SVr4 curses inter-
- face.
+ introduced in 1997, but did not modify the SVr4 curses
+ interface.
Regarding U/Win,
</PRE><H2><a name="h2-EXTENSIONS">EXTENSIONS</a></H2><PRE>
This implementation provides the <STRONG>A_ITALIC</STRONG> attribute for terminals which
- have the <STRONG>enter_italics_mode</STRONG> (<STRONG>sitm</STRONG>) and <STRONG>exit_italics_mode</STRONG> (<STRONG>ritm</STRONG>) capa-
- bilities. Italics are not mentioned in X/Open Curses. Unlike the oth-
- er video attributes, <STRONG>A_ITALIC</STRONG> is unrelated to the <STRONG>set_attributes</STRONG> capa-
- bilities. This implementation makes the assumption that <STRONG>exit_attri-</STRONG>
- <STRONG>bute_mode</STRONG> may also reset italics.
+ have the <STRONG>enter_italics_mode</STRONG> (<STRONG>sitm</STRONG>) and <STRONG>exit_italics_mode</STRONG> (<STRONG>ritm</STRONG>)
+ capabilities. Italics are not mentioned in X/Open Curses. Unlike the
+ other video attributes, <STRONG>A_ITALIC</STRONG> is unrelated to the <STRONG>set_attributes</STRONG>
+ capabilities. This implementation makes the assumption that
+ <STRONG>exit_attribute_mode</STRONG> may also reset italics.
Each of the functions added by XSI Curses has a parameter <EM>opts</EM>, which
- X/Open Curses still (after more than twenty years) documents as re-
- served for future use, saying that it should be <STRONG>NULL</STRONG>. This implementa-
- tion uses that parameter in ABI 6 for the functions which have a color-
- pair parameter to support <EM>extended</EM> <EM>color</EM> <EM>pairs</EM>:
+ X/Open Curses still (after more than twenty years) documents as
+ reserved for future use, saying that it should be <STRONG>NULL</STRONG>. This
+ implementation uses that parameter in ABI 6 for the functions which
+ have a color-pair parameter to support <EM>extended</EM> <EM>color</EM> <EM>pairs</EM>:
<STRONG>o</STRONG> For functions which modify the color, e.g., <STRONG>wattr_set</STRONG> and <STRONG>wattr_on</STRONG>,
if <EM>opts</EM> is set it is treated as a pointer to <STRONG>int</STRONG>, and used to set
The XSI Curses standard states that whether the traditional functions
<STRONG>attron</STRONG>/<STRONG>attroff</STRONG>/<STRONG>attrset</STRONG> can manipulate attributes other than <STRONG>A_BLINK</STRONG>,
<STRONG>A_BOLD</STRONG>, <STRONG>A_DIM</STRONG>, <STRONG>A_REVERSE</STRONG>, <STRONG>A_STANDOUT</STRONG>, or <STRONG>A_UNDERLINE</STRONG> is "unspecified".
- Under this implementation as well as SVr4 curses, these functions cor-
- rectly manipulate all other highlights (specifically, <STRONG>A_ALTCHARSET</STRONG>,
+ Under this implementation as well as SVr4 curses, these functions
+ correctly manipulate all other highlights (specifically, <STRONG>A_ALTCHARSET</STRONG>,
<STRONG>A_PROTECT</STRONG>, and <STRONG>A_INVIS</STRONG>).
XSI Curses added these entry points:
- <STRONG>attr_get</STRONG>, <STRONG>attr_on</STRONG>, <STRONG>attr_off</STRONG>, <STRONG>attr_set</STRONG>, <STRONG>wattr_on</STRONG>, <STRONG>wattr_off</STRONG>, <STRONG>wat-</STRONG>
- <STRONG>tr_get</STRONG>, <STRONG>wattr_set</STRONG>
+ <STRONG>attr_get</STRONG>, <STRONG>attr_on</STRONG>, <STRONG>attr_off</STRONG>, <STRONG>attr_set</STRONG>, <STRONG>wattr_on</STRONG>, <STRONG>wattr_off</STRONG>,
+ <STRONG>wattr_get</STRONG>, <STRONG>wattr_set</STRONG>
The new functions are intended to work with a new series of highlight
macros prefixed with <STRONG>WA_</STRONG>. The older macros have direct counterparts in
<STRONG>A_</STRONG> and <STRONG>WA_</STRONG>-using functions operates on the same current-highlight
information.
- <STRONG>o</STRONG> However, in some implementations, those symbols have unrelated val-
- ues.
+ <STRONG>o</STRONG> However, in some implementations, those symbols have unrelated
+ values.
For example, the Solaris <EM>xpg4</EM> (X/Open) curses declares <STRONG>attr_t</STRONG> to be
- an unsigned short integer (16-bits), while <STRONG>chtype</STRONG> is a unsigned in-
- teger (32-bits). The <STRONG>WA_</STRONG> symbols in this case are different from
+ an unsigned short integer (16-bits), while <STRONG>chtype</STRONG> is a unsigned
+ integer (32-bits). The <STRONG>WA_</STRONG> symbols in this case are different from
the <STRONG>A_</STRONG> symbols because they are used for a smaller datatype which
does not represent <STRONG>A_CHARTEXT</STRONG> or <STRONG>A_COLOR</STRONG>.
<STRONG>o</STRONG> Because ncurses's <STRONG>attr_t</STRONG> can hold a color pair (in the <STRONG>A_COLOR</STRONG>
field), a call to <STRONG>wattr_on</STRONG>, <STRONG>wattr_off</STRONG>, or <STRONG>wattr_set</STRONG> may alter the
- window's color. If the color pair information in the attribute pa-
- rameter is zero, no change is made to the window's color.
+ window's color. If the color pair information in the attribute
+ parameter is zero, no change is made to the window's color.
This is consistent with SVr4 curses; X/Open Curses does not specify
this.
- The XSI standard extended conformance level adds new highlights <STRONG>A_HORI-</STRONG>
- <STRONG>ZONTAL</STRONG>, <STRONG>A_LEFT</STRONG>, <STRONG>A_LOW</STRONG>, <STRONG>A_RIGHT</STRONG>, <STRONG>A_TOP</STRONG>, <STRONG>A_VERTICAL</STRONG> (and corresponding
- <STRONG>WA_</STRONG> macros for each). As of August 2013, no known terminal provides
- these highlights (i.e., via the <STRONG>sgr1</STRONG> capability).
+ The XSI standard extended conformance level adds new highlights
+ <STRONG>A_HORIZONTAL</STRONG>, <STRONG>A_LEFT</STRONG>, <STRONG>A_LOW</STRONG>, <STRONG>A_RIGHT</STRONG>, <STRONG>A_TOP</STRONG>, <STRONG>A_VERTICAL</STRONG> (and
+ corresponding <STRONG>WA_</STRONG> macros for each). As of August 2013, no known
+ terminal provides these highlights (i.e., via the <STRONG>sgr1</STRONG> capability).
</PRE><H2><a name="h2-RETURN-VALUE">RETURN VALUE</a></H2><PRE>
<STRONG>o</STRONG> returns an error if the window pointer is null.
- <STRONG>o</STRONG> returns an error if the color pair parameter for <STRONG>wcolor_set</STRONG> is out-
- side the range 0..COLOR_PAIRS-1.
+ <STRONG>o</STRONG> returns an error if the color pair parameter for <STRONG>wcolor_set</STRONG> is
+ outside the range 0..COLOR_PAIRS-1.
<STRONG>o</STRONG> does not return an error if either of the parameters of <STRONG>wattr_get</STRONG>
used for retrieving attribute or color-pair values is <STRONG>NULL</STRONG>.
-ncurses 6.4 2023-09-09 <STRONG><A HREF="curs_attr.3x.html">curs_attr(3x)</A></STRONG>
+ncurses 6.4 2023-09-16 <STRONG><A HREF="curs_attr.3x.html">curs_attr(3x)</A></STRONG>
</PRE>
<div class="nav">
<ul>
<!--
****************************************************************************
- * Copyright 2018-2020,2021 Thomas E. Dickey *
+ * Copyright 2018-2021,2023 Thomas E. Dickey *
* Copyright 1998-2005,2010 Free Software Foundation, Inc. *
* *
* Permission is hereby granted, free of charge, to any person obtaining a *
* sale, use or other dealings in this Software without prior written *
* authorization. *
****************************************************************************
- * @Id: curs_beep.3x,v 1.17 2021/12/25 21:41:58 tom Exp @
+ * @Id: curs_beep.3x,v 1.22 2023/09/16 23:34:43 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>curs_beep 3x 2021-12-25 ncurses 6.4 Library calls</TITLE>
+<TITLE>curs_beep 3x 2023-09-16 ncurses 6.4 Library calls</TITLE>
<link rel="author" href="mailto:bug-ncurses@gnu.org">
</HEAD>
<BODY>
-<H1 class="no-header">curs_beep 3x 2021-12-25 ncurses 6.4 Library calls</H1>
+<H1 class="no-header">curs_beep 3x 2023-09-16 ncurses 6.4 Library calls</H1>
<PRE>
<STRONG><A HREF="curs_beep.3x.html">curs_beep(3x)</A></STRONG> Library calls <STRONG><A HREF="curs_beep.3x.html">curs_beep(3x)</A></STRONG>
</PRE><H2><a name="h2-NAME">NAME</a></H2><PRE>
- <STRONG>beep</STRONG>, <STRONG>flash</STRONG> - <STRONG>curses</STRONG> bell and screen flash routines
+ <STRONG>beep</STRONG>, <STRONG>flash</STRONG> - ring the (visual) bell of the terminal with <EM>curses</EM>
</PRE><H2><a name="h2-SYNOPSIS">SYNOPSIS</a></H2><PRE>
-ncurses 6.4 2021-12-25 <STRONG><A HREF="curs_beep.3x.html">curs_beep(3x)</A></STRONG>
+ncurses 6.4 2023-09-16 <STRONG><A HREF="curs_beep.3x.html">curs_beep(3x)</A></STRONG>
</PRE>
<div class="nav">
<ul>
* sale, use or other dealings in this Software without prior written *
* authorization. *
****************************************************************************
- * @Id: curs_bkgd.3x,v 1.39 2023/07/01 15:43:20 tom Exp @
+ * @Id: curs_bkgd.3x,v 1.44 2023/09/16 23:34:43 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>curs_bkgd 3x 2023-07-01 ncurses 6.4 Library calls</TITLE>
+<TITLE>curs_bkgd 3x 2023-09-16 ncurses 6.4 Library calls</TITLE>
<link rel="author" href="mailto:bug-ncurses@gnu.org">
</HEAD>
<BODY>
-<H1 class="no-header">curs_bkgd 3x 2023-07-01 ncurses 6.4 Library calls</H1>
+<H1 class="no-header">curs_bkgd 3x 2023-09-16 ncurses 6.4 Library calls</H1>
<PRE>
<STRONG><A HREF="curs_bkgd.3x.html">curs_bkgd(3x)</A></STRONG> Library calls <STRONG><A HREF="curs_bkgd.3x.html">curs_bkgd(3x)</A></STRONG>
</PRE><H2><a name="h2-NAME">NAME</a></H2><PRE>
- <STRONG>bkgdset</STRONG>, <STRONG>wbkgdset</STRONG>, <STRONG>bkgd</STRONG>, <STRONG>wbkgd</STRONG>, <STRONG>getbkgd</STRONG> - <STRONG>curses</STRONG> window background
- manipulation routines
+ <STRONG>bkgdset</STRONG>, <STRONG>wbkgdset</STRONG>, <STRONG>bkgd</STRONG>, <STRONG>wbkgd</STRONG>, <STRONG>getbkgd</STRONG> - manipulate background of a
+ <EM>curses</EM> window of characters
</PRE><H2><a name="h2-SYNOPSIS">SYNOPSIS</a></H2><PRE>
-ncurses 6.4 2023-07-01 <STRONG><A HREF="curs_bkgd.3x.html">curs_bkgd(3x)</A></STRONG>
+ncurses 6.4 2023-09-16 <STRONG><A HREF="curs_bkgd.3x.html">curs_bkgd(3x)</A></STRONG>
</PRE>
<div class="nav">
<ul>
* sale, use or other dealings in this Software without prior written *
* authorization. *
****************************************************************************
- * @Id: curs_bkgrnd.3x,v 1.21 2023/08/12 18:31:54 tom Exp @
+ * @Id: curs_bkgrnd.3x,v 1.27 2023/09/16 23:34:43 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>curs_bkgrnd 3x 2023-08-12 ncurses 6.4 Library calls</TITLE>
+<TITLE>curs_bkgrnd 3x 2023-09-16 ncurses 6.4 Library calls</TITLE>
<link rel="author" href="mailto:bug-ncurses@gnu.org">
</HEAD>
<BODY>
-<H1 class="no-header">curs_bkgrnd 3x 2023-08-12 ncurses 6.4 Library calls</H1>
+<H1 class="no-header">curs_bkgrnd 3x 2023-09-16 ncurses 6.4 Library calls</H1>
<PRE>
<STRONG><A HREF="curs_bkgrnd.3x.html">curs_bkgrnd(3x)</A></STRONG> Library calls <STRONG><A HREF="curs_bkgrnd.3x.html">curs_bkgrnd(3x)</A></STRONG>
</PRE><H2><a name="h2-NAME">NAME</a></H2><PRE>
- <STRONG>bkgrnd</STRONG>, <STRONG>wbkgrnd</STRONG>, <STRONG>bkgrndset</STRONG>, <STRONG>wbkgrndset</STRONG>, <STRONG>getbkgrnd</STRONG>, <STRONG>wgetbkgrnd</STRONG> - <STRONG>curses</STRONG>
- window complex background manipulation routines
+ <STRONG>bkgrnd</STRONG>, <STRONG>wbkgrnd</STRONG>, <STRONG>bkgrndset</STRONG>, <STRONG>wbkgrndset</STRONG>, <STRONG>getbkgrnd</STRONG>, <STRONG>wgetbkgrnd</STRONG> -
+ manipulate background of a <EM>curses</EM> window of wide characters
</PRE><H2><a name="h2-SYNOPSIS">SYNOPSIS</a></H2><PRE>
<STRONG>#include</STRONG> <STRONG><curses.h></STRONG>
- <STRONG>int</STRONG> <STRONG>bkgrnd(</STRONG> <STRONG>const</STRONG> <STRONG>cchar_t</STRONG> <STRONG>*</STRONG><EM>wch</EM><STRONG>);</STRONG>
- <STRONG>int</STRONG> <STRONG>wbkgrnd(</STRONG> <STRONG>WINDOW</STRONG> <STRONG>*</STRONG><EM>win</EM><STRONG>,</STRONG> <STRONG>const</STRONG> <STRONG>cchar_t</STRONG> <STRONG>*</STRONG><EM>wch</EM><STRONG>);</STRONG>
+ <STRONG>int</STRONG> <STRONG>bkgrnd(const</STRONG> <STRONG>cchar_t</STRONG> <STRONG>*</STRONG><EM>wch</EM><STRONG>);</STRONG>
+ <STRONG>int</STRONG> <STRONG>wbkgrnd(WINDOW</STRONG> <STRONG>*</STRONG><EM>win</EM><STRONG>,</STRONG> <STRONG>const</STRONG> <STRONG>cchar_t</STRONG> <STRONG>*</STRONG><EM>wch</EM><STRONG>);</STRONG>
<STRONG>void</STRONG> <STRONG>bkgrndset(const</STRONG> <STRONG>cchar_t</STRONG> <STRONG>*</STRONG><EM>wch</EM> <STRONG>);</STRONG>
<STRONG>void</STRONG> <STRONG>wbkgrndset(WINDOW</STRONG> <STRONG>*</STRONG><EM>win</EM><STRONG>,</STRONG> <STRONG>const</STRONG> <STRONG>cchar_t</STRONG> <STRONG>*</STRONG><EM>wch</EM><STRONG>);</STRONG>
</PRE><H3><a name="h3-getbkgrnd">getbkgrnd</a></H3><PRE>
The <STRONG>getbkgrnd</STRONG> function returns the given window's current background
- character/attribute pair via the <STRONG>wch</STRONG> pointer. If the given window
- pointer is null, the character is not updated (but no error returned).
+ character/attribute pair via the <EM>wch</EM> pointer. If the given window
+ pointer is null, the character is not updated (but no error is
+ returned).
</PRE><H2><a name="h2-NOTES">NOTES</a></H2><PRE>
Note that <STRONG>bkgrnd</STRONG>, <STRONG>bkgrndset</STRONG>, and <STRONG>getbkgrnd</STRONG> may be macros.
X/Open Curses does not provide details on how the rendition is changed.
- This implementation follows the approach used in SVr4 curses, which is
+ This implementation follows the approach used in SVr4 curses, which is
explained in the manual page for <STRONG>wbkgd</STRONG>.
</PRE><H2><a name="h2-RETURN-VALUE">RETURN VALUE</a></H2><PRE>
The <STRONG>bkgrndset</STRONG> and <STRONG>wbkgrndset</STRONG> routines do not return a value.
- Upon successful completion, the other functions return <STRONG>OK</STRONG>. Otherwise,
+ Upon successful completion, the other functions return <STRONG>OK</STRONG>. Otherwise,
they return <STRONG>ERR</STRONG>:
<STRONG>o</STRONG> A null window pointer is treated as an error.
</PRE><H2><a name="h2-PORTABILITY">PORTABILITY</a></H2><PRE>
- These functions are described in the XSI Curses standard, Issue 4
+ These functions are described in the XSI Curses standard, Issue 4
(X/Open Curses).
-ncurses 6.4 2023-08-12 <STRONG><A HREF="curs_bkgrnd.3x.html">curs_bkgrnd(3x)</A></STRONG>
+ncurses 6.4 2023-09-16 <STRONG><A HREF="curs_bkgrnd.3x.html">curs_bkgrnd(3x)</A></STRONG>
</PRE>
<div class="nav">
<ul>
* sale, use or other dealings in this Software without prior written *
* authorization. *
****************************************************************************
- * @Id: curs_border.3x,v 1.34 2023/07/01 15:43:20 tom Exp @
+ * @Id: curs_border.3x,v 1.38 2023/09/16 23:34:43 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>curs_border 3x 2023-07-01 ncurses 6.4 Library calls</TITLE>
+<TITLE>curs_border 3x 2023-09-16 ncurses 6.4 Library calls</TITLE>
<link rel="author" href="mailto:bug-ncurses@gnu.org">
</HEAD>
<BODY>
-<H1 class="no-header">curs_border 3x 2023-07-01 ncurses 6.4 Library calls</H1>
+<H1 class="no-header">curs_border 3x 2023-09-16 ncurses 6.4 Library calls</H1>
<PRE>
<STRONG><A HREF="curs_border.3x.html">curs_border(3x)</A></STRONG> Library calls <STRONG><A HREF="curs_border.3x.html">curs_border(3x)</A></STRONG>
</PRE><H2><a name="h2-NAME">NAME</a></H2><PRE>
- <STRONG>border</STRONG>, <STRONG>wborder</STRONG>, <STRONG>box</STRONG>, <STRONG>hline</STRONG>, <STRONG>whline</STRONG>, <STRONG>vline</STRONG>, <STRONG>wvline</STRONG>, <STRONG>mvhline</STRONG>, <STRONG>mvwhline</STRONG>,
- <STRONG>mvvline</STRONG>, <STRONG>mvwvline</STRONG> - create <STRONG>curses</STRONG> borders, horizontal and vertical
- lines
+ <STRONG>border</STRONG>, <STRONG>wborder</STRONG>, <STRONG>box</STRONG>, <STRONG>hline</STRONG>, <STRONG>whline</STRONG>, <STRONG>vline</STRONG>, <STRONG>wvline</STRONG>, <STRONG>mvhline</STRONG>, <STRONG>mvwhline</STRONG>,
+ <STRONG>mvvline</STRONG>, <STRONG>mvwvline</STRONG> - draw borders and lines in a <EM>curses</EM> window of
+ characters
</PRE><H2><a name="h2-SYNOPSIS">SYNOPSIS</a></H2><PRE>
</PRE><H2><a name="h2-DESCRIPTION">DESCRIPTION</a></H2><PRE>
The <STRONG>border</STRONG>, <STRONG>wborder</STRONG> and <STRONG>box</STRONG> routines draw a box around the edges of a
- window. Other than the window, each argument is a character with at-
- tributes:
+ window. Other than the window, each argument is a character with
+ attributes:
<EM>ls</EM> - left side,
<EM>rs</EM> - right side,
<EM>bl</EM> - bottom left-hand corner, and
<EM>br</EM> - bottom right-hand corner.
- If any of these arguments is zero, then the corresponding default val-
- ues (defined in <STRONG>curses.h</STRONG>) are used instead:
+ If any of these arguments is zero, then the corresponding default
+ values (defined in <STRONG>curses.h</STRONG>) are used instead:
<STRONG>ACS_VLINE</STRONG>,
<STRONG>ACS_VLINE</STRONG>,
<STRONG>ACS_LLCORNER</STRONG>,
<STRONG>ACS_LRCORNER</STRONG>.
- <STRONG>box(</STRONG><EM>win</EM><STRONG>,</STRONG> <EM>verch</EM><STRONG>,</STRONG> <EM>horch</EM><STRONG>)</STRONG> is a shorthand for the following call: <STRONG>wbor-</STRONG>
- <STRONG>der(</STRONG><EM>win</EM><STRONG>,</STRONG> <EM>verch</EM><STRONG>,</STRONG> <EM>verch</EM><STRONG>,</STRONG> <EM>horch</EM><STRONG>,</STRONG> <EM>horch</EM><STRONG>,</STRONG> <STRONG>0,</STRONG> <STRONG>0,</STRONG> <STRONG>0,</STRONG> <STRONG>0)</STRONG>.
+ <STRONG>box(</STRONG><EM>win</EM><STRONG>,</STRONG> <EM>verch</EM><STRONG>,</STRONG> <EM>horch</EM><STRONG>)</STRONG> is a shorthand for the following call:
+ <STRONG>wborder(</STRONG><EM>win</EM><STRONG>,</STRONG> <EM>verch</EM><STRONG>,</STRONG> <EM>verch</EM><STRONG>,</STRONG> <EM>horch</EM><STRONG>,</STRONG> <EM>horch</EM><STRONG>,</STRONG> <STRONG>0,</STRONG> <STRONG>0,</STRONG> <STRONG>0,</STRONG> <STRONG>0)</STRONG>.
The <STRONG>hline</STRONG> and <STRONG>whline</STRONG> functions draw a horizontal (left to right) line
using <EM>ch</EM> starting at the current cursor position in the window. The
- current cursor position is not changed. The line is at most <EM>n</EM> charac-
- ters long, or as many as fit into the window.
+ current cursor position is not changed. The line is at most <EM>n</EM>
+ characters long, or as many as fit into the window.
- The <STRONG>vline</STRONG> and <STRONG>wvline</STRONG> functions draw a vertical (top to bottom) line us-
- ing <EM>ch</EM> starting at the current cursor position in the window. The cur-
- rent cursor position is not changed. The line is at most <EM>n</EM> characters
- long, or as many as fit into the window.
+ The <STRONG>vline</STRONG> and <STRONG>wvline</STRONG> functions draw a vertical (top to bottom) line
+ using <EM>ch</EM> starting at the current cursor position in the window. The
+ current cursor position is not changed. The line is at most <EM>n</EM>
+ characters long, or as many as fit into the window.
</PRE><H2><a name="h2-RETURN-VALUE">RETURN VALUE</a></H2><PRE>
All routines return the integer <STRONG>OK</STRONG>. The SVr4.0 manual says "or a non-
negative integer if <STRONG>immedok</STRONG> is set", but this appears to be an error.
- X/Open does not define any error conditions. This implementation re-
- turns an error if the window pointer is null.
+ X/Open does not define any error conditions. This implementation
+ returns an error if the window pointer is null.
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
-ncurses 6.4 2023-07-01 <STRONG><A HREF="curs_border.3x.html">curs_border(3x)</A></STRONG>
+ncurses 6.4 2023-09-16 <STRONG><A HREF="curs_border.3x.html">curs_border(3x)</A></STRONG>
</PRE>
<div class="nav">
<ul>
* sale, use or other dealings in this Software without prior written *
* authorization. *
****************************************************************************
- * @Id: curs_border_set.3x,v 1.20 2023/07/01 15:43:20 tom Exp @
+ * @Id: curs_border_set.3x,v 1.24 2023/09/16 23:34:43 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>curs_border_set 3x 2023-07-01 ncurses 6.4 Library calls</TITLE>
+<TITLE>curs_border_set 3x 2023-09-16 ncurses 6.4 Library calls</TITLE>
<link rel="author" href="mailto:bug-ncurses@gnu.org">
</HEAD>
<BODY>
-<H1 class="no-header">curs_border_set 3x 2023-07-01 ncurses 6.4 Library calls</H1>
+<H1 class="no-header">curs_border_set 3x 2023-09-16 ncurses 6.4 Library calls</H1>
<PRE>
<STRONG><A HREF="curs_border_set.3x.html">curs_border_set(3x)</A></STRONG> Library calls <STRONG><A HREF="curs_border_set.3x.html">curs_border_set(3x)</A></STRONG>
</PRE><H2><a name="h2-NAME">NAME</a></H2><PRE>
- <STRONG>border_set</STRONG>, <STRONG>wborder_set</STRONG>, <STRONG>box_set</STRONG>, <STRONG>hline_set</STRONG>, <STRONG>whline_set</STRONG>, <STRONG>mvhline_set</STRONG>,
- <STRONG>mvwhline_set</STRONG>, <STRONG>vline_set</STRONG>, <STRONG>wvline_set</STRONG>, <STRONG>mvvline_set</STRONG>, <STRONG>mvwvline_set</STRONG> - create
- <STRONG>curses</STRONG> borders or lines using complex characters and renditions
+ <STRONG>border_set</STRONG>, <STRONG>wborder_set</STRONG>, <STRONG>box_set</STRONG>, <STRONG>hline_set</STRONG>, <STRONG>whline_set</STRONG>, <STRONG>mvhline_set</STRONG>,
+ <STRONG>mvwhline_set</STRONG>, <STRONG>vline_set</STRONG>, <STRONG>wvline_set</STRONG>, <STRONG>mvvline_set</STRONG>, <STRONG>mvwvline_set</STRONG> - draw
+ borders and lines in a <EM>curses</EM> window of wide characters
</PRE><H2><a name="h2-SYNOPSIS">SYNOPSIS</a></H2><PRE>
of the current or specified window. These functions do not change the
cursor position, and do not wrap.
- Other than the window, each argument is a complex character with at-
- tributes:
+ Other than the window, each argument is a complex character with
+ attributes:
<EM>ls</EM> - left side,
<EM>rs</EM> - right side,
<EM>ts</EM> - top side,
<EM>bl</EM> - bottom left-hand corner, and
<EM>br</EM> - bottom right-hand corner.
- If any of these arguments is zero, then the corresponding default val-
- ues (defined in <STRONG>curses.h</STRONG>) are used instead:
+ If any of these arguments is zero, then the corresponding default
+ values (defined in <STRONG>curses.h</STRONG>) are used instead:
<STRONG>WACS_VLINE</STRONG>,
<STRONG>WACS_VLINE</STRONG>,
<STRONG>WACS_HLINE</STRONG>,
</PRE><H2><a name="h2-NOTES">NOTES</a></H2><PRE>
- Note that <STRONG>border_set</STRONG>, <STRONG>hline_set</STRONG>, <STRONG>mvhline_set</STRONG>, <STRONG>mvvline_set</STRONG>, <STRONG>mvwh-</STRONG>
- <STRONG>line_set</STRONG>, <STRONG>mvwvline_set</STRONG>, and <STRONG>vline_set</STRONG> may be macros.
+ Note that <STRONG>border_set</STRONG>, <STRONG>hline_set</STRONG>, <STRONG>mvhline_set</STRONG>, <STRONG>mvvline_set</STRONG>,
+ <STRONG>mvwhline_set</STRONG>, <STRONG>mvwvline_set</STRONG>, and <STRONG>vline_set</STRONG> may be macros.
</PRE><H2><a name="h2-RETURN-VALUE">RETURN VALUE</a></H2><PRE>
-ncurses 6.4 2023-07-01 <STRONG><A HREF="curs_border_set.3x.html">curs_border_set(3x)</A></STRONG>
+ncurses 6.4 2023-09-16 <STRONG><A HREF="curs_border_set.3x.html">curs_border_set(3x)</A></STRONG>
</PRE>
<div class="nav">
<ul>
* sale, use or other dealings in this Software without prior written *
* authorization. *
****************************************************************************
- * @Id: curs_clear.3x,v 1.31 2023/07/01 15:43:20 tom Exp @
+ * @Id: curs_clear.3x,v 1.35 2023/09/16 23:34:43 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>curs_clear 3x 2023-07-01 ncurses 6.4 Library calls</TITLE>
+<TITLE>curs_clear 3x 2023-09-16 ncurses 6.4 Library calls</TITLE>
<link rel="author" href="mailto:bug-ncurses@gnu.org">
</HEAD>
<BODY>
-<H1 class="no-header">curs_clear 3x 2023-07-01 ncurses 6.4 Library calls</H1>
+<H1 class="no-header">curs_clear 3x 2023-09-16 ncurses 6.4 Library calls</H1>
<PRE>
<STRONG><A HREF="curs_clear.3x.html">curs_clear(3x)</A></STRONG> Library calls <STRONG><A HREF="curs_clear.3x.html">curs_clear(3x)</A></STRONG>
</PRE><H2><a name="h2-NAME">NAME</a></H2><PRE>
- <STRONG>erase</STRONG>, <STRONG>werase</STRONG>, <STRONG>clear</STRONG>, <STRONG>wclear</STRONG>, <STRONG>clrtobot</STRONG>, <STRONG>wclrtobot</STRONG>, <STRONG>clrtoeol</STRONG>, <STRONG>wclrtoeol</STRONG>
- - clear all or part of a <STRONG>curses</STRONG> window
+ <STRONG>erase</STRONG>, <STRONG>werase</STRONG>, <STRONG>clear</STRONG>, <STRONG>wclear</STRONG>, <STRONG>clrtobot</STRONG>, <STRONG>wclrtobot</STRONG>, <STRONG>clrtoeol</STRONG>, <STRONG>wclrtoeol</STRONG>
+ - clear all or part of a <EM>curses</EM> window
</PRE><H2><a name="h2-SYNOPSIS">SYNOPSIS</a></H2><PRE>
</PRE><H2><a name="h2-DESCRIPTION">DESCRIPTION</a></H2><PRE>
</PRE><H3><a name="h3-erase_werase">erase/werase</a></H3><PRE>
- The <STRONG>erase</STRONG> and <STRONG>werase</STRONG> routines copy blanks to every position in the win-
- dow, clearing the screen.
+ The <STRONG>erase</STRONG> and <STRONG>werase</STRONG> routines copy blanks to every position in the
+ window, clearing the screen.
Blanks created by erasure have the current background rendition (as set
by <STRONG><A HREF="curs_bkgd.3x.html">wbkgdset(3x)</A></STRONG>) merged into them.
standard specifies that they return <STRONG>ERR</STRONG> on failure, but specifies no
error conditions.
- The SVr4.0 manual says that these functions could return "a non-nega-
- tive integer if <STRONG><A HREF="curs_outopts.3x.html">immedok(3x)</A></STRONG> is set", referring to the return-value of
- <STRONG>wrefresh</STRONG>. In that implementation, <STRONG>wrefresh</STRONG> would return a count of the
- number of characters written to the terminal.
+ The SVr4.0 manual says that these functions could return "a non-
+ negative integer if <STRONG><A HREF="curs_outopts.3x.html">immedok(3x)</A></STRONG> is set", referring to the return-value
+ of <STRONG>wrefresh</STRONG>. In that implementation, <STRONG>wrefresh</STRONG> would return a count of
+ the number of characters written to the terminal.
Some historic curses implementations had, as an undocumented feature,
- the ability to do the equivalent of <STRONG>clearok(...,</STRONG> <STRONG>1)</STRONG> by saying <STRONG>touch-</STRONG>
- <STRONG>win(stdscr)</STRONG> or <STRONG>clear(stdscr)</STRONG>. This will not work under ncurses.
+ the ability to do the equivalent of <STRONG>clearok(...,</STRONG> <STRONG>1)</STRONG> by saying
+ <STRONG>touchwin(stdscr)</STRONG> or <STRONG>clear(stdscr)</STRONG>. This will not work under ncurses.
- This implementation, and others such as Solaris, sets the current posi-
- tion to 0,0 after erasing via <STRONG>werase</STRONG> and <STRONG>wclear</STRONG>. That fact is not doc-
- umented in other implementations, and may not be true of implementa-
- tions which were not derived from SVr4 source.
+ This implementation, and others such as Solaris, sets the current
+ position to 0,0 after erasing via <STRONG>werase</STRONG> and <STRONG>wclear</STRONG>. That fact is not
+ documented in other implementations, and may not be true of
+ implementations which were not derived from SVr4 source.
Not obvious from the description, most implementations clear the screen
after <STRONG>wclear</STRONG> even for a subwindow or derived window. If you do not
-ncurses 6.4 2023-07-01 <STRONG><A HREF="curs_clear.3x.html">curs_clear(3x)</A></STRONG>
+ncurses 6.4 2023-09-16 <STRONG><A HREF="curs_clear.3x.html">curs_clear(3x)</A></STRONG>
</PRE>
<div class="nav">
<ul>
* sale, use or other dealings in this Software without prior written *
* authorization. *
****************************************************************************
- * @Id: curs_color.3x,v 1.73 2023/07/01 14:23:04 tom Exp @
+ * @Id: curs_color.3x,v 1.77 2023/09/16 23:34:43 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>curs_color 3x 2023-07-01 ncurses 6.4 Library calls</TITLE>
+<TITLE>curs_color 3x 2023-09-16 ncurses 6.4 Library calls</TITLE>
<link rel="author" href="mailto:bug-ncurses@gnu.org">
</HEAD>
<BODY>
-<H1 class="no-header">curs_color 3x 2023-07-01 ncurses 6.4 Library calls</H1>
+<H1 class="no-header">curs_color 3x 2023-09-16 ncurses 6.4 Library calls</H1>
<PRE>
<STRONG><A HREF="curs_color.3x.html">curs_color(3x)</A></STRONG> Library calls <STRONG><A HREF="curs_color.3x.html">curs_color(3x)</A></STRONG>
</PRE><H2><a name="h2-NAME">NAME</a></H2><PRE>
- <STRONG>start_color</STRONG>, <STRONG>has_colors</STRONG>, <STRONG>can_change_color</STRONG>, <STRONG>init_pair</STRONG>, <STRONG>init_color</STRONG>,
- <STRONG>init_extended_pair</STRONG>, <STRONG>init_extended_color</STRONG>, <STRONG>color_content</STRONG>, <STRONG>pair_content</STRONG>,
- <STRONG>extended_color_content</STRONG>, <STRONG>extended_pair_content</STRONG>, <STRONG>reset_color_pairs</STRONG>,
- <STRONG>COLOR_PAIR</STRONG>, <STRONG>PAIR_NUMBER</STRONG> - <STRONG>curses</STRONG> color manipulation routines
+ <STRONG>start_color</STRONG>, <STRONG>has_colors</STRONG>, <STRONG>can_change_color</STRONG>, <STRONG>init_pair</STRONG>, <STRONG>init_color</STRONG>,
+ <STRONG>init_extended_pair</STRONG>, <STRONG>init_extended_color</STRONG>, <STRONG>color_content</STRONG>, <STRONG>pair_content</STRONG>,
+ <STRONG>extended_color_content</STRONG>, <STRONG>extended_pair_content</STRONG>, <STRONG>reset_color_pairs</STRONG>,
+ <STRONG>COLOR_PAIR</STRONG>, <STRONG>PAIR_NUMBER</STRONG> - manipulate terminal colors with <EM>curses</EM>
</PRE><H2><a name="h2-SYNOPSIS">SYNOPSIS</a></H2><PRE>
use these routines <STRONG>start_color</STRONG> must be called, usually right after
<STRONG>initscr</STRONG>. Colors are always used in pairs (referred to as color-pairs).
A color-pair consists of a foreground color (for characters) and a
- background color (for the blank field on which the characters are dis-
- played). A programmer initializes a color-pair with the routine
+ background color (for the blank field on which the characters are
+ displayed). A programmer initializes a color-pair with the routine
<STRONG>init_pair</STRONG>. After it has been initialized, <STRONG>COLOR_PAIR</STRONG>(<EM>n</EM>) can be used to
convert the pair to a video attribute.
If a terminal is capable of redefining colors, the programmer can use
- the routine <STRONG>init_color</STRONG> to change the definition of a color. The rou-
- tines <STRONG>has_colors</STRONG> and <STRONG>can_change_color</STRONG> return <STRONG>TRUE</STRONG> or <STRONG>FALSE</STRONG>, depending
- on whether the terminal has color capabilities and whether the program-
- mer can change the colors. The routine <STRONG>color_content</STRONG> allows a program-
- mer to extract the amounts of red, green, and blue components in an
- initialized color. The routine <STRONG>pair_content</STRONG> allows a programmer to
- find out how a given color-pair is currently defined.
+ the routine <STRONG>init_color</STRONG> to change the definition of a color. The
+ routines <STRONG>has_colors</STRONG> and <STRONG>can_change_color</STRONG> return <STRONG>TRUE</STRONG> or <STRONG>FALSE</STRONG>,
+ depending on whether the terminal has color capabilities and whether
+ the programmer can change the colors. The routine <STRONG>color_content</STRONG> allows
+ a programmer to extract the amounts of red, green, and blue components
+ in an initialized color. The routine <STRONG>pair_content</STRONG> allows a programmer
+ to find out how a given color-pair is currently defined.
</PRE><H3><a name="h3-Color-Rendering">Color Rendering</a></H3><PRE>
- The <STRONG>curses</STRONG> library combines these inputs to produce the actual fore-
- ground and background colors shown on the screen:
+ The <STRONG>curses</STRONG> library combines these inputs to produce the actual
+ foreground and background colors shown on the screen:
<STRONG>o</STRONG> per-character video attributes (e.g., via <STRONG>waddch</STRONG>),
<STRONG>o</STRONG> the background character (e.g., <STRONG>wbkgdset</STRONG>).
- Per-character and window attributes are usually set by a parameter con-
- taining video attributes including a color pair value. Some functions
- such as <STRONG>wattr_set</STRONG> use a separate parameter which is the color pair num-
- ber.
+ Per-character and window attributes are usually set by a parameter
+ containing video attributes including a color pair value. Some
+ functions such as <STRONG>wattr_set</STRONG> use a separate parameter which is the color
+ pair number.
The background character is a special case: it includes a character
value, just as if it were passed to <STRONG>waddch</STRONG>.
<STRONG>o</STRONG> If the parameter passed to <STRONG>waddch</STRONG> is <EM>not</EM> <EM>blank</EM>, or it does not use
the special color pair 0, <STRONG>curses</STRONG> prefers the color pair from the
- parameter, if it is nonzero. Otherwise, it tries the window attri-
- bute next, and finally the background character.
+ parameter, if it is nonzero. Otherwise, it tries the window
+ attribute next, and finally the background character.
- Some <STRONG>curses</STRONG> functions such as <STRONG>wprintw</STRONG> call <STRONG>waddch</STRONG>. Those do not com-
- bine its parameter with a color pair. Consequently those calls use on-
- ly the window attribute or the background character.
+ Some <STRONG>curses</STRONG> functions such as <STRONG>wprintw</STRONG> call <STRONG>waddch</STRONG>. Those do not
+ combine its parameter with a color pair. Consequently those calls use
+ only the window attribute or the background character.
</PRE><H2><a name="h2-CONSTANTS">CONSTANTS</a></H2><PRE>
</PRE><H2><a name="h2-VARIABLES">VARIABLES</a></H2><PRE>
</PRE><H3><a name="h3-COLORS">COLORS</a></H3><PRE>
- is initialized by <STRONG>start_color</STRONG> to the maximum number of colors the ter-
- minal can support.
+ is initialized by <STRONG>start_color</STRONG> to the maximum number of colors the
+ terminal can support.
</PRE><H3><a name="h3-COLOR_PAIRS">COLOR_PAIRS</a></H3><PRE>
</PRE><H3><a name="h3-start_color">start_color</a></H3><PRE>
The <STRONG>start_color</STRONG> routine requires no arguments. It must be called if
- the programmer wants to use colors, and before any other color manipu-
- lation routine is called. It is good practice to call this routine
- right after <STRONG>initscr</STRONG>. <STRONG>start_color</STRONG> does this:
+ the programmer wants to use colors, and before any other color
+ manipulation routine is called. It is good practice to call this
+ routine right after <STRONG>initscr</STRONG>. <STRONG>start_color</STRONG> does this:
- <STRONG>o</STRONG> It initializes two global variables, <STRONG>COLORS</STRONG> and <STRONG>COLOR_PAIRS</STRONG> (re-
- spectively defining the maximum number of colors and color-pairs
+ <STRONG>o</STRONG> It initializes two global variables, <STRONG>COLORS</STRONG> and <STRONG>COLOR_PAIRS</STRONG>
+ (respectively defining the maximum number of colors and color-pairs
the terminal can support).
<STRONG>o</STRONG> It initializes the special color pair <STRONG>0</STRONG> to the default foreground
initial eight colors.
<STRONG>start_color</STRONG> does not attempt to set the terminal's color palette to
- match its built-in table. An application may use <STRONG>init_color</STRONG> to al-
- ter the internal table along with the terminal's color.
+ match its built-in table. An application may use <STRONG>init_color</STRONG> to
+ alter the internal table along with the terminal's color.
These limits apply to color values and color pairs. Values outside
these limits are not legal, and may result in a runtime error:
- <STRONG>o</STRONG> <STRONG>COLORS</STRONG> corresponds to the terminal database's <STRONG>max_colors</STRONG> capabili-
- ty, (see <STRONG><A HREF="terminfo.5.html">terminfo(5)</A></STRONG>).
+ <STRONG>o</STRONG> <STRONG>COLORS</STRONG> corresponds to the terminal database's <STRONG>max_colors</STRONG>
+ capability, (see <STRONG><A HREF="terminfo.5.html">terminfo(5)</A></STRONG>).
- <STRONG>o</STRONG> color values are expected to be in the range <STRONG>0</STRONG> to <STRONG>COLORS-1</STRONG>, inclu-
- sive (including <STRONG>0</STRONG> and <STRONG>COLORS-1</STRONG>).
+ <STRONG>o</STRONG> color values are expected to be in the range <STRONG>0</STRONG> to <STRONG>COLORS-1</STRONG>,
+ inclusive (including <STRONG>0</STRONG> and <STRONG>COLORS-1</STRONG>).
<STRONG>o</STRONG> a special color value <STRONG>-1</STRONG> is used in certain extended functions to
denote the <EM>default</EM> <EM>color</EM> (see <STRONG><A HREF="default_colors.3x.html">use_default_colors(3x)</A></STRONG>).
- <STRONG>o</STRONG> <STRONG>COLOR_PAIRS</STRONG> corresponds to the terminal database's <STRONG>max_pairs</STRONG> capa-
- bility, (see <STRONG><A HREF="terminfo.5.html">terminfo(5)</A></STRONG>).
+ <STRONG>o</STRONG> <STRONG>COLOR_PAIRS</STRONG> corresponds to the terminal database's <STRONG>max_pairs</STRONG>
+ capability, (see <STRONG><A HREF="terminfo.5.html">terminfo(5)</A></STRONG>).
- <STRONG>o</STRONG> legal color pair values are in the range <STRONG>1</STRONG> to <STRONG>COLOR_PAIRS-1</STRONG>, inclu-
- sive.
+ <STRONG>o</STRONG> legal color pair values are in the range <STRONG>1</STRONG> to <STRONG>COLOR_PAIRS-1</STRONG>,
+ inclusive.
<STRONG>o</STRONG> color pair <STRONG>0</STRONG> is special; it denotes "no color".
- Color pair <STRONG>0</STRONG> is assumed to be white on black, but is actually what-
- ever the terminal implements before color is initialized. It can-
- not be modified by the application.
+ Color pair <STRONG>0</STRONG> is assumed to be white on black, but is actually
+ whatever the terminal implements before color is initialized. It
+ cannot be modified by the application.
</PRE><H3><a name="h3-has_colors">has_colors</a></H3><PRE>
The <STRONG>has_colors</STRONG> routine requires no arguments. It returns <STRONG>TRUE</STRONG> if the
- terminal can manipulate colors; otherwise, it returns <STRONG>FALSE</STRONG>. This rou-
- tine facilitates writing terminal-independent programs. For example, a
- programmer can use it to decide whether to use color or some other
- video attribute.
+ terminal can manipulate colors; otherwise, it returns <STRONG>FALSE</STRONG>. This
+ routine facilitates writing terminal-independent programs. For
+ example, a programmer can use it to decide whether to use color or some
+ other video attribute.
</PRE><H3><a name="h3-can_change_color">can_change_color</a></H3><PRE>
The <STRONG>can_change_color</STRONG> routine requires no arguments. It returns <STRONG>TRUE</STRONG> if
the terminal supports colors and can change their definitions; other,
- it returns <STRONG>FALSE</STRONG>. This routine facilitates writing terminal-indepen-
- dent programs.
+ it returns <STRONG>FALSE</STRONG>. This routine facilitates writing terminal-
+ independent programs.
</PRE><H3><a name="h3-init_pair">init_pair</a></H3><PRE>
The <STRONG>init_pair</STRONG> routine changes the definition of a color-pair. It takes
- three arguments: the number of the color-pair to be changed, the fore-
- ground color number, and the background color number. For portable ap-
- plications:
+ three arguments: the number of the color-pair to be changed, the
+ foreground color number, and the background color number. For portable
+ applications:
<STRONG>o</STRONG> The first argument must be a legal color pair value. If default
- colors are used (see <STRONG><A HREF="default_colors.3x.html">use_default_colors(3x)</A></STRONG>) the upper limit is ad-
- justed to allow for extra pairs which use a default color in fore-
- ground and/or background.
+ colors are used (see <STRONG><A HREF="default_colors.3x.html">use_default_colors(3x)</A></STRONG>) the upper limit is
+ adjusted to allow for extra pairs which use a default color in
+ foreground and/or background.
<STRONG>o</STRONG> The second and third arguments must be legal color values.
If the color-pair was previously initialized, the screen is refreshed
- and all occurrences of that color-pair are changed to the new defini-
- tion.
+ and all occurrences of that color-pair are changed to the new
+ definition.
- As an extension, ncurses allows you to set color pair <STRONG>0</STRONG> via the <STRONG>as-</STRONG>
- <STRONG><A HREF="assume_default_colors.3x.html">sume_default_colors(3x)</A></STRONG> routine, or to specify the use of default col-
- ors (color number <STRONG>-1</STRONG>) if you first invoke the <STRONG><A HREF="default_colors.3x.html">use_default_colors(3x)</A></STRONG>
+ As an extension, ncurses allows you to set color pair <STRONG>0</STRONG> via the
+ <STRONG><A HREF="default_colors.3x.html">assume_default_colors(3x)</A></STRONG> routine, or to specify the use of default
+ colors (color number <STRONG>-1</STRONG>) if you first invoke the <STRONG><A HREF="default_colors.3x.html">use_default_colors(3x)</A></STRONG>
routine.
</PRE><H3><a name="h3-init_extended_pair">init_extended_pair</a></H3><PRE>
Because <STRONG>init_pair</STRONG> uses signed <STRONG>short</STRONG>s for its parameters, that limits
- color-pairs and color-values to 32767 on modern hardware. The exten-
- sion <STRONG>init_extended_pair</STRONG> uses <STRONG>int</STRONG>s for the color-pair and color-value,
- allowing a larger number of colors to be supported.
+ color-pairs and color-values to 32767 on modern hardware. The
+ extension <STRONG>init_extended_pair</STRONG> uses <STRONG>int</STRONG>s for the color-pair and color-
+ value, allowing a larger number of colors to be supported.
</PRE><H3><a name="h3-init_color">init_color</a></H3><PRE>
</PRE><H3><a name="h3-init_extended_color">init_extended_color</a></H3><PRE>
Because <STRONG>init_color</STRONG> uses signed <STRONG>short</STRONG>s for its parameters, that limits
- color-values and their red, green, and blue components to 32767 on mod-
- ern hardware. The extension <STRONG>init_extended_color</STRONG> uses <STRONG>int</STRONG>s for the col-
- or value and for setting the red, green, and blue components, allowing
- a larger number of colors to be supported.
+ color-values and their red, green, and blue components to 32767 on
+ modern hardware. The extension <STRONG>init_extended_color</STRONG> uses <STRONG>int</STRONG>s for the
+ color value and for setting the red, green, and blue components,
+ allowing a larger number of colors to be supported.
</PRE><H3><a name="h3-color_content">color_content</a></H3><PRE>
The <STRONG>color_content</STRONG> routine gives programmers a way to find the intensity
of the red, green, and blue (RGB) components in a color. It requires
four arguments: the color number, and three addresses of <STRONG>short</STRONG>s for
- storing the information about the amounts of red, green, and blue com-
- ponents in the given color.
+ storing the information about the amounts of red, green, and blue
+ components in the given color.
<STRONG>o</STRONG> The first argument must be a legal color value, i.e., <STRONG>0</STRONG> through
<STRONG>COLORS-1</STRONG>, inclusive.
</PRE><H3><a name="h3-extended_color_content">extended_color_content</a></H3><PRE>
- Because <STRONG>color_content</STRONG> uses signed <STRONG>short</STRONG>s for its parameters, that lim-
- its color-values and their red, green, and blue components to 32767 on
- modern hardware. The extension <STRONG>extended_color_content</STRONG> uses <STRONG>int</STRONG>s for
+ Because <STRONG>color_content</STRONG> uses signed <STRONG>short</STRONG>s for its parameters, that
+ limits color-values and their red, green, and blue components to 32767
+ on modern hardware. The extension <STRONG>extended_color_content</STRONG> uses <STRONG>int</STRONG>s for
the color value and for returning the red, green, and blue components,
allowing a larger number of colors to be supported.
<STRONG>o</STRONG> The first argument must be a legal color value, i.e., in the range
<STRONG>1</STRONG> through <STRONG>COLOR_PAIRS-1</STRONG>, inclusive.
- <STRONG>o</STRONG> The values that are stored at the addresses pointed to by the sec-
- ond and third arguments are in the range <STRONG>0</STRONG> through <STRONG>COLORS</STRONG>, inclu-
- sive.
+ <STRONG>o</STRONG> The values that are stored at the addresses pointed to by the
+ second and third arguments are in the range <STRONG>0</STRONG> through <STRONG>COLORS</STRONG>,
+ inclusive.
</PRE><H3><a name="h3-extended_pair_content">extended_pair_content</a></H3><PRE>
Because <STRONG>pair_content</STRONG> uses signed <STRONG>short</STRONG>s for its parameters, that limits
color-pair and color-values to 32767 on modern hardware. The extension
<STRONG>extended_pair_content</STRONG> uses <STRONG>int</STRONG>s for the color pair and for returning
- the foreground and background colors, allowing a larger number of col-
- ors to be supported.
+ the foreground and background colors, allowing a larger number of
+ colors to be supported.
</PRE><H3><a name="h3-reset_color_pairs">reset_color_pairs</a></H3><PRE>
The routines <STRONG>can_change_color</STRONG> and <STRONG>has_colors</STRONG> return <STRONG>TRUE</STRONG> or <STRONG>FALSE</STRONG>.
All other routines return the integer <STRONG>ERR</STRONG> upon failure and an <STRONG>OK</STRONG> (SVr4
- specifies only "an integer value other than <STRONG>ERR</STRONG>") upon successful com-
- pletion.
+ specifies only "an integer value other than <STRONG>ERR</STRONG>") upon successful
+ completion.
- X/Open defines no error conditions. SVr4 does document some error con-
- ditions which apply in general:
+ X/Open defines no error conditions. SVr4 does document some error
+ conditions which apply in general:
<STRONG>o</STRONG> This implementation will return <STRONG>ERR</STRONG> on attempts to use color values
- outside the range <STRONG>0</STRONG> to <STRONG>COLORS</STRONG>-1 (except for the default colors ex-
- tension), or use color pairs outside the range <STRONG>0</STRONG> to <STRONG>COLOR_PAIRS-1</STRONG>.
+ outside the range <STRONG>0</STRONG> to <STRONG>COLORS</STRONG>-1 (except for the default colors
+ extension), or use color pairs outside the range <STRONG>0</STRONG> to
+ <STRONG>COLOR_PAIRS-1</STRONG>.
Color values used in <STRONG>init_color</STRONG> must be in the range <STRONG>0</STRONG> to <STRONG>1000</STRONG>.
- An error is returned from all functions if the terminal has not
+ An error is returned from all functions if the terminal has not
been initialized.
- An error is returned from secondary functions such as <STRONG>init_pair</STRONG> if
+ An error is returned from secondary functions such as <STRONG>init_pair</STRONG> if
<STRONG>start_color</STRONG> was not called.
- <STRONG>o</STRONG> SVr4 does much the same, except that it returns <STRONG>ERR</STRONG> from <STRONG>pair_con-</STRONG>
- <STRONG>tent</STRONG> if the pair was not initialized using <STRONG>init_pairs</STRONG> and it re-
- turns <STRONG>ERR</STRONG> from <STRONG>color_content</STRONG> if the terminal does not support
+ <STRONG>o</STRONG> SVr4 does much the same, except that it returns <STRONG>ERR</STRONG> from
+ <STRONG>pair_content</STRONG> if the pair was not initialized using <STRONG>init_pairs</STRONG> and
+ it returns <STRONG>ERR</STRONG> from <STRONG>color_content</STRONG> if the terminal does not support
changing colors.
This implementation does not return <STRONG>ERR</STRONG> for either case.
<STRONG>init_color</STRONG>
returns an error if the terminal does not support this feature,
- e.g., if the <STRONG>initialize_color</STRONG> capability is absent from the
+ e.g., if the <STRONG>initialize_color</STRONG> capability is absent from the
terminal description.
<STRONG>start_color</STRONG>
</PRE><H2><a name="h2-NOTES">NOTES</a></H2><PRE>
- In the <STRONG>ncurses</STRONG> implementation, there is a separate color activation
- flag, color palette, color pairs table, and associated <STRONG>COLORS</STRONG> and <STRONG>COL-</STRONG>
- <STRONG>OR_PAIRS</STRONG> counts for each screen; the <STRONG>start_color</STRONG> function only affects
- the current screen. The SVr4/XSI interface is not really designed with
- this in mind, and historical implementations may use a single shared
- color palette.
-
- Setting an implicit background color via a color pair affects only
- character cells that a character write operation explicitly touches.
- To change the background color used when parts of a window are blanked
+ In the <STRONG>ncurses</STRONG> implementation, there is a separate color activation
+ flag, color palette, color pairs table, and associated <STRONG>COLORS</STRONG> and
+ <STRONG>COLOR_PAIRS</STRONG> counts for each screen; the <STRONG>start_color</STRONG> function only
+ affects the current screen. The SVr4/XSI interface is not really
+ designed with this in mind, and historical implementations may use a
+ single shared color palette.
+
+ Setting an implicit background color via a color pair affects only
+ character cells that a character write operation explicitly touches.
+ To change the background color used when parts of a window are blanked
by erasing or scrolling operations, see <STRONG><A HREF="curs_bkgd.3x.html">curs_bkgd(3x)</A></STRONG>.
- Several caveats apply on older x86 machines (e.g., i386, i486) with
+ Several caveats apply on older x86 machines (e.g., i386, i486) with
VGA-compatible graphics:
- <STRONG>o</STRONG> COLOR_YELLOW is actually brown. To get yellow, use COLOR_YELLOW
+ <STRONG>o</STRONG> COLOR_YELLOW is actually brown. To get yellow, use COLOR_YELLOW
combined with the <STRONG>A_BOLD</STRONG> attribute.
- <STRONG>o</STRONG> The A_BLINK attribute should in theory cause the background to go
+ <STRONG>o</STRONG> The A_BLINK attribute should in theory cause the background to go
bright. This often fails to work, and even some cards for which it
- mostly works (such as the Paradise and compatibles) do the wrong
- thing when you try to set a bright "yellow" background (you get a
+ mostly works (such as the Paradise and compatibles) do the wrong
+ thing when you try to set a bright "yellow" background (you get a
blinking yellow foreground instead).
<STRONG>o</STRONG> Color RGB values are not settable.
</PRE><H2><a name="h2-HISTORY">HISTORY</a></H2><PRE>
SVr3.2 introduced color support to curses in 1987.
- SVr4 made internal changes, e.g., moving the storage for the color
- state from <STRONG>SP</STRONG> (the <STRONG>SCREEN</STRONG> structure) to <STRONG>cur_term</STRONG> (the <STRONG>TERMINAL</STRONG> struc-
- ture), but provided the same set of library functions.
+ SVr4 made internal changes, e.g., moving the storage for the color
+ state from <STRONG>SP</STRONG> (the <STRONG>SCREEN</STRONG> structure) to <STRONG>cur_term</STRONG> (the <STRONG>TERMINAL</STRONG>
+ structure), but provided the same set of library functions.
- SVr4 curses limits the number of color pairs to 64, reserving color
- pair zero (0) as the terminal's initial uncolored state. This limit
- arises because the color pair information is a bitfield in the <STRONG>chtype</STRONG>
+ SVr4 curses limits the number of color pairs to 64, reserving color
+ pair zero (0) as the terminal's initial uncolored state. This limit
+ arises because the color pair information is a bitfield in the <STRONG>chtype</STRONG>
data type (denoted by <STRONG>A_COLOR</STRONG>).
Other implementations of curses had different limits:
<STRONG>o</STRONG> PCCurses (1987-1990) provided for only eight (8) colors.
- <STRONG>o</STRONG> PDCurses (1992-present) inherited the 8-color limitation from PC-
- Curses, but changed this to 256 in version 2.5 (2001), along with
+ <STRONG>o</STRONG> PDCurses (1992-present) inherited the 8-color limitation from
+ PCCurses, but changed this to 256 in version 2.5 (2001), along with
changing <STRONG>chtype</STRONG> from 16-bits to 32-bits.
<STRONG>o</STRONG> X/Open Curses (1992-present) added a new structure <STRONG>cchar_t</STRONG> to store
the character, attributes and color-pair values, allowing increased
- range of color-pairs. Both color-pairs and color-values used a
+ range of color-pairs. Both color-pairs and color-values used a
signed <STRONG>short</STRONG>, limiting values to 15 bits.
- <STRONG>o</STRONG> ncurses (1992-present) uses eight bits for <STRONG>A_COLOR</STRONG> in <STRONG>chtype</STRONG> val-
- ues.
+ <STRONG>o</STRONG> ncurses (1992-present) uses eight bits for <STRONG>A_COLOR</STRONG> in <STRONG>chtype</STRONG>
+ values.
- Version 5.3 provided a wide-character interface (2002), but left
+ Version 5.3 provided a wide-character interface (2002), but left
color-pairs as part of the attributes-field.
Since version 6 (2015), ncurses uses a separate <STRONG>int</STRONG> for color-pairs
in the <STRONG>cchar_t</STRONG> values. When those color-pair values fit in 8 bits,
- ncurses allows color-pairs to be manipulated via the functions us-
- ing <STRONG>chtype</STRONG> values.
+ ncurses allows color-pairs to be manipulated via the functions
+ using <STRONG>chtype</STRONG> values.
- <STRONG>o</STRONG> NetBSD curses used 6 bits from 2000 (when colors were first sup-
- ported) until 2004. At that point, NetBSD changed to use 10 bits.
- As of 2021, that size is unchanged. Like ncurses before version 6,
- the NetBSD color-pair information is stored in the attributes field
- of <STRONG>cchar_t</STRONG>, limiting the number of color-pairs by the size of the
- bitfield.
+ <STRONG>o</STRONG> NetBSD curses used 6 bits from 2000 (when colors were first
+ supported) until 2004. At that point, NetBSD changed to use 10
+ bits. As of 2021, that size is unchanged. Like ncurses before
+ version 6, the NetBSD color-pair information is stored in the
+ attributes field of <STRONG>cchar_t</STRONG>, limiting the number of color-pairs by
+ the size of the bitfield.
</PRE><H2><a name="h2-PORTABILITY">PORTABILITY</a></H2><PRE>
</PRE><H3><a name="h3-Extensions">Extensions</a></H3><PRE>
- The functions marked as extensions were designed for <STRONG><A HREF="ncurses.3x.html">ncurses(3x)</A></STRONG>, and
- are not found in SVr4 curses, 4.4BSD curses, or any other previous ver-
- sion of curses.
+ The functions marked as extensions were designed for <STRONG><A HREF="ncurses.3x.html">ncurses(3x)</A></STRONG>, and
+ are not found in SVr4 curses, 4.4BSD curses, or any other previous
+ version of curses.
</PRE><H3><a name="h3-Standards">Standards</a></H3><PRE>
- This implementation satisfies XSI Curses's minimum maximums for <STRONG>COLORS</STRONG>
+ This implementation satisfies XSI Curses's minimum maximums for <STRONG>COLORS</STRONG>
and <STRONG>COLOR_PAIRS</STRONG>.
- The <STRONG>init_pair</STRONG> routine accepts negative values of foreground and back-
- ground color to support the <STRONG><A HREF="default_colors.3x.html">use_default_colors(3x)</A></STRONG> extension, but only
- if that routine has been first invoked.
+ The <STRONG>init_pair</STRONG> routine accepts negative values of foreground and
+ background color to support the <STRONG><A HREF="default_colors.3x.html">use_default_colors(3x)</A></STRONG> extension, but
+ only if that routine has been first invoked.
The assumption that <STRONG>COLOR_BLACK</STRONG> is the default background color for all
- terminals can be modified using the <STRONG><A HREF="default_colors.3x.html">assume_default_colors(3x)</A></STRONG> exten-
- sion.
+ terminals can be modified using the <STRONG><A HREF="default_colors.3x.html">assume_default_colors(3x)</A></STRONG>
+ extension.
- This implementation checks the pointers, e.g., for the values returned
- by <STRONG>color_content</STRONG> and <STRONG>pair_content</STRONG>, and will treat those as optional pa-
- rameters when null.
+ This implementation checks the pointers, e.g., for the values returned
+ by <STRONG>color_content</STRONG> and <STRONG>pair_content</STRONG>, and will treat those as optional
+ parameters when null.
- X/Open Curses does not specify a limit for the number of colors and
+ X/Open Curses does not specify a limit for the number of colors and
color pairs which a terminal can support. However, in its use of <STRONG>short</STRONG>
- for the parameters, it carries over SVr4's implementation detail for
+ for the parameters, it carries over SVr4's implementation detail for
the compiled terminfo database, which uses signed 16-bit numbers. This
- implementation provides extended versions of those functions which use
- <STRONG>short</STRONG> parameters, allowing applications to use larger color- and pair-
+ implementation provides extended versions of those functions which use
+ <STRONG>short</STRONG> parameters, allowing applications to use larger color- and pair-
numbers.
The <STRONG>reset_color_pairs</STRONG> function is an extension of ncurses.
</PRE><H2><a name="h2-SEE-ALSO">SEE ALSO</a></H2><PRE>
- <STRONG><A HREF="ncurses.3x.html">curses(3x)</A></STRONG>, <STRONG><A HREF="curs_initscr.3x.html">curs_initscr(3x)</A></STRONG>, <STRONG><A HREF="curs_attr.3x.html">curs_attr(3x)</A></STRONG>, <STRONG><A HREF="curs_variables.3x.html">curs_variables(3x)</A></STRONG>, <STRONG>de-</STRONG>
- <STRONG><A HREF="default_colors.3x.html">fault_colors(3x)</A></STRONG>
+ <STRONG><A HREF="ncurses.3x.html">curses(3x)</A></STRONG>, <STRONG><A HREF="curs_initscr.3x.html">curs_initscr(3x)</A></STRONG>, <STRONG><A HREF="curs_attr.3x.html">curs_attr(3x)</A></STRONG>, <STRONG><A HREF="curs_variables.3x.html">curs_variables(3x)</A></STRONG>,
+ <STRONG><A HREF="default_colors.3x.html">default_colors(3x)</A></STRONG>
-ncurses 6.4 2023-07-01 <STRONG><A HREF="curs_color.3x.html">curs_color(3x)</A></STRONG>
+ncurses 6.4 2023-09-16 <STRONG><A HREF="curs_color.3x.html">curs_color(3x)</A></STRONG>
</PRE>
<div class="nav">
<ul>
* sale, use or other dealings in this Software without prior written *
* authorization. *
****************************************************************************
- * @Id: curs_delch.3x,v 1.22 2023/07/01 15:43:20 tom Exp @
+ * @Id: curs_delch.3x,v 1.26 2023/09/16 23:34:43 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>curs_delch 3x 2023-07-01 ncurses 6.4 Library calls</TITLE>
+<TITLE>curs_delch 3x 2023-09-16 ncurses 6.4 Library calls</TITLE>
<link rel="author" href="mailto:bug-ncurses@gnu.org">
</HEAD>
<BODY>
-<H1 class="no-header">curs_delch 3x 2023-07-01 ncurses 6.4 Library calls</H1>
+<H1 class="no-header">curs_delch 3x 2023-09-16 ncurses 6.4 Library calls</H1>
<PRE>
<STRONG><A HREF="curs_delch.3x.html">curs_delch(3x)</A></STRONG> Library calls <STRONG><A HREF="curs_delch.3x.html">curs_delch(3x)</A></STRONG>
</PRE><H2><a name="h2-NAME">NAME</a></H2><PRE>
- <STRONG>delch</STRONG>, <STRONG>wdelch</STRONG>, <STRONG>mvdelch</STRONG>, <STRONG>mvwdelch</STRONG> - delete character under the cursor in
- a <STRONG>curses</STRONG> window
+ <STRONG>delch</STRONG>, <STRONG>wdelch</STRONG>, <STRONG>mvdelch</STRONG>, <STRONG>mvwdelch</STRONG> - delete the character at the cursor
+ in a <EM>curses</EM> window
</PRE><H2><a name="h2-SYNOPSIS">SYNOPSIS</a></H2><PRE>
-ncurses 6.4 2023-07-01 <STRONG><A HREF="curs_delch.3x.html">curs_delch(3x)</A></STRONG>
+ncurses 6.4 2023-09-16 <STRONG><A HREF="curs_delch.3x.html">curs_delch(3x)</A></STRONG>
</PRE>
<div class="nav">
<ul>
* sale, use or other dealings in this Software without prior written *
* authorization. *
****************************************************************************
- * @Id: curs_deleteln.3x,v 1.24 2023/07/01 15:43:20 tom Exp @
+ * @Id: curs_deleteln.3x,v 1.28 2023/09/16 23:34:43 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>curs_deleteln 3x 2023-07-01 ncurses 6.4 Library calls</TITLE>
+<TITLE>curs_deleteln 3x 2023-09-16 ncurses 6.4 Library calls</TITLE>
<link rel="author" href="mailto:bug-ncurses@gnu.org">
</HEAD>
<BODY>
-<H1 class="no-header">curs_deleteln 3x 2023-07-01 ncurses 6.4 Library calls</H1>
+<H1 class="no-header">curs_deleteln 3x 2023-09-16 ncurses 6.4 Library calls</H1>
<PRE>
<STRONG><A HREF="curs_deleteln.3x.html">curs_deleteln(3x)</A></STRONG> Library calls <STRONG><A HREF="curs_deleteln.3x.html">curs_deleteln(3x)</A></STRONG>
</PRE><H2><a name="h2-NAME">NAME</a></H2><PRE>
<STRONG>deleteln</STRONG>, <STRONG>wdeleteln</STRONG>, <STRONG>insdelln</STRONG>, <STRONG>winsdelln</STRONG>, <STRONG>insertln</STRONG>, <STRONG>winsertln</STRONG> - delete
- and insert lines in a <STRONG>curses</STRONG> window
+ or insert lines in a <EM>curses</EM> window
</PRE><H2><a name="h2-SYNOPSIS">SYNOPSIS</a></H2><PRE>
-ncurses 6.4 2023-07-01 <STRONG><A HREF="curs_deleteln.3x.html">curs_deleteln(3x)</A></STRONG>
+ncurses 6.4 2023-09-16 <STRONG><A HREF="curs_deleteln.3x.html">curs_deleteln(3x)</A></STRONG>
</PRE>
<div class="nav">
<ul>
* authorization. *
****************************************************************************
* Author: Thomas E. Dickey 1999-on
- * @Id: curs_extend.3x,v 1.32 2023/07/01 15:43:20 tom Exp @
+ * @Id: curs_extend.3x,v 1.36 2023/09/16 23:34:43 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>curs_extend 3x 2023-07-01 ncurses 6.4 Library calls</TITLE>
+<TITLE>curs_extend 3x 2023-09-16 ncurses 6.4 Library calls</TITLE>
<link rel="author" href="mailto:bug-ncurses@gnu.org">
</HEAD>
<BODY>
-<H1 class="no-header">curs_extend 3x 2023-07-01 ncurses 6.4 Library calls</H1>
+<H1 class="no-header">curs_extend 3x 2023-09-16 ncurses 6.4 Library calls</H1>
<PRE>
<STRONG><A HREF="curs_extend.3x.html">curs_extend(3x)</A></STRONG> Library calls <STRONG><A HREF="curs_extend.3x.html">curs_extend(3x)</A></STRONG>
</PRE><H2><a name="h2-NAME">NAME</a></H2><PRE>
- <STRONG>curses_version</STRONG>, <STRONG>use_extended_names</STRONG> - miscellaneous curses extensions
+ <STRONG>curses_version</STRONG>, <STRONG>use_extended_names</STRONG> - miscellaneous <EM>curses</EM> extensions
</PRE><H2><a name="h2-SYNOPSIS">SYNOPSIS</a></H2><PRE>
-ncurses 6.4 2023-07-01 <STRONG><A HREF="curs_extend.3x.html">curs_extend(3x)</A></STRONG>
+ncurses 6.4 2023-09-16 <STRONG><A HREF="curs_extend.3x.html">curs_extend(3x)</A></STRONG>
</PRE>
<div class="nav">
<ul>
<!--
****************************************************************************
- * Copyright 2018-2021,2022 Thomas E. Dickey *
+ * Copyright 2018-2022,2023 Thomas E. Dickey *
* Copyright 2002-2016,2017 Free Software Foundation, Inc. *
* *
* Permission is hereby granted, free of charge, to any person obtaining a *
* sale, use or other dealings in this Software without prior written *
* authorization. *
****************************************************************************
- * @Id: curs_get_wch.3x,v 1.18 2022/02/12 20:07:29 tom Exp @
+ * @Id: curs_get_wch.3x,v 1.23 2023/09/16 23:34:43 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>curs_get_wch 3x 2022-02-12 ncurses 6.4 Library calls</TITLE>
+<TITLE>curs_get_wch 3x 2023-09-16 ncurses 6.4 Library calls</TITLE>
<link rel="author" href="mailto:bug-ncurses@gnu.org">
</HEAD>
<BODY>
-<H1 class="no-header">curs_get_wch 3x 2022-02-12 ncurses 6.4 Library calls</H1>
+<H1 class="no-header">curs_get_wch 3x 2023-09-16 ncurses 6.4 Library calls</H1>
<PRE>
<STRONG><A HREF="curs_get_wch.3x.html">curs_get_wch(3x)</A></STRONG> Library calls <STRONG><A HREF="curs_get_wch.3x.html">curs_get_wch(3x)</A></STRONG>
</PRE><H2><a name="h2-NAME">NAME</a></H2><PRE>
- <STRONG>get_wch</STRONG>, <STRONG>wget_wch</STRONG>, <STRONG>mvget_wch</STRONG>, <STRONG>mvwget_wch</STRONG>, <STRONG>unget_wch</STRONG> - get (or push
- back) a wide character from curses terminal keyboard
+ <STRONG>get_wch</STRONG>, <STRONG>wget_wch</STRONG>, <STRONG>mvget_wch</STRONG>, <STRONG>mvwget_wch</STRONG>, <STRONG>unget_wch</STRONG> - get (or push
+ back) a wide character from <EM>curses</EM> terminal keyboard
</PRE><H2><a name="h2-SYNOPSIS">SYNOPSIS</a></H2><PRE>
</PRE><H2><a name="h2-DESCRIPTION">DESCRIPTION</a></H2><PRE>
</PRE><H3><a name="h3-wget_wch">wget_wch</a></H3><PRE>
- The <STRONG>get_wch</STRONG>, <STRONG>wget_wch</STRONG>, <STRONG>mvget_wch</STRONG>, and <STRONG>mvwget_wch</STRONG> functions read a char-
- acter from the terminal associated with the current or specified win-
- dow. In no-delay mode, if no input is waiting, the value <STRONG>ERR</STRONG> is re-
- turned. In delay mode, the program waits until the system passes text
- through to the program. Depending on the setting of <STRONG>cbreak</STRONG>, this is
- after one character (cbreak mode), or after the first newline (nocbreak
- mode). In half-delay mode, the program waits until the user types a
- character or the specified timeout interval has elapsed.
+ The <STRONG>get_wch</STRONG>, <STRONG>wget_wch</STRONG>, <STRONG>mvget_wch</STRONG>, and <STRONG>mvwget_wch</STRONG> functions read a
+ character from the terminal associated with the current or specified
+ window. In no-delay mode, if no input is waiting, the value <STRONG>ERR</STRONG> is
+ returned. In delay mode, the program waits until the system passes
+ text through to the program. Depending on the setting of <STRONG>cbreak</STRONG>, this
+ is after one character (cbreak mode), or after the first newline
+ (nocbreak mode). In half-delay mode, the program waits until the user
+ types a character or the specified timeout interval has elapsed.
Unless <STRONG>noecho</STRONG> has been set, these routines echo the character into the
designated window.
is read.
If <STRONG>keypad</STRONG> is enabled, these functions respond to the pressing of a
- function key by setting the object pointed to by <EM>wch</EM> to the keycode as-
- signed to the function key, and returning <STRONG>KEY_CODE_YES</STRONG>. If a character
- (such as escape) that could be the beginning of a function key is re-
- ceived, curses sets a timer. If the remainder of the sequence does ar-
- rive within the designated time, curses passes through the character;
- otherwise, curses returns the function key value. For this reason,
- many terminals experience a delay between the time a user presses the
- escape key and the time the escape is returned to the program.
+ function key by setting the object pointed to by <EM>wch</EM> to the keycode
+ assigned to the function key, and returning <STRONG>KEY_CODE_YES</STRONG>. If a
+ character (such as escape) that could be the beginning of a function
+ key is received, curses sets a timer. If the remainder of the sequence
+ does arrive within the designated time, curses passes through the
+ character; otherwise, curses returns the function key value. For this
+ reason, many terminals experience a delay between the time a user
+ presses the escape key and the time the escape is returned to the
+ program.
The keycodes returned by these functions are the same as those returned
by <STRONG>wgetch</STRONG>:
- <STRONG>o</STRONG> The predefined function keys are listed in <STRONG><curses.h></STRONG> as macros
- with values outside the range of 8-bit characters. Their names be-
- gin with <STRONG>KEY_</STRONG>.
+ <STRONG>o</STRONG> The predefined function keys are listed in <STRONG><curses.h></STRONG> as macros
+ with values outside the range of 8-bit characters. Their names
+ begin with <STRONG>KEY_</STRONG>.
- <STRONG>o</STRONG> Other (user-defined) function keys which may be defined using <STRONG>de-</STRONG>
- <STRONG><A HREF="define_key.3x.html">fine_key(3x)</A></STRONG> have no names, but also are expected to have values
+ <STRONG>o</STRONG> Other (user-defined) function keys which may be defined using
+ <STRONG><A HREF="define_key.3x.html">define_key(3x)</A></STRONG> have no names, but also are expected to have values
outside the range of 8-bit characters.
</PRE><H3><a name="h3-unget_wch">unget_wch</a></H3><PRE>
The <STRONG>unget_wch</STRONG> function pushes the wide character <EM>wch</EM> back onto the head
- of the input queue, so the wide character is returned by the next call
- to <STRONG>get_wch</STRONG>. The pushback of one character is guaranteed. If the pro-
- gram calls <STRONG>unget_wch</STRONG> too many times without an intervening call to
+ of the input queue, so the wide character is returned by the next call
+ to <STRONG>get_wch</STRONG>. The pushback of one character is guaranteed. If the
+ program calls <STRONG>unget_wch</STRONG> too many times without an intervening call to
<STRONG>get_wch</STRONG>, the operation may fail.
- Unlike <STRONG>ungetch</STRONG> and <STRONG>wgetch</STRONG>, <STRONG>unget_wch</STRONG> cannot distinguish special charac-
- ters returned by <STRONG>wget_wch</STRONG> from ordinary characters. An application can
- push special keys which it may read via <STRONG>wget_wch</STRONG> by checking for the
- <STRONG>KEY_CODE_YES</STRONG> result, and using <STRONG>ungetch</STRONG> for those special keys.
+ Unlike <STRONG>ungetch</STRONG> and <STRONG>wgetch</STRONG>, <STRONG>unget_wch</STRONG> cannot distinguish special
+ characters returned by <STRONG>wget_wch</STRONG> from ordinary characters. An
+ application can push special keys which it may read via <STRONG>wget_wch</STRONG> by
+ checking for the <STRONG>KEY_CODE_YES</STRONG> result, and using <STRONG>ungetch</STRONG> for those
+ special keys.
</PRE><H2><a name="h2-NOTES">NOTES</a></H2><PRE>
When using <STRONG>get_wch</STRONG>, <STRONG>wget_wch</STRONG>, <STRONG>mvget_wch</STRONG>, or <STRONG>mvwget_wch</STRONG>, applications
should not use <STRONG>nocbreak</STRONG> mode and <STRONG>echo</STRONG> mode at the same time. Depending
- on the state of the tty driver when each character is typed, the pro-
- gram may produce undesirable results.
+ on the state of the tty driver when each character is typed, the
+ program may produce undesirable results.
All functions except <STRONG>wget_wch</STRONG> and <STRONG>unget_wch</STRONG> may be macros.
</PRE><H2><a name="h2-RETURN-VALUE">RETURN VALUE</a></H2><PRE>
- When <STRONG>get_wch</STRONG>, <STRONG>wget_wch</STRONG>, <STRONG>mvget_wch</STRONG>, and <STRONG>mvwget_wch</STRONG> functions successful-
- ly report the pressing of a function key, they return <STRONG>KEY_CODE_YES</STRONG>.
- When they successfully report a wide character, they return <STRONG>OK</STRONG>. Other-
- wise, they return <STRONG>ERR</STRONG>.
+ When <STRONG>get_wch</STRONG>, <STRONG>wget_wch</STRONG>, <STRONG>mvget_wch</STRONG>, and <STRONG>mvwget_wch</STRONG> functions
+ successfully report the pressing of a function key, they return
+ <STRONG>KEY_CODE_YES</STRONG>. When they successfully report a wide character, they
+ return <STRONG>OK</STRONG>. Otherwise, they return <STRONG>ERR</STRONG>.
- Upon successful completion, <STRONG>unget_wch</STRONG> returns <STRONG>OK</STRONG>. Otherwise, the func-
- tion returns <STRONG>ERR</STRONG>.
+ Upon successful completion, <STRONG>unget_wch</STRONG> returns <STRONG>OK</STRONG>. Otherwise, the
+ function returns <STRONG>ERR</STRONG>.
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
-ncurses 6.4 2022-02-12 <STRONG><A HREF="curs_get_wch.3x.html">curs_get_wch(3x)</A></STRONG>
+ncurses 6.4 2023-09-16 <STRONG><A HREF="curs_get_wch.3x.html">curs_get_wch(3x)</A></STRONG>
</PRE>
<div class="nav">
<ul>
* sale, use or other dealings in this Software without prior written *
* authorization. *
****************************************************************************
- * @Id: curs_get_wstr.3x,v 1.30 2023/08/05 12:14:30 tom Exp @
+ * @Id: curs_get_wstr.3x,v 1.34 2023/09/16 23:34:43 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>curs_get_wstr 3x 2023-08-05 ncurses 6.4 Library calls</TITLE>
+<TITLE>curs_get_wstr 3x 2023-09-16 ncurses 6.4 Library calls</TITLE>
<link rel="author" href="mailto:bug-ncurses@gnu.org">
</HEAD>
<BODY>
-<H1 class="no-header">curs_get_wstr 3x 2023-08-05 ncurses 6.4 Library calls</H1>
+<H1 class="no-header">curs_get_wstr 3x 2023-09-16 ncurses 6.4 Library calls</H1>
<PRE>
<STRONG><A HREF="curs_get_wstr.3x.html">curs_get_wstr(3x)</A></STRONG> Library calls <STRONG><A HREF="curs_get_wstr.3x.html">curs_get_wstr(3x)</A></STRONG>
</PRE><H2><a name="h2-NAME">NAME</a></H2><PRE>
- <STRONG>get_wstr</STRONG>, <STRONG>getn_wstr</STRONG>, <STRONG>wget_wstr</STRONG>, <STRONG>wgetn_wstr</STRONG>, <STRONG>mvget_wstr</STRONG>, <STRONG>mvgetn_wstr</STRONG>,
- <STRONG>mvwget_wstr</STRONG>, <STRONG>mvwgetn_wstr</STRONG> - get an array of wide characters from a
- curses terminal keyboard
+ <STRONG>get_wstr</STRONG>, <STRONG>getn_wstr</STRONG>, <STRONG>wget_wstr</STRONG>, <STRONG>wgetn_wstr</STRONG>, <STRONG>mvget_wstr</STRONG>, <STRONG>mvgetn_wstr</STRONG>,
+ <STRONG>mvwget_wstr</STRONG>, <STRONG>mvwgetn_wstr</STRONG> - get a wide-character string from a <EM>curses</EM>
+ terminal keyboard
</PRE><H2><a name="h2-SYNOPSIS">SYNOPSIS</a></H2><PRE>
cursor at the beginning of the buffer.
Characters input are echoed only if <STRONG>echo</STRONG> is currently on. In that
- case, backspace is echoed as deletion of the previous character (typi-
- cally a left motion).
+ case, backspace is echoed as deletion of the previous character
+ (typically a left motion).
The <STRONG>getn_wstr</STRONG>, <STRONG>mvgetn_wstr</STRONG>, <STRONG>mvwgetn_wstr</STRONG>, and <STRONG>wgetn_wstr</STRONG> functions are
- identical to the <STRONG>get_wstr</STRONG>, <STRONG>mvget_wstr</STRONG>, <STRONG>mvwget_wstr</STRONG>, and <STRONG>wget_wstr</STRONG> func-
- tions, respectively, except that the <STRONG>*n_*</STRONG> versions read at most <EM>n</EM> char-
- acters, letting the application prevent overflow of the input buffer.
+ identical to the <STRONG>get_wstr</STRONG>, <STRONG>mvget_wstr</STRONG>, <STRONG>mvwget_wstr</STRONG>, and <STRONG>wget_wstr</STRONG>
+ functions, respectively, except that the <STRONG>*n_*</STRONG> versions read at most <EM>n</EM>
+ characters, letting the application prevent overflow of the input
+ buffer.
</PRE><H2><a name="h2-NOTES">NOTES</a></H2><PRE>
Any of these functions other than <STRONG>wgetn_wstr</STRONG> may be macros.
- Using <STRONG>get_wstr</STRONG>, <STRONG>mvget_wstr</STRONG>, <STRONG>mvwget_wstr</STRONG>, or <STRONG>wget_wstr</STRONG> to read a line
- that overflows the array pointed to by <STRONG>wstr</STRONG> causes undefined results.
- The use of <STRONG>getn_wstr</STRONG>, <STRONG>mvgetn_wstr</STRONG>, <STRONG>mvwgetn_wstr</STRONG>, or <STRONG>wgetn_wstr</STRONG>, respec-
- tively, is recommended.
+ Using <STRONG>get_wstr</STRONG>, <STRONG>mvget_wstr</STRONG>, <STRONG>mvwget_wstr</STRONG>, or <STRONG>wget_wstr</STRONG> to read a line
+ that overflows the array pointed to by <STRONG>wstr</STRONG> causes undefined results.
+ The use of <STRONG>getn_wstr</STRONG>, <STRONG>mvgetn_wstr</STRONG>, <STRONG>mvwgetn_wstr</STRONG>, or <STRONG>wgetn_wstr</STRONG>,
+ respectively, is recommended.
- These functions cannot return <STRONG>KEY_</STRONG> values because there is no way to
+ These functions cannot return <STRONG>KEY_</STRONG> values because there is no way to
distinguish a <STRONG>KEY_</STRONG> value from a valid <STRONG>wchar_t</STRONG> value. may be macros.
</PRE><H2><a name="h2-RETURN-VALUE">RETURN VALUE</a></H2><PRE>
- All of these functions return the integer <STRONG>OK</STRONG> upon successful comple-
- tion. If unsuccessful, they return <STRONG>ERR</STRONG>.
+ All of these functions return the integer <STRONG>OK</STRONG> upon successful
+ completion. If unsuccessful, they return <STRONG>ERR</STRONG>.
X/Open defines no error conditions.
<STRONG>o</STRONG> if the associated call to <STRONG>wget_wch</STRONG> failed.
- Functions with a "mv" prefix first perform a cursor movement using
+ 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.
These functions are described in The Single Unix Specification, Version
2. No error conditions are defined.
- This implementation returns <STRONG>ERR</STRONG> if the window pointer is null, or if
- the lower-level <STRONG>wget_wch</STRONG> call returns an <STRONG>ERR</STRONG>. In the latter case, an
- <STRONG>ERR</STRONG> return without other data is treated as an end-of-file condition,
+ This implementation returns <STRONG>ERR</STRONG> if the window pointer is null, or if
+ the lower-level <STRONG>wget_wch</STRONG> call returns an <STRONG>ERR</STRONG>. In the latter case, an
+ <STRONG>ERR</STRONG> return without other data is treated as an end-of-file condition,
and the returned array contains a <STRONG>WEOF</STRONG> followed by a null <STRONG>wchar_t</STRONG>.
X/Open curses documented these functions to pass an array of <STRONG>wchar_t</STRONG> in
1997, but that was an error because of this part of the description:
The effect of <STRONG>get_wstr</STRONG> is as though a series of calls to <STRONG>get_wch</STRONG>
- were made, until a newline character, end-of-line character, or
+ were made, until a newline character, end-of-line character, or
end-of-file character is processed.
- The latter function <EM>get</EM><STRONG>_</STRONG><EM>wch</EM> can return a negative value, while <STRONG>wchar_t</STRONG>
- is a unsigned type. All of the vendors implement this using <STRONG>wint_t</STRONG>,
+ The latter function <EM>get</EM><STRONG>_</STRONG><EM>wch</EM> can return a negative value, while <STRONG>wchar_t</STRONG>
+ is a unsigned type. All of the vendors implement this using <STRONG>wint_t</STRONG>,
following the standard.
- X/Open Curses, Issue 7 (2009) is unclear regarding whether the termi-
- nating <EM>null</EM> <STRONG>wchar_t</STRONG> value is counted in the length parameter <EM>n</EM>. X/Open
- Curses, Issue 7 revised the corresponding description of <STRONG>wgetnstr</STRONG> to
- address this issue. The unrevised description of <STRONG>wget_nwstr</STRONG> can be in-
- terpreted either way. This implementation counts the terminator in the
- length.
+ X/Open Curses, Issue 7 (2009) is unclear regarding whether the
+ terminating <EM>null</EM> <STRONG>wchar_t</STRONG> value is counted in the length parameter <EM>n</EM>.
+ X/Open Curses, Issue 7 revised the corresponding description of
+ <STRONG>wgetnstr</STRONG> to address this issue. The unrevised description of
+ <STRONG>wget_nwstr</STRONG> can be interpreted either way. This implementation counts
+ the terminator in the length.
- X/Open Curses does not specify what happens if the length <EM>n</EM> is nega-
- tive.
+ X/Open Curses does not specify what happens if the length <EM>n</EM> is
+ negative.
- <STRONG>o</STRONG> For analogy with <STRONG>wgetnstr</STRONG>, ncurses 6.2 uses a limit (based on
+ <STRONG>o</STRONG> For analogy with <STRONG>wgetnstr</STRONG>, ncurses 6.2 uses a limit (based on
<STRONG>LINE_MAX</STRONG>).
- <STRONG>o</STRONG> Some other implementations (such as Solaris xcurses) do the same,
+ <STRONG>o</STRONG> Some other implementations (such as Solaris xcurses) do the same,
while others (PDCurses) do not allow this.
- <STRONG>o</STRONG> NetBSD 7 curses imitates ncurses 6.1 in this regard, treating a <STRONG>-1</STRONG>
+ <STRONG>o</STRONG> NetBSD 7 curses imitates ncurses 6.1 in this regard, treating a <STRONG>-1</STRONG>
as an indefinite number of characters.
-ncurses 6.4 2023-08-05 <STRONG><A HREF="curs_get_wstr.3x.html">curs_get_wstr(3x)</A></STRONG>
+ncurses 6.4 2023-09-16 <STRONG><A HREF="curs_get_wstr.3x.html">curs_get_wstr(3x)</A></STRONG>
</PRE>
<div class="nav">
<ul>
* sale, use or other dealings in this Software without prior written *
* authorization. *
****************************************************************************
- * @Id: curs_getcchar.3x,v 1.31 2023/07/01 15:43:20 tom Exp @
+ * @Id: curs_getcchar.3x,v 1.35 2023/09/16 23:34:43 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>curs_getcchar 3x 2023-07-01 ncurses 6.4 Library calls</TITLE>
+<TITLE>curs_getcchar 3x 2023-09-16 ncurses 6.4 Library calls</TITLE>
<link rel="author" href="mailto:bug-ncurses@gnu.org">
</HEAD>
<BODY>
-<H1 class="no-header">curs_getcchar 3x 2023-07-01 ncurses 6.4 Library calls</H1>
+<H1 class="no-header">curs_getcchar 3x 2023-09-16 ncurses 6.4 Library calls</H1>
<PRE>
<STRONG><A HREF="curs_getcchar.3x.html">curs_getcchar(3x)</A></STRONG> Library calls <STRONG><A HREF="curs_getcchar.3x.html">curs_getcchar(3x)</A></STRONG>
</PRE><H2><a name="h2-NAME">NAME</a></H2><PRE>
- <STRONG>getcchar</STRONG>, <STRONG>setcchar</STRONG> - Get a wide character string and rendition from a
- <STRONG>cchar_t</STRONG> or set a <STRONG>cchar_t</STRONG> from a wide-character string
+ <STRONG>getcchar</STRONG>, <STRONG>setcchar</STRONG> - convert between a wide-character string and a
+ <EM>curses</EM> complex character string
</PRE><H2><a name="h2-SYNOPSIS">SYNOPSIS</a></H2><PRE>
-ncurses 6.4 2023-07-01 <STRONG><A HREF="curs_getcchar.3x.html">curs_getcchar(3x)</A></STRONG>
+ncurses 6.4 2023-09-16 <STRONG><A HREF="curs_getcchar.3x.html">curs_getcchar(3x)</A></STRONG>
</PRE>
<div class="nav">
<ul>
* sale, use or other dealings in this Software without prior written *
* authorization. *
****************************************************************************
- * @Id: curs_getch.3x,v 1.68 2023/08/19 20:45:12 tom Exp @
+ * @Id: curs_getch.3x,v 1.72 2023/09/16 23:34:43 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>curs_getch 3x 2023-08-19 ncurses 6.4 Library calls</TITLE>
+<TITLE>curs_getch 3x 2023-09-16 ncurses 6.4 Library calls</TITLE>
<link rel="author" href="mailto:bug-ncurses@gnu.org">
</HEAD>
<BODY>
-<H1 class="no-header">curs_getch 3x 2023-08-19 ncurses 6.4 Library calls</H1>
+<H1 class="no-header">curs_getch 3x 2023-09-16 ncurses 6.4 Library calls</H1>
<PRE>
<STRONG><A HREF="curs_getch.3x.html">curs_getch(3x)</A></STRONG> Library calls <STRONG><A HREF="curs_getch.3x.html">curs_getch(3x)</A></STRONG>
</PRE><H2><a name="h2-NAME">NAME</a></H2><PRE>
<STRONG>getch</STRONG>, <STRONG>wgetch</STRONG>, <STRONG>mvgetch</STRONG>, <STRONG>mvwgetch</STRONG>, <STRONG>ungetch</STRONG>, <STRONG>has_key</STRONG> - get (or push back)
- characters from <STRONG>curses</STRONG> terminal keyboard
+ characters from <EM>curses</EM> terminal keyboard
</PRE><H2><a name="h2-SYNOPSIS">SYNOPSIS</a></H2><PRE>
returned. In delay mode, the program waits until the system passes
text through to the program. Depending on the setting of <STRONG>cbreak</STRONG>, this
is after one character (cbreak mode), or after the first newline
- (nocbreak mode). In half-delay mode, the program waits until a charac-
- ter is typed or the specified timeout has been reached.
+ (nocbreak mode). In half-delay mode, the program waits until a
+ character is typed or the specified timeout has been reached.
If <STRONG>echo</STRONG> is enabled, and the window is not a pad, then the character
- will also be echoed into the designated window according to the follow-
- ing rules:
+ will also be echoed into the designated window according to the
+ following rules:
<STRONG>o</STRONG> If the character is the current erase character, left arrow, or
backspace, the cursor is moved one space to the left and that
screen position is erased as if <STRONG>delch</STRONG> had been called.
- <STRONG>o</STRONG> If the character value is any other <STRONG>KEY_</STRONG> define, the user is alert-
- ed with a <STRONG>beep</STRONG> call.
+ <STRONG>o</STRONG> If the character value is any other <STRONG>KEY_</STRONG> define, the user is
+ alerted with a <STRONG>beep</STRONG> call.
<STRONG>o</STRONG> If the character is a carriage-return, and if <STRONG>nl</STRONG> is enabled, it is
translated to a line-feed after echoing.
function key is returned instead of the raw characters:
<STRONG>o</STRONG> The predefined function keys are listed in <STRONG><curses.h></STRONG> as macros
- with values outside the range of 8-bit characters. Their names be-
- gin with <STRONG>KEY_</STRONG>.
+ with values outside the range of 8-bit characters. Their names
+ begin with <STRONG>KEY_</STRONG>.
- <STRONG>o</STRONG> Other (user-defined) function keys which may be defined using <STRONG>de-</STRONG>
- <STRONG><A HREF="define_key.3x.html">fine_key(3x)</A></STRONG> have no names, but also are expected to have values
+ <STRONG>o</STRONG> Other (user-defined) function keys which may be defined using
+ <STRONG><A HREF="define_key.3x.html">define_key(3x)</A></STRONG> have no names, but also are expected to have values
outside the range of 8-bit characters.
Thus, a variable intended to hold the return value of a function key
must be of short size or larger.
- When a character that could be the beginning of a function key is re-
- ceived (which, on modern terminals, means an escape character), <STRONG>curses</STRONG>
- sets a timer. If the remainder of the sequence does not come in within
- the designated time, the character is passed through; otherwise, the
- function key value is returned. For this reason, many terminals expe-
- rience a delay between the time a user presses the escape key and the
- escape is returned to the program.
+ When a character that could be the beginning of a function key is
+ received (which, on modern terminals, means an escape character),
+ <STRONG>curses</STRONG> sets a timer. If the remainder of the sequence does not come in
+ within the designated time, the character is passed through; otherwise,
+ the function key value is returned. For this reason, many terminals
+ experience a delay between the time a user presses the escape key and
+ the escape is returned to the program.
In <STRONG>ncurses</STRONG>, the timer normally expires after the value in <STRONG>ESCDELAY</STRONG> (see
<STRONG><A HREF="curs_variables.3x.html">curs_variables(3x)</A></STRONG>). If <STRONG>notimeout</STRONG> is <STRONG>TRUE</STRONG>, the timer does not expire;
it is an infinite (or very large) value. Because function keys usually
- begin with an escape character, the terminal may appear to hang in no-
- timeout mode after pressing the escape key until another key is
+ begin with an escape character, the terminal may appear to hang in
+ notimeout mode after pressing the escape key until another key is
pressed.
</PRE><H3><a name="h3-Ungetting-characters">Ungetting characters</a></H3><PRE>
The <STRONG>ungetch</STRONG> routine places <EM>ch</EM> back onto the input queue to be returned
- by the next call to <STRONG>wgetch</STRONG>. There is just one input queue for all win-
- dows.
+ by the next call to <STRONG>wgetch</STRONG>. There is just one input queue for all
+ windows.
</PRE><H3><a name="h3-Predefined-key-codes">Predefined key-codes</a></H3><PRE>
<STRONG>o</STRONG> Except for the special case <STRONG>KEY_RESIZE</STRONG>, it is necessary to enable
<STRONG>keypad</STRONG> for <STRONG>getch</STRONG> to return these codes.
- <STRONG>o</STRONG> Not all of these are necessarily supported on any particular termi-
- nal.
+ <STRONG>o</STRONG> Not all of these are necessarily supported on any particular
+ terminal.
- <STRONG>o</STRONG> The naming convention may seem obscure, with some apparent mis-
- spellings (such as "RSUME" for "resume"). The names correspond to
- the long terminfo capability names for the keys, and were defined
- long ago, in the 1980s.
+ <STRONG>o</STRONG> The naming convention may seem obscure, with some apparent
+ misspellings (such as "RSUME" for "resume"). The names correspond
+ to the long terminfo capability names for the keys, and were
+ defined long ago, in the 1980s.
<STRONG>Name</STRONG> <STRONG>Key</STRONG> <STRONG>name</STRONG>
-------------------------------------------------
whether or not <STRONG>keypad</STRONG> has been enabled.
<STRONG>o</STRONG> <STRONG>KEY_MOUSE</STRONG> is returned for mouse-events (see <STRONG><A HREF="curs_mouse.3x.html">curs_mouse(3x)</A></STRONG>). This
- code relies upon whether or not <STRONG><A HREF="curs_inopts.3x.html">keypad(3x)</A></STRONG> has been enabled, be-
- cause (e.g., with <STRONG>xterm(1)</STRONG> mouse prototocol) ncurses must read es-
- cape sequences, just like a function key.
+ code relies upon whether or not <STRONG><A HREF="curs_inopts.3x.html">keypad(3x)</A></STRONG> has been enabled,
+ because (e.g., with <STRONG>xterm(1)</STRONG> mouse prototocol) ncurses must read
+ escape sequences, just like a function key.
</PRE><H3><a name="h3-Testing-key-codes">Testing key-codes</a></H3><PRE>
- The <STRONG>has_key</STRONG> routine takes a key-code value from the above list, and re-
- turns <STRONG>TRUE</STRONG> or <STRONG>FALSE</STRONG> according to whether the current terminal type rec-
- ognizes a key with that value.
+ The <STRONG>has_key</STRONG> routine takes a key-code value from the above list, and
+ returns <STRONG>TRUE</STRONG> or <STRONG>FALSE</STRONG> according to whether the current terminal type
+ recognizes a key with that value.
The library also supports these extensions:
<STRONG>wgetch</STRONG>
returns <STRONG>ERR</STRONG> if the window pointer is null, or if its timeout
- expires without having any data, or if the execution was inter-
- rupted by a signal (<STRONG>errno</STRONG> will be set to <STRONG>EINTR</STRONG>).
+ expires without having any data, or if the execution was
+ interrupted by a signal (<STRONG>errno</STRONG> will be set to <STRONG>EINTR</STRONG>).
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
is discouraged, as it will cause a delay of up to one second while the
keypad code looks for a following function-key sequence.
- Some keys may be the same as commonly used control keys, e.g., <STRONG>KEY_EN-</STRONG>
- <STRONG>TER</STRONG> versus control/M, <STRONG>KEY_BACKSPACE</STRONG> versus control/H. Some curses im-
- plementations may differ according to whether they treat these control
- keys specially (and ignore the terminfo), or use the terminfo defini-
- tions. <STRONG>Ncurses</STRONG> uses the terminfo definition. If it says that <STRONG>KEY_EN-</STRONG>
- <STRONG>TER</STRONG> is control/M, <STRONG>getch</STRONG> will return <STRONG>KEY_ENTER</STRONG> when you press control/M.
+ Some keys may be the same as commonly used control keys, e.g.,
+ <STRONG>KEY_ENTER</STRONG> versus control/M, <STRONG>KEY_BACKSPACE</STRONG> versus control/H. Some
+ curses implementations may differ according to whether they treat these
+ control keys specially (and ignore the terminfo), or use the terminfo
+ definitions. <STRONG>Ncurses</STRONG> uses the terminfo definition. If it says that
+ <STRONG>KEY_ENTER</STRONG> is control/M, <STRONG>getch</STRONG> will return <STRONG>KEY_ENTER</STRONG> when you press
+ control/M.
- Generally, <STRONG>KEY_ENTER</STRONG> denotes the character(s) sent by the <EM>Enter</EM> key on
+ Generally, <STRONG>KEY_ENTER</STRONG> denotes the character(s) sent by the <EM>Enter</EM> key on
the numeric keypad:
<STRONG>o</STRONG> the terminal description lists the most useful keys,
- <STRONG>o</STRONG> the <EM>Enter</EM> key on the regular keyboard is already handled by the
+ <STRONG>o</STRONG> the <EM>Enter</EM> key on the regular keyboard is already handled by the
standard ASCII characters for carriage-return and line-feed,
<STRONG>o</STRONG> depending on whether <STRONG>nl</STRONG> or <STRONG>nonl</STRONG> was called, pressing "Enter" on the
- regular keyboard may return either a carriage-return or line-feed,
+ regular keyboard may return either a carriage-return or line-feed,
and finally
<STRONG>o</STRONG> "Enter or send" is the standard description for this key.
- When using <STRONG>getch</STRONG>, <STRONG>wgetch</STRONG>, <STRONG>mvgetch</STRONG>, or <STRONG>mvwgetch</STRONG>, nocbreak mode
- (<STRONG>nocbreak</STRONG>) and echo mode (<STRONG>echo</STRONG>) should not be used at the same time.
- Depending on the state of the tty driver when each character is typed,
+ When using <STRONG>getch</STRONG>, <STRONG>wgetch</STRONG>, <STRONG>mvgetch</STRONG>, or <STRONG>mvwgetch</STRONG>, nocbreak mode
+ (<STRONG>nocbreak</STRONG>) and echo mode (<STRONG>echo</STRONG>) should not be used at the same time.
+ Depending on the state of the tty driver when each character is typed,
the program may produce undesirable results.
Note that <STRONG>getch</STRONG>, <STRONG>mvgetch</STRONG>, and <STRONG>mvwgetch</STRONG> may be macros.
- Historically, the set of keypad macros was largely defined by the ex-
- tremely function-key-rich keyboard of the AT&T 7300, aka 3B1, aka Sa-
- fari 4. Modern personal computers usually have only a small subset of
- these. IBM PC-style consoles typically support little more than
- <STRONG>KEY_UP</STRONG>, <STRONG>KEY_DOWN</STRONG>, <STRONG>KEY_LEFT</STRONG>, <STRONG>KEY_RIGHT</STRONG>, <STRONG>KEY_HOME</STRONG>, <STRONG>KEY_END</STRONG>, <STRONG>KEY_NPAGE</STRONG>,
- <STRONG>KEY_PPAGE</STRONG>, and function keys 1 through 12. The Ins key is usually
+ Historically, the set of keypad macros was largely defined by the
+ extremely function-key-rich keyboard of the AT&T 7300, aka 3B1, aka
+ Safari 4. Modern personal computers usually have only a small subset
+ of these. IBM PC-style consoles typically support little more than
+ <STRONG>KEY_UP</STRONG>, <STRONG>KEY_DOWN</STRONG>, <STRONG>KEY_LEFT</STRONG>, <STRONG>KEY_RIGHT</STRONG>, <STRONG>KEY_HOME</STRONG>, <STRONG>KEY_END</STRONG>, <STRONG>KEY_NPAGE</STRONG>,
+ <STRONG>KEY_PPAGE</STRONG>, and function keys 1 through 12. The Ins key is usually
mapped to <STRONG>KEY_IC</STRONG>.
</PRE><H2><a name="h2-PORTABILITY">PORTABILITY</a></H2><PRE>
- The *get* functions are described in the XSI Curses standard, Issue 4.
- They read single-byte characters only. The standard specifies that
+ The *get* functions are described in the XSI Curses standard, Issue 4.
+ They read single-byte characters only. The standard specifies that
they return <STRONG>ERR</STRONG> on failure, but specifies no error conditions.
- The echo behavior of these functions on input of <STRONG>KEY_</STRONG> or backspace
- characters was not specified in the SVr4 documentation. This descrip-
- tion is adopted from the XSI Curses standard.
+ The echo behavior of these functions on input of <STRONG>KEY_</STRONG> or backspace
+ characters was not specified in the SVr4 documentation. This
+ description is adopted from the XSI Curses standard.
The behavior of <STRONG>getch</STRONG> and friends in the presence of handled signals is
unspecified in the SVr4 and XSI Curses documentation. Under historical
- curses implementations, it varied depending on whether the operating
- system's implementation of handled signal receipt interrupts a <STRONG>read(2)</STRONG>
- call in progress or not, and also (in some implementations) depending
+ curses implementations, it varied depending on whether the operating
+ system's implementation of handled signal receipt interrupts a <STRONG>read(2)</STRONG>
+ call in progress or not, and also (in some implementations) depending
on whether an input timeout or non-blocking mode has been set.
<STRONG>KEY_MOUSE</STRONG> is mentioned in XSI Curses, along with a few related terminfo
- capabilities, but no higher-level functions use the feature. The im-
- plementation in ncurses is an extension.
+ capabilities, but no higher-level functions use the feature. The
+ implementation in ncurses is an extension.
- <STRONG>KEY_RESIZE</STRONG> is an extension first implemented for ncurses. NetBSD curs-
- es later added this extension.
+ <STRONG>KEY_RESIZE</STRONG> is an extension first implemented for ncurses. NetBSD
+ curses later added this extension.
- Programmers concerned about portability should be prepared for either
- of two cases: (a) signal receipt does not interrupt <STRONG>getch</STRONG>; (b) signal
- receipt interrupts <STRONG>getch</STRONG> and causes it to return <STRONG>ERR</STRONG> with <STRONG>errno</STRONG> set to
+ Programmers concerned about portability should be prepared for either
+ of two cases: (a) signal receipt does not interrupt <STRONG>getch</STRONG>; (b) signal
+ receipt interrupts <STRONG>getch</STRONG> and causes it to return <STRONG>ERR</STRONG> with <STRONG>errno</STRONG> set to
<STRONG>EINTR</STRONG>.
- The <STRONG>has_key</STRONG> function is unique to <STRONG>ncurses</STRONG>. We recommend that any code
+ The <STRONG>has_key</STRONG> function is unique to <STRONG>ncurses</STRONG>. We recommend that any code
using it be conditionalized on the <STRONG>NCURSES_VERSION</STRONG> feature macro.
</PRE><H2><a name="h2-SEE-ALSO">SEE ALSO</a></H2><PRE>
- <STRONG><A HREF="ncurses.3x.html">curses(3x)</A></STRONG>, <STRONG><A HREF="curs_inopts.3x.html">curs_inopts(3x)</A></STRONG>, <STRONG><A HREF="curs_mouse.3x.html">curs_mouse(3x)</A></STRONG>, <STRONG><A HREF="curs_move.3x.html">curs_move(3x)</A></STRONG>, <STRONG>curs_out-</STRONG>
- <STRONG><A HREF="curs_outopts.3x.html">opts(3x)</A></STRONG>, <STRONG><A HREF="curs_refresh.3x.html">curs_refresh(3x)</A></STRONG>, <STRONG><A HREF="curs_variables.3x.html">curs_variables(3x)</A></STRONG>, <STRONG><A HREF="resizeterm.3x.html">resizeterm(3x)</A></STRONG>.
+ <STRONG><A HREF="ncurses.3x.html">curses(3x)</A></STRONG>, <STRONG><A HREF="curs_inopts.3x.html">curs_inopts(3x)</A></STRONG>, <STRONG><A HREF="curs_mouse.3x.html">curs_mouse(3x)</A></STRONG>, <STRONG><A HREF="curs_move.3x.html">curs_move(3x)</A></STRONG>,
+ <STRONG><A HREF="curs_outopts.3x.html">curs_outopts(3x)</A></STRONG>, <STRONG><A HREF="curs_refresh.3x.html">curs_refresh(3x)</A></STRONG>, <STRONG><A HREF="curs_variables.3x.html">curs_variables(3x)</A></STRONG>, <STRONG><A HREF="resizeterm.3x.html">resizeterm(3x)</A></STRONG>.
- Comparable functions in the wide-character (ncursesw) library are de-
- scribed in <STRONG><A HREF="curs_get_wch.3x.html">curs_get_wch(3x)</A></STRONG>.
+ Comparable functions in the wide-character (ncursesw) library are
+ described in <STRONG><A HREF="curs_get_wch.3x.html">curs_get_wch(3x)</A></STRONG>.
-ncurses 6.4 2023-08-19 <STRONG><A HREF="curs_getch.3x.html">curs_getch(3x)</A></STRONG>
+ncurses 6.4 2023-09-16 <STRONG><A HREF="curs_getch.3x.html">curs_getch(3x)</A></STRONG>
</PRE>
<div class="nav">
<ul>
* sale, use or other dealings in this Software without prior written *
* authorization. *
****************************************************************************
- * @Id: curs_getstr.3x,v 1.42 2023/08/05 12:14:30 tom Exp @
+ * @Id: curs_getstr.3x,v 1.46 2023/09/16 23:34:43 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>curs_getstr 3x 2023-08-05 ncurses 6.4 Library calls</TITLE>
+<TITLE>curs_getstr 3x 2023-09-16 ncurses 6.4 Library calls</TITLE>
<link rel="author" href="mailto:bug-ncurses@gnu.org">
</HEAD>
<BODY>
-<H1 class="no-header">curs_getstr 3x 2023-08-05 ncurses 6.4 Library calls</H1>
+<H1 class="no-header">curs_getstr 3x 2023-09-16 ncurses 6.4 Library calls</H1>
<PRE>
<STRONG><A HREF="curs_getstr.3x.html">curs_getstr(3x)</A></STRONG> Library calls <STRONG><A HREF="curs_getstr.3x.html">curs_getstr(3x)</A></STRONG>
</PRE><H2><a name="h2-NAME">NAME</a></H2><PRE>
- <STRONG>getstr</STRONG>, <STRONG>getnstr</STRONG>, <STRONG>wgetstr</STRONG>, <STRONG>wgetnstr</STRONG>, <STRONG>mvgetstr</STRONG>, <STRONG>mvgetnstr</STRONG>, <STRONG>mvwgetstr</STRONG>,
- <STRONG>mvwgetnstr</STRONG> - accept character strings from <STRONG>curses</STRONG> terminal keyboard
+ <STRONG>getstr</STRONG>, <STRONG>getnstr</STRONG>, <STRONG>wgetstr</STRONG>, <STRONG>wgetnstr</STRONG>, <STRONG>mvgetstr</STRONG>, <STRONG>mvgetnstr</STRONG>, <STRONG>mvwgetstr</STRONG>,
+ <STRONG>mvwgetnstr</STRONG> - accept character strings from <EM>curses</EM> terminal keyboard
</PRE><H2><a name="h2-SYNOPSIS">SYNOPSIS</a></H2><PRE>
cursor at the beginning of the buffer.
Characters input are echoed only if <STRONG>echo</STRONG> is currently on. In that
- case, backspace is echoed as deletion of the previous character (typi-
- cally a left motion).
+ case, backspace is echoed as deletion of the previous character
+ (typically a left motion).
- The <STRONG>getnstr</STRONG>, <STRONG>mvgetnstr</STRONG>, <STRONG>mvwgetnstr</STRONG>, and <STRONG>wgetnstr</STRONG> functions are identi-
- cal to the <STRONG>getstr</STRONG>, <STRONG>mvgetstr</STRONG>, <STRONG>mvwgetstr</STRONG>, and <STRONG>wgetstr</STRONG> functions, respec-
- tively, except that the <STRONG>*n*</STRONG> versions read at most <EM>n</EM> characters, letting
- the application prevent overflow of the input buffer.
+ The <STRONG>getnstr</STRONG>, <STRONG>mvgetnstr</STRONG>, <STRONG>mvwgetnstr</STRONG>, and <STRONG>wgetnstr</STRONG> functions are
+ identical to the <STRONG>getstr</STRONG>, <STRONG>mvgetstr</STRONG>, <STRONG>mvwgetstr</STRONG>, and <STRONG>wgetstr</STRONG> functions,
+ respectively, except that the <STRONG>*n*</STRONG> versions read at most <EM>n</EM> characters,
+ letting the application prevent overflow of the input buffer.
</PRE><H2><a name="h2-NOTES">NOTES</a></H2><PRE>
Any of these functions other than <STRONG>wgetnstr</STRONG> may be macros.
- Using <STRONG>getstr</STRONG>, <STRONG>mvgetstr</STRONG>, <STRONG>mvwgetstr</STRONG>, or <STRONG>wgetstr</STRONG> to read a line that over-
- flows the array pointed to by <STRONG>str</STRONG> causes undefined results. The use of
- <STRONG>getnstr</STRONG>, <STRONG>mvgetnstr</STRONG>, <STRONG>mvwgetnstr</STRONG>, or <STRONG>wgetnstr</STRONG>, respectively, is recom-
- mended.
+ Using <STRONG>getstr</STRONG>, <STRONG>mvgetstr</STRONG>, <STRONG>mvwgetstr</STRONG>, or <STRONG>wgetstr</STRONG> to read a line that
+ overflows the array pointed to by <STRONG>str</STRONG> causes undefined results. The
+ use of <STRONG>getnstr</STRONG>, <STRONG>mvgetnstr</STRONG>, <STRONG>mvwgetnstr</STRONG>, or <STRONG>wgetnstr</STRONG>, respectively, is
+ recommended.
</PRE><H2><a name="h2-RETURN-VALUE">RETURN VALUE</a></H2><PRE>
- All of these functions return the integer <STRONG>OK</STRONG> upon successful comple-
- tion. (SVr4 specifies only "an integer value other than <STRONG>ERR</STRONG>") If un-
- successful, they return <STRONG>ERR</STRONG>.
+ All of these functions return the integer <STRONG>OK</STRONG> upon successful
+ completion. (SVr4 specifies only "an integer value other than <STRONG>ERR</STRONG>") If
+ unsuccessful, they return <STRONG>ERR</STRONG>.
X/Open defines no error conditions.
<STRONG>o</STRONG> if the associated call to <STRONG>wgetch</STRONG> failed.
- This implementation provides an extension as well. If a <STRONG>SIGWINCH</STRONG> in-
- terrupts the function, it will return <STRONG>KEY_RESIZE</STRONG> rather than <STRONG>OK</STRONG> or <STRONG>ERR</STRONG>.
+ This implementation provides an extension as well. If a <STRONG>SIGWINCH</STRONG>
+ interrupts the function, it will return <STRONG>KEY_RESIZE</STRONG> rather than <STRONG>OK</STRONG> or
+ <STRONG>ERR</STRONG>.
- Functions with a "mv" prefix first perform a cursor movement using
+ 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.
These functions are described in The Single Unix Specification, Version
2. No error conditions are defined.
- This implementation returns <STRONG>ERR</STRONG> if the window pointer is null, or if
+ This implementation returns <STRONG>ERR</STRONG> if the window pointer is null, or if
the lower-level <STRONG><A HREF="curs_getch.3x.html">wgetch(3x)</A></STRONG> call returns an <STRONG>ERR</STRONG>.
- SVr3 and early SVr4 curses implementations did not reject function
- keys; the SVr4.0 documentation claimed that "special keys" (such as
- function keys, "home" key, "clear" key, <EM>etc</EM>.) are "interpreted", with-
- out giving details. It lied. In fact, the "character" value appended
- to the string by those implementations was predictable but not useful
- (being, in fact, the low-order eight bits of the key's KEY_ value).
+ SVr3 and early SVr4 curses implementations did not reject function
+ keys; the SVr4.0 documentation claimed that "special keys" (such as
+ function keys, "home" key, "clear" key, <EM>etc</EM>.) are "interpreted",
+ without giving details. It lied. In fact, the "character" value
+ appended to the string by those implementations was predictable but not
+ useful (being, in fact, the low-order eight bits of the key's KEY_
+ value).
The functions <STRONG>getnstr</STRONG>, <STRONG>mvgetnstr</STRONG>, and <STRONG>mvwgetnstr</STRONG> were present but not
documented in SVr4.
<STRONG>o</STRONG> Solaris SVr4 and NetBSD curses count the NUL as part of the limit.
- <STRONG>o</STRONG> Solaris xcurses provides both: its wide-character <STRONG>wget_nstr</STRONG> re-
- serves a NUL, but its <STRONG>wgetnstr</STRONG> does not count the NUL consistently.
+ <STRONG>o</STRONG> Solaris xcurses provides both: its wide-character <STRONG>wget_nstr</STRONG>
+ reserves a NUL, but its <STRONG>wgetnstr</STRONG> does not count the NUL
+ consistently.
In SVr4 curses, a negative value of <EM>n</EM> tells <STRONG>wgetnstr</STRONG> to assume that the
- caller's buffer is large enough to hold the result, i.e., to act like
- <STRONG>wgetstr</STRONG>. X/Open Curses does not mention this (or anything related to
- negative or zero values of <EM>n</EM>), however most implementations use the
+ caller's buffer is large enough to hold the result, i.e., to act like
+ <STRONG>wgetstr</STRONG>. X/Open Curses does not mention this (or anything related to
+ negative or zero values of <EM>n</EM>), however most implementations use the
feature, with different limits:
- <STRONG>o</STRONG> Solaris SVr4 curses and PDCurses limit the result to 255 bytes.
+ <STRONG>o</STRONG> Solaris SVr4 curses and PDCurses limit the result to 255 bytes.
Other Unix systems than Solaris are likely to use the same limit.
<STRONG>o</STRONG> Solaris xcurses limits the result to <STRONG>LINE_MAX</STRONG> bytes.
- <STRONG>o</STRONG> NetBSD 7 assumes no particular limit for the result from <STRONG>wgetstr</STRONG>.
- However, it limits the <STRONG>wgetnstr</STRONG> parameter <EM>n</EM> to ensure that it is
+ <STRONG>o</STRONG> NetBSD 7 assumes no particular limit for the result from <STRONG>wgetstr</STRONG>.
+ However, it limits the <STRONG>wgetnstr</STRONG> parameter <EM>n</EM> to ensure that it is
greater than zero.
- A comment in NetBSD's source code states that this is specified in
+ A comment in NetBSD's source code states that this is specified in
SUSv2.
- <STRONG>o</STRONG> ncurses (before 6.2) assumes no particular limit for the result
- from <STRONG>wgetstr</STRONG>, and treats the <EM>n</EM> parameter of <STRONG>wgetnstr</STRONG> like SVr4
+ <STRONG>o</STRONG> ncurses (before 6.2) assumes no particular limit for the result
+ from <STRONG>wgetstr</STRONG>, and treats the <EM>n</EM> parameter of <STRONG>wgetnstr</STRONG> like SVr4
curses.
- <STRONG>o</STRONG> ncurses 6.2 uses <STRONG>LINE_MAX</STRONG>, or a larger (system-dependent) value
- which the <STRONG>sysconf</STRONG> function may provide. If neither <STRONG>LINE_MAX</STRONG> or
- <STRONG>sysconf</STRONG> is available, ncurses uses the POSIX value for <STRONG>LINE_MAX</STRONG> (a
- 2048 byte limit). In either case, it reserves a byte for the ter-
- minating NUL.
+ <STRONG>o</STRONG> ncurses 6.2 uses <STRONG>LINE_MAX</STRONG>, or a larger (system-dependent) value
+ which the <STRONG>sysconf</STRONG> function may provide. If neither <STRONG>LINE_MAX</STRONG> or
+ <STRONG>sysconf</STRONG> is available, ncurses uses the POSIX value for <STRONG>LINE_MAX</STRONG> (a
+ 2048 byte limit). In either case, it reserves a byte for the
+ terminating NUL.
- Although <STRONG>getnstr</STRONG> is equivalent to a series of calls to <STRONG>getch</STRONG>, it also
- makes changes to the curses modes to allow simple editing of the input
+ Although <STRONG>getnstr</STRONG> is equivalent to a series of calls to <STRONG>getch</STRONG>, it also
+ makes changes to the curses modes to allow simple editing of the input
buffer:
- <STRONG>o</STRONG> <STRONG>getnstr</STRONG> saves the current value of the <STRONG>nl</STRONG>, <STRONG>echo</STRONG>, <STRONG>raw</STRONG> and <STRONG>cbreak</STRONG>
+ <STRONG>o</STRONG> <STRONG>getnstr</STRONG> saves the current value of the <STRONG>nl</STRONG>, <STRONG>echo</STRONG>, <STRONG>raw</STRONG> and <STRONG>cbreak</STRONG>
modes, and sets <STRONG>nl</STRONG>, <STRONG>noecho</STRONG>, <STRONG>noraw</STRONG>, and <STRONG>cbreak</STRONG>.
- <STRONG>getnstr</STRONG> handles the echoing of characters, rather than relying on
+ <STRONG>getnstr</STRONG> handles the echoing of characters, rather than relying on
the caller to set an appropriate mode.
- <STRONG>o</STRONG> It also obtains the <EM>erase</EM> and <EM>kill</EM> characters from <STRONG>erasechar</STRONG> and
+ <STRONG>o</STRONG> It also obtains the <EM>erase</EM> and <EM>kill</EM> characters from <STRONG>erasechar</STRONG> and
<STRONG>killchar</STRONG>, respectively.
<STRONG>o</STRONG> On return, <STRONG>getnstr</STRONG> restores the modes to their previous values.
Other implementations differ in their treatment of special characters:
- <STRONG>o</STRONG> While they may set the <EM>echo</EM> mode, other implementations do not mod-
- ify the <EM>raw</EM> mode, They may take the <EM>cbreak</EM> mode set by the caller
- into account when deciding whether to handle echoing within <STRONG>getnstr</STRONG>
- or as a side-effect of the <STRONG>getch</STRONG> calls.
+ <STRONG>o</STRONG> While they may set the <EM>echo</EM> mode, other implementations do not
+ modify the <EM>raw</EM> mode, They may take the <EM>cbreak</EM> mode set by the
+ caller into account when deciding whether to handle echoing within
+ <STRONG>getnstr</STRONG> or as a side-effect of the <STRONG>getch</STRONG> calls.
<STRONG>o</STRONG> The original ncurses (as <EM>pcurses</EM> in 1986) set <STRONG>noraw</STRONG> and <STRONG>cbreak</STRONG> when
- accepting input for <STRONG>getnstr</STRONG>. That may have been done to make func-
- tion- and cursor-keys work; it is not necessary with ncurses.
+ accepting input for <STRONG>getnstr</STRONG>. That may have been done to make
+ function- and cursor-keys work; it is not necessary with ncurses.
- Since 1995, ncurses has provided signal handlers for INTR and QUIT
- (e.g., <STRONG>^C</STRONG> or <STRONG>^\</STRONG>). With the <STRONG>noraw</STRONG> and <STRONG>cbreak</STRONG> settings, those may
- catch a signal and stop the program, where other implementations
+ Since 1995, ncurses has provided signal handlers for INTR and QUIT
+ (e.g., <STRONG>^C</STRONG> or <STRONG>^\</STRONG>). With the <STRONG>noraw</STRONG> and <STRONG>cbreak</STRONG> settings, those may
+ catch a signal and stop the program, where other implementations
allow one to enter those characters in the buffer.
<STRONG>o</STRONG> Starting in 2021 (ncurses 6.3), <STRONG>getnstr</STRONG> sets <STRONG>raw</STRONG>, rather than <STRONG>noraw</STRONG>
- and <STRONG>cbreak</STRONG> for better compatibility with SVr4-curses, e.g., allow-
- ing one to enter a <STRONG>^C</STRONG> into the buffer.
+ and <STRONG>cbreak</STRONG> for better compatibility with SVr4-curses, e.g.,
+ allowing one to enter a <STRONG>^C</STRONG> into the buffer.
</PRE><H2><a name="h2-SEE-ALSO">SEE ALSO</a></H2><PRE>
-ncurses 6.4 2023-08-05 <STRONG><A HREF="curs_getstr.3x.html">curs_getstr(3x)</A></STRONG>
+ncurses 6.4 2023-09-16 <STRONG><A HREF="curs_getstr.3x.html">curs_getstr(3x)</A></STRONG>
</PRE>
<div class="nav">
<ul>
* sale, use or other dealings in this Software without prior written *
* authorization. *
****************************************************************************
- * @Id: curs_getyx.3x,v 1.27 2023/07/01 15:43:20 tom Exp @
+ * @Id: curs_getyx.3x,v 1.31 2023/09/16 23:37:03 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>curs_getyx 3x 2023-07-01 ncurses 6.4 Library calls</TITLE>
+<TITLE>curs_getyx 3x 2023-09-16 ncurses 6.4 Library calls</TITLE>
<link rel="author" href="mailto:bug-ncurses@gnu.org">
</HEAD>
<BODY>
-<H1 class="no-header">curs_getyx 3x 2023-07-01 ncurses 6.4 Library calls</H1>
+<H1 class="no-header">curs_getyx 3x 2023-09-16 ncurses 6.4 Library calls</H1>
<PRE>
<STRONG><A HREF="curs_getyx.3x.html">curs_getyx(3x)</A></STRONG> Library calls <STRONG><A HREF="curs_getyx.3x.html">curs_getyx(3x)</A></STRONG>
</PRE><H2><a name="h2-NAME">NAME</a></H2><PRE>
- <STRONG>getyx</STRONG>, <STRONG>getparyx</STRONG>, <STRONG>getbegyx</STRONG>, <STRONG>getmaxyx</STRONG> - get <STRONG>curses</STRONG> cursor and window
+ <STRONG>getyx</STRONG>, <STRONG>getparyx</STRONG>, <STRONG>getbegyx</STRONG>, <STRONG>getmaxyx</STRONG> - get <EM>curses</EM> cursor and window
coordinates
-ncurses 6.4 2023-07-01 <STRONG><A HREF="curs_getyx.3x.html">curs_getyx(3x)</A></STRONG>
+ncurses 6.4 2023-09-16 <STRONG><A HREF="curs_getyx.3x.html">curs_getyx(3x)</A></STRONG>
</PRE>
<div class="nav">
<ul>
<!--
****************************************************************************
- * Copyright 2018-2021,2022 Thomas E. Dickey *
+ * Copyright 2018-2022,2023 Thomas E. Dickey *
* Copyright 2002-2010,2017 Free Software Foundation, Inc. *
* *
* Permission is hereby granted, free of charge, to any person obtaining a *
* sale, use or other dealings in this Software without prior written *
* authorization. *
****************************************************************************
- * @Id: curs_in_wch.3x,v 1.14 2022/02/12 20:07:29 tom Exp @
+ * @Id: curs_in_wch.3x,v 1.19 2023/09/16 23:37:03 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>curs_in_wch 3x 2022-02-12 ncurses 6.4 Library calls</TITLE>
+<TITLE>curs_in_wch 3x 2023-09-16 ncurses 6.4 Library calls</TITLE>
<link rel="author" href="mailto:bug-ncurses@gnu.org">
</HEAD>
<BODY>
-<H1 class="no-header">curs_in_wch 3x 2022-02-12 ncurses 6.4 Library calls</H1>
+<H1 class="no-header">curs_in_wch 3x 2023-09-16 ncurses 6.4 Library calls</H1>
<PRE>
<STRONG><A HREF="curs_in_wch.3x.html">curs_in_wch(3x)</A></STRONG> Library calls <STRONG><A HREF="curs_in_wch.3x.html">curs_in_wch(3x)</A></STRONG>
</PRE><H2><a name="h2-NAME">NAME</a></H2><PRE>
- <STRONG>in_wch</STRONG>, <STRONG>mvin_wch</STRONG>, <STRONG>mvwin_wch</STRONG>, <STRONG>win_wch</STRONG> - extract a complex character and
- rendition from a window
+ <STRONG>in_wch</STRONG>, <STRONG>mvin_wch</STRONG>, <STRONG>mvwin_wch</STRONG>, <STRONG>win_wch</STRONG> - get a <EM>curses</EM> complex character
+ from a window
</PRE><H2><a name="h2-SYNOPSIS">SYNOPSIS</a></H2><PRE>
-ncurses 6.4 2022-02-12 <STRONG><A HREF="curs_in_wch.3x.html">curs_in_wch(3x)</A></STRONG>
+ncurses 6.4 2023-09-16 <STRONG><A HREF="curs_in_wch.3x.html">curs_in_wch(3x)</A></STRONG>
</PRE>
<div class="nav">
<ul>
<!--
****************************************************************************
- * Copyright 2018-2021,2022 Thomas E. Dickey *
+ * Copyright 2018-2022,2023 Thomas E. Dickey *
* Copyright 2002-2012,2017 Free Software Foundation, Inc. *
* *
* Permission is hereby granted, free of charge, to any person obtaining a *
* sale, use or other dealings in this Software without prior written *
* authorization. *
****************************************************************************
- * @Id: curs_in_wchstr.3x,v 1.18 2022/02/12 20:07:29 tom Exp @
+ * @Id: curs_in_wchstr.3x,v 1.23 2023/09/16 23:37:03 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>curs_in_wchstr 3x 2022-02-12 ncurses 6.4 Library calls</TITLE>
+<TITLE>curs_in_wchstr 3x 2023-09-16 ncurses 6.4 Library calls</TITLE>
<link rel="author" href="mailto:bug-ncurses@gnu.org">
</HEAD>
<BODY>
-<H1 class="no-header">curs_in_wchstr 3x 2022-02-12 ncurses 6.4 Library calls</H1>
+<H1 class="no-header">curs_in_wchstr 3x 2023-09-16 ncurses 6.4 Library calls</H1>
<PRE>
<STRONG><A HREF="curs_in_wchstr.3x.html">curs_in_wchstr(3x)</A></STRONG> Library calls <STRONG><A HREF="curs_in_wchstr.3x.html">curs_in_wchstr(3x)</A></STRONG>
</PRE><H2><a name="h2-NAME">NAME</a></H2><PRE>
- <STRONG>in_wchstr</STRONG>, <STRONG>in_wchnstr</STRONG>, <STRONG>win_wchstr</STRONG>, <STRONG>win_wchnstr</STRONG>, <STRONG>mvin_wchstr</STRONG>,
- <STRONG>mvin_wchnstr</STRONG>, <STRONG>mvwin_wchstr</STRONG>, <STRONG>mvwin_wchnstr</STRONG> - get an array of complex
- characters and renditions from a curses window
+ <STRONG>in_wchstr</STRONG>, <STRONG>in_wchnstr</STRONG>, <STRONG>win_wchstr</STRONG>, <STRONG>win_wchnstr</STRONG>, <STRONG>mvin_wchstr</STRONG>,
+ <STRONG>mvin_wchnstr</STRONG>, <STRONG>mvwin_wchstr</STRONG>, <STRONG>mvwin_wchnstr</STRONG> - get a <EM>curses</EM> complex
+ character string from a window
</PRE><H2><a name="h2-SYNOPSIS">SYNOPSIS</a></H2><PRE>
</PRE><H2><a name="h2-DESCRIPTION">DESCRIPTION</a></H2><PRE>
- These functions return an array of complex characters in <EM>wchstr</EM>, start-
- ing at the current cursor position in the named window. Attributes
- (rendition) are stored with the characters.
+ These functions return an array of complex characters in <EM>wchstr</EM>,
+ starting at the current cursor position in the named window.
+ Attributes (rendition) are stored with the characters.
The <STRONG>in_wchnstr</STRONG>, <STRONG>mvin_wchnstr</STRONG>, <STRONG>mvwin_wchnstr</STRONG> and <STRONG>win_wchnstr</STRONG> fill the
array with at most <EM>n</EM> <STRONG>cchar_t</STRONG> elements.
Note that all routines except <STRONG>win_wchnstr</STRONG> may be macros.
Reading a line that overflows the array pointed to by <EM>wchstr</EM> with
- <STRONG>in_wchstr</STRONG>, <STRONG>mvin_wchstr</STRONG>, <STRONG>mvwin_wchstr</STRONG> or <STRONG>win_wchstr</STRONG> causes undefined re-
- sults. Therefore, the use of <STRONG>in_wchnstr</STRONG>, <STRONG>mvin_wchnstr</STRONG>, <STRONG>mvwin_wchnstr</STRONG>,
- or <STRONG>win_wchnstr</STRONG> is recommended.
+ <STRONG>in_wchstr</STRONG>, <STRONG>mvin_wchstr</STRONG>, <STRONG>mvwin_wchstr</STRONG> or <STRONG>win_wchstr</STRONG> causes undefined
+ results. Therefore, the use of <STRONG>in_wchnstr</STRONG>, <STRONG>mvin_wchnstr</STRONG>,
+ <STRONG>mvwin_wchnstr</STRONG>, or <STRONG>win_wchnstr</STRONG> is recommended.
</PRE><H2><a name="h2-RETURN-VALUE">RETURN VALUE</a></H2><PRE>
-ncurses 6.4 2022-02-12 <STRONG><A HREF="curs_in_wchstr.3x.html">curs_in_wchstr(3x)</A></STRONG>
+ncurses 6.4 2023-09-16 <STRONG><A HREF="curs_in_wchstr.3x.html">curs_in_wchstr(3x)</A></STRONG>
</PRE>
<div class="nav">
<ul>
* sale, use or other dealings in this Software without prior written *
* authorization. *
****************************************************************************
- * @Id: curs_inch.3x,v 1.33 2023/08/19 20:46:33 tom Exp @
+ * @Id: curs_inch.3x,v 1.37 2023/09/16 23:37:03 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>curs_inch 3x 2023-08-19 ncurses 6.4 Library calls</TITLE>
+<TITLE>curs_inch 3x 2023-09-16 ncurses 6.4 Library calls</TITLE>
<link rel="author" href="mailto:bug-ncurses@gnu.org">
</HEAD>
<BODY>
-<H1 class="no-header">curs_inch 3x 2023-08-19 ncurses 6.4 Library calls</H1>
+<H1 class="no-header">curs_inch 3x 2023-09-16 ncurses 6.4 Library calls</H1>
<PRE>
<STRONG><A HREF="curs_inch.3x.html">curs_inch(3x)</A></STRONG> Library calls <STRONG><A HREF="curs_inch.3x.html">curs_inch(3x)</A></STRONG>
</PRE><H2><a name="h2-NAME">NAME</a></H2><PRE>
- <STRONG>inch</STRONG>, <STRONG>winch</STRONG>, <STRONG>mvinch</STRONG>, <STRONG>mvwinch</STRONG> - get a character and attributes from a
- <STRONG>curses</STRONG> window
+ <STRONG>inch</STRONG>, <STRONG>winch</STRONG>, <STRONG>mvinch</STRONG>, <STRONG>mvwinch</STRONG> - get a <EM>curses</EM> character from a window
</PRE><H2><a name="h2-SYNOPSIS">SYNOPSIS</a></H2><PRE>
</PRE><H2><a name="h2-DESCRIPTION">DESCRIPTION</a></H2><PRE>
- These routines return the character, of type <STRONG>chtype</STRONG>, at the current
- position in the named window. If any attributes are set for that
- position, their values are OR'ed into the value returned. Constants
- defined in <STRONG><curses.h></STRONG> can be used with the <STRONG>&</STRONG> (logical AND) operator to
+ These routines return the character, of type <STRONG>chtype</STRONG>, at the current
+ position in the named window. If any attributes are set for that
+ position, their values are OR'ed into the value returned. Constants
+ defined in <STRONG><curses.h></STRONG> can be used with the <STRONG>&</STRONG> (logical AND) operator to
extract the character or attributes alone.
</PRE><H3><a name="h3-Attributes">Attributes</a></H3><PRE>
- The following bit-masks may be AND-ed with characters returned by
+ The following bit-masks may be AND-ed with characters returned by
<STRONG>winch</STRONG>.
<STRONG>A_CHARTEXT</STRONG> Bit-mask to extract character
</PRE><H2><a name="h2-RETURN-VALUE">RETURN VALUE</a></H2><PRE>
- Functions with a "mv" prefix first perform a cursor movement using
+ 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.
- The <STRONG>winch</STRONG> function does not return an error if the window contains
- characters larger than 8-bits (255). Only the low-order 8 bits of the
+ The <STRONG>winch</STRONG> function does not return an error if the window contains
+ characters larger than 8-bits (255). Only the low-order 8 bits of the
character are used by <STRONG>winch</STRONG>.
</PRE><H2><a name="h2-PORTABILITY">PORTABILITY</a></H2><PRE>
These functions are described in the XSI Curses standard, Issue 4.
- Very old systems (before standardization) provide a different function
+ Very old systems (before standardization) provide a different function
with the same name:
- <STRONG>o</STRONG> The <STRONG>winch</STRONG> function was part of the original BSD curses library,
- which stored a 7-bit character combined with the <EM>standout</EM>
+ <STRONG>o</STRONG> The <STRONG>winch</STRONG> function was part of the original BSD curses library,
+ which stored a 7-bit character combined with the <EM>standout</EM>
attribute.
- In BSD curses, <STRONG>winch</STRONG> returned only the character (as an integer)
+ In BSD curses, <STRONG>winch</STRONG> returned only the character (as an integer)
with the <EM>standout</EM> attribute removed.
- <STRONG>o</STRONG> System V curses added support for several video attributes which
+ <STRONG>o</STRONG> System V curses added support for several video attributes which
could be combined with characters in the window.
Reflecting this improvement, the function was altered to return the
character combined with all video attributes in a <STRONG>chtype</STRONG> value.
X/Open Curses does not specify the size and layout of attributes, color
- and character values in <STRONG>chtype</STRONG>; it is implementation-dependent. This
- implementation uses 8 bits for character values. An application using
- more bits, e.g., a Unicode value, should use the wide-character
+ and character values in <STRONG>chtype</STRONG>; it is implementation-dependent. This
+ implementation uses 8 bits for character values. An application using
+ more bits, e.g., a Unicode value, should use the wide-character
equivalents to these functions.
gives an overview of the WINDOW and <STRONG>chtype</STRONG> data types.
<STRONG><A HREF="curs_attr.3x.html">curs_attr(3x)</A></STRONG>
- goes into more detail, pointing out portability problems and
+ goes into more detail, pointing out portability problems and
constraints on the use of <STRONG>chtype</STRONG> for returning window information.
<STRONG><A HREF="curs_in_wch.3x.html">curs_in_wch(3x)</A></STRONG>
- describes comparable functions for the wide-character (ncursesw)
+ describes comparable functions for the wide-character (ncursesw)
library.
-ncurses 6.4 2023-08-19 <STRONG><A HREF="curs_inch.3x.html">curs_inch(3x)</A></STRONG>
+ncurses 6.4 2023-09-16 <STRONG><A HREF="curs_inch.3x.html">curs_inch(3x)</A></STRONG>
</PRE>
<div class="nav">
<ul>
* sale, use or other dealings in this Software without prior written *
* authorization. *
****************************************************************************
- * @Id: curs_inchstr.3x,v 1.28 2023/07/01 15:43:20 tom Exp @
+ * @Id: curs_inchstr.3x,v 1.32 2023/09/16 23:37:03 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>curs_inchstr 3x 2023-07-01 ncurses 6.4 Library calls</TITLE>
+<TITLE>curs_inchstr 3x 2023-09-16 ncurses 6.4 Library calls</TITLE>
<link rel="author" href="mailto:bug-ncurses@gnu.org">
</HEAD>
<BODY>
-<H1 class="no-header">curs_inchstr 3x 2023-07-01 ncurses 6.4 Library calls</H1>
+<H1 class="no-header">curs_inchstr 3x 2023-09-16 ncurses 6.4 Library calls</H1>
<PRE>
<STRONG><A HREF="curs_inchstr.3x.html">curs_inchstr(3x)</A></STRONG> Library calls <STRONG><A HREF="curs_inchstr.3x.html">curs_inchstr(3x)</A></STRONG>
</PRE><H2><a name="h2-NAME">NAME</a></H2><PRE>
- <STRONG>inchstr</STRONG>, <STRONG>inchnstr</STRONG>, <STRONG>winchstr</STRONG>, <STRONG>winchnstr</STRONG>, <STRONG>mvinchstr</STRONG>, <STRONG>mvinchnstr</STRONG>,
- <STRONG>mvwinchstr</STRONG>, <STRONG>mvwinchnstr</STRONG> - get a string of characters (and attributes)
- from a <STRONG>curses</STRONG> window
+ <STRONG>inchstr</STRONG>, <STRONG>inchnstr</STRONG>, <STRONG>winchstr</STRONG>, <STRONG>winchnstr</STRONG>, <STRONG>mvinchstr</STRONG>, <STRONG>mvinchnstr</STRONG>,
+ <STRONG>mvwinchstr</STRONG>, <STRONG>mvwinchnstr</STRONG> - get a <EM>curses</EM> character string from a window
</PRE><H2><a name="h2-SYNOPSIS">SYNOPSIS</a></H2><PRE>
</PRE><H2><a name="h2-DESCRIPTION">DESCRIPTION</a></H2><PRE>
- These routines return a NULL-terminated array of <STRONG>chtype</STRONG> quantities,
- starting at the current cursor position in the named window and ending
- at the right margin of the window. The four functions with <EM>n</EM> as the
- last argument, return a leading substring at most <EM>n</EM> characters long
+ These routines return a NULL-terminated array of <STRONG>chtype</STRONG> quantities,
+ starting at the current cursor position in the named window and ending
+ at the right margin of the window. The four functions with <EM>n</EM> as the
+ last argument, return a leading substring at most <EM>n</EM> characters long
(exclusive of the trailing (chtype)0). Constants defined in <STRONG><curses.h></STRONG>
- can be used with the <STRONG>&</STRONG> (logical AND) operator to extract the character
- or the attribute alone from any position in the <EM>chstr</EM> [see
+ can be used with the <STRONG>&</STRONG> (logical AND) operator to extract the character
+ or the attribute alone from any position in the <EM>chstr</EM> [see
<STRONG><A HREF="curs_inch.3x.html">curs_inch(3x)</A></STRONG>].
</PRE><H2><a name="h2-RETURN-VALUE">RETURN VALUE</a></H2><PRE>
- All routines return the integer <STRONG>ERR</STRONG> upon failure and an integer value
- other than <STRONG>ERR</STRONG> upon successful completion (the number of characters re-
- trieved, exclusive of the trailing 0).
+ All routines return the integer <STRONG>ERR</STRONG> upon failure and an integer value
+ other than <STRONG>ERR</STRONG> upon successful completion (the number of characters
+ retrieved, exclusive of the trailing 0).
X/Open Curses defines no error conditions. In this implementation:
<STRONG>o</STRONG> If the <EM>chstr</EM> parameter is null, an error is returned,
- Functions with a "mv" prefix first perform a cursor movement using
+ 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.
</PRE><H2><a name="h2-NOTES">NOTES</a></H2><PRE>
- Note that all routines except <STRONG>winchnstr</STRONG> may be macros. SVr4 does not
- document whether the result string is zero-terminated; it does not doc-
- ument whether a length limit argument includes any trailing 0; and it
- does not document the meaning of the return value.
+ Note that all routines except <STRONG>winchnstr</STRONG> may be macros. SVr4 does not
+ document whether the result string is zero-terminated; it does not
+ document whether a length limit argument includes any trailing 0; and
+ it does not document the meaning of the return value.
</PRE><H2><a name="h2-PORTABILITY">PORTABILITY</a></H2><PRE>
- These functions are described in the XSI Curses standard, Issue 4. It
- is no more specific than the SVr4 documentation on the trailing 0. It
+ These functions are described in the XSI Curses standard, Issue 4. It
+ is no more specific than the SVr4 documentation on the trailing 0. It
does specify that the successful return of the functions is <STRONG>OK</STRONG>.
</PRE><H2><a name="h2-SEE-ALSO">SEE ALSO</a></H2><PRE>
<STRONG><A HREF="ncurses.3x.html">curses(3x)</A></STRONG>, <STRONG><A HREF="curs_inch.3x.html">curs_inch(3x)</A></STRONG>.
- Comparable functions in the wide-character (ncursesw) library are de-
- scribed in <STRONG><A HREF="curs_in_wchstr.3x.html">curs_in_wchstr(3x)</A></STRONG>.
+ Comparable functions in the wide-character (ncursesw) library are
+ described in <STRONG><A HREF="curs_in_wchstr.3x.html">curs_in_wchstr(3x)</A></STRONG>.
-ncurses 6.4 2023-07-01 <STRONG><A HREF="curs_inchstr.3x.html">curs_inchstr(3x)</A></STRONG>
+ncurses 6.4 2023-09-16 <STRONG><A HREF="curs_inchstr.3x.html">curs_inchstr(3x)</A></STRONG>
</PRE>
<div class="nav">
<ul>
* sale, use or other dealings in this Software without prior written *
* authorization. *
****************************************************************************
- * @Id: curs_initscr.3x,v 1.45 2023/08/19 19:46:20 tom Exp @
+ * @Id: curs_initscr.3x,v 1.50 2023/09/16 23:37:03 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>curs_initscr 3x 2023-08-19 ncurses 6.4 Library calls</TITLE>
+<TITLE>curs_initscr 3x 2023-09-16 ncurses 6.4 Library calls</TITLE>
<link rel="author" href="mailto:bug-ncurses@gnu.org">
</HEAD>
<BODY>
-<H1 class="no-header">curs_initscr 3x 2023-08-19 ncurses 6.4 Library calls</H1>
+<H1 class="no-header">curs_initscr 3x 2023-09-16 ncurses 6.4 Library calls</H1>
<PRE>
<STRONG><A HREF="curs_initscr.3x.html">curs_initscr(3x)</A></STRONG> Library calls <STRONG><A HREF="curs_initscr.3x.html">curs_initscr(3x)</A></STRONG>
</PRE><H2><a name="h2-NAME">NAME</a></H2><PRE>
- <STRONG>initscr</STRONG>, <STRONG>newterm</STRONG>, <STRONG>endwin</STRONG>, <STRONG>isendwin</STRONG>, <STRONG>set_term</STRONG>, <STRONG>delscreen</STRONG> - <STRONG>curses</STRONG> screen
- initialization and manipulation routines
+ <STRONG>initscr</STRONG>, <STRONG>newterm</STRONG>, <STRONG>endwin</STRONG>, <STRONG>isendwin</STRONG>, <STRONG>set_term</STRONG>, <STRONG>delscreen</STRONG> - initialize,
+ manipulate, or tear down <EM>curses</EM> terminal interface
</PRE><H2><a name="h2-SYNOPSIS">SYNOPSIS</a></H2><PRE>
it; these are <STRONG><A HREF="curs_slk.3x.html">slk_init(3x)</A></STRONG>, <STRONG>filter</STRONG>, <STRONG>ripoffline</STRONG>, <STRONG>use_env</STRONG>. For multiple-
terminal applications, <STRONG>newterm</STRONG> may be called before <STRONG>initscr</STRONG>.
- The initscr code determines the terminal type and initializes all <STRONG>curs-</STRONG>
- <STRONG>es</STRONG> data structures. <STRONG>initscr</STRONG> also causes the first call to <STRONG><A HREF="curscurs_refresh.3x.html">refresh(3x)</A></STRONG>
- to clear the screen. If errors occur, <STRONG>initscr</STRONG> writes an appropriate
- error message to standard error and exits; otherwise, a pointer is re-
- turned to <STRONG>stdscr</STRONG>.
+ The initscr code determines the terminal type and initializes all
+ <STRONG>curses</STRONG> data structures. <STRONG>initscr</STRONG> also causes the first call to
+ <STRONG><A HREF="curs_refresh.3x.html">refresh(3x)</A></STRONG> to clear the screen. If errors occur, <STRONG>initscr</STRONG> writes an
+ appropriate error message to standard error and exits; otherwise, a
+ pointer is returned to <STRONG>stdscr</STRONG>.
</PRE><H3><a name="h3-newterm">newterm</a></H3><PRE>
if the terminal cannot support a screen-oriented program, would also
use <STRONG>newterm</STRONG>.
- The routine <STRONG>newterm</STRONG> should be called once for each terminal. It re-
- turns a variable of type <STRONG>SCREEN</STRONG> <STRONG>*</STRONG> which should be saved as a reference
- to that terminal. <STRONG>newterm</STRONG>'s arguments are
+ The routine <STRONG>newterm</STRONG> should be called once for each terminal. It
+ returns a variable of type <STRONG>SCREEN</STRONG> <STRONG>*</STRONG> which should be saved as a
+ reference to that terminal. <STRONG>newterm</STRONG>'s arguments are
<STRONG>o</STRONG> the <EM>type</EM> of the terminal to be used in place of <STRONG>$TERM</STRONG>,
If the <EM>type</EM> parameter is <STRONG>NULL</STRONG>, <STRONG>$TERM</STRONG> will be used.
The file descriptor of the output stream is passed to <STRONG><A HREF="curs_terminfo.3x.html">setupterm(3x)</A></STRONG>,
- which returns a pointer to a <STRONG>TERMINAL</STRONG> structure. <STRONG>newterm</STRONG>'s return val-
- ue holds a pointer to the <STRONG>TERMINAL</STRONG> structure.
+ which returns a pointer to a <STRONG>TERMINAL</STRONG> structure. <STRONG>newterm</STRONG>'s return
+ value holds a pointer to the <STRONG>TERMINAL</STRONG> structure.
</PRE><H3><a name="h3-endwin">endwin</a></H3><PRE>
<STRONG>o</STRONG> moves the cursor to the lower left-hand corner of the screen,
- <STRONG>o</STRONG> clears the remainder of the line so that it uses the default col-
- ors,
+ <STRONG>o</STRONG> clears the remainder of the line so that it uses the default
+ colors,
<STRONG>o</STRONG> sets the cursor to normal visibility (see <STRONG><A HREF="curs_kernel.3x.html">curs_set(3x)</A></STRONG>),
- <STRONG>o</STRONG> stops cursor-addressing mode using the <EM>exit</EM><STRONG>_</STRONG><EM>ca</EM><STRONG>_</STRONG><EM>mode</EM> terminal capa-
- bility,
+ <STRONG>o</STRONG> stops cursor-addressing mode using the <EM>exit</EM><STRONG>_</STRONG><EM>ca</EM><STRONG>_</STRONG><EM>mode</EM> terminal
+ capability,
<STRONG>o</STRONG> restores tty modes (see <STRONG><A HREF="curs_kernel.3x.html">reset_shell_mode(3x)</A></STRONG>).
</PRE><H3><a name="h3-set_term">set_term</a></H3><PRE>
The <STRONG>set_term</STRONG> routine is used to switch between different terminals.
- The screen reference <EM>new</EM> becomes the new current terminal. The previ-
- ous terminal is returned by the routine. This is the only routine
+ The screen reference <EM>new</EM> becomes the new current terminal. The
+ previous terminal is returned by the routine. This is the only routine
which manipulates <STRONG>SCREEN</STRONG> pointers; all other routines affect only the
current terminal.
</PRE><H2><a name="h2-RETURN-VALUE">RETURN VALUE</a></H2><PRE>
- <STRONG>endwin</STRONG> returns the integer <STRONG>ERR</STRONG> upon failure and <STRONG>OK</STRONG> upon successful com-
- pletion.
+ <STRONG>endwin</STRONG> returns the integer <STRONG>ERR</STRONG> upon failure and <STRONG>OK</STRONG> upon successful
+ completion.
Routines that return pointers always return <STRONG>NULL</STRONG> on error.
<STRONG>newterm</STRONG>. Deleting a <STRONG>SCREEN</STRONG> provides a way to do this:
<STRONG>o</STRONG> X/Open Curses does not say what happens to <STRONG>WINDOW</STRONG>s when <STRONG>delscreen</STRONG>
- "frees storage associated with the <STRONG>SCREEN</STRONG>" nor does the SVr4 docu-
- mentation help, adding that it should be called after <STRONG>endwin</STRONG> if a
- <STRONG>SCREEN</STRONG> is no longer needed.
+ "frees storage associated with the <STRONG>SCREEN</STRONG>" nor does the SVr4
+ documentation help, adding that it should be called after <STRONG>endwin</STRONG> if
+ a <STRONG>SCREEN</STRONG> is no longer needed.
<STRONG>o</STRONG> However, <STRONG>WINDOW</STRONG>s are implicitly associated with a <STRONG>SCREEN</STRONG>. so that
it is reasonable to expect <STRONG>delscreen</STRONG> to deal with these.
<STRONG>curscr</STRONG> as well as a work area <STRONG>newscr</STRONG>. SVr4 curses ignores other
windows.
- <STRONG>o</STRONG> Since version 4.0 (1996), ncurses has maintained a list of all win-
- dows for each screen, using that information to delete those win-
- dows when <STRONG>delscreen</STRONG> is called.
+ <STRONG>o</STRONG> Since version 4.0 (1996), ncurses has maintained a list of all
+ windows for each screen, using that information to delete those
+ windows when <STRONG>delscreen</STRONG> is called.
<STRONG>o</STRONG> NetBSD copied this feature of ncurses in 2001. PDCurses follows
the SVr4 model, deleting only the standard <STRONG>WINDOW</STRONG> structures.
</PRE><H3><a name="h3-High-level-versus-low-level">High-level versus low-level</a></H3><PRE>
Different implementations may disagree regarding the level of some
- functions. For example, <STRONG>SCREEN</STRONG> (returned by <STRONG>newterm</STRONG>) and <STRONG>TERMINAL</STRONG> (re-
- turned by <STRONG><A HREF="curs_terminfo.3x.html">setupterm(3x)</A></STRONG>) hold file descriptors for the output stream.
- If an application switches screens using <STRONG>set_term</STRONG>, or switches termi-
- nals using <STRONG><A HREF="curs_terminfo.3x.html">set_curterm(3x)</A></STRONG>, applications which use the output file de-
- scriptor can have different behavior depending on which structure holds
- the corresponding descriptor.
+ functions. For example, <STRONG>SCREEN</STRONG> (returned by <STRONG>newterm</STRONG>) and <STRONG>TERMINAL</STRONG>
+ (returned by <STRONG><A HREF="curs_terminfo.3x.html">setupterm(3x)</A></STRONG>) hold file descriptors for the output
+ stream. If an application switches screens using <STRONG>set_term</STRONG>, or switches
+ terminals using <STRONG><A HREF="curs_terminfo.3x.html">set_curterm(3x)</A></STRONG>, applications which use the output file
+ descriptor can have different behavior depending on which structure
+ holds the corresponding descriptor.
For example
</PRE><H3><a name="h3-Unset-TERM-Variable">Unset TERM Variable</a></H3><PRE>
- If the TERM variable is missing or empty, <STRONG>initscr</STRONG> uses the value "un-
- known", which normally corresponds to a terminal entry with the <EM>generic</EM>
- (<EM>gn</EM>) capability. Generic entries are detected by <STRONG><A HREF="curs_terminfo.3x.html">setupterm(3x)</A></STRONG> and
- cannot be used for full-screen operation. Other implementations may
- handle a missing/empty TERM variable differently.
+ If the TERM variable is missing or empty, <STRONG>initscr</STRONG> uses the value
+ "unknown", which normally corresponds to a terminal entry with the
+ <EM>generic</EM> (<EM>gn</EM>) capability. Generic entries are detected by <STRONG><A HREF="curs_terminfo.3x.html">setupterm(3x)</A></STRONG>
+ and cannot be used for full-screen operation. Other implementations
+ may handle a missing/empty TERM variable differently.
</PRE><H3><a name="h3-Signal-Handlers">Signal Handlers</a></H3><PRE>
- Quoting from X/Open Curses, section 3.1.1:
+ Quoting from X/Open Curses Issue 7, section 3.1.1:
- <EM>Curses</EM> <EM>implementations</EM> <EM>may</EM> <EM>provide</EM> <EM>for</EM> <EM>special</EM> <EM>handling</EM> <EM>of</EM> <EM>the</EM>
- <STRONG>SIGINT</STRONG><EM>,</EM> <STRONG>SIGQUIT</STRONG> <EM>and</EM> <STRONG>SIGTSTP</STRONG> <EM>signals</EM> <EM>if</EM> <EM>their</EM> <EM>disposition</EM> <EM>is</EM>
- <STRONG>SIG_DFL</STRONG> <EM>at</EM> <EM>the</EM> <EM>time</EM> <STRONG>initscr</STRONG> <EM>is</EM> <EM>called</EM> ...
+ Curses implementations may provide for special handling of the
+ SIGINT, SIGQUIT, and SIGTSTP signals if their disposition is
+ SIG_DFL at the time <EM>initscr</EM> is called...
- <EM>Any</EM> <EM>special</EM> <EM>handling</EM> <EM>for</EM> <EM>these</EM> <EM>signals</EM> <EM>may</EM> <EM>remain</EM> <EM>in</EM> <EM>effect</EM> <EM>for</EM>
- <EM>the</EM> <EM>life</EM> <EM>of</EM> <EM>the</EM> <EM>process</EM> <EM>or</EM> <EM>until</EM> <EM>the</EM> <EM>process</EM> <EM>changes</EM> <EM>the</EM>
- <EM>disposition</EM> <EM>of</EM> <EM>the</EM> <EM>signal.</EM>
+ Any special handling for these signals may remain in effect for
+ the life of the process or until the process changes the
+ disposition of the signal.
- <EM>None</EM> <EM>of</EM> <EM>the</EM> <EM>Curses</EM> <EM>functions</EM> <EM>are</EM> <EM>required</EM> <EM>to</EM> <EM>be</EM> <EM>safe</EM> <EM>with</EM> <EM>respect</EM>
- <EM>to</EM> <EM>signals</EM> ...
+ None of the Curses functions are required to be safe with respect
+ to signals...
This implementation establishes signal handlers during initialization,
e.g., <STRONG>initscr</STRONG> or <STRONG>newterm</STRONG>. Applications which must handle these signals
- should set up the corresponding handlers <EM>after</EM> initializing the li-
- brary:
+ should set up the corresponding handlers <EM>after</EM> initializing the
+ library:
<STRONG>SIGINT</STRONG>
The handler <EM>attempts</EM> to cleanup the screen on exit. Although it
<STRONG>o</STRONG> Walking the <STRONG>SCREEN</STRONG> list is unsafe, since all list management
is done without any signal blocking.
- <STRONG>o</STRONG> On systems which have <STRONG>REENTRANT</STRONG> turned on, <STRONG>set_term</STRONG> uses func-
- tions which could deadlock or misbehave in other ways.
+ <STRONG>o</STRONG> On systems which have <STRONG>REENTRANT</STRONG> turned on, <STRONG>set_term</STRONG> uses
+ functions which could deadlock or misbehave in other ways.
<STRONG>o</STRONG> <STRONG>endwin</STRONG> calls other functions, many of which use stdio or other
library functions which are clearly unsafe.
<STRONG>SIGWINCH</STRONG>
This handles the window-size changes which were ignored in the
- standardization efforts. The handler sets a (signal-safe) vari-
- able which is later tested in <STRONG>wgetch</STRONG> (see <STRONG><A HREF="curs_getch.3x.html">curs_getch(3x)</A></STRONG>). If
- <STRONG>keypad</STRONG> has been enabled for the corresponding window, <STRONG>wgetch</STRONG> re-
- turns the key symbol <STRONG>KEY_RESIZE</STRONG>. At the same time, <STRONG>wgetch</STRONG> calls
+ standardization efforts. The handler sets a (signal-safe)
+ variable which is later tested in <STRONG>wgetch</STRONG> (see <STRONG><A HREF="curs_getch.3x.html">curs_getch(3x)</A></STRONG>). If
+ <STRONG>keypad</STRONG> has been enabled for the corresponding window, <STRONG>wgetch</STRONG>
+ returns the key symbol <STRONG>KEY_RESIZE</STRONG>. At the same time, <STRONG>wgetch</STRONG> calls
<STRONG>resizeterm</STRONG> to adjust the standard screen <STRONG>stdscr</STRONG>, and update other
data such as <STRONG>LINES</STRONG> and <STRONG>COLS</STRONG>.
</PRE><H2><a name="h2-SEE-ALSO">SEE ALSO</a></H2><PRE>
- <STRONG><A HREF="ncurses.3x.html">curses(3x)</A></STRONG>, <STRONG><A HREF="curs_kernel.3x.html">curs_kernel(3x)</A></STRONG>, <STRONG><A HREF="curs_refresh.3x.html">curs_refresh(3x)</A></STRONG>, <STRONG><A HREF="curs_slk.3x.html">curs_slk(3x)</A></STRONG>, <STRONG>curs_ter-</STRONG>
- <STRONG><A HREF="curs_terminfo.3x.html">minfo(3x)</A></STRONG>, <STRONG><A HREF="curs_util.3x.html">curs_util(3x)</A></STRONG>, <STRONG><A HREF="curs_variables.3x.html">curs_variables(3x)</A></STRONG>.
+ <STRONG><A HREF="ncurses.3x.html">curses(3x)</A></STRONG>, <STRONG><A HREF="curs_kernel.3x.html">curs_kernel(3x)</A></STRONG>, <STRONG><A HREF="curs_refresh.3x.html">curs_refresh(3x)</A></STRONG>, <STRONG><A HREF="curs_slk.3x.html">curs_slk(3x)</A></STRONG>,
+ <STRONG><A HREF="curs_terminfo.3x.html">curs_terminfo(3x)</A></STRONG>, <STRONG><A HREF="curs_util.3x.html">curs_util(3x)</A></STRONG>, <STRONG><A HREF="curs_variables.3x.html">curs_variables(3x)</A></STRONG>.
-ncurses 6.4 2023-08-19 <STRONG><A HREF="curs_initscr.3x.html">curs_initscr(3x)</A></STRONG>
+ncurses 6.4 2023-09-16 <STRONG><A HREF="curs_initscr.3x.html">curs_initscr(3x)</A></STRONG>
</PRE>
<div class="nav">
<ul>
* sale, use or other dealings in this Software without prior written *
* authorization. *
****************************************************************************
- * @Id: curs_inopts.3x,v 1.43 2023/08/19 20:55:23 tom Exp @
+ * @Id: curs_inopts.3x,v 1.47 2023/09/16 23:37:03 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>curs_inopts 3x 2023-08-19 ncurses 6.4 Library calls</TITLE>
+<TITLE>curs_inopts 3x 2023-09-16 ncurses 6.4 Library calls</TITLE>
<link rel="author" href="mailto:bug-ncurses@gnu.org">
</HEAD>
<BODY>
-<H1 class="no-header">curs_inopts 3x 2023-08-19 ncurses 6.4 Library calls</H1>
+<H1 class="no-header">curs_inopts 3x 2023-09-16 ncurses 6.4 Library calls</H1>
<PRE>
<STRONG><A HREF="curs_inopts.3x.html">curs_inopts(3x)</A></STRONG> Library calls <STRONG><A HREF="curs_inopts.3x.html">curs_inopts(3x)</A></STRONG>
</PRE><H2><a name="h2-NAME">NAME</a></H2><PRE>
- <STRONG>cbreak</STRONG>, <STRONG>echo</STRONG>, <STRONG>halfdelay</STRONG>, <STRONG>intrflush</STRONG>, <STRONG>is_cbreak</STRONG>, <STRONG>is_echo</STRONG>, <STRONG>is_nl</STRONG>, <STRONG>is_raw</STRONG>,
- <STRONG>keypad</STRONG>, <STRONG>meta</STRONG>, <STRONG>nl</STRONG>, <STRONG>nocbreak</STRONG>, <STRONG>nodelay</STRONG>, <STRONG>noecho</STRONG>, <STRONG>nonl</STRONG>, <STRONG>noqiflush</STRONG>, <STRONG>noraw</STRONG>,
- <STRONG>notimeout</STRONG>, <STRONG>qiflush</STRONG>, <STRONG>raw</STRONG>, <STRONG>timeout</STRONG>, <STRONG>wtimeout</STRONG>, <STRONG>typeahead</STRONG> - <STRONG>curses</STRONG> input
- options
+ <STRONG>cbreak</STRONG>, <STRONG>echo</STRONG>, <STRONG>halfdelay</STRONG>, <STRONG>intrflush</STRONG>, <STRONG>is_cbreak</STRONG>, <STRONG>is_echo</STRONG>, <STRONG>is_nl</STRONG>, <STRONG>is_raw</STRONG>,
+ <STRONG>keypad</STRONG>, <STRONG>meta</STRONG>, <STRONG>nl</STRONG>, <STRONG>nocbreak</STRONG>, <STRONG>nodelay</STRONG>, <STRONG>noecho</STRONG>, <STRONG>nonl</STRONG>, <STRONG>noqiflush</STRONG>, <STRONG>noraw</STRONG>,
+ <STRONG>notimeout</STRONG>, <STRONG>qiflush</STRONG>, <STRONG>raw</STRONG>, <STRONG>timeout</STRONG>, <STRONG>wtimeout</STRONG>, <STRONG>typeahead</STRONG> - get and set
+ <EM>curses</EM> terminal input options
</PRE><H2><a name="h2-SYNOPSIS">SYNOPSIS</a></H2><PRE>
</PRE><H2><a name="h2-DESCRIPTION">DESCRIPTION</a></H2><PRE>
The <STRONG>ncurses</STRONG> library provides several functions which let an application
change the way input from the terminal is handled. Some are global,
- applying to all windows. Others apply only to a specific window. Win-
- dow-specific settings are not automatically applied to new or derived
- windows. An application must apply these to each window, if the same
- behavior is needed.
+ applying to all windows. Others apply only to a specific window.
+ Window-specific settings are not automatically applied to new or
+ derived windows. An application must apply these to each window, if
+ the same behavior is needed.
</PRE><H3><a name="h3-cbreak_nocbreak">cbreak/nocbreak</a></H3><PRE>
Normally, the tty driver buffers typed characters until a newline or
carriage return is typed. The <STRONG>cbreak</STRONG> routine disables line buffering
- and erase/kill character-processing (interrupt and flow control charac-
- ters are unaffected), making characters typed by the user immediately
- available to the program. The <STRONG>nocbreak</STRONG> routine returns the terminal to
- normal (cooked) mode.
+ and erase/kill character-processing (interrupt and flow control
+ characters are unaffected), making characters typed by the user
+ immediately available to the program. The <STRONG>nocbreak</STRONG> routine returns the
+ terminal to normal (cooked) mode.
Initially the terminal may or may not be in <STRONG>cbreak</STRONG> mode, as the mode is
- inherited; therefore, a program should call <STRONG>cbreak</STRONG> or <STRONG>nocbreak</STRONG> explic-
- itly. Most interactive programs using <STRONG>curses</STRONG> set the <STRONG>cbreak</STRONG> mode.
- Note that <STRONG>cbreak</STRONG> overrides <STRONG>raw</STRONG>. [See <STRONG><A HREF="curs_getch.3x.html">curs_getch(3x)</A></STRONG> for a discussion
- of how these routines interact with <STRONG>echo</STRONG> and <STRONG>noecho</STRONG>.]
+ inherited; therefore, a program should call <STRONG>cbreak</STRONG> or <STRONG>nocbreak</STRONG>
+ explicitly. Most interactive programs using <STRONG>curses</STRONG> set the <STRONG>cbreak</STRONG>
+ mode. Note that <STRONG>cbreak</STRONG> overrides <STRONG>raw</STRONG>. [See <STRONG><A HREF="curs_getch.3x.html">curs_getch(3x)</A></STRONG> for a
+ discussion of how these routines interact with <STRONG>echo</STRONG> and <STRONG>noecho</STRONG>.]
</PRE><H3><a name="h3-echo_noecho">echo/noecho</a></H3><PRE>
The <STRONG>echo</STRONG> and <STRONG>noecho</STRONG> routines control whether characters typed by the
user are echoed by <STRONG><A HREF="curs_getch.3x.html">getch(3x)</A></STRONG> as they are typed. Echoing by the tty
driver is always disabled, but initially <STRONG>getch</STRONG> is in echo mode, so
- characters typed are echoed. Authors of most interactive programs pre-
- fer to do their own echoing in a controlled area of the screen, or not
- to echo at all, so they disable echoing by calling <STRONG>noecho</STRONG>. [See
+ characters typed are echoed. Authors of most interactive programs
+ prefer to do their own echoing in a controlled area of the screen, or
+ not to echo at all, so they disable echoing by calling <STRONG>noecho</STRONG>. [See
<STRONG><A HREF="curs_getch.3x.html">curs_getch(3x)</A></STRONG> for a discussion of how these routines interact with
<STRONG>cbreak</STRONG> and <STRONG>nocbreak</STRONG>.]
</PRE><H3><a name="h3-halfdelay">halfdelay</a></H3><PRE>
The <STRONG>halfdelay</STRONG> routine is used for half-delay mode, which is similar to
- <STRONG>cbreak</STRONG> mode in that characters typed by the user are immediately avail-
- able to the program. However, after blocking for <EM>tenths</EM> tenths of sec-
- onds, <STRONG>ERR</STRONG> is returned if nothing has been typed. The value of <EM>tenths</EM>
- must be a number between 1 and 255. Use <STRONG>nocbreak</STRONG> to leave half-delay
- mode.
+ <STRONG>cbreak</STRONG> mode in that characters typed by the user are immediately
+ available to the program. However, after blocking for <EM>tenths</EM> tenths of
+ seconds, <STRONG>ERR</STRONG> is returned if nothing has been typed. The value of
+ <EM>tenths</EM> must be a number between 1 and 255. Use <STRONG>nocbreak</STRONG> to leave half-
+ delay mode.
</PRE><H3><a name="h3-intrflush">intrflush</a></H3><PRE>
</PRE><H3><a name="h3-keypad">keypad</a></H3><PRE>
- The <STRONG>keypad</STRONG> option enables the keypad of the user's terminal. If en-
- abled (<EM>bf</EM> is <STRONG>TRUE</STRONG>), the user can press a function key (such as an arrow
- key) and <STRONG><A HREF="curs_getch.3x.html">wgetch(3x)</A></STRONG> returns a single value representing the function
- key, as in <STRONG>KEY_LEFT</STRONG>. If disabled (<EM>bf</EM> is <STRONG>FALSE</STRONG>), <STRONG>curses</STRONG> does not treat
- function keys specially and the program has to interpret the escape se-
- quences itself. If the keypad in the terminal can be turned on (made
- to transmit) and off (made to work locally), turning on this option
- causes the terminal keypad to be turned on when <STRONG><A HREF="curs_getch.3x.html">wgetch(3x)</A></STRONG> is called.
- The default value for keypad is <STRONG>FALSE</STRONG>.
+ The <STRONG>keypad</STRONG> option enables the keypad of the user's terminal. If
+ enabled (<EM>bf</EM> is <STRONG>TRUE</STRONG>), the user can press a function key (such as an
+ arrow key) and <STRONG><A HREF="curs_getch.3x.html">wgetch(3x)</A></STRONG> returns a single value representing the
+ function key, as in <STRONG>KEY_LEFT</STRONG>. If disabled (<EM>bf</EM> is <STRONG>FALSE</STRONG>), <STRONG>curses</STRONG> does
+ not treat function keys specially and the program has to interpret the
+ escape sequences itself. If the keypad in the terminal can be turned
+ on (made to transmit) and off (made to work locally), turning on this
+ option causes the terminal keypad to be turned on when <STRONG><A HREF="curs_getch.3x.html">wgetch(3x)</A></STRONG> is
+ called. The default value for keypad is <STRONG>FALSE</STRONG>.
</PRE><H3><a name="h3-meta">meta</a></H3><PRE>
- Initially, whether the terminal returns 7 or 8 significant bits on in-
- put depends on the control mode of the tty driver [see <STRONG>termios(3)</STRONG>]. To
- force 8 bits to be returned, invoke <STRONG>meta</STRONG>(<EM>win</EM>, <STRONG>TRUE</STRONG>); this is equiva-
- lent, under POSIX, to setting the CS8 flag on the terminal. To force 7
- bits to be returned, invoke <STRONG>meta</STRONG>(<EM>win</EM>, <STRONG>FALSE</STRONG>); this is equivalent, under
- POSIX, to setting the CS7 flag on the terminal. The window argument,
- <EM>win</EM>, is always ignored. If the terminfo capabilities <STRONG>smm</STRONG> (meta_on) and
- <STRONG>rmm</STRONG> (meta_off) are defined for the terminal, <STRONG>smm</STRONG> is sent to the termi-
- nal when <STRONG>meta</STRONG>(<EM>win</EM>, <STRONG>TRUE</STRONG>) is called and <STRONG>rmm</STRONG> is sent when <STRONG>meta</STRONG>(<EM>win</EM>,
- <STRONG>FALSE</STRONG>) is called.
+ Initially, whether the terminal returns 7 or 8 significant bits on
+ input depends on the control mode of the tty driver [see <STRONG>termios(3)</STRONG>].
+ To force 8 bits to be returned, invoke <STRONG>meta</STRONG>(<EM>win</EM>, <STRONG>TRUE</STRONG>); this is
+ equivalent, under POSIX, to setting the CS8 flag on the terminal. To
+ force 7 bits to be returned, invoke <STRONG>meta</STRONG>(<EM>win</EM>, <STRONG>FALSE</STRONG>); this is
+ equivalent, under POSIX, to setting the CS7 flag on the terminal. The
+ window argument, <EM>win</EM>, is always ignored. If the terminfo capabilities
+ <STRONG>smm</STRONG> (meta_on) and <STRONG>rmm</STRONG> (meta_off) are defined for the terminal, <STRONG>smm</STRONG> is
+ sent to the terminal when <STRONG>meta</STRONG>(<EM>win</EM>, <STRONG>TRUE</STRONG>) is called and <STRONG>rmm</STRONG> is sent
+ when <STRONG>meta</STRONG>(<EM>win</EM>, <STRONG>FALSE</STRONG>) is called.
</PRE><H3><a name="h3-nl_nonl">nl/nonl</a></H3><PRE>
</PRE><H3><a name="h3-raw_noraw">raw/noraw</a></H3><PRE>
The <STRONG>raw</STRONG> and <STRONG>noraw</STRONG> routines place the terminal into or out of raw mode.
- Raw mode is similar to <STRONG>cbreak</STRONG> mode, in that characters typed are imme-
- diately passed through to the user program. The differences are that
- in raw mode, the interrupt, quit, suspend, and flow control characters
- are all passed through uninterpreted, instead of generating a signal.
- The behavior of the BREAK key depends on other bits in the tty driver
- that are not set by <STRONG>curses</STRONG>.
+ Raw mode is similar to <STRONG>cbreak</STRONG> mode, in that characters typed are
+ immediately passed through to the user program. The differences are
+ that in raw mode, the interrupt, quit, suspend, and flow control
+ characters are all passed through uninterpreted, instead of generating
+ a signal. The behavior of the BREAK key depends on other bits in the
+ tty driver that are not set by <STRONG>curses</STRONG>.
</PRE><H3><a name="h3-qiflush_noqiflush">qiflush/noqiflush</a></H3><PRE>
</PRE><H3><a name="h3-typeahead">typeahead</a></H3><PRE>
- The <STRONG>curses</STRONG> library does "line-breakout optimization" by looking for ty-
- peahead periodically while updating the screen. If input is found, and
- it is coming from a tty, the current update is postponed until <STRONG>re-</STRONG>
- <STRONG><A HREF="refresh.3x.html">fresh(3x)</A></STRONG> or <STRONG>doupdate</STRONG> is called again. This allows faster response to
- commands typed in advance. Normally, the input FILE pointer passed to
- <STRONG>newterm</STRONG>, or <STRONG>stdin</STRONG> in the case that <STRONG>initscr</STRONG> was used, will be used to do
- this typeahead checking. The <STRONG>typeahead</STRONG> routine specifies that the file
- descriptor <EM>fd</EM> is to be used to check for typeahead instead. If <EM>fd</EM> is
- -1, then no typeahead checking is done.
+ The <STRONG>curses</STRONG> library does "line-breakout optimization" by looking for
+ typeahead periodically while updating the screen. If input is found,
+ and it is coming from a tty, the current update is postponed until
+ <STRONG><A HREF="curs_refresh.3x.html">refresh(3x)</A></STRONG> or <STRONG>doupdate</STRONG> is called again. This allows faster response
+ to commands typed in advance. Normally, the input FILE pointer passed
+ to <STRONG>newterm</STRONG>, or <STRONG>stdin</STRONG> in the case that <STRONG>initscr</STRONG> was used, will be used to
+ do this typeahead checking. The <STRONG>typeahead</STRONG> routine specifies that the
+ file descriptor <EM>fd</EM> is to be used to check for typeahead instead. If <EM>fd</EM>
+ is -1, then no typeahead checking is done.
</PRE><H2><a name="h2-RETURN-VALUE">RETURN VALUE</a></H2><PRE>
All routines that return an integer return <STRONG>ERR</STRONG> upon failure and <STRONG>OK</STRONG>
(SVr4 specifies only "an integer value other than <STRONG>ERR</STRONG>") upon successful
- completion, unless otherwise noted in the preceding routine descrip-
- tions.
+ completion, unless otherwise noted in the preceding routine
+ descriptions.
X/Open does not define any error conditions. In this implementation,
functions with a window parameter will return an error if it is null.
- Any function will also return an error if the terminal was not initial-
- ized. Also,
+ Any function will also return an error if the terminal was not
+ initialized. Also,
<STRONG>halfdelay</STRONG>
returns an error if its parameter is outside the range 1..255.
These routines are specific to ncurses. They were not supported on
Version 7, BSD or System V implementations. It is recommended that any
- code depending on ncurses extensions be conditioned using NCURSES_VER-
- SION.
+ code depending on ncurses extensions be conditioned using
+ NCURSES_VERSION.
</PRE><H2><a name="h2-PORTABILITY">PORTABILITY</a></H2><PRE>
- Except as noted in the section on extensions, these functions are de-
- scribed in the XSI Curses standard, Issue 4.
+ Except as noted in the section on extensions, these functions are
+ described in the XSI Curses standard, Issue 4.
The ncurses library obeys the XPG4 standard and the historical practice
of the AT&T curses implementations, in that the echo bit is cleared
when curses initializes the terminal state. BSD curses differed from
this slightly; it left the echo bit on at initialization, but the BSD
<STRONG>raw</STRONG> call turned it off as a side-effect. For best portability, set
- <STRONG>echo</STRONG> or <STRONG>noecho</STRONG> explicitly just after initialization, even if your pro-
- gram remains in cooked mode.
+ <STRONG>echo</STRONG> or <STRONG>noecho</STRONG> explicitly just after initialization, even if your
+ program remains in cooked mode.
The XSI Curses standard is ambiguous on the question of whether <STRONG>raw</STRONG>
should disable the CRLF translations controlled by <STRONG>nl</STRONG> and <STRONG>nonl</STRONG>. BSD
that the operating system will not alter.
When <STRONG>keypad</STRONG> is first enabled, ncurses loads the key-definitions for the
- current terminal description. If the terminal description includes ex-
- tended string capabilities, e.g., from using the <STRONG>-x</STRONG> option of <STRONG>tic</STRONG>, then
- ncurses also defines keys for the capabilities whose names begin with
- "k". The corresponding keycodes are generated and (depending on previ-
- ous loads of terminal descriptions) may differ from one execution of a
- program to the next. The generated keycodes are recognized by the <STRONG>key-</STRONG>
- <STRONG>name</STRONG> function (which will then return a name beginning with "k" denot-
- ing the terminfo capability name rather than "K", used for curses key-
- names). On the other hand, an application can use <STRONG>define_key</STRONG> to estab-
- lish a specific keycode for a given string. This makes it possible for
- an application to check for an extended capability's presence with
- <STRONG>tigetstr</STRONG>, and reassign the keycode to match its own needs.
+ current terminal description. If the terminal description includes
+ extended string capabilities, e.g., from using the <STRONG>-x</STRONG> option of <STRONG>tic</STRONG>,
+ then ncurses also defines keys for the capabilities whose names begin
+ with "k". The corresponding keycodes are generated and (depending on
+ previous loads of terminal descriptions) may differ from one execution
+ of a program to the next. The generated keycodes are recognized by the
+ <STRONG>keyname</STRONG> function (which will then return a name beginning with "k"
+ denoting the terminfo capability name rather than "K", used for curses
+ key-names). On the other hand, an application can use <STRONG>define_key</STRONG> to
+ establish a specific keycode for a given string. This makes it
+ possible for an application to check for an extended capability's
+ presence with <STRONG>tigetstr</STRONG>, and reassign the keycode to match its own
+ needs.
Low-level applications can use <STRONG>tigetstr</STRONG> to obtain the definition of any
- particular string capability. Higher-level applications which use the
- curses <STRONG>wgetch</STRONG> and similar functions to return keycodes rely upon the
+ particular string capability. Higher-level applications which use the
+ curses <STRONG>wgetch</STRONG> and similar functions to return keycodes rely upon the
order in which the strings are loaded. If more than one key definition
- has the same string value, then <STRONG>wgetch</STRONG> can return only one keycode.
+ has the same string value, then <STRONG>wgetch</STRONG> can return only one keycode.
Most curses implementations (including ncurses) load key definitions in
- the order defined by the array of string capability names. The last
- key to be loaded determines the keycode which will be returned. In
- ncurses, you may also have extended capabilities interpreted as key
- definitions. These are loaded after the predefined keys, and if a ca-
- pability's value is the same as a previously-loaded key definition, the
- later definition is the one used.
+ the order defined by the array of string capability names. The last
+ key to be loaded determines the keycode which will be returned. In
+ ncurses, you may also have extended capabilities interpreted as key
+ definitions. These are loaded after the predefined keys, and if a
+ capability's value is the same as a previously-loaded key definition,
+ the later definition is the one used.
</PRE><H2><a name="h2-NOTES">NOTES</a></H2><PRE>
- Note that <STRONG>echo</STRONG>, <STRONG>noecho</STRONG>, <STRONG>halfdelay</STRONG>, <STRONG>intrflush</STRONG>, <STRONG>meta</STRONG>, <STRONG>nl</STRONG>, <STRONG>nonl</STRONG>, <STRONG>nodelay</STRONG>,
+ Note that <STRONG>echo</STRONG>, <STRONG>noecho</STRONG>, <STRONG>halfdelay</STRONG>, <STRONG>intrflush</STRONG>, <STRONG>meta</STRONG>, <STRONG>nl</STRONG>, <STRONG>nonl</STRONG>, <STRONG>nodelay</STRONG>,
<STRONG>notimeout</STRONG>, <STRONG>noqiflush</STRONG>, <STRONG>qiflush</STRONG>, <STRONG>timeout</STRONG>, and <STRONG>wtimeout</STRONG> may be macros.
- The <STRONG>noraw</STRONG> and <STRONG>nocbreak</STRONG> calls follow historical practice in that they
- attempt to restore to normal ("cooked") mode from raw and cbreak modes
- respectively. Mixing raw/noraw and cbreak/nocbreak calls leads to tty
+ The <STRONG>noraw</STRONG> and <STRONG>nocbreak</STRONG> calls follow historical practice in that they
+ attempt to restore to normal ("cooked") mode from raw and cbreak modes
+ respectively. Mixing raw/noraw and cbreak/nocbreak calls leads to tty
driver control states that are hard to predict or understand; it is not
recommended.
</PRE><H2><a name="h2-SEE-ALSO">SEE ALSO</a></H2><PRE>
- <STRONG><A HREF="ncurses.3x.html">curses(3x)</A></STRONG>, <STRONG><A HREF="curs_getch.3x.html">curs_getch(3x)</A></STRONG>, <STRONG><A HREF="curs_initscr.3x.html">curs_initscr(3x)</A></STRONG>, <STRONG><A HREF="curs_util.3x.html">curs_util(3x)</A></STRONG>, <STRONG>de-</STRONG>
- <STRONG><A HREF="define_key.3x.html">fine_key(3x)</A></STRONG>, <STRONG>termios(3)</STRONG>
+ <STRONG><A HREF="ncurses.3x.html">curses(3x)</A></STRONG>, <STRONG><A HREF="curs_getch.3x.html">curs_getch(3x)</A></STRONG>, <STRONG><A HREF="curs_initscr.3x.html">curs_initscr(3x)</A></STRONG>, <STRONG><A HREF="curs_util.3x.html">curs_util(3x)</A></STRONG>,
+ <STRONG><A HREF="define_key.3x.html">define_key(3x)</A></STRONG>, <STRONG>termios(3)</STRONG>
-ncurses 6.4 2023-08-19 <STRONG><A HREF="curs_inopts.3x.html">curs_inopts(3x)</A></STRONG>
+ncurses 6.4 2023-09-16 <STRONG><A HREF="curs_inopts.3x.html">curs_inopts(3x)</A></STRONG>
</PRE>
<div class="nav">
<ul>
<!--
****************************************************************************
- * Copyright 2019-2021,2022 Thomas E. Dickey *
+ * Copyright 2019-2022,2023 Thomas E. Dickey *
* Copyright 2002-2010,2017 Free Software Foundation, Inc. *
* *
* Permission is hereby granted, free of charge, to any person obtaining a *
* sale, use or other dealings in this Software without prior written *
* authorization. *
****************************************************************************
- * @Id: curs_ins_wch.3x,v 1.14 2022/02/12 20:05:11 tom Exp @
+ * @Id: curs_ins_wch.3x,v 1.19 2023/09/16 23:37:03 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>curs_ins_wch 3x 2022-02-12 ncurses 6.4 Library calls</TITLE>
+<TITLE>curs_ins_wch 3x 2023-09-16 ncurses 6.4 Library calls</TITLE>
<link rel="author" href="mailto:bug-ncurses@gnu.org">
</HEAD>
<BODY>
-<H1 class="no-header">curs_ins_wch 3x 2022-02-12 ncurses 6.4 Library calls</H1>
+<H1 class="no-header">curs_ins_wch 3x 2023-09-16 ncurses 6.4 Library calls</H1>
<PRE>
<STRONG><A HREF="curs_ins_wch.3x.html">curs_ins_wch(3x)</A></STRONG> Library calls <STRONG><A HREF="curs_ins_wch.3x.html">curs_ins_wch(3x)</A></STRONG>
</PRE><H2><a name="h2-NAME">NAME</a></H2><PRE>
- <STRONG>ins_wch</STRONG>, <STRONG>mvins_wch</STRONG>, <STRONG>mvwins_wch</STRONG>, <STRONG>wins_wch</STRONG> - insert a complex character
- and rendition into a window
+ <STRONG>ins_wch</STRONG>, <STRONG>mvins_wch</STRONG>, <STRONG>mvwins_wch</STRONG>, <STRONG>wins_wch</STRONG> - insert a <EM>curses</EM> complex
+ character string in a window
</PRE><H2><a name="h2-SYNOPSIS">SYNOPSIS</a></H2><PRE>
-ncurses 6.4 2022-02-12 <STRONG><A HREF="curs_ins_wch.3x.html">curs_ins_wch(3x)</A></STRONG>
+ncurses 6.4 2023-09-16 <STRONG><A HREF="curs_ins_wch.3x.html">curs_ins_wch(3x)</A></STRONG>
</PRE>
<div class="nav">
<ul>
<!--
****************************************************************************
- * Copyright 2019-2021,2022 Thomas E. Dickey *
+ * Copyright 2019-2022,2023 Thomas E. Dickey *
* Copyright 2002-2012,2017 Free Software Foundation, Inc. *
* *
* Permission is hereby granted, free of charge, to any person obtaining a *
* sale, use or other dealings in this Software without prior written *
* authorization. *
****************************************************************************
- * @Id: curs_ins_wstr.3x,v 1.15 2022/02/12 20:05:11 tom Exp @
+ * @Id: curs_ins_wstr.3x,v 1.20 2023/09/16 23:37:03 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>curs_ins_wstr 3x 2022-02-12 ncurses 6.4 Library calls</TITLE>
+<TITLE>curs_ins_wstr 3x 2023-09-16 ncurses 6.4 Library calls</TITLE>
<link rel="author" href="mailto:bug-ncurses@gnu.org">
</HEAD>
<BODY>
-<H1 class="no-header">curs_ins_wstr 3x 2022-02-12 ncurses 6.4 Library calls</H1>
+<H1 class="no-header">curs_ins_wstr 3x 2023-09-16 ncurses 6.4 Library calls</H1>
<PRE>
<STRONG><A HREF="curs_ins_wstr.3x.html">curs_ins_wstr(3x)</A></STRONG> Library calls <STRONG><A HREF="curs_ins_wstr.3x.html">curs_ins_wstr(3x)</A></STRONG>
</PRE><H2><a name="h2-NAME">NAME</a></H2><PRE>
- <STRONG>ins_wstr</STRONG>, <STRONG>ins_nwstr</STRONG>, <STRONG>wins_wstr</STRONG>, <STRONG>wins_nwstr</STRONG>, <STRONG>mvins_wstr</STRONG>, <STRONG>mvins_nwstr</STRONG>,
- <STRONG>mvwins_wstr</STRONG>, <STRONG>mvwins_nwstr</STRONG> - insert a wide-character string into a
- curses window
+ <STRONG>ins_wstr</STRONG>, <STRONG>ins_nwstr</STRONG>, <STRONG>wins_wstr</STRONG>, <STRONG>wins_nwstr</STRONG>, <STRONG>mvins_wstr</STRONG>, <STRONG>mvins_nwstr</STRONG>,
+ <STRONG>mvwins_wstr</STRONG>, <STRONG>mvwins_nwstr</STRONG> - insert a wide-character string in a <EM>curses</EM>
+ window
</PRE><H2><a name="h2-SYNOPSIS">SYNOPSIS</a></H2><PRE>
</PRE><H2><a name="h2-DESCRIPTION">DESCRIPTION</a></H2><PRE>
These routines insert a <STRONG>wchar_t</STRONG> character string (as many characters as
- will fit on the line) before the character under the cursor. All char-
- acters to the right of the cursor are shifted right, with the possibil-
- ity of the rightmost characters on the line being lost. No wrapping is
- performed. The cursor position does not change (after moving to <EM>y</EM>, <EM>x</EM>,
- if specified). The four routines with <EM>n</EM> as the last argument insert a
- leading substring of at most <EM>n</EM> <STRONG>wchar_t</STRONG> characters. If <EM>n</EM> is less than
- 1, the entire string is inserted.
+ will fit on the line) before the character under the cursor. All
+ characters to the right of the cursor are shifted right, with the
+ possibility of the rightmost characters on the line being lost. No
+ wrapping is performed. The cursor position does not change (after
+ moving to <EM>y</EM>, <EM>x</EM>, if specified). The four routines with <EM>n</EM> as the last
+ argument insert a leading substring of at most <EM>n</EM> <STRONG>wchar_t</STRONG> characters.
+ If <EM>n</EM> is less than 1, the entire string is inserted.
If a character in <EM>wstr</EM> is a tab, newline, carriage return or backspace,
the cursor is moved appropriately within the window. A newline also
Note that all but wins_nwstr may be macros.
If the first character in the string is a nonspacing character, these
- functions will fail. XSI does not define what will happen if a non-
- spacing character follows a control character.
+ functions will fail. XSI does not define what will happen if a
+ nonspacing character follows a control character.
</PRE><H2><a name="h2-RETURN-VALUE">RETURN VALUE</a></H2><PRE>
-ncurses 6.4 2022-02-12 <STRONG><A HREF="curs_ins_wstr.3x.html">curs_ins_wstr(3x)</A></STRONG>
+ncurses 6.4 2023-09-16 <STRONG><A HREF="curs_ins_wstr.3x.html">curs_ins_wstr(3x)</A></STRONG>
</PRE>
<div class="nav">
<ul>
* sale, use or other dealings in this Software without prior written *
* authorization. *
****************************************************************************
- * @Id: curs_insch.3x,v 1.26 2023/07/01 15:43:20 tom Exp @
+ * @Id: curs_insch.3x,v 1.30 2023/09/16 23:37:03 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>curs_insch 3x 2023-07-01 ncurses 6.4 Library calls</TITLE>
+<TITLE>curs_insch 3x 2023-09-16 ncurses 6.4 Library calls</TITLE>
<link rel="author" href="mailto:bug-ncurses@gnu.org">
</HEAD>
<BODY>
-<H1 class="no-header">curs_insch 3x 2023-07-01 ncurses 6.4 Library calls</H1>
+<H1 class="no-header">curs_insch 3x 2023-09-16 ncurses 6.4 Library calls</H1>
<PRE>
<STRONG><A HREF="curs_insch.3x.html">curs_insch(3x)</A></STRONG> Library calls <STRONG><A HREF="curs_insch.3x.html">curs_insch(3x)</A></STRONG>
</PRE><H2><a name="h2-NAME">NAME</a></H2><PRE>
- <STRONG>insch</STRONG>, <STRONG>winsch</STRONG>, <STRONG>mvinsch</STRONG>, <STRONG>mvwinsch</STRONG> - insert a character before cursor in
- a <STRONG>curses</STRONG> window
+ <STRONG>insch</STRONG>, <STRONG>winsch</STRONG>, <STRONG>mvinsch</STRONG>, <STRONG>mvwinsch</STRONG> - insert a <EM>curses</EM> character in a
+ window
</PRE><H2><a name="h2-SYNOPSIS">SYNOPSIS</a></H2><PRE>
-ncurses 6.4 2023-07-01 <STRONG><A HREF="curs_insch.3x.html">curs_insch(3x)</A></STRONG>
+ncurses 6.4 2023-09-16 <STRONG><A HREF="curs_insch.3x.html">curs_insch(3x)</A></STRONG>
</PRE>
<div class="nav">
<ul>
* sale, use or other dealings in this Software without prior written *
* authorization. *
****************************************************************************
- * @Id: curs_insstr.3x,v 1.33 2023/07/01 15:43:20 tom Exp @
+ * @Id: curs_insstr.3x,v 1.37 2023/09/16 23:37:03 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>curs_insstr 3x 2023-07-01 ncurses 6.4 Library calls</TITLE>
+<TITLE>curs_insstr 3x 2023-09-16 ncurses 6.4 Library calls</TITLE>
<link rel="author" href="mailto:bug-ncurses@gnu.org">
</HEAD>
<BODY>
-<H1 class="no-header">curs_insstr 3x 2023-07-01 ncurses 6.4 Library calls</H1>
+<H1 class="no-header">curs_insstr 3x 2023-09-16 ncurses 6.4 Library calls</H1>
<PRE>
<STRONG><A HREF="curs_insstr.3x.html">curs_insstr(3x)</A></STRONG> Library calls <STRONG><A HREF="curs_insstr.3x.html">curs_insstr(3x)</A></STRONG>
</PRE><H2><a name="h2-NAME">NAME</a></H2><PRE>
<STRONG>insstr</STRONG>, <STRONG>insnstr</STRONG>, <STRONG>winsstr</STRONG>, <STRONG>winsnstr</STRONG>, <STRONG>mvinsstr</STRONG>, <STRONG>mvinsnstr</STRONG>, <STRONG>mvwinsstr</STRONG>,
- <STRONG>mvwinsnstr</STRONG> - insert string before cursor in a <STRONG>curses</STRONG> window
+ <STRONG>mvwinsnstr</STRONG> - insert a string in a <EM>curses</EM> window
</PRE><H2><a name="h2-SYNOPSIS">SYNOPSIS</a></H2><PRE>
-ncurses 6.4 2023-07-01 <STRONG><A HREF="curs_insstr.3x.html">curs_insstr(3x)</A></STRONG>
+ncurses 6.4 2023-09-16 <STRONG><A HREF="curs_insstr.3x.html">curs_insstr(3x)</A></STRONG>
</PRE>
<div class="nav">
<ul>
* sale, use or other dealings in this Software without prior written *
* authorization. *
****************************************************************************
- * @Id: curs_instr.3x,v 1.29 2023/07/01 15:43:20 tom Exp @
+ * @Id: curs_instr.3x,v 1.33 2023/09/16 23:37:03 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>curs_instr 3x 2023-07-01 ncurses 6.4 Library calls</TITLE>
+<TITLE>curs_instr 3x 2023-09-16 ncurses 6.4 Library calls</TITLE>
<link rel="author" href="mailto:bug-ncurses@gnu.org">
</HEAD>
<BODY>
-<H1 class="no-header">curs_instr 3x 2023-07-01 ncurses 6.4 Library calls</H1>
+<H1 class="no-header">curs_instr 3x 2023-09-16 ncurses 6.4 Library calls</H1>
<PRE>
<STRONG><A HREF="curs_instr.3x.html">curs_instr(3x)</A></STRONG> Library calls <STRONG><A HREF="curs_instr.3x.html">curs_instr(3x)</A></STRONG>
</PRE><H2><a name="h2-NAME">NAME</a></H2><PRE>
<STRONG>instr</STRONG>, <STRONG>innstr</STRONG>, <STRONG>winstr</STRONG>, <STRONG>winnstr</STRONG>, <STRONG>mvinstr</STRONG>, <STRONG>mvinnstr</STRONG>, <STRONG>mvwinstr</STRONG>, <STRONG>mvwinnstr</STRONG>
- - get a string of characters from a <STRONG>curses</STRONG> window
+ - get a string from a <EM>curses</EM> window
</PRE><H2><a name="h2-SYNOPSIS">SYNOPSIS</a></H2><PRE>
-ncurses 6.4 2023-07-01 <STRONG><A HREF="curs_instr.3x.html">curs_instr(3x)</A></STRONG>
+ncurses 6.4 2023-09-16 <STRONG><A HREF="curs_instr.3x.html">curs_instr(3x)</A></STRONG>
</PRE>
<div class="nav">
<ul>
* sale, use or other dealings in this Software without prior written *
* authorization. *
****************************************************************************
- * @Id: curs_inwstr.3x,v 1.21 2023/07/01 15:43:20 tom Exp @
+ * @Id: curs_inwstr.3x,v 1.25 2023/09/16 23:37:03 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>curs_inwstr 3x 2023-07-01 ncurses 6.4 Library calls</TITLE>
+<TITLE>curs_inwstr 3x 2023-09-16 ncurses 6.4 Library calls</TITLE>
<link rel="author" href="mailto:bug-ncurses@gnu.org">
</HEAD>
<BODY>
-<H1 class="no-header">curs_inwstr 3x 2023-07-01 ncurses 6.4 Library calls</H1>
+<H1 class="no-header">curs_inwstr 3x 2023-09-16 ncurses 6.4 Library calls</H1>
<PRE>
<STRONG><A HREF="curs_inwstr.3x.html">curs_inwstr(3x)</A></STRONG> Library calls <STRONG><A HREF="curs_inwstr.3x.html">curs_inwstr(3x)</A></STRONG>
</PRE><H2><a name="h2-NAME">NAME</a></H2><PRE>
<STRONG>inwstr</STRONG>, <STRONG>innwstr</STRONG>, <STRONG>winwstr</STRONG>, <STRONG>winnwstr</STRONG>, <STRONG>mvinwstr</STRONG>, <STRONG>mvinnwstr</STRONG>, <STRONG>mvwinwstr</STRONG>,
- <STRONG>mvwinnwstr</STRONG> - get a string of <STRONG>wchar_t</STRONG> characters from a curses window
+ <STRONG>mvwinnwstr</STRONG> - get a wide-character string from a <EM>curses</EM> window
</PRE><H2><a name="h2-SYNOPSIS">SYNOPSIS</a></H2><PRE>
-ncurses 6.4 2023-07-01 <STRONG><A HREF="curs_inwstr.3x.html">curs_inwstr(3x)</A></STRONG>
+ncurses 6.4 2023-09-16 <STRONG><A HREF="curs_inwstr.3x.html">curs_inwstr(3x)</A></STRONG>
</PRE>
<div class="nav">
<ul>
* sale, use or other dealings in this Software without prior written *
* authorization. *
****************************************************************************
- * @Id: curs_kernel.3x,v 1.37 2023/08/19 19:47:16 tom Exp @
+ * @Id: curs_kernel.3x,v 1.44 2023/09/16 23:37:03 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>curs_kernel 3x 2023-08-19 ncurses 6.4 Library calls</TITLE>
+<TITLE>curs_kernel 3x 2023-09-16 ncurses 6.4 Library calls</TITLE>
<link rel="author" href="mailto:bug-ncurses@gnu.org">
</HEAD>
<BODY>
-<H1 class="no-header">curs_kernel 3x 2023-08-19 ncurses 6.4 Library calls</H1>
+<H1 class="no-header">curs_kernel 3x 2023-09-16 ncurses 6.4 Library calls</H1>
<PRE>
<STRONG><A HREF="curs_kernel.3x.html">curs_kernel(3x)</A></STRONG> Library calls <STRONG><A HREF="curs_kernel.3x.html">curs_kernel(3x)</A></STRONG>
</PRE><H2><a name="h2-NAME">NAME</a></H2><PRE>
- <STRONG>def_prog_mode</STRONG>, <STRONG>def_shell_mode</STRONG>, <STRONG>reset_prog_mode</STRONG>, <STRONG>reset_shell_mode</STRONG>,
- <STRONG>resetty</STRONG>, <STRONG>savetty</STRONG>, <STRONG>getsyx</STRONG>, <STRONG>setsyx</STRONG>, <STRONG>ripoffline</STRONG>, <STRONG>curs_set</STRONG>, <STRONG>napms</STRONG> - low-
- level <STRONG>curses</STRONG> routines
+ <STRONG>def_prog_mode</STRONG>, <STRONG>def_shell_mode</STRONG>, <STRONG>reset_prog_mode</STRONG>, <STRONG>reset_shell_mode</STRONG>,
+ <STRONG>resetty</STRONG>, <STRONG>savetty</STRONG>, <STRONG>getsyx</STRONG>, <STRONG>setsyx</STRONG>, <STRONG>ripoffline</STRONG>, <STRONG>curs_set</STRONG>, <STRONG>napms</STRONG> - low-
+ level <EM>curses</EM> routines
</PRE><H2><a name="h2-SYNOPSIS">SYNOPSIS</a></H2><PRE>
</PRE><H2><a name="h2-DESCRIPTION">DESCRIPTION</a></H2><PRE>
- The following routines give low-level access to various <STRONG>curses</STRONG> capabil-
- ities. These routines typically are used inside library routines.
+ The following routines give low-level access to various <STRONG>curses</STRONG>
+ capabilities. These routines typically are used inside library
+ routines.
</PRE><H3><a name="h3-def_prog_mode_-def_shell_mode">def_prog_mode, def_shell_mode</a></H3><PRE>
The <STRONG>def_prog_mode</STRONG> and <STRONG>def_shell_mode</STRONG> routines save the current terminal
modes as the "program" (in <STRONG>curses</STRONG>) or "shell" (not in <STRONG>curses</STRONG>) state for
use by the <STRONG>reset_prog_mode</STRONG> and <STRONG>reset_shell_mode</STRONG> routines. This is done
- automatically by <STRONG>initscr</STRONG>. There is one such save area for each screen
+ automatically by <STRONG>initscr</STRONG>. There is one such save area for each screen
context allocated by <STRONG>newterm</STRONG>.
</PRE><H3><a name="h3-reset_prog_mode_-reset_shell_mode">reset_prog_mode, reset_shell_mode</a></H3><PRE>
- The <STRONG>reset_prog_mode</STRONG> and <STRONG>reset_shell_mode</STRONG> routines restore the terminal
- to "program" (in <STRONG>curses</STRONG>) or "shell" (out of <STRONG>curses</STRONG>) state. These are
- done automatically by <STRONG><A HREF="curs_initscr.3x.html">endwin(3x)</A></STRONG> and, after an <STRONG>endwin</STRONG>, by <STRONG>doupdate</STRONG>, so
+ The <STRONG>reset_prog_mode</STRONG> and <STRONG>reset_shell_mode</STRONG> routines restore the terminal
+ to "program" (in <STRONG>curses</STRONG>) or "shell" (out of <STRONG>curses</STRONG>) state. These are
+ done automatically by <STRONG><A HREF="curs_initscr.3x.html">endwin(3x)</A></STRONG> and, after an <STRONG>endwin</STRONG>, by <STRONG>doupdate</STRONG>, so
they normally are not called.
</PRE><H3><a name="h3-resetty_-savetty">resetty, savetty</a></H3><PRE>
- The <STRONG>resetty</STRONG> and <STRONG>savetty</STRONG> routines save and restore the state of the ter-
- minal modes. <STRONG>savetty</STRONG> saves the current state in a buffer and <STRONG>resetty</STRONG>
- restores the state to what it was at the last call to <STRONG>savetty</STRONG>.
+ The <STRONG>resetty</STRONG> and <STRONG>savetty</STRONG> routines save and restore the state of the
+ terminal modes. <STRONG>savetty</STRONG> saves the current state in a buffer and
+ <STRONG>resetty</STRONG> restores the state to what it was at the last call to <STRONG>savetty</STRONG>.
</PRE><H3><a name="h3-getsyx">getsyx</a></H3><PRE>
- The <STRONG>getsyx</STRONG> routine returns the current coordinates of the <EM>virtual</EM>
- <EM>screen</EM> cursor in <EM>y</EM> and <EM>x</EM>. If <STRONG>leaveok</STRONG> is currently <STRONG>TRUE</STRONG>, then <STRONG>-1</STRONG>,<STRONG>-1</STRONG> is
+ The <STRONG>getsyx</STRONG> routine returns the current coordinates of the <EM>virtual</EM>
+ <EM>screen</EM> cursor in <EM>y</EM> and <EM>x</EM>. If <STRONG>leaveok</STRONG> is currently <STRONG>TRUE</STRONG>, then <STRONG>-1</STRONG>,<STRONG>-1</STRONG> is
returned. If lines have been removed from the top of the screen, using
- <STRONG>ripoffline</STRONG>, <EM>y</EM> and <EM>x</EM> include these lines; therefore, <EM>y</EM> and <EM>x</EM> should be
+ <STRONG>ripoffline</STRONG>, <EM>y</EM> and <EM>x</EM> include these lines; therefore, <EM>y</EM> and <EM>x</EM> should be
used only as arguments for <STRONG>setsyx</STRONG>.
Few applications will use this feature, most use <STRONG>getyx</STRONG> instead.
</PRE><H3><a name="h3-setsyx">setsyx</a></H3><PRE>
- The <STRONG>setsyx</STRONG> routine sets the <EM>virtual</EM> <EM>screen</EM> cursor to <EM>y</EM>, <EM>x</EM>. If <EM>y</EM> and <EM>x</EM>
- are both <STRONG>-1</STRONG>, then <STRONG>leaveok</STRONG> is set. The two routines <STRONG>getsyx</STRONG> and <STRONG>setsyx</STRONG>
- are designed to be used by a library routine, which manipulates <STRONG>curses</STRONG>
- windows but does not want to change the current position of the pro-
- gram's cursor. The library routine would call <STRONG>getsyx</STRONG> at the beginning,
- do its manipulation of its own windows, do a <STRONG>wnoutrefresh</STRONG> on its win-
- dows, call <STRONG>setsyx</STRONG>, and then call <STRONG>doupdate</STRONG>.
+ The <STRONG>setsyx</STRONG> routine sets the <EM>virtual</EM> <EM>screen</EM> cursor to <EM>y</EM>, <EM>x</EM>. If <EM>y</EM> and <EM>x</EM>
+ are both <STRONG>-1</STRONG>, then <STRONG>leaveok</STRONG> is set. The two routines <STRONG>getsyx</STRONG> and <STRONG>setsyx</STRONG>
+ are designed to be used by a library routine, which manipulates <STRONG>curses</STRONG>
+ windows but does not want to change the current position of the
+ program's cursor. The library routine would call <STRONG>getsyx</STRONG> at the
+ beginning, do its manipulation of its own windows, do a <STRONG>wnoutrefresh</STRONG> on
+ its windows, call <STRONG>setsyx</STRONG>, and then call <STRONG>doupdate</STRONG>.
Few applications will use this feature, most use <STRONG>wmove</STRONG> instead.
</PRE><H3><a name="h3-ripoffline">ripoffline</a></H3><PRE>
- The <STRONG>ripoffline</STRONG> routine provides access to the same facility that
- <STRONG>slk_init</STRONG> [see <STRONG><A HREF="curs_slk.3x.html">curs_slk(3x)</A></STRONG>] uses to reduce the size of the screen.
- <STRONG>ripoffline</STRONG> must be called before <STRONG>initscr</STRONG> or <STRONG>newterm</STRONG> is called, to pre-
- pare these initial actions:
+ The <STRONG>ripoffline</STRONG> routine provides access to the same facility that
+ <STRONG>slk_init</STRONG> [see <STRONG><A HREF="curs_slk.3x.html">curs_slk(3x)</A></STRONG>] uses to reduce the size of the screen.
+ <STRONG>ripoffline</STRONG> must be called before <STRONG>initscr</STRONG> or <STRONG>newterm</STRONG> is called, to
+ prepare these initial actions:
<STRONG>o</STRONG> If <EM>line</EM> is positive, a line is removed from the top of <STRONG>stdscr</STRONG>.
<STRONG>o</STRONG> if <EM>line</EM> is negative, a line is removed from the bottom.
- When the resulting initialization is done inside <STRONG>initscr</STRONG>, the routine
+ When the resulting initialization is done inside <STRONG>initscr</STRONG>, the routine
<STRONG>init</STRONG> (supplied by the user) is called with two arguments:
<STRONG>o</STRONG> a window pointer to the one-line window that has been allocated and
<STRONG>o</STRONG> an integer with the number of columns in the window.
- Inside this initialization routine, the integer variables <STRONG>LINES</STRONG> and
- <STRONG>COLS</STRONG> (defined in <STRONG><curses.h></STRONG>) are not guaranteed to be accurate and <STRONG>wre-</STRONG>
- <STRONG>fresh</STRONG> or <STRONG>doupdate</STRONG> must not be called. It is allowable to call <STRONG>wnoutre-</STRONG>
- <STRONG>fresh</STRONG> during the initialization routine.
+ Inside this initialization routine, the integer variables <STRONG>LINES</STRONG> and
+ <STRONG>COLS</STRONG> (defined in <STRONG><curses.h></STRONG>) are not guaranteed to be accurate and
+ <STRONG>wrefresh</STRONG> or <STRONG>doupdate</STRONG> must not be called. It is allowable to call
+ <STRONG>wnoutrefresh</STRONG> during the initialization routine.
- <STRONG>ripoffline</STRONG> can be called up to five times before calling <STRONG>initscr</STRONG> or
+ <STRONG>ripoffline</STRONG> can be called up to five times before calling <STRONG>initscr</STRONG> or
<STRONG>newterm</STRONG>.
</PRE><H3><a name="h3-curs_set">curs_set</a></H3><PRE>
- The <STRONG>curs_set</STRONG> routine sets the cursor state to invisible, normal, or
- very visible for <STRONG>visibility</STRONG> equal to <STRONG>0</STRONG>, <STRONG>1</STRONG>, or <STRONG>2</STRONG> respectively. If the
- terminal supports the <EM>visibility</EM> requested, the previous <EM>cursor</EM> state
+ The <STRONG>curs_set</STRONG> routine sets the cursor state to invisible, normal, or
+ very visible for <STRONG>visibility</STRONG> equal to <STRONG>0</STRONG>, <STRONG>1</STRONG>, or <STRONG>2</STRONG> respectively. If the
+ terminal supports the <EM>visibility</EM> requested, the previous <EM>cursor</EM> state
is returned; otherwise, <STRONG>ERR</STRONG> is returned.
</PRE><H2><a name="h2-RETURN-VALUE">RETURN VALUE</a></H2><PRE>
Except for <STRONG>curs_set</STRONG>, these routines always return <STRONG>OK</STRONG>.
- <STRONG>curs_set</STRONG> returns the previous cursor state, or <STRONG>ERR</STRONG> if the requested
+ <STRONG>curs_set</STRONG> returns the previous cursor state, or <STRONG>ERR</STRONG> if the requested
<EM>visibility</EM> is not supported.
X/Open defines no error conditions. In this implementation
<STRONG>ripoffline</STRONG>
returns an error if the maximum number of ripped-off lines exceeds
- the maximum (NRIPS = 5).
+ the maximum (5).
</PRE><H2><a name="h2-NOTES">NOTES</a></H2><PRE>
Note that <STRONG>getsyx</STRONG> is a macro, so <STRONG>&</STRONG> is not necessary before the variables
<EM>y</EM> and <EM>x</EM>.
- Older SVr4 man pages warn that the return value of <STRONG>curs_set</STRONG> "is cur-
- rently incorrect". This implementation gets it right, but it may be
+ Older SVr4 man pages warn that the return value of <STRONG>curs_set</STRONG> "is
+ currently incorrect". This implementation gets it right, but it may be
unwise to count on the correctness of the return value anywhere else.
Both ncurses and SVr4 will call <STRONG>curs_set</STRONG> in <STRONG>endwin</STRONG> if <STRONG>curs_set</STRONG> has been
- called to make the cursor other than normal, i.e., either invisible or
- very visible. There is no way for ncurses to determine the initial
+ called to make the cursor other than normal, i.e., either invisible or
+ very visible. There is no way for ncurses to determine the initial
cursor state to restore that.
</PRE><H2><a name="h2-PORTABILITY">PORTABILITY</a></H2><PRE>
The <EM>virtual</EM> <EM>screen</EM> functions <STRONG>setsyx</STRONG> and <STRONG>getsyx</STRONG> are not described in the
- XSI Curses standard, Issue 4. All other functions are as described in
+ XSI Curses standard, Issue 4. All other functions are as described in
XSI Curses.
- The SVr4 documentation describes <STRONG>setsyx</STRONG> and <STRONG>getsyx</STRONG> as having return
- type int. This is misleading, as they are macros with no documented
+ The SVr4 documentation describes <STRONG>setsyx</STRONG> and <STRONG>getsyx</STRONG> as having return
+ type int. This is misleading, as they are macros with no documented
semantics for the return value.
-ncurses 6.4 2023-08-19 <STRONG><A HREF="curs_kernel.3x.html">curs_kernel(3x)</A></STRONG>
+ncurses 6.4 2023-09-16 <STRONG><A HREF="curs_kernel.3x.html">curs_kernel(3x)</A></STRONG>
</PRE>
<div class="nav">
<ul>
* sale, use or other dealings in this Software without prior written *
* authorization. *
****************************************************************************
- * @Id: curs_legacy.3x,v 1.17 2023/07/01 15:43:20 tom Exp @
+ * @Id: curs_legacy.3x,v 1.22 2023/09/16 23:37:03 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>curs_legacy 3x 2023-07-01 ncurses 6.4 Library calls</TITLE>
+<TITLE>curs_legacy 3x 2023-09-16 ncurses 6.4 Library calls</TITLE>
<link rel="author" href="mailto:bug-ncurses@gnu.org">
</HEAD>
<BODY>
-<H1 class="no-header">curs_legacy 3x 2023-07-01 ncurses 6.4 Library calls</H1>
+<H1 class="no-header">curs_legacy 3x 2023-09-16 ncurses 6.4 Library calls</H1>
<PRE>
<STRONG><A HREF="curs_legacy.3x.html">curs_legacy(3x)</A></STRONG> Library calls <STRONG><A HREF="curs_legacy.3x.html">curs_legacy(3x)</A></STRONG>
</PRE><H2><a name="h2-NAME">NAME</a></H2><PRE>
- curs_legacy - get <STRONG>curses</STRONG> cursor and window coordinates, attributes
+ <STRONG>getattrs</STRONG>, <STRONG>getbegx</STRONG>, <STRONG>getbegy</STRONG>, <STRONG>getcurx</STRONG>, <STRONG>getcury</STRONG>, <STRONG>getmaxx</STRONG>, <STRONG>getmaxy</STRONG>,
+ <STRONG>getparx</STRONG>, <STRONG>getpary</STRONG> - get <EM>curses</EM> cursor and window coordinates or
+ attributes (legacy)
</PRE><H2><a name="h2-SYNOPSIS">SYNOPSIS</a></H2><PRE>
-ncurses 6.4 2023-07-01 <STRONG><A HREF="curs_legacy.3x.html">curs_legacy(3x)</A></STRONG>
+ncurses 6.4 2023-09-16 <STRONG><A HREF="curs_legacy.3x.html">curs_legacy(3x)</A></STRONG>
</PRE>
<div class="nav">
<ul>
<!--
****************************************************************************
- * Copyright 2019-2021,2022 Thomas E. Dickey *
+ * Copyright 2019-2022,2023 Thomas E. Dickey *
* Copyright 2008-2010,2017 Free Software Foundation, Inc. *
* *
* Permission is hereby granted, free of charge, to any person obtaining a *
* sale, use or other dealings in this Software without prior written *
* authorization. *
****************************************************************************
- * @Id: curs_memleaks.3x,v 1.16 2022/06/04 23:33:48 tom Exp @
+ * @Id: curs_memleaks.3x,v 1.21 2023/09/16 23:37:03 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>curs_memleaks 3x 2022-06-04 ncurses 6.4 Library calls</TITLE>
+<TITLE>curs_memleaks 3x 2023-09-16 ncurses 6.4 Library calls</TITLE>
<link rel="author" href="mailto:bug-ncurses@gnu.org">
</HEAD>
<BODY>
-<H1 class="no-header">curs_memleaks 3x 2022-06-04 ncurses 6.4 Library calls</H1>
+<H1 class="no-header">curs_memleaks 3x 2023-09-16 ncurses 6.4 Library calls</H1>
<PRE>
<STRONG><A HREF="curs_memleaks.3x.html">curs_memleaks(3x)</A></STRONG> Library calls <STRONG><A HREF="curs_memleaks.3x.html">curs_memleaks(3x)</A></STRONG>
</PRE><H2><a name="h2-NAME">NAME</a></H2><PRE>
- <STRONG>exit_curses</STRONG>, <STRONG>exit_terminfo</STRONG> - <STRONG>curses</STRONG> memory-leak checking
+ <STRONG>exit_curses</STRONG>, <STRONG>exit_terminfo</STRONG> - check for memory leaks in <EM>curses</EM>
</PRE><H2><a name="h2-SYNOPSIS">SYNOPSIS</a></H2><PRE>
Any implementation of curses must not free the memory associated with a
screen, since (even after calling <STRONG><A HREF="curs_initscr.3x.html">endwin(3x)</A></STRONG>), it must be available for
use in the next call to <STRONG><A HREF="curs_refresh.3x.html">refresh(3x)</A></STRONG>. There are also chunks of memory
- held for performance reasons. That makes it hard to analyze curses ap-
- plications for memory leaks. When using the specially configured de-
- bugging version of the ncurses library, applications can call functions
- which free those chunks of memory, simplifying the process of memory-
- leak checking.
+ held for performance reasons. That makes it hard to analyze curses
+ applications for memory leaks. When using the specially configured
+ debugging version of the ncurses library, applications can call
+ functions which free those chunks of memory, simplifying the process of
+ memory-leak checking.
Some of the functions are named with a "_nc_" prefix because they are
not intended for use in the non-debugging library:
<STRONG>_nc_free_and_exit</STRONG>
This frees the memory allocated by ncurses (like <STRONG>_nc_freeall</STRONG>), and
exits the program. It is preferred over <STRONG>_nc_freeall</STRONG> since some of
- that memory may be required to keep the application running. Sim-
- ply exiting (with the given exit-code) is safer.
+ that memory may be required to keep the application running.
+ Simply exiting (with the given exit-code) is safer.
<STRONG>_nc_free_tinfo</STRONG>
Use this function if only the low-level terminfo functions (and
the program after freeing memory.
The functions prefixed "_nc" are normally not available; they must be
- configured into the library at build time using the <STRONG>--disable-leaks</STRONG> op-
- tion. That compiles-in code that frees memory that normally would not
- be freed.
+ configured into the library at build time using the <STRONG>--disable-leaks</STRONG>
+ option. That compiles-in code that frees memory that normally would
+ not be freed.
The <STRONG>exit_curses</STRONG> and <STRONG>exit_terminfo</STRONG> functions call <STRONG>_nc_free_and_exit</STRONG> and
<STRONG>_nc_free_tinfo</STRONG> if the library is configured to support memory-leak
</PRE><H2><a name="h2-PORTABILITY">PORTABILITY</a></H2><PRE>
- These functions are not part of X/Open Curses; nor do other implementa-
- tions of curses provide a similar feature.
+ These functions are not part of X/Open Curses; nor do other
+ implementations of curses provide a similar feature.
In any implementation of X/Open Curses, an application can free part of
the memory allocated by curses:
-ncurses 6.4 2022-06-04 <STRONG><A HREF="curs_memleaks.3x.html">curs_memleaks(3x)</A></STRONG>
+ncurses 6.4 2023-09-16 <STRONG><A HREF="curs_memleaks.3x.html">curs_memleaks(3x)</A></STRONG>
</PRE>
<div class="nav">
<ul>
* sale, use or other dealings in this Software without prior written *
* authorization. *
****************************************************************************
- * @Id: curs_mouse.3x,v 1.66 2023/09/09 21:13:51 tom Exp @
+ * @Id: curs_mouse.3x,v 1.71 2023/09/16 23:37:03 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>curs_mouse 3x 2023-09-09 ncurses 6.4 Library calls</TITLE>
+<TITLE>curs_mouse 3x 2023-09-16 ncurses 6.4 Library calls</TITLE>
<link rel="author" href="mailto:bug-ncurses@gnu.org">
</HEAD>
<BODY>
-<H1 class="no-header">curs_mouse 3x 2023-09-09 ncurses 6.4 Library calls</H1>
+<H1 class="no-header">curs_mouse 3x 2023-09-16 ncurses 6.4 Library calls</H1>
<PRE>
<STRONG><A HREF="curs_mouse.3x.html">curs_mouse(3x)</A></STRONG> Library calls <STRONG><A HREF="curs_mouse.3x.html">curs_mouse(3x)</A></STRONG>
</PRE><H2><a name="h2-NAME">NAME</a></H2><PRE>
- <STRONG>has_mouse</STRONG>, <STRONG>getmouse</STRONG>, <STRONG>ungetmouse</STRONG>, <STRONG>mousemask</STRONG>, <STRONG>wenclose</STRONG>, <STRONG>mouse_trafo</STRONG>,
- <STRONG>wmouse_trafo</STRONG>, <STRONG>mouseinterval</STRONG> - mouse interface through curses
+ <STRONG>has_mouse</STRONG>, <STRONG>getmouse</STRONG>, <STRONG>ungetmouse</STRONG>, <STRONG>mousemask</STRONG>, <STRONG>wenclose</STRONG>, <STRONG>mouse_trafo</STRONG>,
+ <STRONG>wmouse_trafo</STRONG>, <STRONG>mouseinterval</STRONG> - get mouse events in <EM>curses</EM>
</PRE><H2><a name="h2-SYNOPSIS">SYNOPSIS</a></H2><PRE>
</PRE><H3><a name="h3-mousemask">mousemask</a></H3><PRE>
To make mouse events visible, use the <STRONG>mousemask</STRONG> function. This sets
- the mouse events to be reported. By default, no mouse events are re-
- ported.
+ the mouse events to be reported. By default, no mouse events are
+ reported.
<STRONG>o</STRONG> The function returns an updated copy of <EM>newmask</EM> to indicate which
of the specified mouse events can be reported.
event off the queue, call <STRONG>getmouse</STRONG>. This function will return <STRONG>OK</STRONG> if a
mouse event is actually visible in the given window, <STRONG>ERR</STRONG> otherwise.
When <STRONG>getmouse</STRONG> returns <STRONG>OK</STRONG>, the data deposited as y and x in the event
- structure coordinates will be screen-relative character-cell coordi-
- nates. The returned state mask will have exactly one bit set to indi-
- cate the event type. The corresponding data in the queue is marked in-
- valid. A subsequent call to <STRONG>getmouse</STRONG> will retrieve the next older item
- from the queue.
+ structure coordinates will be screen-relative character-cell
+ coordinates. The returned state mask will have exactly one bit set to
+ indicate the event type. The corresponding data in the queue is marked
+ invalid. A subsequent call to <STRONG>getmouse</STRONG> will retrieve the next older
+ item from the queue.
</PRE><H3><a name="h3-ungetmouse">ungetmouse</a></H3><PRE>
</PRE><H3><a name="h3-wmouse_trafo">wmouse_trafo</a></H3><PRE>
The <STRONG>wmouse_trafo</STRONG> function transforms a given pair of coordinates from
stdscr-relative coordinates to coordinates relative to the given window
- or vice versa. The resulting stdscr-relative coordinates are not al-
- ways identical to window-relative coordinates due to the mechanism to
+ or vice versa. The resulting stdscr-relative coordinates are not
+ always identical to window-relative coordinates due to the mechanism to
reserve lines on top or bottom of the screen for other purposes (see
the <STRONG>ripoffline</STRONG> and <STRONG><A HREF="curs_slk.3x.html">slk_init(3x)</A></STRONG> calls, for example).
- <STRONG>o</STRONG> If the parameter <EM>to</EM><STRONG>_</STRONG><EM>screen</EM> is <STRONG>TRUE</STRONG>, the pointers <EM>pY,</EM> <EM>pX</EM> must refer-
- ence the coordinates of a location inside the window <EM>win</EM>. They are
- converted to window-relative coordinates and returned through the
- pointers. If the conversion was successful, the function returns
- <STRONG>TRUE</STRONG>.
+ <STRONG>o</STRONG> If the parameter <EM>to</EM><STRONG>_</STRONG><EM>screen</EM> is <STRONG>TRUE</STRONG>, the pointers <EM>pY,</EM> <EM>pX</EM> must
+ reference the coordinates of a location inside the window <EM>win</EM>.
+ They are converted to window-relative coordinates and returned
+ through the pointers. If the conversion was successful, the
+ function returns <STRONG>TRUE</STRONG>.
<STRONG>o</STRONG> If one of the parameters was NULL or the location is not inside the
window, <STRONG>FALSE</STRONG> is returned.
<STRONG>o</STRONG> If <EM>to</EM><STRONG>_</STRONG><EM>screen</EM> is <STRONG>FALSE</STRONG>, the pointers <EM>pY,</EM> <EM>pX</EM> must reference window-
- relative coordinates. They are converted to stdscr-relative coor-
- dinates if the window <EM>win</EM> encloses this point. In this case the
- function returns <STRONG>TRUE</STRONG>.
+ relative coordinates. They are converted to stdscr-relative
+ coordinates if the window <EM>win</EM> encloses this point. In this case
+ the function returns <STRONG>TRUE</STRONG>.
<STRONG>o</STRONG> If one of the parameters is NULL or the point is not inside the
- window, <STRONG>FALSE</STRONG> is returned. The referenced coordinates are only re-
- placed by the converted coordinates if the transformation was suc-
- cessful.
+ window, <STRONG>FALSE</STRONG> is returned. The referenced coordinates are only
+ replaced by the converted coordinates if the transformation was
+ successful.
</PRE><H3><a name="h3-mouse_trafo">mouse_trafo</a></H3><PRE>
</PRE><H3><a name="h3-mouseinterval">mouseinterval</a></H3><PRE>
The <STRONG>mouseinterval</STRONG> function sets the maximum time (in thousands of a
second) that can elapse between press and release events for them to be
- recognized as a click. Use <STRONG>mouseinterval(0)</STRONG> to disable click resolu-
- tion. This function returns the previous interval value. Use <STRONG>mousein-</STRONG>
- <STRONG>terval(-1)</STRONG> to obtain the interval without altering it. The default is
- one sixth of a second.
+ recognized as a click. Use <STRONG>mouseinterval(0)</STRONG> to disable click
+ resolution. This function returns the previous interval value. Use
+ <STRONG>mouseinterval(-1)</STRONG> to obtain the interval without altering it. The
+ default is one sixth of a second.
</PRE><H3><a name="h3-has_mouse">has_mouse</a></H3><PRE>
- The <STRONG>has_mouse</STRONG> function returns <STRONG>TRUE</STRONG> if the mouse driver has been suc-
- cessfully initialized.
+ The <STRONG>has_mouse</STRONG> function returns <STRONG>TRUE</STRONG> if the mouse driver has been
+ successfully initialized.
Note that mouse events will be ignored when input is in cooked mode,
and will cause an error beep when cooked mode is being simulated in a
For instance the SVr4 curses library used the <STRONG>get_mouse</STRONG> capability
to tell the terminal which mouse button events it should send,
passing the mouse-button bit-mask to the terminal. Also, it could
- ask the terminal where the mouse was using the <STRONG>req_mouse_pos</STRONG> capa-
- bility.
+ ask the terminal where the mouse was using the <STRONG>req_mouse_pos</STRONG>
+ capability.
Those features required a terminal which had been modified to work
with curses. They were not part of the X Consortium's xterm.
Eric Raymond was uninterested in using the same interface due to its
lack of documentation. Later, in 1998, Mark Hesseling provided support
in PDCurses 2.3 using the SVr4 interface. PDCurses, however, does not
- use video terminals, making it unnecessary to be concerned about com-
- patibility with the escape sequences.
+ use video terminals, making it unnecessary to be concerned about
+ compatibility with the escape sequences.
The feature macro <STRONG>NCURSES_MOUSE_VERSION</STRONG> is provided so the preprocessor
- can be used to test whether these features are present. If the inter-
- face is changed, the value of <STRONG>NCURSES_MOUSE_VERSION</STRONG> will be increment-
- ed. These values for <STRONG>NCURSES_MOUSE_VERSION</STRONG> may be specified when con-
- figuring ncurses:
+ can be used to test whether these features are present. If the
+ interface is changed, the value of <STRONG>NCURSES_MOUSE_VERSION</STRONG> will be
+ incremented. These values for <STRONG>NCURSES_MOUSE_VERSION</STRONG> may be specified
+ when configuring ncurses:
1 has definitions for reserved events. The mask uses 28 bits.
- 2 adds definitions for button 5, removes the definitions for re-
- served events. The mask uses 29 bits.
+ 2 adds definitions for button 5, removes the definitions for
+ reserved events. The mask uses 29 bits.
- The order of the <STRONG>MEVENT</STRONG> structure members is not guaranteed. Addition-
- al fields may be added to the structure in the future.
+ The order of the <STRONG>MEVENT</STRONG> structure members is not guaranteed.
+ Additional fields may be added to the structure in the future.
Under <STRONG><A HREF="ncurses.3x.html">ncurses(3x)</A></STRONG>, these calls are implemented using either xterm's
built-in mouse-tracking API or platform-specific drivers including
\E[?1006;1000%?%p1%{1}%=%th%el%;
- The <EM>z</EM> member in the event structure is not presently used. It is in-
- tended for use with touch screens (which may be pressure-sensitive) or
- with 3D-mice/trackballs/power gloves.
+ The <EM>z</EM> member in the event structure is not presently used. It is
+ intended for use with touch screens (which may be pressure-sensitive)
+ or with 3D-mice/trackballs/power gloves.
The <STRONG>ALL_MOUSE_EVENTS</STRONG> class does not include <STRONG>REPORT_MOUSE_POSITION</STRONG>.
They are distinct. For example, in xterm, wheel/scrolling mice send
i.e., it is the beginning of the response.
Because there are no standard terminal responses that would serve to
- identify terminals which support the xterm mouse protocol, <STRONG>ncurses</STRONG> as-
- sumes that if <STRONG>kmous</STRONG> is defined in the terminal description, or if the
+ identify terminals which support the xterm mouse protocol, <STRONG>ncurses</STRONG>
+ assumes that if <STRONG>kmous</STRONG> is defined in the terminal description, or if the
terminal description's primary name or aliases contain the string
"xterm", then the terminal may send mouse events. The <STRONG>kmous</STRONG> capability
is checked first, allowing the use of newer xterm mouse protocols such
</PRE><H2><a name="h2-SEE-ALSO">SEE ALSO</a></H2><PRE>
- <STRONG><A HREF="ncurses.3x.html">curses(3x)</A></STRONG>, <STRONG><A HREF="curs_inopts.3x.html">curs_inopts(3x)</A></STRONG>, <STRONG><A HREF="curs_kernel.3x.html">curs_kernel(3x)</A></STRONG>, <STRONG><A HREF="curs_slk.3x.html">curs_slk(3x)</A></STRONG>, <STRONG>curs_vari-</STRONG>
- <STRONG><A HREF="curs_variables.3x.html">ables(3x)</A></STRONG>.
+ <STRONG><A HREF="ncurses.3x.html">curses(3x)</A></STRONG>, <STRONG><A HREF="curs_inopts.3x.html">curs_inopts(3x)</A></STRONG>, <STRONG><A HREF="curs_kernel.3x.html">curs_kernel(3x)</A></STRONG>, <STRONG><A HREF="curs_slk.3x.html">curs_slk(3x)</A></STRONG>,
+ <STRONG><A HREF="curs_variables.3x.html">curs_variables(3x)</A></STRONG>.
-ncurses 6.4 2023-09-09 <STRONG><A HREF="curs_mouse.3x.html">curs_mouse(3x)</A></STRONG>
+ncurses 6.4 2023-09-16 <STRONG><A HREF="curs_mouse.3x.html">curs_mouse(3x)</A></STRONG>
</PRE>
<div class="nav">
<ul>
* sale, use or other dealings in this Software without prior written *
* authorization. *
****************************************************************************
- * @Id: curs_move.3x,v 1.26 2023/07/01 15:43:20 tom Exp @
+ * @Id: curs_move.3x,v 1.29 2023/09/16 20:18:53 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>curs_move 3x 2023-07-01 ncurses 6.4 Library calls</TITLE>
+<TITLE>curs_move 3x 2023-09-16 ncurses 6.4 Library calls</TITLE>
<link rel="author" href="mailto:bug-ncurses@gnu.org">
</HEAD>
<BODY>
-<H1 class="no-header">curs_move 3x 2023-07-01 ncurses 6.4 Library calls</H1>
+<H1 class="no-header">curs_move 3x 2023-09-16 ncurses 6.4 Library calls</H1>
<PRE>
<STRONG><A HREF="curs_move.3x.html">curs_move(3x)</A></STRONG> Library calls <STRONG><A HREF="curs_move.3x.html">curs_move(3x)</A></STRONG>
</PRE><H2><a name="h2-NAME">NAME</a></H2><PRE>
- <STRONG>move</STRONG>, <STRONG>wmove</STRONG> - move <STRONG>curses</STRONG> window cursor
+ <STRONG>move</STRONG>, <STRONG>wmove</STRONG> - move cursor in a <EM>curses</EM> window
</PRE><H2><a name="h2-SYNOPSIS">SYNOPSIS</a></H2><PRE>
</PRE><H2><a name="h2-DESCRIPTION">DESCRIPTION</a></H2><PRE>
These routines move the cursor associated with the window to line <EM>y</EM> and
- column <EM>x</EM>. This routine does not move the physical cursor of the termi-
- nal until <STRONG><A HREF="curs_refresh.3x.html">refresh(3x)</A></STRONG> is called. The position specified is relative to
- the upper left-hand corner of the window, which is (0,0).
+ column <EM>x</EM>. This routine does not move the physical cursor of the
+ terminal until <STRONG><A HREF="curs_refresh.3x.html">refresh(3x)</A></STRONG> is called. The position specified is
+ relative to the upper left-hand corner of the window, which is (0,0).
</PRE><H2><a name="h2-RETURN-VALUE">RETURN VALUE</a></H2><PRE>
-ncurses 6.4 2023-07-01 <STRONG><A HREF="curs_move.3x.html">curs_move(3x)</A></STRONG>
+ncurses 6.4 2023-09-16 <STRONG><A HREF="curs_move.3x.html">curs_move(3x)</A></STRONG>
</PRE>
<div class="nav">
<ul>
* sale, use or other dealings in this Software without prior written *
* authorization. *
****************************************************************************
- * @Id: curs_opaque.3x,v 1.23 2023/07/01 14:31:54 tom Exp @
+ * @Id: curs_opaque.3x,v 1.27 2023/09/16 23:37:03 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>curs_opaque 3x 2023-07-01 ncurses 6.4 Library calls</TITLE>
+<TITLE>curs_opaque 3x 2023-09-16 ncurses 6.4 Library calls</TITLE>
<link rel="author" href="mailto:bug-ncurses@gnu.org">
</HEAD>
<BODY>
-<H1 class="no-header">curs_opaque 3x 2023-07-01 ncurses 6.4 Library calls</H1>
+<H1 class="no-header">curs_opaque 3x 2023-09-16 ncurses 6.4 Library calls</H1>
<PRE>
<STRONG><A HREF="curs_opaque.3x.html">curs_opaque(3x)</A></STRONG> Library calls <STRONG><A HREF="curs_opaque.3x.html">curs_opaque(3x)</A></STRONG>
</PRE><H2><a name="h2-NAME">NAME</a></H2><PRE>
- <STRONG>is_cleared</STRONG>, <STRONG>is_idlok</STRONG>, <STRONG>is_idcok</STRONG>, <STRONG>is_immedok</STRONG>, <STRONG>is_keypad</STRONG>, <STRONG>is_leaveok</STRONG>,
- <STRONG>is_nodelay</STRONG>, <STRONG>is_notimeout</STRONG>, <STRONG>is_pad</STRONG>, <STRONG>is_scrollok</STRONG>, <STRONG>is_subwin</STRONG>, <STRONG>is_syncok</STRONG>,
- <STRONG>wgetdelay</STRONG>, <STRONG>wgetparent</STRONG>, <STRONG>wgetscrreg</STRONG> - <STRONG>curses</STRONG> window properties
+ <STRONG>is_cleared</STRONG>, <STRONG>is_idlok</STRONG>, <STRONG>is_idcok</STRONG>, <STRONG>is_immedok</STRONG>, <STRONG>is_keypad</STRONG>, <STRONG>is_leaveok</STRONG>,
+ <STRONG>is_nodelay</STRONG>, <STRONG>is_notimeout</STRONG>, <STRONG>is_pad</STRONG>, <STRONG>is_scrollok</STRONG>, <STRONG>is_subwin</STRONG>, <STRONG>is_syncok</STRONG>,
+ <STRONG>wgetdelay</STRONG>, <STRONG>wgetparent</STRONG>, <STRONG>wgetscrreg</STRONG> - obtain <EM>curses</EM> window properties
</PRE><H2><a name="h2-SYNOPSIS">SYNOPSIS</a></H2><PRE>
</PRE><H2><a name="h2-DESCRIPTION">DESCRIPTION</a></H2><PRE>
This implementation provides functions which return properties set in
- the WINDOW structure, allowing it to be "opaque" if the symbol <STRONG>NCURS-</STRONG>
- <STRONG>ES_OPAQUE</STRONG> is defined:
+ the WINDOW structure, allowing it to be "opaque" if the symbol
+ <STRONG>NCURSES_OPAQUE</STRONG> is defined:
<STRONG>is_cleared</STRONG>
returns the value set in <STRONG><A HREF="curs_outopts.3x.html">clearok(3x)</A></STRONG>
returns the value set in <STRONG><A HREF="scrollok.3x.html">scrollok(3x)</A></STRONG>
<STRONG>is_subwin</STRONG>
- returns <STRONG>TRUE</STRONG> if the window is a subwindow, i.e., created by <STRONG>sub-</STRONG>
- <STRONG><A HREF="subwin.3x.html">win(3x)</A></STRONG> or <STRONG><A HREF="derwin.3x.html">derwin(3x)</A></STRONG>
+ returns <STRONG>TRUE</STRONG> if the window is a subwindow, i.e., created by
+ <STRONG><A HREF="subwin.3x.html">subwin(3x)</A></STRONG> or <STRONG><A HREF="derwin.3x.html">derwin(3x)</A></STRONG>
<STRONG>is_syncok</STRONG>
returns the value set in <STRONG><A HREF="syncok.3x.html">syncok(3x)</A></STRONG>
returns the delay timeout as set in <STRONG><A HREF="wtimeout.3x.html">wtimeout(3x)</A></STRONG>.
<STRONG>wgetparent</STRONG>
- returns the parent WINDOW pointer for subwindows, or NULL for win-
- dows having no parent.
+ returns the parent WINDOW pointer for subwindows, or NULL for
+ windows having no parent.
<STRONG>wgetscrreg</STRONG>
returns the top and bottom rows for the scrolling margin as set in
</PRE><H2><a name="h2-PORTABILITY">PORTABILITY</a></H2><PRE>
These routines are specific to ncurses. They were not supported on
Version 7, BSD or System V implementations. It is recommended that any
- code depending on ncurses extensions be conditioned using NCURSES_VER-
- SION.
+ code depending on ncurses extensions be conditioned using
+ NCURSES_VERSION.
</PRE><H2><a name="h2-SEE-ALSO">SEE ALSO</a></H2><PRE>
-ncurses 6.4 2023-07-01 <STRONG><A HREF="curs_opaque.3x.html">curs_opaque(3x)</A></STRONG>
+ncurses 6.4 2023-09-16 <STRONG><A HREF="curs_opaque.3x.html">curs_opaque(3x)</A></STRONG>
</PRE>
<div class="nav">
<ul>
* sale, use or other dealings in this Software without prior written *
* authorization. *
****************************************************************************
- * @Id: curs_outopts.3x,v 1.40 2023/07/01 15:43:20 tom Exp @
+ * @Id: curs_outopts.3x,v 1.44 2023/09/16 23:37:03 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>curs_outopts 3x 2023-07-01 ncurses 6.4 Library calls</TITLE>
+<TITLE>curs_outopts 3x 2023-09-16 ncurses 6.4 Library calls</TITLE>
<link rel="author" href="mailto:bug-ncurses@gnu.org">
</HEAD>
<BODY>
-<H1 class="no-header">curs_outopts 3x 2023-07-01 ncurses 6.4 Library calls</H1>
+<H1 class="no-header">curs_outopts 3x 2023-09-16 ncurses 6.4 Library calls</H1>
<PRE>
<STRONG><A HREF="curs_outopts.3x.html">curs_outopts(3x)</A></STRONG> Library calls <STRONG><A HREF="curs_outopts.3x.html">curs_outopts(3x)</A></STRONG>
</PRE><H2><a name="h2-NAME">NAME</a></H2><PRE>
- <STRONG>clearok</STRONG>, <STRONG>idlok</STRONG>, <STRONG>idcok</STRONG>, <STRONG>immedok</STRONG>, <STRONG>leaveok</STRONG>, <STRONG>setscrreg</STRONG>, <STRONG>wsetscrreg</STRONG>,
- <STRONG>scrollok</STRONG> - <STRONG>curses</STRONG> output options
+ <STRONG>clearok</STRONG>, <STRONG>idlok</STRONG>, <STRONG>idcok</STRONG>, <STRONG>immedok</STRONG>, <STRONG>leaveok</STRONG>, <STRONG>setscrreg</STRONG>, <STRONG>wsetscrreg</STRONG>,
+ <STRONG>scrollok</STRONG> - set <EM>curses</EM> output options
</PRE><H2><a name="h2-SYNOPSIS">SYNOPSIS</a></H2><PRE>
</PRE><H2><a name="h2-DESCRIPTION">DESCRIPTION</a></H2><PRE>
- These routines set options that change the style of output within <STRONG>curs-</STRONG>
- <STRONG>es</STRONG>. All options are initially <STRONG>FALSE</STRONG>, unless otherwise stated. It is
- not necessary to turn these options off before calling <STRONG><A HREF="curs_initscr.3x.html">endwin(3x)</A></STRONG>.
+ These routines set options that change the style of output within
+ <STRONG>curses</STRONG>. All options are initially <STRONG>FALSE</STRONG>, unless otherwise stated. It
+ is not necessary to turn these options off before calling <STRONG><A HREF="curs_initscr.3x.html">endwin(3x)</A></STRONG>.
</PRE><H3><a name="h3-clearok">clearok</a></H3><PRE>
</PRE><H3><a name="h3-idlok">idlok</a></H3><PRE>
If <STRONG>idlok</STRONG> is called with <STRONG>TRUE</STRONG> as second argument, <STRONG>curses</STRONG> considers using
the hardware insert/delete line feature of terminals so equipped.
- Calling <STRONG>idlok</STRONG> with <STRONG>FALSE</STRONG> as second argument disables use of line inser-
- tion and deletion. This option should be enabled only if the applica-
- tion needs insert/delete line, for example, for a screen editor. It is
- disabled by default because insert/delete line tends to be visually an-
- noying when used in applications where it is not really needed. If in-
- sert/delete line cannot be used, <STRONG>curses</STRONG> redraws the changed portions of
- all lines.
+ Calling <STRONG>idlok</STRONG> with <STRONG>FALSE</STRONG> as second argument disables use of line
+ insertion and deletion. This option should be enabled only if the
+ application needs insert/delete line, for example, for a screen editor.
+ It is disabled by default because insert/delete line tends to be
+ visually annoying when used in applications where it is not really
+ needed. If insert/delete line cannot be used, <STRONG>curses</STRONG> redraws the
+ changed portions of all lines.
</PRE><H3><a name="h3-idcok">idcok</a></H3><PRE>
- If <STRONG>idcok</STRONG> is called with <STRONG>FALSE</STRONG> as second argument, <STRONG>curses</STRONG> no longer con-
- siders using the hardware insert/delete character feature of terminals
- so equipped. Use of character insert/delete is enabled by default.
- Calling <STRONG>idcok</STRONG> with <STRONG>TRUE</STRONG> as second argument re-enables use of character
- insertion and deletion.
+ If <STRONG>idcok</STRONG> is called with <STRONG>FALSE</STRONG> as second argument, <STRONG>curses</STRONG> no longer
+ considers using the hardware insert/delete character feature of
+ terminals so equipped. Use of character insert/delete is enabled by
+ default. Calling <STRONG>idcok</STRONG> with <STRONG>TRUE</STRONG> as second argument re-enables use of
+ character insertion and deletion.
</PRE><H3><a name="h3-immedok">immedok</a></H3><PRE>
If <STRONG>immedok</STRONG> is called with <STRONG>TRUE</STRONG> <STRONG>as</STRONG> <STRONG>argument</STRONG>, any change in the window
- image, such as the ones caused by <STRONG>waddch,</STRONG> <STRONG>wclrtobot,</STRONG> <STRONG>wscrl</STRONG>, etc., auto-
- matically cause a call to <STRONG>wrefresh</STRONG>. However, it may degrade perfor-
- mance considerably, due to repeated calls to <STRONG>wrefresh</STRONG>. It is disabled
- by default.
+ image, such as the ones caused by <STRONG>waddch,</STRONG> <STRONG>wclrtobot,</STRONG> <STRONG>wscrl</STRONG>, etc.,
+ automatically cause a call to <STRONG>wrefresh</STRONG>. However, it may degrade
+ performance considerably, due to repeated calls to <STRONG>wrefresh</STRONG>. It is
+ disabled by default.
</PRE><H3><a name="h3-leaveok">leaveok</a></H3><PRE>
Normally, the hardware cursor is left at the location of the window
cursor being refreshed. The <STRONG>leaveok</STRONG> option allows the cursor to be
- left wherever the update happens to leave it. It is useful for appli-
- cations where the cursor is not used, since it reduces the need for
- cursor motions.
+ left wherever the update happens to leave it. It is useful for
+ applications where the cursor is not used, since it reduces the need
+ for cursor motions.
</PRE><H3><a name="h3-scrollok">scrollok</a></H3><PRE>
The <STRONG>scrollok</STRONG> option controls what happens when the cursor of a window
is moved off the edge of the window or scrolling region, either as a
- result of a newline action on the bottom line, or typing the last char-
- acter of the last line. If disabled, (<EM>bf</EM> is <STRONG>FALSE</STRONG>), the cursor is left
- on the bottom line. If enabled, (<EM>bf</EM> is <STRONG>TRUE</STRONG>), the window is scrolled
- up one line (Note that to get the physical scrolling effect on the ter-
- minal, it is also necessary to call <STRONG>idlok</STRONG>).
+ result of a newline action on the bottom line, or typing the last
+ character of the last line. If disabled, (<EM>bf</EM> is <STRONG>FALSE</STRONG>), the cursor is
+ left on the bottom line. If enabled, (<EM>bf</EM> is <STRONG>TRUE</STRONG>), the window is
+ scrolled up one line (Note that to get the physical scrolling effect on
+ the terminal, it is also necessary to call <STRONG>idlok</STRONG>).
</PRE><H3><a name="h3-setscrreg_wsetscrreg">setscrreg/wsetscrreg</a></H3><PRE>
The <STRONG>setscrreg</STRONG> and <STRONG>wsetscrreg</STRONG> routines allow the application programmer
- to set a software scrolling region in a window. The <EM>top</EM> and <EM>bot</EM> param-
- eters are the line numbers of the top and bottom margin of the
- scrolling region. (Line 0 is the top line of the window.) If this op-
- tion and <STRONG>scrollok</STRONG> are enabled, an attempt to move off the bottom margin
- line causes all lines in the scrolling region to scroll one line in the
- direction of the first line. Only the text of the window is scrolled.
- (Note that this has nothing to do with the use of a physical scrolling
- region capability in the terminal, like that in the VT100. If <STRONG>idlok</STRONG> is
- enabled and the terminal has either a scrolling region or insert/delete
- line capability, they will probably be used by the output routines.)
+ to set a software scrolling region in a window. The <EM>top</EM> and <EM>bot</EM>
+ parameters are the line numbers of the top and bottom margin of the
+ scrolling region. (Line 0 is the top line of the window.) If this
+ option and <STRONG>scrollok</STRONG> are enabled, an attempt to move off the bottom
+ margin line causes all lines in the scrolling region to scroll one line
+ in the direction of the first line. Only the text of the window is
+ scrolled. (Note that this has nothing to do with the use of a physical
+ scrolling region capability in the terminal, like that in the VT100.
+ If <STRONG>idlok</STRONG> is enabled and the terminal has either a scrolling region or
+ insert/delete line capability, they will probably be used by the output
+ routines.)
</PRE><H2><a name="h2-RETURN-VALUE">RETURN VALUE</a></H2><PRE>
- The functions <STRONG>setscrreg</STRONG> and <STRONG>wsetscrreg</STRONG> return <STRONG>OK</STRONG> upon success and <STRONG>ERR</STRONG>
- upon failure. All other routines that return an integer always return
+ The functions <STRONG>setscrreg</STRONG> and <STRONG>wsetscrreg</STRONG> return <STRONG>OK</STRONG> upon success and <STRONG>ERR</STRONG>
+ upon failure. All other routines that return an integer always return
<STRONG>OK</STRONG>.
X/Open Curses does not define any error conditions.
In this implementation,
- <STRONG>o</STRONG> those functions that have a window pointer will return an error if
+ <STRONG>o</STRONG> those functions that have a window pointer will return an error if
the window pointer is null
- <STRONG>o</STRONG> <STRONG>wsetscrreg</STRONG> returns an error if the scrolling region limits extend
+ <STRONG>o</STRONG> <STRONG>wsetscrreg</STRONG> returns an error if the scrolling region limits extend
outside the window.
- X/Open does not define any error conditions. This implementation re-
- turns an error if the window pointer is null.
+ X/Open does not define any error conditions. This implementation
+ returns an error if the window pointer is null.
</PRE><H2><a name="h2-PORTABILITY">PORTABILITY</a></H2><PRE>
These functions are described in the XSI Curses standard, Issue 4.
- From the outset, ncurses used <STRONG>nl</STRONG>/<STRONG>nonl</STRONG> to control the conversion of new-
- lines to carriage return/line-feed on output as well as input. XSI
- Curses documents only the use of these functions for input. This dif-
- ference arose from converting the <EM>pcurses</EM> source (which used <STRONG>ioctl</STRONG>
- calls with the <STRONG>sgttyb</STRONG> structure) to termios (i.e., the POSIX terminal
+ From the outset, ncurses used <STRONG>nl</STRONG>/<STRONG>nonl</STRONG> to control the conversion of
+ newlines to carriage return/line-feed on output as well as input. XSI
+ Curses documents only the use of these functions for input. This
+ difference arose from converting the <EM>pcurses</EM> source (which used <STRONG>ioctl</STRONG>
+ calls with the <STRONG>sgttyb</STRONG> structure) to termios (i.e., the POSIX terminal
interface). In the former, both input and output were controlled via a
- single option <STRONG>CRMOD</STRONG>, while the latter separates these features. Be-
- cause that conversion interferes with output optimization, <STRONG>nl</STRONG>/<STRONG>nonl</STRONG> were
- amended after ncurses 6.2 to eliminate their effect on output.
+ single option <STRONG>CRMOD</STRONG>, while the latter separates these features.
+ Because that conversion interferes with output optimization, <STRONG>nl</STRONG>/<STRONG>nonl</STRONG>
+ were amended after ncurses 6.2 to eliminate their effect on output.
- Some historic curses implementations had, as an undocumented feature,
- the ability to do the equivalent of <STRONG>clearok(...,</STRONG> <STRONG>1)</STRONG> by saying <STRONG>touch-</STRONG>
- <STRONG>win(stdscr)</STRONG> or <STRONG>clear(stdscr)</STRONG>. This will not work under ncurses.
+ Some historic curses implementations had, as an undocumented feature,
+ the ability to do the equivalent of <STRONG>clearok(...,</STRONG> <STRONG>1)</STRONG> by saying
+ <STRONG>touchwin(stdscr)</STRONG> or <STRONG>clear(stdscr)</STRONG>. This will not work under ncurses.
- Earlier System V curses implementations specified that with <STRONG>scrollok</STRONG>
- enabled, any window modification triggering a scroll also forced a
+ Earlier System V curses implementations specified that with <STRONG>scrollok</STRONG>
+ enabled, any window modification triggering a scroll also forced a
physical refresh. XSI Curses does not require this, and <STRONG>ncurses</STRONG> avoids
- doing it to perform better vertical-motion optimization at <STRONG>wrefresh</STRONG>
+ doing it to perform better vertical-motion optimization at <STRONG>wrefresh</STRONG>
time.
The XSI Curses standard does not mention that the cursor should be made
- invisible as a side-effect of <STRONG>leaveok</STRONG>. SVr4 curses documentation does
- this, but the code does not. Use <STRONG>curs_set</STRONG> to make the cursor invisi-
- ble.
+ invisible as a side-effect of <STRONG>leaveok</STRONG>. SVr4 curses documentation does
+ this, but the code does not. Use <STRONG>curs_set</STRONG> to make the cursor
+ invisible.
</PRE><H2><a name="h2-NOTES">NOTES</a></H2><PRE>
- Note that <STRONG>clearok</STRONG>, <STRONG>leaveok</STRONG>, <STRONG>scrollok</STRONG>, <STRONG>idcok</STRONG>, and <STRONG>setscrreg</STRONG> may be
+ Note that <STRONG>clearok</STRONG>, <STRONG>leaveok</STRONG>, <STRONG>scrollok</STRONG>, <STRONG>idcok</STRONG>, and <STRONG>setscrreg</STRONG> may be
macros.
- The <STRONG>immedok</STRONG> routine is useful for windows that are used as terminal em-
- ulators.
+ The <STRONG>immedok</STRONG> routine is useful for windows that are used as terminal
+ emulators.
</PRE><H2><a name="h2-SEE-ALSO">SEE ALSO</a></H2><PRE>
-ncurses 6.4 2023-07-01 <STRONG><A HREF="curs_outopts.3x.html">curs_outopts(3x)</A></STRONG>
+ncurses 6.4 2023-09-16 <STRONG><A HREF="curs_outopts.3x.html">curs_outopts(3x)</A></STRONG>
</PRE>
<div class="nav">
<ul>
* sale, use or other dealings in this Software without prior written *
* authorization. *
****************************************************************************
- * @Id: curs_overlay.3x,v 1.26 2023/07/01 15:43:20 tom Exp @
+ * @Id: curs_overlay.3x,v 1.30 2023/09/16 23:37:03 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>curs_overlay 3x 2023-07-01 ncurses 6.4 Library calls</TITLE>
+<TITLE>curs_overlay 3x 2023-09-16 ncurses 6.4 Library calls</TITLE>
<link rel="author" href="mailto:bug-ncurses@gnu.org">
</HEAD>
<BODY>
-<H1 class="no-header">curs_overlay 3x 2023-07-01 ncurses 6.4 Library calls</H1>
+<H1 class="no-header">curs_overlay 3x 2023-09-16 ncurses 6.4 Library calls</H1>
<PRE>
<STRONG><A HREF="curs_overlay.3x.html">curs_overlay(3x)</A></STRONG> Library calls <STRONG><A HREF="curs_overlay.3x.html">curs_overlay(3x)</A></STRONG>
</PRE><H2><a name="h2-NAME">NAME</a></H2><PRE>
- <STRONG>overlay</STRONG>, <STRONG>overwrite</STRONG>, <STRONG>copywin</STRONG> - overlay and manipulate overlapped <STRONG>curses</STRONG>
- windows
+ <STRONG>overlay</STRONG>, <STRONG>overwrite</STRONG>, <STRONG>copywin</STRONG> - overlay <EM>curses</EM> windows and manipulate
+ them
</PRE><H2><a name="h2-SYNOPSIS">SYNOPSIS</a></H2><PRE>
The <STRONG>overlay</STRONG> and <STRONG>overwrite</STRONG> routines overlay <EM>srcwin</EM> on top of <EM>dstwin</EM>.
<EM>scrwin</EM> and <EM>dstwin</EM> are not required to be the same size; only text where
the two windows overlap is copied. The difference is that <STRONG>overlay</STRONG> is
- non-destructive (blanks are not copied) whereas <STRONG>overwrite</STRONG> is destruc-
- tive.
+ non-destructive (blanks are not copied) whereas <STRONG>overwrite</STRONG> is
+ destructive.
</PRE><H3><a name="h3-copywin">copywin</a></H3><PRE>
The <STRONG>copywin</STRONG> routine provides a finer granularity of control over the
- <STRONG>overlay</STRONG> and <STRONG>overwrite</STRONG> routines. As in the <STRONG>prefresh</STRONG> routine, a rectan-
- gle is specified in the destination window, (<EM>dminrow</EM>, <EM>dmincol</EM>) and
- (<EM>dmaxrow</EM>, <EM>dmaxcol</EM>), and the upper-left-corner coordinates of the source
- window, (<EM>sminrow</EM>, <EM>smincol</EM>). If the argument <EM>overlay</EM> is <STRONG>true</STRONG>, then
- copying is non-destructive, as in <STRONG>overlay</STRONG>.
+ <STRONG>overlay</STRONG> and <STRONG>overwrite</STRONG> routines. As in the <STRONG>prefresh</STRONG> routine, a
+ rectangle is specified in the destination window, (<EM>dminrow</EM>, <EM>dmincol</EM>)
+ and (<EM>dmaxrow</EM>, <EM>dmaxcol</EM>), and the upper-left-corner coordinates of the
+ source window, (<EM>sminrow</EM>, <EM>smincol</EM>). If the argument <EM>overlay</EM> is <STRONG>true</STRONG>,
+ then copying is non-destructive, as in <STRONG>overlay</STRONG>.
</PRE><H2><a name="h2-RETURN-VALUE">RETURN VALUE</a></H2><PRE>
Routines that return an integer return <STRONG>ERR</STRONG> upon failure, and <STRONG>OK</STRONG> (SVr4
- only specifies "an integer value other than <STRONG>ERR</STRONG>") upon successful com-
- pletion.
+ only specifies "an integer value other than <STRONG>ERR</STRONG>") upon successful
+ completion.
X/Open defines no error conditions. In this implementation, <STRONG>copywin</STRONG>,
<STRONG>overlay</STRONG> and <STRONG>overwrite</STRONG> return an error if either of the window pointers
</PRE><H2><a name="h2-PORTABILITY">PORTABILITY</a></H2><PRE>
The XSI Curses standard, Issue 4 describes these functions (adding the
const qualifiers). It further specifies their behavior in the presence
- of characters with multibyte renditions (not yet supported in this im-
- plementation).
+ of characters with multibyte renditions (not yet supported in this
+ implementation).
</PRE><H2><a name="h2-SEE-ALSO">SEE ALSO</a></H2><PRE>
-ncurses 6.4 2023-07-01 <STRONG><A HREF="curs_overlay.3x.html">curs_overlay(3x)</A></STRONG>
+ncurses 6.4 2023-09-16 <STRONG><A HREF="curs_overlay.3x.html">curs_overlay(3x)</A></STRONG>
</PRE>
<div class="nav">
<ul>
* sale, use or other dealings in this Software without prior written *
* authorization. *
****************************************************************************
- * @Id: curs_pad.3x,v 1.33 2023/07/01 15:43:20 tom Exp @
+ * @Id: curs_pad.3x,v 1.38 2023/09/16 23:37:03 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>curs_pad 3x 2023-07-01 ncurses 6.4 Library calls</TITLE>
+<TITLE>curs_pad 3x 2023-09-16 ncurses 6.4 Library calls</TITLE>
<link rel="author" href="mailto:bug-ncurses@gnu.org">
</HEAD>
<BODY>
-<H1 class="no-header">curs_pad 3x 2023-07-01 ncurses 6.4 Library calls</H1>
+<H1 class="no-header">curs_pad 3x 2023-09-16 ncurses 6.4 Library calls</H1>
<PRE>
<STRONG><A HREF="curs_pad.3x.html">curs_pad(3x)</A></STRONG> Library calls <STRONG><A HREF="curs_pad.3x.html">curs_pad(3x)</A></STRONG>
</PRE><H2><a name="h2-NAME">NAME</a></H2><PRE>
<STRONG>newpad</STRONG>, <STRONG>subpad</STRONG>, <STRONG>prefresh</STRONG>, <STRONG>pnoutrefresh</STRONG>, <STRONG>pechochar</STRONG>, <STRONG>pecho_wchar</STRONG> - create
- and display <STRONG>curses</STRONG> pads
+ and display <EM>curses</EM> pads
</PRE><H2><a name="h2-SYNOPSIS">SYNOPSIS</a></H2><PRE>
A pad is like a window, except that it is not restricted by the screen
size, and is not necessarily associated with a particular part of the
screen. Pads can be used when a large window is needed, and only a
- part of the window will be on the screen at one time. Automatic re-
- freshes of pads (e.g., from scrolling or echoing of input) do not oc-
- cur.
+ part of the window will be on the screen at one time. Automatic
+ refreshes of pads (e.g., from scrolling or echoing of input) do not
+ occur.
- It is not legal to call <STRONG>wrefresh</STRONG> with a <EM>pad</EM> as an argument; the rou-
- tines <STRONG>prefresh</STRONG> or <STRONG>pnoutrefresh</STRONG> should be called instead. Note that
+ It is not legal to call <STRONG>wrefresh</STRONG> with a <EM>pad</EM> as an argument; the
+ routines <STRONG>prefresh</STRONG> or <STRONG>pnoutrefresh</STRONG> should be called instead. Note that
these routines require additional parameters to specify the part of the
pad to be displayed and the location on the screen to be used for the
display.
</PRE><H3><a name="h3-subpad">subpad</a></H3><PRE>
The <STRONG>subpad</STRONG> routine creates and returns a pointer to a subwindow within
- a pad with the given number of lines, <EM>nlines</EM>, and columns, <EM>ncols</EM>. Un-
- like <STRONG>subwin</STRONG>, which uses screen coordinates, the window is at position
+ a pad with the given number of lines, <EM>nlines</EM>, and columns, <EM>ncols</EM>.
+ Unlike <STRONG>subwin</STRONG>, which uses screen coordinates, the window is at position
(<EM>begin</EM>_<EM>x</EM><STRONG>,</STRONG> <EM>begin</EM>_<EM>y</EM>) on the pad. The window is made in the middle of the
window <EM>orig</EM>, so that changes made to one window affect both windows.
During the use of this routine, it will often be necessary to call
additional parameters are needed to indicate what part of the pad and
screen are involved.
- <STRONG>o</STRONG> The <EM>pminrow</EM> and <EM>pmincol</EM> parameters specify the upper left-hand cor-
- ner of the rectangle to be displayed in the pad.
+ <STRONG>o</STRONG> The <EM>pminrow</EM> and <EM>pmincol</EM> parameters specify the upper left-hand
+ corner of the rectangle to be displayed in the pad.
<STRONG>o</STRONG> The <EM>sminrow</EM>, <EM>smincol</EM>, <EM>smaxrow</EM>, and <EM>smaxcol</EM> parameters specify the
edges of the rectangle to be displayed on the screen.
followed by a call to <STRONG><A HREF="curs_refresh.3x.html">refresh(3x)</A></STRONG>, a call to <STRONG>waddch</STRONG> followed by a call
to <STRONG>wrefresh</STRONG>, or a call to <STRONG>waddch</STRONG> followed by a call to <STRONG>prefresh</STRONG>. The
knowledge that only a single character is being output is taken into
- consideration and, for non-control characters, a considerable perfor-
- mance gain might be seen by using these routines instead of their
+ consideration and, for non-control characters, a considerable
+ performance gain might be seen by using these routines instead of their
equivalents. In the case of <STRONG>pechochar</STRONG>, the last location of the pad on
the screen is reused for the arguments to <STRONG>prefresh</STRONG>.
</PRE><H3><a name="h3-pecho_wchar">pecho_wchar</a></H3><PRE>
- The <STRONG>pecho_wchar</STRONG> function is the analogous wide-character form of <STRONG>pe-</STRONG>
- <STRONG>chochar</STRONG>. It outputs one character to a pad and immediately refreshes
- the pad. It does this by a call to <STRONG>wadd_wch</STRONG> followed by a call to <STRONG>pre-</STRONG>
- <STRONG>fresh</STRONG>.
+ The <STRONG>pecho_wchar</STRONG> function is the analogous wide-character form of
+ <STRONG>pechochar</STRONG>. It outputs one character to a pad and immediately refreshes
+ the pad. It does this by a call to <STRONG>wadd_wch</STRONG> followed by a call to
+ <STRONG>prefresh</STRONG>.
</PRE><H2><a name="h2-RETURN-VALUE">RETURN VALUE</a></H2><PRE>
Routines that return an integer return <STRONG>ERR</STRONG> upon failure and <STRONG>OK</STRONG> (SVr4
- only specifies "an integer value other than <STRONG>ERR</STRONG>") upon successful com-
- pletion.
+ only specifies "an integer value other than <STRONG>ERR</STRONG>") upon successful
+ completion.
Routines that return pointers return <STRONG>NULL</STRONG> on error, and set <STRONG>errno</STRONG> to
<STRONG>ENOMEM</STRONG>.
<STRONG>prefresh</STRONG> and <STRONG>pnoutrefresh</STRONG>
return an error if the window pointer is null, or if the window
is not really a pad or if the area to refresh extends off-
- screen or if the minimum coordinates are greater than the maxi-
- mum.
+ screen or if the minimum coordinates are greater than the
+ maximum.
<STRONG>pechochar</STRONG>
- returns an error if the window is not really a pad, and the as-
- sociated call to <STRONG>wechochar</STRONG> returns an error.
+ returns an error if the window is not really a pad, and the
+ associated call to <STRONG>wechochar</STRONG> returns an error.
<STRONG>pecho_wchar</STRONG>
- returns an error if the window is not really a pad, and the as-
- sociated call to <STRONG>wecho_wchar</STRONG> returns an error.
+ returns an error if the window is not really a pad, and the
+ associated call to <STRONG>wecho_wchar</STRONG> returns an error.
</PRE><H2><a name="h2-NOTES">NOTES</a></H2><PRE>
</PRE><H2><a name="h2-PORTABILITY">PORTABILITY</a></H2><PRE>
BSD curses has no <EM>pad</EM> feature.
- SVr2 curses (1986) provided the <STRONG>newpad</STRONG> and related functions, document-
- ing them in a single line each. SVr3 (1987) provided more extensive
- documentation.
+ SVr2 curses (1986) provided the <STRONG>newpad</STRONG> and related functions,
+ documenting them in a single line each. SVr3 (1987) provided more
+ extensive documentation.
The documentation does not explain the term <EM>pad</EM>. However, the Apollo
<EM>Aegis</EM> workstation operating system supported a graphical <EM>pad</EM> feature:
- <STRONG>o</STRONG> These graphical pads could be much larger than the computer's dis-
- play.
+ <STRONG>o</STRONG> These graphical pads could be much larger than the computer's
+ display.
- <STRONG>o</STRONG> The read-only output from a command could be scrolled back to in-
- spect, and select text from the pad.
+ <STRONG>o</STRONG> The read-only output from a command could be scrolled back to
+ inspect, and select text from the pad.
The two uses may be related.
returning <STRONG>ERR</STRONG> in that case.
However, it only sets the flag for subwindows if the parent window
- is a pad. Its <STRONG>newpad</STRONG> function does not set this information. Con-
- sequently, the check will never fail.
+ is a pad. Its <STRONG>newpad</STRONG> function does not set this information.
+ Consequently, the check will never fail.
It makes no comparable check in <STRONG>pnoutrefresh</STRONG>, though interestingly
enough, a comment in the source code states that the lack of a
check was an MKS extension.
<STRONG>o</STRONG> NetBSD 7 curses sets a flag in the <STRONG>WINDOW</STRONG> structure for <STRONG>newpad</STRONG> and
- <STRONG>subpad</STRONG>, using this to help with the distinction between <STRONG>wnoutre-</STRONG>
- <STRONG>fresh</STRONG> and <STRONG>pnoutrefresh</STRONG>.
+ <STRONG>subpad</STRONG>, using this to help with the distinction between
+ <STRONG>wnoutrefresh</STRONG> and <STRONG>pnoutrefresh</STRONG>.
It does not check for the case where a subwindow is created in a
pad using <STRONG>subwin</STRONG> or <STRONG>derwin</STRONG>.
<STRONG>o</STRONG> checks in both <STRONG>wnoutrefresh</STRONG> and <STRONG>pnoutrefresh</STRONG> to ensure that pads
and windows are handled distinctly, and
- <STRONG>o</STRONG> ensures that <STRONG>dupwin</STRONG> and <STRONG>getwin</STRONG> treat pads versus windows consis-
- tently.
+ <STRONG>o</STRONG> ensures that <STRONG>dupwin</STRONG> and <STRONG>getwin</STRONG> treat pads versus windows
+ consistently.
</PRE><H2><a name="h2-SEE-ALSO">SEE ALSO</a></H2><PRE>
-ncurses 6.4 2023-07-01 <STRONG><A HREF="curs_pad.3x.html">curs_pad(3x)</A></STRONG>
+ncurses 6.4 2023-09-16 <STRONG><A HREF="curs_pad.3x.html">curs_pad(3x)</A></STRONG>
</PRE>
<div class="nav">
<ul>
<!--
****************************************************************************
- * Copyright 2018-2021,2022 Thomas E. Dickey *
+ * Copyright 2018-2022,2023 Thomas E. Dickey *
* Copyright 1998-2010,2017 Free Software Foundation, Inc. *
* *
* Permission is hereby granted, free of charge, to any person obtaining a *
* sale, use or other dealings in this Software without prior written *
* authorization. *
****************************************************************************
- * @Id: curs_print.3x,v 1.20 2022/02/12 20:05:11 tom Exp @
+ * @Id: curs_print.3x,v 1.25 2023/09/16 23:37:03 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>curs_print 3x 2022-02-12 ncurses 6.4 Library calls</TITLE>
+<TITLE>curs_print 3x 2023-09-16 ncurses 6.4 Library calls</TITLE>
<link rel="author" href="mailto:bug-ncurses@gnu.org">
</HEAD>
<BODY>
-<H1 class="no-header">curs_print 3x 2022-02-12 ncurses 6.4 Library calls</H1>
+<H1 class="no-header">curs_print 3x 2023-09-16 ncurses 6.4 Library calls</H1>
<PRE>
<STRONG><A HREF="curs_print.3x.html">curs_print(3x)</A></STRONG> Library calls <STRONG><A HREF="curs_print.3x.html">curs_print(3x)</A></STRONG>
</PRE><H2><a name="h2-NAME">NAME</a></H2><PRE>
- <STRONG>mcprint</STRONG> - ship binary data to printer
+ <STRONG>mcprint</STRONG> - write binary data to printer using <EM>terminfo</EM> capabilities
</PRE><H2><a name="h2-SYNOPSIS">SYNOPSIS</a></H2><PRE>
-ncurses 6.4 2022-02-12 <STRONG><A HREF="curs_print.3x.html">curs_print(3x)</A></STRONG>
+ncurses 6.4 2023-09-16 <STRONG><A HREF="curs_print.3x.html">curs_print(3x)</A></STRONG>
</PRE>
<div class="nav">
<ul>
<!--
****************************************************************************
- * Copyright 2018-2021,2022 Thomas E. Dickey *
+ * Copyright 2018-2022,2023 Thomas E. Dickey *
* Copyright 1998-2010,2017 Free Software Foundation, Inc. *
* *
* Permission is hereby granted, free of charge, to any person obtaining a *
* sale, use or other dealings in this Software without prior written *
* authorization. *
****************************************************************************
- * @Id: curs_printw.3x,v 1.33 2022/02/12 20:05:11 tom Exp @
+ * @Id: curs_printw.3x,v 1.38 2023/09/16 23:37:03 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>curs_printw 3x 2022-02-12 ncurses 6.4 Library calls</TITLE>
+<TITLE>curs_printw 3x 2023-09-16 ncurses 6.4 Library calls</TITLE>
<link rel="author" href="mailto:bug-ncurses@gnu.org">
</HEAD>
<BODY>
-<H1 class="no-header">curs_printw 3x 2022-02-12 ncurses 6.4 Library calls</H1>
+<H1 class="no-header">curs_printw 3x 2023-09-16 ncurses 6.4 Library calls</H1>
<PRE>
<STRONG><A HREF="curs_printw.3x.html">curs_printw(3x)</A></STRONG> Library calls <STRONG><A HREF="curs_printw.3x.html">curs_printw(3x)</A></STRONG>
</PRE><H2><a name="h2-NAME">NAME</a></H2><PRE>
- <STRONG>printw</STRONG>, <STRONG>wprintw</STRONG>, <STRONG>mvprintw</STRONG>, <STRONG>mvwprintw</STRONG>, <STRONG>vwprintw</STRONG>, <STRONG>vw_printw</STRONG> - print
- formatted output in <STRONG>curses</STRONG> windows
+ <STRONG>printw</STRONG>, <STRONG>wprintw</STRONG>, <STRONG>mvprintw</STRONG>, <STRONG>mvwprintw</STRONG>, <STRONG>vwprintw</STRONG>, <STRONG>vw_printw</STRONG> - write
+ formatted output to <EM>curses</EM> windows
</PRE><H2><a name="h2-SYNOPSIS">SYNOPSIS</a></H2><PRE>
</PRE><H2><a name="h2-DESCRIPTION">DESCRIPTION</a></H2><PRE>
The <STRONG>printw</STRONG>, <STRONG>wprintw</STRONG>, <STRONG>mvprintw</STRONG> and <STRONG>mvwprintw</STRONG> routines are analogous to
<STRONG>printf</STRONG> [see <STRONG>printf(3)</STRONG>]. In effect, the string that would be output by
- <STRONG>printf</STRONG> is output instead as though <STRONG>waddstr</STRONG> were used on the given win-
- dow.
+ <STRONG>printf</STRONG> is output instead as though <STRONG>waddstr</STRONG> were used on the given
+ window.
The <STRONG>vwprintw</STRONG> and <STRONG>vw_printw</STRONG> routines are analogous to <STRONG>vprintf</STRONG> [see
<STRONG>printf(3)</STRONG>] and perform a <STRONG>wprintw</STRONG> using a variable argument list. The
- third argument is a <STRONG>va_list</STRONG>, a pointer to a list of arguments, as de-
- fined in <STRONG><stdarg.h></STRONG>.
+ third argument is a <STRONG>va_list</STRONG>, a pointer to a list of arguments, as
+ defined in <STRONG><stdarg.h></STRONG>.
</PRE><H2><a name="h2-RETURN-VALUE">RETURN VALUE</a></H2><PRE>
Routines that return an integer return <STRONG>ERR</STRONG> upon failure and <STRONG>OK</STRONG> (SVr4
- only specifies "an integer value other than <STRONG>ERR</STRONG>") upon successful com-
- pletion.
+ only specifies "an integer value other than <STRONG>ERR</STRONG>") upon successful
+ completion.
X/Open defines no error conditions. In this implementation, an error
may be returned if it cannot allocate enough memory for the buffer used
standard. It did not use <varargs.h>, though that was available. In
1991 (a couple of years after SVr4 was generally available, and after
the C standard was published), other developers updated the library,
- using <stdarg.h> internally in 4.4BSD curses. Even with this improve-
- ment, BSD curses did not use function prototypes (or even declare func-
- tions) in the <curses.h> header until 1992.
+ using <stdarg.h> internally in 4.4BSD curses. Even with this
+ improvement, BSD curses did not use function prototypes (or even
+ declare functions) in the <curses.h> header until 1992.
SVr2 documented <STRONG>printw</STRONG>, <STRONG>wprintw</STRONG> tersely as "printf on <EM>stdscr</EM>" and
tersely as "printf on <EM>win</EM>", respectively.
SVr3 added <STRONG>mvprintw</STRONG>, and <STRONG>mvwprintw</STRONG>, with a three-line summary saying
that they were analogous to <STRONG>printf(3)</STRONG>, explaining that the string which
would be output from <STRONG>printf(3)</STRONG> would instead be output using <STRONG>waddstr</STRONG> on
- the given window. SVr3 also added <STRONG>vwprintw</STRONG>, saying that the third pa-
- rameter is a <STRONG>va_list</STRONG>, defined in <varargs.h>, and referring the reader
- to the manual pages for <EM>varargs</EM> and <STRONG>vprintf</STRONG> for detailed descriptions.
+ the given window. SVr3 also added <STRONG>vwprintw</STRONG>, saying that the third
+ parameter is a <STRONG>va_list</STRONG>, defined in <varargs.h>, and referring the
+ reader to the manual pages for <EM>varargs</EM> and <STRONG>vprintf</STRONG> for detailed
+ descriptions.
- SVr4 added no new variations of <STRONG>printw</STRONG>, but provided for using
+ SVr4 added no new variations of <STRONG>printw</STRONG>, but provided for using
<varargs.h> or <stdarg.h> to define the <STRONG>va_list</STRONG> type.
- X/Open Curses added <STRONG>vw_printw</STRONG> to replace <STRONG>vwprintw</STRONG>, stating that its
+ X/Open Curses added <STRONG>vw_printw</STRONG> to replace <STRONG>vwprintw</STRONG>, stating that its
<STRONG>va_list</STRONG> definition requires <stdarg.h>.
</PRE><H2><a name="h2-PORTABILITY">PORTABILITY</a></H2><PRE>
- In this implementation, <STRONG>vw_printw</STRONG> and <STRONG>vwprintw</STRONG> are equivalent, to sup-
- port legacy applications. However, the latter (<STRONG>vwprintw</STRONG>) is obsolete:
+ In this implementation, <STRONG>vw_printw</STRONG> and <STRONG>vwprintw</STRONG> are equivalent, to
+ support legacy applications. However, the latter (<STRONG>vwprintw</STRONG>) is
+ obsolete:
<STRONG>o</STRONG> The XSI Curses standard, Issue 4 described these functions. The
function <STRONG>vwprintw</STRONG> is marked TO BE WITHDRAWN, and is to be replaced
-ncurses 6.4 2022-02-12 <STRONG><A HREF="curs_printw.3x.html">curs_printw(3x)</A></STRONG>
+ncurses 6.4 2023-09-16 <STRONG><A HREF="curs_printw.3x.html">curs_printw(3x)</A></STRONG>
</PRE>
<div class="nav">
<ul>
* sale, use or other dealings in this Software without prior written *
* authorization. *
****************************************************************************
- * @Id: curs_refresh.3x,v 1.31 2023/08/19 19:47:40 tom Exp @
+ * @Id: curs_refresh.3x,v 1.35 2023/09/16 23:37:03 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>curs_refresh 3x 2023-08-19 ncurses 6.4 Library calls</TITLE>
+<TITLE>curs_refresh 3x 2023-09-16 ncurses 6.4 Library calls</TITLE>
<link rel="author" href="mailto:bug-ncurses@gnu.org">
</HEAD>
<BODY>
-<H1 class="no-header">curs_refresh 3x 2023-08-19 ncurses 6.4 Library calls</H1>
+<H1 class="no-header">curs_refresh 3x 2023-09-16 ncurses 6.4 Library calls</H1>
<PRE>
<STRONG><A HREF="curs_refresh.3x.html">curs_refresh(3x)</A></STRONG> Library calls <STRONG><A HREF="curs_refresh.3x.html">curs_refresh(3x)</A></STRONG>
</PRE><H2><a name="h2-NAME">NAME</a></H2><PRE>
- <STRONG>doupdate</STRONG>, <STRONG>redrawwin</STRONG>, <STRONG>refresh</STRONG>, <STRONG>wnoutrefresh</STRONG>, <STRONG>wredrawln</STRONG>, <STRONG>wrefresh</STRONG> -
- refresh <STRONG>curses</STRONG> windows and lines
+ <STRONG>doupdate</STRONG>, <STRONG>redrawwin</STRONG>, <STRONG>refresh</STRONG>, <STRONG>wnoutrefresh</STRONG>, <STRONG>wredrawln</STRONG>, <STRONG>wrefresh</STRONG> -
+ refresh <EM>curses</EM> windows or lines thereupon
</PRE><H2><a name="h2-SYNOPSIS">SYNOPSIS</a></H2><PRE>
</PRE><H3><a name="h3-refresh_wrefresh">refresh/wrefresh</a></H3><PRE>
The <STRONG>refresh</STRONG> and <STRONG>wrefresh</STRONG> routines (or <STRONG>wnoutrefresh</STRONG> and <STRONG>doupdate</STRONG>) must
- be called to get actual output to the terminal, as other routines mere-
- ly manipulate data structures. The routine <STRONG>wrefresh</STRONG> copies the named
- window to the <EM>physical</EM> <EM>screen</EM>, taking into account what is already
- there to do optimizations. The <STRONG>refresh</STRONG> routine is the same, using <STRONG>std-</STRONG>
- <STRONG>scr</STRONG> as the default window. Unless <STRONG><A HREF="leaveok.3x.html">leaveok(3x)</A></STRONG> has been enabled, the
- physical cursor of the terminal is left at the location of the cursor
- for that window.
+ be called to get actual output to the terminal, as other routines
+ merely manipulate data structures. The routine <STRONG>wrefresh</STRONG> copies the
+ named window to the <EM>physical</EM> <EM>screen</EM>, taking into account what is
+ already there to do optimizations. The <STRONG>refresh</STRONG> routine is the same,
+ using <STRONG>stdscr</STRONG> as the default window. Unless <STRONG><A HREF="leaveok.3x.html">leaveok(3x)</A></STRONG> has been
+ enabled, the physical cursor of the terminal is left at the location of
+ the cursor for that window.
</PRE><H3><a name="h3-wnoutrefresh_doupdate">wnoutrefresh/doupdate</a></H3><PRE>
The <STRONG>wnoutrefresh</STRONG> and <STRONG>doupdate</STRONG> routines allow multiple updates with more
- efficiency than <STRONG>wrefresh</STRONG> alone. In addition to all the window struc-
- tures, <STRONG>curses</STRONG> keeps two data structures representing the terminal
+ efficiency than <STRONG>wrefresh</STRONG> alone. In addition to all the window
+ structures, <STRONG>curses</STRONG> keeps two data structures representing the terminal
screen:
<STRONG>o</STRONG> a <EM>physical</EM> <EM>screen</EM>, describing what is actually on the screen, and
If the programmer wishes to output several windows at once, a series of
calls to <STRONG>wrefresh</STRONG> results in alternating calls to <STRONG>wnoutrefresh</STRONG> and
<STRONG>doupdate</STRONG>, causing several bursts of output to the screen. By first
- calling <STRONG>wnoutrefresh</STRONG> for each window, it is then possible to call <STRONG>doup-</STRONG>
- <STRONG>date</STRONG> once, resulting in only one burst of output, with fewer total
+ calling <STRONG>wnoutrefresh</STRONG> for each window, it is then possible to call
+ <STRONG>doupdate</STRONG> once, resulting in only one burst of output, with fewer total
characters transmitted and less CPU time used.
- If the <EM>win</EM> argument to <STRONG>wrefresh</STRONG> is the <EM>physical</EM> <EM>screen</EM> (i.e., the glob-
- al variable <STRONG>curscr</STRONG>), the screen is immediately cleared and repainted
- from scratch.
+ If the <EM>win</EM> argument to <STRONG>wrefresh</STRONG> is the <EM>physical</EM> <EM>screen</EM> (i.e., the
+ global variable <STRONG>curscr</STRONG>), the screen is immediately cleared and
+ repainted from scratch.
- The phrase "copies the named window to the virtual screen" above is am-
- biguous. What actually happens is that all <EM>touched</EM> (changed) lines in
- the window are copied to the virtual screen. This affects programs
+ The phrase "copies the named window to the virtual screen" above is
+ ambiguous. What actually happens is that all <EM>touched</EM> (changed) lines
+ in the window are copied to the virtual screen. This affects programs
that use overlapping windows; it means that if two windows overlap, you
- can refresh them in either order and the overlap region will be modi-
- fied only when it is explicitly changed. (But see the section on
+ can refresh them in either order and the overlap region will be
+ modified only when it is explicitly changed. (But see the section on
<STRONG>PORTABILITY</STRONG> below for a warning about exploiting this behavior.)
</PRE><H3><a name="h3-wredrawln_redrawwin">wredrawln/redrawwin</a></H3><PRE>
The <STRONG>wredrawln</STRONG> routine indicates to <STRONG>curses</STRONG> that some screen lines are
corrupted and should be thrown away before anything is written over
- them. It touches the indicated lines (marking them changed). The rou-
- tine <STRONG>redrawwin</STRONG> touches the entire window.
+ them. It touches the indicated lines (marking them changed). The
+ routine <STRONG>redrawwin</STRONG> touches the entire window.
</PRE><H2><a name="h2-RETURN-VALUE">RETURN VALUE</a></H2><PRE>
Routines that return an integer return <STRONG>ERR</STRONG> upon failure, and <STRONG>OK</STRONG> (SVr4
- only specifies "an integer value other than <STRONG>ERR</STRONG>") upon successful com-
- pletion.
+ only specifies "an integer value other than <STRONG>ERR</STRONG>") upon successful
+ completion.
X/Open does not define any error conditions. In this implementation
<STRONG>wnoutrefresh</STRONG>
- returns an error if the window pointer is null, or if the win-
- dow is really a pad.
+ returns an error if the window pointer is null, or if the
+ window is really a pad.
<STRONG>wredrawln</STRONG>
returns an error if the associated call to <STRONG>touchln</STRONG> returns an
in historic curses versions (including SVr4). It might be unwise to
rely on either behavior in programs that might have to be linked with
other curses implementations. Instead, you can do an explicit <STRONG>touchwin</STRONG>
- before the <STRONG>wnoutrefresh</STRONG> call to guarantee an entire-contents copy any-
- where.
+ before the <STRONG>wnoutrefresh</STRONG> call to guarantee an entire-contents copy
+ anywhere.
</PRE><H2><a name="h2-SEE-ALSO">SEE ALSO</a></H2><PRE>
-ncurses 6.4 2023-08-19 <STRONG><A HREF="curs_refresh.3x.html">curs_refresh(3x)</A></STRONG>
+ncurses 6.4 2023-09-16 <STRONG><A HREF="curs_refresh.3x.html">curs_refresh(3x)</A></STRONG>
</PRE>
<div class="nav">
<ul>
<!--
****************************************************************************
- * Copyright 2018-2021,2022 Thomas E. Dickey *
+ * Copyright 2018-2022,2023 Thomas E. Dickey *
* Copyright 1998-2010,2017 Free Software Foundation, Inc. *
* *
* Permission is hereby granted, free of charge, to any person obtaining a *
* sale, use or other dealings in this Software without prior written *
* authorization. *
****************************************************************************
- * @Id: curs_scanw.3x,v 1.33 2022/02/12 20:05:11 tom Exp @
+ * @Id: curs_scanw.3x,v 1.38 2023/09/16 23:37:03 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>curs_scanw 3x 2022-02-12 ncurses 6.4 Library calls</TITLE>
+<TITLE>curs_scanw 3x 2023-09-16 ncurses 6.4 Library calls</TITLE>
<link rel="author" href="mailto:bug-ncurses@gnu.org">
</HEAD>
<BODY>
-<H1 class="no-header">curs_scanw 3x 2022-02-12 ncurses 6.4 Library calls</H1>
+<H1 class="no-header">curs_scanw 3x 2023-09-16 ncurses 6.4 Library calls</H1>
<PRE>
<STRONG><A HREF="curs_scanw.3x.html">curs_scanw(3x)</A></STRONG> Library calls <STRONG><A HREF="curs_scanw.3x.html">curs_scanw(3x)</A></STRONG>
</PRE><H2><a name="h2-NAME">NAME</a></H2><PRE>
- <STRONG>scanw</STRONG>, <STRONG>wscanw</STRONG>, <STRONG>mvscanw</STRONG>, <STRONG>mvwscanw</STRONG>, <STRONG>vwscanw</STRONG>, <STRONG>vw_scanw</STRONG> - convert formatted
- input from a <STRONG>curses</STRONG> window
+ <STRONG>scanw</STRONG>, <STRONG>wscanw</STRONG>, <STRONG>mvscanw</STRONG>, <STRONG>mvwscanw</STRONG>, <STRONG>vwscanw</STRONG>, <STRONG>vw_scanw</STRONG> - read formatted
+ input from a <EM>curses</EM> window
</PRE><H2><a name="h2-SYNOPSIS">SYNOPSIS</a></H2><PRE>
-ncurses 6.4 2022-02-12 <STRONG><A HREF="curs_scanw.3x.html">curs_scanw(3x)</A></STRONG>
+ncurses 6.4 2023-09-16 <STRONG><A HREF="curs_scanw.3x.html">curs_scanw(3x)</A></STRONG>
</PRE>
<div class="nav">
<ul>
* sale, use or other dealings in this Software without prior written *
* authorization. *
****************************************************************************
- * @Id: curs_scr_dump.3x,v 1.24 2023/07/01 15:43:20 tom Exp @
+ * @Id: curs_scr_dump.3x,v 1.28 2023/09/16 23:37:03 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>curs_scr_dump 3x 2023-07-01 ncurses 6.4 Library calls</TITLE>
+<TITLE>curs_scr_dump 3x 2023-09-16 ncurses 6.4 Library calls</TITLE>
<link rel="author" href="mailto:bug-ncurses@gnu.org">
</HEAD>
<BODY>
-<H1 class="no-header">curs_scr_dump 3x 2023-07-01 ncurses 6.4 Library calls</H1>
+<H1 class="no-header">curs_scr_dump 3x 2023-09-16 ncurses 6.4 Library calls</H1>
<PRE>
<STRONG><A HREF="curs_scr_dump.3x.html">curs_scr_dump(3x)</A></STRONG> Library calls <STRONG><A HREF="curs_scr_dump.3x.html">curs_scr_dump(3x)</A></STRONG>
</PRE><H2><a name="h2-NAME">NAME</a></H2><PRE>
- <STRONG>scr_dump</STRONG>, <STRONG>scr_restore</STRONG>, <STRONG>scr_init</STRONG>, <STRONG>scr_set</STRONG> - read (write) a <STRONG>curses</STRONG> screen
- from (to) a file
+ <STRONG>scr_dump</STRONG>, <STRONG>scr_restore</STRONG>, <STRONG>scr_init</STRONG>, <STRONG>scr_set</STRONG> - read/write a <EM>curses</EM> screen
+ from/to a file
</PRE><H2><a name="h2-SYNOPSIS">SYNOPSIS</a></H2><PRE>
The XSI Curses standard, Issue 4, describes these functions (adding the
const qualifiers).
- The SVr4 docs merely say under <STRONG>scr_init</STRONG> that the dump data is also con-
- sidered invalid "if the time-stamp of the tty is old" but do not define
- "old".
+ The SVr4 docs merely say under <STRONG>scr_init</STRONG> that the dump data is also
+ considered invalid "if the time-stamp of the tty is old" but do not
+ define "old".
</PRE><H2><a name="h2-SEE-ALSO">SEE ALSO</a></H2><PRE>
-ncurses 6.4 2023-07-01 <STRONG><A HREF="curs_scr_dump.3x.html">curs_scr_dump(3x)</A></STRONG>
+ncurses 6.4 2023-09-16 <STRONG><A HREF="curs_scr_dump.3x.html">curs_scr_dump(3x)</A></STRONG>
</PRE>
<div class="nav">
<ul>
* sale, use or other dealings in this Software without prior written *
* authorization. *
****************************************************************************
- * @Id: curs_scroll.3x,v 1.28 2023/08/19 19:47:52 tom Exp @
+ * @Id: curs_scroll.3x,v 1.32 2023/09/16 23:37:03 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>curs_scroll 3x 2023-08-19 ncurses 6.4 Library calls</TITLE>
+<TITLE>curs_scroll 3x 2023-09-16 ncurses 6.4 Library calls</TITLE>
<link rel="author" href="mailto:bug-ncurses@gnu.org">
</HEAD>
<BODY>
-<H1 class="no-header">curs_scroll 3x 2023-08-19 ncurses 6.4 Library calls</H1>
+<H1 class="no-header">curs_scroll 3x 2023-09-16 ncurses 6.4 Library calls</H1>
<PRE>
<STRONG><A HREF="curs_scroll.3x.html">curs_scroll(3x)</A></STRONG> Library calls <STRONG><A HREF="curs_scroll.3x.html">curs_scroll(3x)</A></STRONG>
</PRE><H2><a name="h2-NAME">NAME</a></H2><PRE>
- <STRONG>scroll</STRONG>, <STRONG>scrl</STRONG>, <STRONG>wscrl</STRONG> - scroll a <STRONG>curses</STRONG> window
+ <STRONG>scroll</STRONG>, <STRONG>scrl</STRONG>, <STRONG>wscrl</STRONG> - scroll a <EM>curses</EM> window
</PRE><H2><a name="h2-SYNOPSIS">SYNOPSIS</a></H2><PRE>
</PRE><H2><a name="h2-DESCRIPTION">DESCRIPTION</a></H2><PRE>
- The <STRONG>scroll</STRONG> routine scrolls the window up one line. This involves mov-
- ing the lines in the window data structure. As an optimization, if the
- scrolling region of the window is the entire screen, the <EM>physical</EM>
+ The <STRONG>scroll</STRONG> routine scrolls the window up one line. This involves
+ moving the lines in the window data structure. As an optimization, if
+ the scrolling region of the window is the entire screen, the <EM>physical</EM>
<EM>screen</EM> may be scrolled at the same time.
For positive <EM>n</EM>, the <STRONG>scrl</STRONG> and <STRONG>wscrl</STRONG> routines scroll the window up <EM>n</EM>
This involves moving the lines in the window character image structure.
The current cursor position is not changed.
- For these functions to work, scrolling must be enabled via <STRONG>scrol-</STRONG>
- <STRONG><A HREF="scrollok.3x.html">lok(3x)</A></STRONG>.
+ For these functions to work, scrolling must be enabled via
+ <STRONG><A HREF="scrollok.3x.html">scrollok(3x)</A></STRONG>.
</PRE><H2><a name="h2-RETURN-VALUE">RETURN VALUE</a></H2><PRE>
of smarter optimization of multiple scroll actions on the next update.
Neither the SVr4 nor the XSI documentation specify whether the current
- attribute or current color-pair of blanks generated by the scroll func-
- tion is zeroed. Under this implementation it is.
+ attribute or current color-pair of blanks generated by the scroll
+ function is zeroed. Under this implementation it is.
</PRE><H2><a name="h2-PORTABILITY">PORTABILITY</a></H2><PRE>
-ncurses 6.4 2023-08-19 <STRONG><A HREF="curs_scroll.3x.html">curs_scroll(3x)</A></STRONG>
+ncurses 6.4 2023-09-16 <STRONG><A HREF="curs_scroll.3x.html">curs_scroll(3x)</A></STRONG>
</PRE>
<div class="nav">
<ul>
* sale, use or other dealings in this Software without prior written *
* authorization. *
****************************************************************************
- * @Id: curs_slk.3x,v 1.48 2023/07/01 15:43:20 tom Exp @
+ * @Id: curs_slk.3x,v 1.53 2023/09/16 23:37:03 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>curs_slk 3x 2023-07-01 ncurses 6.4 Library calls</TITLE>
+<TITLE>curs_slk 3x 2023-09-16 ncurses 6.4 Library calls</TITLE>
<link rel="author" href="mailto:bug-ncurses@gnu.org">
</HEAD>
<BODY>
-<H1 class="no-header">curs_slk 3x 2023-07-01 ncurses 6.4 Library calls</H1>
+<H1 class="no-header">curs_slk 3x 2023-09-16 ncurses 6.4 Library calls</H1>
<PRE>
<STRONG><A HREF="curs_slk.3x.html">curs_slk(3x)</A></STRONG> Library calls <STRONG><A HREF="curs_slk.3x.html">curs_slk(3x)</A></STRONG>
</PRE><H2><a name="h2-NAME">NAME</a></H2><PRE>
- <STRONG>slk_init</STRONG>, <STRONG>slk_set</STRONG>, <STRONG>slk_wset</STRONG>, <STRONG>slk_refresh</STRONG>, <STRONG>slk_noutrefresh</STRONG>, <STRONG>slk_label</STRONG>,
- <STRONG>slk_clear</STRONG>, <STRONG>slk_restore</STRONG>, <STRONG>slk_touch</STRONG>, <STRONG>slk_attron</STRONG>, <STRONG>slk_attrset</STRONG>,
- <STRONG>slk_attroff</STRONG>, <STRONG>slk_attr_on</STRONG>, <STRONG>slk_attr_set</STRONG>, <STRONG>slk_attr_off</STRONG>, <STRONG>slk_attr</STRONG>,
- <STRONG>slk_color</STRONG>, <STRONG>extended_slk_color</STRONG> - <STRONG>curses</STRONG> soft label routines
+ <STRONG>slk_init</STRONG>, <STRONG>slk_set</STRONG>, <STRONG>slk_wset</STRONG>, <STRONG>slk_refresh</STRONG>, <STRONG>slk_noutrefresh</STRONG>, <STRONG>slk_label</STRONG>,
+ <STRONG>slk_clear</STRONG>, <STRONG>slk_restore</STRONG>, <STRONG>slk_touch</STRONG>, <STRONG>slk_attron</STRONG>, <STRONG>slk_attrset</STRONG>,
+ <STRONG>slk_attroff</STRONG>, <STRONG>slk_attr_on</STRONG>, <STRONG>slk_attr_set</STRONG>, <STRONG>slk_attr_off</STRONG>, <STRONG>slk_attr</STRONG>,
+ <STRONG>slk_color</STRONG>, <STRONG>extended_slk_color</STRONG> - <EM>curses</EM> soft label key routines
</PRE><H2><a name="h2-SYNOPSIS">SYNOPSIS</a></H2><PRE>
</PRE><H2><a name="h2-DESCRIPTION">DESCRIPTION</a></H2><PRE>
The slk* functions manipulate the set of soft function-key labels that
- exist on many terminals. For those terminals that do not have soft la-
- bels, <STRONG>curses</STRONG> takes over the bottom line of <STRONG>stdscr</STRONG>, reducing the size of
- <STRONG>stdscr</STRONG> and the variable <STRONG>LINES</STRONG>. <STRONG>curses</STRONG> standardizes on eight labels of
- up to eight characters each. In addition to this, the ncurses imple-
- mentation supports a mode where it simulates 12 labels of up to five
- characters each. This is useful for PC-like enduser devices. ncurses
- simulates this mode by taking over up to two lines at the bottom of the
- screen; it does not try to use any hardware support for this mode.
+ exist on many terminals. For those terminals that do not have soft
+ labels, <STRONG>curses</STRONG> takes over the bottom line of <STRONG>stdscr</STRONG>, reducing the size
+ of <STRONG>stdscr</STRONG> and the variable <STRONG>LINES</STRONG>. <STRONG>curses</STRONG> standardizes on eight labels
+ of up to eight characters each. In addition to this, the ncurses
+ implementation supports a mode where it simulates 12 labels of up to
+ five characters each. This is useful for PC-like enduser devices.
+ ncurses simulates this mode by taking over up to two lines at the
+ bottom of the screen; it does not try to use any hardware support for
+ this mode.
</PRE><H3><a name="h3-Initialization">Initialization</a></H3><PRE>
- The <STRONG>slk_init</STRONG> routine must be called before <STRONG>initscr</STRONG> or <STRONG>newterm</STRONG> is
- called. If <STRONG>initscr</STRONG> eventually uses a line from <STRONG>stdscr</STRONG> to emulate the
- soft labels, then <EM>fmt</EM> determines how the labels are arranged on the
+ The <STRONG>slk_init</STRONG> routine must be called before <STRONG>initscr</STRONG> or <STRONG>newterm</STRONG> is
+ called. If <STRONG>initscr</STRONG> eventually uses a line from <STRONG>stdscr</STRONG> to emulate the
+ soft labels, then <EM>fmt</EM> determines how the labels are arranged on the
screen:
<STRONG>0</STRONG> indicates a 3-2-3 arrangement of the labels.
</PRE><H3><a name="h3-Labels">Labels</a></H3><PRE>
- The <STRONG>slk_set</STRONG> routine (and the <STRONG>slk_wset</STRONG> routine for the wide-character
+ The <STRONG>slk_set</STRONG> routine (and the <STRONG>slk_wset</STRONG> routine for the wide-character
library) has three parameters:
<EM>labnum</EM>
<STRONG>3</STRONG>);
<EM>label</EM>
- is be the string to put on the label, up to eight (five if <EM>fmt</EM>
- in <STRONG>slk_init</STRONG> is <STRONG>2</STRONG> or <STRONG>3</STRONG>) characters in length. A null string or
+ is be the string to put on the label, up to eight (five if <EM>fmt</EM>
+ in <STRONG>slk_init</STRONG> is <STRONG>2</STRONG> or <STRONG>3</STRONG>) characters in length. A null string or
a null pointer sets up a blank label.
- <EM>fmt</EM> is either <STRONG>0</STRONG>, <STRONG>1</STRONG>, or <STRONG>2</STRONG>, indicating whether the label is to be
+ <EM>fmt</EM> is either <STRONG>0</STRONG>, <STRONG>1</STRONG>, or <STRONG>2</STRONG>, indicating whether the label is to be
left-justified, centered, or right-justified, respectively,
within the label.
- The <STRONG>slk_label</STRONG> routine returns the current label for label number <EM>lab-</EM>
- <EM>num</EM>, with leading and trailing blanks stripped.
+ The <STRONG>slk_label</STRONG> routine returns the current label for label number
+ <EM>labnum</EM>, with leading and trailing blanks stripped.
</PRE><H3><a name="h3-Screen-updates">Screen updates</a></H3><PRE>
The <STRONG>slk_clear</STRONG> routine clears the soft labels from the screen.
- The <STRONG>slk_restore</STRONG> routine restores the soft labels to the screen after a
+ The <STRONG>slk_restore</STRONG> routine restores the soft labels to the screen after a
<STRONG>slk_clear</STRONG> has been performed.
- The <STRONG>slk_touch</STRONG> routine forces all the soft labels to be output the next
+ The <STRONG>slk_touch</STRONG> routine forces all the soft labels to be output the next
time a <STRONG>slk_noutrefresh</STRONG> is performed.
</PRE><H3><a name="h3-Video-attributes">Video attributes</a></H3><PRE>
- The <STRONG>slk_attron</STRONG>, <STRONG>slk_attrset</STRONG>, <STRONG>slk_attroff</STRONG> and <STRONG>slk_attr</STRONG> routines corre-
- spond to <STRONG>attron</STRONG>, <STRONG>attrset</STRONG>, <STRONG>attroff</STRONG> and <STRONG>attr_get</STRONG>, respectively. They
- have an effect only if soft labels are simulated on the bottom line of
- the screen. The default highlight for soft keys is A_STANDOUT (as in
- System V curses, which does not document this fact).
+ The <STRONG>slk_attron</STRONG>, <STRONG>slk_attrset</STRONG>, <STRONG>slk_attroff</STRONG> and <STRONG>slk_attr</STRONG> routines
+ correspond to <STRONG>attron</STRONG>, <STRONG>attrset</STRONG>, <STRONG>attroff</STRONG> and <STRONG>attr_get</STRONG>, respectively.
+ They have an effect only if soft labels are simulated on the bottom
+ line of the screen. The default highlight for soft keys is A_STANDOUT
+ (as in System V curses, which does not document this fact).
</PRE><H3><a name="h3-Colors">Colors</a></H3><PRE>
- The <STRONG>slk_color</STRONG> routine corresponds to <STRONG>color_set</STRONG>. It has an effect only
+ The <STRONG>slk_color</STRONG> routine corresponds to <STRONG>color_set</STRONG>. It has an effect only
if soft labels are simulated on the bottom line of the screen.
- Because <STRONG>slk_color</STRONG> accepts only <STRONG>short</STRONG> (signed 16-bit integer) values,
- this implementation provides <STRONG>extended_slk_color</STRONG> which accepts an inte-
- ger value, e.g., 32-bits.
+ Because <STRONG>slk_color</STRONG> accepts only <STRONG>short</STRONG> (signed 16-bit integer) values,
+ this implementation provides <STRONG>extended_slk_color</STRONG> which accepts an
+ integer value, e.g., 32-bits.
</PRE><H2><a name="h2-RETURN-VALUE">RETURN VALUE</a></H2><PRE>
- These routines return <STRONG>ERR</STRONG> upon failure and <STRONG>OK</STRONG> (SVr4 specifies only "an
+ These routines return <STRONG>ERR</STRONG> upon failure and <STRONG>OK</STRONG> (SVr4 specifies only "an
integer value other than <STRONG>ERR</STRONG>") upon successful completion.
X/Open defines no error conditions. In this implementation
<STRONG>slk_attr</STRONG>
returns the attribute used for the soft keys.
- <STRONG>slk_attroff</STRONG>, <STRONG>slk_attron</STRONG>, <STRONG>slk_clear</STRONG>, <STRONG>slk_noutrefresh</STRONG>, <STRONG>slk_refresh</STRONG>,
+ <STRONG>slk_attroff</STRONG>, <STRONG>slk_attron</STRONG>, <STRONG>slk_clear</STRONG>, <STRONG>slk_noutrefresh</STRONG>, <STRONG>slk_refresh</STRONG>,
<STRONG>slk_touch</STRONG>
- return an error if the terminal or the softkeys were not ini-
- tialized.
+ return an error if the terminal or the softkeys were not
+ initialized.
<STRONG>slk_attrset</STRONG>
- returns an error if the terminal or the softkeys were not ini-
- tialized.
+ returns an error if the terminal or the softkeys were not
+ initialized.
<STRONG>slk_attr_set</STRONG>
- returns an error if the terminal or the softkeys were not ini-
- tialized, or the color pair is outside the range 0..COL-
- OR_PAIRS-1.
+ returns an error if the terminal or the softkeys were not
+ initialized, or the color pair is outside the range
+ 0..COLOR_PAIRS-1.
<STRONG>slk_color</STRONG>
- returns an error if the terminal or the softkeys were not ini-
- tialized, or the color pair is outside the range 0..COL-
- OR_PAIRS-1.
+ returns an error if the terminal or the softkeys were not
+ initialized, or the color pair is outside the range
+ 0..COLOR_PAIRS-1.
<STRONG>slk_init</STRONG>
- returns an error if the format parameter is outside the range
+ returns an error if the format parameter is outside the range
0..3.
<STRONG>slk_label</STRONG>
returns <STRONG>NULL</STRONG> on error.
<STRONG>slk_set</STRONG>
- returns an error if the terminal or the softkeys were not ini-
- tialized, or the <EM>labnum</EM> parameter is outside the range of label
- counts, or if the format parameter is outside the range 0..2,
- or if memory for the labels cannot be allocated.
+ returns an error if the terminal or the softkeys were not
+ initialized, or the <EM>labnum</EM> parameter is outside the range of
+ label counts, or if the format parameter is outside the range
+ 0..2, or if memory for the labels cannot be allocated.
</PRE><H2><a name="h2-HISTORY">HISTORY</a></H2><PRE>
</PRE><H2><a name="h2-EXTENSIONS">EXTENSIONS</a></H2><PRE>
- X/Open Curses documents the <EM>opts</EM> argument as reserved for future use,
- saying that it must be null. This implementation uses that parameter
+ X/Open Curses documents the <EM>opts</EM> argument as reserved for future use,
+ saying that it must be null. This implementation uses that parameter
in ABI 6 for the functions which have a color-pair parameter to support
extended color pairs.
- For functions which modify the color, e.g., <STRONG>slk_attr_set</STRONG>, if <EM>opts</EM> is
- set it is treated as a pointer to <STRONG>int</STRONG>, and used to set the color
+ For functions which modify the color, e.g., <STRONG>slk_attr_set</STRONG>, if <EM>opts</EM> is
+ set it is treated as a pointer to <STRONG>int</STRONG>, and used to set the color
pair instead of the <STRONG>short</STRONG> pair parameter.
</PRE><H2><a name="h2-NOTES">NOTES</a></H2><PRE>
- Most applications would use <STRONG>slk_noutrefresh</STRONG> because a <STRONG>wrefresh</STRONG> is like-
- ly to follow soon.
+ Most applications would use <STRONG>slk_noutrefresh</STRONG> because a <STRONG>wrefresh</STRONG> is
+ likely to follow soon.
</PRE><H2><a name="h2-PORTABILITY">PORTABILITY</a></H2><PRE>
- The XSI Curses standard, Issue 4, described the soft-key functions,
+ The XSI Curses standard, Issue 4, described the soft-key functions,
with some differences from SVr4 curses:
- <STRONG>o</STRONG> It added functions like the SVr4 attribute-manipulation functions
- <STRONG>slk_attron</STRONG>, <STRONG>slk_attroff</STRONG>, <STRONG>slk_attrset</STRONG>, but which use <STRONG>attr_t</STRONG> parame-
- ters (rather than <STRONG>chtype</STRONG>), along with a reserved <EM>opts</EM> parameter.
+ <STRONG>o</STRONG> It added functions like the SVr4 attribute-manipulation functions
+ <STRONG>slk_attron</STRONG>, <STRONG>slk_attroff</STRONG>, <STRONG>slk_attrset</STRONG>, but which use <STRONG>attr_t</STRONG>
+ parameters (rather than <STRONG>chtype</STRONG>), along with a reserved <EM>opts</EM>
+ parameter.
- Two of these new functions (unlike the SVr4 functions) have no pro-
- vision for color: <STRONG>slk_attr_on</STRONG> and <STRONG>slk_attr_off</STRONG>.
+ Two of these new functions (unlike the SVr4 functions) have no
+ provision for color: <STRONG>slk_attr_on</STRONG> and <STRONG>slk_attr_off</STRONG>.
The third function (<STRONG>slk_attr_set</STRONG>) has a color-pair parameter.
<STRONG>o</STRONG> Soft-key groups are an array of <EM>ng</EM> integers.
<STRONG>o</STRONG> In SVr4, <STRONG>slk_init</STRONG> calls <STRONG>slk_start</STRONG> passing a null for <EM>gp</EM>. For this
- case, <STRONG>slk_start</STRONG> uses the number of groups <EM>ng</EM> (3 for the 3-2-3 lay-
- out, 2 for the 4-4 layout) which <STRONG>slk_init</STRONG> provided.
+ case, <STRONG>slk_start</STRONG> uses the number of groups <EM>ng</EM> (3 for the 3-2-3
+ layout, 2 for the 4-4 layout) which <STRONG>slk_init</STRONG> provided.
- If <EM>ng</EM> is neither 2 or 3, <STRONG>slk_start</STRONG> checks the terminfo <EM>fln</EM> (la-
- bel_format) capability, interpreting that as a comma-separated list
- of numbers, e.g., "3,2,3" for the 3-2-3 layout.
+ If <EM>ng</EM> is neither 2 or 3, <STRONG>slk_start</STRONG> checks the terminfo <EM>fln</EM>
+ (label_format) capability, interpreting that as a comma-separated
+ list of numbers, e.g., "3,2,3" for the 3-2-3 layout.
Finally, if there is no <EM>fln</EM> capability, <STRONG>slk_start</STRONG> returns ERR.
-ncurses 6.4 2023-07-01 <STRONG><A HREF="curs_slk.3x.html">curs_slk(3x)</A></STRONG>
+ncurses 6.4 2023-09-16 <STRONG><A HREF="curs_slk.3x.html">curs_slk(3x)</A></STRONG>
</PRE>
<div class="nav">
<ul>
* sale, use or other dealings in this Software without prior written *
* authorization. *
****************************************************************************
- * @Id: curs_sp_funcs.3x,v 1.33 2023/08/19 19:48:07 tom Exp @
+ * @Id: curs_sp_funcs.3x,v 1.37 2023/09/16 23:37:03 tom Exp @
* ***************************************************************************
* ***************************************************************************
* ***************************************************************************
<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>curs_sp_funcs 3x 2023-08-19 ncurses 6.4 Library calls</TITLE>
+<TITLE>curs_sp_funcs 3x 2023-09-16 ncurses 6.4 Library calls</TITLE>
<link rel="author" href="mailto:bug-ncurses@gnu.org">
</HEAD>
<BODY>
-<H1 class="no-header">curs_sp_funcs 3x 2023-08-19 ncurses 6.4 Library calls</H1>
+<H1 class="no-header">curs_sp_funcs 3x 2023-09-16 ncurses 6.4 Library calls</H1>
<PRE>
<STRONG><A HREF="curs_sp_funcs.3x.html">curs_sp_funcs(3x)</A></STRONG> Library calls <STRONG><A HREF="curs_sp_funcs.3x.html">curs_sp_funcs(3x)</A></STRONG>
</PRE><H2><a name="h2-NAME">NAME</a></H2><PRE>
- curs_sp_funcs - <STRONG>curses</STRONG> screen-pointer extension
+ <STRONG>curs_sp_funcs</STRONG> - <EM>curses</EM> screen-pointer extension
</PRE><H2><a name="h2-SYNOPSIS">SYNOPSIS</a></H2><PRE>
</PRE><H3><a name="h3-IMPROVED-FUNCTIONS">IMPROVED FUNCTIONS</a></H3><PRE>
- Most of the functions are new versions of existing functions. A param-
- eter is added at the front of the parameter list. It is a SCREEN
+ Most of the functions are new versions of existing functions. A
+ parameter is added at the front of the parameter list. It is a SCREEN
pointer.
The existing functions all use the current screen, which is a static
- variable. The extended functions use the specified screen, thereby re-
- ducing the number of variables which must be modified to update multi-
- ple screens.
+ variable. The extended functions use the specified screen, thereby
+ reducing the number of variables which must be modified to update
+ multiple screens.
</PRE><H3><a name="h3-NEW-FUNCTIONS">NEW FUNCTIONS</a></H3><PRE>
With the screen-pointer extension, there are situations where it
must create a current screen before the unextended library does.
The <STRONG>new_prescr</STRONG> function is used internally to handle these cases.
- It is also provided as an entrypoint to allow applications to cus-
- tomize the library initialization.
+ It is also provided as an entrypoint to allow applications to
+ customize the library initialization.
</PRE><H2><a name="h2-NOTES">NOTES</a></H2><PRE>
NCURSES_SP_NAME
The new functions are named using the macro <EM>NCURSES</EM><STRONG>_</STRONG><EM>SP</EM><STRONG>_</STRONG><EM>NAME</EM>, which
- hides the actual implementation. Currently this adds a "_sp" suf-
- fix to the name of the unextended function. This manual page in-
- dexes the extensions showing the full name. However the proper
- usage of these functions uses the macro, to provide for the possi-
- bility of changing the naming convention for specific library con-
- figurations.
+ hides the actual implementation. Currently this adds a "_sp"
+ suffix to the name of the unextended function. This manual page
+ indexes the extensions showing the full name. However the proper
+ usage of these functions uses the macro, to provide for the
+ possibility of changing the naming convention for specific library
+ configurations.
NCURSES_SP_OUTC
This is a new function-pointer type to use in the screen-pointer
functions where an <EM>NCURSES</EM><STRONG>_</STRONG><EM>OUTC</EM> is used in the unextended library.
NCURSES_OUTC
- This is a function-pointer type used for the cases where a func-
- tion passes characters to the output stream, e.g., <STRONG><A HREF="curs_terminfo.3x.html">vidputs(3x)</A></STRONG>.
+ This is a function-pointer type used for the cases where a
+ function passes characters to the output stream, e.g.,
+ <STRONG><A HREF="curs_terminfo.3x.html">vidputs(3x)</A></STRONG>.
</PRE><H2><a name="h2-PORTABILITY">PORTABILITY</a></H2><PRE>
- These routines are specific to ncurses. They were not supported on
+ These routines are specific to ncurses. They were not supported on
Version 7, BSD or System V implementations. It is recommended that any
- code depending on ncurses extensions be conditioned using <EM>NCURS-</EM>
- <EM>ES</EM><STRONG>_</STRONG><EM>SP</EM><STRONG>_</STRONG><EM>FUNCS</EM>.
+ code depending on ncurses extensions be conditioned using
+ <EM>NCURSES</EM><STRONG>_</STRONG><EM>SP</EM><STRONG>_</STRONG><EM>FUNCS</EM>.
</PRE><H2><a name="h2-SEE-ALSO">SEE ALSO</a></H2><PRE>
-ncurses 6.4 2023-08-19 <STRONG><A HREF="curs_sp_funcs.3x.html">curs_sp_funcs(3x)</A></STRONG>
+ncurses 6.4 2023-09-16 <STRONG><A HREF="curs_sp_funcs.3x.html">curs_sp_funcs(3x)</A></STRONG>
</PRE>
<div class="nav">
<ul>
* sale, use or other dealings in this Software without prior written *
* authorization. *
****************************************************************************
- * @Id: curs_termattrs.3x,v 1.24 2023/07/01 14:31:54 tom Exp @
+ * @Id: curs_termattrs.3x,v 1.28 2023/09/16 23:37:03 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>curs_termattrs 3x 2023-07-01 ncurses 6.4 Library calls</TITLE>
+<TITLE>curs_termattrs 3x 2023-09-16 ncurses 6.4 Library calls</TITLE>
<link rel="author" href="mailto:bug-ncurses@gnu.org">
</HEAD>
<BODY>
-<H1 class="no-header">curs_termattrs 3x 2023-07-01 ncurses 6.4 Library calls</H1>
+<H1 class="no-header">curs_termattrs 3x 2023-09-16 ncurses 6.4 Library calls</H1>
<PRE>
<STRONG><A HREF="curs_termattrs.3x.html">curs_termattrs(3x)</A></STRONG> Library calls <STRONG><A HREF="curs_termattrs.3x.html">curs_termattrs(3x)</A></STRONG>
</PRE><H2><a name="h2-NAME">NAME</a></H2><PRE>
<STRONG>baudrate</STRONG>, <STRONG>erasechar</STRONG>, <STRONG>erasewchar</STRONG>, <STRONG>has_ic</STRONG>, <STRONG>has_il</STRONG>, <STRONG>killchar</STRONG>, <STRONG>killwchar</STRONG>,
- <STRONG>longname</STRONG>, <STRONG>term_attrs</STRONG>, <STRONG>termattrs</STRONG>, <STRONG>termname</STRONG> - <STRONG>curses</STRONG> environment query
+ <STRONG>longname</STRONG>, <STRONG>term_attrs</STRONG>, <STRONG>termattrs</STRONG>, <STRONG>termname</STRONG> - <EM>curses</EM> environment query
routines
-ncurses 6.4 2023-07-01 <STRONG><A HREF="curs_termattrs.3x.html">curs_termattrs(3x)</A></STRONG>
+ncurses 6.4 2023-09-16 <STRONG><A HREF="curs_termattrs.3x.html">curs_termattrs(3x)</A></STRONG>
</PRE>
<div class="nav">
<ul>
* sale, use or other dealings in this Software without prior written *
* authorization. *
****************************************************************************
- * @Id: curs_termcap.3x,v 1.62 2023/07/01 15:28:47 tom Exp @
+ * @Id: curs_termcap.3x,v 1.66 2023/09/16 23:37:03 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>curs_termcap 3x 2023-07-01 ncurses 6.4 Library calls</TITLE>
+<TITLE>curs_termcap 3x 2023-09-16 ncurses 6.4 Library calls</TITLE>
<link rel="author" href="mailto:bug-ncurses@gnu.org">
</HEAD>
<BODY>
-<H1 class="no-header">curs_termcap 3x 2023-07-01 ncurses 6.4 Library calls</H1>
+<H1 class="no-header">curs_termcap 3x 2023-09-16 ncurses 6.4 Library calls</H1>
<PRE>
<STRONG><A HREF="curs_termcap.3x.html">curs_termcap(3x)</A></STRONG> Library calls <STRONG><A HREF="curs_termcap.3x.html">curs_termcap(3x)</A></STRONG>
</PRE><H2><a name="h2-NAME">NAME</a></H2><PRE>
<STRONG>PC</STRONG>, <STRONG>UP</STRONG>, <STRONG>BC</STRONG>, <STRONG>ospeed</STRONG>, <STRONG>tgetent</STRONG>, <STRONG>tgetflag</STRONG>, <STRONG>tgetnum</STRONG>, <STRONG>tgetstr</STRONG>, <STRONG>tgoto</STRONG>, <STRONG>tputs</STRONG> -
- <STRONG>curses</STRONG> emulation of termcap
+ <EM>curses</EM> emulation of <EM>termcap</EM>
</PRE><H2><a name="h2-SYNOPSIS">SYNOPSIS</a></H2><PRE>
This differs from the <EM>termcap</EM> library in two ways:
- <STRONG>o</STRONG> The emulation ignores the buffer pointer <EM>bp</EM>. The <EM>termcap</EM> li-
- brary would store a copy of the terminal description in the area
- referenced by this pointer. However, ncurses stores its termi-
- nal descriptions in compiled binary form, which is not the same
- thing.
+ <STRONG>o</STRONG> The emulation ignores the buffer pointer <EM>bp</EM>. The <EM>termcap</EM>
+ library would store a copy of the terminal description in the
+ area referenced by this pointer. However, ncurses stores its
+ terminal descriptions in compiled binary form, which is not the
+ same thing.
<STRONG>o</STRONG> There is a difference in return codes. The <EM>termcap</EM> library does
not check if the terminal description is marked with the <EM>generic</EM>
- capability, or if the terminal description has cursor-address-
- ing.
+ capability, or if the terminal description has cursor-
+ addressing.
</PRE><H3><a name="h3-Capability-Values">Capability Values</a></H3><PRE>
available.
The <STRONG>tgetstr</STRONG> routine returns the string entry for <EM>id</EM>, or zero if it is
- not available. Use <STRONG>tputs</STRONG> to output the returned string. The <EM>area</EM> pa-
- rameter is used as follows:
+ not available. Use <STRONG>tputs</STRONG> to output the returned string. The <EM>area</EM>
+ parameter is used as follows:
<STRONG>o</STRONG> It is assumed to be the address of a pointer to a buffer managed
by the calling application.
- <STRONG>o</STRONG> However, ncurses checks to ensure that <STRONG>area</STRONG> is not NULL, and al-
- so that the resulting buffer pointer is not NULL. If either
+ <STRONG>o</STRONG> However, ncurses checks to ensure that <STRONG>area</STRONG> is not NULL, and
+ also that the resulting buffer pointer is not NULL. If either
check fails, the <EM>area</EM> parameter is ignored.
<STRONG>o</STRONG> If the checks succeed, ncurses also copies the return value to
- the buffer pointed to by <EM>area</EM>, and the <EM>area</EM> value will be updat-
- ed to point past the null ending this value.
+ the buffer pointed to by <EM>area</EM>, and the <EM>area</EM> value will be
+ updated to point past the null ending this value.
- <STRONG>o</STRONG> The return value itself is an address in the terminal descrip-
- tion which is loaded into memory.
+ <STRONG>o</STRONG> The return value itself is an address in the terminal
+ description which is loaded into memory.
Only the first two characters of the <STRONG>id</STRONG> parameter of <STRONG>tgetflag</STRONG>, <STRONG>tgetnum</STRONG>
and <STRONG>tgetstr</STRONG> are compared in lookups.
The <STRONG>tgoto</STRONG> routine expands the given capability using the parameters.
<STRONG>o</STRONG> Because the capability may have padding characters, the output of
- <STRONG>tgoto</STRONG> should be passed to <STRONG>tputs</STRONG> rather than some other output func-
- tion such as <STRONG>printf(3)</STRONG>.
+ <STRONG>tgoto</STRONG> should be passed to <STRONG>tputs</STRONG> rather than some other output
+ function such as <STRONG>printf(3)</STRONG>.
- <STRONG>o</STRONG> While <STRONG>tgoto</STRONG> is assumed to be used for the two-parameter cursor po-
- sitioning capability, termcap applications also use it for single-
- parameter capabilities.
+ <STRONG>o</STRONG> While <STRONG>tgoto</STRONG> is assumed to be used for the two-parameter cursor
+ positioning capability, termcap applications also use it for
+ single-parameter capabilities.
- Doing this shows a quirk in <STRONG>tgoto</STRONG>: most hardware terminals use cur-
- sor addressing with <EM>row</EM> first, but the original developers of the
- termcap interface chose to put the <EM>column</EM> parameter first. The
+ Doing this shows a quirk in <STRONG>tgoto</STRONG>: most hardware terminals use
+ cursor addressing with <EM>row</EM> first, but the original developers of
+ the termcap interface chose to put the <EM>column</EM> parameter first. The
<STRONG>tgoto</STRONG> function swaps the order of parameters. It does this also
for calls requiring only a single parameter. In that case, the
first parameter is merely a placeholder.
<STRONG>o</STRONG> Normally the ncurses library is compiled with terminfo support. In
- that case, <STRONG>tgoto</STRONG> uses an internal version of <STRONG><A HREF="curs_terminfo.3x.html">tparm(3x)</A></STRONG> (a more ca-
- pable formatter).
+ that case, <STRONG>tgoto</STRONG> uses an internal version of <STRONG><A HREF="curs_terminfo.3x.html">tparm(3x)</A></STRONG> (a more
+ capable formatter).
With terminfo support, <STRONG>tgoto</STRONG> is able to use some of the terminfo
- features, but not all. In particular, it allows only numeric pa-
- rameters; <STRONG>tparm</STRONG> supports string parameters.
+ features, but not all. In particular, it allows only numeric
+ parameters; <STRONG>tparm</STRONG> supports string parameters.
- However, <STRONG>tparm</STRONG> is not a <EM>termcap</EM> feature, and portable <EM>termcap</EM> ap-
- plications should not rely upon its availability.
+ However, <STRONG>tparm</STRONG> is not a <EM>termcap</EM> feature, and portable <EM>termcap</EM>
+ applications should not rely upon its availability.
The <STRONG>tputs</STRONG> routine is described on the <STRONG><A HREF="curs_terminfo.3x.html">curs_terminfo(3x)</A></STRONG> manual page.
It can retrieve capabilities by either termcap or terminfo name.
</PRE><H3><a name="h3-Releasing-Memory">Releasing Memory</a></H3><PRE>
The termcap functions provide no means for freeing memory, because
legacy termcap implementations used only the buffer areas provided by
- the caller via <STRONG>tgetent</STRONG> and <STRONG>tgetstr</STRONG>. Those buffers are unused in ter-
- minfo.
+ the caller via <STRONG>tgetent</STRONG> and <STRONG>tgetstr</STRONG>. Those buffers are unused in
+ terminfo.
- On the other hand, terminfo allocates memory. It uses <STRONG>setupterm</STRONG> to re-
- trieve the data used by <STRONG>tgetent</STRONG> and the functions which return capabil-
- ity values such as <STRONG>tgetstr</STRONG>. One could use
+ On the other hand, terminfo allocates memory. It uses <STRONG>setupterm</STRONG> to
+ retrieve the data used by <STRONG>tgetent</STRONG> and the functions which return
+ capability values such as <STRONG>tgetstr</STRONG>. One could use
<STRONG>del_curterm(cur_term);</STRONG>
to free this memory, but there is an additional complication with
- ncurses. It uses a fixed-size <EM>pool</EM> of storage locations, one per set-
- ting of the <STRONG>TERM</STRONG> variable when <STRONG>tgetent</STRONG> is called. The <STRONG>screen(1)</STRONG> pro-
- gram relies upon this arrangement, to improve its performance.
+ ncurses. It uses a fixed-size <EM>pool</EM> of storage locations, one per
+ setting of the <STRONG>TERM</STRONG> variable when <STRONG>tgetent</STRONG> is called. The <STRONG>screen(1)</STRONG>
+ program relies upon this arrangement, to improve its performance.
An application which uses only the low-level termcap functions could
- free the memory using <STRONG>del_curterm</STRONG>, because the pool is freed using oth-
- er functions (see <STRONG><A HREF="curs_memleaks.3x.html">curs_memleaks(3x)</A></STRONG>).
+ free the memory using <STRONG>del_curterm</STRONG>, because the pool is freed using
+ other functions (see <STRONG><A HREF="curs_memleaks.3x.html">curs_memleaks(3x)</A></STRONG>).
</PRE><H2><a name="h2-RETURN-VALUE">RETURN VALUE</a></H2><PRE>
<STRONG>o</STRONG> The calls with a string parameter (<STRONG>tgoto</STRONG>, <STRONG>tputs</STRONG>) check if the
string is null, or cancelled. Those return an error.
- <STRONG>o</STRONG> A call to <STRONG>tgoto</STRONG> using a capability with string parameters is an er-
- ror.
+ <STRONG>o</STRONG> A call to <STRONG>tgoto</STRONG> using a capability with string parameters is an
+ error.
<STRONG>o</STRONG> A call to <STRONG>tgoto</STRONG> using a capability with more than two parameters is
an error.
aware that it will be returned in terminfo notation, not the older and
not-quite-compatible termcap notation. This will not cause problems if
all you do with it is call <STRONG>tgoto</STRONG> or <STRONG>tparm</STRONG>, which both expand terminfo-
- style strings as terminfo. (The <STRONG>tgoto</STRONG> function, if configured to sup-
- port termcap, will check if the string is indeed terminfo-style by
+ style strings as terminfo. (The <STRONG>tgoto</STRONG> function, if configured to
+ support termcap, will check if the string is indeed terminfo-style by
looking for "%p" parameters or "$<..>" delays, and invoke a termcap-
style parser if the string does not appear to be terminfo).
- Because terminfo conventions for representing padding in string capa-
- bilities differ from termcap's, users can be surprised:
+ Because terminfo conventions for representing padding in string
+ capabilities differ from termcap's, users can be surprised:
<STRONG>o</STRONG> <STRONG>tputs("50")</STRONG> in a terminfo system will put out a literal "50" rather
than busy-waiting for 50 milliseconds.
<STRONG>o</STRONG> However, if ncurses is configured to support termcap, it may also
have been configured to support the BSD-style padding.
- In that case, <STRONG>tputs</STRONG> inspects strings passed to it, looking for dig-
- its at the beginning of the string.
+ In that case, <STRONG>tputs</STRONG> inspects strings passed to it, looking for
+ digits at the beginning of the string.
<STRONG>tputs("50")</STRONG> in a termcap system may wait for 50 milliseconds rather
than put out a literal "50"
Note that termcap has nothing analogous to terminfo's <STRONG>sgr</STRONG> string. One
consequence of this is that termcap applications assume <STRONG>me</STRONG> (terminfo
<STRONG>sgr0</STRONG>) does not reset the alternate character set. This implementation
- checks for, and modifies the data shown to the termcap interface to ac-
- commodate termcap's limitation in this respect.
+ checks for, and modifies the data shown to the termcap interface to
+ accommodate termcap's limitation in this respect.
</PRE><H2><a name="h2-PORTABILITY">PORTABILITY</a></H2><PRE>
These functions are provided for supporting legacy applications, and
should not be used in new programs:
- <STRONG>o</STRONG> The XSI Curses standard, Issue 4 describes these functions. Howev-
- er, they are marked TO BE WITHDRAWN and may be removed in future
- versions.
+ <STRONG>o</STRONG> The XSI Curses standard, Issue 4 describes these functions.
+ However, they are marked TO BE WITHDRAWN and may be removed in
+ future versions.
<STRONG>o</STRONG> X/Open Curses, Issue 5 (December 2007) marked the termcap interface
(along with <STRONG>vwprintw</STRONG> and <STRONG>vwscanw</STRONG>) as withdrawn.
Neither the XSI Curses standard nor the SVr4 man pages documented the
- return values of <STRONG>tgetent</STRONG> correctly, though all three were in fact re-
- turned ever since SVr1. In particular, an omission in the XSI Curses
+ return values of <STRONG>tgetent</STRONG> correctly, though all three were in fact
+ returned ever since SVr1. In particular, an omission in the XSI Curses
documentation has been misinterpreted to mean that <STRONG>tgetent</STRONG> returns <STRONG>OK</STRONG>
- or <STRONG>ERR</STRONG>. Because the purpose of these functions is to provide compati-
- bility with the <EM>termcap</EM> library, that is a defect in XCurses, Issue 4,
- Version 2 rather than in ncurses.
+ or <STRONG>ERR</STRONG>. Because the purpose of these functions is to provide
+ compatibility with the <EM>termcap</EM> library, that is a defect in XCurses,
+ Issue 4, Version 2 rather than in ncurses.
</PRE><H3><a name="h3-Compatibility-with-BSD-Termcap">Compatibility with BSD Termcap</a></H3><PRE>
- External variables are provided for support of certain termcap applica-
- tions. However, termcap applications' use of those variables is poorly
- documented, e.g., not distinguishing between input and output. In par-
- ticular, some applications are reported to declare and/or modify <STRONG>os-</STRONG>
- <STRONG>peed</STRONG>.
+ External variables are provided for support of certain termcap
+ applications. However, termcap applications' use of those variables is
+ poorly documented, e.g., not distinguishing between input and output.
+ In particular, some applications are reported to declare and/or modify
+ <STRONG>ospeed</STRONG>.
The comment that only the first two characters of the <STRONG>id</STRONG> parameter are
used escapes many application developers. The original BSD 4.2 termcap
library (and historical relics thereof) did not require a trailing null
NUL on the parameter name passed to <STRONG>tgetstr</STRONG>, <STRONG>tgetnum</STRONG> and <STRONG>tgetflag</STRONG>.
Some applications assume that the termcap interface does not require
- the trailing NUL for the parameter name. Taking into account these is-
- sues:
+ the trailing NUL for the parameter name. Taking into account these
+ issues:
<STRONG>o</STRONG> As a special case, <STRONG>tgetflag</STRONG> matched against a single-character
- identifier provided that was at the end of the terminal descrip-
- tion. You should not rely upon this behavior in portable programs.
- This implementation disallows matches against single-character ca-
- pability names.
+ identifier provided that was at the end of the terminal
+ description. You should not rely upon this behavior in portable
+ programs. This implementation disallows matches against single-
+ character capability names.
<STRONG>o</STRONG> This implementation disallows matches by the termcap interface
- against extended capability names which are longer than two charac-
- ters.
+ against extended capability names which are longer than two
+ characters.
The BSD termcap function <STRONG>tgetent</STRONG> returns the text of a termcap entry in
the buffer passed as an argument. This library (like other terminfo
</PRE><H3><a name="h3-Other-Compatibility">Other Compatibility</a></H3><PRE>
This library includes a termcap.h header, for compatibility with other
- implementations. But the header is rarely used because the other im-
- plementations are not strictly compatible.
+ implementations. But the header is rarely used because the other
+ implementations are not strictly compatible.
The original BSD termcap (through 4.3BSD) had no header file which gave
function prototypes, because that was a feature of ANSI C. BSD termcap
It defined global symbols for the termcap variables which it used.
<STRONG>o</STRONG> The other appeared in 4.4BSD Lite Release 2 (mid-1993) as part of
- <EM>libedit</EM> (also known as the <EM>editline</EM> library). The CSRG source his-
- tory shows that this was added in mid-1992. The <EM>libedit</EM> header
- file was used internally, as a convenience for compiling the <EM>edit-</EM>
- <EM>line</EM> library. It declared function prototypes, but no global vari-
- ables.
+ <EM>libedit</EM> (also known as the <EM>editline</EM> library). The CSRG source
+ history shows that this was added in mid-1992. The <EM>libedit</EM> header
+ file was used internally, as a convenience for compiling the
+ <EM>editline</EM> library. It declared function prototypes, but no global
+ variables.
The header file from <EM>libedit</EM> was added to NetBSD's termcap library in
mid-1994.
Meanwhile, GNU termcap was under development, starting in 1990. The
first release (termcap 1.0) in 1991 included a termcap.h header. The
second release (termcap 1.1) in September 1992 modified the header to
- use <STRONG>const</STRONG> for the function prototypes in the header where one would ex-
- pect the parameters to be read-only. This was a difference versus the
- original BSD termcap. The prototype for <STRONG>tputs</STRONG> also differed, but in
- that instance, it was <EM>libedit</EM> which differed from BSD termcap.
+ use <STRONG>const</STRONG> for the function prototypes in the header where one would
+ expect the parameters to be read-only. This was a difference versus
+ the original BSD termcap. The prototype for <STRONG>tputs</STRONG> also differed, but
+ in that instance, it was <EM>libedit</EM> which differed from BSD termcap.
A copy of GNU termcap 1.3 was bundled with <EM>bash</EM> in mid-1993, to support
the <STRONG>readline(3)</STRONG> library.
-ncurses 6.4 2023-07-01 <STRONG><A HREF="curs_termcap.3x.html">curs_termcap(3x)</A></STRONG>
+ncurses 6.4 2023-09-16 <STRONG><A HREF="curs_termcap.3x.html">curs_termcap(3x)</A></STRONG>
</PRE>
<div class="nav">
<ul>
* sale, use or other dealings in this Software without prior written *
* authorization. *
****************************************************************************
- * @Id: curs_terminfo.3x,v 1.95 2023/08/19 20:37:54 tom Exp @
+ * @Id: curs_terminfo.3x,v 1.99 2023/09/16 23:37:03 tom Exp @
* ***************************************************************************
* ***************************************************************************
* ***************************************************************************
<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>curs_terminfo 3x 2023-08-19 ncurses 6.4 Library calls</TITLE>
+<TITLE>curs_terminfo 3x 2023-09-16 ncurses 6.4 Library calls</TITLE>
<link rel="author" href="mailto:bug-ncurses@gnu.org">
</HEAD>
<BODY>
-<H1 class="no-header">curs_terminfo 3x 2023-08-19 ncurses 6.4 Library calls</H1>
+<H1 class="no-header">curs_terminfo 3x 2023-09-16 ncurses 6.4 Library calls</H1>
<PRE>
<STRONG><A HREF="curs_terminfo.3x.html">curs_terminfo(3x)</A></STRONG> Library calls <STRONG><A HREF="curs_terminfo.3x.html">curs_terminfo(3x)</A></STRONG>
</PRE><H2><a name="h2-NAME">NAME</a></H2><PRE>
- <STRONG>del_curterm</STRONG>, <STRONG>mvcur</STRONG>, <STRONG>putp</STRONG>, <STRONG>restartterm</STRONG>, <STRONG>set_curterm</STRONG>, <STRONG>setupterm</STRONG>,
- <STRONG>tigetflag</STRONG>, <STRONG>tigetnum</STRONG>, <STRONG>tigetstr</STRONG>, <STRONG>tiparm</STRONG>, <STRONG>tiparm_s</STRONG>, <STRONG>tiscan_s</STRONG>, <STRONG>tparm</STRONG>,
- <STRONG>tputs</STRONG>, <STRONG>vid_attr</STRONG>, <STRONG>vid_puts</STRONG>, <STRONG>vidattr</STRONG>, <STRONG>vidputs</STRONG> - <STRONG>curses</STRONG> interfaces to
- terminfo database
+ <STRONG>del_curterm</STRONG>, <STRONG>mvcur</STRONG>, <STRONG>putp</STRONG>, <STRONG>restartterm</STRONG>, <STRONG>set_curterm</STRONG>, <STRONG>setupterm</STRONG>,
+ <STRONG>tigetflag</STRONG>, <STRONG>tigetnum</STRONG>, <STRONG>tigetstr</STRONG>, <STRONG>tiparm</STRONG>, <STRONG>tiparm_s</STRONG>, <STRONG>tiscan_s</STRONG>, <STRONG>tparm</STRONG>,
+ <STRONG>tputs</STRONG>, <STRONG>vid_attr</STRONG>, <STRONG>vid_puts</STRONG>, <STRONG>vidattr</STRONG>, <STRONG>vidputs</STRONG> - <EM>curses</EM> interfaces to
+ <EM>terminfo</EM> database
</PRE><H2><a name="h2-SYNOPSIS">SYNOPSIS</a></H2><PRE>
</PRE><H2><a name="h2-DESCRIPTION">DESCRIPTION</a></H2><PRE>
These low-level routines must be called by programs that have to deal
- directly with the <STRONG>terminfo</STRONG> database to handle certain terminal capabil-
- ities, such as programming function keys. For all other functionality,
- <STRONG>curses</STRONG> routines are more suitable and their use is recommended.
+ directly with the <STRONG>terminfo</STRONG> database to handle certain terminal
+ capabilities, such as programming function keys. For all other
+ functionality, <STRONG>curses</STRONG> routines are more suitable and their use is
+ recommended.
- None of these functions use (or are aware of) multibyte character
+ None of these functions use (or are aware of) multibyte character
strings such as UTF-8:
<STRONG>o</STRONG> capability names use the POSIX portable character set
- <STRONG>o</STRONG> capability string values have no associated encoding; they are
+ <STRONG>o</STRONG> capability string values have no associated encoding; they are
strings of 8-bit characters.
</PRE><H3><a name="h3-Initialization">Initialization</a></H3><PRE>
Initially, <STRONG>setupterm</STRONG> should be called. The high-level curses functions
- <STRONG>initscr</STRONG> and <STRONG>newterm</STRONG> call <STRONG>setupterm</STRONG> to initialize the low-level set of
+ <STRONG>initscr</STRONG> and <STRONG>newterm</STRONG> call <STRONG>setupterm</STRONG> to initialize the low-level set of
terminal-dependent variables [listed in <STRONG><A HREF="terminfo.5.html">terminfo(5)</A></STRONG>].
- Applications can use the terminal capabilities either directly (via
- header definitions), or by special functions. The header files <STRONG>curs-</STRONG>
- <STRONG>es.h</STRONG> and <STRONG>term.h</STRONG> should be included (in this order) to get the defini-
- tions for these strings, numbers, and flags.
+ Applications can use the terminal capabilities either directly (via
+ header definitions), or by special functions. The header files
+ <STRONG>curses.h</STRONG> and <STRONG>term.h</STRONG> should be included (in this order) to get the
+ definitions for these strings, numbers, and flags.
- The <STRONG>terminfo</STRONG> variables <STRONG>lines</STRONG> and <STRONG>columns</STRONG> are initialized by <STRONG>setupterm</STRONG>
+ The <STRONG>terminfo</STRONG> variables <STRONG>lines</STRONG> and <STRONG>columns</STRONG> are initialized by <STRONG>setupterm</STRONG>
as follows:
- <STRONG>o</STRONG> If <STRONG>use_env(FALSE)</STRONG> has been called, values for <STRONG>lines</STRONG> and <STRONG>columns</STRONG>
+ <STRONG>o</STRONG> If <STRONG>use_env(FALSE)</STRONG> has been called, values for <STRONG>lines</STRONG> and <STRONG>columns</STRONG>
specified in <STRONG>terminfo</STRONG> are used.
- <STRONG>o</STRONG> Otherwise, if the environment variables <STRONG>LINES</STRONG> and <STRONG>COLUMNS</STRONG> exist,
+ <STRONG>o</STRONG> Otherwise, if the environment variables <STRONG>LINES</STRONG> and <STRONG>COLUMNS</STRONG> exist,
their values are used. If these environment variables do not exist
- and the program is running in a window, the current window size is
- used. Otherwise, if the environment variables do not exist, the
+ and the program is running in a window, the current window size is
+ used. Otherwise, if the environment variables do not exist, the
values for <STRONG>lines</STRONG> and <STRONG>columns</STRONG> specified in the <STRONG>terminfo</STRONG> database are
used.
- Parameterized strings should be passed through <STRONG>tparm</STRONG> to instantiate
- them. All <STRONG>terminfo</STRONG> strings (including the output of <STRONG>tparm</STRONG>) should be
- printed with <STRONG>tputs</STRONG> or <STRONG>putp</STRONG>. Call <STRONG>reset_shell_mode</STRONG> to restore the tty
+ Parameterized strings should be passed through <STRONG>tparm</STRONG> to instantiate
+ them. All <STRONG>terminfo</STRONG> strings (including the output of <STRONG>tparm</STRONG>) should be
+ printed with <STRONG>tputs</STRONG> or <STRONG>putp</STRONG>. Call <STRONG>reset_shell_mode</STRONG> to restore the tty
modes before exiting [see <STRONG><A HREF="curs_kernel.3x.html">curs_kernel(3x)</A></STRONG>].
Programs which use cursor addressing should
Programs which execute shell subprocesses should
- <STRONG>o</STRONG> call <STRONG>reset_shell_mode</STRONG> and output <STRONG>exit_ca_mode</STRONG> before the shell is
+ <STRONG>o</STRONG> call <STRONG>reset_shell_mode</STRONG> and output <STRONG>exit_ca_mode</STRONG> before the shell is
called and
- <STRONG>o</STRONG> output <STRONG>enter_ca_mode</STRONG> and call <STRONG>reset_prog_mode</STRONG> after returning from
+ <STRONG>o</STRONG> output <STRONG>enter_ca_mode</STRONG> and call <STRONG>reset_prog_mode</STRONG> after returning from
the shell.
- The <STRONG>setupterm</STRONG> routine reads in the <STRONG>terminfo</STRONG> database, initializing the
- <STRONG>terminfo</STRONG> structures, but does not set up the output virtualization
+ The <STRONG>setupterm</STRONG> routine reads in the <STRONG>terminfo</STRONG> database, initializing the
+ <STRONG>terminfo</STRONG> structures, but does not set up the output virtualization
structures used by <STRONG>curses</STRONG>. These are its parameters:
<EM>term</EM> is the terminal type, a character string. If <EM>term</EM> is null, the
environment variable <STRONG>TERM</STRONG> is used.
<EM>filedes</EM>
- is the file descriptor used for getting and setting terminal
+ is the file descriptor used for getting and setting terminal
I/O modes.
- Higher-level applications use <STRONG><A HREF="curs_initscr.3x.html">newterm(3x)</A></STRONG> for initializing the
- terminal, passing an output <EM>stream</EM> rather than a <EM>descriptor</EM>.
- In curses, the two are the same because <STRONG>newterm</STRONG> calls <STRONG>se-</STRONG>
- <STRONG>tupterm</STRONG>, passing the file descriptor derived from its output
+ Higher-level applications use <STRONG><A HREF="curs_initscr.3x.html">newterm(3x)</A></STRONG> for initializing the
+ terminal, passing an output <EM>stream</EM> rather than a <EM>descriptor</EM>.
+ In curses, the two are the same because <STRONG>newterm</STRONG> calls
+ <STRONG>setupterm</STRONG>, passing the file descriptor derived from its output
stream parameter.
<EM>errret</EM>
- points to an optional location where an error status can be re-
- turned to the caller. If <EM>errret</EM> is not null, then <STRONG>setupterm</STRONG>
- returns <STRONG>OK</STRONG> or <STRONG>ERR</STRONG> and stores a status value in the integer
- pointed to by <EM>errret</EM>. A return value of <STRONG>OK</STRONG> combined with sta-
- tus of <STRONG>1</STRONG> in <EM>errret</EM> is normal.
+ points to an optional location where an error status can be
+ returned to the caller. If <EM>errret</EM> is not null, then <STRONG>setupterm</STRONG>
+ returns <STRONG>OK</STRONG> or <STRONG>ERR</STRONG> and stores a status value in the integer
+ pointed to by <EM>errret</EM>. A return value of <STRONG>OK</STRONG> combined with
+ status of <STRONG>1</STRONG> in <EM>errret</EM> is normal.
If <STRONG>ERR</STRONG> is returned, examine <EM>errret</EM>:
- <STRONG>1</STRONG> means that the terminal is hardcopy, cannot be used for
+ <STRONG>1</STRONG> means that the terminal is hardcopy, cannot be used for
curses applications.
- <STRONG>setupterm</STRONG> determines if the entry is a hardcopy type by
+ <STRONG>setupterm</STRONG> determines if the entry is a hardcopy type by
checking the <STRONG>hc</STRONG> (<STRONG>hardcopy</STRONG>) capability.
- <STRONG>0</STRONG> means that the terminal could not be found, or that it is
- a generic type, having too little information for curses
+ <STRONG>0</STRONG> means that the terminal could not be found, or that it is
+ a generic type, having too little information for curses
applications to run.
- <STRONG>setupterm</STRONG> determines if the entry is a generic type by
+ <STRONG>setupterm</STRONG> determines if the entry is a generic type by
checking the <STRONG>gn</STRONG> (<STRONG>generic_type</STRONG>) capability.
<STRONG>-1</STRONG> means that the <STRONG>terminfo</STRONG> database could not be found.
- If <EM>errret</EM> is null, <STRONG>setupterm</STRONG> prints an error message upon find-
- ing an error and exits. Thus, the simplest call is:
+ If <EM>errret</EM> is null, <STRONG>setupterm</STRONG> prints an error message upon
+ finding an error and exits. Thus, the simplest call is:
<STRONG>setupterm((char</STRONG> <STRONG>*)0,</STRONG> <STRONG>1,</STRONG> <STRONG>(int</STRONG> <STRONG>*)0);</STRONG>,
</PRE><H3><a name="h3-The-Terminal-State">The Terminal State</a></H3><PRE>
- The <STRONG>setupterm</STRONG> routine stores its information about the terminal in a
- <STRONG>TERMINAL</STRONG> structure pointed to by the global variable <STRONG>cur_term</STRONG>. If it
- detects an error, or decides that the terminal is unsuitable (hardcopy
- or generic), it discards this information, making it not available to
+ The <STRONG>setupterm</STRONG> routine stores its information about the terminal in a
+ <STRONG>TERMINAL</STRONG> structure pointed to by the global variable <STRONG>cur_term</STRONG>. If it
+ detects an error, or decides that the terminal is unsuitable (hardcopy
+ or generic), it discards this information, making it not available to
applications.
- If <STRONG>setupterm</STRONG> is called repeatedly for the same terminal type, it will
- reuse the information. It maintains only one copy of a given termi-
- nal's capabilities in memory. If it is called for different terminal
- types, <STRONG>setupterm</STRONG> allocates new storage for each set of terminal capa-
- bilities.
+ If <STRONG>setupterm</STRONG> is called repeatedly for the same terminal type, it will
+ reuse the information. It maintains only one copy of a given
+ terminal's capabilities in memory. If it is called for different
+ terminal types, <STRONG>setupterm</STRONG> allocates new storage for each set of
+ terminal capabilities.
- The <STRONG>set_curterm</STRONG> routine sets <STRONG>cur_term</STRONG> to <EM>nterm</EM>, and makes all of the
- <STRONG>terminfo</STRONG> boolean, numeric, and string variables use the values from
+ The <STRONG>set_curterm</STRONG> routine sets <STRONG>cur_term</STRONG> to <EM>nterm</EM>, and makes all of the
+ <STRONG>terminfo</STRONG> boolean, numeric, and string variables use the values from
<EM>nterm</EM>. It returns the old value of <STRONG>cur_term</STRONG>.
- The <STRONG>del_curterm</STRONG> routine frees the space pointed to by <EM>oterm</EM> and makes
- it available for further use. If <EM>oterm</EM> is the same as <STRONG>cur_term</STRONG>, refer-
- ences to any of the <STRONG>terminfo</STRONG> boolean, numeric, and string variables
- thereafter may refer to invalid memory locations until another <STRONG>se-</STRONG>
- <STRONG>tupterm</STRONG> has been called.
+ The <STRONG>del_curterm</STRONG> routine frees the space pointed to by <EM>oterm</EM> and makes
+ it available for further use. If <EM>oterm</EM> is the same as <STRONG>cur_term</STRONG>,
+ references to any of the <STRONG>terminfo</STRONG> boolean, numeric, and string
+ variables thereafter may refer to invalid memory locations until
+ another <STRONG>setupterm</STRONG> has been called.
- The <STRONG>restartterm</STRONG> routine is similar to <STRONG>setupterm</STRONG> and <STRONG>initscr</STRONG>, except
- that it is called after restoring memory to a previous state (for exam-
- ple, when reloading a game saved as a core image dump). <STRONG>restartterm</STRONG>
- assumes that the windows and the input and output options are the same
- as when memory was saved, but the terminal type and baud rate may be
- different. Accordingly, <STRONG>restartterm</STRONG> saves various tty state bits,
- calls <STRONG>setupterm</STRONG>, and then restores the bits.
+ The <STRONG>restartterm</STRONG> routine is similar to <STRONG>setupterm</STRONG> and <STRONG>initscr</STRONG>, except
+ that it is called after restoring memory to a previous state (for
+ example, when reloading a game saved as a core image dump).
+ <STRONG>restartterm</STRONG> assumes that the windows and the input and output options
+ are the same as when memory was saved, but the terminal type and baud
+ rate may be different. Accordingly, <STRONG>restartterm</STRONG> saves various tty
+ state bits, calls <STRONG>setupterm</STRONG>, and then restores the bits.
</PRE><H3><a name="h3-Formatting-Output">Formatting Output</a></H3><PRE>
- The <STRONG>tparm</STRONG> routine instantiates the string <EM>str</EM> with parameters <EM>pi</EM>. A
- pointer is returned to the result of <EM>str</EM> with the parameters applied.
- Application developers should keep in mind these quirks of the inter-
- face:
+ The <STRONG>tparm</STRONG> routine instantiates the string <EM>str</EM> with parameters <EM>pi</EM>. A
+ pointer is returned to the result of <EM>str</EM> with the parameters applied.
+ Application developers should keep in mind these quirks of the
+ interface:
- <STRONG>o</STRONG> Although <STRONG>tparm</STRONG>'s actual parameters may be integers or strings, the
+ <STRONG>o</STRONG> Although <STRONG>tparm</STRONG>'s actual parameters may be integers or strings, the
prototype expects <STRONG>long</STRONG> (integer) values.
- <STRONG>o</STRONG> Aside from the <STRONG>set_attributes</STRONG> (<STRONG>sgr</STRONG>) capability, most terminal capa-
- bilities require no more than one or two parameters.
+ <STRONG>o</STRONG> Aside from the <STRONG>set_attributes</STRONG> (<STRONG>sgr</STRONG>) capability, most terminal
+ capabilities require no more than one or two parameters.
- <STRONG>o</STRONG> Padding information is ignored by <STRONG>tparm</STRONG>; it is interpreted by
+ <STRONG>o</STRONG> Padding information is ignored by <STRONG>tparm</STRONG>; it is interpreted by
<STRONG>tputs</STRONG>.
- <STRONG>o</STRONG> The capability string is null-terminated. Use "\200" where an
+ <STRONG>o</STRONG> The capability string is null-terminated. Use "\200" where an
ASCII NUL is needed in the output.
- <STRONG>tiparm</STRONG> is a newer form of <STRONG>tparm</STRONG> which uses <EM><stdarg.h></EM> rather than a
+ <STRONG>tiparm</STRONG> is a newer form of <STRONG>tparm</STRONG> which uses <EM><stdarg.h></EM> rather than a
fixed-parameter list. Its numeric parameters are integers (int) rather
than longs.
- Both <STRONG>tparm</STRONG> and <STRONG>tiparm</STRONG> assume that the application passes parameters
- consistent with the terminal description. Two extensions are provided
+ Both <STRONG>tparm</STRONG> and <STRONG>tiparm</STRONG> assume that the application passes parameters
+ consistent with the terminal description. Two extensions are provided
as alternatives to deal with untrusted data:
- <STRONG>o</STRONG> <STRONG>tiparm_s</STRONG> is an extension which is a safer formatting function than
+ <STRONG>o</STRONG> <STRONG>tiparm_s</STRONG> is an extension which is a safer formatting function than
<STRONG>tparm</STRONG> or <STRONG>tiparm</STRONG>, because it allows the developer to tell the curses
- library how many parameters to expect in the parameter list, and
+ library how many parameters to expect in the parameter list, and
which may be string parameters.
- The <EM>mask</EM> parameter has one bit set for each of the parameters (up
+ The <EM>mask</EM> parameter has one bit set for each of the parameters (up
to 9) which will be passed as char* rather than numbers.
- <STRONG>o</STRONG> The extension <STRONG>tiscan_s</STRONG> allows the application to inspect a format-
- ting capability to see what the curses library would assume.
+ <STRONG>o</STRONG> The extension <STRONG>tiscan_s</STRONG> allows the application to inspect a
+ formatting capability to see what the curses library would assume.
</PRE><H3><a name="h3-Output-Functions">Output Functions</a></H3><PRE>
- The <STRONG>tputs</STRONG> routine applies padding information (i.e., by interpreting
- marker embedded in the terminfo capability such as "$<5>" as 5 mil-
- liseconds) to the string <EM>str</EM> and outputs it:
+ The <STRONG>tputs</STRONG> routine applies padding information (i.e., by interpreting
+ marker embedded in the terminfo capability such as "$<5>" as 5
+ milliseconds) to the string <EM>str</EM> and outputs it:
- <STRONG>o</STRONG> The <EM>str</EM> parameter must be a terminfo string variable or the return
+ <STRONG>o</STRONG> The <EM>str</EM> parameter must be a terminfo string variable or the return
value from <STRONG>tparm</STRONG>, <STRONG>tiparm</STRONG>, <STRONG>tgetstr</STRONG>, or <STRONG>tgoto</STRONG>.
- The <STRONG>tgetstr</STRONG> and <STRONG>tgoto</STRONG> functions are part of the <EM>termcap</EM> interface,
- which happens to share this function name with the <EM>terminfo</EM> inter-
- face.
+ The <STRONG>tgetstr</STRONG> and <STRONG>tgoto</STRONG> functions are part of the <EM>termcap</EM> interface,
+ which happens to share this function name with the <EM>terminfo</EM>
+ interface.
<STRONG>o</STRONG> <EM>affcnt</EM> is the number of lines affected, or 1 if not applicable.
- <STRONG>o</STRONG> <EM>putc</EM> is a <STRONG>putchar</STRONG>-like routine to which the characters are passed,
+ <STRONG>o</STRONG> <EM>putc</EM> is a <STRONG>putchar</STRONG>-like routine to which the characters are passed,
one at a time.
- The <STRONG>putp</STRONG> routine calls <STRONG>tputs(</STRONG><EM>str</EM><STRONG>,</STRONG> <STRONG>1,</STRONG> <STRONG>putchar)</STRONG>. The output of <STRONG>putp</STRONG> al-
- ways goes to <STRONG>stdout</STRONG>, rather than the <EM>filedes</EM> specified in <STRONG>setupterm</STRONG>.
+ The <STRONG>putp</STRONG> routine calls <STRONG>tputs(</STRONG><EM>str</EM><STRONG>,</STRONG> <STRONG>1,</STRONG> <STRONG>putchar)</STRONG>. The output of <STRONG>putp</STRONG>
+ always goes to <STRONG>stdout</STRONG>, rather than the <EM>filedes</EM> specified in <STRONG>setupterm</STRONG>.
- The <STRONG>vidputs</STRONG> routine displays the string on the terminal in the video
+ The <STRONG>vidputs</STRONG> routine displays the string on the terminal in the video
attribute mode <EM>attrs</EM>, which is any combination of the attributes listed
- in <STRONG><A HREF="ncurses.3x.html">curses(3x)</A></STRONG>. The characters are passed to the <STRONG>putchar</STRONG>-like routine
+ in <STRONG><A HREF="ncurses.3x.html">curses(3x)</A></STRONG>. The characters are passed to the <STRONG>putchar</STRONG>-like routine
<EM>putc</EM>.
The <STRONG>vidattr</STRONG> routine is like the <STRONG>vidputs</STRONG> routine, except that it outputs
through <STRONG>putchar</STRONG>.
- The <STRONG>vid_attr</STRONG> and <STRONG>vid_puts</STRONG> routines correspond to vidattr and vidputs,
- respectively. They use a set of arguments for representing the video
+ The <STRONG>vid_attr</STRONG> and <STRONG>vid_puts</STRONG> routines correspond to vidattr and vidputs,
+ respectively. They use a set of arguments for representing the video
attributes plus color, i.e.,
<STRONG>o</STRONG> <EM>attrs</EM> of type <STRONG>attr_t</STRONG> for the attributes and
<STRONG>o</STRONG> <EM>pair</EM> of type <STRONG>short</STRONG> for the color-pair number.
- The <STRONG>vid_attr</STRONG> and <STRONG>vid_puts</STRONG> routines are designed to use the attribute
+ The <STRONG>vid_attr</STRONG> and <STRONG>vid_puts</STRONG> routines are designed to use the attribute
constants with the <STRONG>WA_</STRONG> prefix.
- X/Open Curses reserves the <EM>opts</EM> argument for future use, saying that
- applications must provide a null pointer for that argument. As an ex-
- tension, this implementation allows <EM>opts</EM> to be used as a pointer to
+ X/Open Curses reserves the <EM>opts</EM> argument for future use, saying that
+ applications must provide a null pointer for that argument. As an
+ extension, this implementation allows <EM>opts</EM> to be used as a pointer to
<STRONG>int</STRONG>, which overrides the <EM>pair</EM> (<STRONG>short</STRONG>) argument.
- The <STRONG>mvcur</STRONG> routine provides low-level cursor motion. It takes effect
- immediately (rather than at the next refresh). Unlike the other low-
- level output functions, which either write to the standard output or
+ The <STRONG>mvcur</STRONG> routine provides low-level cursor motion. It takes effect
+ immediately (rather than at the next refresh). Unlike the other low-
+ level output functions, which either write to the standard output or
pass an output function parameter, <STRONG>mvcur</STRONG> uses an output file descriptor
derived from the output stream parameter of <STRONG><A HREF="curs_initscr.3x.html">newterm(3x)</A></STRONG>.
</PRE><H3><a name="h3-Terminal-Capability-Functions">Terminal Capability Functions</a></H3><PRE>
- The <STRONG>tigetflag</STRONG>, <STRONG>tigetnum</STRONG> and <STRONG>tigetstr</STRONG> routines return the value of the
- capability corresponding to the <STRONG>terminfo</STRONG> <EM>capname</EM> passed to them, such
- as <STRONG>xenl</STRONG>. The <EM>capname</EM> for each capability is given in the table column
+ The <STRONG>tigetflag</STRONG>, <STRONG>tigetnum</STRONG> and <STRONG>tigetstr</STRONG> routines return the value of the
+ capability corresponding to the <STRONG>terminfo</STRONG> <EM>capname</EM> passed to them, such
+ as <STRONG>xenl</STRONG>. The <EM>capname</EM> for each capability is given in the table column
entitled <EM>capname</EM> code in the capabilities section of <STRONG><A HREF="terminfo.5.html">terminfo(5)</A></STRONG>.
These routines return special values to denote errors.
</PRE><H3><a name="h3-Releasing-Memory">Releasing Memory</a></H3><PRE>
Each successful call to <STRONG>setupterm</STRONG> allocates memory to hold the terminal
- description. As a side-effect, it sets <STRONG>cur_term</STRONG> to point to this memo-
- ry. If an application calls
+ description. As a side-effect, it sets <STRONG>cur_term</STRONG> to point to this
+ memory. If an application calls
<STRONG>del_curterm(cur_term);</STRONG>
the memory will be freed.
- The formatting functions <STRONG>tparm</STRONG> and <STRONG>tiparm</STRONG> extend the storage allocated
+ The formatting functions <STRONG>tparm</STRONG> and <STRONG>tiparm</STRONG> extend the storage allocated
by <STRONG>setupterm</STRONG>:
- <STRONG>o</STRONG> the "static" terminfo variables [a-z]. Before ncurses 6.3, those
- were shared by all screens. With ncurses 6.3, those are allocated
+ <STRONG>o</STRONG> the "static" terminfo variables [a-z]. Before ncurses 6.3, those
+ were shared by all screens. With ncurses 6.3, those are allocated
per screen. See <STRONG><A HREF="terminfo.5.html">terminfo(5)</A></STRONG> for details.
- <STRONG>o</STRONG> to improve performance, ncurses 6.3 caches the result of analyzing
- terminfo strings for their parameter types. That is stored as a
+ <STRONG>o</STRONG> to improve performance, ncurses 6.3 caches the result of analyzing
+ terminfo strings for their parameter types. That is stored as a
binary tree referenced from the <STRONG>TERMINAL</STRONG> structure.
The higher-level <STRONG>initscr</STRONG> and <STRONG>newterm</STRONG> functions use <STRONG>setupterm</STRONG>. Normally
- they do not free this memory, but it is possible to do that using the
+ they do not free this memory, but it is possible to do that using the
<STRONG><A HREF="curs_initscr.3x.html">delscreen(3x)</A></STRONG> function.
</PRE><H2><a name="h2-RETURN-VALUE">RETURN VALUE</a></H2><PRE>
- Routines that return an integer return <STRONG>ERR</STRONG> upon failure and <STRONG>OK</STRONG> (SVr4
- only specifies "an integer value other than <STRONG>ERR</STRONG>") upon successful com-
- pletion, unless otherwise noted in the preceding routine descriptions.
+ Routines that return an integer return <STRONG>ERR</STRONG> upon failure and <STRONG>OK</STRONG> (SVr4
+ only specifies "an integer value other than <STRONG>ERR</STRONG>") upon successful
+ completion, unless otherwise noted in the preceding routine
+ descriptions.
Routines that return pointers always return <STRONG>NULL</STRONG> on error.
<STRONG>setupterm</STRONG>
returns an error if it cannot allocate enough memory, or create
- the initial windows (stdscr, curscr, newscr). Other error con-
- ditions are documented above.
+ the initial windows (stdscr, curscr, newscr). Other error
+ conditions are documented above.
<STRONG>tparm</STRONG>
- returns a null if the capability would require unexpected pa-
- rameters, e.g., too many, too few, or incorrect types (strings
- where integers are expected, or vice versa).
+ returns a null if the capability would require unexpected
+ parameters, e.g., too many, too few, or incorrect types
+ (strings where integers are expected, or vice versa).
<STRONG>tputs</STRONG>
returns an error if the string parameter is null. It does not
</PRE><H3><a name="h3-Compatibility-macros">Compatibility macros</a></H3><PRE>
- This implementation provides a few macros for compatibility with sys-
- tems before SVr4 (see <EM>HISTORY</EM>). Those include <STRONG>crmode</STRONG>, <STRONG>fixterm</STRONG>,
+ This implementation provides a few macros for compatibility with
+ systems before SVr4 (see <EM>HISTORY</EM>). Those include <STRONG>crmode</STRONG>, <STRONG>fixterm</STRONG>,
<STRONG>gettmode</STRONG>, <STRONG>nocrmode</STRONG>, <STRONG>resetterm</STRONG>, <STRONG>saveterm</STRONG>, and <STRONG>setterm</STRONG>.
In SVr4, those are found in <STRONG><curses.h></STRONG>, but except for <STRONG>setterm</STRONG>, are
<STRONG>setupterm(</STRONG><EM>term</EM><STRONG>,</STRONG> <STRONG>1,</STRONG> <STRONG>(int</STRONG> <STRONG>*)0)</STRONG>
- provides the same functionality as <STRONG>setterm(</STRONG><EM>term</EM><STRONG>)</STRONG>, and is not recommend-
- ed for new programs. This implementation provides each of those sym-
- bols as macros for BSD compatibility,
+ provides the same functionality as <STRONG>setterm(</STRONG><EM>term</EM><STRONG>)</STRONG>, and is not
+ recommended for new programs. This implementation provides each of
+ those symbols as macros for BSD compatibility,
</PRE><H2><a name="h2-HISTORY">HISTORY</a></H2><PRE>
<STRONG>Function</STRONG> <STRONG>Description</STRONG>
------------------------------------------------------------
fixterm restore tty to "in curses" state
+
gettmode establish current tty modes
mvcur low level cursor motion
- putp utility function that uses <STRONG>tputs</STRONG> to send char-
- acters via <STRONG>putchar</STRONG>.
+ putp utility function that uses <STRONG>tputs</STRONG> to send
+ characters via <STRONG>putchar</STRONG>.
resetterm set tty modes to "out of curses" state
resetty reset tty flags to stored value
saveterm save current modes as "in curses" state
Early terminfo programs obtained capability values from the <STRONG>TERMINAL</STRONG>
structure initialized by <STRONG>setupterm</STRONG>.
- SVr3 extended terminfo by adding functions to retrieve capability val-
- ues (like the termcap interface), and reusing tgoto and tputs:
+ SVr3 extended terminfo by adding functions to retrieve capability
+ values (like the termcap interface), and reusing tgoto and tputs:
<STRONG>Function</STRONG> <STRONG>Description</STRONG>
-------------------------------------------
setterm setupterm
SVr3 kept the <STRONG>mvcur</STRONG>, <STRONG>vidattr</STRONG> and <STRONG>vidputs</STRONG> functions, along with <STRONG>putp</STRONG>,
- <STRONG>tparm</STRONG> and <STRONG>tputs</STRONG>. The latter were needed to support padding, and han-
- dling functions such as <STRONG>vidattr</STRONG> (which used more than the two parame-
- ters supported by <STRONG>tgoto</STRONG>).
+ <STRONG>tparm</STRONG> and <STRONG>tputs</STRONG>. The latter were needed to support padding, and
+ handling functions such as <STRONG>vidattr</STRONG> (which used more than the two
+ parameters supported by <STRONG>tgoto</STRONG>).
- SVr3 introduced the functions for switching between terminal descrip-
- tions, e.g., <STRONG>set_curterm</STRONG>. Some of that was incremental improvements to
- the SVr2 library:
+ SVr3 introduced the functions for switching between terminal
+ descriptions, e.g., <STRONG>set_curterm</STRONG>. Some of that was incremental
+ improvements to the SVr2 library:
<STRONG>o</STRONG> The <STRONG>TERMINAL</STRONG> type definition was introduced in SVr3.01, for the
<STRONG>term</STRONG> structure provided in SVr2.
SVr4 added the <STRONG>vid_attr</STRONG> and <STRONG>vid_puts</STRONG> functions.
There are other low-level functions declared in the curses header files
- on Unix systems, but none were documented. The functions marked "obso-
- lete" remained in use by the Unix <STRONG>vi(1)</STRONG> editor.
+ on Unix systems, but none were documented. The functions marked
+ "obsolete" remained in use by the Unix <STRONG>vi(1)</STRONG> editor.
</PRE><H2><a name="h2-PORTABILITY">PORTABILITY</a></H2><PRE>
</PRE><H3><a name="h3-Extensions">Extensions</a></H3><PRE>
The functions marked as extensions were designed for <STRONG><A HREF="ncurses.3x.html">ncurses(3x)</A></STRONG>, and
- are not found in SVr4 curses, 4.4BSD curses, or any other previous ver-
- sion of curses.
+ are not found in SVr4 curses, 4.4BSD curses, or any other previous
+ version of curses.
</PRE><H3><a name="h3-Legacy-functions">Legacy functions</a></H3><PRE>
</PRE><H3><a name="h3-Output-buffering">Output buffering</a></H3><PRE>
Older versions of <STRONG>ncurses</STRONG> assumed that the file descriptor passed to
<STRONG>setupterm</STRONG> from <STRONG>initscr</STRONG> or <STRONG>newterm</STRONG> uses buffered I/O, and would write to
- the corresponding stream. In addition to the limitation that the ter-
- minal was left in block-buffered mode on exit (like System V curses),
- it was problematic because <STRONG>ncurses</STRONG> did not allow a reliable way to
- cleanup on receiving SIGTSTP.
+ the corresponding stream. In addition to the limitation that the
+ terminal was left in block-buffered mode on exit (like System V
+ curses), it was problematic because <STRONG>ncurses</STRONG> did not allow a reliable
+ way to cleanup on receiving SIGTSTP.
The current version (ncurses6) uses output buffers managed directly by
<STRONG>ncurses</STRONG>. Some of the low-level functions described in this manual page
- write to the standard output. They are not signal-safe. The high-lev-
- el functions in <STRONG>ncurses</STRONG> use alternate versions of these functions using
- the more reliable buffering scheme.
+ write to the standard output. They are not signal-safe. The high-
+ level functions in <STRONG>ncurses</STRONG> use alternate versions of these functions
+ using the more reliable buffering scheme.
</PRE><H3><a name="h3-Function-prototypes">Function prototypes</a></H3><PRE>
- The X/Open Curses prototypes are based on the SVr4 curses header decla-
- rations, which were defined at the same time the C language was first
- standardized in the late 1980s.
+ The X/Open Curses prototypes are based on the SVr4 curses header
+ declarations, which were defined at the same time the C language was
+ first standardized in the late 1980s.
<STRONG>o</STRONG> X/Open Curses uses <STRONG>const</STRONG> less effectively than a later design
might, in some cases applying it needlessly to values are already
<STRONG>o</STRONG> X/Open Curses prototypes <STRONG>tparm</STRONG> with a fixed number of parameters,
rather than a variable argument list.
- This implementation uses a variable argument list, but can be con-
- figured to use the fixed-parameter list. Portable applications
+ This implementation uses a variable argument list, but can be
+ configured to use the fixed-parameter list. Portable applications
should provide 9 parameters after the format; zeroes are fine for
this purpose.
nine on each call is awkward.
Using <STRONG>long</STRONG> for the numeric parameter type is a workaround to make
- the parameter use the same amount of stack as a pointer. That ap-
- proach dates back to the mid-1980s, before C was standardized.
+ the parameter use the same amount of stack as a pointer. That
+ approach dates back to the mid-1980s, before C was standardized.
Since then, there is a standard (and pointers are not required to
fit in a long).
<STRONG>o</STRONG> Providing the right number of parameters for a variadic function
- such as <STRONG>tiparm</STRONG> can be a problem, in particular for string parame-
- ters. However, only a few terminfo capabilities use string parame-
- ters (e.g., the ones used for programmable function keys).
+ such as <STRONG>tiparm</STRONG> can be a problem, in particular for string
+ parameters. However, only a few terminfo capabilities use string
+ parameters (e.g., the ones used for programmable function keys).
The ncurses library checks usage of these capabilities, and returns
an error if the capability mishandles string parameters. But it
cannot check if a calling program provides strings in the right
places for the <STRONG>tparm</STRONG> calls.
- The <STRONG><A HREF="tput.1.html">tput(1)</A></STRONG> program checks its use of these capabilities with a ta-
- ble, so that it calls <STRONG>tparm</STRONG> correctly.
+ The <STRONG><A HREF="tput.1.html">tput(1)</A></STRONG> program checks its use of these capabilities with a
+ table, so that it calls <STRONG>tparm</STRONG> correctly.
</PRE><H3><a name="h3-Special-TERM-treatment">Special TERM treatment</a></H3><PRE>
and does no error-checking.
X/Open notes that after calling <STRONG>mvcur</STRONG>, the curses state may not match
- the actual terminal state, and that an application should touch and re-
- fresh the window before resuming normal curses calls. Both <STRONG>ncurses</STRONG> and
- System V Release 4 curses implement <STRONG>mvcur</STRONG> using the SCREEN data allo-
- cated in either <STRONG>initscr</STRONG> or <STRONG>newterm</STRONG>. So though it is documented as a
- terminfo function, <STRONG>mvcur</STRONG> is really a curses function which is not well
- specified.
-
- X/Open states that the old location must be given for <STRONG>mvcur</STRONG>. This im-
- plementation allows the caller to use -1's for the old ordinates. In
+ the actual terminal state, and that an application should touch and
+ refresh the window before resuming normal curses calls. Both <STRONG>ncurses</STRONG>
+ and System V Release 4 curses implement <STRONG>mvcur</STRONG> using the SCREEN data
+ allocated in either <STRONG>initscr</STRONG> or <STRONG>newterm</STRONG>. So though it is documented as
+ a terminfo function, <STRONG>mvcur</STRONG> is really a curses function which is not
+ well specified.
+
+ X/Open states that the old location must be given for <STRONG>mvcur</STRONG>. This
+ implementation allows the caller to use -1's for the old ordinates. In
that case, the old location is unknown.
</PRE><H2><a name="h2-SEE-ALSO">SEE ALSO</a></H2><PRE>
<STRONG><A HREF="ncurses.3x.html">curses(3x)</A></STRONG>, <STRONG><A HREF="curs_initscr.3x.html">curs_initscr(3x)</A></STRONG>, <STRONG><A HREF="curs_kernel.3x.html">curs_kernel(3x)</A></STRONG>, <STRONG><A HREF="curs_memleaks.3x.html">curs_memleaks(3x)</A></STRONG>,
- <STRONG><A HREF="curs_termcap.3x.html">curs_termcap(3x)</A></STRONG>, <STRONG><A HREF="curs_variables.3x.html">curs_variables(3x)</A></STRONG>, <STRONG><A HREF="term_variables.3x.html">term_variables(3x)</A></STRONG>, <STRONG>putc(3)</STRONG>, <STRONG>ter-</STRONG>
- <STRONG><A HREF="terminfo.5.html">minfo(5)</A></STRONG>
+ <STRONG><A HREF="curs_termcap.3x.html">curs_termcap(3x)</A></STRONG>, <STRONG><A HREF="curs_variables.3x.html">curs_variables(3x)</A></STRONG>, <STRONG><A HREF="term_variables.3x.html">term_variables(3x)</A></STRONG>, <STRONG>putc(3)</STRONG>,
+ <STRONG><A HREF="terminfo.5.html">terminfo(5)</A></STRONG>
-ncurses 6.4 2023-08-19 <STRONG><A HREF="curs_terminfo.3x.html">curs_terminfo(3x)</A></STRONG>
+ncurses 6.4 2023-09-16 <STRONG><A HREF="curs_terminfo.3x.html">curs_terminfo(3x)</A></STRONG>
</PRE>
<div class="nav">
<ul>
* sale, use or other dealings in this Software without prior written *
* authorization. *
****************************************************************************
- * @Id: curs_threads.3x,v 1.37 2023/08/19 20:38:10 tom Exp @
+ * @Id: curs_threads.3x,v 1.41 2023/09/16 23:37:03 tom Exp @
* ***************************************************************************
* ***************************************************************************
-->
<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>curs_threads 3x 2023-08-19 ncurses 6.4 Library calls</TITLE>
+<TITLE>curs_threads 3x 2023-09-16 ncurses 6.4 Library calls</TITLE>
<link rel="author" href="mailto:bug-ncurses@gnu.org">
</HEAD>
<BODY>
-<H1 class="no-header">curs_threads 3x 2023-08-19 ncurses 6.4 Library calls</H1>
+<H1 class="no-header">curs_threads 3x 2023-09-16 ncurses 6.4 Library calls</H1>
<PRE>
<STRONG><A HREF="curs_threads.3x.html">curs_threads(3x)</A></STRONG> Library calls <STRONG><A HREF="curs_threads.3x.html">curs_threads(3x)</A></STRONG>
</PRE><H2><a name="h2-NAME">NAME</a></H2><PRE>
- <STRONG>curs_threads</STRONG> - <STRONG>curses</STRONG> thread support
+ <STRONG>curs_threads</STRONG> - <EM>curses</EM> thread support
</PRE><H2><a name="h2-SYNOPSIS">SYNOPSIS</a></H2><PRE>
</PRE><H2><a name="h2-DESCRIPTION">DESCRIPTION</a></H2><PRE>
This implementation can be configured to provide rudimentary support
- for multi-threaded applications. This makes a different set of li-
- braries, e.g., <STRONG>libncursest</STRONG> since the binary interfaces are different.
+ for multi-threaded applications. This makes a different set of
+ libraries, e.g., <STRONG>libncursest</STRONG> since the binary interfaces are different.
Rather than modify the interfaces to pass a thread specifier to each
- function, it adds a few functions which can be used in any configura-
- tion which hide the mutex's needed to prevent concurrent use of the
- global variables when configured for threading.
+ function, it adds a few functions which can be used in any
+ configuration which hide the mutex's needed to prevent concurrent use
+ of the global variables when configured for threading.
In addition to forcing access to members of the <STRONG>WINDOW</STRONG> structure to be
via functions (see <STRONG><A HREF="curs_opaque.3x.html">curs_opaque(3x)</A></STRONG>), it makes functions of the common
are considered writable by some applications. The functions described
here address these special situations.
- The ESCDELAY and TABSIZE global variables are modified by some applica-
- tions. To modify them in any configuration, use the <STRONG>set_escdelay</STRONG> or
- <STRONG>set_tabsize</STRONG> functions. Other global variables are not modifiable.
+ The ESCDELAY and TABSIZE global variables are modified by some
+ applications. To modify them in any configuration, use the
+ <STRONG>set_escdelay</STRONG> or <STRONG>set_tabsize</STRONG> functions. Other global variables are not
+ modifiable.
The <STRONG>get_escdelay</STRONG> function returns the value for ESCDELAY.
- The <STRONG>use_window</STRONG> and <STRONG>use_screen</STRONG> functions provide coarse granularity mu-
- texes for their respective <STRONG>WINDOW</STRONG> and <STRONG>SCREEN</STRONG> parameters, and call a us-
- er-supplied function, passing it a <EM>data</EM> parameter, and returning the
+ The <STRONG>use_window</STRONG> and <STRONG>use_screen</STRONG> functions provide coarse granularity
+ mutexes for their respective <STRONG>WINDOW</STRONG> and <STRONG>SCREEN</STRONG> parameters, and call a
+ user-supplied function, passing it a <EM>data</EM> parameter, and returning the
value from the user-supplied function to the application.
</PRE><H3><a name="h3-USAGE">USAGE</a></H3><PRE>
- All of the ncurses library functions assume that the locale is not al-
- tered during operation. In addition, they use data which is maintained
- within a hierarchy of scopes.
+ All of the ncurses library functions assume that the locale is not
+ altered during operation. In addition, they use data which is
+ maintained within a hierarchy of scopes.
- <STRONG>o</STRONG> global data, e.g., used in the low-level terminfo or termcap in-
- terfaces.
+ <STRONG>o</STRONG> global data, e.g., used in the low-level terminfo or termcap
+ interfaces.
<STRONG>o</STRONG> terminal data, e.g., associated with a call to <STRONG>set_curterm</STRONG>. The
terminal data are initialized when screens are created.
<STRONG>o</STRONG> screen data, e.g., associated with a call to <STRONG>newterm</STRONG> or <STRONG>initscr</STRONG>.
- <STRONG>o</STRONG> window data, e.g., associated with a call to <STRONG>newwin</STRONG> or <STRONG>subwin</STRONG>.
- Windows are associated with screens. Pads are not necessarily
+ <STRONG>o</STRONG> window data, e.g., associated with a call to <STRONG>newwin</STRONG> or <STRONG>subwin</STRONG>.
+ Windows are associated with screens. Pads are not necessarily
associated with a particular screen.
Most curses applications operate on one or more windows within a
<STRONG>o</STRONG> reentrant, i.e., it uses only the data passed as parameters.
- This table lists the scope of data used for each symbol in the ncurses
+ This table lists the scope of data used for each symbol in the ncurses
library when it is configured to support threading:
Symbol Scope
chgat window (stdscr)
clear window (stdscr)
clearok window
+
clrtobot window (stdscr)
clrtoeol window (stdscr)
color_content screen
-
color_set window (stdscr)
copywin window locks(source, target)
cur_term terminal
in_wchnstr window (stdscr)
in_wchstr window (stdscr)
inch window (stdscr)
+
inchnstr window (stdscr)
inchstr window (stdscr)
init_color screen
init_pair screen
-
initscr global locks(screenlist)
innstr window (stdscr)
innwstr window (stdscr)
mvget_wch screen (input-operation)
mvget_wstr screen (input-operation)
mvgetch screen (input-operation)
+
mvgetn_wstr screen (input-operation)
mvgetnstr screen (input-operation)
mvgetstr screen (input-operation)
mvhline window (stdscr)
mvhline_set window (stdscr)
-
mvin_wch window (stdscr)
mvin_wchnstr window (stdscr)
mvin_wchstr window (stdscr)
mvwprintw window
mvwscanw screen
mvwvline window
+
mvwvline_set window
napms reentrant
newpad global locks(windowlist)
newscr screen (readonly)
newterm global locks(screenlist)
newwin global locks(windowlist)
-
nl screen
nocbreak screen
nodelay window
slk_attrset screen
slk_clear screen
slk_color screen
+
slk_init screen
slk_label screen
slk_noutrefresh screen
slk_restore screen
slk_set screen
slk_touch screen
-
slk_wset screen
standend window
standout window
waddchnstr window
waddchstr window
waddnstr window
+
waddnwstr window
waddstr window
waddwstr window
wattr_on window
wattr_set window
wattroff window
-
wattron window
wattrset window
wbkgd window
wredrawln window
wrefresh screen
wresize window locks(windowlist)
+
wscanw screen
wscrl window
wsetscrreg window
wsyncup screen (affects window plus parents)
wtimeout window
wtouchln window
-
wunctrl global (static data)
wvline window
wvline_set window
</PRE><H2><a name="h2-PORTABILITY">PORTABILITY</a></H2><PRE>
- These routines are specific to ncurses. They were not supported on
+ These routines are specific to ncurses. They were not supported on
Version 7, BSD or System V implementations. It is recommended that any
- code depending on ncurses extensions be conditioned using NCURSES_VER-
- SION.
+ code depending on ncurses extensions be conditioned using
+ NCURSES_VERSION.
</PRE><H2><a name="h2-SEE-ALSO">SEE ALSO</a></H2><PRE>
-ncurses 6.4 2023-08-19 <STRONG><A HREF="curs_threads.3x.html">curs_threads(3x)</A></STRONG>
+ncurses 6.4 2023-09-16 <STRONG><A HREF="curs_threads.3x.html">curs_threads(3x)</A></STRONG>
</PRE>
<div class="nav">
<ul>
* sale, use or other dealings in this Software without prior written *
* authorization. *
****************************************************************************
- * @Id: curs_touch.3x,v 1.30 2023/07/01 15:46:10 tom Exp @
+ * @Id: curs_touch.3x,v 1.34 2023/09/16 23:37:03 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>curs_touch 3x 2023-07-01 ncurses 6.4 Library calls</TITLE>
+<TITLE>curs_touch 3x 2023-09-16 ncurses 6.4 Library calls</TITLE>
<link rel="author" href="mailto:bug-ncurses@gnu.org">
</HEAD>
<BODY>
-<H1 class="no-header">curs_touch 3x 2023-07-01 ncurses 6.4 Library calls</H1>
+<H1 class="no-header">curs_touch 3x 2023-09-16 ncurses 6.4 Library calls</H1>
<PRE>
<STRONG><A HREF="curs_touch.3x.html">curs_touch(3x)</A></STRONG> Library calls <STRONG><A HREF="curs_touch.3x.html">curs_touch(3x)</A></STRONG>
</PRE><H2><a name="h2-NAME">NAME</a></H2><PRE>
- <STRONG>touchwin</STRONG>, <STRONG>touchline</STRONG>, <STRONG>untouchwin</STRONG>, <STRONG>wtouchln</STRONG>, <STRONG>is_linetouched</STRONG>,
- <STRONG>is_wintouched</STRONG> - <STRONG>curses</STRONG> refresh control routines
+ <STRONG>touchwin</STRONG>, <STRONG>touchline</STRONG>, <STRONG>untouchwin</STRONG>, <STRONG>wtouchln</STRONG>, <STRONG>is_linetouched</STRONG>,
+ <STRONG>is_wintouched</STRONG> - control terminal output refresh in a <EM>curses</EM> window
</PRE><H2><a name="h2-SYNOPSIS">SYNOPSIS</a></H2><PRE>
</PRE><H2><a name="h2-DESCRIPTION">DESCRIPTION</a></H2><PRE>
- The <STRONG>touchwin</STRONG> and <STRONG>touchline</STRONG> routines throw away all optimization infor-
- mation about which parts of the window have been touched, by pretending
- that the entire window has been drawn on. This is sometimes necessary
- when using overlapping windows, since a change to one window affects
- the other window, but the records of which lines have been changed in
- the other window do not reflect the change. The routine <STRONG>touchline</STRONG> only
- pretends that <EM>count</EM> lines have been changed, beginning with line <EM>start</EM>.
+ The <STRONG>touchwin</STRONG> and <STRONG>touchline</STRONG> routines throw away all optimization
+ information about which parts of the window have been touched, by
+ pretending that the entire window has been drawn on. This is sometimes
+ necessary when using overlapping windows, since a change to one window
+ affects the other window, but the records of which lines have been
+ changed in the other window do not reflect the change. The routine
+ <STRONG>touchline</STRONG> only pretends that <EM>count</EM> lines have been changed, beginning
+ with line <EM>start</EM>.
The <STRONG>untouchwin</STRONG> routine marks all lines in the window as unchanged since
the last call to <STRONG>wrefresh</STRONG>.
- The <STRONG>wtouchln</STRONG> routine makes <EM>n</EM> lines in the window, starting at line <EM>y</EM>,
- look as if they have (<EM>changed</EM><STRONG>=1</STRONG>) or have not (<EM>changed</EM><STRONG>=0</STRONG>) been changed
+ The <STRONG>wtouchln</STRONG> routine makes <EM>n</EM> lines in the window, starting at line <EM>y</EM>,
+ look as if they have (<EM>changed</EM><STRONG>=1</STRONG>) or have not (<EM>changed</EM><STRONG>=0</STRONG>) been changed
since the last call to <STRONG>wrefresh</STRONG>.
- The <STRONG>is_linetouched</STRONG> and <STRONG>is_wintouched</STRONG> routines return <STRONG>TRUE</STRONG> if the speci-
- fied line/window was modified since the last call to <STRONG>wrefresh</STRONG>; other-
- wise they return <STRONG>FALSE</STRONG>. In addition, <STRONG>is_linetouched</STRONG> returns <STRONG>ERR</STRONG> if
- <EM>line</EM> is not valid for the given window.
+ The <STRONG>is_linetouched</STRONG> and <STRONG>is_wintouched</STRONG> routines return <STRONG>TRUE</STRONG> if the
+ specified line/window was modified since the last call to <STRONG>wrefresh</STRONG>;
+ otherwise they return <STRONG>FALSE</STRONG>. In addition, <STRONG>is_linetouched</STRONG> returns <STRONG>ERR</STRONG>
+ if <EM>line</EM> is not valid for the given window.
</PRE><H2><a name="h2-RETURN-VALUE">RETURN VALUE</a></H2><PRE>
- All routines return the integer <STRONG>ERR</STRONG> upon failure and an integer value
- other than <STRONG>ERR</STRONG> upon successful completion, unless otherwise noted in
+ All routines return the integer <STRONG>ERR</STRONG> upon failure and an integer value
+ other than <STRONG>ERR</STRONG> upon successful completion, unless otherwise noted in
the preceding routine descriptions.
X/Open does not define any error conditions. In this implementation
<STRONG>is_linetouched</STRONG>
- returns an error if the window pointer is null, or if the line
+ returns an error if the window pointer is null, or if the line
number is outside the window.
The constant <STRONG>ERR</STRONG> is distinct from <STRONG>TRUE</STRONG> and <STRONG>FALSE</STRONG>, which are the
- normal return values of this function. Because the function
+ normal return values of this function. Because the function
returns a <STRONG>bool</STRONG>, returning <STRONG>ERR</STRONG> (which is neither <STRONG>TRUE</STRONG> nor <STRONG>FALSE</STRONG>)
may not be supported by the compiler.
- To provide error-checking and also match the X/Open function
+ To provide error-checking and also match the X/Open function
prototype, the <STRONG>ERR</STRONG> is provided by a macro named <STRONG>is_linetouched</STRONG>.
The actual function returns <STRONG>FALSE</STRONG> when it detects an error.
<STRONG>wtouchln</STRONG>
- returns an error if the window pointer is null, or if the line
+ returns an error if the window pointer is null, or if the line
number is outside the window.
</PRE><H2><a name="h2-PORTABILITY">PORTABILITY</a></H2><PRE>
- These functions were introduced by SVr4. The Solaris curses header
+ These functions were introduced by SVr4. The Solaris curses header
file, for instance, defines both an actual function and macro for each.
- The macros give the same result as the actual functions. SVr4 curses
- does not check the window parameter <EM>win</EM> to ensure that it is not <STRONG>NULL</STRONG>;
+ The macros give the same result as the actual functions. SVr4 curses
+ does not check the window parameter <EM>win</EM> to ensure that it is not <STRONG>NULL</STRONG>;
otherwise this implementation behaves the same as SVr4.
The XSI Curses standard, Issue 4 describes these functions, but defines
-ncurses 6.4 2023-07-01 <STRONG><A HREF="curs_touch.3x.html">curs_touch(3x)</A></STRONG>
+ncurses 6.4 2023-09-16 <STRONG><A HREF="curs_touch.3x.html">curs_touch(3x)</A></STRONG>
</PRE>
<div class="nav">
<ul>
* sale, use or other dealings in this Software without prior written *
* authorization. *
****************************************************************************
- * @Id: curs_trace.3x,v 1.29 2023/07/01 15:46:10 tom Exp @
+ * @Id: curs_trace.3x,v 1.35 2023/09/16 23:37:03 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>curs_trace 3x 2023-07-01 ncurses 6.4 Library calls</TITLE>
+<TITLE>curs_trace 3x 2023-09-16 ncurses 6.4 Library calls</TITLE>
<link rel="author" href="mailto:bug-ncurses@gnu.org">
</HEAD>
<BODY>
-<H1 class="no-header">curs_trace 3x 2023-07-01 ncurses 6.4 Library calls</H1>
+<H1 class="no-header">curs_trace 3x 2023-09-16 ncurses 6.4 Library calls</H1>
<PRE>
<STRONG><A HREF="curs_trace.3x.html">curs_trace(3x)</A></STRONG> Library calls <STRONG><A HREF="curs_trace.3x.html">curs_trace(3x)</A></STRONG>
</PRE><H2><a name="h2-NAME">NAME</a></H2><PRE>
- <STRONG>curses_trace</STRONG>, <STRONG>trace</STRONG>, <STRONG>_tracef</STRONG>, <STRONG>_traceattr</STRONG>, <STRONG>_traceattr2</STRONG>, <STRONG>_tracecchar_t</STRONG>,
+ <STRONG>curses_trace</STRONG>, <STRONG>trace</STRONG>, <STRONG>_tracef</STRONG>, <STRONG>_traceattr</STRONG>, <STRONG>_traceattr2</STRONG>, <STRONG>_tracecchar_t</STRONG>,
<STRONG>_tracecchar_t2</STRONG>, <STRONG>_tracechar</STRONG>, <STRONG>_tracechtype</STRONG>, <STRONG>_tracechtype2</STRONG>, <STRONG>_nc_tracebits</STRONG>,
- <STRONG>_tracedump</STRONG>, <STRONG>_tracemouse</STRONG> - <STRONG>curses</STRONG> debugging routines
+ <STRONG>_tracedump</STRONG>, <STRONG>_tracemouse</STRONG> - <EM>curses</EM> debugging routines
</PRE><H2><a name="h2-SYNOPSIS">SYNOPSIS</a></H2><PRE>
</PRE><H2><a name="h2-DESCRIPTION">DESCRIPTION</a></H2><PRE>
The <EM>curses</EM> <EM>trace</EM> routines are used for debugging the ncurses libraries,
- as well as applications which use the ncurses libraries. Some limita-
- tions apply:
+ as well as applications which use the ncurses libraries. Some
+ limitations apply:
<STRONG>o</STRONG> Aside from <STRONG>curses_trace</STRONG>, the other functions are normally available
only with the debugging library e.g., <STRONG>libncurses_g.a</STRONG>.
<STRONG>o</STRONG> <STRONG>_tracef</STRONG>, which writes formatted data to the <EM>trace</EM> file.
- The other functions either return a pointer to a string-area (allo-
- cated by the corresponding function), or return no value (such as
- <STRONG>_tracedump</STRONG>, which implements the screen dump for <STRONG>TRACE_UPDATE</STRONG>).
+ The other functions either return a pointer to a string-area
+ (allocated by the corresponding function), or return no value (such
+ as <STRONG>_tracedump</STRONG>, which implements the screen dump for <STRONG>TRACE_UPDATE</STRONG>).
The caller should not free these strings, since the allocation is
reused on successive calls. To work around the problem of a single
string-area per function, some use a buffer-number parameter,
The <STRONG>curses_trace</STRONG> function is always available, whether or not the other
trace functions are available:
- <STRONG>o</STRONG> If tracing is available, calling <STRONG>curses_trace</STRONG> with a nonzero param-
- eter updates the trace mask, and returns the previous trace mask.
+ <STRONG>o</STRONG> If tracing is available, calling <STRONG>curses_trace</STRONG> with a nonzero
+ parameter updates the trace mask, and returns the previous trace
+ mask.
When the trace mask is nonzero, ncurses creates the file "trace" in
- the current directory for output. If the file already exists, no
+ the current directory for output. If the file already exists, no
tracing is done.
<STRONG>o</STRONG> If tracing is not available, <STRONG>curses_trace</STRONG> returns zero (0).
</PRE><H3><a name="h3-Trace-Parameter">Trace Parameter</a></H3><PRE>
- The trace parameter is formed by OR'ing values from the list of
+ The trace parameter is formed by OR'ing values from the list of
<STRONG>TRACE_</STRONG><EM>xxx</EM> definitions in <STRONG><curses.h></STRONG>. These include:
<STRONG>TRACE_DISABLE</STRONG>
turn off tracing by passing a zero parameter.
- The library flushes the output file, but retains an open file-de-
- scriptor to the trace file so that it can resume tracing later if
- a nonzero parameter is passed to the <STRONG>curses_trace</STRONG> function.
+ The library flushes the output file, but retains an open file-
+ descriptor to the trace file so that it can resume tracing later
+ if a nonzero parameter is passed to the <STRONG>curses_trace</STRONG> function.
<STRONG>TRACE_TIMES</STRONG>
trace user and system times of updates.
trace all character outputs.
<STRONG>TRACE_ORDINARY</STRONG>
- trace all update actions. The old and new screen contents are
+ trace all update actions. The old and new screen contents are
written to the trace file for each refresh.
<STRONG>TRACE_CALLS</STRONG>
- trace all curses calls. The parameters for each call are traced,
+ trace all curses calls. The parameters for each call are traced,
as well as return values.
<STRONG>TRACE_VIRTPUT</STRONG>
<STRONG>TRACE_MAXIMUM</STRONG>
maximum trace level, enables all of the separate trace features.
- Some tracing features are enabled whenever the <STRONG>curses_trace</STRONG> parameter
- is nonzero. Some features overlap. The specific names are used as a
+ Some tracing features are enabled whenever the <STRONG>curses_trace</STRONG> parameter
+ is nonzero. Some features overlap. The specific names are used as a
guideline.
</PRE><H3><a name="h3-Initialization">Initialization</a></H3><PRE>
- These functions check the <STRONG>NCURSES_TRACE</STRONG> environment variable, to set
+ These functions check the <STRONG>NCURSES_TRACE</STRONG> environment variable, to set
the tracing feature as if <STRONG>curses_trace</STRONG> was called:
- filter, initscr, new_prescr, newterm, nofilter, restartterm,
- ripoffline, setupterm, slk_init, tgetent, use_env,
+ filter, initscr, new_prescr, newterm, nofilter, restartterm,
+ ripoffline, setupterm, slk_init, tgetent, use_env,
use_extended_names, use_tioctl
</PRE><H3><a name="h3-Command-line-Utilities">Command-line Utilities</a></H3><PRE>
- The command-line utilities such as <STRONG><A HREF="tic.1m.html">tic(1)</A></STRONG> provide a verbose option
- which extends the set of messages written using the <STRONG>curses_trace</STRONG> func-
- tion. Both of these (<STRONG>-v</STRONG> and <STRONG>curses_trace</STRONG>) use the same variable
+ The command-line utilities such as <STRONG><A HREF="tic.1m.html">tic(1)</A></STRONG> provide a verbose option
+ which extends the set of messages written using the <STRONG>curses_trace</STRONG>
+ function. Both of these (<STRONG>-v</STRONG> and <STRONG>curses_trace</STRONG>) use the same variable
(<STRONG>_nc_tracing</STRONG>), which determines the messages which are written.
- Because the command-line utilities may call initialization functions
- such as <STRONG>setupterm</STRONG>, <STRONG>tgetent</STRONG> or <STRONG>use_extended_names</STRONG>, some of their debug-
- ging output may be directed to the <EM>trace</EM> file if the <STRONG>NCURSES_TRACE</STRONG> en-
- vironment variable is set:
+ Because the command-line utilities may call initialization functions
+ such as <STRONG>setupterm</STRONG>, <STRONG>tgetent</STRONG> or <STRONG>use_extended_names</STRONG>, some of their
+ debugging output may be directed to the <EM>trace</EM> file if the <STRONG>NCURSES_TRACE</STRONG>
+ environment variable is set:
<STRONG>o</STRONG> messages produced in the utility are written to the standard error.
<STRONG>o</STRONG> messages produced by the underlying library are written to <EM>trace</EM>.
- If ncurses is built without tracing, none of the latter are produced,
+ If ncurses is built without tracing, none of the latter are produced,
and fewer diagnostics are provided by the command-line utilities.
</PRE><H2><a name="h2-RETURN-VALUE">RETURN VALUE</a></H2><PRE>
- Routines which return a value are designed to be used as parameters to
+ Routines which return a value are designed to be used as parameters to
the <STRONG>_tracef</STRONG> routine.
</PRE><H2><a name="h2-PORTABILITY">PORTABILITY</a></H2><PRE>
- These functions are not part of the XSI interface. Some other curses
- implementations are known to have similar features, but they are not
+ These functions are not part of the XSI interface. Some other curses
+ implementations are known to have similar features, but they are not
compatible with ncurses:
- <STRONG>o</STRONG> SVr4 provided <STRONG>traceon</STRONG> and <STRONG>traceoff</STRONG>, to control whether debugging
- information was written to the "trace" file. While the functions
- were always available, this feature was only enabled if <STRONG>DEBUG</STRONG> was
+ <STRONG>o</STRONG> SVr4 provided <STRONG>traceon</STRONG> and <STRONG>traceoff</STRONG>, to control whether debugging
+ information was written to the "trace" file. While the functions
+ were always available, this feature was only enabled if <STRONG>DEBUG</STRONG> was
defined when building the library.
The SVr4 tracing feature is undocumented.
- <STRONG>o</STRONG> PDCurses provides <STRONG>traceon</STRONG> and <STRONG>traceoff</STRONG>, which (like SVr4) are al-
- ways available, and enable tracing to the "trace" file only when a
- debug-library is built.
+ <STRONG>o</STRONG> PDCurses provides <STRONG>traceon</STRONG> and <STRONG>traceoff</STRONG>, which (like SVr4) are
+ always available, and enable tracing to the "trace" file only when
+ a debug-library is built.
- PDCurses has a short description of these functions, with a note
- that they are not present in X/Open Curses, ncurses or NetBSD. It
- does not mention SVr4, but the functions' inclusion in a header
+ PDCurses has a short description of these functions, with a note
+ that they are not present in X/Open Curses, ncurses or NetBSD. It
+ does not mention SVr4, but the functions' inclusion in a header
file section labeled "Quasi-standard" hints at the origin.
- <STRONG>o</STRONG> NetBSD does not provide functions for enabling/disabling traces.
- It uses environment variables <STRONG>CURSES_TRACE_MASK</STRONG> and <STRONG>CURS-</STRONG>
- <STRONG>ES_TRACE_FILE</STRONG> to determine what is traced, and where the results
- are written. This is available only when a debug-library is built.
+ <STRONG>o</STRONG> NetBSD does not provide functions for enabling/disabling traces.
+ It uses environment variables <STRONG>CURSES_TRACE_MASK</STRONG> and
+ <STRONG>CURSES_TRACE_FILE</STRONG> to determine what is traced, and where the
+ results are written. This is available only when a debug-library
+ is built.
The NetBSD tracing feature is undocumented.
-ncurses 6.4 2023-07-01 <STRONG><A HREF="curs_trace.3x.html">curs_trace(3x)</A></STRONG>
+ncurses 6.4 2023-09-16 <STRONG><A HREF="curs_trace.3x.html">curs_trace(3x)</A></STRONG>
</PRE>
<div class="nav">
<ul>
* sale, use or other dealings in this Software without prior written *
* authorization. *
****************************************************************************
- * @Id: curs_util.3x,v 1.73 2023/08/19 20:38:17 tom Exp @
+ * @Id: curs_util.3x,v 1.77 2023/09/16 23:37:03 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>curs_util 3x 2023-08-19 ncurses 6.4 Library calls</TITLE>
+<TITLE>curs_util 3x 2023-09-16 ncurses 6.4 Library calls</TITLE>
<link rel="author" href="mailto:bug-ncurses@gnu.org">
</HEAD>
<BODY>
-<H1 class="no-header">curs_util 3x 2023-08-19 ncurses 6.4 Library calls</H1>
+<H1 class="no-header">curs_util 3x 2023-09-16 ncurses 6.4 Library calls</H1>
<PRE>
<STRONG><A HREF="curs_util.3x.html">curs_util(3x)</A></STRONG> Library calls <STRONG><A HREF="curs_util.3x.html">curs_util(3x)</A></STRONG>
</PRE><H2><a name="h2-NAME">NAME</a></H2><PRE>
- <STRONG>delay_output</STRONG>, <STRONG>filter</STRONG>, <STRONG>flushinp</STRONG>, <STRONG>getwin</STRONG>, <STRONG>key_name</STRONG>, <STRONG>keyname</STRONG>, <STRONG>nofilter</STRONG>,
- <STRONG>putwin</STRONG>, <STRONG>unctrl</STRONG>, <STRONG>use_env</STRONG>, <STRONG>use_tioctl</STRONG>, <STRONG>wunctrl</STRONG> - miscellaneous <STRONG>curses</STRONG>
+ <STRONG>delay_output</STRONG>, <STRONG>filter</STRONG>, <STRONG>flushinp</STRONG>, <STRONG>getwin</STRONG>, <STRONG>key_name</STRONG>, <STRONG>keyname</STRONG>, <STRONG>nofilter</STRONG>,
+ <STRONG>putwin</STRONG>, <STRONG>unctrl</STRONG>, <STRONG>use_env</STRONG>, <STRONG>use_tioctl</STRONG>, <STRONG>wunctrl</STRONG> - miscellaneous <EM>curses</EM>
utility routines
</PRE><H2><a name="h2-DESCRIPTION">DESCRIPTION</a></H2><PRE>
</PRE><H3><a name="h3-unctrl">unctrl</a></H3><PRE>
- The <STRONG>unctrl</STRONG> routine returns a character string which is a printable rep-
- resentation of the character <EM>c</EM>:
+ The <STRONG>unctrl</STRONG> routine returns a character string which is a printable
+ representation of the character <EM>c</EM>:
- <STRONG>o</STRONG> Printable characters are displayed as themselves, e.g., a one-char-
- acter string containing the key.
+ <STRONG>o</STRONG> Printable characters are displayed as themselves, e.g., a one-
+ character string containing the key.
<STRONG>o</STRONG> Control characters are displayed in the <STRONG>^</STRONG><EM>X</EM> notation.
<STRONG>o</STRONG> DEL (character 127) is displayed as <STRONG>^?</STRONG>.
<STRONG>o</STRONG> Values above 128 are either meta characters (if the screen has not
- been initialized, or if <STRONG><A HREF="curs_inopts.3x.html">meta(3x)</A></STRONG> has been called with a <STRONG>TRUE</STRONG> param-
- eter), shown in the <STRONG>M-</STRONG><EM>X</EM> notation, or are displayed as themselves.
- In the latter case, the values may not be printable; this follows
- the X/Open specification.
+ been initialized, or if <STRONG><A HREF="curs_inopts.3x.html">meta(3x)</A></STRONG> has been called with a <STRONG>TRUE</STRONG>
+ parameter), shown in the <STRONG>M-</STRONG><EM>X</EM> notation, or are displayed as
+ themselves. In the latter case, the values may not be printable;
+ this follows the X/Open specification.
- The corresponding <STRONG>wunctrl</STRONG> returns a printable representation of a com-
- plex character <EM>c</EM>.
+ The corresponding <STRONG>wunctrl</STRONG> returns a printable representation of a
+ complex character <EM>c</EM>.
In both <STRONG>unctrl</STRONG> and <STRONG>wunctrl</STRONG> the attributes and color associated with the
character parameter are ignored.
The <STRONG>keyname</STRONG> routine returns a character string corresponding to the key
<EM>c</EM>. Key codes are different from character codes.
- <STRONG>o</STRONG> Key codes below 256 are characters. They are displayed using <STRONG>unc-</STRONG>
- <STRONG>trl</STRONG>.
+ <STRONG>o</STRONG> Key codes below 256 are characters. They are displayed using
+ <STRONG>unctrl</STRONG>.
<STRONG>o</STRONG> Values above 256 may be the codes for function keys. The function
key name is displayed.
<STRONG>o</STRONG> Otherwise (if there is no corresponding name and the key is not a
character) the function returns null, to denote an error. X/Open
- also lists an "UNKNOWN KEY" return value, which some implementa-
- tions return rather than null.
+ also lists an "UNKNOWN KEY" return value, which some
+ implementations return rather than null.
- The corresponding <STRONG>key_name</STRONG> returns a multibyte character string corre-
- sponding to the wide-character value <EM>w</EM>. The two functions (<STRONG>keyname</STRONG> and
- <STRONG>key_name</STRONG>) do not return the same set of strings:
+ The corresponding <STRONG>key_name</STRONG> returns a multibyte character string
+ corresponding to the wide-character value <EM>w</EM>. The two functions
+ (<STRONG>keyname</STRONG> and <STRONG>key_name</STRONG>) do not return the same set of strings:
<STRONG>o</STRONG> <STRONG>keyname</STRONG> returns null where <STRONG>key_name</STRONG> would display a meta character.
<STRONG>o</STRONG> <STRONG>LINES</STRONG> is set to 1;
- <STRONG>o</STRONG> the capabilities <STRONG>clear</STRONG>, <STRONG>cud1</STRONG>, <STRONG>cud</STRONG>, <STRONG>cup</STRONG>, <STRONG>cuu1</STRONG>, <STRONG>cuu</STRONG>, <STRONG>vpa</STRONG> are dis-
- abled;
+ <STRONG>o</STRONG> the capabilities <STRONG>clear</STRONG>, <STRONG>cud1</STRONG>, <STRONG>cud</STRONG>, <STRONG>cup</STRONG>, <STRONG>cuu1</STRONG>, <STRONG>cuu</STRONG>, <STRONG>vpa</STRONG> are
+ disabled;
<STRONG>o</STRONG> the capability <STRONG>ed</STRONG> is disabled if <STRONG>bce</STRONG> is set;
</PRE><H3><a name="h3-use_env">use_env</a></H3><PRE>
The <STRONG>use_env</STRONG> routine, if used, should be called before <STRONG>initscr</STRONG> or
- <STRONG>newterm</STRONG> are called (because those compute the screen size). It modi-
- fies the way <STRONG>ncurses</STRONG> treats environment variables when determining the
- screen size.
+ <STRONG>newterm</STRONG> are called (because those compute the screen size). It
+ modifies the way <STRONG>ncurses</STRONG> treats environment variables when determining
+ the screen size.
<STRONG>o</STRONG> Normally <STRONG>ncurses</STRONG> looks first at the terminal database for the
screen size.
- If <STRONG>use_env</STRONG> was called with <STRONG>FALSE</STRONG> for parameter, it stops here un-
- less <STRONG>use_tioctl</STRONG> was also called with <STRONG>TRUE</STRONG> for parameter.
+ If <STRONG>use_env</STRONG> was called with <STRONG>FALSE</STRONG> for parameter, it stops here
+ unless <STRONG>use_tioctl</STRONG> was also called with <STRONG>TRUE</STRONG> for parameter.
<STRONG>o</STRONG> Then it asks for the screen size via operating system calls. If
successful, it overrides the values from the terminal database.
<STRONG>o</STRONG> Finally (unless <STRONG>use_env</STRONG> was called with <STRONG>FALSE</STRONG> parameter), <STRONG>ncurses</STRONG>
examines the <STRONG>LINES</STRONG> or <STRONG>COLUMNS</STRONG> environment variables, using a value
- in those to override the results from the operating system or ter-
- minal database.
+ in those to override the results from the operating system or
+ terminal database.
- <STRONG>Ncurses</STRONG> also updates the screen size in response to <STRONG>SIGWINCH</STRONG>, un-
- less overridden by the <STRONG>LINES</STRONG> or <STRONG>COLUMNS</STRONG> environment variables,
+ <STRONG>Ncurses</STRONG> also updates the screen size in response to <STRONG>SIGWINCH</STRONG>,
+ unless overridden by the <STRONG>LINES</STRONG> or <STRONG>COLUMNS</STRONG> environment variables,
</PRE><H3><a name="h3-use_tioctl">use_tioctl</a></H3><PRE>
<STRONG>use_env</STRONG> <STRONG>use_tioctl</STRONG> <STRONG>Summary</STRONG>
----------------------------------------------------------------
TRUE FALSE This is the default behavior. <STRONG>ncurses</STRONG>
- uses operating system calls unless over-
- ridden by $LINES or $COLUMNS environment
- variables.
+ uses operating system calls unless
+ overridden by $LINES or $COLUMNS
+ environment variables.
TRUE TRUE <STRONG>ncurses</STRONG> updates $LINES and $COLUMNS
based on operating system calls.
- FALSE TRUE <STRONG>ncurses</STRONG> ignores $LINES and $COLUMNS, us-
- es operating system calls to obtain
+ FALSE TRUE <STRONG>ncurses</STRONG> ignores $LINES and $COLUMNS,
+ uses operating system calls to obtain
size.
FALSE FALSE <STRONG>ncurses</STRONG> relies on the terminal database
to determine size.
</PRE><H3><a name="h3-putwin_getwin">putwin/getwin</a></H3><PRE>
The <STRONG>putwin</STRONG> routine writes all data associated with window (or pad) <EM>win</EM>
- into the file to which <EM>filep</EM> points. This information can be later re-
- trieved using the <STRONG>getwin</STRONG> function.
+ into the file to which <EM>filep</EM> points. This information can be later
+ retrieved using the <STRONG>getwin</STRONG> function.
The <STRONG>getwin</STRONG> routine reads window related data stored in the file by
<STRONG>putwin</STRONG>. The routine then creates and initializes a new window using
that data. It returns a pointer to the new window. There are a few
caveats:
- <STRONG>o</STRONG> the data written is a copy of the <STRONG>WINDOW</STRONG> structure, and its associ-
- ated character cells. The format differs between the wide-charac-
- ter (<STRONG>ncursesw</STRONG>) and non-wide (<STRONG>ncurses</STRONG>) libraries. You can transfer
- data between the two, however.
+ <STRONG>o</STRONG> the data written is a copy of the <STRONG>WINDOW</STRONG> structure, and its
+ associated character cells. The format differs between the wide-
+ character (<STRONG>ncursesw</STRONG>) and non-wide (<STRONG>ncurses</STRONG>) libraries. You can
+ transfer data between the two, however.
<STRONG>o</STRONG> the retrieved window is always created as a top-level window (or
pad), rather than a subwindow.
</PRE><H3><a name="h3-delay_output">delay_output</a></H3><PRE>
The <STRONG>delay_output</STRONG> routine inserts an <EM>ms</EM> millisecond pause in output.
This routine should not be used extensively because padding characters
- are used rather than a CPU pause. If no padding character is speci-
- fied, this uses <STRONG>napms</STRONG> to perform the delay.
+ are used rather than a CPU pause. If no padding character is
+ specified, this uses <STRONG>napms</STRONG> to perform the delay.
</PRE><H3><a name="h3-flushinp">flushinp</a></H3><PRE>
returns an error if the terminal was not initialized.
<STRONG>putwin</STRONG>
- returns an error if the associated <STRONG>fwrite</STRONG> calls return an er-
- ror.
+ returns an error if the associated <STRONG>fwrite</STRONG> calls return an
+ error.
</PRE><H2><a name="h2-PORTABILITY">PORTABILITY</a></H2><PRE>
</PRE><H3><a name="h3-keyname">keyname</a></H3><PRE>
- The <STRONG>keyname</STRONG> function may return the names of user-defined string capa-
- bilities which are defined in the terminfo entry via the <STRONG>-x</STRONG> option of
- <STRONG>tic</STRONG>. This implementation automatically assigns at run-time keycodes to
- user-defined strings which begin with "k". The keycodes start at
+ The <STRONG>keyname</STRONG> function may return the names of user-defined string
+ capabilities which are defined in the terminfo entry via the <STRONG>-x</STRONG> option
+ of <STRONG>tic</STRONG>. This implementation automatically assigns at run-time keycodes
+ to user-defined strings which begin with "k". The keycodes start at
KEY_MAX, but are not guaranteed to be the same value for different runs
because user-defined codes are merged from all terminal descriptions
which have been loaded. The <STRONG><A HREF="curs_extend.3x.html">use_extended_names(3x)</A></STRONG> function controls
</PRE><H3><a name="h3-nofilter_use_tioctl">nofilter/use_tioctl</a></H3><PRE>
The <STRONG>nofilter</STRONG> and <STRONG>use_tioctl</STRONG> routines are specific to <STRONG>ncurses</STRONG>. They
were not supported on Version 7, BSD or System V implementations. It
- is recommended that any code depending on <STRONG>ncurses</STRONG> extensions be condi-
- tioned using NCURSES_VERSION.
+ is recommended that any code depending on <STRONG>ncurses</STRONG> extensions be
+ conditioned using NCURSES_VERSION.
</PRE><H3><a name="h3-putwin_getwin-file-format">putwin/getwin file-format</a></H3><PRE>
The <STRONG>putwin</STRONG> and <STRONG>getwin</STRONG> functions have several issues with portability:
- <STRONG>o</STRONG> The files written and read by these functions use an implementa-
- tion-specific format. Although the format is an obvious target for
- standardization, it has been overlooked.
+ <STRONG>o</STRONG> The files written and read by these functions use an
+ implementation-specific format. Although the format is an obvious
+ target for standardization, it has been overlooked.
Interestingly enough, according to the copyright dates in Solaris
source, the functions (along with <STRONG>scr_init</STRONG>, etc.) originated with
<STRONG>o</STRONG> the parameter is in the range 128-159, i.e., a C1 control code. If
<STRONG><A HREF="legacy_coding.3x.html">use_legacy_coding(3x)</A></STRONG> has been called with a <STRONG>2</STRONG> parameter, <STRONG>unctrl</STRONG>
- returns the parameter, i.e., a one-character string with the param-
- eter as the first character. Otherwise, it returns "~@", "~A",
- etc., analogous to "^@", "^A", C0 controls.
+ returns the parameter, i.e., a one-character string with the
+ parameter as the first character. Otherwise, it returns "~@",
+ "~A", etc., analogous to "^@", "^A", C0 controls.
X/Open Curses does not document whether <STRONG>unctrl</STRONG> can be called before
initializing curses. This implementation permits that, and returns
The strings returned by <STRONG>unctrl</STRONG> in this implementation are determined at
compile time, showing C1 controls from the upper-128 codes with a "~"
- prefix rather than "^". Other implementations have different conven-
- tions. For example, they may show both sets of control characters with
- "^", and strip the parameter to 7 bits. Or they may ignore C1 controls
- and treat all of the upper-128 codes as printable. This implementation
- uses 8 bits but does not modify the string to reflect locale. The
- <STRONG><A HREF="legacy_coding.3x.html">use_legacy_coding(3x)</A></STRONG> function allows the caller to change the output
- of <STRONG>unctrl</STRONG>.
+ prefix rather than "^". Other implementations have different
+ conventions. For example, they may show both sets of control
+ characters with "^", and strip the parameter to 7 bits. Or they may
+ ignore C1 controls and treat all of the upper-128 codes as printable.
+ This implementation uses 8 bits but does not modify the string to
+ reflect locale. The <STRONG><A HREF="legacy_coding.3x.html">use_legacy_coding(3x)</A></STRONG> function allows the caller
+ to change the output of <STRONG>unctrl</STRONG>.
Likewise, the <STRONG><A HREF="curs_inopts.3x.html">meta(3x)</A></STRONG> function allows the caller to change the output
of <STRONG>keyname</STRONG>, i.e., it determines whether to use the "M-" prefix for
- "meta" keys (codes in the range 128 to 255). Both <STRONG>use_legacy_cod-</STRONG>
- <STRONG><A HREF="use_legacy_coding.3x.html">ing(3x)</A></STRONG> and <STRONG><A HREF="curs_inopts.3x.html">meta(3x)</A></STRONG> succeed only after curses is initialized. X/Open
- Curses does not document the treatment of codes 128 to 159. When
- treating them as "meta" keys (or if <STRONG>keyname</STRONG> is called before initializ-
- ing curses), this implementation returns strings "M-^@", "M-^A", etc.
+ "meta" keys (codes in the range 128 to 255). Both
+ <STRONG><A HREF="legacy_coding.3x.html">use_legacy_coding(3x)</A></STRONG> and <STRONG><A HREF="curs_inopts.3x.html">meta(3x)</A></STRONG> succeed only after curses is
+ initialized. X/Open Curses does not document the treatment of codes
+ 128 to 159. When treating them as "meta" keys (or if <STRONG>keyname</STRONG> is called
+ before initializing curses), this implementation returns strings
+ "M-^@", "M-^A", etc.
X/Open Curses documents <STRONG>unctrl</STRONG> as declared in <STRONG><unctrl.h></STRONG>, which <STRONG>ncurses</STRONG>
- does. However, <STRONG>ncurses</STRONG>' <STRONG><curses.h></STRONG> includes <STRONG><unctrl.h></STRONG>, matching the
+ does. However, <STRONG>ncurses</STRONG>' <STRONG><curses.h></STRONG> includes <STRONG><unctrl.h></STRONG>, matching the
behavior of SVr4 curses. Other implementations may not do that.
</PRE><H3><a name="h3-use_env_use_tioctl">use_env/use_tioctl</a></H3><PRE>
- If <STRONG>ncurses</STRONG> is configured to provide the sp-functions extension, the
- state of <STRONG>use_env</STRONG> and <STRONG>use_tioctl</STRONG> may be updated before creating each
- <EM>screen</EM> rather than once only (<STRONG><A HREF="curs_sp_funcs.3x.html">curs_sp_funcs(3x)</A></STRONG>). This feature of
+ If <STRONG>ncurses</STRONG> is configured to provide the sp-functions extension, the
+ state of <STRONG>use_env</STRONG> and <STRONG>use_tioctl</STRONG> may be updated before creating each
+ <EM>screen</EM> rather than once only (<STRONG><A HREF="curs_sp_funcs.3x.html">curs_sp_funcs(3x)</A></STRONG>). This feature of
<STRONG>use_env</STRONG> is not provided by other implementations of curses.
</PRE><H2><a name="h2-SEE-ALSO">SEE ALSO</a></H2><PRE>
- <STRONG><A HREF="ncurses.3x.html">curses(3x)</A></STRONG>, <STRONG><A HREF="curs_initscr.3x.html">curs_initscr(3x)</A></STRONG>, <STRONG><A HREF="curs_inopts.3x.html">curs_inopts(3x)</A></STRONG>, <STRONG><A HREF="curs_kernel.3x.html">curs_kernel(3x)</A></STRONG>,
- <STRONG><A HREF="curs_scr_dump.3x.html">curs_scr_dump(3x)</A></STRONG>, <STRONG><A HREF="curs_sp_funcs.3x.html">curs_sp_funcs(3x)</A></STRONG>, <STRONG><A HREF="curs_variables.3x.html">curs_variables(3x)</A></STRONG>, <STRONG>legacy_cod-</STRONG>
- <STRONG><A HREF="legacy_coding.3x.html">ing(3x)</A></STRONG>.
+ <STRONG><A HREF="ncurses.3x.html">curses(3x)</A></STRONG>, <STRONG><A HREF="curs_initscr.3x.html">curs_initscr(3x)</A></STRONG>, <STRONG><A HREF="curs_inopts.3x.html">curs_inopts(3x)</A></STRONG>, <STRONG><A HREF="curs_kernel.3x.html">curs_kernel(3x)</A></STRONG>,
+ <STRONG><A HREF="curs_scr_dump.3x.html">curs_scr_dump(3x)</A></STRONG>, <STRONG><A HREF="curs_sp_funcs.3x.html">curs_sp_funcs(3x)</A></STRONG>, <STRONG><A HREF="curs_variables.3x.html">curs_variables(3x)</A></STRONG>,
+ <STRONG><A HREF="legacy_coding.3x.html">legacy_coding(3x)</A></STRONG>.
-ncurses 6.4 2023-08-19 <STRONG><A HREF="curs_util.3x.html">curs_util(3x)</A></STRONG>
+ncurses 6.4 2023-09-16 <STRONG><A HREF="curs_util.3x.html">curs_util(3x)</A></STRONG>
</PRE>
<div class="nav">
<ul>
<!--
****************************************************************************
- * Copyright 2018-2020,2021 Thomas E. Dickey *
+ * Copyright 2018-2021,2023 Thomas E. Dickey *
* Copyright 2010-2015,2017 Free Software Foundation, Inc. *
* *
* Permission is hereby granted, free of charge, to any person obtaining a *
* sale, use or other dealings in this Software without prior written *
* authorization. *
****************************************************************************
- * @Id: curs_variables.3x,v 1.18 2021/12/25 21:49:32 tom Exp @
+ * @Id: curs_variables.3x,v 1.23 2023/09/16 23:37:03 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>curs_variables 3x 2021-12-25 ncurses 6.4 Library calls</TITLE>
+<TITLE>curs_variables 3x 2023-09-16 ncurses 6.4 Library calls</TITLE>
<link rel="author" href="mailto:bug-ncurses@gnu.org">
</HEAD>
<BODY>
-<H1 class="no-header">curs_variables 3x 2021-12-25 ncurses 6.4 Library calls</H1>
+<H1 class="no-header">curs_variables 3x 2023-09-16 ncurses 6.4 Library calls</H1>
<PRE>
<STRONG><A HREF="curs_variables.3x.html">curs_variables(3x)</A></STRONG> Library calls <STRONG><A HREF="curs_variables.3x.html">curs_variables(3x)</A></STRONG>
</PRE><H2><a name="h2-NAME">NAME</a></H2><PRE>
- <STRONG>COLORS</STRONG>, <STRONG>COLOR_PAIRS</STRONG>, <STRONG>COLS</STRONG>, <STRONG>ESCDELAY</STRONG>, <STRONG>LINES</STRONG>, <STRONG>TABSIZE</STRONG>, <STRONG>curscr</STRONG>, <STRONG>newscr</STRONG>,
- <STRONG>stdscr</STRONG> - <STRONG>curses</STRONG> global variables
+ <STRONG>COLORS</STRONG>, <STRONG>COLOR_PAIRS</STRONG>, <STRONG>COLS</STRONG>, <STRONG>ESCDELAY</STRONG>, <STRONG>LINES</STRONG>, <STRONG>TABSIZE</STRONG>, <STRONG>curscr</STRONG>, <STRONG>newscr</STRONG>,
+ <STRONG>stdscr</STRONG> - <EM>curses</EM> global variables
</PRE><H2><a name="h2-SYNOPSIS">SYNOPSIS</a></H2><PRE>
</PRE><H3><a name="h3-ESCDELAY">ESCDELAY</a></H3><PRE>
This variable holds the number of milliseconds to wait after reading an
escape character, to distinguish between an individual escape character
- entered on the keyboard from escape sequences sent by cursor- and func-
- tion-keys (see <STRONG><A HREF="ncurses.3x.html">curses(3x)</A></STRONG>).
+ entered on the keyboard from escape sequences sent by cursor- and
+ function-keys (see <STRONG><A HREF="ncurses.3x.html">curses(3x)</A></STRONG>).
</PRE><H3><a name="h3-LINES">LINES</a></H3><PRE>
</PRE><H3><a name="h3-TABSIZE">TABSIZE</a></H3><PRE>
This variable holds the number of columns used by the <EM>curses</EM> library
- when converting a tab character to spaces as it adds the tab to a win-
- dow (see <STRONG><A HREF="curs_addch.3x.html">curs_addch(3x)</A></STRONG>.
+ when converting a tab character to spaces as it adds the tab to a
+ window (see <STRONG><A HREF="curs_addch.3x.html">curs_addch(3x)</A></STRONG>.
</PRE><H3><a name="h3-The-Current-Screen">The Current Screen</a></H3><PRE>
</PRE><H3><a name="h3-The-New-Screen">The New Screen</a></H3><PRE>
- This implementation of curses uses a special window <STRONG>newscr</STRONG> to hold up-
- dates to the terminal screen before applying them to <STRONG>curscr</STRONG>.
+ This implementation of curses uses a special window <STRONG>newscr</STRONG> to hold
+ updates to the terminal screen before applying them to <STRONG>curscr</STRONG>.
This is referred to as the "virtual screen" in the <STRONG><A HREF="curs_kernel.3x.html">curs_kernel(3x)</A></STRONG>,
<STRONG><A HREF="curs_refresh.3x.html">curs_refresh(3x)</A></STRONG> and <STRONG><A HREF="curs_outopts.3x.html">curs_outopts(3x)</A></STRONG> manual pages.
<STRONG>TABSIZE</STRONG> is a feature of SVr4 curses which is not documented by X/Open
curses.
- <STRONG>o</STRONG> In SVr4 curses, <STRONG>TABSIZE</STRONG> is initially set from the terminal descrip-
- tion's <STRONG>init_tabs</STRONG> capability. After that, it can be altered by the
- applications using SVr4 curses.
+ <STRONG>o</STRONG> In SVr4 curses, <STRONG>TABSIZE</STRONG> is initially set from the terminal
+ description's <STRONG>init_tabs</STRONG> capability. After that, it can be altered
+ by the applications using SVr4 curses.
- SVr4 curses uses the current value of <STRONG>TABSIZE</STRONG> to compute the posi-
- tion of tabstops for updating both the virtual screen with <STRONG>add-</STRONG>
- <STRONG><A HREF="addch.3x.html">ch(3x)</A></STRONG> as well as the physical screen with <STRONG><A HREF="curs_terminfo.3x.html">mvcur(3x)</A></STRONG>.
+ SVr4 curses uses the current value of <STRONG>TABSIZE</STRONG> to compute the
+ position of tabstops for updating both the virtual screen with
+ <STRONG><A HREF="curs_addch.3x.html">addch(3x)</A></STRONG> as well as the physical screen with <STRONG><A HREF="curs_terminfo.3x.html">mvcur(3x)</A></STRONG>.
- <STRONG>o</STRONG> This implementation uses the current value of <STRONG>TABSIZE</STRONG> only for up-
- dating the virtual screen. It uses the terminal description's <STRONG>it</STRONG>
+ <STRONG>o</STRONG> This implementation uses the current value of <STRONG>TABSIZE</STRONG> only for
+ updating the virtual screen. It uses the terminal description's <STRONG>it</STRONG>
(<STRONG>init_tabs</STRONG>) capability for computing hardware tabs (i.e., tab stops
on the physical screen).
<STRONG>o</STRONG> Other implementations differ. For instance, NetBSD curses allows
- <STRONG>TABSIZE</STRONG> to be set through an environment variable. This implemen-
- tation does not.
+ <STRONG>TABSIZE</STRONG> to be set through an environment variable. This
+ implementation does not.
NetBSD curses does not support hardware tabs; it uses the <STRONG>init_tabs</STRONG>
capability and the <STRONG>TABSIZE</STRONG> variable only for updating the virtual
<STRONG>o</STRONG> The default value for AIX's <STRONG>ESCDELAY</STRONG> is 0.1 seconds.
- <STRONG>o</STRONG> AIX also enforces a limit of 10,000 seconds for <STRONG>ESCDELAY</STRONG>; this im-
- plementation currently has no upper limit.
+ <STRONG>o</STRONG> AIX also enforces a limit of 10,000 seconds for <STRONG>ESCDELAY</STRONG>; this
+ implementation currently has no upper limit.
This implementation has long used <STRONG>ESCDELAY</STRONG> with units of milliseconds,
making it impossible to be completely compatible with AIX. Likewise,
-ncurses 6.4 2021-12-25 <STRONG><A HREF="curs_variables.3x.html">curs_variables(3x)</A></STRONG>
+ncurses 6.4 2023-09-16 <STRONG><A HREF="curs_variables.3x.html">curs_variables(3x)</A></STRONG>
</PRE>
<div class="nav">
<ul>
* sale, use or other dealings in this Software without prior written *
* authorization. *
****************************************************************************
- * @Id: curs_window.3x,v 1.32 2023/07/01 15:46:10 tom Exp @
+ * @Id: curs_window.3x,v 1.36 2023/09/16 23:37:03 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>curs_window 3x 2023-07-01 ncurses 6.4 Library calls</TITLE>
+<TITLE>curs_window 3x 2023-09-16 ncurses 6.4 Library calls</TITLE>
<link rel="author" href="mailto:bug-ncurses@gnu.org">
</HEAD>
<BODY>
-<H1 class="no-header">curs_window 3x 2023-07-01 ncurses 6.4 Library calls</H1>
+<H1 class="no-header">curs_window 3x 2023-09-16 ncurses 6.4 Library calls</H1>
<PRE>
<STRONG><A HREF="curs_window.3x.html">curs_window(3x)</A></STRONG> Library calls <STRONG><A HREF="curs_window.3x.html">curs_window(3x)</A></STRONG>
</PRE><H2><a name="h2-NAME">NAME</a></H2><PRE>
- <STRONG>newwin</STRONG>, <STRONG>delwin</STRONG>, <STRONG>mvwin</STRONG>, <STRONG>subwin</STRONG>, <STRONG>derwin</STRONG>, <STRONG>mvderwin</STRONG>, <STRONG>dupwin</STRONG>, <STRONG>wsyncup</STRONG>,
- <STRONG>syncok</STRONG>, <STRONG>wcursyncup</STRONG>, <STRONG>wsyncdown</STRONG> - create <STRONG>curses</STRONG> windows
+ <STRONG>newwin</STRONG>, <STRONG>delwin</STRONG>, <STRONG>mvwin</STRONG>, <STRONG>subwin</STRONG>, <STRONG>derwin</STRONG>, <STRONG>mvderwin</STRONG>, <STRONG>dupwin</STRONG>, <STRONG>wsyncup</STRONG>,
+ <STRONG>syncok</STRONG>, <STRONG>wcursyncup</STRONG>, <STRONG>wsyncdown</STRONG> - create and manipulate <EM>curses</EM> windows
</PRE><H2><a name="h2-SYNOPSIS">SYNOPSIS</a></H2><PRE>
</PRE><H3><a name="h3-delwin">delwin</a></H3><PRE>
Calling <STRONG>delwin</STRONG> deletes the named window, freeing all memory associated
- with it (it does not actually erase the window's screen image). Sub-
- windows must be deleted before the main window can be deleted.
+ with it (it does not actually erase the window's screen image).
+ Subwindows must be deleted before the main window can be deleted.
</PRE><H3><a name="h3-mvwin">mvwin</a></H3><PRE>
given number of lines, <EM>nlines</EM>, and columns, <EM>ncols</EM>. The window is at
position (<EM>begin</EM>_<EM>y</EM>, <EM>begin</EM>_<EM>x</EM>) on the screen. The subwindow shares memory
with the window <EM>orig</EM>, so that changes made to one window will affect
- both windows. When using this routine, it is necessary to call <STRONG>touch-</STRONG>
- <STRONG>win</STRONG> or <STRONG>touchline</STRONG> on <EM>orig</EM> before calling <STRONG>wrefresh</STRONG> on the subwindow.
+ both windows. When using this routine, it is necessary to call
+ <STRONG>touchwin</STRONG> or <STRONG>touchline</STRONG> on <EM>orig</EM> before calling <STRONG>wrefresh</STRONG> on the subwindow.
</PRE><H3><a name="h3-derwin">derwin</a></H3><PRE>
screen. There is no difference between the subwindows and the derived
windows.
- Calling <STRONG>mvderwin</STRONG> moves a derived window (or subwindow) inside its par-
- ent window. The screen-relative parameters of the window are not
+ Calling <STRONG>mvderwin</STRONG> moves a derived window (or subwindow) inside its
+ parent window. The screen-relative parameters of the window are not
changed. This routine is used to display different parts of the parent
window at the same physical position on the screen.
</PRE><H3><a name="h3-wsyncup">wsyncup</a></H3><PRE>
Calling <STRONG>wsyncup</STRONG> touches all locations in ancestors of <EM>win</EM> that are
changed in <EM>win</EM>. If <STRONG>syncok</STRONG> is called with second argument <STRONG>TRUE</STRONG> then
- <STRONG>wsyncup</STRONG> is called automatically whenever there is a change in the win-
- dow.
+ <STRONG>wsyncup</STRONG> is called automatically whenever there is a change in the
+ window.
</PRE><H3><a name="h3-wsyncdown">wsyncdown</a></H3><PRE>
The <STRONG>wsyncdown</STRONG> routine touches each location in <EM>win</EM> that has been
- touched in any of its ancestor windows. This routine is called by <STRONG>wre-</STRONG>
- <STRONG>fresh</STRONG>, so it should almost never be necessary to call it manually.
+ touched in any of its ancestor windows. This routine is called by
+ <STRONG>wrefresh</STRONG>, so it should almost never be necessary to call it manually.
</PRE><H3><a name="h3-wcursyncup">wcursyncup</a></H3><PRE>
</PRE><H2><a name="h2-RETURN-VALUE">RETURN VALUE</a></H2><PRE>
Routines that return an integer return the integer <STRONG>ERR</STRONG> upon failure and
- <STRONG>OK</STRONG> (SVr4 only specifies "an integer value other than <STRONG>ERR</STRONG>") upon suc-
- cessful completion.
+ <STRONG>OK</STRONG> (SVr4 only specifies "an integer value other than <STRONG>ERR</STRONG>") upon
+ successful completion.
Routines that return pointers return <STRONG>NULL</STRONG> on error.
returns an error if the window pointer is null.
This implementation also maintains a list of windows, and checks
- that the pointer passed to <STRONG>delwin</STRONG> is one that it created, return-
- ing an error if it was not..
+ that the pointer passed to <STRONG>delwin</STRONG> is one that it created,
+ returning an error if it was not..
<STRONG>mvderwin</STRONG>
returns an error if the window pointer is null, or if some part of
tested.
The System V curses documentation is very unclear about what <STRONG>wsyncup</STRONG>
- and <STRONG>wsyncdown</STRONG> actually do. It seems to imply that they are only sup-
- posed to touch exactly those lines that are affected by ancestor
- changes. The language here, and the behavior of the <STRONG>curses</STRONG> implementa-
- tion, is patterned on the XPG4 curses standard. The weaker XPG4 spec
- may result in slower updates.
+ and <STRONG>wsyncdown</STRONG> actually do. It seems to imply that they are only
+ supposed to touch exactly those lines that are affected by ancestor
+ changes. The language here, and the behavior of the <STRONG>curses</STRONG>
+ implementation, is patterned on the XPG4 curses standard. The weaker
+ XPG4 spec may result in slower updates.
</PRE><H2><a name="h2-PORTABILITY">PORTABILITY</a></H2><PRE>
if the curses library keeps a list of the subwindows. SVr4 curses
kept a count of the number of subwindows rather than a list. It
simply returned <STRONG>ERR</STRONG> when asked to delete a subwindow. Solaris
- X/Open curses does not even make that check, and will delete a par-
- ent window which still has subwindows.
+ X/Open curses does not even make that check, and will delete a
+ parent window which still has subwindows.
<STRONG>o</STRONG> Since release 4.0 (1996), ncurses maintains a list of windows for
- each screen, to ensure that a window has no subwindows before al-
- lowing deletion.
+ each screen, to ensure that a window has no subwindows before
+ allowing deletion.
<STRONG>o</STRONG> NetBSD copied this feature of ncurses in 2003.
PDCurses follows the scheme used in Solaris X/Open curses.
-ncurses 6.4 2023-07-01 <STRONG><A HREF="curs_window.3x.html">curs_window(3x)</A></STRONG>
+ncurses 6.4 2023-09-16 <STRONG><A HREF="curs_window.3x.html">curs_window(3x)</A></STRONG>
</PRE>
<div class="nav">
<ul>
* authorization. *
****************************************************************************
* Author: Thomas E. Dickey 1997,1999,2000,2005
- * @Id: default_colors.3x,v 1.38 2023/08/19 19:48:15 tom Exp @
+ * @Id: default_colors.3x,v 1.41 2023/09/16 23:37:03 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>default_colors 3x 2023-08-19 ncurses 6.4 Library calls</TITLE>
+<TITLE>default_colors 3x 2023-09-16 ncurses 6.4 Library calls</TITLE>
<link rel="author" href="mailto:bug-ncurses@gnu.org">
</HEAD>
<BODY>
-<H1 class="no-header">default_colors 3x 2023-08-19 ncurses 6.4 Library calls</H1>
+<H1 class="no-header">default_colors 3x 2023-09-16 ncurses 6.4 Library calls</H1>
<PRE>
<STRONG><A HREF="default_colors.3x.html">default_colors(3x)</A></STRONG> Library calls <STRONG><A HREF="default_colors.3x.html">default_colors(3x)</A></STRONG>
-ncurses 6.4 2023-08-19 <STRONG><A HREF="default_colors.3x.html">default_colors(3x)</A></STRONG>
+ncurses 6.4 2023-09-16 <STRONG><A HREF="default_colors.3x.html">default_colors(3x)</A></STRONG>
</PRE>
<div class="nav">
<ul>
<!--
****************************************************************************
- * Copyright 2018-2021,2022 Thomas E. Dickey *
+ * Copyright 2018-2022,2023 Thomas E. Dickey *
* Copyright 1998-2010,2017 Free Software Foundation, Inc. *
* *
* Permission is hereby granted, free of charge, to any person obtaining a *
* authorization. *
****************************************************************************
* Author: Thomas E. Dickey 1997
- * @Id: define_key.3x,v 1.22 2022/02/12 20:03:40 tom Exp @
+ * @Id: define_key.3x,v 1.27 2023/09/16 23:37:03 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>define_key 3x 2022-02-12 ncurses 6.4 Library calls</TITLE>
+<TITLE>define_key 3x 2023-09-16 ncurses 6.4 Library calls</TITLE>
<link rel="author" href="mailto:bug-ncurses@gnu.org">
</HEAD>
<BODY>
-<H1 class="no-header">define_key 3x 2022-02-12 ncurses 6.4 Library calls</H1>
+<H1 class="no-header">define_key 3x 2023-09-16 ncurses 6.4 Library calls</H1>
<PRE>
<STRONG><A HREF="define_key.3x.html">define_key(3x)</A></STRONG> Library calls <STRONG><A HREF="define_key.3x.html">define_key(3x)</A></STRONG>
</PRE><H2><a name="h2-NAME">NAME</a></H2><PRE>
- <STRONG>define_key</STRONG> - define a keycode
+ <STRONG>define_key</STRONG> - define a <EM>curses</EM> keycode
</PRE><H2><a name="h2-SYNOPSIS">SYNOPSIS</a></H2><PRE>
-ncurses 6.4 2022-02-12 <STRONG><A HREF="define_key.3x.html">define_key(3x)</A></STRONG>
+ncurses 6.4 2023-09-16 <STRONG><A HREF="define_key.3x.html">define_key(3x)</A></STRONG>
</PRE>
<div class="nav">
<ul>
* sale, use or other dealings in this Software without prior written *
* authorization. *
****************************************************************************
- * @Id: form.3x,v 1.43 2023/08/19 20:38:32 tom Exp @
+ * @Id: form.3x,v 1.45 2023/09/16 23:37:03 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>form 3x 2023-08-19 ncurses 6.4 Library calls</TITLE>
+<TITLE>form 3x 2023-09-16 ncurses 6.4 Library calls</TITLE>
<link rel="author" href="mailto:bug-ncurses@gnu.org">
</HEAD>
<BODY>
-<H1 class="no-header">form 3x 2023-08-19 ncurses 6.4 Library calls</H1>
+<H1 class="no-header">form 3x 2023-09-16 ncurses 6.4 Library calls</H1>
<PRE>
<STRONG><A HREF="form.3x.html">form(3x)</A></STRONG> Library calls <STRONG><A HREF="form.3x.html">form(3x)</A></STRONG>
<STRONG><A HREF="ncurses.3x.html">curses(3x)</A></STRONG> and related pages whose names begin "form_" for detailed
descriptions of the entry points.
- This describes <STRONG>ncurses</STRONG> version 6.4 (patch 20230909).
+ This describes <STRONG>ncurses</STRONG> version 6.4 (patch 20230917).
-ncurses 6.4 2023-08-19 <STRONG><A HREF="form.3x.html">form(3x)</A></STRONG>
+ncurses 6.4 2023-09-16 <STRONG><A HREF="form.3x.html">form(3x)</A></STRONG>
</PRE>
<div class="nav">
<ul>
* sale, use or other dealings in this Software without prior written *
* authorization. *
****************************************************************************
- * @Id: form_cursor.3x,v 1.21 2023/07/01 15:46:10 tom Exp @
+ * @Id: form_cursor.3x,v 1.23 2023/09/16 23:37:03 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>form_cursor 3x 2023-07-01 ncurses 6.4 Library calls</TITLE>
+<TITLE>form_cursor 3x 2023-09-16 ncurses 6.4 Library calls</TITLE>
<link rel="author" href="mailto:bug-ncurses@gnu.org">
</HEAD>
<BODY>
-<H1 class="no-header">form_cursor 3x 2023-07-01 ncurses 6.4 Library calls</H1>
+<H1 class="no-header">form_cursor 3x 2023-09-16 ncurses 6.4 Library calls</H1>
<PRE>
<STRONG><A HREF="form_cursor.3x.html">form_cursor(3x)</A></STRONG> Library calls <STRONG><A HREF="form_cursor.3x.html">form_cursor(3x)</A></STRONG>
-ncurses 6.4 2023-07-01 <STRONG><A HREF="form_cursor.3x.html">form_cursor(3x)</A></STRONG>
+ncurses 6.4 2023-09-16 <STRONG><A HREF="form_cursor.3x.html">form_cursor(3x)</A></STRONG>
</PRE>
<div class="nav">
<ul>
* sale, use or other dealings in this Software without prior written *
* authorization. *
****************************************************************************
- * @Id: form_data.3x,v 1.22 2023/07/01 15:46:10 tom Exp @
+ * @Id: form_data.3x,v 1.24 2023/09/16 23:37:03 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>form_data 3x 2023-07-01 ncurses 6.4 Library calls</TITLE>
+<TITLE>form_data 3x 2023-09-16 ncurses 6.4 Library calls</TITLE>
<link rel="author" href="mailto:bug-ncurses@gnu.org">
</HEAD>
<BODY>
-<H1 class="no-header">form_data 3x 2023-07-01 ncurses 6.4 Library calls</H1>
+<H1 class="no-header">form_data 3x 2023-09-16 ncurses 6.4 Library calls</H1>
<PRE>
<STRONG><A HREF="form_data.3x.html">form_data(3x)</A></STRONG> Library calls <STRONG><A HREF="form_data.3x.html">form_data(3x)</A></STRONG>
-ncurses 6.4 2023-07-01 <STRONG><A HREF="form_data.3x.html">form_data(3x)</A></STRONG>
+ncurses 6.4 2023-09-16 <STRONG><A HREF="form_data.3x.html">form_data(3x)</A></STRONG>
</PRE>
<div class="nav">
<ul>
* sale, use or other dealings in this Software without prior written *
* authorization. *
****************************************************************************
- * @Id: form_driver.3x,v 1.45 2023/08/19 20:38:39 tom Exp @
+ * @Id: form_driver.3x,v 1.47 2023/09/16 23:37:03 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>form_driver 3x 2023-08-19 ncurses 6.4 Library calls</TITLE>
+<TITLE>form_driver 3x 2023-09-16 ncurses 6.4 Library calls</TITLE>
<link rel="author" href="mailto:bug-ncurses@gnu.org">
</HEAD>
<BODY>
-<H1 class="no-header">form_driver 3x 2023-08-19 ncurses 6.4 Library calls</H1>
+<H1 class="no-header">form_driver 3x 2023-09-16 ncurses 6.4 Library calls</H1>
<PRE>
<STRONG><A HREF="form_driver.3x.html">form_driver(3x)</A></STRONG> Library calls <STRONG><A HREF="form_driver.3x.html">form_driver(3x)</A></STRONG>
-ncurses 6.4 2023-08-19 <STRONG><A HREF="form_driver.3x.html">form_driver(3x)</A></STRONG>
+ncurses 6.4 2023-09-16 <STRONG><A HREF="form_driver.3x.html">form_driver(3x)</A></STRONG>
</PRE>
<div class="nav">
<ul>
* sale, use or other dealings in this Software without prior written *
* authorization. *
****************************************************************************
- * @Id: form_field.3x,v 1.24 2023/07/01 15:46:10 tom Exp @
+ * @Id: form_field.3x,v 1.26 2023/09/16 23:37:03 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>form_field 3x 2023-07-01 ncurses 6.4 Library calls</TITLE>
+<TITLE>form_field 3x 2023-09-16 ncurses 6.4 Library calls</TITLE>
<link rel="author" href="mailto:bug-ncurses@gnu.org">
</HEAD>
<BODY>
-<H1 class="no-header">form_field 3x 2023-07-01 ncurses 6.4 Library calls</H1>
+<H1 class="no-header">form_field 3x 2023-09-16 ncurses 6.4 Library calls</H1>
<PRE>
<STRONG><A HREF="form_field.3x.html">form_field(3x)</A></STRONG> Library calls <STRONG><A HREF="form_field.3x.html">form_field(3x)</A></STRONG>
-ncurses 6.4 2023-07-01 <STRONG><A HREF="form_field.3x.html">form_field(3x)</A></STRONG>
+ncurses 6.4 2023-09-16 <STRONG><A HREF="form_field.3x.html">form_field(3x)</A></STRONG>
</PRE>
<div class="nav">
<ul>
* sale, use or other dealings in this Software without prior written *
* authorization. *
****************************************************************************
- * @Id: form_field_attributes.3x,v 1.25 2023/07/01 15:46:10 tom Exp @
+ * @Id: form_field_attributes.3x,v 1.27 2023/09/16 23:37:03 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>form_field_attributes 3x 2023-07-01 ncurses 6.4 Library calls</TITLE>
+<TITLE>form_field_attributes 3x 2023-09-16 ncurses 6.4 Library calls</TITLE>
<link rel="author" href="mailto:bug-ncurses@gnu.org">
</HEAD>
<BODY>
-<H1 class="no-header">form_field_attributes 3x 2023-07-01 ncurses 6.4 Library calls</H1>
+<H1 class="no-header">form_field_attributes 3x 2023-09-16 ncurses 6.4 Library calls</H1>
<PRE>
<STRONG><A HREF="form_field_attributes.3x.html">form_field_attributes(3x)</A></STRONG> Library calls <STRONG><A HREF="form_field_attributes.3x.html">form_field_attributes(3x)</A></STRONG>
-ncurses 6.4 2023-07-01 <STRONG><A HREF="form_field_attributes.3x.html">form_field_attributes(3x)</A></STRONG>
+ncurses 6.4 2023-09-16 <STRONG><A HREF="form_field_attributes.3x.html">form_field_attributes(3x)</A></STRONG>
</PRE>
<div class="nav">
<ul>
* sale, use or other dealings in this Software without prior written *
* authorization. *
****************************************************************************
- * @Id: form_field_buffer.3x,v 1.34 2023/07/01 15:46:10 tom Exp @
+ * @Id: form_field_buffer.3x,v 1.36 2023/09/16 23:37:03 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>form_field_buffer 3x 2023-07-01 ncurses 6.4 Library calls</TITLE>
+<TITLE>form_field_buffer 3x 2023-09-16 ncurses 6.4 Library calls</TITLE>
<link rel="author" href="mailto:bug-ncurses@gnu.org">
</HEAD>
<BODY>
-<H1 class="no-header">form_field_buffer 3x 2023-07-01 ncurses 6.4 Library calls</H1>
+<H1 class="no-header">form_field_buffer 3x 2023-09-16 ncurses 6.4 Library calls</H1>
<PRE>
<STRONG><A HREF="form_field_buffer.3x.html">form_field_buffer(3x)</A></STRONG> Library calls <STRONG><A HREF="form_field_buffer.3x.html">form_field_buffer(3x)</A></STRONG>
-ncurses 6.4 2023-07-01 <STRONG><A HREF="form_field_buffer.3x.html">form_field_buffer(3x)</A></STRONG>
+ncurses 6.4 2023-09-16 <STRONG><A HREF="form_field_buffer.3x.html">form_field_buffer(3x)</A></STRONG>
</PRE>
<div class="nav">
<ul>
<!--
* t
****************************************************************************
- * Copyright 2018-2021,2022 Thomas E. Dickey *
+ * Copyright 2018-2022,2023 Thomas E. Dickey *
* Copyright 1998-2010,2015 Free Software Foundation, Inc. *
* *
* Permission is hereby granted, free of charge, to any person obtaining a *
* sale, use or other dealings in this Software without prior written *
* authorization. *
****************************************************************************
- * @Id: form_field_info.3x,v 1.22 2022/02/12 20:03:40 tom Exp @
+ * @Id: form_field_info.3x,v 1.24 2023/09/16 23:39:54 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>form_field_info 3x 2022-02-12 ncurses 6.4 Library calls</TITLE>
+<TITLE>form_field_info 3x 2023-09-16 ncurses 6.4 Library calls</TITLE>
<link rel="author" href="mailto:bug-ncurses@gnu.org">
</HEAD>
<BODY>
-<H1 class="no-header">form_field_info 3x 2022-02-12 ncurses 6.4 Library calls</H1>
+<H1 class="no-header">form_field_info 3x 2023-09-16 ncurses 6.4 Library calls</H1>
<PRE>
<STRONG><A HREF="form_field_info.3x.html">form_field_info(3x)</A></STRONG> Library calls <STRONG><A HREF="form_field_info.3x.html">form_field_info(3x)</A></STRONG>
-ncurses 6.4 2022-02-12 <STRONG><A HREF="form_field_info.3x.html">form_field_info(3x)</A></STRONG>
+ncurses 6.4 2023-09-16 <STRONG><A HREF="form_field_info.3x.html">form_field_info(3x)</A></STRONG>
</PRE>
<div class="nav">
<ul>
* sale, use or other dealings in this Software without prior written *
* authorization. *
****************************************************************************
- * @Id: form_field_just.3x,v 1.25 2023/07/01 15:46:10 tom Exp @
+ * @Id: form_field_just.3x,v 1.27 2023/09/16 23:37:03 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>form_field_just 3x 2023-07-01 ncurses 6.4 Library calls</TITLE>
+<TITLE>form_field_just 3x 2023-09-16 ncurses 6.4 Library calls</TITLE>
<link rel="author" href="mailto:bug-ncurses@gnu.org">
</HEAD>
<BODY>
-<H1 class="no-header">form_field_just 3x 2023-07-01 ncurses 6.4 Library calls</H1>
+<H1 class="no-header">form_field_just 3x 2023-09-16 ncurses 6.4 Library calls</H1>
<PRE>
<STRONG><A HREF="form_field_just.3x.html">form_field_just(3x)</A></STRONG> Library calls <STRONG><A HREF="form_field_just.3x.html">form_field_just(3x)</A></STRONG>
-ncurses 6.4 2023-07-01 <STRONG><A HREF="form_field_just.3x.html">form_field_just(3x)</A></STRONG>
+ncurses 6.4 2023-09-16 <STRONG><A HREF="form_field_just.3x.html">form_field_just(3x)</A></STRONG>
</PRE>
<div class="nav">
<ul>
* sale, use or other dealings in this Software without prior written *
* authorization. *
****************************************************************************
- * @Id: form_field_new.3x,v 1.31 2023/07/01 15:46:10 tom Exp @
+ * @Id: form_field_new.3x,v 1.33 2023/09/16 23:37:03 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>form_field_new 3x 2023-07-01 ncurses 6.4 Library calls</TITLE>
+<TITLE>form_field_new 3x 2023-09-16 ncurses 6.4 Library calls</TITLE>
<link rel="author" href="mailto:bug-ncurses@gnu.org">
</HEAD>
<BODY>
-<H1 class="no-header">form_field_new 3x 2023-07-01 ncurses 6.4 Library calls</H1>
+<H1 class="no-header">form_field_new 3x 2023-09-16 ncurses 6.4 Library calls</H1>
<PRE>
<STRONG><A HREF="form_field_new.3x.html">form_field_new(3x)</A></STRONG> Library calls <STRONG><A HREF="form_field_new.3x.html">form_field_new(3x)</A></STRONG>
-ncurses 6.4 2023-07-01 <STRONG><A HREF="form_field_new.3x.html">form_field_new(3x)</A></STRONG>
+ncurses 6.4 2023-09-16 <STRONG><A HREF="form_field_new.3x.html">form_field_new(3x)</A></STRONG>
</PRE>
<div class="nav">
<ul>
* sale, use or other dealings in this Software without prior written *
* authorization. *
****************************************************************************
- * @Id: form_field_opts.3x,v 1.34 2023/07/01 15:46:10 tom Exp @
+ * @Id: form_field_opts.3x,v 1.36 2023/09/16 23:37:03 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>form_field_opts 3x 2023-07-01 ncurses 6.4 Library calls</TITLE>
+<TITLE>form_field_opts 3x 2023-09-16 ncurses 6.4 Library calls</TITLE>
<link rel="author" href="mailto:bug-ncurses@gnu.org">
</HEAD>
<BODY>
-<H1 class="no-header">form_field_opts 3x 2023-07-01 ncurses 6.4 Library calls</H1>
+<H1 class="no-header">form_field_opts 3x 2023-09-16 ncurses 6.4 Library calls</H1>
<PRE>
<STRONG><A HREF="form_field_opts.3x.html">form_field_opts(3x)</A></STRONG> Library calls <STRONG><A HREF="form_field_opts.3x.html">form_field_opts(3x)</A></STRONG>
-ncurses 6.4 2023-07-01 <STRONG><A HREF="form_field_opts.3x.html">form_field_opts(3x)</A></STRONG>
+ncurses 6.4 2023-09-16 <STRONG><A HREF="form_field_opts.3x.html">form_field_opts(3x)</A></STRONG>
</PRE>
<div class="nav">
<ul>
<!--
* t
****************************************************************************
- * Copyright 2018-2021,2022 Thomas E. Dickey *
+ * Copyright 2018-2022,2023 Thomas E. Dickey *
* Copyright 1998-2010,2015 Free Software Foundation, Inc. *
* *
* Permission is hereby granted, free of charge, to any person obtaining a *
* sale, use or other dealings in this Software without prior written *
* authorization. *
****************************************************************************
- * @Id: form_field_userptr.3x,v 1.20 2022/02/12 20:03:40 tom Exp @
+ * @Id: form_field_userptr.3x,v 1.22 2023/09/16 23:39:54 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>form_field_userptr 3x 2022-02-12 ncurses 6.4 Library calls</TITLE>
+<TITLE>form_field_userptr 3x 2023-09-16 ncurses 6.4 Library calls</TITLE>
<link rel="author" href="mailto:bug-ncurses@gnu.org">
</HEAD>
<BODY>
-<H1 class="no-header">form_field_userptr 3x 2022-02-12 ncurses 6.4 Library calls</H1>
+<H1 class="no-header">form_field_userptr 3x 2023-09-16 ncurses 6.4 Library calls</H1>
<PRE>
<STRONG><A HREF="form_field_userptr.3x.html">form_field_userptr(3x)</A></STRONG> Library calls <STRONG><A HREF="form_field_userptr.3x.html">form_field_userptr(3x)</A></STRONG>
-ncurses 6.4 2022-02-12 <STRONG><A HREF="form_field_userptr.3x.html">form_field_userptr(3x)</A></STRONG>
+ncurses 6.4 2023-09-16 <STRONG><A HREF="form_field_userptr.3x.html">form_field_userptr(3x)</A></STRONG>
</PRE>
<div class="nav">
<ul>
* sale, use or other dealings in this Software without prior written *
* authorization. *
****************************************************************************
- * @Id: form_field_validation.3x,v 1.40 2023/07/01 15:46:10 tom Exp @
+ * @Id: form_field_validation.3x,v 1.44 2023/09/16 23:37:03 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>form_field_validation 3x 2023-07-01 ncurses 6.4 Library calls</TITLE>
+<TITLE>form_field_validation 3x 2023-09-16 ncurses 6.4 Library calls</TITLE>
<link rel="author" href="mailto:bug-ncurses@gnu.org">
</HEAD>
<BODY>
-<H1 class="no-header">form_field_validation 3x 2023-07-01 ncurses 6.4 Library calls</H1>
+<H1 class="no-header">form_field_validation 3x 2023-09-16 ncurses 6.4 Library calls</H1>
<PRE>
<STRONG><A HREF="form_field_validation.3x.html">form_field_validation(3x)</A></STRONG> Library calls <STRONG><A HREF="form_field_validation.3x.html">form_field_validation(3x)</A></STRONG>
Several field types are predefined by the form library.
-</PRE><H3><a name="h3-Predefined-types">Predefined types</a></H3><PRE>
+</PRE><H2><a name="h2-PREDEFINED-TYPES">PREDEFINED TYPES</a></H2><PRE>
It is possible to set up new programmer-defined field types. Field
types are implemented via the <STRONG>FIELDTYPE</STRONG> data structure, which contains
several pointers to functions.
The predefined types are as follows:
- TYPE_ALNUM
- Alphanumeric data. Required parameter:
- <STRONG>o</STRONG> a third <STRONG>int</STRONG> argument, a minimum field width.
+</PRE><H3><a name="h3-TYPE_ALNUM">TYPE_ALNUM</a></H3><PRE>
+ Alphanumeric data. Required parameter:
- TYPE_ALPHA
- Character data. Required parameter:
+ <STRONG>o</STRONG> a third <STRONG>int</STRONG> argument, a minimum field width.
- <STRONG>o</STRONG> a third <STRONG>int</STRONG> argument, a minimum field width.
- TYPE_ENUM
- Accept one of a specified set of strings. Required parameters:
+</PRE><H3><a name="h3-TYPE_ALPHA">TYPE_ALPHA</a></H3><PRE>
+ Character data. Required parameter:
- <STRONG>o</STRONG> a third <STRONG>(char</STRONG> <STRONG>**)</STRONG> argument pointing to a string list;
+ <STRONG>o</STRONG> a third <STRONG>int</STRONG> argument, a minimum field width.
- <STRONG>o</STRONG> a fourth <STRONG>int</STRONG> flag argument to enable case-sensitivity;
- <STRONG>o</STRONG> a fifth <STRONG>int</STRONG> flag argument specifying whether a partial match
- must be a unique one. If this flag is off, a prefix matches
- the first of any set of more than one list elements with that
- prefix.
+</PRE><H3><a name="h3-TYPE_ENUM">TYPE_ENUM</a></H3><PRE>
+ Accept one of a specified set of strings. Required parameters:
- The library copies the string list, so you may use a list that
- lives in automatic variables on the stack.
+ <STRONG>o</STRONG> a third <STRONG>(char</STRONG> <STRONG>**)</STRONG> argument pointing to a string list;
- TYPE_INTEGER
- Integer data, parsable to an integer by <STRONG>atoi(3)</STRONG>. Required
- parameters:
+ <STRONG>o</STRONG> a fourth <STRONG>int</STRONG> flag argument to enable case-sensitivity;
- <STRONG>o</STRONG> a third <STRONG>int</STRONG> argument controlling the precision,
+ <STRONG>o</STRONG> a fifth <STRONG>int</STRONG> flag argument specifying whether a partial match must
+ be a unique one. If this flag is off, a prefix matches the first
+ of any set of more than one list elements with that prefix.
- <STRONG>o</STRONG> a fourth <STRONG>long</STRONG> argument constraining minimum value,
+ The library copies the string list, so you may use a list that lives in
+ automatic variables on the stack.
- <STRONG>o</STRONG> a fifth <STRONG>long</STRONG> constraining maximum value. If the maximum value
- is less than or equal to the minimum value, the range is
- simply ignored.
- On return, the field buffer is formatted according to the <STRONG>printf</STRONG>
- format specification ".*ld", where the "*" is replaced by the
- precision argument.
+</PRE><H3><a name="h3-TYPE_INTEGER">TYPE_INTEGER</a></H3><PRE>
+ Integer data, parsable to an integer by <STRONG>atoi(3)</STRONG>. Required parameters:
- For details of the precision handling see <STRONG>printf(3)</STRONG>.
+ <STRONG>o</STRONG> a third <STRONG>int</STRONG> argument controlling the precision,
- TYPE_NUMERIC
- Numeric data (may have a decimal-point part). Required
- parameters:
+ <STRONG>o</STRONG> a fourth <STRONG>long</STRONG> argument constraining minimum value,
- <STRONG>o</STRONG> a third <STRONG>int</STRONG> argument controlling the precision,
+ <STRONG>o</STRONG> a fifth <STRONG>long</STRONG> constraining maximum value. If the maximum value is
+ less than or equal to the minimum value, the range is simply
+ ignored.
- <STRONG>o</STRONG> a fourth <STRONG>double</STRONG> argument constraining minimum value,
+ On return, the field buffer is formatted according to the <STRONG>printf</STRONG> format
+ specification ".*ld", where the "*" is replaced by the precision
+ argument.
- <STRONG>o</STRONG> and a fifth <STRONG>double</STRONG> constraining maximum value. If your system
- supports locales, the decimal point character must be the one
- specified by your locale. If the maximum value is less than
- or equal to the minimum value, the range is simply ignored.
+ For details of the precision handling see <STRONG>printf(3)</STRONG>.
- On return, the field buffer is formatted according to the <STRONG>printf</STRONG>
- format specification ".*f", where the "*" is replaced by the
- precision argument.
- For details of the precision handling see <STRONG>printf(3)</STRONG>.
+</PRE><H3><a name="h3-TYPE_NUMERIC">TYPE_NUMERIC</a></H3><PRE>
+ Numeric data (may have a decimal-point part). Required parameters:
- TYPE_REGEXP
- Regular expression data. Required parameter:
+ <STRONG>o</STRONG> a third <STRONG>int</STRONG> argument controlling the precision,
- <STRONG>o</STRONG> a third argument, a regular expression <STRONG>(char</STRONG> <STRONG>*)</STRONG> string. The
- data is valid if the regular expression matches it.
+ <STRONG>o</STRONG> a fourth <STRONG>double</STRONG> argument constraining minimum value,
- Regular expressions are in the format of <STRONG>regcomp</STRONG> and <STRONG>regexec</STRONG>.
+ <STRONG>o</STRONG> and a fifth <STRONG>double</STRONG> constraining maximum value. If your system
+ supports locales, the decimal point character must be the one
+ specified by your locale. If the maximum value is less than or
+ equal to the minimum value, the range is simply ignored.
- The regular expression must match the whole field. If you have
- for example, an eight character wide field, a regular expression
- "^[0-9]*$" always means that you have to fill all eight positions
- with digits. If you want to allow fewer digits, you may use for
- example "^[0-9]* *$" which is good for trailing spaces (up to an
- empty field), or "^ *[0-9]* *$" which is good for leading and
- trailing spaces around the digits.
+ On return, the field buffer is formatted according to the <STRONG>printf</STRONG> format
+ specification ".*f", where the "*" is replaced by the precision
+ argument.
- TYPE_IPV4
- An Internet Protocol Version 4 address. Required parameter:
+ For details of the precision handling see <STRONG>printf(3)</STRONG>.
- <STRONG>o</STRONG> none
- The form library checks whether or not the buffer has the form
- <EM>a.b.c.d</EM>, where <EM>a</EM>, <EM>b</EM>, <EM>c</EM>, and <EM>d</EM> are numbers in the range 0 to 255.
- Trailing blanks in the buffer are ignored. The address itself is
- not validated.
+</PRE><H3><a name="h3-TYPE_REGEXP">TYPE_REGEXP</a></H3><PRE>
+ Regular expression data. Required parameter:
- This is an ncurses extension; this field type may not be available
- in other curses implementations.
+ <STRONG>o</STRONG> a third argument, a regular expression <STRONG>(char</STRONG> <STRONG>*)</STRONG> string. The data
+ is valid if the regular expression matches it.
+
+ Regular expressions are in the format of <STRONG>regcomp</STRONG> and <STRONG>regexec</STRONG>.
+
+ The regular expression must match the whole field. If you have for
+ example, an eight character wide field, a regular expression "^[0-9]*$"
+ always means that you have to fill all eight positions with digits. If
+ you want to allow fewer digits, you may use for example "^[0-9]* *$"
+ which is good for trailing spaces (up to an empty field), or "^ *[0-9]*
+ *$" which is good for leading and trailing spaces around the digits.
+
+
+</PRE><H3><a name="h3-TYPE_IPV4">TYPE_IPV4</a></H3><PRE>
+ An Internet Protocol Version 4 address. Required parameter:
+
+ <STRONG>o</STRONG> none
+
+ The form library checks whether or not the buffer has the form <EM>a.b.c.d</EM>,
+ where <EM>a</EM>, <EM>b</EM>, <EM>c</EM>, and <EM>d</EM> are numbers in the range 0 to 255. Trailing
+ blanks in the buffer are ignored. The address itself is not validated.
+
+ This is an ncurses extension; this field type may not be available in
+ other curses implementations.
</PRE><H2><a name="h2-RETURN-VALUE">RETURN VALUE</a></H2><PRE>
- The functions <STRONG>field_type</STRONG> and <STRONG>field_arg</STRONG> return <STRONG>NULL</STRONG> on error. The
+ The functions <STRONG>field_type</STRONG> and <STRONG>field_arg</STRONG> return <STRONG>NULL</STRONG> on error. The
function <STRONG>set_field_type</STRONG> returns one of the following:
<STRONG>E_OK</STRONG> The routine succeeded.
</PRE><H2><a name="h2-PORTABILITY">PORTABILITY</a></H2><PRE>
- These routines emulate the System V forms library. They were not
+ These routines emulate the System V forms library. They were not
supported on Version 7 or BSD versions.
-ncurses 6.4 2023-07-01 <STRONG><A HREF="form_field_validation.3x.html">form_field_validation(3x)</A></STRONG>
+ncurses 6.4 2023-09-16 <STRONG><A HREF="form_field_validation.3x.html">form_field_validation(3x)</A></STRONG>
</PRE>
<div class="nav">
<ul>
<li><a href="#h3-field_arg">field_arg</a></li>
<li><a href="#h3-field_type">field_type</a></li>
<li><a href="#h3-set_field_type">set_field_type</a></li>
-<li><a href="#h3-Predefined-types">Predefined types</a></li>
+</ul>
+</li>
+<li><a href="#h2-PREDEFINED-TYPES">PREDEFINED TYPES</a>
+<ul>
+<li><a href="#h3-TYPE_ALNUM">TYPE_ALNUM</a></li>
+<li><a href="#h3-TYPE_ALPHA">TYPE_ALPHA</a></li>
+<li><a href="#h3-TYPE_ENUM">TYPE_ENUM</a></li>
+<li><a href="#h3-TYPE_INTEGER">TYPE_INTEGER</a></li>
+<li><a href="#h3-TYPE_NUMERIC">TYPE_NUMERIC</a></li>
+<li><a href="#h3-TYPE_REGEXP">TYPE_REGEXP</a></li>
+<li><a href="#h3-TYPE_IPV4">TYPE_IPV4</a></li>
</ul>
</li>
<li><a href="#h2-RETURN-VALUE">RETURN VALUE</a></li>
* sale, use or other dealings in this Software without prior written *
* authorization. *
****************************************************************************
- * @Id: form_fieldtype.3x,v 1.35 2023/07/01 15:46:10 tom Exp @
+ * @Id: form_fieldtype.3x,v 1.38 2023/09/16 23:37:03 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>form_fieldtype 3x 2023-07-01 ncurses 6.4 Library calls</TITLE>
+<TITLE>form_fieldtype 3x 2023-09-16 ncurses 6.4 Library calls</TITLE>
<link rel="author" href="mailto:bug-ncurses@gnu.org">
</HEAD>
<BODY>
-<H1 class="no-header">form_fieldtype 3x 2023-07-01 ncurses 6.4 Library calls</H1>
+<H1 class="no-header">form_fieldtype 3x 2023-09-16 ncurses 6.4 Library calls</H1>
<PRE>
<STRONG><A HREF="form_fieldtype.3x.html">form_fieldtype(3x)</A></STRONG> Library calls <STRONG><A HREF="form_fieldtype.3x.html">form_fieldtype(3x)</A></STRONG>
-ncurses 6.4 2023-07-01 <STRONG><A HREF="form_fieldtype.3x.html">form_fieldtype(3x)</A></STRONG>
+ncurses 6.4 2023-09-16 <STRONG><A HREF="form_fieldtype.3x.html">form_fieldtype(3x)</A></STRONG>
</PRE>
<div class="nav">
<ul>
* sale, use or other dealings in this Software without prior written *
* authorization. *
****************************************************************************
- * @Id: form_hook.3x,v 1.23 2023/07/01 15:46:10 tom Exp @
+ * @Id: form_hook.3x,v 1.25 2023/09/16 23:37:03 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>form_hook 3x 2023-07-01 ncurses 6.4 Library calls</TITLE>
+<TITLE>form_hook 3x 2023-09-16 ncurses 6.4 Library calls</TITLE>
<link rel="author" href="mailto:bug-ncurses@gnu.org">
</HEAD>
<BODY>
-<H1 class="no-header">form_hook 3x 2023-07-01 ncurses 6.4 Library calls</H1>
+<H1 class="no-header">form_hook 3x 2023-09-16 ncurses 6.4 Library calls</H1>
<PRE>
<STRONG><A HREF="form_hook.3x.html">form_hook(3x)</A></STRONG> Library calls <STRONG><A HREF="form_hook.3x.html">form_hook(3x)</A></STRONG>
various points in the automatic processing of input event codes by
<STRONG>form_driver</STRONG>.
- The function <STRONG>set_field_init</STRONG> sets a hook to be called at form-post time
- and each time the selected field changes (after the change).
- <STRONG>field_init</STRONG> returns the current field init hook, if any (<STRONG>NULL</STRONG> if there
- is no such hook).
- The function <STRONG>set_field_term</STRONG> sets a hook to be called at form-unpost
- time and each time the selected field changes (before the change).
- <STRONG>field_term</STRONG> returns the current field term hook, if any (<STRONG>NULL</STRONG> if there
- is no such hook).
+</PRE><H3><a name="h3-set_field_init">set_field_init</a></H3><PRE>
+ sets a hook to be called at form-post time and each time the selected
+ field changes (after the change).
- The function <STRONG>set_form_init</STRONG> sets a hook to be called at form-post time
- and just after a page change once it is posted. <STRONG>form_init</STRONG> returns the
- current form init hook, if any (<STRONG>NULL</STRONG> if there is no such hook).
- The function <STRONG>set_form_term</STRONG> sets a hook to be called at form-unpost time
- and just before a page change once it is posted. <STRONG>form_init</STRONG> returns the
- current form term hook, if any (<STRONG>NULL</STRONG> if there is no such hook).
+</PRE><H3><a name="h3-field_init">field_init</a></H3><PRE>
+ returns the current field init hook, if any (<STRONG>NULL</STRONG> if there is no such
+ hook).
+
+
+</PRE><H3><a name="h3-set_field_term">set_field_term</a></H3><PRE>
+ sets a hook to be called at form-unpost time and each time the selected
+ field changes (before the change).
+
+
+</PRE><H3><a name="h3-field_term">field_term</a></H3><PRE>
+ returns the current field term hook, if any (<STRONG>NULL</STRONG> if there is no such
+ hook).
+
+
+</PRE><H3><a name="h3-set_form_init">set_form_init</a></H3><PRE>
+ sets a hook to be called at form-post time and just after a page change
+ once it is posted.
+
+
+</PRE><H3><a name="h3-form_init">form_init</a></H3><PRE>
+ returns the current form init hook, if any (<STRONG>NULL</STRONG> if there is no such
+ hook).
+
+
+</PRE><H3><a name="h3-set_form_term">set_form_term</a></H3><PRE>
+ sets a hook to be called at form-unpost time and just before a page
+ change once it is posted.
+
+
+</PRE><H3><a name="h3-form_init">form_init</a></H3><PRE>
+ returns the current form term hook, if any (<STRONG>NULL</STRONG> if there is no such
+ hook).
</PRE><H2><a name="h2-RETURN-VALUE">RETURN VALUE</a></H2><PRE>
-ncurses 6.4 2023-07-01 <STRONG><A HREF="form_hook.3x.html">form_hook(3x)</A></STRONG>
+ncurses 6.4 2023-09-16 <STRONG><A HREF="form_hook.3x.html">form_hook(3x)</A></STRONG>
</PRE>
<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></li>
+<li><a href="#h2-DESCRIPTION">DESCRIPTION</a>
+<ul>
+<li><a href="#h3-set_field_init">set_field_init</a></li>
+<li><a href="#h3-field_init">field_init</a></li>
+<li><a href="#h3-set_field_term">set_field_term</a></li>
+<li><a href="#h3-field_term">field_term</a></li>
+<li><a href="#h3-set_form_init">set_form_init</a></li>
+<li><a href="#h3-form_init">form_init</a></li>
+<li><a href="#h3-set_form_term">set_form_term</a></li>
+<li><a href="#h3-form_init">form_init</a></li>
+</ul>
+</li>
<li><a href="#h2-RETURN-VALUE">RETURN VALUE</a></li>
<li><a href="#h2-SEE-ALSO">SEE ALSO</a></li>
<li><a href="#h2-NOTES">NOTES</a></li>
* sale, use or other dealings in this Software without prior written *
* authorization. *
****************************************************************************
- * @Id: form_new.3x,v 1.22 2023/07/01 15:46:10 tom Exp @
+ * @Id: form_new.3x,v 1.24 2023/09/16 23:37:03 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>form_new 3x 2023-07-01 ncurses 6.4 Library calls</TITLE>
+<TITLE>form_new 3x 2023-09-16 ncurses 6.4 Library calls</TITLE>
<link rel="author" href="mailto:bug-ncurses@gnu.org">
</HEAD>
<BODY>
-<H1 class="no-header">form_new 3x 2023-07-01 ncurses 6.4 Library calls</H1>
+<H1 class="no-header">form_new 3x 2023-09-16 ncurses 6.4 Library calls</H1>
<PRE>
<STRONG><A HREF="form_new.3x.html">form_new(3x)</A></STRONG> Library calls <STRONG><A HREF="form_new.3x.html">form_new(3x)</A></STRONG>
-ncurses 6.4 2023-07-01 <STRONG><A HREF="form_new.3x.html">form_new(3x)</A></STRONG>
+ncurses 6.4 2023-09-16 <STRONG><A HREF="form_new.3x.html">form_new(3x)</A></STRONG>
</PRE>
<div class="nav">
<ul>
* sale, use or other dealings in this Software without prior written *
* authorization. *
****************************************************************************
- * @Id: form_new_page.3x,v 1.24 2023/07/01 15:46:10 tom Exp @
+ * @Id: form_new_page.3x,v 1.26 2023/09/16 23:37:03 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>form_new_page 3x 2023-07-01 ncurses 6.4 Library calls</TITLE>
+<TITLE>form_new_page 3x 2023-09-16 ncurses 6.4 Library calls</TITLE>
<link rel="author" href="mailto:bug-ncurses@gnu.org">
</HEAD>
<BODY>
-<H1 class="no-header">form_new_page 3x 2023-07-01 ncurses 6.4 Library calls</H1>
+<H1 class="no-header">form_new_page 3x 2023-09-16 ncurses 6.4 Library calls</H1>
<PRE>
<STRONG><A HREF="form_new_page.3x.html">form_new_page(3x)</A></STRONG> Library calls <STRONG><A HREF="form_new_page.3x.html">form_new_page(3x)</A></STRONG>
-ncurses 6.4 2023-07-01 <STRONG><A HREF="form_new_page.3x.html">form_new_page(3x)</A></STRONG>
+ncurses 6.4 2023-09-16 <STRONG><A HREF="form_new_page.3x.html">form_new_page(3x)</A></STRONG>
</PRE>
<div class="nav">
<ul>
* sale, use or other dealings in this Software without prior written *
* authorization. *
****************************************************************************
- * @Id: form_opts.3x,v 1.24 2023/07/01 15:46:10 tom Exp @
+ * @Id: form_opts.3x,v 1.26 2023/09/16 23:37:03 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>form_opts 3x 2023-07-01 ncurses 6.4 Library calls</TITLE>
+<TITLE>form_opts 3x 2023-09-16 ncurses 6.4 Library calls</TITLE>
<link rel="author" href="mailto:bug-ncurses@gnu.org">
</HEAD>
<BODY>
-<H1 class="no-header">form_opts 3x 2023-07-01 ncurses 6.4 Library calls</H1>
+<H1 class="no-header">form_opts 3x 2023-09-16 ncurses 6.4 Library calls</H1>
<PRE>
<STRONG><A HREF="form_opts.3x.html">form_opts(3x)</A></STRONG> Library calls <STRONG><A HREF="form_opts.3x.html">form_opts(3x)</A></STRONG>
-ncurses 6.4 2023-07-01 <STRONG><A HREF="form_opts.3x.html">form_opts(3x)</A></STRONG>
+ncurses 6.4 2023-09-16 <STRONG><A HREF="form_opts.3x.html">form_opts(3x)</A></STRONG>
</PRE>
<div class="nav">
<ul>
* sale, use or other dealings in this Software without prior written *
* authorization. *
****************************************************************************
- * @Id: form_page.3x,v 1.26 2023/07/01 15:46:10 tom Exp @
+ * @Id: form_page.3x,v 1.28 2023/09/16 23:37:03 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>form_page 3x 2023-07-01 ncurses 6.4 Library calls</TITLE>
+<TITLE>form_page 3x 2023-09-16 ncurses 6.4 Library calls</TITLE>
<link rel="author" href="mailto:bug-ncurses@gnu.org">
</HEAD>
<BODY>
-<H1 class="no-header">form_page 3x 2023-07-01 ncurses 6.4 Library calls</H1>
+<H1 class="no-header">form_page 3x 2023-09-16 ncurses 6.4 Library calls</H1>
<PRE>
<STRONG><A HREF="form_page.3x.html">form_page(3x)</A></STRONG> Library calls <STRONG><A HREF="form_page.3x.html">form_page(3x)</A></STRONG>
-ncurses 6.4 2023-07-01 <STRONG><A HREF="form_page.3x.html">form_page(3x)</A></STRONG>
+ncurses 6.4 2023-09-16 <STRONG><A HREF="form_page.3x.html">form_page(3x)</A></STRONG>
</PRE>
<div class="nav">
<ul>
* sale, use or other dealings in this Software without prior written *
* authorization. *
****************************************************************************
- * @Id: form_post.3x,v 1.23 2023/07/01 15:46:10 tom Exp @
+ * @Id: form_post.3x,v 1.25 2023/09/16 23:37:03 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>form_post 3x 2023-07-01 ncurses 6.4 Library calls</TITLE>
+<TITLE>form_post 3x 2023-09-16 ncurses 6.4 Library calls</TITLE>
<link rel="author" href="mailto:bug-ncurses@gnu.org">
</HEAD>
<BODY>
-<H1 class="no-header">form_post 3x 2023-07-01 ncurses 6.4 Library calls</H1>
+<H1 class="no-header">form_post 3x 2023-09-16 ncurses 6.4 Library calls</H1>
<PRE>
<STRONG><A HREF="form_post.3x.html">form_post(3x)</A></STRONG> Library calls <STRONG><A HREF="form_post.3x.html">form_post(3x)</A></STRONG>
-ncurses 6.4 2023-07-01 <STRONG><A HREF="form_post.3x.html">form_post(3x)</A></STRONG>
+ncurses 6.4 2023-09-16 <STRONG><A HREF="form_post.3x.html">form_post(3x)</A></STRONG>
</PRE>
<div class="nav">
<ul>
* sale, use or other dealings in this Software without prior written *
* authorization. *
****************************************************************************
- * @Id: form_requestname.3x,v 1.23 2023/07/01 15:46:10 tom Exp @
+ * @Id: form_requestname.3x,v 1.26 2023/09/16 23:37:03 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>form_requestname 3x 2023-07-01 ncurses 6.4 Library calls</TITLE>
+<TITLE>form_requestname 3x 2023-09-16 ncurses 6.4 Library calls</TITLE>
<link rel="author" href="mailto:bug-ncurses@gnu.org">
</HEAD>
<BODY>
-<H1 class="no-header">form_requestname 3x 2023-07-01 ncurses 6.4 Library calls</H1>
+<H1 class="no-header">form_requestname 3x 2023-09-16 ncurses 6.4 Library calls</H1>
<PRE>
<STRONG><A HREF="form_requestname.3x.html">form_requestname(3x)</A></STRONG> Library calls <STRONG><A HREF="form_requestname.3x.html">form_requestname(3x)</A></STRONG>
</PRE><H2><a name="h2-DESCRIPTION">DESCRIPTION</a></H2><PRE>
-
-</PRE><H3><a name="h3-form_request_name">form_request_name</a></H3><PRE>
The function <STRONG>form_request_name</STRONG> returns the printable name of a form
- request code.
-
-
-</PRE><H3><a name="h3-form_request_name_by_name">form_request_name_by_name</a></H3><PRE>
- The function <STRONG>form_request_by_name</STRONG> searches in the name-table for a
- request with the given name and returns its request code. Otherwise
- E_NO_MATCH is returned.
+ request code. The function <STRONG>form_request_by_name</STRONG> searches in the name-
+ table for a request with the given name and returns its request code.
+ Otherwise E_NO_MATCH is returned.
</PRE><H2><a name="h2-RETURN-VALUE">RETURN VALUE</a></H2><PRE>
-ncurses 6.4 2023-07-01 <STRONG><A HREF="form_requestname.3x.html">form_requestname(3x)</A></STRONG>
+ncurses 6.4 2023-09-16 <STRONG><A HREF="form_requestname.3x.html">form_requestname(3x)</A></STRONG>
</PRE>
<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-form_request_name">form_request_name</a></li>
-<li><a href="#h3-form_request_name_by_name">form_request_name_by_name</a></li>
-</ul>
-</li>
+<li><a href="#h2-DESCRIPTION">DESCRIPTION</a></li>
<li><a href="#h2-RETURN-VALUE">RETURN VALUE</a></li>
<li><a href="#h2-SEE-ALSO">SEE ALSO</a></li>
<li><a href="#h2-NOTES">NOTES</a></li>
* sale, use or other dealings in this Software without prior written *
* authorization. *
****************************************************************************
- * @Id: form_userptr.3x,v 1.26 2023/07/01 15:46:10 tom Exp @
+ * @Id: form_userptr.3x,v 1.28 2023/09/16 23:37:03 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>form_userptr 3x 2023-07-01 ncurses 6.4 Library calls</TITLE>
+<TITLE>form_userptr 3x 2023-09-16 ncurses 6.4 Library calls</TITLE>
<link rel="author" href="mailto:bug-ncurses@gnu.org">
</HEAD>
<BODY>
-<H1 class="no-header">form_userptr 3x 2023-07-01 ncurses 6.4 Library calls</H1>
+<H1 class="no-header">form_userptr 3x 2023-09-16 ncurses 6.4 Library calls</H1>
<PRE>
<STRONG><A HREF="form_userptr.3x.html">form_userptr(3x)</A></STRONG> Library calls <STRONG><A HREF="form_userptr.3x.html">form_userptr(3x)</A></STRONG>
-ncurses 6.4 2023-07-01 <STRONG><A HREF="form_userptr.3x.html">form_userptr(3x)</A></STRONG>
+ncurses 6.4 2023-09-16 <STRONG><A HREF="form_userptr.3x.html">form_userptr(3x)</A></STRONG>
</PRE>
<div class="nav">
<ul>
<!--
****************************************************************************
- * Copyright 2020,2021 Thomas E. Dickey *
+ * Copyright 2020-2021,2023 Thomas E. Dickey *
* Copyright 2010-2013,2017 Free Software Foundation, Inc. *
* *
* Permission is hereby granted, free of charge, to any person obtaining a *
* sale, use or other dealings in this Software without prior written *
* authorization. *
****************************************************************************
- * @Id: form_variables.3x,v 1.10 2021/12/25 21:50:36 tom Exp @
+ * @Id: form_variables.3x,v 1.12 2023/09/16 23:39:54 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>form_variables 3x 2021-12-25 ncurses 6.4 Library calls</TITLE>
+<TITLE>form_variables 3x 2023-09-16 ncurses 6.4 Library calls</TITLE>
<link rel="author" href="mailto:bug-ncurses@gnu.org">
</HEAD>
<BODY>
-<H1 class="no-header">form_variables 3x 2021-12-25 ncurses 6.4 Library calls</H1>
+<H1 class="no-header">form_variables 3x 2023-09-16 ncurses 6.4 Library calls</H1>
<PRE>
<STRONG><A HREF="form_variables.3x.html">form_variables(3x)</A></STRONG> Library calls <STRONG><A HREF="form_variables.3x.html">form_variables(3x)</A></STRONG>
-ncurses 6.4 2021-12-25 <STRONG><A HREF="form_variables.3x.html">form_variables(3x)</A></STRONG>
+ncurses 6.4 2023-09-16 <STRONG><A HREF="form_variables.3x.html">form_variables(3x)</A></STRONG>
</PRE>
<div class="nav">
<ul>
* sale, use or other dealings in this Software without prior written *
* authorization. *
****************************************************************************
- * @Id: form_win.3x,v 1.25 2023/07/01 15:46:10 tom Exp @
+ * @Id: form_win.3x,v 1.27 2023/09/16 23:37:03 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>form_win 3x 2023-07-01 ncurses 6.4 Library calls</TITLE>
+<TITLE>form_win 3x 2023-09-16 ncurses 6.4 Library calls</TITLE>
<link rel="author" href="mailto:bug-ncurses@gnu.org">
</HEAD>
<BODY>
-<H1 class="no-header">form_win 3x 2023-07-01 ncurses 6.4 Library calls</H1>
+<H1 class="no-header">form_win 3x 2023-09-16 ncurses 6.4 Library calls</H1>
<PRE>
<STRONG><A HREF="form_win.3x.html">form_win(3x)</A></STRONG> Library calls <STRONG><A HREF="form_win.3x.html">form_win(3x)</A></STRONG>
-ncurses 6.4 2023-07-01 <STRONG><A HREF="form_win.3x.html">form_win(3x)</A></STRONG>
+ncurses 6.4 2023-09-16 <STRONG><A HREF="form_win.3x.html">form_win(3x)</A></STRONG>
</PRE>
<div class="nav">
<ul>
* sale, use or other dealings in this Software without prior written *
* authorization. *
****************************************************************************
- * @Id: infocmp.1m,v 1.90 2023/09/09 21:14:05 tom Exp @
+ * @Id: infocmp.1m,v 1.92 2023/09/16 23:37:03 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>infocmp 1m 2023-09-09 ncurses 6.4 User commands</TITLE>
+<TITLE>infocmp 1m 2023-09-16 ncurses 6.4 User commands</TITLE>
<link rel="author" href="mailto:bug-ncurses@gnu.org">
</HEAD>
<BODY>
-<H1 class="no-header">infocmp 1m 2023-09-09 ncurses 6.4 User commands</H1>
+<H1 class="no-header">infocmp 1m 2023-09-16 ncurses 6.4 User commands</H1>
<PRE>
<STRONG><A HREF="infocmp.1m.html">infocmp(1m)</A></STRONG> User commands <STRONG><A HREF="infocmp.1m.html">infocmp(1m)</A></STRONG>
https://invisible-island.net/ncurses/tctest.html
- This describes <STRONG>ncurses</STRONG> version 6.4 (patch 20230909).
+ This describes <STRONG>ncurses</STRONG> version 6.4 (patch 20230917).
</PRE><H2><a name="h2-AUTHOR">AUTHOR</a></H2><PRE>
-ncurses 6.4 2023-09-09 <STRONG><A HREF="infocmp.1m.html">infocmp(1m)</A></STRONG>
+ncurses 6.4 2023-09-16 <STRONG><A HREF="infocmp.1m.html">infocmp(1m)</A></STRONG>
</PRE>
<div class="nav">
<ul>
<!--
* t
****************************************************************************
- * Copyright 2018-2021,2022 Thomas E. Dickey *
+ * Copyright 2018-2022,2023 Thomas E. Dickey *
* Copyright 1999-2010,2016 Free Software Foundation, Inc. *
* *
* Permission is hereby granted, free of charge, to any person obtaining a *
* sale, use or other dealings in this Software without prior written *
* authorization. *
****************************************************************************
- * @Id: infotocap.1m,v 1.21 2022/02/12 20:02:20 tom Exp @
+ * @Id: infotocap.1m,v 1.26 2023/09/16 23:38:39 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>infotocap 1m 2022-02-12 ncurses 6.4 User commands</TITLE>
+<TITLE>infotocap 1m 2023-09-16 ncurses 6.4 User commands</TITLE>
<link rel="author" href="mailto:bug-ncurses@gnu.org">
</HEAD>
<BODY>
-<H1 class="no-header">infotocap 1m 2022-02-12 ncurses 6.4 User commands</H1>
+<H1 class="no-header">infotocap 1m 2023-09-16 ncurses 6.4 User commands</H1>
<PRE>
<STRONG><A HREF="infotocap.1m.html">infotocap(1m)</A></STRONG> User commands <STRONG><A HREF="infotocap.1m.html">infotocap(1m)</A></STRONG>
</PRE><H2><a name="h2-SEE-ALSO">SEE ALSO</a></H2><PRE>
<STRONG><A HREF="infocmp.1m.html">infocmp(1m)</A></STRONG>, <STRONG><A HREF="tic.1m.html">tic(1m)</A></STRONG>, <STRONG><A HREF="ncurses.3x.html">curses(3x)</A></STRONG>, <STRONG><A HREF="terminfo.5.html">terminfo(5)</A></STRONG>
- This describes <STRONG>ncurses</STRONG> version 6.4 (patch 20230909).
+ This describes <STRONG>ncurses</STRONG> version 6.4 (patch 20230917).
</PRE><H2><a name="h2-AUTHOR">AUTHOR</a></H2><PRE>
-ncurses 6.4 2022-02-12 <STRONG><A HREF="infotocap.1m.html">infotocap(1m)</A></STRONG>
+ncurses 6.4 2023-09-16 <STRONG><A HREF="infotocap.1m.html">infotocap(1m)</A></STRONG>
</PRE>
<div class="nav">
<ul>
<!--
****************************************************************************
- * Copyright 2018-2021,2022 Thomas E. Dickey *
+ * Copyright 2018-2022,2023 Thomas E. Dickey *
* Copyright 2003-2006,2010 Free Software Foundation, Inc. *
* *
* Permission is hereby granted, free of charge, to any person obtaining a *
* authorization. *
****************************************************************************
* Author: Thomas E. Dickey 2003
- * @Id: key_defined.3x,v 1.14 2022/02/12 20:03:40 tom Exp @
+ * @Id: key_defined.3x,v 1.20 2023/09/16 23:38:39 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>key_defined 3x 2022-02-12 ncurses 6.4 Library calls</TITLE>
+<TITLE>key_defined 3x 2023-09-16 ncurses 6.4 Library calls</TITLE>
<link rel="author" href="mailto:bug-ncurses@gnu.org">
</HEAD>
<BODY>
-<H1 class="no-header">key_defined 3x 2022-02-12 ncurses 6.4 Library calls</H1>
+<H1 class="no-header">key_defined 3x 2023-09-16 ncurses 6.4 Library calls</H1>
<PRE>
<STRONG><A HREF="key_defined.3x.html">key_defined(3x)</A></STRONG> Library calls <STRONG><A HREF="key_defined.3x.html">key_defined(3x)</A></STRONG>
</PRE><H2><a name="h2-NAME">NAME</a></H2><PRE>
- <STRONG>key_defined</STRONG> - check if a keycode is defined
+ <STRONG>key_defined</STRONG> - test whether a <EM>curses</EM> keycode is defined
</PRE><H2><a name="h2-SYNOPSIS">SYNOPSIS</a></H2><PRE>
</PRE><H2><a name="h2-PORTABILITY">PORTABILITY</a></H2><PRE>
- These routines are specific to ncurses. They were not supported on
- Version 7, BSD or System V implementations. It is recommended that any
- code depending on them be conditioned using NCURSES_VERSION.
+ This routine is specific to ncurses. It was not supported on Version
+ 7, BSD or System V implementations. It is recommended that any code
+ depending on them be conditioned using NCURSES_VERSION.
</PRE><H2><a name="h2-SEE-ALSO">SEE ALSO</a></H2><PRE>
-ncurses 6.4 2022-02-12 <STRONG><A HREF="key_defined.3x.html">key_defined(3x)</A></STRONG>
+ncurses 6.4 2023-09-16 <STRONG><A HREF="key_defined.3x.html">key_defined(3x)</A></STRONG>
</PRE>
<div class="nav">
<ul>
<!--
****************************************************************************
- * Copyright 2018-2021,2022 Thomas E. Dickey *
+ * Copyright 2018-2022,2023 Thomas E. Dickey *
* Copyright 1999-2008,2010 Free Software Foundation, Inc. *
* *
* Permission is hereby granted, free of charge, to any person obtaining a *
* authorization. *
****************************************************************************
* Author: Thomas E. Dickey 1999
- * @Id: keybound.3x,v 1.15 2022/02/12 20:03:40 tom Exp @
+ * @Id: keybound.3x,v 1.21 2023/09/16 23:38:39 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>keybound 3x 2022-02-12 ncurses 6.4 Library calls</TITLE>
+<TITLE>keybound 3x 2023-09-16 ncurses 6.4 Library calls</TITLE>
<link rel="author" href="mailto:bug-ncurses@gnu.org">
</HEAD>
<BODY>
-<H1 class="no-header">keybound 3x 2022-02-12 ncurses 6.4 Library calls</H1>
+<H1 class="no-header">keybound 3x 2023-09-16 ncurses 6.4 Library calls</H1>
<PRE>
<STRONG><A HREF="keybound.3x.html">keybound(3x)</A></STRONG> Library calls <STRONG><A HREF="keybound.3x.html">keybound(3x)</A></STRONG>
</PRE><H2><a name="h2-NAME">NAME</a></H2><PRE>
- <STRONG>keybound</STRONG> - return definition of keycode
+ <STRONG>keybound</STRONG> - get definition of <EM>curses</EM> keycode
</PRE><H2><a name="h2-SYNOPSIS">SYNOPSIS</a></H2><PRE>
</PRE><H2><a name="h2-PORTABILITY">PORTABILITY</a></H2><PRE>
- These routines are specific to ncurses. They were not supported on
- Version 7, BSD or System V implementations. It is recommended that any
- code depending on them be conditioned using NCURSES_VERSION.
+ This routine is specific to ncurses. It was not supported on Version
+ 7, BSD or System V implementations. It is recommended that any code
+ depending on them be conditioned using NCURSES_VERSION.
</PRE><H2><a name="h2-SEE-ALSO">SEE ALSO</a></H2><PRE>
-ncurses 6.4 2022-02-12 <STRONG><A HREF="keybound.3x.html">keybound(3x)</A></STRONG>
+ncurses 6.4 2023-09-16 <STRONG><A HREF="keybound.3x.html">keybound(3x)</A></STRONG>
</PRE>
<div class="nav">
<ul>
<!--
****************************************************************************
- * Copyright 2018-2021,2022 Thomas E. Dickey *
+ * Copyright 2018-2022,2023 Thomas E. Dickey *
* Copyright 1998-2010,2017 Free Software Foundation, Inc. *
* *
* Permission is hereby granted, free of charge, to any person obtaining a *
* authorization. *
****************************************************************************
* Author: Thomas E. Dickey 1997
- * @Id: keyok.3x,v 1.20 2022/02/12 20:03:40 tom Exp @
+ * @Id: keyok.3x,v 1.26 2023/09/16 23:38:39 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>keyok 3x 2022-02-12 ncurses 6.4 Library calls</TITLE>
+<TITLE>keyok 3x 2023-09-16 ncurses 6.4 Library calls</TITLE>
<link rel="author" href="mailto:bug-ncurses@gnu.org">
</HEAD>
<BODY>
-<H1 class="no-header">keyok 3x 2022-02-12 ncurses 6.4 Library calls</H1>
+<H1 class="no-header">keyok 3x 2023-09-16 ncurses 6.4 Library calls</H1>
<PRE>
<STRONG><A HREF="keyok.3x.html">keyok(3x)</A></STRONG> Library calls <STRONG><A HREF="keyok.3x.html">keyok(3x)</A></STRONG>
</PRE><H2><a name="h2-NAME">NAME</a></H2><PRE>
- <STRONG>keyok</STRONG> - enable or disable a keycode
+ <STRONG>keyok</STRONG> - enable or disable a <EM>curses</EM> keycode
</PRE><H2><a name="h2-SYNOPSIS">SYNOPSIS</a></H2><PRE>
</PRE><H2><a name="h2-PORTABILITY">PORTABILITY</a></H2><PRE>
- These routines are specific to ncurses. They were not supported on
- Version 7, BSD or System V implementations. It is recommended that any
- code depending on them be conditioned using NCURSES_VERSION.
+ This routine is specific to ncurses. It was not supported on Version
+ 7, BSD or System V implementations. It is recommended that any code
+ depending on them be conditioned using NCURSES_VERSION.
</PRE><H2><a name="h2-SEE-ALSO">SEE ALSO</a></H2><PRE>
-ncurses 6.4 2022-02-12 <STRONG><A HREF="keyok.3x.html">keyok(3x)</A></STRONG>
+ncurses 6.4 2023-09-16 <STRONG><A HREF="keyok.3x.html">keyok(3x)</A></STRONG>
</PRE>
<div class="nav">
<ul>
<!--
****************************************************************************
- * Copyright 2020-2021,2022 Thomas E. Dickey *
+ * Copyright 2020-2022,2023 Thomas E. Dickey *
* Copyright 2005-2016,2017 Free Software Foundation, Inc. *
* *
* Permission is hereby granted, free of charge, to any person obtaining a *
* authorization. *
****************************************************************************
* Author: Thomas E. Dickey
- * @Id: legacy_coding.3x,v 1.12 2022/02/12 20:07:56 tom Exp @
+ * @Id: legacy_coding.3x,v 1.17 2023/09/16 23:38:39 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>legacy_coding 3x 2022-02-12 ncurses 6.4 Library calls</TITLE>
+<TITLE>legacy_coding 3x 2023-09-16 ncurses 6.4 Library calls</TITLE>
<link rel="author" href="mailto:bug-ncurses@gnu.org">
</HEAD>
<BODY>
-<H1 class="no-header">legacy_coding 3x 2022-02-12 ncurses 6.4 Library calls</H1>
+<H1 class="no-header">legacy_coding 3x 2023-09-16 ncurses 6.4 Library calls</H1>
<PRE>
<STRONG><A HREF="legacy_coding.3x.html">legacy_coding(3x)</A></STRONG> Library calls <STRONG><A HREF="legacy_coding.3x.html">legacy_coding(3x)</A></STRONG>
</PRE><H2><a name="h2-NAME">NAME</a></H2><PRE>
- <STRONG>use_legacy_coding</STRONG> - override locale-encoding checks
+ <STRONG>use_legacy_coding</STRONG> - override <EM>curses</EM> locale encoding checks
</PRE><H2><a name="h2-SYNOPSIS">SYNOPSIS</a></H2><PRE>
-ncurses 6.4 2022-02-12 <STRONG><A HREF="legacy_coding.3x.html">legacy_coding(3x)</A></STRONG>
+ncurses 6.4 2023-09-16 <STRONG><A HREF="legacy_coding.3x.html">legacy_coding(3x)</A></STRONG>
</PRE>
<div class="nav">
<ul>
* sale, use or other dealings in this Software without prior written *
* authorization. *
****************************************************************************
- * @Id: menu.3x,v 1.34 2023/08/19 20:39:40 tom Exp @
+ * @Id: menu.3x,v 1.36 2023/09/16 23:38:39 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>menu 3x 2023-08-19 ncurses 6.4 Library calls</TITLE>
+<TITLE>menu 3x 2023-09-16 ncurses 6.4 Library calls</TITLE>
<link rel="author" href="mailto:bug-ncurses@gnu.org">
</HEAD>
<BODY>
-<H1 class="no-header">menu 3x 2023-08-19 ncurses 6.4 Library calls</H1>
+<H1 class="no-header">menu 3x 2023-09-16 ncurses 6.4 Library calls</H1>
<PRE>
<STRONG><A HREF="menu.3x.html">menu(3x)</A></STRONG> Library calls <STRONG><A HREF="menu.3x.html">menu(3x)</A></STRONG>
<STRONG><A HREF="ncurses.3x.html">curses(3x)</A></STRONG> and related pages whose names begin "menu_" for detailed
descriptions of the entry points.
- This describes <STRONG>ncurses</STRONG> version 6.4 (patch 20230909).
+ This describes <STRONG>ncurses</STRONG> version 6.4 (patch 20230917).
-ncurses 6.4 2023-08-19 <STRONG><A HREF="menu.3x.html">menu(3x)</A></STRONG>
+ncurses 6.4 2023-09-16 <STRONG><A HREF="menu.3x.html">menu(3x)</A></STRONG>
</PRE>
<div class="nav">
<ul>
* sale, use or other dealings in this Software without prior written *
* authorization. *
****************************************************************************
- * @Id: menu_attributes.3x,v 1.26 2023/07/01 15:46:10 tom Exp @
+ * @Id: menu_attributes.3x,v 1.28 2023/09/16 23:38:39 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>menu_attributes 3x 2023-07-01 ncurses 6.4 Library calls</TITLE>
+<TITLE>menu_attributes 3x 2023-09-16 ncurses 6.4 Library calls</TITLE>
<link rel="author" href="mailto:bug-ncurses@gnu.org">
</HEAD>
<BODY>
-<H1 class="no-header">menu_attributes 3x 2023-07-01 ncurses 6.4 Library calls</H1>
+<H1 class="no-header">menu_attributes 3x 2023-09-16 ncurses 6.4 Library calls</H1>
<PRE>
<STRONG><A HREF="menu_attributes.3x.html">menu_attributes(3x)</A></STRONG> Library calls <STRONG><A HREF="menu_attributes.3x.html">menu_attributes(3x)</A></STRONG>
-ncurses 6.4 2023-07-01 <STRONG><A HREF="menu_attributes.3x.html">menu_attributes(3x)</A></STRONG>
+ncurses 6.4 2023-09-16 <STRONG><A HREF="menu_attributes.3x.html">menu_attributes(3x)</A></STRONG>
</PRE>
<div class="nav">
<ul>
* sale, use or other dealings in this Software without prior written *
* authorization. *
****************************************************************************
- * @Id: menu_cursor.3x,v 1.20 2023/07/01 15:46:10 tom Exp @
+ * @Id: menu_cursor.3x,v 1.22 2023/09/16 23:38:39 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>menu_cursor 3x 2023-07-01 ncurses 6.4 Library calls</TITLE>
+<TITLE>menu_cursor 3x 2023-09-16 ncurses 6.4 Library calls</TITLE>
<link rel="author" href="mailto:bug-ncurses@gnu.org">
</HEAD>
<BODY>
-<H1 class="no-header">menu_cursor 3x 2023-07-01 ncurses 6.4 Library calls</H1>
+<H1 class="no-header">menu_cursor 3x 2023-09-16 ncurses 6.4 Library calls</H1>
<PRE>
<STRONG><A HREF="menu_cursor.3x.html">menu_cursor(3x)</A></STRONG> Library calls <STRONG><A HREF="menu_cursor.3x.html">menu_cursor(3x)</A></STRONG>
-ncurses 6.4 2023-07-01 <STRONG><A HREF="menu_cursor.3x.html">menu_cursor(3x)</A></STRONG>
+ncurses 6.4 2023-09-16 <STRONG><A HREF="menu_cursor.3x.html">menu_cursor(3x)</A></STRONG>
</PRE>
<div class="nav">
<ul>
* sale, use or other dealings in this Software without prior written *
* authorization. *
****************************************************************************
- * @Id: menu_driver.3x,v 1.35 2023/07/01 15:46:10 tom Exp @
+ * @Id: menu_driver.3x,v 1.37 2023/09/16 23:38:39 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>menu_driver 3x 2023-07-01 ncurses 6.4 Library calls</TITLE>
+<TITLE>menu_driver 3x 2023-09-16 ncurses 6.4 Library calls</TITLE>
<link rel="author" href="mailto:bug-ncurses@gnu.org">
</HEAD>
<BODY>
-<H1 class="no-header">menu_driver 3x 2023-07-01 ncurses 6.4 Library calls</H1>
+<H1 class="no-header">menu_driver 3x 2023-09-16 ncurses 6.4 Library calls</H1>
<PRE>
<STRONG><A HREF="menu_driver.3x.html">menu_driver(3x)</A></STRONG> Library calls <STRONG><A HREF="menu_driver.3x.html">menu_driver(3x)</A></STRONG>
-ncurses 6.4 2023-07-01 <STRONG><A HREF="menu_driver.3x.html">menu_driver(3x)</A></STRONG>
+ncurses 6.4 2023-09-16 <STRONG><A HREF="menu_driver.3x.html">menu_driver(3x)</A></STRONG>
</PRE>
<div class="nav">
<ul>
* sale, use or other dealings in this Software without prior written *
* authorization. *
****************************************************************************
- * @Id: menu_format.3x,v 1.25 2023/07/01 15:46:10 tom Exp @
+ * @Id: menu_format.3x,v 1.27 2023/09/16 23:38:39 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>menu_format 3x 2023-07-01 ncurses 6.4 Library calls</TITLE>
+<TITLE>menu_format 3x 2023-09-16 ncurses 6.4 Library calls</TITLE>
<link rel="author" href="mailto:bug-ncurses@gnu.org">
</HEAD>
<BODY>
-<H1 class="no-header">menu_format 3x 2023-07-01 ncurses 6.4 Library calls</H1>
+<H1 class="no-header">menu_format 3x 2023-09-16 ncurses 6.4 Library calls</H1>
<PRE>
<STRONG><A HREF="menu_format.3x.html">menu_format(3x)</A></STRONG> Library calls <STRONG><A HREF="menu_format.3x.html">menu_format(3x)</A></STRONG>
-ncurses 6.4 2023-07-01 <STRONG><A HREF="menu_format.3x.html">menu_format(3x)</A></STRONG>
+ncurses 6.4 2023-09-16 <STRONG><A HREF="menu_format.3x.html">menu_format(3x)</A></STRONG>
</PRE>
<div class="nav">
<ul>
* sale, use or other dealings in this Software without prior written *
* authorization. *
****************************************************************************
- * @Id: menu_hook.3x,v 1.22 2023/07/01 15:46:10 tom Exp @
+ * @Id: menu_hook.3x,v 1.24 2023/09/16 23:38:39 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>menu_hook 3x 2023-07-01 ncurses 6.4 Library calls</TITLE>
+<TITLE>menu_hook 3x 2023-09-16 ncurses 6.4 Library calls</TITLE>
<link rel="author" href="mailto:bug-ncurses@gnu.org">
</HEAD>
<BODY>
-<H1 class="no-header">menu_hook 3x 2023-07-01 ncurses 6.4 Library calls</H1>
+<H1 class="no-header">menu_hook 3x 2023-09-16 ncurses 6.4 Library calls</H1>
<PRE>
<STRONG><A HREF="menu_hook.3x.html">menu_hook(3x)</A></STRONG> Library calls <STRONG><A HREF="menu_hook.3x.html">menu_hook(3x)</A></STRONG>
-ncurses 6.4 2023-07-01 <STRONG><A HREF="menu_hook.3x.html">menu_hook(3x)</A></STRONG>
+ncurses 6.4 2023-09-16 <STRONG><A HREF="menu_hook.3x.html">menu_hook(3x)</A></STRONG>
</PRE>
<div class="nav">
<ul>
* sale, use or other dealings in this Software without prior written *
* authorization. *
****************************************************************************
- * @Id: menu_items.3x,v 1.24 2023/07/01 15:46:10 tom Exp @
+ * @Id: menu_items.3x,v 1.26 2023/09/16 23:38:39 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>menu_items 3x 2023-07-01 ncurses 6.4 Library calls</TITLE>
+<TITLE>menu_items 3x 2023-09-16 ncurses 6.4 Library calls</TITLE>
<link rel="author" href="mailto:bug-ncurses@gnu.org">
</HEAD>
<BODY>
-<H1 class="no-header">menu_items 3x 2023-07-01 ncurses 6.4 Library calls</H1>
+<H1 class="no-header">menu_items 3x 2023-09-16 ncurses 6.4 Library calls</H1>
<PRE>
<STRONG><A HREF="menu_items.3x.html">menu_items(3x)</A></STRONG> Library calls <STRONG><A HREF="menu_items.3x.html">menu_items(3x)</A></STRONG>
-ncurses 6.4 2023-07-01 <STRONG><A HREF="menu_items.3x.html">menu_items(3x)</A></STRONG>
+ncurses 6.4 2023-09-16 <STRONG><A HREF="menu_items.3x.html">menu_items(3x)</A></STRONG>
</PRE>
<div class="nav">
<ul>
* sale, use or other dealings in this Software without prior written *
* authorization. *
****************************************************************************
- * @Id: menu_mark.3x,v 1.25 2023/07/01 15:46:10 tom Exp @
+ * @Id: menu_mark.3x,v 1.27 2023/09/16 23:38:39 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>menu_mark 3x 2023-07-01 ncurses 6.4 Library calls</TITLE>
+<TITLE>menu_mark 3x 2023-09-16 ncurses 6.4 Library calls</TITLE>
<link rel="author" href="mailto:bug-ncurses@gnu.org">
</HEAD>
<BODY>
-<H1 class="no-header">menu_mark 3x 2023-07-01 ncurses 6.4 Library calls</H1>
+<H1 class="no-header">menu_mark 3x 2023-09-16 ncurses 6.4 Library calls</H1>
<PRE>
<STRONG><A HREF="menu_mark.3x.html">menu_mark(3x)</A></STRONG> Library calls <STRONG><A HREF="menu_mark.3x.html">menu_mark(3x)</A></STRONG>
-ncurses 6.4 2023-07-01 <STRONG><A HREF="menu_mark.3x.html">menu_mark(3x)</A></STRONG>
+ncurses 6.4 2023-09-16 <STRONG><A HREF="menu_mark.3x.html">menu_mark(3x)</A></STRONG>
</PRE>
<div class="nav">
<ul>
* sale, use or other dealings in this Software without prior written *
* authorization. *
****************************************************************************
- * @Id: menu_new.3x,v 1.25 2023/07/01 15:46:10 tom Exp @
+ * @Id: menu_new.3x,v 1.27 2023/09/16 23:38:39 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>menu_new 3x 2023-07-01 ncurses 6.4 Library calls</TITLE>
+<TITLE>menu_new 3x 2023-09-16 ncurses 6.4 Library calls</TITLE>
<link rel="author" href="mailto:bug-ncurses@gnu.org">
</HEAD>
<BODY>
-<H1 class="no-header">menu_new 3x 2023-07-01 ncurses 6.4 Library calls</H1>
+<H1 class="no-header">menu_new 3x 2023-09-16 ncurses 6.4 Library calls</H1>
<PRE>
<STRONG><A HREF="menu_new.3x.html">menu_new(3x)</A></STRONG> Library calls <STRONG><A HREF="menu_new.3x.html">menu_new(3x)</A></STRONG>
-ncurses 6.4 2023-07-01 <STRONG><A HREF="menu_new.3x.html">menu_new(3x)</A></STRONG>
+ncurses 6.4 2023-09-16 <STRONG><A HREF="menu_new.3x.html">menu_new(3x)</A></STRONG>
</PRE>
<div class="nav">
<ul>
* sale, use or other dealings in this Software without prior written *
* authorization. *
****************************************************************************
- * @Id: menu_opts.3x,v 1.25 2023/07/01 15:46:10 tom Exp @
+ * @Id: menu_opts.3x,v 1.27 2023/09/16 23:38:39 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>menu_opts 3x 2023-07-01 ncurses 6.4 Library calls</TITLE>
+<TITLE>menu_opts 3x 2023-09-16 ncurses 6.4 Library calls</TITLE>
<link rel="author" href="mailto:bug-ncurses@gnu.org">
</HEAD>
<BODY>
-<H1 class="no-header">menu_opts 3x 2023-07-01 ncurses 6.4 Library calls</H1>
+<H1 class="no-header">menu_opts 3x 2023-09-16 ncurses 6.4 Library calls</H1>
<PRE>
<STRONG><A HREF="menu_opts.3x.html">menu_opts(3x)</A></STRONG> Library calls <STRONG><A HREF="menu_opts.3x.html">menu_opts(3x)</A></STRONG>
-ncurses 6.4 2023-07-01 <STRONG><A HREF="menu_opts.3x.html">menu_opts(3x)</A></STRONG>
+ncurses 6.4 2023-09-16 <STRONG><A HREF="menu_opts.3x.html">menu_opts(3x)</A></STRONG>
</PRE>
<div class="nav">
<ul>
* sale, use or other dealings in this Software without prior written *
* authorization. *
****************************************************************************
- * @Id: menu_pattern.3x,v 1.28 2023/07/01 15:46:10 tom Exp @
+ * @Id: menu_pattern.3x,v 1.30 2023/09/16 23:38:39 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>menu_pattern 3x 2023-07-01 ncurses 6.4 Library calls</TITLE>
+<TITLE>menu_pattern 3x 2023-09-16 ncurses 6.4 Library calls</TITLE>
<link rel="author" href="mailto:bug-ncurses@gnu.org">
</HEAD>
<BODY>
-<H1 class="no-header">menu_pattern 3x 2023-07-01 ncurses 6.4 Library calls</H1>
+<H1 class="no-header">menu_pattern 3x 2023-09-16 ncurses 6.4 Library calls</H1>
<PRE>
<STRONG><A HREF="menu_pattern.3x.html">menu_pattern(3x)</A></STRONG> Library calls <STRONG><A HREF="menu_pattern.3x.html">menu_pattern(3x)</A></STRONG>
-ncurses 6.4 2023-07-01 <STRONG><A HREF="menu_pattern.3x.html">menu_pattern(3x)</A></STRONG>
+ncurses 6.4 2023-09-16 <STRONG><A HREF="menu_pattern.3x.html">menu_pattern(3x)</A></STRONG>
</PRE>
<div class="nav">
<ul>
* sale, use or other dealings in this Software without prior written *
* authorization. *
****************************************************************************
- * @Id: menu_post.3x,v 1.26 2023/07/01 15:46:10 tom Exp @
+ * @Id: menu_post.3x,v 1.28 2023/09/16 23:38:39 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>menu_post 3x 2023-07-01 ncurses 6.4 Library calls</TITLE>
+<TITLE>menu_post 3x 2023-09-16 ncurses 6.4 Library calls</TITLE>
<link rel="author" href="mailto:bug-ncurses@gnu.org">
</HEAD>
<BODY>
-<H1 class="no-header">menu_post 3x 2023-07-01 ncurses 6.4 Library calls</H1>
+<H1 class="no-header">menu_post 3x 2023-09-16 ncurses 6.4 Library calls</H1>
<PRE>
<STRONG><A HREF="menu_post.3x.html">menu_post(3x)</A></STRONG> Library calls <STRONG><A HREF="menu_post.3x.html">menu_post(3x)</A></STRONG>
-ncurses 6.4 2023-07-01 <STRONG><A HREF="menu_post.3x.html">menu_post(3x)</A></STRONG>
+ncurses 6.4 2023-09-16 <STRONG><A HREF="menu_post.3x.html">menu_post(3x)</A></STRONG>
</PRE>
<div class="nav">
<ul>
* sale, use or other dealings in this Software without prior written *
* authorization. *
****************************************************************************
- * @Id: menu_requestname.3x,v 1.22 2023/07/01 15:46:10 tom Exp @
+ * @Id: menu_requestname.3x,v 1.24 2023/09/16 23:38:39 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>menu_requestname 3x 2023-07-01 ncurses 6.4 Library calls</TITLE>
+<TITLE>menu_requestname 3x 2023-09-16 ncurses 6.4 Library calls</TITLE>
<link rel="author" href="mailto:bug-ncurses@gnu.org">
</HEAD>
<BODY>
-<H1 class="no-header">menu_requestname 3x 2023-07-01 ncurses 6.4 Library calls</H1>
+<H1 class="no-header">menu_requestname 3x 2023-09-16 ncurses 6.4 Library calls</H1>
<PRE>
<STRONG><A HREF="menu_requestname.3x.html">menu_requestname(3x)</A></STRONG> Library calls <STRONG><A HREF="menu_requestname.3x.html">menu_requestname(3x)</A></STRONG>
-ncurses 6.4 2023-07-01 <STRONG><A HREF="menu_requestname.3x.html">menu_requestname(3x)</A></STRONG>
+ncurses 6.4 2023-09-16 <STRONG><A HREF="menu_requestname.3x.html">menu_requestname(3x)</A></STRONG>
</PRE>
<div class="nav">
<ul>
* sale, use or other dealings in this Software without prior written *
* authorization. *
****************************************************************************
- * @Id: menu_spacing.3x,v 1.24 2023/07/01 15:46:10 tom Exp @
+ * @Id: menu_spacing.3x,v 1.26 2023/09/16 23:38:39 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>menu_spacing 3x 2023-07-01 ncurses 6.4 Library calls</TITLE>
+<TITLE>menu_spacing 3x 2023-09-16 ncurses 6.4 Library calls</TITLE>
<link rel="author" href="mailto:bug-ncurses@gnu.org">
</HEAD>
<BODY>
-<H1 class="no-header">menu_spacing 3x 2023-07-01 ncurses 6.4 Library calls</H1>
+<H1 class="no-header">menu_spacing 3x 2023-09-16 ncurses 6.4 Library calls</H1>
<PRE>
<STRONG><A HREF="menu_spacing.3x.html">menu_spacing(3x)</A></STRONG> Library calls <STRONG><A HREF="menu_spacing.3x.html">menu_spacing(3x)</A></STRONG>
-ncurses 6.4 2023-07-01 <STRONG><A HREF="menu_spacing.3x.html">menu_spacing(3x)</A></STRONG>
+ncurses 6.4 2023-09-16 <STRONG><A HREF="menu_spacing.3x.html">menu_spacing(3x)</A></STRONG>
</PRE>
<div class="nav">
<ul>
* sale, use or other dealings in this Software without prior written *
* authorization. *
****************************************************************************
- * @Id: menu_userptr.3x,v 1.23 2023/07/01 15:46:10 tom Exp @
+ * @Id: menu_userptr.3x,v 1.25 2023/09/16 23:38:39 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>menu_userptr 3x 2023-07-01 ncurses 6.4 Library calls</TITLE>
+<TITLE>menu_userptr 3x 2023-09-16 ncurses 6.4 Library calls</TITLE>
<link rel="author" href="mailto:bug-ncurses@gnu.org">
</HEAD>
<BODY>
-<H1 class="no-header">menu_userptr 3x 2023-07-01 ncurses 6.4 Library calls</H1>
+<H1 class="no-header">menu_userptr 3x 2023-09-16 ncurses 6.4 Library calls</H1>
<PRE>
<STRONG><A HREF="menu_userptr.3x.html">menu_userptr(3x)</A></STRONG> Library calls <STRONG><A HREF="menu_userptr.3x.html">menu_userptr(3x)</A></STRONG>
-ncurses 6.4 2023-07-01 <STRONG><A HREF="menu_userptr.3x.html">menu_userptr(3x)</A></STRONG>
+ncurses 6.4 2023-09-16 <STRONG><A HREF="menu_userptr.3x.html">menu_userptr(3x)</A></STRONG>
</PRE>
<div class="nav">
<ul>
* sale, use or other dealings in this Software without prior written *
* authorization. *
****************************************************************************
- * @Id: menu_win.3x,v 1.22 2023/07/01 15:46:10 tom Exp @
+ * @Id: menu_win.3x,v 1.24 2023/09/16 23:38:39 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>menu_win 3x 2023-07-01 ncurses 6.4 Library calls</TITLE>
+<TITLE>menu_win 3x 2023-09-16 ncurses 6.4 Library calls</TITLE>
<link rel="author" href="mailto:bug-ncurses@gnu.org">
</HEAD>
<BODY>
-<H1 class="no-header">menu_win 3x 2023-07-01 ncurses 6.4 Library calls</H1>
+<H1 class="no-header">menu_win 3x 2023-09-16 ncurses 6.4 Library calls</H1>
<PRE>
<STRONG><A HREF="menu_win.3x.html">menu_win(3x)</A></STRONG> Library calls <STRONG><A HREF="menu_win.3x.html">menu_win(3x)</A></STRONG>
-ncurses 6.4 2023-07-01 <STRONG><A HREF="menu_win.3x.html">menu_win(3x)</A></STRONG>
+ncurses 6.4 2023-09-16 <STRONG><A HREF="menu_win.3x.html">menu_win(3x)</A></STRONG>
</PRE>
<div class="nav">
<ul>
* sale, use or other dealings in this Software without prior written *
* authorization. *
****************************************************************************
- * @Id: mitem_current.3x,v 1.27 2023/07/01 15:46:10 tom Exp @
+ * @Id: mitem_current.3x,v 1.29 2023/09/16 23:38:39 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>mitem_current 3x 2023-07-01 ncurses 6.4 Library calls</TITLE>
+<TITLE>mitem_current 3x 2023-09-16 ncurses 6.4 Library calls</TITLE>
<link rel="author" href="mailto:bug-ncurses@gnu.org">
</HEAD>
<BODY>
-<H1 class="no-header">mitem_current 3x 2023-07-01 ncurses 6.4 Library calls</H1>
+<H1 class="no-header">mitem_current 3x 2023-09-16 ncurses 6.4 Library calls</H1>
<PRE>
<STRONG><A HREF="mitem_current.3x.html">mitem_current(3x)</A></STRONG> Library calls <STRONG><A HREF="mitem_current.3x.html">mitem_current(3x)</A></STRONG>
-ncurses 6.4 2023-07-01 <STRONG><A HREF="mitem_current.3x.html">mitem_current(3x)</A></STRONG>
+ncurses 6.4 2023-09-16 <STRONG><A HREF="mitem_current.3x.html">mitem_current(3x)</A></STRONG>
</PRE>
<div class="nav">
<ul>
* sale, use or other dealings in this Software without prior written *
* authorization. *
****************************************************************************
- * @Id: mitem_name.3x,v 1.21 2023/07/01 15:46:10 tom Exp @
+ * @Id: mitem_name.3x,v 1.23 2023/09/16 23:38:39 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>mitem_name 3x 2023-07-01 ncurses 6.4 Library calls</TITLE>
+<TITLE>mitem_name 3x 2023-09-16 ncurses 6.4 Library calls</TITLE>
<link rel="author" href="mailto:bug-ncurses@gnu.org">
</HEAD>
<BODY>
-<H1 class="no-header">mitem_name 3x 2023-07-01 ncurses 6.4 Library calls</H1>
+<H1 class="no-header">mitem_name 3x 2023-09-16 ncurses 6.4 Library calls</H1>
<PRE>
<STRONG><A HREF="mitem_name.3x.html">mitem_name(3x)</A></STRONG> Library calls <STRONG><A HREF="mitem_name.3x.html">mitem_name(3x)</A></STRONG>
-ncurses 6.4 2023-07-01 <STRONG><A HREF="mitem_name.3x.html">mitem_name(3x)</A></STRONG>
+ncurses 6.4 2023-09-16 <STRONG><A HREF="mitem_name.3x.html">mitem_name(3x)</A></STRONG>
</PRE>
<div class="nav">
<ul>
* sale, use or other dealings in this Software without prior written *
* authorization. *
****************************************************************************
- * @Id: mitem_new.3x,v 1.26 2023/07/01 15:46:10 tom Exp @
+ * @Id: mitem_new.3x,v 1.28 2023/09/16 23:38:39 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>mitem_new 3x 2023-07-01 ncurses 6.4 Library calls</TITLE>
+<TITLE>mitem_new 3x 2023-09-16 ncurses 6.4 Library calls</TITLE>
<link rel="author" href="mailto:bug-ncurses@gnu.org">
</HEAD>
<BODY>
-<H1 class="no-header">mitem_new 3x 2023-07-01 ncurses 6.4 Library calls</H1>
+<H1 class="no-header">mitem_new 3x 2023-09-16 ncurses 6.4 Library calls</H1>
<PRE>
<STRONG><A HREF="mitem_new.3x.html">mitem_new(3x)</A></STRONG> Library calls <STRONG><A HREF="mitem_new.3x.html">mitem_new(3x)</A></STRONG>
-ncurses 6.4 2023-07-01 <STRONG><A HREF="mitem_new.3x.html">mitem_new(3x)</A></STRONG>
+ncurses 6.4 2023-09-16 <STRONG><A HREF="mitem_new.3x.html">mitem_new(3x)</A></STRONG>
</PRE>
<div class="nav">
<ul>
* sale, use or other dealings in this Software without prior written *
* authorization. *
****************************************************************************
- * @Id: mitem_opts.3x,v 1.23 2023/07/01 15:46:10 tom Exp @
+ * @Id: mitem_opts.3x,v 1.25 2023/09/16 23:38:39 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>mitem_opts 3x 2023-07-01 ncurses 6.4 Library calls</TITLE>
+<TITLE>mitem_opts 3x 2023-09-16 ncurses 6.4 Library calls</TITLE>
<link rel="author" href="mailto:bug-ncurses@gnu.org">
</HEAD>
<BODY>
-<H1 class="no-header">mitem_opts 3x 2023-07-01 ncurses 6.4 Library calls</H1>
+<H1 class="no-header">mitem_opts 3x 2023-09-16 ncurses 6.4 Library calls</H1>
<PRE>
<STRONG><A HREF="mitem_opts.3x.html">mitem_opts(3x)</A></STRONG> Library calls <STRONG><A HREF="mitem_opts.3x.html">mitem_opts(3x)</A></STRONG>
-ncurses 6.4 2023-07-01 <STRONG><A HREF="mitem_opts.3x.html">mitem_opts(3x)</A></STRONG>
+ncurses 6.4 2023-09-16 <STRONG><A HREF="mitem_opts.3x.html">mitem_opts(3x)</A></STRONG>
</PRE>
<div class="nav">
<ul>
* sale, use or other dealings in this Software without prior written *
* authorization. *
****************************************************************************
- * @Id: mitem_userptr.3x,v 1.24 2023/07/01 15:46:10 tom Exp @
+ * @Id: mitem_userptr.3x,v 1.26 2023/09/16 23:38:39 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>mitem_userptr 3x 2023-07-01 ncurses 6.4 Library calls</TITLE>
+<TITLE>mitem_userptr 3x 2023-09-16 ncurses 6.4 Library calls</TITLE>
<link rel="author" href="mailto:bug-ncurses@gnu.org">
</HEAD>
<BODY>
-<H1 class="no-header">mitem_userptr 3x 2023-07-01 ncurses 6.4 Library calls</H1>
+<H1 class="no-header">mitem_userptr 3x 2023-09-16 ncurses 6.4 Library calls</H1>
<PRE>
<STRONG><A HREF="mitem_userptr.3x.html">mitem_userptr(3x)</A></STRONG> Library calls <STRONG><A HREF="mitem_userptr.3x.html">mitem_userptr(3x)</A></STRONG>
-ncurses 6.4 2023-07-01 <STRONG><A HREF="mitem_userptr.3x.html">mitem_userptr(3x)</A></STRONG>
+ncurses 6.4 2023-09-16 <STRONG><A HREF="mitem_userptr.3x.html">mitem_userptr(3x)</A></STRONG>
</PRE>
<div class="nav">
<ul>
* sale, use or other dealings in this Software without prior written *
* authorization. *
****************************************************************************
- * @Id: mitem_value.3x,v 1.22 2023/07/01 15:46:10 tom Exp @
+ * @Id: mitem_value.3x,v 1.24 2023/09/16 23:38:39 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>mitem_value 3x 2023-07-01 ncurses 6.4 Library calls</TITLE>
+<TITLE>mitem_value 3x 2023-09-16 ncurses 6.4 Library calls</TITLE>
<link rel="author" href="mailto:bug-ncurses@gnu.org">
</HEAD>
<BODY>
-<H1 class="no-header">mitem_value 3x 2023-07-01 ncurses 6.4 Library calls</H1>
+<H1 class="no-header">mitem_value 3x 2023-09-16 ncurses 6.4 Library calls</H1>
<PRE>
<STRONG><A HREF="mitem_value.3x.html">mitem_value(3x)</A></STRONG> Library calls <STRONG><A HREF="mitem_value.3x.html">mitem_value(3x)</A></STRONG>
-ncurses 6.4 2023-07-01 <STRONG><A HREF="mitem_value.3x.html">mitem_value(3x)</A></STRONG>
+ncurses 6.4 2023-09-16 <STRONG><A HREF="mitem_value.3x.html">mitem_value(3x)</A></STRONG>
</PRE>
<div class="nav">
<ul>
* sale, use or other dealings in this Software without prior written *
* authorization. *
****************************************************************************
- * @Id: mitem_visible.3x,v 1.17 2023/07/01 15:46:10 tom Exp @
+ * @Id: mitem_visible.3x,v 1.19 2023/09/16 23:38:39 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>mitem_visible 3x 2023-07-01 ncurses 6.4 Library calls</TITLE>
+<TITLE>mitem_visible 3x 2023-09-16 ncurses 6.4 Library calls</TITLE>
<link rel="author" href="mailto:bug-ncurses@gnu.org">
</HEAD>
<BODY>
-<H1 class="no-header">mitem_visible 3x 2023-07-01 ncurses 6.4 Library calls</H1>
+<H1 class="no-header">mitem_visible 3x 2023-09-16 ncurses 6.4 Library calls</H1>
<PRE>
<STRONG><A HREF="mitem_visible.3x.html">mitem_visible(3x)</A></STRONG> Library calls <STRONG><A HREF="mitem_visible.3x.html">mitem_visible(3x)</A></STRONG>
-ncurses 6.4 2023-07-01 <STRONG><A HREF="mitem_visible.3x.html">mitem_visible(3x)</A></STRONG>
+ncurses 6.4 2023-09-16 <STRONG><A HREF="mitem_visible.3x.html">mitem_visible(3x)</A></STRONG>
</PRE>
<div class="nav">
<ul>
* sale, use or other dealings in this Software without prior written *
* authorization. *
****************************************************************************
- * @Id: ncurses.3x,v 1.167 2023/09/09 21:11:08 tom Exp @
+ * @Id: ncurses.3x,v 1.171 2023/09/16 23:38:39 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 2023-09-09 ncurses 6.4 Library calls</TITLE>
+<TITLE>ncurses 3x 2023-09-16 ncurses 6.4 Library calls</TITLE>
<link rel="author" href="mailto:bug-ncurses@gnu.org">
</HEAD>
<BODY>
-<H1 class="no-header">ncurses 3x 2023-09-09 ncurses 6.4 Library calls</H1>
+<H1 class="no-header">ncurses 3x 2023-09-16 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-NAME">NAME</a></H2><PRE>
- <STRONG>ncurses</STRONG> - CRT screen handling and optimization package
+ <STRONG>ncurses</STRONG> - character-cell terminal interface with optimized output
</PRE><H2><a name="h2-SYNOPSIS">SYNOPSIS</a></H2><PRE>
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.4 (patch 20230909).
+ This describes <STRONG>ncurses</STRONG> version 6.4 (patch 20230917).
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
-ncurses 6.4 2023-09-09 <STRONG><A HREF="ncurses.3x.html">ncurses(3x)</A></STRONG>
+ncurses 6.4 2023-09-16 <STRONG><A HREF="ncurses.3x.html">ncurses(3x)</A></STRONG>
</PRE>
<div class="nav">
<ul>
<!--
****************************************************************************
- * Copyright 2020,2021 Thomas E. Dickey *
+ * Copyright 2020-2021,2023 Thomas E. Dickey *
* Copyright 2010 Free Software Foundation, Inc. *
* *
* Permission is hereby granted, free of charge, to any person obtaining a *
* sale, use or other dealings in this Software without prior written *
* authorization. *
****************************************************************************
- * @Id: MKncu_config.in,v 1.7 2021/12/25 17:39:16 tom Exp @
+ * @Id: MKncu_config.in,v 1.12 2023/09/17 08:29:56 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>ncurses6-config 1 2021-12-25 ncurses 6.4 User commands</TITLE>
+<TITLE>ncurses6-config 1 2023-09-17 ncurses 6.4 User commands</TITLE>
<link rel="author" href="mailto:bug-ncurses@gnu.org">
</HEAD>
<BODY>
-<H1 class="no-header">ncurses6-config 1 2021-12-25 ncurses 6.4 User commands</H1>
+<H1 class="no-header">ncurses6-config 1 2023-09-17 ncurses 6.4 User commands</H1>
<PRE>
<STRONG><A HREF="ncurses6-config.1.html">ncurses6-config(1)</A></STRONG> User commands <STRONG><A HREF="ncurses6-config.1.html">ncurses6-config(1)</A></STRONG>
</PRE><H2><a name="h2-NAME">NAME</a></H2><PRE>
- ncurses6-config - helper script for ncurses libraries
+ <STRONG>ncurses6-config</STRONG> - helper script for <EM>ncurses</EM> libraries
</PRE><H2><a name="h2-SYNOPSIS">SYNOPSIS</a></H2><PRE>
</PRE><H2><a name="h2-SEE-ALSO">SEE ALSO</a></H2><PRE>
<STRONG><A HREF="ncurses.3x.html">curses(3x)</A></STRONG>
- This describes <STRONG>ncurses</STRONG> version 6.4 (patch 20230909).
+ This describes <STRONG>ncurses</STRONG> version 6.4 (patch 20230917).
-ncurses 6.4 2021-12-25 <STRONG><A HREF="ncurses6-config.1.html">ncurses6-config(1)</A></STRONG>
+ncurses 6.4 2023-09-17 <STRONG><A HREF="ncurses6-config.1.html">ncurses6-config(1)</A></STRONG>
</PRE>
<div class="nav">
<ul>
* authorization. *
****************************************************************************
* Author: Thomas E. Dickey
- * @Id: new_pair.3x,v 1.26 2023/09/09 21:20:16 tom Exp @
+ * @Id: new_pair.3x,v 1.30 2023/09/16 23:38:39 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>new_pair 3x 2023-09-09 ncurses 6.4 Library calls</TITLE>
+<TITLE>new_pair 3x 2023-09-16 ncurses 6.4 Library calls</TITLE>
<link rel="author" href="mailto:bug-ncurses@gnu.org">
</HEAD>
<BODY>
-<H1 class="no-header">new_pair 3x 2023-09-09 ncurses 6.4 Library calls</H1>
+<H1 class="no-header">new_pair 3x 2023-09-16 ncurses 6.4 Library calls</H1>
<PRE>
<STRONG><A HREF="new_pair.3x.html">new_pair(3x)</A></STRONG> Library calls <STRONG><A HREF="new_pair.3x.html">new_pair(3x)</A></STRONG>
</PRE><H2><a name="h2-NAME">NAME</a></H2><PRE>
- <STRONG>alloc_pair</STRONG>, <STRONG>find_pair</STRONG>, <STRONG>free_pair</STRONG> - new curses color-pair functions
+ <STRONG>alloc_pair</STRONG>, <STRONG>find_pair</STRONG>, <STRONG>free_pair</STRONG> - dynamically allocate <EM>curses</EM> color
+ pairs
</PRE><H2><a name="h2-SYNOPSIS">SYNOPSIS</a></H2><PRE>
</PRE><H2><a name="h2-DESCRIPTION">DESCRIPTION</a></H2><PRE>
These functions are an extension to the curses library. They permit an
- application to dynamically allocate a color pair using the
- foreground/background colors rather than assign a fixed color pair
+ application to dynamically allocate a color pair using the
+ foreground/background colors rather than assign a fixed color pair
number, and return an unused pair to the pool.
- The number of colors may be related to the number of possible color
+ The number of colors may be related to the number of possible color
pairs for a given terminal, or it may not:
- <STRONG>o</STRONG> While almost all terminals allow setting the color <EM>attributes</EM>
- independently, it is unlikely that your terminal allows you to
- modify the attributes of a given character cell without rewriting
+ <STRONG>o</STRONG> While almost all terminals allow setting the color <EM>attributes</EM>
+ independently, it is unlikely that your terminal allows you to
+ modify the attributes of a given character cell without rewriting
it. That is, the foreground and background colors are applied as a
pair.
- <STRONG>o</STRONG> Color pairs are the curses library's way of managing a color
- palette on a terminal. If the library does not keep track of the
+ <STRONG>o</STRONG> Color pairs are the curses library's way of managing a color
+ palette on a terminal. If the library does not keep track of the
<EM>combinations</EM> of colors which are displayed, it will be inefficient.
- <STRONG>o</STRONG> For simple terminal emulators with only a few dozen color
- combinations, it is convenient to use the maximum number of
+ <STRONG>o</STRONG> For simple terminal emulators with only a few dozen color
+ combinations, it is convenient to use the maximum number of
combinations as the limit on color pairs:
<STRONG>COLORS</STRONG> <EM>*</EM> <STRONG>COLORS</STRONG>
- <STRONG>o</STRONG> Terminals which support <EM>default</EM> <EM>colors</EM> distinct from "ANSI colors"
+ <STRONG>o</STRONG> Terminals which support <EM>default</EM> <EM>colors</EM> distinct from "ANSI colors"
add to the possible combinations, producing this total:
<EM>(</EM> <STRONG>COLORS</STRONG> <EM>+</EM> <EM>1</EM> <EM>)</EM> <EM>*</EM> <EM>(</EM> <STRONG>COLORS</STRONG> <EM>+</EM> <EM>1</EM> <EM>)</EM>
<STRONG>o</STRONG> An application might use up to a few dozen color pairs to implement
a predefined color scheme.
- Beyond that lies in the realm of programs using the foreground and
- background colors for "ASCII art" (or some other non-textual
+ Beyond that lies in the realm of programs using the foreground and
+ background colors for "ASCII art" (or some other non-textual
application).
Also beyond those few dozen pairs, the required size for a table to
- represent the combinations grows rapidly with an increasing number
+ represent the combinations grows rapidly with an increasing number
of colors.
- These functions allow a developer to let the screen library manage
+ These functions allow a developer to let the screen library manage
color pairs.
</PRE><H3><a name="h3-alloc_pair">alloc_pair</a></H3><PRE>
- The <STRONG>alloc_pair</STRONG> function accepts parameters for foreground and
- background color, and checks if that color combination is already
+ The <STRONG>alloc_pair</STRONG> function accepts parameters for foreground and
+ background color, and checks if that color combination is already
associated with a color pair.
- <STRONG>o</STRONG> If the combination already exists, <STRONG>alloc_pair</STRONG> returns the existing
+ <STRONG>o</STRONG> If the combination already exists, <STRONG>alloc_pair</STRONG> returns the existing
pair.
<STRONG>o</STRONG> If the combination does not exist, <STRONG>alloc_pair</STRONG> allocates a new color
pair and returns that.
- <STRONG>o</STRONG> If the table fills up, <STRONG>alloc_pair</STRONG> discards the least-recently
+ <STRONG>o</STRONG> If the table fills up, <STRONG>alloc_pair</STRONG> discards the least-recently
allocated entry using <STRONG>free_pair</STRONG> and allocates a new color pair.
- All of the color pairs are allocated from a table of possible color
- pairs. The size of the table is determined by the terminfo <STRONG>pairs</STRONG>
- capability. The table is shared with <STRONG>init_pair</STRONG>; in fact <STRONG>alloc_pair</STRONG>
- calls <STRONG>init_pair</STRONG> after updating the ncurses library's fast index to the
+ All of the color pairs are allocated from a table of possible color
+ pairs. The size of the table is determined by the terminfo <STRONG>pairs</STRONG>
+ capability. The table is shared with <STRONG>init_pair</STRONG>; in fact <STRONG>alloc_pair</STRONG>
+ calls <STRONG>init_pair</STRONG> after updating the ncurses library's fast index to the
colors versus color pairs.
</PRE><H3><a name="h3-find_pair">find_pair</a></H3><PRE>
The <STRONG>find_pair</STRONG> function accepts parameters for foreground and background
- color, and checks if that color combination is already associated with
- a color pair, returning the pair number if it has been allocated.
+ color, and checks if that color combination is already associated with
+ a color pair, returning the pair number if it has been allocated.
Otherwise it returns -1.
</PRE><H2><a name="h2-RETURN-VALUE">RETURN VALUE</a></H2><PRE>
- The <STRONG>alloc_pair</STRONG> function returns a color pair number in the range 1
- through <STRONG>COLOR_PAIRS</STRONG>-1, unless it encounters an error updating its fast
- index to the color pair values, preventing it from allocating a color
+ The <STRONG>alloc_pair</STRONG> function returns a color pair number in the range 1
+ through <STRONG>COLOR_PAIRS</STRONG>-1, unless it encounters an error updating its fast
+ index to the color pair values, preventing it from allocating a color
pair. In that case, it returns -1.
- The <STRONG>find_pair</STRONG> function returns a color pair number if the given color
+ The <STRONG>find_pair</STRONG> function returns a color pair number if the given color
combination has been associated with a color pair, or -1 if not.
- Likewise, <STRONG>free_pair</STRONG> returns <STRONG>OK</STRONG> unless it encounters an error updating
+ Likewise, <STRONG>free_pair</STRONG> returns <STRONG>OK</STRONG> unless it encounters an error updating
the fast index or if no such color pair is in use.
</PRE><H2><a name="h2-PORTABILITY">PORTABILITY</a></H2><PRE>
- These routines are specific to ncurses. They were not supported on
+ These routines are specific to ncurses. They were not supported on
Version 7, BSD or System V implementations. It is recommended that any
code depending on them be conditioned using NCURSES_VERSION.
-ncurses 6.4 2023-09-09 <STRONG><A HREF="new_pair.3x.html">new_pair(3x)</A></STRONG>
+ncurses 6.4 2023-09-16 <STRONG><A HREF="new_pair.3x.html">new_pair(3x)</A></STRONG>
</PRE>
<div class="nav">
<ul>
* sale, use or other dealings in this Software without prior written *
* authorization. *
****************************************************************************
- * @Id: panel.3x,v 1.48 2023/08/19 21:01:21 tom Exp @
+ * @Id: panel.3x,v 1.50 2023/09/16 23:38:39 tom Exp @
* ---------
* ---------
* ---------
<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>panel 3x 2023-08-19 ncurses 6.4 Library calls</TITLE>
+<TITLE>panel 3x 2023-09-16 ncurses 6.4 Library calls</TITLE>
<link rel="author" href="mailto:bug-ncurses@gnu.org">
</HEAD>
<BODY>
-<H1 class="no-header">panel 3x 2023-08-19 ncurses 6.4 Library calls</H1>
+<H1 class="no-header">panel 3x 2023-09-16 ncurses 6.4 Library calls</H1>
<PRE>
<STRONG><A HREF="panel.3x.html">panel(3x)</A></STRONG> Library calls <STRONG><A HREF="panel.3x.html">panel(3x)</A></STRONG>
</PRE><H2><a name="h2-SEE-ALSO">SEE ALSO</a></H2><PRE>
<STRONG><A HREF="ncurses.3x.html">curses(3x)</A></STRONG>, <STRONG><A HREF="curs_variables.3x.html">curs_variables(3x)</A></STRONG>,
- This describes <STRONG>ncurses</STRONG> version 6.4 (patch 20230909).
+ This describes <STRONG>ncurses</STRONG> version 6.4 (patch 20230917).
</PRE><H2><a name="h2-AUTHOR">AUTHOR</a></H2><PRE>
-ncurses 6.4 2023-08-19 <STRONG><A HREF="panel.3x.html">panel(3x)</A></STRONG>
+ncurses 6.4 2023-09-16 <STRONG><A HREF="panel.3x.html">panel(3x)</A></STRONG>
</PRE>
<div class="nav">
<ul>
* authorization. *
****************************************************************************
* Author: Thomas E. Dickey 1996-on
- * @Id: resizeterm.3x,v 1.36 2023/07/01 15:46:10 tom Exp @
+ * @Id: resizeterm.3x,v 1.40 2023/09/16 23:38:39 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>resizeterm 3x 2023-07-01 ncurses 6.4 Library calls</TITLE>
+<TITLE>resizeterm 3x 2023-09-16 ncurses 6.4 Library calls</TITLE>
<link rel="author" href="mailto:bug-ncurses@gnu.org">
</HEAD>
<BODY>
-<H1 class="no-header">resizeterm 3x 2023-07-01 ncurses 6.4 Library calls</H1>
+<H1 class="no-header">resizeterm 3x 2023-09-16 ncurses 6.4 Library calls</H1>
<PRE>
<STRONG><A HREF="resizeterm.3x.html">resizeterm(3x)</A></STRONG> Library calls <STRONG><A HREF="resizeterm.3x.html">resizeterm(3x)</A></STRONG>
</PRE><H2><a name="h2-NAME">NAME</a></H2><PRE>
- <STRONG>is_term_resized</STRONG>, <STRONG>resize_term</STRONG>, <STRONG>resizeterm</STRONG> - change the curses terminal
- size
+ <STRONG>is_term_resized</STRONG>, <STRONG>resize_term</STRONG>, <STRONG>resizeterm</STRONG> - manage the terminal
+ dimensions understood by <EM>curses</EM>
</PRE><H2><a name="h2-SYNOPSIS">SYNOPSIS</a></H2><PRE>
-ncurses 6.4 2023-07-01 <STRONG><A HREF="resizeterm.3x.html">resizeterm(3x)</A></STRONG>
+ncurses 6.4 2023-09-16 <STRONG><A HREF="resizeterm.3x.html">resizeterm(3x)</A></STRONG>
</PRE>
<div class="nav">
<ul>
* sale, use or other dealings in this Software without prior written *
* authorization. *
****************************************************************************
- * @Id: scr_dump.5,v 1.27 2023/09/09 21:20:16 tom Exp @
+ * @Id: scr_dump.5,v 1.31 2023/09/16 23:38:39 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>scr_dump 5 2023-09-09 ncurses 6.4 File formats</TITLE>
+<TITLE>scr_dump 5 2023-09-16 ncurses 6.4 File formats</TITLE>
<link rel="author" href="mailto:bug-ncurses@gnu.org">
</HEAD>
<BODY>
-<H1 class="no-header">scr_dump 5 2023-09-09 ncurses 6.4 File formats</H1>
+<H1 class="no-header">scr_dump 5 2023-09-16 ncurses 6.4 File formats</H1>
<PRE>
<STRONG><A HREF="scr_dump.5.html">scr_dump(5)</A></STRONG> File formats <STRONG><A HREF="scr_dump.5.html">scr_dump(5)</A></STRONG>
</PRE><H2><a name="h2-NAME">NAME</a></H2><PRE>
- scr_dump - format of curses screen-dumps.
+ scr_dump - <EM>curses</EM> screen dump
</PRE><H2><a name="h2-SYNOPSIS">SYNOPSIS</a></H2><PRE>
-ncurses 6.4 2023-09-09 <STRONG><A HREF="scr_dump.5.html">scr_dump(5)</A></STRONG>
+ncurses 6.4 2023-09-16 <STRONG><A HREF="scr_dump.5.html">scr_dump(5)</A></STRONG>
</PRE>
<div class="nav">
<ul>
* sale, use or other dealings in this Software without prior written *
* authorization. *
****************************************************************************
- * @Id: tabs.1,v 1.41 2023/09/09 21:19:07 tom Exp @
+ * @Id: tabs.1,v 1.44 2023/09/16 23:38:39 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>tabs 1 2023-09-09 ncurses 6.4 User commands</TITLE>
+<TITLE>tabs 1 2023-09-16 ncurses 6.4 User commands</TITLE>
<link rel="author" href="mailto:bug-ncurses@gnu.org">
</HEAD>
<BODY>
-<H1 class="no-header">tabs 1 2023-09-09 ncurses 6.4 User commands</H1>
+<H1 class="no-header">tabs 1 2023-09-16 ncurses 6.4 User commands</H1>
<PRE>
<STRONG><A HREF="tabs.1.html">tabs(1)</A></STRONG> User commands <STRONG><A HREF="tabs.1.html">tabs(1)</A></STRONG>
</PRE><H2><a name="h2-NAME">NAME</a></H2><PRE>
- <STRONG>tabs</STRONG> - set tabs on a terminal
+ <STRONG>tabs</STRONG> - set terminal tab stops
</PRE><H2><a name="h2-SYNOPSIS">SYNOPSIS</a></H2><PRE>
</PRE><H2><a name="h2-SEE-ALSO">SEE ALSO</a></H2><PRE>
<STRONG><A HREF="infocmp.1m.html">infocmp(1m)</A></STRONG>, <STRONG><A HREF="tset.1.html">tset(1)</A></STRONG>, <STRONG><A HREF="ncurses.3x.html">curses(3x)</A></STRONG>, <STRONG><A HREF="terminfo.5.html">terminfo(5)</A></STRONG>.
- This describes <STRONG>ncurses</STRONG> version 6.4 (patch 20230909).
+ This describes <STRONG>ncurses</STRONG> version 6.4 (patch 20230917).
-ncurses 6.4 2023-09-09 <STRONG><A HREF="tabs.1.html">tabs(1)</A></STRONG>
+ncurses 6.4 2023-09-16 <STRONG><A HREF="tabs.1.html">tabs(1)</A></STRONG>
</PRE>
<div class="nav">
<ul>
* sale, use or other dealings in this Software without prior written *
* authorization. *
****************************************************************************
- * @Id: term.5,v 1.52 2023/09/09 17:14:44 tom Exp @
+ * @Id: term.5,v 1.56 2023/09/16 23:38:39 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>term 5 2023-09-09 ncurses 6.4 File formats</TITLE>
+<TITLE>term 5 2023-09-16 ncurses 6.4 File formats</TITLE>
<link rel="author" href="mailto:bug-ncurses@gnu.org">
</HEAD>
<BODY>
-<H1 class="no-header">term 5 2023-09-09 ncurses 6.4 File formats</H1>
+<H1 class="no-header">term 5 2023-09-16 ncurses 6.4 File formats</H1>
<PRE>
<STRONG><A HREF="term.5.html">term(5)</A></STRONG> File formats <STRONG><A HREF="term.5.html">term(5)</A></STRONG>
</PRE><H2><a name="h2-NAME">NAME</a></H2><PRE>
- term - format of compiled term file.
+ term - compiled <EM>terminfo</EM> terminal description
</PRE><H2><a name="h2-SYNOPSIS">SYNOPSIS</a></H2><PRE>
-ncurses 6.4 2023-09-09 <STRONG><A HREF="term.5.html">term(5)</A></STRONG>
+ncurses 6.4 2023-09-16 <STRONG><A HREF="term.5.html">term(5)</A></STRONG>
</PRE>
<div class="nav">
<ul>
* sale, use or other dealings in this Software without prior written *
* authorization. *
****************************************************************************
- * @Id: term.7,v 1.35 2023/07/01 15:46:10 tom Exp @
+ * @Id: term.7,v 1.36 2023/09/17 00:10:28 tom Exp @
+ *SH SYNOPSIS
-->
<!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>term 7 2023-07-01 ncurses 6.4 Miscellaneous</TITLE>
+<TITLE>term 7 2023-09-16 ncurses 6.4 Miscellaneous</TITLE>
<link rel="author" href="mailto:bug-ncurses@gnu.org">
</HEAD>
<BODY>
-<H1 class="no-header">term 7 2023-07-01 ncurses 6.4 Miscellaneous</H1>
+<H1 class="no-header">term 7 2023-09-16 ncurses 6.4 Miscellaneous</H1>
<PRE>
<STRONG><A HREF="term.7.html">term(7)</A></STRONG> Miscellaneous <STRONG><A HREF="term.7.html">term(7)</A></STRONG>
-ncurses 6.4 2023-07-01 <STRONG><A HREF="term.7.html">term(7)</A></STRONG>
+ncurses 6.4 2023-09-16 <STRONG><A HREF="term.7.html">term(7)</A></STRONG>
</PRE>
<div class="nav">
<ul>
* sale, use or other dealings in this Software without prior written *
* authorization. *
****************************************************************************
- * @Id: term_variables.3x,v 1.23 2023/09/09 17:06:25 tom Exp @
+ * @Id: term_variables.3x,v 1.27 2023/09/16 23:38:39 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>term_variables 3x 2023-09-09 ncurses 6.4 Library calls</TITLE>
+<TITLE>term_variables 3x 2023-09-16 ncurses 6.4 Library calls</TITLE>
<link rel="author" href="mailto:bug-ncurses@gnu.org">
</HEAD>
<BODY>
-<H1 class="no-header">term_variables 3x 2023-09-09 ncurses 6.4 Library calls</H1>
+<H1 class="no-header">term_variables 3x 2023-09-16 ncurses 6.4 Library calls</H1>
<PRE>
<STRONG><A HREF="term_variables.3x.html">term_variables(3x)</A></STRONG> Library calls <STRONG><A HREF="term_variables.3x.html">term_variables(3x)</A></STRONG>
</PRE><H2><a name="h2-NAME">NAME</a></H2><PRE>
- <STRONG>SP</STRONG>, <STRONG>acs_map</STRONG>, <STRONG>boolcodes</STRONG>, <STRONG>boolfnames</STRONG>, <STRONG>boolnames</STRONG>, <STRONG>cur_term</STRONG>, <STRONG>numcodes</STRONG>,
- <STRONG>numfnames</STRONG>, <STRONG>numnames</STRONG>, <STRONG>strcodes</STRONG>, <STRONG>strfnames</STRONG>, <STRONG>strnames</STRONG>, <STRONG>ttytype</STRONG> - <STRONG>curses</STRONG>
- terminfo global variables
+ <STRONG>SP</STRONG>, <STRONG>acs_map</STRONG>, <STRONG>boolcodes</STRONG>, <STRONG>boolfnames</STRONG>, <STRONG>boolnames</STRONG>, <STRONG>cur_term</STRONG>, <STRONG>numcodes</STRONG>,
+ <STRONG>numfnames</STRONG>, <STRONG>numnames</STRONG>, <STRONG>strcodes</STRONG>, <STRONG>strfnames</STRONG>, <STRONG>strnames</STRONG>, <STRONG>ttytype</STRONG> - <EM>terminfo</EM>
+ global variables
</PRE><H2><a name="h2-SYNOPSIS">SYNOPSIS</a></H2><PRE>
<STRONG><A HREF="curs_terminfo.3x.html">curs_terminfo(3x)</A></STRONG> manual page.
Depending on the configuration, these may be actual variables, or
- macros (see <STRONG><A HREF="curs_threads.3x.html">curs_threads(3x)</A></STRONG>) which provide read-only access to <EM>curs-</EM>
- <EM>es</EM>'s state. In either case, applications should treat them as read-on-
- ly to avoid confusing the library.
+ macros (see <STRONG><A HREF="curs_threads.3x.html">curs_threads(3x)</A></STRONG>) which provide read-only access to
+ <EM>curses</EM>'s state. In either case, applications should treat them as
+ read-only to avoid confusing the library.
</PRE><H3><a name="h3-Alternate-Character-Set-Mapping">Alternate Character Set Mapping</a></H3><PRE>
Application developers need only know that it is used for the "ACS_"
constants in <curses.h>.
- The comparable data for the wide-character library is a private vari-
- able.
+ The comparable data for the wide-character library is a private
+ variable.
</PRE><H3><a name="h3-Current-Terminal-Data">Current Terminal Data</a></H3><PRE>
- After initializing the curses or terminfo interfaces, the <STRONG>cur_term</STRONG> con-
- tains data describing the current terminal. This variable is also set
- as a side-effect of <STRONG><A HREF="curs_initscr.3x.html">set_term(3x)</A></STRONG> and <STRONG><A HREF="curs_initscr.3x.html">delscreen(3x)</A></STRONG>.
+ After initializing the curses or terminfo interfaces, the <STRONG>cur_term</STRONG>
+ contains data describing the current terminal. This variable is also
+ set as a side-effect of <STRONG><A HREF="curs_initscr.3x.html">set_term(3x)</A></STRONG> and <STRONG><A HREF="curs_initscr.3x.html">delscreen(3x)</A></STRONG>.
- It is possible to save a value of <STRONG>cur_term</STRONG> for subsequent use as a pa-
- rameter to <STRONG>set_term</STRONG>, for switching between screens. Alternatively, one
- can save the return value from <STRONG>newterm</STRONG> or <STRONG><A HREF="curs_terminfo.3x.html">setupterm(3x)</A></STRONG> to reuse in
+ It is possible to save a value of <STRONG>cur_term</STRONG> for subsequent use as a
+ parameter to <STRONG>set_term</STRONG>, for switching between screens. Alternatively,
+ one can save the return value from <STRONG>newterm</STRONG> or <STRONG><A HREF="curs_terminfo.3x.html">setupterm(3x)</A></STRONG> to reuse in
<STRONG>set_term</STRONG>.
</PRE><H3><a name="h3-Terminfo-Lookup-Tables">Terminfo Lookup Tables</a></H3><PRE>
The <STRONG><A HREF="tic.1m.html">tic(1)</A></STRONG> and <STRONG><A HREF="infocmp.1m.html">infocmp(1)</A></STRONG> programs use lookup tables for the long and
short names of terminfo capabilities, as well as the corresponding
- names for termcap capabilities. These are available to other applica-
- tions, although the hash-tables used by the terminfo and termcap func-
- tions are not available.
+ names for termcap capabilities. These are available to other
+ applications, although the hash-tables used by the terminfo and termcap
+ functions are not available.
The long terminfo capability names use a "f" (eff) in their names:
<STRONG>boolfnames</STRONG>, <STRONG>numfnames</STRONG>, and <STRONG>strfnames</STRONG>.
- These are the short names for terminfo capabilities: <STRONG>boolnames</STRONG>, <STRONG>num-</STRONG>
- <STRONG>names</STRONG>, and <STRONG>strnames</STRONG>.
+ These are the short names for terminfo capabilities: <STRONG>boolnames</STRONG>,
+ <STRONG>numnames</STRONG>, and <STRONG>strnames</STRONG>.
- These are the corresponding names used for termcap descriptions: <STRONG>bool-</STRONG>
- <STRONG>codes</STRONG>, <STRONG>numcodes</STRONG>, and <STRONG>strcodes</STRONG>.
+ These are the corresponding names used for termcap descriptions:
+ <STRONG>boolcodes</STRONG>, <STRONG>numcodes</STRONG>, and <STRONG>strcodes</STRONG>.
</PRE><H3><a name="h3-Terminal-Type">Terminal Type</a></H3><PRE>
A terminal description begins with one or more terminal names separated
by "|" (vertical bars). On initialization of the curses or terminfo
- interfaces, <STRONG><A HREF="curs_terminfo.3x.html">setupterm(3x)</A></STRONG> copies the terminal names to the array <STRONG>tty-</STRONG>
- <STRONG>type</STRONG>.
+ interfaces, <STRONG><A HREF="curs_terminfo.3x.html">setupterm(3x)</A></STRONG> copies the terminal names to the array
+ <STRONG>ttytype</STRONG>.
</PRE><H3><a name="h3-Terminfo-Names">Terminfo Names</a></H3><PRE>
#define CUR ((TERMTYPE *)(cur_term))->
- These symbols provide a faster method of accessing terminfo capabili-
- ties than using <STRONG><A HREF="curs_terminfo.3x.html">tigetstr(3x)</A></STRONG>, etc.
+ These symbols provide a faster method of accessing terminfo
+ capabilities than using <STRONG><A HREF="curs_terminfo.3x.html">tigetstr(3x)</A></STRONG>, etc.
The actual definition of <STRONG>CUR</STRONG> depends upon the implementation, but each
terminfo library provides these long names defined to point into the
-ncurses 6.4 2023-09-09 <STRONG><A HREF="term_variables.3x.html">term_variables(3x)</A></STRONG>
+ncurses 6.4 2023-09-16 <STRONG><A HREF="term_variables.3x.html">term_variables(3x)</A></STRONG>
</PRE>
<div class="nav">
<ul>
* sale, use or other dealings in this Software without prior written *
* authorization. *
****************************************************************************
- * @Id: terminfo.head,v 1.48 2023/09/09 21:34:18 tom Exp @
+ * @Id: terminfo.head,v 1.51 2023/09/17 08:29:38 tom Exp @
* Head of terminfo man page ends here
****************************************************************************
* Copyright 2018-2022,2023 Thomas E. Dickey *
* sale, use or other dealings in this Software without prior written *
* authorization. *
****************************************************************************
- * @Id: terminfo.tail,v 1.130 2023/09/09 17:08:08 tom Exp @
+ * @Id: terminfo.tail,v 1.131 2023/09/16 17:01:55 Branden.Robinson Exp @
*.in -2
*.in +2
*.in -2
<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>terminfo 5 2023-09-09 ncurses 6.4 File formats</TITLE>
+<TITLE>terminfo 5 2023-09-17 ncurses 6.4 File formats</TITLE>
<link rel="author" href="mailto:bug-ncurses@gnu.org">
</HEAD>
<BODY>
-<H1 class="no-header">terminfo 5 2023-09-09 ncurses 6.4 File formats</H1>
+<H1 class="no-header">terminfo 5 2023-09-17 ncurses 6.4 File formats</H1>
<PRE>
<STRONG><A HREF="terminfo.5.html">terminfo(5)</A></STRONG> File formats <STRONG><A HREF="terminfo.5.html">terminfo(5)</A></STRONG>
</PRE><H2><a name="h2-NAME">NAME</a></H2><PRE>
- terminfo - terminal capability database
+ <STRONG>terminfo</STRONG> - terminal capability database
</PRE><H2><a name="h2-SYNOPSIS">SYNOPSIS</a></H2><PRE>
have, by specifying how to perform screen operations, and by specifying
padding requirements and initialization sequences.
- This manual describes <STRONG>ncurses</STRONG> version 6.4 (patch 20230909).
+ This manual describes <STRONG>ncurses</STRONG> version 6.4 (patch 20230917).
</PRE><H3><a name="h3-Terminfo-Entry-Syntax">Terminfo Entry Syntax</a></H3><PRE>
/usr/share/terminfo/?/* files containing terminal descriptions
+</PRE><H2><a name="h2-AUTHORS">AUTHORS</a></H2><PRE>
+ Zeyd M. Ben-Halim, Eric S. Raymond, Thomas E. Dickey. Based on <EM>pcurses</EM>
+ by Pavel Curtis.
+
+
</PRE><H2><a name="h2-SEE-ALSO">SEE ALSO</a></H2><PRE>
<STRONG><A HREF="infocmp.1m.html">infocmp(1m)</A></STRONG>, <STRONG><A HREF="tabs.1.html">tabs(1)</A></STRONG>, <STRONG><A HREF="tic.1m.html">tic(1m)</A></STRONG>, <STRONG><A HREF="ncurses.3x.html">curses(3x)</A></STRONG>, <STRONG><A HREF="curs_color.3x.html">curs_color(3x)</A></STRONG>,
<STRONG><A HREF="curs_variables.3x.html">curs_variables(3x)</A></STRONG>, <STRONG>printf(3)</STRONG>, <STRONG><A HREF="term_variables.3x.html">term_variables(3x)</A></STRONG>. <STRONG><A HREF="term.5.html">term(5)</A></STRONG>.
<STRONG><A HREF="user_caps.5.html">user_caps(5)</A></STRONG>.
-</PRE><H2><a name="h2-AUTHORS">AUTHORS</a></H2><PRE>
- Zeyd M. Ben-Halim, Eric S. Raymond, Thomas E. Dickey. Based on <EM>pcurses</EM>
- by Pavel Curtis.
-
-
-ncurses 6.4 2023-09-09 <STRONG><A HREF="terminfo.5.html">terminfo(5)</A></STRONG>
+ncurses 6.4 2023-09-17 <STRONG><A HREF="terminfo.5.html">terminfo(5)</A></STRONG>
</PRE>
<div class="nav">
<ul>
</li>
<li><a href="#h2-EXTENSIONS">EXTENSIONS</a></li>
<li><a href="#h2-FILES">FILES</a></li>
-<li><a href="#h2-SEE-ALSO">SEE ALSO</a></li>
<li><a href="#h2-AUTHORS">AUTHORS</a></li>
+<li><a href="#h2-SEE-ALSO">SEE ALSO</a></li>
</ul>
</div>
</BODY>
* sale, use or other dealings in this Software without prior written *
* authorization. *
****************************************************************************
- * @Id: tic.1m,v 1.89 2023/09/02 22:29:35 tom Exp @
+ * @Id: tic.1m,v 1.93 2023/09/16 23:38:39 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>tic 1m 2023-09-02 ncurses 6.4 User commands</TITLE>
+<TITLE>tic 1m 2023-09-16 ncurses 6.4 User commands</TITLE>
<link rel="author" href="mailto:bug-ncurses@gnu.org">
</HEAD>
<BODY>
-<H1 class="no-header">tic 1m 2023-09-02 ncurses 6.4 User commands</H1>
+<H1 class="no-header">tic 1m 2023-09-16 ncurses 6.4 User commands</H1>
<PRE>
<STRONG><A HREF="tic.1m.html">tic(1m)</A></STRONG> User commands <STRONG><A HREF="tic.1m.html">tic(1m)</A></STRONG>
</PRE><H2><a name="h2-NAME">NAME</a></H2><PRE>
- <STRONG>tic</STRONG> - the <EM>terminfo</EM> entry-description compiler
+ <STRONG>tic</STRONG> - compile terminal descriptions for <EM>terminfo</EM> or <EM>termcap</EM>
</PRE><H2><a name="h2-SYNOPSIS">SYNOPSIS</a></H2><PRE>
<STRONG><A HREF="captoinfo.1m.html">captoinfo(1m)</A></STRONG>, <STRONG><A HREF="infocmp.1m.html">infocmp(1m)</A></STRONG>, <STRONG><A HREF="infotocap.1m.html">infotocap(1m)</A></STRONG>, <STRONG><A HREF="toe.1m.html">toe(1m)</A></STRONG>, <STRONG><A HREF="ncurses.3x.html">curses(3x)</A></STRONG>,
<STRONG><A HREF="term.5.html">term(5)</A></STRONG>. <STRONG><A HREF="terminfo.5.html">terminfo(5)</A></STRONG>. <STRONG><A HREF="user_caps.5.html">user_caps(5)</A></STRONG>.
- This describes <STRONG>ncurses</STRONG> version 6.4 (patch 20230909).
+ This describes <STRONG>ncurses</STRONG> version 6.4 (patch 20230917).
</PRE><H2><a name="h2-AUTHOR">AUTHOR</a></H2><PRE>
-ncurses 6.4 2023-09-02 <STRONG><A HREF="tic.1m.html">tic(1m)</A></STRONG>
+ncurses 6.4 2023-09-16 <STRONG><A HREF="tic.1m.html">tic(1m)</A></STRONG>
</PRE>
<div class="nav">
<ul>
* sale, use or other dealings in this Software without prior written *
* authorization. *
****************************************************************************
- * @Id: toe.1m,v 1.42 2023/09/09 21:15:25 tom Exp @
+ * @Id: toe.1m,v 1.46 2023/09/16 23:38:39 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>toe 1m 2023-09-09 ncurses 6.4 User commands</TITLE>
+<TITLE>toe 1m 2023-09-16 ncurses 6.4 User commands</TITLE>
<link rel="author" href="mailto:bug-ncurses@gnu.org">
</HEAD>
<BODY>
-<H1 class="no-header">toe 1m 2023-09-09 ncurses 6.4 User commands</H1>
+<H1 class="no-header">toe 1m 2023-09-16 ncurses 6.4 User commands</H1>
<PRE>
<STRONG><A HREF="toe.1m.html">toe(1m)</A></STRONG> User commands <STRONG><A HREF="toe.1m.html">toe(1m)</A></STRONG>
</PRE><H2><a name="h2-NAME">NAME</a></H2><PRE>
- <STRONG>toe</STRONG> - table of (terminfo) entries
+ <STRONG>toe</STRONG> - list table of entries of <EM>terminfo</EM> terminal types
</PRE><H2><a name="h2-SYNOPSIS">SYNOPSIS</a></H2><PRE>
<STRONG><A HREF="captoinfo.1m.html">captoinfo(1m)</A></STRONG>, <STRONG><A HREF="infocmp.1m.html">infocmp(1m)</A></STRONG>, <STRONG><A HREF="infotocap.1m.html">infotocap(1m)</A></STRONG>, <STRONG><A HREF="tic.1m.html">tic(1m)</A></STRONG>, <STRONG><A HREF="ncurses.3x.html">curses(3x)</A></STRONG>,
<STRONG><A HREF="terminfo.5.html">terminfo(5)</A></STRONG>.
- This describes <STRONG>ncurses</STRONG> version 6.4 (patch 20230909).
+ This describes <STRONG>ncurses</STRONG> version 6.4 (patch 20230917).
-ncurses 6.4 2023-09-09 <STRONG><A HREF="toe.1m.html">toe(1m)</A></STRONG>
+ncurses 6.4 2023-09-16 <STRONG><A HREF="toe.1m.html">toe(1m)</A></STRONG>
</PRE>
<div class="nav">
<ul>
* sale, use or other dealings in this Software without prior written *
* authorization. *
****************************************************************************
- * @Id: tput.1,v 1.79 2023/07/01 15:46:10 tom Exp @
+ * @Id: tput.1,v 1.83 2023/09/16 23:38:39 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>tput 1 2023-07-01 ncurses 6.4 User commands</TITLE>
+<TITLE>tput 1 2023-09-16 ncurses 6.4 User commands</TITLE>
<link rel="author" href="mailto:bug-ncurses@gnu.org">
</HEAD>
<BODY>
-<H1 class="no-header">tput 1 2023-07-01 ncurses 6.4 User commands</H1>
+<H1 class="no-header">tput 1 2023-09-16 ncurses 6.4 User commands</H1>
<PRE>
<STRONG><A HREF="tput.1.html">tput(1)</A></STRONG> User commands <STRONG><A HREF="tput.1.html">tput(1)</A></STRONG>
</PRE><H2><a name="h2-NAME">NAME</a></H2><PRE>
- <STRONG>tput</STRONG>, <STRONG>reset</STRONG> - initialize a terminal or query terminfo database
+ <STRONG>tput</STRONG>, <STRONG>reset</STRONG> - initialize a terminal or query <EM>terminfo</EM> database
</PRE><H2><a name="h2-SYNOPSIS">SYNOPSIS</a></H2><PRE>
</PRE><H2><a name="h2-SEE-ALSO">SEE ALSO</a></H2><PRE>
<STRONG><A HREF="clear.1.html">clear(1)</A></STRONG>, <STRONG>stty(1)</STRONG>, <STRONG><A HREF="tabs.1.html">tabs(1)</A></STRONG>, <STRONG><A HREF="tset.1.html">tset(1)</A></STRONG>, <STRONG><A HREF="curs_termcap.3x.html">curs_termcap(3x)</A></STRONG>, <STRONG><A HREF="terminfo.5.html">terminfo(5)</A></STRONG>.
- This describes <STRONG>ncurses</STRONG> version 6.4 (patch 20230909).
+ This describes <STRONG>ncurses</STRONG> version 6.4 (patch 20230917).
-ncurses 6.4 2023-07-01 <STRONG><A HREF="tput.1.html">tput(1)</A></STRONG>
+ncurses 6.4 2023-09-16 <STRONG><A HREF="tput.1.html">tput(1)</A></STRONG>
</PRE>
<div class="nav">
<ul>
* sale, use or other dealings in this Software without prior written *
* authorization. *
****************************************************************************
- * @Id: tset.1,v 1.66 2023/07/01 15:21:06 tom Exp @
+ * @Id: tset.1,v 1.69 2023/09/16 23:38:39 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>tset 1 2023-07-01 ncurses 6.4 User commands</TITLE>
+<TITLE>tset 1 2023-09-16 ncurses 6.4 User commands</TITLE>
<link rel="author" href="mailto:bug-ncurses@gnu.org">
</HEAD>
<BODY>
-<H1 class="no-header">tset 1 2023-07-01 ncurses 6.4 User commands</H1>
+<H1 class="no-header">tset 1 2023-09-16 ncurses 6.4 User commands</H1>
<PRE>
<STRONG><A HREF="tset.1.html">tset(1)</A></STRONG> User commands <STRONG><A HREF="tset.1.html">tset(1)</A></STRONG>
</PRE><H2><a name="h2-NAME">NAME</a></H2><PRE>
- <STRONG>tset</STRONG>, <STRONG>reset</STRONG> - terminal initialization
+ <STRONG>tset</STRONG>, <STRONG>reset</STRONG> - initialize or reset terminal state
</PRE><H2><a name="h2-SYNOPSIS">SYNOPSIS</a></H2><PRE>
<STRONG>csh(1)</STRONG>, <STRONG>sh(1)</STRONG>, <STRONG>stty(1)</STRONG>, <STRONG><A HREF="curs_terminfo.3x.html">curs_terminfo(3x)</A></STRONG>, <STRONG>tty(4)</STRONG>, <STRONG><A HREF="terminfo.5.html">terminfo(5)</A></STRONG>,
<STRONG>ttys(5)</STRONG>, <STRONG>environ(7)</STRONG>
- This describes <STRONG>ncurses</STRONG> version 6.4 (patch 20230909).
+ This describes <STRONG>ncurses</STRONG> version 6.4 (patch 20230917).
-ncurses 6.4 2023-07-01 <STRONG><A HREF="tset.1.html">tset(1)</A></STRONG>
+ncurses 6.4 2023-09-16 <STRONG><A HREF="tset.1.html">tset(1)</A></STRONG>
</PRE>
<div class="nav">
<ul>
* sale, use or other dealings in this Software without prior written *
* authorization. *
****************************************************************************
- * @Id: user_caps.5,v 1.32 2023/09/09 21:25:30 tom Exp @
+ * @Id: user_caps.5,v 1.36 2023/09/16 23:38:39 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>user_caps 5 2023-09-09 ncurses 6.4 File formats</TITLE>
+<TITLE>user_caps 5 2023-09-16 ncurses 6.4 File formats</TITLE>
<link rel="author" href="mailto:bug-ncurses@gnu.org">
</HEAD>
<BODY>
-<H1 class="no-header">user_caps 5 2023-09-09 ncurses 6.4 File formats</H1>
+<H1 class="no-header">user_caps 5 2023-09-16 ncurses 6.4 File formats</H1>
<PRE>
<STRONG><A HREF="user_caps.5.html">user_caps(5)</A></STRONG> File formats <STRONG><A HREF="user_caps.5.html">user_caps(5)</A></STRONG>
</PRE><H2><a name="h2-NAME">NAME</a></H2><PRE>
- user_caps - user-defined terminfo capabilities
+ user_caps - user-defined <EM>terminfo</EM> capability format
</PRE><H2><a name="h2-SYNOPSIS">SYNOPSIS</a></H2><PRE>
-ncurses 6.4 2023-09-09 <STRONG><A HREF="user_caps.5.html">user_caps(5)</A></STRONG>
+ncurses 6.4 2023-09-16 <STRONG><A HREF="user_caps.5.html">user_caps(5)</A></STRONG>
</PRE>
<div class="nav">
<ul>
* authorization. *
****************************************************************************
* Author: Thomas E. Dickey 1996
- * @Id: wresize.3x,v 1.24 2023/07/01 15:46:10 tom Exp @
+ * @Id: wresize.3x,v 1.28 2023/09/16 23:38:39 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>wresize 3x 2023-07-01 ncurses 6.4 Library calls</TITLE>
+<TITLE>wresize 3x 2023-09-16 ncurses 6.4 Library calls</TITLE>
<link rel="author" href="mailto:bug-ncurses@gnu.org">
</HEAD>
<BODY>
-<H1 class="no-header">wresize 3x 2023-07-01 ncurses 6.4 Library calls</H1>
+<H1 class="no-header">wresize 3x 2023-09-16 ncurses 6.4 Library calls</H1>
<PRE>
<STRONG><A HREF="wresize.3x.html">wresize(3x)</A></STRONG> Library calls <STRONG><A HREF="wresize.3x.html">wresize(3x)</A></STRONG>
</PRE><H2><a name="h2-NAME">NAME</a></H2><PRE>
- <STRONG>wresize</STRONG> - resize a curses window
+ <STRONG>wresize</STRONG> - resize a <EM>curses</EM> window
</PRE><H2><a name="h2-SYNOPSIS">SYNOPSIS</a></H2><PRE>
-ncurses 6.4 2023-07-01 <STRONG><A HREF="wresize.3x.html">wresize(3x)</A></STRONG>
+ncurses 6.4 2023-09-16 <STRONG><A HREF="wresize.3x.html">wresize(3x)</A></STRONG>
</PRE>
<div class="nav">
<ul>
.\" authorization. *
.\"***************************************************************************
.\"
-.\" $Id: MKada_config.in,v 1.18 2023/09/09 23:32:29 tom Exp $
+.\" $Id: MKada_config.in,v 1.22 2023/09/17 08:29:17 tom Exp $
+.TH ADACURSES 1 2023-09-17 "ncurses @NCURSES_MAJOR@.@NCURSES_MINOR@" "User commands"
.ds C adacurses@USE_CFG_SUFFIX@\-config
-.TH ADACURSES 1 2023-09-09 "ncurses @NCURSES_MAJOR@.@NCURSES_MINOR@" "User commands"
.ie n .ds CW R
.el \{
.ie \n(.g .ds CW CR
.el .ds CW CW
.\}
.SH NAME
-adacurses@USE_CFG_SUFFIX@\-config \- helper script for @ADA_LIBNAME@ libraries
+\fB\%adacurses@USE_CFG_SUFFIX@\-config\fP \-
+helper script for @ADA_LIBNAME@ libraries
.SH SYNOPSIS
.B \*C
[\fIoptions\fP]
.\"***************************************************************************
-.\" Copyright 2020,2021 Thomas E. Dickey *
+.\" Copyright 2020-2021,2023 Thomas E. Dickey *
.\" Copyright 2010 Free Software Foundation, Inc. *
.\" *
.\" Permission is hereby granted, free of charge, to any person obtaining a *
.\" authorization. *
.\"***************************************************************************
.\"
-.\" $Id: MKncu_config.in,v 1.7 2021/12/25 17:39:16 tom Exp $
-.TH @LIB_NAME@@DFT_ARG_SUFFIX@@cf_cv_abi_version@-config 1 2021-12-25 "ncurses @NCURSES_MAJOR@.@NCURSES_MINOR@" "User commands"
+.\" $Id: MKncu_config.in,v 1.12 2023/09/17 08:29:56 tom Exp $
+.TH @LIB_NAME@@DFT_ARG_SUFFIX@@cf_cv_abi_version@-config 1 2023-09-17 "ncurses @NCURSES_MAJOR@.@NCURSES_MINOR@" "User commands"
.SH NAME
-@LIB_NAME@@DFT_ARG_SUFFIX@@cf_cv_abi_version@-config \- helper script for ncurses libraries
+\fB\%@LIB_NAME@@DFT_ARG_SUFFIX@@cf_cv_abi_version@-config\fP \-
+helper script for \fIncurses\fR libraries
.SH SYNOPSIS
.B @LIB_NAME@@DFT_ARG_SUFFIX@@cf_cv_abi_version@-config
[\fIoptions\fP]
.\" authorization. *
.\"***************************************************************************
.\"
-.\" $Id: captoinfo.1m,v 1.39 2023/09/09 16:40:25 tom Exp $
-.TH @CAPTOINFO@ 1M 2023-09-09 "ncurses 6.4" "User commands"
+.\" $Id: captoinfo.1m,v 1.44 2023/09/16 23:39:05 tom Exp $
+.TH @CAPTOINFO@ 1M 2023-09-16 "ncurses 6.4" "User commands"
.ds n 5
.ds d @TERMINFO@
.SH NAME
-\fB@CAPTOINFO@\fP \- convert a \fItermcap\fP description into a \fIterminfo\fP description
+\fB\%@CAPTOINFO@\fP \-
+convert a \fItermcap\fR description into a \fIterminfo\fR description
.SH SYNOPSIS
-\fB@CAPTOINFO@\fR [\fB\-v\fIn\fR \fIwidth\fR] [\fB\-V\fR] [\fB\-1\fR] [\fB\-w\fR \fIwidth\fR] \fIfile\fR ...
+.B @CAPTOINFO@
+.RI [ tic-option ]
+.I file
+\&.\|.\|.
+.P
+\fB@CAPTOINFO@\fR \fB\-V\fR
.SH DESCRIPTION
\fB@CAPTOINFO@\fP looks in each given text
\fIfile\fP for \fBtermcap\fP descriptions.
extracted from that file.
If the environment variable \fBTERMCAP\fP is not
set, then the file \fB\*d\fP is read.
-.TP 5
-\fB\-v\fP
-print out tracing information on standard error as the program runs.
-.TP 5
-\fB\-V\fP
-print out the version of the program in use on standard error and exit.
-.TP 5
-\fB\-1\fP
-cause the fields to print out one to a line.
-Otherwise, the fields
-will be printed several to a line to a maximum width of 60
-characters.
-.TP 5
-\fB\-w\fP
-change the output to \fIwidth\fP characters.
+.PP
+This utility is implemented as a link to \fB@TIC@\fP(1M),
+with the latter's
+.B \-I
+option implied.
+You can use other \fB@TIC@\fP options such as
+.BR \-1 ,
+.BR \-f ,
+.BR \-v ,
+.BR \-w ,
+and
+.BR \-x .
.SH FILES
.TP 20
\*d
capabilities \fBmeml\fP (memory lock) and \fBmemu\fP (memory unlock).
These will be discarded with a warning message.
.SH NOTES
-This utility is actually a link to \fB@TIC@\fP(1M), running in \fI\-I\fP mode.
-You can use other \fB@TIC@\fP options such as \fB\-f\fP and \fB\-x\fP.
-.PP
The verbose option is not identical to SVr4's.
Under SVr4, instead of following
the \fB\-v\fP with a trace level n, you repeat it n times.
.\" authorization. *
.\"***************************************************************************
.\"
-.\" $Id: clear.1,v 1.35 2023/09/09 21:12:26 tom Exp $
-.TH @CLEAR@ 1 2023-09-09 "ncurses 6.4" "User commands"
+.\" $Id: clear.1,v 1.38 2023/09/16 23:39:05 tom Exp $
+.TH @CLEAR@ 1 2023-09-16 "ncurses 6.4" "User commands"
.ie n .ds CW R
.el \{
.ie \n(.g .ds CW CR
..
.ds n 5
.SH NAME
-\fB@CLEAR@\fP \- clear the terminal screen
+\fB\%@CLEAR@\fP \-
+clear the terminal screen
.SH SYNOPSIS
\fB@CLEAR@\fR [\fB\-T\fItype\fR] [\fB\-V\fR] [\fB\-x\fR]
.SH DESCRIPTION
.\" authorization. *
.\"***************************************************************************
.\"
-.\" $Id: curs_add_wch.3x,v 1.39 2023/08/19 20:37:30 tom Exp $
-.TH curs_add_wch 3X 2023-08-19 "ncurses 6.4" "Library calls"
+.\" $Id: curs_add_wch.3x,v 1.43 2023/09/16 23:34:43 tom Exp $
+.TH curs_add_wch 3X 2023-09-16 "ncurses 6.4" "Library calls"
.ie \n(.g .ds `` \(lq
.el .ds `` ``
.ie \n(.g .ds '' \(rq
.el .IP \(bu 2
..
.SH NAME
-\fBadd_wch\fP,
-\fBwadd_wch\fP,
-\fBmvadd_wch\fP,
-\fBmvwadd_wch\fP,
-\fBecho_wchar\fP,
-\fBwecho_wchar\fP \- add a complex character and rendition to a \fBcurses\fP window, then advance the cursor
+\fB\%add_wch\fP,
+\fB\%wadd_wch\fP,
+\fB\%mvadd_wch\fP,
+\fB\%mvwadd_wch\fP,
+\fB\%echo_wchar\fP,
+\fB\%wecho_wchar\fP \-
+add a \fIcurses\fR complex character to a window and advance the cursor
.SH SYNOPSIS
\fB#include <curses.h>\fP
.sp
.\"***************************************************************************
-.\" Copyright 2019-2021,2022 Thomas E. Dickey *
+.\" Copyright 2019-2022,2023 Thomas E. Dickey *
.\" Copyright 2002-2012,2017 Free Software Foundation, Inc. *
.\" *
.\" Permission is hereby granted, free of charge, to any person obtaining a *
.\" authorization. *
.\"***************************************************************************
.\"
-.\" $Id: curs_add_wchstr.3x,v 1.20 2022/02/12 20:07:29 tom Exp $
-.TH curs_add_wchstr 3X 2022-02-12 "ncurses 6.4" "Library calls"
+.\" $Id: curs_add_wchstr.3x,v 1.25 2023/09/16 23:34:43 tom Exp $
+.TH curs_add_wchstr 3X 2023-09-16 "ncurses 6.4" "Library calls"
.ie \n(.g .ds `` \(lq
.el .ds `` ``
.ie \n(.g .ds '' \(rq
.ie n .IP \(bu 4
.el .IP \(bu 2
..
-.na
-.hy 0
.SH NAME
-\fBadd_wchstr\fP,
-\fBadd_wchnstr\fP,
-\fBwadd_wchstr\fP,
-\fBwadd_wchnstr\fP,
-\fBmvadd_wchstr\fP,
-\fBmvadd_wchnstr\fP,
-\fBmvwadd_wchstr\fP,
-\fBmvwadd_wchnstr\fP \- add an array of complex characters (and attributes) to a curses window
-.ad
-.hy
+\fB\%add_wchstr\fP,
+\fB\%add_wchnstr\fP,
+\fB\%wadd_wchstr\fP,
+\fB\%wadd_wchnstr\fP,
+\fB\%mvadd_wchstr\fP,
+\fB\%mvadd_wchnstr\fP,
+\fB\%mvwadd_wchstr\fP,
+\fB\%mvwadd_wchnstr\fP \-
+add a \fIcurses\fR complex character string to a window
.SH SYNOPSIS
.nf
\fB#include <curses.h>\fP
.\" authorization. *
.\"***************************************************************************
.\"
-.\" $Id: curs_addch.3x,v 1.65 2023/08/19 19:45:54 tom Exp $
-.TH curs_addch 3X 2023-08-19 "ncurses 6.4" "Library calls"
+.\" $Id: curs_addch.3x,v 1.69 2023/09/16 23:34:43 tom Exp $
+.TH curs_addch 3X 2023-09-16 "ncurses 6.4" "Library calls"
.ie \n(.g .ds `` \(lq
.el .ds `` ``
.ie \n(.g .ds '' \(rq
.el .IP \(bu 2
..
.SH NAME
-\fBaddch\fP,
-\fBwaddch\fP,
-\fBmvaddch\fP,
-\fBmvwaddch\fP,
-\fBechochar\fP,
-\fBwechochar\fP \- add a character (with attributes) to a \fBcurses\fP window, then advance the cursor
+\fB\%addch\fP,
+\fB\%waddch\fP,
+\fB\%mvaddch\fP,
+\fB\%mvwaddch\fP,
+\fB\%echochar\fP,
+\fB\%wechochar\fP \-
+add a \fIcurses\fR character to a window and advance the cursor
.SH SYNOPSIS
\fB#include <curses.h>\fP
.PP
.\"***************************************************************************
-.\" Copyright 2019-2021,2022 Thomas E. Dickey *
+.\" Copyright 2019-2022,2023 Thomas E. Dickey *
.\" Copyright 1998-2012,2017 Free Software Foundation, Inc. *
.\" *
.\" Permission is hereby granted, free of charge, to any person obtaining a *
.\" authorization. *
.\"***************************************************************************
.\"
-.\" $Id: curs_addchstr.3x,v 1.26 2022/02/12 20:07:29 tom Exp $
-.TH curs_addchstr 3X 2022-02-12 "ncurses 6.4" "Library calls"
+.\" $Id: curs_addchstr.3x,v 1.31 2023/09/16 23:34:43 tom Exp $
+.TH curs_addchstr 3X 2023-09-16 "ncurses 6.4" "Library calls"
.ie \n(.g .ds `` \(lq
.el .ds `` ``
.ie \n(.g .ds '' \(rq
.ie n .IP \(bu 4
.el .IP \(bu 2
..
-.na
-.hy 0
.SH NAME
-\fBaddchstr\fP,
-\fBaddchnstr\fP,
-\fBwaddchstr\fP,
-\fBwaddchnstr\fP,
-\fBmvaddchstr\fP,
-\fBmvaddchnstr\fP,
-\fBmvwaddchstr\fP,
-\fBmvwaddchnstr\fP \- add a string of characters (and attributes) to a \fBcurses\fP window
-.ad
-.hy
+\fB\%addchstr\fP,
+\fB\%addchnstr\fP,
+\fB\%waddchstr\fP,
+\fB\%waddchnstr\fP,
+\fB\%mvaddchstr\fP,
+\fB\%mvaddchnstr\fP,
+\fB\%mvwaddchstr\fP,
+\fB\%mvwaddchnstr\fP \-
+add a \fIcurses\fR character string to a window
.SH SYNOPSIS
.nf
\fB#include <curses.h>\fP
.\" authorization. *
.\"***************************************************************************
.\"
-.\" $Id: curs_addstr.3x,v 1.28 2023/03/11 20:40:52 tom Exp $
-.TH curs_addstr 3X 2023-03-11 "ncurses 6.4" "Library calls"
+.\" $Id: curs_addstr.3x,v 1.32 2023/09/16 23:34:43 tom Exp $
+.TH curs_addstr 3X 2023-09-16 "ncurses 6.4" "Library calls"
.ie \n(.g .ds `` \(lq
.el .ds `` ``
.ie \n(.g .ds '' \(rq
.ie n .IP \(bu 4
.el .IP \(bu 2
..
-.na
-.hy 0
.SH NAME
-\fBaddstr\fP,
-\fBaddnstr\fP,
-\fBwaddstr\fP,
-\fBwaddnstr\fP,
-\fBmvaddstr\fP,
-\fBmvaddnstr\fP,
-\fBmvwaddstr\fP,
-\fBmvwaddnstr\fP \- add a string of characters to a \fBcurses\fP window and advance cursor
-.ad
-.hy
+\fB\%addstr\fP,
+\fB\%addnstr\fP,
+\fB\%waddstr\fP,
+\fB\%waddnstr\fP,
+\fB\%mvaddstr\fP,
+\fB\%mvaddnstr\fP,
+\fB\%mvwaddstr\fP,
+\fB\%mvwaddnstr\fP \-
+add a string to a \fIcurses\fR window and advance the cursor
.SH SYNOPSIS
.nf
\fB#include <curses.h>\fP
.\" authorization. *
.\"***************************************************************************
.\"
-.\" $Id: curs_addwstr.3x,v 1.20 2023/07/15 17:11:59 tom Exp $
-.TH curs_addwstr 3X 2023-07-15 "ncurses 6.4" "Library calls"
+.\" $Id: curs_addwstr.3x,v 1.24 2023/09/16 23:34:43 tom Exp $
+.TH curs_addwstr 3X 2023-09-16 "ncurses 6.4" "Library calls"
.ie \n(.g .ds `` \(lq
.el .ds `` ``
.ie \n(.g .ds '' \(rq
.ie n .IP \(bu 4
.el .IP \(bu 2
..
-.na
-.hy 0
.SH NAME
-\fBaddwstr\fP,
-\fBaddnwstr\fP,
-\fBwaddwstr\fP,
-\fBwaddnwstr\fP,
-\fBmvaddwstr\fP,
-\fBmvaddnwstr\fP,
-\fBmvwaddwstr\fP,
-\fBmvwaddnwstr\fP \- add a string of wide characters to a \fBcurses\fP window and advance cursor
-.ad
-.hy
+\fB\%addwstr\fP,
+\fB\%addnwstr\fP,
+\fB\%waddwstr\fP,
+\fB\%waddnwstr\fP,
+\fB\%mvaddwstr\fP,
+\fB\%mvaddnwstr\fP,
+\fB\%mvwaddwstr\fP,
+\fB\%mvwaddnwstr\fP \-
+add a wide-character string to a \fIcurses\fR window and advance the cursor
.SH SYNOPSIS
.nf
\fB#include <curses.h>\fP
.\" authorization. *
.\"***************************************************************************
.\"
-.\" $Id: curs_attr.3x,v 1.80 2023/09/09 21:13:26 tom Exp $
-.TH curs_attr 3X 2023-09-09 "ncurses 6.4" "Library calls"
+.\" $Id: curs_attr.3x,v 1.84 2023/09/16 23:34:43 tom Exp $
+.TH curs_attr 3X 2023-09-16 "ncurses 6.4" "Library calls"
.ie \n(.g .ds `` \(lq
.el .ds `` ``
.ie \n(.g .ds '' \(rq
.ie n .IP \(bu 4
.el .IP \(bu 2
..
-.na
-.hy 0
.\" ---------------------------------------------------------------------------
.SH NAME
-.\" attr_get
-\fBattr_get\fP,
-\fBwattr_get\fP,
-\fBattr_set\fP,
-\fBwattr_set\fP,
-.\" .br
-\fBattr_off\fP,
-\fBwattr_off\fP,
-\fBattr_on\fP,
-\fBwattr_on\fP,
-.\" .br
-\fBattroff\fP,
-\fBwattroff\fP,
-\fBattron\fP,
-\fBwattron\fP,
-\fBattrset\fP,
-\fBwattrset\fP,
-.\" .br
-\fBchgat\fP,
-\fBwchgat\fP,
-\fBmvchgat\fP,
-\fBmvwchgat\fP,
-.\" .br
-\fBcolor_set\fP,
-\fBwcolor_set\fP,
-.\" .br
-\fBstandend\fP,
-\fBwstandend\fP,
-\fBstandout\fP,
-\fBwstandout\fP \- \fBcurses\fP character and window attribute control routines
-.ad
-.hy
+\fB\%attr_get\fP,
+\fB\%wattr_get\fP,
+\fB\%attr_set\fP,
+\fB\%wattr_set\fP,
+\fB\%attr_off\fP,
+\fB\%wattr_off\fP,
+\fB\%attr_on\fP,
+\fB\%wattr_on\fP,
+\fB\%attroff\fP,
+\fB\%wattroff\fP,
+\fB\%attron\fP,
+\fB\%wattron\fP,
+\fB\%attrset\fP,
+\fB\%wattrset\fP,
+\fB\%chgat\fP,
+\fB\%wchgat\fP,
+\fB\%mvchgat\fP,
+\fB\%mvwchgat\fP,
+\fB\%color_set\fP,
+\fB\%wcolor_set\fP,
+\fB\%standend\fP,
+\fB\%wstandend\fP,
+\fB\%standout\fP,
+\fB\%wstandout\fP \-
+manipulate attributes of character cells in \fIcurses\fR windows
.\" ---------------------------------------------------------------------------
.SH SYNOPSIS
\fB#include <curses.h>\fP
.\"***************************************************************************
-.\" Copyright 2018-2020,2021 Thomas E. Dickey *
+.\" Copyright 2018-2021,2023 Thomas E. Dickey *
.\" Copyright 1998-2005,2010 Free Software Foundation, Inc. *
.\" *
.\" Permission is hereby granted, free of charge, to any person obtaining a *
.\" authorization. *
.\"***************************************************************************
.\"
-.\" $Id: curs_beep.3x,v 1.17 2021/12/25 21:41:58 tom Exp $
-.TH curs_beep 3X 2021-12-25 "ncurses 6.4" "Library calls"
+.\" $Id: curs_beep.3x,v 1.22 2023/09/16 23:34:43 tom Exp $
+.TH curs_beep 3X 2023-09-16 "ncurses 6.4" "Library calls"
.SH NAME
-\fBbeep\fP, \fBflash\fP \- \fBcurses\fP bell and screen flash routines
+\fB\%beep\fP,
+\fB\%flash\fP \-
+ring the (visual) bell of the terminal with \fIcurses\fR
.SH SYNOPSIS
\fB#include <curses.h>\fP
.PP
.\" authorization. *
.\"***************************************************************************
.\"
-.\" $Id: curs_bkgd.3x,v 1.39 2023/07/01 15:43:20 tom Exp $
+.\" $Id: curs_bkgd.3x,v 1.44 2023/09/16 23:34:43 tom Exp $
+.TH curs_bkgd 3X 2023-09-16 "ncurses 6.4" "Library calls"
.de bP
.ie n .IP \(bu 4
.el .IP \(bu 2
..
-.TH curs_bkgd 3X 2023-07-01 "ncurses 6.4" "Library calls"
.SH NAME
-\fBbkgdset\fP, \fBwbkgdset\fP,
-\fBbkgd\fP, \fBwbkgd\fP,
-\fBgetbkgd\fP \- \fBcurses\fP window background manipulation routines
+\fB\%bkgdset\fP,
+\fB\%wbkgdset\fP,
+\fB\%bkgd\fP,
+\fB\%wbkgd\fP,
+\fB\%getbkgd\fP \-
+manipulate background of a \fIcurses\fR window of characters
.SH SYNOPSIS
\fB#include <curses.h>\fP
.PP
.\" authorization. *
.\"***************************************************************************
.\"
-.\" $Id: curs_bkgrnd.3x,v 1.21 2023/08/12 18:31:54 tom Exp $
+.\" $Id: curs_bkgrnd.3x,v 1.27 2023/09/16 23:34:43 tom Exp $
+.TH curs_bkgrnd 3X 2023-09-16 "ncurses 6.4" "Library calls"
.de bP
.ie n .IP \(bu 4
.el .IP \(bu 2
..
-.TH curs_bkgrnd 3X 2023-08-12 "ncurses 6.4" "Library calls"
.SH NAME
-\fBbkgrnd\fP,
-\fBwbkgrnd\fP,
-\fBbkgrndset\fP,
-\fBwbkgrndset\fP,
-\fBgetbkgrnd\fP,
-\fBwgetbkgrnd\fP \- \fBcurses\fP window complex background manipulation routines
+\fB\%bkgrnd\fP,
+\fB\%wbkgrnd\fP,
+\fB\%bkgrndset\fP,
+\fB\%wbkgrndset\fP,
+\fB\%getbkgrnd\fP,
+\fB\%wgetbkgrnd\fP \-
+manipulate background of a \fIcurses\fP window of wide characters
.SH SYNOPSIS
\fB#include <curses.h>\fR
.sp
-\fBint bkgrnd(\fB const cchar_t *\fIwch\fB);\fR
+\fBint bkgrnd(\fBconst cchar_t *\fIwch\fB);\fR
.br
-\fBint wbkgrnd(\fB WINDOW *\fIwin\fB, const cchar_t *\fIwch\fB);\fR
+\fBint wbkgrnd(\fBWINDOW *\fIwin\fB, const cchar_t *\fIwch\fB);\fR
.sp
\fBvoid bkgrndset(const cchar_t *\fIwch\fR \fB);\fR
.br
appears, it is changed to the new background character.
.SS getbkgrnd
The \fBgetbkgrnd\fP function returns the given window's current background
-character/attribute pair via the \fBwch\fP pointer.
+character/attribute pair via the
+.I wch
+pointer.
If the given window pointer is null,
-the character is not updated (but no error returned).
+the character is not updated (but no error is returned).
.SH NOTES
Note that
\fBbkgrnd\fP,
.\" authorization. *
.\"***************************************************************************
.\"
-.\" $Id: curs_border.3x,v 1.34 2023/07/01 15:43:20 tom Exp $
-.TH curs_border 3X 2023-07-01 "ncurses 6.4" "Library calls"
+.\" $Id: curs_border.3x,v 1.38 2023/09/16 23:34:43 tom Exp $
+.TH curs_border 3X 2023-09-16 "ncurses 6.4" "Library calls"
.ie \n(.g .ds `` \(lq
.el .ds `` ``
.ie \n(.g .ds '' \(rq
.el .ds '' ''
-.na
-.hy 0
.SH NAME
-\fBborder\fP,
-\fBwborder\fP,
-\fBbox\fP,
-\fBhline\fP,
-\fBwhline\fP,
-\fBvline\fP,
-\fBwvline\fP,
-\fBmvhline\fP,
-\fBmvwhline\fP,
-\fBmvvline\fP,
-\fBmvwvline\fP \- create \fBcurses\fP borders, horizontal and vertical lines
-.ad
-.hy
+\fB\%border\fP,
+\fB\%wborder\fP,
+\fB\%box\fP,
+\fB\%hline\fP,
+\fB\%whline\fP,
+\fB\%vline\fP,
+\fB\%wvline\fP,
+\fB\%mvhline\fP,
+\fB\%mvwhline\fP,
+\fB\%mvvline\fP,
+\fB\%mvwvline\fP \-
+draw borders and lines in a \fIcurses\fR window of characters
.SH SYNOPSIS
\fB#include <curses.h>\fP
.sp
.\" authorization. *
.\"***************************************************************************
.\"
-.\" $Id: curs_border_set.3x,v 1.20 2023/07/01 15:43:20 tom Exp $
-.TH curs_border_set 3X 2023-07-01 "ncurses 6.4" "Library calls"
+.\" $Id: curs_border_set.3x,v 1.24 2023/09/16 23:34:43 tom Exp $
+.TH curs_border_set 3X 2023-09-16 "ncurses 6.4" "Library calls"
.ie \n(.g .ds `` \(lq
.el .ds `` ``
.ie \n(.g .ds '' \(rq
.el .ds '' ''
-.na
-.hy 0
.SH NAME
-\fBborder_set\fP,
-\fBwborder_set\fP,
-\fBbox_set\fP,
-\fBhline_set\fP,
-\fBwhline_set\fP,
-\fBmvhline_set\fP,
-\fBmvwhline_set\fP,
-\fBvline_set\fP,
-\fBwvline_set\fP,
-\fBmvvline_set\fP,
-\fBmvwvline_set\fP \- create \fBcurses\fP borders or lines using complex characters and renditions
-.ad
-.hy
+\fB\%border_set\fP,
+\fB\%wborder_set\fP,
+\fB\%box_set\fP,
+\fB\%hline_set\fP,
+\fB\%whline_set\fP,
+\fB\%mvhline_set\fP,
+\fB\%mvwhline_set\fP,
+\fB\%vline_set\fP,
+\fB\%wvline_set\fP,
+\fB\%mvvline_set\fP,
+\fB\%mvwvline_set\fP \-
+draw borders and lines in a \fIcurses\fR window of wide characters
.SH SYNOPSIS
\fB#include <curses.h>\fP
.sp
.\" authorization. *
.\"***************************************************************************
.\"
-.\" $Id: curs_clear.3x,v 1.31 2023/07/01 15:43:20 tom Exp $
-.TH curs_clear 3X 2023-07-01 "ncurses 6.4" "Library calls"
-.na
-.hy 0
+.\" $Id: curs_clear.3x,v 1.35 2023/09/16 23:34:43 tom Exp $
+.TH curs_clear 3X 2023-09-16 "ncurses 6.4" "Library calls"
.de bP
.ie n .IP \(bu 4
.el .IP \(bu 2
..
.SH NAME
-\fBerase\fP,
-\fBwerase\fP,
-\fBclear\fP,
-\fBwclear\fP,
-\fBclrtobot\fP,
-\fBwclrtobot\fP,
-\fBclrtoeol\fP,
-\fBwclrtoeol\fP \- clear all or part of a \fBcurses\fP window
-.ad
-.hy
+\fB\%erase\fP,
+\fB\%werase\fP,
+\fB\%clear\fP,
+\fB\%wclear\fP,
+\fB\%clrtobot\fP,
+\fB\%wclrtobot\fP,
+\fB\%clrtoeol\fP,
+\fB\%wclrtoeol\fP \-
+clear all or part of a \fIcurses\fR window
.SH SYNOPSIS
\fB#include <curses.h>\fP
.sp
.\" authorization. *
.\"***************************************************************************
.\"
-.\" $Id: curs_color.3x,v 1.73 2023/07/01 14:23:04 tom Exp $
-.TH curs_color 3X 2023-07-01 "ncurses 6.4" "Library calls"
+.\" $Id: curs_color.3x,v 1.77 2023/09/16 23:34:43 tom Exp $
+.TH curs_color 3X 2023-09-16 "ncurses 6.4" "Library calls"
.ie \n(.g .ds `` \(lq
.el .ds `` ``
.ie \n(.g .ds '' \(rq
.el .IP \(bu 2
..
.ds n 5
-.na
-.hy 0
.SH NAME
-\fBstart_color\fP,
-\fBhas_colors\fP,
-\fBcan_change_color\fP,
-\fBinit_pair\fP,
-\fBinit_color\fP,
-\fBinit_extended_pair\fP,
-\fBinit_extended_color\fP,
-\fBcolor_content\fP,
-\fBpair_content\fP,
-\fBextended_color_content\fP,
-\fBextended_pair_content\fP,
-\fBreset_color_pairs\fP,
-\fBCOLOR_PAIR\fP,
-\fBPAIR_NUMBER\fP \- \fBcurses\fP color manipulation routines
-.ad
-.hy
+\fB\%start_color\fP,
+\fB\%has_colors\fP,
+\fB\%can_change_color\fP,
+\fB\%init_pair\fP,
+\fB\%init_color\fP,
+\fB\%init_extended_pair\fP,
+\fB\%init_extended_color\fP,
+\fB\%color_content\fP,
+\fB\%pair_content\fP,
+\fB\%extended_color_content\fP,
+\fB\%extended_pair_content\fP,
+\fB\%reset_color_pairs\fP,
+\fB\%COLOR_PAIR\fP,
+\fB\%PAIR_NUMBER\fP \-
+manipulate terminal colors with \fIcurses\fR
.SH SYNOPSIS
\fB#include <curses.h>\fP
.sp
.\" authorization. *
.\"***************************************************************************
.\"
-.\" $Id: curs_delch.3x,v 1.22 2023/07/01 15:43:20 tom Exp $
-.TH curs_delch 3X 2023-07-01 "ncurses 6.4" "Library calls"
+.\" $Id: curs_delch.3x,v 1.26 2023/09/16 23:34:43 tom Exp $
+.TH curs_delch 3X 2023-09-16 "ncurses 6.4" "Library calls"
.ie \n(.g .ds `` \(lq
.el .ds `` ``
.ie \n(.g .ds '' \(rq
.el .ds '' ''
.SH NAME
-\fBdelch\fP,
-\fBwdelch\fP,
-\fBmvdelch\fP,
-\fBmvwdelch\fP \- delete character under the cursor in a \fBcurses\fP window
+\fB\%delch\fP,
+\fB\%wdelch\fP,
+\fB\%mvdelch\fP,
+\fB\%mvwdelch\fP \-
+delete the character at the cursor in a \fIcurses\fR window
.SH SYNOPSIS
\fB#include <curses.h>\fP
.sp
.\" authorization. *
.\"***************************************************************************
.\"
-.\" $Id: curs_deleteln.3x,v 1.24 2023/07/01 15:43:20 tom Exp $
-.TH curs_deleteln 3X 2023-07-01 "ncurses 6.4" "Library calls"
+.\" $Id: curs_deleteln.3x,v 1.28 2023/09/16 23:34:43 tom Exp $
+.TH curs_deleteln 3X 2023-09-16 "ncurses 6.4" "Library calls"
.SH NAME
-\fBdeleteln\fP,
-\fBwdeleteln\fP,
-\fBinsdelln\fP,
-\fBwinsdelln\fP,
-\fBinsertln\fP,
-\fBwinsertln\fP \- delete and insert lines in a \fBcurses\fP window
+\fB\%deleteln\fP,
+\fB\%wdeleteln\fP,
+\fB\%insdelln\fP,
+\fB\%winsdelln\fP,
+\fB\%insertln\fP,
+\fB\%winsertln\fP \-
+delete or insert lines in a \fIcurses\fR window
.SH SYNOPSIS
\fB#include <curses.h>\fP
.sp
.\"
.\" Author: Thomas E. Dickey 1999-on
.\"
-.\" $Id: curs_extend.3x,v 1.32 2023/07/01 15:43:20 tom Exp $
-.TH curs_extend 3X 2023-07-01 "ncurses 6.4" "Library calls"
+.\" $Id: curs_extend.3x,v 1.36 2023/09/16 23:34:43 tom Exp $
+.TH curs_extend 3X 2023-09-16 "ncurses 6.4" "Library calls"
.ie \n(.g .ds `` \(lq
.el .ds `` ``
.ie \n(.g .ds '' \(rq
.el .ds '' ''
.SH NAME
-\fBcurses_version\fP,
-\fBuse_extended_names\fP \- miscellaneous curses extensions
-.
+\fB\%curses_version\fP,
+\fB\%use_extended_names\fP \-
+miscellaneous \fIcurses\fR extensions
.SH SYNOPSIS
\fB#include <curses.h>\fP
.sp
.\"***************************************************************************
-.\" Copyright 2018-2021,2022 Thomas E. Dickey *
+.\" Copyright 2018-2022,2023 Thomas E. Dickey *
.\" Copyright 2002-2016,2017 Free Software Foundation, Inc. *
.\" *
.\" Permission is hereby granted, free of charge, to any person obtaining a *
.\" authorization. *
.\"***************************************************************************
.\"
-.\" $Id: curs_get_wch.3x,v 1.18 2022/02/12 20:07:29 tom Exp $
-.TH curs_get_wch 3X 2022-02-12 "ncurses 6.4" "Library calls"
-.na
-.hy 0
+.\" $Id: curs_get_wch.3x,v 1.23 2023/09/16 23:34:43 tom Exp $
+.TH curs_get_wch 3X 2023-09-16 "ncurses 6.4" "Library calls"
.ie \n(.g .ds `` \(lq
.el .ds `` ``
.ie \n(.g .ds '' \(rq
.el .IP \(bu 2
..
.SH NAME
-\fBget_wch\fP,
-\fBwget_wch\fP,
-\fBmvget_wch\fP,
-\fBmvwget_wch\fP,
-\fBunget_wch\fP \- get (or push back) a wide character from curses terminal keyboard
-.ad
-.hy
+\fB\%get_wch\fP,
+\fB\%wget_wch\fP,
+\fB\%mvget_wch\fP,
+\fB\%mvwget_wch\fP,
+\fB\%unget_wch\fP \-
+get (or push back) a wide character from \fIcurses\fR terminal keyboard
.SH SYNOPSIS
\fB#include <curses.h>\fP
.sp
.\" authorization. *
.\"***************************************************************************
.\"
-.\" $Id: curs_get_wstr.3x,v 1.30 2023/08/05 12:14:30 tom Exp $
-.TH curs_get_wstr 3X 2023-08-05 "ncurses 6.4" "Library calls"
+.\" $Id: curs_get_wstr.3x,v 1.34 2023/09/16 23:34:43 tom Exp $
+.TH curs_get_wstr 3X 2023-09-16 "ncurses 6.4" "Library calls"
.ie \n(.g .ds `` \(lq
.el .ds `` ``
.ie \n(.g .ds '' \(rq
.ie n .IP \(bu 4
.el .IP \(bu 2
..
-.na
-.hy 0
.SH NAME
-\fBget_wstr\fP,
-\fBgetn_wstr\fP,
-\fBwget_wstr\fP,
-\fBwgetn_wstr\fP,
-\fBmvget_wstr\fP,
-\fBmvgetn_wstr\fP,
-\fBmvwget_wstr\fP,
-\fBmvwgetn_wstr\fP \- get an array of wide characters from a curses terminal keyboard
-.ad
-.hy
+\fB\%get_wstr\fP,
+\fB\%getn_wstr\fP,
+\fB\%wget_wstr\fP,
+\fB\%wgetn_wstr\fP,
+\fB\%mvget_wstr\fP,
+\fB\%mvgetn_wstr\fP,
+\fB\%mvwget_wstr\fP,
+\fB\%mvwgetn_wstr\fP \-
+get a wide-character string from a \fIcurses\fR terminal keyboard
.SH SYNOPSIS
.nf
\fB#include <curses.h>\fP
.\" authorization. *
.\"***************************************************************************
.\"
-.\" $Id: curs_getcchar.3x,v 1.31 2023/07/01 15:43:20 tom Exp $
-.TH curs_getcchar 3X 2023-07-01 "ncurses 6.4" "Library calls"
+.\" $Id: curs_getcchar.3x,v 1.35 2023/09/16 23:34:43 tom Exp $
+.TH curs_getcchar 3X 2023-09-16 "ncurses 6.4" "Library calls"
.de bP
.ie n .IP \(bu 4
.el .IP \(bu 2
..
.SH NAME
-\fBgetcchar\fP,
-\fBsetcchar\fP \- Get a wide character string and rendition from a \fBcchar_t\fP or set a \fBcchar_t\fP from a wide-character string
+\fB\%getcchar\fP,
+\fB\%setcchar\fP \-
+convert between a wide-character string and a \fIcurses\fR complex character string
.SH SYNOPSIS
\fB#include <curses.h>\fP
.sp
.\" authorization. *
.\"***************************************************************************
.\"
-.\" $Id: curs_getch.3x,v 1.68 2023/08/19 20:45:12 tom Exp $
-.TH curs_getch 3X 2023-08-19 "ncurses 6.4" "Library calls"
-.na
-.hy 0
+.\" $Id: curs_getch.3x,v 1.72 2023/09/16 23:34:43 tom Exp $
+.TH curs_getch 3X 2023-09-16 "ncurses 6.4" "Library calls"
.ie \n(.g .ds `` \(lq
.el .ds `` ``
.ie \n(.g .ds '' \(rq
.el .IP \(bu 2
..
.SH NAME
-\fBgetch\fP,
-\fBwgetch\fP,
-\fBmvgetch\fP,
-\fBmvwgetch\fP,
-\fBungetch\fP,
-\fBhas_key\fP \- get (or push back) characters from \fBcurses\fP terminal keyboard
-.ad
-.hy
+\fB\%getch\fP,
+\fB\%wgetch\fP,
+\fB\%mvgetch\fP,
+\fB\%mvwgetch\fP,
+\fB\%ungetch\fP,
+\fB\%has_key\fP \-
+get (or push back) characters from \fIcurses\fR terminal keyboard
.SH SYNOPSIS
.B #include <curses.h>
.PP
.\" authorization. *
.\"***************************************************************************
.\"
-.\" $Id: curs_getstr.3x,v 1.42 2023/08/05 12:14:30 tom Exp $
-.TH curs_getstr 3X 2023-08-05 "ncurses 6.4" "Library calls"
+.\" $Id: curs_getstr.3x,v 1.46 2023/09/16 23:34:43 tom Exp $
+.TH curs_getstr 3X 2023-09-16 "ncurses 6.4" "Library calls"
.ie \n(.g .ds `` \(lq
.el .ds `` ``
.ie \n(.g .ds '' \(rq
.ie n .IP \(bu 4
.el .IP \(bu 2
..
-.na
-.hy 0
.SH NAME
-\fBgetstr\fP,
-\fBgetnstr\fP,
-\fBwgetstr\fP,
-\fBwgetnstr\fP,
-\fBmvgetstr\fP,
-\fBmvgetnstr\fP,
-\fBmvwgetstr\fP,
-\fBmvwgetnstr\fP \- accept character strings from \fBcurses\fP terminal keyboard
-.ad
-.hy
+\fB\%getstr\fP,
+\fB\%getnstr\fP,
+\fB\%wgetstr\fP,
+\fB\%wgetnstr\fP,
+\fB\%mvgetstr\fP,
+\fB\%mvgetnstr\fP,
+\fB\%mvwgetstr\fP,
+\fB\%mvwgetnstr\fP \-
+accept character strings from \fIcurses\fR terminal keyboard
.SH SYNOPSIS
\fB#include <curses.h>\fP
.sp
.\" authorization. *
.\"***************************************************************************
.\"
-.\" $Id: curs_getyx.3x,v 1.27 2023/07/01 15:43:20 tom Exp $
-.TH curs_getyx 3X 2023-07-01 "ncurses 6.4" "Library calls"
+.\" $Id: curs_getyx.3x,v 1.31 2023/09/16 23:37:03 tom Exp $
+.TH curs_getyx 3X 2023-09-16 "ncurses 6.4" "Library calls"
.SH NAME
-\fBgetyx\fP,
-\fBgetparyx\fP,
-\fBgetbegyx\fP,
-\fBgetmaxyx\fP \- get \fBcurses\fP cursor and window coordinates
+\fB\%getyx\fP,
+\fB\%getparyx\fP,
+\fB\%getbegyx\fP,
+\fB\%getmaxyx\fP \-
+get \fIcurses\fR cursor and window coordinates
.SH SYNOPSIS
\fB#include <curses.h>\fP
.sp
.\"***************************************************************************
-.\" Copyright 2018-2021,2022 Thomas E. Dickey *
+.\" Copyright 2018-2022,2023 Thomas E. Dickey *
.\" Copyright 2002-2010,2017 Free Software Foundation, Inc. *
.\" *
.\" Permission is hereby granted, free of charge, to any person obtaining a *
.\" authorization. *
.\"***************************************************************************
.\"
-.\" $Id: curs_in_wch.3x,v 1.14 2022/02/12 20:07:29 tom Exp $
-.TH curs_in_wch 3X 2022-02-12 "ncurses 6.4" "Library calls"
+.\" $Id: curs_in_wch.3x,v 1.19 2023/09/16 23:37:03 tom Exp $
+.TH curs_in_wch 3X 2023-09-16 "ncurses 6.4" "Library calls"
.ie \n(.g .ds `` \(lq
.el .ds `` ``
.ie \n(.g .ds '' \(rq
.el .ds '' ''
.SH NAME
-\fBin_wch\fP,
-\fBmvin_wch\fP,
-\fBmvwin_wch\fP,
-\fBwin_wch\fP \- extract a complex character and rendition from a window
+\fB\%in_wch\fP,
+\fB\%mvin_wch\fP,
+\fB\%mvwin_wch\fP,
+\fB\%win_wch\fP \-
+get a \fIcurses\fR complex character from a window
.SH SYNOPSIS
\fB#include <curses.h>\fP
.sp
.\"***************************************************************************
-.\" Copyright 2018-2021,2022 Thomas E. Dickey *
+.\" Copyright 2018-2022,2023 Thomas E. Dickey *
.\" Copyright 2002-2012,2017 Free Software Foundation, Inc. *
.\" *
.\" Permission is hereby granted, free of charge, to any person obtaining a *
.\" authorization. *
.\"***************************************************************************
.\"
-.\" $Id: curs_in_wchstr.3x,v 1.18 2022/02/12 20:07:29 tom Exp $
-.TH curs_in_wchstr 3X 2022-02-12 "ncurses 6.4" "Library calls"
+.\" $Id: curs_in_wchstr.3x,v 1.23 2023/09/16 23:37:03 tom Exp $
+.TH curs_in_wchstr 3X 2023-09-16 "ncurses 6.4" "Library calls"
.ie \n(.g .ds `` \(lq
.el .ds `` ``
.ie \n(.g .ds '' \(rq
.el .ds '' ''
-.na
-.hy 0
.SH NAME
-\fBin_wchstr\fP,
-\fBin_wchnstr\fP,
-\fBwin_wchstr\fP,
-\fBwin_wchnstr\fP,
-\fBmvin_wchstr\fP,
-\fBmvin_wchnstr\fP,
-\fBmvwin_wchstr\fP,
-\fBmvwin_wchnstr\fP \- get an array of complex characters and renditions from a curses window
-.ad
-.hy
+\fB\%in_wchstr\fP,
+\fB\%in_wchnstr\fP,
+\fB\%win_wchstr\fP,
+\fB\%win_wchnstr\fP,
+\fB\%mvin_wchstr\fP,
+\fB\%mvin_wchnstr\fP,
+\fB\%mvwin_wchstr\fP,
+\fB\%mvwin_wchnstr\fP \-
+get a \fIcurses\fR complex character string from a window
.SH SYNOPSIS
.nf
\fB#include <curses.h>\fP
.\" authorization. *
.\"***************************************************************************
.\"
-.\" $Id: curs_inch.3x,v 1.33 2023/08/19 20:46:33 tom Exp $
-.TH curs_inch 3X 2023-08-19 "ncurses 6.4" "Library calls"
+.\" $Id: curs_inch.3x,v 1.37 2023/09/16 23:37:03 tom Exp $
+.TH curs_inch 3X 2023-09-16 "ncurses 6.4" "Library calls"
.ie \n(.g .ds `` \(lq
.el .ds `` ``
.ie \n(.g .ds '' \(rq
.el .IP \(bu 2
..
.SH NAME
-\fBinch\fP,
-\fBwinch\fP,
-\fBmvinch\fP,
-\fBmvwinch\fP \- get a character and attributes from a \fBcurses\fP window
+\fB\%inch\fP,
+\fB\%winch\fP,
+\fB\%mvinch\fP,
+\fB\%mvwinch\fP \-
+get a \fIcurses\fR character from a window
.SH SYNOPSIS
\fB#include <curses.h>\fP
.sp
.\" authorization. *
.\"***************************************************************************
.\"
-.\" $Id: curs_inchstr.3x,v 1.28 2023/07/01 15:43:20 tom Exp $
-.TH curs_inchstr 3X 2023-07-01 "ncurses 6.4" "Library calls"
+.\" $Id: curs_inchstr.3x,v 1.32 2023/09/16 23:37:03 tom Exp $
+.TH curs_inchstr 3X 2023-09-16 "ncurses 6.4" "Library calls"
.ie \n(.g .ds `` \(lq
.el .ds `` ``
.ie \n(.g .ds '' \(rq
.ie n .IP \(bu 4
.el .IP \(bu 2
..
-.na
-.hy 0
.SH NAME
-\fBinchstr\fP,
-\fBinchnstr\fP,
-\fBwinchstr\fP,
-\fBwinchnstr\fP,
-\fBmvinchstr\fP,
-\fBmvinchnstr\fP,
-\fBmvwinchstr\fP,
-\fBmvwinchnstr\fP \- get a string of characters (and attributes) from a \fBcurses\fP window
-.ad
-.hy
+\fB\%inchstr\fP,
+\fB\%inchnstr\fP,
+\fB\%winchstr\fP,
+\fB\%winchnstr\fP,
+\fB\%mvinchstr\fP,
+\fB\%mvinchnstr\fP,
+\fB\%mvwinchstr\fP,
+\fB\%mvwinchnstr\fP \-
+get a \fIcurses\fR character string from a window
.SH SYNOPSIS
\fB#include <curses.h>\fP
.sp
.\" authorization. *
.\"***************************************************************************
.\"
-.\" $Id: curs_initscr.3x,v 1.45 2023/08/19 19:46:20 tom Exp $
-.TH curs_initscr 3X 2023-08-19 "ncurses 6.4" "Library calls"
+.\" $Id: curs_initscr.3x,v 1.50 2023/09/16 23:37:03 tom Exp $
+.TH curs_initscr 3X 2023-09-16 "ncurses 6.4" "Library calls"
.de bP
.ie n .IP \(bu 4
.el .IP \(bu 2
.el .ds `` ``
.ie \n(.g .ds '' \(rq
.el .ds '' ''
-.na
-.hy 0
.SH NAME
-\fBinitscr\fP,
-\fBnewterm\fP,
-\fBendwin\fP,
-\fBisendwin\fP,
-\fBset_term\fP,
-\fBdelscreen\fP \- \fBcurses\fP screen initialization and manipulation routines
-.ad
-.hy
+\fB\%initscr\fP,
+\fB\%newterm\fP,
+\fB\%endwin\fP,
+\fB\%isendwin\fP,
+\fB\%set_term\fP,
+\fB\%delscreen\fP \-
+initialize, manipulate, or tear down \fIcurses\fR terminal interface
.SH SYNOPSIS
\fB#include <curses.h>\fP
.sp
and cannot be used for full-screen operation.
Other implementations may handle a missing/empty TERM variable differently.
.SS Signal Handlers
-Quoting from X/Open Curses, section 3.1.1:
+Quoting from X/Open Curses Issue 7, section 3.1.1:
.RS 5
-.hy 0
.PP
-.I Curses implementations may provide for special handling of the
-.I \fBSIGINT\fP,
-.I \fBSIGQUIT\fP and
-.I \fBSIGTSTP\fP signals
-.I if their disposition is \fBSIG_DFL\fP at the time
-\fBinitscr\fI is called \fR...
+Curses implementations may provide for special handling of the
+\%SIGINT,
+\%SIGQUIT,
+and \%SIGTSTP signals if their disposition is \%SIG_DFL at the time
+.I \%initscr
+is called.\|.\|.
.PP
-.I Any special handling for these signals may remain in effect for the
-.I life of the process or until the process changes the disposition of
-.I the signal.
+Any special handling for these signals may remain in effect for the
+life of the process or until the process changes the disposition of
+the signal.
.PP
-.I None of the Curses functions are required to be safe
-.I with respect to signals \fP...
+None of the Curses functions are required to be safe
+with respect to signals.\|.\|.
.RE
-.hy
.PP
This implementation establishes signal handlers during initialization,
e.g., \fBinitscr\fP or \fBnewterm\fP.
.\" authorization. *
.\"***************************************************************************
.\"
-.\" $Id: curs_inopts.3x,v 1.43 2023/08/19 20:55:23 tom Exp $
-.TH curs_inopts 3X 2023-08-19 "ncurses 6.4" "Library calls"
+.\" $Id: curs_inopts.3x,v 1.47 2023/09/16 23:37:03 tom Exp $
+.TH curs_inopts 3X 2023-09-16 "ncurses 6.4" "Library calls"
.ie \n(.g .ds `` \(lq
.el .ds `` ``
.ie \n(.g .ds '' \(rq
.el .ds '' ''
-.na
-.hy 0
.SH NAME
-\fBcbreak\fP,
-\fBecho\fP,
-\fBhalfdelay\fP,
-\fBintrflush\fP,
-\fBis_cbreak\fP,
-\fBis_echo\fP,
-\fBis_nl\fP,
-\fBis_raw\fP,
-\fBkeypad\fP,
-\fBmeta\fP,
-\fBnl\fP,
-\fBnocbreak\fP,
-\fBnodelay\fP,
-\fBnoecho\fP,
-\fBnonl\fP,
-\fBnoqiflush\fP,
-\fBnoraw\fP,
-\fBnotimeout\fP,
-\fBqiflush\fP,
-\fBraw\fP,
-\fBtimeout\fP,
-\fBwtimeout\fP,
-\fBtypeahead\fP \- \fBcurses\fP input options
-.ad
-.hy
+\fB\%cbreak\fP,
+\fB\%echo\fP,
+\fB\%halfdelay\fP,
+\fB\%intrflush\fP,
+\fB\%is_cbreak\fP,
+\fB\%is_echo\fP,
+\fB\%is_nl\fP,
+\fB\%is_raw\fP,
+\fB\%keypad\fP,
+\fB\%meta\fP,
+\fB\%nl\fP,
+\fB\%nocbreak\fP,
+\fB\%nodelay\fP,
+\fB\%noecho\fP,
+\fB\%nonl\fP,
+\fB\%noqiflush\fP,
+\fB\%noraw\fP,
+\fB\%notimeout\fP,
+\fB\%qiflush\fP,
+\fB\%raw\fP,
+\fB\%timeout\fP,
+\fB\%wtimeout\fP,
+\fB\%typeahead\fP \-
+get and set \fIcurses\fR terminal input options
.SH SYNOPSIS
\fB#include <curses.h>\fP
.PP
.\"***************************************************************************
-.\" Copyright 2019-2021,2022 Thomas E. Dickey *
+.\" Copyright 2019-2022,2023 Thomas E. Dickey *
.\" Copyright 2002-2010,2017 Free Software Foundation, Inc. *
.\" *
.\" Permission is hereby granted, free of charge, to any person obtaining a *
.\" authorization. *
.\"***************************************************************************
.\"
-.\" $Id: curs_ins_wch.3x,v 1.14 2022/02/12 20:05:11 tom Exp $
-.TH curs_ins_wch 3X 2022-02-12 "ncurses 6.4" "Library calls"
+.\" $Id: curs_ins_wch.3x,v 1.19 2023/09/16 23:37:03 tom Exp $
+.TH curs_ins_wch 3X 2023-09-16 "ncurses 6.4" "Library calls"
.ie \n(.g .ds `` \(lq
.el .ds `` ``
.ie \n(.g .ds '' \(rq
.el .ds '' ''
.SH NAME
-\fBins_wch\fP,
-\fBmvins_wch\fP,
-\fBmvwins_wch\fP,
-\fBwins_wch\fP \- insert a complex character and rendition into a window
+\fB\%ins_wch\fP,
+\fB\%mvins_wch\fP,
+\fB\%mvwins_wch\fP,
+\fB\%wins_wch\fP \-
+insert a \fIcurses\fR complex character string in a window
.SH SYNOPSIS
#include <curses.h>
.sp
.\"***************************************************************************
-.\" Copyright 2019-2021,2022 Thomas E. Dickey *
+.\" Copyright 2019-2022,2023 Thomas E. Dickey *
.\" Copyright 2002-2012,2017 Free Software Foundation, Inc. *
.\" *
.\" Permission is hereby granted, free of charge, to any person obtaining a *
.\" authorization. *
.\"***************************************************************************
.\"
-.\" $Id: curs_ins_wstr.3x,v 1.15 2022/02/12 20:05:11 tom Exp $
-.TH curs_ins_wstr 3X 2022-02-12 "ncurses 6.4" "Library calls"
+.\" $Id: curs_ins_wstr.3x,v 1.20 2023/09/16 23:37:03 tom Exp $
+.TH curs_ins_wstr 3X 2023-09-16 "ncurses 6.4" "Library calls"
.ie \n(.g .ds `` \(lq
.el .ds `` ``
.ie \n(.g .ds '' \(rq
.el .ds '' ''
-.na
-.hy 0
.SH NAME
-\fBins_wstr\fP,
-\fBins_nwstr\fP,
-\fBwins_wstr\fP,
-\fBwins_nwstr\fP,
-\fBmvins_wstr\fP,
-\fBmvins_nwstr\fP,
-\fBmvwins_wstr\fP,
-\fBmvwins_nwstr\fP \- insert a wide-character string into a curses window
-.ad
-.hy
+\fB\%ins_wstr\fP,
+\fB\%ins_nwstr\fP,
+\fB\%wins_wstr\fP,
+\fB\%wins_nwstr\fP,
+\fB\%mvins_wstr\fP,
+\fB\%mvins_nwstr\fP,
+\fB\%mvwins_wstr\fP,
+\fB\%mvwins_nwstr\fP \-
+insert a wide-character string in a \fIcurses\fR window
.SH SYNOPSIS
.nf
\fB#include <curses.h>\fP
.\" authorization. *
.\"***************************************************************************
.\"
-.\" $Id: curs_insch.3x,v 1.26 2023/07/01 15:43:20 tom Exp $
-.TH curs_insch 3X 2023-07-01 "ncurses 6.4" "Library calls"
+.\" $Id: curs_insch.3x,v 1.30 2023/09/16 23:37:03 tom Exp $
+.TH curs_insch 3X 2023-09-16 "ncurses 6.4" "Library calls"
.ie \n(.g .ds `` \(lq
.el .ds `` ``
.ie \n(.g .ds '' \(rq
.el .ds '' ''
.SH NAME
-\fBinsch\fP,
-\fBwinsch\fP,
-\fBmvinsch\fP,
-\fBmvwinsch\fP \- insert a character before cursor in a \fBcurses\fP window
+\fB\%insch\fP,
+\fB\%winsch\fP,
+\fB\%mvinsch\fP,
+\fB\%mvwinsch\fP \-
+insert a \fIcurses\fR character in a window
.SH SYNOPSIS
\fB#include <curses.h>\fP
.sp
.\" authorization. *
.\"***************************************************************************
.\"
-.\" $Id: curs_insstr.3x,v 1.33 2023/07/01 15:43:20 tom Exp $
-.TH curs_insstr 3X 2023-07-01 "ncurses 6.4" "Library calls"
+.\" $Id: curs_insstr.3x,v 1.37 2023/09/16 23:37:03 tom Exp $
+.TH curs_insstr 3X 2023-09-16 "ncurses 6.4" "Library calls"
.ie \n(.g .ds `` \(lq
.el .ds `` ``
.ie \n(.g .ds '' \(rq
.el .ds '' ''
.SH NAME
-\fBinsstr\fP,
-\fBinsnstr\fP,
-\fBwinsstr\fP,
-\fBwinsnstr\fP,
-\fBmvinsstr\fP,
-\fBmvinsnstr\fP,
-\fBmvwinsstr\fP,
-\fBmvwinsnstr\fP \- insert string before cursor in a \fBcurses\fP window
+\fB\%insstr\fP,
+\fB\%insnstr\fP,
+\fB\%winsstr\fP,
+\fB\%winsnstr\fP,
+\fB\%mvinsstr\fP,
+\fB\%mvinsnstr\fP,
+\fB\%mvwinsstr\fP,
+\fB\%mvwinsnstr\fP \-
+insert a string in a \fIcurses\fR window
.SH SYNOPSIS
\fB#include <curses.h>\fP
.br
.\" authorization. *
.\"***************************************************************************
.\"
-.\" $Id: curs_instr.3x,v 1.29 2023/07/01 15:43:20 tom Exp $
-.TH curs_instr 3X 2023-07-01 "ncurses 6.4" "Library calls"
+.\" $Id: curs_instr.3x,v 1.33 2023/09/16 23:37:03 tom Exp $
+.TH curs_instr 3X 2023-09-16 "ncurses 6.4" "Library calls"
.ie \n(.g .ds `` \(lq
.el .ds `` ``
.ie \n(.g .ds '' \(rq
.el .IP \(bu 2
..
.SH NAME
-\fBinstr\fP,
-\fBinnstr\fP,
-\fBwinstr\fP,
-\fBwinnstr\fP,
-\fBmvinstr\fP,
-\fBmvinnstr\fP,
-\fBmvwinstr\fP,
-\fBmvwinnstr\fP \- get a string of characters from a \fBcurses\fP window
+\fB\%instr\fP,
+\fB\%innstr\fP,
+\fB\%winstr\fP,
+\fB\%winnstr\fP,
+\fB\%mvinstr\fP,
+\fB\%mvinnstr\fP,
+\fB\%mvwinstr\fP,
+\fB\%mvwinnstr\fP \-
+get a string from a \fIcurses\fR window
.SH SYNOPSIS
\fB#include <curses.h>\fP
.sp
.\" authorization. *
.\"***************************************************************************
.\"
-.\" $Id: curs_inwstr.3x,v 1.21 2023/07/01 15:43:20 tom Exp $
-.TH curs_inwstr 3X 2023-07-01 "ncurses 6.4" "Library calls"
+.\" $Id: curs_inwstr.3x,v 1.25 2023/09/16 23:37:03 tom Exp $
+.TH curs_inwstr 3X 2023-09-16 "ncurses 6.4" "Library calls"
.ie \n(.g .ds `` \(lq
.el .ds `` ``
.ie \n(.g .ds '' \(rq
.el .ds '' ''
.SH NAME
-\fBinwstr\fP,
-\fBinnwstr\fP,
-\fBwinwstr\fP,
-\fBwinnwstr\fP,
-\fBmvinwstr\fP,
-\fBmvinnwstr\fP,
-\fBmvwinwstr\fP,
-\fBmvwinnwstr\fP \- get a string of \fBwchar_t\fP characters from a curses window
+\fB\%inwstr\fP,
+\fB\%innwstr\fP,
+\fB\%winwstr\fP,
+\fB\%winnwstr\fP,
+\fB\%mvinwstr\fP,
+\fB\%mvinnwstr\fP,
+\fB\%mvwinwstr\fP,
+\fB\%mvwinnwstr\fP \-
+get a wide-character string from a \fIcurses\fR window
.SH SYNOPSIS
.nf
\fB#include <curses.h> \fP
.\" authorization. *
.\"***************************************************************************
.\"
-.\" $Id: curs_kernel.3x,v 1.37 2023/08/19 19:47:16 tom Exp $
+.\" $Id: curs_kernel.3x,v 1.44 2023/09/16 23:37:03 tom Exp $
+.TH curs_kernel 3X 2023-09-16 "ncurses 6.4" "Library calls"
.ie \n(.g .ds `` \(lq
.el .ds `` ``
.ie \n(.g .ds '' \(rq
.ie n .IP \(bu 4
.el .IP \(bu 2
..
-.TH curs_kernel 3X 2023-08-19 "ncurses 6.4" "Library calls"
-.na
-.hy 0
.SH NAME
-\fBdef_prog_mode\fP,
-\fBdef_shell_mode\fP,
-\fBreset_prog_mode\fP,
-\fBreset_shell_mode\fP,
-\fBresetty\fP,
-\fBsavetty\fP,
-\fBgetsyx\fP,
-\fBsetsyx\fP,
-\fBripoffline\fP,
-\fBcurs_set\fP,
-\fBnapms\fP \- low-level \fBcurses\fP routines
-.ad
-.hy
+\fB\%def_prog_mode\fP,
+\fB\%def_shell_mode\fP,
+\fB\%reset_prog_mode\fP,
+\fB\%reset_shell_mode\fP,
+\fB\%resetty\fP,
+\fB\%savetty\fP,
+\fB\%getsyx\fP,
+\fB\%setsyx\fP,
+\fB\%ripoffline\fP,
+\fB\%curs_set\fP,
+\fB\%napms\fP \-
+low-level \fIcurses\fR routines
.SH SYNOPSIS
\fB#include <curses.h>\fP
.sp
X/Open defines no error conditions.
In this implementation
.TP 5
-.na
-.hy 0
\fBdef_prog_mode\fP, \fBdef_shell_mode\fP, \fBreset_prog_mode\fP, \fBreset_shell_mode\fP
-.hy
-.ad
return an error
if the terminal was not initialized, or
if the I/O call to obtain the terminal settings fails.
.TP 5
\fBripoffline\fP
returns an error if the maximum number of ripped-off lines
-exceeds the maximum (NRIPS = 5).
+exceeds the maximum (5).
.SH NOTES
Note that \fBgetsyx\fP is a macro, so \fB&\fP is not necessary before
the variables \fIy\fP and \fIx\fP.
.\" authorization. *
.\"***************************************************************************
.\"
-.\" $Id: curs_legacy.3x,v 1.17 2023/07/01 15:43:20 tom Exp $
+.\" $Id: curs_legacy.3x,v 1.22 2023/09/16 23:37:03 tom Exp $
+.TH curs_legacy 3X 2023-09-16 "ncurses 6.4" "Library calls"
.de bP
.ie n .IP \(bu 4
.el .IP \(bu 2
..
-.TH curs_legacy 3X 2023-07-01 "ncurses 6.4" "Library calls"
.SH NAME
-curs_legacy \- get \fBcurses\fP cursor and window coordinates, attributes
+\fB\%getattrs\fP,
+\fB\%getbegx\fP,
+\fB\%getbegy\fP,
+\fB\%getcurx\fP,
+\fB\%getcury\fP,
+\fB\%getmaxx\fP,
+\fB\%getmaxy\fP,
+\fB\%getparx\fP,
+\fB\%getpary\fP \-
+get \fIcurses\fR cursor and window coordinates or attributes (legacy)
.SH SYNOPSIS
\fB#include <curses.h>\fP
.sp
.\"***************************************************************************
-.\" Copyright 2019-2021,2022 Thomas E. Dickey *
+.\" Copyright 2019-2022,2023 Thomas E. Dickey *
.\" Copyright 2008-2010,2017 Free Software Foundation, Inc. *
.\" *
.\" Permission is hereby granted, free of charge, to any person obtaining a *
.\" authorization. *
.\"***************************************************************************
.\"
-.\" $Id: curs_memleaks.3x,v 1.16 2022/06/04 23:33:48 tom Exp $
-.TH curs_memleaks 3X 2022-06-04 "ncurses 6.4" "Library calls"
+.\" $Id: curs_memleaks.3x,v 1.21 2023/09/16 23:37:03 tom Exp $
+.TH curs_memleaks 3X 2023-09-16 "ncurses 6.4" "Library calls"
.ie \n(.g .ds `` \(lq
.el .ds `` ``
.ie \n(.g .ds '' \(rq
.ie n .IP \(bu 4
.el .IP \(bu 2
..
-.na
-.hy 0
.SH NAME
-\fBexit_curses\fP,
-\fBexit_terminfo\fP \- \fBcurses\fP memory-leak checking
-.ad
-.hy
+\fB\%exit_curses\fP,
+\fB\%exit_terminfo\fP \-
+check for memory leaks in \fIcurses\fR
.SH SYNOPSIS
\fB#include <curses.h>\fP
.br
.\" authorization. *
.\"***************************************************************************
.\"
-.\" $Id: curs_mouse.3x,v 1.66 2023/09/09 21:13:51 tom Exp $
+.\" $Id: curs_mouse.3x,v 1.71 2023/09/16 23:37:03 tom Exp $
+.TH curs_mouse 3X 2023-09-16 "ncurses 6.4" "Library calls"
.ie \n(.g .ds `` \(lq
.el .ds `` ``
.ie \n(.g .ds '' \(rq
.ie n .IP \(bu 4
.el .IP \(bu 2
..
-.TH curs_mouse 3X 2023-09-09 "ncurses 6.4" "Library calls"
-.na
-.hy 0
.SH NAME
-\fBhas_mouse\fP,
-\fBgetmouse\fP, \fBungetmouse\fP,
-\fBmousemask\fP, \fBwenclose\fP,
-\fBmouse_trafo\fP, \fBwmouse_trafo\fP,
-\fBmouseinterval\fP \- mouse interface through curses
-.ad
-.hy
+\fB\%has_mouse\fP,
+\fB\%getmouse\fP,
+\fB\%ungetmouse\fP,
+\fB\%mousemask\fP,
+\fB\%wenclose\fP,
+\fB\%mouse_trafo\fP,
+\fB\%wmouse_trafo\fP,
+\fB\%mouseinterval\fP \-
+get mouse events in \fIcurses\fR
.SH SYNOPSIS
\fB#include <curses.h>\fP
.PP
.\" authorization. *
.\"***************************************************************************
.\"
-.\" $Id: curs_move.3x,v 1.26 2023/07/01 15:43:20 tom Exp $
-.TH curs_move 3X 2023-07-01 "ncurses 6.4" "Library calls"
-.na
-.hy 0
+.\" $Id: curs_move.3x,v 1.29 2023/09/16 20:18:53 tom Exp $
+.TH curs_move 3X 2023-09-16 "ncurses 6.4" "Library calls"
.SH NAME
-\fBmove\fP,
-\fBwmove\fP \- move \fBcurses\fP window cursor
-.ad
-.hy
+\fB\%move\fP,
+\fB\%wmove\fP \-
+move cursor in a \fIcurses\fR window
.SH SYNOPSIS
\fB#include <curses.h>\fP
.sp
.\" authorization. *
.\"***************************************************************************
.\"
-.\" $Id: curs_opaque.3x,v 1.23 2023/07/01 14:31:54 tom Exp $
-.TH curs_opaque 3X 2023-07-01 "ncurses 6.4" "Library calls"
+.\" $Id: curs_opaque.3x,v 1.27 2023/09/16 23:37:03 tom Exp $
+.TH curs_opaque 3X 2023-09-16 "ncurses 6.4" "Library calls"
.ie \n(.g .ds `` \(lq
.el .ds `` ``
.ie \n(.g .ds '' \(rq
.el .ds '' ''
-.na
-.hy 0
.SH NAME
-\fBis_cleared\fP,
-\fBis_idlok\fP,
-\fBis_idcok\fP,
-\fBis_immedok\fP,
-\fBis_keypad\fP,
-\fBis_leaveok\fP,
-\fBis_nodelay\fP,
-\fBis_notimeout\fP,
-\fBis_pad\fP,
-\fBis_scrollok\fP,
-\fBis_subwin\fP,
-\fBis_syncok\fP,
-\fBwgetdelay\fP,
-\fBwgetparent\fP,
-\fBwgetscrreg\fP \- \fBcurses\fP window properties
-.ad
-.hy
+\fB\%is_cleared\fP,
+\fB\%is_idlok\fP,
+\fB\%is_idcok\fP,
+\fB\%is_immedok\fP,
+\fB\%is_keypad\fP,
+\fB\%is_leaveok\fP,
+\fB\%is_nodelay\fP,
+\fB\%is_notimeout\fP,
+\fB\%is_pad\fP,
+\fB\%is_scrollok\fP,
+\fB\%is_subwin\fP,
+\fB\%is_syncok\fP,
+\fB\%wgetdelay\fP,
+\fB\%wgetparent\fP,
+\fB\%wgetscrreg\fP \-
+obtain \fIcurses\fR window properties
.SH SYNOPSIS
\fB#include <curses.h>\fP
.sp
.\" authorization. *
.\"***************************************************************************
.\"
-.\" $Id: curs_outopts.3x,v 1.40 2023/07/01 15:43:20 tom Exp $
-.TH curs_outopts 3X 2023-07-01 "ncurses 6.4" "Library calls"
-.na
-.hy 0
+.\" $Id: curs_outopts.3x,v 1.44 2023/09/16 23:37:03 tom Exp $
+.TH curs_outopts 3X 2023-09-16 "ncurses 6.4" "Library calls"
.de bP
.ie n .IP \(bu 4
.el .IP \(bu 2
..
.SH NAME
-\fBclearok\fP,
-\fBidlok\fP,
-\fBidcok\fP,
-\fBimmedok\fP,
-\fBleaveok\fP,
-\fBsetscrreg\fP,
-\fBwsetscrreg\fP,
-\fBscrollok\fP \- \fBcurses\fP output options
-.ad
-.hy
+\fB\%clearok\fP,
+\fB\%idlok\fP,
+\fB\%idcok\fP,
+\fB\%immedok\fP,
+\fB\%leaveok\fP,
+\fB\%setscrreg\fP,
+\fB\%wsetscrreg\fP,
+\fB\%scrollok\fP \-
+set \fIcurses\fR output options
.SH SYNOPSIS
\fB#include <curses.h>\fP
.sp
.\" authorization. *
.\"***************************************************************************
.\"
-.\" $Id: curs_overlay.3x,v 1.26 2023/07/01 15:43:20 tom Exp $
-.TH curs_overlay 3X 2023-07-01 "ncurses 6.4" "Library calls"
-.na
-.hy 0
+.\" $Id: curs_overlay.3x,v 1.30 2023/09/16 23:37:03 tom Exp $
+.TH curs_overlay 3X 2023-09-16 "ncurses 6.4" "Library calls"
.SH NAME
-\fBoverlay\fP,
-\fBoverwrite\fP,
-\fBcopywin\fP \- overlay and manipulate overlapped \fBcurses\fP windows
-.ad
-.hy
+\fB\%overlay\fP,
+\fB\%overwrite\fP,
+\fB\%copywin\fP \-
+overlay \fIcurses\fR windows and manipulate them
.SH SYNOPSIS
\fB#include <curses.h>\fP
.sp
.\" authorization. *
.\"***************************************************************************
.\"
-.\" $Id: curs_pad.3x,v 1.33 2023/07/01 15:43:20 tom Exp $
+.\" $Id: curs_pad.3x,v 1.38 2023/09/16 23:37:03 tom Exp $
+.TH curs_pad 3X 2023-09-16 "ncurses 6.4" "Library calls"
.de bP
.ie n .IP \(bu 4
.el .IP \(bu 2
..
-.TH curs_pad 3X 2023-07-01 "ncurses 6.4" "Library calls"
-.na
-.hy 0
.SH NAME
-\fBnewpad\fP,
-\fBsubpad\fP,
-\fBprefresh\fP,
-\fBpnoutrefresh\fP,
-\fBpechochar\fP,
-\fBpecho_wchar\fP \- create and display \fBcurses\fP pads
-.ad
-.hy
+\fB\%newpad\fP,
+\fB\%subpad\fP,
+\fB\%prefresh\fP,
+\fB\%pnoutrefresh\fP,
+\fB\%pechochar\fP,
+\fB\%pecho_wchar\fP \-
+create and display \fIcurses\fR pads
.SH SYNOPSIS
\fB#include <curses.h>\fP
.sp
.\"***************************************************************************
-.\" Copyright 2018-2021,2022 Thomas E. Dickey *
+.\" Copyright 2018-2022,2023 Thomas E. Dickey *
.\" Copyright 1998-2010,2017 Free Software Foundation, Inc. *
.\" *
.\" Permission is hereby granted, free of charge, to any person obtaining a *
.\" authorization. *
.\"***************************************************************************
.\"
-.\" $Id: curs_print.3x,v 1.20 2022/02/12 20:05:11 tom Exp $
-.TH curs_print 3X 2022-02-12 "ncurses 6.4" "Library calls"
+.\" $Id: curs_print.3x,v 1.25 2023/09/16 23:37:03 tom Exp $
+.TH curs_print 3X 2023-09-16 "ncurses 6.4" "Library calls"
.SH NAME
-\fBmcprint\fP \- ship binary data to printer
+\fB\%mcprint\fP \-
+write binary data to printer using \fIterminfo\fR capabilities
.SH SYNOPSIS
\fB#include <curses.h>\fP
.sp
.\"***************************************************************************
-.\" Copyright 2018-2021,2022 Thomas E. Dickey *
+.\" Copyright 2018-2022,2023 Thomas E. Dickey *
.\" Copyright 1998-2010,2017 Free Software Foundation, Inc. *
.\" *
.\" Permission is hereby granted, free of charge, to any person obtaining a *
.\" authorization. *
.\"***************************************************************************
.\"
-.\" $Id: curs_printw.3x,v 1.33 2022/02/12 20:05:11 tom Exp $
-.TH curs_printw 3X 2022-02-12 "ncurses 6.4" "Library calls"
+.\" $Id: curs_printw.3x,v 1.38 2023/09/16 23:37:03 tom Exp $
+.TH curs_printw 3X 2023-09-16 "ncurses 6.4" "Library calls"
.ie \n(.g .ds `` \(lq
.el .ds `` ``
.ie \n(.g .ds '' \(rq
.ie n .IP \(bu 4
.el .IP \(bu 2
..
-.na
-.hy 0
.SH NAME
-\fBprintw\fP,
-\fBwprintw\fP,
-\fBmvprintw\fP,
-\fBmvwprintw\fP,
-\fBvwprintw\fP, \fBvw_printw\fP \- print formatted output in \fBcurses\fP windows
-.ad
-.hy
+\fB\%printw\fP,
+\fB\%wprintw\fP,
+\fB\%mvprintw\fP,
+\fB\%mvwprintw\fP,
+\fB\%vwprintw\fP,
+\fB\%vw_printw\fP \-
+write formatted output to \fIcurses\fR windows
.SH SYNOPSIS
\fB#include <curses.h>\fP
.sp
.\" authorization. *
.\"***************************************************************************
.\"
-.\" $Id: curs_refresh.3x,v 1.31 2023/08/19 19:47:40 tom Exp $
-.TH curs_refresh 3X 2023-08-19 "ncurses 6.4" "Library calls"
+.\" $Id: curs_refresh.3x,v 1.35 2023/09/16 23:37:03 tom Exp $
+.TH curs_refresh 3X 2023-09-16 "ncurses 6.4" "Library calls"
.ie \n(.g .ds `` \(lq
.el .ds `` ``
.ie \n(.g .ds '' \(rq
.ie n .IP \(bu 4
.el .IP \(bu 2
..
-.na
-.hy 0
.SH NAME
-\fBdoupdate\fP,
-\fBredrawwin\fP,
-\fBrefresh\fP,
-\fBwnoutrefresh\fP,
-\fBwredrawln\fP,
-\fBwrefresh\fP \- refresh \fBcurses\fP windows and lines
-.ad
-.hy
+\fB\%doupdate\fP,
+\fB\%redrawwin\fP,
+\fB\%refresh\fP,
+\fB\%wnoutrefresh\fP,
+\fB\%wredrawln\fP,
+\fB\%wrefresh\fP \-
+refresh \fIcurses\fR windows or lines thereupon
.SH SYNOPSIS
\fB#include <curses.h>\fP
.sp
.\"***************************************************************************
-.\" Copyright 2018-2021,2022 Thomas E. Dickey *
+.\" Copyright 2018-2022,2023 Thomas E. Dickey *
.\" Copyright 1998-2010,2017 Free Software Foundation, Inc. *
.\" *
.\" Permission is hereby granted, free of charge, to any person obtaining a *
.\" authorization. *
.\"***************************************************************************
.\"
-.\" $Id: curs_scanw.3x,v 1.33 2022/02/12 20:05:11 tom Exp $
-.TH curs_scanw 3X 2022-02-12 "ncurses 6.4" "Library calls"
+.\" $Id: curs_scanw.3x,v 1.38 2023/09/16 23:37:03 tom Exp $
+.TH curs_scanw 3X 2023-09-16 "ncurses 6.4" "Library calls"
.ie \n(.g .ds `` \(lq
.el .ds `` ``
.ie \n(.g .ds '' \(rq
.el .IP \(bu 2
..
.SH NAME
-\fBscanw\fP,
-\fBwscanw\fP,
-\fBmvscanw\fP,
-\fBmvwscanw\fP,
-\fBvwscanw\fP, \fBvw_scanw\fP \- convert formatted input from a \fBcurses\fP window
+\fB\%scanw\fP,
+\fB\%wscanw\fP,
+\fB\%mvscanw\fP,
+\fB\%mvwscanw\fP,
+\fB\%vwscanw\fP,
+\fB\%vw_scanw\fP \-
+read formatted input from a \fIcurses\fR window
.SH SYNOPSIS
\fB#include <curses.h>\fP
.sp
.\" authorization. *
.\"***************************************************************************
.\"
-.\" $Id: curs_scr_dump.3x,v 1.24 2023/07/01 15:43:20 tom Exp $
-.TH curs_scr_dump 3X 2023-07-01 "ncurses 6.4" "Library calls"
+.\" $Id: curs_scr_dump.3x,v 1.28 2023/09/16 23:37:03 tom Exp $
+.TH curs_scr_dump 3X 2023-09-16 "ncurses 6.4" "Library calls"
.ie \n(.g .ds `` \(lq
.el .ds `` ``
.ie \n(.g .ds '' \(rq
.ie n .IP \(bu 4
.el .IP \(bu 2
..
-.na
-.hy 0
.SH NAME
-\fBscr_dump\fP,
-\fBscr_restore\fP,
-\fBscr_init\fP,
-\fBscr_set\fP \- read (write) a \fBcurses\fP screen from (to) a file
-.ad
-.hy
+\fB\%scr_dump\fP,
+\fB\%scr_restore\fP,
+\fB\%scr_init\fP,
+\fB\%scr_set\fP \-
+read/write a \fIcurses\fR screen from/to a file
.SH SYNOPSIS
\fB#include <curses.h>\fP
.sp
.\" authorization. *
.\"***************************************************************************
.\"
-.\" $Id: curs_scroll.3x,v 1.28 2023/08/19 19:47:52 tom Exp $
-.TH curs_scroll 3X 2023-08-19 "ncurses 6.4" "Library calls"
+.\" $Id: curs_scroll.3x,v 1.32 2023/09/16 23:37:03 tom Exp $
+.TH curs_scroll 3X 2023-09-16 "ncurses 6.4" "Library calls"
.ie \n(.g .ds `` \(lq
.el .ds `` ``
.ie \n(.g .ds '' \(rq
.el .ds '' ''
-.na
-.hy 0
.SH NAME
-\fBscroll\fP,
-\fBscrl\fP,
-\fBwscrl\fP \- scroll a \fBcurses\fP window
-.ad
-.hy
+\fB\%scroll\fP,
+\fB\%scrl\fP,
+\fB\%wscrl\fP \-
+scroll a \fIcurses\fR window
.SH SYNOPSIS
\fB#include <curses.h>\fP
.sp
.\" authorization. *
.\"***************************************************************************
.\"
-.\" $Id: curs_slk.3x,v 1.48 2023/07/01 15:43:20 tom Exp $
-.TH curs_slk 3X 2023-07-01 "ncurses 6.4" "Library calls"
+.\" $Id: curs_slk.3x,v 1.53 2023/09/16 23:37:03 tom Exp $
+.TH curs_slk 3X 2023-09-16 "ncurses 6.4" "Library calls"
.ie \n(.g .ds `` \(lq
.el .ds `` ``
.ie \n(.g .ds '' \(rq
.ie n .IP \(bu 4
.el .IP \(bu 2
..
-.na
-.hy 0
.SH NAME
-\fBslk_init\fP,
-\fBslk_set\fP,
-\fBslk_wset\fP,
-\fBslk_refresh\fP,
-\fBslk_noutrefresh\fP,
-\fBslk_label\fP,
-\fBslk_clear\fP,
-\fBslk_restore\fP,
-\fBslk_touch\fP,
-\fBslk_attron\fP,
-\fBslk_attrset\fP,
-\fBslk_attroff\fP,
-\fBslk_attr_on\fP,
-\fBslk_attr_set\fP,
-\fBslk_attr_off\fP,
-\fBslk_attr\fP,
-\fBslk_color\fP,
-\fBextended_slk_color\fP \- \fBcurses\fP soft label routines
-.ad
-.hy
+\fB\%slk_init\fP,
+\fB\%slk_set\fP,
+\fB\%slk_wset\fP,
+\fB\%slk_refresh\fP,
+\fB\%slk_noutrefresh\fP,
+\fB\%slk_label\fP,
+\fB\%slk_clear\fP,
+\fB\%slk_restore\fP,
+\fB\%slk_touch\fP,
+\fB\%slk_attron\fP,
+\fB\%slk_attrset\fP,
+\fB\%slk_attroff\fP,
+\fB\%slk_attr_on\fP,
+\fB\%slk_attr_set\fP,
+\fB\%slk_attr_off\fP,
+\fB\%slk_attr\fP,
+\fB\%slk_color\fP,
+\fB\%extended_slk_color\fP \-
+\fIcurses\fR soft label key routines
.SH SYNOPSIS
\fB#include <curses.h>\fP
.sp
\fBslk_attr\fP
returns the attribute used for the soft keys.
.TP 5
-.na
-.hy 0
\fBslk_attroff\fP, \fBslk_attron\fP, \fBslk_clear\fP, \fBslk_noutrefresh\fP, \fBslk_refresh\fP, \fBslk_touch\fP
-.ad
-.hy
return an error
if the terminal or the softkeys were not initialized.
.TP 5
.\" authorization. *
.\"***************************************************************************
.\"
-.\" $Id: curs_sp_funcs.3x,v 1.33 2023/08/19 19:48:07 tom Exp $
-.TH curs_sp_funcs 3X 2023-08-19 "ncurses 6.4" "Library calls"
+.\" $Id: curs_sp_funcs.3x,v 1.37 2023/09/16 23:37:03 tom Exp $
+.TH curs_sp_funcs 3X 2023-09-16 "ncurses 6.4" "Library calls"
.ie \n(.g .ds `` \(lq
.el .ds `` ``
.ie \n(.g .ds '' \(rq
.el .ds '' ''
-.na
-.hy 0
.SH NAME
-curs_sp_funcs \- \fBcurses\fP screen-pointer extension
-.ad
-.hy
+\fB\%curs_sp_funcs\fP \-
+\fIcurses\fR screen-pointer extension
.SH SYNOPSIS
\fB#include <curses.h>\fP
.nf
.\" authorization. *
.\"***************************************************************************
.\"
-.\" $Id: curs_termattrs.3x,v 1.24 2023/07/01 14:31:54 tom Exp $
-.TH curs_termattrs 3X 2023-07-01 "ncurses 6.4" "Library calls"
+.\" $Id: curs_termattrs.3x,v 1.28 2023/09/16 23:37:03 tom Exp $
+.TH curs_termattrs 3X 2023-09-16 "ncurses 6.4" "Library calls"
.SH NAME
-\fBbaudrate\fP,
-\fBerasechar\fP,
-\fBerasewchar\fP,
-\fBhas_ic\fP,
-\fBhas_il\fP,
-\fBkillchar\fP,
-\fBkillwchar\fP,
-\fBlongname\fP,
-\fBterm_attrs\fP,
-\fBtermattrs\fP,
-\fBtermname\fP \- \fBcurses\fP environment query routines
+\fB\%baudrate\fP,
+\fB\%erasechar\fP,
+\fB\%erasewchar\fP,
+\fB\%has_ic\fP,
+\fB\%has_il\fP,
+\fB\%killchar\fP,
+\fB\%killwchar\fP,
+\fB\%longname\fP,
+\fB\%term_attrs\fP,
+\fB\%termattrs\fP,
+\fB\%termname\fP \-
+\fIcurses\fR environment query routines
.SH SYNOPSIS
\fB#include <curses.h>\fP
.PP
.\" authorization. *
.\"***************************************************************************
.\"
-.\" $Id: curs_termcap.3x,v 1.62 2023/07/01 15:28:47 tom Exp $
-.TH curs_termcap 3X 2023-07-01 "ncurses 6.4" "Library calls"
+.\" $Id: curs_termcap.3x,v 1.66 2023/09/16 23:37:03 tom Exp $
+.TH curs_termcap 3X 2023-09-16 "ncurses 6.4" "Library calls"
.ie \n(.g .ds `` \(lq
.el .ds `` ``
.ie \n(.g .ds '' \(rq
.ie n .IP \(bu 4
.el .IP \(bu 2
..
-.na
-.hy 0
.ds n 5
.SH NAME
-\fBPC\fP,
-\fBUP\fP,
-\fBBC\fP,
-\fBospeed\fP,
-\fBtgetent\fP,
-\fBtgetflag\fP,
-\fBtgetnum\fP,
-\fBtgetstr\fP,
-\fBtgoto\fP,
-\fBtputs\fP \- \fBcurses\fP emulation of termcap
-.ad
-.hy
+\fB\%PC\fP,
+\fB\%UP\fP,
+\fB\%BC\fP,
+\fB\%ospeed\fP,
+\fB\%tgetent\fP,
+\fB\%tgetflag\fP,
+\fB\%tgetnum\fP,
+\fB\%tgetstr\fP,
+\fB\%tgoto\fP,
+\fB\%tputs\fP \-
+\fIcurses\fR emulation of \fItermcap\fR
.SH SYNOPSIS
\fB#include <curses.h>\fP
.br
.\" authorization. *
.\"***************************************************************************
.\"
-.\" $Id: curs_terminfo.3x,v 1.95 2023/08/19 20:37:54 tom Exp $
-.TH curs_terminfo 3X 2023-08-19 "ncurses 6.4" "Library calls"
+.\" $Id: curs_terminfo.3x,v 1.99 2023/09/16 23:37:03 tom Exp $
+.TH curs_terminfo 3X 2023-09-16 "ncurses 6.4" "Library calls"
.ie \n(.g .ds `` \(lq
.el .ds `` ``
.ie \n(.g .ds '' \(rq
.el .IP \(bu 2
..
.ds n 5
-.na
-.hy 0
.SH NAME
-\fBdel_curterm\fP,
-\fBmvcur\fP,
-\fBputp\fP,
-\fBrestartterm\fP,
-\fBset_curterm\fP,
-\fBsetupterm\fP,
-\fBtigetflag\fP,
-\fBtigetnum\fP,
-\fBtigetstr\fP,
-\fBtiparm\fP,
-\fBtiparm_s\fP,
-\fBtiscan_s\fP,
-\fBtparm\fP,
-\fBtputs\fP,
-\fBvid_attr\fP,
-\fBvid_puts\fP,
-\fBvidattr\fP,
-\fBvidputs\fP \- \fBcurses\fP interfaces to terminfo database
-.ad
-.hy
+\fB\%del_curterm\fP,
+\fB\%mvcur\fP,
+\fB\%putp\fP,
+\fB\%restartterm\fP,
+\fB\%set_curterm\fP,
+\fB\%setupterm\fP,
+\fB\%tigetflag\fP,
+\fB\%tigetnum\fP,
+\fB\%tigetstr\fP,
+\fB\%tiparm\fP,
+\fB\%tiparm_s\fP,
+\fB\%tiscan_s\fP,
+\fB\%tparm\fP,
+\fB\%tputs\fP,
+\fB\%vid_attr\fP,
+\fB\%vid_puts\fP,
+\fB\%vidattr\fP,
+\fB\%vidputs\fP \-
+\fIcurses\fR interfaces to \fIterminfo\fR database
.SH SYNOPSIS
.nf
\fB#include <curses.h>\fP
.\" authorization. *
.\"***************************************************************************
.\"
-.\" $Id: curs_threads.3x,v 1.37 2023/08/19 20:38:10 tom Exp $
-.TH curs_threads 3X 2023-08-19 "ncurses 6.4" "Library calls"
+.\" $Id: curs_threads.3x,v 1.41 2023/09/16 23:37:03 tom Exp $
+.TH curs_threads 3X 2023-09-16 "ncurses 6.4" "Library calls"
.de bP
.ie n .IP \(bu 4
.el .IP \(bu 2
..
-.na
-.hy 0
.SH NAME
-\fBcurs_threads\fP \- \fBcurses\fP thread support
-.ad
-.hy
+\fB\%curs_threads\fP \-
+\fIcurses\fR thread support
.SH SYNOPSIS
\fB#include <curses.h>\fP
.sp
.\" authorization. *
.\"***************************************************************************
.\"
-.\" $Id: curs_touch.3x,v 1.30 2023/07/01 15:46:10 tom Exp $
-.TH curs_touch 3X 2023-07-01 "ncurses 6.4" "Library calls"
-.na
-.hy 0
+.\" $Id: curs_touch.3x,v 1.34 2023/09/16 23:37:03 tom Exp $
+.TH curs_touch 3X 2023-09-16 "ncurses 6.4" "Library calls"
.SH NAME
-\fBtouchwin\fP,
-\fBtouchline\fP,
-\fBuntouchwin\fP,
-\fBwtouchln\fP,
-\fBis_linetouched\fP,
-\fBis_wintouched\fP \- \fBcurses\fP refresh control routines
-.ad
-.hy
+\fB\%touchwin\fP,
+\fB\%touchline\fP,
+\fB\%untouchwin\fP,
+\fB\%wtouchln\fP,
+\fB\%is_linetouched\fP,
+\fB\%is_wintouched\fP \-
+control terminal output refresh in a \fIcurses\fR window
.SH SYNOPSIS
\fB#include <curses.h>\fP
.sp
.\" authorization. *
.\"***************************************************************************
.\"
-.\" $Id: curs_trace.3x,v 1.29 2023/07/01 15:46:10 tom Exp $
+.\" $Id: curs_trace.3x,v 1.35 2023/09/16 23:37:03 tom Exp $
+.TH curs_trace 3X 2023-09-16 "ncurses 6.4" "Library calls"
.ie \n(.g .ds `` \(lq
.el .ds `` ``
.ie \n(.g .ds '' \(rq
.ie n .IP \(bu 4
.el .IP \(bu 2
..
-.TH curs_trace 3X 2023-07-01 "ncurses 6.4" "Library calls"
-.na
-.hy 0
.SH NAME
-\fBcurses_trace\fP,
-\fBtrace\fP,
-\fB_tracef\fP,
-\fB_traceattr\fP,
-\fB_traceattr2\fP,
-\fB_tracecchar_t\fP,
-\fB_tracecchar_t2\fP,
-\fB_tracechar\fP,
-\fB_tracechtype\fP,
-\fB_tracechtype2\fP,
-\fB_nc_tracebits\fP,
-\fB_tracedump\fP,
-\fB_tracemouse\fP \- \fBcurses\fP debugging routines
-.ad
-.hy
+\fB\%curses_trace\fP,
+\fB\%trace\fP,
+\fB\%_tracef\fP,
+\fB\%_traceattr\fP,
+\fB\%_traceattr2\fP,
+\fB\%_tracecchar_t\fP,
+\fB\%_tracecchar_t2\fP,
+\fB\%_tracechar\fP,
+\fB\%_tracechtype\fP,
+\fB\%_tracechtype2\fP,
+\fB\%_nc_tracebits\fP,
+\fB\%_tracedump\fP,
+\fB\%_tracemouse\fP \-
+\fIcurses\fR debugging routines
.SH SYNOPSIS
\fB#include <curses.h>\fP
.sp
to set the tracing feature as if \fBcurses_trace\fP was called:
.RS 4
.PP
-.na
-.hy 0
filter,
initscr,
new_prescr,
use_env,
use_extended_names,
use_tioctl
-.hy
-.ad
.RE
.SS Command-line Utilities
The command-line utilities such as \fBtic\fP(1) provide a verbose option
.\" authorization. *
.\"***************************************************************************
.\"
-.\" $Id: curs_util.3x,v 1.73 2023/08/19 20:38:17 tom Exp $
-.TH curs_util 3X 2023-08-19 "ncurses 6.4" "Library calls"
+.\" $Id: curs_util.3x,v 1.77 2023/09/16 23:37:03 tom Exp $
+.TH curs_util 3X 2023-09-16 "ncurses 6.4" "Library calls"
.ie \n(.g .ds `` \(lq
.el .ds `` ``
.ie \n(.g .ds '' \(rq
.ie n .IP \(bu 4
.el .IP \(bu 2
..
-.na
-.hy 0
.SH NAME
-\fBdelay_output\fP,
-\fBfilter\fP,
-\fBflushinp\fP,
-\fBgetwin\fP,
-\fBkey_name\fP,
-\fBkeyname\fP,
-\fBnofilter\fP,
-\fBputwin\fP,
-\fBunctrl\fP,
-\fBuse_env\fP,
-\fBuse_tioctl\fP,
-\fBwunctrl\fP \- miscellaneous \fBcurses\fP utility routines
-.ad
-.hy
+\fB\%delay_output\fP,
+\fB\%filter\fP,
+\fB\%flushinp\fP,
+\fB\%getwin\fP,
+\fB\%key_name\fP,
+\fB\%keyname\fP,
+\fB\%nofilter\fP,
+\fB\%putwin\fP,
+\fB\%unctrl\fP,
+\fB\%use_env\fP,
+\fB\%use_tioctl\fP,
+\fB\%wunctrl\fP \-
+miscellaneous \fIcurses\fR utility routines
.SH SYNOPSIS
\fB#include <curses.h>\fP
.sp
.\"***************************************************************************
-.\" Copyright 2018-2020,2021 Thomas E. Dickey *
+.\" Copyright 2018-2021,2023 Thomas E. Dickey *
.\" Copyright 2010-2015,2017 Free Software Foundation, Inc. *
.\" *
.\" Permission is hereby granted, free of charge, to any person obtaining a *
.\" authorization. *
.\"***************************************************************************
.\"
-.\" $Id: curs_variables.3x,v 1.18 2021/12/25 21:49:32 tom Exp $
-.TH curs_variables 3X 2021-12-25 "ncurses 6.4" "Library calls"
+.\" $Id: curs_variables.3x,v 1.23 2023/09/16 23:37:03 tom Exp $
+.TH curs_variables 3X 2023-09-16 "ncurses 6.4" "Library calls"
.ie \n(.g .ds `` \(lq
.el .ds `` ``
.ie \n(.g .ds '' \(rq
.el .IP \(bu 2
..
.ds n 5
-.na
-.hy 0
.SH NAME
-\fBCOLORS\fP,
-\fBCOLOR_PAIRS\fP,
-\fBCOLS\fP,
-\fBESCDELAY\fP,
-\fBLINES\fP,
-\fBTABSIZE\fP,
-\fBcurscr\fP,
-\fBnewscr\fP,
-\fBstdscr\fP
-\- \fBcurses\fP global variables
-.ad
-.hy
+\fB\%COLORS\fP,
+\fB\%COLOR_PAIRS\fP,
+\fB\%COLS\fP,
+\fB\%ESCDELAY\fP,
+\fB\%LINES\fP,
+\fB\%TABSIZE\fP,
+\fB\%curscr\fP,
+\fB\%newscr\fP,
+\fB\%stdscr\fP \-
+\fIcurses\fR global variables
.SH SYNOPSIS
.nf
\fB#include <curses.h>\fP
.\" authorization. *
.\"***************************************************************************
.\"
-.\" $Id: curs_window.3x,v 1.32 2023/07/01 15:46:10 tom Exp $
-.TH curs_window 3X 2023-07-01 "ncurses 6.4" "Library calls"
+.\" $Id: curs_window.3x,v 1.36 2023/09/16 23:37:03 tom Exp $
+.TH curs_window 3X 2023-09-16 "ncurses 6.4" "Library calls"
.de bP
.ie n .IP \(bu 4
.el .IP \(bu 2
..
-.na
-.hy 0
.SH NAME
-\fBnewwin\fP,
-\fBdelwin\fP,
-\fBmvwin\fP,
-\fBsubwin\fP,
-\fBderwin\fP,
-\fBmvderwin\fP,
-\fBdupwin\fP,
-\fBwsyncup\fP,
-\fBsyncok\fP,
-\fBwcursyncup\fP,
-\fBwsyncdown\fP \- create \fBcurses\fP windows
-.ad
-.hy
+\fB\%newwin\fP,
+\fB\%delwin\fP,
+\fB\%mvwin\fP,
+\fB\%subwin\fP,
+\fB\%derwin\fP,
+\fB\%mvderwin\fP,
+\fB\%dupwin\fP,
+\fB\%wsyncup\fP,
+\fB\%syncok\fP,
+\fB\%wcursyncup\fP,
+\fB\%wsyncdown\fP \-
+create and manipulate \fIcurses\fR windows
.SH SYNOPSIS
\fB#include <curses.h>\fP
.sp
.\"
.\" Author: Thomas E. Dickey 1997,1999,2000,2005
.\"
-.\" $Id: default_colors.3x,v 1.38 2023/08/19 19:48:15 tom Exp $
-.TH default_colors 3X 2023-08-19 "ncurses 6.4" "Library calls"
+.\" $Id: default_colors.3x,v 1.41 2023/09/16 23:37:03 tom Exp $
+.TH default_colors 3X 2023-09-16 "ncurses 6.4" "Library calls"
.ie \n(.g .ds `` \(lq
.el .ds `` ``
.ie \n(.g .ds '' \(rq
.el .ds '' ''
.SH NAME
-\fBuse_default_colors\fP,
-\fBassume_default_colors\fP \- use terminal's default colors
+\fB\%use_default_colors\fP,
+\fB\%assume_default_colors\fP \-
+use terminal's default colors
.SH SYNOPSIS
\fB#include <curses.h>\fP
.sp
.\"***************************************************************************
-.\" Copyright 2018-2021,2022 Thomas E. Dickey *
+.\" Copyright 2018-2022,2023 Thomas E. Dickey *
.\" Copyright 1998-2010,2017 Free Software Foundation, Inc. *
.\" *
.\" Permission is hereby granted, free of charge, to any person obtaining a *
.\"
.\" Author: Thomas E. Dickey 1997
.\"
-.\" $Id: define_key.3x,v 1.22 2022/02/12 20:03:40 tom Exp $
-.TH define_key 3X 2022-02-12 "ncurses 6.4" "Library calls"
+.\" $Id: define_key.3x,v 1.27 2023/09/16 23:37:03 tom Exp $
+.TH define_key 3X 2023-09-16 "ncurses 6.4" "Library calls"
.SH NAME
-\fBdefine_key\fP \- define a keycode
+\fB\%define_key\fP \-
+define a \fIcurses\fR keycode
.SH SYNOPSIS
\fB#include <curses.h>\fP
.sp
.\" authorization. *
.\"***************************************************************************
.\"
-.\" $Id: form.3x,v 1.43 2023/08/19 20:38:32 tom Exp $
-.TH form 3X 2023-08-19 "ncurses 6.4" "Library calls"
+.\" $Id: form.3x,v 1.45 2023/09/16 23:37:03 tom Exp $
+.TH form 3X 2023-09-16 "ncurses 6.4" "Library calls"
.ie \n(.g .ds `` \(lq
.el .ds `` ``
.ie \n(.g .ds '' \(rq
.el .IP \(bu 2
..
.SH NAME
-\fBform\fP \- curses extension for programming forms
+\fBform\fP \-
+curses extension for programming forms
.SH SYNOPSIS
\fB#include <form.h>\fP
.SH DESCRIPTION
.\" authorization. *
.\"***************************************************************************
.\"
-.\" $Id: form_cursor.3x,v 1.21 2023/07/01 15:46:10 tom Exp $
-.TH form_cursor 3X 2023-07-01 "ncurses 6.4" "Library calls"
+.\" $Id: form_cursor.3x,v 1.23 2023/09/16 23:37:03 tom Exp $
+.TH form_cursor 3X 2023-09-16 "ncurses 6.4" "Library calls"
.SH NAME
-\fBpos_form_cursor\fP \- position a form window cursor
+\fBpos_form_cursor\fP \-
+position a form window cursor
.SH SYNOPSIS
\fB#include <form.h>\fP
.sp
.\" authorization. *
.\"***************************************************************************
.\"
-.\" $Id: form_data.3x,v 1.22 2023/07/01 15:46:10 tom Exp $
-.TH form_data 3X 2023-07-01 "ncurses 6.4" "Library calls"
+.\" $Id: form_data.3x,v 1.24 2023/09/16 23:37:03 tom Exp $
+.TH form_data 3X 2023-09-16 "ncurses 6.4" "Library calls"
.SH NAME
\fBdata_ahead\fP,
-\fBdata_behind\fP \- test for off-screen data in given forms
+\fBdata_behind\fP \-
+test for off-screen data in given forms
.SH SYNOPSIS
\fB#include <form.h>\fP
.sp
.\" authorization. *
.\"***************************************************************************
.\"
-.\" $Id: form_driver.3x,v 1.45 2023/08/19 20:38:39 tom Exp $
-.TH form_driver 3X 2023-08-19 "ncurses 6.4" "Library calls"
+.\" $Id: form_driver.3x,v 1.47 2023/09/16 23:37:03 tom Exp $
+.TH form_driver 3X 2023-09-16 "ncurses 6.4" "Library calls"
.de bP
.ie n .IP \(bu 4
.el .IP \(bu 2
..
.SH NAME
\fBform_driver\fP,
-\fBform_driver_w\fP \- command-processing loop of the form system
+\fBform_driver_w\fP \-
+command-processing loop of the form system
.SH SYNOPSIS
\fB#include <form.h>\fP
.sp
.\" authorization. *
.\"***************************************************************************
.\"
-.\" $Id: form_field.3x,v 1.24 2023/07/01 15:46:10 tom Exp $
-.TH form_field 3X 2023-07-01 "ncurses 6.4" "Library calls"
+.\" $Id: form_field.3x,v 1.26 2023/09/16 23:37:03 tom Exp $
+.TH form_field 3X 2023-09-16 "ncurses 6.4" "Library calls"
.SH NAME
-\fBform_field\fP \- make and break connections between fields and forms
+\fBform_field\fP \-
+make and break connections between fields and forms
.SH SYNOPSIS
\fB#include <form.h>\fP
.sp
.\" authorization. *
.\"***************************************************************************
.\"
-.\" $Id: form_field_attributes.3x,v 1.25 2023/07/01 15:46:10 tom Exp $
-.TH form_field_attributes 3X 2023-07-01 "ncurses 6.4" "Library calls"
+.\" $Id: form_field_attributes.3x,v 1.27 2023/09/16 23:37:03 tom Exp $
+.TH form_field_attributes 3X 2023-09-16 "ncurses 6.4" "Library calls"
.ie \n(.g .ds `` \(lq
.el .ds `` ``
.ie \n(.g .ds '' \(rq
.el .ds '' ''
.SH NAME
-\fBform_field_attributes\fP \- color and attribute control for form fields
+\fBform_field_attributes\fP \-
+color and attribute control for form fields
.SH SYNOPSIS
\fB#include <form.h>\fP
.sp
.\" authorization. *
.\"***************************************************************************
.\"
-.\" $Id: form_field_buffer.3x,v 1.34 2023/07/01 15:46:10 tom Exp $
-.TH form_field_buffer 3X 2023-07-01 "ncurses 6.4" "Library calls"
+.\" $Id: form_field_buffer.3x,v 1.36 2023/09/16 23:37:03 tom Exp $
+.TH form_field_buffer 3X 2023-09-16 "ncurses 6.4" "Library calls"
.ie \n(.g .ds `` \(lq
.el .ds `` ``
.ie \n(.g .ds '' \(rq
.el .IP \(bu 2
..
.SH NAME
-\fBform_field_buffer\fP \- field buffer control
+\fBform_field_buffer\fP \-
+field buffer control
.SH SYNOPSIS
\fB#include <form.h>\fP
.sp
'\" t
.\"***************************************************************************
-.\" Copyright 2018-2021,2022 Thomas E. Dickey *
+.\" Copyright 2018-2022,2023 Thomas E. Dickey *
.\" Copyright 1998-2010,2015 Free Software Foundation, Inc. *
.\" *
.\" Permission is hereby granted, free of charge, to any person obtaining a *
.\" authorization. *
.\"***************************************************************************
.\"
-.\" $Id: form_field_info.3x,v 1.22 2022/02/12 20:03:40 tom Exp $
-.TH form_field_info 3X 2022-02-12 "ncurses 6.4" "Library calls"
+.\" $Id: form_field_info.3x,v 1.24 2023/09/16 23:39:54 tom Exp $
+.TH form_field_info 3X 2023-09-16 "ncurses 6.4" "Library calls"
.ie \n(.g .ds `` \(lq
.el .ds `` ``
.ie \n(.g .ds '' \(rq
.el .ds '' ''
.SH NAME
\fBdynamic_field_info\fP,
-\fBfield_info\fP \- retrieve field characteristics
+\fBfield_info\fP \-
+retrieve field characteristics
.SH SYNOPSIS
.nf
\fB#include <form.h>\fP
.\" authorization. *
.\"***************************************************************************
.\"
-.\" $Id: form_field_just.3x,v 1.25 2023/07/01 15:46:10 tom Exp $
-.TH form_field_just 3X 2023-07-01 "ncurses 6.4" "Library calls"
+.\" $Id: form_field_just.3x,v 1.27 2023/09/16 23:37:03 tom Exp $
+.TH form_field_just 3X 2023-09-16 "ncurses 6.4" "Library calls"
.ie \n(.g .ds `` \(lq
.el .ds `` ``
.ie \n(.g .ds '' \(rq
.el .ds '' ''
.SH NAME
\fBset_field_just\fP,
-\fBfield_just\fP \- retrieve field characteristics
+\fBfield_just\fP \-
+retrieve field characteristics
.SH SYNOPSIS
\fB#include <form.h>\fP
.sp
.\" authorization. *
.\"***************************************************************************
.\"
-.\" $Id: form_field_new.3x,v 1.31 2023/07/01 15:46:10 tom Exp $
-.TH form_field_new 3X 2023-07-01 "ncurses 6.4" "Library calls"
+.\" $Id: form_field_new.3x,v 1.33 2023/09/16 23:37:03 tom Exp $
+.TH form_field_new 3X 2023-09-16 "ncurses 6.4" "Library calls"
.SH NAME
\fBnew_field\fP,
\fBdup_field\fP,
\fBlink_field\fP,
-\fBfree_field\fP \- create and destroy form fields
+\fBfree_field\fP \-
+create and destroy form fields
.SH SYNOPSIS
\fB#include <form.h>\fP
.sp
.\" authorization. *
.\"***************************************************************************
.\"
-.\" $Id: form_field_opts.3x,v 1.34 2023/07/01 15:46:10 tom Exp $
-.TH form_field_opts 3X 2023-07-01 "ncurses 6.4" "Library calls"
+.\" $Id: form_field_opts.3x,v 1.36 2023/09/16 23:37:03 tom Exp $
+.TH form_field_opts 3X 2023-09-16 "ncurses 6.4" "Library calls"
.SH NAME
\fBset_field_opts\fP,
\fBfield_opts_on\fP,
\fBfield_opts_off\fP,
-\fBfield_opts\fP \- set and get field options
+\fBfield_opts\fP \-
+set and get field options
.SH SYNOPSIS
\fB#include <form.h>\fP
.sp
'\" t
.\"***************************************************************************
-.\" Copyright 2018-2021,2022 Thomas E. Dickey *
+.\" Copyright 2018-2022,2023 Thomas E. Dickey *
.\" Copyright 1998-2010,2015 Free Software Foundation, Inc. *
.\" *
.\" Permission is hereby granted, free of charge, to any person obtaining a *
.\" authorization. *
.\"***************************************************************************
.\"
-.\" $Id: form_field_userptr.3x,v 1.20 2022/02/12 20:03:40 tom Exp $
-.TH form_field_userptr 3X 2022-02-12 "ncurses 6.4" "Library calls"
+.\" $Id: form_field_userptr.3x,v 1.22 2023/09/16 23:39:54 tom Exp $
+.TH form_field_userptr 3X 2023-09-16 "ncurses 6.4" "Library calls"
.SH NAME
\fBset_field_userptr\fP,
-\fBfield_userptr\fP \- associate application data with a form field
+\fBfield_userptr\fP \-
+associate application data with a form field
.SH SYNOPSIS
\fB#include <form.h>\fP
.sp
.\" authorization. *
.\"***************************************************************************
.\"
-.\" $Id: form_field_validation.3x,v 1.40 2023/07/01 15:46:10 tom Exp $
-.TH form_field_validation 3X 2023-07-01 "ncurses 6.4" "Library calls"
+.\" $Id: form_field_validation.3x,v 1.44 2023/09/16 23:37:03 tom Exp $
+.TH form_field_validation 3X 2023-09-16 "ncurses 6.4" "Library calls"
.ie \n(.g .ds `` \(lq
.el .ds `` ``
.ie \n(.g .ds '' \(rq
.el .IP \(bu 2
..
.SH NAME
-\fBform_field_validation\fP \- data type validation for fields
+\fBform_field_validation\fP \-
+data type validation for fields
.SH SYNOPSIS
\fB#include <form.h>\fP
.sp
via arguments which the caller provides when calling \fBset_field_type\fP.
.PP
Several field types are predefined by the form library.
-.SS Predefined types
+.SH PREDEFINED TYPES
It is possible to set up new programmer-defined field types.
Field types are implemented via the \fBFIELDTYPE\fP data
structure, which contains several pointers to functions.
a field-type dynamically.
.PP
The predefined types are as follows:
-.TP 5
-TYPE_ALNUM
+.SS TYPE_ALNUM
Alphanumeric data.
Required parameter:
-.RS
.bP
a third \fBint\fP argument, a minimum field width.
-.RE
-.TP 5
-TYPE_ALPHA
+.SS TYPE_ALPHA
Character data.
Required parameter:
-.RS
.bP
a third \fBint\fP argument, a minimum field width.
-.RE
-.TP 5
-TYPE_ENUM
+.SS TYPE_ENUM
Accept one of a specified set of strings.
Required parameters:
-.RS
.bP
a third \fB(char **)\fP argument pointing to a string list;
.bP
match must be a unique one.
If this flag is off, a prefix matches the first
of any set of more than one list elements with that prefix.
-.RE
-.IP
+.PP
The library copies the string list,
so you may use a list that lives in automatic variables on the stack.
-.TP 5
-TYPE_INTEGER
+.SS TYPE_INTEGER
Integer data, parsable to an integer by \fBatoi\fP(3).
Required parameters:
-.RS
.bP
a third \fBint\fP argument controlling the precision,
.bP
a fifth \fBlong\fP constraining maximum value.
If the maximum value is less than or equal to the minimum value, the range is
simply ignored.
-.RE
-.IP
+.PP
On return, the field buffer is formatted according to the
\fBprintf\fP format specification \*(``.*ld\*('',
where the \*(``*\*('' is replaced by the precision argument.
-.IP
+.PP
For details of the precision handling see \fBprintf\fP(3).
-.TP 5
-TYPE_NUMERIC
+.SS TYPE_NUMERIC
Numeric data (may have a decimal-point part).
Required parameters:
-.RS
.bP
a third \fBint\fP argument controlling the precision,
.bP
the decimal point character must be the one specified by your locale.
If the maximum value is less than or equal to the minimum value,
the range is simply ignored.
-.RE
-.IP
+.PP
On return, the field buffer is formatted according to the
\fBprintf\fP format specification \*(``.*f\*('',
where the \*(``*\*('' is replaced by the precision argument.
-.IP
+.PP
For details of the precision handling see \fBprintf\fP(3).
-.TP 5
-TYPE_REGEXP
+.SS TYPE_REGEXP
Regular expression data.
Required parameter:
-.RS
.bP
a third argument, a regular expression \fB(char *)\fP string.
The data is valid if the regular expression matches it.
-.RE
-.IP
+.PP
Regular expressions
are in the format of \fBregcomp\fP and \fBregexec\fP.
-.IP
+.PP
The regular expression must match the whole field.
If you have for example, an eight character wide field,
a regular expression "^[0\-9]*$" always
trailing spaces (up to an empty field),
or "^ *[0\-9]* *$" which is good for
leading and trailing spaces around the digits.
-.TP 5
-TYPE_IPV4
+.SS TYPE_IPV4
An Internet Protocol Version 4 address.
Required parameter:
-.RS
.bP
none
-.RE
-.IP
+.PP
The form library checks whether or not the buffer has the form \fIa.b.c.d\fP,
where \fIa\fP, \fIb\fP, \fIc\fP, and \fId\fP are numbers in the range 0 to 255.
Trailing blanks in the buffer are ignored.
The address itself is not validated.
-.IP
+.PP
This is an ncurses extension;
this field type may not be available in other curses implementations.
.SH RETURN VALUE
.\" authorization. *
.\"***************************************************************************
.\"
-.\" $Id: form_fieldtype.3x,v 1.35 2023/07/01 15:46:10 tom Exp $
+.\" $Id: form_fieldtype.3x,v 1.38 2023/09/16 23:37:03 tom Exp $
+.TH form_fieldtype 3X 2023-09-16 "ncurses 6.4" "Library calls"
.de bP
.ie n .IP \(bu 4
.el .IP \(bu 2
..
-.TH form_fieldtype 3X 2023-07-01 "ncurses 6.4" "Library calls"
.SH NAME
-\fBform_fieldtype\fP \- define validation-field types
+\fBform_fieldtype\fP \-
+define validation-field types
.SH SYNOPSIS
\fB#include <form.h>\fP
.sp
.\" authorization. *
.\"***************************************************************************
.\"
-.\" $Id: form_hook.3x,v 1.23 2023/07/01 15:46:10 tom Exp $
-.TH form_hook 3X 2023-07-01 "ncurses 6.4" "Library calls"
+.\" $Id: form_hook.3x,v 1.25 2023/09/16 23:37:03 tom Exp $
+.TH form_hook 3X 2023-09-16 "ncurses 6.4" "Library calls"
.SH NAME
-\fBform_hook\fP \- set hooks for automatic invocation by applications
+\fBform_hook\fP \-
+set hooks for automatic invocation by applications
.SH SYNOPSIS
\fB#include <form.h>\fP
.sp
.SH DESCRIPTION
These functions make it possible to set hook functions to be called at various
points in the automatic processing of input event codes by \fBform_driver\fP.
-.PP
-The function \fBset_field_init\fP sets a hook to be called at form-post time
+.SS set_field_init\fP
+sets a hook to be called at form-post time
and each time the selected field changes (after the change).
-\fBfield_init\fP
+.SS field_init
returns the current field init hook, if any (\fBNULL\fP if there is no such
hook).
-.PP
-The function \fBset_field_term\fP sets a hook to be called at form-unpost time
+.SS set_field_term
+sets a hook to be called at form-unpost time
and each time the selected field changes (before the change).
-\fBfield_term\fP
+.SS field_term
returns the current field term hook, if any (\fBNULL\fP if there is no such
hook).
-.PP
-The function \fBset_form_init\fP sets a hook to be called at form-post time and
+.SS set_form_init
+sets a hook to be called at form-post time and
just after a page change once it is posted.
-\fBform_init\fP returns the
-current form init hook, if any (\fBNULL\fP if there is no such hook).
-.PP
-The function \fBset_form_term\fP sets a hook to be called at form-unpost time
+.SS form_init
+returns the current form init hook,
+if any (\fBNULL\fP if there is no such hook).
+.SS set_form_term
+sets a hook to be called at form-unpost time
and just before a page change once it is posted.
-\fBform_init\fP
+.SS form_init
returns the current form term hook, if any (\fBNULL\fP if there is no such
hook).
.SH RETURN VALUE
.\" authorization. *
.\"***************************************************************************
.\"
-.\" $Id: form_new.3x,v 1.22 2023/07/01 15:46:10 tom Exp $
-.TH form_new 3X 2023-07-01 "ncurses 6.4" "Library calls"
+.\" $Id: form_new.3x,v 1.24 2023/09/16 23:37:03 tom Exp $
+.TH form_new 3X 2023-09-16 "ncurses 6.4" "Library calls"
.SH NAME
\fBnew_form\fP,
-\fBfree_form\fP \- create and destroy forms
+\fBfree_form\fP \-
+create and destroy forms
.SH SYNOPSIS
\fB#include <form.h>\fP
.sp
.\" authorization. *
.\"***************************************************************************
.\"
-.\" $Id: form_new_page.3x,v 1.24 2023/07/01 15:46:10 tom Exp $
-.TH form_new_page 3X 2023-07-01 "ncurses 6.4" "Library calls"
+.\" $Id: form_new_page.3x,v 1.26 2023/09/16 23:37:03 tom Exp $
+.TH form_new_page 3X 2023-09-16 "ncurses 6.4" "Library calls"
.ie \n(.g .ds `` \(lq
.el .ds `` ``
.ie \n(.g .ds '' \(rq
.el .ds '' ''
.SH NAME
\fBset_new_page\fP,
-\fBnew_page\fP \- form pagination functions
+\fBnew_page\fP \-
+form pagination functions
.SH SYNOPSIS
\fB#include <form.h>\fP
.sp
.\" authorization. *
.\"***************************************************************************
.\"
-.\" $Id: form_opts.3x,v 1.24 2023/07/01 15:46:10 tom Exp $
-.TH form_opts 3X 2023-07-01 "ncurses 6.4" "Library calls"
+.\" $Id: form_opts.3x,v 1.26 2023/09/16 23:37:03 tom Exp $
+.TH form_opts 3X 2023-09-16 "ncurses 6.4" "Library calls"
.SH NAME
\fBset_form_opts\fP,
\fBform_opts_on\fP,
\fBform_opts_off\fP,
-\fBform_opts\fP \- set and get form options
+\fBform_opts\fP \-
+set and get form options
.SH SYNOPSIS
\fB#include <form.h>\fP
.sp
.\" authorization. *
.\"***************************************************************************
.\"
-.\" $Id: form_page.3x,v 1.26 2023/07/01 15:46:10 tom Exp $
-.TH form_page 3X 2023-07-01 "ncurses 6.4" "Library calls"
+.\" $Id: form_page.3x,v 1.28 2023/09/16 23:37:03 tom Exp $
+.TH form_page 3X 2023-09-16 "ncurses 6.4" "Library calls"
.SH NAME
-\fBform_page\fP \- set and get form page number
+\fBform_page\fP \-
+set and get form page number
.SH SYNOPSIS
\fB#include <form.h>\fP
.sp
.\" authorization. *
.\"***************************************************************************
.\"
-.\" $Id: form_post.3x,v 1.23 2023/07/01 15:46:10 tom Exp $
-.TH form_post 3X 2023-07-01 "ncurses 6.4" "Library calls"
+.\" $Id: form_post.3x,v 1.25 2023/09/16 23:37:03 tom Exp $
+.TH form_post 3X 2023-09-16 "ncurses 6.4" "Library calls"
.SH NAME
\fBpost_form\fP,
-\fBunpost_form\fP \- write or erase forms from associated subwindows
+\fBunpost_form\fP \-
+write or erase forms from associated subwindows
.SH SYNOPSIS
\fB#include <form.h>\fP
.sp
.\" authorization. *
.\"***************************************************************************
.\"
-.\" $Id: form_requestname.3x,v 1.23 2023/07/01 15:46:10 tom Exp $
-.TH form_requestname 3X 2023-07-01 "ncurses 6.4" "Library calls"
+.\" $Id: form_requestname.3x,v 1.26 2023/09/16 23:37:03 tom Exp $
+.TH form_requestname 3X 2023-09-16 "ncurses 6.4" "Library calls"
.SH NAME
\fBform_request_by_name\fP,
-\fBform_request_name\fP \- handle printable form request names
+\fBform_request_name\fP \-
+handle printable form request names
.SH SYNOPSIS
\fB#include <form.h>\fP
.sp
.br
\fBint form_request_by_name(const char *\fIname\fB);\fR
.SH DESCRIPTION
-.SS form_request_name
The function \fBform_request_name\fP returns the printable name of a form
request code.
-.SS form_request_name_by_name
The function \fBform_request_by_name\fP searches in the name-table for a request
with the given name and returns its request code.
Otherwise E_NO_MATCH is returned.
.\" authorization. *
.\"***************************************************************************
.\"
-.\" $Id: form_userptr.3x,v 1.26 2023/07/01 15:46:10 tom Exp $
-.TH form_userptr 3X 2023-07-01 "ncurses 6.4" "Library calls"
+.\" $Id: form_userptr.3x,v 1.28 2023/09/16 23:37:03 tom Exp $
+.TH form_userptr 3X 2023-09-16 "ncurses 6.4" "Library calls"
.SH NAME
\fBset_form_userptr\fP,
-\fBform_userptr\fP \- associate application data with a form item
+\fBform_userptr\fP \-
+associate application data with a form item
.SH SYNOPSIS
\fB#include <form.h>\fP
.sp
.\"***************************************************************************
-.\" Copyright 2020,2021 Thomas E. Dickey *
+.\" Copyright 2020-2021,2023 Thomas E. Dickey *
.\" Copyright 2010-2013,2017 Free Software Foundation, Inc. *
.\" *
.\" Permission is hereby granted, free of charge, to any person obtaining a *
.\" authorization. *
.\"***************************************************************************
.\"
-.\" $Id: form_variables.3x,v 1.10 2021/12/25 21:50:36 tom Exp $
-.TH form_variables 3X 2021-12-25 "ncurses 6.4" "Library calls"
+.\" $Id: form_variables.3x,v 1.12 2023/09/16 23:39:54 tom Exp $
+.TH form_variables 3X 2023-09-16 "ncurses 6.4" "Library calls"
.na
.hy 0
.SH NAME
\fBTYPE_INTEGER\fP,
\fBTYPE_IPV4\fP,
\fBTYPE_NUMERIC\fP,
-\fBTYPE_REGEXP\fP
-\- form system global variables
+\fBTYPE_REGEXP\fP \-
+form system global variables
.ad
.hy
.SH SYNOPSIS
.\" authorization. *
.\"***************************************************************************
.\"
-.\" $Id: form_win.3x,v 1.25 2023/07/01 15:46:10 tom Exp $
-.TH form_win 3X 2023-07-01 "ncurses 6.4" "Library calls"
+.\" $Id: form_win.3x,v 1.27 2023/09/16 23:37:03 tom Exp $
+.TH form_win 3X 2023-09-16 "ncurses 6.4" "Library calls"
.SH NAME
-\fBform_win\fP \- make and break form window and subwindow associations
+\fBform_win\fP \-
+make and break form window and subwindow associations
.SH SYNOPSIS
\fB#include <form.h>\fP
.sp
.\" authorization. *
.\"***************************************************************************
.\"
-.\" $Id: infocmp.1m,v 1.90 2023/09/09 21:14:05 tom Exp $
-.TH @INFOCMP@ 1M 2023-09-09 "ncurses 6.4" "User commands"
+.\" $Id: infocmp.1m,v 1.92 2023/09/16 23:37:03 tom Exp $
+.TH @INFOCMP@ 1M 2023-09-16 "ncurses 6.4" "User commands"
.ie \n(.g .ds `` \(lq
.el .ds `` ``
.ie \n(.g .ds '' \(rq
..
.ds d @TERMINFO@
.SH NAME
-\fB@INFOCMP@\fP \- compare or print out \fIterminfo\fP descriptions
+\fB@INFOCMP@\fP \-
+compare or print out \fIterminfo\fP descriptions
.SH SYNOPSIS
\fB@INFOCMP@\fP [\fB\-\
1\
'\" t
.\"***************************************************************************
-.\" Copyright 2018-2021,2022 Thomas E. Dickey *
+.\" Copyright 2018-2022,2023 Thomas E. Dickey *
.\" Copyright 1999-2010,2016 Free Software Foundation, Inc. *
.\" *
.\" Permission is hereby granted, free of charge, to any person obtaining a *
.\" authorization. *
.\"***************************************************************************
.\"
-.\" $Id: infotocap.1m,v 1.21 2022/02/12 20:02:20 tom Exp $
-.TH @INFOTOCAP@ 1M 2022-02-12 "ncurses 6.4" "User commands"
+.\" $Id: infotocap.1m,v 1.26 2023/09/16 23:38:39 tom Exp $
+.TH @INFOTOCAP@ 1M 2023-09-16 "ncurses 6.4" "User commands"
.ds n 5
.ds d @TERMINFO@
.SH NAME
-\fB@INFOTOCAP@\fP \- convert a \fIterminfo\fP description into a \fItermcap\fP description
+\fB\%@INFOTOCAP@\fP \-
+convert a \fIterminfo\fR description into a \fItermcap\fR description
.SH SYNOPSIS
\fB@INFOTOCAP@\fR [\fB\-v\fIn\fR \fIwidth\fR] [\fB\-V\fR] [\fB\-1\fR] [\fB\-w\fR \fIwidth\fR] \fIfile\fR ...
.SH DESCRIPTION
.\"***************************************************************************
-.\" Copyright 2018-2021,2022 Thomas E. Dickey *
+.\" Copyright 2018-2022,2023 Thomas E. Dickey *
.\" Copyright 2003-2006,2010 Free Software Foundation, Inc. *
.\" *
.\" Permission is hereby granted, free of charge, to any person obtaining a *
.\"
.\" Author: Thomas E. Dickey 2003
.\"
-.\" $Id: key_defined.3x,v 1.14 2022/02/12 20:03:40 tom Exp $
-.TH key_defined 3X 2022-02-12 "ncurses 6.4" "Library calls"
+.\" $Id: key_defined.3x,v 1.20 2023/09/16 23:38:39 tom Exp $
+.TH key_defined 3X 2023-09-16 "ncurses 6.4" "Library calls"
.SH NAME
-\fBkey_defined\fP \- check if a keycode is defined
+\fB\%key_defined\fP \-
+test whether a \fIcurses\fR keycode is defined
.SH SYNOPSIS
\fB#include <curses.h>\fP
.sp
If the string conflicts with longer strings
which are bound to keys, \-1 is returned.
.SH PORTABILITY
-These routines are specific to ncurses.
-They were not supported on
+This routine is specific to ncurses.
+It was not supported on
Version 7, BSD or System V implementations.
It is recommended that
any code depending on them be conditioned using NCURSES_VERSION.
.\"***************************************************************************
-.\" Copyright 2018-2021,2022 Thomas E. Dickey *
+.\" Copyright 2018-2022,2023 Thomas E. Dickey *
.\" Copyright 1999-2008,2010 Free Software Foundation, Inc. *
.\" *
.\" Permission is hereby granted, free of charge, to any person obtaining a *
.\"
.\" Author: Thomas E. Dickey 1999
.\"
-.\" $Id: keybound.3x,v 1.15 2022/02/12 20:03:40 tom Exp $
-.TH keybound 3X 2022-02-12 "ncurses 6.4" "Library calls"
+.\" $Id: keybound.3x,v 1.21 2023/09/16 23:38:39 tom Exp $
+.TH keybound 3X 2023-09-16 "ncurses 6.4" "Library calls"
.SH NAME
-\fBkeybound\fP \- return definition of keycode
+\fB\%keybound\fP \-
+get definition of \fIcurses\fR keycode
.SH SYNOPSIS
\fB#include <curses.h>\fP
.sp
When successful,
the function returns a string which must be freed by the caller.
.SH PORTABILITY
-These routines are specific to ncurses.
-They were not supported on
+This routine is specific to ncurses.
+It was not supported on
Version 7, BSD or System V implementations.
It is recommended that
any code depending on them be conditioned using NCURSES_VERSION.
.\"***************************************************************************
-.\" Copyright 2018-2021,2022 Thomas E. Dickey *
+.\" Copyright 2018-2022,2023 Thomas E. Dickey *
.\" Copyright 1998-2010,2017 Free Software Foundation, Inc. *
.\" *
.\" Permission is hereby granted, free of charge, to any person obtaining a *
.\"
.\" Author: Thomas E. Dickey 1997
.\"
-.\" $Id: keyok.3x,v 1.20 2022/02/12 20:03:40 tom Exp $
-.TH keyok 3X 2022-02-12 "ncurses 6.4" "Library calls"
+.\" $Id: keyok.3x,v 1.26 2023/09/16 23:38:39 tom Exp $
+.TH keyok 3X 2023-09-16 "ncurses 6.4" "Library calls"
.SH NAME
-\fBkeyok\fP \- enable or disable a keycode
+\fB\%keyok\fP \-
+enable or disable a \fIcurses\fR keycode
.SH SYNOPSIS
\fB#include <curses.h>\fP
.sp
and vice versa.
Otherwise, the function returns \fBOK\fP.
.SH PORTABILITY
-These routines are specific to ncurses.
-They were not supported on
+This routine is specific to ncurses.
+It was not supported on
Version 7, BSD or System V implementations.
It is recommended that
any code depending on them be conditioned using NCURSES_VERSION.
.\"***************************************************************************
-.\" Copyright 2020-2021,2022 Thomas E. Dickey *
+.\" Copyright 2020-2022,2023 Thomas E. Dickey *
.\" Copyright 2005-2016,2017 Free Software Foundation, Inc. *
.\" *
.\" Permission is hereby granted, free of charge, to any person obtaining a *
.\"
.\" Author: Thomas E. Dickey
.\"
-.\" $Id: legacy_coding.3x,v 1.12 2022/02/12 20:07:56 tom Exp $
-.TH legacy_coding 3X 2022-02-12 "ncurses 6.4" "Library calls"
+.\" $Id: legacy_coding.3x,v 1.17 2023/09/16 23:38:39 tom Exp $
+.TH legacy_coding 3X 2023-09-16 "ncurses 6.4" "Library calls"
.SH NAME
-\fBuse_legacy_coding\fP \- override locale-encoding checks
+\fB\%use_legacy_coding\fP \-
+override \fIcurses\fR locale encoding checks
.SH SYNOPSIS
\fB#include <curses.h>\fP
.sp
-# $Id: manlinks.sed,v 1.15 2021/01/05 20:30:00 tom Exp $
+# $Id: manlinks.sed,v 1.19 2023/09/17 08:26:33 tom Exp $
##############################################################################
-# Copyright 2020,2021 Thomas E. Dickey #
+# Copyright 2020-2021,2023 Thomas E. Dickey #
# Copyright 2000-2003,2008 Free Software Foundation, Inc. #
# #
# Permission is hereby granted, free of charge, to any person obtaining a #
# listed in the "NAME" section, i.e., the names that we would like to use
# as aliases for the manpage -T.Dickey
#
+# workaround for manpages without a SYNOPSIS
+s/^\.\\"SH/.SH/
+#
# eliminate formatting controls that get in the way
/^'\\"/d
/\.\\"/d
/typedef/d
s/^\.IX//
s/\\f.//g
+s/\\%//g
s/[:,]/ /g
#
# ignore C-style comments
s%/\*.*\*/%%
#
-# eliminate unnecessary whitespace, convert multiple blanks to single space
+# Eliminate unnecessary whitespace, convert multiple blanks to single space.
s/^[ ][ ]*//
s/[ ][ ]*$//
s/[ ][ ]*/ /g
s/\.SH[ ][ ]*/.SH_(/
#
# in ".SH NAME"
-# change "\-" to "-", eliminate text after "-", and split the remaining lines
-# at each space, making a list of names:
-/^\.SH_(NAME/,/^\.SH_(SYNOPSIS/{
-s/\\-.*/ -/
-/ -/{
-s/ -.*//
-s/ /\
-/g
-}
-/^-/{
+# Convert a list of names separated from their description by " \-" to a list
+# of names on separate lines. Normally the list is also comma-separated, but
+# we ignore that detail here. The description is on a separate line to make
+# the nroff source more pleasing to some eyes.
+/^\.SH_(NAME/,/ \\-$/{
+s/\\-/-/g
+s/ / /g
+/ -$/{
+s/ -$//
+n
d
}
s/ /\
}
#
# in ".SH SYNOPSIS"
-# remove any line that does not contain a '(', since we only want functions.
+# For readability, the NAME section may not contain all function names, but we
+# still want to make aliases for those. Do this by extracting names from the
+# list of function prototypes in the synopsis.
+#
+# Remove any line that does not contain a '(', since we only want functions.
# then strip off return-type of each function.
-# finally, remove the parameter list, which begins with a '('.
+#
+# Finally, remove the parameter list, which begins with a '('.
/^\.SH_(SYNOPSIS/,/^\.SH_(DESCRIPTION/{
/^[^(]*$/d
# reduce
.\" authorization. *
.\"***************************************************************************
.\"
-.\" $Id: menu.3x,v 1.34 2023/08/19 20:39:40 tom Exp $
-.TH menu 3X 2023-08-19 "ncurses 6.4" "Library calls"
+.\" $Id: menu.3x,v 1.36 2023/09/16 23:38:39 tom Exp $
+.TH menu 3X 2023-09-16 "ncurses 6.4" "Library calls"
.ie \n(.g .ds `` \(lq
.el .ds `` ``
.ie \n(.g .ds '' \(rq
.el .IP \(bu 2
..
.SH NAME
-\fBmenu\fP \- curses extension for programming menus
+\fBmenu\fP \-
+curses extension for programming menus
.SH SYNOPSIS
\fB#include <menu.h>\fP
.SH DESCRIPTION
.\" authorization. *
.\"***************************************************************************
.\"
-.\" $Id: menu_attributes.3x,v 1.26 2023/07/01 15:46:10 tom Exp $
-.TH menu_attributes 3X 2023-07-01 "ncurses 6.4" "Library calls"
+.\" $Id: menu_attributes.3x,v 1.28 2023/09/16 23:38:39 tom Exp $
+.TH menu_attributes 3X 2023-09-16 "ncurses 6.4" "Library calls"
.ie \n(.g .ds `` \(lq
.el .ds `` ``
.ie \n(.g .ds '' \(rq
\fBset_menu_back\fP,
\fBset_menu_fore\fP,
\fBset_menu_grey\fP,
-\fBset_menu_pad\fP \- color and attribute control for menus
+\fBset_menu_pad\fP \-
+color and attribute control for menus
.SH SYNOPSIS
\fB#include <menu.h>\fP
.sp
.\" authorization. *
.\"***************************************************************************
.\"
-.\" $Id: menu_cursor.3x,v 1.20 2023/07/01 15:46:10 tom Exp $
-.TH menu_cursor 3X 2023-07-01 "ncurses 6.4" "Library calls"
+.\" $Id: menu_cursor.3x,v 1.22 2023/09/16 23:38:39 tom Exp $
+.TH menu_cursor 3X 2023-09-16 "ncurses 6.4" "Library calls"
.SH NAME
-\fBpos_menu_cursor\fP \- position a menu's cursor
+\fBpos_menu_cursor\fP \-
+position a menu's cursor
.SH SYNOPSIS
\fB#include <menu.h>\fP
.sp
.\" authorization. *
.\"***************************************************************************
.\"
-.\" $Id: menu_driver.3x,v 1.35 2023/07/01 15:46:10 tom Exp $
-.TH menu_driver 3X 2023-07-01 "ncurses 6.4" "Library calls"
+.\" $Id: menu_driver.3x,v 1.37 2023/09/16 23:38:39 tom Exp $
+.TH menu_driver 3X 2023-09-16 "ncurses 6.4" "Library calls"
.de bP
.ie n .IP \(bu 4
.el .IP \(bu 2
..
.SH NAME
-\fBmenu_driver\fP \- command-processing loop of the menu system
+\fBmenu_driver\fP \-
+command-processing loop of the menu system
.SH SYNOPSIS
\fB#include <menu.h>\fP
.sp
.\" authorization. *
.\"***************************************************************************
.\"
-.\" $Id: menu_format.3x,v 1.25 2023/07/01 15:46:10 tom Exp $
-.TH menu_format 3X 2023-07-01 "ncurses 6.4" "Library calls"
+.\" $Id: menu_format.3x,v 1.27 2023/09/16 23:38:39 tom Exp $
+.TH menu_format 3X 2023-09-16 "ncurses 6.4" "Library calls"
.SH NAME
\fBset_menu_format\fP,
-\fBmenu_format\fP \- set and get menu sizes
+\fBmenu_format\fP \-
+set and get menu sizes
.SH SYNOPSIS
\fB#include <menu.h>\fP
.sp
.\" authorization. *
.\"***************************************************************************
.\"
-.\" $Id: menu_hook.3x,v 1.22 2023/07/01 15:46:10 tom Exp $
-.TH menu_hook 3X 2023-07-01 "ncurses 6.4" "Library calls"
+.\" $Id: menu_hook.3x,v 1.24 2023/09/16 23:38:39 tom Exp $
+.TH menu_hook 3X 2023-09-16 "ncurses 6.4" "Library calls"
.SH NAME
-\fBmenu_hook\fP \- set hooks for automatic invocation by applications
+\fBmenu_hook\fP \-
+set hooks for automatic invocation by applications
.SH SYNOPSIS
\fB#include <menu.h>\fP
.sp
.\" authorization. *
.\"***************************************************************************
.\"
-.\" $Id: menu_items.3x,v 1.24 2023/07/01 15:46:10 tom Exp $
-.TH menu_items 3X 2023-07-01 "ncurses 6.4" "Library calls"
+.\" $Id: menu_items.3x,v 1.26 2023/09/16 23:38:39 tom Exp $
+.TH menu_items 3X 2023-09-16 "ncurses 6.4" "Library calls"
.SH NAME
\fBset_menu_items\fP,
\fBmenu_items\fP,
-\fBitem_count\fP \- make and break connections between items and menus
+\fBitem_count\fP \-
+make and break connections between items and menus
.SH SYNOPSIS
\fB#include <menu.h>\fP
.sp
.\" authorization. *
.\"***************************************************************************
.\"
-.\" $Id: menu_mark.3x,v 1.25 2023/07/01 15:46:10 tom Exp $
-.TH menu_mark 3X 2023-07-01 "ncurses 6.4" "Library calls"
+.\" $Id: menu_mark.3x,v 1.27 2023/09/16 23:38:39 tom Exp $
+.TH menu_mark 3X 2023-09-16 "ncurses 6.4" "Library calls"
.SH NAME
\fBset_menu_mark\fP,
-\fBmenu_mark\fP \- get and set the menu mark string
+\fBmenu_mark\fP \-
+get and set the menu mark string
.SH SYNOPSIS
\fB#include <menu.h>\fP
.sp
.\" authorization. *
.\"***************************************************************************
.\"
-.\" $Id: menu_new.3x,v 1.25 2023/07/01 15:46:10 tom Exp $
-.TH menu_new 3X 2023-07-01 "ncurses 6.4" "Library calls"
+.\" $Id: menu_new.3x,v 1.27 2023/09/16 23:38:39 tom Exp $
+.TH menu_new 3X 2023-09-16 "ncurses 6.4" "Library calls"
.SH NAME
\fBnew_menu\fP,
-\fBfree_menu\fP \- create and destroy menus
+\fBfree_menu\fP \-
+create and destroy menus
.SH SYNOPSIS
\fB#include <menu.h>\fP
.sp
.\" authorization. *
.\"***************************************************************************
.\"
-.\" $Id: menu_opts.3x,v 1.25 2023/07/01 15:46:10 tom Exp $
-.TH menu_opts 3X 2023-07-01 "ncurses 6.4" "Library calls"
+.\" $Id: menu_opts.3x,v 1.27 2023/09/16 23:38:39 tom Exp $
+.TH menu_opts 3X 2023-09-16 "ncurses 6.4" "Library calls"
.SH NAME
\fBset_menu_opts\fP,
\fBmenu_opts_on\fP,
\fBmenu_opts_off\fP,
-\fBmenu_opts\fP \- set and get menu options
+\fBmenu_opts\fP \-
+set and get menu options
.SH SYNOPSIS
\fB#include <menu.h>\fP
.sp
.\" authorization. *
.\"***************************************************************************
.\"
-.\" $Id: menu_pattern.3x,v 1.28 2023/07/01 15:46:10 tom Exp $
-.TH menu_pattern 3X 2023-07-01 "ncurses 6.4" "Library calls"
+.\" $Id: menu_pattern.3x,v 1.30 2023/09/16 23:38:39 tom Exp $
+.TH menu_pattern 3X 2023-09-16 "ncurses 6.4" "Library calls"
.SH NAME
\fBset_menu_pattern\fP,
-\fBmenu_pattern\fP \- set and get a menu's pattern buffer
+\fBmenu_pattern\fP \-
+set and get a menu's pattern buffer
.SH SYNOPSIS
\fB#include <menu.h>\fP
.sp
.\" authorization. *
.\"***************************************************************************
.\"
-.\" $Id: menu_post.3x,v 1.26 2023/07/01 15:46:10 tom Exp $
-.TH menu_post 3X 2023-07-01 "ncurses 6.4" "Library calls"
+.\" $Id: menu_post.3x,v 1.28 2023/09/16 23:38:39 tom Exp $
+.TH menu_post 3X 2023-09-16 "ncurses 6.4" "Library calls"
.SH NAME
\fBpost_menu\fP,
-\fBunpost_menu\fP \- write or erase menus from associated subwindows
+\fBunpost_menu\fP \-
+write or erase menus from associated subwindows
.SH SYNOPSIS
\fB#include <menu.h>\fP
.sp
.\" authorization. *
.\"***************************************************************************
.\"
-.\" $Id: menu_requestname.3x,v 1.22 2023/07/01 15:46:10 tom Exp $
-.TH menu_requestname 3X 2023-07-01 "ncurses 6.4" "Library calls"
+.\" $Id: menu_requestname.3x,v 1.24 2023/09/16 23:38:39 tom Exp $
+.TH menu_requestname 3X 2023-09-16 "ncurses 6.4" "Library calls"
.SH NAME
\fBmenu_request_by_name\fP,
-\fBmenu_request_name\fP \- handle printable menu request names
+\fBmenu_request_name\fP \-
+handle printable menu request names
.SH SYNOPSIS
\fB#include <menu.h>\fP
.sp
.\" authorization. *
.\"***************************************************************************
.\"
-.\" $Id: menu_spacing.3x,v 1.24 2023/07/01 15:46:10 tom Exp $
-.TH menu_spacing 3X 2023-07-01 "ncurses 6.4" "Library calls"
+.\" $Id: menu_spacing.3x,v 1.26 2023/09/16 23:38:39 tom Exp $
+.TH menu_spacing 3X 2023-09-16 "ncurses 6.4" "Library calls"
.SH NAME
\fBset_menu_spacing\fP,
-\fBmenu_spacing\fP \- set and get spacing between menu items.
+\fBmenu_spacing\fP \-
+set and get spacing between menu items.
.SH SYNOPSIS
\fB#include <menu.h>\fP
.sp
.\" authorization. *
.\"***************************************************************************
.\"
-.\" $Id: menu_userptr.3x,v 1.23 2023/07/01 15:46:10 tom Exp $
-.TH menu_userptr 3X 2023-07-01 "ncurses 6.4" "Library calls"
+.\" $Id: menu_userptr.3x,v 1.25 2023/09/16 23:38:39 tom Exp $
+.TH menu_userptr 3X 2023-09-16 "ncurses 6.4" "Library calls"
.SH NAME
\fBset_menu_userptr\fP,
-\fBmenu_userptr\fP \- associate application data with a menu item
+\fBmenu_userptr\fP \-
+associate application data with a menu item
.SH SYNOPSIS
\fB#include <menu.h>\fP
.sp
.\" authorization. *
.\"***************************************************************************
.\"
-.\" $Id: menu_win.3x,v 1.22 2023/07/01 15:46:10 tom Exp $
-.TH menu_win 3X 2023-07-01 "ncurses 6.4" "Library calls"
+.\" $Id: menu_win.3x,v 1.24 2023/09/16 23:38:39 tom Exp $
+.TH menu_win 3X 2023-09-16 "ncurses 6.4" "Library calls"
.SH NAME
-\fBmenu_win\fP \- make and break menu window and subwindow associations
+\fBmenu_win\fP \-
+make and break menu window and subwindow associations
.SH SYNOPSIS
\fB#include <menu.h>\fP
.sp
.\" authorization. *
.\"***************************************************************************
.\"
-.\" $Id: mitem_current.3x,v 1.27 2023/07/01 15:46:10 tom Exp $
-.TH mitem_current 3X 2023-07-01 "ncurses 6.4" "Library calls"
+.\" $Id: mitem_current.3x,v 1.29 2023/09/16 23:38:39 tom Exp $
+.TH mitem_current 3X 2023-09-16 "ncurses 6.4" "Library calls"
.SH NAME
-\fBmitem_current\fP \- set and get current_menu_item
+\fBmitem_current\fP \-
+set and get current_menu_item
.SH SYNOPSIS
\fB#include <menu.h>\fP
.sp
.\" authorization. *
.\"***************************************************************************
.\"
-.\" $Id: mitem_name.3x,v 1.21 2023/07/01 15:46:10 tom Exp $
-.TH mitem_name 3X 2023-07-01 "ncurses 6.4" "Library calls"
+.\" $Id: mitem_name.3x,v 1.23 2023/09/16 23:38:39 tom Exp $
+.TH mitem_name 3X 2023-09-16 "ncurses 6.4" "Library calls"
.SH NAME
\fBitem_name\fP,
-\fBitem_description\fP \- get menu item name and description fields
+\fBitem_description\fP \-
+get menu item name and description fields
.SH SYNOPSIS
\fB#include <menu.h>\fP
.sp
.\" authorization. *
.\"***************************************************************************
.\"
-.\" $Id: mitem_new.3x,v 1.26 2023/07/01 15:46:10 tom Exp $
-.TH mitem_new 3X 2023-07-01 "ncurses 6.4" "Library calls"
+.\" $Id: mitem_new.3x,v 1.28 2023/09/16 23:38:39 tom Exp $
+.TH mitem_new 3X 2023-09-16 "ncurses 6.4" "Library calls"
.SH NAME
\fBnew_item\fP,
-\fBfree_item\fP \- create and destroy menu items
+\fBfree_item\fP \-
+create and destroy menu items
.SH SYNOPSIS
\fB#include <menu.h>\fP
.sp
.\" authorization. *
.\"***************************************************************************
.\"
-.\" $Id: mitem_opts.3x,v 1.23 2023/07/01 15:46:10 tom Exp $
-.TH mitem_opts 3X 2023-07-01 "ncurses 6.4" "Library calls"
+.\" $Id: mitem_opts.3x,v 1.25 2023/09/16 23:38:39 tom Exp $
+.TH mitem_opts 3X 2023-09-16 "ncurses 6.4" "Library calls"
.SH NAME
\fBset_item_opts\fP,
\fBitem_opts_on\fP,
\fBitem_opts_off\fP,
-\fBitem_opts\fP \- set and get menu item options
+\fBitem_opts\fP \-
+set and get menu item options
.SH SYNOPSIS
\fB#include <menu.h>\fP
.sp
.\" authorization. *
.\"***************************************************************************
.\"
-.\" $Id: mitem_userptr.3x,v 1.24 2023/07/01 15:46:10 tom Exp $
-.TH mitem_userptr 3X 2023-07-01 "ncurses 6.4" "Library calls"
+.\" $Id: mitem_userptr.3x,v 1.26 2023/09/16 23:38:39 tom Exp $
+.TH mitem_userptr 3X 2023-09-16 "ncurses 6.4" "Library calls"
.SH NAME
\fBset_item_userptr\fP,
-\fBitem_userptr\fP \- associate application data with a menu item
+\fBitem_userptr\fP \-
+associate application data with a menu item
.SH SYNOPSIS
\fB#include <menu.h>\fP
.sp
.\" authorization. *
.\"***************************************************************************
.\"
-.\" $Id: mitem_value.3x,v 1.22 2023/07/01 15:46:10 tom Exp $
-.TH mitem_value 3X 2023-07-01 "ncurses 6.4" "Library calls"
+.\" $Id: mitem_value.3x,v 1.24 2023/09/16 23:38:39 tom Exp $
+.TH mitem_value 3X 2023-09-16 "ncurses 6.4" "Library calls"
.SH NAME
\fBset_item_value\fP,
-\fBitem_value\fP \- set and get menu item values
+\fBitem_value\fP \-
+set and get menu item values
.SH SYNOPSIS
\fB#include <menu.h>\fP
.sp
.\" authorization. *
.\"***************************************************************************
.\"
-.\" $Id: mitem_visible.3x,v 1.17 2023/07/01 15:46:10 tom Exp $
-.TH mitem_visible 3X 2023-07-01 "ncurses 6.4" "Library calls"
+.\" $Id: mitem_visible.3x,v 1.19 2023/09/16 23:38:39 tom Exp $
+.TH mitem_visible 3X 2023-09-16 "ncurses 6.4" "Library calls"
.SH NAME
-\fBmitem_visible\fP \- check visibility of a menu item
+\fBmitem_visible\fP \-
+check visibility of a menu item
.SH SYNOPSIS
\fB#include <menu.h>\fP
.sp
.\" authorization. *
.\"***************************************************************************
.\"
-.\" $Id: ncurses.3x,v 1.167 2023/09/09 21:11:08 tom Exp $
-.hy 0
-.TH ncurses 3X 2023-09-09 "ncurses 6.4" "Library calls"
+.\" $Id: ncurses.3x,v 1.171 2023/09/16 23:38:39 tom Exp $
+.TH ncurses 3X 2023-09-16 "ncurses 6.4" "Library calls"
.ie \n(.g .ds `` \(lq
.el .ds `` ``
.ie \n(.g .ds '' \(rq
.ds n 5
.ds d @TERMINFO@
.SH NAME
-\fBncurses\fP \- CRT screen handling and optimization package
+\fB\%ncurses\fP \-
+character-cell terminal interface with optimized output
.SH SYNOPSIS
\fB#include <curses.h>\fP
.SH DESCRIPTION
.\"
.\" Author: Thomas E. Dickey
.\"
-.\" $Id: new_pair.3x,v 1.26 2023/09/09 21:20:16 tom Exp $
-.TH new_pair 3X 2023-09-09 "ncurses 6.4" "Library calls"
+.\" $Id: new_pair.3x,v 1.30 2023/09/16 23:38:39 tom Exp $
+.TH new_pair 3X 2023-09-16 "ncurses 6.4" "Library calls"
.ie \n(.g .ds `` \(lq
.el .ds `` ``
.ie \n(.g .ds '' \(rq
.el .in -2
..
.SH NAME
-\fBalloc_pair\fP,
-\fBfind_pair\fP,
-\fBfree_pair\fP \- new curses color-pair functions
+\fB\%alloc_pair\fP,
+\fB\%find_pair\fP,
+\fB\%free_pair\fP \-
+dynamically allocate \fIcurses\fR color pairs
.SH SYNOPSIS
\fB#include <curses.h>\fP
.sp
.\" authorization. *
.\"***************************************************************************
.\"
-.\" $Id: panel.3x,v 1.48 2023/08/19 21:01:21 tom Exp $
-.TH panel 3X 2023-08-19 "ncurses 6.4" "Library calls"
+.\" $Id: panel.3x,v 1.50 2023/09/16 23:38:39 tom Exp $
+.TH panel 3X 2023-09-16 "ncurses 6.4" "Library calls"
.ie \n(.g .ds `` \(lq
.el .ds `` ``
.ie \n(.g .ds '' \(rq
.el .IP \(bu 2
..
.SH NAME
-panel \- panel stack extension for curses
+panel \-
+panel stack extension for curses
.SH SYNOPSIS
\fB#include <panel.h>\fP
.P
.\"
.\" Author: Thomas E. Dickey 1996-on
.\"
-.\" $Id: resizeterm.3x,v 1.36 2023/07/01 15:46:10 tom Exp $
-.TH resizeterm 3X 2023-07-01 "ncurses 6.4" "Library calls"
+.\" $Id: resizeterm.3x,v 1.40 2023/09/16 23:38:39 tom Exp $
+.TH resizeterm 3X 2023-09-16 "ncurses 6.4" "Library calls"
.de bP
.ie n .IP \(bu 4
.el .IP \(bu 2
..
.SH NAME
-\fBis_term_resized\fP,
-\fBresize_term\fP,
-\fBresizeterm\fP \- change the curses terminal size
+\fB\%is_term_resized\fP,
+\fB\%resize_term\fP,
+\fB\%resizeterm\fP \-
+manage the terminal dimensions understood by \fIcurses\fR
.SH SYNOPSIS
\fB#include <curses.h>\fP
.sp
.\" authorization. *
.\"***************************************************************************
.\"
-.\" $Id: scr_dump.5,v 1.27 2023/09/09 21:20:16 tom Exp $
-.TH scr_dump 5 2023-09-09 "ncurses 6.4" "File formats"
+.\" $Id: scr_dump.5,v 1.31 2023/09/16 23:38:39 tom Exp $
+.TH scr_dump 5 2023-09-16 "ncurses 6.4" "File formats"
.ie \n(.g .ds `` \(lq
.el .ds `` ``
.ie \n(.g .ds '' \(rq
.el .IP \(bu 2
..
.SH NAME
-scr_dump \- format of curses screen-dumps.
+scr_dump \-
+\fIcurses\fR screen dump
.SH SYNOPSIS
.B scr_dump
.SH DESCRIPTION
.\" authorization. *
.\"***************************************************************************
.\"
-.\" $Id: tabs.1,v 1.41 2023/09/09 21:19:07 tom Exp $
-.TH @TABS@ 1 2023-09-09 "ncurses 6.4" "User commands"
+.\" $Id: tabs.1,v 1.44 2023/09/16 23:38:39 tom Exp $
+.TH @TABS@ 1 2023-09-16 "ncurses 6.4" "User commands"
.ds n 5
.ie \n(.g .ds `` \(lq
.el .ds `` ``
.el .in -2
..
.SH NAME
-\fB@TABS@\fP \- set tabs on a terminal
+\fB\%@TABS@\fP \-
+set terminal tab stops
.SH SYNOPSIS
\fB@TABS@\fP [\fIoptions\fP]] \fI[tabstop-list]\fP
.SH DESCRIPTION
.\" authorization. *
.\"***************************************************************************
.\"
-.\" $Id: term.5,v 1.52 2023/09/09 17:14:44 tom Exp $
-.TH term 5 2023-09-09 "ncurses 6.4" "File formats"
+.\" $Id: term.5,v 1.56 2023/09/16 23:38:39 tom Exp $
+.TH term 5 2023-09-16 "ncurses 6.4" "File formats"
.ie \n(.g .ds `` \(lq
.el .ds `` ``
.ie \n(.g .ds '' \(rq
.ds n 5
.ds d @TERMINFO@
.SH NAME
-term \- format of compiled term file.
+term \-
+compiled \fIterminfo\fR terminal description
.SH SYNOPSIS
.B term
.SH DESCRIPTION
.\" authorization. *
.\"***************************************************************************
.\"
-.\" $Id: term.7,v 1.35 2023/07/01 15:46:10 tom Exp $
-.TH term 7 2023-07-01 "ncurses 6.4" Miscellaneous
+.\" $Id: term.7,v 1.36 2023/09/17 00:10:28 tom Exp $
+.TH term 7 2023-09-16 "ncurses 6.4" Miscellaneous
.ie \n(.g .ds `` \(lq
.el .ds `` ``
.ie \n(.g .ds '' \(rq
.ds n 5
.ds d @TERMINFO@
.SH NAME
-term \- conventions for naming terminal types
+term \-
+conventions for naming terminal types
+.\"SH SYNOPSIS
.SH DESCRIPTION
The environment variable \fBTERM\fP should normally contain the type name of
the terminal, console or display-device type you are using.
.\" authorization. *
.\"***************************************************************************
.\"
-.\" $Id: term_variables.3x,v 1.23 2023/09/09 17:06:25 tom Exp $
-.TH term_variables 3X 2023-09-09 "ncurses 6.4" "Library calls"
+.\" $Id: term_variables.3x,v 1.27 2023/09/16 23:38:39 tom Exp $
+.TH term_variables 3X 2023-09-16 "ncurses 6.4" "Library calls"
.ds n 5
.ie \n(.g .ds `` \(lq
.el .ds `` ``
.ie \n(.g .ds CW CR
.el .ds CW CW
.\}
-.na
-.hy 0
.SH NAME
-\fBSP\fP,
-\fBacs_map\fP,
-\fBboolcodes\fP,
-\fBboolfnames\fP,
-\fBboolnames\fP,
-\fBcur_term\fP,
-\fBnumcodes\fP,
-\fBnumfnames\fP,
-\fBnumnames\fP,
-\fBstrcodes\fP,
-\fBstrfnames\fP,
-\fBstrnames\fP,
-\fBttytype\fP
-\- \fBcurses\fP terminfo global variables
-.ad
-.hy
+\fB\%SP\fP,
+\fB\%acs_map\fP,
+\fB\%boolcodes\fP,
+\fB\%boolfnames\fP,
+\fB\%boolnames\fP,
+\fB\%cur_term\fP,
+\fB\%numcodes\fP,
+\fB\%numfnames\fP,
+\fB\%numnames\fP,
+\fB\%strcodes\fP,
+\fB\%strfnames\fP,
+\fB\%strnames\fP,
+\fB\%ttytype\fP \-
+\fIterminfo\fR global variables
.SH SYNOPSIS
.nf
\fB#include <curses.h>\fP
.\" authorization. *
.\"***************************************************************************
.\"
-.\" $Id: terminfo.head,v 1.48 2023/09/09 21:34:18 tom Exp $
-.TH terminfo 5 2023-09-09 "ncurses @NCURSES_MAJOR@.@NCURSES_MINOR@" "File formats"
+.\" $Id: terminfo.head,v 1.51 2023/09/17 08:29:38 tom Exp $
+.TH terminfo 5 2023-09-17 "ncurses @NCURSES_MAJOR@.@NCURSES_MINOR@" "File formats"
.ds n 5
.ds d @TERMINFO@
.ie \n(.g .ds `` \(lq
.el .in -2
..
.SH NAME
-terminfo \- terminal capability database
+\fB\%terminfo\fP \-
+terminal capability database
.SH SYNOPSIS
\*d/*/*
.SH DESCRIPTION
.\" authorization. *
.\"***************************************************************************
.\"
-.\" $Id: terminfo.tail,v 1.130 2023/09/09 17:08:08 tom Exp $
+.\" $Id: terminfo.tail,v 1.131 2023/09/16 17:01:55 Branden.Robinson Exp $
.ps +1
.SS User-Defined Capabilities
.
.TP 25
\*d/?/*
files containing terminal descriptions
+.SH AUTHORS
+Zeyd M. Ben-Halim, Eric S. Raymond, Thomas E. Dickey.
+Based on \fIpcurses\fP by Pavel Curtis.
.SH SEE ALSO
.na
.hy 0
\fBterm_variables\fP(3X).
\fBterm\fP(\*n).
\fBuser_caps\fP(5).
-.SH AUTHORS
-Zeyd M. Ben-Halim, Eric S. Raymond, Thomas E. Dickey.
-Based on \fIpcurses\fP by Pavel Curtis.
.\" authorization. *
.\"***************************************************************************
.\"
-.\" $Id: tic.1m,v 1.89 2023/09/02 22:29:35 tom Exp $
-.TH @TIC@ 1M 2023-09-02 "ncurses 6.4" "User commands"
+.\" $Id: tic.1m,v 1.93 2023/09/16 23:38:39 tom Exp $
+.TH @TIC@ 1M 2023-09-16 "ncurses 6.4" "User commands"
.ie \n(.g .ds `` \(lq
.el .ds `` ``
.ie \n(.g .ds '' \(rq
.el .IP \(bu 2
..
.SH NAME
-\fB@TIC@\fP \- the \fIterminfo\fP entry-description compiler
+\fB\%@TIC@\fP \-
+compile terminal descriptions for \fIterminfo\fR or \fItermcap\fR
.SH SYNOPSIS
\fB@TIC@\fP
[\fB\-\
.\" authorization. *
.\"***************************************************************************
.\"
-.\" $Id: toe.1m,v 1.42 2023/09/09 21:15:25 tom Exp $
-.TH @TOE@ 1M 2023-09-09 "ncurses 6.4" "User commands"
+.\" $Id: toe.1m,v 1.46 2023/09/16 23:38:39 tom Exp $
+.TH @TOE@ 1M 2023-09-16 "ncurses 6.4" "User commands"
.de bP
.ie n .IP \(bu 4
.el .IP \(bu 2
.ds n 5
.ds d @TERMINFO@
.SH NAME
-\fB@TOE@\fP \- table of (terminfo) entries
+\fB\%@TOE@\fP \-
+list table of entries of \fIterminfo\fR terminal types
.SH SYNOPSIS
\fB@TOE@\fP [\fB\-v\fP[\fIn\fP]] [\fB\-ahsuUV\fP] \fIfile...\fP
.SH DESCRIPTION
.\" authorization. *
.\"***************************************************************************
.\"
-.\" $Id: tput.1,v 1.79 2023/07/01 15:46:10 tom Exp $
-.TH @TPUT@ 1 2023-07-01 "ncurses 6.4" "User commands"
+.\" $Id: tput.1,v 1.83 2023/09/16 23:38:39 tom Exp $
+.TH @TPUT@ 1 2023-09-16 "ncurses 6.4" "User commands"
.ds d @TERMINFO@
.ds n 1
.ie \n(.g .ds `` \(lq
.el .IP \(bu 2
..
.SH NAME
-\fB@TPUT@\fP, \fBreset\fP \- initialize a terminal or query terminfo database
+\fB\%@TPUT@\fP,
+\fB\%reset\fP \-
+initialize a terminal or query \fIterminfo\fR database
.SH SYNOPSIS
\fB@TPUT@\fR [\fB\-T\fItype\fR] \fIcapname\fR [\fIparameters\fR]
.br
.\" authorization. *
.\"***************************************************************************
.\"
-.\" $Id: tset.1,v 1.66 2023/07/01 15:21:06 tom Exp $
-.TH @TSET@ 1 2023-07-01 "ncurses 6.4" "User commands"
+.\" $Id: tset.1,v 1.69 2023/09/16 23:38:39 tom Exp $
+.TH @TSET@ 1 2023-09-16 "ncurses 6.4" "User commands"
.ie \n(.g .ds `` \(lq
.el .ds `` ``
.ie \n(.g .ds '' \(rq
.el .IP \(bu 2
..
.SH NAME
-\fB@TSET@\fP, \fB@RESET@\fP \- terminal initialization
+\fB\%@TSET@\fP,
+\fB\%@RESET@\fP \-
+initialize or reset terminal state
.SH SYNOPSIS
\fB@TSET@\fP [\fB\-IQVcqrsw\fP] [\fB\-\fP] [\fB\-e\fP \fIch\fP] [\fB\-i\fP \fIch\fP] [\fB\-k\fP \fIch\fP] [\fB\-m\fP \fImapping\fP] [\fIterminal\fP]
.br
.\" authorization. *
.\"***************************************************************************
.\"
-.\" $Id: user_caps.5,v 1.32 2023/09/09 21:25:30 tom Exp $
-.TH user_caps 5 2023-09-09 "ncurses 6.4" "File formats"
+.\" $Id: user_caps.5,v 1.36 2023/09/16 23:38:39 tom Exp $
+.TH user_caps 5 2023-09-16 "ncurses 6.4" "File formats"
.ie \n(.g .ds `` \(lq
.el .ds `` ``
.ie \n(.g .ds '' \(rq
.el .IP \(bu 2
..
.SH NAME
-user_caps \- user-defined terminfo capabilities
+user_caps \-
+user-defined \fIterminfo\fR capability format
.SH SYNOPSIS
.B @TIC@ -x, @INFOCMP@ -x
.SH DESCRIPTION
.\"
.\" Author: Thomas E. Dickey 1996
.\"
-.\" $Id: wresize.3x,v 1.24 2023/07/01 15:46:10 tom Exp $
-.TH wresize 3X 2023-07-01 "ncurses 6.4" "Library calls"
+.\" $Id: wresize.3x,v 1.28 2023/09/16 23:38:39 tom Exp $
+.TH wresize 3X 2023-09-16 "ncurses 6.4" "Library calls"
.SH NAME
-\fBwresize\fP \- resize a curses window
+\fB\%wresize\fP \-
+resize a \fIcurses\fR window
.SH SYNOPSIS
\fB#include <curses.h>\fP
.sp
/****************************************************************************
- * Copyright 2020,2021 Thomas E. Dickey *
+ * Copyright 2020-2021,2023 Thomas E. Dickey *
* Copyright 1998-2012,2014 Free Software Foundation, Inc. *
* *
* Permission is hereby granted, free of charge, to any person obtaining a *
#include "menu.priv.h"
-MODULE_ID("$Id: m_global.c,v 1.33 2021/03/27 23:46:29 tom Exp $")
+MODULE_ID("$Id: m_global.c,v 1.34 2023/09/16 16:39:26 tom Exp $")
static char mark[] = "-";
/* *INDENT-OFF* */
cur_item = menu->curitem;
assert(cur_item);
menu->toprow = (short)(((menu->rows - menu->frows) >= 0)
- ? min(menu->rows - menu->frows, new_toprow)
+ ? Min(menu->rows - menu->frows, new_toprow)
: 0);
menu->curitem = new_current_item;
else
{ /* if we are not posted, this is quite simple */
menu->toprow = (short)(((menu->rows - menu->frows) >= 0)
- ? min(menu->rows - menu->frows, new_toprow)
+ ? Min(menu->rows - menu->frows, new_toprow)
: 0);
menu->curitem = new_current_item;
}
/****************************************************************************
- * Copyright 2018-2021,2022 Thomas E. Dickey *
+ * Copyright 2018-2022,2023 Thomas E. Dickey *
* Copyright 1998-2016,2017 Free Software Foundation, Inc. *
* *
* Permission is hereby granted, free of charge, to any person obtaining a *
#define CUR SP_TERMTYPE
#endif
-MODULE_ID("$Id: lib_color.c,v 1.149 2022/04/30 18:36:54 tom Exp $")
+MODULE_ID("$Id: lib_color.c,v 1.150 2023/09/16 16:39:15 tom Exp $")
#ifdef USE_TERM_DRIVER
#define CanChange InfoOf(SP_PARM).canchange
NCURSES_PUTP2("initialize_color",
TIPARM_4(initialize_color, color, r, g, b));
#endif
- sp->_color_defs = max(color + 1, sp->_color_defs);
+ sp->_color_defs = Max(color + 1, sp->_color_defs);
result = OK;
}
/****************************************************************************
- * Copyright 2020 Thomas E. Dickey *
+ * Copyright 2020,2023 Thomas E. Dickey *
* Copyright 1998-2013,2016 Free Software Foundation, Inc. *
* *
* Permission is hereby granted, free of charge, to any person obtaining a *
#include <curses.priv.h>
-MODULE_ID("$Id: lib_overlay.c,v 1.33 2020/02/02 23:34:34 tom Exp $")
+MODULE_ID("$Id: lib_overlay.c,v 1.34 2023/09/16 16:39:07 tom Exp $")
static int
overlap(const WINDOW *const src, WINDOW *const dst, int const flag)
dy2 = dy1 + dst->_maxy;
if (dx2 >= sx1 && dx1 <= sx2 && dy2 >= sy1 && dy1 <= sy2) {
- int sminrow = max(sy1, dy1) - sy1;
- int smincol = max(sx1, dx1) - sx1;
- int dminrow = max(sy1, dy1) - dy1;
- int dmincol = max(sx1, dx1) - dx1;
- int dmaxrow = min(sy2, dy2) - dy1;
- int dmaxcol = min(sx2, dx2) - dx1;
+ int sminrow = Max(sy1, dy1) - sy1;
+ int smincol = Max(sx1, dx1) - sx1;
+ int dminrow = Max(sy1, dy1) - dy1;
+ int dmincol = Max(sx1, dx1) - dx1;
+ int dmaxrow = Min(sy2, dy2) - dy1;
+ int dmaxcol = Min(sx2, dx2) - dx1;
rc = copywin(src, dst,
sminrow, smincol,
****************************************************************************/
/*
- * $Id: curses.priv.h,v 1.672 2023/09/09 23:13:32 tom Exp $
+ * $Id: curses.priv.h,v 1.674 2023/09/16 16:31:14 tom Exp $
*
* curses.priv.h
*
#endif /* HAVE_LIBDL */
#endif /* USE_GPM_SUPPORT */
+/*
+ * Limit delay-times to 30 seconds, which is consistent with signed 16-bit
+ * numbers in legacy terminfo.
+ */
+#define MAX_DELAY_MSECS 30000
+
/*
* When converting from terminfo to termcap, check for cases where we can trim
* octal escapes down to 2-character form. It is useful for terminfo format
/* Checks for isprint() should be done on 8-bit characters (non-wide) */
#define is8bits(c) ((unsigned)(c) <= UCHAR_MAX)
-#ifndef min
-#define min(a,b) ((a) > (b) ? (b) : (a))
+#ifndef Min
+#define Min(a,b) ((a) > (b) ? (b) : (a))
#endif
-#ifndef max
-#define max(a,b) ((a) < (b) ? (b) : (a))
+#ifndef Max
+#define Max(a,b) ((a) < (b) ? (b) : (a))
#endif
/* usually in <unistd.h> */
--- /dev/null
+TERM=vxt-delay ASAN_OPTIONS=detect_odr_violation=0 ./lib_mvcur
/****************************************************************************
- * Copyright 2021 Thomas E. Dickey *
+ * Copyright 2021,2023 Thomas E. Dickey *
* *
* Permission is hereby granted, free of charge, to any person obtaining a *
* copy of this software and associated documentation files (the *
****************************************************************************/
/*
- * $Id: term.priv.h,v 1.7 2021/11/20 23:33:33 tom Exp $
+ * $Id: term.priv.h,v 1.8 2023/09/16 15:16:38 tom Exp $
*
* term.priv.h
*
* Header file for terminfo library objects which are private to
* the library.
- *
*/
#ifndef _TERM_PRIV_H
#include <ncurses_cfg.h>
+#ifndef __NCURSES_H
+#include <curses.h>
+#endif
+
#undef NCURSES_OPAQUE
#define NCURSES_INTERNALS 1
#define NCURSES_OPAQUE 0
#include <tic.h>
-MODULE_ID("$Id: alloc_entry.c,v 1.78 2023/09/09 16:06:00 Nicholas.Marriott Exp $")
+MODULE_ID("$Id: alloc_entry.c,v 1.79 2023/09/15 08:16:12 tom Exp $")
#define ABSENT_OFFSET -1
#define CANCELLED_OFFSET -2
/* copy term_names, Strings, uses */
tp->term_names = _nc_save_str(tp->term_names);
for_each_string(i, tp) {
- if (tp->Strings[i] != ABSENT_STRING &&
- tp->Strings[i] != CANCELLED_STRING) {
+ if (VALID_STRING(tp->Strings[i])) {
tp->Strings[i] = _nc_save_str(tp->Strings[i]);
}
}
/****************************************************************************
- * Copyright 2020 Thomas E. Dickey *
+ * Copyright 2020,2023 Thomas E. Dickey *
* Copyright 1999-2010,2016 Free Software Foundation, Inc. *
* *
* Permission is hereby granted, free of charge, to any person obtaining a *
#include <curses.priv.h>
#include <tic.h> /* struct tinfo_fkeys */
-MODULE_ID("$Id: init_keytry.c,v 1.19 2020/02/02 23:34:34 tom Exp $")
+MODULE_ID("$Id: init_keytry.c,v 1.20 2023/09/16 12:55:01 tom Exp $")
/*
** _nc_init_keytry()
NCURSES_EXPORT(void)
_nc_init_keytry(SCREEN *sp)
{
+ T(("_nc_init_keytry(%p)", (void *) sp));
+
/* The sp->_keytry value is initialized in newterm(), where the sp
* structure is created, because we can not tell where keypad() or
* mouse_activate() (which will call keyok()) are first called.
char *value = tp->Strings[n];
if (name != 0
&& *name == 'k'
- && value != 0
+ && VALID_STRING(value)
&& NCURSES_SP_NAME(key_defined) (NCURSES_SP_ARGx
value) == 0) {
(void) _nc_add_to_try(&(sp->_keytry),
/****************************************************************************
- * Copyright 2020 Thomas E. Dickey *
+ * Copyright 2020,2023 Thomas E. Dickey *
* Copyright 1998-2014,2017 Free Software Foundation, Inc. *
* *
* Permission is hereby granted, free of charge, to any person obtaining a *
#endif
#endif
-MODULE_ID("$Id: lib_napms.c,v 1.27 2020/08/15 19:45:23 tom Exp $")
+MODULE_ID("$Id: lib_napms.c,v 1.28 2023/09/16 16:09:33 tom Exp $")
NCURSES_EXPORT(int)
NCURSES_SP_NAME(napms) (NCURSES_SP_DCLx int ms)
{
T((T_CALLED("napms(%d)"), ms));
+ if (ms > MAX_DELAY_MSECS)
+ ms = MAX_DELAY_MSECS;
+
#ifdef USE_TERM_DRIVER
CallDriver_1(SP_PARM, td_nap, ms);
#else /* !USE_TERM_DRIVER */
#include <locale.h>
#endif
-MODULE_ID("$Id: lib_setup.c,v 1.221 2023/07/22 20:13:04 tom Exp $")
+MODULE_ID("$Id: lib_setup.c,v 1.222 2023/09/16 12:29:28 tom Exp $")
/****************************************************************************
*
*/
if (status == TGETENT_YES) {
unsigned n;
+ T(("_nc_setup_tinfo - resetting invalid booleans/strings"));
for_each_boolean(n, tp) {
if (!VALID_BOOLEAN(tp->Booleans[n]))
tp->Booleans[n] = FALSE;
#endif
/*
-** Take the real command character out of the CC environment variable
-** and substitute it in for the prototype given in 'command_character'.
-*/
+ * Take the real command character out of the CC environment variable
+ * and substitute it in for the prototype given in 'command_character'.
+ */
void
_nc_tinfo_cmdch(TERMINAL *termp, int proto)
{
char CC = *tmp;
for_each_string(i, &(termp->type)) {
- for (tmp = termp->type.Strings[i]; tmp && *tmp; tmp++) {
- if (UChar(*tmp) == proto)
- *tmp = CC;
+ tmp = termp->type.Strings[i];
+ if (VALID_STRING(tmp)) {
+ for (; *tmp; ++tmp) {
+ if (UChar(*tmp) == proto)
+ *tmp = CC;
+ }
}
}
}
set_curterm(termp);
- if (command_character)
+ if (VALID_STRING(command_character))
_nc_tinfo_cmdch(termp, UChar(*command_character));
/*
#include <ctype.h>
#include <tic.h>
-MODULE_ID("$Id: lib_tparm.c,v 1.151 2023/07/01 14:09:18 tom Exp $")
+MODULE_ID("$Id: lib_tparm.c,v 1.152 2023/09/16 16:30:27 tom Exp $")
/*
* char *
result->num_parsed = NUM_PARM;
if (result->num_popped > NUM_PARM)
result->num_popped = NUM_PARM;
- result->num_actual = max(result->num_popped, result->num_parsed);
+ result->num_actual = Max(result->num_popped, result->num_parsed);
for (n = 0; n < result->num_actual; ++n) {
if (result->p_is_s[n])
#include <termcap.h> /* ospeed */
#include <tic.h>
-MODULE_ID("$Id: lib_tputs.c,v 1.110 2023/04/22 15:12:57 tom Exp $")
+MODULE_ID("$Id: lib_tputs.c,v 1.111 2023/09/16 16:05:15 tom Exp $")
NCURSES_EXPORT_VAR(char) PC = 0; /* used by termcap library */
NCURSES_EXPORT_VAR(NCURSES_OSPEED) ospeed = 0; /* used by termcap library */
{
T((T_CALLED("delay_output(%p,%d)"), (void *) SP_PARM, ms));
+ if (ms > MAX_DELAY_MSECS)
+ ms = MAX_DELAY_MSECS;
+
if (!HasTInfoTerminal(SP_PARM))
returnCode(ERR);
#include <tic.h>
-MODULE_ID("$Id: read_entry.c,v 1.170 2023/06/24 18:09:05 tom Exp $")
+MODULE_ID("$Id: read_entry.c,v 1.171 2023/09/16 16:30:34 tom Exp $")
#define MyNumber(n) (short) LOW_MSB(n)
}
/* grab the name (a null-terminated string) */
- want = min(MAX_NAME_SIZE, (unsigned) name_size);
+ want = Min(MAX_NAME_SIZE, (unsigned) name_size);
ptr->str_table = string_table;
ptr->term_names = string_table;
if ((have = (unsigned) Read(ptr->term_names, want)) != want) {
offset = (int) (have - MAX_NAME_SIZE);
/* grab the booleans */
- TYPE_CALLOC(NCURSES_SBOOL, max(BOOLCOUNT, bool_count), ptr->Booleans);
+ TYPE_CALLOC(NCURSES_SBOOL, Max(BOOLCOUNT, bool_count), ptr->Booleans);
if (Read(ptr->Booleans, (unsigned) bool_count) < bool_count) {
returnDB(TGETENT_NO);
}
even_boundary(name_size + bool_count);
/* grab the numbers */
- TYPE_CALLOC(NCURSES_INT2, max(NUMCOUNT, num_count), ptr->Numbers);
+ TYPE_CALLOC(NCURSES_INT2, Max(NUMCOUNT, num_count), ptr->Numbers);
if (!read_numbers(buf, num_count)) {
returnDB(TGETENT_NO);
}
convert_numbers(buf, ptr->Numbers, num_count);
- TYPE_CALLOC(char *, max(STRCOUNT, str_count), ptr->Strings);
+ TYPE_CALLOC(char *, Max(STRCOUNT, str_count), ptr->Strings);
if (str_count) {
/* grab the string offsets */
/****************************************************************************
- * Copyright 2018-2021,2022 Thomas E. Dickey *
+ * Copyright 2018-2022,2023 Thomas E. Dickey *
* Copyright 2008-2016,2017 Free Software Foundation, Inc. *
* *
* Permission is hereby granted, free of charge, to any person obtaining a *
# endif
#endif
-MODULE_ID("$Id: tinfo_driver.c,v 1.73 2022/08/13 14:36:43 tom Exp $")
+MODULE_ID("$Id: tinfo_driver.c,v 1.74 2023/09/16 10:44:33 tom Exp $")
/*
* SCO defines TIOCGSIZE and the corresponding struct. Other systems (SunOS,
save_ttytype(termp);
#endif
- if (command_character)
- _nc_tinfo_cmdch(termp, *command_character);
+ if (VALID_STRING(command_character))
+ _nc_tinfo_cmdch(termp, UChar(*command_character));
/*
* If an application calls setupterm() rather than initscr() or
#include <tic.h>
-MODULE_ID("$Id: write_entry.c,v 1.130 2023/07/08 14:00:24 tom Exp $")
+MODULE_ID("$Id: write_entry.c,v 1.131 2023/09/16 16:28:36 tom Exp $")
#if 1
#define TRACE_OUT(p) DEBUG(2, p)
#else
LITTLE_ENDIAN(buf, MAGIC);
#endif
- LITTLE_ENDIAN(buf + 2, min(namelen, MAX_NAME_SIZE + 1));
+ namelen = Min(namelen, MAX_NAME_SIZE + 1);
+ LITTLE_ENDIAN(buf + 2, namelen);
LITTLE_ENDIAN(buf + 4, boolmax);
LITTLE_ENDIAN(buf + 6, nummax);
LITTLE_ENDIAN(buf + 8, strmax);
#define CUR SP_TERMTYPE
#endif
-MODULE_ID("$Id: hashmap.c,v 1.70 2023/06/25 17:16:01 tom Exp $")
+MODULE_ID("$Id: hashmap.c,v 1.71 2023/09/16 16:28:53 tom Exp $")
#ifdef HASHDEBUG
&& OLDNUM(SP_PARM, i) - i == shift)
i++;
size = i - start;
- if (size < 3 || size + min(size / 8, 2) < abs(shift)) {
+ if (size < 3 || size + Min(size / 8, 2) < abs(shift)) {
while (start < i) {
OLDNUM(SP_PARM, start) = _NEWINDEX;
start++;
#define CUR SP_TERMTYPE
#endif
-MODULE_ID("$Id: lib_mvcur.c,v 1.158 2023/06/24 17:34:43 tom Exp $")
+MODULE_ID("$Id: lib_mvcur.c,v 1.161 2023/09/16 16:29:02 tom Exp $")
#define WANT_CHAR(sp, y, x) NewScreen(sp)->_line[y].text[x] /* desired state */
/* extract padding, either mandatory or required */
if (cp[0] == '$' && cp[1] == '<' && strchr(cp, '>')) {
float number = 0.0;
+ int state = 0;
for (cp += 2; *cp != '>'; cp++) {
- if (isdigit(UChar(*cp)))
- number = number * 10 + (float) (*cp - '0');
- else if (*cp == '*')
- number *= (float) affcnt;
- else if (*cp == '.' && (*++cp != '>') && isdigit(UChar(*cp)))
- number += (float) ((*cp - '0') / 10.0);
+ if (isdigit(UChar(*cp))) {
+ switch (state) {
+ case 0:
+ number = number * 10 + (float) (*cp - '0');
+ break;
+ case 2:
+ number += (float) ((*cp - '0') / 10.0);
+ ++state;
+ break;
+ }
+ } else if (*cp == '*') {
+ /* padding is always a suffix */
+ if (state < 4) {
+ number *= (float) affcnt;
+ state = 4;
+ }
+ } else if (*cp == '.') {
+ /* a single decimal point is allowed */
+ state = (state == 0) ? 2 : 3;
+ }
+ if (number > MAX_DELAY_MSECS) {
+ number = MAX_DELAY_MSECS;
+ break;
+ }
}
#if NCURSES_NO_PADDING
1);
SP_PARM->_hpa_ch_cost = NormalizedCost(TIPARM_1(column_address, 23), 1);
SP_PARM->_cuf_ch_cost = NormalizedCost(TIPARM_1(parm_right_cursor, 23), 1);
- SP_PARM->_inline_cost = min(SP_PARM->_cup_ch_cost,
- min(SP_PARM->_hpa_ch_cost,
+ SP_PARM->_inline_cost = Min(SP_PARM->_cup_ch_cost,
+ Min(SP_PARM->_hpa_ch_cost,
SP_PARM->_cuf_ch_cost));
/*
#endif
#undef CUR
-MODULE_ID("$Id: lib_twait.c,v 1.80 2023/03/04 23:47:00 tom Exp $")
+MODULE_ID("$Id: lib_twait.c,v 1.81 2023/09/16 16:30:40 tom Exp $")
/*
* Returns an elapsed time, in milliseconds (if possible).
if ((mode & TW_MOUSE)
&& (fd = sp->_mouse_fd) >= 0) {
FD_SET(fd, &set);
- count = max(fd, count) + 1;
+ count = Max(fd, count) + 1;
}
#ifdef NCURSES_WGETCH_EVENTS
if ((mode & TW_EVENT) && evl) {
if (ev->type == _NC_EVENT_FILE
&& (ev->data.fev.flags & _NC_EVENT_FILE_READABLE)) {
FD_SET(ev->data.fev.fd, &set);
- count = max(ev->data.fev.fd + 1, count);
+ count = Max(ev->data.fev.fd + 1, count);
}
}
}
/****************************************************************************
- * Copyright 2018-2021,2022 Thomas E. Dickey *
+ * Copyright 2018-2022,2023 Thomas E. Dickey *
* Copyright 1998-2016,2017 Free Software Foundation, Inc. *
* *
* Permission is hereby granted, free of charge, to any person obtaining a *
#include <ctype.h>
-MODULE_ID("$Id: tty_update.c,v 1.314 2022/07/23 22:12:59 tom Exp $")
+MODULE_ID("$Id: tty_update.c,v 1.315 2023/09/16 16:38:41 tom Exp $")
/*
* This define controls the line-breakout optimization. Every once in a
if (check_pending(NCURSES_SP_ARG))
goto cleanup;
- nonempty = min(screen_lines(SP_PARM), NewScreen(SP_PARM)->_maxy + 1);
+ nonempty = Min(screen_lines(SP_PARM), NewScreen(SP_PARM)->_maxy + 1);
if (SP_PARM->_scrolling) {
NCURSES_SP_NAME(_nc_scroll_optimize) (NCURSES_SP_ARG);
if (0 != SP_PARM) {
int i;
NCURSES_CH_T blank = ClrBlank(NCURSES_SP_ARGx StdScreen(SP_PARM));
- int nonempty = min(screen_lines(SP_PARM),
+ int nonempty = Min(screen_lines(SP_PARM),
NewScreen(SP_PARM)->_maxy + 1);
ClearScreen(NCURSES_SP_ARGx blank);
ClrBottom(NCURSES_SP_DCLx int total)
{
int top = total;
- int last = min(screen_columns(SP_PARM), NewScreen(SP_PARM)->_maxx + 1);
+ int last = Min(screen_columns(SP_PARM), NewScreen(SP_PARM)->_maxx + 1);
NCURSES_CH_T blank = NewScreen(SP_PARM)->_line[total - 1].text[last - 1];
if (clr_eos && can_clear_with(NCURSES_SP_ARGx CHREF(blank))) {
** nLastChar = position of last different character in new line
**
** move to firstChar
-** overwrite chars up to min(oLastChar, nLastChar)
+** overwrite chars up to Min(oLastChar, nLastChar)
** if oLastChar < nLastChar
** insert newLine[oLastChar+1..nLastChar]
** else
}
ClrToEOL(NCURSES_SP_ARGx blank, FALSE);
} else {
- n = max(nLastChar, oLastChar);
+ n = Max(nLastChar, oLastChar);
PutRange(NCURSES_SP_ARGx
oldLine,
newLine,
break;
}
- n = min(oLastChar, nLastChar);
+ n = Min(oLastChar, nLastChar);
if (n >= firstChar) {
GoTo(NCURSES_SP_ARGx lineno, firstChar);
PutRange(NCURSES_SP_ARGx
}
if (oLastChar < nLastChar) {
- int m = max(nLastNonblank, oLastNonblank);
+ int m = Max(nLastNonblank, oLastNonblank);
#if USE_WIDEC_SUPPORT
if (n) {
while (isWidecExt(newLine[n + 1]) && n) {
#define CUR TerminalType(my_term).
-MODULE_ID("$Id: win32_driver.c,v 1.3 2023/03/25 14:08:36 tom Exp $")
+MODULE_ID("$Id: win32_driver.c,v 1.4 2023/09/16 16:29:24 tom Exp $")
#define WINMAGIC NCDRV_MAGIC(NCDRV_WINCONSOLE)
#define EXP_OPTIMIZE 0
Width = screen_columns(sp);
Height = screen_lines(sp);
- nonempty = min(Height, NewScreen(sp)->_maxy + 1);
+ nonempty = Min(Height, NewScreen(sp)->_maxy + 1);
T(("... %dx%d clear cur:%d new:%d",
Height, Width,
#define CONTROL_PRESSED (LEFT_CTRL_PRESSED | RIGHT_CTRL_PRESSED)
-MODULE_ID("$Id: win_driver.c,v 1.73 2023/08/05 19:02:24 tom Exp $")
+MODULE_ID("$Id: win_driver.c,v 1.74 2023/09/16 16:27:44 tom Exp $")
#define TypeAlloca(type,count) (type*) _alloca(sizeof(type) * (size_t) (count))
Width = screen_columns(sp);
Height = screen_lines(sp);
- nonempty = min(Height, NewScreen(sp)->_maxy + 1);
+ nonempty = Min(Height, NewScreen(sp)->_maxy + 1);
T(("... %dx%d clear cur:%d new:%d",
Height, Width,
-ncurses6 (6.4+20230909) unstable; urgency=low
+ncurses6 (6.4+20230917) unstable; urgency=low
* latest weekly patch
- -- Thomas E. Dickey <dickey@invisible-island.net> Sat, 09 Sep 2023 08:21:39 -0400
+ -- Thomas E. Dickey <dickey@invisible-island.net> Sun, 17 Sep 2023 04:35:40 -0400
ncurses6 (5.9+20131005) unstable; urgency=low
-ncurses6 (6.4+20230909) unstable; urgency=low
+ncurses6 (6.4+20230917) unstable; urgency=low
* latest weekly patch
- -- Thomas E. Dickey <dickey@invisible-island.net> Sat, 09 Sep 2023 08:21:39 -0400
+ -- Thomas E. Dickey <dickey@invisible-island.net> Sun, 17 Sep 2023 04:35:40 -0400
ncurses6 (5.9+20131005) unstable; urgency=low
-ncurses6 (6.4+20230909) unstable; urgency=low
+ncurses6 (6.4+20230917) unstable; urgency=low
* latest weekly patch
- -- Thomas E. Dickey <dickey@invisible-island.net> Sat, 09 Sep 2023 08:21:39 -0400
+ -- Thomas E. Dickey <dickey@invisible-island.net> Sun, 17 Sep 2023 04:35:40 -0400
ncurses6 (5.9+20120608) unstable; urgency=low
-; $Id: mingw-ncurses.nsi,v 1.603 2023/09/09 12:21:39 tom Exp $\r
+; $Id: mingw-ncurses.nsi,v 1.605 2023/09/17 08:35:40 tom Exp $\r
\r
; TODO add examples\r
; TODO bump ABI to 6\r
!define VERSION_MAJOR "6"\r
!define VERSION_MINOR "4"\r
!define VERSION_YYYY "2023"\r
-!define VERSION_MMDD "0909"\r
+!define VERSION_MMDD "0917"\r
!define VERSION_PATCH ${VERSION_YYYY}${VERSION_MMDD}\r
\r
!define MY_ABI "5"\r
Summary: shared libraries for terminal handling
Name: mingw32-ncurses6
Version: 6.4
-Release: 20230909
+Release: 20230917
License: X11
Group: Development/Libraries
URL: https://invisible-island.net/ncurses/
Summary: shared libraries for terminal handling
Name: ncurses6
Version: 6.4
-Release: 20230909
+Release: 20230917
License: X11
Group: Development/Libraries
URL: https://invisible-island.net/ncurses/
Summary: Curses library with POSIX thread support.
Name: ncursest6
Version: 6.4
-Release: 20230909
+Release: 20230917
License: X11
Group: Development/Libraries
Source: ncurses-%{version}-%{release}.tgz
--- /dev/null
+#!/bin/sh
+cd ../ncurses
+make || exit
+cd ../progs
+make || exit
+export TERMINFO=/tmp/FOO
+rm -rf $TERMINFO
+mkdir -p $TERMINFO
+rm -f trace
+shlib ./tic -v2 -x /var/mail/long_name.ti
+shlib ./infocmp -x xy