-- sale, use or other dealings in this Software without prior written --
-- authorization. --
-------------------------------------------------------------------------------
--- $Id: NEWS,v 1.4091 2024/03/09 22:33:41 tom Exp $
+-- $Id: NEWS,v 1.4097 2024/03/23 10:33:40 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.
+20240323
+ + modify tput/tset reset feature to avoid 1-second sleep if running in
+ a pseudo-terminal.
+ + modify check-size feature to avoid using it in a pseudoterminal
+ (cf: 20231016)
+ + improve formatting/style of manpages (patches by Branden Robinson).
+ + trim a space after some "-R" options, fixing builds for applications
+ built using clang and ncurses on Solaris.
+
20240309
+ modify xgterm to work around line-drawing bug -TD
+ use CSI 3J in vte-2017 (report by Sven Joachim)
+ update config.guess, config.sub
20240224
- + improve man/curs_mouse.3x style (Brandon Robinson, Sven Joachim).
+ + improve man/curs_mouse.3x style (Branden Robinson, Sven Joachim).
+ provide for CCHARW_MAX greater than 1
+ eliminate use of PATH_MAX in lib_trace.c
+ work around misconfiguration of MacPorts gcc13, which exposes invalid
-5:0:10 6.4 20240309
+5:0:10 6.4 20240323
dnl
dnl Author: Thomas E. Dickey 1995-on
dnl
-dnl $Id: aclocal.m4,v 1.1063 2024/03/02 20:46:07 tom Exp $
+dnl $Id: aclocal.m4,v 1.1065 2024/03/12 23:45:44 tom Exp $
dnl Macros used in NCURSES auto-configuration script.
dnl
dnl These macros are maintained separately from NCURSES. The copyright on
done
])dnl
dnl ---------------------------------------------------------------------------
-dnl CF_SHARED_OPTS version: 109 updated: 2023/12/03 09:21:34
+dnl CF_SHARED_OPTS version: 110 updated: 2024/03/12 19:44:02
dnl --------------
dnl --------------
dnl Attempt to determine the appropriate CC/LD options for creating a shared
# tested with SunOS 5.5.1 (solaris 2.5.1) and gcc 2.7.2
# tested with SunOS 5.10 (solaris 10) and gcc 3.4.3
if test "$DFT_LWR_MODEL" = "shared" ; then
- LOCAL_LDFLAGS="-R \$(LOCAL_LIBDIR):\${libdir}"
+ LOCAL_LDFLAGS="-R\$(LOCAL_LIBDIR):\${libdir}"
LOCAL_LDFLAGS2="$LOCAL_LDFLAGS"
fi
if test "$cf_cv_enable_rpath" = yes ; then
- EXTRA_LDFLAGS="-R \${libdir} $EXTRA_LDFLAGS"
+ EXTRA_LDFLAGS="-R\${libdir} $EXTRA_LDFLAGS"
fi
CF_SHARED_SONAME
if test "$GCC" != yes; then
#! /bin/sh
-# From configure.in Revision: 1.775 .
+# From configure.in Revision: 1.776 .
# Guess values for system-dependent variables and create Makefiles.
# Generated by Autoconf 2.52.20231210.
#
--with-wrap-prefix=XXX override prefix used for public variables
Development Code:
--without-develop disable development options
+ --enable-check-size compile-in code to detect screensize of serial terminals
--enable-hard-tabs compile with hard-tabs code
--enable-xmc-glitch compile with support for xmc (magic-cookie)
Experimental Code:
--disable-assumed-color do not assume anything about default-colors
--disable-hashmap compile without hashmap scrolling-optimization
- --enable-check-size compile-in code to detect screensize
--enable-colorfgbg compile-in experimental $COLORFGBG code
--enable-fvisibility compile with -fvisibility=hidden
--enable-interop compile-in interop bindings
# tested with SunOS 5.5.1 (solaris 2.5.1) and gcc 2.7.2
# tested with SunOS 5.10 (solaris 10) and gcc 3.4.3
if test "$DFT_LWR_MODEL" = "shared" ; then
- LOCAL_LDFLAGS="-R \$(LOCAL_LIBDIR):\${libdir}"
+ LOCAL_LDFLAGS="-R\$(LOCAL_LIBDIR):\${libdir}"
LOCAL_LDFLAGS2="$LOCAL_LDFLAGS"
fi
if test "$cf_cv_enable_rpath" = yes ; then
- EXTRA_LDFLAGS="-R \${libdir} $EXTRA_LDFLAGS"
+ EXTRA_LDFLAGS="-R\${libdir} $EXTRA_LDFLAGS"
fi
test "$cf_cv_shlib_version" = auto && cf_cv_shlib_version=rel
echo "$as_me:16375: result: $with_develop" >&5
echo "${ECHO_T}$with_develop" >&6
+### use option --enable-check-size to detect screensize with CPR
+echo "$as_me:16379: checking if you want to check screensize of serial terminals" >&5
+echo $ECHO_N "checking if you want to check screensize of serial terminals... $ECHO_C" >&6
+
+# Check whether --enable-check-size or --disable-check-size was given.
+if test "${enable_check_size+set}" = set; then
+ enableval="$enable_check_size"
+
+else
+ enable_check_size=$with_develop
+fi;
+echo "$as_me:16389: result: $enable_check_size" >&5
+echo "${ECHO_T}$enable_check_size" >&6
+test "x$enable_check_size" = xyes &&
+cat >>confdefs.h <<\EOF
+#define USE_CHECK_SIZE 1
+EOF
+
### use option --enable-hard-tabs to turn on use of hard-tabs optimize
-echo "$as_me:16379: checking if you want hard-tabs code" >&5
+echo "$as_me:16397: checking if you want hard-tabs code" >&5
echo $ECHO_N "checking if you want hard-tabs code... $ECHO_C" >&6
# Check whether --enable-hard-tabs or --disable-hard-tabs was given.
else
enable_hard_tabs=$with_develop
fi;
-echo "$as_me:16389: result: $enable_hard_tabs" >&5
+echo "$as_me:16407: result: $enable_hard_tabs" >&5
echo "${ECHO_T}$enable_hard_tabs" >&6
test "x$enable_hard_tabs" = xyes &&
cat >>confdefs.h <<\EOF
EOF
### use option --enable-xmc-glitch to turn on use of magic-cookie optimize
-echo "$as_me:16397: checking if you want limited support for xmc" >&5
+echo "$as_me:16415: checking if you want limited support for xmc" >&5
echo $ECHO_N "checking if you want limited support for xmc... $ECHO_C" >&6
# Check whether --enable-xmc-glitch or --disable-xmc-glitch was given.
else
enable_xmc_glitch=$with_develop
fi;
-echo "$as_me:16407: result: $enable_xmc_glitch" >&5
+echo "$as_me:16425: result: $enable_xmc_glitch" >&5
echo "${ECHO_T}$enable_xmc_glitch" >&6
test "x$enable_xmc_glitch" = xyes &&
cat >>confdefs.h <<\EOF
###############################################################################
# These are just experimental, probably should not be in a package:
-echo "$as_me:16417: checking if you do not want to assume colors are white-on-black" >&5
+echo "$as_me:16435: checking if you do not want to assume colors are white-on-black" >&5
echo $ECHO_N "checking if you do not want to assume colors are white-on-black... $ECHO_C" >&6
# Check whether --enable-assumed-color or --disable-assumed-color was given.
else
with_assumed_color=yes
fi;
-echo "$as_me:16427: result: $with_assumed_color" >&5
+echo "$as_me:16445: result: $with_assumed_color" >&5
echo "${ECHO_T}$with_assumed_color" >&6
test "x$with_assumed_color" = xyes &&
cat >>confdefs.h <<\EOF
EOF
### use option --enable-hashmap to turn on use of hashmap scrolling logic
-echo "$as_me:16435: checking if you want hashmap scrolling-optimization code" >&5
+echo "$as_me:16453: checking if you want hashmap scrolling-optimization code" >&5
echo $ECHO_N "checking if you want hashmap scrolling-optimization code... $ECHO_C" >&6
# Check whether --enable-hashmap or --disable-hashmap was given.
else
with_hashmap=yes
fi;
-echo "$as_me:16445: result: $with_hashmap" >&5
+echo "$as_me:16463: result: $with_hashmap" >&5
echo "${ECHO_T}$with_hashmap" >&6
test "x$with_hashmap" = xyes &&
cat >>confdefs.h <<\EOF
#define USE_HASHMAP 1
EOF
-### use option --enable-colorfgbg to turn on use of $COLORFGBG environment
-echo "$as_me:16453: checking if you want code to check screensize" >&5
-echo $ECHO_N "checking if you want code to check screensize... $ECHO_C" >&6
-
-# Check whether --enable-check-size or --disable-check-size was given.
-if test "${enable_check_size+set}" = set; then
- enableval="$enable_check_size"
- with_check_size=$enableval
-else
- with_check_size=no
-fi;
-echo "$as_me:16463: result: $with_check_size" >&5
-echo "${ECHO_T}$with_check_size" >&6
-test "x$with_check_size" = xyes &&
-cat >>confdefs.h <<\EOF
-#define USE_CHECK_SIZE 1
-EOF
-
### use option --enable-colorfgbg to turn on use of $COLORFGBG environment
echo "$as_me:16471: checking if you want colorfgbg code" >&5
echo $ECHO_N "checking if you want colorfgbg code... $ECHO_C" >&6
dnl
dnl Author: Thomas E. Dickey 1995-on
dnl
-dnl $Id: configure.in,v 1.775 2024/03/02 20:22:33 tom Exp $
+dnl $Id: configure.in,v 1.776 2024/03/17 00:08:03 tom Exp $
dnl Process this file with autoconf to produce a configure script.
dnl
dnl For additional information, see
dnl
dnl ---------------------------------------------------------------------------
AC_PREREQ(2.52.20210101)
-AC_REVISION($Revision: 1.775 $)
+AC_REVISION($Revision: 1.776 $)
AC_INIT(ncurses/base/lib_initscr.c)
AC_CONFIG_HEADER(include/ncurses_cfg.h:include/ncurses_cfg.hin)
[with_develop=no])
AC_MSG_RESULT($with_develop)
+### use option --enable-check-size to detect screensize with CPR
+AC_MSG_CHECKING(if you want to check screensize of serial terminals)
+AC_ARG_ENABLE(check-size,
+ [ --enable-check-size compile-in code to detect screensize of serial terminals],,
+ [enable_check_size=$with_develop])
+AC_MSG_RESULT($enable_check_size)
+test "x$enable_check_size" = xyes && AC_DEFINE(USE_CHECK_SIZE,1,[Define to 1 to compile-in code to detect screensize])
+
### use option --enable-hard-tabs to turn on use of hard-tabs optimize
AC_MSG_CHECKING(if you want hard-tabs code)
AC_ARG_ENABLE(hard-tabs,
AC_MSG_RESULT($with_hashmap)
test "x$with_hashmap" = xyes && AC_DEFINE(USE_HASHMAP,1,[Define to 1 to compile with hashmap scrolling-optimization])
-### use option --enable-colorfgbg to turn on use of $COLORFGBG environment
-AC_MSG_CHECKING(if you want code to check screensize)
-AC_ARG_ENABLE(check-size,
- [ --enable-check-size compile-in code to detect screensize],
- [with_check_size=$enableval],
- [with_check_size=no])
-AC_MSG_RESULT($with_check_size)
-test "x$with_check_size" = xyes && AC_DEFINE(USE_CHECK_SIZE,1,[Define to 1 to compile-in code to detect screensize])
-
### use option --enable-colorfgbg to turn on use of $COLORFGBG environment
AC_MSG_CHECKING(if you want colorfgbg code)
AC_ARG_ENABLE(colorfgbg,
# use or other dealings in this Software without prior written #
# authorization. #
##############################################################################
-# $Id: dist.mk,v 1.1601 2024/03/09 13:05:08 tom Exp $
+# $Id: dist.mk,v 1.1603 2024/03/23 10:33:40 tom Exp $
# Makefile for creating ncurses distributions.
#
# This only needs to be used directly as a makefile by developers, but
# These define the major/minor/patch versions of ncurses.
NCURSES_MAJOR = 6
NCURSES_MINOR = 4
-NCURSES_PATCH = 20240309
+NCURSES_PATCH = 20240323
# 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: captoinfo.1m,v 1.59 2024/03/02 16:34:25 tom Exp @
+ * @Id: captoinfo.1m,v 1.63 2024/03/23 20:37:25 tom Exp @
-->
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN">
<HTML>
<HEAD>
<meta http-equiv="Content-Type" content="text/html; charset=us-ascii">
<meta name="generator" content="Manpage converted by man2html - see https://invisible-island.net/scripts/readme.html#others_scripts">
-<TITLE>captoinfo 1m 2024-03-02 ncurses 6.4 User commands</TITLE>
+<TITLE>captoinfo 1m 2024-03-23 ncurses 6.4 User commands</TITLE>
<link rel="author" href="mailto:bug-ncurses@gnu.org">
</HEAD>
<BODY>
-<H1 class="no-header">captoinfo 1m 2024-03-02 ncurses 6.4 User commands</H1>
+<H1 class="no-header">captoinfo 1m 2024-03-23 ncurses 6.4 User commands</H1>
<PRE>
<STRONG><A HREF="captoinfo.1m.html">captoinfo(1m)</A></STRONG> User commands <STRONG><A HREF="captoinfo.1m.html">captoinfo(1m)</A></STRONG>
environment variable <EM>TERMCAP</EM> as a file name, and extracts only the
entry for the terminal named in the environment variable <EM>TERM</EM> from it.
If the environment variable <EM>TERMCAP</EM> is not set, <STRONG>captoinfo</STRONG> reads
- <EM>/etc/termcap.</EM>
+ <EM>/etc/termcap</EM>.
This utility is implemented as a link to <STRONG><A HREF="tic.1m.html">tic(1m)</A></STRONG>, with the latter's <STRONG>-I</STRONG>
option implied. You can use other <STRONG>tic</STRONG> options such as <STRONG>-1</STRONG>, <STRONG>-f</STRONG>, <STRONG>-v</STRONG>, <STRONG>-w</STRONG>,
program.
SVr4 systems provide <STRONG>captoinfo</STRONG> as a separate application from <STRONG>tic</STRONG>. Its
- <STRONG>-v</STRONG> option does not accept a trace level argument <EM>n;</EM> repeat <STRONG>-v</STRONG> <EM>n</EM> times
+ <STRONG>-v</STRONG> option does not accept a trace level argument <EM>n</EM>; repeat <STRONG>-v</STRONG> <EM>n</EM> times
instead.
NetBSD does not provide this application.
-ncurses 6.4 2024-03-02 <STRONG><A HREF="captoinfo.1m.html">captoinfo(1m)</A></STRONG>
+ncurses 6.4 2024-03-23 <STRONG><A HREF="captoinfo.1m.html">captoinfo(1m)</A></STRONG>
</PRE>
<div class="nav">
<ul>
<!--
****************************************************************************
- * 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 *
* sale, use or other dealings in this Software without prior written *
* authorization. *
****************************************************************************
- * @Id: clear.1,v 1.46 2023/12/16 20:32:22 tom Exp @
+ * @Id: clear.1,v 1.48 2024/03/16 15:35:01 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>clear 1 2023-12-16 ncurses 6.4 User commands</TITLE>
+<TITLE>clear 1 2024-03-16 ncurses 6.4 User commands</TITLE>
<link rel="author" href="mailto:bug-ncurses@gnu.org">
</HEAD>
<BODY>
-<H1 class="no-header">clear 1 2023-12-16 ncurses 6.4 User commands</H1>
+<H1 class="no-header">clear 1 2024-03-16 ncurses 6.4 User commands</H1>
<PRE>
<STRONG><A HREF="clear.1.html">clear(1)</A></STRONG> User commands <STRONG><A HREF="clear.1.html">clear(1)</A></STRONG>
-ncurses 6.4 2023-12-16 <STRONG><A HREF="clear.1.html">clear(1)</A></STRONG>
+ncurses 6.4 2024-03-16 <STRONG><A HREF="clear.1.html">clear(1)</A></STRONG>
</PRE>
<div class="nav">
<ul>
* sale, use or other dealings in this Software without prior written *
* authorization. *
****************************************************************************
- * @Id: curs_add_wch.3x,v 1.53 2024/01/13 22:05:39 tom Exp @
+ * @Id: curs_add_wch.3x,v 1.57 2024/03/23 19:58: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>curs_add_wch 3x 2024-01-13 ncurses 6.4 Library calls</TITLE>
+<TITLE>curs_add_wch 3x 2024-03-23 ncurses 6.4 Library calls</TITLE>
<link rel="author" href="mailto:bug-ncurses@gnu.org">
</HEAD>
<BODY>
-<H1 class="no-header">curs_add_wch 3x 2024-01-13 ncurses 6.4 Library calls</H1>
+<H1 class="no-header">curs_add_wch 3x 2024-03-23 ncurses 6.4 Library calls</H1>
<PRE>
<STRONG><A HREF="curs_add_wch.3x.html">curs_add_wch(3x)</A></STRONG> Library calls <STRONG><A HREF="curs_add_wch.3x.html">curs_add_wch(3x)</A></STRONG>
</PRE><H2><a name="h2-RETURN-VALUE">RETURN VALUE</a></H2><PRE>
All routines return the integer <STRONG>ERR</STRONG> upon failure and <STRONG>OK</STRONG> on success.
- X/Open does not define any error conditions. This implementation
- returns an error
+ X/Open Curses does not specify any error conditions. This
+ implementation returns an error
<STRONG>o</STRONG> if the window pointer is null or
misdefined symbols are the arrows and other symbols which are not
used for line-drawing.
- X/Open Curses does not define symbols for thick- or double-lines. SVr4
- curses implementations defined their line-drawing symbols in terms of
- intermediate symbols. This implementation extends those symbols,
+ X/Open Curses does not specify symbols for thick- or double-lines.
+ SVr4 curses implementations defined their line-drawing symbols in terms
+ of intermediate symbols. This implementation extends those symbols,
providing new definitions which are not in the SVr4 implementations.
Not all Unicode-capable terminals provide support for VT100-style
active (base) spacing character.
+</PRE><H3><a name="h3-TABSIZE">TABSIZE</a></H3><PRE>
+ The <STRONG>TABSIZE</STRONG> variable is implemented in SVr4 and other versions of
+ <EM>curses</EM>, but is not specified by X/Open Curses (see <STRONG><A HREF="curs_variables.3x.html">curs_variables(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_attr.3x.html">curs_attr(3x)</A></STRONG>, <STRONG><A HREF="curs_clear.3x.html">curs_clear(3x)</A></STRONG>,
- <STRONG><A HREF="curs_getcchar.3x.html">curs_getcchar(3x)</A></STRONG>, <STRONG><A HREF="curs_outopts.3x.html">curs_outopts(3x)</A></STRONG>, <STRONG><A HREF="curs_refresh.3x.html">curs_refresh(3x)</A></STRONG>, <STRONG>putwc(3)</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_addwstr.3x.html">curs_addwstr(3x)</A></STRONG>, <STRONG><A HREF="curs_add_wchstr.3x.html">curs_add_wchstr(3x)</A></STRONG>,
+ <STRONG><A HREF="curs_attr.3x.html">curs_attr(3x)</A></STRONG>, <STRONG><A HREF="curs_clear.3x.html">curs_clear(3x)</A></STRONG>, <STRONG><A HREF="curs_getcchar.3x.html">curs_getcchar(3x)</A></STRONG>, <STRONG><A HREF="curs_outopts.3x.html">curs_outopts(3x)</A></STRONG>,
+ <STRONG><A HREF="curs_refresh.3x.html">curs_refresh(3x)</A></STRONG>, <STRONG><A HREF="curs_variables.3x.html">curs_variables(3x)</A></STRONG>, <STRONG>putwc(3)</STRONG>
-ncurses 6.4 2024-01-13 <STRONG><A HREF="curs_add_wch.3x.html">curs_add_wch(3x)</A></STRONG>
+ncurses 6.4 2024-03-23 <STRONG><A HREF="curs_add_wch.3x.html">curs_add_wch(3x)</A></STRONG>
</PRE>
<div class="nav">
<ul>
<ul>
<li><a href="#h3-WACS-Symbols">WACS Symbols</a></li>
<li><a href="#h3-Complex-Characters">Complex Characters</a></li>
+<li><a href="#h3-TABSIZE">TABSIZE</a></li>
</ul>
</li>
<li><a href="#h2-SEE-ALSO">SEE ALSO</a></li>
<!--
****************************************************************************
- * Copyright 2019-2022,2023 Thomas E. Dickey *
+ * Copyright 2019-2023,2024 Thomas E. Dickey *
* Copyright 2002-2012,2017 Free Software Foundation, Inc. *
* *
* Permission is hereby granted, free of charge, to any person obtaining a *
* sale, use or other dealings in this Software without prior written *
* authorization. *
****************************************************************************
- * @Id: curs_add_wchstr.3x,v 1.32 2023/11/25 14:01:49 tom Exp @
+ * @Id: curs_add_wchstr.3x,v 1.34 2024/03/16 19:44:53 tom Exp @
-->
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN">
<HTML>
<HEAD>
<meta http-equiv="Content-Type" content="text/html; charset=us-ascii">
<meta name="generator" content="Manpage converted by man2html - see https://invisible-island.net/scripts/readme.html#others_scripts">
-<TITLE>curs_add_wchstr 3x 2023-11-25 ncurses 6.4 Library calls</TITLE>
+<TITLE>curs_add_wchstr 3x 2024-03-16 ncurses 6.4 Library calls</TITLE>
<link rel="author" href="mailto:bug-ncurses@gnu.org">
</HEAD>
<BODY>
-<H1 class="no-header">curs_add_wchstr 3x 2023-11-25 ncurses 6.4 Library calls</H1>
+<H1 class="no-header">curs_add_wchstr 3x 2024-03-16 ncurses 6.4 Library calls</H1>
<PRE>
<STRONG><A HREF="curs_add_wchstr.3x.html">curs_add_wchstr(3x)</A></STRONG> Library calls <STRONG><A HREF="curs_add_wchstr.3x.html">curs_add_wchstr(3x)</A></STRONG>
</PRE><H2><a name="h2-RETURN-VALUE">RETURN VALUE</a></H2><PRE>
All functions return the integer <STRONG>ERR</STRONG> upon failure and <STRONG>OK</STRONG> on success.
- X/Open does not define any error conditions. This implementation
- returns an error
+ X/Open Curses does not specify any error conditions. This
+ implementation returns an error
<STRONG>o</STRONG> if the <EM>win</EM> parameter is null or
-ncurses 6.4 2023-11-25 <STRONG><A HREF="curs_add_wchstr.3x.html">curs_add_wchstr(3x)</A></STRONG>
+ncurses 6.4 2024-03-16 <STRONG><A HREF="curs_add_wchstr.3x.html">curs_add_wchstr(3x)</A></STRONG>
</PRE>
<div class="nav">
<ul>
<!--
* t
****************************************************************************
- * Copyright 2018-2022,2023 Thomas E. Dickey *
+ * Copyright 2018-2023,2024 Thomas E. Dickey *
* Copyright 1998-2015,2017 Free Software Foundation, Inc. *
* *
* Permission is hereby granted, free of charge, to any person obtaining a *
* sale, use or other dealings in this Software without prior written *
* authorization. *
****************************************************************************
- * @Id: curs_addch.3x,v 1.76 2023/12/23 16:27:51 tom Exp @
+ * @Id: curs_addch.3x,v 1.81 2024/03/23 20:38:57 tom Exp @
-->
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN">
<HTML>
<HEAD>
<meta http-equiv="Content-Type" content="text/html; charset=us-ascii">
<meta name="generator" content="Manpage converted by man2html - see https://invisible-island.net/scripts/readme.html#others_scripts">
-<TITLE>curs_addch 3x 2023-12-23 ncurses 6.4 Library calls</TITLE>
+<TITLE>curs_addch 3x 2024-03-23 ncurses 6.4 Library calls</TITLE>
<link rel="author" href="mailto:bug-ncurses@gnu.org">
</HEAD>
<BODY>
-<H1 class="no-header">curs_addch 3x 2023-12-23 ncurses 6.4 Library calls</H1>
+<H1 class="no-header">curs_addch 3x 2024-03-23 ncurses 6.4 Library calls</H1>
<PRE>
<STRONG><A HREF="curs_addch.3x.html">curs_addch(3x)</A></STRONG> Library calls <STRONG><A HREF="curs_addch.3x.html">curs_addch(3x)</A></STRONG>
</PRE><H2><a name="h2-DESCRIPTION">DESCRIPTION</a></H2><PRE>
</PRE><H3><a name="h3-Adding-Characters">Adding Characters</a></H3><PRE>
- The <STRONG>addch</STRONG>, <STRONG>waddch</STRONG>, <STRONG>mvaddch</STRONG> and <STRONG>mvwaddch</STRONG> routines put the character <EM>ch</EM>
- into the given window at its current window position, which is then
- advanced. They are analogous to the standard C library's <STRONG>putchar(3)</STRONG>.
- If the advance is at the right margin:
+ <STRONG>waddch</STRONG> puts the character <EM>ch</EM> at the cursor position of window <EM>win</EM>, then
+ advances the cursor position, analogously to the standard C library's
+ <STRONG>putchar(3)</STRONG>. <STRONG><A HREF="ncurses.3x.html">ncurses(3x)</A></STRONG> describes the variants of this function.
- <STRONG>o</STRONG> The cursor automatically wraps to the beginning of the next line.
+ If advancement occurs at the right margin,
- <STRONG>o</STRONG> At the bottom of the current scrolling region, and if <STRONG><A HREF="scrollok.3x.html">scrollok(3x)</A></STRONG>
- is enabled, the scrolling region is scrolled up one line.
+ <STRONG>o</STRONG> the cursor automatically wraps to the beginning of the next line;
+ and
- <STRONG>o</STRONG> If <STRONG><A HREF="scrollok.3x.html">scrollok(3x)</A></STRONG> is not enabled, writing a character at the lower
- right margin succeeds. However, an error is returned because it is
- not possible to wrap to a new line.
+ <STRONG>o</STRONG> at the bottom of the current scrolling region, and if <STRONG><A HREF="scrollok.3x.html">scrollok(3x)</A></STRONG>
+ is enabled for <EM>win</EM>, the scrolling region scrolls up one line.
- If <EM>ch</EM> is a tab, newline, carriage return or backspace, the cursor is
- moved appropriately within the window:
+ If <EM>ch</EM> is a backspace, carriage return, line feed, or tab, the cursor
+ moves appropriately within the window.
- <STRONG>o</STRONG> Backspace moves the cursor one character left; at the left edge of
- a window it does nothing.
+ <STRONG>o</STRONG> Backspace moves the cursor one character left; at the left margin
+ of a window, it does nothing.
- <STRONG>o</STRONG> Carriage return moves the cursor to the window left margin on the
- current line.
+ <STRONG>o</STRONG> Carriage return moves the cursor to the left margin on the current
+ line of the window.
- <STRONG>o</STRONG> Newline does a <STRONG>clrtoeol</STRONG>, then moves the cursor to the window left
- margin on the next line, scrolling the window if on the last line.
+ <STRONG>o</STRONG> Line feed does a <STRONG><A HREF="curs_clear.3x.html">clrtoeol(3x)</A></STRONG>, then moves the cursor to the left
+ margin on the next line of the window, scrolling the window if the
+ cursor was already on the last line.
- <STRONG>o</STRONG> Tabs are considered to be at every eighth column. The tab interval
- may be altered by setting the <STRONG>TABSIZE</STRONG> variable.
+ <STRONG>o</STRONG> Tab advances the cursor to the next tab stop (possibly on the next
+ line); these are placed at every eighth column by default. Alter
+ the tab interval with the <STRONG>TABSIZE</STRONG> extension; see
+ <STRONG><A HREF="curs_variables.3x.html">curs_variables(3x)</A></STRONG>.
- If <EM>ch</EM> is any other nonprintable character, it is drawn in printable
- form, using the same convention as <STRONG><A HREF="unctrl.3x.html">unctrl(3x)</A></STRONG>:
+ If <EM>ch</EM> is any other nonprintable character, it is drawn in printable
+ form, using the same convention as <STRONG><A HREF="unctrl.3x.html">unctrl(3x)</A></STRONG>.
- <STRONG>o</STRONG> Control characters are displayed in the <STRONG>^</STRONG><EM>X</EM> notation.
+ <STRONG>o</STRONG> <STRONG>waddch</STRONG> displays control characters in <STRONG>^</STRONG><EM>X</EM> notation.
- <STRONG>o</STRONG> Values above 128 are either meta characters (if the screen has not
- been initialized, or if <STRONG><A HREF="curs_inopts.3x.html">meta(3x)</A></STRONG> has been called with a <STRONG>TRUE</STRONG> E
- parameter), shown in the <STRONG>M-</STRONG><EM>X</EM> notation, or are displayed as
- themselves. In the latter case, the values may not be printable;
+ <STRONG>o</STRONG> Character codes above 127 are either meta characters (if the screen
+ has not been initialized, or if <STRONG><A HREF="curs_inopts.3x.html">meta(3x)</A></STRONG> has been called with a
+ <STRONG>TRUE</STRONG> <EM>bf</EM> parameter) that render in <STRONG>M-</STRONG><EM>X</EM> notation, or they display as
+ themselves. In the latter case, the values may not be printable;
this follows the X/Open specification.
- Calling <STRONG>winch</STRONG> after adding a nonprintable character does not return the
- character itself, but instead returns the printable representation of
- the character.
+ Calling <STRONG><A HREF="curs_inch.3x.html">winch(3x)</A></STRONG> on the location of a nonprintable character does not
+ return the character itself, but its <STRONG><A HREF="unctrl.3x.html">unctrl(3x)</A></STRONG> representation.
Video attributes can be combined with a character argument passed to
- <STRONG>addch</STRONG> or related functions by logical-ORing them into the character.
- (Thus, text, including attributes, can be copied from one place to
- another using <STRONG><A HREF="curs_inch.3x.html">inch(3x)</A></STRONG> and <STRONG>addch</STRONG>.) See the <STRONG><A HREF="curs_attr.3x.html">curs_attr(3x)</A></STRONG> page for
- values of predefined video attribute constants that can be usefully
- OR'ed into characters.
+ <STRONG>waddch</STRONG> by logical-ORing them into the character. (Thus, text,
+ including attributes, can be copied from one place to another using
+ <STRONG><A HREF="curs_inch.3x.html">winch(3x)</A></STRONG> and <STRONG>waddch</STRONG>.) See <STRONG><A HREF="curs_attr.3x.html">curs_attr(3x)</A></STRONG> for values of predefined
+ video attribute constants that can be usefully OR'ed with characters.
</PRE><H3><a name="h3-Echoing-Characters">Echoing Characters</a></H3><PRE>
- The <STRONG>echochar</STRONG> and <STRONG>wechochar</STRONG> routines are equivalent to a call to <STRONG>addch</STRONG>
- followed by a call to <STRONG><A HREF="curs_refresh.3x.html">refresh(3x)</A></STRONG>, or a call to <STRONG>waddch</STRONG> followed by a
- call to <STRONG>wrefresh</STRONG>. The knowledge that only a single character is being
- output is used and, for non-control characters, a considerable
- performance gain may be seen by using these routines instead of their
- equivalents.
-
-
-</PRE><H3><a name="h3-Line-Graphics">Line Graphics</a></H3><PRE>
- The following variables may be used to add line drawing characters to
- the screen with routines of the <STRONG>addch</STRONG> family. The default character
- listed below is used if the <STRONG>acsc</STRONG> capability does not define a terminal-
- specific replacement for it, or if the terminal and locale
- configuration requires Unicode but the library is unable to use
- Unicode.
-
- The names are taken from VT100 nomenclature.
-
- <STRONG>ACS</STRONG> <STRONG>ACS</STRONG> <STRONG>acsc</STRONG> <STRONG>Glyph</STRONG>
- <STRONG>Name</STRONG> <STRONG>Default</STRONG> <STRONG>char</STRONG> <STRONG>Name</STRONG>
- ---------------------------------------------------------
- ACS_BLOCK # 0 solid square block
- ACS_BOARD # h board of squares
- ACS_BTEE + v bottom tee
- ACS_BULLET o ~ bullet
- ACS_CKBOARD : a checker board (stipple)
- ACS_DARROW v . arrow pointing down
- ACS_DEGREE ' f degree symbol
- ACS_DIAMOND + ` diamond
- ACS_GEQUAL > > greater-than-or-equal-to
- ACS_HLINE - q horizontal line
- ACS_LANTERN # i lantern symbol
- ACS_LARROW < , arrow pointing left
- ACS_LEQUAL < y less-than-or-equal-to
- ACS_LLCORNER + m lower left-hand corner
- ACS_LRCORNER + j lower right-hand corner
- ACS_LTEE + t left tee
- ACS_NEQUAL ! | not-equal
- ACS_PI * { greek pi
- ACS_PLMINUS # g plus/minus
- ACS_PLUS + n plus
- ACS_RARROW > + arrow pointing right
- ACS_RTEE + u right tee
- ACS_S1 - o scan line 1
- ACS_S3 - p scan line 3
- ACS_S7 - r scan line 7
- ACS_S9 _ s scan line 9
- ACS_STERLING f } pound-sterling symbol
- ACS_TTEE + w top tee
- ACS_UARROW ^ - arrow pointing up
- ACS_ULCORNER + l upper left-hand corner
- ACS_URCORNER + k upper right-hand corner
- ACS_VLINE | x vertical line
+ <STRONG>echochar</STRONG> and <STRONG>wechochar</STRONG> are equivalent to calling (<STRONG>w</STRONG>)<STRONG>addch</STRONG> followed by
+ (<STRONG>w</STRONG>)<STRONG>refresh</STRONG>. <EM>curses</EM> interprets these functions as a hint that only a
+ single character is being output; for non-control characters, a
+ considerable performance gain may be enjoyed by employing them.
+
+
+</PRE><H3><a name="h3-Forms-Drawing-Characters">Forms-Drawing Characters</a></H3><PRE>
+ <EM>curses</EM> defines macros starting with <STRONG>ACS_</STRONG> that can be used with <STRONG>waddch</STRONG>
+ to write line-drawing and other special characters to the screen.
+ <EM>ncurses</EM> terms these <EM>forms-drawing</EM> <EM>characters.</EM> The ACS default listed
+ below is used if the <STRONG>acs_chars</STRONG> (<STRONG>acsc</STRONG>) <EM>terminfo</EM> capability does not
+ define a terminal-specific replacement for it, or if the terminal and
+ locale configuration requires Unicode to access these characters but
+ the library is unable to use Unicode. The "acsc char" column
+ corresponds to how the characters are specified in the <STRONG>acs_chars</STRONG> string
+ capability, and the characters in it may appear on the screen if the
+ terminal's database entry incorrectly advertises ACS support. The name
+ "ACS" originates in the Alternate Character Set feature of the DEC
+ VT100 terminal.
+
+ <STRONG>ACS</STRONG> <STRONG>acsc</STRONG>
+ <STRONG>Symbol</STRONG> <STRONG>Default</STRONG> <STRONG>char</STRONG> <STRONG>Glyph</STRONG> <STRONG>Name</STRONG>
+ ------------------------------------------------------------------------
+ <STRONG>ACS_BLOCK</STRONG> # 0 solid square block
+ <STRONG>ACS_BOARD</STRONG> # h board of squares
+ <STRONG>ACS_BTEE</STRONG> + v bottom tee
+ <STRONG>ACS_BULLET</STRONG> o ~ bullet
+ <STRONG>ACS_CKBOARD</STRONG> : a checker board (stipple)
+ <STRONG>ACS_DARROW</STRONG> v . arrow pointing down
+ <STRONG>ACS_DEGREE</STRONG> ' f degree symbol
+ <STRONG>ACS_DIAMOND</STRONG> + ` diamond
+ <STRONG>ACS_GEQUAL</STRONG> > > greater-than-or-equal-to
+ <STRONG>ACS_HLINE</STRONG> - q horizontal line
+ <STRONG>ACS_LANTERN</STRONG> # i lantern symbol
+ <STRONG>ACS_LARROW</STRONG> < , arrow pointing left
+ <STRONG>ACS_LEQUAL</STRONG> < y less-than-or-equal-to
+ <STRONG>ACS_LLCORNER</STRONG> + m lower left-hand corner
+ <STRONG>ACS_LRCORNER</STRONG> + j lower right-hand corner
+ <STRONG>ACS_LTEE</STRONG> + t left tee
+ <STRONG>ACS_NEQUAL</STRONG> ! | not-equal
+ <STRONG>ACS_PI</STRONG> * { greek pi
+ <STRONG>ACS_PLMINUS</STRONG> # g plus/minus
+ <STRONG>ACS_PLUS</STRONG> + n plus
+ <STRONG>ACS_RARROW</STRONG> > + arrow pointing right
+ <STRONG>ACS_RTEE</STRONG> + u right tee
+ <STRONG>ACS_S1</STRONG> - o scan line 1
+ <STRONG>ACS_S3</STRONG> - p scan line 3
+ <STRONG>ACS_S7</STRONG> - r scan line 7
+ <STRONG>ACS_S9</STRONG> _ s scan line 9
+ <STRONG>ACS_STERLING</STRONG> f } pound-sterling symbol
+ <STRONG>ACS_TTEE</STRONG> + w top tee
+ <STRONG>ACS_UARROW</STRONG> ^ - arrow pointing up
+ <STRONG>ACS_ULCORNER</STRONG> + l upper left-hand corner
+ <STRONG>ACS_URCORNER</STRONG> + k upper right-hand corner
+ <STRONG>ACS_VLINE</STRONG> | x vertical line
</PRE><H2><a name="h2-RETURN-VALUE">RETURN VALUE</a></H2><PRE>
- All routines return the integer <STRONG>ERR</STRONG> upon failure and <STRONG>OK</STRONG> on success (the
- SVr4 manuals specify only "an integer value other than <STRONG>ERR</STRONG>") upon
- successful completion, unless otherwise noted in the preceding routine
- descriptions.
-
- Functions with a "mv" prefix first perform a cursor movement using
- <STRONG>wmove</STRONG>, and return an error if the position is outside the window, or if
- the window pointer is null.
+ These functions return <STRONG>OK</STRONG> on success and <STRONG>ERR</STRONG> on failure.
- If it is not possible to add a complete character, an error is
- returned:
+ In <EM>ncurses</EM>, <STRONG>waddch</STRONG> returns <STRONG>ERR</STRONG> if it is not possible to add a complete
+ character at the cursor position, as when conversion of a multibyte
+ character to a byte sequence fails, or at least one of the resulting
+ bytes cannot be added to the window. See section "PORTABILITY" below
+ regarding the use of <STRONG>waddch</STRONG> with multibyte characters.
- <STRONG>o</STRONG> If <STRONG><A HREF="scrollok.3x.html">scrollok(3x)</A></STRONG> is not enabled, writing a character at the lower
- right margin succeeds. However, an error is returned because it is
- not possible to wrap to a new line.
+ If <STRONG><A HREF="scrollok.3x.html">scrollok(3x)</A></STRONG> is not enabled, <STRONG>waddch</STRONG> can successfully write a
+ character at the bottom right location of the window. However, <EM>ncurses</EM>
+ returns <STRONG>ERR</STRONG> because it is not possible to wrap to a new line.
- <STRONG>o</STRONG> If an error is detected when converting a multibyte character to a
- sequence of bytes, or if it is not possible to add all of the
- resulting bytes in the window, an error is returned.
+ 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.
</PRE><H2><a name="h2-NOTES">NOTES</a></H2><PRE>
- Note that <STRONG>addch</STRONG>, <STRONG>mvaddch</STRONG>, <STRONG>mvwaddch</STRONG>, and <STRONG>echochar</STRONG> may be macros.
+ <STRONG>addch</STRONG>, <STRONG>mvaddch</STRONG>, <STRONG>mvwaddch</STRONG>, and <STRONG>echochar</STRONG> may be implemented as macros.
</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 forms-drawing characters apply in the POSIX
- locale.
+ 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.
</PRE><H3><a name="h3-ACS-Symbols">ACS Symbols</a></H3><PRE>
- X/Open Curses states that the <STRONG>ACS_</STRONG> definitions are <STRONG>char</STRONG> constants. For
- the wide-character implementation (see <STRONG>curs_add_wch</STRONG>), there are
- analogous <STRONG>WACS_</STRONG> definitions which are <STRONG>cchar_t</STRONG> constants. Some
- implementations are problematic:
+ X/Open Curses states that the <STRONG>ACS_</STRONG> definitions are <EM>char</EM> constants.
+
+ Some implementations are problematic.
- <STRONG>o</STRONG> Some implementations define the ACS symbols to a constant (such as
- Solaris), while others define those to entries in an array.
+ <STRONG>o</STRONG> Solaris <EM>curses</EM>, for example, define the ACS symbols as constants;
+ others define them as elements of an array.
- This implementation uses an array <STRONG>acs_map</STRONG>, as done in SVr4 curses.
+ This implementation uses an array, <STRONG>acs_map</STRONG>, as did SVr4 <EM>curses</EM>.
NetBSD also uses an array, actually named <STRONG>_acs_char</STRONG>, with a <STRONG>#define</STRONG>
for compatibility.
- <STRONG>o</STRONG> HP-UX curses equates some of the <STRONG>ACS_</STRONG> symbols to the analogous
- <STRONG>WACS_</STRONG> symbols as if the <STRONG>ACS_</STRONG> symbols were wide characters. The
- misdefined symbols are the arrows and other symbols which are not
- used for line-drawing.
+ <STRONG>o</STRONG> HP-UX <EM>curses</EM> equates some of the <STRONG>ACS_</STRONG> symbols to the analogous
+ <STRONG>WACS_</STRONG> symbols as if the <STRONG>ACS_</STRONG> symbols were wide characters (see
+ <STRONG><A HREF="curs_add_wch.3x.html">curs_add_wch(3x)</A></STRONG>). The misdefined symbols are the arrows and
+ others that are not used for line drawing.
- <STRONG>o</STRONG> X/Open Curses (issues 2 through 7) has a typographical error for
- the ACS_LANTERN symbol, equating its "VT100+ Character" to <STRONG>I</STRONG>
- (capital I), while the header files for SVr4 curses and the various
- implementations use <STRONG>i</STRONG> (lowercase).
+ <STRONG>o</STRONG> X/Open Curses (Issues 2 through 7) has a typographical error for
+ the <STRONG>ACS_LANTERN</STRONG> symbol, equating its "VT100+ Character" to "I"
+ (capital I), while the header files for SVr4 <EM>curses</EM> and other
+ implementations use "i" (small i).
- None of the terminal descriptions on Unix platforms use uppercase-
- I, except for Solaris (i.e., <STRONG>screen</STRONG>'s terminal description,
+ None of the terminal descriptions on Unix platforms use uppercase
+ I, except for Solaris (in its <EM>terminfo</EM> entry for <STRONG>screen(1)</STRONG>,
apparently based on the X/Open documentation around 1995). On the
- other hand, the terminal description <EM>gs6300</EM> (AT&T PC6300 with EMOTS
- Terminal Emulator) uses lowercase-i.
+ other hand, its <STRONG>gs6300</STRONG> (AT&T PC6300 with EMOTS Terminal Emulator)
+ description uses lowercase i.
- Some ACS symbols (ACS_S3, ACS_S7, ACS_LEQUAL, ACS_GEQUAL, ACS_PI,
- ACS_NEQUAL, ACS_STERLING) were not documented in any publicly released
- System V. However, many publicly available terminfos include <STRONG>acsc</STRONG>
- strings in which their key characters (pryz{|}) are embedded, and a
- second-hand list of their character descriptions has come to light.
- The ACS-prefixed names for them were invented for <STRONG><A HREF="ncurses.3x.html">ncurses(3x)</A></STRONG>.
+ Some ACS symbols (<STRONG>ACS_S3</STRONG>, <STRONG>ACS_S7</STRONG>, <STRONG>ACS_LEQUAL</STRONG>, <STRONG>ACS_GEQUAL</STRONG>, <STRONG>ACS_PI</STRONG>,
+ <STRONG>ACS_NEQUAL</STRONG>, and <STRONG>ACS_STERLING</STRONG>) were not documented in any publicly
+ released System V. However, many publicly available <EM>terminfo</EM> entries
+ include <STRONG>acsc</STRONG> strings in which their key characters (pryz{|}) are
+ embedded, and a second-hand list of their character descriptions has
+ come to light. The <EM>ncurses</EM> developers invented ACS-prefixed names for
+ them.
- The <EM>displayed</EM> values for the <STRONG>ACS_</STRONG> and <STRONG>WACS_</STRONG> constants depend on
+ The <EM>displayed</EM> values of <STRONG>ACS_</STRONG> constants depend on
- <STRONG>o</STRONG> the library configuration, i.e., <EM>ncurses</EM> versus <EM>ncursesw</EM>, where the
- latter is capable of displaying Unicode while the former is not,
- and
+ <STRONG>o</STRONG> the <EM>ncurses</EM> ABI--for example, wide-character versus non-wide-
+ character configurations (the former is capable of displaying
+ Unicode while the latter is not), and
- <STRONG>o</STRONG> whether the <EM>locale</EM> uses UTF-8 encoding.
+ <STRONG>o</STRONG> whether the locale uses UTF-8 encoding.
- In certain cases, the terminal is unable to display line-drawing
- characters except by using UTF-8 (see the discussion of
- <STRONG>NCURSES_NO_UTF8_ACS</STRONG> in <STRONG><A HREF="ncurses.3x.html">ncurses(3x)</A></STRONG>).
+ In certain cases, the terminal is unable to display forms-drawing
+ characters <EM>except</EM> by using UTF-8; see the discussion of the
+ <EM>NCURSES</EM><STRONG>_</STRONG><EM>NO</EM><STRONG>_</STRONG><EM>UTF8</EM><STRONG>_</STRONG><EM>ACS</EM> environment variable in <STRONG><A HREF="ncurses.3x.html">ncurses(3x)</A></STRONG>).
</PRE><H3><a name="h3-Character-Set">Character Set</a></H3><PRE>
- X/Open Curses assumes that the parameter passed to <STRONG>waddch</STRONG> contains a
- single character. As discussed in <STRONG><A HREF="curs_attr.3x.html">curs_attr(3x)</A></STRONG>, that character may
- have been more than eight bits in an SVr3 or SVr4 implementation, but
- in the X/Open Curses model, the details are not given. The important
- distinction between SVr4 curses and X/Open Curses is that the non-
- character information (attributes and color) was separated from the
- character information which is packed in a <STRONG>chtype</STRONG> to pass to <STRONG>waddch</STRONG>.
-
- In this implementation, <STRONG>chtype</STRONG> holds an eight-bit character. But
- <EM>ncurses</EM> allows multibyte characters to be passed in a succession of
- calls to <STRONG>waddch</STRONG>. The other implementations do not do this; a call to
- <STRONG>waddch</STRONG> passes exactly one character which may be rendered as one or
- more cells on the screen depending on whether it is printable.
-
- Depending on the locale settings, <EM>ncurses</EM> will inspect the byte passed
- in each call to <STRONG>waddch</STRONG>, and check if the latest call will continue a
+ X/Open Curses assumes that the parameter passed to <STRONG>waddch</STRONG> contains a
+ single character. As discussed in <STRONG><A HREF="curs_attr.3x.html">curs_attr(3x)</A></STRONG>, that character may
+ have been more than eight bits wide in an SVr3 or SVr4 implementation,
+ but in the X/Open Curses model, the details are not given. The
+ important distinction between SVr4 <EM>curses</EM> and X/Open Curses is that the
+ latter separates non-character information (attributes and color) from
+ the character code, which SVr4 packs into a <EM>chtype</EM> for passage to
+ <STRONG>waddch</STRONG>.
+
+ In <EM>ncurses</EM>, <EM>chtype</EM> holds an eight-bit character. But <EM>ncurses</EM> allows a
+ multibyte character to be passed in a succession of calls to <STRONG>waddch</STRONG>.
+ Other implementations do not; a <STRONG>waddch</STRONG> call transmits exactly one
+ character, which may be rendered in one or more screen locations
+ depending on whether it is printable.
+
+ Depending on the locale settings, <EM>ncurses</EM> inspects the byte passed in
+ each <STRONG>waddch</STRONG> call, and checks whether the latest call continues a
multibyte sequence. When a character is <EM>complete</EM>, <EM>ncurses</EM> displays the
- character and moves to the next position in the screen.
+ character and advances the window's current location.
If the calling application interrupts the succession of bytes in a
- multibyte character by moving the current location (e.g., using <STRONG>wmove</STRONG>),
- <EM>ncurses</EM> discards the partially built character, starting over again.
+ multibyte character sequence by moving the current location (for
+ example, with <STRONG><A HREF="curs_move.3x.html">wmove(3x)</A></STRONG>), <EM>ncurses</EM> discards the incomplete character.
For portability to other implementations, do not rely upon this
- behavior:
+ behavior. Check whether a character can be represented as a single
+ byte in the current locale.
- <STRONG>o</STRONG> check if a character can be represented as a single byte in the
- current locale before attempting call <STRONG>waddch</STRONG>, and
+ <STRONG>o</STRONG> If it can, call either <STRONG>waddch</STRONG> or <STRONG><A HREF="curs_add_wch.3x.html">wadd_wch(3x)</A></STRONG>.
- <STRONG>o</STRONG> call <STRONG>wadd_wch</STRONG> for characters which cannot be handled by <STRONG>waddch</STRONG>.
+ <STRONG>o</STRONG> If it cannot, use only <STRONG><A HREF="curs_add_wch.3x.html">wadd_wch(3x)</A></STRONG>.
</PRE><H3><a name="h3-TABSIZE">TABSIZE</a></H3><PRE>
- The <STRONG>TABSIZE</STRONG> variable is implemented in SVr4 and other versions of
- curses, but is not part of X/Open curses (see <STRONG><A HREF="curs_variables.3x.html">curs_variables(3x)</A></STRONG> for
- more details).
-
- If <EM>ch</EM> is a carriage return, the cursor is moved to the beginning of the
- current row of the window. This is true of other implementations, but
- is not documented.
+ SVr4 and other versions of <EM>curses</EM> implement the <STRONG>TABSIZE</STRONG> variable, but
+ X/Open Curses does not specify it (see <STRONG><A HREF="curs_variables.3x.html">curs_variables(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_attr.3x.html">curs_attr(3x)</A></STRONG>, <STRONG><A HREF="curs_clear.3x.html">curs_clear(3x)</A></STRONG>, <STRONG><A HREF="curs_inch.3x.html">curs_inch(3x)</A></STRONG>,
- <STRONG><A HREF="curs_outopts.3x.html">curs_outopts(3x)</A></STRONG>, <STRONG><A HREF="curs_refresh.3x.html">curs_refresh(3x)</A></STRONG>, <STRONG><A HREF="curs_variables.3x.html">curs_variables(3x)</A></STRONG>, <STRONG>putc(3)</STRONG>
+ <STRONG><A HREF="ncurses.3x.html">curses(3x)</A></STRONG>, <STRONG><A HREF="curs_addchstr.3x.html">curs_addchstr(3x)</A></STRONG>, <STRONG><A HREF="curs_addstr.3x.html">curs_addstr(3x)</A></STRONG>, <STRONG><A HREF="curs_attr.3x.html">curs_attr(3x)</A></STRONG>,
+ <STRONG><A HREF="curs_clear.3x.html">curs_clear(3x)</A></STRONG>, <STRONG><A HREF="curs_inch.3x.html">curs_inch(3x)</A></STRONG>, <STRONG><A HREF="curs_outopts.3x.html">curs_outopts(3x)</A></STRONG>, <STRONG><A HREF="curs_refresh.3x.html">curs_refresh(3x)</A></STRONG>,
+ <STRONG><A HREF="curs_variables.3x.html">curs_variables(3x)</A></STRONG>, <STRONG>putchar(3)</STRONG>
- Comparable functions in the wide-character (ncursesw) library are
- described in <STRONG><A HREF="curs_add_wch.3x.html">curs_add_wch(3x)</A></STRONG>.
+ <STRONG><A HREF="curs_add_wch.3x.html">curs_add_wch(3x)</A></STRONG> describes comparable functions of the <EM>ncurses</EM> library
+ in its wide-character configuration (<EM>ncursesw</EM>).
-ncurses 6.4 2023-12-23 <STRONG><A HREF="curs_addch.3x.html">curs_addch(3x)</A></STRONG>
+ncurses 6.4 2024-03-23 <STRONG><A HREF="curs_addch.3x.html">curs_addch(3x)</A></STRONG>
</PRE>
<div class="nav">
<ul>
<ul>
<li><a href="#h3-Adding-Characters">Adding Characters</a></li>
<li><a href="#h3-Echoing-Characters">Echoing Characters</a></li>
-<li><a href="#h3-Line-Graphics">Line Graphics</a></li>
+<li><a href="#h3-Forms-Drawing-Characters">Forms-Drawing Characters</a></li>
</ul>
</li>
<li><a href="#h2-RETURN-VALUE">RETURN VALUE</a></li>
<!--
****************************************************************************
- * Copyright 2019-2022,2023 Thomas E. Dickey *
+ * Copyright 2019-2023,2024 Thomas E. Dickey *
* Copyright 1998-2012,2017 Free Software Foundation, Inc. *
* *
* Permission is hereby granted, free of charge, to any person obtaining a *
* sale, use or other dealings in this Software without prior written *
* authorization. *
****************************************************************************
- * @Id: curs_addchstr.3x,v 1.38 2023/11/25 14:01:49 tom Exp @
+ * @Id: curs_addchstr.3x,v 1.40 2024/03/16 15:37:51 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 2023-11-25 ncurses 6.4 Library calls</TITLE>
+<TITLE>curs_addchstr 3x 2024-03-16 ncurses 6.4 Library calls</TITLE>
<link rel="author" href="mailto:bug-ncurses@gnu.org">
</HEAD>
<BODY>
-<H1 class="no-header">curs_addchstr 3x 2023-11-25 ncurses 6.4 Library calls</H1>
+<H1 class="no-header">curs_addchstr 3x 2024-03-16 ncurses 6.4 Library calls</H1>
<PRE>
<STRONG><A HREF="curs_addchstr.3x.html">curs_addchstr(3x)</A></STRONG> Library calls <STRONG><A HREF="curs_addchstr.3x.html">curs_addchstr(3x)</A></STRONG>
</PRE><H2><a name="h2-RETURN-VALUE">RETURN VALUE</a></H2><PRE>
All functions return the integer <STRONG>ERR</STRONG> upon failure and <STRONG>OK</STRONG> on success.
- X/Open does not define any error conditions. This implementation
- returns an error
+ X/Open Curses does not specify any error conditions. This
+ implementation returns an error
<STRONG>o</STRONG> if the <EM>win</EM> parameter is null or
</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_addstr.3x.html">curs_addstr(3x)</A></STRONG>, <STRONG><A HREF="curs_addwstr.3x.html">curs_addwstr(3x)</A></STRONG>,
- <STRONG><A HREF="curs_add_wchstr.3x.html">curs_add_wchstr(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_addstr.3x.html">curs_addstr(3x)</A></STRONG>
+ <STRONG><A HREF="curs_add_wchstr.3x.html">curs_add_wchstr(3x)</A></STRONG> describes comparable functions of the <EM>ncurses</EM>
+ library in its wide-character configuration (<EM>ncursesw</EM>).
-ncurses 6.4 2023-11-25 <STRONG><A HREF="curs_addchstr.3x.html">curs_addchstr(3x)</A></STRONG>
+
+ncurses 6.4 2024-03-16 <STRONG><A HREF="curs_addchstr.3x.html">curs_addchstr(3x)</A></STRONG>
</PRE>
<div class="nav">
<ul>
<!--
****************************************************************************
- * Copyright 2019-2022,2023 Thomas E. Dickey *
+ * Copyright 2019-2023,2024 Thomas E. Dickey *
* Copyright 1998-2012,2017 Free Software Foundation, Inc. *
* *
* Permission is hereby granted, free of charge, to any person obtaining a *
* sale, use or other dealings in this Software without prior written *
* authorization. *
****************************************************************************
- * @Id: curs_addstr.3x,v 1.37 2023/11/18 21:18:55 tom Exp @
+ * @Id: curs_addstr.3x,v 1.41 2024/03/23 20:38:57 tom Exp @
-->
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN">
<HTML>
<HEAD>
<meta http-equiv="Content-Type" content="text/html; charset=us-ascii">
<meta name="generator" content="Manpage converted by man2html - see https://invisible-island.net/scripts/readme.html#others_scripts">
-<TITLE>curs_addstr 3x 2023-11-18 ncurses 6.4 Library calls</TITLE>
+<TITLE>curs_addstr 3x 2024-03-23 ncurses 6.4 Library calls</TITLE>
<link rel="author" href="mailto:bug-ncurses@gnu.org">
</HEAD>
<BODY>
-<H1 class="no-header">curs_addstr 3x 2023-11-18 ncurses 6.4 Library calls</H1>
+<H1 class="no-header">curs_addstr 3x 2024-03-23 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>#include</STRONG> <STRONG><curses.h></STRONG>
<STRONG>int</STRONG> <STRONG>addstr(const</STRONG> <STRONG>char</STRONG> <STRONG>*</STRONG><EM>str</EM><STRONG>);</STRONG>
- <STRONG>int</STRONG> <STRONG>addnstr(const</STRONG> <STRONG>char</STRONG> <STRONG>*</STRONG><EM>str</EM><STRONG>,</STRONG> <STRONG>int</STRONG> <EM>n</EM><STRONG>);</STRONG>
+ <STRONG>int</STRONG> <STRONG>mvaddstr(int</STRONG> <EM>y</EM><STRONG>,</STRONG> <STRONG>int</STRONG> <EM>x</EM><STRONG>,</STRONG> <STRONG>const</STRONG> <STRONG>char</STRONG> <STRONG>*</STRONG><EM>str</EM><STRONG>);</STRONG>
+ <STRONG>int</STRONG> <STRONG>mvwaddstr(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>const</STRONG> <STRONG>char</STRONG> <STRONG>*</STRONG><EM>str</EM><STRONG>);</STRONG>
<STRONG>int</STRONG> <STRONG>waddstr(WINDOW</STRONG> <STRONG>*</STRONG><EM>win</EM><STRONG>,</STRONG> <STRONG>const</STRONG> <STRONG>char</STRONG> <STRONG>*</STRONG><EM>str</EM><STRONG>);</STRONG>
- <STRONG>int</STRONG> <STRONG>waddnstr(WINDOW</STRONG> <STRONG>*</STRONG><EM>win</EM><STRONG>,</STRONG> <STRONG>const</STRONG> <STRONG>char</STRONG> <STRONG>*</STRONG><EM>str</EM><STRONG>,</STRONG> <STRONG>int</STRONG> <EM>n</EM><STRONG>);</STRONG>
- <STRONG>int</STRONG> <STRONG>mvaddstr(int</STRONG> <EM>y</EM><STRONG>,</STRONG> <STRONG>int</STRONG> <EM>x</EM><STRONG>,</STRONG> <STRONG>const</STRONG> <STRONG>char</STRONG> <STRONG>*</STRONG><EM>str</EM><STRONG>);</STRONG>
+ <STRONG>int</STRONG> <STRONG>addnstr(const</STRONG> <STRONG>char</STRONG> <STRONG>*</STRONG><EM>str</EM><STRONG>,</STRONG> <STRONG>int</STRONG> <EM>n</EM><STRONG>);</STRONG>
<STRONG>int</STRONG> <STRONG>mvaddnstr(int</STRONG> <EM>y</EM><STRONG>,</STRONG> <STRONG>int</STRONG> <EM>x</EM><STRONG>,</STRONG> <STRONG>const</STRONG> <STRONG>char</STRONG> <STRONG>*</STRONG><EM>str</EM><STRONG>,</STRONG> <STRONG>int</STRONG> <EM>n</EM><STRONG>);</STRONG>
- <STRONG>int</STRONG> <STRONG>mvwaddstr(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>const</STRONG> <STRONG>char</STRONG> <STRONG>*</STRONG><EM>str</EM><STRONG>);</STRONG>
<STRONG>int</STRONG> <STRONG>mvwaddnstr(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>const</STRONG> <STRONG>char</STRONG> <STRONG>*</STRONG><EM>str</EM><STRONG>,</STRONG> <STRONG>int</STRONG> <EM>n</EM><STRONG>);</STRONG>
+ <STRONG>int</STRONG> <STRONG>waddnstr(WINDOW</STRONG> <STRONG>*</STRONG><EM>win</EM><STRONG>,</STRONG> <STRONG>const</STRONG> <STRONG>char</STRONG> <STRONG>*</STRONG><EM>str</EM><STRONG>,</STRONG> <STRONG>int</STRONG> <EM>n</EM><STRONG>);</STRONG>
</PRE><H2><a name="h2-DESCRIPTION">DESCRIPTION</a></H2><PRE>
- These functions write the (null-terminated) character string <EM>str</EM> on the
- given window. It is similar to calling <STRONG>waddch</STRONG> once for each byte in
- the string.
+ <STRONG>waddstr</STRONG> writes the characters of the (null-terminated) string <EM>str</EM> to
+ the window <EM>win</EM>. Its process is similar to calling <STRONG><A HREF="curs_addch.3x.html">waddch(3x)</A></STRONG> for each
+ <EM>char</EM> in <EM>str</EM>. Control characters are processed as in <STRONG><A HREF="curs_addch.3x.html">waddch(3x)</A></STRONG>.
- The <EM>mv</EM> functions perform cursor movement once, before writing any
- characters. Thereafter, the cursor is advanced as a side-effect of
- writing to the window.
+ <STRONG>waddnstr</STRONG> writes at most <EM>n</EM> characters, or until a terminating null
+ character occurs in <EM>str</EM>. If <EM>n</EM> is -1, <STRONG>waddnstr</STRONG> writes the entire
+ string.
- The four functions with <EM>n</EM> as the last argument write at most <EM>n</EM> bytes,
- or until a terminating null is reached. If <EM>n</EM> is -1, then the entire
- string will be added.
+ <STRONG><A HREF="ncurses.3x.html">ncurses(3x)</A></STRONG> describes the variants of these functions.
</PRE><H2><a name="h2-RETURN-VALUE">RETURN VALUE</a></H2><PRE>
- All functions return the integer <STRONG>ERR</STRONG> upon failure and <STRONG>OK</STRONG> on success.
+ These functions return <STRONG>OK</STRONG> on success and <STRONG>ERR</STRONG> on failure.
- X/Open does not define any error conditions. This implementation
- returns an error
+ X/Open Curses does not specify any error conditions. <EM>ncurses</EM> returns
+ an error
- <STRONG>o</STRONG> if the window pointer is null or
+ <STRONG>o</STRONG> if the window pointer is <STRONG>NULL</STRONG>,
- <STRONG>o</STRONG> if the string pointer is null or
+ <STRONG>o</STRONG> if the string pointer is <STRONG>NULL</STRONG>, or
- <STRONG>o</STRONG> if the corresponding calls to <STRONG>waddch</STRONG> return an error.
+ <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 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 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.
</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.
+ X/Open Curses, Issue 4 describes these functions.
</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_addchstr.3x.html">curs_addchstr(3x)</A></STRONG>, <STRONG><A HREF="curs_addwstr.3x.html">curs_addwstr(3x)</A></STRONG>,
- <STRONG><A HREF="curs_add_wchstr.3x.html">curs_add_wchstr(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_addchstr.3x.html">curs_addchstr(3x)</A></STRONG>
+
+ <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>).
-ncurses 6.4 2023-11-18 <STRONG><A HREF="curs_addstr.3x.html">curs_addstr(3x)</A></STRONG>
+ncurses 6.4 2024-03-23 <STRONG><A HREF="curs_addstr.3x.html">curs_addstr(3x)</A></STRONG>
</PRE>
<div class="nav">
<ul>
<!--
****************************************************************************
- * Copyright 2019-2022,2023 Thomas E. Dickey *
+ * Copyright 2019-2023,2024 Thomas E. Dickey *
* Copyright 2002-2012,2017 Free Software Foundation, Inc. *
* *
* Permission is hereby granted, free of charge, to any person obtaining a *
* sale, use or other dealings in this Software without prior written *
* authorization. *
****************************************************************************
- * @Id: curs_addwstr.3x,v 1.29 2023/11/18 21:18:55 tom Exp @
+ * @Id: curs_addwstr.3x,v 1.33 2024/03/23 20:38:57 tom Exp @
-->
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN">
<HTML>
<HEAD>
<meta http-equiv="Content-Type" content="text/html; charset=us-ascii">
<meta name="generator" content="Manpage converted by man2html - see https://invisible-island.net/scripts/readme.html#others_scripts">
-<TITLE>curs_addwstr 3x 2023-11-18 ncurses 6.4 Library calls</TITLE>
+<TITLE>curs_addwstr 3x 2024-03-23 ncurses 6.4 Library calls</TITLE>
<link rel="author" href="mailto:bug-ncurses@gnu.org">
</HEAD>
<BODY>
-<H1 class="no-header">curs_addwstr 3x 2023-11-18 ncurses 6.4 Library calls</H1>
+<H1 class="no-header">curs_addwstr 3x 2024-03-23 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>#include</STRONG> <STRONG><curses.h></STRONG>
<STRONG>int</STRONG> <STRONG>addwstr(const</STRONG> <STRONG>wchar_t</STRONG> <STRONG>*</STRONG><EM>wstr</EM><STRONG>);</STRONG>
- <STRONG>int</STRONG> <STRONG>addnwstr(const</STRONG> <STRONG>wchar_t</STRONG> <STRONG>*</STRONG><EM>wstr</EM><STRONG>,</STRONG> <STRONG>int</STRONG> <EM>n</EM><STRONG>);</STRONG>
+ <STRONG>int</STRONG> <STRONG>mvaddwstr(int</STRONG> <EM>y</EM><STRONG>,</STRONG> <STRONG>int</STRONG> <EM>x</EM><STRONG>,</STRONG> <STRONG>const</STRONG> <STRONG>wchar_t</STRONG> <STRONG>*</STRONG><EM>wstr</EM><STRONG>);</STRONG>
+ <STRONG>int</STRONG> <STRONG>mvwaddwstr(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>const</STRONG> <STRONG>wchar_t</STRONG> <STRONG>*</STRONG><EM>wstr</EM><STRONG>);</STRONG>
<STRONG>int</STRONG> <STRONG>waddwstr(WINDOW</STRONG> <STRONG>*</STRONG><EM>win</EM><STRONG>,</STRONG> <STRONG>const</STRONG> <STRONG>wchar_t</STRONG> <STRONG>*</STRONG><EM>wstr</EM><STRONG>);</STRONG>
- <STRONG>int</STRONG> <STRONG>waddnwstr(WINDOW</STRONG> <STRONG>*</STRONG><EM>win</EM><STRONG>,</STRONG> <STRONG>const</STRONG> <STRONG>wchar_t</STRONG> <STRONG>*</STRONG><EM>wstr</EM><STRONG>,</STRONG> <STRONG>int</STRONG> <EM>n</EM><STRONG>);</STRONG>
- <STRONG>int</STRONG> <STRONG>mvaddwstr(int</STRONG> <EM>y</EM><STRONG>,</STRONG> <STRONG>int</STRONG> <EM>x</EM><STRONG>,</STRONG> <STRONG>const</STRONG> <STRONG>wchar_t</STRONG> <STRONG>*</STRONG><EM>wstr</EM><STRONG>);</STRONG>
+ <STRONG>int</STRONG> <STRONG>addnwstr(const</STRONG> <STRONG>wchar_t</STRONG> <STRONG>*</STRONG><EM>wstr</EM><STRONG>,</STRONG> <STRONG>int</STRONG> <EM>n</EM><STRONG>);</STRONG>
<STRONG>int</STRONG> <STRONG>mvaddnwstr(int</STRONG> <EM>y</EM><STRONG>,</STRONG> <STRONG>int</STRONG> <EM>x</EM><STRONG>,</STRONG> <STRONG>const</STRONG> <STRONG>wchar_t</STRONG> <STRONG>*</STRONG><EM>wstr</EM><STRONG>,</STRONG> <STRONG>int</STRONG> <EM>n</EM><STRONG>);</STRONG>
- <STRONG>int</STRONG> <STRONG>mvwaddwstr(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>const</STRONG> <STRONG>wchar_t</STRONG> <STRONG>*</STRONG><EM>wstr</EM><STRONG>);</STRONG>
<STRONG>int</STRONG> <STRONG>mvwaddnwstr(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>const</STRONG> <STRONG>wchar_t</STRONG> <STRONG>*</STRONG><EM>wstr</EM><STRONG>,</STRONG> <STRONG>int</STRONG> <EM>n</EM><STRONG>);</STRONG>
+ <STRONG>int</STRONG> <STRONG>waddnwstr(WINDOW</STRONG> <STRONG>*</STRONG><EM>win</EM><STRONG>,</STRONG> <STRONG>const</STRONG> <STRONG>wchar_t</STRONG> <STRONG>*</STRONG><EM>wstr</EM><STRONG>,</STRONG> <STRONG>int</STRONG> <EM>n</EM><STRONG>);</STRONG>
</PRE><H2><a name="h2-DESCRIPTION">DESCRIPTION</a></H2><PRE>
- These functions write the characters of the (null-terminated) <STRONG>wchar_t</STRONG>
- character string <EM>wstr</EM> on the given window. It is similar to
- constructing a <STRONG>cchar_t</STRONG> for each <STRONG>wchar_t</STRONG> in the string, then calling
- <STRONG><A HREF="curs_add_wch.3x.html">wadd_wch(3x)</A></STRONG> for the resulting <STRONG>cchar_t</STRONG>:
+ <STRONG>waddwstr</STRONG> writes the characters of the (wide-null-terminated) wide-
+ character string <EM>wstr</EM> to the window <EM>win</EM>. Its process is similar to
+ constructing a <EM>cchar</EM><STRONG>_</STRONG><EM>t</EM> for each <EM>wchar</EM><STRONG>_</STRONG><EM>t</EM> in <EM>wstr</EM>, then calling
+ <STRONG><A HREF="curs_add_wch.3x.html">wadd_wch(3x)</A></STRONG> with the resulting <EM>cchar</EM><STRONG>_</STRONG><EM>t</EM>.
- <STRONG>o</STRONG> spacing and non-spacing characters in the string are processed one
+ <STRONG>o</STRONG> Spacing and non-spacing characters in the string are processed one
at a time, and
- <STRONG>o</STRONG> control characters are processed as in <STRONG><A HREF="curs_addch.3x.html">waddch(3x)</A></STRONG>.
+ <STRONG>o</STRONG> control characters are processed as in <STRONG><A HREF="curs_add_wch.3x.html">wadd_wch(3x)</A></STRONG>.
- The <EM>mv</EM> functions perform cursor movement once, before writing any
- characters. Thereafter, the cursor is advanced as a side-effect of
- writing to the window.
+ <STRONG>waddnwstr</STRONG> writes at most <EM>n</EM> wide characters, or until a terminating wide
+ null character occurs in <EM>wstr</EM>. If <EM>n</EM> is -1, <STRONG>waddnwstr</STRONG> writes the entire
+ wide string.
- The four functions with <EM>n</EM> as the last argument write at most <EM>n</EM> <STRONG>wchar_t</STRONG>
- characters, or until a terminating null is reached. If <EM>n</EM> is -1, then
- the entire string will be added.
+ <STRONG><A HREF="ncurses.3x.html">ncurses(3x)</A></STRONG> describes the variants of these functions.
</PRE><H2><a name="h2-RETURN-VALUE">RETURN VALUE</a></H2><PRE>
- All functions return the integer <STRONG>ERR</STRONG> upon failure and <STRONG>OK</STRONG> on success.
+ These functions return <STRONG>OK</STRONG> on success and <STRONG>ERR</STRONG> on failure.
- X/Open does not define any error conditions. This implementation
- returns an error
+ X/Open Curses does not specify any error conditions. <EM>ncurses</EM> returns
+ an error
- <STRONG>o</STRONG> if the window pointer is null or
+ <STRONG>o</STRONG> if the window pointer is <STRONG>NULL</STRONG>,
- <STRONG>o</STRONG> if the string pointer is null or
+ <STRONG>o</STRONG> if the string pointer is <STRONG>NULL</STRONG>, or
- <STRONG>o</STRONG> if the corresponding calls to <STRONG>wadd_wch</STRONG> return an error.
+ <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 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 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.
</PRE><H2><a name="h2-NOTES">NOTES</a></H2><PRE>
- All of these functions except <STRONG>waddnwstr</STRONG> may be macros.
+ All of these functions except <STRONG>waddnwstr</STRONG> may be implemented as macros.
</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>
- <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>, <STRONG><A HREF="curs_addstr.3x.html">curs_addstr(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>
+ <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>
+
+ <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.
-ncurses 6.4 2023-11-18 <STRONG><A HREF="curs_addwstr.3x.html">curs_addwstr(3x)</A></STRONG>
+ncurses 6.4 2024-03-23 <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.97 2024/03/02 16:34:00 tom Exp @
+ * @Id: curs_attr.3x,v 1.99 2024/03/16 15:38: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_attr 3x 2024-03-02 ncurses 6.4 Library calls</TITLE>
+<TITLE>curs_attr 3x 2024-03-16 ncurses 6.4 Library calls</TITLE>
<link rel="author" href="mailto:bug-ncurses@gnu.org">
</HEAD>
<BODY>
-<H1 class="no-header">curs_attr 3x 2024-03-02 ncurses 6.4 Library calls</H1>
+<H1 class="no-header">curs_attr 3x 2024-03-16 ncurses 6.4 Library calls</H1>
<PRE>
<STRONG><A HREF="curs_attr.3x.html">curs_attr(3x)</A></STRONG> Library calls <STRONG><A HREF="curs_attr.3x.html">curs_attr(3x)</A></STRONG>
<STRONG>standend</STRONG> is the same as <STRONG>attrset(A_NORMAL)</STRONG> or <STRONG>attrset(0)</STRONG>, that is, it
turns off all attributes.
- X/Open does not mark these "restricted", because
+ X/Open Curses does not mark these "restricted", because
<STRONG>o</STRONG> they have well established legacy use, and
</PRE><H2><a name="h2-RETURN-VALUE">RETURN VALUE</a></H2><PRE>
All routines return the integer <STRONG>OK</STRONG> on success, or <STRONG>ERR</STRONG> on failure.
- X/Open does not define any error conditions.
+ X/Open Curses does not specify any error conditions.
This implementation
-ncurses 6.4 2024-03-02 <STRONG><A HREF="curs_attr.3x.html">curs_attr(3x)</A></STRONG>
+ncurses 6.4 2024-03-16 <STRONG><A HREF="curs_attr.3x.html">curs_attr(3x)</A></STRONG>
</PRE>
<div class="nav">
<ul>
<!--
****************************************************************************
- * Copyright 2018-2021,2023 Thomas E. Dickey *
+ * Copyright 2018-2023,2024 Thomas E. Dickey *
* Copyright 1998-2005,2010 Free Software Foundation, Inc. *
* *
* Permission is hereby granted, free of charge, to any person obtaining a *
* sale, use or other dealings in this Software without prior written *
* authorization. *
****************************************************************************
- * @Id: curs_beep.3x,v 1.25 2023/10/07 21:19:07 tom Exp @
+ * @Id: curs_beep.3x,v 1.27 2024/03/16 15:35:01 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 2023-10-07 ncurses 6.4 Library calls</TITLE>
+<TITLE>curs_beep 3x 2024-03-16 ncurses 6.4 Library calls</TITLE>
<link rel="author" href="mailto:bug-ncurses@gnu.org">
</HEAD>
<BODY>
-<H1 class="no-header">curs_beep 3x 2023-10-07 ncurses 6.4 Library calls</H1>
+<H1 class="no-header">curs_beep 3x 2024-03-16 ncurses 6.4 Library calls</H1>
<PRE>
<STRONG><A HREF="curs_beep.3x.html">curs_beep(3x)</A></STRONG> Library calls <STRONG><A HREF="curs_beep.3x.html">curs_beep(3x)</A></STRONG>
-ncurses 6.4 2023-10-07 <STRONG><A HREF="curs_beep.3x.html">curs_beep(3x)</A></STRONG>
+ncurses 6.4 2024-03-16 <STRONG><A HREF="curs_beep.3x.html">curs_beep(3x)</A></STRONG>
</PRE>
<div class="nav">
<ul>
<!--
****************************************************************************
- * Copyright 2018-2022,2023 Thomas E. Dickey *
+ * Copyright 2018-2023,2024 Thomas E. Dickey *
* Copyright 1998-2015,2017 Free Software Foundation, Inc. *
* *
* Permission is hereby granted, free of charge, to any person obtaining a *
* sale, use or other dealings in this Software without prior written *
* authorization. *
****************************************************************************
- * @Id: curs_bkgd.3x,v 1.55 2023/12/23 16:35:10 tom Exp @
+ * @Id: curs_bkgd.3x,v 1.59 2024/03/23 19:58:58 tom Exp @
-->
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN">
<HTML>
<HEAD>
<meta http-equiv="Content-Type" content="text/html; charset=us-ascii">
<meta name="generator" content="Manpage converted by man2html - see https://invisible-island.net/scripts/readme.html#others_scripts">
-<TITLE>curs_bkgd 3x 2023-12-23 ncurses 6.4 Library calls</TITLE>
+<TITLE>curs_bkgd 3x 2024-03-23 ncurses 6.4 Library calls</TITLE>
<link rel="author" href="mailto:bug-ncurses@gnu.org">
</HEAD>
<BODY>
-<H1 class="no-header">curs_bkgd 3x 2023-12-23 ncurses 6.4 Library calls</H1>
+<H1 class="no-header">curs_bkgd 3x 2024-03-23 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>
Neither X/Open Curses nor the SVr4 manual pages detail how the
rendition of characters on the screen updates when <STRONG>bkgd</STRONG> or <STRONG>wbkgd</STRONG>
- changes the background character. <EM>ncurses,</EM> like SVr4 <EM>curses,</EM> does not
+ changes the background character. <EM>ncurses</EM>, like SVr4 <EM>curses</EM>, does not
(in its non-"wide" configuration) store the background and window
attribute contributions to each character cell separately.
</PRE><H2><a name="h2-SEE-ALSO">SEE ALSO</a></H2><PRE>
<STRONG><A HREF="curs_bkgrnd.3x.html">curs_bkgrnd(3x)</A></STRONG> describes the corresponding functions in the "wide"
- configuration of <EM>ncurses.</EM>
+ configuration of <EM>ncurses</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_attr.3x.html">curs_attr(3x)</A></STRONG>
-ncurses 6.4 2023-12-23 <STRONG><A HREF="curs_bkgd.3x.html">curs_bkgd(3x)</A></STRONG>
+ncurses 6.4 2024-03-23 <STRONG><A HREF="curs_bkgd.3x.html">curs_bkgd(3x)</A></STRONG>
</PRE>
<div class="nav">
<ul>
<!--
****************************************************************************
- * Copyright 2018-2022,2023 Thomas E. Dickey *
+ * Copyright 2018-2023,2024 Thomas E. Dickey *
* Copyright 2002-2015,2017 Free Software Foundation, Inc. *
* *
* Permission is hereby granted, free of charge, to any person obtaining a *
* sale, use or other dealings in this Software without prior written *
* authorization. *
****************************************************************************
- * @Id: curs_bkgrnd.3x,v 1.36 2023/12/23 16:35:10 tom Exp @
+ * @Id: curs_bkgrnd.3x,v 1.40 2024/03/23 19:59:45 tom Exp @
-->
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN">
<HTML>
<HEAD>
<meta http-equiv="Content-Type" content="text/html; charset=us-ascii">
<meta name="generator" content="Manpage converted by man2html - see https://invisible-island.net/scripts/readme.html#others_scripts">
-<TITLE>curs_bkgrnd 3x 2023-12-23 ncurses 6.4 Library calls</TITLE>
+<TITLE>curs_bkgrnd 3x 2024-03-23 ncurses 6.4 Library calls</TITLE>
<link rel="author" href="mailto:bug-ncurses@gnu.org">
</HEAD>
<BODY>
-<H1 class="no-header">curs_bkgrnd 3x 2023-12-23 ncurses 6.4 Library calls</H1>
+<H1 class="no-header">curs_bkgrnd 3x 2024-03-23 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>
<STRONG>bkgrndset</STRONG> and <STRONG>wbkgrndset</STRONG> do not return a value.
The other functions return <STRONG>ERR</STRONG> upon failure and <STRONG>OK</STRONG> upon success. In
- <EM>ncurses,</EM> failure occurs if
+ <EM>ncurses</EM>, failure occurs if
<STRONG>o</STRONG> a <EM>WINDOW</EM> pointer <EM>win</EM> is null, or
</PRE><H2><a name="h2-NOTES">NOTES</a></H2><PRE>
<STRONG>bkgrnd</STRONG>, <STRONG>bkgrndset</STRONG>, and <STRONG>getbkgrnd</STRONG> may be implemented as macros.
- Unlike their counterparts in the non-"wide" configuration of <EM>ncurses,</EM>
+ Unlike their counterparts in the non-"wide" configuration of <EM>ncurses</EM>,
<STRONG>getbkgrnd</STRONG> and <STRONG>wgetbkgrnd</STRONG> supply the background character and attribute
in a modifiable <EM>cchar</EM><STRONG>_</STRONG><EM>t</EM> parameter, not as the return value.
error conditions for them.
X/Open Curses does not provide details of how the rendition is updated.
- This implementation follows the approach used in SVr4 <EM>curses.</EM>
+ This implementation follows the approach used in SVr4 <EM>curses</EM>.
</PRE><H2><a name="h2-SEE-ALSO">SEE ALSO</a></H2><PRE>
<STRONG><A HREF="curs_bkgd.3x.html">curs_bkgd(3x)</A></STRONG> describes the corresponding functions in the non-"wide"
- configuration of <EM>ncurses.</EM>
+ configuration of <EM>ncurses</EM>.
<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_attr.3x.html">curs_attr(3x)</A></STRONG>
-ncurses 6.4 2023-12-23 <STRONG><A HREF="curs_bkgrnd.3x.html">curs_bkgrnd(3x)</A></STRONG>
+ncurses 6.4 2024-03-23 <STRONG><A HREF="curs_bkgrnd.3x.html">curs_bkgrnd(3x)</A></STRONG>
</PRE>
<div class="nav">
<ul>
<!--
****************************************************************************
- * Copyright 2018-2022,2023 Thomas E. Dickey *
+ * Copyright 2018-2023,2024 Thomas E. Dickey *
* Copyright 1998-2007,2010 Free Software Foundation, Inc. *
* *
* Permission is hereby granted, free of charge, to any person obtaining a *
* sale, use or other dealings in this Software without prior written *
* authorization. *
****************************************************************************
- * @Id: curs_border.3x,v 1.44 2023/12/16 21:09:11 tom Exp @
+ * @Id: curs_border.3x,v 1.46 2024/03/16 15:38:43 tom Exp @
-->
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN">
<HTML>
<HEAD>
<meta http-equiv="Content-Type" content="text/html; charset=us-ascii">
<meta name="generator" content="Manpage converted by man2html - see https://invisible-island.net/scripts/readme.html#others_scripts">
-<TITLE>curs_border 3x 2023-12-16 ncurses 6.4 Library calls</TITLE>
+<TITLE>curs_border 3x 2024-03-16 ncurses 6.4 Library calls</TITLE>
<link rel="author" href="mailto:bug-ncurses@gnu.org">
</HEAD>
<BODY>
-<H1 class="no-header">curs_border 3x 2023-12-16 ncurses 6.4 Library calls</H1>
+<H1 class="no-header">curs_border 3x 2024-03-16 ncurses 6.4 Library calls</H1>
<PRE>
<STRONG><A HREF="curs_border.3x.html">curs_border(3x)</A></STRONG> Library calls <STRONG><A HREF="curs_border.3x.html">curs_border(3x)</A></STRONG>
All routines return the integer <STRONG>OK</STRONG>. The SVr4.0 manual says "or a non-
negative integer if <STRONG>immedok</STRONG> is set", but this appears to be an error.
- X/Open does not define any error conditions. This implementation
- returns an error if the window pointer is null.
+ 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
-ncurses 6.4 2023-12-16 <STRONG><A HREF="curs_border.3x.html">curs_border(3x)</A></STRONG>
+ncurses 6.4 2024-03-16 <STRONG><A HREF="curs_border.3x.html">curs_border(3x)</A></STRONG>
</PRE>
<div class="nav">
<ul>
<!--
****************************************************************************
- * Copyright 2019-2022,2023 Thomas E. Dickey *
+ * Copyright 2019-2023,2024 Thomas E. Dickey *
* Copyright 2002-2011,2012 Free Software Foundation, Inc. *
* *
* Permission is hereby granted, free of charge, to any person obtaining a *
* sale, use or other dealings in this Software without prior written *
* authorization. *
****************************************************************************
- * @Id: curs_border_set.3x,v 1.31 2023/11/25 15:39:56 tom Exp @
+ * @Id: curs_border_set.3x,v 1.33 2024/03/16 15:35:01 tom Exp @
-->
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN">
<HTML>
<HEAD>
<meta http-equiv="Content-Type" content="text/html; charset=us-ascii">
<meta name="generator" content="Manpage converted by man2html - see https://invisible-island.net/scripts/readme.html#others_scripts">
-<TITLE>curs_border_set 3x 2023-11-25 ncurses 6.4 Library calls</TITLE>
+<TITLE>curs_border_set 3x 2024-03-16 ncurses 6.4 Library calls</TITLE>
<link rel="author" href="mailto:bug-ncurses@gnu.org">
</HEAD>
<BODY>
-<H1 class="no-header">curs_border_set 3x 2023-11-25 ncurses 6.4 Library calls</H1>
+<H1 class="no-header">curs_border_set 3x 2024-03-16 ncurses 6.4 Library calls</H1>
<PRE>
<STRONG><A HREF="curs_border_set.3x.html">curs_border_set(3x)</A></STRONG> Library calls <STRONG><A HREF="curs_border_set.3x.html">curs_border_set(3x)</A></STRONG>
-ncurses 6.4 2023-11-25 <STRONG><A HREF="curs_border_set.3x.html">curs_border_set(3x)</A></STRONG>
+ncurses 6.4 2024-03-16 <STRONG><A HREF="curs_border_set.3x.html">curs_border_set(3x)</A></STRONG>
</PRE>
<div class="nav">
<ul>
* sale, use or other dealings in this Software without prior written *
* authorization. *
****************************************************************************
- * @Id: curs_clear.3x,v 1.44 2024/01/05 21:46:58 tom Exp @
+ * @Id: curs_clear.3x,v 1.46 2024/03/16 15:35:01 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-01-05 ncurses 6.4 Library calls</TITLE>
+<TITLE>curs_clear 3x 2024-03-16 ncurses 6.4 Library calls</TITLE>
<link rel="author" href="mailto:bug-ncurses@gnu.org">
</HEAD>
<BODY>
-<H1 class="no-header">curs_clear 3x 2024-01-05 ncurses 6.4 Library calls</H1>
+<H1 class="no-header">curs_clear 3x 2024-03-16 ncurses 6.4 Library calls</H1>
<PRE>
<STRONG><A HREF="curs_clear.3x.html">curs_clear(3x)</A></STRONG> Library calls <STRONG><A HREF="curs_clear.3x.html">curs_clear(3x)</A></STRONG>
-ncurses 6.4 2024-01-05 <STRONG><A HREF="curs_clear.3x.html">curs_clear(3x)</A></STRONG>
+ncurses 6.4 2024-03-16 <STRONG><A HREF="curs_clear.3x.html">curs_clear(3x)</A></STRONG>
</PRE>
<div class="nav">
<ul>
<!--
****************************************************************************
- * 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 *
* sale, use or other dealings in this Software without prior written *
* authorization. *
****************************************************************************
- * @Id: curs_color.3x,v 1.96 2023/12/30 21:20:01 tom Exp @
+ * @Id: curs_color.3x,v 1.98 2024/03/16 15:35:01 tom Exp @
-->
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN">
<HTML>
<HEAD>
<meta http-equiv="Content-Type" content="text/html; charset=us-ascii">
<meta name="generator" content="Manpage converted by man2html - see https://invisible-island.net/scripts/readme.html#others_scripts">
-<TITLE>curs_color 3x 2023-12-30 ncurses 6.4 Library calls</TITLE>
+<TITLE>curs_color 3x 2024-03-16 ncurses 6.4 Library calls</TITLE>
<link rel="author" href="mailto:bug-ncurses@gnu.org">
</HEAD>
<BODY>
-<H1 class="no-header">curs_color 3x 2023-12-30 ncurses 6.4 Library calls</H1>
+<H1 class="no-header">curs_color 3x 2024-03-16 ncurses 6.4 Library calls</H1>
<PRE>
<STRONG><A HREF="curs_color.3x.html">curs_color(3x)</A></STRONG> Library calls <STRONG><A HREF="curs_color.3x.html">curs_color(3x)</A></STRONG>
-ncurses 6.4 2023-12-30 <STRONG><A HREF="curs_color.3x.html">curs_color(3x)</A></STRONG>
+ncurses 6.4 2024-03-16 <STRONG><A HREF="curs_color.3x.html">curs_color(3x)</A></STRONG>
</PRE>
<div class="nav">
<ul>
<!--
****************************************************************************
- * Copyright 2018-2022,2023 Thomas E. Dickey *
+ * Copyright 2018-2023,2024 Thomas E. Dickey *
* Copyright 1998-2006,2010 Free Software Foundation, Inc. *
* *
* Permission is hereby granted, free of charge, to any person obtaining a *
* sale, use or other dealings in this Software without prior written *
* authorization. *
****************************************************************************
- * @Id: curs_delch.3x,v 1.30 2023/12/16 21:09:11 tom Exp @
+ * @Id: curs_delch.3x,v 1.32 2024/03/16 15:35:01 tom Exp @
-->
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN">
<HTML>
<HEAD>
<meta http-equiv="Content-Type" content="text/html; charset=us-ascii">
<meta name="generator" content="Manpage converted by man2html - see https://invisible-island.net/scripts/readme.html#others_scripts">
-<TITLE>curs_delch 3x 2023-12-16 ncurses 6.4 Library calls</TITLE>
+<TITLE>curs_delch 3x 2024-03-16 ncurses 6.4 Library calls</TITLE>
<link rel="author" href="mailto:bug-ncurses@gnu.org">
</HEAD>
<BODY>
-<H1 class="no-header">curs_delch 3x 2023-12-16 ncurses 6.4 Library calls</H1>
+<H1 class="no-header">curs_delch 3x 2024-03-16 ncurses 6.4 Library calls</H1>
<PRE>
<STRONG><A HREF="curs_delch.3x.html">curs_delch(3x)</A></STRONG> Library calls <STRONG><A HREF="curs_delch.3x.html">curs_delch(3x)</A></STRONG>
-ncurses 6.4 2023-12-16 <STRONG><A HREF="curs_delch.3x.html">curs_delch(3x)</A></STRONG>
+ncurses 6.4 2024-03-16 <STRONG><A HREF="curs_delch.3x.html">curs_delch(3x)</A></STRONG>
</PRE>
<div class="nav">
<ul>
<!--
****************************************************************************
- * Copyright 2018-2022,2023 Thomas E. Dickey *
+ * Copyright 2018-2023,2024 Thomas E. Dickey *
* Copyright 1998-2007,2010 Free Software Foundation, Inc. *
* *
* Permission is hereby granted, free of charge, to any person obtaining a *
* sale, use or other dealings in this Software without prior written *
* authorization. *
****************************************************************************
- * @Id: curs_deleteln.3x,v 1.34 2023/12/16 21:33:34 tom Exp @
+ * @Id: curs_deleteln.3x,v 1.36 2024/03/16 15:35:01 tom Exp @
-->
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN">
<HTML>
<HEAD>
<meta http-equiv="Content-Type" content="text/html; charset=us-ascii">
<meta name="generator" content="Manpage converted by man2html - see https://invisible-island.net/scripts/readme.html#others_scripts">
-<TITLE>curs_deleteln 3x 2023-12-16 ncurses 6.4 Library calls</TITLE>
+<TITLE>curs_deleteln 3x 2024-03-16 ncurses 6.4 Library calls</TITLE>
<link rel="author" href="mailto:bug-ncurses@gnu.org">
</HEAD>
<BODY>
-<H1 class="no-header">curs_deleteln 3x 2023-12-16 ncurses 6.4 Library calls</H1>
+<H1 class="no-header">curs_deleteln 3x 2024-03-16 ncurses 6.4 Library calls</H1>
<PRE>
<STRONG><A HREF="curs_deleteln.3x.html">curs_deleteln(3x)</A></STRONG> Library calls <STRONG><A HREF="curs_deleteln.3x.html">curs_deleteln(3x)</A></STRONG>
-ncurses 6.4 2023-12-16 <STRONG><A HREF="curs_deleteln.3x.html">curs_deleteln(3x)</A></STRONG>
+ncurses 6.4 2024-03-16 <STRONG><A HREF="curs_deleteln.3x.html">curs_deleteln(3x)</A></STRONG>
</PRE>
<div class="nav">
<ul>
<!--
****************************************************************************
- * Copyright 2018-2022,2023 Thomas E. Dickey *
+ * Copyright 2018-2023,2024 Thomas E. Dickey *
* Copyright 1999-2010,2016 Free Software Foundation, Inc. *
* *
* Permission is hereby granted, free of charge, to any person obtaining a *
* authorization. *
****************************************************************************
* Author: Thomas E. Dickey 1999-on
- * @Id: curs_extend.3x,v 1.44 2023/12/23 16:36:18 tom Exp @
+ * @Id: curs_extend.3x,v 1.46 2024/03/16 15:35:01 tom Exp @
-->
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN">
<HTML>
<HEAD>
<meta http-equiv="Content-Type" content="text/html; charset=us-ascii">
<meta name="generator" content="Manpage converted by man2html - see https://invisible-island.net/scripts/readme.html#others_scripts">
-<TITLE>curs_extend 3x 2023-12-23 ncurses 6.4 Library calls</TITLE>
+<TITLE>curs_extend 3x 2024-03-16 ncurses 6.4 Library calls</TITLE>
<link rel="author" href="mailto:bug-ncurses@gnu.org">
</HEAD>
<BODY>
-<H1 class="no-header">curs_extend 3x 2023-12-23 ncurses 6.4 Library calls</H1>
+<H1 class="no-header">curs_extend 3x 2024-03-16 ncurses 6.4 Library calls</H1>
<PRE>
<STRONG><A HREF="curs_extend.3x.html">curs_extend(3x)</A></STRONG> Library calls <STRONG><A HREF="curs_extend.3x.html">curs_extend(3x)</A></STRONG>
-ncurses 6.4 2023-12-23 <STRONG><A HREF="curs_extend.3x.html">curs_extend(3x)</A></STRONG>
+ncurses 6.4 2024-03-16 <STRONG><A HREF="curs_extend.3x.html">curs_extend(3x)</A></STRONG>
</PRE>
<div class="nav">
<ul>
<!--
****************************************************************************
- * Copyright 2018-2022,2023 Thomas E. Dickey *
+ * Copyright 2018-2023,2024 Thomas E. Dickey *
* Copyright 2002-2016,2017 Free Software Foundation, Inc. *
* *
* Permission is hereby granted, free of charge, to any person obtaining a *
* sale, use or other dealings in this Software without prior written *
* authorization. *
****************************************************************************
- * @Id: curs_get_wch.3x,v 1.31 2023/12/23 16:35:10 tom Exp @
+ * @Id: curs_get_wch.3x,v 1.36 2024/03/23 20:00: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 2023-12-23 ncurses 6.4 Library calls</TITLE>
+<TITLE>curs_get_wch 3x 2024-03-23 ncurses 6.4 Library calls</TITLE>
<link rel="author" href="mailto:bug-ncurses@gnu.org">
</HEAD>
<BODY>
-<H1 class="no-header">curs_get_wch 3x 2023-12-23 ncurses 6.4 Library calls</H1>
+<H1 class="no-header">curs_get_wch 3x 2024-03-23 ncurses 6.4 Library calls</H1>
<PRE>
<STRONG><A HREF="curs_get_wch.3x.html">curs_get_wch(3x)</A></STRONG> Library calls <STRONG><A HREF="curs_get_wch.3x.html">curs_get_wch(3x)</A></STRONG>
</PRE><H2><a name="h2-DESCRIPTION">DESCRIPTION</a></H2><PRE>
-</PRE><H3><a name="h3-wget_wch">wget_wch</a></H3><PRE>
- The <STRONG>get_wch</STRONG>, <STRONG>wget_wch</STRONG>, <STRONG>mvget_wch</STRONG>, and <STRONG>mvwget_wch</STRONG> functions read a
- character from the terminal associated with the current or specified
- window. In no-delay mode, if no input is waiting, the value <STRONG>ERR</STRONG> is
- returned. In delay mode, the program waits until the system passes
- text through to the program. Depending on the setting of <STRONG>cbreak</STRONG>, this
- is after one character (cbreak mode), or after the first newline
- (nocbreak mode). In half-delay mode, the program waits until the user
- types a character or the specified timeout interval has elapsed.
-
- Unless <STRONG>noecho</STRONG> has been set, these routines echo the character into the
- designated window.
-
- If the window is not a pad and has been moved or modified since the
- last call to <STRONG>wrefresh</STRONG>, <STRONG>wrefresh</STRONG> will be called before another character
- is read.
-
- If <STRONG>keypad</STRONG> is enabled, these functions respond to the pressing of a
- function key by setting the object pointed to by <EM>wch</EM> to the keycode
- assigned to the function key, and returning <STRONG>KEY_CODE_YES</STRONG>. If a
- character (such as escape) that could be the beginning of a function
- key is received, curses sets a timer. If the remainder of the sequence
- does arrive within the designated time, curses passes through the
- character; otherwise, curses returns the function key value. For this
- reason, many terminals experience a delay between the time a user
- presses the escape key and the time the escape is returned to the
- program.
-
- The keycodes returned by these functions are the same as those returned
- by <STRONG>wgetch</STRONG>:
-
- <STRONG>o</STRONG> The predefined function keys are listed in <STRONG><curses.h></STRONG> as macros
- with values outside the range of 8-bit characters. Their names
- begin with <STRONG>KEY_</STRONG>.
-
- <STRONG>o</STRONG> Other (user-defined) function keys which may be defined using
- <STRONG><A HREF="define_key.3x.html">define_key(3x)</A></STRONG> have no names, but also are expected to have values
- outside the range of 8-bit characters.
-
-
-</PRE><H3><a name="h3-unget_wch">unget_wch</a></H3><PRE>
- The <STRONG>unget_wch</STRONG> function pushes the wide character <EM>wch</EM> back onto the head
- of the input queue, so the wide character is returned by the next call
- to <STRONG>get_wch</STRONG>. The pushback of one character is guaranteed. If the
- program calls <STRONG>unget_wch</STRONG> too many times without an intervening call to
- <STRONG>get_wch</STRONG>, the operation may fail.
-
- Unlike <STRONG>ungetch</STRONG> and <STRONG>wgetch</STRONG>, <STRONG>unget_wch</STRONG> cannot distinguish special
- characters returned by <STRONG>wget_wch</STRONG> from ordinary characters. An
- application can push special keys which it may read via <STRONG>wget_wch</STRONG> by
- checking for the <STRONG>KEY_CODE_YES</STRONG> result, and using <STRONG>ungetch</STRONG> for those
- special keys.
+</PRE><H3><a name="h3-Reading-Characters">Reading Characters</a></H3><PRE>
+ <STRONG>wget_wch</STRONG> gathers a key stroke <EM>wch</EM> from the terminal keyboard associated
+ with a <EM>curses</EM> window <EM>win</EM>, returning <STRONG>OK</STRONG> if a wide character is read,
+ <STRONG>KEY_CODE_YES</STRONG> if a function key is read, and <STRONG>ERR</STRONG> if no key event is
+ available. <STRONG><A HREF="ncurses.3x.html">ncurses(3x)</A></STRONG> describes the variants of this function.
+
+ When input is pending, <STRONG>wget_wch</STRONG> stores an integer identifying the key
+ stroke in <EM>wch</EM>; for alphanumeric and punctuation keys, this value
+ corresponds to the character encoding used by the terminal. Use of the
+ control key as a modifier often results in a distinct code. The
+ behavior of other keys depends on whether <EM>win</EM> is in keypad mode; see
+ subsections "Keypad Mode" and "Predefined Key Codes" in <STRONG><A HREF="curs_getch.3x.html">getch(3x)</A></STRONG>.
+
+ If no input is pending, then if the no-delay flag is set in the window
+ (see <STRONG><A HREF="nodelay.3x.html">nodelay(3x)</A></STRONG>), the function returns <STRONG>ERR</STRONG>; otherwise, <EM>curses</EM> waits
+ until the terminal has input. If <STRONG><A HREF="curs_inopts.3x.html">cbreak(3x)</A></STRONG> has been called, this
+ happens after one character is read. If <STRONG><A HREF="curs_inopts.3x.html">nocbreak(3x)</A></STRONG> has been called,
+ it occurs when the next newline is read. If <STRONG><A HREF="curs_inopts.3x.html">halfdelay(3x)</A></STRONG> has been
+ called, <EM>curses</EM> waits until a character is typed or the specified delay
+ 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
+ <EM>wch</EM> to the window (at the cursor position) per the following rules.
+
+ <STRONG>o</STRONG> If <EM>wch</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>wch</EM> to the window, as with <STRONG><A HREF="curs_add_wch.3x.html">wecho_wchar(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>wch</EM> is a carriage return and <STRONG><A HREF="curs_inopts.3x.html">nl(3x)</A></STRONG> has been called, <STRONG>wgetch</STRONG> stores
+ the the character code for newline (line feed) in <EM>wch</EM> instead.
+
+
+</PRE><H3><a name="h3-Ungetting-Characters">Ungetting Characters</a></H3><PRE>
+ <STRONG>unget_wch</STRONG> places <EM>wch</EM> into the input queue to be returned by the next
+ call to <STRONG>wget_wch</STRONG>. A single input queue serves all windows.
</PRE><H2><a name="h2-RETURN-VALUE">RETURN VALUE</a></H2><PRE>
- When <STRONG>get_wch</STRONG>, <STRONG>wget_wch</STRONG>, <STRONG>mvget_wch</STRONG>, and <STRONG>mvwget_wch</STRONG> functions
- successfully report the pressing of a function key, they return
- <STRONG>KEY_CODE_YES</STRONG>. When they successfully report a wide character, they
- return <STRONG>OK</STRONG>. Otherwise, they return <STRONG>ERR</STRONG>.
+ <STRONG>wget_wch</STRONG> returns <STRONG>OK</STRONG> when it reads a wide character and <STRONG>KEY_CODE_YES</STRONG>
+ when it reads a function key code. It returns <STRONG>ERR</STRONG> if
- Upon successful completion, <STRONG>unget_wch</STRONG> returns <STRONG>OK</STRONG>. Otherwise, the
- function returns <STRONG>ERR</STRONG>.
+ <STRONG>o</STRONG> the <EM>WINDOW</EM> pointer is <STRONG>NULL</STRONG>, or
- 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.
+ <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
+ to <STRONG>EINTR</STRONG>.
-</PRE><H2><a name="h2-NOTES">NOTES</a></H2><PRE>
- Applications should not define the escape key by itself as a single-
- character function.
+ 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.
- When using <STRONG>get_wch</STRONG>, <STRONG>wget_wch</STRONG>, <STRONG>mvget_wch</STRONG>, or <STRONG>mvwget_wch</STRONG>, applications
- should not use <STRONG>nocbreak</STRONG> mode and <STRONG>echo</STRONG> mode at the same time. Depending
- on the state of the tty driver when each character is typed, the
- program may produce undesirable results.
+ <STRONG>unget_wch</STRONG> returns <STRONG>OK</STRONG> on success and <STRONG>ERR</STRONG> if there is no more room in the
+ input queue.
+
+
+</PRE><H2><a name="h2-NOTES">NOTES</a></H2><PRE>
+ See the "NOTES" section of <STRONG><A HREF="curs_getch.3x.html">wgetch(3x)</A></STRONG>.
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
+ 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
+ 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
+ <STRONG>KEY_CODE_YES</STRONG>.
+
+
+</PRE><H2><a name="h2-EXTENSIONS">EXTENSIONS</a></H2><PRE>
+ See the "EXTENSIONS" section of <STRONG><A HREF="curs_getch.3x.html">wgetch(3x)</A></STRONG>.
+
</PRE><H2><a name="h2-PORTABILITY">PORTABILITY</a></H2><PRE>
- These functions are described in the XSI Curses standard, Issue 4.
+ 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
+ error conditions for them.
+
+ 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.
</PRE><H2><a name="h2-SEE-ALSO">SEE ALSO</a></H2><PRE>
- <STRONG><A HREF="ncurses.3x.html">curses(3x)</A></STRONG>, <STRONG><A HREF="curs_getch.3x.html">curs_getch(3x)</A></STRONG>, <STRONG><A HREF="curs_inopts.3x.html">curs_inopts(3x)</A></STRONG>, <STRONG><A HREF="curs_ins_wch.3x.html">curs_ins_wch(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>
+ <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>
+
+ <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.
-ncurses 6.4 2023-12-23 <STRONG><A HREF="curs_get_wch.3x.html">curs_get_wch(3x)</A></STRONG>
+ncurses 6.4 2024-03-23 <STRONG><A HREF="curs_get_wch.3x.html">curs_get_wch(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-wget_wch">wget_wch</a></li>
-<li><a href="#h3-unget_wch">unget_wch</a></li>
+<li><a href="#h3-Reading-Characters">Reading Characters</a></li>
+<li><a href="#h3-Ungetting-Characters">Ungetting Characters</a></li>
</ul>
</li>
<li><a href="#h2-RETURN-VALUE">RETURN VALUE</a></li>
<li><a href="#h2-NOTES">NOTES</a></li>
+<li><a href="#h2-EXTENSIONS">EXTENSIONS</a></li>
<li><a href="#h2-PORTABILITY">PORTABILITY</a></li>
<li><a href="#h2-SEE-ALSO">SEE ALSO</a></li>
</ul>
<!--
****************************************************************************
- * Copyright 2018-2022,2023 Thomas E. Dickey *
+ * Copyright 2018-2023,2024 Thomas E. Dickey *
* Copyright 2002-2012,2017 Free Software Foundation, Inc. *
* *
* Permission is hereby granted, free of charge, to any person obtaining a *
* sale, use or other dealings in this Software without prior written *
* authorization. *
****************************************************************************
- * @Id: curs_get_wstr.3x,v 1.42 2023/12/16 20:32:22 tom Exp @
+ * @Id: curs_get_wstr.3x,v 1.44 2024/03/16 15:35:01 tom Exp @
-->
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN">
<HTML>
<HEAD>
<meta http-equiv="Content-Type" content="text/html; charset=us-ascii">
<meta name="generator" content="Manpage converted by man2html - see https://invisible-island.net/scripts/readme.html#others_scripts">
-<TITLE>curs_get_wstr 3x 2023-12-16 ncurses 6.4 Library calls</TITLE>
+<TITLE>curs_get_wstr 3x 2024-03-16 ncurses 6.4 Library calls</TITLE>
<link rel="author" href="mailto:bug-ncurses@gnu.org">
</HEAD>
<BODY>
-<H1 class="no-header">curs_get_wstr 3x 2023-12-16 ncurses 6.4 Library calls</H1>
+<H1 class="no-header">curs_get_wstr 3x 2024-03-16 ncurses 6.4 Library calls</H1>
<PRE>
<STRONG><A HREF="curs_get_wstr.3x.html">curs_get_wstr(3x)</A></STRONG> Library calls <STRONG><A HREF="curs_get_wstr.3x.html">curs_get_wstr(3x)</A></STRONG>
-ncurses 6.4 2023-12-16 <STRONG><A HREF="curs_get_wstr.3x.html">curs_get_wstr(3x)</A></STRONG>
+ncurses 6.4 2024-03-16 <STRONG><A HREF="curs_get_wstr.3x.html">curs_get_wstr(3x)</A></STRONG>
</PRE>
<div class="nav">
<ul>
<!--
****************************************************************************
- * Copyright 2019-2021,2023 Thomas E. Dickey *
+ * Copyright 2019-2023,2024 Thomas E. Dickey *
* Copyright 2001-2015,2017 Free Software Foundation, Inc. *
* *
* Permission is hereby granted, free of charge, to any person obtaining a *
* sale, use or other dealings in this Software without prior written *
* authorization. *
****************************************************************************
- * @Id: curs_getcchar.3x,v 1.43 2023/12/16 21:07:24 tom Exp @
+ * @Id: curs_getcchar.3x,v 1.45 2024/03/16 15:35:01 tom Exp @
-->
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN">
<HTML>
<HEAD>
<meta http-equiv="Content-Type" content="text/html; charset=us-ascii">
<meta name="generator" content="Manpage converted by man2html - see https://invisible-island.net/scripts/readme.html#others_scripts">
-<TITLE>curs_getcchar 3x 2023-12-16 ncurses 6.4 Library calls</TITLE>
+<TITLE>curs_getcchar 3x 2024-03-16 ncurses 6.4 Library calls</TITLE>
<link rel="author" href="mailto:bug-ncurses@gnu.org">
</HEAD>
<BODY>
-<H1 class="no-header">curs_getcchar 3x 2023-12-16 ncurses 6.4 Library calls</H1>
+<H1 class="no-header">curs_getcchar 3x 2024-03-16 ncurses 6.4 Library calls</H1>
<PRE>
<STRONG><A HREF="curs_getcchar.3x.html">curs_getcchar(3x)</A></STRONG> Library calls <STRONG><A HREF="curs_getcchar.3x.html">curs_getcchar(3x)</A></STRONG>
-ncurses 6.4 2023-12-16 <STRONG><A HREF="curs_getcchar.3x.html">curs_getcchar(3x)</A></STRONG>
+ncurses 6.4 2024-03-16 <STRONG><A HREF="curs_getcchar.3x.html">curs_getcchar(3x)</A></STRONG>
</PRE>
<div class="nav">
<ul>
* sale, use or other dealings in this Software without prior written *
* authorization. *
****************************************************************************
- * @Id: curs_getch.3x,v 1.78 2024/02/17 19:27:03 tom Exp @
+ * @Id: curs_getch.3x,v 1.83 2024/03/23 20:38:57 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-02-17 ncurses 6.4 Library calls</TITLE>
+<TITLE>curs_getch 3x 2024-03-23 ncurses 6.4 Library calls</TITLE>
<link rel="author" href="mailto:bug-ncurses@gnu.org">
</HEAD>
<BODY>
-<H1 class="no-header">curs_getch 3x 2024-02-17 ncurses 6.4 Library calls</H1>
+<H1 class="no-header">curs_getch 3x 2024-03-23 ncurses 6.4 Library calls</H1>
<PRE>
<STRONG><A HREF="curs_getch.3x.html">curs_getch(3x)</A></STRONG> Library calls <STRONG><A HREF="curs_getch.3x.html">curs_getch(3x)</A></STRONG>
</PRE><H2><a name="h2-DESCRIPTION">DESCRIPTION</a></H2><PRE>
</PRE><H3><a name="h3-Reading-Characters">Reading Characters</a></H3><PRE>
- The <STRONG>getch</STRONG>, <STRONG>wgetch</STRONG>, <STRONG>mvgetch</STRONG> and <STRONG>mvwgetch</STRONG>, routines read a character from
- the window. In no-delay mode, if no input is waiting, the value <STRONG>ERR</STRONG> is
- returned. In delay mode, the program waits until the system passes
- text through to the program. Depending on the setting of <STRONG>cbreak</STRONG>, this
- is after one character (cbreak mode), or after the first newline
- (nocbreak mode). In half-delay mode, the program waits until a
- character is typed or the specified timeout has been reached.
+ <STRONG>wgetch</STRONG> gathers a key stroke from the terminal keyboard associated with
+ a <EM>curses</EM> window <EM>win</EM>. <STRONG><A HREF="ncurses.3x.html">ncurses(3x)</A></STRONG> describes the variants of this
+ function.
- If <STRONG>echo</STRONG> is enabled, and the window is not a pad, then the character
- will also be echoed into the designated window according to the
- following rules:
+ When input is pending, <STRONG>wgetch</STRONG> returns an integer identifying the key
+ stroke; for alphanumeric and punctuation keys, this value corresponds
+ to the character encoding used by the terminal. Use of the control key
+ as a modifier often results in a distinct code. The behavior of other
+ keys depends on whether <EM>win</EM> is in keypad mode; see subsection "Keypad
+ Mode" below.
- <STRONG>o</STRONG> If the character is the current erase character, left arrow, or
- backspace, the cursor is moved one space to the left and that
- screen position is erased as if <STRONG>delch</STRONG> had been called.
+ If no input is pending, then if the no-delay flag is set in the window
+ (see <STRONG><A HREF="nodelay.3x.html">nodelay(3x)</A></STRONG>), the function returns <STRONG>ERR</STRONG>; otherwise, <EM>curses</EM> waits
+ until the terminal has input. If <STRONG><A HREF="curs_inopts.3x.html">cbreak(3x)</A></STRONG> has been called, this
+ happens after one character is read. If <STRONG><A HREF="curs_inopts.3x.html">nocbreak(3x)</A></STRONG> has been called,
+ it occurs when the next newline is read. If <STRONG><A HREF="curs_inopts.3x.html">halfdelay(3x)</A></STRONG> has been
+ called, <EM>curses</EM> waits until a character is typed or the specified delay
+ elapses.
- <STRONG>o</STRONG> If the character value is any other <STRONG>KEY_</STRONG> define, the user is
- alerted with a <STRONG>beep</STRONG> call.
+ 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.
- <STRONG>o</STRONG> If the character is a carriage-return, and if <STRONG>nl</STRONG> is enabled, it is
- translated to a line-feed after echoing.
+ <STRONG>o</STRONG> If <EM>ch</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> Otherwise the character is simply output to the screen.
+ <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>.
- If the window is not a pad, and it has been moved or modified since the
- last call to <STRONG>wrefresh</STRONG>, <STRONG>wrefresh</STRONG> will be called before another character
- is read.
+ <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.
-</PRE><H3><a name="h3-Keypad-Mode">Keypad Mode</a></H3><PRE>
- If <STRONG>keypad</STRONG> is <STRONG>TRUE</STRONG>, and a function key is pressed, the token for that
- function key is returned instead of the raw characters:
-
- <STRONG>o</STRONG> The predefined function keys are listed in <STRONG><curses.h></STRONG> as macros
- with values outside the range of 8-bit characters. Their names
- begin with <STRONG>KEY_</STRONG>.
-
- <STRONG>o</STRONG> Other (user-defined) function keys which may be defined using
- <STRONG><A HREF="define_key.3x.html">define_key(3x)</A></STRONG> have no names, but also are expected to have values
- outside the range of 8-bit characters.
-
- Thus, a variable intended to hold the return value of a function key
- must be of short size or larger.
- When a character that could be the beginning of a function key is
- received (which, on modern terminals, means an escape character),
- <STRONG>curses</STRONG> sets a timer. If the remainder of the sequence does not come in
- within the designated time, the character is passed through; otherwise,
- the function key value is returned. For this reason, many terminals
- experience a delay between the time a user presses the escape key and
- the escape is returned to the program.
-
- In <EM>ncurses</EM>, the timer normally expires after the value in <STRONG>ESCDELAY</STRONG> (see
- <STRONG><A HREF="curs_variables.3x.html">curs_variables(3x)</A></STRONG>). If <STRONG>notimeout</STRONG> is <STRONG>TRUE</STRONG>, the timer does not expire;
- it is an infinite (or very large) value. Because function keys usually
- begin with an escape character, the terminal may appear to hang in
- notimeout mode after pressing the escape key until another key is
- pressed.
+</PRE><H3><a name="h3-Keypad-Mode">Keypad Mode</a></H3><PRE>
+ To <EM>curses</EM>, key strokes not from the alphabetic section of the keyboard
+ (those corresponding to the ECMA-6 character set--see
+ <STRONG>ascii(7)</STRONG>--optionally modified by either the control or shift keys) are
+ treated as <EM>function</EM> keys. (In <EM>curses</EM>, the term "function key" includes
+ but is not limited to keycaps engraved with "F1", "PF1", and so on.)
+ If the window is in keypad mode, these produce a numeric code
+ corresponding to the <STRONG>KEY_</STRONG> symbols listed in subsection "Predefined Key
+ Codes" below; otherwise, they transmit a sequence of codes typically
+ starting with the escape character, and which must be collected with
+ multiple <STRONG>wgetch</STRONG> calls.
+
+ <STRONG>o</STRONG> The <EM>curses.h</EM> header file declares many <EM>predefined</EM> <EM>function</EM> <EM>keys</EM>
+ whose names begin with <STRONG>KEY_</STRONG>; these object-like macros have values
+ outside the range of eight-bit character codes.
+
+ <STRONG>o</STRONG> In <EM>ncurses</EM>, <EM>user-defined</EM> <EM>function</EM> <EM>keys</EM> are configured with
+ <STRONG><A HREF="define_key.3x.html">define_key(3x)</A></STRONG>; they have no names, but are also expected to have
+ values outside the range of eight-bit codes.
+
+ A variable intended to hold a function key code must thus be of type
+ <EM>short</EM> or larger.
+
+ Most terminals one encounters follow the ECMA-48 standard insofar as
+ their function keys produce character sequences prefixed with the
+ escape character ESC. This fact implies that <EM>curses</EM> cannot know
+ whether the terminal has sent an ESC key stroke or the beginning of a
+ function key's character sequence without waiting to see if, and how
+ soon, further input arrives. When <EM>curses</EM> reads such an ambiguous
+ character, it sets a timer. If the remainder of the sequence does not
+ arrive within the designated time, <STRONG>wgetch</STRONG> returns the prefix character;
+ otherwise, it returns the function key code corresponding to the unique
+ sequence defined by the terminal. Consequently, a user of a <EM>curses</EM>
+ application may experience a delay after pressing ESC while <EM>curses</EM>
+ disambiguates the input. See section "EXTENSIONS" below. If the
+ window is in "no time-out" mode, the timer does not expire; it is an
+ infinite (or very large) value. See <STRONG><A HREF="notimeout.3x.html">notimeout(3x)</A></STRONG>. Because function
+ key sequences usually begin with an escape character, the terminal may
+ appear to hang in no time-out mode after the user has pressed ESC.
+ Generally, further typing "awakens" <EM>curses</EM>.
</PRE><H3><a name="h3-Ungetting-Characters">Ungetting Characters</a></H3><PRE>
- The <STRONG>ungetch</STRONG> routine places <EM>ch</EM> back onto the input queue to be returned
- by the next call to <STRONG>wgetch</STRONG>. There is just one input queue for all
- windows.
+ <STRONG>ungetch</STRONG> places <EM>ch</EM> into the input queue to be returned by the next call
+ to <STRONG>wgetch</STRONG>. A single input queue serves all windows.
</PRE><H3><a name="h3-Predefined-Key-Codes">Predefined Key Codes</a></H3><PRE>
- The following special keys are defined in <STRONG><curses.h></STRONG>.
+ The header file <EM>curses.h</EM> defines the following function key codes.
- <STRONG>o</STRONG> Except for the special case <STRONG>KEY_RESIZE</STRONG>, it is necessary to enable
- <STRONG>keypad</STRONG> for <STRONG>getch</STRONG> to return these codes.
+ <STRONG>o</STRONG> Except for the special case of <STRONG>KEY_RESIZE</STRONG>, a window's keypad mode
+ must be enabled for <STRONG>wgetch</STRONG> to read these codes from it.
- <STRONG>o</STRONG> Not all of these are necessarily supported on any particular
+ <STRONG>o</STRONG> Not all of these are necessarily supported on any particular
terminal.
- <STRONG>o</STRONG> The naming convention may seem obscure, with some apparent
- misspellings (such as "RSUME" for "resume"). The names correspond
- to the long terminfo capability names for the keys, and were
- defined long ago, in the 1980s.
-
- <STRONG>Name</STRONG> <STRONG>Key</STRONG> <STRONG>name</STRONG>
- -------------------------------------------------
- KEY_BREAK Break key
- KEY_DOWN The four arrow keys ...
- KEY_UP
- KEY_LEFT
- KEY_RIGHT
- KEY_HOME Home key (upward+left arrow)
- KEY_BACKSPACE Backspace
- KEY_F0 Function keys; space for 64 keys
- is reserved.
- KEY_F(<EM>n</EM>) For 0 <= <EM>n</EM> <= 63
- KEY_DL Delete line
- KEY_IL Insert line
- KEY_DC Delete character
- KEY_IC Insert char or enter insert mode
- KEY_EIC Exit insert char mode
- KEY_CLEAR Clear screen
- KEY_EOS Clear to end of screen
- KEY_EOL Clear to end of line
- KEY_SF Scroll 1 line forward
- KEY_SR Scroll 1 line backward (reverse)
- KEY_NPAGE Next page
- KEY_PPAGE Previous page
- KEY_STAB Set tab
- KEY_CTAB Clear tab
- KEY_CATAB Clear all tabs
- KEY_ENTER Enter or send
- KEY_SRESET Soft (partial) reset
- KEY_RESET Reset or hard reset
- KEY_PRINT Print or copy
-
- KEY_LL Home down or bottom (lower left)
- KEY_A1 Upper left of keypad
- KEY_A3 Upper right of keypad
- KEY_B2 Center of keypad
- KEY_C1 Lower left of keypad
- KEY_C3 Lower right of keypad
- KEY_BTAB Back tab key
- KEY_BEG Beg(inning) key
- KEY_CANCEL Cancel key
- KEY_CLOSE Close key
- KEY_COMMAND Cmd (command) key
- KEY_COPY Copy key
- KEY_CREATE Create key
- KEY_END End key
- KEY_EXIT Exit key
- KEY_FIND Find key
- KEY_HELP Help key
- KEY_MARK Mark key
- KEY_MESSAGE Message key
- KEY_MOUSE Mouse event occurred
- KEY_MOVE Move key
- KEY_NEXT Next object key
- KEY_OPEN Open key
- KEY_OPTIONS Options key
- KEY_PREVIOUS Previous object key
- KEY_REDO Redo key
- KEY_REFERENCE Ref(erence) key
- KEY_REFRESH Refresh key
- KEY_REPLACE Replace key
- KEY_RESIZE Screen resized
- KEY_RESTART Restart key
- KEY_RESUME Resume key
- KEY_SAVE Save key
- KEY_SBEG Shifted beginning key
- KEY_SCANCEL Shifted cancel key
- KEY_SCOMMAND Shifted command key
- KEY_SCOPY Shifted copy key
- KEY_SCREATE Shifted create key
- KEY_SDC Shifted delete char key
- KEY_SDL Shifted delete line key
- KEY_SELECT Select key
- KEY_SEND Shifted end key
- KEY_SEOL Shifted clear line key
- KEY_SEXIT Shifted exit key
- KEY_SFIND Shifted find key
- KEY_SHELP Shifted help key
- KEY_SHOME Shifted home key
- KEY_SIC Shifted insert key
- KEY_SLEFT Shifted left arrow key
- KEY_SMESSAGE Shifted message key
- KEY_SMOVE Shifted move key
- KEY_SNEXT Shifted next key
- KEY_SOPTIONS Shifted options key
- KEY_SPREVIOUS Shifted prev key
- KEY_SPRINT Shifted print key
- KEY_SREDO Shifted redo key
- KEY_SREPLACE Shifted replace key
- KEY_SRIGHT Shifted right arrow key
- KEY_SRSUME Shifted resume key
- KEY_SSAVE Shifted save key
- KEY_SSUSPEND Shifted suspend key
- KEY_SUNDO Shifted undo key
- KEY_SUSPEND Suspend key
- KEY_UNDO Undo key
-
- Keypad is arranged like this:
-
- +-----+------+-------+
- | <STRONG>A1</STRONG> | <STRONG>up</STRONG> | <STRONG>A3</STRONG> |
- +-----+------+-------+
- |<STRONG>left</STRONG> | <STRONG>B2</STRONG> | <STRONG>right</STRONG> |
- +-----+------+-------+
- | <STRONG>C1</STRONG> | <STRONG>down</STRONG> | <STRONG>C3</STRONG> |
- +-----+------+-------+
- A few of these predefined values do <EM>not</EM> correspond to a real key:
-
- <STRONG>o</STRONG> <STRONG>KEY_RESIZE</STRONG> is returned when the <STRONG>SIGWINCH</STRONG> signal has been detected
- (see <STRONG><A HREF="curs_initscr.3x.html">initscr(3x)</A></STRONG> and <STRONG><A HREF="resizeterm.3x.html">resizeterm(3x)</A></STRONG>). This code is returned
- whether or not <STRONG>keypad</STRONG> has been enabled.
-
- <STRONG>o</STRONG> <STRONG>KEY_MOUSE</STRONG> is returned for mouse-events (see <STRONG><A HREF="curs_mouse.3x.html">curs_mouse(3x)</A></STRONG>). This
- code relies upon whether or not <STRONG><A HREF="curs_inopts.3x.html">keypad(3x)</A></STRONG> has been enabled,
- because (e.g., with <STRONG>xterm(1)</STRONG> mouse prototocol) <EM>ncurses</EM> must read
- escape sequences, just like a function key.
+ <STRONG>o</STRONG> The naming convention may seem obscure, with some apparent
+ misspellings (such as "RSUME" for "resume"); The names correspond
+ to the <EM>terminfo</EM> capability names for the keys, and were
+ standardized before the IBM PC/AT keyboard layout achieved a
+ dominant position in industry.
+
+ <STRONG>Symbol</STRONG> <STRONG>Key</STRONG> <STRONG>name</STRONG>
+ -----------------------------------------------------------------
+ <STRONG>KEY_BREAK</STRONG> Break key
+ <STRONG>KEY_DOWN</STRONG>
+ <STRONG>KEY_UP</STRONG> Arrow keys
+ <STRONG>KEY_LEFT</STRONG>
+ <STRONG>KEY_RIGHT</STRONG>
+ <STRONG>KEY_HOME</STRONG> Home key (upward+left arrow)
+ <STRONG>KEY_BACKSPACE</STRONG> Backspace
+ <STRONG>KEY_F0</STRONG> Function keys; space for 64 keys is reserved
+ <STRONG>KEY_F(</STRONG><EM>n</EM><STRONG>)</STRONG> Function key <EM>n</EM> where 0 <= <EM>n</EM> <= 63
+
+ <STRONG>KEY_DL</STRONG> Delete line
+ <STRONG>KEY_IL</STRONG> Insert line
+ <STRONG>KEY_DC</STRONG> Delete character
+ <STRONG>KEY_IC</STRONG> Insert character/Enter insert mode
+ <STRONG>KEY_EIC</STRONG> Exit insert character mode
+ <STRONG>KEY_CLEAR</STRONG> Clear screen
+ <STRONG>KEY_EOS</STRONG> Clear to end of screen
+ <STRONG>KEY_EOL</STRONG> Clear to end of line
+ <STRONG>KEY_SF</STRONG> Scroll one line forward
+ <STRONG>KEY_SR</STRONG> Scroll one line backward (reverse)
+ <STRONG>KEY_NPAGE</STRONG> Next page/Page up
+ <STRONG>KEY_PPAGE</STRONG> Previous page/Page down
+ <STRONG>KEY_STAB</STRONG> Set tab
+ <STRONG>KEY_CTAB</STRONG> Clear tab
+ <STRONG>KEY_CATAB</STRONG> Clear all tabs
+ <STRONG>KEY_ENTER</STRONG> Enter/Send
+ <STRONG>KEY_SRESET</STRONG> Soft (partial) reset
+ <STRONG>KEY_RESET</STRONG> (Hard) reset
+ <STRONG>KEY_PRINT</STRONG> Print/Copy
+ <STRONG>KEY_LL</STRONG> Home down/Bottom (lower left)
+ <STRONG>KEY_A1</STRONG> Upper left of keypad
+ <STRONG>KEY_A3</STRONG> Upper right of keypad
+ <STRONG>KEY_B2</STRONG> Center of keypad
+ <STRONG>KEY_C1</STRONG> Lower left of keypad
+ <STRONG>KEY_C3</STRONG> Lower right of keypad
+ <STRONG>KEY_BTAB</STRONG> Back tab key
+ <STRONG>KEY_BEG</STRONG> Beg(inning) key
+ <STRONG>KEY_CANCEL</STRONG> Cancel key
+ <STRONG>KEY_CLOSE</STRONG> Close key
+ <STRONG>KEY_COMMAND</STRONG> Cmd (command) key
+ <STRONG>KEY_COPY</STRONG> Copy key
+ <STRONG>KEY_CREATE</STRONG> Create key
+ <STRONG>KEY_END</STRONG> End key
+ <STRONG>KEY_EXIT</STRONG> Exit key
+ <STRONG>KEY_FIND</STRONG> Find key
+ <STRONG>KEY_HELP</STRONG> Help key
+ <STRONG>KEY_MARK</STRONG> Mark key
+ <STRONG>KEY_MESSAGE</STRONG> Message key
+ <STRONG>KEY_MOUSE</STRONG> Mouse event occurred
+ <STRONG>KEY_MOVE</STRONG> Move key
+ <STRONG>KEY_NEXT</STRONG> Next object key
+ <STRONG>KEY_OPEN</STRONG> Open key
+ <STRONG>KEY_OPTIONS</STRONG> Options key
+ <STRONG>KEY_PREVIOUS</STRONG> Previous object key
+ <STRONG>KEY_REDO</STRONG> Redo key
+ <STRONG>KEY_REFERENCE</STRONG> Ref(erence) key
+ <STRONG>KEY_REFRESH</STRONG> Refresh key
+ <STRONG>KEY_REPLACE</STRONG> Replace key
+ <STRONG>KEY_RESIZE</STRONG> Screen resized
+ <STRONG>KEY_RESTART</STRONG> Restart key
+ <STRONG>KEY_RESUME</STRONG> Resume key
+ <STRONG>KEY_SAVE</STRONG> Save key
+ <STRONG>KEY_SELECT</STRONG> Select key
+ <STRONG>KEY_SUSPEND</STRONG> Suspend key
+ <STRONG>KEY_UNDO</STRONG> Undo key
+ -----------------------------------------------------------------
+ <STRONG>KEY_SBEG</STRONG> Shifted beginning key
+ <STRONG>KEY_SCANCEL</STRONG> Shifted cancel key
+ <STRONG>KEY_SCOMMAND</STRONG> Shifted command key
+ <STRONG>KEY_SCOPY</STRONG> Shifted copy key
+ <STRONG>KEY_SCREATE</STRONG> Shifted create key
+ <STRONG>KEY_SDC</STRONG> Shifted delete character key
+ <STRONG>KEY_SDL</STRONG> Shifted delete line key
+ <STRONG>KEY_SEND</STRONG> Shifted end key
+ <STRONG>KEY_SEOL</STRONG> Shifted clear line key
+
+ <STRONG>KEY_SEXIT</STRONG> Shifted exit key
+ <STRONG>KEY_SFIND</STRONG> Shifted find key
+ <STRONG>KEY_SHELP</STRONG> Shifted help key
+ <STRONG>KEY_SHOME</STRONG> Shifted home key
+ <STRONG>KEY_SIC</STRONG> Shifted insert key
+ <STRONG>KEY_SLEFT</STRONG> Shifted left arrow key
+ <STRONG>KEY_SMESSAGE</STRONG> Shifted message key
+ <STRONG>KEY_SMOVE</STRONG> Shifted move key
+ <STRONG>KEY_SNEXT</STRONG> Shifted next object key
+ <STRONG>KEY_SOPTIONS</STRONG> Shifted options key
+ <STRONG>KEY_SPREVIOUS</STRONG> Shifted previous object key
+ <STRONG>KEY_SPRINT</STRONG> Shifted print key
+ <STRONG>KEY_SREDO</STRONG> Shifted redo key
+ <STRONG>KEY_SREPLACE</STRONG> Shifted replace key
+ <STRONG>KEY_SRIGHT</STRONG> Shifted right arrow key
+ <STRONG>KEY_SRSUME</STRONG> Shifted resume key
+ <STRONG>KEY_SSAVE</STRONG> Shifted save key
+ <STRONG>KEY_SSUSPEND</STRONG> Shifted suspend key
+ <STRONG>KEY_SUNDO</STRONG> Shifted undo key
+
+ The keypad is arranged as follows.
+
+ +-----+------+-------+
+ | A1 | up | A3 |
+ +-----+------+-------+
+ |left | B2 | right |
+ +-----+------+-------+
+ | C1 | down | C3 |
+ +-----+------+-------+
+ Two of these symbols do <EM>not</EM> correspond to a real 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>
+ and <STRONG><A HREF="resizeterm.3x.html">resizeterm(3x)</A></STRONG>.
+
+ <STRONG>o</STRONG> <STRONG>wgetch</STRONG> returns <STRONG>KEY_MOUSE</STRONG> to indicate that a mouse event is pending
+ collection; see <STRONG><A HREF="curs_mouse.3x.html">curs_mouse(3x)</A></STRONG>. Receipt of this code requires a
+ window's keypad mode to be enabled, because to interpret mouse
+ input (as with 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>
- The <STRONG>has_key</STRONG> routine takes a key-code value from the above list, and
- returns <STRONG>TRUE</STRONG> or <STRONG>FALSE</STRONG> according to whether the current terminal type
- recognizes a key with that value.
-
- The library also supports these extensions:
-
- <STRONG>define_key</STRONG>
- defines a key-code for a given string (see <STRONG><A HREF="define_key.3x.html">define_key(3x)</A></STRONG>).
-
- <STRONG>key_defined</STRONG>
- checks if there is a key-code defined for a given string (see
- <STRONG><A HREF="key_defined.3x.html">key_defined(3x)</A></STRONG>).
+ 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>.
</PRE><H2><a name="h2-RETURN-VALUE">RETURN VALUE</a></H2><PRE>
- All routines return the integer <STRONG>ERR</STRONG> upon failure and an integer value
- other than <STRONG>ERR</STRONG> (<STRONG>OK</STRONG> in the case of <STRONG>ungetch</STRONG>) upon successful completion.
+ <STRONG>wgetch</STRONG> returns <STRONG>ERR</STRONG> if
- <STRONG>ungetch</STRONG>
- returns <STRONG>ERR</STRONG> if there is no more room in the FIFO.
+ <STRONG>o</STRONG> the <EM>WINDOW</EM> pointer is <STRONG>NULL</STRONG>, or
- <STRONG>wgetch</STRONG>
- returns <STRONG>ERR</STRONG>
+ <STRONG>o</STRONG> its timeout expires without any data arriving, or
- <STRONG>o</STRONG> if the window pointer is null, or
+ <STRONG>o</STRONG> execution was interrupted by a signal, in which case <STRONG>errno</STRONG> is set
+ to <STRONG>EINTR</STRONG>.
- <STRONG>o</STRONG> if its timeout expires without having any data, or
+ 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>o</STRONG> if the execution was interrupted by a signal (<STRONG>errno</STRONG> will be
- set to <STRONG>EINTR</STRONG>).
+ <STRONG>ungetch</STRONG> returns <STRONG>OK</STRONG> on success and <STRONG>ERR</STRONG> if there is no more room in the
+ input queue.
- 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.
+ <STRONG>has_key</STRONG> returns <STRONG>TRUE</STRONG> or <STRONG>FALSE</STRONG>.
</PRE><H2><a name="h2-NOTES">NOTES</a></H2><PRE>
- Use of the escape key by a programmer for a single character function
- is discouraged, as it will cause a delay of up to one second while the
- keypad code looks for a following function-key sequence.
+ <EM>curses</EM> discourages assignment of the ESC key to a discrete function by
+ the programmer because the library requires a delay while it awaits the
+ potential remainder of a terminal escape sequence.
- Some keys may be the same as commonly used control keys, e.g.,
- <STRONG>KEY_ENTER</STRONG> versus control/M, <STRONG>KEY_BACKSPACE</STRONG> versus control/H. Some
- curses implementations may differ according to whether they treat these
- control keys specially (and ignore the terminfo), or use the terminfo
- definitions. <EM>ncurses</EM> uses the terminfo definition. If it says that
- <STRONG>KEY_ENTER</STRONG> is control/M, <STRONG>getch</STRONG> will return <STRONG>KEY_ENTER</STRONG> when you press
- control/M.
+ Some key strokes are indistinguishable from control characters; for
+ example, <STRONG>KEY_ENTER</STRONG> may be the same as <STRONG>^M</STRONG>, and <STRONG>KEY_BACKSPACE</STRONG> may be the
+ same as <STRONG>^H</STRONG> or <STRONG>^?</STRONG>. Consult the terminal's <EM>terminfo</EM> entry to determine
+ whether this is the case; see <STRONG><A HREF="infocmp.1m.html">infocmp(1)</A></STRONG>. Some <EM>curses</EM> implementations,
+ including <EM>ncurses</EM>, honor the <EM>terminfo</EM> key definitions; others treat
+ such control characters specially.
- Generally, <STRONG>KEY_ENTER</STRONG> denotes the character(s) sent by the <EM>Enter</EM> key on
- the numeric keypad:
+ <EM>curses</EM> distinguishes the Enter keys in the alphabetic and numeric
+ keypad sections of a keyboard because (most) terminals do. <STRONG>KEY_ENTER</STRONG>
+ refers to the key on the (numeric) keypad and, like other function
+ keys, is reliably recognized only if the window's keypad mode is
+ enabled.
- <STRONG>o</STRONG> the terminal description lists the most useful keys,
+ <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>Enter</EM> key on the regular keyboard is already handled by the
- standard ASCII characters for carriage-return and line-feed,
+ <STRONG>o</STRONG> "Enter or send" is X/Open Curses's description of this key.
- <STRONG>o</STRONG> depending on whether <STRONG>nl</STRONG> or <STRONG>nonl</STRONG> was called, pressing "Enter" on the
- regular keyboard may return either a carriage-return or line-feed,
- and finally
+ <EM>curses</EM> treats the Enter or Return key in the <EM>alphabetic</EM> section of the
+ keyboard differently.
- <STRONG>o</STRONG> "Enter or send" is the standard description for this key.
+ <STRONG>o</STRONG> It usually produces a control code for carriage return (<STRONG>^M</STRONG>) or line
+ feed (<STRONG>^J</STRONG>).
- When using <STRONG>getch</STRONG>, <STRONG>wgetch</STRONG>, <STRONG>mvgetch</STRONG>, or <STRONG>mvwgetch</STRONG>, nocbreak mode
- (<STRONG>nocbreak</STRONG>) and echo mode (<STRONG>echo</STRONG>) should not be used at the same time.
- Depending on the state of the tty driver when each character is typed,
- the program may produce undesirable results.
+ <STRONG>o</STRONG> Depending on the terminal mode (raw, cbreak, or "cooked"), and
+ whether <STRONG><A HREF="curs_inopts.3x.html">nl(3x)</A></STRONG> or <STRONG><A HREF="curs_inopts.3x.html">nonl(3x)</A></STRONG> has been called, <STRONG>wgetch</STRONG> may return
+ either a carriage return or line feed upon an Enter or Return key
+ stroke.
- Note that <STRONG>getch</STRONG>, <STRONG>mvgetch</STRONG>, and <STRONG>mvwgetch</STRONG> may be macros.
+ Use of <STRONG>wgetch</STRONG> with <STRONG><A HREF="curs_inopts.3x.html">echo(3x)</A></STRONG> and neither <STRONG><A HREF="curs_inopts.3x.html">cbreak(3x)</A></STRONG> nor <STRONG><A HREF="curs_inopts.3x.html">raw(3x)</A></STRONG> is not
+ well-defined.
- Historically, the set of keypad macros was largely defined by the
- extremely function-key-rich keyboard of the AT&T 7300, aka 3B1, aka
- Safari 4. Modern personal computers usually have only a small subset
- of these. IBM PC-style consoles typically support little more than
- <STRONG>KEY_UP</STRONG>, <STRONG>KEY_DOWN</STRONG>, <STRONG>KEY_LEFT</STRONG>, <STRONG>KEY_RIGHT</STRONG>, <STRONG>KEY_HOME</STRONG>, <STRONG>KEY_END</STRONG>, <STRONG>KEY_NPAGE</STRONG>,
- <STRONG>KEY_PPAGE</STRONG>, and function keys 1 through 12. The Ins key is usually
- mapped to <STRONG>KEY_IC</STRONG>.
+ 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
+ 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>
+ (Delete), and <STRONG>KEY_F(</STRONG><EM>n</EM><STRONG>)</STRONG> for 1 <= <EM>n</EM> <= 12.
+
+ <STRONG>getch</STRONG>, <STRONG>mvgetch</STRONG>, and <STRONG>mvwgetch</STRONG> may be implemented as macros.
</PRE><H2><a name="h2-EXTENSIONS">EXTENSIONS</a></H2><PRE>
+ In <EM>ncurses</EM>, when a window's "no time-out" mode is <EM>not</EM> set, the <STRONG>ESCDELAY</STRONG>
+ variable configures the duration of the timer used to disambiguate a
+ function key character sequence from a series of key strokes beginning
+ with ESC typed by the user; see <STRONG><A HREF="curs_variables.3x.html">curs_variables(3x)</A></STRONG>.
+
<STRONG>has_key</STRONG> was designed for <STRONG><A HREF="ncurses.3x.html">ncurses(3x)</A></STRONG>, and is not found in SVr4 <EM>curses</EM>,
4.4BSD <EM>curses</EM>, or any other previous curses implementation.
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, Version 2, describes <STRONG>getch</STRONG>, <STRONG>wgetch</STRONG>, <STRONG>mvgetch</STRONG>,
- <STRONG>mvwgetch</STRONG>, and <STRONG>ungetch</STRONG>. They read single-byte characters only. The
- standard specifies that they return <STRONG>ERR</STRONG> on failure, but describes no
- failure conditions.
+ 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 echo behavior of these functions on input of <STRONG>KEY_</STRONG> or backspace
characters was not specified in the SVr4 documentation. This
description is adapted from X/Open Curses.
- The behavior of <STRONG>getch</STRONG> and friends in the presence of signal handlers is
- unspecified in the SVr4 documentation and X/Open Curses. Under
- historical curses 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 timeout or non-blocking mode has been set.
+ 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
+ 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
+ <STRONG>wgetch</STRONG> and causes it to return <STRONG>ERR</STRONG> with <STRONG>errno</STRONG> set to <STRONG>EINTR</STRONG>.
<STRONG>KEY_MOUSE</STRONG> is mentioned in X/Open Curses, along with a few related <EM>term-</EM>
- <EM>info</EM> capabilities, but no higher-level functions use the feature. The
+ <EM>info</EM> capabilities, but no higher-level functions use the feature. The
implementation in <EM>ncurses</EM> is an extension.
- <STRONG>KEY_RESIZE</STRONG> is an extension first implemented for <EM>ncurses.</EM> NetBSD
- <EM>curses</EM> later added this extension.
+ <STRONG>KEY_RESIZE</STRONG> and <STRONG>has_key</STRONG> are extensions first implemented for <EM>ncurses</EM>.
+ By 2022, <EM>PDCurses</EM> and NetBSD <EM>curses</EM> had added them along with
+ <STRONG>KEY_MOUSE</STRONG>.
- Programmers concerned about portability should be prepared for either
- of two cases: (a) signal receipt does not interrupt <STRONG>getch</STRONG>; (b) signal
- receipt interrupts <STRONG>getch</STRONG> and causes it to return <STRONG>ERR</STRONG> with <STRONG>errno</STRONG> set to
- <STRONG>EINTR</STRONG>.
- The <STRONG>has_key</STRONG> function is unique to <EM>ncurses</EM>. We recommend that any code
- using it be conditionalized on the <STRONG>NCURSES_VERSION</STRONG> feature macro.
+</PRE><H2><a name="h2-SEE-ALSO">SEE ALSO</a></H2><PRE>
+ <STRONG><A HREF="ncurses.3x.html">curses(3x)</A></STRONG>, <STRONG><A HREF="curs_addch.3x.html">curs_addch(3x)</A></STRONG>, <STRONG><A HREF="curs_inopts.3x.html">curs_inopts(3x)</A></STRONG>, <STRONG><A HREF="curs_mouse.3x.html">curs_mouse(3x)</A></STRONG>,
+ <STRONG><A HREF="curs_move.3x.html">curs_move(3x)</A></STRONG>, <STRONG><A HREF="curs_outopts.3x.html">curs_outopts(3x)</A></STRONG>, <STRONG><A HREF="curs_refresh.3x.html">curs_refresh(3x)</A></STRONG>, <STRONG><A HREF="curs_variables.3x.html">curs_variables(3x)</A></STRONG>,
+ <STRONG><A HREF="resizeterm.3x.html">resizeterm(3x)</A></STRONG>, <STRONG>ascii(7)</STRONG>
+ <STRONG><A HREF="curs_get_wch.3x.html">curs_get_wch(3x)</A></STRONG> describes comparable functions of the <EM>ncurses</EM> library
+ in its wide-character configuration (<EM>ncursesw</EM>).
-</PRE><H2><a name="h2-SEE-ALSO">SEE ALSO</a></H2><PRE>
- <STRONG><A HREF="ncurses.3x.html">curses(3x)</A></STRONG>, <STRONG><A HREF="curs_inopts.3x.html">curs_inopts(3x)</A></STRONG>, <STRONG><A HREF="curs_mouse.3x.html">curs_mouse(3x)</A></STRONG>, <STRONG><A HREF="curs_move.3x.html">curs_move(3x)</A></STRONG>,
- <STRONG><A HREF="curs_outopts.3x.html">curs_outopts(3x)</A></STRONG>, <STRONG><A HREF="curs_refresh.3x.html">curs_refresh(3x)</A></STRONG>, <STRONG><A HREF="curs_variables.3x.html">curs_variables(3x)</A></STRONG>, <STRONG><A HREF="resizeterm.3x.html">resizeterm(3x)</A></STRONG>
+ ECMA-6 "7-bit coded Character Set" <https://ecma-international.org/
+ publications-and-standards/standards/ecma-6/>
- Comparable functions in the wide-character (ncursesw) library are
- described in <STRONG><A HREF="curs_get_wch.3x.html">curs_get_wch(3x)</A></STRONG>.
+ ECMA-48 "Control Functions for Coded Character Sets" <https://
+ ecma-international.org/publications-and-standards/standards/ecma-48/>
-ncurses 6.4 2024-02-17 <STRONG><A HREF="curs_getch.3x.html">curs_getch(3x)</A></STRONG>
+ncurses 6.4 2024-03-23 <STRONG><A HREF="curs_getch.3x.html">curs_getch(3x)</A></STRONG>
</PRE>
<div class="nav">
<ul>
<!--
****************************************************************************
- * Copyright 2018-2022,2023 Thomas E. Dickey *
+ * Copyright 2018-2023,2024 Thomas E. Dickey *
* Copyright 1998-2010,2017 Free Software Foundation, Inc. *
* *
* Permission is hereby granted, free of charge, to any person obtaining a *
* sale, use or other dealings in this Software without prior written *
* authorization. *
****************************************************************************
- * @Id: curs_getstr.3x,v 1.52 2023/12/16 20:32:22 tom Exp @
+ * @Id: curs_getstr.3x,v 1.54 2024/03/16 15:35:01 tom Exp @
-->
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN">
<HTML>
<HEAD>
<meta http-equiv="Content-Type" content="text/html; charset=us-ascii">
<meta name="generator" content="Manpage converted by man2html - see https://invisible-island.net/scripts/readme.html#others_scripts">
-<TITLE>curs_getstr 3x 2023-12-16 ncurses 6.4 Library calls</TITLE>
+<TITLE>curs_getstr 3x 2024-03-16 ncurses 6.4 Library calls</TITLE>
<link rel="author" href="mailto:bug-ncurses@gnu.org">
</HEAD>
<BODY>
-<H1 class="no-header">curs_getstr 3x 2023-12-16 ncurses 6.4 Library calls</H1>
+<H1 class="no-header">curs_getstr 3x 2024-03-16 ncurses 6.4 Library calls</H1>
<PRE>
<STRONG><A HREF="curs_getstr.3x.html">curs_getstr(3x)</A></STRONG> Library calls <STRONG><A HREF="curs_getstr.3x.html">curs_getstr(3x)</A></STRONG>
-ncurses 6.4 2023-12-16 <STRONG><A HREF="curs_getstr.3x.html">curs_getstr(3x)</A></STRONG>
+ncurses 6.4 2024-03-16 <STRONG><A HREF="curs_getstr.3x.html">curs_getstr(3x)</A></STRONG>
</PRE>
<div class="nav">
<ul>
<!--
****************************************************************************
- * Copyright 2020-2022,2023 Thomas E. Dickey *
+ * Copyright 2020-2023,2024 Thomas E. Dickey *
* Copyright 1998-2007,2010 Free Software Foundation, Inc. *
* *
* Permission is hereby granted, free of charge, to any person obtaining a *
* sale, use or other dealings in this Software without prior written *
* authorization. *
****************************************************************************
- * @Id: curs_getyx.3x,v 1.40 2023/12/16 21:33:21 tom Exp @
+ * @Id: curs_getyx.3x,v 1.42 2024/03/16 15:35:01 tom Exp @
-->
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN">
<HTML>
<HEAD>
<meta http-equiv="Content-Type" content="text/html; charset=us-ascii">
<meta name="generator" content="Manpage converted by man2html - see https://invisible-island.net/scripts/readme.html#others_scripts">
-<TITLE>curs_getyx 3x 2023-12-16 ncurses 6.4 Library calls</TITLE>
+<TITLE>curs_getyx 3x 2024-03-16 ncurses 6.4 Library calls</TITLE>
<link rel="author" href="mailto:bug-ncurses@gnu.org">
</HEAD>
<BODY>
-<H1 class="no-header">curs_getyx 3x 2023-12-16 ncurses 6.4 Library calls</H1>
+<H1 class="no-header">curs_getyx 3x 2024-03-16 ncurses 6.4 Library calls</H1>
<PRE>
<STRONG><A HREF="curs_getyx.3x.html">curs_getyx(3x)</A></STRONG> Library calls <STRONG><A HREF="curs_getyx.3x.html">curs_getyx(3x)</A></STRONG>
-ncurses 6.4 2023-12-16 <STRONG><A HREF="curs_getyx.3x.html">curs_getyx(3x)</A></STRONG>
+ncurses 6.4 2024-03-16 <STRONG><A HREF="curs_getyx.3x.html">curs_getyx(3x)</A></STRONG>
</PRE>
<div class="nav">
<ul>
<!--
****************************************************************************
- * Copyright 2018-2022,2023 Thomas E. Dickey *
+ * Copyright 2018-2023,2024 Thomas E. Dickey *
* Copyright 2002-2010,2017 Free Software Foundation, Inc. *
* *
* Permission is hereby granted, free of charge, to any person obtaining a *
* sale, use or other dealings in this Software without prior written *
* authorization. *
****************************************************************************
- * @Id: curs_in_wch.3x,v 1.24 2023/11/18 18:00:11 tom Exp @
+ * @Id: curs_in_wch.3x,v 1.26 2024/03/16 15:35:01 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 2023-11-18 ncurses 6.4 Library calls</TITLE>
+<TITLE>curs_in_wch 3x 2024-03-16 ncurses 6.4 Library calls</TITLE>
<link rel="author" href="mailto:bug-ncurses@gnu.org">
</HEAD>
<BODY>
-<H1 class="no-header">curs_in_wch 3x 2023-11-18 ncurses 6.4 Library calls</H1>
+<H1 class="no-header">curs_in_wch 3x 2024-03-16 ncurses 6.4 Library calls</H1>
<PRE>
<STRONG><A HREF="curs_in_wch.3x.html">curs_in_wch(3x)</A></STRONG> Library calls <STRONG><A HREF="curs_in_wch.3x.html">curs_in_wch(3x)</A></STRONG>
-ncurses 6.4 2023-11-18 <STRONG><A HREF="curs_in_wch.3x.html">curs_in_wch(3x)</A></STRONG>
+ncurses 6.4 2024-03-16 <STRONG><A HREF="curs_in_wch.3x.html">curs_in_wch(3x)</A></STRONG>
</PRE>
<div class="nav">
<ul>
<!--
****************************************************************************
- * Copyright 2018-2022,2023 Thomas E. Dickey *
+ * Copyright 2018-2023,2024 Thomas E. Dickey *
* Copyright 2002-2012,2017 Free Software Foundation, Inc. *
* *
* Permission is hereby granted, free of charge, to any person obtaining a *
* sale, use or other dealings in this Software without prior written *
* authorization. *
****************************************************************************
- * @Id: curs_in_wchstr.3x,v 1.32 2023/11/18 20:55:18 tom Exp @
+ * @Id: curs_in_wchstr.3x,v 1.34 2024/03/16 15:35:01 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 2023-11-18 ncurses 6.4 Library calls</TITLE>
+<TITLE>curs_in_wchstr 3x 2024-03-16 ncurses 6.4 Library calls</TITLE>
<link rel="author" href="mailto:bug-ncurses@gnu.org">
</HEAD>
<BODY>
-<H1 class="no-header">curs_in_wchstr 3x 2023-11-18 ncurses 6.4 Library calls</H1>
+<H1 class="no-header">curs_in_wchstr 3x 2024-03-16 ncurses 6.4 Library calls</H1>
<PRE>
<STRONG><A HREF="curs_in_wchstr.3x.html">curs_in_wchstr(3x)</A></STRONG> Library calls <STRONG><A HREF="curs_in_wchstr.3x.html">curs_in_wchstr(3x)</A></STRONG>
-ncurses 6.4 2023-11-18 <STRONG><A HREF="curs_in_wchstr.3x.html">curs_in_wchstr(3x)</A></STRONG>
+ncurses 6.4 2024-03-16 <STRONG><A HREF="curs_in_wchstr.3x.html">curs_in_wchstr(3x)</A></STRONG>
</PRE>
<div class="nav">
<ul>
* sale, use or other dealings in this Software without prior written *
* authorization. *
****************************************************************************
- * @Id: curs_inch.3x,v 1.44 2024/01/13 22:05:39 tom Exp @
+ * @Id: curs_inch.3x,v 1.46 2024/03/16 15:35:01 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-01-13 ncurses 6.4 Library calls</TITLE>
+<TITLE>curs_inch 3x 2024-03-16 ncurses 6.4 Library calls</TITLE>
<link rel="author" href="mailto:bug-ncurses@gnu.org">
</HEAD>
<BODY>
-<H1 class="no-header">curs_inch 3x 2024-01-13 ncurses 6.4 Library calls</H1>
+<H1 class="no-header">curs_inch 3x 2024-03-16 ncurses 6.4 Library calls</H1>
<PRE>
<STRONG><A HREF="curs_inch.3x.html">curs_inch(3x)</A></STRONG> Library calls <STRONG><A HREF="curs_inch.3x.html">curs_inch(3x)</A></STRONG>
-ncurses 6.4 2024-01-13 <STRONG><A HREF="curs_inch.3x.html">curs_inch(3x)</A></STRONG>
+ncurses 6.4 2024-03-16 <STRONG><A HREF="curs_inch.3x.html">curs_inch(3x)</A></STRONG>
</PRE>
<div class="nav">
<ul>
<!--
****************************************************************************
- * Copyright 2018-2022,2023 Thomas E. Dickey *
+ * Copyright 2018-2023,2024 Thomas E. Dickey *
* Copyright 1998-2010,2017 Free Software Foundation, Inc. *
* *
* Permission is hereby granted, free of charge, to any person obtaining a *
* sale, use or other dealings in this Software without prior written *
* authorization. *
****************************************************************************
- * @Id: curs_inchstr.3x,v 1.40 2023/11/19 00:08:58 tom Exp @
+ * @Id: curs_inchstr.3x,v 1.42 2024/03/16 15:35:01 tom Exp @
-->
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN">
<HTML>
<HEAD>
<meta http-equiv="Content-Type" content="text/html; charset=us-ascii">
<meta name="generator" content="Manpage converted by man2html - see https://invisible-island.net/scripts/readme.html#others_scripts">
-<TITLE>curs_inchstr 3x 2023-11-18 ncurses 6.4 Library calls</TITLE>
+<TITLE>curs_inchstr 3x 2024-03-16 ncurses 6.4 Library calls</TITLE>
<link rel="author" href="mailto:bug-ncurses@gnu.org">
</HEAD>
<BODY>
-<H1 class="no-header">curs_inchstr 3x 2023-11-18 ncurses 6.4 Library calls</H1>
+<H1 class="no-header">curs_inchstr 3x 2024-03-16 ncurses 6.4 Library calls</H1>
<PRE>
<STRONG><A HREF="curs_inchstr.3x.html">curs_inchstr(3x)</A></STRONG> Library calls <STRONG><A HREF="curs_inchstr.3x.html">curs_inchstr(3x)</A></STRONG>
-ncurses 6.4 2023-11-18 <STRONG><A HREF="curs_inchstr.3x.html">curs_inchstr(3x)</A></STRONG>
+ncurses 6.4 2024-03-16 <STRONG><A HREF="curs_inchstr.3x.html">curs_inchstr(3x)</A></STRONG>
</PRE>
<div class="nav">
<ul>
* sale, use or other dealings in this Software without prior written *
* authorization. *
****************************************************************************
- * @Id: curs_initscr.3x,v 1.62 2024/02/24 20:03:50 tom Exp @
+ * @Id: curs_initscr.3x,v 1.64 2024/03/16 15:35:01 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-02-24 ncurses 6.4 Library calls</TITLE>
+<TITLE>curs_initscr 3x 2024-03-16 ncurses 6.4 Library calls</TITLE>
<link rel="author" href="mailto:bug-ncurses@gnu.org">
</HEAD>
<BODY>
-<H1 class="no-header">curs_initscr 3x 2024-02-24 ncurses 6.4 Library calls</H1>
+<H1 class="no-header">curs_initscr 3x 2024-03-16 ncurses 6.4 Library calls</H1>
<PRE>
<STRONG><A HREF="curs_initscr.3x.html">curs_initscr(3x)</A></STRONG> Library calls <STRONG><A HREF="curs_initscr.3x.html">curs_initscr(3x)</A></STRONG>
-ncurses 6.4 2024-02-24 <STRONG><A HREF="curs_initscr.3x.html">curs_initscr(3x)</A></STRONG>
+ncurses 6.4 2024-03-16 <STRONG><A HREF="curs_initscr.3x.html">curs_initscr(3x)</A></STRONG>
</PRE>
<div class="nav">
<ul>
<!--
* t
****************************************************************************
- * 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 *
* sale, use or other dealings in this Software without prior written *
* authorization. *
****************************************************************************
- * @Id: curs_inopts.3x,v 1.60 2023/12/23 16:36:18 tom Exp @
+ * @Id: curs_inopts.3x,v 1.64 2024/03/23 20:38:57 tom Exp @
-->
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN">
<HTML>
<HEAD>
<meta http-equiv="Content-Type" content="text/html; charset=us-ascii">
<meta name="generator" content="Manpage converted by man2html - see https://invisible-island.net/scripts/readme.html#others_scripts">
-<TITLE>curs_inopts 3x 2023-12-23 ncurses 6.4 Library calls</TITLE>
+<TITLE>curs_inopts 3x 2024-03-23 ncurses 6.4 Library calls</TITLE>
<link rel="author" href="mailto:bug-ncurses@gnu.org">
</HEAD>
<BODY>
-<H1 class="no-header">curs_inopts 3x 2023-12-23 ncurses 6.4 Library calls</H1>
+<H1 class="no-header">curs_inopts 3x 2024-03-23 ncurses 6.4 Library calls</H1>
<PRE>
<STRONG><A HREF="curs_inopts.3x.html">curs_inopts(3x)</A></STRONG> Library calls <STRONG><A HREF="curs_inopts.3x.html">curs_inopts(3x)</A></STRONG>
this is equivalent, under POSIX, to setting the CS8 flag on the
terminal. To force 7 bits to be returned, invoke <STRONG>meta</STRONG>(<EM>win</EM>, <STRONG>FALSE</STRONG>);
this is equivalent, under POSIX, to setting the CS7 flag on the
- terminal. The window argument, <EM>win,</EM> is always ignored. If the
+ terminal. The window argument, <EM>win</EM>, is always ignored. If the
terminfo capabilities <STRONG>smm</STRONG> (meta_on) and <STRONG>rmm</STRONG> (meta_off) are defined for
the terminal, <STRONG>smm</STRONG> is sent to the terminal when <STRONG>meta</STRONG>(<EM>win</EM>, <STRONG>TRUE</STRONG>) is
called and <STRONG>rmm</STRONG> is sent when <STRONG>meta</STRONG>(<EM>win</EM>, <STRONG>FALSE</STRONG>) is called.
that in raw mode, the interrupt, quit, suspend, and flow control
characters are all passed through uninterpreted, instead of generating
a signal. The behavior of the BREAK key depends on other bits in the
- terminal driver that are not set by <EM>curses.</EM>
+ terminal driver that are not set by <EM>curses</EM>.
</PRE><H3><a name="h3-qiflush_nqiflush">qiflush, nqiflush</a></H3><PRE>
completion, unless otherwise noted in the preceding routine
descriptions.
- X/Open does not define any error conditions. In this implementation,
- functions with a window parameter will return an error if it is null.
- Any function will also return an error if the terminal was not
- initialized. Also,
+ X/Open Curses does not specify any error conditions. In this
+ implementation, functions with a window parameter will return an error
+ if it is null. Any function will also return an error if the terminal
+ was not initialized. Also,
<STRONG>halfdelay</STRONG>
returns an error if its parameter is outside the range 1..255.
Most <EM>curses</EM> implementations (including <EM>ncurses</EM>) load key definitions in
the order defined by the array of string capability names. The last
key to be loaded determines the keycode which will be returned. In
- <EM>ncurses,</EM> you may also have extended capabilities interpreted as key
+ <EM>ncurses</EM>, you may also have extended capabilities interpreted as key
definitions. These are loaded after the predefined keys, and if a
capability's value is the same as a previously-loaded key definition,
the later definition is the one used.
-ncurses 6.4 2023-12-23 <STRONG><A HREF="curs_inopts.3x.html">curs_inopts(3x)</A></STRONG>
+ncurses 6.4 2024-03-23 <STRONG><A HREF="curs_inopts.3x.html">curs_inopts(3x)</A></STRONG>
</PRE>
<div class="nav">
<ul>
<!--
****************************************************************************
- * Copyright 2019-2022,2023 Thomas E. Dickey *
+ * Copyright 2019-2023,2024 Thomas E. Dickey *
* Copyright 2002-2010,2017 Free Software Foundation, Inc. *
* *
* Permission is hereby granted, free of charge, to any person obtaining a *
* sale, use or other dealings in this Software without prior written *
* authorization. *
****************************************************************************
- * @Id: curs_ins_wch.3x,v 1.26 2023/12/23 16:03:24 tom Exp @
+ * @Id: curs_ins_wch.3x,v 1.28 2024/03/16 15:35:01 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 2023-12-23 ncurses 6.4 Library calls</TITLE>
+<TITLE>curs_ins_wch 3x 2024-03-16 ncurses 6.4 Library calls</TITLE>
<link rel="author" href="mailto:bug-ncurses@gnu.org">
</HEAD>
<BODY>
-<H1 class="no-header">curs_ins_wch 3x 2023-12-23 ncurses 6.4 Library calls</H1>
+<H1 class="no-header">curs_ins_wch 3x 2024-03-16 ncurses 6.4 Library calls</H1>
<PRE>
<STRONG><A HREF="curs_ins_wch.3x.html">curs_ins_wch(3x)</A></STRONG> Library calls <STRONG><A HREF="curs_ins_wch.3x.html">curs_ins_wch(3x)</A></STRONG>
-ncurses 6.4 2023-12-23 <STRONG><A HREF="curs_ins_wch.3x.html">curs_ins_wch(3x)</A></STRONG>
+ncurses 6.4 2024-03-16 <STRONG><A HREF="curs_ins_wch.3x.html">curs_ins_wch(3x)</A></STRONG>
</PRE>
<div class="nav">
<ul>
<!--
****************************************************************************
- * Copyright 2019-2022,2023 Thomas E. Dickey *
+ * Copyright 2019-2023,2024 Thomas E. Dickey *
* Copyright 2002-2012,2017 Free Software Foundation, Inc. *
* *
* Permission is hereby granted, free of charge, to any person obtaining a *
* sale, use or other dealings in this Software without prior written *
* authorization. *
****************************************************************************
- * @Id: curs_ins_wstr.3x,v 1.30 2023/12/16 20:36:15 tom Exp @
+ * @Id: curs_ins_wstr.3x,v 1.32 2024/03/16 15:48:54 tom Exp @
-->
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN">
<HTML>
<HEAD>
<meta http-equiv="Content-Type" content="text/html; charset=us-ascii">
<meta name="generator" content="Manpage converted by man2html - see https://invisible-island.net/scripts/readme.html#others_scripts">
-<TITLE>curs_ins_wstr 3x 2023-12-16 ncurses 6.4 Library calls</TITLE>
+<TITLE>curs_ins_wstr 3x 2024-03-16 ncurses 6.4 Library calls</TITLE>
<link rel="author" href="mailto:bug-ncurses@gnu.org">
</HEAD>
<BODY>
-<H1 class="no-header">curs_ins_wstr 3x 2023-12-16 ncurses 6.4 Library calls</H1>
+<H1 class="no-header">curs_ins_wstr 3x 2024-03-16 ncurses 6.4 Library calls</H1>
<PRE>
<STRONG><A HREF="curs_ins_wstr.3x.html">curs_ins_wstr(3x)</A></STRONG> Library calls <STRONG><A HREF="curs_ins_wstr.3x.html">curs_ins_wstr(3x)</A></STRONG>
</PRE><H2><a name="h2-RETURN-VALUE">RETURN VALUE</a></H2><PRE>
All functions return the integer <STRONG>ERR</STRONG> upon failure and <STRONG>OK</STRONG> on success.
- X/Open does not define any error conditions. This implementation
- returns an error
+ X/Open Curses does not specify any error conditions. This
+ implementation returns an error
<STRONG>o</STRONG> if the <EM>win</EM> parameter is null or
-ncurses 6.4 2023-12-16 <STRONG><A HREF="curs_ins_wstr.3x.html">curs_ins_wstr(3x)</A></STRONG>
+ncurses 6.4 2024-03-16 <STRONG><A HREF="curs_ins_wstr.3x.html">curs_ins_wstr(3x)</A></STRONG>
</PRE>
<div class="nav">
<ul>
<!--
****************************************************************************
- * Copyright 2018-2022,2023 Thomas E. Dickey *
+ * Copyright 2018-2023,2024 Thomas E. Dickey *
* Copyright 1998-2010,2017 Free Software Foundation, Inc. *
* *
* Permission is hereby granted, free of charge, to any person obtaining a *
* sale, use or other dealings in this Software without prior written *
* authorization. *
****************************************************************************
- * @Id: curs_insch.3x,v 1.36 2023/12/23 16:03:24 tom Exp @
+ * @Id: curs_insch.3x,v 1.38 2024/03/16 15:35:01 tom Exp @
-->
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN">
<HTML>
<HEAD>
<meta http-equiv="Content-Type" content="text/html; charset=us-ascii">
<meta name="generator" content="Manpage converted by man2html - see https://invisible-island.net/scripts/readme.html#others_scripts">
-<TITLE>curs_insch 3x 2023-12-23 ncurses 6.4 Library calls</TITLE>
+<TITLE>curs_insch 3x 2024-03-16 ncurses 6.4 Library calls</TITLE>
<link rel="author" href="mailto:bug-ncurses@gnu.org">
</HEAD>
<BODY>
-<H1 class="no-header">curs_insch 3x 2023-12-23 ncurses 6.4 Library calls</H1>
+<H1 class="no-header">curs_insch 3x 2024-03-16 ncurses 6.4 Library calls</H1>
<PRE>
<STRONG><A HREF="curs_insch.3x.html">curs_insch(3x)</A></STRONG> Library calls <STRONG><A HREF="curs_insch.3x.html">curs_insch(3x)</A></STRONG>
-ncurses 6.4 2023-12-23 <STRONG><A HREF="curs_insch.3x.html">curs_insch(3x)</A></STRONG>
+ncurses 6.4 2024-03-16 <STRONG><A HREF="curs_insch.3x.html">curs_insch(3x)</A></STRONG>
</PRE>
<div class="nav">
<ul>
<!--
****************************************************************************
- * Copyright 2019-2022,2023 Thomas E. Dickey *
+ * Copyright 2019-2023,2024 Thomas E. Dickey *
* Copyright 1998-2010,2017 Free Software Foundation, Inc. *
* *
* Permission is hereby granted, free of charge, to any person obtaining a *
* sale, use or other dealings in this Software without prior written *
* authorization. *
****************************************************************************
- * @Id: curs_insstr.3x,v 1.46 2023/11/25 11:29:34 tom Exp @
+ * @Id: curs_insstr.3x,v 1.48 2024/03/16 15:49: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 2023-11-25 ncurses 6.4 Library calls</TITLE>
+<TITLE>curs_insstr 3x 2024-03-16 ncurses 6.4 Library calls</TITLE>
<link rel="author" href="mailto:bug-ncurses@gnu.org">
</HEAD>
<BODY>
-<H1 class="no-header">curs_insstr 3x 2023-11-25 ncurses 6.4 Library calls</H1>
+<H1 class="no-header">curs_insstr 3x 2024-03-16 ncurses 6.4 Library calls</H1>
<PRE>
<STRONG><A HREF="curs_insstr.3x.html">curs_insstr(3x)</A></STRONG> Library calls <STRONG><A HREF="curs_insstr.3x.html">curs_insstr(3x)</A></STRONG>
</PRE><H2><a name="h2-RETURN-VALUE">RETURN VALUE</a></H2><PRE>
All functions return the integer <STRONG>ERR</STRONG> upon failure and <STRONG>OK</STRONG> on success.
- X/Open does not define any error conditions. This implementation
- returns an error
+ X/Open Curses does not specify any error conditions. This
+ implementation returns an error
<STRONG>o</STRONG> if the <EM>win</EM> parameter is null or
-ncurses 6.4 2023-11-25 <STRONG><A HREF="curs_insstr.3x.html">curs_insstr(3x)</A></STRONG>
+ncurses 6.4 2024-03-16 <STRONG><A HREF="curs_insstr.3x.html">curs_insstr(3x)</A></STRONG>
</PRE>
<div class="nav">
<ul>
<!--
****************************************************************************
- * Copyright 2018-2022,2023 Thomas E. Dickey *
+ * Copyright 2018-2023,2024 Thomas E. Dickey *
* Copyright 1998-2010,2017 Free Software Foundation, Inc. *
* *
* Permission is hereby granted, free of charge, to any person obtaining a *
* sale, use or other dealings in this Software without prior written *
* authorization. *
****************************************************************************
- * @Id: curs_instr.3x,v 1.44 2023/12/16 20:32:22 tom Exp @
+ * @Id: curs_instr.3x,v 1.46 2024/03/16 15:35:01 tom Exp @
-->
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN">
<HTML>
<HEAD>
<meta http-equiv="Content-Type" content="text/html; charset=us-ascii">
<meta name="generator" content="Manpage converted by man2html - see https://invisible-island.net/scripts/readme.html#others_scripts">
-<TITLE>curs_instr 3x 2023-12-16 ncurses 6.4 Library calls</TITLE>
+<TITLE>curs_instr 3x 2024-03-16 ncurses 6.4 Library calls</TITLE>
<link rel="author" href="mailto:bug-ncurses@gnu.org">
</HEAD>
<BODY>
-<H1 class="no-header">curs_instr 3x 2023-12-16 ncurses 6.4 Library calls</H1>
+<H1 class="no-header">curs_instr 3x 2024-03-16 ncurses 6.4 Library calls</H1>
<PRE>
<STRONG><A HREF="curs_instr.3x.html">curs_instr(3x)</A></STRONG> Library calls <STRONG><A HREF="curs_instr.3x.html">curs_instr(3x)</A></STRONG>
-ncurses 6.4 2023-12-16 <STRONG><A HREF="curs_instr.3x.html">curs_instr(3x)</A></STRONG>
+ncurses 6.4 2024-03-16 <STRONG><A HREF="curs_instr.3x.html">curs_instr(3x)</A></STRONG>
</PRE>
<div class="nav">
<ul>
<!--
****************************************************************************
- * Copyright 2018-2022,2023 Thomas E. Dickey *
+ * Copyright 2018-2023,2024 Thomas E. Dickey *
* Copyright 2002-2012,2017 Free Software Foundation, Inc. *
* *
* Permission is hereby granted, free of charge, to any person obtaining a *
* sale, use or other dealings in this Software without prior written *
* authorization. *
****************************************************************************
- * @Id: curs_inwstr.3x,v 1.36 2023/12/30 21:32:48 tom Exp @
+ * @Id: curs_inwstr.3x,v 1.38 2024/03/16 15:35:01 tom Exp @
-->
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN">
<HTML>
<HEAD>
<meta http-equiv="Content-Type" content="text/html; charset=us-ascii">
<meta name="generator" content="Manpage converted by man2html - see https://invisible-island.net/scripts/readme.html#others_scripts">
-<TITLE>curs_inwstr 3x 2023-12-30 ncurses 6.4 Library calls</TITLE>
+<TITLE>curs_inwstr 3x 2024-03-16 ncurses 6.4 Library calls</TITLE>
<link rel="author" href="mailto:bug-ncurses@gnu.org">
</HEAD>
<BODY>
-<H1 class="no-header">curs_inwstr 3x 2023-12-30 ncurses 6.4 Library calls</H1>
+<H1 class="no-header">curs_inwstr 3x 2024-03-16 ncurses 6.4 Library calls</H1>
<PRE>
<STRONG><A HREF="curs_inwstr.3x.html">curs_inwstr(3x)</A></STRONG> Library calls <STRONG><A HREF="curs_inwstr.3x.html">curs_inwstr(3x)</A></STRONG>
-ncurses 6.4 2023-12-30 <STRONG><A HREF="curs_inwstr.3x.html">curs_inwstr(3x)</A></STRONG>
+ncurses 6.4 2024-03-16 <STRONG><A HREF="curs_inwstr.3x.html">curs_inwstr(3x)</A></STRONG>
</PRE>
<div class="nav">
<ul>
* sale, use or other dealings in this Software without prior written *
* authorization. *
****************************************************************************
- * @Id: curs_kernel.3x,v 1.54 2024/02/24 19:57:34 tom Exp @
+ * @Id: curs_kernel.3x,v 1.56 2024/03/16 15:35:01 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-02-24 ncurses 6.4 Library calls</TITLE>
+<TITLE>curs_kernel 3x 2024-03-16 ncurses 6.4 Library calls</TITLE>
<link rel="author" href="mailto:bug-ncurses@gnu.org">
</HEAD>
<BODY>
-<H1 class="no-header">curs_kernel 3x 2024-02-24 ncurses 6.4 Library calls</H1>
+<H1 class="no-header">curs_kernel 3x 2024-03-16 ncurses 6.4 Library calls</H1>
<PRE>
<STRONG><A HREF="curs_kernel.3x.html">curs_kernel(3x)</A></STRONG> Library calls <STRONG><A HREF="curs_kernel.3x.html">curs_kernel(3x)</A></STRONG>
-ncurses 6.4 2024-02-24 <STRONG><A HREF="curs_kernel.3x.html">curs_kernel(3x)</A></STRONG>
+ncurses 6.4 2024-03-16 <STRONG><A HREF="curs_kernel.3x.html">curs_kernel(3x)</A></STRONG>
</PRE>
<div class="nav">
<ul>
<!--
****************************************************************************
- * Copyright 2019-2022,2023 Thomas E. Dickey *
+ * Copyright 2019-2023,2024 Thomas E. Dickey *
* Copyright 2007-2015,2017 Free Software Foundation, Inc. *
* *
* Permission is hereby granted, free of charge, to any person obtaining a *
* sale, use or other dealings in this Software without prior written *
* authorization. *
****************************************************************************
- * @Id: curs_legacy.3x,v 1.30 2023/12/23 16:40:10 tom Exp @
+ * @Id: curs_legacy.3x,v 1.32 2024/03/16 15:35:01 tom Exp @
-->
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN">
<HTML>
<HEAD>
<meta http-equiv="Content-Type" content="text/html; charset=us-ascii">
<meta name="generator" content="Manpage converted by man2html - see https://invisible-island.net/scripts/readme.html#others_scripts">
-<TITLE>curs_legacy 3x 2023-12-23 ncurses 6.4 Library calls</TITLE>
+<TITLE>curs_legacy 3x 2024-03-16 ncurses 6.4 Library calls</TITLE>
<link rel="author" href="mailto:bug-ncurses@gnu.org">
</HEAD>
<BODY>
-<H1 class="no-header">curs_legacy 3x 2023-12-23 ncurses 6.4 Library calls</H1>
+<H1 class="no-header">curs_legacy 3x 2024-03-16 ncurses 6.4 Library calls</H1>
<PRE>
<STRONG><A HREF="curs_legacy.3x.html">curs_legacy(3x)</A></STRONG> Library calls <STRONG><A HREF="curs_legacy.3x.html">curs_legacy(3x)</A></STRONG>
-ncurses 6.4 2023-12-23 <STRONG><A HREF="curs_legacy.3x.html">curs_legacy(3x)</A></STRONG>
+ncurses 6.4 2024-03-16 <STRONG><A HREF="curs_legacy.3x.html">curs_legacy(3x)</A></STRONG>
</PRE>
<div class="nav">
<ul>
<!--
****************************************************************************
- * Copyright 2019-2022,2023 Thomas E. Dickey *
+ * Copyright 2019-2023,2024 Thomas E. Dickey *
* Copyright 2008-2010,2017 Free Software Foundation, Inc. *
* *
* Permission is hereby granted, free of charge, to any person obtaining a *
* sale, use or other dealings in this Software without prior written *
* authorization. *
****************************************************************************
- * @Id: curs_memleaks.3x,v 1.33 2023/12/23 16:22:08 tom Exp @
+ * @Id: curs_memleaks.3x,v 1.35 2024/03/16 15:35:01 tom Exp @
-->
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN">
<HTML>
<HEAD>
<meta http-equiv="Content-Type" content="text/html; charset=us-ascii">
<meta name="generator" content="Manpage converted by man2html - see https://invisible-island.net/scripts/readme.html#others_scripts">
-<TITLE>curs_memleaks 3x 2023-12-23 ncurses 6.4 Library calls</TITLE>
+<TITLE>curs_memleaks 3x 2024-03-16 ncurses 6.4 Library calls</TITLE>
<link rel="author" href="mailto:bug-ncurses@gnu.org">
</HEAD>
<BODY>
-<H1 class="no-header">curs_memleaks 3x 2023-12-23 ncurses 6.4 Library calls</H1>
+<H1 class="no-header">curs_memleaks 3x 2024-03-16 ncurses 6.4 Library calls</H1>
<PRE>
<STRONG><A HREF="curs_memleaks.3x.html">curs_memleaks(3x)</A></STRONG> Library calls <STRONG><A HREF="curs_memleaks.3x.html">curs_memleaks(3x)</A></STRONG>
-ncurses 6.4 2023-12-23 <STRONG><A HREF="curs_memleaks.3x.html">curs_memleaks(3x)</A></STRONG>
+ncurses 6.4 2024-03-16 <STRONG><A HREF="curs_memleaks.3x.html">curs_memleaks(3x)</A></STRONG>
</PRE>
<div class="nav">
<ul>
* sale, use or other dealings in this Software without prior written *
* authorization. *
****************************************************************************
- * @Id: curs_mouse.3x,v 1.92 2024/02/24 19:54:30 tom Exp @
+ * @Id: curs_mouse.3x,v 1.96 2024/03/23 20:38:57 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-02-24 ncurses 6.4 Library calls</TITLE>
+<TITLE>curs_mouse 3x 2024-03-23 ncurses 6.4 Library calls</TITLE>
<link rel="author" href="mailto:bug-ncurses@gnu.org">
</HEAD>
<BODY>
-<H1 class="no-header">curs_mouse 3x 2024-02-24 ncurses 6.4 Library calls</H1>
+<H1 class="no-header">curs_mouse 3x 2024-03-23 ncurses 6.4 Library calls</H1>
<PRE>
<STRONG><A HREF="curs_mouse.3x.html">curs_mouse(3x)</A></STRONG> Library calls <STRONG><A HREF="curs_mouse.3x.html">curs_mouse(3x)</A></STRONG>
</PRE><H3><a name="h3-mouseinterval">mouseinterval</a></H3><PRE>
The <STRONG>mouseinterval</STRONG> function sets the maximum time (in thousands of a
second) that can elapse between press and release events for them to be
- resolved as a <EM>click.</EM> An application might interpret button press and
+ resolved as a <EM>click</EM>. An application might interpret button press and
release events separated by more than the mouse interval as a "long
press", or, with motion, as a "drag".
The order of the <STRONG>MEVENT</STRONG> structure members is not guaranteed.
Additional fields may be added to the structure in the future.
- Under <EM>ncurses,</EM> these calls are implemented using either <EM>xterm</EM>'s built-
+ Under <EM>ncurses</EM>, these calls are implemented using either <EM>xterm</EM>'s built-
in mouse-tracking API or platform-specific drivers including
<STRONG>o</STRONG> Alessandro Rubini's gpm server
or with 3D-mice/trackballs/power gloves.
The <STRONG>ALL_MOUSE_EVENTS</STRONG> class does not include <STRONG>REPORT_MOUSE_POSITION</STRONG>.
- They are distinct. For example, in <EM>xterm,</EM> wheel/scrolling mice send
+ They are distinct. For example, in <EM>xterm</EM>, wheel/scrolling mice send
position reports as a sequence of presses of buttons 4 or 5 without
matching button-releases.
capability.
Those features required a terminal program that had been modified
- to work with SVr4 <EM>curses.</EM> They were not part of the X Consortium's
- <EM>xterm.</EM>
+ to work with SVr4 <EM>curses</EM>. They were not part of the X Consortium's
+ <EM>xterm</EM>.
When developing the <EM>xterm</EM> mouse support for <EM>ncurses</EM> in September 1995,
Eric Raymond was uninterested in using the same interface due to its
lack of documentation. Later, in 1998, Mark Hesseling provided support
- in <EM>PDCurses</EM> 2.3 using the SVr4 interface. <EM>PDCurses,</EM> however, does not
+ in <EM>PDCurses</EM> 2.3 using the SVr4 interface. <EM>PDCurses</EM>, however, does not
use video terminals, making it unnecessary to be concerned about
compatibility with the escape sequences.
-ncurses 6.4 2024-02-24 <STRONG><A HREF="curs_mouse.3x.html">curs_mouse(3x)</A></STRONG>
+ncurses 6.4 2024-03-23 <STRONG><A HREF="curs_mouse.3x.html">curs_mouse(3x)</A></STRONG>
</PRE>
<div class="nav">
<ul>
<!--
****************************************************************************
- * Copyright 2018-2022,2023 Thomas E. Dickey *
+ * Copyright 2018-2023,2024 Thomas E. Dickey *
* Copyright 1998-2010,2017 Free Software Foundation, Inc. *
* *
* Permission is hereby granted, free of charge, to any person obtaining a *
* sale, use or other dealings in this Software without prior written *
* authorization. *
****************************************************************************
- * @Id: curs_move.3x,v 1.33 2023/12/16 21:33:08 tom Exp @
+ * @Id: curs_move.3x,v 1.35 2024/03/16 15:35:01 tom Exp @
-->
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN">
<HTML>
<HEAD>
<meta http-equiv="Content-Type" content="text/html; charset=us-ascii">
<meta name="generator" content="Manpage converted by man2html - see https://invisible-island.net/scripts/readme.html#others_scripts">
-<TITLE>curs_move 3x 2023-12-16 ncurses 6.4 Library calls</TITLE>
+<TITLE>curs_move 3x 2024-03-16 ncurses 6.4 Library calls</TITLE>
<link rel="author" href="mailto:bug-ncurses@gnu.org">
</HEAD>
<BODY>
-<H1 class="no-header">curs_move 3x 2023-12-16 ncurses 6.4 Library calls</H1>
+<H1 class="no-header">curs_move 3x 2024-03-16 ncurses 6.4 Library calls</H1>
<PRE>
<STRONG><A HREF="curs_move.3x.html">curs_move(3x)</A></STRONG> Library calls <STRONG><A HREF="curs_move.3x.html">curs_move(3x)</A></STRONG>
-ncurses 6.4 2023-12-16 <STRONG><A HREF="curs_move.3x.html">curs_move(3x)</A></STRONG>
+ncurses 6.4 2024-03-16 <STRONG><A HREF="curs_move.3x.html">curs_move(3x)</A></STRONG>
</PRE>
<div class="nav">
<ul>
<!--
****************************************************************************
- * Copyright 2020-2022,2023 Thomas E. Dickey *
+ * Copyright 2020-2023,2024 Thomas E. Dickey *
* Copyright 2007-2014,2015 Free Software Foundation, Inc. *
* *
* Permission is hereby granted, free of charge, to any person obtaining a *
* sale, use or other dealings in this Software without prior written *
* authorization. *
****************************************************************************
- * @Id: curs_opaque.3x,v 1.41 2023/12/16 20:32:22 tom Exp @
+ * @Id: curs_opaque.3x,v 1.43 2024/03/16 15:35:01 tom Exp @
-->
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN">
<HTML>
<HEAD>
<meta http-equiv="Content-Type" content="text/html; charset=us-ascii">
<meta name="generator" content="Manpage converted by man2html - see https://invisible-island.net/scripts/readme.html#others_scripts">
-<TITLE>curs_opaque 3x 2023-12-16 ncurses 6.4 Library calls</TITLE>
+<TITLE>curs_opaque 3x 2024-03-16 ncurses 6.4 Library calls</TITLE>
<link rel="author" href="mailto:bug-ncurses@gnu.org">
</HEAD>
<BODY>
-<H1 class="no-header">curs_opaque 3x 2023-12-16 ncurses 6.4 Library calls</H1>
+<H1 class="no-header">curs_opaque 3x 2024-03-16 ncurses 6.4 Library calls</H1>
<PRE>
<STRONG><A HREF="curs_opaque.3x.html">curs_opaque(3x)</A></STRONG> Library calls <STRONG><A HREF="curs_opaque.3x.html">curs_opaque(3x)</A></STRONG>
-ncurses 6.4 2023-12-16 <STRONG><A HREF="curs_opaque.3x.html">curs_opaque(3x)</A></STRONG>
+ncurses 6.4 2024-03-16 <STRONG><A HREF="curs_opaque.3x.html">curs_opaque(3x)</A></STRONG>
</PRE>
<div class="nav">
<ul>
* sale, use or other dealings in this Software without prior written *
* authorization. *
****************************************************************************
- * @Id: curs_outopts.3x,v 1.56 2024/01/05 21:46:58 tom Exp @
+ * @Id: curs_outopts.3x,v 1.58 2024/03/16 15:49: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_outopts 3x 2024-01-05 ncurses 6.4 Library calls</TITLE>
+<TITLE>curs_outopts 3x 2024-03-16 ncurses 6.4 Library calls</TITLE>
<link rel="author" href="mailto:bug-ncurses@gnu.org">
</HEAD>
<BODY>
-<H1 class="no-header">curs_outopts 3x 2024-01-05 ncurses 6.4 Library calls</H1>
+<H1 class="no-header">curs_outopts 3x 2024-03-16 ncurses 6.4 Library calls</H1>
<PRE>
<STRONG><A HREF="curs_outopts.3x.html">curs_outopts(3x)</A></STRONG> Library calls <STRONG><A HREF="curs_outopts.3x.html">curs_outopts(3x)</A></STRONG>
upon failure. All other routines that return an integer always return
<STRONG>OK</STRONG>.
- X/Open Curses does not define any error conditions.
+ X/Open Curses does not specify any error conditions.
In this implementation,
<STRONG>o</STRONG> <STRONG>wsetscrreg</STRONG> returns an error if the scrolling region limits extend
outside the window.
- X/Open does not define any error conditions. This implementation
- returns an error if the window pointer is null.
+ X/Open Curses does not specify any error conditions. This
+ implementation returns an error if the window pointer is null.
</PRE><H2><a name="h2-NOTES">NOTES</a></H2><PRE>
-ncurses 6.4 2024-01-05 <STRONG><A HREF="curs_outopts.3x.html">curs_outopts(3x)</A></STRONG>
+ncurses 6.4 2024-03-16 <STRONG><A HREF="curs_outopts.3x.html">curs_outopts(3x)</A></STRONG>
</PRE>
<div class="nav">
<ul>
* sale, use or other dealings in this Software without prior written *
* authorization. *
****************************************************************************
- * @Id: curs_overlay.3x,v 1.39 2024/01/05 21:46:58 tom Exp @
+ * @Id: curs_overlay.3x,v 1.41 2024/03/16 15:35:01 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-01-05 ncurses 6.4 Library calls</TITLE>
+<TITLE>curs_overlay 3x 2024-03-16 ncurses 6.4 Library calls</TITLE>
<link rel="author" href="mailto:bug-ncurses@gnu.org">
</HEAD>
<BODY>
-<H1 class="no-header">curs_overlay 3x 2024-01-05 ncurses 6.4 Library calls</H1>
+<H1 class="no-header">curs_overlay 3x 2024-03-16 ncurses 6.4 Library calls</H1>
<PRE>
<STRONG><A HREF="curs_overlay.3x.html">curs_overlay(3x)</A></STRONG> Library calls <STRONG><A HREF="curs_overlay.3x.html">curs_overlay(3x)</A></STRONG>
-ncurses 6.4 2024-01-05 <STRONG><A HREF="curs_overlay.3x.html">curs_overlay(3x)</A></STRONG>
+ncurses 6.4 2024-03-16 <STRONG><A HREF="curs_overlay.3x.html">curs_overlay(3x)</A></STRONG>
</PRE>
<div class="nav">
<ul>
* sale, use or other dealings in this Software without prior written *
* authorization. *
****************************************************************************
- * @Id: curs_pad.3x,v 1.53 2024/01/05 21:46:58 tom Exp @
+ * @Id: curs_pad.3x,v 1.55 2024/03/16 15:49:29 tom Exp @
-->
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN">
<HTML>
<HEAD>
<meta http-equiv="Content-Type" content="text/html; charset=us-ascii">
<meta name="generator" content="Manpage converted by man2html - see https://invisible-island.net/scripts/readme.html#others_scripts">
-<TITLE>curs_pad 3x 2024-01-05 ncurses 6.4 Library calls</TITLE>
+<TITLE>curs_pad 3x 2024-03-16 ncurses 6.4 Library calls</TITLE>
<link rel="author" href="mailto:bug-ncurses@gnu.org">
</HEAD>
<BODY>
-<H1 class="no-header">curs_pad 3x 2024-01-05 ncurses 6.4 Library calls</H1>
+<H1 class="no-header">curs_pad 3x 2024-03-16 ncurses 6.4 Library calls</H1>
<PRE>
<STRONG><A HREF="curs_pad.3x.html">curs_pad(3x)</A></STRONG> Library calls <STRONG><A HREF="curs_pad.3x.html">curs_pad(3x)</A></STRONG>
Functions that return pointers return <STRONG>NULL</STRONG> on error, and set <STRONG>errno</STRONG> to
<STRONG>ENOMEM</STRONG>.
- X/Open Curses does not define any error conditions. In this
+ X/Open Curses does not specify any error conditions. In this
implementation
<STRONG>prefresh</STRONG> and <STRONG>pnoutrefresh</STRONG>
-ncurses 6.4 2024-01-05 <STRONG><A HREF="curs_pad.3x.html">curs_pad(3x)</A></STRONG>
+ncurses 6.4 2024-03-16 <STRONG><A HREF="curs_pad.3x.html">curs_pad(3x)</A></STRONG>
</PRE>
<div class="nav">
<ul>
<!--
****************************************************************************
- * Copyright 2018-2022,2023 Thomas E. Dickey *
+ * Copyright 2018-2023,2024 Thomas E. Dickey *
* Copyright 1998-2010,2017 Free Software Foundation, Inc. *
* *
* Permission is hereby granted, free of charge, to any person obtaining a *
* sale, use or other dealings in this Software without prior written *
* authorization. *
****************************************************************************
- * @Id: curs_print.3x,v 1.36 2023/12/23 16:36:18 tom Exp @
+ * @Id: curs_print.3x,v 1.38 2024/03/16 15:35:01 tom Exp @
-->
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN">
<HTML>
<HEAD>
<meta http-equiv="Content-Type" content="text/html; charset=us-ascii">
<meta name="generator" content="Manpage converted by man2html - see https://invisible-island.net/scripts/readme.html#others_scripts">
-<TITLE>curs_print 3x 2023-12-23 ncurses 6.4 Library calls</TITLE>
+<TITLE>curs_print 3x 2024-03-16 ncurses 6.4 Library calls</TITLE>
<link rel="author" href="mailto:bug-ncurses@gnu.org">
</HEAD>
<BODY>
-<H1 class="no-header">curs_print 3x 2023-12-23 ncurses 6.4 Library calls</H1>
+<H1 class="no-header">curs_print 3x 2024-03-16 ncurses 6.4 Library calls</H1>
<PRE>
<STRONG><A HREF="curs_print.3x.html">curs_print(3x)</A></STRONG> Library calls <STRONG><A HREF="curs_print.3x.html">curs_print(3x)</A></STRONG>
-ncurses 6.4 2023-12-23 <STRONG><A HREF="curs_print.3x.html">curs_print(3x)</A></STRONG>
+ncurses 6.4 2024-03-16 <STRONG><A HREF="curs_print.3x.html">curs_print(3x)</A></STRONG>
</PRE>
<div class="nav">
<ul>
<!--
****************************************************************************
- * Copyright 2018-2022,2023 Thomas E. Dickey *
+ * Copyright 2018-2023,2024 Thomas E. Dickey *
* Copyright 1998-2010,2017 Free Software Foundation, Inc. *
* *
* Permission is hereby granted, free of charge, to any person obtaining a *
* sale, use or other dealings in this Software without prior written *
* authorization. *
****************************************************************************
- * @Id: curs_printw.3x,v 1.47 2023/12/23 14:41:07 tom Exp @
+ * @Id: curs_printw.3x,v 1.51 2024/03/23 20:38:57 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 2023-12-23 ncurses 6.4 Library calls</TITLE>
+<TITLE>curs_printw 3x 2024-03-23 ncurses 6.4 Library calls</TITLE>
<link rel="author" href="mailto:bug-ncurses@gnu.org">
</HEAD>
<BODY>
-<H1 class="no-header">curs_printw 3x 2023-12-23 ncurses 6.4 Library calls</H1>
+<H1 class="no-header">curs_printw 3x 2024-03-23 ncurses 6.4 Library calls</H1>
<PRE>
<STRONG><A HREF="curs_printw.3x.html">curs_printw(3x)</A></STRONG> Library calls <STRONG><A HREF="curs_printw.3x.html">curs_printw(3x)</A></STRONG>
</PRE><H2><a name="h2-RETURN-VALUE">RETURN VALUE</a></H2><PRE>
These functions return <STRONG>ERR</STRONG> upon failure and <STRONG>OK</STRONG> upon success.
- In <EM>ncurses,</EM> failure occurs if the library cannot allocate enough memory
+ In <EM>ncurses</EM>, failure occurs if the library cannot allocate enough memory
for the buffer into which the output is formatted, or if the window
pointer <EM>win</EM> is null.
<EM>varargs.h</EM>, though that had been available since Seventh Edition Unix
(1979). In 1991 (a couple of years after SVr4 was generally available,
and after the C standard was published), other developers updated the
- library, using <EM>stdarg.h</EM> internally in 4.4BSD <EM>curses.</EM> Even with this
+ library, using <EM>stdarg.h</EM> internally in 4.4BSD <EM>curses</EM>. Even with this
improvement, BSD <EM>curses</EM> did not use function prototypes (nor even
declare functions) in <EM>curses.h</EM> until 1992.
-ncurses 6.4 2023-12-23 <STRONG><A HREF="curs_printw.3x.html">curs_printw(3x)</A></STRONG>
+ncurses 6.4 2024-03-23 <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.42 2024/01/05 21:46:58 tom Exp @
+ * @Id: curs_refresh.3x,v 1.44 2024/03/16 15:49:39 tom Exp @
-->
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN">
<HTML>
<HEAD>
<meta http-equiv="Content-Type" content="text/html; charset=us-ascii">
<meta name="generator" content="Manpage converted by man2html - see https://invisible-island.net/scripts/readme.html#others_scripts">
-<TITLE>curs_refresh 3x 2024-01-05 ncurses 6.4 Library calls</TITLE>
+<TITLE>curs_refresh 3x 2024-03-16 ncurses 6.4 Library calls</TITLE>
<link rel="author" href="mailto:bug-ncurses@gnu.org">
</HEAD>
<BODY>
-<H1 class="no-header">curs_refresh 3x 2024-01-05 ncurses 6.4 Library calls</H1>
+<H1 class="no-header">curs_refresh 3x 2024-03-16 ncurses 6.4 Library calls</H1>
<PRE>
<STRONG><A HREF="curs_refresh.3x.html">curs_refresh(3x)</A></STRONG> Library calls <STRONG><A HREF="curs_refresh.3x.html">curs_refresh(3x)</A></STRONG>
specifies only "an integer value other than <STRONG>ERR</STRONG>") upon successful
completion.
- X/Open does not define any error conditions. In this implementation
+ X/Open Curses does not specify any error conditions. In this
+ implementation
<STRONG>wnoutrefresh</STRONG>
- returns an error if the window pointer is null, or if the
+ returns an error if the window pointer is null, or if the
window is really a pad.
<STRONG>wredrawln</STRONG>
- returns an error if the associated call to <STRONG>touchln</STRONG> returns an
+ returns an error if the associated call to <STRONG>touchln</STRONG> returns an
error.
</PRE><H2><a name="h2-PORTABILITY">PORTABILITY</a></H2><PRE>
The XSI Curses standard, Issue 4 describes these functions.
- Whether <STRONG>wnoutrefresh</STRONG> copies to the virtual screen the entire contents
+ 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
- in historic curses versions (including SVr4). It might be unwise to
- rely on either behavior in programs that might have to be linked with
+ in historic curses versions (including SVr4). It might be unwise to
+ rely on either behavior in programs that might have to be linked with
other curses implementations. Instead, you can do an explicit <STRONG>touchwin</STRONG>
- before the <STRONG>wnoutrefresh</STRONG> call to guarantee an entire-contents copy
+ before the <STRONG>wnoutrefresh</STRONG> call to guarantee an entire-contents copy
anywhere.
-ncurses 6.4 2024-01-05 <STRONG><A HREF="curs_refresh.3x.html">curs_refresh(3x)</A></STRONG>
+ncurses 6.4 2024-03-16 <STRONG><A HREF="curs_refresh.3x.html">curs_refresh(3x)</A></STRONG>
</PRE>
<div class="nav">
<ul>
<!--
****************************************************************************
- * Copyright 2018-2022,2023 Thomas E. Dickey *
+ * Copyright 2018-2023,2024 Thomas E. Dickey *
* Copyright 1998-2010,2017 Free Software Foundation, Inc. *
* *
* Permission is hereby granted, free of charge, to any person obtaining a *
* sale, use or other dealings in this Software without prior written *
* authorization. *
****************************************************************************
- * @Id: curs_scanw.3x,v 1.47 2023/12/23 14:41:50 tom Exp @
+ * @Id: curs_scanw.3x,v 1.51 2024/03/23 20:41: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>curs_scanw 3x 2023-12-23 ncurses 6.4 Library calls</TITLE>
+<TITLE>curs_scanw 3x 2024-03-23 ncurses 6.4 Library calls</TITLE>
<link rel="author" href="mailto:bug-ncurses@gnu.org">
</HEAD>
<BODY>
-<H1 class="no-header">curs_scanw 3x 2023-12-23 ncurses 6.4 Library calls</H1>
+<H1 class="no-header">curs_scanw 3x 2024-03-23 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>
These functions return <STRONG>ERR</STRONG> upon failure and otherwise a count of
successful conversions; this quantity may be zero.
- In <EM>ncurses,</EM> failure occurs if <STRONG>vsscanf(3)</STRONG> returns <STRONG>EOF</STRONG>, or if the window
+ 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
this may have been an editorial solecism introduced by X/Open,
rather than an intentional change.
- <STRONG>o</STRONG> This implementation retains compatibility with SVr4 <EM>curses.</EM> As of
+ <STRONG>o</STRONG> This implementation retains compatibility with SVr4 <EM>curses</EM>. As of
2018, NetBSD <EM>curses</EM> also returns the number of successful
conversions. Both <EM>ncurses</EM> and NetBSD <EM>curses</EM> call <STRONG>vsscanf(3)</STRONG> to
scan the string, which returns <STRONG>EOF</STRONG> on error.
that had been available since Seventh Edition Unix (1979). In 1991 (a
couple of years after SVr4 was generally available, and after the C
standard was published), other developers updated the library, using
- <EM>stdarg.h</EM> internally in 4.4BSD <EM>curses.</EM> Even with this improvement, BSD
+ <EM>stdarg.h</EM> internally in 4.4BSD <EM>curses</EM>. Even with this improvement, BSD
<EM>curses</EM> did not use function prototypes (nor even declare functions) in
<EM>curses.h</EM> until 1992.
-ncurses 6.4 2023-12-23 <STRONG><A HREF="curs_scanw.3x.html">curs_scanw(3x)</A></STRONG>
+ncurses 6.4 2024-03-23 <STRONG><A HREF="curs_scanw.3x.html">curs_scanw(3x)</A></STRONG>
</PRE>
<div class="nav">
<ul>
<!--
****************************************************************************
- * Copyright 2018-2022,2023 Thomas E. Dickey *
+ * Copyright 2018-2023,2024 Thomas E. Dickey *
* Copyright 1998-2010,2017 Free Software Foundation, Inc. *
* *
* Permission is hereby granted, free of charge, to any person obtaining a *
* sale, use or other dealings in this Software without prior written *
* authorization. *
****************************************************************************
- * @Id: curs_scr_dump.3x,v 1.37 2023/12/30 21:34:11 tom Exp @
+ * @Id: curs_scr_dump.3x,v 1.41 2024/03/23 20:41: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>curs_scr_dump 3x 2023-12-30 ncurses 6.4 Library calls</TITLE>
+<TITLE>curs_scr_dump 3x 2024-03-23 ncurses 6.4 Library calls</TITLE>
<link rel="author" href="mailto:bug-ncurses@gnu.org">
</HEAD>
<BODY>
-<H1 class="no-header">curs_scr_dump 3x 2023-12-30 ncurses 6.4 Library calls</H1>
+<H1 class="no-header">curs_scr_dump 3x 2024-03-23 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><H3><a name="h3-scr_init">scr_init</a></H3><PRE>
- <STRONG>scr_init</STRONG> reads <EM>filename,</EM> using it to initialize <EM>curses</EM> data structures
+ <STRONG>scr_init</STRONG> reads <EM>filename</EM>, using it to initialize <EM>curses</EM> data structures
describing the state of the terminal screen. If these data are valid,
<EM>curses</EM> bases its next update of the screen on this information rather
than clearing it and starting from scratch.
These functions return <STRONG>OK</STRONG> on success and <STRONG>ERR</STRONG> on failure.
X/Open defines no failure conditions. In this implementation, each
- function fails if it cannot open <EM>filename.</EM>
+ function fails if it cannot open <EM>filename</EM>.
</PRE><H2><a name="h2-NOTES">NOTES</a></H2><PRE>
-ncurses 6.4 2023-12-30 <STRONG><A HREF="curs_scr_dump.3x.html">curs_scr_dump(3x)</A></STRONG>
+ncurses 6.4 2024-03-23 <STRONG><A HREF="curs_scr_dump.3x.html">curs_scr_dump(3x)</A></STRONG>
</PRE>
<div class="nav">
<ul>
<!--
****************************************************************************
- * Copyright 2018-2022,2023 Thomas E. Dickey *
+ * Copyright 2018-2023,2024 Thomas E. Dickey *
* Copyright 1998-2006,2010 Free Software Foundation, Inc. *
* *
* Permission is hereby granted, free of charge, to any person obtaining a *
* sale, use or other dealings in this Software without prior written *
* authorization. *
****************************************************************************
- * @Id: curs_scroll.3x,v 1.36 2023/12/16 22:52:35 tom Exp @
+ * @Id: curs_scroll.3x,v 1.40 2024/03/23 20:41: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>curs_scroll 3x 2023-12-16 ncurses 6.4 Library calls</TITLE>
+<TITLE>curs_scroll 3x 2024-03-23 ncurses 6.4 Library calls</TITLE>
<link rel="author" href="mailto:bug-ncurses@gnu.org">
</HEAD>
<BODY>
-<H1 class="no-header">curs_scroll 3x 2023-12-16 ncurses 6.4 Library calls</H1>
+<H1 class="no-header">curs_scroll 3x 2024-03-23 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>
screen may be scrolled at the same time; see <STRONG><A HREF="curs_variables.3x.html">curscr(3x)</A></STRONG>.
<STRONG>scrl</STRONG> and <STRONG>wscrl</STRONG> scroll <STRONG>stdscr</STRONG> or the specified window up or down
- depending on the sign of <EM>n.</EM>
+ depending on the sign of <EM>n</EM>.
- <STRONG>o</STRONG> For positive <EM>n,</EM> line <EM>i</EM>+<EM>n</EM> becomes <EM>i</EM> (scrolling up);
+ <STRONG>o</STRONG> For positive <EM>n</EM>, line <EM>i</EM>+<EM>n</EM> becomes <EM>i</EM> (scrolling up);
- <STRONG>o</STRONG> for negative <EM>n,</EM> line <EM>i</EM>-<EM>n</EM> becomes <EM>i</EM> (scrolling down).
+ <STRONG>o</STRONG> for negative <EM>n</EM>, line <EM>i</EM>-<EM>n</EM> becomes <EM>i</EM> (scrolling down).
The cursor does not move. These functions perform no operation unless
scrolling is enabled for the window via <STRONG><A HREF="scrollok.3x.html">scrollok(3x)</A></STRONG>.
-ncurses 6.4 2023-12-16 <STRONG><A HREF="curs_scroll.3x.html">curs_scroll(3x)</A></STRONG>
+ncurses 6.4 2024-03-23 <STRONG><A HREF="curs_scroll.3x.html">curs_scroll(3x)</A></STRONG>
</PRE>
<div class="nav">
<ul>
<!--
****************************************************************************
- * 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 *
* sale, use or other dealings in this Software without prior written *
* authorization. *
****************************************************************************
- * @Id: curs_slk.3x,v 1.67 2023/12/16 21:18:45 tom Exp @
+ * @Id: curs_slk.3x,v 1.69 2024/03/16 15:35:01 tom Exp @
-->
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN">
<HTML>
<HEAD>
<meta http-equiv="Content-Type" content="text/html; charset=us-ascii">
<meta name="generator" content="Manpage converted by man2html - see https://invisible-island.net/scripts/readme.html#others_scripts">
-<TITLE>curs_slk 3x 2023-12-16 ncurses 6.4 Library calls</TITLE>
+<TITLE>curs_slk 3x 2024-03-16 ncurses 6.4 Library calls</TITLE>
<link rel="author" href="mailto:bug-ncurses@gnu.org">
</HEAD>
<BODY>
-<H1 class="no-header">curs_slk 3x 2023-12-16 ncurses 6.4 Library calls</H1>
+<H1 class="no-header">curs_slk 3x 2024-03-16 ncurses 6.4 Library calls</H1>
<PRE>
<STRONG><A HREF="curs_slk.3x.html">curs_slk(3x)</A></STRONG> Library calls <STRONG><A HREF="curs_slk.3x.html">curs_slk(3x)</A></STRONG>
-ncurses 6.4 2023-12-16 <STRONG><A HREF="curs_slk.3x.html">curs_slk(3x)</A></STRONG>
+ncurses 6.4 2024-03-16 <STRONG><A HREF="curs_slk.3x.html">curs_slk(3x)</A></STRONG>
</PRE>
<div class="nav">
<ul>
<!--
****************************************************************************
- * Copyright 2018-2022,2023 Thomas E. Dickey *
+ * Copyright 2018-2023,2024 Thomas E. Dickey *
* Copyright 2010-2015,2017 Free Software Foundation, Inc. *
* *
* Permission is hereby granted, free of charge, to any person obtaining a *
* sale, use or other dealings in this Software without prior written *
* authorization. *
****************************************************************************
- * @Id: curs_sp_funcs.3x,v 1.46 2023/12/23 16:26:05 tom Exp @
+ * @Id: curs_sp_funcs.3x,v 1.48 2024/03/16 15:35:01 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 2023-12-23 ncurses 6.4 Library calls</TITLE>
+<TITLE>curs_sp_funcs 3x 2024-03-16 ncurses 6.4 Library calls</TITLE>
<link rel="author" href="mailto:bug-ncurses@gnu.org">
</HEAD>
<BODY>
-<H1 class="no-header">curs_sp_funcs 3x 2023-12-23 ncurses 6.4 Library calls</H1>
+<H1 class="no-header">curs_sp_funcs 3x 2024-03-16 ncurses 6.4 Library calls</H1>
<PRE>
<STRONG><A HREF="curs_sp_funcs.3x.html">curs_sp_funcs(3x)</A></STRONG> Library calls <STRONG><A HREF="curs_sp_funcs.3x.html">curs_sp_funcs(3x)</A></STRONG>
-ncurses 6.4 2023-12-23 <STRONG><A HREF="curs_sp_funcs.3x.html">curs_sp_funcs(3x)</A></STRONG>
+ncurses 6.4 2024-03-16 <STRONG><A HREF="curs_sp_funcs.3x.html">curs_sp_funcs(3x)</A></STRONG>
</PRE>
<div class="nav">
<ul>
* sale, use or other dealings in this Software without prior written *
* authorization. *
****************************************************************************
- * @Id: curs_termattrs.3x,v 1.34 2024/01/05 21:46:58 tom Exp @
+ * @Id: curs_termattrs.3x,v 1.36 2024/03/16 15:35:01 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-01-05 ncurses 6.4 Library calls</TITLE>
+<TITLE>curs_termattrs 3x 2024-03-16 ncurses 6.4 Library calls</TITLE>
<link rel="author" href="mailto:bug-ncurses@gnu.org">
</HEAD>
<BODY>
-<H1 class="no-header">curs_termattrs 3x 2024-01-05 ncurses 6.4 Library calls</H1>
+<H1 class="no-header">curs_termattrs 3x 2024-03-16 ncurses 6.4 Library calls</H1>
<PRE>
<STRONG><A HREF="curs_termattrs.3x.html">curs_termattrs(3x)</A></STRONG> Library calls <STRONG><A HREF="curs_termattrs.3x.html">curs_termattrs(3x)</A></STRONG>
-ncurses 6.4 2024-01-05 <STRONG><A HREF="curs_termattrs.3x.html">curs_termattrs(3x)</A></STRONG>
+ncurses 6.4 2024-03-16 <STRONG><A HREF="curs_termattrs.3x.html">curs_termattrs(3x)</A></STRONG>
</PRE>
<div class="nav">
<ul>
<!--
****************************************************************************
- * Copyright 2018-2022,2023 Thomas E. Dickey *
+ * Copyright 2018-2023,2024 Thomas E. Dickey *
* Copyright 1998-2017,2018 Free Software Foundation, Inc. *
* *
* Permission is hereby granted, free of charge, to any person obtaining a *
* sale, use or other dealings in this Software without prior written *
* authorization. *
****************************************************************************
- * @Id: curs_termcap.3x,v 1.81 2023/12/30 21:27:22 tom Exp @
+ * @Id: curs_termcap.3x,v 1.83 2024/03/16 15:35:01 tom Exp @
-->
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN">
<HTML>
<HEAD>
<meta http-equiv="Content-Type" content="text/html; charset=us-ascii">
<meta name="generator" content="Manpage converted by man2html - see https://invisible-island.net/scripts/readme.html#others_scripts">
-<TITLE>curs_termcap 3x 2023-12-30 ncurses 6.4 Library calls</TITLE>
+<TITLE>curs_termcap 3x 2024-03-16 ncurses 6.4 Library calls</TITLE>
<link rel="author" href="mailto:bug-ncurses@gnu.org">
</HEAD>
<BODY>
-<H1 class="no-header">curs_termcap 3x 2023-12-30 ncurses 6.4 Library calls</H1>
+<H1 class="no-header">curs_termcap 3x 2024-03-16 ncurses 6.4 Library calls</H1>
<PRE>
<STRONG><A HREF="curs_termcap.3x.html">curs_termcap(3x)</A></STRONG> Library calls <STRONG><A HREF="curs_termcap.3x.html">curs_termcap(3x)</A></STRONG>
-ncurses 6.4 2023-12-30 <STRONG><A HREF="curs_termcap.3x.html">curs_termcap(3x)</A></STRONG>
+ncurses 6.4 2024-03-16 <STRONG><A HREF="curs_termcap.3x.html">curs_termcap(3x)</A></STRONG>
</PRE>
<div class="nav">
<ul>
* sale, use or other dealings in this Software without prior written *
* authorization. *
****************************************************************************
- * @Id: curs_terminfo.3x,v 1.130 2024/02/24 20:04:09 tom Exp @
+ * @Id: curs_terminfo.3x,v 1.134 2024/03/23 20:41: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>curs_terminfo 3x 2024-02-24 ncurses 6.4 Library calls</TITLE>
+<TITLE>curs_terminfo 3x 2024-03-23 ncurses 6.4 Library calls</TITLE>
<link rel="author" href="mailto:bug-ncurses@gnu.org">
</HEAD>
<BODY>
-<H1 class="no-header">curs_terminfo 3x 2024-02-24 ncurses 6.4 Library calls</H1>
+<H1 class="no-header">curs_terminfo 3x 2024-03-23 ncurses 6.4 Library calls</H1>
<PRE>
<STRONG><A HREF="curs_terminfo.3x.html">curs_terminfo(3x)</A></STRONG> Library calls <STRONG><A HREF="curs_terminfo.3x.html">curs_terminfo(3x)</A></STRONG>
<STRONG>setupterm</STRONG> reads in the <EM>terminfo</EM> database, initializing the <EM>terminfo</EM>
structures, but does not set up the output virtualization structures
- used by <EM>curses.</EM> Its parameters follow.
+ used by <EM>curses</EM>. Its parameters follow.
<EM>term</EM> is the terminal type, a character string. If <EM>term</EM> is null, the
environment variable <EM>TERM</EM> is read.
I/O modes.
Higher-level applications use <STRONG><A HREF="curs_initscr.3x.html">newterm(3x)</A></STRONG> to initialize the
- terminal, passing an output <EM>stream</EM> rather than a <EM>descriptor.</EM>
- In <EM>curses,</EM> the two are the same because <STRONG>newterm</STRONG> calls
+ terminal, passing an output <EM>stream</EM> rather than a <EM>descriptor</EM>.
+ In <EM>curses</EM>, the two are the same because <STRONG>newterm</STRONG> calls
<STRONG>setupterm</STRONG>, passing the file descriptor derived from its output
stream parameter.
points to an optional location where an error status can be
returned to the caller. If <EM>errret</EM> is not null, then <STRONG>setupterm</STRONG>
returns <STRONG>OK</STRONG> or <STRONG>ERR</STRONG> and stores a status value in the integer
- pointed to by <EM>errret.</EM> A return value of <STRONG>OK</STRONG> combined with
+ pointed to by <EM>errret</EM>. A return value of <STRONG>OK</STRONG> combined with
status of <STRONG>1</STRONG> in <EM>errret</EM> is normal.
If <STRONG>ERR</STRONG> is returned, examine <EM>errret:</EM>
terminal types, <STRONG>setupterm</STRONG> allocates new storage for each set of
terminal capabilities.
- <STRONG>set_curterm</STRONG> sets <STRONG>cur_term</STRONG> to <EM>nterm,</EM> and makes all of the <EM>terminfo</EM>
- Boolean, numeric, and string variables use the values from <EM>nterm.</EM> It
+ <STRONG>set_curterm</STRONG> sets <STRONG>cur_term</STRONG> to <EM>nterm</EM>, and makes all of the <EM>terminfo</EM>
+ Boolean, numeric, and string variables use the values from <EM>nterm</EM>. It
returns the old value of <STRONG>cur_term</STRONG>.
<STRONG>del_curterm</STRONG> frees the space pointed to by <EM>oterm</EM> and makes it available
</PRE><H3><a name="h3-Formatting-Output">Formatting Output</a></H3><PRE>
- <STRONG>tparm</STRONG> instantiates the string <EM>str</EM> with parameters <EM>pi.</EM> A pointer is
+ <STRONG>tparm</STRONG> instantiates the string <EM>str</EM> with parameters <EM>pi</EM>. A pointer is
returned to the result of <EM>str</EM> with the parameters applied. Application
developers should keep in mind these quirks of the interface:
<STRONG>stdout</STRONG>, rather than the <EM>filedes</EM> specified in <STRONG>setupterm</STRONG>.
<STRONG>vidputs</STRONG> displays the string on the terminal in the video attribute mode
- <EM>attrs,</EM> which is any combination of the attributes listed in <STRONG><A HREF="ncurses.3x.html">curses(3x)</A></STRONG>.
- The characters are passed to the <EM>putchar</EM>-like function <EM>putc.</EM>
+ <EM>attrs</EM>, which is any combination of the attributes listed in <STRONG><A HREF="ncurses.3x.html">curses(3x)</A></STRONG>.
+ The characters are passed to the <EM>putchar</EM>-like function <EM>putc</EM>.
<STRONG>vidattr</STRONG> is like <STRONG>vidputs</STRONG>, except that it outputs through <STRONG>putchar(3)</STRONG>.
They use multiple parameters to represent the character attributes and
color; namely,
- <STRONG>o</STRONG> <EM>attrs,</EM> of type <EM>attr</EM><STRONG>_</STRONG><EM>t,</EM> for the attributes and
+ <STRONG>o</STRONG> <EM>attrs</EM>, of type <EM>attr</EM><STRONG>_</STRONG><EM>t</EM>, for the attributes and
- <STRONG>o</STRONG> <EM>pair,</EM> of type <EM>short,</EM> for the color pair number.
+ <STRONG>o</STRONG> <EM>pair</EM>, of type <EM>short</EM>, for the color pair number.
Use the attribute constants prefixed with "<STRONG>WA_</STRONG>" with <STRONG>vid_attr</STRONG> and
<STRONG>vid_puts</STRONG>.
</PRE><H3><a name="h3-Terminal-Capability-Functions">Terminal Capability Functions</a></H3><PRE>
<STRONG>tigetflag</STRONG>, <STRONG>tigetnum</STRONG>, and <STRONG>tigetstr</STRONG> return the value of the capability
- corresponding to the <EM>terminfo</EM> <EM>cap-code,</EM> such as <STRONG>xenl</STRONG>, passed to them.
+ corresponding to the <EM>terminfo</EM> <EM>cap-code</EM>, such as <STRONG>xenl</STRONG>, passed to them.
The <EM>cap-code</EM> for each capability is given in the table column entitled
<EM>cap-code</EM> code in the capabilities section of <STRONG><A HREF="terminfo.5.html">terminfo(5)</A></STRONG>.
</PRE><H2><a name="h2-RETURN-VALUE">RETURN VALUE</a></H2><PRE>
- X/Open Curses defines no failure conditions. In <EM>ncurses,</EM>
+ X/Open Curses defines no failure conditions. In <EM>ncurses</EM>,
<STRONG>del_curtem</STRONG>
fails if its terminal parameter is null.
</PRE><H2><a name="h2-EXTENSIONS">EXTENSIONS</a></H2><PRE>
- The functions marked as extensions were designed for <EM>ncurses,</EM> and are
+ The functions marked as extensions were designed for <EM>ncurses</EM>, and are
not found in SVr4 <EM>curses</EM>, 4.4BSD <EM>curses</EM>, or any other previous <EM>curses</EM>
implementation.
- <EM>ncurses</EM> allows <EM>opts</EM> to be a pointer to <EM>int,</EM> which overrides the <EM>pair</EM>
+ <EM>ncurses</EM> allows <EM>opts</EM> to be a pointer to <EM>int</EM>, which overrides the <EM>pair</EM>
(<EM>short</EM>) argument.
part of X/Open Curses, but is assumed by some applications.
Other implementions may not declare the capability name arrays. Some
- provide them without declaring them. X/Open does not specify them.
+ provide them without declaring them. X/Open Curses does not specify
+ them.
- Extended terminal capability names, as defined by "<STRONG>tic</STRONG> <STRONG>-x</STRONG>", are not
+ Extended terminal capability names, as defined by "<STRONG>tic</STRONG> <STRONG>-x</STRONG>", are not
stored in the arrays described here.
</PRE><H3><a name="h3-Output-Buffering">Output Buffering</a></H3><PRE>
- Older versions of <EM>ncurses</EM> assumed that the file descriptor passed to
+ Older versions of <EM>ncurses</EM> assumed that the file descriptor passed to
<STRONG>setupterm</STRONG> from <STRONG>initscr</STRONG> or <STRONG>newterm</STRONG> uses buffered I/O, and would write to
- the corresponding stream. In addition to the limitation that the
- terminal was left in block-buffered mode on exit (like System V
- <EM>curses</EM>), it was problematic because <EM>ncurses</EM> did not allow a reliable
+ the corresponding stream. In addition to the limitation that the
+ terminal was left in block-buffered mode on exit (like System V
+ <EM>curses</EM>), it was problematic because <EM>ncurses</EM> did not allow a reliable
way to clean up on receiving <STRONG>SIGTSTP</STRONG>.
- The current version (ncurses6) uses output buffers managed directly by
- <EM>ncurses.</EM> Some of the low-level functions described in this manual page
- write to the standard output. They are not signal-safe. The high-
+ The current version (ncurses6) uses output buffers managed directly by
+ <EM>ncurses</EM>. Some of the low-level functions described in this manual page
+ write to the standard output. They are not signal-safe. The high-
level functions in <EM>ncurses</EM> employ alternate versions of these functions
using the more reliable buffering scheme.
</PRE><H3><a name="h3-Function-Prototypes">Function Prototypes</a></H3><PRE>
- The X/Open Curses prototypes are based on the SVr4 <EM>curses</EM> header
- declarations, which were defined at the same time the C language was
+ The X/Open Curses prototypes are based on the SVr4 <EM>curses</EM> header
+ declarations, which were defined at the same time the C language was
first standardized in the late 1980s.
- <STRONG>o</STRONG> X/Open Curses uses <EM>const</EM> less effectively than a later design
- might, in some cases applying it needlessly to values are already
- constant, and in most cases overlooking parameters which normally
- would use <EM>const.</EM> Using constant parameters for functions which do
+ <STRONG>o</STRONG> X/Open Curses uses <EM>const</EM> less effectively than a later design
+ might, in some cases applying it needlessly to values are already
+ constant, and in most cases overlooking parameters which normally
+ would use <EM>const</EM>. Using constant parameters for functions which do
not use <EM>const</EM> may prevent the program from compiling. On the other
hand, "writable strings" are an obsolescent feature.
- As an extension, this implementation can be configured to change
- the function prototypes to use the <EM>const</EM> keyword. The <EM>ncurses</EM> ABI
+ As an extension, this implementation can be configured to change
+ the function prototypes to use the <EM>const</EM> keyword. The <EM>ncurses</EM> ABI
6 enables this feature by default.
- <STRONG>o</STRONG> X/Open Curses prototypes <STRONG>tparm</STRONG> with a fixed number of parameters,
+ <STRONG>o</STRONG> X/Open Curses prototypes <STRONG>tparm</STRONG> with a fixed number of parameters,
rather than a variable argument list.
- This implementation uses a variable argument list, but can be
- configured to use the fixed-parameter list. Portable applications
- should provide nine parameters after the format; zeroes are fine
+ This implementation uses a variable argument list, but can be
+ configured to use the fixed-parameter list. Portable applications
+ should provide nine parameters after the format; zeroes are fine
for this purpose.
- In response to review comments by Thomas E. Dickey, X/Open Curses
+ In response to review comments by Thomas E. Dickey, X/Open Curses
Issue 7 proposed the <STRONG>tiparm</STRONG> function in mid-2009.
- While <STRONG>tiparm</STRONG> is always provided in <EM>ncurses</EM>, the older form is only
- available as a build-time configuration option. If not specially
+ While <STRONG>tiparm</STRONG> is always provided in <EM>ncurses</EM>, the older form is only
+ available as a build-time configuration option. If not specially
configured, <STRONG>tparm</STRONG> is the same as <STRONG>tiparm</STRONG>.
Both forms of <STRONG>tparm</STRONG> have drawbacks:
<STRONG>o</STRONG> Most of the calls to <STRONG>tparm</STRONG> use only one or two parameters. Passing
nine on each call is awkward.
- Using <EM>long</EM> for the numeric parameter type is a workaround to make
- the parameter use the same amount of stack as a pointer. That
- approach dates back to the mid-1980s, before C was standardized.
- Since then, there is a standard (and pointers are not required to
+ Using <EM>long</EM> for the numeric parameter type is a workaround to make
+ the parameter use the same amount of stack as a pointer. That
+ approach dates back to the mid-1980s, before C was standardized.
+ Since then, there is a standard (and pointers are not required to
fit in a <EM>long</EM>).
- <STRONG>o</STRONG> Providing the right number of parameters for a variadic function
+ <STRONG>o</STRONG> Providing the right number of parameters for a variadic function
such as <STRONG>tiparm</STRONG> can be a problem, in particular for string
- parameters. However, only a few <EM>terminfo</EM> capabilities use string
- parameters (for instance, the ones used for programmable function
+ parameters. However, only a few <EM>terminfo</EM> capabilities use string
+ parameters (for instance, the ones used for programmable function
keys).
The <EM>ncurses</EM> library checks usage of these capabilities, and returns
- an error if the capability mishandles string parameters. But it
- cannot check if a calling program provides strings in the right
+ an error if the capability mishandles string parameters. But it
+ cannot check if a calling program provides strings in the right
places for the <STRONG>tparm</STRONG> calls.
- The <STRONG><A HREF="tput.1.html">tput(1)</A></STRONG> program checks its use of these capabilities with a
+ The <STRONG><A HREF="tput.1.html">tput(1)</A></STRONG> program checks its use of these capabilities with a
table, so that it calls <STRONG>tparm</STRONG> correctly.
<STRONG>Special</STRONG> <EM>TERM</EM> <STRONG>treatment</STRONG>
If configured to use the terminal driver, as with the MinGW port,
- <STRONG>o</STRONG> <STRONG>setupterm</STRONG> interprets a missing/empty <EM>TERM</EM> variable as the special
+ <STRONG>o</STRONG> <STRONG>setupterm</STRONG> interprets a missing/empty <EM>TERM</EM> variable as the special
value "unknown".
SVr4 <EM>curses</EM> uses the special value "dumb".
- The difference between the two is that the former uses the
- <STRONG>generic_type</STRONG> (<STRONG>gn</STRONG>) <EM>terminfo</EM> capability, while the latter does not.
+ The difference between the two is that the former uses the
+ <STRONG>generic_type</STRONG> (<STRONG>gn</STRONG>) <EM>terminfo</EM> capability, while the latter does not.
A generic terminal is unsuitable for full-screen applications.
- <STRONG>o</STRONG> <STRONG>setupterm</STRONG> allows explicit use of the the windows console driver by
- checking if <STRONG>$TERM</STRONG> is set to "#win32con" or an abbreviation of that
+ <STRONG>o</STRONG> <STRONG>setupterm</STRONG> allows explicit use of the the windows console driver by
+ checking if <STRONG>$TERM</STRONG> is set to "#win32con" or an abbreviation of that
string.
</PRE><H3><a name="h3-Other-Portability-Issues">Other Portability Issues</a></H3><PRE>
- In SVr4, <STRONG>set_curterm</STRONG> returns an <EM>int,</EM> <STRONG>OK</STRONG> or <STRONG>ERR</STRONG>. We have chosen to
+ In SVr4, <STRONG>set_curterm</STRONG> returns an <EM>int</EM>, <STRONG>OK</STRONG> or <STRONG>ERR</STRONG>. We have chosen to
implement the X/Open Curses semantics.
In SVr4, the third argument of <STRONG>tputs</STRONG> has the type "<STRONG>int</STRONG> <STRONG>(*putc)(char)</STRONG>".
- At least one implementation of X/Open Curses (Solaris) returns a value
- other than <STRONG>OK</STRONG> or <STRONG>ERR</STRONG> from <STRONG>tputs</STRONG>. It instead returns the length of the
+ At least one implementation of X/Open Curses (Solaris) returns a value
+ other than <STRONG>OK</STRONG> or <STRONG>ERR</STRONG> from <STRONG>tputs</STRONG>. It instead returns the length of the
string, and does no error checking.
- X/Open Curses notes that after calling <STRONG>mvcur</STRONG>, the <EM>curses</EM> state may not
- match the actual terminal state, and that an application should touch
- and refresh the window before resuming normal <EM>curses</EM> calls. Both
+ X/Open Curses notes that after calling <STRONG>mvcur</STRONG>, the <EM>curses</EM> state may not
+ match the actual terminal state, and that an application should touch
+ and refresh the window before resuming normal <EM>curses</EM> calls. Both
<EM>ncurses</EM> and SVr4 <EM>curses</EM> implement <STRONG>mvcur</STRONG> using the <EM>SCREEN</EM> data allocated
in either <STRONG>initscr</STRONG> or <STRONG>newterm</STRONG>. So though it is documented as a <EM>terminfo</EM>
function, <STRONG>mvcur</STRONG> is really a <EM>curses</EM> function that is not well specified.
- X/Open notes that after calling <STRONG>mvcur</STRONG>, the <EM>curses</EM> state may not match
- the actual terminal state, and that an application should touch and
- refresh the window before resuming normal <EM>curses</EM> calls. Both <EM>ncurses</EM>
- and SVr4 <EM>curses</EM> implement <STRONG>mvcur</STRONG> using the <EM>SCREEN</EM> data allocated in
- either <STRONG>initscr</STRONG> or <STRONG>newterm</STRONG>. So though it is documented as a <EM>terminfo</EM>
+ X/Open notes that after calling <STRONG>mvcur</STRONG>, the <EM>curses</EM> state may not match
+ the actual terminal state, and that an application should touch and
+ refresh the window before resuming normal <EM>curses</EM> calls. Both <EM>ncurses</EM>
+ and SVr4 <EM>curses</EM> implement <STRONG>mvcur</STRONG> using the <EM>SCREEN</EM> data allocated in
+ either <STRONG>initscr</STRONG> or <STRONG>newterm</STRONG>. So though it is documented as a <EM>terminfo</EM>
function, <STRONG>mvcur</STRONG> is really a <EM>curses</EM> function that is not well specified.
- X/Open Curses states that the old location must be given for <STRONG>mvcur</STRONG> to
- accommodate terminals that lack absolute cursor positioning. <EM>ncurses</EM>
+ X/Open Curses states that the old location must be given for <STRONG>mvcur</STRONG> to
+ accommodate terminals that lack absolute cursor positioning. <EM>ncurses</EM>
allows the caller to use -1 for either or both old coordinates. The -1
- tells <EM>ncurses</EM> that the old location is unknown, and that it must use
- only absolute motion, as with the <STRONG>cursor_address</STRONG> (<STRONG>cup</STRONG>) capability,
- rather than the least costly combination of absolute and relative
+ tells <EM>ncurses</EM> that the old location is unknown, and that it must use
+ only absolute motion, as with the <STRONG>cursor_address</STRONG> (<STRONG>cup</STRONG>) capability,
+ rather than the least costly combination of absolute and relative
motion.
</PRE><H2><a name="h2-HISTORY">HISTORY</a></H2><PRE>
- SVr2 (1984) introduced the <EM>terminfo</EM> feature. Its programming manual
+ SVr2 (1984) introduced the <EM>terminfo</EM> feature. Its programming manual
mentioned the following low-level functions.
<STRONG>Function</STRONG> <STRONG>Description</STRONG>
------------------------------------------------------------------------
-
<STRONG>fixterm</STRONG> restore terminal to "in <EM>curses</EM>" state
<STRONG>gettmode</STRONG> establish current terminal modes
<STRONG>mvcur</STRONG> low level cursor motion
<STRONG>vidattr</STRONG> like <STRONG>vidputs</STRONG>, but output through <EM>putchar</EM>
<STRONG>vidputs</STRONG> write string to terminal, applying specified attributes
- The programming manual also mentioned functions provided for <EM>termcap</EM>
+ The programming manual also mentioned functions provided for <EM>termcap</EM>
compatibility (commenting that they "may go away at a later date").
<STRONG>Function</STRONG> <STRONG>Description</STRONG>
<STRONG>tgoto</STRONG> apply parameters to given capability
<STRONG>tputs</STRONG> write characters via a function parameter, applying padding
- Early <EM>terminfo</EM> programs obtained capability values from the <EM>TERMINAL</EM>
+ Early <EM>terminfo</EM> programs obtained capability values from the <EM>TERMINAL</EM>
structure initialized by <STRONG>setupterm</STRONG>.
- SVr3 (1987) extended <EM>terminfo</EM> by adding functions to retrieve
- capability values (like the <EM>termcap</EM> interface), and reusing <STRONG>tgoto</STRONG> and
+ SVr3 (1987) extended <EM>terminfo</EM> by adding functions to retrieve
+ capability values (like the <EM>termcap</EM> interface), and reusing <STRONG>tgoto</STRONG> and
<STRONG>tputs</STRONG>.
<STRONG>Function</STRONG> <STRONG>Description</STRONG>
<STRONG>tigetnum</STRONG> get numeric entry for given <EM>id</EM>
<STRONG>tigetstr</STRONG> get string entry for given <EM>id</EM>
- SVr3 also replaced several of the SVr2 <EM>terminfo</EM> functions that had no
+ SVr3 also replaced several of the SVr2 <EM>terminfo</EM> functions that had no
counterpart in the <EM>termcap</EM> interface, documenting them as obsolete.
<STRONG>Function</STRONG> <STRONG>Replaced</STRONG> <STRONG>by</STRONG>
saveterm def_prog_mode
setterm setupterm
- SVr3 kept the <STRONG>mvcur</STRONG>, <STRONG>vidattr</STRONG>, and <STRONG>vidputs</STRONG> functions, along with <STRONG>putp</STRONG>,
- <STRONG>tparm</STRONG>, and <STRONG>tputs</STRONG>. The latter were needed to support padding, and to
- handle capabilities accessed by functions such as <STRONG>vidattr</STRONG> (which used
+ SVr3 kept the <STRONG>mvcur</STRONG>, <STRONG>vidattr</STRONG>, and <STRONG>vidputs</STRONG> functions, along with <STRONG>putp</STRONG>,
+ <STRONG>tparm</STRONG>, and <STRONG>tputs</STRONG>. The latter were needed to support padding, and to
+ handle capabilities accessed by functions such as <STRONG>vidattr</STRONG> (which used
more than the two parameters supported by <STRONG>tgoto</STRONG>).
- SVr3 introduced the functions for switching between terminal
- descriptions; for example, <STRONG>set_curterm</STRONG>. Some changes reflected
+ SVr3 introduced the functions for switching between terminal
+ descriptions; for example, <STRONG>set_curterm</STRONG>. Some changes reflected
incremental improvements to the SVr2 library.
- <STRONG>o</STRONG> The <EM>TERMINAL</EM> type definition was introduced in SVr3.01, for the
+ <STRONG>o</STRONG> The <EM>TERMINAL</EM> type definition was introduced in SVr3.01, for the
<EM>term</EM> structure provided in SVr2.
- <STRONG>o</STRONG> Various global variables such as <STRONG>boolnames</STRONG> were mentioned in the
- programming manual at this point, though the variables had been
+ <STRONG>o</STRONG> Various global variables such as <STRONG>boolnames</STRONG> were mentioned in the
+ programming manual at this point, though the variables had been
provided in SVr2.
SVr4 (1989) added the <STRONG>vid_attr</STRONG> and <STRONG>vid_puts</STRONG> functions.
- Other low-level functions are declared in the <EM>curses</EM> header files of
- Unix systems, but none are documented. Those noted as "obsolete" by
+ Other low-level functions are declared in the <EM>curses</EM> header files of
+ Unix systems, but none are documented. Those noted as "obsolete" by
SVr3 remained in use by System V's <STRONG>vi(1)</STRONG> editor.
</PRE><H2><a name="h2-SEE-ALSO">SEE ALSO</a></H2><PRE>
<STRONG><A HREF="ncurses.3x.html">curses(3x)</A></STRONG>, <STRONG><A HREF="curs_initscr.3x.html">curs_initscr(3x)</A></STRONG>, <STRONG><A HREF="curs_kernel.3x.html">curs_kernel(3x)</A></STRONG>, <STRONG><A HREF="curs_memleaks.3x.html">curs_memleaks(3x)</A></STRONG>,
- <STRONG><A HREF="curs_termcap.3x.html">curs_termcap(3x)</A></STRONG>, <STRONG><A HREF="curs_variables.3x.html">curs_variables(3x)</A></STRONG>, <STRONG>putc(3)</STRONG>, <STRONG><A HREF="term_variables.3x.html">term_variables(3x)</A></STRONG>,
+ <STRONG><A HREF="curs_termcap.3x.html">curs_termcap(3x)</A></STRONG>, <STRONG><A HREF="curs_variables.3x.html">curs_variables(3x)</A></STRONG>, <STRONG>putc(3)</STRONG>, <STRONG><A HREF="term_variables.3x.html">term_variables(3x)</A></STRONG>,
<STRONG><A HREF="terminfo.5.html">terminfo(5)</A></STRONG>
-ncurses 6.4 2024-02-24 <STRONG><A HREF="curs_terminfo.3x.html">curs_terminfo(3x)</A></STRONG>
+ncurses 6.4 2024-03-23 <STRONG><A HREF="curs_terminfo.3x.html">curs_terminfo(3x)</A></STRONG>
</PRE>
<div class="nav">
<ul>
* sale, use or other dealings in this Software without prior written *
* authorization. *
****************************************************************************
- * @Id: curs_threads.3x,v 1.54 2024/01/13 22:05:39 tom Exp @
+ * @Id: curs_threads.3x,v 1.56 2024/03/16 15:35:01 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_threads 3x 2024-01-13 ncurses 6.4 Library calls</TITLE>
+<TITLE>curs_threads 3x 2024-03-16 ncurses 6.4 Library calls</TITLE>
<link rel="author" href="mailto:bug-ncurses@gnu.org">
</HEAD>
<BODY>
-<H1 class="no-header">curs_threads 3x 2024-01-13 ncurses 6.4 Library calls</H1>
+<H1 class="no-header">curs_threads 3x 2024-03-16 ncurses 6.4 Library calls</H1>
<PRE>
<STRONG><A HREF="curs_threads.3x.html">curs_threads(3x)</A></STRONG> Library calls <STRONG><A HREF="curs_threads.3x.html">curs_threads(3x)</A></STRONG>
-ncurses 6.4 2024-01-13 <STRONG><A HREF="curs_threads.3x.html">curs_threads(3x)</A></STRONG>
+ncurses 6.4 2024-03-16 <STRONG><A HREF="curs_threads.3x.html">curs_threads(3x)</A></STRONG>
</PRE>
<div class="nav">
<ul>
<!--
****************************************************************************
- * Copyright 2018-2022,2023 Thomas E. Dickey *
+ * Copyright 2018-2023,2024 Thomas E. Dickey *
* Copyright 1998-2015,2017 Free Software Foundation, Inc. *
* *
* Permission is hereby granted, free of charge, to any person obtaining a *
* sale, use or other dealings in this Software without prior written *
* authorization. *
****************************************************************************
- * @Id: curs_touch.3x,v 1.42 2023/11/25 14:08:05 tom Exp @
+ * @Id: curs_touch.3x,v 1.44 2024/03/16 15:49:58 tom Exp @
-->
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN">
<HTML>
<HEAD>
<meta http-equiv="Content-Type" content="text/html; charset=us-ascii">
<meta name="generator" content="Manpage converted by man2html - see https://invisible-island.net/scripts/readme.html#others_scripts">
-<TITLE>curs_touch 3x 2023-11-25 ncurses 6.4 Library calls</TITLE>
+<TITLE>curs_touch 3x 2024-03-16 ncurses 6.4 Library calls</TITLE>
<link rel="author" href="mailto:bug-ncurses@gnu.org">
</HEAD>
<BODY>
-<H1 class="no-header">curs_touch 3x 2023-11-25 ncurses 6.4 Library calls</H1>
+<H1 class="no-header">curs_touch 3x 2024-03-16 ncurses 6.4 Library calls</H1>
<PRE>
<STRONG><A HREF="curs_touch.3x.html">curs_touch(3x)</A></STRONG> Library calls <STRONG><A HREF="curs_touch.3x.html">curs_touch(3x)</A></STRONG>
other than <STRONG>ERR</STRONG> upon successful completion, unless otherwise noted in
the preceding routine descriptions.
- X/Open does not define any error conditions. In this implementation
+ X/Open Curses does not specify any error conditions. In this
+ implementation
<STRONG>is_linetouched</STRONG>
- returns an error if the window pointer is null, or if the line
+ returns an error if the window pointer is null, or if the line
number is outside the window.
The constant <STRONG>ERR</STRONG> is distinct from <STRONG>TRUE</STRONG> and <STRONG>FALSE</STRONG>, which are the
- normal return values of this function. Because the function
+ normal return values of this function. Because the function
returns a <STRONG>bool</STRONG>, returning <STRONG>ERR</STRONG> (which is neither <STRONG>TRUE</STRONG> nor <STRONG>FALSE</STRONG>)
may not be supported by the compiler.
- To provide error-checking and also match the X/Open function
+ To provide error-checking and also match the X/Open function
prototype, the <STRONG>ERR</STRONG> is provided by a macro named <STRONG>is_linetouched</STRONG>.
The actual function returns <STRONG>FALSE</STRONG> when it detects an error.
<STRONG>wtouchln</STRONG>
- returns an error if the window pointer is null, or if the line
+ returns an error if the window pointer is null, or if the line
number is outside the window.
</PRE><H2><a name="h2-PORTABILITY">PORTABILITY</a></H2><PRE>
- These functions were introduced by SVr4. The Solaris <EM>curses</EM> header
+ These functions were introduced by SVr4. The Solaris <EM>curses</EM> header
file, for instance, defines both an actual function and macro for each.
- The macros give the same result as the actual functions. SVr4 <EM>curses</EM>
- does not check the window parameter <EM>win</EM> to ensure that it is not <STRONG>NULL</STRONG>;
+ The macros give the same result as the actual functions. SVr4 <EM>curses</EM>
+ does not check the window parameter <EM>win</EM> to ensure that it is not <STRONG>NULL</STRONG>;
otherwise this implementation behaves the same as SVr4.
The XSI Curses standard, Issue 4 describes these functions, but defines
-ncurses 6.4 2023-11-25 <STRONG><A HREF="curs_touch.3x.html">curs_touch(3x)</A></STRONG>
+ncurses 6.4 2024-03-16 <STRONG><A HREF="curs_touch.3x.html">curs_touch(3x)</A></STRONG>
</PRE>
<div class="nav">
<ul>
* sale, use or other dealings in this Software without prior written *
* authorization. *
****************************************************************************
- * @Id: curs_trace.3x,v 1.45 2024/03/02 16:34:00 tom Exp @
+ * @Id: curs_trace.3x,v 1.47 2024/03/16 15:35:01 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-02 ncurses 6.4 Library calls</TITLE>
+<TITLE>curs_trace 3x 2024-03-16 ncurses 6.4 Library calls</TITLE>
<link rel="author" href="mailto:bug-ncurses@gnu.org">
</HEAD>
<BODY>
-<H1 class="no-header">curs_trace 3x 2024-03-02 ncurses 6.4 Library calls</H1>
+<H1 class="no-header">curs_trace 3x 2024-03-16 ncurses 6.4 Library calls</H1>
<PRE>
<STRONG><A HREF="curs_trace.3x.html">curs_trace(3x)</A></STRONG> Library calls <STRONG><A HREF="curs_trace.3x.html">curs_trace(3x)</A></STRONG>
-ncurses 6.4 2024-03-02 <STRONG><A HREF="curs_trace.3x.html">curs_trace(3x)</A></STRONG>
+ncurses 6.4 2024-03-16 <STRONG><A HREF="curs_trace.3x.html">curs_trace(3x)</A></STRONG>
</PRE>
<div class="nav">
<ul>
* sale, use or other dealings in this Software without prior written *
* authorization. *
****************************************************************************
- * @Id: curs_util.3x,v 1.96 2024/02/24 19:22:01 tom Exp @
+ * @Id: curs_util.3x,v 1.98 2024/03/16 15:50: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_util 3x 2024-02-24 ncurses 6.4 Library calls</TITLE>
+<TITLE>curs_util 3x 2024-03-16 ncurses 6.4 Library calls</TITLE>
<link rel="author" href="mailto:bug-ncurses@gnu.org">
</HEAD>
<BODY>
-<H1 class="no-header">curs_util 3x 2024-02-24 ncurses 6.4 Library calls</H1>
+<H1 class="no-header">curs_util 3x 2024-03-16 ncurses 6.4 Library calls</H1>
<PRE>
<STRONG><A HREF="curs_util.3x.html">curs_util(3x)</A></STRONG> Library calls <STRONG><A HREF="curs_util.3x.html">curs_util(3x)</A></STRONG>
Routines that return pointers return <STRONG>NULL</STRONG> on error.
- X/Open does not define any error conditions. In this implementation
+ X/Open Curses does not specify any error conditions. In this
+ implementation
<STRONG>flushinp</STRONG>
returns an error if the terminal was not initialized.
<STRONG>putwin</STRONG>
- returns an error if the associated <STRONG>fwrite</STRONG> calls return an
+ returns an error if the associated <STRONG>fwrite</STRONG> calls return an
error.
</PRE><H2><a name="h2-PORTABILITY">PORTABILITY</a></H2><PRE>
</PRE><H3><a name="h3-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
+ 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>).
</PRE><H3><a name="h3-delay_output-padding">delay_output padding</a></H3><PRE>
- The limitation to 30 seconds and the use of <STRONG>napms</STRONG> differ from other
+ The limitation to 30 seconds and the use of <STRONG>napms</STRONG> differ from other
implementations.
<STRONG>o</STRONG> SVr4 curses does not delay if no padding character is available.
- <STRONG>o</STRONG> NetBSD curses uses <STRONG>napms</STRONG> when no padding character is available,
- but does not take timing into account when using the padding
+ <STRONG>o</STRONG> NetBSD curses uses <STRONG>napms</STRONG> when no padding character is available,
+ but does not take timing into account when using the padding
character.
Neither limits the delay.
</PRE><H3><a name="h3-keyname">keyname</a></H3><PRE>
- The <STRONG>keyname</STRONG> function may return the names of user-defined string
- capabilities which are defined in the terminfo entry via the <STRONG>-x</STRONG> option
+ The <STRONG>keyname</STRONG> function may return the names of user-defined string
+ capabilities which are defined in the terminfo entry via the <STRONG>-x</STRONG> option
of <STRONG>tic</STRONG>. This implementation automatically assigns at run-time keycodes
- to user-defined strings which begin with "k". The keycodes start at
+ to user-defined strings which begin with "k". The keycodes start at
KEY_MAX, but are not guaranteed to be the same value for different runs
- because user-defined codes are merged from all terminal descriptions
- which have been loaded. The <STRONG><A HREF="curs_extend.3x.html">use_extended_names(3x)</A></STRONG> function controls
- whether this data is loaded when the terminal description is read by
+ because user-defined codes are merged from all terminal descriptions
+ which have been loaded. The <STRONG><A HREF="curs_extend.3x.html">use_extended_names(3x)</A></STRONG> function controls
+ whether this data is loaded when the terminal description is read by
the library.
</PRE><H3><a name="h3-nofilter_use_tioctl">nofilter, use_tioctl</a></H3><PRE>
- The <STRONG>nofilter</STRONG> and <STRONG>use_tioctl</STRONG> routines are specific to <EM>ncurses</EM>. They
- were not supported on Version 7, BSD or System V implementations. It
- is recommended that any code depending on <EM>ncurses</EM> extensions be
+ The <STRONG>nofilter</STRONG> and <STRONG>use_tioctl</STRONG> routines are specific to <EM>ncurses</EM>. They
+ were 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 <STRONG>NCURSES_VERSION</STRONG>.
</PRE><H3><a name="h3-putwin_getwin-file-format">putwin/getwin file-format</a></H3><PRE>
The <STRONG>putwin</STRONG> and <STRONG>getwin</STRONG> functions have several issues with portability:
- <STRONG>o</STRONG> The files written and read by these functions use an
- implementation-specific format. Although the format is an obvious
+ <STRONG>o</STRONG> The files written and read by these functions use an
+ implementation-specific format. Although the format is an obvious
target for standardization, it has been overlooked.
- Interestingly enough, according to the copyright dates in Solaris
- source, the functions (along with <STRONG>scr_init</STRONG>, etc.) originated with
+ Interestingly enough, according to the copyright dates in Solaris
+ source, the functions (along with <STRONG>scr_init</STRONG>, etc.) originated with
the University of California, Berkeley (in 1982) and were later (in
- 1988) incorporated into SVr4. Oddly, there are no such functions
+ 1988) incorporated into SVr4. Oddly, there are no such functions
in the 4.3BSD curses sources.
<STRONG>o</STRONG> Most implementations simply dump the binary <EM>WINDOW</EM> structure to the
- file. These include SVr4 curses, NetBSD and PDCurses, as well as
+ file. These include SVr4 curses, NetBSD and PDCurses, as well as
older <EM>ncurses</EM> versions. This implementation (as well as the X/Open
variant of Solaris curses, dated 1995) uses textual dumps.
- The implementations which use binary dumps use block-I/O (the
- <STRONG>fwrite</STRONG> and <STRONG>fread</STRONG> functions). Those that use textual dumps use
+ The implementations which use binary dumps use block-I/O (the
+ <STRONG>fwrite</STRONG> and <STRONG>fread</STRONG> functions). Those that use textual dumps use
buffered-I/O. A few applications may happen to write extra data in
- the file using these functions. Doing that can run into problems
- mixing block- and buffered-I/O. This implementation reduces the
- problem on writes by flushing the output. However, reading from a
+ the file using these functions. Doing that can run into problems
+ mixing block- and buffered-I/O. This implementation reduces the
+ problem on writes by flushing the output. However, reading from a
file written using mixed schemes may not be successful.
</PRE><H3><a name="h3-unctrl_wunctrl">unctrl, wunctrl</a></H3><PRE>
- The XSI Curses standard, Issue 4 describes these functions. It states
+ 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
+ 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
+ <STRONG>o</STRONG> the parameter is a 7-bit US-ASCII code. This is the case that
X/Open Curses documented.
<STRONG>o</STRONG> the parameter is in the range 128-159, i.e., a C1 control code. If
- <STRONG><A HREF="legacy_coding.3x.html">use_legacy_coding(3x)</A></STRONG> has been called with a <STRONG>2</STRONG> parameter, <STRONG>unctrl</STRONG>
- returns the parameter, i.e., a one-character string with the
- parameter as the first character. Otherwise, it returns "~@",
+ <STRONG><A HREF="legacy_coding.3x.html">use_legacy_coding(3x)</A></STRONG> has been called with a <STRONG>2</STRONG> parameter, <STRONG>unctrl</STRONG>
+ returns the parameter, i.e., a one-character string with the
+ parameter as the first character. Otherwise, it returns "~@",
"~A", etc., analogous to "^@", "^A", C0 controls.
X/Open Curses does not document whether <STRONG>unctrl</STRONG> can be called before
pointer.
The strings returned by <STRONG>unctrl</STRONG> in this implementation are determined at
- compile time, showing C1 controls from the upper-128 codes with a "~"
- prefix rather than "^". Other implementations have different
- conventions. For example, they may show both sets of control
- characters with "^", and strip the parameter to 7 bits. Or they may
- ignore C1 controls and treat all of the upper-128 codes as printable.
- This implementation uses 8 bits but does not modify the string to
- reflect locale. The <STRONG><A HREF="legacy_coding.3x.html">use_legacy_coding(3x)</A></STRONG> function allows the caller
+ compile time, showing C1 controls from the upper-128 codes with a "~"
+ prefix rather than "^". Other implementations have different
+ conventions. For example, they may show both sets of control
+ characters with "^", and strip the parameter to 7 bits. Or they may
+ ignore C1 controls and treat all of the upper-128 codes as printable.
+ This implementation uses 8 bits but does not modify the string to
+ reflect locale. The <STRONG><A HREF="legacy_coding.3x.html">use_legacy_coding(3x)</A></STRONG> function allows the caller
to change the output of <STRONG>unctrl</STRONG>.
- Likewise, the <STRONG><A HREF="curs_inopts.3x.html">meta(3x)</A></STRONG> function allows the caller to change the output
- of <STRONG>keyname</STRONG>, i.e., it determines whether to use the "M-" prefix for
- "meta" keys (codes in the range 128 to 255). Both
- <STRONG><A HREF="legacy_coding.3x.html">use_legacy_coding(3x)</A></STRONG> and <STRONG><A HREF="curs_inopts.3x.html">meta(3x)</A></STRONG> succeed only after curses is
- initialized. X/Open Curses does not document the treatment of codes
+ Likewise, the <STRONG><A HREF="curs_inopts.3x.html">meta(3x)</A></STRONG> function allows the caller to change the output
+ of <STRONG>keyname</STRONG>, i.e., it determines whether to use the "M-" prefix for
+ "meta" keys (codes in the range 128 to 255). Both
+ <STRONG><A HREF="legacy_coding.3x.html">use_legacy_coding(3x)</A></STRONG> and <STRONG><A HREF="curs_inopts.3x.html">meta(3x)</A></STRONG> succeed only after curses is
+ initialized. X/Open Curses does not document the treatment of codes
128 to 159. When treating them as "meta" keys (or if <STRONG>keyname</STRONG> is called
- before initializing curses), this implementation returns strings
+ before initializing curses), this implementation returns strings
"M-^@", "M-^A", etc.
X/Open Curses documents <STRONG>unctrl</STRONG> as declared in <STRONG><unctrl.h></STRONG>, which <EM>ncurses</EM>
- does. However, <EM>ncurses</EM>' <STRONG><curses.h></STRONG> includes <STRONG><unctrl.h></STRONG>, matching the
+ does. However, <EM>ncurses</EM>' <STRONG><curses.h></STRONG> includes <STRONG><unctrl.h></STRONG>, matching the
behavior of SVr4 curses. Other implementations may not do that.
</PRE><H3><a name="h3-use_env_use_tioctl">use_env, use_tioctl</a></H3><PRE>
- If <EM>ncurses</EM> is configured to provide the sp-functions extension, the
- state of <STRONG>use_env</STRONG> and <STRONG>use_tioctl</STRONG> may be updated before creating each
- <EM>screen</EM> rather than once only (<STRONG><A HREF="curs_sp_funcs.3x.html">curs_sp_funcs(3x)</A></STRONG>). This feature of
+ If <EM>ncurses</EM> is configured to provide the sp-functions extension, the
+ state of <STRONG>use_env</STRONG> and <STRONG>use_tioctl</STRONG> may be updated before creating each
+ <EM>screen</EM> rather than once only (<STRONG><A HREF="curs_sp_funcs.3x.html">curs_sp_funcs(3x)</A></STRONG>). This feature of
<STRONG>use_env</STRONG> is not provided by other implementations of curses.
</PRE><H2><a name="h2-SEE-ALSO">SEE ALSO</a></H2><PRE>
- <STRONG><A HREF="ncurses.3x.html">curses(3x)</A></STRONG>, <STRONG><A HREF="curs_initscr.3x.html">curs_initscr(3x)</A></STRONG>, <STRONG><A HREF="curs_inopts.3x.html">curs_inopts(3x)</A></STRONG>, <STRONG><A HREF="curs_kernel.3x.html">curs_kernel(3x)</A></STRONG>,
+ <STRONG><A HREF="ncurses.3x.html">curses(3x)</A></STRONG>, <STRONG><A HREF="curs_initscr.3x.html">curs_initscr(3x)</A></STRONG>, <STRONG><A HREF="curs_inopts.3x.html">curs_inopts(3x)</A></STRONG>, <STRONG><A HREF="curs_kernel.3x.html">curs_kernel(3x)</A></STRONG>,
<STRONG><A HREF="curs_scr_dump.3x.html">curs_scr_dump(3x)</A></STRONG>, <STRONG><A HREF="curs_sp_funcs.3x.html">curs_sp_funcs(3x)</A></STRONG>, <STRONG><A HREF="curs_variables.3x.html">curs_variables(3x)</A></STRONG>,
<STRONG><A HREF="legacy_coding.3x.html">legacy_coding(3x)</A></STRONG>
-ncurses 6.4 2024-02-24 <STRONG><A HREF="curs_util.3x.html">curs_util(3x)</A></STRONG>
+ncurses 6.4 2024-03-16 <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_variables.3x,v 1.43 2024/01/05 21:46:58 tom Exp @
+ * @Id: curs_variables.3x,v 1.45 2024/03/16 15:35:01 tom Exp @
-->
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN">
<HTML>
<HEAD>
<meta http-equiv="Content-Type" content="text/html; charset=us-ascii">
<meta name="generator" content="Manpage converted by man2html - see https://invisible-island.net/scripts/readme.html#others_scripts">
-<TITLE>curs_variables 3x 2024-01-05 ncurses 6.4 Library calls</TITLE>
+<TITLE>curs_variables 3x 2024-03-16 ncurses 6.4 Library calls</TITLE>
<link rel="author" href="mailto:bug-ncurses@gnu.org">
</HEAD>
<BODY>
-<H1 class="no-header">curs_variables 3x 2024-01-05 ncurses 6.4 Library calls</H1>
+<H1 class="no-header">curs_variables 3x 2024-03-16 ncurses 6.4 Library calls</H1>
<PRE>
<STRONG><A HREF="curs_variables.3x.html">curs_variables(3x)</A></STRONG> Library calls <STRONG><A HREF="curs_variables.3x.html">curs_variables(3x)</A></STRONG>
-ncurses 6.4 2024-01-05 <STRONG><A HREF="curs_variables.3x.html">curs_variables(3x)</A></STRONG>
+ncurses 6.4 2024-03-16 <STRONG><A HREF="curs_variables.3x.html">curs_variables(3x)</A></STRONG>
</PRE>
<div class="nav">
<ul>
<!--
****************************************************************************
- * Copyright 2020-2022,2023 Thomas E. Dickey *
+ * Copyright 2020-2023,2024 Thomas E. Dickey *
* Copyright 1998-2015,2016 Free Software Foundation, Inc. *
* *
* Permission is hereby granted, free of charge, to any person obtaining a *
* sale, use or other dealings in this Software without prior written *
* authorization. *
****************************************************************************
- * @Id: curs_window.3x,v 1.44 2023/12/16 20:32:22 tom Exp @
+ * @Id: curs_window.3x,v 1.46 2024/03/16 15:35:01 tom Exp @
-->
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN">
<HTML>
<HEAD>
<meta http-equiv="Content-Type" content="text/html; charset=us-ascii">
<meta name="generator" content="Manpage converted by man2html - see https://invisible-island.net/scripts/readme.html#others_scripts">
-<TITLE>curs_window 3x 2023-12-16 ncurses 6.4 Library calls</TITLE>
+<TITLE>curs_window 3x 2024-03-16 ncurses 6.4 Library calls</TITLE>
<link rel="author" href="mailto:bug-ncurses@gnu.org">
</HEAD>
<BODY>
-<H1 class="no-header">curs_window 3x 2023-12-16 ncurses 6.4 Library calls</H1>
+<H1 class="no-header">curs_window 3x 2024-03-16 ncurses 6.4 Library calls</H1>
<PRE>
<STRONG><A HREF="curs_window.3x.html">curs_window(3x)</A></STRONG> Library calls <STRONG><A HREF="curs_window.3x.html">curs_window(3x)</A></STRONG>
-ncurses 6.4 2023-12-16 <STRONG><A HREF="curs_window.3x.html">curs_window(3x)</A></STRONG>
+ncurses 6.4 2024-03-16 <STRONG><A HREF="curs_window.3x.html">curs_window(3x)</A></STRONG>
</PRE>
<div class="nav">
<ul>
<!--
****************************************************************************
- * Copyright 2018-2022,2023 Thomas E. Dickey *
+ * Copyright 2018-2023,2024 Thomas E. Dickey *
* Copyright 2000-2011,2016 Free Software Foundation, Inc. *
* *
* Permission is hereby granted, free of charge, to any person obtaining a *
* authorization. *
****************************************************************************
* Author: Thomas E. Dickey 1997,1999,2000,2005
- * @Id: default_colors.3x,v 1.48 2023/12/16 20:32:22 tom Exp @
+ * @Id: default_colors.3x,v 1.50 2024/03/16 15:35:01 tom Exp @
-->
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN">
<HTML>
<HEAD>
<meta http-equiv="Content-Type" content="text/html; charset=us-ascii">
<meta name="generator" content="Manpage converted by man2html - see https://invisible-island.net/scripts/readme.html#others_scripts">
-<TITLE>default_colors 3x 2023-12-16 ncurses 6.4 Library calls</TITLE>
+<TITLE>default_colors 3x 2024-03-16 ncurses 6.4 Library calls</TITLE>
<link rel="author" href="mailto:bug-ncurses@gnu.org">
</HEAD>
<BODY>
-<H1 class="no-header">default_colors 3x 2023-12-16 ncurses 6.4 Library calls</H1>
+<H1 class="no-header">default_colors 3x 2024-03-16 ncurses 6.4 Library calls</H1>
<PRE>
<STRONG><A HREF="default_colors.3x.html">default_colors(3x)</A></STRONG> Library calls <STRONG><A HREF="default_colors.3x.html">default_colors(3x)</A></STRONG>
-ncurses 6.4 2023-12-16 <STRONG><A HREF="default_colors.3x.html">default_colors(3x)</A></STRONG>
+ncurses 6.4 2024-03-16 <STRONG><A HREF="default_colors.3x.html">default_colors(3x)</A></STRONG>
</PRE>
<div class="nav">
<ul>
<!--
****************************************************************************
- * Copyright 2018-2022,2023 Thomas E. Dickey *
+ * Copyright 2018-2023,2024 Thomas E. Dickey *
* Copyright 1998-2010,2017 Free Software Foundation, Inc. *
* *
* Permission is hereby granted, free of charge, to any person obtaining a *
* authorization. *
****************************************************************************
* Author: Thomas E. Dickey 1997
- * @Id: define_key.3x,v 1.40 2023/12/16 20:32:22 tom Exp @
+ * @Id: define_key.3x,v 1.42 2024/03/16 15:35:01 tom Exp @
-->
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN">
<HTML>
<HEAD>
<meta http-equiv="Content-Type" content="text/html; charset=us-ascii">
<meta name="generator" content="Manpage converted by man2html - see https://invisible-island.net/scripts/readme.html#others_scripts">
-<TITLE>define_key 3x 2023-12-16 ncurses 6.4 Library calls</TITLE>
+<TITLE>define_key 3x 2024-03-16 ncurses 6.4 Library calls</TITLE>
<link rel="author" href="mailto:bug-ncurses@gnu.org">
</HEAD>
<BODY>
-<H1 class="no-header">define_key 3x 2023-12-16 ncurses 6.4 Library calls</H1>
+<H1 class="no-header">define_key 3x 2024-03-16 ncurses 6.4 Library calls</H1>
<PRE>
<STRONG><A HREF="define_key.3x.html">define_key(3x)</A></STRONG> Library calls <STRONG><A HREF="define_key.3x.html">define_key(3x)</A></STRONG>
-ncurses 6.4 2023-12-16 <STRONG><A HREF="define_key.3x.html">define_key(3x)</A></STRONG>
+ncurses 6.4 2024-03-16 <STRONG><A HREF="define_key.3x.html">define_key(3x)</A></STRONG>
</PRE>
<div class="nav">
<ul>
<!--
* t
****************************************************************************
- * Copyright 2018-2021,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 *
* sale, use or other dealings in this Software without prior written *
* authorization. *
****************************************************************************
- * @Id: form.3x,v 1.52 2023/12/23 16:08:25 tom Exp @
+ * @Id: form.3x,v 1.54 2024/03/16 15:35:01 tom Exp @
-->
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN">
<HTML>
<HEAD>
<meta http-equiv="Content-Type" content="text/html; charset=us-ascii">
<meta name="generator" content="Manpage converted by man2html - see https://invisible-island.net/scripts/readme.html#others_scripts">
-<TITLE>form 3x 2023-12-23 ncurses 6.4 Library calls</TITLE>
+<TITLE>form 3x 2024-03-16 ncurses 6.4 Library calls</TITLE>
<link rel="author" href="mailto:bug-ncurses@gnu.org">
</HEAD>
<BODY>
-<H1 class="no-header">form 3x 2023-12-23 ncurses 6.4 Library calls</H1>
+<H1 class="no-header">form 3x 2024-03-16 ncurses 6.4 Library calls</H1>
<PRE>
<STRONG><A HREF="form.3x.html">form(3x)</A></STRONG> Library calls <STRONG><A HREF="form.3x.html">form(3x)</A></STRONG>
-ncurses 6.4 2023-12-23 <STRONG><A HREF="form.3x.html">form(3x)</A></STRONG>
+ncurses 6.4 2024-03-16 <STRONG><A HREF="form.3x.html">form(3x)</A></STRONG>
</PRE>
<div class="nav">
<ul>
<!--
* t
****************************************************************************
- * Copyright 2018-2022,2023 Thomas E. Dickey *
+ * Copyright 2018-2023,2024 Thomas E. Dickey *
* Copyright 1998-2010,2015 Free Software Foundation, Inc. *
* *
* Permission is hereby granted, free of charge, to any person obtaining a *
* sale, use or other dealings in this Software without prior written *
* authorization. *
****************************************************************************
- * @Id: form_cursor.3x,v 1.29 2023/11/25 13:58:47 tom Exp @
+ * @Id: form_cursor.3x,v 1.31 2024/03/16 15:35:01 tom Exp @
-->
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN">
<HTML>
<HEAD>
<meta http-equiv="Content-Type" content="text/html; charset=us-ascii">
<meta name="generator" content="Manpage converted by man2html - see https://invisible-island.net/scripts/readme.html#others_scripts">
-<TITLE>form_cursor 3x 2023-11-25 ncurses 6.4 Library calls</TITLE>
+<TITLE>form_cursor 3x 2024-03-16 ncurses 6.4 Library calls</TITLE>
<link rel="author" href="mailto:bug-ncurses@gnu.org">
</HEAD>
<BODY>
-<H1 class="no-header">form_cursor 3x 2023-11-25 ncurses 6.4 Library calls</H1>
+<H1 class="no-header">form_cursor 3x 2024-03-16 ncurses 6.4 Library calls</H1>
<PRE>
<STRONG><A HREF="form_cursor.3x.html">form_cursor(3x)</A></STRONG> Library calls <STRONG><A HREF="form_cursor.3x.html">form_cursor(3x)</A></STRONG>
-ncurses 6.4 2023-11-25 <STRONG><A HREF="form_cursor.3x.html">form_cursor(3x)</A></STRONG>
+ncurses 6.4 2024-03-16 <STRONG><A HREF="form_cursor.3x.html">form_cursor(3x)</A></STRONG>
</PRE>
<div class="nav">
<ul>
<!--
* t
****************************************************************************
- * Copyright 2018-2022,2023 Thomas E. Dickey *
+ * Copyright 2018-2023,2024 Thomas E. Dickey *
* Copyright 1998-2010,2015 Free Software Foundation, Inc. *
* *
* Permission is hereby granted, free of charge, to any person obtaining a *
* sale, use or other dealings in this Software without prior written *
* authorization. *
****************************************************************************
- * @Id: form_data.3x,v 1.30 2023/11/25 13:58:47 tom Exp @
+ * @Id: form_data.3x,v 1.32 2024/03/16 15:35:01 tom Exp @
-->
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN">
<HTML>
<HEAD>
<meta http-equiv="Content-Type" content="text/html; charset=us-ascii">
<meta name="generator" content="Manpage converted by man2html - see https://invisible-island.net/scripts/readme.html#others_scripts">
-<TITLE>form_data 3x 2023-11-25 ncurses 6.4 Library calls</TITLE>
+<TITLE>form_data 3x 2024-03-16 ncurses 6.4 Library calls</TITLE>
<link rel="author" href="mailto:bug-ncurses@gnu.org">
</HEAD>
<BODY>
-<H1 class="no-header">form_data 3x 2023-11-25 ncurses 6.4 Library calls</H1>
+<H1 class="no-header">form_data 3x 2024-03-16 ncurses 6.4 Library calls</H1>
<PRE>
<STRONG><A HREF="form_data.3x.html">form_data(3x)</A></STRONG> Library calls <STRONG><A HREF="form_data.3x.html">form_data(3x)</A></STRONG>
-ncurses 6.4 2023-11-25 <STRONG><A HREF="form_data.3x.html">form_data(3x)</A></STRONG>
+ncurses 6.4 2024-03-16 <STRONG><A HREF="form_data.3x.html">form_data(3x)</A></STRONG>
</PRE>
<div class="nav">
<ul>
* sale, use or other dealings in this Software without prior written *
* authorization. *
****************************************************************************
- * @Id: form_driver.3x,v 1.57 2024/01/13 22:05:39 tom Exp @
+ * @Id: form_driver.3x,v 1.59 2024/03/16 15:35:01 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-01-13 ncurses 6.4 Library calls</TITLE>
+<TITLE>form_driver 3x 2024-03-16 ncurses 6.4 Library calls</TITLE>
<link rel="author" href="mailto:bug-ncurses@gnu.org">
</HEAD>
<BODY>
-<H1 class="no-header">form_driver 3x 2024-01-13 ncurses 6.4 Library calls</H1>
+<H1 class="no-header">form_driver 3x 2024-03-16 ncurses 6.4 Library calls</H1>
<PRE>
<STRONG><A HREF="form_driver.3x.html">form_driver(3x)</A></STRONG> Library calls <STRONG><A HREF="form_driver.3x.html">form_driver(3x)</A></STRONG>
-ncurses 6.4 2024-01-13 <STRONG><A HREF="form_driver.3x.html">form_driver(3x)</A></STRONG>
+ncurses 6.4 2024-03-16 <STRONG><A HREF="form_driver.3x.html">form_driver(3x)</A></STRONG>
</PRE>
<div class="nav">
<ul>
<!--
* t
****************************************************************************
- * Copyright 2018-2022,2023 Thomas E. Dickey *
+ * Copyright 2018-2023,2024 Thomas E. Dickey *
* Copyright 1998-2010,2012 Free Software Foundation, Inc. *
* *
* Permission is hereby granted, free of charge, to any person obtaining a *
* sale, use or other dealings in this Software without prior written *
* authorization. *
****************************************************************************
- * @Id: form_field.3x,v 1.32 2023/11/25 13:58:47 tom Exp @
+ * @Id: form_field.3x,v 1.34 2024/03/16 15:35:01 tom Exp @
-->
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN">
<HTML>
<HEAD>
<meta http-equiv="Content-Type" content="text/html; charset=us-ascii">
<meta name="generator" content="Manpage converted by man2html - see https://invisible-island.net/scripts/readme.html#others_scripts">
-<TITLE>form_field 3x 2023-11-25 ncurses 6.4 Library calls</TITLE>
+<TITLE>form_field 3x 2024-03-16 ncurses 6.4 Library calls</TITLE>
<link rel="author" href="mailto:bug-ncurses@gnu.org">
</HEAD>
<BODY>
-<H1 class="no-header">form_field 3x 2023-11-25 ncurses 6.4 Library calls</H1>
+<H1 class="no-header">form_field 3x 2024-03-16 ncurses 6.4 Library calls</H1>
<PRE>
<STRONG><A HREF="form_field.3x.html">form_field(3x)</A></STRONG> Library calls <STRONG><A HREF="form_field.3x.html">form_field(3x)</A></STRONG>
-ncurses 6.4 2023-11-25 <STRONG><A HREF="form_field.3x.html">form_field(3x)</A></STRONG>
+ncurses 6.4 2024-03-16 <STRONG><A HREF="form_field.3x.html">form_field(3x)</A></STRONG>
</PRE>
<div class="nav">
<ul>
<!--
* t
****************************************************************************
- * Copyright 2018-2022,2023 Thomas E. Dickey *
+ * Copyright 2018-2023,2024 Thomas E. Dickey *
* Copyright 1998-2006,2010 Free Software Foundation, Inc. *
* *
* Permission is hereby granted, free of charge, to any person obtaining a *
* sale, use or other dealings in this Software without prior written *
* authorization. *
****************************************************************************
- * @Id: form_field_attributes.3x,v 1.33 2023/11/25 13:58:47 tom Exp @
+ * @Id: form_field_attributes.3x,v 1.35 2024/03/16 15:35:01 tom Exp @
-->
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN">
<HTML>
<HEAD>
<meta http-equiv="Content-Type" content="text/html; charset=us-ascii">
<meta name="generator" content="Manpage converted by man2html - see https://invisible-island.net/scripts/readme.html#others_scripts">
-<TITLE>form_field_attributes 3x 2023-11-25 ncurses 6.4 Library calls</TITLE>
+<TITLE>form_field_attributes 3x 2024-03-16 ncurses 6.4 Library calls</TITLE>
<link rel="author" href="mailto:bug-ncurses@gnu.org">
</HEAD>
<BODY>
-<H1 class="no-header">form_field_attributes 3x 2023-11-25 ncurses 6.4 Library calls</H1>
+<H1 class="no-header">form_field_attributes 3x 2024-03-16 ncurses 6.4 Library calls</H1>
<PRE>
<STRONG><A HREF="form_field_attributes.3x.html">form_field_attributes(3x)</A></STRONG> Library calls <STRONG><A HREF="form_field_attributes.3x.html">form_field_attributes(3x)</A></STRONG>
-ncurses 6.4 2023-11-25 <STRONG><A HREF="form_field_attributes.3x.html">form_field_attributes(3x)</A></STRONG>
+ncurses 6.4 2024-03-16 <STRONG><A HREF="form_field_attributes.3x.html">form_field_attributes(3x)</A></STRONG>
</PRE>
<div class="nav">
<ul>
<!--
****************************************************************************
- * Copyright 2018-2022,2023 Thomas E. Dickey *
+ * Copyright 2018-2023,2024 Thomas E. Dickey *
* Copyright 1998-2010,2017 Free Software Foundation, Inc. *
* *
* Permission is hereby granted, free of charge, to any person obtaining a *
* sale, use or other dealings in this Software without prior written *
* authorization. *
****************************************************************************
- * @Id: form_field_buffer.3x,v 1.43 2023/12/16 20:32:22 tom Exp @
+ * @Id: form_field_buffer.3x,v 1.45 2024/03/16 15:35:01 tom Exp @
-->
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN">
<HTML>
<HEAD>
<meta http-equiv="Content-Type" content="text/html; charset=us-ascii">
<meta name="generator" content="Manpage converted by man2html - see https://invisible-island.net/scripts/readme.html#others_scripts">
-<TITLE>form_field_buffer 3x 2023-12-16 ncurses 6.4 Library calls</TITLE>
+<TITLE>form_field_buffer 3x 2024-03-16 ncurses 6.4 Library calls</TITLE>
<link rel="author" href="mailto:bug-ncurses@gnu.org">
</HEAD>
<BODY>
-<H1 class="no-header">form_field_buffer 3x 2023-12-16 ncurses 6.4 Library calls</H1>
+<H1 class="no-header">form_field_buffer 3x 2024-03-16 ncurses 6.4 Library calls</H1>
<PRE>
<STRONG><A HREF="form_field_buffer.3x.html">form_field_buffer(3x)</A></STRONG> Library calls <STRONG><A HREF="form_field_buffer.3x.html">form_field_buffer(3x)</A></STRONG>
-ncurses 6.4 2023-12-16 <STRONG><A HREF="form_field_buffer.3x.html">form_field_buffer(3x)</A></STRONG>
+ncurses 6.4 2024-03-16 <STRONG><A HREF="form_field_buffer.3x.html">form_field_buffer(3x)</A></STRONG>
</PRE>
<div class="nav">
<ul>
<!--
****************************************************************************
- * Copyright 2018-2022,2023 Thomas E. Dickey *
+ * Copyright 2018-2023,2024 Thomas E. Dickey *
* Copyright 1998-2010,2015 Free Software Foundation, Inc. *
* *
* Permission is hereby granted, free of charge, to any person obtaining a *
* sale, use or other dealings in this Software without prior written *
* authorization. *
****************************************************************************
- * @Id: form_field_info.3x,v 1.30 2023/11/25 13:58:47 tom Exp @
+ * @Id: form_field_info.3x,v 1.32 2024/03/16 15:35:01 tom Exp @
-->
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN">
<HTML>
<HEAD>
<meta http-equiv="Content-Type" content="text/html; charset=us-ascii">
<meta name="generator" content="Manpage converted by man2html - see https://invisible-island.net/scripts/readme.html#others_scripts">
-<TITLE>form_field_info 3x 2023-11-25 ncurses 6.4 Library calls</TITLE>
+<TITLE>form_field_info 3x 2024-03-16 ncurses 6.4 Library calls</TITLE>
<link rel="author" href="mailto:bug-ncurses@gnu.org">
</HEAD>
<BODY>
-<H1 class="no-header">form_field_info 3x 2023-11-25 ncurses 6.4 Library calls</H1>
+<H1 class="no-header">form_field_info 3x 2024-03-16 ncurses 6.4 Library calls</H1>
<PRE>
<STRONG><A HREF="form_field_info.3x.html">form_field_info(3x)</A></STRONG> Library calls <STRONG><A HREF="form_field_info.3x.html">form_field_info(3x)</A></STRONG>
-ncurses 6.4 2023-11-25 <STRONG><A HREF="form_field_info.3x.html">form_field_info(3x)</A></STRONG>
+ncurses 6.4 2024-03-16 <STRONG><A HREF="form_field_info.3x.html">form_field_info(3x)</A></STRONG>
</PRE>
<div class="nav">
<ul>
<!--
****************************************************************************
- * Copyright 2018-2022,2023 Thomas E. Dickey *
+ * Copyright 2018-2023,2024 Thomas E. Dickey *
* Copyright 1998-2010,2015 Free Software Foundation, Inc. *
* *
* Permission is hereby granted, free of charge, to any person obtaining a *
* sale, use or other dealings in this Software without prior written *
* authorization. *
****************************************************************************
- * @Id: form_field_just.3x,v 1.33 2023/11/25 13:58:47 tom Exp @
+ * @Id: form_field_just.3x,v 1.35 2024/03/16 15:35:01 tom Exp @
-->
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN">
<HTML>
<HEAD>
<meta http-equiv="Content-Type" content="text/html; charset=us-ascii">
<meta name="generator" content="Manpage converted by man2html - see https://invisible-island.net/scripts/readme.html#others_scripts">
-<TITLE>form_field_just 3x 2023-11-25 ncurses 6.4 Library calls</TITLE>
+<TITLE>form_field_just 3x 2024-03-16 ncurses 6.4 Library calls</TITLE>
<link rel="author" href="mailto:bug-ncurses@gnu.org">
</HEAD>
<BODY>
-<H1 class="no-header">form_field_just 3x 2023-11-25 ncurses 6.4 Library calls</H1>
+<H1 class="no-header">form_field_just 3x 2024-03-16 ncurses 6.4 Library calls</H1>
<PRE>
<STRONG><A HREF="form_field_just.3x.html">form_field_just(3x)</A></STRONG> Library calls <STRONG><A HREF="form_field_just.3x.html">form_field_just(3x)</A></STRONG>
-ncurses 6.4 2023-11-25 <STRONG><A HREF="form_field_just.3x.html">form_field_just(3x)</A></STRONG>
+ncurses 6.4 2024-03-16 <STRONG><A HREF="form_field_just.3x.html">form_field_just(3x)</A></STRONG>
</PRE>
<div class="nav">
<ul>
<!--
****************************************************************************
- * Copyright 2018-2022,2023 Thomas E. Dickey *
+ * Copyright 2018-2023,2024 Thomas E. Dickey *
* Copyright 1998-2010,2015 Free Software Foundation, Inc. *
* *
* Permission is hereby granted, free of charge, to any person obtaining a *
* sale, use or other dealings in this Software without prior written *
* authorization. *
****************************************************************************
- * @Id: form_field_new.3x,v 1.39 2023/11/25 13:58:47 tom Exp @
+ * @Id: form_field_new.3x,v 1.41 2024/03/16 15:35:01 tom Exp @
-->
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN">
<HTML>
<HEAD>
<meta http-equiv="Content-Type" content="text/html; charset=us-ascii">
<meta name="generator" content="Manpage converted by man2html - see https://invisible-island.net/scripts/readme.html#others_scripts">
-<TITLE>form_field_new 3x 2023-11-25 ncurses 6.4 Library calls</TITLE>
+<TITLE>form_field_new 3x 2024-03-16 ncurses 6.4 Library calls</TITLE>
<link rel="author" href="mailto:bug-ncurses@gnu.org">
</HEAD>
<BODY>
-<H1 class="no-header">form_field_new 3x 2023-11-25 ncurses 6.4 Library calls</H1>
+<H1 class="no-header">form_field_new 3x 2024-03-16 ncurses 6.4 Library calls</H1>
<PRE>
<STRONG><A HREF="form_field_new.3x.html">form_field_new(3x)</A></STRONG> Library calls <STRONG><A HREF="form_field_new.3x.html">form_field_new(3x)</A></STRONG>
-ncurses 6.4 2023-11-25 <STRONG><A HREF="form_field_new.3x.html">form_field_new(3x)</A></STRONG>
+ncurses 6.4 2024-03-16 <STRONG><A HREF="form_field_new.3x.html">form_field_new(3x)</A></STRONG>
</PRE>
<div class="nav">
<ul>
<!--
****************************************************************************
- * Copyright 2018-2022,2023 Thomas E. Dickey *
+ * Copyright 2018-2023,2024 Thomas E. Dickey *
* Copyright 1998-2014,2015 Free Software Foundation, Inc. *
* *
* Permission is hereby granted, free of charge, to any person obtaining a *
* sale, use or other dealings in this Software without prior written *
* authorization. *
****************************************************************************
- * @Id: form_field_opts.3x,v 1.42 2023/11/25 13:58:47 tom Exp @
+ * @Id: form_field_opts.3x,v 1.44 2024/03/16 15:35:01 tom Exp @
-->
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN">
<HTML>
<HEAD>
<meta http-equiv="Content-Type" content="text/html; charset=us-ascii">
<meta name="generator" content="Manpage converted by man2html - see https://invisible-island.net/scripts/readme.html#others_scripts">
-<TITLE>form_field_opts 3x 2023-11-25 ncurses 6.4 Library calls</TITLE>
+<TITLE>form_field_opts 3x 2024-03-16 ncurses 6.4 Library calls</TITLE>
<link rel="author" href="mailto:bug-ncurses@gnu.org">
</HEAD>
<BODY>
-<H1 class="no-header">form_field_opts 3x 2023-11-25 ncurses 6.4 Library calls</H1>
+<H1 class="no-header">form_field_opts 3x 2024-03-16 ncurses 6.4 Library calls</H1>
<PRE>
<STRONG><A HREF="form_field_opts.3x.html">form_field_opts(3x)</A></STRONG> Library calls <STRONG><A HREF="form_field_opts.3x.html">form_field_opts(3x)</A></STRONG>
-ncurses 6.4 2023-11-25 <STRONG><A HREF="form_field_opts.3x.html">form_field_opts(3x)</A></STRONG>
+ncurses 6.4 2024-03-16 <STRONG><A HREF="form_field_opts.3x.html">form_field_opts(3x)</A></STRONG>
</PRE>
<div class="nav">
<ul>
<!--
****************************************************************************
- * Copyright 2018-2022,2023 Thomas E. Dickey *
+ * Copyright 2018-2023,2024 Thomas E. Dickey *
* Copyright 1998-2010,2015 Free Software Foundation, Inc. *
* *
* Permission is hereby granted, free of charge, to any person obtaining a *
* sale, use or other dealings in this Software without prior written *
* authorization. *
****************************************************************************
- * @Id: form_field_userptr.3x,v 1.28 2023/11/25 13:58:47 tom Exp @
+ * @Id: form_field_userptr.3x,v 1.30 2024/03/16 15:35:01 tom Exp @
-->
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN">
<HTML>
<HEAD>
<meta http-equiv="Content-Type" content="text/html; charset=us-ascii">
<meta name="generator" content="Manpage converted by man2html - see https://invisible-island.net/scripts/readme.html#others_scripts">
-<TITLE>form_field_userptr 3x 2023-11-25 ncurses 6.4 Library calls</TITLE>
+<TITLE>form_field_userptr 3x 2024-03-16 ncurses 6.4 Library calls</TITLE>
<link rel="author" href="mailto:bug-ncurses@gnu.org">
</HEAD>
<BODY>
-<H1 class="no-header">form_field_userptr 3x 2023-11-25 ncurses 6.4 Library calls</H1>
+<H1 class="no-header">form_field_userptr 3x 2024-03-16 ncurses 6.4 Library calls</H1>
<PRE>
<STRONG><A HREF="form_field_userptr.3x.html">form_field_userptr(3x)</A></STRONG> Library calls <STRONG><A HREF="form_field_userptr.3x.html">form_field_userptr(3x)</A></STRONG>
-ncurses 6.4 2023-11-25 <STRONG><A HREF="form_field_userptr.3x.html">form_field_userptr(3x)</A></STRONG>
+ncurses 6.4 2024-03-16 <STRONG><A HREF="form_field_userptr.3x.html">form_field_userptr(3x)</A></STRONG>
</PRE>
<div class="nav">
<ul>
<!--
****************************************************************************
- * Copyright 2018-2022,2023 Thomas E. Dickey *
+ * Copyright 2018-2023,2024 Thomas E. Dickey *
* Copyright 1998-2010,2017 Free Software Foundation, Inc. *
* *
* Permission is hereby granted, free of charge, to any person obtaining a *
* sale, use or other dealings in this Software without prior written *
* authorization. *
****************************************************************************
- * @Id: form_field_validation.3x,v 1.51 2023/12/16 20:32:22 tom Exp @
+ * @Id: form_field_validation.3x,v 1.53 2024/03/16 15:35:01 tom Exp @
-->
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN">
<HTML>
<HEAD>
<meta http-equiv="Content-Type" content="text/html; charset=us-ascii">
<meta name="generator" content="Manpage converted by man2html - see https://invisible-island.net/scripts/readme.html#others_scripts">
-<TITLE>form_field_validation 3x 2023-12-16 ncurses 6.4 Library calls</TITLE>
+<TITLE>form_field_validation 3x 2024-03-16 ncurses 6.4 Library calls</TITLE>
<link rel="author" href="mailto:bug-ncurses@gnu.org">
</HEAD>
<BODY>
-<H1 class="no-header">form_field_validation 3x 2023-12-16 ncurses 6.4 Library calls</H1>
+<H1 class="no-header">form_field_validation 3x 2024-03-16 ncurses 6.4 Library calls</H1>
<PRE>
<STRONG><A HREF="form_field_validation.3x.html">form_field_validation(3x)</A></STRONG> Library calls <STRONG><A HREF="form_field_validation.3x.html">form_field_validation(3x)</A></STRONG>
-ncurses 6.4 2023-12-16 <STRONG><A HREF="form_field_validation.3x.html">form_field_validation(3x)</A></STRONG>
+ncurses 6.4 2024-03-16 <STRONG><A HREF="form_field_validation.3x.html">form_field_validation(3x)</A></STRONG>
</PRE>
<div class="nav">
<ul>
<!--
****************************************************************************
- * Copyright 2018-2022,2023 Thomas E. Dickey *
+ * Copyright 2018-2023,2024 Thomas E. Dickey *
* Copyright 1998-2006,2010 Free Software Foundation, Inc. *
* *
* Permission is hereby granted, free of charge, to any person obtaining a *
* sale, use or other dealings in this Software without prior written *
* authorization. *
****************************************************************************
- * @Id: form_fieldtype.3x,v 1.44 2023/11/25 13:58:47 tom Exp @
+ * @Id: form_fieldtype.3x,v 1.46 2024/03/16 15:35:01 tom Exp @
-->
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN">
<HTML>
<HEAD>
<meta http-equiv="Content-Type" content="text/html; charset=us-ascii">
<meta name="generator" content="Manpage converted by man2html - see https://invisible-island.net/scripts/readme.html#others_scripts">
-<TITLE>form_fieldtype 3x 2023-11-25 ncurses 6.4 Library calls</TITLE>
+<TITLE>form_fieldtype 3x 2024-03-16 ncurses 6.4 Library calls</TITLE>
<link rel="author" href="mailto:bug-ncurses@gnu.org">
</HEAD>
<BODY>
-<H1 class="no-header">form_fieldtype 3x 2023-11-25 ncurses 6.4 Library calls</H1>
+<H1 class="no-header">form_fieldtype 3x 2024-03-16 ncurses 6.4 Library calls</H1>
<PRE>
<STRONG><A HREF="form_fieldtype.3x.html">form_fieldtype(3x)</A></STRONG> Library calls <STRONG><A HREF="form_fieldtype.3x.html">form_fieldtype(3x)</A></STRONG>
-ncurses 6.4 2023-11-25 <STRONG><A HREF="form_fieldtype.3x.html">form_fieldtype(3x)</A></STRONG>
+ncurses 6.4 2024-03-16 <STRONG><A HREF="form_fieldtype.3x.html">form_fieldtype(3x)</A></STRONG>
</PRE>
<div class="nav">
<ul>
* sale, use or other dealings in this Software without prior written *
* authorization. *
****************************************************************************
- * @Id: form_hook.3x,v 1.35 2024/01/20 18:12:04 tom Exp @
+ * @Id: form_hook.3x,v 1.37 2024/03/16 15:35:01 tom Exp @
-->
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN">
<HTML>
<HEAD>
<meta http-equiv="Content-Type" content="text/html; charset=us-ascii">
<meta name="generator" content="Manpage converted by man2html - see https://invisible-island.net/scripts/readme.html#others_scripts">
-<TITLE>form_hook 3x 2024-01-20 ncurses 6.4 Library calls</TITLE>
+<TITLE>form_hook 3x 2024-03-16 ncurses 6.4 Library calls</TITLE>
<link rel="author" href="mailto:bug-ncurses@gnu.org">
</HEAD>
<BODY>
-<H1 class="no-header">form_hook 3x 2024-01-20 ncurses 6.4 Library calls</H1>
+<H1 class="no-header">form_hook 3x 2024-03-16 ncurses 6.4 Library calls</H1>
<PRE>
<STRONG><A HREF="form_hook.3x.html">form_hook(3x)</A></STRONG> Library calls <STRONG><A HREF="form_hook.3x.html">form_hook(3x)</A></STRONG>
-ncurses 6.4 2024-01-20 <STRONG><A HREF="form_hook.3x.html">form_hook(3x)</A></STRONG>
+ncurses 6.4 2024-03-16 <STRONG><A HREF="form_hook.3x.html">form_hook(3x)</A></STRONG>
</PRE>
<div class="nav">
<ul>
<!--
****************************************************************************
- * Copyright 2018-2022,2023 Thomas E. Dickey *
+ * Copyright 2018-2023,2024 Thomas E. Dickey *
* Copyright 1998-2010,2015 Free Software Foundation, Inc. *
* *
* Permission is hereby granted, free of charge, to any person obtaining a *
* sale, use or other dealings in this Software without prior written *
* authorization. *
****************************************************************************
- * @Id: form_new.3x,v 1.30 2023/11/25 13:58:47 tom Exp @
+ * @Id: form_new.3x,v 1.32 2024/03/16 15:35:01 tom Exp @
-->
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN">
<HTML>
<HEAD>
<meta http-equiv="Content-Type" content="text/html; charset=us-ascii">
<meta name="generator" content="Manpage converted by man2html - see https://invisible-island.net/scripts/readme.html#others_scripts">
-<TITLE>form_new 3x 2023-11-25 ncurses 6.4 Library calls</TITLE>
+<TITLE>form_new 3x 2024-03-16 ncurses 6.4 Library calls</TITLE>
<link rel="author" href="mailto:bug-ncurses@gnu.org">
</HEAD>
<BODY>
-<H1 class="no-header">form_new 3x 2023-11-25 ncurses 6.4 Library calls</H1>
+<H1 class="no-header">form_new 3x 2024-03-16 ncurses 6.4 Library calls</H1>
<PRE>
<STRONG><A HREF="form_new.3x.html">form_new(3x)</A></STRONG> Library calls <STRONG><A HREF="form_new.3x.html">form_new(3x)</A></STRONG>
-ncurses 6.4 2023-11-25 <STRONG><A HREF="form_new.3x.html">form_new(3x)</A></STRONG>
+ncurses 6.4 2024-03-16 <STRONG><A HREF="form_new.3x.html">form_new(3x)</A></STRONG>
</PRE>
<div class="nav">
<ul>
<!--
****************************************************************************
- * Copyright 2018-2022,2023 Thomas E. Dickey *
+ * Copyright 2018-2023,2024 Thomas E. Dickey *
* Copyright 1998-2010,2015 Free Software Foundation, Inc. *
* *
* Permission is hereby granted, free of charge, to any person obtaining a *
* sale, use or other dealings in this Software without prior written *
* authorization. *
****************************************************************************
- * @Id: form_new_page.3x,v 1.32 2023/11/25 13:58:47 tom Exp @
+ * @Id: form_new_page.3x,v 1.34 2024/03/16 15:35:01 tom Exp @
-->
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN">
<HTML>
<HEAD>
<meta http-equiv="Content-Type" content="text/html; charset=us-ascii">
<meta name="generator" content="Manpage converted by man2html - see https://invisible-island.net/scripts/readme.html#others_scripts">
-<TITLE>form_new_page 3x 2023-11-25 ncurses 6.4 Library calls</TITLE>
+<TITLE>form_new_page 3x 2024-03-16 ncurses 6.4 Library calls</TITLE>
<link rel="author" href="mailto:bug-ncurses@gnu.org">
</HEAD>
<BODY>
-<H1 class="no-header">form_new_page 3x 2023-11-25 ncurses 6.4 Library calls</H1>
+<H1 class="no-header">form_new_page 3x 2024-03-16 ncurses 6.4 Library calls</H1>
<PRE>
<STRONG><A HREF="form_new_page.3x.html">form_new_page(3x)</A></STRONG> Library calls <STRONG><A HREF="form_new_page.3x.html">form_new_page(3x)</A></STRONG>
-ncurses 6.4 2023-11-25 <STRONG><A HREF="form_new_page.3x.html">form_new_page(3x)</A></STRONG>
+ncurses 6.4 2024-03-16 <STRONG><A HREF="form_new_page.3x.html">form_new_page(3x)</A></STRONG>
</PRE>
<div class="nav">
<ul>
<!--
****************************************************************************
- * Copyright 2018-2022,2023 Thomas E. Dickey *
+ * Copyright 2018-2023,2024 Thomas E. Dickey *
* Copyright 1998-2010,2015 Free Software Foundation, Inc. *
* *
* Permission is hereby granted, free of charge, to any person obtaining a *
* sale, use or other dealings in this Software without prior written *
* authorization. *
****************************************************************************
- * @Id: form_opts.3x,v 1.32 2023/11/25 13:58:47 tom Exp @
+ * @Id: form_opts.3x,v 1.34 2024/03/16 15:35:01 tom Exp @
-->
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN">
<HTML>
<HEAD>
<meta http-equiv="Content-Type" content="text/html; charset=us-ascii">
<meta name="generator" content="Manpage converted by man2html - see https://invisible-island.net/scripts/readme.html#others_scripts">
-<TITLE>form_opts 3x 2023-11-25 ncurses 6.4 Library calls</TITLE>
+<TITLE>form_opts 3x 2024-03-16 ncurses 6.4 Library calls</TITLE>
<link rel="author" href="mailto:bug-ncurses@gnu.org">
</HEAD>
<BODY>
-<H1 class="no-header">form_opts 3x 2023-11-25 ncurses 6.4 Library calls</H1>
+<H1 class="no-header">form_opts 3x 2024-03-16 ncurses 6.4 Library calls</H1>
<PRE>
<STRONG><A HREF="form_opts.3x.html">form_opts(3x)</A></STRONG> Library calls <STRONG><A HREF="form_opts.3x.html">form_opts(3x)</A></STRONG>
-ncurses 6.4 2023-11-25 <STRONG><A HREF="form_opts.3x.html">form_opts(3x)</A></STRONG>
+ncurses 6.4 2024-03-16 <STRONG><A HREF="form_opts.3x.html">form_opts(3x)</A></STRONG>
</PRE>
<div class="nav">
<ul>
<!--
****************************************************************************
- * Copyright 2018-2022,2023 Thomas E. Dickey *
+ * Copyright 2018-2023,2024 Thomas E. Dickey *
* Copyright 1998-2010,2016 Free Software Foundation, Inc. *
* *
* Permission is hereby granted, free of charge, to any person obtaining a *
* sale, use or other dealings in this Software without prior written *
* authorization. *
****************************************************************************
- * @Id: form_page.3x,v 1.35 2023/12/16 20:32:22 tom Exp @
+ * @Id: form_page.3x,v 1.37 2024/03/16 15:35:01 tom Exp @
-->
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN">
<HTML>
<HEAD>
<meta http-equiv="Content-Type" content="text/html; charset=us-ascii">
<meta name="generator" content="Manpage converted by man2html - see https://invisible-island.net/scripts/readme.html#others_scripts">
-<TITLE>form_page 3x 2023-12-16 ncurses 6.4 Library calls</TITLE>
+<TITLE>form_page 3x 2024-03-16 ncurses 6.4 Library calls</TITLE>
<link rel="author" href="mailto:bug-ncurses@gnu.org">
</HEAD>
<BODY>
-<H1 class="no-header">form_page 3x 2023-12-16 ncurses 6.4 Library calls</H1>
+<H1 class="no-header">form_page 3x 2024-03-16 ncurses 6.4 Library calls</H1>
<PRE>
<STRONG><A HREF="form_page.3x.html">form_page(3x)</A></STRONG> Library calls <STRONG><A HREF="form_page.3x.html">form_page(3x)</A></STRONG>
-ncurses 6.4 2023-12-16 <STRONG><A HREF="form_page.3x.html">form_page(3x)</A></STRONG>
+ncurses 6.4 2024-03-16 <STRONG><A HREF="form_page.3x.html">form_page(3x)</A></STRONG>
</PRE>
<div class="nav">
<ul>
<!--
****************************************************************************
- * Copyright 2018-2022,2023 Thomas E. Dickey *
+ * Copyright 2018-2023,2024 Thomas E. Dickey *
* Copyright 1998-2015,2017 Free Software Foundation, Inc. *
* *
* Permission is hereby granted, free of charge, to any person obtaining a *
* sale, use or other dealings in this Software without prior written *
* authorization. *
****************************************************************************
- * @Id: form_post.3x,v 1.31 2023/11/25 13:58:47 tom Exp @
+ * @Id: form_post.3x,v 1.33 2024/03/16 15:35:01 tom Exp @
-->
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN">
<HTML>
<HEAD>
<meta http-equiv="Content-Type" content="text/html; charset=us-ascii">
<meta name="generator" content="Manpage converted by man2html - see https://invisible-island.net/scripts/readme.html#others_scripts">
-<TITLE>form_post 3x 2023-11-25 ncurses 6.4 Library calls</TITLE>
+<TITLE>form_post 3x 2024-03-16 ncurses 6.4 Library calls</TITLE>
<link rel="author" href="mailto:bug-ncurses@gnu.org">
</HEAD>
<BODY>
-<H1 class="no-header">form_post 3x 2023-11-25 ncurses 6.4 Library calls</H1>
+<H1 class="no-header">form_post 3x 2024-03-16 ncurses 6.4 Library calls</H1>
<PRE>
<STRONG><A HREF="form_post.3x.html">form_post(3x)</A></STRONG> Library calls <STRONG><A HREF="form_post.3x.html">form_post(3x)</A></STRONG>
-ncurses 6.4 2023-11-25 <STRONG><A HREF="form_post.3x.html">form_post(3x)</A></STRONG>
+ncurses 6.4 2024-03-16 <STRONG><A HREF="form_post.3x.html">form_post(3x)</A></STRONG>
</PRE>
<div class="nav">
<ul>
<!--
****************************************************************************
- * Copyright 2018-2022,2023 Thomas E. Dickey *
+ * Copyright 2018-2023,2024 Thomas E. Dickey *
* Copyright 1998-2010,2015 Free Software Foundation, Inc. *
* *
* Permission is hereby granted, free of charge, to any person obtaining a *
* sale, use or other dealings in this Software without prior written *
* authorization. *
****************************************************************************
- * @Id: form_requestname.3x,v 1.33 2023/12/16 20:32:22 tom Exp @
+ * @Id: form_requestname.3x,v 1.35 2024/03/16 15:35:01 tom Exp @
-->
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN">
<HTML>
<HEAD>
<meta http-equiv="Content-Type" content="text/html; charset=us-ascii">
<meta name="generator" content="Manpage converted by man2html - see https://invisible-island.net/scripts/readme.html#others_scripts">
-<TITLE>form_requestname 3x 2023-12-16 ncurses 6.4 Library calls</TITLE>
+<TITLE>form_requestname 3x 2024-03-16 ncurses 6.4 Library calls</TITLE>
<link rel="author" href="mailto:bug-ncurses@gnu.org">
</HEAD>
<BODY>
-<H1 class="no-header">form_requestname 3x 2023-12-16 ncurses 6.4 Library calls</H1>
+<H1 class="no-header">form_requestname 3x 2024-03-16 ncurses 6.4 Library calls</H1>
<PRE>
<STRONG><A HREF="form_requestname.3x.html">form_requestname(3x)</A></STRONG> Library calls <STRONG><A HREF="form_requestname.3x.html">form_requestname(3x)</A></STRONG>
-ncurses 6.4 2023-12-16 <STRONG><A HREF="form_requestname.3x.html">form_requestname(3x)</A></STRONG>
+ncurses 6.4 2024-03-16 <STRONG><A HREF="form_requestname.3x.html">form_requestname(3x)</A></STRONG>
</PRE>
<div class="nav">
<ul>
<!--
****************************************************************************
- * Copyright 2018-2022,2023 Thomas E. Dickey *
+ * Copyright 2018-2023,2024 Thomas E. Dickey *
* Copyright 1998-2010,2015 Free Software Foundation, Inc. *
* *
* Permission is hereby granted, free of charge, to any person obtaining a *
* sale, use or other dealings in this Software without prior written *
* authorization. *
****************************************************************************
- * @Id: form_userptr.3x,v 1.34 2023/11/25 13:58:47 tom Exp @
+ * @Id: form_userptr.3x,v 1.36 2024/03/16 15:35:01 tom Exp @
-->
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN">
<HTML>
<HEAD>
<meta http-equiv="Content-Type" content="text/html; charset=us-ascii">
<meta name="generator" content="Manpage converted by man2html - see https://invisible-island.net/scripts/readme.html#others_scripts">
-<TITLE>form_userptr 3x 2023-11-25 ncurses 6.4 Library calls</TITLE>
+<TITLE>form_userptr 3x 2024-03-16 ncurses 6.4 Library calls</TITLE>
<link rel="author" href="mailto:bug-ncurses@gnu.org">
</HEAD>
<BODY>
-<H1 class="no-header">form_userptr 3x 2023-11-25 ncurses 6.4 Library calls</H1>
+<H1 class="no-header">form_userptr 3x 2024-03-16 ncurses 6.4 Library calls</H1>
<PRE>
<STRONG><A HREF="form_userptr.3x.html">form_userptr(3x)</A></STRONG> Library calls <STRONG><A HREF="form_userptr.3x.html">form_userptr(3x)</A></STRONG>
-ncurses 6.4 2023-11-25 <STRONG><A HREF="form_userptr.3x.html">form_userptr(3x)</A></STRONG>
+ncurses 6.4 2024-03-16 <STRONG><A HREF="form_userptr.3x.html">form_userptr(3x)</A></STRONG>
</PRE>
<div class="nav">
<ul>
<!--
****************************************************************************
- * Copyright 2020-2021,2023 Thomas E. Dickey *
+ * Copyright 2020-2023,2024 Thomas E. Dickey *
* Copyright 2010-2013,2017 Free Software Foundation, Inc. *
* *
* Permission is hereby granted, free of charge, to any person obtaining a *
* sale, use or other dealings in this Software without prior written *
* authorization. *
****************************************************************************
- * @Id: form_variables.3x,v 1.16 2023/10/07 21:19:07 tom Exp @
+ * @Id: form_variables.3x,v 1.18 2024/03/16 15:35:01 tom Exp @
-->
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN">
<HTML>
<HEAD>
<meta http-equiv="Content-Type" content="text/html; charset=us-ascii">
<meta name="generator" content="Manpage converted by man2html - see https://invisible-island.net/scripts/readme.html#others_scripts">
-<TITLE>form_variables 3x 2023-10-07 ncurses 6.4 Library calls</TITLE>
+<TITLE>form_variables 3x 2024-03-16 ncurses 6.4 Library calls</TITLE>
<link rel="author" href="mailto:bug-ncurses@gnu.org">
</HEAD>
<BODY>
-<H1 class="no-header">form_variables 3x 2023-10-07 ncurses 6.4 Library calls</H1>
+<H1 class="no-header">form_variables 3x 2024-03-16 ncurses 6.4 Library calls</H1>
<PRE>
<STRONG><A HREF="form_variables.3x.html">form_variables(3x)</A></STRONG> Library calls <STRONG><A HREF="form_variables.3x.html">form_variables(3x)</A></STRONG>
-ncurses 6.4 2023-10-07 <STRONG><A HREF="form_variables.3x.html">form_variables(3x)</A></STRONG>
+ncurses 6.4 2024-03-16 <STRONG><A HREF="form_variables.3x.html">form_variables(3x)</A></STRONG>
</PRE>
<div class="nav">
<ul>
<!--
****************************************************************************
- * Copyright 2018-2022,2023 Thomas E. Dickey *
+ * Copyright 2018-2023,2024 Thomas E. Dickey *
* Copyright 1998-2006,2010 Free Software Foundation, Inc. *
* *
* Permission is hereby granted, free of charge, to any person obtaining a *
* sale, use or other dealings in this Software without prior written *
* authorization. *
****************************************************************************
- * @Id: form_win.3x,v 1.33 2023/11/25 13:58:47 tom Exp @
+ * @Id: form_win.3x,v 1.35 2024/03/16 15:35:01 tom Exp @
-->
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN">
<HTML>
<HEAD>
<meta http-equiv="Content-Type" content="text/html; charset=us-ascii">
<meta name="generator" content="Manpage converted by man2html - see https://invisible-island.net/scripts/readme.html#others_scripts">
-<TITLE>form_win 3x 2023-11-25 ncurses 6.4 Library calls</TITLE>
+<TITLE>form_win 3x 2024-03-16 ncurses 6.4 Library calls</TITLE>
<link rel="author" href="mailto:bug-ncurses@gnu.org">
</HEAD>
<BODY>
-<H1 class="no-header">form_win 3x 2023-11-25 ncurses 6.4 Library calls</H1>
+<H1 class="no-header">form_win 3x 2024-03-16 ncurses 6.4 Library calls</H1>
<PRE>
<STRONG><A HREF="form_win.3x.html">form_win(3x)</A></STRONG> Library calls <STRONG><A HREF="form_win.3x.html">form_win(3x)</A></STRONG>
-ncurses 6.4 2023-11-25 <STRONG><A HREF="form_win.3x.html">form_win(3x)</A></STRONG>
+ncurses 6.4 2024-03-16 <STRONG><A HREF="form_win.3x.html">form_win(3x)</A></STRONG>
</PRE>
<div class="nav">
<ul>
* sale, use or other dealings in this Software without prior written *
* authorization. *
****************************************************************************
- * @Id: infocmp.1m,v 1.107 2024/01/13 22:05:39 tom Exp @
+ * @Id: infocmp.1m,v 1.109 2024/03/16 15:35:01 tom Exp @
-->
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN">
<HTML>
<HEAD>
<meta http-equiv="Content-Type" content="text/html; charset=us-ascii">
<meta name="generator" content="Manpage converted by man2html - see https://invisible-island.net/scripts/readme.html#others_scripts">
-<TITLE>infocmp 1m 2024-01-13 ncurses 6.4 User commands</TITLE>
+<TITLE>infocmp 1m 2024-03-16 ncurses 6.4 User commands</TITLE>
<link rel="author" href="mailto:bug-ncurses@gnu.org">
</HEAD>
<BODY>
-<H1 class="no-header">infocmp 1m 2024-01-13 ncurses 6.4 User commands</H1>
+<H1 class="no-header">infocmp 1m 2024-03-16 ncurses 6.4 User commands</H1>
<PRE>
<STRONG><A HREF="infocmp.1m.html">infocmp(1m)</A></STRONG> User commands <STRONG><A HREF="infocmp.1m.html">infocmp(1m)</A></STRONG>
-ncurses 6.4 2024-01-13 <STRONG><A HREF="infocmp.1m.html">infocmp(1m)</A></STRONG>
+ncurses 6.4 2024-03-16 <STRONG><A HREF="infocmp.1m.html">infocmp(1m)</A></STRONG>
</PRE>
<div class="nav">
<ul>
<!--
****************************************************************************
- * Copyright 2018-2022,2023 Thomas E. Dickey *
+ * Copyright 2018-2023,2024 Thomas E. Dickey *
* Copyright 1999-2010,2016 Free Software Foundation, Inc. *
* *
* Permission is hereby granted, free of charge, to any person obtaining a *
* sale, use or other dealings in this Software without prior written *
* authorization. *
****************************************************************************
- * @Id: infotocap.1m,v 1.39 2023/12/10 14:12:43 tom Exp @
+ * @Id: infotocap.1m,v 1.41 2024/03/16 15:35:01 tom Exp @
-->
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN">
<HTML>
<HEAD>
<meta http-equiv="Content-Type" content="text/html; charset=us-ascii">
<meta name="generator" content="Manpage converted by man2html - see https://invisible-island.net/scripts/readme.html#others_scripts">
-<TITLE>infotocap 1m 2023-12-10 ncurses 6.4 User commands</TITLE>
+<TITLE>infotocap 1m 2024-03-16 ncurses 6.4 User commands</TITLE>
<link rel="author" href="mailto:bug-ncurses@gnu.org">
</HEAD>
<BODY>
-<H1 class="no-header">infotocap 1m 2023-12-10 ncurses 6.4 User commands</H1>
+<H1 class="no-header">infotocap 1m 2024-03-16 ncurses 6.4 User commands</H1>
<PRE>
<STRONG><A HREF="infotocap.1m.html">infotocap(1m)</A></STRONG> User commands <STRONG><A HREF="infotocap.1m.html">infotocap(1m)</A></STRONG>
-ncurses 6.4 2023-12-10 <STRONG><A HREF="infotocap.1m.html">infotocap(1m)</A></STRONG>
+ncurses 6.4 2024-03-16 <STRONG><A HREF="infotocap.1m.html">infotocap(1m)</A></STRONG>
</PRE>
<div class="nav">
<ul>
<!--
****************************************************************************
- * Copyright 2018-2022,2023 Thomas E. Dickey *
+ * Copyright 2018-2023,2024 Thomas E. Dickey *
* Copyright 2003-2006,2010 Free Software Foundation, Inc. *
* *
* Permission is hereby granted, free of charge, to any person obtaining a *
* authorization. *
****************************************************************************
* Author: Thomas E. Dickey 2003
- * @Id: key_defined.3x,v 1.32 2023/12/16 20:32:22 tom Exp @
+ * @Id: key_defined.3x,v 1.34 2024/03/16 15:35:01 tom Exp @
-->
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN">
<HTML>
<HEAD>
<meta http-equiv="Content-Type" content="text/html; charset=us-ascii">
<meta name="generator" content="Manpage converted by man2html - see https://invisible-island.net/scripts/readme.html#others_scripts">
-<TITLE>key_defined 3x 2023-12-16 ncurses 6.4 Library calls</TITLE>
+<TITLE>key_defined 3x 2024-03-16 ncurses 6.4 Library calls</TITLE>
<link rel="author" href="mailto:bug-ncurses@gnu.org">
</HEAD>
<BODY>
-<H1 class="no-header">key_defined 3x 2023-12-16 ncurses 6.4 Library calls</H1>
+<H1 class="no-header">key_defined 3x 2024-03-16 ncurses 6.4 Library calls</H1>
<PRE>
<STRONG><A HREF="key_defined.3x.html">key_defined(3x)</A></STRONG> Library calls <STRONG><A HREF="key_defined.3x.html">key_defined(3x)</A></STRONG>
-ncurses 6.4 2023-12-16 <STRONG><A HREF="key_defined.3x.html">key_defined(3x)</A></STRONG>
+ncurses 6.4 2024-03-16 <STRONG><A HREF="key_defined.3x.html">key_defined(3x)</A></STRONG>
</PRE>
<div class="nav">
<ul>
<!--
****************************************************************************
- * Copyright 2018-2022,2023 Thomas E. Dickey *
+ * Copyright 2018-2023,2024 Thomas E. Dickey *
* Copyright 1999-2008,2010 Free Software Foundation, Inc. *
* *
* Permission is hereby granted, free of charge, to any person obtaining a *
* authorization. *
****************************************************************************
* Author: Thomas E. Dickey 1999
- * @Id: keybound.3x,v 1.34 2023/12/16 20:32:22 tom Exp @
+ * @Id: keybound.3x,v 1.36 2024/03/16 15:35:01 tom Exp @
-->
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN">
<HTML>
<HEAD>
<meta http-equiv="Content-Type" content="text/html; charset=us-ascii">
<meta name="generator" content="Manpage converted by man2html - see https://invisible-island.net/scripts/readme.html#others_scripts">
-<TITLE>keybound 3x 2023-12-16 ncurses 6.4 Library calls</TITLE>
+<TITLE>keybound 3x 2024-03-16 ncurses 6.4 Library calls</TITLE>
<link rel="author" href="mailto:bug-ncurses@gnu.org">
</HEAD>
<BODY>
-<H1 class="no-header">keybound 3x 2023-12-16 ncurses 6.4 Library calls</H1>
+<H1 class="no-header">keybound 3x 2024-03-16 ncurses 6.4 Library calls</H1>
<PRE>
<STRONG><A HREF="keybound.3x.html">keybound(3x)</A></STRONG> Library calls <STRONG><A HREF="keybound.3x.html">keybound(3x)</A></STRONG>
-ncurses 6.4 2023-12-16 <STRONG><A HREF="keybound.3x.html">keybound(3x)</A></STRONG>
+ncurses 6.4 2024-03-16 <STRONG><A HREF="keybound.3x.html">keybound(3x)</A></STRONG>
</PRE>
<div class="nav">
<ul>
<!--
****************************************************************************
- * Copyright 2018-2022,2023 Thomas E. Dickey *
+ * Copyright 2018-2023,2024 Thomas E. Dickey *
* Copyright 1998-2010,2017 Free Software Foundation, Inc. *
* *
* Permission is hereby granted, free of charge, to any person obtaining a *
* authorization. *
****************************************************************************
* Author: Thomas E. Dickey 1997
- * @Id: keyok.3x,v 1.38 2023/12/16 20:32:22 tom Exp @
+ * @Id: keyok.3x,v 1.40 2024/03/16 15:35:01 tom Exp @
-->
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN">
<HTML>
<HEAD>
<meta http-equiv="Content-Type" content="text/html; charset=us-ascii">
<meta name="generator" content="Manpage converted by man2html - see https://invisible-island.net/scripts/readme.html#others_scripts">
-<TITLE>keyok 3x 2023-12-16 ncurses 6.4 Library calls</TITLE>
+<TITLE>keyok 3x 2024-03-16 ncurses 6.4 Library calls</TITLE>
<link rel="author" href="mailto:bug-ncurses@gnu.org">
</HEAD>
<BODY>
-<H1 class="no-header">keyok 3x 2023-12-16 ncurses 6.4 Library calls</H1>
+<H1 class="no-header">keyok 3x 2024-03-16 ncurses 6.4 Library calls</H1>
<PRE>
<STRONG><A HREF="keyok.3x.html">keyok(3x)</A></STRONG> Library calls <STRONG><A HREF="keyok.3x.html">keyok(3x)</A></STRONG>
-ncurses 6.4 2023-12-16 <STRONG><A HREF="keyok.3x.html">keyok(3x)</A></STRONG>
+ncurses 6.4 2024-03-16 <STRONG><A HREF="keyok.3x.html">keyok(3x)</A></STRONG>
</PRE>
<div class="nav">
<ul>
<!--
****************************************************************************
- * Copyright 2020-2022,2023 Thomas E. Dickey *
+ * Copyright 2020-2023,2024 Thomas E. Dickey *
* Copyright 2005-2016,2017 Free Software Foundation, Inc. *
* *
* Permission is hereby granted, free of charge, to any person obtaining a *
* authorization. *
****************************************************************************
* Author: Thomas E. Dickey
- * @Id: legacy_coding.3x,v 1.24 2023/12/16 20:32:22 tom Exp @
+ * @Id: legacy_coding.3x,v 1.26 2024/03/16 15:35:01 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 2023-12-16 ncurses 6.4 Library calls</TITLE>
+<TITLE>legacy_coding 3x 2024-03-16 ncurses 6.4 Library calls</TITLE>
<link rel="author" href="mailto:bug-ncurses@gnu.org">
</HEAD>
<BODY>
-<H1 class="no-header">legacy_coding 3x 2023-12-16 ncurses 6.4 Library calls</H1>
+<H1 class="no-header">legacy_coding 3x 2024-03-16 ncurses 6.4 Library calls</H1>
<PRE>
<STRONG><A HREF="legacy_coding.3x.html">legacy_coding(3x)</A></STRONG> Library calls <STRONG><A HREF="legacy_coding.3x.html">legacy_coding(3x)</A></STRONG>
-ncurses 6.4 2023-12-16 <STRONG><A HREF="legacy_coding.3x.html">legacy_coding(3x)</A></STRONG>
+ncurses 6.4 2024-03-16 <STRONG><A HREF="legacy_coding.3x.html">legacy_coding(3x)</A></STRONG>
</PRE>
<div class="nav">
<ul>
<!--
* t
****************************************************************************
- * Copyright 2018-2021,2023 Thomas E. Dickey *
+ * Copyright 2018-2023,2024 Thomas E. Dickey *
* Copyright 1998-2014,2017 Free Software Foundation, Inc. *
* *
* Permission is hereby granted, free of charge, to any person obtaining a *
* sale, use or other dealings in this Software without prior written *
* authorization. *
****************************************************************************
- * @Id: menu.3x,v 1.43 2023/12/23 16:08:25 tom Exp @
+ * @Id: menu.3x,v 1.45 2024/03/16 15:35:01 tom Exp @
-->
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN">
<HTML>
<HEAD>
<meta http-equiv="Content-Type" content="text/html; charset=us-ascii">
<meta name="generator" content="Manpage converted by man2html - see https://invisible-island.net/scripts/readme.html#others_scripts">
-<TITLE>menu 3x 2023-12-23 ncurses 6.4 Library calls</TITLE>
+<TITLE>menu 3x 2024-03-16 ncurses 6.4 Library calls</TITLE>
<link rel="author" href="mailto:bug-ncurses@gnu.org">
</HEAD>
<BODY>
-<H1 class="no-header">menu 3x 2023-12-23 ncurses 6.4 Library calls</H1>
+<H1 class="no-header">menu 3x 2024-03-16 ncurses 6.4 Library calls</H1>
<PRE>
<STRONG><A HREF="menu.3x.html">menu(3x)</A></STRONG> Library calls <STRONG><A HREF="menu.3x.html">menu(3x)</A></STRONG>
-ncurses 6.4 2023-12-23 <STRONG><A HREF="menu.3x.html">menu(3x)</A></STRONG>
+ncurses 6.4 2024-03-16 <STRONG><A HREF="menu.3x.html">menu(3x)</A></STRONG>
</PRE>
<div class="nav">
<ul>
<!--
****************************************************************************
- * Copyright 2018-2022,2023 Thomas E. Dickey *
+ * Copyright 2018-2023,2024 Thomas E. Dickey *
* Copyright 1998-2010,2015 Free Software Foundation, Inc. *
* *
* Permission is hereby granted, free of charge, to any person obtaining a *
* sale, use or other dealings in this Software without prior written *
* authorization. *
****************************************************************************
- * @Id: menu_attributes.3x,v 1.34 2023/11/25 13:58:47 tom Exp @
+ * @Id: menu_attributes.3x,v 1.36 2024/03/16 15:35:01 tom Exp @
-->
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN">
<HTML>
<HEAD>
<meta http-equiv="Content-Type" content="text/html; charset=us-ascii">
<meta name="generator" content="Manpage converted by man2html - see https://invisible-island.net/scripts/readme.html#others_scripts">
-<TITLE>menu_attributes 3x 2023-11-25 ncurses 6.4 Library calls</TITLE>
+<TITLE>menu_attributes 3x 2024-03-16 ncurses 6.4 Library calls</TITLE>
<link rel="author" href="mailto:bug-ncurses@gnu.org">
</HEAD>
<BODY>
-<H1 class="no-header">menu_attributes 3x 2023-11-25 ncurses 6.4 Library calls</H1>
+<H1 class="no-header">menu_attributes 3x 2024-03-16 ncurses 6.4 Library calls</H1>
<PRE>
<STRONG><A HREF="menu_attributes.3x.html">menu_attributes(3x)</A></STRONG> Library calls <STRONG><A HREF="menu_attributes.3x.html">menu_attributes(3x)</A></STRONG>
-ncurses 6.4 2023-11-25 <STRONG><A HREF="menu_attributes.3x.html">menu_attributes(3x)</A></STRONG>
+ncurses 6.4 2024-03-16 <STRONG><A HREF="menu_attributes.3x.html">menu_attributes(3x)</A></STRONG>
</PRE>
<div class="nav">
<ul>
<!--
****************************************************************************
- * Copyright 2018-2022,2023 Thomas E. Dickey *
+ * Copyright 2018-2023,2024 Thomas E. Dickey *
* Copyright 1998-2010,2015 Free Software Foundation, Inc. *
* *
* Permission is hereby granted, free of charge, to any person obtaining a *
* sale, use or other dealings in this Software without prior written *
* authorization. *
****************************************************************************
- * @Id: menu_cursor.3x,v 1.28 2023/11/25 13:58:47 tom Exp @
+ * @Id: menu_cursor.3x,v 1.30 2024/03/16 15:35:01 tom Exp @
-->
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN">
<HTML>
<HEAD>
<meta http-equiv="Content-Type" content="text/html; charset=us-ascii">
<meta name="generator" content="Manpage converted by man2html - see https://invisible-island.net/scripts/readme.html#others_scripts">
-<TITLE>menu_cursor 3x 2023-11-25 ncurses 6.4 Library calls</TITLE>
+<TITLE>menu_cursor 3x 2024-03-16 ncurses 6.4 Library calls</TITLE>
<link rel="author" href="mailto:bug-ncurses@gnu.org">
</HEAD>
<BODY>
-<H1 class="no-header">menu_cursor 3x 2023-11-25 ncurses 6.4 Library calls</H1>
+<H1 class="no-header">menu_cursor 3x 2024-03-16 ncurses 6.4 Library calls</H1>
<PRE>
<STRONG><A HREF="menu_cursor.3x.html">menu_cursor(3x)</A></STRONG> Library calls <STRONG><A HREF="menu_cursor.3x.html">menu_cursor(3x)</A></STRONG>
-ncurses 6.4 2023-11-25 <STRONG><A HREF="menu_cursor.3x.html">menu_cursor(3x)</A></STRONG>
+ncurses 6.4 2024-03-16 <STRONG><A HREF="menu_cursor.3x.html">menu_cursor(3x)</A></STRONG>
</PRE>
<div class="nav">
<ul>
<!--
****************************************************************************
- * Copyright 2018-2022,2023 Thomas E. Dickey *
+ * Copyright 2018-2023,2024 Thomas E. Dickey *
* Copyright 1998-2010,2017 Free Software Foundation, Inc. *
* *
* Permission is hereby granted, free of charge, to any person obtaining a *
* sale, use or other dealings in this Software without prior written *
* authorization. *
****************************************************************************
- * @Id: menu_driver.3x,v 1.45 2023/12/23 16:08:25 tom Exp @
+ * @Id: menu_driver.3x,v 1.47 2024/03/16 15:35:01 tom Exp @
-->
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN">
<HTML>
<HEAD>
<meta http-equiv="Content-Type" content="text/html; charset=us-ascii">
<meta name="generator" content="Manpage converted by man2html - see https://invisible-island.net/scripts/readme.html#others_scripts">
-<TITLE>menu_driver 3x 2023-12-23 ncurses 6.4 Library calls</TITLE>
+<TITLE>menu_driver 3x 2024-03-16 ncurses 6.4 Library calls</TITLE>
<link rel="author" href="mailto:bug-ncurses@gnu.org">
</HEAD>
<BODY>
-<H1 class="no-header">menu_driver 3x 2023-12-23 ncurses 6.4 Library calls</H1>
+<H1 class="no-header">menu_driver 3x 2024-03-16 ncurses 6.4 Library calls</H1>
<PRE>
<STRONG><A HREF="menu_driver.3x.html">menu_driver(3x)</A></STRONG> Library calls <STRONG><A HREF="menu_driver.3x.html">menu_driver(3x)</A></STRONG>
-ncurses 6.4 2023-12-23 <STRONG><A HREF="menu_driver.3x.html">menu_driver(3x)</A></STRONG>
+ncurses 6.4 2024-03-16 <STRONG><A HREF="menu_driver.3x.html">menu_driver(3x)</A></STRONG>
</PRE>
<div class="nav">
<ul>
<!--
****************************************************************************
- * Copyright 2018-2022,2023 Thomas E. Dickey *
+ * Copyright 2018-2023,2024 Thomas E. Dickey *
* Copyright 1998-2015,2016 Free Software Foundation, Inc. *
* *
* Permission is hereby granted, free of charge, to any person obtaining a *
* sale, use or other dealings in this Software without prior written *
* authorization. *
****************************************************************************
- * @Id: menu_format.3x,v 1.33 2023/11/25 13:58:47 tom Exp @
+ * @Id: menu_format.3x,v 1.35 2024/03/16 15:35:01 tom Exp @
-->
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN">
<HTML>
<HEAD>
<meta http-equiv="Content-Type" content="text/html; charset=us-ascii">
<meta name="generator" content="Manpage converted by man2html - see https://invisible-island.net/scripts/readme.html#others_scripts">
-<TITLE>menu_format 3x 2023-11-25 ncurses 6.4 Library calls</TITLE>
+<TITLE>menu_format 3x 2024-03-16 ncurses 6.4 Library calls</TITLE>
<link rel="author" href="mailto:bug-ncurses@gnu.org">
</HEAD>
<BODY>
-<H1 class="no-header">menu_format 3x 2023-11-25 ncurses 6.4 Library calls</H1>
+<H1 class="no-header">menu_format 3x 2024-03-16 ncurses 6.4 Library calls</H1>
<PRE>
<STRONG><A HREF="menu_format.3x.html">menu_format(3x)</A></STRONG> Library calls <STRONG><A HREF="menu_format.3x.html">menu_format(3x)</A></STRONG>
-ncurses 6.4 2023-11-25 <STRONG><A HREF="menu_format.3x.html">menu_format(3x)</A></STRONG>
+ncurses 6.4 2024-03-16 <STRONG><A HREF="menu_format.3x.html">menu_format(3x)</A></STRONG>
</PRE>
<div class="nav">
<ul>
<!--
****************************************************************************
- * Copyright 2018-2022,2023 Thomas E. Dickey *
+ * Copyright 2018-2023,2024 Thomas E. Dickey *
* Copyright 1998-2007,2010 Free Software Foundation, Inc. *
* *
* Permission is hereby granted, free of charge, to any person obtaining a *
* sale, use or other dealings in this Software without prior written *
* authorization. *
****************************************************************************
- * @Id: menu_hook.3x,v 1.30 2023/11/25 13:58:47 tom Exp @
+ * @Id: menu_hook.3x,v 1.32 2024/03/16 15:35:01 tom Exp @
-->
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN">
<HTML>
<HEAD>
<meta http-equiv="Content-Type" content="text/html; charset=us-ascii">
<meta name="generator" content="Manpage converted by man2html - see https://invisible-island.net/scripts/readme.html#others_scripts">
-<TITLE>menu_hook 3x 2023-11-25 ncurses 6.4 Library calls</TITLE>
+<TITLE>menu_hook 3x 2024-03-16 ncurses 6.4 Library calls</TITLE>
<link rel="author" href="mailto:bug-ncurses@gnu.org">
</HEAD>
<BODY>
-<H1 class="no-header">menu_hook 3x 2023-11-25 ncurses 6.4 Library calls</H1>
+<H1 class="no-header">menu_hook 3x 2024-03-16 ncurses 6.4 Library calls</H1>
<PRE>
<STRONG><A HREF="menu_hook.3x.html">menu_hook(3x)</A></STRONG> Library calls <STRONG><A HREF="menu_hook.3x.html">menu_hook(3x)</A></STRONG>
-ncurses 6.4 2023-11-25 <STRONG><A HREF="menu_hook.3x.html">menu_hook(3x)</A></STRONG>
+ncurses 6.4 2024-03-16 <STRONG><A HREF="menu_hook.3x.html">menu_hook(3x)</A></STRONG>
</PRE>
<div class="nav">
<ul>
<!--
****************************************************************************
- * Copyright 2018-2022,2023 Thomas E. Dickey *
+ * Copyright 2018-2023,2024 Thomas E. Dickey *
* Copyright 1998-2012,2015 Free Software Foundation, Inc. *
* *
* Permission is hereby granted, free of charge, to any person obtaining a *
* sale, use or other dealings in this Software without prior written *
* authorization. *
****************************************************************************
- * @Id: menu_items.3x,v 1.32 2023/11/25 13:58:47 tom Exp @
+ * @Id: menu_items.3x,v 1.34 2024/03/16 15:35:01 tom Exp @
-->
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN">
<HTML>
<HEAD>
<meta http-equiv="Content-Type" content="text/html; charset=us-ascii">
<meta name="generator" content="Manpage converted by man2html - see https://invisible-island.net/scripts/readme.html#others_scripts">
-<TITLE>menu_items 3x 2023-11-25 ncurses 6.4 Library calls</TITLE>
+<TITLE>menu_items 3x 2024-03-16 ncurses 6.4 Library calls</TITLE>
<link rel="author" href="mailto:bug-ncurses@gnu.org">
</HEAD>
<BODY>
-<H1 class="no-header">menu_items 3x 2023-11-25 ncurses 6.4 Library calls</H1>
+<H1 class="no-header">menu_items 3x 2024-03-16 ncurses 6.4 Library calls</H1>
<PRE>
<STRONG><A HREF="menu_items.3x.html">menu_items(3x)</A></STRONG> Library calls <STRONG><A HREF="menu_items.3x.html">menu_items(3x)</A></STRONG>
-ncurses 6.4 2023-11-25 <STRONG><A HREF="menu_items.3x.html">menu_items(3x)</A></STRONG>
+ncurses 6.4 2024-03-16 <STRONG><A HREF="menu_items.3x.html">menu_items(3x)</A></STRONG>
</PRE>
<div class="nav">
<ul>
<!--
****************************************************************************
- * Copyright 2018-2022,2023 Thomas E. Dickey *
+ * Copyright 2018-2023,2024 Thomas E. Dickey *
* Copyright 1998-2010,2015 Free Software Foundation, Inc. *
* *
* Permission is hereby granted, free of charge, to any person obtaining a *
* sale, use or other dealings in this Software without prior written *
* authorization. *
****************************************************************************
- * @Id: menu_mark.3x,v 1.33 2023/11/25 13:58:47 tom Exp @
+ * @Id: menu_mark.3x,v 1.35 2024/03/16 15:35:01 tom Exp @
-->
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN">
<HTML>
<HEAD>
<meta http-equiv="Content-Type" content="text/html; charset=us-ascii">
<meta name="generator" content="Manpage converted by man2html - see https://invisible-island.net/scripts/readme.html#others_scripts">
-<TITLE>menu_mark 3x 2023-11-25 ncurses 6.4 Library calls</TITLE>
+<TITLE>menu_mark 3x 2024-03-16 ncurses 6.4 Library calls</TITLE>
<link rel="author" href="mailto:bug-ncurses@gnu.org">
</HEAD>
<BODY>
-<H1 class="no-header">menu_mark 3x 2023-11-25 ncurses 6.4 Library calls</H1>
+<H1 class="no-header">menu_mark 3x 2024-03-16 ncurses 6.4 Library calls</H1>
<PRE>
<STRONG><A HREF="menu_mark.3x.html">menu_mark(3x)</A></STRONG> Library calls <STRONG><A HREF="menu_mark.3x.html">menu_mark(3x)</A></STRONG>
-ncurses 6.4 2023-11-25 <STRONG><A HREF="menu_mark.3x.html">menu_mark(3x)</A></STRONG>
+ncurses 6.4 2024-03-16 <STRONG><A HREF="menu_mark.3x.html">menu_mark(3x)</A></STRONG>
</PRE>
<div class="nav">
<ul>
<!--
****************************************************************************
- * Copyright 2018-2022,2023 Thomas E. Dickey *
+ * Copyright 2018-2023,2024 Thomas E. Dickey *
* Copyright 1998-2010,2015 Free Software Foundation, Inc. *
* *
* Permission is hereby granted, free of charge, to any person obtaining a *
* sale, use or other dealings in this Software without prior written *
* authorization. *
****************************************************************************
- * @Id: menu_new.3x,v 1.33 2023/11/25 13:58:47 tom Exp @
+ * @Id: menu_new.3x,v 1.35 2024/03/16 15:35:01 tom Exp @
-->
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN">
<HTML>
<HEAD>
<meta http-equiv="Content-Type" content="text/html; charset=us-ascii">
<meta name="generator" content="Manpage converted by man2html - see https://invisible-island.net/scripts/readme.html#others_scripts">
-<TITLE>menu_new 3x 2023-11-25 ncurses 6.4 Library calls</TITLE>
+<TITLE>menu_new 3x 2024-03-16 ncurses 6.4 Library calls</TITLE>
<link rel="author" href="mailto:bug-ncurses@gnu.org">
</HEAD>
<BODY>
-<H1 class="no-header">menu_new 3x 2023-11-25 ncurses 6.4 Library calls</H1>
+<H1 class="no-header">menu_new 3x 2024-03-16 ncurses 6.4 Library calls</H1>
<PRE>
<STRONG><A HREF="menu_new.3x.html">menu_new(3x)</A></STRONG> Library calls <STRONG><A HREF="menu_new.3x.html">menu_new(3x)</A></STRONG>
-ncurses 6.4 2023-11-25 <STRONG><A HREF="menu_new.3x.html">menu_new(3x)</A></STRONG>
+ncurses 6.4 2024-03-16 <STRONG><A HREF="menu_new.3x.html">menu_new(3x)</A></STRONG>
</PRE>
<div class="nav">
<ul>
<!--
****************************************************************************
- * Copyright 2018-2022,2023 Thomas E. Dickey *
+ * Copyright 2018-2023,2024 Thomas E. Dickey *
* Copyright 1998-2015,2016 Free Software Foundation, Inc. *
* *
* Permission is hereby granted, free of charge, to any person obtaining a *
* sale, use or other dealings in this Software without prior written *
* authorization. *
****************************************************************************
- * @Id: menu_opts.3x,v 1.33 2023/11/25 13:58:47 tom Exp @
+ * @Id: menu_opts.3x,v 1.35 2024/03/16 15:35:01 tom Exp @
-->
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN">
<HTML>
<HEAD>
<meta http-equiv="Content-Type" content="text/html; charset=us-ascii">
<meta name="generator" content="Manpage converted by man2html - see https://invisible-island.net/scripts/readme.html#others_scripts">
-<TITLE>menu_opts 3x 2023-11-25 ncurses 6.4 Library calls</TITLE>
+<TITLE>menu_opts 3x 2024-03-16 ncurses 6.4 Library calls</TITLE>
<link rel="author" href="mailto:bug-ncurses@gnu.org">
</HEAD>
<BODY>
-<H1 class="no-header">menu_opts 3x 2023-11-25 ncurses 6.4 Library calls</H1>
+<H1 class="no-header">menu_opts 3x 2024-03-16 ncurses 6.4 Library calls</H1>
<PRE>
<STRONG><A HREF="menu_opts.3x.html">menu_opts(3x)</A></STRONG> Library calls <STRONG><A HREF="menu_opts.3x.html">menu_opts(3x)</A></STRONG>
-ncurses 6.4 2023-11-25 <STRONG><A HREF="menu_opts.3x.html">menu_opts(3x)</A></STRONG>
+ncurses 6.4 2024-03-16 <STRONG><A HREF="menu_opts.3x.html">menu_opts(3x)</A></STRONG>
</PRE>
<div class="nav">
<ul>
<!--
****************************************************************************
- * Copyright 2018-2022,2023 Thomas E. Dickey *
+ * Copyright 2018-2023,2024 Thomas E. Dickey *
* Copyright 1998-2010,2015 Free Software Foundation, Inc. *
* *
* Permission is hereby granted, free of charge, to any person obtaining a *
* sale, use or other dealings in this Software without prior written *
* authorization. *
****************************************************************************
- * @Id: menu_pattern.3x,v 1.36 2023/11/25 13:58:47 tom Exp @
+ * @Id: menu_pattern.3x,v 1.38 2024/03/16 15:35:01 tom Exp @
-->
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN">
<HTML>
<HEAD>
<meta http-equiv="Content-Type" content="text/html; charset=us-ascii">
<meta name="generator" content="Manpage converted by man2html - see https://invisible-island.net/scripts/readme.html#others_scripts">
-<TITLE>menu_pattern 3x 2023-11-25 ncurses 6.4 Library calls</TITLE>
+<TITLE>menu_pattern 3x 2024-03-16 ncurses 6.4 Library calls</TITLE>
<link rel="author" href="mailto:bug-ncurses@gnu.org">
</HEAD>
<BODY>
-<H1 class="no-header">menu_pattern 3x 2023-11-25 ncurses 6.4 Library calls</H1>
+<H1 class="no-header">menu_pattern 3x 2024-03-16 ncurses 6.4 Library calls</H1>
<PRE>
<STRONG><A HREF="menu_pattern.3x.html">menu_pattern(3x)</A></STRONG> Library calls <STRONG><A HREF="menu_pattern.3x.html">menu_pattern(3x)</A></STRONG>
-ncurses 6.4 2023-11-25 <STRONG><A HREF="menu_pattern.3x.html">menu_pattern(3x)</A></STRONG>
+ncurses 6.4 2024-03-16 <STRONG><A HREF="menu_pattern.3x.html">menu_pattern(3x)</A></STRONG>
</PRE>
<div class="nav">
<ul>
<!--
****************************************************************************
- * 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 *
* sale, use or other dealings in this Software without prior written *
* authorization. *
****************************************************************************
- * @Id: menu_post.3x,v 1.34 2023/11/25 13:58:47 tom Exp @
+ * @Id: menu_post.3x,v 1.36 2024/03/16 15:35:01 tom Exp @
-->
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN">
<HTML>
<HEAD>
<meta http-equiv="Content-Type" content="text/html; charset=us-ascii">
<meta name="generator" content="Manpage converted by man2html - see https://invisible-island.net/scripts/readme.html#others_scripts">
-<TITLE>menu_post 3x 2023-11-25 ncurses 6.4 Library calls</TITLE>
+<TITLE>menu_post 3x 2024-03-16 ncurses 6.4 Library calls</TITLE>
<link rel="author" href="mailto:bug-ncurses@gnu.org">
</HEAD>
<BODY>
-<H1 class="no-header">menu_post 3x 2023-11-25 ncurses 6.4 Library calls</H1>
+<H1 class="no-header">menu_post 3x 2024-03-16 ncurses 6.4 Library calls</H1>
<PRE>
<STRONG><A HREF="menu_post.3x.html">menu_post(3x)</A></STRONG> Library calls <STRONG><A HREF="menu_post.3x.html">menu_post(3x)</A></STRONG>
-ncurses 6.4 2023-11-25 <STRONG><A HREF="menu_post.3x.html">menu_post(3x)</A></STRONG>
+ncurses 6.4 2024-03-16 <STRONG><A HREF="menu_post.3x.html">menu_post(3x)</A></STRONG>
</PRE>
<div class="nav">
<ul>
<!--
****************************************************************************
- * Copyright 2018-2022,2023 Thomas E. Dickey *
+ * Copyright 2018-2023,2024 Thomas E. Dickey *
* Copyright 1998-2010,2015 Free Software Foundation, Inc. *
* *
* Permission is hereby granted, free of charge, to any person obtaining a *
* sale, use or other dealings in this Software without prior written *
* authorization. *
****************************************************************************
- * @Id: menu_requestname.3x,v 1.31 2023/12/16 20:32:22 tom Exp @
+ * @Id: menu_requestname.3x,v 1.33 2024/03/16 15:35:01 tom Exp @
-->
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN">
<HTML>
<HEAD>
<meta http-equiv="Content-Type" content="text/html; charset=us-ascii">
<meta name="generator" content="Manpage converted by man2html - see https://invisible-island.net/scripts/readme.html#others_scripts">
-<TITLE>menu_requestname 3x 2023-12-16 ncurses 6.4 Library calls</TITLE>
+<TITLE>menu_requestname 3x 2024-03-16 ncurses 6.4 Library calls</TITLE>
<link rel="author" href="mailto:bug-ncurses@gnu.org">
</HEAD>
<BODY>
-<H1 class="no-header">menu_requestname 3x 2023-12-16 ncurses 6.4 Library calls</H1>
+<H1 class="no-header">menu_requestname 3x 2024-03-16 ncurses 6.4 Library calls</H1>
<PRE>
<STRONG><A HREF="menu_requestname.3x.html">menu_requestname(3x)</A></STRONG> Library calls <STRONG><A HREF="menu_requestname.3x.html">menu_requestname(3x)</A></STRONG>
-ncurses 6.4 2023-12-16 <STRONG><A HREF="menu_requestname.3x.html">menu_requestname(3x)</A></STRONG>
+ncurses 6.4 2024-03-16 <STRONG><A HREF="menu_requestname.3x.html">menu_requestname(3x)</A></STRONG>
</PRE>
<div class="nav">
<ul>
<!--
****************************************************************************
- * Copyright 2018-2022,2023 Thomas E. Dickey *
+ * Copyright 2018-2023,2024 Thomas E. Dickey *
* Copyright 1998-2010,2015 Free Software Foundation, Inc. *
* *
* Permission is hereby granted, free of charge, to any person obtaining a *
* sale, use or other dealings in this Software without prior written *
* authorization. *
****************************************************************************
- * @Id: menu_spacing.3x,v 1.35 2023/12/16 20:32:22 tom Exp @
+ * @Id: menu_spacing.3x,v 1.37 2024/03/16 15:35:01 tom Exp @
-->
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN">
<HTML>
<HEAD>
<meta http-equiv="Content-Type" content="text/html; charset=us-ascii">
<meta name="generator" content="Manpage converted by man2html - see https://invisible-island.net/scripts/readme.html#others_scripts">
-<TITLE>menu_spacing 3x 2023-12-16 ncurses 6.4 Library calls</TITLE>
+<TITLE>menu_spacing 3x 2024-03-16 ncurses 6.4 Library calls</TITLE>
<link rel="author" href="mailto:bug-ncurses@gnu.org">
</HEAD>
<BODY>
-<H1 class="no-header">menu_spacing 3x 2023-12-16 ncurses 6.4 Library calls</H1>
+<H1 class="no-header">menu_spacing 3x 2024-03-16 ncurses 6.4 Library calls</H1>
<PRE>
<STRONG><A HREF="menu_spacing.3x.html">menu_spacing(3x)</A></STRONG> Library calls <STRONG><A HREF="menu_spacing.3x.html">menu_spacing(3x)</A></STRONG>
-ncurses 6.4 2023-12-16 <STRONG><A HREF="menu_spacing.3x.html">menu_spacing(3x)</A></STRONG>
+ncurses 6.4 2024-03-16 <STRONG><A HREF="menu_spacing.3x.html">menu_spacing(3x)</A></STRONG>
</PRE>
<div class="nav">
<ul>
<!--
****************************************************************************
- * Copyright 2018-2022,2023 Thomas E. Dickey *
+ * Copyright 2018-2023,2024 Thomas E. Dickey *
* Copyright 1998-2010,2015 Free Software Foundation, Inc. *
* *
* Permission is hereby granted, free of charge, to any person obtaining a *
* sale, use or other dealings in this Software without prior written *
* authorization. *
****************************************************************************
- * @Id: menu_userptr.3x,v 1.31 2023/11/25 13:58:47 tom Exp @
+ * @Id: menu_userptr.3x,v 1.33 2024/03/16 15:35:01 tom Exp @
-->
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN">
<HTML>
<HEAD>
<meta http-equiv="Content-Type" content="text/html; charset=us-ascii">
<meta name="generator" content="Manpage converted by man2html - see https://invisible-island.net/scripts/readme.html#others_scripts">
-<TITLE>menu_userptr 3x 2023-11-25 ncurses 6.4 Library calls</TITLE>
+<TITLE>menu_userptr 3x 2024-03-16 ncurses 6.4 Library calls</TITLE>
<link rel="author" href="mailto:bug-ncurses@gnu.org">
</HEAD>
<BODY>
-<H1 class="no-header">menu_userptr 3x 2023-11-25 ncurses 6.4 Library calls</H1>
+<H1 class="no-header">menu_userptr 3x 2024-03-16 ncurses 6.4 Library calls</H1>
<PRE>
<STRONG><A HREF="menu_userptr.3x.html">menu_userptr(3x)</A></STRONG> Library calls <STRONG><A HREF="menu_userptr.3x.html">menu_userptr(3x)</A></STRONG>
-ncurses 6.4 2023-11-25 <STRONG><A HREF="menu_userptr.3x.html">menu_userptr(3x)</A></STRONG>
+ncurses 6.4 2024-03-16 <STRONG><A HREF="menu_userptr.3x.html">menu_userptr(3x)</A></STRONG>
</PRE>
<div class="nav">
<ul>
<!--
****************************************************************************
- * Copyright 2018-2022,2023 Thomas E. Dickey *
+ * Copyright 2018-2023,2024 Thomas E. Dickey *
* Copyright 1998-2006,2010 Free Software Foundation, Inc. *
* *
* Permission is hereby granted, free of charge, to any person obtaining a *
* sale, use or other dealings in this Software without prior written *
* authorization. *
****************************************************************************
- * @Id: menu_win.3x,v 1.30 2023/11/25 13:58:47 tom Exp @
+ * @Id: menu_win.3x,v 1.32 2024/03/16 15:35:01 tom Exp @
-->
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN">
<HTML>
<HEAD>
<meta http-equiv="Content-Type" content="text/html; charset=us-ascii">
<meta name="generator" content="Manpage converted by man2html - see https://invisible-island.net/scripts/readme.html#others_scripts">
-<TITLE>menu_win 3x 2023-11-25 ncurses 6.4 Library calls</TITLE>
+<TITLE>menu_win 3x 2024-03-16 ncurses 6.4 Library calls</TITLE>
<link rel="author" href="mailto:bug-ncurses@gnu.org">
</HEAD>
<BODY>
-<H1 class="no-header">menu_win 3x 2023-11-25 ncurses 6.4 Library calls</H1>
+<H1 class="no-header">menu_win 3x 2024-03-16 ncurses 6.4 Library calls</H1>
<PRE>
<STRONG><A HREF="menu_win.3x.html">menu_win(3x)</A></STRONG> Library calls <STRONG><A HREF="menu_win.3x.html">menu_win(3x)</A></STRONG>
-ncurses 6.4 2023-11-25 <STRONG><A HREF="menu_win.3x.html">menu_win(3x)</A></STRONG>
+ncurses 6.4 2024-03-16 <STRONG><A HREF="menu_win.3x.html">menu_win(3x)</A></STRONG>
</PRE>
<div class="nav">
<ul>
<!--
****************************************************************************
- * Copyright 2018-2022,2023 Thomas E. Dickey *
+ * Copyright 2018-2023,2024 Thomas E. Dickey *
* Copyright 1998-2006,2010 Free Software Foundation, Inc. *
* *
* Permission is hereby granted, free of charge, to any person obtaining a *
* sale, use or other dealings in this Software without prior written *
* authorization. *
****************************************************************************
- * @Id: mitem_current.3x,v 1.35 2023/11/25 13:58:47 tom Exp @
+ * @Id: mitem_current.3x,v 1.37 2024/03/16 15:35:01 tom Exp @
-->
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN">
<HTML>
<HEAD>
<meta http-equiv="Content-Type" content="text/html; charset=us-ascii">
<meta name="generator" content="Manpage converted by man2html - see https://invisible-island.net/scripts/readme.html#others_scripts">
-<TITLE>mitem_current 3x 2023-11-25 ncurses 6.4 Library calls</TITLE>
+<TITLE>mitem_current 3x 2024-03-16 ncurses 6.4 Library calls</TITLE>
<link rel="author" href="mailto:bug-ncurses@gnu.org">
</HEAD>
<BODY>
-<H1 class="no-header">mitem_current 3x 2023-11-25 ncurses 6.4 Library calls</H1>
+<H1 class="no-header">mitem_current 3x 2024-03-16 ncurses 6.4 Library calls</H1>
<PRE>
<STRONG><A HREF="mitem_current.3x.html">mitem_current(3x)</A></STRONG> Library calls <STRONG><A HREF="mitem_current.3x.html">mitem_current(3x)</A></STRONG>
-ncurses 6.4 2023-11-25 <STRONG><A HREF="mitem_current.3x.html">mitem_current(3x)</A></STRONG>
+ncurses 6.4 2024-03-16 <STRONG><A HREF="mitem_current.3x.html">mitem_current(3x)</A></STRONG>
</PRE>
<div class="nav">
<ul>
<!--
****************************************************************************
- * Copyright 2018-2022,2023 Thomas E. Dickey *
+ * Copyright 2018-2023,2024 Thomas E. Dickey *
* Copyright 1998-2010,2015 Free Software Foundation, Inc. *
* *
* Permission is hereby granted, free of charge, to any person obtaining a *
* sale, use or other dealings in this Software without prior written *
* authorization. *
****************************************************************************
- * @Id: mitem_name.3x,v 1.29 2023/11/25 13:58:47 tom Exp @
+ * @Id: mitem_name.3x,v 1.31 2024/03/16 15:35:01 tom Exp @
-->
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN">
<HTML>
<HEAD>
<meta http-equiv="Content-Type" content="text/html; charset=us-ascii">
<meta name="generator" content="Manpage converted by man2html - see https://invisible-island.net/scripts/readme.html#others_scripts">
-<TITLE>mitem_name 3x 2023-11-25 ncurses 6.4 Library calls</TITLE>
+<TITLE>mitem_name 3x 2024-03-16 ncurses 6.4 Library calls</TITLE>
<link rel="author" href="mailto:bug-ncurses@gnu.org">
</HEAD>
<BODY>
-<H1 class="no-header">mitem_name 3x 2023-11-25 ncurses 6.4 Library calls</H1>
+<H1 class="no-header">mitem_name 3x 2024-03-16 ncurses 6.4 Library calls</H1>
<PRE>
<STRONG><A HREF="mitem_name.3x.html">mitem_name(3x)</A></STRONG> Library calls <STRONG><A HREF="mitem_name.3x.html">mitem_name(3x)</A></STRONG>
-ncurses 6.4 2023-11-25 <STRONG><A HREF="mitem_name.3x.html">mitem_name(3x)</A></STRONG>
+ncurses 6.4 2024-03-16 <STRONG><A HREF="mitem_name.3x.html">mitem_name(3x)</A></STRONG>
</PRE>
<div class="nav">
<ul>
<!--
****************************************************************************
- * Copyright 2018-2022,2023 Thomas E. Dickey *
+ * Copyright 2018-2023,2024 Thomas E. Dickey *
* Copyright 1998-2010,2015 Free Software Foundation, Inc. *
* *
* Permission is hereby granted, free of charge, to any person obtaining a *
* sale, use or other dealings in this Software without prior written *
* authorization. *
****************************************************************************
- * @Id: mitem_new.3x,v 1.34 2023/11/25 13:58:47 tom Exp @
+ * @Id: mitem_new.3x,v 1.36 2024/03/16 15:35:01 tom Exp @
-->
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN">
<HTML>
<HEAD>
<meta http-equiv="Content-Type" content="text/html; charset=us-ascii">
<meta name="generator" content="Manpage converted by man2html - see https://invisible-island.net/scripts/readme.html#others_scripts">
-<TITLE>mitem_new 3x 2023-11-25 ncurses 6.4 Library calls</TITLE>
+<TITLE>mitem_new 3x 2024-03-16 ncurses 6.4 Library calls</TITLE>
<link rel="author" href="mailto:bug-ncurses@gnu.org">
</HEAD>
<BODY>
-<H1 class="no-header">mitem_new 3x 2023-11-25 ncurses 6.4 Library calls</H1>
+<H1 class="no-header">mitem_new 3x 2024-03-16 ncurses 6.4 Library calls</H1>
<PRE>
<STRONG><A HREF="mitem_new.3x.html">mitem_new(3x)</A></STRONG> Library calls <STRONG><A HREF="mitem_new.3x.html">mitem_new(3x)</A></STRONG>
-ncurses 6.4 2023-11-25 <STRONG><A HREF="mitem_new.3x.html">mitem_new(3x)</A></STRONG>
+ncurses 6.4 2024-03-16 <STRONG><A HREF="mitem_new.3x.html">mitem_new(3x)</A></STRONG>
</PRE>
<div class="nav">
<ul>
<!--
****************************************************************************
- * Copyright 2018-2022,2023 Thomas E. Dickey *
+ * Copyright 2018-2023,2024 Thomas E. Dickey *
* Copyright 1998-2010,2015 Free Software Foundation, Inc. *
* *
* Permission is hereby granted, free of charge, to any person obtaining a *
* sale, use or other dealings in this Software without prior written *
* authorization. *
****************************************************************************
- * @Id: mitem_opts.3x,v 1.31 2023/11/25 13:58:47 tom Exp @
+ * @Id: mitem_opts.3x,v 1.33 2024/03/16 15:35:01 tom Exp @
-->
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN">
<HTML>
<HEAD>
<meta http-equiv="Content-Type" content="text/html; charset=us-ascii">
<meta name="generator" content="Manpage converted by man2html - see https://invisible-island.net/scripts/readme.html#others_scripts">
-<TITLE>mitem_opts 3x 2023-11-25 ncurses 6.4 Library calls</TITLE>
+<TITLE>mitem_opts 3x 2024-03-16 ncurses 6.4 Library calls</TITLE>
<link rel="author" href="mailto:bug-ncurses@gnu.org">
</HEAD>
<BODY>
-<H1 class="no-header">mitem_opts 3x 2023-11-25 ncurses 6.4 Library calls</H1>
+<H1 class="no-header">mitem_opts 3x 2024-03-16 ncurses 6.4 Library calls</H1>
<PRE>
<STRONG><A HREF="mitem_opts.3x.html">mitem_opts(3x)</A></STRONG> Library calls <STRONG><A HREF="mitem_opts.3x.html">mitem_opts(3x)</A></STRONG>
-ncurses 6.4 2023-11-25 <STRONG><A HREF="mitem_opts.3x.html">mitem_opts(3x)</A></STRONG>
+ncurses 6.4 2024-03-16 <STRONG><A HREF="mitem_opts.3x.html">mitem_opts(3x)</A></STRONG>
</PRE>
<div class="nav">
<ul>
<!--
****************************************************************************
- * Copyright 2018-2022,2023 Thomas E. Dickey *
+ * Copyright 2018-2023,2024 Thomas E. Dickey *
* Copyright 1998-2010,2015 Free Software Foundation, Inc. *
* *
* Permission is hereby granted, free of charge, to any person obtaining a *
* sale, use or other dealings in this Software without prior written *
* authorization. *
****************************************************************************
- * @Id: mitem_userptr.3x,v 1.32 2023/11/25 13:58:47 tom Exp @
+ * @Id: mitem_userptr.3x,v 1.34 2024/03/16 15:35:01 tom Exp @
-->
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN">
<HTML>
<HEAD>
<meta http-equiv="Content-Type" content="text/html; charset=us-ascii">
<meta name="generator" content="Manpage converted by man2html - see https://invisible-island.net/scripts/readme.html#others_scripts">
-<TITLE>mitem_userptr 3x 2023-11-25 ncurses 6.4 Library calls</TITLE>
+<TITLE>mitem_userptr 3x 2024-03-16 ncurses 6.4 Library calls</TITLE>
<link rel="author" href="mailto:bug-ncurses@gnu.org">
</HEAD>
<BODY>
-<H1 class="no-header">mitem_userptr 3x 2023-11-25 ncurses 6.4 Library calls</H1>
+<H1 class="no-header">mitem_userptr 3x 2024-03-16 ncurses 6.4 Library calls</H1>
<PRE>
<STRONG><A HREF="mitem_userptr.3x.html">mitem_userptr(3x)</A></STRONG> Library calls <STRONG><A HREF="mitem_userptr.3x.html">mitem_userptr(3x)</A></STRONG>
-ncurses 6.4 2023-11-25 <STRONG><A HREF="mitem_userptr.3x.html">mitem_userptr(3x)</A></STRONG>
+ncurses 6.4 2024-03-16 <STRONG><A HREF="mitem_userptr.3x.html">mitem_userptr(3x)</A></STRONG>
</PRE>
<div class="nav">
<ul>
<!--
****************************************************************************
- * Copyright 2018-2022,2023 Thomas E. Dickey *
+ * Copyright 2018-2023,2024 Thomas E. Dickey *
* Copyright 1998-2010,2015 Free Software Foundation, Inc. *
* *
* Permission is hereby granted, free of charge, to any person obtaining a *
* sale, use or other dealings in this Software without prior written *
* authorization. *
****************************************************************************
- * @Id: mitem_value.3x,v 1.30 2023/11/25 13:58:47 tom Exp @
+ * @Id: mitem_value.3x,v 1.32 2024/03/16 15:35:01 tom Exp @
-->
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN">
<HTML>
<HEAD>
<meta http-equiv="Content-Type" content="text/html; charset=us-ascii">
<meta name="generator" content="Manpage converted by man2html - see https://invisible-island.net/scripts/readme.html#others_scripts">
-<TITLE>mitem_value 3x 2023-11-25 ncurses 6.4 Library calls</TITLE>
+<TITLE>mitem_value 3x 2024-03-16 ncurses 6.4 Library calls</TITLE>
<link rel="author" href="mailto:bug-ncurses@gnu.org">
</HEAD>
<BODY>
-<H1 class="no-header">mitem_value 3x 2023-11-25 ncurses 6.4 Library calls</H1>
+<H1 class="no-header">mitem_value 3x 2024-03-16 ncurses 6.4 Library calls</H1>
<PRE>
<STRONG><A HREF="mitem_value.3x.html">mitem_value(3x)</A></STRONG> Library calls <STRONG><A HREF="mitem_value.3x.html">mitem_value(3x)</A></STRONG>
-ncurses 6.4 2023-11-25 <STRONG><A HREF="mitem_value.3x.html">mitem_value(3x)</A></STRONG>
+ncurses 6.4 2024-03-16 <STRONG><A HREF="mitem_value.3x.html">mitem_value(3x)</A></STRONG>
</PRE>
<div class="nav">
<ul>
<!--
****************************************************************************
- * Copyright 2018-2022,2023 Thomas E. Dickey *
+ * Copyright 2018-2023,2024 Thomas E. Dickey *
* Copyright 1998,2010 Free Software Foundation, Inc. *
* *
* Permission is hereby granted, free of charge, to any person obtaining a *
* sale, use or other dealings in this Software without prior written *
* authorization. *
****************************************************************************
- * @Id: mitem_visible.3x,v 1.25 2023/11/25 14:18:16 tom Exp @
+ * @Id: mitem_visible.3x,v 1.27 2024/03/16 15:35:01 tom Exp @
-->
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN">
<HTML>
<HEAD>
<meta http-equiv="Content-Type" content="text/html; charset=us-ascii">
<meta name="generator" content="Manpage converted by man2html - see https://invisible-island.net/scripts/readme.html#others_scripts">
-<TITLE>mitem_visible 3x 2023-11-25 ncurses 6.4 Library calls</TITLE>
+<TITLE>mitem_visible 3x 2024-03-16 ncurses 6.4 Library calls</TITLE>
<link rel="author" href="mailto:bug-ncurses@gnu.org">
</HEAD>
<BODY>
-<H1 class="no-header">mitem_visible 3x 2023-11-25 ncurses 6.4 Library calls</H1>
+<H1 class="no-header">mitem_visible 3x 2024-03-16 ncurses 6.4 Library calls</H1>
<PRE>
<STRONG><A HREF="mitem_visible.3x.html">mitem_visible(3x)</A></STRONG> Library calls <STRONG><A HREF="mitem_visible.3x.html">mitem_visible(3x)</A></STRONG>
-ncurses 6.4 2023-11-25 <STRONG><A HREF="mitem_visible.3x.html">mitem_visible(3x)</A></STRONG>
+ncurses 6.4 2024-03-16 <STRONG><A HREF="mitem_visible.3x.html">mitem_visible(3x)</A></STRONG>
</PRE>
<div class="nav">
<ul>
* sale, use or other dealings in this Software without prior written *
* authorization. *
****************************************************************************
- * @Id: ncurses.3x,v 1.200 2024/02/24 20:03:50 tom Exp @
+ * @Id: ncurses.3x,v 1.204 2024/03/23 20:42:29 tom Exp @
-->
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN">
<HTML>
<HEAD>
<meta http-equiv="Content-Type" content="text/html; charset=us-ascii">
<meta name="generator" content="Manpage converted by man2html - see https://invisible-island.net/scripts/readme.html#others_scripts">
-<TITLE>ncurses 3x 2024-02-24 ncurses 6.4 Library calls</TITLE>
+<TITLE>ncurses 3x 2024-03-23 ncurses 6.4 Library calls</TITLE>
<link rel="author" href="mailto:bug-ncurses@gnu.org">
</HEAD>
<BODY>
-<H1 class="no-header">ncurses 3x 2024-02-24 ncurses 6.4 Library calls</H1>
+<H1 class="no-header">ncurses 3x 2024-03-23 ncurses 6.4 Library calls</H1>
<PRE>
<STRONG><A HREF="ncurses.3x.html">ncurses(3x)</A></STRONG> Library calls <STRONG><A HREF="ncurses.3x.html">ncurses(3x)</A></STRONG>
</PRE><H2><a name="h2-DESCRIPTION">DESCRIPTION</a></H2><PRE>
- The <EM>ncurses</EM> library routines give the user a terminal-independent
- method of updating character screens with reasonable optimization.
- This implementation is "new curses" (<EM>ncurses</EM>) and is the approved
- replacement for 4.4BSD classic curses, which has been discontinued.
- This describes <EM>ncurses</EM> version 6.4 (patch 20240302).
-
- The <EM>ncurses</EM> library emulates the curses library of System V Release 4
- Unix ("SVr4"), and XPG4 (X/Open Portability Guide) curses (also known
- as XSI curses). XSI stands for X/Open System Interfaces Extension.
- The <EM>ncurses</EM> library is freely redistributable in source form.
+ The "new curses" library offers the programmer a terminal-independent
+ means of reading keyboard and mouse input and updating character-cell
+ terminals with output optimized to minimize screen updates. <EM>ncurses</EM>
+ replaces the <EM>curses</EM> libraries from System V Release 4 Unix ("SVr4") and
+ 4.4BSD Unix, the development of which ceased in the 1990s. This
+ describes <EM>ncurses</EM> version 6.4 (patch 20240323).
+
+ <EM>ncurses</EM> permits control of the terminal screen's contents; abstraction
+ and subdivision thereof with <EM>windows</EM> and <EM>pads</EM>; the reading of terminal
+ input; control of terminal input and output options; environment query
+ routines; color manipulation; the definition and use of <EM>soft</EM> <EM>label</EM>
+ keys; <EM>terminfo</EM> capabilities; a <EM>termcap</EM> compatibility interface; and
+ access to low-level terminal-manipulation routines.
+
+ <EM>ncurses</EM> implements the standard interface described by X/Open Curses
+ Issue 7. In many behavioral details not standardized by X/Open,
+ <EM>ncurses</EM> emulates the <EM>curses</EM> library of SVr4 and provides numerous
+ useful extensions.
<EM>ncurses</EM> man pages employ several sections to clarify matters of usage
and interoperability with other <EM>curses</EM> implementations.
directory) that describe curses actions. See section "ALTERNATE
CONFIGURATIONS" below.
- The <EM>ncurses</EM> package supports: overall screen, window and pad
- manipulation; output to windows and pads; reading terminal input;
- control over terminal and <STRONG>curses</STRONG> input and output options; environment
- query routines; color manipulation; use of soft label keys; terminfo
- capabilities; and access to low-level terminal-manipulation routines.
-
</PRE><H3><a name="h3-Initialization">Initialization</a></H3><PRE>
The library uses the locale which the calling program has initialized.
Among those, the most basic are <STRONG><A HREF="curs_move.3x.html">move(3x)</A></STRONG> and <STRONG><A HREF="curs_addch.3x.html">addch(3x)</A></STRONG>: these place the
cursor and write a character to <STRONG>stdscr</STRONG>, respectively. As a rule,
window-addressing functions feature names prefixed (or infixed, see
- below) with "w"; these allow the user to specify a pointer to a <EM>WINDOW.</EM>
+ below) with "w"; these allow the user to specify a pointer to a <EM>WINDOW</EM>.
Counterparts not thus prefixed (or infixed) affect <STRONG>stdscr</STRONG>. Because
moving the cursor prior to another operation is so common, <EM>curses</EM>
generally also provides functions with a "mv" prefix as a convenience.
<EM>ncurses</EM> is the library in its "non-wide" configuration, handling only
eight-bit characters. It stores a character combined with
- attributes in a <EM>chtype</EM> datum, which is often an alias of <EM>int.</EM>
+ attributes in a <EM>chtype</EM> datum, which is often an alias of <EM>int</EM>.
Attributes alone (with no corresponding character) can be
stored in variables of <EM>chtype</EM> or <EM>attr</EM><STRONG>_</STRONG><EM>t</EM> type. In either
case, they are represented as an integral bit mask.
- Each cell of a <EM>WINDOW</EM> is stored as a <EM>chtype.</EM>
+ Each cell of a <EM>WINDOW</EM> is stored as a <EM>chtype</EM>.
<EM>ncursesw</EM> is the library in its "wide" configuration, which handles
character encodings requiring a larger data type than <EM>char</EM> (a
calls using additional data types that can store such
<EM>multibyte</EM> characters.
- <EM>cchar</EM><STRONG>_</STRONG><EM>t</EM> corresponds to the non-wide configuration's <EM>chtype.</EM>
+ <EM>cchar</EM><STRONG>_</STRONG><EM>t</EM> corresponds to the non-wide configuration's <EM>chtype</EM>.
It always a structure type, because it stores more
data than fits into an integral type. A character
- code may not be representable as a <EM>char,</EM> and
+ code may not be representable as a <EM>char</EM>, and
moreover more than one character may occupy a cell
(as with accent marks and other diacritics). Each
- character is of type <EM>wchar</EM><STRONG>_</STRONG><EM>t;</EM> a complex character
+ character is of type <EM>wchar</EM><STRONG>_</STRONG><EM>t</EM>; a complex character
contains one spacing character and zero or more non-
spacing characters (see below). Attributes and
color data are stored in separate fields of the
- structure, not combined as in <EM>chtype.</EM>
+ structure, not combined as in <EM>chtype</EM>.
- Each cell of a <EM>WINDOW</EM> is stored as a <EM>cchar</EM><STRONG>_</STRONG><EM>t.</EM>
+ Each cell of a <EM>WINDOW</EM> is stored as a <EM>cchar</EM><STRONG>_</STRONG><EM>t</EM>.
The <STRONG><A HREF="curs_getcchar.3x.html">setcchar(3x)</A></STRONG> and <STRONG><A HREF="curs_getcchar.3x.html">getcchar(3x)</A></STRONG> functions store and
retrieve the data from a <EM>cchar</EM><STRONG>_</STRONG><EM>t</EM> structure. The wide library
API of <EM>ncurses</EM> depends on two data types standardized by ISO
C95.
- <EM>wchar</EM><STRONG>_</STRONG><EM>t</EM> stores a wide character. Like <EM>chtype,</EM> it may be an
- alias of <EM>int.</EM> Depending on the character encoding,
- a wide character may be <EM>spacing,</EM> meaning that it
+ <EM>wchar</EM><STRONG>_</STRONG><EM>t</EM> stores a wide character. Like <EM>chtype</EM>, it may be an
+ alias of <EM>int</EM>. Depending on the character encoding,
+ a wide character may be <EM>spacing</EM>, meaning that it
occupies a character cell by itself and typically
- accompanies cursor advancement, or <EM>non-spacing,</EM>
+ accompanies cursor advancement, or <EM>non-spacing</EM>,
meaning that it occupies the same cell as a spacing
character, is often regarded as a "modifier" of the
base glyph with which it combines, and typically
---------------------------------------------
COLOR_PAIR <STRONG><A HREF="curs_color.3x.html">curs_color(3x)</A></STRONG>
PAIR_NUMBER <STRONG><A HREF="curs_color.3x.html">curs_color(3x)</A></STRONG>
+
add_wch <STRONG><A HREF="curs_add_wch.3x.html">curs_add_wch(3x)</A></STRONG>
add_wchnstr <STRONG><A HREF="curs_add_wchstr.3x.html">curs_add_wchstr(3x)</A></STRONG>
add_wchstr <STRONG><A HREF="curs_add_wchstr.3x.html">curs_add_wchstr(3x)</A></STRONG>
erasechar <STRONG><A HREF="curs_termattrs.3x.html">curs_termattrs(3x)</A></STRONG>
erasewchar <STRONG><A HREF="curs_termattrs.3x.html">curs_termattrs(3x)</A></STRONG>
exit_curses <STRONG><A HREF="curs_memleaks.3x.html">curs_memleaks(3x)</A></STRONG>*
-
exit_terminfo <STRONG><A HREF="curs_memleaks.3x.html">curs_memleaks(3x)</A></STRONG>*
extended_color_content <STRONG><A HREF="curs_color.3x.html">curs_color(3x)</A></STRONG>*
extended_pair_content <STRONG><A HREF="curs_color.3x.html">curs_color(3x)</A></STRONG>*
extended_slk_color <STRONG><A HREF="curs_slk.3x.html">curs_slk(3x)</A></STRONG>*
filter <STRONG><A HREF="curs_util.3x.html">curs_util(3x)</A></STRONG>
+
find_pair <STRONG><A HREF="new_pair.3x.html">new_pair(3x)</A></STRONG>*
flash <STRONG><A HREF="curs_beep.3x.html">curs_beep(3x)</A></STRONG>
flushinp <STRONG><A HREF="curs_util.3x.html">curs_util(3x)</A></STRONG>
insdelln <STRONG><A HREF="curs_deleteln.3x.html">curs_deleteln(3x)</A></STRONG>
insertln <STRONG><A HREF="curs_deleteln.3x.html">curs_deleteln(3x)</A></STRONG>
insnstr <STRONG><A HREF="curs_insstr.3x.html">curs_insstr(3x)</A></STRONG>
-
insstr <STRONG><A HREF="curs_insstr.3x.html">curs_insstr(3x)</A></STRONG>
instr <STRONG><A HREF="curs_instr.3x.html">curs_instr(3x)</A></STRONG>
intrflush <STRONG><A HREF="curs_inopts.3x.html">curs_inopts(3x)</A></STRONG>
is_cbreak <STRONG><A HREF="curs_inopts.3x.html">curs_inopts(3x)</A></STRONG>*
is_cleared <STRONG><A HREF="curs_opaque.3x.html">curs_opaque(3x)</A></STRONG>*
is_echo <STRONG><A HREF="curs_inopts.3x.html">curs_inopts(3x)</A></STRONG>*
+
is_idcok <STRONG><A HREF="curs_opaque.3x.html">curs_opaque(3x)</A></STRONG>*
is_idlok <STRONG><A HREF="curs_opaque.3x.html">curs_opaque(3x)</A></STRONG>*
is_immedok <STRONG><A HREF="curs_opaque.3x.html">curs_opaque(3x)</A></STRONG>*
mvin_wch <STRONG><A HREF="curs_in_wch.3x.html">curs_in_wch(3x)</A></STRONG>
mvin_wchnstr <STRONG><A HREF="curs_in_wchstr.3x.html">curs_in_wchstr(3x)</A></STRONG>
mvin_wchstr <STRONG><A HREF="curs_in_wchstr.3x.html">curs_in_wchstr(3x)</A></STRONG>
-
mvinch <STRONG><A HREF="curs_inch.3x.html">curs_inch(3x)</A></STRONG>
mvinchnstr <STRONG><A HREF="curs_inchstr.3x.html">curs_inchstr(3x)</A></STRONG>
mvinchstr <STRONG><A HREF="curs_inchstr.3x.html">curs_inchstr(3x)</A></STRONG>
mvins_wch <STRONG><A HREF="curs_ins_wch.3x.html">curs_ins_wch(3x)</A></STRONG>
mvins_wstr <STRONG><A HREF="curs_ins_wstr.3x.html">curs_ins_wstr(3x)</A></STRONG>
mvinsch <STRONG><A HREF="curs_insch.3x.html">curs_insch(3x)</A></STRONG>
+
mvinsnstr <STRONG><A HREF="curs_insstr.3x.html">curs_insstr(3x)</A></STRONG>
mvinsstr <STRONG><A HREF="curs_insstr.3x.html">curs_insstr(3x)</A></STRONG>
mvinstr <STRONG><A HREF="curs_instr.3x.html">curs_instr(3x)</A></STRONG>
nl <STRONG><A HREF="curs_inopts.3x.html">curs_inopts(3x)</A></STRONG>
nocbreak <STRONG><A HREF="curs_inopts.3x.html">curs_inopts(3x)</A></STRONG>
nodelay <STRONG><A HREF="curs_inopts.3x.html">curs_inopts(3x)</A></STRONG>
-
noecho <STRONG><A HREF="curs_inopts.3x.html">curs_inopts(3x)</A></STRONG>
nofilter <STRONG><A HREF="curs_util.3x.html">curs_util(3x)</A></STRONG>*
nonl <STRONG><A HREF="curs_inopts.3x.html">curs_inopts(3x)</A></STRONG>
pair_content <STRONG><A HREF="curs_color.3x.html">curs_color(3x)</A></STRONG>
pecho_wchar <STRONG><A HREF="curs_pad.3x.html">curs_pad(3x)</A></STRONG>
pechochar <STRONG><A HREF="curs_pad.3x.html">curs_pad(3x)</A></STRONG>
+
pnoutrefresh <STRONG><A HREF="curs_pad.3x.html">curs_pad(3x)</A></STRONG>
prefresh <STRONG><A HREF="curs_pad.3x.html">curs_pad(3x)</A></STRONG>
printw <STRONG><A HREF="curs_printw.3x.html">curs_printw(3x)</A></STRONG>
start_color <STRONG><A HREF="curs_color.3x.html">curs_color(3x)</A></STRONG>
subpad <STRONG><A HREF="curs_pad.3x.html">curs_pad(3x)</A></STRONG>
subwin <STRONG><A HREF="curs_window.3x.html">curs_window(3x)</A></STRONG>
-
syncok <STRONG><A HREF="curs_window.3x.html">curs_window(3x)</A></STRONG>
term_attrs <STRONG><A HREF="curs_termattrs.3x.html">curs_termattrs(3x)</A></STRONG>
termattrs <STRONG><A HREF="curs_termattrs.3x.html">curs_termattrs(3x)</A></STRONG>
tigetnum <STRONG><A HREF="curs_terminfo.3x.html">curs_terminfo(3x)</A></STRONG>
tigetstr <STRONG><A HREF="curs_terminfo.3x.html">curs_terminfo(3x)</A></STRONG>
timeout <STRONG><A HREF="curs_inopts.3x.html">curs_inopts(3x)</A></STRONG>
+
tiparm <STRONG><A HREF="curs_terminfo.3x.html">curs_terminfo(3x)</A></STRONG>
tiparm_s <STRONG><A HREF="curs_terminfo.3x.html">curs_terminfo(3x)</A></STRONG>*
tiscan_s <STRONG><A HREF="curs_terminfo.3x.html">curs_terminfo(3x)</A></STRONG>*
wbkgrnd <STRONG><A HREF="curs_bkgrnd.3x.html">curs_bkgrnd(3x)</A></STRONG>
wbkgrndset <STRONG><A HREF="curs_bkgrnd.3x.html">curs_bkgrnd(3x)</A></STRONG>
wborder <STRONG><A HREF="curs_border.3x.html">curs_border(3x)</A></STRONG>
-
wborder_set <STRONG><A HREF="curs_border_set.3x.html">curs_border_set(3x)</A></STRONG>
wchgat <STRONG><A HREF="curs_attr.3x.html">curs_attr(3x)</A></STRONG>
wclear <STRONG><A HREF="curs_clear.3x.html">curs_clear(3x)</A></STRONG>
werase <STRONG><A HREF="curs_clear.3x.html">curs_clear(3x)</A></STRONG>
wget_wch <STRONG><A HREF="curs_get_wch.3x.html">curs_get_wch(3x)</A></STRONG>
wget_wstr <STRONG><A HREF="curs_get_wstr.3x.html">curs_get_wstr(3x)</A></STRONG>
+
wgetbkgrnd <STRONG><A HREF="curs_bkgrnd.3x.html">curs_bkgrnd(3x)</A></STRONG>
wgetch <STRONG><A HREF="curs_getch.3x.html">curs_getch(3x)</A></STRONG>
wgetdelay <STRONG><A HREF="curs_opaque.3x.html">curs_opaque(3x)</A></STRONG>*
Many different <EM>ncurses</EM> configurations are possible, determined by the
options given to the <EM>configure</EM> script when building the library. Run
the script with the <STRONG>--help</STRONG> option to peruse them all. A few are of
- particular significance to the application developer employing <EM>ncurses.</EM>
+ particular significance to the application developer employing <EM>ncurses</EM>.
--disable-overwrite
The standard include for <EM>ncurses</EM> is as noted in <STRONG>SYNOPSIS</STRONG>:
</PRE><H2><a name="h2-EXTENSIONS">EXTENSIONS</a></H2><PRE>
<EM>ncurses</EM> enables an application to capture mouse events on certain
- terminals, including <EM>xterm;</EM> see <STRONG><A HREF="curs_mouse.3x.html">curs_mouse(3x)</A></STRONG>.
+ terminals, including <EM>xterm</EM>; see <STRONG><A HREF="curs_mouse.3x.html">curs_mouse(3x)</A></STRONG>.
<EM>ncurses</EM> provides a means of responding to window resizing events, as
- when running in a GUI terminal emulator application such as <EM>xterm;</EM> see
+ when running in a GUI terminal emulator application such as <EM>xterm</EM>; see
<STRONG><A HREF="resizeterm.3x.html">resizeterm(3x)</A></STRONG> and <STRONG><A HREF="wresize.3x.html">wresize(3x)</A></STRONG>.
<EM>ncurses</EM> allows an application to query the terminal for the presence of
<STRONG>o</STRONG> The compiler option <STRONG>-DUSE_GETCAP</STRONG> causes the library to fall back to
reading <EM>/etc/termcap</EM> if the terminal setup code cannot find a <EM>term-</EM>
- <EM>info</EM> entry corresponding to <EM>TERM.</EM> Use of this feature is not
+ <EM>info</EM> entry corresponding to <EM>TERM</EM>. Use of this feature is not
recommended, as it essentially includes an entire <EM>termcap</EM> compiler
in the <EM>ncurses</EM> startup code, at a cost in memory usage and
application launch latency.
-ncurses 6.4 2024-02-24 <STRONG><A HREF="ncurses.3x.html">ncurses(3x)</A></STRONG>
+ncurses 6.4 2024-03-23 <STRONG><A HREF="ncurses.3x.html">ncurses(3x)</A></STRONG>
</PRE>
<div class="nav">
<ul>
<!--
****************************************************************************
- * Copyright 2018-2022,2023 Thomas E. Dickey *
+ * Copyright 2018-2023,2024 Thomas E. Dickey *
* Copyright 2017 Free Software Foundation, Inc. *
* *
* Permission is hereby granted, free of charge, to any person obtaining a *
* authorization. *
****************************************************************************
* Author: Thomas E. Dickey
- * @Id: new_pair.3x,v 1.44 2023/12/16 20:32:22 tom Exp @
+ * @Id: new_pair.3x,v 1.46 2024/03/16 15:35:01 tom Exp @
-->
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN">
<HTML>
<HEAD>
<meta http-equiv="Content-Type" content="text/html; charset=us-ascii">
<meta name="generator" content="Manpage converted by man2html - see https://invisible-island.net/scripts/readme.html#others_scripts">
-<TITLE>new_pair 3x 2023-12-16 ncurses 6.4 Library calls</TITLE>
+<TITLE>new_pair 3x 2024-03-16 ncurses 6.4 Library calls</TITLE>
<link rel="author" href="mailto:bug-ncurses@gnu.org">
</HEAD>
<BODY>
-<H1 class="no-header">new_pair 3x 2023-12-16 ncurses 6.4 Library calls</H1>
+<H1 class="no-header">new_pair 3x 2024-03-16 ncurses 6.4 Library calls</H1>
<PRE>
<STRONG><A HREF="new_pair.3x.html">new_pair(3x)</A></STRONG> Library calls <STRONG><A HREF="new_pair.3x.html">new_pair(3x)</A></STRONG>
-ncurses 6.4 2023-12-16 <STRONG><A HREF="new_pair.3x.html">new_pair(3x)</A></STRONG>
+ncurses 6.4 2024-03-16 <STRONG><A HREF="new_pair.3x.html">new_pair(3x)</A></STRONG>
</PRE>
<div class="nav">
<ul>
<!--
****************************************************************************
- * 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 *
* sale, use or other dealings in this Software without prior written *
* authorization. *
****************************************************************************
- * @Id: panel.3x,v 1.61 2023/12/23 16:22:25 tom Exp @
+ * @Id: panel.3x,v 1.63 2024/03/16 15:35:01 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>panel 3x 2023-12-23 ncurses 6.4 Library calls</TITLE>
+<TITLE>panel 3x 2024-03-16 ncurses 6.4 Library calls</TITLE>
<link rel="author" href="mailto:bug-ncurses@gnu.org">
</HEAD>
<BODY>
-<H1 class="no-header">panel 3x 2023-12-23 ncurses 6.4 Library calls</H1>
+<H1 class="no-header">panel 3x 2024-03-16 ncurses 6.4 Library calls</H1>
<PRE>
<STRONG><A HREF="panel.3x.html">panel(3x)</A></STRONG> Library calls <STRONG><A HREF="panel.3x.html">panel(3x)</A></STRONG>
-ncurses 6.4 2023-12-23 <STRONG><A HREF="panel.3x.html">panel(3x)</A></STRONG>
+ncurses 6.4 2024-03-16 <STRONG><A HREF="panel.3x.html">panel(3x)</A></STRONG>
</PRE>
<div class="nav">
<ul>
<!--
****************************************************************************
- * Copyright 2018-2022,2023 Thomas E. Dickey *
+ * Copyright 2018-2023,2024 Thomas E. Dickey *
* Copyright 1998-2015,2017 Free Software Foundation, Inc. *
* *
* Permission is hereby granted, free of charge, to any person obtaining a *
* authorization. *
****************************************************************************
* Author: Thomas E. Dickey 1996-on
- * @Id: resizeterm.3x,v 1.54 2023/12/16 20:32:22 tom Exp @
+ * @Id: resizeterm.3x,v 1.56 2024/03/16 15:35:01 tom Exp @
-->
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN">
<HTML>
<HEAD>
<meta http-equiv="Content-Type" content="text/html; charset=us-ascii">
<meta name="generator" content="Manpage converted by man2html - see https://invisible-island.net/scripts/readme.html#others_scripts">
-<TITLE>resizeterm 3x 2023-12-16 ncurses 6.4 Library calls</TITLE>
+<TITLE>resizeterm 3x 2024-03-16 ncurses 6.4 Library calls</TITLE>
<link rel="author" href="mailto:bug-ncurses@gnu.org">
</HEAD>
<BODY>
-<H1 class="no-header">resizeterm 3x 2023-12-16 ncurses 6.4 Library calls</H1>
+<H1 class="no-header">resizeterm 3x 2024-03-16 ncurses 6.4 Library calls</H1>
<PRE>
<STRONG><A HREF="resizeterm.3x.html">resizeterm(3x)</A></STRONG> Library calls <STRONG><A HREF="resizeterm.3x.html">resizeterm(3x)</A></STRONG>
-ncurses 6.4 2023-12-16 <STRONG><A HREF="resizeterm.3x.html">resizeterm(3x)</A></STRONG>
+ncurses 6.4 2024-03-16 <STRONG><A HREF="resizeterm.3x.html">resizeterm(3x)</A></STRONG>
</PRE>
<div class="nav">
<ul>
<!--
****************************************************************************
- * Copyright 2018-2021,2023 Thomas E. Dickey *
+ * Copyright 2018-2023,2024 Thomas E. Dickey *
* Copyright 2017 Free Software Foundation, Inc. *
* *
* Permission is hereby granted, free of charge, to any person obtaining a *
* sale, use or other dealings in this Software without prior written *
* authorization. *
****************************************************************************
- * @Id: scr_dump.5,v 1.42 2023/12/30 22:06:36 tom Exp @
+ * @Id: scr_dump.5,v 1.46 2024/03/23 20:42:29 tom Exp @
-->
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN">
<HTML>
<HEAD>
<meta http-equiv="Content-Type" content="text/html; charset=us-ascii">
<meta name="generator" content="Manpage converted by man2html - see https://invisible-island.net/scripts/readme.html#others_scripts">
-<TITLE>scr_dump 5 2023-12-30 ncurses 6.4 File formats</TITLE>
+<TITLE>scr_dump 5 2024-03-23 ncurses 6.4 File formats</TITLE>
<link rel="author" href="mailto:bug-ncurses@gnu.org">
</HEAD>
<BODY>
-<H1 class="no-header">scr_dump 5 2023-12-30 ncurses 6.4 File formats</H1>
+<H1 class="no-header">scr_dump 5 2024-03-23 ncurses 6.4 File formats</H1>
<PRE>
<STRONG><A HREF="scr_dump.5.html">scr_dump(5)</A></STRONG> File formats <STRONG><A HREF="scr_dump.5.html">scr_dump(5)</A></STRONG>
</PRE><H3><a name="h3-Solaris">Solaris</a></H3><PRE>
As noted above, Solaris <EM>curses</EM> has no magic number corresponding to
- SVr4 <EM>curses.</EM> This is odd, since Solaris was the first operating system
+ SVr4 <EM>curses</EM>. This is odd, since Solaris was the first operating system
to meet the SVr4 guidelines. Solaris furthermore supplies two versions
- of <EM>curses.</EM>
+ of <EM>curses</EM>.
<STRONG>o</STRONG> The default <EM>curses</EM> library uses the SVr3 magic number.
<STRONG>o</STRONG> An alternate <EM>curses</EM> library (which we term <EM>xcurses),</EM> available in
- <EM>/usr/xpg4,</EM> uses a textual format with no magic number.
+ <EM>/usr/xpg4</EM>, uses a textual format with no magic number.
According to its copyright notice, this <EM>xcurses</EM> library was
developed by MKS (Mortice Kern Systems) from 1990 to 1995.
-ncurses 6.4 2023-12-30 <STRONG><A HREF="scr_dump.5.html">scr_dump(5)</A></STRONG>
+ncurses 6.4 2024-03-23 <STRONG><A HREF="scr_dump.5.html">scr_dump(5)</A></STRONG>
</PRE>
<div class="nav">
<ul>
* sale, use or other dealings in this Software without prior written *
* authorization. *
****************************************************************************
- * @Id: tabs.1,v 1.55 2024/01/20 16:54:03 tom Exp @
+ * @Id: tabs.1,v 1.57 2024/03/16 15:35:01 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-01-20 ncurses 6.4 User commands</TITLE>
+<TITLE>tabs 1 2024-03-16 ncurses 6.4 User commands</TITLE>
<link rel="author" href="mailto:bug-ncurses@gnu.org">
</HEAD>
<BODY>
-<H1 class="no-header">tabs 1 2024-01-20 ncurses 6.4 User commands</H1>
+<H1 class="no-header">tabs 1 2024-03-16 ncurses 6.4 User commands</H1>
<PRE>
<STRONG><A HREF="tabs.1.html">tabs(1)</A></STRONG> User commands <STRONG><A HREF="tabs.1.html">tabs(1)</A></STRONG>
-ncurses 6.4 2024-01-20 <STRONG><A HREF="tabs.1.html">tabs(1)</A></STRONG>
+ncurses 6.4 2024-03-16 <STRONG><A HREF="tabs.1.html">tabs(1)</A></STRONG>
</PRE>
<div class="nav">
<ul>
* sale, use or other dealings in this Software without prior written *
* authorization. *
****************************************************************************
- * @Id: term.5,v 1.73 2024/01/13 22:05:39 tom Exp @
+ * @Id: term.5,v 1.75 2024/03/16 15:35:01 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-01-13 ncurses 6.4 File formats</TITLE>
+<TITLE>term 5 2024-03-16 ncurses 6.4 File formats</TITLE>
<link rel="author" href="mailto:bug-ncurses@gnu.org">
</HEAD>
<BODY>
-<H1 class="no-header">term 5 2024-01-13 ncurses 6.4 File formats</H1>
+<H1 class="no-header">term 5 2024-03-16 ncurses 6.4 File formats</H1>
<PRE>
<STRONG><A HREF="term.5.html">term(5)</A></STRONG> File formats <STRONG><A HREF="term.5.html">term(5)</A></STRONG>
-ncurses 6.4 2024-01-13 <STRONG><A HREF="term.5.html">term(5)</A></STRONG>
+ncurses 6.4 2024-03-16 <STRONG><A HREF="term.5.html">term(5)</A></STRONG>
</PRE>
<div class="nav">
<ul>
<!--
****************************************************************************
- * Copyright 2018-2021,2023 Thomas E. Dickey *
+ * Copyright 2018-2023,2024 Thomas E. Dickey *
* Copyright 1998-2011,2017 Free Software Foundation, Inc. *
* *
* Permission is hereby granted, free of charge, to any person obtaining a *
* sale, use or other dealings in this Software without prior written *
* authorization. *
****************************************************************************
- * @Id: term.7,v 1.46 2023/12/02 20:51:25 tom Exp @
+ * @Id: term.7,v 1.48 2024/03/16 15:35:01 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 7 2023-12-02 ncurses 6.4 Miscellaneous</TITLE>
+<TITLE>term 7 2024-03-16 ncurses 6.4 Miscellaneous</TITLE>
<link rel="author" href="mailto:bug-ncurses@gnu.org">
</HEAD>
<BODY>
-<H1 class="no-header">term 7 2023-12-02 ncurses 6.4 Miscellaneous</H1>
+<H1 class="no-header">term 7 2024-03-16 ncurses 6.4 Miscellaneous</H1>
<PRE>
<STRONG><A HREF="term.7.html">term(7)</A></STRONG> Miscellaneous <STRONG><A HREF="term.7.html">term(7)</A></STRONG>
-ncurses 6.4 2023-12-02 <STRONG><A HREF="term.7.html">term(7)</A></STRONG>
+ncurses 6.4 2024-03-16 <STRONG><A HREF="term.7.html">term(7)</A></STRONG>
</PRE>
<div class="nav">
<ul>
<!--
****************************************************************************
- * Copyright 2019-2022,2023 Thomas E. Dickey *
+ * Copyright 2019-2023,2024 Thomas E. Dickey *
* Copyright 2010-2015,2017 Free Software Foundation, Inc. *
* *
* Permission is hereby granted, free of charge, to any person obtaining a *
* sale, use or other dealings in this Software without prior written *
* authorization. *
****************************************************************************
- * @Id: term_variables.3x,v 1.34 2023/12/23 16:08:25 tom Exp @
+ * @Id: term_variables.3x,v 1.36 2024/03/16 15:35:01 tom Exp @
-->
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN">
<HTML>
<HEAD>
<meta http-equiv="Content-Type" content="text/html; charset=us-ascii">
<meta name="generator" content="Manpage converted by man2html - see https://invisible-island.net/scripts/readme.html#others_scripts">
-<TITLE>term_variables 3x 2023-12-23 ncurses 6.4 Library calls</TITLE>
+<TITLE>term_variables 3x 2024-03-16 ncurses 6.4 Library calls</TITLE>
<link rel="author" href="mailto:bug-ncurses@gnu.org">
</HEAD>
<BODY>
-<H1 class="no-header">term_variables 3x 2023-12-23 ncurses 6.4 Library calls</H1>
+<H1 class="no-header">term_variables 3x 2024-03-16 ncurses 6.4 Library calls</H1>
<PRE>
<STRONG><A HREF="term_variables.3x.html">term_variables(3x)</A></STRONG> Library calls <STRONG><A HREF="term_variables.3x.html">term_variables(3x)</A></STRONG>
-ncurses 6.4 2023-12-23 <STRONG><A HREF="term_variables.3x.html">term_variables(3x)</A></STRONG>
+ncurses 6.4 2024-03-16 <STRONG><A HREF="term_variables.3x.html">term_variables(3x)</A></STRONG>
</PRE>
<div class="nav">
<ul>
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 20240302).
+ This manual describes <EM>ncurses</EM> version 6.4 (patch 20240323).
</PRE><H3><a name="h3-terminfo-Entry-Syntax"><EM>terminfo</EM> Entry Syntax</a></H3><PRE>
</PRE><H3><a name="h3-Predefined-Capabilities">Predefined Capabilities</a></H3><PRE>
- The following is a complete table of the capabilities included in a
- terminfo description block and available to terminfo-using code. In
- each line of the table,
+ Tables of capabilities <EM>ncurses</EM> recognizes in a <EM>terminfo</EM> terminal type
+ description and available to <EM>terminfo</EM>-using code follow.
- <STRONG>o</STRONG> The <STRONG>variable</STRONG> is the name by which the programmer (at the terminfo
- level) accesses the capability.
+ <STRONG>o</STRONG> The capability name identifies the symbol by which the programmer
+ using the <EM>terminfo</EM> API accesses the capability.
- <STRONG>o</STRONG> The <STRONG>capname</STRONG> (<EM>Cap-name</EM>) is the short name used in the text of the
- database, and is used by a person updating the database.
+ <STRONG>o</STRONG> The TI (<EM>terminfo</EM>) code is the short name used by a person composing
+ or updating a terminal type entry.
- Whenever possible, capnames are chosen to be the same as or similar
- to the ANSI X3.64-1979 standard (now superseded by ECMA-48, which
+ Whenever possible, these codes are the same as or similar to those
+ of the ANSI X3.64-1979 standard (now superseded by ECMA-48, which
uses identical or very similar names). Semantics are also intended
to match those of the specification.
- Capability names have no hard length limit, but an informal limit
- of 5 characters has been adopted to keep them short and to allow
- the tabs in the source file <STRONG>Caps</STRONG> to line up nicely.
+ <EM>terminfo</EM> codes have no hard length limit, but <EM>ncurses</EM> maintains an
+ informal one of 5 characters to keep them short and to allow the
+ tabs in the source file <EM>Caps</EM> to line up nicely. (Some standard
+ codes exceed this limit regardless.)
- <STRONG>o</STRONG> The <STRONG>termcap</STRONG> (<EM>Tcap</EM>) code is the old capability name (some
- capabilities are new, and have names which termcap did not
- originate).
+ <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.)
- <STRONG>o</STRONG> Finally, the <STRONG>description</STRONG> field attempts to convey the semantics of
- the capability.
+ <STRONG>o</STRONG> The description field attempts to convey the capability's
+ semantics.
- You may find some codes in the description field:
+ The description field employs a handful of notations.
- (P) indicates that padding may be specified
+ <STRONG>(P)</STRONG> indicates that padding may be specified.
- #[1-9] in the description field indicates that the string is passed
- through <STRONG><A HREF="curs_terminfo.3x.html">tparm(3x)</A></STRONG> with parameters as given (#<EM>i</EM>).
+ <STRONG>(P*)</STRONG> indicates that padding may vary in proportion to the number of
+ output lines affected.
- If no parameters are listed in the description, passing the
- string through <STRONG><A HREF="curs_terminfo.3x.html">tparm(3x)</A></STRONG> may give unexpected results, e.g., if
- it contains percent (%%) signs.
+ <STRONG>#</STRONG><EM>i</EM> indicates the <EM>i</EM>th parameter of a string capability; the
+ programmer should pass the string to <STRONG><A HREF="curs_terminfo.3x.html">tparm(3x)</A></STRONG> with the
+ parameters listed.
- (P*) indicates that padding may vary in proportion to the number of
- lines affected
-
- (#<EM>i</EM>) indicates the <EM>i</EM>th parameter.
+ If the description lists no parameters, passing the string to
+ <STRONG><A HREF="curs_terminfo.3x.html">tparm(3x)</A></STRONG> may produce unexpected behavior, for instance if the
+ string contains percent signs.
<STRONG>Code</STRONG>
<STRONG>Boolean</STRONG> <STRONG>Capability</STRONG> <STRONG>Name</STRONG> <STRONG>TI</STRONG> <STRONG>TC</STRONG> <STRONG>Description</STRONG>
------------------------------------------------------------------------
+
<STRONG>auto_left_margin</STRONG> <STRONG>bw</STRONG> <STRONG>bw</STRONG> cub1 wraps from column 0 to
last column
<STRONG>auto_right_margin</STRONG> <STRONG>am</STRONG> <STRONG>am</STRONG> terminal has automatic margins
<STRONG>no_color_video</STRONG> <STRONG>ncv</STRONG> <STRONG>NC</STRONG> video attributes that cannot
be used with colors
- The following numeric capabilities are present in the SVr4.0 term
- structure, but are not yet documented in the man page. They came in
+ The following numeric capabilities are present in the SVr4.0 term
+ structure, but are not yet documented in the man page. They came in
with SVr4's printer support.
<STRONG>Code</STRONG>
<STRONG>zero_motion</STRONG> <STRONG>zerom</STRONG> <STRONG>Zx</STRONG> No motion for subsequent
character
- The following string capabilities are present in the SVr4.0 term
+ The following string capabilities are present in the SVr4.0 term
structure, but were originally not documented in the man page.
<STRONG>Code</STRONG>
<STRONG>alt_scancode_esc</STRONG> <STRONG>scesa</STRONG> <STRONG>S8</STRONG> Alternate escape for scancode
emulation
- The XSI Curses standard added these hardcopy capabilities. They were
- used in some post-4.1 versions of System V curses, e.g., Solaris 2.5
- and IRIX 6.x. Except for <STRONG>YI</STRONG>, the <STRONG>ncurses</STRONG> termcap names for them are
- invented. According to the XSI Curses standard, they have no termcap
- names. If your compiled terminfo entries use these, they may not be
+ The XSI Curses standard added these hardcopy capabilities. They were
+ used in some post-4.1 versions of System V curses, e.g., Solaris 2.5
+ and IRIX 6.x. Except for <STRONG>YI</STRONG>, the <STRONG>ncurses</STRONG> termcap names for them are
+ invented. According to the XSI Curses standard, they have no termcap
+ names. If your compiled terminfo entries use these, they may not be
binary-compatible with System V terminfo entries after SVr4.1; beware!
<STRONG>Code</STRONG>
</PRE><H3><a name="h3-User-Defined-Capabilities">User-Defined Capabilities</a></H3><PRE>
- The preceding section listed the <EM>predefined</EM> capabilities. They deal
- with some special features for terminals no longer (or possibly never)
- produced. Occasionally there are special features of newer terminals
- which are awkward or impossible to represent by reusing the predefined
+ The preceding section listed the <EM>predefined</EM> capabilities. They deal
+ with some special features for terminals no longer (or possibly never)
+ produced. Occasionally there are special features of newer terminals
+ which are awkward or impossible to represent by reusing the predefined
capabilities.
- <EM>ncurses</EM> addresses this limitation by allowing user-defined
- capabilities. The <STRONG>tic</STRONG> and <STRONG>infocmp</STRONG> programs provide the <STRONG>-x</STRONG> option for
+ <EM>ncurses</EM> addresses this limitation by allowing user-defined
+ capabilities. The <STRONG>tic</STRONG> and <STRONG>infocmp</STRONG> programs provide the <STRONG>-x</STRONG> option for
this purpose. When <STRONG>-x</STRONG> is set, <STRONG>tic</STRONG> treats unknown capabilities as user-
- defined. That is, if <STRONG>tic</STRONG> encounters a capability name which it does
- not recognize, it infers its type (Boolean, number or string) from the
- syntax and makes an extended table entry for that capability. The
- <STRONG><A HREF="curs_extend.3x.html">use_extended_names(3x)</A></STRONG> function makes this information conditionally
- available to applications. The <EM>ncurses</EM> library provides the data
+ defined. That is, if <STRONG>tic</STRONG> encounters a capability name which it does
+ not recognize, it infers its type (Boolean, number or string) from the
+ syntax and makes an extended table entry for that capability. The
+ <STRONG><A HREF="curs_extend.3x.html">use_extended_names(3x)</A></STRONG> function makes this information conditionally
+ available to applications. The <EM>ncurses</EM> library provides the data
leaving most of the behavior to applications:
- <STRONG>o</STRONG> User-defined capability strings whose name begins with "k" are
+ <STRONG>o</STRONG> User-defined capability strings whose name begins with "k" are
treated as function keys.
- <STRONG>o</STRONG> The types (Boolean, number, string) determined by <STRONG>tic</STRONG> can be
+ <STRONG>o</STRONG> The types (Boolean, number, string) determined by <STRONG>tic</STRONG> can be
inferred by successful calls on <STRONG>tigetflag</STRONG>, etc.
<STRONG>o</STRONG> If the capability name happens to be two characters, the capability
is also available through the termcap interface.
- While termcap is said to be extensible because it does not use a
- predefined set of capabilities, in practice it has been limited to the
- capabilities defined by terminfo implementations. As a rule, user-
+ While termcap is said to be extensible because it does not use a
+ predefined set of capabilities, in practice it has been limited to the
+ capabilities defined by terminfo implementations. As a rule, user-
defined capabilities intended for use by termcap applications should be
- limited to Booleans and numbers to avoid running past the 1023 byte
- limit assumed by termcap implementations and their applications. In
- particular, providing extended sets of function keys (past the 60
+ limited to Booleans and numbers to avoid running past the 1023 byte
+ limit assumed by termcap implementations and their applications. In
+ particular, providing extended sets of function keys (past the 60
numbered keys and the handful of special named keys) is best done using
the longer names available using terminfo.
- The <EM>ncurses</EM> library uses a few of these user-defined capabilities, as
- described in <STRONG><A HREF="user_caps.5.html">user_caps(5)</A></STRONG>. Other user-defined capabilities (including
- function keys) are described in the terminal database, in the section
+ The <EM>ncurses</EM> library uses a few of these user-defined capabilities, as
+ described in <STRONG><A HREF="user_caps.5.html">user_caps(5)</A></STRONG>. Other user-defined capabilities (including
+ function keys) are described in the terminal database, in the section
on <EM>NCURSES</EM> <EM>USER-DEFINABLE</EM> <EM>CAPABILITIES</EM>
</PRE><H3><a name="h3-A-Sample-Entry">A Sample Entry</a></H3><PRE>
- The following entry, describing an ANSI-standard terminal, is
+ The following entry, describing an ANSI-standard terminal, is
representative of what a <STRONG>terminfo</STRONG> entry for a modern terminal typically
looks like.
smul=\E[4m, tbc=\E[3g, u6=\E[%i%d;%dR, u7=\E[6n,
u8=\E[?%[;0123456789]c, u9=\E[c, vpa=\E[%i%p1%dd,
- Entries may continue onto multiple lines by placing white space at the
- beginning of each line except the first. Comments may be included on
+ Entries may continue onto multiple lines by placing white space at the
+ beginning of each line except the first. Comments may be included on
lines beginning with "#". Capabilities in <EM>terminfo</EM> are of three types:
- <STRONG>o</STRONG> Boolean capabilities which indicate that the terminal has some
+ <STRONG>o</STRONG> Boolean capabilities which indicate that the terminal has some
particular feature,
<STRONG>o</STRONG> numeric capabilities giving the size of the terminal or the size of
particular delays, and
- <STRONG>o</STRONG> string capabilities, which give a sequence which can be used to
+ <STRONG>o</STRONG> string capabilities, which give a sequence which can be used to
perform particular terminal operations.
</PRE><H3><a name="h3-Types-of-Capabilities">Types of Capabilities</a></H3><PRE>
All capabilities have names. For instance, the fact that ANSI-standard
- terminals have <EM>automatic</EM> <EM>margins</EM> (i.e., an automatic return and line-
- feed when the end of a line is reached) is indicated by the capability
- <STRONG>am</STRONG>. Hence the description of ansi includes <STRONG>am</STRONG>. Numeric capabilities
- are followed by the character "#" and then a positive value. Thus
+ terminals have <EM>automatic</EM> <EM>margins</EM> (i.e., an automatic return and line-
+ feed when the end of a line is reached) is indicated by the capability
+ <STRONG>am</STRONG>. Hence the description of ansi includes <STRONG>am</STRONG>. Numeric capabilities
+ are followed by the character "#" and then a positive value. Thus
<STRONG>cols</STRONG>, which indicates the number of columns the terminal has, gives the
- value "80" for ansi. Values for numeric capabilities may be specified
- in decimal, octal, or hexadecimal, using the C programming language
+ value "80" for ansi. Values for numeric capabilities may be specified
+ in decimal, octal, or hexadecimal, using the C programming language
conventions (e.g., 255, 0377 and 0xff or 0xFF).
- Finally, string valued capabilities, such as <STRONG>el</STRONG> (clear to end of line
- sequence) are given by the two-character code, an "=", and then a
+ Finally, string valued capabilities, such as <STRONG>el</STRONG> (clear to end of line
+ sequence) are given by the two-character code, an "=", and then a
string ending at the next following ",".
- A number of escape sequences are provided in the string valued
+ A number of escape sequences are provided in the string valued
capabilities for easy encoding of characters there:
<STRONG>o</STRONG> Both <STRONG>\E</STRONG> and <STRONG>\e</STRONG> map to an ESCAPE character,
respectively.
X/Open Curses does not say what "appropriate <EM>x</EM>" might be. In practice,
- that is a printable ASCII graphic character. The special case "^?" is
- interpreted as DEL (127). In all other cases, the character value is
- AND'd with 0x1f, mapping to ASCII control codes in the range 0 through
+ that is a printable ASCII graphic character. The special case "^?" is
+ interpreted as DEL (127). In all other cases, the character value is
+ AND'd with 0x1f, mapping to ASCII control codes in the range 0 through
31.
Other escapes include
<STRONG>o</STRONG> and <STRONG>\0</STRONG> for null.
<STRONG>\0</STRONG> will produce \200, which does not terminate a string but behaves
- as a null character on most terminals, providing CS7 is specified.
+ as a null character on most terminals, providing CS7 is specified.
See <STRONG>stty(1)</STRONG>.
- The reason for this quirk is to maintain binary compatibility of
- the compiled terminfo files with other implementations, e.g., the
- SVr4 systems, which document this. Compiled terminfo files use
- null-terminated strings, with no lengths. Modifying this would
- require a new binary format, which would not work with other
+ The reason for this quirk is to maintain binary compatibility of
+ the compiled terminfo files with other implementations, e.g., the
+ SVr4 systems, which document this. Compiled terminfo files use
+ null-terminated strings, with no lengths. Modifying this would
+ require a new binary format, which would not work with other
implementations.
Finally, characters may be given as three octal digits after a <STRONG>\</STRONG>.
- A delay in milliseconds may appear anywhere in a string capability,
- enclosed in $<..> brackets, as in <STRONG>el</STRONG>=\EK$<5>, and padding characters
+ A delay in milliseconds may appear anywhere in a string capability,
+ enclosed in $<..> brackets, as in <STRONG>el</STRONG>=\EK$<5>, and padding characters
are supplied by <STRONG><A HREF="curs_terminfo.3x.html">tputs(3x)</A></STRONG> to provide this delay.
- <STRONG>o</STRONG> The delay must be a number with at most one decimal place of
+ <STRONG>o</STRONG> The delay must be a number with at most one decimal place of
precision; it may be followed by suffixes "*" or "/" or both.
- <STRONG>o</STRONG> A "*" indicates that the padding required is proportional to the
- number of lines affected by the operation, and the amount given is
- the per-affected-unit padding required. (In the case of insert
+ <STRONG>o</STRONG> A "*" indicates that the padding required is proportional to the
+ number of lines affected by the operation, and the amount given is
+ the per-affected-unit padding required. (In the case of insert
character, the factor is still the number of <EM>lines</EM> affected.)
Normally, padding is advisory if the device has the <STRONG>xon</STRONG> capability;
it is used for cost computation but does not trigger delays.
- <STRONG>o</STRONG> A "/" suffix indicates that the padding is mandatory and forces a
+ <STRONG>o</STRONG> A "/" suffix indicates that the padding is mandatory and forces a
delay of the given number of milliseconds even on devices for which
<STRONG>xon</STRONG> is present to indicate flow control.
- Sometimes individual capabilities must be commented out. To do this,
- put a period before the capability name. For example, see the second
+ Sometimes individual capabilities must be commented out. To do this,
+ put a period before the capability name. For example, see the second
<STRONG>ind</STRONG> in the example above.
</PRE><H3><a name="h3-Fetching-Compiled-Descriptions">Fetching Compiled Descriptions</a></H3><PRE>
- Terminal descriptions in <EM>ncurses</EM> are stored in terminal databases.
- These databases, which are found by their pathname, may be configured
+ Terminal descriptions in <EM>ncurses</EM> are stored in terminal databases.
+ These databases, which are found by their pathname, may be configured
either as directory trees or hashed databases (see <STRONG><A HREF="term.5.html">term(5)</A></STRONG>),
- The library uses a compiled-in list of pathnames, which can be
+ The library uses a compiled-in list of pathnames, which can be
overridden by environment variables. Before starting to search,
- <EM>ncurses</EM> checks the search list, eliminating duplicates and pathnames
- where no terminal database is found. The <EM>ncurses</EM> library reads the
+ <EM>ncurses</EM> checks the search list, eliminating duplicates and pathnames
+ where no terminal database is found. The <EM>ncurses</EM> library reads the
first description which passes its consistency checks.
- <STRONG>o</STRONG> The environment variable <STRONG>TERMINFO</STRONG> is checked first, for a terminal
+ <STRONG>o</STRONG> The environment variable <STRONG>TERMINFO</STRONG> is checked first, for a terminal
database containing the terminal description.
<STRONG>o</STRONG> Next, <EM>ncurses</EM> looks in <EM>$HOME/.terminfo</EM> for a compiled description.
- This is an optional feature which may be omitted entirely from the
+ This is an optional feature which may be omitted entirely from the
library, or limited to prevent accidental use by privileged
applications.
- <STRONG>o</STRONG> Next, if the environment variable <EM>TERMINFO</EM><STRONG>_</STRONG><EM>DIRS</EM> is set, <EM>ncurses</EM>
- interprets the contents of that variable as a list of colon-
+ <STRONG>o</STRONG> Next, if the environment variable <EM>TERMINFO</EM><STRONG>_</STRONG><EM>DIRS</EM> is set, <EM>ncurses</EM>
+ interprets the contents of that variable as a list of colon-
separated pathnames of terminal databases to be searched.
- An empty pathname (i.e., if the variable begins or ends with a
- colon, or contains adjacent colons) is interpreted as the system
+ An empty pathname (i.e., if the variable begins or ends with a
+ colon, or contains adjacent colons) is interpreted as the system
location <EM>/usr/share/terminfo</EM>.
<STRONG>o</STRONG> Finally, <EM>ncurses</EM> searches these compiled-in locations:
<STRONG>o</STRONG> the system terminfo directory, <EM>/usr/share/terminfo</EM>
The <STRONG>TERMINFO</STRONG> variable can contain a terminal description instead of the
- pathname of a terminal database. If this variable begins with "hex:"
- or "b64:" then <EM>ncurses</EM> reads a terminal description from hexadecimal-
- or base64-encoded data, and if that description matches the name
- sought, will use that. This encoded data can be set using the "-Q"
+ pathname of a terminal database. If this variable begins with "hex:"
+ or "b64:" then <EM>ncurses</EM> reads a terminal description from hexadecimal-
+ or base64-encoded data, and if that description matches the name
+ sought, will use that. This encoded data can be set using the "-Q"
option of <STRONG>tic</STRONG> or <STRONG>infocmp</STRONG>.
- The preceding addresses the usual configuration of <EM>ncurses</EM>, which uses
- terminal descriptions prepared in <EM>terminfo</EM> format. While <EM>termcap</EM> is
- less expressive, <EM>ncurses</EM> can also be configured to read <EM>termcap</EM>
+ The preceding addresses the usual configuration of <EM>ncurses</EM>, which uses
+ terminal descriptions prepared in <EM>terminfo</EM> format. While <EM>termcap</EM> is
+ less expressive, <EM>ncurses</EM> can also be configured to read <EM>termcap</EM>
descriptions. In that configuration, it checks the <EM>TERMCAP</EM> and
- <EM>TERMPATH</EM> variables (for content and search path, respectively) after
+ <EM>TERMPATH</EM> variables (for content and search path, respectively) after
the system terminal database.
</PRE><H3><a name="h3-Preparing-Descriptions">Preparing Descriptions</a></H3><PRE>
- We now outline how to prepare descriptions of terminals. The most
- effective way to prepare a terminal description is by imitating the
- description of a similar terminal in <EM>terminfo</EM> and to build up a
+ We now outline how to prepare descriptions of terminals. The most
+ effective way to prepare a terminal description is by imitating the
+ description of a similar terminal in <EM>terminfo</EM> and to build up a
description gradually, using partial descriptions with <EM>vi</EM> or some other
- screen-oriented program to check that they are correct. Be aware that
- a very unusual terminal may expose deficiencies in the ability of the
+ screen-oriented program to check that they are correct. Be aware that
+ a very unusual terminal may expose deficiencies in the ability of the
<EM>terminfo</EM> file to describe it or bugs in the screen-handling code of the
test program.
- To get the padding for insert line right (if the terminal manufacturer
- did not document it) a severe test is to edit a large file at 9600
+ To get the padding for insert line right (if the terminal manufacturer
+ did not document it) a severe test is to edit a large file at 9600
baud, delete 16 or so lines from the middle of the screen, then hit the
"u" key several times quickly. If the terminal messes up, more padding
is usually needed. A similar test can be used for insert character.
</PRE><H3><a name="h3-Basic-Capabilities">Basic Capabilities</a></H3><PRE>
- The number of columns on each line for the terminal is given by the
- <STRONG>cols</STRONG> numeric capability. If the terminal is a CRT, then the number of
- lines on the screen is given by the <STRONG>lines</STRONG> capability. If the terminal
- wraps around to the beginning of the next line when it reaches the
- right margin, then it should have the <STRONG>am</STRONG> capability. If the terminal
- can clear its screen, leaving the cursor in the home position, then
- this is given by the <STRONG>clear</STRONG> string capability. If the terminal
+ The number of columns on each line for the terminal is given by the
+ <STRONG>cols</STRONG> numeric capability. If the terminal is a CRT, then the number of
+ lines on the screen is given by the <STRONG>lines</STRONG> capability. If the terminal
+ wraps around to the beginning of the next line when it reaches the
+ right margin, then it should have the <STRONG>am</STRONG> capability. If the terminal
+ can clear its screen, leaving the cursor in the home position, then
+ this is given by the <STRONG>clear</STRONG> string capability. If the terminal
overstrikes (rather than clearing a position when a character is struck
- over) then it should have the <STRONG>os</STRONG> capability. If the terminal is a
+ over) then it should have the <STRONG>os</STRONG> capability. If the terminal is a
printing terminal, with no soft copy unit, give it both <STRONG>hc</STRONG> and <STRONG>os</STRONG>. (<STRONG>os</STRONG>
- applies to storage scope terminals, such as TEKTRONIX 4010 series, as
- well as hard copy and APL terminals.) If there is a code to move the
+ applies to storage scope terminals, such as TEKTRONIX 4010 series, as
+ well as hard copy and APL terminals.) If there is a code to move the
cursor to the left edge of the current row, give this as <STRONG>cr</STRONG>. (Normally
- this will be carriage return, control/M.) If there is a code to
+ this will be carriage return, control/M.) If there is a code to
produce an audible signal (bell, beep, etc) give this as <STRONG>bel</STRONG>.
If there is a code to move the cursor one position to the left (such as
- backspace) that capability should be given as <STRONG>cub1</STRONG>. Similarly, codes
- to move to the right, up, and down should be given as <STRONG>cuf1</STRONG>, <STRONG>cuu1</STRONG>, and
- <STRONG>cud1</STRONG>. These local cursor motions should not alter the text they pass
- over, for example, you would not normally use "<STRONG>cuf1</STRONG>= " because the
+ backspace) that capability should be given as <STRONG>cub1</STRONG>. Similarly, codes
+ to move to the right, up, and down should be given as <STRONG>cuf1</STRONG>, <STRONG>cuu1</STRONG>, and
+ <STRONG>cud1</STRONG>. These local cursor motions should not alter the text they pass
+ over, for example, you would not normally use "<STRONG>cuf1</STRONG>= " because the
space would erase the character moved over.
A very important point here is that the local cursor motions encoded in
- <EM>terminfo</EM> are undefined at the left and top edges of a CRT terminal.
+ <EM>terminfo</EM> are undefined at the left and top edges of a CRT terminal.
Programs should never attempt to backspace around the left edge, unless
- <STRONG>bw</STRONG> is given, and never attempt to go up locally off the top. In order
- to scroll text up, a program will go to the bottom left corner of the
+ <STRONG>bw</STRONG> is given, and never attempt to go up locally off the top. In order
+ to scroll text up, a program will go to the bottom left corner of the
screen and send the <STRONG>ind</STRONG> (index) string.
- To scroll text down, a program goes to the top left corner of the
+ To scroll text down, a program goes to the top left corner of the
screen and sends the <STRONG>ri</STRONG> (reverse index) string. The strings <STRONG>ind</STRONG> and <STRONG>ri</STRONG>
are undefined when not on their respective corners of the screen.
- Parameterized versions of the scrolling sequences are <STRONG>indn</STRONG> and <STRONG>rin</STRONG>
- which have the same semantics as <STRONG>ind</STRONG> and <STRONG>ri</STRONG> except that they take one
- parameter, and scroll that many lines. They are also undefined except
+ Parameterized versions of the scrolling sequences are <STRONG>indn</STRONG> and <STRONG>rin</STRONG>
+ which have the same semantics as <STRONG>ind</STRONG> and <STRONG>ri</STRONG> except that they take one
+ parameter, and scroll that many lines. They are also undefined except
at the appropriate edge of the screen.
- The <STRONG>am</STRONG> capability tells whether the cursor sticks at the right edge of
- the screen when text is output, but this does not necessarily apply to
- a <STRONG>cuf1</STRONG> from the last column. The only local motion which is defined
- from the left edge is if <STRONG>bw</STRONG> is given, then a <STRONG>cub1</STRONG> from the left edge
- will move to the right edge of the previous row. If <STRONG>bw</STRONG> is not given,
- the effect is undefined. This is useful for drawing a box around the
+ The <STRONG>am</STRONG> capability tells whether the cursor sticks at the right edge of
+ the screen when text is output, but this does not necessarily apply to
+ a <STRONG>cuf1</STRONG> from the last column. The only local motion which is defined
+ from the left edge is if <STRONG>bw</STRONG> is given, then a <STRONG>cub1</STRONG> from the left edge
+ will move to the right edge of the previous row. If <STRONG>bw</STRONG> is not given,
+ the effect is undefined. This is useful for drawing a box around the
edge of the screen, for example. If the terminal has switch selectable
- automatic margins, the <EM>terminfo</EM> file usually assumes that this is on;
- i.e., <STRONG>am</STRONG>. If the terminal has a command which moves to the first
- column of the next line, that command can be given as <STRONG>nel</STRONG> (newline).
- It does not matter if the command clears the remainder of the current
- line, so if the terminal has no <STRONG>cr</STRONG> and <STRONG>lf</STRONG> it may still be possible to
+ automatic margins, the <EM>terminfo</EM> file usually assumes that this is on;
+ i.e., <STRONG>am</STRONG>. If the terminal has a command which moves to the first
+ column of the next line, that command can be given as <STRONG>nel</STRONG> (newline).
+ It does not matter if the command clears the remainder of the current
+ line, so if the terminal has no <STRONG>cr</STRONG> and <STRONG>lf</STRONG> it may still be possible to
craft a working <STRONG>nel</STRONG> out of one or both of them.
These capabilities suffice to describe hard-copy and "glass-tty"
</PRE><H3><a name="h3-Parameterized-Strings">Parameterized Strings</a></H3><PRE>
Cursor addressing and other strings requiring parameters in the
- terminal are described by a parameterized string capability, with
- <EM>printf</EM>-like escapes such as <EM>%x</EM> in it. For example, to address the
- cursor, the <STRONG>cup</STRONG> capability is given, using two parameters: the row and
- column to address to. (Rows and columns are numbered from zero and
- refer to the physical screen visible to the user, not to any unseen
- memory.) If the terminal has memory relative cursor addressing, that
+ terminal are described by a parameterized string capability, with
+ <EM>printf</EM>-like escapes such as <EM>%x</EM> in it. For example, to address the
+ cursor, the <STRONG>cup</STRONG> capability is given, using two parameters: the row and
+ column to address to. (Rows and columns are numbered from zero and
+ refer to the physical screen visible to the user, not to any unseen
+ memory.) If the terminal has memory relative cursor addressing, that
can be indicated by <STRONG>mrcup</STRONG>.
- The parameter mechanism uses a stack and special <STRONG>%</STRONG> codes to manipulate
- it. Typically a sequence will push one of the parameters onto the
- stack and then print it in some format. Print (e.g., "%d") is a
- special case. Other operations, including "%t" pop their operand from
- the stack. It is noted that more complex operations are often
+ The parameter mechanism uses a stack and special <STRONG>%</STRONG> codes to manipulate
+ it. Typically a sequence will push one of the parameters onto the
+ stack and then print it in some format. Print (e.g., "%d") is a
+ special case. Other operations, including "%t" pop their operand from
+ the stack. It is noted that more complex operations are often
necessary, e.g., in the <STRONG>sgr</STRONG> string.
The <STRONG>%</STRONG> encodings have the following meanings:
<STRONG>%%</STRONG> outputs "%"
<STRONG>%</STRONG><EM>[[</EM>:<EM>]flags][width[.precision]][</EM><STRONG>doxXs</STRONG><EM>]</EM>
- as in <STRONG>printf(3)</STRONG>, flags are <EM>[-+#]</EM> and <EM>space</EM>. Use a ":" to allow
+ as in <STRONG>printf(3)</STRONG>, flags are <EM>[-+#]</EM> and <EM>space</EM>. Use a ":" to allow
the next character to be a "-" flag, avoiding interpreting "%-" as
an operator.
<STRONG>%g</STRONG><EM>[A-Z]</EM>
get static variable <EM>[a-z]</EM> and push it
- The terms "static" and "dynamic" are misleading. Historically,
+ The terms "static" and "dynamic" are misleading. Historically,
these are simply two different sets of variables, whose values are
- not reset between calls to <STRONG><A HREF="curs_terminfo.3x.html">tparm(3x)</A></STRONG>. However, that fact is not
+ not reset between calls to <STRONG><A HREF="curs_terminfo.3x.html">tparm(3x)</A></STRONG>. However, that fact is not
documented in other implementations. Relying on it will adversely
impact portability to other implementations:
- <STRONG>o</STRONG> SVr2 curses supported <EM>dynamic</EM> variables. Those are set only
- by a <STRONG>%P</STRONG> operator. A <STRONG>%g</STRONG> for a given variable without first
- setting it with <STRONG>%P</STRONG> will give unpredictable results, because
- dynamic variables are an uninitialized local array on the
+ <STRONG>o</STRONG> SVr2 curses supported <EM>dynamic</EM> variables. Those are set only
+ by a <STRONG>%P</STRONG> operator. A <STRONG>%g</STRONG> for a given variable without first
+ setting it with <STRONG>%P</STRONG> will give unpredictable results, because
+ dynamic variables are an uninitialized local array on the
stack in the <STRONG>tparm</STRONG> function.
- <STRONG>o</STRONG> SVr3.2 curses supported <EM>static</EM> variables. Those are an array
+ <STRONG>o</STRONG> SVr3.2 curses supported <EM>static</EM> variables. Those are an array
in the <EM>TERMINAL</EM> structure (declared in <STRONG>term.h</STRONG>), and are zeroed
automatically when the <STRONG>setupterm</STRONG> function allocates the data.
<STRONG>o</STRONG> SVr4 curses made no further improvements to the <EM>dynamic/static</EM>
variable feature.
- <STRONG>o</STRONG> Solaris XPG4 curses does not distinguish between <EM>dynamic</EM> and
- <EM>static</EM> variables. They are the same. Like SVr4 curses, XPG4
+ <STRONG>o</STRONG> Solaris XPG4 curses does not distinguish between <EM>dynamic</EM> and
+ <EM>static</EM> variables. They are the same. Like SVr4 curses, XPG4
curses does not initialize these explicitly.
- <STRONG>o</STRONG> Before version 6.3, <EM>ncurses</EM> stores both <EM>dynamic</EM> and <EM>static</EM>
+ <STRONG>o</STRONG> Before version 6.3, <EM>ncurses</EM> stores both <EM>dynamic</EM> and <EM>static</EM>
variables in persistent storage, initialized to zeros.
- <STRONG>o</STRONG> Beginning with version 6.3, <EM>ncurses</EM> stores <EM>static</EM> and <EM>dynamic</EM>
+ <STRONG>o</STRONG> Beginning with version 6.3, <EM>ncurses</EM> stores <EM>static</EM> and <EM>dynamic</EM>
variables in the same manner as SVr4.
- <STRONG>o</STRONG> Unlike other implementations, <EM>ncurses</EM> zeros dynamic
+ <STRONG>o</STRONG> Unlike other implementations, <EM>ncurses</EM> zeros dynamic
variables before the first <STRONG>%g</STRONG> or <STRONG>%P</STRONG> operator.
- <STRONG>o</STRONG> Like SVr2, the scope of dynamic variables in <EM>ncurses</EM> is
+ <STRONG>o</STRONG> Like SVr2, the scope of dynamic variables in <EM>ncurses</EM> is
within the current call to <STRONG>tparm</STRONG>. Use static variables if
persistent storage is needed.
<STRONG>%?</STRONG> <EM>expr</EM> <STRONG>%t</STRONG> <EM>thenpart</EM> <STRONG>%e</STRONG> <EM>elsepart</EM> <STRONG>%;</STRONG>
This forms an if-then-else. The <STRONG>%e</STRONG> <EM>elsepart</EM> is optional. Usually
- the <STRONG>%?</STRONG> <EM>expr</EM> part pushes a value onto the stack, and <STRONG>%t</STRONG> pops it
- from the stack, testing if it is nonzero (true). If it is zero
+ the <STRONG>%?</STRONG> <EM>expr</EM> part pushes a value onto the stack, and <STRONG>%t</STRONG> pops it
+ from the stack, testing if it is nonzero (true). If it is zero
(false), control passes to the <STRONG>%e</STRONG> (else) part.
It is possible to form else-if's a la Algol 68:
where ci are conditions, bi are bodies.
- Use the <STRONG>-f</STRONG> option of <STRONG>tic</STRONG> or <STRONG>infocmp</STRONG> to see the structure of if-
+ Use the <STRONG>-f</STRONG> option of <STRONG>tic</STRONG> or <STRONG>infocmp</STRONG> to see the structure of if-
then-else's. Some strings, e.g., <STRONG>sgr</STRONG> can be very complicated when
- written on one line. The <STRONG>-f</STRONG> option splits the string into lines
+ written on one line. The <STRONG>-f</STRONG> option splits the string into lines
with the parts indented.
- Binary operations are in postfix form with the operands in the usual
- order. That is, to get x-5 one would use "%gx%{5}%-". <STRONG>%P</STRONG> and <STRONG>%g</STRONG>
+ Binary operations are in postfix form with the operands in the usual
+ order. That is, to get x-5 one would use "%gx%{5}%-". <STRONG>%P</STRONG> and <STRONG>%g</STRONG>
variables are persistent across escape-string evaluations.
- Consider the HP2645, which, to get to row 3 and column 12, needs to be
- sent \E&a12c03Y padded for 6 milliseconds. The order of the rows and
- columns is inverted here, and the row and column are printed as two
+ Consider the HP2645, which, to get to row 3 and column 12, needs to be
+ sent \E&a12c03Y padded for 6 milliseconds. The order of the rows and
+ columns is inverted here, and the row and column are printed as two
digits. The corresponding terminal description is expressed thus:
cup=\E&a%p2%dc%p1%dY$<6>,
- The Microterm ACT-IV needs the current row and column sent preceded by
+ The Microterm ACT-IV needs the current row and column sent preceded by
a <STRONG>^T</STRONG>, with the row and column simply encoded in binary,
cup=^T%p1%c%p2%c
- Terminals which use "%c" need to be able to backspace the cursor
- (<STRONG>cub1</STRONG>), and to move the cursor up one line on the screen (<STRONG>cuu1</STRONG>). This
+ Terminals which use "%c" need to be able to backspace the cursor
+ (<STRONG>cub1</STRONG>), and to move the cursor up one line on the screen (<STRONG>cuu1</STRONG>). This
is necessary because it is not always safe to transmit <STRONG>\n</STRONG> <STRONG>^D</STRONG> and <STRONG>\r</STRONG>, as
- the system may change or discard them. (The library routines dealing
- with terminfo set tty modes so that tabs are never expanded, so \t is
+ the system may change or discard them. (The library routines dealing
+ with terminfo set tty modes so that tabs are never expanded, so \t is
safe to send. This turns out to be essential for the Ann Arbor 4080.)
- A final example is the LSI ADM-3a, which uses row and column offset by
+ A final example is the LSI ADM-3a, which uses row and column offset by
a blank character, thus
cup=\E=%p1%' '%+%c%p2%' '%+%c
- After sending "\E=", this pushes the first parameter, pushes the ASCII
- value for a space (32), adds them (pushing the sum on the stack in
- place of the two previous values) and outputs that value as a
- character. Then the same is done for the second parameter. More
+ After sending "\E=", this pushes the first parameter, pushes the ASCII
+ value for a space (32), adds them (pushing the sum on the stack in
+ place of the two previous values) and outputs that value as a
+ character. Then the same is done for the second parameter. More
complex arithmetic is possible using the stack.
</PRE><H3><a name="h3-Cursor-Motions">Cursor Motions</a></H3><PRE>
- If the terminal has a fast way to home the cursor (to very upper left
- corner of screen) then this can be given as <STRONG>home</STRONG>; similarly a fast way
- of getting to the lower left-hand corner can be given as <STRONG>ll</STRONG>; this may
+ If the terminal has a fast way to home the cursor (to very upper left
+ corner of screen) then this can be given as <STRONG>home</STRONG>; similarly a fast way
+ of getting to the lower left-hand corner can be given as <STRONG>ll</STRONG>; this may
involve going up with <STRONG>cuu1</STRONG> from the home position, but a program should
never do this itself (unless <STRONG>ll</STRONG> does) because it can make no assumption
- about the effect of moving up from the home position. Note that the
- home position is the same as addressing to (0,0): to the top left
- corner of the screen, not of memory. (Thus, the \EH sequence on HP
+ about the effect of moving up from the home position. Note that the
+ home position is the same as addressing to (0,0): to the top left
+ corner of the screen, not of memory. (Thus, the \EH sequence on HP
terminals cannot be used for <STRONG>home</STRONG>.)
If the terminal has row or column absolute cursor addressing, these can
- be given as single parameter capabilities <STRONG>hpa</STRONG> (horizontal position
- absolute) and <STRONG>vpa</STRONG> (vertical position absolute). Sometimes these are
- shorter than the more general two parameter sequence (as with the
- hp2645) and can be used in preference to <STRONG>cup</STRONG>. If there are
- parameterized local motions (e.g., move <EM>n</EM> spaces to the right) these
- can be given as <STRONG>cud</STRONG>, <STRONG>cub</STRONG>, <STRONG>cuf</STRONG>, and <STRONG>cuu</STRONG> with a single parameter
- indicating how many spaces to move. These are primarily useful if the
+ be given as single parameter capabilities <STRONG>hpa</STRONG> (horizontal position
+ absolute) and <STRONG>vpa</STRONG> (vertical position absolute). Sometimes these are
+ shorter than the more general two parameter sequence (as with the
+ hp2645) and can be used in preference to <STRONG>cup</STRONG>. If there are
+ parameterized local motions (e.g., move <EM>n</EM> spaces to the right) these
+ can be given as <STRONG>cud</STRONG>, <STRONG>cub</STRONG>, <STRONG>cuf</STRONG>, and <STRONG>cuu</STRONG> with a single parameter
+ indicating how many spaces to move. These are primarily useful if the
terminal does not have <STRONG>cup</STRONG>, such as the TEKTRONIX 4025.
- If the terminal needs to be in a special mode when running a program
+ If the terminal needs to be in a special mode when running a program
that uses these capabilities, the codes to enter and exit this mode can
- be given as <STRONG>smcup</STRONG> and <STRONG>rmcup</STRONG>. This arises, for example, from terminals
- like the Concept with more than one page of memory. If the terminal
- has only memory relative cursor addressing and not screen relative
- cursor addressing, a one screen-sized window must be fixed into the
+ be given as <STRONG>smcup</STRONG> and <STRONG>rmcup</STRONG>. This arises, for example, from terminals
+ like the Concept with more than one page of memory. If the terminal
+ has only memory relative cursor addressing and not screen relative
+ cursor addressing, a one screen-sized window must be fixed into the
terminal for cursor addressing to work properly. This is also used for
- the TEKTRONIX 4025, where <STRONG>smcup</STRONG> sets the command character to be the
- one used by terminfo. If the <STRONG>smcup</STRONG> sequence will not restore the
- screen after an <STRONG>rmcup</STRONG> sequence is output (to the state prior to
+ the TEKTRONIX 4025, where <STRONG>smcup</STRONG> sets the command character to be the
+ one used by terminfo. If the <STRONG>smcup</STRONG> sequence will not restore the
+ screen after an <STRONG>rmcup</STRONG> sequence is output (to the state prior to
outputting <STRONG>rmcup</STRONG>), specify <STRONG>nrrmc</STRONG>.
</PRE><H3><a name="h3-Margins">Margins</a></H3><PRE>
- SVr4 (and X/Open Curses) list several string capabilities for setting
- margins. Two were intended for use with terminals, and another six
+ SVr4 (and X/Open Curses) list several string capabilities for setting
+ margins. Two were intended for use with terminals, and another six
were intended for use with printers.
<STRONG>o</STRONG> The two terminal capabilities assume that the terminal may have the
- capability of setting the left and/or right margin at the current
+ capability of setting the left and/or right margin at the current
cursor column position.
<STRONG>o</STRONG> The printer capabilities assume that the printer may have two types
<STRONG>o</STRONG> the ability to set a top and/or bottom margin using the current
line position, and
- <STRONG>o</STRONG> parameterized capabilities for setting the top, bottom, left,
+ <STRONG>o</STRONG> parameterized capabilities for setting the top, bottom, left,
right margins given the number of rows or columns.
- In practice, the categorization into "terminal" and "printer" is not
+ In practice, the categorization into "terminal" and "printer" is not
suitable:
- <STRONG>o</STRONG> The AT&T SVr4 terminal database uses <STRONG>smgl</STRONG> four times, for AT&T
+ <STRONG>o</STRONG> The AT&T SVr4 terminal database uses <STRONG>smgl</STRONG> four times, for AT&T
hardware.
- Three of the four are printers. They lack the ability to set
+ Three of the four are printers. They lack the ability to set
left/right margins by specifying the column.
- <STRONG>o</STRONG> Other (non-AT&T) terminals may support margins but using different
+ <STRONG>o</STRONG> Other (non-AT&T) terminals may support margins but using different
assumptions from AT&T.
- For instance, the DEC VT420 supports left/right margins, but only
+ For instance, the DEC VT420 supports left/right margins, but only
using a column parameter. As an added complication, the VT420 uses
- two settings to fully enable left/right margins (left/right margin
- mode, and origin mode). The former enables the margins, which
- causes printed text to wrap within margins, but the latter is
+ two settings to fully enable left/right margins (left/right margin
+ mode, and origin mode). The former enables the margins, which
+ causes printed text to wrap within margins, but the latter is
needed to prevent cursor-addressing outside those margins.
- <STRONG>o</STRONG> Both DEC VT420 left/right margins are set with a single control
+ <STRONG>o</STRONG> Both DEC VT420 left/right margins are set with a single control
sequence. If either is omitted, the corresponding margin is set to
- the left or right edge of the display (rather than leaving the
+ the left or right edge of the display (rather than leaving the
margin unmodified).
These are the margin-related capabilities:
<STRONG>smglr</STRONG> Set both left and right margins to <EM>L</EM> and <EM>R</EM>
<STRONG>smgtb</STRONG> Set both top and bottom margins to <EM>T</EM> and <EM>B</EM>
- When writing an application that uses these string capabilities, the
- pairs should be first checked to see if each capability in the pair is
+ When writing an application that uses these string capabilities, the
+ pairs should be first checked to see if each capability in the pair is
set or only one is set:
- <STRONG>o</STRONG> If both <STRONG>smglp</STRONG> and <STRONG>smgrp</STRONG> are set, each is used with a single
- argument, <EM>N</EM>, that gives the column number of the left and right
+ <STRONG>o</STRONG> If both <STRONG>smglp</STRONG> and <STRONG>smgrp</STRONG> are set, each is used with a single
+ argument, <EM>N</EM>, that gives the column number of the left and right
margin, respectively.
- <STRONG>o</STRONG> If both <STRONG>smgtp</STRONG> and <STRONG>smgbp</STRONG> are set, each is used to set the top and
+ <STRONG>o</STRONG> If both <STRONG>smgtp</STRONG> and <STRONG>smgbp</STRONG> are set, each is used to set the top and
bottom margin, respectively:
<STRONG>o</STRONG> <STRONG>smgtp</STRONG> is used with a single argument, <EM>N</EM>, the line number of the
top margin.
- <STRONG>o</STRONG> <STRONG>smgbp</STRONG> is used with two arguments, <EM>N</EM> and <EM>M</EM>, that give the line
+ <STRONG>o</STRONG> <STRONG>smgbp</STRONG> is used with two arguments, <EM>N</EM> and <EM>M</EM>, that give the line
number of the bottom margin, the first counting from the top of
- the page and the second counting from the bottom. This
- accommodates the two styles of specifying the bottom margin in
+ the page and the second counting from the bottom. This
+ accommodates the two styles of specifying the bottom margin in
different manufacturers' printers.
- When designing a terminfo entry for a printer that has a settable
- bottom margin, only the first or second argument should be used,
+ When designing a terminfo entry for a printer that has a settable
+ bottom margin, only the first or second argument should be used,
depending on the printer. When developing an application that uses
<STRONG>smgbp</STRONG> to set the bottom margin, both arguments must be given.
Conversely, when only one capability in the pair is set:
- <STRONG>o</STRONG> If only one of <STRONG>smglp</STRONG> and <STRONG>smgrp</STRONG> is set, then it is used with two
+ <STRONG>o</STRONG> If only one of <STRONG>smglp</STRONG> and <STRONG>smgrp</STRONG> is set, then it is used with two
arguments, the column number of the left and right margins, in that
order.
- <STRONG>o</STRONG> Likewise, if only one of <STRONG>smgtp</STRONG> and <STRONG>smgbp</STRONG> is set, then it is used
- with two arguments that give the top and bottom margins, in that
+ <STRONG>o</STRONG> Likewise, if only one of <STRONG>smgtp</STRONG> and <STRONG>smgbp</STRONG> is set, then it is used
+ with two arguments that give the top and bottom margins, in that
order, counting from the top of the page.
When designing a terminfo entry for a printer that requires setting
- both left and right or top and bottom margins simultaneously, only
- one capability in the pairs <STRONG>smglp</STRONG> and <STRONG>smgrp</STRONG> or <STRONG>smgtp</STRONG> and <STRONG>smgbp</STRONG>
+ both left and right or top and bottom margins simultaneously, only
+ one capability in the pairs <STRONG>smglp</STRONG> and <STRONG>smgrp</STRONG> or <STRONG>smgtp</STRONG> and <STRONG>smgbp</STRONG>
should be defined, leaving the other unset.
- Except for very old terminal descriptions, e.g., those developed for
- SVr4, the scheme just described should be considered obsolete. An
+ Except for very old terminal descriptions, e.g., those developed for
+ SVr4, the scheme just described should be considered obsolete. An
improved set of capabilities was added late in the SVr4 releases (<STRONG>smglr</STRONG>
- and <STRONG>smgtb</STRONG>), which explicitly use two parameters for setting the
+ and <STRONG>smgtb</STRONG>), which explicitly use two parameters for setting the
left/right or top/bottom margins.
When setting margins, the line- and column-values are zero-based.
- The <STRONG>mgc</STRONG> string capability should be defined. Applications such as
+ The <STRONG>mgc</STRONG> string capability should be defined. Applications such as
<STRONG><A HREF="tabs.1.html">tabs(1)</A></STRONG> rely upon this to reset all margins.
</PRE><H3><a name="h3-Area-Clears">Area Clears</a></H3><PRE>
- If the terminal can clear from the current position to the end of the
- line, leaving the cursor where it is, this should be given as <STRONG>el</STRONG>. If
- the terminal can clear from the beginning of the line to the current
- position inclusive, leaving the cursor where it is, this should be
- given as <STRONG>el1</STRONG>. If the terminal can clear from the current position to
- the end of the display, then this should be given as <STRONG>ed</STRONG>. <STRONG>Ed</STRONG> is only
+ If the terminal can clear from the current position to the end of the
+ line, leaving the cursor where it is, this should be given as <STRONG>el</STRONG>. If
+ the terminal can clear from the beginning of the line to the current
+ position inclusive, leaving the cursor where it is, this should be
+ given as <STRONG>el1</STRONG>. If the terminal can clear from the current position to
+ the end of the display, then this should be given as <STRONG>ed</STRONG>. <STRONG>Ed</STRONG> is only
defined from the first column of a line. (Thus, it can be simulated by
- a request to delete a large number of lines, if a true <STRONG>ed</STRONG> is not
+ a request to delete a large number of lines, if a true <STRONG>ed</STRONG> is not
available.)
</PRE><H3><a name="h3-Insert_Delete-Line-and-Vertical-Motions">Insert/Delete Line and Vertical Motions</a></H3><PRE>
- If the terminal can open a new blank line before the line where the
- cursor is, this should be given as <STRONG>il1</STRONG>; this is done only from the
- first position of a line. The cursor must then appear on the newly
- blank line. If the terminal can delete the line which the cursor is
- on, then this should be given as <STRONG>dl1</STRONG>; this is done only from the first
+ If the terminal can open a new blank line before the line where the
+ cursor is, this should be given as <STRONG>il1</STRONG>; this is done only from the
+ first position of a line. The cursor must then appear on the newly
+ blank line. If the terminal can delete the line which the cursor is
+ on, then this should be given as <STRONG>dl1</STRONG>; this is done only from the first
position on the line to be deleted. Versions of <STRONG>il1</STRONG> and <STRONG>dl1</STRONG> which take
a single parameter and insert or delete that many lines can be given as
<STRONG>il</STRONG> and <STRONG>dl</STRONG>.
- If the terminal has a settable scrolling region (like the vt100) the
- command to set this can be described with the <STRONG>csr</STRONG> capability, which
+ If the terminal has a settable scrolling region (like the vt100) the
+ command to set this can be described with the <STRONG>csr</STRONG> capability, which
takes two parameters: the top and bottom lines of the scrolling region.
The cursor position is, alas, undefined after using this command.
- It is possible to get the effect of insert or delete line using <STRONG>csr</STRONG> on
- a properly chosen region; the <STRONG>sc</STRONG> and <STRONG>rc</STRONG> (save and restore cursor)
+ It is possible to get the effect of insert or delete line using <STRONG>csr</STRONG> on
+ a properly chosen region; the <STRONG>sc</STRONG> and <STRONG>rc</STRONG> (save and restore cursor)
commands may be useful for ensuring that your synthesized insert/delete
- string does not move the cursor. (Note that the <STRONG><A HREF="ncurses.3x.html">ncurses(3x)</A></STRONG> library
- does this synthesis automatically, so you need not compose
+ string does not move the cursor. (Note that the <STRONG><A HREF="ncurses.3x.html">ncurses(3x)</A></STRONG> library
+ does this synthesis automatically, so you need not compose
insert/delete strings for an entry with <STRONG>csr</STRONG>).
- Yet another way to construct insert and delete might be to use a
- combination of index with the memory-lock feature found on some
- terminals (like the HP-700/90 series, which however also has
+ Yet another way to construct insert and delete might be to use a
+ combination of index with the memory-lock feature found on some
+ terminals (like the HP-700/90 series, which however also has
insert/delete).
- Inserting lines at the top or bottom of the screen can also be done
- using <STRONG>ri</STRONG> or <STRONG>ind</STRONG> on many terminals without a true insert/delete line,
+ Inserting lines at the top or bottom of the screen can also be done
+ using <STRONG>ri</STRONG> or <STRONG>ind</STRONG> on many terminals without a true insert/delete line,
and is often faster even on terminals with those features.
- The Boolean <STRONG>non_dest_scroll_region</STRONG> should be set if each scrolling
- window is effectively a view port on a screen-sized canvas. To test
- for this capability, create a scrolling region in the middle of the
- 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>,
+ The Boolean <STRONG>non_dest_scroll_region</STRONG> should be set if each scrolling
+ window is effectively a view port on a screen-sized canvas. To test
+ for this capability, create a scrolling region in the middle of the
+ 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>,
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
+ 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
scrolling if <STRONG>ndsrc</STRONG> is defined.
- If the terminal has the ability to define a window as part of memory,
- which all commands affect, it should be given as the parameterized
- string <STRONG>wind</STRONG>. The four parameters are the starting and ending lines in
+ If the terminal has the ability to define a window as part of memory,
+ which all commands affect, it should be given as the parameterized
+ string <STRONG>wind</STRONG>. The four parameters are the starting and ending lines in
memory and the starting and ending columns in memory, in that order.
If the terminal can retain display memory above, then the <STRONG>da</STRONG> capability
- should be given; if display memory can be retained below, then <STRONG>db</STRONG>
- should be given. These indicate that deleting a line or scrolling may
- bring non-blank lines up from below or that scrolling back with <STRONG>ri</STRONG> may
+ should be given; if display memory can be retained below, then <STRONG>db</STRONG>
+ should be given. These indicate that deleting a line or scrolling may
+ bring non-blank lines up from below or that scrolling back with <STRONG>ri</STRONG> may
bring down non-blank lines.
</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
- 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 a distinction between typed and untyped blanks on the
- screen, shifting upon an insert or delete only to an untyped blank on
- the screen which is either eliminated, or expanded to two untyped
+ There are two basic kinds of intelligent terminals with respect to
+ 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
+ Elmer Owl, make a distinction between typed and untyped blanks on the
+ screen, shifting upon an insert or delete only to an untyped blank on
+ the screen which is either eliminated, or expanded to two untyped
blanks.
- You can determine the kind of terminal you have by clearing the screen
- and then typing text separated by cursor motions. Type "abc def"
- using local cursor motions (not spaces) between the "abc" and the
- "def". Then position the cursor before the "abc" and put the terminal
- in insert mode. If typing characters causes the rest of the line to
- shift rigidly and characters to fall off the end, then your terminal
- does not distinguish between blanks and untyped positions. If the
- "abc" shifts over to the "def" which then move together around the end
- of the current line and onto the next as you insert, you have the
- second type of terminal, and should give the capability <STRONG>in</STRONG>, which
+ You can determine the kind of terminal you have by clearing the screen
+ and then typing text separated by cursor motions. Type "abc def"
+ using local cursor motions (not spaces) between the "abc" and the
+ "def". Then position the cursor before the "abc" and put the terminal
+ in insert mode. If typing characters causes the rest of the line to
+ shift rigidly and characters to fall off the end, then your terminal
+ does not distinguish between blanks and untyped positions. If the
+ "abc" shifts over to the "def" which then move together around the end
+ of the current line and onto the next as you insert, you have the
+ second type of terminal, and should give the capability <STRONG>in</STRONG>, which
stands for "insert null".
- While these are two logically separate attributes (one line versus
- multi-line insert mode, and special treatment of untyped spaces) we
- have seen no terminals whose insert mode cannot be described with the
+ While these are two logically separate attributes (one line versus
+ multi-line insert mode, and special treatment of untyped spaces) we
+ have seen no terminals whose insert mode cannot be described with the
single attribute.
- Terminfo can describe both terminals which have an insert mode, and
- terminals which send a simple sequence to open a blank position on the
+ Terminfo can describe both terminals which have an insert mode, and
+ terminals which send a simple sequence to open a blank position on the
current line. Give as <STRONG>smir</STRONG> the sequence to get into insert mode. Give
- as <STRONG>rmir</STRONG> the sequence to leave insert mode. Now give as <STRONG>ich1</STRONG> any
- sequence needed to be sent just before sending the character to be
- inserted. Most terminals with a true insert mode will not give <STRONG>ich1</STRONG>;
- terminals which send a sequence to open a screen position should give
+ as <STRONG>rmir</STRONG> the sequence to leave insert mode. Now give as <STRONG>ich1</STRONG> any
+ sequence needed to be sent just before sending the character to be
+ inserted. Most terminals with a true insert mode will not give <STRONG>ich1</STRONG>;
+ terminals which send a sequence to open a screen position should give
it here.
- If your terminal has both, insert mode is usually preferable to <STRONG>ich1</STRONG>.
- Technically, you should not give both unless the terminal actually
- requires both to be used in combination. Accordingly, some non-curses
- applications get confused if both are present; the symptom is doubled
- characters in an update using insert. This requirement is now rare;
- most <STRONG>ich</STRONG> sequences do not require previous smir, and most smir insert
- modes do not require <STRONG>ich1</STRONG> before each character. Therefore, the new
- <STRONG>curses</STRONG> actually assumes this is the case and uses either <STRONG>rmir</STRONG>/<STRONG>smir</STRONG> or
- <STRONG>ich</STRONG>/<STRONG>ich1</STRONG> as appropriate (but not both). If you have to write an entry
- to be used under new curses for a terminal old enough to need both,
+ If your terminal has both, insert mode is usually preferable to <STRONG>ich1</STRONG>.
+ Technically, you should not give both unless the terminal actually
+ requires both to be used in combination. Accordingly, some non-curses
+ applications get confused if both are present; the symptom is doubled
+ characters in an update using insert. This requirement is now rare;
+ most <STRONG>ich</STRONG> sequences do not require previous smir, and most smir insert
+ modes do not require <STRONG>ich1</STRONG> before each character. Therefore, the new
+ <STRONG>curses</STRONG> actually assumes this is the case and uses either <STRONG>rmir</STRONG>/<STRONG>smir</STRONG> or
+ <STRONG>ich</STRONG>/<STRONG>ich1</STRONG> as appropriate (but not both). If you have to write an entry
+ to be used under new curses for a terminal old enough to need both,
include the <STRONG>rmir</STRONG>/<STRONG>smir</STRONG> sequences in <STRONG>ich1</STRONG>.
If post insert padding is needed, give this as a number of milliseconds
- in <STRONG>ip</STRONG> (a string option). Any other sequence which may need to be sent
+ in <STRONG>ip</STRONG> (a string option). Any other sequence which may need to be sent
after an insert of a single character may also be given in <STRONG>ip</STRONG>. If your
- terminal needs both to be placed into an "insert mode" and a special
- code to precede each inserted character, then both <STRONG>smir</STRONG>/<STRONG>rmir</STRONG> and <STRONG>ich1</STRONG>
- can be given, and both will be used. The <STRONG>ich</STRONG> capability, with one
+ terminal needs both to be placed into an "insert mode" and a special
+ code to precede each inserted character, then both <STRONG>smir</STRONG>/<STRONG>rmir</STRONG> and <STRONG>ich1</STRONG>
+ can be given, and both will be used. The <STRONG>ich</STRONG> capability, with one
parameter, <EM>n</EM>, will repeat the effects of <STRONG>ich1</STRONG> <EM>n</EM> times.
- If padding is necessary between characters typed while not in insert
+ If padding is necessary between characters typed while not in insert
mode, give this as a number of milliseconds padding in <STRONG>rmp</STRONG>.
- It is occasionally necessary to move around while in insert mode to
- delete characters on the same line (e.g., if there is a tab after the
- insertion position). If your terminal allows motion while in insert
- mode you can give the capability <STRONG>mir</STRONG> to speed up inserting in this
- case. Omitting <STRONG>mir</STRONG> will affect only speed. Some terminals (notably
- Datamedia's) must not have <STRONG>mir</STRONG> because of the way their insert mode
+ It is occasionally necessary to move around while in insert mode to
+ delete characters on the same line (e.g., if there is a tab after the
+ insertion position). If your terminal allows motion while in insert
+ mode you can give the capability <STRONG>mir</STRONG> to speed up inserting in this
+ case. Omitting <STRONG>mir</STRONG> will affect only speed. Some terminals (notably
+ Datamedia's) must not have <STRONG>mir</STRONG> because of the way their insert mode
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
+ 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).
- A command to erase <EM>n</EM> characters (equivalent to outputting <EM>n</EM> blanks
+ 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.
</PRE><H3><a name="h3-Highlighting_Underlining_and-Visible-Bells">Highlighting, Underlining, and Visible Bells</a></H3><PRE>
If your terminal has one or more kinds of display attributes, these can
- be represented in a number of different ways. You should choose one
- display form as <EM>standout</EM> <EM>mode</EM>, representing a good, high contrast,
- easy-on-the-eyes, format for highlighting error messages and other
- attention getters. (If you have a choice, reverse video plus half-
- bright is good, or reverse video alone.) The sequences to enter and
- exit standout mode are given as <STRONG>smso</STRONG> and <STRONG>rmso</STRONG>, respectively. If the
- code to change into or out of standout mode leaves one or even two
- blank spaces on the screen, as the TVI 912 and Teleray 1061 do, then
+ be represented in a number of different ways. You should choose one
+ display form as <EM>standout</EM> <EM>mode</EM>, representing a good, high contrast,
+ easy-on-the-eyes, format for highlighting error messages and other
+ attention getters. (If you have a choice, reverse video plus half-
+ bright is good, or reverse video alone.) The sequences to enter and
+ exit standout mode are given as <STRONG>smso</STRONG> and <STRONG>rmso</STRONG>, respectively. If the
+ code to change into or out of standout mode leaves one or even two
+ blank spaces on the screen, as the TVI 912 and Teleray 1061 do, then
<STRONG>xmc</STRONG> should be given to tell how many spaces are left.
Codes to begin underlining and end underlining can be given as <STRONG>smul</STRONG> and
<STRONG>rmul</STRONG> respectively. If the terminal has a code to underline the current
- character and move the cursor one space to the right, such as the
+ character and move the cursor one space to the right, such as the
Microterm Mime, this can be given as <STRONG>uc</STRONG>.
- Other capabilities to enter various highlighting modes include <STRONG>blink</STRONG>
- (blinking) <STRONG>bold</STRONG> (bold or extra bright) <STRONG>dim</STRONG> (dim or half-bright) <STRONG>invis</STRONG>
- (blanking or invisible text) <STRONG>prot</STRONG> (protected) <STRONG>rev</STRONG> (reverse video) <STRONG>sgr0</STRONG>
- (turn off <EM>all</EM> attribute modes) <STRONG>smacs</STRONG> (enter alternate character set
+ Other capabilities to enter various highlighting modes include <STRONG>blink</STRONG>
+ (blinking) <STRONG>bold</STRONG> (bold or extra bright) <STRONG>dim</STRONG> (dim or half-bright) <STRONG>invis</STRONG>
+ (blanking or invisible text) <STRONG>prot</STRONG> (protected) <STRONG>rev</STRONG> (reverse video) <STRONG>sgr0</STRONG>
+ (turn off <EM>all</EM> attribute modes) <STRONG>smacs</STRONG> (enter alternate character set
mode) and <STRONG>rmacs</STRONG> (exit alternate character set mode). Turning on any of
these modes singly may or may not turn off other modes.
- If there is a sequence to set arbitrary combinations of modes, this
- should be given as <STRONG>sgr</STRONG> (set attributes), taking 9 parameters. Each
+ If there is a sequence to set arbitrary combinations of modes, this
+ should be given as <STRONG>sgr</STRONG> (set attributes), taking 9 parameters. Each
parameter is either zero (0) or nonzero, as the corresponding attribute
- is on or off. The 9 parameters are, in order: standout, underline,
- reverse, blink, dim, bold, blank, protect, alternate character set.
+ is on or off. The 9 parameters are, in order: standout, underline,
+ reverse, blink, dim, bold, blank, protect, alternate character set.
Not all modes need be supported by <STRONG>sgr</STRONG>, only those for which
corresponding separate attribute commands exist.
p8 protect not used
p9 altcharset ^O (off) ^N (on)
- We begin each escape sequence by turning off any existing modes, since
- there is no quick way to determine whether they are active. Standout
- is set up to be the combination of reverse and bold. The vt220
- terminal has a protect mode, though it is not commonly used in sgr
- because it protects characters on the screen from the host's erasures.
- The altcharset mode also is different in that it is either ^O or ^N,
- depending on whether it is off or on. If all modes are turned on, the
+ We begin each escape sequence by turning off any existing modes, since
+ there is no quick way to determine whether they are active. Standout
+ is set up to be the combination of reverse and bold. The vt220
+ terminal has a protect mode, though it is not commonly used in sgr
+ because it protects characters on the screen from the host's erasures.
+ The altcharset mode also is different in that it is either ^O or ^N,
+ depending on whether it is off or on. If all modes are turned on, the
resulting sequence is \E[0;1;4;5;7;8m^N.
- Some sequences are common to different modes. For example, ;7 is
- output when either p1 or p3 is true, that is, if either standout or
+ Some sequences are common to different modes. For example, ;7 is
+ output when either p1 or p3 is true, that is, if either standout or
reverse modes are turned on.
Writing out the above sequences, along with their dependencies yields
sgr=\E[0%?%p1%p6%|%t;1%;%?%p2%t;4%;%?%p4%t;5%;
%?%p1%p3%|%t;7%;%?%p7%t;8%;m%?%p9%t\016%e\017%;,
- Remember that if you specify sgr, you must also specify sgr0. Also,
- some implementations rely on sgr being given if sgr0 is, Not all
+ Remember that if you specify sgr, you must also specify sgr0. Also,
+ some implementations rely on sgr being given if sgr0 is, Not all
terminfo entries necessarily have an sgr string, however. Many
- terminfo entries are derived from termcap entries which have no sgr
+ terminfo entries are derived from termcap entries which have no sgr
string. The only drawback to adding an sgr string is that termcap also
assumes that sgr0 does not exit alternate character set mode.
- Terminals with the "magic cookie" glitch (<STRONG>xmc</STRONG>) deposit special
- "cookies" when they receive mode-setting sequences, which affect the
- display algorithm rather than having extra bits for each character.
- Some terminals, such as the HP 2621, automatically leave standout mode
- when they move to a new line or the cursor is addressed. Programs
- using standout mode should exit standout mode before moving the cursor
- or sending a newline, unless the <STRONG>msgr</STRONG> capability, asserting that it is
+ Terminals with the "magic cookie" glitch (<STRONG>xmc</STRONG>) deposit special
+ "cookies" when they receive mode-setting sequences, which affect the
+ display algorithm rather than having extra bits for each character.
+ Some terminals, such as the HP 2621, automatically leave standout mode
+ when they move to a new line or the cursor is addressed. Programs
+ using standout mode should exit standout mode before moving the cursor
+ or sending a newline, unless the <STRONG>msgr</STRONG> capability, asserting that it is
safe to move in standout mode, is present.
- If the terminal has a way of flashing the screen to indicate an error
- quietly (a bell replacement) then this can be given as <STRONG>flash</STRONG>; it must
+ If the terminal has a way of flashing the screen to indicate an error
+ quietly (a bell replacement) then this can be given as <STRONG>flash</STRONG>; it must
not move the cursor.
- If the cursor needs to be made more visible than normal when it is not
+ If the cursor needs to be made more visible than normal when it is not
on the bottom line (to make, for example, a non-blinking underline into
- an easier to find block or blinking underline) give this sequence as
+ an easier to find block or blinking underline) give this sequence as
<STRONG>cvvis</STRONG>. If there is a way to make the cursor completely invisible, give
- that as <STRONG>civis</STRONG>. The capability <STRONG>cnorm</STRONG> should be given which undoes the
+ that as <STRONG>civis</STRONG>. The capability <STRONG>cnorm</STRONG> should be given which undoes the
effects of both of these modes.
- If your terminal correctly generates underlined characters (with no
- special codes needed) even though it does not overstrike, then you
- should give the capability <STRONG>ul</STRONG>. If a character overstriking another
- leaves both characters on the screen, specify the capability <STRONG>os</STRONG>. If
+ If your terminal correctly generates underlined characters (with no
+ special codes needed) even though it does not overstrike, then you
+ should give the capability <STRONG>ul</STRONG>. If a character overstriking another
+ leaves both characters on the screen, specify the capability <STRONG>os</STRONG>. If
overstrikes are erasable with a blank, then this should be indicated by
giving <STRONG>eo</STRONG>.
</PRE><H3><a name="h3-Keypad-and-Function-Keys">Keypad and Function Keys</a></H3><PRE>
- If the terminal has a keypad that transmits codes when the keys are
- pressed, this information can be given. Note that it is not possible
+ If the terminal has a keypad that transmits codes when the keys are
+ pressed, this information can be given. Note that it is not possible
to handle terminals where the keypad only works in local (this applies,
- for example, to the unshifted HP 2621 keys). If the keypad can be set
- to transmit or not transmit, give these codes as <STRONG>smkx</STRONG> and <STRONG>rmkx</STRONG>.
+ for example, to the unshifted HP 2621 keys). If the keypad can be set
+ to transmit or not transmit, give these codes as <STRONG>smkx</STRONG> and <STRONG>rmkx</STRONG>.
Otherwise the keypad is assumed to always transmit.
- The codes sent by the left arrow, right arrow, up arrow, down arrow,
- and home keys can be given as <STRONG>kcub1,</STRONG> <STRONG>kcuf1,</STRONG> <STRONG>kcuu1,</STRONG> <STRONG>kcud1,</STRONG> and <STRONG>khome</STRONG>
+ The codes sent by the left arrow, right arrow, up arrow, down arrow,
+ and home keys can be given as <STRONG>kcub1,</STRONG> <STRONG>kcuf1,</STRONG> <STRONG>kcuu1,</STRONG> <STRONG>kcud1,</STRONG> and <STRONG>khome</STRONG>
respectively. If there are function keys such as f0, f1, ..., f10, the
- codes they send can be given as <STRONG>kf0,</STRONG> <STRONG>kf1,</STRONG> <STRONG>...,</STRONG> <STRONG>kf10</STRONG>. If these keys
- have labels other than the default f0 through f10, the labels can be
+ codes they send can be given as <STRONG>kf0,</STRONG> <STRONG>kf1,</STRONG> <STRONG>...,</STRONG> <STRONG>kf10</STRONG>. If these keys
+ have labels other than the default f0 through f10, the labels can be
given as <STRONG>lf0,</STRONG> <STRONG>lf1,</STRONG> <STRONG>...,</STRONG> <STRONG>lf10</STRONG>.
The codes transmitted by certain other special keys can be given:
<STRONG>o</STRONG> <STRONG>khts</STRONG> (set a tab stop in this column).
- In addition, if the keypad has a 3 by 3 array of keys including the
- four arrow keys, the other five keys can be given as <STRONG>ka1</STRONG>, <STRONG>ka3</STRONG>, <STRONG>kb2</STRONG>,
- <STRONG>kc1</STRONG>, and <STRONG>kc3</STRONG>. These keys are useful when the effects of a 3 by 3
+ In addition, if the keypad has a 3 by 3 array of keys including the
+ four arrow keys, the other five keys can be given as <STRONG>ka1</STRONG>, <STRONG>ka3</STRONG>, <STRONG>kb2</STRONG>,
+ <STRONG>kc1</STRONG>, and <STRONG>kc3</STRONG>. These keys are useful when the effects of a 3 by 3
directional pad are needed.
Strings to program function keys can be given as <STRONG>pfkey</STRONG>, <STRONG>pfloc</STRONG>, and <STRONG>pfx</STRONG>.
- A string to program screen labels should be specified as <STRONG>pln</STRONG>. Each of
- these strings takes two parameters: the function key number to program
+ A string to program screen labels should be specified as <STRONG>pln</STRONG>. Each of
+ these strings takes two parameters: the function key number to program
(from 0 to 10) and the string to program it with. Function key numbers
- out of this range may program undefined keys in a terminal dependent
- manner. The difference between the capabilities is that <STRONG>pfkey</STRONG> causes
- pressing the given key to be the same as the user typing the given
- string; <STRONG>pfloc</STRONG> causes the string to be executed by the terminal in
+ out of this range may program undefined keys in a terminal dependent
+ manner. The difference between the capabilities is that <STRONG>pfkey</STRONG> causes
+ pressing the given key to be the same as the user typing the given
+ string; <STRONG>pfloc</STRONG> causes the string to be executed by the terminal in
local; and <STRONG>pfx</STRONG> causes the string to be transmitted to the computer.
- The capabilities <STRONG>nlab</STRONG>, <STRONG>lw</STRONG> and <STRONG>lh</STRONG> define the number of programmable
- screen labels and their width and height. If there are commands to
- turn the labels on and off, give them in <STRONG>smln</STRONG> and <STRONG>rmln</STRONG>. <STRONG>smln</STRONG> is
- normally output after one or more pln sequences to make sure that the
+ The capabilities <STRONG>nlab</STRONG>, <STRONG>lw</STRONG> and <STRONG>lh</STRONG> define the number of programmable
+ screen labels and their width and height. If there are commands to
+ turn the labels on and off, give them in <STRONG>smln</STRONG> and <STRONG>rmln</STRONG>. <STRONG>smln</STRONG> is
+ normally output after one or more pln sequences to make sure that the
change becomes visible.
</PRE><H3><a name="h3-Tabs-and-Initialization">Tabs and Initialization</a></H3><PRE>
A few capabilities are used only for tabs:
- <STRONG>o</STRONG> If the terminal has hardware tabs, the command to advance to the
+ <STRONG>o</STRONG> If the terminal has hardware tabs, the command to advance to the
next tab stop can be given as <STRONG>ht</STRONG> (usually control/I).
<STRONG>o</STRONG> A "back-tab" command which moves leftward to the preceding tab stop
can be given as <STRONG>cbt</STRONG>.
- By convention, if the teletype modes indicate that tabs are being
- expanded by the computer rather than being sent to the terminal,
- programs should not use <STRONG>ht</STRONG> or <STRONG>cbt</STRONG> even if they are present, since
+ By convention, if the teletype modes indicate that tabs are being
+ expanded by the computer rather than being sent to the terminal,
+ programs should not use <STRONG>ht</STRONG> or <STRONG>cbt</STRONG> even if they are present, since
the user may not have the tab stops properly set.
- <STRONG>o</STRONG> If the terminal has hardware tabs which are initially set every <EM>n</EM>
+ <STRONG>o</STRONG> If the terminal has hardware tabs which are initially set every <EM>n</EM>
spaces when the terminal is powered up, the numeric parameter <STRONG>it</STRONG> is
given, showing the number of spaces the tabs are set to.
The <STRONG>it</STRONG> capability is normally used by the <STRONG>tset</STRONG> command to determine
- whether to set the mode for hardware tab expansion, and whether to
+ whether to set the mode for hardware tab expansion, and whether to
set the tab stops. If the terminal has tab stops that can be saved
- in non-volatile memory, the terminfo description can assume that
+ in non-volatile memory, the terminfo description can assume that
they are properly set.
Other capabilities include
<STRONG>o</STRONG> <STRONG>is1</STRONG>, <STRONG>is2</STRONG>, and <STRONG>is3</STRONG>, initialization strings for the terminal,
- <STRONG>o</STRONG> <STRONG>iprog</STRONG>, the path name of a program to be run to initialize the
+ <STRONG>o</STRONG> <STRONG>iprog</STRONG>, the path name of a program to be run to initialize the
terminal,
<STRONG>o</STRONG> and <STRONG>if</STRONG>, the name of a file containing long initialization strings.
- These strings are expected to set the terminal into modes consistent
- with the rest of the terminfo description. They are normally sent to
- the terminal, by the <EM>init</EM> option of the <STRONG>tput</STRONG> program, each time the
+ These strings are expected to set the terminal into modes consistent
+ with the rest of the terminfo description. They are normally sent to
+ the terminal, by the <EM>init</EM> option of the <STRONG>tput</STRONG> program, each time the
user logs in. They will be printed in the following order:
run the program
and finally output
<STRONG>is3</STRONG>.
- Most initialization is done with <STRONG>is2</STRONG>. Special terminal modes can be
- set up without duplicating strings by putting the common sequences in
+ Most initialization is done with <STRONG>is2</STRONG>. Special terminal modes can be
+ set up without duplicating strings by putting the common sequences in
<STRONG>is2</STRONG> and special cases in <STRONG>is1</STRONG> and <STRONG>is3</STRONG>.
- A set of sequences that does a harder reset from a totally unknown
+ A set of sequences that does a harder reset from a totally unknown
state can be given as <STRONG>rs1</STRONG>, <STRONG>rs2</STRONG>, <STRONG>rf</STRONG> and <STRONG>rs3</STRONG>, analogous to <STRONG>is1</STRONG> <STRONG>,</STRONG> <STRONG>is2</STRONG> <STRONG>,</STRONG> <STRONG>if</STRONG>
- and <STRONG>is3</STRONG> respectively. These strings are output by <EM>reset</EM> option of
- <STRONG>tput</STRONG>, or by the <STRONG>reset</STRONG> program (an alias of <STRONG>tset</STRONG>), which is used when
+ and <STRONG>is3</STRONG> respectively. These strings are output by <EM>reset</EM> option of
+ <STRONG>tput</STRONG>, or by the <STRONG>reset</STRONG> program (an alias of <STRONG>tset</STRONG>), which is used when
the terminal gets into a wedged state. Commands are normally placed in
<STRONG>rs1</STRONG>, <STRONG>rs2</STRONG> <STRONG>rs3</STRONG> and <STRONG>rf</STRONG> only if they produce annoying effects on the screen
and are not necessary when logging in. For example, the command to set
- the vt100 into 80-column mode would normally be part of <STRONG>is2</STRONG>, but it
- causes an annoying glitch of the screen and is not normally needed
+ the vt100 into 80-column mode would normally be part of <STRONG>is2</STRONG>, but it
+ causes an annoying glitch of the screen and is not normally needed
since the terminal is usually already in 80-column mode.
- The <STRONG>reset</STRONG> program writes strings including <STRONG>iprog</STRONG>, etc., in the same
- order as the <EM>init</EM> program, using <STRONG>rs1</STRONG>, etc., instead of <STRONG>is1</STRONG>, etc. If
- any of <STRONG>rs1</STRONG>, <STRONG>rs2</STRONG>, <STRONG>rs3</STRONG>, or <STRONG>rf</STRONG> reset capability strings are missing, the
- <STRONG>reset</STRONG> program falls back upon the corresponding initialization
+ The <STRONG>reset</STRONG> program writes strings including <STRONG>iprog</STRONG>, etc., in the same
+ order as the <EM>init</EM> program, using <STRONG>rs1</STRONG>, etc., instead of <STRONG>is1</STRONG>, etc. If
+ any of <STRONG>rs1</STRONG>, <STRONG>rs2</STRONG>, <STRONG>rs3</STRONG>, or <STRONG>rf</STRONG> reset capability strings are missing, the
+ <STRONG>reset</STRONG> program falls back upon the corresponding initialization
capability string.
- If there are commands to set and clear tab stops, they can be given as
+ If there are commands to set and clear tab stops, they can be given as
<STRONG>tbc</STRONG> (clear all tab stops) and <STRONG>hts</STRONG> (set a tab stop in the current column
- of every row). If a more complex sequence is needed to set the tabs
+ of every row). If a more complex sequence is needed to set the tabs
than can be described by this, the sequence can be placed in <STRONG>is2</STRONG> or <STRONG>if</STRONG>.
- The <STRONG>tput</STRONG> <STRONG>reset</STRONG> command uses the same capability strings as the <STRONG>reset</STRONG>
- command, although the two programs (<STRONG>tput</STRONG> and <STRONG>reset</STRONG>) provide different
+ The <STRONG>tput</STRONG> <STRONG>reset</STRONG> command uses the same capability strings as the <STRONG>reset</STRONG>
+ command, although the two programs (<STRONG>tput</STRONG> and <STRONG>reset</STRONG>) provide different
command-line options.
In practice, these terminfo capabilities are not often used in
<STRONG>o</STRONG> Almost all hardware terminals (at least those which supported tabs)
initialized those to every <EM>eight</EM> columns:
- The only exception was the AT&T 2300 series, which set tabs to
+ The only exception was the AT&T 2300 series, which set tabs to
every <EM>five</EM> columns.
- <STRONG>o</STRONG> In particular, developers of the hardware terminals which are
- commonly used as models for modern terminal emulators provided
+ <STRONG>o</STRONG> In particular, developers of the hardware terminals which are
+ commonly used as models for modern terminal emulators provided
documentation demonstrating that <EM>eight</EM> columns were the standard.
<STRONG>o</STRONG> Because of this, the terminal initialization programs <STRONG>tput</STRONG> and <STRONG>tset</STRONG>
- use the <STRONG>tbc</STRONG> (<STRONG>clear_all_tabs</STRONG>) and <STRONG>hts</STRONG> (<STRONG>set_tab</STRONG>) capabilities
- directly only when the <STRONG>it</STRONG> (<STRONG>init_tabs</STRONG>) capability is set to a value
+ use the <STRONG>tbc</STRONG> (<STRONG>clear_all_tabs</STRONG>) and <STRONG>hts</STRONG> (<STRONG>set_tab</STRONG>) capabilities
+ directly only when the <STRONG>it</STRONG> (<STRONG>init_tabs</STRONG>) capability is set to a value
other than <EM>eight</EM>.
</PRE><H3><a name="h3-Delays-and-Padding">Delays and Padding</a></H3><PRE>
- Many older and slower terminals do not support either XON/XOFF or DTR
- handshaking, including hard copy terminals and some very archaic CRTs
- (including, for example, DEC VT100s). These may require padding
+ Many older and slower terminals do not support either XON/XOFF or DTR
+ handshaking, including hard copy terminals and some very archaic CRTs
+ (including, for example, DEC VT100s). These may require padding
characters after certain cursor motions and screen changes.
If the terminal uses xon/xoff handshaking for flow control (that is, it
- automatically emits ^S back to the host when its input buffers are
- close to full), set <STRONG>xon</STRONG>. This capability suppresses the emission of
- padding. You can also set it for memory-mapped console devices
+ automatically emits ^S back to the host when its input buffers are
+ close to full), set <STRONG>xon</STRONG>. This capability suppresses the emission of
+ padding. You can also set it for memory-mapped console devices
effectively that do not have a speed limit. Padding information should
- still be included so that routines can make better decisions about
+ still be included so that routines can make better decisions about
relative costs, but actual pad characters will not be transmitted.
If <STRONG>pb</STRONG> (padding baud rate) is given, padding is suppressed at baud rates
- below the value of <STRONG>pb</STRONG>. If the entry has no padding baud rate, then
+ below the value of <STRONG>pb</STRONG>. If the entry has no padding baud rate, then
whether padding is emitted or not is completely controlled by <STRONG>xon</STRONG>.
- If the terminal requires other than a null (zero) character as a pad,
- then this can be given as <STRONG>pad</STRONG>. Only the first character of the <STRONG>pad</STRONG>
+ If the terminal requires other than a null (zero) character as a pad,
+ then this can be given as <STRONG>pad</STRONG>. Only the first character of the <STRONG>pad</STRONG>
string is used.
</PRE><H3><a name="h3-Status-Lines">Status Lines</a></H3><PRE>
- Some terminals have an extra "status line" which is not normally used
+ Some terminals have an extra "status line" which is not normally used
by software (and thus not counted in the terminal's <STRONG>lines</STRONG> capability).
- The simplest case is a status line which is cursor-addressable but not
+ The simplest case is a status line which is cursor-addressable but not
part of the main scrolling region on the screen; the Heathkit H19 has a
- status line of this kind, as would a 24-line VT100 with a 23-line
+ status line of this kind, as would a 24-line VT100 with a 23-line
scrolling region set up on initialization. This situation is indicated
by the <STRONG>hs</STRONG> capability.
- Some terminals with status lines need special sequences to access the
- status line. These may be expressed as a string with single parameter
- <STRONG>tsl</STRONG> which takes the cursor to a given zero-origin column on the status
- line. The capability <STRONG>fsl</STRONG> must return to the main-screen cursor
+ Some terminals with status lines need special sequences to access the
+ status line. These may be expressed as a string with single parameter
+ <STRONG>tsl</STRONG> which takes the cursor to a given zero-origin column on the status
+ line. The capability <STRONG>fsl</STRONG> must return to the main-screen cursor
positions before the last <STRONG>tsl</STRONG>. You may need to embed the string values
- of <STRONG>sc</STRONG> (save cursor) and <STRONG>rc</STRONG> (restore cursor) in <STRONG>tsl</STRONG> and <STRONG>fsl</STRONG> to
+ of <STRONG>sc</STRONG> (save cursor) and <STRONG>rc</STRONG> (restore cursor) in <STRONG>tsl</STRONG> and <STRONG>fsl</STRONG> to
accomplish this.
- The status line is normally assumed to be the same width as the width
- of the terminal. If this is untrue, you can specify it with the
+ The status line is normally assumed to be the same width as the width
+ of the terminal. If this is untrue, you can specify it with the
numeric capability <STRONG>wsl</STRONG>.
A command to erase or blank the status line may be specified as <STRONG>dsl</STRONG>.
- The Boolean capability <STRONG>eslok</STRONG> specifies that escape sequences, tabs,
+ The Boolean capability <STRONG>eslok</STRONG> specifies that escape sequences, tabs,
etc., work ordinarily in the status line.
- The <EM>ncurses</EM> implementation does not yet use any of these capabilities.
+ The <EM>ncurses</EM> implementation does not yet use any of these capabilities.
They are documented here in case they ever become important.
</PRE><H3><a name="h3-Line-Graphics">Line Graphics</a></H3><PRE>
- Many terminals have alternate character sets useful for forms-drawing.
- Terminfo and <STRONG>curses</STRONG> have built-in support for most of the drawing
- characters supported by the VT100, with some characters from the AT&T
- 4410v1 added. This alternate character set may be specified by the
+ Many terminals have alternate character sets useful for forms-drawing.
+ Terminfo and <STRONG>curses</STRONG> have built-in support for most of the drawing
+ characters supported by the VT100, with some characters from the AT&T
+ 4410v1 added. This alternate character set may be specified by the
<STRONG>acsc</STRONG> capability.
<STRONG>acsc</STRONG>
A few notes apply to the table itself:
- <STRONG>o</STRONG> X/Open Curses incorrectly states that the mapping for <EM>lantern</EM> is
- uppercase "I" although Unix implementations use the lowercase "i"
+ <STRONG>o</STRONG> X/Open Curses incorrectly states that the mapping for <EM>lantern</EM> is
+ uppercase "I" although Unix implementations use the lowercase "i"
mapping.
- <STRONG>o</STRONG> The DEC VT100 implemented graphics using the alternate character
- set feature, temporarily switching <EM>modes</EM> and sending characters in
- the range 0x60 (96) to 0x7e (126) (the <STRONG>acsc</STRONG> <STRONG>Value</STRONG> column in the
+ <STRONG>o</STRONG> The DEC VT100 implemented graphics using the alternate character
+ set feature, temporarily switching <EM>modes</EM> and sending characters in
+ the range 0x60 (96) to 0x7e (126) (the <STRONG>acsc</STRONG> <STRONG>Value</STRONG> column in the
table).
<STRONG>o</STRONG> The AT&T terminal added graphics characters outside that range.
- Some of the characters within the range do not match the VT100;
- presumably they were used in the AT&T terminal: <EM>board</EM> <EM>of</EM> <EM>squares</EM>
- replaces the VT100 <EM>newline</EM> symbol, while <EM>lantern</EM> <EM>symbol</EM> replaces
+ Some of the characters within the range do not match the VT100;
+ presumably they were used in the AT&T terminal: <EM>board</EM> <EM>of</EM> <EM>squares</EM>
+ replaces the VT100 <EM>newline</EM> symbol, while <EM>lantern</EM> <EM>symbol</EM> replaces
the VT100 <EM>vertical</EM> <EM>tab</EM> symbol. The other VT100 symbols for control
- characters (<EM>horizontal</EM> <EM>tab</EM>, <EM>carriage</EM> <EM>return</EM> and <EM>line-feed</EM>) are not
+ characters (<EM>horizontal</EM> <EM>tab</EM>, <EM>carriage</EM> <EM>return</EM> and <EM>line-feed</EM>) are not
(re)used in curses.
- The best way to define a new device's graphics set is to add a column
- to a copy of this table for your terminal, giving the character which
- (when emitted between <STRONG>smacs</STRONG>/<STRONG>rmacs</STRONG> switches) will be rendered as the
+ The best way to define a new device's graphics set is to add a column
+ to a copy of this table for your terminal, giving the character which
+ (when emitted between <STRONG>smacs</STRONG>/<STRONG>rmacs</STRONG> switches) will be rendered as the
corresponding graphic. Then read off the VT100/your terminal character
pairs right to left in sequence; these become the ACSC string.
</PRE><H3><a name="h3-Color-Handling">Color Handling</a></H3><PRE>
- The curses library functions <STRONG>init_pair</STRONG> and <STRONG>init_color</STRONG> manipulate the
- <EM>color</EM> <EM>pairs</EM> and <EM>color</EM> <EM>values</EM> discussed in this section (see
+ The curses library functions <STRONG>init_pair</STRONG> and <STRONG>init_color</STRONG> manipulate the
+ <EM>color</EM> <EM>pairs</EM> and <EM>color</EM> <EM>values</EM> discussed in this section (see
<STRONG><A HREF="curs_color.3x.html">curs_color(3x)</A></STRONG> for details on these and related functions).
Most color terminals are either "Tektronix-like" or "HP-like":
is usually 8), and can set character-cell foreground and background
characters independently, mixing them into <EM>N</EM> * <EM>N</EM> color pairs.
- <STRONG>o</STRONG> On HP-like terminals, the user must set each color pair up
- separately (foreground and background are not independently
- settable). Up to <EM>M</EM> color pairs may be set up from 2*<EM>M</EM> different
+ <STRONG>o</STRONG> On HP-like terminals, the user must set each color pair up
+ separately (foreground and background are not independently
+ settable). Up to <EM>M</EM> color pairs may be set up from 2*<EM>M</EM> different
colors. ANSI-compatible terminals are Tektronix-like.
Some basic color capabilities are independent of the color method. The
- numeric capabilities <STRONG>colors</STRONG> and <STRONG>pairs</STRONG> specify the maximum numbers of
- colors and color pairs that can be displayed simultaneously. The <STRONG>op</STRONG>
+ numeric capabilities <STRONG>colors</STRONG> and <STRONG>pairs</STRONG> specify the maximum numbers of
+ colors and color pairs that can be displayed simultaneously. The <STRONG>op</STRONG>
(original pair) string resets foreground and background colors to their
- default values for the terminal. The <STRONG>oc</STRONG> string resets all colors or
- color pairs to their default values for the terminal. Some terminals
- (including many PC terminal emulators) erase screen areas with the
- current background color rather than the power-up default background;
+ default values for the terminal. The <STRONG>oc</STRONG> string resets all colors or
+ color pairs to their default values for the terminal. Some terminals
+ (including many PC terminal emulators) erase screen areas with the
+ current background color rather than the power-up default background;
these should have the Boolean capability <STRONG>bce</STRONG>.
- While the curses library works with <EM>color</EM> <EM>pairs</EM> (reflecting the
- inability of some devices to set foreground and background colors
- independently), there are separate capabilities for setting these
+ While the curses library works with <EM>color</EM> <EM>pairs</EM> (reflecting the
+ inability of some devices to set foreground and background colors
+ independently), there are separate capabilities for setting these
features:
- <STRONG>o</STRONG> To change the current foreground or background color on a
- Tektronix-type terminal, use <STRONG>setaf</STRONG> (set ANSI foreground) and <STRONG>setab</STRONG>
- (set ANSI background) or <STRONG>setf</STRONG> (set foreground) and <STRONG>setb</STRONG> (set
+ <STRONG>o</STRONG> To change the current foreground or background color on a
+ Tektronix-type terminal, use <STRONG>setaf</STRONG> (set ANSI foreground) and <STRONG>setab</STRONG>
+ (set ANSI background) or <STRONG>setf</STRONG> (set foreground) and <STRONG>setb</STRONG> (set
background). These take one parameter, the color number. The SVr4
- documentation describes only <STRONG>setaf</STRONG>/<STRONG>setab</STRONG>; the XPG4 draft says that
- "If the terminal supports ANSI escape sequences to set background
- and foreground, they should be coded as <STRONG>setaf</STRONG> and <STRONG>setab</STRONG>,
+ documentation describes only <STRONG>setaf</STRONG>/<STRONG>setab</STRONG>; the XPG4 draft says that
+ "If the terminal supports ANSI escape sequences to set background
+ and foreground, they should be coded as <STRONG>setaf</STRONG> and <STRONG>setab</STRONG>,
respectively.
- <STRONG>o</STRONG> If the terminal supports other escape sequences to set background
- and foreground, they should be coded as <STRONG>setf</STRONG> and <STRONG>setb</STRONG>,
- respectively. The <STRONG>vidputs</STRONG> and the <STRONG><A HREF="curs_refresh.3x.html">refresh(3x)</A></STRONG> functions use the
+ <STRONG>o</STRONG> If the terminal supports other escape sequences to set background
+ and foreground, they should be coded as <STRONG>setf</STRONG> and <STRONG>setb</STRONG>,
+ respectively. The <STRONG>vidputs</STRONG> and the <STRONG><A HREF="curs_refresh.3x.html">refresh(3x)</A></STRONG> functions use the
<STRONG>setaf</STRONG> and <STRONG>setab</STRONG> capabilities if they are defined.
- The <STRONG>setaf</STRONG>/<STRONG>setab</STRONG> and <STRONG>setf</STRONG>/<STRONG>setb</STRONG> capabilities take a single numeric
+ The <STRONG>setaf</STRONG>/<STRONG>setab</STRONG> and <STRONG>setf</STRONG>/<STRONG>setb</STRONG> capabilities take a single numeric
argument each. Argument values 0-7 of <STRONG>setaf</STRONG>/<STRONG>setab</STRONG> are portably defined
- as follows (the middle column is the symbolic #define available in the
- header for the <STRONG>curses</STRONG> or <EM>ncurses</EM> libraries). The terminal hardware is
- free to map these as it likes, but the RGB values indicate normal
+ as follows (the middle column is the symbolic #define available in the
+ header for the <STRONG>curses</STRONG> or <EM>ncurses</EM> libraries). The terminal hardware is
+ free to map these as it likes, but the RGB values indicate normal
locations in color space.
<STRONG>Color</STRONG> <STRONG>#define</STRONG> <STRONG>Value</STRONG> <STRONG>RGB</STRONG>
yellow <STRONG>COLOR_YELLOW</STRONG> 6 max, max, 0
white <STRONG>COLOR_WHITE</STRONG> 7 max, max, max
- It is important to not confuse the two sets of color capabilities;
+ It is important to not confuse the two sets of color capabilities;
otherwise red/blue will be interchanged on the display.
- On an HP-like terminal, use <STRONG>scp</STRONG> with a color pair number parameter to
+ On an HP-like terminal, use <STRONG>scp</STRONG> with a color pair number parameter to
set which color pair is current.
Some terminals allow the <EM>color</EM> <EM>values</EM> to be modified:
- <STRONG>o</STRONG> On a Tektronix-like terminal, the capability <STRONG>ccc</STRONG> may be present to
- indicate that colors can be modified. If so, the <STRONG>initc</STRONG> capability
+ <STRONG>o</STRONG> On a Tektronix-like terminal, the capability <STRONG>ccc</STRONG> may be present to
+ indicate that colors can be modified. If so, the <STRONG>initc</STRONG> capability
will take a color number (0 to <STRONG>colors</STRONG> - 1)and three more parameters
- which describe the color. These three parameters default to being
- interpreted as RGB (Red, Green, Blue) values. If the Boolean
+ which describe the color. These three parameters default to being
+ interpreted as RGB (Red, Green, Blue) values. If the Boolean
capability <STRONG>hls</STRONG> is present, they are instead as HLS (Hue, Lightness,
Saturation) indices. The ranges are terminal-dependent.
- <STRONG>o</STRONG> On an HP-like terminal, <STRONG>initp</STRONG> may give a capability for changing a
- color pair value. It will take seven parameters; a color pair
- number (0 to <STRONG>max_pairs</STRONG> - 1), and two triples describing first
- background and then foreground colors. These parameters must be
- (Red, Green, Blue) or (Hue, Lightness, Saturation) depending on
+ <STRONG>o</STRONG> On an HP-like terminal, <STRONG>initp</STRONG> may give a capability for changing a
+ color pair value. It will take seven parameters; a color pair
+ number (0 to <STRONG>max_pairs</STRONG> - 1), and two triples describing first
+ background and then foreground colors. These parameters must be
+ (Red, Green, Blue) or (Hue, Lightness, Saturation) depending on
<STRONG>hls</STRONG>.
- On some color terminals, colors collide with highlights. You can
- register these collisions with the <STRONG>ncv</STRONG> capability. This is a bit mask
- of attributes not to be used when colors are enabled. The
+ On some color terminals, colors collide with highlights. You can
+ register these collisions with the <STRONG>ncv</STRONG> capability. This is a bit mask
+ of attributes not to be used when colors are enabled. The
correspondence with the attributes understood by <STRONG>curses</STRONG> is as follows:
<STRONG>Attribute</STRONG> <STRONG>Bit</STRONG> <STRONG>Decimal</STRONG> <STRONG>Set</STRONG> <STRONG>by</STRONG>
<STRONG>A_VERTICAL</STRONG> 14 16384 <STRONG>sgr1</STRONG>
<STRONG>A_ITALIC</STRONG> 15 32768 <STRONG>sitm</STRONG>
- For example, on many IBM PC consoles, the underline attribute collides
- with the foreground color blue and is not available in color mode.
+ For example, on many IBM PC consoles, the underline attribute collides
+ with the foreground color blue and is not available in color mode.
These should have an <STRONG>ncv</STRONG> capability of 2.
- SVr4 curses does nothing with <STRONG>ncv</STRONG>, <EM>ncurses</EM> recognizes it and optimizes
+ SVr4 curses does nothing with <STRONG>ncv</STRONG>, <EM>ncurses</EM> recognizes it and optimizes
the output in favor of colors.
</PRE><H3><a name="h3-Miscellaneous">Miscellaneous</a></H3><PRE>
- If the terminal requires other than a null (zero) character as a pad,
- then this can be given as pad. Only the first character of the pad
+ If the terminal requires other than a null (zero) character as a pad,
+ then this can be given as pad. Only the first character of the pad
string is used. If the terminal does not have a pad character, specify
- npc. Note that <EM>ncurses</EM> implements the termcap-compatible <STRONG>PC</STRONG> variable;
- though the application may set this value to something other than a
- null, <EM>ncurses</EM> will test <STRONG>npc</STRONG> first and use napms if the terminal has no
+ npc. Note that <EM>ncurses</EM> implements the termcap-compatible <STRONG>PC</STRONG> variable;
+ though the application may set this value to something other than a
+ null, <EM>ncurses</EM> will test <STRONG>npc</STRONG> first and use napms if the terminal has no
pad character.
- If the terminal can move up or down half a line, this can be indicated
- with <STRONG>hu</STRONG> (half-line up) and <STRONG>hd</STRONG> (half-line down). This is primarily
- useful for superscripts and subscripts on hard-copy terminals. If a
+ If the terminal can move up or down half a line, this can be indicated
+ with <STRONG>hu</STRONG> (half-line up) and <STRONG>hd</STRONG> (half-line down). This is primarily
+ useful for superscripts and subscripts on hard-copy terminals. If a
hard-copy terminal can eject to the next page (form feed), give this as
<STRONG>ff</STRONG> (usually control/L).
- If there is a command to repeat a given character a given number of
- times (to save time transmitting a large number of identical
- characters) this can be indicated with the parameterized string <STRONG>rep</STRONG>.
- The first parameter is the character to be repeated and the second is
+ If there is a command to repeat a given character a given number of
+ times (to save time transmitting a large number of identical
+ characters) this can be indicated with the parameterized string <STRONG>rep</STRONG>.
+ The first parameter is the character to be repeated and the second is
the number of times to repeat it. Thus, tparm(repeat_char, 'x', 10) is
the same as "xxxxxxxxxx".
If the terminal has a settable command character, such as the TEKTRONIX
- 4025, this can be indicated with <STRONG>cmdch</STRONG>. A prototype command character
- is chosen which is used in all capabilities. This character is given
- in the <STRONG>cmdch</STRONG> capability to identify it. The following convention is
+ 4025, this can be indicated with <STRONG>cmdch</STRONG>. A prototype command character
+ is chosen which is used in all capabilities. This character is given
+ in the <STRONG>cmdch</STRONG> capability to identify it. The following convention is
supported on some Unix systems: The environment is to be searched for a
- <STRONG>CC</STRONG> variable, and if found, all occurrences of the prototype character
+ <STRONG>CC</STRONG> variable, and if found, all occurrences of the prototype character
are replaced with the character in the environment variable.
- Terminal descriptions that do not represent a specific kind of known
- terminal, such as <EM>switch</EM>, <EM>dialup</EM>, <EM>patch</EM>, and <EM>network</EM>, should include
- the <STRONG>gn</STRONG> (generic) capability so that programs can complain that they do
- not know how to talk to the terminal. (This capability does not apply
- to <EM>virtual</EM> terminal descriptions for which the escape sequences are
+ Terminal descriptions that do not represent a specific kind of known
+ terminal, such as <EM>switch</EM>, <EM>dialup</EM>, <EM>patch</EM>, and <EM>network</EM>, should include
+ the <STRONG>gn</STRONG> (generic) capability so that programs can complain that they do
+ not know how to talk to the terminal. (This capability does not apply
+ to <EM>virtual</EM> terminal descriptions for which the escape sequences are
known.)
If the terminal has a "meta key" which acts as a shift key, setting the
- 8th bit of any character transmitted, this fact can be indicated with
- <STRONG>km</STRONG>. Otherwise, software will assume that the 8th bit is parity and it
- will usually be cleared. If strings exist to turn this "meta mode" on
+ 8th bit of any character transmitted, this fact can be indicated with
+ <STRONG>km</STRONG>. Otherwise, software will assume that the 8th bit is parity and it
+ will usually be cleared. If strings exist to turn this "meta mode" on
and off, they can be given as <STRONG>smm</STRONG> and <STRONG>rmm</STRONG>.
If the terminal has more lines of memory than will fit on the screen at
- once, the number of lines of memory can be indicated with <STRONG>lm</STRONG>. A value
+ once, the number of lines of memory can be indicated with <STRONG>lm</STRONG>. A value
of <STRONG>lm</STRONG>#0 indicates that the number of lines is not fixed, but that there
is still more memory than fits on the screen.
- If the terminal is one of those supported by the Unix virtual terminal
+ If the terminal is one of those supported by the Unix virtual terminal
protocol, the terminal number can be given as <STRONG>vt</STRONG>.
- Media copy strings which control an auxiliary printer connected to the
- terminal can be given as <STRONG>mc0</STRONG>: print the contents of the screen, <STRONG>mc4</STRONG>:
- turn off the printer, and <STRONG>mc5</STRONG>: turn on the printer. When the printer
- is on, all text sent to the terminal will be sent to the printer. It
- is undefined whether the text is also displayed on the terminal screen
- when the printer is on. A variation <STRONG>mc5p</STRONG> takes one parameter, and
- leaves the printer on for as many characters as the value of the
+ Media copy strings which control an auxiliary printer connected to the
+ terminal can be given as <STRONG>mc0</STRONG>: print the contents of the screen, <STRONG>mc4</STRONG>:
+ turn off the printer, and <STRONG>mc5</STRONG>: turn on the printer. When the printer
+ is on, all text sent to the terminal will be sent to the printer. It
+ is undefined whether the text is also displayed on the terminal screen
+ when the printer is on. A variation <STRONG>mc5p</STRONG> takes one parameter, and
+ leaves the printer on for as many characters as the value of the
parameter, then turns the printer off. The parameter should not exceed
- 255. All text, including <STRONG>mc4</STRONG>, is transparently passed to the printer
+ 255. All text, including <STRONG>mc4</STRONG>, is transparently passed to the printer
while an <STRONG>mc5p</STRONG> is in effect.
</PRE><H3><a name="h3-Glitches-and-Brain-Damage">Glitches and Brain Damage</a></H3><PRE>
- Hazeltine terminals, which do not allow "~" characters to be displayed
+ Hazeltine terminals, which do not allow "~" characters to be displayed
should indicate <STRONG>hz</STRONG>.
- Terminals which ignore a line-feed immediately after an <STRONG>am</STRONG> wrap, such
+ Terminals which ignore a line-feed immediately after an <STRONG>am</STRONG> wrap, such
as the Concept and vt100, should indicate <STRONG>xenl</STRONG>.
- If <STRONG>el</STRONG> is required to get rid of standout (instead of merely writing
+ If <STRONG>el</STRONG> is required to get rid of standout (instead of merely writing
normal text on top of it), <STRONG>xhp</STRONG> should be given.
Teleray terminals, where tabs turn all characters moved over to blanks,
- should indicate <STRONG>xt</STRONG> (destructive tabs). Note: the variable indicating
- this is now "dest_tabs_magic_smso"; in older versions, it was
- teleray_glitch. This glitch is also taken to mean that it is not
- possible to position the cursor on top of a "magic cookie", that to
- erase standout mode it is instead necessary to use delete and insert
+ should indicate <STRONG>xt</STRONG> (destructive tabs). Note: the variable indicating
+ this is now "dest_tabs_magic_smso"; in older versions, it was
+ teleray_glitch. This glitch is also taken to mean that it is not
+ possible to position the cursor on top of a "magic cookie", that to
+ erase standout mode it is instead necessary to use delete and insert
line. The <EM>ncurses</EM> implementation ignores this glitch.
- The Beehive Superbee, which is unable to correctly transmit the escape
- or control/C characters, has <STRONG>xsb</STRONG>, indicating that the f1 key is used
- for escape and f2 for control/C. (Only certain Superbees have this
- problem, depending on the ROM.) Note that in older terminfo versions,
+ The Beehive Superbee, which is unable to correctly transmit the escape
+ or control/C characters, has <STRONG>xsb</STRONG>, indicating that the f1 key is used
+ for escape and f2 for control/C. (Only certain Superbees have this
+ problem, depending on the ROM.) Note that in older terminfo versions,
this capability was called "beehive_glitch"; it is now "no_esc_ctl_c".
- Other specific terminal problems may be corrected by adding more
+ Other specific terminal problems may be corrected by adding more
capabilities of the form <STRONG>x</STRONG><EM>x</EM>.
</PRE><H3><a name="h3-Pitfalls-of-Long-Entries">Pitfalls of Long Entries</a></H3><PRE>
- Long terminfo entries are unlikely to be a problem; to date, no entry
- has even approached terminfo's 4096-byte string-table maximum.
- Unfortunately, the termcap translations are much more strictly limited
+ Long terminfo entries are unlikely to be a problem; to date, no entry
+ has even approached terminfo's 4096-byte string-table maximum.
+ Unfortunately, the termcap translations are much more strictly limited
(to 1023 bytes), thus termcap translations of long terminfo entries can
cause problems.
- The man pages for 4.3BSD and older versions of <STRONG>tgetent</STRONG> instruct the
- user to allocate a 1024-byte buffer for the termcap entry. The entry
- gets null-terminated by the termcap library, so that makes the maximum
- safe length for a termcap entry 1k-1 (1023) bytes. Depending on what
- the application and the termcap library being used does, and where in
- the termcap file the terminal type that <STRONG>tgetent</STRONG> is searching for is,
+ The man pages for 4.3BSD and older versions of <STRONG>tgetent</STRONG> instruct the
+ user to allocate a 1024-byte buffer for the termcap entry. The entry
+ gets null-terminated by the termcap library, so that makes the maximum
+ safe length for a termcap entry 1k-1 (1023) bytes. Depending on what
+ the application and the termcap library being used does, and where in
+ the termcap file the terminal type that <STRONG>tgetent</STRONG> is searching for is,
several bad things can happen:
<STRONG>o</STRONG> some termcap libraries print a warning message,
Some application programs allocate more than the recommended 1K for the
termcap entry; others do not.
- Each termcap entry has two important sizes associated with it: before
- "tc" expansion, and after "tc" expansion. "tc" is the capability that
+ Each termcap entry has two important sizes associated with it: before
+ "tc" expansion, and after "tc" expansion. "tc" is the capability that
tacks on another termcap entry to the end of the current one, to add on
its capabilities. If a termcap entry does not use the "tc" capability,
then of course the two lengths are the same.
- The "before tc expansion" length is the most important one, because it
- affects more than just users of that particular terminal. This is the
- length of the entry as it exists in /etc/termcap, minus the backslash-
+ The "before tc expansion" length is the most important one, because it
+ affects more than just users of that particular terminal. This is the
+ length of the entry as it exists in /etc/termcap, minus the backslash-
newline pairs, which <STRONG>tgetent</STRONG> strips out while reading it. Some termcap
libraries strip off the final newline, too (GNU termcap does not). Now
suppose:
<STRONG>o</STRONG> and the application has only allocated a 1k buffer,
- <STRONG>o</STRONG> and the termcap library (like the one in BSD/OS 1.1 and GNU) reads
- the whole entry into the buffer, no matter what its length, to see
+ <STRONG>o</STRONG> and the termcap library (like the one in BSD/OS 1.1 and GNU) reads
+ the whole entry into the buffer, no matter what its length, to see
if it is the entry it wants,
- <STRONG>o</STRONG> and <STRONG>tgetent</STRONG> is searching for a terminal type that either is the
- long entry, appears in the termcap file after the long entry, or
- does not appear in the file at all (so that <STRONG>tgetent</STRONG> has to search
+ <STRONG>o</STRONG> and <STRONG>tgetent</STRONG> is searching for a terminal type that either is the
+ long entry, appears in the termcap file after the long entry, or
+ does not appear in the file at all (so that <STRONG>tgetent</STRONG> has to search
the whole termcap file).
- Then <STRONG>tgetent</STRONG> will overwrite memory, perhaps its stack, and probably
- core dump the program. Programs like telnet are particularly
- vulnerable; modern telnets pass along values like the terminal type
- automatically. The results are almost as undesirable with a termcap
- library, like SunOS 4.1.3 and Ultrix 4.4, that prints warning messages
- when it reads an overly long termcap entry. If a termcap library
- truncates long entries, like OSF/1 3.0, it is immune to dying here but
+ Then <STRONG>tgetent</STRONG> will overwrite memory, perhaps its stack, and probably
+ core dump the program. Programs like telnet are particularly
+ vulnerable; modern telnets pass along values like the terminal type
+ automatically. The results are almost as undesirable with a termcap
+ library, like SunOS 4.1.3 and Ultrix 4.4, that prints warning messages
+ when it reads an overly long termcap entry. If a termcap library
+ truncates long entries, like OSF/1 3.0, it is immune to dying here but
will return incorrect data for the terminal.
- The "after tc expansion" length will have a similar effect to the
+ The "after tc expansion" length will have a similar effect to the
above, but only for people who actually set <EM>TERM</EM> to that terminal type,
- since <STRONG>tgetent</STRONG> only does "tc" expansion once it is found the terminal
+ since <STRONG>tgetent</STRONG> only does "tc" expansion once it is found the terminal
type it was looking for, not while searching.
- In summary, a termcap entry that is longer than 1023 bytes can cause,
- on various combinations of termcap libraries and applications, a core
- dump, warnings, or incorrect operation. If it is too long even before
- "tc" expansion, it will have this effect even for users of some other
- terminal types and users whose <EM>TERM</EM> variable does not have a termcap
+ In summary, a termcap entry that is longer than 1023 bytes can cause,
+ on various combinations of termcap libraries and applications, a core
+ dump, warnings, or incorrect operation. If it is too long even before
+ "tc" expansion, it will have this effect even for users of some other
+ terminal types and users whose <EM>TERM</EM> variable does not have a termcap
entry.
- When in -C (translate to termcap) mode, the <EM>ncurses</EM> implementation of
- <STRONG><A HREF="tic.1m.html">tic(1m)</A></STRONG> issues warning messages when the pre-tc length of a termcap
- translation is too long. The -c (check) option also checks resolved
+ When in -C (translate to termcap) mode, the <EM>ncurses</EM> implementation of
+ <STRONG><A HREF="tic.1m.html">tic(1m)</A></STRONG> issues warning messages when the pre-tc length of a termcap
+ translation is too long. The -c (check) option also checks resolved
(after tc expansion) lengths.
</PRE><H2><a name="h2-EXTENSIONS">EXTENSIONS</a></H2><PRE>
- Searching for terminal descriptions in <EM>$HOME/.terminfo</EM> and
+ Searching for terminal descriptions in <EM>$HOME/.terminfo</EM> and
<EM>TERMINFO</EM><STRONG>_</STRONG><EM>DIRS</EM> is not supported by older implementations.
- Some SVr4 <STRONG>curses</STRONG> implementations, and all previous to SVr4, do not
+ Some SVr4 <STRONG>curses</STRONG> implementations, and all previous to SVr4, do not
interpret the %A and %O operators in parameter strings.
- SVr4/XPG4 do not specify whether <STRONG>msgr</STRONG> licenses movement while in an
- alternate-character-set mode (such modes may, among other things, map
- CR and NL to characters that do not trigger local motions). The
- <EM>ncurses</EM> implementation ignores <STRONG>msgr</STRONG> in <STRONG>ALTCHARSET</STRONG> mode. This raises
+ SVr4/XPG4 do not specify whether <STRONG>msgr</STRONG> licenses movement while in an
+ alternate-character-set mode (such modes may, among other things, map
+ CR and NL to characters that do not trigger local motions). The
+ <EM>ncurses</EM> implementation ignores <STRONG>msgr</STRONG> in <STRONG>ALTCHARSET</STRONG> mode. This raises
the possibility that an XPG4 implementation making the opposite
- interpretation may need terminfo entries made for <EM>ncurses</EM> to have <STRONG>msgr</STRONG>
+ interpretation may need terminfo entries made for <EM>ncurses</EM> to have <STRONG>msgr</STRONG>
turned off.
The <EM>ncurses</EM> library handles insert-character and insert-character modes
- in a slightly non-standard way to get better update efficiency. See
+ in a slightly non-standard way to get better update efficiency. See
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 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.
- 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
- xterm that can return mouse-tracking information in the keyboard-input
+ 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
+ xterm that can return mouse-tracking information in the keyboard-input
stream.
- X/Open Curses does not mention italics. Portable applications must
- assume that numeric capabilities are signed 16-bit values. This
- includes the <EM>no</EM><STRONG>_</STRONG><EM>color</EM><STRONG>_</STRONG><EM>video</EM> (<STRONG>ncv</STRONG>) capability. The 32768 mask value
- used for italics with <STRONG>ncv</STRONG> can be confused with an absent or cancelled
- <STRONG>ncv</STRONG>. If italics should work with colors, then the <STRONG>ncv</STRONG> value must be
+ X/Open Curses does not mention italics. Portable applications must
+ assume that numeric capabilities are signed 16-bit values. This
+ includes the <EM>no</EM><STRONG>_</STRONG><EM>color</EM><STRONG>_</STRONG><EM>video</EM> (<STRONG>ncv</STRONG>) capability. The 32768 mask value
+ used for italics with <STRONG>ncv</STRONG> can be confused with an absent or cancelled
+ <STRONG>ncv</STRONG>. If italics should work with colors, then the <STRONG>ncv</STRONG> value must be
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
+ 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.
<STRONG>o</STRONG> SVr4, Solaris, and <EM>ncurses</EM> support all SVr4 capabilities.
- <STRONG>o</STRONG> IRIX supports the SVr4 set and adds one undocumented extended
+ <STRONG>o</STRONG> IRIX supports the SVr4 set and adds one undocumented extended
string capability (<STRONG>set_pglen</STRONG>).
- <STRONG>o</STRONG> SVr1 and Ultrix support a restricted subset of <EM>terminfo</EM>
- capabilities. The Booleans end with <STRONG>xon_xoff</STRONG>; the numerics with
+ <STRONG>o</STRONG> SVr1 and Ultrix support a restricted subset of <EM>terminfo</EM>
+ capabilities. The Booleans end with <STRONG>xon_xoff</STRONG>; the numerics with
<STRONG>width_status_line</STRONG>; and the strings with <STRONG>prtr_non</STRONG>.
- <STRONG>o</STRONG> HP/UX supports the SVr1 subset, plus the SVr[234] numerics
- <STRONG>num_labels</STRONG>, <STRONG>label_height</STRONG>, <STRONG>label_width</STRONG>, plus function keys 11
- through 63, plus <STRONG>plab_norm</STRONG>, <STRONG>label_on</STRONG>, and <STRONG>label_off</STRONG>, plus a number
+ <STRONG>o</STRONG> HP/UX supports the SVr1 subset, plus the SVr[234] numerics
+ <STRONG>num_labels</STRONG>, <STRONG>label_height</STRONG>, <STRONG>label_width</STRONG>, plus function keys 11
+ through 63, plus <STRONG>plab_norm</STRONG>, <STRONG>label_on</STRONG>, and <STRONG>label_off</STRONG>, plus a number
of incompatible string table extensions.
- <STRONG>o</STRONG> AIX supports the SVr1 subset, plus function keys 11 through 63,
+ <STRONG>o</STRONG> AIX supports the SVr1 subset, plus function keys 11 through 63,
plus a number of incompatible string table extensions.
<STRONG>o</STRONG> OSF/1 supports both the SVr4 set and the AIX extensions.
</PRE><H2><a name="h2-PORTABILITY">PORTABILITY</a></H2><PRE>
- Do not count on compiled (binary) <EM>terminfo</EM> entries being portable
- between commercial Unix systems. At least two implementations of
+ Do not count on compiled (binary) <EM>terminfo</EM> entries being portable
+ 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
+ Unices after SVr1, adding extension capabilities to the string table
+ that (in the binary format) collide with subsequent System V and XSI
Curses extensions.
</PRE><H2><a name="h2-SEE-ALSO">SEE ALSO</a></H2><PRE>
- <STRONG><A HREF="infocmp.1m.html">infocmp(1m)</A></STRONG>, <STRONG><A HREF="tabs.1.html">tabs(1)</A></STRONG>, <STRONG><A HREF="tic.1m.html">tic(1m)</A></STRONG>, <STRONG><A HREF="ncurses.3x.html">curses(3x)</A></STRONG>, <STRONG><A HREF="curs_color.3x.html">curs_color(3x)</A></STRONG>,
- <STRONG><A HREF="curs_terminfo.3x.html">curs_terminfo(3x)</A></STRONG>, <STRONG><A HREF="curs_variables.3x.html">curs_variables(3x)</A></STRONG>, <STRONG>printf(3)</STRONG>, <STRONG><A HREF="term_variables.3x.html">term_variables(3x)</A></STRONG>,
+ <STRONG><A HREF="infocmp.1m.html">infocmp(1m)</A></STRONG>, <STRONG><A HREF="tabs.1.html">tabs(1)</A></STRONG>, <STRONG><A HREF="tic.1m.html">tic(1m)</A></STRONG>, <STRONG><A HREF="ncurses.3x.html">curses(3x)</A></STRONG>, <STRONG><A HREF="curs_color.3x.html">curs_color(3x)</A></STRONG>,
+ <STRONG><A HREF="curs_terminfo.3x.html">curs_terminfo(3x)</A></STRONG>, <STRONG><A HREF="curs_variables.3x.html">curs_variables(3x)</A></STRONG>, <STRONG>printf(3)</STRONG>, <STRONG><A HREF="term_variables.3x.html">term_variables(3x)</A></STRONG>,
<STRONG><A HREF="term.5.html">term(5)</A></STRONG>, <STRONG><A HREF="user_caps.5.html">user_caps(5)</A></STRONG>
<!--
****************************************************************************
- * 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 *
* sale, use or other dealings in this Software without prior written *
* authorization. *
****************************************************************************
- * @Id: tic.1m,v 1.106 2023/12/30 21:36:32 tom Exp @
+ * @Id: tic.1m,v 1.108 2024/03/16 15:35:01 tom Exp @
-->
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN">
<HTML>
<HEAD>
<meta http-equiv="Content-Type" content="text/html; charset=us-ascii">
<meta name="generator" content="Manpage converted by man2html - see https://invisible-island.net/scripts/readme.html#others_scripts">
-<TITLE>tic 1m 2023-12-30 ncurses 6.4 User commands</TITLE>
+<TITLE>tic 1m 2024-03-16 ncurses 6.4 User commands</TITLE>
<link rel="author" href="mailto:bug-ncurses@gnu.org">
</HEAD>
<BODY>
-<H1 class="no-header">tic 1m 2023-12-30 ncurses 6.4 User commands</H1>
+<H1 class="no-header">tic 1m 2024-03-16 ncurses 6.4 User commands</H1>
<PRE>
<STRONG><A HREF="tic.1m.html">tic(1m)</A></STRONG> User commands <STRONG><A HREF="tic.1m.html">tic(1m)</A></STRONG>
-ncurses 6.4 2023-12-30 <STRONG><A HREF="tic.1m.html">tic(1m)</A></STRONG>
+ncurses 6.4 2024-03-16 <STRONG><A HREF="tic.1m.html">tic(1m)</A></STRONG>
</PRE>
<div class="nav">
<ul>
* sale, use or other dealings in this Software without prior written *
* authorization. *
****************************************************************************
- * @Id: toe.1m,v 1.64 2024/01/20 16:51:21 tom Exp @
+ * @Id: toe.1m,v 1.66 2024/03/16 15:35:01 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-01-20 ncurses 6.4 User commands</TITLE>
+<TITLE>toe 1m 2024-03-16 ncurses 6.4 User commands</TITLE>
<link rel="author" href="mailto:bug-ncurses@gnu.org">
</HEAD>
<BODY>
-<H1 class="no-header">toe 1m 2024-01-20 ncurses 6.4 User commands</H1>
+<H1 class="no-header">toe 1m 2024-03-16 ncurses 6.4 User commands</H1>
<PRE>
<STRONG><A HREF="toe.1m.html">toe(1m)</A></STRONG> User commands <STRONG><A HREF="toe.1m.html">toe(1m)</A></STRONG>
-ncurses 6.4 2024-01-20 <STRONG><A HREF="toe.1m.html">toe(1m)</A></STRONG>
+ncurses 6.4 2024-03-16 <STRONG><A HREF="toe.1m.html">toe(1m)</A></STRONG>
</PRE>
<div class="nav">
<ul>
* sale, use or other dealings in this Software without prior written *
* authorization. *
****************************************************************************
- * @Id: tput.1,v 1.105 2024/01/20 19:41:02 tom Exp @
+ * @Id: tput.1,v 1.109 2024/03/23 20:42:29 tom Exp @
-->
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN">
<HTML>
<HEAD>
<meta http-equiv="Content-Type" content="text/html; charset=us-ascii">
<meta name="generator" content="Manpage converted by man2html - see https://invisible-island.net/scripts/readme.html#others_scripts">
-<TITLE>tput 1 2024-01-20 ncurses 6.4 User commands</TITLE>
+<TITLE>tput 1 2024-03-23 ncurses 6.4 User commands</TITLE>
<link rel="author" href="mailto:bug-ncurses@gnu.org">
</HEAD>
<BODY>
-<H1 class="no-header">tput 1 2024-01-20 ncurses 6.4 User commands</H1>
+<H1 class="no-header">tput 1 2024-03-23 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>code</EM>.
<STRONG><A HREF="terminfo.5.html">terminfo(5)</A></STRONG> discusses terminal capabilities at length and presents a
- complete list of <EM>cap-codes.</EM>
+ complete list of <EM>cap-codes</EM>.
When retrieving capability values, the result depends upon the
capability's type.
Boolean <STRONG>tput</STRONG> sets its exit status to <STRONG>0</STRONG> if the terminal possesses <EM>cap-</EM>
- <EM>code,</EM> and <STRONG>1</STRONG> if it does not.
+ <EM>code</EM>, and <STRONG>1</STRONG> if it does not.
numeric <STRONG>tput</STRONG> writes <EM>cap-code</EM>'s decimal value to the standard output
stream if defined (<STRONG>-1</STRONG> if it is not) followed by a newline.
</PRE><H3><a name="h3-Operands">Operands</a></H3><PRE>
- Generally, an operand is a <EM>cap-code,</EM> a capability code from the
+ Generally, an operand is a <EM>cap-code</EM>, a capability code from the
terminal database, or a parameter thereto. Three others are specially
recognized by <STRONG>tput</STRONG>: <STRONG>init</STRONG>, <STRONG>reset</STRONG>, and <STRONG>longname</STRONG>. Although these resemble
capability codes, they in fact receive special handling; we term them
generally works, unless the connection is via a serial line that
does not support "NAWS": negotiations about window size.
- <STRONG>o</STRONG> Finally, it inspects the environment variables <EM>LINES</EM> and <EM>COLUMNS,</EM>
+ <STRONG>o</STRONG> Finally, it inspects the environment variables <EM>LINES</EM> and <EM>COLUMNS</EM>,
which may override the terminal size.
If the <STRONG>-T</STRONG> option is given, <STRONG>tput</STRONG> ignores the environment variables by
parameters in its input to decide how to interpret them, and
whether to use <STRONG><A HREF="curs_terminfo.3x.html">tparm(3x)</A></STRONG>.
- <STRONG>-T</STRONG> <EM>type</EM> indicates the terminal's <EM>type.</EM> Normally this option is
+ <STRONG>-T</STRONG> <EM>type</EM> indicates the terminal's <EM>type</EM>. Normally this option is
unnecessary, because a default is taken from the <EM>TERM</EM>
environment variable. If specified, the environment variables
<EM>LINES</EM> and <EM>COLUMNS</EM> are also ignored.
While more reliable than System V's utility, a portability problem
is introduced by this analysis. An OpenBSD developer adapted the
internal library function from <EM>ncurses</EM> to port NetBSD's <EM>termcap</EM>-
- based <STRONG>tput</STRONG> to <EM>terminfo,</EM> and modified it to interpret multiple <EM>cap-</EM>
+ based <STRONG>tput</STRONG> to <EM>terminfo</EM>, and modified it to interpret multiple <EM>cap-</EM>
<EM>codes</EM> (and parameters) on the command line. Portable applications
should not rely upon this feature; <EM>ncurses</EM> offers it to support
applications written specifically for OpenBSD.
assumes the <EM>terminfo</EM> code.
<STRONG>o</STRONG> The <EM>cap-code</EM> <STRONG>dl</STRONG> means <STRONG>delete_line</STRONG> to <EM>termcap</EM> but <STRONG>parm_delete_line</STRONG>
- to <EM>terminfo.</EM> <EM>termcap</EM> uses the code <STRONG>DL</STRONG> for <STRONG>parm_delete_line</STRONG>. <EM>term-</EM>
+ to <EM>terminfo</EM>. <EM>termcap</EM> uses the code <STRONG>DL</STRONG> for <STRONG>parm_delete_line</STRONG>. <EM>term-</EM>
<EM>info</EM> uses the code <STRONG>dch1</STRONG> for <STRONG>delete_line</STRONG>.
<STRONG>o</STRONG> The <EM>cap-code</EM> <STRONG>ed</STRONG> means <STRONG>exit_delete_mode</STRONG> to <EM>termcap</EM> but <STRONG>clr_eos</STRONG> to
- <EM>terminfo.</EM> <EM>termcap</EM> uses the code <STRONG>cd</STRONG> for <STRONG>clr_eos</STRONG>. <EM>terminfo</EM> uses the
+ <EM>terminfo</EM>. <EM>termcap</EM> uses the code <STRONG>cd</STRONG> for <STRONG>clr_eos</STRONG>. <EM>terminfo</EM> uses the
code <STRONG>rmdc</STRONG> for <STRONG>exit_delete_mode</STRONG>.
The <STRONG>longname</STRONG> operand, <STRONG>-S</STRONG> option, and the parameter-substitution
(POSIX.1-2008) documents only the <STRONG>clear</STRONG>, <STRONG>init</STRONG>, and <STRONG>reset</STRONG> operands. A
few observations of interest arise from that selection.
- <STRONG>o</STRONG> <EM>ncurses</EM> supports <STRONG>clear</STRONG> as it does any other standard <EM>cap-code.</EM> The
+ <STRONG>o</STRONG> <EM>ncurses</EM> supports <STRONG>clear</STRONG> as it does any other standard <EM>cap-code</EM>. The
others (<STRONG>init</STRONG> and <STRONG>longname</STRONG>) do not correspond to terminal
capabilities.
terminal capability database.
<STRONG>o</STRONG> While it is certainly possible to write a <STRONG>tput</STRONG> program without
- using <EM>curses,</EM> no system with a <EM>curses</EM> implementation provides a
- <STRONG>tput</STRONG> utility that does not also support standard <EM>cap-codes.</EM>
+ using <EM>curses</EM>, no system with a <EM>curses</EM> implementation provides a
+ <STRONG>tput</STRONG> utility that does not also support standard <EM>cap-codes</EM>.
X/Open Curses Issue 7 (2009) is the first version to document
utilities. However that part of X/Open Curses does not follow existing
(unsigned) exit status.
The various System V implementations (AIX, HP-UX, Solaris) use the same
- exit statuses as <EM>ncurses.</EM>
+ exit statuses as <EM>ncurses</EM>.
NetBSD <EM>curses</EM> documents exit statuses that correspond to neither
<EM>ncurses</EM> nor X/Open Curses.
-ncurses 6.4 2024-01-20 <STRONG><A HREF="tput.1.html">tput(1)</A></STRONG>
+ncurses 6.4 2024-03-23 <STRONG><A HREF="tput.1.html">tput(1)</A></STRONG>
</PRE>
<div class="nav">
<ul>
<!--
****************************************************************************
- * 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 *
* sale, use or other dealings in this Software without prior written *
* authorization. *
****************************************************************************
- * @Id: tset.1,v 1.79 2023/12/23 16:20:07 tom Exp @
+ * @Id: tset.1,v 1.81 2024/03/16 15:35:01 tom Exp @
-->
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN">
<HTML>
<HEAD>
<meta http-equiv="Content-Type" content="text/html; charset=us-ascii">
<meta name="generator" content="Manpage converted by man2html - see https://invisible-island.net/scripts/readme.html#others_scripts">
-<TITLE>tset 1 2023-12-23 ncurses 6.4 User commands</TITLE>
+<TITLE>tset 1 2024-03-16 ncurses 6.4 User commands</TITLE>
<link rel="author" href="mailto:bug-ncurses@gnu.org">
</HEAD>
<BODY>
-<H1 class="no-header">tset 1 2023-12-23 ncurses 6.4 User commands</H1>
+<H1 class="no-header">tset 1 2024-03-16 ncurses 6.4 User commands</H1>
<PRE>
<STRONG><A HREF="tset.1.html">tset(1)</A></STRONG> User commands <STRONG><A HREF="tset.1.html">tset(1)</A></STRONG>
-ncurses 6.4 2023-12-23 <STRONG><A HREF="tset.1.html">tset(1)</A></STRONG>
+ncurses 6.4 2024-03-16 <STRONG><A HREF="tset.1.html">tset(1)</A></STRONG>
</PRE>
<div class="nav">
<ul>
* sale, use or other dealings in this Software without prior written *
* authorization. *
****************************************************************************
- * @Id: user_caps.5,v 1.47 2024/01/13 22:05:39 tom Exp @
+ * @Id: user_caps.5,v 1.49 2024/03/16 15:35:01 tom Exp @
-->
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN">
<HTML>
<HEAD>
<meta http-equiv="Content-Type" content="text/html; charset=us-ascii">
<meta name="generator" content="Manpage converted by man2html - see https://invisible-island.net/scripts/readme.html#others_scripts">
-<TITLE>user_caps 5 2024-01-13 ncurses 6.4 File formats</TITLE>
+<TITLE>user_caps 5 2024-03-16 ncurses 6.4 File formats</TITLE>
<link rel="author" href="mailto:bug-ncurses@gnu.org">
</HEAD>
<BODY>
-<H1 class="no-header">user_caps 5 2024-01-13 ncurses 6.4 File formats</H1>
+<H1 class="no-header">user_caps 5 2024-03-16 ncurses 6.4 File formats</H1>
<PRE>
<STRONG><A HREF="user_caps.5.html">user_caps(5)</A></STRONG> File formats <STRONG><A HREF="user_caps.5.html">user_caps(5)</A></STRONG>
-ncurses 6.4 2024-01-13 <STRONG><A HREF="user_caps.5.html">user_caps(5)</A></STRONG>
+ncurses 6.4 2024-03-16 <STRONG><A HREF="user_caps.5.html">user_caps(5)</A></STRONG>
</PRE>
<div class="nav">
<ul>
<!--
****************************************************************************
- * Copyright 2018-2022,2023 Thomas E. Dickey *
+ * Copyright 2018-2023,2024 Thomas E. Dickey *
* Copyright 1998-2010,2015 Free Software Foundation, Inc. *
* *
* Permission is hereby granted, free of charge, to any person obtaining a *
* authorization. *
****************************************************************************
* Author: Thomas E. Dickey 1996
- * @Id: wresize.3x,v 1.34 2023/11/25 14:26:30 tom Exp @
+ * @Id: wresize.3x,v 1.36 2024/03/16 15:35:01 tom Exp @
-->
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN">
<HTML>
<HEAD>
<meta http-equiv="Content-Type" content="text/html; charset=us-ascii">
<meta name="generator" content="Manpage converted by man2html - see https://invisible-island.net/scripts/readme.html#others_scripts">
-<TITLE>wresize 3x 2023-11-25 ncurses 6.4 Library calls</TITLE>
+<TITLE>wresize 3x 2024-03-16 ncurses 6.4 Library calls</TITLE>
<link rel="author" href="mailto:bug-ncurses@gnu.org">
</HEAD>
<BODY>
-<H1 class="no-header">wresize 3x 2023-11-25 ncurses 6.4 Library calls</H1>
+<H1 class="no-header">wresize 3x 2024-03-16 ncurses 6.4 Library calls</H1>
<PRE>
<STRONG><A HREF="wresize.3x.html">wresize(3x)</A></STRONG> Library calls <STRONG><A HREF="wresize.3x.html">wresize(3x)</A></STRONG>
-ncurses 6.4 2023-11-25 <STRONG><A HREF="wresize.3x.html">wresize(3x)</A></STRONG>
+ncurses 6.4 2024-03-16 <STRONG><A HREF="wresize.3x.html">wresize(3x)</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.54 2024/03/02 14:35:19 tom Exp $
+# $Id: Caps,v 1.55 2024/03/16 15:26:09 Branden.Robinson Exp $
#
# This is the master termcap/terminfo capability table.
#
#
# STANDARD CAPABILITIES
#
-#%The following is a complete table of the capabilities included in a
-#%terminfo description block and available to terminfo-using code.
-#%In each line of the table,
+#%Tables of capabilities
+#%.I \%ncurses
+#%recognizes in a
+#%.I \%term\%info
+#%terminal type description and available to
+#%.IR \%term\%info -using
+#%code follow.
#%.bP
-#%The \fBvariable\fR is the name by which the programmer (at the terminfo level)
-#%accesses the capability.
+#%The capability name identifies the symbol by which the programmer
+#%using the
+#%.I \%term\%info
+#%API accesses the capability.
#%.bP
-#%The \fBcapname\fR (\fICap-name\fP)
-#%is the short name used in the text of the database,
-#%and is used by a person updating the database.
+#%The TI
+#%.RI ( \%term\%info )
+#%code is the short name used by a person composing or updating a
+#%terminal type entry.
#%.IP
-#%Whenever possible, capnames are chosen to be the same as or similar to
-#%the ANSI X3.64-1979 standard (now superseded by ECMA-48, which uses
-#%identical or very similar names).
+#%Whenever possible,
+#%these codes are the same as or similar to those of the ANSI X3.64-1979
+#%standard
+#%(now superseded by ECMA-48,
+#%which uses identical or very similar names).
#%Semantics are also intended to match those of the specification.
#%.IP
-#%Capability names have no hard length limit, but an informal limit of 5
-#%characters has been adopted to keep them short and to allow the tabs in
-#%the source file
-#%.B Caps
+#%.I \%term\%info
+#%codes have no hard length limit,
+#%but
+#%.I \%ncurses
+#%maintains an informal one of 5 characters to keep them short and to
+#%allow the tabs in the source file
+#%.I Caps
#%to line up nicely.
+#%(Some standard codes exceed this limit regardless.)
#%.bP
-#%The \fBtermcap\fP (\fITcap\fP) code is the old capability name
-#%(some capabilities are new, and have names which termcap did not originate).
+#%The TC
+#%.RI ( \%term\%cap )
+#%code is that used by the corresponding API of
+#%.I \%ncurses.
+#%(Some capabilities are new,
+#%and have names that BSD
+#%.I \%term\%cap
+#%did not originate.)
#%.bP
-#%Finally, the \fBdescription\fP field attempts to convey the semantics of the
-#%capability.
+#%The description field attempts to convey the capability's semantics.
#%.PP
-#%You may find some codes in the description field:
+#%The description field employs a handful of notations.
#%.TP
-#%(P)
-#%indicates that padding may be specified
+#%.B (P)
+#%indicates that padding may be specified.
#%.TP
-#%#[1-9]
-#%in the description field indicates that the string is passed
-#%through \fBtparm\fP(3X) with parameters as given (#\fIi\fP).
-#%.IP
-#%If no parameters are listed in the description,
-#%passing the string through \fBtparm\fP(3X) may give unexpected results,
-#%e.g., if it contains percent (%%) signs.
-#%.TP
-#%(P*)
-#%indicates that padding may vary in proportion to the number of
-#%lines affected
+#%.B (P*)
+#%indicates that padding may vary in proportion to the number of output
+#%lines affected.
#%.TP
-#%(#\d\fIi\fP\u)
-#%indicates the \fIi\fP\uth\d parameter.
+#%.BI # i
+#%indicates the
+#%.IR i th
+#%parameter of a string capability;
+#%the programmer should pass the string to \fB\%tparm\fP(3X) with the
+#%parameters listed.
+#%.IP
+#%If the description lists no parameters,
+#%passing the string to \fB\%tparm\fP(3X) may produce unexpected
+#%behavior,
+#%for instance if the string contains percent signs.
#%.
#%.PP
#%.TS
#
# Author: Thomas Dickey
#
-# $Id: Caps.aix4,v 1.26 2024/03/02 14:35:19 tom Exp $
+# $Id: Caps.aix4,v 1.27 2024/03/16 15:26:09 Branden.Robinson Exp $
#
# This is an adaptation of ncurses' termcap/terminfo capability table, which
# is designed to align with AIX 4.x's terminfo.
#
# STANDARD CAPABILITIES
#
-#%The following is a complete table of the capabilities included in a
-#%terminfo description block and available to terminfo-using code.
-#%In each line of the table,
+#%Tables of capabilities
+#%.I \%ncurses
+#%recognizes in a
+#%.I \%term\%info
+#%terminal type description and available to
+#%.IR \%term\%info -using
+#%code follow.
#%.bP
-#%The \fBvariable\fR is the name by which the programmer (at the terminfo level)
-#%accesses the capability.
+#%The capability name identifies the symbol by which the programmer
+#%using the
+#%.I \%term\%info
+#%API accesses the capability.
#%.bP
-#%The \fBcapname\fR (\fICap-name\fP)
-#%is the short name used in the text of the database,
-#%and is used by a person updating the database.
+#%The TI
+#%.RI ( \%term\%info )
+#%code is the short name used by a person composing or updating a
+#%terminal type entry.
#%.IP
-#%Whenever possible, capnames are chosen to be the same as or similar to
-#%the ANSI X3.64-1979 standard (now superseded by ECMA-48, which uses
-#%identical or very similar names).
+#%Whenever possible,
+#%these codes are the same as or similar to those of the ANSI X3.64-1979
+#%standard
+#%(now superseded by ECMA-48,
+#%which uses identical or very similar names).
#%Semantics are also intended to match those of the specification.
#%.IP
-#%Capability names have no hard length limit, but an informal limit of 5
-#%characters has been adopted to keep them short and to allow the tabs in
-#%the source file
-#%.B Caps
+#%.I \%term\%info
+#%codes have no hard length limit,
+#%but
+#%.I \%ncurses
+#%maintains an informal one of 5 characters to keep them short and to
+#%allow the tabs in the source file
+#%.I Caps
#%to line up nicely.
+#%(Some standard codes exceed this limit regardless.)
#%.bP
-#%The \fBtermcap\fP (\fITcap\fP) code is the old capability name
-#%(some capabilities are new, and have names which termcap did not originate).
+#%The TC
+#%.RI ( \%term\%cap )
+#%code is that used by the corresponding API of
+#%.I \%ncurses.
+#%(Some capabilities are new,
+#%and have names that BSD
+#%.I \%term\%cap
+#%did not originate.)
#%.bP
-#%Finally, the \fBdescription\fP field attempts to convey the semantics of the
-#%capability.
+#%The description field attempts to convey the capability's semantics.
#%.PP
-#%You may find some codes in the description field:
+#%The description field employs a handful of notations.
#%.TP
-#%(P)
-#%indicates that padding may be specified
+#%.B (P)
+#%indicates that padding may be specified.
#%.TP
-#%#[1-9]
-#%in the description field indicates that the string is passed
-#%through \fBtparm\fP(3X) with parameters as given (#\fIi\fP).
-#%.IP
-#%If no parameters are listed in the description,
-#%passing the string through \fBtparm\fP(3X) may give unexpected results,
-#%e.g., if it contains percent (%%) signs.
-#%.TP
-#%(P*)
-#%indicates that padding may vary in proportion to the number of
-#%lines affected
+#%.B (P*)
+#%indicates that padding may vary in proportion to the number of output
+#%lines affected.
#%.TP
-#%(#\d\fIi\fP\u)
-#%indicates the \fIi\fP\uth\d parameter.
+#%.BI # i
+#%indicates the
+#%.IR i th
+#%parameter of a string capability;
+#%the programmer should pass the string to \fB\%tparm\fP(3X) with the
+#%parameters listed.
+#%.IP
+#%If the description lists no parameters,
+#%passing the string to \fB\%tparm\fP(3X) may produce unexpected
+#%behavior,
+#%for instance if the string contains percent signs.
#%.
#%.PP
#%.TS
#
# Author: Thomas Dickey
#
-# $Id: Caps.hpux11,v 1.24 2024/03/02 14:35:19 tom Exp $
+# $Id: Caps.hpux11,v 1.25 2024/03/16 15:26:09 Branden.Robinson Exp $
#
# This is an adaptation of ncurses' termcap/terminfo capability table, which
# is designed to align with HPUX 11.x's terminfo.
#
# STANDARD CAPABILITIES
#
-#%The following is a complete table of the capabilities included in a
-#%terminfo description block and available to terminfo-using code.
-#%In each line of the table,
+#%Tables of capabilities
+#%.I \%ncurses
+#%recognizes in a
+#%.I \%term\%info
+#%terminal type description and available to
+#%.IR \%term\%info -using
+#%code follow.
#%.bP
-#%The \fBvariable\fR is the name by which the programmer (at the terminfo level)
-#%accesses the capability.
+#%The capability name identifies the symbol by which the programmer
+#%using the
+#%.I \%term\%info
+#%API accesses the capability.
#%.bP
-#%The \fBcapname\fR (\fICap-name\fP)
-#%is the short name used in the text of the database,
-#%and is used by a person updating the database.
+#%The TI
+#%.RI ( \%term\%info )
+#%code is the short name used by a person composing or updating a
+#%terminal type entry.
#%.IP
-#%Whenever possible, capnames are chosen to be the same as or similar to
-#%the ANSI X3.64-1979 standard (now superseded by ECMA-48, which uses
-#%identical or very similar names).
+#%Whenever possible,
+#%these codes are the same as or similar to those of the ANSI X3.64-1979
+#%standard
+#%(now superseded by ECMA-48,
+#%which uses identical or very similar names).
#%Semantics are also intended to match those of the specification.
#%.IP
-#%Capability names have no hard length limit, but an informal limit of 5
-#%characters has been adopted to keep them short and to allow the tabs in
-#%the source file
-#%.B Caps
+#%.I \%term\%info
+#%codes have no hard length limit,
+#%but
+#%.I \%ncurses
+#%maintains an informal one of 5 characters to keep them short and to
+#%allow the tabs in the source file
+#%.I Caps
#%to line up nicely.
+#%(Some standard codes exceed this limit regardless.)
#%.bP
-#%The \fBtermcap\fP (\fITcap\fP) code is the old capability name
-#%(some capabilities are new, and have names which termcap did not originate).
+#%The TC
+#%.RI ( \%term\%cap )
+#%code is that used by the corresponding API of
+#%.I \%ncurses.
+#%(Some capabilities are new,
+#%and have names that BSD
+#%.I \%term\%cap
+#%did not originate.)
#%.bP
-#%Finally, the \fBdescription\fP field attempts to convey the semantics of the
-#%capability.
+#%The description field attempts to convey the capability's semantics.
#%.PP
-#%You may find some codes in the description field:
+#%The description field employs a handful of notations.
#%.TP
-#%(P)
-#%indicates that padding may be specified
+#%.B (P)
+#%indicates that padding may be specified.
#%.TP
-#%#[1-9]
-#%in the description field indicates that the string is passed
-#%through \fBtparm\fP(3X) with parameters as given (#\fIi\fP).
-#%.IP
-#%If no parameters are listed in the description,
-#%passing the string through \fBtparm\fP(3X) may give unexpected results,
-#%e.g., if it contains percent (%%) signs.
-#%.TP
-#%(P*)
-#%indicates that padding may vary in proportion to the number of
-#%lines affected
+#%.B (P*)
+#%indicates that padding may vary in proportion to the number of output
+#%lines affected.
#%.TP
-#%(#\d\fIi\fP\u)
-#%indicates the \fIi\fP\uth\d parameter.
+#%.BI # i
+#%indicates the
+#%.IR i th
+#%parameter of a string capability;
+#%the programmer should pass the string to \fB\%tparm\fP(3X) with the
+#%parameters listed.
+#%.IP
+#%If the description lists no parameters,
+#%passing the string to \fB\%tparm\fP(3X) may produce unexpected
+#%behavior,
+#%for instance if the string contains percent signs.
#%.
#%.PP
#%.TS
# Author: Thomas Dickey
# and: Ilya Zakharevich
#
-# $Id: Caps.keys,v 1.23 2024/03/02 14:35:19 tom Exp $
+# $Id: Caps.keys,v 1.24 2024/03/16 15:26:09 Branden.Robinson Exp $
#
# This is an adaptation of ncurses' termcap/terminfo capability table, which
# is illustrates an experimental extension to describe alt-, shift- and
#
# STANDARD CAPABILITIES
#
-#%The following is a complete table of the capabilities included in a
-#%terminfo description block and available to terminfo-using code.
-#%In each line of the table,
+#%Tables of capabilities
+#%.I \%ncurses
+#%recognizes in a
+#%.I \%term\%info
+#%terminal type description and available to
+#%.IR \%term\%info -using
+#%code follow.
#%.bP
-#%The \fBvariable\fR is the name by which the programmer (at the terminfo level)
-#%accesses the capability.
+#%The capability name identifies the symbol by which the programmer
+#%using the
+#%.I \%term\%info
+#%API accesses the capability.
#%.bP
-#%The \fBcapname\fR (\fICap-name\fP)
-#%is the short name used in the text of the database,
-#%and is used by a person updating the database.
+#%The TI
+#%.RI ( \%term\%info )
+#%code is the short name used by a person composing or updating a
+#%terminal type entry.
#%.IP
-#%Whenever possible, capnames are chosen to be the same as or similar to
-#%the ANSI X3.64-1979 standard (now superseded by ECMA-48, which uses
-#%identical or very similar names).
+#%Whenever possible,
+#%these codes are the same as or similar to those of the ANSI X3.64-1979
+#%standard
+#%(now superseded by ECMA-48,
+#%which uses identical or very similar names).
#%Semantics are also intended to match those of the specification.
#%.IP
-#%Capability names have no hard length limit, but an informal limit of 5
-#%characters has been adopted to keep them short and to allow the tabs in
-#%the source file
-#%.B Caps
+#%.I \%term\%info
+#%codes have no hard length limit,
+#%but
+#%.I \%ncurses
+#%maintains an informal one of 5 characters to keep them short and to
+#%allow the tabs in the source file
+#%.I Caps
#%to line up nicely.
+#%(Some standard codes exceed this limit regardless.)
#%.bP
-#%The \fBtermcap\fP (\fITcap\fP) code is the old capability name
-#%(some capabilities are new, and have names which termcap did not originate).
+#%The TC
+#%.RI ( \%term\%cap )
+#%code is that used by the corresponding API of
+#%.I \%ncurses.
+#%(Some capabilities are new,
+#%and have names that BSD
+#%.I \%term\%cap
+#%did not originate.)
#%.bP
-#%Finally, the \fBdescription\fP field attempts to convey the semantics of the
-#%capability.
+#%The description field attempts to convey the capability's semantics.
#%.PP
-#%You may find some codes in the description field:
+#%The description field employs a handful of notations.
#%.TP
-#%(P)
-#%indicates that padding may be specified
+#%.B (P)
+#%indicates that padding may be specified.
#%.TP
-#%#[1-9]
-#%in the description field indicates that the string is passed
-#%through \fBtparm\fP(3X) with parameters as given (#\fIi\fP).
-#%.IP
-#%If no parameters are listed in the description,
-#%passing the string through \fBtparm\fP(3X) may give unexpected results,
-#%e.g., if it contains percent (%%) signs.
-#%.TP
-#%(P*)
-#%indicates that padding may vary in proportion to the number of
-#%lines affected
+#%.B (P*)
+#%indicates that padding may vary in proportion to the number of output
+#%lines affected.
#%.TP
-#%(#\d\fIi\fP\u)
-#%indicates the \fIi\fP\uth\d parameter.
+#%.BI # i
+#%indicates the
+#%.IR i th
+#%parameter of a string capability;
+#%the programmer should pass the string to \fB\%tparm\fP(3X) with the
+#%parameters listed.
+#%.IP
+#%If the description lists no parameters,
+#%passing the string to \fB\%tparm\fP(3X) may produce unexpected
+#%behavior,
+#%for instance if the string contains percent signs.
#%.
#%.PP
#%.TS
#
# Author: Thomas Dickey
#
-# $Id: Caps.osf1r5,v 1.22 2024/03/02 14:35:19 tom Exp $
+# $Id: Caps.osf1r5,v 1.23 2024/03/16 15:26:09 Branden.Robinson Exp $
#
# This is an adaptation of ncurses' termcap/terminfo capability table, which
# is designed to align with OSF/1 version 5 (Tru64) terminfo.
#
# STANDARD CAPABILITIES
#
-#%The following is a complete table of the capabilities included in a
-#%terminfo description block and available to terminfo-using code.
-#%In each line of the table,
+#%Tables of capabilities
+#%.I \%ncurses
+#%recognizes in a
+#%.I \%term\%info
+#%terminal type description and available to
+#%.IR \%term\%info -using
+#%code follow.
#%.bP
-#%The \fBvariable\fR is the name by which the programmer (at the terminfo level)
-#%accesses the capability.
+#%The capability name identifies the symbol by which the programmer
+#%using the
+#%.I \%term\%info
+#%API accesses the capability.
#%.bP
-#%The \fBcapname\fR (\fICap-name\fP)
-#%is the short name used in the text of the database,
-#%and is used by a person updating the database.
+#%The TI
+#%.RI ( \%term\%info )
+#%code is the short name used by a person composing or updating a
+#%terminal type entry.
#%.IP
-#%Whenever possible, capnames are chosen to be the same as or similar to
-#%the ANSI X3.64-1979 standard (now superseded by ECMA-48, which uses
-#%identical or very similar names).
+#%Whenever possible,
+#%these codes are the same as or similar to those of the ANSI X3.64-1979
+#%standard
+#%(now superseded by ECMA-48,
+#%which uses identical or very similar names).
#%Semantics are also intended to match those of the specification.
#%.IP
-#%Capability names have no hard length limit, but an informal limit of 5
-#%characters has been adopted to keep them short and to allow the tabs in
-#%the source file
-#%.B Caps
+#%.I \%term\%info
+#%codes have no hard length limit,
+#%but
+#%.I \%ncurses
+#%maintains an informal one of 5 characters to keep them short and to
+#%allow the tabs in the source file
+#%.I Caps
#%to line up nicely.
+#%(Some standard codes exceed this limit regardless.)
#%.bP
-#%The \fBtermcap\fP (\fITcap\fP) code is the old capability name
-#%(some capabilities are new, and have names which termcap did not originate).
+#%The TC
+#%.RI ( \%term\%cap )
+#%code is that used by the corresponding API of
+#%.I \%ncurses.
+#%(Some capabilities are new,
+#%and have names that BSD
+#%.I \%term\%cap
+#%did not originate.)
#%.bP
-#%Finally, the \fBdescription\fP field attempts to convey the semantics of the
-#%capability.
+#%The description field attempts to convey the capability's semantics.
#%.PP
-#%You may find some codes in the description field:
+#%The description field employs a handful of notations.
#%.TP
-#%(P)
-#%indicates that padding may be specified
+#%.B (P)
+#%indicates that padding may be specified.
#%.TP
-#%#[1-9]
-#%in the description field indicates that the string is passed
-#%through \fBtparm\fP(3X) with parameters as given (#\fIi\fP).
-#%.IP
-#%If no parameters are listed in the description,
-#%passing the string through \fBtparm\fP(3X) may give unexpected results,
-#%e.g., if it contains percent (%%) signs.
-#%.TP
-#%(P*)
-#%indicates that padding may vary in proportion to the number of
-#%lines affected
+#%.B (P*)
+#%indicates that padding may vary in proportion to the number of output
+#%lines affected.
#%.TP
-#%(#\d\fIi\fP\u)
-#%indicates the \fIi\fP\uth\d parameter.
+#%.BI # i
+#%indicates the
+#%.IR i th
+#%parameter of a string capability;
+#%the programmer should pass the string to \fB\%tparm\fP(3X) with the
+#%parameters listed.
+#%.IP
+#%If the description lists no parameters,
+#%passing the string to \fB\%tparm\fP(3X) may produce unexpected
+#%behavior,
+#%for instance if the string contains percent signs.
#%.
#%.PP
#%.TS
#
# Author: Thomas Dickey
#
-# $Id: Caps.uwin,v 1.21 2024/03/02 14:35:19 tom Exp $
+# $Id: Caps.uwin,v 1.22 2024/03/16 15:26:09 Branden.Robinson Exp $
#
# This is an adaptation of ncurses' termcap/terminfo capability table, which
# is designed to align with U/Win's terminfo.
#
# STANDARD CAPABILITIES
#
-#%The following is a complete table of the capabilities included in a
-#%terminfo description block and available to terminfo-using code.
-#%In each line of the table,
+#%Tables of capabilities
+#%.I \%ncurses
+#%recognizes in a
+#%.I \%term\%info
+#%terminal type description and available to
+#%.IR \%term\%info -using
+#%code follow.
#%.bP
-#%The \fBvariable\fR is the name by which the programmer (at the terminfo level)
-#%accesses the capability.
+#%The capability name identifies the symbol by which the programmer
+#%using the
+#%.I \%term\%info
+#%API accesses the capability.
#%.bP
-#%The \fBcapname\fR (\fICap-name\fP)
-#%is the short name used in the text of the database,
-#%and is used by a person updating the database.
+#%The TI
+#%.RI ( \%term\%info )
+#%code is the short name used by a person composing or updating a
+#%terminal type entry.
#%.IP
-#%Whenever possible, capnames are chosen to be the same as or similar to
-#%the ANSI X3.64-1979 standard (now superseded by ECMA-48, which uses
-#%identical or very similar names).
+#%Whenever possible,
+#%these codes are the same as or similar to those of the ANSI X3.64-1979
+#%standard
+#%(now superseded by ECMA-48,
+#%which uses identical or very similar names).
#%Semantics are also intended to match those of the specification.
#%.IP
-#%Capability names have no hard length limit, but an informal limit of 5
-#%characters has been adopted to keep them short and to allow the tabs in
-#%the source file
-#%.B Caps
+#%.I \%term\%info
+#%codes have no hard length limit,
+#%but
+#%.I \%ncurses
+#%maintains an informal one of 5 characters to keep them short and to
+#%allow the tabs in the source file
+#%.I Caps
#%to line up nicely.
+#%(Some standard codes exceed this limit regardless.)
#%.bP
-#%The \fBtermcap\fP (\fITcap\fP) code is the old capability name
-#%(some capabilities are new, and have names which termcap did not originate).
+#%The TC
+#%.RI ( \%term\%cap )
+#%code is that used by the corresponding API of
+#%.I \%ncurses.
+#%(Some capabilities are new,
+#%and have names that BSD
+#%.I \%term\%cap
+#%did not originate.)
#%.bP
-#%Finally, the \fBdescription\fP field attempts to convey the semantics of the
-#%capability.
+#%The description field attempts to convey the capability's semantics.
#%.PP
-#%You may find some codes in the description field:
+#%The description field employs a handful of notations.
#%.TP
-#%(P)
-#%indicates that padding may be specified
+#%.B (P)
+#%indicates that padding may be specified.
#%.TP
-#%#[1-9]
-#%in the description field indicates that the string is passed
-#%through \fBtparm\fP(3X) with parameters as given (#\fIi\fP).
-#%.IP
-#%If no parameters are listed in the description,
-#%passing the string through \fBtparm\fP(3X) may give unexpected results,
-#%e.g., if it contains percent (%%) signs.
-#%.TP
-#%(P*)
-#%indicates that padding may vary in proportion to the number of
-#%lines affected
+#%.B (P*)
+#%indicates that padding may vary in proportion to the number of output
+#%lines affected.
#%.TP
-#%(#\d\fIi\fP\u)
-#%indicates the \fIi\fP\uth\d parameter.
+#%.BI # i
+#%indicates the
+#%.IR i th
+#%parameter of a string capability;
+#%the programmer should pass the string to \fB\%tparm\fP(3X) with the
+#%parameters listed.
+#%.IP
+#%If the description lists no parameters,
+#%passing the string to \fB\%tparm\fP(3X) may produce unexpected
+#%behavior,
+#%for instance if the string contains percent signs.
#%.
#%.PP
#%.TS
.\" authorization. *
.\"***************************************************************************
.\"
-.\" $Id: captoinfo.1m,v 1.59 2024/03/02 16:34:25 tom Exp $
-.TH @CAPTOINFO@ 1M 2024-03-02 "ncurses 6.4" "User commands"
+.\" $Id: captoinfo.1m,v 1.63 2024/03/23 20:37:25 tom Exp $
+.TH @CAPTOINFO@ 1M 2024-03-23 "ncurses @NCURSES_MAJOR@.@NCURSES_MINOR@" "User commands"
.ie \n(.g \{\
.ds `` \(lq
.ds '' \(rq
variable \fITERM\fP from it.
If the environment variable \fI\%TERMCAP\fP is not set,
\fB\%@CAPTOINFO@\fP reads
-.I \%/etc/termcap.
+.IR \%/etc/termcap .
.PP
This utility is implemented as a link to \fB\%@TIC@\fP(1M),
with the latter's
Its
.B \-v
option does not accept a trace level argument
-.I n;
+.IR n ;
repeat
.B \-v
.I n
.\"***************************************************************************
-.\" 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 *
.\" authorization. *
.\"***************************************************************************
.\"
-.\" $Id: clear.1,v 1.46 2023/12/16 20:32:22 tom Exp $
-.TH @CLEAR@ 1 2023-12-16 "ncurses 6.4" "User commands"
+.\" $Id: clear.1,v 1.48 2024/03/16 15:35:01 tom Exp $
+.TH @CLEAR@ 1 2024-03-16 "ncurses @NCURSES_MAJOR@.@NCURSES_MINOR@" "User commands"
.ie \n(.g \{\
.ds `` \(lq
.ds '' \(rq
.\" authorization. *
.\"***************************************************************************
.\"
-.\" $Id: curs_add_wch.3x,v 1.53 2024/01/13 22:05:39 tom Exp $
-.TH curs_add_wch 3X 2024-01-13 "ncurses 6.4" "Library calls"
+.\" $Id: curs_add_wch.3x,v 1.57 2024/03/23 19:58:15 tom Exp $
+.TH curs_add_wch 3X 2024-03-23 "ncurses @NCURSES_MAJOR@.@NCURSES_MINOR@" "Library calls"
.ie \n(.g \{\
.ds `` \(lq
.ds '' \(rq
.SH RETURN VALUE
All routines return the integer \fBERR\fP upon failure and \fBOK\fP on success.
.PP
-X/Open does not define any error conditions.
+X/Open Curses does not specify any error conditions.
This implementation returns an error
.bP
if the window pointer is null or
The misdefined symbols are the arrows
and other symbols which are not used for line-drawing.
.PP
-X/Open Curses does not define symbols for thick- or double-lines.
+X/Open Curses does not specify symbols for thick- or double-lines.
SVr4 curses implementations defined their line-drawing symbols in
terms of intermediate symbols.
This implementation extends those symbols, providing new definitions
In the latter case,
\fI\%ncurses\fP adds the non-spacing character to the active
(base) spacing character.
+.SS TABSIZE
+The
+.B TABSIZE
+variable is implemented in SVr4 and other versions of
+.IR curses ,
+but is not specified by X/Open Curses
+(see \fBcurs_variables\fP(3X)).
.SH SEE ALSO
\fB\%curses\fP(3X),
\fB\%curs_addch\fP(3X),
+\fB\%curs_addwstr\fP(3X),
+\fB\%curs_add_wchstr\fP(3X),
\fB\%curs_attr\fP(3X),
\fB\%curs_clear\fP(3X),
\fB\%curs_getcchar\fP(3X),
\fB\%curs_outopts\fP(3X),
\fB\%curs_refresh\fP(3X),
+\fB\%curs_variables\fP(3X),
\fB\%putwc\fP(3)
.\"***************************************************************************
-.\" Copyright 2019-2022,2023 Thomas E. Dickey *
+.\" Copyright 2019-2023,2024 Thomas E. Dickey *
.\" Copyright 2002-2012,2017 Free Software Foundation, Inc. *
.\" *
.\" Permission is hereby granted, free of charge, to any person obtaining a *
.\" authorization. *
.\"***************************************************************************
.\"
-.\" $Id: curs_add_wchstr.3x,v 1.32 2023/11/25 14:01:49 tom Exp $
-.TH curs_add_wchstr 3X 2023-11-25 "ncurses 6.4" "Library calls"
+.\" $Id: curs_add_wchstr.3x,v 1.34 2024/03/16 19:44:53 tom Exp $
+.TH curs_add_wchstr 3X 2024-03-16 "ncurses @NCURSES_MAJOR@.@NCURSES_MINOR@" "Library calls"
.ie \n(.g \{\
.ds `` \(lq
.ds '' \(rq
.SH RETURN VALUE
All functions return the integer \fBERR\fP upon failure and \fBOK\fP on success.
.PP
-X/Open does not define any error conditions.
+X/Open Curses does not specify any error conditions.
This implementation returns an error
.bP
if the \fIwin\fP parameter is null or
'\" t
.\"***************************************************************************
-.\" Copyright 2018-2022,2023 Thomas E. Dickey *
+.\" Copyright 2018-2023,2024 Thomas E. Dickey *
.\" Copyright 1998-2015,2017 Free Software Foundation, Inc. *
.\" *
.\" Permission is hereby granted, free of charge, to any person obtaining a *
.\" authorization. *
.\"***************************************************************************
.\"
-.\" $Id: curs_addch.3x,v 1.76 2023/12/23 16:27:51 tom Exp $
-.TH curs_addch 3X 2023-12-23 "ncurses 6.4" "Library calls"
+.\" $Id: curs_addch.3x,v 1.81 2024/03/23 20:38:57 tom Exp $
+.TH curs_addch 3X 2024-03-23 "ncurses @NCURSES_MAJOR@.@NCURSES_MINOR@" "Library calls"
.ie \n(.g \{\
.ds `` \(lq
.ds '' \(rq
+.ds ' \(aq
+.ds ^ \(ha
+.ds ~ \(ti
.\}
.el \{\
.ie t .ds `` ``
.el .ds `` ""
.ie t .ds '' ''
.el .ds '' ""
+.ds ' '
+.ds ^ ^
+.ds ~ ~
.\}
.
.de bP
.fi
.SH DESCRIPTION
.SS "Adding Characters"
-The \fBaddch\fP, \fBwaddch\fP, \fBmvaddch\fP and \fBmvwaddch\fP routines put
-the character \fIch\fP into the given window at its current window position,
-which is then advanced.
-They are analogous to the standard C library's \fI\%putchar\fP(3).
-If the advance is at the right margin:
-.bP
-The cursor automatically wraps to the beginning of the next line.
+.B \%waddch
+puts the character
+.I ch
+at the cursor position of window
+.IR win ,
+then advances the cursor position,
+analogously to the standard C library's \fI\%putchar\fP(3).
+\fB\%ncurses\fP(3X) describes the variants of this function.
+.PP
+If advancement occurs at the right margin,
.bP
-At the bottom of the current scrolling region,
-and if \fB\%scrollok\fP(3X) is enabled,
-the scrolling region is scrolled up one line.
+the cursor automatically wraps to the beginning of the next line;
+and
.bP
-If \fB\%scrollok\fP(3X) is not enabled,
-writing a character at the lower right margin succeeds.
-However,
-an error is returned because it is not possible to wrap to a new line.
+at the bottom of the current scrolling region,
+and if \fB\%scrollok\fP(3X) is enabled for
+.IR win ,
+the scrolling region scrolls up one line.
.PP
-If \fIch\fP is a tab, newline, carriage return or backspace,
-the cursor is moved appropriately within the window:
+If
+.I ch
+is a
+backspace,
+carriage return,
+line feed,
+or
+tab,
+the cursor moves appropriately within the window.
.bP
-Backspace moves the cursor one character left; at the left
-edge of a window it does nothing.
+Backspace moves the cursor one character left;
+at the left margin of a window,
+it does nothing.
.bP
-Carriage return moves the cursor to the window left margin on the current line.
+Carriage return moves the cursor to the left margin on the current line
+of the window.
.bP
-Newline does a \fBclrtoeol\fP,
-then moves the cursor to the window left margin on the next line,
-scrolling the window if on the last line.
+Line feed does a \fB\%clrtoeol\fP(3X),
+then moves the cursor to the left margin on the next line of the window,
+scrolling the window if the cursor was already on the last line.
.bP
-Tabs are considered to be at every eighth column.
-The tab interval may be altered by setting the \fBTABSIZE\fP variable.
+Tab advances the cursor to the next tab stop
+(possibly on the next line);
+these are placed at every eighth column by default.
+Alter the tab interval with the
+.B \%TABSIZE
+extension;
+see \fB\%curs_variables\fP(3X).
.PP
-If \fIch\fP is any other nonprintable character,
+If
+.I ch
+is any other nonprintable character,
it is drawn in printable form,
-using the same convention as \fB\%unctrl\fP(3X):
+using the same convention as \fB\%unctrl\fP(3X).
.bP
-Control characters are displayed in the \fB^\fIX\fR notation.
+.B \%waddch
+displays control characters in
+.BI \*^ X
+notation.
.bP
-Values above 128 are either meta characters
+Character codes above 127 are either meta characters
(if the screen has not been initialized,
-or if \fB\%meta\fP(3X) has been called with a \fBTRUE\fP E parameter),
-shown in the \fBM\-\fIX\fR notation, or are displayed as themselves.
-In the latter case, the values may not be printable;
+or if \fB\%meta\fP(3X) has been called with a
+.B TRUE
+.I bf
+parameter)
+that render in
+.BI M\- X
+notation,
+or they display as themselves.
+In the latter case,
+the values may not be printable;
+.\" XXX: The following claim could be clearer.
this follows the X/Open specification.
.PP
-Calling \fBwinch\fP after adding a
-nonprintable character does not return the character itself,
-but instead returns the printable representation of the character.
+Calling \fB\%winch\fP(3X) on the location of a nonprintable character
+does not return the character itself,
+but its \fB\%unctrl\fP(3X) representation.
.PP
Video attributes can be combined with a character argument passed to
-\fBaddch\fP or related functions by logical-ORing them into the character.
-(Thus, text, including attributes, can be copied from one place to another
-using \fB\%inch\fP(3X) and \fBaddch\fP.)
-See the \fB\%curs_attr\fP(3X) page for values of predefined video
-attribute constants that can be usefully OR'ed into characters.
+.B \%waddch
+by logical-ORing them into the character.
+(Thus,
+text,
+including attributes,
+can be copied from one place to another using \fB\%winch\fP(3X) and
+.BR \%waddch .)
+See \fB\%curs_attr\fP(3X) for values of predefined video attribute
+constants that can be usefully OR'ed with characters.
.SS "Echoing Characters"
-The \fBechochar\fP and \fBwechochar\fP routines are equivalent to a call to
-\fBaddch\fP followed by a call to \fB\%refresh\fP(3X), or a call to \fBwaddch\fP
-followed by a call to \fBwrefresh\fP.
-The knowledge that only a single
-character is being output is used and, for non-control characters, a
-considerable performance gain may be seen by using these routines instead of
-their equivalents.
-.SS "Line Graphics"
-The following variables may be used to add line drawing characters to the
-screen with routines of the \fBaddch\fP family.
-The default character listed
-below is used if the \fBacsc\fP capability does not define a terminal-specific
-replacement for it,
-or if the terminal and locale configuration requires Unicode but the
-library is unable to use Unicode.
-.PP
-The names are taken from VT100 nomenclature.
+.B \%echochar
+and
+.B \%wechochar
+are equivalent to calling
+.RB \%( w ) addch
+followed by
+.RB \%( w ) refresh .
+.I curses
+interprets these functions as a hint that only a single character is
+being output;
+for non-control characters,
+a considerable performance gain may be enjoyed by employing them.
+.\" TODO: Combine the following with the "Line Drawing" subsection of
+.\" terminfo(5) and replace this with a cross reference there.
+.SS "Forms-Drawing Characters"
+.I curses
+defines macros starting with
+.B \%ACS_
+that can be used with
+.B \%waddch
+to write line-drawing and other special characters to the screen.
+.I \%ncurses
+terms these
+.I "forms-drawing characters."
+The ACS default listed below is used if the
+.B \%acs_chars
+.RB ( \%acsc )
+.I \%term\%info
+capability does not define a terminal-specific replacement for it,
+or if the terminal and locale configuration requires Unicode to access
+these characters but the library is unable to use Unicode.
+The \*(``acsc char\*('' column corresponds to how the characters are
+specified in the
+.B \%acs_chars
+string capability,
+and the characters in it may appear on the screen if the terminal's
+database entry incorrectly advertises ACS support.
+The name \*(``ACS\*('' originates in the Alternate Character Set feature
+of the DEC VT100 terminal.
.PP
.TS
-l l l l
-l l l l
-_ _ _ _
-l l l l.
-\fBACS\fP \fBACS\fP \fBacsc\fP \fBGlyph\fP
-\fBName\fP \fBDefault\fP \fBchar\fP \fBName\fP
+Lb Lb Lb Lb
+Lb Lb Lb Lb
+Lb L L Lx.
+\& ACS acsc \&
+Symbol Default char Glyph Name
+_
ACS_BLOCK # 0 solid square block
ACS_BOARD # h board of squares
ACS_BTEE + v bottom tee
-ACS_BULLET o ~ bullet
+ACS_BULLET o \*~ bullet
ACS_CKBOARD : a checker board (stipple)
ACS_DARROW v . arrow pointing down
-ACS_DEGREE ' f degree symbol
+ACS_DEGREE \*' f degree symbol
ACS_DIAMOND + \(ga diamond
ACS_GEQUAL > > greater-than-or-equal-to
ACS_HLINE \- q horizontal line
ACS_S9 \&_ s scan line 9
ACS_STERLING f } pound-sterling symbol
ACS_TTEE + w top tee
-ACS_UARROW ^ \- arrow pointing up
+ACS_UARROW \*^ \- arrow pointing up
ACS_ULCORNER + l upper left-hand corner
ACS_URCORNER + k upper right-hand corner
ACS_VLINE | x vertical line
.TE
.SH RETURN VALUE
-All routines return the integer \fBERR\fP upon failure and \fBOK\fP on success
-(the SVr4 manuals specify only
-\*(``an integer value other than \fBERR\fP\*('') upon successful completion,
-unless otherwise noted in the preceding routine descriptions.
+These functions return
+.B OK
+on success and
+.B ERR
+on failure.
.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.
+In
+.IR \%ncurses ,
+.B \%waddch
+returns
+.B ERR
+if it is not possible to add a complete character at the cursor
+position,
+as when conversion of a multibyte character to a byte sequence fails,
+or at least one of the resulting bytes cannot be added to the window.
+See section \*(``PORTABILITY\*('' below regarding the use of
+.B \%waddch
+with multibyte characters.
.PP
-If it is not possible to add a complete character,
-an error is returned:
-.bP
If \fB\%scrollok\fP(3X) is not enabled,
-writing a character at the lower right margin succeeds.
+.B \%waddch
+can successfully write a character at the bottom right location of the
+window.
However,
-an error is returned because it is not possible to wrap to a new line.
-.bP
-If an error is detected when converting a multibyte character to a sequence
-of bytes,
-or if it is not possible to add all of the resulting bytes in the window,
-an error is returned.
+.I \%ncurses
+returns
+.B ERR
+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.
.SH NOTES
-Note that \fBaddch\fP, \fBmvaddch\fP, \fBmvwaddch\fP, and
-\fBechochar\fP may be macros.
+.BR \%addch ,
+.BR \%mvaddch ,
+.BR \%mvwaddch ,
+and
+.B \%echochar
+may be implemented as macros.
.SH PORTABILITY
-These functions are described in the XSI Curses standard, Issue 4.
-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.
+The defaults specified for forms-drawing characters apply in the POSIX
+locale.
.SS "ACS Symbols"
-X/Open Curses states that the \fBACS_\fP definitions are \fBchar\fP constants.
-For the wide-character implementation (see \fBcurs_add_wch\fP),
-there are analogous \fBWACS_\fP definitions which are \fBcchar_t\fP constants.
-Some implementations are problematic:
+X/Open Curses states that the
+.B \%ACS_
+definitions are
+.I char
+constants.
+.PP
+Some implementations are problematic.
.bP
-Some implementations define the ACS symbols to a constant
-(such as Solaris), while others define those to entries in an array.
+Solaris
+.IR curses ,
+for example,
+define the ACS symbols as constants;
+others define them as elements of an array.
.IP
-This implementation uses an array \fBacs_map\fP, as done in SVr4 curses.
-NetBSD also uses an array, actually named \fB_acs_char\fP, with a \fB#define\fP
+This implementation uses an array,
+.BR \%acs_map ,
+as did SVr4
+.IR curses .
+NetBSD also uses an array,
+actually named
+.BR \%_acs_char ,
+with a
+.B \%#define
for compatibility.
.bP
-HP-UX curses equates some of the \fBACS_\fP symbols
-to the analogous \fBWACS_\fP symbols as if the \fBACS_\fP symbols were
-wide characters.
-The misdefined symbols are the arrows
-and other symbols which are not used for line-drawing.
+HP-UX
+.I curses
+equates some of the
+.B \%ACS_
+symbols to the analogous
+.B \%WACS_
+symbols as if the
+.B \%ACS_
+symbols were wide characters
+(see \fB\%curs_add_wch\fP(3X)).
+The misdefined symbols are the arrows and others that are not used for
+line drawing.
.bP
-X/Open Curses (issues 2 through 7) has a typographical error
-for the ACS_LANTERN symbol, equating its \*(``VT100+ Character\*(''
-to \fBI\fP (capital I), while the header files for SVr4 curses
-and the various implementations use \fBi\fP (lowercase).
+X/Open Curses
+(Issues 2 through 7)
+has a typographical error
+for the
+.B \%ACS_LANTERN
+symbol, equating its \*(``VT100+ Character\*('' to \*(``I\*(''
+(capital I),
+while the header files for SVr4
+.I curses
+and other implementations use \*(``i\*(''
+(small i).
.IP
-None of the terminal descriptions on Unix platforms use uppercase-I,
-except for Solaris (i.e., \fBscreen\fP's terminal description,
+None of the terminal descriptions on Unix platforms use uppercase I,
+except for Solaris
+(in its
+.I \%term\%info
+entry for \fI\%screen\fP(1),
apparently based on the X/Open documentation around 1995).
-On the other hand, the terminal description \fIgs6300\fP
-(AT&T PC6300 with EMOTS Terminal Emulator) uses lowercase-i.
-.LP
+On the other hand,
+its
+.B \%gs6300
+(AT&T PC6300 with EMOTS Terminal Emulator)
+description uses lowercase i.
+.PP
Some ACS symbols
-(ACS_S3,
-ACS_S7,
-ACS_LEQUAL,
-ACS_GEQUAL,
-ACS_PI,
-ACS_NEQUAL,
-ACS_STERLING)
-were not documented in
-any publicly released System V.
-However, many publicly available terminfos
-include \fBacsc\fP strings in which their key characters (pryz{|}) are
-embedded, and a second-hand list of their character descriptions has come
-to light.
-The ACS-prefixed names for them were invented for \fB\%ncurses\fP(3X).
-.LP
-The \fIdisplayed\fP values for the \fBACS_\fP and \fBWACS_\fP constants
-depend on
+.RB ( \%ACS_S3 ,
+.BR \%ACS_S7 ,
+.BR \%ACS_LEQUAL ,
+.BR \%ACS_GEQUAL ,
+.BR \%ACS_PI ,
+.BR \%ACS_NEQUAL ,
+and
+.BR \%ACS_STERLING )
+were not documented in any publicly released System\ V.
+However,
+many publicly available
+.I \%term\%info
+entries include
+.B \%acsc
+strings in which their key characters (pryz{|}) are embedded,
+and a second-hand list of their character descriptions has come to
+light.
+The
+.I \%ncurses
+developers invented ACS-prefixed names for them.
+.PP
+The
+.I displayed
+values of
+.B \%ACS_
+constants depend on
.bP
-the library configuration,
-i.e.,
-\fI\%ncurses\fP versus \fI\%ncursesw\fP,
-where the latter is capable of displaying Unicode while the former is not, and
+the
+.I \%ncurses
+ABI\(emfor example,
+wide-character versus non-wide-character configurations
+(the former is capable of displaying Unicode while the latter is not),
+and
.bP
-whether the \fIlocale\fP uses UTF-8 encoding.
-.LP
-In certain cases, the terminal is unable to display line-drawing characters
-except by using UTF-8
-(see the discussion of \fB\%NCURSES_NO_UTF8_ACS\fP in
-\fB\%ncurses\fP(3X)).
+whether the locale uses UTF-8 encoding.
+.PP
+In certain cases,
+the terminal is unable to display forms-drawing characters
+.I except
+by using UTF-8;
+see the discussion of the
+.I \%NCURSES_NO_UTF8_ACS
+environment variable in \fB\%ncurses\fP(3X)).
.SS "Character Set"
-X/Open Curses assumes that the parameter passed to \fBwaddch\fP contains
-a single character.
-As discussed in \fB\%curs_attr\fP(3X), that character may have been
-more than eight bits in an SVr3 or SVr4 implementation,
-but in the X/Open Curses model, the details are not given.
-The important distinction between SVr4 curses and X/Open Curses is
-that the non-character information (attributes and color) was
-separated from the character information which is packed in a \fBchtype\fP
-to pass to \fBwaddch\fP.
+X/Open Curses assumes that the parameter passed to
+.B \%waddch
+contains a single character.
+As discussed in \fB\%curs_attr\fP(3X),
+that character may have been more than eight bits wide in an SVr3 or
+SVr4 implementation,
+but in the X/Open Curses model,
+the details are not given.
+The important distinction between SVr4
+.I curses
+and X/Open Curses is that the latter separates non-character information
+(attributes and color)
+from the character code,
+which SVr4 packs into a
+.I \%chtype
+for passage to
+.BR \%waddch .
.PP
-In this implementation, \fBchtype\fP holds an eight-bit character.
-But \fI\%ncurses\fP allows multibyte characters to be passed in a
-succession of calls to \fBwaddch\fP.
-The other implementations do not do this;
-a call to \fBwaddch\fP passes exactly one character
-which may be rendered as one or more cells on the screen
-depending on whether it is printable.
+In
+.IR \%ncurses ,
+.I \%chtype
+holds an eight-bit character.
+But
+.I \%ncurses
+allows a multibyte character to be passed in a succession of calls to
+.BR \%waddch .
+Other implementations do not;
+a
+.B \%waddch
+call transmits exactly one character,
+which may be rendered in one or more screen locations depending on
+whether it is printable.
.PP
Depending on the locale settings,
-\fI\%ncurses\fP will inspect the byte passed in each call to \fBwaddch\fP,
-and check if the latest call will continue a multibyte sequence.
-When a character is \fIcomplete\fP,
-\fI\%ncurses\fP displays the character and moves to the next position in the screen.
+.I \%ncurses
+inspects the byte passed in each
+.B \%waddch
+call,
+and checks whether the latest call continues a multibyte sequence.
+When a character is
+.IR complete ,
+.I \%ncurses
+displays the character and advances the window's current location.
.PP
If the calling application interrupts the succession of bytes in
-a multibyte character by moving the current location (e.g., using \fBwmove\fP),
-\fI\%ncurses\fP discards the partially built character,
-starting over again.
+a multibyte character sequence by moving the current location
+(for example,
+with \fB\%wmove\fP(3X)),
+.I \%ncurses
+discards the incomplete character.
.PP
For portability to other implementations,
-do not rely upon this behavior:
+do not rely upon this behavior.
+Check whether a character can be represented as a single byte in the
+current locale.
.bP
-check if a character can be represented as a single byte in the current locale
-before attempting call \fBwaddch\fP, and
+If it can,
+call either
+.B \%waddch
+or \fB\%wadd_wch\fP(3X).
.bP
-call \fBwadd_wch\fP for characters which cannot be handled by \fBwaddch\fP.
+If it cannot,
+use only
+\fB\%wadd_wch\fP(3X).
.SS TABSIZE
-The \fBTABSIZE\fP variable is implemented in SVr4 and other versions of curses,
-but is not part of X/Open curses
-(see \fBcurs_variables\fP(3X) for more details).
-.LP
-If \fIch\fP is a carriage return,
-the cursor is moved to the beginning of the current row of the window.
-This is true of other implementations, but is not documented.
+SVr4 and other versions of
+.I curses
+implement the
+.B \%TABSIZE
+variable,
+but X/Open Curses does not specify it
+(see \fB\%curs_variables\fP(3X)).
.SH SEE ALSO
\fB\%curses\fP(3X),
+\fB\%curs_addchstr\fP(3X),
+\fB\%curs_addstr\fP(3X),
\fB\%curs_attr\fP(3X),
\fB\%curs_clear\fP(3X),
\fB\%curs_inch\fP(3X),
\fB\%curs_outopts\fP(3X),
\fB\%curs_refresh\fP(3X),
\fB\%curs_variables\fP(3X),
-\fB\%putc\fP(3)
+\fB\%putchar\fP(3)
.PP
-Comparable functions in the wide-character (ncursesw) library are
-described in
-\fB\%curs_add_wch\fP(3X).
+\fB\%curs_add_wch\fP(3X) describes comparable functions of the
+.I \%ncurses
+library in its wide-character configuration
+.RI ( \%ncursesw ).
.\"***************************************************************************
-.\" Copyright 2019-2022,2023 Thomas E. Dickey *
+.\" Copyright 2019-2023,2024 Thomas E. Dickey *
.\" Copyright 1998-2012,2017 Free Software Foundation, Inc. *
.\" *
.\" Permission is hereby granted, free of charge, to any person obtaining a *
.\" authorization. *
.\"***************************************************************************
.\"
-.\" $Id: curs_addchstr.3x,v 1.38 2023/11/25 14:01:49 tom Exp $
-.TH curs_addchstr 3X 2023-11-25 "ncurses 6.4" "Library calls"
+.\" $Id: curs_addchstr.3x,v 1.40 2024/03/16 15:37:51 tom Exp $
+.TH curs_addchstr 3X 2024-03-16 "ncurses @NCURSES_MAJOR@.@NCURSES_MINOR@" "Library calls"
.ie \n(.g \{\
.ds `` \(lq
.ds '' \(rq
.SH RETURN VALUE
All functions return the integer \fBERR\fP upon failure and \fBOK\fP on success.
.PP
-X/Open does not define any error conditions.
+X/Open Curses does not specify any error conditions.
This implementation returns an error
.bP
if the \fIwin\fP parameter is null or
.SH SEE ALSO
\fB\%curses\fP(3X),
\fB\%curs_addch\fP(3X),
-\fB\%curs_addstr\fP(3X),
-\fB\%curs_addwstr\fP(3X),
-\fB\%curs_add_wchstr\fP(3X)
+\fB\%curs_addstr\fP(3X)
+.PP
+\fB\%curs_add_wchstr\fP(3X) describes comparable functions of the
+.I \%ncurses
+library in its wide-character configuration
+.RI ( \%ncursesw ).
.\"***************************************************************************
-.\" Copyright 2019-2022,2023 Thomas E. Dickey *
+.\" Copyright 2019-2023,2024 Thomas E. Dickey *
.\" Copyright 1998-2012,2017 Free Software Foundation, Inc. *
.\" *
.\" Permission is hereby granted, free of charge, to any person obtaining a *
.\" authorization. *
.\"***************************************************************************
.\"
-.\" $Id: curs_addstr.3x,v 1.37 2023/11/18 21:18:55 tom Exp $
-.TH curs_addstr 3X 2023-11-18 "ncurses 6.4" "Library calls"
+.\" $Id: curs_addstr.3x,v 1.41 2024/03/23 20:38:57 tom Exp $
+.TH curs_addstr 3X 2024-03-23 "ncurses @NCURSES_MAJOR@.@NCURSES_MINOR@" "Library calls"
.ie \n(.g \{\
.ds `` \(lq
.ds '' \(rq
\fB#include <curses.h>
.PP
\fBint addstr(const char *\fIstr\fP);
-\fBint addnstr(const char *\fIstr\fP, int \fIn\fP);
+\fBint mvaddstr(int \fIy\fP, int \fIx\fP, const char *\fIstr\fP);
+\fBint mvwaddstr(WINDOW *\fIwin\fP, int \fIy\fP, int \fIx\fP, const char *\fIstr\fP);
\fBint waddstr(WINDOW *\fIwin\fP, const char *\fIstr\fP);
-\fBint waddnstr(WINDOW *\fIwin\fP, const char *\fIstr\fP, int \fIn\fP);
.PP
-\fBint mvaddstr(int \fIy\fP, int \fIx\fP, const char *\fIstr\fP);
+\fBint addnstr(const char *\fIstr\fP, int \fIn\fP);
\fBint mvaddnstr(int \fIy\fP, int \fIx\fP, const char *\fIstr\fP, int \fIn\fP);
-\fBint mvwaddstr(WINDOW *\fIwin\fP, int \fIy\fP, int \fIx\fP, const char *\fIstr\fP);
\fBint mvwaddnstr(WINDOW *\fIwin\fP, int \fIy\fP, int \fIx\fP, const char *\fIstr\fP, int \fIn\fP);
+\fBint waddnstr(WINDOW *\fIwin\fP, const char *\fIstr\fP, int \fIn\fP);
.fi
.SH DESCRIPTION
-These functions write the (null-terminated) character string
-\fIstr\fP on the given window.
-It is similar to calling \fBwaddch\fP once for each byte in the string.
+.B waddstr
+writes the characters of the (null-terminated) string
+.I str
+to the window
+.IR win .
+Its process is similar to calling \fB\%waddch\fP(3X) for each
+.I char
+in
+.IR str .
+Control characters are processed as in \fB\%waddch\fP(3X).
.PP
-The \fImv\fP functions perform cursor movement once, before writing any
-characters.
-Thereafter, the cursor is advanced as a side-effect of writing to the window.
+.B waddnstr
+writes at most
+.I n
+characters,
+or until a terminating null character occurs in
+.IR str .
+If
+.I n
+is \-1,
+.B
+.B waddnstr
+writes the entire string.
.PP
-The four functions with \fIn\fP as the last argument
-write at most \fIn\fP bytes,
-or until a terminating null is reached.
-If \fIn\fP is \-1, then the entire string will be added.
+\fB\%ncurses\fP(3X) describes the variants of these functions.
.SH RETURN VALUE
-All functions return the integer \fBERR\fP upon failure and \fBOK\fP on success.
+These functions return
+.B OK
+on success and
+.B ERR
+on failure.
.PP
-X/Open does not define any error conditions.
-This implementation returns an error
+X/Open Curses does not specify any error conditions.
+.I \%ncurses
+returns an error
.bP
-if the window pointer is null or
+if the window pointer is
+.BR NULL ,
.bP
-if the string pointer is null or
+if the string pointer is
+.BR NULL ,
+or
.bP
-if the corresponding calls to \fBwaddch\fP return an error.
+if an internal \fB\%waddch\fP(3X) call returns an error.
.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 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.
.SH NOTES
All of these functions except \fBwaddnstr\fP may be macros.
.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_addch\fP(3X),
-\fB\%curs_addchstr\fP(3X),
-\fB\%curs_addwstr\fP(3X),
-\fB\%curs_add_wchstr\fP(3X)
+\fB\%curs_addchstr\fP(3X)
+.PP
+\fB\%curs_addwstr\fP(3X) describes comparable functions of the
+.I \%ncurses
+library in its wide-character configuration
+.RI ( \%ncursesw ).
.\"***************************************************************************
-.\" Copyright 2019-2022,2023 Thomas E. Dickey *
+.\" Copyright 2019-2023,2024 Thomas E. Dickey *
.\" Copyright 2002-2012,2017 Free Software Foundation, Inc. *
.\" *
.\" Permission is hereby granted, free of charge, to any person obtaining a *
.\" authorization. *
.\"***************************************************************************
.\"
-.\" $Id: curs_addwstr.3x,v 1.29 2023/11/18 21:18:55 tom Exp $
-.TH curs_addwstr 3X 2023-11-18 "ncurses 6.4" "Library calls"
+.\" $Id: curs_addwstr.3x,v 1.33 2024/03/23 20:38:57 tom Exp $
+.TH curs_addwstr 3X 2024-03-23 "ncurses @NCURSES_MAJOR@.@NCURSES_MINOR@" "Library calls"
.ie \n(.g \{\
.ds `` \(lq
.ds '' \(rq
\fB#include <curses.h>
.PP
\fBint addwstr(const wchar_t *\fIwstr\fP);
-\fBint addnwstr(const wchar_t *\fIwstr\fP, int \fIn\fP);
+\fBint mvaddwstr(int \fIy\fP, int \fIx\fP, const wchar_t *\fIwstr\fP);
+\fBint mvwaddwstr(WINDOW *\fIwin\fP, int \fIy\fP, int \fIx\fP, const wchar_t *\fIwstr\fP);
\fBint waddwstr(WINDOW *\fIwin\fP, const wchar_t *\fIwstr\fP);
-\fBint waddnwstr(WINDOW *\fIwin\fP, const wchar_t *\fIwstr\fP, int \fIn\fP);
.PP
-\fBint mvaddwstr(int \fIy\fP, int \fIx\fP, const wchar_t *\fIwstr\fP);
+\fBint addnwstr(const wchar_t *\fIwstr\fP, int \fIn\fP);
\fBint mvaddnwstr(int \fIy\fP, int \fIx\fP, const wchar_t *\fIwstr\fP, int \fIn\fP);
-\fBint mvwaddwstr(WINDOW *\fIwin\fP, int \fIy\fP, int \fIx\fP, const wchar_t *\fIwstr\fP);
\fBint mvwaddnwstr(WINDOW *\fIwin\fP, int \fIy\fP, int \fIx\fP, const wchar_t *\fIwstr\fP, int \fIn\fP);
+\fBint waddnwstr(WINDOW *\fIwin\fP, const wchar_t *\fIwstr\fP, int \fIn\fP);
.fi
.SH DESCRIPTION
-These functions write the characters of the
-(null-terminated) \fBwchar_t\fP character string
-\fIwstr\fP on the given window.
-It is similar to constructing a \fBcchar_t\fP for
-each \fBwchar_t\fR in the string,
-then calling \fBwadd_wch\fP(3X) for the resulting \fBcchar_t\fP:
+.B waddwstr
+writes the characters of the (wide-null-terminated) wide-character
+string
+.I wstr
+to the window
+.IR win .
+Its process is similar to constructing a
+.I cchar_t
+for each
+.I wchar_t
+in
+.IR wstr ,
+then calling \fB\%wadd_wch\fP(3X) with the resulting
+.IR cchar_t .
.bP
-spacing and non-spacing characters in the string
-are processed one at a time, and
+Spacing and non-spacing characters in the string
+are processed one at a time,
+and
.bP
-control characters are processed as in \fBwaddch\fP(3X).
+control characters are processed as in \fB\%wadd_wch\fP(3X).
.PP
-The \fImv\fP functions perform cursor movement once, before writing any
-characters.
-Thereafter, the cursor is advanced as a side-effect of writing to the window.
+.B waddnwstr
+writes at most
+.I n
+wide characters,
+or until a terminating wide null character occurs in
+.IR wstr .
+If
+.I n
+is \-1,
+.B
+.B waddnwstr
+writes the entire wide string.
.PP
-The four functions with \fIn\fP as the last argument
-write at most \fIn\fP \fBwchar_t\fP characters,
-or until a terminating null is reached.
-If \fIn\fP is \-1, then the entire string will be added.
+\fB\%ncurses\fP(3X) describes the variants of these functions.
.SH RETURN VALUE
-All functions return the integer \fBERR\fP upon failure and \fBOK\fP on success.
+These functions return
+.B OK
+on success and
+.B ERR
+on failure.
.PP
-X/Open does not define any error conditions.
-This implementation returns an error
+X/Open Curses does not specify any error conditions.
+.I \%ncurses
+returns an error
.bP
-if the window pointer is null or
+if the window pointer is
+.BR NULL ,
.bP
-if the string pointer is null or
+if the string pointer is
+.BR NULL ,
+or
.bP
-if the corresponding calls to \fBwadd_wch\fP return an error.
+if an internal \fB\%wadd_wch\fP(3X) call returns an error.
.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 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.
.SH NOTES
-All of these functions except \fBwaddnwstr\fP may be macros.
+All of these functions except
+.B waddnwstr
+may be implemented as macros.
.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_addch\fP(3X),
-\fB\%curs_addchstr\fP(3X),
-\fB\%curs_addstr\fP(3X),
\fB\%curs_add_wch\fP(3X),
\fB\%curs_add_wchstr\fP(3X)
+.PP
+\fB\%curs_addstr\fP(3X) describes comparable functions of the
+.I \%ncurses
+library in its non-wide-character configuration.
.\" authorization. *
.\"***************************************************************************
.\"
-.\" $Id: curs_attr.3x,v 1.97 2024/03/02 16:34:00 tom Exp $
-.TH curs_attr 3X 2024-03-02 "ncurses 6.4" "Library calls"
+.\" $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"
.ie \n(.g \{\
.ds `` \(lq
.ds '' \(rq
as \fBattrset(A_NORMAL)\fP or \fBattrset(0)\fP, that is, it turns off all
attributes.
.PP
-X/Open does not mark these \*(``restricted\*('', because
+X/Open Curses does not mark these \*(``restricted\*('', because
.bP
they have well established legacy use, and
.bP
.SH RETURN VALUE
All routines return the integer \fBOK\fP on success, or \fBERR\fP on failure.
.PP
-X/Open does not define any error conditions.
+X/Open Curses does not specify any error conditions.
.PP
This implementation
.bP
.\"***************************************************************************
-.\" Copyright 2018-2021,2023 Thomas E. Dickey *
+.\" Copyright 2018-2023,2024 Thomas E. Dickey *
.\" Copyright 1998-2005,2010 Free Software Foundation, Inc. *
.\" *
.\" Permission is hereby granted, free of charge, to any person obtaining a *
.\" authorization. *
.\"***************************************************************************
.\"
-.\" $Id: curs_beep.3x,v 1.25 2023/10/07 21:19:07 tom Exp $
-.TH curs_beep 3X 2023-10-07 "ncurses 6.4" "Library calls"
+.\" $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"
.SH NAME
\fB\%beep\fP,
\fB\%flash\fP \-
.\"***************************************************************************
-.\" Copyright 2018-2022,2023 Thomas E. Dickey *
+.\" Copyright 2018-2023,2024 Thomas E. Dickey *
.\" Copyright 1998-2015,2017 Free Software Foundation, Inc. *
.\" *
.\" Permission is hereby granted, free of charge, to any person obtaining a *
.\" authorization. *
.\"***************************************************************************
.\"
-.\" $Id: curs_bkgd.3x,v 1.55 2023/12/23 16:35:10 tom Exp $
-.TH curs_bkgd 3X 2023-12-23 "ncurses 6.4" "Library calls"
+.\" $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"
.ie \n(.g \{\
.ds `` \(lq
.ds '' \(rq
Neither X/Open Curses nor the SVr4 manual pages detail how the rendition
of characters on the screen updates when \fB\%bkgd\fP or \fB\%wbkgd\fP
changes the background character.
-.I \%ncurses,
+.IR \%ncurses ,
like SVr4
-.I curses,
+.IR curses ,
does not
(in its non-\*(``wide\*('' configuration)
store the background and window attribute contributions to each
.SH SEE ALSO
\fB\%curs_bkgrnd\fP(3X) describes the corresponding functions in the
\*(``wide\*('' configuration of
-.I \%ncurses.
+.IR \%ncurses .
.PP
\fB\%curses\fP(3X),
\fB\%curs_addch\fP(3X),
.\"***************************************************************************
-.\" Copyright 2018-2022,2023 Thomas E. Dickey *
+.\" Copyright 2018-2023,2024 Thomas E. Dickey *
.\" Copyright 2002-2015,2017 Free Software Foundation, Inc. *
.\" *
.\" Permission is hereby granted, free of charge, to any person obtaining a *
.\" authorization. *
.\"***************************************************************************
.\"
-.\" $Id: curs_bkgrnd.3x,v 1.36 2023/12/23 16:35:10 tom Exp $
-.TH curs_bkgrnd 3X 2023-12-23 "ncurses 6.4" "Library calls"
+.\" $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"
.ie \n(.g \{\
.ds `` \(lq
.ds '' \(rq
.B OK
upon success.
In
-.I \%ncurses,
+.IR \%ncurses ,
failure occurs if
.bP
a
may be implemented as macros.
.PP
Unlike their counterparts in the non-\*(``wide\*('' configuration of
-.I \%ncurses,
+.IR \%ncurses ,
\fB\%getbkgrnd\fP and \fB\%wgetbkgrnd\fP supply the background character
and attribute in a modifiable
.I \%cchar_t
.PP
X/Open Curses does not provide details of how the rendition is updated.
This implementation follows the approach used in SVr4
-.I curses.
+.IR curses .
.SH SEE ALSO
\fB\%curs_bkgd\fP(3X) describes the corresponding functions in the
non-\*(``wide\*('' configuration of
-.I \%ncurses.
+.IR \%ncurses .
.PP
\fB\%curses\fP(3X),
\fB\%curs_add_wch\fP(3X),
.\"***************************************************************************
-.\" Copyright 2018-2022,2023 Thomas E. Dickey *
+.\" Copyright 2018-2023,2024 Thomas E. Dickey *
.\" Copyright 1998-2007,2010 Free Software Foundation, Inc. *
.\" *
.\" Permission is hereby granted, free of charge, to any person obtaining a *
.\" authorization. *
.\"***************************************************************************
.\"
-.\" $Id: curs_border.3x,v 1.44 2023/12/16 21:09:11 tom Exp $
-.TH curs_border 3X 2023-12-16 "ncurses 6.4" "Library calls"
+.\" $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"
.ie \n(.g \{\
.ds `` \(lq
.ds '' \(rq
\*(``or a non-negative integer if \fB\%immedok\fP is set\*('',
but this appears to be an error.
.PP
-X/Open does not define any error conditions.
+X/Open Curses does not specify any error conditions.
This implementation returns an error
if the window pointer is null.
.PP
.\"***************************************************************************
-.\" Copyright 2019-2022,2023 Thomas E. Dickey *
+.\" Copyright 2019-2023,2024 Thomas E. Dickey *
.\" Copyright 2002-2011,2012 Free Software Foundation, Inc. *
.\" *
.\" Permission is hereby granted, free of charge, to any person obtaining a *
.\" authorization. *
.\"***************************************************************************
.\"
-.\" $Id: curs_border_set.3x,v 1.31 2023/11/25 15:39:56 tom Exp $
-.TH curs_border_set 3X 2023-11-25 "ncurses 6.4" "Library calls"
+.\" $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"
.ie \n(.g \{\
.ds `` \(lq
.ds '' \(rq
.\" authorization. *
.\"***************************************************************************
.\"
-.\" $Id: curs_clear.3x,v 1.44 2024/01/05 21:46:58 tom Exp $
-.TH curs_clear 3X 2024-01-05 "ncurses 6.4" "Library calls"
+.\" $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"
.ie \n(.g \{\
.ds `` \(lq
.ds '' \(rq
.\"***************************************************************************
-.\" 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 *
.\" authorization. *
.\"***************************************************************************
.\"
-.\" $Id: curs_color.3x,v 1.96 2023/12/30 21:20:01 tom Exp $
-.TH curs_color 3X 2023-12-30 "ncurses 6.4" "Library calls"
+.\" $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"
.ie \n(.g \{\
.ds `` \(lq
.ds '' \(rq
.\"***************************************************************************
-.\" Copyright 2018-2022,2023 Thomas E. Dickey *
+.\" Copyright 2018-2023,2024 Thomas E. Dickey *
.\" Copyright 1998-2006,2010 Free Software Foundation, Inc. *
.\" *
.\" Permission is hereby granted, free of charge, to any person obtaining a *
.\" authorization. *
.\"***************************************************************************
.\"
-.\" $Id: curs_delch.3x,v 1.30 2023/12/16 21:09:11 tom Exp $
-.TH curs_delch 3X 2023-12-16 "ncurses 6.4" "Library calls"
+.\" $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"
.ie \n(.g \{\
.ds `` \(lq
.ds '' \(rq
.\"***************************************************************************
-.\" Copyright 2018-2022,2023 Thomas E. Dickey *
+.\" Copyright 2018-2023,2024 Thomas E. Dickey *
.\" Copyright 1998-2007,2010 Free Software Foundation, Inc. *
.\" *
.\" Permission is hereby granted, free of charge, to any person obtaining a *
.\" authorization. *
.\"***************************************************************************
.\"
-.\" $Id: curs_deleteln.3x,v 1.34 2023/12/16 21:33:34 tom Exp $
-.TH curs_deleteln 3X 2023-12-16 "ncurses 6.4" "Library calls"
+.\" $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"
.ie \n(.g \{\
.ds `` \(lq
.ds '' \(rq
.\"***************************************************************************
-.\" Copyright 2018-2022,2023 Thomas E. Dickey *
+.\" Copyright 2018-2023,2024 Thomas E. Dickey *
.\" Copyright 1999-2010,2016 Free Software Foundation, Inc. *
.\" *
.\" Permission is hereby granted, free of charge, to any person obtaining a *
.\"
.\" Author: Thomas E. Dickey 1999-on
.\"
-.\" $Id: curs_extend.3x,v 1.44 2023/12/23 16:36:18 tom Exp $
-.TH curs_extend 3X 2023-12-23 "ncurses 6.4" "Library calls"
+.\" $Id: curs_extend.3x,v 1.46 2024/03/16 15:35:01 tom Exp $
+.TH curs_extend 3X 2024-03-16 "ncurses @NCURSES_MAJOR@.@NCURSES_MINOR@" "Library calls"
.ie \n(.g \{\
.ds `` \(lq
.ds '' \(rq
.\"***************************************************************************
-.\" Copyright 2018-2022,2023 Thomas E. Dickey *
+.\" Copyright 2018-2023,2024 Thomas E. Dickey *
.\" Copyright 2002-2016,2017 Free Software Foundation, Inc. *
.\" *
.\" Permission is hereby granted, free of charge, to any person obtaining a *
.\" authorization. *
.\"***************************************************************************
.\"
-.\" $Id: curs_get_wch.3x,v 1.31 2023/12/23 16:35:10 tom Exp $
-.TH curs_get_wch 3X 2023-12-23 "ncurses 6.4" "Library calls"
+.\" $Id: curs_get_wch.3x,v 1.36 2024/03/23 20:00:03 tom Exp $
+.TH curs_get_wch 3X 2024-03-23 "ncurses @NCURSES_MAJOR@.@NCURSES_MINOR@" "Library calls"
.ie \n(.g \{\
.ds `` \(lq
.ds '' \(rq
\fBint unget_wch(const wchar_t \fIwch\fP);
.fi
.SH DESCRIPTION
-.SS wget_wch
-The
-\fBget_wch\fP,
-\fBwget_wch\fP,
-\fBmvget_wch\fP, and
-\fBmvwget_wch\fP
-functions read a character
-from the terminal associated with the current or specified window.
-In no-delay mode,
-if no input is waiting, the value \fBERR\fP is returned.
-In delay mode,
-the program waits until the system passes text through to the program.
-Depending on the setting of \fBcbreak\fP,
-this is after one character (cbreak mode),
-or after the first newline (nocbreak mode).
-In half-delay mode,
-the program waits until the user types a character or the specified
-timeout interval has elapsed.
+.SS "Reading Characters"
+.B \%wget_wch
+gathers a key stroke
+.I wch
+from the terminal keyboard associated with a
+.I curses
+window
+.IR win ,
+returning
+.B OK
+if a wide character is read,
+.B \%KEY_CODE_YES
+if a function key is read,
+and
+.B ERR
+if no key event is available.
+\fB\%ncurses\fP(3X) describes the variants of this function.
.PP
-Unless \fBnoecho\fP has been set,
-these routines echo the character into the designated window.
+When input is pending,
+.B \%wget_wch
+stores an integer
+identifying the key stroke in
+.IR wch ;
+for alphanumeric and punctuation keys,
+this value corresponds to the character encoding used by the terminal.
+Use of the control key as a modifier often results in a distinct code.
+The behavior of other keys depends on whether
+.I win
+is in keypad mode;
+see subsections \*(``Keypad Mode\*('' and \*(``Predefined Key Codes\*(''
+in \fB\%getch\fP(3X).
.PP
-If the window is not a pad and has been moved or modified since the
-last call to \fBwrefresh\fP,
-\fBwrefresh\fP will be called before another character is read.
+If no input is pending,
+then if the no-delay flag is set in the window
+(see \fB\%nodelay\fP(3X)),
+the function returns
+.BR ERR ;
+otherwise,
+.I curses
+waits until the terminal has input.
+If \fB\%cbreak\fP(3X)
+has been called,
+this happens after one character is read.
+If \fB\%nocbreak\fP(3X)
+has been called,
+it occurs when the next newline is read.
+If \fB\%halfdelay\fP(3X)
+has been called,
+.I curses
+waits until a character is typed or the specified delay elapses.
.PP
-If \fBkeypad\fP is enabled,
-these functions respond to
-the pressing of a function key by setting the object pointed to by
-\fIwch\fP
-to the keycode assigned to the function key,
-and returning \fBKEY_CODE_YES\fP.
-If a character (such as escape) that could be the
-beginning of a function key is received, curses sets a timer.
-If the remainder
-of the sequence does arrive within the designated time, curses passes through
-the character; otherwise, curses returns the function key value.
-For this
-reason, many terminals experience a delay between the time a user presses
-the escape key and the time the escape is returned to the program.
-.PP
-The keycodes returned by these functions are the same as those
-returned by \fBwgetch\fP:
+If \fB\%echo\fP(3X) has been called,
+and the window is not a pad,
+.I curses
+writes
+.I wch
+to the window
+(at the cursor position)
+per the following rules.
+.bP
+If
+.I wch
+matches the terminal's erase character,
+the cursor moves leftward one position
+and the new position is erased
+as if \fB\%wmove\fP(3X) and then \fB\%wdelch\fP(3X) were called.
+When the window's keypad mode is enabled
+(see below),
+.B \%KEY_LEFT
+and
+.B \%KEY_BACKSPACE
+are handled the same way.
.bP
-The predefined function
-keys are listed in \fB<curses.h>\fP as macros with values outside the range
-of 8-bit characters.
-Their names begin with \fBKEY_\fP.
+.I curses
+writes any other
+.I wch
+to the window,
+as with \fB\%wecho_wchar\fP(3X).
.bP
-Other (user-defined) function keys
-which may be defined using \fBdefine_key\fP(3X) have no names,
-but also are expected to have values outside the range of 8-bit characters.
-.SS unget_wch
-The
-\fBunget_wch\fP
-function pushes the wide character
-\fIwch\fP
-back onto the head of the input queue, so the wide character
-is returned by the next call to
-\fBget_wch\fP.
-The pushback of
-one character is guaranteed.
-If the program calls
-\fBunget_wch\fP
-too many times without an intervening call to
-\fBget_wch\fP,
-the operation may fail.
+If the window has been moved or modified since the last call to
+\fB\%wrefresh\fP(3X),
+.I curses
+calls
+.BR \%wrefresh .
.PP
-Unlike \fBungetch\fP and \fBwgetch\fP,
-\fBunget_wch\fP cannot distinguish special characters
-returned by \fBwget_wch\fP from ordinary characters.
-An application can push special keys
-which it may read via \fBwget_wch\fP
-by checking for the \fBKEY_CODE_YES\fP result,
-and using \fBungetch\fP for those special keys.
+If
+.I wch
+is a carriage return and \fBnl\fP(3X) has been called,
+.B \%wgetch
+stores the the character code for newline
+(line feed)
+in
+.I wch
+instead.
+.SS "Ungetting Characters"
+.B \%unget_wch
+places
+.I wch
+into the input queue to be returned by the next call to
+.BR \%wget_wch .
+A single input queue serves all windows.
.SH RETURN VALUE
-When
-\fBget_wch\fP,
-\fBwget_wch\fP,
-\fBmvget_wch\fP, and
-\fBmvwget_wch\fP
-functions successfully
-report the pressing of a function key, they return
-\fBKEY_CODE_YES\fP.
-When they successfully report a wide character, they return
-\fBOK\fP.
-Otherwise, they return
-\fBERR\fP.
-.PP
-Upon successful completion,
-\fBunget_wch\fP
+.B \%wget_wch
returns
-\fBOK\fP.
-Otherwise, the function returns
-\fBERR\fP.
+.B OK
+when it reads a wide character and
+.B \%KEY_CODE_YES
+when it reads a function key code.
+It returns
+.B ERR
+if
+.bP
+the
+.I \%WINDOW
+pointer is
+.BR NULL ,
+or
+.bP
+its timeout expires without any data arriving,
+or
+.bP
+execution was interrupted by a signal,
+in which case
+.B \%errno
+is set to
+.BR \%EINTR .
.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.
-.SH NOTES
-Applications should not define the escape key by itself as a single-character
-function.
+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
-When using
-\fBget_wch\fP,
-\fBwget_wch\fP,
-\fBmvget_wch\fP, or
-\fBmvwget_wch\fP, applications should
-not use
-\fBnocbreak\fP
-mode and
-\fBecho\fP
-mode
-at the same time.
-Depending on the state of the tty driver when each character
-is typed, the program may produce undesirable results.
+.B \%unget_wch
+returns
+.B OK
+on success and
+.B ERR
+if there is no more room in the input queue.
+.SH NOTES
+See the \*(``NOTES\*('' section of \fB\%wgetch\fP(3X).
.PP
All of these functions except
-\fB\%wget_wch\fP and
-\fB\%unget_wch\fP
+.B \%wget_wch
+and
+.B \%unget_wch
may be implemented as macros.
+.PP
+Unlike \fB\%wgetch\fP(3X),
+.B \%wget_wch
+and its variants store the value of the input character in an additional
+.I wch
+parameter instead of the return value.
+.PP
+Unlike
+.BR \%ungetch ,
+.B \%unget_wch
+cannot distinguish function key codes
+.B \%wget_wch
+from conventional character codes.
+An application can overcome this limitation by pushing function key
+codes with
+.B \%ungetch
+and subsequently checking the return value of
+.B \%wget_wch
+for a match with
+.BR \%KEY_CODE_YES .
+.SH EXTENSIONS
+See the \*(``EXTENSIONS\*('' section of \fB\%wgetch\fP(3X).
.SH PORTABILITY
-These functions are described in the XSI Curses standard, Issue 4.
+Applications employing
+.I \%ncurses
+extensions should condition their use on the visibility of the
+.B \%NCURSES_VERSION
+preprocessor macro.
+.PP
+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
+the interaction of
+.B \%wget_wch
+with signal handlers.
.SH SEE ALSO
\fB\%curses\fP(3X),
-\fB\%curs_getch\fP(3X),
+\fB\%curs_add_wch\fP(3X),
\fB\%curs_inopts\fP(3X),
-\fB\%curs_ins_wch\fP(3X),
\fB\%curs_move\fP(3X),
\fB\%curs_refresh\fP(3X)
+.PP
+\fB\%curs_getch\fP(3X) describes comparable functions of the
+.I \%ncurses
+library in its non-wide-character configuration.
.\"***************************************************************************
-.\" Copyright 2018-2022,2023 Thomas E. Dickey *
+.\" Copyright 2018-2023,2024 Thomas E. Dickey *
.\" Copyright 2002-2012,2017 Free Software Foundation, Inc. *
.\" *
.\" Permission is hereby granted, free of charge, to any person obtaining a *
.\" authorization. *
.\"***************************************************************************
.\"
-.\" $Id: curs_get_wstr.3x,v 1.42 2023/12/16 20:32:22 tom Exp $
-.TH curs_get_wstr 3X 2023-12-16 "ncurses 6.4" "Library calls"
+.\" $Id: curs_get_wstr.3x,v 1.44 2024/03/16 15:35:01 tom Exp $
+.TH curs_get_wstr 3X 2024-03-16 "ncurses @NCURSES_MAJOR@.@NCURSES_MINOR@" "Library calls"
.ie \n(.g \{\
.ds `` \(lq
.ds '' \(rq
.\"***************************************************************************
-.\" Copyright 2019-2021,2023 Thomas E. Dickey *
+.\" Copyright 2019-2023,2024 Thomas E. Dickey *
.\" Copyright 2001-2015,2017 Free Software Foundation, Inc. *
.\" *
.\" Permission is hereby granted, free of charge, to any person obtaining a *
.\" authorization. *
.\"***************************************************************************
.\"
-.\" $Id: curs_getcchar.3x,v 1.43 2023/12/16 21:07:24 tom Exp $
-.TH curs_getcchar 3X 2023-12-16 "ncurses 6.4" "Library calls"
+.\" $Id: curs_getcchar.3x,v 1.45 2024/03/16 15:35:01 tom Exp $
+.TH curs_getcchar 3X 2024-03-16 "ncurses @NCURSES_MAJOR@.@NCURSES_MINOR@" "Library calls"
.de bP
.ie n .IP \(bu 4
.el .IP \(bu 2
.\" authorization. *
.\"***************************************************************************
.\"
-.\" $Id: curs_getch.3x,v 1.78 2024/02/17 19:27:03 tom Exp $
-.TH curs_getch 3X 2024-02-17 "ncurses 6.4" "Library calls"
+.\" $Id: curs_getch.3x,v 1.83 2024/03/23 20:38:57 tom Exp $
+.TH curs_getch 3X 2024-03-23 "ncurses @NCURSES_MAJOR@.@NCURSES_MINOR@" "Library calls"
.ie \n(.g \{\
.ds `` \(lq
.ds '' \(rq
+.ds ^ \(ha
.\}
.el \{\
.ie t .ds `` ``
.el .ds `` ""
.ie t .ds '' ''
.el .ds '' ""
+.ds ^ ^
.\}
.
+.ie \n(.g .ds : \:
+.el .ds : \" empty
+.
.de bP
.ie n .IP \(bu 4
.el .IP \(bu 2
.PP
.B int ungetch(int \fIch\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);
.fi
.SH DESCRIPTION
.SS "Reading Characters"
-The \fBgetch\fP, \fBwgetch\fP, \fBmvgetch\fP and \fBmvwgetch\fP, routines read
-a character from the window.
-In no-delay mode, if no input is waiting, the value \fBERR\fP is returned.
-In delay mode, the program waits until the system
-passes text through to the program.
-Depending on the setting of \fBcbreak\fP,
-this is after one character (cbreak mode),
-or after the first newline (nocbreak mode).
-In half-delay mode,
-the program waits until a character is typed or the
-specified timeout has been reached.
+.B \%wgetch
+gathers a key stroke from the terminal keyboard associated with a
+.I curses
+window
+.IR win .
+\fB\%ncurses\fP(3X) describes the variants of this function.
.PP
-If \fBecho\fP is enabled, and the window is not a pad,
-then the character will also be echoed into the
-designated window according to the following rules:
-.bP
-If the character is the current erase character, left arrow, or backspace,
-the cursor is moved one space to the left and that screen position is erased
-as if \fBdelch\fP had been called.
+When input is pending,
+.B \%wgetch
+returns an integer identifying the key stroke;
+for alphanumeric and punctuation keys,
+this value corresponds to the character encoding used by the terminal.
+Use of the control key as a modifier often results in a distinct code.
+The behavior of other keys depends on whether
+.I win
+is in keypad mode;
+see subsection \*(``Keypad Mode\*('' below.
+.PP
+If no input is pending,
+then if the no-delay flag is set in the window
+(see \fB\%nodelay\fP(3X)),
+the function returns
+.BR ERR ;
+otherwise,
+.I curses
+waits until the terminal has input.
+If \fB\%cbreak\fP(3X)
+has been called,
+this happens after one character is read.
+If \fB\%nocbreak\fP(3X)
+has been called,
+it occurs when the next newline is read.
+If \fB\%halfdelay\fP(3X)
+has been called,
+.I curses
+waits until a character is typed or the specified delay elapses.
+.PP
+If \fB\%echo\fP(3X) has been called,
+and the window is not a pad,
+.I curses
+writes the returned character
+.I ch
+to the window
+(at the cursor position)
+per the following rules.
.bP
-If the character value is any other \fBKEY_\fP define, the user is alerted
-with a \fBbeep\fP call.
+If
+.I ch
+matches the terminal's erase character,
+the cursor moves leftward one position
+and the new position is erased
+as if \fB\%wmove\fP(3X) and then \fB\%wdelch\fP(3X) were called.
+When the window's keypad mode is enabled
+(see below),
+.B \%KEY_LEFT
+and
+.B \%KEY_BACKSPACE
+are handled the same way.
.bP
-If the character is a carriage-return,
-and if \fBnl\fP is enabled,
-it is translated to a line-feed after echoing.
+.I curses
+writes any other
+.I ch
+to the window,
+as with \fB\%wechochar\fP(3X).
.bP
-Otherwise the character is simply output to the screen.
+If the window has been moved or modified since the last call to
+\fB\%wrefresh\fP(3X),
+.I curses
+calls
+.BR \%wrefresh .
.PP
-If the window is not a pad, and it has been moved or modified since the last
-call to \fBwrefresh\fP, \fBwrefresh\fP will be called before another character
-is read.
+If
+.I ch
+is a carriage return and \fBnl\fP(3X) has been called,
+.B \%wgetch
+returns the character code for newline
+(line feed)
+instead.
.SS "Keypad Mode"
-If \fBkeypad\fP is \fBTRUE\fP, and a function key is pressed, the token for
-that function key is returned instead of the raw characters:
+To
+.IR curses ,
+key strokes not from the alphabetic section of the keyboard
+(those corresponding to the ECMA-6 character set\(emsee
+\fIascii\fP(7)\(emoptionally modified by either the control or shift
+keys)
+are treated as
+.I function
+keys.
+(In
+.IR curses ,
+the term \*(``function key\*('' includes but is not limited to keycaps
+engraved with \*(``F1\*('',
+\*(``PF1\*('',
+and so on.)
+If the window is in keypad mode,
+these produce a numeric code corresponding to the
+.B KEY_
+symbols listed in subsection \*(``Predefined Key Codes\*('' below;
+otherwise,
+they transmit a sequence of codes typically starting with the escape
+character,
+and which must be collected with multiple
+.B \%wgetch
+calls.
.bP
-The predefined function
-keys are listed in \fB<curses.h>\fP as macros with values outside the range
-of 8-bit characters.
-Their names begin with \fBKEY_\fP.
+The
+.I \%curses.h
+header file declares many
+.I "predefined function keys"
+whose names begin with
+.BR KEY_ ;
+these object-like macros have values outside the range of eight-bit
+character codes.
.bP
-Other (user-defined) function keys which may be defined
-using \fBdefine_key\fP(3X)
-have no names, but also are expected to have values outside the range of
-8-bit characters.
+In
+.IR \%ncurses ,
+.I "user-defined function keys"
+are configured with \fBdefine_key\fP(3X);
+they have no names,
+but are also expected to have values outside the range of eight-bit
+codes.
.PP
-Thus, a variable
-intended to hold the return value of a function key must be of short size or
-larger.
+A variable intended to hold a function key code must thus be of type
+.I short
+or larger.
.PP
-When a character that could be the beginning of a function key is received
-(which, on modern terminals, means an escape character),
-\fBcurses\fP sets a timer.
-If the remainder of the sequence does not come in within the designated
-time, the character is passed through;
-otherwise, the function key value is returned.
-For this reason, many terminals experience a delay between the time
-a user presses the escape key and the escape is returned to the program.
-.PP
-In \fI\%ncurses\fP, the timer normally expires after
-the value in \fBESCDELAY\fP (see \fBcurs_variables\fP(3X)).
-If \fBnotimeout\fP is \fBTRUE\fP, the timer does not expire;
-it is an infinite (or very large) value.
-Because function keys usually begin with an escape character,
-the terminal may appear to hang in notimeout mode after pressing the escape key
-until another key is pressed.
+Most terminals one encounters follow the ECMA-48 standard insofar as
+their function keys produce character sequences prefixed with the
+escape character ESC.
+This fact implies that
+.I curses
+cannot know whether the terminal has sent an ESC key stroke or the
+beginning of a function key's character sequence without waiting to see
+if,
+and how soon,
+further input arrives.
+When
+.I curses
+reads such an ambiguous character,
+it sets a timer.
+If the remainder of the sequence does not arrive within the designated
+time,
+.B \%wgetch
+returns the prefix character;
+otherwise,
+it returns the function key code corresponding to the unique sequence
+defined by the terminal.
+Consequently,
+a user of a
+.I curses
+application may experience a delay after pressing ESC while
+.I curses
+disambiguates the input.
+See section \*(``EXTENSIONS\*('' below.
+If the window is in \*(``no time-out\*('' mode,
+the timer does not expire;
+it is an infinite
+(or very large)
+value.
+See \fB\%notimeout\fP(3X).
+Because function key sequences usually begin with an escape character,
+the terminal may appear to hang in no time-out mode after the user has
+pressed ESC.
+Generally,
+further typing \*(``awakens\*(''
+.IR curses .
.SS "Ungetting Characters"
-The \fBungetch\fP routine places \fIch\fP back onto the input queue to be
-returned by the next call to \fBwgetch\fP.
-There is just one input queue for all windows.
+.B \%ungetch
+places
+.I ch
+into the input queue to be returned by the next call to
+.BR \%wgetch .
+A single input queue serves all windows.
.SS "Predefined Key Codes"
-The following special keys are defined in \fB<curses.h>\fP.
+The header file
+.I \%curses.h
+defines the following function key codes.
.bP
-Except for the special case \fBKEY_RESIZE\fP,
-it is necessary to enable \fBkeypad\fP for \fBgetch\fP to return these codes.
+Except for the special case of
+.BR \%KEY_RESIZE ,
+a window's keypad mode must be enabled for
+.B \%wgetch
+to read these codes from it.
.bP
Not all of these are necessarily supported on any particular terminal.
.bP
-The naming convention may seem obscure, with some apparent
-misspellings (such as \*(``RSUME\*('' for \*(``resume\*('').
-The names correspond to the long terminfo capability names for the keys,
-and were defined long ago, in the 1980s.
+The naming convention may seem obscure,
+with some apparent misspellings
+(such as \*(``RSUME\*('' for \*(``resume\*('');
+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
+dominant position in industry.
.PP
.RS
+.\" XXX: Move this list into ncurses(3X), rather than duplicating it in
+.\" get_wch(3X) or having that page cross reference this one?
.TS
-tab(/) ;
-l l .
-\fBName\fP/\fBKey\fP \fBname\fP
-_
-KEY_BREAK/Break key
-KEY_DOWN/The four arrow keys ...
-KEY_UP
-KEY_LEFT
-KEY_RIGHT
-KEY_HOME/Home key (upward+left arrow)
-KEY_BACKSPACE/Backspace
-KEY_F0/T{
-Function keys; space for 64 keys is reserved.
+Lb Lb
+Lb Lx.
+Symbol Key name
+=
+KEY_BREAK Break key
+KEY_DOWN Arrow keys
+KEY_UP \^
+KEY_LEFT \^
+KEY_RIGHT \^
+KEY_HOME Home key (upward+left arrow)
+KEY_BACKSPACE Backspace
+KEY_F0 T{
+Function keys; space for 64 keys is reserved
T}
-KEY_F(\fIn\fP)/T{
-For 0 \(<= \fIn\fP \(<= 63
+KEY_F(\fIn\fP) T{
+Function key \fIn\fP where 0 \(<= \fIn\fP \(<= 63
T}
-KEY_DL/Delete line
-KEY_IL/Insert line
-KEY_DC/Delete character
-KEY_IC/Insert char or enter insert mode
-KEY_EIC/Exit insert char mode
-KEY_CLEAR/Clear screen
-KEY_EOS/Clear to end of screen
-KEY_EOL/Clear to end of line
-KEY_SF/Scroll 1 line forward
-KEY_SR/Scroll 1 line backward (reverse)
-KEY_NPAGE/Next page
-KEY_PPAGE/Previous page
-KEY_STAB/Set tab
-KEY_CTAB/Clear tab
-KEY_CATAB/Clear all tabs
-KEY_ENTER/Enter or send
-KEY_SRESET/Soft (partial) reset
-KEY_RESET/Reset or hard reset
-KEY_PRINT/Print or copy
-KEY_LL/Home down or bottom (lower left)
-KEY_A1/Upper left of keypad
-KEY_A3/Upper right of keypad
-KEY_B2/Center of keypad
-KEY_C1/Lower left of keypad
-KEY_C3/Lower right of keypad
-KEY_BTAB/Back tab key
-KEY_BEG/Beg(inning) key
-KEY_CANCEL/Cancel key
-KEY_CLOSE/Close key
-KEY_COMMAND/Cmd (command) key
-KEY_COPY/Copy key
-KEY_CREATE/Create key
-KEY_END/End key
-KEY_EXIT/Exit key
-KEY_FIND/Find key
-KEY_HELP/Help key
-KEY_MARK/Mark key
-KEY_MESSAGE/Message key
-KEY_MOUSE/Mouse event occurred
-KEY_MOVE/Move key
-KEY_NEXT/Next object key
-KEY_OPEN/Open key
-KEY_OPTIONS/Options key
-KEY_PREVIOUS/Previous object key
-KEY_REDO/Redo key
-KEY_REFERENCE/Ref(erence) key
-KEY_REFRESH/Refresh key
-KEY_REPLACE/Replace key
-KEY_RESIZE/Screen resized
-KEY_RESTART/Restart key
-KEY_RESUME/Resume key
-KEY_SAVE/Save key
-KEY_SBEG/Shifted beginning key
-KEY_SCANCEL/Shifted cancel key
-KEY_SCOMMAND/Shifted command key
-KEY_SCOPY/Shifted copy key
-KEY_SCREATE/Shifted create key
-KEY_SDC/Shifted delete char key
-KEY_SDL/Shifted delete line key
-KEY_SELECT/Select key
-KEY_SEND/Shifted end key
-KEY_SEOL/Shifted clear line key
-KEY_SEXIT/Shifted exit key
-KEY_SFIND/Shifted find key
-KEY_SHELP/Shifted help key
-KEY_SHOME/Shifted home key
-KEY_SIC/Shifted insert key
-KEY_SLEFT/Shifted left arrow key
-KEY_SMESSAGE/Shifted message key
-KEY_SMOVE/Shifted move key
-KEY_SNEXT/Shifted next key
-KEY_SOPTIONS/Shifted options key
-KEY_SPREVIOUS/Shifted prev key
-KEY_SPRINT/Shifted print key
-KEY_SREDO/Shifted redo key
-KEY_SREPLACE/Shifted replace key
-KEY_SRIGHT/Shifted right arrow key
-KEY_SRSUME/Shifted resume key
-KEY_SSAVE/Shifted save key
-KEY_SSUSPEND/Shifted suspend key
-KEY_SUNDO/Shifted undo key
-KEY_SUSPEND/Suspend key
-KEY_UNDO/Undo key
+KEY_DL Delete line
+KEY_IL Insert line
+KEY_DC Delete character
+KEY_IC Insert character/Enter insert mode
+KEY_EIC Exit insert character mode
+KEY_CLEAR Clear screen
+KEY_EOS Clear to end of screen
+KEY_EOL Clear to end of line
+KEY_SF Scroll one line forward
+KEY_SR Scroll one line backward (reverse)
+KEY_NPAGE Next page/Page up
+KEY_PPAGE Previous page/Page down
+KEY_STAB Set tab
+KEY_CTAB Clear tab
+KEY_CATAB Clear all tabs
+KEY_ENTER Enter/Send
+KEY_SRESET Soft (partial) reset
+KEY_RESET (Hard) reset
+KEY_PRINT Print/Copy
+KEY_LL Home down/Bottom (lower left)
+KEY_A1 Upper left of keypad
+KEY_A3 Upper right of keypad
+KEY_B2 Center of keypad
+KEY_C1 Lower left of keypad
+KEY_C3 Lower right of keypad
+KEY_BTAB Back tab key
+KEY_BEG Beg(inning) key
+KEY_CANCEL Cancel key
+KEY_CLOSE Close key
+KEY_COMMAND Cmd (command) key
+KEY_COPY Copy key
+KEY_CREATE Create key
+KEY_END End key
+KEY_EXIT Exit key
+KEY_FIND Find key
+KEY_HELP Help key
+KEY_MARK Mark key
+KEY_MESSAGE Message key
+KEY_MOUSE Mouse event occurred
+KEY_MOVE Move key
+KEY_NEXT Next object key
+KEY_OPEN Open key
+KEY_OPTIONS Options key
+KEY_PREVIOUS Previous object key
+KEY_REDO Redo key
+KEY_REFERENCE Ref(erence) key
+KEY_REFRESH Refresh key
+KEY_REPLACE Replace key
+KEY_RESIZE Screen resized
+KEY_RESTART Restart key
+KEY_RESUME Resume key
+KEY_SAVE Save key
+KEY_SELECT Select key
+KEY_SUSPEND Suspend key
+KEY_UNDO Undo key
+_
+KEY_SBEG Shifted beginning key
+KEY_SCANCEL Shifted cancel key
+KEY_SCOMMAND Shifted command key
+KEY_SCOPY Shifted copy key
+KEY_SCREATE Shifted create key
+KEY_SDC Shifted delete character key
+KEY_SDL Shifted delete line key
+KEY_SEND Shifted end key
+KEY_SEOL Shifted clear line key
+KEY_SEXIT Shifted exit key
+KEY_SFIND Shifted find key
+KEY_SHELP Shifted help key
+KEY_SHOME Shifted home key
+KEY_SIC Shifted insert key
+KEY_SLEFT Shifted left arrow key
+KEY_SMESSAGE Shifted message key
+KEY_SMOVE Shifted move key
+KEY_SNEXT Shifted next object key
+KEY_SOPTIONS Shifted options key
+KEY_SPREVIOUS Shifted previous object key
+KEY_SPRINT Shifted print key
+KEY_SREDO Shifted redo key
+KEY_SREPLACE Shifted replace key
+KEY_SRIGHT Shifted right arrow key
+KEY_SRSUME Shifted resume key
+KEY_SSAVE Shifted save key
+KEY_SSUSPEND Shifted suspend key
+KEY_SUNDO Shifted undo key
.TE
.RE
.PP
-Keypad is arranged like this:
+The keypad is arranged as follows.
.PP
.RS
.TS
-allbox tab(/) ;
-c c c .
-\fBA1\fP/\fBup\fP/\fBA3\fP
-\fBleft\fP/\fBB2\fP/\fBright\fP
-\fBC1\fP/\fBdown\fP/\fBC3\fP
+allbox center;
+C C C.
+A1 up A3
+left B2 right
+C1 down C3
.TE
.RE
.sp
-A few of these predefined values do \fInot\fP correspond to a real key:
+Two of these symbols do
+.I not
+correspond to a real key.
.bP
-.B KEY_RESIZE
-is returned when the \fBSIGWINCH\fP signal has been detected
-(see \fBinitscr\fP(3X) and \fBresizeterm\fP(3X)).
-This code is returned whether or not \fBkeypad\fP has been enabled.
+.B \%wgetch
+returns
+.B \%KEY_RESIZE
+(even if the window's keypad mode is disabled)
+when
+.I \%ncurses
+detects the
+.B \%SIGWINCH
+signal;
+see \fBinitscr\fP(3X) and \fBresizeterm\fP(3X).
.bP
-.B KEY_MOUSE
-is returned for mouse-events (see \fBcurs_mouse\fP(3X)).
-This code relies upon whether or not \fBkeypad\fP(3X) has been enabled,
-because
-(e.g.,
-with \fBxterm\fP(1) mouse prototocol)
-\fI\%ncurses\fP must read escape sequences,
-just like a function key.
+.B \%wgetch
+returns
+.B \%KEY_MOUSE
+to indicate that a mouse event is pending collection;
+see \fBcurs_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),
+.I \%ncurses
+must read an escape sequence,
+as with a function key.
.SS "Testing Key Codes"
-The \fBhas_key\fP routine takes a key-code value from the above list, and
-returns \fBTRUE\fP or \fBFALSE\fP according to whether
-the current terminal type recognizes a key with that value.
-.PP
-The library also supports these extensions:
-.RS 3
-.TP 5
-.B define_key
-defines a key-code for a given string (see \fBdefine_key\fP(3X)).
-.TP 5
-.B key_defined
-checks if there is a key-code defined for a given
-string (see \fBkey_defined\fP(3X)).
-.RE
+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.
+See also
+\fBdefine_key\fP(3X) and \fBkey_defined\fP(3X).
.SH RETURN VALUE
-All routines return the integer \fBERR\fP upon failure and an integer value
-other than \fBERR\fP (\fBOK\fP in the case of \fBungetch\fP) upon successful
-completion.
-.RS 3
-.TP 5
-\fBungetch\fP
-returns \fBERR\fP
-if there is no more room in the FIFO.
-.TP
-\fBwgetch\fP
-returns \fBERR\fP
-.RS
+.B \%wgetch
+returns
+.B ERR
+if
.bP
-if the window pointer is null, or
+the
+.I \%WINDOW
+pointer is
+.BR NULL ,
+or
.bP
-if its timeout expires without having any data, or
+its timeout expires without any data arriving,
+or
.bP
-if the execution was interrupted by a signal (\fBerrno\fP will be set to
-\fBEINTR\fP).
-.RE
-.RE
+execution was interrupted by a signal,
+in which case
+.B \%errno
+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.
.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.
+.B \%has_key
+returns
+.B TRUE
+or
+.BR FALSE .
.SH NOTES
-Use of the escape key by a programmer for a single character function is
-discouraged, as it will cause a delay of up to one second while the
-keypad code looks for a following function-key sequence.
+.I curses
+discourages assignment of the ESC key to a discrete function by the
+programmer because the library requires a delay while it awaits the
+potential remainder of a terminal escape sequence.
.PP
-Some keys may be the same as commonly used control
-keys, e.g.,
-\fBKEY_ENTER\fP versus control/M,
-\fBKEY_BACKSPACE\fP versus control/H.
-Some curses implementations may differ according to whether they
-treat these control keys specially (and ignore the terminfo), or
-use the terminfo definitions.
-\fI\%ncurses\fP uses the terminfo definition.
-If it says that \fBKEY_ENTER\fP is control/M,
-\fBgetch\fP will return \fBKEY_ENTER\fP
-when you press control/M.
+Some key strokes are indistinguishable from control characters;
+for example,
+.B \%KEY_ENTER
+may be the same as
+.BR \*^M ,
+.\" as with att630 or pccon+keys
+and
+.B \%KEY_BACKSPACE
+may be the same as
+.B \*^H
+.\" as with att505 or vt52-basic
+or
+.BR \*^? .
+.\" as with pccon+keys or vt320
+Consult the terminal's
+.I \%term\%info
+entry to determine whether this is the case;
+see \fB\%infocmp\fP(1).
+Some
+.I curses
+implementations,
+including
+.IR \%ncurses ,
+honor the
+.I \%term\%info
+key definitions;
+others treat such control characters specially.
.PP
-Generally, \fBKEY_ENTER\fP denotes the character(s) sent by the \fIEnter\fP
-key on the numeric keypad:
+.I curses
+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,
+like other function keys,
+is reliably recognized only if the window's keypad mode is enabled.
.bP
-the terminal description lists the most useful keys,
+The
+.I \%term\%info
+.B \%key_enter
+.RB ( kent )
+capability describes the character (sequence) sent by the terminal's
+keypad Enter key.
.bP
-the \fIEnter\fP key on the regular keyboard is already handled by
-the standard ASCII characters for carriage-return and line-feed,
+\*(``Enter or send\*('' is X/Open Curses's description of this key.
+.PP
+.I curses
+treats the Enter or Return key in the
+.I alphabetic
+section of the keyboard differently.
.bP
-depending on whether \fBnl\fP or \fBnonl\fP was called,
-pressing \*(``Enter\*('' on the regular keyboard
-may return either a carriage-return or line-feed, and finally
+It usually produces a control code for carriage return
+.RB ( \*^M )
+or line feed
+.RB ( \*^J ).
.bP
-\*(``Enter or send\*('' is the standard description for this key.
+Depending on the terminal mode
+(raw,
+cbreak,
+or
+\*(``cooked\*(''),
+and whether \fB\%nl\fP(3X) or \fB\%nonl\fP(3X) has been called,
+.B \%wgetch
+may return either a carriage return or line feed upon an Enter or Return
+key stroke.
.PP
-When using \fBgetch\fP, \fBwgetch\fP, \fBmvgetch\fP, or
-\fBmvwgetch\fP, nocbreak mode (\fBnocbreak\fP) and echo mode
-(\fBecho\fP) should not be used at the same time.
-Depending on the
-state of the tty driver when each character is typed, the program may
-produce undesirable results.
+Use of
+.B \%wgetch
+with \fB\%echo\fP(3X) and neither \fB\%cbreak\fP(3X) nor \fB\%raw\fP(3X)
+is not well-defined.
.PP
-Note that \fBgetch\fP, \fBmvgetch\fP, and \fBmvwgetch\fP may be macros.
+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 fewer.
+A
+.I curses
+application can expect such a keyboard to transmit key codes
+.BR \%KEY_UP ,
+.BR \%KEY_DOWN ,
+.BR \%KEY_LEFT ,
+.BR \%KEY_RIGHT ,
+.BR \%KEY_HOME ,
+.BR \%KEY_END ,
+.B \%KEY_PPAGE
+(Page Up),
+.B \%KEY_NPAGE
+(Page Down),
+.B \%KEY_IC
+(Insert),
+.B \%KEY_DC
+(Delete),
+and
+.BI \%KEY_F( n )
+for 1 \(<=
+.I n
+\(<= 12.
.PP
-Historically, the set of keypad macros was largely defined by the extremely
-function-key-rich keyboard of the AT&T 7300, aka 3B1, aka Safari 4.
-Modern
-personal computers usually have only a small subset of these.
-IBM PC-style
-consoles typically support little more than \fBKEY_UP\fP, \fBKEY_DOWN\fP,
-\fBKEY_LEFT\fP, \fBKEY_RIGHT\fP, \fBKEY_HOME\fP, \fBKEY_END\fP,
-\fBKEY_NPAGE\fP, \fBKEY_PPAGE\fP, and function keys 1 through 12.
-The Ins key
-is usually mapped to \fBKEY_IC\fP.
+.BR \%getch ,
+.BR \%mvgetch ,
+and
+.B \%mvwgetch
+may be implemented as macros.
.SH EXTENSIONS
+In
+.IR \%ncurses ,
+when a window's \*(``no time-out\*('' mode is
+.I not
+set,
+the
+.B \%ESCDELAY
+variable configures the duration of the timer used to disambiguate a
+function key character sequence from a series of key strokes beginning
+with ESC typed by the user;
+see
+\fB\%curs_variables\fP(3X).
+.PP
\fB\%has_key\fP was designed for \fB\%ncurses\fP(3X),
and is not found in SVr4
.IR curses ,
.B \%NCURSES_VERSION
preprocessor macro.
.PP
-X/Open Curses, Issue 4, Version 2, describes
+X/Open Curses, Issue 4, describes
\fB\%getch\fP,
\fB\%wgetch\fP,
\fB\%mvgetch\fP,
\fB\%mvwgetch\fP,
and
\fB\%ungetch\fP.
-They read single-byte characters only.
-The standard specifies that they return \fBERR\fP on failure,
-but describes no failure conditions.
+It specifies no error conditions for them.
+.PP
+.B \%wgetch
+reads only single-byte characters.
.PP
The echo behavior of these functions on input of
.B KEY_
or backspace characters was not specified in the SVr4 documentation.
This description is adapted from X/Open Curses.
.PP
-The behavior of \fBgetch\fP and friends in the presence of signal
-handlers is unspecified in the SVr4 documentation and X/Open Curses.
-Under historical curses implementations,
+The behavior of
+.B \%wgetch
+in the presence of signal handlers is unspecified in the SVr4
+documentation and X/Open Curses.
+In historical
+.I curses
+implementations,
it varied depending on whether the operating system's dispatch of a
-signal to a handler interrupts a \fBread\fP(2) call in progress or not,
+signal to a handler interrupts a \fIread\fP(2) call in progress or not,
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
+.BR \%wgetch ;
+or
+(b) signal receipt interrupts
+.B \%wgetch
+and causes it to return
+.B ERR
+with
+.B \%errno
+set to
+.BR \%EINTR .
.PP
-.B KEY_MOUSE
+.B \%KEY_MOUSE
is mentioned in X/Open Curses,
along with a few related
.I \%term\%info
.I \%ncurses
is an extension.
.PP
-.B KEY_RESIZE
-is an extension first implemented for
-.I \%ncurses.
+.B \%KEY_RESIZE
+and
+.B \%has_key
+are extensions first implemented for
+.IR \%ncurses .
+By 2022,
+.I \%PDCurses
+.\" https://web.archive.org/web/20220117232009/https://pdcurses.org/docs/MANUAL.html
+and
NetBSD
.I curses
-later added this extension.
-.PP
-Programmers concerned about portability should be prepared for either of two
-cases: (a) signal receipt does not interrupt \fBgetch\fP; (b) signal receipt
-interrupts \fBgetch\fP and causes it to return \fBERR\fP with \fBerrno\fP set to
-\fBEINTR\fP.
-.PP
-The \fBhas_key\fP function is unique to \fI\%ncurses\fP.
-We recommend that
-any code using it be conditionalized on the \fBNCURSES_VERSION\fP feature macro.
+.\" https://web.archive.org/web/20200923185647/https://man.netbsd.org/curses_input.3
+had added them along with
+.BR \%KEY_MOUSE .
.SH SEE ALSO
\fB\%curses\fP(3X),
+\fB\%curs_addch\fP(3X),
\fB\%curs_inopts\fP(3X),
\fB\%curs_mouse\fP(3X),
\fB\%curs_move\fP(3X),
\fB\%curs_outopts\fP(3X),
\fB\%curs_refresh\fP(3X),
\fB\%curs_variables\fP(3X),
-\fB\%resizeterm\fP(3X)
+\fB\%resizeterm\fP(3X),
+\fB\%ascii\fP(7)
+.PP
+\fB\%curs_get_wch\fP(3X) describes comparable functions of the
+.I \%ncurses
+library in its wide-character configuration
+.RI ( \%ncursesw ).
+.PP
+ECMA-6 \*(``7-bit coded Character Set\*(''
+\%<https://\*:ecma\-international\*:.org/\
+\*:publications\-and\-standards/\*:standards/\*:ecma\-6/>
.PP
-Comparable functions in the wide-character (ncursesw) library are
-described in
-\fB\%curs_get_wch\fP(3X).
+ECMA-48 \*(``Control Functions for Coded Character Sets\*(''
+\%<https://\*:ecma\-international\*:.org/\
+\*:publications\-and\-standards/\*:standards/\*:ecma\-48/>
.\"***************************************************************************
-.\" Copyright 2018-2022,2023 Thomas E. Dickey *
+.\" Copyright 2018-2023,2024 Thomas E. Dickey *
.\" Copyright 1998-2010,2017 Free Software Foundation, Inc. *
.\" *
.\" Permission is hereby granted, free of charge, to any person obtaining a *
.\" authorization. *
.\"***************************************************************************
.\"
-.\" $Id: curs_getstr.3x,v 1.52 2023/12/16 20:32:22 tom Exp $
-.TH curs_getstr 3X 2023-12-16 "ncurses 6.4" "Library calls"
+.\" $Id: curs_getstr.3x,v 1.54 2024/03/16 15:35:01 tom Exp $
+.TH curs_getstr 3X 2024-03-16 "ncurses @NCURSES_MAJOR@.@NCURSES_MINOR@" "Library calls"
.ie \n(.g \{\
.ds `` \(lq
.ds '' \(rq
.\"***************************************************************************
-.\" Copyright 2020-2022,2023 Thomas E. Dickey *
+.\" Copyright 2020-2023,2024 Thomas E. Dickey *
.\" Copyright 1998-2007,2010 Free Software Foundation, Inc. *
.\" *
.\" Permission is hereby granted, free of charge, to any person obtaining a *
.\" authorization. *
.\"***************************************************************************
.\"
-.\" $Id: curs_getyx.3x,v 1.40 2023/12/16 21:33:21 tom Exp $
-.TH curs_getyx 3X 2023-12-16 "ncurses 6.4" "Library calls"
+.\" $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"
.ie \n(.g \{\
.ds `` \(lq
.ds '' \(rq
.\"***************************************************************************
-.\" Copyright 2018-2022,2023 Thomas E. Dickey *
+.\" Copyright 2018-2023,2024 Thomas E. Dickey *
.\" Copyright 2002-2010,2017 Free Software Foundation, Inc. *
.\" *
.\" Permission is hereby granted, free of charge, to any person obtaining a *
.\" authorization. *
.\"***************************************************************************
.\"
-.\" $Id: curs_in_wch.3x,v 1.24 2023/11/18 18:00:11 tom Exp $
-.TH curs_in_wch 3X 2023-11-18 "ncurses 6.4" "Library calls"
+.\" $Id: curs_in_wch.3x,v 1.26 2024/03/16 15:35:01 tom Exp $
+.TH curs_in_wch 3X 2024-03-16 "ncurses @NCURSES_MAJOR@.@NCURSES_MINOR@" "Library calls"
.ie \n(.g \{\
.ds `` \(lq
.ds '' \(rq
.\"***************************************************************************
-.\" Copyright 2018-2022,2023 Thomas E. Dickey *
+.\" Copyright 2018-2023,2024 Thomas E. Dickey *
.\" Copyright 2002-2012,2017 Free Software Foundation, Inc. *
.\" *
.\" Permission is hereby granted, free of charge, to any person obtaining a *
.\" authorization. *
.\"***************************************************************************
.\"
-.\" $Id: curs_in_wchstr.3x,v 1.32 2023/11/18 20:55:18 tom Exp $
-.TH curs_in_wchstr 3X 2023-11-18 "ncurses 6.4" "Library calls"
+.\" $Id: curs_in_wchstr.3x,v 1.34 2024/03/16 15:35:01 tom Exp $
+.TH curs_in_wchstr 3X 2024-03-16 "ncurses @NCURSES_MAJOR@.@NCURSES_MINOR@" "Library calls"
.ie \n(.g \{\
.ds `` \(lq
.ds '' \(rq
.\" authorization. *
.\"***************************************************************************
.\"
-.\" $Id: curs_inch.3x,v 1.44 2024/01/13 22:05:39 tom Exp $
-.TH curs_inch 3X 2024-01-13 "ncurses 6.4" "Library calls"
+.\" $Id: curs_inch.3x,v 1.46 2024/03/16 15:35:01 tom Exp $
+.TH curs_inch 3X 2024-03-16 "ncurses @NCURSES_MAJOR@.@NCURSES_MINOR@" "Library calls"
.ie \n(.g \{\
.ds `` \(lq
.ds '' \(rq
.\"***************************************************************************
-.\" Copyright 2018-2022,2023 Thomas E. Dickey *
+.\" Copyright 2018-2023,2024 Thomas E. Dickey *
.\" Copyright 1998-2010,2017 Free Software Foundation, Inc. *
.\" *
.\" Permission is hereby granted, free of charge, to any person obtaining a *
.\" authorization. *
.\"***************************************************************************
.\"
-.\" $Id: curs_inchstr.3x,v 1.40 2023/11/19 00:08:58 tom Exp $
-.TH curs_inchstr 3X 2023-11-18 "ncurses 6.4" "Library calls"
+.\" $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"
.ie \n(.g \{\
.ds `` \(lq
.ds '' \(rq
.\" authorization. *
.\"***************************************************************************
.\"
-.\" $Id: curs_initscr.3x,v 1.62 2024/02/24 20:03:50 tom Exp $
-.TH curs_initscr 3X 2024-02-24 "ncurses 6.4" "Library calls"
+.\" $Id: curs_initscr.3x,v 1.64 2024/03/16 15:35:01 tom Exp $
+.TH curs_initscr 3X 2024-03-16 "ncurses @NCURSES_MAJOR@.@NCURSES_MINOR@" "Library calls"
.ie \n(.g \{\
.ds `` \(lq
.ds '' \(rq
'\" t
.\"***************************************************************************
-.\" 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 *
.\" authorization. *
.\"***************************************************************************
.\"
-.\" $Id: curs_inopts.3x,v 1.60 2023/12/23 16:36:18 tom Exp $
-.TH curs_inopts 3X 2023-12-23 "ncurses 6.4" "Library calls"
+.\" $Id: curs_inopts.3x,v 1.64 2024/03/23 20:38:57 tom Exp $
+.TH curs_inopts 3X 2024-03-23 "ncurses @NCURSES_MAJOR@.@NCURSES_MINOR@" "Library calls"
.ie \n(.g \{\
.ds `` \(lq
.ds '' \(rq
under POSIX,
to setting the CS7 flag on the terminal.
The window argument,
-.I win,
+.IR win ,
is always ignored.
If the terminfo capabilities
\fBsmm\fP (meta_on) and
instead of generating a signal.
The behavior of the BREAK key depends on other bits in the terminal
driver that are not set by
-.I curses.
+.IR curses .
.\"
.SS "qiflush, nqiflush"
When the \fB\%noqiflush\fP routine is used,
upon successful completion,
unless otherwise noted in the preceding routine descriptions.
.PP
-X/Open does not define any error conditions.
+X/Open Curses does not specify any error conditions.
In this implementation,
functions with a window parameter will return an error if it is null.
Any function will also return an error if the terminal was not
defined by the array of string capability names.
The last key to be loaded determines the keycode which will be returned.
In
-.I \%ncurses,
+.IR \%ncurses ,
you may also have extended capabilities interpreted as key definitions.
These are loaded after the predefined keys,
and if a capability's value is the same as a previously-loaded
.\"***************************************************************************
-.\" Copyright 2019-2022,2023 Thomas E. Dickey *
+.\" Copyright 2019-2023,2024 Thomas E. Dickey *
.\" Copyright 2002-2010,2017 Free Software Foundation, Inc. *
.\" *
.\" Permission is hereby granted, free of charge, to any person obtaining a *
.\" authorization. *
.\"***************************************************************************
.\"
-.\" $Id: curs_ins_wch.3x,v 1.26 2023/12/23 16:03:24 tom Exp $
-.TH curs_ins_wch 3X 2023-12-23 "ncurses 6.4" "Library calls"
+.\" $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"
.ie \n(.g \{\
.ds `` \(lq
.ds '' \(rq
.\"***************************************************************************
-.\" Copyright 2019-2022,2023 Thomas E. Dickey *
+.\" Copyright 2019-2023,2024 Thomas E. Dickey *
.\" Copyright 2002-2012,2017 Free Software Foundation, Inc. *
.\" *
.\" Permission is hereby granted, free of charge, to any person obtaining a *
.\" authorization. *
.\"***************************************************************************
.\"
-.\" $Id: curs_ins_wstr.3x,v 1.30 2023/12/16 20:36:15 tom Exp $
-.TH curs_ins_wstr 3X 2023-12-16 "ncurses 6.4" "Library calls"
+.\" $Id: curs_ins_wstr.3x,v 1.32 2024/03/16 15:48:54 tom Exp $
+.TH curs_ins_wstr 3X 2024-03-16 "ncurses @NCURSES_MAJOR@.@NCURSES_MINOR@" "Library calls"
.ie \n(.g \{\
.ds `` \(lq
.ds '' \(rq
.SH RETURN VALUE
All functions return the integer \fBERR\fP upon failure and \fBOK\fP on success.
.PP
-X/Open does not define any error conditions.
+X/Open Curses does not specify any error conditions.
This implementation returns an error
.bP
if the \fIwin\fP parameter is null or
.\"***************************************************************************
-.\" Copyright 2018-2022,2023 Thomas E. Dickey *
+.\" Copyright 2018-2023,2024 Thomas E. Dickey *
.\" Copyright 1998-2010,2017 Free Software Foundation, Inc. *
.\" *
.\" Permission is hereby granted, free of charge, to any person obtaining a *
.\" authorization. *
.\"***************************************************************************
.\"
-.\" $Id: curs_insch.3x,v 1.36 2023/12/23 16:03:24 tom Exp $
-.TH curs_insch 3X 2023-12-23 "ncurses 6.4" "Library calls"
+.\" $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"
.ie \n(.g \{\
.ds `` \(lq
.ds '' \(rq
.\"***************************************************************************
-.\" Copyright 2019-2022,2023 Thomas E. Dickey *
+.\" Copyright 2019-2023,2024 Thomas E. Dickey *
.\" Copyright 1998-2010,2017 Free Software Foundation, Inc. *
.\" *
.\" Permission is hereby granted, free of charge, to any person obtaining a *
.\" authorization. *
.\"***************************************************************************
.\"
-.\" $Id: curs_insstr.3x,v 1.46 2023/11/25 11:29:34 tom Exp $
-.TH curs_insstr 3X 2023-11-25 "ncurses 6.4" "Library calls"
+.\" $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"
.ie \n(.g \{\
.ds `` \(lq
.ds '' \(rq
.SH RETURN VALUE
All functions return the integer \fBERR\fP upon failure and \fBOK\fP on success.
.PP
-X/Open does not define any error conditions.
+X/Open Curses does not specify any error conditions.
This implementation returns an error
.bP
if the \fIwin\fP parameter is null or
.\"***************************************************************************
-.\" Copyright 2018-2022,2023 Thomas E. Dickey *
+.\" Copyright 2018-2023,2024 Thomas E. Dickey *
.\" Copyright 1998-2010,2017 Free Software Foundation, Inc. *
.\" *
.\" Permission is hereby granted, free of charge, to any person obtaining a *
.\" authorization. *
.\"***************************************************************************
.\"
-.\" $Id: curs_instr.3x,v 1.44 2023/12/16 20:32:22 tom Exp $
-.TH curs_instr 3X 2023-12-16 "ncurses 6.4" "Library calls"
+.\" $Id: curs_instr.3x,v 1.46 2024/03/16 15:35:01 tom Exp $
+.TH curs_instr 3X 2024-03-16 "ncurses @NCURSES_MAJOR@.@NCURSES_MINOR@" "Library calls"
.ie \n(.g \{\
.ds `` \(lq
.ds '' \(rq
.\"***************************************************************************
-.\" Copyright 2018-2022,2023 Thomas E. Dickey *
+.\" Copyright 2018-2023,2024 Thomas E. Dickey *
.\" Copyright 2002-2012,2017 Free Software Foundation, Inc. *
.\" *
.\" Permission is hereby granted, free of charge, to any person obtaining a *
.\" authorization. *
.\"***************************************************************************
.\"
-.\" $Id: curs_inwstr.3x,v 1.36 2023/12/30 21:32:48 tom Exp $
-.TH curs_inwstr 3X 2023-12-30 "ncurses 6.4" "Library calls"
+.\" $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"
.ie \n(.g \{\
.ds `` \(lq
.ds '' \(rq
.\" authorization. *
.\"***************************************************************************
.\"
-.\" $Id: curs_kernel.3x,v 1.54 2024/02/24 19:57:34 tom Exp $
-.TH curs_kernel 3X 2024-02-24 "ncurses 6.4" "Library calls"
+.\" $Id: curs_kernel.3x,v 1.56 2024/03/16 15:35:01 tom Exp $
+.TH curs_kernel 3X 2024-03-16 "ncurses @NCURSES_MAJOR@.@NCURSES_MINOR@" "Library calls"
.ie \n(.g \{\
.ds `` \(lq
.ds '' \(rq
.\"***************************************************************************
-.\" Copyright 2019-2022,2023 Thomas E. Dickey *
+.\" Copyright 2019-2023,2024 Thomas E. Dickey *
.\" Copyright 2007-2015,2017 Free Software Foundation, Inc. *
.\" *
.\" Permission is hereby granted, free of charge, to any person obtaining a *
.\" authorization. *
.\"***************************************************************************
.\"
-.\" $Id: curs_legacy.3x,v 1.30 2023/12/23 16:40:10 tom Exp $
-.TH curs_legacy 3X 2023-12-23 "ncurses 6.4" "Library calls"
+.\" $Id: curs_legacy.3x,v 1.32 2024/03/16 15:35:01 tom Exp $
+.TH curs_legacy 3X 2024-03-16 "ncurses @NCURSES_MAJOR@.@NCURSES_MINOR@" "Library calls"
.ie \n(.g \{\
.ds `` \(lq
.ds '' \(rq
.\"***************************************************************************
-.\" Copyright 2019-2022,2023 Thomas E. Dickey *
+.\" Copyright 2019-2023,2024 Thomas E. Dickey *
.\" Copyright 2008-2010,2017 Free Software Foundation, Inc. *
.\" *
.\" Permission is hereby granted, free of charge, to any person obtaining a *
.\" authorization. *
.\"***************************************************************************
.\"
-.\" $Id: curs_memleaks.3x,v 1.33 2023/12/23 16:22:08 tom Exp $
-.TH curs_memleaks 3X 2023-12-23 "ncurses 6.4" "Library calls"
+.\" $Id: curs_memleaks.3x,v 1.35 2024/03/16 15:35:01 tom Exp $
+.TH curs_memleaks 3X 2024-03-16 "ncurses @NCURSES_MAJOR@.@NCURSES_MINOR@" "Library calls"
.ie \n(.g \{\
.ds `` \(lq
.ds '' \(rq
.\" authorization. *
.\"***************************************************************************
.\"
-.\" $Id: curs_mouse.3x,v 1.92 2024/02/24 19:54:30 tom Exp $
-.TH curs_mouse 3X 2024-02-24 "ncurses 6.4" "Library calls"
+.\" $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"
.ie \n(.g \{\
.ds `` \(lq
.ds '' \(rq
(in thousands of a second)
that can elapse between press and release events for them to
be resolved as a
-.I click.
+.IR click .
An application might interpret button press and release events separated
by more than the mouse interval as a \*(``long press\*('',
or,
Additional fields may be added to the structure in the future.
.PP
Under
-.I \%ncurses,
+.IR \%ncurses ,
these calls are implemented using either
.IR \%xterm 's
built-in mouse-tracking API or
They are distinct.
For example,
in
-.I \%xterm,
+.IR \%xterm ,
wheel/scrolling mice send position reports as a sequence of
presses of buttons 4 or 5 without matching button-releases.
.SH EXTENSIONS
.IP
Those features required a terminal program that had been modified
to work with SVr4
-.I curses.
+.IR curses .
They were not part of the X Consortium's
-.I \%xterm.
+.IR \%xterm .
.PP
When developing the
.I \%xterm
Later, in 1998, Mark Hesseling provided support in
.I \%PDCurses
2.3 using the SVr4 interface.
-.I \%PDCurses,
+.IR \%PDCurses ,
however,
does not use video terminals,
making it unnecessary to be concerned about compatibility with the
.\"***************************************************************************
-.\" Copyright 2018-2022,2023 Thomas E. Dickey *
+.\" Copyright 2018-2023,2024 Thomas E. Dickey *
.\" Copyright 1998-2010,2017 Free Software Foundation, Inc. *
.\" *
.\" Permission is hereby granted, free of charge, to any person obtaining a *
.\" authorization. *
.\"***************************************************************************
.\"
-.\" $Id: curs_move.3x,v 1.33 2023/12/16 21:33:08 tom Exp $
-.TH curs_move 3X 2023-12-16 "ncurses 6.4" "Library calls"
+.\" $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
.\"***************************************************************************
-.\" Copyright 2020-2022,2023 Thomas E. Dickey *
+.\" Copyright 2020-2023,2024 Thomas E. Dickey *
.\" Copyright 2007-2014,2015 Free Software Foundation, Inc. *
.\" *
.\" Permission is hereby granted, free of charge, to any person obtaining a *
.\" authorization. *
.\"***************************************************************************
.\"
-.\" $Id: curs_opaque.3x,v 1.41 2023/12/16 20:32:22 tom Exp $
-.TH curs_opaque 3X 2023-12-16 "ncurses 6.4" "Library calls"
+.\" $Id: curs_opaque.3x,v 1.43 2024/03/16 15:35:01 tom Exp $
+.TH curs_opaque 3X 2024-03-16 "ncurses @NCURSES_MAJOR@.@NCURSES_MINOR@" "Library calls"
.ie \n(.g \{\
.ds `` \(lq
.ds '' \(rq
.\" authorization. *
.\"***************************************************************************
.\"
-.\" $Id: curs_outopts.3x,v 1.56 2024/01/05 21:46:58 tom Exp $
-.TH curs_outopts 3X 2024-01-05 "ncurses 6.4" "Library calls"
+.\" $Id: curs_outopts.3x,v 1.58 2024/03/16 15:49:18 tom Exp $
+.TH curs_outopts 3X 2024-03-16 "ncurses @NCURSES_MAJOR@.@NCURSES_MINOR@" "Library calls"
.de bP
.ie n .IP \(bu 4
.el .IP \(bu 2
All other routines that return an integer always
return \fBOK\fP.
.PP
-X/Open Curses does not define any error conditions.
+X/Open Curses does not specify any error conditions.
.PP
In this implementation,
.bP
\fBwsetscrreg\fP
returns an error if the scrolling region limits extend outside the window.
.PP
-X/Open does not define any error conditions.
+X/Open Curses does not specify any error conditions.
This implementation returns an error
if the window pointer is null.
.SH NOTES
.\" authorization. *
.\"***************************************************************************
.\"
-.\" $Id: curs_overlay.3x,v 1.39 2024/01/05 21:46:58 tom Exp $
-.TH curs_overlay 3X 2024-01-05 "ncurses 6.4" "Library calls"
+.\" $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"
.ie \n(.g \{\
.ds `` \(lq
.ds '' \(rq
.\" authorization. *
.\"***************************************************************************
.\"
-.\" $Id: curs_pad.3x,v 1.53 2024/01/05 21:46:58 tom Exp $
-.TH curs_pad 3X 2024-01-05 "ncurses 6.4" "Library calls"
+.\" $Id: curs_pad.3x,v 1.55 2024/03/16 15:49:29 tom Exp $
+.TH curs_pad 3X 2024-03-16 "ncurses @NCURSES_MAJOR@.@NCURSES_MINOR@" "Library calls"
.ie \n(.g \{\
.ds `` \(lq
.ds '' \(rq
Functions that return pointers return \fBNULL\fP on error,
and set \fB\%errno\fP to \fB\%ENOMEM\fP.
.PP
-X/Open Curses does not define any error conditions.
+X/Open Curses does not specify any error conditions.
In this implementation
.RS 3
.TP 5
.\"***************************************************************************
-.\" Copyright 2018-2022,2023 Thomas E. Dickey *
+.\" Copyright 2018-2023,2024 Thomas E. Dickey *
.\" Copyright 1998-2010,2017 Free Software Foundation, Inc. *
.\" *
.\" Permission is hereby granted, free of charge, to any person obtaining a *
.\" authorization. *
.\"***************************************************************************
.\"
-.\" $Id: curs_print.3x,v 1.36 2023/12/23 16:36:18 tom Exp $
-.TH curs_print 3X 2023-12-23 "ncurses 6.4" "Library calls"
+.\" $Id: curs_print.3x,v 1.38 2024/03/16 15:35:01 tom Exp $
+.TH curs_print 3X 2024-03-16 "ncurses @NCURSES_MAJOR@.@NCURSES_MINOR@" "Library calls"
.SH NAME
\fB\%mcprint\fP \-
write binary data to printer using \fIterminfo\fR capabilities
.\"***************************************************************************
-.\" Copyright 2018-2022,2023 Thomas E. Dickey *
+.\" Copyright 2018-2023,2024 Thomas E. Dickey *
.\" Copyright 1998-2010,2017 Free Software Foundation, Inc. *
.\" *
.\" Permission is hereby granted, free of charge, to any person obtaining a *
.\" authorization. *
.\"***************************************************************************
.\"
-.\" $Id: curs_printw.3x,v 1.47 2023/12/23 14:41:07 tom Exp $
-.TH curs_printw 3X 2023-12-23 "ncurses 6.4" "Library calls"
+.\" $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"
.ie \n(.g \{\
.ds `` \(lq
.ds '' \(rq
upon success.
.PP
In
-.I \%ncurses,
+.IR \%ncurses ,
failure occurs if the library cannot allocate enough memory for the
buffer into which the output is formatted,
or if the window pointer
and after the C standard was published),
other developers updated the library,
using \fI\%stdarg.h\fP internally in 4.4BSD
-.I curses.
+.IR curses .
Even with this improvement,
BSD
.I curses
.\" authorization. *
.\"***************************************************************************
.\"
-.\" $Id: curs_refresh.3x,v 1.42 2024/01/05 21:46:58 tom Exp $
-.TH curs_refresh 3X 2024-01-05 "ncurses 6.4" "Library calls"
+.\" $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"
.ie \n(.g \{\
.ds `` \(lq
.ds '' \(rq
\*(``an integer value other than \fBERR\fP\*('')
upon successful completion.
.PP
-X/Open does not define any error conditions.
+X/Open Curses does not specify any error conditions.
In this implementation
.RS 3
.TP 5
.\"***************************************************************************
-.\" Copyright 2018-2022,2023 Thomas E. Dickey *
+.\" Copyright 2018-2023,2024 Thomas E. Dickey *
.\" Copyright 1998-2010,2017 Free Software Foundation, Inc. *
.\" *
.\" Permission is hereby granted, free of charge, to any person obtaining a *
.\" authorization. *
.\"***************************************************************************
.\"
-.\" $Id: curs_scanw.3x,v 1.47 2023/12/23 14:41:50 tom Exp $
-.TH curs_scanw 3X 2023-12-23 "ncurses 6.4" "Library calls"
+.\" $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"
.ie \n(.g \{\
.ds `` \(lq
.ds '' \(rq
this quantity may be zero.
.PP
In
-.I \%ncurses,
+.IR \%ncurses ,
failure occurs if \fI\%vsscanf\fP(3) returns
\fBEOF\fP,
or if the window pointer
rather than an intentional change.
.bP
This implementation retains compatibility with SVr4
-.I curses.
+.IR curses .
As of 2018,
NetBSD
.I curses
and after the C standard was published),
other developers updated the library,
using \fI\%stdarg.h\fP internally in 4.4BSD
-.I curses.
+.IR curses .
Even with this improvement,
BSD
.I curses
.\"***************************************************************************
-.\" Copyright 2018-2022,2023 Thomas E. Dickey *
+.\" Copyright 2018-2023,2024 Thomas E. Dickey *
.\" Copyright 1998-2010,2017 Free Software Foundation, Inc. *
.\" *
.\" Permission is hereby granted, free of charge, to any person obtaining a *
.\" authorization. *
.\"***************************************************************************
.\"
-.\" $Id: curs_scr_dump.3x,v 1.37 2023/12/30 21:34:11 tom Exp $
-.TH curs_scr_dump 3X 2023-12-30 "ncurses 6.4" "Library calls"
+.\" $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"
.ie \n(.g \{\
.ds `` \(lq
.ds '' \(rq
call \fB\%doupdate\fP(3X) or similar.
.SS scr_init
\fB\%scr_init\fP reads
-.I filename,
+.IR filename ,
using it to initialize
.I curses
data structures describing the state of the terminal screen.
X/Open defines no failure conditions.
In this implementation,
each function fails if it cannot open
-.I filename.
+.IR filename .
.SH NOTES
\fB\%scr_init\fP,
\fB\%scr_set\fP,
.\"***************************************************************************
-.\" Copyright 2018-2022,2023 Thomas E. Dickey *
+.\" Copyright 2018-2023,2024 Thomas E. Dickey *
.\" Copyright 1998-2006,2010 Free Software Foundation, Inc. *
.\" *
.\" Permission is hereby granted, free of charge, to any person obtaining a *
.\" authorization. *
.\"***************************************************************************
.\"
-.\" $Id: curs_scroll.3x,v 1.36 2023/12/16 22:52:35 tom Exp $
-.TH curs_scroll 3X 2023-12-16 "ncurses 6.4" "Library calls"
+.\" $Id: curs_scroll.3x,v 1.40 2024/03/23 20:41:15 tom Exp $
+.TH curs_scroll 3X 2024-03-23 "ncurses @NCURSES_MAJOR@.@NCURSES_MINOR@" "Library calls"
.ie \n(.g \{\
.ds `` \(lq
.ds '' \(rq
\fB\%scrl\fP and \fB\%wscrl\fP scroll
.B \%stdscr
or the specified window up or down depending on the sign of
-.I n.
+.IR n .
.bP
For positive
-.I n,
+.IR n ,
line \fIi\fP+\fIn\fP becomes \fIi\fP (scrolling up);
.bP
for negative
-.I n,
+.IR n ,
line \fIi\fP-\fIn\fP becomes \fIi\fP (scrolling down).
.PP
The cursor does not move.
.\"***************************************************************************
-.\" 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 *
.\" authorization. *
.\"***************************************************************************
.\"
-.\" $Id: curs_slk.3x,v 1.67 2023/12/16 21:18:45 tom Exp $
-.TH curs_slk 3X 2023-12-16 "ncurses 6.4" "Library calls"
+.\" $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"
.ie \n(.g \{\
.ds `` \(lq
.ds '' \(rq
.\"***************************************************************************
-.\" Copyright 2018-2022,2023 Thomas E. Dickey *
+.\" Copyright 2018-2023,2024 Thomas E. Dickey *
.\" Copyright 2010-2015,2017 Free Software Foundation, Inc. *
.\" *
.\" Permission is hereby granted, free of charge, to any person obtaining a *
.\" authorization. *
.\"***************************************************************************
.\"
-.\" $Id: curs_sp_funcs.3x,v 1.46 2023/12/23 16:26:05 tom Exp $
-.TH curs_sp_funcs 3X 2023-12-23 "ncurses 6.4" "Library calls"
+.\" $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"
.ie \n(.g \{\
.ds `` \(lq
.ds '' \(rq
.\" authorization. *
.\"***************************************************************************
.\"
-.\" $Id: curs_termattrs.3x,v 1.34 2024/01/05 21:46:58 tom Exp $
-.TH curs_termattrs 3X 2024-01-05 "ncurses 6.4" "Library calls"
+.\" $Id: curs_termattrs.3x,v 1.36 2024/03/16 15:35:01 tom Exp $
+.TH curs_termattrs 3X 2024-03-16 "ncurses @NCURSES_MAJOR@.@NCURSES_MINOR@" "Library calls"
.SH NAME
\fB\%baudrate\fP,
\fB\%erasechar\fP,
.\"***************************************************************************
-.\" Copyright 2018-2022,2023 Thomas E. Dickey *
+.\" Copyright 2018-2023,2024 Thomas E. Dickey *
.\" Copyright 1998-2017,2018 Free Software Foundation, Inc. *
.\" *
.\" Permission is hereby granted, free of charge, to any person obtaining a *
.\" authorization. *
.\"***************************************************************************
.\"
-.\" $Id: curs_termcap.3x,v 1.81 2023/12/30 21:27:22 tom Exp $
-.TH curs_termcap 3X 2023-12-30 "ncurses 6.4" "Library calls"
+.\" $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"
.ie \n(.g \{\
.ds `` \(lq
.ds '' \(rq
.\" authorization. *
.\"***************************************************************************
.\"
-.\" $Id: curs_terminfo.3x,v 1.130 2024/02/24 20:04:09 tom Exp $
-.TH curs_terminfo 3X 2024-02-24 "ncurses 6.4" "Library calls"
+.\" $Id: curs_terminfo.3x,v 1.134 2024/03/23 20:41:15 tom Exp $
+.TH curs_terminfo 3X 2024-03-23 "ncurses @NCURSES_MAJOR@.@NCURSES_MINOR@" "Library calls"
.ie \n(.g \{\
.ds `` \(lq
.ds '' \(rq
.I \%term\%info
structures,
but does not set up the output virtualization structures used by
-.I curses.
+.IR curses .
Its parameters follow.
.RS 3
.TP 5
passing an output
.I stream
rather than a
-.I descriptor.
+.IR descriptor .
In
-.I curses,
+.IR curses ,
the two are the same because \fB\%newterm\fP calls \fB\%setupterm\fP,
passing the file descriptor derived from its output stream parameter.
.TP 5
or
.B ERR
and stores a status value in the integer pointed to by
-.I errret.
+.IR errret .
A return value of
.B OK
combined with status of
capabilities.
.PP
\fB\%set_curterm\fP sets \fB\%cur_term\fP to
-.I \%nterm,
+.IR \%nterm ,
and makes all of the
.I \%term\%info
Boolean,
numeric,
and string variables use the values from
-.I \%nterm.
+.IR \%nterm .
It returns the old value of \fB\%cur_term\fP.
.PP
\fB\%del_curterm\fP frees the space pointed to by
\fB\%tparm\fP instantiates the string
.I str
with parameters
-.I pi.
+.IR pi .
A pointer is returned to the result of
.I str
with the parameters applied.
.PP
\fB\%vidputs\fP displays the string on the terminal in the video
attribute mode
-.I attrs,
+.IR attrs ,
which is any combination of the attributes listed in \fB\%curses\fP(3X).
The characters are passed to the
.IR \%putchar -like
function
-.I putc.
+.IR putc .
.PP
\fB\%vidattr\fP is like \fB\%vidputs\fP,
except that it outputs through \fI\%putchar\fP(3).
color;
namely,
.bP
-.I \%attrs,
+.IR \%attrs ,
of type
-.I \%attr_t,
+.IR \%attr_t ,
for the attributes and
.bP
-.I pair,
+.IR pair ,
of type
-.I short,
+.IR short ,
for the color pair number.
.PP
Use the attribute constants prefixed with
and \fB\%tigetstr\fP return the value of the capability corresponding to
the
.I \%term\%info
-.I cap-code,
+.IR cap-code ,
such as
.BR xenl ,
passed to them.
.SH RETURN VALUE
X/Open Curses defines no failure conditions.
In
-.I \%ncurses,
+.IR \%ncurses ,
.TP 5
.B del_curtem
fails if its terminal parameter is null.
.\" ********************************************************************
.SH EXTENSIONS
The functions marked as extensions were designed for
-.I \%ncurses,
+.IR \%ncurses ,
and are not found in SVr4
.IR curses ,
4.4BSD
allows
.I opts
to be a pointer to
-.I int,
+.IR int ,
which overrides the
.I pair
.RI ( short )
.PP
Other implementions may not declare the capability name arrays.
Some provide them without declaring them.
-X/Open does not specify them.
+X/Open Curses does not specify them.
.PP
Extended terminal capability names,
as defined by
.PP
The current version (ncurses6)
uses output buffers managed directly by
-.I \%ncurses.
+.IR \%ncurses .
Some of the low-level functions described in this manual page write
to the standard output.
They are not signal-safe.
less effectively than a later design might,
in some cases applying it needlessly to values are already constant,
and in most cases overlooking parameters which normally would use
-.I \%const.
+.IR \%const .
Using constant parameters for functions which do not use
.I \%const
may prevent the program from compiling.
.SS "Other Portability Issues"
In SVr4,
\fB\%set_curterm\fP returns an
-.I int,
+.IR int ,
.B OK
or
.BR ERR .
.\" authorization. *
.\"***************************************************************************
.\"
-.\" $Id: curs_threads.3x,v 1.54 2024/01/13 22:05:39 tom Exp $
-.TH curs_threads 3X 2024-01-13 "ncurses 6.4" "Library calls"
+.\" $Id: curs_threads.3x,v 1.56 2024/03/16 15:35:01 tom Exp $
+.TH curs_threads 3X 2024-03-16 "ncurses @NCURSES_MAJOR@.@NCURSES_MINOR@" "Library calls"
.ie \n(.g \{\
.ds `` \(lq
.ds '' \(rq
.\"***************************************************************************
-.\" Copyright 2018-2022,2023 Thomas E. Dickey *
+.\" Copyright 2018-2023,2024 Thomas E. Dickey *
.\" Copyright 1998-2015,2017 Free Software Foundation, Inc. *
.\" *
.\" Permission is hereby granted, free of charge, to any person obtaining a *
.\" authorization. *
.\"***************************************************************************
.\"
-.\" $Id: curs_touch.3x,v 1.42 2023/11/25 14:08:05 tom Exp $
-.TH curs_touch 3X 2023-11-25 "ncurses 6.4" "Library calls"
+.\" $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"
.SH NAME
\fB\%touchwin\fP,
\fB\%touchline\fP,
other than \fBERR\fP upon successful completion, unless otherwise noted in the
preceding routine descriptions.
.PP
-X/Open does not define any error conditions.
+X/Open Curses does not specify any error conditions.
In this implementation
.RS 3
.TP 5
.\" authorization. *
.\"***************************************************************************
.\"
-.\" $Id: curs_trace.3x,v 1.45 2024/03/02 16:34:00 tom Exp $
-.TH curs_trace 3X 2024-03-02 "ncurses 6.4" "Library calls"
+.\" $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"
.ie \n(.g \{\
.ds `` \(lq
.ds '' \(rq
.\" authorization. *
.\"***************************************************************************
.\"
-.\" $Id: curs_util.3x,v 1.96 2024/02/24 19:22:01 tom Exp $
-.TH curs_util 3X 2024-02-24 "ncurses 6.4" "Library calls"
+.\" $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"
.ie \n(.g \{\
.ds `` \(lq
.ds '' \(rq
.PP
Routines that return pointers return \fBNULL\fP on error.
.PP
-X/Open does not define any error conditions.
+X/Open Curses does not specify any error conditions.
In this implementation
.RS 3
.TP 5
.\" authorization. *
.\"***************************************************************************
.\"
-.\" $Id: curs_variables.3x,v 1.43 2024/01/05 21:46:58 tom Exp $
-.TH curs_variables 3X 2024-01-05 "ncurses 6.4" "Library calls"
+.\" $Id: curs_variables.3x,v 1.45 2024/03/16 15:35:01 tom Exp $
+.TH curs_variables 3X 2024-03-16 "ncurses @NCURSES_MAJOR@.@NCURSES_MINOR@" "Library calls"
.ie \n(.g \{\
.ds `` \(lq
.ds '' \(rq
.\"***************************************************************************
-.\" Copyright 2020-2022,2023 Thomas E. Dickey *
+.\" Copyright 2020-2023,2024 Thomas E. Dickey *
.\" Copyright 1998-2015,2016 Free Software Foundation, Inc. *
.\" *
.\" Permission is hereby granted, free of charge, to any person obtaining a *
.\" authorization. *
.\"***************************************************************************
.\"
-.\" $Id: curs_window.3x,v 1.44 2023/12/16 20:32:22 tom Exp $
-.TH curs_window 3X 2023-12-16 "ncurses 6.4" "Library calls"
+.\" $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"
.de bP
.ie n .IP \(bu 4
.el .IP \(bu 2
.\"***************************************************************************
-.\" Copyright 2018-2022,2023 Thomas E. Dickey *
+.\" Copyright 2018-2023,2024 Thomas E. Dickey *
.\" Copyright 2000-2011,2016 Free Software Foundation, Inc. *
.\" *
.\" Permission is hereby granted, free of charge, to any person obtaining a *
.\"
.\" Author: Thomas E. Dickey 1997,1999,2000,2005
.\"
-.\" $Id: default_colors.3x,v 1.48 2023/12/16 20:32:22 tom Exp $
-.TH default_colors 3X 2023-12-16 "ncurses 6.4" "Library calls"
+.\" $Id: default_colors.3x,v 1.50 2024/03/16 15:35:01 tom Exp $
+.TH default_colors 3X 2024-03-16 "ncurses @NCURSES_MAJOR@.@NCURSES_MINOR@" "Library calls"
.ie \n(.g \{\
.ds `` \(lq
.ds '' \(rq
.\"***************************************************************************
-.\" Copyright 2018-2022,2023 Thomas E. Dickey *
+.\" Copyright 2018-2023,2024 Thomas E. Dickey *
.\" Copyright 1998-2010,2017 Free Software Foundation, Inc. *
.\" *
.\" Permission is hereby granted, free of charge, to any person obtaining a *
.\"
.\" Author: Thomas E. Dickey 1997
.\"
-.\" $Id: define_key.3x,v 1.40 2023/12/16 20:32:22 tom Exp $
-.TH define_key 3X 2023-12-16 "ncurses 6.4" "Library calls"
+.\" $Id: define_key.3x,v 1.42 2024/03/16 15:35:01 tom Exp $
+.TH define_key 3X 2024-03-16 "ncurses @NCURSES_MAJOR@.@NCURSES_MINOR@" "Library calls"
.SH NAME
\fB\%define_key\fP \-
define a \fIcurses\fR keycode
'\" t
.\"***************************************************************************
-.\" Copyright 2018-2021,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 *
.\" authorization. *
.\"***************************************************************************
.\"
-.\" $Id: form.3x,v 1.52 2023/12/23 16:08:25 tom Exp $
-.TH form 3X 2023-12-23 "ncurses 6.4" "Library calls"
+.\" $Id: form.3x,v 1.54 2024/03/16 15:35:01 tom Exp $
+.TH form 3X 2024-03-16 "ncurses @NCURSES_MAJOR@.@NCURSES_MINOR@" "Library calls"
.ie \n(.g \{\
.ds `` \(lq
.ds '' \(rq
'\" t
.\"***************************************************************************
-.\" Copyright 2018-2022,2023 Thomas E. Dickey *
+.\" Copyright 2018-2023,2024 Thomas E. Dickey *
.\" Copyright 1998-2010,2015 Free Software Foundation, Inc. *
.\" *
.\" Permission is hereby granted, free of charge, to any person obtaining a *
.\" authorization. *
.\"***************************************************************************
.\"
-.\" $Id: form_cursor.3x,v 1.29 2023/11/25 13:58:47 tom Exp $
-.TH form_cursor 3X 2023-11-25 "ncurses 6.4" "Library calls"
+.\" $Id: form_cursor.3x,v 1.31 2024/03/16 15:35:01 tom Exp $
+.TH form_cursor 3X 2024-03-16 "ncurses @NCURSES_MAJOR@.@NCURSES_MINOR@" "Library calls"
.SH NAME
\fBpos_form_cursor\fP \-
position a form window cursor
'\" t
.\"***************************************************************************
-.\" Copyright 2018-2022,2023 Thomas E. Dickey *
+.\" Copyright 2018-2023,2024 Thomas E. Dickey *
.\" Copyright 1998-2010,2015 Free Software Foundation, Inc. *
.\" *
.\" Permission is hereby granted, free of charge, to any person obtaining a *
.\" authorization. *
.\"***************************************************************************
.\"
-.\" $Id: form_data.3x,v 1.30 2023/11/25 13:58:47 tom Exp $
-.TH form_data 3X 2023-11-25 "ncurses 6.4" "Library calls"
+.\" $Id: form_data.3x,v 1.32 2024/03/16 15:35:01 tom Exp $
+.TH form_data 3X 2024-03-16 "ncurses @NCURSES_MAJOR@.@NCURSES_MINOR@" "Library calls"
.SH NAME
\fBdata_ahead\fP,
\fBdata_behind\fP \-
.\" authorization. *
.\"***************************************************************************
.\"
-.\" $Id: form_driver.3x,v 1.57 2024/01/13 22:05:39 tom Exp $
-.TH form_driver 3X 2024-01-13 "ncurses 6.4" "Library calls"
+.\" $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"
.de bP
.ie n .IP \(bu 4
.el .IP \(bu 2
'\" t
.\"***************************************************************************
-.\" Copyright 2018-2022,2023 Thomas E. Dickey *
+.\" Copyright 2018-2023,2024 Thomas E. Dickey *
.\" Copyright 1998-2010,2012 Free Software Foundation, Inc. *
.\" *
.\" Permission is hereby granted, free of charge, to any person obtaining a *
.\" authorization. *
.\"***************************************************************************
.\"
-.\" $Id: form_field.3x,v 1.32 2023/11/25 13:58:47 tom Exp $
-.TH form_field 3X 2023-11-25 "ncurses 6.4" "Library calls"
+.\" $Id: form_field.3x,v 1.34 2024/03/16 15:35:01 tom Exp $
+.TH form_field 3X 2024-03-16 "ncurses @NCURSES_MAJOR@.@NCURSES_MINOR@" "Library calls"
.SH NAME
\fBform_field\fP \-
make and break connections between fields and forms
'\" t
.\"***************************************************************************
-.\" Copyright 2018-2022,2023 Thomas E. Dickey *
+.\" Copyright 2018-2023,2024 Thomas E. Dickey *
.\" Copyright 1998-2006,2010 Free Software Foundation, Inc. *
.\" *
.\" Permission is hereby granted, free of charge, to any person obtaining a *
.\" authorization. *
.\"***************************************************************************
.\"
-.\" $Id: form_field_attributes.3x,v 1.33 2023/11/25 13:58:47 tom Exp $
-.TH form_field_attributes 3X 2023-11-25 "ncurses 6.4" "Library calls"
+.\" $Id: form_field_attributes.3x,v 1.35 2024/03/16 15:35:01 tom Exp $
+.TH form_field_attributes 3X 2024-03-16 "ncurses @NCURSES_MAJOR@.@NCURSES_MINOR@" "Library calls"
.ie \n(.g \{\
.ds `` \(lq
.ds '' \(rq
.\"***************************************************************************
-.\" Copyright 2018-2022,2023 Thomas E. Dickey *
+.\" Copyright 2018-2023,2024 Thomas E. Dickey *
.\" Copyright 1998-2010,2017 Free Software Foundation, Inc. *
.\" *
.\" Permission is hereby granted, free of charge, to any person obtaining a *
.\" authorization. *
.\"***************************************************************************
.\"
-.\" $Id: form_field_buffer.3x,v 1.43 2023/12/16 20:32:22 tom Exp $
-.TH form_field_buffer 3X 2023-12-16 "ncurses 6.4" "Library calls"
+.\" $Id: form_field_buffer.3x,v 1.45 2024/03/16 15:35:01 tom Exp $
+.TH form_field_buffer 3X 2024-03-16 "ncurses @NCURSES_MAJOR@.@NCURSES_MINOR@" "Library calls"
.ie \n(.g \{\
.ds `` \(lq
.ds '' \(rq
.\"***************************************************************************
-.\" Copyright 2018-2022,2023 Thomas E. Dickey *
+.\" Copyright 2018-2023,2024 Thomas E. Dickey *
.\" Copyright 1998-2010,2015 Free Software Foundation, Inc. *
.\" *
.\" Permission is hereby granted, free of charge, to any person obtaining a *
.\" authorization. *
.\"***************************************************************************
.\"
-.\" $Id: form_field_info.3x,v 1.30 2023/11/25 13:58:47 tom Exp $
-.TH form_field_info 3X 2023-11-25 "ncurses 6.4" "Library calls"
+.\" $Id: form_field_info.3x,v 1.32 2024/03/16 15:35:01 tom Exp $
+.TH form_field_info 3X 2024-03-16 "ncurses @NCURSES_MAJOR@.@NCURSES_MINOR@" "Library calls"
.ie \n(.g \{\
.ds `` \(lq
.ds '' \(rq
.\"***************************************************************************
-.\" Copyright 2018-2022,2023 Thomas E. Dickey *
+.\" Copyright 2018-2023,2024 Thomas E. Dickey *
.\" Copyright 1998-2010,2015 Free Software Foundation, Inc. *
.\" *
.\" Permission is hereby granted, free of charge, to any person obtaining a *
.\" authorization. *
.\"***************************************************************************
.\"
-.\" $Id: form_field_just.3x,v 1.33 2023/11/25 13:58:47 tom Exp $
-.TH form_field_just 3X 2023-11-25 "ncurses 6.4" "Library calls"
+.\" $Id: form_field_just.3x,v 1.35 2024/03/16 15:35:01 tom Exp $
+.TH form_field_just 3X 2024-03-16 "ncurses @NCURSES_MAJOR@.@NCURSES_MINOR@" "Library calls"
.ie \n(.g \{\
.ds `` \(lq
.ds '' \(rq
.\"***************************************************************************
-.\" Copyright 2018-2022,2023 Thomas E. Dickey *
+.\" Copyright 2018-2023,2024 Thomas E. Dickey *
.\" Copyright 1998-2010,2015 Free Software Foundation, Inc. *
.\" *
.\" Permission is hereby granted, free of charge, to any person obtaining a *
.\" authorization. *
.\"***************************************************************************
.\"
-.\" $Id: form_field_new.3x,v 1.39 2023/11/25 13:58:47 tom Exp $
-.TH form_field_new 3X 2023-11-25 "ncurses 6.4" "Library calls"
+.\" $Id: form_field_new.3x,v 1.41 2024/03/16 15:35:01 tom Exp $
+.TH form_field_new 3X 2024-03-16 "ncurses @NCURSES_MAJOR@.@NCURSES_MINOR@" "Library calls"
.SH NAME
\fBnew_field\fP,
\fBdup_field\fP,
.\"***************************************************************************
-.\" Copyright 2018-2022,2023 Thomas E. Dickey *
+.\" Copyright 2018-2023,2024 Thomas E. Dickey *
.\" Copyright 1998-2014,2015 Free Software Foundation, Inc. *
.\" *
.\" Permission is hereby granted, free of charge, to any person obtaining a *
.\" authorization. *
.\"***************************************************************************
.\"
-.\" $Id: form_field_opts.3x,v 1.42 2023/11/25 13:58:47 tom Exp $
-.TH form_field_opts 3X 2023-11-25 "ncurses 6.4" "Library calls"
+.\" $Id: form_field_opts.3x,v 1.44 2024/03/16 15:35:01 tom Exp $
+.TH form_field_opts 3X 2024-03-16 "ncurses @NCURSES_MAJOR@.@NCURSES_MINOR@" "Library calls"
.SH NAME
\fBset_field_opts\fP,
\fBfield_opts_on\fP,
.\"***************************************************************************
-.\" Copyright 2018-2022,2023 Thomas E. Dickey *
+.\" Copyright 2018-2023,2024 Thomas E. Dickey *
.\" Copyright 1998-2010,2015 Free Software Foundation, Inc. *
.\" *
.\" Permission is hereby granted, free of charge, to any person obtaining a *
.\" authorization. *
.\"***************************************************************************
.\"
-.\" $Id: form_field_userptr.3x,v 1.28 2023/11/25 13:58:47 tom Exp $
-.TH form_field_userptr 3X 2023-11-25 "ncurses 6.4" "Library calls"
+.\" $Id: form_field_userptr.3x,v 1.30 2024/03/16 15:35:01 tom Exp $
+.TH form_field_userptr 3X 2024-03-16 "ncurses @NCURSES_MAJOR@.@NCURSES_MINOR@" "Library calls"
.SH NAME
\fBset_field_userptr\fP,
\fBfield_userptr\fP \-
.\"***************************************************************************
-.\" Copyright 2018-2022,2023 Thomas E. Dickey *
+.\" Copyright 2018-2023,2024 Thomas E. Dickey *
.\" Copyright 1998-2010,2017 Free Software Foundation, Inc. *
.\" *
.\" Permission is hereby granted, free of charge, to any person obtaining a *
.\" authorization. *
.\"***************************************************************************
.\"
-.\" $Id: form_field_validation.3x,v 1.51 2023/12/16 20:32:22 tom Exp $
-.TH form_field_validation 3X 2023-12-16 "ncurses 6.4" "Library calls"
+.\" $Id: form_field_validation.3x,v 1.53 2024/03/16 15:35:01 tom Exp $
+.TH form_field_validation 3X 2024-03-16 "ncurses @NCURSES_MAJOR@.@NCURSES_MINOR@" "Library calls"
.ie \n(.g \{\
.ds `` \(lq
.ds '' \(rq
.\"***************************************************************************
-.\" Copyright 2018-2022,2023 Thomas E. Dickey *
+.\" Copyright 2018-2023,2024 Thomas E. Dickey *
.\" Copyright 1998-2006,2010 Free Software Foundation, Inc. *
.\" *
.\" Permission is hereby granted, free of charge, to any person obtaining a *
.\" authorization. *
.\"***************************************************************************
.\"
-.\" $Id: form_fieldtype.3x,v 1.44 2023/11/25 13:58:47 tom Exp $
-.TH form_fieldtype 3X 2023-11-25 "ncurses 6.4" "Library calls"
+.\" $Id: form_fieldtype.3x,v 1.46 2024/03/16 15:35:01 tom Exp $
+.TH form_fieldtype 3X 2024-03-16 "ncurses @NCURSES_MAJOR@.@NCURSES_MINOR@" "Library calls"
.de bP
.ie n .IP \(bu 4
.el .IP \(bu 2
.\" authorization. *
.\"***************************************************************************
.\"
-.\" $Id: form_hook.3x,v 1.35 2024/01/20 18:12:04 tom Exp $
-.TH form_hook 3X 2024-01-20 "ncurses 6.4" "Library calls"
+.\" $Id: form_hook.3x,v 1.37 2024/03/16 15:35:01 tom Exp $
+.TH form_hook 3X 2024-03-16 "ncurses @NCURSES_MAJOR@.@NCURSES_MINOR@" "Library calls"
.SH NAME
\fBform_hook\fP \-
set hooks for automatic invocation by applications
.\"***************************************************************************
-.\" Copyright 2018-2022,2023 Thomas E. Dickey *
+.\" Copyright 2018-2023,2024 Thomas E. Dickey *
.\" Copyright 1998-2010,2015 Free Software Foundation, Inc. *
.\" *
.\" Permission is hereby granted, free of charge, to any person obtaining a *
.\" authorization. *
.\"***************************************************************************
.\"
-.\" $Id: form_new.3x,v 1.30 2023/11/25 13:58:47 tom Exp $
-.TH form_new 3X 2023-11-25 "ncurses 6.4" "Library calls"
+.\" $Id: form_new.3x,v 1.32 2024/03/16 15:35:01 tom Exp $
+.TH form_new 3X 2024-03-16 "ncurses @NCURSES_MAJOR@.@NCURSES_MINOR@" "Library calls"
.SH NAME
\fBnew_form\fP,
\fBfree_form\fP \-
.\"***************************************************************************
-.\" Copyright 2018-2022,2023 Thomas E. Dickey *
+.\" Copyright 2018-2023,2024 Thomas E. Dickey *
.\" Copyright 1998-2010,2015 Free Software Foundation, Inc. *
.\" *
.\" Permission is hereby granted, free of charge, to any person obtaining a *
.\" authorization. *
.\"***************************************************************************
.\"
-.\" $Id: form_new_page.3x,v 1.32 2023/11/25 13:58:47 tom Exp $
-.TH form_new_page 3X 2023-11-25 "ncurses 6.4" "Library calls"
+.\" $Id: form_new_page.3x,v 1.34 2024/03/16 15:35:01 tom Exp $
+.TH form_new_page 3X 2024-03-16 "ncurses @NCURSES_MAJOR@.@NCURSES_MINOR@" "Library calls"
.ie \n(.g \{\
.ds `` \(lq
.ds '' \(rq
.\"***************************************************************************
-.\" Copyright 2018-2022,2023 Thomas E. Dickey *
+.\" Copyright 2018-2023,2024 Thomas E. Dickey *
.\" Copyright 1998-2010,2015 Free Software Foundation, Inc. *
.\" *
.\" Permission is hereby granted, free of charge, to any person obtaining a *
.\" authorization. *
.\"***************************************************************************
.\"
-.\" $Id: form_opts.3x,v 1.32 2023/11/25 13:58:47 tom Exp $
-.TH form_opts 3X 2023-11-25 "ncurses 6.4" "Library calls"
+.\" $Id: form_opts.3x,v 1.34 2024/03/16 15:35:01 tom Exp $
+.TH form_opts 3X 2024-03-16 "ncurses @NCURSES_MAJOR@.@NCURSES_MINOR@" "Library calls"
.SH NAME
\fBset_form_opts\fP,
\fBform_opts_on\fP,
.\"***************************************************************************
-.\" Copyright 2018-2022,2023 Thomas E. Dickey *
+.\" Copyright 2018-2023,2024 Thomas E. Dickey *
.\" Copyright 1998-2010,2016 Free Software Foundation, Inc. *
.\" *
.\" Permission is hereby granted, free of charge, to any person obtaining a *
.\" authorization. *
.\"***************************************************************************
.\"
-.\" $Id: form_page.3x,v 1.35 2023/12/16 20:32:22 tom Exp $
-.TH form_page 3X 2023-12-16 "ncurses 6.4" "Library calls"
+.\" $Id: form_page.3x,v 1.37 2024/03/16 15:35:01 tom Exp $
+.TH form_page 3X 2024-03-16 "ncurses @NCURSES_MAJOR@.@NCURSES_MINOR@" "Library calls"
.SH NAME
\fBform_page\fP \-
set and get form page number
.\"***************************************************************************
-.\" Copyright 2018-2022,2023 Thomas E. Dickey *
+.\" Copyright 2018-2023,2024 Thomas E. Dickey *
.\" Copyright 1998-2015,2017 Free Software Foundation, Inc. *
.\" *
.\" Permission is hereby granted, free of charge, to any person obtaining a *
.\" authorization. *
.\"***************************************************************************
.\"
-.\" $Id: form_post.3x,v 1.31 2023/11/25 13:58:47 tom Exp $
-.TH form_post 3X 2023-11-25 "ncurses 6.4" "Library calls"
+.\" $Id: form_post.3x,v 1.33 2024/03/16 15:35:01 tom Exp $
+.TH form_post 3X 2024-03-16 "ncurses @NCURSES_MAJOR@.@NCURSES_MINOR@" "Library calls"
.SH NAME
\fBpost_form\fP,
\fBunpost_form\fP \-
.\"***************************************************************************
-.\" Copyright 2018-2022,2023 Thomas E. Dickey *
+.\" Copyright 2018-2023,2024 Thomas E. Dickey *
.\" Copyright 1998-2010,2015 Free Software Foundation, Inc. *
.\" *
.\" Permission is hereby granted, free of charge, to any person obtaining a *
.\" authorization. *
.\"***************************************************************************
.\"
-.\" $Id: form_requestname.3x,v 1.33 2023/12/16 20:32:22 tom Exp $
-.TH form_requestname 3X 2023-12-16 "ncurses 6.4" "Library calls"
+.\" $Id: form_requestname.3x,v 1.35 2024/03/16 15:35:01 tom Exp $
+.TH form_requestname 3X 2024-03-16 "ncurses @NCURSES_MAJOR@.@NCURSES_MINOR@" "Library calls"
.SH NAME
\fBform_request_by_name\fP,
\fBform_request_name\fP \-
.\"***************************************************************************
-.\" Copyright 2018-2022,2023 Thomas E. Dickey *
+.\" Copyright 2018-2023,2024 Thomas E. Dickey *
.\" Copyright 1998-2010,2015 Free Software Foundation, Inc. *
.\" *
.\" Permission is hereby granted, free of charge, to any person obtaining a *
.\" authorization. *
.\"***************************************************************************
.\"
-.\" $Id: form_userptr.3x,v 1.34 2023/11/25 13:58:47 tom Exp $
-.TH form_userptr 3X 2023-11-25 "ncurses 6.4" "Library calls"
+.\" $Id: form_userptr.3x,v 1.36 2024/03/16 15:35:01 tom Exp $
+.TH form_userptr 3X 2024-03-16 "ncurses @NCURSES_MAJOR@.@NCURSES_MINOR@" "Library calls"
.SH NAME
\fBset_form_userptr\fP,
\fBform_userptr\fP \-
.\"***************************************************************************
-.\" Copyright 2020-2021,2023 Thomas E. Dickey *
+.\" Copyright 2020-2023,2024 Thomas E. Dickey *
.\" Copyright 2010-2013,2017 Free Software Foundation, Inc. *
.\" *
.\" Permission is hereby granted, free of charge, to any person obtaining a *
.\" authorization. *
.\"***************************************************************************
.\"
-.\" $Id: form_variables.3x,v 1.16 2023/10/07 21:19:07 tom Exp $
-.TH form_variables 3X 2023-10-07 "ncurses 6.4" "Library calls"
+.\" $Id: form_variables.3x,v 1.18 2024/03/16 15:35:01 tom Exp $
+.TH form_variables 3X 2024-03-16 "ncurses @NCURSES_MAJOR@.@NCURSES_MINOR@" "Library calls"
.SH NAME
\fB\%TYPE_ALNUM\fP,
\fB\%TYPE_ALPHA\fP,
.\"***************************************************************************
-.\" Copyright 2018-2022,2023 Thomas E. Dickey *
+.\" Copyright 2018-2023,2024 Thomas E. Dickey *
.\" Copyright 1998-2006,2010 Free Software Foundation, Inc. *
.\" *
.\" Permission is hereby granted, free of charge, to any person obtaining a *
.\" authorization. *
.\"***************************************************************************
.\"
-.\" $Id: form_win.3x,v 1.33 2023/11/25 13:58:47 tom Exp $
-.TH form_win 3X 2023-11-25 "ncurses 6.4" "Library calls"
+.\" $Id: form_win.3x,v 1.35 2024/03/16 15:35:01 tom Exp $
+.TH form_win 3X 2024-03-16 "ncurses @NCURSES_MAJOR@.@NCURSES_MINOR@" "Library calls"
.SH NAME
\fBform_win\fP \-
make and break form window and subwindow associations
.\" authorization. *
.\"***************************************************************************
.\"
-.\" $Id: infocmp.1m,v 1.107 2024/01/13 22:05:39 tom Exp $
-.TH @INFOCMP@ 1M 2024-01-13 "ncurses 6.4" "User commands"
+.\" $Id: infocmp.1m,v 1.109 2024/03/16 15:35:01 tom Exp $
+.TH @INFOCMP@ 1M 2024-03-16 "ncurses @NCURSES_MAJOR@.@NCURSES_MINOR@" "User commands"
.ie \n(.g \{\
.ds `` \(lq
.ds '' \(rq
.\"***************************************************************************
-.\" Copyright 2018-2022,2023 Thomas E. Dickey *
+.\" Copyright 2018-2023,2024 Thomas E. Dickey *
.\" Copyright 1999-2010,2016 Free Software Foundation, Inc. *
.\" *
.\" Permission is hereby granted, free of charge, to any person obtaining a *
.\" authorization. *
.\"***************************************************************************
.\"
-.\" $Id: infotocap.1m,v 1.39 2023/12/10 14:12:43 tom Exp $
-.TH @INFOTOCAP@ 1M 2023-12-10 "ncurses 6.4" "User commands"
+.\" $Id: infotocap.1m,v 1.41 2024/03/16 15:35:01 tom Exp $
+.TH @INFOTOCAP@ 1M 2024-03-16 "ncurses @NCURSES_MAJOR@.@NCURSES_MINOR@" "User commands"
.ie \n(.g \{\
.ds `` \(lq
.ds '' \(rq
.\"***************************************************************************
-.\" Copyright 2018-2022,2023 Thomas E. Dickey *
+.\" Copyright 2018-2023,2024 Thomas E. Dickey *
.\" Copyright 2003-2006,2010 Free Software Foundation, Inc. *
.\" *
.\" Permission is hereby granted, free of charge, to any person obtaining a *
.\"
.\" Author: Thomas E. Dickey 2003
.\"
-.\" $Id: key_defined.3x,v 1.32 2023/12/16 20:32:22 tom Exp $
-.TH key_defined 3X 2023-12-16 "ncurses 6.4" "Library calls"
+.\" $Id: key_defined.3x,v 1.34 2024/03/16 15:35:01 tom Exp $
+.TH key_defined 3X 2024-03-16 "ncurses @NCURSES_MAJOR@.@NCURSES_MINOR@" "Library calls"
.SH NAME
\fB\%key_defined\fP \-
test whether a \fIcurses\fR keycode is defined
.\"***************************************************************************
-.\" Copyright 2018-2022,2023 Thomas E. Dickey *
+.\" Copyright 2018-2023,2024 Thomas E. Dickey *
.\" Copyright 1999-2008,2010 Free Software Foundation, Inc. *
.\" *
.\" Permission is hereby granted, free of charge, to any person obtaining a *
.\"
.\" Author: Thomas E. Dickey 1999
.\"
-.\" $Id: keybound.3x,v 1.34 2023/12/16 20:32:22 tom Exp $
-.TH keybound 3X 2023-12-16 "ncurses 6.4" "Library calls"
+.\" $Id: keybound.3x,v 1.36 2024/03/16 15:35:01 tom Exp $
+.TH keybound 3X 2024-03-16 "ncurses @NCURSES_MAJOR@.@NCURSES_MINOR@" "Library calls"
.SH NAME
\fB\%keybound\fP \-
get definition of \fIcurses\fR keycode
.\"***************************************************************************
-.\" Copyright 2018-2022,2023 Thomas E. Dickey *
+.\" Copyright 2018-2023,2024 Thomas E. Dickey *
.\" Copyright 1998-2010,2017 Free Software Foundation, Inc. *
.\" *
.\" Permission is hereby granted, free of charge, to any person obtaining a *
.\"
.\" Author: Thomas E. Dickey 1997
.\"
-.\" $Id: keyok.3x,v 1.38 2023/12/16 20:32:22 tom Exp $
-.TH keyok 3X 2023-12-16 "ncurses 6.4" "Library calls"
+.\" $Id: keyok.3x,v 1.40 2024/03/16 15:35:01 tom Exp $
+.TH keyok 3X 2024-03-16 "ncurses @NCURSES_MAJOR@.@NCURSES_MINOR@" "Library calls"
.SH NAME
\fB\%keyok\fP \-
enable or disable a \fIcurses\fR keycode
.\"***************************************************************************
-.\" Copyright 2020-2022,2023 Thomas E. Dickey *
+.\" Copyright 2020-2023,2024 Thomas E. Dickey *
.\" Copyright 2005-2016,2017 Free Software Foundation, Inc. *
.\" *
.\" Permission is hereby granted, free of charge, to any person obtaining a *
.\"
.\" Author: Thomas E. Dickey
.\"
-.\" $Id: legacy_coding.3x,v 1.24 2023/12/16 20:32:22 tom Exp $
-.TH legacy_coding 3X 2023-12-16 "ncurses 6.4" "Library calls"
+.\" $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"
.SH NAME
\fB\%use_legacy_coding\fP \-
override \fIcurses\fR locale encoding checks
# use or other dealings in this Software without prior written #
# authorization. #
##############################################################################
-# $Id: man_db.renames.in,v 1.70 2024/03/02 14:23:26 tom Exp $
+# $Id: man_db.renames.in,v 1.72 2024/03/23 18:05:08 tom Exp $
# Manual-page renamings for the man_db program
#
# Files:
baudrate.3x baudrate.3ncurses
bkgd.3x bkgd.3ncurses
bkgrnd.3x bkgrnd.3ncurses
+cbreak.3x cbreak.3ncurses
clearok.3x clearok.3ncurses
+clrtoeol.3x clrtoeol.3ncurses
curs_set.3x curs_set.3ncurses
curscr.3x curscr.3ncurses
def_prog_mode.3x def_prog_mode.3ncurses
delscreen.3x delscreen.3ncurses
derwin.3x derwin.3ncurses
doupdate.3x doupdate.3ncurses
+echo.3x echo.3ncurses
endwin.3x endwin.3ncurses
extended_slk_color.3x extended_slk_color.3ncurses
filter.3x filter.3ncurses
getcchar.3x getcchar.3ncurses
getch.3x getch.3ncurses
getwin.3x getwin.3ncurses
+halfdelay.3x halfdelay.3ncurses
has_key.3x has_key.3ncurses
idcok.3x idcok.3ncurses
idlok.3x idlok.3ncurses
newpad.3x newpad.3ncurses
newterm.3x newterm.3ncurses
newwin.3x newwin.3ncurses
+nl.3x nl.3ncurses
+nocbreak.3x nocbreak.3ncurses
nodelay.3x nodelay.3ncurses
+nonl.3x nonl.3ncurses
notimeout.3x notimeout.3ncurses
pnoutrefresh.3x pnoutrefresh.3ncurses
prefresh.3x prefresh.3ncurses
putwin.3x putwin.3ncurses
+raw.3x raw.3ncurses
refresh.3x refresh.3ncurses
reset_shell_mode.3x reset_shell_mode.3ncurses
restartterm.3x restartterm.3ncurses
wattrset.3x wattrset.3ncurses
wbkgdset.3x wbkgdset.3ncurses
wbkgrndset.3x wbkgrndset.3ncurses
+wdelch.3x wdelch.3ncurses
+wecho_wchar.3x wecho_wchar.3ncurses
+wechochar.3x wechochar.3ncurses
wget_wch.3x wget_wch.3ncurses
wgetch.3x wgetch.3ncurses
wgetstr.3x wgetstr.3ncurses
+winch.3x winch.3ncurses
wins_wch.3x wins_wch.3ncurses
winsch.3x winsch.3ncurses
wmove.3x wmove.3ncurses
-# $Id: manhtml.aliases,v 1.33 2024/02/24 20:02:49 tom Exp $
+# $Id: manhtml.aliases,v 1.34 2024/03/23 21:10:33 tom Exp $
#***************************************************************************
# Copyright 2019-2023,2024 Thomas E. Dickey *
# Copyright 2013,2017 Free Software Foundation, Inc. *
baudrate(3X) curs_termattrs(3X)
bkgd(3X) curs_bkgd(3X)
bkgrnd(3X) curs_bkgrnd(3X)
+cbreak(3X) curs_inopts(3X)
clearok(3X) curs_outopts(3X)
+clrtoeol(3X) curs_clear(3X)
curs_set(3X) curs_kernel(3X)
curscr(3X) curs_variables(3X)
def_prog_mode(3X) curs_kernel(3X)
delay_output(3X) curs_util(3X)
delscreen(3X) curs_initscr(3X)
doupdate(3X) curs_refresh(3X)
+echo(3X) curs_inopts(3X)
endwin(3X) curs_initscr(3X)
extended_slk_color(3X) curs_slk(3X)
filter(3X) curs_util(3X)
getcchar(3X) curs_getcchar(3X)
getch(3X) curs_getch(3X)
getwin(3X) curs_util(3X)
+halfdelay(3X) curs_inopts(3X)
has_key(3X) curs_getch(3X)
immedok(3X) curs_outopts(3X)
in_wch(3X) curs_in_wch(3X)
mvwin(3X) curs_window(3X)
newterm(3X) curs_initscr(3X)
newwin(3X) curs_window(3X)
+nl(3X) curs_inopts(3X)
+nocbreak(3X) curs_inopts(3X)
+nonl(3X) curs_inopts(3X)
pnoutrefresh(3X) curs_pad(3X)
prefresh(3X) curs_pad(3X)
putwin(3X) curs_util(3X)
+raw(3X) curs_inopts(3X)
refresh(3X) curs_refresh(3X)
reset_shell_mode(3X) curs_kernel(3X)
restartterm(3X) curs_terminfo(3X)
wattrset(3X) curs_attr(3X)
wbkgdset(3X) curs_bkgd(3X)
wbkgrndset(3X) curs_bkgrnd(3X)
+wdelch(3X) curs_delch(3X)
+wecho_wchar(3X) curs_add_wch(3X)
+wechochar(3X) curs_addch(3X)
wget_wch(3X) curs_get_wch(3X)
wgetch(3X) curs_getch(3X)
wgetstr(3X) curs_getstr(3X)
+winch(3X) curs_inch(3X)
wins_wch(3X) curs_ins_wch(3X)
winsch(3X) curs_insch(3X)
wmove(3X) curs_move(3X)
-# $Id: manhtml.externs,v 1.21 2024/01/13 22:54:54 tom Exp $
+# $Id: manhtml.externs,v 1.22 2024/03/16 20:46:05 tom Exp $
# Items in this list will not be linked by man2html
#***************************************************************************
# Copyright 2019-2023,2024 Thomas E. Dickey *
#***************************************************************************
COLOR_PAIR(1)
COLOR_PAIR(2)
+ascii(7)
atoi(3)
bash(1)
conflict(1)
'\" t
.\"***************************************************************************
-.\" Copyright 2018-2021,2023 Thomas E. Dickey *
+.\" Copyright 2018-2023,2024 Thomas E. Dickey *
.\" Copyright 1998-2014,2017 Free Software Foundation, Inc. *
.\" *
.\" Permission is hereby granted, free of charge, to any person obtaining a *
.\" authorization. *
.\"***************************************************************************
.\"
-.\" $Id: menu.3x,v 1.43 2023/12/23 16:08:25 tom Exp $
-.TH menu 3X 2023-12-23 "ncurses 6.4" "Library calls"
+.\" $Id: menu.3x,v 1.45 2024/03/16 15:35:01 tom Exp $
+.TH menu 3X 2024-03-16 "ncurses @NCURSES_MAJOR@.@NCURSES_MINOR@" "Library calls"
.ie \n(.g \{\
.ds `` \(lq
.ds '' \(rq
.\"***************************************************************************
-.\" Copyright 2018-2022,2023 Thomas E. Dickey *
+.\" Copyright 2018-2023,2024 Thomas E. Dickey *
.\" Copyright 1998-2010,2015 Free Software Foundation, Inc. *
.\" *
.\" Permission is hereby granted, free of charge, to any person obtaining a *
.\" authorization. *
.\"***************************************************************************
.\"
-.\" $Id: menu_attributes.3x,v 1.34 2023/11/25 13:58:47 tom Exp $
-.TH menu_attributes 3X 2023-11-25 "ncurses 6.4" "Library calls"
+.\" $Id: menu_attributes.3x,v 1.36 2024/03/16 15:35:01 tom Exp $
+.TH menu_attributes 3X 2024-03-16 "ncurses @NCURSES_MAJOR@.@NCURSES_MINOR@" "Library calls"
.ie \n(.g \{\
.ds `` \(lq
.ds '' \(rq
.\"***************************************************************************
-.\" Copyright 2018-2022,2023 Thomas E. Dickey *
+.\" Copyright 2018-2023,2024 Thomas E. Dickey *
.\" Copyright 1998-2010,2015 Free Software Foundation, Inc. *
.\" *
.\" Permission is hereby granted, free of charge, to any person obtaining a *
.\" authorization. *
.\"***************************************************************************
.\"
-.\" $Id: menu_cursor.3x,v 1.28 2023/11/25 13:58:47 tom Exp $
-.TH menu_cursor 3X 2023-11-25 "ncurses 6.4" "Library calls"
+.\" $Id: menu_cursor.3x,v 1.30 2024/03/16 15:35:01 tom Exp $
+.TH menu_cursor 3X 2024-03-16 "ncurses @NCURSES_MAJOR@.@NCURSES_MINOR@" "Library calls"
.SH NAME
\fBpos_menu_cursor\fP \-
position a menu's cursor
.\"***************************************************************************
-.\" Copyright 2018-2022,2023 Thomas E. Dickey *
+.\" Copyright 2018-2023,2024 Thomas E. Dickey *
.\" Copyright 1998-2010,2017 Free Software Foundation, Inc. *
.\" *
.\" Permission is hereby granted, free of charge, to any person obtaining a *
.\" authorization. *
.\"***************************************************************************
.\"
-.\" $Id: menu_driver.3x,v 1.45 2023/12/23 16:08:25 tom Exp $
-.TH menu_driver 3X 2023-12-23 "ncurses 6.4" "Library calls"
+.\" $Id: menu_driver.3x,v 1.47 2024/03/16 15:35:01 tom Exp $
+.TH menu_driver 3X 2024-03-16 "ncurses @NCURSES_MAJOR@.@NCURSES_MINOR@" "Library calls"
.de bP
.ie n .IP \(bu 4
.el .IP \(bu 2
.\"***************************************************************************
-.\" Copyright 2018-2022,2023 Thomas E. Dickey *
+.\" Copyright 2018-2023,2024 Thomas E. Dickey *
.\" Copyright 1998-2015,2016 Free Software Foundation, Inc. *
.\" *
.\" Permission is hereby granted, free of charge, to any person obtaining a *
.\" authorization. *
.\"***************************************************************************
.\"
-.\" $Id: menu_format.3x,v 1.33 2023/11/25 13:58:47 tom Exp $
-.TH menu_format 3X 2023-11-25 "ncurses 6.4" "Library calls"
+.\" $Id: menu_format.3x,v 1.35 2024/03/16 15:35:01 tom Exp $
+.TH menu_format 3X 2024-03-16 "ncurses @NCURSES_MAJOR@.@NCURSES_MINOR@" "Library calls"
.SH NAME
\fBset_menu_format\fP,
\fBmenu_format\fP \-
.\"***************************************************************************
-.\" Copyright 2018-2022,2023 Thomas E. Dickey *
+.\" Copyright 2018-2023,2024 Thomas E. Dickey *
.\" Copyright 1998-2007,2010 Free Software Foundation, Inc. *
.\" *
.\" Permission is hereby granted, free of charge, to any person obtaining a *
.\" authorization. *
.\"***************************************************************************
.\"
-.\" $Id: menu_hook.3x,v 1.30 2023/11/25 13:58:47 tom Exp $
-.TH menu_hook 3X 2023-11-25 "ncurses 6.4" "Library calls"
+.\" $Id: menu_hook.3x,v 1.32 2024/03/16 15:35:01 tom Exp $
+.TH menu_hook 3X 2024-03-16 "ncurses @NCURSES_MAJOR@.@NCURSES_MINOR@" "Library calls"
.SH NAME
\fBmenu_hook\fP \-
set hooks for automatic invocation by applications
.\"***************************************************************************
-.\" Copyright 2018-2022,2023 Thomas E. Dickey *
+.\" Copyright 2018-2023,2024 Thomas E. Dickey *
.\" Copyright 1998-2012,2015 Free Software Foundation, Inc. *
.\" *
.\" Permission is hereby granted, free of charge, to any person obtaining a *
.\" authorization. *
.\"***************************************************************************
.\"
-.\" $Id: menu_items.3x,v 1.32 2023/11/25 13:58:47 tom Exp $
-.TH menu_items 3X 2023-11-25 "ncurses 6.4" "Library calls"
+.\" $Id: menu_items.3x,v 1.34 2024/03/16 15:35:01 tom Exp $
+.TH menu_items 3X 2024-03-16 "ncurses @NCURSES_MAJOR@.@NCURSES_MINOR@" "Library calls"
.SH NAME
\fBset_menu_items\fP,
\fBmenu_items\fP,
.\"***************************************************************************
-.\" Copyright 2018-2022,2023 Thomas E. Dickey *
+.\" Copyright 2018-2023,2024 Thomas E. Dickey *
.\" Copyright 1998-2010,2015 Free Software Foundation, Inc. *
.\" *
.\" Permission is hereby granted, free of charge, to any person obtaining a *
.\" authorization. *
.\"***************************************************************************
.\"
-.\" $Id: menu_mark.3x,v 1.33 2023/11/25 13:58:47 tom Exp $
-.TH menu_mark 3X 2023-11-25 "ncurses 6.4" "Library calls"
+.\" $Id: menu_mark.3x,v 1.35 2024/03/16 15:35:01 tom Exp $
+.TH menu_mark 3X 2024-03-16 "ncurses @NCURSES_MAJOR@.@NCURSES_MINOR@" "Library calls"
.SH NAME
\fBset_menu_mark\fP,
\fBmenu_mark\fP \-
.\"***************************************************************************
-.\" Copyright 2018-2022,2023 Thomas E. Dickey *
+.\" Copyright 2018-2023,2024 Thomas E. Dickey *
.\" Copyright 1998-2010,2015 Free Software Foundation, Inc. *
.\" *
.\" Permission is hereby granted, free of charge, to any person obtaining a *
.\" authorization. *
.\"***************************************************************************
.\"
-.\" $Id: menu_new.3x,v 1.33 2023/11/25 13:58:47 tom Exp $
-.TH menu_new 3X 2023-11-25 "ncurses 6.4" "Library calls"
+.\" $Id: menu_new.3x,v 1.35 2024/03/16 15:35:01 tom Exp $
+.TH menu_new 3X 2024-03-16 "ncurses @NCURSES_MAJOR@.@NCURSES_MINOR@" "Library calls"
.SH NAME
\fBnew_menu\fP,
\fBfree_menu\fP \-
.\"***************************************************************************
-.\" Copyright 2018-2022,2023 Thomas E. Dickey *
+.\" Copyright 2018-2023,2024 Thomas E. Dickey *
.\" Copyright 1998-2015,2016 Free Software Foundation, Inc. *
.\" *
.\" Permission is hereby granted, free of charge, to any person obtaining a *
.\" authorization. *
.\"***************************************************************************
.\"
-.\" $Id: menu_opts.3x,v 1.33 2023/11/25 13:58:47 tom Exp $
-.TH menu_opts 3X 2023-11-25 "ncurses 6.4" "Library calls"
+.\" $Id: menu_opts.3x,v 1.35 2024/03/16 15:35:01 tom Exp $
+.TH menu_opts 3X 2024-03-16 "ncurses @NCURSES_MAJOR@.@NCURSES_MINOR@" "Library calls"
.SH NAME
\fBset_menu_opts\fP,
\fBmenu_opts_on\fP,
.\"***************************************************************************
-.\" Copyright 2018-2022,2023 Thomas E. Dickey *
+.\" Copyright 2018-2023,2024 Thomas E. Dickey *
.\" Copyright 1998-2010,2015 Free Software Foundation, Inc. *
.\" *
.\" Permission is hereby granted, free of charge, to any person obtaining a *
.\" authorization. *
.\"***************************************************************************
.\"
-.\" $Id: menu_pattern.3x,v 1.36 2023/11/25 13:58:47 tom Exp $
-.TH menu_pattern 3X 2023-11-25 "ncurses 6.4" "Library calls"
+.\" $Id: menu_pattern.3x,v 1.38 2024/03/16 15:35:01 tom Exp $
+.TH menu_pattern 3X 2024-03-16 "ncurses @NCURSES_MAJOR@.@NCURSES_MINOR@" "Library calls"
.SH NAME
\fBset_menu_pattern\fP,
\fBmenu_pattern\fP \-
.\"***************************************************************************
-.\" 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 *
.\" authorization. *
.\"***************************************************************************
.\"
-.\" $Id: menu_post.3x,v 1.34 2023/11/25 13:58:47 tom Exp $
-.TH menu_post 3X 2023-11-25 "ncurses 6.4" "Library calls"
+.\" $Id: menu_post.3x,v 1.36 2024/03/16 15:35:01 tom Exp $
+.TH menu_post 3X 2024-03-16 "ncurses @NCURSES_MAJOR@.@NCURSES_MINOR@" "Library calls"
.SH NAME
\fBpost_menu\fP,
\fBunpost_menu\fP \-
.\"***************************************************************************
-.\" Copyright 2018-2022,2023 Thomas E. Dickey *
+.\" Copyright 2018-2023,2024 Thomas E. Dickey *
.\" Copyright 1998-2010,2015 Free Software Foundation, Inc. *
.\" *
.\" Permission is hereby granted, free of charge, to any person obtaining a *
.\" authorization. *
.\"***************************************************************************
.\"
-.\" $Id: menu_requestname.3x,v 1.31 2023/12/16 20:32:22 tom Exp $
-.TH menu_requestname 3X 2023-12-16 "ncurses 6.4" "Library calls"
+.\" $Id: menu_requestname.3x,v 1.33 2024/03/16 15:35:01 tom Exp $
+.TH menu_requestname 3X 2024-03-16 "ncurses @NCURSES_MAJOR@.@NCURSES_MINOR@" "Library calls"
.SH NAME
\fBmenu_request_by_name\fP,
\fBmenu_request_name\fP \-
.\"***************************************************************************
-.\" Copyright 2018-2022,2023 Thomas E. Dickey *
+.\" Copyright 2018-2023,2024 Thomas E. Dickey *
.\" Copyright 1998-2010,2015 Free Software Foundation, Inc. *
.\" *
.\" Permission is hereby granted, free of charge, to any person obtaining a *
.\" authorization. *
.\"***************************************************************************
.\"
-.\" $Id: menu_spacing.3x,v 1.35 2023/12/16 20:32:22 tom Exp $
-.TH menu_spacing 3X 2023-12-16 "ncurses 6.4" "Library calls"
+.\" $Id: menu_spacing.3x,v 1.37 2024/03/16 15:35:01 tom Exp $
+.TH menu_spacing 3X 2024-03-16 "ncurses @NCURSES_MAJOR@.@NCURSES_MINOR@" "Library calls"
.SH NAME
\fBset_menu_spacing\fP,
\fBmenu_spacing\fP \-
.\"***************************************************************************
-.\" Copyright 2018-2022,2023 Thomas E. Dickey *
+.\" Copyright 2018-2023,2024 Thomas E. Dickey *
.\" Copyright 1998-2010,2015 Free Software Foundation, Inc. *
.\" *
.\" Permission is hereby granted, free of charge, to any person obtaining a *
.\" authorization. *
.\"***************************************************************************
.\"
-.\" $Id: menu_userptr.3x,v 1.31 2023/11/25 13:58:47 tom Exp $
-.TH menu_userptr 3X 2023-11-25 "ncurses 6.4" "Library calls"
+.\" $Id: menu_userptr.3x,v 1.33 2024/03/16 15:35:01 tom Exp $
+.TH menu_userptr 3X 2024-03-16 "ncurses @NCURSES_MAJOR@.@NCURSES_MINOR@" "Library calls"
.SH NAME
\fBset_menu_userptr\fP,
\fBmenu_userptr\fP \-
.\"***************************************************************************
-.\" Copyright 2018-2022,2023 Thomas E. Dickey *
+.\" Copyright 2018-2023,2024 Thomas E. Dickey *
.\" Copyright 1998-2006,2010 Free Software Foundation, Inc. *
.\" *
.\" Permission is hereby granted, free of charge, to any person obtaining a *
.\" authorization. *
.\"***************************************************************************
.\"
-.\" $Id: menu_win.3x,v 1.30 2023/11/25 13:58:47 tom Exp $
-.TH menu_win 3X 2023-11-25 "ncurses 6.4" "Library calls"
+.\" $Id: menu_win.3x,v 1.32 2024/03/16 15:35:01 tom Exp $
+.TH menu_win 3X 2024-03-16 "ncurses @NCURSES_MAJOR@.@NCURSES_MINOR@" "Library calls"
.SH NAME
\fBmenu_win\fP \-
make and break menu window and subwindow associations
.\"***************************************************************************
-.\" Copyright 2018-2022,2023 Thomas E. Dickey *
+.\" Copyright 2018-2023,2024 Thomas E. Dickey *
.\" Copyright 1998-2006,2010 Free Software Foundation, Inc. *
.\" *
.\" Permission is hereby granted, free of charge, to any person obtaining a *
.\" authorization. *
.\"***************************************************************************
.\"
-.\" $Id: mitem_current.3x,v 1.35 2023/11/25 13:58:47 tom Exp $
-.TH mitem_current 3X 2023-11-25 "ncurses 6.4" "Library calls"
+.\" $Id: mitem_current.3x,v 1.37 2024/03/16 15:35:01 tom Exp $
+.TH mitem_current 3X 2024-03-16 "ncurses @NCURSES_MAJOR@.@NCURSES_MINOR@" "Library calls"
.SH NAME
\fBmitem_current\fP \-
set and get current_menu_item
.\"***************************************************************************
-.\" Copyright 2018-2022,2023 Thomas E. Dickey *
+.\" Copyright 2018-2023,2024 Thomas E. Dickey *
.\" Copyright 1998-2010,2015 Free Software Foundation, Inc. *
.\" *
.\" Permission is hereby granted, free of charge, to any person obtaining a *
.\" authorization. *
.\"***************************************************************************
.\"
-.\" $Id: mitem_name.3x,v 1.29 2023/11/25 13:58:47 tom Exp $
-.TH mitem_name 3X 2023-11-25 "ncurses 6.4" "Library calls"
+.\" $Id: mitem_name.3x,v 1.31 2024/03/16 15:35:01 tom Exp $
+.TH mitem_name 3X 2024-03-16 "ncurses @NCURSES_MAJOR@.@NCURSES_MINOR@" "Library calls"
.SH NAME
\fBitem_name\fP,
\fBitem_description\fP \-
.\"***************************************************************************
-.\" Copyright 2018-2022,2023 Thomas E. Dickey *
+.\" Copyright 2018-2023,2024 Thomas E. Dickey *
.\" Copyright 1998-2010,2015 Free Software Foundation, Inc. *
.\" *
.\" Permission is hereby granted, free of charge, to any person obtaining a *
.\" authorization. *
.\"***************************************************************************
.\"
-.\" $Id: mitem_new.3x,v 1.34 2023/11/25 13:58:47 tom Exp $
-.TH mitem_new 3X 2023-11-25 "ncurses 6.4" "Library calls"
+.\" $Id: mitem_new.3x,v 1.36 2024/03/16 15:35:01 tom Exp $
+.TH mitem_new 3X 2024-03-16 "ncurses @NCURSES_MAJOR@.@NCURSES_MINOR@" "Library calls"
.SH NAME
\fBnew_item\fP,
\fBfree_item\fP \-
.\"***************************************************************************
-.\" Copyright 2018-2022,2023 Thomas E. Dickey *
+.\" Copyright 2018-2023,2024 Thomas E. Dickey *
.\" Copyright 1998-2010,2015 Free Software Foundation, Inc. *
.\" *
.\" Permission is hereby granted, free of charge, to any person obtaining a *
.\" authorization. *
.\"***************************************************************************
.\"
-.\" $Id: mitem_opts.3x,v 1.31 2023/11/25 13:58:47 tom Exp $
-.TH mitem_opts 3X 2023-11-25 "ncurses 6.4" "Library calls"
+.\" $Id: mitem_opts.3x,v 1.33 2024/03/16 15:35:01 tom Exp $
+.TH mitem_opts 3X 2024-03-16 "ncurses @NCURSES_MAJOR@.@NCURSES_MINOR@" "Library calls"
.SH NAME
\fBset_item_opts\fP,
\fBitem_opts_on\fP,
.\"***************************************************************************
-.\" Copyright 2018-2022,2023 Thomas E. Dickey *
+.\" Copyright 2018-2023,2024 Thomas E. Dickey *
.\" Copyright 1998-2010,2015 Free Software Foundation, Inc. *
.\" *
.\" Permission is hereby granted, free of charge, to any person obtaining a *
.\" authorization. *
.\"***************************************************************************
.\"
-.\" $Id: mitem_userptr.3x,v 1.32 2023/11/25 13:58:47 tom Exp $
-.TH mitem_userptr 3X 2023-11-25 "ncurses 6.4" "Library calls"
+.\" $Id: mitem_userptr.3x,v 1.34 2024/03/16 15:35:01 tom Exp $
+.TH mitem_userptr 3X 2024-03-16 "ncurses @NCURSES_MAJOR@.@NCURSES_MINOR@" "Library calls"
.SH NAME
\fBset_item_userptr\fP,
\fBitem_userptr\fP \-
.\"***************************************************************************
-.\" Copyright 2018-2022,2023 Thomas E. Dickey *
+.\" Copyright 2018-2023,2024 Thomas E. Dickey *
.\" Copyright 1998-2010,2015 Free Software Foundation, Inc. *
.\" *
.\" Permission is hereby granted, free of charge, to any person obtaining a *
.\" authorization. *
.\"***************************************************************************
.\"
-.\" $Id: mitem_value.3x,v 1.30 2023/11/25 13:58:47 tom Exp $
-.TH mitem_value 3X 2023-11-25 "ncurses 6.4" "Library calls"
+.\" $Id: mitem_value.3x,v 1.32 2024/03/16 15:35:01 tom Exp $
+.TH mitem_value 3X 2024-03-16 "ncurses @NCURSES_MAJOR@.@NCURSES_MINOR@" "Library calls"
.SH NAME
\fBset_item_value\fP,
\fBitem_value\fP \-
.\"***************************************************************************
-.\" Copyright 2018-2022,2023 Thomas E. Dickey *
+.\" Copyright 2018-2023,2024 Thomas E. Dickey *
.\" Copyright 1998,2010 Free Software Foundation, Inc. *
.\" *
.\" Permission is hereby granted, free of charge, to any person obtaining a *
.\" authorization. *
.\"***************************************************************************
.\"
-.\" $Id: mitem_visible.3x,v 1.25 2023/11/25 14:18:16 tom Exp $
-.TH mitem_visible 3X 2023-11-25 "ncurses 6.4" "Library calls"
+.\" $Id: mitem_visible.3x,v 1.27 2024/03/16 15:35:01 tom Exp $
+.TH mitem_visible 3X 2024-03-16 "ncurses @NCURSES_MAJOR@.@NCURSES_MINOR@" "Library calls"
.SH NAME
\fBitem_visible\fP \-
check visibility of a menu item
.\" authorization. *
.\"***************************************************************************
.\"
-.\" $Id: ncurses.3x,v 1.200 2024/02/24 20:03:50 tom Exp $
-.TH ncurses 3X 2024-02-24 "ncurses 6.4" "Library calls"
+.\" $Id: ncurses.3x,v 1.204 2024/03/23 20:42:29 tom Exp $
+.TH ncurses 3X 2024-03-23 "ncurses @NCURSES_MAJOR@.@NCURSES_MINOR@" "Library calls"
.ie \n(.g \{\
.ds `` \(lq
.ds '' \(rq
\fB#include <curses.h>
.fi
.SH DESCRIPTION
-The \fI\%ncurses\fP library routines give the user a
-terminal-independent method of updating character screens with
-reasonable optimization.
-This implementation is \*(``new curses\*('' (\fI\%ncurses\fP) and
-is the approved replacement for
-4.4BSD classic curses, which has been discontinued.
+The \*(``new curses\*('' library offers the programmer a
+terminal-independent means of reading keyboard and mouse input and
+updating character-cell terminals with output optimized to minimize
+screen updates.
+.I \%ncurses
+replaces the
+.I curses
+libraries from
+System V Release 4 Unix (\*(``SVr4\*('')
+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@).
.PP
-The \fI\%ncurses\fP library emulates the curses library of
-System V Release 4 Unix (\*(``SVr4\*(''),
-and XPG4 (X/Open Portability Guide) curses (also known as XSI curses).
-XSI stands for X/Open System Interfaces Extension.
-The \fI\%ncurses\fP library is freely redistributable in source form.
+.I \%ncurses
+permits control of the terminal screen's contents;
+abstraction and subdivision thereof with
+.I windows
+and
+.IR pads ;
+the reading of terminal input;
+control of terminal input and output options;
+environment query routines;
+color manipulation;
+the definition and use of
+.I "soft label"
+keys;
+.I \%term\%info
+capabilities;
+a
+.I \%term\%cap
+compatibility interface;
+and access to low-level terminal-manipulation routines.
+.PP
+.I \%ncurses
+implements the standard interface described by
+X/Open Curses Issue\ 7.
+In many behavioral details not standardized by X/Open,
+.I \%ncurses
+emulates the
+.I curses
+library of SVr4 and provides numerous useful extensions.
.PP
\fI\%ncurses\fP man pages employ several sections to clarify matters of
usage and interoperability with other \fIcurses\fP implementations.
(in a file called \*(``trace\*('' in the current directory)
that describe curses actions.
See section \*(``ALTERNATE CONFIGURATIONS\*('' below.
-.PP
-The \fI\%ncurses\fP package supports: overall screen, window and pad
-manipulation; output to windows and pads; reading terminal input; control over
-terminal and \fBcurses\fP input and output options; environment query
-routines; color manipulation; use of soft label keys; terminfo capabilities;
-and access to low-level terminal-manipulation routines.
.SS Initialization
The library uses the locale which the calling program has initialized.
That is normally done with \fBsetlocale\fP(3):
see below)
with \*(``w\*('';
these allow the user to specify a pointer to a
-.I \%WINDOW.
+.IR \%WINDOW .
Counterparts not thus prefixed
(or infixed)
affect \fB\%stdscr\fP.
.I \%chtype
datum,
which is often an alias of
-.I int.
+.IR int .
.IP
Attributes alone
(with no corresponding character)
Each cell of a
.I \%WINDOW
is stored as a
-.I \%chtype.
+.IR \%chtype .
.TP 10
.I \%ncursesw
is the library in its \*(``wide\*('' configuration,
.TP 9 \" "cchar_t" + 2n
.I \%cchar_t
corresponds to the non-wide configuration's
-.I \%chtype.
+.IR \%chtype .
It always a structure type,
because it stores more data than fits into an integral type.
A character code may not be representable as a
-.I \%char,
+.IR \%char ,
and moreover more than one character may occupy a cell
(as with accent marks and other diacritics).
Each character is of type
-.I \%wchar_t;
+.IR \%wchar_t ;
a complex character contains one spacing character and zero or more
non-spacing characters
(see below).
Attributes and color data are stored in separate fields of the
structure,
not combined as in
-.I \%chtype.
+.IR \%chtype .
.PP
Each cell of a
.I \%WINDOW
is stored as a
-.I \%cchar_t.
+.IR \%cchar_t .
.PP
The \fB\%setcchar\fP(3X) and \fB\%getcchar\fP(3X)
functions store and retrieve the data from a
.I \%wchar_t
stores a wide character.
Like
-.I \%chtype,
+.IR \%chtype ,
it may be an alias of
-.I int.
+.IR int .
Depending on the character encoding,
a wide character may be
-.I spacing,
+.IR spacing ,
meaning that it occupies a character cell by itself and typically
accompanies cursor advancement,
or
-.I non-spacing,
+.IR non-spacing ,
meaning that it occupies the same cell as a spacing character,
is often regarded as a \*(``modifier\*('' of the base glyph with which
it combines,
# VT100 shift\-in/shift\-out, with corresponding font.
linux\-vt100|linux console with VT100 line\-graphics,
U8#0, use=linux,
-
+\&
# uxterm with vt100Graphics resource set to false
xterm\-utf8|xterm relying on UTF\-8 line\-graphics,
U8#1, use=xterm,
option to peruse them all.
A few are of particular significance to the application developer
employing
-.I \%ncurses.
+.IR \%ncurses .
.TP 5
\-\-disable\-overwrite
The standard include for \fI\%ncurses\fP is as noted in \fBSYNOPSIS\fP:
.I \%ncurses
enables an application to capture mouse events on certain terminals,
including
-.I \%xterm;
+.IR \%xterm ;
see \fB\%curs_mouse\fP(3X).
.PP
.I \%ncurses
provides a means of responding to window resizing events,
as when running in a GUI terminal emulator application such as
-.I \%xterm;
+.IR \%xterm ;
see \fB\%resizeterm\fP(3X) and \fB\%wresize\fP(3X).
.PP
.I \%ncurses
if the terminal setup code cannot find a
.I \%term\%info
entry corresponding to
-.I TERM.
+.IR TERM .
Use of this feature is not recommended,
as it essentially includes an entire
.I termcap
.\"***************************************************************************
-.\" Copyright 2018-2022,2023 Thomas E. Dickey *
+.\" Copyright 2018-2023,2024 Thomas E. Dickey *
.\" Copyright 2017 Free Software Foundation, Inc. *
.\" *
.\" Permission is hereby granted, free of charge, to any person obtaining a *
.\"
.\" Author: Thomas E. Dickey
.\"
-.\" $Id: new_pair.3x,v 1.44 2023/12/16 20:32:22 tom Exp $
-.TH new_pair 3X 2023-12-16 "ncurses 6.4" "Library calls"
+.\" $Id: new_pair.3x,v 1.46 2024/03/16 15:35:01 tom Exp $
+.TH new_pair 3X 2024-03-16 "ncurses @NCURSES_MAJOR@.@NCURSES_MINOR@" "Library calls"
.ie \n(.g \{\
.ds `` \(lq
.ds '' \(rq
.\"***************************************************************************
-.\" 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 *
.\" authorization. *
.\"***************************************************************************
.\"
-.\" $Id: panel.3x,v 1.61 2023/12/23 16:22:25 tom Exp $
-.TH panel 3X 2023-12-23 "ncurses 6.4" "Library calls"
+.\" $Id: panel.3x,v 1.63 2024/03/16 15:35:01 tom Exp $
+.TH panel 3X 2024-03-16 "ncurses @NCURSES_MAJOR@.@NCURSES_MINOR@" "Library calls"
.ie \n(.g \{\
.ds `` \(lq
.ds '' \(rq
.\"***************************************************************************
-.\" Copyright 2018-2022,2023 Thomas E. Dickey *
+.\" Copyright 2018-2023,2024 Thomas E. Dickey *
.\" Copyright 1998-2015,2017 Free Software Foundation, Inc. *
.\" *
.\" Permission is hereby granted, free of charge, to any person obtaining a *
.\"
.\" Author: Thomas E. Dickey 1996-on
.\"
-.\" $Id: resizeterm.3x,v 1.54 2023/12/16 20:32:22 tom Exp $
-.TH resizeterm 3X 2023-12-16 "ncurses 6.4" "Library calls"
+.\" $Id: resizeterm.3x,v 1.56 2024/03/16 15:35:01 tom Exp $
+.TH resizeterm 3X 2024-03-16 "ncurses @NCURSES_MAJOR@.@NCURSES_MINOR@" "Library calls"
.de bP
.ie n .IP \(bu 4
.el .IP \(bu 2
.\"***************************************************************************
-.\" Copyright 2018-2021,2023 Thomas E. Dickey *
+.\" Copyright 2018-2023,2024 Thomas E. Dickey *
.\" Copyright 2017 Free Software Foundation, Inc. *
.\" *
.\" Permission is hereby granted, free of charge, to any person obtaining a *
.\" authorization. *
.\"***************************************************************************
.\"
-.\" $Id: scr_dump.5,v 1.42 2023/12/30 22:06:36 tom Exp $
-.TH scr_dump 5 2023-12-30 "ncurses 6.4" "File formats"
+.\" $Id: scr_dump.5,v 1.46 2024/03/23 20:42:29 tom Exp $
+.TH scr_dump 5 2024-03-23 "ncurses @NCURSES_MAJOR@.@NCURSES_MINOR@" "File formats"
.ie \n(.g \{\
.ds `` \(lq
.ds '' \(rq
Solaris
.I curses
has no magic number corresponding to SVr4
-.I curses.
+.IR curses .
This is odd,
since Solaris was the first operating system to meet the SVr4
guidelines.
Solaris furthermore supplies two versions of
-.I curses.
+.IR curses .
.bP
The default
.I curses
(which we term
.I \%xcurses),
available in
-.I /usr/xpg4,
+.IR /usr/xpg4 ,
uses a textual format with no magic number.
.IP
According to its copyright notice,
.\" authorization. *
.\"***************************************************************************
.\"
-.\" $Id: tabs.1,v 1.55 2024/01/20 16:54:03 tom Exp $
-.TH @TABS@ 1 2024-01-20 "ncurses 6.4" "User commands"
+.\" $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"
.ie \n(.g \{\
.ds `` \(lq
.ds '' \(rq
.\" authorization. *
.\"***************************************************************************
.\"
-.\" $Id: term.5,v 1.73 2024/01/13 22:05:39 tom Exp $
-.TH term 5 2024-01-13 "ncurses 6.4" "File formats"
+.\" $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"
.ie \n(.g \{\
.ds `` \(lq
.ds '' \(rq
.\"***************************************************************************
-.\" Copyright 2018-2021,2023 Thomas E. Dickey *
+.\" Copyright 2018-2023,2024 Thomas E. Dickey *
.\" Copyright 1998-2011,2017 Free Software Foundation, Inc. *
.\" *
.\" Permission is hereby granted, free of charge, to any person obtaining a *
.\" authorization. *
.\"***************************************************************************
.\"
-.\" $Id: term.7,v 1.46 2023/12/02 20:51:25 tom Exp $
-.TH term 7 2023-12-02 "ncurses 6.4" Miscellaneous
+.\" $Id: term.7,v 1.48 2024/03/16 15:35:01 tom Exp $
+.TH term 7 2024-03-16 "ncurses @NCURSES_MAJOR@.@NCURSES_MINOR@" Miscellaneous
.ie \n(.g \{\
.ds `` \(lq
.ds '' \(rq
.\"***************************************************************************
-.\" Copyright 2019-2022,2023 Thomas E. Dickey *
+.\" Copyright 2019-2023,2024 Thomas E. Dickey *
.\" Copyright 2010-2015,2017 Free Software Foundation, Inc. *
.\" *
.\" Permission is hereby granted, free of charge, to any person obtaining a *
.\" authorization. *
.\"***************************************************************************
.\"
-.\" $Id: term_variables.3x,v 1.34 2023/12/23 16:08:25 tom Exp $
-.TH term_variables 3X 2023-12-23 "ncurses 6.4" "Library calls"
+.\" $Id: term_variables.3x,v 1.36 2024/03/16 15:35:01 tom Exp $
+.TH term_variables 3X 2024-03-16 "ncurses @NCURSES_MAJOR@.@NCURSES_MINOR@" "Library calls"
.ie \n(.g \{\
.ds `` \(lq
.ds '' \(rq
.\"***************************************************************************
-.\" 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 *
.\" authorization. *
.\"***************************************************************************
.\"
-.\" $Id: tic.1m,v 1.106 2023/12/30 21:36:32 tom Exp $
-.TH @TIC@ 1M 2023-12-30 "ncurses 6.4" "User commands"
+.\" $Id: tic.1m,v 1.108 2024/03/16 15:35:01 tom Exp $
+.TH @TIC@ 1M 2024-03-16 "ncurses @NCURSES_MAJOR@.@NCURSES_MINOR@" "User commands"
.ie \n(.g \{\
.ds `` \(lq
.ds '' \(rq
.\" authorization. *
.\"***************************************************************************
.\"
-.\" $Id: toe.1m,v 1.64 2024/01/20 16:51:21 tom Exp $
-.TH @TOE@ 1M 2024-01-20 "ncurses 6.4" "User commands"
+.\" $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"
.ie \n(.g \{\
.ds `` \(lq
.ds '' \(rq
.\" authorization. *
.\"***************************************************************************
.\"
-.\" $Id: tput.1,v 1.105 2024/01/20 19:41:02 tom Exp $
-.TH @TPUT@ 1 2024-01-20 "ncurses 6.4" "User commands"
+.\" $Id: tput.1,v 1.109 2024/03/23 20:42:29 tom Exp $
+.TH @TPUT@ 1 2024-03-23 "ncurses @NCURSES_MAJOR@.@NCURSES_MINOR@" "User commands"
.ie \n(.g \{\
.ds `` \(lq
.ds '' \(rq
.PP
\fB\%terminfo\fP(5) discusses terminal capabilities at length
and presents a complete list of
-.I cap-codes.
+.IR cap-codes .
.PP
When retrieving capability values,
the result depends upon the capability's type.
\fB\%@TPUT@\fP sets its exit status to
.B 0
if the terminal possesses
-.I cap-code,
+.IR cap-code ,
and
.B 1
if it does not.
.SS Operands
Generally,
an operand is a
-.I cap-code,
+.IR cap-code ,
a capability code from the terminal database,
or a parameter thereto.
Three others are specially recognized by \fB\%@TPUT@\fP:
it inspects the environment variables
.I LINES
and
-.I \%COLUMNS,
+.IR \%COLUMNS ,
which may override the terminal size.
.PP
If the
.TP
.BI \-T\ type
indicates the terminal's
-.I type.
+.IR type .
Normally this option is unnecessary,
because a default is taken from the
.I TERM
.IR termcap -based
.B tput
to
-.I \%term\%info,
+.IR \%term\%info ,
and modified it to interpret multiple
.I cap-codes
(and parameters)
but
.B \%parm_delete_line
to
-.I \%term\%info.
+.IR \%term\%info .
.I termcap
uses the code
.B DL
but
.B \%clr_eos
to
-.I \%term\%info.
+.IR \%term\%info .
.I termcap
uses the code
.B cd
supports
.B clear
as it does any other standard
-.I cap-code.
+.IR cap-code .
The others
.RB ( init
and
While it is certainly possible to write a
.B tput
program without using
-.I curses,
+.IR curses ,
no system with a
.I curses
implementation provides a
.B tput
utility that does not also support standard
-.I cap-codes.
+.IR cap-codes .
.PP
X/Open Curses Issue 7 (2009) is the first version to document utilities.
However that part of X/Open Curses does not follow existing practice
HP-UX,
Solaris)
use the same exit statuses as
-.I \%ncurses.
+.IR \%ncurses .
.PP
NetBSD
.I curses
.\"***************************************************************************
-.\" 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 *
.\" authorization. *
.\"***************************************************************************
.\"
-.\" $Id: tset.1,v 1.79 2023/12/23 16:20:07 tom Exp $
-.TH @TSET@ 1 2023-12-23 "ncurses 6.4" "User commands"
+.\" $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"
.ie \n(.g \{\
.ds `` \(lq
.ds '' \(rq
.\" authorization. *
.\"***************************************************************************
.\"
-.\" $Id: user_caps.5,v 1.47 2024/01/13 22:05:39 tom Exp $
-.TH user_caps 5 2024-01-13 "ncurses 6.4" "File formats"
+.\" $Id: user_caps.5,v 1.49 2024/03/16 15:35:01 tom Exp $
+.TH user_caps 5 2024-03-16 "ncurses @NCURSES_MAJOR@.@NCURSES_MINOR@" "File formats"
.ie \n(.g \{\
.ds `` \(lq
.ds '' \(rq
.\"***************************************************************************
-.\" Copyright 2018-2022,2023 Thomas E. Dickey *
+.\" Copyright 2018-2023,2024 Thomas E. Dickey *
.\" Copyright 1998-2010,2015 Free Software Foundation, Inc. *
.\" *
.\" Permission is hereby granted, free of charge, to any person obtaining a *
.\"
.\" Author: Thomas E. Dickey 1996
.\"
-.\" $Id: wresize.3x,v 1.34 2023/11/25 14:26:30 tom Exp $
-.TH wresize 3X 2023-11-25 "ncurses 6.4" "Library calls"
+.\" $Id: wresize.3x,v 1.36 2024/03/16 15:35:01 tom Exp $
+.TH wresize 3X 2024-03-16 "ncurses @NCURSES_MAJOR@.@NCURSES_MINOR@" "Library calls"
.SH NAME
\fB\%wresize\fP \-
resize a \fIcurses\fR window
#include <locale.h>
#endif
-MODULE_ID("$Id: lib_setup.c,v 1.232 2024/03/02 19:42:13 tom Exp $")
+MODULE_ID("$Id: lib_setup.c,v 1.233 2024/03/16 23:39:28 tom Exp $")
/****************************************************************************
*
int y, x;
char buf[20];
char *s;
- char ignore;
+ char cc;
+ const char *skipped;
+ int scanned;
s = memset(buf, '\0', sizeof(buf));
do {
s += got;
*s = '\0';
} while (strchr(buf, 'R') == NULL && (size_t) (s + 1 - buf) < sizeof(buf));
- T(("response %s", _nc_visbuf(buf)));
- if (sscanf(skip_csi(buf), "%d;%d%c", &y, &x, &ignore) != 2
- || (ignore != 'R' && ignore != ';')) {
+ T(("CPR response %s", _nc_visbuf(buf)));
+ skipped = skip_csi(buf);
+ cc = '\0';
+ if (skipped != buf
+ && *skipped != '\0'
+ && (scanned = sscanf(skip_csi(buf), "%d;%d%c", &y, &x, &cc)) == 3
+ && (cc == 'R')) {
*row = y;
*col = x;
result = TRUE;
}
}
- T(("get_position %d,%d", *row, *col));
+ T(("get_position %s %d,%d", result ? "OK" : "ERR", *row, *col));
return result;
}
/*
* This is a little more complicated than one might expect, because we do this
- * before setting up the terminal modes, etc.
+ * before setting up the terminal modes, etc., and cannot use the timeout or
+ * buffering functions.
+ *
+ * We check if the terminal description has the ECMA-48 CPR (cursor position
+ * report) in u7 and the response in u6. The two variations of is_expected()
+ * cover the termcap style and terminfo style, and are equivalent as far as we
+ * are concerned. For analyzing the response, we wait (a short time) for 'R'
+ * to be echoed, and then check if we received two integers in the response.
+ *
+ * In principle, this could run on "any" ECMA-48 terminal, but in practice,
+ * there is a scenario using GNU screen where it uses ncurses with a partially
+ * configured pseudo-terminal, and the CPR response goes to the wrong place.
+ * So we do a simple check to exclude pseudo-terminals.
*/
static void
_nc_check_screensize(TERMINAL *termp, int *linep, int *colp)
{
- int fd = fileno(stderr);
+ int fd = termp->Filedes;
TTY saved;
+ const char *name;
if (NC_ISATTY(fd)
+ && (name = ttyname(fd)) != NULL
+ && strncmp(name, "/dev/pts/", 9)
&& VALID_STRING(cursor_address)
&& is_expected(user7, "6n")
- && is_expected(user6, "%i%d;%dR")
+ && (is_expected(user6, "%i%d;%dR") ||
+ is_expected(user6, "%i%p1%d;%p2%dR"))
&& GET_TTY(fd, &saved) == OK) {
int current_y = -1, current_x = -1;
int updated_y = -1, updated_x = -1;
TTY alter = saved;
+ T(("checking screensize of %s", name));
alter.c_lflag &= (unsigned) ~(ECHO | ICANON | ISIG | IEXTEN);
alter.c_iflag &= (unsigned) ~(IXON | BRKINT | PARMRK);
alter.c_cc[VMIN] = 0;
bool useEnv = _nc_prescreen.use_env;
bool useTioctl = _nc_prescreen.use_tioctl;
+ T((T_CALLED("_nc_get_screensize (%p)"), 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
}
#endif
+ T(("useEnv:%d useTioctl:%d", useEnv, useTioctl));
if (useEnv || useTioctl) {
#ifdef __EMX__
{
TABSIZE = my_tabsize;
#endif
T(("TABSIZE = %d", TABSIZE));
+ returnVoid;
#endif /* USE_TERM_DRIVER */
}
-ncurses6 (6.4+20240309) unstable; urgency=low
+ncurses6 (6.4+20240323) unstable; urgency=low
* latest weekly patch
- -- Thomas E. Dickey <dickey@invisible-island.net> Sat, 09 Mar 2024 08:05:08 -0500
+ -- Thomas E. Dickey <dickey@invisible-island.net> Sat, 23 Mar 2024 06:33:40 -0400
ncurses6 (5.9+20131005) unstable; urgency=low
-ncurses6 (6.4+20240309) unstable; urgency=low
+ncurses6 (6.4+20240323) unstable; urgency=low
* latest weekly patch
- -- Thomas E. Dickey <dickey@invisible-island.net> Sat, 09 Mar 2024 08:05:08 -0500
+ -- Thomas E. Dickey <dickey@invisible-island.net> Sat, 23 Mar 2024 06:33:40 -0400
ncurses6 (5.9+20131005) unstable; urgency=low
-ncurses6 (6.4+20240309) unstable; urgency=low
+ncurses6 (6.4+20240323) unstable; urgency=low
* latest weekly patch
- -- Thomas E. Dickey <dickey@invisible-island.net> Sat, 09 Mar 2024 08:05:08 -0500
+ -- Thomas E. Dickey <dickey@invisible-island.net> Sat, 23 Mar 2024 06:33:40 -0400
ncurses6 (5.9+20120608) unstable; urgency=low
-; $Id: mingw-ncurses.nsi,v 1.636 2024/03/09 13:05:08 tom Exp $\r
+; $Id: mingw-ncurses.nsi,v 1.638 2024/03/23 10:33:40 tom Exp $\r
\r
; TODO add examples\r
; TODO bump ABI to 6\r
!define VERSION_MAJOR "6"\r
!define VERSION_MINOR "4"\r
!define VERSION_YYYY "2024"\r
-!define VERSION_MMDD "0309"\r
+!define VERSION_MMDD "0323"\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: 20240309
+Release: 20240323
License: X11
Group: Development/Libraries
URL: https://invisible-island.net/ncurses/
Summary: shared libraries for terminal handling
Name: ncurses6
Version: 6.4
-Release: 20240309
+Release: 20240323
License: X11
Group: Development/Libraries
URL: https://invisible-island.net/ncurses/
Summary: Curses library with POSIX thread support.
Name: ncursest6
Version: 6.4
-Release: 20240309
+Release: 20240323
License: X11
Group: Development/Libraries
Source: ncurses-%{version}-%{release}.tgz
/****************************************************************************
- * Copyright 2020,2021 Thomas E. Dickey *
+ * Copyright 2020-2021,2024 Thomas E. Dickey *
* Copyright 1998-2016,2017 Free Software Foundation, Inc. *
* *
* Permission is hereby granted, free of charge, to any person obtaining a *
char *ttyname(int fd);
#endif
-MODULE_ID("$Id: tset.c,v 1.131 2021/12/04 23:02:13 tom Exp $")
+MODULE_ID("$Id: tset.c,v 1.132 2024/03/17 00:15:54 tom Exp $")
#ifndef environ
extern char **environ;
if (!noinit) {
if (send_init_strings(my_fd, &oldmode)) {
+ const char *name;
+
(void) putc('\r', stderr);
(void) fflush(stderr);
- (void) napms(1000); /* Settle the terminal. */
+ if (isatty(my_fd)
+ && (name = ttyname(my_fd)) != NULL
+ && strncmp(name, "/dev/pts/", 9)) {
+ (void) napms(1000); /* Settle the terminal. */
+ }
}
}