]> ncurses.scripts.mit.edu Git - ncurses.git/commitdiff
ncurses 6.4 - patch 20231223
authorThomas E. Dickey <dickey@invisible-island.net>
Sun, 24 Dec 2023 01:20:29 +0000 (01:20 +0000)
committerThomas E. Dickey <dickey@invisible-island.net>
Sun, 24 Dec 2023 01:20:29 +0000 (01:20 +0000)
+ improve formatting/style of manpages (patches by Branden Robinson).

102 files changed:
NEWS
VERSION
dist.mk
doc/html/man/captoinfo.1m.html
doc/html/man/curs_add_wch.3x.html
doc/html/man/curs_addch.3x.html
doc/html/man/curs_attr.3x.html
doc/html/man/curs_bkgd.3x.html
doc/html/man/curs_bkgrnd.3x.html
doc/html/man/curs_color.3x.html
doc/html/man/curs_extend.3x.html
doc/html/man/curs_get_wch.3x.html
doc/html/man/curs_getch.3x.html
doc/html/man/curs_initscr.3x.html
doc/html/man/curs_inopts.3x.html
doc/html/man/curs_ins_wch.3x.html
doc/html/man/curs_insch.3x.html
doc/html/man/curs_legacy.3x.html
doc/html/man/curs_memleaks.3x.html
doc/html/man/curs_mouse.3x.html
doc/html/man/curs_print.3x.html
doc/html/man/curs_printw.3x.html
doc/html/man/curs_scanw.3x.html
doc/html/man/curs_sp_funcs.3x.html
doc/html/man/curs_termcap.3x.html
doc/html/man/curs_terminfo.3x.html
doc/html/man/curs_threads.3x.html
doc/html/man/curs_trace.3x.html
doc/html/man/curs_util.3x.html
doc/html/man/curs_variables.3x.html
doc/html/man/form.3x.html
doc/html/man/form_driver.3x.html
doc/html/man/infocmp.1m.html
doc/html/man/menu.3x.html
doc/html/man/menu_driver.3x.html
doc/html/man/ncurses.3x.html
doc/html/man/ncursesw6-config.1.html
doc/html/man/panel.3x.html
doc/html/man/scr_dump.5.html
doc/html/man/tabs.1.html
doc/html/man/term.5.html
doc/html/man/term_variables.3x.html
doc/html/man/terminfo.5.html
doc/html/man/tic.1m.html
doc/html/man/tput.1.html
doc/html/man/tset.1.html
doc/html/man/user_caps.5.html
man/MKncu_config.in
man/captoinfo.1m
man/curs_add_wch.3x
man/curs_addch.3x
man/curs_attr.3x
man/curs_bkgd.3x
man/curs_bkgrnd.3x
man/curs_color.3x
man/curs_extend.3x
man/curs_get_wch.3x
man/curs_getch.3x
man/curs_initscr.3x
man/curs_inopts.3x
man/curs_ins_wch.3x
man/curs_insch.3x
man/curs_legacy.3x
man/curs_memleaks.3x
man/curs_mouse.3x
man/curs_print.3x
man/curs_printw.3x
man/curs_scanw.3x
man/curs_sp_funcs.3x
man/curs_termcap.3x
man/curs_terminfo.3x
man/curs_threads.3x
man/curs_trace.3x
man/curs_util.3x
man/curs_variables.3x
man/form.3x
man/form_driver.3x
man/infocmp.1m
man/man_db.renames.in
man/manhtml.aliases
man/manhtml.externs
man/menu.3x
man/menu_driver.3x
man/ncurses.3x
man/panel.3x
man/scr_dump.5
man/tabs.1
man/term.5
man/term_variables.3x
man/terminfo.head
man/terminfo.tail
man/tic.1m
man/tput.1
man/tset.1
man/user_caps.5
package/debian-mingw/changelog
package/debian-mingw64/changelog
package/debian/changelog
package/mingw-ncurses.nsi
package/mingw-ncurses.spec
package/ncurses.spec
package/ncursest.spec

diff --git a/NEWS b/NEWS
index e598e3eadb705fa4c2fe32c991c2aaf9856bb5a1..ccaddc43f5f1c97198561d0c7e23e0a4dec9f821 100644 (file)
--- a/NEWS
+++ b/NEWS
@@ -26,7 +26,7 @@
 -- sale, use or other dealings in this Software without prior written        --
 -- authorization.                                                            --
 -------------------------------------------------------------------------------
--- $Id: NEWS,v 1.4053 2023/12/17 23:18:40 tom Exp $
+-- $Id: NEWS,v 1.4055 2023/12/23 21:00:43 tom Exp $
 -------------------------------------------------------------------------------
 
 This is a log of changes that ncurses has gone through since Zeyd started
@@ -46,6 +46,9 @@ See the AUTHORS file for the corresponding full names.
 Changes through 1.9.9e did not credit all contributions;
 it is not possible to add this information.
 
+20231223
+       + improve formatting/style of manpages (patches by Branden Robinson).
+
 20231217
        + improve formatting/style of manpages (patches by Branden Robinson).
        + correct an assignment in infocmp "-u" for detecting if a boolean
diff --git a/VERSION b/VERSION
index 8ff8be904e24bd4428d2cde3d4c651314362c760..a9e6b8e08a29aecabe3b2350561281afa68b4392 100644 (file)
--- a/VERSION
+++ b/VERSION
@@ -1 +1 @@
-5:0:10 6.4     20231217
+5:0:10 6.4     20231223
diff --git a/dist.mk b/dist.mk
index 08ff1690ae9026faec384475a63f72d31421c9a0..a8501b024ab83934c4cf929739ffc36312e133b0 100644 (file)
--- a/dist.mk
+++ b/dist.mk
@@ -26,7 +26,7 @@
 # use or other dealings in this Software without prior written               #
 # authorization.                                                             #
 ##############################################################################
-# $Id: dist.mk,v 1.1584 2023/12/17 23:18:40 tom Exp $
+# $Id: dist.mk,v 1.1585 2023/12/23 11:35:00 tom Exp $
 # Makefile for creating ncurses distributions.
 #
 # This only needs to be used directly as a makefile by developers, but
@@ -38,7 +38,7 @@ SHELL = /bin/sh
 # These define the major/minor/patch versions of ncurses.
 NCURSES_MAJOR = 6
 NCURSES_MINOR = 4
-NCURSES_PATCH = 20231217
+NCURSES_PATCH = 20231223
 
 # We don't append the patch to the version, since this only applies to releases
 VERSION = $(NCURSES_MAJOR).$(NCURSES_MINOR)
index 281372a1947b9d9a8075c1ebb541e29cec823a71..634df2ec8d1b79b2b0f735a2371bbabd57fd016d 100644 (file)
@@ -28,7 +28,7 @@
   * sale, use or other dealings in this Software without prior written       *
   * authorization.                                                           *
   ****************************************************************************
-  * @Id: captoinfo.1m,v 1.57 2023/12/16 21:34:23 tom Exp @
+  * @Id: captoinfo.1m,v 1.58 2023/12/23 16:28:31 tom Exp @
   * TODO: There are about 40 box drawing code points in CCSID 437;
   * were there no XENIX capabilities for the mixed single- and double-
   * line intersections?
 <HEAD>
 <meta http-equiv="Content-Type" content="text/html; charset=us-ascii">
 <meta name="generator" content="Manpage converted by man2html - see https://invisible-island.net/scripts/readme.html#others_scripts">
-<TITLE>captoinfo 1m 2023-12-16 ncurses 6.4 User commands</TITLE>
+<TITLE>captoinfo 1m 2023-12-23 ncurses 6.4 User commands</TITLE>
 <link rel="author" href="mailto:bug-ncurses@gnu.org">
 
 </HEAD>
 <BODY>
-<H1 class="no-header">captoinfo 1m 2023-12-16 ncurses 6.4 User commands</H1>
+<H1 class="no-header">captoinfo 1m 2023-12-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>
 
@@ -71,7 +71,7 @@
        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>,
@@ -79,7 +79,7 @@
        this program and exits with a successful status.
 
 
-</PRE><H3><a name="h3-Translations-from-nonstandard-capabilities">Translations from nonstandard capabilities</a></H3><PRE>
+</PRE><H3><a name="h3-Translations-from-Nonstandard-Capabilities">Translations from Nonstandard Capabilities</a></H3><PRE>
        <STRONG>captoinfo</STRONG>  translates  some  obsolete,  nonstandard  capabilities  into
        standard  (SVr4/XSI  Curses)  <EM>terminfo</EM>  capabilities.   It   issues   a
        diagnostic  to the standard error stream for each, inviting the user to
 
 
 
-ncurses 6.4                       2023-12-16                     <STRONG><A HREF="captoinfo.1m.html">captoinfo(1m)</A></STRONG>
+ncurses 6.4                       2023-12-23                     <STRONG><A HREF="captoinfo.1m.html">captoinfo(1m)</A></STRONG>
 </PRE>
 <div class="nav">
 <ul>
@@ -206,7 +206,7 @@ ncurses 6.4                       2023-12-16                     <STRONG><A HREF
 <li><a href="#h2-SYNOPSIS">SYNOPSIS</a></li>
 <li><a href="#h2-DESCRIPTION">DESCRIPTION</a>
 <ul>
-<li><a href="#h3-Translations-from-nonstandard-capabilities">Translations from nonstandard capabilities</a></li>
+<li><a href="#h3-Translations-from-Nonstandard-Capabilities">Translations from Nonstandard Capabilities</a></li>
 </ul>
 </li>
 <li><a href="#h2-FILES">FILES</a></li>
index e92b695a1a6be8ab3711832e9fe8beb4f8755d86..e9ed953db76e230aa08101dfefcd665842388570 100644 (file)
   * sale, use or other dealings in this Software without prior written       *
   * authorization.                                                           *
   ****************************************************************************
-  * @Id: curs_add_wch.3x,v 1.49 2023/12/16 21:19:37 tom Exp @
+  * @Id: curs_add_wch.3x,v 1.50 2023/12/23 16:08: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>curs_add_wch 3x 2023-12-16 ncurses 6.4 Library calls</TITLE>
+<TITLE>curs_add_wch 3x 2023-12-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 2023-12-16 ncurses 6.4 Library calls</H1>
+<H1 class="no-header">curs_add_wch 3x 2023-12-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>
 
 
 
 
-ncurses 6.4                       2023-12-16                  <STRONG><A HREF="curs_add_wch.3x.html">curs_add_wch(3x)</A></STRONG>
+ncurses 6.4                       2023-12-23                  <STRONG><A HREF="curs_add_wch.3x.html">curs_add_wch(3x)</A></STRONG>
 </PRE>
 <div class="nav">
 <ul>
index 976fc3e496e7468e74fd858bae66d033e1d5ee23..0eeb8b94cec35acaac451a1c2202e54d649cc6c1 100644 (file)
   * sale, use or other dealings in this Software without prior written       *
   * authorization.                                                           *
   ****************************************************************************
-  * @Id: curs_addch.3x,v 1.75 2023/12/16 21:19:37 tom Exp @
+  * @Id: curs_addch.3x,v 1.76 2023/12/23 16:27: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_addch 3x 2023-12-16 ncurses 6.4 Library calls</TITLE>
+<TITLE>curs_addch 3x 2023-12-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-16 ncurses 6.4 Library calls</H1>
+<H1 class="no-header">curs_addch 3x 2023-12-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>
+</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  <STRONG>putchar(3)</STRONG>  in  <STRONG>stdio(3)</STRONG>.   If  the
-       advance is at the right margin:
+       advanced.  They are analogous to the standard C  library's  <STRONG>putchar(3)</STRONG>.
+       If the advance is at the right margin:
 
        <STRONG>o</STRONG>   The cursor automatically wraps to the beginning of the next line.
 
        OR'ed into characters.
 
 
-</PRE><H3><a name="h3-Echoing-characters">Echoing characters</a></H3><PRE>
+</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
 
 
 
-ncurses 6.4                       2023-12-16                    <STRONG><A HREF="curs_addch.3x.html">curs_addch(3x)</A></STRONG>
+ncurses 6.4                       2023-12-23                    <STRONG><A HREF="curs_addch.3x.html">curs_addch(3x)</A></STRONG>
 </PRE>
 <div class="nav">
 <ul>
@@ -316,8 +316,8 @@ ncurses 6.4                       2023-12-16                    <STRONG><A HREF=
 <li><a href="#h2-SYNOPSIS">SYNOPSIS</a></li>
 <li><a href="#h2-DESCRIPTION">DESCRIPTION</a>
 <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-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>
 </ul>
 </li>
index 56fdf6678f5dc87fe4d49e0da6c1a7abd7599f55..e813235c3e3d371ff70893cdad92ccca55c80029 100644 (file)
@@ -28,7 +28,7 @@
   * sale, use or other dealings in this Software without prior written       *
   * authorization.                                                           *
   ****************************************************************************
-  * @Id: curs_attr.3x,v 1.92 2023/12/16 21:07:24 tom Exp @
+  * @Id: curs_attr.3x,v 1.93 2023/12/23 16:08:25 tom Exp @
   * ---------------------------------------------------------------------------
   * ---------------------------------------------------------------------------
   * ---------------------------------------------------------------------------
 <HEAD>
 <meta http-equiv="Content-Type" content="text/html; charset=us-ascii">
 <meta name="generator" content="Manpage converted by man2html - see https://invisible-island.net/scripts/readme.html#others_scripts">
-<TITLE>curs_attr 3x 2023-12-16 ncurses 6.4 Library calls</TITLE>
+<TITLE>curs_attr 3x 2023-12-23 ncurses 6.4 Library calls</TITLE>
 <link rel="author" href="mailto:bug-ncurses@gnu.org">
 
 </HEAD>
 <BODY>
-<H1 class="no-header">curs_attr 3x 2023-12-16 ncurses 6.4 Library calls</H1>
+<H1 class="no-header">curs_attr 3x 2023-12-23 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>
 
        attributes used for erasing and clearing.
 
 
-</PRE><H3><a name="h3-Window-attributes">Window attributes</a></H3><PRE>
+</PRE><H3><a name="h3-Window-Attributes">Window Attributes</a></H3><PRE>
        There are two sets of functions:
 
        <STRONG>o</STRONG>   functions   for  manipulating  the  window  attributes  and  color:
        together in <EM>attr</EM>, without affecting other attributes.
 
 
-</PRE><H3><a name="h3-Legacy-window-attributes">Legacy window attributes</a></H3><PRE>
+</PRE><H3><a name="h3-Legacy-Window-Attributes">Legacy Window Attributes</a></H3><PRE>
        The  X/Open  window attribute routines which <EM>set</EM> or <EM>get</EM>, turn <EM>on</EM> or <EM>off</EM>
        are extensions of older routines which assume that color pairs are OR'd
        into  the attribute parameter.  These newer routines use similar names,
        although <EM>ncurses</EM> provides <STRONG>getattrs</STRONG> (see <STRONG><A HREF="curs_legacy.3x.html">curs_legacy(3x)</A></STRONG>).
 
 
-</PRE><H3><a name="h3-Change-character-rendition">Change character rendition</a></H3><PRE>
+</PRE><H3><a name="h3-Change-Character-Rendition">Change Character Rendition</a></H3><PRE>
        The  routine  <STRONG>chgat</STRONG>  changes  the  attributes  of  a  given  number  of
        characters  starting at the current cursor location of <STRONG>stdscr</STRONG>.  It does
        not update the cursor and does not perform wrapping.  A character count
        in the first argument of <STRONG>init_pair</STRONG>, see <STRONG><A HREF="curs_color.3x.html">curs_color(3x)</A></STRONG>).
 
 
-</PRE><H3><a name="h3-Change-window-color">Change window color</a></H3><PRE>
+</PRE><H3><a name="h3-Change-Window-Color">Change Window Color</a></H3><PRE>
        The routine <STRONG>color_set</STRONG> sets the current color of the given window to the
        foreground/background  combination  described   by   the   color   <EM>pair</EM>
        parameter.
 
 
 
-ncurses 6.4                       2023-12-16                     <STRONG><A HREF="curs_attr.3x.html">curs_attr(3x)</A></STRONG>
+ncurses 6.4                       2023-12-23                     <STRONG><A HREF="curs_attr.3x.html">curs_attr(3x)</A></STRONG>
 </PRE>
 <div class="nav">
 <ul>
@@ -519,10 +519,10 @@ ncurses 6.4                       2023-12-16                     <STRONG><A HREF
 <li><a href="#h2-SYNOPSIS">SYNOPSIS</a></li>
 <li><a href="#h2-DESCRIPTION">DESCRIPTION</a>
 <ul>
-<li><a href="#h3-Window-attributes">Window attributes</a></li>
-<li><a href="#h3-Legacy-window-attributes">Legacy window attributes</a></li>
-<li><a href="#h3-Change-character-rendition">Change character rendition</a></li>
-<li><a href="#h3-Change-window-color">Change window color</a></li>
+<li><a href="#h3-Window-Attributes">Window Attributes</a></li>
+<li><a href="#h3-Legacy-Window-Attributes">Legacy Window Attributes</a></li>
+<li><a href="#h3-Change-Character-Rendition">Change Character Rendition</a></li>
+<li><a href="#h3-Change-Window-Color">Change Window Color</a></li>
 <li><a href="#h3-Standout">Standout</a></li>
 <li><a href="#h3-Video-Attributes">Video Attributes</a></li>
 </ul>
index 7642671fcd64421fb17ebe6d4cb0d971c2f9033f..078fd79384ea7912f2e10f967eb58a8d86ce807c 100644 (file)
   * sale, use or other dealings in this Software without prior written       *
   * authorization.                                                           *
   ****************************************************************************
-  * @Id: curs_bkgd.3x,v 1.54 2023/12/17 23:31:28 tom Exp @
+  * @Id: curs_bkgd.3x,v 1.55 2023/12/23 16:35:10 tom Exp @
 -->
 <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN">
 <HTML>
 <HEAD>
 <meta http-equiv="Content-Type" content="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-17 ncurses 6.4 Library calls</TITLE>
+<TITLE>curs_bkgd 3x 2023-12-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-17 ncurses 6.4 Library calls</H1>
+<H1 class="no-header">curs_bkgd 3x 2023-12-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>
 
        Unusually, there is no <STRONG>wgetbkgd</STRONG> function; <STRONG>getbkgd</STRONG> behaves as one  would
        expect <STRONG>wgetbkgd</STRONG> to, accepting a <EM>WINDOW</EM> pointer argument.
 
-       <STRONG>bkgd</STRONG> and <STRONG>bkgdset</STRONG> may be available as macros.
+       <STRONG>bkgd</STRONG> and <STRONG>bkgdset</STRONG> may be implemented as macros.
 
        X/Open  Curses  mentions that the character part of the background must
        be a single-byte value.  <EM>ncurses</EM>, like SVr4 <EM>curses</EM>,  checks  to  ensure
 
 
 
-ncurses 6.4                       2023-12-17                     <STRONG><A HREF="curs_bkgd.3x.html">curs_bkgd(3x)</A></STRONG>
+ncurses 6.4                       2023-12-23                     <STRONG><A HREF="curs_bkgd.3x.html">curs_bkgd(3x)</A></STRONG>
 </PRE>
 <div class="nav">
 <ul>
index 604fe92ddcdeea5b177b5c20de2ca600865d4b52..8dcd4c4124ff342c9e18e2221e177f8fb793378c 100644 (file)
   * sale, use or other dealings in this Software without prior written       *
   * authorization.                                                           *
   ****************************************************************************
-  * @Id: curs_bkgrnd.3x,v 1.35 2023/12/16 23:00:21 tom Exp @
+  * @Id: curs_bkgrnd.3x,v 1.36 2023/12/23 16:35:10 tom Exp @
 -->
 <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN">
 <HTML>
 <HEAD>
 <meta http-equiv="Content-Type" content="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-16 ncurses 6.4 Library calls</TITLE>
+<TITLE>curs_bkgrnd 3x 2023-12-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-16 ncurses 6.4 Library calls</H1>
+<H1 class="no-header">curs_bkgrnd 3x 2023-12-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>
 
 
 
 </PRE><H2><a name="h2-NOTES">NOTES</a></H2><PRE>
-       <STRONG>bkgrnd</STRONG>, <STRONG>bkgrndset</STRONG>, and <STRONG>getbkgrnd</STRONG> may be available as macros.
+       <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>
        <STRONG>getbkgrnd</STRONG> and <STRONG>wgetbkgrnd</STRONG> supply the background character and  attribute
 
 
 
-ncurses 6.4                       2023-12-16                   <STRONG><A HREF="curs_bkgrnd.3x.html">curs_bkgrnd(3x)</A></STRONG>
+ncurses 6.4                       2023-12-23                   <STRONG><A HREF="curs_bkgrnd.3x.html">curs_bkgrnd(3x)</A></STRONG>
 </PRE>
 <div class="nav">
 <ul>
index df4b22c765ed02f9b0fe4a3ad5dc722d4f0742bb..964ef4e0c4cd0871390b44396bda2ec94a37d8a9 100644 (file)
   * sale, use or other dealings in this Software without prior written       *
   * authorization.                                                           *
   ****************************************************************************
-  * @Id: curs_color.3x,v 1.93 2023/12/16 21:07:24 tom Exp @
+  * @Id: curs_color.3x,v 1.95 2023/12/23 20:18:13 tom Exp @
 -->
 <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN">
 <HTML>
 <HEAD>
 <meta http-equiv="Content-Type" content="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-16 ncurses 6.4 Library calls</TITLE>
+<TITLE>curs_color 3x 2023-12-23 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-16 ncurses 6.4 Library calls</H1>
+<H1 class="no-header">curs_color 3x 2023-12-23 ncurses 6.4 Library calls</H1>
 <PRE>
 <STRONG><A HREF="curs_color.3x.html">curs_color(3x)</A></STRONG>                   Library calls                  <STRONG><A HREF="curs_color.3x.html">curs_color(3x)</A></STRONG>
 
 </PRE><H2><a name="h2-SYNOPSIS">SYNOPSIS</a></H2><PRE>
        <STRONG>#include</STRONG> <STRONG>&lt;curses.h&gt;</STRONG>
 
+       <EM>/*</EM> <EM>variables</EM> <EM>*/</EM>
+       <STRONG>int</STRONG> <STRONG>COLOR_PAIRS;</STRONG>
+       <STRONG>int</STRONG> <STRONG>COLORS;</STRONG>
+
        <STRONG>int</STRONG> <STRONG>start_color(void);</STRONG>
 
        <STRONG>bool</STRONG> <STRONG>has_colors(void);</STRONG>
 </PRE><H2><a name="h2-DESCRIPTION">DESCRIPTION</a></H2><PRE>
 
 </PRE><H3><a name="h3-Overview">Overview</a></H3><PRE>
-       <EM>curses</EM> supports color attributes on terminals with that capability.  To
-       use  these  routines  <STRONG>start_color</STRONG>  must  be called, usually right after
-       <STRONG>initscr</STRONG>.  Colors are always used in pairs (referred to as color pairs).
-       A  color  pair  consists  of  a foreground color (for characters) and a
-       background color (for the blank  field  on  which  the  characters  are
-       displayed).   A  programmer  initializes  a color pair with the routine
-       <STRONG>init_pair</STRONG>.  After it has been initialized, <STRONG>COLOR_PAIR</STRONG>(<EM>n</EM>) can be used to
-       convert the pair to a video attribute.
-
-       If  a  terminal is capable of redefining colors, the programmer can use
-       the routine <STRONG>init_color</STRONG> to  change  the  definition  of  a  color.   The
-       routines   <STRONG>has_colors</STRONG>   and  <STRONG>can_change_color</STRONG>  return  <STRONG>TRUE</STRONG>  or  <STRONG>FALSE</STRONG>,
-       depending on whether the terminal has color  capabilities  and  whether
-       the programmer can change the colors.  The routine <STRONG>color_content</STRONG> allows
-       a programmer to extract the amounts of red, green, and blue  components
-       in  an initialized color.  The routine <STRONG>pair_content</STRONG> allows a programmer
-       to find out how a given color pair is currently defined.
+       <EM>curses</EM> supports color attributes on  terminals  with  that  capability.
+       Call  <STRONG>start_color</STRONG>  (typically  right  after <STRONG><A HREF="curs_initscr.3x.html">initscr(3x)</A></STRONG>) to enable this
+       feature.  Colors are always used in pairs.   A  <EM>color</EM>  <EM>pair</EM>  couples  a
+       foreground  color  for characters with a background color for the blank
+       field on which characters are rendered.  <STRONG>init_pair</STRONG> initializes a  color
+       pair.   The  macro  <STRONG>COLOR_PAIR</STRONG>(<EM>n</EM>)  can then convert the pair to a video
+       attribute.
+
+       If  a  terminal  has  the  relevant  capability,   <STRONG>init_color</STRONG>   permits
+       (re)definition of a color.  <STRONG>has_colors</STRONG> and <STRONG>can_change_color</STRONG> return <STRONG>TRUE</STRONG>
+       or <STRONG>FALSE</STRONG>, depending on whether the terminal has  color  capability  and
+       whether  the  programmer  can change the colors.  <STRONG>color_content</STRONG> permits
+       extraction of the red, green, and blue  components  of  an  initialized
+       color.   <STRONG>pair_content</STRONG>  permits  discovery  of  a  color  pair's current
+       definition.
 
 
-</PRE><H3><a name="h3-Color-Rendering">Color Rendering</a></H3><PRE>
-       The  <EM>curses</EM>  library  combines  these  inputs  to  produce  the  actual
-       foreground and background colors shown on the screen:
+</PRE><H3><a name="h3-Rendering">Rendering</a></H3><PRE>
+       <EM>curses</EM> combines the following data to render a character cell.  Any  of
+       them can include color information.
 
-       <STRONG>o</STRONG>   per-character video attributes (e.g., via <STRONG>waddch</STRONG>),
+       <STRONG>o</STRONG>   <EM>curses</EM> character attributes, as from <STRONG><A HREF="curs_addch.3x.html">waddch(3x)</A></STRONG> or <STRONG><A HREF="curs_add_wch.3x.html">wadd_wch(3x)</A></STRONG>
 
-       <STRONG>o</STRONG>   the window attribute (e.g., by <STRONG>wattrset</STRONG>), and
+       <STRONG>o</STRONG>   window attributes, as from <STRONG><A HREF="curs_attr.3x.html">wattrset(3x)</A></STRONG> or <STRONG><A HREF="curs_attr.3x.html">wattr_set(3x)</A></STRONG>
 
-       <STRONG>o</STRONG>   the background character (e.g., <STRONG>wbkgdset</STRONG>).
+       <STRONG>o</STRONG>   window  background  character  atttributes, as from <STRONG><A HREF="curs_bkgd.3x.html">wbkgdset(3x)</A></STRONG> or
+           <STRONG><A HREF="curs_bkgrnd.3x.html">wbkgrndset(3x)</A></STRONG>
 
-       Per-character  and  window  attributes  are  usually set by a parameter
-       containing  video  attributes  including  a  color  pair  value.   Some
-       functions such as <STRONG>wattr_set</STRONG> use a separate parameter which is the color
-       pair number.
+       Per-character and window attributes are usually set through a  function
+       parameter  containing  attributes  including  a color pair value.  Some
+       functions,  such  as  <STRONG>wattr_set</STRONG>,  use  a  separate  color  pair  number
+       parameter.
 
-       The background character is a special case:  it  includes  a  character
-       value, just as if it were passed to <STRONG>waddch</STRONG>.
+       The  background  character  is  a special case: it includes a character
+       code, just as if it were passed to <STRONG>waddch</STRONG>.
 
-       The  <EM>curses</EM> library does the actual work of combining these color pairs
+       The <EM>curses</EM> library does the actual work of combining these color  pairs
        in an internal function called from <STRONG>waddch</STRONG>:
 
        <STRONG>o</STRONG>   If the parameter passed to <STRONG>waddch</STRONG> is <EM>blank</EM>, and it uses the special
 
            <STRONG>o</STRONG>   <EM>curses</EM> next checks the window attribute.
 
-           <STRONG>o</STRONG>   If  the window attribute does not use color pair 0, <EM>curses</EM> uses
+           <STRONG>o</STRONG>   If the window attribute does not use color pair 0, <EM>curses</EM>  uses
                the color pair from the window attribute.
 
            <STRONG>o</STRONG>   Otherwise, <EM>curses</EM> uses the background character.
 
-       <STRONG>o</STRONG>   If the parameter passed to <STRONG>waddch</STRONG> is <EM>not</EM> <EM>blank</EM>, or it does not  use
-           the  special  color  pair 0, <EM>curses</EM> prefers the color pair from the
-           parameter, if it  is  nonzero.   Otherwise,  it  tries  the  window
+       <STRONG>o</STRONG>   If  the parameter passed to <STRONG>waddch</STRONG> is <EM>not</EM> <EM>blank</EM>, or it does not use
+           the special color pair 0, <EM>curses</EM> prefers the color  pair  from  the
+           parameter,  if  it  is  nonzero.   Otherwise,  it  tries the window
            attribute next, and finally the background character.
 
-       Some  <EM>curses</EM>  functions  such  as  <STRONG>wprintw</STRONG>  call  <STRONG>waddch</STRONG>.  Those do not
-       combine its parameter with a color pair.  Consequently those calls  use
+       Some <EM>curses</EM> functions such  as  <STRONG>wprintw</STRONG>  call  <STRONG>waddch</STRONG>.   Those  do  not
+       combine  its parameter with a color pair.  Consequently those calls use
        only the window attribute or the background character.
 
 
              <STRONG>COLOR_CYAN</STRONG>
              <STRONG>COLOR_WHITE</STRONG>
 
-       Some  terminals  support  more than the eight (8) "ANSI" colors.  There
+       Some terminals support more than the eight (8)  "ANSI"  colors.   There
        are no standard names for those additional colors.
 
 
 </PRE><H2><a name="h2-VARIABLES">VARIABLES</a></H2><PRE>
 
 </PRE><H3><a name="h3-COLORS">COLORS</a></H3><PRE>
-       is initialized by <STRONG>start_color</STRONG> to  the  maximum  number  of  colors  the
+       is  initialized  by  <STRONG>start_color</STRONG>  to  the  maximum number of colors the
        terminal can support.
 
 
 </PRE><H3><a name="h3-COLOR_PAIRS">COLOR_PAIRS</a></H3><PRE>
-       is  initialized by <STRONG>start_color</STRONG> to the maximum number of color pairs the
-       terminal can support.
+       is initialized by <STRONG>start_color</STRONG> to the maximum number of color pairs  the
+       terminal can support.  Often, its value is the product <STRONG>COLORS</STRONG> x <STRONG>COLORS</STRONG>,
+       but this is not always true.
+
+       <STRONG>o</STRONG>   A few terminals use the HLS color space  (see  <STRONG>start_color</STRONG>  below),
+           ignoring this rule; and
+
+       <STRONG>o</STRONG>   terminals  supporting  a  large number of colors are limited to the
+           number of color pairs that a <EM>signed</EM> <EM>short</EM> value can represent.
 
 
 </PRE><H2><a name="h2-FUNCTIONS">FUNCTIONS</a></H2><PRE>
 
 </PRE><H2><a name="h2-EXTENSIONS">EXTENSIONS</a></H2><PRE>
        The functions marked as extensions were designed for  <STRONG><A HREF="ncurses.3x.html">ncurses(3x)</A></STRONG>,  and
-       are  not  found  in  SVr4  curses, 4.4BSD curses, or any other previous
-       version of curses.
+       are  not  found  in  SVr4  <EM>curses</EM>, 4.4BSD <EM>curses</EM>, or any other previous
+       curses implementation.
 
 
 </PRE><H2><a name="h2-PORTABILITY">PORTABILITY</a></H2><PRE>
-       This implementation satisfies XSI Curses's minimum maximums for  <STRONG>COLORS</STRONG>
+       Applications employing <EM>ncurses</EM> extensions should condition their use on
+       the visibility of the <STRONG>NCURSES_VERSION</STRONG> preprocessor macro.
+
+       This  implementation satisfies XSI Curses's minimum maximums for <STRONG>COLORS</STRONG>
        and <STRONG>COLOR_PAIRS</STRONG>.
 
        The  <STRONG>init_pair</STRONG>  routine  accepts  negative  values  of  foreground  and
-       background color to support the <STRONG><A HREF="default_colors.3x.html">use_default_colors(3x)</A></STRONG>  extension,  but
+       background  color  to support the <STRONG><A HREF="default_colors.3x.html">use_default_colors(3x)</A></STRONG> extension, but
        only if that routine has been first invoked.
 
        The assumption that <STRONG>COLOR_BLACK</STRONG> is the default background color for all
-       terminals  can  be   modified   using   the   <STRONG><A HREF="default_colors.3x.html">assume_default_colors(3x)</A></STRONG>
+       terminals   can   be   modified   using  the  <STRONG><A HREF="default_colors.3x.html">assume_default_colors(3x)</A></STRONG>
        extension.
 
-       This  implementation checks the pointers, e.g., for the values returned
-       by <STRONG>color_content</STRONG> and <STRONG>pair_content</STRONG>, and will  treat  those  as  optional
+       This implementation checks the pointers, e.g., for the values  returned
+       by  <STRONG>color_content</STRONG>  and  <STRONG>pair_content</STRONG>,  and will treat those as optional
        parameters when null.
 
-       X/Open  Curses  does  not  specify a limit for the number of colors and
+       X/Open Curses does not specify a limit for the  number  of  colors  and
        color pairs which a terminal can support.  However, in its use of <STRONG>short</STRONG>
-       for  the  parameters,  it carries over SVr4's implementation detail for
+       for the parameters, it carries over SVr4's  implementation  detail  for
        the compiled terminfo database, which uses signed 16-bit numbers.  This
-       implementation  provides extended versions of those functions which use
-       <STRONG>short</STRONG> parameters, allowing applications to use larger color- and  pair-
+       implementation provides extended versions of those functions which  use
+       <STRONG>short</STRONG>  parameters, allowing applications to use larger color- and pair-
        numbers.
 
        The <STRONG>reset_color_pairs</STRONG> function is an extension of <EM>ncurses</EM>.
 </PRE><H2><a name="h2-HISTORY">HISTORY</a></H2><PRE>
        SVr3.2 introduced color support to curses in 1987.
 
-       SVr4  made  internal  changes,  e.g.,  moving the storage for the color
-       state  from  <STRONG>SP</STRONG>  (the  <STRONG>SCREEN</STRONG>  structure)  to  <STRONG>cur_term</STRONG>  (the  <STRONG>TERMINAL</STRONG>
+       SVr4 made internal changes, e.g., moving  the  storage  for  the  color
+       state  from  <STRONG>SP</STRONG>  (the  <EM>SCREEN</EM>  structure)  to  <STRONG>cur_term</STRONG>  (the  <EM>TERMINAL</EM>
        structure), but provided the same set of library functions.
 
-       SVr4  curses  limits  the  number of color pairs to 64, reserving color
-       pair zero (0) as the terminal's initial uncolored  state.   This  limit
-       arises  because  the color pair information is a bitfield in the <STRONG>chtype</STRONG>
+       SVr4 curses limits the number of color pairs  to  64,  reserving  color
+       pair  zero  (0)  as the terminal's initial uncolored state.  This limit
+       arises because the color pair information is a bitfield in  the  <STRONG>chtype</STRONG>
        data type (denoted by <STRONG>A_COLOR</STRONG>).
 
        Other implementations of curses had different limits:
 
        <STRONG>o</STRONG>   X/Open Curses (1992-present) added a new structure <STRONG>cchar_t</STRONG> to store
            the character, attributes and color pair values, allowing increased
-           range of color pairs.  Both color pairs  and  color-values  used  a
+           range  of  color  pairs.   Both color pairs and color-values used a
            signed <STRONG>short</STRONG>, limiting values to 15 bits.
 
-       <STRONG>o</STRONG>   <EM>ncurses</EM>  (1992-present)  uses  eight  bits  for  <STRONG>A_COLOR</STRONG>  in <STRONG>chtype</STRONG>
+       <STRONG>o</STRONG>   <EM>ncurses</EM> (1992-present)  uses  eight  bits  for  <STRONG>A_COLOR</STRONG>  in  <STRONG>chtype</STRONG>
            values.
 
-           Version 5.3 provided a wide-character interface  (2002),  but  left
+           Version  5.3  provided  a wide-character interface (2002), but left
            color pairs as part of the attributes-field.
 
            Since version 6 (2015), ncurses uses a separate <STRONG>int</STRONG> for color pairs
            in the <STRONG>cchar_t</STRONG> values.  When those color pair values fit in 8 bits,
-           ncurses  allows  color  pairs  to  be manipulated via the functions
+           ncurses allows color pairs to  be  manipulated  via  the  functions
            using <STRONG>chtype</STRONG> values.
 
-       <STRONG>o</STRONG>   NetBSD curses used  6  bits  from  2000  (when  colors  were  first
-           supported)  until  2004.   At  that point, NetBSD changed to use 10
-           bits.  As of 2021, that size is  unchanged.   Like  <EM>ncurses</EM>  before
-           version  6,  the  NetBSD  color  pair  information is stored in the
-           attributes field of <STRONG>cchar_t</STRONG>, limiting the number of color pairs  by
+       <STRONG>o</STRONG>   NetBSD  curses  used  6  bits  from  2000  (when  colors were first
+           supported) until 2004.  At that point, NetBSD  changed  to  use  10
+           bits.   As  of  2021,  that size is unchanged.  Like <EM>ncurses</EM> before
+           version 6, the NetBSD color  pair  information  is  stored  in  the
+           attributes  field of <STRONG>cchar_t</STRONG>, limiting the number of color pairs by
            the size of the bitfield.
 
 
 </PRE><H2><a name="h2-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_initscr.3x.html">curs_initscr(3x)</A></STRONG>,   <STRONG><A HREF="curs_variables.3x.html">curs_variables(3x)</A></STRONG>,
+       <STRONG><A HREF="ncurses.3x.html">curses(3x)</A></STRONG>,   <STRONG><A HREF="curs_attr.3x.html">curs_attr(3x)</A></STRONG>,   <STRONG><A HREF="curs_initscr.3x.html">curs_initscr(3x)</A></STRONG>,    <STRONG><A HREF="curs_variables.3x.html">curs_variables(3x)</A></STRONG>,
        <STRONG><A HREF="default_colors.3x.html">default_colors(3x)</A></STRONG>
 
 
 
-ncurses 6.4                       2023-12-16                    <STRONG><A HREF="curs_color.3x.html">curs_color(3x)</A></STRONG>
+ncurses 6.4                       2023-12-23                    <STRONG><A HREF="curs_color.3x.html">curs_color(3x)</A></STRONG>
 </PRE>
 <div class="nav">
 <ul>
@@ -535,7 +548,7 @@ ncurses 6.4                       2023-12-16                    <STRONG><A HREF=
 <li><a href="#h2-DESCRIPTION">DESCRIPTION</a>
 <ul>
 <li><a href="#h3-Overview">Overview</a></li>
-<li><a href="#h3-Color-Rendering">Color Rendering</a></li>
+<li><a href="#h3-Rendering">Rendering</a></li>
 </ul>
 </li>
 <li><a href="#h2-CONSTANTS">CONSTANTS</a></li>
index 8dc4cf7594347a972d33051914055666a2d2ab0e..32b507a33afe3b1dc089be0df9b2196d8b7adfce 100644 (file)
   * authorization.                                                           *
   ****************************************************************************
   * Author: Thomas E. Dickey 1999-on
-  * @Id: curs_extend.3x,v 1.43 2023/12/16 20:32:22 tom Exp @
+  * @Id: curs_extend.3x,v 1.44 2023/12/23 16:36: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_extend 3x 2023-12-16 ncurses 6.4 Library calls</TITLE>
+<TITLE>curs_extend 3x 2023-12-23 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-16 ncurses 6.4 Library calls</H1>
+<H1 class="no-header">curs_extend 3x 2023-12-23 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>
 
        this and restore it.
 
 
+</PRE><H2><a name="h2-EXTENSIONS">EXTENSIONS</a></H2><PRE>
+       These  functions  are <STRONG><A HREF="ncurses.3x.html">ncurses(3x)</A></STRONG> extensions, and are not found in SVr4
+       <EM>curses</EM>, 4.4BSD <EM>curses</EM>, or any other previous curses implementation.
+
+
 </PRE><H2><a name="h2-PORTABILITY">PORTABILITY</a></H2><PRE>
-       These  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 them be conditioned using NCURSES_VERSION.
+       Applications employing <EM>ncurses</EM> extensions should condition their use on
+       the visibility of the <STRONG>NCURSES_VERSION</STRONG> preprocessor macro.
 
 
 </PRE><H2><a name="h2-AUTHORS">AUTHORS</a></H2><PRE>
 
 
 
-ncurses 6.4                       2023-12-16                   <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>
 </PRE>
 <div class="nav">
 <ul>
@@ -118,6 +122,7 @@ ncurses 6.4                       2023-12-16                   <STRONG><A HREF="
 </ul>
 </li>
 <li><a href="#h2-RETURN-VALUE">RETURN VALUE</a></li>
+<li><a href="#h2-EXTENSIONS">EXTENSIONS</a></li>
 <li><a href="#h2-PORTABILITY">PORTABILITY</a></li>
 <li><a href="#h2-AUTHORS">AUTHORS</a></li>
 <li><a href="#h2-SEE-ALSO">SEE ALSO</a></li>
index 38e0e20995a5a08b8c35b55bff3f82a60cb4ebeb..c639d28aca4e69901bb2f4e74ef69e376083f57e 100644 (file)
   * sale, use or other dealings in this Software without prior written       *
   * authorization.                                                           *
   ****************************************************************************
-  * @Id: curs_get_wch.3x,v 1.30 2023/11/25 13:58:47 tom Exp @
+  * @Id: curs_get_wch.3x,v 1.31 2023/12/23 16:35:10 tom Exp @
 -->
 <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN">
 <HTML>
 <HEAD>
 <meta http-equiv="Content-Type" content="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-11-25 ncurses 6.4 Library calls</TITLE>
+<TITLE>curs_get_wch 3x 2023-12-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-11-25 ncurses 6.4 Library calls</H1>
+<H1 class="no-header">curs_get_wch 3x 2023-12-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>
 
        on  the  state  of  the  tty  driver  when each character is typed, the
        program may produce undesirable results.
 
-       All of these symbols except <STRONG>wget_wch</STRONG> and <STRONG>unget_wch</STRONG> may be available  as
-       macros.
+       All of these functions except <STRONG>wget_wch</STRONG> and <STRONG>unget_wch</STRONG> may be implemented
+       as macros.
 
 
 </PRE><H2><a name="h2-PORTABILITY">PORTABILITY</a></H2><PRE>
 
 
 
-ncurses 6.4                       2023-11-25                  <STRONG><A HREF="curs_get_wch.3x.html">curs_get_wch(3x)</A></STRONG>
+ncurses 6.4                       2023-12-23                  <STRONG><A HREF="curs_get_wch.3x.html">curs_get_wch(3x)</A></STRONG>
 </PRE>
 <div class="nav">
 <ul>
index 7246a2bd5fb3528e62ba7d393e1e233b54d4f0d4..a005043c832a2cf16a0db3fb462a326077a1844d 100644 (file)
   * sale, use or other dealings in this Software without prior written       *
   * authorization.                                                           *
   ****************************************************************************
-  * @Id: curs_getch.3x,v 1.76 2023/12/16 21:01:28 tom Exp @
+  * @Id: curs_getch.3x,v 1.77 2023/12/23 16:36:18 tom Exp @
 -->
 <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN">
 <HTML>
 <HEAD>
 <meta http-equiv="Content-Type" content="text/html; charset=us-ascii">
 <meta name="generator" content="Manpage converted by man2html - see https://invisible-island.net/scripts/readme.html#others_scripts">
-<TITLE>curs_getch 3x 2023-12-16 ncurses 6.4 Library calls</TITLE>
+<TITLE>curs_getch 3x 2023-12-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 2023-12-16 ncurses 6.4 Library calls</H1>
+<H1 class="no-header">curs_getch 3x 2023-12-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>
 
@@ -68,7 +68,7 @@
 
 </PRE><H2><a name="h2-DESCRIPTION">DESCRIPTION</a></H2><PRE>
 
-</PRE><H3><a name="h3-Reading-characters">Reading characters</a></H3><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
@@ -98,7 +98,7 @@
        is read.
 
 
-</PRE><H3><a name="h3-Keypad-mode">Keypad mode</a></H3><PRE>
+</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:
 
        pressed.
 
 
-</PRE><H3><a name="h3-Ungetting-characters">Ungetting characters</a></H3><PRE>
+</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.
 
 
-</PRE><H3><a name="h3-Predefined-key-codes">Predefined key-codes</a></H3><PRE>
+</PRE><H3><a name="h3-Predefined-Key-Codes">Predefined Key Codes</a></H3><PRE>
        The following special keys are defined in <STRONG>&lt;curses.h&gt;</STRONG>.
 
        <STRONG>o</STRONG>   Except  for  the special case <STRONG>KEY_RESIZE</STRONG>, it is necessary to enable
            escape sequences, just like a function key.
 
 
-</PRE><H3><a name="h3-Testing-key-codes">Testing key-codes</a></H3><PRE>
+</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.
        mapped to <STRONG>KEY_IC</STRONG>.
 
 
+</PRE><H2><a name="h2-EXTENSIONS">EXTENSIONS</a></H2><PRE>
+       <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.
+
+
 </PRE><H2><a name="h2-PORTABILITY">PORTABILITY</a></H2><PRE>
-       The  *get* functions are described in the XSI Curses standard, Issue 4.
-       They read single-byte characters only.   The  standard  specifies  that
-       they return <STRONG>ERR</STRONG> on failure, but specifies no error conditions.
-
-       The  echo  behavior  of  these  functions on input of <STRONG>KEY_</STRONG> or backspace
-       characters  was  not  specified  in  the  SVr4   documentation.    This
-       description is adopted from the XSI Curses standard.
-
-       The behavior of <STRONG>getch</STRONG> and friends in the presence of handled signals is
-       unspecified in the SVr4 and XSI Curses documentation.  Under historical
-       curses  implementations,  it  varied depending on whether the operating
-       system's implementation of handled signal receipt interrupts a  <STRONG>read(2)</STRONG>
-       call  in  progress or not, and also (in some implementations) depending
-       on whether an input timeout or non-blocking mode has been set.
-
-       <STRONG>KEY_MOUSE</STRONG> is mentioned in XSI Curses, along with a few related terminfo
-       capabilities,  but  no  higher-level  functions  use  the feature.  The
+       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.
+
+       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.
+
+       <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
        implementation in <EM>ncurses</EM> is an extension.
 
-       <STRONG>KEY_RESIZE</STRONG> is an  extension  first  implemented  for  <EM>ncurses</EM>.   NetBSD
-       curses later added this extension.
+       <STRONG>KEY_RESIZE</STRONG>  is  an  extension  first  implemented  for <EM>ncurses.</EM>  NetBSD
+       <EM>curses</EM> later added this extension.
 
-       Programmers  concerned  about portability should be prepared for either
-       of two cases: (a) signal receipt does not interrupt <STRONG>getch</STRONG>;  (b)  signal
-       receipt  interrupts <STRONG>getch</STRONG> and causes it to return <STRONG>ERR</STRONG> with <STRONG>errno</STRONG> set to
+       Programmers concerned about portability should be prepared  for  either
+       of  two  cases: (a) signal receipt does not interrupt <STRONG>getch</STRONG>; (b) signal
+       receipt interrupts <STRONG>getch</STRONG> and causes it to return <STRONG>ERR</STRONG> with <STRONG>errno</STRONG> set  to
        <STRONG>EINTR</STRONG>.
 
-       The <STRONG>has_key</STRONG> function is unique to <EM>ncurses</EM>.  We recommend that any  code
+       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.
 
 
        <STRONG><A HREF="ncurses.3x.html">curses(3x)</A></STRONG>,     <STRONG><A HREF="curs_inopts.3x.html">curs_inopts(3x)</A></STRONG>,     <STRONG><A HREF="curs_mouse.3x.html">curs_mouse(3x)</A></STRONG>,     <STRONG><A HREF="curs_move.3x.html">curs_move(3x)</A></STRONG>,
        <STRONG><A HREF="curs_outopts.3x.html">curs_outopts(3x)</A></STRONG>, <STRONG><A HREF="curs_refresh.3x.html">curs_refresh(3x)</A></STRONG>, <STRONG><A HREF="curs_variables.3x.html">curs_variables(3x)</A></STRONG>, <STRONG><A HREF="resizeterm.3x.html">resizeterm(3x)</A></STRONG>
 
-       Comparable functions  in  the  wide-character  (ncursesw)  library  are
+       Comparable  functions  in  the  wide-character  (ncursesw)  library are
        described in <STRONG><A HREF="curs_get_wch.3x.html">curs_get_wch(3x)</A></STRONG>.
 
 
 
-ncurses 6.4                       2023-12-16                    <STRONG><A HREF="curs_getch.3x.html">curs_getch(3x)</A></STRONG>
+ncurses 6.4                       2023-12-23                    <STRONG><A HREF="curs_getch.3x.html">curs_getch(3x)</A></STRONG>
 </PRE>
 <div class="nav">
 <ul>
@@ -391,15 +400,16 @@ ncurses 6.4                       2023-12-16                    <STRONG><A HREF=
 <li><a href="#h2-SYNOPSIS">SYNOPSIS</a></li>
 <li><a href="#h2-DESCRIPTION">DESCRIPTION</a>
 <ul>
-<li><a href="#h3-Reading-characters">Reading characters</a></li>
-<li><a href="#h3-Keypad-mode">Keypad mode</a></li>
-<li><a href="#h3-Ungetting-characters">Ungetting characters</a></li>
-<li><a href="#h3-Predefined-key-codes">Predefined key-codes</a></li>
-<li><a href="#h3-Testing-key-codes">Testing key-codes</a></li>
+<li><a href="#h3-Reading-Characters">Reading Characters</a></li>
+<li><a href="#h3-Keypad-Mode">Keypad Mode</a></li>
+<li><a href="#h3-Ungetting-Characters">Ungetting Characters</a></li>
+<li><a href="#h3-Predefined-Key-Codes">Predefined Key Codes</a></li>
+<li><a href="#h3-Testing-Key-Codes">Testing Key Codes</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>
index 995f186d6511ee8f98ba0fbc0b43121a36c6eabe..8179e408f556966f235e078bb1a9faceb9abc068 100644 (file)
   * sale, use or other dealings in this Software without prior written       *
   * authorization.                                                           *
   ****************************************************************************
-  * @Id: curs_initscr.3x,v 1.59 2023/12/17 23:56:04 tom Exp @
+  * @Id: curs_initscr.3x,v 1.60 2023/12/23 16:27: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>curs_initscr 3x 2023-12-17 ncurses 6.4 Library calls</TITLE>
+<TITLE>curs_initscr 3x 2023-12-23 ncurses 6.4 Library calls</TITLE>
 <link rel="author" href="mailto:bug-ncurses@gnu.org">
 
 </HEAD>
 <BODY>
-<H1 class="no-header">curs_initscr 3x 2023-12-17 ncurses 6.4 Library calls</H1>
+<H1 class="no-header">curs_initscr 3x 2023-12-23 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>
 
@@ -87,7 +87,7 @@
        use <STRONG>newterm</STRONG>.
 
        The  routine  <STRONG>newterm</STRONG>  should  be  called  once  for each terminal.  It
-       returns a variable of  type  <STRONG>SCREEN</STRONG>  <STRONG>*</STRONG>  which  should  be  saved  as  a
+       returns a variable of  type  <EM>SCREEN</EM>  <EM>*</EM>  which  should  be  saved  as  a
        reference to that terminal.  <STRONG>newterm</STRONG>'s arguments are
 
        <STRONG>o</STRONG>   the <EM>type</EM> of the terminal to be used in place of <STRONG>$TERM</STRONG>,
@@ -99,8 +99,8 @@
        If the <EM>type</EM> parameter is <STRONG>NULL</STRONG>, <STRONG>$TERM</STRONG> will be used.
 
        The  file  descriptor  of the output stream is passed to <STRONG><A HREF="curs_terminfo.3x.html">setupterm(3x)</A></STRONG>,
-       which returns a pointer to  a  <STRONG>TERMINAL</STRONG>  structure.   <STRONG>newterm</STRONG>'s  return
-       value holds a pointer to the <STRONG>TERMINAL</STRONG> structure.
+       which returns a pointer to  a  <EM>TERMINAL</EM>  structure.   <STRONG>newterm</STRONG>'s  return
+       value holds a pointer to the <EM>TERMINAL</EM> structure.
 
 
 </PRE><H3><a name="h3-endwin">endwin</a></H3><PRE>
        The  <STRONG>set_term</STRONG>  routine  is  used to switch between different terminals.
        The screen  reference  <EM>new</EM>  becomes  the  new  current  terminal.   The
        previous terminal is returned by the routine.  This is the only routine
-       which manipulates <STRONG>SCREEN</STRONG> pointers; all other routines affect  only  the
+       which manipulates <EM>SCREEN</EM> pointers; all other routines affect  only  the
        current terminal.
 
 
 </PRE><H3><a name="h3-delscreen">delscreen</a></H3><PRE>
-       The  <STRONG>delscreen</STRONG>  routine  frees  storage associated with the <STRONG>SCREEN</STRONG> data
+       The  <STRONG>delscreen</STRONG>  routine  frees  storage associated with the <EM>SCREEN</EM> data
        structure.  The <STRONG>endwin</STRONG> routine does not do this, so <STRONG>delscreen</STRONG> should be
-       called after <STRONG>endwin</STRONG> if a particular <STRONG>SCREEN</STRONG> is no longer needed.
+       called after <STRONG>endwin</STRONG> if a particular <EM>SCREEN</EM> is no longer needed.
 
 
 </PRE><H2><a name="h2-RETURN-VALUE">RETURN VALUE</a></H2><PRE>
        redundant to check the return value of <STRONG>initscr</STRONG> in XSI Curses.
 
        Calling  <STRONG>endwin</STRONG>  does not dispose of the memory allocated in <STRONG>initscr</STRONG> or
-       <STRONG>newterm</STRONG>.  Deleting a <STRONG>SCREEN</STRONG> provides a way to do this:
+       <STRONG>newterm</STRONG>.  Deleting a <EM>SCREEN</EM> provides a way to do this:
 
-       <STRONG>o</STRONG>   X/Open Curses does not say what happens to <STRONG>WINDOW</STRONG>s  when  <STRONG>delscreen</STRONG>
-           "frees  storage  associated  with  the  <STRONG>SCREEN</STRONG>"  nor  does the SVr4
+       <STRONG>o</STRONG>   X/Open Curses does not say what happens to <EM>WINDOW</EM>s  when  <STRONG>delscreen</STRONG>
+           "frees  storage  associated  with  the  <EM>SCREEN</EM>"  nor  does the SVr4
            documentation help, adding that it should be called after <STRONG>endwin</STRONG> if
-           a <STRONG>SCREEN</STRONG> is no longer needed.
+           a <EM>SCREEN</EM> is no longer needed.
 
-       <STRONG>o</STRONG>   However,  <STRONG>WINDOW</STRONG>s are implicitly associated with a <STRONG>SCREEN</STRONG>.  so that
+       <STRONG>o</STRONG>   However,  <EM>WINDOW</EM>s are implicitly associated with a <EM>SCREEN</EM>.  so that
            it is reasonable to expect <STRONG>delscreen</STRONG> to deal with these.
 
-       <STRONG>o</STRONG>   SVr4 curses deletes  the  standard  <STRONG>WINDOW</STRONG>  structures  <STRONG>stdscr</STRONG>  and
+       <STRONG>o</STRONG>   SVr4 curses deletes  the  standard  <EM>WINDOW</EM>  structures  <STRONG>stdscr</STRONG>  and
            <STRONG>curscr</STRONG>  as  well  as a work area <STRONG>newscr</STRONG>.  SVr4 curses ignores other
            windows.
 
            windows when <STRONG>delscreen</STRONG> is called.
 
        <STRONG>o</STRONG>   NetBSD copied this feature of <EM>ncurses</EM> in  2001.   PDCurses  follows
-           the SVr4 model, deleting only the standard <STRONG>WINDOW</STRONG> structures.
+           the SVr4 model, deleting only the standard <EM>WINDOW</EM> structures.
 
 
 </PRE><H3><a name="h3-High-level-versus-Low-level">High-level versus Low-level</a></H3><PRE>
        Different  implementations  may  disagree  regarding  the level of some
-       functions.  For example, <STRONG>SCREEN</STRONG>  (returned  by  <STRONG>newterm</STRONG>)  and  <STRONG>TERMINAL</STRONG>
+       functions.  For example, <EM>SCREEN</EM>  (returned  by  <STRONG>newterm</STRONG>)  and  <EM>TERMINAL</EM>
        (returned  by  <STRONG><A HREF="curs_terminfo.3x.html">setupterm(3x)</A></STRONG>)  hold  file  descriptors  for  the output
        stream.  If an application switches screens using <STRONG>set_term</STRONG>, or switches
        terminals using <STRONG><A HREF="curs_terminfo.3x.html">set_curterm(3x)</A></STRONG>, applications which use the output file
 
        For example
 
-       <STRONG>o</STRONG>   NetBSD's  <STRONG><A HREF="curs_termattrs.3x.html">baudrate(3x)</A></STRONG>  function  uses  the descriptor in <STRONG>TERMINAL</STRONG>.
-           <EM>ncurses</EM> and SVr4 use the descriptor in <STRONG>SCREEN</STRONG>.
+       <STRONG>o</STRONG>   NetBSD's  <STRONG><A HREF="curs_termattrs.3x.html">baudrate(3x)</A></STRONG>  function  uses  the descriptor in <EM>TERMINAL</EM>.
+           <EM>ncurses</EM> and SVr4 use the descriptor in <EM>SCREEN</EM>.
 
-       <STRONG>o</STRONG>   NetBSD and <EM>ncurses</EM> use the descriptor in <STRONG>TERMINAL</STRONG> for terminal  I/O
+       <STRONG>o</STRONG>   NetBSD and <EM>ncurses</EM> use the descriptor in <EM>TERMINAL</EM> for terminal  I/O
            modes,  e.g.,  <STRONG><A HREF="curs_kernel.3x.html">def_shell_mode(3x)</A></STRONG>,  <STRONG><A HREF="curs_kernel.3x.html">def_prog_mode(3x)</A></STRONG>.  SVr4 curses
-           uses the descriptor in <STRONG>SCREEN</STRONG>.
+           uses the descriptor in <EM>SCREEN</EM>.
 
    <STRONG>Unset</STRONG> <EM>TERM</EM> <STRONG>Variable</STRONG>
        If the <EM>TERM</EM> variable is  missing  or  empty,  <STRONG>initscr</STRONG>  uses  the  value
             The handler <EM>attempts</EM> to cleanup the screen on exit.   Although  it
             <EM>usually</EM> works as expected, there are limitations:
 
-            <STRONG>o</STRONG>   Walking  the  <STRONG>SCREEN</STRONG> list is unsafe, since all list management
+            <STRONG>o</STRONG>   Walking  the  <EM>SCREEN</EM> list is unsafe, since all list management
                 is done without any signal blocking.
 
             <STRONG>o</STRONG>   On systems which  have  <STRONG>REENTRANT</STRONG>  turned  on,  <STRONG>set_term</STRONG>  uses
                 functions which could deadlock or misbehave in other ways.
 
-            <STRONG>o</STRONG>   <STRONG>endwin</STRONG> calls other functions, many of which use stdio or other
-                library functions which are clearly unsafe.
+            <STRONG>o</STRONG>   <STRONG>endwin</STRONG>  calls  other  functions, many of which use <STRONG>stdio(3)</STRONG> or
+                other library functions which are clearly unsafe.
 
        <STRONG>SIGTERM</STRONG>
             This uses the same handler as <STRONG>SIGINT</STRONG>, with the  same  limitations.
 
 
 
-ncurses 6.4                       2023-12-17                  <STRONG><A HREF="curs_initscr.3x.html">curs_initscr(3x)</A></STRONG>
+ncurses 6.4                       2023-12-23                  <STRONG><A HREF="curs_initscr.3x.html">curs_initscr(3x)</A></STRONG>
 </PRE>
 <div class="nav">
 <ul>
index d9a8d55ee0b1d5cb1afbf58bc9158fcec5f01360..76f43fbda7d0c5a30646e0029f42426a1cf9435a 100644 (file)
   * sale, use or other dealings in this Software without prior written       *
   * authorization.                                                           *
   ****************************************************************************
-  * @Id: curs_inopts.3x,v 1.59 2023/12/16 20:32:22 tom Exp @
+  * @Id: curs_inopts.3x,v 1.60 2023/12/23 16:36: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_inopts 3x 2023-12-16 ncurses 6.4 Library calls</TITLE>
+<TITLE>curs_inopts 3x 2023-12-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-16 ncurses 6.4 Library calls</H1>
+<H1 class="no-header">curs_inopts 3x 2023-12-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>
 
 
 
 </PRE><H2><a name="h2-DESCRIPTION">DESCRIPTION</a></H2><PRE>
-       The <EM>ncurses</EM> library provides several functions which let an application
-       change  the  way  input from the terminal is handled.  Some are global,
-       applying to all windows.  Others  apply  only  to  a  specific  window.
-       Window-specific  settings  are  not  automatically  applied  to  new or
-       derived windows.  An application must apply these to  each  window,  if
-       the same behavior is needed.
-
-
-</PRE><H3><a name="h3-cbreak_nocbreak">cbreak/nocbreak</a></H3><PRE>
-       Normally,  the  tty  driver buffers typed characters until a newline or
-       carriage return is typed.  The <STRONG>cbreak</STRONG> routine disables  line  buffering
-       and   erase/kill   character-processing  (interrupt  and  flow  control
-       characters  are  unaffected),  making  characters  typed  by  the  user
+       <EM>ncurses</EM> provides several functions that let an application  change  the
+       way  input  from the terminal is handled.  Some are global, applying to
+       all windows.  Others apply only to a specific window.   Window-specific
+       settings  are  not automatically applied to new or derived windows.  An
+       application must apply these to each window if  the  same  behavior  is
+       desired.
+
+
+</PRE><H3><a name="h3-cbreak_-nocbreak">cbreak, nocbreak</a></H3><PRE>
+       Normally,  the terminal driver buffers typed characters until a newline
+       or  carriage  return  is  typed.   The  <STRONG>cbreak</STRONG>  routine  disables  line
+       buffering  and  erase/kill  character-processing  (interrupt  and  flow
+       control characters are unaffected), making characters typed by the user
        immediately available to the program.  The <STRONG>nocbreak</STRONG> routine returns the
        terminal to normal (cooked) mode.
 
        discussion of how these routines interact with <STRONG>echo</STRONG> and <STRONG>noecho</STRONG>.]
 
 
-</PRE><H3><a name="h3-echo_noecho">echo/noecho</a></H3><PRE>
+</PRE><H3><a name="h3-echo_-noecho">echo, noecho</a></H3><PRE>
        The <STRONG>echo</STRONG> and <STRONG>noecho</STRONG> routines control whether characters  typed  by  the
-       user  are  echoed  by  <STRONG><A HREF="curs_getch.3x.html">getch(3x)</A></STRONG> as they are typed.  Echoing by the tty
-       driver is always disabled, but initially <STRONG>getch</STRONG>  is  in  echo  mode,  so
-       characters  typed  are  echoed.   Authors  of most interactive programs
-       prefer to do their own echoing in a controlled area of the  screen,  or
-       not  to  echo  at all, so they disable echoing by calling <STRONG>noecho</STRONG>.  [See
-       <STRONG><A HREF="curs_getch.3x.html">curs_getch(3x)</A></STRONG> for a discussion of how  these  routines  interact  with
-       <STRONG>cbreak</STRONG> and <STRONG>nocbreak</STRONG>.]
+       user  are  echoed  by  <STRONG><A HREF="curs_getch.3x.html">getch(3x)</A></STRONG>  as  they  are  typed.  Echoing by the
+       terminal driver is always disabled, but  initially  <STRONG>getch</STRONG>  is  in  echo
+       mode,  so  characters  typed  are  echoed.  Authors of most interactive
+       programs prefer to do their own echoing in a  controlled  area  of  the
+       screen,  or  not  to  echo  at  all, so they disable echoing by calling
+       <STRONG>noecho</STRONG>.  [See <STRONG><A HREF="curs_getch.3x.html">curs_getch(3x)</A></STRONG> for a discussion  of  how  these  routines
+       interact with <STRONG>cbreak</STRONG> and <STRONG>nocbreak</STRONG>.]
 
 
 </PRE><H3><a name="h3-halfdelay">halfdelay</a></H3><PRE>
 </PRE><H3><a name="h3-intrflush">intrflush</a></H3><PRE>
        If the <STRONG>intrflush</STRONG> option is enabled (<EM>bf</EM> is <STRONG>TRUE</STRONG>), and an  interrupt  key
        is  pressed on the keyboard (interrupt, break, quit), all output in the
-       tty driver queue will be flushed, giving the effect of faster  response
+       terminal driver queue is flushed, giving the effect of faster  response
        to  the interrupt, but causing <EM>curses</EM> to have the wrong idea of what is
-       on the screen.  Disabling the option (<EM>bf</EM> is <STRONG>FALSE</STRONG>) prevents the  flush.
-       The  default  for the option is inherited from the tty driver settings.
-       The window argument is ignored.
+       on the screen.  Disabling the option (<EM>bf</EM> is <STRONG>FALSE</STRONG>), prevents the flush.
+       The  default  for  the  option  is  inherited  from the terminal driver
+       settings.  The <EM>win</EM> argument is ignored.
 
 
 </PRE><H3><a name="h3-keypad">keypad</a></H3><PRE>
 
 </PRE><H3><a name="h3-meta">meta</a></H3><PRE>
        Initially, whether the terminal returns 7  or  8  significant  bits  on
-       input  depends  on the control mode of the tty driver [see <STRONG>termios(3)</STRONG>].
-       To force 8 bits  to  be  returned,  invoke  <STRONG>meta</STRONG>(<EM>win</EM>,  <STRONG>TRUE</STRONG>);  this  is
-       equivalent,  under  POSIX, to setting the CS8 flag on the terminal.  To
-       force  7  bits  to  be  returned,  invoke  <STRONG>meta</STRONG>(<EM>win</EM>,  <STRONG>FALSE</STRONG>);  this  is
-       equivalent,  under POSIX, to setting the CS7 flag on the terminal.  The
-       window argument, <EM>win</EM>, is always ignored.  If the terminfo  capabilities
-       <STRONG>smm</STRONG>  (meta_on)  and <STRONG>rmm</STRONG> (meta_off) are defined for the terminal, <STRONG>smm</STRONG> is
-       sent to the terminal when <STRONG>meta</STRONG>(<EM>win</EM>, <STRONG>TRUE</STRONG>) is called  and  <STRONG>rmm</STRONG>  is  sent
-       when <STRONG>meta</STRONG>(<EM>win</EM>, <STRONG>FALSE</STRONG>) is called.
-
-
-</PRE><H3><a name="h3-nl_nonl">nl/nonl</a></H3><PRE>
+       input  depends  on  the  control  mode  of  the  terminal  driver  [see
+       <STRONG>termios(3)</STRONG>].  To force 8 bits to be returned, invoke  <STRONG>meta</STRONG>(<EM>win</EM>,  <STRONG>TRUE</STRONG>);
+       this  is  equivalent,  under  POSIX,  to  setting  the  CS8 flag on the
+       terminal.  To force 7 bits to be  returned,  invoke  <STRONG>meta</STRONG>(<EM>win</EM>,  <STRONG>FALSE</STRONG>);
+       this  is  equivalent,  under  POSIX,  to  setting  the  CS7 flag on the
+       terminal.  The  window  argument,  <EM>win,</EM>  is  always  ignored.   If  the
+       terminfo  capabilities <STRONG>smm</STRONG> (meta_on) and <STRONG>rmm</STRONG> (meta_off) are defined for
+       the terminal, <STRONG>smm</STRONG> is sent to  the  terminal  when  <STRONG>meta</STRONG>(<EM>win</EM>,  <STRONG>TRUE</STRONG>)  is
+       called and <STRONG>rmm</STRONG> is sent when <STRONG>meta</STRONG>(<EM>win</EM>, <STRONG>FALSE</STRONG>) is called.
+
+
+</PRE><H3><a name="h3-nl_-nonl">nl, nonl</a></H3><PRE>
        The  <STRONG>nl</STRONG> and <STRONG>nonl</STRONG> routines control whether the underlying display device
        translates the return key into newline on input.
 
        When interpreting an escape sequence, <STRONG><A HREF="curs_getch.3x.html">wgetch(3x)</A></STRONG>  sets  a  timer  while
        waiting  for  the  next  character.  If <STRONG>notimeout(</STRONG><EM>win</EM>, <STRONG>TRUE</STRONG>) is called,
        then <STRONG>wgetch</STRONG> does not set a timer.  The purpose of  the  timeout  is  to
-       differentiate  between sequences received from a function key and those
-       typed by a user.
+       distinguish  sequences produced by a function key from those typed by a
+       user.
 
 
-</PRE><H3><a name="h3-raw_noraw">raw/noraw</a></H3><PRE>
+</PRE><H3><a name="h3-raw_-noraw">raw, noraw</a></H3><PRE>
        The <STRONG>raw</STRONG> and <STRONG>noraw</STRONG> routines place the terminal into or out of raw  mode.
        Raw  mode  is  similar  to  <STRONG>cbreak</STRONG>  mode,  in that characters typed are
        immediately passed through to the user program.   The  differences  are
        that  in  raw  mode,  the  interrupt,  quit,  suspend, and flow control
        characters are all passed through uninterpreted, instead of  generating
        a  signal.   The behavior of the BREAK key depends on other bits in the
-       tty driver that are not set by <EM>curses</EM>.
+       terminal driver that are not set by <EM>curses.</EM>
 
 
-</PRE><H3><a name="h3-qiflush_noqiflush">qiflush/noqiflush</a></H3><PRE>
+</PRE><H3><a name="h3-qiflush_-nqiflush">qiflush, nqiflush</a></H3><PRE>
        When the <STRONG>noqiflush</STRONG> routine is used, normal flush of  input  and  output
        queues  associated  with the <STRONG>INTR</STRONG>, <STRONG>QUIT</STRONG> and <STRONG>SUSP</STRONG> characters will not be
        done [see <STRONG>termios(3)</STRONG>].  When <STRONG>qiflush</STRONG> is  called,  the  queues  will  be
        the interrupt had not occurred, after the handler exits.
 
 
-</PRE><H3><a name="h3-timeout_wtimeout">timeout/wtimeout</a></H3><PRE>
+</PRE><H3><a name="h3-timeout_-wtimeout">timeout, wtimeout</a></H3><PRE>
        The <STRONG>timeout</STRONG> and <STRONG>wtimeout</STRONG> routines set blocking or non-blocking read for
-       a given window.  If <EM>delay</EM> is negative, blocking  read  is  used  (i.e.,
-       waits  indefinitely  for  input).   If <EM>delay</EM> is zero, then non-blocking
-       read is used (i.e., read returns <STRONG>ERR</STRONG> if no input is waiting).  If <EM>delay</EM>
-       is  positive,  then read blocks for <EM>delay</EM> milliseconds, and returns <STRONG>ERR</STRONG>
+       a given window.  If <EM>delay</EM> is negative, a blocking read is  used  (i.e.,
+       waits  indefinitely  for input).  If <EM>delay</EM> is zero, then a non-blocking
+       read is used (i.e., <EM>read</EM> returns <STRONG>ERR</STRONG> if no input is waiting).  If <EM>delay</EM>
+       is  positive,  then <EM>read</EM> blocks for <EM>delay</EM> milliseconds, and returns <STRONG>ERR</STRONG>
        if there is still no input.  Hence, these  routines  provide  the  same
        functionality  as <STRONG>nodelay</STRONG>, plus the additional capability of being able
        to block for only <EM>delay</EM> milliseconds (where <EM>delay</EM> is positive).
 
 
 </PRE><H3><a name="h3-typeahead">typeahead</a></H3><PRE>
-       The <EM>curses</EM> library does "line-breakout  optimization"  by  looking  for
-       typeahead  periodically  while updating the screen.  If input is found,
-       and it is coming from a tty, the  current  update  is  postponed  until
+       <EM>curses</EM> does  "line-breakout  optimization"  by  looking  for  typeahead
+       periodically  while  updating the screen.  If input is found, and it is
+       coming  from  a  terminal,  the  current  update  is  postponed   until
        <STRONG><A HREF="curs_refresh.3x.html">refresh(3x)</A></STRONG>  or  <STRONG>doupdate</STRONG> is called again.  This allows faster response
-       to commands typed in advance.  Normally, the input FILE pointer  passed
+       to commands typed in advance.  Normally, the input <EM>FILE</EM> pointer  passed
        to <STRONG>newterm</STRONG>, or <STRONG>stdin</STRONG> in the case that <STRONG>initscr</STRONG> was used, will be used to
        do this typeahead checking.  The <STRONG>typeahead</STRONG> routine specifies  that  the
        file descriptor <EM>fd</EM> is to be used to check for typeahead instead.  If <EM>fd</EM>
 
 
 </PRE><H2><a name="h2-NOTES">NOTES</a></H2><PRE>
-       Note that <STRONG>echo</STRONG>, <STRONG>noecho</STRONG>, <STRONG>halfdelay</STRONG>, <STRONG>intrflush</STRONG>, <STRONG>meta</STRONG>, <STRONG>nl</STRONG>, <STRONG>nonl</STRONG>,  <STRONG>nodelay</STRONG>,
-       <STRONG>notimeout</STRONG>, <STRONG>noqiflush</STRONG>, <STRONG>qiflush</STRONG>, <STRONG>timeout</STRONG>, and <STRONG>wtimeout</STRONG> may be macros.
+       <STRONG>echo</STRONG>, <STRONG>noecho</STRONG>, <STRONG>halfdelay</STRONG>, <STRONG>intrflush</STRONG>, <STRONG>meta</STRONG>, <STRONG>nl</STRONG>, <STRONG>nonl</STRONG>, <STRONG>nodelay</STRONG>, <STRONG>notimeout</STRONG>,
+       <STRONG>noqiflush</STRONG>, <STRONG>qiflush</STRONG>, <STRONG>timeout</STRONG>, and <STRONG>wtimeout</STRONG> may be implemented as macros.
 
-       The  <STRONG>noraw</STRONG>  and  <STRONG>nocbreak</STRONG> calls follow historical practice in that they
-       attempt to restore to normal ("cooked") mode from raw and cbreak  modes
-       respectively.   Mixing raw/noraw and cbreak/nocbreak calls leads to tty
-       driver control states that are hard to predict or understand; it is not
+       <STRONG>noraw</STRONG>  and  <STRONG>nocbreak</STRONG> follow historical practice in that they attempt to
+       restore normal ("cooked") mode from raw and cbreak modes  respectively.
+       Mixing  <STRONG>raw</STRONG>/<STRONG>noraw</STRONG>  and  <STRONG>cbreak</STRONG>/<STRONG>nocbreak</STRONG>  calls leads to terminal driver
+       control states that are hard to predict or understand; doing so is  not
        recommended.
 
 
 </PRE><H2><a name="h2-EXTENSIONS">EXTENSIONS</a></H2><PRE>
-       This implementation provides four functions which may be used to detect
-       if the corresponding flags were set or reset:
+       <EM>ncurses</EM> provides four "is_" functions that may be used to detect if the
+       corresponding flags were set or reset.
 
-       <STRONG>Query</STRONG>       <STRONG>Set</STRONG>      <STRONG>Reset</STRONG>
-       ------------------------------
-       is_cbreak   cbreak   nocbreak
-       is_echo     echo     noecho
-       is_nl       nl       nonl
-       is_raw      raw      noraw
+                            <STRONG>Query</STRONG>       <STRONG>Set</STRONG>      <STRONG>Reset</STRONG>
+                            ------------------------------
+                            is_cbreak   cbreak   nocbreak
+                            is_echo     echo     noecho
+                            is_nl       nl       nonl
+                            is_raw      raw      noraw
 
        In each case, the function returns
 
-       1    if the flag is set,
+       1   if the flag is set,
 
-       0    if the flag is reset, or
+       0   if the flag is reset, or
 
-       -1   if the <EM>curses</EM> library was not initialized.
+       -1  if the library is not initialized.
 
-       These 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
-       NCURSES_VERSION.
+       They were designed for <STRONG><A HREF="ncurses.3x.html">ncurses(3x)</A></STRONG>, and are not found in  SVr4  <EM>curses</EM>,
+       4.4BSD <EM>curses</EM>, or any other previous <EM>curses</EM> implementation.
 
 
 </PRE><H2><a name="h2-PORTABILITY">PORTABILITY</a></H2><PRE>
-       Except  as  noted  in  the  section  on extensions, these functions are
-       described in the XSI Curses standard, Issue 4.
-
-       The <EM>ncurses</EM> library obeys the XPG4 standard and the historical practice
-       of  the  AT&amp;T  <EM>curses</EM>  implementations, in that the echo bit is cleared
-       when <EM>curses</EM> initializes the terminal state.  BSD <EM>curses</EM>  differed  from
-       this  slightly;  it left the echo bit on at initialization, but the BSD
-       <STRONG>raw</STRONG> call turned it off as a side-effect.   For  best  portability,  set
-       <STRONG>echo</STRONG>  or  <STRONG>noecho</STRONG>  explicitly  just  after  initialization, even if your
-       program remains in cooked mode.
-
-       The XSI Curses standard is ambiguous on the  question  of  whether  <STRONG>raw</STRONG>
-       should  disable  the  CRLF translations controlled by <STRONG>nl</STRONG> and <STRONG>nonl</STRONG>.  BSD
-       <EM>curses</EM> did turn off these translations; AT&amp;T <EM>curses</EM> (at least  as  late
-       as  SVr1)  did not.  We chose to do so, on the theory that a programmer
-       requesting raw input wants a clean  (ideally  8-bit  clean)  connection
-       that the operating system will not alter.
-
-       When <STRONG>keypad</STRONG> is first enabled, <EM>ncurses</EM> loads the key-definitions for the
-       current terminal description.  If  the  terminal  description  includes
-       extended  string  capabilities,  e.g., from using the <STRONG>-x</STRONG> option of <STRONG>tic</STRONG>,
-       then <EM>ncurses</EM> also defines keys for the capabilities whose  names  begin
-       with  "k".   The corresponding keycodes are generated and (depending on
-       previous loads of terminal descriptions) may differ from one  execution
+       Applications employing <EM>ncurses</EM> extensions should condition their use on
+       the visibility of the <STRONG>NCURSES_VERSION</STRONG> preprocessor macro.
+
+       Except as noted in section "EXTENSIONS" above, X/Open Curses, Issue  4,
+       Version 2 describes these functions.
+
+       <EM>ncurses</EM>  follows  X/Open  Curses  and  the  historical practice of AT&amp;T
+       <EM>curses</EM> implementations, in that the echo bit  is  cleared  when  <EM>curses</EM>
+       initializes   the  terminal  state.   BSD  <EM>curses</EM>  differed  from  this
+       slightly; it left the echo bit on at initialization, but  the  BSD  <STRONG>raw</STRONG>
+       call turned it off as a side effect.  For best portability, set <STRONG>echo</STRONG> or
+       <STRONG>noecho</STRONG> explicitly just  after  initialization,  even  if  your  program
+       remains in cooked mode.
+
+       X/Open  Curses  is  ambiguous  regarding whether <STRONG>raw</STRONG> should disable the
+       CR/LF translations controlled by <STRONG>nl</STRONG> and <STRONG>nonl</STRONG>.  BSD <EM>curses</EM> did turn  off
+       these  translations;  AT&amp;T  <EM>curses</EM>  (at least as late as SVr1) did not.
+       <EM>ncurses</EM> does so, on the assumption that  a  programmer  requesting  raw
+       input  wants  a  clean  (ideally,  8-bit  clean)  connection  that  the
+       operating system will not alter.
+
+       When <STRONG>keypad</STRONG> is first enabled, <EM>ncurses</EM> loads the key definitions for the
+       current  terminal  description.   If  the terminal description includes
+       extended string capabilities, e.g., from using the <STRONG>-x</STRONG>  option  of  <STRONG>tic</STRONG>,
+       then  <EM>ncurses</EM>  also defines keys for the capabilities whose names begin
+       with "k".  The corresponding keycodes are generated and  (depending  on
+       previous  loads of terminal descriptions) may differ from one execution
        of a program to the next.  The generated keycodes are recognized by the
-       <STRONG>keyname</STRONG> function (which will then return  a  name  beginning  with  "k"
-       denoting  the terminfo capability name rather than "K", used for <EM>curses</EM>
-       key-names).  On the other hand, an application can  use  <STRONG>define_key</STRONG>  to
-       establish  a  specific  keycode  for  a  given  string.   This makes it
-       possible for an application  to  check  for  an  extended  capability's
-       presence  with  <STRONG>tigetstr</STRONG>,  and  reassign  the  keycode to match its own
+       <STRONG><A HREF="curs_util.3x.html">keyname(3x)</A></STRONG>  function (which will then return a name beginning with "k"
+       denoting the terminfo capability name rather than "K", used for  <EM>curses</EM>
+       key  names).   On the other hand, an application can use <STRONG><A HREF="define_key.3x.html">define_key(3x)</A></STRONG>
+       to establish a specific keycode for a  given  string.   This  makes  it
+       possible  for  an  application  to  check  for an extended capability's
+       presence with <STRONG>tigetstr</STRONG>, and reassign  the  keycode  to  match  its  own
        needs.
 
        Low-level applications can use <STRONG>tigetstr</STRONG> to obtain the definition of any
-       particular  string capability.  Higher-level applications which use the
-       <EM>curses</EM> <STRONG>wgetch</STRONG> and similar functions to return keycodes  rely  upon  the
+       particular string capability.  Higher-level applications which use  the
+       <EM>curses</EM>  <STRONG>wgetch</STRONG>  and  similar functions to return keycodes rely upon the
        order in which the strings are loaded.  If more than one key definition
-       has the same string value, then <STRONG>wgetch</STRONG> can  return  only  one  keycode.
+       has  the  same  string  value, then <STRONG>wgetch</STRONG> can return only one keycode.
        Most <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
-       definitions.   These  are  loaded  after  the predefined keys, and if a
-       capability's value is the same as a previously-loaded  key  definition,
+       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
+       definitions.  These are loaded after the  predefined  keys,  and  if  a
+       capability's  value  is the same as a previously-loaded key definition,
        the later definition is the one used.
 
 
 </PRE><H2><a name="h2-SEE-ALSO">SEE ALSO</a></H2><PRE>
-       <STRONG><A HREF="ncurses.3x.html">curses(3x)</A></STRONG>,     <STRONG><A HREF="curs_getch.3x.html">curs_getch(3x)</A></STRONG>,     <STRONG><A HREF="curs_initscr.3x.html">curs_initscr(3x)</A></STRONG>,    <STRONG><A HREF="curs_util.3x.html">curs_util(3x)</A></STRONG>,
+       <STRONG><A HREF="ncurses.3x.html">curses(3x)</A></STRONG>,    <STRONG><A HREF="curs_getch.3x.html">curs_getch(3x)</A></STRONG>,     <STRONG><A HREF="curs_initscr.3x.html">curs_initscr(3x)</A></STRONG>,     <STRONG><A HREF="curs_util.3x.html">curs_util(3x)</A></STRONG>,
        <STRONG><A HREF="define_key.3x.html">define_key(3x)</A></STRONG>, <STRONG>termios(3)</STRONG>
 
 
 
-ncurses 6.4                       2023-12-16                   <STRONG><A HREF="curs_inopts.3x.html">curs_inopts(3x)</A></STRONG>
+ncurses 6.4                       2023-12-23                   <STRONG><A HREF="curs_inopts.3x.html">curs_inopts(3x)</A></STRONG>
 </PRE>
 <div class="nav">
 <ul>
@@ -344,18 +345,18 @@ ncurses 6.4                       2023-12-16                   <STRONG><A HREF="
 <li><a href="#h2-SYNOPSIS">SYNOPSIS</a></li>
 <li><a href="#h2-DESCRIPTION">DESCRIPTION</a>
 <ul>
-<li><a href="#h3-cbreak_nocbreak">cbreak/nocbreak</a></li>
-<li><a href="#h3-echo_noecho">echo/noecho</a></li>
+<li><a href="#h3-cbreak_-nocbreak">cbreak, nocbreak</a></li>
+<li><a href="#h3-echo_-noecho">echo, noecho</a></li>
 <li><a href="#h3-halfdelay">halfdelay</a></li>
 <li><a href="#h3-intrflush">intrflush</a></li>
 <li><a href="#h3-keypad">keypad</a></li>
 <li><a href="#h3-meta">meta</a></li>
-<li><a href="#h3-nl_nonl">nl/nonl</a></li>
+<li><a href="#h3-nl_-nonl">nl, nonl</a></li>
 <li><a href="#h3-nodelay">nodelay</a></li>
 <li><a href="#h3-notimeout">notimeout</a></li>
-<li><a href="#h3-raw_noraw">raw/noraw</a></li>
-<li><a href="#h3-qiflush_noqiflush">qiflush/noqiflush</a></li>
-<li><a href="#h3-timeout_wtimeout">timeout/wtimeout</a></li>
+<li><a href="#h3-raw_-noraw">raw, noraw</a></li>
+<li><a href="#h3-qiflush_-nqiflush">qiflush, nqiflush</a></li>
+<li><a href="#h3-timeout_-wtimeout">timeout, wtimeout</a></li>
 <li><a href="#h3-typeahead">typeahead</a></li>
 </ul>
 </li>
index 1fbbd02d4d9b3356ef1338fa3d9cc21a9a48ab41..1296730203b2b1c7245ff65d0ea9ebaeee3c9b4b 100644 (file)
   * sale, use or other dealings in this Software without prior written       *
   * authorization.                                                           *
   ****************************************************************************
-  * @Id: curs_ins_wch.3x,v 1.24 2023/11/25 11:32:28 tom Exp @
+  * @Id: curs_ins_wch.3x,v 1.26 2023/12/23 16:03:24 tom Exp @
 -->
 <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN">
 <HTML>
 <HEAD>
 <meta http-equiv="Content-Type" content="text/html; charset=us-ascii">
 <meta name="generator" content="Manpage converted by man2html - see https://invisible-island.net/scripts/readme.html#others_scripts">
-<TITLE>curs_ins_wch 3x 2023-11-25 ncurses 6.4 Library calls</TITLE>
+<TITLE>curs_ins_wch 3x 2023-12-23 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-11-25 ncurses 6.4 Library calls</H1>
+<H1 class="no-header">curs_ins_wch 3x 2023-12-23 ncurses 6.4 Library calls</H1>
 <PRE>
 <STRONG><A HREF="curs_ins_wch.3x.html">curs_ins_wch(3x)</A></STRONG>                 Library calls                <STRONG><A HREF="curs_ins_wch.3x.html">curs_ins_wch(3x)</A></STRONG>
 
 
 </PRE><H2><a name="h2-NAME">NAME</a></H2><PRE>
        <STRONG>ins_wch</STRONG>,  <STRONG>mvins_wch</STRONG>,  <STRONG>mvwins_wch</STRONG>,  <STRONG>wins_wch</STRONG>  -  insert a <EM>curses</EM> complex
-       character string in a window
+       character in a window
 
 
 </PRE><H2><a name="h2-SYNOPSIS">SYNOPSIS</a></H2><PRE>
-       #include &lt;curses.h&gt;
+       <STRONG>#include</STRONG> <STRONG>&lt;curses.h&gt;</STRONG>
 
        <STRONG>int</STRONG> <STRONG>ins_wch(const</STRONG> <STRONG>cchar_t</STRONG> <STRONG>*</STRONG><EM>wch</EM><STRONG>);</STRONG>
        <STRONG>int</STRONG> <STRONG>wins_wch(WINDOW</STRONG> <STRONG>*</STRONG><EM>win</EM><STRONG>,</STRONG> <STRONG>const</STRONG> <STRONG>cchar_t</STRONG> <STRONG>*</STRONG><EM>wch</EM><STRONG>);</STRONG>
-
        <STRONG>int</STRONG> <STRONG>mvins_wch(int</STRONG> <EM>y</EM><STRONG>,</STRONG> <STRONG>int</STRONG> <EM>x</EM><STRONG>,</STRONG> <STRONG>const</STRONG> <STRONG>cchar_t</STRONG> <STRONG>*</STRONG><EM>wch</EM><STRONG>);</STRONG>
        <STRONG>int</STRONG> <STRONG>mvwins_wch(WINDOW</STRONG> <STRONG>*</STRONG><EM>win</EM><STRONG>,</STRONG> <STRONG>int</STRONG> <EM>y</EM><STRONG>,</STRONG> <STRONG>int</STRONG> <EM>x</EM><STRONG>,</STRONG> <STRONG>const</STRONG> <STRONG>cchar_t</STRONG> <STRONG>*</STRONG><EM>wch</EM><STRONG>);</STRONG>
 
 
 </PRE><H2><a name="h2-DESCRIPTION">DESCRIPTION</a></H2><PRE>
-       These routines, insert the complex character <EM>wch</EM> with rendition  before
-       the  character  under  the  cursor.  All characters to the right of the
-       cursor are moved one space to the right, with the  possibility  of  the
-       rightmost  character  on  the line being lost.  The insertion operation
-       does not change the cursor position.
+       These functions insert the <EM>curses</EM> complex character <EM>wch</EM> at  the  cursor
+       in  the  specified window <EM>win</EM> (or <STRONG>stdscr</STRONG>).  The character previously at
+       the cursor and any to its  right  move  one  cell  to  the  right;  the
+       rightmost  character  on  the  line  is discarded.  The cursor does not
+       advance.
 
 
 </PRE><H2><a name="h2-RETURN-VALUE">RETURN VALUE</a></H2><PRE>
-       If successful, these functions return <STRONG>OK</STRONG>.  If not, they return <STRONG>ERR</STRONG>.
+       These functions return <STRONG>OK</STRONG> on success and <STRONG>ERR</STRONG> on failure.
+
+       Functions taking a <EM>WINDOW</EM> pointer argument fail if the pointer is <STRONG>NULL</STRONG>.
+
+       Functions prefixed with "mv" first perform cursor movement using  <STRONG>wmove</STRONG>
+       and fail if the position (<EM>y</EM>, <EM>x</EM>) is outside the window.
+
+
+</PRE><H2><a name="h2-NOTES">NOTES</a></H2><PRE>
+       A  terminal's  <STRONG>insert_character</STRONG>  (<STRONG>ich1</STRONG>)  capability  is not necessarily
+       employed.
 
-       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>ins_wch</STRONG>, <STRONG>mvins_wch</STRONG>, and <STRONG>mvwins_wch</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.
+
+       SVr4 describes successful return values only as "an integer value other
+       than <STRONG>ERR</STRONG>".
+
+
+</PRE><H2><a name="h2-HISTORY">HISTORY</a></H2><PRE>
+       SVr4  (1989)  implemented  these  functions  under  the  names  <STRONG>inswch</STRONG>,
+       <STRONG>winswch</STRONG>, <STRONG>mvinswch</STRONG>, and <STRONG>mvwinswch</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_insch.3x.html">curs_insch(3x)</A></STRONG>
+       <STRONG><A HREF="curs_insch.3x.html">curs_insch(3x)</A></STRONG> describes comparable functions in the non-wide-character
+       <EM>curses</EM> configuration.
+
+       <STRONG><A HREF="ncurses.3x.html">curses(3x)</A></STRONG>, <STRONG><A HREF="terminfo.5.html">terminfo(5)</A></STRONG>
 
 
 
-ncurses 6.4                       2023-11-25                  <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>
 </PRE>
 <div class="nav">
 <ul>
@@ -94,7 +112,9 @@ ncurses 6.4                       2023-11-25                  <STRONG><A HREF="c
 <li><a href="#h2-SYNOPSIS">SYNOPSIS</a></li>
 <li><a href="#h2-DESCRIPTION">DESCRIPTION</a></li>
 <li><a href="#h2-RETURN-VALUE">RETURN VALUE</a></li>
+<li><a href="#h2-NOTES">NOTES</a></li>
 <li><a href="#h2-PORTABILITY">PORTABILITY</a></li>
+<li><a href="#h2-HISTORY">HISTORY</a></li>
 <li><a href="#h2-SEE-ALSO">SEE ALSO</a></li>
 </ul>
 </div>
index f0a1be0dfdc7919ffcf5f3d63863490d29cb4860..0e3683c21b4dcea54efe60850e82ab13e738a1f2 100644 (file)
   * sale, use or other dealings in this Software without prior written       *
   * authorization.                                                           *
   ****************************************************************************
-  * @Id: curs_insch.3x,v 1.34 2023/12/16 21:09:11 tom Exp @
+  * @Id: curs_insch.3x,v 1.36 2023/12/23 16:03:24 tom Exp @
 -->
 <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN">
 <HTML>
 <HEAD>
 <meta http-equiv="Content-Type" content="text/html; charset=us-ascii">
 <meta name="generator" content="Manpage converted by man2html - see https://invisible-island.net/scripts/readme.html#others_scripts">
-<TITLE>curs_insch 3x 2023-12-16 ncurses 6.4 Library calls</TITLE>
+<TITLE>curs_insch 3x 2023-12-23 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-16 ncurses 6.4 Library calls</H1>
+<H1 class="no-header">curs_insch 3x 2023-12-23 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>
 
 
        <STRONG>int</STRONG> <STRONG>insch(chtype</STRONG> <EM>ch</EM><STRONG>);</STRONG>
        <STRONG>int</STRONG> <STRONG>winsch(WINDOW</STRONG> <STRONG>*</STRONG><EM>win</EM><STRONG>,</STRONG> <STRONG>chtype</STRONG> <EM>ch</EM><STRONG>);</STRONG>
-
        <STRONG>int</STRONG> <STRONG>mvinsch(int</STRONG> <EM>y</EM><STRONG>,</STRONG> <STRONG>int</STRONG> <EM>x</EM><STRONG>,</STRONG> <STRONG>chtype</STRONG> <EM>ch</EM><STRONG>);</STRONG>
        <STRONG>int</STRONG> <STRONG>mvwinsch(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>chtype</STRONG> <EM>ch</EM><STRONG>);</STRONG>
 
 
 </PRE><H2><a name="h2-DESCRIPTION">DESCRIPTION</a></H2><PRE>
-       These routines insert the character <EM>ch</EM> before the character  under  the
-       cursor.   All characters to the right of the cursor are moved one space
-       to the right, with the possibility of the rightmost  character  on  the
-       line  being  lost.   The insertion operation does not change the cursor
-       position.
+       These functions insert the <EM>curses</EM> character <EM>ch</EM> at  the  cursor  in  the
+       specified  window  <EM>win</EM>  (or  <STRONG>stdscr</STRONG>).   The character previously at the
+       cursor and any to its right move one cell to the right;  the  rightmost
+       character on the line is discarded.  The cursor does not advance.
 
 
 </PRE><H2><a name="h2-RETURN-VALUE">RETURN VALUE</a></H2><PRE>
-       These routines return the integer <STRONG>ERR</STRONG> upon  failure  and  an  <STRONG>OK</STRONG>  (SVr4
-       specifies  only  "an  integer  value  other  than <STRONG>ERR</STRONG>") upon successful
-       completion.
+       These functions return <STRONG>OK</STRONG> on success and <STRONG>ERR</STRONG> on failure.
+
+       Functions taking a <EM>WINDOW</EM> pointer argument fail if the pointer is <STRONG>NULL</STRONG>.
 
-       Functions with a "mv" prefix first  perform  a  cursor  movement  using
-       <STRONG>wmove</STRONG>, and return an error if the position is outside the window, or if
-       the window pointer is null.
+       Functions  prefixed with "mv" first perform cursor movement using <STRONG>wmove</STRONG>
+       and fail if the position (<EM>y</EM>, <EM>x</EM>) is outside the window.
 
 
 </PRE><H2><a name="h2-NOTES">NOTES</a></H2><PRE>
-       These routines do not  necessarily  imply  use  of  a  hardware  insert
-       character feature.
+       A terminal's <STRONG>insert_character</STRONG>  (<STRONG>ich1</STRONG>)  capability  is  not  necessarily
+       employed.
 
-       Note that <STRONG>insch</STRONG>, <STRONG>mvinsch</STRONG>, and <STRONG>mvwinsch</STRONG> may be macros.
+       <STRONG>insch</STRONG>, <STRONG>mvinsch</STRONG>, and <STRONG>mvwinsch</STRONG> may be implemented as macros.
 
 
 </PRE><H2><a name="h2-PORTABILITY">PORTABILITY</a></H2><PRE>
-       These functions are described in the XSI Curses standard, Issue 4.
+       X/Open Curses, Issue 4, describes these functions.
+
+       SVr4 describes successful return values only as "an integer value other
+       than <STRONG>ERR</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_ins_wch.3x.html">curs_ins_wch(3x)</A></STRONG> describes comparable functions in  the  wide-character
+       <EM>curses</EM> configuration.
 
-       Comparable  functions  in  the  wide-character  (ncursesw)  library are
-       described in <STRONG><A HREF="curs_ins_wch.3x.html">curs_ins_wch(3x)</A></STRONG>.
+       <STRONG><A HREF="ncurses.3x.html">curses(3x)</A></STRONG>, <STRONG><A HREF="terminfo.5.html">terminfo(5)</A></STRONG>
 
 
 
-ncurses 6.4                       2023-12-16                    <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>
 </PRE>
 <div class="nav">
 <ul>
index b4bf5283e02f762e93c1655aef456e759e23bb31..0996d5f73460ed4d93447fab9bb21c8d2ff553a6 100644 (file)
   * sale, use or other dealings in this Software without prior written       *
   * authorization.                                                           *
   ****************************************************************************
-  * @Id: curs_legacy.3x,v 1.29 2023/10/21 10:28:36 tom Exp @
+  * @Id: curs_legacy.3x,v 1.30 2023/12/23 16:40:10 tom Exp @
 -->
 <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN">
 <HTML>
 <HEAD>
 <meta http-equiv="Content-Type" content="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-10-21 ncurses 6.4 Library calls</TITLE>
+<TITLE>curs_legacy 3x 2023-12-23 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-10-21 ncurses 6.4 Library calls</H1>
+<H1 class="no-header">curs_legacy 3x 2023-12-23 ncurses 6.4 Library calls</H1>
 <PRE>
 <STRONG><A HREF="curs_legacy.3x.html">curs_legacy(3x)</A></STRONG>                  Library calls                 <STRONG><A HREF="curs_legacy.3x.html">curs_legacy(3x)</A></STRONG>
 
 
 
 </PRE><H2><a name="h2-NOTES">NOTES</a></H2><PRE>
-       All of these interfaces are provided  as  macros  and  functions.   The
-       macros   are   suppressed   (and  only  the  functions  provided)  when
-       <STRONG>NCURSES_OPAQUE</STRONG> is defined.  The standard forms such as  <STRONG>getyx</STRONG>  must  be
-       implemented  as  macros,  and  (in  this implementation) are defined in
-       terms of the functions described here, to avoid  reliance  on  internal
-       details of the <STRONG>WINDOW</STRONG> structure.
+       All of these interfaces are implemented as macros and  functions.   The
+       macros  are suppressed (and only the functions provided) in an "opaque"
+       <EM>ncurses</EM> build, which defines the  preprocessor  symbol  <STRONG>NCURSES_OPAQUE</STRONG>.
+       See section "ALTERNATE CONFIGURATIONS" in <STRONG><A HREF="ncurses.3x.html">ncurses(3x)</A></STRONG>.
+
+       The standard forms such as <STRONG>getyx</STRONG> <EM>must</EM> be implemented as macros, and (in
+       this implementation) are defined in terms of  the  functions  described
+       here, to avoid reliance on internal details of the <EM>WINDOW</EM> structure.
 
 
 </PRE><H2><a name="h2-PORTABILITY">PORTABILITY</a></H2><PRE>
 
 
 
-ncurses 6.4                       2023-10-21                   <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>
 </PRE>
 <div class="nav">
 <ul>
index 0572643c809e4f2b758a580dd347b7b0428e73b3..4c1876f700bd09d491e71339d26273a6588e7894 100644 (file)
   * sale, use or other dealings in this Software without prior written       *
   * authorization.                                                           *
   ****************************************************************************
-  * @Id: curs_memleaks.3x,v 1.32 2023/12/16 20:32:22 tom Exp @
+  * @Id: curs_memleaks.3x,v 1.33 2023/12/23 16:22:08 tom Exp @
 -->
 <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN">
 <HTML>
 <HEAD>
 <meta http-equiv="Content-Type" content="text/html; charset=us-ascii">
 <meta name="generator" content="Manpage converted by man2html - see https://invisible-island.net/scripts/readme.html#others_scripts">
-<TITLE>curs_memleaks 3x 2023-12-16 ncurses 6.4 Library calls</TITLE>
+<TITLE>curs_memleaks 3x 2023-12-23 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-16 ncurses 6.4 Library calls</H1>
+<H1 class="no-header">curs_memleaks 3x 2023-12-23 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>
 
        the memory allocated by curses:
 
        <STRONG>o</STRONG>   The  portable  part  of  <STRONG>exit_curses</STRONG>  can be freed using <STRONG>delscreen</STRONG>,
-           passing the <STRONG>SCREEN*</STRONG> pointer returned by <STRONG>newterm</STRONG>.
+           passing the <EM>SCREEN</EM> pointer returned by <STRONG>newterm</STRONG>.
 
            In some implementations, there is a global variable <STRONG>sp</STRONG> which  could
            be used, e.g., if the screen were only initialized using <STRONG>initscr</STRONG>.
 
 
 
-ncurses 6.4                       2023-12-16                 <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>
 </PRE>
 <div class="nav">
 <ul>
index 8067e30e55cbb4828344026c8f815d94c0481a1d..a608a3503795691b8bbcf9390d0a06025cd9e4e8 100644 (file)
   * sale, use or other dealings in this Software without prior written       *
   * authorization.                                                           *
   ****************************************************************************
-  * @Id: curs_mouse.3x,v 1.82 2023/12/16 21:08:16 tom Exp @
+  * @Id: curs_mouse.3x,v 1.83 2023/12/23 20:37:56 tom Exp @
 -->
 <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN">
 <HTML>
 <HEAD>
 <meta http-equiv="Content-Type" content="text/html; charset=us-ascii">
 <meta name="generator" content="Manpage converted by man2html - see https://invisible-island.net/scripts/readme.html#others_scripts">
-<TITLE>curs_mouse 3x 2023-12-16 ncurses 6.4 Library calls</TITLE>
+<TITLE>curs_mouse 3x 2023-12-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 2023-12-16 ncurses 6.4 Library calls</H1>
+<H1 class="no-header">curs_mouse 3x 2023-12-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>
 
        is device-dependent.
 
 
-</PRE><H3><a name="h3-Mouse-events">Mouse events</a></H3><PRE>
+</PRE><H3><a name="h3-Mouse-Events">Mouse Events</a></H3><PRE>
        Here are the mouse event type masks which may be defined:
 
        <STRONG>Name</STRONG>                     <STRONG>Description</STRONG>
 
 
 </PRE><H2><a name="h2-NOTES">NOTES</a></H2><PRE>
-       The feature macro <STRONG>NCURSES_MOUSE_VERSION</STRONG> is provided so the preprocessor
-       can be used to  test  whether  these  features  are  present.   If  the
-       interface  is  changed,  the  value  of  <STRONG>NCURSES_MOUSE_VERSION</STRONG>  will be
-       incremented.  These values for <STRONG>NCURSES_MOUSE_VERSION</STRONG> may  be  specified
-       when configuring <EM>ncurses</EM>:
-
-          1  has definitions for reserved events.  The mask uses 28 bits.
-
-          2  adds  definitions  for  button  5,  removes  the  definitions for
-             reserved events.  The mask uses 29 bits.
-
-       The  order  of  the  <STRONG>MEVENT</STRONG>  structure  members  is   not   guaranteed.
+       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 xterm'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
        If you are using an unsupported configuration, mouse events will not be
        visible to <EM>ncurses</EM> (and the <STRONG>mousemask</STRONG> function will always return <STRONG>0</STRONG>).
 
-       If  the  terminfo entry contains a <STRONG>XM</STRONG> string, this is used in the xterm
-       mouse driver to control the way the terminal is initialized  for  mouse
-       operation.   The  default,  if  <STRONG>XM</STRONG> is not found, corresponds to private
-       mode 1000 of xterm:
+       If the <EM>terminfo</EM> entry contains a <STRONG>XM</STRONG> string, this is used in  the  <EM>xterm</EM>
+       mouse  driver  to control the way the terminal is initialized for mouse
+       operation.  The default, if <STRONG>XM</STRONG> is not  found,  corresponds  to  private
+       mode 1000 of <EM>xterm:</EM>
 
           \E[?1000%?%p1%{1}%=%th%el%;
 
-       The mouse driver also recognizes a newer xterm private mode 1006, e.g.,
+       The mouse driver also recognizes a newer <EM>xterm</EM> private mode 1006, e.g.,
 
           \E[?1006;1000%?%p1%{1}%=%th%el%;
 
-       The <EM>z</EM> member in the event structure  is  not  presently  used.   It  is
-       intended  for  use with touch screens (which may be pressure-sensitive)
+       The  <EM>z</EM>  member  in  the  event  structure is not presently used.  It is
+       intended for use with touch screens (which may  be  pressure-sensitive)
        or with 3D-mice/trackballs/power gloves.
 
-       The <STRONG>ALL_MOUSE_EVENTS</STRONG>  class  does  not  include  <STRONG>REPORT_MOUSE_POSITION</STRONG>.
-       They  are  distinct.   For example, in xterm, wheel/scrolling mice send
-       position reports as a sequence of presses of buttons  4  or  5  without
+       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
+       position  reports  as  a  sequence of presses of buttons 4 or 5 without
        matching button-releases.
 
 
+</PRE><H2><a name="h2-EXTENSIONS">EXTENSIONS</a></H2><PRE>
+       These functions were designed for <STRONG><A HREF="ncurses.3x.html">ncurses(3x)</A></STRONG>, and  are  not  found  in
+       SVr4   <EM>curses</EM>,   4.4BSD   <EM>curses</EM>,   or   any   other   previous  curses
+       implementation.  (SVr4 <EM>curses</EM> did have a <EM>getmouse</EM> function, which  took
+       no argument and returned a different type.)
+
+
 </PRE><H2><a name="h2-PORTABILITY">PORTABILITY</a></H2><PRE>
-       These  calls  were  designed  for  <EM>ncurses</EM>,  and  are not found in SVr4
-       <EM>curses</EM>, 4.4BSD <EM>curses</EM>, or any other previous version of <EM>curses</EM>.
+       Applications employing the <EM>ncurses</EM> mouse extension should condition its
+       use on the visibility of the <STRONG>NCURSES_MOUSE_VERSION</STRONG> preprocessor  macro.
+       When  the  interface  changes,  the macro's value increments.  Multiple
+       versions  are  available  when  <EM>ncurses</EM>  is  configured;  see   section
+       "ALTERNATE CONFIGURATIONS" of <STRONG><A HREF="ncurses.3x.html">ncurses(3x)</A></STRONG>.  The following values may be
+       specified.
+
+          1  has definitions for reserved events.  The mask uses 28 bits.
+
+          2  adds definitions  for  button  5,  removes  the  definitions  for
+             reserved events.  The mask uses 29 bits.
 
-       SVr4 <EM>curses</EM> had support for the mouse in a variant of <STRONG>xterm(1)</STRONG>.  It  is
-       mentioned in a few places, but with no supporting documentation:
+       SVr4  <EM>curses</EM> had support for the mouse in a variant of <STRONG>xterm(1)</STRONG>.  It is
+       mentioned in a few places, with little supporting documentation.
 
-       <STRONG>o</STRONG>   the  "libcurses" manual page lists functions for this feature which
-           are prototyped in <STRONG>curses.h</STRONG>:
+       <STRONG>o</STRONG>   Its "libcurses"  manual  page  lists  functions  for  this  feature
+           prototyped in <EM>curses.h</EM>.
 
                extern int mouse_set(long int);
                extern int mouse_on(long int);
                extern void wmouse_position(WINDOW *, int *, int *);
                extern unsigned long getmouse(void), getbmap(void);
 
-       <STRONG>o</STRONG>   the "terminfo" manual page lists capabilities for the feature
+       <STRONG>o</STRONG>   Its "terminfo" manual page lists capabilities for the feature.
 
                buttons           btns    BT       Number of buttons on the mouse
                get_mouse         getm    Gm       Curses should get button events
                mouse_info        minfo   Mi       Mouse status information
                req_mouse_pos     reqmp   RQ       Request mouse position report
 
-       <STRONG>o</STRONG>   the interface made assumptions (as does <EM>ncurses</EM>) about  the  escape
+       <STRONG>o</STRONG>   The  interface  made assumptions (as does <EM>ncurses</EM>) about the escape
            sequences sent to and received from the terminal.
 
-           For  instance the SVr4 <EM>curses</EM> library used the <STRONG>get_mouse</STRONG> capability
-           to tell the terminal which mouse  button  events  it  should  send,
-           passing  the mouse-button bit mask to the terminal.  Also, it could
-           ask the terminal  where  the  mouse  was  using  the  <STRONG>req_mouse_pos</STRONG>
+           For instance, the SVr4 <EM>curses</EM> library used the <STRONG>get_mouse</STRONG> capability
+           to  tell  the  terminal  which  mouse button events it should send,
+           passing the mouse-button bit mask to the terminal.  Also, it  could
+           ask  the  terminal  where  the  mouse  was  using the <STRONG>req_mouse_pos</STRONG>
            capability.
 
-           Those  features required a terminal which had been modified to work
-           with <EM>curses</EM>.  They were not part of the X Consortium's xterm.
+           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>
 
-       When developing the xterm mouse support for <EM>ncurses</EM> in September  1995,
+       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  PDCurses 2.3 using the SVr4 interface.  PDCurses, 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.
 
 
        Mouse  event  reports from <EM>xterm</EM> are not detected correctly in a window
        with keypad application mode disabled, since they are interpreted as  a
-       variety  of  function  key.  Set the the terminal's <EM>terminfo</EM> capability
-       <STRONG>kmous</STRONG> to "\E[M" (the beginning of the response  from  <EM>xterm</EM>  for  mouse
-       clicks).    Other   values  of  <STRONG>kmous</STRONG>  are  permitted  under  the  same
-       assumption, that is, the report begins with that sequence.
+       variety  of function key.  Set the terminal's <EM>terminfo</EM> capability <STRONG>kmous</STRONG>
+       to "\E[M" (the beginning of the response from <EM>xterm</EM> for mouse  clicks).
+       Other values of <STRONG>kmous</STRONG> are permitted under the same assumption, that is,
+       the report begins with that sequence.
 
        Because there are no standard response sequences that serve to identify
        terminals  supporting the <EM>xterm</EM> mouse protocol, <EM>ncurses</EM> assumes that if
        <STRONG>kmous</STRONG> is defined in the terminal description, or if the terminal type's
        primary  name  or aliases contain the string "xterm", then the terminal
        may send mouse events.  The <STRONG>kmous</STRONG> capability is checked first, allowing
-       use of newer <EM>xterm</EM> mouse protocols such as its private mode 1006.
+       use of newer <EM>xterm</EM> mouse protocols, such as its private mode 1006.
 
 
 </PRE><H2><a name="h2-SEE-ALSO">SEE ALSO</a></H2><PRE>
 
 
 
-ncurses 6.4                       2023-12-16                    <STRONG><A HREF="curs_mouse.3x.html">curs_mouse(3x)</A></STRONG>
+ncurses 6.4                       2023-12-23                    <STRONG><A HREF="curs_mouse.3x.html">curs_mouse(3x)</A></STRONG>
 </PRE>
 <div class="nav">
 <ul>
@@ -381,7 +387,7 @@ ncurses 6.4                       2023-12-16                    <STRONG><A HREF=
 <li><a href="#h2-DESCRIPTION">DESCRIPTION</a>
 <ul>
 <li><a href="#h3-mousemask">mousemask</a></li>
-<li><a href="#h3-Mouse-events">Mouse events</a></li>
+<li><a href="#h3-Mouse-Events">Mouse Events</a></li>
 <li><a href="#h3-getmouse">getmouse</a></li>
 <li><a href="#h3-ungetmouse">ungetmouse</a></li>
 <li><a href="#h3-wenclose">wenclose</a></li>
@@ -393,6 +399,7 @@ ncurses 6.4                       2023-12-16                    <STRONG><A HREF=
 </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-BUGS">BUGS</a></li>
 <li><a href="#h2-SEE-ALSO">SEE ALSO</a></li>
index 97e81782b22e6c18a1ad1d62bc9b21570380c874..3fde9295ed59f22612c0aee40cfb83c98e888304 100644 (file)
   * sale, use or other dealings in this Software without prior written       *
   * authorization.                                                           *
   ****************************************************************************
-  * @Id: curs_print.3x,v 1.35 2023/12/16 20:32:22 tom Exp @
+  * @Id: curs_print.3x,v 1.36 2023/12/23 16:36: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_print 3x 2023-12-16 ncurses 6.4 Library calls</TITLE>
+<TITLE>curs_print 3x 2023-12-23 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-16 ncurses 6.4 Library calls</H1>
+<H1 class="no-header">curs_print 3x 2023-12-23 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>
 
        sent to the printer.
 
 
+</PRE><H2><a name="h2-EXTENSIONS">EXTENSIONS</a></H2><PRE>
+       <STRONG>mcprint</STRONG> was designed for <STRONG><A HREF="ncurses.3x.html">ncurses(3x)</A></STRONG>, and was not found in SVr4 <EM>curses</EM>,
+       4.4BSD <EM>curses</EM>, or any other previous curses implementation.
+
+
 </PRE><H2><a name="h2-PORTABILITY">PORTABILITY</a></H2><PRE>
-       The  <STRONG>mcprint</STRONG>  call  was  designed for <EM>ncurses</EM>, and is not found in SVr4
-       <EM>curses</EM>, 4.4BSD <EM>curses</EM>, or any other previous version of <EM>curses</EM>.  It  is
-       recommended   that   any   code  depending  on  <EM>ncurses</EM>  extensions  be
-       conditioned using <STRONG>NCURSES_VERSION</STRONG>.
+       Applications employing this <EM>ncurses</EM> extension should condition its  use
+       on the visibility of the <STRONG>NCURSES_VERSION</STRONG> preprocessor macro.
 
 
 </PRE><H2><a name="h2-BUGS">BUGS</a></H2><PRE>
 
 
 
-ncurses 6.4                       2023-12-16                    <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>
 </PRE>
 <div class="nav">
 <ul>
@@ -108,6 +111,7 @@ ncurses 6.4                       2023-12-16                    <STRONG><A HREF=
 <li><a href="#h2-SYNOPSIS">SYNOPSIS</a></li>
 <li><a href="#h2-DESCRIPTION">DESCRIPTION</a></li>
 <li><a href="#h2-RETURN-VALUE">RETURN VALUE</a></li>
+<li><a href="#h2-EXTENSIONS">EXTENSIONS</a></li>
 <li><a href="#h2-PORTABILITY">PORTABILITY</a></li>
 <li><a href="#h2-BUGS">BUGS</a></li>
 <li><a href="#h2-SEE-ALSO">SEE ALSO</a></li>
index 47ac8e5e72e74f8e1378c8d5d3830565d19c882a..9a312a058cfe3ee7fc3e4a8f5e57475c00c8c3c1 100644 (file)
@@ -27,7 +27,7 @@
   * sale, use or other dealings in this Software without prior written       *
   * authorization.                                                           *
   ****************************************************************************
-  * @Id: curs_printw.3x,v 1.45 2023/12/18 00:03:28 tom Exp @
+  * @Id: curs_printw.3x,v 1.47 2023/12/23 14:41:07 tom Exp @
   * https://minnie.tuhs.org/cgi-bin/utree.pl?file=4BSD/usr/src/lib/\
   *   libcurses/printw.c
   * https://minnie.tuhs.org/cgi-bin/utree.pl?file=V7/usr/include/\
 <HEAD>
 <meta http-equiv="Content-Type" content="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-17 ncurses 6.4 Library calls</TITLE>
+<TITLE>curs_printw 3x 2023-12-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-17 ncurses 6.4 Library calls</H1>
+<H1 class="no-header">curs_printw 3x 2023-12-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>
 
            using the <EM>stdarg.h</EM> interface.
 
        <STRONG>o</STRONG>   X/Open  Curses,  Issue  5,  Draft 2 (December 2007) marked <STRONG>vwprintw</STRONG>
-           (along with <STRONG>vwscanw</STRONG> and the termcap interface) as withdrawn.  After
+           (along with <STRONG>vwscanw</STRONG> and the <EM>termcap</EM> interface) as withdrawn.  After
            incorporating  review  comments, this became X/Open Curses, Issue 7
            (2009).
 
 
 
 
-ncurses 6.4                       2023-12-17                   <STRONG><A HREF="curs_printw.3x.html">curs_printw(3x)</A></STRONG>
+ncurses 6.4                       2023-12-23                   <STRONG><A HREF="curs_printw.3x.html">curs_printw(3x)</A></STRONG>
 </PRE>
 <div class="nav">
 <ul>
index a0b8d7cccec521839abc62029a9257c3025016b1..2c549ce4c4220a960a78461c4c769016508ce687 100644 (file)
@@ -27,7 +27,7 @@
   * sale, use or other dealings in this Software without prior written       *
   * authorization.                                                           *
   ****************************************************************************
-  * @Id: curs_scanw.3x,v 1.44 2023/12/17 22:50:40 tom Exp @
+  * @Id: curs_scanw.3x,v 1.47 2023/12/23 14:41:50 tom Exp @
   * https://minnie.tuhs.org/cgi-bin/utree.pl?file=4BSD/usr/src/lib/\
   *  libcurses/scanw.c
   * https://minnie.tuhs.org/cgi-bin/utree.pl?file=V7/usr/include/\
 <HEAD>
 <meta http-equiv="Content-Type" content="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-17 ncurses 6.4 Library calls</TITLE>
+<TITLE>curs_scanw 3x 2023-12-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-17 ncurses 6.4 Library calls</H1>
+<H1 class="no-header">curs_scanw 3x 2023-12-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>
 
            using the <EM>stdarg.h</EM> interface.
 
        <STRONG>o</STRONG>   X/Open Curses, Issue 5, Draft  2  (December  2007)  marked  <STRONG>vwscanw</STRONG>
-           (along with <STRONG>vwscanw</STRONG> and the termcap interface) as withdrawn.  After
+           (along with <STRONG>vwscanw</STRONG> and the <EM>termcap</EM> interface) as withdrawn.  After
            incorporating review comments, this became X/Open Curses,  Issue  7
            (2009).
 
 
        SVr3 (1987) added <STRONG>mvscanw</STRONG>, and <STRONG>mvwscanw</STRONG>, stating
 
-              These  routines  correspond  to <STRONG>scanf(3S)</STRONG>, as do their arguments
+              "[t]hese routines correspond to <STRONG>scanf(3S)</STRONG>, as do their arguments
               and return values.  <STRONG>wgetstr</STRONG>() is called on the window,  and  the
-              resulting line is used as input for the scan.
+              resulting line is used as input for the scan."
 
        SVr3  also  implemented  <STRONG>vwscanw</STRONG>,  describing  its third parameter as a
        <EM>va</EM><STRONG>_</STRONG><EM>list</EM>, defined in <EM>varargs.h</EM>, and referred the reader  to  the  manual
 
 
 
-ncurses 6.4                       2023-12-17                    <STRONG><A HREF="curs_scanw.3x.html">curs_scanw(3x)</A></STRONG>
+ncurses 6.4                       2023-12-23                    <STRONG><A HREF="curs_scanw.3x.html">curs_scanw(3x)</A></STRONG>
 </PRE>
 <div class="nav">
 <ul>
index 7386953567cf597e495c5d2fa8d7669476e2ce4b..e943b6c5946317a175d641d4d169ec190d06f12f 100644 (file)
@@ -27,7 +27,7 @@
   * sale, use or other dealings in this Software without prior written       *
   * authorization.                                                           *
   ****************************************************************************
-  * @Id: curs_sp_funcs.3x,v 1.45 2023/12/16 20:32:22 tom Exp @
+  * @Id: curs_sp_funcs.3x,v 1.46 2023/12/23 16:26:05 tom Exp @
   * ***************************************************************************
   * ***************************************************************************
   * ***************************************************************************
 <HEAD>
 <meta http-equiv="Content-Type" content="text/html; charset=us-ascii">
 <meta name="generator" content="Manpage converted by man2html - see https://invisible-island.net/scripts/readme.html#others_scripts">
-<TITLE>curs_sp_funcs 3x 2023-12-16 ncurses 6.4 Library calls</TITLE>
+<TITLE>curs_sp_funcs 3x 2023-12-23 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-16 ncurses 6.4 Library calls</H1>
+<H1 class="no-header">curs_sp_funcs 3x 2023-12-23 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>
 
        This  implementation  can  be  configured to provide a set of functions
        which improve the ability to manage multiple screens.  This feature can
        be added to any of the configurations supported by <EM>ncurses</EM>; it adds new
-       entrypoints without changing the meaning of any of the existing ones.
+       symbols without changing the meaning of any of the existing ones.
 
 
-</PRE><H3><a name="h3-IMPROVED-FUNCTIONS">IMPROVED FUNCTIONS</a></H3><PRE>
+</PRE><H3><a name="h3-Improved-Functions">Improved Functions</a></H3><PRE>
        Most of the functions  are  new  versions  of  existing  functions.   A
-       parameter  is added at the front of the parameter list.  It is a SCREEN
+       parameter  is added at the front of the parameter list.  It is a <EM>SCREEN</EM>
        pointer.
 
        The existing functions all use the current screen, which  is  a  static
        multiple screens.
 
 
-</PRE><H3><a name="h3-NEW-FUNCTIONS">NEW FUNCTIONS</a></H3><PRE>
+</PRE><H3><a name="h3-New-Functions">New Functions</a></H3><PRE>
        Here are the new functions:
 
        ceiling_panel
             With  the  screen-pointer extension, there are situations where it
             must create a current screen before the unextended  library  does.
             The  <STRONG>new_prescr</STRONG> function is used internally to handle these cases.
-            It is also provided as an  entrypoint  to  allow  applications  to
-            customize the library initialization.
+            It is also provided to allow  applications  to  customize  library
+            initialization.
 
 
 </PRE><H2><a name="h2-NOTES">NOTES</a></H2><PRE>
 
 
 
-ncurses 6.4                       2023-12-16                 <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>
 </PRE>
 <div class="nav">
 <ul>
@@ -305,8 +305,8 @@ ncurses 6.4                       2023-12-16                 <STRONG><A HREF="cu
 <li><a href="#h2-SYNOPSIS">SYNOPSIS</a></li>
 <li><a href="#h2-DESCRIPTION">DESCRIPTION</a>
 <ul>
-<li><a href="#h3-IMPROVED-FUNCTIONS">IMPROVED FUNCTIONS</a></li>
-<li><a href="#h3-NEW-FUNCTIONS">NEW FUNCTIONS</a></li>
+<li><a href="#h3-Improved-Functions">Improved Functions</a></li>
+<li><a href="#h3-New-Functions">New Functions</a></li>
 </ul>
 </li>
 <li><a href="#h2-NOTES">NOTES</a></li>
index 85c315547c8d62b844b9aac4f5f6b1f9f87c495b..fff45be4804b1cb012e7405093772869bc48ddca 100644 (file)
@@ -27,7 +27,7 @@
   * sale, use or other dealings in this Software without prior written       *
   * authorization.                                                           *
   ****************************************************************************
-  * @Id: curs_termcap.3x,v 1.76 2023/12/18 00:22:30 tom Exp @
+  * @Id: curs_termcap.3x,v 1.80 2023/12/23 20:19:05 tom Exp @
   * See &lt;https://minnie.tuhs.org/cgi-bin/utree.pl?file=2BSD/src/\
   *   termlib/termcap.c&gt;.
   * See https://www.oreilly.com/openbook/opensources/book/kirkmck.html
@@ -46,7 +46,7 @@
   * Observe the `tncktc()`, `tnamatch()`, `tskip()`, and `tdecode()`
   * entry points disappearing from termcap.c.
   * 2BSD became a branch retaining support for non-virtual memory
-  * systems (like the PDP-11) whereas most BSD development focused on
+  * systems (such as the PDP-11) whereas most BSD development focused on
   * the VAX and other VM-enabled systems starting with 3BSD.
   * This man page previously located a termcap.h in 2BSD, but that may
   * be confusion arising from its backport to 2.9BSD (and still present
 <HEAD>
 <meta http-equiv="Content-Type" content="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-17 ncurses 6.4 Library calls</TITLE>
+<TITLE>curs_termcap 3x 2023-12-23 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-17 ncurses 6.4 Library calls</H1>
+<H1 class="no-header">curs_termcap 3x 2023-12-23 ncurses 6.4 Library calls</H1>
 <PRE>
 <STRONG><A HREF="curs_termcap.3x.html">curs_termcap(3x)</A></STRONG>                 Library calls                <STRONG><A HREF="curs_termcap.3x.html">curs_termcap(3x)</A></STRONG>
 
 
 </PRE><H3><a name="h3-Initialization">Initialization</a></H3><PRE>
        <STRONG>tgetent</STRONG> loads the terminal database entry for <EM>name</EM>; see <STRONG><A HREF="term.7.html">term(7)</A></STRONG>.   This
-       must be done before calling any of the other functions.  It returns:
+       must be done before calling any of the other functions.  It returns
 
-          1   on success,
+          1    on success,
 
-          0   if  there is no such entry (or if the matching entry describes a
-              generic terminal,  having  too  little  information  for  <EM>curses</EM>
-              applications to run), and
+          0    if there is no such entry (or if the matching entry describes a
+               generic terminal, having  too  little  information  for  <EM>curses</EM>
+               applications to run), and
 
-          -1  if the <EM>terminfo</EM> database could not be found.
+          -1   if the <EM>terminfo</EM> database could not be found.
 
        This implementation differs from those of historical <EM>termcap</EM> libraries.
 
               form, which is not the same thing.
 
           <STRONG>o</STRONG>   The meanings of the  return  values  differ.   The  BSD  <EM>termcap</EM>
-              library  does not check whether the terminal type description is
-              marked  with  the  <STRONG>gn</STRONG>  (<STRONG>generic</STRONG>)  capability,  nor  whether  the
-              terminal  type  description  supports  an  addressable cursor, a
-              property essential for any <EM>curses</EM> implementation to operate.
+              library  does  not  check  whether the terminal type description
+              includes the <STRONG>generic</STRONG> (<STRONG>gn</STRONG>) capability, nor whether  the  terminal
+              type  description  supports  an  addressable  cursor, a property
+              essential for any <EM>curses</EM> implementation to operate.
 
 
 </PRE><H3><a name="h3-Retrieving-Capability-Values">Retrieving Capability Values</a></H3><PRE>
            Doing  so  reveals  a  quirk  in <STRONG>tgoto</STRONG>: most hardware terminals use
            cursor addressing with <EM>row</EM> first, but the  original  developers  of
            the  <EM>termcap</EM>  interface  chose  to  put  the <EM>col</EM> (column) parameter
-           first.  The <STRONG>tgoto</STRONG> function swaps the order of parameters.  It  does
-           this  even  for  calls  requiring only a single parameter.  In that
-           case, the first parameter is merely a placeholder.
+           first.  The <STRONG>tgoto</STRONG> function swaps the order of its  parameters.   It
+           does  this  even  for  calls requiring only a single parameter.  In
+           that case, the first parameter is merely a placeholder.
 
        <STRONG>o</STRONG>   Normally the <EM>ncurses</EM>  library  is  compiled  without  full  <EM>termcap</EM>
            support.  In that case, <STRONG>tgoto</STRONG> uses an internal version of <STRONG><A HREF="curs_terminfo.3x.html">tparm(3x)</A></STRONG>
            applications should not rely upon its availability.
 
        <STRONG>tputs</STRONG>  is described in <STRONG><A HREF="curs_terminfo.3x.html">curs_terminfo(3x)</A></STRONG>.  It can retrieve capabilities
-       by either <EM>termcap</EM> or <EM>terminfo</EM> name.
+       by either <EM>termcap</EM> or <EM>terminfo</EM> code.
 
 
 </PRE><H3><a name="h3-Global-Variables">Global Variables</a></H3><PRE>
               del_curterm(cur_term);
        to  free  this  memory,  but  there  is an additional complication with
        <EM>ncurses</EM>.  It uses a fixed-size pool of storage locations, one per value
-       of the <EM>TERM</EM> environment variable when <STRONG>tgetent</STRONG> is called.  The <STRONG>screen(1)</STRONG>
-       program relies upon this arrangement to improve its performance.
+       of the terminal name parameter given to <STRONG>tgetent</STRONG>.  The <STRONG>screen(1)</STRONG> program
+       relies upon this arrangement to improve its performance.
 
        An application that uses only the <EM>termcap</EM>  functions,  not  the  higher
        level  <EM>curses</EM>  API,  could  release  the  memory using <STRONG><A HREF="curs_terminfo.3x.html">del_curterm(3x)</A></STRONG>,
 
 </PRE><H3><a name="h3-Standards">Standards</a></H3><PRE>
        <STRONG>o</STRONG>   X/Open   Curses,   Issue  4,  Version  2  (1996),  describes  these
-           functions.  However, they are marked "TO BE WITHDRAWN".
+           functions, marking them as "TO BE WITHDRAWN".
 
-       <STRONG>o</STRONG>   X/Open Curses, Issue 7 (2009) marked the <EM>termcap</EM>  interface  (along
+       <STRONG>o</STRONG>   X/Open Curses, Issue 7 (2009) marks the  <EM>termcap</EM>  interface  (along
            with <STRONG>vwprintw</STRONG> and <STRONG>vwscanw</STRONG>) as withdrawn.
 
        Neither  X/Open  Curses  nor  the  SVr4 man pages documented the return
-       values of <STRONG>tgetent</STRONG> correctly, though all three  were  in  fact  returned
-       ever  since  SVr1.   In  particular,  an  omission in the X/Open Curses
-       specification has been misinterpreted to mean that <STRONG>tgetent</STRONG>  returns  <STRONG>OK</STRONG>
-       or  <STRONG>ERR</STRONG>.   Because  the  purpose  of  these  functions  is  to  provide
-       compatibility with the <EM>termcap</EM> library, that  is  a  defect  in  X/Open
-       Curses, Issue 4, Version 2 rather than in <EM>ncurses</EM>.
+       values of <STRONG>tgetent</STRONG> correctly, though all three shown here were  in  fact
+       returned  ever  since  SVr1.   In particular, an omission in the X/Open
+       Curses specification has  been  misinterpreted  to  mean  that  <STRONG>tgetent</STRONG>
+       returns  <STRONG>OK</STRONG>  or  <STRONG>ERR</STRONG>.   Because  the  purpose  of these functions is to
+       provide compatibility with the <EM>termcap</EM> library, that  is  a  defect  in
+       X/Open Curses, Issue 4, Version 2 rather than in <EM>ncurses</EM>.
 
    <STRONG>Compatibility</STRONG> <STRONG>with</STRONG> <STRONG>BSD</STRONG> <EM>termcap</EM>
        Externally  visible  variables  are  provided  for  support  of certain
 
        4BSD  (November 1980) renamed <EM>termlib</EM> to <EM>termcap</EM> and added another test
        program.  The library remained much the same though 4.3BSD (June 1986).
-       4.4BSD-Lite (June 1994) refactored it but left the API unchanged.
+       4.4BSD-Lite (June 1994) refactored it, leaving the API unchanged.
 
-       Function  prototypes  were  a feature of the forthcoming ANSI C (1989).
-       Thus the library provided no header file declaring them.  Nevertheless,
-       the  BSD  sources  included  two  different <EM>termcap.h</EM> header files over
-       time.
+       Function  prototypes were a feature of ANSI C (1989).  Thus the library
+       itself provided no header file declaring them.  Nevertheless,  the  BSD
+       sources included two different <EM>termcap.h</EM> header files over time.
 
        <STRONG>o</STRONG>   One was used internally by <STRONG>jove(1)</STRONG> from 4.3BSD onward.  It delcared
            global symbols for the <EM>termcap</EM> variables that it used.
 
-       <STRONG>o</STRONG>   The  other appeared in 4.4BSD-Lite Release 2 (June 1995) as part of
-           <EM>libedit</EM> (also known as the <EM>editline</EM> library).  CSRG source  history
+       <STRONG>o</STRONG>   The other appeared in 4.4BSD-Lite Release 2 (June 1995) as part  of
+           <EM>libedit</EM>  (also known as the <EM>editline</EM> library).  CSRG source history
            shows that this was added in mid-1992.  The <EM>libedit</EM> header file was
            used  internally  as  a  convenience  for  compiling  the  <EM>editline</EM>
            library.  It declared function prototypes, but no global variables.
            This header file was added to NetBSD's <EM>termcap</EM> library in mid-1994.
 
-       Meanwhile, GNU <EM>termcap</EM> began development in 1990.   Its  first  release
-       (1.0)  in  1991  included  a  <EM>termcap.h</EM>  header.   Its  second (1.1) in
-       September 1992 modified the  header  to  use  <EM>const</EM>  for  the  function
-       prototypes  in  the  header where one would expect the parameters to be
+       Meanwhile,  GNU  <EM>termcap</EM>  began development in 1990.  Its first release
+       (1.0) in 1991  included  a  <EM>termcap.h</EM>  header.   Its  second  (1.1)  in
+       September  1992  modified  the  header  to  use  <EM>const</EM> for the function
+       prototypes in the header where one would expect the  parameters  to  be
        read-only.   BSD  <EM>termcap</EM>  did  not.   The  prototype  for  <STRONG>tputs</STRONG>  also
-       differed,  but  in that instance, it was <EM>libedit</EM> that differed from BSD
+       differed, but in that instance, it was <EM>libedit</EM> that differed  from  BSD
        <EM>termcap</EM>.
 
-       GNU <EM>termcap</EM> 1.3 was bundled  with  <EM>bash</EM>  in  mid-1993  to  support  the
+       GNU  <EM>termcap</EM>  1.3  was  bundled with <STRONG>bash(1)</STRONG> in mid-1993 to support the
        <STRONG>readline(3)</STRONG> library.
 
-       <EM>ncurses</EM>  1.8.1 (November 1993) provided a <EM>termcap.h</EM> file.  It reflected
-       influence  from  GNU  <EM>termcap</EM>  and  <STRONG>emacs(1)</STRONG>  (rather  than   <STRONG>jove(1)</STRONG>),
+       <EM>ncurses</EM> 1.8.1 (November 1993) provided a <EM>termcap.h</EM> file.  It  reflected
+       influence   from  GNU  <EM>termcap</EM>  and  <STRONG>emacs(1)</STRONG>  (rather  than  <STRONG>jove(1)</STRONG>),
        providing the following interface:
 
        <STRONG>o</STRONG>   global symbols used by <EM>emacs</EM>,
 
        <STRONG>o</STRONG>   a prototype for <STRONG>tparam</STRONG>, a GNU <EM>termcap</EM> feature.
 
-       Later  (in mid-1996) the <STRONG>tparam</STRONG> function was removed from <EM>ncurses</EM>.  Any
-       two of the four implementations thus differ, and programs  that  intend
+       Later (in mid-1996) the <STRONG>tparam</STRONG> function was removed from <EM>ncurses</EM>.   Any
+       two  of  the four implementations thus differ, and programs that intend
        to work with all <EM>termcap</EM> library interfaces must account for that fact.
 
 
 </PRE><H2><a name="h2-BUGS">BUGS</a></H2><PRE>
-       If  you  call  <STRONG>tgetstr</STRONG>  to  fetch  <STRONG>ca</STRONG> or any other parameterized string
-       capability, be aware that it is returned in <EM>terminfo</EM> notation, not  the
-       older  and  not-quite-compatible <EM>termcap</EM> notation.  This does not cause
-       problems if all you do with it is  call  <STRONG>tgoto</STRONG>  or  <STRONG>tparm</STRONG>,  which  both
-       expand  <EM>terminfo</EM>-style  strings  as  <EM>terminfo</EM>  does.   (If  <EM>ncurses</EM>  is
-       configured to support <EM>termcap,</EM> <STRONG>tgoto</STRONG> checks whether the string is <EM>term-</EM>
-       <EM>info</EM>-style  by  looking  for  "<STRONG>%p</STRONG>"  parameters  or  "<STRONG>&lt;</STRONG>...<STRONG>&gt;</STRONG>" delays, and
-       invokes a <EM>termcap</EM>-style parser if the string appears not to  use  <EM>term-</EM>
-       <EM>info</EM> syntax.)
-
-       Because  <EM>terminfo</EM>'s  syntax  for padding in string capabilities differs
+       If  you  call  <STRONG>tgetstr</STRONG>  to  fetch  <STRONG>column_address</STRONG>  (<STRONG>ch</STRONG>)  or  any  other
+       parameterized  string capability, be aware that it is returned in <EM>term-</EM>
+       <EM>info</EM> notation, not the older and not-quite-compatible <EM>termcap</EM> notation.
+       This  does  not  cause  problems if all you do with it is call <STRONG>tgoto</STRONG> or
+       <STRONG>tparm</STRONG>, which both expand <EM>terminfo</EM>-style strings as <EM>terminfo</EM> does.   (If
+       <EM>ncurses</EM>  is  configured  to  support  <EM>termcap,</EM> <STRONG>tgoto</STRONG> checks whether the
+       string is <EM>terminfo</EM>-style by looking  for  "<STRONG>%p</STRONG>"  parameters  or  "<STRONG>&lt;</STRONG>...<STRONG>&gt;</STRONG>"
+       delays, and invokes a <EM>termcap</EM>-style parser if the string appears not to
+       use <EM>terminfo</EM> syntax.)
+
+       Because <EM>terminfo</EM>'s syntax for padding in  string  capabilities  differs
        from <EM>termcap</EM>'s, users can be surprised.
 
-       <STRONG>o</STRONG>   <STRONG>tputs("50")</STRONG> in a <EM>terminfo</EM> system transmits "50" rather  than  busy-
+       <STRONG>o</STRONG>   <STRONG>tputs("50")</STRONG>  in  a <EM>terminfo</EM> system transmits "50" rather than busy-
            waiting for 50 milliseconds.
 
-       <STRONG>o</STRONG>   However,  if  <EM>ncurses</EM> is configured to support <EM>termcap</EM>, it may also
+       <STRONG>o</STRONG>   However, if <EM>ncurses</EM> is configured to support <EM>termcap</EM>, it  may  also
            have been configured to support BSD-style padding.
 
-           In that case, <STRONG>tputs</STRONG> inspects strings  passed  to  it,  looking  for
+           In  that  case,  <STRONG>tputs</STRONG>  inspects  strings passed to it, looking for
            digits at the beginning of the string.
 
-           <STRONG>tputs("50")</STRONG>  in  a <EM>termcap</EM> system may busy-wait for 50 milliseconds
+           <STRONG>tputs("50")</STRONG> in a <EM>termcap</EM> system may busy-wait for  50  milliseconds
            rather than transmitting "50".
 
-       <EM>termcap</EM>  has  nothing  analogous  to  <EM>terminfo</EM>'s   <STRONG>sgr</STRONG>   string.    One
-       consequence  is  that <EM>termcap</EM> applications assume that "<STRONG>me</STRONG>" (equivalent
-       to <EM>terminfo</EM>'s <STRONG>sgr0</STRONG> capability) does not reset the  alternate  character
-       set.   <EM>ncurses</EM>  checks  for,  and  modifies  the  data shared with, the
-       <EM>termcap</EM> interface  to  accommodate  the  latter's  limitation  in  this
-       respect.
+       <EM>termcap</EM>  has  nothing  analogous  to  <EM>terminfo</EM>'s  <STRONG>set_attributes</STRONG>  (<STRONG>sgr</STRONG>)
+       capability.  One consequence is that <EM>termcap</EM> applications  assume  that
+       "<STRONG>me</STRONG>"  (equivalent  to <EM>terminfo</EM>'s <STRONG>exit_attribute_mode</STRONG> (<STRONG>sgr0</STRONG>) capability)
+       does not reset the alternate character set.  <EM>ncurses</EM>  checks  for,  and
+       modifies the data shared with, the <EM>termcap</EM> interface to accommodate the
+       latter's limitation in this respect.
 
 
 </PRE><H2><a name="h2-SEE-ALSO">SEE ALSO</a></H2><PRE>
 
 
 
-ncurses 6.4                       2023-12-17                  <STRONG><A HREF="curs_termcap.3x.html">curs_termcap(3x)</A></STRONG>
+ncurses 6.4                       2023-12-23                  <STRONG><A HREF="curs_termcap.3x.html">curs_termcap(3x)</A></STRONG>
 </PRE>
 <div class="nav">
 <ul>
index eb8b33e4929407bae967d6b56fc0df921b5e84ee..a800bfbe450395b2f3f9aa6e6634656be5844ee4 100644 (file)
@@ -28,7 +28,7 @@
   * sale, use or other dealings in this Software without prior written       *
   * authorization.                                                           *
   ****************************************************************************
-  * @Id: curs_terminfo.3x,v 1.123 2023/12/16 21:11:53 tom Exp @
+  * @Id: curs_terminfo.3x,v 1.124 2023/12/23 17:34:39 tom Exp @
   * ***************************************************************************
   * ***************************************************************************
   * ***************************************************************************
@@ -37,6 +37,8 @@
   * ***************************************************************************
   * ***************************************************************************
   * ***************************************************************************
+  * See X/Open Curses Issue 4, Version 2, pp. 227-234.
+  * See X/Open Curses Issue 7, pp. 311-318.
   * ***************************************************************************
   * ***************************************************************************
   * ***************************************************************************
 <HEAD>
 <meta http-equiv="Content-Type" content="text/html; charset=us-ascii">
 <meta name="generator" content="Manpage converted by man2html - see https://invisible-island.net/scripts/readme.html#others_scripts">
-<TITLE>curs_terminfo 3x 2023-12-16 ncurses 6.4 Library calls</TITLE>
+<TITLE>curs_terminfo 3x 2023-12-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 2023-12-16 ncurses 6.4 Library calls</H1>
+<H1 class="no-header">curs_terminfo 3x 2023-12-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>char</STRONG> <STRONG>*tiparm_s(int</STRONG> <EM>expected</EM><STRONG>,</STRONG> <STRONG>int</STRONG> <EM>mask</EM><STRONG>,</STRONG> <STRONG>const</STRONG> <STRONG>char</STRONG> <STRONG>*</STRONG><EM>str</EM><STRONG>,</STRONG> <STRONG>...);</STRONG>
        <STRONG>int</STRONG> <STRONG>tiscan_s(int</STRONG> <STRONG>*</STRONG><EM>expected</EM><STRONG>,</STRONG> <STRONG>int</STRONG> <STRONG>*</STRONG><EM>mask</EM><STRONG>,</STRONG> <STRONG>const</STRONG> <STRONG>char</STRONG> <STRONG>*</STRONG><EM>str</EM><STRONG>);</STRONG>
 
+       <EM>/*</EM> <EM>deprecated</EM> <EM>*/</EM>
+       <STRONG>int</STRONG> <STRONG>setterm(const</STRONG> <STRONG>char</STRONG> <STRONG>*</STRONG><EM>term</EM><STRONG>);</STRONG>
+
 
 </PRE><H2><a name="h2-DESCRIPTION">DESCRIPTION</a></H2><PRE>
        These low-level routines must be called by programs that have  to  deal
 
 </PRE><H3><a name="h3-The-Terminal-State">The Terminal State</a></H3><PRE>
        The  <STRONG>setupterm</STRONG>  routine  stores its information about the terminal in a
-       <STRONG>TERMINAL</STRONG> structure pointed to by the global variable <STRONG>cur_term</STRONG>.   If  it
+       <EM>TERMINAL</EM> structure pointed to by the global variable <STRONG>cur_term</STRONG>.   If  it
        detects  an error, or decides that the terminal is unsuitable (hardcopy
        or generic), it discards this information, making it not  available  to
        applications.
 
        <STRONG>o</STRONG>   <EM>affcnt</EM> is the number of lines affected, or 1 if not applicable.
 
-       <STRONG>o</STRONG>   <EM>putc</EM> is a <STRONG>putchar</STRONG>-like routine to which the characters are  passed,
+       <STRONG>o</STRONG>   <EM>putc</EM> is a <EM>putchar</EM>-like function to which the characters are passed,
            one at a time.
 
            If  <STRONG>tputs</STRONG>  processes  a  time-delay,  it  uses the <STRONG><A HREF="curs_util.3x.html">delay_output(3x)</A></STRONG>
 
        The <STRONG>vidputs</STRONG> routine displays the string on the terminal  in  the  video
        attribute mode <EM>attrs</EM>, which is any combination of the attributes listed
-       in <STRONG><A HREF="ncurses.3x.html">curses(3x)</A></STRONG>.  The characters are passed to the  <STRONG>putchar</STRONG>-like  routine
+       in <STRONG><A HREF="ncurses.3x.html">curses(3x)</A></STRONG>.  The characters are passed to the <EM>putchar</EM>-like  function
        <EM>putc</EM>.
 
        The <STRONG>vidattr</STRONG> routine is like the <STRONG>vidputs</STRONG> routine, except that it outputs
-       through <STRONG>putchar</STRONG>.
+       through <EM>putchar</EM>.
 
        The <STRONG>vid_attr</STRONG> and <STRONG>vid_puts</STRONG> routines correspond to vidattr  and  vidputs,
        respectively.   They  use a set of arguments for representing the video
 
        <STRONG>o</STRONG>   to improve performance, <EM>ncurses</EM> 6.3 caches the result of  analyzing
            terminfo  strings  for  their parameter types.  That is stored as a
-           binary tree referenced from the <STRONG>TERMINAL</STRONG> structure.
+           binary tree referenced from the <EM>TERMINAL</EM> structure.
 
        The higher-level <STRONG>initscr</STRONG> and <STRONG>newterm</STRONG> functions use <STRONG>setupterm</STRONG>.  Normally
        they  do  not free this memory, but it is possible to do that using the
 
 
 </PRE><H2><a name="h2-NOTES">NOTES</a></H2><PRE>
-       X/Open notes that <STRONG>vidattr</STRONG> and <STRONG>vidputs</STRONG> may be macros.
+       According to X/Open Curses, any of the <EM>enhanced</EM> <EM>curses</EM> functions may be
+       implemented  as  macros.   The  term  "enhanced" refers to features not
+       found in SVr4 curses.
+
+       <STRONG>ncurses</STRONG> uses macros
+
+       <STRONG>o</STRONG>   for functions which return values via their parameters,
+
+       <STRONG>o</STRONG>   to support obsolete features,
+
+       <STRONG>o</STRONG>   to reuse functions, e.g., those that move the cursor before another
+           operation, and
+
+       <STRONG>o</STRONG>   a few special cases.
+
+       The  <STRONG>vid_puts</STRONG> function in <STRONG>ncurses</STRONG> is a special case.  It was originally
+       implemented based on a draft of X/Open Curses, as a macro, before other
+       parts of the <STRONG>ncurses</STRONG> wide-character API were developed.
 
 
 </PRE><H2><a name="h2-EXTENSIONS">EXTENSIONS</a></H2><PRE>
-       The functions marked as extensions were designed for  <STRONG><A HREF="ncurses.3x.html">ncurses(3x)</A></STRONG>,  and
-       are  not  found  in  SVr4  curses, 4.4BSD curses, or any other previous
-       version of curses.
+       The  functions  marked as extensions were designed for <STRONG><A HREF="ncurses.3x.html">ncurses(3x)</A></STRONG>, and
+       are not found in SVr4 <EM>curses</EM>, 4.4BSD  <EM>curses</EM>,  or  any  other  previous
+       curses implementation.
 
 
 </PRE><H2><a name="h2-PORTABILITY">PORTABILITY</a></H2><PRE>
-       The function <STRONG>setterm</STRONG> is not described by X/Open and must be  considered
-       non-portable.  All other functions are as described by X/Open.
+       <STRONG>setterm</STRONG> is not described by X/Open and must be considered non-portable.
+       All other functions are as described by X/Open.
 
 
 </PRE><H3><a name="h3-Compatibility-Macros">Compatibility Macros</a></H3><PRE>
-       This  implementation  provides  a  few  macros  for  compatibility with
-       systems before SVr4 (see  <EM>HISTORY</EM>).   Those  include  <STRONG>crmode</STRONG>,  <STRONG>fixterm</STRONG>,
-       <STRONG>gettmode</STRONG>, <STRONG>nocrmode</STRONG>, <STRONG>resetterm</STRONG>, <STRONG>saveterm</STRONG>, and <STRONG>setterm</STRONG>.
+       This implementation  provides  a  few  macros  for  compatibility  with
+       systems  before  SVr4  (see  section  "HISTORY"  below).   They include
+       <STRONG>Bcrmode</STRONG>, <STRONG>Bfixterm</STRONG>, <STRONG>Bgettmode</STRONG>,  <STRONG>Bnocrmode</STRONG>,  <STRONG>Bresetterm</STRONG>,  <STRONG>Bsaveterm</STRONG>,  and
+       <STRONG>Bsetterm</STRONG>.
 
-       In  SVr4,  those  are  found in <STRONG>&lt;curses.h&gt;</STRONG>, but except for <STRONG>setterm</STRONG>, are
+       In  SVr4,  these  are  found  in  <EM>curses.h</EM>, but except for <STRONG>setterm</STRONG>, are
        likewise macros.  The one function, <STRONG>setterm</STRONG>, is mentioned in the manual
-       page.   The  manual page notes that the <STRONG>setterm</STRONG> routine was replaced by
-       <STRONG>setupterm</STRONG>, stating that the call
-
-              <STRONG>setupterm(</STRONG><EM>term</EM><STRONG>,</STRONG> <STRONG>1,</STRONG> <STRONG>(int</STRONG> <STRONG>*)0)</STRONG>
-
-       provides  the  same  functionality  as  <STRONG>setterm(</STRONG><EM>term</EM><STRONG>)</STRONG>,   and   is   not
-       recommended  for  new  programs.   This implementation provides each of
-       those symbols as macros for BSD compatibility.
+       page.  It further notes that <STRONG>setterm</STRONG> was replaced by <STRONG>setupterm</STRONG>, stating
+       that the call
+              setupterm(<EM>term</EM><STRONG>,</STRONG> <STRONG>1,</STRONG> <STRONG>(int</STRONG> <STRONG>*)0)</STRONG>
+       provides the same  functionality  as  <STRONG>setterm(</STRONG><EM>term</EM><STRONG>)</STRONG>,  discouraging  the
+       latter  for  new programs.  <EM>ncurses</EM> implements each of these symbols as
+       macros for BSD <EM>curses</EM> compatibility.
 
 
 </PRE><H3><a name="h3-Legacy-Data">Legacy Data</a></H3><PRE>
        X/Open  notes  that after calling <STRONG>mvcur</STRONG>, the curses state may not match
        the actual terminal state, and that an  application  should  touch  and
        refresh  the  window before resuming normal curses calls.  Both <EM>ncurses</EM>
-       and System V Release 4 curses implement <STRONG>mvcur</STRONG>  using  the  SCREEN  data
+       and System V Release 4 curses 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 terminfo function, <STRONG>mvcur</STRONG> is really a curses  function  which  is  not
        well specified.
        <STRONG>fixterm</STRONG>     restore tty to "in curses" state
        <STRONG>gettmode</STRONG>    establish current tty modes
        <STRONG>mvcur</STRONG>       low level cursor motion
-
        <STRONG>putp</STRONG>        utility function that uses <STRONG>tputs</STRONG>  to  send  characters  via
-                   <STRONG>putchar</STRONG>.
+                   <EM>putchar</EM>.
        <STRONG>resetterm</STRONG>   set tty modes to "out of curses" state
        <STRONG>resetty</STRONG>     reset tty flags to stored value
        <STRONG>saveterm</STRONG>    save current modes as "in curses" state
        <STRONG>setupterm</STRONG>   establish terminal with given type
        <STRONG>tparm</STRONG>       instantiate a string expression with parameters
        <STRONG>tputs</STRONG>       apply padding information to a string
-       <STRONG>vidattr</STRONG>     like <STRONG>vidputs</STRONG>, but outputs through <STRONG>putchar</STRONG>
+       <STRONG>vidattr</STRONG>     like <STRONG>vidputs</STRONG>, but outputs through <EM>putchar</EM>
        <STRONG>vidputs</STRONG>     output  a  string  to  put  terminal  in  a specified video
                    attribute mode
 
        <STRONG>tputs</STRONG>      apply  padding  to  capability,  calling  a  function to put
                   characters
 
-       Early terminfo programs obtained capability values  from  the  <STRONG>TERMINAL</STRONG>
+       Early terminfo programs obtained capability values  from  the  <EM>TERMINAL</EM>
        structure initialized by <STRONG>setupterm</STRONG>.
 
        SVr3  extended  terminfo  by  adding  functions  to retrieve capability
 
        <STRONG>Function</STRONG>    <STRONG>Description</STRONG>
        ------------------------------------------------------------------------
+
        <STRONG>tigetflag</STRONG>   get boolean entry for given <EM>id</EM>
        <STRONG>tigetnum</STRONG>    get numeric entry for given <EM>id</EM>
        <STRONG>tigetstr</STRONG>    get string entry for given <EM>id</EM>
        descriptions,   e.g.,   <STRONG>set_curterm</STRONG>.   Some  of  that  was  incremental
        improvements to the SVr2 library:
 
-       <STRONG>o</STRONG>   The <STRONG>TERMINAL</STRONG> type definition was introduced  in  SVr3.01,  for  the
+       <STRONG>o</STRONG>   The <EM>TERMINAL</EM> type definition was introduced  in  SVr3.01,  for  the
            <STRONG>term</STRONG> structure provided in SVr2.
 
        <STRONG>o</STRONG>   The  various  global  variables such as <STRONG>boolnames</STRONG> were mentioned in
 
 
 
-ncurses 6.4                       2023-12-16                 <STRONG><A HREF="curs_terminfo.3x.html">curs_terminfo(3x)</A></STRONG>
+ncurses 6.4                       2023-12-23                 <STRONG><A HREF="curs_terminfo.3x.html">curs_terminfo(3x)</A></STRONG>
 </PRE>
 <div class="nav">
 <ul>
index b7e6078eb20074c17c837e60272a8f43a5f4324c..7dad4feaafd796b9eecf6a92aabf1b4fd44bc540 100644 (file)
@@ -28,7 +28,7 @@
   * sale, use or other dealings in this Software without prior written       *
   * authorization.                                                           *
   ****************************************************************************
-  * @Id: curs_threads.3x,v 1.50 2023/12/16 20:32:22 tom Exp @
+  * @Id: curs_threads.3x,v 1.51 2023/12/23 16:22:25 tom Exp @
   * ***************************************************************************
   * ***************************************************************************
 -->
 <HEAD>
 <meta http-equiv="Content-Type" content="text/html; charset=us-ascii">
 <meta name="generator" content="Manpage converted by man2html - see https://invisible-island.net/scripts/readme.html#others_scripts">
-<TITLE>curs_threads 3x 2023-12-16 ncurses 6.4 Library calls</TITLE>
+<TITLE>curs_threads 3x 2023-12-23 ncurses 6.4 Library calls</TITLE>
 <link rel="author" href="mailto:bug-ncurses@gnu.org">
 
 </HEAD>
 <BODY>
-<H1 class="no-header">curs_threads 3x 2023-12-16 ncurses 6.4 Library calls</H1>
+<H1 class="no-header">curs_threads 3x 2023-12-23 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                       2023-12-16                  <STRONG><A HREF="curs_threads.3x.html">curs_threads(3x)</A></STRONG>
+ncurses 6.4                       2023-12-23                  <STRONG><A HREF="curs_threads.3x.html">curs_threads(3x)</A></STRONG>
 </PRE>
 <div class="nav">
 <ul>
index 295fa5216690aac169ea36310d3413bcb1be24fc..5654fbe92a80a9dc0a826c08cae6bc19ecb7736a 100644 (file)
   * sale, use or other dealings in this Software without prior written       *
   * authorization.                                                           *
   ****************************************************************************
-  * @Id: curs_trace.3x,v 1.41 2023/12/16 20:50:14 tom Exp @
+  * @Id: curs_trace.3x,v 1.42 2023/12/23 16:08: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>curs_trace 3x 2023-12-16 ncurses 6.4 Library calls</TITLE>
+<TITLE>curs_trace 3x 2023-12-23 ncurses 6.4 Library calls</TITLE>
 <link rel="author" href="mailto:bug-ncurses@gnu.org">
 
 </HEAD>
 <BODY>
-<H1 class="no-header">curs_trace 3x 2023-12-16 ncurses 6.4 Library calls</H1>
+<H1 class="no-header">curs_trace 3x 2023-12-23 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                       2023-12-16                    <STRONG><A HREF="curs_trace.3x.html">curs_trace(3x)</A></STRONG>
+ncurses 6.4                       2023-12-23                    <STRONG><A HREF="curs_trace.3x.html">curs_trace(3x)</A></STRONG>
 </PRE>
 <div class="nav">
 <ul>
index ce1aec47f8fe0c8cc9553cdc856aaccc84df4a36..af4eeda3b4324c64e4b380a3a70b37abc6263086 100644 (file)
   * sale, use or other dealings in this Software without prior written       *
   * authorization.                                                           *
   ****************************************************************************
-  * @Id: curs_util.3x,v 1.91 2023/12/16 20:32:22 tom Exp @
+  * @Id: curs_util.3x,v 1.92 2023/12/23 16:24: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_util 3x 2023-12-16 ncurses 6.4 Library calls</TITLE>
+<TITLE>curs_util 3x 2023-12-23 ncurses 6.4 Library calls</TITLE>
 <link rel="author" href="mailto:bug-ncurses@gnu.org">
 
 </HEAD>
 <BODY>
-<H1 class="no-header">curs_util 3x 2023-12-16 ncurses 6.4 Library calls</H1>
+<H1 class="no-header">curs_util 3x 2023-12-23 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>
 
        that data.  It returns a pointer to the new window.  There  are  a  few
        caveats:
 
-       <STRONG>o</STRONG>   the  data  written  is  a  copy  of  the  <STRONG>WINDOW</STRONG> structure, and its
+       <STRONG>o</STRONG>   the  data  written  is  a  copy  of  the  <EM>WINDOW</EM> structure, and its
            associated character cells.  The format differs between  the  wide-
            character  (<EM>ncursesw</EM>)  and  non-wide  (<EM>ncurses</EM>) libraries.  You can
            transfer data between the two, however.
            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 <STRONG>WINDOW</STRONG> structure to the
+       <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
            older <EM>ncurses</EM> versions.  This implementation (as well as the X/Open
            variant of Solaris curses, dated 1995) uses textual dumps.
 
 
 
-ncurses 6.4                       2023-12-16                     <STRONG><A HREF="curs_util.3x.html">curs_util(3x)</A></STRONG>
+ncurses 6.4                       2023-12-23                     <STRONG><A HREF="curs_util.3x.html">curs_util(3x)</A></STRONG>
 </PRE>
 <div class="nav">
 <ul>
index ed617925dfe01eeb30647559f318b31acf203dff..616d96e0f8cc11a2c6968857f15f45a0c6ede8a3 100644 (file)
   * sale, use or other dealings in this Software without prior written       *
   * authorization.                                                           *
   ****************************************************************************
-  * @Id: curs_variables.3x,v 1.35 2023/12/16 21:05:52 tom Exp @
+  * @Id: curs_variables.3x,v 1.40 2023/12/23 23:10:13 tom Exp @
+  * SVID 4, Volume 3, p. 408
 -->
 <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN">
 <HTML>
 <HEAD>
 <meta http-equiv="Content-Type" content="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 2023-12-16 ncurses 6.4 Library calls</TITLE>
+<TITLE>curs_variables 3x 2023-12-23 ncurses 6.4 Library calls</TITLE>
 <link rel="author" href="mailto:bug-ncurses@gnu.org">
 
 </HEAD>
 <BODY>
-<H1 class="no-header">curs_variables 3x 2023-12-16 ncurses 6.4 Library calls</H1>
+<H1 class="no-header">curs_variables 3x 2023-12-23 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>
 
@@ -47,9 +48,9 @@
 
 
 </PRE><H2><a name="h2-NAME">NAME</a></H2><PRE>
-       <EM>bool</EM>,  <EM>chtype</EM>,  <EM>cchar</EM><STRONG>_</STRONG><EM>t</EM>,  <EM>attr</EM><STRONG>_</STRONG><EM>t</EM>, <EM>WINDOW</EM>, <STRONG>TRUE</STRONG>, <STRONG>FALSE</STRONG>, <STRONG>ERR</STRONG>, <STRONG>OK</STRONG>, <STRONG>COLORS</STRONG>,
-       <STRONG>COLOR_PAIRS</STRONG>, <STRONG>COLS</STRONG>, <STRONG>ESCDELAY</STRONG>, <STRONG>LINES</STRONG>, <STRONG>TABSIZE</STRONG>, <STRONG>curscr</STRONG>, <STRONG>newscr</STRONG>,  <STRONG>stdscr</STRONG>  -
-       <EM>curses</EM> data types, constants, and global variables
+       <EM>bool</EM>,  <EM>chtype</EM>,  <EM>cchar</EM><STRONG>_</STRONG><EM>t</EM>,  <EM>attr</EM><STRONG>_</STRONG><EM>t</EM>, <EM>SCREEN</EM>, <EM>WINDOW</EM>, <STRONG>TRUE</STRONG>, <STRONG>FALSE</STRONG>, <STRONG>ERR</STRONG>, <STRONG>OK</STRONG>,
+       <STRONG>curscr</STRONG>, <STRONG>newscr</STRONG>, <STRONG>stdscr</STRONG>, <STRONG>COLORS</STRONG>,  <STRONG>COLOR_PAIRS</STRONG>,  <STRONG>COLS</STRONG>,  <STRONG>LINES</STRONG>,  <STRONG>ESCDELAY</STRONG>,
+       <STRONG>TABSIZE</STRONG> - <EM>curses</EM> data types, constants, and global variables
 
 
 </PRE><H2><a name="h2-SYNOPSIS">SYNOPSIS</a></H2><PRE>
@@ -60,6 +61,7 @@
        <STRONG>typedef</STRONG> <EM>/*</EM> <STRONG>...</STRONG> <EM>*/</EM> <STRONG>chtype;</STRONG>
        <STRONG>typedef</STRONG> <EM>/*</EM> <STRONG>...</STRONG> <EM>*/</EM> <STRONG>cchar_t;</STRONG>
        <STRONG>typedef</STRONG> <EM>/*</EM> <STRONG>...</STRONG> <EM>*/</EM> <STRONG>attr_t;</STRONG>
+       <STRONG>typedef</STRONG> <EM>/*</EM> <STRONG>...</STRONG> <EM>*/</EM> <STRONG>SCREEN;</STRONG>
        <STRONG>typedef</STRONG> <EM>/*</EM> <STRONG>...</STRONG> <EM>*/</EM> <STRONG>WINDOW;</STRONG>
 
        <EM>/*</EM> <EM>constants</EM> <EM>*/</EM>
        <STRONG>const</STRONG> <EM>/*</EM> <STRONG>...</STRONG> <EM>*/</EM> <STRONG>OK;</STRONG>
 
        <EM>/*</EM> <EM>variables</EM> <EM>*/</EM>
-       <STRONG>int</STRONG> <STRONG>COLOR_PAIRS;</STRONG>
        <STRONG>int</STRONG> <STRONG>COLORS;</STRONG>
+       <STRONG>int</STRONG> <STRONG>COLOR_PAIRS;</STRONG>
        <STRONG>int</STRONG> <STRONG>COLS;</STRONG>
        <STRONG>int</STRONG> <STRONG>LINES;</STRONG>
        <STRONG>WINDOW</STRONG> <STRONG>*</STRONG> <STRONG>curscr;</STRONG>
        <STRONG>WINDOW</STRONG> <STRONG>*</STRONG> <STRONG>stdscr;</STRONG>
+
        <EM>/*</EM> <EM>extensions</EM> <EM>*/</EM>
        <STRONG>int</STRONG> <STRONG>ESCDELAY;</STRONG>
        <STRONG>int</STRONG> <STRONG>TABSIZE;</STRONG>
        library.
 
 
-</PRE><H3><a name="h3-bool_-TRUE_-FALSE"><EM>bool,</EM> TRUE, FALSE</a></H3><PRE>
-       X/Open Issue 4 <EM>curses</EM>  (1996)  preceded  the  ISO  C99  and  ISO  C++98
-       standards,  each of which also defined a Boolean data type.  The <EM>curses</EM>
-       library requires an integral type <EM>bool</EM> and constants <STRONG>TRUE</STRONG> and <STRONG>FALSE</STRONG>  to
-       store its two possible values.
+</PRE><H2><a name="h2-CONSTANTS">CONSTANTS</a></H2><PRE>
+
+</PRE><H3><a name="h3-TRUE_-FALSE">TRUE, FALSE</a></H3><PRE>
+       The <EM>curses</EM> library defines <STRONG>TRUE</STRONG> and <STRONG>FALSE</STRONG> to represent  the  values  of
+       the Boolean data type.
 
 
 </PRE><H3><a name="h3-ERR_-OK">ERR, OK</a></H3><PRE>
        values indicating failure and success, respectively.
 
 
+</PRE><H2><a name="h2-PREDEFINED-TYPES">PREDEFINED TYPES</a></H2><PRE>
+
+</PRE><H3><a name="h3-bool"><EM>bool</EM></a></H3><PRE>
+       X/Open Issue 4 <EM>curses</EM>  (1996)  preceded  the  ISO  C99  and  ISO  C++98
+       standards,  each of which also defined a Boolean data type.  The <EM>curses</EM>
+       library requires an integral type <EM>bool</EM>.
+
+       <STRONG>ncurses</STRONG>' configure script attempts to discover the data  type  used  by
+       the system's C and C++ compilers, to reuse for the <EM>curses</EM> <EM>bool</EM>.
+
+
 </PRE><H3><a name="h3-chtype"><EM>chtype</EM></a></H3><PRE>
-       The <EM>chtype</EM> integral type combines a ("narrow",  8-bit)  character  with
-       attributes  encoding  the character's <EM>rendition</EM>, such as the styling of
+       The  <EM>chtype</EM>  integral  type combines a ("narrow", 8-bit) character with
+       attributes encoding the character's <EM>rendition</EM>, such as the  styling  of
        its  typeface  and/or  foreground  and  background  colors.   See,  for
        example, <STRONG><A HREF="curs_addch.3x.html">addch(3x)</A></STRONG>, <STRONG><A HREF="curs_attr.3x.html">attron(3x)</A></STRONG>, and <STRONG><A HREF="curs_inch.3x.html">inch(3x)</A></STRONG>.
 
 
 </PRE><H3><a name="h3-cchar_t_-attr_t"><EM>cchar_t,</EM> attr_t</a></H3><PRE>
-       <EM>chtype</EM>  is  too small for the standard C library's wide-character type,
-       <EM>wchar</EM><STRONG>_</STRONG><EM>t</EM>.  <EM>cchar</EM><STRONG>_</STRONG><EM>t</EM> is a type that can accommodate an <EM>attr</EM><STRONG>_</STRONG><EM>t</EM>  and  enough
-       wide  characters  to  store  what  Unicode  terms a <EM>grapheme</EM> <EM>cluster</EM> (a
-       "user-perceived character" [UAX #29], which  may  nevertheless  require
-       several  character encoding units to represent).  <EM>attr</EM><STRONG>_</STRONG><EM>t</EM> is an integral
-       type storing "wide"  attributes  that  apply  to  <EM>cchar</EM><STRONG>_</STRONG><EM>t</EM>s.   See,  for
+       <EM>chtype</EM> is too small for the standard C library's  wide-character  type,
+       <EM>wchar</EM><STRONG>_</STRONG><EM>t</EM>.   <EM>cchar</EM><STRONG>_</STRONG><EM>t</EM>  is a type that can accommodate an <EM>attr</EM><STRONG>_</STRONG><EM>t</EM> and enough
+       wide characters to store what  Unicode  terms  a  <EM>grapheme</EM>  <EM>cluster</EM>  (a
+       "user-perceived  character"  [UAX  #29], which may nevertheless require
+       several character encoding units to represent).  <EM>attr</EM><STRONG>_</STRONG><EM>t</EM> is an  integral
+       type  storing  "wide"  attributes  that  apply  to  <EM>cchar</EM><STRONG>_</STRONG><EM>t</EM>s.  See, for
        example, <STRONG><A HREF="curs_add_wch.3x.html">add_wch(3x)</A></STRONG>, <STRONG><A HREF="curs_attr.3x.html">attr_on(3x)</A></STRONG>, and <STRONG><A HREF="curs_in_wch.3x.html">in_wch(3x)</A></STRONG>.
 
 
-</PRE><H3><a name="h3-COLOR_PAIRS">COLOR_PAIRS</a></H3><PRE>
-       Once  <EM>curses</EM>  is  initialized, <STRONG>COLOR_PAIRS</STRONG> contains the number of color
-       pairs supported by the terminal.   Often,  its  value  is  the  product
-       <STRONG>COLORS</STRONG> x <STRONG>COLORS</STRONG>, but this is not always true.
+</PRE><H3><a name="h3-SCREEN"><EM>SCREEN</EM></a></H3><PRE>
+       <EM>curses</EM>  manages  a  terminal  device  with  this  structure  type;  see
+       <STRONG><A HREF="curs_initscr.3x.html">initscr(3x)</A></STRONG>.
+
 
-       <STRONG>o</STRONG>   A few terminals use HLS colors, ignoring this rule; and
+</PRE><H3><a name="h3-WINDOW"><EM>WINDOW</EM></a></H3><PRE>
+       <EM>curses</EM>  represents rectangular portions of the terminal screen with the
+       <EM>WINDOW</EM> structure type; see subsection "Overview" of <STRONG><A HREF="ncurses.3x.html">ncurses(3x)</A></STRONG>.
 
-       <STRONG>o</STRONG>   terminals  supporting  a  large number of colors are limited by the
-           number of color pairs that a <EM>signed</EM> <EM>short</EM> value can represent.
+
+</PRE><H2><a name="h2-VARIABLES">VARIABLES</a></H2><PRE>
+
+</PRE><H3><a name="h3-curscr_-stdscr_-newscr">curscr, stdscr, newscr</a></H3><PRE>
+       The library records updates to the terminal screen in  a  window  named
+       <STRONG>curscr</STRONG>.   This  object  is  referred  to  as  the  "physical screen" in
+       <STRONG><A HREF="curs_refresh.3x.html">curs_refresh(3x)</A></STRONG> and <STRONG><A HREF="curs_outopts.3x.html">curs_outopts(3x)</A></STRONG>.
+
+       <EM>ncurses</EM> collects pending updates to the terminal  screen  in  a  window
+       named  <STRONG>newscr</STRONG>.   This  object is referred to as the "virtual screen" in
+       the <STRONG><A HREF="curs_kernel.3x.html">curs_kernel(3x)</A></STRONG>, <STRONG><A HREF="curs_refresh.3x.html">curs_refresh(3x)</A></STRONG>, and <STRONG><A HREF="curs_outopts.3x.html">curs_outopts(3x)</A></STRONG>.  When  the
+       screen  is  refreshed, <EM>curses</EM> determines a minimal set of updates using
+       the terminal's capabilities to make <STRONG>curscr</STRONG> look like <STRONG>newscr</STRONG>.
+
+       Once <EM>curses</EM> is initialized, it creates a window named  <STRONG>stdscr</STRONG>.   It  is
+       the  same size as the terminal screen and is the default window used by
+       routines that do not take a parameter  identifying  one.   Many  <EM>curses</EM>
+       functions use this window.
 
 
 </PRE><H3><a name="h3-COLORS">COLORS</a></H3><PRE>
-       Once <EM>curses</EM> is  initialized,  <STRONG>COLORS</STRONG>  contains  the  number  of  colors
-       supported by the terminal.
+       Once  <EM>curses</EM>  is  initialized,  <STRONG>COLORS</STRONG>  contains  the  number of colors
+       supported by the terminal; see <STRONG><A HREF="curs_color.3x.html">curs_color(3x)</A></STRONG>.
 
 
-</PRE><H3><a name="h3-COLS">COLS</a></H3><PRE>
-       Once  <EM>curses</EM>  is  initialized,  <STRONG>COLS</STRONG>  contains  the  screen's  width in
-       character cells; that is, the number of columns.
+</PRE><H3><a name="h3-COLOR_PAIRS">COLOR_PAIRS</a></H3><PRE>
+       Once <EM>curses</EM> is initialized, <STRONG>COLOR_PAIRS</STRONG> contains the  number  of  color
+       pairs supported by the terminal; see <STRONG><A HREF="curs_color.3x.html">curs_color(3x)</A></STRONG>.
+
+
+</PRE><H3><a name="h3-COLS_-LINES">COLS, LINES</a></H3><PRE>
+       Once  <EM>curses</EM>  is initialized, <STRONG>COLS</STRONG> and <STRONG>LINES</STRONG> contain the screen's width
+       and height in character cells, respectively; that  is,  the  number  of
+       columns and lines.
 
 
 </PRE><H3><a name="h3-ESCDELAY">ESCDELAY</a></H3><PRE>
        For <EM>curses</EM> to distinguish an escape character corresponding to a user's
-       press  of  an  "Escape"  key on the input device from one included in a
+       press of an "Escape" key on the input device from  one  included  in  a
        control sequence used by a cursor movement or function key, the library
-       waits  to  see  if another key event occurs after the escape character.
+       waits to see if another key event occurs after  the  escape  character.
        <STRONG>ESCDELAY</STRONG> stores this interval in milliseconds.
 
 
-</PRE><H3><a name="h3-LINES">LINES</a></H3><PRE>
-       Once <EM>curses</EM> is initialized,  <STRONG>LINES</STRONG>  contains  the  screen's  height  in
-       character cells; that is, the number of lines.
-
-
 </PRE><H3><a name="h3-TABSIZE">TABSIZE</a></H3><PRE>
        The <EM>curses</EM> library converts a tab character to this number of spaces as
        it adds a tab to a window; see <STRONG><A HREF="curs_addch.3x.html">curs_addch(3x)</A></STRONG>.
 
 
-</PRE><H3><a name="h3-curscr">curscr</a></H3><PRE>
-       <EM>curses</EM> records updates to the terminal screen  in  a  <EM>WINDOW</EM>  structure
-       named <STRONG>curscr</STRONG>.
-
-       This object is referred to as the "physical screen" in <STRONG><A HREF="curs_refresh.3x.html">curs_refresh(3x)</A></STRONG>
-       and <STRONG><A HREF="curs_outopts.3x.html">curs_outopts(3x)</A></STRONG>.
-
-
-</PRE><H3><a name="h3-newscr">newscr</a></H3><PRE>
-       <EM>ncurses</EM> collects pending updates to the terminal  screen  in  a  <EM>WINDOW</EM>
-       structure named <STRONG>newscr</STRONG>.
-
-       This   object   is   referred   to  as  the  "virtual  screen"  in  the
-       <STRONG><A HREF="curs_kernel.3x.html">curs_kernel(3x)</A></STRONG>,  <STRONG><A HREF="curs_refresh.3x.html">curs_refresh(3x)</A></STRONG>,  and  <STRONG><A HREF="curs_outopts.3x.html">curs_outopts(3x)</A></STRONG>.   When  the
-       screen  is  refreshed, <EM>curses</EM> determines a minimal set of updates using
-       the terminal's capabilities to make <STRONG>curscr</STRONG> look like <STRONG>newscr</STRONG>.
-
-
-</PRE><H3><a name="h3-stdscr">stdscr</a></H3><PRE>
-       Once <EM>curses</EM> is initialized, it creates a <EM>WINDOW</EM> structure named <STRONG>stdscr</STRONG>.
-       It  is  the  same size as the terminal screen and is the default window
-       used by routines that do not take a parameter  identifying  one.   Many
-       <EM>curses</EM> functions use this window.
-
-
 </PRE><H2><a name="h2-NOTES">NOTES</a></H2><PRE>
        Either <STRONG><A HREF="curs_initscr.3x.html">initscr(3x)</A></STRONG> or <STRONG><A HREF="curs_initscr.3x.html">newterm(3x)</A></STRONG> initializes <EM>curses</EM>.
 
-       If  <EM>ncurses</EM>  is  configured  to  provide  separate  <EM>curses</EM> and <EM>terminfo</EM>
+       If <EM>ncurses</EM> is  configured  to  provide  separate  <EM>curses</EM>  and  <EM>terminfo</EM>
        libraries, most of these variables reside in the <EM>curses</EM> library.
 
 
 </PRE><H2><a name="h2-PORTABILITY">PORTABILITY</a></H2><PRE>
-       The X/Open Curses standard documents all of  the  foregoing  types  and
+       The  X/Open  Curses  standard  documents all of the foregoing types and
        symbols except for <STRONG>newscr</STRONG>, <STRONG>TABSIZE</STRONG>, and <STRONG>ESCDELAY</STRONG>.
 
-       X/Open  Curses  describes  <STRONG>curscr</STRONG> only as "an internal data structure";
-       SVID  gave  more  details,  noting  its  use  "for  certain   low-level
-       operations  like  clearing  and redrawing a screen containing garbage".
+       X/Open Curses describes <STRONG>curscr</STRONG> only as "an  internal  data  structure";
+       SVr4   gave  more  details,  noting  its  use  "for  certain  low-level
+       operations like clearing and redrawing a  screen  containing  garbage".
        Neither specified its interaction with the rest of the interface beyond
        use as an argument to <STRONG><A HREF="curs_outopts.3x.html">clearok(3x)</A></STRONG> and <STRONG><A HREF="curs_refresh.3x.html">wrefresh(3x)</A></STRONG>.
 
-       <STRONG>newscr</STRONG>  is  a feature of SVr4 <EM>curses</EM>.  When refreshing the screen, this
-       window is used as a working area  for  combining  the  standard  screen
-       <STRONG>stdscr</STRONG>  with  any  other windows which the application may have created
-       with <STRONG><A HREF="curs_window.3x.html">newwin(3x)</A></STRONG>.  When the updated <STRONG>newscr</STRONG> is complete,  <EM>curses</EM>  updates
-       <STRONG>curscr</STRONG> to match <STRONG>newscr</STRONG>.
+       <STRONG>newscr</STRONG> is a feature of SVr4 <EM>curses</EM>.  When refreshing the screen, it  is
+       used  as  a  working area for combining the standard window <STRONG>stdscr</STRONG> with
+       any others the application may have created with <STRONG><A HREF="curs_window.3x.html">newwin(3x)</A></STRONG>.  When  the
+       update of <STRONG>newscr</STRONG> is complete, <EM>curses</EM> modifies <STRONG>curscr</STRONG> to match <STRONG>newscr</STRONG>.
 
        <STRONG>TABSIZE</STRONG> is a feature of SVr4 <EM>curses</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_opaque.3x.html">curs_opaque(3x)</A></STRONG>,   <STRONG><A HREF="curs_terminfo.3x.html">curs_terminfo(3x)</A></STRONG>,   <STRONG><A HREF="curs_threads.3x.html">curs_threads(3x)</A></STRONG>,
-       <STRONG><A HREF="term_variables.3x.html">term_variables(3x)</A></STRONG>, <STRONG><A HREF="terminfo.5.html">terminfo(5)</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_opaque.3x.html">curs_opaque(3x)</A></STRONG>,    <STRONG><A HREF="curs_terminfo.3x.html">curs_terminfo(3x)</A></STRONG>,
+       <STRONG><A HREF="curs_threads.3x.html">curs_threads(3x)</A></STRONG>, <STRONG><A HREF="term_variables.3x.html">term_variables(3x)</A></STRONG>, <STRONG><A HREF="terminfo.5.html">terminfo(5)</A></STRONG>
 
        [UAX  #29]  "Unicode  Standard  Annex  #29: Unicode Text Segmentation";
        &lt;https://unicode.org/reports/tr29/&gt;
 
 
 
-ncurses 6.4                       2023-12-16                <STRONG><A HREF="curs_variables.3x.html">curs_variables(3x)</A></STRONG>
+ncurses 6.4                       2023-12-23                <STRONG><A HREF="curs_variables.3x.html">curs_variables(3x)</A></STRONG>
 </PRE>
 <div class="nav">
 <ul>
 <li><a href="#h2-NAME">NAME</a></li>
 <li><a href="#h2-SYNOPSIS">SYNOPSIS</a></li>
-<li><a href="#h2-DESCRIPTION">DESCRIPTION</a>
+<li><a href="#h2-DESCRIPTION">DESCRIPTION</a></li>
+<li><a href="#h2-CONSTANTS">CONSTANTS</a>
 <ul>
-<li><a href="#h3-bool_-TRUE_-FALSE">bool, TRUE, FALSE</a></li>
+<li><a href="#h3-TRUE_-FALSE">TRUE, FALSE</a></li>
 <li><a href="#h3-ERR_-OK">ERR, OK</a></li>
+</ul>
+</li>
+<li><a href="#h2-PREDEFINED-TYPES">PREDEFINED TYPES</a>
+<ul>
+<li><a href="#h3-bool">bool</a></li>
 <li><a href="#h3-chtype">chtype</a></li>
 <li><a href="#h3-cchar_t_-attr_t">cchar_t, attr_t</a></li>
-<li><a href="#h3-COLOR_PAIRS">COLOR_PAIRS</a></li>
+<li><a href="#h3-SCREEN">SCREEN</a></li>
+<li><a href="#h3-WINDOW">WINDOW</a></li>
+</ul>
+</li>
+<li><a href="#h2-VARIABLES">VARIABLES</a>
+<ul>
+<li><a href="#h3-curscr_-stdscr_-newscr">curscr, stdscr, newscr</a></li>
 <li><a href="#h3-COLORS">COLORS</a></li>
-<li><a href="#h3-COLS">COLS</a></li>
+<li><a href="#h3-COLOR_PAIRS">COLOR_PAIRS</a></li>
+<li><a href="#h3-COLS_-LINES">COLS, LINES</a></li>
 <li><a href="#h3-ESCDELAY">ESCDELAY</a></li>
-<li><a href="#h3-LINES">LINES</a></li>
 <li><a href="#h3-TABSIZE">TABSIZE</a></li>
-<li><a href="#h3-curscr">curscr</a></li>
-<li><a href="#h3-newscr">newscr</a></li>
-<li><a href="#h3-stdscr">stdscr</a></li>
 </ul>
 </li>
 <li><a href="#h2-NOTES">NOTES</a></li>
index 5b2722ceea02c99f28cae1eb51a84023d3112b8f..c24979f13bd777ea17a027a23a1ccdc12acc5dc3 100644 (file)
   * sale, use or other dealings in this Software without prior written       *
   * authorization.                                                           *
   ****************************************************************************
-  * @Id: form.3x,v 1.51 2023/12/16 20:32:22 tom Exp @
+  * @Id: form.3x,v 1.52 2023/12/23 16:08: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>form 3x 2023-12-16 ncurses 6.4 Library calls</TITLE>
+<TITLE>form 3x 2023-12-23 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-16 ncurses 6.4 Library calls</H1>
+<H1 class="no-header">form 3x 2023-12-23 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-16                          <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>
 </PRE>
 <div class="nav">
 <ul>
index 1a59c12c170adc7b9875c7f33b2ecca52f63a9c7..fa6d88ac29d8070dd3ba45ba3badbeaef688d6a7 100644 (file)
   * sale, use or other dealings in this Software without prior written       *
   * authorization.                                                           *
   ****************************************************************************
-  * @Id: form_driver.3x,v 1.53 2023/11/25 13:58:47 tom Exp @
+  * @Id: form_driver.3x,v 1.54 2023/12/23 16:08: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>form_driver 3x 2023-11-25 ncurses 6.4 Library calls</TITLE>
+<TITLE>form_driver 3x 2023-12-23 ncurses 6.4 Library calls</TITLE>
 <link rel="author" href="mailto:bug-ncurses@gnu.org">
 
 </HEAD>
 <BODY>
-<H1 class="no-header">form_driver 3x 2023-11-25 ncurses 6.4 Library calls</H1>
+<H1 class="no-header">form_driver 3x 2023-12-23 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>
 
@@ -84,7 +84,7 @@
        character or a request.
 
 
-</PRE><H3><a name="h3-Form-driver-requests">Form-driver requests</a></H3><PRE>
+</PRE><H3><a name="h3-Form-Driver-Requests">Form Driver Requests</a></H3><PRE>
        The form driver requests are as follows:
 
        <STRONG>Name</STRONG>               <STRONG>Description</STRONG>
        forms requests listed above, that request is executed.
 
 
-</PRE><H3><a name="h3-Field-validation">Field validation</a></H3><PRE>
+</PRE><H3><a name="h3-Field-Validation">Field Validation</a></H3><PRE>
        The  form  library  makes  updates  to  the window associated with form
        fields rather than directly to the field buffers.
 
        data from the window associated with the field to the field buffer.
 
 
-</PRE><H3><a name="h3-Mouse-handling">Mouse handling</a></H3><PRE>
+</PRE><H3><a name="h3-Mouse-Handling">Mouse Handling</a></H3><PRE>
        If the second argument is the KEY_MOUSE  special  key,  the  associated
        mouse  event  is translated into one of the above pre-defined requests.
        Currently only clicks in the user window (e.g., inside the form display
        translated into a form request an <STRONG>E_REQUEST_DENIED</STRONG> is returned.
 
 
-</PRE><H3><a name="h3-Application-defined-commands">Application-defined commands</a></H3><PRE>
+</PRE><H3><a name="h3-Application-defined-Commands">Application-defined Commands</a></H3><PRE>
        If the second argument is neither printable nor one of the  above  pre-
        defined form requests, the driver assumes it is an application-specific
        command and returns  <STRONG>E_UNKNOWN_COMMAND</STRONG>.   Application-defined  commands
 
 
 
-ncurses 6.4                       2023-11-25                   <STRONG><A HREF="form_driver.3x.html">form_driver(3x)</A></STRONG>
+ncurses 6.4                       2023-12-23                   <STRONG><A HREF="form_driver.3x.html">form_driver(3x)</A></STRONG>
 </PRE>
 <div class="nav">
 <ul>
@@ -285,10 +285,10 @@ ncurses 6.4                       2023-11-25                   <STRONG><A HREF="
 <ul>
 <li><a href="#h3-form_driver">form_driver</a></li>
 <li><a href="#h3-form_driver_w">form_driver_w</a></li>
-<li><a href="#h3-Form-driver-requests">Form-driver requests</a></li>
-<li><a href="#h3-Field-validation">Field validation</a></li>
-<li><a href="#h3-Mouse-handling">Mouse handling</a></li>
-<li><a href="#h3-Application-defined-commands">Application-defined commands</a></li>
+<li><a href="#h3-Form-Driver-Requests">Form Driver Requests</a></li>
+<li><a href="#h3-Field-Validation">Field Validation</a></li>
+<li><a href="#h3-Mouse-Handling">Mouse Handling</a></li>
+<li><a href="#h3-Application-defined-Commands">Application-defined Commands</a></li>
 </ul>
 </li>
 <li><a href="#h2-RETURN-VALUE">RETURN VALUE</a></li>
index b3ba683a29b7fd1f03826d8accf612d817942e00..8919c674b7df01d6efdb9bb01da6ac0286d05a70 100644 (file)
   * sale, use or other dealings in this Software without prior written       *
   * authorization.                                                           *
   ****************************************************************************
-  * @Id: infocmp.1m,v 1.102 2023/12/16 20:32:22 tom Exp @
+  * @Id: infocmp.1m,v 1.103 2023/12/23 16:08: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>infocmp 1m 2023-12-16 ncurses 6.4 User commands</TITLE>
+<TITLE>infocmp 1m 2023-12-23 ncurses 6.4 User commands</TITLE>
 <link rel="author" href="mailto:bug-ncurses@gnu.org">
 
 </HEAD>
 <BODY>
-<H1 class="no-header">infocmp 1m 2023-12-16 ncurses 6.4 User commands</H1>
+<H1 class="no-header">infocmp 1m 2023-12-23 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                       2023-12-16                       <STRONG><A HREF="infocmp.1m.html">infocmp(1m)</A></STRONG>
+ncurses 6.4                       2023-12-23                       <STRONG><A HREF="infocmp.1m.html">infocmp(1m)</A></STRONG>
 </PRE>
 <div class="nav">
 <ul>
index b3f14cee217e8155ad19a1c31d9454d295cd2262..798d4c71c7628ece34dc3f9e50e436fe5b146bbf 100644 (file)
   * sale, use or other dealings in this Software without prior written       *
   * authorization.                                                           *
   ****************************************************************************
-  * @Id: menu.3x,v 1.42 2023/12/16 20:32:22 tom Exp @
+  * @Id: menu.3x,v 1.43 2023/12/23 16:08: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>menu 3x 2023-12-16 ncurses 6.4 Library calls</TITLE>
+<TITLE>menu 3x 2023-12-23 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-16 ncurses 6.4 Library calls</H1>
+<H1 class="no-header">menu 3x 2023-12-23 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-16                          <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>
 </PRE>
 <div class="nav">
 <ul>
index 57e11543163e6b49ec64191233ceb8cb98d622eb..3a23b6a02f15a1a159e651e200436d25762a03ab 100644 (file)
   * sale, use or other dealings in this Software without prior written       *
   * authorization.                                                           *
   ****************************************************************************
-  * @Id: menu_driver.3x,v 1.44 2023/12/16 20:32:22 tom Exp @
+  * @Id: menu_driver.3x,v 1.45 2023/12/23 16:08: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>menu_driver 3x 2023-12-16 ncurses 6.4 Library calls</TITLE>
+<TITLE>menu_driver 3x 2023-12-23 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-16 ncurses 6.4 Library calls</H1>
+<H1 class="no-header">menu_driver 3x 2023-12-23 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>
 
        corresponding action is performed.
 
 
-</PRE><H3><a name="h3-MOUSE-HANDLING">MOUSE HANDLING</a></H3><PRE>
+</PRE><H3><a name="h3-Mouse-Handling">Mouse Handling</a></H3><PRE>
        If  the  second  argument  is the KEY_MOUSE special key, the associated
        mouse event is translated into one of the above  pre-defined  requests.
        Currently only clicks in the user window (e.g., inside the menu display
        translated into a menu request an <STRONG>E_REQUEST_DENIED</STRONG> is returned.
 
 
-</PRE><H3><a name="h3-APPLICATION-DEFINED-COMMANDS">APPLICATION-DEFINED COMMANDS</a></H3><PRE>
+</PRE><H3><a name="h3-Application-defined-Commands">Application-defined Commands</a></H3><PRE>
        If the second argument is neither printable nor one of the  above  pre-
        defined  menu  requests  or  KEY_MOUSE,  the  drive  assumes  it  is an
        application-specific    command    and    returns    <STRONG>E_UNKNOWN_COMMAND</STRONG>.
 
 
 
-ncurses 6.4                       2023-12-16                   <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>
 </PRE>
 <div class="nav">
 <ul>
@@ -231,8 +231,8 @@ ncurses 6.4                       2023-12-16                   <STRONG><A HREF="
 <li><a href="#h2-SYNOPSIS">SYNOPSIS</a></li>
 <li><a href="#h2-DESCRIPTION">DESCRIPTION</a>
 <ul>
-<li><a href="#h3-MOUSE-HANDLING">MOUSE HANDLING</a></li>
-<li><a href="#h3-APPLICATION-DEFINED-COMMANDS">APPLICATION-DEFINED COMMANDS</a></li>
+<li><a href="#h3-Mouse-Handling">Mouse Handling</a></li>
+<li><a href="#h3-Application-defined-Commands">Application-defined Commands</a></li>
 </ul>
 </li>
 <li><a href="#h2-RETURN-VALUE">RETURN VALUE</a></li>
index 5054afdce0c94f5178a17263781bcdb81ac2a643..714e302c93d40e5fdadd6d9a65270b42160913ff 100644 (file)
@@ -28,7 +28,7 @@
   * sale, use or other dealings in this Software without prior written       *
   * authorization.                                                           *
   ****************************************************************************
-  * @Id: ncurses.3x,v 1.187 2023/12/17 23:44:14 tom Exp @
+  * @Id: ncurses.3x,v 1.189 2023/12/23 16:32:37 tom Exp @
   * X/Open Curses Issue 7 assumes some optimization will be done, but
   * does not mandate it in any way.
 -->
 <HEAD>
 <meta http-equiv="Content-Type" content="text/html; charset=us-ascii">
 <meta name="generator" content="Manpage converted by man2html - see https://invisible-island.net/scripts/readme.html#others_scripts">
-<TITLE>ncurses 3x 2023-12-17 ncurses 6.4 Library calls</TITLE>
+<TITLE>ncurses 3x 2023-12-23 ncurses 6.4 Library calls</TITLE>
 <link rel="author" href="mailto:bug-ncurses@gnu.org">
 
 </HEAD>
 <BODY>
-<H1 class="no-header">ncurses 3x 2023-12-17 ncurses 6.4 Library calls</H1>
+<H1 class="no-header">ncurses 3x 2023-12-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>
 
@@ -62,7 +62,7 @@
        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 20231217).
+       This describes <EM>ncurses</EM> version 6.4 (patch 20231223).
 
        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
@@ -99,8 +99,8 @@
        <STRONG>-lncurses_g</STRONG>.   (Your  system  integrator  may also have installed these
        libraries under the names  <STRONG>-lcurses</STRONG>  and  <STRONG>-lcurses_g</STRONG>.)   The  ncurses_g
        library  generates  trace logs (in a file called "trace" in the current
-       directory) that describe curses  actions.   See  also  the  section  on
-       <STRONG>ALTERNATE</STRONG> <STRONG>CONFIGURATIONS</STRONG>.
+       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;
        modes  as  underlined,  in reverse video, or in color on terminals that
        support such display enhancements.  See <STRONG><A HREF="curs_attr.3x.html">curs_attr(3x)</A></STRONG>.
 
-       <EM>curses</EM> predefines symbols for a small set of line graphics  characters,
-       corresponding  to  the  VT100  line  drawing  set.   See <STRONG><A HREF="curs_addch.3x.html">waddch(3x)</A></STRONG> and
-       <STRONG><A HREF="curs_add_wch.3x.html">wadd_wch(3x)</A></STRONG>.
+       <EM>curses</EM> predefines constants for a small set of line-drawing  and  other
+       graphics  corresponding  to  the  DEC  Alternate Character Set (ACS), a
+       feature of VT100 and other terminals.  See <STRONG><A HREF="curs_addch.3x.html">waddch(3x)</A></STRONG> and <STRONG><A HREF="curs_add_wch.3x.html">wadd_wch(3x)</A></STRONG>.
 
        <EM>curses</EM> is implemented using the  operating  system's  terminal  driver;
-       keystroke  events are not received as scan codes but as byte sequences.
+       keystroke  events are received not as scan codes but as byte sequences.
        Graphical keycaps (alphanumeric and punctuation keys,  and  the  space)
        appear  as-is.   Everything  else,  including  the  tab,  enter/return,
        keypad, arrow, and function keys, appears as a control character  or  a
 
                  <EM>wint</EM><STRONG>_</STRONG><EM>t</EM>   can  store  a  <EM>wchar</EM><STRONG>_</STRONG><EM>t</EM>   or   the   constant   <STRONG>WEOF</STRONG>,
                           analogously  to the <EM>int</EM>-sized character manipulation
-                          functions of ISO C and their constant <STRONG>EOF</STRONG>.
+                          functions of ISO C and its constant <STRONG>EOF</STRONG>.
 
                  The  wide  library   provides   additional   functions   that
                  complement  those  in  the non-wide library where the size of
 
        The  reason  for the change was to make the behavior for interrupts and
        other  signals   more   robust.    One   drawback   is   that   certain
-       nonconventional  programs  would  mix ordinary stdio calls with <EM>ncurses</EM>
+       nonconventional programs would mix ordinary <STRONG>stdio(3)</STRONG> calls with <EM>ncurses</EM>
        calls and (usually) work.  This is no longer possible since <EM>ncurses</EM>  is
        not  using the buffered standard output but its own output (to the same
        file descriptor).  As a special case, the low-level calls such as  <STRONG>putp</STRONG>
 
 
 </PRE><H2><a name="h2-ALTERNATE-CONFIGURATIONS">ALTERNATE CONFIGURATIONS</a></H2><PRE>
-       Several   different  configurations  are  possible,  depending  on  the
-       configure script options used when building <EM>ncurses</EM>.  There are  a  few
-       main  options  whose  effects are visible to the applications developer
-       using <EM>ncurses</EM>:
+       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>
 
        --disable-overwrite
             The standard include for <EM>ncurses</EM> is as noted in <STRONG>SYNOPSIS</STRONG>:
        sections of the library man pages.
 
 
-</PRE><H3><a name="h3-Error-checking">Error checking</a></H3><PRE>
+</PRE><H3><a name="h3-Error-Checking">Error Checking</a></H3><PRE>
        In many cases, X/Open Curses is vague about error conditions,  omitting
        some of the SVr4 documentation.
 
        Unlike  other  implementations,  this  one  checks  parameters  such as
-       pointers to WINDOW structures to ensure they are not  null.   The  main
+       pointers to <EM>WINDOW</EM> structures to ensure they are not  null.   The  main
        reason  for  providing  this  behavior  is  to guard against programmer
        error.  The standard interface does not provide a way for  the  library
        to  tell an application which of several possible errors were detected.
        portability of curses applications.
 
 
-</PRE><H3><a name="h3-Extensions-versus-portability">Extensions versus portability</a></H3><PRE>
+</PRE><H3><a name="h3-Extensions-Versus-Portability">Extensions Versus Portability</a></H3><PRE>
        Most  of the extensions provided by <EM>ncurses</EM> have not been standardized.
        Some  have  been  incorporated  into  other  implementations,  such  as
        PDCurses or NetBSD curses.  Here are a few to consider:
        <STRONG>o</STRONG>   The routine <STRONG>wresize</STRONG> is not part of XPG4, nor is it present in SVr4.
            See the <STRONG><A HREF="wresize.3x.html">wresize(3x)</A></STRONG> manual page for details.
 
-       <STRONG>o</STRONG>   The  WINDOW  structure's  internal  details  can  be  hidden   from
+       <STRONG>o</STRONG>   The  <EM>WINDOW</EM>  structure's  internal  details  can  be  hidden   from
            application  programs.   See  <STRONG><A HREF="curs_opaque.3x.html">curs_opaque(3x)</A></STRONG> for the discussion of
            <STRONG>is_scrollok</STRONG>, etc.
 
            See <STRONG><A HREF="curs_sp_funcs.3x.html">curs_sp_funcs(3x)</A></STRONG> for details.
 
 
-</PRE><H3><a name="h3-Padding-differences">Padding differences</a></H3><PRE>
+</PRE><H3><a name="h3-Padding-Differences">Padding Differences</a></H3><PRE>
        In historic curses versions, delays embedded in  the  capabilities  <STRONG>cr</STRONG>,
        <STRONG>ind</STRONG>,  <STRONG>cub1</STRONG>,  <STRONG>ff</STRONG>  and <STRONG>tab</STRONG> activated corresponding delay bits in the Unix
        tty driver.  In this implementation, all padding is done by sending NUL
        portability correspondingly.
 
 
-</PRE><H3><a name="h3-Header-files">Header files</a></H3><PRE>
+</PRE><H3><a name="h3-Header-Files">Header Files</a></H3><PRE>
        The  header  file <EM>curses.h</EM> itself includes the header files <EM>stdio.h</EM> and
        <EM>unctrl.h</EM>.
 
 
 
 
-ncurses 6.4                       2023-12-17                       <STRONG><A HREF="ncurses.3x.html">ncurses(3x)</A></STRONG>
+ncurses 6.4                       2023-12-23                       <STRONG><A HREF="ncurses.3x.html">ncurses(3x)</A></STRONG>
 </PRE>
 <div class="nav">
 <ul>
@@ -1562,10 +1562,10 @@ ncurses 6.4                       2023-12-17                       <STRONG><A HR
 <li><a href="#h2-EXTENSIONS">EXTENSIONS</a></li>
 <li><a href="#h2-PORTABILITY">PORTABILITY</a>
 <ul>
-<li><a href="#h3-Error-checking">Error checking</a></li>
-<li><a href="#h3-Extensions-versus-portability">Extensions versus portability</a></li>
-<li><a href="#h3-Padding-differences">Padding differences</a></li>
-<li><a href="#h3-Header-files">Header files</a></li>
+<li><a href="#h3-Error-Checking">Error Checking</a></li>
+<li><a href="#h3-Extensions-Versus-Portability">Extensions Versus Portability</a></li>
+<li><a href="#h3-Padding-Differences">Padding Differences</a></li>
+<li><a href="#h3-Header-Files">Header Files</a></li>
 </ul>
 </li>
 <li><a href="#h2-AUTHORS">AUTHORS</a></li>
index 101b95ac1b271838b1b2e88b104ad185a7f32138..f0be19773fc51c989499e047759c7311ef91c138 100644 (file)
   * sale, use or other dealings in this Software without prior written       *
   * authorization.                                                           *
   ****************************************************************************
-  * @Id: MKncu_config.in,v 1.20 2023/12/16 21:43:05 tom Exp @
+  * @Id: MKncu_config.in,v 1.22 2023/12/23 23:44:26 tom Exp @
 -->
 <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN">
 <HTML>
 <HEAD>
 <meta http-equiv="Content-Type" content="text/html; charset=us-ascii">
 <meta name="generator" content="Manpage converted by man2html - see https://invisible-island.net/scripts/readme.html#others_scripts">
-<TITLE>ncursesw6-config 1 2023-12-16 ncurses 6.4 User commands</TITLE>
+<TITLE>ncursesw6-config 1 2023-12-23 ncurses 6.4 User commands</TITLE>
 <link rel="author" href="mailto:bug-ncurses@gnu.org">
 
 </HEAD>
 <BODY>
-<H1 class="no-header">ncursesw6-config 1 2023-12-16 ncurses 6.4 User commands</H1>
+<H1 class="no-header">ncursesw6-config 1 2023-12-23 ncurses 6.4 User commands</H1>
 <PRE>
 <STRONG><A HREF="ncursesw6-config.1.html">ncursesw6-config(1)</A></STRONG>              User commands             <STRONG><A HREF="ncursesw6-config.1.html">ncursesw6-config(1)</A></STRONG>
 
@@ -73,9 +73,6 @@
 
        <STRONG>--libs</STRONG>            reports the libraries needed to link with <EM>ncurses</EM>.
 
-       <STRONG>--version</STRONG>         reports  the  release  and  patch date information of
-                         <EM>ncurses</EM> and exits successfully.
-
        <STRONG>--abi-version</STRONG>     reports the ABI version of <EM>ncurses</EM>.
 
        <STRONG>--mouse-version</STRONG>   reports the mouse-interface version of <EM>ncurses</EM>.
 
        <STRONG>--datadir</STRONG>         reports the directory containing <EM>ncurses</EM> data.
 
-       <STRONG>--includedir</STRONG>      reports  the  directory  containing  <EM>ncurses</EM>   header
+       <STRONG>--includedir</STRONG>      reports   the  directory  containing  <EM>ncurses</EM>  header
                          files.
 
        <STRONG>--libdir</STRONG>          reports the directory containing <EM>ncurses</EM> libraries.
 
        <STRONG>--mandir</STRONG>          reports the directory containing <EM>ncurses</EM> man pages.
 
-       <STRONG>--terminfo</STRONG>        reports  the  <EM>TERMINFO</EM>  <EM>terminfo</EM>  database  path, for
+       <STRONG>--terminfo</STRONG>        reports the  <EM>TERMINFO</EM>  <EM>terminfo</EM>  database  path,  for
                          example <EM>/usr/share/terminfo</EM>.
 
-       <STRONG>--terminfo-dirs</STRONG>   reports the <EM>TERMINFO</EM><STRONG>_</STRONG><EM>DIRS</EM>  supplemental  search  path
+       <STRONG>--terminfo-dirs</STRONG>   reports  the  <EM>TERMINFO</EM><STRONG>_</STRONG><EM>DIRS</EM>  supplemental search path
                          for    the    <EM>terminfo</EM>    database,    for    example
                          <EM>/usr/share/terminfo</EM>.
 
        <STRONG>--termpath</STRONG>        reports the <EM>TERMPATH</EM> supplemental search path for the
-                         <EM>termcap</EM>   database,   if   support   for  <EM>termcap</EM>  is
+                         <EM>termcap</EM>  database,  if   support   for   <EM>termcap</EM>   is
                          configured.
 
-       <STRONG>--help</STRONG>            issues a usage message and exits successfully.
+       The following options cause all others to be ignored.
+
+       <STRONG>--help</STRONG>     issues a usage message and exits successfully.
+
+       <STRONG>--version</STRONG>  issues the release and patch date information of <EM>ncurses</EM> and
+                  exits successfully.
 
 
 </PRE><H2><a name="h2-SEE-ALSO">SEE ALSO</a></H2><PRE>
 
 
 
-ncurses 6.4                       2023-12-16               <STRONG><A HREF="ncursesw6-config.1.html">ncursesw6-config(1)</A></STRONG>
+ncurses 6.4                       2023-12-23               <STRONG><A HREF="ncursesw6-config.1.html">ncursesw6-config(1)</A></STRONG>
 </PRE>
 <div class="nav">
 <ul>
index 751fe6b8b4639c2ee924d12a276c0310abe25b3d..a6720a40746e4e3aba218fb25a93bee6546a4d36 100644 (file)
@@ -27,7 +27,7 @@
   * sale, use or other dealings in this Software without prior written       *
   * authorization.                                                           *
   ****************************************************************************
-  * @Id: panel.3x,v 1.60 2023/12/16 21:24:43 tom Exp @
+  * @Id: panel.3x,v 1.61 2023/12/23 16:22:25 tom Exp @
   * ---------
   * ---------
   * ---------
 <HEAD>
 <meta http-equiv="Content-Type" content="text/html; charset=us-ascii">
 <meta name="generator" content="Manpage converted by man2html - see https://invisible-island.net/scripts/readme.html#others_scripts">
-<TITLE>panel 3x 2023-12-16 ncurses 6.4 Library calls</TITLE>
+<TITLE>panel 3x 2023-12-23 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-16 ncurses 6.4 Library calls</H1>
+<H1 class="no-header">panel 3x 2023-12-23 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-16                         <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>
 </PRE>
 <div class="nav">
 <ul>
index ce5e2b2545d6f1842bbdc03d4f8a7d3d93b15ca4..53b9508a612c7f5b1918719592101570c3b7c641 100644 (file)
   * sale, use or other dealings in this Software without prior written       *
   * authorization.                                                           *
   ****************************************************************************
-  * @Id: scr_dump.5,v 1.40 2023/12/16 21:07:24 tom Exp @
+  * @Id: scr_dump.5,v 1.41 2023/12/23 16:27: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>scr_dump 5 2023-12-16 ncurses 6.4 File formats</TITLE>
+<TITLE>scr_dump 5 2023-12-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-16 ncurses 6.4 File formats</H1>
+<H1 class="no-header">scr_dump 5 2023-12-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>
 
        <STRONG>o</STRONG>   The ncurses6 <STRONG>getwin</STRONG> reads the legacy screen dumps from ncurses5.
 
 
-</PRE><H3><a name="h3-ncurses5-_legacy_">ncurses5 (legacy)</a></H3><PRE>
+</PRE><H3><a name="h3-ncurses5-_Legacy_">ncurses5 (Legacy)</a></H3><PRE>
        The screen-dump feature was added to <EM>ncurses</EM> in June 1995.  While there
        were fixes and improvements in succeeding years, the basic  scheme  was
        unchanged:
 
-       <STRONG>o</STRONG>   The <STRONG>WINDOW</STRONG> structure was written in binary form.
+       <STRONG>o</STRONG>   The <EM>WINDOW</EM> structure was written in binary form.
 
-       <STRONG>o</STRONG>   The <STRONG>WINDOW</STRONG> structure refers to lines of data, which were written as
-           an array of binary data following the <STRONG>WINDOW</STRONG>.
+       <STRONG>o</STRONG>   The <EM>WINDOW</EM> structure refers to lines of data, which were written as
+           an array of binary data following the <EM>WINDOW</EM>.
 
        <STRONG>o</STRONG>   When <STRONG>getwin</STRONG> restored the window, it would  keep  track  of  offsets
-           into  the  array of line-data and adjust the <STRONG>WINDOW</STRONG> structure which
+           into  the  array of line-data and adjust the <EM>WINDOW</EM> structure which
            was read back into memory.
 
        This is similar to Unix System V, but does not write a  "magic  number"
 
 </PRE><H3><a name="h3-Unix-System-V">Unix System V</a></H3><PRE>
        Unix System V curses identified the file format  by  writing  a  "magic
-       number" at the beginning of the dump.  The <STRONG>WINDOW</STRONG> data and the lines of
+       number" at the beginning of the dump.  The <EM>WINDOW</EM> data and the lines of
        text follow, all in binary form.
 
        The Solaris curses source has these definitions:
 
            \001\035
 
-       After  the magic number, the <STRONG>WINDOW</STRONG> structure and line-data are written
+       After  the magic number, the <EM>WINDOW</EM> structure and line-data are written
        in binary format.  While the magic number used by the Unix systems  can
        be seen using <STRONG>od(1)</STRONG>, none of the Unix systems documents the format used
        for screen-dumps.
 
 </PRE><H3><a name="h3-PDCurses">PDCurses</a></H3><PRE>
        PDCurses added support for screen dumps in version  2.7  (2005).   Like
-       Unix  System V  and ncurses5, it writes the <STRONG>WINDOW</STRONG> structure in binary,
+       Unix  System V  and ncurses5, it writes the <EM>WINDOW</EM> structure in binary,
        but begins the file with its three-byte identifier "PDC", followed by a
        one-byte version, e.g.,
 
        <STRONG>o</STRONG>   the curses shared library major and minor versions as the first two
            bytes (e.g., 7 and 1),
 
-       <STRONG>o</STRONG>   followed by a binary dump of the <STRONG>WINDOW</STRONG>,
+       <STRONG>o</STRONG>   followed by a binary dump of the <EM>WINDOW</EM>,
 
-       <STRONG>o</STRONG>   some data for wide-characters referenced by the  <STRONG>WINDOW</STRONG>  structure,
+       <STRONG>o</STRONG>   some data for wide-characters referenced by the  <EM>WINDOW</EM>  structure,
            and
 
        <STRONG>o</STRONG>   finally, lines as done by other implementations.
 
 
 
-ncurses 6.4                       2023-12-16                       <STRONG><A HREF="scr_dump.5.html">scr_dump(5)</A></STRONG>
+ncurses 6.4                       2023-12-23                       <STRONG><A HREF="scr_dump.5.html">scr_dump(5)</A></STRONG>
 </PRE>
 <div class="nav">
 <ul>
@@ -416,7 +416,7 @@ ncurses 6.4                       2023-12-16                       <STRONG><A HR
 <li><a href="#h2-DESCRIPTION">DESCRIPTION</a>
 <ul>
 <li><a href="#h3-ncurses6">ncurses6</a></li>
-<li><a href="#h3-ncurses5-_legacy_">ncurses5 (legacy)</a></li>
+<li><a href="#h3-ncurses5-_Legacy_">ncurses5 (Legacy)</a></li>
 </ul>
 </li>
 <li><a href="#h2-PORTABILITY">PORTABILITY</a>
index 5d8039a46f471df316664fe54c3cc612b07d08ab..e97dbb15bae2a541c572c5ba63237c4a0e16b234 100644 (file)
@@ -27,7 +27,7 @@
   * sale, use or other dealings in this Software without prior written       *
   * authorization.                                                           *
   ****************************************************************************
-  * @Id: tabs.1,v 1.51 2023/12/17 00:13:57 tom Exp @
+  * @Id: tabs.1,v 1.52 2023/12/23 16:08:25 tom Exp @
   * https://minnie.tuhs.org/cgi-bin/utree.pl?file=PWB1/sys/source/s2/\
   *   tabs.c
   * https://minnie.tuhs.org/cgi-bin/utree.pl?file=V7/usr/src/cmd/tabs.c
 <HEAD>
 <meta http-equiv="Content-Type" content="text/html; charset=us-ascii">
 <meta name="generator" content="Manpage converted by man2html - see https://invisible-island.net/scripts/readme.html#others_scripts">
-<TITLE>tabs 1 2023-12-16 ncurses 6.4 User commands</TITLE>
+<TITLE>tabs 1 2023-12-23 ncurses 6.4 User commands</TITLE>
 <link rel="author" href="mailto:bug-ncurses@gnu.org">
 
 </HEAD>
 <BODY>
-<H1 class="no-header">tabs 1 2023-12-16 ncurses 6.4 User commands</H1>
+<H1 class="no-header">tabs 1 2023-12-23 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>
 
        which is equivalent to the 1,6,11,16,21 example.
 
 
-</PRE><H3><a name="h3-Predefined-Tab-Stops">Predefined Tab-Stops</a></H3><PRE>
+</PRE><H3><a name="h3-Predefined-Tab-Stops">Predefined Tab Stops</a></H3><PRE>
        POSIX defines several predefined lists of tab stops.
 
        <STRONG>-a</STRONG>   Assembler, IBM S/370, first format
 
 
 
-ncurses 6.4                       2023-12-16                           <STRONG><A HREF="tabs.1.html">tabs(1)</A></STRONG>
+ncurses 6.4                       2023-12-23                           <STRONG><A HREF="tabs.1.html">tabs(1)</A></STRONG>
 </PRE>
 <div class="nav">
 <ul>
@@ -279,7 +279,7 @@ ncurses 6.4                       2023-12-16                           <STRONG><
 <li><a href="#h3-General-Options">General Options</a></li>
 <li><a href="#h3-Implicit-Lists">Implicit Lists</a></li>
 <li><a href="#h3-Explicit-Lists">Explicit Lists</a></li>
-<li><a href="#h3-Predefined-Tab-Stops">Predefined Tab-Stops</a></li>
+<li><a href="#h3-Predefined-Tab-Stops">Predefined Tab Stops</a></li>
 <li><a href="#h3-Margins">Margins</a></li>
 </ul>
 </li>
index 1f70937c3d33d29e08d3da08a65214371d037428..4509b95a663d41f98f517f9aa7eedcb2d7d13841 100644 (file)
   * sale, use or other dealings in this Software without prior written       *
   * authorization.                                                           *
   ****************************************************************************
-  * @Id: term.5,v 1.68 2023/12/16 20:32:22 tom Exp @
+  * @Id: term.5,v 1.69 2023/12/23 16:08: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>term 5 2023-12-16 ncurses 6.4 File formats</TITLE>
+<TITLE>term 5 2023-12-23 ncurses 6.4 File formats</TITLE>
 <link rel="author" href="mailto:bug-ncurses@gnu.org">
 
 </HEAD>
 <BODY>
-<H1 class="no-header">term 5 2023-12-16 ncurses 6.4 File formats</H1>
+<H1 class="no-header">term 5 2023-12-23 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>
 
@@ -57,7 +57,7 @@
 
 </PRE><H2><a name="h2-DESCRIPTION">DESCRIPTION</a></H2><PRE>
 
-</PRE><H3><a name="h3-STORAGE-LOCATION">STORAGE LOCATION</a></H3><PRE>
+</PRE><H3><a name="h3-Storage-Location">Storage Location</a></H3><PRE>
        Compiled   terminfo   descriptions   are  placed  under  the  directory
        <STRONG>/usr/share/terminfo</STRONG>.  Two configurations are supported  (when  building
        the <EM>ncurses</EM> libraries):
@@ -87,7 +87,7 @@
             database otherwise.
 
 
-</PRE><H3><a name="h3-LEGACY-STORAGE-FORMAT">LEGACY STORAGE FORMAT</a></H3><PRE>
+</PRE><H3><a name="h3-Legacy-Storage-Format">Legacy Storage Format</a></H3><PRE>
        The format has been chosen so that it will be the same on all hardware.
        An 8 or more bit  byte  is  assumed,  but  no  assumptions  about  byte
        ordering or sign extension are made.
        uninterpreted form.
 
 
-</PRE><H3><a name="h3-EXTENDED-STORAGE-FORMAT">EXTENDED STORAGE FORMAT</a></H3><PRE>
+</PRE><H3><a name="h3-Extended-Storage-Format">Extended Storage Format</a></H3><PRE>
        The previous section describes the conventional terminfo binary format.
        With  some  minor variations of the offsets (see PORTABILITY), the same
        binary format is used in all modern Unix systems.  Each system  uses  a
        names with members of a <STRONG>TERMTYPE</STRONG> structure.
 
 
-</PRE><H3><a name="h3-EXTENDED-NUMBER-FORMAT">EXTENDED NUMBER FORMAT</a></H3><PRE>
+</PRE><H3><a name="h3-Extended-Number-Format">Extended Number Format</a></H3><PRE>
        On occasion, 16-bit signed integers are not large enough.  With <EM>ncurses</EM>
        6.1,  a new format was introduced by making a few changes to the legacy
        format:
        the lists of boolean, number, and string capabilities.
 
 
-</PRE><H3><a name="h3-Binary-format">Binary format</a></H3><PRE>
+</PRE><H3><a name="h3-Binary-Format">Binary Format</a></H3><PRE>
        X/Open  Curses  does  not  specify  a format for the terminfo database.
        System V curses used a directory-tree of binary files, one per terminal
        description.
        different configuration options.
 
 
-</PRE><H3><a name="h3-Magic-codes">Magic codes</a></H3><PRE>
+</PRE><H3><a name="h3-Magic-Codes">Magic Codes</a></H3><PRE>
        The  magic  number  in a binary terminfo file is the first 16-bits (two
        bytes).  Besides making it more reliable for the library to check  that
        a  file  is  terminfo,  utilities such as <STRONG>file(1)</STRONG> also use that to tell
        uses 01036 as a continuation of that sequence,  but  with  a  different
        high-order byte to avoid confusion.
 
-
-</PRE><H3><a name="h3-The-TERMTYPE-structure">The TERMTYPE structure</a></H3><PRE>
+   <STRONG>The</STRONG> <EM>TERMTYPE</EM> <STRONG>Structure</STRONG>
        Direct  access  to  the  <STRONG>TERMTYPE</STRONG>  structure  is  provided  for  legacy
        applications.  Portable  applications  should  use  the  <STRONG>tigetflag</STRONG>  and
        related  functions  described in <STRONG><A HREF="curs_terminfo.3x.html">curs_terminfo(3x)</A></STRONG> for reading terminal
        capabilities.
 
 
-</PRE><H3><a name="h3-Mixed-case-terminal-names">Mixed-case terminal names</a></H3><PRE>
+</PRE><H3><a name="h3-Mixed-case-Terminal-Names">Mixed-case Terminal Names</a></H3><PRE>
        A small number of terminal descriptions  use  uppercase  characters  in
        their  names.   If  the  underlying  filesystem  ignores the difference
        between  uppercase  and  lowercase,  <EM>ncurses</EM>  represents   the   "first
 
 
 
-ncurses 6.4                       2023-12-16                           <STRONG><A HREF="term.5.html">term(5)</A></STRONG>
+ncurses 6.4                       2023-12-23                           <STRONG><A HREF="term.5.html">term(5)</A></STRONG>
 </PRE>
 <div class="nav">
 <ul>
@@ -408,20 +407,19 @@ ncurses 6.4                       2023-12-16                           <STRONG><
 <li><a href="#h2-SYNOPSIS">SYNOPSIS</a></li>
 <li><a href="#h2-DESCRIPTION">DESCRIPTION</a>
 <ul>
-<li><a href="#h3-STORAGE-LOCATION">STORAGE LOCATION</a></li>
-<li><a href="#h3-LEGACY-STORAGE-FORMAT">LEGACY STORAGE FORMAT</a></li>
-<li><a href="#h3-EXTENDED-STORAGE-FORMAT">EXTENDED STORAGE FORMAT</a></li>
-<li><a href="#h3-EXTENDED-NUMBER-FORMAT">EXTENDED NUMBER FORMAT</a></li>
+<li><a href="#h3-Storage-Location">Storage Location</a></li>
+<li><a href="#h3-Legacy-Storage-Format">Legacy Storage Format</a></li>
+<li><a href="#h3-Extended-Storage-Format">Extended Storage Format</a></li>
+<li><a href="#h3-Extended-Number-Format">Extended Number Format</a></li>
 </ul>
 </li>
 <li><a href="#h2-FILES">FILES</a></li>
 <li><a href="#h2-PORTABILITY">PORTABILITY</a>
 <ul>
 <li><a href="#h3-setupterm">setupterm</a></li>
-<li><a href="#h3-Binary-format">Binary format</a></li>
-<li><a href="#h3-Magic-codes">Magic codes</a></li>
-<li><a href="#h3-The-TERMTYPE-structure">The TERMTYPE structure</a></li>
-<li><a href="#h3-Mixed-case-terminal-names">Mixed-case terminal names</a></li>
+<li><a href="#h3-Binary-Format">Binary Format</a></li>
+<li><a href="#h3-Magic-Codes">Magic Codes</a></li>
+<li><a href="#h3-Mixed-case-Terminal-Names">Mixed-case Terminal Names</a></li>
 <li><a href="#h3-Limits">Limits</a></li>
 </ul>
 </li>
index 4373615f05f5d7064aa45d196df5920c50d82d16..e703ea383e4da870216434e39cd34420c4a812dd 100644 (file)
   * sale, use or other dealings in this Software without prior written       *
   * authorization.                                                           *
   ****************************************************************************
-  * @Id: term_variables.3x,v 1.33 2023/11/25 14:32:36 tom Exp @
+  * @Id: term_variables.3x,v 1.34 2023/12/23 16:08: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>term_variables 3x 2023-11-25 ncurses 6.4 Library calls</TITLE>
+<TITLE>term_variables 3x 2023-12-23 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-11-25 ncurses 6.4 Library calls</H1>
+<H1 class="no-header">term_variables 3x 2023-12-23 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>
 
        <STRONG>set_term</STRONG>.
 
 
-</PRE><H3><a name="h3-Terminfo-Lookup-Tables">Terminfo Lookup Tables</a></H3><PRE>
+</PRE><H3><a name="h3-terminfo-Lookup-Tables"><EM>terminfo</EM> Lookup Tables</a></H3><PRE>
        The <STRONG><A HREF="tic.1m.html">tic(1)</A></STRONG> and <STRONG><A HREF="infocmp.1m.html">infocmp(1)</A></STRONG> programs use lookup tables for the  long  and
        short  names  of  terminfo  capabilities,  as well as the corresponding
        names  for  termcap  capabilities.   These  are  available   to   other
        <STRONG>ttytype</STRONG>.
 
 
-</PRE><H3><a name="h3-Terminfo-Names">Terminfo Names</a></H3><PRE>
+</PRE><H3><a name="h3-terminfo-Names"><EM>terminfo</EM> Names</a></H3><PRE>
        In addition to the variables, <STRONG>&lt;term.h&gt;</STRONG> also defines a symbol  for  each
        terminfo  capability  <EM>long</EM> <EM>name</EM>.  These are in terms of the symbol <STRONG>CUR</STRONG>,
        which is defined
 
 
 
-ncurses 6.4                       2023-11-25                <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>
 </PRE>
 <div class="nav">
 <ul>
@@ -186,9 +186,9 @@ ncurses 6.4                       2023-11-25                <STRONG><A HREF="ter
 <ul>
 <li><a href="#h3-Alternate-Character-Set-Mapping">Alternate Character Set Mapping</a></li>
 <li><a href="#h3-Current-Terminal-Data">Current Terminal Data</a></li>
-<li><a href="#h3-Terminfo-Lookup-Tables">Terminfo Lookup Tables</a></li>
+<li><a href="#h3-terminfo-Lookup-Tables">terminfo Lookup Tables</a></li>
 <li><a href="#h3-Terminal-Type">Terminal Type</a></li>
-<li><a href="#h3-Terminfo-Names">Terminfo Names</a></li>
+<li><a href="#h3-terminfo-Names">terminfo Names</a></li>
 </ul>
 </li>
 <li><a href="#h2-NOTES">NOTES</a></li>
index 6d55396d518cd6d0277eff12b71c6961c8c9801f..813b96f9492b74041f014e7d1ee2a17149223d4e 100644 (file)
@@ -32,7 +32,7 @@
   * sale, use or other dealings in this Software without prior written       *
   * authorization.                                                           *
   ****************************************************************************
-  * @Id: terminfo.head,v 1.57 2023/12/18 01:15:58 tom Exp @
+  * @Id: terminfo.head,v 1.59 2023/12/23 23:44:58 tom Exp @
   * Head of terminfo man page ends here
   ****************************************************************************
   * Copyright 2018-2022,2023 Thomas E. Dickey                                *
@@ -62,7 +62,7 @@
   * sale, use or other dealings in this Software without prior written       *
   * authorization.                                                           *
   ****************************************************************************
-  * @Id: terminfo.tail,v 1.139 2023/12/17 22:56:21 tom Exp @
+  * @Id: terminfo.tail,v 1.140 2023/12/23 16:23:35 tom Exp @
   *.in -2
   *.in +2
   *.in -2
 <HEAD>
 <meta http-equiv="Content-Type" content="text/html; charset=us-ascii">
 <meta name="generator" content="Manpage converted by man2html - see https://invisible-island.net/scripts/readme.html#others_scripts">
-<TITLE>terminfo 5 2023-12-17 ncurses 6.4 File formats</TITLE>
+<TITLE>terminfo 5 2023-12-23 ncurses 6.4 File formats</TITLE>
 <link rel="author" href="mailto:bug-ncurses@gnu.org">
 
 </HEAD>
 <BODY>
-<H1 class="no-header">terminfo 5 2023-12-17 ncurses 6.4 File formats</H1>
+<H1 class="no-header">terminfo 5 2023-12-23 ncurses 6.4 File formats</H1>
 <PRE>
 <STRONG><A HREF="terminfo.5.html">terminfo(5)</A></STRONG>                      File formats                      <STRONG><A HREF="terminfo.5.html">terminfo(5)</A></STRONG>
 
        have, by specifying how to perform screen operations, and by specifying
        padding requirements and initialization sequences.
 
-       This manual describes <EM>ncurses</EM> version 6.4 (patch 20231217).
+       This manual describes <EM>ncurses</EM> version 6.4 (patch 20231223).
 
 
-</PRE><H3><a name="h3-Terminfo-Entry-Syntax">Terminfo Entry Syntax</a></H3><PRE>
+</PRE><H3><a name="h3-terminfo-Entry-Syntax"><EM>terminfo</EM> Entry Syntax</a></H3><PRE>
        Entries in <EM>terminfo</EM> consist of a sequence of fields:
 
        <STRONG>o</STRONG>   Each field ends with a comma "," (embedded commas  may  be  escaped
        For more on terminal naming conventions, see the <STRONG><A HREF="term.7.html">term(7)</A></STRONG> manual page.
 
 
-</PRE><H3><a name="h3-Terminfo-Capabilities-Syntax">Terminfo Capabilities Syntax</a></H3><PRE>
+</PRE><H3><a name="h3-terminfo-Capabilities-Syntax"><EM>terminfo</EM> Capabilities Syntax</a></H3><PRE>
        The terminfo entry consists of  several  <EM>capabilities</EM>,  i.e.,  features
        that  the  terminal  has,  or  methods  for  exercising  the terminal's
        features.
                 stack in the <STRONG>tparm</STRONG> function.
 
             <STRONG>o</STRONG>   SVr3.2  curses supported <EM>static</EM> variables.  Those are an array
-                in the <STRONG>TERMINAL</STRONG> structure (declared in <STRONG>term.h</STRONG>), and are zeroed
+                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>
 
 
 
-ncurses 6.4                       2023-12-17                       <STRONG><A HREF="terminfo.5.html">terminfo(5)</A></STRONG>
+ncurses 6.4                       2023-12-23                       <STRONG><A HREF="terminfo.5.html">terminfo(5)</A></STRONG>
 </PRE>
 <div class="nav">
 <ul>
@@ -2702,8 +2702,8 @@ ncurses 6.4                       2023-12-17                       <STRONG><A HR
 <li><a href="#h2-SYNOPSIS">SYNOPSIS</a></li>
 <li><a href="#h2-DESCRIPTION">DESCRIPTION</a>
 <ul>
-<li><a href="#h3-Terminfo-Entry-Syntax">Terminfo Entry Syntax</a></li>
-<li><a href="#h3-Terminfo-Capabilities-Syntax">Terminfo Capabilities Syntax</a></li>
+<li><a href="#h3-terminfo-Entry-Syntax">terminfo Entry Syntax</a></li>
+<li><a href="#h3-terminfo-Capabilities-Syntax">terminfo Capabilities Syntax</a></li>
 <li><a href="#h3-Similar-Terminals">Similar Terminals</a></li>
 <li><a href="#h3-Predefined-Capabilities">Predefined Capabilities</a></li>
 <li><a href="#h3-User-Defined-Capabilities">User-Defined Capabilities</a></li>
index db6e2ff527f7b97dfd3aaaf275a9e34d78c94581..50fc7fb0e52d67a98a69c5bd6edb1b2ff0be2196 100644 (file)
   * sale, use or other dealings in this Software without prior written       *
   * authorization.                                                           *
   ****************************************************************************
-  * @Id: tic.1m,v 1.104 2023/12/16 20:33:11 tom Exp @
+  * @Id: tic.1m,v 1.105 2023/12/23 16:08: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>tic 1m 2023-12-16 ncurses 6.4 User commands</TITLE>
+<TITLE>tic 1m 2023-12-23 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-16 ncurses 6.4 User commands</H1>
+<H1 class="no-header">tic 1m 2023-12-23 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>
 
        goes into further detail.
 
 
-</PRE><H3><a name="h3-ALIASES">ALIASES</a></H3><PRE>
+</PRE><H3><a name="h3-Aliases">Aliases</a></H3><PRE>
        This is the same program as infotocap and captoinfo; usually those  are
        linked to, or copied from this program:
 
             as function keys.
 
 
-</PRE><H3><a name="h3-PARAMETERS">PARAMETERS</a></H3><PRE>
+</PRE><H3><a name="h3-Parameters">Parameters</a></H3><PRE>
        <EM>file</EM>   contains  one  or  more <STRONG>terminfo</STRONG> terminal descriptions in source
               format  [see  <STRONG><A HREF="terminfo.5.html">terminfo(5)</A></STRONG>].   Each  description  in   the   file
               describes the capabilities of a particular terminal.
               The <EM>file</EM> parameter may also be the path of a character-device.
 
 
-</PRE><H3><a name="h3-PROCESSING">PROCESSING</a></H3><PRE>
+</PRE><H3><a name="h3-Processing">Processing</a></H3><PRE>
        All but one of the capabilities recognized by  <STRONG>tic</STRONG>  are  documented  in
        <STRONG><A HREF="terminfo.5.html">terminfo(5)</A></STRONG>.  The exception is the <STRONG>use</STRONG> capability.
 
 
 
 
-ncurses 6.4                       2023-12-16                           <STRONG><A HREF="tic.1m.html">tic(1m)</A></STRONG>
+ncurses 6.4                       2023-12-23                           <STRONG><A HREF="tic.1m.html">tic(1m)</A></STRONG>
 </PRE>
 <div class="nav">
 <ul>
@@ -490,13 +490,13 @@ ncurses 6.4                       2023-12-16                           <STRONG><
 <li><a href="#h2-SYNOPSIS">SYNOPSIS</a></li>
 <li><a href="#h2-DESCRIPTION">DESCRIPTION</a>
 <ul>
-<li><a href="#h3-ALIASES">ALIASES</a></li>
+<li><a href="#h3-Aliases">Aliases</a></li>
 </ul>
 </li>
 <li><a href="#h2-OPTIONS">OPTIONS</a>
 <ul>
-<li><a href="#h3-PARAMETERS">PARAMETERS</a></li>
-<li><a href="#h3-PROCESSING">PROCESSING</a></li>
+<li><a href="#h3-Parameters">Parameters</a></li>
+<li><a href="#h3-Processing">Processing</a></li>
 </ul>
 </li>
 <li><a href="#h2-FILES">FILES</a></li>
index 409408964e378727828a517c19d508b7b38307bf..c313b5af7d2d7f4be894ba10c061c864b890cc09 100644 (file)
   * sale, use or other dealings in this Software without prior written       *
   * authorization.                                                           *
   ****************************************************************************
-  * @Id: tput.1,v 1.92 2023/12/16 20:32:22 tom Exp @
+  * @Id: tput.1,v 1.96 2023/12/23 20:55:36 tom Exp @
+  * longname was added in October 1989.
 -->
 <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN">
 <HTML>
 <HEAD>
 <meta http-equiv="Content-Type" content="text/html; charset=us-ascii">
 <meta name="generator" content="Manpage converted by man2html - see https://invisible-island.net/scripts/readme.html#others_scripts">
-<TITLE>tput 1 2023-12-16 ncurses 6.4 User commands</TITLE>
+<TITLE>tput 1 2023-12-23 ncurses 6.4 User commands</TITLE>
 <link rel="author" href="mailto:bug-ncurses@gnu.org">
 
 </HEAD>
 <BODY>
-<H1 class="no-header">tput 1 2023-12-16 ncurses 6.4 User commands</H1>
+<H1 class="no-header">tput 1 2023-12-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>
 
 
 
 </PRE><H2><a name="h2-SYNOPSIS">SYNOPSIS</a></H2><PRE>
-       <STRONG>tput</STRONG> [<STRONG>-T</STRONG> <EM>terminal-type</EM>] <EM>capname</EM> [<EM>parameters</EM>]
+       <STRONG>tput</STRONG> [<STRONG>-T</STRONG> <EM>terminal-type</EM>] <EM>cap-code</EM> [<EM>parameter</EM> ...]
+
        <STRONG>tput</STRONG> [<STRONG>-T</STRONG> <EM>terminal-type</EM>] [<STRONG>-x</STRONG>] <STRONG>clear</STRONG>
+
        <STRONG>tput</STRONG> [<STRONG>-T</STRONG> <EM>terminal-type</EM>] <STRONG>init</STRONG>
+
        <STRONG>tput</STRONG> [<STRONG>-T</STRONG> <EM>terminal-type</EM>] <STRONG>reset</STRONG>
+
        <STRONG>tput</STRONG> [<STRONG>-T</STRONG> <EM>terminal-type</EM>] <STRONG>longname</STRONG>
-       <STRONG>tput</STRONG> <STRONG>-S</STRONG>  <STRONG>&lt;&lt;</STRONG>
+
+       <STRONG>tput</STRONG> <STRONG>-S</STRONG>
+
        <STRONG>tput</STRONG> <STRONG>-V</STRONG>
 
 
 </PRE><H2><a name="h2-DESCRIPTION">DESCRIPTION</a></H2><PRE>
-       The  <STRONG>tput</STRONG>  utility  uses  the  <STRONG>terminfo</STRONG>  database to make the values of
-       terminal-dependent capabilities and information available to the  shell
-       (see  <STRONG>sh(1)</STRONG>),  to  initialize or reset the terminal, or return the long
-       name of the requested terminal  type.   The  result  depends  upon  the
-       capability's type:
+       <STRONG>tput</STRONG>  uses  the  <EM>terminfo</EM>  library  and  database to make the values of
+       terminal-specific capabilities and information available to the  shell,
+       to  initialize  or  reset  the terminal, or report the long name of the
+       current (or  specified)  terminal  type.   When  retrieving  capability
+       values, the result depends upon the capability's type.
 
-          string
-               <STRONG>tput</STRONG>  writes  the  string  to the standard output.  No trailing
-               newline is supplied.
+       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.
 
-          integer
-               <STRONG>tput</STRONG> writes the decimal value to the standard  output,  with  a
-               trailing newline.
+       integer  <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.
 
-          boolean
-               <STRONG>tput</STRONG>  simply sets the exit code (<STRONG>0</STRONG> for TRUE if the terminal has
-               the capability, <STRONG>1</STRONG> for FALSE if it does not), and writes nothing
-               to the standard output.
+       string   <STRONG>tput</STRONG>  writes <EM>cap-code</EM>'s value to the standard output stream if
+                defined, without a trailing newline.
 
-       Before  using  a value returned on the standard output, the application
-       should test the exit code (e.g., <STRONG>$?</STRONG>, see <STRONG>sh(1)</STRONG>) to be  sure  it  is  <STRONG>0</STRONG>.
-       (See the <STRONG>EXIT</STRONG> <STRONG>STATUS</STRONG> and <STRONG>DIAGNOSTICS</STRONG> sections.)  For a complete list of
-       capabilities and the <EM>capname</EM> associated with each, see <STRONG><A HREF="terminfo.5.html">terminfo(5)</A></STRONG>.
+       Before using a value returned on the standard output,  the  application
+       should  test  <STRONG>tput</STRONG>'s exit status (for example, using <STRONG>$?</STRONG> in <STRONG>sh(1)</STRONG>) to be
+       sure it is <STRONG>0</STRONG>; see sections "EXIT STATUS" and "DIAGNOSTICS" below.   For
+       a complete list of <EM>cap-codes,</EM> see <STRONG><A HREF="terminfo.5.html">terminfo(5)</A></STRONG>.
 
 
 </PRE><H3><a name="h3-Options">Options</a></H3><PRE>
-       <STRONG>-S</STRONG>     allows more than one capability per  invocation  of  <STRONG>tput</STRONG>.   The
-              capabilities  must  be  passed  to  <STRONG>tput</STRONG> from the standard input
-              instead of from  the  command  line  (see  example).   Only  one
-              <EM>capname</EM>  is allowed per line.  The <STRONG>-S</STRONG> option changes the meaning
-              of the <STRONG>0</STRONG> and <STRONG>1</STRONG> boolean and  string  exit  codes  (see  the  EXIT
-              STATUS section).
-
-              Because  some capabilities may use <EM>string</EM> parameters rather than
+       <STRONG>-S</STRONG>     allows  more  than  one  capability per invocation of <STRONG>tput</STRONG>.  The
+              capabilities must be passed to  <STRONG>tput</STRONG>  from  the  standard  input
+              instead  of  from the command line (see example).  Only one <EM>cap-</EM>
+              <EM>code</EM> is allowed per line.  The <STRONG>-S</STRONG> option changes the meaning  of
+              the  <STRONG>0</STRONG> and <STRONG>1</STRONG> Boolean and string exit statuses (see section "EXIT
+              STATUS" below).
+
+              Because some capabilities may use <EM>string</EM> parameters rather  than
               <EM>numbers</EM>, <STRONG>tput</STRONG> uses a table and the presence of parameters in its
-              input  to  decide whether to use <STRONG><A HREF="curs_terminfo.3x.html">tparm(3x)</A></STRONG>, and how to interpret
+              input to decide whether to use <STRONG><A HREF="curs_terminfo.3x.html">tparm(3x)</A></STRONG>, and how  to  interpret
               the parameters.
 
        <STRONG>-T</STRONG><EM>type</EM> indicates  the  <EM>type</EM>  of  terminal.   Normally  this  option  is
-              unnecessary,  because  the default is taken from the environment
-              variable <EM>TERM</EM>.  If <STRONG>-T</STRONG> is specified,  then  the  shell  variables
+              unnecessary, because the default is taken from  the  environment
+              variable  <EM>TERM</EM>.   If  <STRONG>-T</STRONG>  is specified, then the shell variables
               <EM>LINES</EM> and <EM>COLUMNS</EM> will also be ignored.
 
-       <STRONG>-V</STRONG>     reports  the  version of <EM>ncurses</EM> which was used in this program,
+       <STRONG>-V</STRONG>     reports the version of <EM>ncurses</EM> which was used in  this  program,
               and exits.
 
        <STRONG>-x</STRONG>     prevents <STRONG>tput</STRONG> from attempting to clear the scrollback buffer.
 </PRE><H3><a name="h3-Commands">Commands</a></H3><PRE>
        A few commands (<STRONG>init</STRONG>, <STRONG>reset</STRONG> and <STRONG>longname</STRONG>) are special; they are defined
        by the <STRONG>tput</STRONG> program.  The others are the names of <EM>capabilities</EM> from the
-       terminal database (see <STRONG><A HREF="terminfo.5.html">terminfo(5)</A></STRONG> for  a  list).   Although  <STRONG>init</STRONG>  and
-       <STRONG>reset</STRONG>  resemble  capability  names,  <STRONG>tput</STRONG>  uses several capabilities to
+       terminal  database  (see  <STRONG><A HREF="terminfo.5.html">terminfo(5)</A></STRONG>  for  a list).  Although <STRONG>init</STRONG> and
+       <STRONG>reset</STRONG> resemble capability names,  <STRONG>tput</STRONG>  uses  several  capabilities  to
        perform these special functions.
 
-       <EM>capname</EM>
+       <EM>cap-code</EM>
               indicates the capability from the terminal database.
 
-              If the  capability  is  a  string  that  takes  parameters,  the
-              arguments  following  the  capability will be used as parameters
+              If  the  capability  is  a  string  that  takes  parameters, the
+              arguments following the capability will be  used  as  parameters
               for the string.
 
-              Most parameters are numbers.  Only a few  terminal  capabilities
-              require  string parameters; <STRONG>tput</STRONG> uses a table to decide which to
-              pass as strings.  Normally <STRONG>tput</STRONG> uses <STRONG><A HREF="curs_terminfo.3x.html">tparm(3x)</A></STRONG>  to  perform  the
-              substitution.   If  no  parameters are given for the capability,
+              Most  parameters  are numbers.  Only a few terminal capabilities
+              require string parameters; <STRONG>tput</STRONG> uses a table to decide which  to
+              pass  as  strings.   Normally <STRONG>tput</STRONG> uses <STRONG><A HREF="curs_terminfo.3x.html">tparm(3x)</A></STRONG> to perform the
+              substitution.  If no parameters are given  for  the  capability,
               <STRONG>tput</STRONG> writes the string without performing the substitution.
 
-       <STRONG>init</STRONG>   If the terminal database is present and an entry for the  user's
+       <STRONG>init</STRONG>   If  the terminal database is present and an entry for the user's
               terminal exists (see <STRONG>-T</STRONG><EM>type</EM>, above), the following will occur:
 
-              (1)  first,  <STRONG>tput</STRONG>  retrieves  the current terminal mode settings
+              (1)  first, <STRONG>tput</STRONG> retrieves the current  terminal  mode  settings
                    for your terminal.  It does this by successively testing
 
                    <STRONG>o</STRONG>   the standard error,
 
                    <STRONG>o</STRONG>   ultimately "/dev/tty"
 
-                   to  obtain  terminal  settings.   Having  retrieved   these
-                   settings,  <STRONG>tput</STRONG> remembers which file descriptor to use when
+                   to   obtain  terminal  settings.   Having  retrieved  these
+                   settings, <STRONG>tput</STRONG> remembers which file descriptor to use  when
                    updating settings.
 
-              (2)  if the window size cannot be obtained  from  the  operating
+              (2)  if  the  window  size cannot be obtained from the operating
                    system, but the terminal description (or environment, e.g.,
-                   <EM>LINES</EM> and  <EM>COLUMNS</EM>  variables  specify  this),  update  the
+                   <EM>LINES</EM>  and  <EM>COLUMNS</EM>  variables  specify  this),  update the
                    operating system's notion of the window size.
 
               (3)  the terminal modes will be updated:
 
-                   <STRONG>o</STRONG>   any  delays (e.g., newline) specified in the entry will
+                   <STRONG>o</STRONG>   any delays (e.g., newline) specified in the entry  will
                        be set in the tty driver,
 
-                   <STRONG>o</STRONG>   tabs expansion will be turned on or  off  according  to
+                   <STRONG>o</STRONG>   tabs  expansion  will  be turned on or off according to
                        the specification in the entry, and
 
-                   <STRONG>o</STRONG>   if  tabs  are  not  expanded, standard tabs will be set
+                   <STRONG>o</STRONG>   if tabs are not expanded, standard  tabs  will  be  set
                        (every 8 spaces).
 
-              (4)  if present, the terminal's initialization strings  will  be
-                   output  as  detailed in the <STRONG><A HREF="terminfo.5.html">terminfo(5)</A></STRONG> section on <EM>Tabs</EM> <EM>and</EM>
+              (4)  if  present,  the terminal's initialization strings will be
+                   output as detailed in the <STRONG><A HREF="terminfo.5.html">terminfo(5)</A></STRONG> section on  <EM>Tabs</EM>  <EM>and</EM>
                    <EM>Initialization</EM>,
 
               (5)  output is flushed.
 
-              If an entry does not contain the information needed for  any  of
+              If  an  entry does not contain the information needed for any of
               these activities, that activity will silently be skipped.
 
        <STRONG>reset</STRONG>  This is similar to <STRONG>init</STRONG>, with two differences:
 
                    <STRONG>o</STRONG>   turn on newline translation and
 
-                   <STRONG>o</STRONG>   reset any unset special  characters  to  their  default
+                   <STRONG>o</STRONG>   reset  any  unset  special  characters to their default
                        values
 
-              (2)  Instead   of   putting   out  <EM>initialization</EM>  strings,  the
-                   terminal's <EM>reset</EM> strings will be output  if  present  (<STRONG>rs1</STRONG>,
-                   <STRONG>rs2</STRONG>,  <STRONG>rs3</STRONG>,  <STRONG>rf</STRONG>).  If the <EM>reset</EM> strings are not present, but
+              (2)  Instead  of  putting  out   <EM>initialization</EM>   strings,   the
+                   terminal's  <EM>reset</EM>  strings  will be output if present (<STRONG>rs1</STRONG>,
+                   <STRONG>rs2</STRONG>, <STRONG>rs3</STRONG>, <STRONG>rf</STRONG>).  If the <EM>reset</EM> strings are not  present,  but
                    <EM>initialization</EM> strings are, the <EM>initialization</EM> strings will
                    be output.
 
               Otherwise, <STRONG>reset</STRONG> acts identically to <STRONG>init</STRONG>.
 
        <STRONG>longname</STRONG>
-              If  the terminal database is present and an entry for the user's
-              terminal exists (see <STRONG>-T</STRONG><EM>type</EM> above), then the long  name  of  the
-              terminal will be put out.  The long name is the last name in the
-              first  line  of  the  terminal's  description  in  the  <STRONG>terminfo</STRONG>
-              database [see <STRONG><A HREF="term.5.html">term(5)</A></STRONG>].
+              If the terminal database is present and an entry for the  user's
+              terminal exists (see <STRONG>-T</STRONG> <EM>type</EM> above), <STRONG>tput</STRONG> reports the terminal's
+              description (or "long name") to the standard output,  without  a
+              trailing newline.  See <STRONG><A HREF="term.5.html">term(5)</A></STRONG>.
 
 
 </PRE><H3><a name="h3-Aliases">Aliases</a></H3><PRE>
 
 </PRE><H2><a name="h2-EXIT-STATUS">EXIT STATUS</a></H2><PRE>
        If the <STRONG>-S</STRONG> option is used, <STRONG>tput</STRONG> checks for errors from each line, and if
-       any errors are found, will set the exit code to 4 plus  the  number  of
-       lines  with  errors.   If  no errors are found, the exit code is <STRONG>0</STRONG>.  No
-       indication of which line failed can be given so exit code <STRONG>1</STRONG> will  never
-       appear.   Exit codes <STRONG>2</STRONG>, <STRONG>3</STRONG>, and <STRONG>4</STRONG> retain their usual interpretation.  If
-       the <STRONG>-S</STRONG> option is not used,  the  exit  code  depends  on  the  type  of
-       <EM>capname</EM>:
-
-          <EM>boolean</EM>
+       any errors are found, will set the exit status to 4 plus the number  of
+       lines  with  errors.  If no errors are found, the exit status is <STRONG>0</STRONG>.  No
+       indication of which line failed can be given  so  exit  status  <STRONG>1</STRONG>  will
+       never   appear.    Exit  statuses  <STRONG>2</STRONG>,  <STRONG>3</STRONG>,  and  <STRONG>4</STRONG>  retain  their  usual
+       interpretation.  If the <STRONG>-S</STRONG> option is not used, the exit status  depends
+       on the type of <EM>cap-code</EM>:
+
+          <EM>Boolean</EM>
                  a value of <STRONG>0</STRONG> is set for TRUE and <STRONG>1</STRONG> for FALSE.
 
-          <EM>string</EM> a  value  of  <STRONG>0</STRONG>  is  set  if  the <EM>capname</EM> is defined for this
-                 terminal <EM>type</EM> (the value of <EM>capname</EM> is returned  on  standard
-                 output);  a  value  of <STRONG>1</STRONG> is set if <EM>capname</EM> is not defined for
+          <EM>string</EM> a  value  of  <STRONG>0</STRONG>  is  set  if the <EM>cap-code</EM> is defined for this
+                 terminal <EM>type</EM> (the value of <EM>cap-code</EM> is returned on  standard
+                 output);  a  value of <STRONG>1</STRONG> is set if <EM>cap-code</EM> is not defined for
                  this terminal <EM>type</EM> (nothing is written to standard output).
 
           <EM>integer</EM>
-                 a value of <STRONG>0</STRONG> is always set, whether or not <EM>capname</EM> is defined
-                 for  this  terminal <EM>type</EM>.  To determine if <EM>capname</EM> is defined
-                 for this terminal <EM>type</EM>, the user must test the value  written
-                 to  standard output.  A value of <STRONG>-1</STRONG> means that <EM>capname</EM> is not
-                 defined for this terminal <EM>type</EM>.
+                 a value of <STRONG>0</STRONG> is  always  set,  whether  or  not  <EM>cap-code</EM>  is
+                 defined  for this terminal <EM>type</EM>.  To determine if <EM>cap-code</EM> is
+                 defined for this terminal <EM>type</EM>, the user must test the  value
+                 written  to  standard  output.  A value of <STRONG>-1</STRONG> means that <EM>cap-</EM>
+                 <EM>code</EM> is not defined for this terminal <EM>type</EM>.
 
           <EM>other</EM>  <STRONG>reset</STRONG> or <STRONG>init</STRONG> may fail to find their  respective  files.   In
-                 that case, the exit code is set to 4 + <STRONG>errno</STRONG>.
+                 that case, the exit status is set to 4 + <STRONG>errno</STRONG>.
 
-       Any other exit code indicates an error; see the DIAGNOSTICS section.
+       Any  other  exit  status  indicates an error; see section "DIAGNOSTICS"
+       below.
 
 
 </PRE><H2><a name="h2-DIAGNOSTICS">DIAGNOSTICS</a></H2><PRE>
-       <STRONG>tput</STRONG>  prints  the  following  error messages and sets the corresponding
-       exit codes.
-
-       exit code   error message
-       ----------------------------------------------------------------------
-       <STRONG>0</STRONG>           (<EM>capname</EM> is a numeric variable that is not  specified  in
-                   the  <STRONG><A HREF="terminfo.5.html">terminfo(5)</A></STRONG>  database  for  this terminal type, e.g.
-                   <STRONG>tput</STRONG> <STRONG>-T450</STRONG> <STRONG>lines</STRONG> and <STRONG>tput</STRONG> <STRONG>-Thp2621</STRONG> <STRONG>xmc</STRONG>)
-       <STRONG>1</STRONG>           no error message is printed, see the <STRONG>EXIT</STRONG> <STRONG>STATUS</STRONG> section.
-       <STRONG>2</STRONG>           usage error
-       <STRONG>3</STRONG>           unknown terminal <EM>type</EM> or no <STRONG>terminfo</STRONG> database
-       <STRONG>4</STRONG>           unknown <STRONG>terminfo</STRONG> capability <EM>capname</EM>
-       <STRONG>&gt;4</STRONG>          error occurred in -S
-       ----------------------------------------------------------------------
+       <STRONG>tput</STRONG> prints the following error messages  and  sets  the  corresponding
+       exit statuses.
+
+       exit status   error message
+       ------------------------------------------------------------------------
+       <STRONG>0</STRONG>             (<EM>cap-code</EM>  is a numeric variable that is not specified in
+                     the <STRONG><A HREF="terminfo.5.html">terminfo(5)</A></STRONG> database for  this  terminal  type,  e.g.
+                     <STRONG>tput</STRONG> <STRONG>-T450</STRONG> <STRONG>lines</STRONG> and <STRONG>tput</STRONG> <STRONG>-Thp2621</STRONG> <STRONG>xmc</STRONG>)
+       <STRONG>1</STRONG>             no error message is printed, see the <STRONG>EXIT</STRONG> <STRONG>STATUS</STRONG> section.
+       <STRONG>2</STRONG>             usage error
+       <STRONG>3</STRONG>             unknown terminal <EM>type</EM> or no <EM>terminfo</EM> database
+       <STRONG>4</STRONG>             unknown <EM>terminfo</EM> capability <EM>cap-code</EM>
+       <STRONG>&gt;4</STRONG>            error occurred in -S
+       ------------------------------------------------------------------------
 
 
 </PRE><H2><a name="h2-FILES">FILES</a></H2><PRE>
 
 
 </PRE><H2><a name="h2-PORTABILITY">PORTABILITY</a></H2><PRE>
-       This implementation of <STRONG>tput</STRONG> differs from AT&amp;T  <STRONG>tput</STRONG>  in  two  important
+       This  implementation  of  <STRONG>tput</STRONG>  differs from AT&amp;T <STRONG>tput</STRONG> in two important
        areas:
 
-       <STRONG>o</STRONG>   <STRONG>tput</STRONG>  <EM>capname</EM>  writes  to  the standard output.  That need not be a
-           regular  terminal.   However,  the  subcommands  which   manipulate
+       <STRONG>o</STRONG>   <STRONG>tput</STRONG> <EM>cap-code</EM> writes to the standard output.  That need  not  be  a
+           regular   terminal.   However,  the  subcommands  which  manipulate
            terminal modes may not use the standard output.
 
-           The  AT&amp;T  implementation's  <STRONG>init</STRONG>  and  <STRONG>reset</STRONG>  commands use the BSD
-           (4.1c)  <STRONG>tset</STRONG>  source,  which  manipulates   terminal   modes.    It
-           successively  tries standard output, standard error, standard input
+           The AT&amp;T implementation's <STRONG>init</STRONG>  and  <STRONG>reset</STRONG>  commands  use  the  BSD
+           (4.1c)   <STRONG>tset</STRONG>   source,   which  manipulates  terminal  modes.   It
+           successively tries standard output, standard error, standard  input
            before falling back to "/dev/tty" and finally just assumes a 1200Bd
            terminal.  When updating terminal modes, it ignores errors.
 
-           Until  changes made after <EM>ncurses</EM> 6.0, <STRONG>tput</STRONG> did not modify terminal
+           Until changes made after <EM>ncurses</EM> 6.0, <STRONG>tput</STRONG> did not modify  terminal
            modes.  <STRONG>tput</STRONG> now uses a similar scheme, using functions shared with
-           <STRONG>tset</STRONG>  (and ultimately based on the 4.4BSD <STRONG>tset</STRONG>).  If it is not able
+           <STRONG>tset</STRONG> (and ultimately based on the 4.4BSD <STRONG>tset</STRONG>).  If it is not  able
            to open a terminal, e.g., when running in <STRONG>cron(1)</STRONG>, <STRONG>tput</STRONG> will return
            an error.
 
-       <STRONG>o</STRONG>   AT&amp;T <STRONG>tput</STRONG> guesses the type of its <EM>capname</EM> operands by seeing if all
-           of the characters are numeric, or not.
+       <STRONG>o</STRONG>   AT&amp;T <STRONG>tput</STRONG> guesses the type of its <EM>cap-code</EM> operands  by  seeing  if
+           all of the characters are numeric, or not.
 
-           Most implementations which provide support for <EM>capname</EM> operands use
-           the  <STRONG>tparm</STRONG>  function  to  expand  parameters  in it.  That function
-           expects a mixture of numeric and string parameters, requiring  <STRONG>tput</STRONG>
+           Most  implementations  which  provide support for <EM>cap-code</EM> operands
+           use the <STRONG>tparm</STRONG> function to expand parameters in it.   That  function
+           expects  a mixture of numeric and string parameters, requiring <STRONG>tput</STRONG>
            to know which type to use.
 
-           This  implementation  uses a table to determine the parameter types
-           for the standard <EM>capname</EM> operands, and an internal library function
-           to analyze nonstandard <EM>capname</EM> operands.
+           This implementation uses a table to determine the  parameter  types
+           for  the  standard  <EM>cap-code</EM>  operands,  and  an  internal  library
+           function to analyze nonstandard <EM>cap-code</EM> operands.
 
-           Besides  providing  more  reliable operation than AT&amp;T'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  termcap-based  <STRONG>tput</STRONG>  to  terminfo.   That  had  been
-           modified  to  interpret  multiple  commands  on  a  line.  Portable
+           Besides providing more reliable operation than  AT&amp;T'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  termcap-based  <STRONG>tput</STRONG>  to  terminfo.   That  had been
+           modified to  interpret  multiple  commands  on  a  line.   Portable
            applications should not rely upon this feature; <EM>ncurses</EM> provides it
            to support applications written specifically for OpenBSD.
 
        This  implementation  (unlike  others)  can  accept  both  <EM>termcap</EM>  and
-       <EM>terminfo</EM> names for the <EM>capname</EM> feature, if <EM>termcap</EM> support is  compiled
-       in.   However,  the  predefined  <EM>termcap</EM>  and  <EM>terminfo</EM>  names have two
+       <EM>terminfo</EM> names for the <EM>cap-code</EM> feature, if <EM>termcap</EM> support is compiled
+       in.  However, the  predefined  <EM>termcap</EM>  and  <EM>terminfo</EM>  names  have  two
        ambiguities in this case (and the <EM>terminfo</EM> name is assumed):
 
-       <STRONG>o</STRONG>   The <EM>termcap</EM> name <STRONG>dl</STRONG> corresponds to the <EM>terminfo</EM>  name  <STRONG>dl1</STRONG>  (delete
+       <STRONG>o</STRONG>   The  <EM>termcap</EM>  name  <STRONG>dl</STRONG> corresponds to the <EM>terminfo</EM> name <STRONG>dl1</STRONG> (delete
            one line).
-           The  <EM>terminfo</EM>  name <STRONG>dl</STRONG> corresponds to the <EM>termcap</EM> name <STRONG>DL</STRONG> (delete a
+           The <EM>terminfo</EM> name <STRONG>dl</STRONG> corresponds to the <EM>termcap</EM> name <STRONG>DL</STRONG>  (delete  a
            given number of lines).
 
-       <STRONG>o</STRONG>   The <EM>termcap</EM> name <STRONG>ed</STRONG> corresponds to  the  <EM>terminfo</EM>  name  <STRONG>rmdc</STRONG>  (end
+       <STRONG>o</STRONG>   The  <EM>termcap</EM>  name  <STRONG>ed</STRONG>  corresponds  to the <EM>terminfo</EM> name <STRONG>rmdc</STRONG> (end
            delete mode).
-           The  <EM>terminfo</EM>  name <STRONG>ed</STRONG> corresponds to the <EM>termcap</EM> name <STRONG>cd</STRONG> (clear to
+           The <EM>terminfo</EM> name <STRONG>ed</STRONG> corresponds to the <EM>termcap</EM> name <STRONG>cd</STRONG>  (clear  to
            end of screen).
 
-       The <STRONG>longname</STRONG> and <STRONG>-S</STRONG> options, and  the  parameter-substitution  features
-       used  in  the  <STRONG>cup</STRONG>  example,  were  not  supported in BSD curses before
-       4.3reno (1989) or in AT&amp;T/USL curses before SVr4 (1988).
+       The  <STRONG>longname</STRONG>  and  <STRONG>-S</STRONG> options, and the parameter-substitution features
+       used in the <STRONG>cup</STRONG> example, were not supported in AT&amp;T/USL  <EM>curses</EM>  before
+       SVr4 (1989).  Later, 4.3BSD-Reno (1990) added support for <STRONG>longname</STRONG>, and
+       NetBSD (1994) added support for the parameter-substitution features.
 
        IEEE  Std  1003.1/The  Open  Group    Base   Specifications   Issue   7
        (POSIX.1-2008)  documents  only the operands for <STRONG>clear</STRONG>, <STRONG>init</STRONG> and <STRONG>reset</STRONG>.
        There are a few interesting observations to make regarding that:
 
-       <STRONG>o</STRONG>   In this implementation, <STRONG>clear</STRONG> is part of the <EM>capname</EM> support.   The
+       <STRONG>o</STRONG>   In this implementation, <STRONG>clear</STRONG> is part of the <EM>cap-code</EM> support.  The
            others   (<STRONG>init</STRONG>   and   <STRONG>longname</STRONG>)  do  not  correspond  to  terminal
            capabilities.
 
        <STRONG>o</STRONG>   Other  implementations  of  <STRONG>tput</STRONG>  on  SVr4-based  systems  such  as
            Solaris,  IRIX64  and HP-UX as well as others such as AIX and Tru64
-           provide support for <EM>capname</EM> operands.
+           provide support for <EM>cap-code</EM> operands.
 
        <STRONG>o</STRONG>   A few platforms such as FreeBSD recognize termcap names rather than
            terminfo capability names in their respective <STRONG>tput</STRONG> commands.  Since
        set  of  capability names, the reasoning for documenting only a few may
        not be apparent.
 
-       <STRONG>o</STRONG>   X/Open Curses Issue 7 documents <STRONG>tput</STRONG> differently, with <EM>capname</EM>  and
+       <STRONG>o</STRONG>   X/Open Curses Issue 7 documents <STRONG>tput</STRONG> differently, with <EM>cap-code</EM> and
            the other features used in this implementation.
 
        <STRONG>o</STRONG>   That  is,  there  are  two standards for <STRONG>tput</STRONG>: POSIX (a subset) and
            terminal capabilities database.
 
        <STRONG>o</STRONG>   While it is certainly possible to  write  a  <STRONG>tput</STRONG>  program  without
-           using   curses,   none   of   the   systems  which  have  a  curses
-           implementation provide a <STRONG>tput</STRONG> utility which does  not  provide  the
-           <EM>capname</EM> feature.
+           using  <EM>curses,</EM>  no  system  with a <EM>curses</EM> implementation provides a
+           <STRONG>tput</STRONG> utility that does not also supply the <EM>cap-code</EM> feature.
 
        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 (i.e., Unix features documented in SVID 3):
+       practice (that is, System V <EM>curses</EM> behavior).
 
-       <STRONG>o</STRONG>   It  assigns exit code 4 to "invalid operand", which may be the same
-           as <EM>unknown</EM> <EM>capability</EM>.  For instance, the source code for  Solaris'
-           xcurses uses the term "invalid" in this case.
+       <STRONG>o</STRONG>   It assigns exit status 4 to "invalid operand",  which  may  be  the
+           same  as  <EM>unknown</EM>  <EM>capability</EM>.   For  instance, the source code for
+           Solaris' xcurses uses the term "invalid" in this case.
 
-       <STRONG>o</STRONG>   It  assigns  exit  code  255  to  a  numeric  variable  that is not
+       <STRONG>o</STRONG>   It assigns exit status 255  to  a  numeric  variable  that  is  not
            specified in the terminfo database.  That likely is a documentation
-           error,  confusing  the  <STRONG>-1</STRONG>  written  to  the standard output for an
-           absent or cancelled numeric value versus an (unsigned) exit code.
+           error, confusing the <STRONG>-1</STRONG> written  to  the  standard  output  for  an
+           absent or cancelled numeric value versus an (unsigned) exit status.
 
-       The various Unix systems (AIX, HP-UX, Solaris) use the same  exit-codes
-       as <EM>ncurses</EM>.
+       The  various  Unix  systems  (AIX,  HP-UX,  Solaris)  use the same exit
+       statuses as <EM>ncurses</EM>.
 
-       NetBSD curses documents different exit codes which do not correspond to
-       either <EM>ncurses</EM> or X/Open.
+       NetBSD curses documents different exit statuses which do not correspond
+       to either <EM>ncurses</EM> or X/Open.
 
 
 </PRE><H2><a name="h2-HISTORY">HISTORY</a></H2><PRE>
-       The <STRONG>tput</STRONG> command was begun by Bill Joy in 1980.   The  initial  version
+       The  <STRONG>tput</STRONG>  command  was begun by Bill Joy in 1980.  The initial version
        only cleared the screen.
 
        AT&amp;T System V provided a different <STRONG>tput</STRONG> command:
 
-       <STRONG>o</STRONG>   SVr2  provided  a  rudimentary  <STRONG>tput</STRONG>  which  checked  the parameter
-           against each predefined capability and returned  the  corresponding
-           value.   This  version  of  <STRONG>tput</STRONG>  did  not  use  <STRONG><A HREF="curs_terminfo.3x.html">tparm(3x)</A></STRONG>  for the
+       <STRONG>o</STRONG>   SVr2 provided  a  rudimentary  <STRONG>tput</STRONG>  which  checked  the  parameter
+           against  each  predefined capability and returned the corresponding
+           value.  This  version  of  <STRONG>tput</STRONG>  did  not  use  <STRONG><A HREF="curs_terminfo.3x.html">tparm(3x)</A></STRONG>  for  the
            capabilities which are parameterized.
 
        <STRONG>o</STRONG>   SVr3 replaced that, a year later, by a more extensive program whose
-           <STRONG>init</STRONG>  and  <STRONG>reset</STRONG>  subcommands  (more  than  half  the program) were
-           incorporated from the <STRONG>reset</STRONG> feature of BSD  <STRONG>tset</STRONG>  written  by  Eric
+           <STRONG>init</STRONG> and <STRONG>reset</STRONG>  subcommands  (more  than  half  the  program)  were
+           incorporated  from  the  <STRONG>reset</STRONG>  feature of BSD <STRONG>tset</STRONG> written by Eric
            Allman.
 
        <STRONG>o</STRONG>   SVr4 added color initialization using the <STRONG>orig_colors</STRONG> and <STRONG>orig_pair</STRONG>
            capabilities in the <STRONG>init</STRONG> subcommand.
 
-       Keith Bostic  replaced  the  BSD  <STRONG>tput</STRONG>  command  in  1989  with  a  new
-       implementation  based on the AT&amp;T System V program <STRONG>tput</STRONG>.  Like the AT&amp;T
-       program, Bostic's version accepted some parameters named  for  <EM>terminfo</EM>
-       capabilities  (<STRONG>clear</STRONG>,  <STRONG>init</STRONG>,  <STRONG>longname</STRONG> and <STRONG>reset</STRONG>).  However (because he
-       had only <EM>termcap</EM>  available),  it  accepted  <EM>termcap</EM>  names  for  other
-       capabilities.   Also, Bostic's BSD <STRONG>tput</STRONG> did not modify the terminal I/O
+       Keith  Bostic  replaced  the  BSD  <STRONG>tput</STRONG>  command  in  1989  with  a new
+       implementation based on the AT&amp;T System V program <STRONG>tput</STRONG>.  Like the  AT&amp;T
+       program,  Bostic's  version accepted some parameters named for <EM>terminfo</EM>
+       capabilities (<STRONG>clear</STRONG>, <STRONG>init</STRONG>, <STRONG>longname</STRONG> and <STRONG>reset</STRONG>).   However  (because  he
+       had  only  <EM>termcap</EM>  available),  it  accepted  <EM>termcap</EM>  names for other
+       capabilities.  Also, Bostic's BSD <STRONG>tput</STRONG> did not modify the terminal  I/O
        modes as the earlier BSD <STRONG>tset</STRONG> had done.
 
        At the same time, Bostic added a shell script named "clear", which used
        <STRONG>tput</STRONG> to clear the screen.
 
-       Both   of   these   appeared  in  4.4BSD,  becoming  the  "modern"  BSD
+       Both  of  these  appeared  in  4.4BSD,  becoming   the   "modern"   BSD
        implementation of <STRONG>tput</STRONG>.
 
-       This implementation of <STRONG>tput</STRONG> began from a different source than AT&amp;T  or
-       BSD:  Ross  Ridge's  <EM>mytinfo</EM> package, published on <EM>comp.sources.unix</EM> in
-       December 1992.  Ridge's program made  more  sophisticated  use  of  the
-       terminal  capabilities  than  the  BSD program.  Eric Raymond used that
-       <STRONG>tput</STRONG> program (and other parts of <EM>mytinfo</EM>)  in  <EM>ncurses</EM>  in  June  1995.
-       Using  the  portions  dealing with terminal capabilities almost without
-       change,  Raymond  made  improvements  to  the  way   the   command-line
+       This  implementation of <STRONG>tput</STRONG> began from a different source than AT&amp;T or
+       BSD: Ross Ridge's <EM>mytinfo</EM> package, published  on  <EM>comp.sources.unix</EM>  in
+       December  1992.   Ridge's  program  made  more sophisticated use of the
+       terminal capabilities than the BSD program.   Eric  Raymond  used  that
+       <STRONG>tput</STRONG>  program  (and  other  parts  of <EM>mytinfo</EM>) in <EM>ncurses</EM> in June 1995.
+       Using the portions dealing with terminal  capabilities  almost  without
+       change,   Raymond   made  improvements  to  the  way  the  command-line
        parameters were handled.
 
 
 </PRE><H2><a name="h2-EXAMPLES">EXAMPLES</a></H2><PRE>
        <STRONG>tput</STRONG> <STRONG>init</STRONG>
-            Initialize  the  terminal according to the type of terminal in the
-            environmental variable <EM>TERM</EM>.  This command should be  included  in
-            everyone's .profile after the environmental variable <EM>TERM</EM> has been
+            Initialize the terminal according to the type of terminal  in  the
+            environment  variable  <EM>TERM</EM>.   This  command should be included in
+            everyone's .profile after the environment variable <EM>TERM</EM>  has  been
             exported, as illustrated on the <STRONG>profile(5)</STRONG> manual page.
 
        <STRONG>tput</STRONG> <STRONG>-T5620</STRONG> <STRONG>reset</STRONG>
-            Reset an AT&amp;T 5620 terminal, overriding the type  of  terminal  in
-            the environmental variable <EM>TERM</EM>.
+            Reset  an  AT&amp;T  5620 terminal, overriding the type of terminal in
+            the environment variable <EM>TERM</EM>.
 
        <STRONG>tput</STRONG> <STRONG>cup</STRONG> <STRONG>0</STRONG> <STRONG>0</STRONG>
             Send the sequence to move the cursor to row <STRONG>0</STRONG>, column <STRONG>0</STRONG> (the upper
-            left corner of the screen, usually  known  as  the  "home"  cursor
+            left  corner  of  the  screen,  usually known as the "home" cursor
             position).
 
        <STRONG>tput</STRONG> <STRONG>clear</STRONG>
             Print the number of columns for the 450 terminal.
 
        <STRONG>bold=`tput</STRONG> <STRONG>smso`</STRONG> <STRONG>offbold=`tput</STRONG> <STRONG>rmso`</STRONG>
-            Set  the  shell  variables <STRONG>bold</STRONG>, to begin stand-out mode sequence,
-            and <STRONG>offbold</STRONG>, to  end  standout  mode  sequence,  for  the  current
+            Set the shell variables <STRONG>bold</STRONG>, to begin  stand-out  mode  sequence,
+            and  <STRONG>offbold</STRONG>,  to  end  standout  mode  sequence,  for the current
             terminal.  This might be followed by a prompt: <STRONG>echo</STRONG> <STRONG>"${bold}Please</STRONG>
             <STRONG>type</STRONG> <STRONG>in</STRONG> <STRONG>your</STRONG> <STRONG>name:</STRONG> <STRONG>${offbold}\c"</STRONG>
 
        <STRONG>tput</STRONG> <STRONG>hc</STRONG>
-            Set exit code to indicate if the current terminal is a  hard  copy
+            Set exit status to indicate if the current terminal is a hard copy
             terminal.
 
        <STRONG>tput</STRONG> <STRONG>cup</STRONG> <STRONG>23</STRONG> <STRONG>4</STRONG>
             Send the sequence to move the cursor to row 23, column 4.
 
        <STRONG>tput</STRONG> <STRONG>cup</STRONG>
-            Send  the  terminfo string for cursor-movement, with no parameters
+            Send the terminfo string for cursor-movement, with  no  parameters
             substituted.
 
        <STRONG>tput</STRONG> <STRONG>longname</STRONG>
-            Print the long name from the <STRONG>terminfo</STRONG> database  for  the  type  of
-            terminal specified in the environmental variable <EM>TERM</EM>.
+            Print  the  long  name  from the <EM>terminfo</EM> database for the type of
+            terminal specified in the environment variable <EM>TERM</EM>.
+
+       <STRONG>tput</STRONG> <STRONG>-S</STRONG>
+            The <STRONG>-S</STRONG> option can be profitably used with a shell "here document".
+
+            $ <STRONG>tput</STRONG> <STRONG>-S</STRONG> <STRONG>&lt;&lt;!</STRONG>
+            &gt; <STRONG>clear</STRONG>
+            &gt; <STRONG>cup</STRONG> <STRONG>10</STRONG> <STRONG>10</STRONG>
+            &gt; <STRONG>bold</STRONG>
+            &gt; <STRONG>!</STRONG>
+
+            We see <STRONG>tput</STRONG> processing several capabilities in one invocation.  It
+            clears the screen, moves the cursor to position (10, 10) and turns
+            on bold (extra bright) mode.
 
-            <STRONG>tput</STRONG> <STRONG>-S</STRONG> <STRONG>&lt;&lt;!</STRONG>
-            <STRONG>&gt;</STRONG> <STRONG>clear</STRONG>
-            <STRONG>&gt;</STRONG> <STRONG>cup</STRONG> <STRONG>10</STRONG> <STRONG>10</STRONG>
-            <STRONG>&gt;</STRONG> <STRONG>bold</STRONG>
-            <STRONG>&gt;</STRONG> <STRONG>!</STRONG>
+            The same sequence of commands can be combined  using  the  OpenBSD
+            feature:
 
-            This  example  shows  <STRONG>tput</STRONG>  processing several capabilities in one
-            invocation.  It clears the screen, moves the  cursor  to  position
-            10,  10  and  turns  on  bold  (extra  bright)  mode.  The list is
-            terminated by an exclamation mark (<STRONG>!</STRONG>) on a line by itself.
+            $ <STRONG>tput</STRONG> <STRONG>clear</STRONG> <STRONG>cup</STRONG> <STRONG>10</STRONG> <STRONG>10</STRONG> <STRONG>bold</STRONG>
 
 
 </PRE><H2><a name="h2-SEE-ALSO">SEE ALSO</a></H2><PRE>
 
 
 
-ncurses 6.4                       2023-12-16                           <STRONG><A HREF="tput.1.html">tput(1)</A></STRONG>
+ncurses 6.4                       2023-12-23                           <STRONG><A HREF="tput.1.html">tput(1)</A></STRONG>
 </PRE>
 <div class="nav">
 <ul>
index 5064c686d32f45398783f7461f201319413cdf4e..c60e2a7f39f724b1c9d7130a546b359f9abe8274 100644 (file)
@@ -27,7 +27,7 @@
   * sale, use or other dealings in this Software without prior written       *
   * authorization.                                                           *
   ****************************************************************************
-  * @Id: tset.1,v 1.78 2023/12/16 20:32:22 tom Exp @
+  * @Id: tset.1,v 1.79 2023/12/23 16:20:07 tom Exp @
   * https://minnie.tuhs.org/cgi-bin/utree.pl?file=1BSD/s6/reset.c
   * https://minnie.tuhs.org/cgi-bin/utree.pl?file=3BSD/usr/src/cmd/\
   *   reset.c
 <HEAD>
 <meta http-equiv="Content-Type" content="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-16 ncurses 6.4 User commands</TITLE>
+<TITLE>tset 1 2023-12-23 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-16 ncurses 6.4 User commands</H1>
+<H1 class="no-header">tset 1 2023-12-23 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>
 
@@ -68,7 +68,7 @@
 
 </PRE><H2><a name="h2-DESCRIPTION">DESCRIPTION</a></H2><PRE>
 
-</PRE><H3><a name="h3-tset---initialization">tset - initialization</a></H3><PRE>
+</PRE><H3><a name="h3-tset----initialization"><EM>tset</EM> -- initialization</a></H3><PRE>
        This program initializes terminals.
 
        First,  <STRONG>tset</STRONG>  retrieves  the  current  terminal  mode settings for your
 
        1. The <STRONG>terminal</STRONG> argument specified on the command line.
 
-       2. The value of the <EM>TERM</EM> environmental variable.
+       2. The value of the <EM>TERM</EM> environment variable.
 
        3. (BSD systems only.) The terminal type associated with  the  standard
        error  output  device  in  the  <EM>/etc/ttys</EM> file.  (On System V hosts and
-       systems using that convention, <STRONG>getty(1)</STRONG> does this job by  setting  <EM>TERM</EM>
+       systems using that convention, <STRONG>getty(8)</STRONG> does this job by  setting  <EM>TERM</EM>
        according to the type passed to it by <EM>/etc/inittab</EM>.)
 
        4.  The  default  terminal  type, "unknown", is not suitable for curses
            displayed to the standard error output.
 
 
-</PRE><H3><a name="h3-reset---reinitialization">reset - reinitialization</a></H3><PRE>
+</PRE><H3><a name="h3-reset----reinitialization"><EM>reset</EM> -- reinitialization</a></H3><PRE>
        When invoked as <STRONG>reset</STRONG>, <STRONG>tset</STRONG> sets the terminal modes to "sane" values:
 
        <STRONG>o</STRONG>   sets cooked and echo modes,
 
        When the <STRONG>-s</STRONG> option is specified, the commands to enter the  information
        into  the  shell's  environment are written to the standard output.  If
-       the <EM>SHELL</EM> environmental variable ends in "csh", the  commands  are  for
-       <STRONG>csh</STRONG>,  otherwise,  they  are  for <STRONG>sh(1)</STRONG>.  Note, the <STRONG>csh</STRONG> commands set and
-       unset the shell variable <STRONG>noglob</STRONG>, leaving it unset.  The following  line
-       in  the  <STRONG>.login</STRONG>  or  <STRONG>.profile</STRONG>  files  will  initialize  the environment
-       correctly:
+       the <EM>SHELL</EM> environment variable ends in  "csh",  the  commands  are  for
+       <STRONG>csh(1)</STRONG>,  otherwise, they are for <STRONG>sh(1)</STRONG>.  The <EM>csh</EM> commands set and unset
+       the shell variable <STRONG>noglob</STRONG>, leaving it unset.  The following line in the
+       <STRONG>.login</STRONG> or <STRONG>.profile</STRONG> files will initialize the environment correctly:
 
            eval `tset -s options ... `
 
 
 </PRE><H3><a name="h3-Terminal-Type-Mapping">Terminal Type Mapping</a></H3><PRE>
-       When the terminal is not hardwired into  the  system  (or  the  current
-       system  information  is  incorrect)  the terminal type derived from the
-       <EM>/etc/ttys</EM> file or the <EM>TERM</EM> environmental variable  is  often  something
-       generic  like  <STRONG>network</STRONG>,  <STRONG>dialup</STRONG>,  or  <STRONG>unknown</STRONG>.   When <STRONG>tset</STRONG> is used in a
-       startup script it is often desirable to provide information  about  the
+       When  the  terminal  is  not  hardwired into the system (or the current
+       system information is incorrect) the terminal  type  derived  from  the
+       <EM>/etc/ttys</EM>  file  or  the  <EM>TERM</EM>  environment variable is often something
+       generic like <STRONG>network</STRONG>, <STRONG>dialup</STRONG>, or <STRONG>unknown</STRONG>.   When  <STRONG>tset</STRONG>  is  used  in  a
+       startup  script  it is often desirable to provide information about the
        type of terminal used on such ports.
 
-       The  <STRONG>-m</STRONG>  options  maps  from some set of conditions to a terminal type,
+       The <STRONG>-m</STRONG> options maps from some set of conditions  to  a  terminal  type,
        that is, to tell <STRONG>tset</STRONG> "If I'm on this port at a particular speed, guess
        that I'm on that kind of terminal".
 
-       The  argument  to  the  <STRONG>-m</STRONG> option consists of an optional port type, an
-       optional operator, an optional baud  rate  specification,  an  optional
-       colon  (":")  character and a terminal type.  The port type is a string
-       (delimited by  either  the  operator  or  the  colon  character).   The
-       operator  may  be  any combination of "&gt;", "&lt;", "@", and "!"; "&gt;" means
-       greater than, "&lt;" means less than, "@" means equal to and  "!"  inverts
-       the  sense  of the test.  The baud rate is specified as a number and is
-       compared with the speed of the standard error output (which  should  be
+       The argument to the <STRONG>-m</STRONG> option consists of an  optional  port  type,  an
+       optional  operator,  an  optional  baud rate specification, an optional
+       colon (":") character and a terminal type.  The port type is  a  string
+       (delimited  by  either  the  operator  or  the  colon  character).  The
+       operator may be any combination of "&gt;", "&lt;", "@", and  "!";  "&gt;"  means
+       greater  than,  "&lt;" means less than, "@" means equal to and "!" inverts
+       the sense of the test.  The baud rate is specified as a number  and  is
+       compared  with  the speed of the standard error output (which should be
        the control terminal).  The terminal type is a string.
 
-       If  the  terminal  type  is  not  specified on the command line, the <STRONG>-m</STRONG>
-       mappings are applied to the terminal type.  If the port type  and  baud
-       rate  match  the  mapping,  the  terminal type specified in the mapping
-       replaces the current type.  If more than one mapping is specified,  the
+       If the terminal type is not specified  on  the  command  line,  the  <STRONG>-m</STRONG>
+       mappings  are  applied to the terminal type.  If the port type and baud
+       rate match the mapping, the terminal  type  specified  in  the  mapping
+       replaces  the current type.  If more than one mapping is specified, the
        first applicable mapping is used.
 
-       For  example,  consider  the following mapping: <STRONG>dialup&gt;9600:vt100</STRONG>.  The
+       For example, consider the following  mapping:  <STRONG>dialup&gt;9600:vt100</STRONG>.   The
        port type is dialup , the operator is &gt;, the baud rate specification is
        9600, and the terminal type is vt100.  The result of this mapping is to
-       specify that if the terminal type is  <STRONG>dialup</STRONG>,  and  the  baud  rate  is
+       specify  that  if  the  terminal  type  is <STRONG>dialup</STRONG>, and the baud rate is
        greater than 9600 baud, a terminal type of <STRONG>vt100</STRONG> will be used.
 
-       If  no  baud  rate  is specified, the terminal type will match any baud
-       rate.  If no port type is specified, the terminal type will  match  any
-       port  type.   For  example,  <STRONG>-m</STRONG>  <STRONG>dialup:vt100</STRONG> <STRONG>-m</STRONG> <STRONG>:?xterm</STRONG> will cause any
+       If no baud rate is specified, the terminal type  will  match  any  baud
+       rate.   If  no port type is specified, the terminal type will match any
+       port type.  For example, <STRONG>-m</STRONG> <STRONG>dialup:vt100</STRONG>  <STRONG>-m</STRONG>  <STRONG>:?xterm</STRONG>  will  cause  any
        dialup port, regardless of baud rate, to match the terminal type vt100,
-       and  any non-dialup port type to match the terminal type ?xterm.  Note,
-       because of the leading question mark, the user will  be  queried  on  a
+       and any non-dialup port type to match the terminal type ?xterm.   Note,
+       because  of  the  leading  question mark, the user will be queried on a
        default port as to whether they are actually using an xterm terminal.
 
-       No  whitespace  characters  are  permitted  in  the <STRONG>-m</STRONG> option argument.
-       Also, to avoid problems with meta-characters, it is suggested that  the
+       No whitespace characters are  permitted  in  the  <STRONG>-m</STRONG>  option  argument.
+       Also,  to avoid problems with meta-characters, it is suggested that the
        entire <STRONG>-m</STRONG> option argument be placed within single quote characters, and
-       that  <STRONG>csh</STRONG>  users  insert  a  backslash  character  ("\")   before   any
+       that   <EM>csh</EM>   users  insert  a  backslash  character  ("\")  before  any
        exclamation marks ("!").
 
 
        <STRONG>-e</STRONG> <EM>ch</EM>
             Set the erase character to <EM>ch</EM>.
 
-       <STRONG>-I</STRONG>   Do  not  send  the  terminal  or tab initialization strings to the
+       <STRONG>-I</STRONG>   Do not send the terminal or  tab  initialization  strings  to  the
             terminal.
 
        <STRONG>-i</STRONG> <EM>ch</EM>
             Set the line kill character to <EM>ch</EM>.
 
        <STRONG>-m</STRONG> <EM>mapping</EM>
-            Specify a mapping from a port type to a terminal;  see  subsection
+            Specify  a  mapping from a port type to a terminal; see subsection
             "Terminal Type Mapping".
 
-       <STRONG>-Q</STRONG>   Do  not  display any values for the erase, interrupt and line kill
-            characters.   Normally  <STRONG>tset</STRONG>  displays  the  values  for   control
+       <STRONG>-Q</STRONG>   Do not display any values for the erase, interrupt and  line  kill
+            characters.    Normally  <STRONG>tset</STRONG>  displays  the  values  for  control
             characters which differ from the system's default values.
 
-       <STRONG>-q</STRONG>   The  terminal  type  is  displayed to the standard output, and the
-            terminal is not initialized in any way.  The option "-" by  itself
+       <STRONG>-q</STRONG>   The terminal type is displayed to the  standard  output,  and  the
+            terminal  is not initialized in any way.  The option "-" by itself
             is equivalent but archaic.
 
        <STRONG>-r</STRONG>   Print the terminal type to the standard error output.
 
        <STRONG>-s</STRONG>   Print the sequence of shell commands to initialize the environment
-            variable <EM>TERM</EM> to the standard output; see subsection "Setting  the
+            variable  <EM>TERM</EM> to the standard output; see subsection "Setting the
             Environment".
 
        <STRONG>-V</STRONG>   reports the version of <EM>ncurses</EM> which was used in this program, and
             exits.
 
-       <STRONG>-w</STRONG>   Resize the window to match the  size  deduced  via  <STRONG><A HREF="curs_terminfo.3x.html">setupterm(3x)</A></STRONG>.
-            Normally  this  has  no  effect,  unless  <STRONG>setupterm</STRONG> is not able to
+       <STRONG>-w</STRONG>   Resize  the  window  to  match the size deduced via <STRONG><A HREF="curs_terminfo.3x.html">setupterm(3x)</A></STRONG>.
+            Normally this has no effect,  unless  <STRONG>setupterm</STRONG>  is  not  able  to
             detect the window size.
 
-       The arguments for the <STRONG>-e</STRONG>, <STRONG>-i</STRONG>, and <STRONG>-k</STRONG> options may either be  entered  as
-       actual  characters  or by using the "hat" notation, i.e., control-h may
+       The  arguments  for the <STRONG>-e</STRONG>, <STRONG>-i</STRONG>, and <STRONG>-k</STRONG> options may either be entered as
+       actual characters or by using the "hat" notation, i.e.,  control-h  may
        be specified as "^H" or "^h".
 
        If neither <STRONG>-c</STRONG> or <STRONG>-w</STRONG> is given, both options are assumed.
        The <STRONG>tset</STRONG> command uses these environment variables:
 
        <EM>SHELL</EM>
-            tells <STRONG>tset</STRONG> whether  to  initialize  <EM>TERM</EM>  using  <STRONG>sh(1)</STRONG>  or  <STRONG>csh(1)</STRONG>
+            tells  <STRONG>tset</STRONG>  whether  to  initialize  <EM>TERM</EM>  using  <STRONG>sh(1)</STRONG> or <STRONG>csh(1)</STRONG>
             syntax.
 
-       <EM>TERM</EM> Denotes  your  terminal  type.   Each  terminal  type is distinct,
+       <EM>TERM</EM> Denotes your terminal  type.   Each  terminal  type  is  distinct,
             though many are similar.
 
        <EM>TERMCAP</EM>
-            may denote the location of a termcap database.  If it  is  not  an
-            absolute  pathname,  e.g.,  begins  with  a  "/", <STRONG>tset</STRONG> removes the
-            variable from the environment  before  looking  for  the  terminal
+            may  denote  the  location of a termcap database.  If it is not an
+            absolute pathname, e.g., begins  with  a  "/",  <STRONG>tset</STRONG>  removes  the
+            variable  from  the  environment  before  looking for the terminal
             description.
 
 
 
 
 </PRE><H2><a name="h2-PORTABILITY">PORTABILITY</a></H2><PRE>
-       Neither IEEE Std 1003.1/The Open  Group  Base  Specifications  Issue  7
+       Neither  IEEE  Std  1003.1/The  Open  Group Base Specifications Issue 7
        (POSIX.1-2008) nor X/Open Curses Issue 7 documents <STRONG>tset</STRONG> or <STRONG>reset</STRONG>.
 
-       The  AT&amp;T <STRONG>tput</STRONG> utility (AIX, HP-UX, Solaris) incorporated the terminal-
-       mode manipulation as well as termcap-based features such  as  resetting
-       tabstops  from  <STRONG>tset</STRONG>  in  BSD  (4.1c), presumably with the intention of
-       making <STRONG>tset</STRONG> obsolete.  However, each of those  systems  still  provides
-       <STRONG>tset</STRONG>.   In fact, the commonly-used <STRONG>reset</STRONG> utility is always an alias for
+       The AT&amp;T <STRONG>tput</STRONG> utility (AIX, HP-UX, Solaris) incorporated the  terminal-
+       mode  manipulation  as well as termcap-based features such as resetting
+       tabstops from <STRONG>tset</STRONG> in BSD (4.1c),  presumably  with  the  intention  of
+       making  <STRONG>tset</STRONG>  obsolete.   However, each of those systems still provides
+       <STRONG>tset</STRONG>.  In fact, the commonly-used <STRONG>reset</STRONG> utility is always an alias  for
        <STRONG>tset</STRONG>.
 
        The <STRONG>tset</STRONG> utility provides backward compatibility with BSD environments;
-       under  most  modern  Unices,  <EM>/etc/inittab</EM>  and  <STRONG>getty(1)</STRONG>  can set <EM>TERM</EM>
-       appropriately for each dial-up line, obviating  what  was  <STRONG>tset</STRONG>'s  most
-       important  use.   This  implementation behaves like 4.4BSD <STRONG>tset</STRONG>, with a
+       under most modern  Unices,  <EM>/etc/inittab</EM>  and  <STRONG>getty(8)</STRONG>  can  set  <EM>TERM</EM>
+       appropriately  for  each  dial-up  line, obviating what was <STRONG>tset</STRONG>'s most
+       important use.  This implementation behaves like 4.4BSD  <STRONG>tset</STRONG>,  with  a
        few exceptions we shall consider now.
 
-       A few options are different because the <EM>TERMCAP</EM> variable is  no  longer
+       A  few  options are different because the <EM>TERMCAP</EM> variable is no longer
        supported under terminfo-based <EM>ncurses</EM>:
 
-       <STRONG>o</STRONG>   The  <STRONG>-S</STRONG>  option  of  BSD  <STRONG>tset</STRONG>  no longer works; it prints an error
+       <STRONG>o</STRONG>   The <STRONG>-S</STRONG> option of BSD <STRONG>tset</STRONG> no  longer  works;  it  prints  an  error
            message to the standard error and dies.
 
        <STRONG>o</STRONG>   The <STRONG>-s</STRONG> option only sets <EM>TERM</EM>, not <EM>TERMCAP</EM>.
 
-       There was an undocumented 4.4BSD feature that invoking <STRONG>tset</STRONG> via a  link
-       named  "TSET"  (or  via  any  other  name  beginning with an upper-case
+       There  was an undocumented 4.4BSD feature that invoking <STRONG>tset</STRONG> via a link
+       named "TSET" (or via  any  other  name  beginning  with  an  upper-case
        letter) set the terminal to use upper-case only.  This feature has been
        omitted.
 
        The <STRONG>-A</STRONG>, <STRONG>-E</STRONG>, <STRONG>-h</STRONG>, <STRONG>-u</STRONG> and <STRONG>-v</STRONG> options were deleted from the <STRONG>tset</STRONG> utility in
-       4.4BSD.  None of them were documented in 4.3BSD and all are of  limited
-       utility  at  best.   The  <STRONG>-a</STRONG>,  <STRONG>-d</STRONG>,  and  <STRONG>-p</STRONG>  options  are similarly not
-       documented or useful, but  were  retained  as  they  appear  to  be  in
-       widespread  use.   It  is  strongly recommended that any usage of these
+       4.4BSD.   None of them were documented in 4.3BSD and all are of limited
+       utility at best.   The  <STRONG>-a</STRONG>,  <STRONG>-d</STRONG>,  and  <STRONG>-p</STRONG>  options  are  similarly  not
+       documented  or  useful,  but  were  retained  as  they  appear to be in
+       widespread use.  It is strongly recommended that  any  usage  of  these
        three options be changed to use the <STRONG>-m</STRONG> option instead.  The <STRONG>-a</STRONG>, <STRONG>-d</STRONG>, and
        <STRONG>-p</STRONG> options are therefore omitted from the usage summary above.
 
-       Very  old  systems,  e.g., 3BSD, used a different terminal driver which
-       was replaced in 4BSD in the early 1980s.  To  accommodate  these  older
-       systems,  the  4BSD  <STRONG>tset</STRONG>  provided a <STRONG>-n</STRONG> option to specify that the new
-       terminal driver should be used.  This implementation does  not  provide
+       Very old systems, e.g., 3BSD, used a different  terminal  driver  which
+       was  replaced  in  4BSD in the early 1980s.  To accommodate these older
+       systems, the 4BSD <STRONG>tset</STRONG> provided a <STRONG>-n</STRONG> option to  specify  that  the  new
+       terminal  driver  should be used.  This implementation does not provide
        that choice.
 
-       It  is  still permissible to specify the <STRONG>-e</STRONG>, <STRONG>-i</STRONG>, and <STRONG>-k</STRONG> options without
+       It is still permissible to specify the <STRONG>-e</STRONG>, <STRONG>-i</STRONG>, and <STRONG>-k</STRONG>  options  without
        arguments, although it is strongly recommended that such usage be fixed
        to explicitly specify the character.
 
-       As  of 4.4BSD, executing <STRONG>tset</STRONG> as <STRONG>reset</STRONG> no longer implies the <STRONG>-Q</STRONG> option.
+       As of 4.4BSD, executing <STRONG>tset</STRONG> as <STRONG>reset</STRONG> no longer implies the <STRONG>-Q</STRONG>  option.
        Also, the interaction between the - option and the <EM>terminal</EM> argument in
        some historic implementations of <STRONG>tset</STRONG> has been removed.
 
-       The  <STRONG>-c</STRONG>  and  <STRONG>-w</STRONG>  options  are  not  found  in earlier implementations.
+       The <STRONG>-c</STRONG> and  <STRONG>-w</STRONG>  options  are  not  found  in  earlier  implementations.
        However, a different window size-change feature was provided in 4.4BSD.
 
-       <STRONG>o</STRONG>   In 4.4BSD, <STRONG>tset</STRONG> uses the window size from the  termcap  description
-           to  set  the  window  size if <STRONG>tset</STRONG> is not able to obtain the window
+       <STRONG>o</STRONG>   In  4.4BSD,  <STRONG>tset</STRONG> uses the window size from the termcap description
+           to set the window size if <STRONG>tset</STRONG> is not able  to  obtain  the  window
            size from the operating system.
 
        <STRONG>o</STRONG>   In <EM>ncurses</EM>, <STRONG>tset</STRONG> obtains the window size using <STRONG>setupterm</STRONG>, which may
-           be  from  the  operating  system, the <EM>LINES</EM> and <EM>COLUMNS</EM> environment
+           be from the operating system, the  <EM>LINES</EM>  and  <EM>COLUMNS</EM>  environment
            variables or the terminal description.
 
-       Obtaining the window size from the terminal description  is  common  to
-       both  implementations,  but considered obsolescent.  Its only practical
+       Obtaining  the  window  size from the terminal description is common to
+       both implementations, but considered obsolescent.  Its  only  practical
        use is for hardware terminals.  Generally speaking, a window size would
-       be  unset  only if there were some problem obtaining the value from the
-       operating system (and <STRONG>setupterm</STRONG> would still fail).   For  that  reason,
-       the  <EM>LINES</EM>  and <EM>COLUMNS</EM> environment variables may be useful for working
-       around window-size problems.  Those  have  the  drawback  that  if  the
-       window  is  resized, those variables must be recomputed and reassigned.
+       be unset only if there were some problem obtaining the value  from  the
+       operating  system  (and  <STRONG>setupterm</STRONG> would still fail).  For that reason,
+       the <EM>LINES</EM> and <EM>COLUMNS</EM> environment variables may be useful  for  working
+       around  window-size  problems.   Those  have  the  drawback that if the
+       window is resized, those variables must be recomputed  and  reassigned.
        To do this more easily, use the <STRONG>resize(1)</STRONG> program.
 
 
 </PRE><H2><a name="h2-HISTORY">HISTORY</a></H2><PRE>
-       A <STRONG>reset</STRONG> command written by Kurt Shoens appeared in 1BSD  (March  1978).
+       A  <STRONG>reset</STRONG>  command written by Kurt Shoens appeared in 1BSD (March 1978).
        It  set  the  <EM>erase</EM>  and  <EM>kill</EM>  characters  to  <STRONG>^H</STRONG>  (backspace)  and  <STRONG>@</STRONG>
-       respectively.  Mark Horton improved this <STRONG>reset</STRONG> in 3BSD (October  1979),
-       adding  <EM>intr</EM>,  <EM>quit</EM>, <EM>start</EM>/<EM>stop</EM>, and <EM>eof</EM> characters as well as changing
-       the program to avoid modifying any  user  settings.   That  version  of
+       respectively.   Mark Horton improved this <STRONG>reset</STRONG> in 3BSD (October 1979),
+       adding <EM>intr</EM>, <EM>quit</EM>, <EM>start</EM>/<EM>stop</EM>, and <EM>eof</EM> characters as well  as  changing
+       the  program  to  avoid  modifying  any user settings.  That version of
        <STRONG>reset</STRONG> did not use <EM>termcap</EM>.
 
-       Eric  Allman wrote a distinct <STRONG>tset</STRONG> command for 1BSD, using a forerunner
-       of <EM>termcap</EM>  called  <EM>ttycap</EM>.   Allman's  comments  in  the  source  code
-       indicate  that  he  began  work in October 1977, continuing development
-       over the next few years.  By late 1979, it had migrated to <EM>termcap</EM>  and
-       handled  the  <EM>TERMCAP</EM>  variable.  Later comments indicate that <STRONG>tset</STRONG> was
-       modified in September 1980 to use logic copied from  the  3BSD  "reset"
-       program  when  it  was  invoked  as  <STRONG>reset</STRONG>.   This  version appeared in
-       4.1cBSD, late in 1982.  Other developers such as Keith Bostic  and  Jim
+       Eric Allman wrote a distinct <STRONG>tset</STRONG> command for 1BSD, using a  forerunner
+       of  <EM>termcap</EM>  called  <EM>ttycap</EM>.   Allman's  comments  in  the  source code
+       indicate that he began work in  October  1977,  continuing  development
+       over  the next few years.  By late 1979, it had migrated to <EM>termcap</EM> and
+       handled the <EM>TERMCAP</EM> variable.  Later comments indicate  that  <STRONG>tset</STRONG>  was
+       modified  in  September  1980 to use logic copied from the 3BSD "reset"
+       program when it  was  invoked  as  <STRONG>reset</STRONG>.   This  version  appeared  in
+       4.1cBSD,  late  in 1982.  Other developers such as Keith Bostic and Jim
        Bloom continued to modify <STRONG>tset</STRONG> until 4.4BSD was released in 1993.
 
-       The  <EM>ncurses</EM> implementation was lightly adapted from the 4.4BSD sources
+       The <EM>ncurses</EM> implementation was lightly adapted from the 4.4BSD  sources
        to use the <EM>terminfo</EM> API by Eric S. Raymond &lt;esr@snark.thyrsus.com&gt;.
 
 
 </PRE><H2><a name="h2-SEE-ALSO">SEE ALSO</a></H2><PRE>
-       <STRONG>csh(1)</STRONG>,  <STRONG>sh(1)</STRONG>,  <STRONG>stty(1)</STRONG>,   <STRONG><A HREF="curs_terminfo.3x.html">curs_terminfo(3x)</A></STRONG>,   <STRONG>tty(4)</STRONG>,   <STRONG><A HREF="terminfo.5.html">terminfo(5)</A></STRONG>,
+       <STRONG>csh(1)</STRONG>,   <STRONG>sh(1)</STRONG>,   <STRONG>stty(1)</STRONG>,   <STRONG><A HREF="curs_terminfo.3x.html">curs_terminfo(3x)</A></STRONG>,  <STRONG>tty(4)</STRONG>,  <STRONG><A HREF="terminfo.5.html">terminfo(5)</A></STRONG>,
        <STRONG>ttys(5)</STRONG>, <STRONG>environ(7)</STRONG>
 
 
 
-ncurses 6.4                       2023-12-16                           <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>
 </PRE>
 <div class="nav">
 <ul>
@@ -411,8 +410,8 @@ ncurses 6.4                       2023-12-16                           <STRONG><
 <li><a href="#h2-SYNOPSIS">SYNOPSIS</a></li>
 <li><a href="#h2-DESCRIPTION">DESCRIPTION</a>
 <ul>
-<li><a href="#h3-tset---initialization">tset - initialization</a></li>
-<li><a href="#h3-reset---reinitialization">reset - reinitialization</a></li>
+<li><a href="#h3-tset----initialization">tset -- initialization</a></li>
+<li><a href="#h3-reset----reinitialization">reset -- reinitialization</a></li>
 <li><a href="#h3-Setting-the-Environment">Setting the Environment</a></li>
 <li><a href="#h3-Terminal-Type-Mapping">Terminal Type Mapping</a></li>
 </ul>
index 0491b60adda28f67cb187d1307f0d6d23776f31a..98ae2ec93068a180d2bac5950df41f899e4c5775 100644 (file)
   * sale, use or other dealings in this Software without prior written       *
   * authorization.                                                           *
   ****************************************************************************
-  * @Id: user_caps.5,v 1.42 2023/12/16 20:32:22 tom Exp @
+  * @Id: user_caps.5,v 1.43 2023/12/23 16:08: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>user_caps 5 2023-12-16 ncurses 6.4 File formats</TITLE>
+<TITLE>user_caps 5 2023-12-23 ncurses 6.4 File formats</TITLE>
 <link rel="author" href="mailto:bug-ncurses@gnu.org">
 
 </HEAD>
 <BODY>
-<H1 class="no-header">user_caps 5 2023-12-16 ncurses 6.4 File formats</H1>
+<H1 class="no-header">user_caps 5 2023-12-23 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>
 
            terminfo.
 
 
-</PRE><H3><a name="h3-Recognized-capabilities">Recognized capabilities</a></H3><PRE>
+</PRE><H3><a name="h3-Recognized-Capabilities">Recognized Capabilities</a></H3><PRE>
        The <EM>ncurses</EM> library uses the user-definable  capabilities.   While  the
        terminfo  database  may  have  other extensions, <EM>ncurses</EM> makes explicit
        checks for these:
                           %?%p4%tM%em%;,
 
 
-</PRE><H3><a name="h3-Extended-key-definitions">Extended key-definitions</a></H3><PRE>
+</PRE><H3><a name="h3-Extended-Key-Definitions">Extended Key Definitions</a></H3><PRE>
        Several  terminals  provide  the  ability  to send distinct strings for
        combinations of modified special keys.  There is no standard  for  what
        those keys can send.
 
 
 
-ncurses 6.4                       2023-12-16                      <STRONG><A HREF="user_caps.5.html">user_caps(5)</A></STRONG>
+ncurses 6.4                       2023-12-23                      <STRONG><A HREF="user_caps.5.html">user_caps(5)</A></STRONG>
 </PRE>
 <div class="nav">
 <ul>
@@ -405,8 +405,8 @@ ncurses 6.4                       2023-12-16                      <STRONG><A HRE
 <li><a href="#h2-DESCRIPTION">DESCRIPTION</a>
 <ul>
 <li><a href="#h3-Background">Background</a></li>
-<li><a href="#h3-Recognized-capabilities">Recognized capabilities</a></li>
-<li><a href="#h3-Extended-key-definitions">Extended key-definitions</a></li>
+<li><a href="#h3-Recognized-Capabilities">Recognized Capabilities</a></li>
+<li><a href="#h3-Extended-Key-Definitions">Extended Key Definitions</a></li>
 </ul>
 </li>
 <li><a href="#h2-PORTABILITY">PORTABILITY</a></li>
index 269d34012afc93ce51f0b02bcbc7829470b8cd6f..ec6aa90acb1946b50c98ce120239577c1f966c57 100644 (file)
@@ -27,8 +27,8 @@
 .\" authorization.                                                           *
 .\"***************************************************************************
 .\"
-.\" $Id: MKncu_config.in,v 1.20 2023/12/16 21:43:05 tom Exp $
-.TH @LIB_NAME@@DFT_ARG_SUFFIX@@cf_cv_abi_version@-config 1 2023-12-16 "ncurses @NCURSES_MAJOR@.@NCURSES_MINOR@" "User commands"
+.\" $Id: MKncu_config.in,v 1.22 2023/12/23 23:44:26 tom Exp $
+.TH @LIB_NAME@@DFT_ARG_SUFFIX@@cf_cv_abi_version@-config 1 2023-12-23 "ncurses @NCURSES_MAJOR@.@NCURSES_MINOR@" "User commands"
 .SH NAME
 \fB\%@LIB_NAME@@DFT_ARG_SUFFIX@@cf_cv_abi_version@-config\fP \-
 configuration helper for \fI\%ncurses\fP libraries
@@ -57,10 +57,6 @@ reports the C compiler flags needed to compile with \fI\%ncurses\fP.
 \fB\-\-libs\fP
 reports the libraries needed to link with \fI\%ncurses\fP.
 .TP
-\fB\-\-version\fP
-reports the release and patch date information of \fI\%ncurses\fP and
-exits successfully.
-.TP
 \fB\-\-abi\-version\fP
 reports the ABI version of \fI\%ncurses\fP.
 .TP
@@ -95,8 +91,14 @@ for example \fI\%@TERMINFO_DIRS@\fP.
 reports the \fI\%TERMPATH\fP supplemental search path for the
 \fItermcap\fP database,
 if support for \fItermcap\fP is configured.
-.TP
+.PP
+The following options cause all others to be ignored.
+.TP 11 .\" "--version" + 2n
 \fB\-\-help\fP
 issues a usage message and exits successfully.
+.TP
+\fB\-\-version\fP
+issues the release and patch date information of \fI\%ncurses\fP and
+exits successfully.
 .SH "SEE ALSO"
 \fB\%curses\fP(3X)
index 43a0bd6de6201f66ae07855341d06f36a0bd9410..bd98b7d05bafe8806046428770ed51109da09dc1 100644 (file)
@@ -28,8 +28,8 @@
 .\" authorization.                                                           *
 .\"***************************************************************************
 .\"
-.\" $Id: captoinfo.1m,v 1.57 2023/12/16 21:34:23 tom Exp $
-.TH @CAPTOINFO@ 1M 2023-12-16 "ncurses 6.4" "User commands"
+.\" $Id: captoinfo.1m,v 1.58 2023/12/23 16:28:31 tom Exp $
+.TH @CAPTOINFO@ 1M 2023-12-23 "ncurses 6.4" "User commands"
 .ie \n(.g \{\
 .ds `` \(lq
 .ds '' \(rq
@@ -40,8 +40,6 @@
 .ie t .ds '' ''
 .el   .ds '' ""
 .\}
-.
-.ds d /etc/termcap
 .SH NAME
 \fB\%@CAPTOINFO@\fP \-
 convert a \fItermcap\fP description into a \fI\%term\%info\fP description
@@ -67,7 +65,8 @@ If no \fIfile\fPs are specified,
 and extracts only the entry for the terminal named in the environment
 variable \fITERM\fP from it.
 If the environment variable \fI\%TERMCAP\fP is not set,
-\fB\%@CAPTOINFO@\fP reads \fI\%\*d\fP.
+\fB\%@CAPTOINFO@\fP reads
+.I \%/etc/termcap.
 .PP
 This utility is implemented as a link to \fB\%@TIC@\fP(1M),
 with the latter's
@@ -82,7 +81,7 @@ and
 .BR \-x .
 The \fB\-V\fP option reports the version of \fI\%ncurses\fP associated
 with this program and exits with a successful status.
-.SS "Translations from nonstandard capabilities"
+.SS "Translations from Nonstandard Capabilities"
 \fB\%@CAPTOINFO@\fP translates some obsolete,
 nonstandard capabilities into standard
 (SVr4/XSI Curses)
@@ -204,7 +203,7 @@ The HP-UX \fI\%\%term\%info\fP library supports two nonstandard
 \fB\%@CAPTOINFO@\fP discards these with a warning message.
 .SH FILES
 .TP
-.I \*d
+.I /etc/termcap
 default \fI\%termcap\fP terminal capability database
 .SH PORTABILITY
 X/Open Curses,
index 227acc252e9d400553a5c28da3443361ee366279..2d2c1421e34fe012faa3e479a9ac4fffcf382fd2 100644 (file)
@@ -28,8 +28,8 @@
 .\" authorization.                                                           *
 .\"***************************************************************************
 .\"
-.\" $Id: curs_add_wch.3x,v 1.49 2023/12/16 21:19:37 tom Exp $
-.TH curs_add_wch 3X 2023-12-16 "ncurses 6.4" "Library calls"
+.\" $Id: curs_add_wch.3x,v 1.50 2023/12/23 16:08:25 tom Exp $
+.TH curs_add_wch 3X 2023-12-23 "ncurses 6.4" "Library calls"
 .ie \n(.g \{\
 .ds `` \(lq
 .ds '' \(rq
@@ -117,7 +117,7 @@ The knowledge
 that only a single character is being output is taken into consideration and,
 for non-control characters, a considerable performance gain might be seen
 by using the *\fBecho\fP* functions instead of their equivalents.
-.SS Line Graphics
+.SS "Line Graphics"
 Like \fB\%addch\fP(3X),
 \fBaddch_wch\fP accepts symbols which make it simple to draw lines and other
 frequently used special characters.
@@ -255,7 +255,7 @@ may be macros.
 .SH PORTABILITY
 These functions are described in the XSI Curses standard, Issue 4.
 The defaults specified for line-drawing characters apply in the POSIX locale.
-.SS WACS Symbols
+.SS "WACS Symbols"
 X/Open Curses makes it clear that the WACS_ symbols should be defined as
 a pointer to \fBcchar_t\fP data, e.g., in the discussion of \fBborder_set\fP.
 A few implementations are problematic:
@@ -333,7 +333,7 @@ Others have suggested these alternatives:
 \[u2327] U+2327 (x in a rectangle),
 \[u256C] U+256C (forms double vertical and horizontal), and
 \[u2612] U+2612 (ballot box with x).
-.SS Complex Characters
+.SS "Complex Characters"
 The complex character type \fBcchar_t\fR
 can store more than one wide character (\fBwchar_t\fR).
 The X/Open Curses description does not mention this possibility,
index e61aee2f3eb1e7e3d9277a3522f1f9b4d76ea2c7..b87f76637f61d803e667b8a86ca6a5c56977da64 100644 (file)
@@ -28,8 +28,8 @@
 .\" authorization.                                                           *
 .\"***************************************************************************
 .\"
-.\" $Id: curs_addch.3x,v 1.75 2023/12/16 21:19:37 tom Exp $
-.TH curs_addch 3X 2023-12-16 "ncurses 6.4" "Library calls"
+.\" $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"
 .ie \n(.g \{\
 .ds `` \(lq
 .ds '' \(rq
@@ -66,11 +66,11 @@ add a \fIcurses\fR character to a window and advance the cursor
 \fBint wechochar(WINDOW *\fIwin\fP, const chtype \fIch\fP);
 .fi
 .SH DESCRIPTION
-.SS Adding characters
+.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 \fBputchar\fP(3) in \fBstdio\fP(3).
+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.
@@ -122,7 +122,7 @@ Video attributes can be combined with a character argument passed to
 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.
-.SS Echoing 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.
@@ -130,7 +130,7 @@ 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
+.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
@@ -209,7 +209,7 @@ Note that \fBaddch\fP, \fBmvaddch\fP, \fBmvwaddch\fP, and
 .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.
-.SS ACS Symbols
+.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.
@@ -269,7 +269,7 @@ 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)).
-.SS Character Set
+.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
index 475d3ab48c82941dfd3040069ed37457905f2dbe..daba5c214827d5767ed75714cca82023da574271 100644 (file)
@@ -28,8 +28,8 @@
 .\" authorization.                                                           *
 .\"***************************************************************************
 .\"
-.\" $Id: curs_attr.3x,v 1.92 2023/12/16 21:07:24 tom Exp $
-.TH curs_attr 3X 2023-12-16 "ncurses 6.4" "Library calls"
+.\" $Id: curs_attr.3x,v 1.93 2023/12/23 16:08:25 tom Exp $
+.TH curs_attr 3X 2023-12-23 "ncurses 6.4" "Library calls"
 .ie \n(.g \{\
 .ds `` \(lq
 .ds '' \(rq
@@ -127,7 +127,7 @@ when erasing portions of the window.
 See \fBcurs_bkgd\fP(3X) for functions which modify the attributes used for
 erasing and clearing.
 .\" ---------------------------------------------------------------------------
-.SS Window attributes
+.SS "Window Attributes"
 There are two sets of functions:
 .bP
 functions for manipulating the window attributes and color:
@@ -148,7 +148,7 @@ Use \fBattr_off\fP and \fBwattr_off\fP to turn off window attributes,
 again values OR'd together in \fIattr\fP,
 without affecting other attributes.
 .\" ---------------------------------------------------------------------------
-.SS Legacy window attributes
+.SS "Legacy Window Attributes"
 The X/Open window attribute routines which \fIset\fP or \fIget\fP,
 turn \fIon\fP or \fIoff\fP
 are extensions of older routines
@@ -206,7 +206,7 @@ in X/Open Curses,
 although \fI\%ncurses\fP provides \fB\%getattrs\fP
 (see \fB\%curs_legacy\fP(3X)).
 .\" ---------------------------------------------------------------------------
-.SS Change character rendition
+.SS "Change Character Rendition"
 The routine \fBchgat\fP changes the attributes of a given number of characters
 starting at the current cursor location of \fBstdscr\fP.
 It does not update
@@ -221,7 +221,7 @@ In these functions,
 the color \fIpair\fP argument is a color pair index
 (as in the first argument of \fBinit_pair\fP, see \fBcurs_color\fP(3X)).
 .\" ---------------------------------------------------------------------------
-.SS Change window color
+.SS "Change Window Color"
 The routine \fBcolor_set\fP sets the current color of the given window to the
 foreground/background combination described by the color \fIpair\fP parameter.
 .\" ---------------------------------------------------------------------------
index 15977746514df69e930283630c72ec089fbc3510..15a5e6490d78bb479edd1f4e24d82246bdcbee79 100644 (file)
@@ -27,8 +27,8 @@
 .\" authorization.                                                           *
 .\"***************************************************************************
 .\"
-.\" $Id: curs_bkgd.3x,v 1.54 2023/12/17 23:31:28 tom Exp $
-.TH curs_bkgd 3X 2023-12-17 "ncurses 6.4" "Library calls"
+.\" $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"
 .ie \n(.g \{\
 .ds `` \(lq
 .ds '' \(rq
@@ -173,7 +173,9 @@ there is no \fB\%wgetbkgd\fP function;
 \fB\%getbkgd\fP behaves as one would expect \fB\%wgetbkgd\fP to,
 accepting a \fI\%WINDOW\fP pointer argument.
 .PP
-\fB\%bkgd\fP and \fB\%bkgdset\fP may be available as macros.
+\fB\%bkgd\fP and
+\fB\%bkgdset\fP
+may be implemented as macros.
 .PP
 X/Open Curses mentions that the character part of the background must
 be a single-byte value.
index f2e75cff096fc07383b88e977636e37579bd2f87..b80bf049b076b63e01f60129718c7702f775459e 100644 (file)
@@ -27,8 +27,8 @@
 .\" authorization.                                                           *
 .\"***************************************************************************
 .\"
-.\" $Id: curs_bkgrnd.3x,v 1.35 2023/12/16 23:00:21 tom Exp $
-.TH curs_bkgrnd 3X 2023-12-16 "ncurses 6.4" "Library calls"
+.\" $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"
 .ie \n(.g \{\
 .ds `` \(lq
 .ds '' \(rq
@@ -189,7 +189,7 @@ is null.
 \fB\%bkgrnd\fP,
 \fB\%bkgrndset\fP, and
 \fB\%getbkgrnd\fP
-may be available as macros.
+may be implemented as macros.
 .PP
 Unlike their counterparts in the non-\*(``wide\*('' configuration of
 .I \%ncurses,
index 9cf9165e5312f65c9d9df79912b08579972b4c5a..73dce9ca7c5a5e54c1c98c24664b10e32cb83651 100644 (file)
@@ -27,8 +27,8 @@
 .\" authorization.                                                           *
 .\"***************************************************************************
 .\"
-.\" $Id: curs_color.3x,v 1.93 2023/12/16 21:07:24 tom Exp $
-.TH curs_color 3X 2023-12-16 "ncurses 6.4" "Library calls"
+.\" $Id: curs_color.3x,v 1.95 2023/12/23 20:18:13 tom Exp $
+.TH curs_color 3X 2023-12-23 "ncurses 6.4" "Library calls"
 .ie \n(.g \{\
 .ds `` \(lq
 .ds '' \(rq
@@ -75,6 +75,10 @@ manipulate terminal colors with \fIcurses\fR
 .nf
 \fB#include <curses.h>
 .PP
+\fI/* variables */
+\fBint COLOR_PAIRS;
+\fBint COLORS;
+.PP
 \fBint start_color(void);
 .PP
 \fBbool has_colors(void);
@@ -100,43 +104,55 @@ manipulate terminal colors with \fIcurses\fR
 .fi
 .SH DESCRIPTION
 .SS Overview
-\fIcurses\fP supports color attributes on terminals with that capability.
-To use these routines \fB\%start_color\fP must be called, usually right after
-\fB\%initscr\fP.
-Colors are always used in pairs (referred to as color pairs).
-A color pair consists of a foreground color (for characters) and a background
-color (for the blank field on which the characters are displayed).
-A programmer initializes a color pair with the routine \fB\%init_pair\fP.
-After it has been initialized, \fB\%COLOR_PAIR\fP(\fIn\fP)
-can be used to convert the pair to a video attribute.
-.PP
-If a terminal is capable of redefining colors, the programmer can use the
-routine \fB\%init_color\fP to change the definition of a color.
-The routines \fB\%has_colors\fP and \fB\%can_change_color\fP
+\fIcurses\fP supports color attributes on terminals with that
+capability.
+Call \fB\%start_color\fP
+(typically right after \fB\%initscr\fP(3X))
+to enable this feature.
+Colors are always used in pairs.
+A
+.I "color pair"
+couples a foreground color for characters with a background color for
+the blank field on which characters are rendered.
+\fB\%init_pair\fP initializes a color pair.
+The macro \fB\%COLOR_PAIR\fP(\fIn\fP) can then convert the pair to a
+video attribute.
+.PP
+If a terminal has the relevant capability,
+\fB\%init_color\fP permits (re)definition of a color.
+\fB\%has_colors\fP and \fB\%can_change_color\fP
 return \fBTRUE\fP or \fBFALSE\fP,
-depending on whether the terminal has color capabilities and whether the
+depending on whether the terminal has color capability and whether the
 programmer can change the colors.
-The routine \fB\%color_content\fP allows a
-programmer to extract the amounts of red, green, and blue components in an
-initialized color.
-The routine \fB\%pair_content\fP allows a programmer to find
-out how a given color pair is currently defined.
-.SS Color Rendering
-The \fIcurses\fP library combines these inputs to produce the
-actual foreground and background colors shown on the screen:
+\fB\%color_content\fP permits extraction of the
+red,
+green,
+and blue components of an initialized color.
+\fB\%pair_content\fP permits discovery of a color pair's current
+definition.
+.SS Rendering
+.I curses
+combines the following data to render a character cell.
+Any of them can include color information.
 .bP
-per-character video attributes (e.g., via \fB\%waddch\fP),
+.I curses
+character attributes,
+as from \fB\%waddch\fP(3X) or \fB\%wadd_wch\fP(3X)
 .bP
-the window attribute (e.g., by \fB\%wattrset\fP), and
+window attributes,
+as from \fB\%wattrset\fP(3X) or \fB\%wattr_set\fP(3X)
 .bP
-the background character (e.g., \fB\%wbkgdset\fP).
+window background character atttributes,
+as from \fB\%wbkgdset\fP(3X) or \fB\%wbkgrndset\fP(3X)
 .PP
-Per-character and window attributes are usually set by a parameter containing
-video attributes including a color pair value.
-Some functions such as \fB\%wattr_set\fP use a separate parameter which
-is the color pair number.
+Per-character and window attributes are usually set through a function
+parameter containing attributes including a color pair value.
+Some functions,
+such as \fB\%wattr_set\fP,
+use a separate color pair number parameter.
 .PP
-The background character is a special case: it includes a character value,
+The background character is a special case:
+it includes a character code,
 just as if it were passed to \fB\%waddch\fP.
 .PP
 The \fIcurses\fP library does the actual work of combining these color
@@ -189,8 +205,21 @@ There are no standard names for those additional colors.
 is initialized by \fB\%start_color\fP to the maximum number of colors
 the terminal can support.
 .SS COLOR_PAIRS
-is initialized by \fB\%start_color\fP to the maximum number of color pairs
-the terminal can support.
+is initialized by \fB\%start_color\fP to the maximum number of color
+pairs the terminal can support.
+Often,
+its value is the product \fB\%COLORS\fP \(mu \fB\%COLORS\fP,
+but this is not always true.
+.bP
+A few terminals use the HLS color space
+(see \fB\%start_color\fP below),
+ignoring this rule;
+and
+.bP
+terminals supporting a large number of colors are limited to the number
+of color pairs that a
+.I "signed short"
+value can represent.
 .SH FUNCTIONS
 .SS start_color
 The \fB\%start_color\fP routine requires no arguments.
@@ -465,9 +494,18 @@ Color RGB values are not settable.
 .SH EXTENSIONS
 The functions marked as extensions were designed for
 \fB\%ncurses\fP(3X),
-and are not found in SVr4 curses, 4.4BSD curses,
-or any other previous version of curses.
+and are not found in SVr4
+.IR curses ,
+4.4BSD
+.IR curses ,
+or any other previous curses implementation.
 .SH PORTABILITY
+Applications employing
+.I \%ncurses
+extensions should condition their use on the visibility of the
+.B \%NCURSES_VERSION
+preprocessor macro.
+.PP
 This implementation satisfies XSI Curses's minimum maximums
 for \fB\%COLORS\fP and \fB\%COLOR_PAIRS\fP.
 .PP
@@ -500,8 +538,8 @@ SVr3.2 introduced color support to curses in 1987.
 .PP
 SVr4 made internal changes,
 e.g., moving the storage for the color state
-from \fBSP\fP (the \fBSCREEN\fP structure)
-to \fB\%cur_term\fP (the \fB\%TERMINAL\fP structure),
+from \fBSP\fP (the \fISCREEN\fP structure)
+to \fB\%cur_term\fP (the \fI\%TERMINAL\fP structure),
 but provided the same set of library functions.
 .PP
 SVr4 curses limits the number of color pairs to 64,
index 54cb1e7f58f03ba22316d2ed68c519bd3454c529..05ed5dfb569d586d7396a8564b75453419c63e3b 100644 (file)
@@ -29,8 +29,8 @@
 .\"
 .\" Author: Thomas E. Dickey 1999-on
 .\"
-.\" $Id: curs_extend.3x,v 1.43 2023/12/16 20:32:22 tom Exp $
-.TH curs_extend 3X 2023-12-16 "ncurses 6.4" "Library calls"
+.\" $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"
 .ie \n(.g \{\
 .ds `` \(lq
 .ds '' \(rq
@@ -80,12 +80,19 @@ this in your application.
 .PP
 \fBuse_extended_names\fP returns the previous state, allowing you to
 save this and restore it.
+.SH EXTENSIONS
+These functions are \fB\%ncurses\fP(3X) extensions,
+and are not found in SVr4
+.IR curses ,
+4.4BSD
+.IR curses ,
+or any other previous curses implementation.
 .SH PORTABILITY
-These routines are specific to \fI\%ncurses\fP.
-They were not supported on
-Version 7, BSD or System V implementations.
-It is recommended that
-any code depending on them be conditioned using NCURSES_VERSION.
+Applications employing
+.I \%ncurses
+extensions should condition their use on the visibility of the
+.B \%NCURSES_VERSION
+preprocessor macro.
 .SH AUTHORS
 Thomas Dickey.
 .SH SEE ALSO
index 810e8d2fed5840d93e9d72e4badd963894680531..dc62c1565ffdc03b83c18532e5f234306a9e1888 100644 (file)
@@ -27,8 +27,8 @@
 .\" authorization.                                                           *
 .\"***************************************************************************
 .\"
-.\" $Id: curs_get_wch.3x,v 1.30 2023/11/25 13:58:47 tom Exp $
-.TH curs_get_wch 3X 2023-11-25 "ncurses 6.4" "Library calls"
+.\" $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"
 .ie \n(.g \{\
 .ds `` \(lq
 .ds '' \(rq
@@ -180,10 +180,10 @@ at the same time.
 Depending on the state of the tty driver when each character
 is typed, the program may produce undesirable results.
 .PP
-All of these symbols except
+All of these functions except
 \fB\%wget_wch\fP and
 \fB\%unget_wch\fP
-may be available as macros.
+may be implemented as macros.
 .SH PORTABILITY
 These functions are described in the XSI Curses standard, Issue 4.
 .SH SEE ALSO
index 69067297117307df0067c97a4d53383ae4348aed..a44e574121ab7b37007b5c72681fe121e0670041 100644 (file)
@@ -28,8 +28,8 @@
 .\" authorization.                                                           *
 .\"***************************************************************************
 .\"
-.\" $Id: curs_getch.3x,v 1.76 2023/12/16 21:01:28 tom Exp $
-.TH curs_getch 3X 2023-12-16 "ncurses 6.4" "Library calls"
+.\" $Id: curs_getch.3x,v 1.77 2023/12/23 16:36:18 tom Exp $
+.TH curs_getch 3X 2023-12-23 "ncurses 6.4" "Library calls"
 .ie \n(.g \{\
 .ds `` \(lq
 .ds '' \(rq
@@ -68,7 +68,7 @@ get (or push back) characters from \fIcurses\fR terminal keyboard
 .B int has_key(int \fIch\fP);
 .fi
 .SH DESCRIPTION
-.SS Reading characters
+.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.
@@ -101,7 +101,7 @@ Otherwise the character is simply output to the screen.
 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.
-.SS Keypad mode
+.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:
 .bP
@@ -135,11 +135,11 @@ 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.
-.SS Ungetting characters
+.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.
-.SS Predefined key-codes
+.SS "Predefined Key Codes"
 The following special keys are defined in \fB<curses.h>\fP.
 .bP
 Except for the special case \fBKEY_RESIZE\fP,
@@ -284,7 +284,7 @@ because
 with \fBxterm\fP(1) mouse prototocol)
 \fI\%ncurses\fP must read escape sequences,
 just like a function key.
-.SS Testing key-codes
+.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.
@@ -370,32 +370,61 @@ consoles typically support little more than \fBKEY_UP\fP, \fBKEY_DOWN\fP,
 \fBKEY_NPAGE\fP, \fBKEY_PPAGE\fP, and function keys 1 through 12.
 The Ins key
 is usually mapped to \fBKEY_IC\fP.
+.SH EXTENSIONS
+\fB\%has_key\fP was designed for \fB\%ncurses\fP(3X),
+and is not found in SVr4
+.IR curses ,
+4.4BSD
+.IR curses ,
+or any other previous curses implementation.
 .SH PORTABILITY
-The *get* functions are described in the XSI Curses standard, Issue 4.
-They
-read single-byte characters only.
-The standard specifies that they return
-\fBERR\fP on failure, but specifies no error conditions.
+Applications employing
+.I \%ncurses
+extensions should condition their use on the visibility of the
+.B \%NCURSES_VERSION
+preprocessor macro.
 .PP
-The echo behavior of these functions on input of \fBKEY_\fP or backspace
-characters was not specified in the SVr4 documentation.
-This description is
-adopted from the XSI Curses standard.
+X/Open Curses, Issue 4, Version 2, 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.
 .PP
-The behavior of \fBgetch\fP and friends in the presence of handled signals is
-unspecified in the SVr4 and XSI Curses documentation.
-Under historical curses
-implementations, it varied depending on whether the operating system's
-implementation of handled signal receipt interrupts a \fBread\fP(2) call in
-progress or not, and also (in some implementations) depending on whether an
-input timeout or non-blocking mode has been set.
+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
-\fBKEY_MOUSE\fP is mentioned in XSI Curses, along with a few related
-terminfo capabilities, but no higher-level functions use the feature.
-The implementation in \fI\%ncurses\fP is an extension.
+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,
+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,
+and also
+(in some implementations)
+whether an input timeout or non-blocking mode has been set.
 .PP
-\fBKEY_RESIZE\fP is an extension first implemented for \fI\%ncurses\fP.
-NetBSD curses later added this extension.
+.B KEY_MOUSE
+is mentioned in X/Open Curses,
+along with a few related
+.I \%term\%info
+capabilities,
+but no higher-level functions use the feature.
+The implementation in
+.I \%ncurses
+is an extension.
+.PP
+.B KEY_RESIZE
+is an extension first implemented for
+.I \%ncurses.
+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
index fcb73d677f53ff02b36fe4f9295b55078b859390..3f7c37d6ecf89a503500d8edd90e7e5796a7e2fb 100644 (file)
@@ -27,8 +27,8 @@
 .\" authorization.                                                           *
 .\"***************************************************************************
 .\"
-.\" $Id: curs_initscr.3x,v 1.59 2023/12/17 23:56:04 tom Exp $
-.TH curs_initscr 3X 2023-12-17 "ncurses 6.4" "Library calls"
+.\" $Id: curs_initscr.3x,v 1.60 2023/12/23 16:27:25 tom Exp $
+.TH curs_initscr 3X 2023-12-23 "ncurses 6.4" "Library calls"
 .ie \n(.g \{\
 .ds `` \(lq
 .ds '' \(rq
@@ -91,7 +91,7 @@ terminal cannot support a screen-oriented program, would also use
 \fBnewterm\fP.
 .PP
 The routine \fBnewterm\fP should be called once for each terminal.
-It returns a variable of type \fBSCREEN *\fP which should be saved
+It returns a variable of type \fISCREEN *\fP which should be saved
 as a reference to that terminal.
 \fBnewterm\fP's arguments are
 .bP
@@ -104,8 +104,8 @@ an input stream connected to the terminal
 If the \fItype\fP parameter is \fBNULL\fP, \fB$TERM\fP will be used.
 .PP
 The file descriptor of the output stream is passed to \fBsetupterm\fP(3X),
-which returns a pointer to a \fBTERMINAL\fP structure.
-\fBnewterm\fP's return value holds a pointer to the \fBTERMINAL\fP structure.
+which returns a pointer to a \fI\%TERMINAL\fP structure.
+\fBnewterm\fP's return value holds a pointer to the \fI\%TERMINAL\fP structure.
 .SS endwin
 The program must also call
 \fBendwin\fP for each terminal being used before exiting from \fBcurses\fP.
@@ -138,14 +138,14 @@ and \fBFALSE\fP otherwise.
 The \fBset_term\fP routine is used to switch between different terminals.
 The screen reference \fInew\fP becomes the new current terminal.
 The previous terminal is returned by the routine.
-This is the only routine which manipulates \fBSCREEN\fP pointers;
+This is the only routine which manipulates \fISCREEN\fP pointers;
 all other routines affect only the current terminal.
 .SS delscreen
 The \fBdelscreen\fP routine frees storage associated with the
-\fBSCREEN\fP data structure.
+\fISCREEN\fP data structure.
 The \fBendwin\fP routine does not do
 this, so \fBdelscreen\fP should be called after \fBendwin\fP if a
-particular \fBSCREEN\fP is no longer needed.
+particular \fISCREEN\fP is no longer needed.
 .SH RETURN VALUE
 \fBendwin\fP returns the integer \fBERR\fP upon failure and \fBOK\fP
 upon successful completion.
@@ -193,18 +193,18 @@ in XSI Curses.
 .PP
 Calling \fBendwin\fP does not dispose of the memory allocated in \fBinitscr\fP
 or \fBnewterm\fP.
-Deleting a \fBSCREEN\fP provides a way to do this:
+Deleting a \fISCREEN\fP provides a way to do this:
 .bP
-X/Open Curses does not say what happens to \fBWINDOW\fPs when \fBdelscreen\fP
-\*(``frees storage associated with the \fBSCREEN\fP\*(''
+X/Open Curses does not say what happens to \fI\%WINDOW\fPs when \fBdelscreen\fP
+\*(``frees storage associated with the \fISCREEN\fP\*(''
 nor does the SVr4 documentation help,
-adding that it should be called after \fBendwin\fP if a \fBSCREEN\fP
+adding that it should be called after \fBendwin\fP if a \fISCREEN\fP
 is no longer needed.
 .bP
-However, \fBWINDOW\fPs are implicitly associated with a \fBSCREEN\fP.
+However, \fI\%WINDOW\fPs are implicitly associated with a \fISCREEN\fP.
 so that it is reasonable to expect \fBdelscreen\fP to deal with these.
 .bP
-SVr4 curses deletes the standard \fBWINDOW\fP structures
+SVr4 curses deletes the standard \fI\%WINDOW\fP structures
 \fBstdscr\fP and \fBcurscr\fP as well as a work area \fBnewscr\fP.
 SVr4 curses ignores other windows.
 .bP
@@ -214,11 +214,11 @@ using that information to delete those windows when \fBdelscreen\fP is called.
 .bP
 NetBSD copied this feature of \fI\%ncurses\fP in 2001.
 PDCurses follows the SVr4 model,
-deleting only the standard \fBWINDOW\fP structures.
+deleting only the standard \fI\%WINDOW\fP structures.
 .SS "High-level versus Low-level"
 Different implementations may disagree regarding the level of some functions.
-For example, \fBSCREEN\fP (returned by \fBnewterm\fP) and
-\fBTERMINAL\fP (returned by \fBsetupterm\fP(3X)) hold file descriptors for
+For example, \fISCREEN\fP (returned by \fBnewterm\fP) and
+\fI\%TERMINAL\fP (returned by \fBsetupterm\fP(3X)) hold file descriptors for
 the output stream.
 If an application switches screens using \fBset_term\fR,
 or switches terminals using \fBset_curterm\fP(3X),
@@ -227,16 +227,16 @@ behavior depending on which structure holds the corresponding descriptor.
 .PP
 For example
 .bP
-NetBSD's \fBbaudrate\fP(3X) function uses the descriptor in \fBTERMINAL\fP.
-\fI\%ncurses\fP and SVr4 use the descriptor in \fBSCREEN\fP.
+NetBSD's \fBbaudrate\fP(3X) function uses the descriptor in \fI\%TERMINAL\fP.
+\fI\%ncurses\fP and SVr4 use the descriptor in \fISCREEN\fP.
 .bP
 NetBSD and \fI\%ncurses\fP use the descriptor
-in \fBTERMINAL\fP
+in \fI\%TERMINAL\fP
 for terminal I/O modes,
 e.g.,
 \fBdef_shell_mode\fP(3X),
 \fBdef_prog_mode\fP(3X).
-SVr4 curses uses the descriptor in \fBSCREEN\fP.
+SVr4 curses uses the descriptor in \fISCREEN\fP.
 .SS "Unset \fITERM\fP Variable"
 If the \fITERM\fP variable is missing or empty, \fBinitscr\fP uses the
 value \*(``unknown\*('',
@@ -274,14 +274,15 @@ The handler \fIattempts\fP to cleanup the screen on exit.
 Although it \fIusually\fP works as expected, there are limitations:
 .RS 5
 .bP
-Walking the \fBSCREEN\fP list is unsafe, since all list management
+Walking the \fISCREEN\fP list is unsafe, since all list management
 is done without any signal blocking.
 .bP
 On systems which have \fBREENTRANT\fP turned on, \fBset_term\fP uses
 functions which could deadlock or misbehave in other ways.
 .bP
-\fBendwin\fP calls other functions, many of which use stdio or
-other library functions which are clearly unsafe.
+\fBendwin\fP calls other functions,
+many of which use \fI\%stdio\fP(3) or other library functions which are
+clearly unsafe.
 .RE
 .TP 5
 .B SIGTERM
index d5d9c9685c01deab2bf3c9c48483297ed52e97b2..de844c3c3e4e2f1d27bb0b1aab30c08c814d68df 100644 (file)
@@ -28,8 +28,8 @@
 .\" authorization.                                                           *
 .\"***************************************************************************
 .\"
-.\" $Id: curs_inopts.3x,v 1.59 2023/12/16 20:32:22 tom Exp $
-.TH curs_inopts 3X 2023-12-16 "ncurses 6.4" "Library calls"
+.\" $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"
 .ie \n(.g \{\
 .ds `` \(lq
 .ds '' \(rq
@@ -103,175 +103,243 @@ get and set \fIcurses\fR terminal input options
 \fBint is_raw(void);
 .fi
 .SH DESCRIPTION
-The \fI\%ncurses\fP library provides several functions which let an
-application change the way input from the terminal is handled.
-Some are global, applying to all windows.
+.I \%ncurses
+provides several functions that let an application change the way input
+from the terminal is handled.
+Some are global,
+applying to all windows.
 Others apply only to a specific window.
 Window-specific settings are not automatically applied to new or derived
 windows.
-An application must apply these to each window, if the same behavior
-is needed.
+An application must apply these to each window if the same behavior is
+desired.
 .\"
-.SS cbreak/nocbreak
-Normally, the tty driver buffers typed characters until a newline or carriage
+.SS "cbreak, nocbreak"
+Normally,
+the terminal driver buffers typed characters until a newline or carriage
 return is typed.
 The \fB\%cbreak\fP routine disables line buffering and
-erase/kill character-processing (interrupt and flow control characters are
-unaffected), making characters typed by the user immediately available to the
+erase/kill character-processing
+(interrupt and flow control characters are unaffected),
+making characters typed by the user immediately available to the
 program.
 The \fB\%nocbreak\fP routine returns the terminal to normal (cooked)
 mode.
 .PP
-Initially the terminal may or may not be in \fB\%cbreak\fP mode, as the mode is
-inherited; therefore, a program should call \fB\%cbreak\fP or \fB\%nocbreak\fP
-explicitly.
-Most interactive programs using \fIcurses\fP set the \fB\%cbreak\fP
-mode.
+Initially the terminal may or may not be in \fB\%cbreak\fP mode,
+as the mode is inherited;
+therefore,
+a program should call \fB\%cbreak\fP or \fB\%nocbreak\fP explicitly.
+Most interactive programs using
+.I curses
+set the \fB\%cbreak\fP mode.
 Note that \fB\%cbreak\fP overrides \fBraw\fP.
-[See \fB\%curs_getch\fP(3X) for a
-discussion of how these routines interact with \fBecho\fP and \fB\%noecho\fP.]
+[See \fB\%curs_getch\fP(3X) for a discussion of how these routines
+interact with \fBecho\fP and \fB\%noecho\fP.]
 .\"
-.SS echo/noecho
-The \fBecho\fP and \fB\%noecho\fP routines control whether characters typed by
-the user are echoed by \fB\%getch\fP(3X) as they are typed.
-Echoing by the tty
-driver is always disabled, but initially \fB\%getch\fP is in echo mode, so
-characters typed are echoed.
+.SS "echo, noecho"
+The \fBecho\fP and \fB\%noecho\fP routines control whether characters
+typed by the user are echoed by \fB\%getch\fP(3X) as they are typed.
+Echoing by the terminal driver is always disabled,
+but initially \fB\%getch\fP is in echo mode,
+so characters typed are echoed.
 Authors of most interactive programs prefer to do
-their own echoing in a controlled area of the screen, or not to echo at all, so
-they disable echoing by calling \fB\%noecho\fP.
+their own echoing in a controlled area of the screen,
+or not to echo at all,
+so they disable echoing by calling \fB\%noecho\fP.
 [See \fB\%curs_getch\fP(3X) for a
 discussion of how these routines interact with \fB\%cbreak\fP and
 \fB\%nocbreak\fP.]
 .\"
 .SS halfdelay
-The \fB\%halfdelay\fP routine is used for half-delay mode, which is similar to
-\fB\%cbreak\fP mode in that characters typed by the user are immediately
-available to the program.
-However, after blocking for \fItenths\fP tenths of
-seconds, \fBERR\fP is returned if nothing has been typed.
-The value of \fItenths\fP
-must be a number between 1 and 255.
-Use \fB\%nocbreak\fP to leave half-delay
-mode.
+The \fB\%halfdelay\fP routine is used for half-delay mode,
+which is similar to \fB\%cbreak\fP mode in that characters typed by the
+user are immediately available to the program.
+However,
+after blocking for \fItenths\fP tenths of seconds,
+\fBERR\fP is returned if nothing has been typed.
+The value of \fItenths\fP must be a number between 1 and 255.
+Use \fB\%nocbreak\fP to leave half-delay mode.
 .\"
 .SS intrflush
-If the \fB\%intrflush\fP option is enabled (\fIbf\fP is \fBTRUE\fP), and an
-interrupt key is pressed on the keyboard (interrupt, break, quit), all output in
-the tty driver queue will be flushed, giving the effect of faster response to
-the interrupt, but causing \fIcurses\fP to have the wrong idea of what is on
-the screen.
-Disabling the option (\fIbf\fP is \fBFALSE\fP) prevents the
-flush.
-The default for the option is inherited from the tty driver settings.
-The window argument is ignored.
+If the \fB\%intrflush\fP option is enabled
+.RI ( bf
+is
+.BR TRUE ),
+and an interrupt key is pressed on the keyboard
+(interrupt,
+break,
+quit),
+all output in the terminal driver queue is flushed,
+giving the effect of faster response to the interrupt,
+but causing
+.I curses
+to have the wrong idea of what is on the screen.
+Disabling the option
+.RI ( bf
+is
+.BR FALSE ),
+prevents the flush.
+The default for the option is inherited from the terminal driver
+settings.
+The
+.I win
+argument is ignored.
 .\"
 .SS keypad
 The \fB\%keypad\fP option enables the keypad of the user's terminal.
 If
-enabled (\fIbf\fP is \fBTRUE\fP), the user can press a function key
-(such as an arrow key) and \fB\%wgetch\fP(3X) returns a single value
-representing the function key, as in \fB\%KEY_LEFT\fP.
+enabled
+.RI ( bf
+is
+.BR TRUE ),
+the user can press a function key
+(such as an arrow key)
+and \fB\%wgetch\fP(3X) returns a single value representing the function
+key,
+as in \fB\%KEY_LEFT\fP.
 If disabled
-(\fIbf\fP is \fBFALSE\fP), \fIcurses\fP does not treat function keys
-specially and the program has to interpret the escape sequences
-itself.
-If the keypad in the terminal can be turned on (made to
-transmit) and off (made to work locally), turning on this option
-causes the terminal keypad to be turned on when \fB\%wgetch\fP(3X) is
-called.
+(\fIbf\fP is \fBFALSE\fP),
+.I curses
+does not treat function keys specially and the program has to interpret
+the escape sequences itself.
+If the keypad in the terminal can be turned on
+(made to transmit)
+and off
+(made to work locally),
+turning on this option causes the terminal keypad to be turned on when
+\fB\%wgetch\fP(3X) is called.
 The default value for keypad is \fBFALSE\fP.
 .\"
 .SS meta
-Initially, whether the terminal returns 7 or 8 significant bits on
-input depends on the control mode of the tty driver [see \fB\%termios\fP(3)].
-To force 8 bits to be returned, invoke \fBmeta\fP(\fIwin\fP,
-\fBTRUE\fP); this is equivalent, under POSIX, to setting the CS8 flag
-on the terminal.
-To force 7 bits to be returned, invoke
-\fBmeta\fP(\fIwin\fP, \fBFALSE\fP); this is equivalent, under POSIX,
+Initially,
+whether the terminal returns 7 or 8 significant bits on input depends on
+the control mode of the terminal driver [see \fI\%termios\fP(3)].
+To force 8 bits to be returned,
+invoke
+\fBmeta\fP(\fIwin\fP, \fBTRUE\fP);
+this is equivalent,
+under POSIX,
+to setting the CS8 flag on the terminal.
+To force 7 bits to be returned,
+invoke
+\fBmeta\fP(\fIwin\fP, \fBFALSE\fP);
+this is equivalent,
+under POSIX,
 to setting the CS7 flag on the terminal.
 The window argument,
-\fIwin\fP, is always ignored.
-If the terminfo capabilities \fBsmm\fP
-(meta_on) and \fBrmm\fP (meta_off) are defined for the terminal,
-\fBsmm\fP is sent to the terminal when \fBmeta\fP(\fIwin\fP,
-\fBTRUE\fP) is called and \fBrmm\fP is sent when \fBmeta\fP(\fIwin\fP,
-\fBFALSE\fP) is called.
+.I win,
+is always ignored.
+If the terminfo capabilities
+\fBsmm\fP (meta_on) and
+\fBrmm\fP (meta_off) are defined for the terminal,
+\fBsmm\fP is sent to the terminal when
+\fBmeta\fP(\fIwin\fP, \fBTRUE\fP)
+is called and \fBrmm\fP is sent when
+\fBmeta\fP(\fIwin\fP, \fBFALSE\fP) is called.
 .\"
-.SS nl/nonl
-The \fBnl\fP and \fBnonl\fP routines control whether the underlying display
-device translates the return key into newline on input.
+.SS "nl, nonl"
+The \fBnl\fP and \fBnonl\fP routines control whether the underlying
+display device translates the return key into newline on input.
 .\"
 .SS nodelay
-The \fB\%nodelay\fP option causes \fB\%getch\fP to be a non-blocking call.
-If no input is ready, \fB\%getch\fP returns \fBERR\fP.
+The \fB\%nodelay\fP option causes \fB\%getch\fP to be a non-blocking
+call.
+If no input is ready,
+\fB\%getch\fP returns \fBERR\fP.
 If disabled
-(\fIbf\fP is \fBFALSE\fP), \fB\%getch\fP waits until a key is pressed.
+.RI ( bf
+is
+.BR FALSE ),
+\fB\%getch\fP waits until a key is pressed.
 .SS notimeout
-When interpreting an escape sequence, \fB\%wgetch\fP(3X) sets a timer
+When interpreting an escape sequence,
+\fB\%wgetch\fP(3X) sets a timer
 while waiting for the next character.
-If \fB\%notimeout(\fIwin\fR,
-\fBTRUE\fP) is called, then \fB\%wgetch\fP does not set a timer.
-The
-purpose of the timeout is to differentiate between sequences received
-from a function key and those typed by a user.
+If
+\fB\%notimeout(\fIwin\fR, \fBTRUE\fP)
+is called,
+then \fB\%wgetch\fP does not set a timer.
+The purpose of the timeout is to distinguish sequences produced by a
+function key from those typed by a user.
 .\"
-.SS raw/noraw
-The \fBraw\fP and \fB\%noraw\fP routines place the terminal into or out of raw
-mode.
-Raw mode is similar to \fB\%cbreak\fP mode, in that characters typed are
-immediately passed through to the user program.
-The differences are that in
-raw mode, the interrupt, quit, suspend, and flow control characters are all
-passed through uninterpreted, instead of generating a signal.
-The behavior of
-the BREAK key depends on other bits in the tty driver that are not set by
-\fIcurses\fP.
+.SS "raw, noraw"
+The \fBraw\fP and \fB\%noraw\fP routines place the terminal into or out
+of raw mode.
+Raw mode is similar to \fB\%cbreak\fP mode,
+in that characters typed are immediately passed through to the user
+program.
+The differences are that in raw mode,
+the interrupt,
+quit,
+suspend,
+and flow control characters are all
+passed through uninterpreted,
+instead of generating a signal.
+The behavior of the BREAK key depends on other bits in the terminal
+driver that are not set by
+.I curses.
 .\"
-.SS qiflush/noqiflush
-When the \fB\%noqiflush\fP routine is used, normal flush of input and
-output queues associated with the \fBINTR\fP, \fBQUIT\fP and
-\fBSUSP\fP characters will not be done [see \fB\%termios\fP(3)].
+.SS "qiflush, nqiflush"
+When the \fB\%noqiflush\fP routine is used,
+normal flush of input and output queues associated with the \fBINTR\fP,
+\fBQUIT\fP and \fBSUSP\fP characters will not be done
+[see \fB\%termios\fP(3)].
 When
-\fB\%qiflush\fP is called, the queues will be flushed when these control
-characters are read.
-You may want to call \fB\%noqiflush\fP in a signal
-handler if you want output to continue as though the interrupt
-had not occurred, after the handler exits.
+\fB\%qiflush\fP is called,
+the queues will be flushed when these control characters are read.
+You may want to call \fB\%noqiflush\fP in a signal handler if you want
+output to continue as though the interrupt had not occurred,
+after the handler exits.
 .\"
-.SS timeout/wtimeout
+.SS "timeout, wtimeout"
 The \fB\%timeout\fP and \fB\%wtimeout\fP routines set blocking or
 non-blocking read for a given window.
 If \fIdelay\fP is negative,
-blocking read is used (i.e., waits indefinitely for
-input).
-If \fIdelay\fP is zero, then non-blocking read is used
-(i.e., read returns \fBERR\fP if no input is waiting).
+a blocking read is used
+(i.e.,
+waits indefinitely for input).
+If \fIdelay\fP is zero,
+then a non-blocking read is used
+(i.e.,
+.I read
+returns \fBERR\fP if no input is waiting).
 If
-\fIdelay\fP is positive, then read blocks for \fIdelay\fP
-milliseconds, and returns \fBERR\fP if there is still no input.
-Hence, these routines provide the same functionality as \fB\%nodelay\fP,
+\fIdelay\fP is positive,
+then
+.I read
+blocks for \fIdelay\fP milliseconds,
+and returns \fBERR\fP if there is still no input.
+Hence,
+these routines provide the same functionality as \fB\%nodelay\fP,
 plus the additional capability of being able to block for only
-\fIdelay\fP milliseconds (where \fIdelay\fP is positive).
+\fIdelay\fP milliseconds
+(where \fIdelay\fP is positive).
 .\"
 .SS typeahead
-The \fIcurses\fP library does \*(``line-breakout optimization\*(''
-by looking for typeahead periodically while updating the screen.
-If input is found, and it is coming from a tty,
+.I curses
+does \*(``line-breakout optimization\*('' by looking for typeahead
+periodically while updating the screen.
+If input is found,
+and it is coming from a terminal,
 the current update is postponed until
 \fB\%refresh\fP(3X) or \fB\%doupdate\fP is called again.
 This allows faster response to commands typed in advance.
-Normally, the input FILE
-pointer passed to \fB\%newterm\fP, or \fBstdin\fP in the case that
-\fB\%initscr\fP was used, will be used to do this typeahead checking.
+Normally,
+the input
+.I FILE
+pointer passed to \fB\%newterm\fP,
+or \fBstdin\fP in the case that \fB\%initscr\fP was used,
+will be used to do this typeahead checking.
 The \fB\%typeahead\fP routine specifies that the file descriptor
 \fIfd\fP is to be used to check for typeahead instead.
 If \fIfd\fP is
-\-1, then no typeahead checking is done.
+\-1,
+then no typeahead checking is done.
 .\"
 .SH RETURN VALUE
-All routines that return an integer return \fBERR\fP upon failure and \fBOK\fP
+All routines that return an integer return \fBERR\fP upon failure and
+\fBOK\fP
 (SVr4 specifies only \*(``an integer value other than \fBERR\fP\*('')
 upon successful completion,
 unless otherwise noted in the preceding routine descriptions.
@@ -279,7 +347,8 @@ 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.
+Any function will also return an error if the terminal was not
+initialized.
 Also,
 .RS 3
 .TP 5
@@ -288,7 +357,6 @@ returns an error
 if its parameter is outside the range 1..255.
 .RE
 .SH NOTES
-Note that
 \fBecho\fP,
 \fB\%noecho\fP,
 \fB\%halfdelay\fP,
@@ -300,21 +368,28 @@ Note that
 \fB\%notimeout\fP,
 \fB\%noqiflush\fP,
 \fB\%qiflush\fP,
-\fB\%timeout\fP, and
-\fB\%wtimeout\fP may be macros.
+\fB\%timeout\fP,
+and
+\fB\%wtimeout\fP
+may be implemented as macros.
 .PP
-The \fB\%noraw\fP and \fB\%nocbreak\fP calls follow historical practice in that
-they attempt to restore to normal (\*(``cooked\*('') mode
+\fB\%noraw\fP and \fB\%nocbreak\fP follow historical practice in that
+they attempt to restore normal (\*(``cooked\*('') mode
 from raw and cbreak modes respectively.
-Mixing raw/noraw and cbreak/nocbreak calls leads to tty driver
-control states that are hard to predict or understand; it is not recommended.
+Mixing \fBraw\fP/\fB\%noraw\fP and \fB\%cbreak\fP/\fB\%nocbreak\fP calls
+leads to terminal driver control states that are hard to predict or
+understand;
+doing so is not recommended.
 .SH EXTENSIONS
-This implementation provides four functions which may be used to detect
-if the corresponding flags were set or reset:
+.I \%ncurses
+provides four \*(``is_\*('' functions that may be used to detect if the
+corresponding flags were set or reset.
 .PP
 .TS
-l l l.
-\fBQuery\fP    \fBSet\fP       \fBReset\fP
+center;
+Lb Lb Lb
+L  L  L .
+Query  Set     Reset
 _
 is_cbreak      cbreak  nocbreak
 is_echo        echo    noecho
@@ -322,59 +397,95 @@ is_nl     nl      nonl
 is_raw raw     noraw
 .TE
 .PP
-In each case, the function returns
-.TP 5
+In each case,
+the function returns
+.TP 4 \" "-1" + 2n
 1
 if the flag is set,
-.TP 5
+.TP
 0
-if the flag is reset, or
-.TP 5
+if the flag is reset,
+or
+.TP
 \-1
-if the \fIcurses\fP library was not initialized.
+if the library is not initialized.
 .PP
-These routines are specific to \fI\%ncurses\fP.
-They were not supported on Version 7, BSD or System V implementations.
-It is recommended that any code depending on \fI\%ncurses\fP extensions
-be conditioned using NCURSES_VERSION.
+They were designed for
+\fB\%ncurses\fP(3X),
+and are not found in SVr4
+.IR curses ,
+4.4BSD
+.IR curses ,
+or any other previous
+.I curses
+implementation.
 .SH PORTABILITY
-Except as noted in the section on extensions,
-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
+Except as noted in section \*(``EXTENSIONS\*('' above,
+X/Open Curses, Issue 4, Version 2 describes these functions.
 .PP
-The \fI\%ncurses\fP library obeys the XPG4 standard
-and the historical practice of the
-AT&T \fIcurses\fP implementations,
-in that the echo bit is cleared when \fIcurses\fP
+.I \%ncurses
+follows X/Open Curses
+and the historical practice of AT&T
+.I curses
+implementations,
+in that the echo bit is cleared when
+.I curses
 initializes the terminal state.
-BSD \fIcurses\fP differed from this slightly; it
-left the echo bit on at initialization, but the BSD \fBraw\fP call turned it
-off as a side-effect.
-For best portability, set \fBecho \fPor \fB\%noecho\fP explicitly
-just after initialization, even if your program remains in cooked mode.
+BSD
+.I curses
+differed from this slightly;
+it left the echo bit on at initialization,
+but the BSD \fBraw\fP call turned it off as a side effect.
+For best portability,
+set \fBecho\fP or \fB\%noecho\fP explicitly just after initialization,
+even if your program remains in cooked mode.
 .PP
-The XSI Curses standard is ambiguous on the question of whether \fBraw\fP
-should disable the CRLF translations controlled by \fBnl\fP and \fBnonl\fP.
-BSD \fIcurses\fP did turn off these translations;
-AT&T \fIcurses\fP (at least as late as SVr1) did not.
-We chose to do so, on the theory that a programmer requesting
-raw input wants a clean (ideally 8-bit clean) connection that the operating
-system will not alter.
+X/Open Curses is ambiguous regarding whether \fBraw\fP should disable
+the CR/LF translations controlled by \fBnl\fP and \fBnonl\fP.
+BSD
+.I curses
+did turn off these translations;
+AT&T
+.I curses
+(at least as late as SVr1)
+did not.
+.I \%ncurses
+does so,
+on the assumption that a programmer requesting raw input wants a clean
+(ideally,
+8-bit clean)
+connection that the operating system will not alter.
 .PP
 When \fB\%keypad\fP is first enabled,
-\fI\%ncurses\fP loads the key-definitions for the current terminal
-description.
+.I \%ncurses
+loads the key definitions for the current terminal description.
 If the terminal description includes extended string capabilities,
-e.g., from using the \fB\-x\fP option of \fB@TIC@\fP,
-then \fI\%ncurses\fP also defines keys for the capabilities whose names
-begin with \*(``k\*(''.
-The corresponding keycodes are generated and (depending on previous
-loads of terminal descriptions) may differ from one execution of a
-program to the next.
-The generated keycodes are recognized by the \fB\%keyname\fP function
+e.g.,
+from using the
+.B \-x
+option of \fB\%@TIC@\fP,
+then
+.I \%ncurses
+also defines keys for the capabilities whose names begin with
+\*(``k\*(''.
+The corresponding keycodes are generated and
+(depending on previous loads of terminal descriptions)
+may differ from one execution of a program to the next.
+The generated keycodes are recognized by the \fB\%keyname\fP(3X)
+function
 (which will then return a name beginning with \*(``k\*('' denoting the
 terminfo capability name rather than \*(``K\*('',
-used for \fIcurses\fP key-names).
-On the other hand, an application can use \fB\%define_key\fP to establish
+used for
+.I curses
+key names).
+On the other hand,
+an application can use \fB\%define_key\fP(3X) to establish
 a specific keycode for a given string.
 This makes it possible for an application to check for an extended
 capability's presence with \fB\%tigetstr\fP,
@@ -382,16 +493,22 @@ and reassign the keycode to match its own needs.
 .PP
 Low-level applications can use \fB\%tigetstr\fP to obtain the definition
 of any particular string capability.
-Higher-level applications which use the \fIcurses\fP \fB\%wgetch\fP
-and similar functions to return keycodes rely upon the order in which
-the strings are loaded.
+Higher-level applications which use the
+.I curses
+\fB\%wgetch\fP and similar functions to return keycodes rely upon the
+order in which the strings are loaded.
 If more than one key definition has the same string value,
 then \fB\%wgetch\fP can return only one keycode.
-Most \fIcurses\fP implementations (including \fI\%ncurses\fP)
+Most
+.I curses
+implementations
+(including
+.IR \%ncurses )
 load key definitions in the order
 defined by the array of string capability names.
 The last key to be loaded determines the keycode which will be returned.
-In \fI\%ncurses\fP,
+In
+.I \%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
index 8ef12e442e529004c738a5b5aa8e3002c52c520e..1f2307a163ad165565e8ca941f569e9f72d00aef 100644 (file)
@@ -27,8 +27,8 @@
 .\" authorization.                                                           *
 .\"***************************************************************************
 .\"
-.\" $Id: curs_ins_wch.3x,v 1.24 2023/11/25 11:32:28 tom Exp $
-.TH curs_ins_wch 3X 2023-11-25 "ncurses 6.4" "Library calls"
+.\" $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"
 .ie \n(.g \{\
 .ds `` \(lq
 .ds '' \(rq
 \fB\%mvins_wch\fP,
 \fB\%mvwins_wch\fP,
 \fB\%wins_wch\fP \-
-insert a \fIcurses\fR complex character string in a window
+insert a \fIcurses\fR complex character in a window
 .SH SYNOPSIS
 .nf
-#include <curses.h>
+\fB#include <curses.h>\fP
 .PP
 \fBint ins_wch(const cchar_t *\fIwch\fP);
 \fBint wins_wch(WINDOW *\fIwin\fP, const cchar_t *\fIwch\fP);
-.PP
 \fBint mvins_wch(int \fIy\fP, int \fIx\fP, const cchar_t *\fIwch\fP);
 \fBint mvwins_wch(WINDOW *\fIwin\fP, int \fIy\fP, int \fIx\fP, const cchar_t *\fIwch\fP);
 .fi
 .SH DESCRIPTION
-These routines, insert the complex character \fIwch\fP with rendition
-before the character under the cursor.
-All characters to the right of the cursor are moved one space to the right,
-with the possibility of the rightmost character on the line being lost.
-The insertion operation does not change the cursor position.
-.SH RETURN VALUE
-If successful, these functions return \fBOK\fP.
-If not, they return \fBERR\fP.
+These functions insert the
+.I curses
+complex character
+.I wch
+at the cursor in the specified window
+.I win
+(or
+.BR \%stdscr ).
+The character previously at the cursor and any to its right move one
+cell to the right;
+the rightmost character on the line is discarded.
+The cursor does not advance.
+.SH "RETURN VALUE"
+These functions return \fBOK\fP on success and \fBERR\fP on failure.
+.PP
+Functions taking a
+.I \%WINDOW
+pointer argument fail if the pointer is
+.BR NULL .
 .PP
-Functions with a \*(``mv\*('' prefix first perform a cursor movement using
-\fBwmove\fP, and return an error if the position is outside the window,
-or if the window pointer is null.
+Functions prefixed with \*(``mv\*('' first perform cursor movement using
+\fB\%wmove\fP and fail if the position
+.RI ( y ,
+.IR x )
+is outside the window.
+.SH NOTES
+A terminal's
+.B \%insert_character
+.RB ( ich1 )
+capability
+is not necessarily employed.
+.PP
+\fB\%ins_wch\fP,
+\fB\%mvins_wch\fP,
+and
+\fB\%mvwins_wch\fP
+may be implemented as macros.
 .SH PORTABILITY
-These functions are described in the XSI Curses standard, Issue 4.
-.SH SEE ALSO
+X/Open Curses, Issue 4, describes these functions.
+.PP
+SVr4 describes successful return values only as
+\*(``an integer value other than \fBERR\fP\*(''.
+.SH HISTORY
+SVr4 (1989) implemented these functions under the names
+.BR inswch ,
+.BR winswch ,
+.BR mvinswch ,
+and
+.BR mvwinswch .
+.SH "SEE ALSO"
+\fB\%curs_insch\fP(3X) describes comparable functions in the
+non-wide-character
+.I curses
+configuration.
+.PP
 \fB\%curses\fP(3X),
-\fB\%curs_insch\fP(3X)
+\fB\%terminfo\fP(5)
index 889ea4ac559d4691c2320bf9b2417aebe35c0a11..4be93c6bbdc23fc49311a5f54231919e6fb41c94 100644 (file)
@@ -27,8 +27,8 @@
 .\" authorization.                                                           *
 .\"***************************************************************************
 .\"
-.\" $Id: curs_insch.3x,v 1.34 2023/12/16 21:09:11 tom Exp $
-.TH curs_insch 3X 2023-12-16 "ncurses 6.4" "Library calls"
+.\" $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"
 .ie \n(.g \{\
 .ds `` \(lq
 .ds '' \(rq
 insert a \fIcurses\fR character in a window
 .SH SYNOPSIS
 .nf
-\fB#include <curses.h>
+\fB#include <curses.h>\fP
 .PP
 \fBint insch(chtype \fIch\fP);
 \fBint winsch(WINDOW *\fIwin\fP, chtype \fIch\fP);
-.PP
 \fBint mvinsch(int \fIy\fP, int \fIx\fP, chtype \fIch\fP);
 \fBint mvwinsch(WINDOW *\fIwin\fP, int \fIy\fP, int \fIx\fP, chtype \fIch\fP);
 .fi
 .SH DESCRIPTION
-These routines insert the character \fIch\fP before the character under the
-cursor.
-All characters to the right of the cursor are moved one space to the
-right, with the possibility of the rightmost character on the line being lost.
-The insertion operation does not change the cursor position.
-.SH RETURN VALUE
-These routines return the integer \fBERR\fP upon failure and an \fBOK\fP
-(SVr4 specifies only
-\*(``an integer value other than \fBERR\fP\*('')
-upon successful completion.
+These functions insert the
+.I curses
+character
+.I ch
+at the cursor in the specified window
+.I win
+(or
+.BR \%stdscr ).
+The character previously at the cursor and any to its right move one
+cell to the right;
+the rightmost character on the line is discarded.
+The cursor does not advance.
+.SH "RETURN VALUE"
+These functions return \fBOK\fP on success and \fBERR\fP on failure.
+.PP
+Functions taking a
+.I \%WINDOW
+pointer argument fail if the pointer is
+.BR NULL .
 .PP
-Functions with a \*(``mv\*('' prefix first perform a cursor movement using
-\fBwmove\fP, and return an error if the position is outside the window,
-or if the window pointer is null.
+Functions prefixed with \*(``mv\*('' first perform cursor movement using
+\fB\%wmove\fP and fail if the position
+.RI ( y ,
+.IR x )
+is outside the window.
 .SH NOTES
-These routines do not necessarily imply use of a hardware insert character
-feature.
+A terminal's
+.B \%insert_character
+.RB ( ich1 )
+capability
+is not necessarily employed.
 .PP
-Note that \fBinsch\fP, \fBmvinsch\fP, and \fBmvwinsch\fP may be macros.
+\fB\%insch\fP,
+\fB\%mvinsch\fP,
+and
+\fB\%mvwinsch\fP
+may be implemented as macros.
 .SH PORTABILITY
-These functions are described in the XSI Curses standard, Issue 4.
-.SH SEE ALSO
-\fB\%curses\fP(3X)
+X/Open Curses, Issue 4, describes these functions.
+.PP
+SVr4 describes successful return values only as
+\*(``an integer value other than \fBERR\fP\*(''.
+.SH "SEE ALSO"
+\fB\%curs_ins_wch\fP(3X) describes comparable functions in the
+wide-character
+.I curses
+configuration.
 .PP
-Comparable functions in the wide-character (ncursesw) library are
-described in
-\fB\%curs_ins_wch\fP(3X).
+\fB\%curses\fP(3X),
+\fB\%terminfo\fP(5)
index a89337c2f8f23fd7f3dd50402d6b115e744ae49f..b503991e0026bfc2fda5ce6ed79b039b3cf52792 100644 (file)
 .\" authorization.                                                           *
 .\"***************************************************************************
 .\"
-.\" $Id: curs_legacy.3x,v 1.29 2023/10/21 10:28:36 tom Exp $
-.TH curs_legacy 3X 2023-10-21 "ncurses 6.4" "Library calls"
+.\" $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"
+.ie \n(.g \{\
+.ds `` \(lq
+.ds '' \(rq
+.\}
+.el \{\
+.ie t .ds `` ``
+.el   .ds `` ""
+.ie t .ds '' ''
+.el   .ds '' ""
+.\}
+.
 .de bP
 .ie n  .IP \(bu 4
 .el    .IP \(bu 2
@@ -97,13 +108,23 @@ Except as noted,
 these functions return an integer,
 or \fBERR\fP if the window parameter is null.
 .SH NOTES
-All of these interfaces are provided as macros and functions.
-The macros are suppressed (and only the functions provided)
-when \fB\%NCURSES_OPAQUE\fP is defined.
-The standard forms such as \fB\%getyx\fP must be implemented as macros,
-and (in this implementation) are defined in terms of the functions
-described here,
-to avoid reliance on internal details of the \fB\%WINDOW\fP structure.
+All of these interfaces are implemented as macros and functions.
+The macros are suppressed
+(and only the functions provided)
+in an \*(``opaque\*(''
+.I \%ncurses
+build,
+which defines the preprocessor symbol
+.BR \%NCURSES_OPAQUE .
+See section \*(``ALTERNATE CONFIGURATIONS\*('' in \fB\%ncurses\fP(3X).
+.PP
+The standard forms such as \fB\%getyx\fP
+.I must
+be implemented as macros,
+and
+(in this implementation)
+are defined in terms of the functions described here,
+to avoid reliance on internal details of the \fI\%WINDOW\fP structure.
 .SH PORTABILITY
 These functions were supported on Version 7, BSD or System V implementations.
 None of those implementations checked the window parameter.
index 77d05ac344a767bf9ceafef65ccf671fc1dc8156..0f9895029fdaaa2f20823c3af760c4ea6cd84a45 100644 (file)
@@ -27,8 +27,8 @@
 .\" authorization.                                                           *
 .\"***************************************************************************
 .\"
-.\" $Id: curs_memleaks.3x,v 1.32 2023/12/16 20:32:22 tom Exp $
-.TH curs_memleaks 3X 2023-12-16 "ncurses 6.4" "Library calls"
+.\" $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"
 .ie \n(.g \{\
 .ds `` \(lq
 .ds '' \(rq
@@ -114,7 +114,7 @@ In any implementation of X/Open Curses, an application can free part
 of the memory allocated by curses:
 .bP
 The portable part of \fB\%exit_curses\fP can be freed using \fB\%delscreen\fP,
-passing the \fBSCREEN*\fP pointer returned by \fB\%newterm\fP.
+passing the \fISCREEN\fP pointer returned by \fB\%newterm\fP.
 .IP
 In some implementations, there is a global variable \fBsp\fP
 which could be used, e.g., if the screen were only initialized
index 64c8e0f535e8045358bc85339fa14c962798ada7..b7a2d8291d249103ba5fa38dbfeab2e38aebf56a 100644 (file)
@@ -28,8 +28,8 @@
 .\" authorization.                                                           *
 .\"***************************************************************************
 .\"
-.\" $Id: curs_mouse.3x,v 1.82 2023/12/16 21:08:16 tom Exp $
-.TH curs_mouse 3X 2023-12-16 "ncurses 6.4" "Library calls"
+.\" $Id: curs_mouse.3x,v 1.83 2023/12/23 20:37:56 tom Exp $
+.TH curs_mouse 3X 2023-12-23 "ncurses 6.4" "Library calls"
 .ie \n(.g \{\
 .ds `` \(lq
 .ds '' \(rq
@@ -106,7 +106,7 @@ current screen's mouse event mask.
 As a side effect, setting a zero mousemask may turn off the mouse pointer;
 setting a nonzero mask may turn it on.
 Whether this happens is device-dependent.
-.SS Mouse events
+.SS "Mouse Events"
 Here are the mouse event type masks which may be defined:
 .PP
 .TS
@@ -261,29 +261,14 @@ returns the previous interval value, unless
 the terminal was not initialized.
 In that case, it returns the maximum interval value (166).
 .SH NOTES
-The feature macro \fB\%NCURSES_MOUSE_VERSION\fP is provided so the preprocessor
-can be used to test whether these features are present.
-If the interface is changed, the value of \fB\%NCURSES_MOUSE_VERSION\fP will be
-incremented.
-These values for \fB\%NCURSES_MOUSE_VERSION\fP may be
-specified when configuring \fI\%ncurses\fP:
-.RS 3
-.TP 3
-1
-has definitions for reserved events.
-The mask uses 28 bits.
-.TP 3
-2
-adds definitions for button 5,
-removes the definitions for reserved events.
-The mask uses 29 bits.
-.RE
-.PP
 The order of the \fB\%MEVENT\fP structure members is not guaranteed.
 Additional fields may be added to the structure in the future.
 .PP
-Under \fI\%ncurses\fP, these calls are implemented using either
-xterm's built-in mouse-tracking API or
+Under
+.I \%ncurses,
+these calls are implemented using either
+.IR \%xterm 's
+built-in mouse-tracking API or
 platform-specific drivers including
 .RS 3
 .bP
@@ -299,17 +284,25 @@ mouse events will not be visible to
 \fI\%ncurses\fP (and the \fB\%mousemask\fP function will always
 return \fB0\fP).
 .PP
-If the terminfo entry contains a \fBXM\fP string,
-this is used in the xterm mouse driver to control the
+If the
+.I \%term\%info
+entry contains a \fBXM\fP string,
+this is used in the
+.I \%xterm
+mouse driver to control the
 way the terminal is initialized for mouse operation.
 The default, if \fBXM\fP is not found,
-corresponds to private mode 1000 of xterm:
+corresponds to private mode 1000 of
+.I \%xterm:
 .PP
 .RS 3
 \eE[?1000%?%p1%{1}%=%th%el%;
 .RE
 .PP
-The mouse driver also recognizes a newer xterm private mode 1006, e.g.,
+The mouse driver also recognizes a newer
+.I \%xterm
+private mode 1006,
+e.g.,
 .PP
 .RS 3
 \eE[?1006;1000%?%p1%{1}%=%th%el%;
@@ -323,19 +316,58 @@ for use with touch screens (which may be pressure-sensitive) or with
 The \fB\%ALL_MOUSE_EVENTS\fP class does not
 include \fB\%REPORT_MOUSE_POSITION\fP.
 They are distinct.
-For example, in xterm,
+For example,
+in
+.I \%xterm,
 wheel/scrolling mice send position reports as a sequence of
 presses of buttons 4 or 5 without matching button-releases.
+.SH EXTENSIONS
+These functions were designed for
+\fB\%ncurses\fP(3X),
+and are not found in SVr4
+.IR curses ,
+4.4BSD
+.IR curses ,
+or any other previous curses implementation.
+(SVr4
+.I curses
+did have a
+.I \%getmouse
+function,
+which took no argument and returned a different type.)
 .SH PORTABILITY
-These calls were designed for \fI\%ncurses\fP,
-and are not found in SVr4 \fIcurses\fP,
-4.4BSD \fIcurses\fP, or any other previous version of \fIcurses\fP.
+Applications employing the
+.I \%ncurses
+mouse extension should condition its use on the visibility of the
+.B \%NCURSES_MOUSE_VERSION
+preprocessor macro.
+When the interface changes,
+the macro's value increments.
+Multiple versions are available when
+.I \%ncurses
+is configured;
+see section \*(``ALTERNATE CONFIGURATIONS\*('' of \fB\%ncurses\fP(3X).
+The following values may be specified.
+.RS 3
+.TP 3
+1
+has definitions for reserved events.
+The mask uses 28 bits.
+.TP 3
+2
+adds definitions for button 5,
+removes the definitions for reserved events.
+The mask uses 29 bits.
+.RE
 .PP
-SVr4 \fIcurses\fP had support for the mouse in a variant of \fBxterm\fP(1).
-It is mentioned in a few places, but with no supporting documentation:
+SVr4
+.I curses
+had support for the mouse in a variant of \fI\%xterm\fP(1).
+It is mentioned in a few places,
+with little supporting documentation.
 .bP
-the \*(``libcurses\*('' manual page lists functions for this feature
-which are prototyped in \fBcurses.h\fP:
+Its \*(``libcurses\*('' manual page lists functions for this feature
+prototyped in \fI\%curses.h\fP.
 .PP
 .RS 8
 .EX
@@ -349,7 +381,7 @@ extern unsigned long getmouse(void), getbmap(void);
 .EE
 .RE
 .bP
-the \*(``terminfo\*('' manual page lists capabilities for the feature
+Its \*(``terminfo\*('' manual page lists capabilities for the feature.
 .PP
 .RS 8
 .EX
@@ -361,56 +393,81 @@ req_mouse_pos     reqmp   RQ       Request mouse position report
 .EE
 .RE
 .bP
-the interface made assumptions (as does \fI\%ncurses\fP)
-about the escape sequences
-sent to and received from the terminal.
+The interface made assumptions
+(as does
+.IR \%ncurses )
+about the escape sequences sent to and received from the terminal.
 .IP
-For instance
-the SVr4 \fIcurses\fP library used the \fB\%get_mouse\fP capability to tell the
-terminal which mouse button events it should send,
+For instance,
+the SVr4
+.I curses
+library used the \fB\%get_mouse\fP capability to tell the terminal which
+mouse button events it should send,
 passing the mouse-button bit mask to the terminal.
 Also, it could ask the terminal
 where the mouse was using the \fB\%req_mouse_pos\fP capability.
 .IP
-Those features required a terminal which had been modified
-to work with \fIcurses\fP.
-They were not part of the X Consortium's xterm.
+Those features required a terminal program that had been modified
+to work with SVr4
+.I curses.
+They were not part of the X Consortium's
+.I \%xterm.
 .PP
-When developing the xterm mouse support for \fI\%ncurses\fP in September
-1995,
+When developing the
+.I \%xterm
+mouse support for
+.I \%ncurses
+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
-PDCurses 2.3 using the SVr4 interface.
-PDCurses, however, does not use video terminals,
+.I \%PDCurses
+2.3 using the SVr4 interface.
+.I \%PDCurses,
+however,
+does not use video terminals,
 making it unnecessary to be concerned about compatibility with the
 escape sequences.
 .SH BUGS
-Mouse events from \fI\%xterm\fP are \fInot\fP ignored in cooked mode if
-they have been enabled by \fB\%mousemask\fP.
+Mouse events from
+.I \%xterm
+are
+.I not
+ignored in cooked mode if they have been enabled by \fB\%mousemask\fP.
 Instead,
-the \fI\%xterm\fP mouse report sequence appears in the string read.
+the
+.I \%xterm
+mouse report sequence appears in the string read.
 .PP
-Mouse event reports from \fI\%xterm\fP are not detected correctly in
-a window with keypad application mode disabled,
+Mouse event reports from
+.I \%xterm
+are not detected correctly in a window with keypad application mode
+disabled,
 since they are interpreted as a variety of function key.
-Set the the terminal's \fI\%terminfo\fP capability \fB\%kmous\fP to
-\*(``\eE[M\*(''
-(the beginning of the response from \fI\%xterm\fP for mouse clicks).
+Set the terminal's
+.I \%term\%info
+capability \fB\%kmous\fP to \*(``\eE[M\*(''
+(the beginning of the response from
+.I \%xterm
+for mouse clicks).
 Other values of \fB\%kmous\fP are permitted under the same assumption,
 that is,
 the report begins with that sequence.
 .PP
 Because there are no standard response sequences that serve to identify
-terminals supporting the \fI\%xterm\fP mouse protocol,
-\fI\%ncurses\fP assumes that if \fB\%kmous\fP is defined in the terminal
-description,
+terminals supporting the
+.I \%xterm
+mouse protocol,
+.I \%ncurses
+assumes that if \fB\%kmous\fP is defined in the terminal description,
 or if the terminal type's primary name or aliases contain the string
 \%\*(``xterm\*('',
 then the terminal may send mouse events.
 The \fB\%kmous\fP capability is checked first,
-allowing use of newer \fI\%xterm\fP mouse protocols such as its private
-mode 1006.
+allowing use of newer
+.I \%xterm
+mouse protocols,
+such as its private mode 1006.
 .SH SEE ALSO
 \fB\%curses\fP(3X),
 \fB\%curs_inopts\fP(3X),
index 16fac2dd6888eef9df1d6410f7d1e05cfd689df0..d98104a202b2bb2f83c57722471dc3a0a061048e 100644 (file)
@@ -27,8 +27,8 @@
 .\" authorization.                                                           *
 .\"***************************************************************************
 .\"
-.\" $Id: curs_print.3x,v 1.35 2023/12/16 20:32:22 tom Exp $
-.TH curs_print 3X 2023-12-16 "ncurses 6.4" "Library calls"
+.\" $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"
 .SH NAME
 \fB\%mcprint\fP \-
 write binary data to printer using \fIterminfo\fR capabilities
@@ -66,13 +66,20 @@ Couldn't allocate sufficient memory to buffer the printer write.
 .PP
 When \fB\%mcprint\fP succeeds, it returns the number of characters actually
 sent to the printer.
+.SH EXTENSIONS
+\fB\%mcprint\fP was designed for
+\fB\%ncurses\fP(3X),
+and was not found in SVr4
+.IR curses ,
+4.4BSD
+.IR curses ,
+or any other previous curses implementation.
 .SH PORTABILITY
-The \fB\%mcprint\fP call was designed for \fI\%ncurses\fP,
-and is not found in SVr4 \fIcurses\fP,
-4.4BSD \fIcurses\fP,
-or any other previous version of \fIcurses\fP.
-It is recommended that any code depending on \fI\%ncurses\fP extensions
-be conditioned using \fB\%NCURSES_VERSION\fP.
+Applications employing this
+.I \%ncurses
+extension should condition its use on the visibility of the
+.B \%NCURSES_VERSION
+preprocessor macro.
 .SH BUGS
 Padding in the
 \fBmc5p\fP,
index ea3a6b5857ab20059842c83aa0bc16392d6831b3..15dd10b53f4dcab2675f4b49b65c2bd6bce0db4e 100644 (file)
@@ -27,8 +27,8 @@
 .\" authorization.                                                           *
 .\"***************************************************************************
 .\"
-.\" $Id: curs_printw.3x,v 1.45 2023/12/18 00:03:28 tom Exp $
-.TH curs_printw 3X 2023-12-17 "ncurses 6.4" "Library calls"
+.\" $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"
 .ie \n(.g \{\
 .ds `` \(lq
 .ds '' \(rq
@@ -132,7 +132,7 @@ and specified \fB\%vw_printw\fP using the \fI\%stdarg.h\fP interface.
 .bP
 X/Open Curses, Issue 5, Draft 2
 (December 2007) marked \fBvwprintw\fP (along with
-\fBvwscanw\fP and the termcap interface) as withdrawn.
+\fBvwscanw\fP and the \fItermcap\fP interface) as withdrawn.
 After incorporating review comments,
 this became
 X/Open Curses, Issue 7 (2009).
index 333263d2cbd9b077cbd92d6adda5ee7abda4f285..cf1977acb67dd6edf0987a3526b72a81031ae62b 100644 (file)
@@ -27,8 +27,8 @@
 .\" authorization.                                                           *
 .\"***************************************************************************
 .\"
-.\" $Id: curs_scanw.3x,v 1.44 2023/12/17 22:50:40 tom Exp $
-.TH curs_scanw 3X 2023-12-17 "ncurses 6.4" "Library calls"
+.\" $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"
 .ie \n(.g \{\
 .ds `` \(lq
 .ds '' \(rq
@@ -140,7 +140,7 @@ and specified \fB\%vw_scanw\fP using the \fI\%stdarg.h\fP interface.
 .bP
 X/Open Curses, Issue 5, Draft 2
 (December 2007) marked \fB\%vwscanw\fP (along with
-\fB\%vwscanw\fP and the termcap interface) as withdrawn.
+\fB\%vwscanw\fP and the \fItermcap\fP interface) as withdrawn.
 After incorporating review comments,
 this became
 X/Open Curses, Issue 7 (2009).
@@ -220,10 +220,10 @@ SVr3 (1987) added
 \fB\%mvwscanw\fP, stating
 .RS
 .PP
-These routines correspond to \fIscanf\fP(3S),
+\*(``[t]hese routines correspond to \fIscanf\fP(3S),
 as do their arguments and return values.
 \fB\%wgetstr\fP() is called on the window,
-and the resulting line is used as input for the scan.
+and the resulting line is used as input for the scan.\*(''
 .RE
 .PP
 SVr3 also implemented \fB\%vwscanw\fP,
index 730ce37c6df981e1b5d2e1aff9d25197933fc74d..7f4be40179b12ef1287011fad3f967ed6e44c9eb 100644 (file)
@@ -27,8 +27,8 @@
 .\" authorization.                                                           *
 .\"***************************************************************************
 .\"
-.\" $Id: curs_sp_funcs.3x,v 1.45 2023/12/16 20:32:22 tom Exp $
-.TH curs_sp_funcs 3X 2023-12-16 "ncurses 6.4" "Library calls"
+.\" $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"
 .ie \n(.g \{\
 .ds `` \(lq
 .ds '' \(rq
@@ -215,13 +215,13 @@ This implementation can be configured to provide a set of functions which
 improve the ability to manage multiple screens.
 This feature can be added to any of the configurations supported by
 \fI\%ncurses\fP;
-it adds new entrypoints
+it adds new symbols
 without changing the meaning of any of the existing ones.
 .\" ***************************************************************************
-.SS IMPROVED FUNCTIONS
+.SS "Improved Functions"
 Most of the functions are new versions of existing functions.
 A parameter is added at the front of the parameter list.
-It is a SCREEN pointer.
+It is a \fISCREEN\fP pointer.
 .PP
 The existing functions all use the current screen,
 which is a static variable.
@@ -229,7 +229,7 @@ The extended functions use the specified screen,
 thereby reducing the number of variables which must be modified
 to update multiple screens.
 .\" ***************************************************************************
-.SS NEW FUNCTIONS
+.SS "New Functions"
 Here are the new functions:
 .TP 5
 ceiling_panel
@@ -245,8 +245,8 @@ With the screen-pointer extension,
 there are situations where it must create a current screen before
 the unextended library does.
 The \fBnew_prescr\fP function is used internally to handle these cases.
-It is also provided as an entrypoint to allow applications to customize
-the library initialization.
+It is also provided to allow applications to customize library
+initialization.
 .\" ***************************************************************************
 .SH NOTES
 This extension introduces some new names:
index 657c833557f9f2e696d0bce876811734ec004828..464209f95f465345ecc1dd9ed8d6c3ef6ddf227c 100644 (file)
@@ -27,8 +27,8 @@
 .\" authorization.                                                           *
 .\"***************************************************************************
 .\"
-.\" $Id: curs_termcap.3x,v 1.76 2023/12/18 00:22:30 tom Exp $
-.TH curs_termcap 3X 2023-12-17 "ncurses 6.4" "Library calls"
+.\" $Id: curs_termcap.3x,v 1.80 2023/12/23 20:19:05 tom Exp $
+.TH curs_termcap 3X 2023-12-23 "ncurses 6.4" "Library calls"
 .ie \n(.g \{\
 .ds `` \(lq
 .ds '' \(rq
@@ -87,12 +87,12 @@ entries for which a \fI\%term\%info\fP entry has been compiled.
 \fB\%tgetent\fP loads the terminal database entry for \fIname\fP;
 see \fBterm\fP(7).
 This must be done before calling any of the other functions.
-It returns:
+It returns
 .RS 3
-.TP 4
+.TP 5 \" "-1" + 2n + adjust for PDF
 1
 on success,
-.TP 4
+.TP
 0
 if there is no such entry
 (or if the matching entry describes a generic terminal,
@@ -100,7 +100,7 @@ having too little information for
 .I curses
 applications to run),
 and
-.TP 4
+.TP
 \-1
 if the \fI\%term\%info\fP database could not be found.
 .RE
@@ -120,9 +120,9 @@ which is not the same thing.
 .bP
 The meanings of the return values differ.
 The BSD \fItermcap\fP library does not check whether the terminal type
-description is marked with the
-.B gn
-.RB ( \%generic )
+description includes the
+.B \%generic
+.RB ( gn )
 capability,
 nor whether the terminal type description supports an addressable
 cursor,
@@ -189,13 +189,13 @@ Doing so reveals a quirk in \fB\%tgoto\fP:
 most hardware terminals use cursor addressing with \fIrow\fP first,
 but the original developers of the \fItermcap\fP interface chose to
 put the \fIcol\fP (column) parameter first.
-The \fB\%tgoto\fP function swaps the order of parameters.
+The \fB\%tgoto\fP function swaps the order of its parameters.
 It does this even for calls requiring only a single parameter.
 In that case,
 the first parameter is merely a placeholder.
 .bP
 Normally the \fI\%ncurses\fP library is compiled without
-full \fI\%term\%cap\fP support.
+full \fI\%termcap\fP support.
 In that case,
 \fB\%tgoto\fP uses an internal version of \fB\%tparm\fP(3X)
 (a more capable function).
@@ -214,7 +214,7 @@ availability.
 .PP
 \fB\%tputs\fP is described in \fB\%curs_terminfo\fP(3X).
 It can retrieve capabilities by either \fItermcap\fP or
-\fI\%term\%info\fP name.
+\fI\%term\%info\fP code.
 .SS "Global Variables"
 The variables
 \fBPC\fP,
@@ -249,9 +249,8 @@ del_curterm(cur_term);
 to free this memory,
 but there is an additional complication with \fI\%ncurses\fP.
 It uses a fixed-size pool of storage locations,
-one per value of the \fITERM\fP environment variable when
-\fB\%tgetent\fP is called.
-The \fBscreen\fP(1) program relies upon this arrangement to improve its
+one per value of the terminal name parameter given to \fB\%tgetent\fP.
+The \fIscreen\fP(1) program relies upon this arrangement to improve its
 performance.
 .PP
 An application that uses only the \fItermcap\fP functions,
@@ -308,17 +307,16 @@ They should not be used in new programs.
 .SS Standards
 .bP
 X/Open Curses, Issue 4, Version 2 (1996),
-describes these functions.
-However,
-they are marked
+describes these functions,
+marking them as
 \*(``TO BE WITHDRAWN\*(''.
 .bP
-X/Open Curses, Issue 7 (2009) marked the \fItermcap\fP interface
+X/Open Curses, Issue 7 (2009) marks the \fItermcap\fP interface
 (along with \fB\%vwprintw\fP and \fB\%vwscanw\fP) as withdrawn.
 .PP
 Neither X/Open Curses nor the SVr4 man pages documented the return
 values of \fB\%tgetent\fP correctly,
-though all three were in fact returned ever since SVr1.
+though all three shown here were in fact returned ever since SVr1.
 In particular,
 an omission in the X/Open Curses specification has been misinterpreted
 to mean that \fB\%tgetent\fP returns \fBOK\fP or \fBERR\fP.
@@ -411,20 +409,20 @@ The library remained much the same though 4.3BSD
 (June 1986).
 4.4BSD-Lite
 (June 1994)
-refactored it
+refactored it,
 .\" Observe the `tncktc()`, `tnamatch()`, `tskip()`, and `tdecode()`
 .\" entry points disappearing from termcap.c.
-but left the API unchanged.
+leaving the API unchanged.
 .PP
-Function prototypes were a feature of the forthcoming ANSI C (1989).
-Thus the library provided no header file declaring them.
+Function prototypes were a feature of ANSI C (1989).
+Thus the library itself provided no header file declaring them.
 Nevertheless,
 the BSD sources included two different \fI\%termcap.h\fP header files
 over time.
 .bP
 One was used internally by \fBjove\fP(1) from 4.3BSD onward.
 .\" 2BSD became a branch retaining support for non-virtual memory
-.\" systems (like the PDP-11) whereas most BSD development focused on
+.\" systems (such as the PDP-11) whereas most BSD development focused on
 .\" the VAX and other VM-enabled systems starting with 3BSD.
 .\"
 .\" This man page previously located a termcap.h in 2BSD, but that may
@@ -461,8 +459,8 @@ The prototype for \fB\%tputs\fP also differed,
 but in that instance,
 it was \fIlibedit\fP that differed from BSD \fItermcap\fP.
 .PP
-GNU \fItermcap\fP 1.3 was bundled with \fIbash\fP in mid-1993 to support
-the \fBreadline\fP(3) library.
+GNU \fItermcap\fP 1.3 was bundled with \fIbash\fP(1) in mid-1993 to
+support the \fI\%readline\fP(3) library.
 .PP
 \fI\%ncurses\fP 1.8.1
 (November 1993)
@@ -486,8 +484,10 @@ Any two of the four implementations thus differ,
 and programs that intend to work with all \fItermcap\fP library
 interfaces must account for that fact.
 .SH BUGS
-If you call \fB\%tgetstr\fP to fetch \fB\%ca\fP or any other
-parameterized string capability,
+If you call \fB\%tgetstr\fP to fetch
+.B \%column_address
+.RB ( ch )
+or any other parameterized string capability,
 be aware that it is returned in \fI\%term\%info\fP notation,
 not the older and not-quite-compatible \fItermcap\fP notation.
 This does not cause problems if all you do with it is call \fB\%tgoto\fP
@@ -521,11 +521,16 @@ looking for digits at the beginning of the string.
 \fB\%tputs("50")\fP in a \fItermcap\fP system may busy-wait for 50
 milliseconds rather than transmitting \*(``50\*(''.
 .PP
-\fItermcap\fP has nothing analogous to \fI\%term\%info\fP's \fBsgr\fP
-string.
+\fItermcap\fP has nothing analogous to \fI\%term\%info\fP's
+.B \%set_attributes
+.RB ( sgr )
+capability.
 One consequence is that \fItermcap\fP applications assume that
 .RB \*(`` me \*(''
-(equivalent to \fI\%term\%info\fP's \fBsgr0\fP capability)
+(equivalent to \fI\%term\%info\fP's
+.B \%exit_attribute_mode
+.RB ( sgr0 )
+capability)
 does not reset the alternate character set.
 \fI\%ncurses\fP checks for,
 and modifies the data shared with,
index aeee9db8195a6bd9db38380f3b391670cfe0a5a6..88f5b97f1a1c8a4adcf0b90d39e640f8a37c0728 100644 (file)
@@ -28,8 +28,8 @@
 .\" authorization.                                                           *
 .\"***************************************************************************
 .\"
-.\" $Id: curs_terminfo.3x,v 1.123 2023/12/16 21:11:53 tom Exp $
-.TH curs_terminfo 3X 2023-12-16 "ncurses 6.4" "Library calls"
+.\" $Id: curs_terminfo.3x,v 1.124 2023/12/23 17:34:39 tom Exp $
+.TH curs_terminfo 3X 2023-12-23 "ncurses 6.4" "Library calls"
 .ie \n(.g \{\
 .ds `` \(lq
 .ds '' \(rq
 \fI/* extensions */
 \fBchar *tiparm_s(int \fIexpected\fP, int \fImask\fP, const char *\fIstr\fP, ...);
 \fBint tiscan_s(int *\fIexpected\fP, int *\fImask\fP, const char *\fIstr\fP);
+.PP
+\fI/* deprecated */
+\fBint setterm(const char *\fIterm\fP);
 .fi
 .SH DESCRIPTION
 These low-level routines must be called by programs that have to deal
@@ -244,7 +247,7 @@ which uses all the defaults and sends the output to \fBstdout\fP.
 .\" ***************************************************************************
 .SS "The Terminal State"
 The \fBsetupterm\fP routine stores its information about the terminal
-in a \fBTERMINAL\fP structure pointed to by the global variable \fBcur_term\fP.
+in a \fI\%TERMINAL\fP structure pointed to by the global variable \fBcur_term\fP.
 If it detects an error,
 or decides that the terminal is unsuitable (hardcopy or generic),
 it discards this information,
@@ -339,14 +342,14 @@ which happens to share this function name with the \fIterminfo\fP interface.
 \fIaffcnt\fP is the number of lines affected, or 1 if
 not applicable.
 .bP
-\fIputc\fP is a \fBputchar\fP-like routine to which
+\fIputc\fP is a \fI\%putchar\fP-like function to which
 the characters are passed, one at a time.
 .IP
 If \fBtputs\fP processes a time-delay,
 it uses the \fBdelay_output\fP(3X) function,
 routing any resulting padding characters through this function.
 .PP
-The \fBputp\fR routine calls \fBtputs(\fIstr\fB, 1, putchar)\fR.
+The \fBputp\fR routine calls \fBtputs(\fIstr\fB, 1, \%putchar)\fR.
 The output of \fBputp\fP always goes to \fBstdout\fP, rather than
 the \fIfiledes\fP specified in \fBsetupterm\fP.
 .PP
@@ -354,10 +357,10 @@ The \fBvidputs\fP routine displays the string on the terminal in the
 video attribute mode \fIattrs\fP, which is any combination of the
 attributes listed in \fBcurses\fP(3X).
 The characters are passed to
-the \fBputchar\fP-like routine \fIputc\fP.
+the \fI\%putchar\fP-like function \fIputc\fP.
 .PP
 The \fBvidattr\fP routine is like the \fBvidputs\fP routine, except
-that it outputs through \fBputchar\fP.
+that it outputs through \fI\%putchar\fP.
 .PP
 The \fBvid_attr\fP and \fBvid_puts\fP routines correspond
 to vidattr and vidputs, respectively.
@@ -464,7 +467,7 @@ See \fBterminfo\fP(5) for details.
 to improve performance,
 \fI\%ncurses\fP 6.3 caches the result of analyzing terminfo
 strings for their parameter types.
-That is stored as a binary tree referenced from the \fBTERMINAL\fP structure.
+That is stored as a binary tree referenced from the \fI\%TERMINAL\fP structure.
 .PP
 The higher-level \fBinitscr\fP and \fBnewterm\fP functions use \fBsetupterm\fP.
 Normally they do not free this memory, but it is possible to do that using
@@ -512,42 +515,75 @@ of the output function \fIputc\fP.
 .RE
 .\" ***************************************************************************
 .SH NOTES
-X/Open notes that \fBvidattr\fP and \fBvidputs\fP may be macros.
+.\" See X/Open Curses Issue 4, Version 2, pp. 227-234.
+.\" See X/Open Curses Issue 7, pp. 311-318.
+According to X/Open Curses,
+any of the \fIenhanced curses\fP functions may be implemented as macros.
+The term \*(``enhanced\*('' refers to features not found in SVr4 curses.
+.PP
+\fB\%ncurses\fP uses macros
+.bP
+for functions which return values via their parameters,
+.bP
+to support obsolete features,
+.bP
+to reuse functions,
+e.g., those that move the cursor before another operation, and
+.bP
+a few special cases.
+.PP
+The \fB\%vid_puts\fP function in \fB\%ncurses\fP is a special case.
+It was originally implemented based on a draft of X/Open Curses,
+as a macro,
+before other parts of the \fB\%ncurses\fP wide-character API were developed.
 .\" ***************************************************************************
 .SH EXTENSIONS
 The functions marked as extensions were designed for
 \fB\%ncurses\fP(3X),
-and are not found in SVr4 curses, 4.4BSD curses,
-or any other previous version of curses.
+and are not found in SVr4
+.IR curses ,
+4.4BSD
+.IR curses ,
+or any other previous curses implementation.
 .\" ***************************************************************************
 .SH PORTABILITY
-The function \fBsetterm\fP is not described by X/Open and must
-be considered non-portable.
+\fBsetterm\fP is not described by X/Open and must be considered
+non-portable.
 All other functions are as described by X/Open.
 .SS "Compatibility Macros"
 This implementation provides a few macros for compatibility with systems
-before SVr4 (see \fIHISTORY\fP).
-Those include
-\fBcrmode\fP,
-\fBfixterm\fP,
-\fBgettmode\fP,
-\fBnocrmode\fP,
-\fBresetterm\fP,
-\fBsaveterm\fP, and
-\fBsetterm\fP.
-.PP
-In SVr4, those are found in \fB<curses.h>\fP,
-but except for \fBsetterm\fP, are likewise macros.
-The one function, \fBsetterm\fP, is mentioned in the manual page.
-The manual page notes that the \fBsetterm\fP routine
-was replaced by \fB\%setupterm\fP, stating that the call
-.IP
-\fBsetupterm(\fIterm\fB, 1, (int *)0)\fR
-.PP
+before SVr4
+(see section \*(``HISTORY\*('' below).
+They include
+\fB\%Bcrmode\fP,
+\fB\%Bfixterm\fP,
+\fB\%Bgettmode\fP,
+\fB\%Bnocrmode\fP,
+\fB\%Bresetterm\fP,
+\fB\%Bsaveterm\fP, and
+\fB\%Bsetterm\fP.
+.PP
+In SVr4,
+these are found in
+.IR \%curses.h ,
+but except for \fB\%setterm\fP,
+are likewise macros.
+The one function,
+\fB\%setterm\fP,
+is mentioned in the manual page.
+It further notes that \fB\%setterm\fP was replaced by \fB\%setupterm\fP,
+stating that the call
+.RS
+.EX
+setupterm(\fIterm\fB, 1, (int *)0)\fP
+.EE
+.RE
 provides the same functionality as \fBsetterm(\fIterm\fB)\fR,
-and is not recommended for new programs.
-This implementation provides each of those symbols
-as macros for BSD compatibility.
+discouraging the latter for new programs.
+.I \%ncurses
+implements each of these symbols as macros for BSD
+.I curses
+compatibility.
 .SS "Legacy Data"
 \fBsetupterm\fP copies the terminal name to the array \fBttytype\fP.
 This is not part of X/Open Curses, but is assumed by some applications.
@@ -664,7 +700,7 @@ X/Open notes that after calling \fBmvcur\fP, the curses state may not match the
 actual terminal state, and that an application should touch and refresh
 the window before resuming normal curses calls.
 Both \fI\%ncurses\fP and System V Release 4 curses implement \fBmvcur\fP
-using the SCREEN data allocated in either \fBinitscr\fP or
+using the \fISCREEN\fP data allocated in either \fBinitscr\fP or
 \fBnewterm\fP.
 So though it is documented as a terminfo function,
 \fBmvcur\fP is really a curses function which is not well specified.
@@ -686,7 +722,8 @@ fixterm     restore tty to \*(``in curses\*('' state
 gettmode       establish current tty modes
 mvcur  low level cursor motion
 putp   T{
-utility function that uses \fBtputs\fP to send characters via \fBputchar\fP.
+utility function that uses \fBtputs\fP to send characters via
+\fI\%putchar\fP.
 T}
 resetterm      set tty modes to \*(``out of curses\*('' state
 resetty        reset tty flags to stored value
@@ -696,7 +733,7 @@ setterm     establish terminal with given type
 setupterm      establish terminal with given type
 tparm  instantiate a string expression with parameters
 tputs  apply padding information to a string
-vidattr        like \fBvidputs\fP, but outputs through \fBputchar\fP
+vidattr        like \fBvidputs\fP, but outputs through \fIputchar\fP
 vidputs        T{
 output a string to put terminal in a specified video attribute mode
 T}
@@ -722,7 +759,7 @@ T}
 .TE
 .PP
 Early terminfo programs obtained capability values from the
-\fBTERMINAL\fP structure initialized by \fBsetupterm\fP.
+\fI\%TERMINAL\fP structure initialized by \fBsetupterm\fP.
 .PP
 SVr3 extended terminfo by adding functions to retrieve capability values
 (like the termcap interface),
@@ -766,7 +803,7 @@ SVr3 introduced the functions for switching between terminal
 descriptions, e.g., \fBset_curterm\fP.
 Some of that was incremental improvements to the SVr2 library:
 .bP
-The \fBTERMINAL\fP type definition was introduced in SVr3.01,
+The \fI\%TERMINAL\fP type definition was introduced in SVr3.01,
 for the \fBterm\fP structure provided in SVr2.
 .bP
 The various global variables such as \fBboolnames\fP were mentioned
index c0675b16ce1b4c4bdf135f965b9a0523b202c759..1e4254406a8fde0583747500de606ed8ae325ae3 100644 (file)
@@ -28,8 +28,8 @@
 .\" authorization.                                                           *
 .\"***************************************************************************
 .\"
-.\" $Id: curs_threads.3x,v 1.50 2023/12/16 20:32:22 tom Exp $
-.TH curs_threads 3X 2023-12-16 "ncurses 6.4" "Library calls"
+.\" $Id: curs_threads.3x,v 1.51 2023/12/23 16:22:25 tom Exp $
+.TH curs_threads 3X 2023-12-23 "ncurses 6.4" "Library calls"
 .ie \n(.g \{\
 .ds `` \(lq
 .ds '' \(rq
@@ -122,7 +122,7 @@ Other global variables are not modifiable.
 .PP
 The \fBuse_window\fP and \fBuse_screen\fP functions provide
 coarse-grained mutexes for their respective \fI\%WINDOW\fP and
-\fI\%SCREEN\fP parameters;
+\fISCREEN\fP parameters;
 they call a user-supplied function,
 pass it a \fIdata\fP parameter,
 and return the value from the user-supplied function to the application.
index 09e787780fb4849da67e4e1cb3c97fd880841bc4..2a55275c2e46045a7140cd4802d65284553f23b1 100644 (file)
@@ -27,8 +27,8 @@
 .\" authorization.                                                           *
 .\"***************************************************************************
 .\"
-.\" $Id: curs_trace.3x,v 1.41 2023/12/16 20:50:14 tom Exp $
-.TH curs_trace 3X 2023-12-16 "ncurses 6.4" "Library calls"
+.\" $Id: curs_trace.3x,v 1.42 2023/12/23 16:08:25 tom Exp $
+.TH curs_trace 3X 2023-12-23 "ncurses 6.4" "Library calls"
 .ie \n(.g \{\
 .ds `` \(lq
 .ds '' \(rq
@@ -127,7 +127,7 @@ When the trace mask is nonzero,
 If the file already exists, no tracing is done.
 .bP
 If tracing is not available, \fBcurses_trace\fP returns zero (0).
-.SS Trace Parameter
+.SS "Trace Parameter"
 The trace parameter is formed by OR'ing
 values from the list of \fBTRACE_\fIxxx\fR definitions in \fB<curses.h>\fR.
 These include:
@@ -211,7 +211,7 @@ use_env,
 use_extended_names,
 use_tioctl
 .RE
-.SS Command-line Utilities
+.SS "Command-line Utilities"
 The command-line utilities such as \fBtic\fP(1) provide a verbose option
 which extends the set of messages written using the \fBcurses_trace\fP function.
 Both of these (\fB\-v\fP and \fBcurses_trace\fP)
index d38078dc0e991f4327efe6e009fa7258ee592619..e5f96738e90b363032b7ed557428a6ce4d0355ca 100644 (file)
@@ -28,8 +28,8 @@
 .\" authorization.                                                           *
 .\"***************************************************************************
 .\"
-.\" $Id: curs_util.3x,v 1.91 2023/12/16 20:32:22 tom Exp $
-.TH curs_util 3X 2023-12-16 "ncurses 6.4" "Library calls"
+.\" $Id: curs_util.3x,v 1.92 2023/12/23 16:24:15 tom Exp $
+.TH curs_util 3X 2023-12-23 "ncurses 6.4" "Library calls"
 .ie \n(.g \{\
 .ds `` \(lq
 .ds '' \(rq
@@ -246,7 +246,7 @@ data.
 It returns a pointer to the new window.
 There are a few caveats:
 .bP
-the data written is a copy of the \fBWINDOW\fP structure,
+the data written is a copy of the \fI\%WINDOW\fP structure,
 and its associated character cells.
 The format differs between the wide-character (\fI\%ncursesw\fP) and
 non-wide (\fI\%ncurses\fP) libraries.
@@ -347,7 +347,7 @@ the University of California, Berkeley (in 1982)
 and were later (in 1988) incorporated into SVr4.
 Oddly, there are no such functions in the 4.3BSD curses sources.
 .bP
-Most implementations simply dump the binary \fBWINDOW\fP structure to the file.
+Most implementations simply dump the binary \fI\%WINDOW\fP structure to the file.
 These include SVr4 curses, NetBSD and PDCurses,
 as well as older \fI\%ncurses\fP versions.
 This implementation
index e5265ab1e77b5bd1cce0b4c166be95f22f9bb884..02d1b1488e60e5ef922e9c7f08478bdf5c015a6f 100644 (file)
@@ -27,8 +27,8 @@
 .\" authorization.                                                           *
 .\"***************************************************************************
 .\"
-.\" $Id: curs_variables.3x,v 1.35 2023/12/16 21:05:52 tom Exp $
-.TH curs_variables 3X 2023-12-16 "ncurses 6.4" "Library calls"
+.\" $Id: curs_variables.3x,v 1.40 2023/12/23 23:10:13 tom Exp $
+.TH curs_variables 3X 2023-12-23 "ncurses 6.4" "Library calls"
 .ie \n(.g \{\
 .ds `` \(lq
 .ds '' \(rq
 \fI\%chtype\fP,
 \fI\%cchar_t\fP,
 \fI\%attr_t\fP,
+\fI\%SCREEN\fP,
 \fI\%WINDOW\fP,
 \fB\%TRUE\fP,
 \fB\%FALSE\fP,
 \fB\%ERR\fP,
 \fB\%OK\fP,
+\fB\%curscr\fP,
+\fB\%newscr\fP,
+\fB\%stdscr\fP,
 \fB\%COLORS\fP,
 \fB\%COLOR_PAIRS\fP,
 \fB\%COLS\fP,
-\fB\%ESCDELAY\fP,
 \fB\%LINES\fP,
-\fB\%TABSIZE\fP,
-\fB\%curscr\fP,
-\fB\%newscr\fP,
-\fB\%stdscr\fP \-
+\fB\%ESCDELAY\fP,
+\fB\%TABSIZE\fP \-
 \fIcurses\fR data types, constants, and global variables
 .SH SYNOPSIS
 .nf
@@ -77,6 +78,7 @@
 \fBtypedef \fI/*\fP .\|.\|. \fI*/\fP chtype;
 \fBtypedef \fI/*\fP .\|.\|. \fI*/\fP cchar_t;
 \fBtypedef \fI/*\fP .\|.\|. \fI*/\fP attr_t;
+\fBtypedef \fI/*\fP .\|.\|. \fI*/\fP SCREEN;
 \fBtypedef \fI/*\fP .\|.\|. \fI*/\fP WINDOW;
 .PP
 \fI/* constants */
 \fBconst \fI/*\fP .\|.\|. \fI*/\fP OK;
 .PP
 \fI/* variables */
-\fBint COLOR_PAIRS;
 \fBint COLORS;
+\fBint COLOR_PAIRS;
 \fBint COLS;
 \fBint LINES;
 \fBWINDOW * curscr;
 \fBWINDOW * stdscr;
+.PP
 \fI/* extensions */
 \fBint ESCDELAY;
 \fBint TABSIZE;
@@ -111,16 +114,24 @@ that provide read-only access to the library's state.
 In either case,
 applications should treat them as read-only to avoid
 confusing the library.
-.SS \fIbool\fP, TRUE, FALSE
-X/Open Issue 4 \fIcurses\fP (1996) preceded the ISO C99 and ISO C++98
-standards,
-each of which also defined a Boolean data type.
-The \fIcurses\fP library requires an integral type \fIbool\fP and
-constants \fBTRUE\fP and \fBFALSE\fP to store its two possible values.
+.SH "CONSTANTS"
+.SS "TRUE, FALSE"
+The \fIcurses\fP library defines \fBTRUE\fP and \fBFALSE\fP
+to represent the values of the Boolean data type.
 .SS ERR, OK
 \fIcurses\fP and \fIterminfo\fP routines frequently return these
 constant integral values indicating failure and success,
 respectively.
+.SH "PREDEFINED TYPES"
+.SS \fIbool\fP
+X/Open Issue 4 \fIcurses\fP (1996) preceded the ISO C99 and ISO C++98
+standards,
+each of which also defined a Boolean data type.
+The \fIcurses\fP library requires an integral type \fIbool\fP.
+.PP
+\fB\%ncurses\fP' configure script attempts to discover the
+data type used by the system's C and C++ compilers,
+to reuse for the \fIcurses\fP \fIbool\fP.
 .SS \fIchtype\fP
 The \fI\%chtype\fP integral type combines a
 (\*(``narrow\*('',
@@ -151,30 +162,59 @@ for example,
 \fB\%attr_on\fP(3X),
 and
 \fB\%in_wch\fP(3X).
-.SS COLOR_PAIRS
-Once \fIcurses\fP is initialized,
-\fB\%COLOR_PAIRS\fP
-contains the number of color pairs supported by the terminal.
-Often,
-its value is the product \fB\%COLORS\fP \(mu \fB\%COLORS\fP,
-but this is not always true.
-.bP
-A few terminals use HLS colors,
-ignoring this rule;
+.SS \fISCREEN\fP
+.I curses
+manages a terminal device with this structure type;
+see \fB\%initscr\fP(3X).
+.SS "\fIWINDOW\fP"
+.I curses
+represents rectangular portions of the terminal screen with the
+.I \%WINDOW
+structure type;
+see subsection \*(``Overview\*('' of \fB\%ncurses\fP(3X).
+.SH "VARIABLES"
+.SS "curscr, stdscr, newscr"
+The library records updates to the terminal screen in a window named
+\fB\%curscr\fP.
+This object is referred to as the \*(``physical screen\*('' in
+\fB\%curs_refresh\fP(3X) and
+\fB\%curs_outopts\fP(3X).
+.PP
+\fI\%ncurses\fP collects pending updates to the terminal screen in a
+window named \fB\%newscr\fP.
+This object is referred to as the \*(``virtual screen\*('' in the
+\fB\%curs_kernel\fP(3X),
+\fB\%curs_refresh\fP(3X),
 and
-.bP
-terminals supporting a large number of colors are limited by the number
-of color pairs that a \fIsigned short\fP value can represent.
+\fB\%curs_outopts\fP(3X).
+When the screen is refreshed,
+\fIcurses\fP determines a minimal set of updates using the terminal's
+capabilities to make \fB\%curscr\fP look like \fB\%newscr\fP.
+.PP
+Once \fIcurses\fP is initialized,
+it creates a window named \fB\%stdscr\fP.
+It is the same size as the terminal screen and is the default window
+used by routines that do not take a parameter identifying one.
+Many \fIcurses\fP functions use this window.
 .SS COLORS
 Once \fIcurses\fP is initialized,
 \fB\%COLORS\fP
-contains the number of colors supported by the terminal.
-.SS COLS
+contains the number of colors supported by the terminal;
+see \fB\%curs_color\fP(3X).
+.SS COLOR_PAIRS
 Once \fIcurses\fP is initialized,
-\fB\%COLS\fP
-contains the screen's width in character cells;
+\fB\%COLOR_PAIRS\fP
+contains the number of color pairs supported by the terminal;
+see \fB\%curs_color\fP(3X).
+.SS "COLS, LINES"
+Once \fIcurses\fP is initialized,
+.B \%COLS
+and
+.B LINES
+contain the screen's width and height in character cells,
+respectively;
 that is,
-the number of columns.
+the number of columns and lines.
 .SS ESCDELAY
 For \fIcurses\fP to distinguish an escape character corresponding to a
 user's press of an \*(``Escape\*('' key on the input device from one
@@ -184,41 +224,10 @@ the library waits to see if another key event occurs after the escape
 character.
 \fB\%ESCDELAY\fP
 stores this interval in milliseconds.
-.SS LINES
-Once \fIcurses\fP is initialized,
-\fB\%LINES\fP
-contains the screen's height in character cells;
-that is,
-the number of lines.
 .SS TABSIZE
 The \fIcurses\fP library converts a tab character to this number of
 spaces as it adds a tab to a window;
 see \fB\%curs_addch\fP(3X).
-.SS curscr
-\fIcurses\fP records updates to the terminal screen in a \fI\%WINDOW\fP
-structure named \fB\%curscr\fP.
-.PP
-This object is referred to as the \*(``physical screen\*('' in
-\fB\%curs_refresh\fP(3X) and
-\fB\%curs_outopts\fP(3X).
-.SS newscr
-\fI\%ncurses\fP collects pending updates to the terminal screen in a
-\fI\%WINDOW\fP structure named \fB\%newscr\fP.
-.PP
-This object is referred to as the \*(``virtual screen\*('' in the
-\fB\%curs_kernel\fP(3X),
-\fB\%curs_refresh\fP(3X),
-and
-\fB\%curs_outopts\fP(3X).
-When the screen is refreshed,
-\fIcurses\fP determines a minimal set of updates using the terminal's
-capabilities to make \fB\%curscr\fP look like \fB\%newscr\fP.
-.SS stdscr
-Once \fIcurses\fP is initialized,
-it creates a \fI\%WINDOW\fP structure named \fB\%stdscr\fP.
-It is the same size as the terminal screen and is the default window
-used by routines that do not take a parameter identifying one.
-Many \fIcurses\fP functions use this window.
 .SH NOTES
 Either \fB\%initscr\fP(3X) or \fB\%newterm\fP(3X) initializes
 \fIcurses\fP.
@@ -234,18 +243,20 @@ and \fB\%ESCDELAY\fP.
 .PP
 X/Open Curses describes \fB\%curscr\fP only as \*(``an internal data
 structure\*('';
-SVID gave more details,
+SVr4 gave more details,
 noting its use \*(``for certain low-level operations like clearing and
 redrawing a screen containing garbage\*(''.
+.\" SVID 4, Volume 3, p. 408
 Neither specified its interaction with the rest of the interface beyond
 use as an argument to \fB\%clearok\fP(3X) and \fB\%wrefresh\fP(3X).
 .PP
 \fB\%newscr\fP is a feature of SVr4 \fIcurses\fP.
-When refreshing the screen, this window is used as a working area
-for combining the standard screen \fB\%stdscr\fP with any other windows
-which the application may have created with \fB\%newwin\fP(3X).
-When the updated \fB\%newscr\fP is complete,
-\fIcurses\fP updates \fB\%curscr\fP to match \fB\%newscr\fP.
+When refreshing the screen,
+it is used as a working area for combining the standard window
+\fB\%stdscr\fP with any others the application may have created with
+\fB\%newwin\fP(3X).
+When the update of \fB\%newscr\fP is complete,
+\fIcurses\fP modifies \fB\%curscr\fP to match \fB\%newscr\fP.
 .PP
 \fB\%TABSIZE\fP is a feature of SVr4 \fIcurses\fP.
 .bP
@@ -294,6 +305,7 @@ most users have decided either to override the value,
 or to rely upon its default.
 .SH SEE ALSO
 \fB\%curses\fP(3X),
+\fB\%curs_color\fP(3X),
 \fB\%curs_opaque\fP(3X),
 \fB\%curs_terminfo\fP(3X),
 \fB\%curs_threads\fP(3X),
index 511952933546fdc4804c08fb43983336b48e3420..f00dfbc93f5664e5d35d6ea57e273a5d348d574d 100644 (file)
@@ -28,8 +28,8 @@
 .\" authorization.                                                           *
 .\"***************************************************************************
 .\"
-.\" $Id: form.3x,v 1.51 2023/12/16 20:32:22 tom Exp $
-.TH form 3X 2023-12-16 "ncurses 6.4" "Library calls"
+.\" $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"
 .ie \n(.g \{\
 .ds `` \(lq
 .ds '' \(rq
@@ -73,7 +73,7 @@ so that input/output processing will work.
 A curses initialization routine such as \fBinitscr\fP must be called
 before using any of these functions.
 .
-.SS Current Default Values for Field Attributes
+.SS "Current Default Values for Field Attributes"
 .
 The \fBform\fP library maintains a default value for field attributes.
 You
@@ -84,7 +84,7 @@ Changing this default with a
 \fBset_\fP function affects future field creations, but does not change the
 rendering of fields already created.
 .
-.SS Routine Name Index
+.SS "Routine Name Index"
 .
 The following table lists each \fBform\fP routine and the name of
 the manual page on which it is described.
index d8434a818086d23f28dbd18398f26169384e1313..43b59b647e4d29c5b7f99a8d210e8a8be708de5b 100644 (file)
@@ -28,8 +28,8 @@
 .\" authorization.                                                           *
 .\"***************************************************************************
 .\"
-.\" $Id: form_driver.3x,v 1.53 2023/11/25 13:58:47 tom Exp $
-.TH form_driver 3X 2023-11-25 "ncurses 6.4" "Library calls"
+.\" $Id: form_driver.3x,v 1.54 2023/12/23 16:08:25 tom Exp $
+.TH form_driver 3X 2023-12-23 "ncurses 6.4" "Library calls"
 .de bP
 .ie n  .IP \(bu 4
 .el    .IP \(bu 2
@@ -67,7 +67,7 @@ returned by \fBget_wch\fP(3X).
 The type must be passed as well,
 to enable the library to determine whether the parameter
 is a wide character or a request.
-.SS Form-driver requests
+.SS "Form Driver Requests"
 The form driver requests are as follows:
 .PP
 .TS
@@ -139,7 +139,7 @@ If the second argument is a printable character, the driver places it
 in the current position in the current field.
 If it is one of the forms
 requests listed above, that request is executed.
-.SS Field validation
+.SS "Field Validation"
 The form library makes updates to the window associated
 with form fields rather than directly to the field buffers.
 .PP
@@ -166,7 +166,7 @@ In each case, the move fails if the field is invalid.
 If the modified field is valid, the form driver copies the modified
 data from the window associated with the field
 to the field buffer.
-.SS Mouse handling
+.SS "Mouse Handling"
 If the second argument is the KEY_MOUSE special key, the associated
 mouse event is translated into one of the above pre-defined requests.
 Currently only clicks in the user window (e.g., inside the form display
@@ -213,7 +213,7 @@ into a request was done, \fBform_driver\fP returns the result of this request.
 If you clicked outside the user window
 or the mouse event could not be translated
 into a form request an \fBE_REQUEST_DENIED\fP is returned.
-.SS Application-defined commands
+.SS "Application-defined Commands"
 If the second argument is neither printable nor one of the above
 pre-defined form requests, the driver assumes it is an application-specific
 command and returns \fBE_UNKNOWN_COMMAND\fP.  Application-defined commands
index ffe2df3bc73b010b03c129bdb25ea2e53a637448..11241bdeffb43b6c79c5111adff6309572b609a7 100644 (file)
@@ -28,8 +28,8 @@
 .\" authorization.                                                           *
 .\"***************************************************************************
 .\"
-.\" $Id: infocmp.1m,v 1.102 2023/12/16 20:32:22 tom Exp $
-.TH @INFOCMP@ 1M 2023-12-16 "ncurses 6.4" "User commands"
+.\" $Id: infocmp.1m,v 1.103 2023/12/23 16:08:25 tom Exp $
+.TH @INFOCMP@ 1M 2023-12-23 "ncurses 6.4" "User commands"
 .ie \n(.g \{\
 .ds `` \(lq
 .ds '' \(rq
@@ -90,14 +90,14 @@ binary file (\fBterm\fP) in a variety of formats.
 In all cases, the boolean
 fields will be printed first, followed by the numeric fields, followed by the
 string fields.
-.SS Default Options
+.SS "Default Options"
 If no options are specified and zero or one \fIterminal-types\fP are
 specified,
 the
 \fB\-I\fP option will be assumed.
 If more than one \fIterminal-type\fP is specified,
 the \fB\-d\fP option will be assumed.
-.SS Comparison Options [\-d] [\-c] [\-n]
+.SS "Comparison Options [\-d] [\-c] [\-n]"
 \fB@INFOCMP@\fP compares the \fBterminfo\fP description of the first terminal
 \fIterminal-type\fP with each of the descriptions given by the entries
 for the other terminal's \fIterminal-types\fP.
@@ -142,7 +142,7 @@ capabilities (names prefixed with \*(``OT\*('').
 If no \fIterminal-types\fP are given,
 \fB@INFOCMP@\fP uses the environment variable \fITERM\fP
 for each of the \fIterminal-types\fP.
-.SS Source Listing Options [\-I] [\-L] [\-C] [\-r]
+.SS "Source Listing Options [\-I] [\-L] [\-C] [\-r]"
 The \fB\-I\fP, \fB\-L\fP, and \fB\-C\fP options will produce
 a source listing for each terminal named.
 .PP
@@ -222,7 +222,7 @@ l l l.
 \fB%p1%?%'x'%>%t%p1%'y'%+%;/%>xy\fP/concept
 \fB%p2\fP is printed before \fB%p1/%r\fP/hp
 .TE
-.SS Use= Option [\-u]
+.SS "Use= Option [\-u]"
 The \fB\-u\fP option produces a \fBterminfo\fP source description of the first
 terminal \fIterminal-type\fP which is relative to the sum of the
 descriptions given by the entries for the other \fIterminal-types\fP.
@@ -269,7 +269,7 @@ the compilation time, is specifying extra \fBuse=\fP fields that are
 superfluous.
 \fB@INFOCMP@\fP will flag any other \fIterminal-type use=\fP fields that
 were not needed.
-.SS Changing Databases [\-A \fIdirectory\fR] [\-B \fIdirectory\fR]
+.SS "Changing Databases [\-A \fIdirectory\fR] [\-B \fIdirectory\fR]"
 Like other \fI\%ncurses\fP utilities,
 \fB@INFOCMP@\fP looks for the terminal descriptions in several places.
 You can use the \fI\%TERMINFO\fP and \fI\%TERMINFO_DIRS\fP environment
@@ -292,7 +292,7 @@ databases.
 For instance,
 you can use this feature for comparing descriptions for the same terminal
 created by different people.
-.SS Other Options
+.SS "Other Options"
 .TP 5
 \fB\-0\fP
 causes the fields to be printed on one line, without wrapping.
index 433ed5e40358c75ab07c65c9a846ddec8bb0fc34..7780b9d41ae18edf502cf799a604f30efacd7f54 100644 (file)
@@ -26,7 +26,7 @@
 # use or other dealings in this Software without prior written               #
 # authorization.                                                             #
 ##############################################################################
-# $Id: man_db.renames.in,v 1.63 2023/12/17 23:52:59 tom Exp $
+# $Id: man_db.renames.in,v 1.66 2023/12/23 16:14:04 tom Exp $
 # Manual-page renamings for the man_db program
 #
 # Files:
@@ -151,7 +151,7 @@ mitem_value.3x                      menu_value.3menu
 mitem_visible.3x               menu_visible.3menu
 ncurses.3x                     ncurses.3ncurses
 new_pair.3x                    new_pair.3ncurses
-panel.3x                       panel.3curses
+panel.3x                       panel.3ncurses
 printf.3s                      printf.3
 putc.3s                        putc.3
 resizeterm.3x                  resizeterm.3ncurses
@@ -207,7 +207,7 @@ longname.3x                 longname.3ncurses
 meta.3x                                meta.3ncurses
 move.3x                                move.3ncurses
 mvcur.3x                       mvcur.3ncurses
-mvwin.3x                       mvwin.3nwinses
+mvwin.3x                       mvwin.3ncurses
 newpad.3x                      newpad.3ncurses
 newterm.3x                     newterm.3ncurses
 newwin.3x                      newwin.3ncurses
@@ -240,7 +240,10 @@ wadd_wch.3x                        wadd_wch.3ncurses
 waddch.3x                      waddch.3ncurses
 waddstr.3x                     waddstr.3ncurses
 waddwstr.3x                    waddwstr.3ncurses
+wattrset.3x                    wattrset.3ncurses
+wattr_set.3x                   wattr_set.3ncurses
 wbkgdset.3x                    wbkgdset.3ncurses
+wbkgrndset.3x                  wbkgrndset.3ncurses
 wget_wch.3x                    wget_wch.3ncurses
 wgetch.3x                      wgetch.3ncurses
 wgetstr.3x                     wgetstr.3ncurses
@@ -253,7 +256,7 @@ wsetscrreg.3x                       wsetscrreg.3ncurses
 wtimeout.3x                    wtimeout.3ncurses
 #
 # Other:
-getty.1                                getty.8
+getty.8                                getty.8
 scanf.3                                scanf.3
 ttys.5                         ttys.4
 system.3                       system.3
index 94732df5f7bbc6e6558a0082268ad6ebe5357dce..dd09975148bde3e4432079c53a43ecfc58a1fe0e 100644 (file)
@@ -1,4 +1,4 @@
-# $Id: manhtml.aliases,v 1.29 2023/12/18 00:27:56 tom Exp $
+# $Id: manhtml.aliases,v 1.30 2023/12/23 21:21:06 tom Exp $
 #***************************************************************************
 # Copyright 2019-2022,2023 Thomas E. Dickey                                *
 # Copyright 2013,2017 Free Software Foundation, Inc.                       *
@@ -57,6 +57,7 @@ inch(3X)              curs_inch(3X)
 infocmp(1)             infocmp(1M)
 initscr(3X)            curs_initscr(3X)
 is_scrollok(3X)                curs_opaque(3X)
+keyname(3X)            curs_util(3X)
 keypad(3X)             curs_inopts(3X)
 longname(3X)           curs_termattrs(3X)
 meta(3X)               curs_inopts(3X)
@@ -89,7 +90,10 @@ wadd_wch(3X)         curs_add_wch(3X)
 waddch(3X)             curs_addch(3X)
 waddstr(3X)            curs_addstr(3X)
 waddwstr(3X)           curs_addwstr(3X)
+wattr_set(3X)          curs_attr(3X)
+wattrset(3X)           curs_attr(3X)
 wbkgdset(3X)           curs_bkgd(3X)
+wbkgrndset(3X)         curs_bkgrnd(3X)
 wget_wch(3X)           curs_get_wch(3X)
 wgetch(3X)             curs_getch(3X)
 wgetstr(3X)            curs_getstr(3X)
index d800272aea3a0e79625bbc26f421848a5db609f6..946348e4d9bcd817c73d9594d58bdaea99949981 100644 (file)
@@ -1,4 +1,4 @@
-# $Id: manhtml.externs,v 1.18 2023/12/18 00:35:38 tom Exp $
+# $Id: manhtml.externs,v 1.20 2023/12/23 23:49:04 tom Exp $
 # Items in this list will not be linked by man2html
 #***************************************************************************
 # Copyright 2019-2021,2023 Thomas E. Dickey                                *
@@ -31,6 +31,7 @@
 COLOR_PAIR(1)
 COLOR_PAIR(2)
 atoi(3)
+bash(1)
 conflict(1)
 cron(1)
 csh(1)
@@ -39,11 +40,11 @@ emacs(1)
 environ(7)
 errno(3)
 file(1)
-getty(1)
+getty(8)
 jove(1)
 lynx(1)
-nvi(1)
 mutt(1)
+nvi(1)
 od(1)
 printf(3)
 profile(5)
@@ -54,16 +55,15 @@ read(2)
 readline(3)
 resize(1)
 scanf(3)
+scanf(3S)
 screen(1)
 setlocale(3)
 sh(1)
-scanf(3)
-scanf(3S)
 sscanf(3)
 stdio(3)
 stty(1)
-system(3)
 swprintf(3)
+system(3)
 termios(3)
 tmux(1)
 tty(4)
index 247ebcfbec390de4be4d212326adafbf6c5a29e8..57dae6656b7180852c94aed1d644c223929f6acc 100644 (file)
@@ -28,8 +28,8 @@
 .\" authorization.                                                           *
 .\"***************************************************************************
 .\"
-.\" $Id: menu.3x,v 1.42 2023/12/16 20:32:22 tom Exp $
-.TH menu 3X 2023-12-16 "ncurses 6.4" "Library calls"
+.\" $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"
 .ie \n(.g \{\
 .ds `` \(lq
 .ds '' \(rq
@@ -65,7 +65,7 @@ these functions.
 To use the \fBmenu\fP library, link with the options
 \fB\-lmenu \-lcurses\fP.
 .
-.SS Current Default Values for Item Attributes
+.SS "Current Default Values for Item Attributes"
 .
 The \fBmenu\fP library maintains a default value for item attributes.
 You can
@@ -75,7 +75,7 @@ Changing this default with a
 \fBset_\fP function affects future item creations, but does not change the
 rendering of items already created.
 .
-.SS Routine Name Index
+.SS "Routine Name Index"
 .
 The following table lists each \fBmenu\fP routine and the name of
 the manual page on which it is described.
index f3a8f02fb5202cfa7cadf87b082c9b30b0ab0392..3204d1f5fd316751c110d61f6acbf592db113412 100644 (file)
@@ -27,8 +27,8 @@
 .\" authorization.                                                           *
 .\"***************************************************************************
 .\"
-.\" $Id: menu_driver.3x,v 1.44 2023/12/16 20:32:22 tom Exp $
-.TH menu_driver 3X 2023-12-16 "ncurses 6.4" "Library calls"
+.\" $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"
 .de bP
 .ie n  .IP \(bu 4
 .el    .IP \(bu 2
@@ -118,7 +118,7 @@ If there is no such match, \fBmenu_driver\fP returns
 .PP
 If the second argument is one of the above pre-defined requests, the
 corresponding action is performed.
-.SS MOUSE HANDLING
+.SS "Mouse Handling"
 If the second argument is the KEY_MOUSE special key, the associated
 mouse event is translated into one of the above pre-defined requests.
 Currently only clicks in the user window (e.g., inside the menu display
@@ -158,7 +158,7 @@ into a request was done, \fBmenu_driver\fP returns the result of this request.
 If you clicked outside the user window
 or the mouse event could not be translated
 into a menu request an \fBE_REQUEST_DENIED\fP is returned.
-.SS APPLICATION-DEFINED COMMANDS
+.SS "Application-defined Commands"
 If the second argument is neither printable nor one of the above
 pre-defined menu requests or KEY_MOUSE,
 the drive assumes it is an application-specific
index 53b83ab26875b15f1476e76f0dd9c408e8bca624..ec0e39ba6596e15653312056bdc8ea92fb84716d 100644 (file)
@@ -28,8 +28,8 @@
 .\" authorization.                                                           *
 .\"***************************************************************************
 .\"
-.\" $Id: ncurses.3x,v 1.187 2023/12/17 23:44:14 tom Exp $
-.TH ncurses 3X 2023-12-17 "ncurses 6.4" "Library calls"
+.\" $Id: ncurses.3x,v 1.189 2023/12/23 16:32:37 tom Exp $
+.TH ncurses 3X 2023-12-23 "ncurses 6.4" "Library calls"
 .ie \n(.g \{\
 .ds `` \(lq
 .ds '' \(rq
@@ -106,7 +106,7 @@ the names \fB\-lcurses\fP and \fB\-lcurses_g\fP.)
 The ncurses_g library generates trace logs
 (in a file called \*(``trace\*('' in the current directory)
 that describe curses actions.
-See also the section on \fBALTERNATE CONFIGURATIONS\fP.
+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
@@ -268,15 +268,16 @@ or in color on terminals that support such display enhancements.
 See \fB\%curs_attr\fP(3X).
 .PP
 .I curses
-predefines symbols for a small set of line graphics characters,
-corresponding to the VT100 line drawing set.
+predefines constants for a small set of line-drawing and other graphics
+corresponding to the DEC Alternate Character Set (ACS),
+a feature of VT100 and other terminals.
 See
 \fB\%waddch\fP(3X) and
 \fB\%wadd_wch\fP(3X).
 .PP
 .I curses
 is implemented using the operating system's terminal driver;
-keystroke events are not received as scan codes but as byte sequences.
+keystroke events are received not as scan codes but as byte sequences.
 Graphical keycaps
 (alphanumeric and punctuation keys,
 and the space)
@@ -443,7 +444,7 @@ or the constant
 .BR \%WEOF ,
 analogously to the
 .IR int -sized
-character manipulation functions of ISO C and their constant
+character manipulation functions of ISO C and its constant
 .BR \%EOF .
 .RE
 .IP
@@ -1179,7 +1180,8 @@ It does not modify the buffering of the standard output.
 The reason for the change was to make the behavior for interrupts and
 other signals more robust.
 One drawback is that certain nonconventional programs would mix
-ordinary stdio calls with \fI\%ncurses\fP calls and (usually) work.
+ordinary \fI\%stdio\fP(3) calls with \fI\%ncurses\fP calls and (usually)
+work.
 This is no longer possible since \fI\%ncurses\fP is not using
 the buffered standard output but its own output (to the same file descriptor).
 As a special case, the low-level calls such as \fBputp\fP still use the
@@ -1386,12 +1388,19 @@ setgid permissions:
 $TERMINFO, $TERMINFO_DIRS, $TERMPATH, as well as $HOME.
 .EE
 .RE
-.SH ALTERNATE CONFIGURATIONS
-Several different configurations are possible,
-depending on the configure script options used when building
-\fI\%ncurses\fP.
-There are a few main options whose effects are visible to the applications
-developer using \fI\%ncurses\fP:
+.SH "ALTERNATE CONFIGURATIONS"
+Many different
+.I \%ncurses
+configurations are possible,
+determined by the options given to the
+.I \%configure
+script when building the library.
+Run the script with the
+.B \-\-help
+option to peruse them all.
+A few are of particular significance to the application developer
+employing
+.I \%ncurses.
 .TP 5
 \-\-disable\-overwrite
 The standard include for \fI\%ncurses\fP is as noted in \fBSYNOPSIS\fP:
@@ -1593,19 +1602,19 @@ A small number of local differences
 (that is,
 individual differences between the XSI Curses and \fI\%ncurses\fP calls)
 are described in \fBPORTABILITY\fP sections of the library man pages.
-.SS Error checking
+.SS "Error Checking"
 In many cases, X/Open Curses is vague about error conditions,
 omitting some of the SVr4 documentation.
 .PP
 Unlike other implementations, this one checks parameters such as pointers
-to WINDOW structures to ensure they are not null.
+to \fI\%WINDOW\fP structures to ensure they are not null.
 The main reason for providing this behavior is to guard against programmer
 error.
 The standard interface does not provide a way for the library
 to tell an application which of several possible errors were detected.
 Relying on this (or some other) extension will adversely affect the
 portability of curses applications.
-.SS Extensions versus portability
+.SS "Extensions Versus Portability"
 Most of the extensions provided by \fI\%ncurses\fP have not been
 standardized.
 Some have been incorporated into other implementations, such as
@@ -1629,7 +1638,7 @@ See the \fBcurs_print\fP(3X) manual page for details.
 The routine \fBwresize\fP is not part of XPG4, nor is it present in SVr4.
 See the \fBwresize\fP(3X) manual page for details.
 .bP
-The WINDOW structure's internal details can be hidden from application
+The \fI\%WINDOW\fP structure's internal details can be hidden from application
 programs.
 See \fBcurs_opaque\fP(3X) for the discussion of \fBis_scrollok\fP, etc.
 .bP
@@ -1640,7 +1649,7 @@ See \fBcurs_threads\fP(3X) for details.
 This implementation can also be configured to provide a set of functions which
 improve the ability to manage multiple screens.
 See \fBcurs_sp_funcs\fP(3X) for details.
-.SS Padding differences
+.SS "Padding Differences"
 In historic curses versions, delays embedded in the capabilities \fBcr\fP,
 \fBind\fP, \fBcub1\fP, \fBff\fP and \fBtab\fP activated corresponding delay
 bits in the Unix tty driver.
@@ -1648,7 +1657,7 @@ In this implementation, all padding is done by sending NUL bytes.
 This method is slightly more expensive, but narrows the interface
 to the Unix kernel significantly and increases the package's portability
 correspondingly.
-.SS Header files
+.SS "Header Files"
 The header file \fI\%curses.h\fP itself includes the header files
 \fI\%stdio.h\fP and \fI\%unctrl.h\fP.
 .PP
index 6071b29a390e60ab5c4fc5f6098a5de81e05cfaa..9f4bf26f8e297c3e2d3fef7fcf16dfe55db8bc2c 100644 (file)
@@ -27,8 +27,8 @@
 .\" authorization.                                                           *
 .\"***************************************************************************
 .\"
-.\" $Id: panel.3x,v 1.60 2023/12/16 21:24:43 tom Exp $
-.TH panel 3X 2023-12-16 "ncurses 6.4" "Library calls"
+.\" $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"
 .ie \n(.g \{\
 .ds `` \(lq
 .ds '' \(rq
@@ -109,7 +109,7 @@ puts panel \fIpan\fP at the bottom of all panels.
 .SS ceiling_panel
 \fB\%ceiling_panel(\fIsp\fB)\fR
 acts like \fB\%panel_below(NULL)\fP
-for the given \fI\%SCREEN\fP \fIsp\fP.
+for the given \fISCREEN\fP \fIsp\fP.
 .\" ---------
 .SS del_panel
 \fB\%del_panel(\fIpan\fB)\fR
@@ -119,7 +119,7 @@ removes the given panel \fIpan\fP from the stack and deallocates the
 .SS ground_panel
 \fB\%ground_panel(\fIsp\fB)\fR
 acts like \fB\%panel_above(NULL)\fP
-for the given \fI\%SCREEN\fP \fIsp\fP.
+for the given \fISCREEN\fP \fIsp\fP.
 .\" ---------
 .SS hide_panel
 \fB\%hide_panel(\fIpan\fB)\fR
index ff1fa1e0fe54b3951b5c0c188aec63657c2100ea..d976fae88afc7a97bc1993eb274fc38aa00b9a92 100644 (file)
@@ -27,8 +27,8 @@
 .\" authorization.                                                           *
 .\"***************************************************************************
 .\"
-.\" $Id: scr_dump.5,v 1.40 2023/12/16 21:07:24 tom Exp $
-.TH scr_dump 5 2023-12-16 "ncurses 6.4" "File formats"
+.\" $Id: scr_dump.5,v 1.41 2023/12/23 16:27:25 tom Exp $
+.TH scr_dump 5 2023-12-23 "ncurses 6.4" "File formats"
 .ie \n(.g \{\
 .ds `` \(lq
 .ds '' \(rq
@@ -114,26 +114,26 @@ screen-size,
 because the library truncates or fills the screen as necessary.
 .bP
 The ncurses6 \fBgetwin\fP reads the legacy screen dumps from ncurses5.
-.SS ncurses5 (legacy)
+.SS "ncurses5 (Legacy)"
 The screen-dump feature was added to \fI\%ncurses\fP in June 1995.
 While there were fixes and improvements in succeeding years,
 the basic scheme was unchanged:
 .bP
-The \fBWINDOW\fP structure was written in binary form.
+The \fI\%WINDOW\fP structure was written in binary form.
 .bP
-The \fBWINDOW\fP structure refers to lines of data,
-which were written as an array of binary data following the \fBWINDOW\fP.
+The \fI\%WINDOW\fP structure refers to lines of data,
+which were written as an array of binary data following the \fI\%WINDOW\fP.
 .bP
 When \fBgetwin\fP restored the window,
 it would keep track of offsets into the array of line-data
-and adjust the \fBWINDOW\fP structure which was read back into memory.
+and adjust the \fI\%WINDOW\fP structure which was read back into memory.
 .PP
 This is similar to Unix System\ V,
 but does not write a \*(``magic number\*('' to identify the file format.
 .SH PORTABILITY
 There is no standard format for \fBputwin\fP.
 This section gives a brief description of the existing formats.
-.SS X/Open Curses
+.SS "X/Open Curses"
 Refer to \fIX/Open Curses, Issue 7\fP (2009).
 .PP
 X/Open's documentation for \fIenhanced curses\fP says only:
@@ -145,7 +145,7 @@ The function
 then creates and initializes a new window using that data.
 .PP
 The \fBputwin(\ )\fP function writes all data associated
-with \fIwin\fP into the \fBstdio\fP(3) stream to which \fIfilep\fP
+with \fIwin\fP into the \fI\%stdio\fP(3) stream to which \fIfilep\fP
 points, using an \fBunspecified format\fP.
 This information can be retrieved later using \fBgetwin(\ )\fP.
 .RE
@@ -170,10 +170,10 @@ or more specific portability warnings about use of the material.
 In the foregoing, emphasis was added to \fBunspecified format\fP
 and to \fBXPG4 or to earlier XPG releases\fP,
 for clarity.
-.SS Unix System V
+.SS "Unix System V"
 Unix System\ V curses identified the file format by writing a
 \*(``magic number\*('' at the beginning of the dump.
-The \fBWINDOW\fP data and the lines of text follow, all in binary form.
+The \fI\%WINDOW\fP data and the lines of text follow, all in binary form.
 .PP
 The Solaris curses source has these definitions:
 .PP
@@ -211,7 +211,7 @@ the magic number is written with the high-order byte first, e.g.,
 .EE
 .RE
 .PP
-After the magic number, the \fBWINDOW\fP structure and line-data are
+After the magic number, the \fI\%WINDOW\fP structure and line-data are
 written in binary format.
 While the magic number used by the Unix systems can be seen using \fBod\fP(1),
 none of the Unix systems documents the format used for screen-dumps.
@@ -251,7 +251,7 @@ than writing the whole window from top to bottom.
 .SS PDCurses
 PDCurses added support for screen dumps in version 2.7 (2005).
 Like Unix System\ V and ncurses5,
-it writes the \fBWINDOW\fP structure in binary,
+it writes the \fI\%WINDOW\fP structure in binary,
 but begins the file with its three-byte identifier \*(``PDC\*('',
 followed by a one-byte version,
 e.g.,
@@ -274,9 +274,9 @@ It writes
 the curses shared library major and minor versions
 as the first two bytes (e.g., 7 and 1),
 .bP
-followed by a binary dump of the \fBWINDOW\fP,
+followed by a binary dump of the \fI\%WINDOW\fP,
 .bP
-some data for wide-characters referenced by the \fBWINDOW\fP structure, and
+some data for wide-characters referenced by the \fI\%WINDOW\fP structure, and
 .bP
 finally, lines as done by other implementations.
 .SH EXAMPLES
index 4bcb457ec0db71ad734a490ee87af9982868b170..01ed44e4ad62aedf7db219625b72fef0e3545c22 100644 (file)
@@ -27,8 +27,8 @@
 .\" authorization.                                                           *
 .\"***************************************************************************
 .\"
-.\" $Id: tabs.1,v 1.51 2023/12/17 00:13:57 tom Exp $
-.TH @TABS@ 1 2023-12-16 "ncurses 6.4" "User commands"
+.\" $Id: tabs.1,v 1.52 2023/12/23 16:08:25 tom Exp $
+.TH @TABS@ 1 2023-12-23 "ncurses 6.4" "User commands"
 .ie \n(.g \{\
 .ds `` \(lq
 .ds '' \(rq
@@ -86,7 +86,7 @@ or use the \fB@RESET@\fP program,
 since the normal initialization sequences do not ensure that tab-stops
 are reset.
 .SH OPTIONS
-.SS General Options
+.SS "General Options"
 .TP 5
 .BI \-T "name"
 Tell \fB@TABS@\fP which terminal type to use.
@@ -110,7 +110,7 @@ and exits.
 The \fB@TABS@\fP program processes a single list of tab stops.
 The last option to be processed which defines a list is the one that
 determines the list to be processed.
-.SS Implicit Lists
+.SS "Implicit Lists"
 Use a single number as an option,
 e.g., \*(``\fB\-5\fP\*('' to set tabs at the given
 interval (in this case 1, 6, 11, 16, 21, etc.).
@@ -119,7 +119,7 @@ Tabs are repeated up to the right margin of the screen.
 Use \*(``\fB\-0\fP\*('' to clear all tabs.
 .PP
 Use \*(``\fB\-8\fP\*('' to set tabs to the standard interval.
-.SS Explicit Lists
+.SS "Explicit Lists"
 An explicit list can be defined after the options
 (this does not use a \*(``\-\*('').
 The values in the list must be in increasing numeric order,
@@ -144,7 +144,7 @@ tabs 1,+5,+5,+5,+5
 .RE
 .PP
 which is equivalent to the 1,6,11,16,21 example.
-.SS Predefined Tab-Stops
+.SS "Predefined Tab Stops"
 POSIX defines several predefined lists of tab stops.
 .TP 5
 .B \-a
index e1eaa995e1d813f3a2d29aceb8a0efcbcdd17f57..ede2eb1c285de0a3eac021255dbb32d5b3e0b7cd 100644 (file)
@@ -28,8 +28,8 @@
 .\" authorization.                                                           *
 .\"***************************************************************************
 .\"
-.\" $Id: term.5,v 1.68 2023/12/16 20:32:22 tom Exp $
-.TH term 5 2023-12-16 "ncurses 6.4" "File formats"
+.\" $Id: term.5,v 1.69 2023/12/23 16:08:25 tom Exp $
+.TH term 5 2023-12-23 "ncurses 6.4" "File formats"
 .ie \n(.g \{\
 .ds `` \(lq
 .ds '' \(rq
@@ -62,7 +62,7 @@ compiled \fIterminfo\fR terminal description
 .SH SYNOPSIS
 .B term
 .SH DESCRIPTION
-.SS STORAGE LOCATION
+.SS "Storage Location"
 Compiled terminfo descriptions are placed under the directory \fB\*d\fP.
 Two configurations are supported
 (when building the \fI\%ncurses\fP libraries):
@@ -97,7 +97,7 @@ It can write (or rewrite) entries in the hashed database.
 \fI\%TERMINFO_DIRS\fP environment variable by assuming a directory tree
 for entries that correspond to an existing directory,
 and hashed database otherwise.
-.SS LEGACY STORAGE FORMAT
+.SS "Legacy Storage Format"
 The format has been chosen so that it will be the same on all hardware.
 An 8 or more bit byte is assumed, but no assumptions about byte ordering
 or sign extension are made.
@@ -215,7 +215,7 @@ Special characters in \*^X or \ec notation are stored in their
 interpreted form, not the printing representation.
 Padding information $<nn> and parameter information %x are
 stored intact in uninterpreted form.
-.SS EXTENDED STORAGE FORMAT
+.SS "Extended Storage Format"
 The previous section describes the conventional terminfo binary format.
 With some minor variations of the offsets (see PORTABILITY),
 the same binary format is used in all modern Unix systems.
@@ -276,7 +276,7 @@ Applications which manipulate terminal data can use the definitions
 described in \fBterm_variables\fP(3X) which associate the long capability
 names with members of a \fBTERMTYPE\fP structure.
 .
-.SS EXTENDED NUMBER FORMAT
+.SS "Extended Number Format"
 On occasion, 16-bit signed integers are not large enough.
 With \fI\%ncurses\fP 6.1,
 a new format was introduced by making a few changes
@@ -315,7 +315,7 @@ must be prepared for both possibilities \-
 this is why the numbers and sizes are included.
 Also, new capabilities must always be added at the end of the lists
 of boolean, number, and string capabilities.
-.SS Binary format
+.SS "Binary Format"
 X/Open Curses does not specify a format for the terminfo database.
 System V curses used a directory-tree of binary files,
 one per terminal description.
@@ -338,7 +338,7 @@ where it was found that the latter did not match X/Open Curses.
 The format used by the other Unix versions
 can be matched by building \fI\%ncurses\fP
 with different configuration options.
-.SS Magic codes
+.SS "Magic Codes"
 The magic number in a binary terminfo file is the first 16-bits (two bytes).
 Besides making it more reliable for the library to check that a file
 is terminfo,
@@ -347,12 +347,12 @@ System V defined more than one magic number,
 with 0433, 0435 as screen-dumps (see \fBscr_dump\fP(5)).
 This implementation uses 01036 as a continuation of that sequence,
 but with a different high-order byte to avoid confusion.
-.SS The TERMTYPE structure
+.SS "The \fITERMTYPE\fP Structure"
 Direct access to the \fBTERMTYPE\fP structure is provided for legacy
 applications.
 Portable applications should use the \fBtigetflag\fP and related functions
 described in \fBcurs_terminfo\fP(3X) for reading terminal capabilities.
-.SS Mixed-case terminal names
+.SS "Mixed-case Terminal Names"
 A small number of terminal descriptions use uppercase characters in
 their names.
 If the underlying filesystem ignores the difference between
index d0360642e8d2e27eb62ab37ac4ed796680e7e072..b256f899134bd5afc2ef668886b2983368f3b5af 100644 (file)
@@ -27,8 +27,8 @@
 .\" authorization.                                                           *
 .\"***************************************************************************
 .\"
-.\" $Id: term_variables.3x,v 1.33 2023/11/25 14:32:36 tom Exp $
-.TH term_variables 3X 2023-11-25 "ncurses 6.4" "Library calls"
+.\" $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"
 .ie \n(.g \{\
 .ds `` \(lq
 .ds '' \(rq
@@ -90,7 +90,7 @@ or macros (see \fBcurs_threads\fP(3X))
 which provide read-only access to \fIcurses\fP's state.
 In either case, applications should treat them as read-only to avoid
 confusing the library.
-.SS Alternate Character Set Mapping
+.SS "Alternate Character Set Mapping"
 After initializing the curses or terminfo interfaces,
 the \fBacs_map\fP array holds information used to translate cells
 with the \fBA_ALTCHARSET\fP video attribute into line-drawing characters.
@@ -100,7 +100,7 @@ Application developers need only know that it is used for the \*(``ACS_\*(''
 constants in <curses.h>.
 .PP
 The comparable data for the wide-character library is a private variable.
-.SS Current Terminal Data
+.SS "Current Terminal Data"
 After initializing the curses or terminfo interfaces,
 the \fBcur_term\fP contains data describing the current terminal.
 This variable is also set as a side-effect of \fBset_term\fP(3X)
@@ -110,7 +110,7 @@ It is possible to save a value of \fBcur_term\fP for subsequent
 use as a parameter to \fBset_term\fP, for switching between screens.
 Alternatively, one can save the return value from \fBnewterm\fP
 or \fBsetupterm\fP(3X) to reuse in \fBset_term\fP.
-.SS Terminfo Lookup Tables
+.SS "\fIterminfo\fP Lookup Tables"
 The \fB@TIC@\fP(1) and \fB@INFOCMP@\fP(1) programs use lookup tables for
 the long and short names of terminfo capabilities,
 as well as the corresponding names for termcap capabilities.
@@ -133,13 +133,13 @@ These are the corresponding names used for termcap descriptions:
 \fBnumcodes\fP, and
 \fBstrcodes\fP.
 .\"
-.SS Terminal Type
+.SS "Terminal Type"
 A terminal description begins with one or more terminal names
 separated by \*(``|\*('' (vertical bars).
 On initialization of the curses or terminfo interfaces,
 \fBsetupterm\fP(3X) copies the terminal names to the array \fBttytype\fP.
 .\"
-.SS Terminfo Names
+.SS "\fIterminfo\fP Names"
 In addition to the variables, \fB<term.h>\fP also defines a symbol for each
 terminfo capability \fIlong name\fP.
 These are in terms of the symbol \fBCUR\fP,
index d4989909fcc97d2fe919c4b66ec94ccd7072cf17..712da62c9935d1648c36ec4ca83050429a5388c6 100644 (file)
@@ -27,8 +27,8 @@
 .\" authorization.                                                           *
 .\"***************************************************************************
 .\"
-.\" $Id: terminfo.head,v 1.57 2023/12/18 01:15:58 tom Exp $
-.TH terminfo 5 2023-12-17 "ncurses @NCURSES_MAJOR@.@NCURSES_MINOR@" "File formats"
+.\" $Id: terminfo.head,v 1.59 2023/12/23 23:44:58 tom Exp $
+.TH terminfo 5 2023-12-23 "ncurses @NCURSES_MAJOR@.@NCURSES_MINOR@" "File formats"
 .ie \n(.g \{\
 .ds `` \(lq
 .ds '' \(rq
@@ -77,7 +77,7 @@ specifying padding requirements and initialization sequences.
 .PP
 This manual describes \fI\%ncurses\fP
 version @NCURSES_MAJOR@.@NCURSES_MINOR@ (patch @NCURSES_PATCH@).
-.SS Terminfo Entry Syntax
+.SS "\fIterminfo\fP Entry Syntax"
 Entries in
 .I terminfo
 consist of a sequence of fields:
@@ -156,7 +156,7 @@ _
 .TE
 .PP
 For more on terminal naming conventions, see the \fBterm\fP(7) manual page.
-.SS Terminfo Capabilities Syntax
+.SS "\fIterminfo\fP Capabilities Syntax"
 The terminfo entry consists of several \fIcapabilities\fP,
 i.e., features that the terminal has,
 or methods for exercising the terminal's features.
@@ -185,7 +185,7 @@ Any capability can be \fIcanceled\fP,
 i.e., suppressed from the terminal entry,
 by following its name with \*(``@\*(''
 rather than a capability value.
-.SS Similar Terminals
+.SS "Similar Terminals"
 If there are two very similar terminals, one (the variant) can be defined as
 being just like the other (the base) with certain exceptions.
 In the
@@ -220,6 +220,6 @@ user preferences.
 An entry included via \fBuse\fP can contain canceled capabilities,
 which have the same effect as if those cancels were inline in the
 using terminal entry.
-.SS Predefined Capabilities
+.SS "Predefined Capabilities"
 .\" Head of terminfo man page ends here
 .ps -1
index eba40996aa03b29676feb1610755fcfc1d5989a4..dc527831abb4b3b4b7a468fdbea04cd00903a9e9 100644 (file)
@@ -27,7 +27,7 @@
 .\" authorization.                                                           *
 .\"***************************************************************************
 .\"
-.\" $Id: terminfo.tail,v 1.139 2023/12/17 22:56:21 tom Exp $
+.\" $Id: terminfo.tail,v 1.140 2023/12/23 16:23:35 tom Exp $
 .ps +1
 .SS "User-Defined Capabilities"
 .
@@ -523,7 +523,7 @@ will give unpredictable results, because dynamic variables are
 an uninitialized local array on the stack in the \fBtparm\fP function.
 .bP
 SVr3.2 curses supported \fIstatic\fP variables.
-Those are an array in the \fBTERMINAL\fP
+Those are an array in the \fI\%TERMINAL\fP
 structure (declared in \fBterm.h\fP),
 and are zeroed automatically when the \fBsetupterm\fP function
 allocates the data.
index 384d8d629e256560c7ff9b3d7f1e9afe4967c0f8..7471ad8b715c02cf118b03275602e08cc0e7934b 100644 (file)
@@ -27,8 +27,8 @@
 .\" authorization.                                                           *
 .\"***************************************************************************
 .\"
-.\" $Id: tic.1m,v 1.104 2023/12/16 20:33:11 tom Exp $
-.TH @TIC@ 1M 2023-12-16 "ncurses 6.4" "User commands"
+.\" $Id: tic.1m,v 1.105 2023/12/23 16:08:25 tom Exp $
+.TH @TIC@ 1M 2023-12-23 "ncurses 6.4" "User commands"
 .ie \n(.g \{\
 .ds `` \(lq
 .ds '' \(rq
@@ -139,7 +139,7 @@ the system terminfo database (\fI\*d\fP).
 .PP
 The \fIFetching Compiled Descriptions\fP section in the \fBterminfo\fR(5)
 manual goes into further detail.
-.SS ALIASES
+.SS Aliases
 This is the same program as @INFOTOCAP@ and @CAPTOINFO@;
 usually those are linked to, or copied from this program:
 .bP
@@ -402,7 +402,7 @@ it will infer its type (boolean, number or string) from the syntax and
 make an extended table entry for that.
 User-defined capability strings
 whose name begins with \*(``k\*('' are treated as function keys.
-.SS PARAMETERS
+.SS Parameters
 .TP
 \fIfile\fP
 contains one or more \fBterminfo\fP terminal descriptions in source
@@ -412,7 +412,7 @@ describes the capabilities of a particular terminal.
 .IP
 If \fIfile\fP is \*(``-\*('', then the data is read from the standard input.
 The \fIfile\fP parameter may also be the path of a character-device.
-.SS PROCESSING
+.SS Processing
 All but one of the capabilities recognized by \fB@TIC@\fP are documented
 in \fBterminfo\fP(5).
 The exception is the \fBuse\fP capability.
index 3811e6ad4e3865cb80d7bb88192dcecbca7cd13e..e1e9d9d411dac1389e8cd21607e0fc6dc80d9fda 100644 (file)
@@ -28,8 +28,8 @@
 .\" authorization.                                                           *
 .\"***************************************************************************
 .\"
-.\" $Id: tput.1,v 1.92 2023/12/16 20:32:22 tom Exp $
-.TH @TPUT@ 1 2023-12-16 "ncurses 6.4" "User commands"
+.\" $Id: tput.1,v 1.96 2023/12/23 20:55:36 tom Exp $
+.TH @TPUT@ 1 2023-12-23 "ncurses 6.4" "User commands"
 .ie \n(.g \{\
 .ds `` \(lq
 .ds '' \(rq
 .SH NAME
 \fB\%@TPUT@\fP,
 \fB\%reset\fP \-
-initialize a terminal or query \fIterminfo\fR database
+initialize a terminal or query \fI\%term\%info\fP database
 .SH SYNOPSIS
-\fB@TPUT@\fR [\fB\-T \fIterminal-type\fR] \fIcapname\fR [\fIparameters\fR]
-.br
-\fB@TPUT@\fR [\fB\-T \fIterminal-type\fR] [\fB\-x\fR] \fBclear\fR
-.br
-\fB@TPUT@\fR [\fB\-T \fIterminal-type\fR] \fBinit\fR
-.br
-\fB@TPUT@\fR [\fB\-T \fIterminal-type\fR] \fBreset\fR
-.br
-\fB@TPUT@\fR [\fB\-T \fIterminal-type\fR] \fBlongname\fR
-.br
-\fB@TPUT@ \-S\fP  \fB<<\fP
-.br
+\fB@TPUT@\fP [\fB\-T\fP \fIterminal-type\fP] \fIcap-code\fP [\fIparameter\fP .\|.\|.]
+.PP
+\fB@TPUT@\fP [\fB\-T\fP \fIterminal-type\fP] [\fB\-x\fP] \fBclear\fP
+.PP
+\fB@TPUT@\fP [\fB\-T\fP \fIterminal-type\fP] \fBinit\fP
+.PP
+\fB@TPUT@\fP [\fB\-T\fP \fIterminal-type\fP] \fBreset\fP
+.PP
+\fB@TPUT@\fP [\fB\-T\fP \fIterminal-type\fP] \fBlongname\fP
+.PP
+\fB@TPUT@ \-S\fP
+.PP
 \fB@TPUT@ \-V\fP
 .SH DESCRIPTION
-The \fB@TPUT@\fP utility uses the \fBterminfo\fP database to make the
-values of terminal-dependent capabilities and information available to
-the shell (see \fBsh\fP(1)), to initialize or reset the terminal, or
-return the long name of the requested terminal type.
-The result depends upon the capability's type:
-.RS 3
-.TP 5
-string
-\fB@TPUT@\fP writes the string to the standard output.
-No trailing newline is supplied.
+\fB@TPUT@\fP uses the \fI\%term\%info\fP library and database to make
+the values of terminal-specific capabilities and information available
+to the shell,
+to initialize or reset the terminal,
+or report the long name of the current
+(or specified)
+terminal type.
+When retrieving capability values,
+the result depends upon the capability's type.
+.TP 9 \" "Boolean" + 2n
+Boolean
+\fB@TPUT@\fP sets its exit status to
+.B 0
+if the terminal possesses
+.I cap-code,
+and
+.B 1
+if it does not.
 .TP
 integer
-\fB@TPUT@\fP writes the decimal value to the standard output,
-with a trailing newline.
+\fB@TPUT@\fP writes
+.IR cap-code 's
+decimal value to the standard output stream if defined
+.RB ( \-1
+if it is not)
+followed by a newline.
 .TP
-boolean
-\fB@TPUT@\fP simply sets the exit code
-(\fB0\fP for TRUE if the terminal has the capability,
-\fB1\fP for FALSE if it does not),
-and writes nothing to the standard output.
-.RE
+string
+\fB@TPUT@\fP writes
+.IR cap-code 's
+value to the standard output stream if defined,
+without a trailing newline.
 .PP
 Before using a value returned on the standard output,
-the application should test the exit code
-(e.g., \fB$?\fP, see \fBsh\fP(1)) to be sure it is \fB0\fP.
-(See the \fBEXIT STATUS\fP and \fBDIAGNOSTICS\fP sections.)
-For a complete list of capabilities
-and the \fIcapname\fP associated with each, see \fBterminfo\fP(5).
+the application should test \fB@TPUT@\fP's exit status
+(for example,
+using \fB$?\fP in \fIsh\fP(1))
+to be sure it is \fB0\fP;
+see sections \*(``EXIT STATUS\*('' and \*(``DIAGNOSTICS\*('' below.
+For a complete list of
+.I cap-codes,
+see \fB\%terminfo\fP(5).
 .SS Options
 .TP
 \fB\-S\fP
-allows more than one capability per invocation of \fB@TPUT@\fP.  The
-capabilities must be passed to \fB@TPUT@\fP from the standard input
-instead of from the command line (see example).
-Only one \fIcapname\fP is allowed per line.
+allows more than one capability per invocation of \fB@TPUT@\fP.
+The capabilities must be passed to \fB@TPUT@\fP from the standard input
+instead of from the command line
+(see example).
+Only one \fIcap-code\fP is allowed per line.
 The \fB\-S\fP option changes the
-meaning of the \fB0\fP and \fB1\fP boolean and string exit codes (see the
-EXIT STATUS section).
+meaning of the \fB0\fP and \fB1\fP Boolean and string exit statuses
+(see section \*(``EXIT STATUS\*('' below).
 .IP
 Because some capabilities may use
 \fIstring\fP parameters rather than \fInumbers\fP,
@@ -128,11 +143,11 @@ prevents \fB\%@TPUT@\fP from attempting to clear the scrollback buffer.
 A few commands (\fBinit\fP, \fBreset\fP and \fBlongname\fP) are
 special; they are defined by the \fB@TPUT@\fP program.
 The others are the names of \fIcapabilities\fP from the terminal database
-(see \fBterminfo\fP(5) for a list).
+(see \fB\%terminfo\fP(5) for a list).
 Although \fBinit\fP and \fBreset\fP resemble capability names,
 \fB@TPUT@\fP uses several capabilities to perform these special functions.
 .TP
-\fIcapname\fP
+\fIcap-code\fP
 indicates the capability from the terminal database.
 .IP
 If the capability is a string that takes parameters, the arguments
@@ -194,7 +209,7 @@ standard tabs will be set (every 8 spaces).
 .TP
 (4)
 if present, the terminal's initialization strings will be
-output as detailed in the \fBterminfo\fP(5) section on
+output as detailed in the \fB\%terminfo\fP(5) section on
 .IR "Tabs and Initialization" ,
 .TP
 (5)
@@ -233,13 +248,18 @@ strings are, the \fIinitialization\fP strings will be output.
 .IP
 Otherwise, \fBreset\fP acts identically to \fBinit\fP.
 .TP
-\fBlongname\fP
-If the terminal database is present and an entry for the
-user's terminal exists (see \fB\-T\fItype\fR above), then the long name
-of the terminal will be put out.
-The long name is the last
-name in the first line of the terminal's description in the
-\fBterminfo\fP database [see \fBterm\fP(5)].
+.B longname
+If the terminal database is present and an entry for the user's terminal
+exists
+(see
+.B \-T
+.I type
+above),
+\fB\%@TPUT@\fP reports the terminal's description
+(or \*(``long name\*('')
+to the standard output,
+without a trailing newline.
+See \fBterm\fP(5).
 .SS Aliases
 \fB@TPUT@\fP handles the \fBclear\fP, \fBinit\fP and \fBreset\fP
 commands specially:
@@ -282,7 +302,7 @@ If \fB@TPUT@\fP is invoked by a link named \fBinit\fP, this has the
 same effect as \fB@TPUT@ init\fP.
 Again, you are less likely to use that link because another program
 named \fBinit\fP has a more well-established use.
-.SS Terminal Size
+.SS "Terminal Size"
 Besides the special commands (e.g., \fBclear\fP),
 @TPUT@ treats certain terminfo capabilities specially:
 \fBlines\fP and \fBcols\fP.
@@ -305,60 +325,61 @@ relying upon the operating system (or finally, the terminal database).
 .SH EXIT STATUS
 If the \fB\-S\fP option is used,
 \fB@TPUT@\fP checks for errors from each line,
-and if any errors are found, will set the exit code to 4 plus the
+and if any errors are found, will set the exit status to 4 plus the
 number of lines with errors.
-If no errors are found, the exit code is \fB0\fP.
+If no errors are found, the exit status is \fB0\fP.
 No indication of which line failed can be given so
-exit code \fB1\fP will never appear.
-Exit codes \fB2\fP, \fB3\fP, and
+exit status \fB1\fP will never appear.
+Exit statuses \fB2\fP, \fB3\fP, and
 \fB4\fP retain their usual interpretation.
 If the \fB\-S\fP option is not used,
-the exit code depends on the type of \fIcapname\fP:
+the exit status depends on the type of \fIcap-code\fP:
 .RS 3
 .TP
-.I boolean
+.I Boolean
 a value of \fB0\fP is set for TRUE and \fB1\fP for FALSE.
 .TP
 .I string
 a value of \fB0\fP is set if the
-\fIcapname\fP is defined for this terminal \fItype\fP (the value of
-\fIcapname\fP is returned on standard output);
-a value of \fB1\fP is set if \fIcapname\fP
+\fIcap-code\fP is defined for this terminal \fItype\fP (the value of
+\fIcap-code\fP is returned on standard output);
+a value of \fB1\fP is set if \fIcap-code\fP
 is not defined for this terminal \fItype\fP
 (nothing is written to standard output).
 .TP
 .I integer
 a value of \fB0\fP is always set,
-whether or not \fIcapname\fP is defined for this terminal \fItype\fP.
-To determine if \fIcapname\fP is defined for this terminal \fItype\fP,
+whether or not \fIcap-code\fP is defined for this terminal \fItype\fP.
+To determine if \fIcap-code\fP is defined for this terminal \fItype\fP,
 the user must test the value written to standard output.
 A value of \fB\-1\fP
-means that \fIcapname\fP is not defined for this terminal \fItype\fP.
+means that \fIcap-code\fP is not defined for this terminal \fItype\fP.
 .TP
 .I other
 \fBreset\fP or \fBinit\fP may fail to find their respective files.
-In that case, the exit code is set to 4 + \fBerrno\fP.
+In that case, the exit status is set to 4 + \fBerrno\fP.
 .RE
 .PP
-Any other exit code indicates an error; see the DIAGNOSTICS section.
+Any other exit status indicates an error;
+see section \*(``DIAGNOSTICS\*('' below.
 .SH DIAGNOSTICS
-\fB@TPUT@\fP prints the following error messages and sets the corresponding exit
-codes.
+\fB@TPUT@\fP prints the following error messages and sets the
+corresponding exit statuses.
 .PP
 .ne 15
 .TS
 l l.
-exit code      error message
+exit status    error message
 =
 \fB0\fP        T{
-(\fIcapname\fP is a numeric variable that is not specified in the
-\fBterminfo\fP(5) database for this terminal type, e.g.
+(\fIcap-code\fP is a numeric variable that is not specified in the
+\fB\%terminfo\fP(5) database for this terminal type, e.g.
 \fB@TPUT@ \-T450 lines\fP and \fB@TPUT@ \-Thp2621 xmc\fP)
 T}
 \fB1\fP        no error message is printed, see the \fBEXIT STATUS\fP section.
 \fB2\fP        usage error
-\fB3\fP        unknown terminal \fItype\fP or no \fBterminfo\fP database
-\fB4\fP        unknown \fBterminfo\fP capability \fIcapname\fP
+\fB3\fP        unknown terminal \fItype\fP or no \fI\%term\%info\fP database
+\fB4\fP        unknown \fI\%term\%info\fP capability \fIcap-code\fP
 \fB>4\fP       error occurred in \-S
 =
 .TE
@@ -373,7 +394,7 @@ compiled terminal description database
 This implementation of \fBtput\fP differs from AT&T \fBtput\fP in
 two important areas:
 .bP
-\fB@TPUT@\fP \fIcapname\fP writes to the standard output.
+\fB@TPUT@\fP \fIcap-code\fP writes to the standard output.
 That need not be a regular terminal.
 However, the subcommands which manipulate terminal modes
 may not use the standard output.
@@ -393,17 +414,18 @@ using functions shared with \fB@TSET@\fP
 If it is not able to open a terminal, e.g., when running in \fBcron\fP(1),
 \fB@TPUT@\fP will return an error.
 .bP
-AT&T \fBtput\fP guesses the type of its \fIcapname\fP operands by seeing if
-all of the characters are numeric, or not.
+AT&T \fBtput\fP guesses the type of its \fIcap-code\fP operands by
+seeing if all of the characters are numeric,
+or not.
 .IP
-Most implementations which provide support for \fIcapname\fP operands
+Most implementations which provide support for \fIcap-code\fP operands
 use the \fBtparm\fP function to expand parameters in it.
 That function expects a mixture of numeric and string parameters,
 requiring \fB@TPUT@\fP to know which type to use.
 .IP
 This implementation uses a table to determine the parameter types for
-the standard \fIcapname\fP operands, and an internal library
-function to analyze nonstandard \fIcapname\fP operands.
+the standard \fIcap-code\fP operands, and an internal library
+function to analyze nonstandard \fIcap-code\fP operands.
 .IP
 Besides providing more reliable operation than AT&T's utility,
 a portability problem is introduced by this analysis:
@@ -415,7 +437,7 @@ Portable applications should not rely upon this feature;
 specifically for OpenBSD.
 .PP
 This implementation (unlike others) can accept both \fItermcap\fP
-and \fIterminfo\fP names for the \fIcapname\fP feature,
+and \fIterminfo\fP names for the \fIcap-code\fP feature,
 if
 \fItermcap\fP support is compiled in.
 However, the predefined \fItermcap\fP and \fIterminfo\fP names have two
@@ -435,21 +457,27 @@ the \fItermcap\fP name \fBcd\fP (clear to end of screen).
 .PP
 The \fBlongname\fP and \fB\-S\fP options, and the parameter-substitution
 features used in the \fBcup\fP example,
-were not supported in BSD curses before 4.3reno (1989) or in
-AT&T/USL curses before SVr4 (1988).
+were not supported in
+AT&T/USL
+.I curses
+before SVr4 (1989).
+Later, 4.3BSD-Reno (1990) added support for \fBlongname\fP,
+.\" longname was added in October 1989.
+and NetBSD (1994) added support for the parameter-substitution features.
 .PP
 IEEE Std 1003.1/The Open Group  Base Specifications Issue 7 (POSIX.1-2008)
 documents only the operands for \fBclear\fP, \fBinit\fP and \fBreset\fP.
 There are a few interesting observations to make regarding that:
 .bP
-In this implementation, \fBclear\fP is part of the \fIcapname\fP support.
+In this implementation,
+\fBclear\fP is part of the \fIcap-code\fP support.
 The others (\fBinit\fP and \fBlongname\fP) do not correspond to terminal
 capabilities.
 .bP
 Other implementations of \fBtput\fP on
 SVr4-based systems such as Solaris, IRIX64 and HP-UX
 as well as others such as AIX and Tru64
-provide support for \fIcapname\fP operands.
+provide support for \fIcap-code\fP operands.
 .bP
 A few platforms such as FreeBSD recognize termcap names rather
 than terminfo capability names in their respective \fBtput\fP commands.
@@ -463,8 +491,8 @@ Because (apparently) \fIall\fP of the certified Unix systems
 support the full set of capability names, the reasoning for documenting
 only a few may not be apparent.
 .bP
-X/Open Curses Issue 7 documents \fBtput\fP differently, with \fIcapname\fP
-and the other features used in this implementation.
+X/Open Curses Issue 7 documents \fBtput\fP differently,
+with \fIcap-code\fP and the other features used in this implementation.
 .bP
 That is, there are two standards for \fBtput\fP:
 POSIX (a subset) and X/Open Curses (the full implementation).
@@ -472,29 +500,35 @@ POSIX documents a subset to avoid the complication of including X/Open Curses
 and the terminal capabilities database.
 .bP
 While it is certainly possible to write a \fBtput\fP program
-without using curses,
-none of the systems which have a curses implementation provide
-a \fBtput\fP utility which does not provide the \fIcapname\fP feature.
+without using
+.I curses,
+no system with a
+.I curses
+implementation provides a \fBtput\fP utility that does not also supply
+the \fIcap-code\fP feature.
 .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
-(i.e., Unix features documented in SVID 3):
+(that is,
+System\ V
+.I curses
+behavior).
 .bP
-It assigns exit code 4 to \*(``invalid operand\*('',
+It assigns exit status 4 to \*(``invalid operand\*('',
 which may be the same as \fIunknown capability\fP.
 For instance, the source code for Solaris' xcurses uses the term
 \*(``invalid\*('' in this case.
 .bP
-It assigns exit code 255 to a numeric variable that is not specified in
+It assigns exit status 255 to a numeric variable that is not specified in
 the terminfo database.
 That likely is a documentation error,
 confusing the \fB\-1\fP written to the standard output for an absent
-or cancelled numeric value versus an (unsigned) exit code.
+or cancelled numeric value versus an (unsigned) exit status.
 .PP
-The various Unix systems (AIX, HP-UX, Solaris) use the same exit-codes
+The various Unix systems (AIX, HP-UX, Solaris) use the same exit statuses
 as \fI\%ncurses\fP.
 .PP
-NetBSD curses documents different exit codes which do not correspond
+NetBSD curses documents different exit statuses which do not correspond
 to either \fI\%ncurses\fP or X/Open.
 .SH HISTORY
 The \fBtput\fP command was begun by Bill Joy in 1980.
@@ -548,14 +582,14 @@ were handled.
 .TP 5
 \fB@TPUT@ init\fP
 Initialize the terminal according to the type of
-terminal in the environmental variable \fITERM\fP.
+terminal in the environment variable \fITERM\fP.
 This command should be included in everyone's .profile after
-the environmental variable \fITERM\fP has been exported,
+the environment variable \fITERM\fP has been exported,
 as illustrated on the \fBprofile\fP(5) manual page.
 .TP 5
 \fB@TPUT@ \-T5620 reset\fP
 Reset an AT&T 5620 terminal, overriding the type of
-terminal in the environmental variable \fITERM\fP.
+terminal in the environment variable \fITERM\fP.
 .TP 5
 \fB@TPUT@ cup 0 0\fP
 Send the sequence to move the cursor to row \fB0\fP, column \fB0\fP
@@ -579,7 +613,7 @@ This might be followed by a
 prompt: \fBecho "${bold}Please type in your name: ${offbold}\ec"\fP
 .TP 5
 \fB@TPUT@ hc\fP
-Set exit code to indicate if the current terminal is a hard copy terminal.
+Set exit status to indicate if the current terminal is a hard copy terminal.
 .TP 5
 \fB@TPUT@ cup 23 4\fP
 Send the sequence to move the cursor to row 23, column 4.
@@ -588,29 +622,35 @@ Send the sequence to move the cursor to row 23, column 4.
 Send the terminfo string for cursor-movement, with no parameters substituted.
 .TP 5
 \fB@TPUT@ longname\fP
-Print the long name from the \fBterminfo\fP database for the
-type of terminal specified in the environmental
+Print the long name from the \fI\%term\%info\fP database for the
+type of terminal specified in the environment
 variable \fITERM\fP.
-.PP
-.RS 5
-\fB@TPUT@ \-S <<!\fP
-.br
-\fB> clear\fP
-.br
-\fB> cup 10 10\fP
-.br
-\fB> bold\fP
-.br
-\fB> !\fP
-.RE
 .TP 5
-\&
-This example shows \fB@TPUT@\fP processing several capabilities
-in one invocation.
+\fB@TPUT@ \-S\fP
+The \fB\-S\fP option can be profitably used with a shell
+\*(``here document\*(''.
+.IP
+.EX
+$ \fB@TPUT@ \-S <<!\fP
+> \fBclear\fP
+> \fBcup 10 10\fP
+> \fBbold\fP
+> \fB!\fP
+.EE
+.IP
+We see \fB@TPUT@\fP processing several capabilities in one invocation.
 It clears the screen,
-moves the cursor to position 10, 10
-and turns on bold (extra bright) mode.
-The list is terminated by an exclamation mark (\fB!\fP) on a line by itself.
+moves the cursor to position
+(10, 10)
+and turns on bold
+(extra bright)
+mode.
+.IP
+The same sequence of commands can be combined using the OpenBSD feature:
+.IP
+.EX
+$ \fB@TPUT@ \fBclear\fP \fBcup 10 10\fP \fBbold\fP
+.EE
 .SH SEE ALSO
 \fB\%@CLEAR@\fP(1),
 \fB\%stty\fP(1),
index 4621c8cfab1084e29fe4ab3acd9e20a86a3cd1a0..cf76c26e87442331ff3e495cefa98d090ee2393d 100644 (file)
@@ -27,8 +27,8 @@
 .\" authorization.                                                           *
 .\"***************************************************************************
 .\"
-.\" $Id: tset.1,v 1.78 2023/12/16 20:32:22 tom Exp $
-.TH @TSET@ 1 2023-12-16 "ncurses 6.4" "User commands"
+.\" $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"
 .ie \n(.g \{\
 .ds `` \(lq
 .ds '' \(rq
@@ -57,7 +57,7 @@ initialize or reset terminal state
 .br
 \fB@RESET@\fP [\fB\-IQVcqrsw\fP] [\fB\-\fP] [\fB\-e\fP \fIch\fP] [\fB\-i\fP \fIch\fP] [\fB\-k\fP \fIch\fP] [\fB\-m\fP \fImapping\fP] [\fIterminal-type\fP]
 .SH DESCRIPTION
-.SS tset - initialization
+.SS "\fItset\fP \(em initialization"
 This program initializes terminals.
 .PP
 First, \fB@TSET@\fP retrieves the current terminal mode settings
@@ -81,12 +81,12 @@ This determination is done as follows, using the first terminal type found.
 .PP
 1. The \fBterminal\fP argument specified on the command line.
 .PP
-2. The value of the \fITERM\fP environmental variable.
+2. The value of the \fITERM\fP environment variable.
 .PP
 3. (BSD systems only.) The terminal type associated with the standard
 error output device in the \fI/etc/ttys\fP file.
 (On System\ V hosts and systems using that convention,
-\fBgetty\fP(1) does this job by setting
+\fI\%getty\fP(8) does this job by setting
 \fITERM\fP according to the type passed to it by \fI\%/etc/inittab\fP.)
 .PP
 4. The default terminal type, \*(``unknown\*('',
@@ -129,7 +129,7 @@ and \fB@TSET@\fP waits one second (in case a hardware reset was issued).
 Finally, if the erase, interrupt and line kill characters have changed,
 or are not set to their default values, their values are displayed to the
 standard error output.
-.SS reset - reinitialization
+.SS "\fIreset\fP \(em reinitialization"
 When invoked as \fB@RESET@\fP, \fB@TSET@\fP sets the terminal
 modes to \*(``sane\*('' values:
 .bP
@@ -164,11 +164,13 @@ This is done using the \fB\-s\fP option.
 .PP
 When the \fB\-s\fP option is specified, the commands to enter the information
 into the shell's environment are written to the standard output.
-If the \fISHELL\fP environmental variable ends in \*(``csh\*('',
+If the \fISHELL\fP environment variable ends in \*(``csh\*('',
 the commands
-are for \fBcsh\fP, otherwise, they are for \fBsh\fP(1).
-Note, the \fBcsh\fP commands set and unset the shell variable
-\fBnoglob\fP, leaving it unset.
+are for \fIcsh\fP(1),
+otherwise,
+they are for \fIsh\fP(1).
+The \fIcsh\fP commands set and unset the shell variable \fBnoglob\fP,
+leaving it unset.
 The following line in the \fB.login\fP
 or \fB.profile\fP files will initialize the environment correctly:
 .sp
@@ -177,7 +179,7 @@ or \fB.profile\fP files will initialize the environment correctly:
 .SS "Terminal Type Mapping"
 When the terminal is not hardwired into the system (or the current
 system information is incorrect) the terminal type derived from the
-\fI/etc/ttys\fP file or the \fITERM\fP environmental variable is often
+\fI/etc/ttys\fP file or the \fITERM\fP environment variable is often
 something generic like \fBnetwork\fP, \fBdialup\fP, or \fBunknown\fP.
 When \fB@TSET@\fP is used in a startup script it is often desirable to
 provide information about the type of terminal used on such ports.
@@ -234,8 +236,8 @@ terminal.
 No whitespace characters are permitted in the \fB\-m\fP option argument.
 Also, to avoid problems with meta-characters, it is suggested that the
 entire \fB\-m\fP option argument be placed within single quote characters,
-and that \fBcsh\fP users insert a backslash character (\*(``\e\*('') before
-any exclamation marks (\*(``!\*('').
+and that \fIcsh\fP users insert a backslash character (\*(``\e\*('')
+before any exclamation marks (\*(``!\*('').
 .SH OPTIONS
 The options are as follows:
 .TP 5
@@ -295,8 +297,8 @@ If neither \fB\-c\fP or \fB\-w\fP is given, both options are assumed.
 The \fB@TSET@\fP command uses these environment variables:
 .TP 5
 .I SHELL
-tells \fB@TSET@\fP whether to initialize \fITERM\fP using \fBsh\fP(1) or
-\fBcsh\fP(1) syntax.
+tells \fB@TSET@\fP whether to initialize \fITERM\fP using \fIsh\fP(1) or
+\fIcsh\fP(1) syntax.
 .TP 5
 .I TERM
 Denotes your terminal type.
@@ -330,8 +332,8 @@ is always an alias for \fBtset\fP.
 The \fB\%@TSET@\fP utility provides backward compatibility with BSD
 environments;
 under most modern Unices,
-\fI\%/etc/inittab\fP and \fBgetty\fP(1) can set \fITERM\fP appropriately
-for each dial-up line,
+\fI\%/etc/inittab\fP and \fI\%getty\fP(8) can set \fITERM\fP
+appropriately for each dial-up line,
 obviating what was \fB\%@TSET@\fP's most important use.
 This implementation behaves like 4.4BSD \fBtset\fP,
 with a few exceptions we shall consider now.
index 033f9d464dece458d14296b407703d814d359ddc..978edbc49393fafaaf25db1a2b73093521a889e0 100644 (file)
@@ -28,8 +28,8 @@
 .\" authorization.                                                           *
 .\"***************************************************************************
 .\"
-.\" $Id: user_caps.5,v 1.42 2023/12/16 20:32:22 tom Exp $
-.TH user_caps 5 2023-12-16 "ncurses 6.4" "File formats"
+.\" $Id: user_caps.5,v 1.43 2023/12/23 16:08:25 tom Exp $
+.TH user_caps 5 2023-12-23 "ncurses 6.4" "File formats"
 .ie \n(.g \{\
 .ds `` \(lq
 .ds '' \(rq
@@ -185,7 +185,7 @@ to provide extended special-key names.
 Fitting that into termcap's limitation of 2-character names
 would be pointless.
 These extended keys are available only with terminfo.
-.SS Recognized capabilities
+.SS "Recognized Capabilities"
 The \fI\%ncurses\fP library uses the user-definable capabilities.
 While the terminfo database may have other extensions,
 \fI\%ncurses\fP makes explicit checks for these:
@@ -347,7 +347,7 @@ xterm mouse protocols:
              %?%p4%tM%em%;,
 .fi
 .
-.SS Extended key-definitions
+.SS "Extended Key Definitions"
 Several terminals provide the ability to send distinct strings for
 combinations of modified special keys.
 There is no standard for what those keys can send.
index 3eea42af758c900b6734c9a61db4b6f7ba2454a6..604dfb49099698e68841d207b8e180f7dc9910cc 100644 (file)
@@ -1,8 +1,8 @@
-ncurses6 (6.4+20231217) unstable; urgency=low
+ncurses6 (6.4+20231223) unstable; urgency=low
 
   * latest weekly patch
 
- -- Thomas E. Dickey <dickey@invisible-island.net>  Sun, 17 Dec 2023 18:18:40 -0500
+ -- Thomas E. Dickey <dickey@invisible-island.net>  Sat, 23 Dec 2023 06:35:00 -0500
 
 ncurses6 (5.9+20131005) unstable; urgency=low
 
index 3eea42af758c900b6734c9a61db4b6f7ba2454a6..604dfb49099698e68841d207b8e180f7dc9910cc 100644 (file)
@@ -1,8 +1,8 @@
-ncurses6 (6.4+20231217) unstable; urgency=low
+ncurses6 (6.4+20231223) unstable; urgency=low
 
   * latest weekly patch
 
- -- Thomas E. Dickey <dickey@invisible-island.net>  Sun, 17 Dec 2023 18:18:40 -0500
+ -- Thomas E. Dickey <dickey@invisible-island.net>  Sat, 23 Dec 2023 06:35:00 -0500
 
 ncurses6 (5.9+20131005) unstable; urgency=low
 
index 794660ba76c494bcf2fbda7cad6e6f6244fb4a7d..523158415a18c41f5a2ce7e5c4f001f5ae20aea6 100644 (file)
@@ -1,8 +1,8 @@
-ncurses6 (6.4+20231217) unstable; urgency=low
+ncurses6 (6.4+20231223) unstable; urgency=low
 
   * latest weekly patch
 
- -- Thomas E. Dickey <dickey@invisible-island.net>  Sun, 17 Dec 2023 18:18:40 -0500
+ -- Thomas E. Dickey <dickey@invisible-island.net>  Sat, 23 Dec 2023 06:35:00 -0500
 
 ncurses6 (5.9+20120608) unstable; urgency=low
 
index 96cb0d310581f5602e2ae7986a067643a17fc017..d6da23ae3df58649411a4e24edbef8f38dede1cd 100644 (file)
@@ -1,4 +1,4 @@
-; $Id: mingw-ncurses.nsi,v 1.624 2023/12/17 23:18:40 tom Exp $\r
+; $Id: mingw-ncurses.nsi,v 1.625 2023/12/23 11:35:00 tom Exp $\r
 \r
 ; TODO add examples\r
 ; TODO bump ABI to 6\r
@@ -10,7 +10,7 @@
 !define VERSION_MAJOR "6"\r
 !define VERSION_MINOR "4"\r
 !define VERSION_YYYY  "2023"\r
-!define VERSION_MMDD  "1217"\r
+!define VERSION_MMDD  "1223"\r
 !define VERSION_PATCH ${VERSION_YYYY}${VERSION_MMDD}\r
 \r
 !define MY_ABI   "5"\r
index 43652ce496fb27b4a95d5409ba29396f5b0a75c0..9f0736e32c235a8ba0ac497ef63e485146b394c0 100644 (file)
@@ -3,7 +3,7 @@
 Summary: shared libraries for terminal handling
 Name: mingw32-ncurses6
 Version: 6.4
-Release: 20231217
+Release: 20231223
 License: X11
 Group: Development/Libraries
 URL: https://invisible-island.net/ncurses/
index faccbf19449a20e38c55c954640ddd03588ec6dd..391eed7aeec14a0758731bb257cf2c6bde8ea747 100644 (file)
@@ -1,7 +1,7 @@
 Summary: shared libraries for terminal handling
 Name: ncurses6
 Version: 6.4
-Release: 20231217
+Release: 20231223
 License: X11
 Group: Development/Libraries
 URL: https://invisible-island.net/ncurses/
index 4312edb7ada43e32f32297498ed238edd60dc8e1..cfe212cb356623a09795168dfd578720c18b879f 100644 (file)
@@ -1,7 +1,7 @@
 Summary: Curses library with POSIX thread support.
 Name: ncursest6
 Version: 6.4
-Release: 20231217
+Release: 20231223
 License: X11
 Group: Development/Libraries
 Source: ncurses-%{version}-%{release}.tgz