+ improve formatting/style of manpages (patches by Branden Robinson).
+ compiler warning/portability fixes.
-- sale, use or other dealings in this Software without prior written --
-- authorization. --
-------------------------------------------------------------------------------
--- $Id: NEWS,v 1.4109 2024/04/14 09:43:45 tom Exp $
+-- $Id: NEWS,v 1.4111 2024/04/20 21:37:56 tom Exp $
-------------------------------------------------------------------------------
This is a log of changes that ncurses has gone through since Zeyd started
Changes through 1.9.9e did not credit all contributions;
it is not possible to add this information.
+20240420
+ + improve formatting/style of manpages (patches by Branden Robinson).
+ + compiler warning/portability fixes.
+
20240414
+ build/bug-fix for check-size feature (reports by Sam James, Gabriele
Balducci).
-5:0:10 6.4 20240414
+5:0:10 6.4 20240420
# use or other dealings in this Software without prior written #
# authorization. #
##############################################################################
-# $Id: dist.mk,v 1.1607 2024/04/14 08:48:20 tom Exp $
+# $Id: dist.mk,v 1.1608 2024/04/20 10:17:21 tom Exp $
# Makefile for creating ncurses distributions.
#
# This only needs to be used directly as a makefile by developers, but
# These define the major/minor/patch versions of ncurses.
NCURSES_MAJOR = 6
NCURSES_MINOR = 4
-NCURSES_PATCH = 20240414
+NCURSES_PATCH = 20240420
# We don't append the patch to the version, since this only applies to releases
VERSION = $(NCURSES_MAJOR).$(NCURSES_MINOR)
* sale, use or other dealings in this Software without prior written *
* authorization. *
****************************************************************************
- * @Id: MKada_config.in,v 1.32 2023/12/16 21:42:53 tom Exp @
+ * @Id: MKada_config.in,v 1.34 2024/04/20 21:13:27 tom Exp @
-->
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN">
<HTML>
<HEAD>
<meta http-equiv="Content-Type" content="text/html; charset=us-ascii">
<meta name="generator" content="Manpage converted by man2html - see https://invisible-island.net/scripts/readme.html#others_scripts">
-<TITLE>adacursesw6\-config 1 2023-12-16 ncurses 6.4 User commands</TITLE>
+<TITLE>adacursesw6\-config 1 2024-04-20 ncurses 6.4 User commands</TITLE>
<link rel="author" href="mailto:bug-ncurses@gnu.org">
</HEAD>
<BODY>
-<H1 class="no-header">adacursesw6\-config 1 2023-12-16 ncurses 6.4 User commands</H1>
+<H1 class="no-header">adacursesw6\-config 1 2024-04-20 ncurses 6.4 User commands</H1>
<PRE>
<STRONG><A HREF="adacursesw6-config.1.html">adacursesw6-config(1)</A></STRONG> User commands <STRONG><A HREF="adacursesw6-config.1.html">adacursesw6-config(1)</A></STRONG>
-ncurses 6.4 2023-12-16 <STRONG><A HREF="adacursesw6-config.1.html">adacursesw6-config(1)</A></STRONG>
+ncurses 6.4 2024-04-20 <STRONG><A HREF="adacursesw6-config.1.html">adacursesw6-config(1)</A></STRONG>
</PRE>
<div class="nav">
<ul>
* sale, use or other dealings in this Software without prior written *
* authorization. *
****************************************************************************
- * @Id: curs_add_wch.3x,v 1.59 2024/04/13 22:11:52 tom Exp @
+ * @Id: curs_add_wch.3x,v 1.62 2024/04/20 21:20:07 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 2024-04-13 ncurses 6.4 Library calls</TITLE>
+<TITLE>curs_add_wch 3x 2024-04-20 ncurses 6.4 Library calls</TITLE>
<link rel="author" href="mailto:bug-ncurses@gnu.org">
</HEAD>
<BODY>
-<H1 class="no-header">curs_add_wch 3x 2024-04-13 ncurses 6.4 Library calls</H1>
+<H1 class="no-header">curs_add_wch 3x 2024-04-20 ncurses 6.4 Library calls</H1>
<PRE>
<STRONG><A HREF="curs_add_wch.3x.html">curs_add_wch(3x)</A></STRONG> Library calls <STRONG><A HREF="curs_add_wch.3x.html">curs_add_wch(3x)</A></STRONG>
sequence of bytes, or if it is not possible to add all of the
resulting bytes in the window, an error is returned.
- Functions with a "mv" prefix first perform a cursor movement using
- <STRONG>wmove</STRONG>, and return an error if the position is outside the window, or if
- the window pointer is null.
+ 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>
</PRE><H2><a name="h2-PORTABILITY">PORTABILITY</a></H2><PRE>
- These functions are described in the XSI Curses standard, Issue 4. The
- defaults specified for line-drawing characters apply in the POSIX
- locale.
+ These functions are described in X/Open Curses, Issue 4. The defaults
+ specified for line-drawing characters apply in the POSIX locale.
</PRE><H3><a name="h3-WACS-Symbols">WACS Symbols</a></H3><PRE>
-ncurses 6.4 2024-04-13 <STRONG><A HREF="curs_add_wch.3x.html">curs_add_wch(3x)</A></STRONG>
+ncurses 6.4 2024-04-20 <STRONG><A HREF="curs_add_wch.3x.html">curs_add_wch(3x)</A></STRONG>
</PRE>
<div class="nav">
<ul>
* sale, use or other dealings in this Software without prior written *
* authorization. *
****************************************************************************
- * @Id: curs_add_wchstr.3x,v 1.36 2024/04/13 22:21:16 tom Exp @
+ * @Id: curs_add_wchstr.3x,v 1.39 2024/04/20 21:20:07 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 2024-04-13 ncurses 6.4 Library calls</TITLE>
+<TITLE>curs_add_wchstr 3x 2024-04-20 ncurses 6.4 Library calls</TITLE>
<link rel="author" href="mailto:bug-ncurses@gnu.org">
</HEAD>
<BODY>
-<H1 class="no-header">curs_add_wchstr 3x 2024-04-13 ncurses 6.4 Library calls</H1>
+<H1 class="no-header">curs_add_wchstr 3x 2024-04-20 ncurses 6.4 Library calls</H1>
<PRE>
<STRONG><A HREF="curs_add_wchstr.3x.html">curs_add_wchstr(3x)</A></STRONG> Library calls <STRONG><A HREF="curs_add_wchstr.3x.html">curs_add_wchstr(3x)</A></STRONG>
<STRONG>o</STRONG> if the <EM>wchstr</EM> parameter is null.
- Functions with a "mv" prefix first perform a cursor movement using
- <STRONG>wmove</STRONG>, and return an error if the position is outside the window, or if
- the window pointer is null.
+ 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>
</PRE><H2><a name="h2-PORTABILITY">PORTABILITY</a></H2><PRE>
- These functions are described in the XSI Curses standard, Issue 4.
+ These functions are described in X/Open Curses, Issue 4.
</PRE><H2><a name="h2-SEE-ALSO">SEE ALSO</a></H2><PRE>
-ncurses 6.4 2024-04-13 <STRONG><A HREF="curs_add_wchstr.3x.html">curs_add_wchstr(3x)</A></STRONG>
+ncurses 6.4 2024-04-20 <STRONG><A HREF="curs_add_wchstr.3x.html">curs_add_wchstr(3x)</A></STRONG>
</PRE>
<div class="nav">
<ul>
* sale, use or other dealings in this Software without prior written *
* authorization. *
****************************************************************************
- * @Id: curs_addch.3x,v 1.83 2024/04/13 22:23:35 tom Exp @
+ * @Id: curs_addch.3x,v 1.85 2024/04/20 19:03:47 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 2024-04-13 ncurses 6.4 Library calls</TITLE>
+<TITLE>curs_addch 3x 2024-04-20 ncurses 6.4 Library calls</TITLE>
<link rel="author" href="mailto:bug-ncurses@gnu.org">
</HEAD>
<BODY>
-<H1 class="no-header">curs_addch 3x 2024-04-13 ncurses 6.4 Library calls</H1>
+<H1 class="no-header">curs_addch 3x 2024-04-20 ncurses 6.4 Library calls</H1>
<PRE>
<STRONG><A HREF="curs_addch.3x.html">curs_addch(3x)</A></STRONG> Library calls <STRONG><A HREF="curs_addch.3x.html">curs_addch(3x)</A></STRONG>
enabled in that event, because it is not possible to wrap to a new
line.
- Functions with a "mv" prefix first perform cursor movement using
- <STRONG><A HREF="curs_move.3x.html">wmove(3x)</A></STRONG> and fail if the position is outside the window, or (for "mvw"
- functions) if the <EM>WINDOW</EM> pointer is null.
+ 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>
</PRE><H2><a name="h2-PORTABILITY">PORTABILITY</a></H2><PRE>
- X/Open Curses, Issue 4 describes these functions. It specifies no
- error conditions for them. The defaults specified for forms-drawing
- characters apply in the POSIX locale.
+ X/Open Curses, Issue 4 describes these functions. It specifies no
+ error conditions for them.
+
+ SVr4 <EM>curses</EM> describes a successful return value only as "an integer
+ value other than <STRONG>ERR</STRONG>".
+
+ The defaults specified for forms-drawing characters apply in the POSIX
+ locale.
</PRE><H3><a name="h3-ACS-Symbols">ACS Symbols</a></H3><PRE>
-ncurses 6.4 2024-04-13 <STRONG><A HREF="curs_addch.3x.html">curs_addch(3x)</A></STRONG>
+ncurses 6.4 2024-04-20 <STRONG><A HREF="curs_addch.3x.html">curs_addch(3x)</A></STRONG>
</PRE>
<div class="nav">
<ul>
* sale, use or other dealings in this Software without prior written *
* authorization. *
****************************************************************************
- * @Id: curs_addchstr.3x,v 1.42 2024/04/13 22:21:16 tom Exp @
+ * @Id: curs_addchstr.3x,v 1.45 2024/04/20 21:20:07 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 2024-04-13 ncurses 6.4 Library calls</TITLE>
+<TITLE>curs_addchstr 3x 2024-04-20 ncurses 6.4 Library calls</TITLE>
<link rel="author" href="mailto:bug-ncurses@gnu.org">
</HEAD>
<BODY>
-<H1 class="no-header">curs_addchstr 3x 2024-04-13 ncurses 6.4 Library calls</H1>
+<H1 class="no-header">curs_addchstr 3x 2024-04-20 ncurses 6.4 Library calls</H1>
<PRE>
<STRONG><A HREF="curs_addchstr.3x.html">curs_addchstr(3x)</A></STRONG> Library calls <STRONG><A HREF="curs_addchstr.3x.html">curs_addchstr(3x)</A></STRONG>
<STRONG>o</STRONG> if the <EM>wchstr</EM> parameter is null.
- Functions with a "mv" prefix first perform a cursor movement using
- <STRONG>wmove</STRONG>, and return an error if the position is outside the window, or if
- the window pointer is null.
+ 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>
</PRE><H2><a name="h2-PORTABILITY">PORTABILITY</a></H2><PRE>
- These functions are described in the XSI Curses standard, Issue 4.
+ These functions are described in X/Open Curses, Issue 4.
</PRE><H2><a name="h2-SEE-ALSO">SEE ALSO</a></H2><PRE>
-ncurses 6.4 2024-04-13 <STRONG><A HREF="curs_addchstr.3x.html">curs_addchstr(3x)</A></STRONG>
+ncurses 6.4 2024-04-20 <STRONG><A HREF="curs_addchstr.3x.html">curs_addchstr(3x)</A></STRONG>
</PRE>
<div class="nav">
<ul>
* sale, use or other dealings in this Software without prior written *
* authorization. *
****************************************************************************
- * @Id: curs_addstr.3x,v 1.43 2024/04/13 22:14:06 tom Exp @
+ * @Id: curs_addstr.3x,v 1.45 2024/04/20 19:18: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>curs_addstr 3x 2024-04-13 ncurses 6.4 Library calls</TITLE>
+<TITLE>curs_addstr 3x 2024-04-20 ncurses 6.4 Library calls</TITLE>
<link rel="author" href="mailto:bug-ncurses@gnu.org">
</HEAD>
<BODY>
-<H1 class="no-header">curs_addstr 3x 2024-04-13 ncurses 6.4 Library calls</H1>
+<H1 class="no-header">curs_addstr 3x 2024-04-20 ncurses 6.4 Library calls</H1>
<PRE>
<STRONG><A HREF="curs_addstr.3x.html">curs_addstr(3x)</A></STRONG> Library calls <STRONG><A HREF="curs_addstr.3x.html">curs_addstr(3x)</A></STRONG>
<STRONG>o</STRONG> if an internal <STRONG><A HREF="curs_addch.3x.html">waddch(3x)</A></STRONG> call returns an error.
- Functions with a "mv" prefix first perform cursor movement using
- <STRONG><A HREF="curs_move.3x.html">wmove(3x)</A></STRONG> and fail if the position is outside the window, or (for "mvw"
- functions) if the <EM>WINDOW</EM> pointer is null.
+ 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>
</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.4 2024-04-13 <STRONG><A HREF="curs_addstr.3x.html">curs_addstr(3x)</A></STRONG>
+ncurses 6.4 2024-04-20 <STRONG><A HREF="curs_addstr.3x.html">curs_addstr(3x)</A></STRONG>
</PRE>
<div class="nav">
<ul>
* sale, use or other dealings in this Software without prior written *
* authorization. *
****************************************************************************
- * @Id: curs_addwstr.3x,v 1.35 2024/04/13 22:14:06 tom Exp @
+ * @Id: curs_addwstr.3x,v 1.37 2024/04/20 19:18: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>curs_addwstr 3x 2024-04-13 ncurses 6.4 Library calls</TITLE>
+<TITLE>curs_addwstr 3x 2024-04-20 ncurses 6.4 Library calls</TITLE>
<link rel="author" href="mailto:bug-ncurses@gnu.org">
</HEAD>
<BODY>
-<H1 class="no-header">curs_addwstr 3x 2024-04-13 ncurses 6.4 Library calls</H1>
+<H1 class="no-header">curs_addwstr 3x 2024-04-20 ncurses 6.4 Library calls</H1>
<PRE>
<STRONG><A HREF="curs_addwstr.3x.html">curs_addwstr(3x)</A></STRONG> Library calls <STRONG><A HREF="curs_addwstr.3x.html">curs_addwstr(3x)</A></STRONG>
<STRONG>o</STRONG> if an internal <STRONG><A HREF="curs_add_wch.3x.html">wadd_wch(3x)</A></STRONG> call returns an error.
- Functions with a "mv" prefix first perform cursor movement using
- <STRONG><A HREF="curs_move.3x.html">wmove(3x)</A></STRONG> and fail if the position is outside the window, or (for "mvw"
- functions) if the <EM>WINDOW</EM> pointer is null.
+ 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>
</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.4 2024-04-13 <STRONG><A HREF="curs_addwstr.3x.html">curs_addwstr(3x)</A></STRONG>
+ncurses 6.4 2024-04-20 <STRONG><A HREF="curs_addwstr.3x.html">curs_addwstr(3x)</A></STRONG>
</PRE>
<div class="nav">
<ul>
* sale, use or other dealings in this Software without prior written *
* authorization. *
****************************************************************************
- * @Id: curs_attr.3x,v 1.99 2024/03/16 15:38:33 tom Exp @
+ * @Id: curs_attr.3x,v 1.103 2024/04/20 21:24:19 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_attr 3x 2024-03-16 ncurses 6.4 Library calls</TITLE>
+<TITLE>curs_attr 3x 2024-04-20 ncurses 6.4 Library calls</TITLE>
<link rel="author" href="mailto:bug-ncurses@gnu.org">
</HEAD>
<BODY>
-<H1 class="no-header">curs_attr 3x 2024-03-16 ncurses 6.4 Library calls</H1>
+<H1 class="no-header">curs_attr 3x 2024-04-20 ncurses 6.4 Library calls</H1>
<PRE>
<STRONG><A HREF="curs_attr.3x.html">curs_attr(3x)</A></STRONG> Library calls <STRONG><A HREF="curs_attr.3x.html">curs_attr(3x)</A></STRONG>
<STRONG>o</STRONG> does not return an error if either of the parameters of <STRONG>wattr_get</STRONG>
used for retrieving attribute or color pair values is <STRONG>NULL</STRONG>.
- Functions with a "mv" prefix first perform a cursor movement using
- <STRONG>wmove</STRONG>, and return an error if the position is outside the window, or if
- the window pointer is null.
+ Functions prefixed with "mv" first perform cursor movement and fail if
+ the position (<EM>y</EM>, <EM>x</EM>)
</PRE><H2><a name="h2-NOTES">NOTES</a></H2><PRE>
These functions may be macros:
- <STRONG>attroff</STRONG>, <STRONG>wattroff</STRONG>, <STRONG>attron</STRONG>, <STRONG>wattron</STRONG>, <STRONG>attrset</STRONG>, <STRONG>wattrset</STRONG>, <STRONG>standend</STRONG>
+ <STRONG>attroff</STRONG>, <STRONG>wattroff</STRONG>, <STRONG>attron</STRONG>, <STRONG>wattron</STRONG>, <STRONG>attrset</STRONG>, <STRONG>wattrset</STRONG>, <STRONG>standend</STRONG>
and <STRONG>standout</STRONG>.
- Color pair values can only be OR'd with attributes if the pair number
+ Color pair values can only be OR'd with attributes if the pair number
is less than 256. The alternate functions such as <STRONG>color_set</STRONG> can pass a
color pair value directly. However, <EM>ncurses</EM> ABI 4 and 5 simply OR this
- value within the alternate functions. You must use <EM>ncurses</EM> ABI 6 to
+ value within the alternate functions. You must use <EM>ncurses</EM> ABI 6 to
support more than 256 color pairs.
</PRE><H2><a name="h2-EXTENSIONS">EXTENSIONS</a></H2><PRE>
This implementation provides the <STRONG>A_ITALIC</STRONG> attribute for terminals which
- have the <STRONG>enter_italics_mode</STRONG> (<STRONG>sitm</STRONG>) and <STRONG>exit_italics_mode</STRONG> (<STRONG>ritm</STRONG>)
- capabilities. Italics are not mentioned in X/Open Curses. Unlike the
- other video attributes, <STRONG>A_ITALIC</STRONG> is unrelated to the <STRONG>set_attributes</STRONG>
- capabilities. This implementation makes the assumption that
+ have the <STRONG>enter_italics_mode</STRONG> (<STRONG>sitm</STRONG>) and <STRONG>exit_italics_mode</STRONG> (<STRONG>ritm</STRONG>)
+ capabilities. Italics are not mentioned in X/Open Curses. Unlike the
+ other video attributes, <STRONG>A_ITALIC</STRONG> is unrelated to the <STRONG>set_attributes</STRONG>
+ capabilities. This implementation makes the assumption that
<STRONG>exit_attribute_mode</STRONG> may also reset italics.
- Each of the functions added by XSI Curses has a parameter <EM>opts</EM>, which
- X/Open Curses still (after more than twenty years) documents as
+ Each of the functions added by XSI Curses has a parameter <EM>opts</EM>, which
+ X/Open Curses still (after more than twenty years) documents as
reserved for future use, saying that it should be <STRONG>NULL</STRONG>. This
- implementation uses that parameter in ABI 6 for the functions which
+ implementation uses that parameter in ABI 6 for the functions which
have a color pair parameter to support <EM>extended</EM> <EM>color</EM> <EM>pairs</EM>:
<STRONG>o</STRONG> For functions which modify the color, e.g., <STRONG>wattr_set</STRONG> and <STRONG>wattr_on</STRONG>,
- if <EM>opts</EM> is set it is treated as a pointer to <STRONG>int</STRONG>, and used to set
+ if <EM>opts</EM> is set it is treated as a pointer to <STRONG>int</STRONG>, and used to set
the color pair instead of the <STRONG>short</STRONG> <EM>pair</EM> parameter.
<STRONG>o</STRONG> For functions which retrieve the color, e.g., <STRONG>wattr_get</STRONG>, if <EM>opts</EM> is
- set it is treated as a pointer to <STRONG>int</STRONG>, and used to retrieve the
- color pair as an <STRONG>int</STRONG> value, in addition to retrieving it via the
+ set it is treated as a pointer to <STRONG>int</STRONG>, and used to retrieve the
+ color pair as an <STRONG>int</STRONG> value, in addition to retrieving it via the
standard pointer to <STRONG>short</STRONG> parameter.
- <STRONG>o</STRONG> For functions which turn attributes off, e.g., <STRONG>wattr_off</STRONG>, the <EM>opts</EM>
+ <STRONG>o</STRONG> For functions which turn attributes off, e.g., <STRONG>wattr_off</STRONG>, the <EM>opts</EM>
parameter is ignored except except to check that it is <STRONG>NULL</STRONG>.
</PRE><H2><a name="h2-PORTABILITY">PORTABILITY</a></H2><PRE>
- These functions are described in the XSI Curses standard, Issue 4. The
- standard defined the dedicated type for highlights, <STRONG>attr_t</STRONG>, which was
- not defined in SVr4 curses. The functions taking <STRONG>attr_t</STRONG> arguments were
- not supported under SVr4.
+ These functions are described in X/Open Curses, Issue 4. The standard
+ defined the dedicated type for highlights, <STRONG>attr_t</STRONG>, which was not
+ defined in SVr4 curses. The functions taking <STRONG>attr_t</STRONG> arguments were not
+ supported under SVr4.
Very old versions of this library did not force an update of the screen
- when changing the attributes. Use <STRONG>touchwin</STRONG> to force the screen to
+ when changing the attributes. Use <STRONG>touchwin</STRONG> to force the screen to
match the updated attributes.
- The XSI Curses standard states that whether the traditional functions
- <STRONG>attron</STRONG>/<STRONG>attroff</STRONG>/<STRONG>attrset</STRONG> can manipulate attributes other than <STRONG>A_BLINK</STRONG>,
- <STRONG>A_BOLD</STRONG>, <STRONG>A_DIM</STRONG>, <STRONG>A_REVERSE</STRONG>, <STRONG>A_STANDOUT</STRONG>, or <STRONG>A_UNDERLINE</STRONG> is "unspecified".
- Under this implementation as well as SVr4 curses, these functions
- correctly manipulate all other highlights (specifically, <STRONG>A_ALTCHARSET</STRONG>,
+ X/Open Curses states that whether the traditional functions
+ <STRONG>attron</STRONG>/<STRONG>attroff</STRONG>/<STRONG>attrset</STRONG> can manipulate attributes other than <STRONG>A_BLINK</STRONG>,
+ <STRONG>A_BOLD</STRONG>, <STRONG>A_DIM</STRONG>, <STRONG>A_REVERSE</STRONG>, <STRONG>A_STANDOUT</STRONG>, or <STRONG>A_UNDERLINE</STRONG> is "unspecified".
+ Under this implementation as well as SVr4 curses, these functions
+ correctly manipulate all other highlights (specifically, <STRONG>A_ALTCHARSET</STRONG>,
<STRONG>A_PROTECT</STRONG>, and <STRONG>A_INVIS</STRONG>).
- XSI Curses added these entry points:
+ X/Open Curses added these entry points:
<STRONG>attr_get</STRONG>, <STRONG>attr_on</STRONG>, <STRONG>attr_off</STRONG>, <STRONG>attr_set</STRONG>, <STRONG>wattr_on</STRONG>, <STRONG>wattr_off</STRONG>,
<STRONG>wattr_get</STRONG>, <STRONG>wattr_set</STRONG>
- The new functions are intended to work with a new series of highlight
+ The new functions are intended to work with a new series of highlight
macros prefixed with <STRONG>WA_</STRONG>. The older macros have direct counterparts in
the newer set of names:
<STRONG>WA_ALTCHARSET</STRONG> Alternate character set
- XSI curses does not assign values to these symbols, nor does it state
- whether or not they are related to the similarly-named A_NORMAL, etc.:
+ X/Open Curses does not assign values to these symbols, nor does it
+ state whether or not they are related to the similarly-named A_NORMAL,
+ etc.:
- <STRONG>o</STRONG> The XSI curses standard specifies that each pair of corresponding
- <STRONG>A_</STRONG> and <STRONG>WA_</STRONG>-using functions operates on the same current-highlight
+ <STRONG>o</STRONG> X/Open Curses specifies that each pair of corresponding <STRONG>A_</STRONG> and
+ <STRONG>WA_</STRONG>-using functions operates on the same current-highlight
information.
<STRONG>o</STRONG> However, in some implementations, those symbols have unrelated
This is consistent with SVr4 curses; X/Open Curses does not specify
this.
- The XSI standard extended conformance level adds new highlights
+ The X/Open Curses extended conformance level adds new highlights
<STRONG>A_HORIZONTAL</STRONG>, <STRONG>A_LEFT</STRONG>, <STRONG>A_LOW</STRONG>, <STRONG>A_RIGHT</STRONG>, <STRONG>A_TOP</STRONG>, <STRONG>A_VERTICAL</STRONG> (and
corresponding <STRONG>WA_</STRONG> macros for each). As of August 2013, no known
terminal provides these highlights (i.e., via the <STRONG>sgr1</STRONG> capability).
-ncurses 6.4 2024-03-16 <STRONG><A HREF="curs_attr.3x.html">curs_attr(3x)</A></STRONG>
+ncurses 6.4 2024-04-20 <STRONG><A HREF="curs_attr.3x.html">curs_attr(3x)</A></STRONG>
</PRE>
<div class="nav">
<ul>
* sale, use or other dealings in this Software without prior written *
* authorization. *
****************************************************************************
- * @Id: curs_beep.3x,v 1.27 2024/03/16 15:35:01 tom Exp @
+ * @Id: curs_beep.3x,v 1.29 2024/04/20 21:20:07 tom Exp @
-->
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN">
<HTML>
<HEAD>
<meta http-equiv="Content-Type" content="text/html; charset=us-ascii">
<meta name="generator" content="Manpage converted by man2html - see https://invisible-island.net/scripts/readme.html#others_scripts">
-<TITLE>curs_beep 3x 2024-03-16 ncurses 6.4 Library calls</TITLE>
+<TITLE>curs_beep 3x 2024-04-20 ncurses 6.4 Library calls</TITLE>
<link rel="author" href="mailto:bug-ncurses@gnu.org">
</HEAD>
<BODY>
-<H1 class="no-header">curs_beep 3x 2024-03-16 ncurses 6.4 Library calls</H1>
+<H1 class="no-header">curs_beep 3x 2024-04-20 ncurses 6.4 Library calls</H1>
<PRE>
<STRONG><A HREF="curs_beep.3x.html">curs_beep(3x)</A></STRONG> Library calls <STRONG><A HREF="curs_beep.3x.html">curs_beep(3x)</A></STRONG>
</PRE><H2><a name="h2-PORTABILITY">PORTABILITY</a></H2><PRE>
- These functions are described in the XSI Curses standard, Issue 4.
- Like SVr4, it specifies that they always return <STRONG>OK</STRONG>.
+ These functions are described in X/Open Curses, Issue 4. Like SVr4, it
+ specifies that they always return <STRONG>OK</STRONG>.
</PRE><H2><a name="h2-SEE-ALSO">SEE ALSO</a></H2><PRE>
-ncurses 6.4 2024-03-16 <STRONG><A HREF="curs_beep.3x.html">curs_beep(3x)</A></STRONG>
+ncurses 6.4 2024-04-20 <STRONG><A HREF="curs_beep.3x.html">curs_beep(3x)</A></STRONG>
</PRE>
<div class="nav">
<ul>
* sale, use or other dealings in this Software without prior written *
* authorization. *
****************************************************************************
- * @Id: curs_bkgd.3x,v 1.59 2024/03/23 19:58:58 tom Exp @
+ * @Id: curs_bkgd.3x,v 1.61 2024/04/20 18:54:36 tom Exp @
-->
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN">
<HTML>
<HEAD>
<meta http-equiv="Content-Type" content="text/html; charset=us-ascii">
<meta name="generator" content="Manpage converted by man2html - see https://invisible-island.net/scripts/readme.html#others_scripts">
-<TITLE>curs_bkgd 3x 2024-03-23 ncurses 6.4 Library calls</TITLE>
+<TITLE>curs_bkgd 3x 2024-04-20 ncurses 6.4 Library calls</TITLE>
<link rel="author" href="mailto:bug-ncurses@gnu.org">
</HEAD>
<BODY>
-<H1 class="no-header">curs_bkgd 3x 2024-03-23 ncurses 6.4 Library calls</H1>
+<H1 class="no-header">curs_bkgd 3x 2024-04-20 ncurses 6.4 Library calls</H1>
<PRE>
<STRONG><A HREF="curs_bkgd.3x.html">curs_bkgd(3x)</A></STRONG> Library calls <STRONG><A HREF="curs_bkgd.3x.html">curs_bkgd(3x)</A></STRONG>
</PRE><H2><a name="h2-PORTABILITY">PORTABILITY</a></H2><PRE>
- X/Open Curses, Issue 4, describes these functions. It specifies that
+ X/Open Curses, Issue 4 describes these functions. It specifies that
<STRONG>bkgd</STRONG>, <STRONG>wbkgd</STRONG>, and <STRONG>getbkgd</STRONG> return <STRONG>ERR</STRONG> on failure (in the case of the
last, this value is cast to <EM>chtype</EM>), but describes no failure
conditions.
-ncurses 6.4 2024-03-23 <STRONG><A HREF="curs_bkgd.3x.html">curs_bkgd(3x)</A></STRONG>
+ncurses 6.4 2024-04-20 <STRONG><A HREF="curs_bkgd.3x.html">curs_bkgd(3x)</A></STRONG>
</PRE>
<div class="nav">
<ul>
* sale, use or other dealings in this Software without prior written *
* authorization. *
****************************************************************************
- * @Id: curs_bkgrnd.3x,v 1.40 2024/03/23 19:59:45 tom Exp @
+ * @Id: curs_bkgrnd.3x,v 1.42 2024/04/20 18:54:36 tom Exp @
-->
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN">
<HTML>
<HEAD>
<meta http-equiv="Content-Type" content="text/html; charset=us-ascii">
<meta name="generator" content="Manpage converted by man2html - see https://invisible-island.net/scripts/readme.html#others_scripts">
-<TITLE>curs_bkgrnd 3x 2024-03-23 ncurses 6.4 Library calls</TITLE>
+<TITLE>curs_bkgrnd 3x 2024-04-20 ncurses 6.4 Library calls</TITLE>
<link rel="author" href="mailto:bug-ncurses@gnu.org">
</HEAD>
<BODY>
-<H1 class="no-header">curs_bkgrnd 3x 2024-03-23 ncurses 6.4 Library calls</H1>
+<H1 class="no-header">curs_bkgrnd 3x 2024-04-20 ncurses 6.4 Library calls</H1>
<PRE>
<STRONG><A HREF="curs_bkgrnd.3x.html">curs_bkgrnd(3x)</A></STRONG> Library calls <STRONG><A HREF="curs_bkgrnd.3x.html">curs_bkgrnd(3x)</A></STRONG>
</PRE><H2><a name="h2-PORTABILITY">PORTABILITY</a></H2><PRE>
- X/Open Curses, Issue 4, describes these functions. It specifies no
+ X/Open Curses, Issue 4 describes these functions. It specifies no
error conditions for them.
X/Open Curses does not provide details of how the rendition is updated.
-ncurses 6.4 2024-03-23 <STRONG><A HREF="curs_bkgrnd.3x.html">curs_bkgrnd(3x)</A></STRONG>
+ncurses 6.4 2024-04-20 <STRONG><A HREF="curs_bkgrnd.3x.html">curs_bkgrnd(3x)</A></STRONG>
</PRE>
<div class="nav">
<ul>
* sale, use or other dealings in this Software without prior written *
* authorization. *
****************************************************************************
- * @Id: curs_border.3x,v 1.46 2024/03/16 15:38:43 tom Exp @
+ * @Id: curs_border.3x,v 1.49 2024/04/20 21:20:07 tom Exp @
-->
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN">
<HTML>
<HEAD>
<meta http-equiv="Content-Type" content="text/html; charset=us-ascii">
<meta name="generator" content="Manpage converted by man2html - see https://invisible-island.net/scripts/readme.html#others_scripts">
-<TITLE>curs_border 3x 2024-03-16 ncurses 6.4 Library calls</TITLE>
+<TITLE>curs_border 3x 2024-04-20 ncurses 6.4 Library calls</TITLE>
<link rel="author" href="mailto:bug-ncurses@gnu.org">
</HEAD>
<BODY>
-<H1 class="no-header">curs_border 3x 2024-03-16 ncurses 6.4 Library calls</H1>
+<H1 class="no-header">curs_border 3x 2024-04-20 ncurses 6.4 Library calls</H1>
<PRE>
<STRONG><A HREF="curs_border.3x.html">curs_border(3x)</A></STRONG> Library calls <STRONG><A HREF="curs_border.3x.html">curs_border(3x)</A></STRONG>
X/Open Curses does not specify any error conditions. This
implementation returns an error if the window pointer is null.
- Functions with a "mv" prefix first perform a cursor movement using
- <STRONG>wmove</STRONG>, and return an error if the position is outside the window, or if
- the window pointer is null.
+ 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>
- The borders generated by these functions are <EM>inside</EM> borders (this is
+ The borders generated by these functions are <EM>inside</EM> borders (this is
also true of SVr4 curses, though the fact is not documented).
Note that <STRONG>border</STRONG> and <STRONG>box</STRONG> may be macros.
</PRE><H2><a name="h2-PORTABILITY">PORTABILITY</a></H2><PRE>
- These functions are described in the XSI Curses standard, Issue 4.
+ These functions are described in X/Open Curses, Issue 4.
</PRE><H2><a name="h2-SEE-ALSO">SEE ALSO</a></H2><PRE>
-ncurses 6.4 2024-03-16 <STRONG><A HREF="curs_border.3x.html">curs_border(3x)</A></STRONG>
+ncurses 6.4 2024-04-20 <STRONG><A HREF="curs_border.3x.html">curs_border(3x)</A></STRONG>
</PRE>
<div class="nav">
<ul>
* sale, use or other dealings in this Software without prior written *
* authorization. *
****************************************************************************
- * @Id: curs_border_set.3x,v 1.33 2024/03/16 15:35:01 tom Exp @
+ * @Id: curs_border_set.3x,v 1.36 2024/04/20 21:20:07 tom Exp @
-->
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN">
<HTML>
<HEAD>
<meta http-equiv="Content-Type" content="text/html; charset=us-ascii">
<meta name="generator" content="Manpage converted by man2html - see https://invisible-island.net/scripts/readme.html#others_scripts">
-<TITLE>curs_border_set 3x 2024-03-16 ncurses 6.4 Library calls</TITLE>
+<TITLE>curs_border_set 3x 2024-04-20 ncurses 6.4 Library calls</TITLE>
<link rel="author" href="mailto:bug-ncurses@gnu.org">
</HEAD>
<BODY>
-<H1 class="no-header">curs_border_set 3x 2024-03-16 ncurses 6.4 Library calls</H1>
+<H1 class="no-header">curs_border_set 3x 2024-04-20 ncurses 6.4 Library calls</H1>
<PRE>
<STRONG><A HREF="curs_border_set.3x.html">curs_border_set(3x)</A></STRONG> Library calls <STRONG><A HREF="curs_border_set.3x.html">curs_border_set(3x)</A></STRONG>
Functions using a window parameter return an error if it is null.
- Functions with a "mv" prefix first perform a cursor movement using
- <STRONG>wmove</STRONG>, and return an error if the position is outside the window, or if
- the window pointer is null.
+ 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>
- Note that <STRONG>border_set</STRONG>, <STRONG>hline_set</STRONG>, <STRONG>mvhline_set</STRONG>, <STRONG>mvvline_set</STRONG>,
+ Note that <STRONG>border_set</STRONG>, <STRONG>hline_set</STRONG>, <STRONG>mvhline_set</STRONG>, <STRONG>mvvline_set</STRONG>,
<STRONG>mvwhline_set</STRONG>, <STRONG>mvwvline_set</STRONG>, and <STRONG>vline_set</STRONG> may be macros.
</PRE><H2><a name="h2-PORTABILITY">PORTABILITY</a></H2><PRE>
- These functions are described in the XSI Curses standard, Issue 4.
+ These functions are described in X/Open Curses, Issue 4.
</PRE><H2><a name="h2-SEE-ALSO">SEE ALSO</a></H2><PRE>
-ncurses 6.4 2024-03-16 <STRONG><A HREF="curs_border_set.3x.html">curs_border_set(3x)</A></STRONG>
+ncurses 6.4 2024-04-20 <STRONG><A HREF="curs_border_set.3x.html">curs_border_set(3x)</A></STRONG>
</PRE>
<div class="nav">
<ul>
* sale, use or other dealings in this Software without prior written *
* authorization. *
****************************************************************************
- * @Id: curs_clear.3x,v 1.46 2024/03/16 15:35:01 tom Exp @
+ * @Id: curs_clear.3x,v 1.48 2024/04/20 21:20:07 tom Exp @
-->
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN">
<HTML>
<HEAD>
<meta http-equiv="Content-Type" content="text/html; charset=us-ascii">
<meta name="generator" content="Manpage converted by man2html - see https://invisible-island.net/scripts/readme.html#others_scripts">
-<TITLE>curs_clear 3x 2024-03-16 ncurses 6.4 Library calls</TITLE>
+<TITLE>curs_clear 3x 2024-04-20 ncurses 6.4 Library calls</TITLE>
<link rel="author" href="mailto:bug-ncurses@gnu.org">
</HEAD>
<BODY>
-<H1 class="no-header">curs_clear 3x 2024-03-16 ncurses 6.4 Library calls</H1>
+<H1 class="no-header">curs_clear 3x 2024-04-20 ncurses 6.4 Library calls</H1>
<PRE>
<STRONG><A HREF="curs_clear.3x.html">curs_clear(3x)</A></STRONG> Library calls <STRONG><A HREF="curs_clear.3x.html">curs_clear(3x)</A></STRONG>
</PRE><H2><a name="h2-PORTABILITY">PORTABILITY</a></H2><PRE>
- These functions are described in the XSI Curses standard, Issue 4.
+ These functions are described in X/Open Curses, Issue 4.
The SVr4.0 manual says that these functions could return "or a non-
negative integer if <STRONG>immedok</STRONG> is set", referring to the return-value of
-ncurses 6.4 2024-03-16 <STRONG><A HREF="curs_clear.3x.html">curs_clear(3x)</A></STRONG>
+ncurses 6.4 2024-04-20 <STRONG><A HREF="curs_clear.3x.html">curs_clear(3x)</A></STRONG>
</PRE>
<div class="nav">
<ul>
* sale, use or other dealings in this Software without prior written *
* authorization. *
****************************************************************************
- * @Id: curs_color.3x,v 1.98 2024/03/16 15:35:01 tom Exp @
+ * @Id: curs_color.3x,v 1.100 2024/04/20 21:24:19 tom Exp @
-->
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN">
<HTML>
<HEAD>
<meta http-equiv="Content-Type" content="text/html; charset=us-ascii">
<meta name="generator" content="Manpage converted by man2html - see https://invisible-island.net/scripts/readme.html#others_scripts">
-<TITLE>curs_color 3x 2024-03-16 ncurses 6.4 Library calls</TITLE>
+<TITLE>curs_color 3x 2024-04-20 ncurses 6.4 Library calls</TITLE>
<link rel="author" href="mailto:bug-ncurses@gnu.org">
</HEAD>
<BODY>
-<H1 class="no-header">curs_color 3x 2024-03-16 ncurses 6.4 Library calls</H1>
+<H1 class="no-header">curs_color 3x 2024-04-20 ncurses 6.4 Library calls</H1>
<PRE>
<STRONG><A HREF="curs_color.3x.html">curs_color(3x)</A></STRONG> Library calls <STRONG><A HREF="curs_color.3x.html">curs_color(3x)</A></STRONG>
Applications employing <EM>ncurses</EM> extensions should condition their use on
the visibility of the <STRONG>NCURSES_VERSION</STRONG> preprocessor macro.
- This implementation satisfies XSI Curses's minimum maximums for <STRONG>COLORS</STRONG>
- and <STRONG>COLOR_PAIRS</STRONG>.
+ This implementation satisfies X/Open Curses's minimum maximums for
+ <STRONG>COLORS</STRONG> and <STRONG>COLOR_PAIRS</STRONG>.
The <STRONG>init_pair</STRONG> routine accepts negative values of foreground and
background color to support the <STRONG><A HREF="default_colors.3x.html">use_default_colors(3x)</A></STRONG> extension, but
-ncurses 6.4 2024-03-16 <STRONG><A HREF="curs_color.3x.html">curs_color(3x)</A></STRONG>
+ncurses 6.4 2024-04-20 <STRONG><A HREF="curs_color.3x.html">curs_color(3x)</A></STRONG>
</PRE>
<div class="nav">
<ul>
* sale, use or other dealings in this Software without prior written *
* authorization. *
****************************************************************************
- * @Id: curs_delch.3x,v 1.32 2024/03/16 15:35:01 tom Exp @
+ * @Id: curs_delch.3x,v 1.34 2024/04/20 19:24:14 tom Exp @
-->
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN">
<HTML>
<HEAD>
<meta http-equiv="Content-Type" content="text/html; charset=us-ascii">
<meta name="generator" content="Manpage converted by man2html - see https://invisible-island.net/scripts/readme.html#others_scripts">
-<TITLE>curs_delch 3x 2024-03-16 ncurses 6.4 Library calls</TITLE>
+<TITLE>curs_delch 3x 2024-04-20 ncurses 6.4 Library calls</TITLE>
<link rel="author" href="mailto:bug-ncurses@gnu.org">
</HEAD>
<BODY>
-<H1 class="no-header">curs_delch 3x 2024-03-16 ncurses 6.4 Library calls</H1>
+<H1 class="no-header">curs_delch 3x 2024-04-20 ncurses 6.4 Library calls</H1>
<PRE>
<STRONG><A HREF="curs_delch.3x.html">curs_delch(3x)</A></STRONG> Library calls <STRONG><A HREF="curs_delch.3x.html">curs_delch(3x)</A></STRONG>
</PRE><H2><a name="h2-NAME">NAME</a></H2><PRE>
- <STRONG>delch</STRONG>, <STRONG>wdelch</STRONG>, <STRONG>mvdelch</STRONG>, <STRONG>mvwdelch</STRONG> - delete the character at the cursor
- in a <EM>curses</EM> window
+ <STRONG>delch</STRONG>, <STRONG>wdelch</STRONG>, <STRONG>mvdelch</STRONG>, <STRONG>mvwdelch</STRONG> - delete a character from a <EM>curses</EM>
+ window
</PRE><H2><a name="h2-SYNOPSIS">SYNOPSIS</a></H2><PRE>
</PRE><H2><a name="h2-DESCRIPTION">DESCRIPTION</a></H2><PRE>
- These routines delete the character under the cursor; all characters to
- the right of the cursor on the same line are moved to the left one
- position and the last character on the line is filled with a blank.
- The cursor position does not change (after moving to <EM>y</EM>, <EM>x</EM>, if
- specified). (This does not imply use of the hardware delete character
- feature.)
+ <STRONG>wdelch</STRONG> deletes the character at the cursor position in <EM>win</EM>.
+ <STRONG><A HREF="ncurses.3x.html">ncurses(3x)</A></STRONG> describes the variants of this function.
+
+ <STRONG>wdelch</STRONG> moves all characters to the right of the cursor on the same line
+ to the left one position and replaces the contents of the rightmost
+ position on the line with the window's blank character; see <STRONG><A HREF="curs_bkgd.3x.html">bkgd(3x)</A></STRONG>
+ (wide-character API users may consult <STRONG><A HREF="curs_bkgrnd.3x.html">bkgrnd(3x)</A></STRONG> instead). The cursor
+ position does not change (after moving to (<EM>y</EM>, <EM>x</EM>), if specified).
</PRE><H2><a name="h2-RETURN-VALUE">RETURN VALUE</a></H2><PRE>
- All routines return the integer <STRONG>ERR</STRONG> upon failure and an <STRONG>OK</STRONG> (SVr4
- specifies only "an integer value other than <STRONG>ERR</STRONG>") upon successful
- completion.
+ These functions return <STRONG>OK</STRONG> on success and <STRONG>ERR</STRONG> on failure.
+
+ Functions taking a <EM>WINDOW</EM> pointer argument fail if the pointer is <STRONG>NULL</STRONG>.
- Functions with a "mv" prefix first perform a cursor movement using
- <STRONG>wmove</STRONG>, and return an error if the position is outside the window, or if
- the window pointer is null.
+ 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>
- Note that <STRONG>delch</STRONG>, <STRONG>mvdelch</STRONG>, and <STRONG>mvwdelch</STRONG> may be macros.
+ <STRONG>delch</STRONG>, <STRONG>mvdelch</STRONG>, and <STRONG>mvwdelch</STRONG> may be implemented as macros.
+
+ A terminal's <STRONG>delete_character</STRONG> (<STRONG>dch1</STRONG>) capability is not necessarily
+ employed.
</PRE><H2><a name="h2-PORTABILITY">PORTABILITY</a></H2><PRE>
- These functions are described in the XSI Curses standard, Issue 4. The
- standard specifies that they return <STRONG>ERR</STRONG> on failure, but specifies no
- error conditions.
+ X/Open Curses, Issue 4 describes these functions.
+
+ SVr4 <EM>curses</EM> describes a successful return value only as "an integer
+ value other than <STRONG>ERR</STRONG>".
</PRE><H2><a name="h2-SEE-ALSO">SEE ALSO</a></H2><PRE>
-ncurses 6.4 2024-03-16 <STRONG><A HREF="curs_delch.3x.html">curs_delch(3x)</A></STRONG>
+ncurses 6.4 2024-04-20 <STRONG><A HREF="curs_delch.3x.html">curs_delch(3x)</A></STRONG>
</PRE>
<div class="nav">
<ul>
* sale, use or other dealings in this Software without prior written *
* authorization. *
****************************************************************************
- * @Id: curs_deleteln.3x,v 1.36 2024/03/16 15:35:01 tom Exp @
+ * @Id: curs_deleteln.3x,v 1.38 2024/04/20 21:20:07 tom Exp @
-->
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN">
<HTML>
<HEAD>
<meta http-equiv="Content-Type" content="text/html; charset=us-ascii">
<meta name="generator" content="Manpage converted by man2html - see https://invisible-island.net/scripts/readme.html#others_scripts">
-<TITLE>curs_deleteln 3x 2024-03-16 ncurses 6.4 Library calls</TITLE>
+<TITLE>curs_deleteln 3x 2024-04-20 ncurses 6.4 Library calls</TITLE>
<link rel="author" href="mailto:bug-ncurses@gnu.org">
</HEAD>
<BODY>
-<H1 class="no-header">curs_deleteln 3x 2024-03-16 ncurses 6.4 Library calls</H1>
+<H1 class="no-header">curs_deleteln 3x 2024-04-20 ncurses 6.4 Library calls</H1>
<PRE>
<STRONG><A HREF="curs_deleteln.3x.html">curs_deleteln(3x)</A></STRONG> Library calls <STRONG><A HREF="curs_deleteln.3x.html">curs_deleteln(3x)</A></STRONG>
</PRE><H2><a name="h2-PORTABILITY">PORTABILITY</a></H2><PRE>
- These functions are described in the XSI Curses standard, Issue 4. The
- standard specifies that they return <STRONG>ERR</STRONG> on failure, but specifies no
- error conditions.
+ These functions are described in X/Open Curses, Issue 4. The standard
+ specifies that they return <STRONG>ERR</STRONG> on failure, but specifies no error
+ conditions.
</PRE><H2><a name="h2-SEE-ALSO">SEE ALSO</a></H2><PRE>
-ncurses 6.4 2024-03-16 <STRONG><A HREF="curs_deleteln.3x.html">curs_deleteln(3x)</A></STRONG>
+ncurses 6.4 2024-04-20 <STRONG><A HREF="curs_deleteln.3x.html">curs_deleteln(3x)</A></STRONG>
</PRE>
<div class="nav">
<ul>
* sale, use or other dealings in this Software without prior written *
* authorization. *
****************************************************************************
- * @Id: curs_get_wch.3x,v 1.38 2024/04/13 22:14:06 tom Exp @
+ * @Id: curs_get_wch.3x,v 1.40 2024/04/20 19:23:03 tom Exp @
-->
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN">
<HTML>
<HEAD>
<meta http-equiv="Content-Type" content="text/html; charset=us-ascii">
<meta name="generator" content="Manpage converted by man2html - see https://invisible-island.net/scripts/readme.html#others_scripts">
-<TITLE>curs_get_wch 3x 2024-04-13 ncurses 6.4 Library calls</TITLE>
+<TITLE>curs_get_wch 3x 2024-04-20 ncurses 6.4 Library calls</TITLE>
<link rel="author" href="mailto:bug-ncurses@gnu.org">
</HEAD>
<BODY>
-<H1 class="no-header">curs_get_wch 3x 2024-04-13 ncurses 6.4 Library calls</H1>
+<H1 class="no-header">curs_get_wch 3x 2024-04-20 ncurses 6.4 Library calls</H1>
<PRE>
<STRONG><A HREF="curs_get_wch.3x.html">curs_get_wch(3x)</A></STRONG> Library calls <STRONG><A HREF="curs_get_wch.3x.html">curs_get_wch(3x)</A></STRONG>
<STRONG>int</STRONG> <STRONG>mvget_wch(int</STRONG> <EM>y</EM><STRONG>,</STRONG> <STRONG>int</STRONG> <EM>x</EM><STRONG>,</STRONG> <STRONG>wint_t</STRONG> <STRONG>*</STRONG><EM>wch</EM><STRONG>);</STRONG>
<STRONG>int</STRONG> <STRONG>mvwget_wch(WINDOW</STRONG> <STRONG>*</STRONG><EM>win</EM><STRONG>,</STRONG> <STRONG>int</STRONG> <EM>y</EM><STRONG>,</STRONG> <STRONG>int</STRONG> <EM>x</EM><STRONG>,</STRONG> <STRONG>wint_t</STRONG> <STRONG>*</STRONG><EM>wch</EM><STRONG>);</STRONG>
- <STRONG>int</STRONG> <STRONG>unget_wch(const</STRONG> <STRONG>wchar_t</STRONG> <EM>wch</EM><STRONG>);</STRONG>
+ <STRONG>int</STRONG> <STRONG>unget_wch(const</STRONG> <STRONG>wchar_t</STRONG> <EM>wc</EM><STRONG>);</STRONG>
</PRE><H2><a name="h2-DESCRIPTION">DESCRIPTION</a></H2><PRE>
<STRONG>o</STRONG> execution was interrupted by a signal, in which case <STRONG>errno</STRONG> is set
to <STRONG>EINTR</STRONG>.
- Functions with a "mv" prefix first perform cursor movement using
- <STRONG><A HREF="curs_move.3x.html">wmove(3x)</A></STRONG> and fail if the position is outside the window, or (for "mvw"
- functions) if the <EM>win</EM> parameter 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.
<STRONG>unget_wch</STRONG> returns <STRONG>OK</STRONG> on success and <STRONG>ERR</STRONG> if there is no more room in the
input queue.
All of these functions except <STRONG>wget_wch</STRONG> and <STRONG>unget_wch</STRONG> may be implemented
as macros.
- Unlike <STRONG><A HREF="curs_getch.3x.html">wgetch(3x)</A></STRONG>, <STRONG>wget_wch</STRONG> and its variants store the value of the
- input character in an additional <EM>wch</EM> parameter instead of the return
+ Unlike <STRONG><A HREF="curs_getch.3x.html">wgetch(3x)</A></STRONG>, <STRONG>wget_wch</STRONG> and its variants store the value of the
+ input character in an additional <EM>wch</EM> parameter instead of the return
value.
- Unlike <STRONG>ungetch</STRONG>, <STRONG>unget_wch</STRONG> cannot distinguish function key codes
- <STRONG>wget_wch</STRONG> from conventional character codes. An application can
+ Unlike <STRONG>ungetch</STRONG>, <STRONG>unget_wch</STRONG> cannot distinguish function key codes
+ <STRONG>wget_wch</STRONG> from conventional character codes. An application can
overcome this limitation by pushing function key codes with <STRONG>ungetch</STRONG> and
- subsequently checking the return value of <STRONG>wget_wch</STRONG> for a match with
+ subsequently checking the return value of <STRONG>wget_wch</STRONG> for a match with
<STRONG>KEY_CODE_YES</STRONG>.
Applications employing <EM>ncurses</EM> extensions should condition their use on
the visibility of the <STRONG>NCURSES_VERSION</STRONG> preprocessor macro.
- X/Open Curses, Issue 4, describes these functions. It specifies no
+ X/Open Curses, Issue 4 describes these functions. It specifies no
error conditions for them.
- See the "PORTABILITY" section of <STRONG><A HREF="curs_getch.3x.html">wgetch(3x)</A></STRONG> regarding the interaction
+ See the "PORTABILITY" section of <STRONG><A HREF="curs_getch.3x.html">wgetch(3x)</A></STRONG> regarding the interaction
of <STRONG>wget_wch</STRONG> with signal handlers.
<STRONG><A HREF="curs_getch.3x.html">curs_getch(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_inopts.3x.html">curs_inopts(3x)</A></STRONG>, <STRONG><A HREF="curs_move.3x.html">curs_move(3x)</A></STRONG>,
+ <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_inopts.3x.html">curs_inopts(3x)</A></STRONG>, <STRONG><A HREF="curs_move.3x.html">curs_move(3x)</A></STRONG>,
<STRONG><A HREF="curs_refresh.3x.html">curs_refresh(3x)</A></STRONG>
-ncurses 6.4 2024-04-13 <STRONG><A HREF="curs_get_wch.3x.html">curs_get_wch(3x)</A></STRONG>
+ncurses 6.4 2024-04-20 <STRONG><A HREF="curs_get_wch.3x.html">curs_get_wch(3x)</A></STRONG>
</PRE>
<div class="nav">
<ul>
* sale, use or other dealings in this Software without prior written *
* authorization. *
****************************************************************************
- * @Id: curs_get_wstr.3x,v 1.46 2024/04/13 22:14:06 tom Exp @
+ * @Id: curs_get_wstr.3x,v 1.48 2024/04/20 19:18: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>curs_get_wstr 3x 2024-04-13 ncurses 6.4 Library calls</TITLE>
+<TITLE>curs_get_wstr 3x 2024-04-20 ncurses 6.4 Library calls</TITLE>
<link rel="author" href="mailto:bug-ncurses@gnu.org">
</HEAD>
<BODY>
-<H1 class="no-header">curs_get_wstr 3x 2024-04-13 ncurses 6.4 Library calls</H1>
+<H1 class="no-header">curs_get_wstr 3x 2024-04-20 ncurses 6.4 Library calls</H1>
<PRE>
<STRONG><A HREF="curs_get_wstr.3x.html">curs_get_wstr(3x)</A></STRONG> Library calls <STRONG><A HREF="curs_get_wstr.3x.html">curs_get_wstr(3x)</A></STRONG>
<STRONG>o</STRONG> if the associated call to <STRONG>wget_wch</STRONG> failed.
- Functions with a "mv" prefix first perform a cursor movement using
- <STRONG>wmove</STRONG>, and return an error if the position is outside the window, or if
- the window pointer is null.
+ 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>
Any of these functions other than <STRONG>wgetn_wstr</STRONG> may be macros.
- Using <STRONG>get_wstr</STRONG>, <STRONG>mvget_wstr</STRONG>, <STRONG>mvwget_wstr</STRONG>, or <STRONG>wget_wstr</STRONG> to read a line
- that overflows the array pointed to by <STRONG>wstr</STRONG> causes undefined results.
- The use of <STRONG>getn_wstr</STRONG>, <STRONG>mvgetn_wstr</STRONG>, <STRONG>mvwgetn_wstr</STRONG>, or <STRONG>wgetn_wstr</STRONG>,
+ Using <STRONG>get_wstr</STRONG>, <STRONG>mvget_wstr</STRONG>, <STRONG>mvwget_wstr</STRONG>, or <STRONG>wget_wstr</STRONG> to read a line
+ that overflows the array pointed to by <STRONG>wstr</STRONG> causes undefined results.
+ The use of <STRONG>getn_wstr</STRONG>, <STRONG>mvgetn_wstr</STRONG>, <STRONG>mvwgetn_wstr</STRONG>, or <STRONG>wgetn_wstr</STRONG>,
respectively, is recommended.
- These functions cannot return <STRONG>KEY_</STRONG> values because there is no way to
+ These functions cannot return <STRONG>KEY_</STRONG> values because there is no way to
distinguish a <STRONG>KEY_</STRONG> value from a valid <STRONG>wchar_t</STRONG> value.
These functions are described in The Single Unix Specification, Version
2. No error conditions are defined.
- This implementation returns <STRONG>ERR</STRONG> if the window pointer is null, or if
- the lower-level <STRONG>wget_wch</STRONG> call returns an <STRONG>ERR</STRONG>. In the latter case, an
- <STRONG>ERR</STRONG> return without other data is treated as an end-of-file condition,
+ This implementation returns <STRONG>ERR</STRONG> if the window pointer is null, or if
+ the lower-level <STRONG>wget_wch</STRONG> call returns an <STRONG>ERR</STRONG>. In the latter case, an
+ <STRONG>ERR</STRONG> return without other data is treated as an end-of-file condition,
and the returned array contains a <STRONG>WEOF</STRONG> followed by a null <STRONG>wchar_t</STRONG>.
X/Open curses documented these functions to pass an array of <STRONG>wchar_t</STRONG> in
1997, but that was an error because of this part of the description:
The effect of <STRONG>get_wstr</STRONG> is as though a series of calls to <STRONG>get_wch</STRONG>
- were made, until a newline character, end-of-line character, or
+ were made, until a newline character, end-of-line character, or
end-of-file character is processed.
- The latter function <EM>get</EM><STRONG>_</STRONG><EM>wch</EM> can return a negative value, while <STRONG>wchar_t</STRONG>
- is a unsigned type. All of the vendors implement this using <STRONG>wint_t</STRONG>,
+ The latter function <EM>get</EM><STRONG>_</STRONG><EM>wch</EM> can return a negative value, while <STRONG>wchar_t</STRONG>
+ is a unsigned type. All of the vendors implement this using <STRONG>wint_t</STRONG>,
following the standard.
X/Open Curses, Issue 7 (2009) is unclear regarding whether the
- terminating <EM>null</EM> <STRONG>wchar_t</STRONG> value is counted in the length parameter <EM>n</EM>.
+ terminating <EM>null</EM> <STRONG>wchar_t</STRONG> value is counted in the length parameter <EM>n</EM>.
X/Open Curses, Issue 7 revised the corresponding description of
- <STRONG>wgetnstr</STRONG> to address this issue. The unrevised description of
- <STRONG>wget_nwstr</STRONG> can be interpreted either way. This implementation counts
+ <STRONG>wgetnstr</STRONG> to address this issue. The unrevised description of
+ <STRONG>wget_nwstr</STRONG> can be interpreted either way. This implementation counts
the terminator in the length.
- X/Open Curses does not specify what happens if the length <EM>n</EM> is
+ X/Open Curses does not specify what happens if the length <EM>n</EM> is
negative.
- <STRONG>o</STRONG> For analogy with <STRONG>wgetnstr</STRONG>, <EM>ncurses</EM> 6.2 uses a limit (based on
+ <STRONG>o</STRONG> For analogy with <STRONG>wgetnstr</STRONG>, <EM>ncurses</EM> 6.2 uses a limit (based on
<STRONG>LINE_MAX</STRONG>).
- <STRONG>o</STRONG> Some other implementations (such as Solaris xcurses) do the same,
+ <STRONG>o</STRONG> Some other implementations (such as Solaris xcurses) do the same,
while others (PDCurses) do not allow this.
- <STRONG>o</STRONG> NetBSD 7 curses imitates <EM>ncurses</EM> 6.1 in this regard, treating a <STRONG>-1</STRONG>
+ <STRONG>o</STRONG> NetBSD 7 curses imitates <EM>ncurses</EM> 6.1 in this regard, treating a <STRONG>-1</STRONG>
as an indefinite number of characters.
</PRE><H2><a name="h2-SEE-ALSO">SEE ALSO</a></H2><PRE>
- <STRONG><A HREF="curs_getstr.3x.html">curs_getstr(3x)</A></STRONG> describes comparable functions of the <EM>ncurses</EM> library
+ <STRONG><A HREF="curs_getstr.3x.html">curs_getstr(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_get_wch.3x.html">curs_get_wch(3x)</A></STRONG>
-ncurses 6.4 2024-04-13 <STRONG><A HREF="curs_get_wstr.3x.html">curs_get_wstr(3x)</A></STRONG>
+ncurses 6.4 2024-04-20 <STRONG><A HREF="curs_get_wstr.3x.html">curs_get_wstr(3x)</A></STRONG>
</PRE>
<div class="nav">
<ul>
* sale, use or other dealings in this Software without prior written *
* authorization. *
****************************************************************************
- * @Id: curs_getcchar.3x,v 1.47 2024/04/13 22:08:22 tom Exp @
+ * @Id: curs_getcchar.3x,v 1.49 2024/04/20 18:55:09 tom Exp @
-->
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN">
<HTML>
<HEAD>
<meta http-equiv="Content-Type" content="text/html; charset=us-ascii">
<meta name="generator" content="Manpage converted by man2html - see https://invisible-island.net/scripts/readme.html#others_scripts">
-<TITLE>curs_getcchar 3x 2024-04-13 ncurses 6.4 Library calls</TITLE>
+<TITLE>curs_getcchar 3x 2024-04-20 ncurses 6.4 Library calls</TITLE>
<link rel="author" href="mailto:bug-ncurses@gnu.org">
</HEAD>
<BODY>
-<H1 class="no-header">curs_getcchar 3x 2024-04-13 ncurses 6.4 Library calls</H1>
+<H1 class="no-header">curs_getcchar 3x 2024-04-20 ncurses 6.4 Library calls</H1>
<PRE>
<STRONG><A HREF="curs_getcchar.3x.html">curs_getcchar(3x)</A></STRONG> Library calls <STRONG><A HREF="curs_getcchar.3x.html">curs_getcchar(3x)</A></STRONG>
<STRONG>#include</STRONG> <STRONG><curses.h></STRONG>
<STRONG>int</STRONG> <STRONG>getcchar(</STRONG>
- <STRONG>const</STRONG> <STRONG>cchar_t</STRONG> <STRONG>*</STRONG><EM>wcval</EM><STRONG>,</STRONG>
- <STRONG>wchar_t</STRONG> <STRONG>*</STRONG><EM>wch</EM><STRONG>,</STRONG>
+ <STRONG>const</STRONG> <STRONG>cchar_t</STRONG> <STRONG>*</STRONG><EM>wch</EM><STRONG>,</STRONG>
+ <STRONG>wchar_t</STRONG> <STRONG>*</STRONG><EM>wc</EM><STRONG>,</STRONG>
<STRONG>attr_t</STRONG> <STRONG>*</STRONG><EM>attrs</EM><STRONG>,</STRONG>
<STRONG>short</STRONG> <STRONG>*</STRONG><EM>color</EM><STRONG>_</STRONG><EM>pair</EM><STRONG>,</STRONG>
<STRONG>void</STRONG> <STRONG>*</STRONG><EM>opts</EM> <STRONG>);</STRONG>
<STRONG>int</STRONG> <STRONG>setcchar(</STRONG>
- <STRONG>cchar_t</STRONG> <STRONG>*</STRONG><EM>wcval</EM><STRONG>,</STRONG>
- <STRONG>const</STRONG> <STRONG>wchar_t</STRONG> <STRONG>*</STRONG><EM>wch</EM><STRONG>,</STRONG>
+ <STRONG>cchar_t</STRONG> <STRONG>*</STRONG><EM>wch</EM><STRONG>,</STRONG>
+ <STRONG>const</STRONG> <STRONG>wchar_t</STRONG> <STRONG>*</STRONG><EM>wc</EM><STRONG>,</STRONG>
<STRONG>const</STRONG> <STRONG>attr_t</STRONG> <EM>attrs</EM><STRONG>,</STRONG>
<STRONG>short</STRONG> <EM>color</EM><STRONG>_</STRONG><EM>pair</EM><STRONG>,</STRONG>
<STRONG>const</STRONG> <STRONG>void</STRONG> <STRONG>*</STRONG><EM>opts</EM> <STRONG>);</STRONG>
</PRE><H3><a name="h3-getcchar">getcchar</a></H3><PRE>
The <STRONG>getcchar</STRONG> function gets a wide-character string and rendition from a
- <STRONG>cchar_t</STRONG> argument. When <EM>wch</EM> is not a null pointer, the <STRONG>getcchar</STRONG>
- function does the following:
+ <STRONG>cchar_t</STRONG> argument. When <EM>wc</EM> is not a null pointer, the <STRONG>getcchar</STRONG> function
+ does the following:
- <STRONG>o</STRONG> Extracts information from a <STRONG>cchar_t</STRONG> value <EM>wcval</EM>
+ <STRONG>o</STRONG> Extracts information from a <STRONG>cchar_t</STRONG> value <EM>wch</EM>
<STRONG>o</STRONG> Stores the character attributes in the location pointed to by <EM>attrs</EM>
<STRONG>o</STRONG> Stores the color pair in the location pointed to by <EM>color</EM><STRONG>_</STRONG><EM>pair</EM>
- <STRONG>o</STRONG> Stores the wide-character string, characters referenced by <EM>wcval</EM>,
- into the array pointed to by <EM>wch</EM>.
+ <STRONG>o</STRONG> Stores the wide-character string, characters referenced by <EM>wch</EM>,
+ into the array pointed to by <EM>wc</EM>.
- When <EM>wch</EM> is a null pointer, the <STRONG>getcchar</STRONG> function does the following:
+ When <EM>wc</EM> is a null pointer, the <STRONG>getcchar</STRONG> function does the following:
- <STRONG>o</STRONG> Obtains the number of wide characters pointed to by <EM>wcval</EM>
+ <STRONG>o</STRONG> Obtains the number of wide characters pointed to by <EM>wch</EM>
<STRONG>o</STRONG> Does not change the data referenced by <EM>attrs</EM> or <EM>color</EM><STRONG>_</STRONG><EM>pair</EM>
</PRE><H3><a name="h3-setcchar">setcchar</a></H3><PRE>
- The <STRONG>setcchar</STRONG> function initializes the location pointed to by <EM>wcval</EM> by
+ The <STRONG>setcchar</STRONG> function initializes the location pointed to by <EM>wch</EM> by
using:
<STRONG>o</STRONG> The character attributes in <EM>attrs</EM>
<STRONG>o</STRONG> The color pair in <EM>color</EM><STRONG>_</STRONG><EM>pair</EM>
- <STRONG>o</STRONG> The wide-character string pointed to by <EM>wch</EM>. The string must be
+ <STRONG>o</STRONG> The wide-character string pointed to by <EM>wc</EM>. The string must be
L'\0' terminated, contain at most one spacing character, which must
be the first.
</PRE><H2><a name="h2-RETURN-VALUE">RETURN VALUE</a></H2><PRE>
- When <EM>wch</EM> is a null pointer, <STRONG>getcchar</STRONG> returns the number of wide
- characters referenced by <EM>wcval</EM>, including one for a trailing null.
+ When <EM>wc</EM> is a null pointer, <STRONG>getcchar</STRONG> returns the number of wide
+ characters referenced by <EM>wch</EM>, including one for a trailing null.
- When <EM>wch</EM> is not a null pointer, <STRONG>getcchar</STRONG> returns <STRONG>OK</STRONG> upon successful
+ When <EM>wc</EM> is not a null pointer, <STRONG>getcchar</STRONG> returns <STRONG>OK</STRONG> upon successful
completion, and <STRONG>ERR</STRONG> otherwise.
Upon successful completion, <STRONG>setcchar</STRONG> returns <STRONG>OK</STRONG>. Otherwise, it returns
</PRE><H2><a name="h2-NOTES">NOTES</a></H2><PRE>
- The <EM>wcval</EM> argument may be a value generated by a call to <STRONG>setcchar</STRONG> or by
- a function that has a <STRONG>cchar_t</STRONG> output argument. If <EM>wcval</EM> is constructed
- by any other means, the effect is unspecified.
+ The <EM>wch</EM> argument may be a value generated by a call to <STRONG>setcchar</STRONG> or by a
+ function that has a <STRONG>cchar_t</STRONG> output argument. If <EM>wch</EM> is constructed by
+ any other means, the effect is unspecified.
</PRE><H2><a name="h2-EXTENSIONS">EXTENSIONS</a></H2><PRE>
-ncurses 6.4 2024-04-13 <STRONG><A HREF="curs_getcchar.3x.html">curs_getcchar(3x)</A></STRONG>
+ncurses 6.4 2024-04-20 <STRONG><A HREF="curs_getcchar.3x.html">curs_getcchar(3x)</A></STRONG>
</PRE>
<div class="nav">
<ul>
* sale, use or other dealings in this Software without prior written *
* authorization. *
****************************************************************************
- * @Id: curs_getch.3x,v 1.85 2024/04/13 22:18:51 tom Exp @
+ * @Id: curs_getch.3x,v 1.87 2024/04/20 19:18: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>curs_getch 3x 2024-04-13 ncurses 6.4 Library calls</TITLE>
+<TITLE>curs_getch 3x 2024-04-20 ncurses 6.4 Library calls</TITLE>
<link rel="author" href="mailto:bug-ncurses@gnu.org">
</HEAD>
<BODY>
-<H1 class="no-header">curs_getch 3x 2024-04-13 ncurses 6.4 Library calls</H1>
+<H1 class="no-header">curs_getch 3x 2024-04-20 ncurses 6.4 Library calls</H1>
<PRE>
<STRONG><A HREF="curs_getch.3x.html">curs_getch(3x)</A></STRONG> Library calls <STRONG><A HREF="curs_getch.3x.html">curs_getch(3x)</A></STRONG>
<STRONG>int</STRONG> <STRONG>mvgetch(int</STRONG> <EM>y</EM><STRONG>,</STRONG> <STRONG>int</STRONG> <EM>x</EM><STRONG>);</STRONG>
<STRONG>int</STRONG> <STRONG>mvwgetch(WINDOW</STRONG> <STRONG>*</STRONG><EM>win</EM><STRONG>,</STRONG> <STRONG>int</STRONG> <EM>y</EM><STRONG>,</STRONG> <STRONG>int</STRONG> <EM>x</EM><STRONG>);</STRONG>
- <STRONG>int</STRONG> <STRONG>ungetch(int</STRONG> <EM>ch</EM><STRONG>);</STRONG>
+ <STRONG>int</STRONG> <STRONG>ungetch(int</STRONG> <EM>c</EM><STRONG>);</STRONG>
<EM>/*</EM> <EM>extension</EM> <EM>*/</EM>
- <STRONG>int</STRONG> <STRONG>has_key(int</STRONG> <EM>ch</EM><STRONG>);</STRONG>
+ <STRONG>int</STRONG> <STRONG>has_key(int</STRONG> <EM>c</EM><STRONG>);</STRONG>
</PRE><H2><a name="h2-DESCRIPTION">DESCRIPTION</a></H2><PRE>
elapses.
If <STRONG><A HREF="curs_inopts.3x.html">echo(3x)</A></STRONG> has been called, and the window is not a pad, <EM>curses</EM> writes
- the returned character <EM>ch</EM> to the window (at the cursor position) per
- the following rules.
+ the returned character <EM>c</EM> to the window (at the cursor position) per the
+ following rules.
- <STRONG>o</STRONG> If <EM>ch</EM> matches the terminal's erase character, the cursor moves
+ <STRONG>o</STRONG> If <EM>c</EM> matches the terminal's erase character, the cursor moves
leftward one position and the new position is erased as if
<STRONG><A HREF="curs_move.3x.html">wmove(3x)</A></STRONG> and then <STRONG><A HREF="curs_delch.3x.html">wdelch(3x)</A></STRONG> were called. When the window's
keypad mode is enabled (see below), <STRONG>KEY_LEFT</STRONG> and <STRONG>KEY_BACKSPACE</STRONG> are
handled the same way.
- <STRONG>o</STRONG> <EM>curses</EM> writes any other <EM>ch</EM> to the window, as with <STRONG><A HREF="curs_addch.3x.html">wechochar(3x)</A></STRONG>.
+ <STRONG>o</STRONG> <EM>curses</EM> writes any other <EM>c</EM> to the window, as with <STRONG><A HREF="curs_addch.3x.html">wechochar(3x)</A></STRONG>.
<STRONG>o</STRONG> If the window has been moved or modified since the last call to
<STRONG><A HREF="curs_refresh.3x.html">wrefresh(3x)</A></STRONG>, <EM>curses</EM> calls <STRONG>wrefresh</STRONG>.
- If <EM>ch</EM> is a carriage return and <STRONG><A HREF="curs_inopts.3x.html">nl(3x)</A></STRONG> has been called, <STRONG>wgetch</STRONG> returns
- the character code for newline (line feed) instead.
+ If <EM>c</EM> is a carriage return and <STRONG><A HREF="curs_inopts.3x.html">nl(3x)</A></STRONG> has been called, <STRONG>wgetch</STRONG> returns
+ the character code for line feed instead.
</PRE><H3><a name="h3-Keypad-Mode">Keypad Mode</a></H3><PRE>
</PRE><H3><a name="h3-Ungetting-Characters">Ungetting Characters</a></H3><PRE>
- <STRONG>ungetch</STRONG> places <EM>ch</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.
terminal.
<STRONG>o</STRONG> The naming convention may seem obscure, with some apparent
- misspellings (such as "RSUME" for "resume"); The names correspond
+ 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>KEY_SSUSPEND</STRONG> Shifted suspend key
<STRONG>KEY_SUNDO</STRONG> Shifted undo key
- The keypad is arranged as follows.
+ Many keyboards feature a nine-key directional pad.
+-----+------+-------+
| A1 | up | A3 |
+-----+------+-------+
| C1 | down | C3 |
+-----+------+-------+
- Two of these symbols do <EM>not</EM> correspond to a real key.
+ 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
- disabled) when <EM>ncurses</EM> detects the <STRONG>SIGWINCH</STRONG> signal; see <STRONG><A HREF="curs_initscr.3x.html">initscr(3x)</A></STRONG>
+ <STRONG>o</STRONG> <STRONG>wgetch</STRONG> returns <STRONG>KEY_RESIZE</STRONG>, even if the window's keypad mode is
+ disabled, when <EM>ncurses</EM> handles a <STRONG>SIGWINCH</STRONG> signal; 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
+ <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 with <STRONG>xterm(1)</STRONG>'s mouse prototocol), <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> takes a key code value from the above list, and
- returns a Boolean value indicating the terminal's recognition of it.
- 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>.
+ 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>.
</PRE><H2><a name="h2-RETURN-VALUE">RETURN VALUE</a></H2><PRE>
- <STRONG>wgetch</STRONG> returns <STRONG>ERR</STRONG> if
+ Except for <STRONG>has_key</STRONG>, these functions return <STRONG>OK</STRONG> on success and <STRONG>ERR</STRONG> on
+ failure.
- <STRONG>o</STRONG> the <EM>WINDOW</EM> pointer is <STRONG>NULL</STRONG>, or
+ Functions taking a <EM>WINDOW</EM> pointer argument fail if the pointer is <STRONG>NULL</STRONG>.
+
+ Functions prefixed with "mv" first perform cursor movement and fail if
+ the position (<EM>y</EM>, <EM>x</EM>) is outside the window boundaries.
+
+ <STRONG>wgetch</STRONG> also fails if
<STRONG>o</STRONG> its timeout expires without any data arriving, or
- <STRONG>o</STRONG> execution was interrupted by a signal, in which case <STRONG>errno</STRONG> is set
+ <STRONG>o</STRONG> execution was interrupted by a signal, in which case <STRONG>errno</STRONG> is set
to <STRONG>EINTR</STRONG>.
- Functions with a "mv" prefix first perform cursor movement using
- <STRONG><A HREF="curs_move.3x.html">wmove(3x)</A></STRONG> and fail if the position is outside the window, or (for "mvw"
- functions) if the <EM>win</EM> parameter is a null pointer.
-
- <STRONG>ungetch</STRONG> returns <STRONG>OK</STRONG> on success and <STRONG>ERR</STRONG> if there is no more room in the
- input queue.
+ <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>.
<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.
+ refers to the key on the numeric keypad and, like other function keys,
+ and 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 terminal's keypad Enter key.
+ <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.
Historically, the list of key code macros above was influenced by the
function-key-rich keyboard of the AT&T 7300 (also known variously as
the "3B1", "Safari 4", and "UNIX PC"), a 1985 machine. Today's
- computer keyboards are based on the IBM PC/AT keyboard and tend to have
+ computer keyboards are based 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>
Applications employing <EM>ncurses</EM> extensions should condition their use on
the visibility of the <STRONG>NCURSES_VERSION</STRONG> preprocessor macro.
- X/Open Curses, Issue 4, describes <STRONG>getch</STRONG>, <STRONG>wgetch</STRONG>, <STRONG>mvgetch</STRONG>, <STRONG>mvwgetch</STRONG>, and
+ X/Open Curses, Issue 4 describes <STRONG>getch</STRONG>, <STRONG>wgetch</STRONG>, <STRONG>mvgetch</STRONG>, <STRONG>mvwgetch</STRONG>, and
<STRONG>ungetch</STRONG>. It specifies no error conditions for them.
<STRONG>wgetch</STRONG> reads only single-byte characters.
The behavior of <STRONG>wgetch</STRONG> in the presence of signal handlers is
unspecified in the SVr4 documentation and 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 interrupts a <STRONG>read(2)</STRONG> call in
- progress or not, and also (in some implementations) whether an input
+ system's dispatch of a signal to a handler interrupting a <STRONG>read(2)</STRONG> call
+ in progress, and also (in some implementations) whether an input
timeout or non-blocking mode has been set. Programmers concerned about
portability should be prepared for either of two cases: (a) signal
receipt does not interrupt <STRONG>wgetch</STRONG>; or (b) signal receipt interrupts
-ncurses 6.4 2024-04-13 <STRONG><A HREF="curs_getch.3x.html">curs_getch(3x)</A></STRONG>
+ncurses 6.4 2024-04-20 <STRONG><A HREF="curs_getch.3x.html">curs_getch(3x)</A></STRONG>
</PRE>
<div class="nav">
<ul>
* sale, use or other dealings in this Software without prior written *
* authorization. *
****************************************************************************
- * @Id: curs_getstr.3x,v 1.56 2024/04/13 22:14:06 tom Exp @
+ * @Id: curs_getstr.3x,v 1.58 2024/04/20 19:18: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>curs_getstr 3x 2024-04-13 ncurses 6.4 Library calls</TITLE>
+<TITLE>curs_getstr 3x 2024-04-20 ncurses 6.4 Library calls</TITLE>
<link rel="author" href="mailto:bug-ncurses@gnu.org">
</HEAD>
<BODY>
-<H1 class="no-header">curs_getstr 3x 2024-04-13 ncurses 6.4 Library calls</H1>
+<H1 class="no-header">curs_getstr 3x 2024-04-20 ncurses 6.4 Library calls</H1>
<PRE>
<STRONG><A HREF="curs_getstr.3x.html">curs_getstr(3x)</A></STRONG> Library calls <STRONG><A HREF="curs_getstr.3x.html">curs_getstr(3x)</A></STRONG>
interrupts the function, it will return <STRONG>KEY_RESIZE</STRONG> rather than <STRONG>OK</STRONG> or
<STRONG>ERR</STRONG>.
- Functions with a "mv" prefix first perform a cursor movement using
- <STRONG>wmove</STRONG>, and return an error if the position is outside the window, or if
- the window pointer is null.
+ 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>
Any of these functions other than <STRONG>wgetnstr</STRONG> may be macros.
- Using <STRONG>getstr</STRONG>, <STRONG>mvgetstr</STRONG>, <STRONG>mvwgetstr</STRONG>, or <STRONG>wgetstr</STRONG> to read a line that
- overflows the array pointed to by <STRONG>str</STRONG> causes undefined results. The
- use of <STRONG>getnstr</STRONG>, <STRONG>mvgetnstr</STRONG>, <STRONG>mvwgetnstr</STRONG>, or <STRONG>wgetnstr</STRONG>, respectively, is
+ Using <STRONG>getstr</STRONG>, <STRONG>mvgetstr</STRONG>, <STRONG>mvwgetstr</STRONG>, or <STRONG>wgetstr</STRONG> to read a line that
+ overflows the array pointed to by <STRONG>str</STRONG> causes undefined results. The
+ use of <STRONG>getnstr</STRONG>, <STRONG>mvgetnstr</STRONG>, <STRONG>mvwgetnstr</STRONG>, or <STRONG>wgetnstr</STRONG>, respectively, is
recommended.
These functions are described in The Single Unix Specification, Version
2. No error conditions are defined.
- This implementation returns <STRONG>ERR</STRONG> if the window pointer is null, or if
+ This implementation returns <STRONG>ERR</STRONG> if the window pointer is null, or if
the lower-level <STRONG><A HREF="curs_getch.3x.html">wgetch(3x)</A></STRONG> call returns an <STRONG>ERR</STRONG>.
- SVr3 and early SVr4 curses implementations did not reject function
- keys; the SVr4.0 documentation claimed that "special keys" (such as
- function keys, "home" key, "clear" key, <EM>etc</EM>.) are "interpreted",
- without giving details. It lied. In fact, the "character" value
+ SVr3 and early SVr4 curses implementations did not reject function
+ keys; the SVr4.0 documentation claimed that "special keys" (such as
+ function keys, "home" key, "clear" key, <EM>etc</EM>.) are "interpreted",
+ without giving details. It lied. In fact, the "character" value
appended to the string by those implementations was predictable but not
- useful (being, in fact, the low-order eight bits of the key's KEY_
+ useful (being, in fact, the low-order eight bits of the key's KEY_
value).
- The functions <STRONG>getnstr</STRONG>, <STRONG>mvgetnstr</STRONG>, and <STRONG>mvwgetnstr</STRONG> were present but not
+ The functions <STRONG>getnstr</STRONG>, <STRONG>mvgetnstr</STRONG>, and <STRONG>mvwgetnstr</STRONG> were present but not
documented in SVr4.
X/Open Curses, Issue 5 (2007) stated that these functions "read at most
- <EM>n</EM> bytes" but did not state whether the terminating NUL is counted in
- that limit. X/Open Curses, Issue 7 (2009) changed that to say they
+ <EM>n</EM> bytes" but did not state whether the terminating NUL is counted in
+ that limit. X/Open Curses, Issue 7 (2009) changed that to say they
"read at most <EM>n</EM>-1 bytes" to allow for the terminating NUL. As of 2018,
some implementations count it, some do not:
- <STRONG>o</STRONG> <EM>ncurses</EM> 6.1 and PDCurses do not count the NUL in the given limit,
+ <STRONG>o</STRONG> <EM>ncurses</EM> 6.1 and PDCurses do not count the NUL in the given limit,
while
<STRONG>o</STRONG> Solaris SVr4 and NetBSD curses count the NUL as part of the limit.
- <STRONG>o</STRONG> Solaris xcurses provides both: its wide-character <STRONG>wget_nstr</STRONG>
- reserves a NUL, but its <STRONG>wgetnstr</STRONG> does not count the NUL
+ <STRONG>o</STRONG> Solaris xcurses provides both: its wide-character <STRONG>wget_nstr</STRONG>
+ reserves a NUL, but its <STRONG>wgetnstr</STRONG> does not count the NUL
consistently.
In SVr4 curses, a negative value of <EM>n</EM> tells <STRONG>wgetnstr</STRONG> to assume that the
- caller's buffer is large enough to hold the result, i.e., to act like
- <STRONG>wgetstr</STRONG>. X/Open Curses does not mention this (or anything related to
- negative or zero values of <EM>n</EM>), however most implementations use the
+ caller's buffer is large enough to hold the result, i.e., to act like
+ <STRONG>wgetstr</STRONG>. X/Open Curses does not mention this (or anything related to
+ negative or zero values of <EM>n</EM>), however most implementations use the
feature, with different limits:
- <STRONG>o</STRONG> Solaris SVr4 curses and PDCurses limit the result to 255 bytes.
+ <STRONG>o</STRONG> Solaris SVr4 curses and PDCurses limit the result to 255 bytes.
Other Unix systems than Solaris are likely to use the same limit.
<STRONG>o</STRONG> Solaris xcurses limits the result to <STRONG>LINE_MAX</STRONG> bytes.
- <STRONG>o</STRONG> NetBSD 7 assumes no particular limit for the result from <STRONG>wgetstr</STRONG>.
- However, it limits the <STRONG>wgetnstr</STRONG> parameter <EM>n</EM> to ensure that it is
+ <STRONG>o</STRONG> NetBSD 7 assumes no particular limit for the result from <STRONG>wgetstr</STRONG>.
+ However, it limits the <STRONG>wgetnstr</STRONG> parameter <EM>n</EM> to ensure that it is
greater than zero.
- A comment in NetBSD's source code states that this is specified in
+ A comment in NetBSD's source code states that this is specified in
SUSv2.
- <STRONG>o</STRONG> <EM>ncurses</EM> (before 6.2) assumes no particular limit for the result
- from <STRONG>wgetstr</STRONG>, and treats the <EM>n</EM> parameter of <STRONG>wgetnstr</STRONG> like SVr4
+ <STRONG>o</STRONG> <EM>ncurses</EM> (before 6.2) assumes no particular limit for the result
+ from <STRONG>wgetstr</STRONG>, and treats the <EM>n</EM> parameter of <STRONG>wgetnstr</STRONG> like SVr4
curses.
- <STRONG>o</STRONG> <EM>ncurses</EM> 6.2 uses <STRONG>LINE_MAX</STRONG>, or a larger (system-dependent) value
- which the <STRONG>sysconf</STRONG> function may provide. If neither <STRONG>LINE_MAX</STRONG> or
- <STRONG>sysconf</STRONG> is available, <EM>ncurses</EM> uses the POSIX value for <STRONG>LINE_MAX</STRONG> (a
- 2048 byte limit). In either case, it reserves a byte for the
+ <STRONG>o</STRONG> <EM>ncurses</EM> 6.2 uses <STRONG>LINE_MAX</STRONG>, or a larger (system-dependent) value
+ which the <STRONG>sysconf</STRONG> function may provide. If neither <STRONG>LINE_MAX</STRONG> or
+ <STRONG>sysconf</STRONG> is available, <EM>ncurses</EM> uses the POSIX value for <STRONG>LINE_MAX</STRONG> (a
+ 2048 byte limit). In either case, it reserves a byte for the
terminating NUL.
- Although <STRONG>getnstr</STRONG> is equivalent to a series of calls to <STRONG>getch</STRONG>, it also
- makes changes to the curses modes to allow simple editing of the input
+ Although <STRONG>getnstr</STRONG> is equivalent to a series of calls to <STRONG>getch</STRONG>, it also
+ makes changes to the curses modes to allow simple editing of the input
buffer:
- <STRONG>o</STRONG> <STRONG>getnstr</STRONG> saves the current value of the <STRONG>nl</STRONG>, <STRONG>echo</STRONG>, <STRONG>raw</STRONG> and <STRONG>cbreak</STRONG>
+ <STRONG>o</STRONG> <STRONG>getnstr</STRONG> saves the current value of the <STRONG>nl</STRONG>, <STRONG>echo</STRONG>, <STRONG>raw</STRONG> and <STRONG>cbreak</STRONG>
modes, and sets <STRONG>nl</STRONG>, <STRONG>noecho</STRONG>, <STRONG>noraw</STRONG>, and <STRONG>cbreak</STRONG>.
- <STRONG>getnstr</STRONG> handles the echoing of characters, rather than relying on
+ <STRONG>getnstr</STRONG> handles the echoing of characters, rather than relying on
the caller to set an appropriate mode.
- <STRONG>o</STRONG> It also obtains the <EM>erase</EM> and <EM>kill</EM> characters from <STRONG>erasechar</STRONG> and
+ <STRONG>o</STRONG> It also obtains the <EM>erase</EM> and <EM>kill</EM> characters from <STRONG>erasechar</STRONG> and
<STRONG>killchar</STRONG>, respectively.
<STRONG>o</STRONG> On return, <STRONG>getnstr</STRONG> restores the modes to their previous values.
Other implementations differ in their treatment of special characters:
- <STRONG>o</STRONG> While they may set the <EM>echo</EM> mode, other implementations do not
- modify the <EM>raw</EM> mode, They may take the <EM>cbreak</EM> mode set by the
- caller into account when deciding whether to handle echoing within
+ <STRONG>o</STRONG> While they may set the <EM>echo</EM> mode, other implementations do not
+ modify the <EM>raw</EM> mode, They may take the <EM>cbreak</EM> mode set by the
+ caller into account when deciding whether to handle echoing within
<STRONG>getnstr</STRONG> or as a side-effect of the <STRONG>getch</STRONG> calls.
<STRONG>o</STRONG> The original <EM>ncurses</EM> (as <EM>pcurses</EM> in 1986) set <STRONG>noraw</STRONG> and <STRONG>cbreak</STRONG> when
- accepting input for <STRONG>getnstr</STRONG>. That may have been done to make
+ accepting input for <STRONG>getnstr</STRONG>. That may have been done to make
function- and cursor-keys work; it is not necessary with <EM>ncurses</EM>.
- Since 1995, <EM>ncurses</EM> has provided signal handlers for INTR and QUIT
- (e.g., <STRONG>^C</STRONG> or <STRONG>^\</STRONG>). With the <STRONG>noraw</STRONG> and <STRONG>cbreak</STRONG> settings, those may
- catch a signal and stop the program, where other implementations
+ Since 1995, <EM>ncurses</EM> has provided signal handlers for INTR and QUIT
+ (e.g., <STRONG>^C</STRONG> or <STRONG>^\</STRONG>). With the <STRONG>noraw</STRONG> and <STRONG>cbreak</STRONG> settings, those may
+ catch a signal and stop the program, where other implementations
allow one to enter those characters in the buffer.
<STRONG>o</STRONG> Starting in 2021 (<EM>ncurses</EM> 6.3), <STRONG>getnstr</STRONG> sets <STRONG>raw</STRONG>, rather than <STRONG>noraw</STRONG>
- and <STRONG>cbreak</STRONG> for better compatibility with SVr4-curses, e.g.,
+ and <STRONG>cbreak</STRONG> for better compatibility with SVr4-curses, e.g.,
allowing one to enter a <STRONG>^C</STRONG> into the buffer.
-ncurses 6.4 2024-04-13 <STRONG><A HREF="curs_getstr.3x.html">curs_getstr(3x)</A></STRONG>
+ncurses 6.4 2024-04-20 <STRONG><A HREF="curs_getstr.3x.html">curs_getstr(3x)</A></STRONG>
</PRE>
<div class="nav">
<ul>
* sale, use or other dealings in this Software without prior written *
* authorization. *
****************************************************************************
- * @Id: curs_getyx.3x,v 1.42 2024/03/16 15:35:01 tom Exp @
+ * @Id: curs_getyx.3x,v 1.44 2024/04/20 21:20:07 tom Exp @
-->
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN">
<HTML>
<HEAD>
<meta http-equiv="Content-Type" content="text/html; charset=us-ascii">
<meta name="generator" content="Manpage converted by man2html - see https://invisible-island.net/scripts/readme.html#others_scripts">
-<TITLE>curs_getyx 3x 2024-03-16 ncurses 6.4 Library calls</TITLE>
+<TITLE>curs_getyx 3x 2024-04-20 ncurses 6.4 Library calls</TITLE>
<link rel="author" href="mailto:bug-ncurses@gnu.org">
</HEAD>
<BODY>
-<H1 class="no-header">curs_getyx 3x 2024-03-16 ncurses 6.4 Library calls</H1>
+<H1 class="no-header">curs_getyx 3x 2024-04-20 ncurses 6.4 Library calls</H1>
<PRE>
<STRONG><A HREF="curs_getyx.3x.html">curs_getyx(3x)</A></STRONG> Library calls <STRONG><A HREF="curs_getyx.3x.html">curs_getyx(3x)</A></STRONG>
</PRE><H2><a name="h2-PORTABILITY">PORTABILITY</a></H2><PRE>
- The <STRONG>getyx</STRONG>, <STRONG>getparyx</STRONG>, <STRONG>getbegyx</STRONG> and <STRONG>getmaxyx</STRONG> macros are described in the
- XSI Curses standard, Issue 4.
+ The <STRONG>getyx</STRONG>, <STRONG>getparyx</STRONG>, <STRONG>getbegyx</STRONG> and <STRONG>getmaxyx</STRONG> macros are described in
+ X/Open Curses, Issue 4.
This implementation also provides functions <STRONG>getbegx</STRONG>, <STRONG>getbegy</STRONG>, <STRONG>getcurx</STRONG>,
<STRONG>getcury</STRONG>, <STRONG>getmaxx</STRONG>, <STRONG>getmaxy</STRONG>, <STRONG>getparx</STRONG> and <STRONG>getpary</STRONG> for compatibility with
-ncurses 6.4 2024-03-16 <STRONG><A HREF="curs_getyx.3x.html">curs_getyx(3x)</A></STRONG>
+ncurses 6.4 2024-04-20 <STRONG><A HREF="curs_getyx.3x.html">curs_getyx(3x)</A></STRONG>
</PRE>
<div class="nav">
<ul>
* sale, use or other dealings in this Software without prior written *
* authorization. *
****************************************************************************
- * @Id: curs_in_wch.3x,v 1.28 2024/04/13 22:14:06 tom Exp @
+ * @Id: curs_in_wch.3x,v 1.31 2024/04/20 21:20:07 tom Exp @
-->
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN">
<HTML>
<HEAD>
<meta http-equiv="Content-Type" content="text/html; charset=us-ascii">
<meta name="generator" content="Manpage converted by man2html - see https://invisible-island.net/scripts/readme.html#others_scripts">
-<TITLE>curs_in_wch 3x 2024-04-13 ncurses 6.4 Library calls</TITLE>
+<TITLE>curs_in_wch 3x 2024-04-20 ncurses 6.4 Library calls</TITLE>
<link rel="author" href="mailto:bug-ncurses@gnu.org">
</HEAD>
<BODY>
-<H1 class="no-header">curs_in_wch 3x 2024-04-13 ncurses 6.4 Library calls</H1>
+<H1 class="no-header">curs_in_wch 3x 2024-04-20 ncurses 6.4 Library calls</H1>
<PRE>
<STRONG><A HREF="curs_in_wch.3x.html">curs_in_wch(3x)</A></STRONG> Library calls <STRONG><A HREF="curs_in_wch.3x.html">curs_in_wch(3x)</A></STRONG>
</PRE><H2><a name="h2-SYNOPSIS">SYNOPSIS</a></H2><PRE>
<STRONG>#include</STRONG> <STRONG><curses.h></STRONG>
- <STRONG>int</STRONG> <STRONG>in_wch(cchar_t</STRONG> <STRONG>*</STRONG><EM>wcval</EM><STRONG>);</STRONG>
- <STRONG>int</STRONG> <STRONG>win_wch(WINDOW</STRONG> <STRONG>*</STRONG><EM>win</EM><STRONG>,</STRONG> <STRONG>cchar_t</STRONG> <STRONG>*</STRONG><EM>wcval</EM><STRONG>);</STRONG>
+ <STRONG>int</STRONG> <STRONG>in_wch(cchar_t</STRONG> <STRONG>*</STRONG><EM>wch</EM><STRONG>);</STRONG>
+ <STRONG>int</STRONG> <STRONG>win_wch(WINDOW</STRONG> <STRONG>*</STRONG><EM>win</EM><STRONG>,</STRONG> <STRONG>cchar_t</STRONG> <STRONG>*</STRONG><EM>wch</EM><STRONG>);</STRONG>
- <STRONG>int</STRONG> <STRONG>mvin_wch(int</STRONG> <EM>y</EM><STRONG>,</STRONG> <STRONG>int</STRONG> <EM>x</EM><STRONG>,</STRONG> <STRONG>cchar_t</STRONG> <STRONG>*</STRONG><EM>wcval</EM><STRONG>);</STRONG>
- <STRONG>int</STRONG> <STRONG>mvwin_wch(WINDOW</STRONG> <STRONG>*</STRONG><EM>win</EM><STRONG>,</STRONG> <STRONG>int</STRONG> <EM>y</EM><STRONG>,</STRONG> <STRONG>int</STRONG> <EM>x</EM><STRONG>,</STRONG> <STRONG>cchar_t</STRONG> <STRONG>*</STRONG><EM>wcval</EM><STRONG>);</STRONG>
+ <STRONG>int</STRONG> <STRONG>mvin_wch(int</STRONG> <EM>y</EM><STRONG>,</STRONG> <STRONG>int</STRONG> <EM>x</EM><STRONG>,</STRONG> <STRONG>cchar_t</STRONG> <STRONG>*</STRONG><EM>wch</EM><STRONG>);</STRONG>
+ <STRONG>int</STRONG> <STRONG>mvwin_wch(WINDOW</STRONG> <STRONG>*</STRONG><EM>win</EM><STRONG>,</STRONG> <STRONG>int</STRONG> <EM>y</EM><STRONG>,</STRONG> <STRONG>int</STRONG> <EM>x</EM><STRONG>,</STRONG> <STRONG>cchar_t</STRONG> <STRONG>*</STRONG><EM>wch</EM><STRONG>);</STRONG>
</PRE><H2><a name="h2-DESCRIPTION">DESCRIPTION</a></H2><PRE>
These functions extract the complex character and rendition from the
current position in the named window into the <STRONG>cchar_t</STRONG> object referenced
- by wcval.
+ by wch.
</PRE><H2><a name="h2-RETURN-VALUE">RETURN VALUE</a></H2><PRE>
- No errors are defined in the XSI Curses standard. This implementation
- checks for null pointers, returns <STRONG>ERR</STRONG> in that case. Also, the <EM>mv</EM>
- routines check for error moving the cursor, returning <STRONG>ERR</STRONG> in that case.
- Otherwise they return <STRONG>OK</STRONG>.
+ No errors are defined in X/Open Curses. This implementation checks for
+ null pointers, returns <STRONG>ERR</STRONG> in that case. Also, the <EM>mv</EM> routines check
+ for error moving the cursor, returning <STRONG>ERR</STRONG> in that case. Otherwise
+ they return <STRONG>OK</STRONG>.
- Functions with a "mv" prefix first perform a cursor movement using
- <STRONG>wmove</STRONG>, and return an error if the position is outside the window, or if
- the window pointer is null.
+ 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>
</PRE><H2><a name="h2-PORTABILITY">PORTABILITY</a></H2><PRE>
- These functions are described in the XSI Curses standard, Issue 4.
+ These functions are described in X/Open Curses, Issue 4.
</PRE><H2><a name="h2-SEE-ALSO">SEE ALSO</a></H2><PRE>
- <STRONG><A HREF="curs_inch.3x.html">curs_inch(3x)</A></STRONG> describes comparable functions of the <EM>ncurses</EM> library in
+ <STRONG><A HREF="curs_inch.3x.html">curs_inch(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_inwstr.3x.html">curs_inwstr(3x)</A></STRONG>
-ncurses 6.4 2024-04-13 <STRONG><A HREF="curs_in_wch.3x.html">curs_in_wch(3x)</A></STRONG>
+ncurses 6.4 2024-04-20 <STRONG><A HREF="curs_in_wch.3x.html">curs_in_wch(3x)</A></STRONG>
</PRE>
<div class="nav">
<ul>
* sale, use or other dealings in this Software without prior written *
* authorization. *
****************************************************************************
- * @Id: curs_in_wchstr.3x,v 1.36 2024/04/13 22:21:16 tom Exp @
+ * @Id: curs_in_wchstr.3x,v 1.39 2024/04/20 21:24:19 tom Exp @
-->
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN">
<HTML>
<HEAD>
<meta http-equiv="Content-Type" content="text/html; charset=us-ascii">
<meta name="generator" content="Manpage converted by man2html - see https://invisible-island.net/scripts/readme.html#others_scripts">
-<TITLE>curs_in_wchstr 3x 2024-04-13 ncurses 6.4 Library calls</TITLE>
+<TITLE>curs_in_wchstr 3x 2024-04-20 ncurses 6.4 Library calls</TITLE>
<link rel="author" href="mailto:bug-ncurses@gnu.org">
</HEAD>
<BODY>
-<H1 class="no-header">curs_in_wchstr 3x 2024-04-13 ncurses 6.4 Library calls</H1>
+<H1 class="no-header">curs_in_wchstr 3x 2024-04-20 ncurses 6.4 Library calls</H1>
<PRE>
<STRONG><A HREF="curs_in_wchstr.3x.html">curs_in_wchstr(3x)</A></STRONG> Library calls <STRONG><A HREF="curs_in_wchstr.3x.html">curs_in_wchstr(3x)</A></STRONG>
<STRONG>o</STRONG> if the <EM>wchstr</EM> parameter is null.
- Functions with a "mv" prefix first perform a cursor movement using
- <STRONG>wmove</STRONG>, and return an error if the position is outside the window, or if
- the window pointer is null.
+ 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 routines except <STRONG>win_wchnstr</STRONG> may be macros.
- Reading a line that overflows the array pointed to by <EM>wchstr</EM> with
- <STRONG>in_wchstr</STRONG>, <STRONG>mvin_wchstr</STRONG>, <STRONG>mvwin_wchstr</STRONG> or <STRONG>win_wchstr</STRONG> causes undefined
- results. Therefore, the use of <STRONG>in_wchnstr</STRONG>, <STRONG>mvin_wchnstr</STRONG>,
+ Reading a line that overflows the array pointed to by <EM>wchstr</EM> with
+ <STRONG>in_wchstr</STRONG>, <STRONG>mvin_wchstr</STRONG>, <STRONG>mvwin_wchstr</STRONG> or <STRONG>win_wchstr</STRONG> causes undefined
+ results. Therefore, the use of <STRONG>in_wchnstr</STRONG>, <STRONG>mvin_wchnstr</STRONG>,
<STRONG>mvwin_wchnstr</STRONG>, or <STRONG>win_wchnstr</STRONG> is recommended.
</PRE><H2><a name="h2-PORTABILITY">PORTABILITY</a></H2><PRE>
- The XSI Curses defines no error conditions. This implementation checks
+ X/Open Curses defines no error conditions. This implementation checks
for null pointers, returning <STRONG>ERR</STRONG> in that case.
</PRE><H2><a name="h2-SEE-ALSO">SEE ALSO</a></H2><PRE>
- <STRONG><A HREF="curs_inchstr.3x.html">curs_inchstr(3x)</A></STRONG> describes comparable functions of the <EM>ncurses</EM> library
+ <STRONG><A HREF="curs_inchstr.3x.html">curs_inchstr(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_inwstr.3x.html">curs_inwstr(3x)</A></STRONG>, <STRONG><A HREF="curs_in_wch.3x.html">curs_in_wch(3x)</A></STRONG>
-ncurses 6.4 2024-04-13 <STRONG><A HREF="curs_in_wchstr.3x.html">curs_in_wchstr(3x)</A></STRONG>
+ncurses 6.4 2024-04-20 <STRONG><A HREF="curs_in_wchstr.3x.html">curs_in_wchstr(3x)</A></STRONG>
</PRE>
<div class="nav">
<ul>
* sale, use or other dealings in this Software without prior written *
* authorization. *
****************************************************************************
- * @Id: curs_inch.3x,v 1.48 2024/04/13 22:14:06 tom Exp @
+ * @Id: curs_inch.3x,v 1.51 2024/04/20 21:20:07 tom Exp @
-->
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN">
<HTML>
<HEAD>
<meta http-equiv="Content-Type" content="text/html; charset=us-ascii">
<meta name="generator" content="Manpage converted by man2html - see https://invisible-island.net/scripts/readme.html#others_scripts">
-<TITLE>curs_inch 3x 2024-04-13 ncurses 6.4 Library calls</TITLE>
+<TITLE>curs_inch 3x 2024-04-20 ncurses 6.4 Library calls</TITLE>
<link rel="author" href="mailto:bug-ncurses@gnu.org">
</HEAD>
<BODY>
-<H1 class="no-header">curs_inch 3x 2024-04-13 ncurses 6.4 Library calls</H1>
+<H1 class="no-header">curs_inch 3x 2024-04-20 ncurses 6.4 Library calls</H1>
<PRE>
<STRONG><A HREF="curs_inch.3x.html">curs_inch(3x)</A></STRONG> Library calls <STRONG><A HREF="curs_inch.3x.html">curs_inch(3x)</A></STRONG>
</PRE><H2><a name="h2-RETURN-VALUE">RETURN VALUE</a></H2><PRE>
- Functions with a "mv" prefix first perform a cursor movement using
- <STRONG>wmove</STRONG>, and return an error if the position is outside the window, or if
- the window pointer is null.
+ Functions prefixed with "mv" first perform cursor movement and fail if
+ the position (<EM>y</EM>, <EM>x</EM>) is outside the window boundaries.
- The <STRONG>winch</STRONG> function does not return an error if the window contains
- characters larger than 8-bits (255). Only the low-order 8 bits of the
+ The <STRONG>winch</STRONG> function does not return an error if the window contains
+ characters larger than 8-bits (255). Only the low-order 8 bits of the
character are used by <STRONG>winch</STRONG>.
</PRE><H2><a name="h2-PORTABILITY">PORTABILITY</a></H2><PRE>
- These functions are described in the XSI Curses standard, Issue 4.
+ These functions are described in X/Open Curses, Issue 4.
- Very old systems (before standardization) provide a different function
+ Very old systems (before standardization) provide a different function
with the same name:
- <STRONG>o</STRONG> The <STRONG>winch</STRONG> function was part of the original BSD curses library,
- which stored a 7-bit character combined with the <EM>standout</EM>
+ <STRONG>o</STRONG> The <STRONG>winch</STRONG> function was part of the original BSD curses library,
+ which stored a 7-bit character combined with the <EM>standout</EM>
attribute.
- In BSD curses, <STRONG>winch</STRONG> returned only the character (as an integer)
+ In BSD curses, <STRONG>winch</STRONG> returned only the character (as an integer)
with the <EM>standout</EM> attribute removed.
- <STRONG>o</STRONG> System V curses added support for several video attributes which
+ <STRONG>o</STRONG> System V curses added support for several video attributes which
could be combined with characters in the window.
Reflecting this improvement, the function was altered to return the
character combined with all video attributes in a <STRONG>chtype</STRONG> value.
X/Open Curses does not specify the size and layout of attributes, color
- and character values in <STRONG>chtype</STRONG>; it is implementation-dependent. This
- implementation uses 8 bits for character values. An application using
- more bits, e.g., a Unicode value, should use the wide-character
+ and character values in <STRONG>chtype</STRONG>; it is implementation-dependent. This
+ implementation uses 8 bits for character values. An application using
+ more bits, e.g., a Unicode value, should use the wide-character
equivalents to these functions.
</PRE><H2><a name="h2-SEE-ALSO">SEE ALSO</a></H2><PRE>
- <STRONG><A HREF="curs_in_wch.3x.html">curs_in_wch(3x)</A></STRONG> describes comparable functions of the <EM>ncurses</EM> library
+ <STRONG><A HREF="curs_in_wch.3x.html">curs_in_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_instr.3x.html">curs_instr(3x)</A></STRONG>
-ncurses 6.4 2024-04-13 <STRONG><A HREF="curs_inch.3x.html">curs_inch(3x)</A></STRONG>
+ncurses 6.4 2024-04-20 <STRONG><A HREF="curs_inch.3x.html">curs_inch(3x)</A></STRONG>
</PRE>
<div class="nav">
<ul>
* sale, use or other dealings in this Software without prior written *
* authorization. *
****************************************************************************
- * @Id: curs_inchstr.3x,v 1.42 2024/03/16 15:35:01 tom Exp @
+ * @Id: curs_inchstr.3x,v 1.45 2024/04/20 21:20:07 tom Exp @
-->
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN">
<HTML>
<HEAD>
<meta http-equiv="Content-Type" content="text/html; charset=us-ascii">
<meta name="generator" content="Manpage converted by man2html - see https://invisible-island.net/scripts/readme.html#others_scripts">
-<TITLE>curs_inchstr 3x 2024-03-16 ncurses 6.4 Library calls</TITLE>
+<TITLE>curs_inchstr 3x 2024-04-20 ncurses 6.4 Library calls</TITLE>
<link rel="author" href="mailto:bug-ncurses@gnu.org">
</HEAD>
<BODY>
-<H1 class="no-header">curs_inchstr 3x 2024-03-16 ncurses 6.4 Library calls</H1>
+<H1 class="no-header">curs_inchstr 3x 2024-04-20 ncurses 6.4 Library calls</H1>
<PRE>
<STRONG><A HREF="curs_inchstr.3x.html">curs_inchstr(3x)</A></STRONG> Library calls <STRONG><A HREF="curs_inchstr.3x.html">curs_inchstr(3x)</A></STRONG>
<STRONG>o</STRONG> if the <EM>chstr</EM> parameter is null.
- Functions with a "mv" prefix first perform a cursor movement using
- <STRONG>wmove</STRONG>, and return an error if the position is outside the window, or if
- the window pointer is null.
+ 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>
does not document whether a length limit argument includes any trailing
0; and it does not document the meaning of the return value.
- Reading a line that overflows the array pointed to by <EM>chstr</EM> with
- <STRONG>inchstr</STRONG>, <STRONG>mvinchstr</STRONG>, <STRONG>mvwinchstr</STRONG> or <STRONG>winchstr</STRONG> causes undefined results.
- Therefore, the use of <STRONG>inchnstr</STRONG>, <STRONG>mvinchnstr</STRONG>, <STRONG>mvwinchnstr</STRONG>, or <STRONG>winchnstr</STRONG>
+ Reading a line that overflows the array pointed to by <EM>chstr</EM> with
+ <STRONG>inchstr</STRONG>, <STRONG>mvinchstr</STRONG>, <STRONG>mvwinchstr</STRONG> or <STRONG>winchstr</STRONG> causes undefined results.
+ Therefore, the use of <STRONG>inchnstr</STRONG>, <STRONG>mvinchnstr</STRONG>, <STRONG>mvwinchnstr</STRONG>, or <STRONG>winchnstr</STRONG>
is recommended.
</PRE><H2><a name="h2-PORTABILITY">PORTABILITY</a></H2><PRE>
- These functions are described in the XSI Curses standard, Issue 4. It
- is no more specific than the SVr4 documentation on the trailing 0. It
- does specify that the successful return of the functions is <STRONG>OK</STRONG>.
+ These functions are described in X/Open Curses, Issue 4. It is no more
+ specific than the SVr4 documentation on the trailing 0. It does
+ specify that the successful return of the functions is <STRONG>OK</STRONG>.
</PRE><H2><a name="h2-SEE-ALSO">SEE ALSO</a></H2><PRE>
-ncurses 6.4 2024-03-16 <STRONG><A HREF="curs_inchstr.3x.html">curs_inchstr(3x)</A></STRONG>
+ncurses 6.4 2024-04-20 <STRONG><A HREF="curs_inchstr.3x.html">curs_inchstr(3x)</A></STRONG>
</PRE>
<div class="nav">
<ul>
* sale, use or other dealings in this Software without prior written *
* authorization. *
****************************************************************************
- * @Id: curs_initscr.3x,v 1.66 2024/04/13 22:18:11 tom Exp @
+ * @Id: curs_initscr.3x,v 1.69 2024/04/20 21:24:19 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 2024-04-13 ncurses 6.4 Library calls</TITLE>
+<TITLE>curs_initscr 3x 2024-04-20 ncurses 6.4 Library calls</TITLE>
<link rel="author" href="mailto:bug-ncurses@gnu.org">
</HEAD>
<BODY>
-<H1 class="no-header">curs_initscr 3x 2024-04-13 ncurses 6.4 Library calls</H1>
+<H1 class="no-header">curs_initscr 3x 2024-04-20 ncurses 6.4 Library calls</H1>
<PRE>
<STRONG><A HREF="curs_initscr.3x.html">curs_initscr(3x)</A></STRONG> Library calls <STRONG><A HREF="curs_initscr.3x.html">curs_initscr(3x)</A></STRONG>
</PRE><H2><a name="h2-PORTABILITY">PORTABILITY</a></H2><PRE>
- These functions were described in the XSI Curses standard, Issue 4. As
- of 2015, the current document is X/Open Curses, Issue 7.
+ These functions were described in X/Open Curses, Issue 4. As of 2015,
+ the current document is X/Open Curses, Issue 7.
</PRE><H3><a name="h3-Differences">Differences</a></H3><PRE>
Old versions of curses, e.g., BSD 4.4, would return a null pointer from
<STRONG>initscr</STRONG> when an error is detected, rather than exiting. It is safe but
- redundant to check the return value of <STRONG>initscr</STRONG> in XSI Curses.
+ redundant to check the return value of <STRONG>initscr</STRONG> in X/Open Curses.
Calling <STRONG>endwin</STRONG> does not dispose of the memory allocated in <STRONG>initscr</STRONG> or
<STRONG>newterm</STRONG>. Deleting a <EM>SCREEN</EM> provides a way to do this:
-ncurses 6.4 2024-04-13 <STRONG><A HREF="curs_initscr.3x.html">curs_initscr(3x)</A></STRONG>
+ncurses 6.4 2024-04-20 <STRONG><A HREF="curs_initscr.3x.html">curs_initscr(3x)</A></STRONG>
</PRE>
<div class="nav">
<ul>
* sale, use or other dealings in this Software without prior written *
* authorization. *
****************************************************************************
- * @Id: curs_ins_wch.3x,v 1.28 2024/03/16 15:35:01 tom Exp @
+ * @Id: curs_ins_wch.3x,v 1.30 2024/04/20 19:18: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>curs_ins_wch 3x 2024-03-16 ncurses 6.4 Library calls</TITLE>
+<TITLE>curs_ins_wch 3x 2024-04-20 ncurses 6.4 Library calls</TITLE>
<link rel="author" href="mailto:bug-ncurses@gnu.org">
</HEAD>
<BODY>
-<H1 class="no-header">curs_ins_wch 3x 2024-03-16 ncurses 6.4 Library calls</H1>
+<H1 class="no-header">curs_ins_wch 3x 2024-04-20 ncurses 6.4 Library calls</H1>
<PRE>
<STRONG><A HREF="curs_ins_wch.3x.html">curs_ins_wch(3x)</A></STRONG> Library calls <STRONG><A HREF="curs_ins_wch.3x.html">curs_ins_wch(3x)</A></STRONG>
Functions taking a <EM>WINDOW</EM> pointer argument fail if the pointer is <STRONG>NULL</STRONG>.
- Functions prefixed with "mv" first perform cursor movement using <STRONG>wmove</STRONG>
- and fail if the position (<EM>y</EM>, <EM>x</EM>) is outside the window.
+ 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>
</PRE><H2><a name="h2-PORTABILITY">PORTABILITY</a></H2><PRE>
- X/Open Curses, Issue 4, describes these functions.
+ X/Open Curses, Issue 4 describes these functions.
SVr4 describes successful return values only as "an integer value other
than <STRONG>ERR</STRONG>".
-ncurses 6.4 2024-03-16 <STRONG><A HREF="curs_ins_wch.3x.html">curs_ins_wch(3x)</A></STRONG>
+ncurses 6.4 2024-04-20 <STRONG><A HREF="curs_ins_wch.3x.html">curs_ins_wch(3x)</A></STRONG>
</PRE>
<div class="nav">
<ul>
* sale, use or other dealings in this Software without prior written *
* authorization. *
****************************************************************************
- * @Id: curs_ins_wstr.3x,v 1.34 2024/04/13 22:14:06 tom Exp @
+ * @Id: curs_ins_wstr.3x,v 1.38 2024/04/20 21:23:08 tom Exp @
-->
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN">
<HTML>
<HEAD>
<meta http-equiv="Content-Type" content="text/html; charset=us-ascii">
<meta name="generator" content="Manpage converted by man2html - see https://invisible-island.net/scripts/readme.html#others_scripts">
-<TITLE>curs_ins_wstr 3x 2024-04-13 ncurses 6.4 Library calls</TITLE>
+<TITLE>curs_ins_wstr 3x 2024-04-20 ncurses 6.4 Library calls</TITLE>
<link rel="author" href="mailto:bug-ncurses@gnu.org">
</HEAD>
<BODY>
-<H1 class="no-header">curs_ins_wstr 3x 2024-04-13 ncurses 6.4 Library calls</H1>
+<H1 class="no-header">curs_ins_wstr 3x 2024-04-20 ncurses 6.4 Library calls</H1>
<PRE>
<STRONG><A HREF="curs_ins_wstr.3x.html">curs_ins_wstr(3x)</A></STRONG> Library calls <STRONG><A HREF="curs_ins_wstr.3x.html">curs_ins_wstr(3x)</A></STRONG>
<STRONG>o</STRONG> if the <STRONG>wins_wch</STRONG> function returns an error.
- Functions with a "mv" prefix first perform a cursor movement using
- <STRONG><A HREF="curs_move.3x.html">wmove(3x)</A></STRONG>, and return an error if the position is outside the window,
- or if the window pointer is null.
+ 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 but <STRONG>wins_nwstr</STRONG> may be macros.
- If the first character in the string is a non-spacing character, these
- functions will fail. XSI does not define what will happen if a non-
- spacing character follows a control character.
+ If the first character in the string is a non-spacing character, these
+ functions will fail. X/Open Curses does not define what will happen if
+ a non-spacing character follows a control character.
</PRE><H2><a name="h2-PORTABILITY">PORTABILITY</a></H2><PRE>
- These functions are described in the XSI Curses standard, Issue 4,
- which adds <EM>const</EM> qualifiers to the arguments.
+ These functions are described in X/Open Curses, Issue 4, which adds
+ <EM>const</EM> qualifiers to the arguments.
- X/Open states that the entire string is inserted if <EM>n</EM> is less than 1.
- This is probably an error, because it is inconsistent with other
+ X/Open states that the entire string is inserted if <EM>n</EM> is less than 1.
+ This is probably an error, because it is inconsistent with other
functions, and differs from the X/Open implementation on Solaris.
</PRE><H2><a name="h2-SEE-ALSO">SEE ALSO</a></H2><PRE>
- <STRONG><A HREF="curs_insstr.3x.html">curs_insstr(3x)</A></STRONG> describes comparable functions of the <EM>ncurses</EM> library
+ <STRONG><A HREF="curs_insstr.3x.html">curs_insstr(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_ins_wch.3x.html">curs_ins_wch(3x)</A></STRONG>, <STRONG><A HREF="curs_in_wch.3x.html">curs_in_wch(3x)</A></STRONG>
-ncurses 6.4 2024-04-13 <STRONG><A HREF="curs_ins_wstr.3x.html">curs_ins_wstr(3x)</A></STRONG>
+ncurses 6.4 2024-04-20 <STRONG><A HREF="curs_ins_wstr.3x.html">curs_ins_wstr(3x)</A></STRONG>
</PRE>
<div class="nav">
<ul>
* sale, use or other dealings in this Software without prior written *
* authorization. *
****************************************************************************
- * @Id: curs_insch.3x,v 1.38 2024/03/16 15:35:01 tom Exp @
+ * @Id: curs_insch.3x,v 1.40 2024/04/20 19:03:47 tom Exp @
-->
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN">
<HTML>
<HEAD>
<meta http-equiv="Content-Type" content="text/html; charset=us-ascii">
<meta name="generator" content="Manpage converted by man2html - see https://invisible-island.net/scripts/readme.html#others_scripts">
-<TITLE>curs_insch 3x 2024-03-16 ncurses 6.4 Library calls</TITLE>
+<TITLE>curs_insch 3x 2024-04-20 ncurses 6.4 Library calls</TITLE>
<link rel="author" href="mailto:bug-ncurses@gnu.org">
</HEAD>
<BODY>
-<H1 class="no-header">curs_insch 3x 2024-03-16 ncurses 6.4 Library calls</H1>
+<H1 class="no-header">curs_insch 3x 2024-04-20 ncurses 6.4 Library calls</H1>
<PRE>
<STRONG><A HREF="curs_insch.3x.html">curs_insch(3x)</A></STRONG> Library calls <STRONG><A HREF="curs_insch.3x.html">curs_insch(3x)</A></STRONG>
Functions taking a <EM>WINDOW</EM> pointer argument fail if the pointer is <STRONG>NULL</STRONG>.
- Functions prefixed with "mv" first perform cursor movement using <STRONG>wmove</STRONG>
- and fail if the position (<EM>y</EM>, <EM>x</EM>) is outside the window.
+ 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>insch</STRONG>, <STRONG>mvinsch</STRONG>, and <STRONG>mvwinsch</STRONG> may be implemented as macros.
+
A terminal's <STRONG>insert_character</STRONG> (<STRONG>ich1</STRONG>) capability is not necessarily
employed.
- <STRONG>insch</STRONG>, <STRONG>mvinsch</STRONG>, and <STRONG>mvwinsch</STRONG> may be implemented as macros.
-
</PRE><H2><a name="h2-PORTABILITY">PORTABILITY</a></H2><PRE>
- X/Open Curses, Issue 4, describes these functions.
+ X/Open Curses, Issue 4 describes these functions.
- SVr4 describes successful return values only as "an integer value other
- than <STRONG>ERR</STRONG>".
+ SVr4 <EM>curses</EM> describes a successful return value only as "an integer
+ value other than <STRONG>ERR</STRONG>".
</PRE><H2><a name="h2-SEE-ALSO">SEE ALSO</a></H2><PRE>
-ncurses 6.4 2024-03-16 <STRONG><A HREF="curs_insch.3x.html">curs_insch(3x)</A></STRONG>
+ncurses 6.4 2024-04-20 <STRONG><A HREF="curs_insch.3x.html">curs_insch(3x)</A></STRONG>
</PRE>
<div class="nav">
<ul>
* sale, use or other dealings in this Software without prior written *
* authorization. *
****************************************************************************
- * @Id: curs_insstr.3x,v 1.48 2024/03/16 15:49:07 tom Exp @
+ * @Id: curs_insstr.3x,v 1.51 2024/04/20 21:20:07 tom Exp @
-->
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN">
<HTML>
<HEAD>
<meta http-equiv="Content-Type" content="text/html; charset=us-ascii">
<meta name="generator" content="Manpage converted by man2html - see https://invisible-island.net/scripts/readme.html#others_scripts">
-<TITLE>curs_insstr 3x 2024-03-16 ncurses 6.4 Library calls</TITLE>
+<TITLE>curs_insstr 3x 2024-04-20 ncurses 6.4 Library calls</TITLE>
<link rel="author" href="mailto:bug-ncurses@gnu.org">
</HEAD>
<BODY>
-<H1 class="no-header">curs_insstr 3x 2024-03-16 ncurses 6.4 Library calls</H1>
+<H1 class="no-header">curs_insstr 3x 2024-04-20 ncurses 6.4 Library calls</H1>
<PRE>
<STRONG><A HREF="curs_insstr.3x.html">curs_insstr(3x)</A></STRONG> Library calls <STRONG><A HREF="curs_insstr.3x.html">curs_insstr(3x)</A></STRONG>
<STRONG>o</STRONG> the <STRONG><A HREF="curs_insch.3x.html">winsch(3x)</A></STRONG> function returns an error.
- Functions with a "mv" prefix first perform a cursor movement using
- <STRONG><A HREF="curs_move.3x.html">wmove(3x)</A></STRONG>, and return an error if the position is outside the window,
- or if the window pointer is null.
+ 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>
</PRE><H2><a name="h2-PORTABILITY">PORTABILITY</a></H2><PRE>
- These functions are described in the XSI Curses standard, Issue 4,
- which adds <EM>const</EM> qualifiers to the arguments.
+ These functions are described in X/Open Curses, Issue 4, which adds
+ <EM>const</EM> qualifiers to the arguments.
- The Single Unix Specification, Version 2 states that <STRONG>insnstr</STRONG> and
- <STRONG>winsnstr</STRONG> perform wrapping. This is probably an error, since it makes
- this group of functions inconsistent. Also, no implementation of
+ The Single Unix Specification, Version 2 states that <STRONG>insnstr</STRONG> and
+ <STRONG>winsnstr</STRONG> perform wrapping. This is probably an error, since it makes
+ this group of functions inconsistent. Also, no implementation of
curses documents this inconsistency.
- X/Open states that the entire string is inserted if <EM>n</EM> is less than 1.
- This is probably an error, because it is inconsistent with other
- functions, and differs from the SVr4 and X/Open implementations on
+ X/Open states that the entire string is inserted if <EM>n</EM> is less than 1.
+ This is probably an error, because it is inconsistent with other
+ functions, and differs from the SVr4 and X/Open implementations on
Solaris.
-ncurses 6.4 2024-03-16 <STRONG><A HREF="curs_insstr.3x.html">curs_insstr(3x)</A></STRONG>
+ncurses 6.4 2024-04-20 <STRONG><A HREF="curs_insstr.3x.html">curs_insstr(3x)</A></STRONG>
</PRE>
<div class="nav">
<ul>
* sale, use or other dealings in this Software without prior written *
* authorization. *
****************************************************************************
- * @Id: curs_instr.3x,v 1.48 2024/04/13 22:14:06 tom Exp @
+ * @Id: curs_instr.3x,v 1.51 2024/04/20 21:24:19 tom Exp @
-->
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN">
<HTML>
<HEAD>
<meta http-equiv="Content-Type" content="text/html; charset=us-ascii">
<meta name="generator" content="Manpage converted by man2html - see https://invisible-island.net/scripts/readme.html#others_scripts">
-<TITLE>curs_instr 3x 2024-04-13 ncurses 6.4 Library calls</TITLE>
+<TITLE>curs_instr 3x 2024-04-20 ncurses 6.4 Library calls</TITLE>
<link rel="author" href="mailto:bug-ncurses@gnu.org">
</HEAD>
<BODY>
-<H1 class="no-header">curs_instr 3x 2024-04-13 ncurses 6.4 Library calls</H1>
+<H1 class="no-header">curs_instr 3x 2024-04-20 ncurses 6.4 Library calls</H1>
<PRE>
<STRONG><A HREF="curs_instr.3x.html">curs_instr(3x)</A></STRONG> Library calls <STRONG><A HREF="curs_instr.3x.html">curs_instr(3x)</A></STRONG>
<STRONG>o</STRONG> if the <EM>chstr</EM> parameter is null.
- Functions with a "mv" prefix first perform a cursor movement using
- <STRONG>wmove</STRONG>, and return an error if the position is outside the window, or if
- the window pointer is null.
+ 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 routines except <STRONG>winnstr</STRONG> may be macros.
- Reading a line that overflows the array pointed to by <EM>str</EM> with <STRONG>instr</STRONG>,
- <STRONG>mvinstr</STRONG>, <STRONG>mvwinstr</STRONG> or <STRONG>winstr</STRONG> causes undefined results. Therefore, the
+ Reading a line that overflows the array pointed to by <EM>str</EM> with <STRONG>instr</STRONG>,
+ <STRONG>mvinstr</STRONG>, <STRONG>mvwinstr</STRONG> or <STRONG>winstr</STRONG> causes undefined results. Therefore, the
use of <STRONG>innstr</STRONG>, <STRONG>mvinnstr</STRONG>, <STRONG>mvwinnstr</STRONG>, or <STRONG>winnstr</STRONG> is recommended.
</PRE><H2><a name="h2-PORTABILITY">PORTABILITY</a></H2><PRE>
- SVr4 does not document whether a length limit includes or excludes the
+ SVr4 does not document whether a length limit includes or excludes the
trailing NUL.
- The <EM>ncurses</EM> library extends the XSI description by allowing a negative
- value for <EM>n</EM>. In this case, the functions return the string ending at
- the right margin.
+ The <EM>ncurses</EM> library extends the X/Open Curses description by allowing a
+ negative value for <EM>n</EM>. In this case, the functions return the string
+ ending at the right margin.
</PRE><H2><a name="h2-SEE-ALSO">SEE ALSO</a></H2><PRE>
-ncurses 6.4 2024-04-13 <STRONG><A HREF="curs_instr.3x.html">curs_instr(3x)</A></STRONG>
+ncurses 6.4 2024-04-20 <STRONG><A HREF="curs_instr.3x.html">curs_instr(3x)</A></STRONG>
</PRE>
<div class="nav">
<ul>
* sale, use or other dealings in this Software without prior written *
* authorization. *
****************************************************************************
- * @Id: curs_inwstr.3x,v 1.38 2024/03/16 15:35:01 tom Exp @
+ * @Id: curs_inwstr.3x,v 1.41 2024/04/20 21:20:07 tom Exp @
-->
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN">
<HTML>
<HEAD>
<meta http-equiv="Content-Type" content="text/html; charset=us-ascii">
<meta name="generator" content="Manpage converted by man2html - see https://invisible-island.net/scripts/readme.html#others_scripts">
-<TITLE>curs_inwstr 3x 2024-03-16 ncurses 6.4 Library calls</TITLE>
+<TITLE>curs_inwstr 3x 2024-04-20 ncurses 6.4 Library calls</TITLE>
<link rel="author" href="mailto:bug-ncurses@gnu.org">
</HEAD>
<BODY>
-<H1 class="no-header">curs_inwstr 3x 2024-03-16 ncurses 6.4 Library calls</H1>
+<H1 class="no-header">curs_inwstr 3x 2024-04-20 ncurses 6.4 Library calls</H1>
<PRE>
<STRONG><A HREF="curs_inwstr.3x.html">curs_inwstr(3x)</A></STRONG> Library calls <STRONG><A HREF="curs_inwstr.3x.html">curs_inwstr(3x)</A></STRONG>
<STRONG>o</STRONG> if no characters could be read.
- Functions with a "mv" prefix first perform a cursor movement using
- <STRONG>wmove</STRONG>, and return an error if the position is outside the window, or if
- the window pointer is null.
+ 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 routines except <STRONG>winnwstr</STRONG> may be macros.
- Each cell in the window holds a complex character (a spacing character
- and zero or more non-spacing characters) together with attributes and
- color. These functions store only the wide characters, ignoring
- attributes and color. Use <STRONG>in_wchstr</STRONG> to return the complex characters
+ Each cell in the window holds a complex character (a spacing character
+ and zero or more non-spacing characters) together with attributes and
+ color. These functions store only the wide characters, ignoring
+ attributes and color. Use <STRONG>in_wchstr</STRONG> to return the complex characters
from a window.
Reading a line that overflows the array pointed to by <EM>wstr</EM> with <STRONG>inwstr</STRONG>,
- <STRONG>mvinwstr</STRONG>, <STRONG>mvwinwstr</STRONG> or <STRONG>winwstr</STRONG> causes undefined results. Therefore,
+ <STRONG>mvinwstr</STRONG>, <STRONG>mvwinwstr</STRONG> or <STRONG>winwstr</STRONG> causes undefined results. Therefore,
the use of <STRONG>innwstr</STRONG>, <STRONG>mvinnwstr</STRONG>, <STRONG>mvwinnwstr</STRONG>, or <STRONG>winnwstr</STRONG> is recommended.
</PRE><H2><a name="h2-PORTABILITY">PORTABILITY</a></H2><PRE>
- These functions are described in the XSI Curses standard, Issue 4.
+ These functions are described in X/Open Curses, Issue 4.
</PRE><H2><a name="h2-SEE-ALSO">SEE ALSO</a></H2><PRE>
- <STRONG><A HREF="ncurses.3x.html">curses(3x)</A></STRONG>, <STRONG><A HREF="curs_inch.3x.html">curs_inch(3x)</A></STRONG>, <STRONG><A HREF="curs_inchstr.3x.html">curs_inchstr(3x)</A></STRONG>, <STRONG><A HREF="curs_instr.3x.html">curs_instr(3x)</A></STRONG>,
+ <STRONG><A HREF="ncurses.3x.html">curses(3x)</A></STRONG>, <STRONG><A HREF="curs_inch.3x.html">curs_inch(3x)</A></STRONG>, <STRONG><A HREF="curs_inchstr.3x.html">curs_inchstr(3x)</A></STRONG>, <STRONG><A HREF="curs_instr.3x.html">curs_instr(3x)</A></STRONG>,
<STRONG><A HREF="curs_in_wchstr.3x.html">curs_in_wchstr(3x)</A></STRONG>
-ncurses 6.4 2024-03-16 <STRONG><A HREF="curs_inwstr.3x.html">curs_inwstr(3x)</A></STRONG>
+ncurses 6.4 2024-04-20 <STRONG><A HREF="curs_inwstr.3x.html">curs_inwstr(3x)</A></STRONG>
</PRE>
<div class="nav">
<ul>
* sale, use or other dealings in this Software without prior written *
* authorization. *
****************************************************************************
- * @Id: curs_kernel.3x,v 1.58 2024/04/13 22:19:08 tom Exp @
+ * @Id: curs_kernel.3x,v 1.61 2024/04/20 21:24:19 tom Exp @
-->
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN">
<HTML>
<HEAD>
<meta http-equiv="Content-Type" content="text/html; charset=us-ascii">
<meta name="generator" content="Manpage converted by man2html - see https://invisible-island.net/scripts/readme.html#others_scripts">
-<TITLE>curs_kernel 3x 2024-04-13 ncurses 6.4 Library calls</TITLE>
+<TITLE>curs_kernel 3x 2024-04-20 ncurses 6.4 Library calls</TITLE>
<link rel="author" href="mailto:bug-ncurses@gnu.org">
</HEAD>
<BODY>
-<H1 class="no-header">curs_kernel 3x 2024-04-13 ncurses 6.4 Library calls</H1>
+<H1 class="no-header">curs_kernel 3x 2024-04-20 ncurses 6.4 Library calls</H1>
<PRE>
<STRONG><A HREF="curs_kernel.3x.html">curs_kernel(3x)</A></STRONG> Library calls <STRONG><A HREF="curs_kernel.3x.html">curs_kernel(3x)</A></STRONG>
</PRE><H2><a name="h2-PORTABILITY">PORTABILITY</a></H2><PRE>
- The <EM>virtual</EM> <EM>screen</EM> functions <STRONG>setsyx</STRONG> and <STRONG>getsyx</STRONG> are not described in the
- XSI Curses standard, Issue 4. All other functions are as described in
- XSI Curses.
+ The <EM>virtual</EM> <EM>screen</EM> functions <STRONG>setsyx</STRONG> and <STRONG>getsyx</STRONG> are not described in
+ X/Open Curses, Issue 4. All other functions are as described in X/Open
+ Curses.
The SVr4 documentation describes <STRONG>setsyx</STRONG> and <STRONG>getsyx</STRONG> as having return
type int. This is misleading, as they are macros with no documented
-ncurses 6.4 2024-04-13 <STRONG><A HREF="curs_kernel.3x.html">curs_kernel(3x)</A></STRONG>
+ncurses 6.4 2024-04-20 <STRONG><A HREF="curs_kernel.3x.html">curs_kernel(3x)</A></STRONG>
</PRE>
<div class="nav">
<ul>
* sale, use or other dealings in this Software without prior written *
* authorization. *
****************************************************************************
- * @Id: curs_mouse.3x,v 1.96 2024/03/23 20:38:57 tom Exp @
+ * @Id: curs_mouse.3x,v 1.98 2024/04/20 19:02:07 tom Exp @
-->
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN">
<HTML>
<HEAD>
<meta http-equiv="Content-Type" content="text/html; charset=us-ascii">
<meta name="generator" content="Manpage converted by man2html - see https://invisible-island.net/scripts/readme.html#others_scripts">
-<TITLE>curs_mouse 3x 2024-03-23 ncurses 6.4 Library calls</TITLE>
+<TITLE>curs_mouse 3x 2024-04-20 ncurses 6.4 Library calls</TITLE>
<link rel="author" href="mailto:bug-ncurses@gnu.org">
</HEAD>
<BODY>
-<H1 class="no-header">curs_mouse 3x 2024-03-23 ncurses 6.4 Library calls</H1>
+<H1 class="no-header">curs_mouse 3x 2024-04-20 ncurses 6.4 Library calls</H1>
<PRE>
<STRONG><A HREF="curs_mouse.3x.html">curs_mouse(3x)</A></STRONG> Library calls <STRONG><A HREF="curs_mouse.3x.html">curs_mouse(3x)</A></STRONG>
<STRONG>bool</STRONG> <STRONG>has_mouse(void);</STRONG>
+ <STRONG>mmask_t</STRONG> <STRONG>mousemask(mmask_t</STRONG> <EM>newmask</EM><STRONG>,</STRONG> <STRONG>mmask_t</STRONG> <STRONG>*</STRONG><EM>oldmask</EM><STRONG>);</STRONG>
+
<STRONG>int</STRONG> <STRONG>getmouse(MEVENT</STRONG> <STRONG>*</STRONG><EM>event</EM><STRONG>);</STRONG>
<STRONG>int</STRONG> <STRONG>ungetmouse(MEVENT</STRONG> <STRONG>*</STRONG><EM>event</EM><STRONG>);</STRONG>
- <STRONG>mmask_t</STRONG> <STRONG>mousemask(mmask_t</STRONG> <EM>newmask</EM><STRONG>,</STRONG> <STRONG>mmask_t</STRONG> <STRONG>*</STRONG><EM>oldmask</EM><STRONG>);</STRONG>
-
<STRONG>bool</STRONG> <STRONG>wenclose(const</STRONG> <STRONG>WINDOW</STRONG> <STRONG>*</STRONG><EM>win</EM><STRONG>,</STRONG> <STRONG>int</STRONG> <EM>y</EM><STRONG>,</STRONG> <STRONG>int</STRONG> <EM>x</EM><STRONG>);</STRONG>
<STRONG>bool</STRONG> <STRONG>mouse_trafo(int*</STRONG> <EM>pY</EM><STRONG>,</STRONG> <STRONG>int*</STRONG> <EM>pX</EM><STRONG>,</STRONG> <STRONG>bool</STRONG> <EM>to</EM><STRONG>_</STRONG><EM>screen</EM><STRONG>);</STRONG>
<STRONG><A HREF="curs_getch.3x.html">wgetch(3x)</A></STRONG> input stream.
+</PRE><H3><a name="h3-has_mouse">has_mouse</a></H3><PRE>
+ The <STRONG>has_mouse</STRONG> function returns <STRONG>TRUE</STRONG> if the mouse driver has been
+ successfully initialized, and <STRONG>FALSE</STRONG> otherwise.
+
+ Mouse events are ignored when input is in cooked mode, and cause an
+ error beep when cooked mode is being simulated in a window by a
+ function such as <STRONG>getstr</STRONG> that expects a linefeed for input-loop
+ termination.
+
+
</PRE><H3><a name="h3-mousemask">mousemask</a></H3><PRE>
To make mouse events visible, use the <STRONG>mousemask</STRONG> function. This sets
the mouse events to be reported. By default, no mouse events are
<STRONG>BUTTON1_PRESSED</STRONG> mouse button 1 down
<STRONG>BUTTON1_RELEASED</STRONG> mouse button 1 up
<STRONG>BUTTON1_CLICKED</STRONG> mouse button 1 clicked
-
<STRONG>BUTTON1_DOUBLE_CLICKED</STRONG> mouse button 1 double clicked
<STRONG>BUTTON1_TRIPLE_CLICKED</STRONG> mouse button 1 triple clicked
------------------------------------------------------------------------
<STRONG><A HREF="curs_terminfo.3x.html">setupterm(3x)</A></STRONG>.
-</PRE><H3><a name="h3-has_mouse">has_mouse</a></H3><PRE>
- The <STRONG>has_mouse</STRONG> function returns <STRONG>TRUE</STRONG> if the mouse driver has been
- successfully initialized, and <STRONG>FALSE</STRONG> otherwise.
-
- Mouse events are ignored when input is in cooked mode, and cause an
- error beep when cooked mode is being simulated in a window by a
- function such as <STRONG>getstr</STRONG> that expects a linefeed for input-loop
- termination.
-
-
</PRE><H2><a name="h2-RETURN-VALUE">RETURN VALUE</a></H2><PRE>
<STRONG>has_mouse</STRONG>, <STRONG>wenclose</STRONG>, <STRONG>mouse_trafo</STRONG>, and <STRONG>wmouse_trafo</STRONG> return <STRONG>TRUE</STRONG> or <STRONG>FALSE</STRONG>
as noted above.
-ncurses 6.4 2024-03-23 <STRONG><A HREF="curs_mouse.3x.html">curs_mouse(3x)</A></STRONG>
+ncurses 6.4 2024-04-20 <STRONG><A HREF="curs_mouse.3x.html">curs_mouse(3x)</A></STRONG>
</PRE>
<div class="nav">
<ul>
<li><a href="#h2-SYNOPSIS">SYNOPSIS</a></li>
<li><a href="#h2-DESCRIPTION">DESCRIPTION</a>
<ul>
+<li><a href="#h3-has_mouse">has_mouse</a></li>
<li><a href="#h3-mousemask">mousemask</a></li>
<li><a href="#h3-Mouse-Events">Mouse Events</a></li>
<li><a href="#h3-getmouse">getmouse</a></li>
<li><a href="#h3-wmouse_trafo">wmouse_trafo</a></li>
<li><a href="#h3-mouse_trafo">mouse_trafo</a></li>
<li><a href="#h3-mouseinterval">mouseinterval</a></li>
-<li><a href="#h3-has_mouse">has_mouse</a></li>
</ul>
</li>
<li><a href="#h2-RETURN-VALUE">RETURN VALUE</a></li>
* sale, use or other dealings in this Software without prior written *
* authorization. *
****************************************************************************
- * @Id: curs_move.3x,v 1.35 2024/03/16 15:35:01 tom Exp @
+ * @Id: curs_move.3x,v 1.38 2024/04/20 19:51:33 tom Exp @
-->
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN">
<HTML>
<HEAD>
<meta http-equiv="Content-Type" content="text/html; charset=us-ascii">
<meta name="generator" content="Manpage converted by man2html - see https://invisible-island.net/scripts/readme.html#others_scripts">
-<TITLE>curs_move 3x 2024-03-16 ncurses 6.4 Library calls</TITLE>
+<TITLE>curs_move 3x 2024-04-20 ncurses 6.4 Library calls</TITLE>
<link rel="author" href="mailto:bug-ncurses@gnu.org">
</HEAD>
<BODY>
-<H1 class="no-header">curs_move 3x 2024-03-16 ncurses 6.4 Library calls</H1>
+<H1 class="no-header">curs_move 3x 2024-04-20 ncurses 6.4 Library calls</H1>
<PRE>
<STRONG><A HREF="curs_move.3x.html">curs_move(3x)</A></STRONG> Library calls <STRONG><A HREF="curs_move.3x.html">curs_move(3x)</A></STRONG>
</PRE><H2><a name="h2-DESCRIPTION">DESCRIPTION</a></H2><PRE>
- These routines move the cursor associated with the window to line <EM>y</EM> and
- column <EM>x</EM>. This routine does not move the physical cursor of the
- terminal until <STRONG><A HREF="curs_refresh.3x.html">refresh(3x)</A></STRONG> is called. The position specified is
- relative to the upper left-hand corner of the window, which is (0,0).
+ <STRONG>wmove</STRONG> relocates the cursor associated with the <EM>curses</EM> window <EM>win</EM> to
+ line <EM>y</EM> and column <EM>x</EM>. The terminal's cursor does not move until
+ <STRONG><A HREF="curs_refresh.3x.html">refresh(3x)</A></STRONG> is called. The position (<EM>x</EM>, <EM>y</EM>) is relative to the upper
+ left-hand corner of the window, which has coordinates (0, 0).
+ <STRONG><A HREF="ncurses.3x.html">ncurses(3x)</A></STRONG> describes the <STRONG>move</STRONG> variant of this function.
</PRE><H2><a name="h2-RETURN-VALUE">RETURN VALUE</a></H2><PRE>
- These routines return the integer <STRONG>ERR</STRONG> upon failure and an <STRONG>OK</STRONG> (SVr4
- specifies only "an integer value other than <STRONG>ERR</STRONG>") upon successful
- completion.
+ These functions return <STRONG>OK</STRONG> on success and <STRONG>ERR</STRONG> on failure.
- Specifically, they return an error if the window pointer is null, or if
- the position is outside the window.
+ They fail if the position (<EM>y</EM>, <EM>x</EM>) is outside the window boundaries.
+
+ <STRONG>wmove</STRONG> fails if its <EM>WINDOW</EM> pointer argument is <STRONG>NULL</STRONG>.
</PRE><H2><a name="h2-NOTES">NOTES</a></H2><PRE>
- Note that <STRONG>move</STRONG> may be a macro.
+ <STRONG>move</STRONG> may be implemented as a macro.
</PRE><H2><a name="h2-PORTABILITY">PORTABILITY</a></H2><PRE>
- These functions are described in the XSI Curses standard, Issue 4.
+ X/Open Curses, Issue 4 describes these functions.
</PRE><H2><a name="h2-SEE-ALSO">SEE ALSO</a></H2><PRE>
-ncurses 6.4 2024-03-16 <STRONG><A HREF="curs_move.3x.html">curs_move(3x)</A></STRONG>
+ncurses 6.4 2024-04-20 <STRONG><A HREF="curs_move.3x.html">curs_move(3x)</A></STRONG>
</PRE>
<div class="nav">
<ul>
* sale, use or other dealings in this Software without prior written *
* authorization. *
****************************************************************************
- * @Id: curs_outopts.3x,v 1.60 2024/04/13 22:23:57 tom Exp @
+ * @Id: curs_outopts.3x,v 1.64 2024/04/20 21:24:19 tom Exp @
-->
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN">
<HTML>
<HEAD>
<meta http-equiv="Content-Type" content="text/html; charset=us-ascii">
<meta name="generator" content="Manpage converted by man2html - see https://invisible-island.net/scripts/readme.html#others_scripts">
-<TITLE>curs_outopts 3x 2024-04-13 ncurses 6.4 Library calls</TITLE>
+<TITLE>curs_outopts 3x 2024-04-20 ncurses 6.4 Library calls</TITLE>
<link rel="author" href="mailto:bug-ncurses@gnu.org">
</HEAD>
<BODY>
-<H1 class="no-header">curs_outopts 3x 2024-04-13 ncurses 6.4 Library calls</H1>
+<H1 class="no-header">curs_outopts 3x 2024-04-20 ncurses 6.4 Library calls</H1>
<PRE>
<STRONG><A HREF="curs_outopts.3x.html">curs_outopts(3x)</A></STRONG> Library calls <STRONG><A HREF="curs_outopts.3x.html">curs_outopts(3x)</A></STRONG>
the window pointer is null
<STRONG>o</STRONG> <STRONG>wsetscrreg</STRONG> returns an error if the scrolling region limits extend
- outside the window.
+ outside the window boundaries.
</PRE><H2><a name="h2-NOTES">NOTES</a></H2><PRE>
</PRE><H2><a name="h2-PORTABILITY">PORTABILITY</a></H2><PRE>
- These functions are described in the XSI Curses standard, Issue 4.
+ These functions are described in X/Open Curses, Issue 4.
Some historic curses implementations had, as an undocumented feature,
the ability to do the equivalent of <STRONG>clearok(...,</STRONG> <STRONG>1)</STRONG> by saying
Earlier System V curses implementations specified that with <STRONG>scrollok</STRONG>
enabled, any window modification triggering a scroll also forced a
- physical refresh. XSI Curses does not require this, and <EM>ncurses</EM> avoids
- doing it to perform better vertical-motion optimization at <STRONG>wrefresh</STRONG>
- time.
+ physical refresh. X/Open Curses does not require this, and <EM>ncurses</EM>
+ avoids doing it to perform better vertical-motion optimization at
+ <STRONG>wrefresh</STRONG> time.
- The XSI Curses standard does not mention that the cursor should be made
- invisible as a side-effect of <STRONG>leaveok</STRONG>. SVr4 curses documentation does
- this, but the code does not. Use <STRONG>curs_set</STRONG> to make the cursor
- invisible.
+ X/Open Curses does not mention that the cursor should be made invisible
+ as a side-effect of <STRONG>leaveok</STRONG>. SVr4 curses documentation does this, but
+ the code does not. Use <STRONG>curs_set</STRONG> to make the cursor invisible.
</PRE><H2><a name="h2-HISTORY">HISTORY</a></H2><PRE>
- <EM>ncurses</EM> formerly treated <STRONG><A HREF="curs_inopts.3x.html">nl(3x)</A></STRONG> and <STRONG><A HREF="curs_inopts.3x.html">nonl(3x)</A></STRONG> as both input <EM>and</EM> output
+ <EM>ncurses</EM> formerly treated <STRONG><A HREF="curs_inopts.3x.html">nl(3x)</A></STRONG> and <STRONG><A HREF="curs_inopts.3x.html">nonl(3x)</A></STRONG> as both input <EM>and</EM> output
options, but no longer; see <STRONG><A HREF="curs_inopts.3x.html">curs_inopts(3x)</A></STRONG>.
</PRE><H2><a name="h2-SEE-ALSO">SEE ALSO</a></H2><PRE>
- <STRONG><A HREF="ncurses.3x.html">curses(3x)</A></STRONG>, <STRONG><A HREF="curs_addch.3x.html">curs_addch(3x)</A></STRONG>, <STRONG><A HREF="curs_clear.3x.html">curs_clear(3x)</A></STRONG>, <STRONG><A HREF="curs_initscr.3x.html">curs_initscr(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_clear.3x.html">curs_clear(3x)</A></STRONG>, <STRONG><A HREF="curs_initscr.3x.html">curs_initscr(3x)</A></STRONG>,
<STRONG><A HREF="curs_refresh.3x.html">curs_refresh(3x)</A></STRONG>, <STRONG><A HREF="curs_scroll.3x.html">curs_scroll(3x)</A></STRONG>, <STRONG><A HREF="curs_variables.3x.html">curs_variables(3x)</A></STRONG>
-ncurses 6.4 2024-04-13 <STRONG><A HREF="curs_outopts.3x.html">curs_outopts(3x)</A></STRONG>
+ncurses 6.4 2024-04-20 <STRONG><A HREF="curs_outopts.3x.html">curs_outopts(3x)</A></STRONG>
</PRE>
<div class="nav">
<ul>
* sale, use or other dealings in this Software without prior written *
* authorization. *
****************************************************************************
- * @Id: curs_overlay.3x,v 1.41 2024/03/16 15:35:01 tom Exp @
+ * @Id: curs_overlay.3x,v 1.43 2024/04/20 21:20:07 tom Exp @
-->
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN">
<HTML>
<HEAD>
<meta http-equiv="Content-Type" content="text/html; charset=us-ascii">
<meta name="generator" content="Manpage converted by man2html - see https://invisible-island.net/scripts/readme.html#others_scripts">
-<TITLE>curs_overlay 3x 2024-03-16 ncurses 6.4 Library calls</TITLE>
+<TITLE>curs_overlay 3x 2024-04-20 ncurses 6.4 Library calls</TITLE>
<link rel="author" href="mailto:bug-ncurses@gnu.org">
</HEAD>
<BODY>
-<H1 class="no-header">curs_overlay 3x 2024-03-16 ncurses 6.4 Library calls</H1>
+<H1 class="no-header">curs_overlay 3x 2024-04-20 ncurses 6.4 Library calls</H1>
<PRE>
<STRONG><A HREF="curs_overlay.3x.html">curs_overlay(3x)</A></STRONG> Library calls <STRONG><A HREF="curs_overlay.3x.html">curs_overlay(3x)</A></STRONG>
</PRE><H2><a name="h2-PORTABILITY">PORTABILITY</a></H2><PRE>
- These functions are described in the XSI Curses standard, Issue 4,
- which adds <EM>const</EM> qualifiers to the arguments. It further specifies
- their behavior in the presence of characters with multibyte renditions
- (not yet supported in this implementation).
+ These functions are described in X/Open Curses, Issue 4, which adds
+ <EM>const</EM> qualifiers to the arguments. It further specifies their behavior
+ in the presence of characters with multibyte renditions (not yet
+ supported in this implementation).
</PRE><H2><a name="h2-SEE-ALSO">SEE ALSO</a></H2><PRE>
-ncurses 6.4 2024-03-16 <STRONG><A HREF="curs_overlay.3x.html">curs_overlay(3x)</A></STRONG>
+ncurses 6.4 2024-04-20 <STRONG><A HREF="curs_overlay.3x.html">curs_overlay(3x)</A></STRONG>
</PRE>
<div class="nav">
<ul>
* sale, use or other dealings in this Software without prior written *
* authorization. *
****************************************************************************
- * @Id: curs_pad.3x,v 1.57 2024/04/13 22:13:17 tom Exp @
+ * @Id: curs_pad.3x,v 1.59 2024/04/20 21:20:07 tom Exp @
-->
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN">
<HTML>
<HEAD>
<meta http-equiv="Content-Type" content="text/html; charset=us-ascii">
<meta name="generator" content="Manpage converted by man2html - see https://invisible-island.net/scripts/readme.html#others_scripts">
-<TITLE>curs_pad 3x 2024-04-13 ncurses 6.4 Library calls</TITLE>
+<TITLE>curs_pad 3x 2024-04-20 ncurses 6.4 Library calls</TITLE>
<link rel="author" href="mailto:bug-ncurses@gnu.org">
</HEAD>
<BODY>
-<H1 class="no-header">curs_pad 3x 2024-04-13 ncurses 6.4 Library calls</H1>
+<H1 class="no-header">curs_pad 3x 2024-04-20 ncurses 6.4 Library calls</H1>
<PRE>
<STRONG><A HREF="curs_pad.3x.html">curs_pad(3x)</A></STRONG> Library calls <STRONG><A HREF="curs_pad.3x.html">curs_pad(3x)</A></STRONG>
The two uses may be related.
- The XSI Curses standard, Issue 4 describes these functions, without
- significant change from the SVr3 documentation. It describes no error
- conditions. The behavior of <STRONG>subpad</STRONG> if the parent window is not a pad
- is undocumented, and is not checked by the vendor Unix implementations:
+ X/Open Curses, Issue 4 describes these functions, without significant
+ change from the SVr3 documentation. It describes no error conditions.
+ The behavior of <STRONG>subpad</STRONG> if the parent window is not a pad is
+ undocumented, and is not checked by the vendor Unix implementations:
<STRONG>o</STRONG> SVr4 <EM>curses</EM> sets a flag in the <EM>WINDOW</EM> structure in <STRONG>newpad</STRONG> which
tells if the window is a <EM>pad</EM>.
-ncurses 6.4 2024-04-13 <STRONG><A HREF="curs_pad.3x.html">curs_pad(3x)</A></STRONG>
+ncurses 6.4 2024-04-20 <STRONG><A HREF="curs_pad.3x.html">curs_pad(3x)</A></STRONG>
</PRE>
<div class="nav">
<ul>
* sale, use or other dealings in this Software without prior written *
* authorization. *
****************************************************************************
- * @Id: curs_printw.3x,v 1.51 2024/03/23 20:38:57 tom Exp @
+ * @Id: curs_printw.3x,v 1.53 2024/04/20 19:18: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>curs_printw 3x 2024-03-23 ncurses 6.4 Library calls</TITLE>
+<TITLE>curs_printw 3x 2024-04-20 ncurses 6.4 Library calls</TITLE>
<link rel="author" href="mailto:bug-ncurses@gnu.org">
</HEAD>
<BODY>
-<H1 class="no-header">curs_printw 3x 2024-03-23 ncurses 6.4 Library calls</H1>
+<H1 class="no-header">curs_printw 3x 2024-04-20 ncurses 6.4 Library calls</H1>
<PRE>
<STRONG><A HREF="curs_printw.3x.html">curs_printw(3x)</A></STRONG> Library calls <STRONG><A HREF="curs_printw.3x.html">curs_printw(3x)</A></STRONG>
for the buffer into which the output is formatted, or if the window
pointer <EM>win</EM> is null.
- Functions with a "mv" prefix first perform a cursor movement using
- <STRONG>wmove</STRONG>, and fail if the position is outside the window.
+ 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>
</PRE><H2><a name="h2-PORTABILITY">PORTABILITY</a></H2><PRE>
- X/Open Curses, Issue 4, describes these functions. It specifies no
+ X/Open Curses, Issue 4 describes these functions. It specifies no
error conditions for them.
<EM>ncurses</EM> defines <STRONG>vw_printw</STRONG> and <STRONG>vwprintw</STRONG> identically to support legacy
applications. However, the latter is obsolete.
- <STRONG>o</STRONG> X/Open Curses, Issue 4, Version 2 (1996), marked <STRONG>vwprintw</STRONG> as
+ <STRONG>o</STRONG> X/Open Curses, Issue 4 Version 2 (1996), marked <STRONG>vwprintw</STRONG> as
requiring <EM>varargs.h</EM> and "TO BE WITHDRAWN", and specified <STRONG>vw_printw</STRONG>
using the <EM>stdarg.h</EM> interface.
-ncurses 6.4 2024-03-23 <STRONG><A HREF="curs_printw.3x.html">curs_printw(3x)</A></STRONG>
+ncurses 6.4 2024-04-20 <STRONG><A HREF="curs_printw.3x.html">curs_printw(3x)</A></STRONG>
</PRE>
<div class="nav">
<ul>
* sale, use or other dealings in this Software without prior written *
* authorization. *
****************************************************************************
- * @Id: curs_refresh.3x,v 1.44 2024/03/16 15:49:39 tom Exp @
+ * @Id: curs_refresh.3x,v 1.46 2024/04/20 21:20:07 tom Exp @
-->
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN">
<HTML>
<HEAD>
<meta http-equiv="Content-Type" content="text/html; charset=us-ascii">
<meta name="generator" content="Manpage converted by man2html - see https://invisible-island.net/scripts/readme.html#others_scripts">
-<TITLE>curs_refresh 3x 2024-03-16 ncurses 6.4 Library calls</TITLE>
+<TITLE>curs_refresh 3x 2024-04-20 ncurses 6.4 Library calls</TITLE>
<link rel="author" href="mailto:bug-ncurses@gnu.org">
</HEAD>
<BODY>
-<H1 class="no-header">curs_refresh 3x 2024-03-16 ncurses 6.4 Library calls</H1>
+<H1 class="no-header">curs_refresh 3x 2024-04-20 ncurses 6.4 Library calls</H1>
<PRE>
<STRONG><A HREF="curs_refresh.3x.html">curs_refresh(3x)</A></STRONG> Library calls <STRONG><A HREF="curs_refresh.3x.html">curs_refresh(3x)</A></STRONG>
</PRE><H2><a name="h2-PORTABILITY">PORTABILITY</a></H2><PRE>
- The XSI Curses standard, Issue 4 describes these functions.
+ X/Open Curses, Issue 4 describes these functions.
Whether <STRONG>wnoutrefresh</STRONG> copies to the virtual screen the entire contents
of a window or just its changed portions has never been well-documented
-ncurses 6.4 2024-03-16 <STRONG><A HREF="curs_refresh.3x.html">curs_refresh(3x)</A></STRONG>
+ncurses 6.4 2024-04-20 <STRONG><A HREF="curs_refresh.3x.html">curs_refresh(3x)</A></STRONG>
</PRE>
<div class="nav">
<ul>
* sale, use or other dealings in this Software without prior written *
* authorization. *
****************************************************************************
- * @Id: curs_scanw.3x,v 1.51 2024/03/23 20:41:15 tom Exp @
+ * @Id: curs_scanw.3x,v 1.53 2024/04/20 19:18: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>curs_scanw 3x 2024-03-23 ncurses 6.4 Library calls</TITLE>
+<TITLE>curs_scanw 3x 2024-04-20 ncurses 6.4 Library calls</TITLE>
<link rel="author" href="mailto:bug-ncurses@gnu.org">
</HEAD>
<BODY>
-<H1 class="no-header">curs_scanw 3x 2024-03-23 ncurses 6.4 Library calls</H1>
+<H1 class="no-header">curs_scanw 3x 2024-04-20 ncurses 6.4 Library calls</H1>
<PRE>
<STRONG><A HREF="curs_scanw.3x.html">curs_scanw(3x)</A></STRONG> Library calls <STRONG><A HREF="curs_scanw.3x.html">curs_scanw(3x)</A></STRONG>
In <EM>ncurses</EM>, failure occurs if <STRONG>vsscanf(3)</STRONG> returns <STRONG>EOF</STRONG>, or if the window
pointer <EM>win</EM> is null.
- Functions with a "mv" prefix first perform a cursor movement using
- <STRONG>wmove</STRONG>, and fail if the position is outside the window.
+ 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>
</PRE><H2><a name="h2-PORTABILITY">PORTABILITY</a></H2><PRE>
- X/Open Curses, Issue 4, describes these functions. It specifies no
+ X/Open Curses, Issue 4 describes these functions. It specifies no
error conditions for them.
<EM>ncurses</EM> defines <STRONG>vw_scanw</STRONG> and <STRONG>vwscanw</STRONG> identically to support legacy
applications. However, the latter is obsolete.
- <STRONG>o</STRONG> X/Open Curses, Issue 4, Version 2 (1996), marked <STRONG>vwscanw</STRONG> as
+ <STRONG>o</STRONG> X/Open Curses, Issue 4 Version 2 (1996), marked <STRONG>vwscanw</STRONG> as
requiring <EM>varargs.h</EM> and "TO BE WITHDRAWN", and specified <STRONG>vw_scanw</STRONG>
using the <EM>stdarg.h</EM> interface.
-ncurses 6.4 2024-03-23 <STRONG><A HREF="curs_scanw.3x.html">curs_scanw(3x)</A></STRONG>
+ncurses 6.4 2024-04-20 <STRONG><A HREF="curs_scanw.3x.html">curs_scanw(3x)</A></STRONG>
</PRE>
<div class="nav">
<ul>
* sale, use or other dealings in this Software without prior written *
* authorization. *
****************************************************************************
- * @Id: curs_scr_dump.3x,v 1.41 2024/03/23 20:41:15 tom Exp @
+ * @Id: curs_scr_dump.3x,v 1.43 2024/04/20 18:54:36 tom Exp @
-->
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN">
<HTML>
<HEAD>
<meta http-equiv="Content-Type" content="text/html; charset=us-ascii">
<meta name="generator" content="Manpage converted by man2html - see https://invisible-island.net/scripts/readme.html#others_scripts">
-<TITLE>curs_scr_dump 3x 2024-03-23 ncurses 6.4 Library calls</TITLE>
+<TITLE>curs_scr_dump 3x 2024-04-20 ncurses 6.4 Library calls</TITLE>
<link rel="author" href="mailto:bug-ncurses@gnu.org">
</HEAD>
<BODY>
-<H1 class="no-header">curs_scr_dump 3x 2024-03-23 ncurses 6.4 Library calls</H1>
+<H1 class="no-header">curs_scr_dump 3x 2024-04-20 ncurses 6.4 Library calls</H1>
<PRE>
<STRONG><A HREF="curs_scr_dump.3x.html">curs_scr_dump(3x)</A></STRONG> Library calls <STRONG><A HREF="curs_scr_dump.3x.html">curs_scr_dump(3x)</A></STRONG>
</PRE><H2><a name="h2-PORTABILITY">PORTABILITY</a></H2><PRE>
- X/Open Curses, Issue 4, describes these functions.
+ X/Open Curses, Issue 4 describes these functions.
SVr4 omitted the <EM>const</EM> qualifiers.
-ncurses 6.4 2024-03-23 <STRONG><A HREF="curs_scr_dump.3x.html">curs_scr_dump(3x)</A></STRONG>
+ncurses 6.4 2024-04-20 <STRONG><A HREF="curs_scr_dump.3x.html">curs_scr_dump(3x)</A></STRONG>
</PRE>
<div class="nav">
<ul>
* sale, use or other dealings in this Software without prior written *
* authorization. *
****************************************************************************
- * @Id: curs_scroll.3x,v 1.41 2024/04/14 00:14:28 tom Exp @
+ * @Id: curs_scroll.3x,v 1.43 2024/04/20 18:54:36 tom Exp @
-->
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN">
<HTML>
<HEAD>
<meta http-equiv="Content-Type" content="text/html; charset=us-ascii">
<meta name="generator" content="Manpage converted by man2html - see https://invisible-island.net/scripts/readme.html#others_scripts">
-<TITLE>curs_scroll 3x 2024-04-13 ncurses 6.4 Library calls</TITLE>
+<TITLE>curs_scroll 3x 2024-04-20 ncurses 6.4 Library calls</TITLE>
<link rel="author" href="mailto:bug-ncurses@gnu.org">
</HEAD>
<BODY>
-<H1 class="no-header">curs_scroll 3x 2024-04-13 ncurses 6.4 Library calls</H1>
+<H1 class="no-header">curs_scroll 3x 2024-04-20 ncurses 6.4 Library calls</H1>
<PRE>
<STRONG><A HREF="curs_scroll.3x.html">curs_scroll(3x)</A></STRONG> Library calls <STRONG><A HREF="curs_scroll.3x.html">curs_scroll(3x)</A></STRONG>
</PRE><H2><a name="h2-PORTABILITY">PORTABILITY</a></H2><PRE>
- X/Open Curses, Issue 4, describes these functions. It defines no error
+ X/Open Curses, Issue 4 describes these functions. It defines no error
conditions.
SVr4 specifies only "an integer value other than <STRONG>ERR</STRONG>" as a successful
-ncurses 6.4 2024-04-13 <STRONG><A HREF="curs_scroll.3x.html">curs_scroll(3x)</A></STRONG>
+ncurses 6.4 2024-04-20 <STRONG><A HREF="curs_scroll.3x.html">curs_scroll(3x)</A></STRONG>
</PRE>
<div class="nav">
<ul>
* sale, use or other dealings in this Software without prior written *
* authorization. *
****************************************************************************
- * @Id: curs_slk.3x,v 1.69 2024/03/16 15:35:01 tom Exp @
+ * @Id: curs_slk.3x,v 1.71 2024/04/20 18:54:36 tom Exp @
-->
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN">
<HTML>
<HEAD>
<meta http-equiv="Content-Type" content="text/html; charset=us-ascii">
<meta name="generator" content="Manpage converted by man2html - see https://invisible-island.net/scripts/readme.html#others_scripts">
-<TITLE>curs_slk 3x 2024-03-16 ncurses 6.4 Library calls</TITLE>
+<TITLE>curs_slk 3x 2024-04-20 ncurses 6.4 Library calls</TITLE>
<link rel="author" href="mailto:bug-ncurses@gnu.org">
</HEAD>
<BODY>
-<H1 class="no-header">curs_slk 3x 2024-03-16 ncurses 6.4 Library calls</H1>
+<H1 class="no-header">curs_slk 3x 2024-04-20 ncurses 6.4 Library calls</H1>
<PRE>
<STRONG><A HREF="curs_slk.3x.html">curs_slk(3x)</A></STRONG> Library calls <STRONG><A HREF="curs_slk.3x.html">curs_slk(3x)</A></STRONG>
</PRE><H2><a name="h2-PORTABILITY">PORTABILITY</a></H2><PRE>
- X/Open Curses, Issue 4, describes these functions, with some
- differences from SVr4 <EM>curses</EM>:
+ X/Open Curses, Issue 4 describes these functions, with some differences
+ from SVr4 <EM>curses</EM>:
<STRONG>o</STRONG> X/Open added functions like the SVr4 attribute-manipulation
functions <STRONG>slk_attron</STRONG>, <STRONG>slk_attroff</STRONG>, and <STRONG>slk_attrset</STRONG>, but which use
-ncurses 6.4 2024-03-16 <STRONG><A HREF="curs_slk.3x.html">curs_slk(3x)</A></STRONG>
+ncurses 6.4 2024-04-20 <STRONG><A HREF="curs_slk.3x.html">curs_slk(3x)</A></STRONG>
</PRE>
<div class="nav">
<ul>
* sale, use or other dealings in this Software without prior written *
* authorization. *
****************************************************************************
- * @Id: curs_sp_funcs.3x,v 1.48 2024/03/16 15:35:01 tom Exp @
+ * @Id: curs_sp_funcs.3x,v 1.50 2024/04/20 18:56:31 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_sp_funcs 3x 2024-03-16 ncurses 6.4 Library calls</TITLE>
+<TITLE>curs_sp_funcs 3x 2024-04-20 ncurses 6.4 Library calls</TITLE>
<link rel="author" href="mailto:bug-ncurses@gnu.org">
</HEAD>
<BODY>
-<H1 class="no-header">curs_sp_funcs 3x 2024-03-16 ncurses 6.4 Library calls</H1>
+<H1 class="no-header">curs_sp_funcs 3x 2024-04-20 ncurses 6.4 Library calls</H1>
<PRE>
<STRONG><A HREF="curs_sp_funcs.3x.html">curs_sp_funcs(3x)</A></STRONG> Library calls <STRONG><A HREF="curs_sp_funcs.3x.html">curs_sp_funcs(3x)</A></STRONG>
<STRONG>int</STRONG> <STRONG>echo_sp(SCREEN*</STRONG> <EM>sp</EM><STRONG>);</STRONG>
<STRONG>int</STRONG> <STRONG>endwin_sp(SCREEN*</STRONG> <EM>sp</EM><STRONG>);</STRONG>
<STRONG>char</STRONG> <STRONG>erasechar_sp(SCREEN*</STRONG> <EM>sp</EM><STRONG>);</STRONG>
- <STRONG>int</STRONG> <STRONG>erasewchar_sp(SCREEN*</STRONG> <EM>sp</EM><STRONG>,</STRONG> <STRONG>wchar_t</STRONG> <STRONG>*</STRONG><EM>ch</EM><STRONG>);</STRONG>
+ <STRONG>int</STRONG> <STRONG>erasewchar_sp(SCREEN*</STRONG> <EM>sp</EM><STRONG>,</STRONG> <STRONG>wchar_t</STRONG> <STRONG>*</STRONG><EM>wc</EM><STRONG>);</STRONG>
<STRONG>int</STRONG> <STRONG>extended_color_content_sp(SCREEN</STRONG> <STRONG>*</STRONG> <EM>sp</EM><STRONG>,</STRONG> <STRONG>int</STRONG> <EM>color</EM><STRONG>,</STRONG> <STRONG>int</STRONG> <STRONG>*</STRONG> <EM>r</EM><STRONG>,</STRONG> <STRONG>int</STRONG> <STRONG>*</STRONG> <EM>g</EM><STRONG>,</STRONG> <STRONG>int</STRONG> <STRONG>*</STRONG> <EM>b</EM><STRONG>);</STRONG>
<STRONG>int</STRONG> <STRONG>extended_pair_content_sp(SCREEN*</STRONG> <EM>sp</EM><STRONG>,</STRONG> <STRONG>int</STRONG> <EM>pair</EM><STRONG>,</STRONG> <STRONG>int</STRONG> <STRONG>*</STRONG> <EM>fg</EM><STRONG>,</STRONG> <STRONG>int</STRONG> <STRONG>*</STRONG> <EM>bg</EM><STRONG>);</STRONG>
<STRONG>int</STRONG> <STRONG>extended_slk_color_sp(SCREEN*</STRONG> <EM>sp</EM><STRONG>,</STRONG> <STRONG>int</STRONG> <EM>pair</EM><STRONG>);</STRONG>
<STRONG>bool</STRONG> <STRONG>has_ic_sp(SCREEN*</STRONG> <EM>sp</EM><STRONG>);</STRONG>
<STRONG>bool</STRONG> <STRONG>has_il_sp(SCREEN*</STRONG> <EM>sp</EM><STRONG>);</STRONG>
- <STRONG>int</STRONG> <STRONG>has_key_sp(SCREEN*</STRONG> <EM>sp</EM><STRONG>,</STRONG> <STRONG>int</STRONG> <EM>ch</EM><STRONG>);</STRONG>
+ <STRONG>int</STRONG> <STRONG>has_key_sp(SCREEN*</STRONG> <EM>sp</EM><STRONG>,</STRONG> <STRONG>int</STRONG> <EM>c</EM><STRONG>);</STRONG>
<STRONG>bool</STRONG> <STRONG>has_mouse_sp(SCREEN*</STRONG> <EM>sp</EM><STRONG>);</STRONG>
<STRONG>int</STRONG> <STRONG>init_color_sp(SCREEN*</STRONG> <EM>sp</EM><STRONG>,</STRONG> <STRONG>short</STRONG> <EM>color</EM><STRONG>,</STRONG> <STRONG>short</STRONG> <EM>r</EM><STRONG>,</STRONG> <STRONG>short</STRONG> <EM>g</EM><STRONG>,</STRONG> <STRONG>short</STRONG> <EM>b</EM><STRONG>);</STRONG>
<STRONG>int</STRONG> <STRONG>init_extended_color_sp(SCREEN*</STRONG> <EM>sp</EM><STRONG>,</STRONG> <STRONG>int</STRONG> <EM>color</EM><STRONG>,</STRONG> <STRONG>int</STRONG> <EM>r</EM><STRONG>,</STRONG> <STRONG>int</STRONG> <EM>g</EM><STRONG>,</STRONG> <STRONG>int</STRONG> <EM>b</EM><STRONG>);</STRONG>
<STRONG>int</STRONG> <STRONG>keyok_sp(SCREEN*</STRONG> <EM>sp</EM><STRONG>,</STRONG> <STRONG>int</STRONG> <EM>keycode</EM><STRONG>,</STRONG> <STRONG>bool</STRONG> <EM>enable</EM><STRONG>);</STRONG>
<STRONG>char</STRONG> <STRONG>killchar_sp(SCREEN*</STRONG> <EM>sp</EM><STRONG>);</STRONG>
- <STRONG>int</STRONG> <STRONG>killwchar_sp(SCREEN*</STRONG> <EM>sp</EM><STRONG>,</STRONG> <STRONG>wchar_t</STRONG> <STRONG>*</STRONG><EM>ch</EM><STRONG>);</STRONG>
+ <STRONG>int</STRONG> <STRONG>killwchar_sp(SCREEN*</STRONG> <EM>sp</EM><STRONG>,</STRONG> <STRONG>wchar_t</STRONG> <STRONG>*</STRONG><EM>wc</EM><STRONG>);</STRONG>
<STRONG>char*</STRONG> <STRONG>longname_sp(SCREEN*</STRONG> <EM>sp</EM><STRONG>);</STRONG>
<STRONG>int</STRONG> <STRONG>mcprint_sp(SCREEN*</STRONG> <EM>sp</EM><STRONG>,</STRONG> <STRONG>char</STRONG> <STRONG>*</STRONG><EM>data</EM><STRONG>,</STRONG> <STRONG>int</STRONG> <EM>len</EM><STRONG>);</STRONG>
<STRONG>int</STRONG> <STRONG>mouseinterval_sp(SCREEN*</STRONG> <EM>sp</EM><STRONG>,</STRONG> <STRONG>int</STRONG> <EM>erval</EM><STRONG>);</STRONG>
<STRONG>chtype</STRONG> <STRONG>termattrs_sp(SCREEN*</STRONG> <EM>sp</EM><STRONG>);</STRONG>
<STRONG>char*</STRONG> <STRONG>termname_sp(SCREEN*</STRONG> <EM>sp</EM><STRONG>);</STRONG>
<STRONG>int</STRONG> <STRONG>typeahead_sp(SCREEN*</STRONG> <EM>sp</EM><STRONG>,</STRONG> <STRONG>int</STRONG> <EM>fd</EM><STRONG>);</STRONG>
- <STRONG>int</STRONG> <STRONG>unget_wch_sp(SCREEN*</STRONG> <EM>sp</EM><STRONG>,</STRONG> <STRONG>const</STRONG> <STRONG>wchar_t</STRONG> <EM>wch</EM><STRONG>);</STRONG>
- <STRONG>int</STRONG> <STRONG>ungetch_sp(SCREEN*</STRONG> <EM>sp</EM><STRONG>,</STRONG> <STRONG>int</STRONG> <EM>ch</EM><STRONG>);</STRONG>
+ <STRONG>int</STRONG> <STRONG>unget_wch_sp(SCREEN*</STRONG> <EM>sp</EM><STRONG>,</STRONG> <STRONG>const</STRONG> <STRONG>wchar_t</STRONG> <EM>wc</EM><STRONG>);</STRONG>
+ <STRONG>int</STRONG> <STRONG>ungetch_sp(SCREEN*</STRONG> <EM>sp</EM><STRONG>,</STRONG> <STRONG>int</STRONG> <EM>c</EM><STRONG>);</STRONG>
<STRONG>int</STRONG> <STRONG>ungetmouse_sp(SCREEN*</STRONG> <EM>sp</EM><STRONG>,</STRONG> <STRONG>MEVENT*</STRONG> <EM>event</EM><STRONG>);</STRONG>
<STRONG>int</STRONG> <STRONG>use_default_colors_sp(SCREEN*</STRONG> <EM>sp</EM><STRONG>);</STRONG>
<STRONG>void</STRONG> <STRONG>use_env_sp(SCREEN*</STRONG> <EM>sp</EM><STRONG>,</STRONG> <STRONG>bool</STRONG> <EM>bf</EM><STRONG>);</STRONG>
<STRONG>int</STRONG> <STRONG>vid_puts_sp(SCREEN*</STRONG> <EM>sp</EM><STRONG>,</STRONG> <STRONG>attr_t</STRONG> <EM>attrs</EM><STRONG>,</STRONG> <STRONG>short</STRONG> <EM>pair</EM><STRONG>,</STRONG> <STRONG>void</STRONG> <STRONG>*</STRONG> <EM>opts</EM><STRONG>,</STRONG> <STRONG>NCURSES_SP_OUTC</STRONG> <EM>putc</EM><STRONG>);</STRONG>
<STRONG>int</STRONG> <STRONG>vidattr_sp(SCREEN*</STRONG> <EM>sp</EM><STRONG>,</STRONG> <STRONG>chtype</STRONG> <EM>attrs</EM><STRONG>);</STRONG>
<STRONG>int</STRONG> <STRONG>vidputs_sp(SCREEN*</STRONG> <EM>sp</EM><STRONG>,</STRONG> <STRONG>chtype</STRONG> <EM>attrs</EM><STRONG>,</STRONG> <STRONG>NCURSES_SP_OUTC</STRONG> <EM>putc</EM><STRONG>);</STRONG>
- <STRONG>wchar_t*</STRONG> <STRONG>wunctrl_sp(SCREEN*</STRONG> <EM>sp</EM><STRONG>,</STRONG> <STRONG>cchar_t</STRONG> <STRONG>*</STRONG><EM>ch</EM><STRONG>);</STRONG>
+ <STRONG>wchar_t*</STRONG> <STRONG>wunctrl_sp(SCREEN*</STRONG> <EM>sp</EM><STRONG>,</STRONG> <STRONG>cchar_t</STRONG> <STRONG>*</STRONG><EM>wch</EM><STRONG>);</STRONG>
<STRONG>#include</STRONG> <STRONG><form.h></STRONG>
<STRONG>#include</STRONG> <STRONG><unctrl.h></STRONG>
- <STRONG>NCURSES_CONST</STRONG> <STRONG>char*</STRONG> <STRONG>unctrl_sp(SCREEN*</STRONG> <EM>sp</EM><STRONG>,</STRONG> <STRONG>chtype</STRONG> <EM>c</EM><STRONG>);</STRONG>
+ <STRONG>NCURSES_CONST</STRONG> <STRONG>char*</STRONG> <STRONG>unctrl_sp(SCREEN*</STRONG> <EM>sp</EM><STRONG>,</STRONG> <STRONG>chtype</STRONG> <EM>ch</EM><STRONG>);</STRONG>
</PRE><H2><a name="h2-DESCRIPTION">DESCRIPTION</a></H2><PRE>
-ncurses 6.4 2024-03-16 <STRONG><A HREF="curs_sp_funcs.3x.html">curs_sp_funcs(3x)</A></STRONG>
+ncurses 6.4 2024-04-20 <STRONG><A HREF="curs_sp_funcs.3x.html">curs_sp_funcs(3x)</A></STRONG>
</PRE>
<div class="nav">
<ul>
* sale, use or other dealings in this Software without prior written *
* authorization. *
****************************************************************************
- * @Id: curs_termattrs.3x,v 1.38 2024/04/13 22:16:39 tom Exp @
+ * @Id: curs_termattrs.3x,v 1.41 2024/04/20 21:20:07 tom Exp @
-->
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN">
<HTML>
<HEAD>
<meta http-equiv="Content-Type" content="text/html; charset=us-ascii">
<meta name="generator" content="Manpage converted by man2html - see https://invisible-island.net/scripts/readme.html#others_scripts">
-<TITLE>curs_termattrs 3x 2024-04-13 ncurses 6.4 Library calls</TITLE>
+<TITLE>curs_termattrs 3x 2024-04-20 ncurses 6.4 Library calls</TITLE>
<link rel="author" href="mailto:bug-ncurses@gnu.org">
</HEAD>
<BODY>
-<H1 class="no-header">curs_termattrs 3x 2024-04-13 ncurses 6.4 Library calls</H1>
+<H1 class="no-header">curs_termattrs 3x 2024-04-20 ncurses 6.4 Library calls</H1>
<PRE>
<STRONG><A HREF="curs_termattrs.3x.html">curs_termattrs(3x)</A></STRONG> Library calls <STRONG><A HREF="curs_termattrs.3x.html">curs_termattrs(3x)</A></STRONG>
<STRONG>int</STRONG> <STRONG>baudrate(void);</STRONG>
<STRONG>char</STRONG> <STRONG>erasechar(void);</STRONG>
- <STRONG>int</STRONG> <STRONG>erasewchar(wchar_t</STRONG> <STRONG>*</STRONG><EM>ch</EM><STRONG>);</STRONG>
+ <STRONG>int</STRONG> <STRONG>erasewchar(wchar_t</STRONG> <STRONG>*</STRONG><EM>wc</EM><STRONG>);</STRONG>
<STRONG>bool</STRONG> <STRONG>has_ic(void);</STRONG>
<STRONG>bool</STRONG> <STRONG>has_il(void);</STRONG>
<STRONG>char</STRONG> <STRONG>killchar(void);</STRONG>
- <STRONG>int</STRONG> <STRONG>killwchar(wchar_t</STRONG> <STRONG>*</STRONG><EM>ch</EM><STRONG>);</STRONG>
+ <STRONG>int</STRONG> <STRONG>killwchar(wchar_t</STRONG> <STRONG>*</STRONG><EM>wc</EM><STRONG>);</STRONG>
<STRONG>char</STRONG> <STRONG>*longname(void);</STRONG>
<STRONG>attr_t</STRONG> <STRONG>term_attrs(void);</STRONG>
<STRONG>chtype</STRONG> <STRONG>termattrs(void);</STRONG>
The <STRONG>erasechar</STRONG> routine returns the user's current erase character.
The <STRONG>erasewchar</STRONG> routine stores the current erase character in the
- location referenced by <EM>ch</EM>. If no erase character has been defined, the
- routine fails and the location referenced by <EM>ch</EM> is not changed.
+ location referenced by <EM>wc</EM>. If no erase character has been defined, the
+ routine fails and the location referenced by <EM>wc</EM> is not changed.
</PRE><H3><a name="h3-has_ic_has_il">has_ic, has_il</a></H3><PRE>
The <STRONG>killchar</STRONG> routine returns the user's current line kill character.
The <STRONG>killwchar</STRONG> routine stores the current line-kill character in the
- location referenced by <EM>ch</EM>. If no line-kill character has been defined,
- the routine fails and the location referenced by <EM>ch</EM> is not changed.
+ location referenced by <EM>wc</EM>. If no line-kill character has been defined,
+ the routine fails and the location referenced by <EM>wc</EM> is not changed.
</PRE><H3><a name="h3-longname">longname</a></H3><PRE>
</PRE><H2><a name="h2-PORTABILITY">PORTABILITY</a></H2><PRE>
- The XSI Curses standard, Issue 4 describes these functions. It changes
- the return type of <STRONG>termattrs</STRONG> to the new type <STRONG>attr_t</STRONG>. Most versions of
+ X/Open Curses, Issue 4 describes these functions. It changes the
+ return type of <STRONG>termattrs</STRONG> to the new type <STRONG>attr_t</STRONG>. Most versions of
curses truncate the result returned by <STRONG>termname</STRONG> to 14 characters.
-ncurses 6.4 2024-04-13 <STRONG><A HREF="curs_termattrs.3x.html">curs_termattrs(3x)</A></STRONG>
+ncurses 6.4 2024-04-20 <STRONG><A HREF="curs_termattrs.3x.html">curs_termattrs(3x)</A></STRONG>
</PRE>
<div class="nav">
<ul>
* sale, use or other dealings in this Software without prior written *
* authorization. *
****************************************************************************
- * @Id: curs_termcap.3x,v 1.83 2024/03/16 15:35:01 tom Exp @
+ * @Id: curs_termcap.3x,v 1.85 2024/04/20 19:13:12 tom Exp @
-->
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN">
<HTML>
<HEAD>
<meta http-equiv="Content-Type" content="text/html; charset=us-ascii">
<meta name="generator" content="Manpage converted by man2html - see https://invisible-island.net/scripts/readme.html#others_scripts">
-<TITLE>curs_termcap 3x 2024-03-16 ncurses 6.4 Library calls</TITLE>
+<TITLE>curs_termcap 3x 2024-04-20 ncurses 6.4 Library calls</TITLE>
<link rel="author" href="mailto:bug-ncurses@gnu.org">
</HEAD>
<BODY>
-<H1 class="no-header">curs_termcap 3x 2024-03-16 ncurses 6.4 Library calls</H1>
+<H1 class="no-header">curs_termcap 3x 2024-04-20 ncurses 6.4 Library calls</H1>
<PRE>
<STRONG><A HREF="curs_termcap.3x.html">curs_termcap(3x)</A></STRONG> Library calls <STRONG><A HREF="curs_termcap.3x.html">curs_termcap(3x)</A></STRONG>
implementations conforming to portions of X/Open Curses now
withdrawn. The BSD <EM>termcap</EM> library would store a copy of the
terminal type description in the area referenced by this
- pointer. <EM>ncurses</EM> stores terminal type descriptions in compiled
+ pointer. <EM>terminfo</EM> stores terminal type descriptions in compiled
form, which is not the same thing.
<STRONG>o</STRONG> The meanings of the return values differ. The BSD <EM>termcap</EM>
parameterized string capability, be aware that it is returned in <EM>term-</EM>
<EM>info</EM> notation, not the older and not-quite-compatible <EM>termcap</EM> notation.
This does not cause problems if all you do with it is call <STRONG>tgoto</STRONG> or
- <STRONG>tparm</STRONG>, which both expand <EM>terminfo</EM>-style strings as <EM>terminfo</EM> does. (If
- <EM>ncurses</EM> is configured to support <EM>termcap,</EM> <STRONG>tgoto</STRONG> checks whether the
- string is <EM>terminfo</EM>-style by looking for "<STRONG>%p</STRONG>" parameters or "<STRONG><</STRONG>...<STRONG>></STRONG>"
- delays, and invokes a <EM>termcap</EM>-style parser if the string appears not to
- use <EM>terminfo</EM> syntax.)
+ <STRONG>tparm</STRONG>, which both parametrically expand <EM>terminfo</EM>-style string
+ capabilities as <EM>terminfo</EM> does. (If <EM>ncurses</EM> is configured to support
+ <EM>termcap,</EM> <STRONG>tgoto</STRONG> checks whether the string is <EM>terminfo</EM>-style by looking
+ for "<STRONG>%p</STRONG>" parameters or "<STRONG><</STRONG>...<STRONG>></STRONG>" delays, and invokes a <EM>termcap</EM>-style
+ parser if the string appears not to use <EM>terminfo</EM> syntax.)
Because <EM>terminfo</EM>'s syntax for padding in string capabilities differs
from <EM>termcap</EM>'s, users can be surprised.
-ncurses 6.4 2024-03-16 <STRONG><A HREF="curs_termcap.3x.html">curs_termcap(3x)</A></STRONG>
+ncurses 6.4 2024-04-20 <STRONG><A HREF="curs_termcap.3x.html">curs_termcap(3x)</A></STRONG>
</PRE>
<div class="nav">
<ul>
* sale, use or other dealings in this Software without prior written *
* authorization. *
****************************************************************************
- * @Id: curs_touch.3x,v 1.44 2024/03/16 15:49:58 tom Exp @
+ * @Id: curs_touch.3x,v 1.47 2024/04/20 21:20:07 tom Exp @
-->
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN">
<HTML>
<HEAD>
<meta http-equiv="Content-Type" content="text/html; charset=us-ascii">
<meta name="generator" content="Manpage converted by man2html - see https://invisible-island.net/scripts/readme.html#others_scripts">
-<TITLE>curs_touch 3x 2024-03-16 ncurses 6.4 Library calls</TITLE>
+<TITLE>curs_touch 3x 2024-04-20 ncurses 6.4 Library calls</TITLE>
<link rel="author" href="mailto:bug-ncurses@gnu.org">
</HEAD>
<BODY>
-<H1 class="no-header">curs_touch 3x 2024-03-16 ncurses 6.4 Library calls</H1>
+<H1 class="no-header">curs_touch 3x 2024-04-20 ncurses 6.4 Library calls</H1>
<PRE>
<STRONG><A HREF="curs_touch.3x.html">curs_touch(3x)</A></STRONG> Library calls <STRONG><A HREF="curs_touch.3x.html">curs_touch(3x)</A></STRONG>
<STRONG>is_linetouched</STRONG>
returns an error if the window pointer is null, or if the line
- number is outside the window.
+ number is outside the window boundaries.
The constant <STRONG>ERR</STRONG> is distinct from <STRONG>TRUE</STRONG> and <STRONG>FALSE</STRONG>, which are the
normal return values of this function. Because the function
<STRONG>wtouchln</STRONG>
returns an error if the window pointer is null, or if the line
- number is outside the window.
+ number is outside the window boundaries.
</PRE><H2><a name="h2-NOTES">NOTES</a></H2><PRE>
does not check the window parameter <EM>win</EM> to ensure that it is not <STRONG>NULL</STRONG>;
otherwise this implementation behaves the same as SVr4.
- The XSI Curses standard, Issue 4 describes these functions, but defines
- no error conditions.
+ X/Open Curses, Issue 4 describes these functions, but defines no error
+ conditions.
</PRE><H2><a name="h2-SEE-ALSO">SEE ALSO</a></H2><PRE>
-ncurses 6.4 2024-03-16 <STRONG><A HREF="curs_touch.3x.html">curs_touch(3x)</A></STRONG>
+ncurses 6.4 2024-04-20 <STRONG><A HREF="curs_touch.3x.html">curs_touch(3x)</A></STRONG>
</PRE>
<div class="nav">
<ul>
* sale, use or other dealings in this Software without prior written *
* authorization. *
****************************************************************************
- * @Id: curs_trace.3x,v 1.47 2024/03/16 15:35:01 tom Exp @
+ * @Id: curs_trace.3x,v 1.50 2024/04/20 21:24:19 tom Exp @
-->
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN">
<HTML>
<HEAD>
<meta http-equiv="Content-Type" content="text/html; charset=us-ascii">
<meta name="generator" content="Manpage converted by man2html - see https://invisible-island.net/scripts/readme.html#others_scripts">
-<TITLE>curs_trace 3x 2024-03-16 ncurses 6.4 Library calls</TITLE>
+<TITLE>curs_trace 3x 2024-04-20 ncurses 6.4 Library calls</TITLE>
<link rel="author" href="mailto:bug-ncurses@gnu.org">
</HEAD>
<BODY>
-<H1 class="no-header">curs_trace 3x 2024-03-16 ncurses 6.4 Library calls</H1>
+<H1 class="no-header">curs_trace 3x 2024-04-20 ncurses 6.4 Library calls</H1>
<PRE>
<STRONG><A HREF="curs_trace.3x.html">curs_trace(3x)</A></STRONG> Library calls <STRONG><A HREF="curs_trace.3x.html">curs_trace(3x)</A></STRONG>
</PRE><H2><a name="h2-SYNOPSIS">SYNOPSIS</a></H2><PRE>
<STRONG>#include</STRONG> <STRONG><curses.h></STRONG>
- <STRONG>unsigned</STRONG> <STRONG>curses_trace(const</STRONG> <STRONG>unsigned</STRONG> <EM>param</EM><STRONG>);</STRONG>
+ <STRONG>unsigned</STRONG> <STRONG>curses_trace(const</STRONG> <STRONG>unsigned</STRONG> <EM>trace-mask</EM><STRONG>);</STRONG>
<STRONG>void</STRONG> <STRONG>_tracef(const</STRONG> <STRONG>char</STRONG> <STRONG>*</STRONG><EM>format</EM><STRONG>,</STRONG> <STRONG>...);</STRONG>
<STRONG>char</STRONG> <STRONG>*_traceattr2(int</STRONG> <EM>buffer</EM><STRONG>,</STRONG> <STRONG>chtype</STRONG> <EM>ch</EM><STRONG>);</STRONG>
<STRONG>char</STRONG> <STRONG>*_tracecchar_t(const</STRONG> <STRONG>cchar_t</STRONG> <STRONG>*</STRONG><EM>string</EM><STRONG>);</STRONG>
<STRONG>char</STRONG> <STRONG>*_tracecchar_t2(int</STRONG> <EM>buffer</EM><STRONG>,</STRONG> <STRONG>const</STRONG> <STRONG>cchar_t</STRONG> <STRONG>*</STRONG><EM>string</EM><STRONG>);</STRONG>
- <STRONG>char</STRONG> <STRONG>*_tracechar(int</STRONG> <EM>ch</EM><STRONG>);</STRONG>
+ <STRONG>char</STRONG> <STRONG>*_tracechar(int</STRONG> <EM>c</EM><STRONG>);</STRONG>
<STRONG>char</STRONG> <STRONG>*_tracechtype(chtype</STRONG> <EM>ch</EM><STRONG>);</STRONG>
<STRONG>char</STRONG> <STRONG>*_tracechtype2(int</STRONG> <EM>buffer</EM><STRONG>,</STRONG> <STRONG>chtype</STRONG> <EM>ch</EM><STRONG>);</STRONG>
<STRONG>char</STRONG> <STRONG>*_tracemouse(const</STRONG> <STRONG>MEVENT</STRONG> <STRONG>*</STRONG><EM>event</EM><STRONG>);</STRONG>
<EM>/*</EM> <EM>deprecated</EM> <EM>*/</EM>
- <STRONG>void</STRONG> <STRONG>trace(const</STRONG> <STRONG>unsigned</STRONG> <STRONG>int</STRONG> <EM>param</EM><STRONG>);</STRONG>
+ <STRONG>void</STRONG> <STRONG>trace(const</STRONG> <STRONG>unsigned</STRONG> <STRONG>int</STRONG> <EM>trace-mask</EM><STRONG>);</STRONG>
</PRE><H2><a name="h2-DESCRIPTION">DESCRIPTION</a></H2><PRE>
</PRE><H2><a name="h2-PORTABILITY">PORTABILITY</a></H2><PRE>
- These functions are not part of the XSI interface. Some other curses
- implementations are known to have similar features, but they are not
- compatible with <EM>ncurses</EM>:
+ These functions are not part of the X/Open Curses interface. Some
+ other curses implementations are known to have similar features, but
+ they are not compatible with <EM>ncurses</EM>:
<STRONG>o</STRONG> SVr4 provided <STRONG>traceon</STRONG> and <STRONG>traceoff</STRONG>, to control whether debugging
information was written to the "trace" file. While the functions
-ncurses 6.4 2024-03-16 <STRONG><A HREF="curs_trace.3x.html">curs_trace(3x)</A></STRONG>
+ncurses 6.4 2024-04-20 <STRONG><A HREF="curs_trace.3x.html">curs_trace(3x)</A></STRONG>
</PRE>
<div class="nav">
<ul>
* sale, use or other dealings in this Software without prior written *
* authorization. *
****************************************************************************
- * @Id: curs_util.3x,v 1.98 2024/03/16 15:50:09 tom Exp @
+ * @Id: curs_util.3x,v 1.101 2024/04/20 21:20:07 tom Exp @
-->
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN">
<HTML>
<HEAD>
<meta http-equiv="Content-Type" content="text/html; charset=us-ascii">
<meta name="generator" content="Manpage converted by man2html - see https://invisible-island.net/scripts/readme.html#others_scripts">
-<TITLE>curs_util 3x 2024-03-16 ncurses 6.4 Library calls</TITLE>
+<TITLE>curs_util 3x 2024-04-20 ncurses 6.4 Library calls</TITLE>
<link rel="author" href="mailto:bug-ncurses@gnu.org">
</HEAD>
<BODY>
-<H1 class="no-header">curs_util 3x 2024-03-16 ncurses 6.4 Library calls</H1>
+<H1 class="no-header">curs_util 3x 2024-04-20 ncurses 6.4 Library calls</H1>
<PRE>
<STRONG><A HREF="curs_util.3x.html">curs_util(3x)</A></STRONG> Library calls <STRONG><A HREF="curs_util.3x.html">curs_util(3x)</A></STRONG>
</PRE><H2><a name="h2-SYNOPSIS">SYNOPSIS</a></H2><PRE>
<STRONG>#include</STRONG> <STRONG><curses.h></STRONG>
- <STRONG>const</STRONG> <STRONG>char</STRONG> <STRONG>*unctrl(chtype</STRONG> <EM>c</EM><STRONG>);</STRONG>
- <STRONG>wchar_t</STRONG> <STRONG>*wunctrl(cchar_t</STRONG> <STRONG>*</STRONG><EM>c</EM><STRONG>);</STRONG>
+ <STRONG>const</STRONG> <STRONG>char</STRONG> <STRONG>*unctrl(chtype</STRONG> <EM>ch</EM><STRONG>);</STRONG>
+ <STRONG>wchar_t</STRONG> <STRONG>*wunctrl(cchar_t</STRONG> <STRONG>*</STRONG><EM>wch</EM><STRONG>);</STRONG>
<STRONG>const</STRONG> <STRONG>char</STRONG> <STRONG>*keyname(int</STRONG> <EM>c</EM><STRONG>);</STRONG>
- <STRONG>const</STRONG> <STRONG>char</STRONG> <STRONG>*key_name(wchar_t</STRONG> <EM>w</EM><STRONG>);</STRONG>
+ <STRONG>const</STRONG> <STRONG>char</STRONG> <STRONG>*key_name(wchar_t</STRONG> <EM>wc</EM><STRONG>);</STRONG>
<STRONG>void</STRONG> <STRONG>filter(void);</STRONG>
</PRE><H3><a name="h3-unctrl">unctrl</a></H3><PRE>
The <STRONG>unctrl</STRONG> routine returns a character string which is a printable
- representation of the character <EM>c</EM>:
+ representation of the character <EM>ch</EM>:
<STRONG>o</STRONG> Printable characters are displayed as themselves, e.g., a one-
character string containing the key.
this follows the X/Open specification.
The corresponding <STRONG>wunctrl</STRONG> returns a printable representation of a
- complex character <EM>c</EM>.
+ complex character <EM>wch</EM>.
In both <STRONG>unctrl</STRONG> and <STRONG>wunctrl</STRONG> the attributes and color associated with the
character parameter are ignored.
</PRE><H3><a name="h3-filter">filter</a></H3><PRE>
The SVr4 documentation describes the action of <STRONG>filter</STRONG> only in the
- vaguest terms. The description here is adapted from the XSI Curses
- standard (which erroneously fails to describe the disabling of <STRONG>cuu</STRONG>).
+ vaguest terms. The description here is adapted from X/Open Curses
+ (which erroneously fails to describe the disabling of <STRONG>cuu</STRONG>).
</PRE><H3><a name="h3-delay_output-padding">delay_output padding</a></H3><PRE>
</PRE><H3><a name="h3-unctrl_wunctrl">unctrl, wunctrl</a></H3><PRE>
- The XSI Curses standard, Issue 4 describes these functions. It states
- that <STRONG>unctrl</STRONG> and <STRONG>wunctrl</STRONG> will return a null pointer if unsuccessful, but
- does not define any error conditions. This implementation checks for
- three cases:
+ X/Open Curses, Issue 4 describes these functions. It states that
+ <STRONG>unctrl</STRONG> and <STRONG>wunctrl</STRONG> will return a null pointer if unsuccessful, but does
+ not define any error conditions. This implementation checks for three
+ cases:
<STRONG>o</STRONG> the parameter is a 7-bit US-ASCII code. This is the case that
X/Open Curses documented.
-ncurses 6.4 2024-03-16 <STRONG><A HREF="curs_util.3x.html">curs_util(3x)</A></STRONG>
+ncurses 6.4 2024-04-20 <STRONG><A HREF="curs_util.3x.html">curs_util(3x)</A></STRONG>
</PRE>
<div class="nav">
<ul>
* sale, use or other dealings in this Software without prior written *
* authorization. *
****************************************************************************
- * @Id: curs_window.3x,v 1.46 2024/03/16 15:35:01 tom Exp @
+ * @Id: curs_window.3x,v 1.48 2024/04/20 21:20:07 tom Exp @
-->
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN">
<HTML>
<HEAD>
<meta http-equiv="Content-Type" content="text/html; charset=us-ascii">
<meta name="generator" content="Manpage converted by man2html - see https://invisible-island.net/scripts/readme.html#others_scripts">
-<TITLE>curs_window 3x 2024-03-16 ncurses 6.4 Library calls</TITLE>
+<TITLE>curs_window 3x 2024-04-20 ncurses 6.4 Library calls</TITLE>
<link rel="author" href="mailto:bug-ncurses@gnu.org">
</HEAD>
<BODY>
-<H1 class="no-header">curs_window 3x 2024-03-16 ncurses 6.4 Library calls</H1>
+<H1 class="no-header">curs_window 3x 2024-04-20 ncurses 6.4 Library calls</H1>
<PRE>
<STRONG><A HREF="curs_window.3x.html">curs_window(3x)</A></STRONG> Library calls <STRONG><A HREF="curs_window.3x.html">curs_window(3x)</A></STRONG>
</PRE><H2><a name="h2-PORTABILITY">PORTABILITY</a></H2><PRE>
- The XSI Curses standard, Issue 4 describes these functions.
+ X/Open Curses, Issue 4 describes these functions.
X/Open Curses states regarding <STRONG>delwin</STRONG>:
-ncurses 6.4 2024-03-16 <STRONG><A HREF="curs_window.3x.html">curs_window(3x)</A></STRONG>
+ncurses 6.4 2024-04-20 <STRONG><A HREF="curs_window.3x.html">curs_window(3x)</A></STRONG>
</PRE>
<div class="nav">
<ul>
* sale, use or other dealings in this Software without prior written *
* authorization. *
****************************************************************************
- * @Id: form_driver.3x,v 1.59 2024/03/16 15:35:01 tom Exp @
+ * @Id: form_driver.3x,v 1.61 2024/04/20 18:55:09 tom Exp @
-->
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN">
<HTML>
<HEAD>
<meta http-equiv="Content-Type" content="text/html; charset=us-ascii">
<meta name="generator" content="Manpage converted by man2html - see https://invisible-island.net/scripts/readme.html#others_scripts">
-<TITLE>form_driver 3x 2024-03-16 ncurses 6.4 Library calls</TITLE>
+<TITLE>form_driver 3x 2024-04-20 ncurses 6.4 Library calls</TITLE>
<link rel="author" href="mailto:bug-ncurses@gnu.org">
</HEAD>
<BODY>
-<H1 class="no-header">form_driver 3x 2024-03-16 ncurses 6.4 Library calls</H1>
+<H1 class="no-header">form_driver 3x 2024-04-20 ncurses 6.4 Library calls</H1>
<PRE>
<STRONG><A HREF="form_driver.3x.html">form_driver(3x)</A></STRONG> Library calls <STRONG><A HREF="form_driver.3x.html">form_driver(3x)</A></STRONG>
<STRONG>#include</STRONG> <STRONG><form.h></STRONG>
<STRONG>int</STRONG> <STRONG>form_driver(FORM</STRONG> <STRONG>*</STRONG><EM>form</EM><STRONG>,</STRONG> <STRONG>int</STRONG> <EM>c</EM><STRONG>);</STRONG>
- <STRONG>int</STRONG> <STRONG>form_driver_w(FORM</STRONG> <STRONG>*</STRONG><EM>form</EM><STRONG>,</STRONG> <STRONG>int</STRONG> <EM>c</EM><STRONG>,</STRONG> <STRONG>wchar_t</STRONG> <EM>wch</EM><STRONG>);</STRONG>
+ <STRONG>int</STRONG> <STRONG>form_driver_w(FORM</STRONG> <STRONG>*</STRONG><EM>form</EM><STRONG>,</STRONG> <STRONG>int</STRONG> <EM>c</EM><STRONG>,</STRONG> <STRONG>wchar_t</STRONG> <EM>wc</EM><STRONG>);</STRONG>
</PRE><H2><a name="h2-DESCRIPTION">DESCRIPTION</a></H2><PRE>
-ncurses 6.4 2024-03-16 <STRONG><A HREF="form_driver.3x.html">form_driver(3x)</A></STRONG>
+ncurses 6.4 2024-04-20 <STRONG><A HREF="form_driver.3x.html">form_driver(3x)</A></STRONG>
</PRE>
<div class="nav">
<ul>
* authorization. *
****************************************************************************
* Author: Thomas E. Dickey
- * @Id: legacy_coding.3x,v 1.26 2024/03/16 15:35:01 tom Exp @
+ * @Id: legacy_coding.3x,v 1.28 2024/04/20 19:13: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>legacy_coding 3x 2024-03-16 ncurses 6.4 Library calls</TITLE>
+<TITLE>legacy_coding 3x 2024-04-20 ncurses 6.4 Library calls</TITLE>
<link rel="author" href="mailto:bug-ncurses@gnu.org">
</HEAD>
<BODY>
-<H1 class="no-header">legacy_coding 3x 2024-03-16 ncurses 6.4 Library calls</H1>
+<H1 class="no-header">legacy_coding 3x 2024-04-20 ncurses 6.4 Library calls</H1>
<PRE>
<STRONG><A HREF="legacy_coding.3x.html">legacy_coding(3x)</A></STRONG> Library calls <STRONG><A HREF="legacy_coding.3x.html">legacy_coding(3x)</A></STRONG>
</PRE><H2><a name="h2-DESCRIPTION">DESCRIPTION</a></H2><PRE>
- The <STRONG>use_legacy_coding</STRONG> function is an extension to the curses library.
- It allows the caller to change the result of <STRONG>unctrl</STRONG>, and suppress
- related checks within the library that would normally cause nonprinting
- characters to be rendered in visible form. This affects only 8-bit
- characters.
+ <STRONG>use_legacy_coding</STRONG> is an extension to the <EM>curses</EM> library. It allows the
+ caller to change the result of <STRONG><A HREF="unctrl.3x.html">unctrl(3x)</A></STRONG>, suppressing <STRONG>isprint(3)</STRONG>-based
+ checks within the library that would normally cause nonprinting
+ characters to be rendered in visible form. The alteration affects only
+ eight-bit characters.
- The <EM>level</EM> parameter controls the result:
+ The <EM>level</EM> parameter controls the result.
- 0 the library functions normally, rendering nonprinting
- characters as described in <STRONG>unctrl</STRONG>.
+ <STRONG>0</STRONG> The library functions normally, rendering nonprinting
+ characters as described in <STRONG><A HREF="unctrl.3x.html">unctrl(3x)</A></STRONG>,
- 1 the library ignores <STRONG>isprintf</STRONG> for codes in the range
- 160-255.
+ <STRONG>1</STRONG> the library ignores <EM>isprint</EM> for codes in the range 160-255.
- 2 the library ignores <STRONG>isprintf</STRONG> for codes in the range
- 128-255. It also modifies the output of <STRONG>unctrl</STRONG>, showing
- codes in the range 128-159 as is.
+ <STRONG>2</STRONG> the library ignores <EM>isprint</EM> for codes in the range 128-255.
+ It also modifies the output of <STRONG><A HREF="unctrl.3x.html">unctrl(3x)</A></STRONG>, showing codes in
+ the range 128-159 as is.
</PRE><H2><a name="h2-RETURN-VALUE">RETURN VALUE</a></H2><PRE>
- If the screen has not been initialized, or the <EM>level</EM> parameter is out
- of range, the function returns <STRONG>ERR</STRONG>. Otherwise, it returns the previous
- level: <STRONG>0</STRONG>, <STRONG>1</STRONG> or <STRONG>2</STRONG>.
+ If the screen has not been initialized, or the <EM>level</EM> parameter is out
+ of range, <STRONG>use_legacy_coding</STRONG> returns <STRONG>ERR</STRONG>. Otherwise, it returns the
+ previous level: <STRONG>0</STRONG>, <STRONG>1</STRONG>, or <STRONG>2</STRONG>.
</PRE><H2><a name="h2-PORTABILITY">PORTABILITY</a></H2><PRE>
- This routine is specific to <EM>ncurses</EM>. It was not supported on Version
- 7, BSD or System V implementations. It is recommended that any code
- depending on <EM>ncurses</EM> extensions be conditioned using NCURSES_VERSION.
+ <STRONG>use_legacy_coding</STRONG> is specific to <EM>ncurses</EM>. It was not supported on
+ Version 7, BSD or System V implementations. Applications employing
+ <EM>ncurses</EM> extensions should condition their use on the visibility of the
+ <STRONG>NCURSES_VERSION</STRONG> preprocessor macro.
</PRE><H2><a name="h2-AUTHORS">AUTHORS</a></H2><PRE>
- Thomas Dickey (to support lynx's font-switching feature).
+ Thomas Dickey (to support <STRONG>lynx(1)</STRONG>'s font-switching feature).
</PRE><H2><a name="h2-SEE-ALSO">SEE ALSO</a></H2><PRE>
-ncurses 6.4 2024-03-16 <STRONG><A HREF="legacy_coding.3x.html">legacy_coding(3x)</A></STRONG>
+ncurses 6.4 2024-04-20 <STRONG><A HREF="legacy_coding.3x.html">legacy_coding(3x)</A></STRONG>
</PRE>
<div class="nav">
<ul>
* sale, use or other dealings in this Software without prior written *
* authorization. *
****************************************************************************
- * @Id: ncurses.3x,v 1.207 2024/04/14 00:34:00 tom Exp @
+ * @Id: ncurses.3x,v 1.210 2024/04/20 21:24:19 tom Exp @
-->
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN">
<HTML>
<HEAD>
<meta http-equiv="Content-Type" content="text/html; charset=us-ascii">
<meta name="generator" content="Manpage converted by man2html - see https://invisible-island.net/scripts/readme.html#others_scripts">
-<TITLE>ncurses 3x 2024-04-13 ncurses 6.4 Library calls</TITLE>
+<TITLE>ncurses 3x 2024-04-20 ncurses 6.4 Library calls</TITLE>
<link rel="author" href="mailto:bug-ncurses@gnu.org">
</HEAD>
<BODY>
-<H1 class="no-header">ncurses 3x 2024-04-13 ncurses 6.4 Library calls</H1>
+<H1 class="no-header">ncurses 3x 2024-04-20 ncurses 6.4 Library calls</H1>
<PRE>
<STRONG><A HREF="ncurses.3x.html">ncurses(3x)</A></STRONG> Library calls <STRONG><A HREF="ncurses.3x.html">ncurses(3x)</A></STRONG>
terminals with output optimized to minimize screen updates. <EM>ncurses</EM>
replaces the <EM>curses</EM> libraries from System V Release 4 Unix ("SVr4") and
4.4BSD Unix, the development of which ceased in the 1990s. This
- describes <EM>ncurses</EM> version 6.4 (patch 20240413).
+ document describes <EM>ncurses</EM> version 6.4 (patch 20240420).
<EM>ncurses</EM> permits control of the terminal screen's contents; abstraction
and subdivision thereof with <EM>windows</EM> and <EM>pads</EM>; the reading of terminal
parameters.
<EM>bf</EM> <EM>bool</EM> (<STRONG>TRUE</STRONG> or <STRONG>FALSE</STRONG>)
+ <EM>c</EM> a <EM>char</EM> or <EM>int</EM>
+ <EM>ch</EM> a <EM>chtype</EM>
+ <EM>wc</EM> a <EM>wchar</EM><STRONG>_</STRONG><EM>t</EM> or <EM>wint</EM><STRONG>_</STRONG><EM>t</EM>
+ <EM>wch</EM> a <EM>cchar</EM><STRONG>_</STRONG><EM>t</EM>
<EM>win</EM> pointer to a <EM>WINDOW</EM>
<EM>pad</EM> pointer to a <EM>WINDOW</EM> that is a pad
doupdate <STRONG><A HREF="curs_refresh.3x.html">curs_refresh(3x)</A></STRONG>
dupwin <STRONG><A HREF="curs_window.3x.html">curs_window(3x)</A></STRONG>
echo <STRONG><A HREF="curs_inopts.3x.html">curs_inopts(3x)</A></STRONG>
+
echo_wchar <STRONG><A HREF="curs_add_wch.3x.html">curs_add_wch(3x)</A></STRONG>
echochar <STRONG><A HREF="curs_addch.3x.html">curs_addch(3x)</A></STRONG>
endwin <STRONG><A HREF="curs_initscr.3x.html">curs_initscr(3x)</A></STRONG>
erase <STRONG><A HREF="curs_clear.3x.html">curs_clear(3x)</A></STRONG>
-
erasechar <STRONG><A HREF="curs_termattrs.3x.html">curs_termattrs(3x)</A></STRONG>
erasewchar <STRONG><A HREF="curs_termattrs.3x.html">curs_termattrs(3x)</A></STRONG>
exit_curses <STRONG><A HREF="curs_memleaks.3x.html">curs_memleaks(3x)</A></STRONG>*
init_pair <STRONG><A HREF="curs_color.3x.html">curs_color(3x)</A></STRONG>
initscr <STRONG><A HREF="curs_initscr.3x.html">curs_initscr(3x)</A></STRONG>
innstr <STRONG><A HREF="curs_instr.3x.html">curs_instr(3x)</A></STRONG>
+
innwstr <STRONG><A HREF="curs_inwstr.3x.html">curs_inwstr(3x)</A></STRONG>
ins_nwstr <STRONG><A HREF="curs_ins_wstr.3x.html">curs_ins_wstr(3x)</A></STRONG>
ins_wch <STRONG><A HREF="curs_ins_wch.3x.html">curs_ins_wch(3x)</A></STRONG>
ins_wstr <STRONG><A HREF="curs_ins_wstr.3x.html">curs_ins_wstr(3x)</A></STRONG>
-
insch <STRONG><A HREF="curs_insch.3x.html">curs_insch(3x)</A></STRONG>
insdelln <STRONG><A HREF="curs_deleteln.3x.html">curs_deleteln(3x)</A></STRONG>
insertln <STRONG><A HREF="curs_deleteln.3x.html">curs_deleteln(3x)</A></STRONG>
mvget_wch <STRONG><A HREF="curs_get_wch.3x.html">curs_get_wch(3x)</A></STRONG>
mvget_wstr <STRONG><A HREF="curs_get_wstr.3x.html">curs_get_wstr(3x)</A></STRONG>
mvgetch <STRONG><A HREF="curs_getch.3x.html">curs_getch(3x)</A></STRONG>
+
mvgetn_wstr <STRONG><A HREF="curs_get_wstr.3x.html">curs_get_wstr(3x)</A></STRONG>
mvgetnstr <STRONG><A HREF="curs_getstr.3x.html">curs_getstr(3x)</A></STRONG>
mvgetstr <STRONG><A HREF="curs_getstr.3x.html">curs_getstr(3x)</A></STRONG>
mvhline <STRONG><A HREF="curs_border.3x.html">curs_border(3x)</A></STRONG>
-
mvhline_set <STRONG><A HREF="curs_border_set.3x.html">curs_border_set(3x)</A></STRONG>
mvin_wch <STRONG><A HREF="curs_in_wch.3x.html">curs_in_wch(3x)</A></STRONG>
mvin_wchnstr <STRONG><A HREF="curs_in_wchstr.3x.html">curs_in_wchstr(3x)</A></STRONG>
mvwprintw <STRONG><A HREF="curs_printw.3x.html">curs_printw(3x)</A></STRONG>
mvwscanw <STRONG><A HREF="curs_scanw.3x.html">curs_scanw(3x)</A></STRONG>
mvwvline <STRONG><A HREF="curs_border.3x.html">curs_border(3x)</A></STRONG>
+
mvwvline_set <STRONG><A HREF="curs_border_set.3x.html">curs_border_set(3x)</A></STRONG>
napms <STRONG><A HREF="curs_kernel.3x.html">curs_kernel(3x)</A></STRONG>
newpad <STRONG><A HREF="curs_pad.3x.html">curs_pad(3x)</A></STRONG>
newterm <STRONG><A HREF="curs_initscr.3x.html">curs_initscr(3x)</A></STRONG>
-
newwin <STRONG><A HREF="curs_window.3x.html">curs_window(3x)</A></STRONG>
nl <STRONG><A HREF="curs_inopts.3x.html">curs_inopts(3x)</A></STRONG>
nocbreak <STRONG><A HREF="curs_inopts.3x.html">curs_inopts(3x)</A></STRONG>
slk_init <STRONG><A HREF="curs_slk.3x.html">curs_slk(3x)</A></STRONG>
slk_label <STRONG><A HREF="curs_slk.3x.html">curs_slk(3x)</A></STRONG>
slk_noutrefresh <STRONG><A HREF="curs_slk.3x.html">curs_slk(3x)</A></STRONG>
+
slk_refresh <STRONG><A HREF="curs_slk.3x.html">curs_slk(3x)</A></STRONG>
slk_restore <STRONG><A HREF="curs_slk.3x.html">curs_slk(3x)</A></STRONG>
slk_set <STRONG><A HREF="curs_slk.3x.html">curs_slk(3x)</A></STRONG>
slk_touch <STRONG><A HREF="curs_slk.3x.html">curs_slk(3x)</A></STRONG>
-
slk_wset <STRONG><A HREF="curs_slk.3x.html">curs_slk(3x)</A></STRONG>
standend <STRONG><A HREF="curs_attr.3x.html">curs_attr(3x)</A></STRONG>
standout <STRONG><A HREF="curs_attr.3x.html">curs_attr(3x)</A></STRONG>
waddnwstr <STRONG><A HREF="curs_addwstr.3x.html">curs_addwstr(3x)</A></STRONG>
waddstr <STRONG><A HREF="curs_addstr.3x.html">curs_addstr(3x)</A></STRONG>
waddwstr <STRONG><A HREF="curs_addwstr.3x.html">curs_addwstr(3x)</A></STRONG>
+
wattr_get <STRONG><A HREF="curs_attr.3x.html">curs_attr(3x)</A></STRONG>
wattr_off <STRONG><A HREF="curs_attr.3x.html">curs_attr(3x)</A></STRONG>
wattr_on <STRONG><A HREF="curs_attr.3x.html">curs_attr(3x)</A></STRONG>
wattr_set <STRONG><A HREF="curs_attr.3x.html">curs_attr(3x)</A></STRONG>
-
wattroff <STRONG><A HREF="curs_attr.3x.html">curs_attr(3x)</A></STRONG>
wattron <STRONG><A HREF="curs_attr.3x.html">curs_attr(3x)</A></STRONG>
wattrset <STRONG><A HREF="curs_attr.3x.html">curs_attr(3x)</A></STRONG>
wscanw <STRONG><A HREF="curs_scanw.3x.html">curs_scanw(3x)</A></STRONG>
wscrl <STRONG><A HREF="curs_scroll.3x.html">curs_scroll(3x)</A></STRONG>
wsetscrreg <STRONG><A HREF="curs_outopts.3x.html">curs_outopts(3x)</A></STRONG>
+
wstandend <STRONG><A HREF="curs_attr.3x.html">curs_attr(3x)</A></STRONG>
wstandout <STRONG><A HREF="curs_attr.3x.html">curs_attr(3x)</A></STRONG>
wsyncdown <STRONG><A HREF="curs_window.3x.html">curs_window(3x)</A></STRONG>
wsyncup <STRONG><A HREF="curs_window.3x.html">curs_window(3x)</A></STRONG>
-
wtimeout <STRONG><A HREF="curs_inopts.3x.html">curs_inopts(3x)</A></STRONG>
wtouchln <STRONG><A HREF="curs_touch.3x.html">curs_touch(3x)</A></STRONG>
wunctrl <STRONG><A HREF="curs_util.3x.html">curs_util(3x)</A></STRONG>
Unless otherwise noted, functions that return an integer return <STRONG>OK</STRONG> on
success and <STRONG>ERR</STRONG> on failure. Functions that return pointers return <STRONG>NULL</STRONG>
on failure. Typically, <EM>ncurses</EM> treats a null pointer passed as a
- function parameter as a failure. Functions with a "mv" prefix first
- perform cursor movement using <STRONG><A HREF="curs_move.3x.html">wmove(3x)</A></STRONG> and fail if the position is
- outside the window.
+ function parameter as a failure. 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-ENVIRONMENT">ENVIRONMENT</a></H2><PRE>
</PRE><H3><a name="h3-TERM"><EM>TERM</EM></a></H3><PRE>
- Denotes your terminal type. Each terminal type is distinct, though
- many are similar.
-
- <EM>TERM</EM> is commonly set by terminal emulators to help applications find a
- workable terminal description. Some of those choose a popular
- approximation, e.g., "ansi", "vt100", "xterm" rather than an exact fit.
- Not infrequently, your application will have problems with that
- approach, e.g., incorrect function-key definitions.
-
- If you set <EM>TERM</EM> in your environment, it has no effect on the operation
- of the terminal emulator. It only affects the way applications work
- within the terminal. Likewise, as a general rule (<STRONG>xterm(1)</STRONG> being a
- rare exception), terminal emulators which allow you to specify <EM>TERM</EM> as
- a parameter or configuration value do not change their behavior to
- match that setting.
+ The <EM>TERM</EM> variable denotes the terminal type. Each is distinct, though
+ many are similar. It is commonly set by terminal emulators to help
+ applications find a workable terminal description. Some choose a
+ popular approximation such as "ansi", "vt100", or "xterm" rather than
+ an exact fit to their capabilities. Not infrequently, an application
+ will have problems with that approach; for example, a key stroke may
+ not operate correctly, or produce no effect but seeming garbage
+ characters on the screen.
+
+ Setting <EM>TERM</EM> has no effect on hardware operation; it affects the way
+ applications communicate with the terminal. Likewise, as a general
+ rule (<STRONG>xterm(1)</STRONG> being a rare exception), terminal emulators that allow
+ you to specify <EM>TERM</EM> as a parameter or configuration value do not change
+ their behavior to match that setting.
</PRE><H3><a name="h3-TERMCAP"><EM>TERMCAP</EM></a></H3><PRE>
- If the <EM>ncurses</EM> library has been configured with <EM>termcap</EM> support,
- <EM>ncurses</EM> will check for a terminal's description in termcap form if it
- is not available in the terminfo database.
-
- The <EM>TERMCAP</EM> environment variable contains either a terminal description
- (with newlines stripped out), or a file name telling where the
- information denoted by the <EM>TERM</EM> environment variable exists. In either
- case, setting it directs <EM>ncurses</EM> to ignore the usual place for this
- information, e.g., /etc/termcap.
+ If <EM>ncurses</EM> is configured with <EM>termcap</EM> support, it checks for a terminal
+ type description in <EM>termcap</EM> format if one in <EM>terminfo</EM> format is not
+ available. Setting this variable directs <EM>ncurses</EM> to ignore the usual
+ <EM>termcap</EM> database location, <EM>/etc/termcap</EM>; see <EM>TERMPATH</EM> below. <EM>TERMCAP</EM>
+ should contain either a terminal description (with newlines stripped
+ out), or a file name indicating where the information required by the
+ <EM>TERM</EM> environment variable is stored.
</PRE><H3><a name="h3-TERMINFO"><EM>TERMINFO</EM></a></H3><PRE>
- <EM>ncurses</EM> can be configured to read from multiple terminal databases.
- The <EM>TERMINFO</EM> variable overrides the location for the default terminal
- database. Terminal descriptions (in terminal format) are stored in
- terminal databases:
-
- <STRONG>o</STRONG> Normally these are stored in a directory tree, using subdirectories
- named by the first letter of the terminal names therein.
-
- This is the scheme used in System V, which legacy Unix systems use,
- and the <EM>TERMINFO</EM> variable is used by <EM>curses</EM> applications on those
- systems to override the default location of the terminal database.
-
- <STRONG>o</STRONG> If <EM>ncurses</EM> is built to use hashed databases, then each entry in
- this list may be the path of a hashed database file, e.g.,
-
- /usr/share/terminfo.db
+ <EM>ncurses</EM> can be configured to read terminal type description databases
+ in various locations using different formats. This variable overrides
+ the default location.
- rather than
+ <STRONG>o</STRONG> Descriptions in <EM>terminfo</EM> format are normally stored in a directory
+ tree using subdirectories named by the common first letters of the
+ terminal types named therein. This is the scheme used in System V.
- /usr/share/terminfo/
+ <STRONG>o</STRONG> If <EM>ncurses</EM> is configured to use hashed databases, then <EM>TERMINFO</EM> may
+ name its location, such as <EM>/usr/share/terminfo.db</EM>, rather than
+ <EM>/usr/share/terminfo/</EM>.
- The hashed database uses less disk-space and is a little faster
- than the directory tree. However, some applications assume the
- existence of the directory tree, reading it directly rather than
- using the terminfo library calls.
+ The hashed database uses less disk space and is a little faster than
+ the directory tree. However, some applications assume the existence of
+ the directory tree, and read it directly rather than using the <EM>terminfo</EM>
+ API.
- <STRONG>o</STRONG> If <EM>ncurses</EM> is built with a support for reading termcap files
- directly, then an entry in this list may be the path of a termcap
- file.
+ <STRONG>o</STRONG> If <EM>ncurses</EM> is configured with <EM>termcap</EM> support, this variable may
+ contain the location of a <EM>termcap</EM> file.
- <STRONG>o</STRONG> If the <EM>TERMINFO</EM> variable begins with "hex:" or "b64:", <EM>ncurses</EM> uses
- the remainder of that variable as a compiled terminal description.
- You might produce the base64 format using <STRONG><A HREF="infocmp.1m.html">infocmp(1m)</A></STRONG>:
+ <STRONG>o</STRONG> If the value of <EM>TERMINFO</EM> begins with "hex:" or "b64:", <EM>ncurses</EM> uses
+ the remainder of the value as a compiled <EM>terminfo</EM> description. You
+ might produce the base64 format using <STRONG><A HREF="infocmp.1m.html">infocmp(1m)</A></STRONG>.
- TERMINFO="$(infocmp -0 -Q2 -q)"
- export TERMINFO
+ TERMINFO=$(infocmp -0 -Q2 -q)
+ export TERMINFO
- The compiled description is used if it corresponds to the terminal
- identified by the <EM>TERM</EM> variable.
+ The compiled description is used only if it corresponds to the
+ terminal type identified by <EM>TERM</EM>.
- Setting <EM>TERMINFO</EM> is the simplest, but not the only way to set location
- of the default terminal database. The complete list of database
- locations in order follows:
+ Setting <EM>TERMINFO</EM> is the simplest, but not the only, way to direct
+ <EM>ncurses</EM> to a terminal database. The search path is as follows.
- <STRONG>o</STRONG> the last terminal database to which <EM>ncurses</EM> wrote, if any, is
- searched first
+ <STRONG>o</STRONG> the last terminal database to which the running <EM>ncurses</EM> application
+ wrote, if any
- <STRONG>o</STRONG> the location specified by the <EM>TERMINFO</EM> environment variable
+ <STRONG>o</STRONG> the location specified by the <EM>TERMINFO</EM> environment variable
- <STRONG>o</STRONG> $HOME/.terminfo
+ <STRONG>o</STRONG> <EM>$HOME/.terminfo</EM>
- <STRONG>o</STRONG> locations listed in the <EM>TERMINFO</EM><STRONG>_</STRONG><EM>DIRS</EM> environment variable
+ <STRONG>o</STRONG> locations listed in the <EM>TERMINFO</EM><STRONG>_</STRONG><EM>DIRS</EM> environment variable
- <STRONG>o</STRONG> one or more locations whose names are configured and compiled
- into the <EM>ncurses</EM> library, i.e.,
+ <STRONG>o</STRONG> location(s) configured and compiled into <EM>ncurses</EM>
- <STRONG>o</STRONG> /usr/share/terminfo (corresponding to the <EM>TERMINFO</EM><STRONG>_</STRONG><EM>DIRS</EM>
- variable)
-
- <STRONG>o</STRONG> /usr/share/terminfo (corresponding to the <EM>TERMINFO</EM> variable)
+ <STRONG>o</STRONG> <EM>/usr/share/terminfo</EM>
</PRE><H3><a name="h3-TERMINFO_DIRS"><EM>TERMINFO_DIRS</EM></a></H3><PRE>
- Specifies a list of locations to search for terminal descriptions.
- Each location in the list is a terminal database as described in the
- section on the <EM>TERMINFO</EM> variable. The list is separated by colons
- (i.e., ":") on Unix, semicolons on OS/2 EMX.
-
- There is no corresponding feature in System V terminfo; it is an
- extension developed for <EM>ncurses</EM>.
+ This variable specifies a list of locations, akin to <EM>PATH</EM>, in which
+ <EM>ncurses</EM> searches for the terminal type descriptions described by
+ <EM>TERMINFO</EM> above. The list items are separated by colons on Unix and
+ semicolons on OS/2 EMX. System V <EM>terminfo</EM> lacks a corresponding
+ feature; <EM>TERMINFO</EM><STRONG>_</STRONG><EM>DIRS</EM> is an <EM>ncurses</EM> extension.
</PRE><H3><a name="h3-TERMPATH"><EM>TERMPATH</EM></a></H3><PRE>
- If <EM>TERMCAP</EM> does not hold a file name then <EM>ncurses</EM> checks the <EM>TERMPATH</EM>
- environment variable. This is a list of filenames separated by spaces
- or colons (i.e., ":") on Unix, semicolons on OS/2 EMX.
-
- If the <EM>TERMPATH</EM> environment variable is not set, <EM>ncurses</EM> looks in the
- files
-
- /etc/termcap, /usr/share/misc/termcap and $HOME/.termcap,
+ If <EM>TERMCAP</EM> does not hold a terminal type description or file name, then
+ <EM>ncurses</EM> checks the contents of <EM>TERMPATH</EM>, a list of locations, akin to
+ <EM>PATH</EM>, in which it searches for <EM>termcap</EM> terminal type descriptions. The
+ list items are separated by colons on Unix and semicolons on OS/2 EMX.
- in that order.
+ If both <EM>TERMCAP</EM> and <EM>TERMPATH</EM> are unset or invalid, <EM>ncurses</EM> searches for
+ the files <EM>/etc/termcap</EM>, <EM>/usr/share/misc/termcap</EM>, and <EM>$HOME/.termcap</EM>, in
+ that order.
</PRE><H2><a name="h2-ALTERNATE-CONFIGURATIONS">ALTERNATE CONFIGURATIONS</a></H2><PRE>
the script with the <STRONG>--help</STRONG> option to peruse them all. A few are of
particular significance to the application developer employing <EM>ncurses</EM>.
- --disable-overwrite
+ <STRONG>--disable-overwrite</STRONG>
The standard include for <EM>ncurses</EM> is as noted in <STRONG>SYNOPSIS</STRONG>:
<STRONG>#include</STRONG> <STRONG><curses.h></STRONG>
It also omits a symbolic link which would allow you to use
<STRONG>-lcurses</STRONG> to build executables.
- --enable-widec
+ <STRONG>--enable-widec</STRONG>
The configure script renames the library and (if the
<STRONG>--disable-overwrite</STRONG> option is used) puts the header files in a
different subdirectory. All of the library names have a "w"
You must also enable the wide-character features in the header
file when compiling for the wide-character library to use the
extended (wide-character) functions. The symbol which enables
- these features has changed since XSI Curses, Issue 4:
+ these features has changed since X/Open Curses, Issue 4:
<STRONG>o</STRONG> Originally, the wide-character feature required the symbol
<STRONG>_XOPEN_SOURCE_EXTENDED</STRONG> but that was only valid for XPG4
applications to be built using either library from the same set of
headers.
- --with-pthread
+ <STRONG>--with-pthread</STRONG>
The configure script renames the library. All of the library
names have a "t" appended to them (before any "w" added by
<STRONG>--enable-widec</STRONG>).
to set these values. Some applications (very few) may require
changes to work with this convention.
- --with-shared
-
- --with-normal
-
- --with-debug
-
- --with-profile
+ <STRONG>--with-shared</STRONG>
+ <STRONG>--with-normal</STRONG>
+ <STRONG>--with-debug</STRONG>
+ <STRONG>--with-profile</STRONG>
The shared and normal (static) library names differ by their
suffixes, e.g., <STRONG>libncurses.so</STRONG> and <STRONG>libncurses.a</STRONG>. The debug and
profiling libraries add a "_g" and a "_p" to the root names
respectively, e.g., <STRONG>libncurses_g.a</STRONG> and <STRONG>libncurses_p.a</STRONG>.
- --with-termlib
+ <STRONG>--with-termlib</STRONG>
Low-level functions which do not depend upon whether the library
supports wide-characters, are provided in the tinfo library.
<STRONG>o</STRONG> <STRONG><A HREF="curs_util.3x.html">curs_util(3x)</A></STRONG> - miscellaneous <EM>curses</EM> utility routines
- --with-trace
+ <STRONG>--with-trace</STRONG>
The <STRONG>trace</STRONG> function normally resides in the debug library, but it
is sometimes useful to configure this in the shared library.
Configure scripts should check for the function's existence rather
If the standard output file descriptor of an <EM>ncurses</EM> program is
redirected to something that is not a terminal device, the library
writes screen updates to the standard error file descriptor. This was
- an undocumented feature of SVr3.
+ an undocumented feature of SVr3 <EM>curses</EM>.
- See subsection "Header files" below regarding symbols exposed by
+ See subsection "Header Files" below regarding symbols exposed by
inclusion of <EM>curses.h</EM>.
</PRE><H2><a name="h2-EXTENSIONS">EXTENSIONS</a></H2><PRE>
<EM>ncurses</EM> enables an application to capture mouse events on certain
- terminals, including <EM>xterm</EM>; see <STRONG><A HREF="curs_mouse.3x.html">curs_mouse(3x)</A></STRONG>.
+ terminals, including <STRONG>xterm(1)</STRONG>; see <STRONG><A HREF="curs_mouse.3x.html">curs_mouse(3x)</A></STRONG>.
<EM>ncurses</EM> provides a means of responding to window resizing events, as
when running in a GUI terminal emulator application such as <EM>xterm</EM>; see
<EM>ncurses</EM> extends the fixed set of function key capabilities specified by
X/Open Curses by allowing the application programmer to define
- additional key sequences at runtime; see <STRONG><A HREF="define_key.3x.html">define_key(3x)</A></STRONG>,
- <STRONG><A HREF="key_defined.3x.html">key_defined(3x)</A></STRONG>, and <STRONG><A HREF="keyok.3x.html">keyok(3x)</A></STRONG>.
+ additional key events at runtime; see <STRONG><A HREF="define_key.3x.html">define_key(3x)</A></STRONG>, <STRONG><A HREF="key_defined.3x.html">key_defined(3x)</A></STRONG>,
+ <STRONG><A HREF="keybound.3x.html">keybound(3x)</A></STRONG>, and <STRONG><A HREF="keyok.3x.html">keyok(3x)</A></STRONG>.
<EM>ncurses</EM> can exploit the capabilities of terminals implementing
ISO 6429/ECMA-48 SGR 39 and SGR 49 sequences, which allow an
to draw colored text on a background whose color is set independently,
providing better control over color contrasts. See <STRONG><A HREF="default_colors.3x.html">default_colors(3x)</A></STRONG>.
- An <EM>ncurses</EM> application can choose to hide the internal details of
- <EM>WINDOW</EM> structures, instead using accessor functions such as
- <STRONG><A HREF="curs_opaque.3x.html">is_scrollok(3x)</A></STRONG>.
+ An <EM>ncurses</EM> application can eschew knowledge of <EM>WINDOW</EM> structure
+ internals, instead using accessor functions such as <STRONG><A HREF="curs_opaque.3x.html">is_scrollok(3x)</A></STRONG>.
- <EM>ncurses</EM> enables an application to direct application output to a
+ <EM>ncurses</EM> enables an application to direct application output to a
printer attached to the terminal device; see <STRONG><A HREF="curs_print.3x.html">curs_print(3x)</A></STRONG>.
- <EM>ncurses</EM> offers <STRONG><A HREF="curs_slk.3x.html">slk_attr(3x)</A></STRONG> as a counterpart of <STRONG><A HREF="curs_attr.3x.html">attr_get(3x)</A></STRONG> for soft-
- label key lines, and <STRONG><A HREF="curs_slk.3x.html">extended_slk_color(3x)</A></STRONG> as a form of <STRONG><A HREF="curs_slk.3x.html">slk_color(3x)</A></STRONG>
- that can gather color information from them when many colors are
+ <EM>ncurses</EM> offers <STRONG><A HREF="curs_slk.3x.html">slk_attr(3x)</A></STRONG> as a counterpart of <STRONG><A HREF="curs_attr.3x.html">attr_get(3x)</A></STRONG> for soft-
+ label key lines, and <STRONG><A HREF="curs_slk.3x.html">extended_slk_color(3x)</A></STRONG> as a form of <STRONG><A HREF="curs_slk.3x.html">slk_color(3x)</A></STRONG>
+ that can gather color information from them when many colors are
supported.
- Some extensions are only available if <EM>ncurses</EM> is compiled to support
- them; section "ALTERNATE CONFIGURATIONS" describes how.
+ Some extensions are available only if <EM>ncurses</EM> permits modification of
+ <STRONG><A HREF="unctrl.3x.html">unctrl(3x)</A></STRONG>'s behavior; see <STRONG><A HREF="legacy_coding.3x.html">use_legacy_coding(3x)</A></STRONG>. <EM>ncurses</EM> is compiled
+ to support them; section "ALTERNATE CONFIGURATIONS" describes how.
<STRONG>o</STRONG> Rudimentary support for multi-threaded applications may be
available; see <STRONG><A HREF="curs_threads.3x.html">curs_threads(3x)</A></STRONG>.
X/Open Curses defines two levels of conformance, "base" and "enhanced".
The latter includes several additional features, such as wide-character
and color support. <EM>ncurses</EM> intends base-level conformance with X/Open
- Curses, and supports nearly all its enhanced features.
+ Curses, and supports nearly all features of its enhanced level.
Differences between X/Open Curses and <EM>ncurses</EM> are documented in the
"PORTABILITY" sections of applicable man pages.
In many cases, X/Open Curses is vague about error conditions, omitting
some of the SVr4 documentation.
- Unlike other implementations, this one checks parameters such as
- pointers to <EM>WINDOW</EM> structures to ensure they are not null. The main
- reason for providing this behavior is to guard against programmer
- error. The standard interface does not provide a way for the library
- to tell an application which of several possible errors were detected.
- Relying on this (or some other) extension will adversely affect the
- portability of curses applications.
+ Unlike other implementations, <EM>ncurses</EM> checks pointer parameters, such
+ as those to <EM>WINDOW</EM> structures, to ensure that they are not null. This
+ is done primarily to guard against programmer error. The standard
+ interface does not provide a way for the library to tell an application
+ which of several possible errors occurred. Relying on this (or some
+ other) extension adversely affects the portability of <EM>curses</EM>
+ applications.
</PRE><H3><a name="h3-Padding-Differences">Padding Differences</a></H3><PRE>
- In historic curses versions, delays embedded in the capabilities <STRONG>cr</STRONG>,
- <STRONG>ind</STRONG>, <STRONG>cub1</STRONG>, <STRONG>ff</STRONG> and <STRONG>tab</STRONG> activated corresponding delay bits in the Unix
- tty driver. In this implementation, all padding is done by sending NUL
- bytes. This method is slightly more expensive, but narrows the
- interface to the Unix kernel significantly and increases the package's
- portability correspondingly.
+ In historical <EM>curses</EM> implementations, delays embedded in the <EM>terminfo</EM>
+ capabilities <STRONG>carriage_return</STRONG> (<STRONG>cr</STRONG>), <STRONG>scroll_forward</STRONG> (<STRONG>ind</STRONG>), <STRONG>cursor_left</STRONG>
+ (<STRONG>cub1</STRONG>), <STRONG>form_feed</STRONG> (<STRONG>ff</STRONG>), and <STRONG>tab</STRONG> (<STRONG>ht</STRONG>) activated corresponding delay bits
+ in the Unix terminal driver. <EM>ncurses</EM> performs all padding by sending
+ NUL bytes to the device. This method is slightly more expensive, but
+ narrows the interface to the Unix kernel significantly and
+ correspondingly increases the package's portability.
</PRE><H3><a name="h3-Header-Files">Header Files</a></H3><PRE>
- The header file <EM>curses.h</EM> itself includes the header files <EM>stdio.h</EM> and
+ The header file <EM>curses.h</EM> itself includes the header files <EM>stdio.h</EM> and
<EM>unctrl.h</EM>.
- X/Open Curses has more to say, but does not finish the story:
+ X/Open Curses has more to say,
- The inclusion of <curses.h> may make visible all symbols from the
- headers <stdio.h>, <term.h>, <termios.h>, and <wchar.h>.
+ The inclusion of <EM>curses.h</EM> may make visible all symbols from the
+ headers <EM>stdio.h</EM>, <EM>term.h</EM>, <EM>termios.h</EM>, and <EM>wchar.h</EM>.
- Here is a more complete story:
+ but does not finish the story. A more complete account follows.
- <STRONG>o</STRONG> Starting with BSD curses, all implementations have included
- <stdio.h>.
+ <STRONG>o</STRONG> Starting with 4BSD <EM>curses</EM> (1980) all implementations have provided
+ a <EM>curses.h</EM> file.
- BSD curses included <curses.h> and <unctrl.h> from an internal
- header file <EM>curses.ext</EM> ("ext" abbreviated "externs").
+ BSD <EM>curses</EM> code included <EM>curses.h</EM> and <EM>unctrl.h</EM> from an internal
+ header file <EM>curses.ext</EM>, where "ext" abbreviated "externs".
- BSD curses used <stdio.h> internally (for <STRONG>printw</STRONG> and <STRONG>scanw</STRONG>), but
- nothing in <curses.h> itself relied upon <stdio.h>.
+ The implementations of <EM>printw</EM> and <EM>scanw</EM> used undocumented internal
+ functions of the standard I/O library (<STRONG>_</STRONG><EM>doprnt</EM> and <STRONG>_</STRONG><EM>doscan</EM>), but
+ nothing in <EM>curses.h</EM> itself relied upon <EM>stdio.h</EM>.
- <STRONG>o</STRONG> SVr2 curses added <STRONG><A HREF="curs_initscr.3x.html">newterm(3x)</A></STRONG>, which relies upon <stdio.h>. That
- is, the function prototype uses <STRONG>FILE</STRONG>.
+ <STRONG>o</STRONG> SVr2 <EM>curses</EM> added <EM>newterm</EM>, which relies upon <EM>stdio.h</EM> because its
+ function prototype employs the <EM>FILE</EM> type.
- SVr4 curses added <STRONG>putwin</STRONG> and <STRONG>getwin</STRONG>, which also use <stdio.h>.
+ SVr4 <EM>curses</EM> added <EM>putwin</EM> and <EM>getwin</EM>, which also use <EM>stdio.h</EM>.
- X/Open Curses documents all three of these functions.
+ X/Open Curses specifies all three of these functions.
- SVr4 curses and X/Open Curses do not require the developer to
- include <stdio.h> before including <curses.h>. Both document
- curses showing <curses.h> as the only required header.
+ SVr4 <EM>curses</EM> and X/Open Curses do not require the developer to
+ include <EM>stdio.h</EM> before <EM>curses.h</EM>. Both document use of <EM>curses</EM> as
+ requiring only <EM>curses.h</EM>.
- As a result, standard <curses.h> will always include <stdio.h>.
+ As a result, standard <EM>curses.h</EM> always includes <EM>stdio.h</EM>.
- <STRONG>o</STRONG> X/Open Curses is inconsistent with respect to SVr4 regarding
- <unctrl.h>.
+ <STRONG>o</STRONG> X/Open Curses and SVr4 <EM>curses</EM> are inconsistent with respect to
+ <EM>unctrl.h</EM>.
- As noted in <STRONG><A HREF="curs_util.3x.html">curs_util(3x)</A></STRONG>, <EM>ncurses</EM> includes <unctrl.h> from
- <curses.h> (like SVr4).
+ As noted in <STRONG><A HREF="curs_util.3x.html">curs_util(3x)</A></STRONG>, <EM>ncurses</EM> includes <EM>unctrl.h</EM> from <EM>curses.h</EM>
+ (as SVr4 does).
- <STRONG>o</STRONG> X/Open's comments about <term.h> and <termios.h> may refer to HP-UX
- and AIX:
+ <STRONG>o</STRONG> X/Open Curses's comments about <EM>term.h</EM> and <EM>termios.h</EM> may refer to
+ HP-UX and AIX.
- HP-UX curses includes <term.h> from <curses.h> to declare <STRONG>setupterm</STRONG>
- in curses.h, but <EM>ncurses</EM> (and Solaris curses) do not.
+ HP-UX <EM>curses</EM> includes <EM>term.h</EM> from <EM>curses.h</EM> to declare <EM>setupterm</EM> in
+ <EM>curses.h</EM>, but <EM>ncurses</EM> and Solaris <EM>curses</EM> do not.
- AIX curses includes <term.h> and <termios.h>. Again, <EM>ncurses</EM> (and
- Solaris curses) do not.
+ AIX <EM>curses</EM> includes <EM>term.h</EM> and termios.h<EM>.</EM> Again, <EM>ncurses</EM> and
+ Solaris <EM>curses</EM> do not.
- <STRONG>o</STRONG> X/Open says that <curses.h> <EM>may</EM> include <term.h>, but there is no
- requirement that it do that.
+ <STRONG>o</STRONG> X/Open Curses says that <EM>curses.h</EM> <STRONG>may</STRONG> include <EM>term.h</EM>, but does not
+ require it to do so.
- Some programs use functions declared in both <curses.h> and
- <term.h>, and must include both headers in the same module. Very
- old versions of AIX curses required including <curses.h> before
- including <term.h>.
+ Some programs use functions declared in both <EM>curses.h</EM> and <EM>term.h</EM>,
+ and must include both header files in the same module. Very old
+ versions of AIX <EM>curses</EM> required inclusion of <EM>curses.h</EM> before
+ <EM>term.h</EM>.
- Because <EM>ncurses</EM> header files include the headers needed to define
- datatypes used in the headers, <EM>ncurses</EM> header files can be included
- in any order. But for portability, you should include <curses.h>
- before <term.h>.
+ The header files supplied by <EM>ncurses</EM> include the standard library
+ headers required for its declarations, so <EM>ncurses</EM>'s own header
+ files can be included in any order. But for portability, you
+ should include <EM>curses.h</EM> before <EM>term.h</EM>.
- <STRONG>o</STRONG> X/Open Curses says <EM>"may</EM> <EM>make</EM> <EM>visible"</EM> because including a header
- file does not necessarily make all symbols in it visible (there are
- ifdef's to consider).
+ <STRONG>o</STRONG> X/Open Curses says "may make visible" because including a header
+ file does not necessarily make visible all of the symbols in it
+ (consider <STRONG>#ifdef</STRONG> and similar).
- For instance, in <EM>ncurses</EM> <wchar.h> <EM>may</EM> be included if the proper
+ For instance, <EM>ncurses</EM>'s <EM>curses.h</EM> <STRONG>may</STRONG> include <EM>wchar.h</EM> if the proper
symbol is defined, and if <EM>ncurses</EM> is configured for wide-character
- support. If the header is included, its symbols may be made
- visible. That depends on the value used for <STRONG>_XOPEN_SOURCE</STRONG> feature
- test macro.
-
- <STRONG>o</STRONG> X/Open Curses documents one required header, in a special case:
- <stdarg.h> before <curses.h> to prototype the <STRONG>vw_printw</STRONG> and
- <STRONG>vw_scanw</STRONG> functions (as well as the obsolete the <STRONG>vwprintw</STRONG> and
- <STRONG>vwscanw</STRONG> functions). Each of those uses a <STRONG>va_list</STRONG> parameter.
-
- The two obsolete functions were introduced in SVr3. The other
- functions were introduced in X/Open Curses. In between, SVr4
- curses provided for the possibility that an application might
- include either <varargs.h> or <stdarg.h>. Initially, that was done
- by using <STRONG>void*</STRONG> for the <STRONG>va_list</STRONG> parameter. Later, a special type
- (defined in <stdio.h>) was introduced, to allow for compiler type-
- checking. That special type is always available, because <stdio.h>
- is always included by <curses.h>.
-
- None of the X/Open Curses implementations require an application to
- include <stdarg.h> before <curses.h> because they either have
- allowed for a special type, or (like <EM>ncurses</EM>) include <stdarg.h>
- directly to provide a portable interface.
+ support. If <EM>wchar.h</EM> is included, its symbols <STRONG>may</STRONG> be made visible
+ depending on the value of the <STRONG>_XOPEN_SOURCE</STRONG> feature test macro.
+
+ <STRONG>o</STRONG> X/Open Curses mandates an application's inclusion of one standard C
+ library header in a special case: <EM>stdarg.h</EM> before <EM>curses.h</EM> to
+ prototype the functions <EM>vw</EM><STRONG>_</STRONG><EM>printw</EM> and <EM>vw</EM><STRONG>_</STRONG><EM>scanw</EM> (as well as the
+ obsolete <EM>vwprintw</EM> and <EM>vwscanw</EM>). Each of these takes a variadic
+ argument list, a <EM>va</EM><STRONG>_</STRONG><EM>list</EM> parameter, like that of <STRONG>printf(3)</STRONG>.
+
+ SVr3 <EM>curses</EM> introduced the two obsolete functions, and X/Open
+ Curses the others. In between, SVr4 <EM>curses</EM> provided for the
+ possibility that an application might include either <EM>varargs.h</EM> or
+ <EM>stdarg.h</EM>. These represented contrasting approaches to handling
+ variadic argument lists. The older interface, <EM>varargs.h</EM>, used a
+ pointer to <EM>char</EM> for variadic functions' <EM>va</EM><STRONG>_</STRONG><EM>list</EM> parameter. Later,
+ the list acquired its own standard data type, <EM>va</EM><STRONG>_</STRONG><EM>list</EM>, defined in
+ <EM>stdarg.h</EM>, empowering the compiler to check the types of a function
+ call's actual parameters against the formal ones declared in its
+ prototype.
+
+ No conforming implementations of X/Open Curses require an
+ application to include <EM>stdarg.h</EM> before <EM>curses.h</EM> because they either
+ have allowed for a special type, or, like <EM>ncurses</EM>, they include
+ <EM>stdarg.h</EM> themselves to provide a portable interface.
</PRE><H2><a name="h2-AUTHORS">AUTHORS</a></H2><PRE>
-ncurses 6.4 2024-04-13 <STRONG><A HREF="ncurses.3x.html">ncurses(3x)</A></STRONG>
+ncurses 6.4 2024-04-20 <STRONG><A HREF="ncurses.3x.html">ncurses(3x)</A></STRONG>
</PRE>
<div class="nav">
<ul>
* sale, use or other dealings in this Software without prior written *
* authorization. *
****************************************************************************
- * @Id: MKncu_config.in,v 1.22 2023/12/23 23:44:26 tom Exp @
+ * @Id: MKncu_config.in,v 1.23 2024/04/20 21:13:38 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>ncursesw6-config 1 2023-12-23 ncurses 6.4 User commands</TITLE>
+<TITLE>ncursesw6-config 1 2024-04-20 ncurses 6.4 User commands</TITLE>
<link rel="author" href="mailto:bug-ncurses@gnu.org">
</HEAD>
<BODY>
-<H1 class="no-header">ncursesw6-config 1 2023-12-23 ncurses 6.4 User commands</H1>
+<H1 class="no-header">ncursesw6-config 1 2024-04-20 ncurses 6.4 User commands</H1>
<PRE>
<STRONG><A HREF="ncursesw6-config.1.html">ncursesw6-config(1)</A></STRONG> User commands <STRONG><A HREF="ncursesw6-config.1.html">ncursesw6-config(1)</A></STRONG>
-ncurses 6.4 2023-12-23 <STRONG><A HREF="ncursesw6-config.1.html">ncursesw6-config(1)</A></STRONG>
+ncurses 6.4 2024-04-20 <STRONG><A HREF="ncursesw6-config.1.html">ncursesw6-config(1)</A></STRONG>
</PRE>
<div class="nav">
<ul>
* sale, use or other dealings in this Software without prior written *
* authorization. *
****************************************************************************
- * @Id: tabs.1,v 1.57 2024/03/16 15:35:01 tom Exp @
+ * @Id: tabs.1,v 1.59 2024/04/20 19:08:15 tom Exp @
-->
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN">
<HTML>
<HEAD>
<meta http-equiv="Content-Type" content="text/html; charset=us-ascii">
<meta name="generator" content="Manpage converted by man2html - see https://invisible-island.net/scripts/readme.html#others_scripts">
-<TITLE>tabs 1 2024-03-16 ncurses 6.4 User commands</TITLE>
+<TITLE>tabs 1 2024-04-20 ncurses 6.4 User commands</TITLE>
<link rel="author" href="mailto:bug-ncurses@gnu.org">
</HEAD>
<BODY>
-<H1 class="no-header">tabs 1 2024-03-16 ncurses 6.4 User commands</H1>
+<H1 class="no-header">tabs 1 2024-04-20 ncurses 6.4 User commands</H1>
<PRE>
<STRONG><A HREF="tabs.1.html">tabs(1)</A></STRONG> User commands <STRONG><A HREF="tabs.1.html">tabs(1)</A></STRONG>
A <STRONG>tabs</STRONG> utility appeared in PWB/Unix 1.0 (1977). A reduced version
shipped in Seventh Edition Unix (early 1979) and in 3BSD (later the
same year); it supported a "-n" option to set the first tab stop at the
- left margin. That option is not documented by POSIX.
+ left margin. That option is not specified by POSIX.
The PWB/Unix <STRONG>tabs</STRONG> utility returned in System III (1980), and used
- built-in tables, rather than the terminal database, to support a half-
- dozen hardcopy terminal (printer) types. It also had built-in logic to
- support setting the left margin, as well as a feature for copying the
- tab settings from a file.
+ built-in tables to support a half-dozen hardcopy terminal (printer)
+ types. It also had logic to support setting the left margin, as well
+ as a feature for copying the tab settings from a file.
- Versions of the program in later releases of AT&T Unix, such as SVr4,
- added support for the terminal database, but retained the tables to
+ Versions of the program in later releases of AT&T Unix, such as SVr4,
+ added support for the terminal database, but retained the tables to
support the printers. By this time, System V <STRONG>tput</STRONG> had incorporated the
- tab stop initialization feature of BSD's <STRONG>tset</STRONG> from 1982, but employed
+ tab stop initialization feature of BSD's <STRONG>tset</STRONG> from 1982, but employed
the <EM>terminfo</EM> database to do so.
- The <STRONG>+m</STRONG> option was documented in the POSIX Base Specifications Issue 5
- (Unix98, 1997), then omitted in Issue 6 (Unix03, 2004) without express
- motivation, though an introductory comment "and optionally adjusts the
- margin" remains, overlooked in the removal. The <STRONG>tabs</STRONG> utility
- documented in Issues 6 and later has no mechanism for setting margins.
- The <STRONG>+m</STRONG> option in <EM>ncurses</EM> <STRONG>tabs</STRONG> differs from the SVr4 feature by using
+ The <STRONG>+m</STRONG> option was documented in the POSIX Base Specifications Issue 5
+ (Unix98, 1997), then omitted in Issue 6 (Unix03, 2004) without express
+ motivation, though an introductory comment "and optionally adjusts the
+ margin" remains, overlooked in the removal. The <STRONG>tabs</STRONG> utility
+ documented in Issues 6 and later has no mechanism for setting margins.
+ The <STRONG>+m</STRONG> option in <EM>ncurses</EM> <STRONG>tabs</STRONG> differs from the SVr4 feature by using
terminal capabilities rather than built-in tables.
- POSIX documents no limit on the number of tab stops. Other
+ POSIX documents no limit on the number of tab stops. Other
implementations impose one; the limit is 20 in PWB/Unix's <STRONG>tabs</STRONG> utility.
- While some terminals may not accept an arbitrary number of tab stops,
- <EM>ncurses</EM> <STRONG>tabs</STRONG> attempts to set tab stops up to the right margin if the
+ While some terminals may not accept an arbitrary number of tab stops,
+ <EM>ncurses</EM> <STRONG>tabs</STRONG> attempts to set tab stops up to the right margin if the
list thereof is sufficiently long.
- The "Rationale" section of the Issue 6 <STRONG>tabs</STRONG> reference page details how
- the committee considered redesigning the <STRONG>tabs</STRONG> and <STRONG>tput</STRONG> utilities,
+ The "Rationale" section of the Issue 6 <STRONG>tabs</STRONG> reference page details how
+ the committee considered redesigning the <STRONG>tabs</STRONG> and <STRONG>tput</STRONG> utilities,
without settling on an improved solution. It claims that
- "no known historical version of <EM>tabs</EM> supports the capability of
+ "no known historical version of <EM>tabs</EM> supports the capability of
setting arbitrary tab stops."
- The feature described in subsection "Explicit Lists" above was
- implemented in PWB/Unix, and permitted the setting of abitrary tab
+ The feature described in subsection "Explicit Lists" above was
+ implemented in PWB/Unix, and permitted the setting of abitrary tab
stops nevertheless.
-ncurses 6.4 2024-03-16 <STRONG><A HREF="tabs.1.html">tabs(1)</A></STRONG>
+ncurses 6.4 2024-04-20 <STRONG><A HREF="tabs.1.html">tabs(1)</A></STRONG>
</PRE>
<div class="nav">
<ul>
* sale, use or other dealings in this Software without prior written *
* authorization. *
****************************************************************************
- * @Id: term.5,v 1.75 2024/03/16 15:35:01 tom Exp @
+ * @Id: term.5,v 1.77 2024/04/20 21:24:19 tom Exp @
-->
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN">
<HTML>
<HEAD>
<meta http-equiv="Content-Type" content="text/html; charset=us-ascii">
<meta name="generator" content="Manpage converted by man2html - see https://invisible-island.net/scripts/readme.html#others_scripts">
-<TITLE>term 5 2024-03-16 ncurses 6.4 File formats</TITLE>
+<TITLE>term 5 2024-04-20 ncurses 6.4 File formats</TITLE>
<link rel="author" href="mailto:bug-ncurses@gnu.org">
</HEAD>
<BODY>
-<H1 class="no-header">term 5 2024-03-16 ncurses 6.4 File formats</H1>
+<H1 class="no-header">term 5 2024-04-20 ncurses 6.4 File formats</H1>
<PRE>
<STRONG><A HREF="term.5.html">term(5)</A></STRONG> File formats <STRONG><A HREF="term.5.html">term(5)</A></STRONG>
versions. The problem is that there are at least three versions of
terminfo (under HP-UX, AIX, and OSF/1) which diverged from System V
terminfo after SVr1, and have added extension capabilities to the
- string table that (in the binary format) collide with System V and XSI
- Curses extensions. See <STRONG><A HREF="terminfo.5.html">terminfo(5)</A></STRONG> for detailed discussion of terminfo
- source compatibility issues.
+ string table that (in the binary format) collide with System V and
+ X/Open Curses extensions. See <STRONG><A HREF="terminfo.5.html">terminfo(5)</A></STRONG> for detailed discussion of
+ terminfo source compatibility issues.
This implementation is by default compatible with the binary terminfo
format used by Solaris curses, except in a few less-used details where
-ncurses 6.4 2024-03-16 <STRONG><A HREF="term.5.html">term(5)</A></STRONG>
+ncurses 6.4 2024-04-20 <STRONG><A HREF="term.5.html">term(5)</A></STRONG>
</PRE>
<div class="nav">
<ul>
* sale, use or other dealings in this Software without prior written *
* authorization. *
****************************************************************************
- * @Id: terminfo.head,v 1.63 2024/01/13 23:07:27 tom Exp @
+ * @Id: terminfo.head,v 1.65 2024/04/20 21:14:00 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>terminfo 5 2024-01-13 ncurses 6.4 File formats</TITLE>
+<TITLE>terminfo 5 2024-04-20 ncurses 6.4 File formats</TITLE>
<link rel="author" href="mailto:bug-ncurses@gnu.org">
</HEAD>
<BODY>
-<H1 class="no-header">terminfo 5 2024-01-13 ncurses 6.4 File formats</H1>
+<H1 class="no-header">terminfo 5 2024-04-20 ncurses 6.4 File formats</H1>
<PRE>
<STRONG><A HREF="terminfo.5.html">terminfo(5)</A></STRONG> File formats <STRONG><A HREF="terminfo.5.html">terminfo(5)</A></STRONG>
have, by specifying how to perform screen operations, and by specifying
padding requirements and initialization sequences.
- This manual describes <EM>ncurses</EM> version 6.4 (patch 20240413).
+ This document describes <EM>ncurses</EM> version 6.4 (patch 20240420).
</PRE><H3><a name="h3-terminfo-Entry-Syntax"><EM>terminfo</EM> Entry Syntax</a></H3><PRE>
codes exceed this limit regardless.)
<STRONG>o</STRONG> The TC (<EM>termcap</EM>) code is that used by the corresponding API of
- <EM>ncurses.</EM> (Some capabilities are new, and have names that BSD <EM>term-</EM>
- <EM>cap</EM> did not originate.)
+ <EM>ncurses</EM>. (Some capabilities are new, and have names that BSD
+ <EM>termcap</EM> did not originate.)
<STRONG>o</STRONG> The description field attempts to convey the capability's
semantics.
<STRONG>clear_margins</STRONG> <STRONG>mgc</STRONG> <STRONG>MC</STRONG> clear right and left soft
margins
<STRONG>set_left_margin</STRONG> <STRONG>smgl</STRONG> <STRONG>ML</STRONG> set left soft margin at
- current column. (ML is not in
- BSD termcap).
+ current column (not in BSD
+ <EM>termcap</EM>)
<STRONG>set_right_margin</STRONG> <STRONG>smgr</STRONG> <STRONG>MR</STRONG> set right soft margin at
current column
<STRONG>label_format</STRONG> <STRONG>fln</STRONG> <STRONG>Lf</STRONG> label format
screen, write something to the bottom line, move the cursor to the top
of the region, and do <STRONG>ri</STRONG> followed by <STRONG>dl1</STRONG> or <STRONG>ind</STRONG>. If the data scrolled
off the bottom of the region by the <STRONG>ri</STRONG> re-appears, then scrolling is
- non-destructive. System V and XSI Curses expect that <STRONG>ind</STRONG>, <STRONG>ri</STRONG>, <STRONG>indn</STRONG>,
+ non-destructive. System V and X/Open Curses expect that <STRONG>ind</STRONG>, <STRONG>ri</STRONG>, <STRONG>indn</STRONG>,
and <STRONG>rin</STRONG> will simulate destructive scrolling; their documentation
cautions you not to define <STRONG>csr</STRONG> unless this is true. This <STRONG>curses</STRONG>
implementation is more liberal and will do explicit erases after
</PRE><H3><a name="h3-Insert_Delete-Character">Insert/Delete Character</a></H3><PRE>
There are two basic kinds of intelligent terminals with respect to
- insert/delete character which can be described using <EM>terminfo.</EM> The
+ insert/delete character which can be described using <EM>terminfo</EM>. The
most common insert/delete character operations affect only the
characters on the current line and shift characters off the end of the
line rigidly. Other terminals, such as the Concept 100 and the Perkin
works.
Finally, you can specify <STRONG>dch1</STRONG> to delete a single character, <STRONG>dch</STRONG> with
- one parameter, <EM>n</EM>, to delete <EM>n</EM> <EM>characters,</EM> and delete mode by giving
- <STRONG>smdc</STRONG> and <STRONG>rmdc</STRONG> to enter and exit delete mode (any mode the terminal
- needs to be placed in for <STRONG>dch1</STRONG> to work).
+ one parameter, <EM>n</EM>, to delete <EM>n</EM>characters, and delete mode by giving <STRONG>smdc</STRONG>
+ and <STRONG>rmdc</STRONG> to enter and exit delete mode (any mode the terminal needs to
+ be placed in for <STRONG>dch1</STRONG> to work).
A command to erase <EM>n</EM> characters (equivalent to outputting <EM>n</EM> blanks
without moving the cursor) can be given as <STRONG>ech</STRONG> with one parameter.
the <STRONG>Insert/Delete</STRONG> <STRONG>Character</STRONG> subsection above.
The parameter substitutions for <STRONG>set_clock</STRONG> and <STRONG>display_clock</STRONG> are not
- documented in SVr4 or the XSI Curses standard. They are deduced from
- the documentation for the AT&T 505 terminal.
+ documented in SVr4 or X/Open Curses. They are deduced from the
+ documentation for the AT&T 505 terminal.
Be careful assigning the <STRONG>kmous</STRONG> capability. The <EM>ncurses</EM> library wants
to interpret it as <STRONG>KEY_MOUSE</STRONG>, for use by terminals and emulators like
specified, even if it is zero.
Different commercial ports of <EM>terminfo</EM> and <EM>curses</EM> support different
- subsets of XSI Curses and (in some cases) different extensions. Here
- is a summary, accurate as of October 1995, after which the commercial
- Unix market contracted and lost diversity.
+ subsets of X/Open Curses and (in some cases) different extensions.
+ Here is a summary, accurate as of October 1995, after which the
+ commercial Unix market contracted and lost diversity.
<STRONG>o</STRONG> SVr4, Solaris, and <EM>ncurses</EM> support all SVr4 capabilities.
between commercial Unix systems. At least two implementations of
<EM>terminfo</EM> (those of HP-UX and AIX) diverged from those of other System V
Unices after SVr1, adding extension capabilities to the string table
- that (in the binary format) collide with subsequent System V and XSI
+ that (in the binary format) collide with subsequent System V and X/Open
Curses extensions.
-ncurses 6.4 2024-01-13 <STRONG><A HREF="terminfo.5.html">terminfo(5)</A></STRONG>
+ncurses 6.4 2024-04-20 <STRONG><A HREF="terminfo.5.html">terminfo(5)</A></STRONG>
</PRE>
<div class="nav">
<ul>
* sale, use or other dealings in this Software without prior written *
* authorization. *
****************************************************************************
- * @Id: toe.1m,v 1.66 2024/03/16 15:35:01 tom Exp @
+ * @Id: toe.1m,v 1.68 2024/04/20 18:59:26 tom Exp @
-->
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN">
<HTML>
<HEAD>
<meta http-equiv="Content-Type" content="text/html; charset=us-ascii">
<meta name="generator" content="Manpage converted by man2html - see https://invisible-island.net/scripts/readme.html#others_scripts">
-<TITLE>toe 1m 2024-03-16 ncurses 6.4 User commands</TITLE>
+<TITLE>toe 1m 2024-04-20 ncurses 6.4 User commands</TITLE>
<link rel="author" href="mailto:bug-ncurses@gnu.org">
</HEAD>
<BODY>
-<H1 class="no-header">toe 1m 2024-03-16 ncurses 6.4 User commands</H1>
+<H1 class="no-header">toe 1m 2024-04-20 ncurses 6.4 User commands</H1>
<PRE>
<STRONG><A HREF="toe.1m.html">toe(1m)</A></STRONG> User commands <STRONG><A HREF="toe.1m.html">toe(1m)</A></STRONG>
<EM>terminfo</EM> would search, instead of only the first that it
finds.
- If the <STRONG>-s</STRONG> option is also given, <STRONG>toe</STRONG> adds a column to the
- report, showing (like <STRONG>conflict(1)</STRONG>) which entries belong to a
- given terminal database. An "*" marks entries that differ,
- and "+" marks equivalent entries.
+ If <STRONG>-s</STRONG> is also given, <STRONG>toe</STRONG> additionally reports, like
+ <STRONG>conflict(1)</STRONG>, which entries correspond to a given terminal
+ database. An "*" marks entries that differ, and "+" marks
+ equivalent entries.
Without the <STRONG>-s</STRONG> option, <STRONG>toe</STRONG> does not attempt to merge
duplicates in its report.
-ncurses 6.4 2024-03-16 <STRONG><A HREF="toe.1m.html">toe(1m)</A></STRONG>
+ncurses 6.4 2024-04-20 <STRONG><A HREF="toe.1m.html">toe(1m)</A></STRONG>
</PRE>
<div class="nav">
<ul>
* sale, use or other dealings in this Software without prior written *
* authorization. *
****************************************************************************
- * @Id: tput.1,v 1.111 2024/04/13 22:09:53 tom Exp @
+ * @Id: tput.1,v 1.113 2024/04/20 19:58: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>tput 1 2024-04-13 ncurses 6.4 User commands</TITLE>
+<TITLE>tput 1 2024-04-20 ncurses 6.4 User commands</TITLE>
<link rel="author" href="mailto:bug-ncurses@gnu.org">
</HEAD>
<BODY>
-<H1 class="no-header">tput 1 2024-04-13 ncurses 6.4 User commands</H1>
+<H1 class="no-header">tput 1 2024-04-20 ncurses 6.4 User commands</H1>
<PRE>
<STRONG><A HREF="tput.1.html">tput(1)</A></STRONG> User commands <STRONG><A HREF="tput.1.html">tput(1)</A></STRONG>
<EM>cap-code</EM> indicates a capability from the terminal database.
- If the capability is of string type and takes parameters,
- the arguments following the capability will be used as its
- parameters.
+ If <EM>cap-code</EM> is of string type and takes parameters, <STRONG>tput</STRONG>
+ interprets arguments following <EM>cap-code</EM> as the parameters,
+ up to the (fixed) quantity the capability requires.
Most parameters are numeric. Only a few terminal
capabilities require string parameters; <STRONG>tput</STRONG> uses a table to
-ncurses 6.4 2024-04-13 <STRONG><A HREF="tput.1.html">tput(1)</A></STRONG>
+ncurses 6.4 2024-04-20 <STRONG><A HREF="tput.1.html">tput(1)</A></STRONG>
</PRE>
<div class="nav">
<ul>
* sale, use or other dealings in this Software without prior written *
* authorization. *
****************************************************************************
- * @Id: tset.1,v 1.81 2024/03/16 15:35:01 tom Exp @
+ * @Id: tset.1,v 1.83 2024/04/20 19:09:08 tom Exp @
-->
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN">
<HTML>
<HEAD>
<meta http-equiv="Content-Type" content="text/html; charset=us-ascii">
<meta name="generator" content="Manpage converted by man2html - see https://invisible-island.net/scripts/readme.html#others_scripts">
-<TITLE>tset 1 2024-03-16 ncurses 6.4 User commands</TITLE>
+<TITLE>tset 1 2024-04-20 ncurses 6.4 User commands</TITLE>
<link rel="author" href="mailto:bug-ncurses@gnu.org">
</HEAD>
<BODY>
-<H1 class="no-header">tset 1 2024-03-16 ncurses 6.4 User commands</H1>
+<H1 class="no-header">tset 1 2024-04-20 ncurses 6.4 User commands</H1>
<PRE>
<STRONG><A HREF="tset.1.html">tset(1)</A></STRONG> User commands <STRONG><A HREF="tset.1.html">tset(1)</A></STRONG>
be from the operating system, the <EM>LINES</EM> and <EM>COLUMNS</EM> environment
variables or the terminal description.
- Obtaining the window size from the terminal description is common to
- both implementations, but considered obsolescent. Its only practical
- use is for hardware terminals. Generally speaking, a window size would
- be unset only if there were some problem obtaining the value from the
- operating system (and <STRONG>setupterm</STRONG> would still fail). For that reason,
- the <EM>LINES</EM> and <EM>COLUMNS</EM> environment variables may be useful for working
- around window-size problems. Those have the drawback that if the
- window is resized, those variables must be recomputed and reassigned.
- To do this more easily, use the <STRONG>resize(1)</STRONG> program.
+ Obtaining the window size from a terminal's type description is common
+ to both implementations, but considered obsolescent. Its only
+ practical use is for hardware terminals. Generally, the window size
+ will remain uninitialized only if there were a problem obtaining the
+ value from the operating system (and <STRONG>setupterm</STRONG> would still fail). The
+ <EM>LINES</EM> and <EM>COLUMNS</EM> environment variables may thus be useful for working
+ around window-size problems, but have the drawback that if the window
+ is resized, their values must be recomputed and reassigned. The
+ <STRONG>resize(1)</STRONG> program distributed with <STRONG>xterm(1)</STRONG> assists this activity.
</PRE><H2><a name="h2-HISTORY">HISTORY</a></H2><PRE>
-ncurses 6.4 2024-03-16 <STRONG><A HREF="tset.1.html">tset(1)</A></STRONG>
+ncurses 6.4 2024-04-20 <STRONG><A HREF="tset.1.html">tset(1)</A></STRONG>
</PRE>
<div class="nav">
<ul>
# Author: Zeyd M. Ben-Halim <zmbenhal@netcom.com> 1992,1995
# and: Eric S. Raymond <esr@snark.thyrsus.com>
#
-# $Id: Caps,v 1.55 2024/03/16 15:26:09 Branden.Robinson Exp $
+# $Id: Caps,v 1.56 2024/04/20 21:05:02 tom Exp $
#
# This is the master termcap/terminfo capability table.
#
#%(Some standard codes exceed this limit regardless.)
#%.bP
#%The TC
-#%.RI ( \%term\%cap )
+#%.RI ( termcap )
#%code is that used by the corresponding API of
-#%.I \%ncurses.
+#%.IR \%ncurses .
#%(Some capabilities are new,
#%and have names that BSD
-#%.I \%term\%cap
+#%.I termcap
#%did not originate.)
#%.bP
#%The description field attempts to convey the capability's semantics.
key_f63 kf63 str Fr KEY_F(63) - ----E F63 function key
clr_bol el1 str cb - - ----- Clear to beginning of line
clear_margins mgc str MC - - ----- clear right and left soft margins
-set_left_margin smgl str ML - - ----- set left soft margin at current column. (ML is not in BSD termcap).
+set_left_margin smgl str ML - - ----- set left soft margin at current column (not in BSD \fItermcap\fP)
set_right_margin smgr str MR - - ----- set right soft margin at current column
label_format fln str Lf - - ----- label format
set_clock sclk str SC - - ----- set clock, #1 hrs #2 mins #3 secs
#
# Author: Thomas Dickey
#
-# $Id: Caps.aix4,v 1.27 2024/03/16 15:26:09 Branden.Robinson Exp $
+# $Id: Caps.aix4,v 1.28 2024/04/20 21:05:02 tom Exp $
#
# This is an adaptation of ncurses' termcap/terminfo capability table, which
# is designed to align with AIX 4.x's terminfo.
#%(Some standard codes exceed this limit regardless.)
#%.bP
#%The TC
-#%.RI ( \%term\%cap )
+#%.RI ( termcap )
#%code is that used by the corresponding API of
-#%.I \%ncurses.
+#%.IR \%ncurses .
#%(Some capabilities are new,
#%and have names that BSD
-#%.I \%term\%cap
+#%.I termcap
#%did not originate.)
#%.bP
#%The description field attempts to convey the capability's semantics.
req_for_input rfi str RF - - ----- send next input char (for ptys)
clr_bol el1 str cb - - ----- Clear to beginning of line
clear_margins mgc str MC - - ----- clear right and left soft margins
-set_left_margin smgl str ML - - ----- set left soft margin at current column. (ML is not in BSD termcap).
+set_left_margin smgl str ML - - ----- set left soft margin at current column (not in BSD \fItermcap\fP)
set_right_margin smgr str MR - - ----- set right soft margin at current column
label_format fln str Lf - - ----- label format
set_clock sclk str SC - - ----- set clock, #1 hrs #2 mins #3 secs
#
# Author: Thomas Dickey
#
-# $Id: Caps.hpux11,v 1.25 2024/03/16 15:26:09 Branden.Robinson Exp $
+# $Id: Caps.hpux11,v 1.26 2024/04/20 21:05:02 tom Exp $
#
# This is an adaptation of ncurses' termcap/terminfo capability table, which
# is designed to align with HPUX 11.x's terminfo.
#%(Some standard codes exceed this limit regardless.)
#%.bP
#%The TC
-#%.RI ( \%term\%cap )
+#%.RI ( termcap )
#%code is that used by the corresponding API of
-#%.I \%ncurses.
+#%.IR \%ncurses .
#%(Some capabilities are new,
#%and have names that BSD
-#%.I \%term\%cap
+#%.I termcap
#%did not originate.)
#%.bP
#%The description field attempts to convey the capability's semantics.
req_for_input rfi str RF - - ----- send next input char (for ptys)
clr_bol el1 str cb - - ----- Clear to beginning of line
clear_margins mgc str MC - - ----- clear right and left soft margins
-set_left_margin smgl str ML - - ----- set left soft margin at current column. (ML is not in BSD termcap).
+set_left_margin smgl str ML - - ----- set left soft margin at current column (not in BSD \fItermcap\fP)
set_right_margin smgr str MR - - ----- set right soft margin at current column
label_format fln str Lf - - ----- label format
set_clock sclk str SC - - ----- set clock, #1 hrs #2 mins #3 secs
# Author: Thomas Dickey
# and: Ilya Zakharevich
#
-# $Id: Caps.keys,v 1.24 2024/03/16 15:26:09 Branden.Robinson Exp $
+# $Id: Caps.keys,v 1.25 2024/04/20 21:05:02 tom Exp $
#
# This is an adaptation of ncurses' termcap/terminfo capability table, which
# is illustrates an experimental extension to describe alt-, shift- and
#%(Some standard codes exceed this limit regardless.)
#%.bP
#%The TC
-#%.RI ( \%term\%cap )
+#%.RI ( termcap )
#%code is that used by the corresponding API of
-#%.I \%ncurses.
+#%.IR \%ncurses .
#%(Some capabilities are new,
#%and have names that BSD
-#%.I \%term\%cap
+#%.I termcap
#%did not originate.)
#%.bP
#%The description field attempts to convey the capability's semantics.
key_f63 kf63 str Fr KEY_F(63) - ----E F63 function key
clr_bol el1 str cb - - ----- Clear to beginning of line
clear_margins mgc str MC - - ----- clear right and left soft margins
-set_left_margin smgl str ML - - ----- set left soft margin at current column. (ML is not in BSD termcap).
+set_left_margin smgl str ML - - ----- set left soft margin at current column (not in BSD \fItermcap\fP)
set_right_margin smgr str MR - - ----- set right soft margin at current column
label_format fln str Lf - - ----- label format
set_clock sclk str SC - - ----- set clock, #1 hrs #2 mins #3 secs
#
# Author: Thomas Dickey
#
-# $Id: Caps.osf1r5,v 1.23 2024/03/16 15:26:09 Branden.Robinson Exp $
+# $Id: Caps.osf1r5,v 1.24 2024/04/20 21:05:02 tom Exp $
#
# This is an adaptation of ncurses' termcap/terminfo capability table, which
# is designed to align with OSF/1 version 5 (Tru64) terminfo.
#%(Some standard codes exceed this limit regardless.)
#%.bP
#%The TC
-#%.RI ( \%term\%cap )
+#%.RI ( termcap )
#%code is that used by the corresponding API of
-#%.I \%ncurses.
+#%.IR \%ncurses .
#%(Some capabilities are new,
#%and have names that BSD
-#%.I \%term\%cap
+#%.I termcap
#%did not originate.)
#%.bP
#%The description field attempts to convey the capability's semantics.
set_color_band setcolor str Yz - - ----- Change to ribbon color #1
set_color_pair scp str sp - - ----- Set current color pair to #1
set_foreground setf str Sf - - ----- Set foreground color #1
-set_left_margin smgl str ML - - ----- set left soft margin at current column. (ML is not in BSD termcap).
+set_left_margin smgl str ML - - ----- set left soft margin at current column (not in BSD \fItermcap\fP)
set_left_margin_parm smglp str Zm - - ----- Set left (right) margin at column #1
set_lr_margin smglr str ML - - ----- Set both left and right margins to #1, #2. (ML is not in BSD termcap).
set_page_length slines str YZ - - ----- Set page length to #1 lines
#
# Author: Thomas Dickey
#
-# $Id: Caps.uwin,v 1.22 2024/03/16 15:26:09 Branden.Robinson Exp $
+# $Id: Caps.uwin,v 1.23 2024/04/20 21:05:02 tom Exp $
#
# This is an adaptation of ncurses' termcap/terminfo capability table, which
# is designed to align with U/Win's terminfo.
#%(Some standard codes exceed this limit regardless.)
#%.bP
#%The TC
-#%.RI ( \%term\%cap )
+#%.RI ( termcap )
#%code is that used by the corresponding API of
-#%.I \%ncurses.
+#%.IR \%ncurses .
#%(Some capabilities are new,
#%and have names that BSD
-#%.I \%term\%cap
+#%.I termcap
#%did not originate.)
#%.bP
#%The description field attempts to convey the capability's semantics.
key_f63 kf63 str Fr KEY_F(63) - ----E F63 function key
clr_bol el1 str cb - - ----- Clear to beginning of line
clear_margins mgc str MC - - ----- clear right and left soft margins
-set_left_margin smgl str ML - - ----- set left soft margin at current column. (ML is not in BSD termcap).
+set_left_margin smgl str ML - - ----- set left soft margin at current column (not in BSD \fItermcap\fP)
set_right_margin smgr str MR - - ----- set right soft margin at current column
device_type devt str dv - - ----- Indicate language/codeset support
code_set_init csin str ci - - ----- Init sequence for multiple codesets
.\" authorization. *
.\"***************************************************************************
.\"
-.\" $Id: MKada_config.in,v 1.32 2023/12/16 21:42:53 tom Exp $
-.TH adacurses@USE_CFG_SUFFIX@\-config 1 2023-12-16 "ncurses @NCURSES_MAJOR@.@NCURSES_MINOR@" "User commands"
+.\" $Id: MKada_config.in,v 1.34 2024/04/20 21:13:27 tom Exp $
+.TH adacurses@USE_CFG_SUFFIX@\-config 1 2024-04-20 "ncurses @NCURSES_MAJOR@.@NCURSES_MINOR@" "User commands"
.ds C adacurses@USE_CFG_SUFFIX@\-config
.ie \n(.g \{\
.ds `` \(lq
.ie t .ds ' \(aq
.el .ds ' '
.\}
+.
+.\" Fix broken EX/EE macros on DWB troff.
+.\" Detect it: only DWB sets up a `)Y` register.
+.if !\n(.g .if \n()Y \{\
+.\" Revert the undesired changes to indentation.
+.am EX
+.in -5n
+..
+.am EE
+.in +5n
+..
+.\}
+.
.SH NAME
\fB\%adacurses@USE_CFG_SUFFIX@\-config\fP \-
configuration helper for \fI@ADA_LIBNAME@\fP libraries
user to press the \*(``q\*('' key before exiting.
Populate a file \fIhello.adb\fP with the following.
.PP
-.RS 4
+.if \n(LL>67n .RS 4
.EX
with Terminal_Interface.Curses; use Terminal_Interface.Curses;
End_Windows;
end Hello;
.EE
-.RE
+.if \n(LL>67n .RE
.ne 2
.PP
Then, using
.\" authorization. *
.\"***************************************************************************
.\"
-.\" $Id: MKncu_config.in,v 1.22 2023/12/23 23:44:26 tom Exp $
-.TH @LIB_NAME@@DFT_ARG_SUFFIX@@cf_cv_abi_version@-config 1 2023-12-23 "ncurses @NCURSES_MAJOR@.@NCURSES_MINOR@" "User commands"
+.\" $Id: MKncu_config.in,v 1.23 2024/04/20 21:13:38 tom Exp $
+.TH @LIB_NAME@@DFT_ARG_SUFFIX@@cf_cv_abi_version@-config 1 2024-04-20 "ncurses @NCURSES_MAJOR@.@NCURSES_MINOR@" "User commands"
.SH NAME
\fB\%@LIB_NAME@@DFT_ARG_SUFFIX@@cf_cv_abi_version@-config\fP \-
configuration helper for \fI\%ncurses\fP libraries
.\" authorization. *
.\"***************************************************************************
.\"
-.\" $Id: curs_add_wch.3x,v 1.59 2024/04/13 22:11:52 tom Exp $
-.TH curs_add_wch 3X 2024-04-13 "ncurses @NCURSES_MAJOR@.@NCURSES_MINOR@" "Library calls"
+.\" $Id: curs_add_wch.3x,v 1.62 2024/04/20 21:20:07 tom Exp $
+.TH curs_add_wch 3X 2024-04-20 "ncurses @NCURSES_MAJOR@.@NCURSES_MINOR@" "Library calls"
.ie \n(.g \{\
.ds `` \(lq
.ds '' \(rq
or if it is not possible to add all of the resulting bytes in the window,
an error is returned.
.PP
-Functions with a \*(``mv\*('' prefix first perform a cursor movement using
-\fBwmove\fP, and return an error if the position is outside the window,
-or if the window pointer is null.
+Functions prefixed with \*(``mv\*('' first perform cursor movement and
+fail if the position
+.RI ( y ,
+.IR x )
+is outside the window boundaries.
.SH NOTES
Note that
\fBadd_wch\fP,
\fBecho_wchar\fP
may be macros.
.SH PORTABILITY
-These functions are described in the XSI Curses standard, Issue 4.
+These functions are described in X/Open Curses, Issue 4.
The defaults specified for line-drawing characters apply in the POSIX locale.
.SS "WACS Symbols"
X/Open Curses makes it clear that the WACS_ symbols should be defined as
.\" authorization. *
.\"***************************************************************************
.\"
-.\" $Id: curs_add_wchstr.3x,v 1.36 2024/04/13 22:21:16 tom Exp $
-.TH curs_add_wchstr 3X 2024-04-13 "ncurses @NCURSES_MAJOR@.@NCURSES_MINOR@" "Library calls"
+.\" $Id: curs_add_wchstr.3x,v 1.39 2024/04/20 21:20:07 tom Exp $
+.TH curs_add_wchstr 3X 2024-04-20 "ncurses @NCURSES_MAJOR@.@NCURSES_MINOR@" "Library calls"
.ie \n(.g \{\
.ds `` \(lq
.ds '' \(rq
.bP
if the \fIwchstr\fP parameter is null.
.PP
-Functions with a \*(``mv\*('' prefix first perform a cursor movement using
-\fBwmove\fP, and return an error if the position is outside the window,
-or if the window pointer is null.
+Functions prefixed with \*(``mv\*('' first perform cursor movement and
+fail if the position
+.RI ( y ,
+.IR x )
+is outside the window boundaries.
.SH NOTES
All functions except \fBwadd_wchnstr\fP may be macros.
.SH PORTABILITY
-These functions are described in the XSI Curses standard, Issue 4.
+These functions are described in X/Open Curses, Issue 4.
.SH SEE ALSO
\fB\%curs_addchstr\fP(3X) describes comparable functions of the
.I \%ncurses
.\" authorization. *
.\"***************************************************************************
.\"
-.\" $Id: curs_addch.3x,v 1.83 2024/04/13 22:23:35 tom Exp $
-.TH curs_addch 3X 2024-04-13 "ncurses @NCURSES_MAJOR@.@NCURSES_MINOR@" "Library calls"
+.\" $Id: curs_addch.3x,v 1.85 2024/04/20 19:03:47 tom Exp $
+.TH curs_addch 3X 2024-04-20 "ncurses @NCURSES_MAJOR@.@NCURSES_MINOR@" "Library calls"
.ie \n(.g \{\
.ds `` \(lq
.ds '' \(rq
\fB\%mvwaddch\fP,
\fB\%echochar\fP,
\fB\%wechochar\fP \-
-add a \fIcurses\fR character to a window and advance the cursor
+add a \fIcurses\fP character to a window and advance the cursor
.SH SYNOPSIS
.nf
\fB#include <curses.h>
if \fB\%scrollok\fP(3X) is not enabled in that event,
because it is not possible to wrap to a new line.
.PP
-Functions with a \*(``mv\*('' prefix first perform cursor movement using
-\fB\%wmove\fP(3X) and fail if the position is outside the window,
-or
-(for \*(``mvw\*('' functions)
-if the
-.I \%WINDOW
-pointer is null.
+Functions prefixed with \*(``mv\*('' first perform cursor movement and
+fail if the position
+.RI ( y ,
+.IR x )
+is outside the window boundaries.
.SH NOTES
.BR \%addch ,
.BR \%mvaddch ,
X/Open Curses,
Issue 4 describes these functions.
It specifies no error conditions for them.
+.PP
+SVr4
+.I curses
+describes a successful return value only as
+\*(``an integer value other than
+.BR ERR \*(''.
+.PP
The defaults specified for forms-drawing characters apply in the POSIX
locale.
.SS "ACS Symbols"
.\" authorization. *
.\"***************************************************************************
.\"
-.\" $Id: curs_addchstr.3x,v 1.42 2024/04/13 22:21:16 tom Exp $
-.TH curs_addchstr 3X 2024-04-13 "ncurses @NCURSES_MAJOR@.@NCURSES_MINOR@" "Library calls"
+.\" $Id: curs_addchstr.3x,v 1.45 2024/04/20 21:20:07 tom Exp $
+.TH curs_addchstr 3X 2024-04-20 "ncurses @NCURSES_MAJOR@.@NCURSES_MINOR@" "Library calls"
.ie \n(.g \{\
.ds `` \(lq
.ds '' \(rq
.bP
if the \fIwchstr\fP parameter is null.
.PP
-Functions with a \*(``mv\*('' prefix first perform a cursor movement using
-\fBwmove\fP, and return an error if the position is outside the window,
-or if the window pointer is null.
+Functions prefixed with \*(``mv\*('' first perform cursor movement and
+fail if the position
+.RI ( y ,
+.IR x )
+is outside the window boundaries.
.SH NOTES
All functions except \fBwaddchnstr\fP may be macros.
.SH PORTABILITY
-These functions are described in the XSI Curses standard, Issue 4.
+These functions are described in X/Open Curses, Issue 4.
.SH SEE ALSO
\fB\%curs_add_wchstr\fP(3X) describes comparable functions of the
.I \%ncurses
.\" authorization. *
.\"***************************************************************************
.\"
-.\" $Id: curs_addstr.3x,v 1.43 2024/04/13 22:14:06 tom Exp $
-.TH curs_addstr 3X 2024-04-13 "ncurses @NCURSES_MAJOR@.@NCURSES_MINOR@" "Library calls"
+.\" $Id: curs_addstr.3x,v 1.45 2024/04/20 19:18:18 tom Exp $
+.TH curs_addstr 3X 2024-04-20 "ncurses @NCURSES_MAJOR@.@NCURSES_MINOR@" "Library calls"
.ie \n(.g \{\
.ds `` \(lq
.ds '' \(rq
.bP
if an internal \fB\%waddch\fP(3X) call returns an error.
.PP
-Functions with a \*(``mv\*('' prefix first perform cursor movement using
-\fB\%wmove\fP(3X) and fail if the position is outside the window,
-or
-(for \*(``mvw\*('' functions)
-if the
-.I \%WINDOW
-pointer is null.
+Functions prefixed with \*(``mv\*('' first perform cursor movement and
+fail if the position
+.RI ( y ,
+.IR x )
+is outside the window boundaries.
.SH NOTES
All of these functions except \fBwaddnstr\fP may be macros.
.SH PORTABILITY
.\" authorization. *
.\"***************************************************************************
.\"
-.\" $Id: curs_addwstr.3x,v 1.35 2024/04/13 22:14:06 tom Exp $
-.TH curs_addwstr 3X 2024-04-13 "ncurses @NCURSES_MAJOR@.@NCURSES_MINOR@" "Library calls"
+.\" $Id: curs_addwstr.3x,v 1.37 2024/04/20 19:18:18 tom Exp $
+.TH curs_addwstr 3X 2024-04-20 "ncurses @NCURSES_MAJOR@.@NCURSES_MINOR@" "Library calls"
.ie \n(.g \{\
.ds `` \(lq
.ds '' \(rq
.bP
if an internal \fB\%wadd_wch\fP(3X) call returns an error.
.PP
-Functions with a \*(``mv\*('' prefix first perform cursor movement using
-\fB\%wmove\fP(3X) and fail if the position is outside the window,
-or
-(for \*(``mvw\*('' functions)
-if the
-.I \%WINDOW
-pointer is null.
+Functions prefixed with \*(``mv\*('' first perform cursor movement and
+fail if the position
+.RI ( y ,
+.IR x )
+is outside the window boundaries.
.SH NOTES
All of these functions except
.B waddnwstr
.\" authorization. *
.\"***************************************************************************
.\"
-.\" $Id: curs_attr.3x,v 1.99 2024/03/16 15:38:33 tom Exp $
-.TH curs_attr 3X 2024-03-16 "ncurses @NCURSES_MAJOR@.@NCURSES_MINOR@" "Library calls"
+.\" $Id: curs_attr.3x,v 1.103 2024/04/20 21:24:19 tom Exp $
+.TH curs_attr 3X 2024-04-20 "ncurses @NCURSES_MAJOR@.@NCURSES_MINOR@" "Library calls"
.ie \n(.g \{\
.ds `` \(lq
.ds '' \(rq
does not return an error if either of the parameters of \fBwattr_get\fP
used for retrieving attribute or color pair values is \fBNULL\fP.
.PP
-Functions with a \*(``mv\*('' prefix first perform a cursor movement using
-\fBwmove\fP, and return an error if the position is outside the window,
-or if the window pointer is null.
+Functions prefixed with \*(``mv\*('' first perform cursor movement and
+fail if the position
+.RI ( y ,
+.IR x )
.\" ---------------------------------------------------------------------------
.SH NOTES
These functions may be macros:
except to check that it is \fBNULL\fP.
.\" ---------------------------------------------------------------------------
.SH PORTABILITY
-These functions are described in the XSI Curses standard, Issue 4.
+These functions are described in X/Open Curses, Issue 4.
The standard defined the dedicated type for highlights,
\fBattr_t\fP, which was not defined in SVr4 curses.
The functions taking \fBattr_t\fP arguments were not supported under SVr4.
when changing the attributes.
Use \fBtouchwin\fP to force the screen to match the updated attributes.
.PP
-The XSI Curses standard states that whether the traditional functions
+X/Open Curses states that whether the traditional functions
\fBattron\fP/\fBattroff\fP/\fBattrset\fP can manipulate attributes other than
\fBA_BLINK\fP, \fBA_BOLD\fP, \fBA_DIM\fP, \fBA_REVERSE\fP, \fBA_STANDOUT\fP, or
\fBA_UNDERLINE\fP is \*(``unspecified\*(''.
SVr4 curses, these functions correctly manipulate all other highlights
(specifically, \fBA_ALTCHARSET\fP, \fBA_PROTECT\fP, and \fBA_INVIS\fP).
.PP
-XSI Curses added these entry points:
+X/Open Curses added these entry points:
.sp
.RS
\fBattr_get\fP, \fBattr_on\fP,
.TE
.RE
.PP
-XSI curses does not assign values to these symbols,
+X/Open Curses does not assign values to these symbols,
nor does it state whether or not they are related to the
similarly-named A_NORMAL, etc.:
.bP
-The XSI curses standard specifies that each pair of corresponding \fBA_\fP
+X/Open Curses specifies that each pair of corresponding \fBA_\fP
and \fBWA_\fP-using functions operates on the same current-highlight
information.
.bP
This is consistent with SVr4 curses;
X/Open Curses does not specify this.
.PP
-The XSI standard extended conformance level adds new highlights
+The X/Open Curses extended conformance level adds new highlights
\fBA_HORIZONTAL\fP, \fBA_LEFT\fP, \fBA_LOW\fP, \fBA_RIGHT\fP, \fBA_TOP\fP,
\fBA_VERTICAL\fP (and corresponding \fBWA_\fP macros for each).
As of August 2013,
.\" authorization. *
.\"***************************************************************************
.\"
-.\" $Id: curs_beep.3x,v 1.27 2024/03/16 15:35:01 tom Exp $
-.TH curs_beep 3X 2024-03-16 "ncurses @NCURSES_MAJOR@.@NCURSES_MINOR@" "Library calls"
+.\" $Id: curs_beep.3x,v 1.29 2024/04/20 21:20:07 tom Exp $
+.TH curs_beep 3X 2024-04-20 "ncurses @NCURSES_MAJOR@.@NCURSES_MINOR@" "Library calls"
.SH NAME
\fB\%beep\fP,
\fB\%flash\fP \-
SVr4's beep and flash routines always returned \fBOK\fP, so it was not
possible to tell when the beep or flash failed.
.SH PORTABILITY
-These functions are described in the XSI Curses standard, Issue 4.
+These functions are described in X/Open Curses, Issue 4.
Like SVr4, it specifies that they always return \fBOK\fP.
.SH SEE ALSO
\fB\%curses\fP(3X)
.\" authorization. *
.\"***************************************************************************
.\"
-.\" $Id: curs_bkgd.3x,v 1.59 2024/03/23 19:58:58 tom Exp $
-.TH curs_bkgd 3X 2024-03-23 "ncurses @NCURSES_MAJOR@.@NCURSES_MINOR@" "Library calls"
+.\" $Id: curs_bkgd.3x,v 1.61 2024/04/20 18:54:36 tom Exp $
+.TH curs_bkgd 3X 2024-04-20 "ncurses @NCURSES_MAJOR@.@NCURSES_MINOR@" "Library calls"
.ie \n(.g \{\
.ds `` \(lq
.ds '' \(rq
checks to ensure that,
and will reuse the old background character if the check fails.
.SH PORTABILITY
-X/Open Curses, Issue 4, describes these functions.
+X/Open Curses,
+Issue 4 describes these functions.
It specifies that
\fB\%bkgd\fP,
\fB\%wbkgd\fP,
.\" authorization. *
.\"***************************************************************************
.\"
-.\" $Id: curs_bkgrnd.3x,v 1.40 2024/03/23 19:59:45 tom Exp $
-.TH curs_bkgrnd 3X 2024-03-23 "ncurses @NCURSES_MAJOR@.@NCURSES_MINOR@" "Library calls"
+.\" $Id: curs_bkgrnd.3x,v 1.42 2024/04/20 18:54:36 tom Exp $
+.TH curs_bkgrnd 3X 2024-04-20 "ncurses @NCURSES_MAJOR@.@NCURSES_MINOR@" "Library calls"
.ie \n(.g \{\
.ds `` \(lq
.ds '' \(rq
parameter,
not as the return value.
.SH PORTABILITY
-X/Open Curses, Issue 4, describes these functions.
+X/Open Curses,
+Issue 4 describes these functions.
It specifies no error conditions for them.
.PP
X/Open Curses does not provide details of how the rendition is updated.
.\" authorization. *
.\"***************************************************************************
.\"
-.\" $Id: curs_border.3x,v 1.46 2024/03/16 15:38:43 tom Exp $
-.TH curs_border 3X 2024-03-16 "ncurses @NCURSES_MAJOR@.@NCURSES_MINOR@" "Library calls"
+.\" $Id: curs_border.3x,v 1.49 2024/04/20 21:20:07 tom Exp $
+.TH curs_border 3X 2024-04-20 "ncurses @NCURSES_MAJOR@.@NCURSES_MINOR@" "Library calls"
.ie \n(.g \{\
.ds `` \(lq
.ds '' \(rq
This implementation returns an error
if the window pointer is null.
.PP
-Functions with a \*(``mv\*('' prefix first perform a cursor movement using
-\fBwmove\fP, and return an error if the position is outside the window,
-or if the window pointer is null.
+Functions prefixed with \*(``mv\*('' first perform cursor movement and
+fail if the position
+.RI ( y ,
+.IR x )
+is outside the window boundaries.
.SH NOTES
The borders generated by these functions are \fIinside\fP borders (this
is also true of SVr4 curses, though the fact is not documented).
.PP
Note that \fBborder\fP and \fBbox\fP may be macros.
.SH PORTABILITY
-These functions are described in the XSI Curses standard, Issue 4.
+These functions are described in X/Open Curses, Issue 4.
.SH SEE ALSO
\fB\%curses\fP(3X),
\fB\%curs_outopts\fP(3X)
.\" authorization. *
.\"***************************************************************************
.\"
-.\" $Id: curs_border_set.3x,v 1.33 2024/03/16 15:35:01 tom Exp $
-.TH curs_border_set 3X 2024-03-16 "ncurses @NCURSES_MAJOR@.@NCURSES_MINOR@" "Library calls"
+.\" $Id: curs_border_set.3x,v 1.36 2024/04/20 21:20:07 tom Exp $
+.TH curs_border_set 3X 2024-04-20 "ncurses @NCURSES_MAJOR@.@NCURSES_MINOR@" "Library calls"
.ie \n(.g \{\
.ds `` \(lq
.ds '' \(rq
.PP
Functions using a window parameter return an error if it is null.
.PP
-Functions with a \*(``mv\*('' prefix first perform a cursor movement using
-\fBwmove\fP, and return an error if the position is outside the window,
-or if the window pointer is null.
+Functions prefixed with \*(``mv\*('' first perform cursor movement and
+fail if the position
+.RI ( y ,
+.IR x )
+is outside the window boundaries.
.SH NOTES
Note that
\fBborder_set\fP,
\fBvline_set\fP
may be macros.
.SH PORTABILITY
-These functions are described in the XSI Curses standard, Issue 4.
+These functions are described in X/Open Curses, Issue 4.
.SH SEE ALSO
\fB\%curses\fP(3X),
\fB\%curs_add_wch\fP(3X),
.\" authorization. *
.\"***************************************************************************
.\"
-.\" $Id: curs_clear.3x,v 1.46 2024/03/16 15:35:01 tom Exp $
-.TH curs_clear 3X 2024-03-16 "ncurses @NCURSES_MAJOR@.@NCURSES_MINOR@" "Library calls"
+.\" $Id: curs_clear.3x,v 1.48 2024/04/20 21:20:07 tom Exp $
+.TH curs_clear 3X 2024-04-20 "ncurses @NCURSES_MAJOR@.@NCURSES_MINOR@" "Library calls"
.ie \n(.g \{\
.ds `` \(lq
.ds '' \(rq
Note that \fBerase\fP, \fBwerase\fP, \fBclear\fP, \fBwclear\fP,
\fBclrtobot\fP, and \fBclrtoeol\fP may be macros.
.SH PORTABILITY
-These functions are described in the XSI Curses standard, Issue 4.
+These functions are described in X/Open Curses, Issue 4.
.PP
The SVr4.0 manual says that these functions could return
\*(``or a non-negative integer if \fB\%immedok\fP is set\*('',
.\" authorization. *
.\"***************************************************************************
.\"
-.\" $Id: curs_color.3x,v 1.98 2024/03/16 15:35:01 tom Exp $
-.TH curs_color 3X 2024-03-16 "ncurses @NCURSES_MAJOR@.@NCURSES_MINOR@" "Library calls"
+.\" $Id: curs_color.3x,v 1.100 2024/04/20 21:24:19 tom Exp $
+.TH curs_color 3X 2024-04-20 "ncurses @NCURSES_MAJOR@.@NCURSES_MINOR@" "Library calls"
.ie \n(.g \{\
.ds `` \(lq
.ds '' \(rq
.B \%NCURSES_VERSION
preprocessor macro.
.PP
-This implementation satisfies XSI Curses's minimum maximums
+This implementation satisfies X/Open Curses's minimum maximums
for \fB\%COLORS\fP and \fB\%COLOR_PAIRS\fP.
.PP
The \fB\%init_pair\fP routine accepts negative values of foreground
.\" authorization. *
.\"***************************************************************************
.\"
-.\" $Id: curs_delch.3x,v 1.32 2024/03/16 15:35:01 tom Exp $
-.TH curs_delch 3X 2024-03-16 "ncurses @NCURSES_MAJOR@.@NCURSES_MINOR@" "Library calls"
+.\" $Id: curs_delch.3x,v 1.34 2024/04/20 19:24:14 tom Exp $
+.TH curs_delch 3X 2024-04-20 "ncurses @NCURSES_MAJOR@.@NCURSES_MINOR@" "Library calls"
.ie \n(.g \{\
.ds `` \(lq
.ds '' \(rq
\fB\%wdelch\fP,
\fB\%mvdelch\fP,
\fB\%mvwdelch\fP \-
-delete the character at the cursor in a \fIcurses\fR window
+delete a character from a \fIcurses\fR window
.SH SYNOPSIS
.nf
\fB#include <curses.h>
\fBint mvwdelch(WINDOW *\fIwin\fP, int \fIy\fP, int \fIx\fP);
.fi
.SH DESCRIPTION
-These routines delete the character under the cursor; all characters to the
-right of the cursor on the same line are moved to the left one position and the
-last character on the line is filled with a blank.
-The cursor position does
-not change (after moving to \fIy\fP, \fIx\fP, if specified).
-(This does not
-imply use of the hardware delete character feature.)
+.B \%wdelch
+deletes the character at the cursor position in
+.IR win .
+\fB\%ncurses\fP(3X) describes the variants of this function.
+.PP
+.B \%wdelch
+moves all characters to the right of the cursor on the same line to the
+left one position and replaces the contents of the rightmost position on
+the line with the window's blank character;
+see \fB\%bkgd\fP(3X)
+(wide-character API users may consult \fB\%bkgrnd\fP(3X) instead).
+The cursor position does not change
+(after moving to
+.RI ( y ,
+.IR x ),
+if specified).
.SH RETURN VALUE
-All routines return the integer \fBERR\fP upon failure and an \fBOK\fP
-(SVr4 specifies only
-\*(``an integer value other than \fBERR\fP\*('')
-upon successful completion.
+These functions return
+.B OK
+on success and
+.B ERR
+on failure.
+.PP
+Functions taking a
+.I \%WINDOW
+pointer argument fail if the pointer is
+.BR NULL .
.PP
-Functions with a \*(``mv\*('' prefix first perform a cursor movement using
-\fBwmove\fP, and return an error if the position is outside the window,
-or if the window pointer is null.
+Functions prefixed with \*(``mv\*('' first perform cursor movement and
+fail if the position
+.RI ( y ,
+.IR x )
+is outside the window boundaries.
.SH NOTES
-Note that \fBdelch\fP, \fBmvdelch\fP, and \fBmvwdelch\fP may be macros.
+.BR \%delch ,
+.BR \%mvdelch ,
+and
+.B \%mvwdelch
+may be implemented as macros.
+.PP
+A terminal's
+.B \%delete_character
+.RB ( dch1 )
+capability
+is not necessarily employed.
.SH PORTABILITY
-These functions are described in the XSI Curses standard, Issue 4.
-The
-standard specifies that they return \fBERR\fP on failure, but specifies no
-error conditions.
+X/Open Curses,
+Issue 4 describes these functions.
+.PP
+SVr4
+.I curses
+describes a successful return value only as
+\*(``an integer value other than
+.BR ERR \*(''.
.SH SEE ALSO
\fB\%curses\fP(3X)
.\" authorization. *
.\"***************************************************************************
.\"
-.\" $Id: curs_deleteln.3x,v 1.36 2024/03/16 15:35:01 tom Exp $
-.TH curs_deleteln 3X 2024-03-16 "ncurses @NCURSES_MAJOR@.@NCURSES_MINOR@" "Library calls"
+.\" $Id: curs_deleteln.3x,v 1.38 2024/04/20 21:20:07 tom Exp $
+.TH curs_deleteln 3X 2024-04-20 "ncurses @NCURSES_MAJOR@.@NCURSES_MINOR@" "Library calls"
.ie \n(.g \{\
.ds `` \(lq
.ds '' \(rq
In fact, they will not use hardware line delete/insert unless
\fBidlok(..., TRUE)\fP has been set on the current window.
.SH PORTABILITY
-These functions are described in the XSI Curses standard, Issue 4.
+These functions are described in X/Open Curses, Issue 4.
The
standard specifies that they return \fBERR\fP on failure, but specifies no
error conditions.
.\" authorization. *
.\"***************************************************************************
.\"
-.\" $Id: curs_get_wch.3x,v 1.38 2024/04/13 22:14:06 tom Exp $
-.TH curs_get_wch 3X 2024-04-13 "ncurses @NCURSES_MAJOR@.@NCURSES_MINOR@" "Library calls"
+.\" $Id: curs_get_wch.3x,v 1.40 2024/04/20 19:23:03 tom Exp $
+.TH curs_get_wch 3X 2024-04-20 "ncurses @NCURSES_MAJOR@.@NCURSES_MINOR@" "Library calls"
.ie \n(.g \{\
.ds `` \(lq
.ds '' \(rq
\fBint mvget_wch(int \fIy\fP, int \fIx\fP, wint_t *\fIwch\fP);
\fBint mvwget_wch(WINDOW *\fIwin\fP, int \fIy\fP, int \fIx\fP, wint_t *\fIwch\fP);
.PP
-\fBint unget_wch(const wchar_t \fIwch\fP);
+\fBint unget_wch(const wchar_t \fIwc\fP);
.fi
.SH DESCRIPTION
.SS "Reading Characters"
is set to
.BR \%EINTR .
.PP
-Functions with a \*(``mv\*('' prefix first perform cursor movement using
-\fB\%wmove\fP(3X) and fail if the position is outside the window,
-or
-(for \*(``mvw\*('' functions)
-if the
-.I win
-parameter is a null pointer.
+Functions prefixed with \*(``mv\*('' first perform cursor movement and
+fail if the position
+.RI ( y ,
+.IR x )
+is outside the window boundaries.
.PP
.B \%unget_wch
returns
.B \%NCURSES_VERSION
preprocessor macro.
.PP
-X/Open Curses, Issue 4, describes these functions.
+X/Open Curses,
+Issue 4 describes these functions.
It specifies no error conditions for them.
.PP
See the \*(``PORTABILITY\*('' section of \fB\%wgetch\fP(3X) regarding
.\" authorization. *
.\"***************************************************************************
.\"
-.\" $Id: curs_get_wstr.3x,v 1.46 2024/04/13 22:14:06 tom Exp $
-.TH curs_get_wstr 3X 2024-04-13 "ncurses @NCURSES_MAJOR@.@NCURSES_MINOR@" "Library calls"
+.\" $Id: curs_get_wstr.3x,v 1.48 2024/04/20 19:18:18 tom Exp $
+.TH curs_get_wstr 3X 2024-04-20 "ncurses @NCURSES_MAJOR@.@NCURSES_MINOR@" "Library calls"
.ie \n(.g \{\
.ds `` \(lq
.ds '' \(rq
\fBwget_wch\fP
failed.
.PP
-Functions with a \*(``mv\*('' prefix first perform a cursor movement using
-\fBwmove\fP, and return an error if the position is outside the window,
-or if the window pointer is null.
+Functions prefixed with \*(``mv\*('' first perform cursor movement and
+fail if the position
+.RI ( y ,
+.IR x )
+is outside the window boundaries.
.SH NOTES
Any of these functions other than
\fBwgetn_wstr\fP
.\" authorization. *
.\"***************************************************************************
.\"
-.\" $Id: curs_getcchar.3x,v 1.47 2024/04/13 22:08:22 tom Exp $
-.TH curs_getcchar 3X 2024-04-13 "ncurses @NCURSES_MAJOR@.@NCURSES_MINOR@" "Library calls"
+.\" $Id: curs_getcchar.3x,v 1.49 2024/04/20 18:55:09 tom Exp $
+.TH curs_getcchar 3X 2024-04-20 "ncurses @NCURSES_MAJOR@.@NCURSES_MINOR@" "Library calls"
.de bP
.ie n .IP \(bu 4
.el .IP \(bu 2
\fB#include <curses.h>
.PP
\fBint getcchar(
-.B " const cchar_t *\fIwcval\fP,"
-.B " wchar_t *\fIwch\fP,"
+.B " const cchar_t *\fIwch\fP,"
+.B " wchar_t *\fIwc\fP,"
.B " attr_t *\fIattrs\fP,"
.B " short *\fIcolor_pair\fP,"
.B " void *\fIopts\fP );"
.PP
.B "int setcchar("
-.B " cchar_t *\fIwcval\fP,"
-.B " const wchar_t *\fIwch\fP,"
+.B " cchar_t *\fIwch\fP,"
+.B " const wchar_t *\fIwc\fP,"
.B " const attr_t \fIattrs\fP,"
.B " short \fIcolor_pair\fP,"
.B " const void *\fIopts\fP );"
.SS getcchar
The \fBgetcchar\fP function gets a wide-character string
and rendition from a \fBcchar_t\fP argument.
-When \fIwch\fP is not a null pointer,
+When \fIwc\fP is not a null pointer,
the \fBgetcchar\fP function does the following:
.bP
-Extracts information from a \fBcchar_t\fP value \fIwcval\fP
+Extracts information from a \fBcchar_t\fP value \fIwch\fP
.bP
Stores the character attributes in the location pointed to by \fIattrs\fP
.bP
Stores the color pair in the location pointed to by \fIcolor_pair\fP
.bP
Stores the wide-character string,
-characters referenced by \fIwcval\fP, into the array pointed to by \fIwch\fP.
+characters referenced by \fIwch\fP, into the array pointed to by \fIwc\fP.
.PP
When
-\fIwch\fP
+\fIwc\fP
is a null pointer, the
\fBgetcchar\fP
function does the following:
.bP
-Obtains the number of wide characters pointed to by \fIwcval\fP
+Obtains the number of wide characters pointed to by \fIwch\fP
.bP
Does not change the data referenced by
\fIattrs\fP
or
\fIcolor_pair\fP
.SS setcchar
-The \fBsetcchar\fP function initializes the location pointed to by \fIwcval\fP
+The \fBsetcchar\fP function initializes the location pointed to by \fIwch\fP
by using:
.bP
The character attributes in
The color pair in
\fIcolor_pair\fP
.bP
-The wide-character string pointed to by \fIwch\fP.
+The wide-character string pointed to by \fIwc\fP.
The string must be L'\e0' terminated,
contain at most one spacing character,
which must be the first.
The string may contain a single control character instead.
In that case, no non-spacing characters are allowed.
.SH RETURN VALUE
-When \fIwch\fP is a null pointer,
+When \fIwc\fP is a null pointer,
\fBgetcchar\fP returns the number of wide characters referenced by
-\fIwcval\fP,
+\fIwch\fP,
including one for a trailing null.
.PP
-When \fIwch\fP is not a null pointer,
+When \fIwc\fP is not a null pointer,
\fBgetcchar\fP returns \fBOK\fP upon successful completion,
and \fBERR\fP otherwise.
.PP
Upon successful completion, \fBsetcchar\fP returns \fBOK\fP.
Otherwise, it returns \fBERR\fP.
.SH NOTES
-The \fIwcval\fP argument may be a value generated by a call to
+The \fIwch\fP argument may be a value generated by a call to
\fBsetcchar\fP or by a function that has a \fBcchar_t\fP output argument.
-If \fIwcval\fP is constructed by any other means, the effect is unspecified.
+If \fIwch\fP is constructed by any other means, the effect is unspecified.
.SH EXTENSIONS
X/Open Curses documents the \fIopts\fP argument as reserved for future use,
saying that it must be null.
.\" authorization. *
.\"***************************************************************************
.\"
-.\" $Id: curs_getch.3x,v 1.85 2024/04/13 22:18:51 tom Exp $
-.TH curs_getch 3X 2024-04-13 "ncurses @NCURSES_MAJOR@.@NCURSES_MINOR@" "Library calls"
+.\" $Id: curs_getch.3x,v 1.87 2024/04/20 19:18:18 tom Exp $
+.TH curs_getch 3X 2024-04-20 "ncurses @NCURSES_MAJOR@.@NCURSES_MINOR@" "Library calls"
.ie \n(.g \{\
.ds `` \(lq
.ds '' \(rq
.B int mvgetch(int \fIy\fP, int \fIx\fP);
.B int mvwgetch(WINDOW *\fIwin\fP, int \fIy\fP, int \fIx\fP);
.PP
-.B int ungetch(int \fIch\fP);
+.B int ungetch(int \fIc\fP);
.PP
.\" XXX: Move has_key into its own page like define_key and key_defined?
\fI/* extension */\fP
-.B int has_key(int \fIch\fP);
+.B int has_key(int \fIc\fP);
.fi
.SH DESCRIPTION
.SS "Reading Characters"
and the window is not a pad,
.I curses
writes the returned character
-.I ch
+.I c
to the window
(at the cursor position)
per the following rules.
.bP
If
-.I ch
+.I c
matches the terminal's erase character,
the cursor moves leftward one position
and the new position is erased
.bP
.I curses
writes any other
-.I ch
+.I c
to the window,
as with \fB\%wechochar\fP(3X).
.bP
.BR \%wrefresh .
.PP
If
-.I ch
+.I c
is a carriage return and \fBnl\fP(3X) has been called,
.B \%wgetch
-returns the character code for newline
-(line feed)
-instead.
+returns the character code for line feed instead.
.SS "Keypad Mode"
To
.IR curses ,
In
.IR \%ncurses ,
.I "user-defined function keys"
-are configured with \fBdefine_key\fP(3X);
+are configured with \fB\%define_key\fP(3X);
they have no names,
but are also expected to have values outside the range of eight-bit
codes.
.SS "Ungetting Characters"
.B \%ungetch
places
-.I ch
+.I c
into the input queue to be returned by the next call to
.BR \%wgetch .
A single input queue serves all windows.
The naming convention may seem obscure,
with some apparent misspellings
(such as \*(``RSUME\*('' for \*(``resume\*('');
-The names correspond to the
+the names correspond to the
.I \%term\%info
capability names for the keys,
and were standardized before the IBM PC/AT keyboard layout achieved a
.TE
.RE
.PP
-The keypad is arranged as follows.
+Many keyboards feature a nine-key directional pad.
.PP
.RS
.TS
.TE
.RE
.sp
-Two of these symbols do
+Two of the symbols in the list above do
.I not
-correspond to a real key.
+correspond to a physical key.
.bP
.B \%wgetch
returns
-.B \%KEY_RESIZE
-(even if the window's keypad mode is disabled)
+.BR \%KEY_RESIZE ,
+even if the window's keypad mode is disabled,
when
.I \%ncurses
-detects the
+handles a
.B \%SIGWINCH
signal;
-see \fBinitscr\fP(3X) and \fBresizeterm\fP(3X).
+see \fB\%initscr\fP(3X) and \fB\%resizeterm\fP(3X).
.bP
.B \%wgetch
returns
.B \%KEY_MOUSE
to indicate that a mouse event is pending collection;
-see \fBcurs_mouse\fP(3X).
+see \fB\%curs_mouse\fP(3X).
Receipt of this code requires a window's keypad mode to be enabled,
because to interpret mouse input
-(as with with \fIxterm\fP(1)'s mouse prototocol),
+(as with with \fI\%xterm\fP(1)'s mouse prototocol),
.I \%ncurses
must read an escape sequence,
as with a function key.
In
.IR \%ncurses ,
.B \%has_key
-takes a key code value from the above list,
-and returns a Boolean value indicating the terminal's recognition of it.
+returns a Boolean value indicating whether the terminal type recognizes
+its parameter as a key code value.
See also
-\fBdefine_key\fP(3X) and \fBkey_defined\fP(3X).
+\fB\%define_key\fP(3X) and \fB\%key_defined\fP(3X).
.SH RETURN VALUE
-.B \%wgetch
-returns
+Except for
+.BR \%has_key ,
+these functions return
+.B OK
+on success and
.B ERR
-if
-.bP
-the
+on failure.
+.PP
+Functions taking a
.I \%WINDOW
-pointer is
-.BR NULL ,
-or
+pointer argument fail if the pointer is
+.BR NULL .
+.PP
+Functions prefixed with \*(``mv\*('' first perform cursor movement and
+fail if the position
+.RI ( y ,
+.IR x )
+is outside the window boundaries.
+.PP
+.B \%wgetch
+also fails if
.bP
its timeout expires without any data arriving,
or
is set to
.BR \%EINTR .
.PP
-Functions with a \*(``mv\*('' prefix first perform cursor movement using
-\fB\%wmove\fP(3X) and fail if the position is outside the window,
-or
-(for \*(``mvw\*('' functions)
-if the
-.I win
-parameter is a null pointer.
-.PP
.B \%ungetch
-returns
-.B OK
-on success and
-.B ERR
-if there is no more room in the input queue.
+fails if there is no more room in the input queue.
.PP
.B \%has_key
returns
distinguishes the Enter keys in the alphabetic and numeric keypad
sections of a keyboard because (most) terminals do.
.B \%KEY_ENTER
-refers to the key on the (numeric) keypad and,
+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.
+and is reliably recognized only if the window's keypad mode is enabled.
.bP
The
.I \%term\%info
.B \%key_enter
.RB ( kent )
-capability describes the character (sequence) sent by the terminal's
-keypad Enter key.
+capability describes the character (sequence) sent by the Enter key of
+a terminal's numeric
+(or similar)
+keypad.
.bP
\*(``Enter or send\*('' is X/Open Curses's description of this key.
.PP
(also known variously as the \*(``3B1\*('', \*(``Safari 4\*('', and
\*(``UNIX PC\*(''),
a 1985 machine.
-Today's computer keyboards are based on the IBM PC/AT keyboard and tend
-to have fewer.
+Today's computer keyboards are based that of the IBM PC/AT and tend to
+have fewer.
A
.I curses
application can expect such a keyboard to transmit key codes
.B \%NCURSES_VERSION
preprocessor macro.
.PP
-X/Open Curses, Issue 4, describes
+X/Open Curses,
+Issue 4 describes
\fB\%getch\fP,
\fB\%wgetch\fP,
\fB\%mvgetch\fP,
.I curses
implementations,
it varied depending on whether the operating system's dispatch of a
-signal to a handler interrupts a \fIread\fP(2) call in progress or not,
+signal to a handler interrupting a \fIread\fP(2) call in progress,
and also
(in some implementations)
whether an input timeout or non-blocking mode has been set.
.\" authorization. *
.\"***************************************************************************
.\"
-.\" $Id: curs_getstr.3x,v 1.56 2024/04/13 22:14:06 tom Exp $
-.TH curs_getstr 3X 2024-04-13 "ncurses @NCURSES_MAJOR@.@NCURSES_MINOR@" "Library calls"
+.\" $Id: curs_getstr.3x,v 1.58 2024/04/20 19:18:18 tom Exp $
+.TH curs_getstr 3X 2024-04-20 "ncurses @NCURSES_MAJOR@.@NCURSES_MINOR@" "Library calls"
.ie \n(.g \{\
.ds `` \(lq
.ds '' \(rq
If a \fBSIGWINCH\fP interrupts the function, it will return \fBKEY_RESIZE\fP
rather than \fBOK\fP or \fBERR\fP.
.PP
-Functions with a \*(``mv\*('' prefix first perform a cursor movement using
-\fBwmove\fP, and return an error if the position is outside the window,
-or if the window pointer is null.
+Functions prefixed with \*(``mv\*('' first perform cursor movement and
+fail if the position
+.RI ( y ,
+.IR x )
+is outside the window boundaries.
.SH NOTES
Any of these functions other than
\fBwgetnstr\fP
.\" authorization. *
.\"***************************************************************************
.\"
-.\" $Id: curs_getyx.3x,v 1.42 2024/03/16 15:35:01 tom Exp $
-.TH curs_getyx 3X 2024-03-16 "ncurses @NCURSES_MAJOR@.@NCURSES_MINOR@" "Library calls"
+.\" $Id: curs_getyx.3x,v 1.44 2024/04/20 21:20:07 tom Exp $
+.TH curs_getyx 3X 2024-04-20 "ncurses @NCURSES_MAJOR@.@NCURSES_MINOR@" "Library calls"
.ie \n(.g \{\
.ds `` \(lq
.ds '' \(rq
\fB\%getparyx\fP,
\fB\%getbegyx\fP and
\fB\%getmaxyx\fP
-macros are described in the XSI Curses standard, Issue 4.
+macros are described in X/Open Curses, Issue 4.
.PP
This implementation also provides functions
\fB\%getbegx\fP,
.\" authorization. *
.\"***************************************************************************
.\"
-.\" $Id: curs_in_wch.3x,v 1.28 2024/04/13 22:14:06 tom Exp $
-.TH curs_in_wch 3X 2024-04-13 "ncurses @NCURSES_MAJOR@.@NCURSES_MINOR@" "Library calls"
+.\" $Id: curs_in_wch.3x,v 1.31 2024/04/20 21:20:07 tom Exp $
+.TH curs_in_wch 3X 2024-04-20 "ncurses @NCURSES_MAJOR@.@NCURSES_MINOR@" "Library calls"
.ie \n(.g \{\
.ds `` \(lq
.ds '' \(rq
.nf
\fB#include <curses.h>
.PP
-\fBint in_wch(cchar_t *\fIwcval\fP);
-\fBint win_wch(WINDOW *\fIwin\fP, cchar_t *\fIwcval\fP);
+\fBint in_wch(cchar_t *\fIwch\fP);
+\fBint win_wch(WINDOW *\fIwin\fP, cchar_t *\fIwch\fP);
.PP
-\fBint mvin_wch(int \fIy\fP, int \fIx\fP, cchar_t *\fIwcval\fP);
-\fBint mvwin_wch(WINDOW *\fIwin\fP, int \fIy\fP, int \fIx\fP, cchar_t *\fIwcval\fP);
+\fBint mvin_wch(int \fIy\fP, int \fIx\fP, cchar_t *\fIwch\fP);
+\fBint mvwin_wch(WINDOW *\fIwin\fP, int \fIy\fP, int \fIx\fP, cchar_t *\fIwch\fP);
.fi
.SH DESCRIPTION
These functions extract the complex character and rendition from
the current position in the named window into the \fBcchar_t\fP object
-referenced by wcval.
+referenced by wch.
.SH RETURN VALUE
-No errors are defined in the XSI Curses standard.
+No errors are defined in X/Open Curses.
This implementation checks for null pointers, returns \fBERR\fP in that case.
Also, the \fImv\fP routines check for error moving the cursor,
returning \fBERR\fP in that case.
Otherwise they return \fBOK\fP.
.PP
-Functions with a \*(``mv\*('' prefix first perform a cursor movement using
-\fBwmove\fP, and return an error if the position is outside the window,
-or if the window pointer is null.
+Functions prefixed with \*(``mv\*('' first perform cursor movement and
+fail if the position
+.RI ( y ,
+.IR x )
+is outside the window boundaries.
.SH NOTES
Note that all of these routines may be macros.
.SH PORTABILITY
-These functions are described in the XSI Curses standard, Issue 4.
+These functions are described in X/Open Curses, Issue 4.
.SH SEE ALSO
\fB\%curs_inch\fP(3X) describes comparable functions of the
.I \%ncurses
.\" authorization. *
.\"***************************************************************************
.\"
-.\" $Id: curs_in_wchstr.3x,v 1.36 2024/04/13 22:21:16 tom Exp $
-.TH curs_in_wchstr 3X 2024-04-13 "ncurses @NCURSES_MAJOR@.@NCURSES_MINOR@" "Library calls"
+.\" $Id: curs_in_wchstr.3x,v 1.39 2024/04/20 21:24:19 tom Exp $
+.TH curs_in_wchstr 3X 2024-04-20 "ncurses @NCURSES_MAJOR@.@NCURSES_MINOR@" "Library calls"
.ie \n(.g \{\
.ds `` \(lq
.ds '' \(rq
.bP
if the \fIwchstr\fP parameter is null.
.PP
-Functions with a \*(``mv\*('' prefix first perform a cursor movement using
-\fBwmove\fP, and return an error if the position is outside the window,
-or if the window pointer is null.
+Functions prefixed with \*(``mv\*('' first perform cursor movement and
+fail if the position
+.RI ( y ,
+.IR x )
+is outside the window boundaries.
.SH NOTES
All routines except \fBwin_wchnstr\fP may be macros.
.PP
\fBwin_wchnstr\fP
is recommended.
.SH PORTABILITY
-The XSI Curses defines no error conditions.
+X/Open Curses defines no error conditions.
This implementation checks for null pointers,
returning \fBERR\fP in that case.
.SH SEE ALSO
.\" authorization. *
.\"***************************************************************************
.\"
-.\" $Id: curs_inch.3x,v 1.48 2024/04/13 22:14:06 tom Exp $
-.TH curs_inch 3X 2024-04-13 "ncurses @NCURSES_MAJOR@.@NCURSES_MINOR@" "Library calls"
+.\" $Id: curs_inch.3x,v 1.51 2024/04/20 21:20:07 tom Exp $
+.TH curs_inch 3X 2024-04-20 "ncurses @NCURSES_MAJOR@.@NCURSES_MINOR@" "Library calls"
.ie \n(.g \{\
.ds `` \(lq
.ds '' \(rq
A_COLOR Extract color pair information
.TE
.SH RETURN VALUE
-Functions with a \*(``mv\*('' prefix first perform a cursor movement using
-\fBwmove\fP, and return an error if the position is outside the window,
-or if the window pointer is null.
+Functions prefixed with \*(``mv\*('' first perform cursor movement and
+fail if the position
+.RI ( y ,
+.IR x )
+is outside the window boundaries.
.PP
The \fBwinch\fP function does not return an error if the window contains
characters larger than 8-bits (255).
.SH NOTES
Note that all of these routines may be macros.
.SH PORTABILITY
-These functions are described in the XSI Curses standard, Issue 4.
+These functions are described in X/Open Curses, Issue 4.
.PP
Very old systems (before standardization) provide a different function
with the same name:
.\" authorization. *
.\"***************************************************************************
.\"
-.\" $Id: curs_inchstr.3x,v 1.42 2024/03/16 15:35:01 tom Exp $
-.TH curs_inchstr 3X 2024-03-16 "ncurses @NCURSES_MAJOR@.@NCURSES_MINOR@" "Library calls"
+.\" $Id: curs_inchstr.3x,v 1.45 2024/04/20 21:20:07 tom Exp $
+.TH curs_inchstr 3X 2024-04-20 "ncurses @NCURSES_MAJOR@.@NCURSES_MINOR@" "Library calls"
.ie \n(.g \{\
.ds `` \(lq
.ds '' \(rq
.bP
if the \fIchstr\fP parameter is null.
.PP
-Functions with a \*(``mv\*('' prefix first perform a cursor movement using
-\fBwmove\fP, and return an error if the position is outside the window,
-or if the window pointer is null.
+Functions prefixed with \*(``mv\*('' first perform cursor movement and
+fail if the position
+.RI ( y ,
+.IR x )
+is outside the window boundaries.
.SH NOTES
All routines except \fBwinchnstr\fP may be macros.
.PP
\fBwinchnstr\fP
is recommended.
.SH PORTABILITY
-These functions are described in the XSI Curses standard, Issue 4.
+These functions are described in X/Open Curses, Issue 4.
It is no
more specific than the SVr4 documentation on the trailing 0.
It does specify
.\" authorization. *
.\"***************************************************************************
.\"
-.\" $Id: curs_initscr.3x,v 1.66 2024/04/13 22:18:11 tom Exp $
-.TH curs_initscr 3X 2024-04-13 "ncurses @NCURSES_MAJOR@.@NCURSES_MINOR@" "Library calls"
+.\" $Id: curs_initscr.3x,v 1.69 2024/04/20 21:24:19 tom Exp $
+.TH curs_initscr 3X 2024-04-20 "ncurses @NCURSES_MAJOR@.@NCURSES_MINOR@" "Library calls"
.ie \n(.g \{\
.ds `` \(lq
.ds '' \(rq
\fBset_term\fP
returns no error.
.SH PORTABILITY
-These functions were described in the XSI Curses standard, Issue 4.
+These functions were described in X/Open Curses, Issue 4.
As of 2015, the current document is X/Open Curses, Issue 7.
.SS Differences
X/Open Curses specifies that portable applications must not
Old versions of curses, e.g., BSD 4.4, would return a null pointer
from \fBinitscr\fP when an error is detected, rather than exiting.
It is safe but redundant to check the return value of \fBinitscr\fP
-in XSI Curses.
+in X/Open Curses.
.PP
Calling \fBendwin\fP does not dispose of the memory allocated in \fBinitscr\fP
or \fBnewterm\fP.
.\" authorization. *
.\"***************************************************************************
.\"
-.\" $Id: curs_ins_wch.3x,v 1.28 2024/03/16 15:35:01 tom Exp $
-.TH curs_ins_wch 3X 2024-03-16 "ncurses @NCURSES_MAJOR@.@NCURSES_MINOR@" "Library calls"
+.\" $Id: curs_ins_wch.3x,v 1.30 2024/04/20 19:18:18 tom Exp $
+.TH curs_ins_wch 3X 2024-04-20 "ncurses @NCURSES_MAJOR@.@NCURSES_MINOR@" "Library calls"
.ie \n(.g \{\
.ds `` \(lq
.ds '' \(rq
pointer argument fail if the pointer is
.BR NULL .
.PP
-Functions prefixed with \*(``mv\*('' first perform cursor movement using
-\fB\%wmove\fP and fail if the position
+Functions prefixed with \*(``mv\*('' first perform cursor movement and
+fail if the position
.RI ( y ,
.IR x )
-is outside the window.
+is outside the window boundaries.
.SH NOTES
A terminal's
.B \%insert_character
\fB\%mvwins_wch\fP
may be implemented as macros.
.SH PORTABILITY
-X/Open Curses, Issue 4, describes these functions.
+X/Open Curses,
+Issue 4 describes these functions.
.PP
SVr4 describes successful return values only as
\*(``an integer value other than \fBERR\fP\*(''.
.\" authorization. *
.\"***************************************************************************
.\"
-.\" $Id: curs_ins_wstr.3x,v 1.34 2024/04/13 22:14:06 tom Exp $
-.TH curs_ins_wstr 3X 2024-04-13 "ncurses @NCURSES_MAJOR@.@NCURSES_MINOR@" "Library calls"
+.\" $Id: curs_ins_wstr.3x,v 1.38 2024/04/20 21:23:08 tom Exp $
+.TH curs_ins_wstr 3X 2024-04-20 "ncurses @NCURSES_MAJOR@.@NCURSES_MINOR@" "Library calls"
.ie \n(.g \{\
.ds `` \(lq
.ds '' \(rq
.bP
if the \fBwins_wch\fP function returns an error.
.PP
-Functions with a \*(``mv\*('' prefix first perform a cursor movement using
-\fBwmove\fP(3X), and return an error if the position is outside the window,
-or if the window pointer is null.
+Functions prefixed with \*(``mv\*('' first perform cursor movement and
+fail if the position
+.RI ( y ,
+.IR x )
+is outside the window boundaries.
.SH NOTES
All but \fBwins_nwstr\fP may be macros.
.PP
If the first character in the string is a non-spacing character, these
functions will fail.
-XSI does not define what will happen if a non-spacing character follows
-a control character.
+X/Open Curses does not define what will happen
+if a non-spacing character follows a control character.
.SH PORTABILITY
-These functions are described in the XSI Curses standard, Issue 4,
+These functions are described in X/Open Curses, Issue 4,
which adds \fI\%const\fP qualifiers to the arguments.
.PP
X/Open states that the entire string is inserted if \fIn\fP is less than 1.
.\" authorization. *
.\"***************************************************************************
.\"
-.\" $Id: curs_insch.3x,v 1.38 2024/03/16 15:35:01 tom Exp $
-.TH curs_insch 3X 2024-03-16 "ncurses @NCURSES_MAJOR@.@NCURSES_MINOR@" "Library calls"
+.\" $Id: curs_insch.3x,v 1.40 2024/04/20 19:03:47 tom Exp $
+.TH curs_insch 3X 2024-04-20 "ncurses @NCURSES_MAJOR@.@NCURSES_MINOR@" "Library calls"
.ie \n(.g \{\
.ds `` \(lq
.ds '' \(rq
\fB\%winsch\fP,
\fB\%mvinsch\fP,
\fB\%mvwinsch\fP \-
-insert a \fIcurses\fR character in a window
+insert a \fIcurses\fP character in a window
.SH SYNOPSIS
.nf
\fB#include <curses.h>\fP
the rightmost character on the line is discarded.
The cursor does not advance.
.SH "RETURN VALUE"
-These functions return \fBOK\fP on success and \fBERR\fP on failure.
+These functions return
+.B OK
+on success and
+.B ERR
+on failure.
.PP
Functions taking a
.I \%WINDOW
pointer argument fail if the pointer is
.BR NULL .
.PP
-Functions prefixed with \*(``mv\*('' first perform cursor movement using
-\fB\%wmove\fP and fail if the position
+Functions prefixed with \*(``mv\*('' first perform cursor movement and
+fail if the position
.RI ( y ,
.IR x )
-is outside the window.
+is outside the window boundaries.
.SH NOTES
+.BR \%insch ,
+.BR \%mvinsch ,
+and
+.B \%mvwinsch
+may be implemented as macros.
+.PP
A terminal's
.B \%insert_character
.RB ( ich1 )
capability
is not necessarily employed.
-.PP
-\fB\%insch\fP,
-\fB\%mvinsch\fP,
-and
-\fB\%mvwinsch\fP
-may be implemented as macros.
.SH PORTABILITY
-X/Open Curses, Issue 4, describes these functions.
+X/Open Curses,
+Issue 4 describes these functions.
.PP
-SVr4 describes successful return values only as
-\*(``an integer value other than \fBERR\fP\*(''.
+SVr4
+.I curses
+describes a successful return value only as
+\*(``an integer value other than
+.BR ERR \*(''.
.SH "SEE ALSO"
\fB\%curs_ins_wch\fP(3X) describes comparable functions in the
wide-character
.\" authorization. *
.\"***************************************************************************
.\"
-.\" $Id: curs_insstr.3x,v 1.48 2024/03/16 15:49:07 tom Exp $
-.TH curs_insstr 3X 2024-03-16 "ncurses @NCURSES_MAJOR@.@NCURSES_MINOR@" "Library calls"
+.\" $Id: curs_insstr.3x,v 1.51 2024/04/20 21:20:07 tom Exp $
+.TH curs_insstr 3X 2024-04-20 "ncurses @NCURSES_MAJOR@.@NCURSES_MINOR@" "Library calls"
.ie \n(.g \{\
.ds `` \(lq
.ds '' \(rq
.bP
the \fBwinsch\fP(3X) function returns an error.
.PP
-Functions with a \*(``mv\*('' prefix first perform a cursor movement using
-\fBwmove\fP(3X), and return an error if the position is outside the window,
-or if the window pointer is null.
+Functions prefixed with \*(``mv\*('' first perform cursor movement and
+fail if the position
+.RI ( y ,
+.IR x )
+is outside the window boundaries.
.SH NOTES
All but \fBwinsnstr\fP may be macros.
.SH PORTABILITY
-These functions are described in the XSI Curses standard, Issue 4,
+These functions are described in X/Open Curses, Issue 4,
which adds \fI\%const\fP qualifiers to the arguments.
.PP
The Single Unix Specification, Version 2 states that
.\" authorization. *
.\"***************************************************************************
.\"
-.\" $Id: curs_instr.3x,v 1.48 2024/04/13 22:14:06 tom Exp $
-.TH curs_instr 3X 2024-04-13 "ncurses @NCURSES_MAJOR@.@NCURSES_MINOR@" "Library calls"
+.\" $Id: curs_instr.3x,v 1.51 2024/04/20 21:24:19 tom Exp $
+.TH curs_instr 3X 2024-04-20 "ncurses @NCURSES_MAJOR@.@NCURSES_MINOR@" "Library calls"
.ie \n(.g \{\
.ds `` \(lq
.ds '' \(rq
.bP
if the \fIchstr\fP parameter is null.
.PP
-Functions with a \*(``mv\*('' prefix first perform a cursor movement using
-\fBwmove\fP, and return an error if the position is outside the window,
-or if the window pointer is null.
+Functions prefixed with \*(``mv\*('' first perform cursor movement and
+fail if the position
+.RI ( y ,
+.IR x )
+is outside the window boundaries.
.SH NOTES
All routines except \fBwinnstr\fP may be macros.
.PP
SVr4 does not
document whether a length limit includes or excludes the trailing NUL.
.PP
-The \fI\%ncurses\fP library extends the XSI description by allowing a
+The \fI\%ncurses\fP library extends the X/Open Curses description by allowing a
negative value for \fIn\fP.
In this case, the functions return the string ending at the right margin.
.SH SEE ALSO
.\" authorization. *
.\"***************************************************************************
.\"
-.\" $Id: curs_inwstr.3x,v 1.38 2024/03/16 15:35:01 tom Exp $
-.TH curs_inwstr 3X 2024-03-16 "ncurses @NCURSES_MAJOR@.@NCURSES_MINOR@" "Library calls"
+.\" $Id: curs_inwstr.3x,v 1.41 2024/04/20 21:20:07 tom Exp $
+.TH curs_inwstr 3X 2024-04-20 "ncurses @NCURSES_MAJOR@.@NCURSES_MINOR@" "Library calls"
.ie \n(.g \{\
.ds `` \(lq
.ds '' \(rq
.bP
if no characters could be read.
.PP
-Functions with a \*(``mv\*('' prefix first perform a cursor movement using
-\fBwmove\fP, and return an error if the position is outside the window,
-or if the window pointer is null.
+Functions prefixed with \*(``mv\*('' first perform cursor movement and
+fail if the position
+.RI ( y ,
+.IR x )
+is outside the window boundaries.
.SH NOTES
All routines except
\fBwinnwstr\fP
\fBwinnwstr\fP
is recommended.
.SH PORTABILITY
-These functions are described in the XSI Curses standard, Issue 4.
+These functions are described in X/Open Curses, Issue 4.
.SH SEE ALSO
\fB\%curses\fP(3X),
\fB\%curs_inch\fP(3X),
.\" authorization. *
.\"***************************************************************************
.\"
-.\" $Id: curs_kernel.3x,v 1.58 2024/04/13 22:19:08 tom Exp $
-.TH curs_kernel 3X 2024-04-13 "ncurses @NCURSES_MAJOR@.@NCURSES_MINOR@" "Library calls"
+.\" $Id: curs_kernel.3x,v 1.61 2024/04/20 21:24:19 tom Exp $
+.TH curs_kernel 3X 2024-04-20 "ncurses @NCURSES_MAJOR@.@NCURSES_MINOR@" "Library calls"
.ie \n(.g \{\
.ds `` \(lq
.ds '' \(rq
state to restore that.
.SH PORTABILITY
The \fIvirtual screen\fP functions \fBsetsyx\fP and \fBgetsyx\fP
-are not described in the XSI Curses standard, Issue 4.
-All other functions are as described in XSI Curses.
+are not described in X/Open Curses, Issue 4.
+All other functions are as described in X/Open Curses.
.PP
The SVr4 documentation describes \fBsetsyx\fP and \fBgetsyx\fP
as having return type int.
.\" authorization. *
.\"***************************************************************************
.\"
-.\" $Id: curs_mouse.3x,v 1.96 2024/03/23 20:38:57 tom Exp $
-.TH curs_mouse 3X 2024-03-23 "ncurses @NCURSES_MAJOR@.@NCURSES_MINOR@" "Library calls"
+.\" $Id: curs_mouse.3x,v 1.98 2024/04/20 19:02:07 tom Exp $
+.TH curs_mouse 3X 2024-04-20 "ncurses @NCURSES_MAJOR@.@NCURSES_MINOR@" "Library calls"
.ie \n(.g \{\
.ds `` \(lq
.ds '' \(rq
.PP
\fBbool has_mouse(void);
.PP
+\fBmmask_t mousemask(mmask_t \fInewmask\fP, mmask_t *\fIoldmask\fP);
+.PP
\fBint getmouse(MEVENT *\fIevent\fP);
\fBint ungetmouse(MEVENT *\fIevent\fP);
.PP
-\fBmmask_t mousemask(mmask_t \fInewmask\fP, mmask_t *\fIoldmask\fP);
-.PP
\fBbool wenclose(const WINDOW *\fIwin\fP, int \fIy\fP, int \fIx\fP);
.PP
\fBbool mouse_trafo(int* \fIpY\fP, int* \fIpX\fP, bool \fIto_screen\fP);
\fBbool wmouse_trafo(const WINDOW* \fIwin\fP,
- \fBint* \fIpY\fB, int* \fIpX\fB, bool \fIto_screen\fB);\fR
+.ti +18n \" "bool wmouse_trafo("
+\fBint* \fIpY\fB, int* \fIpX\fB, bool \fIto_screen\fB);
.PP
\fBint mouseinterval(int \fIerval\fB);\fR
.fi
\fB\%ncurses\fP(3X).
Mouse events are represented by \fB\%KEY_MOUSE\fP
pseudo-key values in the \fB\%wgetch\fP(3X) input stream.
+.SS has_mouse
+The \fB\%has_mouse\fP function returns \fBTRUE\fP if the mouse driver
+has been successfully initialized,
+and \fBFALSE\fP otherwise.
+.PP
+Mouse events are ignored when input is in cooked mode, and
+cause an error beep when cooked mode is being simulated in a window by a
+function such as \fB\%getstr\fP that expects a linefeed for input-loop
+termination.
.SS mousemask
To make mouse events visible, use the \fB\%mousemask\fP function.
This sets the mouse events to be reported.
The mouse interval is set to one sixth of a second
when the corresponding screen is initialized,
e.g., in \fBinitscr\fP(3X) or \fBsetupterm\fP(3X).
-.SS has_mouse
-The \fB\%has_mouse\fP function returns \fBTRUE\fP if the mouse driver
-has been successfully initialized,
-and \fBFALSE\fP otherwise.
-.PP
-Mouse events are ignored when input is in cooked mode, and
-cause an error beep when cooked mode is being simulated in a window by a
-function such as \fB\%getstr\fP that expects a linefeed for input-loop
-termination.
.SH RETURN VALUE
\fB\%has_mouse\fP,
\fB\%wenclose\fP,
.\" authorization. *
.\"***************************************************************************
.\"
-.\" $Id: curs_move.3x,v 1.35 2024/03/16 15:35:01 tom Exp $
-.TH curs_move 3X 2024-03-16 "ncurses @NCURSES_MAJOR@.@NCURSES_MINOR@" "Library calls"
-.ie \n(.g \{\
-.ds `` \(lq
-.ds '' \(rq
-.\}
-.el \{\
-.ie t .ds `` ``
-.el .ds `` ""
-.ie t .ds '' ''
-.el .ds '' ""
-.\}
-.
+.\" $Id: curs_move.3x,v 1.38 2024/04/20 19:51:33 tom Exp $
+.TH curs_move 3X 2024-04-20 "ncurses @NCURSES_MAJOR@.@NCURSES_MINOR@" "Library calls"
.SH NAME
\fB\%move\fP,
\fB\%wmove\fP \-
\fBint wmove(WINDOW *\fIwin\fP, int \fIy\fP, int \fIx\fP);
.fi
.SH DESCRIPTION
-These routines move the cursor associated with the window to line \fIy\fP and
-column \fIx\fP.
-This routine does not move the physical cursor of the terminal
-until \fBrefresh\fP(3X) is called.
-The position specified is relative to the upper
-left-hand corner of the window, which is (0,0).
+.B \%wmove
+relocates the cursor associated with the
+.I curses
+window
+.I win
+to line
+.I y
+and column
+.IR x .
+The terminal's cursor does not move until \fB\%refresh\fP(3X) is called.
+The position
+.RI ( x ,
+.IR y )
+is relative to the upper left-hand corner of the window,
+which has coordinates
+(0,\ 0).
+\fB\%ncurses\fP(3X) describes the
+.B \%move
+variant of this function.
.SH RETURN VALUE
-These routines return the integer \fBERR\fP upon failure and an \fBOK\fP
-(SVr4 specifies only
-\*(``an integer value other than \fBERR\fP\*('')
-upon successful completion.
+These functions return
+.B OK
+on success and
+.B ERR
+on failure.
.PP
-Specifically, they return an error
-if the window pointer is null, or
-if the position is outside the window.
+They fail if the position
+.RI ( y ,
+.IR x )
+is outside the window boundaries.
+.PP
+.B \%wmove
+fails if its
+.I \%WINDOW
+pointer argument is
+.BR NULL .
.SH NOTES
-Note that \fBmove\fP may be a macro.
+.B \%move
+may be implemented as a macro.
.SH PORTABILITY
-These functions are described in the XSI Curses standard, Issue 4.
+X/Open Curses,
+Issue 4 describes these functions.
.SH SEE ALSO
\fB\%curses\fP(3X),
\fB\%curs_refresh\fP(3X)
.\" authorization. *
.\"***************************************************************************
.\"
-.\" $Id: curs_outopts.3x,v 1.60 2024/04/13 22:23:57 tom Exp $
-.TH curs_outopts 3X 2024-04-13 "ncurses @NCURSES_MAJOR@.@NCURSES_MINOR@" "Library calls"
+.\" $Id: curs_outopts.3x,v 1.64 2024/04/20 21:24:19 tom Exp $
+.TH curs_outopts 3X 2024-04-20 "ncurses @NCURSES_MAJOR@.@NCURSES_MINOR@" "Library calls"
.de bP
.ie n .IP \(bu 4
.el .IP \(bu 2
will return an error if the window pointer is null
.bP
\fBwsetscrreg\fP
-returns an error if the scrolling region limits extend outside the window.
+returns an error if the scrolling region limits extend outside the
+window boundaries.
.SH NOTES
Note that
\fBclearok\fP,
The \fBimmedok\fP routine is useful for windows that are used as terminal
emulators.
.SH PORTABILITY
-These functions are described in the XSI Curses standard, Issue 4.
+These functions are described in X/Open Curses, Issue 4.
.PP
Some historic curses implementations had, as an undocumented feature, the
ability to do the equivalent of \fBclearok(..., 1)\fP by saying
Earlier System V curses implementations specified that with \fBscrollok\fP
enabled, any window modification triggering a scroll also forced a physical
refresh.
-XSI Curses does not require this, and \fI\%ncurses\fP avoids doing
+X/Open Curses does not require this, and \fI\%ncurses\fP avoids doing
it to perform better vertical-motion optimization at \fBwrefresh\fP
time.
.PP
-The XSI Curses standard does not mention that the cursor should be
+X/Open Curses does not mention that the cursor should be
made invisible as a side-effect of \fBleaveok\fP.
SVr4 curses documentation does this, but the code does not.
Use \fBcurs_set\fP to make the cursor invisible.
.\" authorization. *
.\"***************************************************************************
.\"
-.\" $Id: curs_overlay.3x,v 1.41 2024/03/16 15:35:01 tom Exp $
-.TH curs_overlay 3X 2024-03-16 "ncurses @NCURSES_MAJOR@.@NCURSES_MINOR@" "Library calls"
+.\" $Id: curs_overlay.3x,v 1.43 2024/04/20 21:20:07 tom Exp $
+.TH curs_overlay 3X 2024-04-20 "ncurses @NCURSES_MAJOR@.@NCURSES_MINOR@" "Library calls"
.ie \n(.g \{\
.ds `` \(lq
.ds '' \(rq
.SH NOTES
Note that \fBoverlay\fP and \fBoverwrite\fP may be macros.
.SH PORTABILITY
-These functions are described in the XSI Curses standard, Issue 4,
+These functions are described in X/Open Curses, Issue 4,
which adds \fI\%const\fP qualifiers to the arguments.
It further specifies their behavior in the presence of characters
with multibyte renditions (not yet supported in this implementation).
.\" authorization. *
.\"***************************************************************************
.\"
-.\" $Id: curs_pad.3x,v 1.57 2024/04/13 22:13:17 tom Exp $
-.TH curs_pad 3X 2024-04-13 "ncurses @NCURSES_MAJOR@.@NCURSES_MINOR@" "Library calls"
+.\" $Id: curs_pad.3x,v 1.59 2024/04/20 21:20:07 tom Exp $
+.TH curs_pad 3X 2024-04-20 "ncurses @NCURSES_MAJOR@.@NCURSES_MINOR@" "Library calls"
.ie \n(.g \{\
.ds `` \(lq
.ds '' \(rq
.PP
The two uses may be related.
.PP
-The XSI Curses standard, Issue 4 describes these functions,
+X/Open Curses, Issue 4 describes these functions,
without significant change from the SVr3 documentation.
It describes no error conditions.
The behavior of \fB\%subpad\fP if the parent window is not
.\" authorization. *
.\"***************************************************************************
.\"
-.\" $Id: curs_printw.3x,v 1.51 2024/03/23 20:38:57 tom Exp $
-.TH curs_printw 3X 2024-03-23 "ncurses @NCURSES_MAJOR@.@NCURSES_MINOR@" "Library calls"
+.\" $Id: curs_printw.3x,v 1.53 2024/04/20 19:18:18 tom Exp $
+.TH curs_printw 3X 2024-04-20 "ncurses @NCURSES_MAJOR@.@NCURSES_MINOR@" "Library calls"
.ie \n(.g \{\
.ds `` \(lq
.ds '' \(rq
.I win
is null.
.PP
-Functions with a \*(``mv\*('' prefix first perform a cursor movement
-using \fB\%wmove\fP,
-and fail if the position is outside the window.
+Functions prefixed with \*(``mv\*('' first perform cursor movement and
+fail if the position
+.RI ( y ,
+.IR x )
+is outside the window boundaries.
.SH NOTES
No wide character counterpart functions are defined by the
\*(``wide\*(''
window,
consider using \fI\%swprintf\fP(3) and \fB\%waddwstr\fP(3X) or similar.
.SH PORTABILITY
-X/Open Curses, Issue 4, describes these functions.
+X/Open Curses,
+Issue 4 describes these functions.
It specifies no error conditions for them.
.PP
.I \%ncurses
However,
the latter is obsolete.
.bP
-X/Open Curses, Issue 4, Version 2 (1996),
+X/Open Curses,
+Issue 4 Version 2 (1996),
marked \fB\%vwprintw\fP as requiring \fI\%varargs.h\fP and
\*(``TO BE WITHDRAWN\*('',
and specified \fB\%vw_printw\fP using the \fI\%stdarg.h\fP interface.
.\" authorization. *
.\"***************************************************************************
.\"
-.\" $Id: curs_refresh.3x,v 1.44 2024/03/16 15:49:39 tom Exp $
-.TH curs_refresh 3X 2024-03-16 "ncurses @NCURSES_MAJOR@.@NCURSES_MINOR@" "Library calls"
+.\" $Id: curs_refresh.3x,v 1.46 2024/04/20 21:20:07 tom Exp $
+.TH curs_refresh 3X 2024-04-20 "ncurses @NCURSES_MAJOR@.@NCURSES_MINOR@" "Library calls"
.ie \n(.g \{\
.ds `` \(lq
.ds '' \(rq
.SH NOTES
Note that \fBrefresh\fP and \fBredrawwin\fP may be macros.
.SH PORTABILITY
-The XSI Curses standard, Issue 4 describes these functions.
+X/Open Curses, Issue 4 describes these functions.
.PP
Whether \fBwnoutrefresh\fP copies to the virtual screen the entire contents
of a window or just its changed portions has never been well-documented in
.\" authorization. *
.\"***************************************************************************
.\"
-.\" $Id: curs_scanw.3x,v 1.51 2024/03/23 20:41:15 tom Exp $
-.TH curs_scanw 3X 2024-03-23 "ncurses @NCURSES_MAJOR@.@NCURSES_MINOR@" "Library calls"
+.\" $Id: curs_scanw.3x,v 1.53 2024/04/20 19:18:18 tom Exp $
+.TH curs_scanw 3X 2024-04-20 "ncurses @NCURSES_MAJOR@.@NCURSES_MINOR@" "Library calls"
.ie \n(.g \{\
.ds `` \(lq
.ds '' \(rq
.I win
is null.
.PP
-Functions with a \*(``mv\*('' prefix first perform a cursor movement
-using \fB\%wmove\fP,
-and fail if the position is outside the window.
+Functions prefixed with \*(``mv\*('' first perform cursor movement and
+fail if the position
+.RI ( y ,
+.IR x )
+is outside the window boundaries.
.SH NOTES
No wide character counterpart functions are defined by the
\*(``wide\*(''
implements \fI\%vsscanf\fP(3) internally if it is unavailable when the
library is configured.
.SH PORTABILITY
-X/Open Curses, Issue 4, describes these functions.
+X/Open Curses,
+Issue 4 describes these functions.
It specifies no error conditions for them.
.PP
.I \%ncurses
However,
the latter is obsolete.
.bP
-X/Open Curses, Issue 4, Version 2 (1996),
+X/Open Curses,
+Issue 4 Version 2 (1996),
marked \fB\%vwscanw\fP as requiring \fI\%varargs.h\fP and
\*(``TO BE WITHDRAWN\*('',
and specified \fB\%vw_scanw\fP using the \fI\%stdarg.h\fP interface.
.bP
-X/Open Curses, Issue 5, Draft 2
-(December 2007) marked \fB\%vwscanw\fP (along with
+X/Open Curses,
+Issue 5,
+Draft 2 (December 2007) marked \fB\%vwscanw\fP (along with
\fB\%vwscanw\fP and the \fItermcap\fP interface) as withdrawn.
After incorporating review comments,
this became
.\" authorization. *
.\"***************************************************************************
.\"
-.\" $Id: curs_scr_dump.3x,v 1.41 2024/03/23 20:41:15 tom Exp $
-.TH curs_scr_dump 3X 2024-03-23 "ncurses @NCURSES_MAJOR@.@NCURSES_MINOR@" "Library calls"
+.\" $Id: curs_scr_dump.3x,v 1.43 2024/04/20 18:54:36 tom Exp $
+.TH curs_scr_dump 3X 2024-04-20 "ncurses @NCURSES_MAJOR@.@NCURSES_MINOR@" "Library calls"
.ie \n(.g \{\
.ds `` \(lq
.ds '' \(rq
and
\fB\%scr_restore\fP may be macros.
.SH PORTABILITY
-X/Open Curses, Issue 4, describes these functions.
+X/Open Curses,
+Issue 4 describes these functions.
.PP
.\" SVID 4, p. 529
SVr4 omitted the
.\" authorization. *
.\"***************************************************************************
.\"
-.\" $Id: curs_scroll.3x,v 1.41 2024/04/14 00:14:28 tom Exp $
-.TH curs_scroll 3X 2024-04-13 "ncurses @NCURSES_MAJOR@.@NCURSES_MINOR@" "Library calls"
+.\" $Id: curs_scroll.3x,v 1.43 2024/04/20 18:54:36 tom Exp $
+.TH curs_scroll 3X 2024-04-20 "ncurses @NCURSES_MAJOR@.@NCURSES_MINOR@" "Library calls"
.ie \n(.g \{\
.ds `` \(lq
.ds '' \(rq
.PP
\fB\%scrl\fP and \fB\%scroll\fP may be implemented as macros.
.SH PORTABILITY
-X/Open Curses, Issue 4, describes these functions.
+X/Open Curses,
+Issue 4 describes these functions.
It defines no error conditions.
.PP
SVr4 specifies only
.\" authorization. *
.\"***************************************************************************
.\"
-.\" $Id: curs_slk.3x,v 1.69 2024/03/16 15:35:01 tom Exp $
-.TH curs_slk 3X 2024-03-16 "ncurses @NCURSES_MAJOR@.@NCURSES_MINOR@" "Library calls"
+.\" $Id: curs_slk.3x,v 1.71 2024/04/20 18:54:36 tom Exp $
+.TH curs_slk 3X 2024-04-20 "ncurses @NCURSES_MAJOR@.@NCURSES_MINOR@" "Library calls"
.ie \n(.g \{\
.ds `` \(lq
.ds '' \(rq
and used to set the color pair instead of the \fIshort\fP pair
parameter.
.SH PORTABILITY
-X/Open Curses, Issue 4, describes these functions,
+X/Open Curses,
+Issue 4 describes these functions,
with some differences from SVr4 \fIcurses\fP:
.bP
X/Open added functions like the SVr4 attribute-manipulation functions
.\" authorization. *
.\"***************************************************************************
.\"
-.\" $Id: curs_sp_funcs.3x,v 1.48 2024/03/16 15:35:01 tom Exp $
-.TH curs_sp_funcs 3X 2024-03-16 "ncurses @NCURSES_MAJOR@.@NCURSES_MINOR@" "Library calls"
+.\" $Id: curs_sp_funcs.3x,v 1.50 2024/04/20 18:56:31 tom Exp $
+.TH curs_sp_funcs 3X 2024-04-20 "ncurses @NCURSES_MAJOR@.@NCURSES_MINOR@" "Library calls"
.ie \n(.g \{\
.ds `` \(lq
.ds '' \(rq
\fBint echo_sp(SCREEN* \fIsp\fP);
\fBint endwin_sp(SCREEN* \fIsp\fP);
\fBchar erasechar_sp(SCREEN* \fIsp\fP);
-\fBint erasewchar_sp(SCREEN* \fIsp\fP, wchar_t *\fIch\fP);
+\fBint erasewchar_sp(SCREEN* \fIsp\fP, wchar_t *\fIwc\fP);
\fBint extended_color_content_sp(SCREEN * \fIsp\fP, int \fIcolor\fP, int * \fIr\fP, int * \fIg\fP, int * \fIb\fP);
\fBint extended_pair_content_sp(SCREEN* \fIsp\fP, int \fIpair\fP, int * \fIfg\fP, int * \fIbg\fP);
\fBint extended_slk_color_sp(SCREEN* \fIsp\fP, int \fIpair\fP);
.PP
\fBbool has_ic_sp(SCREEN* \fIsp\fP);
\fBbool has_il_sp(SCREEN* \fIsp\fP);
-\fBint has_key_sp(SCREEN* \fIsp\fP, int \fIch\fP);
+\fBint has_key_sp(SCREEN* \fIsp\fP, int \fIc\fP);
\fBbool has_mouse_sp(SCREEN* \fIsp\fP);
\fBint init_color_sp(SCREEN* \fIsp\fP, short \fIcolor\fP, short \fIr\fP, short \fIg\fP, short \fIb\fP);
\fBint init_extended_color_sp(SCREEN* \fIsp\fP, int \fIcolor\fP, int \fIr\fP, int \fIg\fP, int \fIb\fP);
\fBint keyok_sp(SCREEN* \fIsp\fP, int \fIkeycode\fP, bool \fIenable\fP);
\fBchar killchar_sp(SCREEN* \fIsp\fP);
.PP
-\fBint killwchar_sp(SCREEN* \fIsp\fP, wchar_t *\fIch\fP);
+\fBint killwchar_sp(SCREEN* \fIsp\fP, wchar_t *\fIwc\fP);
\fBchar* longname_sp(SCREEN* \fIsp\fP);
\fBint mcprint_sp(SCREEN* \fIsp\fP, char *\fIdata\fP, int \fIlen\fP);
\fBint mouseinterval_sp(SCREEN* \fIsp\fP, int \fIerval\fP);
\fBchtype termattrs_sp(SCREEN* \fIsp\fP);
\fBchar* termname_sp(SCREEN* \fIsp\fP);
\fBint typeahead_sp(SCREEN* \fIsp\fP, int \fIfd\fP);
-\fBint unget_wch_sp(SCREEN* \fIsp\fP, const wchar_t \fIwch\fP);
-\fBint ungetch_sp(SCREEN* \fIsp\fP, int \fIch\fP);
+\fBint unget_wch_sp(SCREEN* \fIsp\fP, const wchar_t \fIwc\fP);
+\fBint ungetch_sp(SCREEN* \fIsp\fP, int \fIc\fP);
\fBint ungetmouse_sp(SCREEN* \fIsp\fP, MEVENT* \fIevent\fP);
\fBint use_default_colors_sp(SCREEN* \fIsp\fP);
\fBvoid use_env_sp(SCREEN* \fIsp\fP, bool \fIbf\fP);
\fBint vid_puts_sp(SCREEN* \fIsp\fP, attr_t \fIattrs\fP, short \fIpair\fP, void * \fIopts\fP, NCURSES_SP_OUTC \fIputc\fP);
\fBint vidattr_sp(SCREEN* \fIsp\fP, chtype \fIattrs\fP);
\fBint vidputs_sp(SCREEN* \fIsp\fP, chtype \fIattrs\fP, NCURSES_SP_OUTC \fIputc\fP);
-\fBwchar_t* wunctrl_sp(SCREEN* \fIsp\fP, cchar_t *\fIch\fP);
+\fBwchar_t* wunctrl_sp(SCREEN* \fIsp\fP, cchar_t *\fIwch\fP);
.PP
\fB#include <form.h>
.PP
.PP
\fB#include <unctrl.h>
.PP
-\fBNCURSES_CONST char* unctrl_sp(SCREEN* \fIsp\fP, chtype \fIc\fP);
+\fBNCURSES_CONST char* unctrl_sp(SCREEN* \fIsp\fP, chtype \fIch\fP);
.fi
.SH DESCRIPTION
This implementation can be configured to provide a set of functions which
.\" authorization. *
.\"***************************************************************************
.\"
-.\" $Id: curs_termattrs.3x,v 1.38 2024/04/13 22:16:39 tom Exp $
-.TH curs_termattrs 3X 2024-04-13 "ncurses @NCURSES_MAJOR@.@NCURSES_MINOR@" "Library calls"
+.\" $Id: curs_termattrs.3x,v 1.41 2024/04/20 21:20:07 tom Exp $
+.TH curs_termattrs 3X 2024-04-20 "ncurses @NCURSES_MAJOR@.@NCURSES_MINOR@" "Library calls"
.SH NAME
\fB\%baudrate\fP,
\fB\%erasechar\fP,
.PP
\fBint baudrate(void);
\fBchar erasechar(void);
-\fBint erasewchar(wchar_t *\fIch\fP);
+\fBint erasewchar(wchar_t *\fIwc\fP);
\fBbool has_ic(void);
\fBbool has_il(void);
\fBchar killchar(void);
-\fBint killwchar(wchar_t *\fIch\fP);
+\fBint killwchar(wchar_t *\fIwc\fP);
\fBchar *longname(void);
\fBattr_t term_attrs(void);
\fBchtype termattrs(void);
The \fBerasechar\fP routine returns the user's current erase character.
.PP
The \fBerasewchar\fP routine stores the current erase character
-in the location referenced by \fIch\fP.
+in the location referenced by \fIwc\fP.
If no erase character has been defined, the routine fails
-and the location referenced by \fIch\fP is not changed.
+and the location referenced by \fIwc\fP is not changed.
.SS "has_ic, has_il"
The \fBhas_ic\fP routine is true if the terminal has insert- and delete-
character capabilities.
The \fBkillchar\fP routine returns the user's current line kill character.
.PP
The \fBkillwchar\fP routine stores the current line-kill character
-in the location referenced by \fIch\fP.
+in the location referenced by \fIwc\fP.
If no line-kill character has been defined,
-the routine fails and the location referenced by \fIch\fP is not changed.
+the routine fails and the location referenced by \fIwc\fP is not changed.
.SS longname
The \fBlongname\fP routine returns a pointer to a static area
containing a verbose description of the current terminal.
.SH NOTES
Note that \fBtermattrs\fP may be a macro.
.SH PORTABILITY
-The XSI Curses standard, Issue 4 describes these functions.
+X/Open Curses, Issue 4 describes these functions.
It changes the
return type of \fBtermattrs\fP to the new type \fBattr_t\fP.
Most versions of curses truncate the result returned by \fBtermname\fP to
.\" authorization. *
.\"***************************************************************************
.\"
-.\" $Id: curs_termcap.3x,v 1.83 2024/03/16 15:35:01 tom Exp $
-.TH curs_termcap 3X 2024-03-16 "ncurses @NCURSES_MAJOR@.@NCURSES_MINOR@" "Library calls"
+.\" $Id: curs_termcap.3x,v 1.85 2024/04/20 19:13:12 tom Exp $
+.TH curs_termcap 3X 2024-04-20 "ncurses @NCURSES_MAJOR@.@NCURSES_MINOR@" "Library calls"
.ie \n(.g \{\
.ds `` \(lq
.ds '' \(rq
X/Open Curses now withdrawn.
The BSD \fItermcap\fP library would store a copy of the terminal type
description in the area referenced by this pointer.
-\fI\%ncurses\fP stores terminal type descriptions in compiled form,
+\fI\%term\%info\fP stores terminal type descriptions in compiled form,
which is not the same thing.
.bP
The meanings of the return values differ.
not the older and not-quite-compatible \fItermcap\fP notation.
This does not cause problems if all you do with it is call \fB\%tgoto\fP
or \fB\%tparm\fP,
-which both expand \fI\%term\%info\fP-style strings as \fI\%term\%info\fP
-does.
+which both parametrically expand \fI\%term\%info\fP-style string
+capabilities as \fI\%term\%info\fP does.
(If
.I \%ncurses
is configured to support \fItermcap,\fP
.\" authorization. *
.\"***************************************************************************
.\"
-.\" $Id: curs_touch.3x,v 1.44 2024/03/16 15:49:58 tom Exp $
-.TH curs_touch 3X 2024-03-16 "ncurses @NCURSES_MAJOR@.@NCURSES_MINOR@" "Library calls"
+.\" $Id: curs_touch.3x,v 1.47 2024/04/20 21:20:07 tom Exp $
+.TH curs_touch 3X 2024-04-20 "ncurses @NCURSES_MAJOR@.@NCURSES_MINOR@" "Library calls"
.SH NAME
\fB\%touchwin\fP,
\fB\%touchline\fP,
\fBis_linetouched\fP
returns an error
if the window pointer is null, or
-if the line number is outside the window.
+if the line number is outside the window boundaries.
.IP
The constant \fBERR\fP is distinct from \fBTRUE\fP and \fBFALSE\fP,
which are the normal return values of this function.
\fBwtouchln\fP
returns an error
if the window pointer is null, or
-if the line number is outside the window.
+if the line number is outside the window boundaries.
.RE
.SH NOTES
All of these routines except \fB\%wtouchln\fP may be macros.
that it is not \fBNULL\fP;
otherwise this implementation behaves the same as SVr4.
.PP
-The XSI Curses standard, Issue 4 describes these functions,
+X/Open Curses, Issue 4 describes these functions,
but defines no error conditions.
.SH SEE ALSO
\fB\%curses\fP(3X),
.\" authorization. *
.\"***************************************************************************
.\"
-.\" $Id: curs_trace.3x,v 1.47 2024/03/16 15:35:01 tom Exp $
-.TH curs_trace 3X 2024-03-16 "ncurses @NCURSES_MAJOR@.@NCURSES_MINOR@" "Library calls"
+.\" $Id: curs_trace.3x,v 1.50 2024/04/20 21:24:19 tom Exp $
+.TH curs_trace 3X 2024-04-20 "ncurses @NCURSES_MAJOR@.@NCURSES_MINOR@" "Library calls"
.ie \n(.g \{\
.ds `` \(lq
.ds '' \(rq
.nf
\fB#include <curses.h>
.PP
-\fBunsigned curses_trace(const unsigned \fIparam\fP);
+\fBunsigned curses_trace(const unsigned \fItrace-mask\fP);
.PP
\fBvoid _tracef(const char *\fIformat\fP, ...);
.PP
\fBchar *_traceattr2(int \fIbuffer\fP, chtype \fIch\fP);
\fBchar *_tracecchar_t(const cchar_t *\fIstring\fP);
\fBchar *_tracecchar_t2(int \fIbuffer\fP, const cchar_t *\fIstring\fP);
-\fBchar *_tracechar(int \fIch\fP);
+\fBchar *_tracechar(int \fIc\fP);
\fBchar *_tracechtype(chtype \fIch\fP);
\fBchar *_tracechtype2(int \fIbuffer\fP, chtype \fIch\fP);
.PP
\fBchar *_tracemouse(const MEVENT *\fIevent\fP);
.PP
\fI/* deprecated */\fP
-\fBvoid trace(const unsigned int \fIparam\fP);
+\fBvoid trace(const unsigned int \fItrace-mask\fP);
.fi
.SH DESCRIPTION
The \fIcurses trace\fP routines are used for debugging the
.RE
.dE
.SH PORTABILITY
-These functions are not part of the XSI interface.
+These functions are not part of the X/Open Curses interface.
Some other curses implementations are known to
have similar features,
but they are not compatible with \fI\%ncurses\fP:
.\" authorization. *
.\"***************************************************************************
.\"
-.\" $Id: curs_util.3x,v 1.98 2024/03/16 15:50:09 tom Exp $
-.TH curs_util 3X 2024-03-16 "ncurses @NCURSES_MAJOR@.@NCURSES_MINOR@" "Library calls"
+.\" $Id: curs_util.3x,v 1.101 2024/04/20 21:20:07 tom Exp $
+.TH curs_util 3X 2024-04-20 "ncurses @NCURSES_MAJOR@.@NCURSES_MINOR@" "Library calls"
.ie \n(.g \{\
.ds `` \(lq
.ds '' \(rq
.nf
\fB#include <curses.h>
.PP
-\fBconst char *unctrl(chtype \fIc\fP);
-\fBwchar_t *wunctrl(cchar_t *\fIc\fP);
+\fBconst char *unctrl(chtype \fIch\fP);
+\fBwchar_t *wunctrl(cchar_t *\fIwch\fP);
.PP
\fBconst char *keyname(int \fIc\fP);
-\fBconst char *key_name(wchar_t \fIw\fP);
+\fBconst char *key_name(wchar_t \fIwc\fP);
.PP
\fBvoid filter(void);
.PP
.SH DESCRIPTION
.SS unctrl
The \fBunctrl\fP routine returns a character string which is a printable
-representation of the character \fIc\fP:
+representation of the character \fIch\fP:
.bP
Printable characters are displayed as themselves,
e.g., a one-character string containing the key.
this follows the X/Open specification.
.PP
The corresponding \fBwunctrl\fP returns a printable representation of
-a complex character \fIc\fP.
+a complex character \fIwch\fP.
.PP
In both \fBunctrl\fP and \fBwunctrl\fP the attributes and color associated
with the character parameter are ignored.
.SS filter
The SVr4 documentation describes the action of \fBfilter\fP only in the vaguest
terms.
-The description here is adapted from the XSI Curses standard (which
+The description here is adapted from X/Open Curses (which
erroneously fails to describe the disabling of \fBcuu\fP).
.SS "delay_output padding"
The limitation to 30 seconds
This implementation reduces the problem on writes by flushing the output.
However, reading from a file written using mixed schemes may not be successful.
.SS "unctrl, wunctrl"
-The XSI Curses standard, Issue 4 describes these functions.
+X/Open Curses, Issue 4 describes these functions.
It states that \fBunctrl\fP and \fBwunctrl\fP will return a null pointer if
unsuccessful, but does not define any error conditions.
This implementation checks for three cases:
.\" authorization. *
.\"***************************************************************************
.\"
-.\" $Id: curs_window.3x,v 1.46 2024/03/16 15:35:01 tom Exp $
-.TH curs_window 3X 2024-03-16 "ncurses @NCURSES_MAJOR@.@NCURSES_MINOR@" "Library calls"
+.\" $Id: curs_window.3x,v 1.48 2024/04/20 21:20:07 tom Exp $
+.TH curs_window 3X 2024-04-20 "ncurses @NCURSES_MAJOR@.@NCURSES_MINOR@" "Library calls"
.de bP
.ie n .IP \(bu 4
.el .IP \(bu 2
.PP
Note that \fBsyncok\fP may be a macro.
.SH PORTABILITY
-The XSI Curses standard, Issue 4 describes these functions.
+X/Open Curses, Issue 4 describes these functions.
.PP
X/Open Curses states regarding \fBdelwin\fP:
.bP
.\" authorization. *
.\"***************************************************************************
.\"
-.\" $Id: form_driver.3x,v 1.59 2024/03/16 15:35:01 tom Exp $
-.TH form_driver 3X 2024-03-16 "ncurses @NCURSES_MAJOR@.@NCURSES_MINOR@" "Library calls"
+.\" $Id: form_driver.3x,v 1.61 2024/04/20 18:55:09 tom Exp $
+.TH form_driver 3X 2024-04-20 "ncurses @NCURSES_MAJOR@.@NCURSES_MINOR@" "Library calls"
.de bP
.ie n .IP \(bu 4
.el .IP \(bu 2
\fB#include <form.h>
.PP
\fBint form_driver(FORM *\fIform\fP, int \fIc\fP);
-\fBint form_driver_w(FORM *\fIform\fP, int \fIc\fP, wchar_t \fIwch\fP);
+\fBint form_driver_w(FORM *\fIform\fP, int \fIc\fP, wchar_t \fIwc\fP);
.fi
.SH DESCRIPTION
.SS form_driver
.\"
.\" Author: Thomas E. Dickey
.\"
-.\" $Id: legacy_coding.3x,v 1.26 2024/03/16 15:35:01 tom Exp $
-.TH legacy_coding 3X 2024-03-16 "ncurses @NCURSES_MAJOR@.@NCURSES_MINOR@" "Library calls"
+.\" $Id: legacy_coding.3x,v 1.28 2024/04/20 19:13:50 tom Exp $
+.TH legacy_coding 3X 2024-04-20 "ncurses @NCURSES_MAJOR@.@NCURSES_MINOR@" "Library calls"
.SH NAME
\fB\%use_legacy_coding\fP \-
override \fIcurses\fR locale encoding checks
\fBint use_legacy_coding(int \fIlevel\fP);
.fi
.SH DESCRIPTION
-The \fBuse_legacy_coding\fP function is an extension to the curses library.
-It allows the caller to change the result of \fBunctrl\fP,
-and suppress related checks within the library that would normally
-cause nonprinting characters to be rendered in visible form.
-This affects only 8-bit characters.
+.B \%use_legacy_coding
+is an extension to the
+.I curses
+library.
+It allows the caller to change the result of \fB\%unctrl\fP(3X),
+suppressing \fI\%isprint\fP(3)-based checks within the library that
+would normally cause nonprinting characters to be rendered in visible
+form.
+The alteration affects only eight-bit characters.
.PP
-The \fIlevel\fP parameter controls the result:
+The
+.I level
+parameter controls the result.
.RS
.TP 5
-0
-the library functions normally,
-rendering nonprinting characters as described in \fBunctrl\fP.
+.B 0
+The library functions normally,
+rendering nonprinting characters as described in \fB\%unctrl\fP(3X),
.TP
-1
-the library ignores \fBisprintf\fP for codes in the range 160-255.
+.B 1
+the library ignores
+.I \%isprint
+for codes in the range 160-255.
.TP
-2
-the library ignores \fBisprintf\fP for codes in the range 128-255.
-It also modifies the output of \fBunctrl\fP, showing codes in the
-range 128-159 as is.
+.B 2
+the library ignores
+.I \%isprint
+for codes in the range 128-255.
+It also modifies the output of \fB\%unctrl\fP(3X),
+showing codes in the range 128-159 as is.
.RE
.SH RETURN VALUE
If the screen has not been initialized,
-or the \fIlevel\fP parameter is out of range,
-the function returns \fBERR\fP.
-Otherwise, it returns the previous level: \fB0\fP, \fB1\fP or \fB2\fP.
+or the
+.I level
+parameter is out of range,
+.B \%use_legacy_coding
+returns
+.BR ERR .
+Otherwise,
+it returns the previous level:
+.BR 0 ,
+.BR 1 ,
+or
+.BR 2 .
.SH PORTABILITY
-This routine is specific to \fI\%ncurses\fP.
+.B \%use_legacy_coding
+is specific to
+.IR \%ncurses .
It was not supported on Version 7, BSD or System V implementations.
-It is recommended that any code depending on \fI\%ncurses\fP extensions
-be conditioned using NCURSES_VERSION.
+Applications employing
+.I \%ncurses
+extensions should condition their use on the visibility of the
+.B \%NCURSES_VERSION
+preprocessor macro.
.SH AUTHORS
-Thomas Dickey (to support lynx's font-switching feature).
+Thomas Dickey
+(to support \fI\%lynx\fP(1)'s font-switching feature).
.SH SEE ALSO
\fB\%unctrl\fP(3X)
-# $Id: manhtml.externs,v 1.24 2024/04/14 00:15:03 tom Exp $
+# $Id: manhtml.externs,v 1.25 2024/04/20 19:26:05 tom Exp $
# Items in this list will not be linked by man2html
#***************************************************************************
# Copyright 2019-2023,2024 Thomas E. Dickey *
nvi(1)
od(1)
ioctl(2)
+isprint(3)
printf(3)
profile(5)
putc(3)
-# $Id: manlinks.sed,v 1.19 2023/09/17 08:26:33 tom Exp $
+# $Id: manlinks.sed,v 1.20 2024/04/20 22:25:36 tom Exp $
##############################################################################
# Copyright 2020-2021,2023 Thomas E. Dickey #
# Copyright 2000-2003,2008 Free Software Foundation, Inc. #
#
# Finally, remove the parameter list, which begins with a '('.
/^\.SH_(SYNOPSIS/,/^\.SH_(DESCRIPTION/{
+/^\.ti/d
/^[^(]*$/d
# reduce
# .B "int add_wch( const cchar_t *\fIwch\fB );"
.\" authorization. *
.\"***************************************************************************
.\"
-.\" $Id: ncurses.3x,v 1.207 2024/04/14 00:34:00 tom Exp $
-.TH ncurses 3X 2024-04-13 "ncurses @NCURSES_MAJOR@.@NCURSES_MINOR@" "Library calls"
+.\" $Id: ncurses.3x,v 1.210 2024/04/20 21:24:19 tom Exp $
+.TH ncurses 3X 2024-04-20 "ncurses @NCURSES_MAJOR@.@NCURSES_MINOR@" "Library calls"
.ie \n(.g \{\
.ds `` \(lq
.ds '' \(rq
.el .IP \(bu 2
..
.
+.\" Add supplementary paragraph tag on its own line after TP.
+.\" Adapted from TQ (which would produce mandoc warnings).
+.de tQ
+. br
+. ns
+. TP
+..
+.
.ds d @TERMINFO@
.SH NAME
\fB\%ncurses\fP \-
and
4.4BSD Unix,
the development of which ceased in the 1990s.
-This describes \fI\%ncurses\fP
-version @NCURSES_MAJOR@.@NCURSES_MINOR@ (patch @NCURSES_PATCH@).
+This document describes
+.I \%ncurses
+version @NCURSES_MAJOR@.@NCURSES_MINOR@
+(patch @NCURSES_PATCH@).
.PP
.I \%ncurses
permits control of the terminal screen's contents;
center;
Li L.
bf \fIbool\fP (\fBTRUE\fP or \fBFALSE\fP)
+c a \fIchar\fP or \fIint\fP
+ch a \fIchtype\fP
+wc a \fIwchar_t\fP or \fIwint_t\fP
+wch a \fIcchar_t\fP
win pointer to a \fIWINDOW\fP
pad pointer to a \fIWINDOW\fP that is a pad
.TE
Typically,
.I \%ncurses
treats a null pointer passed as a function parameter as a failure.
-Functions with a \*(``mv\*('' prefix first perform cursor movement using
-\fB\%wmove\fP(3X) and fail if the position is outside the window.
+Functions prefixed with \*(``mv\*('' first perform cursor movement and
+fail if the position
+.RI ( y ,
+.IR x )
+is outside the window boundaries.
.SH ENVIRONMENT
The following symbols from the process environment customize the
runtime behavior of
the library calls \fB\%curses_trace\fP(3X) with that value as the
argument.
.SS "\fITERM\fP"
-Denotes your terminal type.
-Each terminal type is distinct, though many are similar.
-.PP
-\fITERM\fP is commonly set by terminal emulators to help
-applications find a workable terminal description.
-Some of those choose a popular approximation, e.g.,
-\*(``ansi\*('', \*(``vt100\*('', \*(``xterm\*('' rather than an exact fit.
-Not infrequently, your application will have problems with that approach,
-e.g., incorrect function-key definitions.
-.PP
-If you set \fITERM\fP in your environment,
-it has no effect on the operation of the terminal emulator.
-It only affects the way applications work within the terminal.
-Likewise, as a general rule (\fBxterm\fP(1) being a rare exception),
-terminal emulators which allow you to
-specify \fITERM\fP as a parameter or configuration value do
-not change their behavior to match that setting.
+The
+.I TERM
+variable denotes the terminal type.
+Each is distinct,
+though many are similar.
+It is commonly set by terminal emulators to help applications find a
+workable terminal description.
+Some choose a popular approximation such as \*(``ansi\*('',
+\*(``vt100\*('', or \*(``xterm\*('' rather than an exact fit to their
+capabilities.
+Not infrequently,
+an application will have problems with that approach;
+for example,
+a key stroke may not operate correctly,
+or produce no effect but seeming garbage characters on the screen.
+.PP
+Setting
+.I TERM
+has no effect on hardware operation;
+it affects the way applications communicate with the terminal.
+Likewise,
+as a general rule
+(\fIxterm\fP(1) being a rare exception),
+terminal emulators that allow you to specify
+.I TERM
+as a parameter or configuration value do not change their behavior to
+match that setting.
.SS "\fITERMCAP\fP"
-If the \fI\%ncurses\fP library has been configured with \fItermcap\fP
-support, \fI\%ncurses\fP will check for a terminal's description in
-termcap form if it is not available in the terminfo database.
-.PP
-The \fI\%TERMCAP\fP environment variable contains
-either a terminal description (with newlines stripped out),
-or a file name telling where the information denoted by
-the \fITERM\fP environment variable exists.
-In either case, setting it directs \fI\%ncurses\fP to ignore
-the usual place for this information, e.g., /etc/termcap.
+If
+.I \%ncurses
+is configured with
+.I termcap
+support,
+it checks for a terminal type description in
+.I termcap
+format if one in
+.I \%term\%info
+format is not available.
+Setting this variable directs
+.I \%ncurses
+to ignore the usual
+.I termcap
+database location,
+.IR \%/etc/termcap ;
+see
+.I \%TERMPATH
+below.
+.I \%TERMCAP
+should contain either a terminal description
+(with newlines stripped out),
+or a file name indicating where the information required by the
+.I TERM
+environment variable is stored.
.SS "\fITERMINFO\fP"
-\fI\%ncurses\fP can be configured to read from multiple terminal
-databases.
-The \fI\%TERMINFO\fP variable overrides the location for
-the default terminal database.
-Terminal descriptions (in terminal format) are stored in terminal databases:
+.I \%ncurses
+can be configured to read terminal type description databases in various
+locations using different formats.
+This variable overrides the default location.
.bP
-Normally these are stored in a directory tree,
-using subdirectories named by the first letter of the terminal names therein.
-.IP
-This is the scheme used in System V, which legacy Unix systems use,
-and the \fI\%TERMINFO\fP variable is used by \fIcurses\fP applications
-on those
-systems to override the default location of the terminal database.
-.IP \(bu 4
-If \fI\%ncurses\fP is built to use hashed databases,
-then each entry in this list may be the path of a hashed database file, e.g.,
-.RS 4
-.PP
-.RS 4
-.EX
-/usr/share/terminfo.db
-.EE
-.RE
-.PP
+Descriptions in
+.I \%term\%info
+format are normally stored in a directory tree using subdirectories
+named by the common first letters of the terminal types named therein.
+This is the scheme used in System\ V.
+.bP
+If
+.I \%ncurses
+is configured to use hashed databases,
+then
+.I \%TERM\%INFO
+may name its location,
+such as
+.IR \%/usr/share/terminfo.db ,
rather than
+.IR \%/usr/share/terminfo/ .
.PP
-.RS 4
-.EX
-/usr/share/terminfo/
-.EE
-.RE
-.PP
-The hashed database uses less disk-space and is a little faster than the
+The hashed database uses less disk space and is a little faster than the
directory tree.
However,
some applications assume the existence of the directory tree,
-reading it directly
-rather than using the terminfo library calls.
-.RE
+and read it directly
+rather than using the
+.I \%term\%info
+API.
.bP
-If \fI\%ncurses\fP is built with a support for reading termcap files
-directly, then an entry in this list may be the path of a termcap file.
-.IP \(bu 4
-If the \fI\%TERMINFO\fP variable begins with
-\*(``hex:\*('' or \*(``b64:\*('',
-\fI\%ncurses\fP uses the remainder of that variable as a compiled
-terminal description.
-You might produce the base64 format using \fBinfocmp\fP(1M):
-.RS 4
-.PP
+If
+.I \%ncurses
+is configured with
+.I termcap
+support,
+this variable may contain the location of a
+.I \%termcap
+file.
+.bP
+If the value of
+.I \%TERM\%INFO
+begins with \*(``hex:\*('' or \*(``b64:\*('',
+.I \%ncurses
+uses the remainder of the value as a compiled
+.I \%term\%info
+description.
+You might produce the base64 format using \fB\%infocmp\fP(1M).
.RS 4
+.IP
.EX
-TERMINFO="$(infocmp \-0 \-Q2 \-q)"
+TERMINFO=$(infocmp \-0 \-Q2 \-q)
export TERMINFO
.EE
.RE
+.IP
+The compiled description is used only if it corresponds to the terminal
+type identified by
+.IR TERM .
.PP
-The compiled description is used if it corresponds to the terminal identified
-by the \fITERM\fP variable.
-.RE
-.PP
-Setting \fI\%TERMINFO\fP is the simplest,
-but not the only way to set location of the default terminal database.
-The complete list of database locations in order follows:
-.RS 3
+Setting
+.I \%TERM\%INFO
+is the simplest,
+but not the only,
+way to direct
+.I \%ncurses
+to a terminal database.
+The search path is as follows.
.bP
-the last terminal database to which \fI\%ncurses\fP wrote,
-if any, is searched first
+the last terminal database to which the running
+.I \%ncurses
+application wrote,
+if any
.bP
-the location specified by the \fI\%TERMINFO\fP environment variable
+the location specified by the
+.I \%TERM\%INFO
+environment variable
.bP
-$HOME/.terminfo
+.I $HOME/.terminfo
.bP
-locations listed in the \fI\%TERMINFO_DIRS\fP environment variable
+locations listed in the
+.I \%TERMINFO_DIRS
+environment variable
+.ds td \" empty
+.if !'@TERMINFO_DIRS@'no default value' .as td @TERMINFO_DIRS@
+.if !'@TERMINFO@\*(td'' \{\
.bP
-one or more locations whose names are configured and compiled into the
-\fI\%ncurses\fP library, i.e.,
+location(s) configured and compiled into
+.I \%ncurses
.RS 3
+.if !'\*(td'' \{\
.bP
-@TERMINFO_DIRS@ (corresponding to the \fI\%TERMINFO_DIRS\fP variable)
+.I \%@TERMINFO_DIRS@
+.\}
+.if !'@TERMINFO'' .if !'\*(td'@TERMINFO@' \{\
.bP
-@TERMINFO@ (corresponding to the \fITERMINFO\fP variable)
-.RE
+.I \%@TERMINFO@
+.\}
+.\}
.RE
.SS "\fITERMINFO_DIRS\fP"
-Specifies a list of locations to search for terminal descriptions.
-Each location in the list is a terminal database as described in
-the section on the \fI\%TERMINFO\fP variable.
-The list is separated by colons (i.e., ":") on Unix, semicolons on OS/2 EMX.
-.PP
-There is no corresponding feature in System V terminfo;
-it is an extension developed for \fI\%ncurses\fP.
+This variable specifies a list of locations,
+akin to
+.IR PATH ,
+in which
+.I \%ncurses
+searches for the terminal type descriptions described by
+.I \%TERMINFO
+above.
+The list items are separated by colons on Unix
+and semicolons on OS/2 EMX.
+System\ V
+.I \%term\%info
+lacks a corresponding feature;
+.I \%TERMINFO_DIRS
+is an
+.I \%ncurses
+extension.
.SS "\fITERMPATH\fP"
-If \fI\%TERMCAP\fP does not hold a file name then \fI\%ncurses\fP checks
-the \fI\%TERMPATH\fP environment variable.
-This is a list of filenames separated by spaces or colons (i.e., ":") on Unix,
-semicolons on OS/2 EMX.
-.PP
-If the \fI\%TERMPATH\fP environment variable is not set,
-\fI\%ncurses\fP looks in the files
-.PP
-.RS 4
-.EX
-/etc/termcap, /usr/share/misc/termcap and $HOME/.termcap,
-.EE
-.RE
+If
+.I \%TERMCAP
+does not hold a terminal type description or file name,
+then
+.I \%ncurses
+checks the contents of
+.IR \%TERMPATH ,
+a list of locations,
+akin to
+.IR PATH ,
+in which it searches for
+.I termcap
+terminal type descriptions.
+The list items are separated by colons on Unix
+and semicolons on OS/2 EMX.
.PP
+If both
+.I \%TERMCAP
+and
+.I \%TERMPATH
+are unset or invalid,
+.I \%ncurses
+searches for the files
+.IR \%/etc/termcap ,
+.IR \%/usr/share/misc/termcap ,
+and
+.IR \%$HOME/.termcap ,
in that order.
.SH "ALTERNATE CONFIGURATIONS"
Many different
employing
.IR \%ncurses .
.TP 5
-\-\-disable\-overwrite
+.B \-\-disable\-overwrite
The standard include for \fI\%ncurses\fP is as noted in \fBSYNOPSIS\fP:
.RS 5
.PP
to build executables.
.RE
.TP 5
-\-\-enable\-widec
+.B \-\-enable\-widec
The configure script renames the library and
(if the \fB\-\-disable\-overwrite\fP option is used)
puts the header files in a different subdirectory.
You must also enable the wide-character features in the header file
when compiling for the wide-character library
to use the extended (wide-character) functions.
-The symbol which enables these features has changed since XSI Curses, Issue 4:
+The symbol which enables these features has changed
+since X/Open Curses, Issue 4:
.bP
Originally, the wide-character feature required the symbol
\fB_XOPEN_SOURCE_EXTENDED\fP
from the same set of headers.
.RE
.TP 5
-\-\-with\-pthread
+.B \-\-with\-pthread
The configure script renames the library.
All of the library names have a \*(``t\*('' appended to them
(before any \*(``w\*('' added by \fB\-\-enable\-widec\fP).
At the same time, setter-functions are provided to set these values.
Some applications (very few) may require changes to work with this convention.
.TP 5
-\-\-with\-shared
-.TP
-\-\-with\-normal
-.TP
-\-\-with\-debug
-.TP
-\-\-with\-profile
+.B \-\-with\-shared
+.tQ
+.B \-\-with\-normal
+.tQ
+.B \-\-with\-debug
+.tQ
+.B \-\-with\-profile
The shared and normal (static) library names differ by their suffixes,
e.g., \fBlibncurses.so\fP and \fBlibncurses.a\fP.
The debug and profiling libraries add a \*(``_g\*(''
and a \*(``_p\*('' to the root names respectively,
e.g., \fBlibncurses_g.a\fP and \fBlibncurses_p.a\fP.
.TP 5
-\-\-with\-termlib
+.B \-\-with\-termlib
Low-level functions which do not depend upon whether the library
supports wide-characters, are provided in the tinfo library.
.IP
\fB\%curs_util\fP(3X) \- miscellaneous \fIcurses\fP utility routines
.RE
.TP 5
-\-\-with\-trace
+.B \-\-with\-trace
The \fBtrace\fP function normally resides in the debug library,
but it is sometimes useful to configure this in the shared library.
Configure scripts should check for the function's existence rather
.I \%ncurses
program is redirected to something that is not a terminal device,
the library writes screen updates to the standard error file descriptor.
-This was an undocumented feature of SVr3.
+This was an undocumented feature of SVr3
+.IR curses .
.PP
-See subsection \*(``Header files\*('' below regarding symbols exposed by
+See subsection \*(``Header Files\*('' below regarding symbols exposed by
inclusion of \fI\%curses.h\fP.
.SH EXTENSIONS
.I \%ncurses
enables an application to capture mouse events on certain terminals,
-including
-.IR \%xterm ;
+including \fI\%xterm\fP(1);
see \fB\%curs_mouse\fP(3X).
.PP
.I \%ncurses
.I \%ncurses
extends the fixed set of function key capabilities specified by X/Open
Curses by allowing the application programmer to define additional key
-sequences at runtime;
+events at runtime;
see
\fB\%define_key\fP(3X),
\fB\%key_defined\fP(3X),
+\fB\%keybound\fP(3X),
and
\fB\%keyok\fP(3X).
.PP
.PP
An
.I \%ncurses
-application can choose to hide the internal details of
+application can eschew knowledge of
.I \%WINDOW
-structures,
+structure internals,
instead using accessor functions such as
\fB\%is_scrollok\fP(3X).
.PP
that can gather color information from them when many colors are
supported.
.PP
-Some extensions are only available if
+Some extensions are available only if
+.I \%ncurses
+permits modification of \fB\%unctrl\fP(3X)'s behavior;
+see \fB\%use_legacy_coding\fP(3X).
.I \%ncurses
is compiled to support them;
section \*(``ALTERNATE CONFIGURATIONS\*('' describes how.
such as wide-character and color support.
.I \%ncurses
intends base-level conformance with X/Open Curses,
-and supports nearly all its enhanced features.
+and supports nearly all features of its enhanced level.
.\" XXX: What's missing? GBR counts untic(1), and that's all.
.PP
Differences between X/Open Curses and
In many cases, X/Open Curses is vague about error conditions,
omitting some of the SVr4 documentation.
.PP
-Unlike other implementations, this one checks parameters such as pointers
-to \fI\%WINDOW\fP structures to ensure they are not null.
-The main reason for providing this behavior is to guard against programmer
-error.
+Unlike other implementations,
+.I \%ncurses
+checks pointer parameters,
+such as those to
+.I \%WINDOW
+structures,
+to ensure that they are not null.
+This is done primarily to guard against programmer error.
The standard interface does not provide a way for the library
-to tell an application which of several possible errors were detected.
-Relying on this (or some other) extension will adversely affect the
-portability of curses applications.
+to tell an application which of several possible errors occurred.
+Relying on this
+(or some other)
+extension adversely affects the portability of
+.I curses
+applications.
.SS "Padding Differences"
-In historic curses versions, delays embedded in the capabilities \fBcr\fP,
-\fBind\fP, \fBcub1\fP, \fBff\fP and \fBtab\fP activated corresponding delay
-bits in the Unix tty driver.
-In this implementation, all padding is done by sending NUL bytes.
-This method is slightly more expensive, but narrows the interface
-to the Unix kernel significantly and increases the package's portability
-correspondingly.
+In historical
+.I curses
+implementations,
+delays embedded in the
+.I \%term\%info
+capabilities
+.B \%carriage_return
+.RB ( cr ),
+.B \%scroll_forward
+.RB ( ind ),
+.B \%cursor_left
+.RB ( cub1 ),
+.B \%form_feed
+.RB ( ff ),
+and
+.B \%tab
+.RB ( ht )
+activated corresponding delay bits in the Unix terminal driver.
+.I \%ncurses
+performs all padding by sending NUL bytes to the device.
+This method is slightly more expensive,
+but narrows the interface to the Unix kernel significantly and
+correspondingly increases the package's portability.
.SS "Header Files"
-The header file \fI\%curses.h\fP itself includes the header files
-\fI\%stdio.h\fP and \fI\%unctrl.h\fP.
+The header file
+.I \%curses.h
+itself includes the header files
+.I \%stdio.h
+and
+.IR \%unctrl.h .
.PP
X/Open Curses has more to say,
-but does not finish the story:
.RS 4
.PP
-The inclusion of <curses.h> may make visible all symbols
-from the headers <stdio.h>, <term.h>, <termios.h>, and <wchar.h>.
+The inclusion of
+.I \%curses.h
+may make visible all symbols from the headers
+.IR \%stdio.h ,
+.IR \%term.h ,
+.IR \%termios.h ,
+and
+.IR \%wchar.h .
.RE
.PP
-Here is a more complete story:
+but does not finish the story.
+A more complete account follows.
.bP
-Starting with BSD curses, all implementations have included <stdio.h>.
+Starting with 4BSD
+.I curses
+(1980)
+all implementations have provided a
+.I \%curses.h
+file.
.IP
-BSD curses included <curses.h> and <unctrl.h> from an internal header
-file
-.I \%curses.ext
-(\*(``ext\*('' abbreviated \*(``externs\*('').
+BSD
+.I curses
+code included
+.I \%curses.h
+and
+.I \%unctrl.h
+from an internal header file
+.IR \%curses.ext ,
+where
+\*(``ext\*('' abbreviated \*(``externs\*(''.
.IP
-BSD curses used <stdio.h> internally (for \fBprintw\fP and \fBscanw\fP),
-but nothing in <curses.h> itself relied upon <stdio.h>.
+The implementations of
+.I \%printw
+and
+.I \%scanw
+used undocumented internal functions of the standard I/O library
+.RI ( _doprnt
+and
+.IR _doscan ),
+but nothing in
+.I \%curses.h
+itself relied upon
+.IR \%stdio.h .
.bP
-SVr2 curses added \fBnewterm\fP(3X), which relies upon <stdio.h>.
-That is, the function prototype uses \fBFILE\fP.
+SVr2
+.I curses
+added
+.IR \%newterm ,
+which relies upon
+.I \%stdio.h
+because its function prototype employs the
+.I FILE
+type.
.IP
-SVr4 curses added \fBputwin\fP and \fBgetwin\fP, which also use <stdio.h>.
+SVr4
+.I curses
+added
+.I \%putwin
+and
+.IR \%getwin ,
+which also use
+.IR \%stdio.h .
.IP
-X/Open Curses documents all three of these functions.
+X/Open Curses specifies all three of these functions.
.IP
-SVr4 curses and X/Open Curses do not require the developer to
-include <stdio.h> before including <curses.h>.
-Both document curses showing <curses.h> as the only required header.
+SVr4
+.I curses
+and X/Open Curses do not require the developer to include
+.I \%stdio.h
+before
+.IR \%curses.h .
+Both document use of
+.I curses
+as requiring only
+.IR \%curses.h .
.IP
-As a result, standard <curses.h> will always include <stdio.h>.
+As a result,
+standard
+.I \%curses.h
+always includes
+.IR \%stdio.h .
.bP
-X/Open Curses is inconsistent with respect to SVr4 regarding <unctrl.h>.
+X/Open Curses and SVr4
+.I curses
+are inconsistent with respect to
+.IR \%unctrl.h .
.IP
As noted in \fBcurs_util\fP(3X),
-\fI\%ncurses\fP includes <unctrl.h> from <curses.h>
-(like SVr4).
+.I \%ncurses
+includes
+.I \%unctrl.h
+from
+.I \%curses.h
+(as SVr4 does).
.bP
-X/Open's comments about <term.h> and <termios.h> may refer to HP-UX and AIX:
+X/Open Curses's comments about
+.I \%term.h
+and
+.I \%termios.h
+may refer to HP-UX and AIX.
.IP
-HP-UX curses includes <term.h> from <curses.h>
-to declare \fBsetupterm\fP in curses.h,
-but \fI\%ncurses\fP (and Solaris curses) do not.
+HP-UX
+.I curses
+includes
+.I \%term.h
+from
+.I \%curses.h
+to declare
+.I \%setupterm
+in
+.IR \%curses.h ,
+but
+.I \%ncurses
+and Solaris
+.I curses
+do not.
.IP
-AIX curses includes <term.h> and <termios.h>.
-Again, \fI\%ncurses\fP (and Solaris curses) do not.
+AIX
+.I curses
+includes
+.I \%term.h
+and
+.IR \% termios.h .
+Again,
+.I \%ncurses
+and Solaris
+.I curses
+do not.
.bP
-X/Open says that <curses.h> \fImay\fP include <term.h>,
-but there is no requirement that it do that.
+X/Open Curses says that
+.I \%curses.h
+.B may
+include
+.IR \%term.h ,
+but does not require it to do so.
.IP
-Some programs use functions declared in both <curses.h> and <term.h>,
-and must include both headers in the same module.
-Very old versions of AIX curses required including <curses.h>
-before including <term.h>.
+Some programs use functions declared in both
+.I \%curses.h
+and
+.IR \%term.h ,
+and must include both header files in the same module.
+Very old versions of AIX
+.I curses
+required inclusion of
+.I \%curses.h
+before
+.IR \%term.h .
.IP
-Because \fI\%ncurses\fP header files include the headers needed to
-define datatypes used in the headers,
-\fI\%ncurses\fP header files can be included in any order.
-But for portability, you should include <curses.h> before <term.h>.
+The header files supplied by
+.I \%ncurses
+include the standard library headers required for its declarations,
+so
+.IR \%ncurses 's
+own header files can be included in any order.
+But for portability,
+you should include
+.I \%curses.h
+before
+.IR \%term.h .
.bP
-X/Open Curses says \fI"may make visible"\fP
-because including a header file does not necessarily make all symbols
-in it visible (there are ifdef's to consider).
+X/Open Curses says \*(``may make visible\*('' because including a header
+file does not necessarily make visible all of the symbols in it
+(consider
+.B \%#ifdef
+and similar).
.IP
-For instance, in \fI\%ncurses\fP <wchar.h> \fImay\fP be included if
-the proper symbol is defined, and if \fI\%ncurses\fP is configured for
-wide-character support.
-If the header is included, its symbols may be made visible.
-That depends on the value used for \fB_XOPEN_SOURCE\fP
+For instance,
+.IR \%ncurses 's
+.I \%curses.h
+.B may \" bold to contrast with preceding italic
+include
+.I \%wchar.h
+if the proper symbol is defined,
+and if
+.I \%ncurses
+is configured for wide-character support.
+If
+.I \%wchar.h
+is included,
+its symbols
+.B may \" bold for consistency in this paragraph
+be made visible depending on the value of the
+.B _XOPEN_SOURCE
feature test macro.
.bP
-X/Open Curses documents one required header,
-in a special case: <stdarg.h> before <curses.h> to prototype
-the \fBvw_printw\fP and \fBvw_scanw\fP functions
+X/Open Curses mandates an application's inclusion of one standard C
+library header in a special case:
+.I \%stdarg.h
+before
+.I \%curses.h
+to prototype the functions
+.I \%vw_printw
+and
+.I \%vw_scanw
(as well as the obsolete
-the \fBvwprintw\fP and \fBvwscanw\fP functions).
-Each of those uses a \fBva_list\fP parameter.
+.I \%vwprintw
+and
+.IR \%vwscanw ).
+Each of these takes a variadic argument list,
+a
+.I \%va_list
+parameter,
+like that of \fI\%printf\fP(3).
.IP
-The two obsolete functions were introduced in SVr3.
-The other functions were introduced in X/Open Curses.
-In between, SVr4 curses provided for the possibility that
-an application might include either <varargs.h> or <stdarg.h>.
-Initially, that was done by using \fBvoid*\fP for the \fBva_list\fP
+SVr3
+.I curses
+introduced
+the two obsolete functions,
+and X/Open Curses the others.
+In between,
+SVr4
+.I curses
+provided for the possibility that an application might include either
+.I \%varargs.h
+or
+.IR \%stdarg.h .
+These represented contrasting approaches to handling variadic
+argument lists.
+The older interface,
+.IR \%varargs.h ,
+used a pointer to
+.I char \" V7, 32V, System III, 3BSD
+for variadic functions'
+.I \%va_list
parameter.
-Later, a special type (defined in <stdio.h>) was introduced,
-to allow for compiler type-checking.
-That special type is always available,
-because <stdio.h> is always included by <curses.h>.
+Later,
+the list acquired its own standard data type,
+.IR \%va_list ,
+defined in
+.IR \%stdarg.h ,
+empowering the compiler to check the types of a function call's actual
+parameters against the formal ones declared in its prototype.
.IP
-None of the X/Open Curses implementations require an application
-to include <stdarg.h> before <curses.h> because they either
-have allowed for a special type,
-or
-(like \fI\%ncurses\fP)
-include <stdarg.h> directly to provide a portable interface.
+No conforming implementations of X/Open Curses require an application
+to include
+.I \%stdarg.h
+before
+.I \%curses.h
+because they either have allowed for a special type,
+or,
+like
+.IR \%ncurses ,
+they include
+.I \%stdarg.h
+themselves to provide a portable interface.
.SH AUTHORS
-Zeyd M. Ben-Halim, Eric S. Raymond, Thomas E. Dickey.
-Based on \fIpcurses\fP by Pavel Curtis.
+Zeyd M. Ben-Halim,
+Eric S. Raymond,
+Thomas E. Dickey.
+Based on
+.I \%pcurses
+by Pavel Curtis.
.SH SEE ALSO
\fB\%curs_variables\fP(3X),
\fB\%terminfo\fP(5),
.\" authorization. *
.\"***************************************************************************
.\"
-.\" $Id: tabs.1,v 1.57 2024/03/16 15:35:01 tom Exp $
-.TH @TABS@ 1 2024-03-16 "ncurses @NCURSES_MAJOR@.@NCURSES_MINOR@" "User commands"
+.\" $Id: tabs.1,v 1.59 2024/04/20 19:08:15 tom Exp $
+.TH @TABS@ 1 2024-04-20 "ncurses @NCURSES_MAJOR@.@NCURSES_MINOR@" "User commands"
.ie \n(.g \{\
.ds `` \(lq
.ds '' \(rq
(later the same year);
it supported a \*(``\-n\*('' option to set the first tab stop at the
left margin.
-That option is not documented by POSIX.
+That option is not specified by POSIX.
.PP
The PWB/Unix
.B tabs
utility returned in System III (1980),
-and used built-in tables,
-rather than the terminal database,
+and used built-in tables
to support a half-dozen hardcopy terminal (printer) types.
-It also had built-in logic to support setting the left margin,
+It also had logic to support setting the left margin,
as well as a feature for copying the tab settings from a file.
.PP
Versions of the program in later releases of AT&T Unix,
.\" authorization. *
.\"***************************************************************************
.\"
-.\" $Id: term.5,v 1.75 2024/03/16 15:35:01 tom Exp $
-.TH term 5 2024-03-16 "ncurses @NCURSES_MAJOR@.@NCURSES_MINOR@" "File formats"
+.\" $Id: term.5,v 1.77 2024/04/20 21:24:19 tom Exp $
+.TH term 5 2024-04-20 "ncurses @NCURSES_MAJOR@.@NCURSES_MINOR@" "File formats"
.ie \n(.g \{\
.ds `` \(lq
.ds '' \(rq
are at least three versions of terminfo (under HP\-UX, AIX, and OSF/1) which
diverged from System V terminfo after SVr1, and have added extension
capabilities to the string table that (in the binary format) collide with
-System V and XSI Curses extensions.
+System V and X/Open Curses extensions.
See \fBterminfo\fP(5) for detailed
discussion of terminfo source compatibility issues.
.PP
.\" authorization. *
.\"***************************************************************************
.\"
-.\" $Id: terminfo.head,v 1.63 2024/01/13 23:07:27 tom Exp $
-.TH terminfo 5 2024-01-13 "ncurses @NCURSES_MAJOR@.@NCURSES_MINOR@" "File formats"
+.\" $Id: terminfo.head,v 1.65 2024/04/20 21:14:00 tom Exp $
+.TH terminfo 5 2024-04-20 "ncurses @NCURSES_MAJOR@.@NCURSES_MINOR@" "File formats"
.ie \n(.g \{\
.ds `` \(lq
.ds '' \(rq
have, by specifying how to perform screen operations, and by
specifying padding requirements and initialization sequences.
.PP
-This manual describes \fI\%ncurses\fP
-version @NCURSES_MAJOR@.@NCURSES_MINOR@ (patch @NCURSES_PATCH@).
+This document describes
+.I \%ncurses
+version @NCURSES_MAJOR@.@NCURSES_MINOR@
+(patch @NCURSES_PATCH@).
.SS "\fIterminfo\fP Entry Syntax"
Entries in
.I terminfo
.\" authorization. *
.\"***************************************************************************
.\"
-.\" $Id: terminfo.tail,v 1.144 2024/03/02 14:36:39 tom Exp $
+.\" $Id: terminfo.tail,v 1.148 2024/04/20 21:24:19 tom Exp $
.ps +1
.SS "User-Defined Capabilities"
.
If the data scrolled
off the bottom of the region by the \fBri\fP re-appears, then scrolling
is non-destructive.
-System V and XSI Curses expect that \fBind\fP, \fBri\fP,
+System V and X/Open Curses expect that \fBind\fP, \fBri\fP,
\fBindn\fP, and \fBrin\fP will simulate destructive scrolling; their
documentation cautions you not to define \fBcsr\fP unless this is true.
This \fBcurses\fP implementation is more liberal and will do explicit erases
.SS "Insert/Delete Character"
There are two basic kinds of intelligent terminals with respect to
insert/delete character which can be described using
-.I terminfo.
+.IR terminfo .
The most common insert/delete character operations affect only the characters
on the current line and shift characters off the end of the line rigidly.
Other terminals, such as the Concept 100 and the Perkin Elmer Owl, make
with one parameter,
.IR n ,
to delete
-.I n characters,
+.IR n "characters,"
and delete mode by giving \fBsmdc\fP and \fBrmdc\fP
to enter and exit delete mode (any mode the terminal needs to be placed
in for
the \fBInsert/Delete Character\fP subsection above.
.PP
The parameter substitutions for \fBset_clock\fP and \fBdisplay_clock\fP are
-not documented in SVr4 or the XSI Curses standard.
+not documented in SVr4 or X/Open Curses.
They are deduced from the
documentation for the AT&T 505 terminal.
.PP
then the \fBncv\fP value must be specified, even if it is zero.
.PP
Different commercial ports of \fI\%terminfo\fP and \fIcurses\fP support
-different subsets of XSI Curses and
+different subsets of X/Open Curses and
(in some cases)
different extensions.
Here is a summary,
diverged from those of other System V Unices after SVr1,
adding extension capabilities to the string table that
(in the binary format)
-collide with subsequent System V and XSI Curses extensions.
+collide with subsequent System V and X/Open Curses extensions.
.SH AUTHORS
Zeyd M. Ben-Halim, Eric S. Raymond, Thomas E. Dickey.
Based on \fIpcurses\fP by Pavel Curtis.
.\" authorization. *
.\"***************************************************************************
.\"
-.\" $Id: toe.1m,v 1.66 2024/03/16 15:35:01 tom Exp $
-.TH @TOE@ 1M 2024-03-16 "ncurses @NCURSES_MAJOR@.@NCURSES_MINOR@" "User commands"
+.\" $Id: toe.1m,v 1.68 2024/04/20 18:59:26 tom Exp $
+.TH @TOE@ 1M 2024-04-20 "ncurses @NCURSES_MAJOR@.@NCURSES_MINOR@" "User commands"
.ie \n(.g \{\
.ds `` \(lq
.ds '' \(rq
would search,
instead of only the first that it finds.
.IP
-If the \fB\-s\fP option is also given,
-\fB\%@TOE@\fP adds a column to the report,
-showing (like \fB\%conflict\fP(1)) which entries belong to a given
-terminal database.
+If
+.B \-s
+is also given,
+\fB\%@TOE@\fP
+additionally reports,
+like \fI\%conflict\fP(1),
+which entries correspond to a given terminal database.
An \*(``*\*('' marks entries that differ,
and \*(``+\*('' marks equivalent entries.
.IP
.\" authorization. *
.\"***************************************************************************
.\"
-.\" $Id: tput.1,v 1.111 2024/04/13 22:09:53 tom Exp $
-.TH @TPUT@ 1 2024-04-13 "ncurses @NCURSES_MAJOR@.@NCURSES_MINOR@" "User commands"
+.\" $Id: tput.1,v 1.113 2024/04/20 19:58:50 tom Exp $
+.TH @TPUT@ 1 2024-04-20 "ncurses @NCURSES_MAJOR@.@NCURSES_MINOR@" "User commands"
.ie \n(.g \{\
.ds `` \(lq
.ds '' \(rq
.I cap-code
indicates a capability from the terminal database.
.IP
-If the capability is of string type and takes parameters,
-the arguments following the capability will be used as its parameters.
+If
+.I cap-code
+is of string type and takes parameters,
+\fB\%@TPUT@\fP interprets arguments following
+.I cap-code
+as the parameters,
+up to the (fixed) quantity the capability requires.
.IP
Most parameters are numeric.
Only a few terminal capabilities require string parameters;
.\" authorization. *
.\"***************************************************************************
.\"
-.\" $Id: tset.1,v 1.81 2024/03/16 15:35:01 tom Exp $
-.TH @TSET@ 1 2024-03-16 "ncurses @NCURSES_MAJOR@.@NCURSES_MINOR@" "User commands"
+.\" $Id: tset.1,v 1.83 2024/04/20 19:09:08 tom Exp $
+.TH @TSET@ 1 2024-04-20 "ncurses @NCURSES_MAJOR@.@NCURSES_MINOR@" "User commands"
.ie \n(.g \{\
.ds `` \(lq
.ds '' \(rq
the \fILINES\fP and \fICOLUMNS\fP environment variables or
the terminal description.
.PP
-Obtaining the window size from the terminal description is common to
-both implementations, but considered obsolescent.
+Obtaining the window size from a terminal's type description is common
+to both implementations,
+but considered obsolescent.
Its only practical use is for hardware terminals.
-Generally speaking, a window size would be unset only if there were
-some problem obtaining the value from the operating system
-(and \fBsetupterm\fP would still fail).
-For that reason,
-the \fILINES\fP and \fI\%COLUMNS\fP environment variables
-may be useful for working around window-size problems.
-Those have the drawback that if the window is resized,
-those variables must be recomputed and reassigned.
-To do this more easily, use the \fBresize\fP(1) program.
+Generally,
+the window size will remain uninitialized only if there were a problem
+obtaining the value from the operating system
+(and \fB\%setupterm\fP would still fail).
+The \fILINES\fP and \fI\%COLUMNS\fP environment variables
+may thus be useful for working around window-size problems,
+but have the drawback that if the window is resized,
+their values must be recomputed and reassigned.
+The \fI\%resize\fP(1) program distributed with
+\fI\%xterm\fP(1) assists this activity.
.SH HISTORY
A \fB\%reset\fP command written by Kurt Shoens appeared in 1BSD
(March 1978).
/****************************************************************************
- * Copyright 2020,2021 Thomas E. Dickey *
+ * Copyright 2020-2021,2024 Thomas E. Dickey *
* Copyright 1998-2015,2016 Free Software Foundation, Inc. *
* *
* Permission is hereby granted, free of charge, to any person obtaining a *
#define CUR SP_TERMTYPE
#endif
-MODULE_ID("$Id: resizeterm.c,v 1.52 2021/10/23 17:12:33 tom Exp $")
+MODULE_ID("$Id: resizeterm.c,v 1.53 2024/04/20 21:54:14 tom Exp $")
/*
* If we're trying to be reentrant, do not want any local statics.
#ifdef USE_TERM_DRIVER
CallDriver_2(SP_PARM, td_setsize, ToLines, ToCols);
#else
- lines = (NCURSES_SIZE_T) ToLines;
- columns = (NCURSES_SIZE_T) ToCols;
+ lines = (NCURSES_INT2) ToLines;
+ columns = (NCURSES_INT2) ToCols;
#endif
SP_PARM->_lines_avail = (NCURSES_SIZE_T) (ToLines - was_stolen);
#include <locale.h>
#endif
-MODULE_ID("$Id: lib_setup.c,v 1.239 2024/04/14 17:03:40 tom Exp $")
+MODULE_ID("$Id: lib_setup.c,v 1.240 2024/04/20 17:04:05 tom Exp $")
/****************************************************************************
*
bool useEnv = _nc_prescreen.use_env;
bool useTioctl = _nc_prescreen.use_tioctl;
- T((T_CALLED("_nc_get_screensize (%p)"), sp));
+ T((T_CALLED("_nc_get_screensize (%p)"), (void *) sp));
#ifdef EXP_WIN32_DRIVER
/* If we are here, then Windows console is used in terminfo mode.
We need to figure out the size using the console API
/****************************************************************************
- * Copyright 2018-2022,2023 Thomas E. Dickey *
+ * Copyright 2018-2023,2024 Thomas E. Dickey *
* Copyright 1998-2016,2017 Free Software Foundation, Inc. *
* *
* Permission is hereby granted, free of charge, to any person obtaining a *
#include <tic.h>
-MODULE_ID("$Id: write_entry.c,v 1.131 2023/09/16 16:28:36 tom Exp $")
+MODULE_ID("$Id: write_entry.c,v 1.132 2024/04/20 17:58:51 tom Exp $")
#if 1
#define TRACE_OUT(p) DEBUG(2, p)
sizeof(buffer) - 1);
data.size = name_size + 1;
- total_size += data.size;
+ total_size += (int) data.size;
total_parts++;
_nc_db_put(capdb, &key, &data);
key.data = ptr;
key.size = strlen(ptr);
- total_size += data.size;
+ total_size += (int) data.size;
total_parts++;
_nc_db_put(capdb, &key, &data);
}
-ncurses6 (6.4+20240414) unstable; urgency=low
+ncurses6 (6.4+20240420) unstable; urgency=low
* latest weekly patch
- -- Thomas E. Dickey <dickey@invisible-island.net> Sun, 14 Apr 2024 04:48:20 -0400
+ -- Thomas E. Dickey <dickey@invisible-island.net> Sat, 20 Apr 2024 06:17:21 -0400
ncurses6 (5.9+20131005) unstable; urgency=low
-ncurses6 (6.4+20240414) unstable; urgency=low
+ncurses6 (6.4+20240420) unstable; urgency=low
* latest weekly patch
- -- Thomas E. Dickey <dickey@invisible-island.net> Sun, 14 Apr 2024 04:48:20 -0400
+ -- Thomas E. Dickey <dickey@invisible-island.net> Sat, 20 Apr 2024 06:17:21 -0400
ncurses6 (5.9+20131005) unstable; urgency=low
-ncurses6 (6.4+20240414) unstable; urgency=low
+ncurses6 (6.4+20240420) unstable; urgency=low
* latest weekly patch
- -- Thomas E. Dickey <dickey@invisible-island.net> Sun, 14 Apr 2024 04:48:20 -0400
+ -- Thomas E. Dickey <dickey@invisible-island.net> Sat, 20 Apr 2024 06:17:21 -0400
ncurses6 (5.9+20120608) unstable; urgency=low
-; $Id: mingw-ncurses.nsi,v 1.642 2024/04/14 08:48:20 tom Exp $\r
+; $Id: mingw-ncurses.nsi,v 1.643 2024/04/20 10:17:21 tom Exp $\r
\r
; TODO add examples\r
; TODO bump ABI to 6\r
!define VERSION_MAJOR "6"\r
!define VERSION_MINOR "4"\r
!define VERSION_YYYY "2024"\r
-!define VERSION_MMDD "0414"\r
+!define VERSION_MMDD "0420"\r
!define VERSION_PATCH ${VERSION_YYYY}${VERSION_MMDD}\r
\r
!define MY_ABI "5"\r
Summary: shared libraries for terminal handling
Name: mingw32-ncurses6
Version: 6.4
-Release: 20240414
+Release: 20240420
License: X11
Group: Development/Libraries
URL: https://invisible-island.net/ncurses/
Summary: shared libraries for terminal handling
Name: ncurses6
Version: 6.4
-Release: 20240414
+Release: 20240420
License: X11
Group: Development/Libraries
URL: https://invisible-island.net/ncurses/
Summary: Curses library with POSIX thread support.
Name: ncursest6
Version: 6.4
-Release: 20240414
+Release: 20240420
License: X11
Group: Development/Libraries
Source: ncurses-%{version}-%{release}.tgz
#include <transform.h>
#include <tty_settings.h>
-MODULE_ID("$Id: tput.c,v 1.103 2024/03/02 13:22:26 tom Exp $")
+MODULE_ID("$Id: tput.c,v 1.104 2024/04/20 22:20:51 tom Exp $")
#define PUTS(s) fputs(s, stdout)
}
#if HAVE_SIZECHANGE
- set_window_size(fd, &lines, &columns);
+ {
+ NCURSES_INT2 my_rows = lines;
+ NCURSES_INT2 my_cols = columns;
+ set_window_size(fd, &my_rows, &my_cols);
+ lines = my_rows;
+ columns = my_cols;
+ }
#else
(void) fd;
#endif
char *ttyname(int fd);
#endif
-MODULE_ID("$Id: tset.c,v 1.134 2024/04/13 18:59:53 tom Exp $")
+MODULE_ID("$Id: tset.c,v 1.135 2024/04/20 22:20:41 tom Exp $")
#ifndef environ
extern char **environ;
if (!noset) {
#if HAVE_SIZECHANGE
if (opt_w) {
- set_window_size(my_fd, &lines, &columns);
+ NCURSES_INT2 my_rows = lines;
+ NCURSES_INT2 my_cols = columns;
+ set_window_size(my_fd, &my_rows, &my_cols);
+ lines = my_rows;
+ columns = my_cols;
}
#endif
if (opt_c) {