snapshot of project "ncurses", label v6_5_20250315

This commit is contained in:
Thomas E. Dickey 2025-03-15 23:56:46 +00:00
parent cdb86e54e0
commit 5fa5aea6d0
No known key found for this signature in database
GPG Key ID: CC2AF4472167BE03
32 changed files with 545 additions and 468 deletions

5
NEWS
View File

@ -26,7 +26,7 @@
-- sale, use or other dealings in this Software without prior written --
-- authorization. --
-------------------------------------------------------------------------------
-- $Id: NEWS,v 1.4259 2025/03/09 00:39:13 tom Exp $
-- $Id: NEWS,v 1.4261 2025/03/15 23:56:46 tom Exp $
-------------------------------------------------------------------------------
This is a log of changes that ncurses has gone through since Zeyd started
@ -46,6 +46,9 @@ See the AUTHORS file for the corresponding full names.
Changes through 1.9.9e did not credit all contributions;
it is not possible to add this information.
20250315
+ improve formatting/style of manpages (patches by Branden Robinson).
20250308
+ remove test in wgetch which applied notimeout to the initial read
of a character (patch by Branden Robinson).

View File

@ -1 +1 @@
5:0:10 6.5 20250308
5:0:10 6.5 20250315

View File

@ -26,7 +26,7 @@
# use or other dealings in this Software without prior written #
# authorization. #
##############################################################################
# $Id: dist.mk,v 1.1659 2025/03/08 11:56:38 tom Exp $
# $Id: dist.mk,v 1.1660 2025/03/15 11:18:45 tom Exp $
# Makefile for creating ncurses distributions.
#
# This only needs to be used directly as a makefile by developers, but
@ -38,7 +38,7 @@ SHELL = /bin/sh
# These define the major/minor/patch versions of ncurses.
NCURSES_MAJOR = 6
NCURSES_MINOR = 5
NCURSES_PATCH = 20250308
NCURSES_PATCH = 20250315
# We don't append the patch to the version, since this only applies to releases
VERSION = $(NCURSES_MAJOR).$(NCURSES_MINOR)

View File

@ -28,19 +28,19 @@
* sale, use or other dealings in this Software without prior written *
* authorization. *
****************************************************************************
* @Id: curs_add_wch.3x,v 1.110 2025/03/08 23:01:20 tom Exp @
* @Id: curs_add_wch.3x,v 1.112 2025/03/15 20:38:41 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 2025-03-08 ncurses 6.5 Library calls</TITLE>
<TITLE>curs_add_wch 3x 2025-03-15 ncurses 6.5 Library calls</TITLE>
<link rel="author" href="mailto:bug-ncurses@gnu.org">
</HEAD>
<BODY>
<H1 class="no-header">curs_add_wch 3x 2025-03-08 ncurses 6.5 Library calls</H1>
<H1 class="no-header">curs_add_wch 3x 2025-03-15 ncurses 6.5 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>
@ -133,62 +133,62 @@
function.
Construct a <EM>curses</EM> complex character from a <EM>wchar</EM><STRONG>_</STRONG><EM>t</EM> with <STRONG><A HREF="curs_getcchar.3x.html">setcchar(3x)</A></STRONG>.
A <EM>cchar</EM><STRONG>_</STRONG><EM>t</EM> can be copied from place to place using <STRONG><A HREF="curs_in_wch.3x.html">win_wch(3x)</A></STRONG> and
<STRONG>wadd_wch</STRONG>. See <STRONG><A HREF="curs_attr.3x.html">curs_attr(3x)</A></STRONG> for values of predefined constants that
can be usefully "or"ed with characters. A complex character whose only
character component is a wide space, and whose only attribute is
<STRONG>WA_NORMAL</STRONG>, is a <EM>blank</EM> <EM>character</EM>, and therefore combines with the
window's background character; see <STRONG><A HREF="curs_bkgrnd.3x.html">curs_bkgrnd(3x)</A></STRONG>.
Much behavior depends on whether the wide characters in <EM>wch</EM> are spacing
or non-spacing; see subsection "Complex Characters" below.
<STRONG>o</STRONG> If <EM>wch</EM> contains a spacing character, then any character at the
cursor is first removed. The complex character <EM>wch</EM>, with its
attributes and color pair identifier, becomes the <EM>base</EM> of the
<STRONG>o</STRONG> If <EM>wch</EM> contains a spacing character, then any character at the
cursor is first removed. The complex character <EM>wch</EM>, with its
attributes and color pair identifier, becomes the <EM>base</EM> of the
<EM>active</EM> <EM>complex</EM> <EM>character</EM>.
<STRONG>o</STRONG> If <EM>wch</EM> contains only non-spacing characters, they are combined with
the active complex character. <EM>curses</EM> ignores its attributes and
the active complex character. <EM>curses</EM> ignores its attributes and
color pair identifier, and does not advance the cursor.
Further non-spacing characters added with <STRONG>wadd_wch</STRONG> are not written at
the new cursor position but combine with the active complex character
until another spacing character is written to the window or the cursor
Further non-spacing characters added with <STRONG>wadd_wch</STRONG> are not written at
the new cursor position but combine with the active complex character
until another spacing character is written to the window or the cursor
is moved.
If the cursor is not at the bottom of the scrolling region and
advancement occurs at the right margin, the cursor automatically wraps
If the cursor is not at the bottom of the scrolling region and
advancement occurs at the right margin, the cursor automatically wraps
to the beginning of the next line.
If the cursor is at the bottom of the scrolling region when advancement
occurs at the right margin, and <STRONG><A HREF="scrollok.3x.html">scrollok(3x)</A></STRONG> is enabled for <EM>win</EM>, the
cursor wraps as above and the scrolling region scrolls up one line.
Otherwise, advancement and scrolling do not occur, and <STRONG>waddch</STRONG> returns
occurs at the right margin, and <STRONG><A HREF="scrollok.3x.html">scrollok(3x)</A></STRONG> is enabled for <EM>win</EM>, the
cursor wraps as above and the scrolling region scrolls up one line.
Otherwise, advancement and scrolling do not occur, and <STRONG>waddch</STRONG> returns
<STRONG>ERR</STRONG>.
If <EM>wch</EM> is a backspace, carriage return, line feed, or tab, the cursor
If <EM>wch</EM> is a backspace, carriage return, line feed, or tab, the cursor
moves appropriately within the window.
<STRONG>o</STRONG> Backspace moves the cursor one character left; at the left margin
<STRONG>o</STRONG> Backspace moves the cursor one character left; at the left margin
of a window, it does nothing.
<STRONG>o</STRONG> Carriage return moves the cursor to the left margin on the same
<STRONG>o</STRONG> Carriage return moves the cursor to the left margin on the same
line of the window.
<STRONG>o</STRONG> Line feed does a <STRONG><A HREF="curs_clear.3x.html">clrtoeol(3x)</A></STRONG>, then advances as if from the right
<STRONG>o</STRONG> Line feed does a <STRONG><A HREF="curs_clear.3x.html">clrtoeol(3x)</A></STRONG>, then advances as if from the right
margin.
<STRONG>o</STRONG> Tab advances the cursor to the next tab stop (possibly on the next
line); these are placed at every eighth column by default. Alter
the tab interval with the <STRONG>TABSIZE</STRONG> extension; see
<STRONG>o</STRONG> Tab advances the cursor to the next tab stop (possibly on the next
line); these are placed at every eighth column by default. Alter
the tab interval with the <STRONG>TABSIZE</STRONG> extension; see
<STRONG><A HREF="curs_variables.3x.html">curs_variables(3x)</A></STRONG>.
If <EM>wch</EM> is any other nonprintable character, it is drawn in printable
form using the same convention as <STRONG><A HREF="curs_util.3x.html">wunctrl(3x)</A></STRONG>. Calling <STRONG><A HREF="curs_in_wch.3x.html">win_wch(3x)</A></STRONG> on
the location of a nonprintable character does not return the character
If <EM>wch</EM> is any other nonprintable character, it is drawn in printable
form using the same convention as <STRONG><A HREF="curs_util.3x.html">wunctrl(3x)</A></STRONG>. Calling <STRONG><A HREF="curs_in_wch.3x.html">win_wch(3x)</A></STRONG> on
the location of a nonprintable character does not return the character
itself, but its <STRONG><A HREF="curs_util.3x.html">wunctrl(3x)</A></STRONG> representation.
A <EM>cchar</EM><STRONG>_</STRONG><EM>t</EM> can be copied from place to place using <STRONG><A HREF="curs_in_wch.3x.html">win_wch(3x)</A></STRONG> and
<STRONG>wadd_wch</STRONG>. See <STRONG><A HREF="curs_attr.3x.html">curs_attr(3x)</A></STRONG> for values of predefined constants that
can be usefully "or"ed with characters. A complex character whose only
character component is a wide space, and whose only attribute is
<STRONG>WA_NORMAL</STRONG>, is a <EM>blank</EM> <EM>character</EM>, and therefore combines with the
background character; see <STRONG><A HREF="curs_bkgrnd.3x.html">curs_bkgrnd(3x)</A></STRONG>.
</PRE><H3><a name="h3-wecho_wchar">wecho_wchar</a></H3><PRE>
<STRONG>echo_wchar</STRONG> and <STRONG>wecho_wchar</STRONG> are equivalent to calling (<STRONG>w</STRONG>)<STRONG>add_wch</STRONG>
@ -201,16 +201,16 @@
</PRE><H3><a name="h3-Forms-Drawing-Characters">Forms-Drawing Characters</a></H3><PRE>
<EM>curses</EM> defines macros starting with <STRONG>WACS_</STRONG> that can be used with
<STRONG>wadd_wch</STRONG> to write line-drawing and other symbols to the screen.
<EM>ncurses</EM> terms these <EM>forms-drawing</EM> <EM>characters.</EM> The ACS default listed
below is used if the <STRONG>acs_chars</STRONG> (<STRONG>acsc</STRONG>) <EM>terminfo</EM> capability does not
define a terminal-specific replacement for it, or if the terminal type
and locale configuration require Unicode to access these characters but
the library is unable to use Unicode. The "acsc char" column
corresponds to how the characters are specified in the <STRONG>acs_chars</STRONG> (<STRONG>acsc</STRONG>)
string capability, and the characters in it may appear on the screen if
the terminal type's database entry incorrectly advertises ACS support.
The name "ACS" originates in the Alternate Character Set feature of the
DEC VT100 terminal.
<EM>ncurses</EM> terms these <EM>forms-drawing</EM> <EM>characters.</EM> <EM>curses</EM> uses the ACS
default listed below if the terminal type lacks the <STRONG>acs_chars</STRONG> (<STRONG>acsc</STRONG>)
capability; that capability does not define a replacement for the
character; or if the terminal type and locale configuration require
Unicode to access these characters, but the library is unable to use
Unicode. The "acsc char" column corresponds to how the characters are
specified in the <STRONG>acs_chars</STRONG> (<STRONG>acsc</STRONG>) string capability, and the characters
in it may appear on the screen if the terminal type's database entry
incorrectly advertises ACS support. The name "ACS" originates in the
Alternate Character Set feature of the DEC VT100 terminal.
<STRONG>Unicode</STRONG> <STRONG>ACS</STRONG> <STRONG>acsc</STRONG>
<STRONG>Symbol</STRONG> <STRONG>Default</STRONG> <STRONG>Default</STRONG> <STRONG>char</STRONG> <STRONG>Glyph</STRONG> <STRONG>Name</STRONG>
@ -299,7 +299,7 @@
</PRE><H2><a name="h2-RETURN-VALUE">RETURN VALUE</a></H2><PRE>
These functions return <STRONG>OK</STRONG> on success and <STRONG>ERR</STRONG> on failure.
In <EM>ncurses</EM>, they return <STRONG>ERR</STRONG> if
In <EM>ncurses</EM>, these functions fail if
<STRONG>o</STRONG> the <EM>curses</EM> screen has not been initialized,
@ -325,7 +325,7 @@
</PRE><H2><a name="h2-EXTENSIONS">EXTENSIONS</a></H2><PRE>
The symbols <EM>WACS</EM><STRONG>_</STRONG><EM>S3</EM>, <EM>WACS</EM><STRONG>_</STRONG><EM>S7</EM>, <EM>WACS</EM><STRONG>_</STRONG><EM>LEQUAL</EM>, <EM>WACS</EM><STRONG>_</STRONG><EM>GEQUAL</EM>, <EM>WACS</EM><STRONG>_</STRONG><EM>PI</EM>,
<EM>WACS</EM><STRONG>_</STRONG><EM>NEQUAL</EM>, and <EM>WACS</EM><STRONG>_</STRONG><EM>STERLING</EM> are not standard. However, many
publicly available <EM>terminfo</EM> entries include <EM>acs</EM><STRONG>_</STRONG><EM>chars</EM> (<STRONG>acsc</STRONG>)
publicly available <EM>terminfo</EM> entries include <STRONG>acs_chars</STRONG> (<STRONG>acsc</STRONG>)
capabilities in which their key characters (<STRONG>pryz{|}</STRONG>) are embedded, and
a second-hand list of their character descriptions has come to light.
The <EM>ncurses</EM> developers invented WACS-prefixed names for them.
@ -450,7 +450,7 @@
ncurses 6.5 2025-03-08 <STRONG><A HREF="curs_add_wch.3x.html">curs_add_wch(3x)</A></STRONG>
ncurses 6.5 2025-03-15 <STRONG><A HREF="curs_add_wch.3x.html">curs_add_wch(3x)</A></STRONG>
</PRE>
<div class="nav">
<ul>

View File

