mirror of
https://github.com/ThomasDickey/ncurses-snapshots.git
synced 2026-01-26 11:04:35 +00:00
snapshot of project "ncurses", label v6_5_20250315
This commit is contained in:
parent
cdb86e54e0
commit
5fa5aea6d0
5
NEWS
5
NEWS
@ -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).
|
||||
|
||||
4
dist.mk
4
dist.mk
@ -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)
|
||||
|
||||
@ -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>
|
||||
|
||||
@ -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>
|
||||
|
||||
@ -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>
|
||||
|
||||
@ -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>
|
||||
|
||||
@ -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>
|
||||
|
||||
@ -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>
|
||||
|
||||
@ -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&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&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 <=
|
||||
<EM>n</EM> <= 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" <https://ecma-international.org/
|
||||
ECMA-6 "7-bit coded Character Set" <https://ecma-international.org/
|
||||
publications-and-standards/standards/ecma-6/>
|
||||
|
||||
ECMA-48 "Control Functions for Coded Character Sets" <https://
|
||||
ECMA-48 "Control Functions for Coded Character Sets" <https://
|
||||
ecma-international.org/publications-and-standards/standards/ecma-48/>
|
||||
|
||||
<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>
|
||||
|
||||
@ -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>
|
||||
|
||||
@ -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>
|
||||
|
||||
@ -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
|
||||
|
||||
@ -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>
|
||||
|
||||
@ -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>
|
||||
|
||||
@ -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{|} )
|
||||
|
||||
@ -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
|
||||
|
||||
@ -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{|} )
|
||||
|
||||
@ -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
|
||||
|
||||
@ -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
|
||||
|
||||
@ -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
|
||||
|
||||
@ -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/\
|
||||
|
||||
@ -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
|
||||
|
||||
@ -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,
|
||||
|
||||
@ -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,
|
||||
|
||||
@ -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
|
||||
|
||||
|
||||
@ -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
|
||||
|
||||
|
||||
@ -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
|
||||
|
||||
|
||||
@ -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"
|
||||
|
||||
@ -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/
|
||||
|
||||
@ -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/
|
||||
|
||||
@ -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
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user