@ -27,19 +27,19 @@
* sale, use or other dealings in this Software without prior written *
* authorization. *
****************************************************************************
* @Id: curs_add_wchstr.3x,v 1.55 2025/02/01 22:57:57 tom Exp @
* @Id: curs_add_wchstr.3x,v 1.57 2025/03/15 20:41:04 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 2025-02-01 ncurses 6.5 Library calls</TITLE>
<TITLE>curs_add_wchstr 3x 2025-03-15 ncurses 6.5 Library calls</TITLE>
<link rel="author" href="mailto:bug-ncurses@gnu.org">
</HEAD>
<BODY>
<H1 class="no-header">curs_add_wchstr 3x 2025-02-01 ncurses 6.5 Library calls</H1>
<H1 class="no-header">curs_add_wchstr 3x 2025-03-15 ncurses 6.5 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>
@ -97,18 +97,21 @@
</PRE><H2><a name="h2-RETURN-VALUE">RETURN VALUE</a></H2><PRE>
These functions return <STRONG>OK</STRONG> on success and <STRONG>ERR</STRONG> on failure.
In <EM>ncurses</EM>, they return <STRONG>ERR</STRONG> if
In <EM>ncurses</EM>, these functions fail if
<STRONG>o</STRONG> <EM>win</EM> is <EM>NULL</EM> or
<STRONG>o</STRONG> the <EM>curses</EM> screen has not been initialized,
<STRONG>o</STRONG> <EM>wchstr</EM> is <EM>NULL</EM>.
<STRONG>o</STRONG> <EM>wchstr</EM> is a null pointer, or
Functions prefixed with "mv" first perform cursor movement and fail if
<STRONG>o</STRONG> (for functions taking a <EM>WINDOW</EM> pointer argument) <EM>win</EM> is a null
pointer.
Functions prefixed with "mv" first perform cursor movement and fail if
the position (<EM>y</EM>, <EM>x</EM>) is outside the window boundaries.
</PRE><H2><a name="h2-NOTES">NOTES</a></H2><PRE>
All of these functions except <STRONG>wadd_wchnstr</STRONG> may be implemented as
All of these functions except <STRONG>wadd_wchnstr</STRONG> may be implemented as
macros.
@ -118,10 +121,10 @@
</PRE><H2><a name="h2-HISTORY">HISTORY</a></H2><PRE>
X/Open Curses Issue 4 (1995) initially specified these functions. The
System V Interface Definition Version 4 of the same year specified
functions named <EM>waddwchstr</EM> and <EM>waddwchnstr</EM> (and the usual variants).
These were later additions to SVr4.<EM>x</EM>, not appearing in the first SVr4
X/Open Curses Issue 4 (1995) initially specified these functions. The
System V Interface Definition Version 4 of the same year specified
functions named <EM>waddwchstr</EM> and <EM>waddwchnstr</EM> (and the usual variants).
These were later additions to SVr4.<EM>x</EM>, not appearing in the first SVr4
(1989). They differed from X/Open's later <EM>wadd</EM><STRONG>_</STRONG><EM>wchstr</EM> and <EM>wadd</EM><STRONG>_</STRONG><EM>wchnstr</EM>
in that they each took an argument of type <EM>wchar</EM><STRONG>_</STRONG><EM>t</EM> instead of <EM>cchar</EM><STRONG>_</STRONG><EM>t</EM>.
@ -134,7 +137,7 @@
ncurses 6.5 2025-02-01 <STRONG><A HREF="curs_add_wchstr.3x.html">curs_add_wchstr(3x)</A></STRONG>
ncurses 6.5 2025-03-15 <STRONG><A HREF="curs_add_wchstr.3x.html">curs_add_wchstr(3x)</A></STRONG>
</PRE>
<div class="nav">
<ul>

View File

@ -28,19 +28,19 @@
* sale, use or other dealings in this Software without prior written *
* authorization. *
****************************************************************************
* @Id: curs_addch.3x,v 1.130 2025/03/08 23:01:20 tom Exp @
* @Id: curs_addch.3x,v 1.132 2025/03/15 20:40:50 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 2025-03-08 ncurses 6.5 Library calls</TITLE>
<TITLE>curs_addch 3x 2025-03-15 ncurses 6.5 Library calls</TITLE>
<link rel="author" href="mailto:bug-ncurses@gnu.org">
</HEAD>
<BODY>
<H1 class="no-header">curs_addch 3x 2025-03-08 ncurses 6.5 Library calls</H1>
<H1 class="no-header">curs_addch 3x 2025-03-15 ncurses 6.5 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>
@ -106,11 +106,19 @@
the cursor position, analogously to the standard C library's
<STRONG>putchar(3)</STRONG>. <STRONG><A HREF="ncurses.3x.html">ncurses(3x)</A></STRONG> describes the variants of this function.
Construct a <EM>curses</EM> character from a <EM>char</EM> by assignment. Subsection
"Video Attributes" of <STRONG><A HREF="curs_attr.3x.html">attron(3x)</A></STRONG> describes how to manipulate its
attributes and color pair. (A color pair selection is not honored
Construct a <EM>curses</EM> character from a <EM>char</EM> by assignment or typecast.
Subsection "Video Attributes" of <STRONG><A HREF="curs_attr.3x.html">attron(3x)</A></STRONG> describes how to manipulate
its attributes and color pair. (A color pair selection is not honored
unless initialized; see <STRONG><A HREF="curs_color.3x.html">start_color(3x)</A></STRONG>.)
The object or expression <EM>ch</EM> may contain attributes and/or a color pair
identifier. (A <EM>chtype</EM> can be copied from place to place using
<STRONG><A HREF="curs_inch.3x.html">winch(3x)</A></STRONG> and <STRONG>waddch</STRONG>.) See <STRONG><A HREF="curs_attr.3x.html">curs_attr(3x)</A></STRONG> for values of predefined
constants that can be usefully "or"ed with characters. A <EM>ch</EM> whose
character component is a space, and whose only attribute is <STRONG>A_NORMAL</STRONG>,
is a <EM>blank</EM> <EM>character</EM>, and therefore combines with the window's
background character; see <STRONG><A HREF="curs_bkgd.3x.html">curs_bkgd(3x)</A></STRONG>.
If the cursor is not at the bottom of the scrolling region and
advancement occurs at the right margin, the cursor automatically wraps
to the beginning of the next line.
@ -143,14 +151,6 @@
location of a nonprintable character does not return the character
itself, but its <STRONG><A HREF="unctrl.3x.html">unctrl(3x)</A></STRONG> representation.
The object or expression <EM>ch</EM> may contain attributes and/or a color pair
identifier. (A <EM>chtype</EM> can be copied from place to place using
<STRONG><A HREF="curs_inch.3x.html">winch(3x)</A></STRONG> and <STRONG>waddch</STRONG>.) See <STRONG><A HREF="curs_attr.3x.html">curs_attr(3x)</A></STRONG> for values of predefined
constants that can be usefully "or"ed with characters. A <EM>ch</EM> whose
character component is a space, and whose only attribute is <STRONG>A_NORMAL</STRONG>,
is a <EM>blank</EM> <EM>character</EM>, and therefore combines with the background
character; see <STRONG><A HREF="curs_bkgd.3x.html">curs_bkgd(3x)</A></STRONG>.
</PRE><H3><a name="h3-wechochar">wechochar</a></H3><PRE>
<STRONG>echochar</STRONG> and <STRONG>wechochar</STRONG> are equivalent to calling (<STRONG>w</STRONG>)<STRONG>addch</STRONG> followed by
@ -164,16 +164,16 @@
</PRE><H3><a name="h3-Forms-Drawing-Characters">Forms-Drawing Characters</a></H3><PRE>
<EM>curses</EM> defines macros starting with <STRONG>ACS_</STRONG> that can be used with <STRONG>waddch</STRONG>
to write line-drawing and other symbols to the screen. <EM>ncurses</EM> terms
these <EM>forms-drawing</EM> <EM>characters.</EM> The ACS default listed below is used
if the <STRONG>acs_chars</STRONG> (<STRONG>acsc</STRONG>) <EM>terminfo</EM> capability does not define a terminal-
specific replacement for it, or if the terminal type and locale
configuration require Unicode to access these characters but the
library is unable to use Unicode. The "acsc char" column corresponds
to how the characters are specified in the <STRONG>acs_chars</STRONG> (<STRONG>acsc</STRONG>) string
capability, and the characters in it may appear on the screen if the
terminal type's database entry incorrectly advertises ACS support. The
name "ACS" originates in the Alternate Character Set feature of the DEC
VT100 terminal.
these <EM>forms-drawing</EM> <EM>characters.</EM> <EM>curses</EM> uses the ACS default listed
below if the terminal type lacks the <STRONG>acs_chars</STRONG> (<STRONG>acsc</STRONG>) capability; that
capability does not define a replacement for the character; or if the
terminal type and locale configuration require Unicode to access these
characters, but the library is unable to use Unicode. The "acsc char"
column corresponds to how the characters are specified in the <STRONG>acs_chars</STRONG>
(<STRONG>acsc</STRONG>) string capability, and the characters in it may appear on the
screen if the terminal type's database entry incorrectly advertises ACS
support. The name "ACS" originates in the Alternate Character Set
feature of the DEC VT100 terminal.
<STRONG>ACS</STRONG> <STRONG>acsc</STRONG>
<STRONG>Symbol</STRONG> <STRONG>Default</STRONG> <STRONG>char</STRONG> <STRONG>Glyph</STRONG> <STRONG>Name</STRONG>
@ -216,7 +216,7 @@
</PRE><H2><a name="h2-RETURN-VALUE">RETURN VALUE</a></H2><PRE>
These functions return <STRONG>OK</STRONG> on success and <STRONG>ERR</STRONG> on failure.
In <EM>ncurses</EM>, they return <STRONG>ERR</STRONG> if
In <EM>ncurses</EM>, these functions fail if
<STRONG>o</STRONG> the <EM>curses</EM> screen has not been initialized,
@ -252,7 +252,7 @@
The symbols <EM>ACS</EM><STRONG>_</STRONG><EM>S3</EM>, <EM>ACS</EM><STRONG>_</STRONG><EM>S7</EM>, <EM>ACS</EM><STRONG>_</STRONG><EM>LEQUAL</EM>, <EM>ACS</EM><STRONG>_</STRONG><EM>GEQUAL</EM>, <EM>ACS</EM><STRONG>_</STRONG><EM>PI</EM>, <EM>ACS</EM><STRONG>_</STRONG><EM>NEQUAL</EM>,
and <EM>ACS</EM><STRONG>_</STRONG><EM>STERLING</EM> were not documented in any publicly released System V
and are not standard. However, many publicly available <EM>terminfo</EM>
entries include <EM>acs</EM><STRONG>_</STRONG><EM>chars</EM> (<STRONG>acsc</STRONG>) capabilities in which their key
entries include <STRONG>acs_chars</STRONG> (<STRONG>acsc</STRONG>) capabilities in which their key
characters (<STRONG>pryz{|}</STRONG>) are embedded, and a second-hand list of their
character descriptions has come to light. The <EM>ncurses</EM> developers
invented ACS-prefixed names for them.
@ -365,7 +365,7 @@
ncurses 6.5 2025-03-08 <STRONG><A HREF="curs_addch.3x.html">curs_addch(3x)</A></STRONG>
ncurses 6.5 2025-03-15 <STRONG><A HREF="curs_addch.3x.html">curs_addch(3x)</A></STRONG>
</PRE>
<div class="nav">
<ul>

View File

@ -27,19 +27,19 @@
* sale, use or other dealings in this Software without prior written *
* authorization. *
****************************************************************************
* @Id: curs_addchstr.3x,v 1.60 2025/02/01 22:50:42 tom Exp @
* @Id: curs_addchstr.3x,v 1.62 2025/03/15 20:41:04 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 2025-02-01 ncurses 6.5 Library calls</TITLE>
<TITLE>curs_addchstr 3x 2025-03-15 ncurses 6.5 Library calls</TITLE>
<link rel="author" href="mailto:bug-ncurses@gnu.org">
</HEAD>
<BODY>
<H1 class="no-header">curs_addchstr 3x 2025-02-01 ncurses 6.5 Library calls</H1>
<H1 class="no-header">curs_addchstr 3x 2025-03-15 ncurses 6.5 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>
@ -91,13 +91,16 @@
</PRE><H2><a name="h2-RETURN-VALUE">RETURN VALUE</a></H2><PRE>
These functions return <STRONG>OK</STRONG> on success and <STRONG>ERR</STRONG> on failure.
In <EM>ncurses</EM>, they return <STRONG>ERR</STRONG> if
In <EM>ncurses</EM>, these functions fail if
<STRONG>o</STRONG> <EM>win</EM> is <EM>NULL</EM> or
<STRONG>o</STRONG> the <EM>curses</EM> screen has not been initialized,
<STRONG>o</STRONG> <EM>chstr</EM> is <EM>NULL</EM>.
<STRONG>o</STRONG> <EM>chstr</EM> is a null pointer, or
Functions prefixed with "mv" first perform cursor movement and fail if
<STRONG>o</STRONG> (for functions taking a <EM>WINDOW</EM> pointer argument) <EM>win</EM> is a null
pointer.
Functions prefixed with "mv" first perform cursor movement and fail if
the position (<EM>y</EM>, <EM>x</EM>) is outside the window boundaries.
@ -109,7 +112,7 @@
X/Open Curses Issue 4 describes these functions. It specifies no error
conditions for them.
SVr4 describes a successful return value only as "an integer value
SVr4 describes a successful return value only as "an integer value
other than <EM>ERR</EM>".
@ -125,7 +128,7 @@
ncurses 6.5 2025-02-01 <STRONG><A HREF="curs_addchstr.3x.html">curs_addchstr(3x)</A></STRONG>
ncurses 6.5 2025-03-15 <STRONG><A HREF="curs_addchstr.3x.html">curs_addchstr(3x)</A></STRONG>
</PRE>
<div class="nav">
<ul>

View File

@ -27,19 +27,19 @@
* sale, use or other dealings in this Software without prior written *
* authorization. *
****************************************************************************
* @Id: curs_addstr.3x,v 1.67 2025/02/01 22:48:11 tom Exp @
* @Id: curs_addstr.3x,v 1.69 2025/03/15 20:41:04 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 2025-02-01 ncurses 6.5 Library calls</TITLE>
<TITLE>curs_addstr 3x 2025-03-15 ncurses 6.5 Library calls</TITLE>
<link rel="author" href="mailto:bug-ncurses@gnu.org">
</HEAD>
<BODY>
<H1 class="no-header">curs_addstr 3x 2025-02-01 ncurses 6.5 Library calls</H1>
<H1 class="no-header">curs_addstr 3x 2025-03-15 ncurses 6.5 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>
@ -77,15 +77,18 @@
</PRE><H2><a name="h2-RETURN-VALUE">RETURN VALUE</a></H2><PRE>
These functions return <STRONG>OK</STRONG> on success and <STRONG>ERR</STRONG> on failure.
In <EM>ncurses</EM>, they return <STRONG>ERR</STRONG> if
In <EM>ncurses</EM>, these functions fail if
<STRONG>o</STRONG> <EM>win</EM> is <EM>NULL</EM>,
<STRONG>o</STRONG> the <EM>curses</EM> screen has not been initialized,
<STRONG>o</STRONG> <EM>str</EM> is <EM>NULL</EM>, or
<STRONG>o</STRONG> <EM>str</EM> is a null pointer,
<STRONG>o</STRONG> (for functions taking a <EM>WINDOW</EM> pointer argument) <EM>win</EM> is a null
pointer, or
<STRONG>o</STRONG> an internal <STRONG><A HREF="curs_addch.3x.html">waddch(3x)</A></STRONG> call returns <STRONG>ERR</STRONG>.
Functions prefixed with "mv" first perform cursor movement and fail if
Functions prefixed with "mv" first perform cursor movement and fail if
the position (<EM>y</EM>, <EM>x</EM>) is outside the window boundaries.
@ -97,12 +100,12 @@
X/Open Curses Issue 4 describes these functions. It specifies no error
conditions for them.
SVr4 describes a successful return value only as "an integer value
SVr4 describes a successful return value only as "an integer value
other than <EM>ERR</EM>".
</PRE><H2><a name="h2-HISTORY">HISTORY</a></H2><PRE>
4BSD (1980) introduced <EM>waddstr</EM> along with its variants, the latter
4BSD (1980) introduced <EM>waddstr</EM> along with its variants, the latter
defined as macros.
SVr3.1 (1987) added <EM>waddnstr</EM> (and its variants) redefining <EM>waddstr</EM> as a
@ -110,14 +113,14 @@
</PRE><H2><a name="h2-SEE-ALSO">SEE ALSO</a></H2><PRE>
<STRONG><A HREF="curs_addwstr.3x.html">curs_addwstr(3x)</A></STRONG> describes comparable functions of the <EM>ncurses</EM> library
<STRONG><A HREF="curs_addwstr.3x.html">curs_addwstr(3x)</A></STRONG> describes comparable functions of the <EM>ncurses</EM> library
in its wide-character configuration (<EM>ncursesw</EM>).
<STRONG><A HREF="ncurses.3x.html">curses(3x)</A></STRONG>, <STRONG><A HREF="curs_addch.3x.html">curs_addch(3x)</A></STRONG>, <STRONG><A HREF="curs_addchstr.3x.html">curs_addchstr(3x)</A></STRONG>
ncurses 6.5 2025-02-01 <STRONG><A HREF="curs_addstr.3x.html">curs_addstr(3x)</A></STRONG>
ncurses 6.5 2025-03-15 <STRONG><A HREF="curs_addstr.3x.html">curs_addstr(3x)</A></STRONG>
</PRE>
<div class="nav">
<ul>

View File

@ -27,19 +27,19 @@
* sale, use or other dealings in this Software without prior written *
* authorization. *
****************************************************************************
* @Id: curs_addwstr.3x,v 1.58 2025/02/01 22:54:32 tom Exp @
* @Id: curs_addwstr.3x,v 1.60 2025/03/15 20:41:04 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 2025-02-01 ncurses 6.5 Library calls</TITLE>
<TITLE>curs_addwstr 3x 2025-03-15 ncurses 6.5 Library calls</TITLE>
<link rel="author" href="mailto:bug-ncurses@gnu.org">
</HEAD>
<BODY>
<H1 class="no-header">curs_addwstr 3x 2025-02-01 ncurses 6.5 Library calls</H1>
<H1 class="no-header">curs_addwstr 3x 2025-03-15 ncurses 6.5 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>
@ -81,15 +81,18 @@
</PRE><H2><a name="h2-RETURN-VALUE">RETURN VALUE</a></H2><PRE>
These functions return <STRONG>OK</STRONG> on success and <STRONG>ERR</STRONG> on failure.
In <EM>ncurses</EM>, they return <STRONG>ERR</STRONG> if
In <EM>ncurses</EM>, these functions fail if
<STRONG>o</STRONG> <EM>win</EM> is <EM>NULL</EM>,
<STRONG>o</STRONG> the <EM>curses</EM> screen has not been initialized,
<STRONG>o</STRONG> <EM>wstr</EM> is <EM>NULL</EM>, or
<STRONG>o</STRONG> <EM>wstr</EM> is a null pointer,
<STRONG>o</STRONG> (for functions taking a <EM>WINDOW</EM> pointer argument) <EM>win</EM> is a null
pointer, or
<STRONG>o</STRONG> an internal <STRONG><A HREF="curs_add_wch.3x.html">wadd_wch(3x)</A></STRONG> call returns <STRONG>ERR</STRONG>.
Functions prefixed with "mv" first perform cursor movement and fail if
Functions prefixed with "mv" first perform cursor movement and fail if
the position (<EM>y</EM>, <EM>x</EM>) is outside the window boundaries.
@ -100,26 +103,26 @@
</PRE><H2><a name="h2-PORTABILITY">PORTABILITY</a></H2><PRE>
X/Open Curses Issue 4 describes these functions.
SVr4 describes a successful return value only as "an integer value
SVr4 describes a successful return value only as "an integer value
other than <EM>ERR</EM>".
</PRE><H2><a name="h2-HISTORY">HISTORY</a></H2><PRE>
X/Open Curses Issue 4 (1995) initially specified these functions. The
System V Interface Definition Version 4 of the same year specified
X/Open Curses Issue 4 (1995) initially specified these functions. The
System V Interface Definition Version 4 of the same year specified
functions named <EM>waddwstr</EM> and <EM>waddnwstr</EM> (and the usual variants). These
were later additions to SVr4.<EM>x</EM>, not appearing in the first SVr4 (1989).
</PRE><H2><a name="h2-SEE-ALSO">SEE ALSO</a></H2><PRE>
<STRONG><A HREF="curs_addstr.3x.html">curs_addstr(3x)</A></STRONG> describes comparable functions of the <EM>ncurses</EM> library
<STRONG><A HREF="curs_addstr.3x.html">curs_addstr(3x)</A></STRONG> describes comparable functions of the <EM>ncurses</EM> library
in its non-wide-character configuration.
<STRONG><A HREF="ncurses.3x.html">curses(3x)</A></STRONG>, <STRONG><A HREF="curs_add_wch.3x.html">curs_add_wch(3x)</A></STRONG>, <STRONG><A HREF="curs_add_wchstr.3x.html">curs_add_wchstr(3x)</A></STRONG>
ncurses 6.5 2025-02-01 <STRONG><A HREF="curs_addwstr.3x.html">curs_addwstr(3x)</A></STRONG>
ncurses 6.5 2025-03-15 <STRONG><A HREF="curs_addwstr.3x.html">curs_addwstr(3x)</A></STRONG>
</PRE>
<div class="nav">
<ul>

View File

@ -28,19 +28,19 @@
* sale, use or other dealings in this Software without prior written *
* authorization. *
****************************************************************************
* @Id: curs_getch.3x,v 1.119 2025/02/15 19:35:55 tom Exp @
* @Id: curs_getch.3x,v 1.121 2025/03/15 22:04:20 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 2025-02-15 ncurses 6.5 Library calls</TITLE>
<TITLE>curs_getch 3x 2025-03-15 ncurses 6.5 Library calls</TITLE>
<link rel="author" href="mailto:bug-ncurses@gnu.org">
</HEAD>
<BODY>
<H1 class="no-header">curs_getch 3x 2025-02-15 ncurses 6.5 Library calls</H1>
<H1 class="no-header">curs_getch 3x 2025-03-15 ncurses 6.5 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>
@ -138,22 +138,35 @@
escape character ESC. This fact implies that <EM>curses</EM> cannot distinguish
a user's press of the escape key (assuming it sends ESC) from the
beginning of a function key's character sequence without waiting to see
if, and how soon, further input arrives. When <EM>curses</EM> reads such an
ambiguous character, it sets a timer. If the remainder of the sequence
does not arrive within the designated time, <STRONG>wgetch</STRONG> returns the prefix
character; otherwise, it returns the function key code corresponding to
the unique sequence defined by the terminal. Consequently, a user of a
<EM>curses</EM> application may experience a delay after the escape key is
pressed while <EM>curses</EM> disambiguates the input; see section "EXTENSIONS"
below. If the window is in "no time-out" mode, the timer does not
expire; it is an infinite (or very large) value. See <STRONG><A HREF="notimeout.3x.html">notimeout(3x)</A></STRONG>.
Because function key sequences usually begin with ESC, the terminal may
appear to hang in no time-out mode after the user presses the escape
key. Generally, further typing "awakens" <EM>curses</EM>.
if, and how soon, further input arrives.
<STRONG>o</STRONG> If the escape sequence matches a string capability defining a
function key for the terminal type (such as <STRONG>key_home</STRONG> (<STRONG>khome</STRONG>) or
<STRONG>key_up</STRONG> (<STRONG>kuu1</STRONG>)), <STRONG>wgetch</STRONG> returns the function key code corresponding
to the unique sequence defined by the terminal.
<STRONG>o</STRONG> If the escape sequence matches no function keys defined for the
terminal type, <STRONG>wgetch</STRONG> returns the code of the last (most recent)
character it has read.
<STRONG>o</STRONG> If <STRONG>wgetch</STRONG> cannot decide the validity of the input as a function key
because it has not read enough characters to disambiguate it, the
function waits until it has this information or the <EM>escape</EM> <EM>delay</EM>,
configured by the global variable <EM>ESCDELAY</EM> (an extension; see
section "EXTENSIONS" below) or the environment variable of the same
name (see section "ENVIRONMENT" of <STRONG><A HREF="ncurses.3x.html">ncurses(3x)</A></STRONG>), also an extension,
elapses.
Consequently, a user of a <EM>curses</EM> application that employs keypad mode
may experience a pause or "hang" after the escape key is pressed while
<EM>curses</EM> collects sufficient characters to disambiguate the input. If
the window is in "no time-out" mode, the escape delay is effectively
infinite; see <STRONG><A HREF="notimeout.3x.html">notimeout(3x)</A></STRONG>. In the event of such a pause, further
typing "awakens" <EM>curses</EM>.
</PRE><H3><a name="h3-Ungetting-Characters">Ungetting Characters</a></H3><PRE>
<STRONG>ungetch</STRONG> places <EM>c</EM> into the input queue to be returned by the next call
<STRONG>ungetch</STRONG> places <EM>c</EM> into the input queue to be returned by the next call
to <STRONG>wgetch</STRONG>. A single input queue serves all windows associated with the
screen.
@ -161,16 +174,16 @@
</PRE><H3><a name="h3-Predefined-Key-Codes">Predefined Key Codes</a></H3><PRE>
The header file <EM>curses.h</EM> defines the following function key codes.
<STRONG>o</STRONG> Except for the special case of <STRONG>KEY_RESIZE</STRONG>, a window's keypad mode
<STRONG>o</STRONG> Except for the special case of <STRONG>KEY_RESIZE</STRONG>, a window's keypad mode
must be enabled for <STRONG>wgetch</STRONG> to read these codes from it.
<STRONG>o</STRONG> Not all of these are necessarily supported on any particular
<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
misspellings (such as "RSUME" for "resume"); the names correspond
to the <EM>terminfo</EM> capability names for the keys, and were
standardized before the IBM PC/AT keyboard layout achieved a
<STRONG>o</STRONG> The naming convention may seem obscure, with some apparent
misspellings (such as "RSUME" for "resume"); the names correspond
to the <EM>terminfo</EM> capability names for the keys, and were
standardized before the IBM PC/AT keyboard layout achieved a
dominant position in industry.
<STRONG>Symbol</STRONG> <STRONG>Key</STRONG> <STRONG>name</STRONG>
@ -180,7 +193,6 @@
<STRONG>KEY_UP</STRONG> Arrow keys
<STRONG>KEY_LEFT</STRONG>
<STRONG>KEY_RIGHT</STRONG>
<STRONG>KEY_HOME</STRONG> Home key (upward+left arrow)
<STRONG>KEY_BACKSPACE</STRONG> Backspace
<STRONG>KEY_F0</STRONG> Function keys; space for 64 keys is reserved
@ -236,6 +248,7 @@
<STRONG>KEY_RESIZE</STRONG> Screen resized
<STRONG>KEY_RESTART</STRONG> Restart key
<STRONG>KEY_RESUME</STRONG> Resume key
<STRONG>KEY_SAVE</STRONG> Save key
<STRONG>KEY_SELECT</STRONG> Select key
<STRONG>KEY_SUSPEND</STRONG> Suspend key
@ -246,7 +259,6 @@
<STRONG>KEY_SCOMMAND</STRONG> Shifted command key
<STRONG>KEY_SCOPY</STRONG> Shifted copy key
<STRONG>KEY_SCREATE</STRONG> Shifted create key
<STRONG>KEY_SDC</STRONG> Shifted delete character key
<STRONG>KEY_SDL</STRONG> Shifted delete line key
<STRONG>KEY_SEND</STRONG> Shifted end key
@ -280,23 +292,23 @@
+-----+------+-------+
| C1 | down | C3 |
+-----+------+-------+
Two of the symbols in the list above do <EM>not</EM> correspond to a physical
Two of the symbols in the list above do <EM>not</EM> correspond to a physical
key.
<STRONG>o</STRONG> <STRONG>wgetch</STRONG> returns <STRONG>KEY_RESIZE</STRONG>, even if the window's keypad mode is
<STRONG>o</STRONG> <STRONG>wgetch</STRONG> returns <STRONG>KEY_RESIZE</STRONG>, even if the window's keypad mode is
disabled, if <EM>ncurses</EM> has handled a <STRONG>SIGWINCH</STRONG> signal since <STRONG>wgetch</STRONG> was
called; see <STRONG><A HREF="curs_initscr.3x.html">initscr(3x)</A></STRONG> and <STRONG><A HREF="resizeterm.3x.html">resizeterm(3x)</A></STRONG>.
<STRONG>o</STRONG> <STRONG>wgetch</STRONG> returns <STRONG>KEY_MOUSE</STRONG> to indicate that a mouse event is pending
collection; see <STRONG><A HREF="curs_mouse.3x.html">curs_mouse(3x)</A></STRONG>. Receipt of this code requires a
window's keypad mode to be enabled, because to interpret mouse
input (as with <STRONG>xterm(1)</STRONG>'s mouse protocol), <EM>ncurses</EM> must read an
<STRONG>o</STRONG> <STRONG>wgetch</STRONG> returns <STRONG>KEY_MOUSE</STRONG> to indicate that a mouse event is pending
collection; see <STRONG><A HREF="curs_mouse.3x.html">curs_mouse(3x)</A></STRONG>. Receipt of this code requires a
window's keypad mode to be enabled, because to interpret mouse
input (as with <STRONG>xterm(1)</STRONG>'s mouse protocol), <EM>ncurses</EM> must read an
escape sequence, as with a function key.
</PRE><H3><a name="h3-Testing-Key-Codes">Testing Key Codes</a></H3><PRE>
In <EM>ncurses</EM>, <STRONG>has_key</STRONG> returns a Boolean value indicating whether the
terminal type recognizes its parameter as a key code value. See also
In <EM>ncurses</EM>, <STRONG>has_key</STRONG> returns a Boolean value indicating whether the
terminal type recognizes its parameter as a key code value. See also
<STRONG><A HREF="define_key.3x.html">define_key(3x)</A></STRONG> and <STRONG><A HREF="key_defined.3x.html">key_defined(3x)</A></STRONG>.
@ -307,78 +319,78 @@
<STRONG>o</STRONG> its timeout expires without any data arriving, or
<STRONG>o</STRONG> execution was interrupted by a signal, in which case <EM>errno</EM> is set
<STRONG>o</STRONG> execution was interrupted by a signal, in which case <EM>errno</EM> is set
to <EM>EINTR</EM>.
<STRONG>ungetch</STRONG> returns <STRONG>OK</STRONG> on success and <STRONG>ERR</STRONG> on failure. <STRONG>ungetch</STRONG> fails if
<STRONG>ungetch</STRONG> returns <STRONG>OK</STRONG> on success and <STRONG>ERR</STRONG> on failure. <STRONG>ungetch</STRONG> fails if
there is no more room in the input queue.
<STRONG>has_key</STRONG> returns <STRONG>TRUE</STRONG> or <STRONG>FALSE</STRONG>.
Functions taking a <EM>WINDOW</EM> pointer argument fail if <EM>win</EM> is a null
Functions taking a <EM>WINDOW</EM> pointer argument fail if <EM>win</EM> is a null
pointer.
Functions prefixed with "mv" first perform cursor movement and fail if
Functions prefixed with "mv" first perform cursor movement and fail if
the position (<EM>y</EM>, <EM>x</EM>) is outside the window boundaries.
</PRE><H2><a name="h2-NOTES">NOTES</a></H2><PRE>
<STRONG>getch</STRONG>, <STRONG>mvgetch</STRONG>, and <STRONG>mvwgetch</STRONG> may be implemented as macros.
<EM>curses</EM> discourages assignment of the ESC key to a discrete function by
<EM>curses</EM> discourages assignment of the ESC key to a discrete function by
the programmer because the library requires a delay while it awaits the
potential remainder of a terminal escape sequence.
Some key strokes are indistinguishable from control characters; for
example, <STRONG>KEY_ENTER</STRONG> may be the same as <STRONG>^M</STRONG>, and <STRONG>KEY_BACKSPACE</STRONG> may be the
same as <STRONG>^H</STRONG> or <STRONG>^?</STRONG>. Consult the <EM>terminfo</EM> entry for the terminal type to
determine whether this is the case; see <STRONG><A HREF="infocmp.1m.html">infocmp(1)</A></STRONG>. Some <EM>curses</EM>
Some key strokes are indistinguishable from control characters; for
example, <STRONG>KEY_ENTER</STRONG> may be the same as <STRONG>^M</STRONG>, and <STRONG>KEY_BACKSPACE</STRONG> may be the
same as <STRONG>^H</STRONG> or <STRONG>^?</STRONG>. Consult the <EM>terminfo</EM> entry for the terminal type to
determine whether this is the case; see <STRONG><A HREF="infocmp.1m.html">infocmp(1)</A></STRONG>. Some <EM>curses</EM>
implementations, including <EM>ncurses</EM>, honor the <EM>terminfo</EM> key definitions;
others treat such control characters specially.
<EM>curses</EM> distinguishes the Enter keys in the alphabetic and numeric
keypad sections of a keyboard because (most) terminals do. <STRONG>KEY_ENTER</STRONG>
refers to the key on the numeric keypad and, like other function keys,
<EM>curses</EM> distinguishes the Enter keys in the alphabetic and numeric
keypad sections of a keyboard because (most) terminals do. <STRONG>KEY_ENTER</STRONG>
refers to the key on the numeric keypad and, like other function keys,
is reliably recognized only if the window's keypad mode is enabled.
<STRONG>o</STRONG> The <EM>terminfo</EM> <STRONG>key_enter</STRONG> (<STRONG>kent</STRONG>) capability describes the character
(sequence) sent by the Enter key of a terminal's numeric (or
<STRONG>o</STRONG> The <EM>terminfo</EM> <STRONG>key_enter</STRONG> (<STRONG>kent</STRONG>) capability describes the character
(sequence) sent by the Enter key of a terminal's numeric (or
similar) keypad.
<STRONG>o</STRONG> "Enter or send" is X/Open Curses's description of this key.
<EM>curses</EM> treats the Enter or Return key in the <EM>alphabetic</EM> section of the
<EM>curses</EM> treats the Enter or Return key in the <EM>alphabetic</EM> section of the
keyboard differently.
<STRONG>o</STRONG> It usually produces a control code for carriage return (<STRONG>^M</STRONG>) or line
feed (<STRONG>^J</STRONG>).
<STRONG>o</STRONG> Depending on the terminal mode (raw, cbreak, or canonical), and
whether <STRONG><A HREF="curs_inopts.3x.html">nl(3x)</A></STRONG> or <STRONG><A HREF="curs_inopts.3x.html">nonl(3x)</A></STRONG> has been called, <STRONG>wgetch</STRONG> may return
either a carriage return or line feed upon an Enter or Return key
<STRONG>o</STRONG> Depending on the terminal mode (raw, cbreak, or canonical), and
whether <STRONG><A HREF="curs_inopts.3x.html">nl(3x)</A></STRONG> or <STRONG><A HREF="curs_inopts.3x.html">nonl(3x)</A></STRONG> has been called, <STRONG>wgetch</STRONG> may return
either a carriage return or line feed upon an Enter or Return key
stroke.
Use of <STRONG>wgetch</STRONG> with <STRONG><A HREF="curs_inopts.3x.html">echo(3x)</A></STRONG> and neither <STRONG><A HREF="curs_inopts.3x.html">cbreak(3x)</A></STRONG> nor <STRONG><A HREF="curs_inopts.3x.html">raw(3x)</A></STRONG> is not
Use of <STRONG>wgetch</STRONG> with <STRONG><A HREF="curs_inopts.3x.html">echo(3x)</A></STRONG> and neither <STRONG><A HREF="curs_inopts.3x.html">cbreak(3x)</A></STRONG> nor <STRONG><A HREF="curs_inopts.3x.html">raw(3x)</A></STRONG> is not
well-defined.
Historically, the list of key code macros above was influenced by the
keyboard of the AT&amp;T 7300 (also known variously as the "3B1", "Safari
4", and "UNIX PC"), a 1985 machine rich in function keys. Today's
computer keyboards are based on that of the IBM PC/AT and tend to have
Historically, the list of key code macros above was influenced by the
keyboard of the AT&amp;T 7300 (also known variously as the "3B1", "Safari
4", and "UNIX PC"), a 1985 machine rich in function keys. Today's
computer keyboards are based on that of the IBM PC/AT and tend to have
fewer. A <EM>curses</EM> application can expect such a keyboard to transmit key
codes <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_PPAGE</STRONG> (Page Up), <STRONG>KEY_NPAGE</STRONG> (Page Down), <STRONG>KEY_IC</STRONG> (Insert), <STRONG>KEY_DC</STRONG>
codes <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_PPAGE</STRONG> (Page Up), <STRONG>KEY_NPAGE</STRONG> (Page Down), <STRONG>KEY_IC</STRONG> (Insert), <STRONG>KEY_DC</STRONG>
(Delete), <STRONG>KEY_A1</STRONG>, <STRONG>KEY_A3</STRONG>, <STRONG>KEY_B2</STRONG>, <STRONG>KEY_C1</STRONG>, <STRONG>KEY_C3</STRONG>, and <STRONG>KEY_F(</STRONG><EM>n</EM><STRONG>)</STRONG> for 1 &lt;=
<EM>n</EM> &lt;= 12.
</PRE><H2><a name="h2-EXTENSIONS">EXTENSIONS</a></H2><PRE>
In <EM>ncurses</EM>, when a window's "no time-out" mode is <EM>not</EM> set, the <STRONG>ESCDELAY</STRONG>
variable configures the duration of the timer used to disambiguate a
function key character sequence from a series of key strokes beginning
variable configures the duration of the timer used to disambiguate a
function key character sequence from a series of key strokes beginning
with ESC typed by the user; see <STRONG><A HREF="curs_variables.3x.html">curs_variables(3x)</A></STRONG>.
<STRONG>has_key</STRONG> is an <EM>ncurses</EM> extension, and is not found in SVr4 <EM>curses</EM>,
<STRONG>has_key</STRONG> is an <EM>ncurses</EM> extension, and is not found in SVr4 <EM>curses</EM>,
4.4BSD <EM>curses</EM>, or any other previous <EM>curses</EM> implementation.
@ -386,53 +398,59 @@
Applications employing <EM>ncurses</EM> extensions should condition their use on
the visibility of the <STRONG>NCURSES_VERSION</STRONG> preprocessor macro.
Except as noted in section "EXTENSIONS" above, X/Open Curses Issue 4
Except as noted in section "EXTENSIONS" above, X/Open Curses Issue 4
describes these functions. It specifies no error conditions for them.
SVr4 describes a successful return value only as "an integer value
SVr4 describes a successful return value only as "an integer value
other than <EM>ERR</EM>".
<EM>wgetch</EM> reads only single-byte characters.
The echo behavior of these functions on input of <EM>KEY</EM><STRONG>_</STRONG> or backspace
The echo behavior of these functions on input of <EM>KEY</EM><STRONG>_</STRONG> or backspace
characters is not documented in SVr4 <EM>curses</EM>.
The behavior of <EM>wgetch</EM> in the presence of signal handlers is not
documented in SVr4 <EM>curses</EM> and is unspecified by X/Open Curses. In
historical <EM>curses</EM> implementations, it varied depending on whether the
operating system's dispatch of a signal to a handler interrupted a
The behavior of <EM>wgetch</EM> in the presence of signal handlers is not
documented in SVr4 <EM>curses</EM> and is unspecified by X/Open Curses. In
historical <EM>curses</EM> implementations, it varied depending on whether the
operating system's dispatch of a signal to a handler interrupted a
<STRONG>read(2)</STRONG> call in progress, and also (in some implementations) whether an
input timeout or non-blocking mode had been set. A portable <EM>curses</EM>
application prepares for two cases: (a) signal receipt does not
input timeout or non-blocking mode had been set. A portable <EM>curses</EM>
application prepares for two cases: (a) signal receipt does not
interrupt <EM>wgetch</EM>; or (b) signal receipt interrupts <EM>wgetch</EM> and causes it
to return <EM>ERR</EM> with <EM>errno</EM> set to <EM>EINTR</EM>.
<EM>KEY</EM><STRONG>_</STRONG><EM>MOUSE</EM> is mentioned in X/Open Curses, along with a few related <EM>term-</EM>
<EM>info</EM> capabilities, but no higher-level functions use the feature. The
<EM>info</EM> capabilities, but no higher-level functions use the feature. The
implementation in <EM>ncurses</EM> is an extension.
<EM>KEY</EM><STRONG>_</STRONG><EM>RESIZE</EM> and <EM>has</EM><STRONG>_</STRONG><EM>key</EM> are extensions first implemented for <EM>ncurses</EM>.
<EM>KEY</EM><STRONG>_</STRONG><EM>RESIZE</EM> and <EM>has</EM><STRONG>_</STRONG><EM>key</EM> are extensions first implemented for <EM>ncurses</EM>.
By 2022, <EM>PDCurses</EM> and NetBSD <EM>curses</EM> had added them along with
<EM>KEY</EM><STRONG>_</STRONG><EM>MOUSE</EM>.
</PRE><H2><a name="h2-HISTORY">HISTORY</a></H2><PRE>
4BSD (1980) introduced <EM>wgetch</EM> and its variants.
<EM>ncurses</EM> 1.9.9g (1996) added <EM>has</EM><STRONG>_</STRONG><EM>key</EM>.
</PRE><H2><a name="h2-SEE-ALSO">SEE ALSO</a></H2><PRE>
ECMA-6 "7-bit coded Character Set" &lt;https://ecma-international.org/
ECMA-6 "7-bit coded Character Set" &lt;https://ecma-international.org/
publications-and-standards/standards/ecma-6/&gt;
ECMA-48 "Control Functions for Coded Character Sets" &lt;https://
ECMA-48 "Control Functions for Coded Character Sets" &lt;https://
ecma-international.org/publications-and-standards/standards/ecma-48/&gt;
<STRONG><A HREF="curs_get_wch.3x.html">curs_get_wch(3x)</A></STRONG> describes comparable functions of the <EM>ncurses</EM> library
<STRONG><A HREF="curs_get_wch.3x.html">curs_get_wch(3x)</A></STRONG> describes comparable functions of the <EM>ncurses</EM> library
in its wide-character configuration (<EM>ncursesw</EM>).
<STRONG><A HREF="ncurses.3x.html">curses(3x)</A></STRONG>, <STRONG><A HREF="curs_addch.3x.html">curs_addch(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="ncurses.3x.html">curses(3x)</A></STRONG>, <STRONG><A HREF="curs_addch.3x.html">curs_addch(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>, <STRONG>ascii(7)</STRONG>
ncurses 6.5 2025-02-15 <STRONG><A HREF="curs_getch.3x.html">curs_getch(3x)</A></STRONG>
ncurses 6.5 2025-03-15 <STRONG><A HREF="curs_getch.3x.html">curs_getch(3x)</A></STRONG>
</PRE>
<div class="nav">
<ul>
@ -451,6 +469,7 @@ ncurses 6.5 2025-02-15 <STRONG><A HREF=
<li><a href="#h2-NOTES">NOTES</a></li>
<li><a href="#h2-EXTENSIONS">EXTENSIONS</a></li>
<li><a href="#h2-PORTABILITY">PORTABILITY</a></li>
<li><a href="#h2-HISTORY">HISTORY</a></li>
<li><a href="#h2-SEE-ALSO">SEE ALSO</a></li>
</ul>
</div>

View File

@ -27,19 +27,19 @@
* sale, use or other dealings in this Software without prior written *
* authorization. *
****************************************************************************
* @Id: curs_initscr.3x,v 1.100 2025/03/08 23:07:43 tom Exp @
* @Id: curs_initscr.3x,v 1.102 2025/03/15 21:11:24 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 2025-03-08 ncurses 6.5 Library calls</TITLE>
<TITLE>curs_initscr 3x 2025-03-15 ncurses 6.5 Library calls</TITLE>
<link rel="author" href="mailto:bug-ncurses@gnu.org">
</HEAD>
<BODY>
<H1 class="no-header">curs_initscr 3x 2025-03-08 ncurses 6.5 Library calls</H1>
<H1 class="no-header">curs_initscr 3x 2025-03-15 ncurses 6.5 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>
@ -104,8 +104,8 @@
<STRONG>o</STRONG> an output stream <EM>outf</EM> connected to the terminal; and
<STRONG>o</STRONG> an input stream <EM>inf</EM> connected to the terminal. It returns a
variable of structure type <EM>SCREEN</EM> <STRONG>*</STRONG>, which should be saved for
later use with <STRONG>set_term</STRONG> and <STRONG>delscreen</STRONG>.
variable of pointer-to-<EM>SCREEN</EM> type, which should be saved for later
use with <STRONG>set_term</STRONG> and <STRONG>delscreen</STRONG>.
<STRONG>newterm</STRONG> passes the file descriptor of the output stream to the <EM>terminfo</EM>
function <STRONG><A HREF="curs_terminfo.3x.html">setupterm(3x)</A></STRONG>, which returns a pointer to a <EM>TERMINAL</EM> structure
@ -338,7 +338,7 @@
ncurses 6.5 2025-03-08 <STRONG><A HREF="curs_initscr.3x.html">curs_initscr(3x)</A></STRONG>
ncurses 6.5 2025-03-15 <STRONG><A HREF="curs_initscr.3x.html">curs_initscr(3x)</A></STRONG>
</PRE>
<div class="nav">
<ul>

View File

@ -28,19 +28,19 @@
* sale, use or other dealings in this Software without prior written *
* authorization. *
****************************************************************************
* @Id: curs_inopts.3x,v 1.100 2025/03/08 23:09:30 tom Exp @
* @Id: curs_inopts.3x,v 1.102 2025/03/15 21:11:52 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 2025-03-08 ncurses 6.5 Library calls</TITLE>
<TITLE>curs_inopts 3x 2025-03-15 ncurses 6.5 Library calls</TITLE>
<link rel="author" href="mailto:bug-ncurses@gnu.org">
</HEAD>
<BODY>
<H1 class="no-header">curs_inopts 3x 2025-03-08 ncurses 6.5 Library calls</H1>
<H1 class="no-header">curs_inopts 3x 2025-03-15 ncurses 6.5 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>
@ -155,17 +155,17 @@
<STRONG>keypad</STRONG> enables recognition of a terminal's function keys. If enabled
(<EM>bf</EM> is <STRONG>TRUE</STRONG>) then when an input character reading function reads ESC,
it waits for further input corresponding to an escape sequence defined
by the terminal type description. If a valid sequence is entered, the
input character reading function returns a value representing the
function key, such as <STRONG>KEY_LEFT</STRONG>. (Wide-character API users:
<STRONG><A HREF="curs_get_wch.3x.html">wget_wch(3x)</A></STRONG> returns <STRONG>KEY_CODE_YES</STRONG> to indicate the availability of a
function key code in its <EM>wch</EM> parameter.) If the sequence is invalid,
the input character reading function returns only its last character.
If disabled (<EM>bf</EM> is <STRONG>FALSE</STRONG>), <EM>curses</EM> does not treat function keys
specially and the program has to interpret escape sequences itself. If
the terminal's keypad can be turned on (made to transmit) and off (made
to work locally), <STRONG>keypad</STRONG> configures it consistently with the <EM>bf</EM>
parameter. By default, a window's keypad mode is off.
by the terminal type description. If a valid sequence populates the
input stream, the input character reading function returns a value
representing the function key, such as <STRONG>KEY_LEFT</STRONG>. (Wide-character API
users: <STRONG><A HREF="curs_get_wch.3x.html">wget_wch(3x)</A></STRONG> returns <STRONG>KEY_CODE_YES</STRONG> to indicate the availability
of a function key code in its <EM>wch</EM> parameter.) If the sequence is
invalid, the input character reading function returns only its last
character. If disabled (<EM>bf</EM> is <STRONG>FALSE</STRONG>), <EM>curses</EM> does not treat function
keys specially and the program has to interpret escape sequences
itself. If the terminal's keypad can be turned on (made to transmit)
and off (made to work locally), <STRONG>keypad</STRONG> configures it consistently with
the <EM>bf</EM> parameter. By default, a window's keypad mode is off.
</PRE><H3><a name="h3-meta">meta</a></H3><PRE>
@ -204,70 +204,69 @@
distinguish sequences produced by a function key from those typed by a
user. If this timer is disabled, <EM>curses</EM> waits forever for subsequent
keystrokes until it determines the escape sequence to be valid or
invalid. To configure the timeout duration rather than disabling it,
see <STRONG>wtimeout</STRONG> below.
invalid.
</PRE><H3><a name="h3-qiflush_noqiflush">qiflush, noqiflush</a></H3><PRE>
<STRONG>qiflush</STRONG> and <STRONG>noqiflush</STRONG> configure the terminal driver's treatment of its
<STRONG>qiflush</STRONG> and <STRONG>noqiflush</STRONG> configure the terminal driver's treatment of its
input and output queues when it handles the interrupt, suspend, or quit
characters under the canonical ("cooked") or cbreak line disciplines on
POSIX systems; see <STRONG>termios(3)</STRONG>. The default behavior is inherited from
the terminal driver settings. Calling <STRONG>qiflush</STRONG> configures the terminal
to <EM>flush</EM> the queues (discarding their contents) when any of these
events occurs, giving the impression of faster response to user input,
but making the library's model of the screen contents incorrect.
POSIX systems; see <STRONG>termios(3)</STRONG>. The default behavior is inherited from
the terminal driver settings. Calling <STRONG>qiflush</STRONG> configures the terminal
to <EM>flush</EM> the queues (discarding their contents) when any of these
events occurs, giving the impression of faster response to user input,
but making the library's model of the screen contents incorrect.
Calling <STRONG>noqiflush</STRONG> prevents such flushing, but might frustrate impatient
users on slow connections if a <EM>curses</EM> update of the screen is in
users on slow connections if a <EM>curses</EM> update of the screen is in
progress when the event occurs; see <STRONG>typeahead</STRONG> below for a mitigation of
this problem. You may want to call <STRONG>noqiflush</STRONG> in a signal handler if,
after the handler exits, you want output to continue as though the
this problem. You may want to call <STRONG>noqiflush</STRONG> in a signal handler if,
after the handler exits, you want output to continue as though the
signal had not occurred.
</PRE><H3><a name="h3-raw_noraw">raw, noraw</a></H3><PRE>
<STRONG>raw</STRONG> configures the terminal to read input in <EM>raw</EM> <EM>mode</EM>, which is similar
to cbreak mode (see <STRONG>cbreak</STRONG> above) except that it furthermore passes
through the terminal's configured interrupt, quit, suspend, and flow
control characters uninterpreted to the application, instead of
generating a signal or acting on I/O flow. The behavior of the
terminal's "Break" key (if any) depends on terminal driver
configuration parameters that <EM>curses</EM> does not handle. <STRONG>noraw</STRONG> restores
to cbreak mode (see <STRONG>cbreak</STRONG> above) except that it furthermore passes
through the terminal's configured interrupt, quit, suspend, and flow
control characters uninterpreted to the application, instead of
generating a signal or acting on I/O flow. The behavior of the
terminal's "Break" key (if any) depends on terminal driver
configuration parameters that <EM>curses</EM> does not handle. <STRONG>noraw</STRONG> restores
the terminal's canonical ("cooked") line discipline.
</PRE><H3><a name="h3-timeout_wtimeout">timeout, wtimeout</a></H3><PRE>
<STRONG>wtimeout</STRONG> configures whether a <EM>curses</EM> input character reading function
called on window <EM>win</EM> uses blocking or non-blocking reads. If <EM>delay</EM> is
negative, <EM>curses</EM> uses a blocking read, waiting indefinitely for input.
If <EM>delay</EM> is zero, the read is non-blocking; an input character reading
function returns <STRONG>ERR</STRONG> if no input is pending. If <EM>delay</EM> is positive, an
input character reading function blocks for <EM>delay</EM> milliseconds, and
returns <STRONG>ERR</STRONG> if the delay elapses and there is still no input pending.
<STRONG>wtimeout</STRONG> configures whether a <EM>curses</EM> input character reading function
called on window <EM>win</EM> uses blocking or non-blocking reads. If <EM>delay</EM> is
negative, <EM>curses</EM> uses a blocking read, waiting indefinitely for input.
If <EM>delay</EM> is zero, the read is non-blocking; an input character reading
function returns <STRONG>ERR</STRONG> if no input is pending. If <EM>delay</EM> is positive, an
input character reading function blocks for <EM>delay</EM> milliseconds, and
returns <STRONG>ERR</STRONG> if the delay elapses and there is still no input pending.
<STRONG>timeout</STRONG> calls <STRONG>wtimeout</STRONG> on <STRONG>stdscr</STRONG>.
</PRE><H3><a name="h3-typeahead">typeahead</a></H3><PRE>
Normally, a <EM>curses</EM> library checks the terminal's input file descriptor
Normally, a <EM>curses</EM> library checks the terminal's input file descriptor
for activity with <STRONG>poll(2)</STRONG> or <STRONG>select(2)</STRONG> while updating the screen; if it
finds any, it postpones output until the next <STRONG><A HREF="curs_refresh.3x.html">wrefresh(3x)</A></STRONG> or
<STRONG><A HREF="curs_refresh.3x.html">doupdate(3x)</A></STRONG> call, allowing faster response to user key strokes. The
library tests the file descriptor corresponding to the <EM>FILE</EM> stream
finds any, it postpones output until the next <STRONG><A HREF="curs_refresh.3x.html">wrefresh(3x)</A></STRONG> or
<STRONG><A HREF="curs_refresh.3x.html">doupdate(3x)</A></STRONG> call, allowing faster response to user key strokes. The
library tests the file descriptor corresponding to the <EM>FILE</EM> stream
pointer passed to <STRONG><A HREF="curs_initscr.3x.html">newterm(3x)</A></STRONG> (or <EM>stdin</EM> if <STRONG><A HREF="curs_initscr.3x.html">initscr(3x)</A></STRONG> was called), for
pending input. <STRONG>typeahead</STRONG> instructs <EM>curses</EM> to test file descriptor <EM>fd</EM>
pending input. <STRONG>typeahead</STRONG> instructs <EM>curses</EM> to test file descriptor <EM>fd</EM>
instead. An <EM>fd</EM> of <STRONG>-1</STRONG> disables the check.
</PRE><H2><a name="h2-RETURN-VALUE">RETURN VALUE</a></H2><PRE>
<STRONG>timeout</STRONG> and <STRONG>wtimeout</STRONG> return no value.
<STRONG>cbreak</STRONG>, <STRONG>nocbreak</STRONG>, <STRONG>echo</STRONG>, <STRONG>noecho</STRONG>, <STRONG>halfdelay</STRONG>, <STRONG>intrflush</STRONG>, <STRONG>keypad</STRONG>, <STRONG>meta</STRONG>,
<STRONG>nodelay</STRONG>, <STRONG>notimeout</STRONG>, <STRONG>nl</STRONG>, <STRONG>nonl</STRONG>, <STRONG>raw</STRONG>, <STRONG>noraw</STRONG>, and <STRONG>typeahead</STRONG> return <STRONG>OK</STRONG> on
<STRONG>cbreak</STRONG>, <STRONG>nocbreak</STRONG>, <STRONG>echo</STRONG>, <STRONG>noecho</STRONG>, <STRONG>halfdelay</STRONG>, <STRONG>intrflush</STRONG>, <STRONG>keypad</STRONG>, <STRONG>meta</STRONG>,
<STRONG>nodelay</STRONG>, <STRONG>notimeout</STRONG>, <STRONG>nl</STRONG>, <STRONG>nonl</STRONG>, <STRONG>raw</STRONG>, <STRONG>noraw</STRONG>, and <STRONG>typeahead</STRONG> return <STRONG>OK</STRONG> on
success and <STRONG>ERR</STRONG> on failure.
In <EM>ncurses</EM>, the functions in the previous paragraph return <STRONG>ERR</STRONG> if
<STRONG>o</STRONG> the library's <EM>TERMINAL</EM> structure for the device has not been
<STRONG>o</STRONG> the library's <EM>TERMINAL</EM> structure for the device has not been
initialized with <STRONG><A HREF="curs_initscr.3x.html">initscr(3x)</A></STRONG>, <STRONG><A HREF="curs_initscr.3x.html">newterm(3x)</A></STRONG>, or <STRONG><A HREF="curs_terminfo.3x.html">setupterm(3x)</A></STRONG>, or
<STRONG>o</STRONG> <EM>win</EM> is a null pointer (except with <STRONG>intrflush</STRONG> and <STRONG>meta</STRONG>, which ignore
@ -275,7 +274,7 @@
Further, <STRONG>halfdelay</STRONG> returns <STRONG>ERR</STRONG> if <EM>delay</EM> is outside the range 1..255.
See section "EXTENSIONS" below for the return values of <STRONG>is_cbreak</STRONG>,
See section "EXTENSIONS" below for the return values of <STRONG>is_cbreak</STRONG>,
<STRONG>is_echo</STRONG>, <STRONG>is_nl</STRONG>, and <STRONG>is_raw</STRONG>.
@ -283,29 +282,29 @@
<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 implemented as macros.
<STRONG>noraw</STRONG> and <STRONG>nocbreak</STRONG> follow historical practice in that they attempt to
restore the terminal's canonical ("cooked") line discipline from raw
and cbreak, respectively. Mixing <STRONG>raw</STRONG>/<STRONG>noraw</STRONG> calls with <STRONG>cbreak</STRONG>/<STRONG>nocbreak</STRONG>
calls leads to terminal driver control states that are hard to predict
<STRONG>noraw</STRONG> and <STRONG>nocbreak</STRONG> follow historical practice in that they attempt to
restore the terminal's canonical ("cooked") line discipline from raw
and cbreak, respectively. Mixing <STRONG>raw</STRONG>/<STRONG>noraw</STRONG> calls with <STRONG>cbreak</STRONG>/<STRONG>nocbreak</STRONG>
calls leads to terminal driver control states that are hard to predict
or understand; doing so is not recommended.
<EM>curses</EM> documentation uses the terms "delay" and "timeout" freely to
describe two related but distinct aspects of input handling, at the
<EM>curses</EM> documentation uses the terms "delay" and "timeout" freely to
describe two related but distinct aspects of input handling, at the
risk of confusing the user. The functions <STRONG>halfdelay</STRONG>, <STRONG>nodelay</STRONG>, <STRONG>timeout</STRONG>,
and <STRONG>wtimeout</STRONG> configure whether the input character reading function
(<STRONG><A HREF="curs_getch.3x.html">getch(3x)</A></STRONG> or <STRONG><A HREF="curs_get_wch.3x.html">get_wch(3x)</A></STRONG>) waits for keyboard input to begin, and for
how long. <STRONG>keypad</STRONG> configures whether that function waits for further
and <STRONG>wtimeout</STRONG> configure whether the input character reading function
(<STRONG><A HREF="curs_getch.3x.html">getch(3x)</A></STRONG> or <STRONG><A HREF="curs_get_wch.3x.html">get_wch(3x)</A></STRONG>) waits for keyboard input to begin, and for
how long. <STRONG>keypad</STRONG> configures whether that function waits for further
input if the first character it reads is ESC. Calling <STRONG>notimeout</STRONG>, which
has nothing to do with <STRONG>timeout</STRONG> or <STRONG>wtimeout</STRONG>, makes this delay in
expectation of further keystrokes effectively infinite. X/Open Curses
affords no means of otherwise configuring the length of this second
has nothing to do with <STRONG>timeout</STRONG> or <STRONG>wtimeout</STRONG>, makes this delay in
expectation of further characters effectively infinite. X/Open Curses
affords no means of otherwise configuring the length of this second
delay, but an AIX and <EM>ncurses</EM> extension, <STRONG>ESCDELAY</STRONG>, is available both as
an environment variable and a global symbol permitting the application
an environment variable and a global symbol permitting the application
to do so; see <STRONG><A HREF="ncurses.3x.html">ncurses(3x)</A></STRONG> and <STRONG><A HREF="curs_variables.3x.html">curs_variables(3x)</A></STRONG>.
</PRE><H2><a name="h2-EXTENSIONS">EXTENSIONS</a></H2><PRE>
<EM>ncurses</EM> provides four "is_" functions corresponding to <STRONG>cbreak</STRONG>, <STRONG>echo</STRONG>,
<EM>ncurses</EM> provides four "is_" functions corresponding to <STRONG>cbreak</STRONG>, <STRONG>echo</STRONG>,
<STRONG>nl</STRONG>, and <STRONG>raw</STRONG>, permitting their states to be queried by the application.
<STRONG>Query</STRONG> <STRONG>Set</STRONG> <STRONG>Reset</STRONG>
@ -321,7 +320,7 @@
<STRONG>0</STRONG> if the option is unset, or
<STRONG>-1</STRONG> if the library's <EM>TERMINAL</EM> structure for the device has not been
<STRONG>-1</STRONG> if the library's <EM>TERMINAL</EM> structure for the device has not been
initialized.
@ -329,52 +328,52 @@
Applications employing <EM>ncurses</EM> extensions should condition their use on
the visibility of the <STRONG>NCURSES_VERSION</STRONG> preprocessor macro.
Except as noted in section "EXTENSIONS" above, X/Open Curses Issue 4
Except as noted in section "EXTENSIONS" above, X/Open Curses Issue 4
describes these functions. It specifies no error conditions for them.
SVr4 describes a successful return value only as "an integer value
SVr4 describes a successful return value only as "an integer value
other than <EM>ERR</EM>".
<EM>ncurses</EM> follows X/Open Curses and the historical practice of System V
<EM>curses</EM>, clearing the terminal driver's "echo" flag when initializing
the screen. BSD <EM>curses</EM> did not, but its <EM>raw</EM> function turned it off as
a side effect. For best portability, call <EM>echo</EM> or <EM>noecho</EM> explicitly
just after initialization, even if your program retains the terminal's
<EM>ncurses</EM> follows X/Open Curses and the historical practice of System V
<EM>curses</EM>, clearing the terminal driver's "echo" flag when initializing
the screen. BSD <EM>curses</EM> did not, but its <EM>raw</EM> function turned it off as
a side effect. For best portability, call <EM>echo</EM> or <EM>noecho</EM> explicitly
just after initialization, even if your program retains the terminal's
canonical ("cooked") line discipline.
X/Open Curses is ambiguous regarding whether <EM>raw</EM> should disable the
carriage return and line feed translation feature controlled by <EM>nl</EM> and
<EM>nonl</EM>. BSD <EM>curses</EM> turned off these translations; System V <EM>curses</EM> did
not. <EM>ncurses</EM> does so, on the assumption that a programmer requesting
raw input wants a clean (ideally, 8-bit clean) connection that the
X/Open Curses is ambiguous regarding whether <EM>raw</EM> should disable the
carriage return and line feed translation feature controlled by <EM>nl</EM> and
<EM>nonl</EM>. BSD <EM>curses</EM> turned off these translations; System V <EM>curses</EM> did
not. <EM>ncurses</EM> does so, on the assumption that a programmer requesting
raw input wants a clean (ideally, 8-bit clean) connection that the
operating system will not alter.
When <STRONG>keypad</STRONG> is first enabled, <EM>ncurses</EM> loads the key definitions for the
current terminal type description. If that description includes
extended string capabilities, for example, by using the <STRONG>-x</STRONG> option of
extended string capabilities, for example, by using the <STRONG>-x</STRONG> option of
<STRONG><A HREF="tic.1m.html">tic(1)</A></STRONG>, then <EM>ncurses</EM> also defines keys for the capabilities whose names
begin with "k". Corresponding key codes are generated and (depending
on previous loads of terminal descriptions) may differ from one
execution of a program to the next. The generated key codes are
begin with "k". Corresponding key codes are generated and (depending
on previous loads of terminal descriptions) may differ from one
execution of a program to the next. The generated key codes are
recognized by <STRONG><A HREF="curs_util.3x.html">keyname(3x)</A></STRONG>, which then returns a name beginning with "k"
denoting the <EM>terminfo</EM> capability name rather than "K", used for <EM>curses</EM>
denoting the <EM>terminfo</EM> capability name rather than "K", used for <EM>curses</EM>
key names. On the other hand, an application can use <STRONG><A HREF="define_key.3x.html">define_key(3x)</A></STRONG> to
bind a specific key to a string of the programmer's choice. This
feature enables an application to check for its presence with
bind a specific key to a string of the programmer's choice. This
feature enables an application to check for its presence with
<STRONG><A HREF="curs_terminfo.3x.html">tigetstr(3x)</A></STRONG>, and reassign the key code to match its own needs.
Low-level applications can use <STRONG><A HREF="curs_terminfo.3x.html">tigetstr(3x)</A></STRONG> to obtain the definition of
any string capability. <EM>curses</EM> applications use the input character
any string capability. <EM>curses</EM> applications use the input character
reading function to obtain key codes from input and rely upon the order
in which the string capabilities are loaded. Multiple key capability
strings can have the same value, but the input character reading
function can report only one key code. Most <EM>curses</EM> implementations
(including <EM>ncurses</EM>) load key definitions in the order they appear in
in which the string capabilities are loaded. Multiple key capability
strings can have the same value, but the input character reading
function can report only one key code. Most <EM>curses</EM> implementations
(including <EM>ncurses</EM>) load key definitions in the order they appear in
the <STRONG>strfnames</STRONG> array of string capability names; see <STRONG><A HREF="term_variables.3x.html">term_variables(3x)</A></STRONG>.
The last capability read using a particular definition determines the
key code to be reported. In <EM>ncurses</EM>, extended capabilities can be
interpreted as key definitions. These are loaded after the predefined
keys, and if a capability's value is the same as a previously loaded
The last capability read using a particular definition determines the
key code to be reported. In <EM>ncurses</EM>, extended capabilities can be
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 library uses the later definition.
@ -385,22 +384,23 @@
support it with <EM>cbreak</EM>, <EM>nocbreak</EM>, <EM>intrflush</EM>, <EM>keypad</EM>, <EM>meta</EM>, <EM>nodelay</EM>, and
<EM>typeahead</EM>.
SVr3 (1987) added <EM>halfdelay</EM>, <EM>notimeout</EM>, and <EM>wtimeout</EM>. <EM>qiflush</EM> and
<EM>noqiflush</EM> appeared in SVr3.1 (1987), at which point <EM>intrflush</EM> became a
wrapper for either of these functions, depending on the value of its
SVr3 (1987) added <EM>halfdelay</EM>, <EM>notimeout</EM>, and <EM>wtimeout</EM>. <EM>qiflush</EM> and
<EM>noqiflush</EM> appeared in SVr3.1 (1987), at which point <EM>intrflush</EM> became a
wrapper for either of these functions, depending on the value of its
Boolean argument. SVr3.1 also added <EM>timeout</EM>.
<EM>ncurses</EM> 6.5 (2024) introduced <EM>is</EM><STRONG>_</STRONG><EM>cbreak</EM>, <EM>is</EM><STRONG>_</STRONG><EM>echo</EM>, <EM>is</EM><STRONG>_</STRONG><EM>nl</EM>, and <EM>is</EM><STRONG>_</STRONG><EM>raw</EM>.
Formerly, <EM>ncurses</EM> used <EM>nl</EM> and <EM>nonl</EM> to control the conversion of
newlines to carriage return/line feed on output as well as input.
X/Open Curses documents the use of these functions only for input.
This difference arose from converting the <EM>pcurses</EM> source (1986), which
used <STRONG>ioctl(2)</STRONG> calls and the <EM>sgttyb</EM> structure, to <EM>termios</EM> (the POSIX
terminal API). In the former, both input and output were controlled
via a single option "CRMOD", while the latter separates these features.
Because that conversion interferes with output optimization, <EM>ncurses</EM>
6.2 (2020) amended <EM>nl</EM> and <EM>nonl</EM> to eliminate their effect on output.
Formerly, <EM>ncurses</EM> used <EM>nl</EM> and <EM>nonl</EM> to control the conversion of
newlines to carriage return/line feed on output as well as input.
X/Open Curses documents the use of these functions only for input.
This difference arose from converting the <EM>pcurses</EM> source (1986), which
used <STRONG>ioctl(2)</STRONG> calls and the <EM>sgttyb</EM> structure, to <EM>termios</EM> (the POSIX
terminal API). In the former, both input and output conversions were
controlled via a single option "CRMOD", while the latter separates
these features. Because that conversion interferes with output
optimization, <EM>ncurses</EM> 6.2 (2020) amended <EM>nl</EM> and <EM>nonl</EM> to eliminate their
effect on output.
</PRE><H2><a name="h2-SEE-ALSO">SEE ALSO</a></H2><PRE>
@ -409,7 +409,7 @@
ncurses 6.5 2025-03-08 <STRONG><A HREF="curs_inopts.3x.html">curs_inopts(3x)</A></STRONG>
ncurses 6.5 2025-03-15 <STRONG><A HREF="curs_inopts.3x.html">curs_inopts(3x)</A></STRONG>
</PRE>
<div class="nav">
<ul>

View File

@ -61,7 +61,7 @@
displays with output optimized to minimize screen updates. <EM>ncurses</EM>
replaces the <EM>curses</EM> libraries from System V Release 4 Unix ("SVr4") and
4.4BSD Unix, the development of which ceased in the 1990s. This
document describes <EM>ncurses</EM> version 6.5 (patch 20250308).
document describes <EM>ncurses</EM> version 6.5 (patch 20250315).
<EM>ncurses</EM> permits control of the terminal screen's contents; abstraction
and subdivision thereof with <EM>windows</EM> and <EM>pads</EM>; acquisition of keyboard

View File

@ -28,19 +28,19 @@
* authorization. *
****************************************************************************
* Author: Thomas E. Dickey 1996-on
* @Id: resizeterm.3x,v 1.58 2024/12/28 21:18:35 tom Exp @
* @Id: resizeterm.3x,v 1.60 2025/03/15 21:12:18 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 2024-12-28 ncurses 6.5 Library calls</TITLE>
<TITLE>resizeterm 3x 2025-03-15 ncurses 6.5 Library calls</TITLE>
<link rel="author" href="mailto:bug-ncurses@gnu.org">
</HEAD>
<BODY>
<H1 class="no-header">resizeterm 3x 2024-12-28 ncurses 6.5 Library calls</H1>
<H1 class="no-header">resizeterm 3x 2025-03-15 ncurses 6.5 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>
@ -73,10 +73,10 @@
existing windows. The added cells should match the current
attributes of the windows.
If the calling program has not set up a handler for <STRONG>SIGWINCH</STRONG> when it
initializes <EM>ncurses</EM> (e.g., using <STRONG><A HREF="curs_initscr.3x.html">initscr(3x)</A></STRONG> or <STRONG><A HREF="curs_initscr.3x.html">newterm(3x)</A></STRONG>), then
<EM>ncurses</EM> sets a handler for <STRONG>SIGWINCH</STRONG> which notifies the library when a
window-size event has occurred. The library checks for this
If the application has not set up a handler for <EM>SIGWINCH</EM> when it
initializes <EM>ncurses</EM> (by calling <STRONG><A HREF="curs_initscr.3x.html">initscr(3x)</A></STRONG> or <STRONG><A HREF="curs_initscr.3x.html">newterm(3x)</A></STRONG>), then
<EM>ncurses</EM> establishes a <EM>SIGWINCH</EM> handler that notifies the library when a
window-resizing event has occurred. The library checks for this
notification
<STRONG>o</STRONG> when reading input data,
@ -192,7 +192,7 @@
ncurses 6.5 2024-12-28 <STRONG><A HREF="resizeterm.3x.html">resizeterm(3x)</A></STRONG>
ncurses 6.5 2025-03-15 <STRONG><A HREF="resizeterm.3x.html">resizeterm(3x)</A></STRONG>
</PRE>
<div class="nav">
<ul>

View File

@ -71,7 +71,7 @@
have, by specifying how to perform screen operations, and by specifying
padding requirements and initialization sequences.
This document describes <EM>ncurses</EM> version 6.5 (patch 20250308).
This document describes <EM>ncurses</EM> version 6.5 (patch 20250315).
</PRE><H3><a name="h3-terminfo-Entry-Syntax"><EM>terminfo</EM> Entry Syntax</a></H3><PRE>

View File

@ -28,8 +28,8 @@
.\" authorization. *
.\"***************************************************************************
.\"
.\" $Id: curs_add_wch.3x,v 1.110 2025/03/08 23:01:20 tom Exp $
.TH curs_add_wch 3X 2025-03-08 "ncurses @NCURSES_MAJOR@.@NCURSES_MINOR@" "Library calls"
.\" $Id: curs_add_wch.3x,v 1.112 2025/03/15 20:38:41 tom Exp $
.TH curs_add_wch 3X 2025-03-15 "ncurses @NCURSES_MAJOR@.@NCURSES_MINOR@" "Library calls"
.ie \n(.g \{\
.ds `` \(lq
.ds '' \(rq
@ -144,6 +144,20 @@ complex character
from a
.I wchar_t
with \fB\%setcchar\fP(3X).
A
.I \%cchar_t
can be copied from place to place using \fB\%win_wch\fP(3X) and
.BR \%wadd_wch "."
See \fB\%curs_attr\fP(3X) for values of predefined constants that can be
usefully \*(``or\*(''ed with characters.
A complex character whose only character component is a wide space,
and whose only attribute is
.BR \%WA_NORMAL ,
is a
.IR "blank character" ","
and therefore combines with the window's background character;
see \fB\%curs_bkgrnd\fP(3X).
.PP
Much behavior depends on whether the wide characters in
.I wch
are spacing or non-spacing;
@ -233,20 +247,6 @@ it is drawn in printable form using the same convention as
Calling \fB\%win_wch\fP(3X) on the location of a nonprintable character
does not return the character itself,
but its \fB\%wunctrl\fP(3X) representation.
.PP
A
.I \%cchar_t
can be copied from place to place using \fB\%win_wch\fP(3X) and
.BR \%wadd_wch "."
See \fB\%curs_attr\fP(3X) for values of predefined constants that can be
usefully \*(``or\*(''ed with characters.
A complex character whose only character component is a wide space,
and whose only attribute is
.BR \%WA_NORMAL ,
is a
.IR "blank character" ","
and therefore combines with the background character;
see \fB\%curs_bkgrnd\fP(3X).
.SS wecho_wchar
.B \%echo_wchar
and
@ -275,13 +275,14 @@ to write line-drawing and other symbols to the screen.
.I \%ncurses
terms these
.I "forms-drawing characters."
The ACS default listed below is used if the
.I curses
uses the ACS default listed below if the terminal type lacks the
.B \%acs_chars
.RB \%( acsc )
.I \%term\%info
capability does not define a terminal-specific replacement for it,
capability;
that capability does not define a replacement for the character;
or if the terminal type and locale configuration
require Unicode to access these characters
require Unicode to access these characters,
but the library is unable to use Unicode.
The \*(``acsc char\*('' column corresponds to how the characters are
specified in the
@ -481,9 +482,7 @@ on failure.
.PP
In
.IR \%ncurses ,
they return
.B ERR
if
these functions fail if
.bP
the
.I curses
@ -533,7 +532,7 @@ However,
many publicly available
.I \%term\%info
entries include
.I \%acs_chars
.B \%acs_chars
.RB \%( acsc )
capabilities in which their key characters
.RB ( pryz{|} )

View File

@ -27,8 +27,8 @@
.\" authorization. *
.\"***************************************************************************
.\"
.\" $Id: curs_add_wchstr.3x,v 1.55 2025/02/01 22:57:57 tom Exp $
.TH curs_add_wchstr 3X 2025-02-01 "ncurses @NCURSES_MAJOR@.@NCURSES_MINOR@" "Library calls"
.\" $Id: curs_add_wchstr.3x,v 1.57 2025/03/15 20:41:04 tom Exp $
.TH curs_add_wchstr 3X 2025-03-15 "ncurses @NCURSES_MAJOR@.@NCURSES_MINOR@" "Library calls"
.ie \n(.g \{\
.ds `` \(lq
.ds '' \(rq
@ -118,18 +118,21 @@ on failure.
.PP
In
.IR \%ncurses ","
they return
.B ERR
if
these functions fail if
.bP
.I win
is
.I NULL
or
the
.I curses
screen has not been initialized,
.bP
.I wchstr
is
.IR NULL "."
is a null pointer,
or
.bP
(for functions taking a
.I \%WINDOW
pointer argument)
.I win
is a null pointer.
.PP
Functions prefixed with \*(``mv\*('' first perform cursor movement and
fail if the position

View File

@ -28,8 +28,8 @@
.\" authorization. *
.\"***************************************************************************
.\"
.\" $Id: curs_addch.3x,v 1.130 2025/03/08 23:01:20 tom Exp $
.TH curs_addch 3X 2025-03-08 "ncurses @NCURSES_MAJOR@.@NCURSES_MINOR@" "Library calls"
.\" $Id: curs_addch.3x,v 1.132 2025/03/15 20:40:50 tom Exp $
.TH curs_addch 3X 2025-03-15 "ncurses @NCURSES_MAJOR@.@NCURSES_MINOR@" "Library calls"
.ie \n(.g \{\
.ds `` \(lq
.ds '' \(rq
@ -124,12 +124,31 @@ Construct a
character
from a
.I char
by assignment.
by assignment or typecast.
Subsection \*(``Video Attributes\*('' of \fB\%attron\fP(3X) describes
how to manipulate its attributes and color pair.
(A color pair selection is not honored unless initialized;
see \fB\%start_color\fP(3X).)
.PP
The object or expression
.I ch
may contain attributes and/or a color pair identifier.
(A
.I \%chtype
can be copied from place to place using \fB\%winch\fP(3X) and
.BR \%waddch .)
See \fB\%curs_attr\fP(3X) for values of predefined constants that can be
usefully \*(``or\*(''ed with characters.
A
.I ch
whose character component is a space,
and whose only attribute is
.BR \%A_NORMAL ,
is a
.IR "blank character" ","
and therefore combines with the window's background character;
see \fB\%curs_bkgd\fP(3X).
.PP
If the cursor is not at the bottom of the scrolling region
and advancement occurs at the right margin,
the cursor automatically wraps to the beginning of the next line.
@ -186,25 +205,6 @@ it is drawn in printable form using the same convention as
Calling \fB\%winch\fP(3X) on the location of a nonprintable character
does not return the character itself,
but its \fB\%unctrl\fP(3X) representation.
.PP
The object or expression
.I ch
may contain attributes and/or a color pair identifier.
(A
.I \%chtype
can be copied from place to place using \fB\%winch\fP(3X) and
.BR \%waddch .)
See \fB\%curs_attr\fP(3X) for values of predefined constants that can be
usefully \*(``or\*(''ed with characters.
A
.I ch
whose character component is a space,
and whose only attribute is
.BR \%A_NORMAL ,
is a
.IR "blank character" ","
and therefore combines with the background character;
see \fB\%curs_bkgd\fP(3X).
.SS wechochar
.B \%echochar
and
@ -234,13 +234,14 @@ to write line-drawing and other symbols to the screen.
.I \%ncurses
terms these
.I "forms-drawing characters."
The ACS default listed below is used if the
.I curses
uses the ACS default listed below if the terminal type lacks the
.B \%acs_chars
.RB \%( acsc )
.I \%term\%info
capability does not define a terminal-specific replacement for it,
capability;
that capability does not define a replacement for the character;
or if the terminal type and locale configuration
require Unicode to access these characters
require Unicode to access these characters,
but the library is unable to use Unicode.
The \*(``acsc char\*('' column corresponds to how the characters are
specified in the
@ -303,9 +304,7 @@ on failure.
.PP
In
.IR \%ncurses ,
they return
.B ERR
if
these functions fail if
.bP
the
.I curses
@ -371,7 +370,7 @@ However,
many publicly available
.I \%term\%info
entries include
.I \%acs_chars
.B \%acs_chars
.RB \%( acsc )
capabilities in which their key characters
.RB ( pryz{|} )

View File

@ -27,8 +27,8 @@
.\" authorization. *
.\"***************************************************************************
.\"
.\" $Id: curs_addchstr.3x,v 1.60 2025/02/01 22:50:42 tom Exp $
.TH curs_addchstr 3X 2025-02-01 "ncurses @NCURSES_MAJOR@.@NCURSES_MINOR@" "Library calls"
.\" $Id: curs_addchstr.3x,v 1.62 2025/03/15 20:41:04 tom Exp $
.TH curs_addchstr 3X 2025-03-15 "ncurses @NCURSES_MAJOR@.@NCURSES_MINOR@" "Library calls"
.ie \n(.g \{\
.ds `` \(lq
.ds '' \(rq
@ -116,18 +116,21 @@ on failure.
.PP
In
.IR \%ncurses ","
they return
.B ERR
if
these functions fail if
.bP
.I win
is
.I NULL
or
the
.I curses
screen has not been initialized,
.bP
.I chstr
is
.IR NULL "."
is a null pointer,
or
.bP
(for functions taking a
.I \%WINDOW
pointer argument)
.I win
is a null pointer.
.PP
Functions prefixed with \*(``mv\*('' first perform cursor movement and
fail if the position

View File

@ -27,8 +27,8 @@
.\" authorization. *
.\"***************************************************************************
.\"
.\" $Id: curs_addstr.3x,v 1.67 2025/02/01 22:48:11 tom Exp $
.TH curs_addstr 3X 2025-02-01 "ncurses @NCURSES_MAJOR@.@NCURSES_MINOR@" "Library calls"
.\" $Id: curs_addstr.3x,v 1.69 2025/03/15 20:41:04 tom Exp $
.TH curs_addstr 3X 2025-03-15 "ncurses @NCURSES_MAJOR@.@NCURSES_MINOR@" "Library calls"
.ie \n(.g \{\
.ds `` \(lq
.ds '' \(rq
@ -99,17 +99,20 @@ on failure.
.PP
In
.IR \%ncurses ","
they return
.B ERR
if
these functions fail if
.bP
.I win
is
.IR NULL ","
the
.I curses
screen has not been initialized,
.bP
.I str
is
.IR NULL ","
is a null pointer,
.bP
(for functions taking a
.I \%WINDOW
pointer argument)
.I win
is a null pointer,
or
.bP
an internal \fB\%waddch\fP(3X) call returns

View File

@ -27,8 +27,8 @@
.\" authorization. *
.\"***************************************************************************
.\"
.\" $Id: curs_addwstr.3x,v 1.58 2025/02/01 22:54:32 tom Exp $
.TH curs_addwstr 3X 2025-02-01 "ncurses @NCURSES_MAJOR@.@NCURSES_MINOR@" "Library calls"
.\" $Id: curs_addwstr.3x,v 1.60 2025/03/15 20:41:04 tom Exp $
.TH curs_addwstr 3X 2025-03-15 "ncurses @NCURSES_MAJOR@.@NCURSES_MINOR@" "Library calls"
.ie \n(.g \{\
.ds `` \(lq
.ds '' \(rq
@ -110,17 +110,20 @@ on failure.
.PP
In
.IR \%ncurses ","
they return
.B ERR
if
these functions fail if
.bP
.I win
is
.IR NULL ","
the
.I curses
screen has not been initialized,
.bP
.I wstr
is
.IR NULL ","
is a null pointer,
.bP
(for functions taking a
.I \%WINDOW
pointer argument)
.I win
is a null pointer,
or
.bP
an internal \fB\%wadd_wch\fP(3X) call returns

View File

@ -28,8 +28,8 @@
.\" authorization. *
.\"***************************************************************************
.\"
.\" $Id: curs_getch.3x,v 1.119 2025/02/15 19:35:55 tom Exp $
.TH curs_getch 3X 2025-02-15 "ncurses @NCURSES_MAJOR@.@NCURSES_MINOR@" "Library calls"
.\" $Id: curs_getch.3x,v 1.121 2025/03/15 22:04:20 tom Exp $
.TH curs_getch 3X 2025-03-15 "ncurses @NCURSES_MAJOR@.@NCURSES_MINOR@" "Library calls"
.ie \n(.g \{\
.ds `` \(lq
.ds '' \(rq
@ -221,35 +221,55 @@ from the beginning of a function key's character sequence without
waiting to see if,
and how soon,
further input arrives.
When
.I curses
reads such an ambiguous character,
it sets a timer.
If the remainder of the sequence does not arrive within the designated
time,
.bP
If the escape sequence
matches a string capability defining a function key
for the terminal type
(such as
.B \%key_home
.RB \%( khome )
or
.B \%key_up
.RB \%( kuu1 )),
.B \%wgetch
returns the prefix character;
otherwise,
it returns the function key code corresponding to the unique sequence
returns the function key code corresponding to the unique sequence
defined by the terminal.
.bP
If the escape sequence matches no function keys
defined for the terminal type,
.B \%wgetch
returns the code of the last
(most recent)
character it has read.
.bP
If
.B \%wgetch
cannot decide the validity of the input as a function key
because it has not read enough characters to disambiguate it,
the function waits until it has this information or the
.IR "escape delay" ","
configured by the global variable
.I \%ESCDELAY
(an extension;
see section \*(``EXTENSIONS\*('' below)
or the environment variable of the same name
(see section \*(``ENVIRONMENT\*('' of \fB\%ncurses\fP(3X)),
also an extension,
elapses.
.PP
Consequently,
a user of a
.I curses
application may experience a delay after the escape key is pressed
application that employs keypad mode
may experience a pause or \*(``hang\*(''
after the escape key is pressed
while
.I curses
disambiguates the input;
see section \*(``EXTENSIONS\*('' below.
collects sufficient characters to disambiguate the input.
If the window is in \*(``no time-out\*('' mode,
the timer does not expire;
it is an infinite
(or very large)
value.
See \fB\%notimeout\fP(3X).
Because function key sequences usually begin with ESC,
the terminal may appear to hang in no time-out mode after the user
presses the escape key.
Generally,
the escape delay is effectively infinite;
see \fB\%notimeout\fP(3X).
In the event of such a pause,
further typing \*(``awakens\*(''
.IR curses "."
.SS "Ungetting Characters"
@ -290,6 +310,7 @@ Lb Lx.
Symbol Key name
=
KEY_BREAK Break key
.ne 4
KEY_DOWN Arrow keys
KEY_UP \^
KEY_LEFT \^
@ -709,6 +730,16 @@ NetBSD
.\" https://web.archive.org/web/20200923185647/https://man.netbsd.org/curses_input.3
had added them along with
.IR \%KEY_MOUSE "."
.SH HISTORY
4BSD (1980)
introduced
.I \%wgetch
and its variants.
.PP
.I \%ncurses
1.9.9g (1996)
added
.IR \%has_key "."
.SH SEE ALSO
ECMA-6 \*(``7-bit coded Character Set\*(''
\%<https://\*:ecma\-international\*:.org/\

View File

@ -27,8 +27,8 @@
.\" authorization. *
.\"***************************************************************************
.\"
.\" $Id: curs_initscr.3x,v 1.100 2025/03/08 23:07:43 tom Exp $
.TH curs_initscr 3X 2025-03-08 "ncurses @NCURSES_MAJOR@.@NCURSES_MINOR@" "Library calls"
.\" $Id: curs_initscr.3x,v 1.102 2025/03/15 21:11:24 tom Exp $
.TH curs_initscr 3X 2025-03-15 "ncurses @NCURSES_MAJOR@.@NCURSES_MINOR@" "Library calls"
.ie \n(.g \{\
.ds `` \(lq
.ds '' \(rq
@ -141,9 +141,9 @@ and
an input stream
.I inf
connected to the terminal.
It returns a variable of structure type
.I SCREEN
.BR * ","
It returns a variable of
.RI pointer-to- SCREEN
type,
which should be saved for later use with
.B \%set_term
and

View File

@ -28,8 +28,8 @@
.\" authorization. *
.\"***************************************************************************
.\"
.\" $Id: curs_inopts.3x,v 1.100 2025/03/08 23:09:30 tom Exp $
.TH curs_inopts 3X 2025-03-08 "ncurses @NCURSES_MAJOR@.@NCURSES_MINOR@" "Library calls"
.\" $Id: curs_inopts.3x,v 1.102 2025/03/15 21:11:52 tom Exp $
.TH curs_inopts 3X 2025-03-15 "ncurses @NCURSES_MAJOR@.@NCURSES_MINOR@" "Library calls"
.ie \n(.g \{\
.ds `` \(lq
.ds '' \(rq
@ -264,7 +264,7 @@ is
then when an input character reading function reads ESC,
it waits for further input corresponding to an escape sequence
defined by the terminal type description.
If a valid sequence is entered,
If a valid sequence populates the input stream,
the input character reading function
returns a value representing the function key,
such as
@ -372,10 +372,6 @@ If this timer is disabled,
.I curses
waits forever for subsequent keystrokes
until it determines the escape sequence to be valid or invalid.
To configure the timeout duration rather than disabling it,
see
.B \%wtimeout
below.
.\"
.SS "qiflush, noqiflush"
.\"
@ -624,7 +620,7 @@ which has nothing to do with
.B \%timeout
or
.BR \%wtimeout ","
makes this delay in expectation of further keystrokes
makes this delay in expectation of further characters
effectively infinite.
X/Open Curses affords no means of otherwise configuring
the length of this second delay,
@ -864,7 +860,7 @@ to
.I \%termios
(the POSIX terminal API).
In the former,
both input and output were controlled via a single option
both input and output conversions were controlled via a single option
\*(``CRMOD\*('',
while the latter separates these features.
Because that conversion interferes with output optimization,

View File

@ -29,8 +29,8 @@
.\"
.\" Author: Thomas E. Dickey 1996-on
.\"
.\" $Id: resizeterm.3x,v 1.58 2024/12/28 21:18:35 tom Exp $
.TH resizeterm 3X 2024-12-28 "ncurses @NCURSES_MAJOR@.@NCURSES_MINOR@" "Library calls"
.\" $Id: resizeterm.3x,v 1.60 2025/03/15 21:12:18 tom Exp $
.TH resizeterm 3X 2025-03-15 "ncurses @NCURSES_MAJOR@.@NCURSES_MINOR@" "Library calls"
.de bP
.ie n .IP \(bu 4
.el .IP \(bu 2
@ -62,11 +62,17 @@ If the terminal is stretched,
rows and/or columns can be added to existing windows.
The added cells should match the current attributes of the windows.
.PP
If the calling program has not set up a handler for \fB\%SIGWINCH\fP
when it initializes \fI\%ncurses\fP
(e.g., using \fB\%initscr\fP(3X) or \fB\%newterm\fP(3X)),
then \fI\%ncurses\fP sets a handler for \fB\%SIGWINCH\fP which notifies
the library when a window-size event has occurred.
If the application has not set up a handler for
.I \%SIGWINCH
when it initializes
.I \%ncurses
(by calling \fB\%initscr\fP(3X) or \fB\%newterm\fP(3X)),
then
.I \%ncurses
establishes a
.I \%SIGWINCH
handler that notifies the library
when a window-resizing event has occurred.
The library checks for this notification
.bP
when reading input data,

View File

@ -1,8 +1,8 @@
ncurses6td (6.5+20250308) unstable; urgency=low
ncurses6td (6.5+20250315) unstable; urgency=low
* latest weekly patch
-- Thomas E. Dickey <dickey@invisible-island.net> Sat, 08 Mar 2025 06:56:38 -0500
-- Thomas E. Dickey <dickey@invisible-island.net> Sat, 15 Mar 2025 07:18:45 -0400
ncurses6 (5.9+20131005) unstable; urgency=low

View File

@ -1,8 +1,8 @@
ncurses6td (6.5+20250308) unstable; urgency=low
ncurses6td (6.5+20250315) unstable; urgency=low
* latest weekly patch
-- Thomas E. Dickey <dickey@invisible-island.net> Sat, 08 Mar 2025 06:56:38 -0500
-- Thomas E. Dickey <dickey@invisible-island.net> Sat, 15 Mar 2025 07:18:45 -0400
ncurses6 (5.9+20131005) unstable; urgency=low

View File

@ -1,8 +1,8 @@
ncurses6td (6.5+20250308) unstable; urgency=low
ncurses6td (6.5+20250315) unstable; urgency=low
* latest weekly patch
-- Thomas E. Dickey <dickey@invisible-island.net> Sat, 08 Mar 2025 06:56:38 -0500
-- Thomas E. Dickey <dickey@invisible-island.net> Sat, 15 Mar 2025 07:18:45 -0400
ncurses6 (5.9+20120608) unstable; urgency=low

View File

@ -1,4 +1,4 @@
; $Id: mingw-ncurses.nsi,v 1.693 2025/03/08 11:56:38 tom Exp $
; $Id: mingw-ncurses.nsi,v 1.694 2025/03/15 11:18:45 tom Exp $
; TODO add examples
; TODO bump ABI to 6
@ -10,7 +10,7 @@
!define VERSION_MAJOR "6"
!define VERSION_MINOR "5"
!define VERSION_YYYY "2025"
!define VERSION_MMDD "0308"
!define VERSION_MMDD "0315"
!define VERSION_PATCH ${VERSION_YYYY}${VERSION_MMDD}
!define MY_ABI "5"

View File

@ -3,7 +3,7 @@
Summary: shared libraries for terminal handling
Name: mingw32-ncurses6
Version: 6.5
Release: 20250308
Release: 20250315
License: X11
Group: Development/Libraries
URL: https://invisible-island.net/ncurses/

View File

@ -1,7 +1,7 @@
Summary: shared libraries for terminal handling
Name: ncurses6
Version: 6.5
Release: 20250308
Release: 20250315
License: X11
Group: Development/Libraries
URL: https://invisible-island.net/ncurses/

View File

@ -1,7 +1,7 @@
Summary: Curses library with POSIX thread support.
Name: ncursest6
Version: 6.5
Release: 20250308
Release: 20250315
License: X11
Group: Development/Libraries
Source: ncurses-%{version}-%{release}.tgz