aboutsummaryrefslogtreecommitdiff
path: root/doc/html/man
diff options
context:
space:
mode:
Diffstat (limited to 'doc/html/man')
-rw-r--r--doc/html/man/adacurses-config.1.html98
-rw-r--r--doc/html/man/adacurses6-config.1.html145
-rw-r--r--doc/html/man/captoinfo.1m.html174
-rw-r--r--doc/html/man/clear.1.html145
-rw-r--r--doc/html/man/curs_add_wch.3x.html394
-rw-r--r--doc/html/man/curs_add_wchstr.3x.html119
-rw-r--r--doc/html/man/curs_addch.3x.html386
-rw-r--r--doc/html/man/curs_addchstr.3x.html107
-rw-r--r--doc/html/man/curs_addstr.3x.html95
-rw-r--r--doc/html/man/curs_addwstr.3x.html102
-rw-r--r--doc/html/man/curs_attr.3x.html649
-rw-r--r--doc/html/man/curs_beep.3x.html82
-rw-r--r--doc/html/man/curs_bkgd.3x.html189
-rw-r--r--doc/html/man/curs_bkgrnd.3x.html135
-rw-r--r--doc/html/man/curs_border.3x.html120
-rw-r--r--doc/html/man/curs_border_set.3x.html116
-rw-r--r--doc/html/man/curs_clear.3x.html134
-rw-r--r--doc/html/man/curs_color.3x.html641
-rw-r--r--doc/html/man/curs_delch.3x.html88
-rw-r--r--doc/html/man/curs_deleteln.3x.html107
-rw-r--r--doc/html/man/curs_extend.3x.html109
-rw-r--r--doc/html/man/curs_get_wch.3x.html175
-rw-r--r--doc/html/man/curs_get_wstr.3x.html185
-rw-r--r--doc/html/man/curs_getcchar.3x.html200
-rw-r--r--doc/html/man/curs_getch.3x.html600
-rw-r--r--doc/html/man/curs_getstr.3x.html197
-rw-r--r--doc/html/man/curs_getyx.3x.html119
-rw-r--r--doc/html/man/curs_in_wch.3x.html83
-rw-r--r--doc/html/man/curs_in_wchstr.3x.html101
-rw-r--r--doc/html/man/curs_inch.3x.html130
-rw-r--r--doc/html/man/curs_inchstr.3x.html122
-rw-r--r--doc/html/man/curs_initscr.3x.html316
-rw-r--r--doc/html/man/curs_inopts.3x.html440
-rw-r--r--doc/html/man/curs_ins_wch.3x.html78
-rw-r--r--doc/html/man/curs_ins_wstr.3x.html115
-rw-r--r--doc/html/man/curs_insch.3x.html95
-rw-r--r--doc/html/man/curs_insstr.3x.html112
-rw-r--r--doc/html/man/curs_instr.3x.html102
-rw-r--r--doc/html/man/curs_inwstr.3x.html111
-rw-r--r--doc/html/man/curs_kernel.3x.html283
-rw-r--r--doc/html/man/curs_legacy.3x.html129
-rw-r--r--doc/html/man/curs_memleaks.3x.html120
-rw-r--r--doc/html/man/curs_mouse.3x.html469
-rw-r--r--doc/html/man/curs_move.3x.html76
-rw-r--r--doc/html/man/curs_opaque.3x.html99
-rw-r--r--doc/html/man/curs_outopts.3x.html341
-rw-r--r--doc/html/man/curs_overlay.3x.html125
-rw-r--r--doc/html/man/curs_pad.3x.html310
-rw-r--r--doc/html/man/curs_print.3x.html97
-rw-r--r--doc/html/man/curs_printw.3x.html130
-rw-r--r--doc/html/man/curs_refresh.3x.html208
-rw-r--r--doc/html/man/curs_scanw.3x.html161
-rw-r--r--doc/html/man/curs_scr_dump.3x.html141
-rw-r--r--doc/html/man/curs_scroll.3x.html108
-rw-r--r--doc/html/man/curs_slk.3x.html361
-rw-r--r--doc/html/man/curs_sp_funcs.3x.html200
-rw-r--r--doc/html/man/curs_termattrs.3x.html187
-rw-r--r--doc/html/man/curs_termcap.3x.html326
-rw-r--r--doc/html/man/curs_terminfo.3x.html754
-rw-r--r--doc/html/man/curs_threads.3x.html1120
-rw-r--r--doc/html/man/curs_touch.3x.html146
-rw-r--r--doc/html/man/curs_trace.3x.html291
-rw-r--r--doc/html/man/curs_util.3x.html556
-rw-r--r--doc/html/man/curs_variables.3x.html249
-rw-r--r--doc/html/man/curs_window.3x.html328
-rw-r--r--doc/html/man/default_colors.3x.html204
-rw-r--r--doc/html/man/define_key.3x.html87
-rw-r--r--doc/html/man/form.3x.html323
-rw-r--r--doc/html/man/form_cursor.3x.html87
-rw-r--r--doc/html/man/form_data.3x.html79
-rw-r--r--doc/html/man/form_driver.3x.html453
-rw-r--r--doc/html/man/form_field.3x.html109
-rw-r--r--doc/html/man/form_field_attributes.3x.html105
-rw-r--r--doc/html/man/form_field_buffer.3x.html163
-rw-r--r--doc/html/man/form_field_info.3x.html110
-rw-r--r--doc/html/man/form_field_just.3x.html94
-rw-r--r--doc/html/man/form_field_new.3x.html118
-rw-r--r--doc/html/man/form_field_opts.3x.html171
-rw-r--r--doc/html/man/form_field_userptr.3x.html87
-rw-r--r--doc/html/man/form_field_validation.3x.html216
-rw-r--r--doc/html/man/form_fieldtype.3x.html164
-rw-r--r--doc/html/man/form_hook.3x.html116
-rw-r--r--doc/html/man/form_new.3x.html92
-rw-r--r--doc/html/man/form_new_page.3x.html91
-rw-r--r--doc/html/man/form_opts.3x.html105
-rw-r--r--doc/html/man/form_page.3x.html108
-rw-r--r--doc/html/man/form_post.3x.html93
-rw-r--r--doc/html/man/form_requestname.3x.html95
-rw-r--r--doc/html/man/form_userptr.3x.html89
-rw-r--r--doc/html/man/form_variables.3x.html97
-rw-r--r--doc/html/man/form_win.3x.html109
-rw-r--r--doc/html/man/index.html25
-rw-r--r--doc/html/man/infocmp.1m.html819
-rw-r--r--doc/html/man/infotocap.1m.html98
-rw-r--r--doc/html/man/key_defined.3x.html74
-rw-r--r--doc/html/man/keybound.3x.html79
-rw-r--r--doc/html/man/keyok.3x.html78
-rw-r--r--doc/html/man/legacy_coding.3x.html96
-rw-r--r--doc/html/man/menu.3x.html161
-rw-r--r--doc/html/man/menu_attributes.3x.html122
-rw-r--r--doc/html/man/menu_cursor.3x.html86
-rw-r--r--doc/html/man/menu_driver.3x.html176
-rw-r--r--doc/html/man/menu_format.3x.html103
-rw-r--r--doc/html/man/menu_hook.3x.html118
-rw-r--r--doc/html/man/menu_items.3x.html107
-rw-r--r--doc/html/man/menu_mark.3x.html109
-rw-r--r--doc/html/man/menu_new.3x.html91
-rw-r--r--doc/html/man/menu_opts.3x.html110
-rw-r--r--doc/html/man/menu_pattern.3x.html108
-rw-r--r--doc/html/man/menu_post.3x.html97
-rw-r--r--doc/html/man/menu_requestname.3x.html95
-rw-r--r--doc/html/man/menu_spacing.3x.html114
-rw-r--r--doc/html/man/menu_userptr.3x.html89
-rw-r--r--doc/html/man/menu_win.3x.html109
-rw-r--r--doc/html/man/mitem_current.3x.html119
-rw-r--r--doc/html/man/mitem_name.3x.html82
-rw-r--r--doc/html/man/mitem_new.3x.html103
-rw-r--r--doc/html/man/mitem_opts.3x.html101
-rw-r--r--doc/html/man/mitem_userptr.3x.html87
-rw-r--r--doc/html/man/mitem_value.3x.html88
-rw-r--r--doc/html/man/mitem_visible.3x.html74
-rw-r--r--doc/html/man/ncurses.3x.html2488
-rw-r--r--doc/html/man/ncurses6-config.1.html (renamed from doc/html/man/ncurses5-config.1.html)65
-rw-r--r--doc/html/man/new_pair.3x.html186
-rw-r--r--doc/html/man/panel.3x.html276
-rw-r--r--doc/html/man/resizeterm.3x.html195
-rw-r--r--doc/html/man/scr_dump.5.html435
-rw-r--r--doc/html/man/tabs.1.html223
-rw-r--r--doc/html/man/term.5.html479
-rw-r--r--doc/html/man/term.7.html291
-rw-r--r--doc/html/man/term_variables.3x.html240
-rw-r--r--doc/html/man/terminfo.5.html4499
-rw-r--r--doc/html/man/tic.1m.html688
-rw-r--r--doc/html/man/toe.1m.html197
-rw-r--r--doc/html/man/tput.1.html662
-rw-r--r--doc/html/man/tset.1.html553
-rw-r--r--doc/html/man/user_caps.5.html400
-rw-r--r--doc/html/man/wresize.3x.html94
138 files changed, 18730 insertions, 15255 deletions
diff --git a/doc/html/man/adacurses-config.1.html b/doc/html/man/adacurses-config.1.html
deleted file mode 100644
index 11fd61facf3c..000000000000
--- a/doc/html/man/adacurses-config.1.html
+++ /dev/null
@@ -1,98 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN">
-<!--
- ****************************************************************************
- * Copyright (c) 2010,2011 Free Software Foundation, Inc. *
- * *
- * Permission is hereby granted, free of charge, to any person obtaining a *
- * copy of this software and associated documentation files (the *
- * "Software"), to deal in the Software without restriction, including *
- * without limitation the rights to use, copy, modify, merge, publish, *
- * distribute, distribute with modifications, sublicense, and/or sell *
- * copies of the Software, and to permit persons to whom the Software is *
- * furnished to do so, subject to the following conditions: *
- * *
- * The above copyright notice and this permission notice shall be included *
- * in all copies or substantial portions of the Software. *
- * *
- * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS *
- * OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF *
- * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. *
- * IN NO EVENT SHALL THE ABOVE COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, *
- * DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR *
- * OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR *
- * THE USE OR OTHER DEALINGS IN THE SOFTWARE. *
- * *
- * Except as contained in this notice, the name(s) of the above copyright *
- * holders shall not be used in advertising or otherwise to promote the *
- * sale, use or other dealings in this Software without prior written *
- * authorization. *
- ****************************************************************************
- * @Id: MKada_config.in,v 1.5 2011/03/26 14:44:51 tom Exp @
--->
-<HTML>
-<HEAD>
-<TITLE>ADACURSES 1 User Commands</TITLE>
-<link rev=made href="mailto:bug-ncurses@gnu.org">
-<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
-</HEAD>
-<BODY>
-<H1>ADACURSES 1 User Commands</H1>
-<HR>
-<PRE>
-<!-- Manpage converted by man2html 3.0.1 -->
-<STRONG><A HREF="ADACURSES.1.html">ADACURSES(1)</A></STRONG> User Commands <STRONG><A HREF="ADACURSES.1.html">ADACURSES(1)</A></STRONG>
-
-
-
-
-</PRE>
-<H2>NAME</H2><PRE>
- adacurses-config - helper script for AdaCurses libraries
-
-
-</PRE>
-<H2>SYNOPSIS</H2><PRE>
- <STRONG>adacurses-config</STRONG> [<EM>options</EM>]
-
-
-</PRE>
-<H2>DESCRIPTION</H2><PRE>
- This is a shell script which simplifies configuring an
- application to use the AdaCurses library binding to
- ncurses.
-
-
-</PRE>
-<H2>OPTIONS</H2><PRE>
- <STRONG>--cflags</STRONG>
- echos the gnat (Ada compiler) flags needed to com-
- pile with AdaCurses.
-
- <STRONG>--libs</STRONG> echos the gnat libraries needed to link with
- AdaCurses.
-
- <STRONG>--version</STRONG>
- echos the release+patchdate version of the ncurses
- libraries used to configure and build AdaCurses.
-
- <STRONG>--help</STRONG> prints a list of the <STRONG>adacurses-config</STRONG> script's
- options.
-
-
-</PRE>
-<H2>SEE ALSO</H2><PRE>
- <STRONG><A HREF="ncurses.3x.html">curses(3x)</A></STRONG>
-
- This describes <STRONG>ncurses</STRONG> version 5.9 (patch 20131221).
-
-
-
- <STRONG><A HREF="ADACURSES.1.html">ADACURSES(1)</A></STRONG>
-</PRE>
-<HR>
-<ADDRESS>
-Man(1) output converted with
-<a href="http://www.oac.uci.edu/indiv/ehood/man2html.html">man2html</a>
-</ADDRESS>
-</BODY>
-</HTML>
diff --git a/doc/html/man/adacurses6-config.1.html b/doc/html/man/adacurses6-config.1.html
new file mode 100644
index 000000000000..92d3f2e1b8ea
--- /dev/null
+++ b/doc/html/man/adacurses6-config.1.html
@@ -0,0 +1,145 @@
+<!--
+ ****************************************************************************
+ * Copyright (c) 2010-2016,2019 Free Software Foundation, Inc. *
+ * *
+ * Permission is hereby granted, free of charge, to any person obtaining a *
+ * copy of this software and associated documentation files (the *
+ * "Software"), to deal in the Software without restriction, including *
+ * without limitation the rights to use, copy, modify, merge, publish, *
+ * distribute, distribute with modifications, sublicense, and/or sell *
+ * copies of the Software, and to permit persons to whom the Software is *
+ * furnished to do so, subject to the following conditions: *
+ * *
+ * The above copyright notice and this permission notice shall be included *
+ * in all copies or substantial portions of the Software. *
+ * *
+ * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS *
+ * OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF *
+ * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. *
+ * IN NO EVENT SHALL THE ABOVE COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, *
+ * DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR *
+ * OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR *
+ * THE USE OR OTHER DEALINGS IN THE SOFTWARE. *
+ * *
+ * Except as contained in this notice, the name(s) of the above copyright *
+ * holders shall not be used in advertising or otherwise to promote the *
+ * sale, use or other dealings in this Software without prior written *
+ * authorization. *
+ ****************************************************************************
+ * @Id: MKada_config.in,v 1.11 2019/09/07 20:22: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>ADACURSES 1 User Commands</TITLE>
+<link rel="author" href="mailto:bug-ncurses@gnu.org">
+<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
+</HEAD>
+<BODY>
+<H1 class="no-header">ADACURSES 1 User Commands</H1>
+<PRE>
+<STRONG>ADACURSES(1)</STRONG> User Commands <STRONG>ADACURSES(1)</STRONG>
+
+
+
+
+</PRE><H2><a name="h2-NAME">NAME</a></H2><PRE>
+ adacurses6-config - helper script for AdaCurses libraries
+
+
+</PRE><H2><a name="h2-SYNOPSIS">SYNOPSIS</a></H2><PRE>
+ <STRONG>adacurses6-config</STRONG> [<EM>options</EM>]
+
+
+</PRE><H2><a name="h2-DESCRIPTION">DESCRIPTION</a></H2><PRE>
+ This is a shell script which simplifies configuring an application to
+ use the AdaCurses library binding to ncurses.
+
+
+</PRE><H2><a name="h2-OPTIONS">OPTIONS</a></H2><PRE>
+ <STRONG>--cflags</STRONG>
+ echos the gnat (Ada compiler) flags needed to compile with
+ AdaCurses.
+
+ <STRONG>--libs</STRONG> echos the gnat libraries needed to link with AdaCurses.
+
+ <STRONG>--version</STRONG>
+ echos the release+patchdate version of the ncurses libraries
+ used to configure and build AdaCurses.
+
+ <STRONG>--help</STRONG> prints a list of the <STRONG>adacurses6-config</STRONG> script's options.
+
+ If no options are given, <STRONG>adacurses6-config</STRONG> prints the combination of
+ <STRONG>--cflags</STRONG> and <STRONG>--libs</STRONG> that <STRONG>gnatmake</STRONG> expects (see example).
+
+
+</PRE><H2><a name="h2-EXAMPLE">EXAMPLE</a></H2><PRE>
+ For example, supposing that you want to compile the "Hello World!"
+ program for AdaCurses. Make a file named "hello.adb":
+ with Terminal_Interface.Curses; use Terminal_Interface.Curses;
+
+ procedure Hello is
+
+ Visibility : Cursor_Visibility := Invisible;
+ done : Boolean := False;
+ c : Key_Code;
+
+ begin
+
+ Init_Screen;
+ Set_Echo_Mode (False);
+
+ Set_Cursor_Visibility (Visibility);
+ Set_Timeout_Mode (Standard_Window, Non_Blocking, 0);
+
+ Move_Cursor (Line =&gt; Lines / 2, Column =&gt; (Columns - 12) / 2);
+ Add (Str =&gt; "Hello World!");
+
+ while not done loop
+
+ c := Get_Keystroke (Standard_Window);
+ case c is
+ when Character'Pos ('q') =&gt; done := True;
+ when others =&gt; null;
+ end case;
+
+ Nap_Milli_Seconds (50);
+ end loop;
+
+ End_Windows;
+
+ end Hello;
+
+ Then, using
+ gnatmake `adacurses-config --cflags` hello -largs `adacurses-
+ config --libs`
+
+ or (simpler):
+ gnatmake hello `adacurses-config`
+
+ you will compile and link the program.
+
+
+</PRE><H2><a name="h2-SEE-ALSO">SEE ALSO</a></H2><PRE>
+ <STRONG><A HREF="ncurses.3x.html">curses(3x)</A></STRONG>
+
+ This describes <STRONG>ncurses</STRONG> version 6.1 (patch 20200118).
+
+
+
+ <STRONG>ADACURSES(1)</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>
+<li><a href="#h2-OPTIONS">OPTIONS</a></li>
+<li><a href="#h2-EXAMPLE">EXAMPLE</a></li>
+<li><a href="#h2-SEE-ALSO">SEE ALSO</a></li>
+</ul>
+</div>
+</BODY>
+</HTML>
diff --git a/doc/html/man/captoinfo.1m.html b/doc/html/man/captoinfo.1m.html
index 2251ab041499..7228f73ff20b 100644
--- a/doc/html/man/captoinfo.1m.html
+++ b/doc/html/man/captoinfo.1m.html
@@ -1,8 +1,7 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN">
<!--
* t
****************************************************************************
- * Copyright (c) 1998-2007,2010 Free Software Foundation, Inc. *
+ * Copyright (c) 1998-2018,2019 Free Software Foundation, Inc. *
* *
* Permission is hereby granted, free of charge, to any person obtaining a *
* copy of this software and associated documentation files (the *
@@ -28,78 +27,69 @@
* sale, use or other dealings in this Software without prior written *
* authorization. *
****************************************************************************
- * @Id: captoinfo.1m,v 1.25 2010/12/04 18:36:44 tom Exp @
+ * @Id: captoinfo.1m,v 1.29 2019/10/12 21:10:00 tom Exp @
-->
+<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN">
<HTML>
<HEAD>
+<meta http-equiv="Content-Type" content="text/html; charset=us-ascii">
+<meta name="generator" content="Manpage converted by man2html - see https://invisible-island.net/scripts/readme.html#others_scripts">
<TITLE>captoinfo 1m</TITLE>
-<link rev=made href="mailto:bug-ncurses@gnu.org">
+<link rel="author" href="mailto:bug-ncurses@gnu.org">
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
</HEAD>
<BODY>
-<H1>captoinfo 1m</H1>
-<HR>
+<H1 class="no-header">captoinfo 1m</H1>
<PRE>
-<!-- Manpage converted by man2html 3.0.1 -->
-<STRONG><A HREF="captoinfo.1m.html">captoinfo(1m)</A></STRONG> <STRONG><A HREF="captoinfo.1m.html">captoinfo(1m)</A></STRONG>
+<STRONG><A HREF="captoinfo.1m.html">captoinfo(1m)</A></STRONG> <STRONG><A HREF="captoinfo.1m.html">captoinfo(1m)</A></STRONG>
-</PRE>
-<H2>NAME</H2><PRE>
- <STRONG>captoinfo</STRONG> - convert a <EM>termcap</EM> description into a <EM>terminfo</EM>
- description
+</PRE><H2><a name="h2-NAME">NAME</a></H2><PRE>
+ <STRONG>captoinfo</STRONG> - convert a <EM>termcap</EM> description into a <EM>terminfo</EM> description
-</PRE>
-<H2>SYNOPSIS</H2><PRE>
- <STRONG>captoinfo</STRONG> [<STRONG>-v</STRONG><EM>n</EM> <EM>width</EM>] [<STRONG>-V</STRONG>] [<STRONG>-1</STRONG>] [<STRONG>-w</STRONG> <EM>width</EM>] <EM>file</EM> . . .
+</PRE><H2><a name="h2-SYNOPSIS">SYNOPSIS</a></H2><PRE>
+ <STRONG>captoinfo</STRONG> [<STRONG>-v</STRONG><EM>n</EM> <EM>width</EM>] [<STRONG>-V</STRONG>] [<STRONG>-1</STRONG>] [<STRONG>-w</STRONG> <EM>width</EM>] <EM>file</EM> ...
-</PRE>
-<H2>DESCRIPTION</H2><PRE>
- <STRONG>captoinfo</STRONG> looks in each given text <EM>file</EM> for <STRONG>termcap</STRONG>
- descriptions. For each one found, an equivalent <STRONG>terminfo</STRONG>
- description is written to standard output. Termcap <STRONG>tc</STRONG>
- capabilities are translated directly to terminfo <STRONG>use</STRONG> capa-
- bilities.
-
- If no <EM>file</EM> is given, then the environment variable <STRONG>TERMCAP</STRONG>
- is used for the filename or entry. If <STRONG>TERMCAP</STRONG> is a full
- pathname to a file, only the terminal whose name is speci-
- fied in the environment variable <STRONG>TERM</STRONG> is extracted from
- that file. If the environment variable <STRONG>TERMCAP</STRONG> is not
- set, then the file <STRONG>/usr/share/terminfo</STRONG> is read.
-
- <STRONG>-v</STRONG> print out tracing information on standard error as
- the program runs.
-
- <STRONG>-V</STRONG> print out the version of the program in use on stan-
- dard error and exit.
-
- <STRONG>-1</STRONG> cause the fields to print out one to a line. Other-
- wise, the fields will be printed several to a line to
- a maximum width of 60 characters.
+</PRE><H2><a name="h2-DESCRIPTION">DESCRIPTION</a></H2><PRE>
+ <STRONG>captoinfo</STRONG> looks in each given text <EM>file</EM> for <STRONG>termcap</STRONG> descriptions. For
+ each one found, an equivalent <STRONG>terminfo</STRONG> description is written to stan-
+ dard output. Termcap <STRONG>tc</STRONG> capabilities are translated directly to ter-
+ minfo <STRONG>use</STRONG> capabilities.
+
+ If no <EM>file</EM> is given, then the environment variable <STRONG>TERMCAP</STRONG> is used for
+ the filename or entry. If <STRONG>TERMCAP</STRONG> is a full pathname to a file, only
+ the terminal whose name is specified in the environment variable <STRONG>TERM</STRONG>
+ is extracted from that file. If the environment variable <STRONG>TERMCAP</STRONG> is
+ not set, then the file <STRONG>/usr/share/terminfo</STRONG> is read.
+
+ <STRONG>-v</STRONG> print out tracing information on standard error as the program
+ runs.
+
+ <STRONG>-V</STRONG> print out the version of the program in use on standard error and
+ exit.
+
+ <STRONG>-1</STRONG> cause the fields to print out one to a line. Otherwise, the
+ fields will be printed several to a line to a maximum width of 60
+ characters.
<STRONG>-w</STRONG> change the output to <EM>width</EM> characters.
-</PRE>
-<H2>FILES</H2><PRE>
- /usr/share/terminfo Compiled terminal description data-
- base.
+</PRE><H2><a name="h2-FILES">FILES</a></H2><PRE>
+ /usr/share/terminfo Compiled terminal description database.
-</PRE>
-<H2>TRANSLATIONS FROM NONSTANDARD CAPABILITIES</H2><PRE>
- Some obsolete nonstandard capabilities will automatically
- be translated into standard (SVr4/XSI Curses) terminfo
- capabilities by <STRONG>captoinfo</STRONG>. Whenever one of these auto-
- matic translations is done, the program will issue an
- notification to stderr, inviting the user to check that it
- has not mistakenly translated a completely unknown and
- random capability and/or syntax error.
+</PRE><H2><a name="h2-TRANSLATIONS-FROM-NONSTANDARD-CAPABILITIES">TRANSLATIONS FROM NONSTANDARD CAPABILITIES</a></H2><PRE>
+ Some obsolete nonstandard capabilities will automatically be translated
+ into standard (SVr4/XSI Curses) terminfo capabilities by <STRONG>captoinfo</STRONG>.
+ Whenever one of these automatic translations is done, the program will
+ issue an notification to stderr, inviting the user to check that it has
+ not mistakenly translated a completely unknown and random capability
+ and/or syntax error.
Nonstd Std From Terminfo
name name capability
@@ -116,12 +106,12 @@
GE ae XENIX exit_alt_charset_mode
GS as XENIX enter_alt_charset_mode
HM kh XENIX key_home
-
LD kL XENIX key_dl
PD kN XENIX key_npage
PN po XENIX prtr_off
PS pf XENIX prtr_on
PU kP XENIX key_ppage
+
RT @8 XENIX kent
UP ku XENIX kcuu1
KA k; Tek key_f10
@@ -134,9 +124,9 @@
FC Sf Tek set_foreground
HS mh Iris enter_dim_mode
- XENIX termcap also used to have a set of extension capa-
- bilities for forms drawing, designed to take advantage of
- the IBM PC high-half graphics. They were as follows:
+ XENIX termcap also used to have a set of extension capabilities for
+ forms drawing, designed to take advantage of the IBM PC high-half
+ graphics. They were as follows:
Cap Graphic
-----------------------------
@@ -164,14 +154,13 @@
Gc intersection
GG acs magic cookie count
- If the single-line capabilities occur in an entry, they
- will automatically be composed into an <EM>acsc</EM> string. The
- double-line capabilities and <STRONG>GG</STRONG> are discarded with a warn-
- ing message.
+ If the single-line capabilities occur in an entry, they will automati-
+ cally be composed into an <STRONG>acsc</STRONG> string. The double-line capabilities
+ and <STRONG>GG</STRONG> are discarded with a warning message.
- IBM's AIX has a terminfo facility descended from SVr1 ter-
- minfo but incompatible with the SVr4 format. The follow-
- ing AIX extensions are automatically translated:
+ IBM's AIX has a terminfo facility descended from SVr1 terminfo but
+ incompatible with the SVr4 format. The following AIX extensions are
+ automatically translated:
IBM XSI
-------------
@@ -182,45 +171,56 @@
font2 s2ds
font3 s3ds
- Additionally, the AIX <EM>box1</EM> capability will be automati-
- cally translated to an <EM>acsc</EM> string.
+ Additionally, the AIX <EM>box1</EM> capability will be automatically translated
+ to an <STRONG>acsc</STRONG> string.
- Hewlett-Packard's terminfo library supports two nonstan-
- dard terminfo capabilities <EM>meml</EM> (memory lock) and <EM>memu</EM>
- (memory unlock). These will be discarded with a warning
- message.
+ Hewlett-Packard's terminfo library supports two nonstandard terminfo
+ capabilities <STRONG>meml</STRONG> (memory lock) and <STRONG>memu</STRONG> (memory unlock). These will
+ be discarded with a warning message.
-</PRE>
-<H2>NOTES</H2><PRE>
- This utility is actually a link to <STRONG><A HREF="tic.1m.html">tic(1m)</A></STRONG>, running in <EM>-I</EM>
- mode. You can use other <STRONG>tic</STRONG> options such as <STRONG>-f</STRONG> and <STRONG>-x</STRONG>.
+</PRE><H2><a name="h2-NOTES">NOTES</a></H2><PRE>
+ This utility is actually a link to <STRONG><A HREF="tic.1m.html">tic(1m)</A></STRONG>, running in <EM>-I</EM> mode. You
+ can use other <STRONG>tic</STRONG> options such as <STRONG>-f</STRONG> and <STRONG>-x</STRONG>.
- The trace option is not identical to SVr4's. Under SVr4,
- instead of following the <STRONG>-v</STRONG> with a trace level n, you
- repeat it n times.
+ The verbose option is not identical to SVr4's. Under SVr4, instead of
+ following the <STRONG>-v</STRONG> with a trace level n, you repeat it n times.
-</PRE>
-<H2>SEE ALSO</H2><PRE>
+</PRE><H2><a name="h2-PORTABILITY">PORTABILITY</a></H2><PRE>
+ X/Open Curses, Issue 7 (2009) describes <STRONG>tic</STRONG> briefly, but omits this
+ program. SVr4 systems provide <STRONG>captoinfo</STRONG> as a separate application from
+ <STRONG>tic</STRONG>.
+
+ NetBSD does not provide this application.
+
+
+</PRE><H2><a name="h2-SEE-ALSO">SEE ALSO</a></H2><PRE>
<STRONG><A HREF="infocmp.1m.html">infocmp(1m)</A></STRONG>, <STRONG><A HREF="ncurses.3x.html">curses(3x)</A></STRONG>, <STRONG><A HREF="terminfo.5.html">terminfo(5)</A></STRONG>
- This describes <STRONG>ncurses</STRONG> version 5.9 (patch 20131221).
+ This describes <STRONG>ncurses</STRONG> version 6.1 (patch 20200118).
-</PRE>
-<H2>AUTHOR</H2><PRE>
+</PRE><H2><a name="h2-AUTHOR">AUTHOR</a></H2><PRE>
Eric S. Raymond &lt;esr@snark.thyrsus.com&gt; and
Thomas E. Dickey &lt;dickey@invisible-island.net&gt;
- <STRONG><A HREF="captoinfo.1m.html">captoinfo(1m)</A></STRONG>
+ <STRONG><A HREF="captoinfo.1m.html">captoinfo(1m)</A></STRONG>
</PRE>
-<HR>
-<ADDRESS>
-Man(1) output converted with
-<a href="http://www.oac.uci.edu/indiv/ehood/man2html.html">man2html</a>
-</ADDRESS>
+<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>
+<li><a href="#h2-FILES">FILES</a></li>
+<li><a href="#h2-TRANSLATIONS-FROM-NONSTANDARD-CAPABILITIES">TRANSLATIONS FROM NONSTANDARD CAPABILITIES</a></li>
+<li><a href="#h2-NOTES">NOTES</a></li>
+<li><a href="#h2-PORTABILITY">PORTABILITY</a></li>
+<li><a href="#h2-SEE-ALSO">SEE ALSO</a></li>
+<li><a href="#h2-AUTHOR">AUTHOR</a></li>
+</ul>
+</div>
</BODY>
</HTML>
diff --git a/doc/html/man/clear.1.html b/doc/html/man/clear.1.html
index 02b5e31d6573..1130989ccfca 100644
--- a/doc/html/man/clear.1.html
+++ b/doc/html/man/clear.1.html
@@ -1,7 +1,6 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN">
<!--
****************************************************************************
- * Copyright (c) 1998-2010,2013 Free Software Foundation, Inc. *
+ * Copyright (c) 1998-2017,2018 Free Software Foundation, Inc. *
* *
* Permission is hereby granted, free of charge, to any person obtaining a *
* copy of this software and associated documentation files (the *
@@ -27,60 +26,144 @@
* sale, use or other dealings in this Software without prior written *
* authorization. *
****************************************************************************
- * @Id: clear.1,v 1.10 2013/06/22 22:22:11 tom Exp @
+ * @Id: clear.1,v 1.22 2018/07/28 21:45:40 tom Exp @
+ * these would be fallbacks for DS/DE,
+ * but groff changed the meaning of the macros.
-->
+<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN">
<HTML>
<HEAD>
+<meta http-equiv="Content-Type" content="text/html; charset=us-ascii">
+<meta name="generator" content="Manpage converted by man2html - see https://invisible-island.net/scripts/readme.html#others_scripts">
<TITLE>clear 1</TITLE>
-<link rev=made href="mailto:bug-ncurses@gnu.org">
+<link rel="author" href="mailto:bug-ncurses@gnu.org">
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
</HEAD>
<BODY>
-<H1>clear 1</H1>
-<HR>
+<H1 class="no-header">clear 1</H1>
<PRE>
-<!-- Manpage converted by man2html 3.0.1 -->
-<STRONG><A HREF="clear.1.html">clear(1)</A></STRONG> <STRONG><A HREF="clear.1.html">clear(1)</A></STRONG>
+<STRONG><A HREF="clear.1.html">clear(1)</A></STRONG> General Commands Manual <STRONG><A HREF="clear.1.html">clear(1)</A></STRONG>
-</PRE>
-<H2>NAME</H2><PRE>
+</PRE><H2><a name="h2-NAME">NAME</a></H2><PRE>
<STRONG>clear</STRONG> - clear the terminal screen
-</PRE>
-<H2>SYNOPSIS</H2><PRE>
- <STRONG>clear</STRONG>
+</PRE><H2><a name="h2-SYNOPSIS">SYNOPSIS</a></H2><PRE>
+ <STRONG>clear</STRONG> [<STRONG>-T</STRONG><EM>type</EM>] [<STRONG>-V</STRONG>] [<STRONG>-x</STRONG>]
-</PRE>
-<H2>DESCRIPTION</H2><PRE>
- <STRONG>clear</STRONG> clears your screen if this is possible, including
- its scrollback buffer (if the extended "E3" capability is
- defined). <STRONG>clear</STRONG> looks in the environment for the terminal
- type and then in the <STRONG>terminfo</STRONG> database to determine how to
- clear the screen.
+</PRE><H2><a name="h2-DESCRIPTION">DESCRIPTION</a></H2><PRE>
+ <STRONG>clear</STRONG> clears your screen if this is possible, including its scrollback
+ buffer (if the extended "E3" capability is defined). <STRONG>clear</STRONG> looks in
+ the environment for the terminal type given by the environment variable
+ <STRONG>TERM</STRONG>, and then in the <STRONG>terminfo</STRONG> database to determine how to clear the
+ screen.
- <STRONG>clear</STRONG> ignores any command-line parameters that may be
- present.
+ <STRONG>clear</STRONG> writes to the standard output. You can redirect the standard
+ output to a file (which prevents <STRONG>clear</STRONG> from actually clearing the
+ screen), and later <STRONG>cat</STRONG> the file to the screen, clearing it at that
+ point.
-</PRE>
-<H2>SEE ALSO</H2><PRE>
+</PRE><H2><a name="h2-OPTIONS">OPTIONS</a></H2><PRE>
+ <STRONG>-T</STRONG> <EM>type</EM>
+ indicates the <EM>type</EM> of terminal. Normally this option is unneces-
+ sary, because the default is taken from the environment variable
+ <STRONG>TERM</STRONG>. If <STRONG>-T</STRONG> is specified, then the shell variables <STRONG>LINES</STRONG> and <STRONG>COL-</STRONG>
+ <STRONG>UMNS</STRONG> will also be ignored.
+
+ <STRONG>-V</STRONG> reports the version of ncurses which was used in this program, and
+ exits. The options are as follows:
+
+ <STRONG>-x</STRONG> do not attempt to clear the terminal's scrollback buffer using the
+ extended "E3" capability.
+
+
+</PRE><H2><a name="h2-HISTORY">HISTORY</a></H2><PRE>
+ A <STRONG>clear</STRONG> command appeared in 2.79BSD dated February 24, 1979. Later
+ that was provided in Unix 8th edition (1985).
+
+ AT&amp;T adapted a different BSD program (<STRONG>tset</STRONG>) to make a new command
+ (<STRONG>tput</STRONG>), and used this to replace the <STRONG>clear</STRONG> command with a shell script
+ which calls <STRONG>tput</STRONG> <STRONG>clear</STRONG>, e.g.,
+
+ /usr/bin/tput ${1:+-T$1} clear 2&gt; /dev/null
+ exit
+
+ In 1989, when Keith Bostic revised the BSD <STRONG>tput</STRONG> command to make it sim-
+ ilar to the AT&amp;T <STRONG>tput</STRONG>, he added a shell script for the <STRONG>clear</STRONG> command:
+
+ exec tput clear
+
+ The remainder of the script in each case is a copyright notice.
+
+ The ncurses <STRONG>clear</STRONG> command began in 1995 by adapting the original BSD
+ <STRONG>clear</STRONG> command (with terminfo, of course).
+
+ The <STRONG>E3</STRONG> extension came later:
+
+ <STRONG>o</STRONG> In June 1999, xterm provided an extension to the standard control
+ sequence for clearing the screen. Rather than clearing just the
+ visible part of the screen using
+
+ printf '\033[2J'
+
+ one could clear the <EM>scrollback</EM> using
+
+ printf '\033[<STRONG>3</STRONG>J'
+
+ This is documented in <EM>XTerm</EM> <EM>Control</EM> <EM>Sequences</EM> as a feature origi-
+ nating with xterm.
+
+ <STRONG>o</STRONG> A few other terminal developers adopted the feature, e.g., PuTTY in
+ 2006.
+
+ <STRONG>o</STRONG> In April 2011, a Red Hat developer submitted a patch to the Linux
+ kernel, modifying its console driver to do the same thing. The
+ Linux change, part of the 3.0 release, did not mention xterm,
+ although it was cited in the Red Hat bug report (#683733) which led
+ to the change.
+
+ <STRONG>o</STRONG> Again, a few other terminal developers adopted the feature. But
+ the next relevant step was a change to the <STRONG>clear</STRONG> program in 2013 to
+ incorporate this extension.
+
+ <STRONG>o</STRONG> In 2013, the <STRONG>E3</STRONG> extension was overlooked in <STRONG>tput</STRONG> with the "clear"
+ parameter. That was addressed in 2016 by reorganizing <STRONG>tput</STRONG> to
+ share its logic with <STRONG>clear</STRONG> and <STRONG>tset</STRONG>.
+
+
+</PRE><H2><a name="h2-PORTABILITY">PORTABILITY</a></H2><PRE>
+ Neither IEEE Std 1003.1/The Open Group Base Specifications Issue 7
+ (POSIX.1-2008) nor X/Open Curses Issue 7 documents tset or reset.
+
+ The latter documents <STRONG>tput</STRONG>, which could be used to replace this utility
+ either via a shell script or by an alias (such as a symbolic link) to
+ run <STRONG>tput</STRONG> as <STRONG>clear</STRONG>.
+
+
+</PRE><H2><a name="h2-SEE-ALSO">SEE ALSO</a></H2><PRE>
<STRONG><A HREF="tput.1.html">tput(1)</A></STRONG>, <STRONG><A HREF="terminfo.5.html">terminfo(5)</A></STRONG>
- This describes <STRONG>ncurses</STRONG> version 5.9 (patch 20131221).
+ This describes <STRONG>ncurses</STRONG> version 6.1 (patch 20200118).
- <STRONG><A HREF="clear.1.html">clear(1)</A></STRONG>
+ <STRONG><A HREF="clear.1.html">clear(1)</A></STRONG>
</PRE>
-<HR>
-<ADDRESS>
-Man(1) output converted with
-<a href="http://www.oac.uci.edu/indiv/ehood/man2html.html">man2html</a>
-</ADDRESS>
+<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>
+<li><a href="#h2-OPTIONS">OPTIONS</a></li>
+<li><a href="#h2-HISTORY">HISTORY</a></li>
+<li><a href="#h2-PORTABILITY">PORTABILITY</a></li>
+<li><a href="#h2-SEE-ALSO">SEE ALSO</a></li>
+</ul>
+</div>
</BODY>
</HTML>
diff --git a/doc/html/man/curs_add_wch.3x.html b/doc/html/man/curs_add_wch.3x.html
index eb5506199a95..f7f0c2432e05 100644
--- a/doc/html/man/curs_add_wch.3x.html
+++ b/doc/html/man/curs_add_wch.3x.html
@@ -1,7 +1,6 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN">
<!--
****************************************************************************
- * Copyright (c) 2001-2011,2012 Free Software Foundation, Inc. *
+ * Copyright (c) 2001-2017,2019 Free Software Foundation, Inc. *
* *
* Permission is hereby granted, free of charge, to any person obtaining a *
* copy of this software and associated documentation files (the *
@@ -27,204 +26,269 @@
* sale, use or other dealings in this Software without prior written *
* authorization. *
****************************************************************************
- * @Id: curs_add_wch.3x,v 1.15 2012/11/03 23:03:59 tom Exp @
+ * @Id: curs_add_wch.3x,v 1.25 2019/10/27 00:07: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_add_wch 3x</TITLE>
-<link rev=made href="mailto:bug-ncurses@gnu.org">
+<link rel="author" href="mailto:bug-ncurses@gnu.org">
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
</HEAD>
<BODY>
-<H1>curs_add_wch 3x</H1>
-<HR>
+<H1 class="no-header">curs_add_wch 3x</H1>
<PRE>
-<!-- Manpage converted by man2html 3.0.1 -->
-<STRONG><A HREF="curs_add_wch.3x.html">curs_add_wch(3x)</A></STRONG> <STRONG><A HREF="curs_add_wch.3x.html">curs_add_wch(3x)</A></STRONG>
+<STRONG><A HREF="curs_add_wch.3x.html">curs_add_wch(3x)</A></STRONG> <STRONG><A HREF="curs_add_wch.3x.html">curs_add_wch(3x)</A></STRONG>
-</PRE>
-<H2>NAME</H2><PRE>
- <STRONG>add_wch</STRONG>, <STRONG>wadd_wch</STRONG>, <STRONG>mvadd_wch</STRONG>, <STRONG>mvwadd_wch</STRONG>, <STRONG>echo_wchar</STRONG>,
- <STRONG>wecho_wchar</STRONG> - add a complex character and rendition to a
- <STRONG>curses</STRONG> window, then advance the cursor
+</PRE><H2><a name="h2-NAME">NAME</a></H2><PRE>
+ <STRONG>add_wch</STRONG>, <STRONG>wadd_wch</STRONG>, <STRONG>mvadd_wch</STRONG>, <STRONG>mvwadd_wch</STRONG>, <STRONG>echo_wchar</STRONG>, <STRONG>wecho_wchar</STRONG> - add
+ a complex character and rendition to a <STRONG>curses</STRONG> window, then advance the
+ cursor
-</PRE>
-<H2>SYNOPSIS</H2><PRE>
+</PRE><H2><a name="h2-SYNOPSIS">SYNOPSIS</a></H2><PRE>
<STRONG>#include</STRONG> <STRONG>&lt;curses.h&gt;</STRONG>
<STRONG>int</STRONG> <STRONG>add_wch(</STRONG> <STRONG>const</STRONG> <STRONG>cchar_t</STRONG> <STRONG>*</STRONG><EM>wch</EM> <STRONG>);</STRONG>
<STRONG>int</STRONG> <STRONG>wadd_wch(</STRONG> <STRONG>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>mvadd_wch(</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>
- <STRONG>int</STRONG> <STRONG>mvwadd_wch(</STRONG> <STRONG>WINDOW</STRONG> <STRONG>*</STRONG><EM>win</EM><STRONG>,</STRONG> <STRONG>int</STRONG> <EM>y</EM><STRONG>,</STRONG> <STRONG>int</STRONG> <EM>x</EM><STRONG>,</STRONG> <STRONG>const</STRONG> <STRONG>cchar_t</STRONG>
- <STRONG>*</STRONG><EM>wch</EM> <STRONG>);</STRONG>
+ <STRONG>int</STRONG> <STRONG>mvwadd_wch(</STRONG> <STRONG>WINDOW</STRONG> <STRONG>*</STRONG><EM>win</EM><STRONG>,</STRONG> <STRONG>int</STRONG> <EM>y</EM><STRONG>,</STRONG> <STRONG>int</STRONG> <EM>x</EM><STRONG>,</STRONG> <STRONG>const</STRONG> <STRONG>cchar_t</STRONG> <STRONG>*</STRONG><EM>wch</EM> <STRONG>);</STRONG>
<STRONG>int</STRONG> <STRONG>echo_wchar(</STRONG> <STRONG>const</STRONG> <STRONG>cchar_t</STRONG> <STRONG>*</STRONG><EM>wch</EM> <STRONG>);</STRONG>
<STRONG>int</STRONG> <STRONG>wecho_wchar(</STRONG> <STRONG>WINDOW</STRONG> <STRONG>*</STRONG><EM>win</EM><STRONG>,</STRONG> <STRONG>const</STRONG> <STRONG>cchar_t</STRONG> <STRONG>*</STRONG><EM>wch</EM> <STRONG>);</STRONG>
-</PRE>
-<H2>DESCRIPTION</H2><PRE>
- The <STRONG>add_wch</STRONG>, <STRONG>wadd_wch</STRONG>, <STRONG>mvadd_wch</STRONG>, and <STRONG>mvwadd_wch</STRONG> functions
- put the complex character <EM>wch</EM> into the given window at its
- current position, which is then advanced. These functions
- perform wrapping and special-character processing as fol-
- lows:
-
- <STRONG>o</STRONG> If <EM>wch</EM> refers to a spacing character, then any previ-
- ous character at that location is removed. A new
- character specified by <EM>wch</EM> is placed at that location
- with rendition specified by <EM>wch</EM>. The cursor then
- advances to the next spacing character on the screen.
-
- <STRONG>o</STRONG> If <EM>wch</EM> refers to a non-spacing character, all previous
- characters at that location are preserved. The non-
- spacing characters of <EM>wch</EM> are added to the spacing
- complex character, and the rendition specified by <EM>wch</EM>
- is ignored.
-
- <STRONG>o</STRONG> If the character part of <EM>wch</EM> is a tab, newline,
- backspace or other control character, the window is
- updated and the cursor moves as if <STRONG>addch</STRONG> were called.
-
- The <STRONG>echo_wchar</STRONG> function is functionally equivalent to a
- call to <STRONG>add_wch</STRONG> followed by a call to <STRONG>refresh</STRONG>. Similarly,
- the <STRONG>wecho_wchar</STRONG> is functionally equivalent to a call to
- <STRONG>wadd_wch</STRONG> followed by a call to <STRONG>wrefresh</STRONG>. The knowledge
- that only a single character is being output is taken into
- consideration and, for non-control characters, a consider-
- able performance gain might be seen by using the *<STRONG>echo</STRONG>*
- functions instead of their equivalents.
-
- <STRONG>Line</STRONG> <STRONG>Graphics</STRONG>
- Like <STRONG><A HREF="curs_addch.3x.html">curs_addch(3x)</A></STRONG>, <STRONG>addch_wch</STRONG> accepts symbols which make it
- simple to draw lines and other frequently used special
- characters. These symbols correspond to the same VT100
- line-drawing set as <STRONG><A HREF="curs_addch.3x.html">curs_addch(3x)</A></STRONG>.
-
- <EM>Name</EM> <EM>Unicode</EM> <EM>Default</EM> <EM>Description</EM>
- ----------------------------------------------------------------
- WACS_BLOCK 0x25ae # solid square block
- WACS_BOARD 0x2592 # board of squares
- WACS_BTEE 0x2534 + bottom tee
- WACS_BULLET 0x00b7 o bullet
- WACS_CKBOARD 0x2592 : checker board (stipple)
-
- WACS_DARROW 0x2193 v arrow pointing down
- WACS_DEGREE 0x00b0 ' degree symbol
- WACS_DIAMOND 0x25c6 + diamond
- WACS_GEQUAL 0x2265 &gt; greater-than-or-equal-to
- WACS_HLINE 0x2500 - horizontal line
- WACS_LANTERN 0x2603 # lantern symbol
- WACS_LARROW 0x2190 &lt; arrow pointing left
- WACS_LEQUAL 0x2264 &lt; less-than-or-equal-to
- WACS_LLCORNER 0x2514 + lower left-hand corner
- WACS_LRCORNER 0x2518 + lower right-hand corner
- WACS_LTEE 0x2524 + left tee
- WACS_NEQUAL 0x2260 ! not-equal
- WACS_PI 0x03c0 * greek pi
- WACS_PLMINUS 0x00b1 # plus/minus
- WACS_PLUS 0x253c + plus
- WACS_RARROW 0x2192 &gt; arrow pointing right
- WACS_RTEE 0x251c + right tee
- WACS_S1 0x23ba - scan line 1
- WACS_S3 0x23bb - scan line 3
- WACS_S7 0x23bc - scan line 7
- WACS_S9 0x23bd _ scan line 9
- WACS_STERLING 0x00a3 f pound-sterling symbol
- WACS_TTEE 0x252c + top tee
- WACS_UARROW 0x2191 ^ arrow pointing up
- WACS_ULCORNER 0x250c + upper left-hand corner
- WACS_URCORNER 0x2510 + upper right-hand corner
- WACS_VLINE 0x2502 | vertical line
-
- The wide-character configuration of ncurses also defines
- symbols for thick- and double-lines:
-
- <EM>Name</EM> <EM>Unicode</EM> <EM>Default</EM> <EM>Description</EM>
- ---------------------------------------------------------------------
- WACS_T_ULCORNER 0x250f + thick upper left corner
- WACS_T_LLCORNER 0x2517 + thick lower left corner
- WACS_T_URCORNER 0x2513 + thick upper right corner
- WACS_T_LRCORNER 0x251b + thick lower right corner
- WACS_T_LTEE 0x252b + thick tee pointing right
- WACS_T_RTEE 0x2523 + thick tee pointing left
- WACS_T_BTEE 0x253b + thick tee pointing up
- WACS_T_TTEE 0x2533 + thick tee pointing down
- WACS_T_HLINE 0x2501 - thick horizontal line
- WACS_T_VLINE 0x2503 | thick vertical line
- WACS_T_PLUS 0x254b + thick large plus or crossover
- WACS_D_ULCORNER 0x2554 + double upper left corner
- WACS_D_LLCORNER 0x255a + double lower left corner
- WACS_D_URCORNER 0x2557 + double upper right corner
- WACS_D_LRCORNER 0x255d + double lower right corner
- WACS_D_RTEE 0x2563 + double tee pointing left
- WACS_D_LTEE 0x2560 + double tee pointing right
- WACS_D_BTEE 0x2569 + double tee pointing up
- WACS_D_TTEE 0x2566 + double tee pointing down
- WACS_D_HLINE 0x2550 - double horizontal line
- WACS_D_VLINE 0x2551 | double vertical line
- WACS_D_PLUS 0x256c + double large plus or crossover
+</PRE><H2><a name="h2-DESCRIPTION">DESCRIPTION</a></H2><PRE>
+
+</PRE><H3><a name="h3-add_wch">add_wch</a></H3><PRE>
+ The <STRONG>add_wch</STRONG>, <STRONG>wadd_wch</STRONG>, <STRONG>mvadd_wch</STRONG>, and <STRONG>mvwadd_wch</STRONG> functions put the com-
+ plex character <EM>wch</EM> into the given window at its current position, which
+ is then advanced. These functions perform wrapping and special-charac-
+ ter processing as follows:
+
+ <STRONG>o</STRONG> If <EM>wch</EM> refers to a spacing character, then any previous character
+ at that location is removed. A new character specified by <EM>wch</EM> is
+ placed at that location with rendition specified by <EM>wch</EM>. The cur-
+ sor then advances to the next spacing character on the screen.
+
+ <STRONG>o</STRONG> If <EM>wch</EM> refers to a non-spacing character, all previous characters
+ at that location are preserved. The non-spacing characters of <EM>wch</EM>
+ are added to the spacing complex character, and the rendition spec-
+ ified by <EM>wch</EM> is ignored.
+
+ <STRONG>o</STRONG> If the character part of <EM>wch</EM> is a tab, newline, backspace or other
+ control character, the window is updated and the cursor moves as if
+ <STRONG>addch</STRONG> were called.
+
+
+</PRE><H3><a name="h3-echo_wchar">echo_wchar</a></H3><PRE>
+ The <STRONG>echo_wchar</STRONG> function is functionally equivalent to a call to <STRONG>add_wch</STRONG>
+ followed by a call to <STRONG><A HREF="curs_refresh.3x.html">refresh(3x)</A></STRONG>. Similarly, the <STRONG>wecho_wchar</STRONG> is func-
+ tionally equivalent to a call to <STRONG>wadd_wch</STRONG> followed by a call to <STRONG>wre-</STRONG>
+ <STRONG>fresh</STRONG>. The knowledge that only a single character is being output is
+ taken into consideration and, for non-control characters, a consider-
+ able performance gain might be seen by using the *<STRONG>echo</STRONG>* functions
+ instead of their equivalents.
+
+
+</PRE><H3><a name="h3-Line-Graphics">Line Graphics</a></H3><PRE>
+ Like <STRONG><A HREF="curs_addch.3x.html">addch(3x)</A></STRONG>, <STRONG>addch_wch</STRONG> accepts symbols which make it simple to draw
+ lines and other frequently used special characters. These symbols cor-
+ respond to the same VT100 line-drawing set as <STRONG><A HREF="curs_addch.3x.html">addch(3x)</A></STRONG>.
+
+ <STRONG>ACS</STRONG> <STRONG>Unicode</STRONG> <STRONG>ASCII</STRONG> <STRONG>acsc</STRONG> <STRONG>Glyph</STRONG>
+ <STRONG>Name</STRONG> <STRONG>Default</STRONG> <STRONG>Default</STRONG> <STRONG>char</STRONG> <STRONG>Name</STRONG>
+ ------------------------------------------------------------------------
+ WACS_BLOCK 0x25ae # 0 solid square block
+ WACS_BOARD 0x2592 # h board of squares
+ WACS_BTEE 0x2534 + v bottom tee
+ WACS_BULLET 0x00b7 o ~ bullet
+ WACS_CKBOARD 0x2592 : a checker board (stipple)
+ WACS_DARROW 0x2193 v . arrow pointing down
+ WACS_DEGREE 0x00b0 ' f degree symbol
+ WACS_DIAMOND 0x25c6 + ` diamond
+
+ WACS_GEQUAL 0x2265 &gt; &gt; greater-than-or-equal-to
+ WACS_HLINE 0x2500 - q horizontal line
+ WACS_LANTERN 0x2603 # i lantern symbol
+ WACS_LARROW 0x2190 &lt; , arrow pointing left
+ WACS_LEQUAL 0x2264 &lt; y less-than-or-equal-to
+ WACS_LLCORNER 0x2514 + m lower left-hand corner
+ WACS_LRCORNER 0x2518 + j lower right-hand corner
+ WACS_LTEE 0x2524 + t left tee
+ WACS_NEQUAL 0x2260 ! | not-equal
+ WACS_PI 0x03c0 * { greek pi
+ WACS_PLMINUS 0x00b1 # g plus/minus
+ WACS_PLUS 0x253c + n plus
+ WACS_RARROW 0x2192 &gt; + arrow pointing right
+ WACS_RTEE 0x251c + u right tee
+ WACS_S1 0x23ba - o scan line 1
+ WACS_S3 0x23bb - p scan line 3
+ WACS_S7 0x23bc - r scan line 7
+ WACS_S9 0x23bd _ s scan line 9
+ WACS_STERLING 0x00a3 f } pound-sterling symbol
+ WACS_TTEE 0x252c + w top tee
+ WACS_UARROW 0x2191 ^ - arrow pointing up
+ WACS_ULCORNER 0x250c + l upper left-hand corner
+ WACS_URCORNER 0x2510 + k upper right-hand corner
+ WACS_VLINE 0x2502 | x vertical line
+
+ The wide-character configuration of ncurses also defines symbols for
+ thick lines (<STRONG>acsc</STRONG> "J" to "V"):
+
+ <STRONG>ACS</STRONG> <STRONG>Unicode</STRONG> <STRONG>ASCII</STRONG> <STRONG>acsc</STRONG> <STRONG>Glyph</STRONG>
+ <STRONG>Name</STRONG> <STRONG>Default</STRONG> <STRONG>Default</STRONG> <STRONG>char</STRONG> <STRONG>Name</STRONG>
+ -----------------------------------------------------------------------
+ WACS_T_BTEE 0x253b + V thick tee pointing up
+ WACS_T_HLINE 0x2501 - Q thick horizontal line
+ WACS_T_LLCORNER 0x2517 + M thick lower left corner
+ WACS_T_LRCORNER 0x251b + J thick lower right corner
+ WACS_T_LTEE 0x252b + T thick tee pointing right
+ WACS_T_PLUS 0x254b + N thick large plus
+ WACS_T_RTEE 0x2523 + U thick tee pointing left
+ WACS_T_TTEE 0x2533 + W thick tee pointing down
+ WACS_T_ULCORNER 0x250f + L thick upper left corner
+ WACS_T_URCORNER 0x2513 + K thick upper right corner
+ WACS_T_VLINE 0x2503 | X thick vertical line
+
+ and for double-lines (<STRONG>acsc</STRONG> "A" to "I"):
+
+ <STRONG>ACS</STRONG> <STRONG>Unicode</STRONG> <STRONG>ASCII</STRONG> <STRONG>acsc</STRONG> <STRONG>Glyph</STRONG>
+ <STRONG>Name</STRONG> <STRONG>Default</STRONG> <STRONG>Default</STRONG> <STRONG>char</STRONG> <STRONG>Name</STRONG>
+ ------------------------------------------------------------------------
+ WACS_D_BTEE 0x2569 + H double tee pointing up
+ WACS_D_HLINE 0x2550 - R double horizontal line
+ WACS_D_LLCORNER 0x255a + D double lower left corner
+ WACS_D_LRCORNER 0x255d + A double lower right corner
+ WACS_D_LTEE 0x2560 + F double tee pointing right
+ WACS_D_PLUS 0x256c + E double large plus
+ WACS_D_RTEE 0x2563 + G double tee pointing left
+ WACS_D_TTEE 0x2566 + I double tee pointing down
+ WACS_D_ULCORNER 0x2554 + C double upper left corner
+ WACS_D_URCORNER 0x2557 + B double upper right corner
+ WACS_D_VLINE 0x2551 | Y double vertical line
+
+ Unicode's descriptions for these characters differs slightly from
+ ncurses, by introducing the term "light" (along with less important
+ details). Here are its descriptions for the normal, thick, and double
+ horizontal lines:
+
+ <STRONG>o</STRONG> U+2500 BOX DRAWINGS LIGHT HORIZONTAL
+
+ <STRONG>o</STRONG> U+2501 BOX DRAWINGS HEAVY HORIZONTAL
+
+ <STRONG>o</STRONG> U+2550 BOX DRAWINGS DOUBLE HORIZONTAL
+
+
+</PRE><H2><a name="h2-RETURN-VALUE">RETURN VALUE</a></H2><PRE>
+ All routines return the integer <STRONG>ERR</STRONG> upon failure and <STRONG>OK</STRONG> on success.
+
+ 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.
+
+
+</PRE><H2><a name="h2-NOTES">NOTES</a></H2><PRE>
+ Note that <STRONG>add_wch</STRONG>, <STRONG>mvadd_wch</STRONG>, <STRONG>mvwadd_wch</STRONG>, and <STRONG>echo_wchar</STRONG> may be macros.
+
+
+</PRE><H2><a name="h2-PORTABILITY">PORTABILITY</a></H2><PRE>
+ All of these functions are described in the XSI Curses standard, Issue
+ 4. The defaults specified for line-drawing characters apply in the
+ POSIX locale.
+
+ X/Open Curses makes it clear that the WACS_ symbols should be defined
+ as a pointer to <STRONG>cchar_t</STRONG> data, e.g., in the discussion of <STRONG>border_set</STRONG>. A
+ few implementations are problematic:
+
+ <STRONG>o</STRONG> NetBSD curses defines the symbols as a <STRONG>wchar_t</STRONG> within a <STRONG>cchar_t</STRONG>.
+
+ <STRONG>o</STRONG> HPUX curses equates some of the <EM>ACS</EM><STRONG>_</STRONG> symbols to the analogous <EM>WACS</EM><STRONG>_</STRONG>
+ symbols as if the <EM>ACS</EM><STRONG>_</STRONG> symbols were wide characters. The misde-
+ fined symbols are the arrows and other symbols which are not used
+ for line-drawing.
+
+ X/Open Curses does not define symbols for thick- or double-lines. SVr4
+ curses implementations defined their line-drawing symbols in terms of
+ intermediate symbols. This implementation extends those symbols, pro-
+ viding new definitions which are not in the SVr4 implementations.
+
+ Not all Unicode-capable terminals provide support for VT100-style
+ alternate character sets (i.e., the <STRONG>acsc</STRONG> capability), with their corre-
+ sponding line-drawing characters. X/Open Curses did not address the
+ aspect of integrating Unicode with line-drawing characters. Existing
+ implementations of Unix curses (AIX, HPUX, Solaris) use only the <STRONG>acsc</STRONG>
+ character-mapping to provide this feature. As a result, those imple-
+ mentations can only use single-byte line-drawing characters. Ncurses
+ 5.3 (2002) provided a table of Unicode values to solve these problems.
+ NetBSD curses incorporated that table in 2010.
+
+ In this implementation, the Unicode values are used instead of the ter-
+ minal description's <STRONG>acsc</STRONG> mapping as discussed in <STRONG><A HREF="ncurses.3x.html">ncurses(3x)</A></STRONG> for the
+ environment variable <STRONG>NCURSES_NO_UTF8_ACS</STRONG>. In contrast, for the same
+ cases, the line-drawing characters described in <STRONG><A HREF="curs_addch.3x.html">curs_addch(3x)</A></STRONG> will use
+ only the ASCII default values.
+
+ Having Unicode available does not solve all of the problems with line-
+ drawing for curses:
+ <STRONG>o</STRONG> The closest Unicode equivalents to the VT100 graphics <EM>S1</EM>, <EM>S3</EM>, <EM>S7</EM>
+ and <EM>S9</EM> frequently are not displayed at the regular intervals which
+ the terminal used.
-</PRE>
-<H2>RETURN VALUE</H2><PRE>
- All routines return the integer <STRONG>ERR</STRONG> upon failure and <STRONG>OK</STRONG> on
- success.
+ <STRONG>o</STRONG> The <EM>lantern</EM> is a special case. It originated with the AT&amp;T 4410
+ terminal in the early 1980s. There is no accessible documentation
+ depicting the lantern symbol on the AT&amp;T terminal.
- Functions with a "mv" prefix first perform a cursor move-
- ment using <STRONG>wmove</STRONG>, and return an error if the position is
- outside the window, or if the window pointer is null.
+ Lacking documentation, most readers assume that a <EM>storm</EM> <EM>lantern</EM> was
+ intended. But there are several possibilities, all with problems.
+ Unicode 6.0 (2010) does provide two lantern symbols: U+1F383 and
+ U+1F3EE. Those were not available in 2002, and are irrelevant
+ since they lie outside the BMP and as a result are not generally
+ available in terminals. They are not storm lanterns, in any case.
-</PRE>
-<H2>NOTES</H2><PRE>
- Note that <STRONG>add_wch</STRONG>, <STRONG>mvadd_wch</STRONG>, <STRONG>mvwadd_wch</STRONG>, and <STRONG>echo_wchar</STRONG>
- may be macros.
+ Most <EM>storm</EM> <EM>lanterns</EM> have a tapering glass chimney (to guard against
+ tipping); some have a wire grid protecting the chimney.
+ For the tapering appearance, U+2603 was adequate. In use on a
+ terminal, no one can tell what the image represents. Unicode calls
+ it a snowman.
-</PRE>
-<H2>PORTABILITY</H2><PRE>
- All of these functions are described in the XSI Curses
- standard, Issue 4. The defaults specified for line-draw-
- ing characters apply in the POSIX locale.
-
- X/Open Curses makes it clear that the WACS_ symbols should
- be defined as a pointer to <STRONG>cchar_t</STRONG> data, e.g., in the dis-
- cussion of <STRONG>border_set</STRONG>. A few implementations are problem-
- atic:
-
- <STRONG>o</STRONG> NetBSD curses defines the symbols as a <STRONG>wchar_t</STRONG> within
- a <STRONG>cchar_t</STRONG>.
+ Others have suggested these alternatives: S U+00A7 (section mark),
+ <STRONG>O</STRONG> U+0398 (theta), <STRONG>O</STRONG> U+03A6 (phi), d U+03B4 (delta), U+2327 (x in a
+ rectangle), U+256C (forms double vertical and horizontal), and
+ U+2612 (ballot box with x).
- <STRONG>o</STRONG> HPUX curses equates some of the <EM>ACS</EM><STRONG>_</STRONG> symbols to the
- analogous <EM>WACS</EM><STRONG>_</STRONG> symbols as if the <EM>ACS</EM><STRONG>_</STRONG> symbols were
- wide characters. The misdefined symbols are the
- arrows and other symbols which are not used for line-
- drawing.
- X/Open Curses does not define symbols for thick- or dou-
- ble-lines. SVr4 curses implementations defined their
- line-drawing symbols in terms of intermediate symbols.
- This implementation extends those symbols, providing new
- definitions which are not in the SVr4 implementations.
-
-
-</PRE>
-<H2>SEE ALSO</H2><PRE>
- <STRONG><A HREF="ncurses.3x.html">curses(3x)</A></STRONG>, <STRONG><A HREF="curs_addch.3x.html">curs_addch(3x)</A></STRONG>, <STRONG><A HREF="curs_attr.3x.html">curs_attr(3x)</A></STRONG>, <STRONG><A HREF="curs_clear.3x.html">curs_clear(3x)</A></STRONG>,
- <STRONG><A HREF="curs_outopts.3x.html">curs_outopts(3x)</A></STRONG>, <STRONG><A HREF="curs_refresh.3x.html">curs_refresh(3x)</A></STRONG>, <STRONG>putwc(3)</STRONG>
+</PRE><H2><a name="h2-SEE-ALSO">SEE ALSO</a></H2><PRE>
+ <STRONG><A HREF="ncurses.3x.html">curses(3x)</A></STRONG>, <STRONG><A HREF="curs_addch.3x.html">curs_addch(3x)</A></STRONG>, <STRONG><A HREF="curs_attr.3x.html">curs_attr(3x)</A></STRONG>, <STRONG><A HREF="curs_clear.3x.html">curs_clear(3x)</A></STRONG>, <STRONG>curs_out-</STRONG>
+ <STRONG><A HREF="curs_outopts.3x.html">opts(3x)</A></STRONG>, <STRONG><A HREF="curs_refresh.3x.html">curs_refresh(3x)</A></STRONG>, <STRONG>putwc(3)</STRONG>
- <STRONG><A HREF="curs_add_wch.3x.html">curs_add_wch(3x)</A></STRONG>
+ <STRONG><A HREF="curs_add_wch.3x.html">curs_add_wch(3x)</A></STRONG>
</PRE>
-<HR>
-<ADDRESS>
-Man(1) output converted with
-<a href="http://www.oac.uci.edu/indiv/ehood/man2html.html">man2html</a>
-</ADDRESS>
+<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>
+<ul>
+<li><a href="#h3-add_wch">add_wch</a></li>
+<li><a href="#h3-echo_wchar">echo_wchar</a></li>
+<li><a href="#h3-Line-Graphics">Line Graphics</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-PORTABILITY">PORTABILITY</a></li>
+<li><a href="#h2-SEE-ALSO">SEE ALSO</a></li>
+</ul>
+</div>
</BODY>
</HTML>
diff --git a/doc/html/man/curs_add_wchstr.3x.html b/doc/html/man/curs_add_wchstr.3x.html
index d27ab8c772a4..8b4fe83d8b2f 100644
--- a/doc/html/man/curs_add_wchstr.3x.html
+++ b/doc/html/man/curs_add_wchstr.3x.html
@@ -1,7 +1,6 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN">
<!--
****************************************************************************
- * Copyright (c) 2002-2010,2012 Free Software Foundation, Inc. *
+ * Copyright (c) 2002-2017,2019 Free Software Foundation, Inc. *
* *
* Permission is hereby granted, free of charge, to any person obtaining a *
* copy of this software and associated documentation files (the *
@@ -27,34 +26,32 @@
* sale, use or other dealings in this Software without prior written *
* authorization. *
****************************************************************************
- * @Id: curs_add_wchstr.3x,v 1.10 2012/11/03 22:54:43 tom Exp @
+ * @Id: curs_add_wchstr.3x,v 1.12 2019/11/30 21:06:30 tom Exp @
-->
+<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN">
<HTML>
<HEAD>
+<meta http-equiv="Content-Type" content="text/html; charset=us-ascii">
+<meta name="generator" content="Manpage converted by man2html - see https://invisible-island.net/scripts/readme.html#others_scripts">
<TITLE>curs_add_wchstr 3x</TITLE>
-<link rev=made href="mailto:bug-ncurses@gnu.org">
+<link rel="author" href="mailto:bug-ncurses@gnu.org">
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
</HEAD>
<BODY>
-<H1>curs_add_wchstr 3x</H1>
-<HR>
+<H1 class="no-header">curs_add_wchstr 3x</H1>
<PRE>
-<!-- Manpage converted by man2html 3.0.1 -->
-<STRONG><A HREF="curs_add_wchstr.3x.html">curs_add_wchstr(3x)</A></STRONG> <STRONG><A HREF="curs_add_wchstr.3x.html">curs_add_wchstr(3x)</A></STRONG>
+<STRONG><A HREF="curs_add_wchstr.3x.html">curs_add_wchstr(3x)</A></STRONG> <STRONG><A HREF="curs_add_wchstr.3x.html">curs_add_wchstr(3x)</A></STRONG>
-</PRE>
-<H2>NAME</H2><PRE>
- <STRONG>add_wchstr</STRONG>, <STRONG>add_wchnstr</STRONG>, <STRONG>wadd_wchstr</STRONG>, <STRONG>wadd_wchnstr</STRONG>,
- <STRONG>mvadd_wchstr</STRONG>, <STRONG>mvadd_wchnstr</STRONG>, <STRONG>mvwadd_wchstr</STRONG>, <STRONG>mvwadd_wchnstr</STRONG>
- - add an array of complex characters (and attributes) to a
- curses window
+</PRE><H2><a name="h2-NAME">NAME</a></H2><PRE>
+ <STRONG>add_wchstr</STRONG>, <STRONG>add_wchnstr</STRONG>, <STRONG>wadd_wchstr</STRONG>, <STRONG>wadd_wchnstr</STRONG>, <STRONG>mvadd_wchstr</STRONG>,
+ <STRONG>mvadd_wchnstr</STRONG>, <STRONG>mvwadd_wchstr</STRONG>, <STRONG>mvwadd_wchnstr</STRONG> - add an array of complex
+ characters (and attributes) to a curses window
-</PRE>
-<H2>SYNOPSIS</H2><PRE>
+</PRE><H2><a name="h2-SYNOPSIS">SYNOPSIS</a></H2><PRE>
<STRONG>#include</STRONG> <STRONG>&lt;curses.h&gt;</STRONG>
<STRONG>int</STRONG> <STRONG>add_wchstr(const</STRONG> <STRONG>cchar_t</STRONG> <STRONG>*</STRONG><EM>wchstr</EM><STRONG>);</STRONG>
@@ -67,76 +64,72 @@
<STRONG>int</STRONG> <STRONG>mvwadd_wchnstr(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>wchstr</EM><STRONG>,</STRONG> <STRONG>int</STRONG> <EM>n</EM><STRONG>);</STRONG>
-</PRE>
-<H2>DESCRIPTION</H2><PRE>
- These functions copy the (null-terminated) array of com-
- plex characters <EM>wchstr</EM> into the window image structure
- starting at the current cursor position. The four func-
- tions with <EM>n</EM> as the last argument copy at most <EM>n</EM> elements,
- but no more than will fit on the line. If <STRONG>n</STRONG>=<STRONG>-1</STRONG> then the
- whole array is copied, to the maximum number of characters
- that will fit on the line.
+</PRE><H2><a name="h2-DESCRIPTION">DESCRIPTION</a></H2><PRE>
+ These functions copy the (null-terminated) array of complex characters
+ <EM>wchstr</EM> into the window image structure starting at the current cursor
+ position. The four functions with <EM>n</EM> as the last argument copy at most
+ <EM>n</EM> elements, but no more than will fit on the line. If <STRONG>n</STRONG>=<STRONG>-1</STRONG> then the
+ whole array is copied, to the maximum number of characters that will
+ fit on the line.
- The window cursor is <EM>not</EM> advanced. These functions work
- faster than <STRONG>waddnstr</STRONG>. On the other hand:
+ The window cursor is <EM>not</EM> advanced. These functions work faster than
+ <STRONG>waddnstr</STRONG>. On the other hand:
- <STRONG>o</STRONG> they do not perform checking (such as for the newline,
- backspace, or carriage return characters),
+ <STRONG>o</STRONG> they do not perform checking (such as for the newline, backspace,
+ or carriage return characters),
<STRONG>o</STRONG> they do not advance the current cursor position,
- <STRONG>o</STRONG> they do not expand other control characters to ^-es-
- capes, and
+ <STRONG>o</STRONG> they do not expand other control characters to ^-escapes, and
- <STRONG>o</STRONG> they truncate the string if it crosses the right mar-
- gin, rather than wrapping it around to the new line.
+ <STRONG>o</STRONG> they truncate the string if it crosses the right margin, rather
+ than wrapping it around to the new line.
- These functions end successfully on encountering a null
- <EM>cchar</EM><STRONG>_</STRONG><EM>t</EM>, or when they have filled the current line. If a
- complex character cannot completely fit at the end of the
- current line, the remaining columns are filled with the
- background character and rendition.
+ These functions end successfully on encountering a null <EM>cchar</EM><STRONG>_</STRONG><EM>t</EM>, or
+ when they have filled the current line. If a complex character cannot
+ completely fit at the end of the current line, the remaining columns
+ are filled with the background character and rendition.
-</PRE>
-<H2>RETURN VALUE</H2><PRE>
- All functions return the integer <STRONG>ERR</STRONG> upon failure and <STRONG>OK</STRONG>
- on success.
+</PRE><H2><a name="h2-RETURN-VALUE">RETURN VALUE</a></H2><PRE>
+ All functions return the integer <STRONG>ERR</STRONG> upon failure and <STRONG>OK</STRONG> on success.
- X/Open does not define any error conditions. This imple-
- mentation returns an error if the window pointer is null.
+ X/Open does not define any error conditions. This implementation re-
+ turns an error if the window pointer is null.
- Functions with a "mv" prefix first perform a cursor move-
- ment using <STRONG>wmove</STRONG>, and return an error if the position is
- outside the window, or if the window pointer is null.
+ Functions with a "mv" prefix first perform 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.
-</PRE>
-<H2>NOTES</H2><PRE>
+</PRE><H2><a name="h2-NOTES">NOTES</a></H2><PRE>
All functions except <STRONG>wadd_wchnstr</STRONG> may be macros.
-</PRE>
-<H2>PORTABILITY</H2><PRE>
- These entry points are described in the XSI Curses stan-
- dard, Issue 4.
+</PRE><H2><a name="h2-PORTABILITY">PORTABILITY</a></H2><PRE>
+ These entry points are described in the XSI Curses standard, Issue 4.
-</PRE>
-<H2>SEE ALSO</H2><PRE>
+</PRE><H2><a name="h2-SEE-ALSO">SEE ALSO</a></H2><PRE>
<STRONG><A HREF="curs_addwstr.3x.html">curs_addwstr(3x)</A></STRONG>, <STRONG><A HREF="ncurses.3x.html">curses(3x)</A></STRONG>.
- Comparable functions in the narrow-character (ncurses) li-
- brary are described in <STRONG><A HREF="curs_addchstr.3x.html">curs_addchstr(3x)</A></STRONG>.
+ Comparable functions in the narrow-character (ncurses) library are de-
+ scribed in <STRONG><A HREF="curs_addchstr.3x.html">curs_addchstr(3x)</A></STRONG>.
- <STRONG><A HREF="curs_add_wchstr.3x.html">curs_add_wchstr(3x)</A></STRONG>
+ <STRONG><A HREF="curs_add_wchstr.3x.html">curs_add_wchstr(3x)</A></STRONG>
</PRE>
-<HR>
-<ADDRESS>
-Man(1) output converted with
-<a href="http://www.oac.uci.edu/indiv/ehood/man2html.html">man2html</a>
-</ADDRESS>
+<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>
+<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-SEE-ALSO">SEE ALSO</a></li>
+</ul>
+</div>
</BODY>
</HTML>
diff --git a/doc/html/man/curs_addch.3x.html b/doc/html/man/curs_addch.3x.html
index b8e1fb01ed12..779d5ad51194 100644
--- a/doc/html/man/curs_addch.3x.html
+++ b/doc/html/man/curs_addch.3x.html
@@ -1,8 +1,7 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN">
<!--
* t
****************************************************************************
- * Copyright (c) 1998-2010,2011 Free Software Foundation, Inc. *
+ * Copyright (c) 1998-2018,2019 Free Software Foundation, Inc. *
* *
* Permission is hereby granted, free of charge, to any person obtaining a *
* copy of this software and associated documentation files (the *
@@ -28,33 +27,31 @@
* sale, use or other dealings in this Software without prior written *
* authorization. *
****************************************************************************
- * @Id: curs_addch.3x,v 1.32 2011/01/15 14:15:10 tom Exp @
+ * @Id: curs_addch.3x,v 1.50 2019/11/30 20:07:00 tom Exp @
-->
+<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN">
<HTML>
<HEAD>
+<meta http-equiv="Content-Type" content="text/html; charset=us-ascii">
+<meta name="generator" content="Manpage converted by man2html - see https://invisible-island.net/scripts/readme.html#others_scripts">
<TITLE>curs_addch 3x</TITLE>
-<link rev=made href="mailto:bug-ncurses@gnu.org">
+<link rel="author" href="mailto:bug-ncurses@gnu.org">
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
</HEAD>
<BODY>
-<H1>curs_addch 3x</H1>
-<HR>
+<H1 class="no-header">curs_addch 3x</H1>
<PRE>
-<!-- Manpage converted by man2html 3.0.1 -->
-<STRONG><A HREF="curs_addch.3x.html">curs_addch(3x)</A></STRONG> <STRONG><A HREF="curs_addch.3x.html">curs_addch(3x)</A></STRONG>
+<STRONG><A HREF="curs_addch.3x.html">curs_addch(3x)</A></STRONG> <STRONG><A HREF="curs_addch.3x.html">curs_addch(3x)</A></STRONG>
-</PRE>
-<H2>NAME</H2><PRE>
- <STRONG>addch</STRONG>, <STRONG>waddch</STRONG>, <STRONG>mvaddch</STRONG>, <STRONG>mvwaddch</STRONG>, <STRONG>echochar</STRONG>, <STRONG>wechochar</STRONG> -
- add a character (with attributes) to a <STRONG>curses</STRONG> window, then
- advance the cursor
+</PRE><H2><a name="h2-NAME">NAME</a></H2><PRE>
+ <STRONG>addch</STRONG>, <STRONG>waddch</STRONG>, <STRONG>mvaddch</STRONG>, <STRONG>mvwaddch</STRONG>, <STRONG>echochar</STRONG>, <STRONG>wechochar</STRONG> - add a character
+ (with attributes) to a <STRONG>curses</STRONG> window, then advance the cursor
-</PRE>
-<H2>SYNOPSIS</H2><PRE>
+</PRE><H2><a name="h2-SYNOPSIS">SYNOPSIS</a></H2><PRE>
<STRONG>#include</STRONG> <STRONG>&lt;curses.h&gt;</STRONG>
<STRONG>int</STRONG> <STRONG>addch(const</STRONG> <STRONG>chtype</STRONG> <STRONG>ch);</STRONG>
@@ -65,155 +62,252 @@
<STRONG>int</STRONG> <STRONG>wechochar(WINDOW</STRONG> <STRONG>*win,</STRONG> <STRONG>const</STRONG> <STRONG>chtype</STRONG> <STRONG>ch);</STRONG>
-</PRE>
-<H2>DESCRIPTION</H2><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</STRONG> in <STRONG>stdio(3)</STRONG>. If the advance is at the right mar-
- gin, the cursor automatically wraps to the beginning of
- the next line. At the bottom of the current scrolling
- region, if <STRONG>scrollok</STRONG> is enabled, the scrolling region is
- scrolled up one line.
-
- If <EM>ch</EM> is a tab, newline, or backspace, the cursor is moved
- appropriately within the window. Backspace moves the cur-
- sor one character left; at the left edge of a window it
- does nothing. Newline does a <STRONG>clrtoeol</STRONG>, then moves the
- cursor to the window left margin on the next line,
- scrolling the window if on the last line. Tabs are con-
- sidered to be at every eighth column. The tab interval
- may be altered by setting the <STRONG>TABSIZE</STRONG> variable.
-
- If <EM>ch</EM> is any control character other than tab, newline, or
- backspace, it is drawn in <STRONG>^</STRONG><EM>X</EM> notation. Calling <STRONG>winch</STRONG>
- after adding a control character does not return the char-
- acter itself, but instead returns the ^-representation of
- the control character.
-
- Video attributes can be combined with a character argument
- passed to <STRONG>addch</STRONG> or related functions by logical-ORing them
- into the character. (Thus, text, including attributes,
- can be copied from one place to another using <STRONG>inch</STRONG> and
- <STRONG>addch</STRONG>.) See the <STRONG><A HREF="curs_attr.3x.html">curs_attr(3x)</A></STRONG> page for values of prede-
- fined video attribute constants that can be usefully OR'ed
- into characters.
+</PRE><H2><a name="h2-DESCRIPTION">DESCRIPTION</a></H2><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>refresh</STRONG>, or a call to
- <STRONG>waddch</STRONG> followed by a call to <STRONG>wrefresh</STRONG>. The knowledge that
- only a single character is being output is used and, for
- non-control characters, a considerable performance gain
- may be seen by using these routines instead of their
- equivalents.
-
- <STRONG>Line</STRONG> <STRONG>Graphics</STRONG>
- The following variables may be used to add line drawing
- characters to the screen with routines of the <STRONG>addch</STRONG> fam-
- ily. The default character listed below is used if the
- <STRONG>acsc</STRONG> capability does not define a terminal-specific
- replacement for it. The names are taken from VT100 nomen-
- clature.
-
- <EM>Name</EM> <EM>Default</EM> <EM>Description</EM>
- --------------------------------------------------
- ACS_BLOCK # solid square block
- ACS_BOARD # board of squares
- ACS_BTEE + bottom tee
- ACS_BULLET o bullet
- ACS_CKBOARD : checker board (stipple)
- ACS_DARROW v arrow pointing down
- ACS_DEGREE ' degree symbol
- ACS_DIAMOND + diamond
- ACS_GEQUAL &gt; greater-than-or-equal-to
- ACS_HLINE - horizontal line
- ACS_LANTERN # lantern symbol
- ACS_LARROW &lt; arrow pointing left
- ACS_LEQUAL &lt; less-than-or-equal-to
- ACS_LLCORNER + lower left-hand corner
- ACS_LRCORNER + lower right-hand corner
- ACS_LTEE + left tee
- ACS_NEQUAL ! not-equal
- ACS_PI * greek pi
- ACS_PLMINUS # plus/minus
- ACS_PLUS + plus
- ACS_RARROW &gt; arrow pointing right
- ACS_RTEE + right tee
- ACS_S1 - scan line 1
- ACS_S3 - scan line 3
- ACS_S7 - scan line 7
- ACS_S9 _ scan line 9
- ACS_STERLING f pound-sterling symbol
- ACS_TTEE + top tee
- ACS_UARROW ^ arrow pointing up
- ACS_ULCORNER + upper left-hand corner
- ACS_URCORNER + upper right-hand corner
- ACS_VLINE | vertical line
+</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:
+ <STRONG>o</STRONG> The cursor automatically wraps to the beginning of the next line.
-</PRE>
-<H2>RETURN VALUE</H2><PRE>
- All routines return the integer <STRONG>ERR</STRONG> upon failure and <STRONG>OK</STRONG> on
- success (the SVr4 manuals specify only "an integer value
- other than <STRONG>ERR</STRONG>") upon successful completion, unless other-
- wise noted in the preceding routine descriptions.
+ <STRONG>o</STRONG> At the bottom of the current scrolling region, and if <STRONG>scrollok</STRONG> is
+ enabled, the scrolling region is scrolled up one line.
- Functions with a "mv" prefix first perform a cursor move-
- ment using <STRONG>wmove</STRONG>, and return an error if the position is
- outside the window, or if the window pointer is null.
+ <STRONG>o</STRONG> If <STRONG>scrollok</STRONG> is not enabled, writing a character at the lower right
+ margin succeeds. However, an error is returned because it is not
+ possible to wrap to a new line
+ If <EM>ch</EM> is a tab, newline, carriage return or backspace, the cursor is
+ moved appropriately within the window:
-</PRE>
-<H2>NOTES</H2><PRE>
- Note that <STRONG>addch</STRONG>, <STRONG>mvaddch</STRONG>, <STRONG>mvwaddch</STRONG>, and <STRONG>echochar</STRONG> may be
- macros.
+ <STRONG>o</STRONG> Backspace moves the cursor one character left; at the left edge of
+ a window it does nothing.
+ <STRONG>o</STRONG> Carriage return moves the cursor to the window left margin on the
+ current line.
-</PRE>
-<H2>PORTABILITY</H2><PRE>
- All these functions are described in the XSI Curses stan-
- dard, Issue 4. The defaults specified for forms-drawing
- characters apply in the POSIX locale.
+ <STRONG>o</STRONG> Newline does a <STRONG>clrtoeol</STRONG>, then moves the cursor to the window left
+ margin on the next line, scrolling the window if on the last line.
- X/Open Curses states that the <EM>ACS</EM><STRONG>_</STRONG> definitions are <STRONG>char</STRONG>
- constants. For the wide-character implementation (see
- <STRONG>curs_add_wch</STRONG>), there are analogous <EM>WACS</EM><STRONG>_</STRONG> definitions which
- are <STRONG>cchar_t</STRONG> constants.
+ <STRONG>o</STRONG> Tabs are considered to be at every eighth column. The tab interval
+ may be altered by setting the <STRONG>TABSIZE</STRONG> variable.
- Some ACS symbols (ACS_S3, ACS_S7, ACS_LEQUAL, ACS_GEQUAL,
- ACS_PI, ACS_NEQUAL, ACS_STERLING) were not documented in
- any publicly released System V. However, many publicly
- available terminfos include <STRONG>acsc</STRONG> strings in which their
- key characters (pryz{|}) are embedded, and a second-hand
- list of their character descriptions has come to light.
- The ACS-prefixed names for them were invented for
- <STRONG><A HREF="ncurses.3x.html">ncurses(3x)</A></STRONG>.
+ If <EM>ch</EM> is any other control character, it is drawn in <STRONG>^</STRONG><EM>X</EM> notation.
+ Calling <STRONG>winch</STRONG> after adding a control character does not return the
+ character itself, but instead returns the ^-representation of the con-
+ trol character.
- The <STRONG>TABSIZE</STRONG> variable is implemented in some versions of
- curses, but is not part of X/Open curses.
+ Video attributes can be combined with a character argument passed to
+ <STRONG>addch</STRONG> or related functions by logical-ORing them into the character.
+ (Thus, text, including attributes, can be copied from one place to
+ another using <STRONG><A HREF="curs_inch.3x.html">inch(3x)</A></STRONG> and <STRONG>addch</STRONG>.) See the <STRONG><A HREF="curs_attr.3x.html">curs_attr(3x)</A></STRONG> page for val-
+ ues of predefined video attribute constants that can be usefully OR'ed
+ into characters.
- If <EM>ch</EM> is a carriage return, the cursor is moved to the
- beginning of the current row of the window. This is true
- of other implementations, but is not documented.
+</PRE><H3><a name="h3-Echoing-characters">Echoing characters</a></H3><PRE>
+ The <STRONG>echochar</STRONG> and <STRONG>wechochar</STRONG> routines are equivalent to a call to <STRONG>addch</STRONG>
+ followed by a call to <STRONG><A HREF="curs_refresh.3x.html">refresh(3x)</A></STRONG>, or a call to <STRONG>waddch</STRONG> followed by a
+ call to <STRONG>wrefresh</STRONG>. The knowledge that only a single character is being
+ output is used and, for non-control characters, a considerable perfor-
+ mance gain may be seen by using these routines instead of their equiva-
+ lents.
+
+
+</PRE><H3><a name="h3-Line-Graphics">Line Graphics</a></H3><PRE>
+ The following variables may be used to add line drawing characters to
+ the screen with routines of the <STRONG>addch</STRONG> family. The default character
+ listed below is used if the <STRONG>acsc</STRONG> capability does not define a terminal-
+ specific replacement for it, or if the terminal and locale configura-
+ tion requires Unicode but the library is unable to use Unicode.
+
+ The names are taken from VT100 nomenclature.
+
+ <STRONG>ACS</STRONG> <STRONG>ACS</STRONG> <STRONG>acsc</STRONG> <STRONG>Glyph</STRONG>
+ <STRONG>Name</STRONG> <STRONG>Default</STRONG> <STRONG>char</STRONG> <STRONG>Name</STRONG>
+ ---------------------------------------------------------
+ ACS_BLOCK # 0 solid square block
+ ACS_BOARD # h board of squares
+ ACS_BTEE + v bottom tee
+ ACS_BULLET o ~ bullet
+ ACS_CKBOARD : a checker board (stipple)
+ ACS_DARROW v . arrow pointing down
+ ACS_DEGREE ' f degree symbol
+ ACS_DIAMOND + ` diamond
+ ACS_GEQUAL &gt; &gt; greater-than-or-equal-to
+ ACS_HLINE - q horizontal line
+ ACS_LANTERN # i lantern symbol
+ ACS_LARROW &lt; , arrow pointing left
+ ACS_LEQUAL &lt; y less-than-or-equal-to
+ ACS_LLCORNER + m lower left-hand corner
+ ACS_LRCORNER + j lower right-hand corner
+ ACS_LTEE + t left tee
+ ACS_NEQUAL ! | not-equal
+ ACS_PI * { greek pi
+ ACS_PLMINUS # g plus/minus
+ ACS_PLUS + n plus
+ ACS_RARROW &gt; + arrow pointing right
+ ACS_RTEE + u right tee
+ ACS_S1 - o scan line 1
+ ACS_S3 - p scan line 3
+ ACS_S7 - r scan line 7
+ ACS_S9 _ s scan line 9
+ ACS_STERLING f } pound-sterling symbol
+ ACS_TTEE + w top tee
+ ACS_UARROW ^ - arrow pointing up
+ ACS_ULCORNER + l upper left-hand corner
+ ACS_URCORNER + k upper right-hand corner
+ ACS_VLINE | x vertical line
+
+
+</PRE><H2><a name="h2-RETURN-VALUE">RETURN VALUE</a></H2><PRE>
+ All routines return the integer <STRONG>ERR</STRONG> upon failure and <STRONG>OK</STRONG> on success (the
+ SVr4 manuals specify only "an integer value other than <STRONG>ERR</STRONG>") upon suc-
+ cessful completion, unless otherwise noted in the preceding routine
+ descriptions.
+
+ Functions with a "mv" prefix first perform a cursor movement using
+ <STRONG>wmove</STRONG>, and return an error if the position is outside the window, or if
+ the window pointer is null.
+
+
+</PRE><H2><a name="h2-NOTES">NOTES</a></H2><PRE>
+ Note that <STRONG>addch</STRONG>, <STRONG>mvaddch</STRONG>, <STRONG>mvwaddch</STRONG>, and <STRONG>echochar</STRONG> may be macros.
+
+
+</PRE><H2><a name="h2-PORTABILITY">PORTABILITY</a></H2><PRE>
+ All these functions are described in the XSI Curses standard, Issue 4.
+ The defaults specified for forms-drawing characters apply in the POSIX
+ locale.
+
+
+</PRE><H3><a name="h3-ACS-Symbols">ACS Symbols</a></H3><PRE>
+ X/Open Curses states that the <EM>ACS</EM><STRONG>_</STRONG> definitions are <STRONG>char</STRONG> constants. For
+ the wide-character implementation (see <STRONG>curs_add_wch</STRONG>), there are analo-
+ gous <EM>WACS</EM><STRONG>_</STRONG> definitions which are <STRONG>cchar_t</STRONG> constants. Some implementa-
+ tions are problematic:
+
+ <STRONG>o</STRONG> Some implementations define the ACS symbols to a constant (such as
+ Solaris), while others define those to entries in an array.
+
+ This implementation uses an array <STRONG>acs_map</STRONG>, as done in SVr4 curses.
+ NetBSD also uses an array, actually named <STRONG>_acs_char</STRONG>, with a <STRONG>#define</STRONG>
+ for compatibility.
+
+ <STRONG>o</STRONG> HPUX curses equates some of the <EM>ACS</EM><STRONG>_</STRONG> symbols to the analogous <EM>WACS</EM><STRONG>_</STRONG>
+ symbols as if the <EM>ACS</EM><STRONG>_</STRONG> symbols were wide characters. The misde-
+ fined symbols are the arrows and other symbols which are not used
+ for line-drawing.
+
+ <STRONG>o</STRONG> X/Open Curses (issues 2 through 7) has a typographical error for
+ the ACS_LANTERN symbol, equating its "VT100+ Character" to <STRONG>I</STRONG> (capi-
+ tal I), while the header files for SVr4 curses and the various
+ implementations use <STRONG>i</STRONG> (lowercase).
+
+ None of the terminal descriptions on Unix platforms use uppercase-
+ I, except for Solaris (i.e., <EM>screen</EM>'s terminal description, appar-
+ ently based on the X/Open documentation around 1995). On the other
+ hand, the terminal description <EM>gs6300</EM> (AT&amp;T PC6300 with EMOTS Ter-
+ minal Emulator) uses lowercase-i.
+
+ Some ACS symbols (ACS_S3, ACS_S7, ACS_LEQUAL, ACS_GEQUAL, ACS_PI,
+ ACS_NEQUAL, ACS_STERLING) were not documented in any publicly released
+ System V. However, many publicly available terminfos include <STRONG>acsc</STRONG>
+ strings in which their key characters (pryz{|}) are embedded, and a
+ second-hand list of their character descriptions has come to light.
+ The ACS-prefixed names for them were invented for <STRONG><A HREF="ncurses.3x.html">ncurses(3x)</A></STRONG>.
+
+ The <EM>displayed</EM> values for the <EM>ACS</EM><STRONG>_</STRONG> and <EM>WACS</EM><STRONG>_</STRONG> constants depend on
+
+ <STRONG>o</STRONG> the library configuration, i.e., <STRONG>ncurses</STRONG> versus <STRONG>ncursesw</STRONG>, where the
+ latter is capable of displaying Unicode while the former is not,
+ and
+
+ <STRONG>o</STRONG> whether the <EM>locale</EM> uses UTF-8 encoding.
+
+ In certain cases, the terminal is unable to display line-drawing char-
+ acters except by using UTF-8 (see the discussion of <STRONG>NCURSES_NO_UTF8_ACS</STRONG>
+ in <STRONG><A HREF="ncurses.3x.html">ncurses(3x)</A></STRONG>).
+
+
+</PRE><H3><a name="h3-Character-Set">Character Set</a></H3><PRE>
+ X/Open Curses assumes that the parameter passed to <STRONG>waddch</STRONG> contains a
+ single character. As discussed in <STRONG><A HREF="curs_attr.3x.html">curs_attr(3x)</A></STRONG>, that character may
+ have been more than eight bits in an SVr3 or SVr4 implementation, but
+ in the X/Open Curses model, the details are not given. The important
+ distinction between SVr4 curses and X/Open Curses is that the non-char-
+ acter information (attributes and color) was separated from the charac-
+ ter information which is packed in a <STRONG>chtype</STRONG> to pass to <STRONG>waddch</STRONG>.
-</PRE>
-<H2>SEE ALSO</H2><PRE>
- <STRONG><A HREF="ncurses.3x.html">curses(3x)</A></STRONG>, <STRONG><A HREF="curs_attr.3x.html">curs_attr(3x)</A></STRONG>, <STRONG><A HREF="curs_clear.3x.html">curs_clear(3x)</A></STRONG>, <STRONG><A HREF="curs_inch.3x.html">curs_inch(3x)</A></STRONG>,
- <STRONG><A HREF="curs_outopts.3x.html">curs_outopts(3x)</A></STRONG>, <STRONG><A HREF="curs_refresh.3x.html">curs_refresh(3x)</A></STRONG>, <STRONG><A HREF="curs_variables.3x.html">curs_variables(3x)</A></STRONG>,
- <STRONG>putc(3)</STRONG>.
+ In this implementation, <STRONG>chtype</STRONG> holds an eight-bit character. But
+ ncurses allows multibyte characters to be passed in a succession of
+ calls to <STRONG>waddch</STRONG>. The other implementations do not do this; a call to
+ <STRONG>waddch</STRONG> passes exactly one character which may be rendered as one or
+ more cells on the screen depending on whether it is printable.
+
+ Depending on the locale settings, ncurses will inspect the byte passed
+ in each call to <STRONG>waddch</STRONG>, and check if the latest call will continue a
+ multibyte sequence. When a character is <EM>complete</EM>, ncurses displays the
+ character and moves to the next position in the screen.
+
+ If the calling application interrupts the succession of bytes in a
+ multibyte character by moving the current location (e.g., using <STRONG>wmove</STRONG>),
+ ncurses discards the partially built character, starting over again.
+
+ For portability to other implementations, do not rely upon this behav-
+ ior:
+
+ <STRONG>o</STRONG> check if a character can be represented as a single byte in the
+ current locale before attempting call <STRONG>waddch</STRONG>, and
+
+ <STRONG>o</STRONG> call <STRONG>wadd_wch</STRONG> for characters which cannot be handled by <STRONG>waddch</STRONG>.
+
+
+</PRE><H3><a name="h3-TABSIZE">TABSIZE</a></H3><PRE>
+ The <STRONG>TABSIZE</STRONG> variable is implemented in SVr4 and other versions of
+ curses, but is not part of X/Open curses (see <STRONG><A HREF="curs_variables.3x.html">curs_variables(3x)</A></STRONG> for
+ more details).
+
+ If <EM>ch</EM> is a carriage return, the cursor is moved to the beginning of the
+ current row of the window. This is true of other implementations, but
+ is not documented.
+
+
+</PRE><H2><a name="h2-SEE-ALSO">SEE ALSO</a></H2><PRE>
+ <STRONG><A HREF="ncurses.3x.html">curses(3x)</A></STRONG>, <STRONG><A HREF="curs_attr.3x.html">curs_attr(3x)</A></STRONG>, <STRONG><A HREF="curs_clear.3x.html">curs_clear(3x)</A></STRONG>, <STRONG><A HREF="curs_inch.3x.html">curs_inch(3x)</A></STRONG>, <STRONG>curs_out-</STRONG>
+ <STRONG><A HREF="curs_outopts.3x.html">opts(3x)</A></STRONG>, <STRONG><A HREF="curs_refresh.3x.html">curs_refresh(3x)</A></STRONG>, <STRONG><A HREF="curs_variables.3x.html">curs_variables(3x)</A></STRONG>, <STRONG>putc(3)</STRONG>.
- Comparable functions in the wide-character (ncursesw)
- library are described in <STRONG><A HREF="curs_add_wch.3x.html">curs_add_wch(3x)</A></STRONG>.
+ Comparable functions in the wide-character (ncursesw) library are
+ described in <STRONG><A HREF="curs_add_wch.3x.html">curs_add_wch(3x)</A></STRONG>.
- <STRONG><A HREF="curs_addch.3x.html">curs_addch(3x)</A></STRONG>
+ <STRONG><A HREF="curs_addch.3x.html">curs_addch(3x)</A></STRONG>
</PRE>
-<HR>
-<ADDRESS>
-Man(1) output converted with
-<a href="http://www.oac.uci.edu/indiv/ehood/man2html.html">man2html</a>
-</ADDRESS>
+<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>
+<ul>
+<li><a href="#h3-Adding-characters">Adding characters</a></li>
+<li><a href="#h3-Echoing-characters">Echoing characters</a></li>
+<li><a href="#h3-Line-Graphics">Line Graphics</a></li>
+</ul>
+</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>
+<ul>
+<li><a href="#h3-ACS-Symbols">ACS Symbols</a></li>
+<li><a href="#h3-Character-Set">Character Set</a></li>
+<li><a href="#h3-TABSIZE">TABSIZE</a></li>
+</ul>
+</li>
+<li><a href="#h2-SEE-ALSO">SEE ALSO</a></li>
+</ul>
+</div>
</BODY>
</HTML>
diff --git a/doc/html/man/curs_addchstr.3x.html b/doc/html/man/curs_addchstr.3x.html
index b4bbc4f84cc9..82dd5daf2a16 100644
--- a/doc/html/man/curs_addchstr.3x.html
+++ b/doc/html/man/curs_addchstr.3x.html
@@ -1,7 +1,6 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN">
<!--
****************************************************************************
- * Copyright (c) 1998-2010,2012 Free Software Foundation, Inc. *
+ * Copyright (c) 1998-2017,2019 Free Software Foundation, Inc. *
* *
* Permission is hereby granted, free of charge, to any person obtaining a *
* copy of this software and associated documentation files (the *
@@ -27,33 +26,32 @@
* sale, use or other dealings in this Software without prior written *
* authorization. *
****************************************************************************
- * @Id: curs_addchstr.3x,v 1.16 2012/11/03 22:54:43 tom Exp @
+ * @Id: curs_addchstr.3x,v 1.18 2019/11/30 21:06:30 tom Exp @
-->
+<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN">
<HTML>
<HEAD>
+<meta http-equiv="Content-Type" content="text/html; charset=us-ascii">
+<meta name="generator" content="Manpage converted by man2html - see https://invisible-island.net/scripts/readme.html#others_scripts">
<TITLE>curs_addchstr 3x</TITLE>
-<link rev=made href="mailto:bug-ncurses@gnu.org">
+<link rel="author" href="mailto:bug-ncurses@gnu.org">
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
</HEAD>
<BODY>
-<H1>curs_addchstr 3x</H1>
-<HR>
+<H1 class="no-header">curs_addchstr 3x</H1>
<PRE>
-<!-- Manpage converted by man2html 3.0.1 -->
-<STRONG><A HREF="curs_addchstr.3x.html">curs_addchstr(3x)</A></STRONG> <STRONG><A HREF="curs_addchstr.3x.html">curs_addchstr(3x)</A></STRONG>
+<STRONG><A HREF="curs_addchstr.3x.html">curs_addchstr(3x)</A></STRONG> <STRONG><A HREF="curs_addchstr.3x.html">curs_addchstr(3x)</A></STRONG>
-</PRE>
-<H2>NAME</H2><PRE>
- <STRONG>addchstr</STRONG>, <STRONG>addchnstr</STRONG>, <STRONG>waddchstr</STRONG>, <STRONG>waddchnstr</STRONG>, <STRONG>mvaddchstr</STRONG>,
- <STRONG>mvaddchnstr</STRONG>, <STRONG>mvwaddchstr</STRONG>, <STRONG>mvwaddchnstr</STRONG> - add a string of
- characters (and attributes) to a <STRONG>curses</STRONG> window
+</PRE><H2><a name="h2-NAME">NAME</a></H2><PRE>
+ <STRONG>addchstr</STRONG>, <STRONG>addchnstr</STRONG>, <STRONG>waddchstr</STRONG>, <STRONG>waddchnstr</STRONG>, <STRONG>mvaddchstr</STRONG>, <STRONG>mvaddchnstr</STRONG>,
+ <STRONG>mvwaddchstr</STRONG>, <STRONG>mvwaddchnstr</STRONG> - add a string of characters (and attributes)
+ to a <STRONG>curses</STRONG> window
-</PRE>
-<H2>SYNOPSIS</H2><PRE>
+</PRE><H2><a name="h2-SYNOPSIS">SYNOPSIS</a></H2><PRE>
<STRONG>#include</STRONG> <STRONG>&lt;curses.h&gt;</STRONG>
<STRONG>int</STRONG> <STRONG>addchstr(const</STRONG> <STRONG>chtype</STRONG> <STRONG>*chstr);</STRONG>
@@ -66,69 +64,66 @@
<STRONG>int</STRONG> <STRONG>mvwaddchnstr(WINDOW</STRONG> <STRONG>*win,</STRONG> <STRONG>int</STRONG> <STRONG>y,</STRONG> <STRONG>int</STRONG> <STRONG>x,</STRONG> <STRONG>const</STRONG> <STRONG>chtype</STRONG> <STRONG>*chstr,</STRONG> <STRONG>int</STRONG> <STRONG>n);</STRONG>
-</PRE>
-<H2>DESCRIPTION</H2><PRE>
- These functions copy the (null-terminated) <EM>chstr</EM> array in-
- to the window image structure starting at the current cur-
- sor position. The four functions with <EM>n</EM> as the last argu-
- ment copy at most <EM>n</EM> elements, but no more than will fit on
- the line. If <STRONG>n</STRONG>=<STRONG>-1</STRONG> then the whole array is copied, to the
- maximum number of characters that will fit on the line.
+</PRE><H2><a name="h2-DESCRIPTION">DESCRIPTION</a></H2><PRE>
+ These functions copy the (null-terminated) <EM>chstr</EM> array into the window
+ image structure starting at the current cursor position. The four
+ functions with <EM>n</EM> as the last argument copy at most <EM>n</EM> elements, but no
+ more than will fit on the line. If <STRONG>n</STRONG>=<STRONG>-1</STRONG> then the whole array is
+ copied, to the maximum number of characters that will fit on the line.
- The window cursor is <EM>not</EM> advanced. These functions work
- faster than <STRONG>waddnstr</STRONG>. On the other hand:
+ The window cursor is <EM>not</EM> advanced. These functions work faster than
+ <STRONG>waddnstr</STRONG>. On the other hand:
- <STRONG>o</STRONG> they do not perform checking (such as for the newline,
- backspace, or carriage return characters),
+ <STRONG>o</STRONG> they do not perform checking (such as for the newline, backspace,
+ or carriage return characters),
<STRONG>o</STRONG> they do not advance the current cursor position,
- <STRONG>o</STRONG> they do not expand other control characters to ^-es-
- capes, and
+ <STRONG>o</STRONG> they do not expand other control characters to ^-escapes, and
- <STRONG>o</STRONG> they truncate the string if it crosses the right mar-
- gin, rather than wrapping it around to the new line.
+ <STRONG>o</STRONG> they truncate the string if it crosses the right margin, rather
+ than wrapping it around to the new line.
-</PRE>
-<H2>RETURN VALUE</H2><PRE>
- All functions return the integer <STRONG>ERR</STRONG> upon failure and <STRONG>OK</STRONG>
- on success.
+</PRE><H2><a name="h2-RETURN-VALUE">RETURN VALUE</a></H2><PRE>
+ All functions return the integer <STRONG>ERR</STRONG> upon failure and <STRONG>OK</STRONG> on success.
- X/Open does not define any error conditions. This imple-
- mentation returns an error if the window pointer is null.
+ X/Open does not define any error conditions. This implementation re-
+ turns an error if the window pointer is null.
- Functions with a "mv" prefix first perform a cursor move-
- ment using <STRONG>wmove</STRONG>, and return an error if the position is
- outside the window, or if the window pointer is null.
+ Functions with a "mv" prefix first perform 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.
-</PRE>
-<H2>NOTES</H2><PRE>
+</PRE><H2><a name="h2-NOTES">NOTES</a></H2><PRE>
All functions except <STRONG>waddchnstr</STRONG> may be macros.
-</PRE>
-<H2>PORTABILITY</H2><PRE>
- These entry points are described in the XSI Curses stan-
- dard, Issue 4.
+</PRE><H2><a name="h2-PORTABILITY">PORTABILITY</a></H2><PRE>
+ These entry points are described in the XSI Curses standard, Issue 4.
-</PRE>
-<H2>SEE ALSO</H2><PRE>
+</PRE><H2><a name="h2-SEE-ALSO">SEE ALSO</a></H2><PRE>
<STRONG><A HREF="curs_addstr.3x.html">curs_addstr(3x)</A></STRONG>, <STRONG><A HREF="ncurses.3x.html">curses(3x)</A></STRONG>.
- Comparable functions in the wide-character (ncursesw) li-
- brary are described in <STRONG><A HREF="curs_add_wchstr.3x.html">curs_add_wchstr(3x)</A></STRONG>.
+ Comparable functions in the wide-character (ncursesw) library are de-
+ scribed in <STRONG><A HREF="curs_add_wchstr.3x.html">curs_add_wchstr(3x)</A></STRONG>.
- <STRONG><A HREF="curs_addchstr.3x.html">curs_addchstr(3x)</A></STRONG>
+ <STRONG><A HREF="curs_addchstr.3x.html">curs_addchstr(3x)</A></STRONG>
</PRE>
-<HR>
-<ADDRESS>
-Man(1) output converted with
-<a href="http://www.oac.uci.edu/indiv/ehood/man2html.html">man2html</a>
-</ADDRESS>
+<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>
+<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-SEE-ALSO">SEE ALSO</a></li>
+</ul>
+</div>
</BODY>
</HTML>
diff --git a/doc/html/man/curs_addstr.3x.html b/doc/html/man/curs_addstr.3x.html
index f5fd5ebfa2a5..1506a391513d 100644
--- a/doc/html/man/curs_addstr.3x.html
+++ b/doc/html/man/curs_addstr.3x.html
@@ -1,7 +1,6 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN">
<!--
****************************************************************************
- * Copyright (c) 1998-2010,2012 Free Software Foundation, Inc. *
+ * Copyright (c) 1998-2017,2019 Free Software Foundation, Inc. *
* *
* Permission is hereby granted, free of charge, to any person obtaining a *
* copy of this software and associated documentation files (the *
@@ -27,33 +26,32 @@
* sale, use or other dealings in this Software without prior written *
* authorization. *
****************************************************************************
- * @Id: curs_addstr.3x,v 1.17 2012/11/03 22:57:31 tom Exp @
+ * @Id: curs_addstr.3x,v 1.19 2019/11/30 21:06:30 tom Exp @
-->
+<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN">
<HTML>
<HEAD>
+<meta http-equiv="Content-Type" content="text/html; charset=us-ascii">
+<meta name="generator" content="Manpage converted by man2html - see https://invisible-island.net/scripts/readme.html#others_scripts">
<TITLE>curs_addstr 3x</TITLE>
-<link rev=made href="mailto:bug-ncurses@gnu.org">
+<link rel="author" href="mailto:bug-ncurses@gnu.org">
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
</HEAD>
<BODY>
-<H1>curs_addstr 3x</H1>
-<HR>
+<H1 class="no-header">curs_addstr 3x</H1>
<PRE>
-<!-- Manpage converted by man2html 3.0.1 -->
-<STRONG><A HREF="curs_addstr.3x.html">curs_addstr(3x)</A></STRONG> <STRONG><A HREF="curs_addstr.3x.html">curs_addstr(3x)</A></STRONG>
+<STRONG><A HREF="curs_addstr.3x.html">curs_addstr(3x)</A></STRONG> <STRONG><A HREF="curs_addstr.3x.html">curs_addstr(3x)</A></STRONG>
-</PRE>
-<H2>NAME</H2><PRE>
- <STRONG>addstr</STRONG>, <STRONG>addnstr</STRONG>, <STRONG>waddstr</STRONG>, <STRONG>waddnstr</STRONG>, <STRONG>mvaddstr</STRONG>, <STRONG>mvaddnstr</STRONG>,
- <STRONG>mvwaddstr</STRONG>, <STRONG>mvwaddnstr</STRONG> - add a string of characters to a
- <STRONG>curses</STRONG> window and advance cursor
+</PRE><H2><a name="h2-NAME">NAME</a></H2><PRE>
+ <STRONG>addstr</STRONG>, <STRONG>addnstr</STRONG>, <STRONG>waddstr</STRONG>, <STRONG>waddnstr</STRONG>, <STRONG>mvaddstr</STRONG>, <STRONG>mvaddnstr</STRONG>, <STRONG>mvwaddstr</STRONG>,
+ <STRONG>mvwaddnstr</STRONG> - add a string of characters to a <STRONG>curses</STRONG> window and advance
+ cursor
-</PRE>
-<H2>SYNOPSIS</H2><PRE>
+</PRE><H2><a name="h2-SYNOPSIS">SYNOPSIS</a></H2><PRE>
<STRONG>#include</STRONG> <STRONG>&lt;curses.h&gt;</STRONG>
<STRONG>int</STRONG> <STRONG>addstr(const</STRONG> <STRONG>char</STRONG> <STRONG>*</STRONG><EM>str</EM><STRONG>);</STRONG>
@@ -66,28 +64,25 @@
<STRONG>int</STRONG> <STRONG>mvwaddnstr(WINDOW</STRONG> <STRONG>*</STRONG><EM>win</EM><STRONG>,</STRONG> <STRONG>int</STRONG> <EM>y</EM><STRONG>,</STRONG> <STRONG>int</STRONG> <EM>x</EM><STRONG>,</STRONG> <STRONG>const</STRONG> <STRONG>char</STRONG> <STRONG>*</STRONG><EM>str,</EM> <EM>int</EM> <EM>n</EM><STRONG>);</STRONG>
-</PRE>
-<H2>DESCRIPTION</H2><PRE>
- These functions write the (null-terminated) character
- string <EM>str</EM> on the given window. It is similar to calling
- <STRONG>waddch</STRONG> once for each character in the string.
+</PRE><H2><a name="h2-DESCRIPTION">DESCRIPTION</a></H2><PRE>
+ These functions write the (null-terminated) character string <EM>str</EM> on the
+ given window. It is similar to calling <STRONG>waddch</STRONG> once for each character
+ in the string.
- The <EM>mv</EM> functions perform cursor movement once, before
- writing any characters. Thereafter, the cursor is ad-
- vanced as a side-effect of writing to the window.
+ The <EM>mv</EM> functions perform cursor movement once, before writing any char-
+ acters. Thereafter, the cursor is advanced as a side-effect of writing
+ to the window.
- The four functions with <EM>n</EM> as the last argument write at
- most <EM>n</EM> characters, or until a terminating null is reached.
- If <EM>n</EM> is -1, then the entire string will be added.
+ The four functions with <EM>n</EM> as the last argument write at most <EM>n</EM> charac-
+ ters, or until a terminating null is reached. If <EM>n</EM> is -1, then the en-
+ tire string will be added.
-</PRE>
-<H2>RETURN VALUE</H2><PRE>
- All functions return the integer <STRONG>ERR</STRONG> upon failure and <STRONG>OK</STRONG>
- on success.
+</PRE><H2><a name="h2-RETURN-VALUE">RETURN VALUE</a></H2><PRE>
+ All functions return the integer <STRONG>ERR</STRONG> upon failure and <STRONG>OK</STRONG> on success.
- X/Open does not define any error conditions. This imple-
- mentation returns an error
+ X/Open does not define any error conditions. This implementation re-
+ turns an error
<STRONG>o</STRONG> if the window pointer is null or
@@ -95,34 +90,36 @@
<STRONG>o</STRONG> if the corresponding calls to <STRONG>waddch</STRONG> return an error.
- Functions with a "mv" prefix first perform a cursor move-
- ment using <STRONG>wmove</STRONG>, and return an error if the position is
- outside the window, or if the window pointer is null.
+ Functions with a "mv" prefix first perform 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.
-</PRE>
-<H2>NOTES</H2><PRE>
+</PRE><H2><a name="h2-NOTES">NOTES</a></H2><PRE>
All of these functions except <STRONG>waddnstr</STRONG> may be macros.
-</PRE>
-<H2>PORTABILITY</H2><PRE>
- These functions are described in the XSI Curses standard,
- Issue 4.
+</PRE><H2><a name="h2-PORTABILITY">PORTABILITY</a></H2><PRE>
+ These functions are described in the XSI Curses standard, Issue 4.
-</PRE>
-<H2>SEE ALSO</H2><PRE>
+</PRE><H2><a name="h2-SEE-ALSO">SEE ALSO</a></H2><PRE>
<STRONG><A HREF="ncurses.3x.html">curses(3x)</A></STRONG>, <STRONG><A HREF="curs_addch.3x.html">curs_addch(3x)</A></STRONG>.
- <STRONG><A HREF="curs_addstr.3x.html">curs_addstr(3x)</A></STRONG>
+ <STRONG><A HREF="curs_addstr.3x.html">curs_addstr(3x)</A></STRONG>
</PRE>
-<HR>
-<ADDRESS>
-Man(1) output converted with
-<a href="http://www.oac.uci.edu/indiv/ehood/man2html.html">man2html</a>
-</ADDRESS>
+<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>
+<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-SEE-ALSO">SEE ALSO</a></li>
+</ul>
+</div>
</BODY>
</HTML>
diff --git a/doc/html/man/curs_addwstr.3x.html b/doc/html/man/curs_addwstr.3x.html
index fc9d830d60bb..2cd1aa2dd92e 100644
--- a/doc/html/man/curs_addwstr.3x.html
+++ b/doc/html/man/curs_addwstr.3x.html
@@ -1,7 +1,6 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN">
<!--
****************************************************************************
- * Copyright (c) 2002-2010,2012 Free Software Foundation, Inc. *
+ * Copyright (c) 2002-2017,2019 Free Software Foundation, Inc. *
* *
* Permission is hereby granted, free of charge, to any person obtaining a *
* copy of this software and associated documentation files (the *
@@ -27,33 +26,32 @@
* sale, use or other dealings in this Software without prior written *
* authorization. *
****************************************************************************
- * @Id: curs_addwstr.3x,v 1.11 2012/11/03 22:57:31 tom Exp @
+ * @Id: curs_addwstr.3x,v 1.13 2019/11/30 21:06:30 tom Exp @
-->
+<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN">
<HTML>
<HEAD>
+<meta http-equiv="Content-Type" content="text/html; charset=us-ascii">
+<meta name="generator" content="Manpage converted by man2html - see https://invisible-island.net/scripts/readme.html#others_scripts">
<TITLE>curs_addwstr 3x</TITLE>
-<link rev=made href="mailto:bug-ncurses@gnu.org">
+<link rel="author" href="mailto:bug-ncurses@gnu.org">
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
</HEAD>
<BODY>
-<H1>curs_addwstr 3x</H1>
-<HR>
+<H1 class="no-header">curs_addwstr 3x</H1>
<PRE>
-<!-- Manpage converted by man2html 3.0.1 -->
-<STRONG><A HREF="curs_addwstr.3x.html">curs_addwstr(3x)</A></STRONG> <STRONG><A HREF="curs_addwstr.3x.html">curs_addwstr(3x)</A></STRONG>
+<STRONG><A HREF="curs_addwstr.3x.html">curs_addwstr(3x)</A></STRONG> <STRONG><A HREF="curs_addwstr.3x.html">curs_addwstr(3x)</A></STRONG>
-</PRE>
-<H2>NAME</H2><PRE>
- <STRONG>addwstr</STRONG>, <STRONG>addnwstr</STRONG>, <STRONG>waddwstr</STRONG>, <STRONG>waddnwstr</STRONG>, <STRONG>mvaddwstr</STRONG>,
- <STRONG>mvaddnwstr</STRONG>, <STRONG>mvwaddwstr</STRONG>, <STRONG>mvwaddnwstr</STRONG> - add a string of wide
- characters to a <STRONG>curses</STRONG> window and advance cursor
+</PRE><H2><a name="h2-NAME">NAME</a></H2><PRE>
+ <STRONG>addwstr</STRONG>, <STRONG>addnwstr</STRONG>, <STRONG>waddwstr</STRONG>, <STRONG>waddnwstr</STRONG>, <STRONG>mvaddwstr</STRONG>, <STRONG>mvaddnwstr</STRONG>,
+ <STRONG>mvwaddwstr</STRONG>, <STRONG>mvwaddnwstr</STRONG> - add a string of wide characters to a <STRONG>curses</STRONG>
+ window and advance cursor
-</PRE>
-<H2>SYNOPSIS</H2><PRE>
+</PRE><H2><a name="h2-SYNOPSIS">SYNOPSIS</a></H2><PRE>
<STRONG>#include</STRONG> <STRONG>&lt;curses.h&gt;</STRONG>
<STRONG>int</STRONG> <STRONG>addwstr(const</STRONG> <STRONG>wchar_t</STRONG> <STRONG>*</STRONG><EM>wstr</EM><STRONG>);</STRONG>
@@ -66,67 +64,63 @@
<STRONG>int</STRONG> <STRONG>mvwaddnwstr(WINDOW</STRONG> <STRONG>*</STRONG><EM>win</EM><STRONG>,</STRONG> <STRONG>int</STRONG> <EM>y</EM><STRONG>,</STRONG> <STRONG>int</STRONG> <EM>x</EM><STRONG>,</STRONG> <STRONG>const</STRONG> <STRONG>wchar_t</STRONG> <STRONG>*</STRONG><EM>wstr</EM><STRONG>,</STRONG> <STRONG>int</STRONG> <EM>n</EM><STRONG>);</STRONG>
-</PRE>
-<H2>DESCRIPTION</H2><PRE>
- These functions write the characters of the (null-termi-
- nated) <STRONG>wchar_t</STRONG> character string <EM>wstr</EM> on the given window.
- It is similar to constructing a <STRONG>cchar_t</STRONG> for each wchar_t
- in the string, then calling <STRONG>wadd_wch</STRONG> for the resulting
- <STRONG>cchar_t</STRONG>.
+</PRE><H2><a name="h2-DESCRIPTION">DESCRIPTION</a></H2><PRE>
+ These functions write the characters of the (null-terminated) <STRONG>wchar_t</STRONG>
+ character string <EM>wstr</EM> on the given window. It is similar to construct-
+ ing a <STRONG>cchar_t</STRONG> for each wchar_t in the string, then calling <STRONG>wadd_wch</STRONG> for
+ the resulting <STRONG>cchar_t</STRONG>.
- The <EM>mv</EM> functions perform cursor movement once, before
- writing any characters. Thereafter, the cursor is ad-
- vanced as a side-effect of writing to the window.
+ The <EM>mv</EM> functions perform cursor movement once, before writing any char-
+ acters. Thereafter, the cursor is advanced as a side-effect of writing
+ to the window.
- The four functions with <EM>n</EM> as the last argument write at
- most <EM>n</EM> <STRONG>wchar_t</STRONG> characters, or until a terminating null is
- reached. If <EM>n</EM> is -1, then the entire string will be
- added.
+ The four functions with <EM>n</EM> as the last argument write at most <EM>n</EM> <STRONG>wchar_t</STRONG>
+ characters, or until a terminating null is reached. If <EM>n</EM> is -1, then
+ the entire string will be added.
-</PRE>
-<H2>RETURN VALUE</H2><PRE>
- All functions return the integer <STRONG>ERR</STRONG> upon failure and <STRONG>OK</STRONG>
- on success.
+</PRE><H2><a name="h2-RETURN-VALUE">RETURN VALUE</a></H2><PRE>
+ All functions return the integer <STRONG>ERR</STRONG> upon failure and <STRONG>OK</STRONG> on success.
- X/Open does not define any error conditions. This imple-
- mentation returns an error
+ X/Open does not define any error conditions. This implementation re-
+ turns an error
<STRONG>o</STRONG> if the window pointer is null or
<STRONG>o</STRONG> if the string pointer is null or
- <STRONG>o</STRONG> if the corresponding calls to <STRONG>wadd_wch</STRONG> return an er-
- ror.
+ <STRONG>o</STRONG> if the corresponding calls to <STRONG>wadd_wch</STRONG> return an error.
- Functions with a "mv" prefix first perform a cursor move-
- ment using <STRONG>wmove</STRONG>, and return an error if the position is
- outside the window, or if the window pointer is null.
+ Functions with a "mv" prefix first perform 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.
-</PRE>
-<H2>NOTES</H2><PRE>
+</PRE><H2><a name="h2-NOTES">NOTES</a></H2><PRE>
All of these functions except <STRONG>waddnwstr</STRONG> may be macros.
-</PRE>
-<H2>PORTABILITY</H2><PRE>
- These functions are described in the XSI Curses standard,
- Issue 4.
+</PRE><H2><a name="h2-PORTABILITY">PORTABILITY</a></H2><PRE>
+ These functions are described in the XSI Curses standard, Issue 4.
-</PRE>
-<H2>SEE ALSO</H2><PRE>
+</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_add_wch.3x.html">curs_add_wch(3x)</A></STRONG>
- <STRONG><A HREF="curs_addwstr.3x.html">curs_addwstr(3x)</A></STRONG>
+ <STRONG><A HREF="curs_addwstr.3x.html">curs_addwstr(3x)</A></STRONG>
</PRE>
-<HR>
-<ADDRESS>
-Man(1) output converted with
-<a href="http://www.oac.uci.edu/indiv/ehood/man2html.html">man2html</a>
-</ADDRESS>
+<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>
+<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-SEE-ALSO">SEE ALSO</a></li>
+</ul>
+</div>
</BODY>
</HTML>
diff --git a/doc/html/man/curs_attr.3x.html b/doc/html/man/curs_attr.3x.html
index f09a28de97c5..ec259a1cdf7f 100644
--- a/doc/html/man/curs_attr.3x.html
+++ b/doc/html/man/curs_attr.3x.html
@@ -1,8 +1,7 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN">
<!--
* t
****************************************************************************
- * Copyright (c) 1998-2010,2013 Free Software Foundation, Inc. *
+ * Copyright (c) 1998-2018,2019 Free Software Foundation, Inc. *
* *
* Permission is hereby granted, free of charge, to any person obtaining a *
* copy of this software and associated documentation files (the *
@@ -28,145 +27,224 @@
* sale, use or other dealings in this Software without prior written *
* authorization. *
****************************************************************************
- * @Id: curs_attr.3x,v 1.39 2013/09/21 20:39:49 Sven.Joachim Exp @
+ * @Id: curs_attr.3x,v 1.65 2019/11/30 21:06:30 tom Exp @
+ * ---------------------------------------------------------------------------
+ * attr_get
+ * .br
+ * .br
+ * .br
+ * .br
+ * .br
+ * ---------------------------------------------------------------------------
+ * ---------------------------------------------------------------------------
+ * ---------------------------------------------------------------------------
+ * ---------------------------------------------------------------------------
+ * ---------------------------------------------------------------------------
+ * ---------------------------------------------------------------------------
+ * ---------------------------------------------------------------------------
+ * ---------------------------------------------------------------------------
+ * ---------------------------------------------------------------------------
+ * ---------------------------------------------------------------------------
+ * ---------------------------------------------------------------------------
+ * ---------------------------------------------------------------------------
+ * ---------------------------------------------------------------------------
+ * ---------------------------------------------------------------------------
-->
+<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN">
<HTML>
<HEAD>
+<meta http-equiv="Content-Type" content="text/html; charset=us-ascii">
+<meta name="generator" content="Manpage converted by man2html - see https://invisible-island.net/scripts/readme.html#others_scripts">
<TITLE>curs_attr 3x</TITLE>
-<link rev=made href="mailto:bug-ncurses@gnu.org">
+<link rel="author" href="mailto:bug-ncurses@gnu.org">
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
</HEAD>
<BODY>
-<H1>curs_attr 3x</H1>
-<HR>
+<H1 class="no-header">curs_attr 3x</H1>
<PRE>
-<!-- Manpage converted by man2html 3.0.1 -->
-<STRONG><A HREF="curs_attr.3x.html">curs_attr(3x)</A></STRONG> <STRONG><A HREF="curs_attr.3x.html">curs_attr(3x)</A></STRONG>
+<STRONG><A HREF="curs_attr.3x.html">curs_attr(3x)</A></STRONG> <STRONG><A HREF="curs_attr.3x.html">curs_attr(3x)</A></STRONG>
-</PRE>
-<H2>NAME</H2><PRE>
- <STRONG>attroff</STRONG>, <STRONG>wattroff</STRONG>, <STRONG>attron</STRONG>, <STRONG>wattron</STRONG>, <STRONG>attrset</STRONG>, <STRONG>wattrset</STRONG>,
- <STRONG>color_set</STRONG>, <STRONG>wcolor_set</STRONG>, <STRONG>standend</STRONG>, <STRONG>wstandend</STRONG>, <STRONG>standout</STRONG>,
- <STRONG>wstandout</STRONG>, <STRONG>attr_get</STRONG>, <STRONG>wattr_get</STRONG>, <STRONG>attr_off</STRONG>, <STRONG>wattr_off</STRONG>,
- <STRONG>attr_on</STRONG>, <STRONG>wattr_on</STRONG>, <STRONG>attr_set</STRONG>, <STRONG>wattr_set</STRONG>, <STRONG>chgat</STRONG>, <STRONG>wchgat</STRONG>,
- <STRONG>mvchgat</STRONG>, <STRONG>mvwchgat</STRONG>, <STRONG>PAIR_NUMBER</STRONG> - <STRONG>curses</STRONG> character and
- window attribute control routines
+</PRE><H2><a name="h2-NAME">NAME</a></H2><PRE>
+ <STRONG>attr_get</STRONG>, <STRONG>wattr_get</STRONG>, <STRONG>attr_set</STRONG>, <STRONG>wattr_set</STRONG>, <STRONG>attr_off</STRONG>, <STRONG>wattr_off</STRONG>, <STRONG>attr_on</STRONG>,
+ <STRONG>wattr_on</STRONG>, <STRONG>attroff</STRONG>, <STRONG>wattroff</STRONG>, <STRONG>attron</STRONG>, <STRONG>wattron</STRONG>, <STRONG>attrset</STRONG>, <STRONG>wattrset</STRONG>, <STRONG>chgat</STRONG>,
+ <STRONG>wchgat</STRONG>, <STRONG>mvchgat</STRONG>, <STRONG>mvwchgat</STRONG>, <STRONG>color_set</STRONG>, <STRONG>wcolor_set</STRONG>, <STRONG>standend</STRONG>, <STRONG>wstandend</STRONG>,
+ <STRONG>standout</STRONG>, <STRONG>wstandout</STRONG> - <STRONG>curses</STRONG> character and window attribute control
+ routines
-</PRE>
-<H2>SYNOPSIS</H2><PRE>
+</PRE><H2><a name="h2-SYNOPSIS">SYNOPSIS</a></H2><PRE>
<STRONG>#include</STRONG> <STRONG>&lt;curses.h&gt;</STRONG>
- <STRONG>int</STRONG> <STRONG>attroff(int</STRONG> <STRONG>attrs);</STRONG>
- <STRONG>int</STRONG> <STRONG>wattroff(WINDOW</STRONG> <STRONG>*win,</STRONG> <STRONG>int</STRONG> <STRONG>attrs);</STRONG>
- <STRONG>int</STRONG> <STRONG>attron(int</STRONG> <STRONG>attrs);</STRONG>
- <STRONG>int</STRONG> <STRONG>wattron(WINDOW</STRONG> <STRONG>*win,</STRONG> <STRONG>int</STRONG> <STRONG>attrs);</STRONG>
- <STRONG>int</STRONG> <STRONG>attrset(int</STRONG> <STRONG>attrs);</STRONG>
- <STRONG>int</STRONG> <STRONG>wattrset(WINDOW</STRONG> <STRONG>*win,</STRONG> <STRONG>int</STRONG> <STRONG>attrs);</STRONG>
- <STRONG>int</STRONG> <STRONG>color_set(short</STRONG> <STRONG>color_pair_number,</STRONG> <STRONG>void*</STRONG> <STRONG>opts);</STRONG>
- <STRONG>int</STRONG> <STRONG>wcolor_set(WINDOW</STRONG> <STRONG>*win,</STRONG> <STRONG>short</STRONG> <STRONG>color_pair_number,</STRONG>
- <STRONG>void*</STRONG> <STRONG>opts);</STRONG>
+
+ <STRONG>int</STRONG> <STRONG>attr_get(attr_t</STRONG> <STRONG>*</STRONG><EM>attrs</EM><STRONG>,</STRONG> <STRONG>short</STRONG> <STRONG>*</STRONG><EM>pair</EM><STRONG>,</STRONG> <STRONG>void</STRONG> <STRONG>*</STRONG><EM>opts</EM><STRONG>);</STRONG>
+ <STRONG>int</STRONG> <STRONG>wattr_get(WINDOW</STRONG> <STRONG>*</STRONG><EM>win</EM><STRONG>,</STRONG> <STRONG>attr_t</STRONG> <STRONG>*</STRONG><EM>attrs</EM><STRONG>,</STRONG> <STRONG>short</STRONG> <STRONG>*</STRONG><EM>pair</EM><STRONG>,</STRONG> <STRONG>void</STRONG> <STRONG>*</STRONG><EM>opts</EM><STRONG>);</STRONG>
+ <STRONG>int</STRONG> <STRONG>attr_set(attr_t</STRONG> <EM>attrs</EM><STRONG>,</STRONG> <STRONG>short</STRONG> <EM>pair</EM><STRONG>,</STRONG> <STRONG>void</STRONG> <STRONG>*</STRONG><EM>opts</EM><STRONG>);</STRONG>
+ <STRONG>int</STRONG> <STRONG>wattr_set(WINDOW</STRONG> <STRONG>*</STRONG><EM>win</EM><STRONG>,</STRONG> <STRONG>attr_t</STRONG> <EM>attrs</EM><STRONG>,</STRONG> <STRONG>short</STRONG> <EM>pair</EM><STRONG>,</STRONG> <STRONG>void</STRONG> <STRONG>*</STRONG><EM>opts</EM><STRONG>);</STRONG>
+
+ <STRONG>int</STRONG> <STRONG>attr_off(attr_t</STRONG> <EM>attrs</EM><STRONG>,</STRONG> <STRONG>void</STRONG> <STRONG>*</STRONG><EM>opts</EM><STRONG>);</STRONG>
+ <STRONG>int</STRONG> <STRONG>wattr_off(WINDOW</STRONG> <STRONG>*</STRONG><EM>win</EM><STRONG>,</STRONG> <STRONG>attr_t</STRONG> <EM>attrs</EM><STRONG>,</STRONG> <STRONG>void</STRONG> <STRONG>*</STRONG><EM>opts</EM><STRONG>);</STRONG>
+ <STRONG>int</STRONG> <STRONG>attr_on(attr_t</STRONG> <EM>attrs</EM><STRONG>,</STRONG> <STRONG>void</STRONG> <STRONG>*</STRONG><EM>opts</EM><STRONG>);</STRONG>
+ <STRONG>int</STRONG> <STRONG>wattr_on(WINDOW</STRONG> <STRONG>*</STRONG><EM>win</EM><STRONG>,</STRONG> <STRONG>attr_t</STRONG> <EM>attrs</EM><STRONG>,</STRONG> <STRONG>void</STRONG> <STRONG>*</STRONG><EM>opts</EM><STRONG>);</STRONG>
+
+ <STRONG>int</STRONG> <STRONG>attroff(int</STRONG> <EM>attrs);</EM>
+ <STRONG>int</STRONG> <STRONG>wattroff(WINDOW</STRONG> <STRONG>*</STRONG><EM>win</EM><STRONG>,</STRONG> <STRONG>int</STRONG> <EM>attrs</EM><STRONG>);</STRONG>
+ <STRONG>int</STRONG> <STRONG>attron(int</STRONG> <EM>attrs</EM><STRONG>);</STRONG>
+ <STRONG>int</STRONG> <STRONG>wattron(WINDOW</STRONG> <STRONG>*</STRONG><EM>win</EM><STRONG>,</STRONG> <STRONG>int</STRONG> <EM>attrs</EM><STRONG>);</STRONG>
+ <STRONG>int</STRONG> <STRONG>attrset(int</STRONG> <EM>attrs</EM><STRONG>);</STRONG>
+ <STRONG>int</STRONG> <STRONG>wattrset(WINDOW</STRONG> <STRONG>*</STRONG><EM>win</EM><STRONG>,</STRONG> <STRONG>int</STRONG> <EM>attrs</EM><STRONG>);</STRONG>
+
+ <STRONG>int</STRONG> <STRONG>chgat(int</STRONG> <EM>n</EM><STRONG>,</STRONG> <STRONG>attr_t</STRONG> <EM>attr</EM><STRONG>,</STRONG> <STRONG>short</STRONG> <EM>pair</EM><STRONG>,</STRONG> <STRONG>const</STRONG> <STRONG>void</STRONG> <STRONG>*</STRONG><EM>opts</EM><STRONG>);</STRONG>
+ <STRONG>int</STRONG> <STRONG>wchgat(WINDOW</STRONG> <STRONG>*</STRONG><EM>win</EM><STRONG>,</STRONG>
+ <STRONG>int</STRONG> <EM>n</EM><STRONG>,</STRONG> <STRONG>attr_t</STRONG> <EM>attr</EM><STRONG>,</STRONG> <STRONG>short</STRONG> <EM>pair</EM><STRONG>,</STRONG> <STRONG>const</STRONG> <STRONG>void</STRONG> <STRONG>*</STRONG><EM>opts</EM><STRONG>);</STRONG>
+ <STRONG>int</STRONG> <STRONG>mvchgat(int</STRONG> <EM>y</EM><STRONG>,</STRONG> <STRONG>int</STRONG> <EM>x</EM><STRONG>,</STRONG>
+ <STRONG>int</STRONG> <EM>n</EM><STRONG>,</STRONG> <STRONG>attr_t</STRONG> <EM>attr</EM><STRONG>,</STRONG> <STRONG>short</STRONG> <EM>pair</EM><STRONG>,</STRONG> <STRONG>const</STRONG> <STRONG>void</STRONG> <STRONG>*</STRONG><EM>opts</EM><STRONG>);</STRONG>
+ <STRONG>int</STRONG> <STRONG>mvwchgat(WINDOW</STRONG> <STRONG>*</STRONG><EM>win,</EM> <EM>int</EM> <EM>y,</EM> <EM>int</EM> <EM>x</EM><STRONG>,</STRONG>
+ <STRONG>int</STRONG> <EM>n,</EM> <STRONG>attr_t</STRONG> <EM>attr</EM><STRONG>,</STRONG> <STRONG>short</STRONG> <EM>pair</EM><STRONG>,</STRONG> <STRONG>const</STRONG> <STRONG>void</STRONG> <STRONG>*</STRONG><EM>opts</EM><STRONG>);</STRONG>
+
+ <STRONG>int</STRONG> <STRONG>color_set(short</STRONG> <EM>pair</EM><STRONG>,</STRONG> <STRONG>void*</STRONG> <EM>opts</EM><STRONG>);</STRONG>
+ <STRONG>int</STRONG> <STRONG>wcolor_set(WINDOW</STRONG> <STRONG>*</STRONG><EM>win</EM><STRONG>,</STRONG> <STRONG>short</STRONG> <EM>pair</EM><STRONG>,</STRONG> <STRONG>void*</STRONG> <EM>opts);</EM>
+
<STRONG>int</STRONG> <STRONG>standend(void);</STRONG>
- <STRONG>int</STRONG> <STRONG>wstandend(WINDOW</STRONG> <STRONG>*win);</STRONG>
+ <STRONG>int</STRONG> <STRONG>wstandend(WINDOW</STRONG> <STRONG>*</STRONG><EM>win</EM><STRONG>);</STRONG>
<STRONG>int</STRONG> <STRONG>standout(void);</STRONG>
- <STRONG>int</STRONG> <STRONG>wstandout(WINDOW</STRONG> <STRONG>*win);</STRONG>
- <STRONG>int</STRONG> <STRONG>attr_get(attr_t</STRONG> <STRONG>*attrs,</STRONG> <STRONG>short</STRONG> <STRONG>*pair,</STRONG> <STRONG>void</STRONG> <STRONG>*opts);</STRONG>
- <STRONG>int</STRONG> <STRONG>wattr_get(WINDOW</STRONG> <STRONG>*win,</STRONG> <STRONG>attr_t</STRONG> <STRONG>*attrs,</STRONG> <STRONG>short</STRONG> <STRONG>*pair,</STRONG>
- <STRONG>void</STRONG> <STRONG>*opts);</STRONG>
- <STRONG>int</STRONG> <STRONG>attr_off(attr_t</STRONG> <STRONG>attrs,</STRONG> <STRONG>void</STRONG> <STRONG>*opts);</STRONG>
- <STRONG>int</STRONG> <STRONG>wattr_off(WINDOW</STRONG> <STRONG>*win,</STRONG> <STRONG>attr_t</STRONG> <STRONG>attrs,</STRONG> <STRONG>void</STRONG> <STRONG>*opts);</STRONG>
- <STRONG>int</STRONG> <STRONG>attr_on(attr_t</STRONG> <STRONG>attrs,</STRONG> <STRONG>void</STRONG> <STRONG>*opts);</STRONG>
- <STRONG>int</STRONG> <STRONG>wattr_on(WINDOW</STRONG> <STRONG>*win,</STRONG> <STRONG>attr_t</STRONG> <STRONG>attrs,</STRONG> <STRONG>void</STRONG> <STRONG>*opts);</STRONG>
- <STRONG>int</STRONG> <STRONG>attr_set(attr_t</STRONG> <STRONG>attrs,</STRONG> <STRONG>short</STRONG> <STRONG>pair,</STRONG> <STRONG>void</STRONG> <STRONG>*opts);</STRONG>
- <STRONG>int</STRONG> <STRONG>wattr_set(WINDOW</STRONG> <STRONG>*win,</STRONG> <STRONG>attr_t</STRONG> <STRONG>attrs,</STRONG> <STRONG>short</STRONG> <STRONG>pair,</STRONG> <STRONG>void</STRONG>
- <STRONG>*opts);</STRONG>
- <STRONG>int</STRONG> <STRONG>chgat(int</STRONG> <STRONG>n,</STRONG> <STRONG>attr_t</STRONG> <STRONG>attr,</STRONG> <STRONG>short</STRONG> <STRONG>color,</STRONG>
- <STRONG>const</STRONG> <STRONG>void</STRONG> <STRONG>*opts)</STRONG>
- <STRONG>int</STRONG> <STRONG>wchgat(WINDOW</STRONG> <STRONG>*win,</STRONG> <STRONG>int</STRONG> <STRONG>n,</STRONG> <STRONG>attr_t</STRONG> <STRONG>attr,</STRONG>
- <STRONG>short</STRONG> <STRONG>color,</STRONG> <STRONG>const</STRONG> <STRONG>void</STRONG> <STRONG>*opts)</STRONG>
- <STRONG>int</STRONG> <STRONG>mvchgat(int</STRONG> <STRONG>y,</STRONG> <STRONG>int</STRONG> <STRONG>x,</STRONG> <STRONG>int</STRONG> <STRONG>n,</STRONG> <STRONG>attr_t</STRONG> <STRONG>attr,</STRONG>
- <STRONG>short</STRONG> <STRONG>color,</STRONG> <STRONG>const</STRONG> <STRONG>void</STRONG> <STRONG>*opts)</STRONG>
- <STRONG>int</STRONG> <STRONG>mvwchgat(WINDOW</STRONG> <STRONG>*win,</STRONG> <STRONG>int</STRONG> <STRONG>y,</STRONG> <STRONG>int</STRONG> <STRONG>x,</STRONG> <STRONG>int</STRONG> <STRONG>n,</STRONG>
- <STRONG>attr_t</STRONG> <STRONG>attr,</STRONG> <STRONG>short</STRONG> <STRONG>color,</STRONG> <STRONG>const</STRONG> <STRONG>void</STRONG> <STRONG>*opts)</STRONG>
+ <STRONG>int</STRONG> <STRONG>wstandout(WINDOW</STRONG> <STRONG>*</STRONG><EM>win</EM><STRONG>);</STRONG>
-</PRE>
-<H2>DESCRIPTION</H2><PRE>
- These routines manipulate the current attributes of the
- named window. The current attributes of a window apply to
- all characters that are written into the window with <STRONG>wadd-</STRONG>
- <STRONG>ch</STRONG>, <STRONG>waddstr</STRONG> and <STRONG>wprintw</STRONG>. Attributes are a property of the
- character, and move with the character through any
- scrolling and insert/delete line/character operations. To
- the extent possible, they are displayed as appropriate
- modifications to the graphic rendition of characters put
- on the screen.
-
- The routine <STRONG>attrset</STRONG> sets the current attributes of the
- given window to <EM>attrs</EM>. The routine <STRONG>attroff</STRONG> turns off the
- named attributes without turning any other attributes on
- or off. The routine <STRONG>attron</STRONG> turns on the named attributes
- without affecting any others. The routine <STRONG>standout</STRONG> is the
- same as <STRONG>attron(A_STANDOUT)</STRONG>. The routine <STRONG>standend</STRONG> is the
- same as <STRONG>attrset(A_NORMAL)</STRONG> or <STRONG>attrset(0)</STRONG>, that is, it turns
- off all attributes.
-
- The <STRONG>attrset</STRONG> and related routines do not affect the at-
- tributes used when erasing portions of the window. See
- <STRONG><A HREF="curs_bkgd.3x.html">curs_bkgd(3x)</A></STRONG> for functions which modify the attributes
- used for erasing and clearing.
-
- The routine <STRONG>color_set</STRONG> sets the current color of the given
- window to the foreground/background combination described
- by the color_pair_number. The parameter opts is reserved
- for future use, applications must supply a null pointer.
-
- The routine <STRONG>wattr_get</STRONG> returns the current attribute and
- color pair for the given window; <STRONG>attr_get</STRONG> returns the cur-
- rent attribute and color pair for <STRONG>stdscr</STRONG>. The remaining
- <STRONG>attr_</STRONG>* functions operate exactly like the corresponding
- <STRONG>attr</STRONG>* functions, except that they take arguments of type
- <STRONG>attr_t</STRONG> rather than <STRONG>int</STRONG>.
-
- 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 per-
- form wrapping. A character count of -1 or greater than
- the remaining window width means to change attributes all
- the way to the end of the current line. The <STRONG>wchgat</STRONG> func-
- tion generalizes this to any window; the <STRONG>mvwchgat</STRONG> function
- does a cursor move before acting. In these functions, the
- color argument is a color-pair index (as in the first ar-
- gument of <EM>init</EM><STRONG>_</STRONG><EM>pair</EM>, see <STRONG><A HREF="curs_color.3x.html">curs_color(3x)</A></STRONG>). The <STRONG>opts</STRONG> argu-
- ment is not presently used, but is reserved for the future
- (leave it <STRONG>NULL</STRONG>).
-
- <STRONG>Attributes</STRONG>
- The following video attributes, defined in <STRONG>&lt;curses.h&gt;</STRONG>, can
- be passed to the routines <STRONG>attron</STRONG>, <STRONG>attroff</STRONG>, and <STRONG>attrset</STRONG>, or
- OR'd with the characters passed to <STRONG>addch</STRONG>.
+</PRE><H2><a name="h2-DESCRIPTION">DESCRIPTION</a></H2><PRE>
+ These routines manipulate the current attributes of the named window,
+ which then apply to all characters that are written into the window
+ with <STRONG>waddch</STRONG>, <STRONG>waddstr</STRONG> and <STRONG>wprintw</STRONG>. Attributes are a property of the
+ character, and move with the character through any scrolling and in-
+ sert/delete line/character operations. To the extent possible, they
+ are displayed as appropriate modifications to the graphic rendition of
+ characters put on the screen.
- <EM>Name</EM> <EM>Description</EM>
- ------------------------------------------------------------
- <STRONG>A_NORMAL</STRONG> Normal display (no highlight)
- <STRONG>A_STANDOUT</STRONG> Best highlighting mode of the terminal.
- <STRONG>A_UNDERLINE</STRONG> Underlining
- <STRONG>A_REVERSE</STRONG> Reverse video
- <STRONG>A_BLINK</STRONG> Blinking
- <STRONG>A_DIM</STRONG> Half bright
- <STRONG>A_BOLD</STRONG> Extra bright or bold
- <STRONG>A_PROTECT</STRONG> Protected mode
- <STRONG>A_INVIS</STRONG> Invisible or blank mode
- <STRONG>A_ALTCHARSET</STRONG> Alternate character set
- <STRONG>A_ITALIC</STRONG> Italics (non-X/Open extension)
- <STRONG>A_CHARTEXT</STRONG> Bit-mask to extract a character
- <STRONG>COLOR_PAIR(</STRONG><EM>n</EM><STRONG>)</STRONG> Color-pair number <EM>n</EM>
-
- These video attributes are supported by <STRONG>attr_on</STRONG> and relat-
- ed functions (which also support the attributes recognized
- by <STRONG>attron</STRONG>, etc.):
+ These routines do not affect the attributes used when erasing portions
+ of the window. See <STRONG><A HREF="curs_bkgd.3x.html">curs_bkgd(3x)</A></STRONG> for functions which modify the at-
+ tributes used for erasing and clearing.
+
+ Routines which do not have a <STRONG>WINDOW*</STRONG> parameter apply to <STRONG>stdscr</STRONG>. For
+ example, <STRONG>attr_set</STRONG> is the <STRONG>stdscr</STRONG> variant of <STRONG>wattr_set</STRONG>.
+
+
+</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: <STRONG>wat-</STRONG>
+ <STRONG>tr_set</STRONG> and <STRONG>wattr_get</STRONG>.
+
+ <STRONG>o</STRONG> functions for manipulating only the window attributes (not color):
+ <STRONG>wattr_on</STRONG> and <STRONG>wattr_off</STRONG>.
+
+ The <STRONG>wattr_set</STRONG> function sets the current attributes of the given window
+ to <EM>attrs</EM>, with color specified by <EM>pair</EM>.
+
+ Use <STRONG>wattr_get</STRONG> to retrieve attributes for the given window.
+
+ Use <STRONG>attr_on</STRONG> and <STRONG>wattr_on</STRONG> to turn on window attributes, i.e., values
+ OR'd together in <EM>attr</EM>, without affecting other attributes. Use <STRONG>at-</STRONG>
+ <STRONG>tr_off</STRONG> and <STRONG>wattr_off</STRONG> to turn off window attributes, again values OR'd
+ together in <EM>attr</EM>, without affecting other attributes.
+
+
+</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,
+ because X/Open simply added an underscore (<STRONG>_</STRONG>) for the newer names.
+
+ The <STRONG>int</STRONG> datatype used in the legacy routines is treated as if it is the
+ same size as <STRONG>chtype</STRONG> (used by <STRONG><A HREF="curs_addch.3x.html">addch(3x)</A></STRONG>). It holds the common video at-
+ tributes (such as bold, reverse), as well as a few bits for color.
+ Those bits correspond to the <STRONG>A_COLOR</STRONG> symbol. The <STRONG>COLOR_PAIR</STRONG> macro pro-
+ vides a value which can be OR'd into the attribute parameter. For ex-
+ ample, as long as that value fits into the <STRONG>A_COLOR</STRONG> mask, then these
+ calls produce similar results:
+
+ attrset(A_BOLD | COLOR_PAIR(<EM>pair</EM>));
+ attr_set(A_BOLD, <EM>pair</EM>, NULL);
+
+ However, if the value does not fit, then the <STRONG>COLOR_PAIR</STRONG> macro uses only
+ the bits that fit. For example, because in ncurses <STRONG>A_COLOR</STRONG> has eight
+ (8) bits, then <STRONG>COLOR_PAIR(</STRONG><EM>259</EM><STRONG>)</STRONG> is 4 (i.e., 259 is 4 more than the limit
+ 255).
+
+ The <STRONG>PAIR_NUMBER</STRONG> macro extracts a pair number from an <STRONG>int</STRONG> (or <STRONG>chtype</STRONG>).
+ For example, the <EM>input</EM> and <EM>output</EM> values in these statements would be
+ the same:
+
+ int value = A_BOLD | COLOR_PAIR(<EM>input</EM>);
+ int <EM>output</EM> = PAIR_NUMBER(value);
+
+ The <STRONG>attrset</STRONG> routine is a legacy feature predating SVr4 curses but kept
+ in X/Open Curses for the same reason that SVr4 curses kept it: compati-
+ bility.
+
+ The remaining <STRONG>attr</STRONG>* functions operate exactly like the corresponding
+ <STRONG>attr_</STRONG>* functions, except that they take arguments of type <STRONG>int</STRONG> rather
+ than <STRONG>attr_t</STRONG>.
+
+ There is no corresponding <STRONG>attrget</STRONG> function as such in X/Open Curses,
+ although ncurses 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>
+ The routine <STRONG>chgat</STRONG> changes the attributes of a given number of charac-
+ ters starting at the current cursor location of <STRONG>stdscr</STRONG>. It does not
+ update the cursor and does not perform wrapping. A character count of
+ -1 or greater than the remaining window width means to change at-
+ tributes all the way to the end of the current line. The <STRONG>wchgat</STRONG> func-
+ tion generalizes this to any window; the <STRONG>mvwchgat</STRONG> function does a cur-
+ sor move before acting.
+
+ In these functions, the color <EM>pair</EM> argument is a color-pair index (as
+ 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>
+ 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> parame-
+ ter.
+
+
+</PRE><H3><a name="h3-Standout">Standout</a></H3><PRE>
+ The routine <STRONG>standout</STRONG> is the same as <STRONG>attron(A_STANDOUT)</STRONG>. The routine
+ <STRONG>standend</STRONG> is the same as <STRONG>attrset(A_NORMAL)</STRONG> or <STRONG>attrset(0)</STRONG>, that is, it
+ turns off all attributes.
+
+ X/Open does not mark these "restricted", because
+
+ <STRONG>o</STRONG> they have well established legacy use, and
+
+ <STRONG>o</STRONG> there is no ambiguity about the way the attributes might be com-
+ bined with a color pair.
+
+
+</PRE><H2><a name="h2-VIDEO-ATTRIBUTES">VIDEO ATTRIBUTES</a></H2><PRE>
+ The following video attributes, defined in <STRONG>&lt;curses.h&gt;</STRONG>, can be passed to
+ the routines <STRONG>attron</STRONG>, <STRONG>attroff</STRONG>, and <STRONG>attrset</STRONG>, or OR'd with the characters
+ passed to <STRONG>addch</STRONG> (see <STRONG><A HREF="curs_addch.3x.html">curs_addch(3x)</A></STRONG>).
+
+ <EM>Name</EM> <EM>Description</EM>
+ -----------------------------------------------------------------
+ <STRONG>A_NORMAL</STRONG> Normal display (no highlight)
+ <STRONG>A_STANDOUT</STRONG> Best highlighting mode of the terminal.
+ <STRONG>A_UNDERLINE</STRONG> Underlining
+ <STRONG>A_REVERSE</STRONG> Reverse video
+ <STRONG>A_BLINK</STRONG> Blinking
+ <STRONG>A_DIM</STRONG> Half bright
+ <STRONG>A_BOLD</STRONG> Extra bright or bold
+ <STRONG>A_PROTECT</STRONG> Protected mode
+ <STRONG>A_INVIS</STRONG> Invisible or blank mode
+ <STRONG>A_ALTCHARSET</STRONG> Alternate character set
+ <STRONG>A_ITALIC</STRONG> Italics (non-X/Open extension)
+ <STRONG>A_CHARTEXT</STRONG> Bit-mask to extract a character
+ <STRONG>A_COLOR</STRONG> Bit-mask to extract a color (legacy routines)
+
+ These video attributes are supported by <STRONG>attr_on</STRONG> and related functions
+ (which also support the attributes recognized by <STRONG>attron</STRONG>, etc.):
<EM>Name</EM> <EM>Description</EM>
-----------------------------------------
@@ -177,61 +255,199 @@
<STRONG>WA_TOP</STRONG> Top highlight
<STRONG>WA_VERTICAL</STRONG> Vertical highlight
- For consistency
-
- The following macro is the reverse of <STRONG>COLOR_PAIR(</STRONG><EM>n</EM><STRONG>)</STRONG>:
+ The return values of many of these routines are not meaningful (they
+ are implemented as macro-expanded assignments and simply return their
+ argument). The SVr4 manual page claims (falsely) that these routines
+ always return <STRONG>1</STRONG>.
- <STRONG>PAIR_NUMBER(</STRONG><EM>attrs</EM>) Returns the pair number associated
- with the <STRONG>COLOR_PAIR(</STRONG><EM>n</EM><STRONG>)</STRONG> attribute.
- The return values of many of these routines are not mean-
- ingful (they are implemented as macro-expanded assignments
- and simply return their argument). The SVr4 manual page
- claims (falsely) that these routines always return <STRONG>1</STRONG>.
+</PRE><H2><a name="h2-NOTES">NOTES</a></H2><PRE>
+ These functions may be macros:
+ <STRONG>attroff</STRONG>, <STRONG>wattroff</STRONG>, <STRONG>attron</STRONG>, <STRONG>wattron</STRONG>, <STRONG>attrset</STRONG>, <STRONG>wattrset</STRONG>, <STRONG>standend</STRONG>
+ and <STRONG>standout</STRONG>.
-</PRE>
-<H2>NOTES</H2><PRE>
- Note that <STRONG>attroff</STRONG>, <STRONG>wattroff</STRONG>, <STRONG>attron</STRONG>, <STRONG>wattron</STRONG>, <STRONG>attrset</STRONG>,
- <STRONG>wattrset</STRONG>, <STRONG>standend</STRONG> and <STRONG>standout</STRONG> may be macros.
-
- <STRONG>COLOR_PAIR</STRONG> values can only be OR'd with attributes if the
- pair number is less than 256. The alternate functions
- such as <STRONG>color_set</STRONG> can pass a color pair value directly.
- However, ncurses ABI 4 and 5 simply OR this value within
- the alternate functions. You must use ncurses ABI 6 to
+ Color pair values can only be OR'd with attributes if the pair number
+ is less than 256. The alternate functions such as <STRONG>color_set</STRONG> can pass a
+ color pair value directly. However, ncurses ABI 4 and 5 simply OR this
+ value within the alternate functions. You must use ncurses ABI 6 to
support more than 256 color pairs.
-</PRE>
-<H2>PORTABILITY</H2><PRE>
- These functions are supported in the XSI Curses standard,
- Issue 4. The standard defined the dedicated type for
- highlights, <STRONG>attr_t</STRONG>, which is not defined in SVr4 curses.
- The functions taking <STRONG>attr_t</STRONG> arguments are not supported
- under SVr4.
-
- The XSI Curses standard states that whether the tradition-
- al functions <STRONG>attron</STRONG>/<STRONG>attroff</STRONG>/<STRONG>attrset</STRONG> can manipulate at-
- tributes other than <STRONG>A_BLINK</STRONG>, <STRONG>A_BOLD</STRONG>, <STRONG>A_DIM</STRONG>, <STRONG>A_REVERSE</STRONG>,
- <STRONG>A_STANDOUT</STRONG>, or <STRONG>A_UNDERLINE</STRONG> is "unspecified". Under this
- implementation as well as SVr4 curses, these functions
- correctly manipulate all other highlights (specifically,
- <STRONG>A_ALTCHARSET</STRONG>, <STRONG>A_PROTECT</STRONG>, and <STRONG>A_INVIS</STRONG>).
-
- This implementation provides the <STRONG>A_ITALIC</STRONG> attribute for
- terminals which have the <EM>enter</EM><STRONG>_</STRONG><EM>italics</EM><STRONG>_</STRONG><EM>mode</EM> (sitm) and <EM>ex-</EM>
- <EM>it</EM><STRONG>_</STRONG><EM>italics</EM><STRONG>_</STRONG><EM>mode</EM> (ritm) capabilities. Italics are not men-
- tioned in X/Open Curses. Unlike the other video at-
- tributes, <STRONG>I_ITALIC</STRONG> is unrelated to the <EM>set</EM><STRONG>_</STRONG><EM>attributes</EM> ca-
- pabilities. This implementation makes the assumption that
- <EM>exit</EM><STRONG>_</STRONG><EM>attribute</EM><STRONG>_</STRONG><EM>mode</EM> may also reset italics.
-
- XSI Curses added the new entry points, <STRONG>attr_get</STRONG>, <STRONG>attr_on</STRONG>,
- <STRONG>attr_off</STRONG>, <STRONG>attr_set</STRONG>, <STRONG>wattr_on</STRONG>, <STRONG>wattr_off</STRONG>, <STRONG>wattr_get</STRONG>, <STRONG>wat-</STRONG>
- <STRONG>tr_set</STRONG>. These are intended to work with a new series of
- highlight macros prefixed with <STRONG>WA_</STRONG>. The older macros have
- direct counterparts in the newer set of names:
+</PRE><H2><a name="h2-HISTORY">HISTORY</a></H2><PRE>
+ X/Open Curses is largely based on SVr4 curses, adding support for
+ "wide-characters" (not specific to Unicode). Some of the X/Open dif-
+ ferences from SVr4 curses address the way video attributes can be ap-
+ plied to wide-characters. But aside from that, <STRONG>attrset</STRONG> and <STRONG>attr_set</STRONG>
+ are similar. SVr4 curses provided the basic features for manipulating
+ video attributes. However, earlier versions of curses provided a part
+ of these features.
+
+ As seen in 2.8BSD, curses assumed 7-bit characters, using the eighth
+ bit of a byte to represent the <EM>standout</EM> feature (often implemented as
+ bold and/or reverse video). The BSD curses library provided functions
+ <STRONG>standout</STRONG> and <STRONG>standend</STRONG> which were carried along into X/Open Curses due
+ to their pervasive use in legacy applications.
+
+ Some terminals in the 1980s could support a variety of video at-
+ tributes, although the BSD curses library could do nothing with those.
+ System V (1983) provided an improved curses library. It defined the <STRONG>A_</STRONG>
+ symbols for use by applications to manipulate the other attributes.
+ There are few useful references for the chronology.
+
+ Goodheart's book <EM>UNIX</EM> <EM>Curses</EM> <EM>Explained</EM> (1991) describes SVr3 (1987),
+ commenting on several functions:
+
+ <STRONG>o</STRONG> the <STRONG>attron</STRONG>, <STRONG>attroff</STRONG>, <STRONG>attrset</STRONG> functions (and most of the functions
+ found in SVr4 but not in BSD curses) were introduced by System V,
+
+ <STRONG>o</STRONG> the alternate character set feature with <STRONG>A_ALTCHARSET</STRONG> was added in
+ SVr2 and improved in SVr3 (by adding <STRONG>acs_map[]</STRONG>),
+
+ <STRONG>o</STRONG> <STRONG>start_color</STRONG> and related color-functions were introduced by System
+ V.3.2,
+
+ <STRONG>o</STRONG> pads, soft-keys were added in SVr3, and
+
+ Goodheart did not mention the background character or the <STRONG>cchar_t</STRONG> type.
+ Those are respectively SVr4 and X/Open features. He did mention the <STRONG>A_</STRONG>
+ constants, but did not indicate their values. Those were not the same
+ in different systems, even for those marked as System V.
+
+ Different Unix systems used different sizes for the bit-fields in
+ <STRONG>chtype</STRONG> for <EM>characters</EM> and <EM>colors</EM>, and took into account the different
+ integer sizes (32-bit versus 64-bit).
+
+ This table showing the number of bits for <STRONG>A_COLOR</STRONG> and <STRONG>A_CHARTEXT</STRONG> was
+ gleaned from the curses header files for various operating systems and
+ architectures. The inferred architecture and notes reflect the format
+ and size of the defined constants as well as clues such as the alter-
+ nate character set implementation. A 32-bit library can be used on a
+ 64-bit system, but not necessarily the reverse.
+
+ <EM>Year</EM> <EM>System</EM> <EM>Arch</EM> <EM>Color</EM> <EM>Char</EM> <EM>Notes</EM>
+ ----------------------------------------------------------------
+ 1992 Solaris 5.2 32 6 17 SVr4 curses
+ 1992 HPUX 9 32 no 8 SVr2 curses
+ 1992 AIX 3.2 32 no 23 SVr2 curses
+ 1994 OSF/1 r3 32 no 23 SVr2 curses
+ 1995 HP-UX 10.00 32 6 16 SVr3 "curses_colr"
+ 1995 HP-UX 10.00 32 6 8 SVr4, X/Open curses
+ 1995 Solaris 5.4 32/64 7 16 X/Open curses
+ 1996 AIX 4.2 32 7 16 X/Open curses
+ 1996 OSF/1 r4 32 6 16 X/Open curses
+
+ 1997 HP-UX 11.00 32 6 8 X/Open curses
+ 2000 U/Win 32/64 7/31 16 uses <STRONG>chtype</STRONG>
+
+ Notes:
+
+ Regarding HP-UX,
+
+ <STRONG>o</STRONG> HP-UX 10.20 (1996) added support for 64-bit PA-RISC processors
+ in 1996.
+
+ <STRONG>o</STRONG> HP-UX 10.30 (1997) marked "curses_colr" obsolete. That version
+ of curses was dropped with HP-UX 11.30 in 2006.
+
+ Regarding OSF/1 (and Tru64),
+
+ <STRONG>o</STRONG> These used 64-bit hardware. Like ncurses, the OSF/1 curses in-
+ terface is not customized for 32-bit and 64-bit versions.
+
+ <STRONG>o</STRONG> Unlike other systems which evolved from AT&amp;T code, OSF/1 provid-
+ ed a new implementation for X/Open curses.
+
+ Regarding Solaris,
+
+ <STRONG>o</STRONG> The initial release of Solaris was in 1992.
+
+ <STRONG>o</STRONG> The <EM>xpg4</EM> (X/Open) curses was developed by MKS from 1990 to 1995.
+ Sun's copyright began in 1996.
+
+ <STRONG>o</STRONG> Sun updated the X/Open curses interface after 64-bit support was
+ introduced in 1997, but did not modify the SVr4 curses inter-
+ face.
+
+ Regarding U/Win,
+
+ <STRONG>o</STRONG> Development of the curses library began in 1991, stopped in
+ 2000.
+
+ <STRONG>o</STRONG> Color support was added in 1998.
+
+ <STRONG>o</STRONG> The library uses only <STRONG>chtype</STRONG> (no <STRONG>cchar_t</STRONG>).
+
+ Once X/Open curses was adopted in the mid-1990s, the constraint of a
+ 32-bit interface with many colors and wide-characters for <STRONG>chtype</STRONG> became
+ a moot point. The <STRONG>cchar_t</STRONG> structure (whose size and members are not
+ specified in X/Open Curses) could be extended as needed.
+
+ Other interfaces are rarely used now:
+
+ <STRONG>o</STRONG> BSD curses was improved slightly in 1993/1994 using Keith Bostic's
+ modification to make the library 8-bit clean for <STRONG>nvi</STRONG>. He moved
+ <EM>standout</EM> attribute to a structure member.
+
+ The resulting 4.4BSD curses was replaced by ncurses over the next
+ ten years.
+
+ <STRONG>o</STRONG> U/Win is rarely used now.
+
+
+</PRE><H2><a name="h2-EXTENSIONS">EXTENSIONS</a></H2><PRE>
+ This implementation provides the <STRONG>A_ITALIC</STRONG> attribute for terminals which
+ have the <STRONG>enter_italics_mode</STRONG> (<STRONG>sitm</STRONG>) and <STRONG>exit_italics_mode</STRONG> (<STRONG>ritm</STRONG>) capa-
+ bilities. Italics are not mentioned in X/Open Curses. Unlike the oth-
+ er video attributes, <STRONG>A_ITALIC</STRONG> is unrelated to the <STRONG>set_attributes</STRONG> capa-
+ bilities. This implementation makes the assumption that <STRONG>exit_at-</STRONG>
+ <STRONG>tribute_mode</STRONG> may also reset italics.
+
+ Each of the functions added by XSI Curses has a parameter <EM>opts</EM>, which
+ X/Open Curses still (after more than twenty years) documents as re-
+ served for future use, saying that it should be <STRONG>NULL</STRONG>. This implementa-
+ tion uses that parameter in ABI 6 for the functions which have a color-
+ pair parameter to support <EM>extended</EM> <EM>color</EM> <EM>pairs</EM>:
+
+ <STRONG>o</STRONG> For functions which modify the color, e.g., <STRONG>wattr_set</STRONG>, if <EM>opts</EM> is
+ set it is treated as a pointer to <STRONG>int</STRONG>, and used to set the color
+ pair instead of the <STRONG>short</STRONG> <EM>pair</EM> parameter.
+
+ <STRONG>o</STRONG> For functions which retrieve the color, e.g., <STRONG>wattr_get</STRONG>, if <EM>opts</EM> is
+ set it is treated as a pointer to <STRONG>int</STRONG>, and used to retrieve the
+ color pair as an <STRONG>int</STRONG> value, in addition retrieving it via the stan-
+ dard pointer to <STRONG>short</STRONG> parameter.
+
+ The remaining functions which have <EM>opts</EM>, but do not manipulate color,
+ e.g., <STRONG>wattr_on</STRONG> and <STRONG>wattr_off</STRONG> are not used by this implementation except
+ to check that they are <STRONG>NULL</STRONG>.
+
+
+</PRE><H2><a name="h2-PORTABILITY">PORTABILITY</a></H2><PRE>
+ These functions are supported in the XSI Curses standard, Issue 4. The
+ standard defined the dedicated type for highlights, <STRONG>attr_t</STRONG>, which was
+ not defined in SVr4 curses. The functions taking <STRONG>attr_t</STRONG> arguments were
+ not supported under SVr4.
+
+ Very old versions of this library did not force an update of the screen
+ when changing the attributes. Use <STRONG>touchwin</STRONG> to force the screen to
+ match the updated attributes.
+
+ The XSI Curses standard states that whether the traditional functions
+ <STRONG>attron</STRONG>/<STRONG>attroff</STRONG>/<STRONG>attrset</STRONG> can manipulate attributes other than <STRONG>A_BLINK</STRONG>,
+ <STRONG>A_BOLD</STRONG>, <STRONG>A_DIM</STRONG>, <STRONG>A_REVERSE</STRONG>, <STRONG>A_STANDOUT</STRONG>, or <STRONG>A_UNDERLINE</STRONG> is "unspecified".
+ Under this implementation as well as SVr4 curses, these functions cor-
+ rectly manipulate all other highlights (specifically, <STRONG>A_ALTCHARSET</STRONG>,
+ <STRONG>A_PROTECT</STRONG>, and <STRONG>A_INVIS</STRONG>).
+
+ XSI Curses added these entry points:
+
+ <STRONG>attr_get</STRONG>, <STRONG>attr_on</STRONG>, <STRONG>attr_off</STRONG>, <STRONG>attr_set</STRONG>, <STRONG>wattr_on</STRONG>, <STRONG>wattr_off</STRONG>, <STRONG>wat-</STRONG>
+ <STRONG>tr_get</STRONG>, <STRONG>wattr_set</STRONG>
+
+ The new functions are intended to work with a new series of highlight
+ macros prefixed with <STRONG>WA_</STRONG>. The older macros have direct counterparts in
+ the newer set of names:
<EM>Name</EM> <EM>Description</EM>
------------------------------------------------------------
@@ -244,52 +460,81 @@
<STRONG>WA_BOLD</STRONG> Extra bright or bold
<STRONG>WA_ALTCHARSET</STRONG> Alternate character set
- Older versions of this library did not force an update of
- the screen when changing the attributes. Use <STRONG>touchwin</STRONG> to
- force the screen to match the updated attributes.
+ XSI curses does not assign values to these symbols, nor does it state
+ whether or not they are related to the similarly-named A_NORMAL, etc.:
- The XSI curses standard specifies that each pair of corre-
- sponding <STRONG>A_</STRONG> and <STRONG>WA_</STRONG>-using functions operates on the same
- current-highlight information.
+ <STRONG>o</STRONG> The XSI curses standard specifies that each pair of corresponding
+ <STRONG>A_</STRONG> and <STRONG>WA_</STRONG>-using functions operates on the same current-highlight
+ information.
- The XSI standard extended conformance level adds new high-
- lights <STRONG>A_HORIZONTAL</STRONG>, <STRONG>A_LEFT</STRONG>, <STRONG>A_LOW</STRONG>, <STRONG>A_RIGHT</STRONG>, <STRONG>A_TOP</STRONG>, <STRONG>A_VER-</STRONG>
- <STRONG>TICAL</STRONG> (and corresponding <STRONG>WA_</STRONG> macros for each). As of Au-
- gust 2013, no known terminal provides these highlights
- (i.e., via the <STRONG>sgr1</STRONG> capability).
+ <STRONG>o</STRONG> However, in some implementations, those symbols have unrelated val-
+ ues.
+ For example, the Solaris <EM>xpg4</EM> (X/Open) curses declares <STRONG>attr_t</STRONG> to be
+ an unsigned short integer (16-bits), while <STRONG>chtype</STRONG> is a unsigned in-
+ teger (32-bits). The <STRONG>WA_</STRONG> symbols in this case are different from
+ the <STRONG>A_</STRONG> symbols because they are used for a smaller datatype which
+ does not represent <STRONG>A_CHARTEXT</STRONG> or <STRONG>A_COLOR</STRONG>.
-</PRE>
-<H2>RETURN VALUE</H2><PRE>
- All routines return the integer <STRONG>OK</STRONG> on success, or <STRONG>ERR</STRONG> on
- failure.
+ In this implementation (as in many others), the values happen to be
+ the same because it simplifies copying information between <STRONG>chtype</STRONG>
+ and <STRONG>cchar_t</STRONG> variables.
+
+ The XSI standard extended conformance level adds new highlights <STRONG>A_HORI-</STRONG>
+ <STRONG>ZONTAL</STRONG>, <STRONG>A_LEFT</STRONG>, <STRONG>A_LOW</STRONG>, <STRONG>A_RIGHT</STRONG>, <STRONG>A_TOP</STRONG>, <STRONG>A_VERTICAL</STRONG> (and corresponding
+ <STRONG>WA_</STRONG> macros for each). As of August 2013, no known terminal provides
+ these highlights (i.e., via the <STRONG>sgr1</STRONG> capability).
+
+
+</PRE><H2><a name="h2-RETURN-VALUE">RETURN VALUE</a></H2><PRE>
+ All routines return the integer <STRONG>OK</STRONG> on success, or <STRONG>ERR</STRONG> on failure.
X/Open does not define any error conditions.
- This implementation returns an error if the window pointer
- is null. The <STRONG>wcolor_set</STRONG> function returns an error if the
- color pair parameter is outside the range 0..COL-
- OR_PAIRS-1. This implementation also provides <STRONG>getattrs</STRONG>
- for compatibility with older versions of curses.
+ This implementation
- Functions with a "mv" prefix first perform a cursor move-
- ment using <STRONG>wmove</STRONG>, and return an error if the position is
- outside the window, or if the window pointer is null.
+ <STRONG>o</STRONG> returns an error if the window pointer is null.
+ <STRONG>o</STRONG> returns an error if the color pair parameter for <STRONG>wcolor_set</STRONG> is out-
+ side the range 0..COLOR_PAIRS-1.
-</PRE>
-<H2>SEE ALSO</H2><PRE>
- <STRONG><A HREF="ncurses.3x.html">curses(3x)</A></STRONG>, <STRONG><A HREF="curs_addch.3x.html">curs_addch(3x)</A></STRONG>, <STRONG><A HREF="curs_addstr.3x.html">curs_addstr(3x)</A></STRONG>,
- <STRONG><A HREF="curs_bkgd.3x.html">curs_bkgd(3x)</A></STRONG>, <STRONG><A HREF="curs_printw.3x.html">curs_printw(3x)</A></STRONG>, <STRONG><A HREF="curs_variables.3x.html">curs_variables(3x)</A></STRONG>
+ <STRONG>o</STRONG> does not return an error if either of the parameters of <STRONG>wattr_get</STRONG>
+ used for retrieving attribute or color-pair values is <STRONG>NULL</STRONG>.
+
+ Functions with a "mv" prefix first perform a cursor movement using
+ <STRONG>wmove</STRONG>, and return an error if the position is outside the window, or if
+ the window pointer is null.
+
+
+</PRE><H2><a name="h2-SEE-ALSO">SEE ALSO</a></H2><PRE>
+ <STRONG><A HREF="ncurses.3x.html">curses(3x)</A></STRONG>, <STRONG><A HREF="curs_addch.3x.html">curs_addch(3x)</A></STRONG>, <STRONG><A HREF="curs_addstr.3x.html">curs_addstr(3x)</A></STRONG>, <STRONG><A HREF="curs_bkgd.3x.html">curs_bkgd(3x)</A></STRONG>,
+ <STRONG><A HREF="curs_printw.3x.html">curs_printw(3x)</A></STRONG>, <STRONG><A HREF="curs_variables.3x.html">curs_variables(3x)</A></STRONG>
- <STRONG><A HREF="curs_attr.3x.html">curs_attr(3x)</A></STRONG>
+ <STRONG><A HREF="curs_attr.3x.html">curs_attr(3x)</A></STRONG>
</PRE>
-<HR>
-<ADDRESS>
-Man(1) output converted with
-<a href="http://www.oac.uci.edu/indiv/ehood/man2html.html">man2html</a>
-</ADDRESS>
+<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>
+<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-Standout">Standout</a></li>
+</ul>
+</li>
+<li><a href="#h2-VIDEO-ATTRIBUTES">VIDEO ATTRIBUTES</a></li>
+<li><a href="#h2-NOTES">NOTES</a></li>
+<li><a href="#h2-HISTORY">HISTORY</a></li>
+<li><a href="#h2-EXTENSIONS">EXTENSIONS</a></li>
+<li><a href="#h2-PORTABILITY">PORTABILITY</a></li>
+<li><a href="#h2-RETURN-VALUE">RETURN VALUE</a></li>
+<li><a href="#h2-SEE-ALSO">SEE ALSO</a></li>
+</ul>
+</div>
</BODY>
</HTML>
diff --git a/doc/html/man/curs_beep.3x.html b/doc/html/man/curs_beep.3x.html
index c6d14e899c5b..1162843c31c1 100644
--- a/doc/html/man/curs_beep.3x.html
+++ b/doc/html/man/curs_beep.3x.html
@@ -1,7 +1,6 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN">
<!--
****************************************************************************
- * Copyright (c) 1998-2005,2010 Free Software Foundation, Inc. *
+ * Copyright (c) 1998-2010,2018 Free Software Foundation, Inc. *
* *
* Permission is hereby granted, free of charge, to any person obtaining a *
* copy of this software and associated documentation files (the *
@@ -27,80 +26,77 @@
* sale, use or other dealings in this Software without prior written *
* authorization. *
****************************************************************************
- * @Id: curs_beep.3x,v 1.12 2010/12/04 18:36:44 tom Exp @
+ * @Id: curs_beep.3x,v 1.13 2018/07/28 21:34:06 tom Exp @
-->
+<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN">
<HTML>
<HEAD>
+<meta http-equiv="Content-Type" content="text/html; charset=us-ascii">
+<meta name="generator" content="Manpage converted by man2html - see https://invisible-island.net/scripts/readme.html#others_scripts">
<TITLE>curs_beep 3x</TITLE>
-<link rev=made href="mailto:bug-ncurses@gnu.org">
+<link rel="author" href="mailto:bug-ncurses@gnu.org">
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
</HEAD>
<BODY>
-<H1>curs_beep 3x</H1>
-<HR>
+<H1 class="no-header">curs_beep 3x</H1>
<PRE>
-<!-- Manpage converted by man2html 3.0.1 -->
-<STRONG><A HREF="curs_beep.3x.html">curs_beep(3x)</A></STRONG> <STRONG><A HREF="curs_beep.3x.html">curs_beep(3x)</A></STRONG>
+<STRONG><A HREF="curs_beep.3x.html">curs_beep(3x)</A></STRONG> <STRONG><A HREF="curs_beep.3x.html">curs_beep(3x)</A></STRONG>
-</PRE>
-<H2>NAME</H2><PRE>
+</PRE><H2><a name="h2-NAME">NAME</a></H2><PRE>
<STRONG>beep</STRONG>, <STRONG>flash</STRONG> - <STRONG>curses</STRONG> bell and screen flash routines
-</PRE>
-<H2>SYNOPSIS</H2><PRE>
+</PRE><H2><a name="h2-SYNOPSIS">SYNOPSIS</a></H2><PRE>
<STRONG>#include</STRONG> <STRONG>&lt;curses.h&gt;</STRONG>
<STRONG>int</STRONG> <STRONG>beep(void);</STRONG>
<STRONG>int</STRONG> <STRONG>flash(void);</STRONG>
-</PRE>
-<H2>DESCRIPTION</H2><PRE>
- The <STRONG>beep</STRONG> and <STRONG>flash</STRONG> routines are used to alert the terminal
- user. The routine <STRONG>beep</STRONG> sounds an audible alarm on the
- terminal, if possible; otherwise it flashes the screen
- (visible bell). The routine <STRONG>flash</STRONG> flashes the screen, and
- if that is not possible, sounds the alert. If neither
- alert is possible, nothing happens. Nearly all terminals
- have an audible alert (bell or beep), but only some can
- flash the screen.
+</PRE><H2><a name="h2-DESCRIPTION">DESCRIPTION</a></H2><PRE>
+ The <STRONG>beep</STRONG> and <STRONG>flash</STRONG> routines are used to alert the terminal user. The
+ routine <STRONG>beep</STRONG> sounds an audible alarm on the terminal, if possible; oth-
+ erwise it flashes the screen (visible bell). The routine <STRONG>flash</STRONG> flashes
+ the screen, and if that is not possible, sounds the alert. If neither
+ alert is possible, nothing happens. Nearly all terminals have an audi-
+ ble alert (bell or beep), but only some can flash the screen.
-</PRE>
-<H2>RETURN VALUE</H2><PRE>
- These routines return <STRONG>OK</STRONG> if they succeed in beeping or
- flashing, <STRONG>ERR</STRONG> otherwise.
+</PRE><H2><a name="h2-RETURN-VALUE">RETURN VALUE</a></H2><PRE>
+ These routines return <STRONG>OK</STRONG> if they succeed in beeping or flashing, <STRONG>ERR</STRONG>
+ otherwise.
-</PRE>
-<H2>EXTENSIONS</H2><PRE>
- SVr4's beep and flash routines always returned <STRONG>OK</STRONG>, so it
- was not possible to tell when the beep or flash failed.
+</PRE><H2><a name="h2-EXTENSIONS">EXTENSIONS</a></H2><PRE>
+ SVr4's beep and flash routines always returned <STRONG>OK</STRONG>, so it was not possi-
+ ble to tell when the beep or flash failed.
-</PRE>
-<H2>PORTABILITY</H2><PRE>
- These functions are described in the XSI Curses standard,
- Issue 4. Like SVr4, it specifies that they always return
- <STRONG>OK</STRONG>.
+</PRE><H2><a name="h2-PORTABILITY">PORTABILITY</a></H2><PRE>
+ These functions are described in the XSI Curses standard, Issue 4.
+ Like SVr4, it specifies that they always return <STRONG>OK</STRONG>.
-</PRE>
-<H2>SEE ALSO</H2><PRE>
+</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_beep.3x.html">curs_beep(3x)</A></STRONG>
+ <STRONG><A HREF="curs_beep.3x.html">curs_beep(3x)</A></STRONG>
</PRE>
-<HR>
-<ADDRESS>
-Man(1) output converted with
-<a href="http://www.oac.uci.edu/indiv/ehood/man2html.html">man2html</a>
-</ADDRESS>
+<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>
+<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-SEE-ALSO">SEE ALSO</a></li>
+</ul>
+</div>
</BODY>
</HTML>
diff --git a/doc/html/man/curs_bkgd.3x.html b/doc/html/man/curs_bkgd.3x.html
index f6d30d5a59a7..4c772ccd1412 100644
--- a/doc/html/man/curs_bkgd.3x.html
+++ b/doc/html/man/curs_bkgd.3x.html
@@ -1,7 +1,6 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN">
<!--
****************************************************************************
- * Copyright (c) 1998-2003,2010 Free Software Foundation, Inc. *
+ * Copyright (c) 1998-2018,2019 Free Software Foundation, Inc. *
* *
* Permission is hereby granted, free of charge, to any person obtaining a *
* copy of this software and associated documentation files (the *
@@ -27,105 +26,165 @@
* sale, use or other dealings in this Software without prior written *
* authorization. *
****************************************************************************
- * @Id: curs_bkgd.3x,v 1.22 2010/12/04 18:36:44 tom Exp @
+ * @Id: curs_bkgd.3x,v 1.29 2019/07/13 21:01:06 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</TITLE>
-<link rev=made href="mailto:bug-ncurses@gnu.org">
+<link rel="author" href="mailto:bug-ncurses@gnu.org">
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
</HEAD>
<BODY>
-<H1>curs_bkgd 3x</H1>
-<HR>
+<H1 class="no-header">curs_bkgd 3x</H1>
<PRE>
-<!-- Manpage converted by man2html 3.0.1 -->
-<STRONG><A HREF="curs_bkgd.3x.html">curs_bkgd(3x)</A></STRONG> <STRONG><A HREF="curs_bkgd.3x.html">curs_bkgd(3x)</A></STRONG>
+<STRONG><A HREF="curs_bkgd.3x.html">curs_bkgd(3x)</A></STRONG> <STRONG><A HREF="curs_bkgd.3x.html">curs_bkgd(3x)</A></STRONG>
-</PRE>
-<H2>NAME</H2><PRE>
- <STRONG>bkgdset</STRONG>, <STRONG>wbkgdset</STRONG>, <STRONG>bkgd</STRONG>, <STRONG>wbkgd</STRONG>, <STRONG>getbkgd</STRONG> - <STRONG>curses</STRONG> window
- background manipulation routines
+</PRE><H2><a name="h2-NAME">NAME</a></H2><PRE>
+ <STRONG>bkgdset</STRONG>, <STRONG>wbkgdset</STRONG>, <STRONG>bkgd</STRONG>, <STRONG>wbkgd</STRONG>, <STRONG>getbkgd</STRONG> - <STRONG>curses</STRONG> window background
+ manipulation routines
-</PRE>
-<H2>SYNOPSIS</H2><PRE>
+</PRE><H2><a name="h2-SYNOPSIS">SYNOPSIS</a></H2><PRE>
<STRONG>#include</STRONG> <STRONG>&lt;curses.h&gt;</STRONG>
- <STRONG>void</STRONG> <STRONG>bkgdset(chtype</STRONG> <STRONG>ch);</STRONG>
- <STRONG>void</STRONG> <STRONG>wbkgdset(WINDOW</STRONG> <STRONG>*win,</STRONG> <STRONG>chtype</STRONG> <STRONG>ch);</STRONG>
- <STRONG>int</STRONG> <STRONG>bkgd(chtype</STRONG> <STRONG>ch);</STRONG>
- <STRONG>int</STRONG> <STRONG>wbkgd(WINDOW</STRONG> <STRONG>*win,</STRONG> <STRONG>chtype</STRONG> <STRONG>ch);</STRONG>
- <STRONG>chtype</STRONG> <STRONG>getbkgd(WINDOW</STRONG> <STRONG>*win);</STRONG>
+ <STRONG>void</STRONG> <STRONG>bkgdset(chtype</STRONG> <EM>ch</EM><STRONG>);</STRONG>
+ <STRONG>void</STRONG> <STRONG>wbkgdset(WINDOW</STRONG> <STRONG>*</STRONG><EM>win,</EM> <EM>chtype</EM> <EM>ch</EM><STRONG>);</STRONG>
+ <STRONG>int</STRONG> <STRONG>bkgd(chtype</STRONG> <EM>ch</EM><STRONG>);</STRONG>
+ <STRONG>int</STRONG> <STRONG>wbkgd(WINDOW</STRONG> <STRONG>*</STRONG><EM>win</EM><STRONG>,</STRONG> <STRONG>chtype</STRONG> <EM>ch</EM><STRONG>);</STRONG>
+ <STRONG>chtype</STRONG> <STRONG>getbkgd(WINDOW</STRONG> <STRONG>*</STRONG><EM>win</EM><STRONG>);</STRONG>
-</PRE>
-<H2>DESCRIPTION</H2><PRE>
- The <STRONG>bkgdset</STRONG> and <STRONG>wbkgdset</STRONG> routines manipulate the back-
- ground of the named window. The window background is a
- <STRONG>chtype</STRONG> consisting of any combination of attributes (i.e.,
- rendition) and a character. The attribute part of the
- background is combined (OR'ed) with all non-blank charac-
- ters that are written into the window with <STRONG>waddch</STRONG>. Both
- the character and attribute parts of the background are
- combined with the blank characters. The background
- becomes a property of the character and moves with the
- character through any scrolling and insert/delete
+</PRE><H2><a name="h2-DESCRIPTION">DESCRIPTION</a></H2><PRE>
+
+</PRE><H3><a name="h3-bkgdset">bkgdset</a></H3><PRE>
+ The <STRONG>bkgdset</STRONG> and <STRONG>wbkgdset</STRONG> routines manipulate the background of the
+ named window. The window background is a <STRONG>chtype</STRONG> consisting of any com-
+ bination of attributes (i.e., rendition) and a character. The
+ attribute part of the background is combined (OR'ed) with all non-blank
+ characters that are written into the window with <STRONG>waddch</STRONG>. Both the
+ character and attribute parts of the background are combined with the
+ blank characters. The background becomes a property of the character
+ and moves with the character through any scrolling and insert/delete
line/character operations.
- To the extent possible on a particular terminal, the
- attribute part of the background is displayed as the
- graphic rendition of the character put on the screen.
+ To the extent possible on a particular terminal, the attribute part of
+ the background is displayed as the graphic rendition of the character
+ put on the screen.
- The <STRONG>bkgd</STRONG> and <STRONG>wbkgd</STRONG> functions set the background property
- of the current or specified window and then apply this
- setting to every character position in that window:
- The rendition of every character on the screen is
- changed to the new background rendition.
+</PRE><H3><a name="h3-bkgd">bkgd</a></H3><PRE>
+ The <STRONG>bkgd</STRONG> and <STRONG>wbkgd</STRONG> functions set the background property of the current
+ or specified window and then apply this setting to every character
+ position in that window. According to X/Open Curses, it should do
+ this:
- Wherever the former background character appears,
- it is changed to the new background character.
+ <STRONG>o</STRONG> The rendition of every character on the screen is changed to the
+ new background rendition.
- The <STRONG>getbkgd</STRONG> function returns the given window's current
- background character/attribute pair.
+ <STRONG>o</STRONG> Wherever the former background character appears, it is changed to
+ the new background character.
+ Neither X/Open Curses nor the SVr4 manual pages give details about the
+ way the rendition of characters on the screen is updated when <STRONG>bkgd</STRONG> or
+ <STRONG>wbkgd</STRONG> is used to change the background character.
-</PRE>
-<H2>RETURN VALUE</H2><PRE>
- The routines <STRONG>bkgd</STRONG> and <STRONG>wbkgd</STRONG> return the integer <STRONG>OK</STRONG>. The
- SVr4.0 manual says "or a non-negative integer if <STRONG>immedok</STRONG>
- is set", but this appears to be an error.
+ This implementation, like SVr4 curses, does not store the background
+ and window attribute contributions to each cell separately. It updates
+ the rendition by comparing the character, non-color attributes and col-
+ ors contained in the background. For each cell in the window, whether
+ or not it is blank:
+ <STRONG>o</STRONG> The library first compares the <EM>character</EM>, and if it matches the
+ current character part of the background, it replaces that with the
+ new background character.
-</PRE>
-<H2>NOTES</H2><PRE>
+ <STRONG>o</STRONG> The library then checks if the cell uses color, i.e., its color
+ pair value is nonzero. If not, it simply replaces the attributes
+ and color pair in the cell with those from the new background char-
+ acter.
+
+ <STRONG>o</STRONG> If the cell uses color, and that matches the color in the current
+ background, the library removes attributes which may have come from
+ the current background and adds attributes from the new background.
+ It finishes by setting the cell to use the color from the new back-
+ ground.
+
+ <STRONG>o</STRONG> If the cell uses color, and that does not match the color in the
+ current background, the library updates only the non-color
+ attributes, first removing those which may have come from the cur-
+ rent background, and then adding attributes from the new back-
+ ground.
+
+ If the background's character value is zero, a space is assumed.
+
+ If the terminal does not support color, or if color has not been
+ started with <STRONG>start_color</STRONG>, the new background character's color
+ attribute will be ignored.
+
+
+</PRE><H3><a name="h3-getbkgd">getbkgd</a></H3><PRE>
+ The <STRONG>getbkgd</STRONG> function returns the given window's current background
+ character/attribute pair.
+
+
+</PRE><H2><a name="h2-RETURN-VALUE">RETURN VALUE</a></H2><PRE>
+ These functions are described in the XSI Curses standard, Issue 4. It
+ specifies that <STRONG>bkgd</STRONG> and <STRONG>wbkgd</STRONG> return <STRONG>ERR</STRONG> on failure, but gives no fail-
+ ure conditions.
+
+ The routines <STRONG>bkgd</STRONG> and <STRONG>wbkgd</STRONG> return the integer <STRONG>OK</STRONG>, unless the library
+ has not been initialized.
+
+ In contrast, the SVr4.0 manual says <STRONG>bkgd</STRONG> and <STRONG>wbkgd</STRONG> may return <STRONG>OK</STRONG> "or a
+ non-negative integer if <STRONG>immedok</STRONG> is set", which refers to the return
+ value from <STRONG>wrefresh</STRONG> (used to implement the immediate repainting). The
+ SVr4 curses <STRONG>wrefresh</STRONG> returns the number of characters written to the
+ screen during the refresh. This implementation does not do that.
+
+
+</PRE><H2><a name="h2-NOTES">NOTES</a></H2><PRE>
Note that <STRONG>bkgdset</STRONG> and <STRONG>bkgd</STRONG> may be macros.
+ X/Open Curses mentions that the character part of the background must
+ be a single-byte value. This implementation, like SVr4, checks to
+ ensure that, and will reuse the old background character if the check
+ fails.
-</PRE>
-<H2>PORTABILITY</H2><PRE>
- These functions are described in the XSI Curses standard,
- Issue 4. It specifies that <STRONG>bkgd</STRONG> and <STRONG>wbkgd</STRONG> return <STRONG>ERR</STRONG> on
- failure, but gives no failure conditions.
+</PRE><H2><a name="h2-PORTABILITY">PORTABILITY</a></H2><PRE>
+ These functions are described in the XSI Curses standard, Issue 4
+ (X/Open Curses).
-</PRE>
-<H2>SEE ALSO</H2><PRE>
- <STRONG><A HREF="ncurses.3x.html">curses(3x)</A></STRONG>, <STRONG><A HREF="curs_addch.3x.html">curs_addch(3x)</A></STRONG>, <STRONG><A HREF="curs_attr.3x.html">curs_attr(3x)</A></STRONG>, <STRONG>curs_out-</STRONG>
- <STRONG><A HREF="curs_outopts.3x.html">opts(3x)</A></STRONG>
+
+</PRE><H2><a name="h2-SEE-ALSO">SEE ALSO</a></H2><PRE>
+ <STRONG><A HREF="ncurses.3x.html">curses(3x)</A></STRONG>, <STRONG><A HREF="curs_addch.3x.html">curs_addch(3x)</A></STRONG>, <STRONG><A HREF="curs_attr.3x.html">curs_attr(3x)</A></STRONG>, <STRONG><A HREF="curs_outopts.3x.html">curs_outopts(3x)</A></STRONG>
- <STRONG><A HREF="curs_bkgd.3x.html">curs_bkgd(3x)</A></STRONG>
+ <STRONG><A HREF="curs_bkgd.3x.html">curs_bkgd(3x)</A></STRONG>
</PRE>
-<HR>
-<ADDRESS>
-Man(1) output converted with
-<a href="http://www.oac.uci.edu/indiv/ehood/man2html.html">man2html</a>
-</ADDRESS>
+<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>
+<ul>
+<li><a href="#h3-bkgdset">bkgdset</a></li>
+<li><a href="#h3-bkgd">bkgd</a></li>
+<li><a href="#h3-getbkgd">getbkgd</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-PORTABILITY">PORTABILITY</a></li>
+<li><a href="#h2-SEE-ALSO">SEE ALSO</a></li>
+</ul>
+</div>
</BODY>
</HTML>
diff --git a/doc/html/man/curs_bkgrnd.3x.html b/doc/html/man/curs_bkgrnd.3x.html
index 27ceb22dcbce..bf914925bcb4 100644
--- a/doc/html/man/curs_bkgrnd.3x.html
+++ b/doc/html/man/curs_bkgrnd.3x.html
@@ -1,7 +1,6 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN">
<!--
****************************************************************************
- * Copyright (c) 2002-2010,2012 Free Software Foundation, Inc. *
+ * Copyright (c) 2002-2017,2018 Free Software Foundation, Inc. *
* *
* Permission is hereby granted, free of charge, to any person obtaining a *
* copy of this software and associated documentation files (the *
@@ -27,33 +26,31 @@
* sale, use or other dealings in this Software without prior written *
* authorization. *
****************************************************************************
- * @Id: curs_bkgrnd.3x,v 1.5 2012/11/03 23:03:59 tom Exp @
+ * @Id: curs_bkgrnd.3x,v 1.10 2018/12/09 00:50:50 tom Exp @
-->
+<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN">
<HTML>
<HEAD>
+<meta http-equiv="Content-Type" content="text/html; charset=us-ascii">
+<meta name="generator" content="Manpage converted by man2html - see https://invisible-island.net/scripts/readme.html#others_scripts">
<TITLE>curs_bkgrnd 3x</TITLE>
-<link rev=made href="mailto:bug-ncurses@gnu.org">
+<link rel="author" href="mailto:bug-ncurses@gnu.org">
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
</HEAD>
<BODY>
-<H1>curs_bkgrnd 3x</H1>
-<HR>
+<H1 class="no-header">curs_bkgrnd 3x</H1>
<PRE>
-<!-- Manpage converted by man2html 3.0.1 -->
-<STRONG><A HREF="curs_bkgrnd.3x.html">curs_bkgrnd(3x)</A></STRONG> <STRONG><A HREF="curs_bkgrnd.3x.html">curs_bkgrnd(3x)</A></STRONG>
+<STRONG><A HREF="curs_bkgrnd.3x.html">curs_bkgrnd(3x)</A></STRONG> <STRONG><A HREF="curs_bkgrnd.3x.html">curs_bkgrnd(3x)</A></STRONG>
-</PRE>
-<H2>NAME</H2><PRE>
- <STRONG>bkgrnd</STRONG>, <STRONG>wbkgrnd</STRONG>, <STRONG>bkgrndset</STRONG>, <STRONG>wbkgrndset</STRONG>, <STRONG>getbkgrnd</STRONG>, <STRONG>wget-</STRONG>
- <STRONG>bkgrnd</STRONG> - <STRONG>curses</STRONG> window complex background manipulation
- routines
+</PRE><H2><a name="h2-NAME">NAME</a></H2><PRE>
+ <STRONG>bkgrnd</STRONG>, <STRONG>wbkgrnd</STRONG>, <STRONG>bkgrndset</STRONG>, <STRONG>wbkgrndset</STRONG>, <STRONG>getbkgrnd</STRONG>, <STRONG>wgetbkgrnd</STRONG> - <STRONG>curses</STRONG>
+ window complex background manipulation routines
-</PRE>
-<H2>SYNOPSIS</H2><PRE>
+</PRE><H2><a name="h2-SYNOPSIS">SYNOPSIS</a></H2><PRE>
<STRONG>#include</STRONG> <STRONG>&lt;curses.h&gt;</STRONG>
<STRONG>int</STRONG> <STRONG>bkgrnd(</STRONG> <STRONG>const</STRONG> <STRONG>cchar_t</STRONG> <STRONG>*</STRONG><EM>wch</EM><STRONG>);</STRONG>
@@ -64,65 +61,89 @@
<STRONG>int</STRONG> <STRONG>wgetbkgrnd(WINDOW</STRONG> <STRONG>*</STRONG><EM>win</EM><STRONG>,</STRONG> <STRONG>cchar_t</STRONG> <STRONG>*</STRONG><EM>wch</EM><STRONG>);</STRONG>
-</PRE>
-<H2>DESCRIPTION</H2><PRE>
- The <STRONG>bkgrndset</STRONG> and <STRONG>wbkgrndset</STRONG> routines manipulate the back-
- ground of the named window. The window background is a
- <STRONG>cchar_t</STRONG> consisting of any combination of attributes (i.e.,
- rendition) and a complex character. The attribute part of
- the background is combined (OR'ed) with all non-blank
- characters that are written into the window with <STRONG>waddch</STRONG>.
- Both the character and attribute parts of the background
- are combined with the blank characters. The background
- becomes a property of the character and moves with the
- character through any scrolling and insert/delete
- line/character operations.
+</PRE><H2><a name="h2-DESCRIPTION">DESCRIPTION</a></H2><PRE>
- To the extent possible on a particular terminal, the
- attribute part of the background is displayed as the
- graphic rendition of the character put on the screen.
+</PRE><H3><a name="h3-bkgrndset">bkgrndset</a></H3><PRE>
+ The <STRONG>bkgrndset</STRONG> and <STRONG>wbkgrndset</STRONG> routines manipulate the background of the
+ named window. The window background is a <STRONG>cchar_t</STRONG> consisting of any
+ combination of attributes (i.e., rendition) and a complex character.
+ The attribute part of the background is combined (OR'ed) with all non-
+ blank characters that are written into the window with <STRONG>waddch</STRONG>. Both
+ the character and attribute parts of the background are combined with
+ the blank characters. The background becomes a property of the charac-
+ ter and moves with the character through any scrolling and
+ insert/delete line/character operations.
- The <STRONG>bkgrnd</STRONG> and <STRONG>wbkgrnd</STRONG> functions set the background prop-
- erty of the current or specified window and then apply
- this setting to every character position in that window:
+ To the extent possible on a particular terminal, the attribute part of
+ the background is displayed as the graphic rendition of the character
+ put on the screen.
- The rendition of every character on the screen is
- changed to the new background rendition.
- Wherever the former background character appears,
- it is changed to the new background character.
+</PRE><H3><a name="h3-bkgrnd">bkgrnd</a></H3><PRE>
+ The <STRONG>bkgrnd</STRONG> and <STRONG>wbkgrnd</STRONG> functions set the background property of the
+ current or specified window and then apply this setting to every char-
+ acter position in that window:
- The <STRONG>getbkgrnd</STRONG> function returns the given window's current
- background character/attribute pair via the <STRONG>wch</STRONG> pointer.
+ <STRONG>o</STRONG> The rendition of every character on the screen is changed to the
+ new background rendition.
+ <STRONG>o</STRONG> Wherever the former background character appears, it is changed to
+ the new background character.
-</PRE>
-<H2>NOTES</H2><PRE>
+
+</PRE><H3><a name="h3-getbkgrnd">getbkgrnd</a></H3><PRE>
+ The <STRONG>getbkgrnd</STRONG> function returns the given window's current background
+ character/attribute pair via the <STRONG>wch</STRONG> pointer. If the given window
+ pointer is null, the character is not updated (but no error returned).
+
+
+</PRE><H2><a name="h2-NOTES">NOTES</a></H2><PRE>
Note that <STRONG>bkgrnd</STRONG>, <STRONG>bkgrndset</STRONG>, and <STRONG>getbkgrnd</STRONG> may be macros.
+ X/Open Curses does not provide details on how the rendition is changed.
+ This implementation follows the approach used in SVr4 curses, which is
+ explained in the manual page for <STRONG>wbkgd</STRONG>.
-</PRE>
-<H2>RETURN VALUE</H2><PRE>
- The <STRONG>bkgrndset</STRONG> and <STRONG>wbkgrndset</STRONG> routines do not return a
- value.
- Upon successful completion, the other functions return <STRONG>OK</STRONG>.
- Otherwise, they return <STRONG>ERR</STRONG>. A null window pointer is
- treated as an error.
+</PRE><H2><a name="h2-RETURN-VALUE">RETURN VALUE</a></H2><PRE>
+ The <STRONG>bkgrndset</STRONG> and <STRONG>wbkgrndset</STRONG> routines do not return a value.
+ Upon successful completion, the other functions return <STRONG>OK</STRONG>. Otherwise,
+ they return <STRONG>ERR</STRONG>:
-</PRE>
-<H2>SEE ALSO</H2><PRE>
+ <STRONG>o</STRONG> A null window pointer is treated as an error.
+
+ <STRONG>o</STRONG> A null character pointer is treated as an error.
+
+
+</PRE><H2><a name="h2-PORTABILITY">PORTABILITY</a></H2><PRE>
+ These functions are described in the XSI Curses standard, Issue 4
+ (X/Open Curses).
+
+
+</PRE><H2><a name="h2-SEE-ALSO">SEE ALSO</a></H2><PRE>
<STRONG><A HREF="ncurses.3x.html">curses(3x)</A></STRONG>, <STRONG><A HREF="curs_bkgd.3x.html">curs_bkgd(3x)</A></STRONG>
- <STRONG><A HREF="curs_bkgrnd.3x.html">curs_bkgrnd(3x)</A></STRONG>
+ <STRONG><A HREF="curs_bkgrnd.3x.html">curs_bkgrnd(3x)</A></STRONG>
</PRE>
-<HR>
-<ADDRESS>
-Man(1) output converted with
-<a href="http://www.oac.uci.edu/indiv/ehood/man2html.html">man2html</a>
-</ADDRESS>
+<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>
+<ul>
+<li><a href="#h3-bkgrndset">bkgrndset</a></li>
+<li><a href="#h3-bkgrnd">bkgrnd</a></li>
+<li><a href="#h3-getbkgrnd">getbkgrnd</a></li>
+</ul>
+</li>
+<li><a href="#h2-NOTES">NOTES</a></li>
+<li><a href="#h2-RETURN-VALUE">RETURN VALUE</a></li>
+<li><a href="#h2-PORTABILITY">PORTABILITY</a></li>
+<li><a href="#h2-SEE-ALSO">SEE ALSO</a></li>
+</ul>
+</div>
</BODY>
</HTML>
diff --git a/doc/html/man/curs_border.3x.html b/doc/html/man/curs_border.3x.html
index f2f4d5659c9c..2b259de43c04 100644
--- a/doc/html/man/curs_border.3x.html
+++ b/doc/html/man/curs_border.3x.html
@@ -1,7 +1,6 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN">
<!--
****************************************************************************
- * Copyright (c) 1998-2007,2010 Free Software Foundation, Inc. *
+ * Copyright (c) 1998-2018,2019 Free Software Foundation, Inc. *
* *
* Permission is hereby granted, free of charge, to any person obtaining a *
* copy of this software and associated documentation files (the *
@@ -27,33 +26,32 @@
* sale, use or other dealings in this Software without prior written *
* authorization. *
****************************************************************************
- * @Id: curs_border.3x,v 1.22 2010/12/04 18:36:44 tom Exp @
+ * @Id: curs_border.3x,v 1.24 2019/11/30 21:06:30 tom Exp @
-->
+<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN">
<HTML>
<HEAD>
+<meta http-equiv="Content-Type" content="text/html; charset=us-ascii">
+<meta name="generator" content="Manpage converted by man2html - see https://invisible-island.net/scripts/readme.html#others_scripts">
<TITLE>curs_border 3x</TITLE>
-<link rev=made href="mailto:bug-ncurses@gnu.org">
+<link rel="author" href="mailto:bug-ncurses@gnu.org">
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
</HEAD>
<BODY>
-<H1>curs_border 3x</H1>
-<HR>
+<H1 class="no-header">curs_border 3x</H1>
<PRE>
-<!-- Manpage converted by man2html 3.0.1 -->
-<STRONG><A HREF="curs_border.3x.html">curs_border(3x)</A></STRONG> <STRONG><A HREF="curs_border.3x.html">curs_border(3x)</A></STRONG>
+<STRONG><A HREF="curs_border.3x.html">curs_border(3x)</A></STRONG> <STRONG><A HREF="curs_border.3x.html">curs_border(3x)</A></STRONG>
-</PRE>
-<H2>NAME</H2><PRE>
- <STRONG>border</STRONG>, <STRONG>wborder</STRONG>, <STRONG>box</STRONG>, <STRONG>hline</STRONG>, <STRONG>whline</STRONG>, <STRONG>vline</STRONG>, <STRONG>wvline</STRONG>,
- <STRONG>mvhline</STRONG>, <STRONG>mvwhline</STRONG>, <STRONG>mvvline</STRONG>, <STRONG>mvwvline</STRONG> - create <STRONG>curses</STRONG>
- borders, horizontal and vertical lines
+</PRE><H2><a name="h2-NAME">NAME</a></H2><PRE>
+ <STRONG>border</STRONG>, <STRONG>wborder</STRONG>, <STRONG>box</STRONG>, <STRONG>hline</STRONG>, <STRONG>whline</STRONG>, <STRONG>vline</STRONG>, <STRONG>wvline</STRONG>, <STRONG>mvhline</STRONG>, <STRONG>mvwhline</STRONG>,
+ <STRONG>mvvline</STRONG>, <STRONG>mvwvline</STRONG> - create <STRONG>curses</STRONG> borders, horizontal and vertical
+ lines
-</PRE>
-<H2>SYNOPSIS</H2><PRE>
+</PRE><H2><a name="h2-SYNOPSIS">SYNOPSIS</a></H2><PRE>
<STRONG>#include</STRONG> <STRONG>&lt;curses.h&gt;</STRONG>
<STRONG>int</STRONG> <STRONG>border(chtype</STRONG> <STRONG>ls,</STRONG> <STRONG>chtype</STRONG> <STRONG>rs,</STRONG> <STRONG>chtype</STRONG> <STRONG>ts,</STRONG> <STRONG>chtype</STRONG> <STRONG>bs,</STRONG>
<STRONG>chtype</STRONG> <STRONG>tl,</STRONG> <STRONG>chtype</STRONG> <STRONG>tr,</STRONG> <STRONG>chtype</STRONG> <STRONG>bl,</STRONG> <STRONG>chtype</STRONG> <STRONG>br);</STRONG>
@@ -71,11 +69,10 @@
<STRONG>int</STRONG> <STRONG>mvwvline(WINDOW</STRONG> <STRONG>*,</STRONG> <STRONG>int</STRONG> <STRONG>y,</STRONG> <STRONG>int</STRONG> <STRONG>x,</STRONG> <STRONG>chtype</STRONG> <STRONG>ch,</STRONG> <STRONG>int</STRONG> <STRONG>n);</STRONG>
-</PRE>
-<H2>DESCRIPTION</H2><PRE>
- The <STRONG>border</STRONG>, <STRONG>wborder</STRONG> and <STRONG>box</STRONG> routines draw a box around the
- edges of a window. Other than the window, each argument
- is a character with attributes:
+</PRE><H2><a name="h2-DESCRIPTION">DESCRIPTION</a></H2><PRE>
+ The <STRONG>border</STRONG>, <STRONG>wborder</STRONG> and <STRONG>box</STRONG> routines draw a box around the edges of a
+ window. Other than the window, each argument is a character with at-
+ tributes:
<EM>ls</EM> - left side,
<EM>rs</EM> - right side,
@@ -86,8 +83,8 @@
<EM>bl</EM> - bottom left-hand corner, and
<EM>br</EM> - bottom right-hand corner.
- If any of these arguments is zero, then the corresponding
- default values (defined in <STRONG>curses.h</STRONG>) are used instead:
+ If any of these arguments is zero, then the corresponding default val-
+ ues (defined in <STRONG>curses.h</STRONG>) are used instead:
<STRONG>ACS_VLINE</STRONG>,
<STRONG>ACS_VLINE</STRONG>,
@@ -98,65 +95,62 @@
<STRONG>ACS_LLCORNER</STRONG>,
<STRONG>ACS_LRCORNER</STRONG>.
- <STRONG>box(</STRONG><EM>win</EM><STRONG>,</STRONG> <EM>verch</EM><STRONG>,</STRONG> <EM>horch</EM><STRONG>)</STRONG> is a shorthand for the following
- call: <STRONG>wborder(</STRONG><EM>win</EM><STRONG>,</STRONG> <EM>verch</EM><STRONG>,</STRONG> <EM>verch</EM><STRONG>,</STRONG> <EM>horch</EM><STRONG>,</STRONG> <EM>horch</EM><STRONG>,</STRONG> <STRONG>0,</STRONG> <STRONG>0,</STRONG> <STRONG>0,</STRONG>
- <STRONG>0)</STRONG>.
+ <STRONG>box(</STRONG><EM>win</EM><STRONG>,</STRONG> <EM>verch</EM><STRONG>,</STRONG> <EM>horch</EM><STRONG>)</STRONG> is a shorthand for the following call: <STRONG>wbor-</STRONG>
+ <STRONG>der(</STRONG><EM>win</EM><STRONG>,</STRONG> <EM>verch</EM><STRONG>,</STRONG> <EM>verch</EM><STRONG>,</STRONG> <EM>horch</EM><STRONG>,</STRONG> <EM>horch</EM><STRONG>,</STRONG> <STRONG>0,</STRONG> <STRONG>0,</STRONG> <STRONG>0,</STRONG> <STRONG>0)</STRONG>.
- The <STRONG>hline</STRONG> and <STRONG>whline</STRONG> functions draw a horizontal (left to
- right) line using <EM>ch</EM> starting at the current cursor posi-
- tion in the window. The current cursor position is not
- changed. The line is at most <EM>n</EM> characters long, or as
- many as fit into the window.
+ The <STRONG>hline</STRONG> and <STRONG>whline</STRONG> functions draw a horizontal (left to right) line
+ using <EM>ch</EM> starting at the current cursor position in the window. The
+ current cursor position is not changed. The line is at most <EM>n</EM> charac-
+ ters long, or as many as fit into the window.
- The <STRONG>vline</STRONG> and <STRONG>wvline</STRONG> functions draw a vertical (top to
- bottom) line using <EM>ch</EM> starting at the current cursor posi-
- tion in the window. The current cursor position is not
- changed. The line is at most <EM>n</EM> characters long, or as
- many as fit into the window.
+ The <STRONG>vline</STRONG> and <STRONG>wvline</STRONG> functions draw a vertical (top to bottom) line us-
+ ing <EM>ch</EM> starting at the current cursor position in the window. The cur-
+ rent cursor position is not changed. The line is at most <EM>n</EM> characters
+ long, or as many as fit into the window.
-</PRE>
-<H2>RETURN VALUE</H2><PRE>
- All routines return the integer <STRONG>OK</STRONG>. The SVr4.0 manual
- says "or a non-negative integer if <STRONG>immedok</STRONG> is set", but
- this appears to be an error.
+</PRE><H2><a name="h2-RETURN-VALUE">RETURN VALUE</a></H2><PRE>
+ All routines return the integer <STRONG>OK</STRONG>. The SVr4.0 manual says "or a non-
+ negative integer if <STRONG>immedok</STRONG> is set", but this appears to be an error.
- X/Open does not define any error conditions. This imple-
- mentation returns an error if the window pointer is null.
+ X/Open does not define any error conditions. This implementation re-
+ turns an error if the window pointer is null.
- Functions with a "mv" prefix first perform a cursor move-
- ment using <STRONG>wmove</STRONG>, and return an error if the position is
- outside the window, or if the window pointer is null.
+ Functions with a "mv" prefix first perform 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.
-</PRE>
-<H2>NOTES</H2><PRE>
- The borders generated by these functions are <EM>inside</EM> bor-
- ders (this is also true of SVr4 curses, though the fact is
- not documented).
+</PRE><H2><a name="h2-NOTES">NOTES</a></H2><PRE>
+ The borders generated by these functions are <EM>inside</EM> borders (this is
+ also true of SVr4 curses, though the fact is not documented).
Note that <STRONG>border</STRONG> and <STRONG>box</STRONG> may be macros.
-</PRE>
-<H2>PORTABILITY</H2><PRE>
- These functions are described in the XSI Curses standard,
- Issue 4. The standard specifies that they return <STRONG>ERR</STRONG> on
- failure, but specifies no error conditions.
+</PRE><H2><a name="h2-PORTABILITY">PORTABILITY</a></H2><PRE>
+ These functions are described in the XSI Curses standard, Issue 4. The
+ standard specifies that they return <STRONG>ERR</STRONG> on failure, but specifies no
+ error conditions.
-</PRE>
-<H2>SEE ALSO</H2><PRE>
+</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_outopts.3x.html">curs_outopts(3x)</A></STRONG>.
- <STRONG><A HREF="curs_border.3x.html">curs_border(3x)</A></STRONG>
+ <STRONG><A HREF="curs_border.3x.html">curs_border(3x)</A></STRONG>
</PRE>
-<HR>
-<ADDRESS>
-Man(1) output converted with
-<a href="http://www.oac.uci.edu/indiv/ehood/man2html.html">man2html</a>
-</ADDRESS>
+<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>
+<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-SEE-ALSO">SEE ALSO</a></li>
+</ul>
+</div>
</BODY>
</HTML>
diff --git a/doc/html/man/curs_border_set.3x.html b/doc/html/man/curs_border_set.3x.html
index 1116c5327b1b..5b3dba90480f 100644
--- a/doc/html/man/curs_border_set.3x.html
+++ b/doc/html/man/curs_border_set.3x.html
@@ -1,7 +1,6 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN">
<!--
****************************************************************************
- * Copyright (c) 2002-2011,2012 Free Software Foundation, Inc. *
+ * Copyright (c) 2002-2012,2019 Free Software Foundation, Inc. *
* *
* Permission is hereby granted, free of charge, to any person obtaining a *
* copy of this software and associated documentation files (the *
@@ -27,34 +26,32 @@
* sale, use or other dealings in this Software without prior written *
* authorization. *
****************************************************************************
- * @Id: curs_border_set.3x,v 1.11 2012/11/03 23:03:59 tom Exp @
+ * @Id: curs_border_set.3x,v 1.12 2019/11/30 21:06:30 tom Exp @
-->
+<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN">
<HTML>
<HEAD>
+<meta http-equiv="Content-Type" content="text/html; charset=us-ascii">
+<meta name="generator" content="Manpage converted by man2html - see https://invisible-island.net/scripts/readme.html#others_scripts">
<TITLE>curs_border_set 3x</TITLE>
-<link rev=made href="mailto:bug-ncurses@gnu.org">
+<link rel="author" href="mailto:bug-ncurses@gnu.org">
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
</HEAD>
<BODY>
-<H1>curs_border_set 3x</H1>
-<HR>
+<H1 class="no-header">curs_border_set 3x</H1>
<PRE>
-<!-- Manpage converted by man2html 3.0.1 -->
-<STRONG><A HREF="curs_border_set.3x.html">curs_border_set(3x)</A></STRONG> <STRONG><A HREF="curs_border_set.3x.html">curs_border_set(3x)</A></STRONG>
+<STRONG><A HREF="curs_border_set.3x.html">curs_border_set(3x)</A></STRONG> <STRONG><A HREF="curs_border_set.3x.html">curs_border_set(3x)</A></STRONG>
-</PRE>
-<H2>NAME</H2><PRE>
- <STRONG>border_set</STRONG>, <STRONG>wborder_set</STRONG>, <STRONG>box_set</STRONG>, <STRONG>hline_set</STRONG>, <STRONG>whline_set</STRONG>,
- <STRONG>mvhline_set</STRONG>, <STRONG>mvwhline_set</STRONG>, <STRONG>vline_set</STRONG>, <STRONG>wvline_set</STRONG>,
- <STRONG>mvvline_set</STRONG>, <STRONG>mvwvline_set</STRONG> - create <STRONG>curses</STRONG> borders or lines
- using complex characters and renditions
+</PRE><H2><a name="h2-NAME">NAME</a></H2><PRE>
+ <STRONG>border_set</STRONG>, <STRONG>wborder_set</STRONG>, <STRONG>box_set</STRONG>, <STRONG>hline_set</STRONG>, <STRONG>whline_set</STRONG>, <STRONG>mvhline_set</STRONG>,
+ <STRONG>mvwhline_set</STRONG>, <STRONG>vline_set</STRONG>, <STRONG>wvline_set</STRONG>, <STRONG>mvvline_set</STRONG>, <STRONG>mvwvline_set</STRONG> - create
+ <STRONG>curses</STRONG> borders or lines using complex characters and renditions
-</PRE>
-<H2>SYNOPSIS</H2><PRE>
+</PRE><H2><a name="h2-SYNOPSIS">SYNOPSIS</a></H2><PRE>
<STRONG>#include</STRONG> <STRONG>&lt;curses.h&gt;</STRONG>
<STRONG>int</STRONG> <STRONG>border_set(</STRONG>
@@ -98,15 +95,13 @@
<STRONG>const</STRONG> <STRONG>cchar_t</STRONG> <STRONG>*</STRONG><EM>wch</EM>, <STRONG>int</STRONG> <EM>n</EM><STRONG>);</STRONG>
-</PRE>
-<H2>DESCRIPTION</H2><PRE>
- The <STRONG>border_set</STRONG> and <STRONG>wborder_set</STRONG> functions draw a border
- around the edges of the current or specified window.
- These functions do not change the cursor position, and do
- not wrap.
-
- Other than the window, each argument is a complex charac-
- ter with attributes:
+</PRE><H2><a name="h2-DESCRIPTION">DESCRIPTION</a></H2><PRE>
+ The <STRONG>border_set</STRONG> and <STRONG>wborder_set</STRONG> functions draw a border around the edges
+ of the current or specified window. These functions do not change the
+ cursor position, and do not wrap.
+
+ Other than the window, each argument is a complex character with at-
+ tributes:
<EM>ls</EM> - left side,
<EM>rs</EM> - right side,
<EM>ts</EM> - top side,
@@ -116,8 +111,8 @@
<EM>bl</EM> - bottom left-hand corner, and
<EM>br</EM> - bottom right-hand corner.
- If any of these arguments is zero, then the corresponding
- default values (defined in <STRONG>curses.h</STRONG>) are used instead:
+ If any of these arguments is zero, then the corresponding default val-
+ ues (defined in <STRONG>curses.h</STRONG>) are used instead:
<STRONG>WACS_VLINE</STRONG>,
<STRONG>WACS_VLINE</STRONG>,
<STRONG>WACS_HLINE</STRONG>,
@@ -127,58 +122,55 @@
<STRONG>WACS_LLCORNER</STRONG>, and
<STRONG>WACS_LRCORNER</STRONG>.
- <STRONG>box_set(</STRONG><EM>win</EM>, <EM>verch</EM><STRONG>,</STRONG> <EM>horch</EM><STRONG>);</STRONG> is a shorthand for the follow-
- ing call:
+ <STRONG>box_set(</STRONG><EM>win</EM>, <EM>verch</EM><STRONG>,</STRONG> <EM>horch</EM><STRONG>);</STRONG> is a shorthand for the following call:
<STRONG>wborder_set(</STRONG><EM>win</EM><STRONG>,</STRONG> <EM>verch</EM><STRONG>,</STRONG> <EM>verch</EM><STRONG>,</STRONG>
<EM>horch</EM><STRONG>,</STRONG> <EM>horch</EM><STRONG>,</STRONG> <STRONG>NULL,</STRONG> <STRONG>NULL,</STRONG> <STRONG>NULL,</STRONG> <STRONG>NULL);</STRONG>
- The <STRONG>*line_set</STRONG> functions use <EM>wch</EM> to draw a line starting at
- the current cursor position in the window. The line is at
- most <EM>n</EM> characters long or as many as fit into the window.
- The current cursor position is not changed.
+ The <STRONG>*line_set</STRONG> functions use <EM>wch</EM> to draw a line starting at the current
+ cursor position in the window. The line is at most <EM>n</EM> characters long
+ or as many as fit into the window. The current cursor position is not
+ changed.
- The <STRONG>hline_set</STRONG>, <STRONG>mvhline_set</STRONG>, <STRONG>mvwhline_set</STRONG>, and <STRONG>whline_set</STRONG>
- functions draw a line proceeding toward the last column of
- the same line.
+ The <STRONG>hline_set</STRONG>, <STRONG>mvhline_set</STRONG>, <STRONG>mvwhline_set</STRONG>, and <STRONG>whline_set</STRONG> functions draw
+ a line proceeding toward the last column of the same line.
- The <STRONG>vline_set</STRONG>, <STRONG>mvvline_set</STRONG>, <STRONG>mvwvline_set</STRONG>, and <STRONG>wvline_set</STRONG>
- functions draw a line proceeding toward the last line of
- the window.
+ The <STRONG>vline_set</STRONG>, <STRONG>mvvline_set</STRONG>, <STRONG>mvwvline_set</STRONG>, and <STRONG>wvline_set</STRONG> functions draw
+ a line proceeding toward the last line of the window.
-</PRE>
-<H2>NOTES</H2><PRE>
- Note that <STRONG>border_set</STRONG>, <STRONG>hline_set</STRONG>, <STRONG>mvhline_set</STRONG>, <STRONG>mvvline_set</STRONG>,
- <STRONG>mvwhline_set</STRONG>, <STRONG>mvwvline_set</STRONG>, and <STRONG>vline_set</STRONG> may be macros.
+</PRE><H2><a name="h2-NOTES">NOTES</a></H2><PRE>
+ Note that <STRONG>border_set</STRONG>, <STRONG>hline_set</STRONG>, <STRONG>mvhline_set</STRONG>, <STRONG>mvvline_set</STRONG>, <STRONG>mvwh-</STRONG>
+ <STRONG>line_set</STRONG>, <STRONG>mvwvline_set</STRONG>, and <STRONG>vline_set</STRONG> may be macros.
-</PRE>
-<H2>RETURN VALUE</H2><PRE>
- Upon successful completion, these functions return <STRONG>OK</STRONG>.
- Otherwise, they return <STRONG>ERR</STRONG>.
+</PRE><H2><a name="h2-RETURN-VALUE">RETURN VALUE</a></H2><PRE>
+ Upon successful completion, these functions return <STRONG>OK</STRONG>. Otherwise, they
+ return <STRONG>ERR</STRONG>.
- Functions using a window parameter return an error if it
- is null.
+ Functions using a window parameter return an error if it is null.
- Functions with a "mv" prefix first perform a cursor move-
- ment using <STRONG>wmove</STRONG>, and return an error if the position is
- outside the window, or if the window pointer is null.
+ Functions with a "mv" prefix first perform 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.
-</PRE>
-<H2>SEE ALSO</H2><PRE>
- <STRONG><A HREF="ncurses.3x.html">ncurses(3x)</A></STRONG>, <STRONG><A HREF="curs_add_wch.3x.html">curs_add_wch(3x)</A></STRONG>, <STRONG><A HREF="curs_border.3x.html">curs_border(3x)</A></STRONG>, <STRONG>curs_out-</STRONG>
- <STRONG><A HREF="curs_outopts.3x.html">opts(3x)</A></STRONG>
+</PRE><H2><a name="h2-SEE-ALSO">SEE ALSO</a></H2><PRE>
+ <STRONG><A HREF="ncurses.3x.html">ncurses(3x)</A></STRONG>, <STRONG><A HREF="curs_add_wch.3x.html">curs_add_wch(3x)</A></STRONG>, <STRONG><A HREF="curs_border.3x.html">curs_border(3x)</A></STRONG>, <STRONG><A HREF="curs_outopts.3x.html">curs_outopts(3x)</A></STRONG>
- <STRONG><A HREF="curs_border_set.3x.html">curs_border_set(3x)</A></STRONG>
+ <STRONG><A HREF="curs_border_set.3x.html">curs_border_set(3x)</A></STRONG>
</PRE>
-<HR>
-<ADDRESS>
-Man(1) output converted with
-<a href="http://www.oac.uci.edu/indiv/ehood/man2html.html">man2html</a>
-</ADDRESS>
+<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>
+<li><a href="#h2-NOTES">NOTES</a></li>
+<li><a href="#h2-RETURN-VALUE">RETURN VALUE</a></li>
+<li><a href="#h2-SEE-ALSO">SEE ALSO</a></li>
+</ul>
+</div>
</BODY>
</HTML>
diff --git a/doc/html/man/curs_clear.3x.html b/doc/html/man/curs_clear.3x.html
index 39f9ad929d9e..c760c1f03875 100644
--- a/doc/html/man/curs_clear.3x.html
+++ b/doc/html/man/curs_clear.3x.html
@@ -1,7 +1,6 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN">
<!--
****************************************************************************
- * Copyright (c) 1998-2007,2010 Free Software Foundation, Inc. *
+ * Copyright (c) 1998-2016,2018 Free Software Foundation, Inc. *
* *
* Permission is hereby granted, free of charge, to any person obtaining a *
* copy of this software and associated documentation files (the *
@@ -27,32 +26,31 @@
* sale, use or other dealings in this Software without prior written *
* authorization. *
****************************************************************************
- * @Id: curs_clear.3x,v 1.14 2010/12/04 18:36:44 tom Exp @
+ * @Id: curs_clear.3x,v 1.16 2018/07/28 21:34:06 tom Exp @
-->
+<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN">
<HTML>
<HEAD>
+<meta http-equiv="Content-Type" content="text/html; charset=us-ascii">
+<meta name="generator" content="Manpage converted by man2html - see https://invisible-island.net/scripts/readme.html#others_scripts">
<TITLE>curs_clear 3x</TITLE>
-<link rev=made href="mailto:bug-ncurses@gnu.org">
+<link rel="author" href="mailto:bug-ncurses@gnu.org">
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
</HEAD>
<BODY>
-<H1>curs_clear 3x</H1>
-<HR>
+<H1 class="no-header">curs_clear 3x</H1>
<PRE>
-<!-- Manpage converted by man2html 3.0.1 -->
-<STRONG><A HREF="curs_clear.3x.html">curs_clear(3x)</A></STRONG> <STRONG><A HREF="curs_clear.3x.html">curs_clear(3x)</A></STRONG>
+<STRONG><A HREF="curs_clear.3x.html">curs_clear(3x)</A></STRONG> <STRONG><A HREF="curs_clear.3x.html">curs_clear(3x)</A></STRONG>
-</PRE>
-<H2>NAME</H2><PRE>
- <STRONG>erase</STRONG>, <STRONG>werase</STRONG>, <STRONG>clear</STRONG>, <STRONG>wclear</STRONG>, <STRONG>clrtobot</STRONG>, <STRONG>wclrtobot</STRONG>,
- <STRONG>clrtoeol</STRONG>, <STRONG>wclrtoeol</STRONG> - clear all or part of a <STRONG>curses</STRONG> window
+</PRE><H2><a name="h2-NAME">NAME</a></H2><PRE>
+ <STRONG>erase</STRONG>, <STRONG>werase</STRONG>, <STRONG>clear</STRONG>, <STRONG>wclear</STRONG>, <STRONG>clrtobot</STRONG>, <STRONG>wclrtobot</STRONG>, <STRONG>clrtoeol</STRONG>, <STRONG>wclrtoeol</STRONG>
+ - clear all or part of a <STRONG>curses</STRONG> window
-</PRE>
-<H2>SYNOPSIS</H2><PRE>
+</PRE><H2><a name="h2-SYNOPSIS">SYNOPSIS</a></H2><PRE>
<STRONG>#</STRONG> <STRONG>include</STRONG> <STRONG>&lt;curses.h&gt;</STRONG>
<STRONG>int</STRONG> <STRONG>erase(void);</STRONG>
@@ -65,82 +63,76 @@
<STRONG>int</STRONG> <STRONG>wclrtoeol(WINDOW</STRONG> <STRONG>*win);</STRONG>
-</PRE>
-<H2>DESCRIPTION</H2><PRE>
- The <STRONG>erase</STRONG> and <STRONG>werase</STRONG> routines copy blanks to every posi-
- tion in the window, clearing the screen.
+</PRE><H2><a name="h2-DESCRIPTION">DESCRIPTION</a></H2><PRE>
+ The <STRONG>erase</STRONG> and <STRONG>werase</STRONG> routines copy blanks to every position in the win-
+ dow, clearing the screen.
- The <STRONG>clear</STRONG> and <STRONG>wclear</STRONG> routines are like <STRONG>erase</STRONG> and <STRONG>werase</STRONG>,
- but they also call <STRONG>clearok</STRONG>, so that the screen is cleared
- completely on the next call to <STRONG>wrefresh</STRONG> for that window
- and repainted from scratch.
+ The <STRONG>clear</STRONG> and <STRONG>wclear</STRONG> routines are like <STRONG>erase</STRONG> and <STRONG>werase</STRONG>, but they also
+ call <STRONG>clearok</STRONG>, so that the screen is cleared completely on the next call
+ to <STRONG>wrefresh</STRONG> for that window and repainted from scratch.
- The <STRONG>clrtobot</STRONG> and <STRONG>wclrtobot</STRONG> routines erase from the cursor
- to the end of screen. That is, they erase all lines below
- the cursor in the window. Also, the current line to the
- right of the cursor, inclusive, is erased.
+ The <STRONG>clrtobot</STRONG> and <STRONG>wclrtobot</STRONG> routines erase from the cursor to the end of
+ screen. That is, they erase all lines below the cursor in the window.
+ Also, the current line to the right of the cursor, inclusive, is
+ erased.
- The <STRONG>clrtoeol</STRONG> and <STRONG>wclrtoeol</STRONG> routines erase the current line
- to the right of the cursor, inclusive, to the end of the
- current line.
+ The <STRONG>clrtoeol</STRONG> and <STRONG>wclrtoeol</STRONG> routines erase the current line to the right
+ of the cursor, inclusive, to the end of the current line.
- Blanks created by erasure have the current background ren-
- dition (as set by <STRONG>wbkgdset</STRONG>) merged into them.
+ Blanks created by erasure have the current background rendition (as set
+ by <STRONG>wbkgdset</STRONG>) merged into them.
-</PRE>
-<H2>RETURN VALUE</H2><PRE>
- All routines return the integer <STRONG>OK</STRONG> on success and <STRONG>ERR</STRONG> on
- failure. The SVr4.0 manual says "or a non-negative inte-
- ger if <STRONG>immedok</STRONG> is set", but this appears to be an error.
+</PRE><H2><a name="h2-RETURN-VALUE">RETURN VALUE</a></H2><PRE>
+ All routines return the integer <STRONG>OK</STRONG> on success and <STRONG>ERR</STRONG> on failure. The
+ SVr4.0 manual says "or a non-negative integer if <STRONG>immedok</STRONG> is set", but
+ this appears to be an error.
- X/Open defines no error conditions. In this implementa-
- tion, functions using a window pointer parameter return an
- error if it is null.
+ X/Open defines no error conditions. In this implementation, functions
+ using a window pointer parameter return an error if it is null.
-</PRE>
-<H2>NOTES</H2><PRE>
- Note that <STRONG>erase</STRONG>, <STRONG>werase</STRONG>, <STRONG>clear</STRONG>, <STRONG>wclear</STRONG>, <STRONG>clrtobot</STRONG>, and <STRONG>clr-</STRONG>
- <STRONG>toeol</STRONG> may be macros.
+</PRE><H2><a name="h2-NOTES">NOTES</a></H2><PRE>
+ Note that <STRONG>erase</STRONG>, <STRONG>werase</STRONG>, <STRONG>clear</STRONG>, <STRONG>wclear</STRONG>, <STRONG>clrtobot</STRONG>, and <STRONG>clrtoeol</STRONG> may be
+ macros.
-</PRE>
-<H2>PORTABILITY</H2><PRE>
- These functions are described in the XSI Curses standard,
- Issue 4. The standard specifies that they return <STRONG>ERR</STRONG> on
- failure, but specifies no error conditions.
+</PRE><H2><a name="h2-PORTABILITY">PORTABILITY</a></H2><PRE>
+ These functions are described in the XSI Curses standard, Issue 4. The
+ standard specifies that they return <STRONG>ERR</STRONG> on failure, but specifies no
+ error conditions.
- Some historic curses implementations had, as an undocu-
- mented feature, the ability to do the equivalent of
- <STRONG>clearok(...,</STRONG> <STRONG>1)</STRONG> by saying <STRONG>touchwin(stdscr)</STRONG> or <STRONG>clear(std-</STRONG>
- <STRONG>scr)</STRONG>. This will not work under ncurses.
+ Some historic curses implementations had, as an undocumented feature,
+ the ability to do the equivalent of <STRONG>clearok(...,</STRONG> <STRONG>1)</STRONG> by saying <STRONG>touch-</STRONG>
+ <STRONG>win(stdscr)</STRONG> or <STRONG>clear(stdscr)</STRONG>. This will not work under ncurses.
- This implementation, and others such as Solaris, sets the
- current position to 0,0 after erasing via <STRONG>werase()</STRONG> and
- <STRONG>wclear()</STRONG>. That fact is not documented in other implemen-
- tations, and may not be true of implementations which were
- not derived from SVr4 source.
+ This implementation, and others such as Solaris, sets the current posi-
+ tion to 0,0 after erasing via <STRONG>werase</STRONG> and <STRONG>wclear</STRONG>. That fact is not doc-
+ umented in other implementations, and may not be true of implementa-
+ tions which were not derived from SVr4 source.
- Not obvious from the description, most implementations
- clear the screen after <STRONG>wclear</STRONG> even for a subwindow or de-
- rived window. If you do not want to clear the screen dur-
- ing the next <STRONG>wrefresh</STRONG>, use <STRONG>werase</STRONG> instead.
+ Not obvious from the description, most implementations clear the screen
+ after <STRONG>wclear</STRONG> even for a subwindow or derived window. If you do not
+ want to clear the screen during the next <STRONG>wrefresh</STRONG>, use <STRONG>werase</STRONG> instead.
-</PRE>
-<H2>SEE ALSO</H2><PRE>
- <STRONG><A HREF="ncurses.3x.html">curses(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>curs_vari-</STRONG>
- <STRONG><A HREF="curs_variables.3x.html">ables(3x)</A></STRONG>
+</PRE><H2><a name="h2-SEE-ALSO">SEE ALSO</a></H2><PRE>
+ <STRONG><A HREF="ncurses.3x.html">curses(3x)</A></STRONG>, <STRONG><A HREF="curs_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="curs_clear.3x.html">curs_clear(3x)</A></STRONG>
+ <STRONG><A HREF="curs_clear.3x.html">curs_clear(3x)</A></STRONG>
</PRE>
-<HR>
-<ADDRESS>
-Man(1) output converted with
-<a href="http://www.oac.uci.edu/indiv/ehood/man2html.html">man2html</a>
-</ADDRESS>
+<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>
+<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-SEE-ALSO">SEE ALSO</a></li>
+</ul>
+</div>
</BODY>
</HTML>
diff --git a/doc/html/man/curs_color.3x.html b/doc/html/man/curs_color.3x.html
index 4ebe0da04f4d..ecf9dde89f57 100644
--- a/doc/html/man/curs_color.3x.html
+++ b/doc/html/man/curs_color.3x.html
@@ -1,7 +1,6 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN">
<!--
****************************************************************************
- * Copyright (c) 1998-2009,2010 Free Software Foundation, Inc. *
+ * Copyright (c) 1998-2018,2019 Free Software Foundation, Inc. *
* *
* Permission is hereby granted, free of charge, to any person obtaining a *
* copy of this software and associated documentation files (the *
@@ -27,155 +26,126 @@
* sale, use or other dealings in this Software without prior written *
* authorization. *
****************************************************************************
- * @Id: curs_color.3x,v 1.35 2010/12/20 00:50:58 tom Exp @
+ * @Id: curs_color.3x,v 1.61 2019/01/20 17:04: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_color 3x</TITLE>
-<link rev=made href="mailto:bug-ncurses@gnu.org">
+<link rel="author" href="mailto:bug-ncurses@gnu.org">
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
</HEAD>
<BODY>
-<H1>curs_color 3x</H1>
-<HR>
+<H1 class="no-header">curs_color 3x</H1>
<PRE>
-<!-- Manpage converted by man2html 3.0.1 -->
-<STRONG><A HREF="curs_color.3x.html">curs_color(3x)</A></STRONG> <STRONG><A HREF="curs_color.3x.html">curs_color(3x)</A></STRONG>
+<STRONG><A HREF="curs_color.3x.html">curs_color(3x)</A></STRONG> <STRONG><A HREF="curs_color.3x.html">curs_color(3x)</A></STRONG>
-</PRE>
-<H2>NAME</H2><PRE>
- <STRONG>start_color</STRONG>, <STRONG>init_pair</STRONG>, <STRONG>init_color</STRONG>, <STRONG>has_colors</STRONG>,
- <STRONG>can_change_color</STRONG>, <STRONG>color_content</STRONG>, <STRONG>pair_content</STRONG>, <STRONG>COLOR_PAIR</STRONG>
- - <STRONG>curses</STRONG> color manipulation routines
+</PRE><H2><a name="h2-NAME">NAME</a></H2><PRE>
+ <STRONG>start_color</STRONG>, <STRONG>has_colors</STRONG>, <STRONG>can_change_color</STRONG>, <STRONG>init_pair</STRONG>, <STRONG>init_color</STRONG>,
+ <STRONG>init_extended_pair</STRONG>, <STRONG>init_extended_color</STRONG>, <STRONG>color_content</STRONG>, <STRONG>pair_content</STRONG>,
+ <STRONG>extended_color_content</STRONG>, <STRONG>extended_pair_content</STRONG>, <STRONG>reset_color_pairs</STRONG>,
+ <STRONG>COLOR_PAIR</STRONG>, <STRONG>PAIR_NUMBER</STRONG> - <STRONG>curses</STRONG> color manipulation routines
-</PRE>
-<H2>SYNOPSIS</H2><PRE>
- <STRONG>#</STRONG> <STRONG>include</STRONG> <STRONG>&lt;curses.h&gt;</STRONG>
+</PRE><H2><a name="h2-SYNOPSIS">SYNOPSIS</a></H2><PRE>
+ <STRONG>#include</STRONG> <STRONG>&lt;curses.h&gt;</STRONG>
<STRONG>int</STRONG> <STRONG>start_color(void);</STRONG>
- <STRONG>int</STRONG> <STRONG>init_pair(short</STRONG> <STRONG>pair,</STRONG> <STRONG>short</STRONG> <STRONG>f,</STRONG> <STRONG>short</STRONG> <STRONG>b);</STRONG>
- <STRONG>int</STRONG> <STRONG>init_color(short</STRONG> <STRONG>color,</STRONG> <STRONG>short</STRONG> <STRONG>r,</STRONG> <STRONG>short</STRONG> <STRONG>g,</STRONG> <STRONG>short</STRONG> <STRONG>b);</STRONG>
+
<STRONG>bool</STRONG> <STRONG>has_colors(void);</STRONG>
<STRONG>bool</STRONG> <STRONG>can_change_color(void);</STRONG>
- <STRONG>int</STRONG> <STRONG>color_content(short</STRONG> <STRONG>color,</STRONG> <STRONG>short</STRONG> <STRONG>*r,</STRONG> <STRONG>short</STRONG> <STRONG>*g,</STRONG> <STRONG>short</STRONG>
- <STRONG>*b);</STRONG>
+
+ <STRONG>int</STRONG> <STRONG>init_pair(short</STRONG> <STRONG>pair,</STRONG> <STRONG>short</STRONG> <STRONG>f,</STRONG> <STRONG>short</STRONG> <STRONG>b);</STRONG>
+ <STRONG>int</STRONG> <STRONG>init_color(short</STRONG> <STRONG>color,</STRONG> <STRONG>short</STRONG> <STRONG>r,</STRONG> <STRONG>short</STRONG> <STRONG>g,</STRONG> <STRONG>short</STRONG> <STRONG>b);</STRONG>
+ /* extensions */
+ <STRONG>int</STRONG> <STRONG>init_extended_pair(int</STRONG> <STRONG>pair,</STRONG> <STRONG>int</STRONG> <STRONG>f,</STRONG> <STRONG>int</STRONG> <STRONG>b);</STRONG>
+ <STRONG>int</STRONG> <STRONG>init_extended_color(int</STRONG> <STRONG>color,</STRONG> <STRONG>int</STRONG> <STRONG>r,</STRONG> <STRONG>int</STRONG> <STRONG>g,</STRONG> <STRONG>int</STRONG> <STRONG>b);</STRONG>
+
+ <STRONG>int</STRONG> <STRONG>color_content(short</STRONG> <STRONG>color,</STRONG> <STRONG>short</STRONG> <STRONG>*r,</STRONG> <STRONG>short</STRONG> <STRONG>*g,</STRONG> <STRONG>short</STRONG> <STRONG>*b);</STRONG>
<STRONG>int</STRONG> <STRONG>pair_content(short</STRONG> <STRONG>pair,</STRONG> <STRONG>short</STRONG> <STRONG>*f,</STRONG> <STRONG>short</STRONG> <STRONG>*b);</STRONG>
+ /* extensions */
+ <STRONG>int</STRONG> <STRONG>extended_color_content(int</STRONG> <STRONG>color,</STRONG> <STRONG>int</STRONG> <STRONG>*r,</STRONG> <STRONG>int</STRONG> <STRONG>*g,</STRONG> <STRONG>int</STRONG> <STRONG>*b);</STRONG>
+ <STRONG>int</STRONG> <STRONG>extended_pair_content(int</STRONG> <STRONG>pair,</STRONG> <STRONG>int</STRONG> <STRONG>*f,</STRONG> <STRONG>int</STRONG> <STRONG>*b);</STRONG>
+ /* extensions */
+ <STRONG>void</STRONG> <STRONG>reset_color_pairs(void);</STRONG>
-</PRE>
-<H2>DESCRIPTION</H2><PRE>
- <STRONG>Overview</STRONG>
- <STRONG>curses</STRONG> support color attributes on terminals with that ca-
- pability. 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 charac-
- ters are displayed). A programmer initializes a color-
- pair with the routine <STRONG>init_pair</STRONG>. After it has been ini-
- tialized, <STRONG>COLOR_PAIR</STRONG>(<EM>n</EM>), a macro defined in <STRONG>&lt;curses.h&gt;</STRONG>,
- can be used as a new video attribute.
-
- If a terminal is capable of redefining colors, the pro-
- grammer can use the routine <STRONG>init_color</STRONG> to change the defi-
- nition 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>col-</STRONG>
- <STRONG>or_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.
-
- <STRONG>Routine</STRONG> <STRONG>Descriptions</STRONG>
- The <STRONG>start_color</STRONG> routine requires no arguments. It must be
- called if the programmer wants to use colors, and before
- any other color manipulation routine is called. It is
- good practice to call this routine right after <STRONG>initscr</STRONG>.
- <STRONG>start_color</STRONG> initializes eight basic colors (black, red,
- green, yellow, blue, magenta, cyan, and white), and two
- global variables, <STRONG>COLORS</STRONG> and <STRONG>COLOR_PAIRS</STRONG> (respectively
- defining the maximum number of colors and color-pairs the
- terminal can support). It also restores the colors on the
- terminal to the values they had when the terminal was just
- turned on.
-
- The <STRONG>init_pair</STRONG> routine changes the definition of a color-
- pair. It takes three arguments: the number of the color-
- pair to be changed, the foreground color number, and the
- background color number. For portable applications:
-
- <STRONG>o</STRONG> The value of the first argument must be between <STRONG>1</STRONG> and
- <STRONG>COLOR_PAIRS-1</STRONG>, except that if default colors are used
- (see <STRONG>use_default_colors</STRONG>) the upper limit is adjusted
- to allow for extra pairs which use a default color in
- foreground and/or background.
-
- <STRONG>o</STRONG> The value of the second and third arguments must be
- between 0 and <STRONG>COLORS</STRONG>. Color pair 0 is assumed to be
- white on black, but is actually whatever the terminal
- implements before color is initialized. It cannot be
- modified by the application.
-
- If the color-pair was previously initialized, the screen
- is refreshed and all occurrences of that color-pair are
- changed to the new definition.
-
- As an extension, ncurses allows you to set color pair 0
- via the <STRONG>assume_default_colors</STRONG> routine, or to specify the
- use of default colors (color number <STRONG>-1</STRONG>) if you first in-
- voke the <STRONG>use_default_colors</STRONG> routine.
-
- The <STRONG>init_color</STRONG> routine changes the definition of a color.
- It takes four arguments: the number of the color to be
- changed followed by three RGB values (for the amounts of
- red, green, and blue components). The value of the first
- argument must be between <STRONG>0</STRONG> and <STRONG>COLORS</STRONG>. (See the section
- <STRONG>Colors</STRONG> for the default color index.) Each of the last
- three arguments must be a value between 0 and 1000. When
- <STRONG>init_color</STRONG> is used, all occurrences of that color on the
- screen immediately change to the new definition.
-
- The <STRONG>has_colors</STRONG> routine requires no arguments. It returns
- <STRONG>TRUE</STRONG> if the terminal can manipulate colors; otherwise, it
- returns <STRONG>FALSE</STRONG>. This routine facilitates writing terminal-
- independent programs. For example, a programmer can use
- it to decide whether to use color or some other video at-
- tribute.
-
- The <STRONG>can_change_color</STRONG> routine requires no arguments. It
- returns <STRONG>TRUE</STRONG> if the terminal supports colors and can
- change their definitions; other, it returns <STRONG>FALSE</STRONG>. This
- routine facilitates writing terminal-independent programs.
-
- The <STRONG>color_content</STRONG> routine gives programmers a way to find
- the intensity of the red, green, and blue (RGB) components
- in a color. It requires four arguments: the color number,
- and three addresses of <STRONG>short</STRONG>s for storing the information
- about the amounts of red, green, and blue components in
- the given color. The value of the first argument must be
- between 0 and <STRONG>COLORS</STRONG>. The values that are stored at the
- addresses pointed to by the last three arguments are be-
- tween 0 (no component) and 1000 (maximum amount of compo-
- nent).
-
- The <STRONG>pair_content</STRONG> routine allows programmers to find out
- what colors a given color-pair consists of. It requires
- three arguments: the color-pair number, and two addresses
- of <STRONG>short</STRONG>s for storing the foreground and the background
- color numbers. The value of the first argument must be
- between 1 and <STRONG>COLOR_PAIRS-1</STRONG>. The values that are stored
- at the addresses pointed to by the second and third argu-
- ments are between 0 and <STRONG>COLORS</STRONG>.
-
- <STRONG>Colors</STRONG>
- In <STRONG>&lt;curses.h&gt;</STRONG> the following macros are defined. These are
- the default colors. <STRONG>curses</STRONG> also assumes that <STRONG>COLOR_BLACK</STRONG>
- is the default background color for all terminals.
+ <STRONG>int</STRONG> <STRONG>COLOR_PAIR(int</STRONG> <STRONG>n);</STRONG>
+ <STRONG>PAIR_NUMBER(</STRONG><EM>attrs</EM><STRONG>);</STRONG>
+
+
+</PRE><H2><a name="h2-DESCRIPTION">DESCRIPTION</a></H2><PRE>
+
+</PRE><H3><a name="h3-Overview">Overview</a></H3><PRE>
+ <STRONG>curses</STRONG> 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 dis-
+ played). 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 rou-
+ tines <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 program-
+ mer can change the colors. The routine <STRONG>color_content</STRONG> allows a program-
+ mer 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.
+
+
+</PRE><H3><a name="h3-Color-Rendering">Color Rendering</a></H3><PRE>
+ The <STRONG>curses</STRONG> library combines these inputs to produce the actual fore-
+ ground and background colors shown on the screen:
+
+ <STRONG>o</STRONG> per-character video attributes (e.g., via <STRONG>waddch</STRONG>),
+
+ <STRONG>o</STRONG> the window attribute (e.g., by <STRONG>wattrset</STRONG>), and
+
+ <STRONG>o</STRONG> the background character (e.g., <STRONG>wbkgdset</STRONG>).
+
+ Per-character and window attributes are usually set by a parameter con-
+ taining video attributes including a color pair value. Some functions
+ such as <STRONG>wattr_set</STRONG> use a separate parameter which is the color pair num-
+ ber.
+
+ The background character is a special case: it includes a character
+ value, just as if it were passed to <STRONG>waddch</STRONG>.
+
+ The <STRONG>curses</STRONG> 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
+ color pair 0,
+
+ <STRONG>o</STRONG> <STRONG>curses</STRONG> next checks the window attribute.
+
+ <STRONG>o</STRONG> If the window attribute does not use color pair 0, <STRONG>curses</STRONG> uses
+ the color pair from the window attribute.
+
+ <STRONG>o</STRONG> Otherwise, <STRONG>curses</STRONG> 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, <STRONG>curses</STRONG> prefers the color pair from the
+ parameter, if it is nonzero. Otherwise, it tries the window at-
+ tribute next, and finally the background character.
+
+ Some <STRONG>curses</STRONG> functions such as <STRONG>wprintw</STRONG> call <STRONG>waddch</STRONG>. Those do not com-
+ bine its parameter with a color pair. Consequently those calls use on-
+ ly the window attribute or the background character.
+
+
+</PRE><H2><a name="h2-CONSTANTS">CONSTANTS</a></H2><PRE>
+ In <STRONG>&lt;curses.h&gt;</STRONG> the following macros are defined. These are the standard
+ colors (ISO-6429). <STRONG>curses</STRONG> also assumes that <STRONG>COLOR_BLACK</STRONG> is the default
+ background color for all terminals.
<STRONG>COLOR_BLACK</STRONG>
<STRONG>COLOR_RED</STRONG>
@@ -186,100 +156,363 @@
<STRONG>COLOR_CYAN</STRONG>
<STRONG>COLOR_WHITE</STRONG>
+ Some terminals support more than the eight (8) "ANSI" colors. There
+ are no standard names for those additional colors.
-</PRE>
-<H2>RETURN VALUE</H2><PRE>
- The routines <STRONG>can_change_color()</STRONG> and <STRONG>has_colors()</STRONG> return
- <STRONG>TRUE</STRONG> or <STRONG>FALSE</STRONG>.
-
- All other 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.
-
- X/Open defines no error conditions. This implementation
- will return <STRONG>ERR</STRONG> on attempts to use color values outside
- the range 0 to COLORS-1 (except for the default colors ex-
- tension), or use color pairs outside the range 0 to COL-
- OR_PAIRS-1. Color values used in <STRONG>init_color</STRONG> must be in
- the range 0 to 1000. An error is returned from all func-
- tions if the terminal has not been initialized. An error
- is returned from secondary functions such as <STRONG>init_pair</STRONG> if
- <STRONG>start_color</STRONG> was not called.
+
+</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 ter-
+ minal 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.
+
+
+</PRE><H2><a name="h2-FUNCTIONS">FUNCTIONS</a></H2><PRE>
+
+</PRE><H3><a name="h3-start_color">start_color</a></H3><PRE>
+ The <STRONG>start_color</STRONG> routine requires no arguments. It must be called if
+ the programmer wants to use colors, and before any other color manipu-
+ lation routine is called. It is good practice to call this routine
+ right after <STRONG>initscr</STRONG>. <STRONG>start_color</STRONG> does this:
+
+ <STRONG>o</STRONG> It initializes two global variables, <STRONG>COLORS</STRONG> and <STRONG>COLOR_PAIRS</STRONG> (re-
+ spectively defining the maximum number of colors and color-pairs
+ the terminal can support).
+
+ <STRONG>o</STRONG> It initializes the special color pair <STRONG>0</STRONG> to the default foreground
+ and background colors. No other color pairs are initialized.
+
+ <STRONG>o</STRONG> It restores the colors on the terminal to the values they had when
+ the terminal was just turned on.
+
+ <STRONG>o</STRONG> If the terminal supports the <STRONG>initc</STRONG> (<STRONG>initialize_color</STRONG>) capability,
+ <STRONG>start_color</STRONG> initializes its internal table representing the red,
+ green, and blue components of the color palette.
+
+ The components depend on whether the terminal uses CGA (aka "ANSI")
+ or HLS (i.e., the <STRONG>hls</STRONG> (<STRONG>hue_lightness_saturation</STRONG>) capability is
+ set). The table is initialized first for eight basic colors
+ (black, red, green, yellow, blue, magenta, cyan, and white), using
+ weights that depend upon the CGA/HLS choice. For "ANSI" colors the
+ weights are <STRONG>680</STRONG> or <STRONG>0</STRONG> depending on whether the corresponding red,
+ green, or blue component is used or not. That permits using <STRONG>1000</STRONG>
+ to represent bold/bright colors. After the initial eight colors
+ (if the terminal supports more than eight colors) the components
+ are initialized using the same pattern, but with weights of <STRONG>1000</STRONG>.
+ SVr4 uses a similar scheme, but uses <STRONG>1000</STRONG> for the components of the
+ initial eight colors.
+
+ <STRONG>start_color</STRONG> does not attempt to set the terminal's color palette to
+ match its built-in table. An application may use <STRONG>init_color</STRONG> to al-
+ ter the internal table along with the terminal's color.
+
+ These limits apply to color values and color pairs. Values outside
+ these limits are not legal, and may result in a runtime error:
+
+ <STRONG>o</STRONG> <STRONG>COLORS</STRONG> corresponds to the terminal database's <STRONG>max_colors</STRONG> capabili-
+ ty, (see <STRONG><A HREF="terminfo.5.html">terminfo(5)</A></STRONG>).
+
+ <STRONG>o</STRONG> color values are expected to be in the range <STRONG>0</STRONG> to <STRONG>COLORS-1</STRONG>, inclu-
+ sive (including <STRONG>0</STRONG> and <STRONG>COLORS-1</STRONG>).
+
+ <STRONG>o</STRONG> a special color value <STRONG>-1</STRONG> is used in certain extended functions to
+ denote the <EM>default</EM> <EM>color</EM> (see <STRONG><A HREF="default_colors.3x.html">use_default_colors(3x)</A></STRONG>).
+
+ <STRONG>o</STRONG> <STRONG>COLOR_PAIRS</STRONG> corresponds to the terminal database's <STRONG>max_pairs</STRONG> capa-
+ bility, (see <STRONG><A HREF="terminfo.5.html">terminfo(5)</A></STRONG>).
+
+ <STRONG>o</STRONG> legal color pair values are in the range <STRONG>1</STRONG> to <STRONG>COLOR_PAIRS-1</STRONG>, inclu-
+ sive.
+
+ <STRONG>o</STRONG> color pair <STRONG>0</STRONG> is special; it denotes "no color".
+
+ Color pair <STRONG>0</STRONG> is assumed to be white on black, but is actually what-
+ ever the terminal implements before color is initialized. It can-
+ not be modified by the application.
+
+
+</PRE><H3><a name="h3-has_colors">has_colors</a></H3><PRE>
+ The <STRONG>has_colors</STRONG> routine requires no arguments. It returns <STRONG>TRUE</STRONG> if the
+ terminal can manipulate colors; otherwise, it returns <STRONG>FALSE</STRONG>. This rou-
+ tine facilitates writing terminal-independent programs. For example, a
+ programmer can use it to decide whether to use color or some other
+ video attribute.
+
+
+</PRE><H3><a name="h3-can_change_color">can_change_color</a></H3><PRE>
+ The <STRONG>can_change_color</STRONG> routine requires no arguments. It returns <STRONG>TRUE</STRONG> if
+ the terminal supports colors and can change their definitions; other,
+ it returns <STRONG>FALSE</STRONG>. This routine facilitates writing terminal-indepen-
+ dent programs.
+
+
+</PRE><H3><a name="h3-init_pair">init_pair</a></H3><PRE>
+ The <STRONG>init_pair</STRONG> routine changes the definition of a color-pair. It takes
+ three arguments: the number of the color-pair to be changed, the fore-
+ ground color number, and the background color number. For portable ap-
+ plications:
+
+ <STRONG>o</STRONG> The first argument must be a legal color pair value. If default
+ colors are used (see <STRONG><A HREF="default_colors.3x.html">use_default_colors(3x)</A></STRONG>) the upper limit is ad-
+ justed to allow for extra pairs which use a default color in fore-
+ ground and/or background.
+
+ <STRONG>o</STRONG> The second and third arguments must be legal color values.
+
+ If the color-pair was previously initialized, the screen is refreshed
+ and all occurrences of that color-pair are changed to the new defini-
+ tion.
+
+ As an extension, ncurses allows you to set color pair <STRONG>0</STRONG> via the <STRONG>as-</STRONG>
+ <STRONG><A HREF="assume_default_colors.3x.html">sume_default_colors(3x)</A></STRONG> routine, or to specify the use of default col-
+ ors (color number <STRONG>-1</STRONG>) if you first invoke the <STRONG><A HREF="default_colors.3x.html">use_default_colors(3x)</A></STRONG>
+ routine.
+
+
+</PRE><H3><a name="h3-init_extended_pair">init_extended_pair</a></H3><PRE>
+ Because <STRONG>init_pair</STRONG> uses signed <STRONG>short</STRONG>s for its parameters, that limits
+ color-pairs and color-values to 32767 on modern hardware. The exten-
+ sion <STRONG>init_extended_pair</STRONG> uses <STRONG>int</STRONG>s for the color-pair and color-value,
+ allowing a larger number of colors to be supported.
+
+
+</PRE><H3><a name="h3-init_color">init_color</a></H3><PRE>
+ The <STRONG>init_color</STRONG> routine changes the definition of a color. It takes
+ four arguments: the number of the color to be changed followed by three
+ RGB values (for the amounts of red, green, and blue components).
+
+ <STRONG>o</STRONG> The first argument must be a legal color value; default colors are
+ not allowed here. (See the section <STRONG>Colors</STRONG> for the default color
+ index.)
+
+ <STRONG>o</STRONG> Each of the last three arguments must be a value in the range <STRONG>0</STRONG>
+ through <STRONG>1000</STRONG>.
+
+ When <STRONG>init_color</STRONG> is used, all occurrences of that color on the screen
+ immediately change to the new definition.
+
+
+</PRE><H3><a name="h3-init_extended_color">init_extended_color</a></H3><PRE>
+ Because <STRONG>init_color</STRONG> uses signed <STRONG>short</STRONG>s for its parameters, that limits
+ color-values and their red, green, and blue components to 32767 on mod-
+ ern hardware. The extension <STRONG>init_extended_color</STRONG> uses <STRONG>int</STRONG>s for the col-
+ or value and for setting the red, green, and blue components, allowing
+ a larger number of colors to be supported.
+
+
+</PRE><H3><a name="h3-color_content">color_content</a></H3><PRE>
+ The <STRONG>color_content</STRONG> routine gives programmers a way to find the intensity
+ of the red, green, and blue (RGB) components in a color. It requires
+ four arguments: the color number, and three addresses of <STRONG>short</STRONG>s for
+ storing the information about the amounts of red, green, and blue com-
+ ponents in the given color.
+
+ <STRONG>o</STRONG> The first argument must be a legal color value, i.e., <STRONG>0</STRONG> through
+ <STRONG>COLORS-1</STRONG>, inclusive.
+
+ <STRONG>o</STRONG> The values that are stored at the addresses pointed to by the last
+ three arguments are in the range <STRONG>0</STRONG> (no component) through <STRONG>1000</STRONG>
+ (maximum amount of component), inclusive.
+
+
+</PRE><H3><a name="h3-extended_color_content">extended_color_content</a></H3><PRE>
+ Because <STRONG>color_content</STRONG> uses signed <STRONG>short</STRONG>s for its parameters, that lim-
+ its color-values and their red, green, and blue components to 32767 on
+ modern hardware. The extension <STRONG>extended_color_content</STRONG> uses <STRONG>int</STRONG>s for
+ the color value and for returning the red, green, and blue components,
+ allowing a larger number of colors to be supported.
+
+
+</PRE><H3><a name="h3-pair_content">pair_content</a></H3><PRE>
+ The <STRONG>pair_content</STRONG> routine allows programmers to find out what colors a
+ given color-pair consists of. It requires three arguments: the color-
+ pair number, and two addresses of <STRONG>short</STRONG>s for storing the foreground and
+ the background color numbers.
+
+ <STRONG>o</STRONG> The first argument must be a legal color value, i.e., in the range
+ <STRONG>1</STRONG> through <STRONG>COLOR_PAIRS-1</STRONG>, inclusive.
+
+ <STRONG>o</STRONG> The values that are stored at the addresses pointed to by the sec-
+ ond and third arguments are in the range <STRONG>0</STRONG> through <STRONG>COLORS</STRONG>, inclu-
+ sive.
+
+
+</PRE><H3><a name="h3-extended_pair_content">extended_pair_content</a></H3><PRE>
+ Because <STRONG>pair_content</STRONG> uses signed <STRONG>short</STRONG>s for its parameters, that limits
+ color-pair and color-values to 32767 on modern hardware. The extension
+ <STRONG>extended_pair_content</STRONG> uses <STRONG>int</STRONG>s for the color pair and for returning
+ the foreground and background colors, allowing a larger number of col-
+ ors to be supported.
+
+
+</PRE><H3><a name="h3-reset_color_pairs">reset_color_pairs</a></H3><PRE>
+ The extension <STRONG>reset_color_pairs</STRONG> tells ncurses to discard all of the
+ color-pair information which was set with <STRONG>init_pair</STRONG>. It also touches
+ the current- and standard-screens, allowing an application to switch
+ color palettes rapidly.
+
+
+</PRE><H3><a name="h3-PAIR_NUMBER">PAIR_NUMBER</a></H3><PRE>
+ <STRONG>PAIR_NUMBER(</STRONG><EM>attrs</EM>) extracts the color value from its <EM>attrs</EM> parameter
+ and returns it as a color pair number.
+
+
+</PRE><H3><a name="h3-COLOR_PAIR">COLOR_PAIR</a></H3><PRE>
+ Its inverse <STRONG>COLOR_PAIR(</STRONG><EM>n</EM><STRONG>)</STRONG> converts a color pair number to an attribute.
+ Attributes can hold color pairs in the range 0 to 255. If you need a
+ color pair larger than that, you must use functions such as <STRONG>attr_set</STRONG>
+ (which pass the color pair as a separate parameter) rather than the
+ legacy functions such as <STRONG>attrset</STRONG>.
+
+
+</PRE><H2><a name="h2-RETURN-VALUE">RETURN VALUE</a></H2><PRE>
+ The routines <STRONG>can_change_color</STRONG> and <STRONG>has_colors</STRONG> return <STRONG>TRUE</STRONG> or <STRONG>FALSE</STRONG>.
+
+ All other 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 com-
+ pletion.
+
+ X/Open defines no error conditions. SVr4 does document some error con-
+ ditions which apply in general:
+
+ <STRONG>o</STRONG> This implementation will return <STRONG>ERR</STRONG> on attempts to use color values
+ outside the range <STRONG>0</STRONG> to <STRONG>COLORS</STRONG>-1 (except for the default colors ex-
+ tension), or use color pairs outside the range <STRONG>0</STRONG> to <STRONG>COLOR_PAIRS-1</STRONG>.
+
+ Color values used in <STRONG>init_color</STRONG> must be in the range <STRONG>0</STRONG> to <STRONG>1000</STRONG>.
+
+ An error is returned from all functions if the terminal has not
+ been initialized.
+
+ An error is returned from secondary functions such as <STRONG>init_pair</STRONG> if
+ <STRONG>start_color</STRONG> was not called.
+
+ <STRONG>o</STRONG> SVr4 does much the same, except that it returns <STRONG>ERR</STRONG> from <STRONG>pair_con-</STRONG>
+ <STRONG>tent</STRONG> if the pair was not initialized using <STRONG>init_pairs</STRONG> and it re-
+ turns <STRONG>ERR</STRONG> from <STRONG>color_content</STRONG> if the terminal does not support
+ changing colors.
+
+ This implementation does not return <STRONG>ERR</STRONG> for either case.
+
+ Specific functions make additional checks:
<STRONG>init_color</STRONG>
- returns an error if the terminal does not support
- this feature, e.g., if the <EM>initialize</EM><STRONG>_</STRONG><EM>color</EM> capa-
- bility is absent from the terminal description.
+ returns an error if the terminal does not support this feature,
+ e.g., if the <STRONG>initialize_color</STRONG> capability is absent from the
+ terminal description.
<STRONG>start_color</STRONG>
- returns an error if the color table cannot be al-
- located.
+ returns an error if the color table cannot be allocated.
-</PRE>
-<H2>NOTES</H2><PRE>
- In the <EM>ncurses</EM> implementation, there is a separate color
- activation flag, color palette, color pairs table, and as-
- sociated COLORS and COLOR_PAIRS counts for each screen;
- the <STRONG>start_color</STRONG> function only affects the current screen.
- The SVr4/XSI interface is not really designed with this in
- mind, and historical implementations may use a single
- shared color palette.
-
- Note that setting an implicit background color via a color
- pair affects only character cells that a character write
- operation explicitly touches. To change the background
- color used when parts of a window are blanked by erasing
- or scrolling operations, see <STRONG><A HREF="curs_bkgd.3x.html">curs_bkgd(3x)</A></STRONG>.
-
- Several caveats apply on 386 and 486 machines with VGA-
- compatible graphics:
-
- <STRONG>o</STRONG> COLOR_YELLOW is actually brown. To get yellow, use
- COLOR_YELLOW combined with the <STRONG>A_BOLD</STRONG> attribute.
-
- <STRONG>o</STRONG> The A_BLINK attribute should in theory cause the back-
- ground to go bright. This often fails to work, and
- even some cards for which it mostly works (such as the
- Paradise and compatibles) do the wrong thing when you
- try to set a bright "yellow" background (you get a
+</PRE><H2><a name="h2-NOTES">NOTES</a></H2><PRE>
+ In the <STRONG>ncurses</STRONG> implementation, there is a separate color activation
+ flag, color palette, color pairs table, and associated <STRONG>COLORS</STRONG> and <STRONG>COL-</STRONG>
+ <STRONG>OR_PAIRS</STRONG> counts for each screen; the <STRONG>start_color</STRONG> function only affects
+ the current screen. The SVr4/XSI interface is not really designed with
+ this in mind, and historical implementations may use a single shared
+ color palette.
+
+ Setting an implicit background color via a color pair affects only
+ character cells that a character write operation explicitly touches.
+ To change the background color used when parts of a window are blanked
+ by erasing or scrolling operations, see <STRONG><A HREF="curs_bkgd.3x.html">curs_bkgd(3x)</A></STRONG>.
+
+ Several caveats apply on older x86 machines (e.g., i386, i486) with
+ VGA-compatible graphics:
+
+ <STRONG>o</STRONG> COLOR_YELLOW is actually brown. To get yellow, use COLOR_YELLOW
+ combined with the <STRONG>A_BOLD</STRONG> attribute.
+
+ <STRONG>o</STRONG> The A_BLINK attribute should in theory cause the background to go
+ bright. This often fails to work, and even some cards for which it
+ mostly works (such as the Paradise and compatibles) do the wrong
+ thing when you try to set a bright "yellow" background (you get a
blinking yellow foreground instead).
<STRONG>o</STRONG> Color RGB values are not settable.
-</PRE>
-<H2>PORTABILITY</H2><PRE>
- This implementation satisfies XSI Curses's minimum maxi-
- mums for <STRONG>COLORS</STRONG> and <STRONG>COLOR_PAIRS</STRONG>.
+</PRE><H2><a name="h2-PORTABILITY">PORTABILITY</a></H2><PRE>
+ 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 fore-
- ground and background color to support the <STRONG>use_de-</STRONG>
- <STRONG>fault_colors</STRONG> extension, but only if that routine has been
- first invoked.
+ The <STRONG>init_pair</STRONG> routine accepts negative values of foreground and back-
+ ground 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>as-</STRONG>
- <STRONG>sume_default_colors</STRONG> extension.
+ 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> exten-
+ sion.
- 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.
+ 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 pa-
+ rameters when null.
+ 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
+ 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-
+ numbers.
-</PRE>
-<H2>SEE ALSO</H2><PRE>
- <STRONG><A HREF="ncurses.3x.html">curses(3x)</A></STRONG>, <STRONG><A HREF="curs_initscr.3x.html">curs_initscr(3x)</A></STRONG>, <STRONG><A HREF="curs_attr.3x.html">curs_attr(3x)</A></STRONG>, <STRONG>curs_vari-</STRONG>
- <STRONG><A HREF="curs_variables.3x.html">ables(3x)</A></STRONG>, <STRONG><A HREF="default_colors.3x.html">default_colors(3x)</A></STRONG>
+ The <STRONG>reset_color_pairs</STRONG> function is an extension of ncurses.
+
+
+</PRE><H2><a name="h2-SEE-ALSO">SEE ALSO</a></H2><PRE>
+ <STRONG><A HREF="ncurses.3x.html">curses(3x)</A></STRONG>, <STRONG><A HREF="curs_initscr.3x.html">curs_initscr(3x)</A></STRONG>, <STRONG><A HREF="curs_attr.3x.html">curs_attr(3x)</A></STRONG>, <STRONG><A HREF="curs_variables.3x.html">curs_variables(3x)</A></STRONG>, <STRONG>de-</STRONG>
+ <STRONG><A HREF="default_colors.3x.html">fault_colors(3x)</A></STRONG>
- <STRONG><A HREF="curs_color.3x.html">curs_color(3x)</A></STRONG>
+ <STRONG><A HREF="curs_color.3x.html">curs_color(3x)</A></STRONG>
</PRE>
-<HR>
-<ADDRESS>
-Man(1) output converted with
-<a href="http://www.oac.uci.edu/indiv/ehood/man2html.html">man2html</a>
-</ADDRESS>
+<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>
+<ul>
+<li><a href="#h3-Overview">Overview</a></li>
+<li><a href="#h3-Color-Rendering">Color Rendering</a></li>
+</ul>
+</li>
+<li><a href="#h2-CONSTANTS">CONSTANTS</a></li>
+<li><a href="#h2-VARIABLES">VARIABLES</a>
+<ul>
+<li><a href="#h3-COLORS">COLORS</a></li>
+<li><a href="#h3-COLOR_PAIRS">COLOR_PAIRS</a></li>
+</ul>
+</li>
+<li><a href="#h2-FUNCTIONS">FUNCTIONS</a>
+<ul>
+<li><a href="#h3-start_color">start_color</a></li>
+<li><a href="#h3-has_colors">has_colors</a></li>
+<li><a href="#h3-can_change_color">can_change_color</a></li>
+<li><a href="#h3-init_pair">init_pair</a></li>
+<li><a href="#h3-init_extended_pair">init_extended_pair</a></li>
+<li><a href="#h3-init_color">init_color</a></li>
+<li><a href="#h3-init_extended_color">init_extended_color</a></li>
+<li><a href="#h3-color_content">color_content</a></li>
+<li><a href="#h3-extended_color_content">extended_color_content</a></li>
+<li><a href="#h3-pair_content">pair_content</a></li>
+<li><a href="#h3-extended_pair_content">extended_pair_content</a></li>
+<li><a href="#h3-reset_color_pairs">reset_color_pairs</a></li>
+<li><a href="#h3-PAIR_NUMBER">PAIR_NUMBER</a></li>
+<li><a href="#h3-COLOR_PAIR">COLOR_PAIR</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-PORTABILITY">PORTABILITY</a></li>
+<li><a href="#h2-SEE-ALSO">SEE ALSO</a></li>
+</ul>
+</div>
</BODY>
</HTML>
diff --git a/doc/html/man/curs_delch.3x.html b/doc/html/man/curs_delch.3x.html
index 40d43c4e8006..019ce2766f7f 100644
--- a/doc/html/man/curs_delch.3x.html
+++ b/doc/html/man/curs_delch.3x.html
@@ -1,7 +1,6 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN">
<!--
****************************************************************************
- * Copyright (c) 1998-2006,2010 Free Software Foundation, Inc. *
+ * Copyright (c) 1998-2018,2019 Free Software Foundation, Inc. *
* *
* Permission is hereby granted, free of charge, to any person obtaining a *
* copy of this software and associated documentation files (the *
@@ -27,32 +26,31 @@
* sale, use or other dealings in this Software without prior written *
* authorization. *
****************************************************************************
- * @Id: curs_delch.3x,v 1.11 2010/12/04 18:36:44 tom Exp @
+ * @Id: curs_delch.3x,v 1.13 2019/11/30 21:06:30 tom Exp @
-->
+<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN">
<HTML>
<HEAD>
+<meta http-equiv="Content-Type" content="text/html; charset=us-ascii">
+<meta name="generator" content="Manpage converted by man2html - see https://invisible-island.net/scripts/readme.html#others_scripts">
<TITLE>curs_delch 3x</TITLE>
-<link rev=made href="mailto:bug-ncurses@gnu.org">
+<link rel="author" href="mailto:bug-ncurses@gnu.org">
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
</HEAD>
<BODY>
-<H1>curs_delch 3x</H1>
-<HR>
+<H1 class="no-header">curs_delch 3x</H1>
<PRE>
-<!-- Manpage converted by man2html 3.0.1 -->
-<STRONG><A HREF="curs_delch.3x.html">curs_delch(3x)</A></STRONG> <STRONG><A HREF="curs_delch.3x.html">curs_delch(3x)</A></STRONG>
+<STRONG><A HREF="curs_delch.3x.html">curs_delch(3x)</A></STRONG> <STRONG><A HREF="curs_delch.3x.html">curs_delch(3x)</A></STRONG>
-</PRE>
-<H2>NAME</H2><PRE>
- <STRONG>delch</STRONG>, <STRONG>wdelch</STRONG>, <STRONG>mvdelch</STRONG>, <STRONG>mvwdelch</STRONG> - delete character under
- the cursor in a <STRONG>curses</STRONG> window
+</PRE><H2><a name="h2-NAME">NAME</a></H2><PRE>
+ <STRONG>delch</STRONG>, <STRONG>wdelch</STRONG>, <STRONG>mvdelch</STRONG>, <STRONG>mvwdelch</STRONG> - delete character under the cursor in
+ a <STRONG>curses</STRONG> window
-</PRE>
-<H2>SYNOPSIS</H2><PRE>
+</PRE><H2><a name="h2-SYNOPSIS">SYNOPSIS</a></H2><PRE>
<STRONG>#include</STRONG> <STRONG>&lt;curses.h&gt;</STRONG>
<STRONG>int</STRONG> <STRONG>delch(void);</STRONG>
@@ -61,52 +59,52 @@
<STRONG>int</STRONG> <STRONG>mvwdelch(WINDOW</STRONG> <STRONG>*win,</STRONG> <STRONG>int</STRONG> <STRONG>y,</STRONG> <STRONG>int</STRONG> <STRONG>x);</STRONG>
-</PRE>
-<H2>DESCRIPTION</H2><PRE>
- These routines delete the character under the cursor; all
- characters to the right of the cursor on the same line are
- moved to the left one position and the last character on
- the line is filled with a blank. The cursor position does
- not change (after moving to <EM>y</EM>, <EM>x</EM>, if specified). (This
- does not imply use of the hardware delete character fea-
+</PRE><H2><a name="h2-DESCRIPTION">DESCRIPTION</a></H2><PRE>
+ These routines delete the character under the cursor; all characters to
+ the right of the cursor on the same line are moved to the left one
+ position and the last character on the line is filled with a blank.
+ The cursor position does not change (after moving to <EM>y</EM>, <EM>x</EM>, if speci-
+ fied). (This does not imply use of the hardware delete character fea-
ture.)
-</PRE>
-<H2>RETURN VALUE</H2><PRE>
- All routines return the integer <STRONG>ERR</STRONG> upon failure and an <STRONG>OK</STRONG>
- (SVr4 specifies only "an integer value other than <STRONG>ERR</STRONG>")
- upon successful completion.
+</PRE><H2><a name="h2-RETURN-VALUE">RETURN VALUE</a></H2><PRE>
+ All routines return the integer <STRONG>ERR</STRONG> upon failure and an <STRONG>OK</STRONG> (SVr4 speci-
+ fies only "an integer value other than <STRONG>ERR</STRONG>") upon successful comple-
+ tion.
- Functions with a "mv" prefix first perform a cursor move-
- ment using <STRONG>wmove</STRONG>, and return an error if the position is
- outside the window, or if the window pointer is null.
+ Functions with a "mv" prefix first perform 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.
-</PRE>
-<H2>NOTES</H2><PRE>
+</PRE><H2><a name="h2-NOTES">NOTES</a></H2><PRE>
Note that <STRONG>delch</STRONG>, <STRONG>mvdelch</STRONG>, and <STRONG>mvwdelch</STRONG> may be macros.
-</PRE>
-<H2>PORTABILITY</H2><PRE>
- These functions are described in the XSI Curses standard,
- Issue 4. The standard specifies that they return <STRONG>ERR</STRONG> on
- failure, but specifies no error conditions.
+</PRE><H2><a name="h2-PORTABILITY">PORTABILITY</a></H2><PRE>
+ These functions are described in the XSI Curses standard, Issue 4. The
+ standard specifies that they return <STRONG>ERR</STRONG> on failure, but specifies no
+ error conditions.
-</PRE>
-<H2>SEE ALSO</H2><PRE>
+</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_delch.3x.html">curs_delch(3x)</A></STRONG>
+ <STRONG><A HREF="curs_delch.3x.html">curs_delch(3x)</A></STRONG>
</PRE>
-<HR>
-<ADDRESS>
-Man(1) output converted with
-<a href="http://www.oac.uci.edu/indiv/ehood/man2html.html">man2html</a>
-</ADDRESS>
+<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>
+<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-SEE-ALSO">SEE ALSO</a></li>
+</ul>
+</div>
</BODY>
</HTML>
diff --git a/doc/html/man/curs_deleteln.3x.html b/doc/html/man/curs_deleteln.3x.html
index 40a1a2be3d11..2c2d6277389f 100644
--- a/doc/html/man/curs_deleteln.3x.html
+++ b/doc/html/man/curs_deleteln.3x.html
@@ -1,7 +1,6 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN">
<!--
****************************************************************************
- * Copyright (c) 1998-2007,2010 Free Software Foundation, Inc. *
+ * Copyright (c) 1998-2010,2018 Free Software Foundation, Inc. *
* *
* Permission is hereby granted, free of charge, to any person obtaining a *
* copy of this software and associated documentation files (the *
@@ -27,32 +26,31 @@
* sale, use or other dealings in this Software without prior written *
* authorization. *
****************************************************************************
- * @Id: curs_deleteln.3x,v 1.13 2010/12/04 18:36:44 tom Exp @
+ * @Id: curs_deleteln.3x,v 1.14 2018/07/28 21:34:06 tom Exp @
-->
+<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN">
<HTML>
<HEAD>
+<meta http-equiv="Content-Type" content="text/html; charset=us-ascii">
+<meta name="generator" content="Manpage converted by man2html - see https://invisible-island.net/scripts/readme.html#others_scripts">
<TITLE>curs_deleteln 3x</TITLE>
-<link rev=made href="mailto:bug-ncurses@gnu.org">
+<link rel="author" href="mailto:bug-ncurses@gnu.org">
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
</HEAD>
<BODY>
-<H1>curs_deleteln 3x</H1>
-<HR>
+<H1 class="no-header">curs_deleteln 3x</H1>
<PRE>
-<!-- Manpage converted by man2html 3.0.1 -->
-<STRONG><A HREF="curs_deleteln.3x.html">curs_deleteln(3x)</A></STRONG> <STRONG><A HREF="curs_deleteln.3x.html">curs_deleteln(3x)</A></STRONG>
+<STRONG><A HREF="curs_deleteln.3x.html">curs_deleteln(3x)</A></STRONG> <STRONG><A HREF="curs_deleteln.3x.html">curs_deleteln(3x)</A></STRONG>
-</PRE>
-<H2>NAME</H2><PRE>
- <STRONG>deleteln</STRONG>, <STRONG>wdeleteln</STRONG>, <STRONG>insdelln</STRONG>, <STRONG>winsdelln</STRONG>, <STRONG>insertln</STRONG>, <STRONG>win-</STRONG>
- <STRONG>sertln</STRONG> - delete and insert lines in a <STRONG>curses</STRONG> window
+</PRE><H2><a name="h2-NAME">NAME</a></H2><PRE>
+ <STRONG>deleteln</STRONG>, <STRONG>wdeleteln</STRONG>, <STRONG>insdelln</STRONG>, <STRONG>winsdelln</STRONG>, <STRONG>insertln</STRONG>, <STRONG>winsertln</STRONG> - delete
+ and insert lines in a <STRONG>curses</STRONG> window
-</PRE>
-<H2>SYNOPSIS</H2><PRE>
+</PRE><H2><a name="h2-SYNOPSIS">SYNOPSIS</a></H2><PRE>
<STRONG>#include</STRONG> <STRONG>&lt;curses.h&gt;</STRONG>
<STRONG>int</STRONG> <STRONG>deleteln(void);</STRONG>
@@ -63,64 +61,63 @@
<STRONG>int</STRONG> <STRONG>winsertln(WINDOW</STRONG> <STRONG>*win);</STRONG>
-</PRE>
-<H2>DESCRIPTION</H2><PRE>
- The <STRONG>deleteln</STRONG> and <STRONG>wdeleteln</STRONG> routines delete the line under
- the cursor in the window; all lines below the current line
- are moved up one line. The bottom line of the window is
- cleared. The cursor position does not change.
-
- The <STRONG>insdelln</STRONG> and <STRONG>winsdelln</STRONG> routines, for positive <EM>n</EM>,
- insert <EM>n</EM> lines into the specified window above the current
- line. The <EM>n</EM> bottom lines are lost. For negative <EM>n</EM>,
- delete <EM>n</EM> lines (starting with the one under the cursor),
- and move the remaining lines up. The bottom <EM>n</EM> lines are
+</PRE><H2><a name="h2-DESCRIPTION">DESCRIPTION</a></H2><PRE>
+ The <STRONG>deleteln</STRONG> and <STRONG>wdeleteln</STRONG> routines delete the line under the cursor in
+ the window; all lines below the current line are moved up one line.
+ The bottom line of the window is cleared. The cursor position does not
+ change.
+
+ The <STRONG>insdelln</STRONG> and <STRONG>winsdelln</STRONG> routines, for positive <EM>n</EM>, insert <EM>n</EM> lines
+ into the specified window above the current line. The <EM>n</EM> bottom lines
+ are lost. For negative <EM>n</EM>, delete <EM>n</EM> lines (starting with the one under
+ the cursor), and move the remaining lines up. The bottom <EM>n</EM> lines are
cleared. The current cursor position remains the same.
- The <STRONG>insertln</STRONG> and <STRONG>winsertln</STRONG> routines insert a blank line
- above the current line and the bottom line is lost.
+ The <STRONG>insertln</STRONG> and <STRONG>winsertln</STRONG> routines insert a blank line above the cur-
+ rent line and the bottom line is lost.
-</PRE>
-<H2>RETURN VALUE</H2><PRE>
- All routines return the integer <STRONG>ERR</STRONG> upon failure and an <STRONG>OK</STRONG>
- (SVr4 specifies only "an integer value other than <STRONG>ERR</STRONG>")
- upon successful completion.
+</PRE><H2><a name="h2-RETURN-VALUE">RETURN VALUE</a></H2><PRE>
+ All routines return the integer <STRONG>ERR</STRONG> upon failure and an <STRONG>OK</STRONG> (SVr4 speci-
+ fies only "an integer value other than <STRONG>ERR</STRONG>") upon successful comple-
+ tion.
- X/Open defines no error conditions. In this implementa-
- tion, if the window parameter is null, an error is
- returned.
+ X/Open defines no error conditions. In this implementation, if the
+ window parameter is null, an error is returned.
-</PRE>
-<H2>PORTABILITY</H2><PRE>
- These functions are described in the XSI Curses standard,
- Issue 4. The standard specifies that they return <STRONG>ERR</STRONG> on
- failure, but specifies no error conditions.
+</PRE><H2><a name="h2-PORTABILITY">PORTABILITY</a></H2><PRE>
+ These functions are described in the XSI Curses standard, Issue 4. The
+ standard specifies that they return <STRONG>ERR</STRONG> on failure, but specifies no
+ error conditions.
-</PRE>
-<H2>NOTES</H2><PRE>
+</PRE><H2><a name="h2-NOTES">NOTES</a></H2><PRE>
Note that all but <STRONG>winsdelln</STRONG> may be macros.
- These routines do not require a hardware line delete or
- insert feature in the terminal. In fact, they will not
- use hardware line delete/insert unless <STRONG>idlok(...,</STRONG> <STRONG>TRUE)</STRONG>
- has been set on the current window.
+ These routines do not require a hardware line delete or insert feature
+ in the terminal. In fact, they will not use hardware line
+ delete/insert unless <STRONG>idlok(...,</STRONG> <STRONG>TRUE)</STRONG> has been set on the current win-
+ dow.
-</PRE>
-<H2>SEE ALSO</H2><PRE>
+</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_deleteln.3x.html">curs_deleteln(3x)</A></STRONG>
+ <STRONG><A HREF="curs_deleteln.3x.html">curs_deleteln(3x)</A></STRONG>
</PRE>
-<HR>
-<ADDRESS>
-Man(1) output converted with
-<a href="http://www.oac.uci.edu/indiv/ehood/man2html.html">man2html</a>
-</ADDRESS>
+<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>
+<li><a href="#h2-RETURN-VALUE">RETURN VALUE</a></li>
+<li><a href="#h2-PORTABILITY">PORTABILITY</a></li>
+<li><a href="#h2-NOTES">NOTES</a></li>
+<li><a href="#h2-SEE-ALSO">SEE ALSO</a></li>
+</ul>
+</div>
</BODY>
</HTML>
diff --git a/doc/html/man/curs_extend.3x.html b/doc/html/man/curs_extend.3x.html
index 40418ebbe4ea..751a881d35d5 100644
--- a/doc/html/man/curs_extend.3x.html
+++ b/doc/html/man/curs_extend.3x.html
@@ -1,7 +1,6 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN">
<!--
****************************************************************************
- * Copyright (c) 1999-2006,2010 Free Software Foundation, Inc. *
+ * Copyright (c) 1999-2016,2018 Free Software Foundation, Inc. *
* *
* Permission is hereby granted, free of charge, to any person obtaining a *
* copy of this software and associated documentation files (the *
@@ -28,84 +27,98 @@
* authorization. *
****************************************************************************
* Author: Thomas E. Dickey 1999-on
- * @Id: curs_extend.3x,v 1.19 2010/12/04 18:36:44 tom Exp @
+ * @Id: curs_extend.3x,v 1.22 2018/07/28 21:34:06 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</TITLE>
-<link rev=made href="mailto:bug-ncurses@gnu.org">
+<link rel="author" href="mailto:bug-ncurses@gnu.org">
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
</HEAD>
<BODY>
-<H1>curs_extend 3x</H1>
-<HR>
+<H1 class="no-header">curs_extend 3x</H1>
<PRE>
-<!-- Manpage converted by man2html 3.0.1 -->
-<STRONG><A HREF="curs_extend.3x.html">curs_extend(3x)</A></STRONG> <STRONG><A HREF="curs_extend.3x.html">curs_extend(3x)</A></STRONG>
+<STRONG><A HREF="curs_extend.3x.html">curs_extend(3x)</A></STRONG> <STRONG><A HREF="curs_extend.3x.html">curs_extend(3x)</A></STRONG>
-</PRE>
-<H2>NAME</H2><PRE>
- <STRONG>curses_version</STRONG>, <STRONG>use_extended_names</STRONG> - miscellaneous curses
- extensions
+</PRE><H2><a name="h2-NAME">NAME</a></H2><PRE>
+ <STRONG>curses_version</STRONG>, <STRONG>use_extended_names</STRONG> - miscellaneous curses extensions
-</PRE>
-<H2>SYNOPSIS</H2><PRE>
+</PRE><H2><a name="h2-SYNOPSIS">SYNOPSIS</a></H2><PRE>
<STRONG>#include</STRONG> <STRONG>&lt;curses.h&gt;</STRONG>
<STRONG>const</STRONG> <STRONG>char</STRONG> <STRONG>*</STRONG> <STRONG>curses_version(void);</STRONG>
<STRONG>int</STRONG> <STRONG>use_extended_names(bool</STRONG> <STRONG>enable);</STRONG>
-</PRE>
-<H2>DESCRIPTION</H2><PRE>
- These functions are extensions to the curses library which
- do not fit easily into other categories.
+</PRE><H2><a name="h2-DESCRIPTION">DESCRIPTION</a></H2><PRE>
+ These functions are extensions to the curses library which do not fit
+ easily into other categories.
- Use <EM>curses</EM><STRONG>_</STRONG><EM>version()</EM> to get the version number, including
- patch level of the library, e.g., <STRONG>5.0.19991023</STRONG>
- The <EM>use</EM><STRONG>_</STRONG><EM>extended</EM><STRONG>_</STRONG><EM>names()</EM> function controls whether the
- calling application is able to use user-defined or non-
- standard names which may be compiled into the terminfo
- description, i.e., via the terminfo or termcap interfaces.
- Normally these names are available for use, since the
- essential decision is made by using the <STRONG>-x</STRONG> option of <STRONG>tic</STRONG>
- to compile extended terminal definitions. However you can
- disable this feature to ensure compatibility with other
- implementations of curses.
+</PRE><H3><a name="h3-curses_version">curses_version</a></H3><PRE>
+ Use <STRONG>curses_version</STRONG> to get the version number, including patch level of
+ the library, e.g., <STRONG>5.0.19991023</STRONG>
-</PRE>
-<H2>PORTABILITY</H2><PRE>
- These routines are specific to ncurses. They were not
- supported on Version 7, BSD or System V implementations.
- It is recommended that any code depending on them be con-
- ditioned using NCURSES_VERSION.
+</PRE><H3><a name="h3-use_extended_names">use_extended_names</a></H3><PRE>
+ The <STRONG>use_extended_names</STRONG> function controls whether the calling applica-
+ tion is able to use user-defined or nonstandard names which may be com-
+ piled into the terminfo description, i.e., via the terminfo or termcap
+ interfaces. Normally these names are available for use, since the
+ essential decision is made by using the <STRONG>-x</STRONG> option of <STRONG>tic</STRONG> to compile
+ extended terminal definitions. However you can disable this feature to
+ ensure compatibility with other implementations of curses.
-</PRE>
-<H2>SEE ALSO</H2><PRE>
- <STRONG><A HREF="curs_getch.3x.html">curs_getch(3x)</A></STRONG>, <STRONG><A HREF="curs_mouse.3x.html">curs_mouse(3x)</A></STRONG>, <STRONG><A HREF="curs_print.3x.html">curs_print(3x)</A></STRONG>,
- <STRONG><A HREF="curs_util.3x.html">curs_util(3x)</A></STRONG>, <STRONG><A HREF="default_colors.3x.html">default_colors(3x)</A></STRONG>, <STRONG><A HREF="define_key.3x.html">define_key(3x)</A></STRONG>, <STRONG>key-</STRONG>
- <STRONG><A HREF="keybound.3x.html">bound(3x)</A></STRONG>, <STRONG><A HREF="keyok.3x.html">keyok(3x)</A></STRONG>, <STRONG><A HREF="resizeterm.3x.html">resizeterm(3x)</A></STRONG>, <STRONG><A HREF="wresize.3x.html">wresize(3x)</A></STRONG>.
+</PRE><H2><a name="h2-RETURN-VALUE">RETURN VALUE</a></H2><PRE>
+ <STRONG>curses_version</STRONG> returns a pointer to static memory; you should not free
+ this in your application.
+ <STRONG>use_extended_names</STRONG> returns the previous state, allowing you to save
+ this and restore it.
-</PRE>
-<H2>AUTHOR</H2><PRE>
+
+</PRE><H2><a name="h2-PORTABILITY">PORTABILITY</a></H2><PRE>
+ These routines are specific to ncurses. 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.
+
+
+</PRE><H2><a name="h2-SEE-ALSO">SEE ALSO</a></H2><PRE>
+ <STRONG><A HREF="curs_getch.3x.html">curs_getch(3x)</A></STRONG>, <STRONG><A HREF="curs_mouse.3x.html">curs_mouse(3x)</A></STRONG>, <STRONG><A HREF="curs_print.3x.html">curs_print(3x)</A></STRONG>, <STRONG><A HREF="curs_util.3x.html">curs_util(3x)</A></STRONG>,
+ <STRONG><A HREF="default_colors.3x.html">default_colors(3x)</A></STRONG>, <STRONG><A HREF="define_key.3x.html">define_key(3x)</A></STRONG>, <STRONG><A HREF="keybound.3x.html">keybound(3x)</A></STRONG>, <STRONG><A HREF="keyok.3x.html">keyok(3x)</A></STRONG>,
+ <STRONG><A HREF="resizeterm.3x.html">resizeterm(3x)</A></STRONG>, <STRONG><A HREF="wresize.3x.html">wresize(3x)</A></STRONG>.
+
+
+</PRE><H2><a name="h2-AUTHOR">AUTHOR</a></H2><PRE>
Thomas Dickey.
- <STRONG><A HREF="curs_extend.3x.html">curs_extend(3x)</A></STRONG>
+ <STRONG><A HREF="curs_extend.3x.html">curs_extend(3x)</A></STRONG>
</PRE>
-<HR>
-<ADDRESS>
-Man(1) output converted with
-<a href="http://www.oac.uci.edu/indiv/ehood/man2html.html">man2html</a>
-</ADDRESS>
+<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>
+<ul>
+<li><a href="#h3-curses_version">curses_version</a></li>
+<li><a href="#h3-use_extended_names">use_extended_names</a></li>
+</ul>
+</li>
+<li><a href="#h2-RETURN-VALUE">RETURN VALUE</a></li>
+<li><a href="#h2-PORTABILITY">PORTABILITY</a></li>
+<li><a href="#h2-SEE-ALSO">SEE ALSO</a></li>
+<li><a href="#h2-AUTHOR">AUTHOR</a></li>
+</ul>
+</div>
</BODY>
</HTML>
diff --git a/doc/html/man/curs_get_wch.3x.html b/doc/html/man/curs_get_wch.3x.html
index ca8d2e8c02e2..ab833d422cad 100644
--- a/doc/html/man/curs_get_wch.3x.html
+++ b/doc/html/man/curs_get_wch.3x.html
@@ -1,7 +1,6 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN">
<!--
****************************************************************************
- * Copyright (c) 2002-2010,2012 Free Software Foundation, Inc. *
+ * Copyright (c) 2002-2018,2019 Free Software Foundation, Inc. *
* *
* Permission is hereby granted, free of charge, to any person obtaining a *
* copy of this software and associated documentation files (the *
@@ -27,33 +26,31 @@
* sale, use or other dealings in this Software without prior written *
* authorization. *
****************************************************************************
- * @Id: curs_get_wch.3x,v 1.8 2012/11/03 23:03:59 tom Exp @
+ * @Id: curs_get_wch.3x,v 1.12 2019/11/30 21:06:30 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</TITLE>
-<link rev=made href="mailto:bug-ncurses@gnu.org">
+<link rel="author" href="mailto:bug-ncurses@gnu.org">
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
</HEAD>
<BODY>
-<H1>curs_get_wch 3x</H1>
-<HR>
+<H1 class="no-header">curs_get_wch 3x</H1>
<PRE>
-<!-- Manpage converted by man2html 3.0.1 -->
-<STRONG><A HREF="curs_get_wch.3x.html">curs_get_wch(3x)</A></STRONG> <STRONG><A HREF="curs_get_wch.3x.html">curs_get_wch(3x)</A></STRONG>
+<STRONG><A HREF="curs_get_wch.3x.html">curs_get_wch(3x)</A></STRONG> <STRONG><A HREF="curs_get_wch.3x.html">curs_get_wch(3x)</A></STRONG>
-</PRE>
-<H2>NAME</H2><PRE>
- <STRONG>get_wch</STRONG>, <STRONG>wget_wch</STRONG>, <STRONG>mvget_wch</STRONG>, <STRONG>mvwget_wch</STRONG>, <STRONG>unget_wch</STRONG> - get
- (or push back) a wide character from curses terminal key-
- board
+</PRE><H2><a name="h2-NAME">NAME</a></H2><PRE>
+ <STRONG>get_wch</STRONG>, <STRONG>wget_wch</STRONG>, <STRONG>mvget_wch</STRONG>, <STRONG>mvwget_wch</STRONG>, <STRONG>unget_wch</STRONG> - get (or push
+ back) a wide character from curses terminal keyboard
-</PRE>
-<H2>SYNOPSIS</H2><PRE>
+</PRE><H2><a name="h2-SYNOPSIS">SYNOPSIS</a></H2><PRE>
<STRONG>#include</STRONG> <STRONG>&lt;curses.h&gt;</STRONG>
<STRONG>int</STRONG> <STRONG>get_wch(wint_t</STRONG> <STRONG>*</STRONG><EM>wch</EM><STRONG>);</STRONG>
@@ -63,93 +60,97 @@
<STRONG>int</STRONG> <STRONG>unget_wch(const</STRONG> <STRONG>wchar_t</STRONG> <EM>wch</EM><STRONG>);</STRONG>
-</PRE>
-<H2>DESCRIPTION</H2><PRE>
- The <STRONG>get_wch</STRONG>, <STRONG>wget_wch</STRONG>, <STRONG>mvget_wch</STRONG>, and <STRONG>mvwget_wch</STRONG> functions
- read a character from the terminal associated with the
- current or specified window. In no-delay mode, if no
- input is waiting, the value <STRONG>ERR</STRONG> is returned. In delay
- mode, the program waits until the system passes text
- through to the program. Depending on the setting of
- <STRONG>cbreak</STRONG>, this is after one character (cbreak mode), or
- after the first newline (nocbreak mode). In half-delay
- mode, the program waits until the user types a character
- or the specified timeout interval has elapsed.
-
- Unless <STRONG>noecho</STRONG> has been set, these routines echo the char-
- acter into the designated window.
-
- If the window is not a pad and has been moved or modified
- since the last call to <STRONG>wrefresh</STRONG>, <STRONG>wrefresh</STRONG> will be called
- before another character is read.
-
- If <STRONG>keypad</STRONG> is enabled, these functions respond to the
- pressing of a function key by setting the object pointed
- to by <EM>wch</EM> to the corresponding <STRONG>KEY_</STRONG> value defined in
- <STRONG>&lt;curses.h&gt;</STRONG> and returning <STRONG>KEY_CODE_YES</STRONG>. If a character
- (such as escape) that could be the beginning of a function
- key is received, curses sets a timer. If the remainder of
- the sequence does arrive within the designated time,
- curses passes through the character; otherwise, curses
- returns the function key value. For this reason, many
- terminals experience a delay between the time a user
- presses the escape key and the time the escape is returned
- to the program.
-
- The <STRONG>unget_wch</STRONG> function pushes the wide character <EM>wch</EM> back
- onto the head of the input queue, so the wide character is
- returned by the next call to <STRONG>get_wch</STRONG>. The pushback of one
- character is guaranteed. If the program calls <STRONG>unget_wch</STRONG>
- too many times without an intervening call to <STRONG>get_wch</STRONG>, the
- operation may fail.
+</PRE><H2><a name="h2-DESCRIPTION">DESCRIPTION</a></H2><PRE>
+ The <STRONG>get_wch</STRONG>, <STRONG>wget_wch</STRONG>, <STRONG>mvget_wch</STRONG>, and <STRONG>mvwget_wch</STRONG> functions read a char-
+ acter from the terminal associated with the current or specified win-
+ dow. In no-delay mode, if no input is waiting, the value <STRONG>ERR</STRONG> is re-
+ turned. In delay mode, the program waits until the system passes text
+ through to the program. Depending on the setting of <STRONG>cbreak</STRONG>, this is
+ after one character (cbreak mode), or after the first newline (nocbreak
+ mode). In half-delay mode, the program waits until the user types a
+ character or the specified timeout interval has elapsed.
+ Unless <STRONG>noecho</STRONG> has been set, these routines echo the character into the
+ designated window.
-</PRE>
-<H2>NOTES</H2><PRE>
- The header file <STRONG>&lt;curses.h&gt;</STRONG> automatically includes the
- header file <STRONG>&lt;stdio.h&gt;</STRONG>.
+ If the window is not a pad and has been moved or modified since the
+ last call to <STRONG>wrefresh</STRONG>, <STRONG>wrefresh</STRONG> will be called before another character
+ is read.
+
+ If <STRONG>keypad</STRONG> is enabled, these functions respond to the pressing of a
+ function key by setting the object pointed to by <EM>wch</EM> to the keycode as-
+ signed to the function key, and returning <STRONG>KEY_CODE_YES</STRONG>. If a character
+ (such as escape) that could be the beginning of a function key is re-
+ ceived, curses sets a timer. If the remainder of the sequence does ar-
+ rive within the designated time, curses passes through the character;
+ otherwise, curses returns the function key value. For this reason,
+ many terminals experience a delay between the time a user presses the
+ escape key and the time the escape is returned to the program.
+
+ The keycodes returned by these functions are the same as those returned
+ by <STRONG>wgetch</STRONG>:
- Applications should not define the escape key by itself as
- a single-character function.
+ <STRONG>o</STRONG> The predefined function keys are listed in <STRONG>&lt;curses.h&gt;</STRONG> as macros
+ with values outside the range of 8-bit characters. Their names be-
+ gin with <STRONG>KEY_</STRONG>.
- When using <STRONG>get_wch</STRONG>, <STRONG>wget_wch</STRONG>, <STRONG>mvget_wch</STRONG>, or <STRONG>mvwget_wch</STRONG>,
- applications should not use <STRONG>nocbreak</STRONG> mode and <STRONG>echo</STRONG> mode at
- the same time. Depending on the state of the tty driver
- when each character is typed, the program may produce
- undesirable results.
+ <STRONG>o</STRONG> Other (user-defined) function keys which may be defined using <STRONG>de-</STRONG>
+ <STRONG><A HREF="define_key.3x.html">fine_key(3x)</A></STRONG> have no names, but also are expected to have values
+ outside the range of 8-bit characters.
+
+ The <STRONG>unget_wch</STRONG> function pushes the wide character <EM>wch</EM> back onto the head
+ of the input queue, so the wide character is returned by the next call
+ to <STRONG>get_wch</STRONG>. The pushback of one character is guaranteed. If the pro-
+ gram calls <STRONG>unget_wch</STRONG> too many times without an intervening call to
+ <STRONG>get_wch</STRONG>, the operation may fail.
+
+
+</PRE><H2><a name="h2-NOTES">NOTES</a></H2><PRE>
+ The header file <STRONG>&lt;curses.h&gt;</STRONG> automatically includes the header file
+ <STRONG>&lt;stdio.h&gt;</STRONG>.
+
+ Applications should not define the escape key by itself as a single-
+ character function.
+
+ When using <STRONG>get_wch</STRONG>, <STRONG>wget_wch</STRONG>, <STRONG>mvget_wch</STRONG>, or <STRONG>mvwget_wch</STRONG>, applications
+ should not use <STRONG>nocbreak</STRONG> mode and <STRONG>echo</STRONG> mode at the same time. Depending
+ on the state of the tty driver when each character is typed, the pro-
+ gram may produce undesirable results.
All functions except <STRONG>wget_wch</STRONG> and <STRONG>unget_wch</STRONG> may be macros.
-</PRE>
-<H2>RETURN VALUE</H2><PRE>
- When <STRONG>get_wch</STRONG>, <STRONG>wget_wch</STRONG>, <STRONG>mvget_wch</STRONG>, and <STRONG>mvwget_wch</STRONG> func-
- tions successfully report the pressing of a function key,
- they return <STRONG>KEY_CODE_YES</STRONG>. When they successfully report a
- wide character, they return <STRONG>OK</STRONG>. Otherwise, they return
- <STRONG>ERR</STRONG>.
+</PRE><H2><a name="h2-RETURN-VALUE">RETURN VALUE</a></H2><PRE>
+ When <STRONG>get_wch</STRONG>, <STRONG>wget_wch</STRONG>, <STRONG>mvget_wch</STRONG>, and <STRONG>mvwget_wch</STRONG> functions successful-
+ ly report the pressing of a function key, they return <STRONG>KEY_CODE_YES</STRONG>.
+ When they successfully report a wide character, they return <STRONG>OK</STRONG>. Other-
+ wise, they return <STRONG>ERR</STRONG>.
- Upon successful completion, <STRONG>unget_wch</STRONG> returns <STRONG>OK</STRONG>. Other-
- wise, the function returns <STRONG>ERR</STRONG>.
+ Upon successful completion, <STRONG>unget_wch</STRONG> returns <STRONG>OK</STRONG>. Otherwise, the func-
+ tion returns <STRONG>ERR</STRONG>.
- Functions with a "mv" prefix first perform a cursor move-
- ment using <STRONG>wmove</STRONG>, and return an error if the position is
- outside the window, or if the window pointer is null.
+ Functions with a "mv" prefix first perform 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.
-</PRE>
-<H2>SEE ALSO</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_ins_wch.3x.html">curs_ins_wch(3x)</A></STRONG>,
- <STRONG><A HREF="curs_inopts.3x.html">curs_inopts(3x)</A></STRONG>, <STRONG><A HREF="curs_move.3x.html">curs_move(3x)</A></STRONG>, <STRONG><A HREF="curs_refresh.3x.html">curs_refresh(3x)</A></STRONG>
+</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_ins_wch.3x.html">curs_ins_wch(3x)</A></STRONG>, <STRONG><A HREF="curs_inopts.3x.html">curs_inopts(3x)</A></STRONG>,
+ <STRONG><A HREF="curs_move.3x.html">curs_move(3x)</A></STRONG>, <STRONG><A HREF="curs_refresh.3x.html">curs_refresh(3x)</A></STRONG>
- <STRONG><A HREF="curs_get_wch.3x.html">curs_get_wch(3x)</A></STRONG>
+ <STRONG><A HREF="curs_get_wch.3x.html">curs_get_wch(3x)</A></STRONG>
</PRE>
-<HR>
-<ADDRESS>
-Man(1) output converted with
-<a href="http://www.oac.uci.edu/indiv/ehood/man2html.html">man2html</a>
-</ADDRESS>
+<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>
+<li><a href="#h2-NOTES">NOTES</a></li>
+<li><a href="#h2-RETURN-VALUE">RETURN VALUE</a></li>
+<li><a href="#h2-SEE-ALSO">SEE ALSO</a></li>
+</ul>
+</div>
</BODY>
</HTML>
diff --git a/doc/html/man/curs_get_wstr.3x.html b/doc/html/man/curs_get_wstr.3x.html
index d3d709cd9d21..07081e981818 100644
--- a/doc/html/man/curs_get_wstr.3x.html
+++ b/doc/html/man/curs_get_wstr.3x.html
@@ -1,7 +1,6 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN">
<!--
****************************************************************************
- * Copyright (c) 2002-2010,2012 Free Software Foundation, Inc. *
+ * Copyright (c) 2002-2018,2019 Free Software Foundation, Inc. *
* *
* Permission is hereby granted, free of charge, to any person obtaining a *
* copy of this software and associated documentation files (the *
@@ -27,33 +26,32 @@
* sale, use or other dealings in this Software without prior written *
* authorization. *
****************************************************************************
- * @Id: curs_get_wstr.3x,v 1.9 2012/11/03 23:03:59 tom Exp @
+ * @Id: curs_get_wstr.3x,v 1.19 2019/11/30 20:59:22 tom Exp @
-->
+<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN">
<HTML>
<HEAD>
+<meta http-equiv="Content-Type" content="text/html; charset=us-ascii">
+<meta name="generator" content="Manpage converted by man2html - see https://invisible-island.net/scripts/readme.html#others_scripts">
<TITLE>curs_get_wstr 3x</TITLE>
-<link rev=made href="mailto:bug-ncurses@gnu.org">
+<link rel="author" href="mailto:bug-ncurses@gnu.org">
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
</HEAD>
<BODY>
-<H1>curs_get_wstr 3x</H1>
-<HR>
+<H1 class="no-header">curs_get_wstr 3x</H1>
<PRE>
-<!-- Manpage converted by man2html 3.0.1 -->
-<STRONG><A HREF="curs_get_wstr.3x.html">curs_get_wstr(3x)</A></STRONG> <STRONG><A HREF="curs_get_wstr.3x.html">curs_get_wstr(3x)</A></STRONG>
+<STRONG><A HREF="curs_get_wstr.3x.html">curs_get_wstr(3x)</A></STRONG> <STRONG><A HREF="curs_get_wstr.3x.html">curs_get_wstr(3x)</A></STRONG>
-</PRE>
-<H2>NAME</H2><PRE>
- <STRONG>get_wstr</STRONG>, <STRONG>getn_wstr</STRONG>, <STRONG>wget_wstr</STRONG>, <STRONG>wgetn_wstr</STRONG>, <STRONG>mvget_wstr</STRONG>,
- <STRONG>mvgetn_wstr</STRONG>, <STRONG>mvwget_wstr</STRONG>, <STRONG>mvwgetn_wstr</STRONG> - get an array of
- wide characters from a curses terminal keyboard
+</PRE><H2><a name="h2-NAME">NAME</a></H2><PRE>
+ <STRONG>get_wstr</STRONG>, <STRONG>getn_wstr</STRONG>, <STRONG>wget_wstr</STRONG>, <STRONG>wgetn_wstr</STRONG>, <STRONG>mvget_wstr</STRONG>, <STRONG>mvgetn_wstr</STRONG>,
+ <STRONG>mvwget_wstr</STRONG>, <STRONG>mvwgetn_wstr</STRONG> - get an array of wide characters from a
+ curses terminal keyboard
-</PRE>
-<H2>SYNOPSIS</H2><PRE>
+</PRE><H2><a name="h2-SYNOPSIS">SYNOPSIS</a></H2><PRE>
<STRONG>#include</STRONG> <STRONG>&lt;curses.h&gt;</STRONG>
<STRONG>int</STRONG> <STRONG>get_wstr(wint_t</STRONG> <STRONG>*</STRONG><EM>wstr</EM><STRONG>);</STRONG>
@@ -66,101 +64,120 @@
<STRONG>int</STRONG> <STRONG>mvwgetn_wstr(WINDOW</STRONG> <STRONG>*</STRONG><EM>win</EM><STRONG>,</STRONG> <STRONG>int</STRONG> <EM>y</EM><STRONG>,</STRONG> <STRONG>int</STRONG> <EM>x</EM><STRONG>,</STRONG> <STRONG>wint_t</STRONG> <STRONG>*</STRONG><EM>wstr</EM><STRONG>,</STRONG> <STRONG>int</STRONG> <EM>n</EM><STRONG>);</STRONG>
-</PRE>
-<H2>DESCRIPTION</H2><PRE>
- The effect of <STRONG>get_wstr</STRONG> is as though a series of calls to
- <STRONG>get_wch</STRONG> were made, until a newline, other end-of-line, or
- end-of-file condition is processed. An end-of-file condi-
- tion is represented by <STRONG>WEOF</STRONG>, as defined in <STRONG>&lt;wchar.h&gt;</STRONG>. The
- newline and end-of-line conditions are represented by the
- <STRONG>\n</STRONG> <STRONG>wchar_t</STRONG> value. In all instances, the end of the string
- is terminated by a null <STRONG>wchar_t</STRONG>. The routine places re-
- sulting values in the area pointed to by <EM>wstr</EM>.
+</PRE><H2><a name="h2-DESCRIPTION">DESCRIPTION</a></H2><PRE>
+ The effect of <STRONG>get_wstr</STRONG> is as though a series of calls to <STRONG><A HREF="curs_get_wch.3x.html">get_wch(3x)</A></STRONG>
+ were made, until a newline, other end-of-line, or end-of-file condition
+ is processed. An end-of-file condition is represented by <STRONG>WEOF</STRONG>, as de-
+ fined in <STRONG>&lt;wchar.h&gt;</STRONG>. The newline and end-of-line conditions are repre-
+ sented by the <STRONG>\n</STRONG> <STRONG>wchar_t</STRONG> value. In all instances, the end of the
+ string is terminated by a null <STRONG>wchar_t</STRONG>. The routine places resulting
+ values in the area pointed to by <EM>wstr</EM>.
- The user's erase and kill characters are interpreted. If
- keypad mode is on for the window, <STRONG>KEY_LEFT</STRONG> and
- <STRONG>KEY_BACKSPACE</STRONG> are both considered equivalent to the user's
- kill character.
+ The user's erase and kill characters are interpreted. If keypad mode
+ is on for the window, <STRONG>KEY_LEFT</STRONG> and <STRONG>KEY_BACKSPACE</STRONG> are both considered
+ equivalent to the user's kill character.
- Characters input are echoed only if <STRONG>echo</STRONG> is currently on.
- In that case, backspace is echoed as deletion of the pre-
- vious character (typically a left motion).
+ Characters input are echoed only if <STRONG>echo</STRONG> is currently on. In that
+ case, backspace is echoed as deletion of the previous character (typi-
+ cally a left motion).
- The effect of <STRONG>wget_wstr</STRONG> is as though a series of calls to
- <STRONG>wget_wch</STRONG> were made.
+ The effect of <STRONG>wget_wstr</STRONG> is as though a series of calls to <STRONG>wget_wch</STRONG> were
+ made.
- The effect of <STRONG>mvget_wstr</STRONG> is as though a call to <STRONG>move</STRONG> and
- then a series of calls to <STRONG>get_wch</STRONG> were made.
+ The effect of <STRONG>mvget_wstr</STRONG> is as though a call to <STRONG>move</STRONG> and then a series
+ of calls to <STRONG>get_wch</STRONG> were made.
- The effect of <STRONG>mvwget_wstr</STRONG> is as though a call to <STRONG>wmove</STRONG> and
- then a series of calls to <STRONG>wget_wch</STRONG> were made.
+ The effect of <STRONG>mvwget_wstr</STRONG> is as though a call to <STRONG>wmove</STRONG> and then a se-
+ ries of calls to <STRONG>wget_wch</STRONG> were made.
- The <STRONG>getn_wstr</STRONG>, <STRONG>mvgetn_wstr</STRONG>, <STRONG>mvwgetn_wstr</STRONG>, and <STRONG>wgetn_wstr</STRONG>
- functions are identical to the <STRONG>get_wstr</STRONG>, <STRONG>mvget_wstr</STRONG>,
- <STRONG>mvwget_wstr</STRONG>, and <STRONG>wget_wstr</STRONG> functions, respectively, except
- that the <STRONG>*n_*</STRONG> versions read at most <EM>n</EM> characters, letting
- the application prevent overflow of the input buffer.
+ The <STRONG>getn_wstr</STRONG>, <STRONG>mvgetn_wstr</STRONG>, <STRONG>mvwgetn_wstr</STRONG>, and <STRONG>wgetn_wstr</STRONG> functions are
+ identical to the <STRONG>get_wstr</STRONG>, <STRONG>mvget_wstr</STRONG>, <STRONG>mvwget_wstr</STRONG>, and <STRONG>wget_wstr</STRONG> func-
+ tions, respectively, except that the <STRONG>*n_*</STRONG> versions read at most <EM>n</EM> char-
+ acters, letting the application prevent overflow of the input buffer.
-</PRE>
-<H2>NOTES</H2><PRE>
- Using <STRONG>get_wstr</STRONG>, <STRONG>mvget_wstr</STRONG>, <STRONG>mvwget_wstr</STRONG>, or <STRONG>wget_wstr</STRONG> to
- read a line that overflows the array pointed to by <STRONG>wstr</STRONG>
- causes undefined results. The use of <STRONG>getn_wstr</STRONG>,
- <STRONG>mvgetn_wstr</STRONG>, <STRONG>mvwgetn_wstr</STRONG>, or <STRONG>wgetn_wstr</STRONG>, respectively, is
- recommended.
+</PRE><H2><a name="h2-NOTES">NOTES</a></H2><PRE>
+ Using <STRONG>get_wstr</STRONG>, <STRONG>mvget_wstr</STRONG>, <STRONG>mvwget_wstr</STRONG>, or <STRONG>wget_wstr</STRONG> to read a line
+ that overflows the array pointed to by <STRONG>wstr</STRONG> causes undefined results.
+ The use of <STRONG>getn_wstr</STRONG>, <STRONG>mvgetn_wstr</STRONG>, <STRONG>mvwgetn_wstr</STRONG>, or <STRONG>wgetn_wstr</STRONG>, respec-
+ tively, is recommended.
- These functions cannot return <STRONG>KEY_</STRONG> values because there is
- no way to distinguish a <STRONG>KEY_</STRONG> value from a valid <STRONG>wchar_t</STRONG>
- value.
+ These functions cannot return <STRONG>KEY_</STRONG> values because there is no way to
+ distinguish a <STRONG>KEY_</STRONG> value from a valid <STRONG>wchar_t</STRONG> value.
All of these routines except <STRONG>wgetn_wstr</STRONG> may be macros.
-</PRE>
-<H2>RETURN VALUE</H2><PRE>
- All of these functions return <STRONG>OK</STRONG> upon successful comple-
- tion. Otherwise, they return <STRONG>ERR</STRONG>.
+</PRE><H2><a name="h2-RETURN-VALUE">RETURN VALUE</a></H2><PRE>
+ All of these functions return <STRONG>OK</STRONG> upon successful completion. Other-
+ wise, they return <STRONG>ERR</STRONG>.
- Functions using a window parameter return an error if it
- is null.
+ Functions using a window parameter return an error if it is null.
<STRONG>wgetn_wstr</STRONG>
- returns an error if the associated call to
- <STRONG>wget_wch</STRONG> failed.
+ returns an error if the associated call to <STRONG>wget_wch</STRONG> failed.
- Functions with a "mv" prefix first perform a cursor move-
- ment using <STRONG>wmove</STRONG>, and return an error if the position is
- outside the window, or if the window pointer is null.
+ Functions with a "mv" prefix first perform 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.
-</PRE>
-<H2>PORTABILITY</H2><PRE>
- These functions are described in The Single Unix Specifi-
- cation, Version 2. No error conditions are defined. This
- implementation returns ERR if the window pointer is null,
- or if the lower-level <STRONG>wget_wch</STRONG> call returns an ERR. In
- the latter case, an ERR return without other data is
- treated as an end-of-file condition, and the returned ar-
- ray contains a <STRONG>WEOF</STRONG> followed by a null <STRONG>wchar_t</STRONG>.
+</PRE><H2><a name="h2-PORTABILITY">PORTABILITY</a></H2><PRE>
+ These functions are described in The Single Unix Specification, Version
+ 2. No error conditions are defined. This implementation returns <STRONG>ERR</STRONG>
+ if the window pointer is null, or if the lower-level <STRONG>wget_wch</STRONG> call re-
+ turns an <STRONG>ERR</STRONG>. In the latter case, an <STRONG>ERR</STRONG> return without other data is
+ treated as an end-of-file condition, and the returned array contains a
+ <STRONG>WEOF</STRONG> followed by a null <STRONG>wchar_t</STRONG>.
- X/Open curses documents these functions to pass an array
- of <STRONG>wchar_t</STRONG>, but all of the vendors implement this using
- <STRONG>wint_t</STRONG>.
+ X/Open curses documented these functions to pass an array of <STRONG>wchar_t</STRONG> in
+ 1997, but that was an error because of this part of the description:
+ The effect of <EM>get</EM><STRONG>_</STRONG><EM>wstr()</EM> is as though a series of calls to
+ <EM>get</EM><STRONG>_</STRONG><EM>wch()</EM> were made, until a newline character, end-of-line
+ character, or end-of-file character is processed.
-</PRE>
-<H2>SEE ALSO</H2><PRE>
+ The latter function <EM>get</EM><STRONG>_</STRONG><EM>wch()</EM> can return a negative value, while
+ <STRONG>wchar_t</STRONG> is a unsigned type. All of the vendors implement this using
+ <STRONG>wint_t</STRONG>, following the standard.
+
+ X/Open Curses, Issue 7 (2009) is unclear regarding whether the termi-
+ nating <EM>null</EM> <STRONG>wchar_t</STRONG> value is counted in the length parameter <EM>n</EM>. X/Open
+ Curses, Issue 7 revised the corresponding description of <STRONG>wgetnstr</STRONG> to
+ address this issue. The unrevised description of <STRONG>wget_nwstr</STRONG> can be in-
+ terpreted either way. This implementation counts the terminator in the
+ length.
+
+ X/Open Curses does not specify what happens if the length <EM>n</EM> is nega-
+ tive.
+
+ <STRONG>o</STRONG> For analogy with <STRONG>wgetnstr</STRONG>, ncurses 6.2 uses a limit (based on
+ <STRONG>LINE_MAX</STRONG>).
+
+ <STRONG>o</STRONG> Some other implementations (such as Solaris xcurses) do the same,
+ while others (PDCurses) do not allow this.
+
+ <STRONG>o</STRONG> NetBSD 7 curses imitates ncurses 6.1 in this regard, treating a <STRONG>-1</STRONG>
+ as an indefinite number of characters.
+
+
+</PRE><H2><a name="h2-SEE-ALSO">SEE ALSO</a></H2><PRE>
Functions: <STRONG><A HREF="ncurses.3x.html">curses(3x)</A></STRONG>, <STRONG><A HREF="curs_get_wch.3x.html">curs_get_wch(3x)</A></STRONG>, <STRONG><A HREF="curs_getstr.3x.html">curs_getstr(3x)</A></STRONG>.
- <STRONG><A HREF="curs_get_wstr.3x.html">curs_get_wstr(3x)</A></STRONG>
+ <STRONG><A HREF="curs_get_wstr.3x.html">curs_get_wstr(3x)</A></STRONG>
</PRE>
-<HR>
-<ADDRESS>
-Man(1) output converted with
-<a href="http://www.oac.uci.edu/indiv/ehood/man2html.html">man2html</a>
-</ADDRESS>
+<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>
+<li><a href="#h2-NOTES">NOTES</a></li>
+<li><a href="#h2-RETURN-VALUE">RETURN VALUE</a></li>
+<li><a href="#h2-PORTABILITY">PORTABILITY</a></li>
+<li><a href="#h2-SEE-ALSO">SEE ALSO</a></li>
+</ul>
+</div>
</BODY>
</HTML>
diff --git a/doc/html/man/curs_getcchar.3x.html b/doc/html/man/curs_getcchar.3x.html
index 6bd64861116b..504f54a733bb 100644
--- a/doc/html/man/curs_getcchar.3x.html
+++ b/doc/html/man/curs_getcchar.3x.html
@@ -1,7 +1,6 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN">
<!--
****************************************************************************
- * Copyright (c) 2001-2010,2012 Free Software Foundation, Inc. *
+ * Copyright (c) 2001-2017,2019 Free Software Foundation, Inc. *
* *
* Permission is hereby granted, free of charge, to any person obtaining a *
* copy of this software and associated documentation files (the *
@@ -27,33 +26,31 @@
* sale, use or other dealings in this Software without prior written *
* authorization. *
****************************************************************************
- * @Id: curs_getcchar.3x,v 1.16 2012/11/03 23:03:59 tom Exp @
+ * @Id: curs_getcchar.3x,v 1.23 2019/11/30 22:22:32 tom Exp @
-->
+<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN">
<HTML>
<HEAD>
+<meta http-equiv="Content-Type" content="text/html; charset=us-ascii">
+<meta name="generator" content="Manpage converted by man2html - see https://invisible-island.net/scripts/readme.html#others_scripts">
<TITLE>curs_getcchar 3x</TITLE>
-<link rev=made href="mailto:bug-ncurses@gnu.org">
+<link rel="author" href="mailto:bug-ncurses@gnu.org">
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
</HEAD>
<BODY>
-<H1>curs_getcchar 3x</H1>
-<HR>
+<H1 class="no-header">curs_getcchar 3x</H1>
<PRE>
-<!-- Manpage converted by man2html 3.0.1 -->
-<STRONG><A HREF="curs_getcchar.3x.html">curs_getcchar(3x)</A></STRONG> <STRONG><A HREF="curs_getcchar.3x.html">curs_getcchar(3x)</A></STRONG>
+<STRONG><A HREF="curs_getcchar.3x.html">curs_getcchar(3x)</A></STRONG> <STRONG><A HREF="curs_getcchar.3x.html">curs_getcchar(3x)</A></STRONG>
-</PRE>
-<H2>NAME</H2><PRE>
- <STRONG>getcchar</STRONG>, <STRONG>setcchar</STRONG> - Get a wide character string and ren-
- dition from a <STRONG>cchar_t</STRONG> or set a <STRONG>cchar_t</STRONG> from a wide-charac-
- ter string
+</PRE><H2><a name="h2-NAME">NAME</a></H2><PRE>
+ <STRONG>getcchar</STRONG>, <STRONG>setcchar</STRONG> - Get a wide character string and rendition from a
+ <STRONG>cchar_t</STRONG> or set a <STRONG>cchar_t</STRONG> from a wide-character string
-</PRE>
-<H2>SYNOPSIS</H2><PRE>
+</PRE><H2><a name="h2-SYNOPSIS">SYNOPSIS</a></H2><PRE>
<STRONG>#include</STRONG> <STRONG>&lt;curses.h&gt;</STRONG>
<STRONG>int</STRONG> <STRONG>getcchar(</STRONG>
@@ -68,91 +65,154 @@
<STRONG>const</STRONG> <STRONG>wchar_t</STRONG> <STRONG>*</STRONG><EM>wch</EM><STRONG>,</STRONG>
<STRONG>const</STRONG> <STRONG>attr_t</STRONG> <EM>attrs</EM><STRONG>,</STRONG>
<STRONG>short</STRONG> <EM>color</EM><STRONG>_</STRONG><EM>pair</EM><STRONG>,</STRONG>
- <STRONG>void</STRONG> <STRONG>*</STRONG><EM>opts</EM> <STRONG>);</STRONG>
+ <STRONG>const</STRONG> <STRONG>void</STRONG> <STRONG>*</STRONG><EM>opts</EM> <STRONG>);</STRONG>
-</PRE>
-<H2>DESCRIPTION</H2><PRE>
- The <STRONG>getcchar</STRONG> function gets a wide-character string and
- rendition from a <STRONG>cchar_t</STRONG> argument. When <EM>wch</EM> is not a null
- pointer, the <STRONG>getcchar</STRONG> function does the following:
+</PRE><H2><a name="h2-DESCRIPTION">DESCRIPTION</a></H2><PRE>
+
+</PRE><H3><a name="h3-getcchar">getcchar</a></H3><PRE>
+ The <STRONG>getcchar</STRONG> function gets a wide-character string and rendition from a
+ <STRONG>cchar_t</STRONG> argument. When <EM>wch</EM> is not a null pointer, the <STRONG>getcchar</STRONG> func-
+ tion does the following:
<STRONG>o</STRONG> Extracts information from a <STRONG>cchar_t</STRONG> value <EM>wcval</EM>
- <STRONG>o</STRONG> Stores the character attributes in the location
- pointed to by <EM>attrs</EM>
+ <STRONG>o</STRONG> Stores the character attributes in the location pointed to by <EM>attrs</EM>
- <STRONG>o</STRONG> Stores the color-pair in the location pointed to by
- <EM>color</EM><STRONG>_</STRONG><EM>pair</EM>
+ <STRONG>o</STRONG> Stores the color-pair in the location pointed to by <EM>color</EM><STRONG>_</STRONG><EM>pair</EM>
- <STRONG>o</STRONG> Stores the wide-character string, characters refer-
- enced by <EM>wcval</EM>, into the array pointed to by <EM>wch</EM>.
+ <STRONG>o</STRONG> Stores the wide-character string, characters referenced by <EM>wcval</EM>,
+ into the array pointed to by <EM>wch</EM>.
- When <EM>wch</EM> is a null pointer, the <STRONG>getcchar</STRONG> function does the
- following:
+ When <EM>wch</EM> is a null pointer, the <STRONG>getcchar</STRONG> function does the following:
- <STRONG>o</STRONG> Obtains the number of wide characters pointed to by
- <EM>wcval</EM>
+ <STRONG>o</STRONG> Obtains the number of wide characters pointed to by <EM>wcval</EM>
- <STRONG>o</STRONG> Does not change the data referenced by <EM>attrs</EM> or
- <EM>color</EM><STRONG>_</STRONG><EM>pair</EM>
+ <STRONG>o</STRONG> Does not change the data referenced by <EM>attrs</EM> or <EM>color</EM><STRONG>_</STRONG><EM>pair</EM>
- The <STRONG>setcchar</STRONG> function initializes the location pointed to
- by <EM>wcval</EM> by using:
+
+</PRE><H3><a name="h3-setcchar">setcchar</a></H3><PRE>
+ The <STRONG>setcchar</STRONG> function initializes the location pointed to by <EM>wcval</EM> by
+ using:
<STRONG>o</STRONG> The character attributes in <EM>attrs</EM>
<STRONG>o</STRONG> The color pair in <EM>color</EM><STRONG>_</STRONG><EM>pair</EM>
- <STRONG>o</STRONG> The wide-character string pointed to by <EM>wch</EM>. The
- string must be L'\0' terminated, contain at most one
- spacing character, which must be the first.
+ <STRONG>o</STRONG> The wide-character string pointed to by <EM>wch</EM>. The string must be
+ L'\0' terminated, contain at most one spacing character, which must
+ be the first.
- Up to <STRONG>CCHARW_MAX</STRONG>-1 nonspacing characters may follow.
- Additional nonspacing characters are ignored.
+ Up to <STRONG>CCHARW_MAX</STRONG>-1 nonspacing characters may follow. Additional
+ nonspacing characters are ignored.
- The string may contain a single control character
- instead. In that case, no nonspacing characters are
- allowed.
+ The string may contain a single control character instead. In that
+ case, no nonspacing characters are allowed.
-</PRE>
-<H2>NOTES</H2><PRE>
- The <EM>opts</EM> argument is reserved for future use. Currently,
- an application must provide a null pointer as <EM>opts</EM>.
+</PRE><H2><a name="h2-EXTENSIONS">EXTENSIONS</a></H2><PRE>
+ X/Open Curses documents the <EM>opts</EM> argument as reserved for future use,
+ saying that it must be null. This implementation uses that parameter
+ in ABI 6 for the functions which have a color-pair parameter to support
+ extended color pairs:
- The <EM>wcval</EM> argument may be a value generated by a call to
- <STRONG>setcchar</STRONG> or by a function that has a <STRONG>cchar_t</STRONG> output argu-
- ment. If <EM>wcval</EM> is constructed by any other means, the
- effect is unspecified.
+ <STRONG>o</STRONG> For functions which modify the color, e.g., <STRONG>setcchar</STRONG>, if <EM>opts</EM> is
+ set it is treated as a pointer to <STRONG>int</STRONG>, and used to set the color
+ pair instead of the <STRONG>short</STRONG> pair parameter.
+ <STRONG>o</STRONG> For functions which retrieve the color, e.g., <STRONG>getcchar</STRONG>, if <EM>opts</EM> is
+ set it is treated as a pointer to <STRONG>int</STRONG>, and used to retrieve the
+ color pair as an <STRONG>int</STRONG> value, in addition retrieving it via the stan-
+ dard pointer to <STRONG>short</STRONG> parameter.
-</PRE>
-<H2>RETURN VALUE</H2><PRE>
- When <EM>wch</EM> is a null pointer, <STRONG>getcchar</STRONG> returns the number of
- wide characters referenced by <EM>wcval</EM>, including one for a
- trailing null.
- When <EM>wch</EM> is not a null pointer, <STRONG>getcchar</STRONG> returns <STRONG>OK</STRONG> upon
- successful completion, and <STRONG>ERR</STRONG> otherwise.
+</PRE><H2><a name="h2-NOTES">NOTES</a></H2><PRE>
+ The <EM>wcval</EM> argument may be a value generated by a call to <STRONG>setcchar</STRONG> or by
+ a function that has a <STRONG>cchar_t</STRONG> output argument. If <EM>wcval</EM> is constructed
+ by any other means, the effect is unspecified.
- Upon successful completion, <STRONG>setcchar</STRONG> returns <STRONG>OK</STRONG>. Other-
- wise, it returns <STRONG>ERR</STRONG>.
+</PRE><H2><a name="h2-RETURN-VALUE">RETURN VALUE</a></H2><PRE>
+ When <EM>wch</EM> is a null pointer, <STRONG>getcchar</STRONG> returns the number of wide charac-
+ ters referenced by <EM>wcval</EM>, including one for a trailing null.
-</PRE>
-<H2>SEE ALSO</H2><PRE>
- Functions: <STRONG><A HREF="curs_attr.3x.html">curs_attr(3x)</A></STRONG>, <STRONG><A HREF="curs_color.3x.html">curs_color(3x)</A></STRONG>, <STRONG><A HREF="ncurses.3x.html">curses(3x)</A></STRONG>,
- <STRONG>wcwidth(3)</STRONG>.
+ When <EM>wch</EM> is not a null pointer, <STRONG>getcchar</STRONG> returns <STRONG>OK</STRONG> upon successful
+ completion, and <STRONG>ERR</STRONG> otherwise.
+
+ Upon successful completion, <STRONG>setcchar</STRONG> returns <STRONG>OK</STRONG>. Otherwise, it returns
+ <STRONG>ERR</STRONG>.
+
+
+</PRE><H2><a name="h2-PORTABILITY">PORTABILITY</a></H2><PRE>
+ The <STRONG>CCHARW_MAX</STRONG> symbol is specific to ncurses. X/Open Curses does not
+ provide details for the layout of the <STRONG>cchar_t</STRONG> structure. It tells what
+ data are stored in it:
+
+ <STRONG>o</STRONG> a spacing character (<STRONG>wchar_t</STRONG>, i.e., 32-bits).
+
+ <STRONG>o</STRONG> non-spacing characters (again, <STRONG>wchar_t</STRONG>'s).
+
+ <STRONG>o</STRONG> attributes (at least 16 bits, inferred from the various ACS- and
+ WACS-flags).
+
+ <STRONG>o</STRONG> color pair (at least 16 bits, inferred from the <STRONG>unsigned</STRONG> <STRONG>short</STRONG>
+ type).
+
+ The non-spacing characters are optional, in the sense that zero or more
+ may be stored in a <STRONG>cchar_t</STRONG>. XOpen/Curses specifies a limit:
+
+ Implementations may limit the number of non-spacing characters that
+ can be associated with a spacing character, provided any limit is
+ at least 5.
+
+ The Unix implementations at the time follow that limit:
+
+ <STRONG>o</STRONG> AIX 4 and OSF1 4 use the same declaration with an array of 5 non-
+ spacing characters <EM>z</EM> and a single spacing character <EM>c</EM>.
+
+ <STRONG>o</STRONG> HP-UX 10 uses an opaque structure with 28 bytes, which is large
+ enough for the 6 <STRONG>wchar_t</STRONG> values.
+
+ <STRONG>o</STRONG> Solaris xpg4 curses uses a single array of 6 <STRONG>wchar_t</STRONG> values.
+
+ This implementation's <STRONG>cchar_t</STRONG> was defined in 1995 using <STRONG>5</STRONG> for the total
+ of spacing and non-spacing characters (<STRONG>CCHARW_MAX</STRONG>). That was probably
+ due to a misreading of the AIX 4 header files, because the X/Open
+ Curses document was not generally available at that time. Later (in
+ 2002), this detail was overlooked when beginning to implement the func-
+ tions using the structure.
+
+ In practice, even four non-spacing characters may seem enough. X/Open
+ Curses documents possible uses for non-spacing characters, including
+ using them for ligatures between characters (a feature apparently not
+ supported by any curses implementation). Unicode does not limit the
+ (analogous) number of combining characters, so some applications may be
+ affected.
+
+
+</PRE><H2><a name="h2-SEE-ALSO">SEE ALSO</a></H2><PRE>
+ Functions: <STRONG><A HREF="curs_attr.3x.html">curs_attr(3x)</A></STRONG>, <STRONG><A HREF="curs_color.3x.html">curs_color(3x)</A></STRONG>, <STRONG><A HREF="ncurses.3x.html">curses(3x)</A></STRONG>, <STRONG>wcwidth(3)</STRONG>.
- <STRONG><A HREF="curs_getcchar.3x.html">curs_getcchar(3x)</A></STRONG>
+ <STRONG><A HREF="curs_getcchar.3x.html">curs_getcchar(3x)</A></STRONG>
</PRE>
-<HR>
-<ADDRESS>
-Man(1) output converted with
-<a href="http://www.oac.uci.edu/indiv/ehood/man2html.html">man2html</a>
-</ADDRESS>
+<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>
+<ul>
+<li><a href="#h3-getcchar">getcchar</a></li>
+<li><a href="#h3-setcchar">setcchar</a></li>
+</ul>
+</li>
+<li><a href="#h2-EXTENSIONS">EXTENSIONS</a></li>
+<li><a href="#h2-NOTES">NOTES</a></li>
+<li><a href="#h2-RETURN-VALUE">RETURN VALUE</a></li>
+<li><a href="#h2-PORTABILITY">PORTABILITY</a></li>
+<li><a href="#h2-SEE-ALSO">SEE ALSO</a></li>
+</ul>
+</div>
</BODY>
</HTML>
diff --git a/doc/html/man/curs_getch.3x.html b/doc/html/man/curs_getch.3x.html
index 64953795ad9b..e8ccf097241a 100644
--- a/doc/html/man/curs_getch.3x.html
+++ b/doc/html/man/curs_getch.3x.html
@@ -1,8 +1,7 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN">
<!--
* t
****************************************************************************
- * Copyright (c) 1998-2011,2012 Free Software Foundation, Inc. *
+ * Copyright (c) 1998-2018,2019 Free Software Foundation, Inc. *
* *
* Permission is hereby granted, free of charge, to any person obtaining a *
* copy of this software and associated documentation files (the *
@@ -28,328 +27,377 @@
* sale, use or other dealings in this Software without prior written *
* authorization. *
****************************************************************************
- * @Id: curs_getch.3x,v 1.37 2012/07/07 20:04:56 tom Exp @
+ * @Id: curs_getch.3x,v 1.54 2019/11/30 21:06:30 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</TITLE>
-<link rev=made href="mailto:bug-ncurses@gnu.org">
+<link rel="author" href="mailto:bug-ncurses@gnu.org">
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
</HEAD>
<BODY>
-<H1>curs_getch 3x</H1>
-<HR>
+<H1 class="no-header">curs_getch 3x</H1>
<PRE>
-<!-- Manpage converted by man2html 3.0.1 -->
-<STRONG><A HREF="curs_getch.3x.html">curs_getch(3x)</A></STRONG> <STRONG><A HREF="curs_getch.3x.html">curs_getch(3x)</A></STRONG>
+<STRONG><A HREF="curs_getch.3x.html">curs_getch(3x)</A></STRONG> <STRONG><A HREF="curs_getch.3x.html">curs_getch(3x)</A></STRONG>
-</PRE>
-<H2>NAME</H2><PRE>
- <STRONG>getch</STRONG>, <STRONG>wgetch</STRONG>, <STRONG>mvgetch</STRONG>, <STRONG>mvwgetch</STRONG>, <STRONG>ungetch</STRONG>, <STRONG>has_key</STRONG> - get
- (or push back) characters from <STRONG>curses</STRONG> terminal keyboard
+</PRE><H2><a name="h2-NAME">NAME</a></H2><PRE>
+ <STRONG>getch</STRONG>, <STRONG>wgetch</STRONG>, <STRONG>mvgetch</STRONG>, <STRONG>mvwgetch</STRONG>, <STRONG>ungetch</STRONG>, <STRONG>has_key</STRONG> - get (or push back)
+ characters from <STRONG>curses</STRONG> terminal keyboard
-</PRE>
-<H2>SYNOPSIS</H2><PRE>
+</PRE><H2><a name="h2-SYNOPSIS">SYNOPSIS</a></H2><PRE>
<STRONG>#include</STRONG> <STRONG>&lt;curses.h&gt;</STRONG>
<STRONG>int</STRONG> <STRONG>getch(void);</STRONG>
- <STRONG>int</STRONG> <STRONG>wgetch(WINDOW</STRONG> <STRONG>*win);</STRONG>
- <STRONG>int</STRONG> <STRONG>mvgetch(int</STRONG> <STRONG>y,</STRONG> <STRONG>int</STRONG> <STRONG>x);</STRONG>
- <STRONG>int</STRONG> <STRONG>mvwgetch(WINDOW</STRONG> <STRONG>*win,</STRONG> <STRONG>int</STRONG> <STRONG>y,</STRONG> <STRONG>int</STRONG> <STRONG>x);</STRONG>
- <STRONG>int</STRONG> <STRONG>ungetch(int</STRONG> <STRONG>ch);</STRONG>
- <STRONG>int</STRONG> <STRONG>has_key(int</STRONG> <STRONG>ch);</STRONG>
+ <STRONG>int</STRONG> <STRONG>wgetch(WINDOW</STRONG> <STRONG>*</STRONG><EM>win);</EM>
+ <STRONG>int</STRONG> <STRONG>mvgetch(int</STRONG> <EM>y</EM><STRONG>,</STRONG> <STRONG>int</STRONG> <EM>x</EM><STRONG>);</STRONG>
+ <STRONG>int</STRONG> <STRONG>mvwgetch(WINDOW</STRONG> <STRONG>*</STRONG><EM>win</EM><STRONG>,</STRONG> <STRONG>int</STRONG> <EM>y</EM><STRONG>,</STRONG> <STRONG>int</STRONG> <EM>x</EM><STRONG>);</STRONG>
+ <STRONG>int</STRONG> <STRONG>ungetch(int</STRONG> <EM>ch</EM><STRONG>);</STRONG>
+ <STRONG>int</STRONG> <STRONG>has_key(int</STRONG> <EM>ch</EM><STRONG>);</STRONG>
+
+
+</PRE><H2><a name="h2-DESCRIPTION">DESCRIPTION</a></H2><PRE>
+
+</PRE><H3><a name="h3-Reading-characters">Reading characters</a></H3><PRE>
+ The <STRONG>getch</STRONG>, <STRONG>wgetch</STRONG>, <STRONG>mvgetch</STRONG> and <STRONG>mvwgetch</STRONG>, routines read a character from
+ the window. In no-delay mode, if no input is waiting, the value <STRONG>ERR</STRONG> is
+ returned. In delay mode, the program waits until the system passes
+ text through to the program. Depending on the setting of <STRONG>cbreak</STRONG>, this
+ is after one character (cbreak mode), or after the first newline
+ (nocbreak mode). In half-delay mode, the program waits until a charac-
+ ter is typed or the specified timeout has been reached.
+
+ If <STRONG>echo</STRONG> is enabled, and the window is not a pad, then the character
+ will also be echoed into the designated window according to the follow-
+ ing rules:
+
+ <STRONG>o</STRONG> If the character is the current erase character, left arrow, or
+ backspace, the cursor is moved one space to the left and that
+ screen position is erased as if <STRONG>delch</STRONG> had been called.
+
+ <STRONG>o</STRONG> If the character value is any other <STRONG>KEY_</STRONG> define, the user is alert-
+ ed with a <STRONG>beep</STRONG> call.
+
+ <STRONG>o</STRONG> If the character is a carriage-return, and if <STRONG>nl</STRONG> is enabled, it is
+ translated to a line-feed after echoing.
+
+ <STRONG>o</STRONG> 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 <STRONG>wrefresh</STRONG>, <STRONG>wrefresh</STRONG> will be called before another character
+ is read.
+
+
+</PRE><H3><a name="h3-Keypad-mode">Keypad mode</a></H3><PRE>
+ If <STRONG>keypad</STRONG> is <STRONG>TRUE</STRONG>, and a function key is pressed, the token for that
+ function key is returned instead of the raw characters:
+
+ <STRONG>o</STRONG> The predefined function keys are listed in <STRONG>&lt;curses.h&gt;</STRONG> as macros
+ with values outside the range of 8-bit characters. Their names be-
+ gin with <STRONG>KEY_</STRONG>.
+
+ <STRONG>o</STRONG> Other (user-defined) function keys which may be defined using <STRONG>de-</STRONG>
+ <STRONG><A HREF="define_key.3x.html">fine_key(3x)</A></STRONG> have no names, but also are expected to have values
+ outside the range of 8-bit characters.
+
+ Thus, a variable intended to hold the return value of a function key
+ must be of short size or larger.
+
+ When a character that could be the beginning of a function key is re-
+ ceived (which, on modern terminals, means an escape character), <STRONG>curses</STRONG>
+ sets a timer. If the remainder of the sequence does not come in within
+ the designated time, the character is passed through; otherwise, the
+ function key value is returned. For this reason, many terminals expe-
+ rience a delay between the time a user presses the escape key and the
+ escape is returned to the program.
+
+ In <STRONG>ncurses</STRONG>, the timer normally expires after the value in <STRONG>ESCDELAY</STRONG> (see
+ <STRONG><A HREF="curs_variables.3x.html">curs_variables(3x)</A></STRONG>). If <STRONG>notimeout</STRONG> is <STRONG>TRUE</STRONG>, the timer does not expire;
+ it is an infinite (or very large) value. Because function keys usually
+ begin with an escape character, the terminal may appear to hang in no-
+ timeout mode after pressing the escape key until another key is
+ pressed.
+
+
+</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 win-
+ dows.
+
+
+</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
+ <STRONG>keypad</STRONG> for <STRONG>getch</STRONG> to return these codes.
+
+ <STRONG>o</STRONG> Not all of these are necessarily supported on any particular termi-
+ nal.
+
+ <STRONG>o</STRONG> The naming convention may seem obscure, with some apparent mis-
+ spellings (such as "RSUME" for "resume"). The names correspond to
+ the long terminfo capability names for the keys, and were defined
+ long ago, in the 1980s.
+
+ <EM>Name</EM> <EM>Key</EM> <EM>name</EM>
+ -------------------------------------------------
+ KEY_BREAK Break key
+ KEY_DOWN The four arrow keys ...
+ KEY_UP
+ KEY_LEFT
+ KEY_RIGHT
+ KEY_HOME Home key (upward+left arrow)
+ KEY_BACKSPACE Backspace
+ KEY_F0 Function keys; space for 64 keys
+ is reserved.
+ KEY_F(<EM>n</EM>) For 0 &lt;= <EM>n</EM> &lt;= 63
+ KEY_DL Delete line
+ KEY_IL Insert line
+ KEY_DC Delete character
+ KEY_IC Insert char or enter insert mode
+ KEY_EIC Exit insert char mode
+ KEY_CLEAR Clear screen
+ KEY_EOS Clear to end of screen
+ KEY_EOL Clear to end of line
+ KEY_SF Scroll 1 line forward
+ KEY_SR Scroll 1 line backward (reverse)
+ KEY_NPAGE Next page
+ KEY_PPAGE Previous page
+ KEY_STAB Set tab
+ KEY_CTAB Clear tab
+ KEY_CATAB Clear all tabs
+ KEY_ENTER Enter or send
+ KEY_SRESET Soft (partial) reset
+ KEY_RESET Reset or hard reset
+ KEY_PRINT Print or copy
+ KEY_LL Home down or bottom (lower left)
+ KEY_A1 Upper left of keypad
+ KEY_A3 Upper right of keypad
+
+ KEY_B2 Center of keypad
+ KEY_C1 Lower left of keypad
+ KEY_C3 Lower right of keypad
+ KEY_BTAB Back tab key
+ KEY_BEG Beg(inning) key
+ KEY_CANCEL Cancel key
+ KEY_CLOSE Close key
+ KEY_COMMAND Cmd (command) key
+ KEY_COPY Copy key
+ KEY_CREATE Create key
+ KEY_END End key
+ KEY_EXIT Exit key
+ KEY_FIND Find key
+ KEY_HELP Help key
+ KEY_MARK Mark key
+ KEY_MESSAGE Message key
+ KEY_MOUSE Mouse event read
+ KEY_MOVE Move key
+ KEY_NEXT Next object key
+ KEY_OPEN Open key
+ KEY_OPTIONS Options key
+ KEY_PREVIOUS Previous object key
+ KEY_REDO Redo key
+ KEY_REFERENCE Ref(erence) key
+ KEY_REFRESH Refresh key
+ KEY_REPLACE Replace key
+ KEY_RESIZE Screen resized
+ KEY_RESTART Restart key
+ KEY_RESUME Resume key
+ KEY_SAVE Save key
+ KEY_SBEG Shifted beginning key
+ KEY_SCANCEL Shifted cancel key
+ KEY_SCOMMAND Shifted command key
+ KEY_SCOPY Shifted copy key
+ KEY_SCREATE Shifted create key
+ KEY_SDC Shifted delete char key
+ KEY_SDL Shifted delete line key
+ KEY_SELECT Select key
+ KEY_SEND Shifted end key
+ KEY_SEOL Shifted clear line key
+ KEY_SEXIT Shifted exit key
+ KEY_SFIND Shifted find key
+ KEY_SHELP Shifted help key
+ KEY_SHOME Shifted home key
+ KEY_SIC Shifted input key
+ KEY_SLEFT Shifted left arrow key
+ KEY_SMESSAGE Shifted message key
+ KEY_SMOVE Shifted move key
+ KEY_SNEXT Shifted next key
+ KEY_SOPTIONS Shifted options key
+ KEY_SPREVIOUS Shifted prev key
+ KEY_SPRINT Shifted print key
+ KEY_SREDO Shifted redo key
+ KEY_SREPLACE Shifted replace key
+ KEY_SRIGHT Shifted right arrow
+ KEY_SRSUME Shifted resume key
+ KEY_SSAVE Shifted save key
+ KEY_SSUSPEND Shifted suspend key
+ KEY_SUNDO Shifted undo key
+ KEY_SUSPEND Suspend key
+ KEY_UNDO Undo key
+ Keypad is arranged like this:
-</PRE>
-<H2>DESCRIPTION</H2><PRE>
- The <STRONG>getch</STRONG>, <STRONG>wgetch</STRONG>, <STRONG>mvgetch</STRONG> and <STRONG>mvwgetch</STRONG>, routines read a
- character from the window. In no-delay mode, if no input
- is waiting, the value <STRONG>ERR</STRONG> is returned. In delay mode, the
- program waits until the system passes text through to the
- program. Depending on the setting of <STRONG>cbreak</STRONG>, this is af-
- ter one character (cbreak mode), or after the first new-
- line (nocbreak mode). In half-delay mode, the program
- waits until a character is typed or the specified timeout
- has been reached.
-
- Unless <STRONG>noecho</STRONG> has been set, then the character will also
- be echoed into the designated window according to the fol-
- lowing rules: if the character is the current erase char-
- acter, left arrow, or backspace, the cursor is moved one
- space to the left and that screen position is erased as if
- <STRONG>delch</STRONG> had been called. If the character value is any oth-
- er <STRONG>KEY_</STRONG> define, the user is alerted with a <STRONG>beep</STRONG> call.
- Otherwise the character is simply output to the screen.
-
- If the window is not a pad, and it has been moved or modi-
- fied since the last call to <STRONG>wrefresh</STRONG>, <STRONG>wrefresh</STRONG> will be
- called before another character is read.
-
- If <STRONG>keypad</STRONG> is <STRONG>TRUE</STRONG>, and a function key is pressed, the to-
- ken for that function key is returned instead of the raw
- characters. Possible function keys are defined in <STRONG>&lt;curs-</STRONG>
- <STRONG>es.h&gt;</STRONG> as macros with values outside the range of 8-bit
- characters whose names begin with <STRONG>KEY_</STRONG>. Thus, a variable
- intended to hold the return value of a function key must
- be of short size or larger.
-
- When a character that could be the beginning of a function
- key is received (which, on modern terminals, means an es-
- cape character), <STRONG>curses</STRONG> sets a timer. If the remainder of
- the sequence does not come in within the designated time,
- the character is passed through; otherwise, the function
- key value is returned. For this reason, many terminals
- experience a delay between the time a user presses the es-
- cape key and the escape is returned to the program.
-
- The <STRONG>ungetch</STRONG> routine places <EM>ch</EM> back onto the input queue to
- be returned by the next call to <STRONG>wgetch</STRONG>. There is just one
- input queue for all windows.
-
- <STRONG>Function</STRONG> <STRONG>Keys</STRONG>
- The following function keys, defined in <STRONG>&lt;curses.h&gt;</STRONG>, might
- be returned by <STRONG>getch</STRONG> if <STRONG>keypad</STRONG> has been enabled. Note
- that not all of these are necessarily supported on any
- particular terminal.
-
-
- <EM>Name</EM> <EM>Key</EM> <EM>name</EM>
- KEY_BREAK Break key
- KEY_DOWN The four arrow keys ...
- KEY_UP
- KEY_LEFT
- KEY_RIGHT
- KEY_HOME Home key (upward+left arrow)
- KEY_BACKSPACE Backspace
- KEY_F0 Function keys; space for 64 keys
- is reserved.
- KEY_F(<EM>n</EM>) For 0 &lt;= <EM>n</EM> &lt;= 63
- KEY_DL Delete line
- KEY_IL Insert line
- KEY_DC Delete character
- KEY_IC Insert char or enter insert mode
- KEY_EIC Exit insert char mode
- KEY_CLEAR Clear screen
- KEY_EOS Clear to end of screen
- KEY_EOL Clear to end of line
- KEY_SF Scroll 1 line forward
- KEY_SR Scroll 1 line backward (reverse)
- KEY_NPAGE Next page
- KEY_PPAGE Previous page
- KEY_STAB Set tab
- KEY_CTAB Clear tab
- KEY_CATAB Clear all tabs
- KEY_ENTER Enter or send
- KEY_SRESET Soft (partial) reset
- KEY_RESET Reset or hard reset
- KEY_PRINT Print or copy
- KEY_LL Home down or bottom (lower left)
- KEY_A1 Upper left of keypad
- KEY_A3 Upper right of keypad
- KEY_B2 Center of keypad
- KEY_C1 Lower left of keypad
- KEY_C3 Lower right of keypad
- KEY_BTAB Back tab key
- KEY_BEG Beg(inning) key
- KEY_CANCEL Cancel key
- KEY_CLOSE Close key
- KEY_COMMAND Cmd (command) key
- KEY_COPY Copy key
- KEY_CREATE Create key
- KEY_END End key
- KEY_EXIT Exit key
- KEY_FIND Find key
- KEY_HELP Help key
- KEY_MARK Mark key
- KEY_MESSAGE Message key
- KEY_MOUSE Mouse event read
- KEY_MOVE Move key
- KEY_NEXT Next object key
- KEY_OPEN Open key
- KEY_OPTIONS Options key
- KEY_PREVIOUS Previous object key
- KEY_REDO Redo key
- KEY_REFERENCE Ref(erence) key
- KEY_REFRESH Refresh key
- KEY_REPLACE Replace key
- KEY_RESIZE Screen resized
- KEY_RESTART Restart key
-
- KEY_RESUME Resume key
- KEY_SAVE Save key
- KEY_SBEG Shifted beginning key
- KEY_SCANCEL Shifted cancel key
- KEY_SCOMMAND Shifted command key
- KEY_SCOPY Shifted copy key
- KEY_SCREATE Shifted create key
- KEY_SDC Shifted delete char key
- KEY_SDL Shifted delete line key
- KEY_SELECT Select key
- KEY_SEND Shifted end key
- KEY_SEOL Shifted clear line key
- KEY_SEXIT Shifted exit key
- KEY_SFIND Shifted find key
- KEY_SHELP Shifted help key
- KEY_SHOME Shifted home key
- KEY_SIC Shifted input key
- KEY_SLEFT Shifted left arrow key
- KEY_SMESSAGE Shifted message key
- KEY_SMOVE Shifted move key
- KEY_SNEXT Shifted next key
- KEY_SOPTIONS Shifted options key
- KEY_SPREVIOUS Shifted prev key
- KEY_SPRINT Shifted print key
- KEY_SREDO Shifted redo key
- KEY_SREPLACE Shifted replace key
- KEY_SRIGHT Shifted right arrow
- KEY_SRSUME Shifted resume key
- KEY_SSAVE Shifted save key
- KEY_SSUSPEND Shifted suspend key
- KEY_SUNDO Shifted undo key
- KEY_SUSPEND Suspend key
- KEY_UNDO Undo key
+ +-----+------+-------+
+ | <STRONG>A1</STRONG> | <STRONG>up</STRONG> | <STRONG>A3</STRONG> |
+ +-----+------+-------+
+ |<STRONG>left</STRONG> | <STRONG>B2</STRONG> | <STRONG>right</STRONG> |
+ +-----+------+-------+
+ | <STRONG>C1</STRONG> | <STRONG>down</STRONG> | <STRONG>C3</STRONG> |
+ +-----+------+-------+
+ A few of these predefined values do <EM>not</EM> correspond to a real key:
- Keypad is arranged like this:
+ <STRONG>o</STRONG> <STRONG>KEY_RESIZE</STRONG> is returned when the <STRONG>SIGWINCH</STRONG> signal has been detected
+ (see <STRONG><A HREF="curs_initscr.3x.html">initscr(3x)</A></STRONG> and <STRONG><A HREF="resizeterm.3x.html">resizeterm(3x)</A></STRONG>). This code is returned
+ whether or not <STRONG>keypad</STRONG> has been enabled.
+ <STRONG>o</STRONG> <STRONG>KEY_MOUSE</STRONG> is returned for mouse-events (see <STRONG><A HREF="curs_mouse.3x.html">curs_mouse(3x)</A></STRONG>). This
+ code relies upon whether or not <STRONG><A HREF="curs_inopts.3x.html">keypad(3x)</A></STRONG> has been enabled, be-
+ cause (e.g., with <EM>xterm</EM> mouse prototocol) ncurses must read escape
+ sequences, just like a function key.
- +-----+------+-------+
- | <STRONG>A1</STRONG> | <STRONG>up</STRONG> | <STRONG>A3</STRONG> |
- +-----+------+-------+
- |<STRONG>left</STRONG> | <STRONG>B2</STRONG> | <STRONG>right</STRONG> |
- +-----+------+-------+
- | <STRONG>C1</STRONG> | <STRONG>down</STRONG> | <STRONG>C3</STRONG> |
- +-----+------+-------+
- The <STRONG>has_key</STRONG> routine takes a key value from the above list,
- and returns TRUE or FALSE according to whether the current
- terminal type recognizes a key with that value. Note that
- a few values do not correspond to a real key, e.g.,
- <STRONG>KEY_RESIZE</STRONG> and <STRONG>KEY_MOUSE</STRONG>. See <STRONG><A HREF="resizeterm.3x.html">resizeterm(3x)</A></STRONG> for more de-
- tails about <STRONG>KEY_RESIZE</STRONG>, and <STRONG><A HREF="curs_mouse.3x.html">curs_mouse(3x)</A></STRONG> for a discus-
- sion of <STRONG>KEY_MOUSE</STRONG>.
+</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 re-
+ turns <STRONG>TRUE</STRONG> or <STRONG>FALSE</STRONG> according to whether the current terminal type rec-
+ ognizes a key with that value.
-</PRE>
-<H2>RETURN VALUE</H2><PRE>
- All routines return the integer <STRONG>ERR</STRONG> upon failure and an
- integer value other than <STRONG>ERR</STRONG> (<STRONG>OK</STRONG> in the case of ungetch())
- upon successful completion.
+ The library also supports these extensions:
+
+ <STRONG>define_key</STRONG>
+ defines a key-code for a given string (see <STRONG><A HREF="define_key.3x.html">define_key(3x)</A></STRONG>).
+
+ <STRONG>key_defined</STRONG>
+ checks if there is a key-code defined for a given string (see
+ <STRONG><A HREF="key_defined.3x.html">key_defined(3x)</A></STRONG>).
+
+
+</PRE><H2><a name="h2-RETURN-VALUE">RETURN VALUE</a></H2><PRE>
+ All routines return the integer <STRONG>ERR</STRONG> upon failure and an integer value
+ other than <STRONG>ERR</STRONG> (<STRONG>OK</STRONG> in the case of <STRONG>ungetch</STRONG>) upon successful completion.
<STRONG>ungetch</STRONG>
- returns ERR if there is no more room in the FIFO.
+ returns <STRONG>ERR</STRONG> if there is no more room in the FIFO.
<STRONG>wgetch</STRONG>
- returns ERR if the window pointer is null, or if
- its timeout expires without having any data.
+ returns <STRONG>ERR</STRONG> if the window pointer is null, or if its timeout
+ expires without having any data, or if the execution was inter-
+ rupted by a signal (<STRONG>errno</STRONG> will be set to <STRONG>EINTR</STRONG>).
- Functions with a "mv" prefix first perform a cursor move-
- ment using <STRONG>wmove</STRONG>, and return an error if the position is
- outside the window, or if the window pointer is null.
+ Functions with a "mv" prefix first perform 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.
-</PRE>
-<H2>NOTES</H2><PRE>
- Use of the escape key by a programmer for a single charac-
- ter function is discouraged, as it will cause a delay of
- up to one second while the keypad code looks for a follow-
- ing function-key sequence.
-
- Note that some keys may be the same as commonly used con-
- trol keys, e.g., <STRONG>KEY_ENTER</STRONG> versus control/M, <STRONG>KEY_BACKSPACE</STRONG>
- versus control/H. Some curses implementations may differ
- according to whether they treat these control keys spe-
- cially (and ignore the terminfo), or use the terminfo def-
- initions. <STRONG>Ncurses</STRONG> uses the terminfo definition. If it
- says that <STRONG>KEY_ENTER</STRONG> is control/M, <STRONG>getch</STRONG> will return
- <STRONG>KEY_ENTER</STRONG> when you press control/M.
-
- Generally, <STRONG>KEY_ENTER</STRONG> denotes the character(s) sent by the
- <EM>Enter</EM> key on the numeric keypad:
+</PRE><H2><a name="h2-NOTES">NOTES</a></H2><PRE>
+ Use of the escape key by a programmer for a single character function
+ is discouraged, as it will cause a delay of up to one second while the
+ keypad code looks for a following function-key sequence.
+
+ Some keys may be the same as commonly used control keys, e.g., <STRONG>KEY_EN-</STRONG>
+ <STRONG>TER</STRONG> versus control/M, <STRONG>KEY_BACKSPACE</STRONG> versus control/H. Some curses im-
+ plementations may differ according to whether they treat these control
+ keys specially (and ignore the terminfo), or use the terminfo defini-
+ tions. <STRONG>Ncurses</STRONG> uses the terminfo definition. If it says that <STRONG>KEY_EN-</STRONG>
+ <STRONG>TER</STRONG> is control/M, <STRONG>getch</STRONG> will return <STRONG>KEY_ENTER</STRONG> when you press control/M.
+
+ Generally, <STRONG>KEY_ENTER</STRONG> denotes the character(s) sent by the <EM>Enter</EM> key on
+ the numeric keypad:
<STRONG>o</STRONG> the terminal description lists the most useful keys,
- <STRONG>o</STRONG> the <EM>Enter</EM> key on the regular keyboard is already han-
- dled by the standard ASCII characters for carriage-re-
- turn and line-feed,
+ <STRONG>o</STRONG> the <EM>Enter</EM> key on the regular keyboard is already handled by the
+ standard ASCII characters for carriage-return and line-feed,
- <STRONG>o</STRONG> depending on whether <STRONG>nl</STRONG> or <STRONG>nonl</STRONG> was called, pressing
- "Enter" on the regular keyboard may return either a
- carriage-return or line-feed, and finally
+ <STRONG>o</STRONG> depending on whether <STRONG>nl</STRONG> or <STRONG>nonl</STRONG> was called, pressing "Enter" on the
+ regular keyboard may return either a carriage-return or line-feed,
+ and finally
- <STRONG>o</STRONG> "Enter or send" is the standard description for this
- key.
+ <STRONG>o</STRONG> "Enter or send" is the standard description for this key.
- When using <STRONG>getch</STRONG>, <STRONG>wgetch</STRONG>, <STRONG>mvgetch</STRONG>, or <STRONG>mvwgetch</STRONG>, nocbreak
- mode (<STRONG>nocbreak</STRONG>) and echo mode (<STRONG>echo</STRONG>) should not be used at
- the same time. Depending on the state of the tty driver
- when each character is typed, the program may produce un-
- desirable results.
+ When using <STRONG>getch</STRONG>, <STRONG>wgetch</STRONG>, <STRONG>mvgetch</STRONG>, or <STRONG>mvwgetch</STRONG>, nocbreak mode
+ (<STRONG>nocbreak</STRONG>) and echo mode (<STRONG>echo</STRONG>) should not be used at the same time.
+ Depending on the state of the tty driver when each character is typed,
+ the program may produce undesirable results.
Note that <STRONG>getch</STRONG>, <STRONG>mvgetch</STRONG>, and <STRONG>mvwgetch</STRONG> may be macros.
- Historically, the set of keypad macros was largely defined
- by the extremely function-key-rich keyboard of the AT&amp;T
- 7300, aka 3B1, aka Safari 4. Modern personal computers
- usually have only a small subset of these. IBM PC-style
- consoles typically support little more than <STRONG>KEY_UP</STRONG>,
- <STRONG>KEY_DOWN</STRONG>, <STRONG>KEY_LEFT</STRONG>, <STRONG>KEY_RIGHT</STRONG>, <STRONG>KEY_HOME</STRONG>, <STRONG>KEY_END</STRONG>,
- <STRONG>KEY_NPAGE</STRONG>, <STRONG>KEY_PPAGE</STRONG>, and function keys 1 through 12. The
- Ins key is usually mapped to <STRONG>KEY_IC</STRONG>.
+ Historically, the set of keypad macros was largely defined by the ex-
+ tremely function-key-rich keyboard of the AT&amp;T 7300, aka 3B1, aka Sa-
+ fari 4. Modern personal computers usually have only a small subset of
+ these. IBM PC-style consoles typically support little more than
+ <STRONG>KEY_UP</STRONG>, <STRONG>KEY_DOWN</STRONG>, <STRONG>KEY_LEFT</STRONG>, <STRONG>KEY_RIGHT</STRONG>, <STRONG>KEY_HOME</STRONG>, <STRONG>KEY_END</STRONG>, <STRONG>KEY_NPAGE</STRONG>,
+ <STRONG>KEY_PPAGE</STRONG>, and function keys 1 through 12. The Ins key is usually
+ mapped to <STRONG>KEY_IC</STRONG>.
-</PRE>
-<H2>PORTABILITY</H2><PRE>
- The *get* functions are described in the XSI Curses stan-
- dard, 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 docu-
- mentation. This description is adopted from the XSI Curs-
- es standard.
-
- The behavior of <STRONG>getch</STRONG> and friends in the presence of han-
- dled signals is unspecified in the SVr4 and XSI Curses
- documentation. Under historical curses implementations,
- it varied depending on whether the operating system's im-
- plementation of handled signal receipt interrupts a
- <STRONG>read(2)</STRONG> call in progress or not, and also (in some imple-
- mentations) depending on whether an input timeout or non-
- blocking mode has been set.
-
- Programmers concerned about portability should be prepared
- for either of two cases: (a) signal receipt does not in-
- terrupt <STRONG>getch</STRONG>; (b) signal receipt interrupts <STRONG>getch</STRONG> and
- causes it to return ERR with <STRONG>errno</STRONG> set to <STRONG>EINTR</STRONG>. Under
- the <STRONG>ncurses</STRONG> implementation, handled signals never inter-
- rupt <STRONG>getch</STRONG>.
-
- The <STRONG>has_key</STRONG> function is unique to <STRONG>ncurses</STRONG>. We recommend
- that any code using it be conditionalized on the <STRONG>NCURS-</STRONG>
- <STRONG>ES_VERSION</STRONG> feature macro.
+</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 descrip-
+ tion is adopted from the XSI Curses standard.
-</PRE>
-<H2>SEE ALSO</H2><PRE>
- <STRONG><A HREF="ncurses.3x.html">curses(3x)</A></STRONG>, <STRONG><A HREF="curs_inopts.3x.html">curs_inopts(3x)</A></STRONG>, <STRONG><A HREF="curs_outopts.3x.html">curs_outopts(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_refresh.3x.html">curs_refresh(3x)</A></STRONG>, <STRONG>re-</STRONG>
- <STRONG><A HREF="resizeterm.3x.html">sizeterm(3x)</A></STRONG>.
+ 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 im-
+ plementation in ncurses is an extension.
+
+ <STRONG>KEY_RESIZE</STRONG> is an extension first implemented for ncurses. NetBSD curs-
+ es 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
+ <STRONG>EINTR</STRONG>.
+
+ The <STRONG>has_key</STRONG> function is unique to <STRONG>ncurses</STRONG>. We recommend that any code
+ using it be conditionalized on the <STRONG>NCURSES_VERSION</STRONG> feature macro.
+
+
+</PRE><H2><a name="h2-SEE-ALSO">SEE ALSO</a></H2><PRE>
+ <STRONG><A HREF="ncurses.3x.html">curses(3x)</A></STRONG>, <STRONG><A HREF="curs_inopts.3x.html">curs_inopts(3x)</A></STRONG>, <STRONG><A HREF="curs_outopts.3x.html">curs_outopts(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_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) li-
- brary are described in <STRONG><A HREF="curs_get_wch.3x.html">curs_get_wch(3x)</A></STRONG>.
+ Comparable functions in the wide-character (ncursesw) library are de-
+ scribed in <STRONG><A HREF="curs_get_wch.3x.html">curs_get_wch(3x)</A></STRONG>.
- <STRONG><A HREF="curs_getch.3x.html">curs_getch(3x)</A></STRONG>
+ <STRONG><A HREF="curs_getch.3x.html">curs_getch(3x)</A></STRONG>
</PRE>
-<HR>
-<ADDRESS>
-Man(1) output converted with
-<a href="http://www.oac.uci.edu/indiv/ehood/man2html.html">man2html</a>
-</ADDRESS>
+<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>
+<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>
+</ul>
+</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-SEE-ALSO">SEE ALSO</a></li>
+</ul>
+</div>
</BODY>
</HTML>
diff --git a/doc/html/man/curs_getstr.3x.html b/doc/html/man/curs_getstr.3x.html
index f7cffded9a17..8c4c7bca864f 100644
--- a/doc/html/man/curs_getstr.3x.html
+++ b/doc/html/man/curs_getstr.3x.html
@@ -1,7 +1,6 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN">
<!--
****************************************************************************
- * Copyright (c) 1998-2005,2010 Free Software Foundation, Inc. *
+ * Copyright (c) 1998-2018,2019 Free Software Foundation, Inc. *
* *
* Permission is hereby granted, free of charge, to any person obtaining a *
* copy of this software and associated documentation files (the *
@@ -27,33 +26,34 @@
* sale, use or other dealings in this Software without prior written *
* authorization. *
****************************************************************************
- * @Id: curs_getstr.3x,v 1.19 2010/12/04 18:36:44 tom Exp @
+ * @Id: curs_getstr.3x,v 1.28 2019/07/20 19:14:56 tom Exp @
+ * X/Open says also until EOf
+ * X/Open says then an EOS is added to the result
+ * X/Open doesn't mention n&lt;0
-->
+<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN">
<HTML>
<HEAD>
+<meta http-equiv="Content-Type" content="text/html; charset=us-ascii">
+<meta name="generator" content="Manpage converted by man2html - see https://invisible-island.net/scripts/readme.html#others_scripts">
<TITLE>curs_getstr 3x</TITLE>
-<link rev=made href="mailto:bug-ncurses@gnu.org">
+<link rel="author" href="mailto:bug-ncurses@gnu.org">
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
</HEAD>
<BODY>
-<H1>curs_getstr 3x</H1>
-<HR>
+<H1 class="no-header">curs_getstr 3x</H1>
<PRE>
-<!-- Manpage converted by man2html 3.0.1 -->
-<STRONG><A HREF="curs_getstr.3x.html">curs_getstr(3x)</A></STRONG> <STRONG><A HREF="curs_getstr.3x.html">curs_getstr(3x)</A></STRONG>
+<STRONG><A HREF="curs_getstr.3x.html">curs_getstr(3x)</A></STRONG> <STRONG><A HREF="curs_getstr.3x.html">curs_getstr(3x)</A></STRONG>
-</PRE>
-<H2>NAME</H2><PRE>
- <STRONG>getstr</STRONG>, <STRONG>getnstr</STRONG>, <STRONG>wgetstr</STRONG>, <STRONG>wgetnstr</STRONG>, <STRONG>mvgetstr</STRONG>, <STRONG>mvgetnstr</STRONG>,
- <STRONG>mvwgetstr</STRONG>, <STRONG>mvwgetnstr</STRONG> - accept character strings from
- <STRONG>curses</STRONG> terminal keyboard
+</PRE><H2><a name="h2-NAME">NAME</a></H2><PRE>
+ <STRONG>getstr</STRONG>, <STRONG>getnstr</STRONG>, <STRONG>wgetstr</STRONG>, <STRONG>wgetnstr</STRONG>, <STRONG>mvgetstr</STRONG>, <STRONG>mvgetnstr</STRONG>, <STRONG>mvwgetstr</STRONG>,
+ <STRONG>mvwgetnstr</STRONG> - accept character strings from <STRONG>curses</STRONG> terminal keyboard
-</PRE>
-<H2>SYNOPSIS</H2><PRE>
+</PRE><H2><a name="h2-SYNOPSIS">SYNOPSIS</a></H2><PRE>
<STRONG>#include</STRONG> <STRONG>&lt;curses.h&gt;</STRONG>
<STRONG>int</STRONG> <STRONG>getstr(char</STRONG> <STRONG>*str);</STRONG>
@@ -66,90 +66,125 @@
<STRONG>int</STRONG> <STRONG>mvwgetnstr(WINDOW</STRONG> <STRONG>*,</STRONG> <STRONG>int</STRONG> <STRONG>y,</STRONG> <STRONG>int</STRONG> <STRONG>x,</STRONG> <STRONG>char</STRONG> <STRONG>*str,</STRONG> <STRONG>int</STRONG> <STRONG>n);</STRONG>
-</PRE>
-<H2>DESCRIPTION</H2><PRE>
- The function <STRONG>getstr</STRONG> is equivalent to a series of calls to
- <STRONG>getch</STRONG>, until a newline or carriage return is received (the
- terminating character is not included in the returned
- string). The resulting value is placed in the area point-
- ed to by the character pointer <EM>str</EM>.
-
- <STRONG>wgetnstr</STRONG> reads at most <EM>n</EM> characters, thus preventing a
- possible overflow of the input buffer. Any attempt to en-
- ter more characters (other than the terminating newline or
- carriage return) causes a beep. Function keys also cause
- a beep and are ignored. The <STRONG>getnstr</STRONG> function reads from
- the <EM>stdscr</EM> default window.
-
- The user's erase and kill characters are interpreted. If
- keypad mode is on for the window, <STRONG>KEY_LEFT</STRONG> and
- <STRONG>KEY_BACKSPACE</STRONG> are both considered equivalent to the user's
- kill character.
-
- Characters input are echoed only if <STRONG>echo</STRONG> is currently on.
- In that case, backspace is echoed as deletion of the pre-
- vious character (typically a left motion).
+</PRE><H2><a name="h2-DESCRIPTION">DESCRIPTION</a></H2><PRE>
+ The function <STRONG>getstr</STRONG> is equivalent to a series of calls to <STRONG>getch</STRONG>, until
+ a newline or carriage return is received (the terminating character is
+ not included in the returned string). The resulting value is placed in
+ the area pointed to by the character pointer <EM>str</EM>, followed by a NUL.
+ <STRONG>wgetnstr</STRONG> reads at most <EM>n</EM> characters, thus preventing a possible over-
+ flow of the input buffer. Any attempt to enter more characters (other
+ than the terminating newline or carriage return) causes a beep. Func-
+ tion keys also cause a beep and are ignored. The <STRONG>getnstr</STRONG> function
+ reads from the <EM>stdscr</EM> default window.
-</PRE>
-<H2>RETURN VALUE</H2><PRE>
- All routines return the integer <STRONG>ERR</STRONG> upon failure and an <STRONG>OK</STRONG>
- (SVr4 specifies only "an integer value other than <STRONG>ERR</STRONG>")
- upon successful completion.
+ The user's erase and kill characters are interpreted. If keypad mode
+ is on for the window, <STRONG>KEY_LEFT</STRONG> and <STRONG>KEY_BACKSPACE</STRONG> are both considered
+ equivalent to the user's kill character.
+
+ Characters input are echoed only if <STRONG>echo</STRONG> is currently on. In that
+ case, backspace is echoed as deletion of the previous character (typi-
+ cally a left motion).
+
+
+</PRE><H2><a name="h2-RETURN-VALUE">RETURN VALUE</a></H2><PRE>
+ All routines return the integer <STRONG>ERR</STRONG> upon failure and an <STRONG>OK</STRONG> (SVr4 speci-
+ fies only "an integer value other than <STRONG>ERR</STRONG>") upon successful comple-
+ tion.
X/Open defines no error conditions.
- In this implementation, these functions return an error if
- the window pointer is null, or if its timeout expires
- without having any data.
+ In this implementation, these functions return an error if the window
+ pointer is null, or if its timeout expires without having any data.
- This implementation provides an extension as well. If a
- SIGWINCH interrupts the function, it will return <STRONG>KEY_RE-</STRONG>
- <STRONG>SIZE</STRONG> rather than <STRONG>OK</STRONG> or <STRONG>ERR</STRONG>.
+ This implementation provides an extension as well. If a <STRONG>SIGWINCH</STRONG> in-
+ terrupts the function, it will return <STRONG>KEY_RESIZE</STRONG> rather than <STRONG>OK</STRONG> or <STRONG>ERR</STRONG>.
- Functions with a "mv" prefix first perform a cursor move-
- ment using <STRONG>wmove</STRONG>, and return an error if the position is
- outside the window, or if the window pointer is null.
+ Functions with a "mv" prefix first perform 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.
-</PRE>
-<H2>NOTES</H2><PRE>
+</PRE><H2><a name="h2-NOTES">NOTES</a></H2><PRE>
Note that <STRONG>getstr</STRONG>, <STRONG>mvgetstr</STRONG>, and <STRONG>mvwgetstr</STRONG> may be macros.
-</PRE>
-<H2>PORTABILITY</H2><PRE>
- These functions are described in the XSI Curses standard,
- Issue 4. They read single-byte characters only. The
- standard does not define any error conditions. This im-
- plementation returns ERR if the window pointer is null, or
- if the lower-level <STRONG>wgetch</STRONG> call returns an ERR.
-
- SVr3 and early SVr4 curses implementations did not reject
- function keys; the SVr4.0 documentation claimed that "spe-
- cial keys" (such as function keys, "home" key, "clear"
- key, <EM>etc</EM>.) are "interpreted", without giving details. It
- lied. In fact, the `character' value appended to the
- string by those implementations was predictable but not
- useful (being, in fact, the low-order eight bits of the
- key's KEY_ value).
-
- The functions <STRONG>getnstr</STRONG>, <STRONG>mvgetnstr</STRONG>, and <STRONG>mvwgetnstr</STRONG> were
- present but not documented in SVr4.
+</PRE><H2><a name="h2-PORTABILITY">PORTABILITY</a></H2><PRE>
+ These functions are described in the XSI Curses standard, Issue 4.
+ They read single-byte characters only. The standard does not define
+ any error conditions. This implementation returns <STRONG>ERR</STRONG> if the window
+ pointer is null, or if the lower-level <STRONG><A HREF="curs_getch.3x.html">wgetch(3x)</A></STRONG> call returns an <STRONG>ERR</STRONG>.
+ SVr3 and early SVr4 curses implementations did not reject function
+ keys; the SVr4.0 documentation claimed that "special keys" (such as
+ function keys, "home" key, "clear" key, <EM>etc</EM>.) are "interpreted", with-
+ out giving details. It lied. In fact, the "character" value appended
+ to the string by those implementations was predictable but not useful
+ (being, in fact, the low-order eight bits of the key's KEY_ value).
-</PRE>
-<H2>SEE ALSO</H2><PRE>
+ The functions <STRONG>getnstr</STRONG>, <STRONG>mvgetnstr</STRONG>, and <STRONG>mvwgetnstr</STRONG> were present but not
+ documented in SVr4.
+
+ X/Open Curses, Issue 5 (2007) stated that these functions "read at most
+ <EM>n</EM> bytes" but did not state whether the terminating NUL is counted in
+ that limit. X/Open Curses, Issue 7 (2009) changed that to say they
+ "read at most <EM>n</EM>-1 bytes" to allow for the terminating NUL. As of 2018,
+ some implementations do, some do not count it:
+
+ <STRONG>o</STRONG> ncurses 6.1 and PDCurses do not count the NUL in the given limit,
+ while
+
+ <STRONG>o</STRONG> Solaris SVr4 and NetBSD curses count the NUL as part of the limit.
+
+ <STRONG>o</STRONG> Solaris xcurses provides both: its wide-character <STRONG>wget_nstr</STRONG> re-
+ serves a NUL, but its <STRONG>wgetnstr</STRONG> does not count the NUL consistently.
+
+ In SVr4 curses, a negative value of <EM>n</EM> tells <STRONG>wgetnstr</STRONG> to assume that the
+ caller's buffer is large enough to hold the result, i.e., to act like
+ <STRONG>wgetstr</STRONG>. X/Open Curses does not mention this (or anything related to
+ negative or zero values of <EM>n</EM>), however most implementations use the
+ feature, with different limits:
+
+ <STRONG>o</STRONG> Solaris SVr4 curses and PDCurses limit the result to 255 bytes.
+ Other Unix systems than Solaris are likely to use the same limit.
+
+ <STRONG>o</STRONG> Solaris xcurses limits the result to <STRONG>LINE_MAX</STRONG> bytes.
+
+ <STRONG>o</STRONG> NetBSD 7 assumes no particular limit for the result from <STRONG>wgetstr</STRONG>.
+ However, it limits the <STRONG>wgetnstr</STRONG> parameter <EM>n</EM> to ensure that it is
+ greater than zero.
+
+ A comment in NetBSD's source code states that this is specified in
+ SUSv2.
+
+ <STRONG>o</STRONG> ncurses (before 6.2) assumes no particular limit for the result
+ from <STRONG>wgetstr</STRONG>, and treats the <EM>n</EM> parameter of <STRONG>wgetnstr</STRONG> like SVr4
+ curses.
+
+ <STRONG>o</STRONG> ncurses 6.2 uses <STRONG>LINE_MAX</STRONG>, or a larger (system-dependent) value
+ which the <STRONG>sysconf</STRONG> function may provide. If neither <STRONG>LINE_MAX</STRONG> or
+ <STRONG>sysconf</STRONG> is available, ncurses uses the POSIX value for <STRONG>LINE_MAX</STRONG> (a
+ 2048 byte limit). In either case, it reserves a byte for the ter-
+ minating NUL.
+
+
+</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_variables.3x.html">curs_variables(3x)</A></STRONG>.
- <STRONG><A HREF="curs_getstr.3x.html">curs_getstr(3x)</A></STRONG>
+ <STRONG><A HREF="curs_getstr.3x.html">curs_getstr(3x)</A></STRONG>
</PRE>
-<HR>
-<ADDRESS>
-Man(1) output converted with
-<a href="http://www.oac.uci.edu/indiv/ehood/man2html.html">man2html</a>
-</ADDRESS>
+<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>
+<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-SEE-ALSO">SEE ALSO</a></li>
+</ul>
+</div>
</BODY>
</HTML>
diff --git a/doc/html/man/curs_getyx.3x.html b/doc/html/man/curs_getyx.3x.html
index b5809b3c8ed1..c2b616d48c27 100644
--- a/doc/html/man/curs_getyx.3x.html
+++ b/doc/html/man/curs_getyx.3x.html
@@ -1,4 +1,3 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN">
<!--
****************************************************************************
* Copyright (c) 1998-2007,2010 Free Software Foundation, Inc. *
@@ -29,30 +28,29 @@
****************************************************************************
* @Id: curs_getyx.3x,v 1.18 2010/12/04 18:36:44 tom Exp @
-->
+<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN">
<HTML>
<HEAD>
+<meta http-equiv="Content-Type" content="text/html; charset=us-ascii">
+<meta name="generator" content="Manpage converted by man2html - see https://invisible-island.net/scripts/readme.html#others_scripts">
<TITLE>curs_getyx 3x</TITLE>
-<link rev=made href="mailto:bug-ncurses@gnu.org">
+<link rel="author" href="mailto:bug-ncurses@gnu.org">
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
</HEAD>
<BODY>
-<H1>curs_getyx 3x</H1>
-<HR>
+<H1 class="no-header">curs_getyx 3x</H1>
<PRE>
-<!-- Manpage converted by man2html 3.0.1 -->
-<STRONG><A HREF="curs_getyx.3x.html">curs_getyx(3x)</A></STRONG> <STRONG><A HREF="curs_getyx.3x.html">curs_getyx(3x)</A></STRONG>
+<STRONG><A HREF="curs_getyx.3x.html">curs_getyx(3x)</A></STRONG> <STRONG><A HREF="curs_getyx.3x.html">curs_getyx(3x)</A></STRONG>
-</PRE>
-<H2>NAME</H2><PRE>
- <STRONG>getyx</STRONG>, <STRONG>getparyx</STRONG>, <STRONG>getbegyx</STRONG>, <STRONG>getmaxyx</STRONG> - get <STRONG>curses</STRONG> cursor
- and window coordinates
+</PRE><H2><a name="h2-NAME">NAME</a></H2><PRE>
+ <STRONG>getyx</STRONG>, <STRONG>getparyx</STRONG>, <STRONG>getbegyx</STRONG>, <STRONG>getmaxyx</STRONG> - get <STRONG>curses</STRONG> cursor and window
+ coordinates
-</PRE>
-<H2>SYNOPSIS</H2><PRE>
+</PRE><H2><a name="h2-SYNOPSIS">SYNOPSIS</a></H2><PRE>
<STRONG>#include</STRONG> <STRONG>&lt;curses.h&gt;</STRONG>
<STRONG>void</STRONG> <STRONG>getyx(WINDOW</STRONG> <STRONG>*win,</STRONG> <STRONG>int</STRONG> <STRONG>y,</STRONG> <STRONG>int</STRONG> <STRONG>x);</STRONG>
@@ -61,71 +59,66 @@
<STRONG>void</STRONG> <STRONG>getmaxyx(WINDOW</STRONG> <STRONG>*win,</STRONG> <STRONG>int</STRONG> <STRONG>y,</STRONG> <STRONG>int</STRONG> <STRONG>x);</STRONG>
-</PRE>
-<H2>DESCRIPTION</H2><PRE>
- The <STRONG>getyx</STRONG> macro places the current cursor position of the
- given window in the two integer variables <EM>y</EM> and <EM>x</EM>.
+</PRE><H2><a name="h2-DESCRIPTION">DESCRIPTION</a></H2><PRE>
+ The <STRONG>getyx</STRONG> macro places the current cursor position of the given window
+ in the two integer variables <EM>y</EM> and <EM>x</EM>.
- If <EM>win</EM> is a subwindow, the <STRONG>getparyx</STRONG> macro places the
- beginning coordinates of the subwindow relative to the
- parent window into two integer variables <EM>y</EM> and <EM>x</EM>. Other-
- wise, <STRONG>-1</STRONG> is placed into <EM>y</EM> and <EM>x</EM>.
+ If <EM>win</EM> is a subwindow, the <STRONG>getparyx</STRONG> macro places the beginning coordi-
+ nates of the subwindow relative to the parent window into two integer
+ variables <EM>y</EM> and <EM>x</EM>. Otherwise, <STRONG>-1</STRONG> is placed into <EM>y</EM> and <EM>x</EM>.
- Like <STRONG>getyx</STRONG>, the <STRONG>getbegyx</STRONG> and <STRONG>getmaxyx</STRONG> macros store the
- current beginning coordinates and size of the specified
- window.
+ Like <STRONG>getyx</STRONG>, the <STRONG>getbegyx</STRONG> and <STRONG>getmaxyx</STRONG> macros store the current begin-
+ ning coordinates and size of the specified window.
-</PRE>
-<H2>RETURN VALUE</H2><PRE>
- The return values of these macros are undefined (i.e.,
- they should not be used as the right-hand side of assign-
- ment statements).
+</PRE><H2><a name="h2-RETURN-VALUE">RETURN VALUE</a></H2><PRE>
+ The return values of these macros are undefined (i.e., they should not
+ be used as the right-hand side of assignment statements).
-</PRE>
-<H2>NOTES</H2><PRE>
- All of these interfaces are macros. A "<STRONG>&amp;</STRONG>" is not neces-
- sary before the variables <EM>y</EM> and <EM>x</EM>.
+</PRE><H2><a name="h2-NOTES">NOTES</a></H2><PRE>
+ All of these interfaces are macros. A "<STRONG>&amp;</STRONG>" is not necessary before the
+ variables <EM>y</EM> and <EM>x</EM>.
-</PRE>
-<H2>PORTABILITY</H2><PRE>
- The <STRONG>getyx</STRONG>, <STRONG>getparyx</STRONG>, <STRONG>getbegyx</STRONG> and <STRONG>getmaxyx</STRONG> macros are
- described in the XSI Curses standard, Issue 4.
-
- This implementation also provides functions <STRONG>getbegx</STRONG>, <STRONG>getb-</STRONG>
- <STRONG>egy</STRONG>, <STRONG>getcurx</STRONG>, <STRONG>getcury</STRONG>, <STRONG>getmaxx</STRONG>, <STRONG>getmaxy</STRONG>, <STRONG>getparx</STRONG> and <STRONG>get-</STRONG>
- <STRONG>pary</STRONG> for compatibility with older versions of curses.
-
- Although X/Open Curses does not address this, many imple-
- mentations provide members of the WINDOW structure con-
- taining values corresponding to these macros. For best
- portability, do not rely on using the data in WINDOW,
- since some implementations make WINDOW opaque (do not
- allow direct use of its members).
-
- Besides the problem of opaque structures, the data stored
- in like-named members may not have like-values in differ-
- ent implementations. For example, the WINDOW._maxx and
- WINDOW._maxy values in ncurses have (at least since
- release 1.8.1) differed by one from some other implementa-
- tions. The difference is hidden by means of the macro
- <STRONG>getmaxyx</STRONG>.
+</PRE><H2><a name="h2-PORTABILITY">PORTABILITY</a></H2><PRE>
+ The <STRONG>getyx</STRONG>, <STRONG>getparyx</STRONG>, <STRONG>getbegyx</STRONG> and <STRONG>getmaxyx</STRONG> macros are described in the
+ XSI Curses standard, Issue 4.
+ This implementation also provides functions <STRONG>getbegx</STRONG>, <STRONG>getbegy</STRONG>, <STRONG>getcurx</STRONG>,
+ <STRONG>getcury</STRONG>, <STRONG>getmaxx</STRONG>, <STRONG>getmaxy</STRONG>, <STRONG>getparx</STRONG> and <STRONG>getpary</STRONG> for compatibility with
+ older versions of curses.
-</PRE>
-<H2>SEE ALSO</H2><PRE>
+ Although X/Open Curses does not address this, many implementations pro-
+ vide members of the WINDOW structure containing values corresponding to
+ these macros. For best portability, do not rely on using the data in
+ WINDOW, since some implementations make WINDOW opaque (do not allow
+ direct use of its members).
+
+ Besides the problem of opaque structures, the data stored in like-named
+ members may not have like-values in different implementations. For
+ example, the WINDOW._maxx and WINDOW._maxy values in ncurses have (at
+ least since release 1.8.1) differed by one from some other implementa-
+ tions. The difference is hidden by means of the macro <STRONG>getmaxyx</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_legacy.3x.html">curs_legacy(3x)</A></STRONG>, <STRONG><A HREF="curs_opaque.3x.html">curs_opaque(3x)</A></STRONG>
- <STRONG><A HREF="curs_getyx.3x.html">curs_getyx(3x)</A></STRONG>
+ <STRONG><A HREF="curs_getyx.3x.html">curs_getyx(3x)</A></STRONG>
</PRE>
-<HR>
-<ADDRESS>
-Man(1) output converted with
-<a href="http://www.oac.uci.edu/indiv/ehood/man2html.html">man2html</a>
-</ADDRESS>
+<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>
+<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-SEE-ALSO">SEE ALSO</a></li>
+</ul>
+</div>
</BODY>
</HTML>
diff --git a/doc/html/man/curs_in_wch.3x.html b/doc/html/man/curs_in_wch.3x.html
index ce6fdf3dcd79..fd531b921b9e 100644
--- a/doc/html/man/curs_in_wch.3x.html
+++ b/doc/html/man/curs_in_wch.3x.html
@@ -1,7 +1,6 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN">
<!--
****************************************************************************
- * Copyright (c) 2002-2006,2010 Free Software Foundation, Inc. *
+ * Copyright (c) 2002-2018,2019 Free Software Foundation, Inc. *
* *
* Permission is hereby granted, free of charge, to any person obtaining a *
* copy of this software and associated documentation files (the *
@@ -27,32 +26,31 @@
* sale, use or other dealings in this Software without prior written *
* authorization. *
****************************************************************************
- * @Id: curs_in_wch.3x,v 1.5 2010/12/04 18:36:44 tom Exp @
+ * @Id: curs_in_wch.3x,v 1.8 2019/11/30 21:06:30 tom Exp @
-->
+<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN">
<HTML>
<HEAD>
+<meta http-equiv="Content-Type" content="text/html; charset=us-ascii">
+<meta name="generator" content="Manpage converted by man2html - see https://invisible-island.net/scripts/readme.html#others_scripts">
<TITLE>curs_in_wch 3x</TITLE>
-<link rev=made href="mailto:bug-ncurses@gnu.org">
+<link rel="author" href="mailto:bug-ncurses@gnu.org">
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
</HEAD>
<BODY>
-<H1>curs_in_wch 3x</H1>
-<HR>
+<H1 class="no-header">curs_in_wch 3x</H1>
<PRE>
-<!-- Manpage converted by man2html 3.0.1 -->
-<STRONG><A HREF="curs_in_wch.3x.html">curs_in_wch(3x)</A></STRONG> <STRONG><A HREF="curs_in_wch.3x.html">curs_in_wch(3x)</A></STRONG>
+<STRONG><A HREF="curs_in_wch.3x.html">curs_in_wch(3x)</A></STRONG> <STRONG><A HREF="curs_in_wch.3x.html">curs_in_wch(3x)</A></STRONG>
-</PRE>
-<H2>NAME</H2><PRE>
- <STRONG>in_wch</STRONG>, <STRONG>mvin_wch</STRONG>, <STRONG>mvwin_wch</STRONG>, <STRONG>win_wch</STRONG> - extract a complex
- character and rendition from a window
+</PRE><H2><a name="h2-NAME">NAME</a></H2><PRE>
+ <STRONG>in_wch</STRONG>, <STRONG>mvin_wch</STRONG>, <STRONG>mvwin_wch</STRONG>, <STRONG>win_wch</STRONG> - extract a complex character and
+ rendition from a window
-</PRE>
-<H2>SYNOPSIS</H2><PRE>
+</PRE><H2><a name="h2-SYNOPSIS">SYNOPSIS</a></H2><PRE>
<STRONG>#include</STRONG> <STRONG>&lt;curses.h&gt;</STRONG>
<STRONG>int</STRONG> <STRONG>in_wch(cchar_t</STRONG> <STRONG>*</STRONG><EM>wcval</EM><STRONG>);</STRONG>
@@ -61,49 +59,48 @@
<STRONG>int</STRONG> <STRONG>win_wch(WINDOW</STRONG> <STRONG>*</STRONG><EM>win</EM><STRONG>,</STRONG> <STRONG>cchar_t</STRONG> <STRONG>*</STRONG><EM>wcval</EM><STRONG>);</STRONG>
-</PRE>
-<H2>DESCRIPTION</H2><PRE>
- These functions extract the complex character and rendi-
- tion from the current position in the named window into
- the <STRONG>cchar_t</STRONG> object referenced by wcval.
+</PRE><H2><a name="h2-DESCRIPTION">DESCRIPTION</a></H2><PRE>
+ These functions extract the complex character and rendition from the
+ current position in the named window into the <STRONG>cchar_t</STRONG> object referenced
+ by wcval.
-</PRE>
-<H2>RETURN VALUE</H2><PRE>
- No errors are defined in the XSI Curses standard. This
- implementation checks for null pointers, returns ERR in
- that case. Also, the <EM>mv</EM> routines check for error moving
- the cursor, returning ERR in that case. Otherwise they
- return OK
+</PRE><H2><a name="h2-RETURN-VALUE">RETURN VALUE</a></H2><PRE>
+ No errors are defined in the XSI Curses standard. This implementation
+ checks for null pointers, returns <STRONG>ERR</STRONG> in that case. Also, the <EM>mv</EM> rou-
+ tines check for error moving the cursor, returning <STRONG>ERR</STRONG> in that case.
+ Otherwise they return <STRONG>OK</STRONG>.
- Functions with a "mv" prefix first perform a cursor move-
- ment using <STRONG>wmove</STRONG>, and return an error if the position is
- outside the window, or if the window pointer is null.
+ Functions with a "mv" prefix first perform 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.
-</PRE>
-<H2>NOTES</H2><PRE>
+</PRE><H2><a name="h2-NOTES">NOTES</a></H2><PRE>
Note that all of these routines may be macros.
-</PRE>
-<H2>PORTABILITY</H2><PRE>
- These functions are described in the XSI Curses standard,
- Issue 4.
+</PRE><H2><a name="h2-PORTABILITY">PORTABILITY</a></H2><PRE>
+ These functions are described in the XSI Curses standard, Issue 4.
-</PRE>
-<H2>SEE ALSO</H2><PRE>
+</PRE><H2><a name="h2-SEE-ALSO">SEE ALSO</a></H2><PRE>
<STRONG><A HREF="ncurses.3x.html">curses(3x)</A></STRONG>, <STRONG><A HREF="curs_inch.3x.html">curs_inch(3x)</A></STRONG>.
- <STRONG><A HREF="curs_in_wch.3x.html">curs_in_wch(3x)</A></STRONG>
+ <STRONG><A HREF="curs_in_wch.3x.html">curs_in_wch(3x)</A></STRONG>
</PRE>
-<HR>
-<ADDRESS>
-Man(1) output converted with
-<a href="http://www.oac.uci.edu/indiv/ehood/man2html.html">man2html</a>
-</ADDRESS>
+<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>
+<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-SEE-ALSO">SEE ALSO</a></li>
+</ul>
+</div>
</BODY>
</HTML>
diff --git a/doc/html/man/curs_in_wchstr.3x.html b/doc/html/man/curs_in_wchstr.3x.html
index f130c8021056..3ca1a4e7c013 100644
--- a/doc/html/man/curs_in_wchstr.3x.html
+++ b/doc/html/man/curs_in_wchstr.3x.html
@@ -1,7 +1,6 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN">
<!--
****************************************************************************
- * Copyright (c) 2002-2010,2012 Free Software Foundation, Inc. *
+ * Copyright (c) 2002-2018,2019 Free Software Foundation, Inc. *
* *
* Permission is hereby granted, free of charge, to any person obtaining a *
* copy of this software and associated documentation files (the *
@@ -27,34 +26,32 @@
* sale, use or other dealings in this Software without prior written *
* authorization. *
****************************************************************************
- * @Id: curs_in_wchstr.3x,v 1.9 2012/11/03 23:03:59 tom Exp @
+ * @Id: curs_in_wchstr.3x,v 1.12 2019/11/30 21:06:30 tom Exp @
-->
+<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN">
<HTML>
<HEAD>
+<meta http-equiv="Content-Type" content="text/html; charset=us-ascii">
+<meta name="generator" content="Manpage converted by man2html - see https://invisible-island.net/scripts/readme.html#others_scripts">
<TITLE>curs_in_wchstr 3x</TITLE>
-<link rev=made href="mailto:bug-ncurses@gnu.org">
+<link rel="author" href="mailto:bug-ncurses@gnu.org">
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
</HEAD>
<BODY>
-<H1>curs_in_wchstr 3x</H1>
-<HR>
+<H1 class="no-header">curs_in_wchstr 3x</H1>
<PRE>
-<!-- Manpage converted by man2html 3.0.1 -->
-<STRONG><A HREF="curs_in_wchstr.3x.html">curs_in_wchstr(3x)</A></STRONG> <STRONG><A HREF="curs_in_wchstr.3x.html">curs_in_wchstr(3x)</A></STRONG>
+<STRONG><A HREF="curs_in_wchstr.3x.html">curs_in_wchstr(3x)</A></STRONG> <STRONG><A HREF="curs_in_wchstr.3x.html">curs_in_wchstr(3x)</A></STRONG>
-</PRE>
-<H2>NAME</H2><PRE>
- <STRONG>in_wchstr</STRONG>, <STRONG>in_wchnstr</STRONG>, <STRONG>win_wchstr</STRONG>, <STRONG>win_wchnstr</STRONG>,
- <STRONG>mvin_wchstr</STRONG>, <STRONG>mvin_wchnstr</STRONG>, <STRONG>mvwin_wchstr</STRONG>, <STRONG>mvwin_wchnstr</STRONG> -
- get an array of complex characters and renditions from a
- curses window
+</PRE><H2><a name="h2-NAME">NAME</a></H2><PRE>
+ <STRONG>in_wchstr</STRONG>, <STRONG>in_wchnstr</STRONG>, <STRONG>win_wchstr</STRONG>, <STRONG>win_wchnstr</STRONG>, <STRONG>mvin_wchstr</STRONG>,
+ <STRONG>mvin_wchnstr</STRONG>, <STRONG>mvwin_wchstr</STRONG>, <STRONG>mvwin_wchnstr</STRONG> - get an array of complex
+ characters and renditions from a curses window
-</PRE>
-<H2>SYNOPSIS</H2><PRE>
+</PRE><H2><a name="h2-SYNOPSIS">SYNOPSIS</a></H2><PRE>
<STRONG>#include</STRONG> <STRONG>&lt;curses.h&gt;</STRONG>
<STRONG>int</STRONG> <STRONG>in_wchstr(cchar_t</STRONG> <STRONG>*</STRONG><EM>wchstr</EM><STRONG>);</STRONG>
@@ -67,58 +64,56 @@
<STRONG>int</STRONG> <STRONG>mvwin_wchnstr(WINDOW</STRONG> <STRONG>*</STRONG><EM>win</EM><STRONG>,</STRONG> <STRONG>int</STRONG> <EM>y</EM><STRONG>,</STRONG> <STRONG>int</STRONG> <EM>x</EM><STRONG>,</STRONG> <STRONG>cchar_t</STRONG> <STRONG>*</STRONG><EM>wchstr</EM>, int <EM>n</EM><STRONG>);</STRONG>
-</PRE>
-<H2>DESCRIPTION</H2><PRE>
- These functions return an array of complex characters in
- <EM>wchstr</EM>, starting at the current cursor position in the
- named window. Attributes (rendition) are stored with the
- characters.
+</PRE><H2><a name="h2-DESCRIPTION">DESCRIPTION</a></H2><PRE>
+ These functions return an array of complex characters in <EM>wchstr</EM>, start-
+ ing at the current cursor position in the named window. Attributes
+ (rendition) are stored with the characters.
- The <STRONG>in_wchnstr</STRONG>, <STRONG>mvin_wchnstr</STRONG>, <STRONG>mvwin_wchnstr</STRONG> and <STRONG>win_wchn-</STRONG>
- <STRONG>str</STRONG> fill the array with at most <EM>n</EM> <STRONG>cchar_t</STRONG> elements.
+ The <STRONG>in_wchnstr</STRONG>, <STRONG>mvin_wchnstr</STRONG>, <STRONG>mvwin_wchnstr</STRONG> and <STRONG>win_wchnstr</STRONG> fill the
+ array with at most <EM>n</EM> <STRONG>cchar_t</STRONG> elements.
-</PRE>
-<H2>NOTES</H2><PRE>
+</PRE><H2><a name="h2-NOTES">NOTES</a></H2><PRE>
Note that all routines except <STRONG>win_wchnstr</STRONG> may be macros.
- Reading a line that overflows the array pointed to by <EM>wch-</EM>
- <EM>str</EM> with <STRONG>in_wchstr</STRONG>, <STRONG>mvin_wchstr</STRONG>, <STRONG>mvwin_wchstr</STRONG> or <STRONG>win_wch-</STRONG>
- <STRONG>str</STRONG> causes undefined results. Therefore, the use of
- <STRONG>in_wchnstr</STRONG>, <STRONG>mvin_wchnstr</STRONG>, <STRONG>mvwin_wchnstr</STRONG>, or <STRONG>win_wchnstr</STRONG> is
- recommended.
+ Reading a line that overflows the array pointed to by <EM>wchstr</EM> with
+ <STRONG>in_wchstr</STRONG>, <STRONG>mvin_wchstr</STRONG>, <STRONG>mvwin_wchstr</STRONG> or <STRONG>win_wchstr</STRONG> causes undefined re-
+ sults. Therefore, the use of <STRONG>in_wchnstr</STRONG>, <STRONG>mvin_wchnstr</STRONG>, <STRONG>mvwin_wchnstr</STRONG>,
+ or <STRONG>win_wchnstr</STRONG> is recommended.
-</PRE>
-<H2>RETURN VALUE</H2><PRE>
- Upon successful completion, these functions return <STRONG>OK</STRONG>.
- Otherwise, they return <STRONG>ERR</STRONG>.
+</PRE><H2><a name="h2-RETURN-VALUE">RETURN VALUE</a></H2><PRE>
+ Upon successful completion, these functions return <STRONG>OK</STRONG>. Otherwise, they
+ return <STRONG>ERR</STRONG>.
- Functions with a "mv" prefix first perform a cursor move-
- ment using <STRONG>wmove</STRONG>, and return an error if the position is
- outside the window, or if the window pointer is null.
+ Functions with a "mv" prefix first perform 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.
-</PRE>
-<H2>PORTABILITY</H2><PRE>
- The XSI Curses defines no error conditions. This imple-
- mentation checks for null pointers, returning ERR in that
- case.
+</PRE><H2><a name="h2-PORTABILITY">PORTABILITY</a></H2><PRE>
+ The XSI Curses defines no error conditions. This implementation checks
+ for null pointers, returning <STRONG>ERR</STRONG> in that case.
-</PRE>
-<H2>SEE ALSO</H2><PRE>
- Functions: <STRONG><A HREF="ncurses.3x.html">curses(3x)</A></STRONG>, <STRONG><A HREF="curs_in_wch.3x.html">curs_in_wch(3x)</A></STRONG>, <STRONG><A HREF="curs_instr.3x.html">curs_instr(3x)</A></STRONG>,
- <STRONG><A HREF="curs_inwstr.3x.html">curs_inwstr(3x)</A></STRONG> <STRONG><A HREF="curs_inchstr.3x.html">curs_inchstr(3x)</A></STRONG>
+</PRE><H2><a name="h2-SEE-ALSO">SEE ALSO</a></H2><PRE>
+ Functions: <STRONG><A HREF="ncurses.3x.html">curses(3x)</A></STRONG>, <STRONG><A HREF="curs_in_wch.3x.html">curs_in_wch(3x)</A></STRONG>, <STRONG><A HREF="curs_instr.3x.html">curs_instr(3x)</A></STRONG>, <STRONG><A HREF="curs_inwstr.3x.html">curs_inwstr(3x)</A></STRONG>
+ <STRONG><A HREF="curs_inchstr.3x.html">curs_inchstr(3x)</A></STRONG>
- <STRONG><A HREF="curs_in_wchstr.3x.html">curs_in_wchstr(3x)</A></STRONG>
+ <STRONG><A HREF="curs_in_wchstr.3x.html">curs_in_wchstr(3x)</A></STRONG>
</PRE>
-<HR>
-<ADDRESS>
-Man(1) output converted with
-<a href="http://www.oac.uci.edu/indiv/ehood/man2html.html">man2html</a>
-</ADDRESS>
+<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>
+<li><a href="#h2-NOTES">NOTES</a></li>
+<li><a href="#h2-RETURN-VALUE">RETURN VALUE</a></li>
+<li><a href="#h2-PORTABILITY">PORTABILITY</a></li>
+<li><a href="#h2-SEE-ALSO">SEE ALSO</a></li>
+</ul>
+</div>
</BODY>
</HTML>
diff --git a/doc/html/man/curs_inch.3x.html b/doc/html/man/curs_inch.3x.html
index 5068a59e6a62..f54519414bad 100644
--- a/doc/html/man/curs_inch.3x.html
+++ b/doc/html/man/curs_inch.3x.html
@@ -1,8 +1,7 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN">
<!--
* t
****************************************************************************
- * Copyright (c) 1998-2006,2010 Free Software Foundation, Inc. *
+ * Copyright (c) 1998-2018,2019 Free Software Foundation, Inc. *
* *
* Permission is hereby granted, free of charge, to any person obtaining a *
* copy of this software and associated documentation files (the *
@@ -28,32 +27,31 @@
* sale, use or other dealings in this Software without prior written *
* authorization. *
****************************************************************************
- * @Id: curs_inch.3x,v 1.17 2010/12/04 18:36:44 tom Exp @
+ * @Id: curs_inch.3x,v 1.22 2019/11/30 21:06:30 tom Exp @
-->
+<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN">
<HTML>
<HEAD>
+<meta http-equiv="Content-Type" content="text/html; charset=us-ascii">
+<meta name="generator" content="Manpage converted by man2html - see https://invisible-island.net/scripts/readme.html#others_scripts">
<TITLE>curs_inch 3x</TITLE>
-<link rev=made href="mailto:bug-ncurses@gnu.org">
+<link rel="author" href="mailto:bug-ncurses@gnu.org">
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
</HEAD>
<BODY>
-<H1>curs_inch 3x</H1>
-<HR>
+<H1 class="no-header">curs_inch 3x</H1>
<PRE>
-<!-- Manpage converted by man2html 3.0.1 -->
-<STRONG><A HREF="curs_inch.3x.html">curs_inch(3x)</A></STRONG> <STRONG><A HREF="curs_inch.3x.html">curs_inch(3x)</A></STRONG>
+<STRONG><A HREF="curs_inch.3x.html">curs_inch(3x)</A></STRONG> <STRONG><A HREF="curs_inch.3x.html">curs_inch(3x)</A></STRONG>
-</PRE>
-<H2>NAME</H2><PRE>
- <STRONG>inch</STRONG>, <STRONG>winch</STRONG>, <STRONG>mvinch</STRONG>, <STRONG>mvwinch</STRONG> - get a character and
- attributes from a <STRONG>curses</STRONG> window
+</PRE><H2><a name="h2-NAME">NAME</a></H2><PRE>
+ <STRONG>inch</STRONG>, <STRONG>winch</STRONG>, <STRONG>mvinch</STRONG>, <STRONG>mvwinch</STRONG> - get a character and attributes from a
+ <STRONG>curses</STRONG> window
-</PRE>
-<H2>SYNOPSIS</H2><PRE>
+</PRE><H2><a name="h2-SYNOPSIS">SYNOPSIS</a></H2><PRE>
<STRONG>#include</STRONG> <STRONG>&lt;curses.h&gt;</STRONG>
<STRONG>chtype</STRONG> <STRONG>inch(void);</STRONG>
@@ -62,57 +60,93 @@
<STRONG>chtype</STRONG> <STRONG>mvwinch(WINDOW</STRONG> <STRONG>*win,</STRONG> <STRONG>int</STRONG> <STRONG>y,</STRONG> <STRONG>int</STRONG> <STRONG>x);</STRONG>
-</PRE>
-<H2>DESCRIPTION</H2><PRE>
- These routines return the character, of type <STRONG>chtype</STRONG>, at
- the current position in the named window. If any
- attributes are set for that position, their values are
- OR'ed into the value returned. Constants defined in
- <STRONG>&lt;curses.h&gt;</STRONG> can be used with the <STRONG>&amp;</STRONG> (logical AND) operator
- to extract the character or attributes alone.
-
- <STRONG>Attributes</STRONG>
- The following bit-masks may be AND-ed with characters
- returned by <STRONG>winch</STRONG>.
+</PRE><H2><a name="h2-DESCRIPTION">DESCRIPTION</a></H2><PRE>
+ These routines return the character, of type <STRONG>chtype</STRONG>, at the current
+ position in the named window. If any attributes are set for that posi-
+ tion, their values are OR'ed into the value returned. Constants
+ defined in <STRONG>&lt;curses.h&gt;</STRONG> can be used with the <STRONG>&amp;</STRONG> (logical AND) operator to
+ extract the character or attributes alone.
+
+
+</PRE><H3><a name="h3-Attributes">Attributes</a></H3><PRE>
+ The following bit-masks may be AND-ed with characters returned by
+ <STRONG>winch</STRONG>.
<STRONG>A_CHARTEXT</STRONG> Bit-mask to extract character
<STRONG>A_ATTRIBUTES</STRONG> Bit-mask to extract attributes
<STRONG>A_COLOR</STRONG> Bit-mask to extract color-pair field information
-</PRE>
-<H2>RETURN VALUE</H2><PRE>
- Functions with a "mv" prefix first perform a cursor move-
- ment using <STRONG>wmove</STRONG>, and return an error if the position is
- outside the window, or if the window pointer is null.
+</PRE><H2><a name="h2-RETURN-VALUE">RETURN VALUE</a></H2><PRE>
+ Functions with a "mv" prefix first perform a cursor movement using
+ <STRONG>wmove</STRONG>, and return an error if the position is outside the window, or if
+ the window pointer is null.
+ The <STRONG>winch</STRONG> function does not return an error if the window contains
+ characters larger than 8-bits (255). Only the low-order 8 bits of the
+ character are used by <STRONG>winch</STRONG>.
-</PRE>
-<H2>NOTES</H2><PRE>
+
+</PRE><H2><a name="h2-NOTES">NOTES</a></H2><PRE>
Note that all of these routines may be macros.
-</PRE>
-<H2>PORTABILITY</H2><PRE>
- These functions are described in the XSI Curses standard,
- Issue 4.
+</PRE><H2><a name="h2-PORTABILITY">PORTABILITY</a></H2><PRE>
+ These functions are described in the XSI Curses standard, Issue 4.
+ Very old systems (before standardization) provide a different function
+ with the same name:
-</PRE>
-<H2>SEE ALSO</H2><PRE>
- <STRONG><A HREF="ncurses.3x.html">curses(3x)</A></STRONG>.
+ <STRONG>o</STRONG> The <STRONG>winch</STRONG> function was part of the original BSD curses library,
+ which stored a 7-bit character combined with the <EM>standout</EM>
+ attribute.
+
+ In BSD curses, <STRONG>winch</STRONG> returned only the character (as an integer)
+ with the <EM>standout</EM> attribute removed.
+
+ <STRONG>o</STRONG> System V curses added support for several video attributes which
+ could be combined with characters in the window.
+
+ Reflecting this improvement, the function was altered to return the
+ character combined with all video attributes in a <STRONG>chtype</STRONG> value.
+
+ X/Open Curses does not specify the size and layout of attributes, color
+ and character values in <STRONG>chtype</STRONG>; it is implementation-dependent. This
+ implementation uses 8 bits for character values. An application using
+ more bits, e.g., a Unicode value, should use the wide-character equiva-
+ lents to these functions.
+
+
+</PRE><H2><a name="h2-SEE-ALSO">SEE ALSO</a></H2><PRE>
+ <STRONG><A HREF="ncurses.3x.html">curses(3x)</A></STRONG>
+ gives an overview of the WINDOW and <STRONG>chtype</STRONG> data types.
+
+ <STRONG><A HREF="curs_attr.3x.html">curs_attr(3x)</A></STRONG>
+ goes into more detail, pointing out portability problems and con-
+ straints on the use of <STRONG>chtype</STRONG> for returning window information.
- Comparable functions in the wide-character (ncursesw)
- library are described in <STRONG><A HREF="curs_in_wch.3x.html">curs_in_wch(3x)</A></STRONG>.
+ <STRONG><A HREF="curs_in_wch.3x.html">curs_in_wch(3x)</A></STRONG>
+ describes comparable functions for the wide-character (ncursesw)
+ library.
- <STRONG><A HREF="curs_inch.3x.html">curs_inch(3x)</A></STRONG>
+ <STRONG><A HREF="curs_inch.3x.html">curs_inch(3x)</A></STRONG>
</PRE>
-<HR>
-<ADDRESS>
-Man(1) output converted with
-<a href="http://www.oac.uci.edu/indiv/ehood/man2html.html">man2html</a>
-</ADDRESS>
+<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>
+<ul>
+<li><a href="#h3-Attributes">Attributes</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-PORTABILITY">PORTABILITY</a></li>
+<li><a href="#h2-SEE-ALSO">SEE ALSO</a></li>
+</ul>
+</div>
</BODY>
</HTML>
diff --git a/doc/html/man/curs_inchstr.3x.html b/doc/html/man/curs_inchstr.3x.html
index 82884de74616..e61595c42f10 100644
--- a/doc/html/man/curs_inchstr.3x.html
+++ b/doc/html/man/curs_inchstr.3x.html
@@ -1,7 +1,6 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN">
<!--
****************************************************************************
- * Copyright (c) 1998-2006,2010 Free Software Foundation, Inc. *
+ * Copyright (c) 1998-2017,2018 Free Software Foundation, Inc. *
* *
* Permission is hereby granted, free of charge, to any person obtaining a *
* copy of this software and associated documentation files (the *
@@ -27,33 +26,32 @@
* sale, use or other dealings in this Software without prior written *
* authorization. *
****************************************************************************
- * @Id: curs_inchstr.3x,v 1.15 2010/12/04 18:36:44 tom Exp @
+ * @Id: curs_inchstr.3x,v 1.18 2018/07/28 21:34:06 tom Exp @
-->
+<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN">
<HTML>
<HEAD>
+<meta http-equiv="Content-Type" content="text/html; charset=us-ascii">
+<meta name="generator" content="Manpage converted by man2html - see https://invisible-island.net/scripts/readme.html#others_scripts">
<TITLE>curs_inchstr 3x</TITLE>
-<link rev=made href="mailto:bug-ncurses@gnu.org">
+<link rel="author" href="mailto:bug-ncurses@gnu.org">
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
</HEAD>
<BODY>
-<H1>curs_inchstr 3x</H1>
-<HR>
+<H1 class="no-header">curs_inchstr 3x</H1>
<PRE>
-<!-- Manpage converted by man2html 3.0.1 -->
-<STRONG><A HREF="curs_inchstr.3x.html">curs_inchstr(3x)</A></STRONG> <STRONG><A HREF="curs_inchstr.3x.html">curs_inchstr(3x)</A></STRONG>
+<STRONG><A HREF="curs_inchstr.3x.html">curs_inchstr(3x)</A></STRONG> <STRONG><A HREF="curs_inchstr.3x.html">curs_inchstr(3x)</A></STRONG>
-</PRE>
-<H2>NAME</H2><PRE>
- <STRONG>inchstr</STRONG>, <STRONG>inchnstr</STRONG>, <STRONG>winchstr</STRONG>, <STRONG>winchnstr</STRONG>, <STRONG>mvinchstr</STRONG>,
- <STRONG>mvinchnstr</STRONG>, <STRONG>mvwinchstr</STRONG>, <STRONG>mvwinchnstr</STRONG> - get a string of
- characters (and attributes) from a <STRONG>curses</STRONG> window
+</PRE><H2><a name="h2-NAME">NAME</a></H2><PRE>
+ <STRONG>inchstr</STRONG>, <STRONG>inchnstr</STRONG>, <STRONG>winchstr</STRONG>, <STRONG>winchnstr</STRONG>, <STRONG>mvinchstr</STRONG>, <STRONG>mvinchnstr</STRONG>,
+ <STRONG>mvwinchstr</STRONG>, <STRONG>mvwinchnstr</STRONG> - get a string of characters (and attributes)
+ from a <STRONG>curses</STRONG> window
-</PRE>
-<H2>SYNOPSIS</H2><PRE>
+</PRE><H2><a name="h2-SYNOPSIS">SYNOPSIS</a></H2><PRE>
<STRONG>#include</STRONG> <STRONG>&lt;curses.h&gt;</STRONG>
<STRONG>int</STRONG> <STRONG>inchstr(chtype</STRONG> <STRONG>*chstr);</STRONG>
@@ -63,71 +61,69 @@
<STRONG>int</STRONG> <STRONG>mvinchstr(int</STRONG> <STRONG>y,</STRONG> <STRONG>int</STRONG> <STRONG>x,</STRONG> <STRONG>chtype</STRONG> <STRONG>*chstr);</STRONG>
<STRONG>int</STRONG> <STRONG>mvinchnstr(int</STRONG> <STRONG>y,</STRONG> <STRONG>int</STRONG> <STRONG>x,</STRONG> <STRONG>chtype</STRONG> <STRONG>*chstr,</STRONG> <STRONG>int</STRONG> <STRONG>n);</STRONG>
<STRONG>int</STRONG> <STRONG>mvwinchstr(WINDOW</STRONG> <STRONG>*win,</STRONG> <STRONG>int</STRONG> <STRONG>y,</STRONG> <STRONG>int</STRONG> <STRONG>x,</STRONG> <STRONG>chtype</STRONG> <STRONG>*chstr);</STRONG>
- <STRONG>int</STRONG> <STRONG>mvwinchnstr(WINDOW</STRONG> <STRONG>*win,</STRONG> <STRONG>int</STRONG> <STRONG>y,</STRONG> <STRONG>int</STRONG> <STRONG>x,</STRONG> <STRONG>chtype</STRONG> <STRONG>*chstr,</STRONG>
- <STRONG>int</STRONG> <STRONG>n);</STRONG>
+ <STRONG>int</STRONG> <STRONG>mvwinchnstr(WINDOW</STRONG> <STRONG>*win,</STRONG> <STRONG>int</STRONG> <STRONG>y,</STRONG> <STRONG>int</STRONG> <STRONG>x,</STRONG> <STRONG>chtype</STRONG> <STRONG>*chstr,</STRONG> <STRONG>int</STRONG> <STRONG>n);</STRONG>
-</PRE>
-<H2>DESCRIPTION</H2><PRE>
- These routines return a NULL-terminated array of <STRONG>chtype</STRONG>
- quantities, starting at the current cursor position in the
- named window and ending at the right margin of the window.
- The four functions with <EM>n</EM> as the last argument, return a
- leading substring at most <EM>n</EM> characters long (exclusive of
- the trailing (chtype)0). Constants defined in <STRONG>&lt;curses.h&gt;</STRONG>
- can be used with the <STRONG>&amp;</STRONG> (logical AND) operator to extract
- the character or the attribute alone from any position in
- the <EM>chstr</EM> [see <STRONG><A HREF="curs_inch.3x.html">curs_inch(3x)</A></STRONG>].
+</PRE><H2><a name="h2-DESCRIPTION">DESCRIPTION</a></H2><PRE>
+ These routines return a NULL-terminated array of <STRONG>chtype</STRONG> quantities,
+ starting at the current cursor position in the named window and ending
+ at the right margin of the window. The four functions with <EM>n</EM> as the
+ last argument, return a leading substring at most <EM>n</EM> characters long
+ (exclusive of the trailing (chtype)0). Constants defined in <STRONG>&lt;curses.h&gt;</STRONG>
+ can be used with the <STRONG>&amp;</STRONG> (logical AND) operator to extract the character
+ or the attribute alone from any position in the <EM>chstr</EM> [see
+ <STRONG><A HREF="curs_inch.3x.html">curs_inch(3x)</A></STRONG>].
-</PRE>
-<H2>RETURN VALUE</H2><PRE>
- All routines return the integer <STRONG>ERR</STRONG> upon failure and an
- integer value other than <STRONG>ERR</STRONG> upon successful completion
- (the number of characters retrieved, exclusive of the
- trailing 0).
+</PRE><H2><a name="h2-RETURN-VALUE">RETURN VALUE</a></H2><PRE>
+ All routines return the integer <STRONG>ERR</STRONG> upon failure and an integer value
+ other than <STRONG>ERR</STRONG> upon successful completion (the number of characters re-
+ trieved, exclusive of the trailing 0).
- No error conditions are defined. If the <EM>chstr</EM> parameter
- is null, no data is returned, and the return value is ze-
- ro.
+ X/Open Curses defines no error conditions. In this implementation:
- Functions with a "mv" prefix first perform a cursor move-
- ment using <STRONG>wmove</STRONG>, and return an error if the position is
- outside the window, or if the window pointer is null.
+ <STRONG>o</STRONG> If the <EM>win</EM> parameter is null, an error is returned,
+ <STRONG>o</STRONG> If the <EM>chstr</EM> parameter is null, an error is returned,
-</PRE>
-<H2>NOTES</H2><PRE>
- Note that all routines except <STRONG>winchnstr</STRONG> may be macros.
- SVr4 does not document whether the result string is zero-
- terminated; it does not document whether a length limit
- argument includes any trailing 0; and it does not document
- the meaning of the return value.
+ 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.
-</PRE>
-<H2>PORTABILITY</H2><PRE>
- These functions are described in the XSI Curses standard,
- Issue 4. It is no more specific than the SVr4 documenta-
- tion on the trailing 0. It does specify that the success-
- ful return of the functions is <STRONG>OK</STRONG>.
+</PRE><H2><a name="h2-NOTES">NOTES</a></H2><PRE>
+ Note that all routines except <STRONG>winchnstr</STRONG> may be macros. SVr4 does not
+ document whether the result string is zero-terminated; it does not doc-
+ ument whether a length limit argument includes any trailing 0; and it
+ does not document the meaning of the return value.
-</PRE>
-<H2>SEE ALSO</H2><PRE>
+</PRE><H2><a name="h2-PORTABILITY">PORTABILITY</a></H2><PRE>
+ These functions are described in the XSI Curses standard, Issue 4. It
+ is no more specific than the SVr4 documentation on the trailing 0. It
+ does specify that the successful return of the functions is <STRONG>OK</STRONG>.
+
+
+</PRE><H2><a name="h2-SEE-ALSO">SEE ALSO</a></H2><PRE>
<STRONG><A HREF="ncurses.3x.html">curses(3x)</A></STRONG>, <STRONG><A HREF="curs_inch.3x.html">curs_inch(3x)</A></STRONG>.
- Comparable functions in the wide-character (ncursesw) li-
- brary are described in <STRONG><A HREF="curs_in_wchstr.3x.html">curs_in_wchstr(3x)</A></STRONG>.
+ Comparable functions in the wide-character (ncursesw) library are de-
+ scribed in <STRONG><A HREF="curs_in_wchstr.3x.html">curs_in_wchstr(3x)</A></STRONG>.
- <STRONG><A HREF="curs_inchstr.3x.html">curs_inchstr(3x)</A></STRONG>
+ <STRONG><A HREF="curs_inchstr.3x.html">curs_inchstr(3x)</A></STRONG>
</PRE>
-<HR>
-<ADDRESS>
-Man(1) output converted with
-<a href="http://www.oac.uci.edu/indiv/ehood/man2html.html">man2html</a>
-</ADDRESS>
+<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>
+<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-SEE-ALSO">SEE ALSO</a></li>
+</ul>
+</div>
</BODY>
</HTML>
diff --git a/doc/html/man/curs_initscr.3x.html b/doc/html/man/curs_initscr.3x.html
index b61b21dcb600..baf2951d841c 100644
--- a/doc/html/man/curs_initscr.3x.html
+++ b/doc/html/man/curs_initscr.3x.html
@@ -1,7 +1,6 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN">
<!--
****************************************************************************
- * Copyright (c) 1998-2012,2013 Free Software Foundation, Inc. *
+ * Copyright (c) 1998-2017,2018 Free Software Foundation, Inc. *
* *
* Permission is hereby granted, free of charge, to any person obtaining a *
* copy of this software and associated documentation files (the *
@@ -27,149 +26,250 @@
* sale, use or other dealings in this Software without prior written *
* authorization. *
****************************************************************************
- * @Id: curs_initscr.3x,v 1.19 2013/07/20 19:34:14 tom Exp @
+ * @Id: curs_initscr.3x,v 1.31 2018/07/28 22:15:59 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</TITLE>
-<link rev=made href="mailto:bug-ncurses@gnu.org">
+<link rel="author" href="mailto:bug-ncurses@gnu.org">
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
</HEAD>
<BODY>
-<H1>curs_initscr 3x</H1>
-<HR>
+<H1 class="no-header">curs_initscr 3x</H1>
<PRE>
-<!-- Manpage converted by man2html 3.0.1 -->
-<STRONG><A HREF="curs_initscr.3x.html">curs_initscr(3x)</A></STRONG> <STRONG><A HREF="curs_initscr.3x.html">curs_initscr(3x)</A></STRONG>
+<STRONG><A HREF="curs_initscr.3x.html">curs_initscr(3x)</A></STRONG> <STRONG><A HREF="curs_initscr.3x.html">curs_initscr(3x)</A></STRONG>
-</PRE>
-<H2>NAME</H2><PRE>
- <STRONG>initscr</STRONG>, <STRONG>newterm</STRONG>, <STRONG>endwin</STRONG>, <STRONG>isendwin</STRONG>, <STRONG>set_term</STRONG>, <STRONG>delscreen</STRONG> -
- <STRONG>curses</STRONG> screen initialization and manipulation routines
+</PRE><H2><a name="h2-NAME">NAME</a></H2><PRE>
+ <STRONG>initscr</STRONG>, <STRONG>newterm</STRONG>, <STRONG>endwin</STRONG>, <STRONG>isendwin</STRONG>, <STRONG>set_term</STRONG>, <STRONG>delscreen</STRONG> - <STRONG>curses</STRONG> screen
+ initialization and manipulation routines
-</PRE>
-<H2>SYNOPSIS</H2><PRE>
+</PRE><H2><a name="h2-SYNOPSIS">SYNOPSIS</a></H2><PRE>
<STRONG>#include</STRONG> <STRONG>&lt;curses.h&gt;</STRONG>
<STRONG>WINDOW</STRONG> <STRONG>*initscr(void);</STRONG>
<STRONG>int</STRONG> <STRONG>endwin(void);</STRONG>
<STRONG>bool</STRONG> <STRONG>isendwin(void);</STRONG>
- <STRONG>SCREEN</STRONG> <STRONG>*newterm(char</STRONG> <STRONG>*type,</STRONG> <STRONG>FILE</STRONG> <STRONG>*outfd,</STRONG> <STRONG>FILE</STRONG> <STRONG>*infd);</STRONG>
- <STRONG>SCREEN</STRONG> <STRONG>*set_term(SCREEN</STRONG> <STRONG>*new);</STRONG>
- <STRONG>void</STRONG> <STRONG>delscreen(SCREEN*</STRONG> <STRONG>sp);</STRONG>
+ <STRONG>SCREEN</STRONG> <STRONG>*newterm(const</STRONG> <STRONG>char</STRONG> <STRONG>*</STRONG><EM>type</EM><STRONG>,</STRONG> <STRONG>FILE</STRONG> <STRONG>*</STRONG><EM>outfd</EM><STRONG>,</STRONG> <STRONG>FILE</STRONG> <STRONG>*</STRONG><EM>infd</EM><STRONG>);</STRONG>
+ <STRONG>SCREEN</STRONG> <STRONG>*set_term(SCREEN</STRONG> <STRONG>*</STRONG><EM>new</EM><STRONG>);</STRONG>
+ <STRONG>void</STRONG> <STRONG>delscreen(SCREEN*</STRONG> <EM>sp</EM><STRONG>);</STRONG>
-</PRE>
-<H2>DESCRIPTION</H2><PRE>
- <STRONG>initscr</STRONG> is normally the first <STRONG>curses</STRONG> routine to call when
- initializing a program. A few special routines sometimes
- need to be called before it; these are <STRONG>slk_init</STRONG>, <STRONG>filter</STRONG>,
- <STRONG>ripoffline</STRONG>, <STRONG>use_env</STRONG>. For multiple-terminal applications,
- <STRONG>newterm</STRONG> may be called before <STRONG>initscr</STRONG>.
-
- The initscr code determines the terminal type and initial-
- izes all <STRONG>curses</STRONG> data structures. <STRONG>initscr</STRONG> also causes the
- first call to <STRONG>refresh</STRONG> to clear the screen. If errors oc-
- cur, <STRONG>initscr</STRONG> writes an appropriate error message to stan-
- dard error and exits; otherwise, a pointer is returned to
- <STRONG>stdscr</STRONG>.
-
- A program that outputs to more than one terminal should
- use the <STRONG>newterm</STRONG> routine for each terminal instead of
- <STRONG>initscr</STRONG>. A program that needs to inspect capabilities, so
- it can continue to run in a line-oriented mode if the ter-
- minal cannot support a screen-oriented program, would also
- 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 reference to that terminal.
- The arguments are the <EM>type</EM> of the terminal to be used in
- place of <STRONG>$TERM</STRONG>, a file pointer for output to the terminal,
- and another file pointer for input from the terminal (if
- <EM>type</EM> is <STRONG>NULL</STRONG>, <STRONG>$TERM</STRONG> will be used). The program must also
- call <STRONG>endwin</STRONG> for each terminal being used before exiting
- from <STRONG>curses</STRONG>. If <STRONG>newterm</STRONG> is called more than once for the
- same terminal, the first terminal referred to must be the
- last one for which <STRONG>endwin</STRONG> is called.
-
- A program should always call <STRONG>endwin</STRONG> before exiting or es-
- caping from <STRONG>curses</STRONG> mode temporarily. This routine re-
- stores tty modes, moves the cursor to the lower left-hand
- corner of the screen and resets the terminal into the
- proper non-visual mode. Calling <STRONG>refresh</STRONG> or <STRONG>doupdate</STRONG> after
- a temporary escape causes the program to resume visual
- mode.
-
- The <STRONG>isendwin</STRONG> routine returns <STRONG>TRUE</STRONG> if <STRONG>endwin</STRONG> has been
- called without any subsequent calls to <STRONG>wrefresh</STRONG>, and <STRONG>FALSE</STRONG>
- otherwise.
-
- The <STRONG>set_term</STRONG> routine is used to switch between different
- terminals. The screen reference <STRONG>new</STRONG> becomes the new cur-
- rent 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 cur-
- rent terminal.
-
- The <STRONG>delscreen</STRONG> routine frees storage associated with the
- <STRONG>SCREEN</STRONG> data structure. The <STRONG>endwin</STRONG> routine does not do
- this, so <STRONG>delscreen</STRONG> should be called after <STRONG>endwin</STRONG> if a par-
- ticular <STRONG>SCREEN</STRONG> is no longer needed.
+</PRE><H2><a name="h2-DESCRIPTION">DESCRIPTION</a></H2><PRE>
+</PRE><H3><a name="h3-initscr">initscr</a></H3><PRE>
+ <STRONG>initscr</STRONG> is normally the first <STRONG>curses</STRONG> routine to call when initializing
+ a program. A few special routines sometimes need to be called before
+ it; these are <STRONG><A HREF="curs_slk.3x.html">slk_init(3x)</A></STRONG>, <STRONG>filter</STRONG>, <STRONG>ripoffline</STRONG>, <STRONG>use_env</STRONG>. For multiple-
+ terminal applications, <STRONG>newterm</STRONG> may be called before <STRONG>initscr</STRONG>.
-</PRE>
-<H2>RETURN VALUE</H2><PRE>
- <STRONG>endwin</STRONG> returns the integer <STRONG>ERR</STRONG> upon failure and <STRONG>OK</STRONG> upon
- successful completion.
+ The initscr code determines the terminal type and initializes all <STRONG>curs-</STRONG>
+ <STRONG>es</STRONG> data structures. <STRONG>initscr</STRONG> also causes the first call to <STRONG><A HREF="curscurs_refresh.3x.html">refresh(3x)</A></STRONG>
+ to clear the screen. If errors occur, <STRONG>initscr</STRONG> writes an appropriate
+ error message to standard error and exits; otherwise, a pointer is re-
+ turned to <STRONG>stdscr</STRONG>.
+
+
+</PRE><H3><a name="h3-newterm">newterm</a></H3><PRE>
+ A program that outputs to more than one terminal should use the <STRONG>newterm</STRONG>
+ routine for each terminal instead of <STRONG>initscr</STRONG>. A program that needs to
+ inspect capabilities, so it can continue to run in a line-oriented mode
+ if the terminal cannot support a screen-oriented program, would also
+ use <STRONG>newterm</STRONG>. The routine <STRONG>newterm</STRONG> should be called once for each termi-
+ nal. It returns a variable of type <STRONG>SCREEN</STRONG> <STRONG>*</STRONG> 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>,
+
+ <STRONG>o</STRONG> a file pointer for output to the terminal, and
+
+ <STRONG>o</STRONG> another file pointer for input from the terminal
+
+ If the <EM>type</EM> parameter is <STRONG>NULL</STRONG>, <STRONG>$TERM</STRONG> will be used.
+
+
+</PRE><H3><a name="h3-endwin">endwin</a></H3><PRE>
+ The program must also call <STRONG>endwin</STRONG> for each terminal being used before
+ exiting from <STRONG>curses</STRONG>. If <STRONG>newterm</STRONG> is called more than once for the same
+ terminal, the first terminal referred to must be the last one for which
+ <STRONG>endwin</STRONG> is called.
+
+ A program should always call <STRONG>endwin</STRONG> before exiting or escaping from
+ <STRONG>curses</STRONG> mode temporarily. This routine
+
+ <STRONG>o</STRONG> resets colors to correspond with the default color pair 0,
+
+ <STRONG>o</STRONG> moves the cursor to the lower left-hand corner of the screen,
+
+ <STRONG>o</STRONG> clears the remainder of the line so that it uses the default col-
+ ors,
+
+ <STRONG>o</STRONG> sets the cursor to normal visibility (see <STRONG><A HREF="curs_kernel.3x.html">curs_set(3x)</A></STRONG>),
+
+ <STRONG>o</STRONG> stops cursor-addressing mode using the <EM>exit</EM><STRONG>_</STRONG><EM>ca</EM><STRONG>_</STRONG><EM>mode</EM> terminal capa-
+ bility,
+
+ <STRONG>o</STRONG> restores tty modes (see <STRONG><A HREF="curs_kernel.3x.html">reset_shell_mode(3x)</A></STRONG>).
+
+ Calling <STRONG><A HREF="curs_refresh.3x.html">refresh(3x)</A></STRONG> or <STRONG><A HREF="curs_refresh.3x.html">doupdate(3x)</A></STRONG> after a temporary escape causes the
+ program to resume visual mode.
+
+
+</PRE><H3><a name="h3-isendwin">isendwin</a></H3><PRE>
+ The <STRONG>isendwin</STRONG> routine returns <STRONG>TRUE</STRONG> if <STRONG>endwin</STRONG> has been called without any
+ subsequent calls to <STRONG>wrefresh</STRONG>, and <STRONG>FALSE</STRONG> otherwise.
+
+
+</PRE><H3><a name="h3-set_term">set_term</a></H3><PRE>
+ The <STRONG>set_term</STRONG> routine is used to switch between different terminals.
+ The screen reference <STRONG>new</STRONG> becomes the new current terminal. The previ-
+ ous terminal is returned by the routine. This is the only routine
+ which manipulates <STRONG>SCREEN</STRONG> 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
+ 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.
+
+
+</PRE><H2><a name="h2-RETURN-VALUE">RETURN VALUE</a></H2><PRE>
+ <STRONG>endwin</STRONG> returns the integer <STRONG>ERR</STRONG> upon failure and <STRONG>OK</STRONG> upon successful com-
+ pletion.
Routines that return pointers always return <STRONG>NULL</STRONG> on error.
- X/Open defines no error conditions. In this implementa-
- tion <STRONG>endwin</STRONG> returns an error if the terminal was not ini-
- tialized.
+ X/Open defines no error conditions. In this implementation
+ <STRONG>o</STRONG> <STRONG>endwin</STRONG> returns an error if the terminal was not initialized.
-</PRE>
-<H2>NOTES</H2><PRE>
- Note that <STRONG>initscr</STRONG> and <STRONG>newterm</STRONG> may be macros.
+ <STRONG>o</STRONG> <STRONG>newterm</STRONG> returns an error if it cannot allocate the data structures
+ for the screen, or for the top-level windows within the screen,
+ i.e., <STRONG>curscr</STRONG>, <STRONG>newscr</STRONG>, or <STRONG>stdscr</STRONG>.
+ <STRONG>o</STRONG> <STRONG>set_term</STRONG> returns no error.
-</PRE>
-<H2>PORTABILITY</H2><PRE>
- These functions are described in the XSI Curses standard,
- Issue 4. It specifies that portable applications must not
- call <STRONG>initscr</STRONG> more than once.
- Old versions of curses, e.g., BSD 4.4, may have returned a
- null pointer from <STRONG>initscr</STRONG> when an error is detected,
- rather than exiting. It is safe but redundant to check
- the return value of <STRONG>initscr</STRONG> in XSI Curses.
+</PRE><H2><a name="h2-PORTABILITY">PORTABILITY</a></H2><PRE>
+ These functions were described in the XSI Curses standard, Issue 4. As
+ of 2015, the current document is X/Open Curses, Issue 7.
- If the TERM variable is missing or empty, <STRONG>initscr</STRONG> uses the
- value "unknown", which normally corresponds to a terminal
- entry with the <EM>generic</EM> (<EM>gn</EM>) capability. Generic entries
- are detected by <STRONG><A HREF="curs_terminfo.3x.html">curs_terminfo(3x)</A></STRONG> and cannot be used for full-
- screen operation. Other implementations may handle a
- missing/empty TERM variable differently.
+</PRE><H3><a name="h3-Differences">Differences</a></H3><PRE>
+ X/Open specifies that portable applications must not call <STRONG>initscr</STRONG> more
+ than once:
-</PRE>
-<H2>SEE ALSO</H2><PRE>
- <STRONG><A HREF="ncurses.3x.html">curses(3x)</A></STRONG>, <STRONG><A HREF="curs_kernel.3x.html">curs_kernel(3x)</A></STRONG>, <STRONG><A HREF="curs_refresh.3x.html">curs_refresh(3x)</A></STRONG>,
- <STRONG><A HREF="curs_slk.3x.html">curs_slk(3x)</A></STRONG>, <STRONG><A HREF="curs_terminfo.3x.html">curs_terminfo(3x)</A></STRONG>, <STRONG><A HREF="curs_util.3x.html">curs_util(3x)</A></STRONG>, <STRONG>curs_vari-</STRONG>
- <STRONG><A HREF="curs_variables.3x.html">ables(3x)</A></STRONG>.
+ <STRONG>o</STRONG> The portable way to use <STRONG>initscr</STRONG> is once only, using <STRONG>refresh</STRONG> (see
+ <STRONG><A HREF="curs_refresh.3x.html">curs_refresh(3x)</A></STRONG>) to restore the screen after <STRONG>endwin</STRONG>.
+
+ <STRONG>o</STRONG> This implementation allows using <STRONG>initscr</STRONG> after <STRONG>endwin</STRONG>.
+
+ Old versions of curses, e.g., BSD 4.4, may have returned a null pointer
+ from <STRONG>initscr</STRONG> when an error is detected, rather than exiting. It is
+ safe but redundant to check the return value of <STRONG>initscr</STRONG> in XSI Curses.
+
+
+</PRE><H3><a name="h3-Unset-TERM-Variable">Unset TERM Variable</a></H3><PRE>
+ If the TERM variable is missing or empty, <STRONG>initscr</STRONG> uses the value "un-
+ known", which normally corresponds to a terminal entry with the <EM>generic</EM>
+ (<EM>gn</EM>) capability. Generic entries are detected by <STRONG>setupterm</STRONG> (see
+ <STRONG><A HREF="curs_terminfo.3x.html">curs_terminfo(3x)</A></STRONG>) and cannot be used for full-screen operation. Other
+ implementations may handle a missing/empty TERM variable differently.
+
+
+</PRE><H3><a name="h3-Signal-Handlers">Signal Handlers</a></H3><PRE>
+ Quoting from X/Open Curses, section 3.1.1:
+
+ <EM>Curses</EM> <EM>implementations</EM> <EM>may</EM> <EM>provide</EM> <EM>for</EM> <EM>special</EM> <EM>handling</EM> <EM>of</EM> <EM>the</EM>
+ <STRONG>SIGINT</STRONG><EM>,</EM> <STRONG>SIGQUIT</STRONG> <EM>and</EM> <STRONG>SIGTSTP</STRONG> <EM>signals</EM> <EM>if</EM> <EM>their</EM> <EM>disposition</EM> <EM>is</EM>
+ <STRONG>SIG_DFL</STRONG> <EM>at</EM> <EM>the</EM> <EM>time</EM> <STRONG>initscr</STRONG> <EM>is</EM> <EM>called</EM> <STRONG>...</STRONG>
+
+ <EM>Any</EM> <EM>special</EM> <EM>handling</EM> <EM>for</EM> <EM>these</EM> <EM>signals</EM> <EM>may</EM> <EM>remain</EM> <EM>in</EM> <EM>effect</EM> <EM>for</EM>
+ <EM>the</EM> <EM>life</EM> <EM>of</EM> <EM>the</EM> <EM>process</EM> <EM>or</EM> <EM>until</EM> <EM>the</EM> <EM>process</EM> <EM>changes</EM> <EM>the</EM> <EM>disposi-</EM>
+ <EM>tion</EM> <EM>of</EM> <EM>the</EM> <EM>signal.</EM>
+
+ <EM>None</EM> <EM>of</EM> <EM>the</EM> <EM>Curses</EM> <EM>functions</EM> <EM>are</EM> <EM>required</EM> <EM>to</EM> <EM>be</EM> <EM>safe</EM> <EM>with</EM> <EM>respect</EM>
+ <EM>to</EM> <EM>signals</EM> ...
+
+ This implementation establishes signal handlers during initialization,
+ e.g., <STRONG>initscr</STRONG> or <STRONG>newterm</STRONG>. Applications which must handle these signals
+ should set up the corresponding handlers <EM>after</EM> initializing the li-
+ brary:
+
+ <STRONG>SIGINT</STRONG>
+ 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
+ is done without any signal blocking.
+
+ <STRONG>o</STRONG> On systems which have <STRONG>REENTRANT</STRONG> turned on, <STRONG>set_term</STRONG> uses func-
+ tions 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>SIGTERM</STRONG>
+ This uses the same handler as <STRONG>SIGINT</STRONG>, with the same limitations.
+ It is not mentioned in X/Open Curses, but is more suitable for
+ this purpose than <STRONG>SIGQUIT</STRONG> (which is used in debugging).
+
+ <STRONG>SIGTSTP</STRONG>
+ This handles the <EM>stop</EM> signal, used in job control. When resuming
+ the process, this implementation discards pending input with
+ <STRONG>flushinput</STRONG> (see <STRONG><A HREF="curs_util.3x.html">curs_util(3x)</A></STRONG>), and repaints the screen assuming
+ that it has been completely altered. It also updates the saved
+ terminal modes with <STRONG>def_shell_mode</STRONG> (see <STRONG><A HREF="curs_kernel.3x.html">curs_kernel(3x)</A></STRONG>).
+
+ <STRONG>SIGWINCH</STRONG>
+ This handles the window-size changes which were ignored in the
+ standardization efforts. The handler sets a (signal-safe) vari-
+ able which is later tested in <STRONG>wgetch</STRONG> (see <STRONG><A HREF="curs_getch.3x.html">curs_getch(3x)</A></STRONG>). If
+ <STRONG>keypad</STRONG> has been enabled for the corresponding window, <STRONG>wgetch</STRONG> re-
+ turns the key symbol <STRONG>KEY_RESIZE</STRONG>. At the same time, <STRONG>wgetch</STRONG> calls
+ <STRONG>resizeterm</STRONG> to adjust the standard screen <STRONG>stdscr</STRONG>, and update other
+ data such as <STRONG>LINES</STRONG> and <STRONG>COLS</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_kernel.3x.html">curs_kernel(3x)</A></STRONG>, <STRONG><A HREF="curs_refresh.3x.html">curs_refresh(3x)</A></STRONG>, <STRONG><A HREF="curs_slk.3x.html">curs_slk(3x)</A></STRONG>, <STRONG>curs_ter-</STRONG>
+ <STRONG><A HREF="curs_terminfo.3x.html">minfo(3x)</A></STRONG>, <STRONG><A HREF="curs_util.3x.html">curs_util(3x)</A></STRONG>, <STRONG><A HREF="curs_variables.3x.html">curs_variables(3x)</A></STRONG>.
- <STRONG><A HREF="curs_initscr.3x.html">curs_initscr(3x)</A></STRONG>
+ <STRONG><A HREF="curs_initscr.3x.html">curs_initscr(3x)</A></STRONG>
</PRE>
-<HR>
-<ADDRESS>
-Man(1) output converted with
-<a href="http://www.oac.uci.edu/indiv/ehood/man2html.html">man2html</a>
-</ADDRESS>
+<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>
+<ul>
+<li><a href="#h3-initscr">initscr</a></li>
+<li><a href="#h3-newterm">newterm</a></li>
+<li><a href="#h3-endwin">endwin</a></li>
+<li><a href="#h3-isendwin">isendwin</a></li>
+<li><a href="#h3-set_term">set_term</a></li>
+<li><a href="#h3-delscreen">delscreen</a></li>
+</ul>
+</li>
+<li><a href="#h2-RETURN-VALUE">RETURN VALUE</a></li>
+<li><a href="#h2-PORTABILITY">PORTABILITY</a>
+<ul>
+<li><a href="#h3-Differences">Differences</a></li>
+<li><a href="#h3-Unset-TERM-Variable">Unset TERM Variable</a></li>
+<li><a href="#h3-Signal-Handlers">Signal Handlers</a></li>
+</ul>
+</li>
+<li><a href="#h2-SEE-ALSO">SEE ALSO</a></li>
+</ul>
+</div>
</BODY>
</HTML>
diff --git a/doc/html/man/curs_inopts.3x.html b/doc/html/man/curs_inopts.3x.html
index 9843728a1350..94beb0341865 100644
--- a/doc/html/man/curs_inopts.3x.html
+++ b/doc/html/man/curs_inopts.3x.html
@@ -1,7 +1,6 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN">
<!--
****************************************************************************
- * Copyright (c) 1998-2012,2013 Free Software Foundation, Inc. *
+ * Copyright (c) 1998-2018,2019 Free Software Foundation, Inc. *
* *
* Permission is hereby granted, free of charge, to any person obtaining a *
* copy of this software and associated documentation files (the *
@@ -27,34 +26,32 @@
* sale, use or other dealings in this Software without prior written *
* authorization. *
****************************************************************************
- * @Id: curs_inopts.3x,v 1.18 2013/07/20 19:42:02 tom Exp @
+ * @Id: curs_inopts.3x,v 1.28 2019/01/20 20:39:35 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</TITLE>
-<link rev=made href="mailto:bug-ncurses@gnu.org">
+<link rel="author" href="mailto:bug-ncurses@gnu.org">
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
</HEAD>
<BODY>
-<H1>curs_inopts 3x</H1>
-<HR>
+<H1 class="no-header">curs_inopts 3x</H1>
<PRE>
-<!-- Manpage converted by man2html 3.0.1 -->
-<STRONG><A HREF="curs_inopts.3x.html">curs_inopts(3x)</A></STRONG> <STRONG><A HREF="curs_inopts.3x.html">curs_inopts(3x)</A></STRONG>
+<STRONG><A HREF="curs_inopts.3x.html">curs_inopts(3x)</A></STRONG> <STRONG><A HREF="curs_inopts.3x.html">curs_inopts(3x)</A></STRONG>
-</PRE>
-<H2>NAME</H2><PRE>
- <STRONG>cbreak</STRONG>, <STRONG>nocbreak</STRONG>, <STRONG>echo</STRONG>, <STRONG>noecho</STRONG>, <STRONG>halfdelay</STRONG>, <STRONG>intrflush</STRONG>,
- <STRONG>keypad</STRONG>, <STRONG>meta</STRONG>, <STRONG>nodelay</STRONG>, <STRONG>notimeout</STRONG>, <STRONG>raw</STRONG>, <STRONG>noraw</STRONG>, <STRONG>noqiflush</STRONG>,
- <STRONG>qiflush</STRONG>, <STRONG>timeout</STRONG>, <STRONG>wtimeout</STRONG>, <STRONG>typeahead</STRONG> - <STRONG>curses</STRONG> input
- options
+</PRE><H2><a name="h2-NAME">NAME</a></H2><PRE>
+ <STRONG>cbreak</STRONG>, <STRONG>nocbreak</STRONG>, <STRONG>echo</STRONG>, <STRONG>noecho</STRONG>, <STRONG>halfdelay</STRONG>, <STRONG>intrflush</STRONG>, <STRONG>keypad</STRONG>, <STRONG>meta</STRONG>,
+ <STRONG>nodelay</STRONG>, <STRONG>notimeout</STRONG>, <STRONG>raw</STRONG>, <STRONG>noraw</STRONG>, <STRONG>noqiflush</STRONG>, <STRONG>qiflush</STRONG>, <STRONG>timeout</STRONG>, <STRONG>wtimeout</STRONG>,
+ <STRONG>typeahead</STRONG> - <STRONG>curses</STRONG> input options
-</PRE>
-<H2>SYNOPSIS</H2><PRE>
+</PRE><H2><a name="h2-SYNOPSIS">SYNOPSIS</a></H2><PRE>
<STRONG>#include</STRONG> <STRONG>&lt;curses.h&gt;</STRONG>
<STRONG>int</STRONG> <STRONG>cbreak(void);</STRONG>
@@ -76,220 +73,237 @@
<STRONG>int</STRONG> <STRONG>typeahead(int</STRONG> <STRONG>fd);</STRONG>
-</PRE>
-<H2>DESCRIPTION</H2><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-process-
- ing (interrupt and flow control characters are unaffect-
- ed), making characters typed by the user immediately
- available to the program. The <STRONG>nocbreak</STRONG> routine returns
- the terminal to normal (cooked) mode.
-
- Initially the terminal may or may not be in <STRONG>cbreak</STRONG> mode,
- as the mode is inherited; therefore, a program should call
- <STRONG>cbreak</STRONG> or <STRONG>nocbreak</STRONG> explicitly. Most interactive programs
- using <STRONG>curses</STRONG> set the <STRONG>cbreak</STRONG> mode. Note that <STRONG>cbreak</STRONG> over-
- rides <STRONG>raw</STRONG>. [See <STRONG><A HREF="curs_getch.3x.html">curs_getch(3x)</A></STRONG> for a discussion of how
- these routines interact with <STRONG>echo</STRONG> and <STRONG>noecho</STRONG>.]
-
- The <STRONG>echo</STRONG> and <STRONG>noecho</STRONG> routines control whether characters
- typed by the user are echoed by <STRONG>getch</STRONG> as they are typed.
- Echoing by the tty driver is always disabled, but initial-
- ly <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>.]
-
- The <STRONG>halfdelay</STRONG> routine is used for half-delay mode, which
- is similar to <STRONG>cbreak</STRONG> mode in that characters typed by the
- user are immediately available to the program. However,
- after blocking for <EM>tenths</EM> tenths of seconds, ERR is re-
- turned if nothing has been typed. The value of <STRONG>tenths</STRONG>
- must be a number between 1 and 255. Use <STRONG>nocbreak</STRONG> to leave
- half-delay mode.
-
- If the <STRONG>intrflush</STRONG> option is enabled, (<EM>bf</EM> is <STRONG>TRUE</STRONG>), when 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 in-
- terrupt, but causing <STRONG>curses</STRONG> to have the wrong idea of what
- is on the screen. Disabling (<EM>bf</EM> is <STRONG>FALSE</STRONG>), the option
- prevents the flush. The default for the option is inher-
- ited from the tty driver settings. The window argument is
- ignored.
-
- The <STRONG>keypad</STRONG> option enables the keypad of the user's termi-
- nal. If enabled (<EM>bf</EM> is <STRONG>TRUE</STRONG>), the user can press a func-
- tion key (such as an arrow key) and <STRONG>wgetch</STRONG> returns a sin-
- gle value representing the function key, as in <STRONG>KEY_LEFT</STRONG>.
- If disabled (<EM>bf</EM> is <STRONG>FALSE</STRONG>), <STRONG>curses</STRONG> 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 local-
- ly), turning on this option causes the terminal keypad to
- be turned on when <STRONG>wgetch</STRONG> is called. The default value for
- keypad is false.
-
- Initially, whether the terminal returns 7 or 8 significant
- bits on input depends on the control mode of the tty driv-
- er [see <STRONG>termio(7)</STRONG>]. To force 8 bits to be returned, in-
- voke <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>,
+</PRE><H2><a name="h2-DESCRIPTION">DESCRIPTION</a></H2><PRE>
+ The <STRONG>ncurses</STRONG> 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. Win-
+ dow-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">cbreak</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 charac-
+ ters 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.
+
+ Initially the terminal may or may not be in <STRONG>cbreak</STRONG> mode, as the mode is
+ inherited; therefore, a program should call <STRONG>cbreak</STRONG> or <STRONG>nocbreak</STRONG> explic-
+ itly. Most interactive programs using <STRONG>curses</STRONG> set the <STRONG>cbreak</STRONG> mode.
+ Note that <STRONG>cbreak</STRONG> overrides <STRONG>raw</STRONG>. [See <STRONG><A HREF="curs_getch.3x.html">curs_getch(3x)</A></STRONG> for a 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>
+ 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 pre-
+ fer 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>
+ The <STRONG>halfdelay</STRONG> routine is used for half-delay mode, which is similar to
+ <STRONG>cbreak</STRONG> mode in that characters typed by the user are immediately avail-
+ able to the program. However, after blocking for <EM>tenths</EM> tenths of sec-
+ onds, <STRONG>ERR</STRONG> is returned if nothing has been typed. The value of <EM>tenths</EM>
+ must be a number between 1 and 255. Use <STRONG>nocbreak</STRONG> to leave half-delay
+ mode.
+
+
+</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
+ to the interrupt, but causing <STRONG>curses</STRONG> 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.
+
+
+</PRE><H3><a name="h3-keypad">keypad</a></H3><PRE>
+ The <STRONG>keypad</STRONG> option enables the keypad of the user's terminal. If en-
+ abled (<EM>bf</EM> is <STRONG>TRUE</STRONG>), the user can press a function key (such as an arrow
+ key) and <STRONG><A HREF="curs_getch.3x.html">wgetch(3x)</A></STRONG> returns a single value representing the function
+ key, as in <STRONG>KEY_LEFT</STRONG>. If disabled (<EM>bf</EM> is <STRONG>FALSE</STRONG>), <STRONG>curses</STRONG> does not treat
+ function keys specially and the program has to interpret the escape se-
+ quences 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 <STRONG><A HREF="curs_getch.3x.html">wgetch(3x)</A></STRONG> is called.
+ The default value for keypad is <STRONG>FALSE</STRONG>.
+
+
+</PRE><H3><a name="h3-meta">meta</a></H3><PRE>
+ Initially, whether the terminal returns 7 or 8 significant bits on in-
+ put 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 equiva-
+ lent, 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 termi-
+ nal 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.
- The <STRONG>nodelay</STRONG> option causes <STRONG>getch</STRONG> to be a non-blocking call.
- If no input is ready, <STRONG>getch</STRONG> returns <STRONG>ERR</STRONG>. If disabled (<EM>bf</EM>
- is <STRONG>FALSE</STRONG>), <STRONG>getch</STRONG> waits until a key is pressed.
-
- While interpreting an input escape sequence, <STRONG>wgetch</STRONG> sets a
- timer while waiting for the next character. If <STRONG>notime-</STRONG>
- <STRONG>out(</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 be-
- tween sequences received from a function key and those
- typed by a user.
-
- 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 us-
- er program. The differences are that in raw mode, the in-
- terrupt, 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 <STRONG>curses</STRONG>.
-
- 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>termio(7)</STRONG>]. When <STRONG>qiflush</STRONG>
- is called, the queues will be flushed when these control
- characters are read. You may want to call <STRONG>noqiflush()</STRONG> in
- a signal handler if you want output to continue as though
- the interrupt had not occurred, after the handler exits.
- 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 in-
- put). 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> if there is still no input. Hence, these rou-
- tines provide the same functionality as <STRONG>nodelay</STRONG>, plus the
- additional capability of being able to block for only <EM>de-</EM>
- <EM>lay</EM> milliseconds (where <EM>delay</EM> is positive).
-
- The <STRONG>curses</STRONG> 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 <STRONG>refresh</STRONG> or <STRONG>doupdate</STRONG>
- is called again. This allows faster response to commands
- typed in advance. Normally, the input FILE 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> is -1, then no
- typeahead checking is done.
+</PRE><H3><a name="h3-nodelay">nodelay</a></H3><PRE>
+ The <STRONG>nodelay</STRONG> option causes <STRONG>getch</STRONG> to be a non-blocking call. If no input
+ is ready, <STRONG>getch</STRONG> returns <STRONG>ERR</STRONG>. If disabled (<EM>bf</EM> is <STRONG>FALSE</STRONG>), <STRONG>getch</STRONG> waits
+ until a key is pressed.
+ While interpreting an input 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.
-</PRE>
-<H2>RETURN VALUE</H2><PRE>
- All routines that return an integer return <STRONG>ERR</STRONG> upon fail-
- ure and OK (SVr4 specifies only "an integer value other
- than <STRONG>ERR</STRONG>") upon successful completion, unless otherwise
- noted in the preceding routine descriptions.
- X/Open does not define any error conditions. In this im-
- plementation, functions with a window parameter will re-
- turn an error if it is null. Any function will also re-
- turn an error if the terminal was not initialized. Also,
+</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 imme-
+ diately 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 <STRONG>curses</STRONG>.
- <STRONG>halfdelay</STRONG>
- returns an error if its parameter is outside
- the range 1..255.
+</PRE><H3><a name="h3-noqiflush">noqiflush</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
+ flushed when these control characters are read. You may want to call
+ <STRONG>noqiflush</STRONG> in a signal handler if you want output to continue as though
+ the interrupt had not occurred, after the handler exits.
-</PRE>
-<H2>PORTABILITY</H2><PRE>
- These functions are described in the XSI Curses standard,
- Issue 4.
-
- The ncurses library obeys the XPG4 standard and the his-
- torical practice of the AT&amp;T curses implementations, in
- that the echo bit is cleared when curses initializes the
- terminal state. BSD curses 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 portabili-
- ty, set echo or noecho explicitly just after initializa-
- tion, even if your program remains in cooked mode.
-
- When <STRONG>keypad</STRONG> is first enabled, ncurses loads the key-defi-
- nitions for the current terminal description. If the ter-
- minal description includes extended string capabilities,
- e.g., from using the <STRONG>-x</STRONG> option of tic, then ncurses also
- defines keys for the capabilities whose names begin with
- "k". The corresponding keycodes are generated and (de-
- pending 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
- curses 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 <EM>tigetstr</EM>,
- and reassign the keycode to match its own needs.
-
- Low-level applications can use <STRONG>tigetstr</STRONG> to obtain the def-
- inition of any particular string capability. Higher-level
- applications which use the curses <STRONG>wgetch</STRONG> and similar func-
- tions 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. Most curses implementations (including ncurses)
- load key definitions in the order defined by the array of
- string capability names. The last key to be loaded deter-
- mines the keycode which will be returned. In 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 key definition, the later definition is the one
- used.
+</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>
+ 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 <STRONG>curses</STRONG> library does "line-breakout optimization" by looking for ty-
+ peahead periodically while updating the screen. If input is found, and
+ it is coming from a tty, the current update is postponed until <STRONG>re-</STRONG>
+ <STRONG><A HREF="refresh.3x.html">fresh(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
+ <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> is
+ -1, then no typeahead checking is done.
+
+
+</PRE><H2><a name="h2-RETURN-VALUE">RETURN VALUE</a></H2><PRE>
+ All routines that return an integer return <STRONG>ERR</STRONG> upon failure and <STRONG>OK</STRONG>
+ (SVr4 specifies only "an integer value other than <STRONG>ERR</STRONG>") upon successful
+ completion, unless otherwise noted in the preceding routine descrip-
+ tions.
+
+ 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 initial-
+ ized. Also,
-</PRE>
-<H2>NOTES</H2><PRE>
- Note that <STRONG>echo</STRONG>, <STRONG>noecho</STRONG>, <STRONG>halfdelay</STRONG>, <STRONG>intrflush</STRONG>, <STRONG>meta</STRONG>, <STRONG>node-</STRONG>
- <STRONG>lay</STRONG>, <STRONG>notimeout</STRONG>, <STRONG>noqiflush</STRONG>, <STRONG>qiflush</STRONG>, <STRONG>timeout</STRONG>, and <STRONG>wtimeout</STRONG>
- may be 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>halfdelay</STRONG>
+ returns an error if its parameter is outside the range
+ 1..255.
+
+
+</PRE><H2><a name="h2-PORTABILITY">PORTABILITY</a></H2><PRE>
+ These functions are described in the XSI Curses standard, Issue 4.
+
+ The ncurses library obeys the XPG4 standard and the historical practice
+ of the AT&amp;T curses implementations, in that the echo bit is cleared
+ when curses initializes the terminal state. BSD curses 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
+ echo or noecho explicitly just after initialization, even if your pro-
+ gram remains in cooked mode.
+
+ When <STRONG>keypad</STRONG> is first enabled, ncurses loads the key-definitions for the
+ current terminal description. If the terminal description includes ex-
+ tended string capabilities, e.g., from using the <STRONG>-x</STRONG> option of <STRONG>tic</STRONG>, then
+ ncurses also defines keys for the capabilities whose names begin with
+ "k". The corresponding keycodes are generated and (depending on previ-
+ ous loads of terminal descriptions) may differ from one execution of a
+ program to the next. The generated keycodes are recognized by the <STRONG>key-</STRONG>
+ <STRONG>name</STRONG> function (which will then return a name beginning with "k" denot-
+ ing the terminfo capability name rather than "K", used for curses key-
+ names). On the other hand, an application can use <STRONG>define_key</STRONG> to estab-
+ lish 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
+ curses <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.
+ Most curses implementations (including 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
+ ncurses, you may also have extended capabilities interpreted as key
+ definitions. These are loaded after the predefined keys, and if a ca-
+ pability's value is the same as a previously-loaded key definition, the
+ later definition is the one used.
+
+
+</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>nodelay</STRONG>, <STRONG>notimeout</STRONG>,
+ <STRONG>noqiflush</STRONG>, <STRONG>qiflush</STRONG>, <STRONG>timeout</STRONG>, and <STRONG>wtimeout</STRONG> may be 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
recommended.
-</PRE>
-<H2>SEE ALSO</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="define_key.3x.html">define_key(3x)</A></STRONG>, <STRONG>termio(7)</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_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>de-</STRONG>
+ <STRONG><A HREF="define_key.3x.html">fine_key(3x)</A></STRONG>, <STRONG>termios(3)</STRONG>
- <STRONG><A HREF="curs_inopts.3x.html">curs_inopts(3x)</A></STRONG>
+ <STRONG><A HREF="curs_inopts.3x.html">curs_inopts(3x)</A></STRONG>
</PRE>
-<HR>
-<ADDRESS>
-Man(1) output converted with
-<a href="http://www.oac.uci.edu/indiv/ehood/man2html.html">man2html</a>
-</ADDRESS>
+<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>
+<ul>
+<li><a href="#h3-cbreak">cbreak</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-nodelay">nodelay</a></li>
+<li><a href="#h3-raw_noraw">raw/noraw</a></li>
+<li><a href="#h3-noqiflush">noqiflush</a></li>
+<li><a href="#h3-timeout_wtimeout">timeout/wtimeout</a></li>
+<li><a href="#h3-typeahead">typeahead</a></li>
+</ul>
+</li>
+<li><a href="#h2-RETURN-VALUE">RETURN VALUE</a></li>
+<li><a href="#h2-PORTABILITY">PORTABILITY</a></li>
+<li><a href="#h2-NOTES">NOTES</a></li>
+<li><a href="#h2-SEE-ALSO">SEE ALSO</a></li>
+</ul>
+</div>
</BODY>
</HTML>
diff --git a/doc/html/man/curs_ins_wch.3x.html b/doc/html/man/curs_ins_wch.3x.html
index afd50cd3312f..05b43675996d 100644
--- a/doc/html/man/curs_ins_wch.3x.html
+++ b/doc/html/man/curs_ins_wch.3x.html
@@ -1,7 +1,6 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN">
<!--
****************************************************************************
- * Copyright (c) 2002-2006,2010 Free Software Foundation, Inc. *
+ * Copyright (c) 2002-2017,2019 Free Software Foundation, Inc. *
* *
* Permission is hereby granted, free of charge, to any person obtaining a *
* copy of this software and associated documentation files (the *
@@ -27,78 +26,75 @@
* sale, use or other dealings in this Software without prior written *
* authorization. *
****************************************************************************
- * @Id: curs_ins_wch.3x,v 1.5 2010/12/04 18:38:55 tom Exp @
+ * @Id: curs_ins_wch.3x,v 1.7 2019/11/30 21:06:30 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</TITLE>
-<link rev=made href="mailto:bug-ncurses@gnu.org">
+<link rel="author" href="mailto:bug-ncurses@gnu.org">
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
</HEAD>
<BODY>
-<H1>curs_ins_wch 3x</H1>
-<HR>
+<H1 class="no-header">curs_ins_wch 3x</H1>
<PRE>
-<!-- Manpage converted by man2html 3.0.1 -->
-<STRONG><A HREF="curs_ins_wch.3x.html">curs_ins_wch(3x)</A></STRONG> <STRONG><A HREF="curs_ins_wch.3x.html">curs_ins_wch(3x)</A></STRONG>
+<STRONG><A HREF="curs_ins_wch.3x.html">curs_ins_wch(3x)</A></STRONG> <STRONG><A HREF="curs_ins_wch.3x.html">curs_ins_wch(3x)</A></STRONG>
-</PRE>
-<H2>NAME</H2><PRE>
- <STRONG>ins_wch</STRONG>, <STRONG>mvins_wch</STRONG>, <STRONG>mvwins_wch</STRONG>, <STRONG>wins_wch</STRONG> - insert a com-
- plex character and rendition into a window
+</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 complex character
+ and rendition into a window
-</PRE>
-<H2>SYNOPSIS</H2><PRE>
+</PRE><H2><a name="h2-SYNOPSIS">SYNOPSIS</a></H2><PRE>
#include &lt;curses.h&gt;
<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> <EM>const</EM> <EM>cchar</EM><STRONG>_</STRONG><EM>t</EM> <EM>*wch</EM><STRONG>);</STRONG>
<STRONG>int</STRONG> <STRONG>mvins_wch(int</STRONG> <EM>y,</EM> <EM>int</EM> <EM>x,</EM> <EM>const</EM> <EM>cchar</EM><STRONG>_</STRONG><EM>t</EM> <EM>*wch</EM><STRONG>);</STRONG>
- <STRONG>int</STRONG> <STRONG>mvwins_wch(WINDOW</STRONG> <STRONG>*</STRONG><EM>win,</EM> <EM>int</EM> <EM>y,</EM> <EM>int</EM> <EM>x,</EM> <EM>const</EM> <EM>cchar</EM><STRONG>_</STRONG><EM>t</EM>
- <EM>*wch</EM><STRONG>);</STRONG>
+ <STRONG>int</STRONG> <STRONG>mvwins_wch(WINDOW</STRONG> <STRONG>*</STRONG><EM>win,</EM> <EM>int</EM> <EM>y,</EM> <EM>int</EM> <EM>x,</EM> <EM>const</EM> <EM>cchar</EM><STRONG>_</STRONG><EM>t</EM> <EM>*wch</EM><STRONG>);</STRONG>
-</PRE>
-<H2>DESCRIPTION</H2><PRE>
- These routines, insert the complex character <EM>wch</EM> with ren-
- dition before the character under the cursor. All charac-
- ters 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.
+</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.
-</PRE>
-<H2>RETURN VALUE</H2><PRE>
- If successful, these functions return OK. If not, they
- return ERR.
+</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>.
- Functions with a "mv" prefix first perform a cursor move-
- ment using <STRONG>wmove</STRONG>, and return an error if the position is
- outside the window, or if the window pointer is null.
+ Functions with a "mv" prefix first perform 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.
-</PRE>
-<H2>ERRORS</H2><PRE>
+</PRE><H2><a name="h2-ERRORS">ERRORS</a></H2><PRE>
No errors are defined.
-</PRE>
-<H2>SEE ALSO</H2><PRE>
+</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_ins_wch.3x.html">curs_ins_wch(3x)</A></STRONG>
+ <STRONG><A HREF="curs_ins_wch.3x.html">curs_ins_wch(3x)</A></STRONG>
</PRE>
-<HR>
-<ADDRESS>
-Man(1) output converted with
-<a href="http://www.oac.uci.edu/indiv/ehood/man2html.html">man2html</a>
-</ADDRESS>
+<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>
+<li><a href="#h2-RETURN-VALUE">RETURN VALUE</a></li>
+<li><a href="#h2-ERRORS">ERRORS</a></li>
+<li><a href="#h2-SEE-ALSO">SEE ALSO</a></li>
+</ul>
+</div>
</BODY>
</HTML>
diff --git a/doc/html/man/curs_ins_wstr.3x.html b/doc/html/man/curs_ins_wstr.3x.html
index 8545bf134316..f04aa36a816e 100644
--- a/doc/html/man/curs_ins_wstr.3x.html
+++ b/doc/html/man/curs_ins_wstr.3x.html
@@ -1,7 +1,6 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN">
<!--
****************************************************************************
- * Copyright (c) 2002-2010,2012 Free Software Foundation, Inc. *
+ * Copyright (c) 2002-2017,2019 Free Software Foundation, Inc. *
* *
* Permission is hereby granted, free of charge, to any person obtaining a *
* copy of this software and associated documentation files (the *
@@ -27,33 +26,32 @@
* sale, use or other dealings in this Software without prior written *
* authorization. *
****************************************************************************
- * @Id: curs_ins_wstr.3x,v 1.7 2012/11/03 23:03:59 tom Exp @
+ * @Id: curs_ins_wstr.3x,v 1.9 2019/11/30 21:06:30 tom Exp @
-->
+<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN">
<HTML>
<HEAD>
+<meta http-equiv="Content-Type" content="text/html; charset=us-ascii">
+<meta name="generator" content="Manpage converted by man2html - see https://invisible-island.net/scripts/readme.html#others_scripts">
<TITLE>curs_ins_wstr 3x</TITLE>
-<link rev=made href="mailto:bug-ncurses@gnu.org">
+<link rel="author" href="mailto:bug-ncurses@gnu.org">
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
</HEAD>
<BODY>
-<H1>curs_ins_wstr 3x</H1>
-<HR>
+<H1 class="no-header">curs_ins_wstr 3x</H1>
<PRE>
-<!-- Manpage converted by man2html 3.0.1 -->
-<STRONG><A HREF="curs_ins_wstr.3x.html">curs_ins_wstr(3x)</A></STRONG> <STRONG><A HREF="curs_ins_wstr.3x.html">curs_ins_wstr(3x)</A></STRONG>
+<STRONG><A HREF="curs_ins_wstr.3x.html">curs_ins_wstr(3x)</A></STRONG> <STRONG><A HREF="curs_ins_wstr.3x.html">curs_ins_wstr(3x)</A></STRONG>
-</PRE>
-<H2>NAME</H2><PRE>
- <STRONG>ins_wstr</STRONG>, <STRONG>ins_nwstr</STRONG>, <STRONG>wins_wstr</STRONG>, <STRONG>wins_nwstr</STRONG>, <STRONG>mvins_wstr</STRONG>,
- <STRONG>mvins_nwstr</STRONG>, <STRONG>mvwins_wstr</STRONG>, <STRONG>mvwins_nwstr</STRONG> - insert a wide-
- character string into a curses window
+</PRE><H2><a name="h2-NAME">NAME</a></H2><PRE>
+ <STRONG>ins_wstr</STRONG>, <STRONG>ins_nwstr</STRONG>, <STRONG>wins_wstr</STRONG>, <STRONG>wins_nwstr</STRONG>, <STRONG>mvins_wstr</STRONG>, <STRONG>mvins_nwstr</STRONG>,
+ <STRONG>mvwins_wstr</STRONG>, <STRONG>mvwins_nwstr</STRONG> - insert a wide-character string into a
+ curses window
-</PRE>
-<H2>SYNOPSIS</H2><PRE>
+</PRE><H2><a name="h2-SYNOPSIS">SYNOPSIS</a></H2><PRE>
<STRONG>#include</STRONG> <STRONG>&lt;curses.h&gt;</STRONG>
<STRONG>int</STRONG> <STRONG>ins_wstr(const</STRONG> <STRONG>wchar_t</STRONG> <STRONG>*</STRONG><EM>wstr);</EM>
@@ -66,64 +64,59 @@
<STRONG>int</STRONG> <STRONG>mvwins_nwstr(WINDOW</STRONG> <STRONG>*</STRONG><EM>win</EM><STRONG>,</STRONG> <STRONG>int</STRONG> <EM>y</EM><STRONG>,</STRONG> <STRONG>int</STRONG> <EM>x</EM><STRONG>,</STRONG> <STRONG>const</STRONG> <STRONG>wchar_t</STRONG> <STRONG>*</STRONG><EM>wstr</EM><STRONG>,</STRONG> <STRONG>int</STRONG> <EM>n</EM><STRONG>);</STRONG>
-</PRE>
-<H2>DESCRIPTION</H2><PRE>
- These routines insert a <STRONG>wchar_t</STRONG> character string (as many
- characters as will fit on the line) before the character
- under the cursor. All characters to the right of the cur-
- sor are shifted right, with the possibility of the right-
- most characters on the line being lost. No wrapping is
- performed. The cursor position does not change (after
- moving to <EM>y</EM>, <EM>x</EM>, if specified). The four routines with <EM>n</EM>
- as the last argument insert a leading substring of at most
- <EM>n</EM> <STRONG>wchar_t</STRONG> characters. If <EM>n</EM> is less than 1, the entire
- string is inserted.
-
- If a character in <EM>wstr</EM> is a tab, newline, carriage return
- or backspace, the cursor is moved appropriately within the
- window. A newline also does a <STRONG>clrtoeol</STRONG> before moving.
- Tabs are considered to be at every eighth column. If a
- character in <EM>wstr</EM> is another control character, it is
- drawn in the <STRONG>^</STRONG><EM>X</EM> notation. Calling <STRONG>win_wch</STRONG> after adding a
- control character (and moving to it, if necessary) does
- not return the control character, but instead returns a
- character in the ^-representation of the control charac-
- ter.
+</PRE><H2><a name="h2-DESCRIPTION">DESCRIPTION</a></H2><PRE>
+ These routines insert a <STRONG>wchar_t</STRONG> character string (as many characters as
+ will fit on the line) before the character under the cursor. All char-
+ acters to the right of the cursor are shifted right, with the possibil-
+ ity of the rightmost characters on the line being lost. No wrapping is
+ performed. The cursor position does not change (after moving to <EM>y</EM>, <EM>x</EM>,
+ if specified). The four routines with <EM>n</EM> as the last argument insert a
+ leading substring of at most <EM>n</EM> <STRONG>wchar_t</STRONG> characters. If <EM>n</EM> is less than
+ 1, the entire string is inserted.
+ If a character in <EM>wstr</EM> is a tab, newline, carriage return or backspace,
+ the cursor is moved appropriately within the window. A newline also
+ does a <STRONG>clrtoeol</STRONG> before moving. Tabs are considered to be at every
+ eighth column. If a character in <EM>wstr</EM> is another control character, it
+ is drawn in the <STRONG>^</STRONG><EM>X</EM> notation. Calling <STRONG>win_wch</STRONG> after adding a control
+ character (and moving to it, if necessary) does not return the control
+ character, but instead returns a character in the ^-representation of
+ the control character.
-</PRE>
-<H2>NOTES</H2><PRE>
+
+</PRE><H2><a name="h2-NOTES">NOTES</a></H2><PRE>
Note that all but wins_nwstr may be macros.
- If the first character in the string is a nonspacing char-
- acter, these functions will fail. XSI does not define
- what will happen if a nonspacing character follows a con-
- trol character.
+ If the first character in the string is a nonspacing character, these
+ functions will fail. XSI does not define what will happen if a non-
+ spacing character follows a control character.
-</PRE>
-<H2>RETURN VALUE</H2><PRE>
- Upon successful completion, these functions return OK.
- Otherwise, they return ERR.
+</PRE><H2><a name="h2-RETURN-VALUE">RETURN VALUE</a></H2><PRE>
+ Upon successful completion, these functions return <STRONG>OK</STRONG>. Otherwise, they
+ return <STRONG>ERR</STRONG>.
- Functions with a "mv" prefix first perform a cursor move-
- ment using <STRONG>wmove</STRONG>, and return an error if the position is
- outside the window, or if the window pointer is null.
+ Functions with a "mv" prefix first perform 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.
-</PRE>
-<H2>SEE ALSO</H2><PRE>
- <STRONG><A HREF="ncurses.3x.html">curses(3x)</A></STRONG>, <STRONG><A HREF="curs_insstr.3x.html">curs_insstr(3x)</A></STRONG>, <STRONG><A HREF="curs_in_wch.3x.html">curs_in_wch(3x)</A></STRONG>,
- <STRONG><A HREF="curs_ins_wch.3x.html">curs_ins_wch(3x)</A></STRONG>.
+</PRE><H2><a name="h2-SEE-ALSO">SEE ALSO</a></H2><PRE>
+ <STRONG><A HREF="ncurses.3x.html">curses(3x)</A></STRONG>, <STRONG><A HREF="curs_insstr.3x.html">curs_insstr(3x)</A></STRONG>, <STRONG><A HREF="curs_in_wch.3x.html">curs_in_wch(3x)</A></STRONG>, <STRONG><A HREF="curs_ins_wch.3x.html">curs_ins_wch(3x)</A></STRONG>.
- <STRONG><A HREF="curs_ins_wstr.3x.html">curs_ins_wstr(3x)</A></STRONG>
+ <STRONG><A HREF="curs_ins_wstr.3x.html">curs_ins_wstr(3x)</A></STRONG>
</PRE>
-<HR>
-<ADDRESS>
-Man(1) output converted with
-<a href="http://www.oac.uci.edu/indiv/ehood/man2html.html">man2html</a>
-</ADDRESS>
+<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>
+<li><a href="#h2-NOTES">NOTES</a></li>
+<li><a href="#h2-RETURN-VALUE">RETURN VALUE</a></li>
+<li><a href="#h2-SEE-ALSO">SEE ALSO</a></li>
+</ul>
+</div>
</BODY>
</HTML>
diff --git a/doc/html/man/curs_insch.3x.html b/doc/html/man/curs_insch.3x.html
index 559254e2befd..086ff7481bfd 100644
--- a/doc/html/man/curs_insch.3x.html
+++ b/doc/html/man/curs_insch.3x.html
@@ -1,7 +1,6 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN">
<!--
****************************************************************************
- * Copyright (c) 1998-2006,2010 Free Software Foundation, Inc. *
+ * Copyright (c) 1998-2018,2019 Free Software Foundation, Inc. *
* *
* Permission is hereby granted, free of charge, to any person obtaining a *
* copy of this software and associated documentation files (the *
@@ -27,32 +26,31 @@
* sale, use or other dealings in this Software without prior written *
* authorization. *
****************************************************************************
- * @Id: curs_insch.3x,v 1.13 2010/12/04 18:38:55 tom Exp @
+ * @Id: curs_insch.3x,v 1.16 2019/11/30 21:06:30 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</TITLE>
-<link rev=made href="mailto:bug-ncurses@gnu.org">
+<link rel="author" href="mailto:bug-ncurses@gnu.org">
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
</HEAD>
<BODY>
-<H1>curs_insch 3x</H1>
-<HR>
+<H1 class="no-header">curs_insch 3x</H1>
<PRE>
-<!-- Manpage converted by man2html 3.0.1 -->
-<STRONG><A HREF="curs_insch.3x.html">curs_insch(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> <STRONG><A HREF="curs_insch.3x.html">curs_insch(3x)</A></STRONG>
-</PRE>
-<H2>NAME</H2><PRE>
- <STRONG>insch</STRONG>, <STRONG>winsch</STRONG>, <STRONG>mvinsch</STRONG>, <STRONG>mvwinsch</STRONG> - insert a character
- before cursor in a <STRONG>curses</STRONG> window
+</PRE><H2><a name="h2-NAME">NAME</a></H2><PRE>
+ <STRONG>insch</STRONG>, <STRONG>winsch</STRONG>, <STRONG>mvinsch</STRONG>, <STRONG>mvwinsch</STRONG> - insert a character before cursor in
+ a <STRONG>curses</STRONG> window
-</PRE>
-<H2>SYNOPSIS</H2><PRE>
+</PRE><H2><a name="h2-SYNOPSIS">SYNOPSIS</a></H2><PRE>
<STRONG>#include</STRONG> <STRONG>&lt;curses.h&gt;</STRONG>
<STRONG>int</STRONG> <STRONG>insch(chtype</STRONG> <STRONG>ch);</STRONG>
@@ -61,57 +59,56 @@
<STRONG>int</STRONG> <STRONG>mvwinsch(WINDOW</STRONG> <STRONG>*win,</STRONG> <STRONG>int</STRONG> <STRONG>y,</STRONG> <STRONG>int</STRONG> <STRONG>x,</STRONG> <STRONG>chtype</STRONG> <STRONG>ch);</STRONG>
-</PRE>
-<H2>DESCRIPTION</H2><PRE>
- These routines insert the character <EM>ch</EM> before the charac-
- ter under the cursor. All characters to the right of the
- cursor are moved one space to the right, with the possi-
- bility of the rightmost character on the line being lost.
- The insertion operation does not change the cursor posi-
- tion.
+</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.
-</PRE>
-<H2>RETURN VALUE</H2><PRE>
- All routines that return an integer return <STRONG>ERR</STRONG> upon fail-
- ure and OK (SVr4 specifies only "an integer value other
- than <STRONG>ERR</STRONG>") upon successful completion, unless otherwise
- noted in the preceding routine descriptions.
+</PRE><H2><a name="h2-RETURN-VALUE">RETURN VALUE</a></H2><PRE>
+ All routines that return an integer return <STRONG>ERR</STRONG> upon failure and <STRONG>OK</STRONG>
+ (SVr4 specifies only "an integer value other than <STRONG>ERR</STRONG>") upon successful
+ completion, unless otherwise noted in the preceding routine descrip-
+ tions.
- Functions with a "mv" prefix first perform a cursor move-
- ment using <STRONG>wmove</STRONG>, and return an error if the position is
- outside the window, or if the window pointer is null.
+ Functions with a "mv" prefix first perform 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.
-</PRE>
-<H2>NOTES</H2><PRE>
- These routines do not necessarily imply use of a hardware
- insert character feature.
+</PRE><H2><a name="h2-NOTES">NOTES</a></H2><PRE>
+ These routines do not necessarily imply use of a hardware insert char-
+ acter feature.
Note that <STRONG>insch</STRONG>, <STRONG>mvinsch</STRONG>, and <STRONG>mvwinsch</STRONG> may be macros.
-</PRE>
-<H2>PORTABILITY</H2><PRE>
- These functions are described in the XSI Curses standard,
- Issue 4.
+</PRE><H2><a name="h2-PORTABILITY">PORTABILITY</a></H2><PRE>
+ These functions are described in the XSI Curses standard, Issue 4.
-</PRE>
-<H2>SEE ALSO</H2><PRE>
+</PRE><H2><a name="h2-SEE-ALSO">SEE ALSO</a></H2><PRE>
<STRONG><A HREF="ncurses.3x.html">curses(3x)</A></STRONG>.
- 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>.
+ 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="curs_insch.3x.html">curs_insch(3x)</A></STRONG>
+ <STRONG><A HREF="curs_insch.3x.html">curs_insch(3x)</A></STRONG>
</PRE>
-<HR>
-<ADDRESS>
-Man(1) output converted with
-<a href="http://www.oac.uci.edu/indiv/ehood/man2html.html">man2html</a>
-</ADDRESS>
+<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>
+<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-SEE-ALSO">SEE ALSO</a></li>
+</ul>
+</div>
</BODY>
</HTML>
diff --git a/doc/html/man/curs_insstr.3x.html b/doc/html/man/curs_insstr.3x.html
index 91e533f29cbb..e8b0d9eadb6b 100644
--- a/doc/html/man/curs_insstr.3x.html
+++ b/doc/html/man/curs_insstr.3x.html
@@ -1,7 +1,6 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN">
<!--
****************************************************************************
- * Copyright (c) 1998-2006,2010 Free Software Foundation, Inc. *
+ * Copyright (c) 1998-2017,2019 Free Software Foundation, Inc. *
* *
* Permission is hereby granted, free of charge, to any person obtaining a *
* copy of this software and associated documentation files (the *
@@ -27,33 +26,31 @@
* sale, use or other dealings in this Software without prior written *
* authorization. *
****************************************************************************
- * @Id: curs_insstr.3x,v 1.21 2010/12/04 18:38:55 tom Exp @
+ * @Id: curs_insstr.3x,v 1.23 2019/11/30 21:06:30 tom Exp @
-->
+<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN">
<HTML>
<HEAD>
+<meta http-equiv="Content-Type" content="text/html; charset=us-ascii">
+<meta name="generator" content="Manpage converted by man2html - see https://invisible-island.net/scripts/readme.html#others_scripts">
<TITLE>curs_insstr 3x</TITLE>
-<link rev=made href="mailto:bug-ncurses@gnu.org">
+<link rel="author" href="mailto:bug-ncurses@gnu.org">
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
</HEAD>
<BODY>
-<H1>curs_insstr 3x</H1>
-<HR>
+<H1 class="no-header">curs_insstr 3x</H1>
<PRE>
-<!-- Manpage converted by man2html 3.0.1 -->
-<STRONG><A HREF="curs_insstr.3x.html">curs_insstr(3x)</A></STRONG> <STRONG><A HREF="curs_insstr.3x.html">curs_insstr(3x)</A></STRONG>
+<STRONG><A HREF="curs_insstr.3x.html">curs_insstr(3x)</A></STRONG> <STRONG><A HREF="curs_insstr.3x.html">curs_insstr(3x)</A></STRONG>
-</PRE>
-<H2>NAME</H2><PRE>
- <STRONG>insstr</STRONG>, <STRONG>insnstr</STRONG>, <STRONG>winsstr</STRONG>, <STRONG>winsnstr</STRONG>, <STRONG>mvinsstr</STRONG>, <STRONG>mvinsnstr</STRONG>,
- <STRONG>mvwinsstr</STRONG>, <STRONG>mvwinsnstr</STRONG> - insert string before cursor in a
- <STRONG>curses</STRONG> window
+</PRE><H2><a name="h2-NAME">NAME</a></H2><PRE>
+ <STRONG>insstr</STRONG>, <STRONG>insnstr</STRONG>, <STRONG>winsstr</STRONG>, <STRONG>winsnstr</STRONG>, <STRONG>mvinsstr</STRONG>, <STRONG>mvinsnstr</STRONG>, <STRONG>mvwinsstr</STRONG>,
+ <STRONG>mvwinsnstr</STRONG> - insert string before cursor in a <STRONG>curses</STRONG> window
-</PRE>
-<H2>SYNOPSIS</H2><PRE>
+</PRE><H2><a name="h2-SYNOPSIS">SYNOPSIS</a></H2><PRE>
<STRONG>#include</STRONG> <STRONG>&lt;curses.h&gt;</STRONG>
<STRONG>int</STRONG> <STRONG>insstr(const</STRONG> <STRONG>char</STRONG> <STRONG>*str);</STRONG>
<STRONG>int</STRONG> <STRONG>insnstr(const</STRONG> <STRONG>char</STRONG> <STRONG>*str,</STRONG> <STRONG>int</STRONG> <STRONG>n);</STRONG>
@@ -62,70 +59,67 @@
<STRONG>int</STRONG> <STRONG>mvinsstr(int</STRONG> <STRONG>y,</STRONG> <STRONG>int</STRONG> <STRONG>x,</STRONG> <STRONG>const</STRONG> <STRONG>char</STRONG> <STRONG>*str);</STRONG>
<STRONG>int</STRONG> <STRONG>mvinsnstr(int</STRONG> <STRONG>y,</STRONG> <STRONG>int</STRONG> <STRONG>x,</STRONG> <STRONG>const</STRONG> <STRONG>char</STRONG> <STRONG>*str,</STRONG> <STRONG>int</STRONG> <STRONG>n);</STRONG>
<STRONG>int</STRONG> <STRONG>mvwinsstr(WINDOW</STRONG> <STRONG>*win,</STRONG> <STRONG>int</STRONG> <STRONG>y,</STRONG> <STRONG>int</STRONG> <STRONG>x,</STRONG> <STRONG>const</STRONG> <STRONG>char</STRONG> <STRONG>*str);</STRONG>
- <STRONG>int</STRONG> <STRONG>mvwinsnstr(WINDOW</STRONG> <STRONG>*win,</STRONG> <STRONG>int</STRONG> <STRONG>y,</STRONG> <STRONG>int</STRONG> <STRONG>x,</STRONG> <STRONG>const</STRONG> <STRONG>char</STRONG> <STRONG>*str,</STRONG>
- <STRONG>int</STRONG> <STRONG>n);</STRONG>
+ <STRONG>int</STRONG> <STRONG>mvwinsnstr(WINDOW</STRONG> <STRONG>*win,</STRONG> <STRONG>int</STRONG> <STRONG>y,</STRONG> <STRONG>int</STRONG> <STRONG>x,</STRONG> <STRONG>const</STRONG> <STRONG>char</STRONG> <STRONG>*str,</STRONG> <STRONG>int</STRONG> <STRONG>n);</STRONG>
-</PRE>
-<H2>DESCRIPTION</H2><PRE>
- These routines insert a character string (as many charac-
- ters as will fit on the line) before the character under
- the cursor. All characters to the right of the cursor are
- shifted right with the possibility of the rightmost char-
- acters on the line being lost. The cursor position does
- not change (after moving to <EM>y</EM>, <EM>x</EM>, if specified). The
- functions with <EM>n</EM> as the last argument insert a leading
- substring of at most <EM>n</EM> characters. If <EM>n</EM>&lt;=0, then the
- entire string is inserted.
+</PRE><H2><a name="h2-DESCRIPTION">DESCRIPTION</a></H2><PRE>
+ These routines insert a character string (as many characters as will
+ fit on the line) before the character under the cursor. All characters
+ to the right of the cursor are shifted right with the possibility of
+ the rightmost characters on the line being lost. The cursor position
+ does not change (after moving to <EM>y</EM>, <EM>x</EM>, if specified). The functions
+ with <EM>n</EM> as the last argument insert a leading substring of at most <EM>n</EM>
+ characters. If <EM>n</EM>&lt;=0, then the entire string is inserted.
Special characters are handled as in <STRONG>addch</STRONG>.
-</PRE>
-<H2>RETURN VALUE</H2><PRE>
- All routines that return an integer return <STRONG>ERR</STRONG> upon fail-
- ure and OK (SVr4 specifies only "an integer value other
- than <STRONG>ERR</STRONG>") upon successful completion, unless otherwise
- noted in the preceding routine descriptions.
+</PRE><H2><a name="h2-RETURN-VALUE">RETURN VALUE</a></H2><PRE>
+ All routines that return an integer return <STRONG>ERR</STRONG> upon failure and <STRONG>OK</STRONG>
+ (SVr4 specifies only "an integer value other than <STRONG>ERR</STRONG>") upon successful
+ completion, unless otherwise noted in the preceding routine descrip-
+ tions.
- X/Open defines no error conditions. In this implementa-
- tion, if the window parameter is null or the str parameter
- is null, an error is returned.
+ X/Open defines no error conditions. In this implementation, if the
+ window parameter is null or the str parameter is null, an error is
+ returned.
- Functions with a "mv" prefix first perform a cursor move-
- ment using <STRONG>wmove</STRONG>, and return an error if the position is
- outside the window, or if the window pointer is null.
+ Functions with a "mv" prefix first perform 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.
-</PRE>
-<H2>NOTES</H2><PRE>
+</PRE><H2><a name="h2-NOTES">NOTES</a></H2><PRE>
Note that all but <STRONG>winsnstr</STRONG> may be macros.
-</PRE>
-<H2>PORTABILITY</H2><PRE>
- These functions are described in the XSI Curses standard,
- Issue 4, which adds const qualifiers to the arguments.
+</PRE><H2><a name="h2-PORTABILITY">PORTABILITY</a></H2><PRE>
+ These functions are described in the XSI Curses standard, Issue 4,
+ which adds const qualifiers to the arguments.
- The Single Unix Specification, Version 2 states that
- <STRONG>insnstr</STRONG> and <STRONG>winsnstr</STRONG> perform wrapping. This is probably
- an error, since it makes this group of functions inconsis-
- tent. Also, no implementation of curses documents this
- inconsistency.
+ The Single Unix Specification, Version 2 states that <STRONG>insnstr</STRONG> and <STRONG>win-</STRONG>
+ <STRONG>snstr</STRONG> perform wrapping. This is probably an error, since it makes this
+ group of functions inconsistent. Also, no implementation of curses
+ documents this inconsistency.
-</PRE>
-<H2>SEE ALSO</H2><PRE>
+</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_util.3x.html">curs_util(3x)</A></STRONG>, <STRONG><A HREF="curs_clear.3x.html">curs_clear(3x)</A></STRONG>, <STRONG><A HREF="curs_inch.3x.html">curs_inch(3x)</A></STRONG>.
- <STRONG><A HREF="curs_insstr.3x.html">curs_insstr(3x)</A></STRONG>
+ <STRONG><A HREF="curs_insstr.3x.html">curs_insstr(3x)</A></STRONG>
</PRE>
-<HR>
-<ADDRESS>
-Man(1) output converted with
-<a href="http://www.oac.uci.edu/indiv/ehood/man2html.html">man2html</a>
-</ADDRESS>
+<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>
+<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-SEE-ALSO">SEE ALSO</a></li>
+</ul>
+</div>
</BODY>
</HTML>
diff --git a/doc/html/man/curs_instr.3x.html b/doc/html/man/curs_instr.3x.html
index 46c464d9e424..99d5965777f9 100644
--- a/doc/html/man/curs_instr.3x.html
+++ b/doc/html/man/curs_instr.3x.html
@@ -1,7 +1,6 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN">
<!--
****************************************************************************
- * Copyright (c) 1998-2006,2010 Free Software Foundation, Inc. *
+ * Copyright (c) 1998-2017,2018 Free Software Foundation, Inc. *
* *
* Permission is hereby granted, free of charge, to any person obtaining a *
* copy of this software and associated documentation files (the *
@@ -27,33 +26,31 @@
* sale, use or other dealings in this Software without prior written *
* authorization. *
****************************************************************************
- * @Id: curs_instr.3x,v 1.16 2010/12/04 18:38:55 tom Exp @
+ * @Id: curs_instr.3x,v 1.19 2018/07/28 21:34:06 tom Exp @
-->
+<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN">
<HTML>
<HEAD>
+<meta http-equiv="Content-Type" content="text/html; charset=us-ascii">
+<meta name="generator" content="Manpage converted by man2html - see https://invisible-island.net/scripts/readme.html#others_scripts">
<TITLE>curs_instr 3x</TITLE>
-<link rev=made href="mailto:bug-ncurses@gnu.org">
+<link rel="author" href="mailto:bug-ncurses@gnu.org">
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
</HEAD>
<BODY>
-<H1>curs_instr 3x</H1>
-<HR>
+<H1 class="no-header">curs_instr 3x</H1>
<PRE>
-<!-- Manpage converted by man2html 3.0.1 -->
-<STRONG><A HREF="curs_instr.3x.html">curs_instr(3x)</A></STRONG> <STRONG><A HREF="curs_instr.3x.html">curs_instr(3x)</A></STRONG>
+<STRONG><A HREF="curs_instr.3x.html">curs_instr(3x)</A></STRONG> <STRONG><A HREF="curs_instr.3x.html">curs_instr(3x)</A></STRONG>
-</PRE>
-<H2>NAME</H2><PRE>
- <STRONG>instr</STRONG>, <STRONG>innstr</STRONG>, <STRONG>winstr</STRONG>, <STRONG>winnstr</STRONG>, <STRONG>mvinstr</STRONG>, <STRONG>mvinnstr</STRONG>, <STRONG>mvwin-</STRONG>
- <STRONG>str</STRONG>, <STRONG>mvwinnstr</STRONG> - get a string of characters from a <STRONG>curses</STRONG>
- window
+</PRE><H2><a name="h2-NAME">NAME</a></H2><PRE>
+ <STRONG>instr</STRONG>, <STRONG>innstr</STRONG>, <STRONG>winstr</STRONG>, <STRONG>winnstr</STRONG>, <STRONG>mvinstr</STRONG>, <STRONG>mvinnstr</STRONG>, <STRONG>mvwinstr</STRONG>, <STRONG>mvwinnstr</STRONG>
+ - get a string of characters from a <STRONG>curses</STRONG> window
-</PRE>
-<H2>SYNOPSIS</H2><PRE>
+</PRE><H2><a name="h2-SYNOPSIS">SYNOPSIS</a></H2><PRE>
<STRONG>#include</STRONG> <STRONG>&lt;curses.h&gt;</STRONG>
<STRONG>int</STRONG> <STRONG>instr(char</STRONG> <STRONG>*str);</STRONG>
@@ -63,61 +60,62 @@
<STRONG>int</STRONG> <STRONG>mvinstr(int</STRONG> <STRONG>y,</STRONG> <STRONG>int</STRONG> <STRONG>x,</STRONG> <STRONG>char</STRONG> <STRONG>*str);</STRONG>
<STRONG>int</STRONG> <STRONG>mvinnstr(int</STRONG> <STRONG>y,</STRONG> <STRONG>int</STRONG> <STRONG>x,</STRONG> <STRONG>char</STRONG> <STRONG>*str,</STRONG> <STRONG>int</STRONG> <STRONG>n);</STRONG>
<STRONG>int</STRONG> <STRONG>mvwinstr(WINDOW</STRONG> <STRONG>*win,</STRONG> <STRONG>int</STRONG> <STRONG>y,</STRONG> <STRONG>int</STRONG> <STRONG>x,</STRONG> <STRONG>char</STRONG> <STRONG>*str);</STRONG>
- <STRONG>int</STRONG> <STRONG>mvwinnstr(WINDOW</STRONG> <STRONG>*win,</STRONG> <STRONG>int</STRONG> <STRONG>y,</STRONG> <STRONG>int</STRONG> <STRONG>x,</STRONG> <STRONG>char</STRONG> <STRONG>*str,</STRONG> <STRONG>int</STRONG>
- <STRONG>n);</STRONG>
+ <STRONG>int</STRONG> <STRONG>mvwinnstr(WINDOW</STRONG> <STRONG>*win,</STRONG> <STRONG>int</STRONG> <STRONG>y,</STRONG> <STRONG>int</STRONG> <STRONG>x,</STRONG> <STRONG>char</STRONG> <STRONG>*str,</STRONG> <STRONG>int</STRONG> <STRONG>n);</STRONG>
-</PRE>
-<H2>DESCRIPTION</H2><PRE>
- These routines return a string of characters in <EM>str</EM>,
- extracted starting at the current cursor position in the
- named window. Attributes are stripped from the charac-
- ters. The four functions with <EM>n</EM> as the last argument
- return a leading substring at most <EM>n</EM> characters long
- (exclusive of the trailing NUL).
+</PRE><H2><a name="h2-DESCRIPTION">DESCRIPTION</a></H2><PRE>
+ These routines return a string of characters in <EM>str</EM>, extracted starting
+ at the current cursor position in the named window. Attributes are
+ stripped from the characters. The four functions with <EM>n</EM> as the last
+ argument return a leading substring at most <EM>n</EM> characters long (exclu-
+ sive of the trailing NUL).
-</PRE>
-<H2>RETURN VALUE</H2><PRE>
- All of the functions return <STRONG>ERR</STRONG> upon failure, or the num-
- ber of characters actually read into the string.
+</PRE><H2><a name="h2-RETURN-VALUE">RETURN VALUE</a></H2><PRE>
+ All of the functions return <STRONG>ERR</STRONG> upon failure, or the number of charac-
+ ters actually read into the string.
- X/Open defines no error conditions. In this implementa-
- tion, if the window parameter is null or the str parameter
- is null, a zero is returned.
+ X/Open Curses defines no error conditions. In this implementation:
- Functions with a "mv" prefix first perform a cursor move-
- ment using <STRONG>wmove</STRONG>, and return an error if the position is
- outside the window, or if the window pointer is null.
+ <STRONG>o</STRONG> If the <EM>win</EM> parameter is null, an error is returned,
+ <STRONG>o</STRONG> If the <EM>chstr</EM> parameter is null, an error is returned,
-</PRE>
-<H2>NOTES</H2><PRE>
+ Functions with a "mv" prefix first perform a cursor movement using
+ <STRONG>wmove</STRONG>, and return an error if the position is outside the window, or if
+ the window pointer is null.
+
+
+</PRE><H2><a name="h2-NOTES">NOTES</a></H2><PRE>
Note that all routines except <STRONG>winnstr</STRONG> may be macros.
-</PRE>
-<H2>PORTABILITY</H2><PRE>
- SVr4 does not document whether a length limit includes or
- excludes the trailing NUL.
+</PRE><H2><a name="h2-PORTABILITY">PORTABILITY</a></H2><PRE>
+ SVr4 does not document whether a length limit includes or excludes the
+ trailing NUL.
- The ncurses library extends the XSI description by allow-
- ing a negative value for <EM>n</EM>. In this case, the functions
- return the string ending at the right margin.
+ The ncurses library extends the XSI description by allowing a negative
+ value for <EM>n</EM>. In this case, the functions return the string ending at
+ the right margin.
-</PRE>
-<H2>SEE ALSO</H2><PRE>
+</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_instr.3x.html">curs_instr(3x)</A></STRONG>
+ <STRONG><A HREF="curs_instr.3x.html">curs_instr(3x)</A></STRONG>
</PRE>
-<HR>
-<ADDRESS>
-Man(1) output converted with
-<a href="http://www.oac.uci.edu/indiv/ehood/man2html.html">man2html</a>
-</ADDRESS>
+<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>
+<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-SEE-ALSO">SEE ALSO</a></li>
+</ul>
+</div>
</BODY>
</HTML>
diff --git a/doc/html/man/curs_inwstr.3x.html b/doc/html/man/curs_inwstr.3x.html
index 3a8ce138976d..bbc9775d2315 100644
--- a/doc/html/man/curs_inwstr.3x.html
+++ b/doc/html/man/curs_inwstr.3x.html
@@ -1,7 +1,6 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN">
<!--
****************************************************************************
- * Copyright (c) 2002-2010,2012 Free Software Foundation, Inc. *
+ * Copyright (c) 2002-2018,2019 Free Software Foundation, Inc. *
* *
* Permission is hereby granted, free of charge, to any person obtaining a *
* copy of this software and associated documentation files (the *
@@ -27,89 +26,91 @@
* sale, use or other dealings in this Software without prior written *
* authorization. *
****************************************************************************
- * @Id: curs_inwstr.3x,v 1.8 2012/11/03 23:03:59 tom Exp @
+ * @Id: curs_inwstr.3x,v 1.12 2019/11/30 21:06:30 tom Exp @
-->
+<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN">
<HTML>
<HEAD>
+<meta http-equiv="Content-Type" content="text/html; charset=us-ascii">
+<meta name="generator" content="Manpage converted by man2html - see https://invisible-island.net/scripts/readme.html#others_scripts">
<TITLE>curs_inwstr 3x</TITLE>
-<link rev=made href="mailto:bug-ncurses@gnu.org">
+<link rel="author" href="mailto:bug-ncurses@gnu.org">
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
</HEAD>
<BODY>
-<H1>curs_inwstr 3x</H1>
-<HR>
+<H1 class="no-header">curs_inwstr 3x</H1>
<PRE>
-<!-- Manpage converted by man2html 3.0.1 -->
-<STRONG><A HREF="curs_inwstr.3x.html">curs_inwstr(3x)</A></STRONG> <STRONG><A HREF="curs_inwstr.3x.html">curs_inwstr(3x)</A></STRONG>
+<STRONG><A HREF="curs_inwstr.3x.html">curs_inwstr(3x)</A></STRONG> <STRONG><A HREF="curs_inwstr.3x.html">curs_inwstr(3x)</A></STRONG>
-</PRE>
-<H2>NAME</H2><PRE>
- <STRONG>inwstr</STRONG>, <STRONG>innwstr</STRONG>, <STRONG>winwstr</STRONG>, <STRONG>winnwstr</STRONG>, <STRONG>mvinwstr</STRONG>, <STRONG>mvinnwstr</STRONG>,
- <STRONG>mvwinwstr</STRONG>, <STRONG>mvwinnwstr</STRONG> - get a string of <STRONG>wchar_t</STRONG> characters
- from a curses window
+</PRE><H2><a name="h2-NAME">NAME</a></H2><PRE>
+ <STRONG>inwstr</STRONG>, <STRONG>innwstr</STRONG>, <STRONG>winwstr</STRONG>, <STRONG>winnwstr</STRONG>, <STRONG>mvinwstr</STRONG>, <STRONG>mvinnwstr</STRONG>, <STRONG>mvwinwstr</STRONG>,
+ <STRONG>mvwinnwstr</STRONG> - get a string of <STRONG>wchar_t</STRONG> characters from a curses window
-</PRE>
-<H2>SYNOPSIS</H2><PRE>
+</PRE><H2><a name="h2-SYNOPSIS">SYNOPSIS</a></H2><PRE>
<STRONG>#include</STRONG> <STRONG>&lt;curses.h&gt;</STRONG>
- <STRONG>int</STRONG> <STRONG>inwstr(wchar_t</STRONG> <STRONG>*</STRONG><EM>str</EM><STRONG>);</STRONG>
- <STRONG>int</STRONG> <STRONG>innwstr(wchar_t</STRONG> <STRONG>*</STRONG><EM>str</EM><STRONG>,</STRONG> <STRONG>int</STRONG> <EM>n</EM><STRONG>);</STRONG>
- <STRONG>int</STRONG> <STRONG>winwstr(WINDOW</STRONG> <STRONG>*</STRONG><EM>win</EM><STRONG>,</STRONG> <STRONG>wchar_t</STRONG> <STRONG>*</STRONG><EM>str</EM><STRONG>);</STRONG>
- <STRONG>int</STRONG> <STRONG>winnwstr(WINDOW</STRONG> <STRONG>*</STRONG><EM>win</EM><STRONG>,</STRONG> <STRONG>wchar_t</STRONG> <STRONG>*</STRONG><EM>str</EM><STRONG>,</STRONG> <STRONG>int</STRONG> <EM>n</EM><STRONG>);</STRONG>
- <STRONG>int</STRONG> <STRONG>mvinwstr(int</STRONG> <EM>y</EM><STRONG>,</STRONG> <STRONG>int</STRONG> <EM>x</EM><STRONG>,</STRONG> <STRONG>wchar_t</STRONG> <STRONG>*</STRONG><EM>str</EM><STRONG>);</STRONG>
- <STRONG>int</STRONG> <STRONG>mvinnwstr(int</STRONG> <EM>y</EM><STRONG>,</STRONG> <STRONG>int</STRONG> <EM>x</EM><STRONG>,</STRONG> <STRONG>wchar_t</STRONG> <STRONG>*</STRONG><EM>str</EM><STRONG>,</STRONG> <STRONG>int</STRONG> <EM>n</EM><STRONG>);</STRONG>
- <STRONG>int</STRONG> <STRONG>mvwinwstr(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>wchar_t</STRONG> <STRONG>*</STRONG><EM>str</EM><STRONG>);</STRONG>
- <STRONG>int</STRONG> <STRONG>mvwinnwstr(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>wchar_t</STRONG> <STRONG>*</STRONG><EM>str</EM><STRONG>,</STRONG> <STRONG>int</STRONG> <EM>n</EM><STRONG>);</STRONG>
+ <STRONG>int</STRONG> <STRONG>inwstr(wchar_t</STRONG> <STRONG>*</STRONG><EM>wstr</EM><STRONG>);</STRONG>
+ <STRONG>int</STRONG> <STRONG>innwstr(wchar_t</STRONG> <STRONG>*</STRONG><EM>wstr</EM><STRONG>,</STRONG> <STRONG>int</STRONG> <EM>n</EM><STRONG>);</STRONG>
+ <STRONG>int</STRONG> <STRONG>winwstr(WINDOW</STRONG> <STRONG>*</STRONG><EM>win</EM><STRONG>,</STRONG> <STRONG>wchar_t</STRONG> <STRONG>*</STRONG><EM>wstr</EM><STRONG>);</STRONG>
+ <STRONG>int</STRONG> <STRONG>winnwstr(WINDOW</STRONG> <STRONG>*</STRONG><EM>win</EM><STRONG>,</STRONG> <STRONG>wchar_t</STRONG> <STRONG>*</STRONG><EM>wstr</EM><STRONG>,</STRONG> <STRONG>int</STRONG> <EM>n</EM><STRONG>);</STRONG>
+ <STRONG>int</STRONG> <STRONG>mvinwstr(int</STRONG> <EM>y</EM><STRONG>,</STRONG> <STRONG>int</STRONG> <EM>x</EM><STRONG>,</STRONG> <STRONG>wchar_t</STRONG> <STRONG>*</STRONG><EM>wstr</EM><STRONG>);</STRONG>
+ <STRONG>int</STRONG> <STRONG>mvinnwstr(int</STRONG> <EM>y</EM><STRONG>,</STRONG> <STRONG>int</STRONG> <EM>x</EM><STRONG>,</STRONG> <STRONG>wchar_t</STRONG> <STRONG>*</STRONG><EM>wstr</EM><STRONG>,</STRONG> <STRONG>int</STRONG> <EM>n</EM><STRONG>);</STRONG>
+ <STRONG>int</STRONG> <STRONG>mvwinwstr(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>wchar_t</STRONG> <STRONG>*</STRONG><EM>wstr</EM><STRONG>);</STRONG>
+ <STRONG>int</STRONG> <STRONG>mvwinnwstr(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>wchar_t</STRONG> <STRONG>*</STRONG><EM>wstr</EM><STRONG>,</STRONG> <STRONG>int</STRONG> <EM>n</EM><STRONG>);</STRONG>
-</PRE>
-<H2>DESCRIPTION</H2><PRE>
- These routines return a string of <STRONG>wchar_t</STRONG> characters in
- <EM>wstr</EM>, extracted starting at the current cursor position in
- the named window. Attributes are stripped from the char-
- acters. The four functions with <EM>n</EM> as the last argument
- return a leading substring at most <EM>n</EM> bytes long (exclusive
- of the trailing NUL). Transfer stops at the end of the
- current line, or when <EM>n</EM> bytes have been stored at the
- location referenced by <EM>wstr</EM>.
+</PRE><H2><a name="h2-DESCRIPTION">DESCRIPTION</a></H2><PRE>
+ These routines return a string of <STRONG>wchar_t</STRONG> wide characters in <EM>wstr</EM>,
+ extracted starting at the current cursor position in the named window.
- If the size <EM>n</EM> is not large enough to store a complete
- character, an error is generated.
+ The four functions with <EM>n</EM> as the last argument return a leading sub-
+ string at most <EM>n</EM> characters long (exclusive of the trailing NUL).
+ Transfer stops at the end of the current line, or when <EM>n</EM> characters
+ have been stored at the location referenced by <EM>wstr</EM>.
+ If the size <EM>n</EM> is not large enough to store a complete complex charac-
+ ter, an error is generated.
-</PRE>
-<H2>NOTES</H2><PRE>
- Note that all routines except <STRONG>winnwstr</STRONG> may be macros.
+</PRE><H2><a name="h2-NOTES">NOTES</a></H2><PRE>
+ All routines except <STRONG>winnwstr</STRONG> may be macros.
-</PRE>
-<H2>RETURN VALUE</H2><PRE>
- All routines return <STRONG>ERR</STRONG> upon failure. Upon successful com-
- pletion, the *<STRONG>inwstr</STRONG> routines return <STRONG>OK</STRONG>, and the *<STRONG>innwstr</STRONG>
- routines return the number of characters read into the
- string.
+ Each cell in the window holds a complex character (i.e., base- and com-
+ bining-characters) together with attributes and color. These functions
+ store only the wide characters, ignoring attributes and color. Use
+ <STRONG>in_wchstr</STRONG> to return the complex characters from a window.
- Functions with a "mv" prefix first perform a cursor move-
- ment using <STRONG>wmove</STRONG>, and return an error if the position is
- outside the window, or if the window pointer is null.
+</PRE><H2><a name="h2-RETURN-VALUE">RETURN VALUE</a></H2><PRE>
+ All routines return <STRONG>ERR</STRONG> upon failure. Upon successful completion, the
+ *<STRONG>inwstr</STRONG> routines return <STRONG>OK</STRONG>, and the *<STRONG>innwstr</STRONG> routines return the number
+ of characters read into the string.
-</PRE>
-<H2>SEE ALSO</H2><PRE>
+ Functions with a "mv" prefix first perform a cursor movement using
+ <STRONG>wmove</STRONG>, and return an error if the position is outside the window, or if
+ the window pointer is null.
+
+
+</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_instr.3x.html">curs_instr(3x)</A></STRONG>, <STRONG><A HREF="curs_in_wchstr.3x.html">curs_in_wchstr(3x)</A></STRONG>
- <STRONG><A HREF="curs_inwstr.3x.html">curs_inwstr(3x)</A></STRONG>
+ <STRONG><A HREF="curs_inwstr.3x.html">curs_inwstr(3x)</A></STRONG>
</PRE>
-<HR>
-<ADDRESS>
-Man(1) output converted with
-<a href="http://www.oac.uci.edu/indiv/ehood/man2html.html">man2html</a>
-</ADDRESS>
+<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>
+<li><a href="#h2-NOTES">NOTES</a></li>
+<li><a href="#h2-RETURN-VALUE">RETURN VALUE</a></li>
+<li><a href="#h2-SEE-ALSO">SEE ALSO</a></li>
+</ul>
+</div>
</BODY>
</HTML>
diff --git a/doc/html/man/curs_kernel.3x.html b/doc/html/man/curs_kernel.3x.html
index fb0488241894..4238ed8cb38a 100644
--- a/doc/html/man/curs_kernel.3x.html
+++ b/doc/html/man/curs_kernel.3x.html
@@ -1,7 +1,6 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN">
<!--
****************************************************************************
- * Copyright (c) 1998-2005,2010 Free Software Foundation, Inc. *
+ * Copyright (c) 1998-2018,2019 Free Software Foundation, Inc. *
* *
* Permission is hereby granted, free of charge, to any person obtaining a *
* copy of this software and associated documentation files (the *
@@ -27,33 +26,32 @@
* sale, use or other dealings in this Software without prior written *
* authorization. *
****************************************************************************
- * @Id: curs_kernel.3x,v 1.19 2010/12/04 18:38:55 tom Exp @
+ * @Id: curs_kernel.3x,v 1.27 2019/11/30 21:06:30 tom Exp @
-->
+<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN">
<HTML>
<HEAD>
+<meta http-equiv="Content-Type" content="text/html; charset=us-ascii">
+<meta name="generator" content="Manpage converted by man2html - see https://invisible-island.net/scripts/readme.html#others_scripts">
<TITLE>curs_kernel 3x</TITLE>
-<link rev=made href="mailto:bug-ncurses@gnu.org">
+<link rel="author" href="mailto:bug-ncurses@gnu.org">
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
</HEAD>
<BODY>
-<H1>curs_kernel 3x</H1>
-<HR>
+<H1 class="no-header">curs_kernel 3x</H1>
<PRE>
-<!-- Manpage converted by man2html 3.0.1 -->
-<STRONG><A HREF="curs_kernel.3x.html">curs_kernel(3x)</A></STRONG> <STRONG><A HREF="curs_kernel.3x.html">curs_kernel(3x)</A></STRONG>
+<STRONG><A HREF="curs_kernel.3x.html">curs_kernel(3x)</A></STRONG> <STRONG><A HREF="curs_kernel.3x.html">curs_kernel(3x)</A></STRONG>
-</PRE>
-<H2>NAME</H2><PRE>
- <STRONG>def_prog_mode</STRONG>, <STRONG>def_shell_mode</STRONG>, <STRONG>reset_prog_mode</STRONG>,
- <STRONG>reset_shell_mode</STRONG>, <STRONG>resetty</STRONG>, <STRONG>savetty</STRONG>, <STRONG>getsyx</STRONG>, <STRONG>setsyx</STRONG>,
- <STRONG>ripoffline</STRONG>, <STRONG>curs_set</STRONG>, <STRONG>napms</STRONG> - low-level <STRONG>curses</STRONG> routines
+</PRE><H2><a name="h2-NAME">NAME</a></H2><PRE>
+ <STRONG>def_prog_mode</STRONG>, <STRONG>def_shell_mode</STRONG>, <STRONG>reset_prog_mode</STRONG>, <STRONG>reset_shell_mode</STRONG>,
+ <STRONG>resetty</STRONG>, <STRONG>savetty</STRONG>, <STRONG>getsyx</STRONG>, <STRONG>setsyx</STRONG>, <STRONG>ripoffline</STRONG>, <STRONG>curs_set</STRONG>, <STRONG>napms</STRONG> - low-
+ level <STRONG>curses</STRONG> routines
-</PRE>
-<H2>SYNOPSIS</H2><PRE>
+</PRE><H2><a name="h2-SYNOPSIS">SYNOPSIS</a></H2><PRE>
<STRONG>#include</STRONG> <STRONG>&lt;curses.h&gt;</STRONG>
<STRONG>int</STRONG> <STRONG>def_prog_mode(void);</STRONG>
@@ -62,145 +60,168 @@
<STRONG>int</STRONG> <STRONG>reset_shell_mode(void);</STRONG>
<STRONG>int</STRONG> <STRONG>resetty(void);</STRONG>
<STRONG>int</STRONG> <STRONG>savetty(void);</STRONG>
- <STRONG>void</STRONG> <STRONG>getsyx(int</STRONG> <STRONG>y,</STRONG> <STRONG>int</STRONG> <STRONG>x);</STRONG>
- <STRONG>void</STRONG> <STRONG>setsyx(int</STRONG> <STRONG>y,</STRONG> <STRONG>int</STRONG> <STRONG>x);</STRONG>
- <STRONG>int</STRONG> <STRONG>ripoffline(int</STRONG> <STRONG>line,</STRONG> <STRONG>int</STRONG> <STRONG>(*init)(WINDOW</STRONG> <STRONG>*,</STRONG> <STRONG>int));</STRONG>
- <STRONG>int</STRONG> <STRONG>curs_set(int</STRONG> <STRONG>visibility);</STRONG>
- <STRONG>int</STRONG> <STRONG>napms(int</STRONG> <STRONG>ms);</STRONG>
+ <STRONG>void</STRONG> <STRONG>getsyx(int</STRONG> <EM>y</EM><STRONG>,</STRONG> <STRONG>int</STRONG> <EM>x</EM><STRONG>);</STRONG>
+ <STRONG>void</STRONG> <STRONG>setsyx(int</STRONG> <EM>y</EM><STRONG>,</STRONG> <STRONG>int</STRONG> <EM>x</EM><STRONG>);</STRONG>
+ <STRONG>int</STRONG> <STRONG>ripoffline(int</STRONG> <EM>line</EM><STRONG>,</STRONG> <STRONG>int</STRONG> <STRONG>(*</STRONG><EM>init</EM><STRONG>)(WINDOW</STRONG> <STRONG>*,</STRONG> <STRONG>int));</STRONG>
+ <STRONG>int</STRONG> <STRONG>curs_set(int</STRONG> <EM>visibility</EM><STRONG>);</STRONG>
+ <STRONG>int</STRONG> <STRONG>napms(int</STRONG> <EM>ms</EM><STRONG>);</STRONG>
-</PRE>
-<H2>DESCRIPTION</H2><PRE>
- The following routines give low-level access to various
- <STRONG>curses</STRONG> capabilities. These routines typically are used
- inside library routines.
-
- The <STRONG>def_prog_mode</STRONG> and <STRONG>def_shell_mode</STRONG> routines save the
- current terminal modes as the "program" (in <STRONG>curses</STRONG>) or
- "shell" (not in <STRONG>curses</STRONG>) state for use by the <STRONG>re-</STRONG>
- <STRONG>set_prog_mode</STRONG> and <STRONG>reset_shell_mode</STRONG> routines. This is done
- automatically by <STRONG>initscr</STRONG>. There is one such save area for
- each screen context allocated by <STRONG>newterm()</STRONG>.
-
- The <STRONG>reset_prog_mode</STRONG> and <STRONG>reset_shell_mode</STRONG> routines restore
- the terminal to "program" (in <STRONG>curses</STRONG>) or "shell" (out of
- <STRONG>curses</STRONG>) state. These are done automatically by <STRONG>endwin</STRONG>
- and, after an <STRONG>endwin</STRONG>, by <STRONG>doupdate</STRONG>, so they normally are
- not called.
-
- The <STRONG>resetty</STRONG> and <STRONG>savetty</STRONG> routines save and restore the
- state of the terminal modes. <STRONG>savetty</STRONG> saves the current
- state in a buffer and <STRONG>resetty</STRONG> restores the state to what
- it was at the last call to <STRONG>savetty</STRONG>.
-
- The <STRONG>getsyx</STRONG> routine returns the current coordinates of the
- virtual screen cursor in <EM>y</EM> and <EM>x</EM>. If <STRONG>leaveok</STRONG> is currently
- <STRONG>TRUE</STRONG>, then <STRONG>-1</STRONG>,<STRONG>-1</STRONG> is returned. If lines have been removed
- from the top of the screen, using <STRONG>ripoffline</STRONG>, <EM>y</EM> and <EM>x</EM> in-
- clude these lines; therefore, <EM>y</EM> and <EM>x</EM> should be used only
- as arguments for <STRONG>setsyx</STRONG>.
-
- The <STRONG>setsyx</STRONG> routine sets the virtual screen cursor to <EM>y</EM>, <EM>x</EM>.
- If <EM>y</EM> and <EM>x</EM> are both <STRONG>-1</STRONG>, then <STRONG>leaveok</STRONG> is set. The two rou-
- tines <STRONG>getsyx</STRONG> and <STRONG>setsyx</STRONG> are designed to be used by a li-
- brary routine, which manipulates <STRONG>curses</STRONG> windows but does
- not want to change the current position of the program's
- cursor. The library routine would call <STRONG>getsyx</STRONG> at the be-
- ginning, do its manipulation of its own windows, do a
- <STRONG>wnoutrefresh</STRONG> on its windows, call <STRONG>setsyx</STRONG>, and then call
- <STRONG>doupdate</STRONG>.
-
- The <STRONG>ripoffline</STRONG> routine provides access to the same facili-
- ty that <STRONG>slk_init</STRONG> [see <STRONG><A HREF="curs_slk.3x.html">curs_slk(3x)</A></STRONG>] uses to reduce the
- size of the screen. <STRONG>ripoffline</STRONG> must be called before
- <STRONG>initscr</STRONG> or <STRONG>newterm</STRONG> is called. If <EM>line</EM> is positive, a line
- is removed from the top of <STRONG>stdscr</STRONG>; if <EM>line</EM> is negative, a
- line is removed from the bottom. When this is done inside
- <STRONG>initscr</STRONG>, the routine <STRONG>init</STRONG> (supplied by the user) is called
- with two arguments: a window pointer to the one-line win-
- dow that has been allocated and an integer with the number
- of columns in the window. Inside this initialization rou-
- tine, the integer variables <STRONG>LINES</STRONG> and <STRONG>COLS</STRONG> (defined in
- <STRONG>&lt;curses.h&gt;</STRONG>) are not guaranteed to be accurate and <STRONG>wrefresh</STRONG>
- or <STRONG>doupdate</STRONG> must not be called. It is allowable to call
- <STRONG>wnoutrefresh</STRONG> during the initialization routine.
-
- <STRONG>ripoffline</STRONG> can be called up to five times before calling
- <STRONG>initscr</STRONG> or <STRONG>newterm</STRONG>.
-
- The <STRONG>curs_set</STRONG> routine sets the cursor state to invisible,
- normal, or very visible for <STRONG>visibility</STRONG> equal to <STRONG>0</STRONG>, <STRONG>1</STRONG>, or <STRONG>2</STRONG>
- respectively. If the terminal supports the <EM>visibility</EM> re-
- quested, the previous <EM>cursor</EM> state is returned; otherwise,
- <STRONG>ERR</STRONG> is returned.
+</PRE><H2><a name="h2-DESCRIPTION">DESCRIPTION</a></H2><PRE>
+ The following routines give low-level access to various <STRONG>curses</STRONG> capabil-
+ ities. These routines typically are used inside library routines.
+
+
+</PRE><H3><a name="h3-def_prog_mode_-def_shell_mode">def_prog_mode, def_shell_mode</a></H3><PRE>
+ The <STRONG>def_prog_mode</STRONG> and <STRONG>def_shell_mode</STRONG> routines save the current terminal
+ modes as the "program" (in <STRONG>curses</STRONG>) or "shell" (not in <STRONG>curses</STRONG>) state for
+ use by the <STRONG>reset_prog_mode</STRONG> and <STRONG>reset_shell_mode</STRONG> routines. This is done
+ automatically by <STRONG>initscr</STRONG>. There is one such save area for each screen
+ context allocated by <STRONG>newterm</STRONG>.
+
+
+</PRE><H3><a name="h3-reset_prog_mode_-reset_shell_mode">reset_prog_mode, reset_shell_mode</a></H3><PRE>
+ The <STRONG>reset_prog_mode</STRONG> and <STRONG>reset_shell_mode</STRONG> routines restore the terminal
+ to "program" (in <STRONG>curses</STRONG>) or "shell" (out of <STRONG>curses</STRONG>) state. These are
+ done automatically by <STRONG><A HREF="curs_initscr.3x.html">endwin(3x)</A></STRONG> and, after an <STRONG>endwin</STRONG>, by <STRONG>doupdate</STRONG>, so
+ they normally are not called.
+
+
+</PRE><H3><a name="h3-resetty_-savetty">resetty, savetty</a></H3><PRE>
+ The <STRONG>resetty</STRONG> and <STRONG>savetty</STRONG> routines save and restore the state of the ter-
+ minal modes. <STRONG>savetty</STRONG> saves the current state in a buffer and <STRONG>resetty</STRONG>
+ restores the state to what it was at the last call to <STRONG>savetty</STRONG>.
+
+
+</PRE><H3><a name="h3-getsyx">getsyx</a></H3><PRE>
+ The <STRONG>getsyx</STRONG> routine returns the current coordinates of the <EM>virtual</EM>
+ <EM>screen</EM> cursor in <EM>y</EM> and <EM>x</EM>. If <STRONG>leaveok</STRONG> is currently <STRONG>TRUE</STRONG>, then <STRONG>-1</STRONG>,<STRONG>-1</STRONG> is
+ returned. If lines have been removed from the top of the screen, using
+ <STRONG>ripoffline</STRONG>, <EM>y</EM> and <EM>x</EM> include these lines; therefore, <EM>y</EM> and <EM>x</EM> should be
+ used only as arguments for <STRONG>setsyx</STRONG>.
+
+ Few applications will use this feature, most use <STRONG>getyx</STRONG> instead.
+
+
+</PRE><H3><a name="h3-setsyx">setsyx</a></H3><PRE>
+ The <STRONG>setsyx</STRONG> routine sets the <EM>virtual</EM> <EM>screen</EM> cursor to <EM>y</EM>, <EM>x</EM>. If <EM>y</EM> and <EM>x</EM>
+ are both <STRONG>-1</STRONG>, then <STRONG>leaveok</STRONG> is set. The two routines <STRONG>getsyx</STRONG> and <STRONG>setsyx</STRONG>
+ are designed to be used by a library routine, which manipulates <STRONG>curses</STRONG>
+ windows but does not want to change the current position of the pro-
+ gram's cursor. The library routine would call <STRONG>getsyx</STRONG> at the beginning,
+ do its manipulation of its own windows, do a <STRONG>wnoutrefresh</STRONG> on its win-
+ dows, call <STRONG>setsyx</STRONG>, and then call <STRONG>doupdate</STRONG>.
+
+ Few applications will use this feature, most use <STRONG>wmove</STRONG> instead.
+
+</PRE><H3><a name="h3-ripoffline">ripoffline</a></H3><PRE>
+ The <STRONG>ripoffline</STRONG> routine provides access to the same facility that
+ <STRONG>slk_init</STRONG> [see <STRONG><A HREF="curs_slk.3x.html">curs_slk(3x)</A></STRONG>] uses to reduce the size of the screen.
+ <STRONG>ripoffline</STRONG> must be called before <STRONG>initscr</STRONG> or <STRONG>newterm</STRONG> is called, to pre-
+ pare these initial actions:
+
+ <STRONG>o</STRONG> If <EM>line</EM> is positive, a line is removed from the top of <STRONG>stdscr</STRONG>.
+
+ <STRONG>o</STRONG> if <EM>line</EM> is negative, a line is removed from the bottom.
+
+ When the resulting initialization is done inside <STRONG>initscr</STRONG>, the routine
+ <STRONG>init</STRONG> (supplied by the user) is called with two arguments:
+
+ <STRONG>o</STRONG> a window pointer to the one-line window that has been allocated and
+
+ <STRONG>o</STRONG> an integer with the number of columns in the window.
+
+ Inside this initialization routine, the integer variables <STRONG>LINES</STRONG> and
+ <STRONG>COLS</STRONG> (defined in <STRONG>&lt;curses.h&gt;</STRONG>) are not guaranteed to be accurate and <STRONG>wre-</STRONG>
+ <STRONG>fresh</STRONG> or <STRONG>doupdate</STRONG> must not be called. It is allowable to call <STRONG>wnoutre-</STRONG>
+ <STRONG>fresh</STRONG> during the initialization routine.
+
+ <STRONG>ripoffline</STRONG> can be called up to five times before calling <STRONG>initscr</STRONG> or
+ <STRONG>newterm</STRONG>.
+
+
+</PRE><H3><a name="h3-curs_set">curs_set</a></H3><PRE>
+ The <STRONG>curs_set</STRONG> routine sets the cursor state to invisible, normal, or
+ very visible for <STRONG>visibility</STRONG> equal to <STRONG>0</STRONG>, <STRONG>1</STRONG>, or <STRONG>2</STRONG> respectively. If the
+ terminal supports the <EM>visibility</EM> requested, the previous <EM>cursor</EM> state
+ is returned; otherwise, <STRONG>ERR</STRONG> is returned.
+
+
+</PRE><H3><a name="h3-napms">napms</a></H3><PRE>
The <STRONG>napms</STRONG> routine is used to sleep for <EM>ms</EM> milliseconds.
-</PRE>
-<H2>RETURN VALUE</H2><PRE>
+</PRE><H2><a name="h2-RETURN-VALUE">RETURN VALUE</a></H2><PRE>
Except for <STRONG>curs_set</STRONG>, these routines always return <STRONG>OK</STRONG>.
- <STRONG>curs_set</STRONG> returns the previous cursor state, or <STRONG>ERR</STRONG> if the
- requested <EM>visibility</EM> is not supported.
+ <STRONG>curs_set</STRONG> returns the previous cursor state, or <STRONG>ERR</STRONG> if the requested
+ <EM>visibility</EM> is not supported.
- X/Open defines no error conditions. In this implementa-
- tion
+ X/Open defines no error conditions. In this implementation
- <STRONG>def_prog_mode</STRONG>, <STRONG>def_shell_mode</STRONG>, <STRONG>reset_prog_mode</STRONG>, <STRONG>re-</STRONG>
- <STRONG>set_shell_mode</STRONG>
- return an error if the terminal was not ini-
- tialized, or if the I/O call to obtain the
- terminal settings fails.
+ <STRONG>def_prog_mode</STRONG>, <STRONG>def_shell_mode</STRONG>, <STRONG>reset_prog_mode</STRONG>, <STRONG>reset_shell_mode</STRONG>
+ return an error if the terminal was not initialized, or if the I/O
+ call to obtain the terminal settings fails.
- <STRONG>ripoffline</STRONG>
- returns an error if the maximum number of
- ripped-off lines exceeds the maximum (NRIPS =
- 5).
+ <STRONG>ripoffline</STRONG>
+ returns an error if the maximum number of ripped-off lines exceeds
+ the maximum (NRIPS = 5).
-</PRE>
-<H2>NOTES</H2><PRE>
- Note that <STRONG>getsyx</STRONG> is a macro, so <STRONG>&amp;</STRONG> is not necessary before
- the variables <EM>y</EM> and <EM>x</EM>.
+</PRE><H2><a name="h2-NOTES">NOTES</a></H2><PRE>
+ Note that <STRONG>getsyx</STRONG> is a macro, so <STRONG>&amp;</STRONG> is not necessary before the variables
+ <EM>y</EM> and <EM>x</EM>.
- Older SVr4 man pages warn that the return value of
- <STRONG>curs_set</STRONG> "is currently incorrect". This implementation
- gets it right, but it may be unwise to count on the cor-
- rectness of the return value anywhere else.
+ Older SVr4 man pages warn that the return value of <STRONG>curs_set</STRONG> "is cur-
+ rently incorrect". This implementation gets it right, but it may be
+ unwise to count on the correctness of the return value anywhere else.
- Both ncurses and SVr4 will call <STRONG>curs_set</STRONG> in <STRONG>endwin</STRONG> if
- <STRONG>curs_set</STRONG> has been called to make the cursor other than
- normal, i.e., either invisible or very visible. There is
- no way for ncurses to determine the initial cursor state
- to restore that.
+ Both ncurses and SVr4 will call <STRONG>curs_set</STRONG> in <STRONG>endwin</STRONG> if <STRONG>curs_set</STRONG> has been
+ called to make the cursor other than normal, i.e., either invisible or
+ very visible. There is no way for ncurses to determine the initial
+ cursor state to restore that.
-</PRE>
-<H2>PORTABILITY</H2><PRE>
- The functions <STRONG>setsyx</STRONG> and <STRONG>getsyx</STRONG> are not described in the
- XSI Curses standard, Issue 4. All other functions are as
- described in XSI Curses.
+</PRE><H2><a name="h2-PORTABILITY">PORTABILITY</a></H2><PRE>
+ The <EM>virtual</EM> <EM>screen</EM> functions <STRONG>setsyx</STRONG> and <STRONG>getsyx</STRONG> are not described in the
+ XSI Curses standard, Issue 4. All other functions are as described in
+ XSI Curses.
- The SVr4 documentation describes <STRONG>setsyx</STRONG> and <STRONG>getsyx</STRONG> as hav-
- ing return type int. This is misleading, as they are
- macros with no documented semantics for the return value.
+ The SVr4 documentation describes <STRONG>setsyx</STRONG> and <STRONG>getsyx</STRONG> as having return
+ type int. This is misleading, as they are macros with no documented
+ semantics for the return value.
-</PRE>
-<H2>SEE ALSO</H2><PRE>
- <STRONG><A HREF="ncurses.3x.html">curses(3x)</A></STRONG>, <STRONG><A HREF="curs_initscr.3x.html">curs_initscr(3x)</A></STRONG>, <STRONG><A HREF="curs_outopts.3x.html">curs_outopts(3x)</A></STRONG>, <STRONG>curs_re-</STRONG>
- <STRONG><A HREF="curs_refresh.3x.html">fresh(3x)</A></STRONG>, <STRONG><A HREF="curs_scr_dump.3x.html">curs_scr_dump(3x)</A></STRONG>, <STRONG><A HREF="curs_slk.3x.html">curs_slk(3x)</A></STRONG>, <STRONG>curs_vari-</STRONG>
- <STRONG><A HREF="curs_variables.3x.html">ables(3x)</A></STRONG>.
+</PRE><H2><a name="h2-SEE-ALSO">SEE ALSO</a></H2><PRE>
+ <STRONG><A HREF="ncurses.3x.html">curses(3x)</A></STRONG>, <STRONG><A HREF="curs_initscr.3x.html">curs_initscr(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_scr_dump.3x.html">curs_scr_dump(3x)</A></STRONG>, <STRONG><A HREF="curs_slk.3x.html">curs_slk(3x)</A></STRONG>, <STRONG><A HREF="curs_variables.3x.html">curs_variables(3x)</A></STRONG>.
- <STRONG><A HREF="curs_kernel.3x.html">curs_kernel(3x)</A></STRONG>
+ <STRONG><A HREF="curs_kernel.3x.html">curs_kernel(3x)</A></STRONG>
</PRE>
-<HR>
-<ADDRESS>
-Man(1) output converted with
-<a href="http://www.oac.uci.edu/indiv/ehood/man2html.html">man2html</a>
-</ADDRESS>
+<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>
+<ul>
+<li><a href="#h3-def_prog_mode_-def_shell_mode">def_prog_mode, def_shell_mode</a></li>
+<li><a href="#h3-reset_prog_mode_-reset_shell_mode">reset_prog_mode, reset_shell_mode</a></li>
+<li><a href="#h3-resetty_-savetty">resetty, savetty</a></li>
+<li><a href="#h3-getsyx">getsyx</a></li>
+<li><a href="#h3-setsyx">setsyx</a></li>
+<li><a href="#h3-ripoffline">ripoffline</a></li>
+<li><a href="#h3-curs_set">curs_set</a></li>
+<li><a href="#h3-napms">napms</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-PORTABILITY">PORTABILITY</a></li>
+<li><a href="#h2-SEE-ALSO">SEE ALSO</a></li>
+</ul>
+</div>
</BODY>
</HTML>
diff --git a/doc/html/man/curs_legacy.3x.html b/doc/html/man/curs_legacy.3x.html
index 16f7d4d7547a..1fea49098c60 100644
--- a/doc/html/man/curs_legacy.3x.html
+++ b/doc/html/man/curs_legacy.3x.html
@@ -1,7 +1,6 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN">
<!--
****************************************************************************
- * Copyright (c) 2007,2010 Free Software Foundation, Inc. *
+ * Copyright (c) 2007-2017,2019 Free Software Foundation, Inc. *
* *
* Permission is hereby granted, free of charge, to any person obtaining a *
* copy of this software and associated documentation files (the *
@@ -27,95 +26,109 @@
* sale, use or other dealings in this Software without prior written *
* authorization. *
****************************************************************************
- * @Id: curs_legacy.3x,v 1.5 2010/12/04 18:38:55 tom Exp @
+ * @Id: curs_legacy.3x,v 1.9 2019/03/23 21:51:12 tom Exp @
-->
+<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN">
<HTML>
<HEAD>
+<meta http-equiv="Content-Type" content="text/html; charset=us-ascii">
+<meta name="generator" content="Manpage converted by man2html - see https://invisible-island.net/scripts/readme.html#others_scripts">
<TITLE>curs_legacy 3x</TITLE>
-<link rev=made href="mailto:bug-ncurses@gnu.org">
+<link rel="author" href="mailto:bug-ncurses@gnu.org">
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
</HEAD>
<BODY>
-<H1>curs_legacy 3x</H1>
-<HR>
+<H1 class="no-header">curs_legacy 3x</H1>
<PRE>
-<!-- Manpage converted by man2html 3.0.1 -->
-<STRONG><A HREF="curs_legacy.3x.html">curs_legacy(3x)</A></STRONG> <STRONG><A HREF="curs_legacy.3x.html">curs_legacy(3x)</A></STRONG>
+<STRONG><A HREF="curs_legacy.3x.html">curs_legacy(3x)</A></STRONG> <STRONG><A HREF="curs_legacy.3x.html">curs_legacy(3x)</A></STRONG>
-</PRE>
-<H2>NAME</H2><PRE>
- getattrs - get <STRONG>curses</STRONG> cursor and window coordinates,
- attributes
+</PRE><H2><a name="h2-NAME">NAME</a></H2><PRE>
+ curs_legacy - get <STRONG>curses</STRONG> cursor and window coordinates, attributes
-</PRE>
-<H2>SYNOPSIS</H2><PRE>
+</PRE><H2><a name="h2-SYNOPSIS">SYNOPSIS</a></H2><PRE>
<STRONG>#include</STRONG> <STRONG>&lt;curses.h&gt;</STRONG>
- <STRONG>int</STRONG> <STRONG>getattrs(WINDOW</STRONG> <STRONG>*win);</STRONG>
- <STRONG>int</STRONG> <STRONG>getbegx(WINDOW</STRONG> <STRONG>*win);</STRONG>
- <STRONG>int</STRONG> <STRONG>getbegy(WINDOW</STRONG> <STRONG>*win);</STRONG>
- <STRONG>int</STRONG> <STRONG>getcurx(WINDOW</STRONG> <STRONG>*win);</STRONG>
- <STRONG>int</STRONG> <STRONG>getcury(WINDOW</STRONG> <STRONG>*win);</STRONG>
- <STRONG>int</STRONG> <STRONG>getmaxx(WINDOW</STRONG> <STRONG>*win);</STRONG>
- <STRONG>int</STRONG> <STRONG>getmaxy(WINDOW</STRONG> <STRONG>*win);</STRONG>
- <STRONG>int</STRONG> <STRONG>getparx(WINDOW</STRONG> <STRONG>*win);</STRONG>
- <STRONG>int</STRONG> <STRONG>getpary(WINDOW</STRONG> <STRONG>*win);</STRONG>
+ <STRONG>int</STRONG> <STRONG>getattrs(const</STRONG> <STRONG>WINDOW</STRONG> <STRONG>*win);</STRONG>
+ <STRONG>int</STRONG> <STRONG>getbegx(const</STRONG> <STRONG>WINDOW</STRONG> <STRONG>*win);</STRONG>
+ <STRONG>int</STRONG> <STRONG>getbegy(const</STRONG> <STRONG>WINDOW</STRONG> <STRONG>*win);</STRONG>
+ <STRONG>int</STRONG> <STRONG>getcurx(const</STRONG> <STRONG>WINDOW</STRONG> <STRONG>*win);</STRONG>
+ <STRONG>int</STRONG> <STRONG>getcury(const</STRONG> <STRONG>WINDOW</STRONG> <STRONG>*win);</STRONG>
+ <STRONG>int</STRONG> <STRONG>getmaxx(const</STRONG> <STRONG>WINDOW</STRONG> <STRONG>*win);</STRONG>
+ <STRONG>int</STRONG> <STRONG>getmaxy(const</STRONG> <STRONG>WINDOW</STRONG> <STRONG>*win);</STRONG>
+ <STRONG>int</STRONG> <STRONG>getparx(const</STRONG> <STRONG>WINDOW</STRONG> <STRONG>*win);</STRONG>
+ <STRONG>int</STRONG> <STRONG>getpary(const</STRONG> <STRONG>WINDOW</STRONG> <STRONG>*win);</STRONG>
-</PRE>
-<H2>DESCRIPTION</H2><PRE>
- The <STRONG>getbegy</STRONG> and <STRONG>getbegx</STRONG> functions return the same data as
- <STRONG>getbegyx</STRONG>.
+</PRE><H2><a name="h2-DESCRIPTION">DESCRIPTION</a></H2><PRE>
+ These legacy functions are simpler to use than the X/Open Curses func-
+ tions:
- The <STRONG>getcury</STRONG> and <STRONG>getcurx</STRONG> functions return the same data as
- <STRONG>getyx</STRONG>.
+ <STRONG>o</STRONG> The <STRONG>getattrs</STRONG> function returns the same attribute data as <STRONG>wattr_get</STRONG>.
- The <STRONG>getmaxy</STRONG> and <STRONG>getmaxx</STRONG> functions return the same data as
- <STRONG>getmaxyx</STRONG>.
+ However, <STRONG>getattrs</STRONG> returns an integer (actually a <STRONG>chtype</STRONG>), while
+ <STRONG>wattr_get</STRONG> returns the current color pair in a separate parameter.
+ In the wide-character library configuration, color pairs may not
+ fit into a <STRONG>chtype</STRONG>, so <STRONG>wattr_get</STRONG> is the only way to obtain the color
+ information.
- The <STRONG>getpary</STRONG> and <STRONG>getparx</STRONG> functions return the same data as
- <STRONG>getparyx</STRONG>.
+ Because <STRONG>getattrs</STRONG> returns the attributes in a single parameter, it
+ would not be possible for an application to distinguish that from
+ <STRONG>ERR</STRONG> (a <EM>-1</EM>). If the window parameter is null, <STRONG>getattrs</STRONG> returns
+ <STRONG>A_NORMAL</STRONG> (zero).
+ <STRONG>o</STRONG> The <STRONG>getbegy</STRONG> and <STRONG>getbegx</STRONG> functions return the same data as <STRONG>getbegyx</STRONG>.
-</PRE>
-<H2>RETURN VALUE</H2><PRE>
- These functions return an integer, or ERR if the window
- parameter is null.
+ <STRONG>o</STRONG> The <STRONG>getcury</STRONG> and <STRONG>getcurx</STRONG> functions return the same data as <STRONG>getyx</STRONG>.
+ <STRONG>o</STRONG> The <STRONG>getmaxy</STRONG> and <STRONG>getmaxx</STRONG> functions return the same data as <STRONG>getmaxyx</STRONG>.
-</PRE>
-<H2>NOTES</H2><PRE>
- All of these interfaces are provided as macros and func-
- tions. 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 WINDOW structure.
+ <STRONG>o</STRONG> The <STRONG>getpary</STRONG> and <STRONG>getparx</STRONG> functions return the same data as <STRONG>getparyx</STRONG>.
-</PRE>
-<H2>PORTABILITY</H2><PRE>
- These functions were supported on Version 7, BSD or System
- V implementations.
+</PRE><H2><a name="h2-RETURN-VALUE">RETURN VALUE</a></H2><PRE>
+ Except as noted, these functions return an integer, or <STRONG>ERR</STRONG> if the win-
+ dow parameter is null.
-</PRE>
-<H2>SEE ALSO</H2><PRE>
+</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 WINDOW structure.
+
+
+</PRE><H2><a name="h2-PORTABILITY">PORTABILITY</a></H2><PRE>
+ These functions were supported on Version 7, BSD or System V implemen-
+ tations. None of those implementations checked the window parameter.
+
+ The <STRONG>getattrs</STRONG> function and macro are defined to return a (signed) inte-
+ ger for compatibility with those implementations although an unsigned
+ type would have been more appropriate.
+
+
+</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_getyx.3x.html">curs_getyx(3x)</A></STRONG>, <STRONG><A HREF="curs_opaque.3x.html">curs_opaque(3x)</A></STRONG>
- <STRONG><A HREF="curs_legacy.3x.html">curs_legacy(3x)</A></STRONG>
+ <STRONG><A HREF="curs_legacy.3x.html">curs_legacy(3x)</A></STRONG>
</PRE>
-<HR>
-<ADDRESS>
-Man(1) output converted with
-<a href="http://www.oac.uci.edu/indiv/ehood/man2html.html">man2html</a>
-</ADDRESS>
+<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>
+<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-SEE-ALSO">SEE ALSO</a></li>
+</ul>
+</div>
</BODY>
</HTML>
diff --git a/doc/html/man/curs_memleaks.3x.html b/doc/html/man/curs_memleaks.3x.html
index 7b3d8e162e1f..252a9807a6fc 100644
--- a/doc/html/man/curs_memleaks.3x.html
+++ b/doc/html/man/curs_memleaks.3x.html
@@ -1,7 +1,6 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN">
<!--
****************************************************************************
- * Copyright (c) 2008,2010 Free Software Foundation, Inc. *
+ * Copyright (c) 2008-2017,2019 Free Software Foundation, Inc. *
* *
* Permission is hereby granted, free of charge, to any person obtaining a *
* copy of this software and associated documentation files (the *
@@ -27,85 +26,108 @@
* sale, use or other dealings in this Software without prior written *
* authorization. *
****************************************************************************
- * @Id: curs_memleaks.3x,v 1.3 2010/12/04 18:40:45 tom Exp @
+ * @Id: curs_memleaks.3x,v 1.7 2019/12/14 23:21:32 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</TITLE>
-<link rev=made href="mailto:bug-ncurses@gnu.org">
+<link rel="author" href="mailto:bug-ncurses@gnu.org">
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
</HEAD>
<BODY>
-<H1>curs_memleaks 3x</H1>
-<HR>
+<H1 class="no-header">curs_memleaks 3x</H1>
<PRE>
-<!-- Manpage converted by man2html 3.0.1 -->
-<STRONG><A HREF="curs_memleaks.3x.html">curs_memleaks(3x)</A></STRONG> <STRONG><A HREF="curs_memleaks.3x.html">curs_memleaks(3x)</A></STRONG>
+<STRONG><A HREF="curs_memleaks.3x.html">curs_memleaks(3x)</A></STRONG> <STRONG><A HREF="curs_memleaks.3x.html">curs_memleaks(3x)</A></STRONG>
-</PRE>
-<H2>NAME</H2><PRE>
- <STRONG>_nc_freeall</STRONG> <STRONG>_nc_free_and_exit</STRONG> - <STRONG>curses</STRONG> memory-leak
+</PRE><H2><a name="h2-NAME">NAME</a></H2><PRE>
+ <STRONG>_nc_freeall</STRONG>, <STRONG>_nc_free_and_exit</STRONG>, <STRONG>_nc_free_tinfo</STRONG> - <STRONG>curses</STRONG> memory-leak
checking
-</PRE>
-<H2>SYNOPSIS</H2><PRE>
+</PRE><H2><a name="h2-SYNOPSIS">SYNOPSIS</a></H2><PRE>
<STRONG>#include</STRONG> <STRONG>&lt;curses.h&gt;</STRONG>
+ <STRONG>void</STRONG> <STRONG>exit_curses(int);</STRONG>
+ <STRONG>void</STRONG> <STRONG>exit_terminfo(int);</STRONG>
+
+ /* deprecated */
<STRONG>void</STRONG> <STRONG>_nc_freeall(void);</STRONG>
<STRONG>void</STRONG> <STRONG>_nc_free_and_exit(int);</STRONG>
+ <STRONG>void</STRONG> <STRONG>_nc_free_tinfo(int);</STRONG>
-</PRE>
-<H2>DESCRIPTION</H2><PRE>
- These functions are used to simplify analysis of memory
- leaks in the ncurses library. They are normally not
- available; they must be configured into the library at
- build time using the <STRONG>--disable-leaks</STRONG> option. That com-
- piles-in code that frees memory that normally would not be
- freed.
-
- Any implementation of curses must not free the memory as-
- sociated with a screen, since (even after calling <STRONG>endwin</STRONG>),
- it must be available for use in the next call to <STRONG>refresh</STRONG>.
- There are also chunks of memory held for performance rea-
- sons. That makes it hard to analyze curses applications
- for memory leaks. To work around this, one can build a
- debugging version of the ncurses library which frees those
- chunks which it can, and provides these functions to free
- all of the memory allocated by the ncurses library.
-
- The _nc_free_and_exit function is the preferred one since
- some of the memory which is freed may be required for the
- application to continue running. Its parameter is the
- code to pass to the exit routine.
+</PRE><H2><a name="h2-DESCRIPTION">DESCRIPTION</a></H2><PRE>
+ These functions are used to simplify analysis of memory leaks in the
+ ncurses library.
+ Any implementation of curses must not free the memory associated with a
+ screen, since (even after calling <STRONG>endwin</STRONG>), it must be available for use
+ in the next call to <STRONG><A HREF="curs_refresh.3x.html">refresh(3x)</A></STRONG>. There are also chunks of memory held
+ for performance reasons. That makes it hard to analyze curses applica-
+ tions for memory leaks. When using the specially configured debugging
+ version of the ncurses library, applications can call functions which
+ free those chunks of memory, simplifying the process of memory-leak
+ checking.
-</PRE>
-<H2>RETURN VALUE</H2><PRE>
+ Some of the functions are named with a "_nc_" prefix because they are
+ not intended for use in the non-debugging library:
+
+ <STRONG>_nc_freeall</STRONG>
+ This frees (almost) all of the memory allocated by ncurses.
+
+ <STRONG>_nc_free_and_exit</STRONG>
+ This frees the memory allocated by ncurses (like <STRONG>_nc_freeall</STRONG>), and
+ exits the program. It is preferred over <STRONG>_nc_freeall</STRONG> since some of
+ that memory may be required to keep the application running. Sim-
+ ply exiting (with the given exit-code) is safer.
+
+ <STRONG>_nc_free_tinfo</STRONG>
+ Use this function if only the low-level terminfo functions (and
+ corresponding library) are used. Like <STRONG>_nc_free_and_exit</STRONG>, it exits
+ the program after freeing memory.
+
+ The functions prefixed "_nc" are normally not available; they must be
+ configured into the library at build time using the <STRONG>--disable-leaks</STRONG> op-
+ tion. That compiles-in code that frees memory that normally would not
+ be freed.
+
+ The <STRONG>exit_curses</STRONG> and <STRONG>exit_terminfo</STRONG> functions call <STRONG>_nc_free_and_exit</STRONG> and
+ <STRONG>_nc_free_tinfo</STRONG> if the library is configured to support memory-leak
+ checking. If the library is not configured to support memory-leak
+ checking, they simply call <STRONG>exit</STRONG>.
+
+
+</PRE><H2><a name="h2-RETURN-VALUE">RETURN VALUE</a></H2><PRE>
These functions do not return a value.
-</PRE>
-<H2>PORTABILITY</H2><PRE>
- These functions are not part of the XSI interface.
+</PRE><H2><a name="h2-PORTABILITY">PORTABILITY</a></H2><PRE>
+ These functions are not part of X/Open Curses; nor do other implementa-
+ tions of curses provide a similar feature.
-</PRE>
-<H2>SEE ALSO</H2><PRE>
+</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_memleaks.3x.html">curs_memleaks(3x)</A></STRONG>
+ <STRONG><A HREF="curs_memleaks.3x.html">curs_memleaks(3x)</A></STRONG>
</PRE>
-<HR>
-<ADDRESS>
-Man(1) output converted with
-<a href="http://www.oac.uci.edu/indiv/ehood/man2html.html">man2html</a>
-</ADDRESS>
+<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>
+<li><a href="#h2-RETURN-VALUE">RETURN VALUE</a></li>
+<li><a href="#h2-PORTABILITY">PORTABILITY</a></li>
+<li><a href="#h2-SEE-ALSO">SEE ALSO</a></li>
+</ul>
+</div>
</BODY>
</HTML>
diff --git a/doc/html/man/curs_mouse.3x.html b/doc/html/man/curs_mouse.3x.html
index 72382d87d4ee..1d2a45de3f13 100644
--- a/doc/html/man/curs_mouse.3x.html
+++ b/doc/html/man/curs_mouse.3x.html
@@ -1,8 +1,7 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN">
<!--
* t
****************************************************************************
- * Copyright (c) 1998-2010,2013 Free Software Foundation, Inc. *
+ * Copyright (c) 1998-2018,2019 Free Software Foundation, Inc. *
* *
* Permission is hereby granted, free of charge, to any person obtaining a *
* copy of this software and associated documentation files (the *
@@ -28,33 +27,31 @@
* sale, use or other dealings in this Software without prior written *
* authorization. *
****************************************************************************
- * @Id: curs_mouse.3x,v 1.39 2013/06/22 18:09:42 tom Exp @
+ * @Id: curs_mouse.3x,v 1.51 2019/07/13 23:45:12 tom Exp @
-->
+<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN">
<HTML>
<HEAD>
+<meta http-equiv="Content-Type" content="text/html; charset=us-ascii">
+<meta name="generator" content="Manpage converted by man2html - see https://invisible-island.net/scripts/readme.html#others_scripts">
<TITLE>curs_mouse 3x</TITLE>
-<link rev=made href="mailto:bug-ncurses@gnu.org">
+<link rel="author" href="mailto:bug-ncurses@gnu.org">
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
</HEAD>
<BODY>
-<H1>curs_mouse 3x</H1>
-<HR>
+<H1 class="no-header">curs_mouse 3x</H1>
<PRE>
-<!-- Manpage converted by man2html 3.0.1 -->
-<STRONG><A HREF="curs_mouse.3x.html">curs_mouse(3x)</A></STRONG> <STRONG><A HREF="curs_mouse.3x.html">curs_mouse(3x)</A></STRONG>
+<STRONG><A HREF="curs_mouse.3x.html">curs_mouse(3x)</A></STRONG> <STRONG><A HREF="curs_mouse.3x.html">curs_mouse(3x)</A></STRONG>
-</PRE>
-<H2>NAME</H2><PRE>
- <STRONG>has_mouse</STRONG>, <STRONG>getmouse</STRONG>, <STRONG>ungetmouse</STRONG>, <STRONG>mousemask</STRONG>, <STRONG>wenclose</STRONG>,
- <STRONG>mouse_trafo</STRONG>, <STRONG>wmouse_trafo</STRONG>, <STRONG>mouseinterval</STRONG> - mouse interface
- through curses
+</PRE><H2><a name="h2-NAME">NAME</a></H2><PRE>
+ <STRONG>has_mouse</STRONG>, <STRONG>getmouse</STRONG>, <STRONG>ungetmouse</STRONG>, <STRONG>mousemask</STRONG>, <STRONG>wenclose</STRONG>, <STRONG>mouse_trafo</STRONG>,
+ <STRONG>wmouse_trafo</STRONG>, <STRONG>mouseinterval</STRONG> - mouse interface through curses
-</PRE>
-<H2>SYNOPSIS</H2><PRE>
+</PRE><H2><a name="h2-SYNOPSIS">SYNOPSIS</a></H2><PRE>
<STRONG>#include</STRONG> <STRONG>&lt;curses.h&gt;</STRONG>
<STRONG>typedef</STRONG> <STRONG>unsigned</STRONG> <STRONG>long</STRONG> <STRONG>mmask_t;</STRONG>
@@ -66,35 +63,36 @@
<STRONG>}</STRONG> <STRONG>MEVENT;</STRONG>
<STRONG>bool</STRONG> <STRONG>has_mouse(void);</STRONG>
- <STRONG>int</STRONG> <STRONG>getmouse(MEVENT</STRONG> <STRONG>*event);</STRONG>
- <STRONG>int</STRONG> <STRONG>ungetmouse(MEVENT</STRONG> <STRONG>*event);</STRONG>
- <STRONG>mmask_t</STRONG> <STRONG>mousemask(mmask_t</STRONG> <STRONG>newmask,</STRONG> <STRONG>mmask_t</STRONG> <STRONG>*oldmask);</STRONG>
- <STRONG>bool</STRONG> <STRONG>wenclose(const</STRONG> <STRONG>WINDOW</STRONG> <STRONG>*win,</STRONG> <STRONG>int</STRONG> <STRONG>y,</STRONG> <STRONG>int</STRONG> <STRONG>x);</STRONG>
- <STRONG>bool</STRONG> <STRONG>mouse_trafo(int*</STRONG> <STRONG>pY,</STRONG> <STRONG>int*</STRONG> <STRONG>pX,</STRONG> <STRONG>bool</STRONG> <STRONG>to_screen);</STRONG>
- <STRONG>bool</STRONG> <STRONG>wmouse_trafo(const</STRONG> <STRONG>WINDOW*</STRONG> <STRONG>win,</STRONG> <STRONG>int*</STRONG> <STRONG>pY,</STRONG> <STRONG>int*</STRONG> <STRONG>pX,</STRONG>
- <STRONG>bool</STRONG> <STRONG>to_screen);</STRONG>
- <STRONG>int</STRONG> <STRONG>mouseinterval(int</STRONG> <STRONG>erval);</STRONG>
+ <STRONG>int</STRONG> <STRONG>getmouse(MEVENT</STRONG> <STRONG>*</STRONG><EM>event</EM><STRONG>);</STRONG>
+ <STRONG>int</STRONG> <STRONG>ungetmouse(MEVENT</STRONG> <STRONG>*</STRONG><EM>event</EM><STRONG>);</STRONG>
+ <STRONG>mmask_t</STRONG> <STRONG>mousemask(mmask_t</STRONG> <EM>newmask</EM><STRONG>,</STRONG> <STRONG>mmask_t</STRONG> <STRONG>*</STRONG><EM>oldmask</EM><STRONG>);</STRONG>
+ <STRONG>bool</STRONG> <STRONG>wenclose(const</STRONG> <STRONG>WINDOW</STRONG> <STRONG>*</STRONG><EM>win</EM><STRONG>,</STRONG> <STRONG>int</STRONG> <EM>y</EM><STRONG>,</STRONG> <STRONG>int</STRONG> <EM>x</EM><STRONG>);</STRONG>
+ <STRONG>bool</STRONG> <STRONG>mouse_trafo(int*</STRONG> <EM>pY</EM><STRONG>,</STRONG> <STRONG>int*</STRONG> <EM>pX</EM><STRONG>,</STRONG> <STRONG>bool</STRONG> <EM>to</EM><STRONG>_</STRONG><EM>screen</EM><STRONG>);</STRONG>
+ <STRONG>bool</STRONG> <STRONG>wmouse_trafo(const</STRONG> <STRONG>WINDOW*</STRONG> <EM>win</EM><STRONG>,</STRONG> <STRONG>int*</STRONG> <EM>pY</EM><STRONG>,</STRONG> <STRONG>int*</STRONG> <EM>pX</EM><STRONG>,</STRONG>
+ <STRONG>bool</STRONG> <EM>to</EM><STRONG>_</STRONG><EM>screen</EM><STRONG>);</STRONG>
+ <STRONG>int</STRONG> <STRONG>mouseinterval(int</STRONG> <EM>erval</EM><STRONG>);</STRONG>
-</PRE>
-<H2>DESCRIPTION</H2><PRE>
- These functions provide an interface to mouse events from
- <STRONG><A HREF="ncurses.3x.html">ncurses(3x)</A></STRONG>. Mouse events are represented by <STRONG>KEY_MOUSE</STRONG>
- pseudo-key values in the <STRONG>wgetch</STRONG> input stream.
-
- To make mouse events visible, use the <STRONG>mousemask</STRONG> function.
- This will set the mouse events to be reported. By de-
- fault, no mouse events are reported. The function will
- return a mask to indicate which of the specified mouse
- events can be reported; on complete failure it returns 0.
- If oldmask is non-NULL, this function fills the indicated
- location with the previous value of the given window'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.
+</PRE><H2><a name="h2-DESCRIPTION">DESCRIPTION</a></H2><PRE>
+ These functions provide an interface to mouse events from <STRONG><A HREF="ncurses.3x.html">ncurses(3x)</A></STRONG>.
+ Mouse events are represented by <STRONG>KEY_MOUSE</STRONG> pseudo-key values in the
+ <STRONG><A HREF="curs_getch.3x.html">wgetch(3x)</A></STRONG> input stream.
+
+
+</PRE><H3><a name="h3-mousemask">mousemask</a></H3><PRE>
+ To make mouse events visible, use the <STRONG>mousemask</STRONG> function. This will
+ set the mouse events to be reported. By default, no mouse events are
+ reported. The function will return a mask to indicate which of the
+ specified mouse events can be reported; on complete failure it returns
+ 0. If oldmask is non-NULL, this function fills the indicated location
+ with the previous value of the given window'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.
+
+</PRE><H3><a name="h3-Mouse-events">Mouse events</a></H3><PRE>
Here are the mouse event type masks which may be defined:
<EM>Name</EM> <EM>Description</EM>
@@ -112,8 +110,8 @@
BUTTON2_TRIPLE_CLICKED mouse button 2 triple clicked
---------------------------------------------------------------------
BUTTON3_PRESSED mouse button 3 down
-
BUTTON3_RELEASED mouse button 3 up
+
BUTTON3_CLICKED mouse button 3 clicked
BUTTON3_DOUBLE_CLICKED mouse button 3 double clicked
BUTTON3_TRIPLE_CLICKED mouse button 3 triple clicked
@@ -137,179 +135,254 @@
REPORT_MOUSE_POSITION report mouse movement
---------------------------------------------------------------------
- Once a class of mouse events have been made visible in a
- window, calling the <STRONG>wgetch</STRONG> function on that window may re-
- turn <STRONG>KEY_MOUSE</STRONG> as an indicator that a mouse event has been
- queued. To read the event data and pop the event off the
- queue, call <STRONG>getmouse</STRONG>. This function will return <STRONG>OK</STRONG> if a
- mouse event is actually visible in the given window, <STRONG>ERR</STRONG>
- otherwise. When <STRONG>getmouse</STRONG> returns <STRONG>OK</STRONG>, the data deposited
- as y and x in the event structure coordinates will be
- screen-relative character-cell coordinates. The returned
- state mask will have exactly one bit set to indicate the
- event type. The corresponding data in the queue is marked
- invalid. A subsequent call to <STRONG>getmouse</STRONG> will retrieve the
- next older item from the queue.
-
- The <STRONG>ungetmouse</STRONG> function behaves analogously to <STRONG>ungetch</STRONG>.
- It pushes a <STRONG>KEY_MOUSE</STRONG> event onto the input queue, and as-
- sociates with that event the given state data and screen-
- relative character-cell coordinates.
-
- The <STRONG>wenclose</STRONG> function tests whether a given pair of
- screen-relative character-cell coordinates is enclosed by
- a given window, returning TRUE if it is and FALSE other-
- wise. It is useful for determining what subset of the
- screen windows enclose the location of a mouse event.
-
- The <STRONG>wmouse_trafo</STRONG> function transforms a given pair of coor-
- dinates from stdscr-relative coordinates to coordinates
- relative to the given window or vice versa. Please remem-
- ber, that stdscr-relative coordinates are not always iden-
- tical to window-relative coordinates due to the mechanism
- to reserve lines on top or bottom of the screen for other
- purposes (see the <STRONG>ripoffline()</STRONG> and <STRONG>slk_init</STRONG> calls, for ex-
- ample). If the parameter <STRONG>to_screen</STRONG> is <STRONG>TRUE</STRONG>, the pointers
- <STRONG>pY,</STRONG> <STRONG>pX</STRONG> must reference the coordinates of a location inside
- the window <STRONG>win</STRONG>. They are converted to window-relative co-
- ordinates and returned through the pointers. If the con-
- version was successful, the function returns <STRONG>TRUE</STRONG>. If one
- of the parameters was NULL or the location is not inside
- the window, <STRONG>FALSE</STRONG> is returned. If <STRONG>to_screen</STRONG> is <STRONG>FALSE</STRONG>, the
- pointers <STRONG>pY,</STRONG> <STRONG>pX</STRONG> must reference window-relative coordi-
- nates. They are converted to stdscr-relative coordinates
- if the window <STRONG>win</STRONG> encloses this point. In this case the
- function returns <STRONG>TRUE</STRONG>. If one of the parameters is NULL
- or the point is not inside the window, <STRONG>FALSE</STRONG> is returned.
- Please notice, that the referenced coordinates are only
- replaced by the converted coordinates if the transforma-
- tion was successful.
-
- The <STRONG>mouse_trafo</STRONG> function performs the same translation as
- <STRONG>wmouse_trafo</STRONG>, using stdscr for <STRONG>win</STRONG>.
-
- The <STRONG>mouseinterval</STRONG> function sets the maximum time (in thou-
- sands of a second) that can elapse between press and re-
- lease events for them to be recognized as a click. Use
- <STRONG>mouseinterval(0)</STRONG> to disable click resolution. This func-
- tion returns the previous interval value. Use <STRONG>mouseinter-</STRONG>
- <STRONG>val(-1)</STRONG> to obtain the interval without altering it. The
- default is one sixth of a second.
-
- The <STRONG>has_mouse</STRONG> function returns TRUE if the mouse driver
- has been successfully initialized.
-
- Note that mouse events will be ignored when input is in
- cooked mode, and will cause an error beep when cooked mode
- is being simulated in a window by a function such as <STRONG>get-</STRONG>
- <STRONG>str</STRONG> that expects a linefeed for input-loop termination.
+</PRE><H3><a name="h3-getmouse">getmouse</a></H3><PRE>
+ Once a class of mouse events has been made visible in a window, calling
+ the <STRONG>wgetch</STRONG> function on that window may return <STRONG>KEY_MOUSE</STRONG> as an indicator
+ that a mouse event has been queued. To read the event data and pop the
+ event off the queue, call <STRONG>getmouse</STRONG>. This function will return <STRONG>OK</STRONG> if a
+ mouse event is actually visible in the given window, <STRONG>ERR</STRONG> otherwise.
+ When <STRONG>getmouse</STRONG> returns <STRONG>OK</STRONG>, the data deposited as y and x in the event
+ structure coordinates will be screen-relative character-cell coordi-
+ nates. The returned state mask will have exactly one bit set to indi-
+ cate the event type. The corresponding data in the queue is marked in-
+ valid. A subsequent call to <STRONG>getmouse</STRONG> will retrieve the next older item
+ from the queue.
-</PRE>
-<H2>RETURN VALUE</H2><PRE>
- <STRONG>getmouse</STRONG> and <STRONG>ungetmouse</STRONG> return the integer <STRONG>ERR</STRONG> upon fail-
- ure or <STRONG>OK</STRONG> upon successful completion.
- <STRONG>getmouse</STRONG>
- returns an error. If no mouse driver was ini-
- tialized, or if the mask parameter is zero, it
- also returns an error if no more events remain
- in the queue.
+</PRE><H3><a name="h3-ungetmouse">ungetmouse</a></H3><PRE>
+ The <STRONG>ungetmouse</STRONG> function behaves analogously to <STRONG>ungetch</STRONG>. It pushes a
+ <STRONG>KEY_MOUSE</STRONG> event onto the input queue, and associates with that event
+ the given state data and screen-relative character-cell coordinates.
+
+
+</PRE><H3><a name="h3-wenclose">wenclose</a></H3><PRE>
+ The <STRONG>wenclose</STRONG> function tests whether a given pair of screen-relative
+ character-cell coordinates is enclosed by a given window, returning
+ <STRONG>TRUE</STRONG> if it is and <STRONG>FALSE</STRONG> otherwise. It is useful for determining what
+ subset of the screen windows enclose the location of a mouse event.
+
+
+</PRE><H3><a name="h3-wmouse_trafo">wmouse_trafo</a></H3><PRE>
+ The <STRONG>wmouse_trafo</STRONG> function transforms a given pair of coordinates from
+ stdscr-relative coordinates to coordinates relative to the given window
+ or vice versa. The resulting stdscr-relative coordinates are not al-
+ ways identical to window-relative coordinates due to the mechanism to
+ reserve lines on top or bottom of the screen for other purposes (see
+ the <STRONG>ripoffline</STRONG> and <STRONG><A HREF="curs_slk.3x.html">slk_init(3x)</A></STRONG> calls, for example).
+
+ <STRONG>o</STRONG> If the parameter <STRONG>to_screen</STRONG> is <STRONG>TRUE</STRONG>, the pointers <STRONG>pY,</STRONG> <STRONG>pX</STRONG> must refer-
+ ence the coordinates of a location inside the window <STRONG>win</STRONG>. They are
+ converted to window-relative coordinates and returned through the
+ pointers. If the conversion was successful, the function returns
+ <STRONG>TRUE</STRONG>.
+
+ <STRONG>o</STRONG> If one of the parameters was NULL or the location is not inside the
+ window, <STRONG>FALSE</STRONG> is returned.
+
+ <STRONG>o</STRONG> If <STRONG>to_screen</STRONG> is <STRONG>FALSE</STRONG>, the pointers <STRONG>pY,</STRONG> <STRONG>pX</STRONG> must reference window-
+ relative coordinates. They are converted to stdscr-relative coor-
+ dinates if the window <STRONG>win</STRONG> encloses this point. In this case the
+ function returns <STRONG>TRUE</STRONG>.
+
+ <STRONG>o</STRONG> If one of the parameters is NULL or the point is not inside the
+ window, <STRONG>FALSE</STRONG> is returned. The referenced coordinates are only re-
+ placed by the converted coordinates if the transformation was suc-
+ cessful.
+
+
+</PRE><H3><a name="h3-mouse_trafo">mouse_trafo</a></H3><PRE>
+ The <STRONG>mouse_trafo</STRONG> function performs the same translation as <STRONG>wmouse_trafo</STRONG>,
+ using stdscr for <STRONG>win</STRONG>.
+
+
+</PRE><H3><a name="h3-mouseinterval">mouseinterval</a></H3><PRE>
+ The <STRONG>mouseinterval</STRONG> function sets the maximum time (in thousands of a
+ second) that can elapse between press and release events for them to be
+ recognized as a click. Use <STRONG>mouseinterval(0)</STRONG> to disable click resolu-
+ tion. This function returns the previous interval value. Use <STRONG>mousein-</STRONG>
+ <STRONG>terval(-1)</STRONG> to obtain the interval without altering it. The default is
+ one sixth of a second.
+
+
+</PRE><H3><a name="h3-has_mouse">has_mouse</a></H3><PRE>
+ The <STRONG>has_mouse</STRONG> function returns <STRONG>TRUE</STRONG> if the mouse driver has been suc-
+ cessfully initialized.
+
+ Note that mouse events will be ignored when input is in cooked mode,
+ and will cause an error beep when cooked mode is being simulated in a
+ window by a function such as <STRONG>getstr</STRONG> that expects a linefeed for input-
+ loop termination.
+
+
+</PRE><H2><a name="h2-RETURN-VALUE">RETURN VALUE</a></H2><PRE>
+ <STRONG>getmouse</STRONG> and <STRONG>ungetmouse</STRONG> return the integer <STRONG>ERR</STRONG> upon failure or <STRONG>OK</STRONG> upon
+ successful completion:
+
+ <STRONG>getmouse</STRONG>
+ returns an error.
+
+ <STRONG>o</STRONG> If no mouse driver was initialized, or if the mask parameter is
+ zero,
- <STRONG>ungetmouse</STRONG>
- returns an error if the FIFO is full.
+ <STRONG>o</STRONG> It also returns an error if no more events remain in the queue.
+
+ <STRONG>ungetmouse</STRONG>
+ returns an error if the FIFO is full.
<STRONG>mousemask</STRONG> returns the mask of reportable events.
- <STRONG>mouseinterval</STRONG> returns the previous interval value, unless
- the terminal was not initialized. In that case, it re-
- turns the maximum interval value (166).
+ <STRONG>mouseinterval</STRONG> returns the previous interval value, unless the terminal
+ was not initialized. In that case, it returns the maximum interval
+ value (166).
- <STRONG>wenclose</STRONG> and <STRONG>wmouse_trafo</STRONG> are boolean functions returning
- <STRONG>TRUE</STRONG> or <STRONG>FALSE</STRONG> depending on their test result.
+ <STRONG>wenclose</STRONG> and <STRONG>wmouse_trafo</STRONG> are boolean functions returning <STRONG>TRUE</STRONG> or <STRONG>FALSE</STRONG>
+ depending on their test result.
-</PRE>
-<H2>PORTABILITY</H2><PRE>
- These calls 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 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 configur-
- ing ncurses:
-
- 1 has definitions for reserved events. The mask
- uses 28 bits.
-
- 2 adds definitions for button 5, removes the defi-
- nitions for reserved events. The mask uses 29
- bits.
-
- The order of the <STRONG>MEVENT</STRONG> structure members is not guaran-
- teed. Additional fields may be added to the structure in
- the future.
-
- Under <STRONG><A HREF="ncurses.3x.html">ncurses(3x)</A></STRONG>, these calls are implemented using ei-
- ther xterm's built-in mouse-tracking API or platform-spe-
- cific drivers including
- Alessandro Rubini's gpm server
- FreeBSD sysmouse
- OS/2 EMX
- If you are using an unsupported configuration, mouse
- events will not be visible to <STRONG><A HREF="ncurses.3x.html">ncurses(3x)</A></STRONG> (and the <STRONG>mouse-</STRONG>
- <STRONG>mask</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:
- \E[?1000%?%p1%{1}%=%th%el%;
- The z 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.
+</PRE><H2><a name="h2-PORTABILITY">PORTABILITY</a></H2><PRE>
+ These calls 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.
+ SVr4 curses had support for the mouse in a variant of <STRONG>xterm</STRONG>. It is
+ mentioned in a few places, but with no supporting documentation:
-</PRE>
-<H2>BUGS</H2><PRE>
- Mouse events under xterm will not in fact be ignored dur-
- ing cooked mode, if they have been enabled by <STRONG>mousemask</STRONG>.
- Instead, the xterm mouse report sequence will appear in
- the string read.
-
- Mouse events under xterm will not be detected correctly in
- a window with its keypad bit off, since they are inter-
- preted as a variety of function key. Your terminfo de-
- scription should have <STRONG>kmous</STRONG> set to "\E[M" (the beginning
- of the response from xterm for mouse clicks). Other val-
- ues for <STRONG>kmous</STRONG> are permitted, but under the same assump-
- tion, i.e., it is the beginning of the response.
-
- Because there are no standard terminal responses that
- would serve to identify terminals which support the xterm
- mouse protocol, <STRONG>ncurses</STRONG> assumes that if your $TERM envi-
- ronment variable contains "xterm", or <STRONG>kmous</STRONG> is defined in
- the terminal description, then the terminal may send mouse
- events.
+ <STRONG>o</STRONG> the "libcurses" manual page lists functions for this feature which
+ are prototyped in <STRONG>curses.h</STRONG>:
+ extern int mouse_set(long int);
+ extern int mouse_on(long int);
+ extern int mouse_off(long int);
+ extern int request_mouse_pos(void);
+ extern int map_button(unsigned long);
+ extern void wmouse_position(WINDOW *, int *, int *);
+ extern unsigned long getmouse(void), getbmap(void);
-</PRE>
-<H2>SEE ALSO</H2><PRE>
- <STRONG><A HREF="ncurses.3x.html">curses(3x)</A></STRONG>, <STRONG><A HREF="curs_kernel.3x.html">curs_kernel(3x)</A></STRONG>, <STRONG><A HREF="curs_slk.3x.html">curs_slk(3x)</A></STRONG>, <STRONG>curs_vari-</STRONG>
- <STRONG><A HREF="curs_variables.3x.html">ables(3x)</A></STRONG>.
+ <STRONG>o</STRONG> the "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
+ key_mouse kmous Km 0631, Mouse event has occurred
+ 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 ncurses) about the escape
+ sequences sent to and received from the terminal.
+
+ For instance the SVr4 curses 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> capa-
+ bility.
+
+ Those features required a terminal which had been modified to work
+ with curses. They were not part of the X Consortium's xterm.
+
+ When developing the xterm mouse support for 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, making it unnecessary to be concerned about com-
+ patibility with the escape sequences.
+
+ 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 inter-
+ face is changed, the value of <STRONG>NCURSES_MOUSE_VERSION</STRONG> will be increment-
+ ed. These values for <STRONG>NCURSES_MOUSE_VERSION</STRONG> may be specified when con-
+ figuring ncurses:
+
+ 1 has definitions for reserved events. The mask uses 28 bits.
+
+ 2 adds definitions for button 5, removes the definitions for re-
+ served events. The mask uses 29 bits.
+
+ The order of the <STRONG>MEVENT</STRONG> structure members is not guaranteed. Addition-
+ al fields may be added to the structure in the future.
+
+ Under <STRONG><A HREF="ncurses.3x.html">ncurses(3x)</A></STRONG>, these calls are implemented using either xterm's
+ built-in mouse-tracking API or platform-specific drivers including
+
+ <STRONG>o</STRONG> Alessandro Rubini's gpm server
+
+ <STRONG>o</STRONG> FreeBSD sysmouse
+
+ <STRONG>o</STRONG> OS/2 EMX
+
+ If you are using an unsupported configuration, mouse events will not be
+ visible to <STRONG><A HREF="ncurses.3x.html">ncurses(3x)</A></STRONG> (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:
+
+ \E[?1000%?%p1%{1}%=%th%el%;
+
+ The mouse driver also recognizes a newer xterm 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 in-
+ tended 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
+ matching button-releases.
+
+
+</PRE><H2><a name="h2-BUGS">BUGS</a></H2><PRE>
+ Mouse events under xterm will not in fact be ignored during cooked
+ mode, if they have been enabled by <STRONG>mousemask</STRONG>. Instead, the xterm mouse
+ report sequence will appear in the string read.
+
+ Mouse events under xterm will not be detected correctly in a window
+ with its keypad bit off, since they are interpreted as a variety of
+ function key. Your terminfo description should have <STRONG>kmous</STRONG> set to
+ "\E[M" (the beginning of the response from xterm for mouse clicks).
+ Other values for <STRONG>kmous</STRONG> are permitted, but under the same assumption,
+ i.e., it is the beginning of the response.
+
+ Because there are no standard terminal responses that would serve to
+ identify terminals which support the xterm mouse protocol, <STRONG>ncurses</STRONG> as-
+ sumes that if <STRONG>kmous</STRONG> is defined in the terminal description, or if the
+ terminal description'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 the use of newer xterm mouse protocols such
+ as xterm's private mode 1006.
+
+
+</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_kernel.3x.html">curs_kernel(3x)</A></STRONG>, <STRONG><A HREF="curs_slk.3x.html">curs_slk(3x)</A></STRONG>, <STRONG><A HREF="curs_variables.3x.html">curs_variables(3x)</A></STRONG>.
- <STRONG><A HREF="curs_mouse.3x.html">curs_mouse(3x)</A></STRONG>
+ <STRONG><A HREF="curs_mouse.3x.html">curs_mouse(3x)</A></STRONG>
</PRE>
-<HR>
-<ADDRESS>
-Man(1) output converted with
-<a href="http://www.oac.uci.edu/indiv/ehood/man2html.html">man2html</a>
-</ADDRESS>
+<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>
+<ul>
+<li><a href="#h3-mousemask">mousemask</a></li>
+<li><a href="#h3-Mouse-events">Mouse events</a></li>
+<li><a href="#h3-getmouse">getmouse</a></li>
+<li><a href="#h3-ungetmouse">ungetmouse</a></li>
+<li><a href="#h3-wenclose">wenclose</a></li>
+<li><a href="#h3-wmouse_trafo">wmouse_trafo</a></li>
+<li><a href="#h3-mouse_trafo">mouse_trafo</a></li>
+<li><a href="#h3-mouseinterval">mouseinterval</a></li>
+<li><a href="#h3-has_mouse">has_mouse</a></li>
+</ul>
+</li>
+<li><a href="#h2-RETURN-VALUE">RETURN VALUE</a></li>
+<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>
+</ul>
+</div>
</BODY>
</HTML>
diff --git a/doc/html/man/curs_move.3x.html b/doc/html/man/curs_move.3x.html
index 4c283581803a..c938a627a934 100644
--- a/doc/html/man/curs_move.3x.html
+++ b/doc/html/man/curs_move.3x.html
@@ -1,7 +1,6 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN">
<!--
****************************************************************************
- * Copyright (c) 1998-2006,2010 Free Software Foundation, Inc. *
+ * Copyright (c) 1998-2017,2018 Free Software Foundation, Inc. *
* *
* Permission is hereby granted, free of charge, to any person obtaining a *
* copy of this software and associated documentation files (the *
@@ -27,79 +26,76 @@
* sale, use or other dealings in this Software without prior written *
* authorization. *
****************************************************************************
- * @Id: curs_move.3x,v 1.14 2010/12/04 18:40:45 tom Exp @
+ * @Id: curs_move.3x,v 1.17 2018/07/28 21:34: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_move 3x</TITLE>
-<link rev=made href="mailto:bug-ncurses@gnu.org">
+<link rel="author" href="mailto:bug-ncurses@gnu.org">
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
</HEAD>
<BODY>
-<H1>curs_move 3x</H1>
-<HR>
+<H1 class="no-header">curs_move 3x</H1>
<PRE>
-<!-- Manpage converted by man2html 3.0.1 -->
-<STRONG><A HREF="curs_move.3x.html">curs_move(3x)</A></STRONG> <STRONG><A HREF="curs_move.3x.html">curs_move(3x)</A></STRONG>
+<STRONG><A HREF="curs_move.3x.html">curs_move(3x)</A></STRONG> <STRONG><A HREF="curs_move.3x.html">curs_move(3x)</A></STRONG>
-</PRE>
-<H2>NAME</H2><PRE>
+</PRE><H2><a name="h2-NAME">NAME</a></H2><PRE>
<STRONG>move</STRONG>, <STRONG>wmove</STRONG> - move <STRONG>curses</STRONG> window cursor
-</PRE>
-<H2>SYNOPSIS</H2><PRE>
+</PRE><H2><a name="h2-SYNOPSIS">SYNOPSIS</a></H2><PRE>
<STRONG>#include</STRONG> <STRONG>&lt;curses.h&gt;</STRONG>
<STRONG>int</STRONG> <STRONG>move(int</STRONG> <STRONG>y,</STRONG> <STRONG>int</STRONG> <STRONG>x);</STRONG>
<STRONG>int</STRONG> <STRONG>wmove(WINDOW</STRONG> <STRONG>*win,</STRONG> <STRONG>int</STRONG> <STRONG>y,</STRONG> <STRONG>int</STRONG> <STRONG>x);</STRONG>
-</PRE>
-<H2>DESCRIPTION</H2><PRE>
- These routines move the cursor associated with the window
- to line <EM>y</EM> and column <EM>x</EM>. This routine does not move the
- physical cursor of the terminal until <STRONG>refresh</STRONG> is called.
- The position specified is relative to the upper left-hand
- corner of the window, which is (0,0).
+</PRE><H2><a name="h2-DESCRIPTION">DESCRIPTION</a></H2><PRE>
+ These routines move the cursor associated with the window to line <EM>y</EM> and
+ column <EM>x</EM>. This routine does not move the physical cursor of the termi-
+ nal until <STRONG><A HREF="curs_refresh.3x.html">refresh(3x)</A></STRONG> is called. The position specified is relative to
+ the upper left-hand corner of the window, which is (0,0).
-</PRE>
-<H2>RETURN VALUE</H2><PRE>
- These routines return <STRONG>ERR</STRONG> upon failure and OK (SVr4 speci-
- fies only "an integer value other than <STRONG>ERR</STRONG>") upon success-
- ful completion.
+</PRE><H2><a name="h2-RETURN-VALUE">RETURN VALUE</a></H2><PRE>
+ These routines return <STRONG>ERR</STRONG> upon failure and <STRONG>OK</STRONG> (SVr4 specifies only "an
+ integer value other than <STRONG>ERR</STRONG>") upon successful completion.
- Specifically, they return an error if the window pointer
- is null, or if the position is outside the window.
+ Specifically, they return an error if the window pointer is null, or if
+ the position is outside the window.
-</PRE>
-<H2>NOTES</H2><PRE>
+</PRE><H2><a name="h2-NOTES">NOTES</a></H2><PRE>
Note that <STRONG>move</STRONG> may be a macro.
-</PRE>
-<H2>PORTABILITY</H2><PRE>
- These functions are described in the XSI Curses standard,
- Issue 4.
+</PRE><H2><a name="h2-PORTABILITY">PORTABILITY</a></H2><PRE>
+ These functions are described in the XSI Curses standard, Issue 4.
-</PRE>
-<H2>SEE ALSO</H2><PRE>
+</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_refresh.3x.html">curs_refresh(3x)</A></STRONG>
- <STRONG><A HREF="curs_move.3x.html">curs_move(3x)</A></STRONG>
+ <STRONG><A HREF="curs_move.3x.html">curs_move(3x)</A></STRONG>
</PRE>
-<HR>
-<ADDRESS>
-Man(1) output converted with
-<a href="http://www.oac.uci.edu/indiv/ehood/man2html.html">man2html</a>
-</ADDRESS>
+<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>
+<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-SEE-ALSO">SEE ALSO</a></li>
+</ul>
+</div>
</BODY>
</HTML>
diff --git a/doc/html/man/curs_opaque.3x.html b/doc/html/man/curs_opaque.3x.html
index ff0e5711cdf5..f036c825d676 100644
--- a/doc/html/man/curs_opaque.3x.html
+++ b/doc/html/man/curs_opaque.3x.html
@@ -1,7 +1,6 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN">
<!--
****************************************************************************
- * Copyright (c) 2007-2010,2013 Free Software Foundation, Inc. *
+ * Copyright (c) 2007-2014,2015 Free Software Foundation, Inc. *
* *
* Permission is hereby granted, free of charge, to any person obtaining a *
* copy of this software and associated documentation files (the *
@@ -27,33 +26,32 @@
* sale, use or other dealings in this Software without prior written *
* authorization. *
****************************************************************************
- * @Id: curs_opaque.3x,v 1.10 2013/07/20 19:42:29 tom Exp @
+ * @Id: curs_opaque.3x,v 1.13 2015/12/05 20:05:45 tom Exp @
-->
+<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN">
<HTML>
<HEAD>
+<meta http-equiv="Content-Type" content="text/html; charset=us-ascii">
+<meta name="generator" content="Manpage converted by man2html - see https://invisible-island.net/scripts/readme.html#others_scripts">
<TITLE>curs_opaque 3x</TITLE>
-<link rev=made href="mailto:bug-ncurses@gnu.org">
+<link rel="author" href="mailto:bug-ncurses@gnu.org">
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
</HEAD>
<BODY>
-<H1>curs_opaque 3x</H1>
-<HR>
+<H1 class="no-header">curs_opaque 3x</H1>
<PRE>
-<!-- Manpage converted by man2html 3.0.1 -->
-<STRONG><A HREF="curs_opaque.3x.html">curs_opaque(3x)</A></STRONG> <STRONG><A HREF="curs_opaque.3x.html">curs_opaque(3x)</A></STRONG>
+<STRONG><A HREF="curs_opaque.3x.html">curs_opaque(3x)</A></STRONG> <STRONG><A HREF="curs_opaque.3x.html">curs_opaque(3x)</A></STRONG>
-</PRE>
-<H2>NAME</H2><PRE>
- <STRONG>is_cleared</STRONG>, <STRONG>is_idlok</STRONG>, <STRONG>is_idcok</STRONG>, <STRONG>is_immedok</STRONG>, <STRONG>is_keypad</STRONG>,
- <STRONG>is_leaveok</STRONG>, <STRONG>is_nodelay</STRONG>, <STRONG>is_notimeout</STRONG>, <STRONG>is_pad</STRONG>, <STRONG>is_scrollok</STRONG>,
- <STRONG>is_subwin</STRONG>, <STRONG>is_syncok</STRONG> - <STRONG>curses</STRONG> window properties
+</PRE><H2><a name="h2-NAME">NAME</a></H2><PRE>
+ <STRONG>is_cleared</STRONG>, <STRONG>is_idlok</STRONG>, <STRONG>is_idcok</STRONG>, <STRONG>is_immedok</STRONG>, <STRONG>is_keypad</STRONG>, <STRONG>is_leaveok</STRONG>,
+ <STRONG>is_nodelay</STRONG>, <STRONG>is_notimeout</STRONG>, <STRONG>is_pad</STRONG>, <STRONG>is_scrollok</STRONG>, <STRONG>is_subwin</STRONG>, <STRONG>is_syncok</STRONG>,
+ <STRONG>wgetdelay</STRONG>, <STRONG>wgetparent</STRONG>, <STRONG>wgetscrreg</STRONG> - <STRONG>curses</STRONG> window properties
-</PRE>
-<H2>SYNOPSIS</H2><PRE>
+</PRE><H2><a name="h2-SYNOPSIS">SYNOPSIS</a></H2><PRE>
<STRONG>#include</STRONG> <STRONG>&lt;curses.h&gt;</STRONG>
<STRONG>bool</STRONG> <STRONG>is_cleared(const</STRONG> <STRONG>WINDOW</STRONG> <STRONG>*win);</STRONG>
@@ -69,14 +67,14 @@
<STRONG>bool</STRONG> <STRONG>is_subwin(const</STRONG> <STRONG>WINDOW</STRONG> <STRONG>*win);</STRONG>
<STRONG>bool</STRONG> <STRONG>is_syncok(const</STRONG> <STRONG>WINDOW</STRONG> <STRONG>*win);</STRONG>
<STRONG>WINDOW</STRONG> <STRONG>*</STRONG> <STRONG>wgetparent(const</STRONG> <STRONG>WINDOW</STRONG> <STRONG>*win);</STRONG>
+ <STRONG>int</STRONG> <STRONG>wgetdelay(const</STRONG> <STRONG>WINDOW</STRONG> <STRONG>*win);</STRONG>
<STRONG>int</STRONG> <STRONG>wgetscrreg(const</STRONG> <STRONG>WINDOW</STRONG> <STRONG>*win,</STRONG> <STRONG>int</STRONG> <STRONG>*top,</STRONG> <STRONG>int</STRONG> <STRONG>*bottom);</STRONG>
-</PRE>
-<H2>DESCRIPTION</H2><PRE>
- This implementation provides functions which return prop-
- erties set in the WINDOW structure, allowing it to be
- "opaque" if the symbol <STRONG>NCURSES_OPAQUE</STRONG> is defined:
+</PRE><H2><a name="h2-DESCRIPTION">DESCRIPTION</a></H2><PRE>
+ This implementation provides functions which return properties set in
+ the WINDOW structure, allowing it to be "opaque" if the symbol <STRONG>NCURS-</STRONG>
+ <STRONG>ES_OPAQUE</STRONG> is defined:
<STRONG>is_cleared</STRONG>
returns the value set in <STRONG>clearok</STRONG>
@@ -103,59 +101,62 @@
returns the value set in <STRONG>notimeout</STRONG>
<STRONG>is_pad</STRONG>
- returns TRUE if the window is a pad i.e., created by
- <STRONG>newpad</STRONG>
+ returns <STRONG>TRUE</STRONG> if the window is a pad i.e., created by <STRONG>newpad</STRONG>
<STRONG>is_scrollok</STRONG>
returns the value set in <STRONG>scrollok</STRONG>
<STRONG>is_subwin</STRONG>
- returns TRUE if the window is a subwindow, i.e., cre-
- ated by <STRONG>subwin</STRONG> or <STRONG>derwin</STRONG>
+ returns <STRONG>TRUE</STRONG> if the window is a subwindow, i.e., created by <STRONG>subwin</STRONG>
+ or <STRONG>derwin</STRONG>
<STRONG>is_syncok</STRONG>
returns the value set in <STRONG>syncok</STRONG>
+ <STRONG>wgetdelay</STRONG>
+ returns the delay timeout as set in <STRONG>wtimeout</STRONG>.
+
<STRONG>wgetparent</STRONG>
- returns the parent WINDOW pointer for subwindows, or
- NULL for windows having no parent.
+ returns the parent WINDOW pointer for subwindows, or NULL for win-
+ dows having no parent.
<STRONG>wgetscrreg</STRONG>
- returns the top and bottom rows for the scrolling
- margin as set in <STRONG>wsetscrreg</STRONG>.
+ returns the top and bottom rows for the scrolling margin as set in
+ <STRONG>wsetscrreg</STRONG>.
-</PRE>
-<H2>RETURN VALUE</H2><PRE>
- These functions all return TRUE or FALSE, except as noted.
+</PRE><H2><a name="h2-RETURN-VALUE">RETURN VALUE</a></H2><PRE>
+ These functions all return <STRONG>TRUE</STRONG> or <STRONG>FALSE</STRONG>, except as noted.
-</PRE>
-<H2>NOTES</H2><PRE>
+</PRE><H2><a name="h2-NOTES">NOTES</a></H2><PRE>
Both a macro and a function are provided for each name.
-</PRE>
-<H2>PORTABILITY</H2><PRE>
- These routines are specific to ncurses. They were not
- supported on Version 7, BSD or System V implementations.
- It is recommended that any code depending on ncurses ex-
- tensions be conditioned using NCURSES_VERSION.
+</PRE><H2><a name="h2-PORTABILITY">PORTABILITY</a></H2><PRE>
+ These routines are specific to ncurses. They were not supported on
+ Version 7, BSD or System V implementations. It is recommended that any
+ code depending on ncurses extensions be conditioned using NCURSES_VER-
+ SION.
-</PRE>
-<H2>SEE ALSO</H2><PRE>
- <STRONG><A HREF="ncurses.3x.html">curses(3x)</A></STRONG>, <STRONG><A HREF="curs_inopts.3x.html">curs_inopts(3x)</A></STRONG>, <STRONG><A HREF="curs_outopts.3x.html">curs_outopts(3x)</A></STRONG>, <STRONG>curs_win-</STRONG>
- <STRONG><A HREF="curs_window.3x.html">dow(3x)</A></STRONG>
+</PRE><H2><a name="h2-SEE-ALSO">SEE ALSO</a></H2><PRE>
+ <STRONG><A HREF="ncurses.3x.html">curses(3x)</A></STRONG>, <STRONG><A HREF="curs_inopts.3x.html">curs_inopts(3x)</A></STRONG>, <STRONG><A HREF="curs_outopts.3x.html">curs_outopts(3x)</A></STRONG>, <STRONG><A HREF="curs_window.3x.html">curs_window(3x)</A></STRONG>
- <STRONG><A HREF="curs_opaque.3x.html">curs_opaque(3x)</A></STRONG>
+ <STRONG><A HREF="curs_opaque.3x.html">curs_opaque(3x)</A></STRONG>
</PRE>
-<HR>
-<ADDRESS>
-Man(1) output converted with
-<a href="http://www.oac.uci.edu/indiv/ehood/man2html.html">man2html</a>
-</ADDRESS>
+<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>
+<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-SEE-ALSO">SEE ALSO</a></li>
+</ul>
+</div>
</BODY>
</HTML>
diff --git a/doc/html/man/curs_outopts.3x.html b/doc/html/man/curs_outopts.3x.html
index aad607f70a17..5fe4fa1eea52 100644
--- a/doc/html/man/curs_outopts.3x.html
+++ b/doc/html/man/curs_outopts.3x.html
@@ -1,7 +1,6 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN">
<!--
****************************************************************************
- * Copyright (c) 1998-2007,2010 Free Software Foundation, Inc. *
+ * Copyright (c) 1998-2017,2018 Free Software Foundation, Inc. *
* *
* Permission is hereby granted, free of charge, to any person obtaining a *
* copy of this software and associated documentation files (the *
@@ -27,208 +26,216 @@
* sale, use or other dealings in this Software without prior written *
* authorization. *
****************************************************************************
- * @Id: curs_outopts.3x,v 1.25 2010/12/04 18:38:55 tom Exp @
+ * @Id: curs_outopts.3x,v 1.29 2018/07/28 22:59:02 tom Exp @
-->
+<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN">
<HTML>
<HEAD>
+<meta http-equiv="Content-Type" content="text/html; charset=us-ascii">
+<meta name="generator" content="Manpage converted by man2html - see https://invisible-island.net/scripts/readme.html#others_scripts">
<TITLE>curs_outopts 3x</TITLE>
-<link rev=made href="mailto:bug-ncurses@gnu.org">
+<link rel="author" href="mailto:bug-ncurses@gnu.org">
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
</HEAD>
<BODY>
-<H1>curs_outopts 3x</H1>
-<HR>
+<H1 class="no-header">curs_outopts 3x</H1>
<PRE>
-<!-- Manpage converted by man2html 3.0.1 -->
-<STRONG><A HREF="curs_outopts.3x.html">curs_outopts(3x)</A></STRONG> <STRONG><A HREF="curs_outopts.3x.html">curs_outopts(3x)</A></STRONG>
+<STRONG><A HREF="curs_outopts.3x.html">curs_outopts(3x)</A></STRONG> <STRONG><A HREF="curs_outopts.3x.html">curs_outopts(3x)</A></STRONG>
-</PRE>
-<H2>NAME</H2><PRE>
- <STRONG>clearok</STRONG>, <STRONG>idlok</STRONG>, <STRONG>idcok</STRONG>, <STRONG>immedok</STRONG>, <STRONG>leaveok</STRONG>, <STRONG>setscrreg</STRONG>,
- <STRONG>wsetscrreg</STRONG>, <STRONG>scrollok</STRONG>, <STRONG>nl</STRONG>, <STRONG>nonl</STRONG> - <STRONG>curses</STRONG> output options
+</PRE><H2><a name="h2-NAME">NAME</a></H2><PRE>
+ <STRONG>clearok</STRONG>, <STRONG>idlok</STRONG>, <STRONG>idcok</STRONG>, <STRONG>immedok</STRONG>, <STRONG>leaveok</STRONG>, <STRONG>setscrreg</STRONG>, <STRONG>wsetscrreg</STRONG>,
+ <STRONG>scrollok</STRONG>, <STRONG>nl</STRONG>, <STRONG>nonl</STRONG> - <STRONG>curses</STRONG> output options
-</PRE>
-<H2>SYNOPSIS</H2><PRE>
+</PRE><H2><a name="h2-SYNOPSIS">SYNOPSIS</a></H2><PRE>
<STRONG>#include</STRONG> <STRONG>&lt;curses.h&gt;</STRONG>
- <STRONG>int</STRONG> <STRONG>clearok(WINDOW</STRONG> <STRONG>*win,</STRONG> <STRONG>bool</STRONG> <STRONG>bf);</STRONG>
- <STRONG>int</STRONG> <STRONG>idlok(WINDOW</STRONG> <STRONG>*win,</STRONG> <STRONG>bool</STRONG> <STRONG>bf);</STRONG>
- <STRONG>void</STRONG> <STRONG>idcok(WINDOW</STRONG> <STRONG>*win,</STRONG> <STRONG>bool</STRONG> <STRONG>bf);</STRONG>
- <STRONG>void</STRONG> <STRONG>immedok(WINDOW</STRONG> <STRONG>*win,</STRONG> <STRONG>bool</STRONG> <STRONG>bf);</STRONG>
- <STRONG>int</STRONG> <STRONG>leaveok(WINDOW</STRONG> <STRONG>*win,</STRONG> <STRONG>bool</STRONG> <STRONG>bf);</STRONG>
- <STRONG>int</STRONG> <STRONG>setscrreg(int</STRONG> <STRONG>top,</STRONG> <STRONG>int</STRONG> <STRONG>bot);</STRONG>
- <STRONG>int</STRONG> <STRONG>wsetscrreg(WINDOW</STRONG> <STRONG>*win,</STRONG> <STRONG>int</STRONG> <STRONG>top,</STRONG> <STRONG>int</STRONG> <STRONG>bot);</STRONG>
- <STRONG>int</STRONG> <STRONG>scrollok(WINDOW</STRONG> <STRONG>*win,</STRONG> <STRONG>bool</STRONG> <STRONG>bf);</STRONG>
+ <STRONG>int</STRONG> <STRONG>clearok(WINDOW</STRONG> <STRONG>*</STRONG><EM>win</EM><STRONG>,</STRONG> <STRONG>bool</STRONG> <EM>bf</EM><STRONG>);</STRONG>
+ <STRONG>int</STRONG> <STRONG>idlok(WINDOW</STRONG> <STRONG>*</STRONG><EM>win</EM><STRONG>,</STRONG> <STRONG>bool</STRONG> <EM>bf</EM><STRONG>);</STRONG>
+ <STRONG>void</STRONG> <STRONG>idcok(WINDOW</STRONG> <STRONG>*</STRONG><EM>win</EM><STRONG>,</STRONG> <STRONG>bool</STRONG> <EM>bf</EM><STRONG>);</STRONG>
+ <STRONG>void</STRONG> <STRONG>immedok(WINDOW</STRONG> <STRONG>*</STRONG><EM>win</EM><STRONG>,</STRONG> <STRONG>bool</STRONG> <EM>bf</EM><STRONG>);</STRONG>
+ <STRONG>int</STRONG> <STRONG>leaveok(WINDOW</STRONG> <STRONG>*</STRONG><EM>win</EM><STRONG>,</STRONG> <STRONG>bool</STRONG> <EM>bf</EM><STRONG>);</STRONG>
+ <STRONG>int</STRONG> <STRONG>setscrreg(int</STRONG> <EM>top</EM><STRONG>,</STRONG> <STRONG>int</STRONG> <EM>bot</EM><STRONG>);</STRONG>
+ <STRONG>int</STRONG> <STRONG>wsetscrreg(WINDOW</STRONG> <STRONG>*</STRONG><EM>win</EM><STRONG>,</STRONG> <STRONG>int</STRONG> <EM>top</EM><STRONG>,</STRONG> <STRONG>int</STRONG> <EM>bot</EM><STRONG>);</STRONG>
+ <STRONG>int</STRONG> <STRONG>scrollok(WINDOW</STRONG> <STRONG>*</STRONG><EM>win</EM><STRONG>,</STRONG> <STRONG>bool</STRONG> <EM>bf</EM><STRONG>);</STRONG>
<STRONG>int</STRONG> <STRONG>nl(void);</STRONG>
<STRONG>int</STRONG> <STRONG>nonl(void);</STRONG>
-</PRE>
-<H2>DESCRIPTION</H2><PRE>
- These routines set options that change the style of output
- within <STRONG>curses</STRONG>. All options are initially <STRONG>FALSE</STRONG>, unless
- otherwise stated. It is not necessary to turn these op-
- tions off before calling <STRONG>endwin</STRONG>.
-
- If <STRONG>clearok</STRONG> is called with <STRONG>TRUE</STRONG> as argument, the next call
- to <STRONG>wrefresh</STRONG> with this window will clear the screen com-
- pletely and redraw the entire screen from scratch. This
- is useful when the contents of the screen are uncertain,
- or in some cases for a more pleasing visual effect. If
- the <EM>win</EM> argument to <STRONG>clearok</STRONG> is the global variable <STRONG>curscr</STRONG>,
- the next call to <STRONG>wrefresh</STRONG> with any window causes the
- screen to be cleared and repainted from scratch.
-
- If <STRONG>idlok</STRONG> is called with <STRONG>TRUE</STRONG> as second argument, <STRONG>curses</STRONG>
- considers using the hardware insert/delete line feature of
- terminals so equipped. Calling <STRONG>idlok</STRONG> with <STRONG>FALSE</STRONG> as second
- argument disables use of line insertion and deletion.
- This option should be enabled only if the application
- needs insert/delete line, for example, for a screen edi-
- tor. It is disabled by default because insert/delete line
- tends to be visually annoying when used in applications
- where it is not really needed. If insert/delete line can-
- not be used, <STRONG>curses</STRONG> redraws the changed portions of all
- lines.
-
- If <STRONG>idcok</STRONG> is called with <STRONG>FALSE</STRONG> as second argument, <STRONG>curses</STRONG>
- no longer considers using the hardware insert/delete char-
- acter feature of terminals so equipped. Use of character
- insert/delete is enabled by default. Calling <STRONG>idcok</STRONG> with
- <STRONG>TRUE</STRONG> as second argument re-enables use of character inser-
- tion and deletion.
-
- If <STRONG>immedok</STRONG> is called with <STRONG>TRUE</STRONG> <STRONG>as</STRONG> <STRONG>argument</STRONG>, any change in
- the window image, such as the ones caused by <STRONG>waddch,</STRONG> <STRONG>wclr-</STRONG>
- <STRONG>tobot,</STRONG> <STRONG>wscrl</STRONG>, etc., automatically cause a call to <STRONG>wre-</STRONG>
- <STRONG>fresh</STRONG>. However, it may degrade performance considerably,
- due to repeated calls to <STRONG>wrefresh</STRONG>. It is disabled by de-
- fault.
-
- Normally, the hardware cursor is left at the location of
- the window cursor being refreshed. The <STRONG>leaveok</STRONG> option al-
- lows the cursor to be left wherever the update happens to
- leave it. It is useful for applications where the cursor
- is not used, since it reduces the need for cursor motions.
-
- The <STRONG>setscrreg</STRONG> and <STRONG>wsetscrreg</STRONG> routines allow the applica-
- tion programmer to set a software scrolling region in a
- window. The <EM>top</EM> and <EM>bot</EM> parameters are the line numbers
- of the top and bottom margin of the scrolling region.
- (Line 0 is the top line of the window.) If this option
- and <STRONG>scrollok</STRONG> are enabled, an attempt to move off the bot-
- tom margin line causes all lines in the scrolling region
- to scroll one line in the direction of the first line.
- Only the text of the window is scrolled. (Note that this
- has nothing to do with the use of a physical scrolling re-
- gion capability in the terminal, like that in the VT100.
- If <STRONG>idlok</STRONG> is enabled and the terminal has either a
- scrolling region or insert/delete line capability, they
- will probably be used by the output routines.)
-
- The <STRONG>scrollok</STRONG> option controls what happens when the cursor
- of a window is moved off the edge of the window or
- scrolling region, either as a result of a newline action
- on the bottom line, or typing the last character of the
- last line. If disabled, (<EM>bf</EM> is <STRONG>FALSE</STRONG>), the cursor is left
- on the bottom line. If enabled, (<EM>bf</EM> is <STRONG>TRUE</STRONG>), the window
- is scrolled up one line (Note that to get the physical
- scrolling effect on the terminal, it is also necessary to
- call <STRONG>idlok</STRONG>).
-
- The <STRONG>nl</STRONG> and <STRONG>nonl</STRONG> routines control whether the underlying
- display device translates the return key into newline on
- input, and whether it translates newline into return and
- line-feed on output (in either case, the call <STRONG>addch('\n')</STRONG>
- does the equivalent of return and line feed on the virtual
- screen). Initially, these translations do occur. If you
- disable them using <STRONG>nonl</STRONG>, <STRONG>curses</STRONG> will be able to make bet-
- ter use of the line-feed capability, resulting in faster
- cursor motion. Also, <STRONG>curses</STRONG> will then be able to detect
- the return key.
+</PRE><H2><a name="h2-DESCRIPTION">DESCRIPTION</a></H2><PRE>
+ These routines set options that change the style of output within <STRONG>curs-</STRONG>
+ <STRONG>es</STRONG>. All options are initially <STRONG>FALSE</STRONG>, unless otherwise stated. It is
+ not necessary to turn these options off before calling <STRONG><A HREF="curs_initscr.3x.html">endwin(3x)</A></STRONG>.
+
+
+</PRE><H3><a name="h3-clearok">clearok</a></H3><PRE>
+ If <STRONG>clearok</STRONG> is called with <STRONG>TRUE</STRONG> as argument, the next call to <STRONG>wrefresh</STRONG>
+ with this window will clear the screen completely and redraw the entire
+ screen from scratch. This is useful when the contents of the screen
+ are uncertain, or in some cases for a more pleasing visual effect. If
+ the <EM>win</EM> argument to <STRONG>clearok</STRONG> is the global variable <STRONG>curscr</STRONG>, the next
+ call to <STRONG>wrefresh</STRONG> with any window causes the screen to be cleared and
+ repainted from scratch.
+
+
+</PRE><H3><a name="h3-idlok">idlok</a></H3><PRE>
+ If <STRONG>idlok</STRONG> is called with <STRONG>TRUE</STRONG> as second argument, <STRONG>curses</STRONG> considers using
+ the hardware insert/delete line feature of terminals so equipped.
+ Calling <STRONG>idlok</STRONG> with <STRONG>FALSE</STRONG> as second argument disables use of line inser-
+ tion and deletion. This option should be enabled only if the applica-
+ tion needs insert/delete line, for example, for a screen editor. It is
+ disabled by default because insert/delete line tends to be visually an-
+ noying when used in applications where it is not really needed. If in-
+ sert/delete line cannot be used, <STRONG>curses</STRONG> redraws the changed portions of
+ all lines.
+
+
+</PRE><H3><a name="h3-idcok">idcok</a></H3><PRE>
+ If <STRONG>idcok</STRONG> is called with <STRONG>FALSE</STRONG> as second argument, <STRONG>curses</STRONG> no longer con-
+ siders using the hardware insert/delete character feature of terminals
+ so equipped. Use of character insert/delete is enabled by default.
+ Calling <STRONG>idcok</STRONG> with <STRONG>TRUE</STRONG> as second argument re-enables use of character
+ insertion and deletion.
+
+
+</PRE><H3><a name="h3-immedok">immedok</a></H3><PRE>
+ If <STRONG>immedok</STRONG> is called with <STRONG>TRUE</STRONG> <STRONG>as</STRONG> <STRONG>argument</STRONG>, any change in the window
+ image, such as the ones caused by <STRONG>waddch,</STRONG> <STRONG>wclrtobot,</STRONG> <STRONG>wscrl</STRONG>, etc., auto-
+ matically cause a call to <STRONG>wrefresh</STRONG>. However, it may degrade perfor-
+ mance considerably, due to repeated calls to <STRONG>wrefresh</STRONG>. It is disabled
+ by default.
+
+
+</PRE><H3><a name="h3-leaveok">leaveok</a></H3><PRE>
+ Normally, the hardware cursor is left at the location of the window
+ cursor being refreshed. The <STRONG>leaveok</STRONG> option allows the cursor to be
+ left wherever the update happens to leave it. It is useful for appli-
+ cations where the cursor is not used, since it reduces the need for
+ cursor motions.
+
+
+</PRE><H3><a name="h3-setscrreg">setscrreg</a></H3><PRE>
+ The <STRONG>setscrreg</STRONG> and <STRONG>wsetscrreg</STRONG> routines allow the application programmer
+ to set a software scrolling region in a window. The <EM>top</EM> and <EM>bot</EM> param-
+ eters are the line numbers of the top and bottom margin of the
+ scrolling region. (Line 0 is the top line of the window.) If this op-
+ tion and <STRONG>scrollok</STRONG> are enabled, an attempt to move off the bottom margin
+ line causes all lines in the scrolling region to scroll one line in the
+ direction of the first line. Only the text of the window is scrolled.
+ (Note that this has nothing to do with the use of a physical scrolling
+ region capability in the terminal, like that in the VT100. If <STRONG>idlok</STRONG> is
+ enabled and the terminal has either a scrolling region or insert/delete
+ line capability, they will probably be used by the output routines.)
+
+
+</PRE><H3><a name="h3-scrollok">scrollok</a></H3><PRE>
+ The <STRONG>scrollok</STRONG> option controls what happens when the cursor of a window
+ is moved off the edge of the window or scrolling region, either as a
+ result of a newline action on the bottom line, or typing the last char-
+ acter of the last line. If disabled, (<EM>bf</EM> is <STRONG>FALSE</STRONG>), the cursor is left
+ on the bottom line. If enabled, (<EM>bf</EM> is <STRONG>TRUE</STRONG>), the window is scrolled
+ up one line (Note that to get the physical scrolling effect on the ter-
+ minal, it is also necessary to call <STRONG>idlok</STRONG>).
+
+
+</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, and whether it trans-
+ lates newline into return and line-feed on output (in either case, the
+ call <STRONG>addch('\n')</STRONG> does the equivalent of return and line feed on the
+ <EM>virtual</EM> <EM>screen</EM>). Initially, these translations do occur. If you dis-
+ able them using <STRONG>nonl</STRONG>, <STRONG>curses</STRONG> will be able to make better use of the
+ line-feed capability, resulting in faster cursor motion. Also, <STRONG>curses</STRONG>
+ will then be able to detect the return key.
+
+
+</PRE><H2><a name="h2-RETURN-VALUE">RETURN VALUE</a></H2><PRE>
+ The functions <STRONG>setscrreg</STRONG> and <STRONG>wsetscrreg</STRONG> return <STRONG>OK</STRONG> upon success and <STRONG>ERR</STRONG>
+ upon failure. All other routines that return an integer always return
+ <STRONG>OK</STRONG>.
+
+ X/Open Curses does not define any error conditions.
+
+ In this implementation, those functions that have a window pointer will
+ return an error if the window pointer is null.
+ <STRONG>wclrtoeol</STRONG>
+ returns an error if the cursor position is about to wrap.
-</PRE>
-<H2>RETURN VALUE</H2><PRE>
- The functions <STRONG>setscrreg</STRONG> and <STRONG>wsetscrreg</STRONG> return <STRONG>OK</STRONG> upon suc-
- cess and <STRONG>ERR</STRONG> upon failure. All other routines that return
- an integer always return <STRONG>OK</STRONG>.
+ <STRONG>wsetscrreg</STRONG>
+ returns an error if the scrolling region limits extend out-
+ side the window.
- X/Open does not define any error conditions.
+ X/Open does not define any error conditions. This implementation re-
+ turns an error if the window pointer is null.
- In this implementation, those functions that have a window
- pointer will return an error if the window pointer is
- null.
- <STRONG>wclrtoeol</STRONG>
- returns an error if the cursor position is
- about to wrap.
+</PRE><H2><a name="h2-PORTABILITY">PORTABILITY</a></H2><PRE>
+ These functions are described in the XSI Curses standard, Issue 4.
- <STRONG>wsetscrreg</STRONG>
- returns an error if the scrolling region lim-
- its extend outside the window.
+ 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
+ curses did turn off these translations; AT&amp;T curses (at least as late
+ as SVr1) did not. We choose 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 does not define any error conditions. This imple-
- mentation returns an error if the window pointer is null.
+ Some historic curses implementations had, as an undocumented feature,
+ the ability to do the equivalent of <STRONG>clearok(...,</STRONG> <STRONG>1)</STRONG> by saying <STRONG>touch-</STRONG>
+ <STRONG>win(stdscr)</STRONG> or <STRONG>clear(stdscr)</STRONG>. This will not work under ncurses.
+ Earlier System V curses implementations specified that with <STRONG>scrollok</STRONG>
+ enabled, any window modification triggering a scroll also forced a
+ physical refresh. XSI Curses does not require this, and <STRONG>ncurses</STRONG> avoids
+ doing it to perform better vertical-motion optimization at <STRONG>wrefresh</STRONG>
+ time.
-</PRE>
-<H2>PORTABILITY</H2><PRE>
- These functions are described in the XSI Curses standard,
- Issue 4.
-
- The XSI Curses standard is ambiguous on the question of
- whether <STRONG>raw</STRONG>() should disable the CRLF translations con-
- trolled by <STRONG>nl</STRONG>() and <STRONG>nonl</STRONG>(). BSD curses did turn off these
- translations; AT&amp;T curses (at least as late as SVr1) did
- not. We choose 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.
-
- Some historic curses implementations had, as an undocu-
- mented feature, the ability to do the equivalent of
- <STRONG>clearok(...,</STRONG> <STRONG>1)</STRONG> by saying <STRONG>touchwin(stdscr)</STRONG> or <STRONG>clear(std-</STRONG>
- <STRONG>scr)</STRONG>. This will not work under ncurses.
-
- Earlier System V curses implementations specified that
- with <STRONG>scrollok</STRONG> enabled, any window modification triggering
- a scroll also forced a physical refresh. XSI Curses does
- not require this, and <STRONG>ncurses</STRONG> avoids doing it to perform
- better vertical-motion optimization at <STRONG>wrefresh</STRONG> time.
-
- The XSI Curses standard does not mention that the cursor
- should be made invisible as a side-effect of <STRONG>leaveok</STRONG>.
- SVr4 curses documentation does this, but the code does
- not. Use <STRONG>curs_set</STRONG> to make the cursor invisible.
+ The XSI Curses standard does not mention that the cursor should be made
+ invisible as a side-effect of <STRONG>leaveok</STRONG>. SVr4 curses documentation does
+ this, but the code does not. Use <STRONG>curs_set</STRONG> to make the cursor invisi-
+ ble.
-</PRE>
-<H2>NOTES</H2><PRE>
- Note that <STRONG>clearok</STRONG>, <STRONG>leaveok</STRONG>, <STRONG>scrollok</STRONG>, <STRONG>idcok</STRONG>, <STRONG>nl</STRONG>, <STRONG>nonl</STRONG> and
- <STRONG>setscrreg</STRONG> may be macros.
+</PRE><H2><a name="h2-NOTES">NOTES</a></H2><PRE>
+ Note that <STRONG>clearok</STRONG>, <STRONG>leaveok</STRONG>, <STRONG>scrollok</STRONG>, <STRONG>idcok</STRONG>, <STRONG>nl</STRONG>, <STRONG>nonl</STRONG> and <STRONG>setscrreg</STRONG> may
+ be macros.
- The <STRONG>immedok</STRONG> routine is useful for windows that are used as
- terminal emulators.
+ The <STRONG>immedok</STRONG> routine is useful for windows that are used as terminal em-
+ ulators.
-</PRE>
-<H2>SEE ALSO</H2><PRE>
- <STRONG><A HREF="ncurses.3x.html">curses(3x)</A></STRONG>, <STRONG><A HREF="curs_addch.3x.html">curs_addch(3x)</A></STRONG>, <STRONG><A HREF="curs_clear.3x.html">curs_clear(3x)</A></STRONG>,
- <STRONG><A HREF="curs_initscr.3x.html">curs_initscr(3x)</A></STRONG>, <STRONG><A HREF="curs_scroll.3x.html">curs_scroll(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>.
+</PRE><H2><a name="h2-SEE-ALSO">SEE ALSO</a></H2><PRE>
+ <STRONG><A HREF="ncurses.3x.html">curses(3x)</A></STRONG>, <STRONG><A HREF="curs_addch.3x.html">curs_addch(3x)</A></STRONG>, <STRONG><A HREF="curs_clear.3x.html">curs_clear(3x)</A></STRONG>, <STRONG><A HREF="curs_initscr.3x.html">curs_initscr(3x)</A></STRONG>,
+ <STRONG><A HREF="curs_scroll.3x.html">curs_scroll(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="curs_outopts.3x.html">curs_outopts(3x)</A></STRONG>
+ <STRONG><A HREF="curs_outopts.3x.html">curs_outopts(3x)</A></STRONG>
</PRE>
-<HR>
-<ADDRESS>
-Man(1) output converted with
-<a href="http://www.oac.uci.edu/indiv/ehood/man2html.html">man2html</a>
-</ADDRESS>
+<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>
+<ul>
+<li><a href="#h3-clearok">clearok</a></li>
+<li><a href="#h3-idlok">idlok</a></li>
+<li><a href="#h3-idcok">idcok</a></li>
+<li><a href="#h3-immedok">immedok</a></li>
+<li><a href="#h3-leaveok">leaveok</a></li>
+<li><a href="#h3-setscrreg">setscrreg</a></li>
+<li><a href="#h3-scrollok">scrollok</a></li>
+<li><a href="#h3-nl_-nonl">nl, nonl</a></li>
+</ul>
+</li>
+<li><a href="#h2-RETURN-VALUE">RETURN VALUE</a></li>
+<li><a href="#h2-PORTABILITY">PORTABILITY</a></li>
+<li><a href="#h2-NOTES">NOTES</a></li>
+<li><a href="#h2-SEE-ALSO">SEE ALSO</a></li>
+</ul>
+</div>
</BODY>
</HTML>
diff --git a/doc/html/man/curs_overlay.3x.html b/doc/html/man/curs_overlay.3x.html
index 4adbfb7ff553..130796744a31 100644
--- a/doc/html/man/curs_overlay.3x.html
+++ b/doc/html/man/curs_overlay.3x.html
@@ -1,7 +1,6 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN">
<!--
****************************************************************************
- * Copyright (c) 1998-2010,2013 Free Software Foundation, Inc. *
+ * Copyright (c) 1998-2013,2015 Free Software Foundation, Inc. *
* *
* Permission is hereby granted, free of charge, to any person obtaining a *
* copy of this software and associated documentation files (the *
@@ -27,96 +26,102 @@
* sale, use or other dealings in this Software without prior written *
* authorization. *
****************************************************************************
- * @Id: curs_overlay.3x,v 1.17 2013/04/06 23:48:51 tom Exp @
+ * @Id: curs_overlay.3x,v 1.18 2015/07/21 00:51:31 tom Exp @
-->
+<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN">
<HTML>
<HEAD>
+<meta http-equiv="Content-Type" content="text/html; charset=us-ascii">
+<meta name="generator" content="Manpage converted by man2html - see https://invisible-island.net/scripts/readme.html#others_scripts">
<TITLE>curs_overlay 3x</TITLE>
-<link rev=made href="mailto:bug-ncurses@gnu.org">
+<link rel="author" href="mailto:bug-ncurses@gnu.org">
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
</HEAD>
<BODY>
-<H1>curs_overlay 3x</H1>
-<HR>
+<H1 class="no-header">curs_overlay 3x</H1>
<PRE>
-<!-- Manpage converted by man2html 3.0.1 -->
-<STRONG><A HREF="curs_overlay.3x.html">curs_overlay(3x)</A></STRONG> <STRONG><A HREF="curs_overlay.3x.html">curs_overlay(3x)</A></STRONG>
+<STRONG><A HREF="curs_overlay.3x.html">curs_overlay(3x)</A></STRONG> <STRONG><A HREF="curs_overlay.3x.html">curs_overlay(3x)</A></STRONG>
-</PRE>
-<H2>NAME</H2><PRE>
- <STRONG>overlay</STRONG>, <STRONG>overwrite</STRONG>, <STRONG>copywin</STRONG> - overlay and manipulate
- overlapped <STRONG>curses</STRONG> windows
+</PRE><H2><a name="h2-NAME">NAME</a></H2><PRE>
+ <STRONG>overlay</STRONG>, <STRONG>overwrite</STRONG>, <STRONG>copywin</STRONG> - overlay and manipulate overlapped <STRONG>curses</STRONG>
+ windows
-</PRE>
-<H2>SYNOPSIS</H2><PRE>
+</PRE><H2><a name="h2-SYNOPSIS">SYNOPSIS</a></H2><PRE>
<STRONG>#include</STRONG> <STRONG>&lt;curses.h&gt;</STRONG>
- <STRONG>int</STRONG> <STRONG>overlay(const</STRONG> <STRONG>WINDOW</STRONG> <STRONG>*srcwin,</STRONG> <STRONG>WINDOW</STRONG> <STRONG>*dstwin);</STRONG>
- <STRONG>int</STRONG> <STRONG>overwrite(const</STRONG> <STRONG>WINDOW</STRONG> <STRONG>*srcwin,</STRONG> <STRONG>WINDOW</STRONG> <STRONG>*dstwin);</STRONG>
- <STRONG>int</STRONG> <STRONG>copywin(const</STRONG> <STRONG>WINDOW</STRONG> <STRONG>*srcwin,</STRONG> <STRONG>WINDOW</STRONG> <STRONG>*dstwin,</STRONG> <STRONG>int</STRONG>
- <STRONG>sminrow,</STRONG>
- <STRONG>int</STRONG> <STRONG>smincol,</STRONG> <STRONG>int</STRONG> <STRONG>dminrow,</STRONG> <STRONG>int</STRONG> <STRONG>dmincol,</STRONG> <STRONG>int</STRONG> <STRONG>dmaxrow,</STRONG>
- <STRONG>int</STRONG> <STRONG>dmaxcol,</STRONG> <STRONG>int</STRONG> <STRONG>overlay);</STRONG>
+ <STRONG>int</STRONG> <STRONG>overlay(const</STRONG> <STRONG>WINDOW</STRONG> <STRONG>*</STRONG><EM>srcwin</EM><STRONG>,</STRONG> <STRONG>WINDOW</STRONG> <STRONG>*</STRONG><EM>dstwin</EM><STRONG>);</STRONG>
+ <STRONG>int</STRONG> <STRONG>overwrite(const</STRONG> <STRONG>WINDOW</STRONG> <STRONG>*</STRONG><EM>srcwin</EM><STRONG>,</STRONG> <STRONG>WINDOW</STRONG> <STRONG>*</STRONG><EM>dstwin</EM><STRONG>);</STRONG>
+ <STRONG>int</STRONG> <STRONG>copywin(const</STRONG> <STRONG>WINDOW</STRONG> <STRONG>*</STRONG><EM>srcwin</EM><STRONG>,</STRONG> <STRONG>WINDOW</STRONG> <STRONG>*</STRONG><EM>dstwin</EM><STRONG>,</STRONG> <STRONG>int</STRONG> <EM>sminrow</EM><STRONG>,</STRONG>
+ <STRONG>int</STRONG> <EM>smincol</EM><STRONG>,</STRONG> <STRONG>int</STRONG> <EM>dminrow</EM><STRONG>,</STRONG> <STRONG>int</STRONG> <EM>dmincol</EM><STRONG>,</STRONG> <STRONG>int</STRONG> <EM>dmaxrow</EM><STRONG>,</STRONG>
+ <STRONG>int</STRONG> <EM>dmaxcol</EM><STRONG>,</STRONG> <STRONG>int</STRONG> <EM>overlay</EM><STRONG>);</STRONG>
-</PRE>
-<H2>DESCRIPTION</H2><PRE>
- The <STRONG>overlay</STRONG> and <STRONG>overwrite</STRONG> routines overlay <EM>srcwin</EM> on top
- of <EM>dstwin</EM>. <EM>scrwin</EM> and <EM>dstwin</EM> are not required to be the
- same size; only text where the two windows overlap is
- copied. The difference is that <STRONG>overlay</STRONG> is non-destructive
- (blanks are not copied) whereas <STRONG>overwrite</STRONG> is destructive.
-
- The <STRONG>copywin</STRONG> routine provides a finer granularity of con-
- trol over the <STRONG>overlay</STRONG> and <STRONG>overwrite</STRONG> routines. As in the
- <STRONG>prefresh</STRONG> routine, a rectangle is specified in the destina-
- tion window, (<EM>dminrow</EM>, <EM>dmincol</EM>) and (<EM>dmaxrow</EM>, <EM>dmaxcol</EM>),
- and the upper-left-corner coordinates of the source win-
- dow, (<EM>sminrow</EM>, <EM>smincol</EM>). If the argument <EM>overlay</EM> is <STRONG>true</STRONG>,
- then copying is non-destructive, as in <STRONG>overlay</STRONG>.
+</PRE><H2><a name="h2-DESCRIPTION">DESCRIPTION</a></H2><PRE>
+</PRE><H3><a name="h3-overlay_-overwrite">overlay, overwrite</a></H3><PRE>
+ The <STRONG>overlay</STRONG> and <STRONG>overwrite</STRONG> routines overlay <EM>srcwin</EM> on top of <EM>dstwin</EM>.
+ <EM>scrwin</EM> and <EM>dstwin</EM> are not required to be the same size; only text where
+ the two windows overlap is copied. The difference is that <STRONG>overlay</STRONG> is
+ non-destructive (blanks are not copied) whereas <STRONG>overwrite</STRONG> is destruc-
+ tive.
-</PRE>
-<H2>RETURN VALUE</H2><PRE>
- Routines that return an integer return <STRONG>ERR</STRONG> upon failure,
- and <STRONG>OK</STRONG> (SVr4 only specifies "an integer value other than
- <STRONG>ERR</STRONG>") upon successful completion.
- X/Open defines no error conditions. In this implementa-
- tion, <STRONG>copywin</STRONG>, <STRONG>overlay</STRONG> and <STRONG>overwrite</STRONG> return an error if
- either of the window pointers are null, or if some part of
- the window would be placed off-screen.
+</PRE><H3><a name="h3-copywin">copywin</a></H3><PRE>
+ The <STRONG>copywin</STRONG> routine provides a finer granularity of control over the
+ <STRONG>overlay</STRONG> and <STRONG>overwrite</STRONG> routines. As in the <STRONG>prefresh</STRONG> routine, a rectan-
+ gle is specified in the destination window, (<EM>dminrow</EM>, <EM>dmincol</EM>) and
+ (<EM>dmaxrow</EM>, <EM>dmaxcol</EM>), and the upper-left-corner coordinates of the source
+ window, (<EM>sminrow</EM>, <EM>smincol</EM>). If the argument <EM>overlay</EM> is <STRONG>true</STRONG>, then
+ copying is non-destructive, as in <STRONG>overlay</STRONG>.
-</PRE>
-<H2>NOTES</H2><PRE>
+</PRE><H2><a name="h2-RETURN-VALUE">RETURN VALUE</a></H2><PRE>
+ Routines that return an integer return <STRONG>ERR</STRONG> upon failure, and <STRONG>OK</STRONG> (SVr4
+ only specifies "an integer value other than <STRONG>ERR</STRONG>") upon successful com-
+ pletion.
+
+ X/Open defines no error conditions. In this implementation, <STRONG>copywin</STRONG>,
+ <STRONG>overlay</STRONG> and <STRONG>overwrite</STRONG> return an error if either of the window pointers
+ are null, or if some part of the window would be placed off-screen.
+
+
+</PRE><H2><a name="h2-NOTES">NOTES</a></H2><PRE>
Note that <STRONG>overlay</STRONG> and <STRONG>overwrite</STRONG> may be macros.
-</PRE>
-<H2>PORTABILITY</H2><PRE>
- The XSI Curses standard, Issue 4 describes these functions
- (adding the const qualifiers). It further specifies their
- behavior in the presence of characters with multibyte ren-
- ditions (not yet supported in this implementation).
+</PRE><H2><a name="h2-PORTABILITY">PORTABILITY</a></H2><PRE>
+ The XSI Curses standard, Issue 4 describes these functions (adding the
+ const qualifiers). It further specifies their behavior in the presence
+ of characters with multibyte renditions (not yet supported in this im-
+ plementation).
-</PRE>
-<H2>SEE ALSO</H2><PRE>
+</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_pad.3x.html">curs_pad(3x)</A></STRONG>, <STRONG><A HREF="curs_refresh.3x.html">curs_refresh(3x)</A></STRONG>
- <STRONG><A HREF="curs_overlay.3x.html">curs_overlay(3x)</A></STRONG>
+ <STRONG><A HREF="curs_overlay.3x.html">curs_overlay(3x)</A></STRONG>
</PRE>
-<HR>
-<ADDRESS>
-Man(1) output converted with
-<a href="http://www.oac.uci.edu/indiv/ehood/man2html.html">man2html</a>
-</ADDRESS>
+<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>
+<ul>
+<li><a href="#h3-overlay_-overwrite">overlay, overwrite</a></li>
+<li><a href="#h3-copywin">copywin</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-PORTABILITY">PORTABILITY</a></li>
+<li><a href="#h2-SEE-ALSO">SEE ALSO</a></li>
+</ul>
+</div>
</BODY>
</HTML>
diff --git a/doc/html/man/curs_pad.3x.html b/doc/html/man/curs_pad.3x.html
index c9e2c6f7c3a9..70378c52dc64 100644
--- a/doc/html/man/curs_pad.3x.html
+++ b/doc/html/man/curs_pad.3x.html
@@ -1,7 +1,6 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN">
<!--
****************************************************************************
- * Copyright (c) 1998-2005,2010 Free Software Foundation, Inc. *
+ * Copyright (c) 1998-2017,2018 Free Software Foundation, Inc. *
* *
* Permission is hereby granted, free of charge, to any person obtaining a *
* copy of this software and associated documentation files (the *
@@ -27,158 +26,231 @@
* sale, use or other dealings in this Software without prior written *
* authorization. *
****************************************************************************
- * @Id: curs_pad.3x,v 1.17 2010/12/04 18:41:07 tom Exp @
+ * @Id: curs_pad.3x,v 1.25 2018/07/28 22:20:54 tom Exp @
-->
+<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN">
<HTML>
<HEAD>
+<meta http-equiv="Content-Type" content="text/html; charset=us-ascii">
+<meta name="generator" content="Manpage converted by man2html - see https://invisible-island.net/scripts/readme.html#others_scripts">
<TITLE>curs_pad 3x</TITLE>
-<link rev=made href="mailto:bug-ncurses@gnu.org">
+<link rel="author" href="mailto:bug-ncurses@gnu.org">
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
</HEAD>
<BODY>
-<H1>curs_pad 3x</H1>
-<HR>
+<H1 class="no-header">curs_pad 3x</H1>
<PRE>
-<!-- Manpage converted by man2html 3.0.1 -->
-<STRONG><A HREF="curs_pad.3x.html">curs_pad(3x)</A></STRONG> <STRONG><A HREF="curs_pad.3x.html">curs_pad(3x)</A></STRONG>
+<STRONG><A HREF="curs_pad.3x.html">curs_pad(3x)</A></STRONG> <STRONG><A HREF="curs_pad.3x.html">curs_pad(3x)</A></STRONG>
-</PRE>
-<H2>NAME</H2><PRE>
- <STRONG>newpad</STRONG>, <STRONG>subpad</STRONG>, <STRONG>prefresh</STRONG>, <STRONG>pnoutrefresh</STRONG>, <STRONG>pechochar</STRONG>,
- <STRONG>pecho_wchar</STRONG> - create and display <STRONG>curses</STRONG> pads
+</PRE><H2><a name="h2-NAME">NAME</a></H2><PRE>
+ <STRONG>newpad</STRONG>, <STRONG>subpad</STRONG>, <STRONG>prefresh</STRONG>, <STRONG>pnoutrefresh</STRONG>, <STRONG>pechochar</STRONG>, <STRONG>pecho_wchar</STRONG> - create
+ and display <STRONG>curses</STRONG> pads
-</PRE>
-<H2>SYNOPSIS</H2><PRE>
+</PRE><H2><a name="h2-SYNOPSIS">SYNOPSIS</a></H2><PRE>
<STRONG>#include</STRONG> <STRONG>&lt;curses.h&gt;</STRONG>
- <STRONG>WINDOW</STRONG> <STRONG>*newpad(int</STRONG> <STRONG>nlines,</STRONG> <STRONG>int</STRONG> <STRONG>ncols);</STRONG>
- <STRONG>WINDOW</STRONG> <STRONG>*subpad(WINDOW</STRONG> <STRONG>*orig,</STRONG> <STRONG>int</STRONG> <STRONG>nlines,</STRONG> <STRONG>int</STRONG> <STRONG>ncols,</STRONG>
- <STRONG>int</STRONG> <STRONG>begin_y,</STRONG> <STRONG>int</STRONG> <STRONG>begin_x);</STRONG>
- <STRONG>int</STRONG> <STRONG>prefresh(WINDOW</STRONG> <STRONG>*pad,</STRONG> <STRONG>int</STRONG> <STRONG>pminrow,</STRONG> <STRONG>int</STRONG> <STRONG>pmincol,</STRONG>
- <STRONG>int</STRONG> <STRONG>sminrow,</STRONG> <STRONG>int</STRONG> <STRONG>smincol,</STRONG> <STRONG>int</STRONG> <STRONG>smaxrow,</STRONG> <STRONG>int</STRONG> <STRONG>smaxcol);</STRONG>
- <STRONG>int</STRONG> <STRONG>pnoutrefresh(WINDOW</STRONG> <STRONG>*pad,</STRONG> <STRONG>int</STRONG> <STRONG>pminrow,</STRONG> <STRONG>int</STRONG> <STRONG>pmincol,</STRONG>
- <STRONG>int</STRONG> <STRONG>sminrow,</STRONG> <STRONG>int</STRONG> <STRONG>smincol,</STRONG> <STRONG>int</STRONG> <STRONG>smaxrow,</STRONG> <STRONG>int</STRONG> <STRONG>smaxcol);</STRONG>
- <STRONG>int</STRONG> <STRONG>pechochar(WINDOW</STRONG> <STRONG>*pad,</STRONG> <STRONG>chtype</STRONG> <STRONG>ch);</STRONG>
- <STRONG>int</STRONG> <STRONG>pecho_wchar(WINDOW</STRONG> <STRONG>*pad,</STRONG> <STRONG>const</STRONG> <STRONG>cchar_t</STRONG> <STRONG>*wch);</STRONG>
+ <STRONG>WINDOW</STRONG> <STRONG>*newpad(int</STRONG> <EM>nlines</EM><STRONG>,</STRONG> <STRONG>int</STRONG> <EM>ncols</EM><STRONG>);</STRONG>
+ <STRONG>WINDOW</STRONG> <STRONG>*subpad(WINDOW</STRONG> <STRONG>*</STRONG><EM>orig</EM><STRONG>,</STRONG> <STRONG>int</STRONG> <EM>nlines</EM><STRONG>,</STRONG> <STRONG>int</STRONG> <EM>ncols</EM><STRONG>,</STRONG>
+ <STRONG>int</STRONG> <EM>begin</EM><STRONG>_</STRONG><EM>y</EM><STRONG>,</STRONG> <STRONG>int</STRONG> <EM>begin</EM><STRONG>_</STRONG><EM>x</EM><STRONG>);</STRONG>
+ <STRONG>int</STRONG> <STRONG>prefresh(WINDOW</STRONG> <STRONG>*</STRONG><EM>pad</EM><STRONG>,</STRONG> <STRONG>int</STRONG> <EM>pminrow</EM><STRONG>,</STRONG> <STRONG>int</STRONG> <EM>pmincol</EM><STRONG>,</STRONG>
+ <STRONG>int</STRONG> <EM>sminrow</EM><STRONG>,</STRONG> <STRONG>int</STRONG> <EM>smincol</EM><STRONG>,</STRONG> <STRONG>int</STRONG> <EM>smaxrow</EM><STRONG>,</STRONG> <STRONG>int</STRONG> <EM>smaxcol</EM><STRONG>);</STRONG>
+ <STRONG>int</STRONG> <STRONG>pnoutrefresh(WINDOW</STRONG> <STRONG>*</STRONG><EM>pad</EM><STRONG>,</STRONG> <STRONG>int</STRONG> <EM>pminrow</EM><STRONG>,</STRONG> <STRONG>int</STRONG> <EM>pmincol</EM><STRONG>,</STRONG>
+ <STRONG>int</STRONG> <EM>sminrow</EM><STRONG>,</STRONG> <STRONG>int</STRONG> <EM>smincol</EM><STRONG>,</STRONG> <STRONG>int</STRONG> <EM>smaxrow</EM><STRONG>,</STRONG> <STRONG>int</STRONG> <EM>smaxcol</EM><STRONG>);</STRONG>
+ <STRONG>int</STRONG> <STRONG>pechochar(WINDOW</STRONG> <STRONG>*</STRONG><EM>pad</EM><STRONG>,</STRONG> <STRONG>chtype</STRONG> <EM>ch</EM><STRONG>);</STRONG>
+ <STRONG>int</STRONG> <STRONG>pecho_wchar(WINDOW</STRONG> <STRONG>*</STRONG><EM>pad</EM><STRONG>,</STRONG> <STRONG>const</STRONG> <STRONG>cchar_t</STRONG> <STRONG>*</STRONG><EM>wch</EM><STRONG>);</STRONG>
-</PRE>
-<H2>DESCRIPTION</H2><PRE>
- The <STRONG>newpad</STRONG> routine creates and returns a pointer to a new
- pad data structure with the given number of lines, <EM>nlines</EM>,
- and columns, <EM>ncols</EM>. A pad is like a window, except that
- it is not restricted by the screen size, and is not neces-
- sarily associated with a particular part of the screen.
- Pads can be used when a large window is needed, and only a
- part of the window will be on the screen at one time. Au-
- tomatic refreshes of pads (e.g., from scrolling or echoing
- of input) do not occur. It is not legal to call <STRONG>wrefresh</STRONG>
- with a <EM>pad</EM> as an argument; the routines <STRONG>prefresh</STRONG> or
- <STRONG>pnoutrefresh</STRONG> should be called instead. Note that these
- routines require additional parameters to specify the part
- of the pad to be displayed and the location on the screen
- to be used for the display.
-
- The <STRONG>subpad</STRONG> routine creates and returns a pointer to a sub-
- window within a pad with the given number of lines,
- <EM>nlines</EM>, and columns, <EM>ncols</EM>. Unlike <STRONG>subwin</STRONG>, which uses
- screen coordinates, the window is at position (<EM>begin</EM>_<EM>x</EM><STRONG>,</STRONG>
- <EM>begin</EM>_<EM>y</EM>) on the pad. The window is made in the middle of
- the window <EM>orig</EM>, so that changes made to one window affect
- both windows. During the use of this routine, it will of-
- ten be necessary to call <STRONG>touchwin</STRONG> or <STRONG>touchline</STRONG> on <EM>orig</EM> be-
- fore calling <STRONG>prefresh</STRONG>.
-
- The <STRONG>prefresh</STRONG> and <STRONG>pnoutrefresh</STRONG> routines are analogous to
- <STRONG>wrefresh</STRONG> and <STRONG>wnoutrefresh</STRONG> except that they relate to pads
- instead of windows. The additional parameters are needed
- to indicate what part of the pad and screen are involved.
- The <EM>pminrow</EM> and <EM>pmincol</EM> parameters specify the upper left-
- hand corner of the rectangle to be displayed in the pad.
- The <EM>sminrow</EM>, <EM>smincol</EM>, <EM>smaxrow</EM>, and <EM>smaxcol</EM> parameters
- specify the edges of the rectangle to be displayed on the
- screen. The lower right-hand corner of the rectangle to
- be displayed in the pad is calculated from the screen co-
- ordinates, since the rectangles must be the same size.
- Both rectangles must be entirely contained within their
- respective structures. Negative values of <EM>pminrow</EM>, <EM>pmin-</EM>
- <EM>col</EM>, <EM>sminrow</EM>, or <EM>smincol</EM> are treated as if they were zero.
-
- The <STRONG>pechochar</STRONG> routine is functionally equivalent to a call
- to <STRONG>addch</STRONG> followed by a call to <STRONG>refresh</STRONG>, a call to <STRONG>waddch</STRONG>
- followed by a call to <STRONG>wrefresh</STRONG>, or a call to <STRONG>waddch</STRONG> fol-
- lowed by a call to <STRONG>prefresh</STRONG>. The knowledge that only a
- single character is being output is taken into considera-
- tion and, for non-control characters, a considerable per-
- formance gain might be seen by using these routines in-
- stead of their equivalents. In the case of <STRONG>pechochar</STRONG>, the
- last location of the pad on the screen is reused for the
- arguments to <STRONG>prefresh</STRONG>.
-
- The <STRONG>pecho_wchar</STRONG> function is the analogous wide-character
- form of <STRONG>pechochar</STRONG>. It outputs one character to a pad and
- immediately refreshes the pad. It does this by a call to
- <STRONG>wadd_wch</STRONG> followed by a call to <STRONG>prefresh</STRONG>.
+</PRE><H2><a name="h2-DESCRIPTION">DESCRIPTION</a></H2><PRE>
+</PRE><H3><a name="h3-newpad">newpad</a></H3><PRE>
+ The <STRONG>newpad</STRONG> routine creates and returns a pointer to a new pad data
+ structure with the given number of lines, <EM>nlines</EM>, and columns, <EM>ncols</EM>.
+ A pad is like a window, except that it is not restricted by the screen
+ size, and is not necessarily associated with a particular part of the
+ screen. Pads can be used when a large window is needed, and only a
+ part of the window will be on the screen at one time. Automatic re-
+ freshes of pads (e.g., from scrolling or echoing of input) do not oc-
+ cur.
-</PRE>
-<H2>RETURN VALUE</H2><PRE>
- Routines that return an integer return <STRONG>ERR</STRONG> upon failure
- and <STRONG>OK</STRONG> (SVr4 only specifies "an integer value other than
- <STRONG>ERR</STRONG>") upon successful completion.
+ It is not legal to call <STRONG>wrefresh</STRONG> with a <EM>pad</EM> as an argument; the rou-
+ tines <STRONG>prefresh</STRONG> or <STRONG>pnoutrefresh</STRONG> should be called instead. Note that
+ these routines require additional parameters to specify the part of the
+ pad to be displayed and the location on the screen to be used for the
+ display.
- Routines that return pointers return <STRONG>NULL</STRONG> on error, and
- set <STRONG>errno</STRONG> to <STRONG>ENOMEM</STRONG>.
- X/Open does not define any error conditions. In this im-
- plementation
+</PRE><H3><a name="h3-subpad">subpad</a></H3><PRE>
+ The <STRONG>subpad</STRONG> routine creates and returns a pointer to a subwindow within
+ a pad with the given number of lines, <EM>nlines</EM>, and columns, <EM>ncols</EM>. Un-
+ like <STRONG>subwin</STRONG>, which uses screen coordinates, the window is at position
+ (<EM>begin</EM>_<EM>x</EM><STRONG>,</STRONG> <EM>begin</EM>_<EM>y</EM>) on the pad. The window is made in the middle of the
+ window <EM>orig</EM>, so that changes made to one window affect both windows.
+ During the use of this routine, it will often be necessary to call
+ <STRONG>touchwin</STRONG> or <STRONG>touchline</STRONG> on <EM>orig</EM> before calling <STRONG>prefresh</STRONG>.
- <STRONG>prefresh</STRONG> and <STRONG>pnoutrefresh</STRONG>
- return an error if the window pointer is null,
- or if the window is not really a pad or if the
- area to refresh extends off-screen or if the
- minimum coordinates are greater than the maxi-
- mum.
- <STRONG>pechochar</STRONG>
- returns an error if the window is not really a
- pad, and the associated call to <STRONG>wechochar</STRONG> re-
- turns an error.
+</PRE><H3><a name="h3-prefresh_-pnoutrefresh">prefresh, pnoutrefresh</a></H3><PRE>
+ The <STRONG>prefresh</STRONG> and <STRONG>pnoutrefresh</STRONG> routines are analogous to <STRONG>wrefresh</STRONG> and
+ <STRONG>wnoutrefresh</STRONG> except that they relate to pads instead of windows. The
+ additional parameters are needed to indicate what part of the pad and
+ screen are involved.
- <STRONG>pecho_wchar</STRONG>
- returns an error if the window is not really a
- pad, and the associated call to <STRONG>wecho_wchar</STRONG>
- returns an error.
+ <STRONG>o</STRONG> The <EM>pminrow</EM> and <EM>pmincol</EM> parameters specify the upper left-hand cor-
+ ner of the rectangle to be displayed in the pad.
+ <STRONG>o</STRONG> The <EM>sminrow</EM>, <EM>smincol</EM>, <EM>smaxrow</EM>, and <EM>smaxcol</EM> parameters specify the
+ edges of the rectangle to be displayed on the screen.
-</PRE>
-<H2>NOTES</H2><PRE>
+ The lower right-hand corner of the rectangle to be displayed in the pad
+ is calculated from the screen coordinates, since the rectangles must be
+ the same size. Both rectangles must be entirely contained within their
+ respective structures. Negative values of <EM>pminrow</EM>, <EM>pmincol</EM>, <EM>sminrow</EM>,
+ or <EM>smincol</EM> are treated as if they were zero.
+
+
+</PRE><H3><a name="h3-pechochar">pechochar</a></H3><PRE>
+ The <STRONG>pechochar</STRONG> routine is functionally equivalent to a call to <STRONG>addch</STRONG>
+ followed by a call to <STRONG><A HREF="curs_refresh.3x.html">refresh(3x)</A></STRONG>, a call to <STRONG>waddch</STRONG> followed by a call
+ to <STRONG>wrefresh</STRONG>, or a call to <STRONG>waddch</STRONG> followed by a call to <STRONG>prefresh</STRONG>. The
+ knowledge that only a single character is being output is taken into
+ consideration and, for non-control characters, a considerable perfor-
+ mance gain might be seen by using these routines instead of their
+ equivalents. In the case of <STRONG>pechochar</STRONG>, the last location of the pad on
+ the screen is reused for the arguments to <STRONG>prefresh</STRONG>.
+
+
+</PRE><H3><a name="h3-pecho_wchar">pecho_wchar</a></H3><PRE>
+ The <STRONG>pecho_wchar</STRONG> function is the analogous wide-character form of <STRONG>pe-</STRONG>
+ <STRONG>chochar</STRONG>. It outputs one character to a pad and immediately refreshes
+ the pad. It does this by a call to <STRONG>wadd_wch</STRONG> followed by a call to <STRONG>pre-</STRONG>
+ <STRONG>fresh</STRONG>.
+
+
+</PRE><H2><a name="h2-RETURN-VALUE">RETURN VALUE</a></H2><PRE>
+ Routines that return an integer return <STRONG>ERR</STRONG> upon failure and <STRONG>OK</STRONG> (SVr4
+ only specifies "an integer value other than <STRONG>ERR</STRONG>") upon successful com-
+ pletion.
+
+ Routines that return pointers return <STRONG>NULL</STRONG> on error, and set <STRONG>errno</STRONG> to
+ <STRONG>ENOMEM</STRONG>.
+
+ X/Open does not define any error conditions. In this implementation
+
+ <STRONG>prefresh</STRONG> and <STRONG>pnoutrefresh</STRONG>
+ return an error if the window pointer is null, or if the window
+ is not really a pad or if the area to refresh extends off-
+ screen or if the minimum coordinates are greater than the maxi-
+ mum.
+
+ <STRONG>pechochar</STRONG>
+ returns an error if the window is not really a pad, and the as-
+ sociated call to <STRONG>wechochar</STRONG> returns an error.
+
+ <STRONG>pecho_wchar</STRONG>
+ returns an error if the window is not really a pad, and the as-
+ sociated call to <STRONG>wecho_wchar</STRONG> returns an error.
+
+
+</PRE><H2><a name="h2-NOTES">NOTES</a></H2><PRE>
Note that <STRONG>pechochar</STRONG> may be a macro.
-</PRE>
-<H2>PORTABILITY</H2><PRE>
- The XSI Curses standard, Issue 4 describes these func-
- tions.
+</PRE><H2><a name="h2-PORTABILITY">PORTABILITY</a></H2><PRE>
+ BSD curses has no <EM>pad</EM> feature.
+ SVr2 curses (1986) provided the <STRONG>newpad</STRONG> and related functions, document-
+ ing them in a single line each. SVr3 (1987) provided more extensive
+ documentation.
-</PRE>
-<H2>SEE ALSO</H2><PRE>
- <STRONG><A HREF="ncurses.3x.html">curses(3x)</A></STRONG>, <STRONG><A HREF="curs_refresh.3x.html">curs_refresh(3x)</A></STRONG>, <STRONG><A HREF="curs_touch.3x.html">curs_touch(3x)</A></STRONG>, <STRONG>curs_add-</STRONG>
- <STRONG><A HREF="curs_addch.3x.html">ch(3x)</A></STRONG>.
+ The documentation does not explain the term <EM>pad</EM>. However, the Apollo
+ <EM>Aegis</EM> workstation operating system supported a graphical <EM>pad</EM> feature:
+
+ <STRONG>o</STRONG> These graphical pads could be much larger than the computer's dis-
+ play.
+
+ <STRONG>o</STRONG> The read-only output from a command could be scrolled back to in-
+ spect, and select text from the pad.
+
+ The two uses may be related.
+
+ The XSI Curses standard, Issue 4 describes these functions, without
+ significant change from the SVr3 documentation. It describes no error
+ conditions. The behavior of <STRONG>subpad</STRONG> if the parent window is not a pad
+ is undocumented, and is not checked by the vendor Unix implementations:
+
+ <STRONG>o</STRONG> SVr4 curses sets a flag in the <STRONG>WINDOW</STRONG> structure in <STRONG>newpad</STRONG> which
+ tells if the window is a <EM>pad</EM>.
+
+ However, it uses this information only in <STRONG>waddch</STRONG> (to decide if it
+ should call <STRONG>wrefresh</STRONG>) and <STRONG>wscrl</STRONG> (to avoid scrolling a pad), and
+ does not check in <STRONG>wrefresh</STRONG> to ensure that the pad is refreshed
+ properly.
+
+ <STRONG>o</STRONG> Solaris X/Open Curses checks if a window is a pad in <STRONG>wnoutrefresh</STRONG>,
+ returning <STRONG>ERR</STRONG> in that case.
+
+ However, it only sets the flag for subwindows if the parent window
+ is a pad. Its <STRONG>newpad</STRONG> function does not set this information. Con-
+ sequently, the check will never fail.
+
+ It makes no comparable check in <STRONG>pnoutrefresh</STRONG>, though interestingly
+ enough, a comment in the source code states that the lack of a
+ check was an MKS extension.
+
+ <STRONG>o</STRONG> NetBSD 7 curses sets a flag in the <STRONG>WINDOW</STRONG> structure for <STRONG>newpad</STRONG> and
+ <STRONG>subpad</STRONG>, using this to help with the distinction between <STRONG>wnoutre-</STRONG>
+ <STRONG>fresh</STRONG> and <STRONG>pnoutrefresh</STRONG>.
+
+ It does not check for the case where a subwindow is created in a
+ pad using <STRONG>subwin</STRONG> or <STRONG>derwin</STRONG>.
+
+ The <STRONG>dupwin</STRONG> function returns a regular window when duplicating a
+ pad. Likewise, <STRONG>getwin</STRONG> always returns a window, even if the saved
+ data was from a pad.
+
+ This implementation
+
+ <STRONG>o</STRONG> sets a flag in the <STRONG>WINDOW</STRONG> structure for <STRONG>newpad</STRONG> and <STRONG>subpad</STRONG>,
+
+ <STRONG>o</STRONG> allows a <STRONG>subwin</STRONG> or <STRONG>derwin</STRONG> call to succeed having a pad parent by
+ forcing the subwindow to be a pad,
+
+ <STRONG>o</STRONG> checks in both <STRONG>wnoutrefresh</STRONG> and <STRONG>pnoutrefresh</STRONG> to ensure that pads
+ and windows are handled distinctly, and
+
+ <STRONG>o</STRONG> ensures that <STRONG>dupwin</STRONG> and <STRONG>getwin</STRONG> treat pads versus windows consis-
+ tently.
+
+
+</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_refresh.3x.html">curs_refresh(3x)</A></STRONG>, <STRONG><A HREF="curs_touch.3x.html">curs_touch(3x)</A></STRONG>, <STRONG><A HREF="curs_addch.3x.html">curs_addch(3x)</A></STRONG>.
- <STRONG><A HREF="curs_pad.3x.html">curs_pad(3x)</A></STRONG>
+ <STRONG><A HREF="curs_pad.3x.html">curs_pad(3x)</A></STRONG>
</PRE>
-<HR>
-<ADDRESS>
-Man(1) output converted with
-<a href="http://www.oac.uci.edu/indiv/ehood/man2html.html">man2html</a>
-</ADDRESS>
+<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>
+<ul>
+<li><a href="#h3-newpad">newpad</a></li>
+<li><a href="#h3-subpad">subpad</a></li>
+<li><a href="#h3-prefresh_-pnoutrefresh">prefresh, pnoutrefresh</a></li>
+<li><a href="#h3-pechochar">pechochar</a></li>
+<li><a href="#h3-pecho_wchar">pecho_wchar</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-PORTABILITY">PORTABILITY</a></li>
+<li><a href="#h2-SEE-ALSO">SEE ALSO</a></li>
+</ul>
+</div>
</BODY>
</HTML>
diff --git a/doc/html/man/curs_print.3x.html b/doc/html/man/curs_print.3x.html
index 14f53c1e1687..07d38e435b00 100644
--- a/doc/html/man/curs_print.3x.html
+++ b/doc/html/man/curs_print.3x.html
@@ -1,7 +1,6 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN">
<!--
****************************************************************************
- * Copyright (c) 1998-2006,2010 Free Software Foundation, Inc. *
+ * Copyright (c) 1998-2017,2018 Free Software Foundation, Inc. *
* *
* Permission is hereby granted, free of charge, to any person obtaining a *
* copy of this software and associated documentation files (the *
@@ -27,95 +26,89 @@
* sale, use or other dealings in this Software without prior written *
* authorization. *
****************************************************************************
- * @Id: curs_print.3x,v 1.10 2010/12/04 18:40:45 tom Exp @
+ * @Id: curs_print.3x,v 1.13 2018/07/28 21:34: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_print 3x</TITLE>
-<link rev=made href="mailto:bug-ncurses@gnu.org">
+<link rel="author" href="mailto:bug-ncurses@gnu.org">
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
</HEAD>
<BODY>
-<H1>curs_print 3x</H1>
-<HR>
+<H1 class="no-header">curs_print 3x</H1>
<PRE>
-<!-- Manpage converted by man2html 3.0.1 -->
-<STRONG><A HREF="curs_print.3x.html">curs_print(3x)</A></STRONG> <STRONG><A HREF="curs_print.3x.html">curs_print(3x)</A></STRONG>
+<STRONG><A HREF="curs_print.3x.html">curs_print(3x)</A></STRONG> <STRONG><A HREF="curs_print.3x.html">curs_print(3x)</A></STRONG>
-</PRE>
-<H2>NAME</H2><PRE>
+</PRE><H2><a name="h2-NAME">NAME</a></H2><PRE>
<STRONG>mcprint</STRONG> - ship binary data to printer
-</PRE>
-<H2>SYNOPSIS</H2><PRE>
+</PRE><H2><a name="h2-SYNOPSIS">SYNOPSIS</a></H2><PRE>
<STRONG>#include</STRONG> <STRONG>&lt;curses.h&gt;</STRONG>
<STRONG>int</STRONG> <STRONG>mcprint(char</STRONG> <STRONG>*data,</STRONG> <STRONG>int</STRONG> <STRONG>len);</STRONG>
-</PRE>
-<H2>DESCRIPTION</H2><PRE>
- This function uses the <STRONG>mc5p</STRONG> or <STRONG>mc4</STRONG> and <STRONG>mc5</STRONG> capabilities,
- if they are present, to ship given data to a printer
- attached to the terminal.
+</PRE><H2><a name="h2-DESCRIPTION">DESCRIPTION</a></H2><PRE>
+ This function uses the <STRONG>mc5p</STRONG> or <STRONG>mc4</STRONG> and <STRONG>mc5</STRONG> capabilities, if they are
+ present, to ship given data to a printer attached to the terminal.
- Note that the <STRONG>mcprint</STRONG> code has no way to do flow control
- with the printer or to know how much buffering it has.
- Your application is responsible for keeping the rate of
- writes to the printer below its continuous throughput rate
- (typically about half of its nominal cps rating). Dot-
- matrix printers and 6-page-per-minute lasers can typically
- handle 80cps, so a good conservative rule of thumb is to
- sleep for a second after shipping each 80-character line.
+ Note that the <STRONG>mcprint</STRONG> code has no way to do flow control with the
+ printer or to know how much buffering it has. Your application is
+ responsible for keeping the rate of writes to the printer below its
+ continuous throughput rate (typically about half of its nominal cps
+ rating). Dot-matrix printers and 6-page-per-minute lasers can typi-
+ cally handle 80cps, so a good conservative rule of thumb is to sleep
+ for a second after shipping each 80-character line.
-</PRE>
-<H2>RETURN VALUE</H2><PRE>
- The <STRONG>mcprint</STRONG> function returns <STRONG>ERR</STRONG> if the write operation
- aborted for some reason. In this case, errno will contain
- either an error associated with <STRONG>write(2)</STRONG> or one of the
- following:
+</PRE><H2><a name="h2-RETURN-VALUE">RETURN VALUE</a></H2><PRE>
+ The <STRONG>mcprint</STRONG> function returns <STRONG>ERR</STRONG> if the write operation aborted for
+ some reason. In this case, errno will contain either an error associ-
+ ated with <STRONG>write(2)</STRONG> or one of the following:
ENODEV
Capabilities for printer redirection do not exist.
ENOMEM
- Couldn't allocate sufficient memory to buffer the
- printer write.
+ Couldn't allocate sufficient memory to buffer the printer write.
- When <STRONG>mcprint</STRONG> succeeds, it returns the number of characters
- actually sent to the printer.
+ When <STRONG>mcprint</STRONG> succeeds, it returns the number of characters actually
+ sent to the printer.
-</PRE>
-<H2>PORTABILITY</H2><PRE>
- The <STRONG>mcprint</STRONG> call was designed for <STRONG><A HREF="ncurses.3x.html">ncurses(3x)</A></STRONG>, and is not
- found in SVr4 curses, 4.4BSD curses, or any other previous
- version of curses.
+</PRE><H2><a name="h2-PORTABILITY">PORTABILITY</a></H2><PRE>
+ The <STRONG>mcprint</STRONG> call was designed for <STRONG><A HREF="ncurses.3x.html">ncurses(3x)</A></STRONG>, and is not found in SVr4
+ curses, 4.4BSD curses, or any other previous version of curses.
-</PRE>
-<H2>BUGS</H2><PRE>
- Padding in the <STRONG>mc5p</STRONG>, <STRONG>mc4</STRONG> and <STRONG>mc5</STRONG> capabilities will not be
- interpreted.
+</PRE><H2><a name="h2-BUGS">BUGS</a></H2><PRE>
+ Padding in the <STRONG>mc5p</STRONG>, <STRONG>mc4</STRONG> and <STRONG>mc5</STRONG> capabilities will not be interpreted.
-</PRE>
-<H2>SEE ALSO</H2><PRE>
+</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_print.3x.html">curs_print(3x)</A></STRONG>
+ <STRONG><A HREF="curs_print.3x.html">curs_print(3x)</A></STRONG>
</PRE>
-<HR>
-<ADDRESS>
-Man(1) output converted with
-<a href="http://www.oac.uci.edu/indiv/ehood/man2html.html">man2html</a>
-</ADDRESS>
+<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>
+<li><a href="#h2-RETURN-VALUE">RETURN VALUE</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>
+</ul>
+</div>
</BODY>
</HTML>
diff --git a/doc/html/man/curs_printw.3x.html b/doc/html/man/curs_printw.3x.html
index 90b9f498d64d..994a1b5d6bca 100644
--- a/doc/html/man/curs_printw.3x.html
+++ b/doc/html/man/curs_printw.3x.html
@@ -1,7 +1,6 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN">
<!--
****************************************************************************
- * Copyright (c) 1998-2006,2010 Free Software Foundation, Inc. *
+ * Copyright (c) 1998-2018,2019 Free Software Foundation, Inc. *
* *
* Permission is hereby granted, free of charge, to any person obtaining a *
* copy of this software and associated documentation files (the *
@@ -27,100 +26,105 @@
* sale, use or other dealings in this Software without prior written *
* authorization. *
****************************************************************************
- * @Id: curs_printw.3x,v 1.20 2010/12/04 18:40:45 tom Exp @
+ * @Id: curs_printw.3x,v 1.24 2019/11/30 21:06:30 tom Exp @
-->
+<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN">
<HTML>
<HEAD>
+<meta http-equiv="Content-Type" content="text/html; charset=us-ascii">
+<meta name="generator" content="Manpage converted by man2html - see https://invisible-island.net/scripts/readme.html#others_scripts">
<TITLE>curs_printw 3x</TITLE>
-<link rev=made href="mailto:bug-ncurses@gnu.org">
+<link rel="author" href="mailto:bug-ncurses@gnu.org">
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
</HEAD>
<BODY>
-<H1>curs_printw 3x</H1>
-<HR>
+<H1 class="no-header">curs_printw 3x</H1>
<PRE>
-<!-- Manpage converted by man2html 3.0.1 -->
-<STRONG><A HREF="curs_printw.3x.html">curs_printw(3x)</A></STRONG> <STRONG><A HREF="curs_printw.3x.html">curs_printw(3x)</A></STRONG>
+<STRONG><A HREF="curs_printw.3x.html">curs_printw(3x)</A></STRONG> <STRONG><A HREF="curs_printw.3x.html">curs_printw(3x)</A></STRONG>
-</PRE>
-<H2>NAME</H2><PRE>
- <STRONG>printw</STRONG>, <STRONG>wprintw</STRONG>, <STRONG>mvprintw</STRONG>, <STRONG>mvwprintw</STRONG>, <STRONG>vwprintw</STRONG>, <STRONG>vw_printw</STRONG>
- - print formatted output in <STRONG>curses</STRONG> windows
+</PRE><H2><a name="h2-NAME">NAME</a></H2><PRE>
+ <STRONG>printw</STRONG>, <STRONG>wprintw</STRONG>, <STRONG>mvprintw</STRONG>, <STRONG>mvwprintw</STRONG>, <STRONG>vwprintw</STRONG>, <STRONG>vw_printw</STRONG> - print
+ formatted output in <STRONG>curses</STRONG> windows
-</PRE>
-<H2>SYNOPSIS</H2><PRE>
+</PRE><H2><a name="h2-SYNOPSIS">SYNOPSIS</a></H2><PRE>
<STRONG>#include</STRONG> <STRONG>&lt;curses.h&gt;</STRONG>
<STRONG>int</STRONG> <STRONG>printw(const</STRONG> <STRONG>char</STRONG> <STRONG>*fmt,</STRONG> <STRONG>...);</STRONG>
<STRONG>int</STRONG> <STRONG>wprintw(WINDOW</STRONG> <STRONG>*win,</STRONG> <STRONG>const</STRONG> <STRONG>char</STRONG> <STRONG>*fmt,</STRONG> <STRONG>...);</STRONG>
<STRONG>int</STRONG> <STRONG>mvprintw(int</STRONG> <STRONG>y,</STRONG> <STRONG>int</STRONG> <STRONG>x,</STRONG> <STRONG>const</STRONG> <STRONG>char</STRONG> <STRONG>*fmt,</STRONG> <STRONG>...);</STRONG>
- <STRONG>int</STRONG> <STRONG>mvwprintw(WINDOW</STRONG> <STRONG>*win,</STRONG> <STRONG>int</STRONG> <STRONG>y,</STRONG> <STRONG>int</STRONG> <STRONG>x,</STRONG> <STRONG>const</STRONG> <STRONG>char</STRONG> <STRONG>*fmt,</STRONG>
- <STRONG>...);</STRONG>
- <STRONG>int</STRONG> <STRONG>vwprintw(WINDOW</STRONG> <STRONG>*win,</STRONG> <STRONG>const</STRONG> <STRONG>char</STRONG> <STRONG>*fmt,</STRONG> <STRONG>va_list</STRONG> <STRONG>var-</STRONG>
- <STRONG>glist);</STRONG>
- <STRONG>int</STRONG> <STRONG>vw_printw(WINDOW</STRONG> <STRONG>*win,</STRONG> <STRONG>const</STRONG> <STRONG>char</STRONG> <STRONG>*fmt,</STRONG> <STRONG>va_list</STRONG> <STRONG>var-</STRONG>
- <STRONG>glist);</STRONG>
+ <STRONG>int</STRONG> <STRONG>mvwprintw(WINDOW</STRONG> <STRONG>*win,</STRONG> <STRONG>int</STRONG> <STRONG>y,</STRONG> <STRONG>int</STRONG> <STRONG>x,</STRONG> <STRONG>const</STRONG> <STRONG>char</STRONG> <STRONG>*fmt,</STRONG> <STRONG>...);</STRONG>
+ <STRONG>int</STRONG> <STRONG>vw_printw(WINDOW</STRONG> <STRONG>*win,</STRONG> <STRONG>const</STRONG> <STRONG>char</STRONG> <STRONG>*fmt,</STRONG> <STRONG>va_list</STRONG> <STRONG>varglist);</STRONG>
+ /* obsolete */
+ <STRONG>int</STRONG> <STRONG>vwprintw(WINDOW</STRONG> <STRONG>*win,</STRONG> <STRONG>const</STRONG> <STRONG>char</STRONG> <STRONG>*fmt,</STRONG> <STRONG>va_list</STRONG> <STRONG>varglist);</STRONG>
-</PRE>
-<H2>DESCRIPTION</H2><PRE>
- The <STRONG>printw</STRONG>, <STRONG>wprintw</STRONG>, <STRONG>mvprintw</STRONG> and <STRONG>mvwprintw</STRONG> routines are
- analogous to <STRONG>printf</STRONG> [see <STRONG>printf(3)</STRONG>]. In effect, the
- string that would be output by <STRONG>printf</STRONG> is output instead as
- though <STRONG>waddstr</STRONG> were used on the given window.
- The <STRONG>vwprintw</STRONG> and <STRONG>wv_printw</STRONG> routines are analogous to
- <STRONG>vprintf</STRONG> [see <STRONG>printf(3)</STRONG>] and perform a <STRONG>wprintw</STRONG> using a
- variable argument list. The third argument is a <STRONG>va_list</STRONG>,
- a pointer to a list of arguments, as defined in
- <STRONG>&lt;stdarg.h&gt;</STRONG>.
+</PRE><H2><a name="h2-DESCRIPTION">DESCRIPTION</a></H2><PRE>
+ The <STRONG>printw</STRONG>, <STRONG>wprintw</STRONG>, <STRONG>mvprintw</STRONG> and <STRONG>mvwprintw</STRONG> routines are analogous to
+ <STRONG>printf</STRONG> [see <STRONG>printf(3)</STRONG>]. In effect, the string that would be output by
+ <STRONG>printf</STRONG> is output instead as though <STRONG>waddstr</STRONG> were used on the given win-
+ dow.
+ The <STRONG>vwprintw</STRONG> and <STRONG>wv_printw</STRONG> routines are analogous to <STRONG>vprintf</STRONG> [see
+ <STRONG>printf(3)</STRONG>] and perform a <STRONG>wprintw</STRONG> using a variable argument list. The
+ third argument is a <STRONG>va_list</STRONG>, a pointer to a list of arguments, as de-
+ fined in <STRONG>&lt;stdarg.h&gt;</STRONG>.
-</PRE>
-<H2>RETURN VALUE</H2><PRE>
- Routines that return an integer return <STRONG>ERR</STRONG> upon failure
- and <STRONG>OK</STRONG> (SVr4 only specifies "an integer value other than
- <STRONG>ERR</STRONG>") upon successful completion.
- X/Open defines no error conditions. In this implementa-
- tion, an error may be returned if it cannot allocate
- enough memory for the buffer used to format the results.
- It will return an error if the window pointer is null.
+</PRE><H2><a name="h2-RETURN-VALUE">RETURN VALUE</a></H2><PRE>
+ Routines that return an integer return <STRONG>ERR</STRONG> upon failure and <STRONG>OK</STRONG> (SVr4
+ only specifies "an integer value other than <STRONG>ERR</STRONG>") upon successful com-
+ pletion.
- Functions with a "mv" prefix first perform a cursor move-
- ment using <STRONG>wmove</STRONG>, and return an error if the position is
- outside the window, or if the window pointer is null.
+ X/Open defines no error conditions. In this implementation, an error
+ may be returned if it cannot allocate enough memory for the buffer used
+ to format the results. It will return an error if the window pointer
+ is null.
+ Functions with a "mv" prefix first perform a cursor movement using
+ <STRONG>wmove</STRONG>, and return an error if the position is outside the window, or if
+ the window pointer is null.
-</PRE>
-<H2>PORTABILITY</H2><PRE>
- The XSI Curses standard, Issue 4 describes these func-
- tions. The function <STRONG>vwprintw</STRONG> is marked TO BE WITHDRAWN,
- and is to be replaced by a function <STRONG>vw_printw</STRONG> using the
- <STRONG>&lt;stdarg.h&gt;</STRONG> interface. The Single Unix Specification, Ver-
- sion 2 states that <STRONG>vw_printw</STRONG> is preferred to <STRONG>vwprintw</STRONG>
- since the latter requires including <STRONG>&lt;varargs.h&gt;</STRONG>, which
- cannot be used in the same file as <STRONG>&lt;stdarg.h&gt;</STRONG>. This im-
- plementation uses <STRONG>&lt;stdarg.h&gt;</STRONG> for both, because that header
- is included in <STRONG>&lt;curses.h</STRONG>&gt;.
+</PRE><H2><a name="h2-PORTABILITY">PORTABILITY</a></H2><PRE>
+ In this implementation, <STRONG>vw_printw</STRONG> and <STRONG>vwprintw</STRONG> are equivalent, to sup-
+ port legacy applications. However, the latter (<STRONG>vwprintw</STRONG>) is obsolete:
-</PRE>
-<H2>SEE ALSO</H2><PRE>
- <STRONG><A HREF="ncurses.3x.html">curses(3x)</A></STRONG>, <STRONG>printf(3)</STRONG>, <STRONG>vprintf(3)</STRONG>
+ <STRONG>o</STRONG> The XSI Curses standard, Issue 4 described these functions. The
+ function <STRONG>vwprintw</STRONG> is marked TO BE WITHDRAWN, and is to be replaced
+ by a function <STRONG>vw_printw</STRONG> using the <STRONG>&lt;stdarg.h&gt;</STRONG> interface.
+
+ <STRONG>o</STRONG> The Single Unix Specification, Version 2 states that <STRONG>vw_printw</STRONG> is
+ preferred to <STRONG>vwprintw</STRONG> since the latter requires including
+ <STRONG>&lt;varargs.h&gt;</STRONG>, which cannot be used in the same file as <STRONG>&lt;stdarg.h&gt;</STRONG>.
+ This implementation uses <STRONG>&lt;stdarg.h&gt;</STRONG> for both, because that header
+ is included in <STRONG>&lt;curses.h</STRONG>&gt;.
+
+ <STRONG>o</STRONG> X/Open Curses, Issue 5 (December 2007) marked <STRONG>vwprintw</STRONG> (along with
+ <STRONG>vwscanw</STRONG> and the termcap interface) as withdrawn.
+
+
+</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_addstr.3x.html">curs_addstr(3x)</A></STRONG>, <STRONG><A HREF="curs_scanw.3x.html">curs_scanw(3x)</A></STRONG>, <STRONG><A HREF="curs_termcap.3x.html">curs_termcap(3x)</A></STRONG>,
+ <STRONG>printf(3)</STRONG>, <STRONG>vprintf(3)</STRONG>.
- <STRONG><A HREF="curs_printw.3x.html">curs_printw(3x)</A></STRONG>
+ <STRONG><A HREF="curs_printw.3x.html">curs_printw(3x)</A></STRONG>
</PRE>
-<HR>
-<ADDRESS>
-Man(1) output converted with
-<a href="http://www.oac.uci.edu/indiv/ehood/man2html.html">man2html</a>
-</ADDRESS>
+<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>
+<li><a href="#h2-RETURN-VALUE">RETURN VALUE</a></li>
+<li><a href="#h2-PORTABILITY">PORTABILITY</a></li>
+<li><a href="#h2-SEE-ALSO">SEE ALSO</a></li>
+</ul>
+</div>
</BODY>
</HTML>
diff --git a/doc/html/man/curs_refresh.3x.html b/doc/html/man/curs_refresh.3x.html
index ad8874992203..04ca3d0da9e2 100644
--- a/doc/html/man/curs_refresh.3x.html
+++ b/doc/html/man/curs_refresh.3x.html
@@ -1,7 +1,6 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN">
<!--
****************************************************************************
- * Copyright (c) 1998-2005,2010 Free Software Foundation, Inc. *
+ * Copyright (c) 1998-2018,2019 Free Software Foundation, Inc. *
* *
* Permission is hereby granted, free of charge, to any person obtaining a *
* copy of this software and associated documentation files (the *
@@ -27,32 +26,31 @@
* sale, use or other dealings in this Software without prior written *
* authorization. *
****************************************************************************
- * @Id: curs_refresh.3x,v 1.15 2010/12/04 18:38:55 tom Exp @
+ * @Id: curs_refresh.3x,v 1.20 2019/11/30 21:06:30 tom Exp @
-->
+<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN">
<HTML>
<HEAD>
+<meta http-equiv="Content-Type" content="text/html; charset=us-ascii">
+<meta name="generator" content="Manpage converted by man2html - see https://invisible-island.net/scripts/readme.html#others_scripts">
<TITLE>curs_refresh 3x</TITLE>
-<link rev=made href="mailto:bug-ncurses@gnu.org">
+<link rel="author" href="mailto:bug-ncurses@gnu.org">
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
</HEAD>
<BODY>
-<H1>curs_refresh 3x</H1>
-<HR>
+<H1 class="no-header">curs_refresh 3x</H1>
<PRE>
-<!-- Manpage converted by man2html 3.0.1 -->
-<STRONG><A HREF="curs_refresh.3x.html">curs_refresh(3x)</A></STRONG> <STRONG><A HREF="curs_refresh.3x.html">curs_refresh(3x)</A></STRONG>
+<STRONG><A HREF="curs_refresh.3x.html">curs_refresh(3x)</A></STRONG> <STRONG><A HREF="curs_refresh.3x.html">curs_refresh(3x)</A></STRONG>
-</PRE>
-<H2>NAME</H2><PRE>
- <STRONG>doupdate</STRONG>, <STRONG>redrawwin</STRONG>, <STRONG>refresh</STRONG>, <STRONG>wnoutrefresh</STRONG>, <STRONG>wredrawln</STRONG>,
- <STRONG>wrefresh</STRONG> - refresh <STRONG>curses</STRONG> windows and lines
+</PRE><H2><a name="h2-NAME">NAME</a></H2><PRE>
+ <STRONG>doupdate</STRONG>, <STRONG>redrawwin</STRONG>, <STRONG>refresh</STRONG>, <STRONG>wnoutrefresh</STRONG>, <STRONG>wredrawln</STRONG>, <STRONG>wrefresh</STRONG> -
+ refresh <STRONG>curses</STRONG> windows and lines
-</PRE>
-<H2>SYNOPSIS</H2><PRE>
+</PRE><H2><a name="h2-SYNOPSIS">SYNOPSIS</a></H2><PRE>
<STRONG>#include</STRONG> <STRONG>&lt;curses.h&gt;</STRONG>
<STRONG>int</STRONG> <STRONG>refresh(void);</STRONG>
@@ -63,108 +61,120 @@
<STRONG>int</STRONG> <STRONG>wredrawln(WINDOW</STRONG> <STRONG>*win,</STRONG> <STRONG>int</STRONG> <STRONG>beg_line,</STRONG> <STRONG>int</STRONG> <STRONG>num_lines);</STRONG>
-</PRE>
-<H2>DESCRIPTION</H2><PRE>
- The <STRONG>refresh</STRONG> and <STRONG>wrefresh</STRONG> routines (or <STRONG>wnoutrefresh</STRONG> and
- <STRONG>doupdate</STRONG>) must be called to get actual output to the ter-
- minal, as other routines merely manipulate data struc-
- tures. The routine <STRONG>wrefresh</STRONG> copies the named window to
- the physical terminal screen, taking into account what is
- already there to do optimizations. The <STRONG>refresh</STRONG> routine is
- the same, using <STRONG>stdscr</STRONG> as the default window. Unless
- <STRONG>leaveok</STRONG> has been enabled, the physical cursor of the ter-
- minal is left at the location of the cursor for that win-
- dow.
-
- The <STRONG>wnoutrefresh</STRONG> and <STRONG>doupdate</STRONG> routines allow multiple up-
- dates with more efficiency than <STRONG>wrefresh</STRONG> alone. In addi-
- tion to all the window structures, <STRONG>curses</STRONG> keeps two data
- structures representing the terminal screen: a physical
- screen, describing what is actually on the screen, and a
- virtual screen, describing what the programmer wants to
- have on the screen.
-
- The routine <STRONG>wrefresh</STRONG> works by first calling <STRONG>wnoutrefresh</STRONG>,
- which copies the named window to the virtual screen, and
- then calling <STRONG>doupdate</STRONG>, which compares the virtual screen
- to the physical screen and does the actual update. If the
- programmer wishes to output several windows at once, a se-
- ries of calls to <STRONG>wrefresh</STRONG> results in alternating calls to
- <STRONG>wnoutrefresh</STRONG> and <STRONG>doupdate</STRONG>, causing several bursts of out-
- put to the screen. By first calling <STRONG>wnoutrefresh</STRONG> for each
- window, it is then possible to call <STRONG>doupdate</STRONG> once, result-
- ing in only one burst of output, with fewer total charac-
- ters transmitted and less CPU time used. If the <EM>win</EM> argu-
- ment to <STRONG>wrefresh</STRONG> is the global variable <STRONG>curscr</STRONG>, the screen
- is immediately cleared and repainted from scratch.
-
- The phrase "copies the named window to the virtual screen"
- above is ambiguous. What actually happens is that all
- <EM>touched</EM> (changed) lines in the window are copied to the
- virtual screen. This affects programs that use overlap-
- ping windows; it means that if two windows overlap, you
- can refresh them in either order and the overlap region
- will be modified only when it is explicitly changed. (But
- see the section on <STRONG>PORTABILITY</STRONG> below for a warning about
- exploiting this behavior.)
-
- The <STRONG>wredrawln</STRONG> routine indicates to <STRONG>curses</STRONG> that some screen
- lines are corrupted and should be thrown away before any-
- thing is written over them. It touches the indicated
- lines (marking them changed). The routine <STRONG>redrawwin</STRONG>()
- touches the entire window.
+</PRE><H2><a name="h2-DESCRIPTION">DESCRIPTION</a></H2><PRE>
+</PRE><H3><a name="h3-refresh_wrefresh">refresh/wrefresh</a></H3><PRE>
+ The <STRONG>refresh</STRONG> and <STRONG>wrefresh</STRONG> routines (or <STRONG>wnoutrefresh</STRONG> and <STRONG>doupdate</STRONG>) must
+ be called to get actual output to the terminal, as other routines mere-
+ ly manipulate data structures. The routine <STRONG>wrefresh</STRONG> copies the named
+ window to the <EM>physical</EM> <EM>screen</EM>, taking into account what is already
+ there to do optimizations. The <STRONG>refresh</STRONG> routine is the same, using <STRONG>std-</STRONG>
+ <STRONG>scr</STRONG> as the default window. Unless <STRONG>leaveok</STRONG> has been enabled, the physi-
+ cal cursor of the terminal is left at the location of the cursor for
+ that window.
-</PRE>
-<H2>RETURN VALUE</H2><PRE>
- Routines that return an integer return <STRONG>ERR</STRONG> upon failure,
- and <STRONG>OK</STRONG> (SVr4 only specifies "an integer value other than
- <STRONG>ERR</STRONG>") upon successful completion.
- X/Open does not define any error conditions. In this im-
- plementation
+</PRE><H3><a name="h3-wnoutrefresh_doupdate">wnoutrefresh/doupdate</a></H3><PRE>
+ The <STRONG>wnoutrefresh</STRONG> and <STRONG>doupdate</STRONG> routines allow multiple updates with more
+ efficiency than <STRONG>wrefresh</STRONG> alone. In addition to all the window struc-
+ tures, <STRONG>curses</STRONG> keeps two data structures representing the terminal
+ screen:
- <STRONG>wnoutrefresh</STRONG>
- returns an error if the window pointer is
- null, or if the window is really a pad.
+ <STRONG>o</STRONG> a <EM>physical</EM> <EM>screen</EM>, describing what is actually on the screen, and
- <STRONG>wredrawln</STRONG>
- returns an error if the associated call to
- <STRONG>touchln</STRONG> returns an error.
+ <STRONG>o</STRONG> a <EM>virtual</EM> <EM>screen</EM>, describing what the programmer wants to have on
+ the screen.
+ The routine <STRONG>wrefresh</STRONG> works by
-</PRE>
-<H2>NOTES</H2><PRE>
+ <STRONG>o</STRONG> first calling <STRONG>wnoutrefresh</STRONG>, which copies the named window to the
+ <EM>virtual</EM> <EM>screen</EM>, and
+
+ <STRONG>o</STRONG> then calling <STRONG>doupdate</STRONG>, which compares the <EM>virtual</EM> <EM>screen</EM> to the
+ <EM>physical</EM> <EM>screen</EM> and does the actual update.
+
+ If the programmer wishes to output several windows at once, a series of
+ calls to <STRONG>wrefresh</STRONG> results in alternating calls to <STRONG>wnoutrefresh</STRONG> and
+ <STRONG>doupdate</STRONG>, causing several bursts of output to the screen. By first
+ calling <STRONG>wnoutrefresh</STRONG> for each window, it is then possible to call <STRONG>doup-</STRONG>
+ <STRONG>date</STRONG> once, resulting in only one burst of output, with fewer total
+ characters transmitted and less CPU time used.
+
+ If the <EM>win</EM> argument to <STRONG>wrefresh</STRONG> is the <EM>physical</EM> <EM>screen</EM> (i.e., the glob-
+ al variable <STRONG>curscr</STRONG>), the screen is immediately cleared and repainted
+ from scratch.
+
+ The phrase "copies the named window to the virtual screen" above is am-
+ biguous. What actually happens is that all <EM>touched</EM> (changed) lines in
+ the window are copied to the virtual screen. This affects programs
+ that use overlapping windows; it means that if two windows overlap, you
+ can refresh them in either order and the overlap region will be modi-
+ fied only when it is explicitly changed. (But see the section on
+ <STRONG>PORTABILITY</STRONG> below for a warning about exploiting this behavior.)
+
+
+</PRE><H3><a name="h3-wredrawln_redrawwin">wredrawln/redrawwin</a></H3><PRE>
+ The <STRONG>wredrawln</STRONG> routine indicates to <STRONG>curses</STRONG> that some screen lines are
+ corrupted and should be thrown away before anything is written over
+ them. It touches the indicated lines (marking them changed). The rou-
+ tine <STRONG>redrawwin</STRONG> touches the entire window.
+
+
+</PRE><H2><a name="h2-RETURN-VALUE">RETURN VALUE</a></H2><PRE>
+ Routines that return an integer return <STRONG>ERR</STRONG> upon failure, and <STRONG>OK</STRONG> (SVr4
+ only specifies "an integer value other than <STRONG>ERR</STRONG>") upon successful com-
+ pletion.
+
+ X/Open does not define any error conditions. In this implementation
+
+ <STRONG>wnoutrefresh</STRONG>
+ returns an error if the window pointer is null, or if the win-
+ dow is really a pad.
+
+ <STRONG>wredrawln</STRONG>
+ returns an error if the associated call to <STRONG>touchln</STRONG> returns an
+ error.
+
+
+</PRE><H2><a name="h2-NOTES">NOTES</a></H2><PRE>
Note that <STRONG>refresh</STRONG> and <STRONG>redrawwin</STRONG> may be macros.
-</PRE>
-<H2>PORTABILITY</H2><PRE>
- The XSI Curses standard, Issue 4 describes these func-
- tions.
+</PRE><H2><a name="h2-PORTABILITY">PORTABILITY</a></H2><PRE>
+ The XSI Curses standard, Issue 4 describes these functions.
- Whether <STRONG>wnoutrefresh()</STRONG> copies to the virtual screen the
- entire contents of a window or just its changed portions
- has never been well-documented in historic curses versions
- (including SVr4). It might be unwise to rely on either
- behavior in programs that might have to be linked with
- other curses implementations. Instead, you can do an ex-
- plicit <STRONG>touchwin()</STRONG> before the <STRONG>wnoutrefresh()</STRONG> call to guar-
- antee an entire-contents copy anywhere.
+ Whether <STRONG>wnoutrefresh</STRONG> copies to the virtual screen the entire contents
+ of a window or just its changed portions has never been well-documented
+ in historic curses versions (including SVr4). It might be unwise to
+ rely on either behavior in programs that might have to be linked with
+ other curses implementations. Instead, you can do an explicit <STRONG>touchwin</STRONG>
+ before the <STRONG>wnoutrefresh</STRONG> call to guarantee an entire-contents copy any-
+ where.
-</PRE>
-<H2>SEE ALSO</H2><PRE>
+</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_outopts.3x.html">curs_outopts(3x)</A></STRONG> <STRONG><A HREF="curs_variables.3x.html">curs_variables(3x)</A></STRONG>.
- <STRONG><A HREF="curs_refresh.3x.html">curs_refresh(3x)</A></STRONG>
+ <STRONG><A HREF="curs_refresh.3x.html">curs_refresh(3x)</A></STRONG>
</PRE>
-<HR>
-<ADDRESS>
-Man(1) output converted with
-<a href="http://www.oac.uci.edu/indiv/ehood/man2html.html">man2html</a>
-</ADDRESS>
+<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>
+<ul>
+<li><a href="#h3-refresh_wrefresh">refresh/wrefresh</a></li>
+<li><a href="#h3-wnoutrefresh_doupdate">wnoutrefresh/doupdate</a></li>
+<li><a href="#h3-wredrawln_redrawwin">wredrawln/redrawwin</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-PORTABILITY">PORTABILITY</a></li>
+<li><a href="#h2-SEE-ALSO">SEE ALSO</a></li>
+</ul>
+</div>
</BODY>
</HTML>
diff --git a/doc/html/man/curs_scanw.3x.html b/doc/html/man/curs_scanw.3x.html
index 5023f670bb75..48d0d2dcbfcd 100644
--- a/doc/html/man/curs_scanw.3x.html
+++ b/doc/html/man/curs_scanw.3x.html
@@ -1,7 +1,6 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN">
<!--
****************************************************************************
- * Copyright (c) 1998-2006,2010 Free Software Foundation, Inc. *
+ * Copyright (c) 1998-2018,2019 Free Software Foundation, Inc. *
* *
* Permission is hereby granted, free of charge, to any person obtaining a *
* copy of this software and associated documentation files (the *
@@ -27,107 +26,123 @@
* sale, use or other dealings in this Software without prior written *
* authorization. *
****************************************************************************
- * @Id: curs_scanw.3x,v 1.17 2010/12/04 18:40:45 tom Exp @
+ * @Id: curs_scanw.3x,v 1.25 2019/11/30 21:06:30 tom Exp @
-->
+<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN">
<HTML>
<HEAD>
+<meta http-equiv="Content-Type" content="text/html; charset=us-ascii">
+<meta name="generator" content="Manpage converted by man2html - see https://invisible-island.net/scripts/readme.html#others_scripts">
<TITLE>curs_scanw 3x</TITLE>
-<link rev=made href="mailto:bug-ncurses@gnu.org">
+<link rel="author" href="mailto:bug-ncurses@gnu.org">
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
</HEAD>
<BODY>
-<H1>curs_scanw 3x</H1>
-<HR>
+<H1 class="no-header">curs_scanw 3x</H1>
<PRE>
-<!-- Manpage converted by man2html 3.0.1 -->
-<STRONG><A HREF="curs_scanw.3x.html">curs_scanw(3x)</A></STRONG> <STRONG><A HREF="curs_scanw.3x.html">curs_scanw(3x)</A></STRONG>
+<STRONG><A HREF="curs_scanw.3x.html">curs_scanw(3x)</A></STRONG> <STRONG><A HREF="curs_scanw.3x.html">curs_scanw(3x)</A></STRONG>
-</PRE>
-<H2>NAME</H2><PRE>
- <STRONG>scanw</STRONG>, <STRONG>wscanw</STRONG>, <STRONG>mvscanw</STRONG>, <STRONG>mvwscanw</STRONG>, <STRONG>vwscanw</STRONG>, <STRONG>vw_scanw</STRONG> - con-
- vert formatted input from a <STRONG>curses</STRONG> window
+</PRE><H2><a name="h2-NAME">NAME</a></H2><PRE>
+ <STRONG>scanw</STRONG>, <STRONG>wscanw</STRONG>, <STRONG>mvscanw</STRONG>, <STRONG>mvwscanw</STRONG>, <STRONG>vwscanw</STRONG>, <STRONG>vw_scanw</STRONG> - convert formatted
+ input from a <STRONG>curses</STRONG> window
-</PRE>
-<H2>SYNOPSIS</H2><PRE>
+</PRE><H2><a name="h2-SYNOPSIS">SYNOPSIS</a></H2><PRE>
<STRONG>#include</STRONG> <STRONG>&lt;curses.h&gt;</STRONG>
- <STRONG>int</STRONG> <STRONG>scanw(char</STRONG> <STRONG>*fmt,</STRONG> <STRONG>...);</STRONG>
- <STRONG>int</STRONG> <STRONG>wscanw(WINDOW</STRONG> <STRONG>*win,</STRONG> <STRONG>char</STRONG> <STRONG>*fmt,</STRONG> <STRONG>...);</STRONG>
- <STRONG>int</STRONG> <STRONG>mvscanw(int</STRONG> <STRONG>y,</STRONG> <STRONG>int</STRONG> <STRONG>x,</STRONG> <STRONG>char</STRONG> <STRONG>*fmt,</STRONG> <STRONG>...);</STRONG>
- <STRONG>int</STRONG> <STRONG>mvwscanw(WINDOW</STRONG> <STRONG>*win,</STRONG> <STRONG>int</STRONG> <STRONG>y,</STRONG> <STRONG>int</STRONG> <STRONG>x,</STRONG> <STRONG>char</STRONG> <STRONG>*fmt,</STRONG> <STRONG>...);</STRONG>
- <STRONG>int</STRONG> <STRONG>vw_scanw(WINDOW</STRONG> <STRONG>*win,</STRONG> <STRONG>char</STRONG> <STRONG>*fmt,</STRONG> <STRONG>va_list</STRONG> <STRONG>varglist);</STRONG>
- <STRONG>int</STRONG> <STRONG>vwscanw(WINDOW</STRONG> <STRONG>*win,</STRONG> <STRONG>char</STRONG> <STRONG>*fmt,</STRONG> <STRONG>va_list</STRONG> <STRONG>varglist);</STRONG>
+ <STRONG>int</STRONG> <STRONG>scanw(const</STRONG> <STRONG>char</STRONG> <STRONG>*fmt,</STRONG> <STRONG>...);</STRONG>
+ <STRONG>int</STRONG> <STRONG>wscanw(WINDOW</STRONG> <STRONG>*win,</STRONG> <STRONG>const</STRONG> <STRONG>char</STRONG> <STRONG>*fmt,</STRONG> <STRONG>...);</STRONG>
+ <STRONG>int</STRONG> <STRONG>mvscanw(int</STRONG> <STRONG>y,</STRONG> <STRONG>int</STRONG> <STRONG>x,</STRONG> <STRONG>const</STRONG> <STRONG>char</STRONG> <STRONG>*fmt,</STRONG> <STRONG>...);</STRONG>
+ <STRONG>int</STRONG> <STRONG>mvwscanw(WINDOW</STRONG> <STRONG>*win,</STRONG> <STRONG>int</STRONG> <STRONG>y,</STRONG> <STRONG>int</STRONG> <STRONG>x,</STRONG> <STRONG>const</STRONG> <STRONG>char</STRONG> <STRONG>*fmt,</STRONG> <STRONG>...);</STRONG>
+ <STRONG>int</STRONG> <STRONG>vw_scanw(WINDOW</STRONG> <STRONG>*win,</STRONG> <STRONG>const</STRONG> <STRONG>char</STRONG> <STRONG>*fmt,</STRONG> <STRONG>va_list</STRONG> <STRONG>varglist);</STRONG>
+ /* obsolete */
+ <STRONG>int</STRONG> <STRONG>vwscanw(WINDOW</STRONG> <STRONG>*win,</STRONG> <STRONG>const</STRONG> <STRONG>char</STRONG> <STRONG>*fmt,</STRONG> <STRONG>va_list</STRONG> <STRONG>varglist);</STRONG>
-</PRE>
-<H2>DESCRIPTION</H2><PRE>
- The <STRONG>scanw</STRONG>, <STRONG>wscanw</STRONG> and <STRONG>mvscanw</STRONG> routines are analogous to
- <STRONG>scanf</STRONG> [see <STRONG>scanf(3)</STRONG>]. The effect of these routines is as
- though <STRONG>wgetstr</STRONG> were called on the window, and the result-
- ing line used as input for <STRONG>sscanf(3)</STRONG>. Fields which do not
- map to a variable in the <EM>fmt</EM> field are lost.
- The <STRONG>vwscanw</STRONG> and <STRONG>vw_scanw</STRONG> routines are analogous to <STRONG>vscanf</STRONG>.
- They perform a <STRONG>wscanw</STRONG> using a variable argument list. The
- third argument is a <EM>va</EM><STRONG>_</STRONG><EM>list</EM>, a pointer to a list of argu-
- ments, as defined in <STRONG>&lt;stdarg.h&gt;</STRONG>.
+</PRE><H2><a name="h2-DESCRIPTION">DESCRIPTION</a></H2><PRE>
+ The <STRONG>scanw</STRONG>, <STRONG>wscanw</STRONG> and <STRONG>mvscanw</STRONG> routines are analogous to <STRONG>scanf</STRONG> [see
+ <STRONG>scanf(3)</STRONG>]. The effect of these routines is as though <STRONG>wgetstr</STRONG> were
+ called on the window, and the resulting line used as input for
+ <STRONG>sscanf(3)</STRONG>. Fields which do not map to a variable in the <EM>fmt</EM> field are
+ lost.
+ The <STRONG>vwscanw</STRONG> and <STRONG>vw_scanw</STRONG> routines are analogous to <STRONG>vscanf(3)</STRONG>. They
+ perform a <STRONG>wscanw</STRONG> using a variable argument list. The third argument is
+ a <EM>va</EM><STRONG>_</STRONG><EM>list</EM>, a pointer to a list of arguments, as defined in <STRONG>&lt;stdarg.h&gt;</STRONG>.
-</PRE>
-<H2>RETURN VALUE</H2><PRE>
- <STRONG>vwscanw</STRONG> returns <STRONG>ERR</STRONG> on failure and an integer equal to the
- number of fields scanned on success.
- Applications may use the return value from the <STRONG>scanw</STRONG>,
- <STRONG>wscanw</STRONG>, <STRONG>mvscanw</STRONG> and <STRONG>mvwscanw</STRONG> routines to determine the
- number of fields which were mapped in the call.
+</PRE><H2><a name="h2-RETURN-VALUE">RETURN VALUE</a></H2><PRE>
+ <STRONG>vwscanw</STRONG> returns <STRONG>ERR</STRONG> on failure and an integer equal to the number of
+ fields scanned on success.
- Functions with a "mv" prefix first perform a cursor move-
- ment using <STRONG>wmove</STRONG>, and return an error if the position is
- outside the window, or if the window pointer is null.
+ Applications may use the return value from the <STRONG>scanw</STRONG>, <STRONG>wscanw</STRONG>, <STRONG>mvscanw</STRONG>
+ and <STRONG>mvwscanw</STRONG> routines to determine the number of fields which were
+ mapped in the call.
+ 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.
-</PRE>
-<H2>PORTABILITY</H2><PRE>
- The XSI Curses standard, Issue 4 describes these func-
- tions. The function <STRONG>vwscanw</STRONG> is marked TO BE WITHDRAWN,
- and is to be replaced by a function <STRONG>vw_scanw</STRONG> using the
- <STRONG>&lt;stdarg.h&gt;</STRONG> interface. The Single Unix Specification, Ver-
- sion 2 states that <STRONG>vw_scanw</STRONG> is preferred to <STRONG>vwscanw</STRONG> since
- the latter requires including <STRONG>&lt;varargs.h&gt;</STRONG>, which cannot be
- used in the same file as <STRONG>&lt;stdarg.h&gt;</STRONG>. This implementation
- uses <STRONG>&lt;stdarg.h&gt;</STRONG> for both, because that header is included
- in <STRONG>&lt;curses.h</STRONG>&gt;.
-
- Both XSI and The Single Unix Specification, Version 2
- state that these functions return ERR or OK. Since the
- underlying <STRONG>scanf</STRONG> can return the number of items scanned,
- and the SVr4 code was documented to use this feature, this
- is probably an editing error which was introduced in XSI,
- rather than being done intentionally. Portable applica-
- tions should only test if the return value is ERR, since
- the OK value (zero) is likely to be misleading. One pos-
- sible way to get useful results would be to use a "%n"
- conversion at the end of the format string to ensure that
- something was processed.
+</PRE><H2><a name="h2-PORTABILITY">PORTABILITY</a></H2><PRE>
+ In this implementation, <STRONG>vw_scanw</STRONG> and <STRONG>vwscanw</STRONG> are equivalent, to support
+ legacy applications. However, the latter (<STRONG>vwscanw</STRONG>) is obsolete:
-</PRE>
-<H2>SEE ALSO</H2><PRE>
- <STRONG><A HREF="ncurses.3x.html">curses(3x)</A></STRONG>, <STRONG><A HREF="curs_getstr.3x.html">curs_getstr(3x)</A></STRONG>, <STRONG><A HREF="curs_printw.3x.html">curs_printw(3x)</A></STRONG>, <STRONG>scanf(3)</STRONG>
+ <STRONG>o</STRONG> The XSI Curses standard, Issue 4 described these functions, noting
+ that the function <STRONG>vwscanw</STRONG> is marked TO BE WITHDRAWN, and is to be
+ replaced by a function <STRONG>vw_scanw</STRONG> using the <STRONG>&lt;stdarg.h&gt;</STRONG> interface.
+
+ <STRONG>o</STRONG> The Single Unix Specification, Version 2 states that <STRONG>vw_scanw</STRONG> is
+ preferred to <STRONG>vwscanw</STRONG> since the latter requires including
+ <STRONG>&lt;varargs.h&gt;</STRONG>, which cannot be used in the same file as <STRONG>&lt;stdarg.h&gt;</STRONG>.
+ This implementation uses <STRONG>&lt;stdarg.h&gt;</STRONG> for both, because that header
+ is included in <STRONG>&lt;curses.h</STRONG>&gt;.
+
+ <STRONG>o</STRONG> X/Open Curses, Issue 5 (December 2007) marked <STRONG>vwscanw</STRONG> (along with
+ <STRONG>vwprintw</STRONG> and the termcap interface) as withdrawn.
+
+ Both XSI and The Single Unix Specification, Version 2 state that these
+ functions return <STRONG>ERR</STRONG> or <STRONG>OK</STRONG>.
+
+ <STRONG>o</STRONG> Since the underlying <STRONG>scanf(3)</STRONG> can return the number of items
+ scanned, and the SVr4 code was documented to use this feature, this
+ is probably an editing error which was introduced in XSI, rather
+ than being done intentionally.
+
+ <STRONG>o</STRONG> This implementation returns the number of items scanned, for com-
+ patibility with SVr4 curses. As of 2018, NetBSD curses also
+ returns the number of items scanned. Both ncurses and NetBSD
+ curses call <STRONG>vsscanf</STRONG> to scan the string, which returns <STRONG>EOF</STRONG> on error.
+
+ <STRONG>o</STRONG> Portable applications should only test if the return value is <STRONG>ERR</STRONG>,
+ since the <STRONG>OK</STRONG> value (zero) is likely to be misleading.
+
+ One possible way to get useful results would be to use a "%n" con-
+ version at the end of the format string to ensure that something
+ was processed.
+
+
+</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_getstr.3x.html">curs_getstr(3x)</A></STRONG>, <STRONG><A HREF="curs_printw.3x.html">curs_printw(3x)</A></STRONG>, <STRONG><A HREF="curs_termcap.3x.html">curs_termcap(3x)</A></STRONG>,
+ <STRONG>scanf(3)</STRONG>.
- <STRONG><A HREF="curs_scanw.3x.html">curs_scanw(3x)</A></STRONG>
+ <STRONG><A HREF="curs_scanw.3x.html">curs_scanw(3x)</A></STRONG>
</PRE>
-<HR>
-<ADDRESS>
-Man(1) output converted with
-<a href="http://www.oac.uci.edu/indiv/ehood/man2html.html">man2html</a>
-</ADDRESS>
+<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>
+<li><a href="#h2-RETURN-VALUE">RETURN VALUE</a></li>
+<li><a href="#h2-PORTABILITY">PORTABILITY</a></li>
+<li><a href="#h2-SEE-ALSO">SEE ALSO</a></li>
+</ul>
+</div>
</BODY>
</HTML>
diff --git a/doc/html/man/curs_scr_dump.3x.html b/doc/html/man/curs_scr_dump.3x.html
index e838995d6bc9..0b1e50ba6142 100644
--- a/doc/html/man/curs_scr_dump.3x.html
+++ b/doc/html/man/curs_scr_dump.3x.html
@@ -1,7 +1,6 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN">
<!--
****************************************************************************
- * Copyright (c) 1998-2006,2010 Free Software Foundation, Inc. *
+ * Copyright (c) 1998-2018,2019 Free Software Foundation, Inc. *
* *
* Permission is hereby granted, free of charge, to any person obtaining a *
* copy of this software and associated documentation files (the *
@@ -27,32 +26,31 @@
* sale, use or other dealings in this Software without prior written *
* authorization. *
****************************************************************************
- * @Id: curs_scr_dump.3x,v 1.9 2010/12/04 18:40:45 tom Exp @
+ * @Id: curs_scr_dump.3x,v 1.14 2019/11/30 21:06:30 tom Exp @
-->
+<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN">
<HTML>
<HEAD>
+<meta http-equiv="Content-Type" content="text/html; charset=us-ascii">
+<meta name="generator" content="Manpage converted by man2html - see https://invisible-island.net/scripts/readme.html#others_scripts">
<TITLE>curs_scr_dump 3x</TITLE>
-<link rev=made href="mailto:bug-ncurses@gnu.org">
+<link rel="author" href="mailto:bug-ncurses@gnu.org">
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
</HEAD>
<BODY>
-<H1>curs_scr_dump 3x</H1>
-<HR>
+<H1 class="no-header">curs_scr_dump 3x</H1>
<PRE>
-<!-- Manpage converted by man2html 3.0.1 -->
-<STRONG><A HREF="curs_scr_dump.3x.html">curs_scr_dump(3x)</A></STRONG> <STRONG><A HREF="curs_scr_dump.3x.html">curs_scr_dump(3x)</A></STRONG>
+<STRONG><A HREF="curs_scr_dump.3x.html">curs_scr_dump(3x)</A></STRONG> <STRONG><A HREF="curs_scr_dump.3x.html">curs_scr_dump(3x)</A></STRONG>
-</PRE>
-<H2>NAME</H2><PRE>
- <STRONG>scr_dump</STRONG>, <STRONG>scr_restore</STRONG>, <STRONG>scr_init</STRONG>, <STRONG>scr_set</STRONG> - read (write) a
- <STRONG>curses</STRONG> screen from (to) a file
+</PRE><H2><a name="h2-NAME">NAME</a></H2><PRE>
+ <STRONG>scr_dump</STRONG>, <STRONG>scr_restore</STRONG>, <STRONG>scr_init</STRONG>, <STRONG>scr_set</STRONG> - read (write) a <STRONG>curses</STRONG> screen
+ from (to) a file
-</PRE>
-<H2>SYNOPSIS</H2><PRE>
+</PRE><H2><a name="h2-SYNOPSIS">SYNOPSIS</a></H2><PRE>
<STRONG>#include</STRONG> <STRONG>&lt;curses.h&gt;</STRONG>
<STRONG>int</STRONG> <STRONG>scr_dump(const</STRONG> <STRONG>char</STRONG> <STRONG>*filename);</STRONG>
@@ -61,77 +59,76 @@
<STRONG>int</STRONG> <STRONG>scr_set(const</STRONG> <STRONG>char</STRONG> <STRONG>*filename);</STRONG>
-</PRE>
-<H2>DESCRIPTION</H2><PRE>
- The <STRONG>scr_dump</STRONG> routine dumps the current contents of the
- virtual screen to the file <EM>filename</EM>.
-
- The <STRONG>scr_restore</STRONG> routine sets the virtual screen to the
- contents of <EM>filename</EM>, which must have been written using
- <STRONG>scr_dump</STRONG>. The next call to <STRONG>doupdate</STRONG> restores the screen
- to the way it looked in the dump file.
-
- The <STRONG>scr_init</STRONG> routine reads in the contents of <EM>filename</EM> and
- uses them to initialize the <STRONG>curses</STRONG> data structures about
- what the terminal currently has on its screen. If the da-
- ta is determined to be valid, <STRONG>curses</STRONG> bases its next update
- of the screen on this information rather than clearing the
- screen and starting from scratch. <STRONG>scr_init</STRONG> is used after
- <STRONG>initscr</STRONG> or a <STRONG>system</STRONG> call to share the screen with another
- process which has done a <STRONG>scr_dump</STRONG> after its <STRONG>endwin</STRONG> call.
- The data is declared invalid if the terminfo capabilities
- <STRONG>rmcup</STRONG> and <STRONG>nrrmc</STRONG> exist; also if the terminal has been writ-
- ten to since the preceding <STRONG>scr_dump</STRONG> call.
-
- The <STRONG>scr_set</STRONG> routine is a combination of <STRONG>scr_restore</STRONG> and
- <STRONG>scr_init</STRONG>. It tells the program that the information in
- <EM>filename</EM> is what is currently on the screen, and also what
- the program wants on the screen. This can be thought of
- as a screen inheritance function.
-
- To read (write) a window from (to) a file, use the <STRONG>getwin</STRONG>
- and <STRONG>putwin</STRONG> routines [see <STRONG><A HREF="curs_util.3x.html">curs_util(3x)</A></STRONG>].
+</PRE><H2><a name="h2-DESCRIPTION">DESCRIPTION</a></H2><PRE>
+ The <STRONG>scr_dump</STRONG> routine dumps the current contents of the <EM>virtual</EM> <EM>screen</EM>
+ to the file <EM>filename</EM>.
+ The <STRONG>scr_restore</STRONG> routine sets the <EM>virtual</EM> <EM>screen</EM> to the contents of
+ <EM>filename</EM>, which must have been written using <STRONG>scr_dump</STRONG>. The next call
+ to <STRONG>doupdate</STRONG> restores the <EM>physical</EM> <EM>screen</EM> to the way it looked in the
+ dump file.
-</PRE>
-<H2>RETURN VALUE</H2><PRE>
- All routines return the integer <STRONG>ERR</STRONG> upon failure and <STRONG>OK</STRONG>
- upon success.
+ The <STRONG>scr_init</STRONG> routine reads in the contents of <EM>filename</EM> and uses them to
+ initialize the <STRONG>curses</STRONG> data structures about what the terminal currently
+ has on its screen. If the data is determined to be valid, <STRONG>curses</STRONG> bases
+ its next update of the screen on this information rather than clearing
+ the screen and starting from scratch. <STRONG>scr_init</STRONG> is used after <STRONG>initscr</STRONG>
+ or a <STRONG>system</STRONG> call to share the screen with another process which has
+ done a <STRONG>scr_dump</STRONG> after its <STRONG><A HREF="curs_initscr.3x.html">endwin(3x)</A></STRONG> call. The data is declared in-
+ valid
- X/Open defines no error conditions. In this implementa-
- tion, each will return an error if the file cannot be
- opened.
+ <STRONG>o</STRONG> if the terminfo capabilities <STRONG>rmcup</STRONG> and <STRONG>nrrmc</STRONG> exist, also
+ <STRONG>o</STRONG> if the terminal has been written to since the preceding <STRONG>scr_dump</STRONG>
+ call.
-</PRE>
-<H2>NOTES</H2><PRE>
- Note that <STRONG>scr_init</STRONG>, <STRONG>scr_set</STRONG>, and <STRONG>scr_restore</STRONG> may be
- macros.
+ The <STRONG>scr_set</STRONG> routine is a combination of <STRONG>scr_restore</STRONG> and <STRONG>scr_init</STRONG>. It
+ tells the program that the information in <EM>filename</EM> is what is currently
+ on the screen, and also what the program wants on the screen. This can
+ be thought of as a screen inheritance function.
+ To read (write) a window from (to) a file, use the <STRONG>getwin</STRONG> and <STRONG>putwin</STRONG>
+ routines [see <STRONG><A HREF="curs_util.3x.html">curs_util(3x)</A></STRONG>].
-</PRE>
-<H2>PORTABILITY</H2><PRE>
- The XSI Curses standard, Issue 4, describes these func-
- tions (adding the const qualifiers).
- The SVr4 docs merely say under <STRONG>scr_init</STRONG> that the dump data
- is also considered invalid "if the time-stamp of the tty
- is old" but do not define "old".
+</PRE><H2><a name="h2-RETURN-VALUE">RETURN VALUE</a></H2><PRE>
+ All routines return the integer <STRONG>ERR</STRONG> upon failure and <STRONG>OK</STRONG> upon success.
+ X/Open defines no error conditions. In this implementation, each will
+ return an error if the file cannot be opened.
-</PRE>
-<H2>SEE ALSO</H2><PRE>
- <STRONG><A HREF="ncurses.3x.html">curses(3x)</A></STRONG>, <STRONG><A HREF="curs_initscr.3x.html">curs_initscr(3x)</A></STRONG>, <STRONG><A HREF="curs_refresh.3x.html">curs_refresh(3x)</A></STRONG>,
- <STRONG><A HREF="curs_util.3x.html">curs_util(3x)</A></STRONG>, <STRONG>system(3)</STRONG>
+
+</PRE><H2><a name="h2-NOTES">NOTES</a></H2><PRE>
+ Note that <STRONG>scr_init</STRONG>, <STRONG>scr_set</STRONG>, and <STRONG>scr_restore</STRONG> may be macros.
+
+
+</PRE><H2><a name="h2-PORTABILITY">PORTABILITY</a></H2><PRE>
+ The XSI Curses standard, Issue 4, describes these functions (adding the
+ const qualifiers).
+
+ The SVr4 docs merely say under <STRONG>scr_init</STRONG> that the dump data is also con-
+ sidered invalid "if the time-stamp of the tty is old" but do not define
+ "old".
+
+
+</PRE><H2><a name="h2-SEE-ALSO">SEE ALSO</a></H2><PRE>
+ <STRONG><A HREF="ncurses.3x.html">curses(3x)</A></STRONG>, <STRONG><A HREF="curs_initscr.3x.html">curs_initscr(3x)</A></STRONG>, <STRONG><A HREF="curs_refresh.3x.html">curs_refresh(3x)</A></STRONG>, <STRONG><A HREF="curs_util.3x.html">curs_util(3x)</A></STRONG>,
+ <STRONG><A HREF="scr_dump.5.html">scr_dump(5)</A></STRONG>, <STRONG>system(3)</STRONG>
- <STRONG><A HREF="curs_scr_dump.3x.html">curs_scr_dump(3x)</A></STRONG>
+ <STRONG><A HREF="curs_scr_dump.3x.html">curs_scr_dump(3x)</A></STRONG>
</PRE>
-<HR>
-<ADDRESS>
-Man(1) output converted with
-<a href="http://www.oac.uci.edu/indiv/ehood/man2html.html">man2html</a>
-</ADDRESS>
+<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>
+<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-SEE-ALSO">SEE ALSO</a></li>
+</ul>
+</div>
</BODY>
</HTML>
diff --git a/doc/html/man/curs_scroll.3x.html b/doc/html/man/curs_scroll.3x.html
index 120f4eb7f121..4d885e512b16 100644
--- a/doc/html/man/curs_scroll.3x.html
+++ b/doc/html/man/curs_scroll.3x.html
@@ -1,7 +1,6 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN">
<!--
****************************************************************************
- * Copyright (c) 1998-2006,2010 Free Software Foundation, Inc. *
+ * Copyright (c) 1998-2018,2019 Free Software Foundation, Inc. *
* *
* Permission is hereby granted, free of charge, to any person obtaining a *
* copy of this software and associated documentation files (the *
@@ -27,31 +26,30 @@
* sale, use or other dealings in this Software without prior written *
* authorization. *
****************************************************************************
- * @Id: curs_scroll.3x,v 1.15 2010/12/04 18:40:45 tom Exp @
+ * @Id: curs_scroll.3x,v 1.17 2019/11/30 21:06:30 tom Exp @
-->
+<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN">
<HTML>
<HEAD>
+<meta http-equiv="Content-Type" content="text/html; charset=us-ascii">
+<meta name="generator" content="Manpage converted by man2html - see https://invisible-island.net/scripts/readme.html#others_scripts">
<TITLE>curs_scroll 3x</TITLE>
-<link rev=made href="mailto:bug-ncurses@gnu.org">
+<link rel="author" href="mailto:bug-ncurses@gnu.org">
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
</HEAD>
<BODY>
-<H1>curs_scroll 3x</H1>
-<HR>
+<H1 class="no-header">curs_scroll 3x</H1>
<PRE>
-<!-- Manpage converted by man2html 3.0.1 -->
-<STRONG><A HREF="curs_scroll.3x.html">curs_scroll(3x)</A></STRONG> <STRONG><A HREF="curs_scroll.3x.html">curs_scroll(3x)</A></STRONG>
+<STRONG><A HREF="curs_scroll.3x.html">curs_scroll(3x)</A></STRONG> <STRONG><A HREF="curs_scroll.3x.html">curs_scroll(3x)</A></STRONG>
-</PRE>
-<H2>NAME</H2><PRE>
+</PRE><H2><a name="h2-NAME">NAME</a></H2><PRE>
<STRONG>scroll</STRONG>, <STRONG>scrl</STRONG>, <STRONG>wscrl</STRONG> - scroll a <STRONG>curses</STRONG> window
-</PRE>
-<H2>SYNOPSIS</H2><PRE>
+</PRE><H2><a name="h2-SYNOPSIS">SYNOPSIS</a></H2><PRE>
<STRONG>#include</STRONG> <STRONG>&lt;curses.h&gt;</STRONG>
<STRONG>int</STRONG> <STRONG>scroll(WINDOW</STRONG> <STRONG>*win);</STRONG>
@@ -59,73 +57,65 @@
<STRONG>int</STRONG> <STRONG>wscrl(WINDOW</STRONG> <STRONG>*win,</STRONG> <STRONG>int</STRONG> <STRONG>n);</STRONG>
-</PRE>
-<H2>DESCRIPTION</H2><PRE>
- The <STRONG>scroll</STRONG> routine scrolls the window up one line. This
- involves moving the lines in the window data structure.
- As an optimization, if the scrolling region of the window
- is the entire screen, the physical screen may be scrolled
- at the same time.
+</PRE><H2><a name="h2-DESCRIPTION">DESCRIPTION</a></H2><PRE>
+ The <STRONG>scroll</STRONG> routine scrolls the window up one line. This involves mov-
+ ing the lines in the window data structure. As an optimization, if the
+ scrolling region of the window is the entire screen, the <EM>physical</EM>
+ <EM>screen</EM> may be scrolled at the same time.
- For positive <EM>n</EM>, the <STRONG>scrl</STRONG> and <STRONG>wscrl</STRONG> routines scroll the
- window up <EM>n</EM> lines (line <EM>i</EM>+<EM>n</EM> becomes <EM>i</EM>); otherwise scroll
- the window down <EM>n</EM> lines. This involves moving the lines
- in the window character image structure. The current cur-
- sor position is not changed.
+ For positive <EM>n</EM>, the <STRONG>scrl</STRONG> and <STRONG>wscrl</STRONG> routines scroll the window up <EM>n</EM>
+ lines (line <EM>i</EM>+<EM>n</EM> becomes <EM>i</EM>); otherwise scroll the window down <EM>n</EM> lines.
+ This involves moving the lines in the window character image structure.
+ The current cursor position is not changed.
- For these functions to work, scrolling must be enabled via
- <STRONG>scrollok</STRONG>.
+ For these functions to work, scrolling must be enabled via <STRONG>scrollok</STRONG>.
-</PRE>
-<H2>RETURN VALUE</H2><PRE>
- These routines return <STRONG>ERR</STRONG> upon failure, and <STRONG>OK</STRONG> (SVr4 only
- specifies "an integer value other than <STRONG>ERR</STRONG>") upon success-
- ful completion.
+</PRE><H2><a name="h2-RETURN-VALUE">RETURN VALUE</a></H2><PRE>
+ These routines return <STRONG>ERR</STRONG> upon failure, and <STRONG>OK</STRONG> (SVr4 only specifies "an
+ integer value other than <STRONG>ERR</STRONG>") upon successful completion.
X/Open defines no error conditions.
- This implementation returns an error if the window pointer
- is null, or if scrolling is not enabled in the window,
- e.g., with <STRONG>scrollok</STRONG>.
+ This implementation returns an error if the window pointer is null, or
+ if scrolling is not enabled in the window, e.g., with <STRONG>scrollok</STRONG>.
-</PRE>
-<H2>NOTES</H2><PRE>
+</PRE><H2><a name="h2-NOTES">NOTES</a></H2><PRE>
Note that <STRONG>scrl</STRONG> and <STRONG>scroll</STRONG> may be macros.
- The SVr4 documentation says that the optimization of phys-
- ically scrolling immediately if the scroll region is the
- entire screen "is" performed, not "may be" performed.
- This implementation deliberately does not guarantee that
- this will occur, to leave open the possibility of smarter
- optimization of multiple scroll actions on the next up-
- date.
+ The SVr4 documentation says that the optimization of physically
+ scrolling immediately if the scroll region is the entire screen "is"
+ performed, not "may be" performed. This implementation deliberately
+ does not guarantee that this will occur, to leave open the possibility
+ of smarter optimization of multiple scroll actions on the next update.
- Neither the SVr4 nor the XSI documentation specify whether
- the current attribute or current color-pair of blanks gen-
- erated by the scroll function is zeroed. Under this im-
- plementation it is.
+ Neither the SVr4 nor the XSI documentation specify whether the current
+ attribute or current color-pair of blanks generated by the scroll func-
+ tion is zeroed. Under this implementation it is.
-</PRE>
-<H2>PORTABILITY</H2><PRE>
- The XSI Curses standard, Issue 4 describes these func-
- tions.
+</PRE><H2><a name="h2-PORTABILITY">PORTABILITY</a></H2><PRE>
+ The XSI Curses standard, Issue 4 describes these functions.
-</PRE>
-<H2>SEE ALSO</H2><PRE>
+</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_outopts.3x.html">curs_outopts(3x)</A></STRONG>
- <STRONG><A HREF="curs_scroll.3x.html">curs_scroll(3x)</A></STRONG>
+ <STRONG><A HREF="curs_scroll.3x.html">curs_scroll(3x)</A></STRONG>
</PRE>
-<HR>
-<ADDRESS>
-Man(1) output converted with
-<a href="http://www.oac.uci.edu/indiv/ehood/man2html.html">man2html</a>
-</ADDRESS>
+<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>
+<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-SEE-ALSO">SEE ALSO</a></li>
+</ul>
+</div>
</BODY>
</HTML>
diff --git a/doc/html/man/curs_slk.3x.html b/doc/html/man/curs_slk.3x.html
index deeabf55cb61..c1dad6e59d1a 100644
--- a/doc/html/man/curs_slk.3x.html
+++ b/doc/html/man/curs_slk.3x.html
@@ -1,7 +1,6 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN">
<!--
****************************************************************************
- * Copyright (c) 1998-2007,2010 Free Software Foundation, Inc. *
+ * Copyright (c) 1998-2018,2020 Free Software Foundation, Inc. *
* *
* Permission is hereby granted, free of charge, to any person obtaining a *
* copy of this software and associated documentation files (the *
@@ -27,209 +26,281 @@
* sale, use or other dealings in this Software without prior written *
* authorization. *
****************************************************************************
- * @Id: curs_slk.3x,v 1.22 2010/12/04 18:38:55 tom Exp @
+ * @Id: curs_slk.3x,v 1.35 2020/01/18 22:49:38 tom Exp @
-->
+<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN">
<HTML>
<HEAD>
+<meta http-equiv="Content-Type" content="text/html; charset=us-ascii">
+<meta name="generator" content="Manpage converted by man2html - see https://invisible-island.net/scripts/readme.html#others_scripts">
<TITLE>curs_slk 3x</TITLE>
-<link rev=made href="mailto:bug-ncurses@gnu.org">
+<link rel="author" href="mailto:bug-ncurses@gnu.org">
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
</HEAD>
<BODY>
-<H1>curs_slk 3x</H1>
-<HR>
+<H1 class="no-header">curs_slk 3x</H1>
<PRE>
-<!-- Manpage converted by man2html 3.0.1 -->
-<STRONG><A HREF="curs_slk.3x.html">curs_slk(3x)</A></STRONG> <STRONG><A HREF="curs_slk.3x.html">curs_slk(3x)</A></STRONG>
+<STRONG><A HREF="curs_slk.3x.html">curs_slk(3x)</A></STRONG> <STRONG><A HREF="curs_slk.3x.html">curs_slk(3x)</A></STRONG>
-</PRE>
-<H2>NAME</H2><PRE>
- <STRONG>slk_init</STRONG>, <STRONG>slk_set</STRONG>, <STRONG>slk_wset</STRONG>, <STRONG>slk_refresh</STRONG>, <STRONG>slk_noutrefresh</STRONG>,
- <STRONG>slk_label</STRONG>, <STRONG>slk_clear</STRONG>, <STRONG>slk_restore</STRONG>, <STRONG>slk_touch</STRONG>, <STRONG>slk_attron</STRONG>,
- <STRONG>slk_attrset</STRONG>, <STRONG>slk_attroff</STRONG>, <STRONG>slk_attr_on</STRONG>, <STRONG>slk_attr_set</STRONG>,
- <STRONG>slk_attr_off</STRONG>, <STRONG>slk_attr</STRONG>, <STRONG>slk_color</STRONG> - <STRONG>curses</STRONG> soft label
- routines
+</PRE><H2><a name="h2-NAME">NAME</a></H2><PRE>
+ <STRONG>slk_init</STRONG>, <STRONG>slk_set</STRONG>, <STRONG>slk_wset</STRONG>, <STRONG>slk_refresh</STRONG>, <STRONG>slk_noutrefresh</STRONG>, <STRONG>slk_label</STRONG>,
+ <STRONG>slk_clear</STRONG>, <STRONG>slk_restore</STRONG>, <STRONG>slk_touch</STRONG>, <STRONG>slk_attron</STRONG>, <STRONG>slk_attrset</STRONG>,
+ <STRONG>slk_attroff</STRONG>, <STRONG>slk_attr_on</STRONG>, <STRONG>slk_attr_set</STRONG>, <STRONG>slk_attr_off</STRONG>, <STRONG>slk_attr</STRONG>,
+ <STRONG>slk_color</STRONG>, <STRONG>extended_slk_color</STRONG> - <STRONG>curses</STRONG> soft label routines
-</PRE>
-<H2>SYNOPSIS</H2><PRE>
+</PRE><H2><a name="h2-SYNOPSIS">SYNOPSIS</a></H2><PRE>
<STRONG>#include</STRONG> <STRONG>&lt;curses.h&gt;</STRONG>
- <STRONG>int</STRONG> <STRONG>slk_init(int</STRONG> <STRONG>fmt);</STRONG>
- <STRONG>int</STRONG> <STRONG>slk_set(int</STRONG> <STRONG>labnum,</STRONG> <STRONG>const</STRONG> <STRONG>char</STRONG> <STRONG>*label,</STRONG> <STRONG>int</STRONG> <STRONG>fmt);</STRONG>
+ <STRONG>int</STRONG> <STRONG>slk_init(int</STRONG> <EM>fmt</EM><STRONG>);</STRONG>
+
+ <STRONG>int</STRONG> <STRONG>slk_set(int</STRONG> <EM>labnum</EM><STRONG>,</STRONG> <STRONG>const</STRONG> <STRONG>char</STRONG> <STRONG>*</STRONG><EM>label</EM><STRONG>,</STRONG> <STRONG>int</STRONG> <EM>fmt</EM><STRONG>);</STRONG>
+ <STRONG>int</STRONG> <STRONG>slk_wset(int</STRONG> <EM>labnum</EM><STRONG>,</STRONG> <STRONG>const</STRONG> <STRONG>wchar_t</STRONG> <STRONG>*</STRONG><EM>label</EM><STRONG>,</STRONG> <STRONG>int</STRONG> <EM>fmt</EM><STRONG>);</STRONG>
+
+ <STRONG>char</STRONG> <STRONG>*slk_label(int</STRONG> <EM>labnum</EM><STRONG>);</STRONG>
+
<STRONG>int</STRONG> <STRONG>slk_refresh(void);</STRONG>
<STRONG>int</STRONG> <STRONG>slk_noutrefresh(void);</STRONG>
- <STRONG>char</STRONG> <STRONG>*slk_label(int</STRONG> <STRONG>labnum);</STRONG>
<STRONG>int</STRONG> <STRONG>slk_clear(void);</STRONG>
<STRONG>int</STRONG> <STRONG>slk_restore(void);</STRONG>
<STRONG>int</STRONG> <STRONG>slk_touch(void);</STRONG>
- <STRONG>int</STRONG> <STRONG>slk_attron(const</STRONG> <STRONG>chtype</STRONG> <STRONG>attrs);</STRONG>
- <STRONG>int</STRONG> <STRONG>slk_attroff(const</STRONG> <STRONG>chtype</STRONG> <STRONG>attrs);</STRONG>
- <STRONG>int</STRONG> <STRONG>slk_attrset(const</STRONG> <STRONG>chtype</STRONG> <STRONG>attrs);</STRONG>
- <STRONG>int</STRONG> <STRONG>slk_attr_on(attr_t</STRONG> <STRONG>attrs,</STRONG> <STRONG>void*</STRONG> <STRONG>opts);</STRONG>
- <STRONG>int</STRONG> <STRONG>slk_attr_off(const</STRONG> <STRONG>attr_t</STRONG> <STRONG>attrs,</STRONG> <STRONG>void</STRONG> <STRONG>*</STRONG> <STRONG>opts);</STRONG>
- <STRONG>int</STRONG> <STRONG>slk_attr_set(const</STRONG> <STRONG>attr_t</STRONG> <STRONG>attrs,</STRONG> <STRONG>short</STRONG> <STRONG>color_pair,</STRONG>
- <STRONG>void*</STRONG> <STRONG>opts);</STRONG>
+
+ <STRONG>int</STRONG> <STRONG>slk_attron(const</STRONG> <STRONG>chtype</STRONG> <EM>attrs</EM><STRONG>);</STRONG>
+ <STRONG>int</STRONG> <STRONG>slk_attroff(const</STRONG> <STRONG>chtype</STRONG> <EM>attrs</EM><STRONG>);</STRONG>
+ <STRONG>int</STRONG> <STRONG>slk_attrset(const</STRONG> <STRONG>chtype</STRONG> <EM>attrs</EM><STRONG>);</STRONG>
+ <STRONG>int</STRONG> <STRONG>slk_attr_on(attr_t</STRONG> <EM>attrs</EM><STRONG>,</STRONG> <STRONG>void*</STRONG> <EM>opts</EM><STRONG>);</STRONG>
+ <STRONG>int</STRONG> <STRONG>slk_attr_off(const</STRONG> <STRONG>attr_t</STRONG> <EM>attrs</EM><STRONG>,</STRONG> <STRONG>void</STRONG> <STRONG>*</STRONG> <EM>opts</EM><STRONG>);</STRONG>
+ <STRONG>int</STRONG> <STRONG>slk_attr_set(const</STRONG> <STRONG>attr_t</STRONG> <EM>attrs</EM><STRONG>,</STRONG> <STRONG>short</STRONG> <EM>pair</EM><STRONG>,</STRONG> <STRONG>void*</STRONG> <EM>opts</EM><STRONG>);</STRONG>
+
<STRONG>attr_t</STRONG> <STRONG>slk_attr(void);</STRONG>
- <STRONG>int</STRONG> <STRONG>slk_color(short</STRONG> <STRONG>color_pair);</STRONG>
- <STRONG>int</STRONG> <STRONG>slk_wset(int</STRONG> <STRONG>labnum,</STRONG> <STRONG>const</STRONG> <STRONG>wchar_t</STRONG> <STRONG>*label,</STRONG> <STRONG>int</STRONG> <STRONG>fmt);</STRONG>
+ <STRONG>int</STRONG> <STRONG>slk_color(short</STRONG> <EM>pair</EM><STRONG>);</STRONG>
+ /* extension */
+ <STRONG>int</STRONG> <STRONG>extended_slk_color(int</STRONG> <EM>pair</EM><STRONG>);</STRONG>
-</PRE>
-<H2>DESCRIPTION</H2><PRE>
- The slk* functions manipulate the set of soft function-key
- labels that exist on many terminals. For those terminals
- that do not have soft labels, <STRONG>curses</STRONG> takes over the bottom
- line of <STRONG>stdscr</STRONG>, reducing the size of <STRONG>stdscr</STRONG> and the vari-
- able <STRONG>LINES</STRONG>. <STRONG>curses</STRONG> standardizes on eight labels of up to
- eight characters each. In addition to this, the ncurses
- implementation supports a mode where it simulates 12 la-
- bels of up to five characters each. This is useful for
- today's PC-like enduser devices. ncurses simulates this
- mode by taking over up to two lines at the bottom of the
- screen; it does not try to use any hardware support for
- this mode.
- The <STRONG>slk_init</STRONG> routine must be called before <STRONG>initscr</STRONG> or
- <STRONG>newterm</STRONG> is called. If <STRONG>initscr</STRONG> eventually uses a line from
- <STRONG>stdscr</STRONG> to emulate the soft labels, then <EM>fmt</EM> determines how
- the labels are arranged on the screen:
+</PRE><H2><a name="h2-DESCRIPTION">DESCRIPTION</a></H2><PRE>
+ The slk* functions manipulate the set of soft function-key labels that
+ exist on many terminals. For those terminals that do not have soft la-
+ bels, <STRONG>curses</STRONG> takes over the bottom line of <STRONG>stdscr</STRONG>, reducing the size of
+ <STRONG>stdscr</STRONG> and the variable <STRONG>LINES</STRONG>. <STRONG>curses</STRONG> standardizes on eight labels of
+ up to eight characters each. In addition to this, the ncurses imple-
+ mentation supports a mode where it simulates 12 labels of up to five
+ characters each. This is useful for PC-like enduser devices. ncurses
+ simulates this mode by taking over up to two lines at the bottom of the
+ screen; it does not try to use any hardware support for this mode.
- <STRONG>0</STRONG> indicates a 3-2-3 arrangement of the labels.
- <STRONG>1</STRONG> indicates a 4-4 arrangement
+</PRE><H3><a name="h3-Initialization">Initialization</a></H3><PRE>
+ The <STRONG>slk_init</STRONG> routine must be called before <STRONG>initscr</STRONG> or <STRONG>newterm</STRONG> is
+ called. If <STRONG>initscr</STRONG> eventually uses a line from <STRONG>stdscr</STRONG> to emulate the
+ soft labels, then <EM>fmt</EM> determines how the labels are arranged on the
+ screen:
- <STRONG>2</STRONG> indicates the PC-like 4-4-4 mode.
+ <STRONG>0</STRONG> indicates a 3-2-3 arrangement of the labels.
- <STRONG>3</STRONG> is again the PC-like 4-4-4 mode, but in addition
- an index line is generated, helping the user to
- identify the key numbers easily.
+ <STRONG>1</STRONG> indicates a 4-4 arrangement
- The <STRONG>slk_set</STRONG> routine (and the <STRONG>slk_wset</STRONG> routine for the
- wide-character library) has three parameters:
+ <STRONG>2</STRONG> indicates the PC-like 4-4-4 mode.
- <EM>labnum</EM>
- is the label number, from <STRONG>1</STRONG> to <STRONG>8</STRONG> (12 for <EM>fmt</EM>
- in <STRONG>slk_init</STRONG> is <STRONG>2</STRONG> or <STRONG>3</STRONG>);
+ <STRONG>3</STRONG> is again the PC-like 4-4-4 mode, but in addition an index line is
+ generated, helping the user to identify the key numbers easily.
- <EM>label</EM>
- is be the string to put on the label, up to
- eight (five for <EM>fmt</EM> in <STRONG>slk_init</STRONG> is <STRONG>2</STRONG> or <STRONG>3</STRONG>)
- characters in length. A null string or a null
- pointer sets up a blank label.
- <EM>fmt</EM> is either <STRONG>0</STRONG>, <STRONG>1</STRONG>, or <STRONG>2</STRONG>, indicating whether the
- label is to be left-justified, centered, or
- right-justified, respectively, within the la-
- bel.
+</PRE><H3><a name="h3-Labels">Labels</a></H3><PRE>
+ The <STRONG>slk_set</STRONG> routine (and the <STRONG>slk_wset</STRONG> routine for the wide-character
+ library) has three parameters:
- The <STRONG>slk_refresh</STRONG> and <STRONG>slk_noutrefresh</STRONG> routines correspond to
- the <STRONG>wrefresh</STRONG> and <STRONG>wnoutrefresh</STRONG> routines.
+ <EM>labnum</EM>
+ is the label number, from <STRONG>1</STRONG> to <STRONG>8</STRONG> (12 for <EM>fmt</EM> in <STRONG>slk_init</STRONG> is <STRONG>2</STRONG>
+ or <STRONG>3</STRONG>);
- The <STRONG>slk_label</STRONG> routine returns the current label for label
- number <EM>labnum</EM>, with leading and trailing blanks stripped.
+ <EM>label</EM>
+ is be the string to put on the label, up to eight (five for <EM>fmt</EM>
+ in <STRONG>slk_init</STRONG> is <STRONG>2</STRONG> or <STRONG>3</STRONG>) characters in length. A null string or
+ a null pointer sets up a blank label.
- The <STRONG>slk_clear</STRONG> routine clears the soft labels from the
- screen.
+ <EM>fmt</EM> is either <STRONG>0</STRONG>, <STRONG>1</STRONG>, or <STRONG>2</STRONG>, indicating whether the label is to be
+ left-justified, centered, or right-justified, respectively,
+ within the label.
- The <STRONG>slk_restore</STRONG> routine restores the soft labels to the
- screen after a <STRONG>slk_clear</STRONG> has been performed.
+ The <STRONG>slk_label</STRONG> routine returns the current label for label number <EM>lab-</EM>
+ <EM>num</EM>, with leading and trailing blanks stripped.
- The <STRONG>slk_touch</STRONG> routine forces all the soft labels to be
- output the next time a <STRONG>slk_noutrefresh</STRONG> is performed.
- The <STRONG>slk_attron</STRONG>, <STRONG>slk_attrset</STRONG>, <STRONG>slk_attroff</STRONG> and <STRONG>slk_attr</STRONG> rou-
- tines correspond to <STRONG>attron</STRONG>, <STRONG>attrset</STRONG>, <STRONG>attroff</STRONG> and <STRONG>attr_get</STRONG>.
- They have an effect only if soft labels are simulated on
- the bottom line of the screen. The default highlight for
- soft keys is A_STANDOUT (as in System V curses, which does
- not document this fact).
+</PRE><H3><a name="h3-Screen-updates">Screen updates</a></H3><PRE>
+ The <STRONG>slk_refresh</STRONG> and <STRONG>slk_noutrefresh</STRONG> routines correspond to the <STRONG>wrefresh</STRONG>
+ and <STRONG>wnoutrefresh</STRONG> routines.
- The <STRONG>slk_color</STRONG> routine corresponds to <STRONG>color_set</STRONG>. It has an
- effect only if soft labels are simulated on the bottom
- line of the screen.
+ The <STRONG>slk_clear</STRONG> routine clears the soft labels from the screen.
+ The <STRONG>slk_restore</STRONG> routine restores the soft labels to the screen after a
+ <STRONG>slk_clear</STRONG> has been performed.
-</PRE>
-<H2>RETURN VALUE</H2><PRE>
- These routines return <STRONG>ERR</STRONG> upon failure and OK (SVr4 speci-
- fies only "an integer value other than <STRONG>ERR</STRONG>") upon success-
- ful completion.
+ The <STRONG>slk_touch</STRONG> routine forces all the soft labels to be output the next
+ time a <STRONG>slk_noutrefresh</STRONG> is performed.
- X/Open defines no error conditions. In this implementa-
- tion
- <STRONG>slk_attr</STRONG>
- returns the attribute used for the soft keys.
+</PRE><H3><a name="h3-Video-attributes">Video attributes</a></H3><PRE>
+ The <STRONG>slk_attron</STRONG>, <STRONG>slk_attrset</STRONG>, <STRONG>slk_attroff</STRONG> and <STRONG>slk_attr</STRONG> routines corre-
+ spond to <STRONG>attron</STRONG>, <STRONG>attrset</STRONG>, <STRONG>attroff</STRONG> and <STRONG>attr_get</STRONG>, respectively. They
+ have an effect only if soft labels are simulated on the bottom line of
+ the screen. The default highlight for soft keys is A_STANDOUT (as in
+ System V curses, which does not document this fact).
- <STRONG>slk_attroff</STRONG>, <STRONG>slk_attron</STRONG>, <STRONG>slk_clear</STRONG>,
- <STRONG>slk_noutrefresh</STRONG>, <STRONG>slk_refresh</STRONG>, <STRONG>slk_touch</STRONG>
- return an error if the terminal or the soft-
- keys were not initialized.
- <STRONG>slk_attrset</STRONG>
- returns an error if the terminal or the soft-
- keys were not initialized.
+</PRE><H3><a name="h3-Colors">Colors</a></H3><PRE>
+ The <STRONG>slk_color</STRONG> routine corresponds to <STRONG>color_set</STRONG>. It has an effect only
+ if soft labels are simulated on the bottom line of the screen.
- <STRONG>slk_attr_set</STRONG>
- returns an error if the terminal or the soft-
- keys were not initialized, or the color pair
- is outside the range 0..COLOR_PAIRS-1, or opts
- is not null.
+ Because <STRONG>slk_color</STRONG> accepts only <STRONG>short</STRONG> (signed 16-bit integer) values,
+ this implementation provides <STRONG>extended_slk_color</STRONG> which accepts an inte-
+ ger value, e.g., 32-bits.
- <STRONG>slk_color</STRONG>
- returns an error if the terminal or the soft-
- keys were not initialized, or the color pair
- is outside the range 0..COLOR_PAIRS-1.
- <STRONG>slk_init</STRONG>
- returns an error if the format parameter is
- outside the range 0..3.
+</PRE><H2><a name="h2-RETURN-VALUE">RETURN VALUE</a></H2><PRE>
+ These routines return <STRONG>ERR</STRONG> upon failure and <STRONG>OK</STRONG> (SVr4 specifies only "an
+ integer value other than <STRONG>ERR</STRONG>") upon successful completion.
- <STRONG>slk_label</STRONG>
- returns <STRONG>NULL</STRONG> on error.
+ X/Open defines no error conditions. In this implementation
- <STRONG>slk_set</STRONG>
- returns an error if the terminal or the soft-
- keys were not initialized, or the <EM>labnum</EM> pa-
- rameter is outside the range of label counts,
- or if the format parameter is outside the
- range 0..2, or if memory for the labels cannot
- be allocated.
+ <STRONG>slk_attr</STRONG>
+ returns the attribute used for the soft keys.
+ <STRONG>slk_attroff</STRONG>, <STRONG>slk_attron</STRONG>, <STRONG>slk_clear</STRONG>, <STRONG>slk_noutrefresh</STRONG>, <STRONG>slk_refresh</STRONG>,
+ <STRONG>slk_touch</STRONG>
+ return an error if the terminal or the softkeys were not ini-
+ tialized.
-</PRE>
-<H2>NOTES</H2><PRE>
- Most applications would use <STRONG>slk_noutrefresh</STRONG> because a <STRONG>wre-</STRONG>
- <STRONG>fresh</STRONG> is likely to follow soon.
+ <STRONG>slk_attrset</STRONG>
+ returns an error if the terminal or the softkeys were not ini-
+ tialized.
+ <STRONG>slk_attr_set</STRONG>
+ returns an error if the terminal or the softkeys were not ini-
+ tialized, or the color pair is outside the range 0..COL-
+ OR_PAIRS-1.
-</PRE>
-<H2>PORTABILITY</H2><PRE>
- The XSI Curses standard, Issue 4, describes these func-
- tions. It changes the argument type of the attribute-ma-
- nipulation functions <STRONG>slk_attron</STRONG>, <STRONG>slk_attroff</STRONG>, <STRONG>slk_attrset</STRONG>
- to be <STRONG>attr_t</STRONG>, and adds <STRONG>const</STRONG> qualifiers. The format codes
- <STRONG>2</STRONG> and <STRONG>3</STRONG> for <STRONG>slk_init()</STRONG> and the function <STRONG>slk_attr</STRONG> are spe-
- cific to ncurses.
+ <STRONG>slk_color</STRONG>
+ returns an error if the terminal or the softkeys were not ini-
+ tialized, or the color pair is outside the range 0..COL-
+ OR_PAIRS-1.
+ <STRONG>slk_init</STRONG>
+ returns an error if the format parameter is outside the range
+ 0..3.
-</PRE>
-<H2>SEE ALSO</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>curs_re-</STRONG>
- <STRONG><A HREF="curs_refresh.3x.html">fresh(3x)</A></STRONG>, <STRONG><A HREF="curs_variables.3x.html">curs_variables(3x)</A></STRONG>.
+ <STRONG>slk_label</STRONG>
+ returns <STRONG>NULL</STRONG> on error.
+
+ <STRONG>slk_set</STRONG>
+ returns an error if the terminal or the softkeys were not ini-
+ tialized, or the <EM>labnum</EM> parameter is outside the range of label
+ counts, or if the format parameter is outside the range 0..2,
+ or if memory for the labels cannot be allocated.
+
+
+</PRE><H2><a name="h2-HISTORY">HISTORY</a></H2><PRE>
+ SVr3 introduced these functions:
+ slk_clear
+ slk_init
+ slk_label
+ slk_noutrefresh
+ slk_refresh
+ slk_restore
+ slk_set
+ slk_touch
+
+ SVr4 added these functions:
+ slk_attroff
+ slk_attron
+ slk_attrset
+ slk_start
+
+ X/Open Curses added these:
+ slk_attr_off
+ slk_attr_on
+ slk_attr_set
+ slk_color
+ slk_wset
+
+
+</PRE><H2><a name="h2-EXTENSIONS">EXTENSIONS</a></H2><PRE>
+ X/Open Curses documents the <EM>opts</EM> argument as reserved for future use,
+ saying that it must be null. This implementation uses that parameter
+ in ABI 6 for the functions which have a color-pair parameter to support
+ extended color pairs.
+
+ For functions which modify the color, e.g., <STRONG>slk_attr_set</STRONG>, if <EM>opts</EM> is
+ set it is treated as a pointer to <STRONG>int</STRONG>, and used to set the color
+ pair instead of the <STRONG>short</STRONG> pair parameter.
+
+
+</PRE><H2><a name="h2-NOTES">NOTES</a></H2><PRE>
+ Most applications would use <STRONG>slk_noutrefresh</STRONG> because a <STRONG>wrefresh</STRONG> is like-
+ ly to follow soon.
+
+
+</PRE><H2><a name="h2-PORTABILITY">PORTABILITY</a></H2><PRE>
+ The XSI Curses standard, Issue 4, described the soft-key functions,
+ with some differences from SVr4 curses:
+
+ <STRONG>o</STRONG> It added functions like the SVr4 attribute-manipulation functions
+ <STRONG>slk_attron</STRONG>, <STRONG>slk_attroff</STRONG>, <STRONG>slk_attrset</STRONG>, but which use <STRONG>attr_t</STRONG> parame-
+ ters (rather than <STRONG>chtype</STRONG>), along with a reserved <EM>opts</EM> parameter.
+
+ Two of these new functions (unlike the SVr4 functions) have no pro-
+ vision for color: <STRONG>slk_attr_on</STRONG> and <STRONG>slk_attr_off</STRONG>.
+
+ The third function (<STRONG>slk_attr_set</STRONG>) has a color-pair parameter.
+
+ <STRONG>o</STRONG> It added <STRONG>const</STRONG> qualifiers to parameters (unnecessarily), and
+
+ <STRONG>o</STRONG> It added <STRONG>slk_color</STRONG>.
+
+ The format codes <STRONG>2</STRONG> and <STRONG>3</STRONG> for <STRONG>slk_init</STRONG> and the function <STRONG>slk_attr</STRONG> are
+ specific to ncurses.
+
+ 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
+ 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-
+ numbers.
+
+
+</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_refresh.3x.html">curs_refresh(3x)</A></STRONG>,
+ <STRONG><A HREF="curs_variables.3x.html">curs_variables(3x)</A></STRONG>.
- <STRONG><A HREF="curs_slk.3x.html">curs_slk(3x)</A></STRONG>
+ <STRONG><A HREF="curs_slk.3x.html">curs_slk(3x)</A></STRONG>
</PRE>
-<HR>
-<ADDRESS>
-Man(1) output converted with
-<a href="http://www.oac.uci.edu/indiv/ehood/man2html.html">man2html</a>
-</ADDRESS>
+<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>
+<ul>
+<li><a href="#h3-Initialization">Initialization</a></li>
+<li><a href="#h3-Labels">Labels</a></li>
+<li><a href="#h3-Screen-updates">Screen updates</a></li>
+<li><a href="#h3-Video-attributes">Video attributes</a></li>
+<li><a href="#h3-Colors">Colors</a></li>
+</ul>
+</li>
+<li><a href="#h2-RETURN-VALUE">RETURN VALUE</a></li>
+<li><a href="#h2-HISTORY">HISTORY</a></li>
+<li><a href="#h2-EXTENSIONS">EXTENSIONS</a></li>
+<li><a href="#h2-NOTES">NOTES</a></li>
+<li><a href="#h2-PORTABILITY">PORTABILITY</a></li>
+<li><a href="#h2-SEE-ALSO">SEE ALSO</a></li>
+</ul>
+</div>
</BODY>
</HTML>
diff --git a/doc/html/man/curs_sp_funcs.3x.html b/doc/html/man/curs_sp_funcs.3x.html
index 5f973584d324..4b5358d3091e 100644
--- a/doc/html/man/curs_sp_funcs.3x.html
+++ b/doc/html/man/curs_sp_funcs.3x.html
@@ -1,7 +1,6 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN">
<!--
****************************************************************************
- * Copyright (c) 2010,2013 Free Software Foundation, Inc. *
+ * Copyright (c) 2010-2018,2019 Free Software Foundation, Inc. *
* *
* Permission is hereby granted, free of charge, to any person obtaining a *
* copy of this software and associated documentation files (the *
@@ -27,36 +26,36 @@
* sale, use or other dealings in this Software without prior written *
* authorization. *
****************************************************************************
- * @Id: curs_sp_funcs.3x,v 1.6 2013/06/22 17:53:59 tom Exp @
+ * @Id: curs_sp_funcs.3x,v 1.17 2019/11/30 21:01: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>curs_sp_funcs 3x</TITLE>
-<link rev=made href="mailto:bug-ncurses@gnu.org">
+<link rel="author" href="mailto:bug-ncurses@gnu.org">
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
</HEAD>
<BODY>
-<H1>curs_sp_funcs 3x</H1>
-<HR>
+<H1 class="no-header">curs_sp_funcs 3x</H1>
<PRE>
-<!-- Manpage converted by man2html 3.0.1 -->
-<STRONG><A HREF="curs_sp_funcs.3x.html">curs_sp_funcs(3x)</A></STRONG> <STRONG><A HREF="curs_sp_funcs.3x.html">curs_sp_funcs(3x)</A></STRONG>
+<STRONG><A HREF="curs_sp_funcs.3x.html">curs_sp_funcs(3x)</A></STRONG> <STRONG><A HREF="curs_sp_funcs.3x.html">curs_sp_funcs(3x)</A></STRONG>
-</PRE>
-<H2>NAME</H2><PRE>
- new_prescr - <STRONG>curses</STRONG> screen-pointer extension
+</PRE><H2><a name="h2-NAME">NAME</a></H2><PRE>
+ curs_sp_funcs - <STRONG>curses</STRONG> screen-pointer extension
-</PRE>
-<H2>SYNOPSIS</H2><PRE>
- <STRONG>#include</STRONG> <STRONG>&lt;curses.h&gt;</STRONG>
+</PRE><H2><a name="h2-SYNOPSIS">SYNOPSIS</a></H2><PRE>
+ <STRONG>#include</STRONG> <STRONG>&lt;curses.h&gt;</STRONG> <STRONG>#include</STRONG> <STRONG>&lt;term.h&gt;</STRONG>
+ <STRONG>int</STRONG> <STRONG>alloc_pair_sp(SCREEN*,</STRONG> <STRONG>int,</STRONG> <STRONG>int);</STRONG>
<STRONG>int</STRONG> <STRONG>assume_default_colors_sp(SCREEN*,</STRONG> <STRONG>int,</STRONG> <STRONG>int);</STRONG>
<STRONG>int</STRONG> <STRONG>baudrate_sp(SCREEN*);</STRONG>
<STRONG>int</STRONG> <STRONG>beep_sp(SCREEN*);</STRONG>
@@ -71,20 +70,27 @@
<STRONG>int</STRONG> <STRONG>doupdate_sp(SCREEN*);</STRONG>
<STRONG>int</STRONG> <STRONG>echo_sp(SCREEN*);</STRONG>
<STRONG>int</STRONG> <STRONG>endwin_sp(SCREEN*);</STRONG>
- <STRONG>int</STRONG> <STRONG>erasechar_sp(SCREEN*);</STRONG>
- <STRONG>int</STRONG> <STRONG>filter_sp(SCREEN*);</STRONG>
+ <STRONG>char</STRONG> <STRONG>erasechar_sp(SCREEN*);</STRONG>
+ <STRONG>int</STRONG> <STRONG>extended_color_content_sp(SCREEN</STRONG> <STRONG>*,</STRONG> <STRONG>int,</STRONG> <STRONG>int</STRONG> <STRONG>*,</STRONG> <STRONG>int</STRONG> <STRONG>*,</STRONG> <STRONG>int</STRONG> <STRONG>*);</STRONG>
+ <STRONG>int</STRONG> <STRONG>extended_pair_content_sp(SCREEN*,</STRONG> <STRONG>int,</STRONG> <STRONG>int</STRONG> <STRONG>*,</STRONG> <STRONG>int</STRONG> <STRONG>*);</STRONG>
+ <STRONG>int</STRONG> <STRONG>extended_slk_color_sp(SCREEN*,</STRONG> <STRONG>int);</STRONG>
+ <STRONG>void</STRONG> <STRONG>filter_sp(SCREEN*);</STRONG>
+ <STRONG>int</STRONG> <STRONG>find_pair_sp(SCREEN*,</STRONG> <STRONG>int,</STRONG> <STRONG>int);</STRONG>
+ <STRONG>int</STRONG> <STRONG>free_pair_sp(SCREEN*,</STRONG> <STRONG>int);</STRONG>
<STRONG>int</STRONG> <STRONG>flash_sp(SCREEN*);</STRONG>
<STRONG>int</STRONG> <STRONG>flushinp_sp(SCREEN*);</STRONG>
<STRONG>int</STRONG> <STRONG>get_escdelay_sp(SCREEN*);</STRONG>
<STRONG>int</STRONG> <STRONG>getmouse_sp(SCREEN*,</STRONG> <STRONG>MEVENT*);</STRONG>
<STRONG>WINDOW*</STRONG> <STRONG>getwin_sp(SCREEN*,</STRONG> <STRONG>FILE*);</STRONG>
- <STRONG>int</STRONG> <STRONG>halfdelay_sp(SCREEN*);</STRONG>
+ <STRONG>int</STRONG> <STRONG>halfdelay_sp(SCREEN*,</STRONG> <STRONG>int);</STRONG>
<STRONG>bool</STRONG> <STRONG>has_colors_sp(SCREEN*);</STRONG>
<STRONG>bool</STRONG> <STRONG>has_ic_sp(SCREEN*);</STRONG>
<STRONG>bool</STRONG> <STRONG>has_il_sp(SCREEN*);</STRONG>
<STRONG>int</STRONG> <STRONG>has_key_sp(SCREEN*,</STRONG> <STRONG>int);</STRONG>
<STRONG>bool</STRONG> <STRONG>has_mouse_sp(SCREEN*);</STRONG>
<STRONG>int</STRONG> <STRONG>init_color_sp(SCREEN*,</STRONG> <STRONG>short,</STRONG> <STRONG>short,</STRONG> <STRONG>short,</STRONG> <STRONG>short);</STRONG>
+ <STRONG>int</STRONG> <STRONG>init_extended_color_sp(SCREEN*,</STRONG> <STRONG>int,</STRONG> <STRONG>int,</STRONG> <STRONG>int,</STRONG> <STRONG>int);</STRONG>
+ <STRONG>int</STRONG> <STRONG>init_extended_pair_sp(SCREEN*,</STRONG> <STRONG>int,</STRONG> <STRONG>int,</STRONG> <STRONG>int);</STRONG>
<STRONG>int</STRONG> <STRONG>init_pair_sp(SCREEN*,</STRONG> <STRONG>short,</STRONG> <STRONG>short,</STRONG> <STRONG>short);</STRONG>
<STRONG>int</STRONG> <STRONG>intrflush_sp(SCREEN*,</STRONG> <STRONG>WINDOW*,</STRONG> <STRONG>bool);</STRONG>
<STRONG>bool</STRONG> <STRONG>isendwin_sp(SCREEN*);</STRONG>
@@ -94,6 +100,7 @@
<STRONG>NCURSES_CONST</STRONG> <STRONG>char</STRONG> <STRONG>*</STRONG> <STRONG>keyname_sp(SCREEN*,</STRONG> <STRONG>int);</STRONG>
<STRONG>int</STRONG> <STRONG>keyok_sp(SCREEN*,</STRONG> <STRONG>int,</STRONG> <STRONG>bool);</STRONG>
<STRONG>char</STRONG> <STRONG>killchar_sp(SCREEN*);</STRONG>
+ <STRONG>char*</STRONG> <STRONG>longname_sp(SCREEN*);</STRONG>
<STRONG>int</STRONG> <STRONG>mcprint_sp(SCREEN*,</STRONG> <STRONG>char</STRONG> <STRONG>*,</STRONG> <STRONG>int);</STRONG>
<STRONG>int</STRONG> <STRONG>mouseinterval_sp(SCREEN*,</STRONG> <STRONG>int);</STRONG>
<STRONG>mmask_t</STRONG> <STRONG>mousemask_sp(SCREEN*,</STRONG> <STRONG>mmask_t,</STRONG> <STRONG>mmask_t</STRONG> <STRONG>*);</STRONG>
@@ -101,12 +108,12 @@
<STRONG>int</STRONG> <STRONG>napms_sp(SCREEN*,</STRONG> <STRONG>int);</STRONG>
<STRONG>WINDOW*</STRONG> <STRONG>newpad_sp(SCREEN*,</STRONG> <STRONG>int,</STRONG> <STRONG>int);</STRONG>
<STRONG>SCREEN*</STRONG> <STRONG>new_prescr(void);</STRONG>
- <STRONG>SCREEN*</STRONG> <STRONG>newterm_sp(SCREEN*,</STRONG> <STRONG>NCURSES_CONST</STRONG> <STRONG>char</STRONG> <STRONG>*,</STRONG> <STRONG>FILE</STRONG> <STRONG>*,</STRONG> <STRONG>FILE</STRONG> <STRONG>*);</STRONG>
+ <STRONG>SCREEN*</STRONG> <STRONG>newterm_sp(SCREEN*,</STRONG> <STRONG>const</STRONG> <STRONG>char</STRONG> <STRONG>*,</STRONG> <STRONG>FILE</STRONG> <STRONG>*,</STRONG> <STRONG>FILE</STRONG> <STRONG>*);</STRONG>
<STRONG>WINDOW*</STRONG> <STRONG>newwin_sp(SCREEN*,</STRONG> <STRONG>int,</STRONG> <STRONG>int,</STRONG> <STRONG>int,</STRONG> <STRONG>int);</STRONG>
<STRONG>int</STRONG> <STRONG>nl_sp(SCREEN*);</STRONG>
<STRONG>int</STRONG> <STRONG>nocbreak_sp(SCREEN*);</STRONG>
<STRONG>int</STRONG> <STRONG>noecho_sp(SCREEN*);</STRONG>
- <STRONG>int</STRONG> <STRONG>nofilter_sp(SCREEN*);</STRONG>
+ <STRONG>void</STRONG> <STRONG>nofilter_sp(SCREEN*);</STRONG>
<STRONG>int</STRONG> <STRONG>nonl_sp(SCREEN*);</STRONG>
<STRONG>void</STRONG> <STRONG>noqiflush_sp(SCREEN*);</STRONG>
<STRONG>int</STRONG> <STRONG>noraw_sp(SCREEN*);</STRONG>
@@ -131,11 +138,11 @@
<STRONG>int</STRONG> <STRONG>slk_attron_sp(SCREEN*,</STRONG> <STRONG>const</STRONG> <STRONG>chtype);</STRONG>
<STRONG>int</STRONG> <STRONG>slk_attr_set_sp(SCREEN*,</STRONG> <STRONG>const</STRONG> <STRONG>attr_t,</STRONG> <STRONG>short,</STRONG> <STRONG>void*);</STRONG>
<STRONG>int</STRONG> <STRONG>slk_attrset_sp(SCREEN*,</STRONG> <STRONG>const</STRONG> <STRONG>chtype);</STRONG>
- <STRONG>int</STRONG> <STRONG>slk_attr_sp(SCREEN*);</STRONG>
+ <STRONG>attr_t</STRONG> <STRONG>slk_attr_sp(SCREEN*);</STRONG>
<STRONG>int</STRONG> <STRONG>slk_clear_sp(SCREEN*);</STRONG>
<STRONG>int</STRONG> <STRONG>slk_color_sp(SCREEN*,</STRONG> <STRONG>short);</STRONG>
<STRONG>int</STRONG> <STRONG>slk_init_sp(SCREEN*,</STRONG> <STRONG>int);</STRONG>
- <STRONG>int</STRONG> <STRONG>slk_label_sp(SCREEN*,</STRONG> <STRONG>int);</STRONG>
+ <STRONG>char*</STRONG> <STRONG>slk_label_sp(SCREEN*,</STRONG> <STRONG>int);</STRONG>
<STRONG>int</STRONG> <STRONG>slk_noutrefresh_sp(SCREEN*);</STRONG>
<STRONG>int</STRONG> <STRONG>slk_refresh_sp(SCREEN*);</STRONG>
<STRONG>int</STRONG> <STRONG>slk_restore_sp(SCREEN*);</STRONG>
@@ -152,6 +159,7 @@
<STRONG>int</STRONG> <STRONG>unget_wch_sp(SCREEN*,</STRONG> <STRONG>const</STRONG> <STRONG>wchar_t);</STRONG>
<STRONG>int</STRONG> <STRONG>use_default_colors_sp(SCREEN*);</STRONG>
<STRONG>void</STRONG> <STRONG>use_env_sp(SCREEN*,</STRONG> <STRONG>bool);</STRONG>
+ <STRONG>void</STRONG> <STRONG>use_tioctl_sp(SCREEN</STRONG> <STRONG>*,</STRONG> <STRONG>bool);</STRONG>
<STRONG>int</STRONG> <STRONG>use_legacy_coding_sp(SCREEN*,</STRONG> <STRONG>int);</STRONG>
<STRONG>int</STRONG> <STRONG>vid_attr_sp(SCREEN*,</STRONG> <STRONG>attr_t,</STRONG> <STRONG>short,</STRONG> <STRONG>void</STRONG> <STRONG>*);</STRONG>
<STRONG>int</STRONG> <STRONG>vidattr_sp(SCREEN*,</STRONG> <STRONG>chtype);</STRONG>
@@ -161,123 +169,123 @@
<STRONG>#include</STRONG> <STRONG>&lt;form.h&gt;</STRONG>
- <STRONG>int</STRONG> <STRONG>new_form_sp(SCREEN*,</STRONG> <STRONG>FIELD</STRONG> <STRONG>**);</STRONG>
+ <STRONG>FORM*</STRONG> <STRONG>new_form_sp(SCREEN*,</STRONG> <STRONG>FIELD</STRONG> <STRONG>**);</STRONG>
<STRONG>#include</STRONG> <STRONG>&lt;menu.h&gt;</STRONG>
- <STRONG>int</STRONG> <STRONG>new_menu_sp(SCREEN*,</STRONG> <STRONG>ITEM</STRONG> <STRONG>**);</STRONG>
+ <STRONG>MENU*</STRONG> <STRONG>new_menu_sp(SCREEN*,</STRONG> <STRONG>ITEM</STRONG> <STRONG>**);</STRONG>
<STRONG>#include</STRONG> <STRONG>&lt;panel.h&gt;</STRONG>
- <STRONG>int</STRONG> <STRONG>ceiling_panel(SCREEN*);</STRONG>
+ <STRONG>PANEL*</STRONG> <STRONG>ceiling_panel(SCREEN*);</STRONG>
<STRONG>PANEL*</STRONG> <STRONG>ground_panel(SCREEN*);</STRONG>
- <STRONG>int</STRONG> <STRONG>update_panels_sp(SCREEN*);</STRONG>
+ <STRONG>void</STRONG> <STRONG>update_panels_sp(SCREEN*);</STRONG>
<STRONG>#include</STRONG> <STRONG>&lt;term.h&gt;</STRONG>
<STRONG>int</STRONG> <STRONG>del_curterm_sp(SCREEN*,</STRONG> <STRONG>TERMINAL</STRONG> <STRONG>*);</STRONG>
<STRONG>int</STRONG> <STRONG>putp_sp(SCREEN*,</STRONG> <STRONG>const</STRONG> <STRONG>char</STRONG> <STRONG>*);</STRONG>
- <STRONG>int</STRONG> <STRONG>tgetflag_sp(SCREEN*,</STRONG> <STRONG>char</STRONG> <STRONG>*,</STRONG> <STRONG>const</STRONG> <STRONG>char</STRONG> <STRONG>*);</STRONG>
+ <STRONG>int</STRONG> <STRONG>tgetflag_sp(SCREEN*,</STRONG> <STRONG>const</STRONG> <STRONG>char</STRONG> <STRONG>*);</STRONG>
<STRONG>int</STRONG> <STRONG>tgetent_sp(SCREEN*,</STRONG> <STRONG>char</STRONG> <STRONG>*,</STRONG> <STRONG>const</STRONG> <STRONG>char</STRONG> <STRONG>*);</STRONG>
- <STRONG>int</STRONG> <STRONG>tgetnum_sp(SCREEN*,</STRONG> <STRONG>NCURSES_CONST</STRONG> <STRONG>char</STRONG> <STRONG>*);</STRONG>
- <STRONG>char*</STRONG> <STRONG>tgetstr_sp(SCREEN*,</STRONG> <STRONG>NCURSES_CONST</STRONG> <STRONG>char</STRONG> <STRONG>*,</STRONG> <STRONG>char</STRONG> <STRONG>**);</STRONG>
- <STRONG>int</STRONG> <STRONG>tigetflag_sp(SCREEN*,</STRONG> <STRONG>NCURSES_CONST</STRONG> <STRONG>char</STRONG> <STRONG>*);</STRONG>
- <STRONG>int</STRONG> <STRONG>tigetnum_sp(SCREEN*,</STRONG> <STRONG>NCURSES_CONST</STRONG> <STRONG>char</STRONG> <STRONG>*);</STRONG>
- <STRONG>char*</STRONG> <STRONG>tigetstr_sp(SCREEN*,</STRONG> <STRONG>NCURSES_CONST</STRONG> <STRONG>char</STRONG> <STRONG>*);</STRONG>
+ <STRONG>int</STRONG> <STRONG>tgetnum_sp(SCREEN*,</STRONG> <STRONG>const</STRONG> <STRONG>char</STRONG> <STRONG>*);</STRONG>
+ <STRONG>char*</STRONG> <STRONG>tgetstr_sp(SCREEN*,</STRONG> <STRONG>const</STRONG> <STRONG>char</STRONG> <STRONG>*,</STRONG> <STRONG>char</STRONG> <STRONG>**);</STRONG>
+ <STRONG>int</STRONG> <STRONG>tigetflag_sp(SCREEN*,</STRONG> <STRONG>const</STRONG> <STRONG>char</STRONG> <STRONG>*);</STRONG>
+ <STRONG>int</STRONG> <STRONG>tigetnum_sp(SCREEN*,</STRONG> <STRONG>const</STRONG> <STRONG>char</STRONG> <STRONG>*);</STRONG>
+ <STRONG>char*</STRONG> <STRONG>tigetstr_sp(SCREEN*,</STRONG> <STRONG>const</STRONG> <STRONG>char</STRONG> <STRONG>*);</STRONG>
<STRONG>int</STRONG> <STRONG>tputs_sp(SCREEN*,</STRONG> <STRONG>const</STRONG> <STRONG>char</STRONG> <STRONG>*,</STRONG> <STRONG>int,</STRONG> <STRONG>NCURSES_SP_OUTC);</STRONG>
-</PRE>
-<H2>DESCRIPTION</H2><PRE>
- 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 configu-
- rations supported by ncurses; it adds new entrypoints
- without changing the meaning of any of the existing ones.
-
- <STRONG>IMPROVED</STRONG> <STRONG>FUNCTIONS</STRONG>
- Most of the functions are new versions of existing func-
- tions. A parameter is added at the front of the parameter
- list. It is a SCREEN pointer.
-
- The existing functions all use the current screen, which
- is a static variable. The extended functions use the
- specified screen, thereby reducing the number of variables
- which must be modified to update multiple screens.
-
- <STRONG>NEW</STRONG> <STRONG>FUNCTIONS</STRONG>
+</PRE><H2><a name="h2-DESCRIPTION">DESCRIPTION</a></H2><PRE>
+ 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 ncurses; it adds new
+ entrypoints without changing the meaning of any of the existing ones.
+
+
+</PRE><H3><a name="h3-IMPROVED-FUNCTIONS">IMPROVED FUNCTIONS</a></H3><PRE>
+ Most of the functions are new versions of existing functions. A param-
+ eter is added at the front of the parameter list. It is a SCREEN
+ pointer.
+
+ The existing functions all use the current screen, which is a static
+ variable. The extended functions use the specified screen, thereby re-
+ ducing the number of variables which must be modified to update multi-
+ ple screens.
+
+
+</PRE><H3><a name="h3-NEW-FUNCTIONS">NEW FUNCTIONS</a></H3><PRE>
Here are the new functions:
ceiling_panel
- this returns a pointer to the topmost panel in the
- given screen.
+ this returns a pointer to the topmost panel in the given screen.
ground_panel
- this returns a pointer to the lowest panel in the
- given screen.
+ this returns a pointer to the lowest panel in the given screen.
new_prescr
- when creating a new screen, the library uses static
- variables which have been preset, e.g., by
- <STRONG><A HREF="curs_util.3x.html">curs_util(3x)</A></STRONG>, <STRONG><A HREF="curs_util.3x.html">curs_util(3x)</A></STRONG>, etc. With the screen-point-
- er extension, there are situations where it must cre-
- ate 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 entry-
- point to allow applications to customize the library
- initialization.
+ when creating a new screen, the library uses static variables
+ which have been preset, e.g., by <STRONG><A HREF="curs_util.3x.html">use_env(3x)</A></STRONG>, <STRONG><A HREF="curs_util.3x.html">filter(3x)</A></STRONG>, etc.
+ 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 cus-
+ tomize the library initialization.
-</PRE>
-<H2>NOTES</H2><PRE>
+</PRE><H2><a name="h2-NOTES">NOTES</a></H2><PRE>
This extension introduces some new names:
NCURSES_SP_FUNCS
- This is set to the library patch-level number. In
- the unextended library, this is zero (0), to make it
- useful for checking if the extension is provided.
+ This is set to the library patch-level number. In the unextended
+ library, this is zero (0), to make it useful for checking if the
+ extension is provided.
NCURSES_SP_NAME
- The new functions are named using the macro <EM>NCURS-</EM>
- <EM>ES</EM><STRONG>_</STRONG><EM>SP</EM><STRONG>_</STRONG><EM>NAME</EM>, which hides the actual implementation.
- Currently this adds a "_sp" suffix to the name of the
- unextended function. This manual page indexes the
- extensions showing the full name. However the proper
- usage of these functions uses the macro, to provide
- for the possibility of changing the naming convention
- for specific library configurations.
+ The new functions are named using the macro <EM>NCURSES</EM><STRONG>_</STRONG><EM>SP</EM><STRONG>_</STRONG><EM>NAME</EM>, which
+ hides the actual implementation. Currently this adds a "_sp" suf-
+ fix to the name of the unextended function. This manual page in-
+ dexes the extensions showing the full name. However the proper
+ usage of these functions uses the macro, to provide for the possi-
+ bility of changing the naming convention for specific library con-
+ figurations.
NCURSES_SP_OUTC
- This is a new function-pointer type to use in the
- screen-pointer functions where an <EM>NCURSES</EM><STRONG>_</STRONG><EM>OUTC</EM> is
- used in the unextended library.
+ This is a new function-pointer type to use in the screen-pointer
+ functions where an <EM>NCURSES</EM><STRONG>_</STRONG><EM>OUTC</EM> is used in the unextended library.
NCURSES_OUTC
- This is a function-pointer type used for the cases
- where a function passes characters to the output
- stream, e.g., <STRONG><A HREF="curs_terminfo.3x.html">curs_terminfo(3x)</A></STRONG>.
+ This is a function-pointer type used for the cases where a func-
+ tion passes characters to the output stream, e.g., <STRONG><A HREF="curs_terminfo.3x.html">vidputs(3x)</A></STRONG>.
-</PRE>
-<H2>PORTABILITY</H2><PRE>
- These routines are specific to ncurses. They were not
- supported on Version 7, BSD or System V implementations.
- It is recommended that any code depending on ncurses ex-
- tensions be conditioned using <EM>NCURSES</EM><STRONG>_</STRONG><EM>SP</EM><STRONG>_</STRONG><EM>FUNCS</EM>.
+</PRE><H2><a name="h2-PORTABILITY">PORTABILITY</a></H2><PRE>
+ These routines are specific to ncurses. They were not supported on
+ Version 7, BSD or System V implementations. It is recommended that any
+ code depending on ncurses extensions be conditioned using <EM>NCURS-</EM>
+ <EM>ES</EM><STRONG>_</STRONG><EM>SP</EM><STRONG>_</STRONG><EM>FUNCS</EM>.
-</PRE>
-<H2>SEE ALSO</H2><PRE>
+</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_threads.3x.html">curs_threads(3x)</A></STRONG>.
- <STRONG><A HREF="curs_sp_funcs.3x.html">curs_sp_funcs(3x)</A></STRONG>
+ <STRONG><A HREF="curs_sp_funcs.3x.html">curs_sp_funcs(3x)</A></STRONG>
</PRE>
-<HR>
-<ADDRESS>
-Man(1) output converted with
-<a href="http://www.oac.uci.edu/indiv/ehood/man2html.html">man2html</a>
-</ADDRESS>
+<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>
+<ul>
+<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>
+<li><a href="#h2-PORTABILITY">PORTABILITY</a></li>
+<li><a href="#h2-SEE-ALSO">SEE ALSO</a></li>
+</ul>
+</div>
</BODY>
</HTML>
diff --git a/doc/html/man/curs_termattrs.3x.html b/doc/html/man/curs_termattrs.3x.html
index 54a73dfc1d66..bdee4a11ef9f 100644
--- a/doc/html/man/curs_termattrs.3x.html
+++ b/doc/html/man/curs_termattrs.3x.html
@@ -1,7 +1,6 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN">
<!--
****************************************************************************
- * Copyright (c) 1998-2007,2010 Free Software Foundation, Inc. *
+ * Copyright (c) 1998-2015,2018 Free Software Foundation, Inc. *
* *
* Permission is hereby granted, free of charge, to any person obtaining a *
* copy of this software and associated documentation files (the *
@@ -27,33 +26,32 @@
* sale, use or other dealings in this Software without prior written *
* authorization. *
****************************************************************************
- * @Id: curs_termattrs.3x,v 1.12 2010/12/04 18:40:45 tom Exp @
+ * @Id: curs_termattrs.3x,v 1.14 2018/07/28 21:34:06 tom Exp @
-->
+<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN">
<HTML>
<HEAD>
+<meta http-equiv="Content-Type" content="text/html; charset=us-ascii">
+<meta name="generator" content="Manpage converted by man2html - see https://invisible-island.net/scripts/readme.html#others_scripts">
<TITLE>curs_termattrs 3x</TITLE>
-<link rev=made href="mailto:bug-ncurses@gnu.org">
+<link rel="author" href="mailto:bug-ncurses@gnu.org">
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
</HEAD>
<BODY>
-<H1>curs_termattrs 3x</H1>
-<HR>
+<H1 class="no-header">curs_termattrs 3x</H1>
<PRE>
-<!-- Manpage converted by man2html 3.0.1 -->
-<STRONG><A HREF="curs_termattrs.3x.html">curs_termattrs(3x)</A></STRONG> <STRONG><A HREF="curs_termattrs.3x.html">curs_termattrs(3x)</A></STRONG>
+<STRONG><A HREF="curs_termattrs.3x.html">curs_termattrs(3x)</A></STRONG> <STRONG><A HREF="curs_termattrs.3x.html">curs_termattrs(3x)</A></STRONG>
-</PRE>
-<H2>NAME</H2><PRE>
- <STRONG>baudrate</STRONG>, <STRONG>erasechar</STRONG>, <STRONG>erasewchar</STRONG>, <STRONG>has_ic</STRONG>, <STRONG>has_il</STRONG>, <STRONG>killchar</STRONG>,
- <STRONG>killwchar</STRONG>, <STRONG>longname</STRONG>, <STRONG>term_attrs</STRONG>, <STRONG>termattrs</STRONG>, <STRONG>termname</STRONG> -
- <STRONG>curses</STRONG> environment query routines
+</PRE><H2><a name="h2-NAME">NAME</a></H2><PRE>
+ <STRONG>baudrate</STRONG>, <STRONG>erasechar</STRONG>, <STRONG>erasewchar</STRONG>, <STRONG>has_ic</STRONG>, <STRONG>has_il</STRONG>, <STRONG>killchar</STRONG>, <STRONG>killwchar</STRONG>,
+ <STRONG>longname</STRONG>, <STRONG>term_attrs</STRONG>, <STRONG>termattrs</STRONG>, <STRONG>termname</STRONG> - <STRONG>curses</STRONG> environment query
+ routines
-</PRE>
-<H2>SYNOPSIS</H2><PRE>
+</PRE><H2><a name="h2-SYNOPSIS">SYNOPSIS</a></H2><PRE>
<STRONG>#include</STRONG> <STRONG>&lt;curses.h&gt;</STRONG>
<STRONG>int</STRONG> <STRONG>baudrate(void);</STRONG>
@@ -69,93 +67,108 @@
<STRONG>char</STRONG> <STRONG>*termname(void);</STRONG>
-</PRE>
-<H2>DESCRIPTION</H2><PRE>
- The <STRONG>baudrate</STRONG> routine returns the output speed of the ter-
- minal. The number returned is in bits per second, for
- example <STRONG>9600</STRONG>, and is an integer.
-
- The <STRONG>erasechar</STRONG> routine returns the user's current erase
- character.
-
- The <STRONG>erasewchar</STRONG> routine stores the current erase character
- in the location referenced by <EM>ch</EM>. If no erase character
- has been defined, the routine fails and the location ref-
- erenced by <EM>ch</EM> is not changed.
-
- The <STRONG>has_ic</STRONG> routine is true if the terminal has insert- and
- delete- character capabilities.
-
- The <STRONG>has_il</STRONG> routine is true if the terminal has insert- and
- delete-line capabilities, or can simulate them using
- scrolling regions. This might be used to determine if it
- would be appropriate to turn on physical scrolling using
- <STRONG>scrollok</STRONG>.
-
- The <STRONG>killchar</STRONG> routine returns the user's current line kill
- character.
-
- The <STRONG>killwchar</STRONG> routine stores the current line-kill charac-
- ter in the location referenced by <EM>ch</EM>. If no line-kill
- character has been defined, the routine fails and the
- location referenced by <EM>ch</EM> is not changed.
-
- The <STRONG>longname</STRONG> routine returns a pointer to a static area
- containing a verbose description of the current terminal.
- The maximum length of a verbose description is 128 charac-
- ters. It is defined only after the call to <STRONG>initscr</STRONG> or
- <STRONG>newterm</STRONG>. The area is overwritten by each call to <STRONG>newterm</STRONG>
- and is not restored by <STRONG>set_term</STRONG>, so the value should be
- saved between calls to <STRONG>newterm</STRONG> if <STRONG>longname</STRONG> is going to be
- used with multiple terminals.
-
- If a given terminal does not support a video attribute
- that an application program is trying to use, <STRONG>curses</STRONG> may
- substitute a different video attribute for it. The <STRONG>ter-</STRONG>
- <STRONG>mattrs</STRONG> and <STRONG>term_attrs</STRONG> functions return a logical <STRONG>OR</STRONG> of all
- video attributes supported by the terminal using <EM>A</EM><STRONG>_</STRONG> and
- <EM>WA</EM><STRONG>_</STRONG> constants respectively. This information is useful
- when a <STRONG>curses</STRONG> program needs complete control over the
- appearance of the screen.
-
- The <STRONG>termname</STRONG> routine returns the terminal name used by
- <STRONG>setupterm</STRONG>.
+</PRE><H2><a name="h2-DESCRIPTION">DESCRIPTION</a></H2><PRE>
+</PRE><H3><a name="h3-baudrate">baudrate</a></H3><PRE>
+ The <STRONG>baudrate</STRONG> routine returns the output speed of the terminal. The
+ number returned is in bits per second, for example <STRONG>9600</STRONG>, and is an
+ integer.
-</PRE>
-<H2>RETURN VALUE</H2><PRE>
+
+</PRE><H3><a name="h3-erasechar_-erasewchar">erasechar, erasewchar</a></H3><PRE>
+ The <STRONG>erasechar</STRONG> routine returns the user's current erase character.
+
+ The <STRONG>erasewchar</STRONG> routine stores the current erase character in the loca-
+ tion referenced by <EM>ch</EM>. If no erase character has been defined, the
+ routine fails and the location referenced by <EM>ch</EM> is not changed.
+
+
+</PRE><H3><a name="h3-has_is_-has_il">has_is, has_il</a></H3><PRE>
+ The <STRONG>has_ic</STRONG> routine is true if the terminal has insert- and delete-
+ character capabilities.
+
+ The <STRONG>has_il</STRONG> routine is true if the terminal has insert- and delete-line
+ capabilities, or can simulate them using scrolling regions. This might
+ be used to determine if it would be appropriate to turn on physical
+ scrolling using <STRONG>scrollok</STRONG>.
+
+
+</PRE><H3><a name="h3-killchar_-killwchar">killchar, killwchar</a></H3><PRE>
+ The <STRONG>killchar</STRONG> routine returns the user's current line kill character.
+
+ The <STRONG>killwchar</STRONG> routine stores the current line-kill character in the
+ location referenced by <EM>ch</EM>. If no line-kill character has been defined,
+ the routine fails and the location referenced by <EM>ch</EM> is not changed.
+
+
+</PRE><H3><a name="h3-longname">longname</a></H3><PRE>
+ The <STRONG>longname</STRONG> routine returns a pointer to a static area containing a
+ verbose description of the current terminal. The maximum length of a
+ verbose description is 128 characters. It is defined only after the
+ call to <STRONG>initscr</STRONG> or <STRONG>newterm</STRONG>. The area is overwritten by each call to
+ <STRONG>newterm</STRONG> and is not restored by <STRONG>set_term</STRONG>, so the value should be saved
+ between calls to <STRONG>newterm</STRONG> if <STRONG>longname</STRONG> is going to be used with multiple
+ terminals.
+
+
+</PRE><H3><a name="h3-termattrs_-term_attrs">termattrs, term_attrs</a></H3><PRE>
+ If a given terminal does not support a video attribute that an applica-
+ tion program is trying to use, <STRONG>curses</STRONG> may substitute a different video
+ attribute for it. The <STRONG>termattrs</STRONG> and <STRONG>term_attrs</STRONG> functions return a log-
+ ical <STRONG>OR</STRONG> of all video attributes supported by the terminal using <EM>A</EM><STRONG>_</STRONG> and
+ <EM>WA</EM><STRONG>_</STRONG> constants respectively. This information is useful when a <STRONG>curses</STRONG>
+ program needs complete control over the appearance of the screen.
+
+
+</PRE><H3><a name="h3-termname">termname</a></H3><PRE>
+ The <STRONG>termname</STRONG> routine returns the terminal name used by <STRONG>setupterm</STRONG>.
+
+
+</PRE><H2><a name="h2-RETURN-VALUE">RETURN VALUE</a></H2><PRE>
<STRONG>longname</STRONG> and <STRONG>termname</STRONG> return <STRONG>NULL</STRONG> on error.
- Routines that return an integer return <STRONG>ERR</STRONG> upon failure
- and <STRONG>OK</STRONG> (SVr4 only specifies "an integer value other than
- <STRONG>ERR</STRONG>") upon successful completion.
+ Routines that return an integer return <STRONG>ERR</STRONG> upon failure and <STRONG>OK</STRONG> (SVr4
+ only specifies "an integer value other than <STRONG>ERR</STRONG>") upon successful com-
+ pletion.
-</PRE>
-<H2>NOTES</H2><PRE>
+</PRE><H2><a name="h2-NOTES">NOTES</a></H2><PRE>
Note that <STRONG>termattrs</STRONG> may be a macro.
-</PRE>
-<H2>PORTABILITY</H2><PRE>
- The XSI Curses standard, Issue 4 describes these func-
- tions. It changes the return type of <STRONG>termattrs</STRONG> to the new
- type <STRONG>attr_t</STRONG>. Most versions of curses truncate the result
- returned by <STRONG>termname</STRONG> to 14 characters.
+</PRE><H2><a name="h2-PORTABILITY">PORTABILITY</a></H2><PRE>
+ The XSI Curses standard, Issue 4 describes these functions. It changes
+ the return type of <STRONG>termattrs</STRONG> to the new type <STRONG>attr_t</STRONG>. Most versions of
+ curses truncate the result returned by <STRONG>termname</STRONG> to 14 characters.
-</PRE>
-<H2>SEE ALSO</H2><PRE>
+</PRE><H2><a name="h2-SEE-ALSO">SEE ALSO</a></H2><PRE>
<STRONG><A HREF="ncurses.3x.html">curses(3x)</A></STRONG>, <STRONG><A HREF="curs_initscr.3x.html">curs_initscr(3x)</A></STRONG>, <STRONG><A HREF="curs_outopts.3x.html">curs_outopts(3x)</A></STRONG>
- <STRONG><A HREF="curs_termattrs.3x.html">curs_termattrs(3x)</A></STRONG>
+ <STRONG><A HREF="curs_termattrs.3x.html">curs_termattrs(3x)</A></STRONG>
</PRE>
-<HR>
-<ADDRESS>
-Man(1) output converted with
-<a href="http://www.oac.uci.edu/indiv/ehood/man2html.html">man2html</a>
-</ADDRESS>
+<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>
+<ul>
+<li><a href="#h3-baudrate">baudrate</a></li>
+<li><a href="#h3-erasechar_-erasewchar">erasechar, erasewchar</a></li>
+<li><a href="#h3-has_is_-has_il">has_is, has_il</a></li>
+<li><a href="#h3-killchar_-killwchar">killchar, killwchar</a></li>
+<li><a href="#h3-longname">longname</a></li>
+<li><a href="#h3-termattrs_-term_attrs">termattrs, term_attrs</a></li>
+<li><a href="#h3-termname">termname</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-PORTABILITY">PORTABILITY</a></li>
+<li><a href="#h2-SEE-ALSO">SEE ALSO</a></li>
+</ul>
+</div>
</BODY>
</HTML>
diff --git a/doc/html/man/curs_termcap.3x.html b/doc/html/man/curs_termcap.3x.html
index 54197aea43ce..f701f8a1322f 100644
--- a/doc/html/man/curs_termcap.3x.html
+++ b/doc/html/man/curs_termcap.3x.html
@@ -1,7 +1,6 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN">
<!--
****************************************************************************
- * Copyright (c) 1998-2012,2013 Free Software Foundation, Inc. *
+ * Copyright (c) 1998-2018,2019 Free Software Foundation, Inc. *
* *
* Permission is hereby granted, free of charge, to any person obtaining a *
* copy of this software and associated documentation files (the *
@@ -27,33 +26,31 @@
* sale, use or other dealings in this Software without prior written *
* authorization. *
****************************************************************************
- * @Id: curs_termcap.3x,v 1.30 2013/01/19 15:58:48 tom Exp @
+ * @Id: curs_termcap.3x,v 1.42 2019/11/30 21:01:40 tom Exp @
-->
+<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN">
<HTML>
<HEAD>
+<meta http-equiv="Content-Type" content="text/html; charset=us-ascii">
+<meta name="generator" content="Manpage converted by man2html - see https://invisible-island.net/scripts/readme.html#others_scripts">
<TITLE>curs_termcap 3x</TITLE>
-<link rev=made href="mailto:bug-ncurses@gnu.org">
+<link rel="author" href="mailto:bug-ncurses@gnu.org">
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
</HEAD>
<BODY>
-<H1>curs_termcap 3x</H1>
-<HR>
+<H1 class="no-header">curs_termcap 3x</H1>
<PRE>
-<!-- Manpage converted by man2html 3.0.1 -->
-<STRONG><A HREF="curs_termcap.3x.html">curs_termcap(3x)</A></STRONG> <STRONG><A HREF="curs_termcap.3x.html">curs_termcap(3x)</A></STRONG>
+<STRONG><A HREF="curs_termcap.3x.html">curs_termcap(3x)</A></STRONG> <STRONG><A HREF="curs_termcap.3x.html">curs_termcap(3x)</A></STRONG>
-</PRE>
-<H2>NAME</H2><PRE>
- <STRONG>PC</STRONG>, <STRONG>UP</STRONG>, <STRONG>BC</STRONG>, <STRONG>ospeed</STRONG>, <STRONG>tgetent</STRONG>, <STRONG>tgetflag</STRONG>, <STRONG>tgetnum</STRONG>, <STRONG>tgetstr</STRONG>,
- <STRONG>tgoto</STRONG>, <STRONG>tputs</STRONG> - direct <STRONG>curses</STRONG> interface to the terminfo
- capability database
+</PRE><H2><a name="h2-NAME">NAME</a></H2><PRE>
+ <STRONG>PC</STRONG>, <STRONG>UP</STRONG>, <STRONG>BC</STRONG>, <STRONG>ospeed</STRONG>, <STRONG>tgetent</STRONG>, <STRONG>tgetflag</STRONG>, <STRONG>tgetnum</STRONG>, <STRONG>tgetstr</STRONG>, <STRONG>tgoto</STRONG>, <STRONG>tputs</STRONG> -
+ direct <STRONG>curses</STRONG> interface to the terminfo capability database
-</PRE>
-<H2>SYNOPSIS</H2><PRE>
+</PRE><H2><a name="h2-SYNOPSIS">SYNOPSIS</a></H2><PRE>
<STRONG>#include</STRONG> <STRONG>&lt;curses.h&gt;</STRONG>
<STRONG>#include</STRONG> <STRONG>&lt;term.h&gt;</STRONG>
@@ -63,174 +60,209 @@
<STRONG>extern</STRONG> <STRONG>short</STRONG> <STRONG>ospeed;</STRONG>
<STRONG>int</STRONG> <STRONG>tgetent(char</STRONG> <STRONG>*bp,</STRONG> <STRONG>const</STRONG> <STRONG>char</STRONG> <STRONG>*name);</STRONG>
- <STRONG>int</STRONG> <STRONG>tgetflag(char</STRONG> <STRONG>*id);</STRONG>
- <STRONG>int</STRONG> <STRONG>tgetnum(char</STRONG> <STRONG>*id);</STRONG>
- <STRONG>char</STRONG> <STRONG>*tgetstr(char</STRONG> <STRONG>*id,</STRONG> <STRONG>char</STRONG> <STRONG>**area);</STRONG>
+ <STRONG>int</STRONG> <STRONG>tgetflag(const</STRONG> <STRONG>char</STRONG> <STRONG>*id);</STRONG>
+ <STRONG>int</STRONG> <STRONG>tgetnum(const</STRONG> <STRONG>char</STRONG> <STRONG>*id);</STRONG>
+ <STRONG>char</STRONG> <STRONG>*tgetstr(const</STRONG> <STRONG>char</STRONG> <STRONG>*id,</STRONG> <STRONG>char</STRONG> <STRONG>**area);</STRONG>
<STRONG>char</STRONG> <STRONG>*tgoto(const</STRONG> <STRONG>char</STRONG> <STRONG>*cap,</STRONG> <STRONG>int</STRONG> <STRONG>col,</STRONG> <STRONG>int</STRONG> <STRONG>row);</STRONG>
<STRONG>int</STRONG> <STRONG>tputs(const</STRONG> <STRONG>char</STRONG> <STRONG>*str,</STRONG> <STRONG>int</STRONG> <STRONG>affcnt,</STRONG> <STRONG>int</STRONG> <STRONG>(*putc)(int));</STRONG>
-</PRE>
-<H2>DESCRIPTION</H2><PRE>
- These routines are included as a conversion aid for pro-
- grams that use the <EM>termcap</EM> library. Their parameters are
- the same and the routines are emulated using the <EM>terminfo</EM>
- database. Thus, they can only be used to query the capa-
- bilities of entries for which a terminfo entry has been
- compiled.
-
- <STRONG>INITIALIZATION</STRONG>
+</PRE><H2><a name="h2-DESCRIPTION">DESCRIPTION</a></H2><PRE>
+ These routines are included as a conversion aid for programs that use
+ the <EM>termcap</EM> library. Their parameters are the same and the routines
+ are emulated using the <EM>terminfo</EM> database. Thus, they can only be used
+ to query the capabilities of entries for which a terminfo entry has
+ been compiled.
+
+
+</PRE><H3><a name="h3-INITIALIZATION">INITIALIZATION</a></H3><PRE>
The <STRONG>tgetent</STRONG> routine loads the entry for <EM>name</EM>. It returns:
1 on success,
- 0 if there is no such entry (or that it is a generic
- type, having too little information for curses ap-
- plications to run), and
+ 0 if there is no such entry (or that it is a generic type, having
+ too little information for curses applications to run), and
-1 if the terminfo database could not be found.
This differs from the <EM>termcap</EM> library in two ways:
- <STRONG>o</STRONG> The emulation ignores the buffer pointer <EM>bp</EM>. The
- <EM>termcap</EM> library would store a copy of the terminal
- description in the area referenced by this pointer.
- However, ncurses stores its terminal descriptions
- in compiled binary form, which is not the same
+ <STRONG>o</STRONG> The emulation ignores the buffer pointer <EM>bp</EM>. The <EM>termcap</EM> li-
+ brary would store a copy of the terminal description in the area
+ referenced by this pointer. However, ncurses stores its termi-
+ nal descriptions in compiled binary form, which is not the same
thing.
- <STRONG>o</STRONG> There is a difference in return codes. The <EM>termcap</EM>
- library does not check if the terminal description
- is marked with the <EM>generic</EM> capability, or if the
- terminal description has cursor-addressing.
+ <STRONG>o</STRONG> There is a difference in return codes. The <EM>termcap</EM> library does
+ not check if the terminal description is marked with the <EM>generic</EM>
+ capability, or if the terminal description has cursor-address-
+ ing.
- <STRONG>CAPABILITY</STRONG> <STRONG>VALUES</STRONG>
- The <STRONG>tgetflag</STRONG> routine gets the boolean entry for <EM>id</EM>, or ze-
- ro if it is not available.
- The <STRONG>tgetnum</STRONG> routine gets the numeric entry for <EM>id</EM>, or -1
- if it is not available.
+</PRE><H3><a name="h3-CAPABILITY-VALUES">CAPABILITY VALUES</a></H3><PRE>
+ The <STRONG>tgetflag</STRONG> routine gets the boolean entry for <EM>id</EM>, or zero if it is
+ not available.
- The <STRONG>tgetstr</STRONG> routine returns the string entry for <EM>id</EM>, or
- zero if it is not available. Use <STRONG>tputs</STRONG> to output the re-
- turned string. The return value will also be copied to
- the buffer pointed to by <EM>area</EM>, and the <EM>area</EM> value will be
- updated to point past the null ending this value.
+ The <STRONG>tgetnum</STRONG> routine gets the numeric entry for <EM>id</EM>, or -1 if it is not
+ available.
- Only the first two characters of the <STRONG>id</STRONG> parameter of <STRONG>tget-</STRONG>
- <STRONG>flag</STRONG>, <STRONG>tgetnum</STRONG> and <STRONG>tgetstr</STRONG> are compared in lookups.
+ The <STRONG>tgetstr</STRONG> routine returns the string entry for <EM>id</EM>, or zero if it is
+ not available. Use <STRONG>tputs</STRONG> to output the returned string. The <EM>area</EM> pa-
+ rameter is used as follows:
- <STRONG>FORMATTING</STRONG> <STRONG>CAPABILITIES</STRONG>
- The <STRONG>tgoto</STRONG> routine instantiates the parameters into the
- given capability. The output from this routine is to be
- passed to <STRONG>tputs</STRONG>.
+ <STRONG>o</STRONG> It is assumed to be the address of a pointer to a buffer managed
+ by the calling application.
- The <STRONG>tputs</STRONG> routine is described on the <STRONG><A HREF="curs_terminfo.3x.html">curs_terminfo(3x)</A></STRONG>
- manual page. It can retrieve capabilities by either term-
- cap or terminfo name.
+ <STRONG>o</STRONG> However, ncurses checks to ensure that <STRONG>area</STRONG> is not NULL, and al-
+ so that the resulting buffer pointer is not NULL. If either
+ check fails, the <EM>area</EM> parameter is ignored.
- <STRONG>GLOBAL</STRONG> <STRONG>VARIABLES</STRONG>
- The variables <STRONG>PC</STRONG>, <STRONG>UP</STRONG> and <STRONG>BC</STRONG> are set by <STRONG>tgetent</STRONG> to the ter-
- minfo entry's data for <STRONG>pad_char</STRONG>, <STRONG>cursor_up</STRONG> and
- <STRONG>backspace_if_not_bs</STRONG>, respectively. <STRONG>UP</STRONG> is not used by
- ncurses. <STRONG>PC</STRONG> is used in the <STRONG>tdelay_output</STRONG> function. <STRONG>BC</STRONG> is
- used in the <STRONG>tgoto</STRONG> emulation. The variable <STRONG>ospeed</STRONG> is set
- by ncurses in a system-specific coding to reflect the ter-
- minal speed.
+ <STRONG>o</STRONG> If the checks succeed, ncurses also copies the return value to
+ the buffer pointed to by <EM>area</EM>, and the <EM>area</EM> value will be updat-
+ ed to point past the null ending this value.
+ <STRONG>o</STRONG> The return value itself is an address in the terminal descrip-
+ tion which is loaded into memory.
-</PRE>
-<H2>RETURN VALUE</H2><PRE>
- Except where explicitly noted, routines that return an in-
- teger return <STRONG>ERR</STRONG> upon failure and <STRONG>OK</STRONG> (SVr4 only specifies
- "an integer value other than <STRONG>ERR</STRONG>") upon successful comple-
- tion.
+ Only the first two characters of the <STRONG>id</STRONG> parameter of <STRONG>tgetflag</STRONG>, <STRONG>tgetnum</STRONG>
+ and <STRONG>tgetstr</STRONG> are compared in lookups.
- Routines that return pointers return <STRONG>NULL</STRONG> on error.
+</PRE><H3><a name="h3-FORMATTING-CAPABILITIES">FORMATTING CAPABILITIES</a></H3><PRE>
+ The <STRONG>tgoto</STRONG> routine expands the given capability using the parameters.
-</PRE>
-<H2>BUGS</H2><PRE>
- If you call <STRONG>tgetstr</STRONG> to fetch <STRONG>ca</STRONG> or any other parameterized
- string, be aware that it will be returned in terminfo no-
- tation, not the older and not-quite-compatible termcap no-
- tation. This will not cause problems if all you do with
- it is call <STRONG>tgoto</STRONG> or <STRONG>tparm</STRONG>, which both expand terminfo-
- style strings as terminfo. (The <STRONG>tgoto</STRONG> function, if con-
- figured to support termcap, will check if the string is
- indeed terminfo-style by looking for "%p" parameters or
- "$&lt;..&gt;" delays, and invoke a termcap-style parser if the
- string does not appear to be terminfo).
-
- Because terminfo conventions for representing padding in
- string capabilities differ from termcap's, <STRONG>tputs("50");</STRONG>
- will put out a literal "50" rather than busy-waiting for
- 50 milliseconds. Cope with it.
-
- Note that termcap has nothing analogous to terminfo's <STRONG>sgr</STRONG>
- string. One consequence of this is that termcap applica-
- tions assume me (terminfo <STRONG>sgr0</STRONG>) does not reset the alter-
- nate character set. This implementation checks for, and
- modifies the data shown to the termcap interface to accom-
- modate termcap's limitation in this respect.
+ <STRONG>o</STRONG> Because the capability may have padding characters, the output of
+ <STRONG>tgoto</STRONG> should be passed to <STRONG>tputs</STRONG> rather than some other output func-
+ tion such as <STRONG>printf</STRONG>.
+ <STRONG>o</STRONG> While <STRONG>tgoto</STRONG> is assumed to be used for the two-parameter cursor po-
+ sitioning capability, termcap applications also use it for single-
+ parameter capabilities.
-</PRE>
-<H2>PORTABILITY</H2><PRE>
- The XSI Curses standard, Issue 4 describes these func-
- tions. However, they are marked TO BE WITHDRAWN and may
- be removed in future versions.
-
- Neither the XSI Curses standard 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 par-
- ticular, an omission in the XSI Curses documentation 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 XCurses, Issue 4, Version 2 rather than in ncurses.
-
- External variables are provided for support of certain
- termcap applications. However, termcap applications' use
- of those variables is poorly documented, e.g., not distin-
- guishing between input and output. In particular, some
- applications are reported to declare and/or modify <STRONG>ospeed</STRONG>.
-
- The comment that only the first two characters of the <STRONG>id</STRONG>
- parameter are used escapes many application developers.
- The original BSD 4.2 termcap library (and historical
- relics thereof) did not require a trailing null NUL on the
- parameter name passed to <STRONG>tgetstr</STRONG>, <STRONG>tgetnum</STRONG> and <STRONG>tgetflag</STRONG>.
- Some applications assume that the termcap interface does
- not require the trailing NUL for the parameter name. Tak-
- ing into account these issues:
-
- <STRONG>o</STRONG> As a special case, <STRONG>tgetflag</STRONG> matched against a single-
- character identifier provided that was at the end of
- the terminal description. You should not rely upon
- this behavior in portable programs. This implementa-
- tion disallows matches against single-character capa-
- bility names.
-
- <STRONG>o</STRONG> This implementation disallows matches by the termcap
- interface against extended capability names which are
- longer than two characters.
+ Doing this shows a quirk in <STRONG>tgoto</STRONG>: most hardware terminals use cur-
+ sor addressing with <EM>row</EM> first, but the original developers of the
+ termcap interface chose to put the <EM>column</EM> parameter first. The
+ <STRONG>tgoto</STRONG> function swaps the order of parameters. It does this also
+ for calls requiring only a single parameter. In that case, the
+ first parameter is merely a placeholder.
+ <STRONG>o</STRONG> Normally the ncurses library is compiled with terminfo support. In
+ that case, <STRONG>tgoto</STRONG> uses <STRONG><A HREF="curs_terminfo.3x.html">tparm(3x)</A></STRONG> (a more capable formatter).
-</PRE>
-<H2>SEE ALSO</H2><PRE>
+ However, <STRONG>tparm</STRONG> is not a <EM>termcap</EM> feature, and portable <EM>termcap</EM> ap-
+ plications should not rely upon its availability.
+
+ The <STRONG>tputs</STRONG> routine is described on the <STRONG><A HREF="curs_terminfo.3x.html">curs_terminfo(3x)</A></STRONG> manual page.
+ It can retrieve capabilities by either termcap or terminfo name.
+
+
+</PRE><H3><a name="h3-GLOBAL-VARIABLES">GLOBAL VARIABLES</a></H3><PRE>
+ The variables <STRONG>PC</STRONG>, <STRONG>UP</STRONG> and <STRONG>BC</STRONG> are set by <STRONG>tgetent</STRONG> to the terminfo entry's
+ data for <STRONG>pad_char</STRONG>, <STRONG>cursor_up</STRONG> and <STRONG>backspace_if_not_bs</STRONG>, respectively. <STRONG>UP</STRONG>
+ is not used by ncurses. <STRONG>PC</STRONG> is used in the <STRONG>tdelay_output</STRONG> function. <STRONG>BC</STRONG>
+ is used in the <STRONG>tgoto</STRONG> emulation. The variable <STRONG>ospeed</STRONG> is set by ncurses
+ in a system-specific coding to reflect the terminal speed.
+
+
+</PRE><H2><a name="h2-RETURN-VALUE">RETURN VALUE</a></H2><PRE>
+ Except where explicitly noted, routines that return an integer return
+ <STRONG>ERR</STRONG> upon failure and <STRONG>OK</STRONG> (SVr4 only specifies "an integer value other
+ than <STRONG>ERR</STRONG>") upon successful completion.
+
+ Routines that return pointers return <STRONG>NULL</STRONG> on error.
+
+
+</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, be
+ aware that it will be returned in terminfo notation, not the older and
+ not-quite-compatible termcap notation. This will not cause problems if
+ all you do with it is call <STRONG>tgoto</STRONG> or <STRONG>tparm</STRONG>, which both expand terminfo-
+ style strings as terminfo. (The <STRONG>tgoto</STRONG> function, if configured to sup-
+ port termcap, will check if the string is indeed terminfo-style by
+ looking for "%p" parameters or "$&lt;..&gt;" delays, and invoke a termcap-
+ style parser if the string does not appear to be terminfo).
+
+ Because terminfo conventions for representing padding in string capa-
+ bilities differ from termcap's, <STRONG>tputs("50");</STRONG> will put out a literal
+ "50" rather than busy-waiting for 50 milliseconds. Cope with it.
+
+ Note that termcap has nothing analogous to terminfo's <STRONG>sgr</STRONG> string. One
+ consequence of this is that termcap applications assume me (terminfo
+ <STRONG>sgr0</STRONG>) does not reset the alternate character set. This implementation
+ checks for, and modifies the data shown to the termcap interface to ac-
+ commodate termcap's limitation in this respect.
+
+
+</PRE><H2><a name="h2-PORTABILITY">PORTABILITY</a></H2><PRE>
+ These functions are provided for supporting legacy applications, and
+ should not be used in new programs:
+
+ <STRONG>o</STRONG> The XSI Curses standard, Issue 4 describes these functions. Howev-
+ er, they are marked TO BE WITHDRAWN and may be removed in future
+ versions.
+
+ <STRONG>o</STRONG> X/Open Curses, Issue 5 (December 2007) marked the termcap interface
+ (along with <STRONG>vwprintw</STRONG> and <STRONG>vwscanw</STRONG>) as withdrawn.
+
+ Neither the XSI Curses standard nor the SVr4 man pages documented the
+ return values of <STRONG>tgetent</STRONG> correctly, though all three were in fact re-
+ turned ever since SVr1. In particular, an omission in the XSI Curses
+ documentation 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 compati-
+ bility with the <EM>termcap</EM> library, that is a defect in XCurses, Issue 4,
+ Version 2 rather than in ncurses.
+
+ External variables are provided for support of certain termcap applica-
+ tions. However, termcap applications' use of those variables is poorly
+ documented, e.g., not distinguishing between input and output. In par-
+ ticular, some applications are reported to declare and/or modify <STRONG>os-</STRONG>
+ <STRONG>peed</STRONG>.
+
+ The comment that only the first two characters of the <STRONG>id</STRONG> parameter are
+ used escapes many application developers. The original BSD 4.2 termcap
+ library (and historical relics thereof) did not require a trailing null
+ NUL on the parameter name passed to <STRONG>tgetstr</STRONG>, <STRONG>tgetnum</STRONG> and <STRONG>tgetflag</STRONG>.
+ Some applications assume that the termcap interface does not require
+ the trailing NUL for the parameter name. Taking into account these is-
+ sues:
+
+ <STRONG>o</STRONG> As a special case, <STRONG>tgetflag</STRONG> matched against a single-character
+ identifier provided that was at the end of the terminal descrip-
+ tion. You should not rely upon this behavior in portable programs.
+ This implementation disallows matches against single-character ca-
+ pability names.
+
+ <STRONG>o</STRONG> This implementation disallows matches by the termcap interface
+ against extended capability names which are longer than two charac-
+ ters.
+
+
+</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="terminfo.5.html">terminfo(5)</A></STRONG>, <STRONG><A HREF="term_variables.3x.html">term_variables(3x)</A></STRONG>, <STRONG>putc(3)</STRONG>.
- http://invisible-island.net/ncurses/tctest.html
+ https://invisible-island.net/ncurses/tctest.html
- <STRONG><A HREF="curs_termcap.3x.html">curs_termcap(3x)</A></STRONG>
+ <STRONG><A HREF="curs_termcap.3x.html">curs_termcap(3x)</A></STRONG>
</PRE>
-<HR>
-<ADDRESS>
-Man(1) output converted with
-<a href="http://www.oac.uci.edu/indiv/ehood/man2html.html">man2html</a>
-</ADDRESS>
+<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>
+<ul>
+<li><a href="#h3-INITIALIZATION">INITIALIZATION</a></li>
+<li><a href="#h3-CAPABILITY-VALUES">CAPABILITY VALUES</a></li>
+<li><a href="#h3-FORMATTING-CAPABILITIES">FORMATTING CAPABILITIES</a></li>
+<li><a href="#h3-GLOBAL-VARIABLES">GLOBAL VARIABLES</a></li>
+</ul>
+</li>
+<li><a href="#h2-RETURN-VALUE">RETURN VALUE</a></li>
+<li><a href="#h2-BUGS">BUGS</a></li>
+<li><a href="#h2-PORTABILITY">PORTABILITY</a></li>
+<li><a href="#h2-SEE-ALSO">SEE ALSO</a></li>
+</ul>
+</div>
</BODY>
</HTML>
diff --git a/doc/html/man/curs_terminfo.3x.html b/doc/html/man/curs_terminfo.3x.html
index f0a6ecc39cdf..0e33754b1aae 100644
--- a/doc/html/man/curs_terminfo.3x.html
+++ b/doc/html/man/curs_terminfo.3x.html
@@ -1,7 +1,6 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN">
<!--
****************************************************************************
- * Copyright (c) 1999-2011,2013 Free Software Foundation, Inc. *
+ * Copyright (c) 1999-2018,2020 Free Software Foundation, Inc. *
* *
* Permission is hereby granted, free of charge, to any person obtaining a *
* copy of this software and associated documentation files (the *
@@ -27,100 +26,110 @@
* sale, use or other dealings in this Software without prior written *
* authorization. *
****************************************************************************
- * @Id: curs_terminfo.3x,v 1.43 2013/07/20 19:29:59 tom Exp @
+ * @Id: curs_terminfo.3x,v 1.63 2020/01/18 23:55:46 tom Exp @
* ***************************************************************************
* ***************************************************************************
* ***************************************************************************
* ***************************************************************************
* ***************************************************************************
-->
+<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN">
<HTML>
<HEAD>
+<meta http-equiv="Content-Type" content="text/html; charset=us-ascii">
+<meta name="generator" content="Manpage converted by man2html - see https://invisible-island.net/scripts/readme.html#others_scripts">
<TITLE>curs_terminfo 3x</TITLE>
-<link rev=made href="mailto:bug-ncurses@gnu.org">
+<link rel="author" href="mailto:bug-ncurses@gnu.org">
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
</HEAD>
<BODY>
-<H1>curs_terminfo 3x</H1>
-<HR>
+<H1 class="no-header">curs_terminfo 3x</H1>
<PRE>
-<!-- Manpage converted by man2html 3.0.1 -->
-<STRONG><A HREF="curs_terminfo.3x.html">curs_terminfo(3x)</A></STRONG> <STRONG><A HREF="curs_terminfo.3x.html">curs_terminfo(3x)</A></STRONG>
+<STRONG><A HREF="curs_terminfo.3x.html">curs_terminfo(3x)</A></STRONG> <STRONG><A HREF="curs_terminfo.3x.html">curs_terminfo(3x)</A></STRONG>
-</PRE>
-<H2>NAME</H2><PRE>
- <STRONG>del_curterm</STRONG>, <STRONG>mvcur</STRONG>, <STRONG>putp</STRONG>, <STRONG>restartterm</STRONG>, <STRONG>set_curterm</STRONG>,
- <STRONG>setterm</STRONG>, <STRONG>setupterm</STRONG>, <STRONG>tigetflag</STRONG>, <STRONG>tigetnum</STRONG>, <STRONG>tigetstr</STRONG>, <STRONG>tiparm</STRONG>,
- <STRONG>tparm</STRONG>, <STRONG>tputs</STRONG>, <STRONG>vid_attr</STRONG>, <STRONG>vid_puts</STRONG>, <STRONG>vidattr</STRONG>, <STRONG>vidputs</STRONG> -
- <STRONG>curses</STRONG> interfaces to terminfo database
+</PRE><H2><a name="h2-NAME">NAME</a></H2><PRE>
+ <STRONG>del_curterm</STRONG>, <STRONG>mvcur</STRONG>, <STRONG>putp</STRONG>, <STRONG>restartterm</STRONG>, <STRONG>set_curterm</STRONG>, <STRONG>setterm</STRONG>, <STRONG>setupterm</STRONG>,
+ <STRONG>tigetflag</STRONG>, <STRONG>tigetnum</STRONG>, <STRONG>tigetstr</STRONG>, <STRONG>tiparm</STRONG>, <STRONG>tparm</STRONG>, <STRONG>tputs</STRONG>, <STRONG>vid_attr</STRONG>,
+ <STRONG>vid_puts</STRONG>, <STRONG>vidattr</STRONG>, <STRONG>vidputs</STRONG> - <STRONG>curses</STRONG> interfaces to terminfo database
-</PRE>
-<H2>SYNOPSIS</H2><PRE>
+</PRE><H2><a name="h2-SYNOPSIS">SYNOPSIS</a></H2><PRE>
<STRONG>#include</STRONG> <STRONG>&lt;curses.h&gt;</STRONG>
<STRONG>#include</STRONG> <STRONG>&lt;term.h&gt;</STRONG>
- <STRONG>int</STRONG> <STRONG>setupterm(char</STRONG> <STRONG>*</STRONG><EM>term</EM><STRONG>,</STRONG> <STRONG>int</STRONG> <EM>fildes</EM><STRONG>,</STRONG> <STRONG>int</STRONG> <STRONG>*</STRONG><EM>errret</EM><STRONG>);</STRONG>
- <STRONG>int</STRONG> <STRONG>setterm(char</STRONG> <STRONG>*</STRONG><EM>term</EM><STRONG>);</STRONG>
+ <STRONG>TERMINAL</STRONG> <STRONG>*cur_term;</STRONG>
+
+ <STRONG>const</STRONG> <STRONG>char</STRONG> <STRONG>*</STRONG> <STRONG>const</STRONG> <STRONG>boolnames[];</STRONG>
+ <STRONG>const</STRONG> <STRONG>char</STRONG> <STRONG>*</STRONG> <STRONG>const</STRONG> <STRONG>boolcodes[];</STRONG>
+ <STRONG>const</STRONG> <STRONG>char</STRONG> <STRONG>*</STRONG> <STRONG>const</STRONG> <STRONG>boolfnames[];</STRONG>
+ <STRONG>const</STRONG> <STRONG>char</STRONG> <STRONG>*</STRONG> <STRONG>const</STRONG> <STRONG>numnames[];</STRONG>
+ <STRONG>const</STRONG> <STRONG>char</STRONG> <STRONG>*</STRONG> <STRONG>const</STRONG> <STRONG>numcodes[];</STRONG>
+ <STRONG>const</STRONG> <STRONG>char</STRONG> <STRONG>*</STRONG> <STRONG>const</STRONG> <STRONG>numfnames[];</STRONG>
+ <STRONG>const</STRONG> <STRONG>char</STRONG> <STRONG>*</STRONG> <STRONG>const</STRONG> <STRONG>strnames[];</STRONG>
+ <STRONG>const</STRONG> <STRONG>char</STRONG> <STRONG>*</STRONG> <STRONG>const</STRONG> <STRONG>strcodes[];</STRONG>
+ <STRONG>const</STRONG> <STRONG>char</STRONG> <STRONG>*</STRONG> <STRONG>const</STRONG> <STRONG>strfnames[];</STRONG>
+
+ <STRONG>int</STRONG> <STRONG>setupterm(const</STRONG> <STRONG>char</STRONG> <STRONG>*</STRONG><EM>term</EM><STRONG>,</STRONG> <STRONG>int</STRONG> <EM>filedes</EM><STRONG>,</STRONG> <STRONG>int</STRONG> <STRONG>*</STRONG><EM>errret</EM><STRONG>);</STRONG>
+ <STRONG>int</STRONG> <STRONG>setterm(const</STRONG> <STRONG>char</STRONG> <STRONG>*</STRONG><EM>term</EM><STRONG>);</STRONG>
<STRONG>TERMINAL</STRONG> <STRONG>*set_curterm(TERMINAL</STRONG> <STRONG>*</STRONG><EM>nterm</EM><STRONG>);</STRONG>
<STRONG>int</STRONG> <STRONG>del_curterm(TERMINAL</STRONG> <STRONG>*</STRONG><EM>oterm</EM><STRONG>);</STRONG>
- <STRONG>int</STRONG> <STRONG>restartterm(char</STRONG> <STRONG>*</STRONG><EM>term</EM><STRONG>,</STRONG> <STRONG>int</STRONG> <EM>fildes</EM><STRONG>,</STRONG> <STRONG>int</STRONG> <STRONG>*</STRONG><EM>errret</EM><STRONG>);</STRONG>
- <STRONG>char</STRONG> <STRONG>*tparm(char</STRONG> <STRONG>*</STRONG><EM>str</EM><STRONG>,</STRONG> <STRONG>...);</STRONG>
+ <STRONG>int</STRONG> <STRONG>restartterm(const</STRONG> <STRONG>char</STRONG> <STRONG>*</STRONG><EM>term</EM><STRONG>,</STRONG> <STRONG>int</STRONG> <EM>filedes</EM><STRONG>,</STRONG> <STRONG>int</STRONG> <STRONG>*</STRONG><EM>errret</EM><STRONG>);</STRONG>
+
+ <STRONG>char</STRONG> <STRONG>*tparm(const</STRONG> <STRONG>char</STRONG> <STRONG>*</STRONG><EM>str</EM><STRONG>,</STRONG> <STRONG>...);</STRONG>
<STRONG>int</STRONG> <STRONG>tputs(const</STRONG> <STRONG>char</STRONG> <STRONG>*</STRONG><EM>str</EM><STRONG>,</STRONG> <STRONG>int</STRONG> <EM>affcnt</EM><STRONG>,</STRONG> <STRONG>int</STRONG> <STRONG>(*</STRONG><EM>putc</EM><STRONG>)(int));</STRONG>
<STRONG>int</STRONG> <STRONG>putp(const</STRONG> <STRONG>char</STRONG> <STRONG>*</STRONG><EM>str</EM><STRONG>);</STRONG>
+
<STRONG>int</STRONG> <STRONG>vidputs(chtype</STRONG> <EM>attrs</EM><STRONG>,</STRONG> <STRONG>int</STRONG> <STRONG>(*</STRONG><EM>putc</EM><STRONG>)(int));</STRONG>
<STRONG>int</STRONG> <STRONG>vidattr(chtype</STRONG> <EM>attrs</EM><STRONG>);</STRONG>
<STRONG>int</STRONG> <STRONG>vid_puts(attr_t</STRONG> <EM>attrs</EM><STRONG>,</STRONG> <STRONG>short</STRONG> <EM>pair</EM><STRONG>,</STRONG> <STRONG>void</STRONG> <STRONG>*</STRONG><EM>opts</EM><STRONG>,</STRONG> <STRONG>int</STRONG> <STRONG>(*</STRONG><EM>putc</EM><STRONG>)(int));</STRONG>
<STRONG>int</STRONG> <STRONG>vid_attr(attr_t</STRONG> <EM>attrs</EM><STRONG>,</STRONG> <STRONG>short</STRONG> <EM>pair</EM><STRONG>,</STRONG> <STRONG>void</STRONG> <STRONG>*</STRONG><EM>opts</EM><STRONG>);</STRONG>
+
<STRONG>int</STRONG> <STRONG>mvcur(int</STRONG> <EM>oldrow</EM><STRONG>,</STRONG> <STRONG>int</STRONG> <EM>oldcol</EM><STRONG>,</STRONG> <STRONG>int</STRONG> <EM>newrow</EM>, int <EM>newcol</EM><STRONG>);</STRONG>
- <STRONG>int</STRONG> <STRONG>tigetflag(char</STRONG> <STRONG>*</STRONG><EM>capname</EM><STRONG>);</STRONG>
- <STRONG>int</STRONG> <STRONG>tigetnum(char</STRONG> <STRONG>*</STRONG><EM>capname</EM><STRONG>);</STRONG>
- <STRONG>char</STRONG> <STRONG>*tigetstr(char</STRONG> <STRONG>*</STRONG><EM>capname</EM><STRONG>);</STRONG>
+
+ <STRONG>int</STRONG> <STRONG>tigetflag(const</STRONG> <STRONG>char</STRONG> <STRONG>*</STRONG><EM>capname</EM><STRONG>);</STRONG>
+ <STRONG>int</STRONG> <STRONG>tigetnum(const</STRONG> <STRONG>char</STRONG> <STRONG>*</STRONG><EM>capname</EM><STRONG>);</STRONG>
+ <STRONG>char</STRONG> <STRONG>*tigetstr(const</STRONG> <STRONG>char</STRONG> <STRONG>*</STRONG><EM>capname</EM><STRONG>);</STRONG>
+
<STRONG>char</STRONG> <STRONG>*tiparm(const</STRONG> <STRONG>char</STRONG> <STRONG>*</STRONG><EM>str</EM><STRONG>,</STRONG> <STRONG>...);</STRONG>
-</PRE>
-<H2>DESCRIPTION</H2><PRE>
- These low-level routines must be called by programs that
- have to deal directly with the <STRONG>terminfo</STRONG> database to handle
- certain terminal capabilities, such as programming func-
- tion keys. For all other functionality, <STRONG>curses</STRONG> routines
- are more suitable and their use is recommended.
-
- <STRONG>Initialization</STRONG>
- Initially, <STRONG>setupterm</STRONG> should be called. Note that <STRONG>se-</STRONG>
- <STRONG>tupterm</STRONG> is automatically called by <STRONG>initscr</STRONG> and <STRONG>newterm</STRONG>.
- This defines the set of terminal-dependent variables
- [listed in <STRONG><A HREF="terminfo.5.html">terminfo(5)</A></STRONG>].
-
- Each initialization routine provides applications with the
- terminal capabilities either directly (via header defini-
- tions), or by special functions. The header files <STRONG>curs-</STRONG>
- <STRONG>es.h</STRONG> and <STRONG>term.h</STRONG> should be included (in this order) to get
- the definitions for these strings, numbers, and flags.
-
- The <STRONG>terminfo</STRONG> variables <STRONG>lines</STRONG> and <STRONG>columns</STRONG> are initialized
- by <STRONG>setupterm</STRONG> as follows:
-
- <STRONG>o</STRONG> If <STRONG>use_env(FALSE)</STRONG> has been called, values for <STRONG>lines</STRONG>
- and <STRONG>columns</STRONG> specified in <STRONG>terminfo</STRONG> are used.
-
- <STRONG>o</STRONG> Otherwise, if the environment variables <STRONG>LINES</STRONG> and <STRONG>COL-</STRONG>
- <STRONG>UMNS</STRONG> exist, their values are used. If these environ-
- ment variables do not exist and the program is running
- in a window, the current window size is used. Other-
- wise, if the environment variables do not exist, the
- values for <STRONG>lines</STRONG> and <STRONG>columns</STRONG> specified in the <STRONG>terminfo</STRONG>
- database are used.
-
- Parameterized strings should be passed through <STRONG>tparm</STRONG> to
- instantiate them. All <STRONG>terminfo</STRONG> strings [including the
- output of <STRONG>tparm</STRONG>] should be printed with <STRONG>tputs</STRONG> or <STRONG>putp</STRONG>.
- Call <STRONG>reset_shell_mode</STRONG> to restore the tty modes before ex-
- iting [see <STRONG><A HREF="curs_kernel.3x.html">curs_kernel(3x)</A></STRONG>].
+</PRE><H2><a name="h2-DESCRIPTION">DESCRIPTION</a></H2><PRE>
+ These low-level routines must be called by programs that have to deal
+ directly with the <STRONG>terminfo</STRONG> database to handle certain terminal capabil-
+ ities, such as programming function keys. For all other functionality,
+ <STRONG>curses</STRONG> routines are more suitable and their use is recommended.
+
+
+</PRE><H3><a name="h3-Initialization">Initialization</a></H3><PRE>
+ Initially, <STRONG>setupterm</STRONG> should be called. The high-level curses functions
+ <STRONG>initscr</STRONG> and <STRONG>newterm</STRONG> call <STRONG>setupterm</STRONG> to initialize the low-level set of
+ terminal-dependent variables [listed in <STRONG><A HREF="terminfo.5.html">terminfo(5)</A></STRONG>].
+
+ Applications can use the terminal capabilities either directly (via
+ header definitions), or by special functions. The header files <STRONG>curs-</STRONG>
+ <STRONG>es.h</STRONG> and <STRONG>term.h</STRONG> should be included (in this order) to get the defini-
+ tions for these strings, numbers, and flags.
+
+ The <STRONG>terminfo</STRONG> variables <STRONG>lines</STRONG> and <STRONG>columns</STRONG> are initialized by <STRONG>setupterm</STRONG>
+ as follows:
+
+ <STRONG>o</STRONG> If <STRONG>use_env(FALSE)</STRONG> has been called, values for <STRONG>lines</STRONG> and <STRONG>columns</STRONG>
+ specified in <STRONG>terminfo</STRONG> are used.
+
+ <STRONG>o</STRONG> Otherwise, if the environment variables <STRONG>LINES</STRONG> and <STRONG>COLUMNS</STRONG> exist,
+ their values are used. If these environment variables do not exist
+ and the program is running in a window, the current window size is
+ used. Otherwise, if the environment variables do not exist, the
+ values for <STRONG>lines</STRONG> and <STRONG>columns</STRONG> specified in the <STRONG>terminfo</STRONG> database are
+ used.
+
+ Parameterized strings should be passed through <STRONG>tparm</STRONG> to instantiate
+ them. All <STRONG>terminfo</STRONG> strings (including the output of <STRONG>tparm</STRONG>) should be
+ printed with <STRONG>tputs</STRONG> or <STRONG>putp</STRONG>. Call <STRONG>reset_shell_mode</STRONG> to restore the tty
+ modes before exiting [see <STRONG><A HREF="curs_kernel.3x.html">curs_kernel(3x)</A></STRONG>].
Programs which use cursor addressing should
@@ -130,139 +139,163 @@
Programs which execute shell subprocesses should
- <STRONG>o</STRONG> call <STRONG>reset_shell_mode</STRONG> and output <STRONG>exit_ca_mode</STRONG> before
- the shell is called and
+ <STRONG>o</STRONG> call <STRONG>reset_shell_mode</STRONG> and output <STRONG>exit_ca_mode</STRONG> before the shell is
+ called and
+
+ <STRONG>o</STRONG> output <STRONG>enter_ca_mode</STRONG> and call <STRONG>reset_prog_mode</STRONG> after returning from
+ the shell.
- <STRONG>o</STRONG> output <STRONG>enter_ca_mode</STRONG> and call <STRONG>reset_prog_mode</STRONG> after
- returning from the shell.
+ The <STRONG>setupterm</STRONG> routine reads in the <STRONG>terminfo</STRONG> database, initializing the
+ <STRONG>terminfo</STRONG> structures, but does not set up the output virtualization
+ structures used by <STRONG>curses</STRONG>. These are its parameters:
- The <STRONG>setupterm</STRONG> routine reads in the <STRONG>terminfo</STRONG> database, ini-
- tializing the <STRONG>terminfo</STRONG> structures, but does not set up the
- output virtualization structures used by <STRONG>curses</STRONG>. The ter-
- minal type is the character string <EM>term</EM>; if <EM>term</EM> is null,
- the environment variable <STRONG>TERM</STRONG> is used. All output is to
- file descriptor <STRONG>fildes</STRONG> which is initialized for output.
- If <EM>errret</EM> is not null, then <STRONG>setupterm</STRONG> returns <STRONG>OK</STRONG> or <STRONG>ERR</STRONG>
- and stores a status value in the integer pointed to by <EM>er-</EM>
- <EM>rret</EM>. A return value of <STRONG>OK</STRONG> combined with status of <STRONG>1</STRONG> in
- <EM>errret</EM> is normal. If <STRONG>ERR</STRONG> is returned, examine <EM>errret</EM>:
+ <EM>term</EM> is the terminal type, a character string. If <EM>term</EM> is null, the
+ environment variable <STRONG>TERM</STRONG> is used.
- <STRONG>1</STRONG> means that the terminal is hardcopy, cannot be used
- for curses applications.
+ <EM>filedes</EM>
+ is the file descriptor used for all output.
- <STRONG>setupterm</STRONG> determines if the entry is a hardcopy type
- by checking the <EM>hc</EM> (<EM>hardcopy</EM>) capability.
+ <EM>errret</EM>
+ points to an optional location where an error status can be re-
+ turned to the caller. If <EM>errret</EM> is not null, then <STRONG>setupterm</STRONG>
+ returns <STRONG>OK</STRONG> or <STRONG>ERR</STRONG> and stores a status value in the integer
+ pointed to by <EM>errret</EM>. A return value of <STRONG>OK</STRONG> combined with sta-
+ tus of <STRONG>1</STRONG> in <EM>errret</EM> is normal.
- <STRONG>0</STRONG> means that the terminal could not be found, or that
- it is a generic type, having too little information
- for curses applications to run.
+ If <STRONG>ERR</STRONG> is returned, examine <EM>errret</EM>:
- <STRONG>setupterm</STRONG> determines if the entry is a generic type
- by checking the <EM>gn</EM> (<EM>generic</EM>) capability.
+ <STRONG>1</STRONG> means that the terminal is hardcopy, cannot be used for
+ curses applications.
- <STRONG>-1</STRONG> means that the <STRONG>terminfo</STRONG> database could not be found.
+ <STRONG>setupterm</STRONG> determines if the entry is a hardcopy type by
+ checking the <STRONG>hc</STRONG> (<STRONG>hardcopy</STRONG>) capability.
- If <EM>errret</EM> is null, <STRONG>setupterm</STRONG> prints an error message upon
- finding an error and exits. Thus, the simplest call is:
+ <STRONG>0</STRONG> means that the terminal could not be found, or that it is
+ a generic type, having too little information for curses
+ applications to run.
- <STRONG>setupterm((char</STRONG> <STRONG>*)0,</STRONG> <STRONG>1,</STRONG> <STRONG>(int</STRONG> <STRONG>*)0);</STRONG>,
+ <STRONG>setupterm</STRONG> determines if the entry is a generic type by
+ checking the <STRONG>gn</STRONG> (<STRONG>generic</STRONG>) capability.
- which uses all the defaults and sends the output to <STRONG>std-</STRONG>
- <STRONG>out</STRONG>.
+ <STRONG>-1</STRONG> means that the <STRONG>terminfo</STRONG> database could not be found.
+
+ If <EM>errret</EM> is null, <STRONG>setupterm</STRONG> prints an error message upon find-
+ ing an error and exits. Thus, the simplest call is:
+
+ <STRONG>setupterm((char</STRONG> <STRONG>*)0,</STRONG> <STRONG>1,</STRONG> <STRONG>(int</STRONG> <STRONG>*)0);</STRONG>,
+
+ which uses all the defaults and sends the output to <STRONG>stdout</STRONG>.
The <STRONG>setterm</STRONG> routine was replaced by <STRONG>setupterm</STRONG>. 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>. The
- <STRONG>setterm</STRONG> routine is provided for BSD compatibility, and is
- not recommended for new programs.
-
- <STRONG>The</STRONG> <STRONG>Terminal</STRONG> <STRONG>State</STRONG>
- 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 detects an error, or decides
- that the terminal is unsuitable (hardcopy or generic), it
- discards this information, making it not available to ap-
- plications.
-
- If <STRONG>setupterm</STRONG> is called repeatedly for the same terminal
- type, it will reuse the information. It maintains only
- one copy of a given terminal's capabilities in memory. If
- it is called for different terminal types, <STRONG>setupterm</STRONG> allo-
- cates new storage for each set of terminal capabilities.
-
- The <STRONG>set_curterm</STRONG> routine sets <STRONG>cur_term</STRONG> to <EM>nterm</EM>, and makes
- all of the <STRONG>terminfo</STRONG> boolean, numeric, and string variables
- use the values from <EM>nterm</EM>. It returns the old value of
- <STRONG>cur_term</STRONG>.
-
- The <STRONG>del_curterm</STRONG> routine frees the space pointed to by
- <EM>oterm</EM> and makes it available for further use. If <EM>oterm</EM> is
- the same as <STRONG>cur_term</STRONG>, references to any of the <STRONG>terminfo</STRONG>
- boolean, numeric, and string variables thereafter may re-
- fer to invalid memory locations until another <STRONG>setupterm</STRONG>
- has been called.
-
- The <STRONG>restartterm</STRONG> routine is similar to <STRONG>setupterm</STRONG> and
- <STRONG>initscr</STRONG>, except that it is called after restoring memory
- to a previous state (for example, when reloading a game
- saved as a core image dump). <STRONG>restartterm</STRONG> assumes that the
- windows and the input and output options are the same as
- when memory was saved, but the terminal type and baud rate
- may be different. Accordingly, <STRONG>restartterm</STRONG> saves various
- tty state bits, calls <STRONG>setupterm</STRONG>, and then restores the
- bits.
-
- <STRONG>Formatting</STRONG> <STRONG>Output</STRONG>
- The <STRONG>tparm</STRONG> routine instantiates the string <EM>str</EM> with parame-
- ters <EM>pi</EM>. A pointer is returned to the result of <EM>str</EM> with
- the parameters applied.
-
- <STRONG>tiparm</STRONG> is a newer form of <STRONG>tparm</STRONG> which uses <EM>&lt;stdarg.h&gt;</EM>
- rather than a fixed-parameter list. Its numeric parame-
- ters are integers (int) rather than longs.
-
- <STRONG>Output</STRONG> <STRONG>Functions</STRONG>
- The <STRONG>tputs</STRONG> routine applies padding information to the
- string <EM>str</EM> and outputs it. The <EM>str</EM> must be a terminfo
- string variable or the return value from <STRONG>tparm</STRONG>, <STRONG>tgetstr</STRONG>,
- or <STRONG>tgoto</STRONG>. <EM>affcnt</EM> is the number of lines affected, or 1 if
- not applicable. <EM>putc</EM> is a <STRONG>putchar</STRONG>-like routine to which
- the characters are passed, one at a time.
-
- The <STRONG>putp</STRONG> routine calls <STRONG>tputs(</STRONG><EM>str</EM><STRONG>,</STRONG> <STRONG>1,</STRONG> <STRONG>putchar)</STRONG>. Note that
- the output of <STRONG>putp</STRONG> always goes to <STRONG>stdout</STRONG>, not to the
- <EM>fildes</EM> specified in <STRONG>setupterm</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 <EM>putc</EM>.
-
- The <STRONG>vidattr</STRONG> routine is like the <STRONG>vidputs</STRONG> routine, except
- that it outputs through <STRONG>putchar</STRONG>.
-
- 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 attributes plus color, i.e.,
- one of type attr_t for the attributes and one of short for
- the color_pair number. The <STRONG>vid_attr</STRONG> and <STRONG>vid_puts</STRONG> routines
- are designed to use the attribute constants with the <EM>WA</EM><STRONG>_</STRONG>
- prefix. The opts argument is reserved for future use.
- Currently, applications must provide a null pointer for
- that argument.
-
- The <STRONG>mvcur</STRONG> routine provides low-level cursor motion. It
- takes effect immediately (rather than at the next re-
- fresh).
-
- <STRONG>Terminal</STRONG> <STRONG>Capability</STRONG> <STRONG>Functions</STRONG>
- The <STRONG>tigetflag</STRONG>, <STRONG>tigetnum</STRONG> and <STRONG>tigetstr</STRONG> routines return the
- value of the capability corresponding to the <STRONG>terminfo</STRONG> <EM>cap-</EM>
- <EM>name</EM> passed to them, such as <STRONG>xenl</STRONG>. The <EM>capname</EM> for each
- capability is given in the table column entitled <EM>capname</EM>
- code in the capabilities section of <STRONG><A HREF="terminfo.5.html">terminfo(5)</A></STRONG>.
+ provides the same functionality as <STRONG>setterm(</STRONG><EM>term</EM><STRONG>)</STRONG>. The <STRONG>setterm</STRONG> routine
+ is provided for BSD compatibility, and is not recommended for new pro-
+ grams.
+
+
+</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
+ detects an error, or decides that the terminal is unsuitable (hardcopy
+ or generic), it discards this information, making it not available to
+ applications.
+
+ If <STRONG>setupterm</STRONG> is called repeatedly for the same terminal type, it will
+ reuse the information. It maintains only one copy of a given termi-
+ nal's capabilities in memory. If it is called for different terminal
+ types, <STRONG>setupterm</STRONG> allocates new storage for each set of terminal capa-
+ bilities.
+
+ The <STRONG>set_curterm</STRONG> routine sets <STRONG>cur_term</STRONG> to <EM>nterm</EM>, and makes all of the
+ <STRONG>terminfo</STRONG> boolean, numeric, and string variables use the values from
+ <EM>nterm</EM>. It returns the old value of <STRONG>cur_term</STRONG>.
+
+ The <STRONG>del_curterm</STRONG> routine frees the space pointed to by <EM>oterm</EM> and makes
+ it available for further use. If <EM>oterm</EM> is the same as <STRONG>cur_term</STRONG>, refer-
+ ences to any of the <STRONG>terminfo</STRONG> boolean, numeric, and string variables
+ thereafter may refer to invalid memory locations until another <STRONG>se-</STRONG>
+ <STRONG>tupterm</STRONG> has been called.
+
+ The <STRONG>restartterm</STRONG> routine is similar to <STRONG>setupterm</STRONG> and <STRONG>initscr</STRONG>, except
+ that it is called after restoring memory to a previous state (for exam-
+ ple, when reloading a game saved as a core image dump). <STRONG>restartterm</STRONG>
+ assumes that the windows and the input and output options are the same
+ as when memory was saved, but the terminal type and baud rate may be
+ different. Accordingly, <STRONG>restartterm</STRONG> saves various tty state bits,
+ calls <STRONG>setupterm</STRONG>, and then restores the bits.
+
+
+</PRE><H3><a name="h3-Formatting-Output">Formatting Output</a></H3><PRE>
+ The <STRONG>tparm</STRONG> routine instantiates the string <EM>str</EM> with parameters <EM>pi</EM>. A
+ pointer is returned to the result of <EM>str</EM> with the parameters applied.
+ Application developers should keep in mind these quirks of the inter-
+ face:
+
+ <STRONG>o</STRONG> Although <STRONG>tparm</STRONG>'s actual parameters may be integers or strings, the
+ prototype expects <STRONG>long</STRONG> (integer) values.
+
+ <STRONG>o</STRONG> Aside from the <STRONG>set_attributes</STRONG> (<STRONG>sgr</STRONG>) capability, most terminal capa-
+ bilities require no more than one or two parameters.
+
+ <STRONG>tiparm</STRONG> is a newer form of <STRONG>tparm</STRONG> which uses <EM>&lt;stdarg.h&gt;</EM> rather than a
+ fixed-parameter list. Its numeric parameters are integers (int) rather
+ than longs.
+
+
+</PRE><H3><a name="h3-Output-Functions">Output Functions</a></H3><PRE>
+ The <STRONG>tputs</STRONG> routine applies padding information to the string <EM>str</EM> and
+ outputs it:
+
+ <STRONG>o</STRONG> The <EM>str</EM> parameter must be a terminfo string variable or the return
+ value from <STRONG>tparm</STRONG>, <STRONG>tiparm</STRONG>, <STRONG>tgetstr</STRONG>, or <STRONG>tgoto</STRONG>.
+
+ The <STRONG>tgetstr</STRONG> and <STRONG>tgoto</STRONG> functions are part of the <EM>termcap</EM> interface,
+ which happens to share this function name with the <EM>terminfo</EM> inter-
+ face.
+
+ <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,
+ one at a time.
+
+ The <STRONG>putp</STRONG> routine calls <STRONG>tputs(</STRONG><EM>str</EM><STRONG>,</STRONG> <STRONG>1,</STRONG> <STRONG>putchar)</STRONG>. The output of <STRONG>putp</STRONG> al-
+ ways goes to <STRONG>stdout</STRONG>, rather than the <EM>filedes</EM> specified in <STRONG>setupterm</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
+ <EM>putc</EM>.
+
+ The <STRONG>vidattr</STRONG> routine is like the <STRONG>vidputs</STRONG> routine, except that it outputs
+ through <STRONG>putchar</STRONG>.
+
+ 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
+ attributes plus color, i.e.,
+
+ <STRONG>o</STRONG> <EM>attrs</EM> of type <STRONG>attr_t</STRONG> for the attributes and
+
+ <STRONG>o</STRONG> <EM>pair</EM> of type <STRONG>short</STRONG> for the color-pair number.
+
+ The <STRONG>vid_attr</STRONG> and <STRONG>vid_puts</STRONG> routines are designed to use the attribute
+ constants with the <EM>WA</EM><STRONG>_</STRONG> prefix.
+
+ X/Open Curses reserves the <EM>opts</EM> argument for future use, saying that
+ applications must provide a null pointer for that argument. As an ex-
+ tension, this implementation allows <EM>opts</EM> to be used as a pointer to
+ <STRONG>int</STRONG>, which overrides the <EM>pair</EM> (<STRONG>short</STRONG>) argument.
+
+ The <STRONG>mvcur</STRONG> routine provides low-level cursor motion. It takes effect
+ immediately (rather than at the next refresh).
+
+
+</PRE><H3><a name="h3-Terminal-Capability-Functions">Terminal Capability Functions</a></H3><PRE>
+ The <STRONG>tigetflag</STRONG>, <STRONG>tigetnum</STRONG> and <STRONG>tigetstr</STRONG> routines return the value of the
+ capability corresponding to the <STRONG>terminfo</STRONG> <EM>capname</EM> passed to them, such
+ as <STRONG>xenl</STRONG>. The <EM>capname</EM> for each capability is given in the table column
+ entitled <EM>capname</EM> code in the capabilities section of <STRONG><A HREF="terminfo.5.html">terminfo(5)</A></STRONG>.
These routines return special values to denote errors.
@@ -270,163 +303,278 @@
<STRONG>-1</STRONG> if <EM>capname</EM> is not a boolean capability, or
- <STRONG>0</STRONG> if it is canceled or absent from the terminal de-
- scription.
+ <STRONG>0</STRONG> if it is canceled or absent from the terminal description.
The <STRONG>tigetnum</STRONG> routine returns
<STRONG>-2</STRONG> if <EM>capname</EM> is not a numeric capability, or
- <STRONG>-1</STRONG> if it is canceled or absent from the terminal de-
- scription.
+ <STRONG>-1</STRONG> if it is canceled or absent from the terminal description.
The <STRONG>tigetstr</STRONG> routine returns
<STRONG>(char</STRONG> <STRONG>*)-1</STRONG>
if <EM>capname</EM> is not a string capability, or
- <STRONG>0</STRONG> if it is canceled or absent from the terminal de-
- scription.
+ <STRONG>0</STRONG> if it is canceled or absent from the terminal description.
- <STRONG>Terminal</STRONG> <STRONG>Capability</STRONG> <STRONG>Names</STRONG>
- These null-terminated arrays contain the short terminfo
- names ("codes"), the <STRONG>termcap</STRONG> names, and the long terminfo
- names ("fnames") for each of the predefined <STRONG>terminfo</STRONG> vari-
- ables:
- <STRONG>char</STRONG> <STRONG>*boolnames[]</STRONG>, <STRONG>*boolcodes[]</STRONG>, <STRONG>*boolfnames[]</STRONG>
- <STRONG>char</STRONG> <STRONG>*numnames[]</STRONG>, <STRONG>*numcodes[]</STRONG>, <STRONG>*numfnames[]</STRONG>
+</PRE><H3><a name="h3-Terminal-Capability-Names">Terminal Capability Names</a></H3><PRE>
+ These null-terminated arrays contain
- <STRONG>char</STRONG> <STRONG>*strnames[]</STRONG>, <STRONG>*strcodes[]</STRONG>, <STRONG>*strfnames[]</STRONG>
+ <STRONG>o</STRONG> the short terminfo names ("codes"),
+ <STRONG>o</STRONG> the <STRONG>termcap</STRONG> names ("names", and
-</PRE>
-<H2>RETURN VALUE</H2><PRE>
- Routines that return an integer return <STRONG>ERR</STRONG> upon failure
- and <STRONG>OK</STRONG> (SVr4 only specifies "an integer value other than
- <STRONG>ERR</STRONG>") upon successful completion, unless otherwise noted
- in the preceding routine descriptions.
+ <STRONG>o</STRONG> the long terminfo names ("fnames")
+
+ for each of the predefined <STRONG>terminfo</STRONG> variables:
+
+ <STRONG>const</STRONG> <STRONG>char</STRONG> <STRONG>*boolnames[]</STRONG>, <STRONG>*boolcodes[]</STRONG>, <STRONG>*boolfnames[]</STRONG>
+ <STRONG>const</STRONG> <STRONG>char</STRONG> <STRONG>*numnames[]</STRONG>, <STRONG>*numcodes[]</STRONG>, <STRONG>*numfnames[]</STRONG>
+ <STRONG>const</STRONG> <STRONG>char</STRONG> <STRONG>*strnames[]</STRONG>, <STRONG>*strcodes[]</STRONG>, <STRONG>*strfnames[]</STRONG>
+
+
+</PRE><H2><a name="h2-RETURN-VALUE">RETURN VALUE</a></H2><PRE>
+ Routines that return an integer return <STRONG>ERR</STRONG> upon failure and <STRONG>OK</STRONG> (SVr4
+ only specifies "an integer value other than <STRONG>ERR</STRONG>") upon successful com-
+ pletion, unless otherwise noted in the preceding routine descriptions.
Routines that return pointers always return <STRONG>NULL</STRONG> on error.
- X/Open defines no error conditions. In this implementa-
- tion
+ X/Open defines no error conditions. In this implementation
+
+ <STRONG>del_curterm</STRONG>
+ returns an error if its terminal parameter is null.
+
+ <STRONG>putp</STRONG> calls <STRONG>tputs</STRONG>, returning the same error-codes.
+
+ <STRONG>restartterm</STRONG>
+ returns an error if the associated call to <STRONG>setupterm</STRONG> returns an
+ error.
+
+ <STRONG>setupterm</STRONG>
+ returns an error if it cannot allocate enough memory, or create
+ the initial windows (stdscr, curscr, newscr). Other error con-
+ ditions are documented above.
+
+ <STRONG>tputs</STRONG>
+ returns an error if the string parameter is null. It does not
+ detect I/O errors: X/Open states that <STRONG>tputs</STRONG> ignores the return
+ value of the output function <EM>putc</EM>.
+
+
+</PRE><H2><a name="h2-HISTORY">HISTORY</a></H2><PRE>
+ SVr2 introduced the terminfo feature. Its programming manual mentioned
+ these low-level functions:
+
+ <STRONG>Function</STRONG> <STRONG>Description</STRONG>
+ ------------------------------------------------------------
+ fixterm restore tty to "in curses" state
+ gettmode establish current tty modes
+ mvcur low level cursor motion
+ putp utility function that uses <STRONG>tputs</STRONG> to send char-
+ acters via <STRONG>putchar</STRONG>.
+ resetterm set tty modes to "out of curses" state
+ resetty reset tty flags to stored value
+ saveterm save current modes as "in curses" state
+ savetty store current tty flags
+ 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 <STRONG>vidputs</STRONG>, but outputs through <STRONG>putchar</STRONG>
+ vidputs output a string to put terminal in a specified
+ video attribute mode
+
+ The programming manual also mentioned functions provided for termcap
+ compatibility (commenting that they "may go away at a later date"):
+
+ <STRONG>Function</STRONG> <STRONG>Description</STRONG>
+ ------------------------------------------------
+ tgetent look up termcap entry for given <EM>name</EM>
+ tgetflag get boolean entry for given <EM>id</EM>
+ tgetnum get numeric entry for given <EM>id</EM>
+ tgetstr get string entry for given <EM>id</EM>
+ tgoto apply parameters to given capability
+ tputs apply padding to capability, calling
+ a function to put characters
+
+ Early terminfo programs obtained capability values from the <STRONG>TERMINAL</STRONG>
+ structure initialized by <STRONG>setupterm</STRONG>.
+
+ SVr3 extended terminfo by adding functions to retrieve capability val-
+ ues (like the termcap interface), and reusing tgoto and tputs:
+
+ <STRONG>Function</STRONG> <STRONG>Description</STRONG>
+ -------------------------------------------
+ tigetflag get boolean entry for given <EM>id</EM>
+ tigetnum get numeric entry for given <EM>id</EM>
+ tigetstr get string entry for given <EM>id</EM>
+
+ SVr3 also replaced several of the SVr2 terminfo functions which had no
+ counterpart in the termcap interface, documenting them as obsolete:
+
+ <STRONG>Function</STRONG> <STRONG>Replaced</STRONG> <STRONG>by</STRONG>
+ -----------------------------
+ crmode cbreak
+ fixterm reset_prog_mode
+ gettmode N/A
+ nocrmode nocbreak
+ resetterm reset_shell_mode
+ saveterm def_prog_mode
+ setterm setupterm
+
+ SVr3 kept the <STRONG>mvcur</STRONG>, <STRONG>vidattr</STRONG> and <STRONG>vidputs</STRONG> functions, along with <STRONG>putp</STRONG>,
+ <STRONG>tparm</STRONG> and <STRONG>tputs</STRONG>. The latter were needed to support padding, and han-
+ dling functions such as <STRONG>vidattr</STRONG> (which used more than the two parame-
+ ters supported by <STRONG>tgoto</STRONG>).
+
+ SVr3 introduced the functions for switching between terminal descrip-
+ tions, e.g., <STRONG>set_curterm</STRONG>. The various global variables such as <STRONG>bool-</STRONG>
+ <STRONG>names</STRONG> were mentioned in the programming manual at this point.
+
+ SVr4 added the <STRONG>vid_attr</STRONG> and <STRONG>vid_puts</STRONG> functions.
+
+ There are other low-level functions declared in the curses header files
+ on Unix systems, but none were documented. The functions marked "obso-
+ lete" remained in use by the Unix <STRONG>vi</STRONG> editor.
+
+
+</PRE><H2><a name="h2-PORTABILITY">PORTABILITY</a></H2><PRE>
+
+</PRE><H3><a name="h3-Legacy-functions">Legacy functions</a></H3><PRE>
+ X/Open notes that <STRONG>vidattr</STRONG> and <STRONG>vidputs</STRONG> may be macros.
+
+ 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>del_curterm</STRONG>
- returns an error if its terminal parameter is
- null.
- <STRONG>putp</STRONG> calls <STRONG>tputs</STRONG>, returning the same error-codes.
+</PRE><H3><a name="h3-Legacy-data">Legacy data</a></H3><PRE>
+ <STRONG>setupterm</STRONG> copies the terminal name to the array <STRONG>ttytype</STRONG>. This is not
+ part of X/Open Curses, but is assumed by some applications.
- <STRONG>restartterm</STRONG>
- returns an error if the associated call to <STRONG>se-</STRONG>
- <STRONG>tupterm</STRONG> returns an error.
+ Other implementions may not declare the capability name arrays. Some
+ provide them without declaring them. X/Open does not specify them.
- <STRONG>setupterm</STRONG>
- returns an error if it cannot allocate enough
- memory, or create the initial windows (stdscr,
- curscr, newscr). Other error conditions are
- documented above.
+ Extended terminal capability names, e.g., as defined by <STRONG>tic</STRONG> <STRONG>-x</STRONG>, are not
+ stored in the arrays described here.
- <STRONG>tputs</STRONG>
- returns an error if the string parameter is
- null. It does not detect I/O errors: X/Open
- states that <STRONG>tputs</STRONG> ignores the return value of
- the output function <EM>putc</EM>.
+</PRE><H3><a name="h3-Output-buffering">Output buffering</a></H3><PRE>
+ Older versions of <STRONG>ncurses</STRONG> assumed that the file descriptor passed to
+ <STRONG>setupterm</STRONG> from <STRONG>initscr</STRONG> or <STRONG>newterm</STRONG> uses buffered I/O, and would write to
+ the corresponding stream. In addition to the limitation that the ter-
+ minal was left in block-buffered mode on exit (like System V curses),
+ it was problematic because <STRONG>ncurses</STRONG> did not allow a reliable way to
+ cleanup on receiving SIGTSTP.
-</PRE>
-<H2>PORTABILITY</H2><PRE>
- X/Open notes that <STRONG>vidattr</STRONG> and <STRONG>vidputs</STRONG> may be macros.
+ The current version (ncurses6) uses output buffers managed directly by
+ <STRONG>ncurses</STRONG>. Some of the low-level functions described in this manual page
+ write to the standard output. They are not signal-safe. The high-lev-
+ el functions in <STRONG>ncurses</STRONG> use alternate versions of these functions using
+ the more reliable buffering scheme.
- 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>setupterm</STRONG> copies the terminal name to the array <STRONG>ttytype</STRONG>.
- This is not part of X/Open Curses, but is assumed by some
- applications.
+</PRE><H3><a name="h3-Function-prototypes">Function prototypes</a></H3><PRE>
+ The X/Open Curses prototypes are based on the SVr4 curses header decla-
+ rations, which were defined at the same time the C language was first
+ standardized in the late 1980s.
- If configured to use the terminal-driver, e.g., for the
- MinGW port,
-
- <STRONG>o</STRONG> <STRONG>setupterm</STRONG> interprets a missing/empty TERM variable as
- the special value "unknown".
-
- <STRONG>o</STRONG> <STRONG>setupterm</STRONG> allows explicit use of the the windows con-
- sole driver by checking if $TERM is set to "#win32con"
- or an abbreviation of that string.
-
- Older versions of <STRONG>ncurses</STRONG> assumed that the file descriptor
- passed to <STRONG>setupterm</STRONG> from <STRONG>initscr</STRONG> or <STRONG>newterm</STRONG> uses buffered
- I/O, and would write to the corresponding stream. In ad-
- dition to the limitation that the terminal was left in
- block-buffered mode on exit (like SystemV curses), it was
- problematic because <STRONG>ncurses</STRONG> did not allow a reliable way
- to cleanup on receiving SIGTSTP. The current version uses
- output buffers managed directly by <STRONG>ncurses</STRONG>. Some of the
- low-level functions described in this manual page write to
- the standard output. They are not signal-safe. The high-
- level functions in <STRONG>ncurses</STRONG> use alternate versions of these
- functions using the more reliable buffering scheme.
-
- In System V Release 4, <STRONG>set_curterm</STRONG> has an <STRONG>int</STRONG> return type
- and returns <STRONG>OK</STRONG> or <STRONG>ERR</STRONG>. We have chosen to implement the
- X/Open Curses semantics.
-
- In System V Release 4, the third argument of <STRONG>tputs</STRONG> has the
- type <STRONG>int</STRONG> <STRONG>(*putc)(char)</STRONG>.
-
- At least one implementation of X/Open Curses (Solaris) re-
- turns a value other than OK/ERR from <STRONG>tputs</STRONG>. That returns
- the length of the string, and does no error-checking.
-
- X/Open Curses prototypes <STRONG>tparm</STRONG> with a fixed number of pa-
- rameters, rather than a variable argument list. This im-
- plementation uses a variable argument list, but can be
- configured to use the fixed-parameter list. Portable ap-
- plications should provide 9 parameters after the format;
- zeroes are fine for this purpose.
-
- In response to comments by Thomas E. Dickey, X/Open Curses
- Issue 7 proposed the <STRONG>tiparm</STRONG> function in mid-2009.
-
- X/Open notes that after calling <STRONG>mvcur</STRONG>, the curses state
- may not match the actual terminal state, and that an ap-
- plication should touch and refresh the window before re-
- suming normal curses calls. Both <STRONG>ncurses</STRONG> and System V Re-
- lease 4 curses implement <STRONG>mvcur</STRONG> using the SCREEN data allo-
- cated in either <STRONG>initscr</STRONG> or <STRONG>newterm</STRONG>. So though it is docu-
- mented as a terminfo function, <STRONG>mvcur</STRONG> is really a curses
- function which is not well specified.
-
- X/Open states that the old location must be given for
- <STRONG>mvcur</STRONG>. This implementation allows the caller to use -1's
- for the old ordinates. In that case, the old location is
- unknown.
-
- Other implementions may not declare the capability name
- arrays. Some provide them without declaring them. X/Open
- does not specify them.
-
- Extended terminal capability names, e.g., as defined by
- <STRONG>tic</STRONG> <STRONG>-x</STRONG>, are not stored in the arrays described here.
+ <STRONG>o</STRONG> X/Open Curses uses <STRONG>const</STRONG> less effectively than a later design
+ might, in some cases applying it needlessly to values are already
+ constant, and in most cases overlooking parameters which normally
+ would use <STRONG>const</STRONG>. Using constant parameters for functions which do
+ not use <STRONG>const</STRONG> may prevent the program from compiling. On the other
+ hand, <EM>writable</EM> <EM>strings</EM> are an obsolescent feature.
+ As an extension, this implementation can be configured to change
+ the function prototypes to use the <STRONG>const</STRONG> keyword. The ncurses ABI
+ 6 enables this feature by default.
-</PRE>
-<H2>SEE ALSO</H2><PRE>
- <STRONG><A HREF="ncurses.3x.html">curses(3x)</A></STRONG>, <STRONG><A HREF="curs_initscr.3x.html">curs_initscr(3x)</A></STRONG>, <STRONG><A HREF="curs_kernel.3x.html">curs_kernel(3x)</A></STRONG>, <STRONG>curs_term-</STRONG>
- <STRONG><A HREF="curs_termcap.3x.html">cap(3x)</A></STRONG>, <STRONG><A HREF="curs_variables.3x.html">curs_variables(3x)</A></STRONG>, <STRONG><A HREF="term_variables.3x.html">term_variables(3x)</A></STRONG>, <STRONG>putc(3)</STRONG>,
- <STRONG><A HREF="terminfo.5.html">terminfo(5)</A></STRONG>
+ <STRONG>o</STRONG> X/Open Curses prototypes <STRONG>tparm</STRONG> with a fixed number of parameters,
+ rather than a variable argument list.
+
+ This implementation uses a variable argument list, but can be con-
+ figured to use the fixed-parameter list. Portable applications
+ should provide 9 parameters after the format; zeroes are fine for
+ this purpose.
+
+ In response to review comments by Thomas E. Dickey, X/Open Curses
+ Issue 7 proposed the <STRONG>tiparm</STRONG> function in mid-2009.
+
+
+</PRE><H3><a name="h3-Special-TERM-treatment">Special TERM treatment</a></H3><PRE>
+ If configured to use the terminal-driver, e.g., for the MinGW port,
+
+ <STRONG>o</STRONG> <STRONG>setupterm</STRONG> interprets a missing/empty TERM variable as the special
+ value "unknown".
+
+ <STRONG>o</STRONG> <STRONG>setupterm</STRONG> allows explicit use of the the windows console driver by
+ checking if $TERM is set to "#win32con" or an abbreviation of that
+ string.
+
+
+</PRE><H3><a name="h3-Other-portability-issues">Other portability issues</a></H3><PRE>
+ In System V Release 4, <STRONG>set_curterm</STRONG> has an <STRONG>int</STRONG> return type and returns
+ <STRONG>OK</STRONG> or <STRONG>ERR</STRONG>. We have chosen to implement the X/Open Curses semantics.
+
+ In System V Release 4, the third argument of <STRONG>tputs</STRONG> has the type <STRONG>int</STRONG>
+ <STRONG>(*putc)(char)</STRONG>.
+
+ At least one implementation of X/Open Curses (Solaris) returns a value
+ other than <STRONG>OK</STRONG>/<STRONG>ERR</STRONG> from <STRONG>tputs</STRONG>. That returns the length of the string,
+ and does no error-checking.
+
+ 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 re-
+ fresh the window before resuming normal curses calls. Both <STRONG>ncurses</STRONG> and
+ System V Release 4 curses implement <STRONG>mvcur</STRONG> using the SCREEN data allo-
+ cated 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.
+
+ X/Open states that the old location must be given for <STRONG>mvcur</STRONG>. This im-
+ plementation allows the caller to use -1's for the old ordinates. In
+ that case, the old location is unknown.
+
+
+</PRE><H2><a name="h2-SEE-ALSO">SEE ALSO</a></H2><PRE>
+ <STRONG><A HREF="ncurses.3x.html">curses(3x)</A></STRONG>, <STRONG><A HREF="curs_initscr.3x.html">curs_initscr(3x)</A></STRONG>, <STRONG><A HREF="curs_kernel.3x.html">curs_kernel(3x)</A></STRONG>, <STRONG><A HREF="curs_termcap.3x.html">curs_termcap(3x)</A></STRONG>,
+ <STRONG><A HREF="curs_variables.3x.html">curs_variables(3x)</A></STRONG>, <STRONG><A HREF="term_variables.3x.html">term_variables(3x)</A></STRONG>, <STRONG>putc(3)</STRONG>, <STRONG><A HREF="terminfo.5.html">terminfo(5)</A></STRONG>
- <STRONG><A HREF="curs_terminfo.3x.html">curs_terminfo(3x)</A></STRONG>
+ <STRONG><A HREF="curs_terminfo.3x.html">curs_terminfo(3x)</A></STRONG>
</PRE>
-<HR>
-<ADDRESS>
-Man(1) output converted with
-<a href="http://www.oac.uci.edu/indiv/ehood/man2html.html">man2html</a>
-</ADDRESS>
+<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>
+<ul>
+<li><a href="#h3-Initialization">Initialization</a></li>
+<li><a href="#h3-The-Terminal-State">The Terminal State</a></li>
+<li><a href="#h3-Formatting-Output">Formatting Output</a></li>
+<li><a href="#h3-Output-Functions">Output Functions</a></li>
+<li><a href="#h3-Terminal-Capability-Functions">Terminal Capability Functions</a></li>
+<li><a href="#h3-Terminal-Capability-Names">Terminal Capability Names</a></li>
+</ul>
+</li>
+<li><a href="#h2-RETURN-VALUE">RETURN VALUE</a></li>
+<li><a href="#h2-HISTORY">HISTORY</a></li>
+<li><a href="#h2-PORTABILITY">PORTABILITY</a>
+<ul>
+<li><a href="#h3-Legacy-functions">Legacy functions</a></li>
+<li><a href="#h3-Legacy-data">Legacy data</a></li>
+<li><a href="#h3-Output-buffering">Output buffering</a></li>
+<li><a href="#h3-Function-prototypes">Function prototypes</a></li>
+<li><a href="#h3-Special-TERM-treatment">Special TERM treatment</a></li>
+<li><a href="#h3-Other-portability-issues">Other portability issues</a></li>
+</ul>
+</li>
+<li><a href="#h2-SEE-ALSO">SEE ALSO</a></li>
+</ul>
+</div>
</BODY>
</HTML>
diff --git a/doc/html/man/curs_threads.3x.html b/doc/html/man/curs_threads.3x.html
index 899037332f44..0977cac573c0 100644
--- a/doc/html/man/curs_threads.3x.html
+++ b/doc/html/man/curs_threads.3x.html
@@ -1,7 +1,6 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN">
<!--
****************************************************************************
- * Copyright (c) 2008-2010,2012 Free Software Foundation, Inc. *
+ * Copyright (c) 2008-2015,2017 Free Software Foundation, Inc. *
* *
* Permission is hereby granted, free of charge, to any person obtaining a *
* copy of this software and associated documentation files (the *
@@ -27,33 +26,32 @@
* sale, use or other dealings in this Software without prior written *
* authorization. *
****************************************************************************
- * @Id: curs_threads.3x,v 1.19 2012/05/26 17:03:26 tom Exp @
+ * @Id: curs_threads.3x,v 1.24 2017/11/18 23:56:00 tom Exp @
* ***************************************************************************
* ***************************************************************************
-->
+<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN">
<HTML>
<HEAD>
+<meta http-equiv="Content-Type" content="text/html; charset=us-ascii">
+<meta name="generator" content="Manpage converted by man2html - see https://invisible-island.net/scripts/readme.html#others_scripts">
<TITLE>curs_threads 3x</TITLE>
-<link rev=made href="mailto:bug-ncurses@gnu.org">
+<link rel="author" href="mailto:bug-ncurses@gnu.org">
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
</HEAD>
<BODY>
-<H1>curs_threads 3x</H1>
-<HR>
+<H1 class="no-header">curs_threads 3x</H1>
<PRE>
-<!-- Manpage converted by man2html 3.0.1 -->
-<STRONG><A HREF="curs_threads.3x.html">curs_threads(3x)</A></STRONG> <STRONG><A HREF="curs_threads.3x.html">curs_threads(3x)</A></STRONG>
+<STRONG><A HREF="curs_threads.3x.html">curs_threads(3x)</A></STRONG> <STRONG><A HREF="curs_threads.3x.html">curs_threads(3x)</A></STRONG>
-</PRE>
-<H2>NAME</H2><PRE>
- <STRONG>use_screen</STRONG>, <STRONG>use_window</STRONG> - <STRONG>curses</STRONG> thread support
+</PRE><H2><a name="h2-NAME">NAME</a></H2><PRE>
+ <STRONG>curs_threads</STRONG> - <STRONG>curses</STRONG> thread support
-</PRE>
-<H2>SYNOPSIS</H2><PRE>
+</PRE><H2><a name="h2-SYNOPSIS">SYNOPSIS</a></H2><PRE>
<STRONG>#include</STRONG> <STRONG>&lt;curses.h&gt;</STRONG>
<STRONG>typedef</STRONG> <STRONG>int</STRONG> <STRONG>(*NCURSES_WINDOW_CB)(WINDOW</STRONG> <STRONG>*,</STRONG> <STRONG>void</STRONG> <STRONG>*);</STRONG>
@@ -61,574 +59,568 @@
<STRONG>int</STRONG> <STRONG>get_escdelay(void);</STRONG>
<STRONG>int</STRONG> <STRONG>set_escdelay(int</STRONG> <STRONG>size);</STRONG>
<STRONG>int</STRONG> <STRONG>set_tabsize(int</STRONG> <STRONG>size);</STRONG>
- <STRONG>int</STRONG> <STRONG>use_screen(SCREEN</STRONG> <STRONG>*scr,</STRONG> <STRONG>NCURSES_SCREEN_CB</STRONG> <STRONG>func,</STRONG> <STRONG>void</STRONG>
- <STRONG>*data);</STRONG>
- <STRONG>int</STRONG> <STRONG>use_window(WINDOW</STRONG> <STRONG>*win,</STRONG> <STRONG>NCURSES_WINDOW_CB</STRONG> <STRONG>func,</STRONG> <STRONG>void</STRONG>
- <STRONG>*data);</STRONG>
+ <STRONG>int</STRONG> <STRONG>use_screen(SCREEN</STRONG> <STRONG>*scr,</STRONG> <STRONG>NCURSES_SCREEN_CB</STRONG> <STRONG>func,</STRONG> <STRONG>void</STRONG> <STRONG>*data);</STRONG>
+ <STRONG>int</STRONG> <STRONG>use_window(WINDOW</STRONG> <STRONG>*win,</STRONG> <STRONG>NCURSES_WINDOW_CB</STRONG> <STRONG>func,</STRONG> <STRONG>void</STRONG> <STRONG>*data);</STRONG>
-</PRE>
-<H2>DESCRIPTION</H2><PRE>
- This implementation can be configured to provide rudimen-
- tary support for multi-threaded applications. This makes
- a different set of libraries, e.g., <EM>libncursest</EM> since the
- binary interfaces are different.
-
- Rather than modify the interfaces to pass a thread speci-
- fier to each function, it adds a few functions which can
- be used in any configuration which hide the mutex's needed
- to prevent concurrent use of the global variables when
- configured for threading.
-
- In addition to forcing access to members of the <STRONG>WINDOW</STRONG>
- structure to be via functions (see <STRONG><A HREF="curs_opaque.3x.html">curs_opaque(3x)</A></STRONG>), it
- makes functions of the common global variables, e.g., COL-
- ORS, COLOR_PAIRS, COLS, ESCDELAY, LINES, TABSIZE curscr,
- newscr and ttytype. Those variables are maintained as
- read-only values, stored in the <STRONG>SCREEN</STRONG> structure.
+</PRE><H2><a name="h2-DESCRIPTION">DESCRIPTION</a></H2><PRE>
+ This implementation can be configured to provide rudimentary support
+ for multi-threaded applications. This makes a different set of li-
+ braries, e.g., <EM>libncursest</EM> since the binary interfaces are different.
- Even this is not enough to make a thread-safe application
- using curses. A multi-threaded application would be ex-
- pected to have threads updating separate windows (within
- the same device), or updating on separate screens (on dif-
- ferent devices). Also, a few of the global variables are
- considered writable by some applications. The functions
- described here address these special situations.
+ Rather than modify the interfaces to pass a thread specifier to each
+ function, it adds a few functions which can be used in any configura-
+ tion which hide the mutex's needed to prevent concurrent use of the
+ global variables when configured for threading.
- The ESCDELAY and TABSIZE global variables are modified by
- some applications. To modify them in any configuration,
- use the <STRONG>set_escdelay</STRONG> or <STRONG>set_tabsize</STRONG> functions. Other
- global variables are not modifiable.
-
- The <STRONG>get_escdelay</STRONG> function returns the value for ESCDELAY.
-
- The <STRONG>use_window</STRONG> and <STRONG>use_screen</STRONG> functions provide coarse
- granularity mutexes for their respective <STRONG>WINDOW</STRONG> and <STRONG>SCREEN</STRONG>
- parameters, and call a user-supplied function, passing it
- a <EM>data</EM> parameter, and returning the value from the user-
- supplied function to the application.
-
- <STRONG>USAGE</STRONG>
- All of the ncurses library functions assume that the lo-
- cale is not altered during operation. In addition, they
- use data which is maintained within a hierarchy of scopes.
-
- <STRONG>o</STRONG> global data, e.g., used in the low-level terminfo
- or termcap interfaces.
-
- <STRONG>o</STRONG> terminal data, e.g., associated with a call to
- <EM>set</EM><STRONG>_</STRONG><EM>curterm</EM>. The terminal data are initialized
- when screens are created.
-
- <STRONG>o</STRONG> screen data, e.g., associated with a call to
- <EM>newterm</EM> or <EM>initscr</EM>.
-
- <STRONG>o</STRONG> window data, e.g., associated with a call to <EM>newwin</EM>
- or <EM>subwin</EM>. Windows are associated with screens.
- Pads are not necessarily associated with a particu-
- lar screen.
-
- Most curses applications operate on one or more
- windows within a single screen.
-
- <STRONG>o</STRONG> reentrant, i.e., it uses only the data passed as
- parameters.
-
- This table lists the scope of data used for each symbol in
- the ncurses library when it is configured to support
- threading:
-
- Symbol Scope
- -------------------------------------------------------------
- BC global
- COLORS screen (readonly)
- COLOR_PAIR reentrant
- COLOR_PAIRS screen (readonly)
- COLS screen (readonly)
- ESCDELAY screen (readonly, see <EM>set</EM><STRONG>_</STRONG><EM>escdelay</EM>)
- LINES screen (readonly)
- PAIR_NUMBER reentrant
- PC global
- SP global
- TABSIZE screen (readonly)
- UP global
- acs_map screen (readonly)
- add_wch window (stdscr)
- add_wchnstr window (stdscr)
- add_wchstr window (stdscr)
- addch window (stdscr)
- addchnstr window (stdscr)
- addchstr window (stdscr)
- addnstr window (stdscr)
- addnwstr window (stdscr)
- addstr window (stdscr)
- addwstr window (stdscr)
- assume_default_colors screen
- attr_get window (stdscr)
- attr_off window (stdscr)
- attr_on window (stdscr)
- attr_set window (stdscr)
- attroff window (stdscr)
- attron window (stdscr)
- attrset window (stdscr)
- baudrate screen
- beep screen
- bkgd window (stdscr)
- bkgdset window (stdscr)
- bkgrnd window (stdscr)
- bkgrndset window (stdscr)
- boolcodes global (readonly)
- boolfnames global (readonly)
- boolnames global (readonly)
- border window (stdscr)
-
- border_set window (stdscr)
- box window (stdscr)
- box_set window (stdscr)
- can_change_color terminal
- cbreak screen
- chgat window (stdscr)
- clear window (stdscr)
- clearok window
- clrtobot window (stdscr)
- clrtoeol window (stdscr)
- color_content screen
- color_set window (stdscr)
- copywin window locks(source, target)
- cur_term terminal
- curs_set screen
- curscr screen (readonly)
- curses_version global (readonly)
- def_prog_mode terminal
- def_shell_mode terminal
- define_key screen
- del_curterm screen
- delay_output screen
- delch window (stdscr)
- deleteln window (stdscr)
- delscreen global locks(screenlist, screen)
- delwin global locks(windowlist)
- derwin screen
- doupdate screen
- dupwin screen locks(window)
- echo screen
- echo_wchar window (stdscr)
- echochar window (stdscr)
- endwin screen
- erase window (stdscr)
- erasechar window (stdscr)
- erasewchar window (stdscr)
- filter global
- flash terminal
- flushinp screen
- get_wch screen (input-operation)
- get_wstr screen (input-operation)
- getattrs window
- getbegx window
- getbegy window
- getbkgd window
- getbkgrnd window
- getcchar reentrant
- getch screen (input-operation)
- getcurx window
- getcury window
- getmaxx window
- getmaxy window
- getmouse screen (input-operation)
- getn_wstr screen (input-operation)
- getnstr screen (input-operation)
- getparx window
- getpary window
- getstr screen (input-operation)
- getwin screen (input-operation)
- halfdelay screen
- has_colors terminal
- has_ic terminal
- has_il terminal
- has_key screen
- hline window (stdscr)
- hline_set window (stdscr)
-
- idcok window
- idlok window
- immedok window
- in_wch window (stdscr)
- in_wchnstr window (stdscr)
- in_wchstr window (stdscr)
- inch window (stdscr)
- inchnstr window (stdscr)
- inchstr window (stdscr)
- init_color screen
- init_pair screen
- initscr global locks(screenlist)
- innstr window (stdscr)
- innwstr window (stdscr)
- ins_nwstr window (stdscr)
- ins_wch window (stdscr)
- ins_wstr window (stdscr)
- insch window (stdscr)
- insdelln window (stdscr)
- insertln window (stdscr)
- insnstr window (stdscr)
- insstr window (stdscr)
- instr window (stdscr)
- intrflush terminal
- inwstr window (stdscr)
- is_cleared window
- is_idcok window
- is_idlok window
- is_immedok window
- is_keypad window
- is_leaveok window
- is_linetouched window
- is_nodelay window
- is_notimeout window
- is_scrollok window
- is_syncok window
- is_term_resized terminal
- is_wintouched window
- isendwin screen
- key_defined screen
- key_name global (static data)
- keybound screen
- keyname global (static data)
- keyok screen
- keypad window
- killchar terminal
- killwchar terminal
- leaveok window
- longname screen
- mcprint terminal
- meta screen
- mouse_trafo window (stdscr)
- mouseinterval screen
- mousemask screen
- move window (stdscr)
- mvadd_wch window (stdscr)
- mvadd_wchnstr window (stdscr)
- mvadd_wchstr window (stdscr)
- mvaddch window (stdscr)
- mvaddchnstr window (stdscr)
- mvaddchstr window (stdscr)
- mvaddnstr window (stdscr)
- mvaddnwstr window (stdscr)
- mvaddstr window (stdscr)
- mvaddwstr window (stdscr)
- mvchgat window (stdscr)
-
- mvcur screen
- mvdelch window (stdscr)
- mvderwin window (stdscr)
- mvget_wch screen (input-operation)
- mvget_wstr screen (input-operation)
- mvgetch screen (input-operation)
- mvgetn_wstr screen (input-operation)
- mvgetnstr screen (input-operation)
- mvgetstr screen (input-operation)
- mvhline window (stdscr)
- mvhline_set window (stdscr)
- mvin_wch window (stdscr)
- mvin_wchnstr window (stdscr)
- mvin_wchstr window (stdscr)
- mvinch window (stdscr)
- mvinchnstr window (stdscr)
- mvinchstr window (stdscr)
- mvinnstr window (stdscr)
- mvinnwstr window (stdscr)
- mvins_nwstr window (stdscr)
- mvins_wch window (stdscr)
- mvins_wstr window (stdscr)
- mvinsch window (stdscr)
- mvinsnstr window (stdscr)
- mvinsstr window (stdscr)
- mvinstr window (stdscr)
- mvinwstr window (stdscr)
- mvprintw window (stdscr)
- mvscanw screen
- mvvline window (stdscr)
- mvvline_set window (stdscr)
- mvwadd_wch window
- mvwadd_wchnstr window
- mvwadd_wchstr window
- mvwaddch window
- mvwaddchnstr window
- mvwaddchstr window
- mvwaddnstr window
- mvwaddnwstr window
- mvwaddstr window
- mvwaddwstr window
- mvwchgat window
- mvwdelch window
- mvwget_wch screen (input-operation)
- mvwget_wstr screen (input-operation)
- mvwgetch screen (input-operation)
- mvwgetn_wstr screen (input-operation)
- mvwgetnstr screen (input-operation)
- mvwgetstr screen (input-operation)
- mvwhline window
- mvwhline_set window
- mvwin window
- mvwin_wch window
- mvwin_wchnstr window
- mvwin_wchstr window
- mvwinch window
- mvwinchnstr window
- mvwinchstr window
- mvwinnstr window
- mvwinnwstr window
- mvwins_nwstr window
- mvwins_wch window
- mvwins_wstr window
- mvwinsch window
- mvwinsnstr window
- mvwinsstr window
-
- mvwinstr window
- mvwinwstr window
- mvwprintw window
- mvwscanw screen
- mvwvline window
- mvwvline_set window
- napms reentrant
- newpad global locks(windowlist)
- newscr screen (readonly)
- newterm global locks(screenlist)
- newwin global locks(windowlist)
- nl screen
- nocbreak screen
- nodelay window
- noecho screen
- nofilter global
- nonl screen
- noqiflush terminal
- noraw screen
- notimeout window
- numcodes global (readonly)
- numfnames global (readonly)
- numnames global (readonly)
- ospeed global
- overlay window locks(source, target)
- overwrite window locks(source, target)
- pair_content screen
- pecho_wchar screen
- pechochar screen
- pnoutrefresh screen
- prefresh screen
- printw window
- putp global
- putwin window
- qiflush terminal
- raw screen
- redrawwin window
- refresh screen
- reset_prog_mode screen
- reset_shell_mode screen
- resetty terminal
- resize_term screen locks(windowlist)
- resizeterm screen
- restartterm screen
- ripoffline global (static data)
- savetty terminal
- scanw screen
- scr_dump screen
- scr_init screen
- scr_restore screen
- scr_set screen
- scrl window (stdscr)
- scroll window
- scrollok window
- set_curterm screen
- set_escdelay screen
- set_tabsize screen
- set_term global locks(screenlist, screen)
- setcchar reentrant
- setscrreg window (stdscr)
- setupterm global
- slk_attr screen
- slk_attr_off screen
- slk_attr_on screen
- slk_attr_set screen
- slk_attroff screen
-
- slk_attron screen
- slk_attrset screen
- slk_clear screen
- slk_color screen
- slk_init screen
- slk_label screen
- slk_noutrefresh screen
- slk_refresh screen
- slk_restore screen
- slk_set screen
- slk_touch screen
- slk_wset screen
- standend window
- standout window
- start_color screen
- stdscr screen (readonly)
- strcodes global (readonly)
- strfnames global (readonly)
- strnames global (readonly)
- subpad window
- subwin window
- syncok window
- term_attrs screen
- termattrs screen
- termname terminal
- tgetent global
- tgetflag global
- tgetnum global
- tgetstr global
- tgoto global
- tigetflag terminal
- tigetnum terminal
- tigetstr terminal
- timeout window (stdscr)
- touchline window
- touchwin window
- tparm global (static data)
- tputs screen
- trace global (static data)
- ttytype screen (readonly)
- typeahead screen
- unctrl screen
- unget_wch screen (input-operation)
- ungetch screen (input-operation)
- ungetmouse screen (input-operation)
- untouchwin window
- use_default_colors screen
- use_env global (static data)
- use_extended_names global (static data)
- use_legacy_coding screen
- use_screen global locks(screenlist, screen)
- use_window global locks(windowlist, window)
- vid_attr screen
- vid_puts screen
- vidattr screen
- vidputs screen
- vline window (stdscr)
- vline_set window (stdscr)
- vw_printw window
- vw_scanw screen
- vwprintw window
- vwscanw screen
- wadd_wch window
- wadd_wchnstr window
- wadd_wchstr window
- waddch window
-
- waddchnstr window
- waddchstr window
- waddnstr window
- waddnwstr window
- waddstr window
- waddwstr window
- wattr_get window
- wattr_off window
- wattr_on window
- wattr_set window
- wattroff window
- wattron window
- wattrset window
- wbkgd window
- wbkgdset window
- wbkgrnd window
- wbkgrndset window
- wborder window
- wborder_set window
- wchgat window
- wclear window
- wclrtobot window
- wclrtoeol window
- wcolor_set window
- wcursyncup screen (affects window plus parents)
- wdelch window
- wdeleteln window
- wecho_wchar window
- wechochar window
- wenclose window
- werase window
- wget_wch screen (input-operation)
- wget_wstr screen (input-operation)
- wgetbkgrnd window
- wgetch screen (input-operation)
- wgetn_wstr screen (input-operation)
- wgetnstr screen (input-operation)
- wgetparent window
- wgetscrreg window
- wgetstr screen (input-operation)
- whline window
- whline_set window
- win_wch window
- win_wchnstr window
- win_wchstr window
- winch window
- winchnstr window
- winchstr window
- winnstr window
- winnwstr window
- wins_nwstr window
- wins_wch window
- wins_wstr window
- winsch window
- winsdelln window
- winsertln window
- winsnstr window
- winsstr window
- winstr window
- winwstr window
- wmouse_trafo window
- wmove window
- wnoutrefresh screen
- wprintw window
- wredrawln window
- wrefresh screen
-
- wresize window locks(windowlist)
- wscanw screen
- wscrl window
- wsetscrreg window
- wstandend window
- wstandout window
- wsyncdown screen (affects window plus parents)
- wsyncup screen (affects window plus parents)
- wtimeout window
- wtouchln window
- wunctrl global (static data)
- wvline window
- wvline_set window
+ In addition to forcing access to members of the <STRONG>WINDOW</STRONG> structure to be
+ via functions (see <STRONG><A HREF="curs_opaque.3x.html">curs_opaque(3x)</A></STRONG>), it makes functions of the common
+ global variables, e.g., COLORS, COLOR_PAIRS, COLS, ESCDELAY, LINES,
+ TABSIZE curscr, newscr and ttytype. Those variables are maintained as
+ read-only values, stored in the <STRONG>SCREEN</STRONG> structure.
+ Even this is not enough to make a thread-safe application using curses.
+ A multi-threaded application would be expected to have threads updating
+ separate windows (within the same device), or updating on separate
+ screens (on different devices). Also, a few of the global variables
+ are considered writable by some applications. The functions described
+ here address these special situations.
-</PRE>
-<H2>RETURN VALUE</H2><PRE>
- These functions all return TRUE or FALSE, except as noted.
+ The ESCDELAY and TABSIZE global variables are modified by some applica-
+ tions. To modify them in any configuration, use the <STRONG>set_escdelay</STRONG> or
+ <STRONG>set_tabsize</STRONG> functions. Other global variables are not modifiable.
+ The <STRONG>get_escdelay</STRONG> function returns the value for ESCDELAY.
-</PRE>
-<H2>NOTES</H2><PRE>
+ The <STRONG>use_window</STRONG> and <STRONG>use_screen</STRONG> functions provide coarse granularity mu-
+ texes for their respective <STRONG>WINDOW</STRONG> and <STRONG>SCREEN</STRONG> parameters, and call a us-
+ er-supplied function, passing it a <EM>data</EM> parameter, and returning the
+ value from the user-supplied function to the application.
+
+
+</PRE><H3><a name="h3-USAGE">USAGE</a></H3><PRE>
+ All of the ncurses library functions assume that the locale is not al-
+ tered during operation. In addition, they use data which is maintained
+ within a hierarchy of scopes.
+
+ <STRONG>o</STRONG> global data, e.g., used in the low-level terminfo or termcap in-
+ terfaces.
+
+ <STRONG>o</STRONG> terminal data, e.g., associated with a call to <EM>set</EM><STRONG>_</STRONG><EM>curterm</EM>. The
+ terminal data are initialized when screens are created.
+
+ <STRONG>o</STRONG> screen data, e.g., associated with a call to <EM>newterm</EM> or <EM>initscr</EM>.
+
+ <STRONG>o</STRONG> window data, e.g., associated with a call to <EM>newwin</EM> or <EM>subwin</EM>.
+ Windows are associated with screens. Pads are not necessarily
+ associated with a particular screen.
+
+ Most curses applications operate on one or more windows within a
+ single screen.
+
+ <STRONG>o</STRONG> reentrant, i.e., it uses only the data passed as parameters.
+
+ This table lists the scope of data used for each symbol in the ncurses
+ library when it is configured to support threading:
+
+ Symbol Scope
+ -------------------------------------------------------------
+ BC global
+ COLORS screen (readonly)
+ COLOR_PAIR reentrant
+ COLOR_PAIRS screen (readonly)
+ COLS screen (readonly)
+ ESCDELAY screen (readonly, see <EM>set</EM><STRONG>_</STRONG><EM>escdelay</EM>)
+ LINES screen (readonly)
+ PAIR_NUMBER reentrant
+ PC global
+ SP global
+ TABSIZE screen (readonly)
+ UP global
+ acs_map screen (readonly)
+ add_wch window (stdscr)
+ add_wchnstr window (stdscr)
+ add_wchstr window (stdscr)
+ addch window (stdscr)
+ addchnstr window (stdscr)
+ addchstr window (stdscr)
+ addnstr window (stdscr)
+ addnwstr window (stdscr)
+ addstr window (stdscr)
+ addwstr window (stdscr)
+ assume_default_colors screen
+ attr_get window (stdscr)
+ attr_off window (stdscr)
+ attr_on window (stdscr)
+ attr_set window (stdscr)
+ attroff window (stdscr)
+ attron window (stdscr)
+ attrset window (stdscr)
+ baudrate screen
+ beep screen
+ bkgd window (stdscr)
+ bkgdset window (stdscr)
+ bkgrnd window (stdscr)
+ bkgrndset window (stdscr)
+ boolcodes global (readonly)
+ boolfnames global (readonly)
+ boolnames global (readonly)
+ border window (stdscr)
+ border_set window (stdscr)
+ box window (stdscr)
+ box_set window (stdscr)
+ can_change_color terminal
+ cbreak screen
+ chgat window (stdscr)
+ clear window (stdscr)
+ clearok window
+ clrtobot window (stdscr)
+ clrtoeol window (stdscr)
+ color_content screen
+ color_set window (stdscr)
+ copywin window locks(source, target)
+
+ cur_term terminal
+ curs_set screen
+ curscr screen (readonly)
+ curses_version global (readonly)
+ def_prog_mode terminal
+ def_shell_mode terminal
+ define_key screen
+ del_curterm screen
+ delay_output screen
+ delch window (stdscr)
+ deleteln window (stdscr)
+ delscreen global locks(screenlist, screen)
+ delwin global locks(windowlist)
+ derwin screen
+ doupdate screen
+ dupwin screen locks(window)
+ echo screen
+ echo_wchar window (stdscr)
+ echochar window (stdscr)
+ endwin screen
+ erase window (stdscr)
+ erasechar window (stdscr)
+ erasewchar window (stdscr)
+ filter global
+ flash terminal
+ flushinp screen
+ get_wch screen (input-operation)
+ get_wstr screen (input-operation)
+ getattrs window
+ getbegx window
+ getbegy window
+ getbkgd window
+ getbkgrnd window
+ getcchar reentrant
+ getch screen (input-operation)
+ getcurx window
+ getcury window
+ getmaxx window
+ getmaxy window
+ getmouse screen (input-operation)
+ getn_wstr screen (input-operation)
+ getnstr screen (input-operation)
+ getparx window
+ getpary window
+ getstr screen (input-operation)
+ getwin screen (input-operation)
+ halfdelay screen
+ has_colors terminal
+ has_ic terminal
+ has_il terminal
+ has_key screen
+ hline window (stdscr)
+ hline_set window (stdscr)
+ idcok window
+ idlok window
+ immedok window
+ in_wch window (stdscr)
+ in_wchnstr window (stdscr)
+ in_wchstr window (stdscr)
+ inch window (stdscr)
+ inchnstr window (stdscr)
+ inchstr window (stdscr)
+ init_color screen
+ init_pair screen
+ initscr global locks(screenlist)
+ innstr window (stdscr)
+
+ innwstr window (stdscr)
+ ins_nwstr window (stdscr)
+ ins_wch window (stdscr)
+ ins_wstr window (stdscr)
+ insch window (stdscr)
+ insdelln window (stdscr)
+ insertln window (stdscr)
+ insnstr window (stdscr)
+ insstr window (stdscr)
+ instr window (stdscr)
+ intrflush terminal
+ inwstr window (stdscr)
+ is_cleared window
+ is_idcok window
+ is_idlok window
+ is_immedok window
+ is_keypad window
+ is_leaveok window
+ is_linetouched window
+ is_nodelay window
+ is_notimeout window
+ is_scrollok window
+ is_syncok window
+ is_term_resized terminal
+ is_wintouched window
+ isendwin screen
+ key_defined screen
+ key_name global (static data)
+ keybound screen
+ keyname global (static data)
+ keyok screen
+ keypad window
+ killchar terminal
+ killwchar terminal
+ leaveok window
+ longname screen
+ mcprint terminal
+ meta screen
+ mouse_trafo window (stdscr)
+ mouseinterval screen
+ mousemask screen
+ move window (stdscr)
+ mvadd_wch window (stdscr)
+ mvadd_wchnstr window (stdscr)
+ mvadd_wchstr window (stdscr)
+ mvaddch window (stdscr)
+ mvaddchnstr window (stdscr)
+ mvaddchstr window (stdscr)
+ mvaddnstr window (stdscr)
+ mvaddnwstr window (stdscr)
+ mvaddstr window (stdscr)
+ mvaddwstr window (stdscr)
+ mvchgat window (stdscr)
+ mvcur screen
+ mvdelch window (stdscr)
+ mvderwin window (stdscr)
+ mvget_wch screen (input-operation)
+ mvget_wstr screen (input-operation)
+ mvgetch screen (input-operation)
+ mvgetn_wstr screen (input-operation)
+ mvgetnstr screen (input-operation)
+ mvgetstr screen (input-operation)
+ mvhline window (stdscr)
+ mvhline_set window (stdscr)
+ mvin_wch window (stdscr)
+ mvin_wchnstr window (stdscr)
+
+ mvin_wchstr window (stdscr)
+ mvinch window (stdscr)
+ mvinchnstr window (stdscr)
+ mvinchstr window (stdscr)
+ mvinnstr window (stdscr)
+ mvinnwstr window (stdscr)
+ mvins_nwstr window (stdscr)
+ mvins_wch window (stdscr)
+ mvins_wstr window (stdscr)
+ mvinsch window (stdscr)
+ mvinsnstr window (stdscr)
+ mvinsstr window (stdscr)
+ mvinstr window (stdscr)
+ mvinwstr window (stdscr)
+ mvprintw window (stdscr)
+ mvscanw screen
+ mvvline window (stdscr)
+ mvvline_set window (stdscr)
+ mvwadd_wch window
+ mvwadd_wchnstr window
+ mvwadd_wchstr window
+ mvwaddch window
+ mvwaddchnstr window
+ mvwaddchstr window
+ mvwaddnstr window
+ mvwaddnwstr window
+ mvwaddstr window
+ mvwaddwstr window
+ mvwchgat window
+ mvwdelch window
+ mvwget_wch screen (input-operation)
+ mvwget_wstr screen (input-operation)
+ mvwgetch screen (input-operation)
+ mvwgetn_wstr screen (input-operation)
+ mvwgetnstr screen (input-operation)
+ mvwgetstr screen (input-operation)
+ mvwhline window
+ mvwhline_set window
+ mvwin window
+ mvwin_wch window
+ mvwin_wchnstr window
+ mvwin_wchstr window
+ mvwinch window
+ mvwinchnstr window
+ mvwinchstr window
+ mvwinnstr window
+ mvwinnwstr window
+ mvwins_nwstr window
+ mvwins_wch window
+ mvwins_wstr window
+ mvwinsch window
+ mvwinsnstr window
+ mvwinsstr window
+ mvwinstr window
+ mvwinwstr window
+ mvwprintw window
+ mvwscanw screen
+ mvwvline window
+ mvwvline_set window
+ napms reentrant
+ newpad global locks(windowlist)
+ newscr screen (readonly)
+ newterm global locks(screenlist)
+ newwin global locks(windowlist)
+ nl screen
+ nocbreak screen
+
+ nodelay window
+ noecho screen
+ nofilter global
+ nonl screen
+ noqiflush terminal
+ noraw screen
+ notimeout window
+ numcodes global (readonly)
+ numfnames global (readonly)
+ numnames global (readonly)
+ ospeed global
+ overlay window locks(source, target)
+ overwrite window locks(source, target)
+ pair_content screen
+ pecho_wchar screen
+ pechochar screen
+ pnoutrefresh screen
+ prefresh screen
+ printw window
+ putp global
+ putwin window
+ qiflush terminal
+ raw screen
+ redrawwin window
+ refresh screen
+ reset_prog_mode screen
+ reset_shell_mode screen
+ resetty terminal
+ resize_term screen locks(windowlist)
+ resizeterm screen
+ restartterm screen
+ ripoffline global (static data)
+ savetty terminal
+ scanw screen
+ scr_dump screen
+ scr_init screen
+ scr_restore screen
+ scr_set screen
+ scrl window (stdscr)
+ scroll window
+ scrollok window
+ set_curterm screen
+ set_escdelay screen
+ set_tabsize screen
+ set_term global locks(screenlist, screen)
+ setcchar reentrant
+ setscrreg window (stdscr)
+ setupterm global
+ slk_attr screen
+ slk_attr_off screen
+ slk_attr_on screen
+ slk_attr_set screen
+ slk_attroff screen
+ slk_attron screen
+ slk_attrset screen
+ slk_clear screen
+ slk_color screen
+ slk_init screen
+ slk_label screen
+ slk_noutrefresh screen
+ slk_refresh screen
+ slk_restore screen
+ slk_set screen
+ slk_touch screen
+ slk_wset screen
+ standend window
+
+ standout window
+ start_color screen
+ stdscr screen (readonly)
+ strcodes global (readonly)
+ strfnames global (readonly)
+ strnames global (readonly)
+ subpad window
+ subwin window
+ syncok window
+ term_attrs screen
+ termattrs screen
+ termname terminal
+ tgetent global
+ tgetflag global
+ tgetnum global
+ tgetstr global
+ tgoto global
+ tigetflag terminal
+ tigetnum terminal
+ tigetstr terminal
+ timeout window (stdscr)
+ touchline window
+ touchwin window
+ tparm global (static data)
+ tputs screen
+ trace global (static data)
+ ttytype screen (readonly)
+ typeahead screen
+ unctrl screen
+ unget_wch screen (input-operation)
+ ungetch screen (input-operation)
+ ungetmouse screen (input-operation)
+ untouchwin window
+ use_default_colors screen
+ use_env global (static data)
+ use_extended_names global (static data)
+ use_legacy_coding screen
+ use_screen global locks(screenlist, screen)
+ use_window global locks(windowlist, window)
+ vid_attr screen
+ vid_puts screen
+ vidattr screen
+ vidputs screen
+ vline window (stdscr)
+ vline_set window (stdscr)
+ vw_printw window
+ vw_scanw screen
+ vwprintw window
+ vwscanw screen
+ wadd_wch window
+ wadd_wchnstr window
+ wadd_wchstr window
+ waddch window
+ waddchnstr window
+ waddchstr window
+ waddnstr window
+ waddnwstr window
+ waddstr window
+ waddwstr window
+ wattr_get window
+ wattr_off window
+ wattr_on window
+ wattr_set window
+ wattroff window
+ wattron window
+ wattrset window
+
+ wbkgd window
+ wbkgdset window
+ wbkgrnd window
+ wbkgrndset window
+ wborder window
+ wborder_set window
+ wchgat window
+ wclear window
+ wclrtobot window
+ wclrtoeol window
+ wcolor_set window
+ wcursyncup screen (affects window plus parents)
+ wdelch window
+ wdeleteln window
+ wecho_wchar window
+ wechochar window
+ wenclose window
+ werase window
+ wget_wch screen (input-operation)
+ wget_wstr screen (input-operation)
+ wgetbkgrnd window
+ wgetch screen (input-operation)
+ wgetdelay window
+ wgetn_wstr screen (input-operation)
+ wgetnstr screen (input-operation)
+ wgetparent window
+ wgetscrreg window
+ wgetstr screen (input-operation)
+ whline window
+ whline_set window
+ win_wch window
+ win_wchnstr window
+ win_wchstr window
+ winch window
+ winchnstr window
+ winchstr window
+ winnstr window
+ winnwstr window
+ wins_nwstr window
+ wins_wch window
+ wins_wstr window
+ winsch window
+ winsdelln window
+ winsertln window
+ winsnstr window
+ winsstr window
+ winstr window
+ winwstr window
+ wmouse_trafo window
+ wmove window
+ wnoutrefresh screen
+ wprintw window
+ wredrawln window
+ wrefresh screen
+ wresize window locks(windowlist)
+ wscanw screen
+ wscrl window
+ wsetscrreg window
+ wstandend window
+ wstandout window
+ wsyncdown screen (affects window plus parents)
+ wsyncup screen (affects window plus parents)
+ wtimeout window
+ wtouchln window
+ wunctrl global (static data)
+ wvline window
+
+ wvline_set window
+
+
+</PRE><H2><a name="h2-RETURN-VALUE">RETURN VALUE</a></H2><PRE>
+ These functions all return <STRONG>TRUE</STRONG> or <STRONG>FALSE</STRONG>, except as noted.
+
+
+</PRE><H2><a name="h2-NOTES">NOTES</a></H2><PRE>
Both a macro and a function are provided for each name.
-</PRE>
-<H2>PORTABILITY</H2><PRE>
- These routines are specific to ncurses. They were not
- supported on Version 7, BSD or System V implementations.
- It is recommended that any code depending on ncurses ex-
- tensions be conditioned using NCURSES_VERSION.
+</PRE><H2><a name="h2-PORTABILITY">PORTABILITY</a></H2><PRE>
+ These routines are specific to ncurses. They were not supported on
+ Version 7, BSD or System V implementations. It is recommended that any
+ code depending on ncurses extensions be conditioned using NCURSES_VER-
+ SION.
-</PRE>
-<H2>SEE ALSO</H2><PRE>
+</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_variables.3x.html">curs_variables(3x)</A></STRONG>.
- <STRONG><A HREF="curs_threads.3x.html">curs_threads(3x)</A></STRONG>
+ <STRONG><A HREF="curs_threads.3x.html">curs_threads(3x)</A></STRONG>
</PRE>
-<HR>
-<ADDRESS>
-Man(1) output converted with
-<a href="http://www.oac.uci.edu/indiv/ehood/man2html.html">man2html</a>
-</ADDRESS>
+<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>
+<ul>
+<li><a href="#h3-USAGE">USAGE</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-PORTABILITY">PORTABILITY</a></li>
+<li><a href="#h2-SEE-ALSO">SEE ALSO</a></li>
+</ul>
+</div>
</BODY>
</HTML>
diff --git a/doc/html/man/curs_touch.3x.html b/doc/html/man/curs_touch.3x.html
index f2057b9e53b7..a60b3690e2a2 100644
--- a/doc/html/man/curs_touch.3x.html
+++ b/doc/html/man/curs_touch.3x.html
@@ -1,7 +1,6 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN">
<!--
****************************************************************************
- * Copyright (c) 1998-2006,2010 Free Software Foundation, Inc. *
+ * Copyright (c) 1998-2017,2018 Free Software Foundation, Inc. *
* *
* Permission is hereby granted, free of charge, to any person obtaining a *
* copy of this software and associated documentation files (the *
@@ -27,32 +26,31 @@
* sale, use or other dealings in this Software without prior written *
* authorization. *
****************************************************************************
- * @Id: curs_touch.3x,v 1.14 2010/12/04 18:38:55 tom Exp @
+ * @Id: curs_touch.3x,v 1.21 2018/07/28 21:34: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_touch 3x</TITLE>
-<link rev=made href="mailto:bug-ncurses@gnu.org">
+<link rel="author" href="mailto:bug-ncurses@gnu.org">
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
</HEAD>
<BODY>
-<H1>curs_touch 3x</H1>
-<HR>
+<H1 class="no-header">curs_touch 3x</H1>
<PRE>
-<!-- Manpage converted by man2html 3.0.1 -->
-<STRONG><A HREF="curs_touch.3x.html">curs_touch(3x)</A></STRONG> <STRONG><A HREF="curs_touch.3x.html">curs_touch(3x)</A></STRONG>
+<STRONG><A HREF="curs_touch.3x.html">curs_touch(3x)</A></STRONG> <STRONG><A HREF="curs_touch.3x.html">curs_touch(3x)</A></STRONG>
-</PRE>
-<H2>NAME</H2><PRE>
+</PRE><H2><a name="h2-NAME">NAME</a></H2><PRE>
<STRONG>touchwin</STRONG>, <STRONG>touchline</STRONG>, <STRONG>untouchwin</STRONG>, <STRONG>wtouchln</STRONG>, <STRONG>is_linetouched</STRONG>,
<STRONG>is_wintouched</STRONG> - <STRONG>curses</STRONG> refresh control routines
-</PRE>
-<H2>SYNOPSIS</H2><PRE>
+</PRE><H2><a name="h2-SYNOPSIS">SYNOPSIS</a></H2><PRE>
<STRONG>#include</STRONG> <STRONG>&lt;curses.h&gt;</STRONG>
<STRONG>int</STRONG> <STRONG>touchwin(WINDOW</STRONG> <STRONG>*win);</STRONG>
<STRONG>int</STRONG> <STRONG>touchline(WINDOW</STRONG> <STRONG>*win,</STRONG> <STRONG>int</STRONG> <STRONG>start,</STRONG> <STRONG>int</STRONG> <STRONG>count);</STRONG>
@@ -62,83 +60,85 @@
<STRONG>bool</STRONG> <STRONG>is_wintouched(WINDOW</STRONG> <STRONG>*win);</STRONG>
-</PRE>
-<H2>DESCRIPTION</H2><PRE>
- The <STRONG>touchwin</STRONG> and <STRONG>touchline</STRONG> routines throw away all opti-
- mization information about which parts of the window have
- been touched, by pretending that the entire window has
- been drawn on. This is sometimes necessary when using
- overlapping windows, since a change to one window affects
- the other window, but the records of which lines have been
- changed in the other window do not reflect the change.
- The routine <STRONG>touchline</STRONG> only pretends that <EM>count</EM> lines have
- been changed, beginning with line <EM>start</EM>.
-
- The <STRONG>untouchwin</STRONG> routine marks all lines in the window as
- unchanged since the last call to <STRONG>wrefresh</STRONG>.
-
- The <STRONG>wtouchln</STRONG> routine makes <EM>n</EM> lines in the window, starting
- at line <EM>y</EM>, look as if they have (<EM>changed</EM><STRONG>=1</STRONG>) or have not
- (<EM>changed</EM><STRONG>=0</STRONG>) been changed since the last call to <STRONG>wrefresh</STRONG>.
-
- The <STRONG>is_linetouched</STRONG> and <STRONG>is_wintouched</STRONG> routines return <STRONG>TRUE</STRONG>
- if the specified line/window was modified since the last
- call to <STRONG>wrefresh</STRONG>; otherwise they return <STRONG>FALSE</STRONG>. In addi-
- tion, <STRONG>is_linetouched</STRONG> returns <STRONG>ERR</STRONG> if <EM>line</EM> is not valid for
- the given window.
+</PRE><H2><a name="h2-DESCRIPTION">DESCRIPTION</a></H2><PRE>
+ The <STRONG>touchwin</STRONG> and <STRONG>touchline</STRONG> routines throw away all optimization infor-
+ mation about which parts of the window have been touched, by pretending
+ that the entire window has been drawn on. This is sometimes necessary
+ when using overlapping windows, since a change to one window affects
+ the other window, but the records of which lines have been changed in
+ the other window do not reflect the change. The routine <STRONG>touchline</STRONG> only
+ pretends that <EM>count</EM> lines have been changed, beginning with line <EM>start</EM>.
+ The <STRONG>untouchwin</STRONG> routine marks all lines in the window as unchanged since
+ the last call to <STRONG>wrefresh</STRONG>.
-</PRE>
-<H2>RETURN VALUE</H2><PRE>
- All routines return the integer <STRONG>ERR</STRONG> upon failure and an
- integer value other than <STRONG>ERR</STRONG> upon successful completion,
- unless otherwise noted in the preceding routine descrip-
- tions.
+ The <STRONG>wtouchln</STRONG> routine makes <EM>n</EM> lines in the window, starting at line <EM>y</EM>,
+ look as if they have (<EM>changed</EM><STRONG>=1</STRONG>) or have not (<EM>changed</EM><STRONG>=0</STRONG>) been changed
+ since the last call to <STRONG>wrefresh</STRONG>.
- X/Open does not define any error conditions. In this im-
- plementation
+ The <STRONG>is_linetouched</STRONG> and <STRONG>is_wintouched</STRONG> routines return <STRONG>TRUE</STRONG> if the speci-
+ fied line/window was modified since the last call to <STRONG>wrefresh</STRONG>; other-
+ wise they return <STRONG>FALSE</STRONG>. In addition, <STRONG>is_linetouched</STRONG> returns <STRONG>ERR</STRONG> if
+ <EM>line</EM> is not valid for the given window.
- <STRONG>is_linetouched</STRONG>
- returns an error if the window pointer is
- null, or if the line number is outside the
- window. Note that ERR is distinct from TRUE
- and FALSE, which are the normal return values
- of this function.
- <STRONG>wtouchln</STRONG>
- returns an error if the window pointer is
- null, or if the line number is outside the
- window.
+</PRE><H2><a name="h2-RETURN-VALUE">RETURN VALUE</a></H2><PRE>
+ All routines return the integer <STRONG>ERR</STRONG> upon failure and an integer value
+ other than <STRONG>ERR</STRONG> upon successful completion, unless otherwise noted in
+ the preceding routine descriptions.
+ X/Open does not define any error conditions. In this implementation
-</PRE>
-<H2>PORTABILITY</H2><PRE>
- The XSI Curses standard, Issue 4 describes these func-
- tions.
+ <STRONG>is_linetouched</STRONG>
+ returns an error if the window pointer is null, or if the line
+ number is outside the window.
- Some historic curses implementations had, as an undocu-
- mented feature, the ability to do the equivalent of
- <STRONG>clearok(...,</STRONG> <STRONG>1)</STRONG> by saying <STRONG>touchwin(stdscr)</STRONG> or <STRONG>clear(std-</STRONG>
- <STRONG>scr)</STRONG>. This will not work under ncurses.
+ The constant <STRONG>ERR</STRONG> is distinct from <STRONG>TRUE</STRONG> and <STRONG>FALSE</STRONG>, which are the
+ normal return values of this function. Because the function
+ returns a <STRONG>bool</STRONG>, returning <STRONG>ERR</STRONG> (which is neither <STRONG>TRUE</STRONG> nor <STRONG>FALSE</STRONG>)
+ may not be supported by the compiler.
+ To provide error-checking and also match the X/Open function
+ prototype, the <STRONG>ERR</STRONG> is provided by a macro named <STRONG>is_linetouched</STRONG>.
+ The actual function returns <STRONG>FALSE</STRONG> when it detects an error.
-</PRE>
-<H2>NOTES</H2><PRE>
- Note that all routines except <STRONG>wtouchln</STRONG> may be macros.
+ <STRONG>wtouchln</STRONG>
+ returns an error if the window pointer is null, or if the line
+ number is outside the window.
-</PRE>
-<H2>SEE ALSO</H2><PRE>
+</PRE><H2><a name="h2-PORTABILITY">PORTABILITY</a></H2><PRE>
+ These functions were introduced by SVr4. The Solaris curses header
+ file, for instance, defines both an actual function and macro for each.
+ The macros give the same result as the actual functions. SVr4 curses
+ does not check the window parameter <EM>win</EM> to ensure that it is not <STRONG>NULL</STRONG>;
+ otherwise this implementation behaves the same as SVr4.
+
+ The XSI Curses standard, Issue 4 describes these functions, but defines
+ no error conditions.
+
+
+</PRE><H2><a name="h2-NOTES">NOTES</a></H2><PRE>
+ All of these routines except <STRONG>wtouchln</STRONG> may be macros.
+
+
+</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_refresh.3x.html">curs_refresh(3x)</A></STRONG>, <STRONG><A HREF="curs_variables.3x.html">curs_variables(3x)</A></STRONG>.
- <STRONG><A HREF="curs_touch.3x.html">curs_touch(3x)</A></STRONG>
+ <STRONG><A HREF="curs_touch.3x.html">curs_touch(3x)</A></STRONG>
</PRE>
-<HR>
-<ADDRESS>
-Man(1) output converted with
-<a href="http://www.oac.uci.edu/indiv/ehood/man2html.html">man2html</a>
-</ADDRESS>
+<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>
+<li><a href="#h2-RETURN-VALUE">RETURN VALUE</a></li>
+<li><a href="#h2-PORTABILITY">PORTABILITY</a></li>
+<li><a href="#h2-NOTES">NOTES</a></li>
+<li><a href="#h2-SEE-ALSO">SEE ALSO</a></li>
+</ul>
+</div>
</BODY>
</HTML>
diff --git a/doc/html/man/curs_trace.3x.html b/doc/html/man/curs_trace.3x.html
index d3c9eebd982b..77ecbccec61f 100644
--- a/doc/html/man/curs_trace.3x.html
+++ b/doc/html/man/curs_trace.3x.html
@@ -1,7 +1,6 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN">
<!--
****************************************************************************
- * Copyright (c) 2000-2009,2010 Free Software Foundation, Inc. *
+ * Copyright (c) 2000-2017,2019 Free Software Foundation, Inc. *
* *
* Permission is hereby granted, free of charge, to any person obtaining a *
* copy of this software and associated documentation files (the *
@@ -27,160 +26,254 @@
* sale, use or other dealings in this Software without prior written *
* authorization. *
****************************************************************************
- * @Id: curs_trace.3x,v 1.12 2010/12/04 18:40:45 tom Exp @
+ * @Id: curs_trace.3x,v 1.20 2019/12/07 18:55:02 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</TITLE>
-<link rev=made href="mailto:bug-ncurses@gnu.org">
+<link rel="author" href="mailto:bug-ncurses@gnu.org">
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
</HEAD>
<BODY>
-<H1>curs_trace 3x</H1>
-<HR>
+<H1 class="no-header">curs_trace 3x</H1>
<PRE>
-<!-- Manpage converted by man2html 3.0.1 -->
-<STRONG><A HREF="curs_trace.3x.html">curs_trace(3x)</A></STRONG> <STRONG><A HREF="curs_trace.3x.html">curs_trace(3x)</A></STRONG>
+<STRONG><A HREF="curs_trace.3x.html">curs_trace(3x)</A></STRONG> <STRONG><A HREF="curs_trace.3x.html">curs_trace(3x)</A></STRONG>
-</PRE>
-<H2>NAME</H2><PRE>
- <STRONG>_tracef</STRONG>, <STRONG>_tracedump</STRONG>, <STRONG>_traceattr</STRONG>, <STRONG>_traceattr2</STRONG>,
- <STRONG>_nc_tracebits</STRONG>, <STRONG>_tracecchar_t</STRONG>, <STRONG>_tracecchar_t2</STRONG>, <STRONG>_tracechar</STRONG>,
- <STRONG>_tracechtype</STRONG>, <STRONG>_tracechtype2</STRONG>, <STRONG>_tracemouse</STRONG>, <STRONG>trace</STRONG> - <STRONG>curses</STRONG>
- debugging routines
+</PRE><H2><a name="h2-NAME">NAME</a></H2><PRE>
+ <STRONG>curses_trace</STRONG>, <STRONG>trace</STRONG>, <STRONG>_tracef</STRONG>, <STRONG>_traceattr</STRONG>, <STRONG>_traceattr2</STRONG>, <STRONG>_tracecchar_t</STRONG>,
+ <STRONG>_tracecchar_t2</STRONG>, <STRONG>_tracechar</STRONG>, <STRONG>_tracechtype</STRONG>, <STRONG>_tracechtype2</STRONG>, <STRONG>_nc_tracebits</STRONG>,
+ <STRONG>_tracedump</STRONG>, <STRONG>_tracemouse</STRONG> - <STRONG>curses</STRONG> debugging routines
-</PRE>
-<H2>SYNOPSIS</H2><PRE>
+</PRE><H2><a name="h2-SYNOPSIS">SYNOPSIS</a></H2><PRE>
<STRONG>#include</STRONG> <STRONG>&lt;curses.h&gt;</STRONG>
- <STRONG>void</STRONG> <STRONG>_tracef(const</STRONG> <STRONG>char</STRONG> <STRONG>*format,</STRONG> <STRONG>...);</STRONG>
- <STRONG>void</STRONG> <STRONG>_tracedump(const</STRONG> <STRONG>char</STRONG> <STRONG>*label,</STRONG> <STRONG>WINDOW</STRONG> <STRONG>*win);</STRONG>
- <STRONG>char</STRONG> <STRONG>*_traceattr(attr_t</STRONG> <STRONG>attr);</STRONG>
- <STRONG>char</STRONG> <STRONG>*_traceattr2(int</STRONG> <STRONG>buffer,</STRONG> <STRONG>chtype</STRONG> <STRONG>ch);</STRONG>
+ <STRONG>unsigned</STRONG> <STRONG>curses_trace(const</STRONG> <STRONG>unsigned</STRONG> <EM>param</EM><STRONG>);</STRONG>
+
+ <STRONG>void</STRONG> <STRONG>_tracef(const</STRONG> <STRONG>char</STRONG> <STRONG>*</STRONG><EM>format</EM><STRONG>,</STRONG> <STRONG>...);</STRONG>
+
+ <STRONG>char</STRONG> <STRONG>*_traceattr(attr_t</STRONG> <EM>attr</EM><STRONG>);</STRONG>
+ <STRONG>char</STRONG> <STRONG>*_traceattr2(int</STRONG> <EM>buffer</EM><STRONG>,</STRONG> <STRONG>chtype</STRONG> <EM>ch</EM><STRONG>);</STRONG>
+ <STRONG>char</STRONG> <STRONG>*_tracecchar_t(const</STRONG> <STRONG>cchar_t</STRONG> <STRONG>*</STRONG><EM>string</EM><STRONG>);</STRONG>
+ <STRONG>char</STRONG> <STRONG>*_tracecchar_t2(int</STRONG> <EM>buffer</EM><STRONG>,</STRONG> <STRONG>const</STRONG> <STRONG>cchar_t</STRONG> <STRONG>*</STRONG><EM>string</EM><STRONG>);</STRONG>
+ <STRONG>char</STRONG> <STRONG>*_tracechar(int</STRONG> <EM>ch</EM><STRONG>);</STRONG>
+ <STRONG>char</STRONG> <STRONG>*_tracechtype(chtype</STRONG> <EM>ch</EM><STRONG>);</STRONG>
+ <STRONG>char</STRONG> <STRONG>*_tracechtype2(int</STRONG> <EM>buffer</EM><STRONG>,</STRONG> <STRONG>chtype</STRONG> <EM>ch</EM><STRONG>);</STRONG>
+
+ <STRONG>void</STRONG> <STRONG>_tracedump(const</STRONG> <STRONG>char</STRONG> <STRONG>*</STRONG><EM>label</EM><STRONG>,</STRONG> <STRONG>WINDOW</STRONG> <STRONG>*</STRONG><EM>win</EM><STRONG>);</STRONG>
<STRONG>char</STRONG> <STRONG>*_nc_tracebits(void);</STRONG>
- <STRONG>char</STRONG> <STRONG>*</STRONG> <STRONG>_tracecchar_t(const</STRONG> <STRONG>cchar_t</STRONG> <STRONG>*string);</STRONG>
- <STRONG>char</STRONG> <STRONG>*</STRONG> <STRONG>_tracecchar_t2(int</STRONG> <STRONG>buffer,</STRONG> <STRONG>const</STRONG> <STRONG>cchar_t</STRONG> <STRONG>*string);</STRONG>
- <STRONG>char</STRONG> <STRONG>*_tracechar(int</STRONG> <STRONG>ch);</STRONG>
- <STRONG>char</STRONG> <STRONG>*_tracechtype(chtype</STRONG> <STRONG>ch);</STRONG>
- <STRONG>char</STRONG> <STRONG>*_tracechtype2(int</STRONG> <STRONG>buffer,</STRONG> <STRONG>chtype</STRONG> <STRONG>ch);</STRONG>
- <STRONG>char</STRONG> <STRONG>*_tracemouse(const</STRONG> <STRONG>MEVENT</STRONG> <STRONG>*event);</STRONG>
- <STRONG>void</STRONG> <STRONG>trace(const</STRONG> <STRONG>unsigned</STRONG> <STRONG>int</STRONG> <STRONG>param);</STRONG>
+ <STRONG>char</STRONG> <STRONG>*_tracemouse(const</STRONG> <STRONG>MEVENT</STRONG> <STRONG>*</STRONG><EM>event</EM><STRONG>);</STRONG>
+ /* deprecated */
+ <STRONG>void</STRONG> <STRONG>trace(const</STRONG> <STRONG>unsigned</STRONG> <STRONG>int</STRONG> <EM>param</EM><STRONG>);</STRONG>
-</PRE>
-<H2>DESCRIPTION</H2><PRE>
- The <STRONG>trace</STRONG> routines are used for debugging the ncurses li-
- braries, as well as applications which use the ncurses li-
- braries. These functions are normally available only with
- the debugging library <EM>libncurses</EM><STRONG>_</STRONG><EM>g.a</EM>, but may be compiled
- into any model (shared, static, profile) by defining the
- symbol <STRONG>TRACE</STRONG>. Additionally, some functions are only
- available with the wide-character configuration of the li-
- braries.
-
- The principal parts of this interface are the <STRONG>trace</STRONG> rou-
- tine which selectively enables different tracing features,
- and the <STRONG>_tracef</STRONG> routine which writes formatted data to the
- <EM>trace</EM> file.
-
- Calling <STRONG>trace</STRONG> with a nonzero parameter opens the file
- <STRONG>trace</STRONG> in the current directory for output. The parameter
- is formed by OR'ing values from the list of <STRONG>TRACE_</STRONG><EM>xxx</EM> def-
- initions in <STRONG>&lt;curses.h&gt;</STRONG>. These include:
-
- TRACE_DISABLE
- turn off tracing.
-
- TRACE_TIMES
+
+</PRE><H2><a name="h2-DESCRIPTION">DESCRIPTION</a></H2><PRE>
+ The <EM>curses</EM> <EM>trace</EM> routines are used for debugging the ncurses libraries,
+ as well as applications which use the ncurses libraries. Some limita-
+ tions apply:
+
+ <STRONG>o</STRONG> Aside from <STRONG>curses_trace</STRONG>, the other functions are normally available
+ only with the debugging library e.g., <EM>libncurses</EM><STRONG>_</STRONG><EM>g.a</EM>.
+
+ All of the trace functions may be compiled into any model (shared,
+ static, profile) by defining the symbol <STRONG>TRACE</STRONG>.
+
+ <STRONG>o</STRONG> Additionally, the functions which use <STRONG>cchar_t</STRONG> are only available
+ with the wide-character configuration of the libraries.
+
+
+</PRE><H3><a name="h3-Functions">Functions</a></H3><PRE>
+ The principal parts of this interface are
+
+ <STRONG>o</STRONG> <STRONG>curses_trace</STRONG>, which selectively enables different tracing features,
+ and
+
+ <STRONG>o</STRONG> <STRONG>_tracef</STRONG>, which writes formatted data to the <EM>trace</EM> file.
+
+ The other functions either return a pointer to a string-area (allo-
+ cated by the corresponding function), or return no value (such as
+ <STRONG>_tracedump</STRONG>, which implements the screen dump for <STRONG>TRACE_UPDATE</STRONG>).
+ The caller should not free these strings, since the allocation is
+ reused on successive calls. To work around the problem of a single
+ string-area per function, some use a buffer-number parameter,
+ telling the library to allocate additional string-areas.
+
+ The <STRONG>curses_trace</STRONG> function is always available, whether or not the other
+ trace functions are available:
+
+ <STRONG>o</STRONG> If tracing is available, calling <STRONG>curses_trace</STRONG> with a nonzero param-
+ eter updates the trace mask, and returns the previous trace mask.
+
+ When the trace mask is nonzero, ncurses creates the file "trace" in
+ the current directory for output. If the file already exists, no
+ tracing is done.
+
+ <STRONG>o</STRONG> If tracing is not available, <STRONG>curses_trace</STRONG> returns zero (0).
+
+
+</PRE><H3><a name="h3-Trace-Parameter">Trace Parameter</a></H3><PRE>
+ The trace parameter is formed by OR'ing values from the list of
+ <STRONG>TRACE_</STRONG><EM>xxx</EM> definitions in <STRONG>&lt;curses.h&gt;</STRONG>. These include:
+
+ <STRONG>TRACE_DISABLE</STRONG>
+ turn off tracing by passing a zero parameter.
+
+ The library flushes the output file, but retains an open file-de-
+ scriptor to the trace file so that it can resume tracing later if
+ a nonzero parameter is passed to the <STRONG>curses_trace</STRONG> function.
+
+ <STRONG>TRACE_TIMES</STRONG>
trace user and system times of updates.
- TRACE_TPUTS
- trace tputs calls.
+ <STRONG>TRACE_TPUTS</STRONG>
+ trace <STRONG><A HREF="curs_terminfo.3x.html">tputs(3x)</A></STRONG> calls.
- TRACE_UPDATE
+ <STRONG>TRACE_UPDATE</STRONG>
trace update actions, old &amp; new screens.
- TRACE_MOVE
+ <STRONG>TRACE_MOVE</STRONG>
trace cursor movement and scrolling.
- TRACE_CHARPUT
+ <STRONG>TRACE_CHARPUT</STRONG>
trace all character outputs.
- TRACE_ORDINARY
- trace all update actions. The old and new screen
- contents are written to the trace file for each re-
- fresh.
+ <STRONG>TRACE_ORDINARY</STRONG>
+ trace all update actions. The old and new screen contents are
+ written to the trace file for each refresh.
- TRACE_CALLS
- trace all curses calls. The parameters for each call
- are traced, as well as return values.
+ <STRONG>TRACE_CALLS</STRONG>
+ trace all curses calls. The parameters for each call are traced,
+ as well as return values.
- TRACE_VIRTPUT
+ <STRONG>TRACE_VIRTPUT</STRONG>
trace virtual character puts, i.e., calls to <STRONG>addch</STRONG>.
- TRACE_IEVENT
+ <STRONG>TRACE_IEVENT</STRONG>
trace low-level input processing, including timeouts.
- TRACE_BITS
+ <STRONG>TRACE_BITS</STRONG>
trace state of TTY control bits.
- TRACE_ICALLS
+ <STRONG>TRACE_ICALLS</STRONG>
trace internal/nested calls.
- TRACE_CCALLS
+ <STRONG>TRACE_CCALLS</STRONG>
trace per-character calls.
- TRACE_DATABASE
+ <STRONG>TRACE_DATABASE</STRONG>
trace read/write of terminfo/termcap data.
- TRACE_ATTRS
+ <STRONG>TRACE_ATTRS</STRONG>
trace changes to video attributes and colors.
- TRACE_MAXIMUM
- maximum trace level, enables all of the separate
- trace features.
+ <STRONG>TRACE_MAXIMUM</STRONG>
+ maximum trace level, enables all of the separate trace features.
- Some tracing features are enabled whenever the <STRONG>trace</STRONG> pa-
- rameter is nonzero. Some features overlap. The specific
- names are used as a guideline.
+ Some tracing features are enabled whenever the <STRONG>curses_trace</STRONG> parameter
+ is nonzero. Some features overlap. The specific names are used as a
+ guideline.
- These functions check the <STRONG>NCURSES_TRACE</STRONG> environment vari-
- able, to set the tracing feature as if <STRONG>trace</STRONG> was called:
- filter, initscr, new_prescr, newterm, nofilter,
- ripoffline, setupterm, slk_init, tgetent
+</PRE><H3><a name="h3-Initialization">Initialization</a></H3><PRE>
+ These functions check the <STRONG>NCURSES_TRACE</STRONG> environment variable, to set
+ the tracing feature as if <STRONG>curses_trace</STRONG> was called:
+ filter, initscr, new_prescr, newterm, nofilter, restartterm,
+ ripoffline, setupterm, slk_init, tgetent, use_env,
+ use_extended_names, use_tioctl
-</PRE>
-<H2>RETURN VALUE</H2><PRE>
- Routines which return a value are designed to be used as
- parameters to the <STRONG>_tracef</STRONG> routine.
+</PRE><H3><a name="h3-Command-line-Utilities">Command-line Utilities</a></H3><PRE>
+ The command-line utilities such as <STRONG><A HREF="tic.1m.html">tic(1)</A></STRONG> provide a verbose option
+ which extends the set of messages written using the <STRONG>curses_trace</STRONG> func-
+ tion. Both of these (<STRONG>-v</STRONG> and <STRONG>curses_trace</STRONG>) use the same variable
+ (<STRONG>_nc_tracing</STRONG>), which determines the messages which are written.
-</PRE>
-<H2>PORTABILITY</H2><PRE>
- These functions are not part of the XSI interface. Some
- other curses implementations are known to have similar,
- undocumented features, but they are not compatible with
- ncurses.
+ Because the command-line utilities may call initialization functions
+ such as <STRONG>setupterm</STRONG>, <STRONG>tgetent</STRONG> or <STRONG>use_extended_names</STRONG>, some of their debug-
+ ging output may be directed to the <EM>trace</EM> file if the <STRONG>NCURSES_TRACE</STRONG> en-
+ vironment variable is set:
+ <STRONG>o</STRONG> messages produced in the utility are written to the standard error.
-</PRE>
-<H2>SEE ALSO</H2><PRE>
+ <STRONG>o</STRONG> messages produced by the underlying library are written to <EM>trace</EM>.
+
+ If ncurses is built without tracing, none of the latter are produced,
+ and fewer diagnostics are provided by the command-line utilities.
+
+
+</PRE><H2><a name="h2-RETURN-VALUE">RETURN VALUE</a></H2><PRE>
+ Routines which return a value are designed to be used as parameters to
+ the <STRONG>_tracef</STRONG> routine.
+
+
+</PRE><H2><a name="h2-PORTABILITY">PORTABILITY</a></H2><PRE>
+ These functions are not part of the XSI interface. Some other curses
+ implementations are known to have similar features, but they are not
+ compatible with ncurses:
+
+ <STRONG>o</STRONG> SVr4 provided <STRONG>traceon</STRONG> and <STRONG>traceoff</STRONG>, to control whether debugging
+ information was written to the "trace" file. While the functions
+ were always available, this feature was only enabled if <STRONG>DEBUG</STRONG> was
+ defined when building the library.
+
+ The SVr4 tracing feature is undocumented.
+
+ <STRONG>o</STRONG> PDCurses provides <STRONG>traceon</STRONG> and <STRONG>traceoff</STRONG>, which (like SVr4) are al-
+ ways available, and enable tracing to the "trace" file only when a
+ debug-library is built.
+
+ PDCurses has a short description of these functions, with a note
+ that they are not present in X/Open Curses, ncurses or NetBSD. It
+ does not mention SVr4, but the functions' inclusion in a header
+ file section labeled "Quasi-standard" hints at the origin.
+
+ <STRONG>o</STRONG> NetBSD does not provide functions for enabling/disabling traces.
+ It uses environment variables <STRONG>CURSES_TRACE_MASK</STRONG> and <STRONG>CURS-</STRONG>
+ <STRONG>ES_TRACE_FILE</STRONG> to determine what is traced, and where the results
+ are written. This is available only when a debug-library is built.
+
+ The NetBSD tracing feature is undocumented.
+
+ A few ncurses functions are not provided when symbol versioning is
+ used:
+
+ _nc_tracebits, _tracedump, _tracemouse
+
+ The original <STRONG>trace</STRONG> routine was deprecated because it often conflicted
+ with application names.
+
+
+</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_trace.3x.html">curs_trace(3x)</A></STRONG>
+ <STRONG><A HREF="curs_trace.3x.html">curs_trace(3x)</A></STRONG>
</PRE>
-<HR>
-<ADDRESS>
-Man(1) output converted with
-<a href="http://www.oac.uci.edu/indiv/ehood/man2html.html">man2html</a>
-</ADDRESS>
+<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>
+<ul>
+<li><a href="#h3-Functions">Functions</a></li>
+<li><a href="#h3-Trace-Parameter">Trace Parameter</a></li>
+<li><a href="#h3-Initialization">Initialization</a></li>
+<li><a href="#h3-Command-line-Utilities">Command-line Utilities</a></li>
+</ul>
+</li>
+<li><a href="#h2-RETURN-VALUE">RETURN VALUE</a></li>
+<li><a href="#h2-PORTABILITY">PORTABILITY</a></li>
+<li><a href="#h2-SEE-ALSO">SEE ALSO</a></li>
+</ul>
+</div>
</BODY>
</HTML>
diff --git a/doc/html/man/curs_util.3x.html b/doc/html/man/curs_util.3x.html
index b2006cd3634c..1c175a774ab9 100644
--- a/doc/html/man/curs_util.3x.html
+++ b/doc/html/man/curs_util.3x.html
@@ -1,8 +1,7 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN">
<!--
* t
****************************************************************************
- * Copyright (c) 1998-2012,2013 Free Software Foundation, Inc. *
+ * Copyright (c) 1998-2018,2019 Free Software Foundation, Inc. *
* *
* Permission is hereby granted, free of charge, to any person obtaining a *
* copy of this software and associated documentation files (the *
@@ -28,39 +27,38 @@
* sale, use or other dealings in this Software without prior written *
* authorization. *
****************************************************************************
- * @Id: curs_util.3x,v 1.37 2013/07/20 19:43:45 tom Exp @
+ * @Id: curs_util.3x,v 1.56 2019/11/30 21:04:02 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</TITLE>
-<link rev=made href="mailto:bug-ncurses@gnu.org">
+<link rel="author" href="mailto:bug-ncurses@gnu.org">
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
</HEAD>
<BODY>
-<H1>curs_util 3x</H1>
-<HR>
+<H1 class="no-header">curs_util 3x</H1>
<PRE>
-<!-- Manpage converted by man2html 3.0.1 -->
-<STRONG><A HREF="curs_util.3x.html">curs_util(3x)</A></STRONG> <STRONG><A HREF="curs_util.3x.html">curs_util(3x)</A></STRONG>
+<STRONG><A HREF="curs_util.3x.html">curs_util(3x)</A></STRONG> <STRONG><A HREF="curs_util.3x.html">curs_util(3x)</A></STRONG>
-</PRE>
-<H2>NAME</H2><PRE>
- <STRONG>delay_output</STRONG>, <STRONG>filter</STRONG>, <STRONG>flushinp</STRONG>, <STRONG>getwin</STRONG>, <STRONG>key_name</STRONG>, <STRONG>keyname</STRONG>,
- <STRONG>nofilter</STRONG>, <STRONG>putwin</STRONG>, <STRONG>unctrl</STRONG>, <STRONG>use_env</STRONG>, <STRONG>use_tioctl</STRONG>, <STRONG>wunctrl</STRONG> -
- miscellaneous <STRONG>curses</STRONG> utility routines
+</PRE><H2><a name="h2-NAME">NAME</a></H2><PRE>
+ <STRONG>delay_output</STRONG>, <STRONG>filter</STRONG>, <STRONG>flushinp</STRONG>, <STRONG>getwin</STRONG>, <STRONG>key_name</STRONG>, <STRONG>keyname</STRONG>, <STRONG>nofilter</STRONG>,
+ <STRONG>putwin</STRONG>, <STRONG>unctrl</STRONG>, <STRONG>use_env</STRONG>, <STRONG>use_tioctl</STRONG>, <STRONG>wunctrl</STRONG> - miscellaneous <STRONG>curses</STRONG>
+ utility routines
-</PRE>
-<H2>SYNOPSIS</H2><PRE>
+</PRE><H2><a name="h2-SYNOPSIS">SYNOPSIS</a></H2><PRE>
<STRONG>#include</STRONG> <STRONG>&lt;curses.h&gt;</STRONG>
- <STRONG>char</STRONG> <STRONG>*unctrl(chtype</STRONG> <STRONG>c);</STRONG>
+ <STRONG>const</STRONG> <STRONG>char</STRONG> <STRONG>*unctrl(chtype</STRONG> <STRONG>c);</STRONG>
<STRONG>wchar_t</STRONG> <STRONG>*wunctrl(cchar_t</STRONG> <STRONG>*c);</STRONG>
- <STRONG>char</STRONG> <STRONG>*keyname(int</STRONG> <STRONG>c);</STRONG>
- <STRONG>char</STRONG> <STRONG>*key_name(wchar_t</STRONG> <STRONG>w);</STRONG>
+ <STRONG>const</STRONG> <STRONG>char</STRONG> <STRONG>*keyname(int</STRONG> <STRONG>c);</STRONG>
+ <STRONG>const</STRONG> <STRONG>char</STRONG> <STRONG>*key_name(wchar_t</STRONG> <STRONG>w);</STRONG>
<STRONG>void</STRONG> <STRONG>filter(void);</STRONG>
<STRONG>void</STRONG> <STRONG>nofilter(void);</STRONG>
<STRONG>void</STRONG> <STRONG>use_env(bool</STRONG> <STRONG>f);</STRONG>
@@ -71,248 +69,318 @@
<STRONG>int</STRONG> <STRONG>flushinp(void);</STRONG>
-</PRE>
-<H2>DESCRIPTION</H2><PRE>
- The <STRONG>unctrl</STRONG> routine returns a character string which is a
- printable representation of the character <EM>c</EM>, ignoring at-
- tributes. Control characters are displayed in the <STRONG>^</STRONG><EM>X</EM> no-
- tation. Printing characters are displayed as is. The
- corresponding <STRONG>wunctrl</STRONG> returns a printable representation
- of a wide character.
-
- The <STRONG>keyname</STRONG> routine returns a character string correspond-
- ing to the key <EM>c</EM>:
-
- <STRONG>o</STRONG> Printable characters are displayed as themselves,
- e.g., a one-character string containing the key.
-
- <STRONG>o</STRONG> Control characters are displayed in the <STRONG>^</STRONG><EM>X</EM> nota-
- tion.
-
- <STRONG>o</STRONG> DEL (character 127) is displayed as <STRONG>^?</STRONG>.
-
- <STRONG>o</STRONG> Values above 128 are either meta characters (if the
- screen has not been initialized, or if <STRONG>meta</STRONG> has
- been called with a TRUE parameter), shown in the
- <STRONG>M-</STRONG><EM>X</EM> notation, or are displayed as themselves. In
- the latter case, the values may not be printable;
- this follows the X/Open specification.
-
- <STRONG>o</STRONG> Values above 256 may be the names of the names of
- function keys.
-
- <STRONG>o</STRONG> Otherwise (if there is no corresponding name) the
- function returns null, to denote an error. X/Open
- also lists an "UNKNOWN KEY" return value, which
- some implementations return rather than null.
-
- The corresponding <STRONG>key_name</STRONG> returns a character string cor-
- responding to the wide-character value <EM>w</EM>. The two func-
- tions do not return the same set of strings; the latter
- returns null where the former would display a meta charac-
- ter.
-
- The <STRONG>filter</STRONG> routine, if used, must be called before <STRONG>initscr</STRONG>
- or <STRONG>newterm</STRONG> are called. The effect is that, during those
- calls, <STRONG>LINES</STRONG> is set to 1; the capabilities <STRONG>clear</STRONG>, <STRONG>cup</STRONG>,
- <STRONG>cud</STRONG>, <STRONG>cud1</STRONG>, <STRONG>cuu1</STRONG>, <STRONG>cuu</STRONG>, <STRONG>vpa</STRONG> are disabled; and the <STRONG>home</STRONG>
- string is set to the value of <STRONG>cr</STRONG>.
-
- The <STRONG>nofilter</STRONG> routine cancels the effect of a preceding
- <STRONG>filter</STRONG> call. That allows the caller to initialize a
- screen on a different device, using a different value of
- <STRONG>$TERM</STRONG>. The limitation arises because the <STRONG>filter</STRONG> routine
- modifies the in-memory copy of the terminal information.
-
- The <STRONG>use_env</STRONG> routine, if used, should be called before
- <STRONG>initscr</STRONG> or <STRONG>newterm</STRONG> are called (because those compute the
- screen size). It modifies the way <STRONG>ncurses</STRONG> treats environ-
- ment variables when determining the screen size.
-
- <STRONG>o</STRONG> Normally ncurses looks first at the terminal database
- for the screen size.
-
- If <STRONG>use_env</STRONG> was called with <STRONG>FALSE</STRONG> for parameter, it
- stops here unless If <STRONG>use_tioctl</STRONG> was also called with
- <STRONG>TRUE</STRONG> for parameter.
-
- <STRONG>o</STRONG> Then it asks for the screen size via operating system
- calls. If successful, it overrides the values from
- the terminal database.
-
- <STRONG>o</STRONG> Finally (unless <STRONG>use_env</STRONG> was called with <STRONG>FALSE</STRONG> parame-
- ter), ncurses examines the <STRONG>LINES</STRONG> or <STRONG>COLUMNS</STRONG> environ-
- ment variables, using a value in those to override the
- results from the operating system or terminal data-
- base.
-
- Ncurses also updates the screen size in response to
- SIGWINCH, unless overridden by the <STRONG>LINES</STRONG> or <STRONG>COLUMNS</STRONG>
- environment variables,
-
- The <STRONG>use_tioctl</STRONG> routine, if used, should be called before
- <STRONG>initscr</STRONG> or <STRONG>newterm</STRONG> are called (because those compute the
- screen size). After <STRONG>use_tioctl</STRONG> is called with <STRONG>TRUE</STRONG> as an
- argument, ncurses modifies the last step in its computa-
- tion of screen size as follows:
-
- <STRONG>o</STRONG> checks if the <STRONG>LINES</STRONG> and <STRONG>COLUMNS</STRONG> environment variables
- are set to a number greater than zero.
-
- <STRONG>o</STRONG> for each, ncurses updates the corresponding environ-
- ment variable with the value that it has obtained via
- operating system call or from the terminal database.
-
- <STRONG>o</STRONG> ncurses re-fetches the value of the environment vari-
- ables so that it is still the environment variables
- which set the screen size.
-
- The <STRONG>use_env</STRONG> and <STRONG>use_tioctl</STRONG> routines combine as summarized
- here:
-
- <EM>use</EM><STRONG>_</STRONG><EM>env</EM> <EM>use</EM><STRONG>_</STRONG><EM>tioctl</EM> <EM>Summary</EM>
- ----------------------------------------------------------------
- TRUE FALSE This is the default behavior. ncurses
- uses operating system calls unless over-
- ridden by $LINES or $COLUMNS environment
- variables.
- TRUE TRUE ncurses updates $LINES and $COLUMNS
- based on operating system calls.
-
- FALSE TRUE ncurses ignores $LINES and $COLUMNS, us-
- es operating system calls to obtain
- size.
- FALSE FALSE ncurses relies on the terminal database
- to determine size.
-
- The <STRONG>putwin</STRONG> routine writes all data associated with window
- <EM>win</EM> into the file to which <EM>filep</EM> points. This information
- can be later retrieved using the <STRONG>getwin</STRONG> function.
-
- The <STRONG>getwin</STRONG> routine reads window related data stored in the
- file by <STRONG>putwin</STRONG>. The routine then creates and initializes
- a new window using that data. It returns a pointer to the
- new window.
-
- The <STRONG>delay_output</STRONG> routine inserts an <EM>ms</EM> millisecond pause
- in output. This routine should not be used extensively
- because padding characters are used rather than a CPU
- pause. If no padding character is specified, this uses
- <STRONG>napms</STRONG> to perform the delay.
-
- The <STRONG>flushinp</STRONG> routine throws away any typeahead that has
- been typed by the user and has not yet been read by the
- program.
+</PRE><H2><a name="h2-DESCRIPTION">DESCRIPTION</a></H2><PRE>
+</PRE><H3><a name="h3-unctrl">unctrl</a></H3><PRE>
+ The <STRONG>unctrl</STRONG> routine returns a character string which is a printable rep-
+ resentation of the character <EM>c</EM>, ignoring attributes. Control charac-
+ ters are displayed in the <STRONG>^</STRONG><EM>X</EM> notation. Printing characters are dis-
+ played as is. The corresponding <STRONG>wunctrl</STRONG> returns a printable represen-
+ tation of a wide character.
-</PRE>
-<H2>RETURN VALUE</H2><PRE>
- Except for <STRONG>flushinp</STRONG>, routines that return an integer re-
- turn <STRONG>ERR</STRONG> upon failure and <STRONG>OK</STRONG> (SVr4 specifies only "an in-
- teger value other than <STRONG>ERR</STRONG>") upon successful completion.
+
+</PRE><H3><a name="h3-keyname_key_name">keyname/key_name</a></H3><PRE>
+ The <STRONG>keyname</STRONG> routine returns a character string corresponding to the key
+ <EM>c</EM>:
+
+ <STRONG>o</STRONG> Printable characters are displayed as themselves, e.g., a one-char-
+ acter string containing the key.
+
+ <STRONG>o</STRONG> Control characters are displayed in the <STRONG>^</STRONG><EM>X</EM> notation.
+
+ <STRONG>o</STRONG> DEL (character 127) is displayed as <STRONG>^?</STRONG>.
+
+ <STRONG>o</STRONG> Values above 128 are either meta characters (if the screen has not
+ been initialized, or if <STRONG><A HREF="curs_inopts.3x.html">meta(3x)</A></STRONG> has been called with a <STRONG>TRUE</STRONG> param-
+ eter), shown in the <STRONG>M-</STRONG><EM>X</EM> notation, or are displayed as themselves.
+ In the latter case, the values may not be printable; this follows
+ the X/Open specification.
+
+ <STRONG>o</STRONG> Values above 256 may be the names of the names of function keys.
+
+ <STRONG>o</STRONG> Otherwise (if there is no corresponding name) the function returns
+ null, to denote an error. X/Open also lists an "UNKNOWN KEY" re-
+ turn value, which some implementations return rather than null.
+
+ The corresponding <STRONG>key_name</STRONG> returns a character string corresponding to
+ the wide-character value <EM>w</EM>. The two functions do not return the same
+ set of strings; the latter returns null where the former would display
+ a meta character.
+
+
+</PRE><H3><a name="h3-filter_nofilter">filter/nofilter</a></H3><PRE>
+ The <STRONG>filter</STRONG> routine, if used, must be called before <STRONG>initscr</STRONG> or <STRONG>newterm</STRONG>
+ are called. Calling <STRONG>filter</STRONG> causes these changes in initialization:
+
+ <STRONG>o</STRONG> <STRONG>LINES</STRONG> is set to 1;
+
+ <STRONG>o</STRONG> the capabilities <STRONG>clear</STRONG>, <STRONG>cud1</STRONG>, <STRONG>cud</STRONG>, <STRONG>cup</STRONG>, <STRONG>cuu1</STRONG>, <STRONG>cuu</STRONG>, <STRONG>vpa</STRONG> are dis-
+ abled;
+
+ <STRONG>o</STRONG> the capability <STRONG>ed</STRONG> is disabled if <STRONG>bce</STRONG> is set;
+
+ <STRONG>o</STRONG> and the <STRONG>home</STRONG> string is set to the value of <STRONG>cr</STRONG>.
+
+ The <STRONG>nofilter</STRONG> routine cancels the effect of a preceding <STRONG>filter</STRONG> call.
+ That allows the caller to initialize a screen on a different device,
+ using a different value of <STRONG>$TERM</STRONG>. The limitation arises because the
+ <STRONG>filter</STRONG> routine modifies the in-memory copy of the terminal information.
+
+
+</PRE><H3><a name="h3-use_env">use_env</a></H3><PRE>
+ The <STRONG>use_env</STRONG> routine, if used, should be called before <STRONG>initscr</STRONG> or
+ <STRONG>newterm</STRONG> are called (because those compute the screen size). It modi-
+ fies the way <STRONG>ncurses</STRONG> treats environment variables when determining the
+ screen size.
+
+ <STRONG>o</STRONG> Normally <STRONG>ncurses</STRONG> looks first at the terminal database for the
+ screen size.
+
+ If <STRONG>use_env</STRONG> was called with <STRONG>FALSE</STRONG> for parameter, it stops here un-
+ less <STRONG>use_tioctl</STRONG> was also called with <STRONG>TRUE</STRONG> for parameter.
+
+ <STRONG>o</STRONG> Then it asks for the screen size via operating system calls. If
+ successful, it overrides the values from the terminal database.
+
+ <STRONG>o</STRONG> Finally (unless <STRONG>use_env</STRONG> was called with <STRONG>FALSE</STRONG> parameter), <STRONG>ncurses</STRONG>
+ examines the <STRONG>LINES</STRONG> or <STRONG>COLUMNS</STRONG> environment variables, using a value
+ in those to override the results from the operating system or ter-
+ minal database.
+
+ <STRONG>Ncurses</STRONG> also updates the screen size in response to <STRONG>SIGWINCH</STRONG>, un-
+ less overridden by the <STRONG>LINES</STRONG> or <STRONG>COLUMNS</STRONG> environment variables,
+
+
+</PRE><H3><a name="h3-use_tioctl">use_tioctl</a></H3><PRE>
+ The <STRONG>use_tioctl</STRONG> routine, if used, should be called before <STRONG>initscr</STRONG> or
+ <STRONG>newterm</STRONG> are called (because those compute the screen size). After
+ <STRONG>use_tioctl</STRONG> is called with <STRONG>TRUE</STRONG> as an argument, <STRONG>ncurses</STRONG> modifies the
+ last step in its computation of screen size as follows:
+
+ <STRONG>o</STRONG> checks if the <STRONG>LINES</STRONG> and <STRONG>COLUMNS</STRONG> environment variables are set to a
+ number greater than zero.
+
+ <STRONG>o</STRONG> for each, <STRONG>ncurses</STRONG> updates the corresponding environment variable
+ with the value that it has obtained via operating system call or
+ from the terminal database.
+
+ <STRONG>o</STRONG> <STRONG>ncurses</STRONG> re-fetches the value of the environment variables so that
+ it is still the environment variables which set the screen size.
+
+ The <STRONG>use_env</STRONG> and <STRONG>use_tioctl</STRONG> routines combine as summarized here:
+
+ <EM>use</EM><STRONG>_</STRONG><EM>env</EM> <EM>use</EM><STRONG>_</STRONG><EM>tioctl</EM> <EM>Summary</EM>
+ ----------------------------------------------------------------
+ TRUE FALSE This is the default behavior. <STRONG>ncurses</STRONG>
+ uses operating system calls unless over-
+ ridden by $LINES or $COLUMNS environment
+ variables.
+ TRUE TRUE <STRONG>ncurses</STRONG> updates $LINES and $COLUMNS
+ based on operating system calls.
+ FALSE TRUE <STRONG>ncurses</STRONG> ignores $LINES and $COLUMNS, us-
+ es operating system calls to obtain
+ size.
+ FALSE FALSE <STRONG>ncurses</STRONG> relies on the terminal database
+ to determine size.
+
+
+</PRE><H3><a name="h3-putwin_getwin">putwin/getwin</a></H3><PRE>
+ The <STRONG>putwin</STRONG> routine writes all data associated with window (or pad) <EM>win</EM>
+ into the file to which <EM>filep</EM> points. This information can be later re-
+ trieved using the <STRONG>getwin</STRONG> function.
+
+ The <STRONG>getwin</STRONG> routine reads window related data stored in the file by
+ <STRONG>putwin</STRONG>. The routine then creates and initializes a new window using
+ 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 associ-
+ ated character cells. The format differs between the wide-charac-
+ ter (<STRONG>ncursesw</STRONG>) and non-wide (<STRONG>ncurses</STRONG>) libraries. You can transfer
+ data between the two, however.
+
+ <STRONG>o</STRONG> the retrieved window is always created as a top-level window (or
+ pad), rather than a subwindow.
+
+ <STRONG>o</STRONG> the window's character cells contain the color pair <EM>value</EM>, but not
+ the actual color <EM>numbers</EM>. If cells in the retrieved window use
+ color pairs which have not been created in the application using
+ <STRONG>init_pair</STRONG>, they will not be colored when the window is refreshed.
+
+
+</PRE><H3><a name="h3-delay_output">delay_output</a></H3><PRE>
+ The <STRONG>delay_output</STRONG> routine inserts an <EM>ms</EM> millisecond pause in output.
+ This routine should not be used extensively because padding characters
+ are used rather than a CPU pause. If no padding character is speci-
+ fied, this uses <STRONG>napms</STRONG> to perform the delay.
+
+
+</PRE><H3><a name="h3-flushinp">flushinp</a></H3><PRE>
+ The <STRONG>flushinp</STRONG> routine throws away any typeahead that has been typed by
+ the user and has not yet been read by the program.
+
+
+</PRE><H2><a name="h2-RETURN-VALUE">RETURN VALUE</a></H2><PRE>
+ Except for <STRONG>flushinp</STRONG>, routines that return an integer return <STRONG>ERR</STRONG> upon
+ failure and <STRONG>OK</STRONG> (SVr4 specifies only "an integer value other than <STRONG>ERR</STRONG>")
+ upon successful completion.
Routines that return pointers return <STRONG>NULL</STRONG> on error.
- X/Open does not define any error conditions. In this im-
- plementation
+ X/Open does not define any error conditions. In this implementation
<STRONG>flushinp</STRONG>
- returns an error if the terminal was not initial-
- ized.
-
- <STRONG>meta</STRONG> returns an error if the terminal was not initial-
- ized.
+ returns an error if the terminal was not initialized.
<STRONG>putwin</STRONG>
- returns an error if the associated <STRONG>fwrite</STRONG> calls
- return an error.
+ returns an error if the associated <STRONG>fwrite</STRONG> calls return an er-
+ ror.
+
+
+</PRE><H2><a name="h2-PORTABILITY">PORTABILITY</a></H2><PRE>
+
+</PRE><H3><a name="h3-filter">filter</a></H3><PRE>
+ The SVr4 documentation describes the action of <STRONG>filter</STRONG> only in the
+ vaguest terms. The description here is adapted from the XSI Curses
+ standard (which erroneously fails to describe the disabling of <STRONG>cuu</STRONG>).
+
+
+</PRE><H3><a name="h3-keyname">keyname</a></H3><PRE>
+ The <STRONG>keyname</STRONG> function may return the names of user-defined string capa-
+ bilities which are defined in the terminfo entry via the <STRONG>-x</STRONG> option of
+ <STRONG>tic</STRONG>. This implementation automatically assigns at run-time keycodes to
+ user-defined strings which begin with "k". The keycodes start at
+ KEY_MAX, but are not guaranteed to be the same value for different runs
+ because user-defined codes are merged from all terminal descriptions
+ which have been loaded. The <STRONG><A HREF="curs_extend.3x.html">use_extended_names(3x)</A></STRONG> function controls
+ whether this data is loaded when the terminal description is read by
+ the library.
-</PRE>
-<H2>PORTABILITY</H2><PRE>
- The XSI Curses standard, Issue 4 describes these func-
- tions. It states that <STRONG>unctrl</STRONG> and <STRONG>wunctrl</STRONG> will return a
- null pointer if unsuccessful, but does not define any er-
- ror conditions. This implementation checks for three cas-
- es:
-
- <STRONG>o</STRONG> the parameter is a 7-bit US-ASCII code. This is
- the case that X/Open Curses documented.
-
- <STRONG>o</STRONG> the parameter is in the range 128-159, i.e., a C1
- control code. If <STRONG>use_legacy_coding</STRONG> has been called
- with a <STRONG>2</STRONG> parameter, <STRONG>unctrl</STRONG> returns the parameter,
- i.e., a one-character string with the parameter as
- the first character. Otherwise, it returns "~@",
- "~A", etc., analogous to "^@", "^A", C0 controls.
-
- X/Open Curses does not document whether <STRONG>unctrl</STRONG> can
- be called before initializing curses. This imple-
- mentation permits that, and returns the "~@", etc.,
- values in that case.
-
- <STRONG>o</STRONG> parameter values outside the 0 to 255 range. <STRONG>unc-</STRONG>
- <STRONG>trl</STRONG> returns a null pointer.
-
- The SVr4 documentation describes the action of <STRONG>filter</STRONG> only
- in the vaguest terms. The description here is adapted
- from the XSI Curses standard (which erroneously fails to
- describe the disabling of <STRONG>cuu</STRONG>).
-
- The strings returned by <STRONG>unctrl</STRONG> in this implementation are
- determined at compile time, showing C1 controls from the
- upper-128 codes with a `~' prefix rather than `^'. Other
- implementations have different conventions. For example,
- they may show both sets of control characters with `^',
- and strip the parameter to 7 bits. Or they may ignore C1
- controls and treat all of the upper-128 codes as print-
- able. This implementation uses 8 bits but does not modify
- the string to reflect locale. The <STRONG>use_legacy_coding</STRONG> func-
- tion allows the caller to change the output of <STRONG>unctrl</STRONG>.
-
- Likewise, the <STRONG>meta</STRONG> function allows the caller to change
- the output of <STRONG>keyname</STRONG>, i.e., it determines whether to use
- the `M-' prefix for "meta" keys (codes in the range 128 to
- 255). Both <STRONG>use_legacy_coding</STRONG> and <STRONG>meta</STRONG> succeed only after
- curses is initialized. X/Open Curses does not document
- the treatment of codes 128 to 159. When treating them as
- "meta" keys (or if <STRONG>keyname</STRONG> is called before initializing
- curses), this implementation returns strings "M-^@",
- "M-^A", etc.
-
- The <STRONG>keyname</STRONG> function may return the names of user-defined
- string capabilities which are defined in the terminfo en-
- try via the <STRONG>-x</STRONG> option of <STRONG>tic</STRONG>. This implementation auto-
- matically assigns at run-time keycodes to user-defined
- strings which begin with "k". The keycodes start at
- KEY_MAX, but are not guaranteed to be the same value for
- different runs because user-defined codes are merged from
- all terminal descriptions which have been loaded. The
- <STRONG>use_extended_names</STRONG> function controls whether this data is
- loaded when the terminal description is read by the li-
- brary.
-
- The <STRONG>nofilter</STRONG> and <STRONG>use_tioctl</STRONG> routines are specific to
- ncurses. They were not supported on Version 7, BSD or
- System V implementations. It is recommended that any code
- depending on ncurses extensions be conditioned using
- NCURSES_VERSION.
+</PRE><H3><a name="h3-nofilter_use_tioctl">nofilter/use_tioctl</a></H3><PRE>
+ The <STRONG>nofilter</STRONG> and <STRONG>use_tioctl</STRONG> routines are specific to <STRONG>ncurses</STRONG>. They
+ were not supported on Version 7, BSD or System V implementations. It
+ is recommended that any code depending on <STRONG>ncurses</STRONG> extensions be condi-
+ tioned using NCURSES_VERSION.
-</PRE>
-<H2>SEE ALSO</H2><PRE>
- <STRONG><A HREF="legacy_coding.3x.html">legacy_coding(3x)</A></STRONG>, <STRONG><A HREF="ncurses.3x.html">curses(3x)</A></STRONG>, <STRONG><A HREF="curs_initscr.3x.html">curs_initscr(3x)</A></STRONG>, <STRONG>curs_ker-</STRONG>
- <STRONG><A HREF="curs_kernel.3x.html">nel(3x)</A></STRONG>, <STRONG><A HREF="curs_scr_dump.3x.html">curs_scr_dump(3x)</A></STRONG>, <STRONG><A HREF="curs_variables.3x.html">curs_variables(3x)</A></STRONG>, <STRONG>lega-</STRONG>
- <STRONG><A HREF="legacy_coding.3x.html">cy_coding(3x)</A></STRONG>.
+</PRE><H3><a name="h3-putwin_getwin">putwin/getwin</a></H3><PRE>
+ The <STRONG>putwin</STRONG> and <STRONG>getwin</STRONG> functions have several issues with portability:
+
+ <STRONG>o</STRONG> The files written and read by these functions use an implementa-
+ tion-specific format. Although the format is an obvious target for
+ standardization, it has been overlooked.
+
+ Interestingly enough, according to the copyright dates in Solaris
+ source, the functions (along with <STRONG>scr_init</STRONG>, etc.) originated with
+ 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.
+
+ <STRONG>o</STRONG> Most implementations simply dump the binary <STRONG>WINDOW</STRONG> structure to the
+ file. These include SVr4 curses, NetBSD and PDCurses, as well as
+ older <STRONG>ncurses</STRONG> versions. This implementation (as well as the X/Open
+ variant of Solaris curses, dated 1995) uses textual dumps.
+
+ The implementations which use binary dumps use block-I/O (the
+ <STRONG>fwrite</STRONG> and <STRONG>fread</STRONG> functions). Those that use textual dumps use
+ buffered-I/O. A few applications may happen to write extra data in
+ the file using these functions. Doing that can run into problems
+ mixing block- and buffered-I/O. This implementation reduces the
+ problem on writes by flushing the output. However, reading from a
+ file written using mixed schemes may not be successful.
+
+
+</PRE><H3><a name="h3-unctrl_wunctrl">unctrl/wunctrl</a></H3><PRE>
+ The XSI Curses standard, Issue 4 describes these functions. It states
+ that <STRONG>unctrl</STRONG> and <STRONG>wunctrl</STRONG> will return a null pointer if unsuccessful, but
+ does not define any error conditions. This implementation checks for
+ three cases:
+
+ <STRONG>o</STRONG> the parameter is a 7-bit US-ASCII code. This is the case that
+ X/Open Curses documented.
+
+ <STRONG>o</STRONG> the parameter is in the range 128-159, i.e., a C1 control code. If
+ <STRONG>use_legacy_coding</STRONG> has been called with a <STRONG>2</STRONG> parameter, <STRONG>unctrl</STRONG> re-
+ turns the parameter, i.e., a one-character string with the parame-
+ ter as the first character. Otherwise, it returns "~@", "~A",
+ etc., analogous to "^@", "^A", C0 controls.
+
+ X/Open Curses does not document whether <STRONG>unctrl</STRONG> can be called before
+ initializing curses. This implementation permits that, and returns
+ the "~@", etc., values in that case.
+
+ <STRONG>o</STRONG> parameter values outside the 0 to 255 range. <STRONG>unctrl</STRONG> returns a null
+ pointer.
+
+ The strings returned by <STRONG>unctrl</STRONG> in this implementation are determined at
+ compile time, showing C1 controls from the upper-128 codes with a "~"
+ prefix rather than "^". Other implementations have different conven-
+ tions. For example, they may show both sets of control characters with
+ "^", and strip the parameter to 7 bits. Or they may ignore C1 controls
+ and treat all of the upper-128 codes as printable. This implementation
+ uses 8 bits but does not modify the string to reflect locale. The
+ <STRONG>use_legacy_coding</STRONG> function allows the caller to change the output of
+ <STRONG>unctrl</STRONG>.
+
+ Likewise, the <STRONG><A HREF="curs_inopts.3x.html">meta(3x)</A></STRONG> function allows the caller to change the output
+ of <STRONG>keyname</STRONG>, i.e., it determines whether to use the "M-" prefix for
+ "meta" keys (codes in the range 128 to 255). Both <STRONG>use_legacy_coding</STRONG>
+ and <STRONG>meta</STRONG> succeed only after curses is initialized. X/Open Curses does
+ not document the treatment of codes 128 to 159. When treating them as
+ "meta" keys (or if <STRONG>keyname</STRONG> is called before initializing curses), this
+ implementation returns strings "M-^@", "M-^A", etc.
+ X/Open Curses documents <STRONG>unctrl</STRONG> as declared in <STRONG>&lt;unctrl.h&gt;</STRONG>, which <STRONG>ncurses</STRONG>
+ does. However, <STRONG>ncurses</STRONG>' <STRONG>&lt;curses.h&gt;</STRONG> includes <STRONG>&lt;unctrl.h&gt;</STRONG>, matching the
+ behavior of SVr4 curses. Other implementations may not do that.
- <STRONG><A HREF="curs_util.3x.html">curs_util(3x)</A></STRONG>
+</PRE><H3><a name="h3-use_env_use_tioctl">use_env/use_tioctl</a></H3><PRE>
+ If <STRONG>ncurses</STRONG> is configured to provide the sp-functions extension, the
+ state of <STRONG>use_env</STRONG> and <STRONG>use_tioctl</STRONG> may be updated before creating each
+ <EM>screen</EM> rather than once only (<STRONG><A HREF="curs_sp_funcs.3x.html">curs_sp_funcs(3x)</A></STRONG>). This feature of
+ <STRONG>use_env</STRONG> is not provided by other implementation of curses.
+
+
+</PRE><H2><a name="h2-SEE-ALSO">SEE ALSO</a></H2><PRE>
+ <STRONG><A HREF="legacy_coding.3x.html">legacy_coding(3x)</A></STRONG>, <STRONG><A HREF="ncurses.3x.html">curses(3x)</A></STRONG>, <STRONG><A HREF="curs_initscr.3x.html">curs_initscr(3x)</A></STRONG>, <STRONG><A HREF="curs_inopts.3x.html">curs_inopts(3x)</A></STRONG>,
+ <STRONG><A HREF="curs_kernel.3x.html">curs_kernel(3x)</A></STRONG>, <STRONG><A HREF="curs_scr_dump.3x.html">curs_scr_dump(3x)</A></STRONG>, <STRONG><A HREF="curs_sp_funcs.3x.html">curs_sp_funcs(3x)</A></STRONG>, <STRONG>curs_vari-</STRONG>
+ <STRONG><A HREF="curs_variables.3x.html">ables(3x)</A></STRONG>, <STRONG><A HREF="legacy_coding.3x.html">legacy_coding(3x)</A></STRONG>.
+
+
+
+ <STRONG><A HREF="curs_util.3x.html">curs_util(3x)</A></STRONG>
</PRE>
-<HR>
-<ADDRESS>
-Man(1) output converted with
-<a href="http://www.oac.uci.edu/indiv/ehood/man2html.html">man2html</a>
-</ADDRESS>
+<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>
+<ul>
+<li><a href="#h3-unctrl">unctrl</a></li>
+<li><a href="#h3-keyname_key_name">keyname/key_name</a></li>
+<li><a href="#h3-filter_nofilter">filter/nofilter</a></li>
+<li><a href="#h3-use_env">use_env</a></li>
+<li><a href="#h3-use_tioctl">use_tioctl</a></li>
+<li><a href="#h3-putwin_getwin">putwin/getwin</a></li>
+<li><a href="#h3-delay_output">delay_output</a></li>
+<li><a href="#h3-flushinp">flushinp</a></li>
+</ul>
+</li>
+<li><a href="#h2-RETURN-VALUE">RETURN VALUE</a></li>
+<li><a href="#h2-PORTABILITY">PORTABILITY</a>
+<ul>
+<li><a href="#h3-filter">filter</a></li>
+<li><a href="#h3-keyname">keyname</a></li>
+<li><a href="#h3-nofilter_use_tioctl">nofilter/use_tioctl</a></li>
+<li><a href="#h3-putwin_getwin">putwin/getwin</a></li>
+<li><a href="#h3-unctrl_wunctrl">unctrl/wunctrl</a></li>
+<li><a href="#h3-use_env_use_tioctl">use_env/use_tioctl</a></li>
+</ul>
+</li>
+<li><a href="#h2-SEE-ALSO">SEE ALSO</a></li>
+</ul>
+</div>
</BODY>
</HTML>
diff --git a/doc/html/man/curs_variables.3x.html b/doc/html/man/curs_variables.3x.html
index 4c407892cab8..afeca3b21e89 100644
--- a/doc/html/man/curs_variables.3x.html
+++ b/doc/html/man/curs_variables.3x.html
@@ -1,7 +1,6 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN">
<!--
****************************************************************************
- * Copyright (c) 2010,2013 Free Software Foundation, Inc. *
+ * Copyright (c) 2010-2018,2019 Free Software Foundation, Inc. *
* *
* Permission is hereby granted, free of charge, to any person obtaining a *
* copy of this software and associated documentation files (the *
@@ -27,32 +26,31 @@
* sale, use or other dealings in this Software without prior written *
* authorization. *
****************************************************************************
- * @Id: curs_variables.3x,v 1.6 2013/12/21 18:41:32 tom Exp @
+ * @Id: curs_variables.3x,v 1.13 2019/06/01 22:51:21 tom Exp @
-->
+<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN">
<HTML>
<HEAD>
+<meta http-equiv="Content-Type" content="text/html; charset=us-ascii">
+<meta name="generator" content="Manpage converted by man2html - see https://invisible-island.net/scripts/readme.html#others_scripts">
<TITLE>curs_variables 3x</TITLE>
-<link rev=made href="mailto:bug-ncurses@gnu.org">
+<link rel="author" href="mailto:bug-ncurses@gnu.org">
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
</HEAD>
<BODY>
-<H1>curs_variables 3x</H1>
-<HR>
+<H1 class="no-header">curs_variables 3x</H1>
<PRE>
-<!-- Manpage converted by man2html 3.0.1 -->
-<STRONG><A HREF="curs_variables.3x.html">curs_variables(3x)</A></STRONG> <STRONG><A HREF="curs_variables.3x.html">curs_variables(3x)</A></STRONG>
+<STRONG><A HREF="curs_variables.3x.html">curs_variables(3x)</A></STRONG> <STRONG><A HREF="curs_variables.3x.html">curs_variables(3x)</A></STRONG>
-</PRE>
-<H2>NAME</H2><PRE>
- <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> - <STRONG>curses</STRONG> global variables
+</PRE><H2><a name="h2-NAME">NAME</a></H2><PRE>
+ <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> - <STRONG>curses</STRONG> global variables
-</PRE>
-<H2>SYNOPSIS</H2><PRE>
+</PRE><H2><a name="h2-SYNOPSIS">SYNOPSIS</a></H2><PRE>
<STRONG>#include</STRONG> <STRONG>&lt;curses.h&gt;</STRONG>
<STRONG>int</STRONG> <STRONG>COLOR_PAIRS;</STRONG>
@@ -66,99 +64,156 @@
<STRONG>WINDOW</STRONG> <STRONG>*</STRONG> <STRONG>stdscr;</STRONG>
-</PRE>
-<H2>DESCRIPTION</H2><PRE>
- This page summarizes variables provided by the <STRONG>curses</STRONG> li-
- brary. A more complete description is given in the <STRONG>curs-</STRONG>
- <STRONG><A HREF="ncurses.3x.html">es(3x)</A></STRONG> manual page.
-
- Depending on the configuration, these may be actual vari-
- ables, or macros (see <STRONG><A HREF="curs_threads.3x.html">curs_threads(3x)</A></STRONG> and
- <STRONG><A HREF="curs_opaque.3x.html">curs_opaque(3x)</A></STRONG>) which provide read-only access to <EM>curs-</EM>
- <EM>es</EM>'s state. In either case, applications should treat
- them as read-only to avoid confusing the library.
-
- <STRONG>COLOR_PAIRS</STRONG>
- After initializing curses, this variable contains the num-
- ber of color pairs which the terminal can support. Usual-
- ly the number of color pairs will be the product <STRONG>COL-</STRONG>
- <STRONG>ORS</STRONG>*<STRONG>COLORS</STRONG>, however this is not always true:
-
- <STRONG>o</STRONG> a few terminals use HLS colors, which do not follow
- this rule
-
- <STRONG>o</STRONG> terminals supporting a large number of colors are lim-
- ited by the number of color pairs that can be repre-
- sented in a <EM>signed</EM> <EM>short</EM> value.
-
- <STRONG>COLORS</STRONG>
- After initializing curses, this variable contains the num-
- ber of colors which the terminal can support.
-
- <STRONG>COLS</STRONG>
- After initializing curses, this variable contains the
- width of the screen, i.e., the number of columns.
-
- <STRONG>ESCDELAY</STRONG>
- This variable holds the number of milliseconds to wait af-
- ter reading an escape character, to distinguish between an
- individual escape character entered on the keyboard from
- escape sequences sent by cursor- and function-keys (see
- <STRONG><A HREF="ncurses.3x.html">curses(3x)</A></STRONG>.
-
- <STRONG>LINES</STRONG>
- After initializing curses, this variable contains the
- height of the screen, i.e., the number of lines.
-
- <STRONG>TABSIZE</STRONG>
- This variable holds the number of columns used by the
- <EM>curses</EM> library when converting a tab character to spaces
- as it adds the tab to a window (see <STRONG><A HREF="curs_addch.3x.html">curs_addch(3x)</A></STRONG>.
-
- <STRONG>The</STRONG> <STRONG>Current</STRONG> <STRONG>Screen</STRONG>
- This implementation of curses uses a special window <STRONG>curscr</STRONG>
- to record its updates to the terminal screen.
-
- <STRONG>The</STRONG> <STRONG>New</STRONG> <STRONG>Screen</STRONG>
- This implementation of curses uses a special window <STRONG>newscr</STRONG>
- to hold updates to the terminal screen before applying
- them to <STRONG>curscr</STRONG>.
-
- <STRONG>The</STRONG> <STRONG>Standard</STRONG> <STRONG>Screen</STRONG>
- Upon initializing curses, a default window called <STRONG>stdscr</STRONG>,
- which is the size of the terminal screen, is created.
- Many curses functions use this window.
+</PRE><H2><a name="h2-DESCRIPTION">DESCRIPTION</a></H2><PRE>
+ This page summarizes variables provided by the <STRONG>curses</STRONG> library. A more
+ complete description is given in the <STRONG><A HREF="ncurses.3x.html">curses(3x)</A></STRONG> manual page.
+ Depending on the configuration, these may be actual variables, or
+ macros (see <STRONG><A HREF="curs_threads.3x.html">curs_threads(3x)</A></STRONG> and <STRONG><A HREF="curs_opaque.3x.html">curs_opaque(3x)</A></STRONG>) which provide read-
+ only access to <EM>curses</EM>'s state. In either case, applications should
+ treat them as read-only to avoid confusing the library.
-</PRE>
-<H2>NOTES</H2><PRE>
- The curses library is initialized using either
- <STRONG><A HREF="curs_initscr.3x.html">curs_initscr(3x)</A></STRONG>, or <STRONG><A HREF="curs_initscr.3x.html">curs_initscr(3x)</A></STRONG>.
- If <STRONG>curses</STRONG> is configured to use separate curses/terminfo
- libraries, most of these variables reside in the curses
- library.
+</PRE><H3><a name="h3-COLOR_PAIRS">COLOR_PAIRS</a></H3><PRE>
+ After initializing curses, this variable contains the number of color
+ pairs which the terminal can support. Usually the number of color
+ pairs will be the product <STRONG>COLORS</STRONG>*<STRONG>COLORS</STRONG>, however this is not always
+ true:
+ <STRONG>o</STRONG> a few terminals use HLS colors, which do not follow this rule
-</PRE>
-<H2>PORTABILITY</H2><PRE>
- ESCDELAY and TABSIZE are extensions, not provided in most
- other implementations of curses.
+ <STRONG>o</STRONG> terminals supporting a large number of colors are limited by the
+ number of color pairs that can be represented in a <EM>signed</EM> <EM>short</EM>
+ value.
-</PRE>
-<H2>SEE ALSO</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>.
+</PRE><H3><a name="h3-COLORS">COLORS</a></H3><PRE>
+ After initializing curses, this variable contains the number of colors
+ which the terminal can support.
+
+
+</PRE><H3><a name="h3-COLS">COLS</a></H3><PRE>
+ After initializing curses, this variable contains the width of the
+ screen, i.e., the number of columns.
+
+
+</PRE><H3><a name="h3-ESCDELAY">ESCDELAY</a></H3><PRE>
+ This variable holds the number of milliseconds to wait after reading an
+ escape character, to distinguish between an individual escape character
+ entered on the keyboard from escape sequences sent by cursor- and func-
+ tion-keys (see <STRONG><A HREF="ncurses.3x.html">curses(3x)</A></STRONG>).
+
+
+</PRE><H3><a name="h3-LINES">LINES</a></H3><PRE>
+ After initializing curses, this variable contains the height of the
+ screen, i.e., the number of lines.
+
+
+</PRE><H3><a name="h3-TABSIZE">TABSIZE</a></H3><PRE>
+ This variable holds the number of columns used by the <EM>curses</EM> library
+ when converting a tab character to spaces as it adds the tab to a win-
+ dow (see <STRONG><A HREF="curs_addch.3x.html">curs_addch(3x)</A></STRONG>.
+
+
+</PRE><H3><a name="h3-The-Current-Screen">The Current Screen</a></H3><PRE>
+ This implementation of curses uses a special window <STRONG>curscr</STRONG> to record
+ its updates to the terminal screen.
+
+ This is referred to as the "physical screen" in the <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> manual pages.
+
+
+</PRE><H3><a name="h3-The-New-Screen">The New Screen</a></H3><PRE>
+ This implementation of curses uses a special window <STRONG>newscr</STRONG> to hold up-
+ dates to the terminal screen before applying them to <STRONG>curscr</STRONG>.
+
+ This 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> manual pages.
+
+
+</PRE><H3><a name="h3-The-Standard-Screen">The Standard Screen</a></H3><PRE>
+ Upon initializing curses, a default window called <STRONG>stdscr</STRONG>, which is the
+ size of the terminal screen, is created. Many curses functions use
+ this window.
+
+
+</PRE><H2><a name="h2-NOTES">NOTES</a></H2><PRE>
+ The curses library is initialized using either <STRONG><A HREF="curs_initscr.3x.html">initscr(3x)</A></STRONG>, or
+ <STRONG><A HREF="curs_initscr.3x.html">newterm(3x)</A></STRONG>.
+
+ If <STRONG>curses</STRONG> is configured to use separate curses/terminfo libraries, most
+ of these variables reside in the curses library.
+
+
+</PRE><H2><a name="h2-PORTABILITY">PORTABILITY</a></H2><PRE>
+ <STRONG>TABSIZE</STRONG> is a feature of SVr4 curses which is not documented by X/Open
+ curses.
+
+ <STRONG>o</STRONG> In SVr4 curses, <STRONG>TABSIZE</STRONG> is initially set from the terminal descrip-
+ tion's <STRONG>init_tabs</STRONG> capability. After that, it can be altered by the
+ applications using SVr4 curses.
+
+ SVr4 curses uses the current value of <STRONG>TABSIZE</STRONG> to compute the posi-
+ tion of tabstops for updating both the virtual screen with <STRONG>add-</STRONG>
+ <STRONG><A HREF="addch.3x.html">ch(3x)</A></STRONG> as well as the physical screen with <STRONG><A HREF="curs_terminfo.3x.html">mvcur(3x)</A></STRONG>.
+
+ <STRONG>o</STRONG> This implementation uses the current value of <STRONG>TABSIZE</STRONG> only for up-
+ dating the virtual screen. It uses the terminal description's <STRONG>it</STRONG>
+ (<STRONG>init_tabs</STRONG>) capability for computing hardware tabs (i.e., tab stops
+ on the physical screen).
+
+ <STRONG>o</STRONG> Other implementations differ. For instance, NetBSD curses allows
+ <STRONG>TABSIZE</STRONG> to be set through an environment variable. This implemen-
+ tation does not.
+
+ NetBSD curses does not support hardware tabs; it uses the <STRONG>init_tabs</STRONG>
+ capability and the <STRONG>TABSIZE</STRONG> variable only for updating the virtual
+ screen.
+
+ <STRONG>ESCDELAY</STRONG> is an extension in AIX curses:
+
+ <STRONG>o</STRONG> In AIX, the units for <STRONG>ESCDELAY</STRONG> are <EM>fifths</EM> of a millisecond.
+
+ <STRONG>o</STRONG> The default value for AIX's <STRONG>ESCDELAY</STRONG> is 0.1 seconds.
+
+ <STRONG>o</STRONG> AIX also enforces a limit of 10,000 seconds for <STRONG>ESCDELAY</STRONG>; this im-
+ plementation currently has no upper limit.
+
+ This implementation has long used <STRONG>ESCDELAY</STRONG> with units of milliseconds,
+ making it impossible to be completely compatible with AIX. Likewise,
+ most users have either decided to override the value, or rely upon its
+ default value.
+
+
+</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="curs_variables.3x.html">curs_variables(3x)</A></STRONG>
+ <STRONG><A HREF="curs_variables.3x.html">curs_variables(3x)</A></STRONG>
</PRE>
-<HR>
-<ADDRESS>
-Man(1) output converted with
-<a href="http://www.oac.uci.edu/indiv/ehood/man2html.html">man2html</a>
-</ADDRESS>
+<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>
+<ul>
+<li><a href="#h3-COLOR_PAIRS">COLOR_PAIRS</a></li>
+<li><a href="#h3-COLORS">COLORS</a></li>
+<li><a href="#h3-COLS">COLS</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-The-Current-Screen">The Current Screen</a></li>
+<li><a href="#h3-The-New-Screen">The New Screen</a></li>
+<li><a href="#h3-The-Standard-Screen">The Standard Screen</a></li>
+</ul>
+</li>
+<li><a href="#h2-NOTES">NOTES</a></li>
+<li><a href="#h2-PORTABILITY">PORTABILITY</a></li>
+<li><a href="#h2-SEE-ALSO">SEE ALSO</a></li>
+</ul>
+</div>
</BODY>
</HTML>
diff --git a/doc/html/man/curs_window.3x.html b/doc/html/man/curs_window.3x.html
index b98446a07da6..5c1edc65b488 100644
--- a/doc/html/man/curs_window.3x.html
+++ b/doc/html/man/curs_window.3x.html
@@ -1,7 +1,6 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN">
<!--
****************************************************************************
- * Copyright (c) 1998-2006,2010 Free Software Foundation, Inc. *
+ * Copyright (c) 1998-2015,2016 Free Software Foundation, Inc. *
* *
* Permission is hereby granted, free of charge, to any person obtaining a *
* copy of this software and associated documentation files (the *
@@ -27,190 +26,231 @@
* sale, use or other dealings in this Software without prior written *
* authorization. *
****************************************************************************
- * @Id: curs_window.3x,v 1.17 2010/12/04 18:38:55 tom Exp @
+ * @Id: curs_window.3x,v 1.20 2016/10/15 17:26:09 tom Exp @
-->
+<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN">
<HTML>
<HEAD>
+<meta http-equiv="Content-Type" content="text/html; charset=us-ascii">
+<meta name="generator" content="Manpage converted by man2html - see https://invisible-island.net/scripts/readme.html#others_scripts">
<TITLE>curs_window 3x</TITLE>
-<link rev=made href="mailto:bug-ncurses@gnu.org">
+<link rel="author" href="mailto:bug-ncurses@gnu.org">
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
</HEAD>
<BODY>
-<H1>curs_window 3x</H1>
-<HR>
+<H1 class="no-header">curs_window 3x</H1>
<PRE>
-<!-- Manpage converted by man2html 3.0.1 -->
-<STRONG><A HREF="curs_window.3x.html">curs_window(3x)</A></STRONG> <STRONG><A HREF="curs_window.3x.html">curs_window(3x)</A></STRONG>
+<STRONG><A HREF="curs_window.3x.html">curs_window(3x)</A></STRONG> <STRONG><A HREF="curs_window.3x.html">curs_window(3x)</A></STRONG>
-</PRE>
-<H2>NAME</H2><PRE>
- <STRONG>newwin</STRONG>, <STRONG>delwin</STRONG>, <STRONG>mvwin</STRONG>, <STRONG>subwin</STRONG>, <STRONG>derwin</STRONG>, <STRONG>mvderwin</STRONG>, <STRONG>dupwin</STRONG>,
- <STRONG>wsyncup</STRONG>, <STRONG>syncok</STRONG>, <STRONG>wcursyncup</STRONG>, <STRONG>wsyncdown</STRONG> - create <STRONG>curses</STRONG>
- windows
+</PRE><H2><a name="h2-NAME">NAME</a></H2><PRE>
+ <STRONG>newwin</STRONG>, <STRONG>delwin</STRONG>, <STRONG>mvwin</STRONG>, <STRONG>subwin</STRONG>, <STRONG>derwin</STRONG>, <STRONG>mvderwin</STRONG>, <STRONG>dupwin</STRONG>, <STRONG>wsyncup</STRONG>,
+ <STRONG>syncok</STRONG>, <STRONG>wcursyncup</STRONG>, <STRONG>wsyncdown</STRONG> - create <STRONG>curses</STRONG> windows
-</PRE>
-<H2>SYNOPSIS</H2><PRE>
+</PRE><H2><a name="h2-SYNOPSIS">SYNOPSIS</a></H2><PRE>
<STRONG>#include</STRONG> <STRONG>&lt;curses.h&gt;</STRONG>
- <STRONG>WINDOW</STRONG> <STRONG>*newwin(int</STRONG> <STRONG>nlines,</STRONG> <STRONG>int</STRONG> <STRONG>ncols,</STRONG> <STRONG>int</STRONG> <STRONG>begin_y,</STRONG>
- <STRONG>int</STRONG> <STRONG>begin_x);</STRONG>
- <STRONG>int</STRONG> <STRONG>delwin(WINDOW</STRONG> <STRONG>*win);</STRONG>
- <STRONG>int</STRONG> <STRONG>mvwin(WINDOW</STRONG> <STRONG>*win,</STRONG> <STRONG>int</STRONG> <STRONG>y,</STRONG> <STRONG>int</STRONG> <STRONG>x);</STRONG>
- <STRONG>WINDOW</STRONG> <STRONG>*subwin(WINDOW</STRONG> <STRONG>*orig,</STRONG> <STRONG>int</STRONG> <STRONG>nlines,</STRONG> <STRONG>int</STRONG> <STRONG>ncols,</STRONG>
- <STRONG>int</STRONG> <STRONG>begin_y,</STRONG> <STRONG>int</STRONG> <STRONG>begin_x);</STRONG>
- <STRONG>WINDOW</STRONG> <STRONG>*derwin(WINDOW</STRONG> <STRONG>*orig,</STRONG> <STRONG>int</STRONG> <STRONG>nlines,</STRONG> <STRONG>int</STRONG> <STRONG>ncols,</STRONG>
- <STRONG>int</STRONG> <STRONG>begin_y,</STRONG> <STRONG>int</STRONG> <STRONG>begin_x);</STRONG>
- <STRONG>int</STRONG> <STRONG>mvderwin(WINDOW</STRONG> <STRONG>*win,</STRONG> <STRONG>int</STRONG> <STRONG>par_y,</STRONG> <STRONG>int</STRONG> <STRONG>par_x);</STRONG>
- <STRONG>WINDOW</STRONG> <STRONG>*dupwin(WINDOW</STRONG> <STRONG>*win);</STRONG>
- <STRONG>void</STRONG> <STRONG>wsyncup(WINDOW</STRONG> <STRONG>*win);</STRONG>
- <STRONG>int</STRONG> <STRONG>syncok(WINDOW</STRONG> <STRONG>*win,</STRONG> <STRONG>bool</STRONG> <STRONG>bf);</STRONG>
- <STRONG>void</STRONG> <STRONG>wcursyncup(WINDOW</STRONG> <STRONG>*win);</STRONG>
- <STRONG>void</STRONG> <STRONG>wsyncdown(WINDOW</STRONG> <STRONG>*win);</STRONG>
+ <STRONG>WINDOW</STRONG> <STRONG>*newwin(</STRONG>
+ <STRONG>int</STRONG> <EM>nlines</EM><STRONG>,</STRONG> <STRONG>int</STRONG> <EM>ncols</EM><STRONG>,</STRONG>
+ <STRONG>int</STRONG> <EM>begin</EM><STRONG>_</STRONG><EM>y</EM><STRONG>,</STRONG> <STRONG>int</STRONG> <EM>begin</EM><STRONG>_</STRONG><EM>x</EM><STRONG>);</STRONG>
+ <STRONG>int</STRONG> <STRONG>delwin(WINDOW</STRONG> <STRONG>*</STRONG><EM>win</EM><STRONG>);</STRONG>
+ <STRONG>int</STRONG> <STRONG>mvwin(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>WINDOW</STRONG> <STRONG>*subwin(WINDOW</STRONG> <STRONG>*</STRONG><EM>orig</EM><STRONG>,</STRONG>
+ <STRONG>int</STRONG> <EM>nlines</EM><STRONG>,</STRONG> <STRONG>int</STRONG> <EM>ncols</EM><STRONG>,</STRONG>
+ <STRONG>int</STRONG> <EM>begin</EM><STRONG>_</STRONG><EM>y</EM><STRONG>,</STRONG> <STRONG>int</STRONG> <EM>begin</EM><STRONG>_</STRONG><EM>x</EM><STRONG>);</STRONG>
+ <STRONG>WINDOW</STRONG> <STRONG>*derwin(WINDOW</STRONG> <STRONG>*</STRONG><EM>orig</EM><STRONG>,</STRONG>
+ <STRONG>int</STRONG> <EM>nlines</EM><STRONG>,</STRONG> <STRONG>int</STRONG> <EM>ncols</EM><STRONG>,</STRONG>
+ <STRONG>int</STRONG> <EM>begin</EM><STRONG>_</STRONG><EM>y</EM><STRONG>,</STRONG> <STRONG>int</STRONG> <EM>begin</EM><STRONG>_</STRONG><EM>x</EM><STRONG>);</STRONG>
+ <STRONG>int</STRONG> <STRONG>mvderwin(WINDOW</STRONG> <STRONG>*</STRONG><EM>win</EM><STRONG>,</STRONG> <STRONG>int</STRONG> <EM>par</EM><STRONG>_</STRONG><EM>y</EM><STRONG>,</STRONG> <STRONG>int</STRONG> <EM>par</EM><STRONG>_</STRONG><EM>x</EM><STRONG>);</STRONG>
+ <STRONG>WINDOW</STRONG> <STRONG>*dupwin(WINDOW</STRONG> <STRONG>*</STRONG><EM>win</EM><STRONG>);</STRONG>
+ <STRONG>void</STRONG> <STRONG>wsyncup(WINDOW</STRONG> <STRONG>*</STRONG><EM>win</EM><STRONG>);</STRONG>
+ <STRONG>int</STRONG> <STRONG>syncok(WINDOW</STRONG> <STRONG>*</STRONG><EM>win</EM><STRONG>,</STRONG> <STRONG>bool</STRONG> <EM>bf</EM><STRONG>);</STRONG>
+ <STRONG>void</STRONG> <STRONG>wcursyncup(WINDOW</STRONG> <STRONG>*</STRONG><EM>win</EM><STRONG>);</STRONG>
+ <STRONG>void</STRONG> <STRONG>wsyncdown(WINDOW</STRONG> <STRONG>*</STRONG><EM>win</EM><STRONG>);</STRONG>
-</PRE>
-<H2>DESCRIPTION</H2><PRE>
- Calling <STRONG>newwin</STRONG> creates and returns a pointer to a new win-
- dow with the given number of lines and columns. The upper
- left-hand corner of the window is at line <EM>begin</EM>_<EM>y</EM>, column
- <EM>begin</EM>_<EM>x</EM>. If either <EM>nlines</EM> or <EM>ncols</EM> is zero, they default
- to <STRONG>LINES</STRONG> <STRONG>-</STRONG> <EM>begin</EM>_<EM>y</EM> and <STRONG>COLS</STRONG> <STRONG>-</STRONG> <EM>begin</EM>_<EM>x</EM>. A new full-screen
- window is created by calling <STRONG>newwin(0,0,0,0)</STRONG>.
-
- Calling <STRONG>delwin</STRONG> deletes the named window, freeing all memo-
- ry associated with it (it does not actually erase the win-
- dow's screen image). Subwindows must be deleted before
- the main window can be deleted.
-
- Calling <STRONG>mvwin</STRONG> moves the window so that the upper left-hand
- corner is at position (<EM>x</EM>, <EM>y</EM>). If the move would cause the
- window to be off the screen, it is an error and the window
- is not moved. Moving subwindows is allowed, but should be
- avoided.
-
- Calling <STRONG>subwin</STRONG> creates and returns a pointer to a new win-
- dow with the given number of lines, <EM>nlines</EM>, and columns,
- <EM>ncols</EM>. The window is at position (<EM>begin</EM>_<EM>y</EM>, <EM>begin</EM>_<EM>x</EM>) on
- the screen. (This position is relative to the screen, and
- not to the window <EM>orig</EM>.) The window is made in the middle
- of the window <EM>orig</EM>, so that changes made to one window
- will affect both windows. The subwindow shares memory
- with the window <EM>orig</EM>. When using this routine, it is nec-
- essary to call <STRONG>touchwin</STRONG> or <STRONG>touchline</STRONG> on <EM>orig</EM> before call-
- ing <STRONG>wrefresh</STRONG> on the subwindow.
-
- Calling <STRONG>derwin</STRONG> is the same as calling <STRONG>subwin,</STRONG> except that
- <EM>begin</EM>_<EM>y</EM> and <EM>begin</EM>_<EM>x</EM> are relative to the origin of the win-
- dow <EM>orig</EM> rather than the screen. There is no difference
- between the subwindows and the derived windows.
-
- Calling <STRONG>mvderwin</STRONG> moves a derived window (or subwindow) in-
- side its parent window. The screen-relative parameters of
- the window are not changed. This routine is used to dis-
- play different parts of the parent window at the same
- physical position on the screen.
-
- Calling <STRONG>dupwin</STRONG> creates an exact duplicate of the window
- <EM>win</EM>.
-
- Calling <STRONG>wsyncup</STRONG> touches all locations in ancestors of <EM>win</EM>
- that are changed in <EM>win</EM>. If <STRONG>syncok</STRONG> is called with second
- argument <STRONG>TRUE</STRONG> then <STRONG>wsyncup</STRONG> is called automatically whenev-
- er there is a change in the window.
-
- The <STRONG>wsyncdown</STRONG> routine touches each location in <EM>win</EM> that
- has been touched in any of its ancestor windows. This
- routine is called by <STRONG>wrefresh</STRONG>, so it should almost never
- be necessary to call it manually.
-
- The routine <STRONG>wcursyncup</STRONG> updates the current cursor position
- of all the ancestors of the window to reflect the current
- cursor position of the window.
+</PRE><H2><a name="h2-DESCRIPTION">DESCRIPTION</a></H2><PRE>
+</PRE><H3><a name="h3-newwin">newwin</a></H3><PRE>
+ Calling <STRONG>newwin</STRONG> creates and returns a pointer to a new window with the
+ given number of lines and columns. The upper left-hand corner of the
+ window is at
+ line <EM>begin</EM>_<EM>y</EM>,
+ column <EM>begin</EM>_<EM>x</EM>
-</PRE>
-<H2>RETURN VALUE</H2><PRE>
- Routines that return an integer return the integer <STRONG>ERR</STRONG> up-
- on failure and <STRONG>OK</STRONG> (SVr4 only specifies "an integer value
- other than <STRONG>ERR</STRONG>") upon successful completion.
+ If either <EM>nlines</EM> or <EM>ncols</EM> is zero, they default to
+ <STRONG>LINES</STRONG> <STRONG>-</STRONG> <EM>begin</EM>_<EM>y</EM> and
+ <STRONG>COLS</STRONG> <STRONG>-</STRONG> <EM>begin</EM>_<EM>x</EM>.
+
+ A new full-screen window is created by calling <STRONG>newwin(0,0,0,0)</STRONG>.
+
+
+</PRE><H3><a name="h3-delwin">delwin</a></H3><PRE>
+ Calling <STRONG>delwin</STRONG> deletes the named window, freeing all memory associated
+ with it (it does not actually erase the window's screen image). Sub-
+ windows must be deleted before the main window can be deleted.
+
+
+</PRE><H3><a name="h3-mvwin">mvwin</a></H3><PRE>
+ Calling <STRONG>mvwin</STRONG> moves the window so that the upper left-hand corner is at
+ position (<EM>x</EM>, <EM>y</EM>). If the move would cause the window to be off the
+ screen, it is an error and the window is not moved. Moving subwindows
+ is allowed, but should be avoided.
+
+
+</PRE><H3><a name="h3-subwin">subwin</a></H3><PRE>
+ Calling <STRONG>subwin</STRONG> creates and returns a pointer to a new window with the
+ given number of lines, <EM>nlines</EM>, and columns, <EM>ncols</EM>. The window is at
+ position (<EM>begin</EM>_<EM>y</EM>, <EM>begin</EM>_<EM>x</EM>) on the screen. The subwindow shares memory
+ with the window <EM>orig</EM>, so that changes made to one window will affect
+ both windows. When using this routine, it is necessary to call <STRONG>touch-</STRONG>
+ <STRONG>win</STRONG> or <STRONG>touchline</STRONG> on <EM>orig</EM> before calling <STRONG>wrefresh</STRONG> on the subwindow.
+
+
+</PRE><H3><a name="h3-derwin">derwin</a></H3><PRE>
+ Calling <STRONG>derwin</STRONG> is the same as calling <STRONG>subwin,</STRONG> except that <EM>begin</EM>_<EM>y</EM> and
+ <EM>begin</EM>_<EM>x</EM> are relative to the origin of the window <EM>orig</EM> rather than the
+ screen. There is no difference between the subwindows and the derived
+ windows.
+
+ Calling <STRONG>mvderwin</STRONG> moves a derived window (or subwindow) inside its par-
+ ent window. The screen-relative parameters of the window are not
+ changed. This routine is used to display different parts of the parent
+ window at the same physical position on the screen.
+
+
+</PRE><H3><a name="h3-dupwin">dupwin</a></H3><PRE>
+ Calling <STRONG>dupwin</STRONG> creates an exact duplicate of the window <EM>win</EM>.
+
+
+</PRE><H3><a name="h3-wsyncup">wsyncup</a></H3><PRE>
+ Calling <STRONG>wsyncup</STRONG> touches all locations in ancestors of <EM>win</EM> that are
+ changed in <EM>win</EM>. If <STRONG>syncok</STRONG> is called with second argument <STRONG>TRUE</STRONG> then
+ <STRONG>wsyncup</STRONG> is called automatically whenever there is a change in the win-
+ dow.
+
+
+</PRE><H3><a name="h3-wsyncdown">wsyncdown</a></H3><PRE>
+ The <STRONG>wsyncdown</STRONG> routine touches each location in <EM>win</EM> that has been
+ touched in any of its ancestor windows. This routine is called by <STRONG>wre-</STRONG>
+ <STRONG>fresh</STRONG>, so it should almost never be necessary to call it manually.
+
+
+</PRE><H3><a name="h3-wcursyncup">wcursyncup</a></H3><PRE>
+ The routine <STRONG>wcursyncup</STRONG> updates the current cursor position of all the
+ ancestors of the window to reflect the current cursor position of the
+ window.
+
+
+</PRE><H2><a name="h2-RETURN-VALUE">RETURN VALUE</a></H2><PRE>
+ Routines that return an integer return the integer <STRONG>ERR</STRONG> upon failure and
+ <STRONG>OK</STRONG> (SVr4 only specifies "an integer value other than <STRONG>ERR</STRONG>") upon suc-
+ cessful completion.
Routines that return pointers return <STRONG>NULL</STRONG> on error.
- X/Open defines no error conditions. In this implementa-
- tion
+ X/Open defines no error conditions. In this implementation
- <STRONG>delwin</STRONG>
- returns an error if the window pointer is
- null, or if the window is the parent of anoth-
- er window.
+ <STRONG>delwin</STRONG>
+ returns an error if the window pointer is null, or if the window
+ is the parent of another window.
- This implementation also maintains a list of
- windows, and checks that the pointer passed to
- <STRONG>delwin</STRONG> is one that it created, returning an
- error if it was not..
+ <STRONG>derwin</STRONG>
+ returns an error if the parent window pointer is null, or if any
+ of its ordinates or dimensions is negative, or if the resulting
+ window does not fit inside the parent window.
- <STRONG>mvderwin</STRONG>
- returns an error if the window pointer is
- null, or if some part of the window would be
- placed off-screen.
+ <STRONG>dupwin</STRONG>
+ returns an error if the window pointer is null.
- <STRONG>mvwin</STRONG>
- returns an error if the window pointer is
- null, or if the window is really a pad, or if
- some part of the window would be placed off-
- screen.
+ This implementation also maintains a list of windows, and checks
+ that the pointer passed to <STRONG>delwin</STRONG> is one that it created, return-
+ ing an error if it was not..
- <STRONG>syncok</STRONG>
- returns an error if the window pointer is
- null.
+ <STRONG>mvderwin</STRONG>
+ returns an error if the window pointer is null, or if some part of
+ the window would be placed off-screen.
+ <STRONG>mvwin</STRONG>
+ returns an error if the window pointer is null, or if the window
+ is really a pad, or if some part of the window would be placed
+ off-screen.
-</PRE>
-<H2>NOTES</H2><PRE>
- If many small changes are made to the window, the <STRONG>wsyncup</STRONG>
- option could degrade performance.
+ <STRONG>newwin</STRONG>
+ will fail if either of its beginning ordinates is negative, or if
+ either the number of lines or columns is negative.
+
+ <STRONG>syncok</STRONG>
+ returns an error if the window pointer is null.
+
+ <STRONG>subwin</STRONG>
+ returns an error if the parent window pointer is null, or if any
+ of its ordinates or dimensions is negative, or if the resulting
+ window does not fit inside the parent window.
+
+ The functions which return a window pointer may also fail if there is
+ insufficient memory for its data structures. Any of these functions
+ will fail if the screen has not been initialized, i.e., with <STRONG>initscr</STRONG> or
+ <STRONG>newterm</STRONG>.
+
+
+</PRE><H2><a name="h2-NOTES">NOTES</a></H2><PRE>
+ If many small changes are made to the window, the <STRONG>wsyncup</STRONG> option could
+ degrade performance.
Note that <STRONG>syncok</STRONG> may be a macro.
-</PRE>
-<H2>BUGS</H2><PRE>
- The subwindow functions (<EM>subwin</EM>, <EM>derwin</EM>, <EM>mvderwin</EM>, <STRONG>wsyn-</STRONG>
- <STRONG>cup</STRONG>, <STRONG>wsyncdown</STRONG>, <STRONG>wcursyncup</STRONG>, <STRONG>syncok</STRONG>) are flaky, incomplete-
- ly implemented, and not well tested.
-
- The System V curses documentation is very unclear about
- what <STRONG>wsyncup</STRONG> and <STRONG>wsyncdown</STRONG> actually do. It seems to imply
- that they are only supposed to touch exactly those lines
- that are affected by ancestor changes. The language here,
- and the behavior of the <STRONG>curses</STRONG> implementation, is pat-
- terned on the XPG4 curses standard. The weaker XPG4 spec
+</PRE><H2><a name="h2-BUGS">BUGS</a></H2><PRE>
+ The subwindow functions (<STRONG>subwin</STRONG>, <STRONG>derwin</STRONG>, <STRONG>mvderwin</STRONG>, <STRONG>wsyncup</STRONG>, <STRONG>wsyncdown</STRONG>,
+ <STRONG>wcursyncup</STRONG>, <STRONG>syncok</STRONG>) are flaky, incompletely implemented, and not well
+ tested.
+
+ The System V curses documentation is very unclear about what <STRONG>wsyncup</STRONG>
+ and <STRONG>wsyncdown</STRONG> actually do. It seems to imply that they are only sup-
+ posed to touch exactly those lines that are affected by ancestor
+ changes. The language here, and the behavior of the <STRONG>curses</STRONG> implementa-
+ tion, is patterned on the XPG4 curses standard. The weaker XPG4 spec
may result in slower updates.
-</PRE>
-<H2>PORTABILITY</H2><PRE>
- The XSI Curses standard, Issue 4 describes these func-
- tions.
+</PRE><H2><a name="h2-PORTABILITY">PORTABILITY</a></H2><PRE>
+ The XSI Curses standard, Issue 4 describes these functions.
-</PRE>
-<H2>SEE ALSO</H2><PRE>
- <STRONG><A HREF="ncurses.3x.html">curses(3x)</A></STRONG>, <STRONG><A HREF="curs_refresh.3x.html">curs_refresh(3x)</A></STRONG>, <STRONG><A HREF="curs_touch.3x.html">curs_touch(3x)</A></STRONG>, <STRONG>curs_vari-</STRONG>
- <STRONG><A HREF="curs_variables.3x.html">ables(3x)</A></STRONG>
+</PRE><H2><a name="h2-SEE-ALSO">SEE ALSO</a></H2><PRE>
+ <STRONG><A HREF="ncurses.3x.html">curses(3x)</A></STRONG>, <STRONG><A HREF="curs_refresh.3x.html">curs_refresh(3x)</A></STRONG>, <STRONG><A HREF="curs_touch.3x.html">curs_touch(3x)</A></STRONG>, <STRONG><A HREF="curs_variables.3x.html">curs_variables(3x)</A></STRONG>
- <STRONG><A HREF="curs_window.3x.html">curs_window(3x)</A></STRONG>
+ <STRONG><A HREF="curs_window.3x.html">curs_window(3x)</A></STRONG>
</PRE>
-<HR>
-<ADDRESS>
-Man(1) output converted with
-<a href="http://www.oac.uci.edu/indiv/ehood/man2html.html">man2html</a>
-</ADDRESS>
+<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>
+<ul>
+<li><a href="#h3-newwin">newwin</a></li>
+<li><a href="#h3-delwin">delwin</a></li>
+<li><a href="#h3-mvwin">mvwin</a></li>
+<li><a href="#h3-subwin">subwin</a></li>
+<li><a href="#h3-derwin">derwin</a></li>
+<li><a href="#h3-dupwin">dupwin</a></li>
+<li><a href="#h3-wsyncup">wsyncup</a></li>
+<li><a href="#h3-wsyncdown">wsyncdown</a></li>
+<li><a href="#h3-wcursyncup">wcursyncup</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-BUGS">BUGS</a></li>
+<li><a href="#h2-PORTABILITY">PORTABILITY</a></li>
+<li><a href="#h2-SEE-ALSO">SEE ALSO</a></li>
+</ul>
+</div>
</BODY>
</HTML>
diff --git a/doc/html/man/default_colors.3x.html b/doc/html/man/default_colors.3x.html
index ae05ea39017b..c91d0119598b 100644
--- a/doc/html/man/default_colors.3x.html
+++ b/doc/html/man/default_colors.3x.html
@@ -1,7 +1,6 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN">
<!--
****************************************************************************
- * Copyright (c) 1998-2010,2011 Free Software Foundation, Inc. *
+ * Copyright (c) 1998-2018,2019 Free Software Foundation, Inc. *
* *
* Permission is hereby granted, free of charge, to any person obtaining a *
* copy of this software and associated documentation files (the *
@@ -28,153 +27,140 @@
* authorization. *
****************************************************************************
* Author: Thomas E. Dickey 1997,1999,2000,2005
- * @Id: default_colors.3x,v 1.23 2011/01/03 21:52:27 Tim.van.der.Molen Exp @
+ * @Id: default_colors.3x,v 1.28 2019/11/30 21:06:30 tom Exp @
-->
+<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN">
<HTML>
<HEAD>
+<meta http-equiv="Content-Type" content="text/html; charset=us-ascii">
+<meta name="generator" content="Manpage converted by man2html - see https://invisible-island.net/scripts/readme.html#others_scripts">
<TITLE>default_colors 3x</TITLE>
-<link rev=made href="mailto:bug-ncurses@gnu.org">
+<link rel="author" href="mailto:bug-ncurses@gnu.org">
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
</HEAD>
<BODY>
-<H1>default_colors 3x</H1>
-<HR>
+<H1 class="no-header">default_colors 3x</H1>
<PRE>
-<!-- Manpage converted by man2html 3.0.1 -->
-<STRONG><A HREF="default_colors.3x.html">default_colors(3x)</A></STRONG> <STRONG><A HREF="default_colors.3x.html">default_colors(3x)</A></STRONG>
+<STRONG><A HREF="default_colors.3x.html">default_colors(3x)</A></STRONG> <STRONG><A HREF="default_colors.3x.html">default_colors(3x)</A></STRONG>
-</PRE>
-<H2>NAME</H2><PRE>
- <STRONG>use_default_colors</STRONG>, <STRONG>assume_default_colors</STRONG> - use terminal's
- default colors
+</PRE><H2><a name="h2-NAME">NAME</a></H2><PRE>
+ <STRONG>use_default_colors</STRONG>, <STRONG>assume_default_colors</STRONG> - use terminal's default col-
+ ors
-</PRE>
-<H2>SYNOPSIS</H2><PRE>
+</PRE><H2><a name="h2-SYNOPSIS">SYNOPSIS</a></H2><PRE>
<STRONG>#include</STRONG> <STRONG>&lt;curses.h&gt;</STRONG>
<STRONG>int</STRONG> <STRONG>use_default_colors(void);</STRONG>
<STRONG>int</STRONG> <STRONG>assume_default_colors(int</STRONG> <STRONG>fg,</STRONG> <STRONG>int</STRONG> <STRONG>bg);</STRONG>
-</PRE>
-<H2>DESCRIPTION</H2><PRE>
- The <EM>use</EM><STRONG>_</STRONG><EM>default</EM><STRONG>_</STRONG><EM>colors()</EM> and <EM>assume</EM><STRONG>_</STRONG><EM>default</EM><STRONG>_</STRONG><EM>colors()</EM> func-
- tions are extensions to the curses library. They are used
- with terminals that support ISO 6429 color, or equivalent.
- These terminals allow the application to reset color to an
- unspecified default value (e.g., with SGR 39 or SGR 49).
-
- Applications that paint a colored background over the
- whole screen do not take advantage of SGR 39 and SGR 49.
- Some applications are designed to work with the default
- background, using colors only for text. For example,
- there are several implementations of the <STRONG>ls</STRONG> program which
- use colors to denote different file types or permissions.
- These "color ls" programs do not necessarily modify the
- background color, typically using only the <EM>setaf</EM> terminfo
- capability to set the foreground color. Full-screen
- applications that use default colors can achieve similar
- visual effects.
-
- The first function, <EM>use</EM><STRONG>_</STRONG><EM>default</EM><STRONG>_</STRONG><EM>colors()</EM> tells the curses
- library to assign terminal default foreground/background
- colors to color number -1. So init_pair(x,COLOR_RED,-1)
- will initialize pair x as red on default background and
- init_pair(x,-1,COLOR_BLUE) will initialize pair x as
- default foreground on blue.
-
- The other, <EM>assume</EM><STRONG>_</STRONG><EM>default</EM><STRONG>_</STRONG><EM>colors()</EM> is a refinement which
- tells which colors to paint for color pair 0. This func-
- tion recognizes a special color number -1, which denotes
- the default terminal color.
+</PRE><H2><a name="h2-DESCRIPTION">DESCRIPTION</a></H2><PRE>
+ The <STRONG>use_default_colors</STRONG> and <STRONG>assume_default_colors</STRONG> functions are exten-
+ sions to the curses library. They are used with terminals that support
+ ISO 6429 color, or equivalent. These terminals allow the application
+ to reset color to an unspecified default value (e.g., with SGR 39 or
+ SGR 49).
+
+ Applications that paint a colored background over the whole screen do
+ not take advantage of SGR 39 and SGR 49. Some applications are
+ designed to work with the default background, using colors only for
+ text. For example, there are several implementations of the <STRONG>ls</STRONG> program
+ which use colors to denote different file types or permissions. These
+ "color ls" programs do not necessarily modify the background color,
+ typically using only the <STRONG>setaf</STRONG> terminfo capability to set the fore-
+ ground color. Full-screen applications that use default colors can
+ achieve similar visual effects.
+
+ The first function, <STRONG>use_default_colors</STRONG> tells the curses library to
+ assign terminal default foreground/background colors to color number
+ -1. So init_pair(x,COLOR_RED,-1) will initialize pair x as red on
+ default background and init_pair(x,-1,COLOR_BLUE) will initialize pair
+ x as default foreground on blue.
+
+ The other, <STRONG>assume_default_colors</STRONG> is a refinement which tells which col-
+ ors to paint for color pair 0. This function recognizes a special
+ color number -1, which denotes the default terminal color.
The following are equivalent:
<EM>use</EM><STRONG>_</STRONG><EM>default</EM><STRONG>_</STRONG><EM>colors();</EM>
<EM>assume</EM><STRONG>_</STRONG><EM>default</EM><STRONG>_</STRONG><EM>colors(-1,-1);</EM>
- These are ncurses extensions. For other curses implemen-
- tations, color number -1 does not mean anything, just as
- for ncurses before a successful call of <EM>use</EM><STRONG>_</STRONG><EM>default</EM><STRONG>_</STRONG><EM>col-</EM>
- <EM>ors()</EM> or <EM>assume</EM><STRONG>_</STRONG><EM>default</EM><STRONG>_</STRONG><EM>colors()</EM>.
-
- Other curses implementations do not allow an application
- to modify color pair 0. They assume that the background
- is COLOR_BLACK, but do not ensure that the color pair 0 is
- painted to match the assumption. If your application does
- not use either <EM>use</EM><STRONG>_</STRONG><EM>default</EM><STRONG>_</STRONG><EM>colors()</EM> or <EM>assume</EM><STRONG>_</STRONG><EM>default</EM><STRONG>_</STRONG><EM>col-</EM>
- <EM>ors()</EM> ncurses will paint a white foreground (text) with
+ These are ncurses extensions. For other curses implementations, color
+ number -1 does not mean anything, just as for ncurses before a success-
+ ful call of <STRONG>use_default_colors</STRONG> or <STRONG>assume_default_colors</STRONG>.
+
+ Other curses implementations do not allow an application to modify
+ color pair 0. They assume that the background is COLOR_BLACK, but do
+ not ensure that the color pair 0 is painted to match the assumption.
+ If your application does not use either <STRONG>use_default_colors</STRONG> or
+ <STRONG>assume_default_colors</STRONG> ncurses will paint a white foreground (text) with
black background for color pair 0.
-</PRE>
-<H2>RETURN VALUE</H2><PRE>
- These functions return the integer <STRONG>ERR</STRONG> upon failure and <STRONG>OK</STRONG>
- on success. They will fail if either the terminal does
- not support the <EM>orig</EM><STRONG>_</STRONG><EM>pair</EM> or <EM>orig</EM><STRONG>_</STRONG><EM>colors</EM> capability. If
- the <EM>initialize</EM><STRONG>_</STRONG><EM>pair</EM> capability is not found, this causes
- an error as well.
+</PRE><H2><a name="h2-RETURN-VALUE">RETURN VALUE</a></H2><PRE>
+ These functions return the integer <STRONG>ERR</STRONG> upon failure and <STRONG>OK</STRONG> on success.
+ They will fail if either the terminal does not support the <STRONG>orig_pair</STRONG> or
+ <STRONG>orig_colors</STRONG> capability. If the <STRONG>initialize_pair</STRONG> capability is not
+ found, this causes an error as well.
-</PRE>
-<H2>NOTES</H2><PRE>
- Associated with this extension, the <STRONG>init_pair</STRONG> function
- accepts negative arguments to specify default foreground
- or background colors.
-
- The <EM>use</EM><STRONG>_</STRONG><EM>default</EM><STRONG>_</STRONG><EM>colors()</EM> function was added to support
- <EM>ded</EM>. This is a full-screen application which uses curses
- to manage only part of the screen. The bottom portion of
- the screen, which is of adjustable size, is left uncolored
- to display the results from shell commands. The top por-
- tion of the screen colors filenames using a scheme like
- the "color ls" programs. Attempting to manage the back-
- ground color of the screen for this application would give
- unsatisfactory results for a variety of reasons. This
- extension was devised after noting that color xterm (and
- similar programs) provides a background color which does
- not necessarily correspond to any of the ANSI colors.
- While a special terminfo entry could be constructed using
- nine colors, there was no mechanism provided within curses
- to account for the related <EM>orig</EM><STRONG>_</STRONG><EM>pair</EM> and <EM>back</EM><STRONG>_</STRONG><EM>color</EM><STRONG>_</STRONG><EM>erase</EM>
- capabilities.
-
- The <EM>assume</EM><STRONG>_</STRONG><EM>default</EM><STRONG>_</STRONG><EM>colors()</EM> function was added to solve a
- different problem: support for applications which would
- use environment variables and other configuration to
- bypass curses' notion of the terminal's default colors,
- setting specific values.
+</PRE><H2><a name="h2-NOTES">NOTES</a></H2><PRE>
+ Associated with this extension, the <STRONG>init_pair</STRONG> function accepts negative
+ arguments to specify default foreground or background colors.
+ The <STRONG>use_default_colors</STRONG> function was added to support <EM>ded</EM>. This is a
+ full-screen application which uses curses to manage only part of the
+ screen. The bottom portion of the screen, which is of adjustable size,
+ is left uncolored to display the results from shell commands. The top
+ portion of the screen colors filenames using a scheme like the "color
+ ls" programs. Attempting to manage the background color of the screen
+ for this application would give unsatisfactory results for a variety of
+ reasons. This extension was devised after noting that color xterm (and
+ similar programs) provides a background color which does not necessar-
+ ily correspond to any of the ANSI colors. While a special terminfo
+ entry could be constructed using nine colors, there was no mechanism
+ provided within curses to account for the related <STRONG>orig_pair</STRONG> and
+ <STRONG>back_color_erase</STRONG> capabilities.
-</PRE>
-<H2>PORTABILITY</H2><PRE>
- These routines are specific to ncurses. They were not
- supported on Version 7, BSD or System V implementations.
- It is recommended that any code depending on them be con-
- ditioned using NCURSES_VERSION.
+ The <STRONG>assume_default_colors</STRONG> function was added to solve a different prob-
+ lem: support for applications which would use environment variables and
+ other configuration to bypass curses' notion of the terminal's default
+ colors, setting specific values.
-</PRE>
-<H2>SEE ALSO</H2><PRE>
+</PRE><H2><a name="h2-PORTABILITY">PORTABILITY</a></H2><PRE>
+ These routines are specific to ncurses. 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.
+
+
+</PRE><H2><a name="h2-SEE-ALSO">SEE ALSO</a></H2><PRE>
<STRONG><A HREF="curs_color.3x.html">curs_color(3x)</A></STRONG>, <STRONG>ded(1)</STRONG>.
-</PRE>
-<H2>AUTHOR</H2><PRE>
- Thomas Dickey (from an analysis of the requirements for
- color xterm for XFree86 3.1.2C, February 1996).
+</PRE><H2><a name="h2-AUTHOR">AUTHOR</a></H2><PRE>
+ Thomas Dickey (from an analysis of the requirements for color xterm for
+ XFree86 3.1.2C, February 1996).
- <STRONG><A HREF="default_colors.3x.html">default_colors(3x)</A></STRONG>
+ <STRONG><A HREF="default_colors.3x.html">default_colors(3x)</A></STRONG>
</PRE>
-<HR>
-<ADDRESS>
-Man(1) output converted with
-<a href="http://www.oac.uci.edu/indiv/ehood/man2html.html">man2html</a>
-</ADDRESS>
+<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>
+<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-SEE-ALSO">SEE ALSO</a></li>
+<li><a href="#h2-AUTHOR">AUTHOR</a></li>
+</ul>
+</div>
</BODY>
</HTML>
diff --git a/doc/html/man/define_key.3x.html b/doc/html/man/define_key.3x.html
index 2dd46c898052..0bd1b710c537 100644
--- a/doc/html/man/define_key.3x.html
+++ b/doc/html/man/define_key.3x.html
@@ -1,7 +1,6 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN">
<!--
****************************************************************************
- * Copyright (c) 1998-2009,2010 Free Software Foundation, Inc. *
+ * Copyright (c) 1998-2017,2018 Free Software Foundation, Inc. *
* *
* Permission is hereby granted, free of charge, to any person obtaining a *
* copy of this software and associated documentation files (the *
@@ -28,84 +27,80 @@
* authorization. *
****************************************************************************
* Author: Thomas E. Dickey 1997
- * @Id: define_key.3x,v 1.14 2010/12/04 18:49:20 tom Exp @
+ * @Id: define_key.3x,v 1.16 2018/07/28 21:34: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>define_key 3x</TITLE>
-<link rev=made href="mailto:bug-ncurses@gnu.org">
+<link rel="author" href="mailto:bug-ncurses@gnu.org">
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
</HEAD>
<BODY>
-<H1>define_key 3x</H1>
-<HR>
+<H1 class="no-header">define_key 3x</H1>
<PRE>
-<!-- Manpage converted by man2html 3.0.1 -->
-<STRONG><A HREF="define_key.3x.html">define_key(3x)</A></STRONG> <STRONG><A HREF="define_key.3x.html">define_key(3x)</A></STRONG>
+<STRONG><A HREF="define_key.3x.html">define_key(3x)</A></STRONG> <STRONG><A HREF="define_key.3x.html">define_key(3x)</A></STRONG>
-</PRE>
-<H2>NAME</H2><PRE>
+</PRE><H2><a name="h2-NAME">NAME</a></H2><PRE>
<STRONG>define_key</STRONG> - define a keycode
-</PRE>
-<H2>SYNOPSIS</H2><PRE>
+</PRE><H2><a name="h2-SYNOPSIS">SYNOPSIS</a></H2><PRE>
<STRONG>#include</STRONG> <STRONG>&lt;curses.h&gt;</STRONG>
<STRONG>int</STRONG> <STRONG>define_key(const</STRONG> <STRONG>char</STRONG> <STRONG>*definition,</STRONG> <STRONG>int</STRONG> <STRONG>keycode);</STRONG>
-</PRE>
-<H2>DESCRIPTION</H2><PRE>
- This is an extension to the curses library. It permits an
- application to define keycodes with their corresponding
- control strings, so that the ncurses library will inter-
- pret them just as it would the predefined codes in the
- terminfo database.
+</PRE><H2><a name="h2-DESCRIPTION">DESCRIPTION</a></H2><PRE>
+ This is an extension to the curses library. It permits an application
+ to define keycodes with their corresponding control strings, so that
+ the ncurses library will interpret them just as it would the predefined
+ codes in the terminfo database.
- If the given string is null, any existing definition for
- the keycode is removed. Similarly, if the given keycode
- is negative or zero, any existing string for the given
- definition is removed.
+ If the given string is null, any existing definition for the keycode is
+ removed. Similarly, if the given keycode is negative or zero, any
+ existing string for the given definition is removed.
-</PRE>
-<H2>RETURN VALUE</H2><PRE>
- The keycode must be greater than zero, and the string non-
- null, otherwise ERR is returned. ERR may also be returned
- if there is insufficient memory to allocate the data to
- store the definition. If no error is detected, OK is
- returned.
+</PRE><H2><a name="h2-RETURN-VALUE">RETURN VALUE</a></H2><PRE>
+ The keycode must be greater than zero, and the string non-null, other-
+ wise <STRONG>ERR</STRONG> is returned. <STRONG>ERR</STRONG> may also be returned if there is insuffi-
+ cient memory to allocate the data to store the definition. If no error
+ is detected, <STRONG>OK</STRONG> is returned.
-</PRE>
-<H2>PORTABILITY</H2><PRE>
- These routines are specific to ncurses. They were not
- supported on Version 7, BSD or System V implementations.
- It is recommended that any code depending on them be con-
- ditioned using NCURSES_VERSION.
+</PRE><H2><a name="h2-PORTABILITY">PORTABILITY</a></H2><PRE>
+ These routines are specific to ncurses. 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.
-</PRE>
-<H2>SEE ALSO</H2><PRE>
+</PRE><H2><a name="h2-SEE-ALSO">SEE ALSO</a></H2><PRE>
<STRONG><A HREF="keyok.3x.html">keyok(3x)</A></STRONG>, <STRONG><A HREF="key_defined.3x.html">key_defined(3x)</A></STRONG>.
-</PRE>
-<H2>AUTHOR</H2><PRE>
+</PRE><H2><a name="h2-AUTHOR">AUTHOR</a></H2><PRE>
Thomas Dickey.
- <STRONG><A HREF="define_key.3x.html">define_key(3x)</A></STRONG>
+ <STRONG><A HREF="define_key.3x.html">define_key(3x)</A></STRONG>
</PRE>
-<HR>
-<ADDRESS>
-Man(1) output converted with
-<a href="http://www.oac.uci.edu/indiv/ehood/man2html.html">man2html</a>
-</ADDRESS>
+<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>
+<li><a href="#h2-RETURN-VALUE">RETURN VALUE</a></li>
+<li><a href="#h2-PORTABILITY">PORTABILITY</a></li>
+<li><a href="#h2-SEE-ALSO">SEE ALSO</a></li>
+<li><a href="#h2-AUTHOR">AUTHOR</a></li>
+</ul>
+</div>
</BODY>
</HTML>
diff --git a/doc/html/man/form.3x.html b/doc/html/man/form.3x.html
index 57e92f2c7bb4..63bee133e77b 100644
--- a/doc/html/man/form.3x.html
+++ b/doc/html/man/form.3x.html
@@ -1,8 +1,7 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN">
<!--
* t
****************************************************************************
- * Copyright (c) 1998-2008,2010 Free Software Foundation, Inc. *
+ * Copyright (c) 1998-2018,2019 Free Software Foundation, Inc. *
* *
* Permission is hereby granted, free of charge, to any person obtaining a *
* copy of this software and associated documentation files (the *
@@ -28,45 +27,42 @@
* sale, use or other dealings in this Software without prior written *
* authorization. *
****************************************************************************
- * @Id: form.3x,v 1.24 2010/12/04 18:40:45 tom Exp @
+ * @Id: form.3x,v 1.33 2019/11/30 20:51:36 tom Exp @
-->
+<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN">
<HTML>
<HEAD>
+<meta http-equiv="Content-Type" content="text/html; charset=us-ascii">
+<meta name="generator" content="Manpage converted by man2html - see https://invisible-island.net/scripts/readme.html#others_scripts">
<TITLE>form 3x</TITLE>
-<link rev=made href="mailto:bug-ncurses@gnu.org">
+<link rel="author" href="mailto:bug-ncurses@gnu.org">
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
</HEAD>
<BODY>
-<H1>form 3x</H1>
-<HR>
+<H1 class="no-header">form 3x</H1>
<PRE>
-<!-- Manpage converted by man2html 3.0.1 -->
-<STRONG><A HREF="form.3x.html">form(3x)</A></STRONG> <STRONG><A HREF="form.3x.html">form(3x)</A></STRONG>
+<STRONG><A HREF="form.3x.html">form(3x)</A></STRONG> <STRONG><A HREF="form.3x.html">form(3x)</A></STRONG>
-</PRE>
-<H2>NAME</H2><PRE>
+</PRE><H2><a name="h2-NAME">NAME</a></H2><PRE>
<STRONG>form</STRONG> - curses extension for programming forms
-</PRE>
-<H2>SYNOPSIS</H2><PRE>
+</PRE><H2><a name="h2-SYNOPSIS">SYNOPSIS</a></H2><PRE>
<STRONG>#include</STRONG> <STRONG>&lt;form.h&gt;</STRONG>
-</PRE>
-<H2>DESCRIPTION</H2><PRE>
- The <STRONG>form</STRONG> library provides terminal-independent facilities
- for composing form screens on character-cell terminals.
- The library includes: field routines, which create and
- modify form fields; and form routines, which group fields
- into forms, display forms on the screen, and handle inter-
+</PRE><H2><a name="h2-DESCRIPTION">DESCRIPTION</a></H2><PRE>
+ The <STRONG>form</STRONG> library provides terminal-independent facilities for composing
+ form screens on character-cell terminals. The library includes: field
+ routines, which create and modify form fields; and form routines, which
+ group fields into forms, display forms on the screen, and handle inter-
action with the user.
- The <STRONG>form</STRONG> library uses the <STRONG>curses</STRONG> libraries. To use the
- <STRONG>form</STRONG> library, link with the options <STRONG>-lform</STRONG> <STRONG>-lcurses</STRONG>.
+ The <STRONG>form</STRONG> library uses the <STRONG>curses</STRONG> libraries. To use the <STRONG>form</STRONG> library,
+ link with the options <STRONG>-lform</STRONG> <STRONG>-lcurses</STRONG>.
Your program should set up the locale, e.g.,
@@ -74,115 +70,115 @@
so that input/output processing will work.
- A curses initialization routine such as <STRONG>initscr</STRONG> must be
- called before using any of these functions.
-
- <STRONG>Current</STRONG> <STRONG>Default</STRONG> <STRONG>Values</STRONG> <STRONG>for</STRONG> <STRONG>Field</STRONG> <STRONG>Attributes</STRONG>
- The <STRONG>form</STRONG> library maintains a default value for field
- attributes. You can get or set this default by calling
- the appropriate <STRONG>set_</STRONG> or retrieval routine with a <STRONG>NULL</STRONG>
- field pointer. Changing this default with a <STRONG>set_</STRONG> function
- affects future field creations, but does not change the
- rendering of fields already created.
-
- <STRONG>Routine</STRONG> <STRONG>Name</STRONG> <STRONG>Index</STRONG>
- The following table lists each <STRONG>form</STRONG> routine and the name
- of the manual page on which it is described.
-
- <STRONG>curses</STRONG> Routine Name Manual Page Name
- -------------------------------------------------
- current_field <STRONG><A HREF="form_page.3x.html">form_page(3x)</A></STRONG>
- data_ahead <STRONG><A HREF="form_data.3x.html">form_data(3x)</A></STRONG>
- data_behind <STRONG><A HREF="form_data.3x.html">form_data(3x)</A></STRONG>
- dup_field <STRONG><A HREF="form_field_new.3x.html">form_field_new(3x)</A></STRONG>
- dynamic_field_info <STRONG><A HREF="form_field_info.3x.html">form_field_info(3x)</A></STRONG>
- field_arg <STRONG><A HREF="form_field_validation.3x.html">form_field_validation(3x)</A></STRONG>
- field_back <STRONG><A HREF="form_field_attributes.3x.html">form_field_attributes(3x)</A></STRONG>
- field_buffer <STRONG><A HREF="form_field_buffer.3x.html">form_field_buffer(3x)</A></STRONG>
- field_count <STRONG><A HREF="form_field.3x.html">form_field(3x)</A></STRONG>
- field_fore <STRONG><A HREF="form_field_attributes.3x.html">form_field_attributes(3x)</A></STRONG>
- field_index <STRONG><A HREF="form_page.3x.html">form_page(3x)</A></STRONG>
- field_info <STRONG><A HREF="form_field_info.3x.html">form_field_info(3x)</A></STRONG>
- field_init <STRONG><A HREF="form_hook.3x.html">form_hook(3x)</A></STRONG>
- field_just <STRONG><A HREF="form_field_just.3x.html">form_field_just(3x)</A></STRONG>
- field_opts <STRONG><A HREF="form_field_opts.3x.html">form_field_opts(3x)</A></STRONG>
- field_opts_off <STRONG><A HREF="form_field_opts.3x.html">form_field_opts(3x)</A></STRONG>
- field_opts_on <STRONG><A HREF="form_field_opts.3x.html">form_field_opts(3x)</A></STRONG>
- field_pad <STRONG><A HREF="form_field_attributes.3x.html">form_field_attributes(3x)</A></STRONG>
- field_status <STRONG><A HREF="form_field_buffer.3x.html">form_field_buffer(3x)</A></STRONG>
- field_term <STRONG><A HREF="form_hook.3x.html">form_hook(3x)</A></STRONG>
- field_type <STRONG><A HREF="form_field_validation.3x.html">form_field_validation(3x)</A></STRONG>
-
- field_userptr <STRONG><A HREF="form_field_userptr.3x.html">form_field_userptr(3x)</A></STRONG>
- form_driver <STRONG><A HREF="form_driver.3x.html">form_driver(3x)</A></STRONG>
- form_fields <STRONG><A HREF="form_field.3x.html">form_field(3x)</A></STRONG>
- form_init <STRONG><A HREF="form_hook.3x.html">form_hook(3x)</A></STRONG>
- form_opts <STRONG><A HREF="form_opts.3x.html">form_opts(3x)</A></STRONG>
- form_opts_off <STRONG><A HREF="form_opts.3x.html">form_opts(3x)</A></STRONG>
- form_opts_on <STRONG><A HREF="form_opts.3x.html">form_opts(3x)</A></STRONG>
- form_page <STRONG><A HREF="form_page.3x.html">form_page(3x)</A></STRONG>
- form_request_by_name <STRONG><A HREF="form_requestname.3x.html">form_requestname(3x)</A></STRONG>
- form_request_name <STRONG><A HREF="form_requestname.3x.html">form_requestname(3x)</A></STRONG>
- form_sub <STRONG><A HREF="form_win.3x.html">form_win(3x)</A></STRONG>
- form_term <STRONG><A HREF="form_hook.3x.html">form_hook(3x)</A></STRONG>
- form_userptr <STRONG><A HREF="form_userptr.3x.html">form_userptr(3x)</A></STRONG>
- form_win <STRONG><A HREF="form_win.3x.html">form_win(3x)</A></STRONG>
- free_field <STRONG><A HREF="form_field_new.3x.html">form_field_new(3x)</A></STRONG>
- free_fieldtype <STRONG><A HREF="form_fieldtype.3x.html">form_fieldtype(3x)</A></STRONG>
- free_form <STRONG><A HREF="form_new.3x.html">form_new(3x)</A></STRONG>
- link_field <STRONG><A HREF="form_field_new.3x.html">form_field_new(3x)</A></STRONG>
- link_fieldtype <STRONG><A HREF="form_fieldtype.3x.html">form_fieldtype(3x)</A></STRONG>
- move_field <STRONG><A HREF="form_field.3x.html">form_field(3x)</A></STRONG>
- new_field <STRONG><A HREF="form_field_new.3x.html">form_field_new(3x)</A></STRONG>
- new_fieldtype <STRONG><A HREF="form_fieldtype.3x.html">form_fieldtype(3x)</A></STRONG>
- new_form <STRONG><A HREF="form_new.3x.html">form_new(3x)</A></STRONG>
- new_page <STRONG><A HREF="form_new_page.3x.html">form_new_page(3x)</A></STRONG>
- pos_form_cursor <STRONG><A HREF="form_cursor.3x.html">form_cursor(3x)</A></STRONG>
- post_form <STRONG><A HREF="form_post.3x.html">form_post(3x)</A></STRONG>
- scale_form <STRONG><A HREF="form_win.3x.html">form_win(3x)</A></STRONG>
- set_current_field <STRONG><A HREF="form_page.3x.html">form_page(3x)</A></STRONG>
- set_field_back <STRONG><A HREF="form_field_attributes.3x.html">form_field_attributes(3x)</A></STRONG>
- set_field_buffer <STRONG><A HREF="form_field_buffer.3x.html">form_field_buffer(3x)</A></STRONG>
- set_field_fore <STRONG><A HREF="form_field_attributes.3x.html">form_field_attributes(3x)</A></STRONG>
- set_field_init <STRONG><A HREF="form_hook.3x.html">form_hook(3x)</A></STRONG>
- set_field_just <STRONG><A HREF="form_field_just.3x.html">form_field_just(3x)</A></STRONG>
- set_field_opts <STRONG><A HREF="form_field_opts.3x.html">form_field_opts(3x)</A></STRONG>
- set_field_pad <STRONG><A HREF="form_field_attributes.3x.html">form_field_attributes(3x)</A></STRONG>
- set_field_status <STRONG><A HREF="form_field_buffer.3x.html">form_field_buffer(3x)</A></STRONG>
- set_field_term <STRONG><A HREF="form_hook.3x.html">form_hook(3x)</A></STRONG>
- set_field_type <STRONG><A HREF="form_field_validation.3x.html">form_field_validation(3x)</A></STRONG>
- set_field_userptr <STRONG><A HREF="form_field_userptr.3x.html">form_field_userptr(3x)</A></STRONG>
- set_fieldtype_arg <STRONG><A HREF="form_fieldtype.3x.html">form_fieldtype(3x)</A></STRONG>
- set_fieldtype_choice <STRONG><A HREF="form_fieldtype.3x.html">form_fieldtype(3x)</A></STRONG>
- set_form_fields <STRONG><A HREF="form_field.3x.html">form_field(3x)</A></STRONG>
- set_form_init <STRONG><A HREF="form_hook.3x.html">form_hook(3x)</A></STRONG>
- set_form_opts <STRONG><A HREF="form_field_opts.3x.html">form_field_opts(3x)</A></STRONG>
- set_form_page <STRONG><A HREF="form_page.3x.html">form_page(3x)</A></STRONG>
- set_form_sub <STRONG><A HREF="form_win.3x.html">form_win(3x)</A></STRONG>
- set_form_term <STRONG><A HREF="form_hook.3x.html">form_hook(3x)</A></STRONG>
- set_form_userptr <STRONG><A HREF="form_userptr.3x.html">form_userptr(3x)</A></STRONG>
- set_form_win <STRONG><A HREF="form_win.3x.html">form_win(3x)</A></STRONG>
- set_max_field <STRONG><A HREF="form_field_buffer.3x.html">form_field_buffer(3x)</A></STRONG>
- set_new_page <STRONG><A HREF="form_new_page.3x.html">form_new_page(3x)</A></STRONG>
- unpost_form <STRONG><A HREF="form_post.3x.html">form_post(3x)</A></STRONG>
-
-
-</PRE>
-<H2>RETURN VALUE</H2><PRE>
- Routines that return pointers return <STRONG>NULL</STRONG> on error, and
- set errno to the corresponding error-code returned by
- functions returning an integer. Routines that return an
- integer return one of the following error codes:
+ A curses initialization routine such as <STRONG>initscr</STRONG> must be called before
+ using any of these functions.
+
+
+</PRE><H3><a name="h3-Current-Default-Values-for-Field-Attributes">Current Default Values for Field Attributes</a></H3><PRE>
+ The <STRONG>form</STRONG> library maintains a default value for field attributes. You
+ can get or set this default by calling the appropriate <STRONG>set_</STRONG> or
+ retrieval routine with a <STRONG>NULL</STRONG> field pointer. Changing this default
+ with a <STRONG>set_</STRONG> function affects future field creations, but does not
+ change the rendering of fields already created.
+
+
+</PRE><H3><a name="h3-Routine-Name-Index">Routine Name Index</a></H3><PRE>
+ The following table lists each <STRONG>form</STRONG> routine and the name of the manual
+ page on which it is described.
+
+ <STRONG>curses</STRONG> Routine Name Manual Page Name
+ --------------------------------------------------
+ current_field <STRONG><A HREF="form_page.3x.html">form_page(3x)</A></STRONG>
+ data_ahead <STRONG><A HREF="form_data.3x.html">form_data(3x)</A></STRONG>
+ data_behind <STRONG><A HREF="form_data.3x.html">form_data(3x)</A></STRONG>
+ dup_field <STRONG><A HREF="form_field_new.3x.html">form_field_new(3x)</A></STRONG>
+ dynamic_field_info <STRONG><A HREF="form_field_info.3x.html">form_field_info(3x)</A></STRONG>
+ field_arg <STRONG><A HREF="form_field_validation.3x.html">form_field_validation(3x)</A></STRONG>
+ field_back <STRONG><A HREF="form_field_attributes.3x.html">form_field_attributes(3x)</A></STRONG>
+ field_buffer <STRONG><A HREF="form_field_buffer.3x.html">form_field_buffer(3x)</A></STRONG>
+ field_count <STRONG><A HREF="form_field.3x.html">form_field(3x)</A></STRONG>
+ field_fore <STRONG><A HREF="form_field_attributes.3x.html">form_field_attributes(3x)</A></STRONG>
+ field_index <STRONG><A HREF="form_page.3x.html">form_page(3x)</A></STRONG>
+ field_info <STRONG><A HREF="form_field_info.3x.html">form_field_info(3x)</A></STRONG>
+ field_init <STRONG><A HREF="form_hook.3x.html">form_hook(3x)</A></STRONG>
+ field_just <STRONG><A HREF="form_field_just.3x.html">form_field_just(3x)</A></STRONG>
+ field_opts <STRONG><A HREF="form_field_opts.3x.html">form_field_opts(3x)</A></STRONG>
+ field_opts_off <STRONG><A HREF="form_field_opts.3x.html">form_field_opts(3x)</A></STRONG>
+ field_opts_on <STRONG><A HREF="form_field_opts.3x.html">form_field_opts(3x)</A></STRONG>
+ field_pad <STRONG><A HREF="form_field_attributes.3x.html">form_field_attributes(3x)</A></STRONG>
+ field_status <STRONG><A HREF="form_field_buffer.3x.html">form_field_buffer(3x)</A></STRONG>
+ field_term <STRONG><A HREF="form_hook.3x.html">form_hook(3x)</A></STRONG>
+ field_type <STRONG><A HREF="form_field_validation.3x.html">form_field_validation(3x)</A></STRONG>
+ field_userptr <STRONG><A HREF="form_field_userptr.3x.html">form_field_userptr(3x)</A></STRONG>
+ form_driver <STRONG><A HREF="form_driver.3x.html">form_driver(3x)</A></STRONG>
+
+ form_driver_w <STRONG><A HREF="form_driver.3x.html">form_driver(3x)</A></STRONG>*
+ form_fields <STRONG><A HREF="form_field.3x.html">form_field(3x)</A></STRONG>
+ form_init <STRONG><A HREF="form_hook.3x.html">form_hook(3x)</A></STRONG>
+ form_opts <STRONG><A HREF="form_opts.3x.html">form_opts(3x)</A></STRONG>
+ form_opts_off <STRONG><A HREF="form_opts.3x.html">form_opts(3x)</A></STRONG>
+ form_opts_on <STRONG><A HREF="form_opts.3x.html">form_opts(3x)</A></STRONG>
+ form_page <STRONG><A HREF="form_page.3x.html">form_page(3x)</A></STRONG>
+ form_request_by_name <STRONG><A HREF="form_requestname.3x.html">form_requestname(3x)</A></STRONG>
+ form_request_name <STRONG><A HREF="form_requestname.3x.html">form_requestname(3x)</A></STRONG>
+ form_sub <STRONG><A HREF="form_win.3x.html">form_win(3x)</A></STRONG>
+ form_term <STRONG><A HREF="form_hook.3x.html">form_hook(3x)</A></STRONG>
+ form_userptr <STRONG><A HREF="form_userptr.3x.html">form_userptr(3x)</A></STRONG>
+ form_win <STRONG><A HREF="form_win.3x.html">form_win(3x)</A></STRONG>
+ free_field <STRONG><A HREF="form_field_new.3x.html">form_field_new(3x)</A></STRONG>
+ free_fieldtype <STRONG><A HREF="form_fieldtype.3x.html">form_fieldtype(3x)</A></STRONG>
+ free_form <STRONG><A HREF="form_new.3x.html">form_new(3x)</A></STRONG>
+ link_field <STRONG><A HREF="form_field_new.3x.html">form_field_new(3x)</A></STRONG>
+ link_fieldtype <STRONG><A HREF="form_fieldtype.3x.html">form_fieldtype(3x)</A></STRONG>
+ move_field <STRONG><A HREF="form_field.3x.html">form_field(3x)</A></STRONG>
+ new_field <STRONG><A HREF="form_field_new.3x.html">form_field_new(3x)</A></STRONG>
+ new_fieldtype <STRONG><A HREF="form_fieldtype.3x.html">form_fieldtype(3x)</A></STRONG>
+ new_form <STRONG><A HREF="form_new.3x.html">form_new(3x)</A></STRONG>
+ new_page <STRONG><A HREF="form_new_page.3x.html">form_new_page(3x)</A></STRONG>
+ pos_form_cursor <STRONG><A HREF="form_cursor.3x.html">form_cursor(3x)</A></STRONG>
+ post_form <STRONG><A HREF="form_post.3x.html">form_post(3x)</A></STRONG>
+ scale_form <STRONG><A HREF="form_win.3x.html">form_win(3x)</A></STRONG>
+ set_current_field <STRONG><A HREF="form_page.3x.html">form_page(3x)</A></STRONG>
+ set_field_back <STRONG><A HREF="form_field_attributes.3x.html">form_field_attributes(3x)</A></STRONG>
+ set_field_buffer <STRONG><A HREF="form_field_buffer.3x.html">form_field_buffer(3x)</A></STRONG>
+ set_field_fore <STRONG><A HREF="form_field_attributes.3x.html">form_field_attributes(3x)</A></STRONG>
+ set_field_init <STRONG><A HREF="form_hook.3x.html">form_hook(3x)</A></STRONG>
+ set_field_just <STRONG><A HREF="form_field_just.3x.html">form_field_just(3x)</A></STRONG>
+ set_field_opts <STRONG><A HREF="form_field_opts.3x.html">form_field_opts(3x)</A></STRONG>
+ set_field_pad <STRONG><A HREF="form_field_attributes.3x.html">form_field_attributes(3x)</A></STRONG>
+ set_field_status <STRONG><A HREF="form_field_buffer.3x.html">form_field_buffer(3x)</A></STRONG>
+ set_field_term <STRONG><A HREF="form_hook.3x.html">form_hook(3x)</A></STRONG>
+ set_field_type <STRONG><A HREF="form_field_validation.3x.html">form_field_validation(3x)</A></STRONG>
+ set_field_userptr <STRONG><A HREF="form_field_userptr.3x.html">form_field_userptr(3x)</A></STRONG>
+ set_fieldtype_arg <STRONG><A HREF="form_fieldtype.3x.html">form_fieldtype(3x)</A></STRONG>
+ set_fieldtype_choice <STRONG><A HREF="form_fieldtype.3x.html">form_fieldtype(3x)</A></STRONG>
+ set_form_fields <STRONG><A HREF="form_field.3x.html">form_field(3x)</A></STRONG>
+ set_form_init <STRONG><A HREF="form_hook.3x.html">form_hook(3x)</A></STRONG>
+ set_form_opts <STRONG><A HREF="form_field_opts.3x.html">form_field_opts(3x)</A></STRONG>
+ set_form_page <STRONG><A HREF="form_page.3x.html">form_page(3x)</A></STRONG>
+ set_form_sub <STRONG><A HREF="form_win.3x.html">form_win(3x)</A></STRONG>
+ set_form_term <STRONG><A HREF="form_hook.3x.html">form_hook(3x)</A></STRONG>
+ set_form_userptr <STRONG><A HREF="form_userptr.3x.html">form_userptr(3x)</A></STRONG>
+ set_form_win <STRONG><A HREF="form_win.3x.html">form_win(3x)</A></STRONG>
+ set_max_field <STRONG><A HREF="form_field_buffer.3x.html">form_field_buffer(3x)</A></STRONG>
+ set_new_page <STRONG><A HREF="form_new_page.3x.html">form_new_page(3x)</A></STRONG>
+ unfocus_current_field <STRONG><A HREF="form_page.3x.html">form_page(3x)</A></STRONG>
+ unpost_form <STRONG><A HREF="form_post.3x.html">form_post(3x)</A></STRONG>
+
+
+</PRE><H2><a name="h2-RETURN-VALUE">RETURN VALUE</a></H2><PRE>
+ Routines that return pointers return <STRONG>NULL</STRONG> on error, and set errno to
+ the corresponding error-code returned by functions returning an inte-
+ ger. Routines that return an integer return one of the following error
+ codes:
<STRONG>E_OK</STRONG> The routine succeeded.
<STRONG>E_BAD_ARGUMENT</STRONG>
- Routine detected an incorrect or out-of-range argu-
- ment.
+ Routine detected an incorrect or out-of-range argument.
<STRONG>E_BAD_STATE</STRONG>
- Routine was called from an initialization or termina-
- tion function.
+ Routine was called from an initialization or termination function.
<STRONG>E_CONNECTED</STRONG>
The field is already connected to a form.
@@ -206,53 +202,72 @@
The form driver could not process the request.
<STRONG>E_SYSTEM_ERROR</STRONG>
- System error occurred (see <STRONG>errno</STRONG>).
+ System error occurred (see <STRONG>errno(3)</STRONG>).
<STRONG>E_UNKNOWN_COMMAND</STRONG>
The form driver code saw an unknown request code.
-</PRE>
-<H2>SEE ALSO</H2><PRE>
- <STRONG><A HREF="ncurses.3x.html">curses(3x)</A></STRONG> and related pages whose names begin "form_" for
- detailed descriptions of the entry points.
+</PRE><H2><a name="h2-NOTES">NOTES</a></H2><PRE>
+ The header file <STRONG>&lt;form.h&gt;</STRONG> automatically includes the header files
+ <STRONG>&lt;curses.h&gt;</STRONG> and <STRONG>&lt;eti.h&gt;</STRONG>.
+ In your library list, libform.a should be before libncurses.a; that is,
+ you want to say "-lform -lncurses", not the other way around (which
+ would give you a link error when using static libraries).
-</PRE>
-<H2>NOTES</H2><PRE>
- The header file <STRONG>&lt;form.h&gt;</STRONG> automatically includes the header
- files <STRONG>&lt;curses.h&gt;</STRONG> and <STRONG>&lt;eti.h&gt;</STRONG>.
- In your library list, libform.a should be before libn-
- curses.a; that is, you want to say `-lform -lncurses', not
- the other way around (which would give you a link error
- using most linkers).
+</PRE><H2><a name="h2-PORTABILITY">PORTABILITY</a></H2><PRE>
+ These routines emulate the System V forms library. They were not sup-
+ ported on Version 7 or BSD versions.
+ The menu facility was documented in SVr4.2 in <EM>Character</EM> <EM>User</EM> <EM>Interface</EM>
+ <EM>Programming</EM> <EM>(UNIX</EM> <EM>SVR4.2)</EM>.
-</PRE>
-<H2>PORTABILITY</H2><PRE>
- These routines emulate the System V forms library. They
- were not supported on Version 7 or BSD versions.
+ It is not part of X/Open Curses.
+ Aside from ncurses, there are few implementations:
-</PRE>
-<H2>AUTHORS</H2><PRE>
- Juergen Pfeifer. Manual pages and adaptation for ncurses
- by Eric S. Raymond.
+ <STRONG>o</STRONG> systems based on SVr4 source code, e.g., Solaris.
+ <STRONG>o</STRONG> NetBSD curses.
-</PRE>
-<H2>SEE ALSO</H2><PRE>
- This describes <STRONG>ncurses</STRONG> version 5.9 (patch 20131221).
+ A few functions in this implementation are extensions added for
+ ncurses, but not provided by other implementations, e.g.,
+ <STRONG>form_driver_w</STRONG>, <STRONG>unfocus_current_field</STRONG>.
+
+
+</PRE><H2><a name="h2-AUTHORS">AUTHORS</a></H2><PRE>
+ Juergen Pfeifer. Manual pages and adaptation for ncurses by Eric S.
+ Raymond.
+
+
+</PRE><H2><a name="h2-SEE-ALSO">SEE ALSO</a></H2><PRE>
+ <STRONG><A HREF="ncurses.3x.html">curses(3x)</A></STRONG> and related pages whose names begin "form_" for detailed
+ descriptions of the entry points.
+
+ This describes <STRONG>ncurses</STRONG> version 6.1 (patch 20200118).
- <STRONG><A HREF="form.3x.html">form(3x)</A></STRONG>
+ <STRONG><A HREF="form.3x.html">form(3x)</A></STRONG>
</PRE>
-<HR>
-<ADDRESS>
-Man(1) output converted with
-<a href="http://www.oac.uci.edu/indiv/ehood/man2html.html">man2html</a>
-</ADDRESS>
+<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>
+<ul>
+<li><a href="#h3-Current-Default-Values-for-Field-Attributes">Current Default Values for Field Attributes</a></li>
+<li><a href="#h3-Routine-Name-Index">Routine Name Index</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-PORTABILITY">PORTABILITY</a></li>
+<li><a href="#h2-AUTHORS">AUTHORS</a></li>
+<li><a href="#h2-SEE-ALSO">SEE ALSO</a></li>
+</ul>
+</div>
</BODY>
</HTML>
diff --git a/doc/html/man/form_cursor.3x.html b/doc/html/man/form_cursor.3x.html
index 0dc4bee2a45f..9dcc6eee8886 100644
--- a/doc/html/man/form_cursor.3x.html
+++ b/doc/html/man/form_cursor.3x.html
@@ -1,8 +1,7 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN">
<!--
* t
****************************************************************************
- * Copyright (c) 1998-2006,2010 Free Software Foundation, Inc. *
+ * Copyright (c) 1998-2018,2019 Free Software Foundation, Inc. *
* *
* Permission is hereby granted, free of charge, to any person obtaining a *
* copy of this software and associated documentation files (the *
@@ -28,91 +27,89 @@
* sale, use or other dealings in this Software without prior written *
* authorization. *
****************************************************************************
- * @Id: form_cursor.3x,v 1.8 2010/12/04 18:40:45 tom Exp @
+ * @Id: form_cursor.3x,v 1.11 2019/01/20 20:31:42 tom Exp @
-->
+<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN">
<HTML>
<HEAD>
+<meta http-equiv="Content-Type" content="text/html; charset=us-ascii">
+<meta name="generator" content="Manpage converted by man2html - see https://invisible-island.net/scripts/readme.html#others_scripts">
<TITLE>form_cursor 3x</TITLE>
-<link rev=made href="mailto:bug-ncurses@gnu.org">
+<link rel="author" href="mailto:bug-ncurses@gnu.org">
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
</HEAD>
<BODY>
-<H1>form_cursor 3x</H1>
-<HR>
+<H1 class="no-header">form_cursor 3x</H1>
<PRE>
-<!-- Manpage converted by man2html 3.0.1 -->
-<STRONG><A HREF="form_cursor.3x.html">form_cursor(3x)</A></STRONG> <STRONG><A HREF="form_cursor.3x.html">form_cursor(3x)</A></STRONG>
+<STRONG><A HREF="form_cursor.3x.html">form_cursor(3x)</A></STRONG> <STRONG><A HREF="form_cursor.3x.html">form_cursor(3x)</A></STRONG>
-</PRE>
-<H2>NAME</H2><PRE>
- <STRONG>form_cursor</STRONG> - position a form window cursor
+</PRE><H2><a name="h2-NAME">NAME</a></H2><PRE>
+ <STRONG>pos_form_cursor</STRONG> - position a form window cursor
-</PRE>
-<H2>SYNOPSIS</H2><PRE>
+</PRE><H2><a name="h2-SYNOPSIS">SYNOPSIS</a></H2><PRE>
<STRONG>#include</STRONG> <STRONG>&lt;form.h&gt;</STRONG>
int pos_form_cursor(FORM *form);
-</PRE>
-<H2>DESCRIPTION</H2><PRE>
- The function <STRONG>pos_form_cursor</STRONG> restores the cursor to the
- position required for the forms driver to continue pro-
- cessing requests. This is useful after <STRONG>curses</STRONG> routines
- have been called to do screen-painting in response to a
- form operation.
+</PRE><H2><a name="h2-DESCRIPTION">DESCRIPTION</a></H2><PRE>
+ The function <STRONG>pos_form_cursor</STRONG> restores the cursor to the position
+ required for the forms driver to continue processing requests. This is
+ useful after <STRONG>curses</STRONG> routines have been called to do screen-painting in
+ response to a form operation.
-</PRE>
-<H2>RETURN VALUE</H2><PRE>
+</PRE><H2><a name="h2-RETURN-VALUE">RETURN VALUE</a></H2><PRE>
This routine returns one of the following:
<STRONG>E_OK</STRONG> The routine succeeded.
<STRONG>E_BAD_ARGUMENT</STRONG>
- Routine detected an incorrect or out-of-range argu-
- ment.
+ Routine detected an incorrect or out-of-range argument.
<STRONG>E_NOT_POSTED</STRONG>
The form has not been posted.
<STRONG>E_SYSTEM_ERROR</STRONG>
- System error occurred (see <STRONG>errno</STRONG>).
+ System error occurred (see <STRONG>errno(3)</STRONG>).
-</PRE>
-<H2>SEE ALSO</H2><PRE>
+</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="form.3x.html">form(3x)</A></STRONG>.
-</PRE>
-<H2>NOTES</H2><PRE>
- The header file <STRONG>&lt;form.h&gt;</STRONG> automatically includes the header
- file <STRONG>&lt;curses.h&gt;</STRONG>.
+</PRE><H2><a name="h2-NOTES">NOTES</a></H2><PRE>
+ The header file <STRONG>&lt;form.h&gt;</STRONG> automatically includes the header file
+ <STRONG>&lt;curses.h&gt;</STRONG>.
-</PRE>
-<H2>PORTABILITY</H2><PRE>
- These routines emulate the System V forms library. They
- were not supported on Version 7 or BSD versions.
+</PRE><H2><a name="h2-PORTABILITY">PORTABILITY</a></H2><PRE>
+ These routines emulate the System V forms library. They were not sup-
+ ported on Version 7 or BSD versions.
-</PRE>
-<H2>AUTHORS</H2><PRE>
- Juergen Pfeifer. Manual pages and adaptation for new
- curses by Eric S. Raymond.
+</PRE><H2><a name="h2-AUTHORS">AUTHORS</a></H2><PRE>
+ Juergen Pfeifer. Manual pages and adaptation for new curses by Eric S.
+ Raymond.
- <STRONG><A HREF="form_cursor.3x.html">form_cursor(3x)</A></STRONG>
+ <STRONG><A HREF="form_cursor.3x.html">form_cursor(3x)</A></STRONG>
</PRE>
-<HR>
-<ADDRESS>
-Man(1) output converted with
-<a href="http://www.oac.uci.edu/indiv/ehood/man2html.html">man2html</a>
-</ADDRESS>
+<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>
+<li><a href="#h2-RETURN-VALUE">RETURN VALUE</a></li>
+<li><a href="#h2-SEE-ALSO">SEE ALSO</a></li>
+<li><a href="#h2-NOTES">NOTES</a></li>
+<li><a href="#h2-PORTABILITY">PORTABILITY</a></li>
+<li><a href="#h2-AUTHORS">AUTHORS</a></li>
+</ul>
+</div>
</BODY>
</HTML>
diff --git a/doc/html/man/form_data.3x.html b/doc/html/man/form_data.3x.html
index d7d0dfa16888..71839fabdc10 100644
--- a/doc/html/man/form_data.3x.html
+++ b/doc/html/man/form_data.3x.html
@@ -1,8 +1,7 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN">
<!--
* t
****************************************************************************
- * Copyright (c) 1998-2006,2010 Free Software Foundation, Inc. *
+ * Copyright (c) 1998-2015,2018 Free Software Foundation, Inc. *
* *
* Permission is hereby granted, free of charge, to any person obtaining a *
* copy of this software and associated documentation files (the *
@@ -28,77 +27,75 @@
* sale, use or other dealings in this Software without prior written *
* authorization. *
****************************************************************************
- * @Id: form_data.3x,v 1.10 2010/12/04 18:40:45 tom Exp @
+ * @Id: form_data.3x,v 1.12 2018/07/28 21:34:06 tom Exp @
-->
+<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN">
<HTML>
<HEAD>
+<meta http-equiv="Content-Type" content="text/html; charset=us-ascii">
+<meta name="generator" content="Manpage converted by man2html - see https://invisible-island.net/scripts/readme.html#others_scripts">
<TITLE>form_data 3x</TITLE>
-<link rev=made href="mailto:bug-ncurses@gnu.org">
+<link rel="author" href="mailto:bug-ncurses@gnu.org">
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
</HEAD>
<BODY>
-<H1>form_data 3x</H1>
-<HR>
+<H1 class="no-header">form_data 3x</H1>
<PRE>
-<!-- Manpage converted by man2html 3.0.1 -->
-<STRONG><A HREF="form_data.3x.html">form_data(3x)</A></STRONG> <STRONG><A HREF="form_data.3x.html">form_data(3x)</A></STRONG>
+<STRONG><A HREF="form_data.3x.html">form_data(3x)</A></STRONG> <STRONG><A HREF="form_data.3x.html">form_data(3x)</A></STRONG>
-</PRE>
-<H2>NAME</H2><PRE>
- <STRONG>form_data</STRONG> - test for off-screen data in given forms
+</PRE><H2><a name="h2-NAME">NAME</a></H2><PRE>
+ <STRONG>data_ahead</STRONG>, <STRONG>data_behind</STRONG> - test for off-screen data in given forms
-</PRE>
-<H2>SYNOPSIS</H2><PRE>
+</PRE><H2><a name="h2-SYNOPSIS">SYNOPSIS</a></H2><PRE>
<STRONG>#include</STRONG> <STRONG>&lt;form.h&gt;</STRONG>
bool data_ahead(const FORM *form);
bool data_behind(const FORM *form);
-</PRE>
-<H2>DESCRIPTION</H2><PRE>
- The function <STRONG>data_ahead</STRONG> tests whether there is off-screen
- data ahead in the given form. It returns TRUE (1) or
- FALSE (0).
+</PRE><H2><a name="h2-DESCRIPTION">DESCRIPTION</a></H2><PRE>
+ The function <STRONG>data_ahead</STRONG> tests whether there is off-screen data ahead in
+ the given form. It returns TRUE (1) or FALSE (0).
- The function <STRONG>data_behind</STRONG> tests whether there is off-screen
- data behind in the given form. It returns TRUE (1) or
- FALSE (0).
+ The function <STRONG>data_behind</STRONG> tests whether there is off-screen data behind
+ in the given form. It returns TRUE (1) or FALSE (0).
-</PRE>
-<H2>SEE ALSO</H2><PRE>
+</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="form.3x.html">form(3x)</A></STRONG>.
-</PRE>
-<H2>NOTES</H2><PRE>
- The header file <STRONG>&lt;form.h&gt;</STRONG> automatically includes the header
- file <STRONG>&lt;curses.h&gt;</STRONG>.
+</PRE><H2><a name="h2-NOTES">NOTES</a></H2><PRE>
+ The header file <STRONG>&lt;form.h&gt;</STRONG> automatically includes the header file
+ <STRONG>&lt;curses.h&gt;</STRONG>.
-</PRE>
-<H2>PORTABILITY</H2><PRE>
- These routines emulate the System V forms library. They
- were not supported on Version 7 or BSD versions.
+</PRE><H2><a name="h2-PORTABILITY">PORTABILITY</a></H2><PRE>
+ These routines emulate the System V forms library. They were not sup-
+ ported on Version 7 or BSD versions.
-</PRE>
-<H2>AUTHORS</H2><PRE>
- Juergen Pfeifer. Manual pages and adaptation for new
- curses by Eric S. Raymond.
+</PRE><H2><a name="h2-AUTHORS">AUTHORS</a></H2><PRE>
+ Juergen Pfeifer. Manual pages and adaptation for new curses by Eric S.
+ Raymond.
- <STRONG><A HREF="form_data.3x.html">form_data(3x)</A></STRONG>
+ <STRONG><A HREF="form_data.3x.html">form_data(3x)</A></STRONG>
</PRE>
-<HR>
-<ADDRESS>
-Man(1) output converted with
-<a href="http://www.oac.uci.edu/indiv/ehood/man2html.html">man2html</a>
-</ADDRESS>
+<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>
+<li><a href="#h2-SEE-ALSO">SEE ALSO</a></li>
+<li><a href="#h2-NOTES">NOTES</a></li>
+<li><a href="#h2-PORTABILITY">PORTABILITY</a></li>
+<li><a href="#h2-AUTHORS">AUTHORS</a></li>
+</ul>
+</div>
</BODY>
</HTML>
diff --git a/doc/html/man/form_driver.3x.html b/doc/html/man/form_driver.3x.html
index 7ffe298ef856..f815be827f58 100644
--- a/doc/html/man/form_driver.3x.html
+++ b/doc/html/man/form_driver.3x.html
@@ -1,7 +1,6 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN">
<!--
****************************************************************************
- * Copyright (c) 1998-2008,2010 Free Software Foundation, Inc. *
+ * Copyright (c) 1998-2018,2019 Free Software Foundation, Inc. *
* *
* Permission is hereby granted, free of charge, to any person obtaining a *
* copy of this software and associated documentation files (the *
@@ -27,243 +26,163 @@
* sale, use or other dealings in this Software without prior written *
* authorization. *
****************************************************************************
- * @Id: form_driver.3x,v 1.22 2010/12/04 18:38:55 tom Exp @
+ * @Id: form_driver.3x,v 1.32 2019/01/20 20:31:42 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</TITLE>
-<link rev=made href="mailto:bug-ncurses@gnu.org">
+<link rel="author" href="mailto:bug-ncurses@gnu.org">
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
</HEAD>
<BODY>
-<H1>form_driver 3x</H1>
-<HR>
+<H1 class="no-header">form_driver 3x</H1>
<PRE>
-<!-- Manpage converted by man2html 3.0.1 -->
-<STRONG><A HREF="form_driver.3x.html">form_driver(3x)</A></STRONG> <STRONG><A HREF="form_driver.3x.html">form_driver(3x)</A></STRONG>
+<STRONG><A HREF="form_driver.3x.html">form_driver(3x)</A></STRONG> <STRONG><A HREF="form_driver.3x.html">form_driver(3x)</A></STRONG>
-</PRE>
-<H2>NAME</H2><PRE>
- <STRONG>form_driver</STRONG> - command-processing loop of the form system
+</PRE><H2><a name="h2-NAME">NAME</a></H2><PRE>
+ <STRONG>form_driver</STRONG>, <STRONG>form_driver_w</STRONG> - command-processing loop of the form system
-</PRE>
-<H2>SYNOPSIS</H2><PRE>
+</PRE><H2><a name="h2-SYNOPSIS">SYNOPSIS</a></H2><PRE>
<STRONG>#include</STRONG> <STRONG>&lt;form.h&gt;</STRONG>
- int form_driver(FORM *form, int c);
-
-
-</PRE>
-<H2>DESCRIPTION</H2><PRE>
- Once a form has been posted (displayed), you should funnel
- input events to it through <STRONG>form_driver</STRONG>. This routine has
- three major input cases:
-
- <STRONG>o</STRONG> The input is a form navigation request. Navigation
- request codes are constants defined in <STRONG>&lt;form.h&gt;</STRONG>, which
- are distinct from the key- and character codes
- returned by <STRONG>wgetch</STRONG>.
-
- <STRONG>o</STRONG> The input is a printable character. Printable charac-
- ters (which must be positive, less than 256) are
- checked according to the program's locale settings.
-
- <STRONG>o</STRONG> The input is the KEY_MOUSE special key associated with
- an mouse event.
-
- The form driver requests are as follows:
-
- REQ_NEXT_PAGE
- Move to the next page.
-
- REQ_PREV_PAGE
- Move to the previous page.
-
- REQ_FIRST_PAGE
- Move to the first page.
-
- REQ_LAST_PAGE
- Move to the last field.
-
-
- REQ_NEXT_FIELD
- Move to the next field.
-
- REQ_PREV_FIELD
- Move to the previous field.
-
- REQ_FIRST_FIELD
- Move to the first field.
-
- REQ_LAST_FIELD
- Move to the last field.
-
- REQ_SNEXT_FIELD
- Move to the sorted next field.
-
- REQ_SPREV_FIELD
- Move to the sorted previous field.
-
- REQ_SFIRST_FIELD
- Move to the sorted first field.
-
- REQ_SLAST_FIELD
- Move to the sorted last field.
-
- REQ_LEFT_FIELD
- Move left to a field.
-
- REQ_RIGHT_FIELD
- Move right to a field.
-
- REQ_UP_FIELD
- Move up to a field.
-
- REQ_DOWN_FIELD
- Move down to a field.
-
-
- REQ_NEXT_CHAR
- Move to the next char.
-
- REQ_PREV_CHAR
- Move to the previous char.
-
- REQ_NEXT_LINE
- Move to the next line.
-
- REQ_PREV_LINE
- Move to the previous line.
-
- REQ_NEXT_WORD
- Move to the next word.
-
- REQ_PREV_WORD
- Move to the previous word.
-
- REQ_BEG_FIELD
- Move to the beginning of the field.
+ <STRONG>int</STRONG> <STRONG>form_driver(FORM</STRONG> <STRONG>*</STRONG><EM>form</EM><STRONG>,</STRONG> <STRONG>int</STRONG> <EM>c</EM><STRONG>);</STRONG>
+ <STRONG>int</STRONG> <STRONG>form_driver_w(FORM</STRONG> <STRONG>*</STRONG><EM>form</EM><STRONG>,</STRONG> <STRONG>int</STRONG> <EM>c</EM><STRONG>,</STRONG> <STRONG>wchar_t</STRONG> <EM>wch</EM><STRONG>);</STRONG>
- REQ_END_FIELD
- Move to the end of the field.
- REQ_BEG_LINE
- Move to the beginning of the line.
+</PRE><H2><a name="h2-DESCRIPTION">DESCRIPTION</a></H2><PRE>
- REQ_END_LINE
- Move to the end of the line.
+</PRE><H3><a name="h3-form_driver">form_driver</a></H3><PRE>
+ Once a form has been posted (displayed), you should funnel input events
+ to it through <STRONG>form_driver</STRONG>. This routine has three major input cases:
- REQ_LEFT_CHAR
- Move left in the field.
+ <STRONG>o</STRONG> The input is a form navigation request. Navigation request codes
+ are constants defined in <STRONG>&lt;form.h&gt;</STRONG>, which are distinct from the key-
+ and character codes returned by <STRONG><A HREF="curs_getch.3x.html">wgetch(3x)</A></STRONG>.
- REQ_RIGHT_CHAR
- Move right in the field.
+ <STRONG>o</STRONG> The input is a printable character. Printable characters (which
+ must be positive, less than 256) are checked according to the pro-
+ gram's locale settings.
- REQ_UP_CHAR
- Move up in the field.
+ <STRONG>o</STRONG> The input is the KEY_MOUSE special key associated with an mouse
+ event.
- REQ_DOWN_CHAR
- Move down in the field.
+</PRE><H3><a name="h3-form_driver_w">form_driver_w</a></H3><PRE>
+ This extension simplifies the use of the forms library using wide char-
+ acters. The input is either a key code (a request) or a wide character
+ returned by <STRONG><A HREF="curs_get_wch.3x.html">get_wch(3x)</A></STRONG>. The type must be passed as well, to enable
+ the library to determine whether the parameter is a wide character or a
+ request.
- REQ_NEW_LINE
- Insert or overlay a new line.
- REQ_INS_CHAR
- Insert a blank at the cursor.
-
- REQ_INS_LINE
- Insert a blank line at the cursor.
-
- REQ_DEL_CHAR
- Delete character at the cursor.
-
- REQ_DEL_PREV
- Delete character before the cursor.
-
- REQ_DEL_LINE
- Delete line at the cursor.
-
- REQ_DEL_WORD
- Delete blank-delimited word at the cursor.
-
- REQ_CLR_EOL
- Clear to end of line from cursor.
-
- REQ_CLR_EOF
- Clear to end of field from cursor.
-
- REQ_CLR_FIELD
- Clear the entire field.
-
- REQ_OVL_MODE
- Enter overlay mode.
-
- REQ_INS_MODE
- Enter insert mode.
-
-
- REQ_SCR_FLINE
- Scroll the field forward a line.
-
- REQ_SCR_BLINE
- Scroll the field backward a line.
-
- REQ_SCR_FPAGE
- Scroll the field forward a page.
-
- REQ_SCR_BPAGE
- Scroll the field backward a page.
-
- REQ_SCR_FHPAGE
- Scroll the field forward half a page.
-
- REQ_SCR_BHPAGE
- Scroll the field backward half a page.
-
-
- REQ_SCR_FCHAR
- Scroll the field forward a character.
-
- REQ_SCR_BCHAR
- Scroll the field backward a character.
-
- REQ_SCR_HFLINE
- Horizontal scroll the field forward a line.
-
- REQ_SCR_HBLINE
- Horizontal scroll the field backward a line.
-
- REQ_SCR_HFHALF
- Horizontal scroll the field forward half a line.
-
- REQ_SCR_HBHALF
- Horizontal scroll the field backward half a line.
-
-
- REQ_VALIDATION
- Validate field.
-
- REQ_NEXT_CHOICE
- Display next field choice.
-
- REQ_PREV_CHOICE
- Display previous field choice.
-
- 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.
+</PRE><H3><a name="h3-Form-driver-requests">Form-driver requests</a></H3><PRE>
+ The form driver requests are as follows:
- <STRONG>MOUSE</STRONG> <STRONG>HANDLING</STRONG>
- 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 area or the decora-
- tion window) are handled.
+ <EM>Name</EM> <EM>Description</EM>
+ ---------------------------------------------------------------------
+ REQ_BEG_FIELD Move to the beginning of the field.
+ REQ_BEG_LINE Move to the beginning of the line.
+ REQ_CLR_EOF Clear to end of field from cursor.
+ REQ_CLR_EOL Clear to end of line from cursor.
+ REQ_CLR_FIELD Clear the entire field.
+ REQ_DEL_CHAR Delete character at the cursor.
+ REQ_DEL_LINE Delete line at the cursor.
+ REQ_DEL_PREV Delete character before the cursor.
+ REQ_DEL_WORD Delete blank-delimited word at the cursor.
+ REQ_DOWN_CHAR Move down in the field.
+ REQ_DOWN_FIELD Move down to a field.
+ REQ_END_FIELD Move to the end of the field.
+ REQ_END_LINE Move to the end of the line.
+ REQ_FIRST_FIELD Move to the first field.
+ REQ_FIRST_PAGE Move to the first page.
+ REQ_INS_CHAR Insert a blank at the cursor.
+ REQ_INS_LINE Insert a blank line at the cursor.
+ REQ_INS_MODE Enter insert mode.
+ REQ_LAST_FIELD Move to the last field.
+ REQ_LAST_PAGE Move to the last field.
+ REQ_LEFT_CHAR Move left in the field.
+ REQ_LEFT_FIELD Move left to a field.
+ REQ_NEW_LINE Insert or overlay a new line.
+ REQ_NEXT_CHAR Move to the next char.
+ REQ_NEXT_CHOICE Display next field choice.
+
+ REQ_NEXT_FIELD Move to the next field.
+ REQ_NEXT_LINE Move to the next line.
+ REQ_NEXT_PAGE Move to the next page.
+ REQ_NEXT_PAGE Move to the next page.
+ REQ_NEXT_WORD Move to the next word.
+ REQ_OVL_MODE Enter overlay mode.
+ REQ_PREV_CHAR Move to the previous char.
+ REQ_PREV_CHOICE Display previous field choice.
+ REQ_PREV_FIELD Move to the previous field.
+ REQ_PREV_LINE Move to the previous line.
+ REQ_PREV_PAGE Move to the previous page.
+ REQ_PREV_WORD Move to the previous word.
+ REQ_RIGHT_CHAR Move right in the field.
+ REQ_RIGHT_FIELD Move right to a field.
+ REQ_SCR_BCHAR Scroll the field backward a character.
+ REQ_SCR_BHPAGE Scroll the field backward half a page.
+ REQ_SCR_BLINE Scroll the field backward a line.
+ REQ_SCR_BPAGE Scroll the field backward a page.
+ REQ_SCR_FCHAR Scroll the field forward a character.
+ REQ_SCR_FHPAGE Scroll the field forward half a page.
+ REQ_SCR_FLINE Scroll the field forward a line.
+ REQ_SCR_FPAGE Scroll the field forward a page.
+ REQ_SCR_HBHALF Horizontal scroll the field backward half a line.
+ REQ_SCR_HBLINE Horizontal scroll the field backward a line.
+ REQ_SCR_HFHALF Horizontal scroll the field forward half a line.
+ REQ_SCR_HFLINE Horizontal scroll the field forward a line.
+ REQ_SFIRST_FIELD Move to the sorted first field.
+ REQ_SLAST_FIELD Move to the sorted last field.
+ REQ_SNEXT_FIELD Move to the sorted next field.
+ REQ_SPREV_FIELD Move to the sorted previous field.
+ REQ_UP_CHAR Move up in the field.
+ REQ_UP_FIELD Move up to a field.
+ REQ_VALIDATION Validate field.
+
+ 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.
+
+
+</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.
+
+ The form driver provides low-level control over updates to the form
+ fields. The form driver also provides for validating modified fields
+ to ensure that the contents meet whatever constraints an application
+ may attach using <STRONG>set_field_type</STRONG>.
+
+ You can validate a field without making any changes to it using
+ <STRONG>REQ_VALIDATION</STRONG>. The form driver also validates a field in these cases:
+
+ <STRONG>o</STRONG> a call to <STRONG>set_current_field</STRONG> attempts to move to a different field.
+
+ <STRONG>o</STRONG> a call to <STRONG>set_current_page</STRONG> attempts to move to a different page of
+ the form.
+
+ <STRONG>o</STRONG> a request attempts to move to a different field.
+
+ <STRONG>o</STRONG> a request attempts to move to a different page of the form.
+
+ 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.
+
+
+</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
+ area or the decoration window) are handled.
If you click above the display region of the form:
@@ -281,48 +200,42 @@
a REQ_LAST_FIELD is generated for a triple-click.
- If you click at an field inside the display area of the
- form:
+ If you click at an field inside the display area of the form:
<STRONG>o</STRONG> the form cursor is positioned to that field.
- <STRONG>o</STRONG> If you double-click a field, the form cursor is
- positioned to that field and <STRONG>E_UNKNOWN_COMMAND</STRONG> is
- returned. This return value makes sense, because a
- double click usually means that an field-specific
- action should be returned. It is exactly the pur-
- pose of this return value to signal that an appli-
- cation specific command should be executed.
+ <STRONG>o</STRONG> If you double-click a field, the form cursor is positioned to
+ that field and <STRONG>E_UNKNOWN_COMMAND</STRONG> is returned. This return value
+ makes sense, because a double click usually means that an field-
+ specific action should be returned. It is exactly the purpose
+ of this return value to signal that an application specific com-
+ mand should be executed.
- <STRONG>o</STRONG> If a translation into a request was done,
- <STRONG>form_driver</STRONG> returns the result of this request.
+ <STRONG>o</STRONG> If a translation into a request was done, <STRONG>form_driver</STRONG> 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
- <STRONG>E_REQUEST_DENIED</STRONG> is returned.
+ If you clicked outside the user window or the mouse event could not be
+ translated into a form request an <STRONG>E_REQUEST_DENIED</STRONG> is returned.
- <STRONG>APPLICATION-DEFINED</STRONG> <STRONG>COMMANDS</STRONG>
- 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_COM-</STRONG>
- <STRONG>MAND</STRONG>. Application-defined commands should be defined rel-
- ative to <STRONG>MAX_COMMAND</STRONG>, the maximum value of these pre-
- defined requests.
+</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
+ should be defined relative to <STRONG>MAX_COMMAND</STRONG>, the maximum value of these
+ pre-defined requests.
-</PRE>
-<H2>RETURN VALUE</H2><PRE>
+
+</PRE><H2><a name="h2-RETURN-VALUE">RETURN VALUE</a></H2><PRE>
<STRONG>form_driver</STRONG> returns one of the following error codes:
<STRONG>E_OK</STRONG> The routine succeeded.
<STRONG>E_BAD_ARGUMENT</STRONG>
- Routine detected an incorrect or out-of-range argu-
- ment.
+ Routine detected an incorrect or out-of-range argument.
<STRONG>E_BAD_STATE</STRONG>
- Routine was called from an initialization or termina-
- tion function.
+ Routine was called from an initialization or termination function.
<STRONG>E_NOT_POSTED</STRONG>
The form has not been posted.
@@ -330,46 +243,62 @@
<STRONG>E_INVALID_FIELD</STRONG>
Contents of field is invalid.
+ <STRONG>E_NOT_CONNECTED</STRONG>
+ No fields are connected to the form.
+
<STRONG>E_REQUEST_DENIED</STRONG>
The form driver could not process the request.
<STRONG>E_SYSTEM_ERROR</STRONG>
- System error occurred (see <STRONG>errno</STRONG>).
+ System error occurred (see <STRONG>errno(3)</STRONG>).
<STRONG>E_UNKNOWN_COMMAND</STRONG>
The form driver code saw an unknown request code.
-</PRE>
-<H2>SEE ALSO</H2><PRE>
- <STRONG><A HREF="ncurses.3x.html">curses(3x)</A></STRONG>, <STRONG><A HREF="form.3x.html">form(3x)</A></STRONG>, <STRONG><A HREF="form_variables.3x.html">form_variables(3x)</A></STRONG>, <STRONG><A HREF="curs_getch.3x.html">curs_getch(3x)</A></STRONG>.
+</PRE><H2><a name="h2-SEE-ALSO">SEE ALSO</a></H2><PRE>
+ <STRONG><A HREF="ncurses.3x.html">curses(3x)</A></STRONG>, <STRONG><A HREF="form.3x.html">form(3x)</A></STRONG>, <STRONG><A HREF="form_field_buffer.3x.html">form_field_buffer(3x)</A></STRONG>, <STRONG><A HREF="form_field_validation.3x.html">form_field_validation(3x)</A></STRONG>,
+ <STRONG><A HREF="form_fieldtype.3x.html">form_fieldtype(3x)</A></STRONG>, <STRONG><A HREF="form_variables.3x.html">form_variables(3x)</A></STRONG>, <STRONG><A HREF="curs_getch.3x.html">getch(3x)</A></STRONG>.
-</PRE>
-<H2>NOTES</H2><PRE>
- The header file <STRONG>&lt;form.h&gt;</STRONG> automatically includes the header
- files <STRONG>&lt;curses.h&gt;</STRONG>.
+</PRE><H2><a name="h2-NOTES">NOTES</a></H2><PRE>
+ The header file <STRONG>&lt;form.h&gt;</STRONG> automatically includes the header files
+ <STRONG>&lt;curses.h&gt;</STRONG>.
-</PRE>
-<H2>PORTABILITY</H2><PRE>
- These routines emulate the System V forms library. They
- were not supported on Version 7 or BSD versions.
+</PRE><H2><a name="h2-PORTABILITY">PORTABILITY</a></H2><PRE>
+ These routines emulate the System V forms library. They were not sup-
+ ported on Version 7 or BSD versions.
-</PRE>
-<H2>AUTHORS</H2><PRE>
- Juergen Pfeifer. Manual pages and adaptation for new
- curses by Eric S. Raymond.
+</PRE><H2><a name="h2-AUTHORS">AUTHORS</a></H2><PRE>
+ Juergen Pfeifer. Manual pages and adaptation for new curses by Eric S.
+ Raymond.
- <STRONG><A HREF="form_driver.3x.html">form_driver(3x)</A></STRONG>
+ <STRONG><A HREF="form_driver.3x.html">form_driver(3x)</A></STRONG>
</PRE>
-<HR>
-<ADDRESS>
-Man(1) output converted with
-<a href="http://www.oac.uci.edu/indiv/ehood/man2html.html">man2html</a>
-</ADDRESS>
+<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>
+<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>
+</ul>
+</li>
+<li><a href="#h2-RETURN-VALUE">RETURN VALUE</a></li>
+<li><a href="#h2-SEE-ALSO">SEE ALSO</a></li>
+<li><a href="#h2-NOTES">NOTES</a></li>
+<li><a href="#h2-PORTABILITY">PORTABILITY</a></li>
+<li><a href="#h2-AUTHORS">AUTHORS</a></li>
+</ul>
+</div>
</BODY>
</HTML>
diff --git a/doc/html/man/form_field.3x.html b/doc/html/man/form_field.3x.html
index 3faa99656e01..6e6a096fabdc 100644
--- a/doc/html/man/form_field.3x.html
+++ b/doc/html/man/form_field.3x.html
@@ -1,8 +1,7 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN">
<!--
* t
****************************************************************************
- * Copyright (c) 1998-2010,2012 Free Software Foundation, Inc. *
+ * Copyright (c) 1998-2018,2019 Free Software Foundation, Inc. *
* *
* Permission is hereby granted, free of charge, to any person obtaining a *
* copy of this software and associated documentation files (the *
@@ -28,32 +27,30 @@
* sale, use or other dealings in this Software without prior written *
* authorization. *
****************************************************************************
- * @Id: form_field.3x,v 1.11 2012/11/03 23:03:59 tom Exp @
+ * @Id: form_field.3x,v 1.13 2019/01/20 20:31:42 tom Exp @
-->
+<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN">
<HTML>
<HEAD>
+<meta http-equiv="Content-Type" content="text/html; charset=us-ascii">
+<meta name="generator" content="Manpage converted by man2html - see https://invisible-island.net/scripts/readme.html#others_scripts">
<TITLE>form_field 3x</TITLE>
-<link rev=made href="mailto:bug-ncurses@gnu.org">
+<link rel="author" href="mailto:bug-ncurses@gnu.org">
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
</HEAD>
<BODY>
-<H1>form_field 3x</H1>
-<HR>
+<H1 class="no-header">form_field 3x</H1>
<PRE>
-<!-- Manpage converted by man2html 3.0.1 -->
-<STRONG><A HREF="form_field.3x.html">form_field(3x)</A></STRONG> <STRONG><A HREF="form_field.3x.html">form_field(3x)</A></STRONG>
+<STRONG><A HREF="form_field.3x.html">form_field(3x)</A></STRONG> <STRONG><A HREF="form_field.3x.html">form_field(3x)</A></STRONG>
-</PRE>
-<H2>NAME</H2><PRE>
- <STRONG>form_field</STRONG> - make and break connections between fields and
- forms
+</PRE><H2><a name="h2-NAME">NAME</a></H2><PRE>
+ <STRONG>form_field</STRONG> - make and break connections between fields and forms
-</PRE>
-<H2>SYNOPSIS</H2><PRE>
+</PRE><H2><a name="h2-SYNOPSIS">SYNOPSIS</a></H2><PRE>
<STRONG>#include</STRONG> <STRONG>&lt;form.h&gt;</STRONG>
int set_form_fields(FORM *form, FIELD **fields);
FIELD **form_fields(const FORM *form);
@@ -61,38 +58,31 @@
int move_field(FIELD *field, int frow, int fcol);
-</PRE>
-<H2>DESCRIPTION</H2><PRE>
- The function <STRONG>set_form_fields</STRONG> changes the field pointer
- array of the given <EM>form</EM>. The array must be terminated by
- a <STRONG>NULL</STRONG>.
+</PRE><H2><a name="h2-DESCRIPTION">DESCRIPTION</a></H2><PRE>
+ The function <STRONG>set_form_fields</STRONG> changes the field pointer array of the
+ given <EM>form</EM>. The array must be terminated by a <STRONG>NULL</STRONG>.
- The function <STRONG>form_fields</STRONG> returns the field array of the
- given form.
+ The function <STRONG>form_fields</STRONG> returns the field array of the given form.
- The function <STRONG>field_count</STRONG> returns the count of fields in
- <EM>form</EM>.
+ The function <STRONG>field_count</STRONG> returns the count of fields in <EM>form</EM>.
- The function <STRONG>move_field</STRONG> moves the given field (which must
- be disconnected) to a specified location on the screen.
+ The function <STRONG>move_field</STRONG> moves the given field (which must be discon-
+ nected) to a specified location on the screen.
-</PRE>
-<H2>RETURN VALUE</H2><PRE>
- The function <STRONG>form_fields</STRONG> returns a pointer (which may be
- <STRONG>NULL</STRONG>). It does not set errno.
+</PRE><H2><a name="h2-RETURN-VALUE">RETURN VALUE</a></H2><PRE>
+ The function <STRONG>form_fields</STRONG> returns a pointer (which may be <STRONG>NULL</STRONG>). It
+ does not set errno.
- The function <STRONG>field_count</STRONG> returns <STRONG>ERR</STRONG> if the <EM>form</EM> parameter
- is <STRONG>NULL</STRONG>.
+ The function <STRONG>field_count</STRONG> returns <STRONG>ERR</STRONG> if the <EM>form</EM> parameter is <STRONG>NULL</STRONG>.
- The functions <STRONG>set_form_fields</STRONG> and <STRONG>move_field</STRONG> return one of
- the following codes on error:
+ The functions <STRONG>set_form_fields</STRONG> and <STRONG>move_field</STRONG> return one of the follow-
+ ing codes on error:
<STRONG>E_OK</STRONG> The routine succeeded.
<STRONG>E_BAD_ARGUMENT</STRONG>
- Routine detected an incorrect or out-of-range argu-
- ment.
+ Routine detected an incorrect or out-of-range argument.
<STRONG>E_CONNECTED</STRONG>
The field is already connected to a form.
@@ -101,42 +91,45 @@
The form is already posted.
<STRONG>E_SYSTEM_ERROR</STRONG>
- System error occurred (see <STRONG>errno</STRONG>).
+ System error occurred (see <STRONG>errno(3)</STRONG>).
-</PRE>
-<H2>SEE ALSO</H2><PRE>
+</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="form.3x.html">form(3x)</A></STRONG>.
-</PRE>
-<H2>NOTES</H2><PRE>
- The header file <STRONG>&lt;form.h&gt;</STRONG> automatically includes the header
- file <STRONG>&lt;curses.h&gt;</STRONG>.
+</PRE><H2><a name="h2-NOTES">NOTES</a></H2><PRE>
+ The header file <STRONG>&lt;form.h&gt;</STRONG> automatically includes the header file
+ <STRONG>&lt;curses.h&gt;</STRONG>.
-</PRE>
-<H2>PORTABILITY</H2><PRE>
- These routines emulate the System V forms library. They
- were not supported on Version 7 or BSD versions.
+</PRE><H2><a name="h2-PORTABILITY">PORTABILITY</a></H2><PRE>
+ These routines emulate the System V forms library. They were not sup-
+ ported on Version 7 or BSD versions.
- The SVr4 forms library documentation specifies the
- <STRONG>field_count</STRONG> error value as -1 (which is the value of <STRONG>ERR</STRONG>).
+ The SVr4 forms library documentation specifies the <STRONG>field_count</STRONG> error
+ value as -1 (which is the value of <STRONG>ERR</STRONG>).
-</PRE>
-<H2>AUTHORS</H2><PRE>
- Juergen Pfeifer. Manual pages and adaptation for new
- curses by Eric S. Raymond.
+</PRE><H2><a name="h2-AUTHORS">AUTHORS</a></H2><PRE>
+ Juergen Pfeifer. Manual pages and adaptation for new curses by Eric S.
+ Raymond.
- <STRONG><A HREF="form_field.3x.html">form_field(3x)</A></STRONG>
+ <STRONG><A HREF="form_field.3x.html">form_field(3x)</A></STRONG>
</PRE>
-<HR>
-<ADDRESS>
-Man(1) output converted with
-<a href="http://www.oac.uci.edu/indiv/ehood/man2html.html">man2html</a>
-</ADDRESS>
+<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>
+<li><a href="#h2-RETURN-VALUE">RETURN VALUE</a></li>
+<li><a href="#h2-SEE-ALSO">SEE ALSO</a></li>
+<li><a href="#h2-NOTES">NOTES</a></li>
+<li><a href="#h2-PORTABILITY">PORTABILITY</a></li>
+<li><a href="#h2-AUTHORS">AUTHORS</a></li>
+</ul>
+</div>
</BODY>
</HTML>
diff --git a/doc/html/man/form_field_attributes.3x.html b/doc/html/man/form_field_attributes.3x.html
index 0d7a126e2a84..42e82b5ac28c 100644
--- a/doc/html/man/form_field_attributes.3x.html
+++ b/doc/html/man/form_field_attributes.3x.html
@@ -1,8 +1,7 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN">
<!--
* t
****************************************************************************
- * Copyright (c) 1998-2006,2010 Free Software Foundation, Inc. *
+ * Copyright (c) 1998-2018,2019 Free Software Foundation, Inc. *
* *
* Permission is hereby granted, free of charge, to any person obtaining a *
* copy of this software and associated documentation files (the *
@@ -28,32 +27,30 @@
* sale, use or other dealings in this Software without prior written *
* authorization. *
****************************************************************************
- * @Id: form_field_attributes.3x,v 1.12 2010/12/04 18:40:45 tom Exp @
+ * @Id: form_field_attributes.3x,v 1.15 2019/11/30 21:01:57 tom Exp @
-->
+<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN">
<HTML>
<HEAD>
+<meta http-equiv="Content-Type" content="text/html; charset=us-ascii">
+<meta name="generator" content="Manpage converted by man2html - see https://invisible-island.net/scripts/readme.html#others_scripts">
<TITLE>form_field_attributes 3x</TITLE>
-<link rev=made href="mailto:bug-ncurses@gnu.org">
+<link rel="author" href="mailto:bug-ncurses@gnu.org">
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
</HEAD>
<BODY>
-<H1>form_field_attributes 3x</H1>
-<HR>
+<H1 class="no-header">form_field_attributes 3x</H1>
<PRE>
-<!-- Manpage converted by man2html 3.0.1 -->
-<STRONG><A HREF="form_field_attributes.3x.html">form_field_attributes(3x)</A></STRONG> <STRONG><A HREF="form_field_attributes.3x.html">form_field_attributes(3x)</A></STRONG>
+<STRONG><A HREF="form_field_attributes.3x.html">form_field_attributes(3x)</A></STRONG> <STRONG><A HREF="form_field_attributes.3x.html">form_field_attributes(3x)</A></STRONG>
-</PRE>
-<H2>NAME</H2><PRE>
- <STRONG>form_field_attributes</STRONG> - color and attribute control for
- form fields
+</PRE><H2><a name="h2-NAME">NAME</a></H2><PRE>
+ <STRONG>form_field_attributes</STRONG> - color and attribute control for form fields
-</PRE>
-<H2>SYNOPSIS</H2><PRE>
+</PRE><H2><a name="h2-SYNOPSIS">SYNOPSIS</a></H2><PRE>
<STRONG>#include</STRONG> <STRONG>&lt;form.h&gt;</STRONG>
int set_field_fore(FIELD *field, chtype attr);
chtype field_fore(const FIELD *field);
@@ -63,68 +60,68 @@
int field_pad(const FIELD *field);
-</PRE>
-<H2>DESCRIPTION</H2><PRE>
- The function <STRONG>set_field_fore</STRONG> sets the foreground attribute
- of <EM>field</EM>. This is the highlight used to display the field
- contents. The function <STRONG>field_fore</STRONG> returns the foreground
- attribute. The default is <STRONG>A_STANDOUT</STRONG>.
+</PRE><H2><a name="h2-DESCRIPTION">DESCRIPTION</a></H2><PRE>
+ The function <STRONG>set_field_fore</STRONG> sets the foreground attribute of <EM>field</EM>.
+ This is the highlight used to display the field contents. The function
+ <STRONG>field_fore</STRONG> returns the foreground attribute. The default is <STRONG>A_STAND-</STRONG>
+ <STRONG>OUT</STRONG>.
- The function <STRONG>set_field_back</STRONG> sets the background attribute
- of <EM>form</EM>. This is the highlight used to display the extent
- fields in the form. The function <STRONG>field_back</STRONG> returns the
- background attribute. The default is <STRONG>A_NORMAL</STRONG>.
+ The function <STRONG>set_field_back</STRONG> sets the background attribute of <EM>form</EM>. This
+ is the highlight used to display the extent fields in the form. The
+ function <STRONG>field_back</STRONG> returns the background attribute. The default is
+ <STRONG>A_NORMAL</STRONG>.
- The function <STRONG>set_field_pad</STRONG> sets the character used to fill
- the field. The function <STRONG>field_pad</STRONG> returns the given
- form's pad character. The default is a blank.
+ The function <STRONG>set_field_pad</STRONG> sets the character used to fill the field.
+ The function <STRONG>field_pad</STRONG> returns the given form's pad character. The
+ default is a blank.
-</PRE>
-<H2>RETURN VALUE</H2><PRE>
+</PRE><H2><a name="h2-RETURN-VALUE">RETURN VALUE</a></H2><PRE>
These routines return one of the following:
<STRONG>E_OK</STRONG> The routine succeeded.
<STRONG>E_BAD_ARGUMENT</STRONG>
- Routine detected an incorrect or out-of-range argu-
- ment.
+ Routine detected an incorrect or out-of-range argument.
<STRONG>E_SYSTEM_ERROR</STRONG>
- System error occurred (see <STRONG>errno</STRONG>).
+ System error occurred (see <STRONG>errno(3)</STRONG>).
-</PRE>
-<H2>SEE ALSO</H2><PRE>
- <STRONG><A HREF="ncurses.3x.html">curses(3x)</A></STRONG> and related pages whose names begin "form_" for
- detailed descriptions of the entry points.
+</PRE><H2><a name="h2-SEE-ALSO">SEE ALSO</a></H2><PRE>
+ <STRONG><A HREF="ncurses.3x.html">curses(3x)</A></STRONG> and related pages whose names begin "form_" for detailed
+ descriptions of the entry points.
-</PRE>
-<H2>NOTES</H2><PRE>
- The header file <STRONG>&lt;form.h&gt;</STRONG> automatically includes the header
- file <STRONG>&lt;curses.h&gt;</STRONG>.
+</PRE><H2><a name="h2-NOTES">NOTES</a></H2><PRE>
+ The header file <STRONG>&lt;form.h&gt;</STRONG> automatically includes the header file
+ <STRONG>&lt;curses.h&gt;</STRONG>.
-</PRE>
-<H2>PORTABILITY</H2><PRE>
- These routines emulate the System V forms library. They
- were not supported on Version 7 or BSD versions.
+</PRE><H2><a name="h2-PORTABILITY">PORTABILITY</a></H2><PRE>
+ These routines emulate the System V forms library. They were not sup-
+ ported on Version 7 or BSD versions.
-</PRE>
-<H2>AUTHORS</H2><PRE>
- Juergen Pfeifer. Manual pages and adaptation for new
- curses by Eric S. Raymond.
+</PRE><H2><a name="h2-AUTHORS">AUTHORS</a></H2><PRE>
+ Juergen Pfeifer. Manual pages and adaptation for new curses by Eric S.
+ Raymond.
- <STRONG><A HREF="form_field_attributes.3x.html">form_field_attributes(3x)</A></STRONG>
+ <STRONG><A HREF="form_field_attributes.3x.html">form_field_attributes(3x)</A></STRONG>
</PRE>
-<HR>
-<ADDRESS>
-Man(1) output converted with
-<a href="http://www.oac.uci.edu/indiv/ehood/man2html.html">man2html</a>
-</ADDRESS>
+<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>
+<li><a href="#h2-RETURN-VALUE">RETURN VALUE</a></li>
+<li><a href="#h2-SEE-ALSO">SEE ALSO</a></li>
+<li><a href="#h2-NOTES">NOTES</a></li>
+<li><a href="#h2-PORTABILITY">PORTABILITY</a></li>
+<li><a href="#h2-AUTHORS">AUTHORS</a></li>
+</ul>
+</div>
</BODY>
</HTML>
diff --git a/doc/html/man/form_field_buffer.3x.html b/doc/html/man/form_field_buffer.3x.html
index 8b7389ba9283..71484d3aade1 100644
--- a/doc/html/man/form_field_buffer.3x.html
+++ b/doc/html/man/form_field_buffer.3x.html
@@ -1,8 +1,7 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN">
<!--
* t
****************************************************************************
- * Copyright (c) 1998-2008,2010 Free Software Foundation, Inc. *
+ * Copyright (c) 1998-2018,2019 Free Software Foundation, Inc. *
* *
* Permission is hereby granted, free of charge, to any person obtaining a *
* copy of this software and associated documentation files (the *
@@ -28,100 +27,88 @@
* sale, use or other dealings in this Software without prior written *
* authorization. *
****************************************************************************
- * @Id: form_field_buffer.3x,v 1.19 2010/12/04 18:38:55 tom Exp @
+ * @Id: form_field_buffer.3x,v 1.24 2019/11/30 21:02:22 tom Exp @
-->
+<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN">
<HTML>
<HEAD>
+<meta http-equiv="Content-Type" content="text/html; charset=us-ascii">
+<meta name="generator" content="Manpage converted by man2html - see https://invisible-island.net/scripts/readme.html#others_scripts">
<TITLE>form_field_buffer 3x</TITLE>
-<link rev=made href="mailto:bug-ncurses@gnu.org">
+<link rel="author" href="mailto:bug-ncurses@gnu.org">
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
</HEAD>
<BODY>
-<H1>form_field_buffer 3x</H1>
-<HR>
+<H1 class="no-header">form_field_buffer 3x</H1>
<PRE>
-<!-- Manpage converted by man2html 3.0.1 -->
-<STRONG><A HREF="form_field_buffer.3x.html">form_field_buffer(3x)</A></STRONG> <STRONG><A HREF="form_field_buffer.3x.html">form_field_buffer(3x)</A></STRONG>
+<STRONG><A HREF="form_field_buffer.3x.html">form_field_buffer(3x)</A></STRONG> <STRONG><A HREF="form_field_buffer.3x.html">form_field_buffer(3x)</A></STRONG>
-</PRE>
-<H2>NAME</H2><PRE>
+</PRE><H2><a name="h2-NAME">NAME</a></H2><PRE>
<STRONG>form_field_buffer</STRONG> - field buffer control
-</PRE>
-<H2>SYNOPSIS</H2><PRE>
+</PRE><H2><a name="h2-SYNOPSIS">SYNOPSIS</a></H2><PRE>
<STRONG>#include</STRONG> <STRONG>&lt;form.h&gt;</STRONG>
- int set_field_buffer(FIELD *field, int buf, const char
- *value);
+ int set_field_buffer(FIELD *field, int buf, const char *value);
char *field_buffer(const FIELD *field, int buffer);
int set_field_status(FIELD *field, bool status);
bool field_status(const FIELD *field);
int set_max_field(FIELD *field, int max);
-</PRE>
-<H2>DESCRIPTION</H2><PRE>
- The function <STRONG>set_field_buffer</STRONG> sets the numbered buffer of
- the given field to contain a given string:
+</PRE><H2><a name="h2-DESCRIPTION">DESCRIPTION</a></H2><PRE>
+ The function <STRONG>set_field_buffer</STRONG> sets the numbered buffer of the given
+ field to contain a given string:
<STRONG>o</STRONG> Buffer 0 is the displayed value of the field.
- <STRONG>o</STRONG> Other numbered buffers may be allocated by applica-
- tions through the <STRONG>nbuf</STRONG> argument of (see
- <STRONG><A HREF="form_field_new.3x.html">form_field_new(3x)</A></STRONG>) but are not manipulated by the
- forms library.
+ <STRONG>o</STRONG> Other numbered buffers may be allocated by applications through
+ the <STRONG>nbuf</STRONG> argument of (see <STRONG><A HREF="form_field_new.3x.html">form_field_new(3x)</A></STRONG>) but are not manip-
+ ulated by the forms library.
- The function <STRONG>field_buffer</STRONG> returns a pointer to the con-
- tents of the given numbered buffer:
+ The function <STRONG>field_buffer</STRONG> returns a pointer to the contents of the
+ given numbered buffer:
- <STRONG>o</STRONG> The buffer contents always have the same length,
- and are padded with trailing spaces as needed to
- ensure this length is the same.
+ <STRONG>o</STRONG> The buffer contents always have the same length, and are padded
+ with trailing spaces as needed to ensure this length is the
+ same.
- <STRONG>o</STRONG> The buffer may contain leading spaces, depending on
- how it was set.
+ <STRONG>o</STRONG> The buffer may contain leading spaces, depending on how it was
+ set.
- <STRONG>o</STRONG> The buffer contents are set with <STRONG>set_field_buffer</STRONG>,
- or as a side effect of any editing operations on
- the corresponding field.
+ <STRONG>o</STRONG> The buffer contents are set with <STRONG>set_field_buffer</STRONG>, or as a side
+ effect of any editing operations on the corresponding field.
- <STRONG>o</STRONG> Editing operations are based on the <EM>window</EM> which
- displays the field, rather than a <EM>string</EM>. The win-
- dow contains only printable characters, and is
- filled with blanks. If you want the raw data, you
- must write your own routine that copies the value
- out of the buffer and removes the leading and
- trailing spaces.
+ <STRONG>o</STRONG> Editing operations are based on the <EM>window</EM> which displays the
+ field, rather than a <EM>string</EM>. The window contains only printable
+ characters, and is filled with blanks. If you want the raw
+ data, you must write your own routine that copies the value out
+ of the buffer and removes the leading and trailing spaces.
- <STRONG>o</STRONG> Because editing operations change the content of
- the buffer to correspond to the window, you should
- not rely on using buffers for long-term storage of
- form data.
+ <STRONG>o</STRONG> Because editing operations change the content of the buffer to
+ correspond to the window, you should not rely on using buffers
+ for long-term storage of form data.
- The function <STRONG>set_field_status</STRONG> sets the associated status
- flag of <EM>field</EM>; <STRONG>field_status</STRONG> gets the current value. The
- status flag is set to a nonzero value whenever the field
- changes.
+ The function <STRONG>set_field_status</STRONG> sets the associated status flag of <EM>field</EM>;
+ <STRONG>field_status</STRONG> gets the current value. The status flag is set to a
+ nonzero value whenever the field changes.
- The function <STRONG>set_max_field</STRONG> sets the maximum size for a
- dynamic field. An argument of 0 turns off any maximum
- size threshold for that field.
+ The function <STRONG>set_max_field</STRONG> sets the maximum size for a dynamic field.
+ An argument of 0 turns off any maximum size threshold for that field.
-</PRE>
-<H2>RETURN VALUE</H2><PRE>
- The <STRONG>field_buffer</STRONG> function returns NULL on error. It sets
- errno according to their success:
+</PRE><H2><a name="h2-RETURN-VALUE">RETURN VALUE</a></H2><PRE>
+ The <STRONG>field_buffer</STRONG> function returns NULL on error. It sets errno accord-
+ ing to their success:
<STRONG>E_OK</STRONG> The routine succeeded.
<STRONG>E_BAD_ARGUMENT</STRONG>
- Routine detected an incorrect or out-of-range argu-
- ment.
+ Routine detected an incorrect or out-of-range argument.
The <STRONG>field_status</STRONG> function returns <STRONG>TRUE</STRONG> or <STRONG>FALSE</STRONG>.
@@ -130,50 +117,54 @@
<STRONG>E_OK</STRONG> The routine succeeded.
<STRONG>E_SYSTEM_ERROR</STRONG>
- System error occurred (see <STRONG>errno</STRONG>).
+ System error occurred (see <STRONG>errno(3)</STRONG>).
<STRONG>E_BAD_ARGUMENT</STRONG>
- Routine detected an incorrect or out-of-range argu-
- ment.
+ Routine detected an incorrect or out-of-range argument.
-</PRE>
-<H2>SEE ALSO</H2><PRE>
- <STRONG><A HREF="ncurses.3x.html">curses(3x)</A></STRONG> and related pages whose names begin "form_" for
- detailed descriptions of the entry points.
+</PRE><H2><a name="h2-SEE-ALSO">SEE ALSO</a></H2><PRE>
+ <STRONG><A HREF="ncurses.3x.html">curses(3x)</A></STRONG> and related pages whose names begin "form_" for detailed
+ descriptions of the entry points.
-</PRE>
-<H2>NOTES</H2><PRE>
- The header file <STRONG>&lt;form.h&gt;</STRONG> automatically includes the header
- file
+</PRE><H2><a name="h2-NOTES">NOTES</a></H2><PRE>
+ The header file <STRONG>&lt;form.h&gt;</STRONG> automatically includes the header file
- When configured for wide characters, <STRONG>field_buffer</STRONG> returns
- a pointer to temporary storage (allocated and freed by the
- library). The application should not attempt to modify
- the data. It will be freed on the next call to <STRONG>field_buf-</STRONG>
- <STRONG>fer</STRONG> to return the same buffer. <STRONG>&lt;curses.h&gt;</STRONG>.
+ When configured for wide characters, <STRONG>field_buffer</STRONG> returns a pointer to
+ temporary storage (allocated and freed by the library). The applica-
+ tion should not attempt to modify the data. It will be freed on the
+ next call to <STRONG>field_buffer</STRONG> to return the same buffer. <STRONG>&lt;curses.h&gt;</STRONG>.
-</PRE>
-<H2>PORTABILITY</H2><PRE>
- These routines emulate the System V forms library. They
- were not supported on Version 7 or BSD versions.
+</PRE><H2><a name="h2-PORTABILITY">PORTABILITY</a></H2><PRE>
+ These routines emulate the System V forms library. They were not sup-
+ ported on Version 7 or BSD versions.
+ The <STRONG>set_max_field</STRONG> function checks for an ncurses extension
+ <STRONG>O_INPUT_FIELD</STRONG> which allows a dynamic field to shrink if the new limit
+ is smaller than the current field size.
-</PRE>
-<H2>AUTHORS</H2><PRE>
- Juergen Pfeifer. Manual pages and adaptation for new
- curses by Eric S. Raymond.
+
+</PRE><H2><a name="h2-AUTHORS">AUTHORS</a></H2><PRE>
+ Juergen Pfeifer. Manual pages and adaptation for new curses by Eric S.
+ Raymond.
- <STRONG><A HREF="form_field_buffer.3x.html">form_field_buffer(3x)</A></STRONG>
+ <STRONG><A HREF="form_field_buffer.3x.html">form_field_buffer(3x)</A></STRONG>
</PRE>
-<HR>
-<ADDRESS>
-Man(1) output converted with
-<a href="http://www.oac.uci.edu/indiv/ehood/man2html.html">man2html</a>
-</ADDRESS>
+<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>
+<li><a href="#h2-RETURN-VALUE">RETURN VALUE</a></li>
+<li><a href="#h2-SEE-ALSO">SEE ALSO</a></li>
+<li><a href="#h2-NOTES">NOTES</a></li>
+<li><a href="#h2-PORTABILITY">PORTABILITY</a></li>
+<li><a href="#h2-AUTHORS">AUTHORS</a></li>
+</ul>
+</div>
</BODY>
</HTML>
diff --git a/doc/html/man/form_field_info.3x.html b/doc/html/man/form_field_info.3x.html
index 07606e7993f9..c3199ebb55a8 100644
--- a/doc/html/man/form_field_info.3x.html
+++ b/doc/html/man/form_field_info.3x.html
@@ -1,8 +1,7 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN">
<!--
* t
****************************************************************************
- * Copyright (c) 1998-2006,2010 Free Software Foundation, Inc. *
+ * Copyright (c) 1998-2018,2019 Free Software Foundation, Inc. *
* *
* Permission is hereby granted, free of charge, to any person obtaining a *
* copy of this software and associated documentation files (the *
@@ -28,102 +27,99 @@
* sale, use or other dealings in this Software without prior written *
* authorization. *
****************************************************************************
- * @Id: form_field_info.3x,v 1.12 2010/12/04 18:40:45 tom Exp @
+ * @Id: form_field_info.3x,v 1.16 2019/11/30 21:02:29 tom Exp @
-->
+<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN">
<HTML>
<HEAD>
+<meta http-equiv="Content-Type" content="text/html; charset=us-ascii">
+<meta name="generator" content="Manpage converted by man2html - see https://invisible-island.net/scripts/readme.html#others_scripts">
<TITLE>form_field_info 3x</TITLE>
-<link rev=made href="mailto:bug-ncurses@gnu.org">
+<link rel="author" href="mailto:bug-ncurses@gnu.org">
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
</HEAD>
<BODY>
-<H1>form_field_info 3x</H1>
-<HR>
+<H1 class="no-header">form_field_info 3x</H1>
<PRE>
-<!-- Manpage converted by man2html 3.0.1 -->
-<STRONG><A HREF="form_field_info.3x.html">form_field_info(3x)</A></STRONG> <STRONG><A HREF="form_field_info.3x.html">form_field_info(3x)</A></STRONG>
+<STRONG><A HREF="form_field_info.3x.html">form_field_info(3x)</A></STRONG> <STRONG><A HREF="form_field_info.3x.html">form_field_info(3x)</A></STRONG>
-</PRE>
-<H2>NAME</H2><PRE>
- <STRONG>form_field_info</STRONG> - retrieve field characteristics
+</PRE><H2><a name="h2-NAME">NAME</a></H2><PRE>
+ <STRONG>dynamic_field_info</STRONG>, <STRONG>field_info</STRONG> - retrieve field characteristics
-</PRE>
-<H2>SYNOPSIS</H2><PRE>
+</PRE><H2><a name="h2-SYNOPSIS">SYNOPSIS</a></H2><PRE>
<STRONG>#include</STRONG> <STRONG>&lt;form.h&gt;</STRONG>
int field_info(const FIELD *field, int *rows, int *cols,
int *frow, int *fcol, int *nrow, int *nbuf);
- int dynamic_field_info(const FIELD *field, int *rows, int
- *cols, int *max);
+ int dynamic_field_info(const FIELD *field, int *rows, int *cols, int
+ *max);
-</PRE>
-<H2>DESCRIPTION</H2><PRE>
- The function <STRONG>field_info</STRONG> returns the sizes and other
- attributes passed in to the field at its creation time.
- The attributes are: height, width, row of upper-left cor-
- ner, column of upper-left corner, number off-screen rows,
- and number of working buffers.
+</PRE><H2><a name="h2-DESCRIPTION">DESCRIPTION</a></H2><PRE>
+ The function <STRONG>field_info</STRONG> returns the sizes and other attributes passed
+ in to the field at its creation time. The attributes are: height,
+ width, row of upper-left corner, column of upper-left corner, number
+ off-screen rows, and number of working buffers.
- The function <STRONG>dynamic_field_info</STRONG> returns the actual size of
- the field, and its maximum possible size. If the field
- has no size limit, the location addressed by the third
- argument will be set to 0. A field can be made dynamic by
- turning off the <STRONG>O_STATIC</STRONG> option with <STRONG>field_opts_off</STRONG>.
+ The function <STRONG>dynamic_field_info</STRONG> returns the actual size of the field,
+ and its maximum possible size. If the field has no size limit, the
+ location addressed by the third argument will be set to 0. A field can
+ be made dynamic by turning off the <STRONG>O_STATIC</STRONG> option with <STRONG>field_opts_off</STRONG>.
-</PRE>
-<H2>RETURN VALUE</H2><PRE>
+</PRE><H2><a name="h2-RETURN-VALUE">RETURN VALUE</a></H2><PRE>
These routines return one of the following:
<STRONG>E_OK</STRONG> The routine succeeded.
<STRONG>E_SYSTEM_ERROR</STRONG>
- System error occurred (see <STRONG>errno</STRONG>).
+ System error occurred (see <STRONG>errno(3)</STRONG>).
<STRONG>E_BAD_ARGUMENT</STRONG>
- Routine detected an incorrect or out-of-range argu-
- ment.
+ Routine detected an incorrect or out-of-range argument.
-</PRE>
-<H2>SEE ALSO</H2><PRE>
- <STRONG><A HREF="ncurses.3x.html">curses(3x)</A></STRONG> and related pages whose names begin "form_" for
- detailed descriptions of the entry points.
+</PRE><H2><a name="h2-SEE-ALSO">SEE ALSO</a></H2><PRE>
+ <STRONG><A HREF="ncurses.3x.html">curses(3x)</A></STRONG> and related pages whose names begin "form_" for detailed
+ descriptions of the entry points.
-</PRE>
-<H2>NOTES</H2><PRE>
- The header file <STRONG>&lt;form.h&gt;</STRONG> automatically includes the header
- file <STRONG>&lt;curses.h&gt;</STRONG>.
+</PRE><H2><a name="h2-NOTES">NOTES</a></H2><PRE>
+ The header file <STRONG>&lt;form.h&gt;</STRONG> automatically includes the header file
+ <STRONG>&lt;curses.h&gt;</STRONG>.
-</PRE>
-<H2>PORTABILITY</H2><PRE>
- These routines emulate the System V forms library. They
- were not supported on Version 7 or BSD versions.
+</PRE><H2><a name="h2-PORTABILITY">PORTABILITY</a></H2><PRE>
+ These routines emulate the System V forms library. They were not sup-
+ ported on Version 7 or BSD versions.
- A null (zero pointer) is accepted for any of the return
- values, to ignore that value. Not all implementations
- allow this, e.g., Solaris 2.7 does not.
+ A null (zero pointer) is accepted for any of the return values, to
+ ignore that value. Not all implementations allow this, e.g., Solaris
+ 2.7 does not.
-</PRE>
-<H2>AUTHORS</H2><PRE>
- Juergen Pfeifer. Manual pages and adaptation for new
- curses by Eric S. Raymond.
+</PRE><H2><a name="h2-AUTHORS">AUTHORS</a></H2><PRE>
+ Juergen Pfeifer. Manual pages and adaptation for new curses by Eric S.
+ Raymond.
- <STRONG><A HREF="form_field_info.3x.html">form_field_info(3x)</A></STRONG>
+ <STRONG><A HREF="form_field_info.3x.html">form_field_info(3x)</A></STRONG>
</PRE>
-<HR>
-<ADDRESS>
-Man(1) output converted with
-<a href="http://www.oac.uci.edu/indiv/ehood/man2html.html">man2html</a>
-</ADDRESS>
+<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>
+<li><a href="#h2-RETURN-VALUE">RETURN VALUE</a></li>
+<li><a href="#h2-SEE-ALSO">SEE ALSO</a></li>
+<li><a href="#h2-NOTES">NOTES</a></li>
+<li><a href="#h2-PORTABILITY">PORTABILITY</a></li>
+<li><a href="#h2-AUTHORS">AUTHORS</a></li>
+</ul>
+</div>
</BODY>
</HTML>
diff --git a/doc/html/man/form_field_just.3x.html b/doc/html/man/form_field_just.3x.html
index e98de08df624..8f7ab13ef17a 100644
--- a/doc/html/man/form_field_just.3x.html
+++ b/doc/html/man/form_field_just.3x.html
@@ -1,8 +1,7 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN">
<!--
* t
****************************************************************************
- * Copyright (c) 1998-2006,2010 Free Software Foundation, Inc. *
+ * Copyright (c) 1998-2018,2019 Free Software Foundation, Inc. *
* *
* Permission is hereby granted, free of charge, to any person obtaining a *
* copy of this software and associated documentation files (the *
@@ -28,92 +27,91 @@
* sale, use or other dealings in this Software without prior written *
* authorization. *
****************************************************************************
- * @Id: form_field_just.3x,v 1.11 2010/12/04 18:40:45 tom Exp @
+ * @Id: form_field_just.3x,v 1.15 2019/11/30 21:02:36 tom Exp @
-->
+<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN">
<HTML>
<HEAD>
+<meta http-equiv="Content-Type" content="text/html; charset=us-ascii">
+<meta name="generator" content="Manpage converted by man2html - see https://invisible-island.net/scripts/readme.html#others_scripts">
<TITLE>form_field_just 3x</TITLE>
-<link rev=made href="mailto:bug-ncurses@gnu.org">
+<link rel="author" href="mailto:bug-ncurses@gnu.org">
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
</HEAD>
<BODY>
-<H1>form_field_just 3x</H1>
-<HR>
+<H1 class="no-header">form_field_just 3x</H1>
<PRE>
-<!-- Manpage converted by man2html 3.0.1 -->
-<STRONG><A HREF="form_field_just.3x.html">form_field_just(3x)</A></STRONG> <STRONG><A HREF="form_field_just.3x.html">form_field_just(3x)</A></STRONG>
+<STRONG><A HREF="form_field_just.3x.html">form_field_just(3x)</A></STRONG> <STRONG><A HREF="form_field_just.3x.html">form_field_just(3x)</A></STRONG>
-</PRE>
-<H2>NAME</H2><PRE>
- <STRONG>form_field_just</STRONG> - retrieve field characteristics
+</PRE><H2><a name="h2-NAME">NAME</a></H2><PRE>
+ <STRONG>set_field_just</STRONG>, <STRONG>field_just</STRONG> - retrieve field characteristics
-</PRE>
-<H2>SYNOPSIS</H2><PRE>
+</PRE><H2><a name="h2-SYNOPSIS">SYNOPSIS</a></H2><PRE>
<STRONG>#include</STRONG> <STRONG>&lt;form.h&gt;</STRONG>
int set_field_just(FIELD *field, int justification);
int field_just(const FIELD *field);
-</PRE>
-<H2>DESCRIPTION</H2><PRE>
- The function <STRONG>set_field_just</STRONG> sets the justification
- attribute of a field; <STRONG>field_just</STRONG> returns a field's justi-
- fication attribute. The attribute may be one of NO_JUSTI-
- FICATION, JUSTIFY_RIGHT, JUSTIFY_LEFT, or JUSTIFY_CENTER.
+</PRE><H2><a name="h2-DESCRIPTION">DESCRIPTION</a></H2><PRE>
+ The function <STRONG>set_field_just</STRONG> sets the justification attribute of a
+ field; <STRONG>field_just</STRONG> returns a field's justification attribute. The
+ attribute may be one of NO_JUSTIFICATION, JUSTIFY_RIGHT, JUSTIFY_LEFT,
+ or JUSTIFY_CENTER.
-</PRE>
-<H2>RETURN VALUE</H2><PRE>
- The function <STRONG>field_just</STRONG> returns one of: NO_JUSTIFICATION,
- JUSTIFY_RIGHT, JUSTIFY_LEFT, or JUSTIFY_CENTER.
+</PRE><H2><a name="h2-RETURN-VALUE">RETURN VALUE</a></H2><PRE>
+ The function <STRONG>field_just</STRONG> returns one of: NO_JUSTIFICATION, JUS-
+ TIFY_RIGHT, JUSTIFY_LEFT, or JUSTIFY_CENTER.
The function <STRONG>set_field_just</STRONG> returns one of the following:
<STRONG>E_OK</STRONG> The routine succeeded.
<STRONG>E_SYSTEM_ERROR</STRONG>
- System error occurred (see <STRONG>errno</STRONG>).
+ System error occurred (see <STRONG>errno(3)</STRONG>).
<STRONG>E_BAD_ARGUMENT</STRONG>
- Routine detected an incorrect or out-of-range argu-
- ment.
+ Routine detected an incorrect or out-of-range argument.
-</PRE>
-<H2>SEE ALSO</H2><PRE>
- <STRONG><A HREF="ncurses.3x.html">curses(3x)</A></STRONG> and related pages whose names begin "form_" for
- detailed descriptions of the entry points.
+</PRE><H2><a name="h2-SEE-ALSO">SEE ALSO</a></H2><PRE>
+ <STRONG><A HREF="ncurses.3x.html">curses(3x)</A></STRONG> and related pages whose names begin "form_" for detailed
+ descriptions of the entry points.
-</PRE>
-<H2>NOTES</H2><PRE>
- The header file <STRONG>&lt;form.h&gt;</STRONG> automatically includes the header
- file <STRONG>&lt;curses.h&gt;</STRONG>.
+</PRE><H2><a name="h2-NOTES">NOTES</a></H2><PRE>
+ The header file <STRONG>&lt;form.h&gt;</STRONG> automatically includes the header file
+ <STRONG>&lt;curses.h&gt;</STRONG>.
-</PRE>
-<H2>PORTABILITY</H2><PRE>
- These routines emulate the System V forms library. They
- were not supported on Version 7 or BSD versions.
+</PRE><H2><a name="h2-PORTABILITY">PORTABILITY</a></H2><PRE>
+ These routines emulate the System V forms library. They were not sup-
+ ported on Version 7 or BSD versions.
-</PRE>
-<H2>AUTHORS</H2><PRE>
- Juergen Pfeifer. Manual pages and adaptation for new
- curses by Eric S. Raymond.
+</PRE><H2><a name="h2-AUTHORS">AUTHORS</a></H2><PRE>
+ Juergen Pfeifer. Manual pages and adaptation for new curses by Eric S.
+ Raymond.
- <STRONG><A HREF="form_field_just.3x.html">form_field_just(3x)</A></STRONG>
+ <STRONG><A HREF="form_field_just.3x.html">form_field_just(3x)</A></STRONG>
</PRE>
-<HR>
-<ADDRESS>
-Man(1) output converted with
-<a href="http://www.oac.uci.edu/indiv/ehood/man2html.html">man2html</a>
-</ADDRESS>
+<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>
+<li><a href="#h2-RETURN-VALUE">RETURN VALUE</a></li>
+<li><a href="#h2-SEE-ALSO">SEE ALSO</a></li>
+<li><a href="#h2-NOTES">NOTES</a></li>
+<li><a href="#h2-PORTABILITY">PORTABILITY</a></li>
+<li><a href="#h2-AUTHORS">AUTHORS</a></li>
+</ul>
+</div>
</BODY>
</HTML>
diff --git a/doc/html/man/form_field_new.3x.html b/doc/html/man/form_field_new.3x.html
index 2c9745963197..94132de7b982 100644
--- a/doc/html/man/form_field_new.3x.html
+++ b/doc/html/man/form_field_new.3x.html
@@ -1,8 +1,7 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN">
<!--
* t
****************************************************************************
- * Copyright (c) 1998-2007,2010 Free Software Foundation, Inc. *
+ * Copyright (c) 1998-2015,2018 Free Software Foundation, Inc. *
* *
* Permission is hereby granted, free of charge, to any person obtaining a *
* copy of this software and associated documentation files (the *
@@ -28,31 +27,31 @@
* sale, use or other dealings in this Software without prior written *
* authorization. *
****************************************************************************
- * @Id: form_field_new.3x,v 1.18 2010/12/04 18:40:45 tom Exp @
+ * @Id: form_field_new.3x,v 1.20 2018/07/28 21:34:06 tom Exp @
-->
+<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN">
<HTML>
<HEAD>
+<meta http-equiv="Content-Type" content="text/html; charset=us-ascii">
+<meta name="generator" content="Manpage converted by man2html - see https://invisible-island.net/scripts/readme.html#others_scripts">
<TITLE>form_field_new 3x</TITLE>
-<link rev=made href="mailto:bug-ncurses@gnu.org">
+<link rel="author" href="mailto:bug-ncurses@gnu.org">
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
</HEAD>
<BODY>
-<H1>form_field_new 3x</H1>
-<HR>
+<H1 class="no-header">form_field_new 3x</H1>
<PRE>
-<!-- Manpage converted by man2html 3.0.1 -->
-<STRONG><A HREF="form_field_new.3x.html">form_field_new(3x)</A></STRONG> <STRONG><A HREF="form_field_new.3x.html">form_field_new(3x)</A></STRONG>
+<STRONG><A HREF="form_field_new.3x.html">form_field_new(3x)</A></STRONG> <STRONG><A HREF="form_field_new.3x.html">form_field_new(3x)</A></STRONG>
-</PRE>
-<H2>NAME</H2><PRE>
- <STRONG>form_field_new</STRONG> - create and destroy form fields
+</PRE><H2><a name="h2-NAME">NAME</a></H2><PRE>
+ <STRONG>new_field</STRONG>, <STRONG>dup_field</STRONG>, <STRONG>link_field</STRONG>, <STRONG>free_field</STRONG> - create and destroy form
+ fields
-</PRE>
-<H2>SYNOPSIS</H2><PRE>
+</PRE><H2><a name="h2-SYNOPSIS">SYNOPSIS</a></H2><PRE>
<STRONG>#include</STRONG> <STRONG>&lt;form.h&gt;</STRONG>
FIELD *new_field(int height, int width,
int toprow, int leftcol,
@@ -62,38 +61,32 @@
int free_field(FIELD *field);
-</PRE>
-<H2>DESCRIPTION</H2><PRE>
- The function <STRONG>new_field</STRONG> allocates a new field and initial-
- izes it from the parameters given: height, width, row of
- upper-left corner, column of upper-left corner, number
- off-screen rows, and number of additional working buffers.
+</PRE><H2><a name="h2-DESCRIPTION">DESCRIPTION</a></H2><PRE>
+ The function <STRONG>new_field</STRONG> allocates a new field and initializes it from
+ the parameters given: height, width, row of upper-left corner, column
+ of upper-left corner, number off-screen rows, and number of additional
+ working buffers.
- The function <STRONG>dup_field</STRONG> duplicates a field at a new loca-
- tion. Most attributes (including current contents, size,
- validation type, buffer count, growth threshold, justifi-
- cation, foreground, background, pad character, options,
- and user pointer) are copied. Field status and the field
- page bit are not copied.
+ The function <STRONG>dup_field</STRONG> duplicates a field at a new location. Most
+ attributes (including current contents, size, validation type, buffer
+ count, growth threshold, justification, foreground, background, pad
+ character, options, and user pointer) are copied. Field status and the
+ field page bit are not copied.
- The function <STRONG>link_field</STRONG> acts like <STRONG>dup_field</STRONG>, but the new
- field shares buffers with its parent. Attribute data is
- separate.
+ The function <STRONG>link_field</STRONG> acts like <STRONG>dup_field</STRONG>, but the new field shares
+ buffers with its parent. Attribute data is separate.
- The function <STRONG>free_field</STRONG> de-allocates storage associated
- with a field.
+ The function <STRONG>free_field</STRONG> de-allocates storage associated with a field.
-</PRE>
-<H2>RETURN VALUE</H2><PRE>
- The function, <STRONG>new_field</STRONG>, <STRONG>dup_field</STRONG>, <STRONG>link_field</STRONG> return <STRONG>NULL</STRONG>
- on error. They set errno according to their success:
+</PRE><H2><a name="h2-RETURN-VALUE">RETURN VALUE</a></H2><PRE>
+ The function, <STRONG>new_field</STRONG>, <STRONG>dup_field</STRONG>, <STRONG>link_field</STRONG> return <STRONG>NULL</STRONG> on error.
+ They set errno according to their success:
<STRONG>E_OK</STRONG> The routine succeeded.
<STRONG>E_BAD_ARGUMENT</STRONG>
- Routine detected an incorrect or out-of-range argu-
- ment.
+ Routine detected an incorrect or out-of-range argument.
<STRONG>E_SYSTEM_ERROR</STRONG>
System error occurred, e.g., malloc failure.
@@ -103,48 +96,49 @@
<STRONG>E_OK</STRONG> The routine succeeded.
<STRONG>E_BAD_ARGUMENT</STRONG>
- Routine detected an incorrect or out-of-range argu-
- ment.
+ Routine detected an incorrect or out-of-range argument.
<STRONG>E_CONNECTED</STRONG>
field is connected.
-</PRE>
-<H2>SEE ALSO</H2><PRE>
+</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="form.3x.html">form(3x)</A></STRONG>.
-</PRE>
-<H2>NOTES</H2><PRE>
- The header file <STRONG>&lt;form.h&gt;</STRONG> automatically includes the header
- file <STRONG>&lt;curses.h&gt;</STRONG>.
+</PRE><H2><a name="h2-NOTES">NOTES</a></H2><PRE>
+ The header file <STRONG>&lt;form.h&gt;</STRONG> automatically includes the header file
+ <STRONG>&lt;curses.h&gt;</STRONG>.
-</PRE>
-<H2>PORTABILITY</H2><PRE>
- These routines emulate the System V forms library. They
- were not supported on Version 7 or BSD versions.
+</PRE><H2><a name="h2-PORTABILITY">PORTABILITY</a></H2><PRE>
+ These routines emulate the System V forms library. They were not sup-
+ ported on Version 7 or BSD versions.
- It may be unwise to count on the set of attributes copied
- by <STRONG>dup_field</STRONG> being portable; the System V forms library
- documents are not very explicit about what gets copied and
- what does not.
+ It may be unwise to count on the set of attributes copied by <STRONG>dup_field</STRONG>
+ being portable; the System V forms library documents are not very
+ explicit about what gets copied and what does not.
-</PRE>
-<H2>AUTHORS</H2><PRE>
- Juergen Pfeifer. Manual pages and adaptation for new
- curses by Eric S. Raymond.
+</PRE><H2><a name="h2-AUTHORS">AUTHORS</a></H2><PRE>
+ Juergen Pfeifer. Manual pages and adaptation for new curses by Eric S.
+ Raymond.
- <STRONG><A HREF="form_field_new.3x.html">form_field_new(3x)</A></STRONG>
+ <STRONG><A HREF="form_field_new.3x.html">form_field_new(3x)</A></STRONG>
</PRE>
-<HR>
-<ADDRESS>
-Man(1) output converted with
-<a href="http://www.oac.uci.edu/indiv/ehood/man2html.html">man2html</a>
-</ADDRESS>
+<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>
+<li><a href="#h2-RETURN-VALUE">RETURN VALUE</a></li>
+<li><a href="#h2-SEE-ALSO">SEE ALSO</a></li>
+<li><a href="#h2-NOTES">NOTES</a></li>
+<li><a href="#h2-PORTABILITY">PORTABILITY</a></li>
+<li><a href="#h2-AUTHORS">AUTHORS</a></li>
+</ul>
+</div>
</BODY>
</HTML>
diff --git a/doc/html/man/form_field_opts.3x.html b/doc/html/man/form_field_opts.3x.html
index 1cdfe7038ae5..04a1cafcca7c 100644
--- a/doc/html/man/form_field_opts.3x.html
+++ b/doc/html/man/form_field_opts.3x.html
@@ -1,8 +1,7 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN">
<!--
* t
****************************************************************************
- * Copyright (c) 1998-2007,2010 Free Software Foundation, Inc. *
+ * Copyright (c) 1998-2018,2019 Free Software Foundation, Inc. *
* *
* Permission is hereby granted, free of charge, to any person obtaining a *
* copy of this software and associated documentation files (the *
@@ -28,31 +27,31 @@
* sale, use or other dealings in this Software without prior written *
* authorization. *
****************************************************************************
- * @Id: form_field_opts.3x,v 1.16 2010/12/04 18:41:07 tom Exp @
+ * @Id: form_field_opts.3x,v 1.24 2019/01/20 20:19:03 tom Exp @
-->
+<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN">
<HTML>
<HEAD>
+<meta http-equiv="Content-Type" content="text/html; charset=us-ascii">
+<meta name="generator" content="Manpage converted by man2html - see https://invisible-island.net/scripts/readme.html#others_scripts">
<TITLE>form_field_opts 3x</TITLE>
-<link rev=made href="mailto:bug-ncurses@gnu.org">
+<link rel="author" href="mailto:bug-ncurses@gnu.org">
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
</HEAD>
<BODY>
-<H1>form_field_opts 3x</H1>
-<HR>
+<H1 class="no-header">form_field_opts 3x</H1>
<PRE>
-<!-- Manpage converted by man2html 3.0.1 -->
-<STRONG><A HREF="form_field_opts.3x.html">form_field_opts(3x)</A></STRONG> <STRONG><A HREF="form_field_opts.3x.html">form_field_opts(3x)</A></STRONG>
+<STRONG><A HREF="form_field_opts.3x.html">form_field_opts(3x)</A></STRONG> <STRONG><A HREF="form_field_opts.3x.html">form_field_opts(3x)</A></STRONG>
-</PRE>
-<H2>NAME</H2><PRE>
- <STRONG>form_field_opts</STRONG> - set and get field options
+</PRE><H2><a name="h2-NAME">NAME</a></H2><PRE>
+ <STRONG>set_field_opts</STRONG>, <STRONG>field_opts_on</STRONG>, <STRONG>field_opts_off</STRONG>, <STRONG>field_opts</STRONG> - set and get
+ field options
-</PRE>
-<H2>SYNOPSIS</H2><PRE>
+</PRE><H2><a name="h2-SYNOPSIS">SYNOPSIS</a></H2><PRE>
<STRONG>#include</STRONG> <STRONG>&lt;form.h&gt;</STRONG>
int set_field_opts(FIELD *field, Field_Options opts);
int field_opts_on(FIELD *field, Field_Options opts);
@@ -60,109 +59,127 @@
Field_Options field_opts(const FIELD *field);
-</PRE>
-<H2>DESCRIPTION</H2><PRE>
- The function <STRONG>set_field_opts</STRONG> sets all the given field's
- option bits (field option bits may be logically-OR'ed
- together).
-
- The function <STRONG>field_opts_on</STRONG> turns on the given option bits,
- and leaves others alone.
+</PRE><H2><a name="h2-DESCRIPTION">DESCRIPTION</a></H2><PRE>
+ The function <STRONG>set_field_opts</STRONG> sets all the given field's option bits
+ (field option bits may be logically-OR'ed together).
- The function <STRONG>field_opts_off</STRONG> turns off the given option
- bits, and leaves others alone.
+ The function <STRONG>field_opts_on</STRONG> turns on the given option bits, and leaves
+ others alone.
- The function <STRONG>field_opts</STRONG> returns the field's current option
- bits.
+ The function <STRONG>field_opts_off</STRONG> turns off the given option bits, and leaves
+ others alone.
- The following options are defined (all are on by default):
+ The function <STRONG>field_opts</STRONG> returns the field's current option bits.
- O_VISIBLE
- The field is displayed. If this option is off, dis-
- play of the field is suppressed.
+ The following standard options are defined (all are on by default):
O_ACTIVE
- The field is visited during processing. If this
- option is off, the field will not be reachable by
- navigation keys. Please notice that an invisible
- field appears to be inactive also.
+ The field is visited during processing. If this option is off,
+ the field will not be reachable by navigation keys. Please notice
+ that an invisible field appears to be inactive also.
- O_PUBLIC
- The field contents are displayed as data is entered.
+ O_AUTOSKIP
+ Skip to the next field when this one fills.
+
+ O_BLANK
+ The field is cleared whenever a character is entered at the first
+ position.
O_EDIT
The field can be edited.
+ O_NULLOK
+ Allow a blank field.
+
+ O_PASSOK
+ Validate field only if modified by user.
+
+ O_PUBLIC
+ The field contents are displayed as data is entered.
+
+ O_STATIC
+ Field buffers are fixed to field's original size. Turn this
+ option off to create a dynamic field.
+
+ O_VISIBLE
+ The field is displayed. If this option is off, display of the
+ field is suppressed.
+
O_WRAP
- Words that do not fit on a line are wrapped to the
- next line. Words are blank-separated.
+ Words that do not fit on a line are wrapped to the next line.
+ Words are blank-separated.
- O_BLANK
- The field is cleared whenever a character is entered
- at the first position.
+ These extension options are defined (extensions are off by default):
- O_AUTOSKIP
- Skip to the next field when this one fills.
+ O_DYNAMIC_JUSTIFY
+ Permit dynamic fields to be justified, like static fields.
- O_NULLOK
- Allow a blank field.
+ O_NO_LEFT_STRIP
+ Preserve leading whitespace in the field buffer, which is normally
+ discarded.
- O_STATIC
- Field buffers are fixed to field's original size.
- Turn this option off to create a dynamic field.
+ O_EDGE_INSERT_STAY
+ When inserting into a field up to the boundary position, option-
+ ally delay the scrolling, so that the last inserted character
+ remains visible, but advance the cursor to reflect the insertion.
+ This allows the form library to display the inserted character in
+ one-character fields as well as allowing the library to maintain
+ consistent state.
- O_PASSOK
- Validate field only if modified by user.
+ O_INPUT_FIELD
+ The <STRONG>set_max_field</STRONG> function checks for this extension, which allows
+ a dynamic field to shrink if the new limit is smaller than the
+ current field size.
-</PRE>
-<H2>RETURN VALUE</H2><PRE>
- Except for <STRONG>field_opts</STRONG>, each routine returns one of the
- following:
+</PRE><H2><a name="h2-RETURN-VALUE">RETURN VALUE</a></H2><PRE>
+ Except for <STRONG>field_opts</STRONG>, each routine returns one of the following:
<STRONG>E_OK</STRONG> The routine succeeded.
<STRONG>E_BAD_ARGUMENT</STRONG>
- Routine detected an incorrect or out-of-range argu-
- ment.
+ Routine detected an incorrect or out-of-range argument.
<STRONG>E_CURRENT</STRONG>
The field is the current field.
<STRONG>E_SYSTEM_ERROR</STRONG>
- System error occurred (see <STRONG>errno</STRONG>).
+ System error occurred (see <STRONG>errno(3)</STRONG>).
-</PRE>
-<H2>SEE ALSO</H2><PRE>
- <STRONG><A HREF="ncurses.3x.html">curses(3x)</A></STRONG>, <STRONG><A HREF="form.3x.html">form(3x)</A></STRONG>.
+</PRE><H2><a name="h2-SEE-ALSO">SEE ALSO</a></H2><PRE>
+ <STRONG><A HREF="ncurses.3x.html">curses(3x)</A></STRONG>, <STRONG><A HREF="form.3x.html">form(3x)</A></STRONG>. <STRONG><A HREF="form_field_just.3x.html">form_field_just(3x)</A></STRONG>.
-</PRE>
-<H2>NOTES</H2><PRE>
- The header file <STRONG>&lt;form.h&gt;</STRONG> automatically includes the header
- file <STRONG>&lt;curses.h&gt;</STRONG>.
+</PRE><H2><a name="h2-NOTES">NOTES</a></H2><PRE>
+ The header file <STRONG>&lt;form.h&gt;</STRONG> automatically includes the header file
+ <STRONG>&lt;curses.h&gt;</STRONG>.
-</PRE>
-<H2>PORTABILITY</H2><PRE>
- These routines emulate the System V forms library. They
- were not supported on Version 7 or BSD versions.
+</PRE><H2><a name="h2-PORTABILITY">PORTABILITY</a></H2><PRE>
+ These routines emulate the System V forms library. They were not sup-
+ ported on Version 7 or BSD versions.
-</PRE>
-<H2>AUTHORS</H2><PRE>
- Juergen Pfeifer. Manual pages and adaptation for new
- curses by Eric S. Raymond.
+</PRE><H2><a name="h2-AUTHORS">AUTHORS</a></H2><PRE>
+ Juergen Pfeifer. Manual pages and adaptation for new curses by Eric S.
+ Raymond.
- <STRONG><A HREF="form_field_opts.3x.html">form_field_opts(3x)</A></STRONG>
+ <STRONG><A HREF="form_field_opts.3x.html">form_field_opts(3x)</A></STRONG>
</PRE>
-<HR>
-<ADDRESS>
-Man(1) output converted with
-<a href="http://www.oac.uci.edu/indiv/ehood/man2html.html">man2html</a>
-</ADDRESS>
+<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>
+<li><a href="#h2-RETURN-VALUE">RETURN VALUE</a></li>
+<li><a href="#h2-SEE-ALSO">SEE ALSO</a></li>
+<li><a href="#h2-NOTES">NOTES</a></li>
+<li><a href="#h2-PORTABILITY">PORTABILITY</a></li>
+<li><a href="#h2-AUTHORS">AUTHORS</a></li>
+</ul>
+</div>
</BODY>
</HTML>
diff --git a/doc/html/man/form_field_userptr.3x.html b/doc/html/man/form_field_userptr.3x.html
index 845027db82c4..3adc70edb472 100644
--- a/doc/html/man/form_field_userptr.3x.html
+++ b/doc/html/man/form_field_userptr.3x.html
@@ -1,8 +1,7 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN">
<!--
* t
****************************************************************************
- * Copyright (c) 1998-2006,2010 Free Software Foundation, Inc. *
+ * Copyright (c) 1998-2015,2018 Free Software Foundation, Inc. *
* *
* Permission is hereby granted, free of charge, to any person obtaining a *
* copy of this software and associated documentation files (the *
@@ -28,85 +27,85 @@
* sale, use or other dealings in this Software without prior written *
* authorization. *
****************************************************************************
- * @Id: form_field_userptr.3x,v 1.10 2010/12/04 18:40:45 tom Exp @
+ * @Id: form_field_userptr.3x,v 1.12 2018/07/28 21:34:06 tom Exp @
-->
+<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN">
<HTML>
<HEAD>
+<meta http-equiv="Content-Type" content="text/html; charset=us-ascii">
+<meta name="generator" content="Manpage converted by man2html - see https://invisible-island.net/scripts/readme.html#others_scripts">
<TITLE>form_field_userptr 3x</TITLE>
-<link rev=made href="mailto:bug-ncurses@gnu.org">
+<link rel="author" href="mailto:bug-ncurses@gnu.org">
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
</HEAD>
<BODY>
-<H1>form_field_userptr 3x</H1>
-<HR>
+<H1 class="no-header">form_field_userptr 3x</H1>
<PRE>
-<!-- Manpage converted by man2html 3.0.1 -->
-<STRONG><A HREF="form_field_userptr.3x.html">form_field_userptr(3x)</A></STRONG> <STRONG><A HREF="form_field_userptr.3x.html">form_field_userptr(3x)</A></STRONG>
+<STRONG><A HREF="form_field_userptr.3x.html">form_field_userptr(3x)</A></STRONG> <STRONG><A HREF="form_field_userptr.3x.html">form_field_userptr(3x)</A></STRONG>
-</PRE>
-<H2>NAME</H2><PRE>
- <STRONG>form_field_userptr</STRONG> - associate application data with a
+</PRE><H2><a name="h2-NAME">NAME</a></H2><PRE>
+ <STRONG>set_field_userptr</STRONG>, <STRONG>field_userptr</STRONG> - associate application data with a
form field
-</PRE>
-<H2>SYNOPSIS</H2><PRE>
+</PRE><H2><a name="h2-SYNOPSIS">SYNOPSIS</a></H2><PRE>
<STRONG>#include</STRONG> <STRONG>&lt;form.h&gt;</STRONG>
int set_field_userptr(FIELD *field, void*userptr);
void *field_userptr(const FIELD *field);
-</PRE>
-<H2>DESCRIPTION</H2><PRE>
- Every form field has a field that can be used to hold
- application-specific data (that is, the form-driver code
- leaves it alone). These functions get and set that field.
+</PRE><H2><a name="h2-DESCRIPTION">DESCRIPTION</a></H2><PRE>
+ Every form field has a field that can be used to hold application-spe-
+ cific data (that is, the form-driver code leaves it alone). These
+ functions get and set that field.
-</PRE>
-<H2>RETURN VALUE</H2><PRE>
- The function <STRONG>field_userptr</STRONG> returns a pointer (which may be
- <STRONG>NULL</STRONG>). It does not set errno.
+</PRE><H2><a name="h2-RETURN-VALUE">RETURN VALUE</a></H2><PRE>
+ The function <STRONG>field_userptr</STRONG> returns a pointer (which may be <STRONG>NULL</STRONG>). It
+ does not set errno.
The function <STRONG>set_field_userptr</STRONG> returns <STRONG>E_OK</STRONG> (success).
-</PRE>
-<H2>SEE ALSO</H2><PRE>
+</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="form.3x.html">form(3x)</A></STRONG>.
-</PRE>
-<H2>NOTES</H2><PRE>
- The header file <STRONG>&lt;form.h&gt;</STRONG> automatically includes the header
- file <STRONG>&lt;curses.h&gt;</STRONG>.
+</PRE><H2><a name="h2-NOTES">NOTES</a></H2><PRE>
+ The header file <STRONG>&lt;form.h&gt;</STRONG> automatically includes the header file
+ <STRONG>&lt;curses.h&gt;</STRONG>.
-</PRE>
-<H2>PORTABILITY</H2><PRE>
- These routines emulate the System V forms library. They
- were not supported on Version 7 or BSD versions.
+</PRE><H2><a name="h2-PORTABILITY">PORTABILITY</a></H2><PRE>
+ These routines emulate the System V forms library. They were not sup-
+ ported on Version 7 or BSD versions.
- The user pointer is a void pointer. We chose not to leave
- it as a char pointer for SVr4 compatibility.
+ The user pointer is a void pointer. We chose not to leave it as a char
+ pointer for SVr4 compatibility.
-</PRE>
-<H2>AUTHORS</H2><PRE>
- Juergen Pfeifer. Manual pages and adaptation for new
- curses by Eric S. Raymond.
+</PRE><H2><a name="h2-AUTHORS">AUTHORS</a></H2><PRE>
+ Juergen Pfeifer. Manual pages and adaptation for new curses by Eric S.
+ Raymond.
- <STRONG><A HREF="form_field_userptr.3x.html">form_field_userptr(3x)</A></STRONG>
+ <STRONG><A HREF="form_field_userptr.3x.html">form_field_userptr(3x)</A></STRONG>
</PRE>
-<HR>
-<ADDRESS>
-Man(1) output converted with
-<a href="http://www.oac.uci.edu/indiv/ehood/man2html.html">man2html</a>
-</ADDRESS>
+<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>
+<li><a href="#h2-RETURN-VALUE">RETURN VALUE</a></li>
+<li><a href="#h2-SEE-ALSO">SEE ALSO</a></li>
+<li><a href="#h2-NOTES">NOTES</a></li>
+<li><a href="#h2-PORTABILITY">PORTABILITY</a></li>
+<li><a href="#h2-AUTHORS">AUTHORS</a></li>
+</ul>
+</div>
</BODY>
</HTML>
diff --git a/doc/html/man/form_field_validation.3x.html b/doc/html/man/form_field_validation.3x.html
index 08201ff1315e..a65e0b4ad4d5 100644
--- a/doc/html/man/form_field_validation.3x.html
+++ b/doc/html/man/form_field_validation.3x.html
@@ -1,7 +1,6 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN">
<!--
****************************************************************************
- * Copyright (c) 1998-2006,2010 Free Software Foundation, Inc. *
+ * Copyright (c) 1998-2018,2019 Free Software Foundation, Inc. *
* *
* Permission is hereby granted, free of charge, to any person obtaining a *
* copy of this software and associated documentation files (the *
@@ -27,31 +26,30 @@
* sale, use or other dealings in this Software without prior written *
* authorization. *
****************************************************************************
- * @Id: form_field_validation.3x,v 1.20 2010/12/04 18:38:55 tom Exp @
+ * @Id: form_field_validation.3x,v 1.24 2019/01/20 20:31:42 tom Exp @
-->
+<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN">
<HTML>
<HEAD>
+<meta http-equiv="Content-Type" content="text/html; charset=us-ascii">
+<meta name="generator" content="Manpage converted by man2html - see https://invisible-island.net/scripts/readme.html#others_scripts">
<TITLE>form_field_validation 3x</TITLE>
-<link rev=made href="mailto:bug-ncurses@gnu.org">
+<link rel="author" href="mailto:bug-ncurses@gnu.org">
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
</HEAD>
<BODY>
-<H1>form_field_validation 3x</H1>
-<HR>
+<H1 class="no-header">form_field_validation 3x</H1>
<PRE>
-<!-- Manpage converted by man2html 3.0.1 -->
-<STRONG><A HREF="form_field_validation.3x.html">form_field_validation(3x)</A></STRONG> <STRONG><A HREF="form_field_validation.3x.html">form_field_validation(3x)</A></STRONG>
+<STRONG><A HREF="form_field_validation.3x.html">form_field_validation(3x)</A></STRONG> <STRONG><A HREF="form_field_validation.3x.html">form_field_validation(3x)</A></STRONG>
-</PRE>
-<H2>NAME</H2><PRE>
+</PRE><H2><a name="h2-NAME">NAME</a></H2><PRE>
<STRONG>form_field_validation</STRONG> - data type validation for fields
-</PRE>
-<H2>SYNOPSIS</H2><PRE>
+</PRE><H2><a name="h2-SYNOPSIS">SYNOPSIS</a></H2><PRE>
<STRONG>#include</STRONG> <STRONG>&lt;form.h&gt;</STRONG>
int set_field_type(FIELD *field, FIELDTYPE *type, ...);
FIELDTYPE *field_type(const FIELD *field);
@@ -66,130 +64,142 @@
FIELDTYPE *TYPE_IPV4;
-</PRE>
-<H2>DESCRIPTION</H2><PRE>
- The function <STRONG>set_field_type</STRONG> declares a data type for a
- given form field. This is the type checked by validation
- functions. The predefined types are as follows:
+</PRE><H2><a name="h2-DESCRIPTION">DESCRIPTION</a></H2><PRE>
+ The function <STRONG>set_field_type</STRONG> declares a data type for a given form
+ field. This is the type checked by validation functions. The prede-
+ fined types are as follows:
TYPE_ALNUM
- Alphanumeric data. Requires a third <STRONG>int</STRONG> argument, a
- minimum field width.
+ Alphanumeric data. Requires a third <STRONG>int</STRONG> argument, a minimum field
+ width.
TYPE_ALPHA
- Character data. Requires a third <STRONG>int</STRONG> argument, a
- minimum field width.
+ Character data. Requires a third <STRONG>int</STRONG> argument, a minimum field
+ width.
TYPE_ENUM
- Accept one of a specified set of strings. Requires a
- third <STRONG>(char</STRONG> <STRONG>**)</STRONG> argument pointing to a string list; a
- fourth <STRONG>int</STRONG> flag argument to enable case-sensitivity;
- and a fifth <STRONG>int</STRONG> flag argument specifying whether a
- partial match must be a unique one (if this flag is
- off, a prefix matches the first of any set of more
- than one list elements with that prefix). Please
- notice that the string list is copied. So you may use
- a list that lives in automatic variables on the
- stack.
+ Accept one of a specified set of strings. Requires additional
+ parameters:
+
+ <STRONG>o</STRONG> a third <STRONG>(char</STRONG> <STRONG>**)</STRONG> argument pointing to a string list;
+
+ <STRONG>o</STRONG> a fourth <STRONG>int</STRONG> flag argument to enable case-sensitivity;
+
+ <STRONG>o</STRONG> and a fifth <STRONG>int</STRONG> flag argument specifying whether a partial
+ match must be a unique one. If this flag is off, a prefix
+ matches the first of any set of more than one list elements
+ with that prefix.
+
+ The library copies the string list, so you may use a list that
+ lives in automatic variables on the stack.
TYPE_INTEGER
- Integer data, parsable to an integer by <STRONG>atoi(3)</STRONG>.
- Requires a third <STRONG>int</STRONG> argument controlling the preci-
- sion, a fourth <STRONG>long</STRONG> argument constraining minimum
- value, and a fifth <STRONG>long</STRONG> constraining maximum value.
- If the maximum value is less than or equal to the
- minimum value, the range is simply ignored. On return
- the field buffer is formatted according to the <STRONG>printf</STRONG>
- format specification ".*ld", where the '*' is
- replaced by the precision argument. For details of
- the precision handling see <STRONG>printf's</STRONG> man-page.
+ Integer data, parsable to an integer by <STRONG>atoi(3)</STRONG>. Requires addi-
+ tional parameters:
+
+ <STRONG>o</STRONG> a third <STRONG>int</STRONG> argument controlling the precision,
+
+ <STRONG>o</STRONG> a fourth <STRONG>long</STRONG> argument constraining minimum value,
+
+ <STRONG>o</STRONG> and a fifth <STRONG>long</STRONG> constraining maximum value. If the maximum
+ value is less than or equal to the minimum value, the range is
+ simply ignored. On return, the field buffer is formatted
+ according to the <STRONG>printf</STRONG> format specification ".*ld", where the
+ "*" is replaced by the precision argument.
+
+ For details of the precision handling see <STRONG>printf(3)</STRONG>.
TYPE_NUMERIC
- Numeric data (may have a decimal-point part).
- Requires a third <STRONG>int</STRONG> argument controlling the preci-
- sion, a fourth <STRONG>double</STRONG> argument constraining minimum
- value, and a fifth <STRONG>double</STRONG> constraining maximum value.
- If your system supports locales, the decimal point
- character to be used must be the one specified by
- your locale. If the maximum value is less than or
- equal to the minimum value, the range is simply
- ignored. On return the field buffer is formatted
- according to the <STRONG>printf</STRONG> format specification ".*f",
- where the '*' is replaced by the precision argument.
- For details of the precision handling see <STRONG>printf's</STRONG>
- man-page.
+ Numeric data (may have a decimal-point part). This requires addi-
+ tional parameters:
+
+ <STRONG>o</STRONG> a third <STRONG>int</STRONG> argument controlling the precision,
+
+ <STRONG>o</STRONG> a fourth <STRONG>double</STRONG> argument constraining minimum value,
+
+ <STRONG>o</STRONG> and a fifth <STRONG>double</STRONG> constraining maximum value. If your system
+ supports locales, the decimal point character must be the one
+ specified by your locale. If the maximum value is less than
+ or equal to the minimum value, the range is simply ignored.
+
+ On return, the field buffer is formatted according to the
+ <STRONG>printf</STRONG> format specification ".*f", where the "*" is replaced
+ by the precision argument.
+
+ For details of the precision handling see <STRONG>printf(3)</STRONG>.
TYPE_REGEXP
- Regular expression data. Requires a regular expres-
- sion <STRONG>(char</STRONG> <STRONG>*)</STRONG> third argument; the data is valid if
- the regular expression matches it. Regular expres-
- sions are in the format of <STRONG>regcomp</STRONG> and <STRONG>regexec</STRONG>.
- Please notice that the regular expression must match
- the whole field. If you have for example an eight
- character wide field, a regular expression "^[0-9]*$"
- always means that you have to fill all eight posi-
- tions with digits. If you want to allow fewer digits,
- you may use for example "^[0-9]* *$" which is good
- for trailing spaces (up to an empty field), or "^
- *[0-9]* *$" which is good for leading and trailing
- spaces around the digits.
+ Regular expression data. Requires a regular expression <STRONG>(char</STRONG> <STRONG>*)</STRONG>
+ third argument. The data is valid if the regular expression
+ matches it.
+
+ Regular expressions are in the format of <STRONG>regcomp</STRONG> and <STRONG>regexec</STRONG>.
+
+ The regular expression must match the whole field. If you have
+ for example, an eight character wide field, a regular expression
+ "^[0-9]*$" always means that you have to fill all eight positions
+ with digits. If you want to allow fewer digits, you may use for
+ example "^[0-9]* *$" which is good for trailing spaces (up to an
+ empty field), or "^ *[0-9]* *$" which is good for leading and
+ trailing spaces around the digits.
TYPE_IPV4
- An Internet Protocol Version 4 address. This requires
- no additional argument. It is checked whether or not
- the buffer has the form a.b.c.d, where a,b,c and d
- are numbers between 0 and 255. Trailing blanks in the
- buffer are ignored. The address itself is not vali-
- dated. Please note that this is an ncurses extension.
- This field type may not be available in other curses
- implementations.
+ An Internet Protocol Version 4 address. This requires no addi-
+ tional argument. The library checks whether or not the buffer has
+ the form a.b.c.d, where a,b,c and d are numbers between 0 and 255.
+ Trailing blanks in the buffer are ignored. The address itself is
+ not validated.
- It is possible to set up new programmer-defined field
- types. See the <STRONG><A HREF="form_fieldtype.3x.html">form_fieldtype(3x)</A></STRONG> manual page.
+ This is an ncurses extension; this field type may not be available
+ in other curses implementations.
+ It is possible to set up new programmer-defined field types. See the
+ <STRONG><A HREF="form_fieldtype.3x.html">form_fieldtype(3x)</A></STRONG> manual page.
-</PRE>
-<H2>RETURN VALUE</H2><PRE>
- The functions <STRONG>field_type</STRONG> and <STRONG>field_arg</STRONG> return <STRONG>NULL</STRONG> on
- error. The function <STRONG>set_field_type</STRONG> returns one of the fol-
- lowing:
+
+</PRE><H2><a name="h2-RETURN-VALUE">RETURN VALUE</a></H2><PRE>
+ The functions <STRONG>field_type</STRONG> and <STRONG>field_arg</STRONG> return <STRONG>NULL</STRONG> on error. The func-
+ tion <STRONG>set_field_type</STRONG> returns one of the following:
<STRONG>E_OK</STRONG> The routine succeeded.
<STRONG>E_SYSTEM_ERROR</STRONG>
- System error occurred (see <STRONG>errno</STRONG>).
+ System error occurred (see <STRONG>errno(3)</STRONG>).
-</PRE>
-<H2>SEE ALSO</H2><PRE>
+</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="form.3x.html">form(3x)</A></STRONG>, <STRONG><A HREF="form_variables.3x.html">form_variables(3x)</A></STRONG>.
-</PRE>
-<H2>NOTES</H2><PRE>
- The header file <STRONG>&lt;form.h&gt;</STRONG> automatically includes the header
- file <STRONG>&lt;curses.h&gt;</STRONG>.
+</PRE><H2><a name="h2-NOTES">NOTES</a></H2><PRE>
+ The header file <STRONG>&lt;form.h&gt;</STRONG> automatically includes the header file
+ <STRONG>&lt;curses.h&gt;</STRONG>.
-</PRE>
-<H2>PORTABILITY</H2><PRE>
- These routines emulate the System V forms library. They
- were not supported on Version 7 or BSD versions.
+</PRE><H2><a name="h2-PORTABILITY">PORTABILITY</a></H2><PRE>
+ These routines emulate the System V forms library. They were not sup-
+ ported on Version 7 or BSD versions.
-</PRE>
-<H2>AUTHORS</H2><PRE>
- Juergen Pfeifer. Manual pages and adaptation for new
- curses by Eric S. Raymond.
+</PRE><H2><a name="h2-AUTHORS">AUTHORS</a></H2><PRE>
+ Juergen Pfeifer. Manual pages and adaptation for new curses by Eric S.
+ Raymond.
- <STRONG><A HREF="form_field_validation.3x.html">form_field_validation(3x)</A></STRONG>
+ <STRONG><A HREF="form_field_validation.3x.html">form_field_validation(3x)</A></STRONG>
</PRE>
-<HR>
-<ADDRESS>
-Man(1) output converted with
-<a href="http://www.oac.uci.edu/indiv/ehood/man2html.html">man2html</a>
-</ADDRESS>
+<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>
+<li><a href="#h2-RETURN-VALUE">RETURN VALUE</a></li>
+<li><a href="#h2-SEE-ALSO">SEE ALSO</a></li>
+<li><a href="#h2-NOTES">NOTES</a></li>
+<li><a href="#h2-PORTABILITY">PORTABILITY</a></li>
+<li><a href="#h2-AUTHORS">AUTHORS</a></li>
+</ul>
+</div>
</BODY>
</HTML>
diff --git a/doc/html/man/form_fieldtype.3x.html b/doc/html/man/form_fieldtype.3x.html
index f2778a1e3e11..468c9dbedae8 100644
--- a/doc/html/man/form_fieldtype.3x.html
+++ b/doc/html/man/form_fieldtype.3x.html
@@ -1,8 +1,7 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN">
<!--
* t
****************************************************************************
- * Copyright (c) 1998-2006,2010 Free Software Foundation, Inc. *
+ * Copyright (c) 1998-2018,2019 Free Software Foundation, Inc. *
* *
* Permission is hereby granted, free of charge, to any person obtaining a *
* copy of this software and associated documentation files (the *
@@ -28,31 +27,30 @@
* sale, use or other dealings in this Software without prior written *
* authorization. *
****************************************************************************
- * @Id: form_fieldtype.3x,v 1.16 2010/12/04 18:40:45 tom Exp @
+ * @Id: form_fieldtype.3x,v 1.19 2019/01/20 20:31:42 tom Exp @
-->
+<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN">
<HTML>
<HEAD>
+<meta http-equiv="Content-Type" content="text/html; charset=us-ascii">
+<meta name="generator" content="Manpage converted by man2html - see https://invisible-island.net/scripts/readme.html#others_scripts">
<TITLE>form_fieldtype 3x</TITLE>
-<link rev=made href="mailto:bug-ncurses@gnu.org">
+<link rel="author" href="mailto:bug-ncurses@gnu.org">
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
</HEAD>
<BODY>
-<H1>form_fieldtype 3x</H1>
-<HR>
+<H1 class="no-header">form_fieldtype 3x</H1>
<PRE>
-<!-- Manpage converted by man2html 3.0.1 -->
-<STRONG><A HREF="form_fieldtype.3x.html">form_fieldtype(3x)</A></STRONG> <STRONG><A HREF="form_fieldtype.3x.html">form_fieldtype(3x)</A></STRONG>
+<STRONG><A HREF="form_fieldtype.3x.html">form_fieldtype(3x)</A></STRONG> <STRONG><A HREF="form_fieldtype.3x.html">form_fieldtype(3x)</A></STRONG>
-</PRE>
-<H2>NAME</H2><PRE>
+</PRE><H2><a name="h2-NAME">NAME</a></H2><PRE>
<STRONG>form_fieldtype</STRONG> - define validation-field types
-</PRE>
-<H2>SYNOPSIS</H2><PRE>
+</PRE><H2><a name="h2-SYNOPSIS">SYNOPSIS</a></H2><PRE>
<STRONG>#include</STRONG> <STRONG>&lt;form.h&gt;</STRONG>
FIELDTYPE *new_fieldtype(
bool (* const field_check)(FIELD *, const void *),
@@ -71,75 +69,62 @@
FIELDTYPE *type2);
-</PRE>
-<H2>DESCRIPTION</H2><PRE>
- The function <STRONG>new_fieldtype</STRONG> creates a new field type usable
- for data validation. You supply it with <EM>field</EM><STRONG>_</STRONG><EM>check</EM>, a
- predicate to check the validity of an entered data string
- whenever the user attempts to leave a field. The (FIELD
- *) argument is passed in so the validation predicate can
- see the field's buffer, sizes and other attributes; the
- second argument is an argument-block structure, about
- which more below.
-
- You also supply <STRONG>new_fieldtype</STRONG> with <EM>char</EM><STRONG>_</STRONG><EM>check</EM>, a function
- to validate input characters as they are entered; it will
- be passed the character to be checked and a pointer to an
- argument-block structure.
-
- The function <STRONG>free_fieldtype</STRONG> frees the space allocated for
- a given validation type.
-
- The function <STRONG>set_fieldtype_arg</STRONG> associates three storage-
- management functions with a field type. The <EM>make</EM><STRONG>_</STRONG><EM>arg</EM>
- function is automatically applied to the list of arguments
- you give <STRONG>set_field_type</STRONG> when attaching validation to a
- field; its job is to bundle these into an allocated argu-
- ment-block object which can later be passed to validation
- predicated. The other two hook arguments should copy and
- free argument-block structures. They will be used by the
- forms-driver code. You must supply the <EM>make</EM><STRONG>_</STRONG><EM>arg</EM> function,
- the other two are optional, you may supply NULL for them.
- In this case it is assumed that <EM>make</EM><STRONG>_</STRONG><EM>arg</EM> does not allocate
- memory but simply loads the argument into a single scalar
+</PRE><H2><a name="h2-DESCRIPTION">DESCRIPTION</a></H2><PRE>
+ The function <STRONG>new_fieldtype</STRONG> creates a new field type usable for data
+ validation. You supply it with <EM>field</EM><STRONG>_</STRONG><EM>check</EM>, a predicate to check the
+ validity of an entered data string whenever the user attempts to leave
+ a field. The (FIELD *) argument is passed in so the validation predi-
+ cate can see the field's buffer, sizes and other attributes; the second
+ argument is an argument-block structure, about which more below.
+
+ You also supply <STRONG>new_fieldtype</STRONG> with <EM>char</EM><STRONG>_</STRONG><EM>check</EM>, a function to validate
+ input characters as they are entered; it will be passed the character
+ to be checked and a pointer to an argument-block structure.
+
+ The function <STRONG>free_fieldtype</STRONG> frees the space allocated for a given vali-
+ dation type.
+
+ The function <STRONG>set_fieldtype_arg</STRONG> associates three storage-management
+ functions with a field type. The <EM>make</EM><STRONG>_</STRONG><EM>arg</EM> function is automatically
+ applied to the list of arguments you give <STRONG>set_field_type</STRONG> when attaching
+ validation to a field; its job is to bundle these into an allocated
+ argument-block object which can later be passed to validation predi-
+ cated. The other two hook arguments should copy and free argument-
+ block structures. They will be used by the forms-driver code. You
+ must supply the <EM>make</EM><STRONG>_</STRONG><EM>arg</EM> function, the other two are optional, you may
+ supply NULL for them. In this case it is assumed that <EM>make</EM><STRONG>_</STRONG><EM>arg</EM> does
+ not allocate memory but simply loads the argument into a single scalar
value.
- The function <STRONG>link_fieldtype</STRONG> creates a new field type from
- the two given types. They are connected by an logical
- 'OR'.
+ The function <STRONG>link_fieldtype</STRONG> creates a new field type from the two given
+ types. They are connected by an logical 'OR'.
- The form driver requests <STRONG>REQ_NEXT_CHOICE</STRONG> and
- <STRONG>REQ_PREV_CHOICE</STRONG> assume that the possible values of a field
- form an ordered set, and provide the forms user with a way
- to move through the set. The <STRONG>set_fieldtype_choice</STRONG> func-
- tion allows forms programmers to define successor and pre-
- decessor functions for the field type. These functions
- take the field pointer and an argument-block structure as
- arguments.
+ The form driver requests <STRONG>REQ_NEXT_CHOICE</STRONG> and <STRONG>REQ_PREV_CHOICE</STRONG> assume
+ that the possible values of a field form an ordered set, and provide
+ the forms user with a way to move through the set. The <STRONG>set_field-</STRONG>
+ <STRONG>type_choice</STRONG> function allows forms programmers to define successor and
+ predecessor functions for the field type. These functions take the
+ field pointer and an argument-block structure as arguments.
-</PRE>
-<H2>RETURN VALUE</H2><PRE>
- The pointer-valued routines return NULL on error. They
- set errno according to their success:
+</PRE><H2><a name="h2-RETURN-VALUE">RETURN VALUE</a></H2><PRE>
+ The pointer-valued routines return NULL on error. They set errno
+ according to their success:
<STRONG>E_OK</STRONG> The routine succeeded.
<STRONG>E_BAD_ARGUMENT</STRONG>
- Routine detected an incorrect or out-of-range argu-
- ment.
+ Routine detected an incorrect or out-of-range argument.
<STRONG>E_SYSTEM_ERROR</STRONG>
System error occurred, e.g., malloc failure.
- The integer-valued routines return one of the following
- codes on error:
+ The integer-valued routines return one of the following codes on error:
<STRONG>E_OK</STRONG> The routine succeeded.
<STRONG>E_BAD_ARGUMENT</STRONG>
- Routine detected an incorrect or out-of-range argu-
- ment.
+ Routine detected an incorrect or out-of-range argument.
<STRONG>E_CONNECTED</STRONG>
The field is already connected to a form.
@@ -148,43 +133,46 @@
The field is the current field.
<STRONG>E_SYSTEM_ERROR</STRONG>
- System error occurred (see <STRONG>errno</STRONG>).
+ System error occurred (see <STRONG>errno(3)</STRONG>).
-</PRE>
-<H2>SEE ALSO</H2><PRE>
+</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="form.3x.html">form(3x)</A></STRONG>.
-</PRE>
-<H2>NOTES</H2><PRE>
- The header file <STRONG>&lt;form.h&gt;</STRONG> automatically includes the header
- file <STRONG>&lt;curses.h&gt;</STRONG>.
+</PRE><H2><a name="h2-NOTES">NOTES</a></H2><PRE>
+ The header file <STRONG>&lt;form.h&gt;</STRONG> automatically includes the header file
+ <STRONG>&lt;curses.h&gt;</STRONG>.
- All of the <STRONG>(char</STRONG> <STRONG>*)</STRONG> arguments of these functions should
- actually be <STRONG>(void</STRONG> <STRONG>*)</STRONG>. The type has been left uncorrected
- for strict compatibility with System V.
+ All of the <STRONG>(char</STRONG> <STRONG>*)</STRONG> arguments of these functions should actually be
+ <STRONG>(void</STRONG> <STRONG>*)</STRONG>. The type has been left uncorrected for strict compatibility
+ with System V.
-</PRE>
-<H2>PORTABILITY</H2><PRE>
- These routines emulate the System V forms library. They
- were not supported on Version 7 or BSD versions.
+</PRE><H2><a name="h2-PORTABILITY">PORTABILITY</a></H2><PRE>
+ These routines emulate the System V forms library. They were not sup-
+ ported on Version 7 or BSD versions.
-</PRE>
-<H2>AUTHORS</H2><PRE>
- Juergen Pfeifer. Manual pages and adaptation for new
- curses by Eric S. Raymond.
+</PRE><H2><a name="h2-AUTHORS">AUTHORS</a></H2><PRE>
+ Juergen Pfeifer. Manual pages and adaptation for new curses by Eric S.
+ Raymond.
- <STRONG><A HREF="form_fieldtype.3x.html">form_fieldtype(3x)</A></STRONG>
+ <STRONG><A HREF="form_fieldtype.3x.html">form_fieldtype(3x)</A></STRONG>
</PRE>
-<HR>
-<ADDRESS>
-Man(1) output converted with
-<a href="http://www.oac.uci.edu/indiv/ehood/man2html.html">man2html</a>
-</ADDRESS>
+<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>
+<li><a href="#h2-RETURN-VALUE">RETURN VALUE</a></li>
+<li><a href="#h2-SEE-ALSO">SEE ALSO</a></li>
+<li><a href="#h2-NOTES">NOTES</a></li>
+<li><a href="#h2-PORTABILITY">PORTABILITY</a></li>
+<li><a href="#h2-AUTHORS">AUTHORS</a></li>
+</ul>
+</div>
</BODY>
</HTML>
diff --git a/doc/html/man/form_hook.3x.html b/doc/html/man/form_hook.3x.html
index 837d6f403dd9..b2b02708ab7d 100644
--- a/doc/html/man/form_hook.3x.html
+++ b/doc/html/man/form_hook.3x.html
@@ -1,8 +1,7 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN">
<!--
* t
****************************************************************************
- * Copyright (c) 1998-2007,2010 Free Software Foundation, Inc. *
+ * Copyright (c) 1998-2018,2019 Free Software Foundation, Inc. *
* *
* Permission is hereby granted, free of charge, to any person obtaining a *
* copy of this software and associated documentation files (the *
@@ -28,32 +27,30 @@
* sale, use or other dealings in this Software without prior written *
* authorization. *
****************************************************************************
- * @Id: form_hook.3x,v 1.11 2010/12/04 18:40:45 tom Exp @
+ * @Id: form_hook.3x,v 1.13 2019/01/20 20:31:42 tom Exp @
-->
+<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN">
<HTML>
<HEAD>
+<meta http-equiv="Content-Type" content="text/html; charset=us-ascii">
+<meta name="generator" content="Manpage converted by man2html - see https://invisible-island.net/scripts/readme.html#others_scripts">
<TITLE>form_hook 3x</TITLE>
-<link rev=made href="mailto:bug-ncurses@gnu.org">
+<link rel="author" href="mailto:bug-ncurses@gnu.org">
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
</HEAD>
<BODY>
-<H1>form_hook 3x</H1>
-<HR>
+<H1 class="no-header">form_hook 3x</H1>
<PRE>
-<!-- Manpage converted by man2html 3.0.1 -->
-<STRONG><A HREF="form_hook.3x.html">form_hook(3x)</A></STRONG> <STRONG><A HREF="form_hook.3x.html">form_hook(3x)</A></STRONG>
+<STRONG><A HREF="form_hook.3x.html">form_hook(3x)</A></STRONG> <STRONG><A HREF="form_hook.3x.html">form_hook(3x)</A></STRONG>
-</PRE>
-<H2>NAME</H2><PRE>
- <STRONG>form_hook</STRONG> - set hooks for automatic invocation by applica-
- tions
+</PRE><H2><a name="h2-NAME">NAME</a></H2><PRE>
+ <STRONG>form_hook</STRONG> - set hooks for automatic invocation by applications
-</PRE>
-<H2>SYNOPSIS</H2><PRE>
+</PRE><H2><a name="h2-SYNOPSIS">SYNOPSIS</a></H2><PRE>
<STRONG>#include</STRONG> <STRONG>&lt;form.h&gt;</STRONG>
int set_field_init(FORM *form, Form_Hook func);
Form_Hook field_init(const FORM *form);
@@ -65,74 +62,73 @@
Form_Hook form_term(const FORM *form);
-</PRE>
-<H2>DESCRIPTION</H2><PRE>
- These functions make it possible to set hook functions to
- be called at various points in the automatic processing of
- input event codes by <STRONG>form_driver</STRONG>.
+</PRE><H2><a name="h2-DESCRIPTION">DESCRIPTION</a></H2><PRE>
+ These functions make it possible to set hook functions to be called at
+ various points in the automatic processing of input event codes by
+ <STRONG>form_driver</STRONG>.
- The function <STRONG>set_field_init</STRONG> sets a hook to be called at
- form-post time and each time the selected field changes
- (after the change). <STRONG>field_init</STRONG> returns the current field
- init hook, if any (<STRONG>NULL</STRONG> if there is no such hook).
+ The function <STRONG>set_field_init</STRONG> sets a hook to be called at form-post time
+ and each time the selected field changes (after the change).
+ <STRONG>field_init</STRONG> returns the current field init hook, if any (<STRONG>NULL</STRONG> if there
+ is no such hook).
- The function <STRONG>set_field_term</STRONG> sets a hook to be called at
- form-unpost time and each time the selected field changes
- (before the change). <STRONG>field_term</STRONG> returns the current field
- term hook, if any (<STRONG>NULL</STRONG> if there is no such hook).
+ The function <STRONG>set_field_term</STRONG> sets a hook to be called at form-unpost
+ time and each time the selected field changes (before the change).
+ <STRONG>field_term</STRONG> returns the current field term hook, if any (<STRONG>NULL</STRONG> if there
+ is no such hook).
- The function <STRONG>set_form_init</STRONG> sets a hook to be called at
- form-post time and just after a page change once it is
- posted. <STRONG>form_init</STRONG> returns the current form init hook, if
- any (<STRONG>NULL</STRONG> if there is no such hook).
+ The function <STRONG>set_form_init</STRONG> sets a hook to be called at form-post time
+ and just after a page change once it is posted. <STRONG>form_init</STRONG> returns the
+ current form init hook, if any (<STRONG>NULL</STRONG> if there is no such hook).
- The function <STRONG>set_form_term</STRONG> sets a hook to be called at
- form-unpost time and just before a page change once it is
- posted. <STRONG>form_init</STRONG> returns the current form term hook, if
- any (<STRONG>NULL</STRONG> if there is no such hook).
+ The function <STRONG>set_form_term</STRONG> sets a hook to be called at form-unpost time
+ and just before a page change once it is posted. <STRONG>form_init</STRONG> returns the
+ current form term hook, if any (<STRONG>NULL</STRONG> if there is no such hook).
-</PRE>
-<H2>RETURN VALUE</H2><PRE>
- Routines that return pointers return <STRONG>NULL</STRONG> on error. Other
- routines return one of the following:
+</PRE><H2><a name="h2-RETURN-VALUE">RETURN VALUE</a></H2><PRE>
+ Routines that return pointers return <STRONG>NULL</STRONG> on error. Other routines
+ return one of the following:
<STRONG>E_OK</STRONG> The routine succeeded.
<STRONG>E_SYSTEM_ERROR</STRONG>
- System error occurred (see <STRONG>errno</STRONG>).
+ System error occurred (see <STRONG>errno(3)</STRONG>).
-</PRE>
-<H2>SEE ALSO</H2><PRE>
+</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="form.3x.html">form(3x)</A></STRONG>.
-</PRE>
-<H2>NOTES</H2><PRE>
- The header file <STRONG>&lt;form.h&gt;</STRONG> automatically includes the header
- file <STRONG>&lt;curses.h&gt;</STRONG>.
+</PRE><H2><a name="h2-NOTES">NOTES</a></H2><PRE>
+ The header file <STRONG>&lt;form.h&gt;</STRONG> automatically includes the header file
+ <STRONG>&lt;curses.h&gt;</STRONG>.
-</PRE>
-<H2>PORTABILITY</H2><PRE>
- These routines emulate the System V forms library. They
- were not supported on Version 7 or BSD versions.
+</PRE><H2><a name="h2-PORTABILITY">PORTABILITY</a></H2><PRE>
+ These routines emulate the System V forms library. They were not sup-
+ ported on Version 7 or BSD versions.
-</PRE>
-<H2>AUTHORS</H2><PRE>
- Juergen Pfeifer. Manual pages and adaptation for new
- curses by Eric S. Raymond.
+</PRE><H2><a name="h2-AUTHORS">AUTHORS</a></H2><PRE>
+ Juergen Pfeifer. Manual pages and adaptation for new curses by Eric S.
+ Raymond.
- <STRONG><A HREF="form_hook.3x.html">form_hook(3x)</A></STRONG>
+ <STRONG><A HREF="form_hook.3x.html">form_hook(3x)</A></STRONG>
</PRE>
-<HR>
-<ADDRESS>
-Man(1) output converted with
-<a href="http://www.oac.uci.edu/indiv/ehood/man2html.html">man2html</a>
-</ADDRESS>
+<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>
+<li><a href="#h2-RETURN-VALUE">RETURN VALUE</a></li>
+<li><a href="#h2-SEE-ALSO">SEE ALSO</a></li>
+<li><a href="#h2-NOTES">NOTES</a></li>
+<li><a href="#h2-PORTABILITY">PORTABILITY</a></li>
+<li><a href="#h2-AUTHORS">AUTHORS</a></li>
+</ul>
+</div>
</BODY>
</HTML>
diff --git a/doc/html/man/form_new.3x.html b/doc/html/man/form_new.3x.html
index 81002200fef3..83f6e2da2fe0 100644
--- a/doc/html/man/form_new.3x.html
+++ b/doc/html/man/form_new.3x.html
@@ -1,8 +1,7 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN">
<!--
* t
****************************************************************************
- * Copyright (c) 1998-2006,2010 Free Software Foundation, Inc. *
+ * Copyright (c) 1998-2015,2018 Free Software Foundation, Inc. *
* *
* Permission is hereby granted, free of charge, to any person obtaining a *
* copy of this software and associated documentation files (the *
@@ -28,56 +27,51 @@
* sale, use or other dealings in this Software without prior written *
* authorization. *
****************************************************************************
- * @Id: form_new.3x,v 1.9 2010/12/04 18:40:45 tom Exp @
+ * @Id: form_new.3x,v 1.11 2018/07/28 21:34:06 tom Exp @
-->
+<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN">
<HTML>
<HEAD>
+<meta http-equiv="Content-Type" content="text/html; charset=us-ascii">
+<meta name="generator" content="Manpage converted by man2html - see https://invisible-island.net/scripts/readme.html#others_scripts">
<TITLE>form_new 3x</TITLE>
-<link rev=made href="mailto:bug-ncurses@gnu.org">
+<link rel="author" href="mailto:bug-ncurses@gnu.org">
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
</HEAD>
<BODY>
-<H1>form_new 3x</H1>
-<HR>
+<H1 class="no-header">form_new 3x</H1>
<PRE>
-<!-- Manpage converted by man2html 3.0.1 -->
-<STRONG><A HREF="form_new.3x.html">form_new(3x)</A></STRONG> <STRONG><A HREF="form_new.3x.html">form_new(3x)</A></STRONG>
+<STRONG><A HREF="form_new.3x.html">form_new(3x)</A></STRONG> <STRONG><A HREF="form_new.3x.html">form_new(3x)</A></STRONG>
-</PRE>
-<H2>NAME</H2><PRE>
- <STRONG>form_new</STRONG> - create and destroy forms
+</PRE><H2><a name="h2-NAME">NAME</a></H2><PRE>
+ <STRONG>new_form</STRONG>, <STRONG>free_form</STRONG> - create and destroy forms
-</PRE>
-<H2>SYNOPSIS</H2><PRE>
+</PRE><H2><a name="h2-SYNOPSIS">SYNOPSIS</a></H2><PRE>
<STRONG>#include</STRONG> <STRONG>&lt;form.h&gt;</STRONG>
FORM *new_form(FIELD **fields);
int free_form(FORM *form);
-</PRE>
-<H2>DESCRIPTION</H2><PRE>
- The function <STRONG>new_form</STRONG> creates a new form connected to a
- specified field pointer array (which must be <STRONG>NULL</STRONG>-termi-
- nated).
+</PRE><H2><a name="h2-DESCRIPTION">DESCRIPTION</a></H2><PRE>
+ The function <STRONG>new_form</STRONG> creates a new form connected to a specified field
+ pointer array (which must be <STRONG>NULL</STRONG>-terminated).
- The function <STRONG>free_form</STRONG> disconnects <EM>form</EM> from its field
- array and frees the storage allocated for the form.
+ The function <STRONG>free_form</STRONG> disconnects <EM>form</EM> from its field array and frees
+ the storage allocated for the form.
-</PRE>
-<H2>RETURN VALUE</H2><PRE>
- The function <STRONG>new_form</STRONG> returns <STRONG>NULL</STRONG> on error. It sets
- errno according to the function's success:
+</PRE><H2><a name="h2-RETURN-VALUE">RETURN VALUE</a></H2><PRE>
+ The function <STRONG>new_form</STRONG> returns <STRONG>NULL</STRONG> on error. It sets errno according
+ to the function's success:
<STRONG>E_OK</STRONG> The routine succeeded.
<STRONG>E_BAD_ARGUMENT</STRONG>
- Routine detected an incorrect or out-of-range argu-
- ment.
+ Routine detected an incorrect or out-of-range argument.
<STRONG>E_CONNECTED</STRONG>
The field is already connected to a form.
@@ -90,43 +84,45 @@
<STRONG>E_OK</STRONG> The routine succeeded.
<STRONG>E_BAD_ARGUMENT</STRONG>
- Routine detected an incorrect or out-of-range argu-
- ment.
+ Routine detected an incorrect or out-of-range argument.
<STRONG>E_POSTED</STRONG>
The form has already been posted.
-</PRE>
-<H2>SEE ALSO</H2><PRE>
+</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="form.3x.html">form(3x)</A></STRONG>.
-</PRE>
-<H2>NOTES</H2><PRE>
- The header file <STRONG>&lt;form.h&gt;</STRONG> automatically includes the header
- file <STRONG>&lt;curses.h&gt;</STRONG>.
+</PRE><H2><a name="h2-NOTES">NOTES</a></H2><PRE>
+ The header file <STRONG>&lt;form.h&gt;</STRONG> automatically includes the header file
+ <STRONG>&lt;curses.h&gt;</STRONG>.
-</PRE>
-<H2>PORTABILITY</H2><PRE>
- These routines emulate the System V forms library. They
- were not supported on Version 7 or BSD versions.
+</PRE><H2><a name="h2-PORTABILITY">PORTABILITY</a></H2><PRE>
+ These routines emulate the System V forms library. They were not sup-
+ ported on Version 7 or BSD versions.
-</PRE>
-<H2>AUTHORS</H2><PRE>
- Juergen Pfeifer. Manual pages and adaptation for new
- curses by Eric S. Raymond.
+</PRE><H2><a name="h2-AUTHORS">AUTHORS</a></H2><PRE>
+ Juergen Pfeifer. Manual pages and adaptation for new curses by Eric S.
+ Raymond.
- <STRONG><A HREF="form_new.3x.html">form_new(3x)</A></STRONG>
+ <STRONG><A HREF="form_new.3x.html">form_new(3x)</A></STRONG>
</PRE>
-<HR>
-<ADDRESS>
-Man(1) output converted with
-<a href="http://www.oac.uci.edu/indiv/ehood/man2html.html">man2html</a>
-</ADDRESS>
+<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>
+<li><a href="#h2-RETURN-VALUE">RETURN VALUE</a></li>
+<li><a href="#h2-SEE-ALSO">SEE ALSO</a></li>
+<li><a href="#h2-NOTES">NOTES</a></li>
+<li><a href="#h2-PORTABILITY">PORTABILITY</a></li>
+<li><a href="#h2-AUTHORS">AUTHORS</a></li>
+</ul>
+</div>
</BODY>
</HTML>
diff --git a/doc/html/man/form_new_page.3x.html b/doc/html/man/form_new_page.3x.html
index 171b09ac5dbb..7eceabe639cc 100644
--- a/doc/html/man/form_new_page.3x.html
+++ b/doc/html/man/form_new_page.3x.html
@@ -1,8 +1,7 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN">
<!--
* t
****************************************************************************
- * Copyright (c) 1998-2006,2010 Free Software Foundation, Inc. *
+ * Copyright (c) 1998-2018,2019 Free Software Foundation, Inc. *
* *
* Permission is hereby granted, free of charge, to any person obtaining a *
* copy of this software and associated documentation files (the *
@@ -28,92 +27,88 @@
* sale, use or other dealings in this Software without prior written *
* authorization. *
****************************************************************************
- * @Id: form_new_page.3x,v 1.10 2010/12/04 18:40:45 tom Exp @
+ * @Id: form_new_page.3x,v 1.14 2019/11/30 21:06:30 tom Exp @
-->
+<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN">
<HTML>
<HEAD>
+<meta http-equiv="Content-Type" content="text/html; charset=us-ascii">
+<meta name="generator" content="Manpage converted by man2html - see https://invisible-island.net/scripts/readme.html#others_scripts">
<TITLE>form_new_page 3x</TITLE>
-<link rev=made href="mailto:bug-ncurses@gnu.org">
+<link rel="author" href="mailto:bug-ncurses@gnu.org">
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
</HEAD>
<BODY>
-<H1>form_new_page 3x</H1>
-<HR>
+<H1 class="no-header">form_new_page 3x</H1>
<PRE>
-<!-- Manpage converted by man2html 3.0.1 -->
-<STRONG><A HREF="form_new_page.3x.html">form_new_page(3x)</A></STRONG> <STRONG><A HREF="form_new_page.3x.html">form_new_page(3x)</A></STRONG>
+<STRONG><A HREF="form_new_page.3x.html">form_new_page(3x)</A></STRONG> <STRONG><A HREF="form_new_page.3x.html">form_new_page(3x)</A></STRONG>
-</PRE>
-<H2>NAME</H2><PRE>
- <STRONG>form_new_page</STRONG> - form pagination functions
+</PRE><H2><a name="h2-NAME">NAME</a></H2><PRE>
+ <STRONG>set_new_page</STRONG>, <STRONG>new_page</STRONG> - form pagination functions
-</PRE>
-<H2>SYNOPSIS</H2><PRE>
+</PRE><H2><a name="h2-SYNOPSIS">SYNOPSIS</a></H2><PRE>
<STRONG>#include</STRONG> <STRONG>&lt;form.h&gt;</STRONG>
int set_new_page(FIELD *field, bool new_page_flag);
bool new_page(const FIELD *field);
-</PRE>
-<H2>DESCRIPTION</H2><PRE>
- The function <STRONG>set_new_page</STRONG> sets or resets a flag marking
- the given field as the beginning of a new page on its
- form.
+</PRE><H2><a name="h2-DESCRIPTION">DESCRIPTION</a></H2><PRE>
+ The function <STRONG>set_new_page</STRONG> sets or resets a flag marking the given field
+ as the beginning of a new page on its form.
- The function <STRONG>new_page</STRONG> is a predicate which tests if a
- given field marks a page beginning on its form.
+ The function <STRONG>new_page</STRONG> is a predicate which tests if a given field marks
+ a page beginning on its form.
-</PRE>
-<H2>RETURN VALUE</H2><PRE>
+</PRE><H2><a name="h2-RETURN-VALUE">RETURN VALUE</a></H2><PRE>
The function <STRONG>new_page</STRONG> returns <STRONG>TRUE</STRONG> or <STRONG>FALSE</STRONG>.
- The function <STRONG>set_new_page</STRONG> return one of the following:
+ The function <STRONG>set_new_page</STRONG> returns one of the following:
<STRONG>E_OK</STRONG> The routine succeeded.
- <STRONG>E_SYSTEM_ERROR</STRONG>
- System error occurred (see <STRONG>errno</STRONG>).
-
<STRONG>E_CONNECTED</STRONG>
The given field is already connected to a form.
-</PRE>
-<H2>SEE ALSO</H2><PRE>
- <STRONG><A HREF="ncurses.3x.html">curses(3x)</A></STRONG> and related pages whose names begin "form_" for
- detailed descriptions of the entry points.
+</PRE><H2><a name="h2-SEE-ALSO">SEE ALSO</a></H2><PRE>
+ <STRONG><A HREF="ncurses.3x.html">curses(3x)</A></STRONG> and related pages whose names begin "form_" for detailed
+ descriptions of the entry points.
-</PRE>
-<H2>NOTES</H2><PRE>
- The header file <STRONG>&lt;form.h&gt;</STRONG> automatically includes the header
- file <STRONG>&lt;curses.h&gt;</STRONG>.
+</PRE><H2><a name="h2-NOTES">NOTES</a></H2><PRE>
+ The header file <STRONG>&lt;form.h&gt;</STRONG> automatically includes the header file
+ <STRONG>&lt;curses.h&gt;</STRONG>.
-</PRE>
-<H2>PORTABILITY</H2><PRE>
- These routines emulate the System V forms library. They
- were not supported on Version 7 or BSD versions.
+</PRE><H2><a name="h2-PORTABILITY">PORTABILITY</a></H2><PRE>
+ These routines emulate the System V forms library. They were not sup-
+ ported on Version 7 or BSD versions.
-</PRE>
-<H2>AUTHORS</H2><PRE>
- Juergen Pfeifer. Manual pages and adaptation for new
- curses by Eric S. Raymond.
+</PRE><H2><a name="h2-AUTHORS">AUTHORS</a></H2><PRE>
+ Juergen Pfeifer. Manual pages and adaptation for new curses by Eric S.
+ Raymond.
- <STRONG><A HREF="form_new_page.3x.html">form_new_page(3x)</A></STRONG>
+ <STRONG><A HREF="form_new_page.3x.html">form_new_page(3x)</A></STRONG>
</PRE>
-<HR>
-<ADDRESS>
-Man(1) output converted with
-<a href="http://www.oac.uci.edu/indiv/ehood/man2html.html">man2html</a>
-</ADDRESS>
+<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>
+<li><a href="#h2-RETURN-VALUE">RETURN VALUE</a></li>
+<li><a href="#h2-SEE-ALSO">SEE ALSO</a></li>
+<li><a href="#h2-NOTES">NOTES</a></li>
+<li><a href="#h2-PORTABILITY">PORTABILITY</a></li>
+<li><a href="#h2-AUTHORS">AUTHORS</a></li>
+</ul>
+</div>
</BODY>
</HTML>
diff --git a/doc/html/man/form_opts.3x.html b/doc/html/man/form_opts.3x.html
index ee73c24a2f5a..472fefdf212d 100644
--- a/doc/html/man/form_opts.3x.html
+++ b/doc/html/man/form_opts.3x.html
@@ -1,8 +1,7 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN">
<!--
* t
****************************************************************************
- * Copyright (c) 1998-2007,2010 Free Software Foundation, Inc. *
+ * Copyright (c) 1998-2018,2019 Free Software Foundation, Inc. *
* *
* Permission is hereby granted, free of charge, to any person obtaining a *
* copy of this software and associated documentation files (the *
@@ -28,31 +27,31 @@
* sale, use or other dealings in this Software without prior written *
* authorization. *
****************************************************************************
- * @Id: form_opts.3x,v 1.11 2010/12/04 18:40:45 tom Exp @
+ * @Id: form_opts.3x,v 1.14 2019/01/20 20:31:42 tom Exp @
-->
+<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN">
<HTML>
<HEAD>
+<meta http-equiv="Content-Type" content="text/html; charset=us-ascii">
+<meta name="generator" content="Manpage converted by man2html - see https://invisible-island.net/scripts/readme.html#others_scripts">
<TITLE>form_opts 3x</TITLE>
-<link rev=made href="mailto:bug-ncurses@gnu.org">
+<link rel="author" href="mailto:bug-ncurses@gnu.org">
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
</HEAD>
<BODY>
-<H1>form_opts 3x</H1>
-<HR>
+<H1 class="no-header">form_opts 3x</H1>
<PRE>
-<!-- Manpage converted by man2html 3.0.1 -->
-<STRONG><A HREF="form_opts.3x.html">form_opts(3x)</A></STRONG> <STRONG><A HREF="form_opts.3x.html">form_opts(3x)</A></STRONG>
+<STRONG><A HREF="form_opts.3x.html">form_opts(3x)</A></STRONG> <STRONG><A HREF="form_opts.3x.html">form_opts(3x)</A></STRONG>
-</PRE>
-<H2>NAME</H2><PRE>
- <STRONG>form_opts</STRONG> - set and get form options
+</PRE><H2><a name="h2-NAME">NAME</a></H2><PRE>
+ <STRONG>set_form_opts</STRONG>, <STRONG>form_opts_on</STRONG>, <STRONG>form_opts_off</STRONG>, <STRONG>form_opts</STRONG> - set and get
+ form options
-</PRE>
-<H2>SYNOPSIS</H2><PRE>
+</PRE><H2><a name="h2-SYNOPSIS">SYNOPSIS</a></H2><PRE>
<STRONG>#include</STRONG> <STRONG>&lt;form.h&gt;</STRONG>
int set_form_opts(FORM *form, Field_Options opts);
int form_opts_on(FORM *form, Field_Options opts);
@@ -60,75 +59,71 @@
Field_Options form_opts(const FORM *form);
-</PRE>
-<H2>DESCRIPTION</H2><PRE>
- The function <STRONG>set_form_opts</STRONG> sets all the given form's
- option bits (form option bits may be logically-OR'ed
- together).
+</PRE><H2><a name="h2-DESCRIPTION">DESCRIPTION</a></H2><PRE>
+ The function <STRONG>set_form_opts</STRONG> sets all the given form's option bits (form
+ option bits may be logically-OR'ed together).
- The function <STRONG>form_opts_on</STRONG> turns on the given option bits,
- and leaves others alone.
+ The function <STRONG>form_opts_on</STRONG> turns on the given option bits, and leaves
+ others alone.
- The function <STRONG>form_opts_off</STRONG> turns off the given option
- bits, and leaves others alone.
+ The function <STRONG>form_opts_off</STRONG> turns off the given option bits, and leaves
+ others alone.
- The function <STRONG>form_opts</STRONG> returns the form's current option
- bits.
+ The function <STRONG>form_opts</STRONG> returns the form's current option bits.
The following options are defined (all are on by default):
O_NL_OVERLOAD
- Overload the <STRONG>REQ_NEW_LINE</STRONG> forms driver request so
- that calling it at the end of a field goes to the
- next field.
+ Overload the <STRONG>REQ_NEW_LINE</STRONG> forms driver request so that calling it
+ at the end of a field goes to the next field.
O_BS_OVERLOAD
- Overload the <STRONG>REQ_DEL_PREV</STRONG> forms driver request so
- that calling it at the beginning of a field goes to
- the previous field.
+ Overload the <STRONG>REQ_DEL_PREV</STRONG> forms driver request so that calling it
+ at the beginning of a field goes to the previous field.
-</PRE>
-<H2>RETURN VALUE</H2><PRE>
- Except for <STRONG>form_opts</STRONG>, each routine returns one of the fol-
- lowing:
+</PRE><H2><a name="h2-RETURN-VALUE">RETURN VALUE</a></H2><PRE>
+ Except for <STRONG>form_opts</STRONG>, each routine returns one of the following:
<STRONG>E_OK</STRONG> The routine succeeded.
<STRONG>E_SYSTEM_ERROR</STRONG>
- System error occurred (see <STRONG>errno</STRONG>).
+ System error occurred (see <STRONG>errno(3)</STRONG>).
-</PRE>
-<H2>SEE ALSO</H2><PRE>
+</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="form.3x.html">form(3x)</A></STRONG>.
-</PRE>
-<H2>NOTES</H2><PRE>
- The header file <STRONG>&lt;form.h&gt;</STRONG> automatically includes the header
- file <STRONG>&lt;curses.h&gt;</STRONG>.
+</PRE><H2><a name="h2-NOTES">NOTES</a></H2><PRE>
+ The header file <STRONG>&lt;form.h&gt;</STRONG> automatically includes the header file
+ <STRONG>&lt;curses.h&gt;</STRONG>.
-</PRE>
-<H2>PORTABILITY</H2><PRE>
- These routines emulate the System V forms library. They
- were not supported on Version 7 or BSD versions.
+</PRE><H2><a name="h2-PORTABILITY">PORTABILITY</a></H2><PRE>
+ These routines emulate the System V forms library. They were not sup-
+ ported on Version 7 or BSD versions.
-</PRE>
-<H2>AUTHORS</H2><PRE>
- Juergen Pfeifer. Manual pages and adaptation for new
- curses by Eric S. Raymond.
+</PRE><H2><a name="h2-AUTHORS">AUTHORS</a></H2><PRE>
+ Juergen Pfeifer. Manual pages and adaptation for new curses by Eric S.
+ Raymond.
- <STRONG><A HREF="form_opts.3x.html">form_opts(3x)</A></STRONG>
+ <STRONG><A HREF="form_opts.3x.html">form_opts(3x)</A></STRONG>
</PRE>
-<HR>
-<ADDRESS>
-Man(1) output converted with
-<a href="http://www.oac.uci.edu/indiv/ehood/man2html.html">man2html</a>
-</ADDRESS>
+<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>
+<li><a href="#h2-RETURN-VALUE">RETURN VALUE</a></li>
+<li><a href="#h2-SEE-ALSO">SEE ALSO</a></li>
+<li><a href="#h2-NOTES">NOTES</a></li>
+<li><a href="#h2-PORTABILITY">PORTABILITY</a></li>
+<li><a href="#h2-AUTHORS">AUTHORS</a></li>
+</ul>
+</div>
</BODY>
</HTML>
diff --git a/doc/html/man/form_page.3x.html b/doc/html/man/form_page.3x.html
index 07c83da31773..999089962fea 100644
--- a/doc/html/man/form_page.3x.html
+++ b/doc/html/man/form_page.3x.html
@@ -1,8 +1,7 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN">
<!--
* t
****************************************************************************
- * Copyright (c) 1998-2006,2010 Free Software Foundation, Inc. *
+ * Copyright (c) 1998-2018,2019 Free Software Foundation, Inc. *
* *
* Permission is hereby granted, free of charge, to any person obtaining a *
* copy of this software and associated documentation files (the *
@@ -28,71 +27,67 @@
* sale, use or other dealings in this Software without prior written *
* authorization. *
****************************************************************************
- * @Id: form_page.3x,v 1.12 2010/12/04 18:40:45 tom Exp @
+ * @Id: form_page.3x,v 1.16 2019/01/20 20:31:42 tom Exp @
-->
+<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN">
<HTML>
<HEAD>
+<meta http-equiv="Content-Type" content="text/html; charset=us-ascii">
+<meta name="generator" content="Manpage converted by man2html - see https://invisible-island.net/scripts/readme.html#others_scripts">
<TITLE>form_page 3x</TITLE>
-<link rev=made href="mailto:bug-ncurses@gnu.org">
+<link rel="author" href="mailto:bug-ncurses@gnu.org">
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
</HEAD>
<BODY>
-<H1>form_page 3x</H1>
-<HR>
+<H1 class="no-header">form_page 3x</H1>
<PRE>
-<!-- Manpage converted by man2html 3.0.1 -->
-<STRONG><A HREF="form_page.3x.html">form_page(3x)</A></STRONG> <STRONG><A HREF="form_page.3x.html">form_page(3x)</A></STRONG>
+<STRONG><A HREF="form_page.3x.html">form_page(3x)</A></STRONG> <STRONG><A HREF="form_page.3x.html">form_page(3x)</A></STRONG>
-</PRE>
-<H2>NAME</H2><PRE>
+</PRE><H2><a name="h2-NAME">NAME</a></H2><PRE>
<STRONG>form_page</STRONG> - set and get form page number
-</PRE>
-<H2>SYNOPSIS</H2><PRE>
+</PRE><H2><a name="h2-SYNOPSIS">SYNOPSIS</a></H2><PRE>
<STRONG>#include</STRONG> <STRONG>&lt;form.h&gt;</STRONG>
int set_current_field(FORM *form, FIELD *field);
FIELD *current_field(const FORM *);
+ int unfocus_current_field(FORM *form);
int set_form_page(FORM *form, int n);
int form_page(const FORM *form);
int field_index(const FIELD *field);
-</PRE>
-<H2>DESCRIPTION</H2><PRE>
- The function <STRONG>set_current</STRONG> <STRONG>field</STRONG> sets the current field of
- the given form; <STRONG>current_field</STRONG> returns the current field of
- the given form.
+</PRE><H2><a name="h2-DESCRIPTION">DESCRIPTION</a></H2><PRE>
+ The function <STRONG>set_current_field</STRONG> sets the current field of the given
+ form; <STRONG>current_field</STRONG> returns the current field of the given form.
- The function <STRONG>set_form_page</STRONG> sets the form's page number
- (goes to page <EM>n</EM> of the form).
+ The function <STRONG>unfocus_current_field</STRONG> removes the focus from the current
+ field of the form. In such state, inquiries via <STRONG>current_field</STRONG> shall
+ return a NULL pointer.
- The function <STRONG>form_page</STRONG> returns the form's current page
- number.
+ The function <STRONG>set_form_page</STRONG> sets the form's page number (goes to page <EM>n</EM>
+ of the form).
- The function <STRONG>field_index</STRONG> returns the index of the field in
- the field array of the form it is connected to. It returns
- <STRONG>ERR</STRONG> if the argument is the null pointer or the field is
- not connected.
+ The function <STRONG>form_page</STRONG> returns the form's current page number.
+ The function <STRONG>field_index</STRONG> returns the index of the field in the field
+ array of the form it is connected to. It returns <STRONG>ERR</STRONG> if the argument
+ is the null pointer or the field is not connected.
-</PRE>
-<H2>RETURN VALUE</H2><PRE>
- Except for <STRONG>form_page</STRONG>, each routine returns one of the fol-
- lowing:
+
+</PRE><H2><a name="h2-RETURN-VALUE">RETURN VALUE</a></H2><PRE>
+ Except for <STRONG>form_page</STRONG>, each routine returns one of the following:
<STRONG>E_OK</STRONG> The routine succeeded.
<STRONG>E_BAD_ARGUMENT</STRONG>
- Routine detected an incorrect or out-of-range argu-
- ment.
+ Routine detected an incorrect or out-of-range argument.
<STRONG>E_BAD_STATE</STRONG>
- Routine was called from an initialization or termina-
- tion function.
+ Routine was called from an initialization or termination function.
<STRONG>E_INVALID_FIELD</STRONG>
Contents of a field are not valid.
@@ -101,39 +96,44 @@
The form driver could not process the request.
<STRONG>E_SYSTEM_ERROR</STRONG>
- System error occurred (see <STRONG>errno</STRONG>).
+ System error occurred (see <STRONG>errno(3)</STRONG>).
-</PRE>
-<H2>SEE ALSO</H2><PRE>
+</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="form.3x.html">form(3x)</A></STRONG>.
-</PRE>
-<H2>NOTES</H2><PRE>
- The header file <STRONG>&lt;form.h&gt;</STRONG> automatically includes the header
- file <STRONG>&lt;curses.h&gt;</STRONG>.
+</PRE><H2><a name="h2-NOTES">NOTES</a></H2><PRE>
+ The header file <STRONG>&lt;form.h&gt;</STRONG> automatically includes the header file
+ <STRONG>&lt;curses.h&gt;</STRONG>.
-</PRE>
-<H2>PORTABILITY</H2><PRE>
- These routines emulate the System V forms library. They
- were not supported on Version 7 or BSD versions.
+</PRE><H2><a name="h2-PORTABILITY">PORTABILITY</a></H2><PRE>
+ These routines emulate the System V forms library. They were not sup-
+ ported on Version 7 or BSD versions.
+ The <STRONG>unfocus_current_field</STRONG> function is an ncurses extension.
-</PRE>
-<H2>AUTHORS</H2><PRE>
- Juergen Pfeifer. Manual pages and adaptation for new
- curses by Eric S. Raymond.
+
+</PRE><H2><a name="h2-AUTHORS">AUTHORS</a></H2><PRE>
+ Juergen Pfeifer. Manual pages and adaptation for new curses by Eric S.
+ Raymond.
- <STRONG><A HREF="form_page.3x.html">form_page(3x)</A></STRONG>
+ <STRONG><A HREF="form_page.3x.html">form_page(3x)</A></STRONG>
</PRE>
-<HR>
-<ADDRESS>
-Man(1) output converted with
-<a href="http://www.oac.uci.edu/indiv/ehood/man2html.html">man2html</a>
-</ADDRESS>
+<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>
+<li><a href="#h2-RETURN-VALUE">RETURN VALUE</a></li>
+<li><a href="#h2-SEE-ALSO">SEE ALSO</a></li>
+<li><a href="#h2-NOTES">NOTES</a></li>
+<li><a href="#h2-PORTABILITY">PORTABILITY</a></li>
+<li><a href="#h2-AUTHORS">AUTHORS</a></li>
+</ul>
+</div>
</BODY>
</HTML>
diff --git a/doc/html/man/form_post.3x.html b/doc/html/man/form_post.3x.html
index 38f8a8f501c2..0cb52febfe56 100644
--- a/doc/html/man/form_post.3x.html
+++ b/doc/html/man/form_post.3x.html
@@ -1,8 +1,7 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN">
<!--
* t
****************************************************************************
- * Copyright (c) 1998-2006,2010 Free Software Foundation, Inc. *
+ * Copyright (c) 1998-2018,2019 Free Software Foundation, Inc. *
* *
* Permission is hereby granted, free of charge, to any person obtaining a *
* copy of this software and associated documentation files (the *
@@ -28,62 +27,55 @@
* sale, use or other dealings in this Software without prior written *
* authorization. *
****************************************************************************
- * @Id: form_post.3x,v 1.9 2010/12/04 18:40:45 tom Exp @
+ * @Id: form_post.3x,v 1.13 2019/01/20 20:31:42 tom Exp @
-->
+<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN">
<HTML>
<HEAD>
+<meta http-equiv="Content-Type" content="text/html; charset=us-ascii">
+<meta name="generator" content="Manpage converted by man2html - see https://invisible-island.net/scripts/readme.html#others_scripts">
<TITLE>form_post 3x</TITLE>
-<link rev=made href="mailto:bug-ncurses@gnu.org">
+<link rel="author" href="mailto:bug-ncurses@gnu.org">
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
</HEAD>
<BODY>
-<H1>form_post 3x</H1>
-<HR>
+<H1 class="no-header">form_post 3x</H1>
<PRE>
-<!-- Manpage converted by man2html 3.0.1 -->
-<STRONG><A HREF="form_post.3x.html">form_post(3x)</A></STRONG> <STRONG><A HREF="form_post.3x.html">form_post(3x)</A></STRONG>
+<STRONG><A HREF="form_post.3x.html">form_post(3x)</A></STRONG> <STRONG><A HREF="form_post.3x.html">form_post(3x)</A></STRONG>
-</PRE>
-<H2>NAME</H2><PRE>
- <STRONG>form_post</STRONG> - write or erase forms from associated subwin-
+</PRE><H2><a name="h2-NAME">NAME</a></H2><PRE>
+ <STRONG>post_form</STRONG>, <STRONG>unpost_form</STRONG> - write or erase forms from associated subwin-
dows
-</PRE>
-<H2>SYNOPSIS</H2><PRE>
+</PRE><H2><a name="h2-SYNOPSIS">SYNOPSIS</a></H2><PRE>
<STRONG>#include</STRONG> <STRONG>&lt;form.h&gt;</STRONG>
int post_form(FORM *form);
int unpost_form(FORM *form);
-</PRE>
-<H2>DESCRIPTION</H2><PRE>
- The function <STRONG>post_form</STRONG> displays a form to its associated
- subwindow. To trigger physical display of the subwindow,
- use <STRONG>refresh</STRONG> or some equivalent <STRONG>curses</STRONG> routine (the
- implicit <STRONG>doupdate</STRONG> triggered by an <STRONG>curses</STRONG> input request
- will do).
+</PRE><H2><a name="h2-DESCRIPTION">DESCRIPTION</a></H2><PRE>
+ The function <STRONG>post_form</STRONG> displays a form to its associated subwindow. To
+ trigger physical display of the subwindow, use <STRONG><A HREF="curs_refresh.3x.html">refresh(3x)</A></STRONG> or some
+ equivalent <STRONG>curses</STRONG> routine (the implicit <STRONG>doupdate</STRONG> triggered by an <STRONG>curses</STRONG>
+ input request will do).
- The function <STRONG>unpost_form</STRONG> erases form from its associated
- subwindow.
+ The function <STRONG>unpost_form</STRONG> erases form from its associated subwindow.
-</PRE>
-<H2>RETURN VALUE</H2><PRE>
+</PRE><H2><a name="h2-RETURN-VALUE">RETURN VALUE</a></H2><PRE>
These routines return one of the following:
<STRONG>E_OK</STRONG> The routine succeeded.
<STRONG>E_BAD_ARGUMENT</STRONG>
- Routine detected an incorrect or out-of-range argu-
- ment.
+ Routine detected an incorrect or out-of-range argument.
<STRONG>E_BAD_STATE</STRONG>
- Routine was called from an initialization or termina-
- tion function.
+ Routine was called from an initialization or termination function.
<STRONG>E_NOT_POSTED</STRONG>
The form has not been posted.
@@ -98,39 +90,42 @@
The form has already been posted.
<STRONG>E_SYSTEM_ERROR</STRONG>
- System error occurred (see <STRONG>errno</STRONG>).
+ System error occurred (see <STRONG>errno(3)</STRONG>).
-</PRE>
-<H2>SEE ALSO</H2><PRE>
+</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="form.3x.html">form(3x)</A></STRONG>.
-</PRE>
-<H2>NOTES</H2><PRE>
- The header file <STRONG>&lt;form.h&gt;</STRONG> automatically includes the header
- file <STRONG>&lt;curses.h&gt;</STRONG>.
+</PRE><H2><a name="h2-NOTES">NOTES</a></H2><PRE>
+ The header file <STRONG>&lt;form.h&gt;</STRONG> automatically includes the header file
+ <STRONG>&lt;curses.h&gt;</STRONG>.
-</PRE>
-<H2>PORTABILITY</H2><PRE>
- These routines emulate the System V forms library. They
- were not supported on Version 7 or BSD versions.
+</PRE><H2><a name="h2-PORTABILITY">PORTABILITY</a></H2><PRE>
+ These routines emulate the System V forms library. They were not sup-
+ ported on Version 7 or BSD versions.
-</PRE>
-<H2>AUTHORS</H2><PRE>
- Juergen Pfeifer. Manual pages and adaptation for new
- curses by Eric S. Raymond.
+</PRE><H2><a name="h2-AUTHORS">AUTHORS</a></H2><PRE>
+ Juergen Pfeifer. Manual pages and adaptation for new curses by Eric S.
+ Raymond.
- <STRONG><A HREF="form_post.3x.html">form_post(3x)</A></STRONG>
+ <STRONG><A HREF="form_post.3x.html">form_post(3x)</A></STRONG>
</PRE>
-<HR>
-<ADDRESS>
-Man(1) output converted with
-<a href="http://www.oac.uci.edu/indiv/ehood/man2html.html">man2html</a>
-</ADDRESS>
+<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>
+<li><a href="#h2-RETURN-VALUE">RETURN VALUE</a></li>
+<li><a href="#h2-SEE-ALSO">SEE ALSO</a></li>
+<li><a href="#h2-NOTES">NOTES</a></li>
+<li><a href="#h2-PORTABILITY">PORTABILITY</a></li>
+<li><a href="#h2-AUTHORS">AUTHORS</a></li>
+</ul>
+</div>
</BODY>
</HTML>
diff --git a/doc/html/man/form_requestname.3x.html b/doc/html/man/form_requestname.3x.html
index 68fe8497f4d4..9156cc24aee0 100644
--- a/doc/html/man/form_requestname.3x.html
+++ b/doc/html/man/form_requestname.3x.html
@@ -1,8 +1,7 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN">
<!--
* t
****************************************************************************
- * Copyright (c) 1998-2006,2010 Free Software Foundation, Inc. *
+ * Copyright (c) 1998-2015,2018 Free Software Foundation, Inc. *
* *
* Permission is hereby granted, free of charge, to any person obtaining a *
* copy of this software and associated documentation files (the *
@@ -28,85 +27,85 @@
* sale, use or other dealings in this Software without prior written *
* authorization. *
****************************************************************************
- * @Id: form_requestname.3x,v 1.9 2010/12/04 18:40:45 tom Exp @
+ * @Id: form_requestname.3x,v 1.11 2018/07/28 21:34:06 tom Exp @
-->
+<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN">
<HTML>
<HEAD>
+<meta http-equiv="Content-Type" content="text/html; charset=us-ascii">
+<meta name="generator" content="Manpage converted by man2html - see https://invisible-island.net/scripts/readme.html#others_scripts">
<TITLE>form_requestname 3x</TITLE>
-<link rev=made href="mailto:bug-ncurses@gnu.org">
+<link rel="author" href="mailto:bug-ncurses@gnu.org">
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
</HEAD>
<BODY>
-<H1>form_requestname 3x</H1>
-<HR>
+<H1 class="no-header">form_requestname 3x</H1>
<PRE>
-<!-- Manpage converted by man2html 3.0.1 -->
-<STRONG><A HREF="form_requestname.3x.html">form_requestname(3x)</A></STRONG> <STRONG><A HREF="form_requestname.3x.html">form_requestname(3x)</A></STRONG>
+<STRONG><A HREF="form_requestname.3x.html">form_requestname(3x)</A></STRONG> <STRONG><A HREF="form_requestname.3x.html">form_requestname(3x)</A></STRONG>
-</PRE>
-<H2>NAME</H2><PRE>
- <STRONG>form_requestname</STRONG> - handle printable form request names
+</PRE><H2><a name="h2-NAME">NAME</a></H2><PRE>
+ <STRONG>form_request_by_name</STRONG>, <STRONG>form_request_name</STRONG> - handle printable form request
+ names
-</PRE>
-<H2>SYNOPSIS</H2><PRE>
+</PRE><H2><a name="h2-SYNOPSIS">SYNOPSIS</a></H2><PRE>
<STRONG>#include</STRONG> <STRONG>&lt;form.h&gt;</STRONG>
const char *form_request_name(int request);
int form_request_by_name(const char *name);
-</PRE>
-<H2>DESCRIPTION</H2><PRE>
- The function <STRONG>form_request_name</STRONG> returns the printable name
- of a form request code.
- The function <STRONG>form_request_by_name</STRONG> searches in the name-ta-
- ble for a request with the given name and returns its
- request code. Otherwise E_NO_MATCH is returned.
+</PRE><H2><a name="h2-DESCRIPTION">DESCRIPTION</a></H2><PRE>
+ The function <STRONG>form_request_name</STRONG> returns the printable name of a form
+ request code.
+ The function <STRONG>form_request_by_name</STRONG> searches in the name-table for a
+ request with the given name and returns its request code. Otherwise
+ E_NO_MATCH is returned.
-</PRE>
-<H2>RETURN VALUE</H2><PRE>
- <STRONG>form_request_name</STRONG> returns <STRONG>NULL</STRONG> on error and sets errno to
- <STRONG>E_BAD_ARGUMENT</STRONG>.
- <STRONG>form_request_by_name</STRONG> returns <STRONG>E_NO_MATCH</STRONG> on error. It does
- not set errno.
+</PRE><H2><a name="h2-RETURN-VALUE">RETURN VALUE</a></H2><PRE>
+ <STRONG>form_request_name</STRONG> returns <STRONG>NULL</STRONG> on error and sets errno to <STRONG>E_BAD_ARGU-</STRONG>
+ <STRONG>MENT</STRONG>.
+ <STRONG>form_request_by_name</STRONG> returns <STRONG>E_NO_MATCH</STRONG> on error. It does not set
+ errno.
-</PRE>
-<H2>SEE ALSO</H2><PRE>
+</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="form.3x.html">form(3x)</A></STRONG>.
-</PRE>
-<H2>NOTES</H2><PRE>
- The header file <STRONG>&lt;form.h&gt;</STRONG> automatically includes the header
- file <STRONG>&lt;curses.h&gt;</STRONG>.
+</PRE><H2><a name="h2-NOTES">NOTES</a></H2><PRE>
+ The header file <STRONG>&lt;form.h&gt;</STRONG> automatically includes the header file
+ <STRONG>&lt;curses.h&gt;</STRONG>.
-</PRE>
-<H2>PORTABILITY</H2><PRE>
- These routines are specific to ncurses. They were not
- supported on Version 7, BSD or System V implementations.
- It is recommended that any code depending on them be con-
- ditioned using NCURSES_VERSION.
+</PRE><H2><a name="h2-PORTABILITY">PORTABILITY</a></H2><PRE>
+ These routines are specific to ncurses. 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.
-</PRE>
-<H2>AUTHORS</H2><PRE>
- Juergen Pfeifer. Manual pages and adaptation for new
- curses by Eric S. Raymond.
+</PRE><H2><a name="h2-AUTHORS">AUTHORS</a></H2><PRE>
+ Juergen Pfeifer. Manual pages and adaptation for new curses by Eric S.
+ Raymond.
- <STRONG><A HREF="form_requestname.3x.html">form_requestname(3x)</A></STRONG>
+ <STRONG><A HREF="form_requestname.3x.html">form_requestname(3x)</A></STRONG>
</PRE>
-<HR>
-<ADDRESS>
-Man(1) output converted with
-<a href="http://www.oac.uci.edu/indiv/ehood/man2html.html">man2html</a>
-</ADDRESS>
+<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>
+<li><a href="#h2-RETURN-VALUE">RETURN VALUE</a></li>
+<li><a href="#h2-SEE-ALSO">SEE ALSO</a></li>
+<li><a href="#h2-NOTES">NOTES</a></li>
+<li><a href="#h2-PORTABILITY">PORTABILITY</a></li>
+<li><a href="#h2-AUTHORS">AUTHORS</a></li>
+</ul>
+</div>
</BODY>
</HTML>
diff --git a/doc/html/man/form_userptr.3x.html b/doc/html/man/form_userptr.3x.html
index 564295a53197..b3edafb5331a 100644
--- a/doc/html/man/form_userptr.3x.html
+++ b/doc/html/man/form_userptr.3x.html
@@ -1,8 +1,7 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN">
<!--
* t
****************************************************************************
- * Copyright (c) 1998-2006,2010 Free Software Foundation, Inc. *
+ * Copyright (c) 1998-2015,2018 Free Software Foundation, Inc. *
* *
* Permission is hereby granted, free of charge, to any person obtaining a *
* copy of this software and associated documentation files (the *
@@ -28,85 +27,85 @@
* sale, use or other dealings in this Software without prior written *
* authorization. *
****************************************************************************
- * @Id: form_userptr.3x,v 1.13 2010/12/04 18:40:45 tom Exp @
+ * @Id: form_userptr.3x,v 1.15 2018/07/28 21:34:06 tom Exp @
-->
+<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN">
<HTML>
<HEAD>
+<meta http-equiv="Content-Type" content="text/html; charset=us-ascii">
+<meta name="generator" content="Manpage converted by man2html - see https://invisible-island.net/scripts/readme.html#others_scripts">
<TITLE>form_userptr 3x</TITLE>
-<link rev=made href="mailto:bug-ncurses@gnu.org">
+<link rel="author" href="mailto:bug-ncurses@gnu.org">
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
</HEAD>
<BODY>
-<H1>form_userptr 3x</H1>
-<HR>
+<H1 class="no-header">form_userptr 3x</H1>
<PRE>
-<!-- Manpage converted by man2html 3.0.1 -->
-<STRONG><A HREF="form_userptr.3x.html">form_userptr(3x)</A></STRONG> <STRONG><A HREF="form_userptr.3x.html">form_userptr(3x)</A></STRONG>
+<STRONG><A HREF="form_userptr.3x.html">form_userptr(3x)</A></STRONG> <STRONG><A HREF="form_userptr.3x.html">form_userptr(3x)</A></STRONG>
-</PRE>
-<H2>NAME</H2><PRE>
- <STRONG>form_userptr</STRONG> - associate application data with a form item
+</PRE><H2><a name="h2-NAME">NAME</a></H2><PRE>
+ <STRONG>set_form_userptr</STRONG>, <STRONG>form_userptr</STRONG> - associate application data with a form
+ item
-</PRE>
-<H2>SYNOPSIS</H2><PRE>
+</PRE><H2><a name="h2-SYNOPSIS">SYNOPSIS</a></H2><PRE>
<STRONG>#include</STRONG> <STRONG>&lt;form.h&gt;</STRONG>
int set_form_userptr(FORM *form, void *userptr);
void* form_userptr(const FORM *form);
-</PRE>
-<H2>DESCRIPTION</H2><PRE>
- Every form and every form item has a field that can be
- used to hold application-specific data (that is, the form-
- driver code leaves it alone). These functions get and set
- the form user pointer field.
+</PRE><H2><a name="h2-DESCRIPTION">DESCRIPTION</a></H2><PRE>
+ Every form and every form item has a field that can be used to hold
+ application-specific data (that is, the form-driver code leaves it
+ alone). These functions get and set the form user pointer field.
-</PRE>
-<H2>RETURN VALUE</H2><PRE>
- The function <STRONG>form_userptr</STRONG> returns a pointer (which may be
- <STRONG>NULL</STRONG>). It does not set errno.
+</PRE><H2><a name="h2-RETURN-VALUE">RETURN VALUE</a></H2><PRE>
+ The function <STRONG>form_userptr</STRONG> returns a pointer (which may be <STRONG>NULL</STRONG>). It
+ does not set errno.
The function <STRONG>set_form_userptr</STRONG> returns <STRONG>E_OK</STRONG> (success).
-</PRE>
-<H2>SEE ALSO</H2><PRE>
+</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="form.3x.html">form(3x)</A></STRONG>.
-</PRE>
-<H2>NOTES</H2><PRE>
- The header file <STRONG>&lt;form.h&gt;</STRONG> automatically includes the header
- file <STRONG>&lt;curses.h&gt;</STRONG>.
+</PRE><H2><a name="h2-NOTES">NOTES</a></H2><PRE>
+ The header file <STRONG>&lt;form.h&gt;</STRONG> automatically includes the header file
+ <STRONG>&lt;curses.h&gt;</STRONG>.
-</PRE>
-<H2>PORTABILITY</H2><PRE>
- These routines emulate the System V forms library. They
- were not supported on Version 7 or BSD versions.
+</PRE><H2><a name="h2-PORTABILITY">PORTABILITY</a></H2><PRE>
+ These routines emulate the System V forms library. They were not sup-
+ ported on Version 7 or BSD versions.
- The user pointer is a void pointer. We chose not to leave
- it as a char pointer for SVr4 compatibility.
+ The user pointer is a void pointer. We chose not to leave it as a char
+ pointer for SVr4 compatibility.
-</PRE>
-<H2>AUTHORS</H2><PRE>
- Juergen Pfeifer. Manual pages and adaptation for new
- curses by Eric S. Raymond.
+</PRE><H2><a name="h2-AUTHORS">AUTHORS</a></H2><PRE>
+ Juergen Pfeifer. Manual pages and adaptation for new curses by Eric S.
+ Raymond.
- <STRONG><A HREF="form_userptr.3x.html">form_userptr(3x)</A></STRONG>
+ <STRONG><A HREF="form_userptr.3x.html">form_userptr(3x)</A></STRONG>
</PRE>
-<HR>
-<ADDRESS>
-Man(1) output converted with
-<a href="http://www.oac.uci.edu/indiv/ehood/man2html.html">man2html</a>
-</ADDRESS>
+<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>
+<li><a href="#h2-RETURN-VALUE">RETURN VALUE</a></li>
+<li><a href="#h2-SEE-ALSO">SEE ALSO</a></li>
+<li><a href="#h2-NOTES">NOTES</a></li>
+<li><a href="#h2-PORTABILITY">PORTABILITY</a></li>
+<li><a href="#h2-AUTHORS">AUTHORS</a></li>
+</ul>
+</div>
</BODY>
</HTML>
diff --git a/doc/html/man/form_variables.3x.html b/doc/html/man/form_variables.3x.html
index fdbc8625343d..844f0ae5d724 100644
--- a/doc/html/man/form_variables.3x.html
+++ b/doc/html/man/form_variables.3x.html
@@ -1,7 +1,6 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN">
<!--
****************************************************************************
- * Copyright (c) 2010,2013 Free Software Foundation, Inc. *
+ * Copyright (c) 2010-2013,2017 Free Software Foundation, Inc. *
* *
* Permission is hereby granted, free of charge, to any person obtaining a *
* copy of this software and associated documentation files (the *
@@ -27,33 +26,31 @@
* sale, use or other dealings in this Software without prior written *
* authorization. *
****************************************************************************
- * @Id: form_variables.3x,v 1.4 2013/06/22 17:58:32 tom Exp @
+ * @Id: form_variables.3x,v 1.5 2017/11/20 00:59:21 tom Exp @
-->
+<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN">
<HTML>
<HEAD>
+<meta http-equiv="Content-Type" content="text/html; charset=us-ascii">
+<meta name="generator" content="Manpage converted by man2html - see https://invisible-island.net/scripts/readme.html#others_scripts">
<TITLE>form_variables 3x</TITLE>
-<link rev=made href="mailto:bug-ncurses@gnu.org">
+<link rel="author" href="mailto:bug-ncurses@gnu.org">
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
</HEAD>
<BODY>
-<H1>form_variables 3x</H1>
-<HR>
+<H1 class="no-header">form_variables 3x</H1>
<PRE>
-<!-- Manpage converted by man2html 3.0.1 -->
-<STRONG><A HREF="form_variables.3x.html">form_variables(3x)</A></STRONG> <STRONG><A HREF="form_variables.3x.html">form_variables(3x)</A></STRONG>
+<STRONG><A HREF="form_variables.3x.html">form_variables(3x)</A></STRONG> <STRONG><A HREF="form_variables.3x.html">form_variables(3x)</A></STRONG>
-</PRE>
-<H2>NAME</H2><PRE>
- <STRONG>TYPE_ALNUM</STRONG>, <STRONG>TYPE_ALPHA</STRONG>, <STRONG>TYPE_ENUM</STRONG>, <STRONG>TYPE_INTEGER</STRONG>,
- <STRONG>TYPE_IPV4</STRONG>, <STRONG>TYPE_NUMERIC</STRONG>, <STRONG>TYPE_REGEXP</STRONG> - form system global
- variables
+</PRE><H2><a name="h2-NAME">NAME</a></H2><PRE>
+ <STRONG>TYPE_ALNUM</STRONG>, <STRONG>TYPE_ALPHA</STRONG>, <STRONG>TYPE_ENUM</STRONG>, <STRONG>TYPE_INTEGER</STRONG>, <STRONG>TYPE_IPV4</STRONG>,
+ <STRONG>TYPE_NUMERIC</STRONG>, <STRONG>TYPE_REGEXP</STRONG> - form system global variables
-</PRE>
-<H2>SYNOPSIS</H2><PRE>
+</PRE><H2><a name="h2-SYNOPSIS">SYNOPSIS</a></H2><PRE>
<STRONG>#include</STRONG> <STRONG>&lt;form.h&gt;</STRONG>
<STRONG>FIELDTYPE</STRONG> <STRONG>*</STRONG> <STRONG>TYPE_ALNUM;</STRONG>
@@ -65,54 +62,70 @@
<STRONG>FIELDTYPE</STRONG> <STRONG>*</STRONG> <STRONG>TYPE_REGEXP;</STRONG>
-</PRE>
-<H2>DESCRIPTION</H2><PRE>
- These are building blocks for the form library, defining
- fields that can be created using <STRONG><A HREF="form_fieldtype.3x.html">form_fieldtype(3x)</A></STRONG>. Each
- provides functions for field- and character-validation,
- according to the given datatype.
+</PRE><H2><a name="h2-DESCRIPTION">DESCRIPTION</a></H2><PRE>
+ These are building blocks for the form library, defining fields that
+ can be created using <STRONG><A HREF="form_fieldtype.3x.html">set_fieldtype(3x)</A></STRONG>. Each provides functions for
+ field- and character-validation, according to the given datatype.
+
- <STRONG>TYPE_ALNUM</STRONG>
+</PRE><H3><a name="h3-TYPE_ALNUM">TYPE_ALNUM</a></H3><PRE>
This holds alphanumeric data.
- <STRONG>TYPE_ALPHA</STRONG>
+
+</PRE><H3><a name="h3-TYPE_ALPHA">TYPE_ALPHA</a></H3><PRE>
This holds alphabetic data.
- <STRONG>TYPE_ENUM</STRONG>
+
+</PRE><H3><a name="h3-TYPE_ENUM">TYPE_ENUM</a></H3><PRE>
This holds an enumerated type.
- <STRONG>TYPE_INTEGER</STRONG>
+
+</PRE><H3><a name="h3-TYPE_INTEGER">TYPE_INTEGER</a></H3><PRE>
This holds a decimal integer.
- <STRONG>TYPE_IPV4</STRONG>
+
+</PRE><H3><a name="h3-TYPE_IPV4">TYPE_IPV4</a></H3><PRE>
This holds an IPv4 internet address, e.g., "127.0.0.1".
- <STRONG>TYPE_NUMERIC</STRONG>
- This holds a decimal number, with optional sign and deci-
- mal point.
- <STRONG>TYPE_REGEXP</STRONG>
+</PRE><H3><a name="h3-TYPE_NUMERIC">TYPE_NUMERIC</a></H3><PRE>
+ This holds a decimal number, with optional sign and decimal point.
+
+
+</PRE><H3><a name="h3-TYPE_REGEXP">TYPE_REGEXP</a></H3><PRE>
This holds a regular expression.
-</PRE>
-<H2>PORTABILITY</H2><PRE>
- The <STRONG>TYPE_IPV4</STRONG> variable is an extension not provided by
- older implementations of the form library.
+</PRE><H2><a name="h2-PORTABILITY">PORTABILITY</a></H2><PRE>
+ The <STRONG>TYPE_IPV4</STRONG> variable is an extension not provided by older implemen-
+ tations of the form library.
-</PRE>
-<H2>SEE ALSO</H2><PRE>
+</PRE><H2><a name="h2-SEE-ALSO">SEE ALSO</a></H2><PRE>
<STRONG><A HREF="form.3x.html">form(3x)</A></STRONG>.
- <STRONG><A HREF="form_variables.3x.html">form_variables(3x)</A></STRONG>
+ <STRONG><A HREF="form_variables.3x.html">form_variables(3x)</A></STRONG>
</PRE>
-<HR>
-<ADDRESS>
-Man(1) output converted with
-<a href="http://www.oac.uci.edu/indiv/ehood/man2html.html">man2html</a>
-</ADDRESS>
+<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>
+<ul>
+<li><a href="#h3-TYPE_ALNUM">TYPE_ALNUM</a></li>
+<li><a href="#h3-TYPE_ALPHA">TYPE_ALPHA</a></li>
+<li><a href="#h3-TYPE_ENUM">TYPE_ENUM</a></li>
+<li><a href="#h3-TYPE_INTEGER">TYPE_INTEGER</a></li>
+<li><a href="#h3-TYPE_IPV4">TYPE_IPV4</a></li>
+<li><a href="#h3-TYPE_NUMERIC">TYPE_NUMERIC</a></li>
+<li><a href="#h3-TYPE_REGEXP">TYPE_REGEXP</a></li>
+</ul>
+</li>
+<li><a href="#h2-PORTABILITY">PORTABILITY</a></li>
+<li><a href="#h2-SEE-ALSO">SEE ALSO</a></li>
+</ul>
+</div>
</BODY>
</HTML>
diff --git a/doc/html/man/form_win.3x.html b/doc/html/man/form_win.3x.html
index be604a152d9a..f477f34d0cf6 100644
--- a/doc/html/man/form_win.3x.html
+++ b/doc/html/man/form_win.3x.html
@@ -1,8 +1,7 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN">
<!--
* t
****************************************************************************
- * Copyright (c) 1998-2006,2010 Free Software Foundation, Inc. *
+ * Copyright (c) 1998-2018,2019 Free Software Foundation, Inc. *
* *
* Permission is hereby granted, free of charge, to any person obtaining a *
* copy of this software and associated documentation files (the *
@@ -28,32 +27,30 @@
* sale, use or other dealings in this Software without prior written *
* authorization. *
****************************************************************************
- * @Id: form_win.3x,v 1.13 2010/12/04 18:38:55 tom Exp @
+ * @Id: form_win.3x,v 1.15 2019/01/20 20:31:42 tom Exp @
-->
+<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN">
<HTML>
<HEAD>
+<meta http-equiv="Content-Type" content="text/html; charset=us-ascii">
+<meta name="generator" content="Manpage converted by man2html - see https://invisible-island.net/scripts/readme.html#others_scripts">
<TITLE>form_win 3x</TITLE>
-<link rev=made href="mailto:bug-ncurses@gnu.org">
+<link rel="author" href="mailto:bug-ncurses@gnu.org">
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
</HEAD>
<BODY>
-<H1>form_win 3x</H1>
-<HR>
+<H1 class="no-header">form_win 3x</H1>
<PRE>
-<!-- Manpage converted by man2html 3.0.1 -->
-<STRONG><A HREF="form_win.3x.html">form_win(3x)</A></STRONG> <STRONG><A HREF="form_win.3x.html">form_win(3x)</A></STRONG>
+<STRONG><A HREF="form_win.3x.html">form_win(3x)</A></STRONG> <STRONG><A HREF="form_win.3x.html">form_win(3x)</A></STRONG>
-</PRE>
-<H2>NAME</H2><PRE>
- <STRONG>form_win</STRONG> - make and break form window and subwindow asso-
- ciations
+</PRE><H2><a name="h2-NAME">NAME</a></H2><PRE>
+ <STRONG>form_win</STRONG> - make and break form window and subwindow associations
-</PRE>
-<H2>SYNOPSIS</H2><PRE>
+</PRE><H2><a name="h2-SYNOPSIS">SYNOPSIS</a></H2><PRE>
<STRONG>#include</STRONG> <STRONG>&lt;form.h&gt;</STRONG>
int set_form_win(FORM *form, WINDOW *win);
WINDOW *form_win(const FORM *form);
@@ -62,40 +59,35 @@
int scale_form(const FORM *form, int *rows, int *columns);
-</PRE>
-<H2>DESCRIPTION</H2><PRE>
- Every form has an associated pair of <STRONG>curses</STRONG> windows. The
- form window displays any title and border associated with
- the window; the form subwindow displays the items of the
- form that are currently available for selection.
+</PRE><H2><a name="h2-DESCRIPTION">DESCRIPTION</a></H2><PRE>
+ Every form has an associated pair of <STRONG>curses</STRONG> windows. The form window
+ displays any title and border associated with the window; the form sub-
+ window displays the items of the form that are currently available for
+ selection.
- The first four functions get and set those windows. It is
- not necessary to set either window; by default, the driver
- code uses <STRONG>stdscr</STRONG> for both.
+ The first four functions get and set those windows. It is not neces-
+ sary to set either window; by default, the driver code uses <STRONG>stdscr</STRONG> for
+ both.
- In the <STRONG>set_</STRONG> functions, window argument of <STRONG>NULL</STRONG> is treated
- as though it were <STRONG>stsdcr</STRONG>. A form argument of <STRONG>NULL</STRONG> is
- treated as a request to change the system default form
- window or subwindow.
+ In the <STRONG>set_</STRONG> functions, window argument of <STRONG>NULL</STRONG> is treated as though it
+ were <STRONG>stsdcr</STRONG>. A form argument of <STRONG>NULL</STRONG> is treated as a request to change
+ the system default form window or subwindow.
- The function <STRONG>scale_form</STRONG> returns the minimum size required
- for the subwindow of <EM>form</EM>.
+ The function <STRONG>scale_form</STRONG> returns the minimum size required for the sub-
+ window of <EM>form</EM>.
-</PRE>
-<H2>RETURN VALUE</H2><PRE>
- Routines that return pointers return <STRONG>NULL</STRONG> on error. Rou-
- tines that return an integer return one of the following
- error codes:
+</PRE><H2><a name="h2-RETURN-VALUE">RETURN VALUE</a></H2><PRE>
+ Routines that return pointers return <STRONG>NULL</STRONG> on error. Routines that
+ return an integer return one of the following error codes:
<STRONG>E_OK</STRONG> The routine succeeded.
<STRONG>E_SYSTEM_ERROR</STRONG>
- System error occurred (see <STRONG>errno</STRONG>).
+ System error occurred (see <STRONG>errno(3)</STRONG>).
<STRONG>E_BAD_ARGUMENT</STRONG>
- Routine detected an incorrect or out-of-range argu-
- ment.
+ Routine detected an incorrect or out-of-range argument.
<STRONG>E_POSTED</STRONG>
The form has already been posted.
@@ -104,36 +96,39 @@
No items are connected to the form.
-</PRE>
-<H2>SEE ALSO</H2><PRE>
+</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_variables.3x.html">curs_variables(3x)</A></STRONG>, <STRONG><A HREF="form.3x.html">form(3x)</A></STRONG>.
-</PRE>
-<H2>NOTES</H2><PRE>
- The header file <STRONG>&lt;form.h&gt;</STRONG> automatically includes the header
- file <STRONG>&lt;curses.h&gt;</STRONG>.
+</PRE><H2><a name="h2-NOTES">NOTES</a></H2><PRE>
+ The header file <STRONG>&lt;form.h&gt;</STRONG> automatically includes the header file
+ <STRONG>&lt;curses.h&gt;</STRONG>.
-</PRE>
-<H2>PORTABILITY</H2><PRE>
- These routines emulate the System V forms library. They
- were not supported on Version 7 or BSD versions.
+</PRE><H2><a name="h2-PORTABILITY">PORTABILITY</a></H2><PRE>
+ These routines emulate the System V forms library. They were not sup-
+ ported on Version 7 or BSD versions.
-</PRE>
-<H2>AUTHORS</H2><PRE>
- Juergen Pfeifer. Manual pages and adaptation for new
- curses by Eric S. Raymond.
+</PRE><H2><a name="h2-AUTHORS">AUTHORS</a></H2><PRE>
+ Juergen Pfeifer. Manual pages and adaptation for new curses by Eric S.
+ Raymond.
- <STRONG><A HREF="form_win.3x.html">form_win(3x)</A></STRONG>
+ <STRONG><A HREF="form_win.3x.html">form_win(3x)</A></STRONG>
</PRE>
-<HR>
-<ADDRESS>
-Man(1) output converted with
-<a href="http://www.oac.uci.edu/indiv/ehood/man2html.html">man2html</a>
-</ADDRESS>
+<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>
+<li><a href="#h2-RETURN-VALUE">RETURN VALUE</a></li>
+<li><a href="#h2-SEE-ALSO">SEE ALSO</a></li>
+<li><a href="#h2-NOTES">NOTES</a></li>
+<li><a href="#h2-PORTABILITY">PORTABILITY</a></li>
+<li><a href="#h2-AUTHORS">AUTHORS</a></li>
+</ul>
+</div>
</BODY>
</HTML>
diff --git a/doc/html/man/index.html b/doc/html/man/index.html
index c93d1f84ccc4..aa8f274f0598 100644
--- a/doc/html/man/index.html
+++ b/doc/html/man/index.html
@@ -1,7 +1,7 @@
<!--
- $Id: index.html,v 1.7 2013/06/07 20:12:36 tom Exp $
+ $Id: index.html,v 1.11 2019/03/16 19:39:05 tom Exp $
****************************************************************************
- * Copyright (c) 1998-2010,2013 Free Software Foundation, Inc. *
+ * Copyright (c) 1998-2017,2019 Free Software Foundation, Inc. *
* *
* Permission is hereby granted, free of charge, to any person obtaining a *
* copy of this software and associated documentation files (the *
@@ -36,7 +36,7 @@
"HTML Tidy for Linux (vers 25 March 2009), see www.w3.org">
<title>NCURSES &ndash; Manual Pages</title>
- <link rev="MADE" href="mailto:dickey@invisible-island.net">
+ <link rel="author" href="mailto:dickey@invisible-island.net">
<meta http-equiv="Content-Type" content=
"text/html; charset=us-ascii">
</head>
@@ -75,14 +75,26 @@
</ul>
</li>
+ <li>Scripts:
+
+ <ul>
+ <li><a href=
+ "adacurses6-config.1.html">adacurses*-config</a> &ndash;
+ helper script for AdaCurses libraries</li>
+
+ <li><a href="ncurses6-config.1.html">ncurses*-config</a>
+ &ndash; helper script for ncurses libraries</li>
+ </ul>
+ </li>
+
<li>Libraries:
<ul>
<li><a href="ncurses.3x.html">ncurses &ndash; CRT screen
handling and optimization package</a></li>
- <li><a href="panel.3x.html">panel- panel stack extension
- for curses</a></li>
+ <li><a href="panel.3x.html">panel &ndash; panel stack
+ extension for curses</a></li>
<li><a href="form.3x.html">form &ndash; curses extension
for programming forms</a></li>
@@ -101,6 +113,9 @@
<li><a href="term.5.html">term &ndash; format of compiled
term file.</a></li>
+ <li><a href="scr_dump.5.html">scr_dump &ndash; format of
+ curses screen dumps.</a></li>
+
<li><a href="term.7.html">term &ndash; conventions for
naming terminal types</a></li>
</ul>
diff --git a/doc/html/man/infocmp.1m.html b/doc/html/man/infocmp.1m.html
index fc15a2b9eeca..63c29e415f91 100644
--- a/doc/html/man/infocmp.1m.html
+++ b/doc/html/man/infocmp.1m.html
@@ -1,8 +1,7 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN">
<!--
* t
****************************************************************************
- * Copyright (c) 1998-2012,2013 Free Software Foundation, Inc. *
+ * Copyright (c) 1998-2018,2019 Free Software Foundation, Inc. *
* *
* Permission is hereby granted, free of charge, to any person obtaining a *
* copy of this software and associated documentation files (the *
@@ -28,359 +27,383 @@
* sale, use or other dealings in this Software without prior written *
* authorization. *
****************************************************************************
- * @Id: infocmp.1m,v 1.53 2013/02/02 22:07:35 tom Exp @
+ * @Id: infocmp.1m,v 1.75 2019/07/20 18:42:11 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</TITLE>
-<link rev=made href="mailto:bug-ncurses@gnu.org">
+<link rel="author" href="mailto:bug-ncurses@gnu.org">
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
</HEAD>
<BODY>
-<H1>infocmp 1m</H1>
-<HR>
+<H1 class="no-header">infocmp 1m</H1>
<PRE>
-<!-- Manpage converted by man2html 3.0.1 -->
-<STRONG><A HREF="infocmp.1m.html">infocmp(1m)</A></STRONG> <STRONG><A HREF="infocmp.1m.html">infocmp(1m)</A></STRONG>
+<STRONG><A HREF="infocmp.1m.html">infocmp(1m)</A></STRONG> <STRONG><A HREF="infocmp.1m.html">infocmp(1m)</A></STRONG>
-</PRE>
-<H2>NAME</H2><PRE>
+</PRE><H2><a name="h2-NAME">NAME</a></H2><PRE>
<STRONG>infocmp</STRONG> - compare or print out <EM>terminfo</EM> descriptions
-</PRE>
-<H2>SYNOPSIS</H2><PRE>
- <STRONG>infocmp</STRONG> [<STRONG>-1CDEFGIKLTUVcdegilnpqrtux</STRONG>]
- [<STRONG>-v</STRONG> <EM>n</EM>] [<STRONG>-s</STRONG> <STRONG>d</STRONG>| <STRONG>i</STRONG>| <STRONG>l</STRONG>| <STRONG>c</STRONG>] [<STRONG>-R</STRONG> <STRONG>subset</STRONG>]
+</PRE><H2><a name="h2-SYNOPSIS">SYNOPSIS</a></H2><PRE>
+ <STRONG>infocmp</STRONG> [<STRONG>-1CDEFGIKLTUVWcdegilnpqrtux</STRONG>]
+ [<STRONG>-v</STRONG> <EM>n</EM>] [<STRONG>-s</STRONG> <STRONG>d</STRONG>| <STRONG>i</STRONG>| <STRONG>l</STRONG>| <STRONG>c</STRONG>] [<STRONG>-Q</STRONG> <EM>n</EM>] [<STRONG>-R</STRONG> <STRONG>subset</STRONG>]
[<STRONG>-w</STRONG> <EM>width</EM>] [<STRONG>-A</STRONG> <EM>directory</EM>] [<STRONG>-B</STRONG> <EM>directory</EM>]
[<EM>termname</EM>...]
-</PRE>
-<H2>DESCRIPTION</H2><PRE>
- <STRONG>infocmp</STRONG> can be used to compare a binary <STRONG>terminfo</STRONG> entry
- with other terminfo entries, rewrite a <STRONG>terminfo</STRONG> descrip-
- tion to take advantage of the <STRONG>use=</STRONG> terminfo field, or
- print out a <STRONG>terminfo</STRONG> description from the binary file
- (<STRONG>term</STRONG>) 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.
-
- <STRONG>Default</STRONG> <STRONG>Options</STRONG>
- If no options are specified and zero or one <EM>termnames</EM> are
- specified, the <STRONG>-I</STRONG> option will be assumed. If more than
- one <EM>termname</EM> is specified, the <STRONG>-d</STRONG> option will be assumed.
-
- <STRONG>Comparison</STRONG> <STRONG>Options</STRONG> <STRONG>[-d]</STRONG> <STRONG>[-c]</STRONG> <STRONG>[-n]</STRONG>
- <STRONG>infocmp</STRONG> compares the <STRONG>terminfo</STRONG> description of the first
- terminal <EM>termname</EM> with each of the descriptions given by
- the entries for the other terminal's <EM>termnames</EM>. If a
- capability is defined for only one of the terminals, the
- value returned will depend on the type of the capability:
- <STRONG>F</STRONG> for boolean variables, <STRONG>-1</STRONG> for integer variables, and
- <STRONG>NULL</STRONG> for string variables.
-
- The <STRONG>-d</STRONG> option produces a list of each capability that is
- different between two entries. This option is useful to
- show the difference between two entries, created by dif-
- ferent people, for the same or similar terminals.
-
- The <STRONG>-c</STRONG> option produces a list of each capability that is
- common between two or more entries. Capabilities that are
- not set are ignored. This option can be used as a quick
- check to see if the <STRONG>-u</STRONG> option is worth using.
-
- The <STRONG>-n</STRONG> option produces a list of each capability that is
- in none of the given entries. If no <EM>termnames</EM> are given,
- the environment variable <STRONG>TERM</STRONG> will be used for both of the
- <EM>termnames</EM>. This can be used as a quick check to see if
- anything was left out of a description.
-
- <STRONG>Source</STRONG> <STRONG>Listing</STRONG> <STRONG>Options</STRONG> <STRONG>[-I]</STRONG> <STRONG>[-L]</STRONG> <STRONG>[-C]</STRONG> <STRONG>[-r]</STRONG>
- The <STRONG>-I</STRONG>, <STRONG>-L</STRONG>, and <STRONG>-C</STRONG> options will produce a source listing
- for each terminal named.
-
- <STRONG>-I</STRONG> use the <STRONG>terminfo</STRONG> names
- <STRONG>-L</STRONG> use the long C variable name listed in &lt;<STRONG>term.h</STRONG>&gt;
- <STRONG>-C</STRONG> use the <STRONG>termcap</STRONG> names
- <STRONG>-r</STRONG> when using <STRONG>-C</STRONG>, put out all capabilities in <STRONG>termcap</STRONG> form
- <STRONG>-K</STRONG> modifies the <STRONG>-C</STRONG> option, improving BSD-compatibility.
-
- If no <EM>termnames</EM> are given, the environment variable <STRONG>TERM</STRONG>
- will be used for the terminal name.
-
- The source produced by the <STRONG>-C</STRONG> option may be used directly
- as a <STRONG>termcap</STRONG> entry, but not all parameterized strings can
- be changed to the <STRONG>termcap</STRONG> format. <STRONG>infocmp</STRONG> will attempt to
- convert most of the parameterized information, and any-
- thing not converted will be plainly marked in the output
- and commented out. These should be edited by hand.
-
- For best results when converting to <STRONG>termcap</STRONG> format, you
- should use both <STRONG>-C</STRONG> and <STRONG>-r</STRONG>. Normally a termcap description
- is limited to 1023 bytes. infocmp trims away less essen-
- tial parts to make it fit. If you are converting to one
- of the (rare) termcap implementations which accept an
- unlimited size of termcap, you may want to add the <STRONG>-T</STRONG>
- option. More often however, you must help the termcap
- implementation, and trim excess whitespace (use the <STRONG>-0</STRONG>
- option for that).
-
- All padding information for strings will be collected
- together and placed at the beginning of the string where
- <STRONG>termcap</STRONG> expects it. Mandatory padding (padding informa-
- tion with a trailing '/') will become optional.
-
- All <STRONG>termcap</STRONG> variables no longer supported by <STRONG>terminfo</STRONG>, but
- which are derivable from other <STRONG>terminfo</STRONG> variables, will be
- output. Not all <STRONG>terminfo</STRONG> capabilities will be translated;
- only those variables which were part of <STRONG>termcap</STRONG> will nor-
- mally be output. Specifying the <STRONG>-r</STRONG> option will take off
- this restriction, allowing all capabilities to be output
- in <EM>termcap</EM> form. Normally you would use both the <STRONG>-C</STRONG> and
- <STRONG>-r</STRONG> options. The actual format used incorporates some
- improvements for escaped characters from terminfo format.
- For a stricter BSD-compatible translation, use the <STRONG>-K</STRONG>
- option rather than <STRONG>-C</STRONG>.
-
- Note that because padding is collected to the beginning of
- the capability, not all capabilities are output. Manda-
- tory padding is not supported. Because <STRONG>termcap</STRONG> strings
- are not as flexible, it is not always possible to convert
- a <STRONG>terminfo</STRONG> string capability into an equivalent <STRONG>termcap</STRONG>
- format. A subsequent conversion of the <STRONG>termcap</STRONG> file back
- into <STRONG>terminfo</STRONG> format will not necessarily reproduce the
- original <STRONG>terminfo</STRONG> source.
-
- Some common <STRONG>terminfo</STRONG> parameter sequences, their <STRONG>termcap</STRONG>
- equivalents, and some terminal types which commonly have
- such sequences, are:
-
- <STRONG>terminfo</STRONG> <STRONG>termcap</STRONG> Representative Terminals
- ---------------------------------------------------------------
- <STRONG>%p1%c</STRONG> <STRONG>%.</STRONG> adm
- <STRONG>%p1%d</STRONG> <STRONG>%d</STRONG> hp, ANSI standard, vt100
- <STRONG>%p1%'x'%+%c</STRONG> <STRONG>%+x</STRONG> concept
- <STRONG>%i</STRONG> <STRONG>%i</STRONG>q ANSI standard, vt100
- <STRONG>%p1%?%'x'%&gt;%t%p1%'y'%+%;</STRONG> <STRONG>%&gt;xy</STRONG> concept
- <STRONG>%p2</STRONG> is printed before <STRONG>%p1</STRONG> <STRONG>%r</STRONG> hp
-
- <STRONG>Use=</STRONG> <STRONG>Option</STRONG> <STRONG>[-u]</STRONG>
- The <STRONG>-u</STRONG> option produces a <STRONG>terminfo</STRONG> source description of
- the first terminal <EM>termname</EM> which is relative to the sum
- of the descriptions given by the entries for the other
- terminals <EM>termnames</EM>. It does this by analyzing the dif-
- ferences between the first <EM>termname</EM> and the other
- <EM>termnames</EM> and producing a description with <STRONG>use=</STRONG> fields for
- the other terminals. In this manner, it is possible to
- retrofit generic terminfo entries into a terminal's
- description. Or, if two similar terminals exist, but were
- coded at different times or by different people so that
- each description is a full description, using <STRONG>infocmp</STRONG> will
- show what can be done to change one description to be rel-
- ative to the other.
-
- A capability will get printed with an at-sign (@) if it no
- longer exists in the first <EM>termname</EM>, but one of the other
- <EM>termname</EM> entries contains a value for it. A capability's
- value gets printed if the value in the first <EM>termname</EM> is
- not found in any of the other <EM>termname</EM> entries, or if the
- first of the other <EM>termname</EM> entries that has this capabil-
- ity gives a different value for the capability than that
- in the first <EM>termname</EM>.
-
- The order of the other <EM>termname</EM> entries is significant.
- Since the terminfo compiler <STRONG>tic</STRONG> does a left-to-right scan
- of the capabilities, specifying two <STRONG>use=</STRONG> entries that con-
- tain differing entries for the same capabilities will pro-
- duce different results depending on the order that the
- entries are given in. <STRONG>infocmp</STRONG> will flag any such incon-
- sistencies between the other <EM>termname</EM> entries as they are
- found.
-
- Alternatively, specifying a capability <EM>after</EM> a <STRONG>use=</STRONG> entry
- that contains that capability will cause the second speci-
- fication to be ignored. Using <STRONG>infocmp</STRONG> to recreate a
- description can be a useful check to make sure that every-
- thing was specified correctly in the original source
+</PRE><H2><a name="h2-DESCRIPTION">DESCRIPTION</a></H2><PRE>
+ <STRONG>infocmp</STRONG> can be used to compare a binary <STRONG>terminfo</STRONG> entry with other ter-
+ minfo entries, rewrite a <STRONG>terminfo</STRONG> description to take advantage of the
+ <STRONG>use=</STRONG> terminfo field, or print out a <STRONG>terminfo</STRONG> description from the
+ binary file (<STRONG>term</STRONG>) 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.
+
+
+</PRE><H3><a name="h3-Default-Options">Default Options</a></H3><PRE>
+ If no options are specified and zero or one <EM>termnames</EM> are specified,
+ the <STRONG>-I</STRONG> option will be assumed. If more than one <EM>termname</EM> is specified,
+ the <STRONG>-d</STRONG> option will be assumed.
+
+
+</PRE><H3><a name="h3-Comparison-Options-_-d_-_-c_-_-n_">Comparison Options [-d] [-c] [-n]</a></H3><PRE>
+ <STRONG>infocmp</STRONG> compares the <STRONG>terminfo</STRONG> description of the first terminal
+ <EM>termname</EM> with each of the descriptions given by the entries for the
+ other terminal's <EM>termnames</EM>. If a capability is defined for only one of
+ the terminals, the value returned depends on the type of the capabil-
+ ity:
+
+ <STRONG>o</STRONG> <STRONG>F</STRONG> for missing boolean variables
+
+ <STRONG>o</STRONG> <STRONG>NULL</STRONG> for missing integer or string variables
+
+ Use the <STRONG>-q</STRONG> option to show the distinction between <EM>absent</EM> and <EM>cancelled</EM>
+ capabilities.
+
+ These options produce a list which you can use to compare two or more
+ terminal descriptions:
+
+ <STRONG>-d</STRONG> produces a list of each capability that is <EM>different</EM> between two
+ entries. Each item in the list shows ":" after the capability
+ name, followed by the capability values, separated by a comma.
+
+ <STRONG>-c</STRONG> produces a list of each capability that is <EM>common</EM> between two or
+ more entries. Missing capabilities are ignored. Each item in the
+ list shows "=" after the capability name, followed by the capabil-
+ ity value.
+
+ The <STRONG>-u</STRONG> option provides a related output, showing the first termi-
+ nal description rewritten to use the second as a building block
+ via the "use=" clause.
+
+ <STRONG>-n</STRONG> produces a list of each capability that is in <EM>none</EM> of the given
+ entries. Each item in the list shows "!" before the capability
+ name.
+
+ Normally only the conventional capabilities are shown. Use the <STRONG>-x</STRONG>
+ option to add the BSD-compatibility capabilities (names prefixed
+ with "OT").
+
+ If no <EM>termnames</EM> are given, <STRONG>infocmp</STRONG> uses the environment variable
+ <STRONG>TERM</STRONG> for each of the <EM>termnames</EM>.
+
+
+</PRE><H3><a name="h3-Source-Listing-Options-_-I_-_-L_-_-C_-_-r_">Source Listing Options [-I] [-L] [-C] [-r]</a></H3><PRE>
+ The <STRONG>-I</STRONG>, <STRONG>-L</STRONG>, and <STRONG>-C</STRONG> options will produce a source listing for each ter-
+ minal named.
+
+ <STRONG>-I</STRONG> use the <STRONG>terminfo</STRONG> names
+ <STRONG>-L</STRONG> use the long C variable name listed in &lt;<STRONG>term.h</STRONG>&gt;
+ <STRONG>-C</STRONG> use the <STRONG>termcap</STRONG> names
+ <STRONG>-r</STRONG> when using <STRONG>-C</STRONG>, put out all capabilities in <STRONG>termcap</STRONG> form
+ <STRONG>-K</STRONG> modifies the <STRONG>-C</STRONG> option, improving BSD-compatibility.
+
+ If no <EM>termnames</EM> are given, the environment variable <STRONG>TERM</STRONG> will be used
+ for the terminal name.
+
+ The source produced by the <STRONG>-C</STRONG> option may be used directly as a <STRONG>termcap</STRONG>
+ entry, but not all parameterized strings can be changed to the <STRONG>termcap</STRONG>
+ format. <STRONG>infocmp</STRONG> will attempt to convert most of the parameterized
+ information, and anything not converted will be plainly marked in the
+ output and commented out. These should be edited by hand.
+
+ For best results when converting to <STRONG>termcap</STRONG> format, you should use both
+ <STRONG>-C</STRONG> and <STRONG>-r</STRONG>. Normally a termcap description is limited to 1023 bytes.
+ <STRONG>infocmp</STRONG> trims away less essential parts to make it fit. If you are
+ converting to one of the (rare) termcap implementations which accept an
+ unlimited size of termcap, you may want to add the <STRONG>-T</STRONG> option. More
+ often however, you must help the termcap implementation, and trim
+ excess whitespace (use the <STRONG>-0</STRONG> option for that).
+
+ All padding information for strings will be collected together and
+ placed at the beginning of the string where <STRONG>termcap</STRONG> expects it. Manda-
+ tory padding (padding information with a trailing "/") will become
+ optional.
+
+ All <STRONG>termcap</STRONG> variables no longer supported by <STRONG>terminfo</STRONG>, but which are
+ derivable from other <STRONG>terminfo</STRONG> variables, will be output. Not all <STRONG>ter-</STRONG>
+ <STRONG>minfo</STRONG> capabilities will be translated; only those variables which were
+ part of <STRONG>termcap</STRONG> will normally be output. Specifying the <STRONG>-r</STRONG> option will
+ take off this restriction, allowing all capabilities to be output in
+ <EM>termcap</EM> form. Normally you would use both the <STRONG>-C</STRONG> and <STRONG>-r</STRONG> options. The
+ actual format used incorporates some improvements for escaped charac-
+ ters from terminfo format. For a stricter BSD-compatible translation,
+ use the <STRONG>-K</STRONG> option rather than <STRONG>-C</STRONG>.
+
+ Note that because padding is collected to the beginning of the capabil-
+ ity, not all capabilities are output. Mandatory padding is not sup-
+ ported. Because <STRONG>termcap</STRONG> strings are not as flexible, it is not always
+ possible to convert a <STRONG>terminfo</STRONG> string capability into an equivalent
+ <STRONG>termcap</STRONG> format. A subsequent conversion of the <STRONG>termcap</STRONG> file back into
+ <STRONG>terminfo</STRONG> format will not necessarily reproduce the original <STRONG>terminfo</STRONG>
+ source.
+
+ Some common <STRONG>terminfo</STRONG> parameter sequences, their <STRONG>termcap</STRONG> equivalents,
+ and some terminal types which commonly have such sequences, are:
+
+ <STRONG>terminfo</STRONG> <STRONG>termcap</STRONG> Representative Terminals
+ ---------------------------------------------------------------
+ <STRONG>%p1%c</STRONG> <STRONG>%.</STRONG> adm
+ <STRONG>%p1%d</STRONG> <STRONG>%d</STRONG> hp, ANSI standard, vt100
+ <STRONG>%p1%'x'%+%c</STRONG> <STRONG>%+x</STRONG> concept
+ <STRONG>%i</STRONG> <STRONG>%i</STRONG>q ANSI standard, vt100
+ <STRONG>%p1%?%'x'%&gt;%t%p1%'y'%+%;</STRONG> <STRONG>%&gt;xy</STRONG> concept
+ <STRONG>%p2</STRONG> is printed before <STRONG>%p1</STRONG> <STRONG>%r</STRONG> hp
+
+
+</PRE><H3><a name="h3-Use_-Option-_-u_">Use= Option [-u]</a></H3><PRE>
+ The <STRONG>-u</STRONG> option produces a <STRONG>terminfo</STRONG> source description of the first ter-
+ minal <EM>termname</EM> which is relative to the sum of the descriptions given
+ by the entries for the other terminals <EM>termnames</EM>. It does this by ana-
+ lyzing the differences between the first <EM>termname</EM> and the other
+ <EM>termnames</EM> and producing a description with <STRONG>use=</STRONG> fields for the other
+ terminals. In this manner, it is possible to retrofit generic terminfo
+ entries into a terminal's description. Or, if two similar terminals
+ exist, but were coded at different times or by different people so that
+ each description is a full description, using <STRONG>infocmp</STRONG> will show what
+ can be done to change one description to be relative to the other.
+
+ A capability will get printed with an at-sign (@) if it no longer
+ exists in the first <EM>termname</EM>, but one of the other <EM>termname</EM> entries
+ contains a value for it. A capability's value gets printed if the
+ value in the first <EM>termname</EM> is not found in any of the other <EM>termname</EM>
+ entries, or if the first of the other <EM>termname</EM> entries that has this
+ capability gives a different value for the capability than that in the
+ first <EM>termname</EM>.
+
+ The order of the other <EM>termname</EM> entries is significant. Since the ter-
+ minfo compiler <STRONG>tic</STRONG> does a left-to-right scan of the capabilities, spec-
+ ifying two <STRONG>use=</STRONG> entries that contain differing entries for the same
+ capabilities will produce different results depending on the order that
+ the entries are given in. <STRONG>infocmp</STRONG> will flag any such inconsistencies
+ between the other <EM>termname</EM> entries as they are found.
+
+ Alternatively, specifying a capability <EM>after</EM> a <STRONG>use=</STRONG> entry that contains
+ that capability will cause the second specification to be ignored.
+ Using <STRONG>infocmp</STRONG> to recreate a description can be a useful check to make
+ sure that everything was specified correctly in the original source
description.
- Another error that does not cause incorrect compiled
- files, but will slow down the compilation time, is speci-
- fying extra <STRONG>use=</STRONG> fields that are superfluous. <STRONG>infocmp</STRONG>
- will flag any other <EM>termname</EM> <EM>use=</EM> fields that were not
- needed.
+ Another error that does not cause incorrect compiled files, but will
+ slow down the compilation time, is specifying extra <STRONG>use=</STRONG> fields that
+ are superfluous. <STRONG>infocmp</STRONG> will flag any other <EM>termname</EM> <EM>use=</EM> fields that
+ were not needed.
<STRONG>Changing</STRONG> <STRONG>Databases</STRONG> <STRONG>[-A</STRONG> <EM>directory</EM>] [-B <EM>directory</EM>]
- Like other <STRONG>ncurses</STRONG> utilities, infocmp looks for the termi-
- nal descriptions in several places. You can use the <STRONG>TER-</STRONG>
- <STRONG>MINFO</STRONG> and <STRONG>TERMINFO_DIRS</STRONG> environment variables to override
- the compiled-in default list of places to search (see
- <STRONG><A HREF="ncurses.3x.html">curses(3x)</A></STRONG> for details).
+ Like other <STRONG>ncurses</STRONG> utilities, <STRONG>infocmp</STRONG> looks for the terminal descrip-
+ tions in several places. You can use the <STRONG>TERMINFO</STRONG> and <STRONG>TERMINFO_DIRS</STRONG>
+ environment variables to override the compiled-in default list of
+ places to search (see <STRONG><A HREF="ncurses.3x.html">curses(3x)</A></STRONG> for details).
- You can also use the options <STRONG>-A</STRONG> and <STRONG>-B</STRONG> to override the
- list of places to search when comparing terminal descrip-
- tions:
+ You can also use the options <STRONG>-A</STRONG> and <STRONG>-B</STRONG> to override the list of places
+ to search when comparing terminal descriptions:
<STRONG>o</STRONG> The <STRONG>-A</STRONG> option sets the location for the first <EM>termname</EM>
- <STRONG>o</STRONG> The <STRONG>-B</STRONG> option sets the location for the other
- <EM>termnames</EM>.
-
- Using these options, it is possible to compare descrip-
- tions for a terminal with the same name located in two
- different databases. For instance, you can use this fea-
- ture for comparing descriptions for the same terminal cre-
- ated by different people.
-
- <STRONG>Other</STRONG> <STRONG>Options</STRONG>
- <STRONG>-0</STRONG> causes the fields to be printed on one line, without
- wrapping.
-
- <STRONG>-1</STRONG> causes the fields to be printed out one to a line.
- Otherwise, the fields will be printed several to a
- line to a maximum width of 60 characters.
-
- <STRONG>-a</STRONG> tells <STRONG>infocmp</STRONG> to retain commented-out capabilities
- rather than discarding them. Capabilities are com-
- mented by prefixing them with a period.
-
- <STRONG>-D</STRONG> tells <STRONG>infocmp</STRONG> to print the database locations that it
- knows about, and exit.
-
- <STRONG>-E</STRONG> Dump the capabilities of the given terminal as
- tables, needed in the C initializer for a TERMTYPE
- structure (the terminal capability structure in the
- <STRONG>&lt;term.h&gt;</STRONG>). This option is useful for preparing ver-
- sions of the curses library hardwired for a given
- terminal type. The tables are all declared static,
- and are named according to the type and the name of
- the corresponding terminal entry.
-
- Before ncurses 5.0, the split between the <STRONG>-e</STRONG> and <STRONG>-E</STRONG>
- options was not needed; but support for extended
- names required making the arrays of terminal capabil-
- ities separate from the TERMTYPE structure.
-
- <STRONG>-e</STRONG> Dump the capabilities of the given terminal as a C
- initializer for a TERMTYPE structure (the terminal
- capability structure in the <STRONG>&lt;term.h&gt;</STRONG>). This option
- is useful for preparing versions of the curses
- library hardwired for a given terminal type.
-
- <STRONG>-F</STRONG> compare terminfo files. This assumes that two fol-
- lowing arguments are filenames. The files are
- searched for pairwise matches between entries, with
- two entries considered to match if any of their names
- do. The report printed to standard output lists
- entries with no matches in the other file, and
- entries with more than one match. For entries with
- exactly one match it includes a difference report.
- Normally, to reduce the volume of the report, use
- references are not resolved before looking for dif-
- ferences, but resolution can be forced by also speci-
- fying <STRONG>-r</STRONG>.
-
- <STRONG>-f</STRONG> Display complex terminfo strings which contain
- if/then/else/endif expressions indented for readabil-
- ity.
-
- <STRONG>-G</STRONG> Display constant literals in decimal form rather than
- their character equivalents.
-
- <STRONG>-g</STRONG> Display constant character literals in quoted form
- rather than their decimal equivalents.
-
- <STRONG>-i</STRONG> Analyze the initialization (<STRONG>is1</STRONG>, <STRONG>is2</STRONG>, <STRONG>is3</STRONG>), and reset
- (<STRONG>rs1</STRONG>, <STRONG>rs2</STRONG>, <STRONG>rs3</STRONG>), strings in the entry. For each
- string, the code tries to analyze it into actions in
- terms of the other capabilities in the entry, certain
- X3.64/ISO 6429/ECMA-48 capabilities, and certain DEC
- VT-series private modes (the set of recognized spe-
- cial sequences has been selected for completeness
- over the existing terminfo database). Each report
- line consists of the capability name, followed by a
- colon and space, followed by a printable expansion of
- the capability string with sections matching recog-
- nized actions translated into {}-bracketed descrip-
- tions. Here is a list of the DEC/ANSI special
- sequences recognized: i.
-
- Action Meaning
- -----------------------------------------
- RIS full reset
-
- SC save cursor
- RC restore cursor
- LL home-down
- RSR reset scroll region
- -----------------------------------------
- DECSTR soft reset (VT320)
- S7C1T 7-bit controls (VT220)
- -----------------------------------------
- ISO DEC G0 enable DEC graphics for G0
- ISO UK G0 enable UK chars for G0
- ISO US G0 enable US chars for G0
- ISO DEC G1 enable DEC graphics for G1
- ISO UK G1 enable UK chars for G1
- ISO US G1 enable US chars for G1
- -----------------------------------------
- DECPAM application keypad mode
- DECPNM normal keypad mode
- DECANSI enter ANSI mode
- -----------------------------------------
- ECMA[+-]AM keyboard action mode
- ECMA[+-]IRM insert replace mode
- ECMA[+-]SRM send receive mode
- ECMA[+-]LNM linefeed mode
- -----------------------------------------
- DEC[+-]CKM application cursor keys
- DEC[+-]ANM set VT52 mode
- DEC[+-]COLM 132-column mode
- DEC[+-]SCLM smooth scroll
- DEC[+-]SCNM reverse video mode
- DEC[+-]OM origin mode
- DEC[+-]AWM wraparound mode
- DEC[+-]ARM auto-repeat mode
-
- It also recognizes a SGR action corresponding to
- ANSI/ISO 6429/ECMA Set Graphics Rendition, with the
- values NORMAL, BOLD, UNDERLINE, BLINK, and REVERSE.
- All but NORMAL may be prefixed with `+' (turn on) or
- `-' (turn off).
-
- An SGR0 designates an empty highlight sequence (equivalent
- to {SGR:NORMAL}).
+ <STRONG>o</STRONG> The <STRONG>-B</STRONG> option sets the location for the other <EM>termnames</EM>.
+
+ Using these options, it is possible to compare descriptions for a ter-
+ minal with the same name located in two different databases. For
+ instance, you can use this feature for comparing descriptions for the
+ same terminal created by different people.
+
+
+</PRE><H3><a name="h3-Other-Options">Other Options</a></H3><PRE>
+ <STRONG>-0</STRONG> causes the fields to be printed on one line, without wrapping.
+
+ <STRONG>-1</STRONG> causes the fields to be printed out one to a line. Otherwise, the
+ fields will be printed several to a line to a maximum width of 60
+ characters.
+
+ <STRONG>-a</STRONG> tells <STRONG>infocmp</STRONG> to retain commented-out capabilities rather than
+ discarding them. Capabilities are commented by prefixing them
+ with a period.
+
+ <STRONG>-D</STRONG> tells <STRONG>infocmp</STRONG> to print the database locations that it knows about,
+ and exit.
+
+ <STRONG>-E</STRONG> Dump the capabilities of the given terminal as tables, needed in
+ the C initializer for a TERMTYPE structure (the terminal capabil-
+ ity structure in the <STRONG>&lt;term.h&gt;</STRONG>). This option is useful for prepar-
+ ing versions of the curses library hardwired for a given terminal
+ type. The tables are all declared static, and are named according
+ to the type and the name of the corresponding terminal entry.
+
+ Before ncurses 5.0, the split between the <STRONG>-e</STRONG> and <STRONG>-E</STRONG> options was
+ not needed; but support for extended names required making the
+ arrays of terminal capabilities separate from the TERMTYPE struc-
+ ture.
+
+ <STRONG>-e</STRONG> Dump the capabilities of the given terminal as a C initializer for
+ a TERMTYPE structure (the terminal capability structure in the
+ <STRONG>&lt;term.h&gt;</STRONG>). This option is useful for preparing versions of the
+ curses library hardwired for a given terminal type.
+
+ <STRONG>-F</STRONG> compare terminfo files. This assumes that two following arguments
+ are filenames. The files are searched for pairwise matches
+ between entries, with two entries considered to match if any of
+ their names do. The report printed to standard output lists
+ entries with no matches in the other file, and entries with more
+ than one match. For entries with exactly one match it includes a
+ difference report. Normally, to reduce the volume of the report,
+ use references are not resolved before looking for differences,
+ but resolution can be forced by also specifying <STRONG>-r</STRONG>.
+
+ <STRONG>-f</STRONG> Display complex terminfo strings which contain if/then/else/endif
+ expressions indented for readability.
+
+ <STRONG>-G</STRONG> Display constant literals in decimal form rather than their char-
+ acter equivalents.
+
+ <STRONG>-g</STRONG> Display constant character literals in quoted form rather than
+ their decimal equivalents.
+
+ <STRONG>-i</STRONG> Analyze the initialization (<STRONG>is1</STRONG>, <STRONG>is2</STRONG>, <STRONG>is3</STRONG>), and reset (<STRONG>rs1</STRONG>, <STRONG>rs2</STRONG>,
+ <STRONG>rs3</STRONG>), strings in the entry, as well as those used for start-
+ ing/stopping cursor-positioning mode (<STRONG>smcup</STRONG>, <STRONG>rmcup</STRONG>) as well as
+ starting/stopping keymap mode (<STRONG>smkx</STRONG>, <STRONG>rmkx</STRONG>).
+
+ For each string, the code tries to analyze it into actions in
+ terms of the other capabilities in the entry, certain X3.64/ISO
+ 6429/ECMA-48 capabilities, and certain DEC VT-series private modes
+ (the set of recognized special sequences has been selected for
+ completeness over the existing terminfo database). Each report
+ line consists of the capability name, followed by a colon and
+ space, followed by a printable expansion of the capability string
+ with sections matching recognized actions translated into
+ {}-bracketed descriptions.
+
+ Here is a list of the DEC/ANSI special sequences recognized:
+
+ Action Meaning
+ -----------------------------------------
+ RIS full reset
+ SC save cursor
+ RC restore cursor
+ LL home-down
+ RSR reset scroll region
+ -----------------------------------------
+ DECSTR soft reset (VT320)
+ S7C1T 7-bit controls (VT220)
+ -----------------------------------------
+
+ ISO DEC G0 enable DEC graphics for G0
+ ISO UK G0 enable UK chars for G0
+ ISO US G0 enable US chars for G0
+ ISO DEC G1 enable DEC graphics for G1
+ ISO UK G1 enable UK chars for G1
+ ISO US G1 enable US chars for G1
+ -----------------------------------------
+ DECPAM application keypad mode
+ DECPNM normal keypad mode
+ DECANSI enter ANSI mode
+ -----------------------------------------
+ ECMA[+-]AM keyboard action mode
+ ECMA[+-]IRM insert replace mode
+ ECMA[+-]SRM send receive mode
+ ECMA[+-]LNM linefeed mode
+ -----------------------------------------
+ DEC[+-]CKM application cursor keys
+ DEC[+-]ANM set VT52 mode
+ DEC[+-]COLM 132-column mode
+ DEC[+-]SCLM smooth scroll
+ DEC[+-]SCNM reverse video mode
+ DEC[+-]OM origin mode
+ DEC[+-]AWM wraparound mode
+ DEC[+-]ARM auto-repeat mode
+
+ It also recognizes a SGR action corresponding to ANSI/ISO
+ 6429/ECMA Set Graphics Rendition, with the values NORMAL, BOLD,
+ UNDERLINE, BLINK, and REVERSE. All but NORMAL may be prefixed
+ with
+
+ <STRONG>o</STRONG> "+" (turn on) or
+
+ <STRONG>o</STRONG> "-" (turn off).
+
+ An SGR0 designates an empty highlight sequence (equivalent to
+ {SGR:NORMAL}).
<STRONG>-l</STRONG> Set output format to terminfo.
<STRONG>-p</STRONG> Ignore padding specifications when comparing strings.
- <STRONG>-q</STRONG> Make the comparison listing shorter by omitting sub-
- headings, and using "-" for absent capabilities, "@"
- for canceled rather than "NULL".
+ <STRONG>-Q</STRONG> <EM>n</EM> Rather than show source in terminfo (text) format, print the com-
+ piled (binary) format in hexadecimal or base64 form, depending on
+ the option's value:
+
+ 1 hexadecimal
+
+ 2 base64
+
+ 3 hexadecimal and base64
+
+ For example, this prints the compiled terminfo value as a string
+ which could be assigned to the <STRONG>TERMINFO</STRONG> environment variable:
+
+ infocmp -0 -q -Q2
+
+ <STRONG>-q</STRONG> This makes the output a little shorter:
+
+ <STRONG>o</STRONG> Make the comparison listing shorter by omitting subheadings,
+ and using "-" for absent capabilities, "@" for canceled rather
+ than "NULL".
+
+ <STRONG>o</STRONG> However, show differences between absent and cancelled capa-
+ bilities.
+
+ <STRONG>o</STRONG> Omit the "Reconstructed from" comment for source listings.
<STRONG>-R</STRONG><EM>subset</EM>
- Restrict output to a given subset. This option is
- for use with archaic versions of terminfo like those
- on SVr1, Ultrix, or HP/UX that do not support the
- full set of SVR4/XSI Curses terminfo; and variants
- such as AIX that have their own extensions incompati-
- ble with SVr4/XSI. Available terminfo subsets are
- "SVr1", "Ultrix", "HP", and "AIX"; see <STRONG><A HREF="terminfo.5.html">terminfo(5)</A></STRONG>
- for details. You can also choose the subset "BSD"
- which selects only capabilities with termcap equiva-
- lents recognized by 4.4BSD.
+ Restrict output to a given subset. This option is for use with
+ archaic versions of terminfo like those on SVr1, Ultrix, or HP/UX
+ that do not support the full set of SVR4/XSI Curses terminfo; and
+ variants such as AIX that have their own extensions incompatible
+ with SVr4/XSI.
+
+ <STRONG>o</STRONG> Available terminfo subsets are "SVr1", "Ultrix", "HP", and
+ "AIX"; see <STRONG><A HREF="terminfo.5.html">terminfo(5)</A></STRONG> for details.
+
+ <STRONG>o</STRONG> You can also choose the subset "BSD" which selects only capa-
+ bilities with termcap equivalents recognized by 4.4BSD. The
+ <STRONG>-C</STRONG> option sets the "BSD" subset as a side-effect.
+
+ <STRONG>o</STRONG> If you select any other value for <STRONG>-R</STRONG>, it is the same as no
+ subset, i.e., all capabilities are used. The <STRONG>-I</STRONG> option like-
+ wise selects no subset as a side-effect.
<STRONG>-s</STRONG> <EM>[d|i|l|c]</EM>
- The <STRONG>-s</STRONG> option sorts the fields within each type
- according to the argument below:
+ The <STRONG>-s</STRONG> option sorts the fields within each type according to the
+ argument below:
- <STRONG>d</STRONG> leave fields in the order that they are stored
- in the <EM>terminfo</EM> database.
+ <STRONG>d</STRONG> leave fields in the order that they are stored in the <EM>ter-</EM>
+ <EM>minfo</EM> database.
<STRONG>i</STRONG> sort by <EM>terminfo</EM> name.
@@ -388,89 +411,139 @@
<STRONG>c</STRONG> sort by the <EM>termcap</EM> name.
- If the <STRONG>-s</STRONG> option is not given, the fields printed out
- will be sorted alphabetically by the <STRONG>terminfo</STRONG> name
- within each type, except in the case of the <STRONG>-C</STRONG> or the
- <STRONG>-L</STRONG> options, which cause the sorting to be done by the
- <STRONG>termcap</STRONG> name or the long C variable name, respec-
- tively.
+ If the <STRONG>-s</STRONG> option is not given, the fields printed out will be
+ sorted alphabetically by the <STRONG>terminfo</STRONG> name within each type,
+ except in the case of the <STRONG>-C</STRONG> or the <STRONG>-L</STRONG> options, which cause the
+ sorting to be done by the <STRONG>termcap</STRONG> name or the long C variable
+ name, respectively.
+
+ <STRONG>-T</STRONG> eliminates size-restrictions on the generated text. This is
+ mainly useful for testing and analysis, since the compiled
+ descriptions are limited (e.g., 1023 for termcap, 4096 for ter-
+ minfo).
- <STRONG>-T</STRONG> eliminates size-restrictions on the generated text.
- This is mainly useful for testing and analysis, since
- the compiled descriptions are limited (e.g., 1023 for
- termcap, 4096 for terminfo).
+ <STRONG>-t</STRONG> tells <STRONG>tic</STRONG> to discard commented-out capabilities. Normally when
+ translating from terminfo to termcap, untranslatable capabilities
+ are commented-out.
- <STRONG>-t</STRONG> tells <STRONG>tic</STRONG> to discard commented-out capabilities.
- Normally when translating from terminfo to termcap,
- untranslatable capabilities are commented-out.
+ <STRONG>-U</STRONG> tells <STRONG>infocmp</STRONG> to not post-process the data after parsing the
+ source file. This feature helps when comparing the actual con-
+ tents of two source files, since it excludes the inferences that
+ <STRONG>infocmp</STRONG> makes to fill in missing data.
- <STRONG>-U</STRONG> tells <STRONG>infocmp</STRONG> to not post-process the data after
- parsing the source file. This feature helps when
- comparing the actual contents of two source files,
- since it excludes the inferences that <STRONG>infocmp</STRONG> makes
- to fill in missing data.
+ <STRONG>-V</STRONG> reports the version of ncurses which was used in this program, and
+ exits.
- <STRONG>-V</STRONG> reports the version of ncurses which was used in this
- program, and exits.
+ <STRONG>-v</STRONG> <EM>n</EM> prints out tracing information on standard error as the program
+ runs.
- <STRONG>-v</STRONG> <EM>n</EM> prints out tracing information on standard error as
- the program runs. Higher values of n induce greater
- verbosity.
+ The optional parameter <EM>n</EM> is a number from 1 to 10, inclusive,
+ indicating the desired level of detail of information. If ncurses
+ is built without tracing support, the optional parameter is
+ ignored.
+
+ <STRONG>-W</STRONG> By itself, the <STRONG>-w</STRONG> option will not force long strings to be
+ wrapped. Use the <STRONG>-W</STRONG> option to do this.
<STRONG>-w</STRONG> <EM>width</EM>
changes the output to <EM>width</EM> characters.
- <STRONG>-x</STRONG> print information for user-defined capabilities.
- These are extensions to the terminfo repertoire which
- can be loaded using the <STRONG>-x</STRONG> option of <STRONG>tic</STRONG>.
+ <STRONG>-x</STRONG> print information for user-defined capabilities (see <STRONG>user_caps(5)</STRONG>.
+ These are extensions to the terminfo repertoire which can be
+ loaded using the <STRONG>-x</STRONG> option of <STRONG>tic</STRONG>.
-</PRE>
-<H2>FILES</H2><PRE>
- /usr/share/terminfo Compiled terminal description data-
- base.
+</PRE><H2><a name="h2-FILES">FILES</a></H2><PRE>
+ /usr/share/terminfo Compiled terminal description database.
-</PRE>
-<H2>EXTENSIONS</H2><PRE>
- The <STRONG>-0</STRONG>, <STRONG>-1</STRONG>, <STRONG>-E</STRONG>, <STRONG>-F</STRONG>, <STRONG>-G</STRONG>, <STRONG>-R</STRONG>, <STRONG>-T</STRONG>, <STRONG>-V</STRONG>, <STRONG>-a</STRONG>, <STRONG>-e</STRONG>, <STRONG>-f</STRONG>, <STRONG>-g</STRONG>, <STRONG>-i</STRONG>,
- <STRONG>-l</STRONG>, <STRONG>-p</STRONG>, <STRONG>-q</STRONG> and <STRONG>-t</STRONG> options are not supported in SVr4
- curses.
+</PRE><H2><a name="h2-HISTORY">HISTORY</a></H2><PRE>
+ Although System V Release 2 provided a terminfo library, it had no doc-
+ umented tool for decompiling the terminal descriptions. Tony Hansen
+ (AT&amp;T) wrote the first <STRONG>infocmp</STRONG> in early 1984, for System V Release 3.
- The <STRONG>-r</STRONG> option's notion of `termcap' capabilities is System
- V Release 4's. Actual BSD curses versions will have a
- more restricted set. To see only the 4.4BSD set, use <STRONG>-r</STRONG>
- <STRONG>-RBSD</STRONG>.
+ Eric Raymond used the AT&amp;T documentation in 1995 to provide an equiva-
+ lent <STRONG>infocmp</STRONG> for ncurses. In addition, he added a few new features
+ such as:
+ <STRONG>o</STRONG> the <STRONG>-e</STRONG> option, to support <EM>fallback</EM> (compiled-in) terminal descrip-
+ tions
-</PRE>
-<H2>BUGS</H2><PRE>
+ <STRONG>o</STRONG> the <STRONG>-i</STRONG> option, to help with analysis
+
+ Later, Thomas Dickey added the <STRONG>-x</STRONG> (user-defined capabilities) option,
+ and the <STRONG>-E</STRONG> option to support fallback entries with user-defined capa-
+ bilities.
+
+ For a complete list, see the <EM>EXTENSIONS</EM> section.
+
+ In 2010, Roy Marples provided an <STRONG>infocmp</STRONG> program for NetBSD. It is
+ less capable than the SVr4 or ncurses versions (e.g., it lacks the
+ sorting options documented in X/Open), but does include the <STRONG>-x</STRONG> option
+ adapted from ncurses.
+
+
+</PRE><H2><a name="h2-PORTABILITY">PORTABILITY</a></H2><PRE>
+ X/Open Curses, Issue 7 (2009) provides a description of <STRONG>infocmp</STRONG>. It
+ does not mention the options used for converting to termcap format.
+
+
+</PRE><H2><a name="h2-EXTENSIONS">EXTENSIONS</a></H2><PRE>
+ The <STRONG>-0</STRONG>, <STRONG>-1</STRONG>, <STRONG>-E</STRONG>, <STRONG>-F</STRONG>, <STRONG>-G</STRONG>, <STRONG>-Q</STRONG>, <STRONG>-R</STRONG>, <STRONG>-T</STRONG>, <STRONG>-V</STRONG>, <STRONG>-a</STRONG>, <STRONG>-e</STRONG>, <STRONG>-f</STRONG>, <STRONG>-g</STRONG>, <STRONG>-i</STRONG>, <STRONG>-l</STRONG>, <STRONG>-p</STRONG>, <STRONG>-q</STRONG>
+ and <STRONG>-t</STRONG> options are not supported in SVr4 curses.
+
+ SVr4 infocmp does not distinguish between absent and cancelled capabil-
+ ities. Also, it shows missing integer capabilities as <STRONG>-1</STRONG> (the internal
+ value used to represent missing integers). This implementation shows
+ those as "NULL", for consistency with missing strings.
+
+ The <STRONG>-r</STRONG> option's notion of "termcap" capabilities is System V Release
+ 4's. Actual BSD curses versions will have a more restricted set. To
+ see only the 4.4BSD set, use <STRONG>-r</STRONG> <STRONG>-RBSD</STRONG>.
+
+
+</PRE><H2><a name="h2-BUGS">BUGS</a></H2><PRE>
The <STRONG>-F</STRONG> option of <STRONG><A HREF="infocmp.1m.html">infocmp(1m)</A></STRONG> should be a <STRONG><A HREF="toe.1m.html">toe(1m)</A></STRONG> mode.
-</PRE>
-<H2>SEE ALSO</H2><PRE>
- <STRONG><A HREF="captoinfo.1m.html">captoinfo(1m)</A></STRONG>, <STRONG><A HREF="infotocap.1m.html">infotocap(1m)</A></STRONG>, <STRONG><A HREF="tic.1m.html">tic(1m)</A></STRONG>, <STRONG><A HREF="toe.1m.html">toe(1m)</A></STRONG>,
- <STRONG><A HREF="ncurses.3x.html">curses(3x)</A></STRONG>, <STRONG><A HREF="terminfo.5.html">terminfo(5)</A></STRONG>.
+</PRE><H2><a name="h2-SEE-ALSO">SEE ALSO</a></H2><PRE>
+ <STRONG><A HREF="captoinfo.1m.html">captoinfo(1m)</A></STRONG>, <STRONG><A HREF="infotocap.1m.html">infotocap(1m)</A></STRONG>, <STRONG><A HREF="tic.1m.html">tic(1m)</A></STRONG>, <STRONG><A HREF="toe.1m.html">toe(1m)</A></STRONG>, <STRONG><A HREF="ncurses.3x.html">curses(3x)</A></STRONG>, <STRONG>ter-</STRONG>
+ <STRONG><A HREF="terminfo.5.html">minfo(5)</A></STRONG>. <STRONG><A HREF="user_caps.5.html">user_caps(5)</A></STRONG>.
- http://invisible-island.net/ncurses/tctest.html
+ https://invisible-island.net/ncurses/tctest.html
- This describes <STRONG>ncurses</STRONG> version 5.9 (patch 20131221).
+ This describes <STRONG>ncurses</STRONG> version 6.1 (patch 20200118).
-</PRE>
-<H2>AUTHOR</H2><PRE>
+</PRE><H2><a name="h2-AUTHOR">AUTHOR</a></H2><PRE>
Eric S. Raymond &lt;esr@snark.thyrsus.com&gt; and
Thomas E. Dickey &lt;dickey@invisible-island.net&gt;
- <STRONG><A HREF="infocmp.1m.html">infocmp(1m)</A></STRONG>
+ <STRONG><A HREF="infocmp.1m.html">infocmp(1m)</A></STRONG>
</PRE>
-<HR>
-<ADDRESS>
-Man(1) output converted with
-<a href="http://www.oac.uci.edu/indiv/ehood/man2html.html">man2html</a>
-</ADDRESS>
+<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>
+<ul>
+<li><a href="#h3-Default-Options">Default Options</a></li>
+<li><a href="#h3-Comparison-Options-_-d_-_-c_-_-n_">Comparison Options [-d] [-c] [-n]</a></li>
+<li><a href="#h3-Source-Listing-Options-_-I_-_-L_-_-C_-_-r_">Source Listing Options [-I] [-L] [-C] [-r]</a></li>
+<li><a href="#h3-Use_-Option-_-u_">Use= Option [-u]</a></li>
+<li><a href="#h3-Other-Options">Other Options</a></li>
+</ul>
+</li>
+<li><a href="#h2-FILES">FILES</a></li>
+<li><a href="#h2-HISTORY">HISTORY</a></li>
+<li><a href="#h2-PORTABILITY">PORTABILITY</a></li>
+<li><a href="#h2-EXTENSIONS">EXTENSIONS</a></li>
+<li><a href="#h2-BUGS">BUGS</a></li>
+<li><a href="#h2-SEE-ALSO">SEE ALSO</a></li>
+<li><a href="#h2-AUTHOR">AUTHOR</a></li>
+</ul>
+</div>
</BODY>
</HTML>
diff --git a/doc/html/man/infotocap.1m.html b/doc/html/man/infotocap.1m.html
index 247f85eb4f17..882703fa9ff2 100644
--- a/doc/html/man/infotocap.1m.html
+++ b/doc/html/man/infotocap.1m.html
@@ -1,8 +1,7 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN">
<!--
* t
****************************************************************************
- * Copyright (c) 1999-2006,2010 Free Software Foundation, Inc. *
+ * Copyright (c) 1999-2018,2019 Free Software Foundation, Inc. *
* *
* Permission is hereby granted, free of charge, to any person obtaining a *
* copy of this software and associated documentation files (the *
@@ -28,88 +27,91 @@
* sale, use or other dealings in this Software without prior written *
* authorization. *
****************************************************************************
- * @Id: infotocap.1m,v 1.11 2010/12/04 18:38:55 tom Exp @
+ * @Id: infotocap.1m,v 1.15 2019/10/12 21:16:00 tom Exp @
-->
+<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN">
<HTML>
<HEAD>
+<meta http-equiv="Content-Type" content="text/html; charset=us-ascii">
+<meta name="generator" content="Manpage converted by man2html - see https://invisible-island.net/scripts/readme.html#others_scripts">
<TITLE>infotocap 1m</TITLE>
-<link rev=made href="mailto:bug-ncurses@gnu.org">
+<link rel="author" href="mailto:bug-ncurses@gnu.org">
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
</HEAD>
<BODY>
-<H1>infotocap 1m</H1>
-<HR>
+<H1 class="no-header">infotocap 1m</H1>
<PRE>
-<!-- Manpage converted by man2html 3.0.1 -->
-<STRONG><A HREF="infotocap.1m.html">infotocap(1m)</A></STRONG> <STRONG><A HREF="infotocap.1m.html">infotocap(1m)</A></STRONG>
+<STRONG><A HREF="infotocap.1m.html">infotocap(1m)</A></STRONG> <STRONG><A HREF="infotocap.1m.html">infotocap(1m)</A></STRONG>
-</PRE>
-<H2>NAME</H2><PRE>
- <STRONG>infotocap</STRONG> - convert a <EM>terminfo</EM> description into a <EM>termcap</EM>
- description
+</PRE><H2><a name="h2-NAME">NAME</a></H2><PRE>
+ <STRONG>infotocap</STRONG> - convert a <EM>terminfo</EM> description into a <EM>termcap</EM> description
-</PRE>
-<H2>SYNOPSIS</H2><PRE>
- <STRONG>infotocap</STRONG> [<STRONG>-v</STRONG><EM>n</EM> <EM>width</EM>] [<STRONG>-V</STRONG>] [<STRONG>-1</STRONG>] [<STRONG>-w</STRONG> <EM>width</EM>] <EM>file</EM> . . .
+</PRE><H2><a name="h2-SYNOPSIS">SYNOPSIS</a></H2><PRE>
+ <STRONG>infotocap</STRONG> [<STRONG>-v</STRONG><EM>n</EM> <EM>width</EM>] [<STRONG>-V</STRONG>] [<STRONG>-1</STRONG>] [<STRONG>-w</STRONG> <EM>width</EM>] <EM>file</EM> ...
-</PRE>
-<H2>DESCRIPTION</H2><PRE>
- <STRONG>infotocap</STRONG> looks in each given text <EM>file</EM> for <STRONG>terminfo</STRONG>
- descriptions. For each terminfo description found, an
- equivalent <STRONG>termcap</STRONG> description is written to standard out-
- put. Terminfo <STRONG>use</STRONG> capabilities are translated directly to
- termcap <STRONG>tc</STRONG> capabilities.
+</PRE><H2><a name="h2-DESCRIPTION">DESCRIPTION</a></H2><PRE>
+ <STRONG>infotocap</STRONG> looks in each given text <EM>file</EM> for <STRONG>terminfo</STRONG> descriptions. For
+ each terminfo description found, an equivalent <STRONG>termcap</STRONG> description is
+ written to standard output. Terminfo <STRONG>use</STRONG> capabilities are translated
+ directly to termcap <STRONG>tc</STRONG> capabilities.
- <STRONG>-v</STRONG> print out tracing information on standard error as
- the program runs.
+ <STRONG>-v</STRONG> print out tracing information on standard error as the program
+ runs.
- <STRONG>-V</STRONG> print out the version of the program in use on stan-
- dard error and exit.
+ <STRONG>-V</STRONG> print out the version of the program in use on standard error and
+ exit.
- <STRONG>-1</STRONG> cause the fields to print out one to a line. Other-
- wise, the fields will be printed several to a line to
- a maximum width of 60 characters.
+ <STRONG>-1</STRONG> cause the fields to print out one to a line. Otherwise, the
+ fields will be printed several to a line to a maximum width of 60
+ characters.
<STRONG>-w</STRONG> change the output to <EM>width</EM> characters.
-</PRE>
-<H2>FILES</H2><PRE>
- /usr/share/terminfo Compiled terminal description data-
- base.
+</PRE><H2><a name="h2-FILES">FILES</a></H2><PRE>
+ /usr/share/terminfo Compiled terminal description database.
-</PRE>
-<H2>NOTES</H2><PRE>
- This utility is actually a link to <EM>tic</EM>, running in <EM>-C</EM>
- mode. You can use other <EM>tic</EM> options such as <STRONG>-f</STRONG> and <STRONG>-x</STRONG>.
+</PRE><H2><a name="h2-NOTES">NOTES</a></H2><PRE>
+ This utility is actually a link to <STRONG>tic</STRONG>, running in <EM>-C</EM> mode. You can
+ use other <STRONG>tic</STRONG> options such as <STRONG>-f</STRONG> and <STRONG>-x</STRONG>.
-</PRE>
-<H2>SEE ALSO</H2><PRE>
+</PRE><H2><a name="h2-PORTABILITY">PORTABILITY</a></H2><PRE>
+ None of X/Open Curses, Issue 7 (2009), SVr4 or NetBSD document this
+ application.
+
+
+</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="tic.1m.html">tic(1m)</A></STRONG>, <STRONG><A HREF="infocmp.1m.html">infocmp(1m)</A></STRONG>, <STRONG><A HREF="terminfo.5.html">terminfo(5)</A></STRONG>
- This describes <STRONG>ncurses</STRONG> version 5.9 (patch 20131221).
+ This describes <STRONG>ncurses</STRONG> version 6.1 (patch 20200118).
-</PRE>
-<H2>AUTHOR</H2><PRE>
+</PRE><H2><a name="h2-AUTHOR">AUTHOR</a></H2><PRE>
Eric S. Raymond &lt;esr@snark.thyrsus.com&gt; and
Thomas E. Dickey &lt;dickey@invisible-island.net&gt;
- <STRONG><A HREF="infotocap.1m.html">infotocap(1m)</A></STRONG>
+ <STRONG><A HREF="infotocap.1m.html">infotocap(1m)</A></STRONG>
</PRE>
-<HR>
-<ADDRESS>
-Man(1) output converted with
-<a href="http://www.oac.uci.edu/indiv/ehood/man2html.html">man2html</a>
-</ADDRESS>
+<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>
+<li><a href="#h2-FILES">FILES</a></li>
+<li><a href="#h2-NOTES">NOTES</a></li>
+<li><a href="#h2-PORTABILITY">PORTABILITY</a></li>
+<li><a href="#h2-SEE-ALSO">SEE ALSO</a></li>
+<li><a href="#h2-AUTHOR">AUTHOR</a></li>
+</ul>
+</div>
</BODY>
</HTML>
diff --git a/doc/html/man/key_defined.3x.html b/doc/html/man/key_defined.3x.html
index e726ece694f3..7de895abe73c 100644
--- a/doc/html/man/key_defined.3x.html
+++ b/doc/html/man/key_defined.3x.html
@@ -1,7 +1,6 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN">
<!--
****************************************************************************
- * Copyright (c) 2003-2006,2010 Free Software Foundation, Inc. *
+ * Copyright (c) 2003-2010,2018 Free Software Foundation, Inc. *
* *
* Permission is hereby granted, free of charge, to any person obtaining a *
* copy of this software and associated documentation files (the *
@@ -28,76 +27,73 @@
* authorization. *
****************************************************************************
* Author: Thomas E. Dickey 2003
- * @Id: key_defined.3x,v 1.6 2010/12/04 18:40:45 tom Exp @
+ * @Id: key_defined.3x,v 1.8 2018/07/28 22:08:59 tom Exp @
-->
+<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN">
<HTML>
<HEAD>
+<meta http-equiv="Content-Type" content="text/html; charset=us-ascii">
+<meta name="generator" content="Manpage converted by man2html - see https://invisible-island.net/scripts/readme.html#others_scripts">
<TITLE>key_defined 3x</TITLE>
-<link rev=made href="mailto:bug-ncurses@gnu.org">
+<link rel="author" href="mailto:bug-ncurses@gnu.org">
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
</HEAD>
<BODY>
-<H1>key_defined 3x</H1>
-<HR>
+<H1 class="no-header">key_defined 3x</H1>
<PRE>
-<!-- Manpage converted by man2html 3.0.1 -->
-<STRONG><A HREF="key_defined.3x.html">key_defined(3x)</A></STRONG> <STRONG><A HREF="key_defined.3x.html">key_defined(3x)</A></STRONG>
+<STRONG><A HREF="key_defined.3x.html">key_defined(3x)</A></STRONG> <STRONG><A HREF="key_defined.3x.html">key_defined(3x)</A></STRONG>
-</PRE>
-<H2>NAME</H2><PRE>
+</PRE><H2><a name="h2-NAME">NAME</a></H2><PRE>
<STRONG>key_defined</STRONG> - check if a keycode is defined
-</PRE>
-<H2>SYNOPSIS</H2><PRE>
+</PRE><H2><a name="h2-SYNOPSIS">SYNOPSIS</a></H2><PRE>
<STRONG>#include</STRONG> <STRONG>&lt;curses.h&gt;</STRONG>
<STRONG>int</STRONG> <STRONG>key_defined(const</STRONG> <STRONG>char</STRONG> <STRONG>*definition);</STRONG>
-</PRE>
-<H2>DESCRIPTION</H2><PRE>
- This is an extension to the curses library. It permits an
- application to determine if a string is currently bound to
- any keycode.
+</PRE><H2><a name="h2-DESCRIPTION">DESCRIPTION</a></H2><PRE>
+ This is an extension to the curses library. It permits an application
+ to determine if a string is currently bound to any keycode.
-</PRE>
-<H2>RETURN VALUE</H2><PRE>
- If the string is bound to a keycode, its value (greater
- than zero) is returned. If no keycode is bound, zero is
- returned. If the string conflicts with longer strings
- which are bound to keys, -1 is returned.
+</PRE><H2><a name="h2-RETURN-VALUE">RETURN VALUE</a></H2><PRE>
+ If the string is bound to a keycode, its value (greater than zero) is
+ returned. If no keycode is bound, zero is returned. If the string
+ conflicts with longer strings which are bound to keys, -1 is returned.
-</PRE>
-<H2>PORTABILITY</H2><PRE>
- These routines are specific to ncurses. They were not
- supported on Version 7, BSD or System V implementations.
- It is recommended that any code depending on them be con-
- ditioned using NCURSES_VERSION.
+</PRE><H2><a name="h2-PORTABILITY">PORTABILITY</a></H2><PRE>
+ These routines are specific to ncurses. 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.
-</PRE>
-<H2>SEE ALSO</H2><PRE>
+</PRE><H2><a name="h2-SEE-ALSO">SEE ALSO</a></H2><PRE>
<STRONG><A HREF="define_key.3x.html">define_key(3x)</A></STRONG>.
-</PRE>
-<H2>AUTHOR</H2><PRE>
+</PRE><H2><a name="h2-AUTHOR">AUTHOR</a></H2><PRE>
Thomas Dickey.
- <STRONG><A HREF="key_defined.3x.html">key_defined(3x)</A></STRONG>
+ <STRONG><A HREF="key_defined.3x.html">key_defined(3x)</A></STRONG>
</PRE>
-<HR>
-<ADDRESS>
-Man(1) output converted with
-<a href="http://www.oac.uci.edu/indiv/ehood/man2html.html">man2html</a>
-</ADDRESS>
+<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>
+<li><a href="#h2-RETURN-VALUE">RETURN VALUE</a></li>
+<li><a href="#h2-PORTABILITY">PORTABILITY</a></li>
+<li><a href="#h2-SEE-ALSO">SEE ALSO</a></li>
+<li><a href="#h2-AUTHOR">AUTHOR</a></li>
+</ul>
+</div>
</BODY>
</HTML>
diff --git a/doc/html/man/keybound.3x.html b/doc/html/man/keybound.3x.html
index 8275428587c2..bebbadd4405e 100644
--- a/doc/html/man/keybound.3x.html
+++ b/doc/html/man/keybound.3x.html
@@ -1,7 +1,6 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN">
<!--
****************************************************************************
- * Copyright (c) 1999-2008,2010 Free Software Foundation, Inc. *
+ * Copyright (c) 1999-2010,2018 Free Software Foundation, Inc. *
* *
* Permission is hereby granted, free of charge, to any person obtaining a *
* copy of this software and associated documentation files (the *
@@ -28,78 +27,76 @@
* authorization. *
****************************************************************************
* Author: Thomas E. Dickey 1999
- * @Id: keybound.3x,v 1.8 2010/12/04 18:49:20 tom Exp @
+ * @Id: keybound.3x,v 1.9 2018/07/28 21:34:06 tom Exp @
-->
+<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN">
<HTML>
<HEAD>
+<meta http-equiv="Content-Type" content="text/html; charset=us-ascii">
+<meta name="generator" content="Manpage converted by man2html - see https://invisible-island.net/scripts/readme.html#others_scripts">
<TITLE>keybound 3x</TITLE>
-<link rev=made href="mailto:bug-ncurses@gnu.org">
+<link rel="author" href="mailto:bug-ncurses@gnu.org">
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
</HEAD>
<BODY>
-<H1>keybound 3x</H1>
-<HR>
+<H1 class="no-header">keybound 3x</H1>
<PRE>
-<!-- Manpage converted by man2html 3.0.1 -->
-<STRONG><A HREF="keybound.3x.html">keybound(3x)</A></STRONG> <STRONG><A HREF="keybound.3x.html">keybound(3x)</A></STRONG>
+<STRONG><A HREF="keybound.3x.html">keybound(3x)</A></STRONG> <STRONG><A HREF="keybound.3x.html">keybound(3x)</A></STRONG>
-</PRE>
-<H2>NAME</H2><PRE>
+</PRE><H2><a name="h2-NAME">NAME</a></H2><PRE>
<STRONG>keybound</STRONG> - return definition of keycode
-</PRE>
-<H2>SYNOPSIS</H2><PRE>
+</PRE><H2><a name="h2-SYNOPSIS">SYNOPSIS</a></H2><PRE>
<STRONG>#include</STRONG> <STRONG>&lt;curses.h&gt;</STRONG>
<STRONG>char</STRONG> <STRONG>*</STRONG> <STRONG>keybound(int</STRONG> <STRONG>keycode,</STRONG> <STRONG>int</STRONG> <STRONG>count);</STRONG>
-</PRE>
-<H2>DESCRIPTION</H2><PRE>
- This is an extension to the curses library. It permits an
- application to determine the string which is defined in
- the terminfo for specific keycodes.
+</PRE><H2><a name="h2-DESCRIPTION">DESCRIPTION</a></H2><PRE>
+ This is an extension to the curses library. It permits an application
+ to determine the string which is defined in the terminfo for specific
+ keycodes.
-</PRE>
-<H2>RETURN VALUE</H2><PRE>
- The <EM>keycode</EM> parameter must be greater than zero, else NULL
- is returned. If it does not correspond to a defined key,
- then NULL is returned. The <EM>count</EM> parameter is used to
- allow the application to iterate through multiple defini-
- tions, counting from zero. When successful, the function
- returns a string which must be freed by the caller.
+</PRE><H2><a name="h2-RETURN-VALUE">RETURN VALUE</a></H2><PRE>
+ The <EM>keycode</EM> parameter must be greater than zero, else NULL is returned.
+ If it does not correspond to a defined key, then NULL is returned. The
+ <EM>count</EM> parameter is used to allow the application to iterate through
+ multiple definitions, counting from zero. When successful, the func-
+ tion returns a string which must be freed by the caller.
-</PRE>
-<H2>PORTABILITY</H2><PRE>
- These routines are specific to ncurses. They were not
- supported on Version 7, BSD or System V implementations.
- It is recommended that any code depending on them be con-
- ditioned using NCURSES_VERSION.
+</PRE><H2><a name="h2-PORTABILITY">PORTABILITY</a></H2><PRE>
+ These routines are specific to ncurses. 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.
-</PRE>
-<H2>SEE ALSO</H2><PRE>
+</PRE><H2><a name="h2-SEE-ALSO">SEE ALSO</a></H2><PRE>
<STRONG><A HREF="define_key.3x.html">define_key(3x)</A></STRONG>, <STRONG><A HREF="keyok.3x.html">keyok(3x)</A></STRONG>.
-</PRE>
-<H2>AUTHOR</H2><PRE>
+</PRE><H2><a name="h2-AUTHOR">AUTHOR</a></H2><PRE>
Thomas Dickey.
- <STRONG><A HREF="keybound.3x.html">keybound(3x)</A></STRONG>
+ <STRONG><A HREF="keybound.3x.html">keybound(3x)</A></STRONG>
</PRE>
-<HR>
-<ADDRESS>
-Man(1) output converted with
-<a href="http://www.oac.uci.edu/indiv/ehood/man2html.html">man2html</a>
-</ADDRESS>
+<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>
+<li><a href="#h2-RETURN-VALUE">RETURN VALUE</a></li>
+<li><a href="#h2-PORTABILITY">PORTABILITY</a></li>
+<li><a href="#h2-SEE-ALSO">SEE ALSO</a></li>
+<li><a href="#h2-AUTHOR">AUTHOR</a></li>
+</ul>
+</div>
</BODY>
</HTML>
diff --git a/doc/html/man/keyok.3x.html b/doc/html/man/keyok.3x.html
index ce866d4c4d39..afa6514f3289 100644
--- a/doc/html/man/keyok.3x.html
+++ b/doc/html/man/keyok.3x.html
@@ -1,7 +1,6 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN">
<!--
****************************************************************************
- * Copyright (c) 1998-2006,2010 Free Software Foundation, Inc. *
+ * Copyright (c) 1998-2017,2018 Free Software Foundation, Inc. *
* *
* Permission is hereby granted, free of charge, to any person obtaining a *
* copy of this software and associated documentation files (the *
@@ -28,78 +27,75 @@
* authorization. *
****************************************************************************
* Author: Thomas E. Dickey 1997
- * @Id: keyok.3x,v 1.11 2010/12/04 18:40:45 tom Exp @
+ * @Id: keyok.3x,v 1.13 2018/07/28 21:34: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>keyok 3x</TITLE>
-<link rev=made href="mailto:bug-ncurses@gnu.org">
+<link rel="author" href="mailto:bug-ncurses@gnu.org">
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
</HEAD>
<BODY>
-<H1>keyok 3x</H1>
-<HR>
+<H1 class="no-header">keyok 3x</H1>
<PRE>
-<!-- Manpage converted by man2html 3.0.1 -->
-<STRONG><A HREF="keyok.3x.html">keyok(3x)</A></STRONG> <STRONG><A HREF="keyok.3x.html">keyok(3x)</A></STRONG>
+<STRONG><A HREF="keyok.3x.html">keyok(3x)</A></STRONG> <STRONG><A HREF="keyok.3x.html">keyok(3x)</A></STRONG>
-</PRE>
-<H2>NAME</H2><PRE>
+</PRE><H2><a name="h2-NAME">NAME</a></H2><PRE>
<STRONG>keyok</STRONG> - enable or disable a keycode
-</PRE>
-<H2>SYNOPSIS</H2><PRE>
+</PRE><H2><a name="h2-SYNOPSIS">SYNOPSIS</a></H2><PRE>
<STRONG>#include</STRONG> <STRONG>&lt;curses.h&gt;</STRONG>
<STRONG>int</STRONG> <STRONG>keyok(int</STRONG> <STRONG>keycode,</STRONG> <STRONG>bool</STRONG> <STRONG>enable);</STRONG>
-</PRE>
-<H2>DESCRIPTION</H2><PRE>
- This is an extension to the curses library. It permits an
- application to disable specific keycodes, rather than use
- the <EM>keypad</EM> function to disable all keycodes. Keys that
- have been disabled can be re-enabled.
+</PRE><H2><a name="h2-DESCRIPTION">DESCRIPTION</a></H2><PRE>
+ This is an extension to the curses library. It permits an application
+ to disable specific keycodes, rather than use the <EM>keypad</EM> function to
+ disable all keycodes. Keys that have been disabled can be re-enabled.
-</PRE>
-<H2>RETURN VALUE</H2><PRE>
- The keycode must be greater than zero, else ERR is
- returned. If it does not correspond to a defined key,
- then ERR is returned. If the <EM>enable</EM> parameter is true,
- then the key must have been disabled, and vice versa.
- Otherwise, the function returns OK.
+</PRE><H2><a name="h2-RETURN-VALUE">RETURN VALUE</a></H2><PRE>
+ The keycode must be greater than zero, else <STRONG>ERR</STRONG> is returned. If it
+ does not correspond to a defined key, then <STRONG>ERR</STRONG> is returned. If the
+ <EM>enable</EM> parameter is true, then the key must have been disabled, and
+ vice versa. Otherwise, the function returns <STRONG>OK</STRONG>.
-</PRE>
-<H2>PORTABILITY</H2><PRE>
- These routines are specific to ncurses. They were not
- supported on Version 7, BSD or System V implementations.
- It is recommended that any code depending on them be con-
- ditioned using NCURSES_VERSION.
+</PRE><H2><a name="h2-PORTABILITY">PORTABILITY</a></H2><PRE>
+ These routines are specific to ncurses. 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.
-</PRE>
-<H2>SEE ALSO</H2><PRE>
+</PRE><H2><a name="h2-SEE-ALSO">SEE ALSO</a></H2><PRE>
<STRONG><A HREF="define_key.3x.html">define_key(3x)</A></STRONG>.
-</PRE>
-<H2>AUTHOR</H2><PRE>
+</PRE><H2><a name="h2-AUTHOR">AUTHOR</a></H2><PRE>
Thomas Dickey.
- <STRONG><A HREF="keyok.3x.html">keyok(3x)</A></STRONG>
+ <STRONG><A HREF="keyok.3x.html">keyok(3x)</A></STRONG>
</PRE>
-<HR>
-<ADDRESS>
-Man(1) output converted with
-<a href="http://www.oac.uci.edu/indiv/ehood/man2html.html">man2html</a>
-</ADDRESS>
+<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>
+<li><a href="#h2-RETURN-VALUE">RETURN VALUE</a></li>
+<li><a href="#h2-PORTABILITY">PORTABILITY</a></li>
+<li><a href="#h2-SEE-ALSO">SEE ALSO</a></li>
+<li><a href="#h2-AUTHOR">AUTHOR</a></li>
+</ul>
+</div>
</BODY>
</HTML>
diff --git a/doc/html/man/legacy_coding.3x.html b/doc/html/man/legacy_coding.3x.html
index 22cb734636d2..bf64f79526c3 100644
--- a/doc/html/man/legacy_coding.3x.html
+++ b/doc/html/man/legacy_coding.3x.html
@@ -1,7 +1,6 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN">
<!--
****************************************************************************
- * Copyright (c) 2005-2006,2010 Free Software Foundation, Inc. *
+ * Copyright (c) 2005-2016,2017 Free Software Foundation, Inc. *
* *
* Permission is hereby granted, free of charge, to any person obtaining a *
* copy of this software and associated documentation files (the *
@@ -28,91 +27,88 @@
* authorization. *
****************************************************************************
* Author: Thomas E. Dickey
- * @Id: legacy_coding.3x,v 1.4 2010/12/04 18:49:20 tom Exp @
+ * @Id: legacy_coding.3x,v 1.6 2017/03/15 08:14: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>legacy_coding 3x</TITLE>
-<link rev=made href="mailto:bug-ncurses@gnu.org">
+<link rel="author" href="mailto:bug-ncurses@gnu.org">
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
</HEAD>
<BODY>
-<H1>legacy_coding 3x</H1>
-<HR>
+<H1 class="no-header">legacy_coding 3x</H1>
<PRE>
-<!-- Manpage converted by man2html 3.0.1 -->
-<STRONG><A HREF="legacy_coding.3x.html">legacy_coding(3x)</A></STRONG> <STRONG><A HREF="legacy_coding.3x.html">legacy_coding(3x)</A></STRONG>
+<STRONG><A HREF="legacy_coding.3x.html">legacy_coding(3x)</A></STRONG> <STRONG><A HREF="legacy_coding.3x.html">legacy_coding(3x)</A></STRONG>
-</PRE>
-<H2>NAME</H2><PRE>
- <STRONG>use_legacy_coding</STRONG> - use terminal's default colors
+</PRE><H2><a name="h2-NAME">NAME</a></H2><PRE>
+ <STRONG>use_legacy_coding</STRONG> - override locale-encoding checks
-</PRE>
-<H2>SYNOPSIS</H2><PRE>
+</PRE><H2><a name="h2-SYNOPSIS">SYNOPSIS</a></H2><PRE>
<STRONG>#include</STRONG> <STRONG>&lt;curses.h&gt;</STRONG>
<STRONG>int</STRONG> <STRONG>use_legacy_coding(int</STRONG> <STRONG>level);</STRONG>
-</PRE>
-<H2>DESCRIPTION</H2><PRE>
- The <EM>use</EM><STRONG>_</STRONG><EM>legacy</EM><STRONG>_</STRONG><EM>coding()</EM> function is an extension to the
- curses library. It allows the caller to change the result
- of <STRONG>unctrl</STRONG>, and suppress related checks within the library
- that would normally cause nonprinting characters to be
- rendered in visible form. This affects only 8-bit charac-
- ters.
+</PRE><H2><a name="h2-DESCRIPTION">DESCRIPTION</a></H2><PRE>
+ The <STRONG>use_legacy_coding</STRONG> function is an extension to the curses library.
+ It allows the caller to change the result of <STRONG>unctrl</STRONG>, and suppress
+ related checks within the library that would normally cause nonprinting
+ characters to be rendered in visible form. This affects only 8-bit
+ characters.
The <EM>level</EM> parameter controls the result:
- 0 the library functions normally, rendering non-
- printing characters as described in <STRONG>unctrl</STRONG>.
+ 0 the library functions normally, rendering nonprinting char-
+ acters as described in <STRONG>unctrl</STRONG>.
- 1 the library ignores <STRONG>isprintf</STRONG> for codes in the
- range 160-255.
+ 1 the library ignores <STRONG>isprintf</STRONG> for codes in the range
+ 160-255.
- 2 the library ignores <STRONG>isprintf</STRONG> for codes in the
- range 128-255. It also modifies the output of
- <STRONG>unctrl</STRONG>, showing codes in the range 128-159 as
- is.
+ 2 the library ignores <STRONG>isprintf</STRONG> for codes in the range
+ 128-255. It also modifies the output of <STRONG>unctrl</STRONG>, showing
+ codes in the range 128-159 as is.
-</PRE>
-<H2>RETURN VALUE</H2><PRE>
- If the screen has not been initialized, or the <EM>level</EM>
- parameter is out of range, the function returns <STRONG>ERR</STRONG>. Oth-
- erwise, it returns the previous level: <STRONG>0</STRONG>, <STRONG>1</STRONG> or <STRONG>2</STRONG>.
+</PRE><H2><a name="h2-RETURN-VALUE">RETURN VALUE</a></H2><PRE>
+ If the screen has not been initialized, or the <EM>level</EM> parameter is out
+ of range, the function returns <STRONG>ERR</STRONG>. Otherwise, it returns the previous
+ level: <STRONG>0</STRONG>, <STRONG>1</STRONG> or <STRONG>2</STRONG>.
-</PRE>
-<H2>PORTABILITY</H2><PRE>
- This routine is specific to ncurses. It was not supported
- on Version 7, BSD or System V implementations. It is rec-
- ommended that any code depending on ncurses extensions be
- conditioned using NCURSES_VERSION.
+</PRE><H2><a name="h2-PORTABILITY">PORTABILITY</a></H2><PRE>
+ This routine is specific to ncurses. It was not supported on Version
+ 7, BSD or System V implementations. It is recommended that any code
+ depending on ncurses extensions be conditioned using NCURSES_VERSION.
-</PRE>
-<H2>SEE ALSO</H2><PRE>
+</PRE><H2><a name="h2-SEE-ALSO">SEE ALSO</a></H2><PRE>
<STRONG>unctrl</STRONG>.
-</PRE>
-<H2>AUTHOR</H2><PRE>
+</PRE><H2><a name="h2-AUTHOR">AUTHOR</a></H2><PRE>
Thomas Dickey (to support lynx's font-switching feature).
- <STRONG><A HREF="legacy_coding.3x.html">legacy_coding(3x)</A></STRONG>
+ <STRONG><A HREF="legacy_coding.3x.html">legacy_coding(3x)</A></STRONG>
</PRE>
-<HR>
-<ADDRESS>
-Man(1) output converted with
-<a href="http://www.oac.uci.edu/indiv/ehood/man2html.html">man2html</a>
-</ADDRESS>
+<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>
+<li><a href="#h2-RETURN-VALUE">RETURN VALUE</a></li>
+<li><a href="#h2-PORTABILITY">PORTABILITY</a></li>
+<li><a href="#h2-SEE-ALSO">SEE ALSO</a></li>
+<li><a href="#h2-AUTHOR">AUTHOR</a></li>
+</ul>
+</div>
</BODY>
</HTML>
diff --git a/doc/html/man/menu.3x.html b/doc/html/man/menu.3x.html
index c974468d9a4c..7770423bfd0d 100644
--- a/doc/html/man/menu.3x.html
+++ b/doc/html/man/menu.3x.html
@@ -1,8 +1,7 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN">
<!--
* t
****************************************************************************
- * Copyright (c) 1998-2006,2010 Free Software Foundation, Inc. *
+ * Copyright (c) 1998-2018,2019 Free Software Foundation, Inc. *
* *
* Permission is hereby granted, free of charge, to any person obtaining a *
* copy of this software and associated documentation files (the *
@@ -28,59 +27,56 @@
* sale, use or other dealings in this Software without prior written *
* authorization. *
****************************************************************************
- * @Id: menu.3x,v 1.21 2010/12/04 18:40:45 tom Exp @
+ * @Id: menu.3x,v 1.26 2019/01/20 20:32:23 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</TITLE>
-<link rev=made href="mailto:bug-ncurses@gnu.org">
+<link rel="author" href="mailto:bug-ncurses@gnu.org">
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
</HEAD>
<BODY>
-<H1>menu 3x</H1>
-<HR>
+<H1 class="no-header">menu 3x</H1>
<PRE>
-<!-- Manpage converted by man2html 3.0.1 -->
-<STRONG><A HREF="menu.3x.html">menu(3x)</A></STRONG> <STRONG><A HREF="menu.3x.html">menu(3x)</A></STRONG>
+<STRONG><A HREF="menu.3x.html">menu(3x)</A></STRONG> <STRONG><A HREF="menu.3x.html">menu(3x)</A></STRONG>
-</PRE>
-<H2>NAME</H2><PRE>
+</PRE><H2><a name="h2-NAME">NAME</a></H2><PRE>
<STRONG>menu</STRONG> - curses extension for programming menus
-</PRE>
-<H2>SYNOPSIS</H2><PRE>
+</PRE><H2><a name="h2-SYNOPSIS">SYNOPSIS</a></H2><PRE>
<STRONG>#include</STRONG> <STRONG>&lt;menu.h&gt;</STRONG>
-</PRE>
-<H2>DESCRIPTION</H2><PRE>
- The <STRONG>menu</STRONG> library provides terminal-independent facilities
- for composing menu systems on character-cell terminals.
- The library includes: item routines, which create and mod-
- ify menu items; and menu routines, which group items into
- menus, display menus on the screen, and handle interaction
- with the user.
-
- The <STRONG>menu</STRONG> library uses the <STRONG>curses</STRONG> libraries, and a curses
- initialization routine such as <STRONG>initscr</STRONG> must be called
- before using any of these functions. To use the <STRONG>menu</STRONG>
- library, link with the options <STRONG>-lmenu</STRONG> <STRONG>-lcurses</STRONG>.
-
- <STRONG>Current</STRONG> <STRONG>Default</STRONG> <STRONG>Values</STRONG> <STRONG>for</STRONG> <STRONG>Item</STRONG> <STRONG>Attributes</STRONG>
- The <STRONG>menu</STRONG> library maintains a default value for item
- attributes. You can get or set this default by calling
- the appropriate <STRONG>get_</STRONG> or <STRONG>set_</STRONG> routine with a <STRONG>NULL</STRONG> item
- pointer. Changing this default with a <STRONG>set_</STRONG> function
- affects future item creations, but does not change the
- rendering of items already created.
-
- <STRONG>Routine</STRONG> <STRONG>Name</STRONG> <STRONG>Index</STRONG>
- The following table lists each <STRONG>menu</STRONG> routine and the name
- of the manual page on which it is described.
+</PRE><H2><a name="h2-DESCRIPTION">DESCRIPTION</a></H2><PRE>
+ The <STRONG>menu</STRONG> library provides terminal-independent facilities for composing
+ menu systems on character-cell terminals. The library includes: item
+ routines, which create and modify menu items; and menu routines, which
+ group items into menus, display menus on the screen, and handle inter-
+ action with the user.
+
+ The <STRONG>menu</STRONG> library uses the <STRONG>curses</STRONG> libraries, and a curses initialization
+ routine such as <STRONG>initscr</STRONG> must be called before using any of these func-
+ tions. To use the <STRONG>menu</STRONG> library, link with the options <STRONG>-lmenu</STRONG> <STRONG>-lcurses</STRONG>.
+
+
+</PRE><H3><a name="h3-Current-Default-Values-for-Item-Attributes">Current Default Values for Item Attributes</a></H3><PRE>
+ The <STRONG>menu</STRONG> library maintains a default value for item attributes. You
+ can get or set this default by calling the appropriate <STRONG>get_</STRONG> or <STRONG>set_</STRONG>
+ routine with a <STRONG>NULL</STRONG> item pointer. Changing this default with a <STRONG>set_</STRONG>
+ function affects future item creations, but does not change the render-
+ ing of items already created.
+
+
+</PRE><H3><a name="h3-Routine-Name-Index">Routine Name Index</a></H3><PRE>
+ The following table lists each <STRONG>menu</STRONG> routine and the name of the manual
+ page on which it is described.
<STRONG>curses</STRONG> Routine Name Manual Page Name
--------------------------------------------
@@ -112,10 +108,10 @@
menu_opts_on <STRONG><A HREF="menu_opts.3x.html">menu_opts(3x)</A></STRONG>
menu_pad <STRONG><A HREF="menu_attributes.3x.html">menu_attributes(3x)</A></STRONG>
menu_pattern <STRONG><A HREF="menu_pattern.3x.html">menu_pattern(3x)</A></STRONG>
-
menu_request_by_name <STRONG><A HREF="menu_requestname.3x.html">menu_requestname(3x)</A></STRONG>
menu_request_name <STRONG><A HREF="menu_requestname.3x.html">menu_requestname(3x)</A></STRONG>
menu_spacing <STRONG><A HREF="menu_spacing.3x.html">menu_spacing(3x)</A></STRONG>
+
menu_sub <STRONG><A HREF="menu_win.3x.html">menu_win(3x)</A></STRONG>
menu_term <STRONG><A HREF="menu_hook.3x.html">menu_hook(3x)</A></STRONG>
menu_userptr <STRONG><A HREF="menu_userptr.3x.html">menu_userptr(3x)</A></STRONG>
@@ -151,21 +147,17 @@
unpost_menu <STRONG><A HREF="menu_post.3x.html">menu_post(3x)</A></STRONG>
-</PRE>
-<H2>RETURN VALUE</H2><PRE>
- Routines that return pointers return <STRONG>NULL</STRONG> on error. Rou-
- tines that return an integer return one of the following
- error codes:
+</PRE><H2><a name="h2-RETURN-VALUE">RETURN VALUE</a></H2><PRE>
+ Routines that return pointers return <STRONG>NULL</STRONG> on error. Routines that
+ return an integer return one of the following error codes:
<STRONG>E_OK</STRONG> The routine succeeded.
<STRONG>E_BAD_ARGUMENT</STRONG>
- Routine detected an incorrect or out-of-range argu-
- ment.
+ Routine detected an incorrect or out-of-range argument.
<STRONG>E_BAD_STATE</STRONG>
- Routine was called from an initialization or termina-
- tion function.
+ Routine was called from an initialization or termination function.
<STRONG>E_NO_MATCH</STRONG>
Character failed to match.
@@ -189,53 +181,68 @@
The menu driver could not process the request.
<STRONG>E_SYSTEM_ERROR</STRONG>
- System error occurred (see <STRONG>errno</STRONG>).
+ System error occurred (see <STRONG>errno(3)</STRONG>).
<STRONG>E_UNKNOWN_COMMAND</STRONG>
The menu driver code saw an unknown request code.
-</PRE>
-<H2>SEE ALSO</H2><PRE>
- <STRONG><A HREF="ncurses.3x.html">curses(3x)</A></STRONG> and related pages whose names begin "menu_" for
- detailed descriptions of the entry points.
+</PRE><H2><a name="h2-NOTES">NOTES</a></H2><PRE>
+ The header file <STRONG>&lt;menu.h&gt;</STRONG> automatically includes the header files
+ <STRONG>&lt;curses.h&gt;</STRONG> and <STRONG>&lt;eti.h&gt;</STRONG>.
+ In your library list, libmenu.a should be before libncurses.a; that is,
+ you should say "-lmenu -lncurses", not the other way around (which
+ would give a link-error when using static libraries).
-</PRE>
-<H2>NOTES</H2><PRE>
- The header file <STRONG>&lt;menu.h&gt;</STRONG> automatically includes the header
- files <STRONG>&lt;curses.h&gt;</STRONG> and <STRONG>&lt;eti.h&gt;</STRONG>.
- In your library list, libmenu.a should be before libn-
- curses.a; that is, you want to say `-lmenu -lncurses', not
- the other way around (which would usually give a link-
- error).
+</PRE><H2><a name="h2-PORTABILITY">PORTABILITY</a></H2><PRE>
+ These routines emulate the System V menu library. They were not sup-
+ ported on Version 7 or BSD versions.
+ The menu facility was documented in SVr4.2 in <EM>Character</EM> <EM>User</EM> <EM>Interface</EM>
+ <EM>Programming</EM> <EM>(UNIX</EM> <EM>SVR4.2)</EM>.
-</PRE>
-<H2>PORTABILITY</H2><PRE>
- These routines emulate the System V menu library. They
- were not supported on Version 7 or BSD versions.
+ It is not part of X/Open Curses.
+ Aside from ncurses, there are few implementations:
-</PRE>
-<H2>AUTHORS</H2><PRE>
- Juergen Pfeifer. Manual pages and adaptation for ncurses
- by Eric S. Raymond.
+ <STRONG>o</STRONG> systems based on SVr4 source code, e.g., Solaris.
+ <STRONG>o</STRONG> NetBSD curses.
-</PRE>
-<H2>SEE ALSO</H2><PRE>
- This describes <STRONG>ncurses</STRONG> version 5.9 (patch 20131221).
+
+</PRE><H2><a name="h2-AUTHORS">AUTHORS</a></H2><PRE>
+ Juergen Pfeifer. Manual pages and adaptation for ncurses by Eric S.
+ Raymond.
+
+
+</PRE><H2><a name="h2-SEE-ALSO">SEE ALSO</a></H2><PRE>
+ <STRONG><A HREF="ncurses.3x.html">curses(3x)</A></STRONG> and related pages whose names begin "menu_" for detailed
+ descriptions of the entry points.
+
+ This describes <STRONG>ncurses</STRONG> version 6.1 (patch 20200118).
- <STRONG><A HREF="menu.3x.html">menu(3x)</A></STRONG>
+ <STRONG><A HREF="menu.3x.html">menu(3x)</A></STRONG>
</PRE>
-<HR>
-<ADDRESS>
-Man(1) output converted with
-<a href="http://www.oac.uci.edu/indiv/ehood/man2html.html">man2html</a>
-</ADDRESS>
+<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>
+<ul>
+<li><a href="#h3-Current-Default-Values-for-Item-Attributes">Current Default Values for Item Attributes</a></li>
+<li><a href="#h3-Routine-Name-Index">Routine Name Index</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-PORTABILITY">PORTABILITY</a></li>
+<li><a href="#h2-AUTHORS">AUTHORS</a></li>
+<li><a href="#h2-SEE-ALSO">SEE ALSO</a></li>
+</ul>
+</div>
</BODY>
</HTML>
diff --git a/doc/html/man/menu_attributes.3x.html b/doc/html/man/menu_attributes.3x.html
index f73757f00b72..b1efafb2f65b 100644
--- a/doc/html/man/menu_attributes.3x.html
+++ b/doc/html/man/menu_attributes.3x.html
@@ -1,8 +1,7 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN">
<!--
* t
****************************************************************************
- * Copyright (c) 1998-2008,2010 Free Software Foundation, Inc. *
+ * Copyright (c) 1998-2018,2019 Free Software Foundation, Inc. *
* *
* Permission is hereby granted, free of charge, to any person obtaining a *
* copy of this software and associated documentation files (the *
@@ -28,31 +27,32 @@
* sale, use or other dealings in this Software without prior written *
* authorization. *
****************************************************************************
- * @Id: menu_attributes.3x,v 1.12 2010/12/04 18:40:45 tom Exp @
+ * @Id: menu_attributes.3x,v 1.16 2019/11/30 21:02: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>menu_attributes 3x</TITLE>
-<link rev=made href="mailto:bug-ncurses@gnu.org">
+<link rel="author" href="mailto:bug-ncurses@gnu.org">
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
</HEAD>
<BODY>
-<H1>menu_attributes 3x</H1>
-<HR>
+<H1 class="no-header">menu_attributes 3x</H1>
<PRE>
-<!-- Manpage converted by man2html 3.0.1 -->
-<STRONG><A HREF="menu_attributes.3x.html">menu_attributes(3x)</A></STRONG> <STRONG><A HREF="menu_attributes.3x.html">menu_attributes(3x)</A></STRONG>
+<STRONG><A HREF="menu_attributes.3x.html">menu_attributes(3x)</A></STRONG> <STRONG><A HREF="menu_attributes.3x.html">menu_attributes(3x)</A></STRONG>
-</PRE>
-<H2>NAME</H2><PRE>
- <STRONG>menu_attributes</STRONG> - color and attribute control for menus
+</PRE><H2><a name="h2-NAME">NAME</a></H2><PRE>
+ <STRONG>menu_back</STRONG>, <STRONG>menu_fore</STRONG>, <STRONG>menu_grey</STRONG>, <STRONG>menu_pad</STRONG>, <STRONG>set_menu_back</STRONG>,
+ <STRONG>set_menu_fore</STRONG>, <STRONG>set_menu_grey</STRONG>, <STRONG>set_menu_pad</STRONG> - color and attribute con-
+ trol for menus
-</PRE>
-<H2>SYNOPSIS</H2><PRE>
+</PRE><H2><a name="h2-SYNOPSIS">SYNOPSIS</a></H2><PRE>
<STRONG>#include</STRONG> <STRONG>&lt;menu.h&gt;</STRONG>
int set_menu_fore(MENU *menu, chtype attr);
chtype menu_fore(const MENU *menu);
@@ -64,76 +64,72 @@
int menu_pad(const MENU *menu);
-</PRE>
-<H2>DESCRIPTION</H2><PRE>
- The function <STRONG>set_menu_fore</STRONG> sets the foreground attribute
- of <EM>menu</EM>. This is the highlight used for selected menu
- items. <STRONG>menu_fore</STRONG> returns the foreground attribute. The
- default is <STRONG>A_REVERSE</STRONG>.
-
- The function <STRONG>set_menu_back</STRONG> sets the background attribute
- of <EM>menu</EM>. This is the highlight used for selectable (but
- not currently selected) menu items. The function
- <STRONG>menu_back</STRONG> returns the background attribute. The default
- is <STRONG>A_NORMAL</STRONG>.
-
- The function <STRONG>set_menu_grey</STRONG> sets the grey attribute of
- <EM>menu</EM>. This is the highlight used for un-selectable menu
- items in menus that permit more than one selection. The
- function <STRONG>menu_grey</STRONG> returns the grey attribute. The
- default is <STRONG>A_UNDERLINE</STRONG>.
-
- The function <STRONG>set_menu_pad</STRONG> sets the character used to fill
- the space between the name and description parts of a menu
- item. <STRONG>menu_pad</STRONG> returns the given menu's pad character.
- The default is a blank.
+</PRE><H2><a name="h2-DESCRIPTION">DESCRIPTION</a></H2><PRE>
+ The function <STRONG>set_menu_fore</STRONG> sets the foreground attribute of <EM>menu</EM>. This
+ is the highlight used for selected menu items. <STRONG>menu_fore</STRONG> returns the
+ foreground attribute. The default is <STRONG>A_REVERSE</STRONG>.
+ The function <STRONG>set_menu_back</STRONG> sets the background attribute of <EM>menu</EM>. This
+ is the highlight used for selectable (but not currently selected) menu
+ items. The function <STRONG>menu_back</STRONG> returns the background attribute. The
+ default is <STRONG>A_NORMAL</STRONG>.
-</PRE>
-<H2>RETURN VALUE</H2><PRE>
+ The function <STRONG>set_menu_grey</STRONG> sets the grey attribute of <EM>menu</EM>. This is the
+ highlight used for un-selectable menu items in menus that permit more
+ than one selection. The function <STRONG>menu_grey</STRONG> returns the grey attribute.
+ The default is <STRONG>A_UNDERLINE</STRONG>.
+
+ The function <STRONG>set_menu_pad</STRONG> sets the character used to fill the space
+ between the name and description parts of a menu item. <STRONG>menu_pad</STRONG>
+ returns the given menu's pad character. The default is a blank.
+
+
+</PRE><H2><a name="h2-RETURN-VALUE">RETURN VALUE</a></H2><PRE>
These routines return one of the following:
<STRONG>E_OK</STRONG> The routine succeeded.
<STRONG>E_SYSTEM_ERROR</STRONG>
- System error occurred (see <STRONG>errno</STRONG>).
+ System error occurred (see <STRONG>errno(3)</STRONG>).
<STRONG>E_BAD_ARGUMENT</STRONG>
- Routine detected an incorrect or out-of-range argu-
- ment.
+ Routine detected an incorrect or out-of-range argument.
-</PRE>
-<H2>SEE ALSO</H2><PRE>
- <STRONG><A HREF="ncurses.3x.html">curses(3x)</A></STRONG> and related pages whose names begin "menu_" for
- detailed descriptions of the entry points.
+</PRE><H2><a name="h2-SEE-ALSO">SEE ALSO</a></H2><PRE>
+ <STRONG><A HREF="ncurses.3x.html">curses(3x)</A></STRONG> and related pages whose names begin "menu_" for detailed
+ descriptions of the entry points.
-</PRE>
-<H2>NOTES</H2><PRE>
- The header file <STRONG>&lt;menu.h&gt;</STRONG> automatically includes the header
- file <STRONG>&lt;curses.h&gt;</STRONG>.
+</PRE><H2><a name="h2-NOTES">NOTES</a></H2><PRE>
+ The header file <STRONG>&lt;menu.h&gt;</STRONG> automatically includes the header file
+ <STRONG>&lt;curses.h&gt;</STRONG>.
-</PRE>
-<H2>PORTABILITY</H2><PRE>
- These routines emulate the System V menu library. They
- were not supported on Version 7 or BSD versions.
+</PRE><H2><a name="h2-PORTABILITY">PORTABILITY</a></H2><PRE>
+ These routines emulate the System V menu library. They were not sup-
+ ported on Version 7 or BSD versions.
-</PRE>
-<H2>AUTHORS</H2><PRE>
- Juergen Pfeifer. Manual pages and adaptation for new
- curses by Eric S. Raymond.
+</PRE><H2><a name="h2-AUTHORS">AUTHORS</a></H2><PRE>
+ Juergen Pfeifer. Manual pages and adaptation for new curses by Eric S.
+ Raymond.
- <STRONG><A HREF="menu_attributes.3x.html">menu_attributes(3x)</A></STRONG>
+ <STRONG><A HREF="menu_attributes.3x.html">menu_attributes(3x)</A></STRONG>
</PRE>
-<HR>
-<ADDRESS>
-Man(1) output converted with
-<a href="http://www.oac.uci.edu/indiv/ehood/man2html.html">man2html</a>
-</ADDRESS>
+<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>
+<li><a href="#h2-RETURN-VALUE">RETURN VALUE</a></li>
+<li><a href="#h2-SEE-ALSO">SEE ALSO</a></li>
+<li><a href="#h2-NOTES">NOTES</a></li>
+<li><a href="#h2-PORTABILITY">PORTABILITY</a></li>
+<li><a href="#h2-AUTHORS">AUTHORS</a></li>
+</ul>
+</div>
</BODY>
</HTML>
diff --git a/doc/html/man/menu_cursor.3x.html b/doc/html/man/menu_cursor.3x.html
index 37a724eb1961..77d17a183716 100644
--- a/doc/html/man/menu_cursor.3x.html
+++ b/doc/html/man/menu_cursor.3x.html
@@ -1,8 +1,7 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN">
<!--
* t
****************************************************************************
- * Copyright (c) 1998-2006,2010 Free Software Foundation, Inc. *
+ * Copyright (c) 1998-2018,2019 Free Software Foundation, Inc. *
* *
* Permission is hereby granted, free of charge, to any person obtaining a *
* copy of this software and associated documentation files (the *
@@ -28,90 +27,89 @@
* sale, use or other dealings in this Software without prior written *
* authorization. *
****************************************************************************
- * @Id: menu_cursor.3x,v 1.8 2010/12/04 18:40:45 tom Exp @
+ * @Id: menu_cursor.3x,v 1.11 2019/01/20 20:32:23 tom Exp @
-->
+<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN">
<HTML>
<HEAD>
+<meta http-equiv="Content-Type" content="text/html; charset=us-ascii">
+<meta name="generator" content="Manpage converted by man2html - see https://invisible-island.net/scripts/readme.html#others_scripts">
<TITLE>menu_cursor 3x</TITLE>
-<link rev=made href="mailto:bug-ncurses@gnu.org">
+<link rel="author" href="mailto:bug-ncurses@gnu.org">
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
</HEAD>
<BODY>
-<H1>menu_cursor 3x</H1>
-<HR>
+<H1 class="no-header">menu_cursor 3x</H1>
<PRE>
-<!-- Manpage converted by man2html 3.0.1 -->
-<STRONG><A HREF="menu_cursor.3x.html">menu_cursor(3x)</A></STRONG> <STRONG><A HREF="menu_cursor.3x.html">menu_cursor(3x)</A></STRONG>
+<STRONG><A HREF="menu_cursor.3x.html">menu_cursor(3x)</A></STRONG> <STRONG><A HREF="menu_cursor.3x.html">menu_cursor(3x)</A></STRONG>
-</PRE>
-<H2>NAME</H2><PRE>
- <STRONG>menu_cursor</STRONG> - position a menu's cursor
+</PRE><H2><a name="h2-NAME">NAME</a></H2><PRE>
+ <STRONG>pos_menu_cursor</STRONG> - position a menu's cursor
-</PRE>
-<H2>SYNOPSIS</H2><PRE>
+</PRE><H2><a name="h2-SYNOPSIS">SYNOPSIS</a></H2><PRE>
<STRONG>#include</STRONG> <STRONG>&lt;menu.h&gt;</STRONG>
int pos_menu_cursor(const MENU *menu);
-</PRE>
-<H2>DESCRIPTION</H2><PRE>
- The function <STRONG>pos_menu_cursor</STRONG> restores the cursor to the
- current position associated with the menu's selected item.
- This is useful after <STRONG>curses</STRONG> routines have been called to
- do screen-painting in response to a menu select.
+</PRE><H2><a name="h2-DESCRIPTION">DESCRIPTION</a></H2><PRE>
+ The function <STRONG>pos_menu_cursor</STRONG> restores the cursor to the current posi-
+ tion associated with the menu's selected item. This is useful after
+ <STRONG>curses</STRONG> routines have been called to do screen-painting in response to a
+ menu select.
-</PRE>
-<H2>RETURN VALUE</H2><PRE>
+</PRE><H2><a name="h2-RETURN-VALUE">RETURN VALUE</a></H2><PRE>
This routine returns one of the following:
<STRONG>E_OK</STRONG> The routine succeeded.
<STRONG>E_SYSTEM_ERROR</STRONG>
- System error occurred (see <STRONG>errno</STRONG>).
+ System error occurred (see <STRONG>errno(3)</STRONG>).
<STRONG>E_BAD_ARGUMENT</STRONG>
- Routine detected an incorrect or out-of-range argu-
- ment.
+ Routine detected an incorrect or out-of-range argument.
<STRONG>E_NOT_POSTED</STRONG>
The menu has not been posted.
-</PRE>
-<H2>SEE ALSO</H2><PRE>
+</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="menu.3x.html">menu(3x)</A></STRONG>.
-</PRE>
-<H2>NOTES</H2><PRE>
- The header file <STRONG>&lt;menu.h&gt;</STRONG> automatically includes the header
- file <STRONG>&lt;curses.h&gt;</STRONG>.
+</PRE><H2><a name="h2-NOTES">NOTES</a></H2><PRE>
+ The header file <STRONG>&lt;menu.h&gt;</STRONG> automatically includes the header file
+ <STRONG>&lt;curses.h&gt;</STRONG>.
-</PRE>
-<H2>PORTABILITY</H2><PRE>
- These routines emulate the System V menu library. They
- were not supported on Version 7 or BSD versions.
+</PRE><H2><a name="h2-PORTABILITY">PORTABILITY</a></H2><PRE>
+ These routines emulate the System V menu library. They were not sup-
+ ported on Version 7 or BSD versions.
-</PRE>
-<H2>AUTHORS</H2><PRE>
- Juergen Pfeifer. Manual pages and adaptation for new
- curses by Eric S. Raymond.
+</PRE><H2><a name="h2-AUTHORS">AUTHORS</a></H2><PRE>
+ Juergen Pfeifer. Manual pages and adaptation for new curses by Eric S.
+ Raymond.
- <STRONG><A HREF="menu_cursor.3x.html">menu_cursor(3x)</A></STRONG>
+ <STRONG><A HREF="menu_cursor.3x.html">menu_cursor(3x)</A></STRONG>
</PRE>
-<HR>
-<ADDRESS>
-Man(1) output converted with
-<a href="http://www.oac.uci.edu/indiv/ehood/man2html.html">man2html</a>
-</ADDRESS>
+<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>
+<li><a href="#h2-RETURN-VALUE">RETURN VALUE</a></li>
+<li><a href="#h2-SEE-ALSO">SEE ALSO</a></li>
+<li><a href="#h2-NOTES">NOTES</a></li>
+<li><a href="#h2-PORTABILITY">PORTABILITY</a></li>
+<li><a href="#h2-AUTHORS">AUTHORS</a></li>
+</ul>
+</div>
</BODY>
</HTML>
diff --git a/doc/html/man/menu_driver.3x.html b/doc/html/man/menu_driver.3x.html
index 4eaf63166795..5a35438e006a 100644
--- a/doc/html/man/menu_driver.3x.html
+++ b/doc/html/man/menu_driver.3x.html
@@ -1,7 +1,6 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN">
<!--
****************************************************************************
- * Copyright (c) 1998-2008,2010 Free Software Foundation, Inc. *
+ * Copyright (c) 1998-2018,2019 Free Software Foundation, Inc. *
* *
* Permission is hereby granted, free of charge, to any person obtaining a *
* copy of this software and associated documentation files (the *
@@ -27,52 +26,48 @@
* sale, use or other dealings in this Software without prior written *
* authorization. *
****************************************************************************
- * @Id: menu_driver.3x,v 1.20 2010/12/04 18:38:55 tom Exp @
+ * @Id: menu_driver.3x,v 1.25 2019/01/20 20:32:23 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</TITLE>
-<link rev=made href="mailto:bug-ncurses@gnu.org">
+<link rel="author" href="mailto:bug-ncurses@gnu.org">
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
</HEAD>
<BODY>
-<H1>menu_driver 3x</H1>
-<HR>
+<H1 class="no-header">menu_driver 3x</H1>
<PRE>
-<!-- Manpage converted by man2html 3.0.1 -->
-<STRONG><A HREF="menu_driver.3x.html">menu_driver(3x)</A></STRONG> <STRONG><A HREF="menu_driver.3x.html">menu_driver(3x)</A></STRONG>
+<STRONG><A HREF="menu_driver.3x.html">menu_driver(3x)</A></STRONG> <STRONG><A HREF="menu_driver.3x.html">menu_driver(3x)</A></STRONG>
-</PRE>
-<H2>NAME</H2><PRE>
+</PRE><H2><a name="h2-NAME">NAME</a></H2><PRE>
<STRONG>menu_driver</STRONG> - command-processing loop of the menu system
-</PRE>
-<H2>SYNOPSIS</H2><PRE>
+</PRE><H2><a name="h2-SYNOPSIS">SYNOPSIS</a></H2><PRE>
<STRONG>#include</STRONG> <STRONG>&lt;menu.h&gt;</STRONG>
int menu_driver(MENU *menu, int c);
-</PRE>
-<H2>DESCRIPTION</H2><PRE>
- Once a menu has been posted (displayed), you should funnel
- input events to it through <STRONG>menu_driver</STRONG>. This routine has
- three major input cases:
+</PRE><H2><a name="h2-DESCRIPTION">DESCRIPTION</a></H2><PRE>
+ Once a menu has been posted (displayed), you should funnel input events
+ to it through <STRONG>menu_driver</STRONG>. This routine has three major input cases:
- <STRONG>o</STRONG> The input is a form navigation request. Navigation
- request codes are constants defined in <STRONG>&lt;form.h&gt;</STRONG>, which
- are distinct from the key- and character codes
- returned by <STRONG>wgetch</STRONG>.
+ <STRONG>o</STRONG> The input is a form navigation request. Navigation request codes
+ are constants defined in <STRONG>&lt;form.h&gt;</STRONG>, which are distinct from the key-
+ and character codes returned by <STRONG><A HREF="curs_getch.3x.html">wgetch(3x)</A></STRONG>.
- <STRONG>o</STRONG> The input is a printable character. Printable charac-
- ters (which must be positive, less than 256) are
- checked according to the program's locale settings.
+ <STRONG>o</STRONG> The input is a printable character. Printable characters (which
+ must be positive, less than 256) are checked according to the pro-
+ gram's locale settings.
- <STRONG>o</STRONG> The input is the KEY_MOUSE special key associated with
- an mouse event.
+ <STRONG>o</STRONG> The input is the KEY_MOUSE special key associated with an mouse
+ event.
The menu driver requests are as follows:
@@ -119,8 +114,7 @@
Clear the menu pattern buffer.
REQ_BACK_PATTERN
- Delete the previous character from the pattern buf-
- fer.
+ Delete the previous character from the pattern buffer.
REQ_NEXT_MATCH
Move to the next item matching the pattern match.
@@ -128,21 +122,20 @@
REQ_PREV_MATCH
Move to the previous item matching the pattern match.
- If the second argument is a printable character, the code
- appends it to the pattern buffer and attempts to move to
- the next item matching the new pattern. If there is no
- such match, <STRONG>menu_driver</STRONG> returns <STRONG>E_NO_MATCH</STRONG> and deletes the
- appended character from the buffer.
+ If the second argument is a printable character, the code appends it to
+ the pattern buffer and attempts to move to the next item matching the
+ new pattern. If there is no such match, <STRONG>menu_driver</STRONG> returns <STRONG>E_NO_MATCH</STRONG>
+ and deletes the appended character from the buffer.
+
+ If the second argument is one of the above pre-defined requests, the
+ corresponding action is performed.
- If the second argument is one of the above pre-defined
- requests, the corresponding action is performed.
- <STRONG>MOUSE</STRONG> <STRONG>HANDLING</STRONG>
- 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 area or the decora-
- tion window) are handled.
+</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
+ area or the decoration window) are handled.
If you click above the display region of the menu:
@@ -160,51 +153,44 @@
<STRONG>o</STRONG> a REQ_LAST_ITEM is generated for a triple-click.
- If you click at an item inside the display area of the
- menu:
+ If you click at an item inside the display area of the menu:
<STRONG>o</STRONG> the menu cursor is positioned to that item.
- <STRONG>o</STRONG> If you double-click an item a REQ_TOGGLE_ITEM is gen-
- erated and <STRONG>E_UNKNOWN_COMMAND</STRONG> is returned. This return
- value makes sense, because a double click usually
- means that an item-specific action should be returned.
- It is exactly the purpose of this return value to sig-
- nal that an application specific command should be
- executed.
+ <STRONG>o</STRONG> If you double-click an item a REQ_TOGGLE_ITEM is generated and
+ <STRONG>E_UNKNOWN_COMMAND</STRONG> is returned. This return value makes sense,
+ because a double click usually means that an item-specific action
+ should be returned. It is exactly the purpose of this return value
+ to signal that an application specific command should be executed.
- <STRONG>o</STRONG> If a translation into a request was done, <STRONG>menu_driver</STRONG>
- returns the result of this request.
+ <STRONG>o</STRONG> If a translation into a request was done, <STRONG>menu_driver</STRONG> 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
- <STRONG>E_REQUEST_DENIED</STRONG> is returned.
+ If you clicked outside the user window or the mouse event could not be
+ translated into a menu request an <STRONG>E_REQUEST_DENIED</STRONG> is returned.
- <STRONG>APPLICATION-DEFINED</STRONG> <STRONG>COMMANDS</STRONG>
- 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>. Application-defined commands should be
- defined relative to <STRONG>MAX_COMMAND</STRONG>, the maximum value of
- these pre-defined requests.
+</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 applica-
+ tion-specific command and returns <STRONG>E_UNKNOWN_COMMAND</STRONG>. Application-
+ defined commands should be defined relative to <STRONG>MAX_COMMAND</STRONG>, the maximum
+ value of these pre-defined requests.
-</PRE>
-<H2>RETURN VALUE</H2><PRE>
+
+</PRE><H2><a name="h2-RETURN-VALUE">RETURN VALUE</a></H2><PRE>
<STRONG>menu_driver</STRONG> return one of the following error codes:
<STRONG>E_OK</STRONG> The routine succeeded.
<STRONG>E_SYSTEM_ERROR</STRONG>
- System error occurred (see <STRONG>errno</STRONG>).
+ System error occurred (see <STRONG>errno(3)</STRONG>).
<STRONG>E_BAD_ARGUMENT</STRONG>
- Routine detected an incorrect or out-of-range argu-
- ment.
+ Routine detected an incorrect or out-of-range argument.
<STRONG>E_BAD_STATE</STRONG>
- Routine was called from an initialization or termina-
- tion function.
+ Routine was called from an initialization or termination function.
<STRONG>E_NOT_POSTED</STRONG>
The menu has not been posted.
@@ -219,37 +205,45 @@
The menu driver could not process the request.
-</PRE>
-<H2>SEE ALSO</H2><PRE>
- <STRONG><A HREF="ncurses.3x.html">curses(3x)</A></STRONG>, <STRONG><A HREF="menu.3x.html">menu(3x)</A></STRONG>, <STRONG><A HREF="curs_getch.3x.html">curs_getch(3x)</A></STRONG>.
+</PRE><H2><a name="h2-SEE-ALSO">SEE ALSO</a></H2><PRE>
+ <STRONG><A HREF="ncurses.3x.html">curses(3x)</A></STRONG>, <STRONG><A HREF="menu.3x.html">menu(3x)</A></STRONG>, <STRONG><A HREF="curs_getch.3x.html">getch(3x)</A></STRONG>.
-</PRE>
-<H2>NOTES</H2><PRE>
- The header file <STRONG>&lt;menu.h&gt;</STRONG> automatically includes the header
- files <STRONG>&lt;curses.h&gt;</STRONG>.
+</PRE><H2><a name="h2-NOTES">NOTES</a></H2><PRE>
+ The header file <STRONG>&lt;menu.h&gt;</STRONG> automatically includes the header files
+ <STRONG>&lt;curses.h&gt;</STRONG>.
-</PRE>
-<H2>PORTABILITY</H2><PRE>
- These routines emulate the System V menu library. They
- were not supported on Version 7 or BSD versions. The sup-
- port for mouse events is ncurses specific.
+</PRE><H2><a name="h2-PORTABILITY">PORTABILITY</a></H2><PRE>
+ These routines emulate the System V menu library. They were not sup-
+ ported on Version 7 or BSD versions. The support for mouse events is
+ ncurses specific.
-</PRE>
-<H2>AUTHORS</H2><PRE>
- Juergen Pfeifer. Manual pages and adaptation for new
- curses by Eric S. Raymond.
+</PRE><H2><a name="h2-AUTHORS">AUTHORS</a></H2><PRE>
+ Juergen Pfeifer. Manual pages and adaptation for new curses by Eric S.
+ Raymond.
- <STRONG><A HREF="menu_driver.3x.html">menu_driver(3x)</A></STRONG>
+ <STRONG><A HREF="menu_driver.3x.html">menu_driver(3x)</A></STRONG>
</PRE>
-<HR>
-<ADDRESS>
-Man(1) output converted with
-<a href="http://www.oac.uci.edu/indiv/ehood/man2html.html">man2html</a>
-</ADDRESS>
+<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>
+<ul>
+<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>
+<li><a href="#h2-SEE-ALSO">SEE ALSO</a></li>
+<li><a href="#h2-NOTES">NOTES</a></li>
+<li><a href="#h2-PORTABILITY">PORTABILITY</a></li>
+<li><a href="#h2-AUTHORS">AUTHORS</a></li>
+</ul>
+</div>
</BODY>
</HTML>
diff --git a/doc/html/man/menu_format.3x.html b/doc/html/man/menu_format.3x.html
index 912b01caa12f..329ecd4a82b1 100644
--- a/doc/html/man/menu_format.3x.html
+++ b/doc/html/man/menu_format.3x.html
@@ -1,8 +1,7 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN">
<!--
* t
****************************************************************************
- * Copyright (c) 1998-2006,2010 Free Software Foundation, Inc. *
+ * Copyright (c) 1998-2018,2019 Free Software Foundation, Inc. *
* *
* Permission is hereby granted, free of charge, to any person obtaining a *
* copy of this software and associated documentation files (the *
@@ -28,68 +27,61 @@
* sale, use or other dealings in this Software without prior written *
* authorization. *
****************************************************************************
- * @Id: menu_format.3x,v 1.12 2010/12/04 18:40:45 tom Exp @
+ * @Id: menu_format.3x,v 1.16 2019/01/20 20:32:23 tom Exp @
-->
+<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN">
<HTML>
<HEAD>
+<meta http-equiv="Content-Type" content="text/html; charset=us-ascii">
+<meta name="generator" content="Manpage converted by man2html - see https://invisible-island.net/scripts/readme.html#others_scripts">
<TITLE>menu_format 3x</TITLE>
-<link rev=made href="mailto:bug-ncurses@gnu.org">
+<link rel="author" href="mailto:bug-ncurses@gnu.org">
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
</HEAD>
<BODY>
-<H1>menu_format 3x</H1>
-<HR>
+<H1 class="no-header">menu_format 3x</H1>
<PRE>
-<!-- Manpage converted by man2html 3.0.1 -->
-<STRONG><A HREF="menu_format.3x.html">menu_format(3x)</A></STRONG> <STRONG><A HREF="menu_format.3x.html">menu_format(3x)</A></STRONG>
+<STRONG><A HREF="menu_format.3x.html">menu_format(3x)</A></STRONG> <STRONG><A HREF="menu_format.3x.html">menu_format(3x)</A></STRONG>
-</PRE>
-<H2>NAME</H2><PRE>
- <STRONG>menu_format</STRONG> - set and get menu sizes
+</PRE><H2><a name="h2-NAME">NAME</a></H2><PRE>
+ <STRONG>set_menu_format</STRONG>, <STRONG>menu_format</STRONG> - set and get menu sizes
-</PRE>
-<H2>SYNOPSIS</H2><PRE>
+</PRE><H2><a name="h2-SYNOPSIS">SYNOPSIS</a></H2><PRE>
<STRONG>#include</STRONG> <STRONG>&lt;menu.h&gt;</STRONG>
int set_menu_format(MENU *menu, int rows, int cols);
void menu_format(const MENU *menu, int *rows, int *cols);
-</PRE>
-<H2>DESCRIPTION</H2><PRE>
- The function <STRONG>set_menu_format</STRONG> sets the maximum display size
- of the given menu. If this size is too small to display
- all menu items, the menu will be made scrollable. If this
- size is larger than the menus subwindow and the subwindow
- is too small to display all menu items, <STRONG>post_menu()</STRONG> will
- fail.
+</PRE><H2><a name="h2-DESCRIPTION">DESCRIPTION</a></H2><PRE>
+ The function <STRONG>set_menu_format</STRONG> sets the maximum display size of the given
+ menu. If this size is too small to display all menu items, the menu
+ will be made scrollable. If this size is larger than the menus subwin-
+ dow and the subwindow is too small to display all menu items, <STRONG>post_menu</STRONG>
+ will fail.
- The default format is 16 rows, 1 column. Calling
- <STRONG>set_menu_format</STRONG> with a null menu pointer will change this
- default. A zero row or column argument to <STRONG>set_menu_format</STRONG>
- is interpreted as a request not to change the current
- value.
+ The default format is 16 rows, 1 column. Calling <STRONG>set_menu_format</STRONG> with
+ a null menu pointer will change this default. A zero row or column
+ argument to <STRONG>set_menu_format</STRONG> is interpreted as a request not to change
+ the current value.
- The function <STRONG>menu_format</STRONG> returns the maximum-size con-
- straints for the given menu into the storage addressed by
- <STRONG>rows</STRONG> and <STRONG>cols</STRONG>.
+ The function <STRONG>menu_format</STRONG> returns the maximum-size constraints for the
+ given menu into the storage addressed by <STRONG>rows</STRONG> and <STRONG>cols</STRONG>.
-</PRE>
-<H2>RETURN VALUE</H2><PRE>
+</PRE><H2><a name="h2-RETURN-VALUE">RETURN VALUE</a></H2><PRE>
These routines returns one of the following:
<STRONG>E_OK</STRONG> The routine succeeded.
<STRONG>E_SYSTEM_ERROR</STRONG>
- System error occurred (see <STRONG>errno</STRONG>).
+ System error occurred (see <STRONG>errno(3)</STRONG>).
<STRONG>E_BAD_ARGUMENT</STRONG>
- Routine detected an incorrect or out-of-range argu-
- ment.
+ Routine detected an incorrect or out-of-range argument.
<STRONG>E_POSTED</STRONG>
The menu is already posted.
@@ -98,36 +90,39 @@
No items are connected to the menu.
-</PRE>
-<H2>SEE ALSO</H2><PRE>
+</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="menu.3x.html">menu(3x)</A></STRONG>.
-</PRE>
-<H2>NOTES</H2><PRE>
- The header file <STRONG>&lt;menu.h&gt;</STRONG> automatically includes the header
- file <STRONG>&lt;curses.h&gt;</STRONG>.
+</PRE><H2><a name="h2-NOTES">NOTES</a></H2><PRE>
+ The header file <STRONG>&lt;menu.h&gt;</STRONG> automatically includes the header file
+ <STRONG>&lt;curses.h&gt;</STRONG>.
-</PRE>
-<H2>PORTABILITY</H2><PRE>
- These routines emulate the System V menu library. They
- were not supported on Version 7 or BSD versions.
+</PRE><H2><a name="h2-PORTABILITY">PORTABILITY</a></H2><PRE>
+ These routines emulate the System V menu library. They were not sup-
+ ported on Version 7 or BSD versions.
-</PRE>
-<H2>AUTHORS</H2><PRE>
- Juergen Pfeifer. Manual pages and adaptation for new
- curses by Eric S. Raymond.
+</PRE><H2><a name="h2-AUTHORS">AUTHORS</a></H2><PRE>
+ Juergen Pfeifer. Manual pages and adaptation for new curses by Eric S.
+ Raymond.
- <STRONG><A HREF="menu_format.3x.html">menu_format(3x)</A></STRONG>
+ <STRONG><A HREF="menu_format.3x.html">menu_format(3x)</A></STRONG>
</PRE>
-<HR>
-<ADDRESS>
-Man(1) output converted with
-<a href="http://www.oac.uci.edu/indiv/ehood/man2html.html">man2html</a>
-</ADDRESS>
+<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>
+<li><a href="#h2-RETURN-VALUE">RETURN VALUE</a></li>
+<li><a href="#h2-SEE-ALSO">SEE ALSO</a></li>
+<li><a href="#h2-NOTES">NOTES</a></li>
+<li><a href="#h2-PORTABILITY">PORTABILITY</a></li>
+<li><a href="#h2-AUTHORS">AUTHORS</a></li>
+</ul>
+</div>
</BODY>
</HTML>
diff --git a/doc/html/man/menu_hook.3x.html b/doc/html/man/menu_hook.3x.html
index 9e10787f57ab..e25ee824a7d8 100644
--- a/doc/html/man/menu_hook.3x.html
+++ b/doc/html/man/menu_hook.3x.html
@@ -1,8 +1,7 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN">
<!--
* t
****************************************************************************
- * Copyright (c) 1998-2007,2010 Free Software Foundation, Inc. *
+ * Copyright (c) 1998-2018,2019 Free Software Foundation, Inc. *
* *
* Permission is hereby granted, free of charge, to any person obtaining a *
* copy of this software and associated documentation files (the *
@@ -28,32 +27,30 @@
* sale, use or other dealings in this Software without prior written *
* authorization. *
****************************************************************************
- * @Id: menu_hook.3x,v 1.11 2010/12/04 18:40:45 tom Exp @
+ * @Id: menu_hook.3x,v 1.13 2019/01/20 20:32:23 tom Exp @
-->
+<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN">
<HTML>
<HEAD>
+<meta http-equiv="Content-Type" content="text/html; charset=us-ascii">
+<meta name="generator" content="Manpage converted by man2html - see https://invisible-island.net/scripts/readme.html#others_scripts">
<TITLE>menu_hook 3x</TITLE>
-<link rev=made href="mailto:bug-ncurses@gnu.org">
+<link rel="author" href="mailto:bug-ncurses@gnu.org">
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
</HEAD>
<BODY>
-<H1>menu_hook 3x</H1>
-<HR>
+<H1 class="no-header">menu_hook 3x</H1>
<PRE>
-<!-- Manpage converted by man2html 3.0.1 -->
-<STRONG><A HREF="menu_hook.3x.html">menu_hook(3x)</A></STRONG> <STRONG><A HREF="menu_hook.3x.html">menu_hook(3x)</A></STRONG>
+<STRONG><A HREF="menu_hook.3x.html">menu_hook(3x)</A></STRONG> <STRONG><A HREF="menu_hook.3x.html">menu_hook(3x)</A></STRONG>
-</PRE>
-<H2>NAME</H2><PRE>
- <STRONG>menu_hook</STRONG> - set hooks for automatic invocation by applica-
- tions
+</PRE><H2><a name="h2-NAME">NAME</a></H2><PRE>
+ <STRONG>menu_hook</STRONG> - set hooks for automatic invocation by applications
-</PRE>
-<H2>SYNOPSIS</H2><PRE>
+</PRE><H2><a name="h2-SYNOPSIS">SYNOPSIS</a></H2><PRE>
<STRONG>#include</STRONG> <STRONG>&lt;menu.h&gt;</STRONG>
int set_item_init(MENU *menu, Menu_Hook func);
Menu_Hook item_init(const MENU *menu);
@@ -65,74 +62,75 @@
Menu_Hook menu_term(const MENU *menu);
-</PRE>
-<H2>DESCRIPTION</H2><PRE>
- These functions make it possible to set hook functions to
- be called at various points in the automatic processing of
- input event codes by <STRONG>menu_driver</STRONG>.
+</PRE><H2><a name="h2-DESCRIPTION">DESCRIPTION</a></H2><PRE>
+ These functions make it possible to set hook functions to be called at
+ various points in the automatic processing of input event codes by
+ <STRONG>menu_driver</STRONG>.
- The function <STRONG>set_item_init</STRONG> sets a hook to be called at
- menu-post time and each time the selected item changes
- (after the change). <STRONG>item_init</STRONG> returns the current item
- init hook, if any (<STRONG>NULL</STRONG> if there is no such hook).
+ The function <STRONG>set_item_init</STRONG> sets a hook to be called at menu-post time
+ and each time the selected item changes (after the change). <STRONG>item_init</STRONG>
+ returns the current item init hook, if any (<STRONG>NULL</STRONG> if there is no such
+ hook).
- The function <STRONG>set_item_term</STRONG> sets a hook to be called at
- menu-unpost time and each time the selected item changes
- (before the change). <STRONG>item_term</STRONG> returns the current item
- term hook, if any (<STRONG>NULL</STRONG> if there is no such hook).
+ The function <STRONG>set_item_term</STRONG> sets a hook to be called at menu-unpost time
+ and each time the selected item changes (before the change). <STRONG>item_term</STRONG>
+ returns the current item term hook, if any (<STRONG>NULL</STRONG> if there is no such
+ hook).
- The function <STRONG>set_menu_init</STRONG> sets a hook to be called at
- menu-post time and just after the top row on the menu
- changes once it is posted. <STRONG>menu_init</STRONG> returns the current
- menu init hook, if any (<STRONG>NULL</STRONG> if there is no such hook).
+ The function <STRONG>set_menu_init</STRONG> sets a hook to be called at menu-post time
+ and just after the top row on the menu changes once it is posted.
+ <STRONG>menu_init</STRONG> returns the current menu init hook, if any (<STRONG>NULL</STRONG> if there is
+ no such hook).
- The function <STRONG>set_menu_term</STRONG> sets a hook to be called at
- menu-unpost time and just before the top row on the menu
- changes once it is posted. <STRONG>menu_term</STRONG> returns the current
- menu term hook, if any (<STRONG>NULL</STRONG> if there is no such hook).
+ The function <STRONG>set_menu_term</STRONG> sets a hook to be called at menu-unpost time
+ and just before the top row on the menu changes once it is posted.
+ <STRONG>menu_term</STRONG> returns the current menu term hook, if any (<STRONG>NULL</STRONG> if there is
+ no such hook).
-</PRE>
-<H2>RETURN VALUE</H2><PRE>
- Routines that return pointers return <STRONG>NULL</STRONG> on error. Other
- routines return one of the following:
+</PRE><H2><a name="h2-RETURN-VALUE">RETURN VALUE</a></H2><PRE>
+ Routines that return pointers return <STRONG>NULL</STRONG> on error. Other routines
+ return one of the following:
<STRONG>E_OK</STRONG> The routine succeeded.
<STRONG>E_SYSTEM_ERROR</STRONG>
- System error occurred (see <STRONG>errno</STRONG>).
+ System error occurred (see <STRONG>errno(3)</STRONG>).
-</PRE>
-<H2>SEE ALSO</H2><PRE>
+</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="menu.3x.html">menu(3x)</A></STRONG>.
-</PRE>
-<H2>NOTES</H2><PRE>
- The header file <STRONG>&lt;menu.h&gt;</STRONG> automatically includes the header
- file <STRONG>&lt;curses.h&gt;</STRONG>.
+</PRE><H2><a name="h2-NOTES">NOTES</a></H2><PRE>
+ The header file <STRONG>&lt;menu.h&gt;</STRONG> automatically includes the header file
+ <STRONG>&lt;curses.h&gt;</STRONG>.
-</PRE>
-<H2>PORTABILITY</H2><PRE>
- These routines emulate the System V menu library. They
- were not supported on Version 7 or BSD versions.
+</PRE><H2><a name="h2-PORTABILITY">PORTABILITY</a></H2><PRE>
+ These routines emulate the System V menu library. They were not sup-
+ ported on Version 7 or BSD versions.
-</PRE>
-<H2>AUTHORS</H2><PRE>
- Juergen Pfeifer. Manual pages and adaptation for new
- curses by Eric S. Raymond.
+</PRE><H2><a name="h2-AUTHORS">AUTHORS</a></H2><PRE>
+ Juergen Pfeifer. Manual pages and adaptation for new curses by Eric S.
+ Raymond.
- <STRONG><A HREF="menu_hook.3x.html">menu_hook(3x)</A></STRONG>
+ <STRONG><A HREF="menu_hook.3x.html">menu_hook(3x)</A></STRONG>
</PRE>
-<HR>
-<ADDRESS>
-Man(1) output converted with
-<a href="http://www.oac.uci.edu/indiv/ehood/man2html.html">man2html</a>
-</ADDRESS>
+<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>
+<li><a href="#h2-RETURN-VALUE">RETURN VALUE</a></li>
+<li><a href="#h2-SEE-ALSO">SEE ALSO</a></li>
+<li><a href="#h2-NOTES">NOTES</a></li>
+<li><a href="#h2-PORTABILITY">PORTABILITY</a></li>
+<li><a href="#h2-AUTHORS">AUTHORS</a></li>
+</ul>
+</div>
</BODY>
</HTML>
diff --git a/doc/html/man/menu_items.3x.html b/doc/html/man/menu_items.3x.html
index 81b7e8dd6a08..5b6512b62bdf 100644
--- a/doc/html/man/menu_items.3x.html
+++ b/doc/html/man/menu_items.3x.html
@@ -1,8 +1,7 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN">
<!--
* t
****************************************************************************
- * Copyright (c) 1998-2010,2012 Free Software Foundation, Inc. *
+ * Copyright (c) 1998-2018,2019 Free Software Foundation, Inc. *
* *
* Permission is hereby granted, free of charge, to any person obtaining a *
* copy of this software and associated documentation files (the *
@@ -28,67 +27,60 @@
* sale, use or other dealings in this Software without prior written *
* authorization. *
****************************************************************************
- * @Id: menu_items.3x,v 1.10 2012/11/03 23:03:59 tom Exp @
+ * @Id: menu_items.3x,v 1.13 2019/01/20 20:32:23 tom Exp @
-->
+<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN">
<HTML>
<HEAD>
+<meta http-equiv="Content-Type" content="text/html; charset=us-ascii">
+<meta name="generator" content="Manpage converted by man2html - see https://invisible-island.net/scripts/readme.html#others_scripts">
<TITLE>menu_items 3x</TITLE>
-<link rev=made href="mailto:bug-ncurses@gnu.org">
+<link rel="author" href="mailto:bug-ncurses@gnu.org">
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
</HEAD>
<BODY>
-<H1>menu_items 3x</H1>
-<HR>
+<H1 class="no-header">menu_items 3x</H1>
<PRE>
-<!-- Manpage converted by man2html 3.0.1 -->
-<STRONG><A HREF="menu_items.3x.html">menu_items(3x)</A></STRONG> <STRONG><A HREF="menu_items.3x.html">menu_items(3x)</A></STRONG>
+<STRONG><A HREF="menu_items.3x.html">menu_items(3x)</A></STRONG> <STRONG><A HREF="menu_items.3x.html">menu_items(3x)</A></STRONG>
-</PRE>
-<H2>NAME</H2><PRE>
- <STRONG>menu_items</STRONG> - make and break connections between items and
- menus
+</PRE><H2><a name="h2-NAME">NAME</a></H2><PRE>
+ <STRONG>set_menu_items</STRONG>, <STRONG>menu_items</STRONG>, <STRONG>item_count</STRONG> - make and break connections
+ between items and menus
-</PRE>
-<H2>SYNOPSIS</H2><PRE>
+</PRE><H2><a name="h2-SYNOPSIS">SYNOPSIS</a></H2><PRE>
<STRONG>#include</STRONG> <STRONG>&lt;menu.h&gt;</STRONG>
int set_menu_items(MENU *menu, ITEM **items);
ITEM **menu_items(const MENU *menu);
int item_count(const MENU *menu);
-</PRE>
-<H2>DESCRIPTION</H2><PRE>
- The function <STRONG>set_menu_items</STRONG> changes the item pointer array
- of the given <EM>menu</EM>. The array must be terminated by a
- <STRONG>NULL</STRONG>.
+</PRE><H2><a name="h2-DESCRIPTION">DESCRIPTION</a></H2><PRE>
+ The function <STRONG>set_menu_items</STRONG> changes the item pointer array of the given
+ <EM>menu</EM>. The array must be terminated by a <STRONG>NULL</STRONG>.
- The function <STRONG>menu_items</STRONG> returns the item array of the
- given menu.
+ The function <STRONG>menu_items</STRONG> returns the item array of the given menu.
- The function <STRONG>item_count</STRONG> returns the count of items in
- <EM>menu</EM>.
+ The function <STRONG>item_count</STRONG> returns the count of items in <EM>menu</EM>.
-</PRE>
-<H2>RETURN VALUE</H2><PRE>
- The function <STRONG>menu_items</STRONG> returns a pointer (which may be
- <STRONG>NULL</STRONG>). It does not set errno.
+</PRE><H2><a name="h2-RETURN-VALUE">RETURN VALUE</a></H2><PRE>
+ The function <STRONG>menu_items</STRONG> returns a pointer (which may be <STRONG>NULL</STRONG>). It does
+ not set errno.
- The function <STRONG>item_count</STRONG> returns <STRONG>ERR</STRONG> (the general <STRONG>curses</STRONG>
- error return value) if its <EM>menu</EM> parameter is <STRONG>NULL</STRONG>.
+ The function <STRONG>item_count</STRONG> returns <STRONG>ERR</STRONG> (the general <STRONG>curses</STRONG> error return
+ value) if its <EM>menu</EM> parameter is <STRONG>NULL</STRONG>.
- The function <STRONG>set_menu_items</STRONG> returns one of the following
- codes on error:
+ The function <STRONG>set_menu_items</STRONG> returns one of the following codes on
+ error:
<STRONG>E_OK</STRONG> The routine succeeded.
<STRONG>E_BAD_ARGUMENT</STRONG>
- Routine detected an incorrect or out-of-range argu-
- ment.
+ Routine detected an incorrect or out-of-range argument.
<STRONG>E_NOT_CONNECTED</STRONG>
No items are connected to the menu.
@@ -97,42 +89,45 @@
The menu is already posted.
<STRONG>E_SYSTEM_ERROR</STRONG>
- System error occurred (see <STRONG>errno</STRONG>).
+ System error occurred (see <STRONG>errno(3)</STRONG>).
-</PRE>
-<H2>SEE ALSO</H2><PRE>
+</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="menu.3x.html">menu(3x)</A></STRONG>.
-</PRE>
-<H2>NOTES</H2><PRE>
- The header file <STRONG>&lt;menu.h&gt;</STRONG> automatically includes the header
- file <STRONG>&lt;curses.h&gt;</STRONG>.
+</PRE><H2><a name="h2-NOTES">NOTES</a></H2><PRE>
+ The header file <STRONG>&lt;menu.h&gt;</STRONG> automatically includes the header file
+ <STRONG>&lt;curses.h&gt;</STRONG>.
-</PRE>
-<H2>PORTABILITY</H2><PRE>
- These routines emulate the System V menu library. They
- were not supported on Version 7 or BSD versions.
+</PRE><H2><a name="h2-PORTABILITY">PORTABILITY</a></H2><PRE>
+ These routines emulate the System V menu library. They were not sup-
+ ported on Version 7 or BSD versions.
- The SVr4 menu library documentation specifies the
- <STRONG>item_count</STRONG> error value as -1 (which is the value of <STRONG>ERR</STRONG>).
+ The SVr4 menu library documentation specifies the <STRONG>item_count</STRONG> error
+ value as -1 (which is the value of <STRONG>ERR</STRONG>).
-</PRE>
-<H2>AUTHORS</H2><PRE>
- Juergen Pfeifer. Manual pages and adaptation for new
- curses by Eric S. Raymond.
+</PRE><H2><a name="h2-AUTHORS">AUTHORS</a></H2><PRE>
+ Juergen Pfeifer. Manual pages and adaptation for new curses by Eric S.
+ Raymond.
- <STRONG><A HREF="menu_items.3x.html">menu_items(3x)</A></STRONG>
+ <STRONG><A HREF="menu_items.3x.html">menu_items(3x)</A></STRONG>
</PRE>
-<HR>
-<ADDRESS>
-Man(1) output converted with
-<a href="http://www.oac.uci.edu/indiv/ehood/man2html.html">man2html</a>
-</ADDRESS>
+<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>
+<li><a href="#h2-RETURN-VALUE">RETURN VALUE</a></li>
+<li><a href="#h2-SEE-ALSO">SEE ALSO</a></li>
+<li><a href="#h2-NOTES">NOTES</a></li>
+<li><a href="#h2-PORTABILITY">PORTABILITY</a></li>
+<li><a href="#h2-AUTHORS">AUTHORS</a></li>
+</ul>
+</div>
</BODY>
</HTML>
diff --git a/doc/html/man/menu_mark.3x.html b/doc/html/man/menu_mark.3x.html
index d7dfefba2631..7e280f72201a 100644
--- a/doc/html/man/menu_mark.3x.html
+++ b/doc/html/man/menu_mark.3x.html
@@ -1,8 +1,7 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN">
<!--
* t
****************************************************************************
- * Copyright (c) 1998-2006,2010 Free Software Foundation, Inc. *
+ * Copyright (c) 1998-2018,2019 Free Software Foundation, Inc. *
* *
* Permission is hereby granted, free of charge, to any person obtaining a *
* copy of this software and associated documentation files (the *
@@ -28,104 +27,100 @@
* sale, use or other dealings in this Software without prior written *
* authorization. *
****************************************************************************
- * @Id: menu_mark.3x,v 1.11 2010/12/04 18:40:45 tom Exp @
+ * @Id: menu_mark.3x,v 1.14 2019/01/20 20:32:23 tom Exp @
-->
+<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN">
<HTML>
<HEAD>
+<meta http-equiv="Content-Type" content="text/html; charset=us-ascii">
+<meta name="generator" content="Manpage converted by man2html - see https://invisible-island.net/scripts/readme.html#others_scripts">
<TITLE>menu_mark 3x</TITLE>
-<link rev=made href="mailto:bug-ncurses@gnu.org">
+<link rel="author" href="mailto:bug-ncurses@gnu.org">
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
</HEAD>
<BODY>
-<H1>menu_mark 3x</H1>
-<HR>
+<H1 class="no-header">menu_mark 3x</H1>
<PRE>
-<!-- Manpage converted by man2html 3.0.1 -->
-<STRONG><A HREF="menu_mark.3x.html">menu_mark(3x)</A></STRONG> <STRONG><A HREF="menu_mark.3x.html">menu_mark(3x)</A></STRONG>
+<STRONG><A HREF="menu_mark.3x.html">menu_mark(3x)</A></STRONG> <STRONG><A HREF="menu_mark.3x.html">menu_mark(3x)</A></STRONG>
-</PRE>
-<H2>NAME</H2><PRE>
- <STRONG>menu_mark</STRONG> - get and set the menu mark string
+</PRE><H2><a name="h2-NAME">NAME</a></H2><PRE>
+ <STRONG>set_menu_mark</STRONG>, <STRONG>menu_mark</STRONG> - get and set the menu mark string
-</PRE>
-<H2>SYNOPSIS</H2><PRE>
+</PRE><H2><a name="h2-SYNOPSIS">SYNOPSIS</a></H2><PRE>
<STRONG>#include</STRONG> <STRONG>&lt;menu.h&gt;</STRONG>
int set_menu_mark(MENU *menu, const char *mark);
const char *menu_mark(const MENU *menu);
-</PRE>
-<H2>DESCRIPTION</H2><PRE>
- In order to make menu selections visible on older termi-
- nals without highlighting or color capability, the menu
- library marks selected items in a menu with a prefix
- string.
+</PRE><H2><a name="h2-DESCRIPTION">DESCRIPTION</a></H2><PRE>
+ In order to make menu selections visible on older terminals without
+ highlighting or color capability, the menu library marks selected items
+ in a menu with a prefix string.
- The function <STRONG>set_menu_mark</STRONG> sets the mark string for the
- given menu. Calling <STRONG>set_menu_mark</STRONG> with a null menu item
- will abolish the mark string. Note that changing the
- length of the mark string for a menu while the menu is
- posted is likely to produce unhelpful behavior.
+ The function <STRONG>set_menu_mark</STRONG> sets the mark string for the given menu.
+ Calling <STRONG>set_menu_mark</STRONG> with a null menu item will abolish the mark
+ string. Note that changing the length of the mark string for a menu
+ while the menu is posted is likely to produce unhelpful behavior.
- The default string is "-" (a dash). Calling <STRONG>set_menu_mark</STRONG>
- with a non-<STRONG>NULL</STRONG> menu argument will change this default.
+ The default string is "-" (a dash). Calling <STRONG>set_menu_mark</STRONG> with a non-
+ <STRONG>NULL</STRONG> menu argument will change this default.
- The function <STRONG>menu_mark</STRONG> returns the menu's mark string (or
- <STRONG>NULL</STRONG> if there is none).
+ The function <STRONG>menu_mark</STRONG> returns the menu's mark string (or <STRONG>NULL</STRONG> if there
+ is none).
-</PRE>
-<H2>RETURN VALUE</H2><PRE>
- The function <STRONG>menu_mark</STRONG> returns a pointer (which may be
- <STRONG>NULL</STRONG>). It does not set errno.
+</PRE><H2><a name="h2-RETURN-VALUE">RETURN VALUE</a></H2><PRE>
+ The function <STRONG>menu_mark</STRONG> returns a pointer (which may be <STRONG>NULL</STRONG>). It does
+ not set errno.
- The function <STRONG>set_menu_mark</STRONG> may return the following error
- codes:
+ The function <STRONG>set_menu_mark</STRONG> may return the following error codes:
<STRONG>E_OK</STRONG> The routine succeeded.
<STRONG>E_BAD_ARGUMENT</STRONG>
- Routine detected an incorrect or out-of-range argu-
- ment.
+ Routine detected an incorrect or out-of-range argument.
<STRONG>E_SYSTEM_ERROR</STRONG>
- System error occurred (see <STRONG>errno</STRONG>).
+ System error occurred (see <STRONG>errno(3)</STRONG>).
-</PRE>
-<H2>SEE ALSO</H2><PRE>
+</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="menu.3x.html">menu(3x)</A></STRONG>.
-</PRE>
-<H2>NOTES</H2><PRE>
- The header file <STRONG>&lt;menu.h&gt;</STRONG> automatically includes the header
- file <STRONG>&lt;curses.h&gt;</STRONG>.
+</PRE><H2><a name="h2-NOTES">NOTES</a></H2><PRE>
+ The header file <STRONG>&lt;menu.h&gt;</STRONG> automatically includes the header file
+ <STRONG>&lt;curses.h&gt;</STRONG>.
-</PRE>
-<H2>PORTABILITY</H2><PRE>
- These routines emulate the System V menu library. They
- were not supported on Version 7 or BSD versions.
+</PRE><H2><a name="h2-PORTABILITY">PORTABILITY</a></H2><PRE>
+ These routines emulate the System V menu library. They were not sup-
+ ported on Version 7 or BSD versions.
-</PRE>
-<H2>AUTHORS</H2><PRE>
- Juergen Pfeifer. Manual pages and adaptation for new
- curses by Eric S. Raymond.
+</PRE><H2><a name="h2-AUTHORS">AUTHORS</a></H2><PRE>
+ Juergen Pfeifer. Manual pages and adaptation for new curses by Eric S.
+ Raymond.
- <STRONG><A HREF="menu_mark.3x.html">menu_mark(3x)</A></STRONG>
+ <STRONG><A HREF="menu_mark.3x.html">menu_mark(3x)</A></STRONG>
</PRE>
-<HR>
-<ADDRESS>
-Man(1) output converted with
-<a href="http://www.oac.uci.edu/indiv/ehood/man2html.html">man2html</a>
-</ADDRESS>
+<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>
+<li><a href="#h2-RETURN-VALUE">RETURN VALUE</a></li>
+<li><a href="#h2-SEE-ALSO">SEE ALSO</a></li>
+<li><a href="#h2-NOTES">NOTES</a></li>
+<li><a href="#h2-PORTABILITY">PORTABILITY</a></li>
+<li><a href="#h2-AUTHORS">AUTHORS</a></li>
+</ul>
+</div>
</BODY>
</HTML>
diff --git a/doc/html/man/menu_new.3x.html b/doc/html/man/menu_new.3x.html
index 10f30e775413..9fce52b77ea8 100644
--- a/doc/html/man/menu_new.3x.html
+++ b/doc/html/man/menu_new.3x.html
@@ -1,8 +1,7 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN">
<!--
* t
****************************************************************************
- * Copyright (c) 1998-2006,2010 Free Software Foundation, Inc. *
+ * Copyright (c) 1998-2018,2019 Free Software Foundation, Inc. *
* *
* Permission is hereby granted, free of charge, to any person obtaining a *
* copy of this software and associated documentation files (the *
@@ -28,50 +27,46 @@
* sale, use or other dealings in this Software without prior written *
* authorization. *
****************************************************************************
- * @Id: menu_new.3x,v 1.11 2010/12/04 18:40:45 tom Exp @
+ * @Id: menu_new.3x,v 1.14 2019/01/20 20:32:23 tom Exp @
-->
+<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN">
<HTML>
<HEAD>
+<meta http-equiv="Content-Type" content="text/html; charset=us-ascii">
+<meta name="generator" content="Manpage converted by man2html - see https://invisible-island.net/scripts/readme.html#others_scripts">
<TITLE>menu_new 3x</TITLE>
-<link rev=made href="mailto:bug-ncurses@gnu.org">
+<link rel="author" href="mailto:bug-ncurses@gnu.org">
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
</HEAD>
<BODY>
-<H1>menu_new 3x</H1>
-<HR>
+<H1 class="no-header">menu_new 3x</H1>
<PRE>
-<!-- Manpage converted by man2html 3.0.1 -->
-<STRONG><A HREF="menu_new.3x.html">menu_new(3x)</A></STRONG> <STRONG><A HREF="menu_new.3x.html">menu_new(3x)</A></STRONG>
+<STRONG><A HREF="menu_new.3x.html">menu_new(3x)</A></STRONG> <STRONG><A HREF="menu_new.3x.html">menu_new(3x)</A></STRONG>
-</PRE>
-<H2>NAME</H2><PRE>
- <STRONG>menu_new</STRONG> - create and destroy menus
+</PRE><H2><a name="h2-NAME">NAME</a></H2><PRE>
+ <STRONG>new_menu</STRONG>, <STRONG>free_menu</STRONG> - create and destroy menus
-</PRE>
-<H2>SYNOPSIS</H2><PRE>
+</PRE><H2><a name="h2-SYNOPSIS">SYNOPSIS</a></H2><PRE>
<STRONG>#include</STRONG> <STRONG>&lt;menu.h&gt;</STRONG>
MENU *new_menu(ITEM **items);
int free_menu(MENU *menu);
-</PRE>
-<H2>DESCRIPTION</H2><PRE>
- The function <STRONG>new_menu</STRONG> creates a new menu connected to a
- specified item pointer array (which must be <STRONG>NULL</STRONG>-termi-
- nated).
+</PRE><H2><a name="h2-DESCRIPTION">DESCRIPTION</a></H2><PRE>
+ The function <STRONG>new_menu</STRONG> creates a new menu connected to a specified item
+ pointer array (which must be <STRONG>NULL</STRONG>-terminated).
- The function <STRONG>free_menu</STRONG> disconnects <EM>menu</EM> from its item
- array and frees the storage allocated for the menu.
+ The function <STRONG>free_menu</STRONG> disconnects <EM>menu</EM> from its item array and frees
+ the storage allocated for the menu.
-</PRE>
-<H2>RETURN VALUE</H2><PRE>
- The function <STRONG>new_menu</STRONG> returns <STRONG>NULL</STRONG> on error. It sets
- errno according to the function's failure:
+</PRE><H2><a name="h2-RETURN-VALUE">RETURN VALUE</a></H2><PRE>
+ The function <STRONG>new_menu</STRONG> returns <STRONG>NULL</STRONG> on error. It sets errno according
+ to the function's failure:
<STRONG>E_NOT_CONNECTED</STRONG>
No items are connected to the menu.
@@ -84,46 +79,48 @@
<STRONG>E_OK</STRONG> The routine succeeded.
<STRONG>E_SYSTEM_ERROR</STRONG>
- System error occurred (see <STRONG>errno</STRONG>).
+ System error occurred (see <STRONG>errno(3)</STRONG>).
<STRONG>E_BAD_ARGUMENT</STRONG>
- Routine detected an incorrect or out-of-range argu-
- ment.
+ Routine detected an incorrect or out-of-range argument.
<STRONG>E_POSTED</STRONG>
The menu has already been posted.
-</PRE>
-<H2>SEE ALSO</H2><PRE>
+</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="menu.3x.html">menu(3x)</A></STRONG>.
-</PRE>
-<H2>NOTES</H2><PRE>
- The header file <STRONG>&lt;menu.h&gt;</STRONG> automatically includes the header
- file <STRONG>&lt;curses.h&gt;</STRONG>.
+</PRE><H2><a name="h2-NOTES">NOTES</a></H2><PRE>
+ The header file <STRONG>&lt;menu.h&gt;</STRONG> automatically includes the header file
+ <STRONG>&lt;curses.h&gt;</STRONG>.
-</PRE>
-<H2>PORTABILITY</H2><PRE>
- These routines emulate the System V menu library. They
- were not supported on Version 7 or BSD versions.
+</PRE><H2><a name="h2-PORTABILITY">PORTABILITY</a></H2><PRE>
+ These routines emulate the System V menu library. They were not sup-
+ ported on Version 7 or BSD versions.
-</PRE>
-<H2>AUTHORS</H2><PRE>
- Juergen Pfeifer. Manual pages and adaptation for new
- curses by Eric S. Raymond.
+</PRE><H2><a name="h2-AUTHORS">AUTHORS</a></H2><PRE>
+ Juergen Pfeifer. Manual pages and adaptation for new curses by Eric S.
+ Raymond.
- <STRONG><A HREF="menu_new.3x.html">menu_new(3x)</A></STRONG>
+ <STRONG><A HREF="menu_new.3x.html">menu_new(3x)</A></STRONG>
</PRE>
-<HR>
-<ADDRESS>
-Man(1) output converted with
-<a href="http://www.oac.uci.edu/indiv/ehood/man2html.html">man2html</a>
-</ADDRESS>
+<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>
+<li><a href="#h2-RETURN-VALUE">RETURN VALUE</a></li>
+<li><a href="#h2-SEE-ALSO">SEE ALSO</a></li>
+<li><a href="#h2-NOTES">NOTES</a></li>
+<li><a href="#h2-PORTABILITY">PORTABILITY</a></li>
+<li><a href="#h2-AUTHORS">AUTHORS</a></li>
+</ul>
+</div>
</BODY>
</HTML>
diff --git a/doc/html/man/menu_opts.3x.html b/doc/html/man/menu_opts.3x.html
index 18557237249c..b777b2655071 100644
--- a/doc/html/man/menu_opts.3x.html
+++ b/doc/html/man/menu_opts.3x.html
@@ -1,8 +1,7 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN">
<!--
* t
****************************************************************************
- * Copyright (c) 1998-2007,2010 Free Software Foundation, Inc. *
+ * Copyright (c) 1998-2018,2019 Free Software Foundation, Inc. *
* *
* Permission is hereby granted, free of charge, to any person obtaining a *
* copy of this software and associated documentation files (the *
@@ -28,31 +27,31 @@
* sale, use or other dealings in this Software without prior written *
* authorization. *
****************************************************************************
- * @Id: menu_opts.3x,v 1.12 2010/12/04 18:40:45 tom Exp @
+ * @Id: menu_opts.3x,v 1.16 2019/01/20 20:32:23 tom Exp @
-->
+<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN">
<HTML>
<HEAD>
+<meta http-equiv="Content-Type" content="text/html; charset=us-ascii">
+<meta name="generator" content="Manpage converted by man2html - see https://invisible-island.net/scripts/readme.html#others_scripts">
<TITLE>menu_opts 3x</TITLE>
-<link rev=made href="mailto:bug-ncurses@gnu.org">
+<link rel="author" href="mailto:bug-ncurses@gnu.org">
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
</HEAD>
<BODY>
-<H1>menu_opts 3x</H1>
-<HR>
+<H1 class="no-header">menu_opts 3x</H1>
<PRE>
-<!-- Manpage converted by man2html 3.0.1 -->
-<STRONG><A HREF="menu_opts.3x.html">menu_opts(3x)</A></STRONG> <STRONG><A HREF="menu_opts.3x.html">menu_opts(3x)</A></STRONG>
+<STRONG><A HREF="menu_opts.3x.html">menu_opts(3x)</A></STRONG> <STRONG><A HREF="menu_opts.3x.html">menu_opts(3x)</A></STRONG>
-</PRE>
-<H2>NAME</H2><PRE>
- <STRONG>menu_opts</STRONG> - set and get menu options
+</PRE><H2><a name="h2-NAME">NAME</a></H2><PRE>
+ <STRONG>set_menu_opts</STRONG>, <STRONG>menu_opts_on</STRONG>, <STRONG>menu_opts_off</STRONG>, <STRONG>menu_opts</STRONG> - set and get
+ menu options
-</PRE>
-<H2>SYNOPSIS</H2><PRE>
+</PRE><H2><a name="h2-SYNOPSIS">SYNOPSIS</a></H2><PRE>
<STRONG>#include</STRONG> <STRONG>&lt;menu.h&gt;</STRONG>
int set_menu_opts(MENU *menu, Menu_Options opts);
int menu_opts_on(MENU *menu, Menu_Options opts);
@@ -60,20 +59,17 @@
Menu_Options menu_opts(const MENU *menu);
-</PRE>
-<H2>DESCRIPTION</H2><PRE>
- The function <STRONG>set_menu_opts</STRONG> sets all the given menu's
- option bits (menu option bits may be logically-OR'ed
- together).
+</PRE><H2><a name="h2-DESCRIPTION">DESCRIPTION</a></H2><PRE>
+ The function <STRONG>set_menu_opts</STRONG> sets all the given menu's option bits (menu
+ option bits may be logically-OR'ed together).
- The function <STRONG>menu_opts_on</STRONG> turns on the given option bits,
- and leaves others alone.
+ The function <STRONG>menu_opts_on</STRONG> turns on the given option bits, and leaves
+ others alone.
- The function <STRONG>menu_opts_off</STRONG> turns off the given option
- bits, and leaves others alone.
+ The function <STRONG>menu_opts_off</STRONG> turns off the given option bits, and leaves
+ others alone.
- The function <STRONG>menu_opts</STRONG> returns the menu's current option
- bits.
+ The function <STRONG>menu_opts</STRONG> returns the menu's current option bits.
The following options are defined (all are on by default):
@@ -81,8 +77,7 @@
Only one item can be selected for this menu.
O_SHOWDESC
- Display the item descriptions when the menu is
- posted.
+ Display the item descriptions when the menu is posted.
O_ROWMAJOR
Display the menu in row-major order.
@@ -91,58 +86,63 @@
Ignore the case when pattern-matching.
O_SHOWMATCH
- Move the cursor to within the item name while pat-
- tern-matching.
+ Move the cursor to within the item name while pattern-matching.
O_NONCYCLIC
- Don't wrap around next-item and previous-item,
- requests to the other end of the menu.
+ Don't wrap around next-item and previous-item, requests to the
+ other end of the menu.
+ O_MOUSE_MENU
+ If user clicks with the mouse and it does not fall on the cur-
+ rently active menu, push <STRONG>KEY_MOUSE</STRONG> and the <STRONG>MEVENT</STRONG> data back on the
+ queue to allow processing in another part of the calling program.
-</PRE>
-<H2>RETURN VALUE</H2><PRE>
- Except for <STRONG>menu_opts</STRONG>, each routine returns one of the fol-
- lowing:
+
+</PRE><H2><a name="h2-RETURN-VALUE">RETURN VALUE</a></H2><PRE>
+ Except for <STRONG>menu_opts</STRONG>, each routine returns one of the following:
<STRONG>E_OK</STRONG> The routine succeeded.
<STRONG>E_SYSTEM_ERROR</STRONG>
- System error occurred (see <STRONG>errno</STRONG>).
+ System error occurred (see <STRONG>errno(3)</STRONG>).
<STRONG>E_POSTED</STRONG>
The menu is already posted.
-</PRE>
-<H2>SEE ALSO</H2><PRE>
+</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="menu.3x.html">menu(3x)</A></STRONG>.
-</PRE>
-<H2>NOTES</H2><PRE>
- The header file <STRONG>&lt;menu.h&gt;</STRONG> automatically includes the header
- file <STRONG>&lt;curses.h&gt;</STRONG>.
+</PRE><H2><a name="h2-NOTES">NOTES</a></H2><PRE>
+ The header file <STRONG>&lt;menu.h&gt;</STRONG> automatically includes the header file
+ <STRONG>&lt;curses.h&gt;</STRONG>.
-</PRE>
-<H2>PORTABILITY</H2><PRE>
- These routines emulate the System V menu library. They
- were not supported on Version 7 or BSD versions.
+</PRE><H2><a name="h2-PORTABILITY">PORTABILITY</a></H2><PRE>
+ These routines emulate the System V menu library. They were not sup-
+ ported on Version 7 or BSD versions.
-</PRE>
-<H2>AUTHORS</H2><PRE>
- Juergen Pfeifer. Manual pages and adaptation for new
- curses by Eric S. Raymond.
+</PRE><H2><a name="h2-AUTHORS">AUTHORS</a></H2><PRE>
+ Juergen Pfeifer. Manual pages and adaptation for new curses by Eric S.
+ Raymond.
- <STRONG><A HREF="menu_opts.3x.html">menu_opts(3x)</A></STRONG>
+ <STRONG><A HREF="menu_opts.3x.html">menu_opts(3x)</A></STRONG>
</PRE>
-<HR>
-<ADDRESS>
-Man(1) output converted with
-<a href="http://www.oac.uci.edu/indiv/ehood/man2html.html">man2html</a>
-</ADDRESS>
+<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>
+<li><a href="#h2-RETURN-VALUE">RETURN VALUE</a></li>
+<li><a href="#h2-SEE-ALSO">SEE ALSO</a></li>
+<li><a href="#h2-NOTES">NOTES</a></li>
+<li><a href="#h2-PORTABILITY">PORTABILITY</a></li>
+<li><a href="#h2-AUTHORS">AUTHORS</a></li>
+</ul>
+</div>
</BODY>
</HTML>
diff --git a/doc/html/man/menu_pattern.3x.html b/doc/html/man/menu_pattern.3x.html
index 4a2f09b3396e..8fea22ab80e0 100644
--- a/doc/html/man/menu_pattern.3x.html
+++ b/doc/html/man/menu_pattern.3x.html
@@ -1,7 +1,6 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN">
<!--
****************************************************************************
- * Copyright (c) 1998-2008,2010 Free Software Foundation, Inc. *
+ * Copyright (c) 1998-2018,2019 Free Software Foundation, Inc. *
* *
* Permission is hereby granted, free of charge, to any person obtaining a *
* copy of this software and associated documentation files (the *
@@ -27,71 +26,61 @@
* sale, use or other dealings in this Software without prior written *
* authorization. *
****************************************************************************
- * @Id: menu_pattern.3x,v 1.13 2010/12/04 18:40:45 tom Exp @
+ * @Id: menu_pattern.3x,v 1.17 2019/01/20 20:32:23 tom Exp @
-->
+<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN">
<HTML>
<HEAD>
+<meta http-equiv="Content-Type" content="text/html; charset=us-ascii">
+<meta name="generator" content="Manpage converted by man2html - see https://invisible-island.net/scripts/readme.html#others_scripts">
<TITLE>menu_pattern 3x</TITLE>
-<link rev=made href="mailto:bug-ncurses@gnu.org">
+<link rel="author" href="mailto:bug-ncurses@gnu.org">
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
</HEAD>
<BODY>
-<H1>menu_pattern 3x</H1>
-<HR>
+<H1 class="no-header">menu_pattern 3x</H1>
<PRE>
-<!-- Manpage converted by man2html 3.0.1 -->
-<STRONG><A HREF="menu_pattern.3x.html">menu_pattern(3x)</A></STRONG> <STRONG><A HREF="menu_pattern.3x.html">menu_pattern(3x)</A></STRONG>
+<STRONG><A HREF="menu_pattern.3x.html">menu_pattern(3x)</A></STRONG> <STRONG><A HREF="menu_pattern.3x.html">menu_pattern(3x)</A></STRONG>
-</PRE>
-<H2>NAME</H2><PRE>
- <STRONG>menu_pattern</STRONG> - get and set a menu's pattern buffer
+</PRE><H2><a name="h2-NAME">NAME</a></H2><PRE>
+ <STRONG>set_menu_pattern</STRONG>, <STRONG>menu_pattern</STRONG> - set and get a menu's pattern buffer
-</PRE>
-<H2>SYNOPSIS</H2><PRE>
+</PRE><H2><a name="h2-SYNOPSIS">SYNOPSIS</a></H2><PRE>
<STRONG>#include</STRONG> <STRONG>&lt;menu.h&gt;</STRONG>
int set_menu_pattern(MENU *menu, const char *pattern);
char *menu_pattern(const MENU *menu);
-</PRE>
-<H2>DESCRIPTION</H2><PRE>
- Every menu has an associated pattern match buffer. As
- input events that are printable characters come in, they
- are appended to this match buffer and tested for a match,
- as described in <STRONG><A HREF="menu_driver.3x.html">menu_driver(3x)</A></STRONG>.
+</PRE><H2><a name="h2-DESCRIPTION">DESCRIPTION</a></H2><PRE>
+ Every menu has an associated pattern match buffer. As input events
+ that are printable characters come in, they are appended to this match
+ buffer and tested for a match, as described in <STRONG><A HREF="menu_driver.3x.html">menu_driver(3x)</A></STRONG>.
- The function <STRONG>set_menu_pattern</STRONG> sets the pattern buffer for
- the given menu and tries to find the first matching item.
- If it succeeds, that item becomes current; if not, the
- current item does not change.
+ The function <STRONG>set_menu_pattern</STRONG> sets the pattern buffer for the given
+ menu and tries to find the first matching item. If it succeeds, that
+ item becomes current; if not, the current item does not change.
- The function <STRONG>menu_pattern</STRONG> returns the pattern buffer of
- the given <EM>menu</EM>.
+ The function <STRONG>menu_pattern</STRONG> returns the pattern buffer of the given <EM>menu</EM>.
-</PRE>
-<H2>RETURN VALUE</H2><PRE>
- The function <STRONG>menu_pattern</STRONG> returns a pointer, which is <STRONG>NULL</STRONG>
- if the <EM>menu</EM> parameter is <STRONG>NULL</STRONG>. Otherwise, it is a pointer
- to a string which is empty if no pattern has been set. It
- does not set errno.
+</PRE><H2><a name="h2-RETURN-VALUE">RETURN VALUE</a></H2><PRE>
+ The function <STRONG>menu_pattern</STRONG> returns a pointer, which is <STRONG>NULL</STRONG> if the <EM>menu</EM>
+ parameter is <STRONG>NULL</STRONG>. Otherwise, it is a pointer to a string which is
+ empty if no pattern has been set. It does not set errno.
- The function <STRONG>set_menu_pattern</STRONG> may return the following
- error codes:
+ The function <STRONG>set_menu_pattern</STRONG> may return the following error codes:
<STRONG>E_OK</STRONG> The routine succeeded.
<STRONG>E_BAD_ARGUMENT</STRONG>
- Routine detected an incorrect or out-of-range argu-
- ment.
+ Routine detected an incorrect or out-of-range argument.
<STRONG>E_BAD_STATE</STRONG>
- Routine was called from an initialization or termina-
- tion function.
+ Routine was called from an initialization or termination function.
<STRONG>E_NOT_CONNECTED</STRONG>
No items are connected to menu.
@@ -100,39 +89,42 @@
Character failed to match.
<STRONG>E_SYSTEM_ERROR</STRONG>
- System error occurred (see <STRONG>errno</STRONG>).
+ System error occurred (see <STRONG>errno(3)</STRONG>).
-</PRE>
-<H2>SEE ALSO</H2><PRE>
+</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="menu.3x.html">menu(3x)</A></STRONG>.
-</PRE>
-<H2>NOTES</H2><PRE>
- The header file <STRONG>&lt;menu.h&gt;</STRONG> automatically includes the header
- file <STRONG>&lt;curses.h&gt;</STRONG>.
+</PRE><H2><a name="h2-NOTES">NOTES</a></H2><PRE>
+ The header file <STRONG>&lt;menu.h&gt;</STRONG> automatically includes the header file
+ <STRONG>&lt;curses.h&gt;</STRONG>.
-</PRE>
-<H2>PORTABILITY</H2><PRE>
- These routines emulate the System V menu library. They
- were not supported on Version 7 or BSD versions.
+</PRE><H2><a name="h2-PORTABILITY">PORTABILITY</a></H2><PRE>
+ These routines emulate the System V menu library. They were not sup-
+ ported on Version 7 or BSD versions.
-</PRE>
-<H2>AUTHORS</H2><PRE>
- Juergen Pfeifer. Manual pages and adaptation for new
- curses by Eric S. Raymond.
+</PRE><H2><a name="h2-AUTHORS">AUTHORS</a></H2><PRE>
+ Juergen Pfeifer. Manual pages and adaptation for new curses by Eric S.
+ Raymond.
- <STRONG><A HREF="menu_pattern.3x.html">menu_pattern(3x)</A></STRONG>
+ <STRONG><A HREF="menu_pattern.3x.html">menu_pattern(3x)</A></STRONG>
</PRE>
-<HR>
-<ADDRESS>
-Man(1) output converted with
-<a href="http://www.oac.uci.edu/indiv/ehood/man2html.html">man2html</a>
-</ADDRESS>
+<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>
+<li><a href="#h2-RETURN-VALUE">RETURN VALUE</a></li>
+<li><a href="#h2-SEE-ALSO">SEE ALSO</a></li>
+<li><a href="#h2-NOTES">NOTES</a></li>
+<li><a href="#h2-PORTABILITY">PORTABILITY</a></li>
+<li><a href="#h2-AUTHORS">AUTHORS</a></li>
+</ul>
+</div>
</BODY>
</HTML>
diff --git a/doc/html/man/menu_post.3x.html b/doc/html/man/menu_post.3x.html
index 0a360e2dca4a..92b57e904794 100644
--- a/doc/html/man/menu_post.3x.html
+++ b/doc/html/man/menu_post.3x.html
@@ -1,8 +1,7 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN">
<!--
* t
****************************************************************************
- * Copyright (c) 1998-2006,2010 Free Software Foundation, Inc. *
+ * Copyright (c) 1998-2018,2019 Free Software Foundation, Inc. *
* *
* Permission is hereby granted, free of charge, to any person obtaining a *
* copy of this software and associated documentation files (the *
@@ -28,73 +27,66 @@
* sale, use or other dealings in this Software without prior written *
* authorization. *
****************************************************************************
- * @Id: menu_post.3x,v 1.11 2010/12/04 18:40:45 tom Exp @
+ * @Id: menu_post.3x,v 1.17 2019/01/20 20:32:23 tom Exp @
-->
+<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN">
<HTML>
<HEAD>
+<meta http-equiv="Content-Type" content="text/html; charset=us-ascii">
+<meta name="generator" content="Manpage converted by man2html - see https://invisible-island.net/scripts/readme.html#others_scripts">
<TITLE>menu_post 3x</TITLE>
-<link rev=made href="mailto:bug-ncurses@gnu.org">
+<link rel="author" href="mailto:bug-ncurses@gnu.org">
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
</HEAD>
<BODY>
-<H1>menu_post 3x</H1>
-<HR>
+<H1 class="no-header">menu_post 3x</H1>
<PRE>
-<!-- Manpage converted by man2html 3.0.1 -->
-<STRONG><A HREF="menu_post.3x.html">menu_post(3x)</A></STRONG> <STRONG><A HREF="menu_post.3x.html">menu_post(3x)</A></STRONG>
+<STRONG><A HREF="menu_post.3x.html">menu_post(3x)</A></STRONG> <STRONG><A HREF="menu_post.3x.html">menu_post(3x)</A></STRONG>
-</PRE>
-<H2>NAME</H2><PRE>
- <STRONG>menu_post</STRONG> - write or erase menus from associated subwin-
+</PRE><H2><a name="h2-NAME">NAME</a></H2><PRE>
+ <STRONG>post_menu</STRONG>, <STRONG>unpost_menu</STRONG> - write or erase menus from associated subwin-
dows
-</PRE>
-<H2>SYNOPSIS</H2><PRE>
+</PRE><H2><a name="h2-SYNOPSIS">SYNOPSIS</a></H2><PRE>
<STRONG>#include</STRONG> <STRONG>&lt;menu.h&gt;</STRONG>
int post_menu(MENU *menu);
int unpost_menu(MENU *menu);
-</PRE>
-<H2>DESCRIPTION</H2><PRE>
- The function <STRONG>post_menu</STRONG> displays a menu to its associated
- subwindow. To trigger physical display of the subwindow,
- use <STRONG>refresh</STRONG> or some equivalent <STRONG>curses</STRONG> routine (the
- implicit <STRONG>doupdate</STRONG> triggered by an <STRONG>curses</STRONG> input request
- will do). <STRONG>post_menu</STRONG> resets the selection status of all
+</PRE><H2><a name="h2-DESCRIPTION">DESCRIPTION</a></H2><PRE>
+ The function <STRONG>post_menu</STRONG> displays a menu to its associated subwindow. To
+ trigger physical display of the subwindow, use <STRONG><A HREF="curs_refresh.3x.html">refresh(3x)</A></STRONG> or some
+ equivalent <STRONG>curses</STRONG> routine (the implicit <STRONG>doupdate</STRONG> triggered by an <STRONG>curses</STRONG>
+ input request will do). <STRONG>post_menu</STRONG> resets the selection status of all
items.
- The function <STRONG>unpost_menu</STRONG> erases menu from its associated
- subwindow.
+ The function <STRONG>unpost_menu</STRONG> erases menu from its associated subwindow.
-</PRE>
-<H2>RETURN VALUE</H2><PRE>
+</PRE><H2><a name="h2-RETURN-VALUE">RETURN VALUE</a></H2><PRE>
These routines return one of the following:
<STRONG>E_OK</STRONG> The routine succeeded.
<STRONG>E_SYSTEM_ERROR</STRONG>
- System error occurred (see <STRONG>errno</STRONG>).
+ System error occurred (see <STRONG>errno(3)</STRONG>).
<STRONG>E_BAD_ARGUMENT</STRONG>
- Routine detected an incorrect or out-of-range argu-
- ment.
+ Routine detected an incorrect or out-of-range argument.
<STRONG>E_POSTED</STRONG>
The menu has already been posted.
<STRONG>E_BAD_STATE</STRONG>
- Routine was called from an initialization or termina-
- tion function.
+ Routine was called from an initialization or termination function.
<STRONG>E_NO_ROOM</STRONG>
- Menu is too large for its window. You should consider
- to use <STRONG>set_menu_format()</STRONG> to solve the problem.
+ Menu is too large for its window. You should consider using
+ <STRONG>set_menu_format</STRONG> to solve the problem.
<STRONG>E_NOT_POSTED</STRONG>
The menu has not been posted.
@@ -103,36 +95,39 @@
No items are connected to the menu.
-</PRE>
-<H2>SEE ALSO</H2><PRE>
+</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="menu.3x.html">menu(3x)</A></STRONG>.
-</PRE>
-<H2>NOTES</H2><PRE>
- The header file <STRONG>&lt;menu.h&gt;</STRONG> automatically includes the header
- file <STRONG>&lt;curses.h&gt;</STRONG>.
+</PRE><H2><a name="h2-NOTES">NOTES</a></H2><PRE>
+ The header file <STRONG>&lt;menu.h&gt;</STRONG> automatically includes the header file
+ <STRONG>&lt;curses.h&gt;</STRONG>.
-</PRE>
-<H2>PORTABILITY</H2><PRE>
- These routines emulate the System V menu library. They
- were not supported on Version 7 or BSD versions.
+</PRE><H2><a name="h2-PORTABILITY">PORTABILITY</a></H2><PRE>
+ These routines emulate the System V menu library. They were not sup-
+ ported on Version 7 or BSD versions.
-</PRE>
-<H2>AUTHORS</H2><PRE>
- Juergen Pfeifer. Manual pages and adaptation for new
- curses by Eric S. Raymond.
+</PRE><H2><a name="h2-AUTHORS">AUTHORS</a></H2><PRE>
+ Juergen Pfeifer. Manual pages and adaptation for new curses by Eric S.
+ Raymond.
- <STRONG><A HREF="menu_post.3x.html">menu_post(3x)</A></STRONG>
+ <STRONG><A HREF="menu_post.3x.html">menu_post(3x)</A></STRONG>
</PRE>
-<HR>
-<ADDRESS>
-Man(1) output converted with
-<a href="http://www.oac.uci.edu/indiv/ehood/man2html.html">man2html</a>
-</ADDRESS>
+<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>
+<li><a href="#h2-RETURN-VALUE">RETURN VALUE</a></li>
+<li><a href="#h2-SEE-ALSO">SEE ALSO</a></li>
+<li><a href="#h2-NOTES">NOTES</a></li>
+<li><a href="#h2-PORTABILITY">PORTABILITY</a></li>
+<li><a href="#h2-AUTHORS">AUTHORS</a></li>
+</ul>
+</div>
</BODY>
</HTML>
diff --git a/doc/html/man/menu_requestname.3x.html b/doc/html/man/menu_requestname.3x.html
index 43c6ef569979..a6cff4cccaa6 100644
--- a/doc/html/man/menu_requestname.3x.html
+++ b/doc/html/man/menu_requestname.3x.html
@@ -1,8 +1,7 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN">
<!--
* t
****************************************************************************
- * Copyright (c) 1998-2006,2010 Free Software Foundation, Inc. *
+ * Copyright (c) 1998-2015,2018 Free Software Foundation, Inc. *
* *
* Permission is hereby granted, free of charge, to any person obtaining a *
* copy of this software and associated documentation files (the *
@@ -28,85 +27,85 @@
* sale, use or other dealings in this Software without prior written *
* authorization. *
****************************************************************************
- * @Id: menu_requestname.3x,v 1.9 2010/12/04 18:40:45 tom Exp @
+ * @Id: menu_requestname.3x,v 1.11 2018/07/28 21:34:06 tom Exp @
-->
+<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN">
<HTML>
<HEAD>
+<meta http-equiv="Content-Type" content="text/html; charset=us-ascii">
+<meta name="generator" content="Manpage converted by man2html - see https://invisible-island.net/scripts/readme.html#others_scripts">
<TITLE>menu_requestname 3x</TITLE>
-<link rev=made href="mailto:bug-ncurses@gnu.org">
+<link rel="author" href="mailto:bug-ncurses@gnu.org">
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
</HEAD>
<BODY>
-<H1>menu_requestname 3x</H1>
-<HR>
+<H1 class="no-header">menu_requestname 3x</H1>
<PRE>
-<!-- Manpage converted by man2html 3.0.1 -->
-<STRONG><A HREF="menu_requestname.3x.html">menu_requestname(3x)</A></STRONG> <STRONG><A HREF="menu_requestname.3x.html">menu_requestname(3x)</A></STRONG>
+<STRONG><A HREF="menu_requestname.3x.html">menu_requestname(3x)</A></STRONG> <STRONG><A HREF="menu_requestname.3x.html">menu_requestname(3x)</A></STRONG>
-</PRE>
-<H2>NAME</H2><PRE>
- <STRONG>menu_requestname</STRONG> - handle printable menu request names
+</PRE><H2><a name="h2-NAME">NAME</a></H2><PRE>
+ <STRONG>menu_request_by_name</STRONG>, <STRONG>menu_request_name</STRONG> - handle printable menu request
+ names
-</PRE>
-<H2>SYNOPSIS</H2><PRE>
+</PRE><H2><a name="h2-SYNOPSIS">SYNOPSIS</a></H2><PRE>
<STRONG>#include</STRONG> <STRONG>&lt;menu.h&gt;</STRONG>
const char *menu_request_name(int request);
int menu_request_by_name(const char *name);
-</PRE>
-<H2>DESCRIPTION</H2><PRE>
- The function <STRONG>menu_request_name</STRONG> returns the printable name
- of a menu request code.
- The function <STRONG>menu_request_by_name</STRONG> searches in the name-ta-
- ble for a request with the given name and returns its
- request code. Otherwise E_NO_MATCH is returned.
+</PRE><H2><a name="h2-DESCRIPTION">DESCRIPTION</a></H2><PRE>
+ The function <STRONG>menu_request_name</STRONG> returns the printable name of a menu
+ request code.
+ The function <STRONG>menu_request_by_name</STRONG> searches in the name-table for a
+ request with the given name and returns its request code. Otherwise
+ E_NO_MATCH is returned.
-</PRE>
-<H2>RETURN VALUE</H2><PRE>
- <STRONG>menu_request_name</STRONG> returns <STRONG>NULL</STRONG> on error and sets errno to
- <STRONG>E_BAD_ARGUMENT</STRONG>.
- <STRONG>menu_request_by_name</STRONG> returns <STRONG>E_NO_MATCH</STRONG> on error. It does
- not set errno.
+</PRE><H2><a name="h2-RETURN-VALUE">RETURN VALUE</a></H2><PRE>
+ <STRONG>menu_request_name</STRONG> returns <STRONG>NULL</STRONG> on error and sets errno to <STRONG>E_BAD_ARGU-</STRONG>
+ <STRONG>MENT</STRONG>.
+ <STRONG>menu_request_by_name</STRONG> returns <STRONG>E_NO_MATCH</STRONG> on error. It does not set
+ errno.
-</PRE>
-<H2>SEE ALSO</H2><PRE>
+</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="menu.3x.html">menu(3x)</A></STRONG>.
-</PRE>
-<H2>NOTES</H2><PRE>
- The header file <STRONG>&lt;menu.h&gt;</STRONG> automatically includes the header
- file <STRONG>&lt;curses.h&gt;</STRONG>.
+</PRE><H2><a name="h2-NOTES">NOTES</a></H2><PRE>
+ The header file <STRONG>&lt;menu.h&gt;</STRONG> automatically includes the header file
+ <STRONG>&lt;curses.h&gt;</STRONG>.
-</PRE>
-<H2>PORTABILITY</H2><PRE>
- These routines are specific to ncurses. They were not
- supported on Version 7, BSD or System V implementations.
- It is recommended that any code depending on them be con-
- ditioned using NCURSES_VERSION.
+</PRE><H2><a name="h2-PORTABILITY">PORTABILITY</a></H2><PRE>
+ These routines are specific to ncurses. 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.
-</PRE>
-<H2>AUTHORS</H2><PRE>
- Juergen Pfeifer. Manual pages and adaptation for new
- curses by Eric S. Raymond.
+</PRE><H2><a name="h2-AUTHORS">AUTHORS</a></H2><PRE>
+ Juergen Pfeifer. Manual pages and adaptation for new curses by Eric S.
+ Raymond.
- <STRONG><A HREF="menu_requestname.3x.html">menu_requestname(3x)</A></STRONG>
+ <STRONG><A HREF="menu_requestname.3x.html">menu_requestname(3x)</A></STRONG>
</PRE>
-<HR>
-<ADDRESS>
-Man(1) output converted with
-<a href="http://www.oac.uci.edu/indiv/ehood/man2html.html">man2html</a>
-</ADDRESS>
+<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>
+<li><a href="#h2-RETURN-VALUE">RETURN VALUE</a></li>
+<li><a href="#h2-SEE-ALSO">SEE ALSO</a></li>
+<li><a href="#h2-NOTES">NOTES</a></li>
+<li><a href="#h2-PORTABILITY">PORTABILITY</a></li>
+<li><a href="#h2-AUTHORS">AUTHORS</a></li>
+</ul>
+</div>
</BODY>
</HTML>
diff --git a/doc/html/man/menu_spacing.3x.html b/doc/html/man/menu_spacing.3x.html
index 50f3b52b84ee..13e64d8a1df2 100644
--- a/doc/html/man/menu_spacing.3x.html
+++ b/doc/html/man/menu_spacing.3x.html
@@ -1,8 +1,7 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN">
<!--
* t
****************************************************************************
- * Copyright (c) 1998-2004,2010 Free Software Foundation, Inc. *
+ * Copyright (c) 1998-2018,2019 Free Software Foundation, Inc. *
* *
* Permission is hereby granted, free of charge, to any person obtaining a *
* copy of this software and associated documentation files (the *
@@ -28,31 +27,31 @@
* sale, use or other dealings in this Software without prior written *
* authorization. *
****************************************************************************
- * @Id: menu_spacing.3x,v 1.12 2010/12/04 18:38:55 tom Exp @
+ * @Id: menu_spacing.3x,v 1.15 2019/06/01 22:33:45 tom Exp @
-->
+<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN">
<HTML>
<HEAD>
+<meta http-equiv="Content-Type" content="text/html; charset=us-ascii">
+<meta name="generator" content="Manpage converted by man2html - see https://invisible-island.net/scripts/readme.html#others_scripts">
<TITLE>menu_spacing 3x</TITLE>
-<link rev=made href="mailto:bug-ncurses@gnu.org">
+<link rel="author" href="mailto:bug-ncurses@gnu.org">
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
</HEAD>
<BODY>
-<H1>menu_spacing 3x</H1>
-<HR>
+<H1 class="no-header">menu_spacing 3x</H1>
<PRE>
-<!-- Manpage converted by man2html 3.0.1 -->
-<STRONG><A HREF="menu_spacing.3x.html">menu_spacing(3x)</A></STRONG> <STRONG><A HREF="menu_spacing.3x.html">menu_spacing(3x)</A></STRONG>
+<STRONG><A HREF="menu_spacing.3x.html">menu_spacing(3x)</A></STRONG> <STRONG><A HREF="menu_spacing.3x.html">menu_spacing(3x)</A></STRONG>
-</PRE>
-<H2>NAME</H2><PRE>
- <STRONG>menu_spacing</STRONG> - Control spacing between menu items.
+</PRE><H2><a name="h2-NAME">NAME</a></H2><PRE>
+ <STRONG>set_menu_spacing</STRONG>, <STRONG>menu_spacing</STRONG> - set and get spacing between menu
+ items.
-</PRE>
-<H2>SYNOPSIS</H2><PRE>
+</PRE><H2><a name="h2-SYNOPSIS">SYNOPSIS</a></H2><PRE>
<STRONG>#include</STRONG> <STRONG>&lt;menu.h&gt;</STRONG>
int set_menu_spacing(MENU *menu,
int spc_description,
@@ -64,66 +63,63 @@
int* spc_columns);
-</PRE>
-<H2>DESCRIPTION</H2><PRE>
- The function <STRONG>set_menu_spacing</STRONG> sets the spacing information
- for the menu. Its parameter <STRONG>spc_description</STRONG> controls the
- number of spaces between an item name and an item descrip-
- tion. It must not be larger than <STRONG>TABSIZE</STRONG>. The menu sys-
- tem puts in the middle of this spacing area the pad char-
- acter. The remaining parts are filled with spaces. The
- <STRONG>spc_rows</STRONG> parameter controls the number of rows that are
- used for an item. It must not be larger than 3. The menu
- system inserts the blank lines between item rows, these
- lines will contain the pad character in the appropriate
- positions. The <STRONG>spc_columns</STRONG> parameter controls the number
- of blanks between columns of items. It must not be larger
- than TABSIZE. A value of 0 for all the spacing values
- resets them to the default, which is 1 for all of them.
- The function <STRONG>menu_spacing</STRONG> passes back the spacing info for
- the menu. If a pointer is NULL, this specific info is
- simply not returned.
+</PRE><H2><a name="h2-DESCRIPTION">DESCRIPTION</a></H2><PRE>
+ The function <STRONG>set_menu_spacing</STRONG> sets the spacing information for the
+ menu. Its parameter <STRONG>spc_description</STRONG> controls the number of spaces
+ between an item name and an item description. It must not be larger
+ than <STRONG>TABSIZE</STRONG>. The menu system puts in the middle of this spacing area
+ the pad character. The remaining parts are filled with spaces. The
+ <STRONG>spc_rows</STRONG> parameter controls the number of rows that are used for an
+ item. It must not be larger than 3. The menu system inserts the blank
+ lines between item rows, these lines will contain the pad character in
+ the appropriate positions. The <STRONG>spc_columns</STRONG> parameter controls the num-
+ ber of blanks between columns of items. It must not be larger than
+ <STRONG>TABSIZE</STRONG>. A value of 0 for all the spacing values resets them to the
+ default, which is 1 for all of them.
+ The function <STRONG>menu_spacing</STRONG> passes back the spacing info for the menu.
+ If a pointer is NULL, this specific info is simply not returned.
-</PRE>
-<H2>RETURN VALUE</H2><PRE>
- Both routines return <STRONG>E_OK</STRONG> on success. <STRONG>set_menu_spacing</STRONG>
- may return <STRONG>E_POSTED</STRONG> if the menu is posted, or <STRONG>E_BAD_ARGU-</STRONG>
- <STRONG>MENT</STRONG> if one of the spacing values is out of range.
+</PRE><H2><a name="h2-RETURN-VALUE">RETURN VALUE</a></H2><PRE>
+ Both routines return <STRONG>E_OK</STRONG> on success. <STRONG>set_menu_spacing</STRONG> may return
+ <STRONG>E_POSTED</STRONG> if the menu is posted, or <STRONG>E_BAD_ARGUMENT</STRONG> if one of the spacing
+ values is out of range.
-</PRE>
-<H2>SEE ALSO</H2><PRE>
+</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_variables.3x.html">curs_variables(3x)</A></STRONG>, <STRONG><A HREF="menu.3x.html">menu(3x)</A></STRONG>.
-</PRE>
-<H2>NOTES</H2><PRE>
- The header file <STRONG>&lt;menu.h&gt;</STRONG> automatically includes the header
- file <STRONG>&lt;curses.h&gt;</STRONG>.
+</PRE><H2><a name="h2-NOTES">NOTES</a></H2><PRE>
+ The header file <STRONG>&lt;menu.h&gt;</STRONG> automatically includes the header file
+ <STRONG>&lt;curses.h&gt;</STRONG>.
-</PRE>
-<H2>PORTABILITY</H2><PRE>
- These routines are specific to ncurses. They were not
- supported on Version 7, BSD or System V implementations.
- It is recommended that any code depending on them be con-
- ditioned using NCURSES_VERSION.
+</PRE><H2><a name="h2-PORTABILITY">PORTABILITY</a></H2><PRE>
+ These routines are specific to ncurses. 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.
-</PRE>
-<H2>AUTHORS</H2><PRE>
- Juergen Pfeifer. Manual pages and adaptation for new
- curses by Eric S. Raymond.
+</PRE><H2><a name="h2-AUTHORS">AUTHORS</a></H2><PRE>
+ Juergen Pfeifer. Manual pages and adaptation for new curses by Eric S.
+ Raymond.
- <STRONG><A HREF="menu_spacing.3x.html">menu_spacing(3x)</A></STRONG>
+ <STRONG><A HREF="menu_spacing.3x.html">menu_spacing(3x)</A></STRONG>
</PRE>
-<HR>
-<ADDRESS>
-Man(1) output converted with
-<a href="http://www.oac.uci.edu/indiv/ehood/man2html.html">man2html</a>
-</ADDRESS>
+<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>
+<li><a href="#h2-RETURN-VALUE">RETURN VALUE</a></li>
+<li><a href="#h2-SEE-ALSO">SEE ALSO</a></li>
+<li><a href="#h2-NOTES">NOTES</a></li>
+<li><a href="#h2-PORTABILITY">PORTABILITY</a></li>
+<li><a href="#h2-AUTHORS">AUTHORS</a></li>
+</ul>
+</div>
</BODY>
</HTML>
diff --git a/doc/html/man/menu_userptr.3x.html b/doc/html/man/menu_userptr.3x.html
index 816c3f895693..d50ad455b97e 100644
--- a/doc/html/man/menu_userptr.3x.html
+++ b/doc/html/man/menu_userptr.3x.html
@@ -1,8 +1,7 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN">
<!--
* t
****************************************************************************
- * Copyright (c) 1998-2006,2010 Free Software Foundation, Inc. *
+ * Copyright (c) 1998-2015,2018 Free Software Foundation, Inc. *
* *
* Permission is hereby granted, free of charge, to any person obtaining a *
* copy of this software and associated documentation files (the *
@@ -28,85 +27,85 @@
* sale, use or other dealings in this Software without prior written *
* authorization. *
****************************************************************************
- * @Id: menu_userptr.3x,v 1.10 2010/12/04 18:40:45 tom Exp @
+ * @Id: menu_userptr.3x,v 1.12 2018/07/28 21:34:06 tom Exp @
-->
+<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN">
<HTML>
<HEAD>
+<meta http-equiv="Content-Type" content="text/html; charset=us-ascii">
+<meta name="generator" content="Manpage converted by man2html - see https://invisible-island.net/scripts/readme.html#others_scripts">
<TITLE>menu_userptr 3x</TITLE>
-<link rev=made href="mailto:bug-ncurses@gnu.org">
+<link rel="author" href="mailto:bug-ncurses@gnu.org">
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
</HEAD>
<BODY>
-<H1>menu_userptr 3x</H1>
-<HR>
+<H1 class="no-header">menu_userptr 3x</H1>
<PRE>
-<!-- Manpage converted by man2html 3.0.1 -->
-<STRONG><A HREF="menu_userptr.3x.html">menu_userptr(3x)</A></STRONG> <STRONG><A HREF="menu_userptr.3x.html">menu_userptr(3x)</A></STRONG>
+<STRONG><A HREF="menu_userptr.3x.html">menu_userptr(3x)</A></STRONG> <STRONG><A HREF="menu_userptr.3x.html">menu_userptr(3x)</A></STRONG>
-</PRE>
-<H2>NAME</H2><PRE>
- <STRONG>menu_userptr</STRONG> - associate application data with a menu item
+</PRE><H2><a name="h2-NAME">NAME</a></H2><PRE>
+ <STRONG>set_menu_userptr</STRONG>, <STRONG>menu_userptr</STRONG> - associate application data with a menu
+ item
-</PRE>
-<H2>SYNOPSIS</H2><PRE>
+</PRE><H2><a name="h2-SYNOPSIS">SYNOPSIS</a></H2><PRE>
<STRONG>#include</STRONG> <STRONG>&lt;menu.h&gt;</STRONG>
int set_menu_userptr(MENU *menu, void *userptr);
void *menu_userptr(const MENU *menu);
-</PRE>
-<H2>DESCRIPTION</H2><PRE>
- Every menu and every menu item has a field that can be
- used to hold application-specific data (that is, the menu-
- driver code leaves it alone). These functions get and set
- the menu user pointer field.
+</PRE><H2><a name="h2-DESCRIPTION">DESCRIPTION</a></H2><PRE>
+ Every menu and every menu item has a field that can be used to hold
+ application-specific data (that is, the menu-driver code leaves it
+ alone). These functions get and set the menu user pointer field.
-</PRE>
-<H2>RETURN VALUE</H2><PRE>
- <STRONG>menu_userptr</STRONG> returns a pointer (which may be <STRONG>NULL</STRONG>). It
- does not set errno.
+</PRE><H2><a name="h2-RETURN-VALUE">RETURN VALUE</a></H2><PRE>
+ <STRONG>menu_userptr</STRONG> returns a pointer (which may be <STRONG>NULL</STRONG>). It does not set
+ errno.
<STRONG>set_menu_userptr</STRONG> returns <STRONG>E_OK</STRONG> (success).
-</PRE>
-<H2>SEE ALSO</H2><PRE>
+</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="menu.3x.html">menu(3x)</A></STRONG>.
-</PRE>
-<H2>NOTES</H2><PRE>
- The header file <STRONG>&lt;menu.h&gt;</STRONG> automatically includes the header
- file <STRONG>&lt;curses.h&gt;</STRONG>.
+</PRE><H2><a name="h2-NOTES">NOTES</a></H2><PRE>
+ The header file <STRONG>&lt;menu.h&gt;</STRONG> automatically includes the header file
+ <STRONG>&lt;curses.h&gt;</STRONG>.
-</PRE>
-<H2>PORTABILITY</H2><PRE>
- These routines emulate the System V menu library. They
- were not supported on Version 7 or BSD versions.
+</PRE><H2><a name="h2-PORTABILITY">PORTABILITY</a></H2><PRE>
+ These routines emulate the System V menu library. They were not sup-
+ ported on Version 7 or BSD versions.
- The user pointer is a void pointer. We chose not to leave
- it as a char pointer for SVr4 compatibility.
+ The user pointer is a void pointer. We chose not to leave it as a char
+ pointer for SVr4 compatibility.
-</PRE>
-<H2>AUTHORS</H2><PRE>
- Juergen Pfeifer. Manual pages and adaptation for new
- curses by Eric S. Raymond.
+</PRE><H2><a name="h2-AUTHORS">AUTHORS</a></H2><PRE>
+ Juergen Pfeifer. Manual pages and adaptation for new curses by Eric S.
+ Raymond.
- <STRONG><A HREF="menu_userptr.3x.html">menu_userptr(3x)</A></STRONG>
+ <STRONG><A HREF="menu_userptr.3x.html">menu_userptr(3x)</A></STRONG>
</PRE>
-<HR>
-<ADDRESS>
-Man(1) output converted with
-<a href="http://www.oac.uci.edu/indiv/ehood/man2html.html">man2html</a>
-</ADDRESS>
+<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>
+<li><a href="#h2-RETURN-VALUE">RETURN VALUE</a></li>
+<li><a href="#h2-SEE-ALSO">SEE ALSO</a></li>
+<li><a href="#h2-NOTES">NOTES</a></li>
+<li><a href="#h2-PORTABILITY">PORTABILITY</a></li>
+<li><a href="#h2-AUTHORS">AUTHORS</a></li>
+</ul>
+</div>
</BODY>
</HTML>
diff --git a/doc/html/man/menu_win.3x.html b/doc/html/man/menu_win.3x.html
index db62b23c3d24..70778b9dd8e7 100644
--- a/doc/html/man/menu_win.3x.html
+++ b/doc/html/man/menu_win.3x.html
@@ -1,8 +1,7 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN">
<!--
* t
****************************************************************************
- * Copyright (c) 1998-2006,2010 Free Software Foundation, Inc. *
+ * Copyright (c) 1998-2018,2019 Free Software Foundation, Inc. *
* *
* Permission is hereby granted, free of charge, to any person obtaining a *
* copy of this software and associated documentation files (the *
@@ -28,32 +27,30 @@
* sale, use or other dealings in this Software without prior written *
* authorization. *
****************************************************************************
- * @Id: menu_win.3x,v 1.11 2010/12/04 18:38:55 tom Exp @
+ * @Id: menu_win.3x,v 1.13 2019/01/20 20:32:23 tom Exp @
-->
+<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN">
<HTML>
<HEAD>
+<meta http-equiv="Content-Type" content="text/html; charset=us-ascii">
+<meta name="generator" content="Manpage converted by man2html - see https://invisible-island.net/scripts/readme.html#others_scripts">
<TITLE>menu_win 3x</TITLE>
-<link rev=made href="mailto:bug-ncurses@gnu.org">
+<link rel="author" href="mailto:bug-ncurses@gnu.org">
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
</HEAD>
<BODY>
-<H1>menu_win 3x</H1>
-<HR>
+<H1 class="no-header">menu_win 3x</H1>
<PRE>
-<!-- Manpage converted by man2html 3.0.1 -->
-<STRONG><A HREF="menu_win.3x.html">menu_win(3x)</A></STRONG> <STRONG><A HREF="menu_win.3x.html">menu_win(3x)</A></STRONG>
+<STRONG><A HREF="menu_win.3x.html">menu_win(3x)</A></STRONG> <STRONG><A HREF="menu_win.3x.html">menu_win(3x)</A></STRONG>
-</PRE>
-<H2>NAME</H2><PRE>
- <STRONG>menu_win</STRONG> - make and break menu window and subwindow asso-
- ciations
+</PRE><H2><a name="h2-NAME">NAME</a></H2><PRE>
+ <STRONG>menu_win</STRONG> - make and break menu window and subwindow associations
-</PRE>
-<H2>SYNOPSIS</H2><PRE>
+</PRE><H2><a name="h2-SYNOPSIS">SYNOPSIS</a></H2><PRE>
<STRONG>#include</STRONG> <STRONG>&lt;menu.h&gt;</STRONG>
int set_menu_win(MENU *menu, WINDOW *win);
WINDOW *menu_win(const MENU *menu);
@@ -62,40 +59,35 @@
int scale_menu(const MENU *menu, int *rows, int *columns);
-</PRE>
-<H2>DESCRIPTION</H2><PRE>
- Every menu has an associated pair of <STRONG>curses</STRONG> windows. The
- menu window displays any title and border associated with
- the window; the menu subwindow displays the items of the
- menu that are currently available for selection.
+</PRE><H2><a name="h2-DESCRIPTION">DESCRIPTION</a></H2><PRE>
+ Every menu has an associated pair of <STRONG>curses</STRONG> windows. The menu window
+ displays any title and border associated with the window; the menu sub-
+ window displays the items of the menu that are currently available for
+ selection.
- The first four functions get and set those windows. It is
- not necessary to set either window; by default, the driver
- code uses <STRONG>stdscr</STRONG> for both.
+ The first four functions get and set those windows. It is not neces-
+ sary to set either window; by default, the driver code uses <STRONG>stdscr</STRONG> for
+ both.
- In the <STRONG>set_</STRONG> functions, window argument of <STRONG>NULL</STRONG> is treated
- as though it were <STRONG>stsdcr</STRONG>. A menu argument of <STRONG>NULL</STRONG> is
- treated as a request to change the system default menu
- window or subwindow.
+ In the <STRONG>set_</STRONG> functions, window argument of <STRONG>NULL</STRONG> is treated as though it
+ were <STRONG>stsdcr</STRONG>. A menu argument of <STRONG>NULL</STRONG> is treated as a request to change
+ the system default menu window or subwindow.
- The function <STRONG>scale_menu</STRONG> returns the minimum size required
- for the subwindow of <EM>menu</EM>.
+ The function <STRONG>scale_menu</STRONG> returns the minimum size required for the sub-
+ window of <EM>menu</EM>.
-</PRE>
-<H2>RETURN VALUE</H2><PRE>
- Routines that return pointers return <STRONG>NULL</STRONG> on error. Rou-
- tines that return an integer return one of the following
- error codes:
+</PRE><H2><a name="h2-RETURN-VALUE">RETURN VALUE</a></H2><PRE>
+ Routines that return pointers return <STRONG>NULL</STRONG> on error. Routines that
+ return an integer return one of the following error codes:
<STRONG>E_OK</STRONG> The routine succeeded.
<STRONG>E_SYSTEM_ERROR</STRONG>
- System error occurred (see <STRONG>errno</STRONG>).
+ System error occurred (see <STRONG>errno(3)</STRONG>).
<STRONG>E_BAD_ARGUMENT</STRONG>
- Routine detected an incorrect or out-of-range argu-
- ment.
+ Routine detected an incorrect or out-of-range argument.
<STRONG>E_POSTED</STRONG>
The menu has already been posted.
@@ -104,36 +96,39 @@
No items are connected to the menu.
-</PRE>
-<H2>SEE ALSO</H2><PRE>
+</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_variables.3x.html">curs_variables(3x)</A></STRONG>, <STRONG><A HREF="menu.3x.html">menu(3x)</A></STRONG>.
-</PRE>
-<H2>NOTES</H2><PRE>
- The header file <STRONG>&lt;menu.h&gt;</STRONG> automatically includes the header
- file <STRONG>&lt;curses.h&gt;</STRONG>.
+</PRE><H2><a name="h2-NOTES">NOTES</a></H2><PRE>
+ The header file <STRONG>&lt;menu.h&gt;</STRONG> automatically includes the header file
+ <STRONG>&lt;curses.h&gt;</STRONG>.
-</PRE>
-<H2>PORTABILITY</H2><PRE>
- These routines emulate the System V menu library. They
- were not supported on Version 7 or BSD versions.
+</PRE><H2><a name="h2-PORTABILITY">PORTABILITY</a></H2><PRE>
+ These routines emulate the System V menu library. They were not sup-
+ ported on Version 7 or BSD versions.
-</PRE>
-<H2>AUTHORS</H2><PRE>
- Juergen Pfeifer. Manual pages and adaptation for new
- curses by Eric S. Raymond.
+</PRE><H2><a name="h2-AUTHORS">AUTHORS</a></H2><PRE>
+ Juergen Pfeifer. Manual pages and adaptation for new curses by Eric S.
+ Raymond.
- <STRONG><A HREF="menu_win.3x.html">menu_win(3x)</A></STRONG>
+ <STRONG><A HREF="menu_win.3x.html">menu_win(3x)</A></STRONG>
</PRE>
-<HR>
-<ADDRESS>
-Man(1) output converted with
-<a href="http://www.oac.uci.edu/indiv/ehood/man2html.html">man2html</a>
-</ADDRESS>
+<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>
+<li><a href="#h2-RETURN-VALUE">RETURN VALUE</a></li>
+<li><a href="#h2-SEE-ALSO">SEE ALSO</a></li>
+<li><a href="#h2-NOTES">NOTES</a></li>
+<li><a href="#h2-PORTABILITY">PORTABILITY</a></li>
+<li><a href="#h2-AUTHORS">AUTHORS</a></li>
+</ul>
+</div>
</BODY>
</HTML>
diff --git a/doc/html/man/mitem_current.3x.html b/doc/html/man/mitem_current.3x.html
index 964aa9d7cf8d..3f62802197ec 100644
--- a/doc/html/man/mitem_current.3x.html
+++ b/doc/html/man/mitem_current.3x.html
@@ -1,8 +1,7 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN">
<!--
* t
****************************************************************************
- * Copyright (c) 1998-2006,2010 Free Software Foundation, Inc. *
+ * Copyright (c) 1998-2018,2019 Free Software Foundation, Inc. *
* *
* Permission is hereby granted, free of charge, to any person obtaining a *
* copy of this software and associated documentation files (the *
@@ -28,119 +27,113 @@
* sale, use or other dealings in this Software without prior written *
* authorization. *
****************************************************************************
- * @Id: mitem_current.3x,v 1.13 2010/12/04 18:40:45 tom Exp @
+ * @Id: mitem_current.3x,v 1.16 2019/03/23 21:47:36 tom Exp @
-->
+<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN">
<HTML>
<HEAD>
+<meta http-equiv="Content-Type" content="text/html; charset=us-ascii">
+<meta name="generator" content="Manpage converted by man2html - see https://invisible-island.net/scripts/readme.html#others_scripts">
<TITLE>mitem_current 3x</TITLE>
-<link rev=made href="mailto:bug-ncurses@gnu.org">
+<link rel="author" href="mailto:bug-ncurses@gnu.org">
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
</HEAD>
<BODY>
-<H1>mitem_current 3x</H1>
-<HR>
+<H1 class="no-header">mitem_current 3x</H1>
<PRE>
-<!-- Manpage converted by man2html 3.0.1 -->
-<STRONG><A HREF="mitem_current.3x.html">mitem_current(3x)</A></STRONG> <STRONG><A HREF="mitem_current.3x.html">mitem_current(3x)</A></STRONG>
+<STRONG><A HREF="mitem_current.3x.html">mitem_current(3x)</A></STRONG> <STRONG><A HREF="mitem_current.3x.html">mitem_current(3x)</A></STRONG>
-</PRE>
-<H2>NAME</H2><PRE>
+</PRE><H2><a name="h2-NAME">NAME</a></H2><PRE>
<STRONG>mitem_current</STRONG> - set and get current_menu_item
-</PRE>
-<H2>SYNOPSIS</H2><PRE>
+</PRE><H2><a name="h2-SYNOPSIS">SYNOPSIS</a></H2><PRE>
<STRONG>#include</STRONG> <STRONG>&lt;menu.h&gt;</STRONG>
- int set_current_item(MENU *menu, const ITEM *item);
+ int set_current_item(MENU *menu, ITEM *item);
ITEM *current_item(const MENU *menu);
int set_top_row(MENU *menu, int row);
int top_row(const MENU *menu);
int item_index(const ITEM *item);
-</PRE>
-<H2>DESCRIPTION</H2><PRE>
- The function <STRONG>set_current_item</STRONG> sets the current item (the
- item on which the menu cursor is positioned). <STRONG>cur-</STRONG>
- <STRONG>rent_item</STRONG> returns a pointer to the current item in the
- given menu.
-
- The function <STRONG>set_top_row</STRONG> sets the top row of the menu to
- show the given row (the top row is initially 0, and is
- reset to this value whenever the <STRONG>O_ROWMAJOR</STRONG> option is tog-
- gled). The item leftmost on the given row becomes cur-
- rent. The function <STRONG>top_row</STRONG> returns the number of the top
+</PRE><H2><a name="h2-DESCRIPTION">DESCRIPTION</a></H2><PRE>
+ The function <STRONG>set_current_item</STRONG> sets the current item (the item on which
+ the menu cursor is positioned). <STRONG>current_item</STRONG> returns a pointer to the
+ current item in the given menu.
+
+ The function <STRONG>set_top_row</STRONG> sets the top row of the menu to show the given
+ row (the top row is initially 0, and is reset to this value whenever
+ the <STRONG>O_ROWMAJOR</STRONG> option is toggled). The item leftmost on the given row
+ becomes current. The function <STRONG>top_row</STRONG> returns the number of the top
menu row being displayed.
- The function <STRONG>item_index</STRONG> returns the (zero-origin) index of
- <EM>item</EM> in the menu's item pointer list.
+ The function <STRONG>item_index</STRONG> returns the (zero-origin) index of <EM>item</EM> in the
+ menu's item pointer list.
-</PRE>
-<H2>RETURN VALUE</H2><PRE>
- <STRONG>current_item</STRONG> returns a pointer (which may be <STRONG>NULL</STRONG>). It
- does not set errno.
+</PRE><H2><a name="h2-RETURN-VALUE">RETURN VALUE</a></H2><PRE>
+ <STRONG>current_item</STRONG> returns a pointer (which may be <STRONG>NULL</STRONG>). It does not set
+ errno.
- <STRONG>top_row</STRONG> and <STRONG>item_index</STRONG> return <STRONG>ERR</STRONG> (the general <STRONG>curses</STRONG>
- error value) if their <EM>menu</EM> parameter is <STRONG>NULL</STRONG>.
+ <STRONG>top_row</STRONG> and <STRONG>item_index</STRONG> return <STRONG>ERR</STRONG> (the general <STRONG>curses</STRONG> error value) if
+ their <EM>menu</EM> parameter is <STRONG>NULL</STRONG>.
- <STRONG>set_current_item</STRONG> and <STRONG>set_top_row</STRONG> return one of the follow-
- ing:
+ <STRONG>set_current_item</STRONG> and <STRONG>set_top_row</STRONG> return one of the following:
<STRONG>E_OK</STRONG> The routine succeeded.
<STRONG>E_BAD_ARGUMENT</STRONG>
- Routine detected an incorrect or out-of-range argu-
- ment.
+ Routine detected an incorrect or out-of-range argument.
<STRONG>E_BAD_STATE</STRONG>
- Routine was called from an initialization or termina-
- tion function.
+ Routine was called from an initialization or termination function.
<STRONG>E_NOT_CONNECTED</STRONG>
No items are connected to the menu.
<STRONG>E_SYSTEM_ERROR</STRONG>
- System error occurred (see <STRONG>errno</STRONG>).
+ System error occurred (see <STRONG>errno(3)</STRONG>).
-</PRE>
-<H2>SEE ALSO</H2><PRE>
+</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="menu.3x.html">menu(3x)</A></STRONG>.
-</PRE>
-<H2>NOTES</H2><PRE>
- The header file <STRONG>&lt;menu.h&gt;</STRONG> automatically includes the header
- file <STRONG>&lt;curses.h&gt;</STRONG>.
+</PRE><H2><a name="h2-NOTES">NOTES</a></H2><PRE>
+ The header file <STRONG>&lt;menu.h&gt;</STRONG> automatically includes the header file
+ <STRONG>&lt;curses.h&gt;</STRONG>.
-</PRE>
-<H2>PORTABILITY</H2><PRE>
- These routines emulate the System V menu library. They
- were not supported on Version 7 or BSD versions.
+</PRE><H2><a name="h2-PORTABILITY">PORTABILITY</a></H2><PRE>
+ These routines emulate the System V menu library. They were not sup-
+ ported on Version 7 or BSD versions.
- The SVr4 menu library documentation specifies the <STRONG>top_row</STRONG>
- and <STRONG>index_item</STRONG> error value as -1 (which is the value of
- <STRONG>ERR</STRONG>).
+ The SVr4 menu library documentation specifies the <STRONG>top_row</STRONG> and
+ <STRONG>index_item</STRONG> error value as -1 (which is the value of <STRONG>ERR</STRONG>).
-</PRE>
-<H2>AUTHORS</H2><PRE>
- Juergen Pfeifer. Manual pages and adaptation for new
- curses by Eric S. Raymond.
+</PRE><H2><a name="h2-AUTHORS">AUTHORS</a></H2><PRE>
+ Juergen Pfeifer. Manual pages and adaptation for new curses by Eric S.
+ Raymond.
- <STRONG><A HREF="mitem_current.3x.html">mitem_current(3x)</A></STRONG>
+ <STRONG><A HREF="mitem_current.3x.html">mitem_current(3x)</A></STRONG>
</PRE>
-<HR>
-<ADDRESS>
-Man(1) output converted with
-<a href="http://www.oac.uci.edu/indiv/ehood/man2html.html">man2html</a>
-</ADDRESS>
+<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>
+<li><a href="#h2-RETURN-VALUE">RETURN VALUE</a></li>
+<li><a href="#h2-SEE-ALSO">SEE ALSO</a></li>
+<li><a href="#h2-NOTES">NOTES</a></li>
+<li><a href="#h2-PORTABILITY">PORTABILITY</a></li>
+<li><a href="#h2-AUTHORS">AUTHORS</a></li>
+</ul>
+</div>
</BODY>
</HTML>
diff --git a/doc/html/man/mitem_name.3x.html b/doc/html/man/mitem_name.3x.html
index 2f8a9e8b1f7d..66699db46bb4 100644
--- a/doc/html/man/mitem_name.3x.html
+++ b/doc/html/man/mitem_name.3x.html
@@ -1,8 +1,7 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN">
<!--
* t
****************************************************************************
- * Copyright (c) 1998-2006,2010 Free Software Foundation, Inc. *
+ * Copyright (c) 1998-2015,2018 Free Software Foundation, Inc. *
* *
* Permission is hereby granted, free of charge, to any person obtaining a *
* copy of this software and associated documentation files (the *
@@ -28,80 +27,79 @@
* sale, use or other dealings in this Software without prior written *
* authorization. *
****************************************************************************
- * @Id: mitem_name.3x,v 1.8 2010/12/04 18:40:45 tom Exp @
+ * @Id: mitem_name.3x,v 1.10 2018/07/28 21:34:06 tom Exp @
-->
+<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN">
<HTML>
<HEAD>
+<meta http-equiv="Content-Type" content="text/html; charset=us-ascii">
+<meta name="generator" content="Manpage converted by man2html - see https://invisible-island.net/scripts/readme.html#others_scripts">
<TITLE>mitem_name 3x</TITLE>
-<link rev=made href="mailto:bug-ncurses@gnu.org">
+<link rel="author" href="mailto:bug-ncurses@gnu.org">
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
</HEAD>
<BODY>
-<H1>mitem_name 3x</H1>
-<HR>
+<H1 class="no-header">mitem_name 3x</H1>
<PRE>
-<!-- Manpage converted by man2html 3.0.1 -->
-<STRONG><A HREF="mitem_name.3x.html">mitem_name(3x)</A></STRONG> <STRONG><A HREF="mitem_name.3x.html">mitem_name(3x)</A></STRONG>
+<STRONG><A HREF="mitem_name.3x.html">mitem_name(3x)</A></STRONG> <STRONG><A HREF="mitem_name.3x.html">mitem_name(3x)</A></STRONG>
-</PRE>
-<H2>NAME</H2><PRE>
- <STRONG>mitem_name</STRONG> - get menu item name and description fields
+</PRE><H2><a name="h2-NAME">NAME</a></H2><PRE>
+ <STRONG>item_name</STRONG>, <STRONG>item_description</STRONG> - get menu item name and description fields
-</PRE>
-<H2>SYNOPSIS</H2><PRE>
+</PRE><H2><a name="h2-SYNOPSIS">SYNOPSIS</a></H2><PRE>
<STRONG>#include</STRONG> <STRONG>&lt;menu.h&gt;</STRONG>
const char *item_name(const ITEM *item);
const char *item_description(const ITEM *item);
-</PRE>
-<H2>DESCRIPTION</H2><PRE>
- The function <STRONG>item_name</STRONG> returns the name part of the given
+</PRE><H2><a name="h2-DESCRIPTION">DESCRIPTION</a></H2><PRE>
+ The function <STRONG>item_name</STRONG> returns the name part of the given item.
+ The function <STRONG>item_description</STRONG> returns the description part of the given
item.
- The function <STRONG>item_description</STRONG> returns the description part
- of the given item.
-</PRE>
-<H2>RETURN VALUE</H2><PRE>
- These routines return a pointer (which may be <STRONG>NULL</STRONG>). They
- do not set errno.
+</PRE><H2><a name="h2-RETURN-VALUE">RETURN VALUE</a></H2><PRE>
+ These routines return a pointer (which may be <STRONG>NULL</STRONG>). They do not set
+ errno.
-</PRE>
-<H2>SEE ALSO</H2><PRE>
+</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="menu.3x.html">menu(3x)</A></STRONG>.
-</PRE>
-<H2>NOTES</H2><PRE>
- The header file <STRONG>&lt;menu.h&gt;</STRONG> automatically includes the header
- file <STRONG>&lt;curses.h&gt;</STRONG>.
+</PRE><H2><a name="h2-NOTES">NOTES</a></H2><PRE>
+ The header file <STRONG>&lt;menu.h&gt;</STRONG> automatically includes the header file
+ <STRONG>&lt;curses.h&gt;</STRONG>.
-</PRE>
-<H2>PORTABILITY</H2><PRE>
- These routines emulate the System V menu library. They
- were not supported on Version 7 or BSD versions.
+</PRE><H2><a name="h2-PORTABILITY">PORTABILITY</a></H2><PRE>
+ These routines emulate the System V menu library. They were not sup-
+ ported on Version 7 or BSD versions.
-</PRE>
-<H2>AUTHORS</H2><PRE>
- Juergen Pfeifer. Manual pages and adaptation for new
- curses by Eric S. Raymond.
+</PRE><H2><a name="h2-AUTHORS">AUTHORS</a></H2><PRE>
+ Juergen Pfeifer. Manual pages and adaptation for new curses by Eric S.
+ Raymond.
- <STRONG><A HREF="mitem_name.3x.html">mitem_name(3x)</A></STRONG>
+ <STRONG><A HREF="mitem_name.3x.html">mitem_name(3x)</A></STRONG>
</PRE>
-<HR>
-<ADDRESS>
-Man(1) output converted with
-<a href="http://www.oac.uci.edu/indiv/ehood/man2html.html">man2html</a>
-</ADDRESS>
+<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>
+<li><a href="#h2-RETURN-VALUE">RETURN VALUE</a></li>
+<li><a href="#h2-SEE-ALSO">SEE ALSO</a></li>
+<li><a href="#h2-NOTES">NOTES</a></li>
+<li><a href="#h2-PORTABILITY">PORTABILITY</a></li>
+<li><a href="#h2-AUTHORS">AUTHORS</a></li>
+</ul>
+</div>
</BODY>
</HTML>
diff --git a/doc/html/man/mitem_new.3x.html b/doc/html/man/mitem_new.3x.html
index 927c3d075e48..63d28a77604d 100644
--- a/doc/html/man/mitem_new.3x.html
+++ b/doc/html/man/mitem_new.3x.html
@@ -1,8 +1,7 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN">
<!--
* t
****************************************************************************
- * Copyright (c) 1998-2006,2010 Free Software Foundation, Inc. *
+ * Copyright (c) 1998-2018,2019 Free Software Foundation, Inc. *
* *
* Permission is hereby granted, free of charge, to any person obtaining a *
* copy of this software and associated documentation files (the *
@@ -28,58 +27,52 @@
* sale, use or other dealings in this Software without prior written *
* authorization. *
****************************************************************************
- * @Id: mitem_new.3x,v 1.12 2010/12/04 18:40:45 tom Exp @
+ * @Id: mitem_new.3x,v 1.15 2019/01/20 20:32:23 tom Exp @
-->
+<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN">
<HTML>
<HEAD>
+<meta http-equiv="Content-Type" content="text/html; charset=us-ascii">
+<meta name="generator" content="Manpage converted by man2html - see https://invisible-island.net/scripts/readme.html#others_scripts">
<TITLE>mitem_new 3x</TITLE>
-<link rev=made href="mailto:bug-ncurses@gnu.org">
+<link rel="author" href="mailto:bug-ncurses@gnu.org">
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
</HEAD>
<BODY>
-<H1>mitem_new 3x</H1>
-<HR>
+<H1 class="no-header">mitem_new 3x</H1>
<PRE>
-<!-- Manpage converted by man2html 3.0.1 -->
-<STRONG><A HREF="mitem_new.3x.html">mitem_new(3x)</A></STRONG> <STRONG><A HREF="mitem_new.3x.html">mitem_new(3x)</A></STRONG>
+<STRONG><A HREF="mitem_new.3x.html">mitem_new(3x)</A></STRONG> <STRONG><A HREF="mitem_new.3x.html">mitem_new(3x)</A></STRONG>
-</PRE>
-<H2>NAME</H2><PRE>
- <STRONG>mitem_new</STRONG> - create and destroy menu items
+</PRE><H2><a name="h2-NAME">NAME</a></H2><PRE>
+ <STRONG>new_item</STRONG>, <STRONG>free_item</STRONG> - create and destroy menu items
-</PRE>
-<H2>SYNOPSIS</H2><PRE>
+</PRE><H2><a name="h2-SYNOPSIS">SYNOPSIS</a></H2><PRE>
<STRONG>#include</STRONG> <STRONG>&lt;menu.h&gt;</STRONG>
ITEM *new_item(const char *name, const char *description);
int free_item(ITEM *item);
-</PRE>
-<H2>DESCRIPTION</H2><PRE>
- The function <STRONG>new_item</STRONG> allocates a new item and initializes
- it from the <STRONG>name</STRONG> and <STRONG>description</STRONG> pointers. Please notice
- that the item stores only the pointers to the name and
- description. Those pointers must be valid during the life-
- time of the item. So you should be very careful with names
- or descriptions allocated on the stack of some routines.
- The function <STRONG>free_item</STRONG> de-allocates an item. Please notice
- that it is the responsibility of the application to
- release the memory for the name or the description of the
- item.
+</PRE><H2><a name="h2-DESCRIPTION">DESCRIPTION</a></H2><PRE>
+ The function <STRONG>new_item</STRONG> allocates a new item and initializes it from the
+ <STRONG>name</STRONG> and <STRONG>description</STRONG> pointers. Please notice that the item stores only
+ the pointers to the name and description. Those pointers must be valid
+ during the lifetime of the item. So you should be very careful with
+ names or descriptions allocated on the stack of some routines.
+ The function <STRONG>free_item</STRONG> de-allocates an item. Please notice that it is
+ the responsibility of the application to release the memory for the
+ name or the description of the item.
-</PRE>
-<H2>RETURN VALUE</H2><PRE>
- The function <STRONG>new_item</STRONG> returns <STRONG>NULL</STRONG> on error. It sets
- errno according to the function's failure:
+</PRE><H2><a name="h2-RETURN-VALUE">RETURN VALUE</a></H2><PRE>
+ The function <STRONG>new_item</STRONG> returns <STRONG>NULL</STRONG> on error. It sets errno according
+ to the function's failure:
<STRONG>E_BAD_ARGUMENT</STRONG>
- Routine detected an incorrect or out-of-range argu-
- ment.
+ Routine detected an incorrect or out-of-range argument.
<STRONG>E_SYSTEM_ERROR</STRONG>
System error occurred, e.g., malloc failure.
@@ -89,46 +82,48 @@
<STRONG>E_OK</STRONG> The routine succeeded.
<STRONG>E_BAD_ARGUMENT</STRONG>
- Routine detected an incorrect or out-of-range argu-
- ment.
+ Routine detected an incorrect or out-of-range argument.
<STRONG>E_CONNECTED</STRONG>
Item is connected to a menu.
<STRONG>E_SYSTEM_ERROR</STRONG>
- System error occurred (see <STRONG>errno</STRONG>).
+ System error occurred (see <STRONG>errno(3)</STRONG>).
-</PRE>
-<H2>SEE ALSO</H2><PRE>
+</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="menu.3x.html">menu(3x)</A></STRONG>.
-</PRE>
-<H2>NOTES</H2><PRE>
- The header file <STRONG>&lt;menu.h&gt;</STRONG> automatically includes the header
- file <STRONG>&lt;curses.h&gt;</STRONG>.
+</PRE><H2><a name="h2-NOTES">NOTES</a></H2><PRE>
+ The header file <STRONG>&lt;menu.h&gt;</STRONG> automatically includes the header file
+ <STRONG>&lt;curses.h&gt;</STRONG>.
-</PRE>
-<H2>PORTABILITY</H2><PRE>
- These routines emulate the System V menu library. They
- were not supported on Version 7 or BSD versions.
+</PRE><H2><a name="h2-PORTABILITY">PORTABILITY</a></H2><PRE>
+ These routines emulate the System V menu library. They were not sup-
+ ported on Version 7 or BSD versions.
-</PRE>
-<H2>AUTHORS</H2><PRE>
- Juergen Pfeifer. Manual pages and adaptation for new
- curses by Eric S. Raymond.
+</PRE><H2><a name="h2-AUTHORS">AUTHORS</a></H2><PRE>
+ Juergen Pfeifer. Manual pages and adaptation for new curses by Eric S.
+ Raymond.
- <STRONG><A HREF="mitem_new.3x.html">mitem_new(3x)</A></STRONG>
+ <STRONG><A HREF="mitem_new.3x.html">mitem_new(3x)</A></STRONG>
</PRE>
-<HR>
-<ADDRESS>
-Man(1) output converted with
-<a href="http://www.oac.uci.edu/indiv/ehood/man2html.html">man2html</a>
-</ADDRESS>
+<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>
+<li><a href="#h2-RETURN-VALUE">RETURN VALUE</a></li>
+<li><a href="#h2-SEE-ALSO">SEE ALSO</a></li>
+<li><a href="#h2-NOTES">NOTES</a></li>
+<li><a href="#h2-PORTABILITY">PORTABILITY</a></li>
+<li><a href="#h2-AUTHORS">AUTHORS</a></li>
+</ul>
+</div>
</BODY>
</HTML>
diff --git a/doc/html/man/mitem_opts.3x.html b/doc/html/man/mitem_opts.3x.html
index bd7b3ff666d5..ba565d277d5f 100644
--- a/doc/html/man/mitem_opts.3x.html
+++ b/doc/html/man/mitem_opts.3x.html
@@ -1,8 +1,7 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN">
<!--
* t
****************************************************************************
- * Copyright (c) 1998-2007,2010 Free Software Foundation, Inc. *
+ * Copyright (c) 1998-2018,2019 Free Software Foundation, Inc. *
* *
* Permission is hereby granted, free of charge, to any person obtaining a *
* copy of this software and associated documentation files (the *
@@ -28,31 +27,31 @@
* sale, use or other dealings in this Software without prior written *
* authorization. *
****************************************************************************
- * @Id: mitem_opts.3x,v 1.11 2010/12/04 18:40:45 tom Exp @
+ * @Id: mitem_opts.3x,v 1.14 2019/01/20 20:32:23 tom Exp @
-->
+<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN">
<HTML>
<HEAD>
+<meta http-equiv="Content-Type" content="text/html; charset=us-ascii">
+<meta name="generator" content="Manpage converted by man2html - see https://invisible-island.net/scripts/readme.html#others_scripts">
<TITLE>mitem_opts 3x</TITLE>
-<link rev=made href="mailto:bug-ncurses@gnu.org">
+<link rel="author" href="mailto:bug-ncurses@gnu.org">
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
</HEAD>
<BODY>
-<H1>mitem_opts 3x</H1>
-<HR>
+<H1 class="no-header">mitem_opts 3x</H1>
<PRE>
-<!-- Manpage converted by man2html 3.0.1 -->
-<STRONG><A HREF="mitem_opts.3x.html">mitem_opts(3x)</A></STRONG> <STRONG><A HREF="mitem_opts.3x.html">mitem_opts(3x)</A></STRONG>
+<STRONG><A HREF="mitem_opts.3x.html">mitem_opts(3x)</A></STRONG> <STRONG><A HREF="mitem_opts.3x.html">mitem_opts(3x)</A></STRONG>
-</PRE>
-<H2>NAME</H2><PRE>
- <STRONG>mitem_opts</STRONG> - set and get menu item options
+</PRE><H2><a name="h2-NAME">NAME</a></H2><PRE>
+ <STRONG>set_item_opts</STRONG>, <STRONG>item_opts_on</STRONG>, <STRONG>item_opts_off</STRONG>, <STRONG>item_opts</STRONG> - set and get
+ menu item options
-</PRE>
-<H2>SYNOPSIS</H2><PRE>
+</PRE><H2><a name="h2-SYNOPSIS">SYNOPSIS</a></H2><PRE>
<STRONG>#include</STRONG> <STRONG>&lt;menu.h&gt;</STRONG>
int set_item_opts(ITEM *item, Item_Options opts);
int item_opts_on(ITEM *item, Item_Options opts);
@@ -60,67 +59,65 @@
Item_Options item_opts(const ITEM *item);
-</PRE>
-<H2>DESCRIPTION</H2><PRE>
- The function <STRONG>set_item_opts</STRONG> sets all the given item's
- option bits (menu option bits may be logically-OR'ed
- together).
+</PRE><H2><a name="h2-DESCRIPTION">DESCRIPTION</a></H2><PRE>
+ The function <STRONG>set_item_opts</STRONG> sets all the given item's option bits (menu
+ option bits may be logically-OR'ed together).
- The function <STRONG>item_opts_on</STRONG> turns on the given option bits,
- and leaves others alone.
+ The function <STRONG>item_opts_on</STRONG> turns on the given option bits, and leaves
+ others alone.
- The function <STRONG>item_opts_off</STRONG> turns off the given option
- bits, and leaves others alone.
+ The function <STRONG>item_opts_off</STRONG> turns off the given option bits, and leaves
+ others alone.
- The function <STRONG>item_opts</STRONG> returns the item's current option
- bits.
+ The function <STRONG>item_opts</STRONG> returns the item's current option bits.
- There is only one defined option bit mask, <STRONG>O_SELECTABLE</STRONG>.
- When this is on, the item may be selected during menu pro-
- cessing. This option defaults to on.
+ There is only one defined option bit mask, <STRONG>O_SELECTABLE</STRONG>. When this is
+ on, the item may be selected during menu processing. This option
+ defaults to on.
-</PRE>
-<H2>RETURN VALUE</H2><PRE>
- Except for <STRONG>item_opts</STRONG>, each routine returns one of the fol-
- lowing:
+</PRE><H2><a name="h2-RETURN-VALUE">RETURN VALUE</a></H2><PRE>
+ Except for <STRONG>item_opts</STRONG>, each routine returns one of the following:
<STRONG>E_OK</STRONG> The routine succeeded.
<STRONG>E_SYSTEM_ERROR</STRONG>
- System error occurred (see <STRONG>errno</STRONG>).
+ System error occurred (see <STRONG>errno(3)</STRONG>).
-</PRE>
-<H2>SEE ALSO</H2><PRE>
+</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="menu.3x.html">menu(3x)</A></STRONG>.
-</PRE>
-<H2>NOTES</H2><PRE>
- The header file <STRONG>&lt;menu.h&gt;</STRONG> automatically includes the header
- file <STRONG>&lt;curses.h&gt;</STRONG>.
+</PRE><H2><a name="h2-NOTES">NOTES</a></H2><PRE>
+ The header file <STRONG>&lt;menu.h&gt;</STRONG> automatically includes the header file
+ <STRONG>&lt;curses.h&gt;</STRONG>.
-</PRE>
-<H2>PORTABILITY</H2><PRE>
- These routines emulate the System V menu library. They
- were not supported on Version 7 or BSD versions.
+</PRE><H2><a name="h2-PORTABILITY">PORTABILITY</a></H2><PRE>
+ These routines emulate the System V menu library. They were not sup-
+ ported on Version 7 or BSD versions.
-</PRE>
-<H2>AUTHORS</H2><PRE>
- Juergen Pfeifer. Manual pages and adaptation for new
- curses by Eric S. Raymond.
+</PRE><H2><a name="h2-AUTHORS">AUTHORS</a></H2><PRE>
+ Juergen Pfeifer. Manual pages and adaptation for new curses by Eric S.
+ Raymond.
- <STRONG><A HREF="mitem_opts.3x.html">mitem_opts(3x)</A></STRONG>
+ <STRONG><A HREF="mitem_opts.3x.html">mitem_opts(3x)</A></STRONG>
</PRE>
-<HR>
-<ADDRESS>
-Man(1) output converted with
-<a href="http://www.oac.uci.edu/indiv/ehood/man2html.html">man2html</a>
-</ADDRESS>
+<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>
+<li><a href="#h2-RETURN-VALUE">RETURN VALUE</a></li>
+<li><a href="#h2-SEE-ALSO">SEE ALSO</a></li>
+<li><a href="#h2-NOTES">NOTES</a></li>
+<li><a href="#h2-PORTABILITY">PORTABILITY</a></li>
+<li><a href="#h2-AUTHORS">AUTHORS</a></li>
+</ul>
+</div>
</BODY>
</HTML>
diff --git a/doc/html/man/mitem_userptr.3x.html b/doc/html/man/mitem_userptr.3x.html
index 92d368105154..905f559311ec 100644
--- a/doc/html/man/mitem_userptr.3x.html
+++ b/doc/html/man/mitem_userptr.3x.html
@@ -1,8 +1,7 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN">
<!--
* t
****************************************************************************
- * Copyright (c) 1998-2006,2010 Free Software Foundation, Inc. *
+ * Copyright (c) 1998-2015,2018 Free Software Foundation, Inc. *
* *
* Permission is hereby granted, free of charge, to any person obtaining a *
* copy of this software and associated documentation files (the *
@@ -28,85 +27,85 @@
* sale, use or other dealings in this Software without prior written *
* authorization. *
****************************************************************************
- * @Id: mitem_userptr.3x,v 1.11 2010/12/04 18:40:45 tom Exp @
+ * @Id: mitem_userptr.3x,v 1.13 2018/07/28 21:34:06 tom Exp @
-->
+<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN">
<HTML>
<HEAD>
+<meta http-equiv="Content-Type" content="text/html; charset=us-ascii">
+<meta name="generator" content="Manpage converted by man2html - see https://invisible-island.net/scripts/readme.html#others_scripts">
<TITLE>mitem_userptr 3x</TITLE>
-<link rev=made href="mailto:bug-ncurses@gnu.org">
+<link rel="author" href="mailto:bug-ncurses@gnu.org">
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
</HEAD>
<BODY>
-<H1>mitem_userptr 3x</H1>
-<HR>
+<H1 class="no-header">mitem_userptr 3x</H1>
<PRE>
-<!-- Manpage converted by man2html 3.0.1 -->
-<STRONG><A HREF="mitem_userptr.3x.html">mitem_userptr(3x)</A></STRONG> <STRONG><A HREF="mitem_userptr.3x.html">mitem_userptr(3x)</A></STRONG>
+<STRONG><A HREF="mitem_userptr.3x.html">mitem_userptr(3x)</A></STRONG> <STRONG><A HREF="mitem_userptr.3x.html">mitem_userptr(3x)</A></STRONG>
-</PRE>
-<H2>NAME</H2><PRE>
- <STRONG>mitem_userptr</STRONG> - associate application data with a menu
+</PRE><H2><a name="h2-NAME">NAME</a></H2><PRE>
+ <STRONG>set_item_userptr</STRONG>, <STRONG>item_userptr</STRONG> - associate application data with a menu
item
-</PRE>
-<H2>SYNOPSIS</H2><PRE>
+</PRE><H2><a name="h2-SYNOPSIS">SYNOPSIS</a></H2><PRE>
<STRONG>#include</STRONG> <STRONG>&lt;menu.h&gt;</STRONG>
int set_item_userptr(ITEM *item, void *userptr);
void *item_userptr(const ITEM *item);
-</PRE>
-<H2>DESCRIPTION</H2><PRE>
- Every menu item has a field that can be used to hold
- application-specific data (that is, the menu-driver code
- leaves it alone). These functions get and set that field.
+</PRE><H2><a name="h2-DESCRIPTION">DESCRIPTION</a></H2><PRE>
+ Every menu item has a field that can be used to hold application-spe-
+ cific data (that is, the menu-driver code leaves it alone). These
+ functions get and set that field.
-</PRE>
-<H2>RETURN VALUE</H2><PRE>
- The function <STRONG>item_userptr</STRONG> returns a pointer (possibly
- <STRONG>NULL</STRONG>). It does not set errno.
+</PRE><H2><a name="h2-RETURN-VALUE">RETURN VALUE</a></H2><PRE>
+ The function <STRONG>item_userptr</STRONG> returns a pointer (possibly <STRONG>NULL</STRONG>). It does
+ not set errno.
The <STRONG>set_item_userptr</STRONG> always returns <STRONG>E_OK</STRONG> (success).
-</PRE>
-<H2>SEE ALSO</H2><PRE>
+</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="menu.3x.html">menu(3x)</A></STRONG>.
-</PRE>
-<H2>NOTES</H2><PRE>
- The header file <STRONG>&lt;menu.h&gt;</STRONG> automatically includes the header
- file <STRONG>&lt;curses.h&gt;</STRONG>.
+</PRE><H2><a name="h2-NOTES">NOTES</a></H2><PRE>
+ The header file <STRONG>&lt;menu.h&gt;</STRONG> automatically includes the header file
+ <STRONG>&lt;curses.h&gt;</STRONG>.
-</PRE>
-<H2>PORTABILITY</H2><PRE>
- These routines emulate the System V menu library. They
- were not supported on Version 7 or BSD versions.
+</PRE><H2><a name="h2-PORTABILITY">PORTABILITY</a></H2><PRE>
+ These routines emulate the System V menu library. They were not sup-
+ ported on Version 7 or BSD versions.
- The user pointer is a void pointer. We chose not to leave
- it as a char pointer for SVr4 compatibility.
+ The user pointer is a void pointer. We chose not to leave it as a char
+ pointer for SVr4 compatibility.
-</PRE>
-<H2>AUTHORS</H2><PRE>
- Juergen Pfeifer. Manual pages and adaptation for new
- curses by Eric S. Raymond.
+</PRE><H2><a name="h2-AUTHORS">AUTHORS</a></H2><PRE>
+ Juergen Pfeifer. Manual pages and adaptation for new curses by Eric S.
+ Raymond.
- <STRONG><A HREF="mitem_userptr.3x.html">mitem_userptr(3x)</A></STRONG>
+ <STRONG><A HREF="mitem_userptr.3x.html">mitem_userptr(3x)</A></STRONG>
</PRE>
-<HR>
-<ADDRESS>
-Man(1) output converted with
-<a href="http://www.oac.uci.edu/indiv/ehood/man2html.html">man2html</a>
-</ADDRESS>
+<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>
+<li><a href="#h2-RETURN-VALUE">RETURN VALUE</a></li>
+<li><a href="#h2-SEE-ALSO">SEE ALSO</a></li>
+<li><a href="#h2-NOTES">NOTES</a></li>
+<li><a href="#h2-PORTABILITY">PORTABILITY</a></li>
+<li><a href="#h2-AUTHORS">AUTHORS</a></li>
+</ul>
+</div>
</BODY>
</HTML>
diff --git a/doc/html/man/mitem_value.3x.html b/doc/html/man/mitem_value.3x.html
index 7dfc5839111d..256404b42158 100644
--- a/doc/html/man/mitem_value.3x.html
+++ b/doc/html/man/mitem_value.3x.html
@@ -1,7 +1,6 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN">
<!--
****************************************************************************
- * Copyright (c) 1998-2006,2010 Free Software Foundation, Inc. *
+ * Copyright (c) 1998-2018,2019 Free Software Foundation, Inc. *
* *
* Permission is hereby granted, free of charge, to any person obtaining a *
* copy of this software and associated documentation files (the *
@@ -27,91 +26,90 @@
* sale, use or other dealings in this Software without prior written *
* authorization. *
****************************************************************************
- * @Id: mitem_value.3x,v 1.10 2010/12/04 18:40:45 tom Exp @
+ * @Id: mitem_value.3x,v 1.13 2019/01/20 20:32:23 tom Exp @
-->
+<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN">
<HTML>
<HEAD>
+<meta http-equiv="Content-Type" content="text/html; charset=us-ascii">
+<meta name="generator" content="Manpage converted by man2html - see https://invisible-island.net/scripts/readme.html#others_scripts">
<TITLE>mitem_value 3x</TITLE>
-<link rev=made href="mailto:bug-ncurses@gnu.org">
+<link rel="author" href="mailto:bug-ncurses@gnu.org">
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
</HEAD>
<BODY>
-<H1>mitem_value 3x</H1>
-<HR>
+<H1 class="no-header">mitem_value 3x</H1>
<PRE>
-<!-- Manpage converted by man2html 3.0.1 -->
-<STRONG><A HREF="mitem_value.3x.html">mitem_value(3x)</A></STRONG> <STRONG><A HREF="mitem_value.3x.html">mitem_value(3x)</A></STRONG>
+<STRONG><A HREF="mitem_value.3x.html">mitem_value(3x)</A></STRONG> <STRONG><A HREF="mitem_value.3x.html">mitem_value(3x)</A></STRONG>
-</PRE>
-<H2>NAME</H2><PRE>
- <STRONG>mitem_value</STRONG> - set and get menu item values
+</PRE><H2><a name="h2-NAME">NAME</a></H2><PRE>
+ <STRONG>set_item_value</STRONG>, <STRONG>item_value</STRONG> - set and get menu item values
-</PRE>
-<H2>SYNOPSIS</H2><PRE>
+</PRE><H2><a name="h2-SYNOPSIS">SYNOPSIS</a></H2><PRE>
<STRONG>#include</STRONG> <STRONG>&lt;menu.h&gt;</STRONG>
int set_item_value(ITEM *item, bool value);
bool item_value(const ITEM *item);
-</PRE>
-<H2>DESCRIPTION</H2><PRE>
- If you turn off the menu option <STRONG>O_ONEVALUE</STRONG> (e.g., with
- <STRONG>set_menu_opts</STRONG> or <STRONG>menu_opts_off</STRONG>; see <STRONG><A HREF="menu_opts.3x.html">menu_opts(3x)</A></STRONG>), the
- menu becomes multi-valued; that is, more than one item may
- simultaneously be selected.
+</PRE><H2><a name="h2-DESCRIPTION">DESCRIPTION</a></H2><PRE>
+ If you turn off the menu option <STRONG>O_ONEVALUE</STRONG> (e.g., with <STRONG>set_menu_opts</STRONG> or
+ <STRONG>menu_opts_off</STRONG>; see <STRONG><A HREF="menu_opts.3x.html">menu_opts(3x)</A></STRONG>), the menu becomes multi-valued; that
+ is, more than one item may simultaneously be selected.
- In a multi_valued menu, you can used <STRONG>set_item_value</STRONG> to
- select the given menu item (second argument <STRONG>TRUE</STRONG>) or dese-
- lect it (second argument <STRONG>FALSE</STRONG>).
+ In a multi_valued menu, you can used <STRONG>set_item_value</STRONG> to select the given
+ menu item (second argument <STRONG>TRUE</STRONG>) or deselect it (second argument
+ <STRONG>FALSE</STRONG>).
-</PRE>
-<H2>RETURN VALUE</H2><PRE>
+</PRE><H2><a name="h2-RETURN-VALUE">RETURN VALUE</a></H2><PRE>
The function <STRONG>set_item_value</STRONG> returns one of the following:
<STRONG>E_OK</STRONG> The routine succeeded.
<STRONG>E_SYSTEM_ERROR</STRONG>
- System error occurred (see <STRONG>errno</STRONG>).
+ System error occurred (see <STRONG>errno(3)</STRONG>).
<STRONG>E_REQUEST_DENIED</STRONG>
The menu driver could not process the request.
-</PRE>
-<H2>SEE ALSO</H2><PRE>
+</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="menu.3x.html">menu(3x)</A></STRONG>.
-</PRE>
-<H2>NOTES</H2><PRE>
- The header file <STRONG>&lt;menu.h&gt;</STRONG> automatically includes the header
- file <STRONG>&lt;curses.h&gt;</STRONG>.
+</PRE><H2><a name="h2-NOTES">NOTES</a></H2><PRE>
+ The header file <STRONG>&lt;menu.h&gt;</STRONG> automatically includes the header file
+ <STRONG>&lt;curses.h&gt;</STRONG>.
-</PRE>
-<H2>PORTABILITY</H2><PRE>
- These routines emulate the System V menu library. They
- were not supported on Version 7 or BSD versions.
+</PRE><H2><a name="h2-PORTABILITY">PORTABILITY</a></H2><PRE>
+ These routines emulate the System V menu library. They were not sup-
+ ported on Version 7 or BSD versions.
-</PRE>
-<H2>AUTHORS</H2><PRE>
- Juergen Pfeifer. Manual pages and adaptation for new
- curses by Eric S. Raymond.
+</PRE><H2><a name="h2-AUTHORS">AUTHORS</a></H2><PRE>
+ Juergen Pfeifer. Manual pages and adaptation for new curses by Eric S.
+ Raymond.
- <STRONG><A HREF="mitem_value.3x.html">mitem_value(3x)</A></STRONG>
+ <STRONG><A HREF="mitem_value.3x.html">mitem_value(3x)</A></STRONG>
</PRE>
-<HR>
-<ADDRESS>
-Man(1) output converted with
-<a href="http://www.oac.uci.edu/indiv/ehood/man2html.html">man2html</a>
-</ADDRESS>
+<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>
+<li><a href="#h2-RETURN-VALUE">RETURN VALUE</a></li>
+<li><a href="#h2-SEE-ALSO">SEE ALSO</a></li>
+<li><a href="#h2-NOTES">NOTES</a></li>
+<li><a href="#h2-PORTABILITY">PORTABILITY</a></li>
+<li><a href="#h2-AUTHORS">AUTHORS</a></li>
+</ul>
+</div>
</BODY>
</HTML>
diff --git a/doc/html/man/mitem_visible.3x.html b/doc/html/man/mitem_visible.3x.html
index 521be28c41d4..425e06a46558 100644
--- a/doc/html/man/mitem_visible.3x.html
+++ b/doc/html/man/mitem_visible.3x.html
@@ -1,8 +1,7 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN">
<!--
* t
****************************************************************************
- * Copyright (c) 1998,2010 Free Software Foundation, Inc. *
+ * Copyright (c) 1998-2010,2018 Free Software Foundation, Inc. *
* *
* Permission is hereby granted, free of charge, to any person obtaining a *
* copy of this software and associated documentation files (the *
@@ -28,73 +27,72 @@
* sale, use or other dealings in this Software without prior written *
* authorization. *
****************************************************************************
- * @Id: mitem_visible.3x,v 1.7 2010/12/04 18:40:45 tom Exp @
+ * @Id: mitem_visible.3x,v 1.8 2018/07/28 21:34:06 tom Exp @
-->
+<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN">
<HTML>
<HEAD>
+<meta http-equiv="Content-Type" content="text/html; charset=us-ascii">
+<meta name="generator" content="Manpage converted by man2html - see https://invisible-island.net/scripts/readme.html#others_scripts">
<TITLE>mitem_visible 3x</TITLE>
-<link rev=made href="mailto:bug-ncurses@gnu.org">
+<link rel="author" href="mailto:bug-ncurses@gnu.org">
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
</HEAD>
<BODY>
-<H1>mitem_visible 3x</H1>
-<HR>
+<H1 class="no-header">mitem_visible 3x</H1>
<PRE>
-<!-- Manpage converted by man2html 3.0.1 -->
-<STRONG><A HREF="mitem_visible.3x.html">mitem_visible(3x)</A></STRONG> <STRONG><A HREF="mitem_visible.3x.html">mitem_visible(3x)</A></STRONG>
+<STRONG><A HREF="mitem_visible.3x.html">mitem_visible(3x)</A></STRONG> <STRONG><A HREF="mitem_visible.3x.html">mitem_visible(3x)</A></STRONG>
-</PRE>
-<H2>NAME</H2><PRE>
+</PRE><H2><a name="h2-NAME">NAME</a></H2><PRE>
<STRONG>mitem_visible</STRONG> - check visibility of a menu item
-</PRE>
-<H2>SYNOPSIS</H2><PRE>
+</PRE><H2><a name="h2-SYNOPSIS">SYNOPSIS</a></H2><PRE>
<STRONG>#include</STRONG> <STRONG>&lt;menu.h&gt;</STRONG>
bool item_visible(const ITEM *item);
-</PRE>
-<H2>DESCRIPTION</H2><PRE>
- A menu item is visible when it is in the portion of a
- posted menu that is mapped onto the screen (if the menu is
- scrollable, in particular, this portion will be smaller
- than the whole menu).
+</PRE><H2><a name="h2-DESCRIPTION">DESCRIPTION</a></H2><PRE>
+ A menu item is visible when it is in the portion of a posted menu that
+ is mapped onto the screen (if the menu is scrollable, in particular,
+ this portion will be smaller than the whole menu).
-</PRE>
-<H2>SEE ALSO</H2><PRE>
+</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="menu.3x.html">menu(3x)</A></STRONG>.
-</PRE>
-<H2>NOTES</H2><PRE>
- The header file <STRONG>&lt;menu.h&gt;</STRONG> automatically includes the header
- file <STRONG>&lt;curses.h&gt;</STRONG>.
+</PRE><H2><a name="h2-NOTES">NOTES</a></H2><PRE>
+ The header file <STRONG>&lt;menu.h&gt;</STRONG> automatically includes the header file
+ <STRONG>&lt;curses.h&gt;</STRONG>.
-</PRE>
-<H2>PORTABILITY</H2><PRE>
- These routines emulate the System V menu library. They
- were not supported on Version 7 or BSD versions.
+</PRE><H2><a name="h2-PORTABILITY">PORTABILITY</a></H2><PRE>
+ These routines emulate the System V menu library. They were not sup-
+ ported on Version 7 or BSD versions.
-</PRE>
-<H2>AUTHORS</H2><PRE>
- Juergen Pfeifer. Manual pages and adaptation for new
- curses by Eric S. Raymond.
+</PRE><H2><a name="h2-AUTHORS">AUTHORS</a></H2><PRE>
+ Juergen Pfeifer. Manual pages and adaptation for new curses by Eric S.
+ Raymond.
- <STRONG><A HREF="mitem_visible.3x.html">mitem_visible(3x)</A></STRONG>
+ <STRONG><A HREF="mitem_visible.3x.html">mitem_visible(3x)</A></STRONG>
</PRE>
-<HR>
-<ADDRESS>
-Man(1) output converted with
-<a href="http://www.oac.uci.edu/indiv/ehood/man2html.html">man2html</a>
-</ADDRESS>
+<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>
+<li><a href="#h2-SEE-ALSO">SEE ALSO</a></li>
+<li><a href="#h2-NOTES">NOTES</a></li>
+<li><a href="#h2-PORTABILITY">PORTABILITY</a></li>
+<li><a href="#h2-AUTHORS">AUTHORS</a></li>
+</ul>
+</div>
</BODY>
</HTML>
diff --git a/doc/html/man/ncurses.3x.html b/doc/html/man/ncurses.3x.html
index 57ca23abd60f..2a36e050e22e 100644
--- a/doc/html/man/ncurses.3x.html
+++ b/doc/html/man/ncurses.3x.html
@@ -1,8 +1,7 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN">
<!--
* t
****************************************************************************
- * Copyright (c) 1998-2012,2013 Free Software Foundation, Inc. *
+ * Copyright (c) 1998-2018,2019 Free Software Foundation, Inc. *
* *
* Permission is hereby granted, free of charge, to any person obtaining a *
* copy of this software and associated documentation files (the *
@@ -28,1134 +27,1178 @@
* sale, use or other dealings in this Software without prior written *
* authorization. *
****************************************************************************
- * @Id: ncurses.3x,v 1.112 2013/07/20 19:29:59 tom Exp @
+ * @Id: ncurses.3x,v 1.143 2019/11/30 20:47:07 tom Exp @
-->
+<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN">
<HTML>
<HEAD>
+<meta http-equiv="Content-Type" content="text/html; charset=us-ascii">
+<meta name="generator" content="Manpage converted by man2html - see https://invisible-island.net/scripts/readme.html#others_scripts">
<TITLE>ncurses 3x</TITLE>
-<link rev=made href="mailto:bug-ncurses@gnu.org">
+<link rel="author" href="mailto:bug-ncurses@gnu.org">
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
</HEAD>
<BODY>
-<H1>ncurses 3x</H1>
-<HR>
+<H1 class="no-header">ncurses 3x</H1>
<PRE>
-<!-- Manpage converted by man2html 3.0.1 -->
-<STRONG><A HREF="ncurses.3x.html">ncurses(3x)</A></STRONG> <STRONG><A HREF="ncurses.3x.html">ncurses(3x)</A></STRONG>
+<STRONG><A HREF="ncurses.3x.html">ncurses(3x)</A></STRONG> <STRONG><A HREF="ncurses.3x.html">ncurses(3x)</A></STRONG>
-</PRE>
-<H2>NAME</H2><PRE>
+</PRE><H2><a name="h2-NAME">NAME</a></H2><PRE>
<STRONG>ncurses</STRONG> - CRT screen handling and optimization package
-</PRE>
-<H2>SYNOPSIS</H2><PRE>
+</PRE><H2><a name="h2-SYNOPSIS">SYNOPSIS</a></H2><PRE>
<STRONG>#include</STRONG> <STRONG>&lt;curses.h&gt;</STRONG>
-</PRE>
-<H2>DESCRIPTION</H2><PRE>
- The <STRONG>ncurses</STRONG> library routines give the user a terminal-
- independent method of updating character screens with rea-
- sonable optimization. This implementation is "new curses"
- (ncurses) and is the approved replacement for 4.4BSD clas-
- sic curses, which has been discontinued. This describes
- <STRONG>ncurses</STRONG> version 5.9 (patch 20131221).
-
- The <STRONG>ncurses</STRONG> library emulates the curses library of System
- V Release 4 UNIX, and XPG4 (X/Open Portability Guide)
- curses (also known as XSI curses). XSI stands for X/Open
- System Interfaces Extension. The <STRONG>ncurses</STRONG> library is
- freely redistributable in source form. Differences from
- the SVr4 curses are summarized under the <STRONG>EXTENSIONS</STRONG> and
- <STRONG>PORTABILITY</STRONG> sections below and described in detail in the
- respective <STRONG>EXTENSIONS</STRONG>, <STRONG>PORTABILITY</STRONG> and <STRONG>BUGS</STRONG> sections of
- individual man pages.
-
- The <STRONG>ncurses</STRONG> library also provides many useful extensions,
- i.e., features which cannot be implemented by a simple
- add-on library but which require access to the internals
- of the library.
-
- A program using these routines must be linked with the
- <STRONG>-lncurses</STRONG> option, or (if it has been generated) with the
- debugging library <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 direc-
- tory) that describe curses actions. See also the section
- on <STRONG>ALTERNATE</STRONG> <STRONG>CONFIGURATIONS</STRONG>.
-
- The <STRONG>ncurses</STRONG> package supports: overall screen, window and
- pad manipulation; output to windows and pads; reading ter-
- minal input; control over terminal and <STRONG>curses</STRONG> input and
- output options; environment query routines; color manipu-
- lation; use of soft label keys; terminfo capabilities; and
- access to low-level terminal-manipulation routines.
-
- The library uses the locale which the calling program has
- initialized. That is normally done with <STRONG>setlocale</STRONG>:
-
- <STRONG>setlocale(LC_ALL,</STRONG> <STRONG>"");</STRONG>
-
- If the locale is not initialized, the library assumes that
- characters are printable as in ISO-8859-1, to work with
- certain legacy programs. You should initialize the locale
- and not rely on specific details of the library when the
- locale has not been setup.
-
- The function <STRONG>initscr</STRONG> or <STRONG>newterm</STRONG> must be called to initial-
- ize the library before any of the other routines that deal
- with windows and screens are used. The routine <STRONG>endwin</STRONG>
- must be called before exiting.
-
- To get character-at-a-time input without echoing (most
- interactive, screen oriented programs want this), the fol-
- lowing sequence should be used:
-
- <STRONG>initscr();</STRONG> <STRONG>cbreak();</STRONG> <STRONG>noecho();</STRONG>
+</PRE><H2><a name="h2-DESCRIPTION">DESCRIPTION</a></H2><PRE>
+ The <STRONG>ncurses</STRONG> library routines give the user a terminal-independent
+ method of updating character screens with reasonable optimization.
+ This implementation is "new curses" (ncurses) and is the approved
+ replacement for 4.4BSD classic curses, which has been discontinued.
+ This describes <STRONG>ncurses</STRONG> version 6.1 (patch 20200118).
+
+ The <STRONG>ncurses</STRONG> library emulates the curses library of System V Release 4
+ UNIX, and XPG4 (X/Open Portability Guide) curses (also known as XSI
+ curses). XSI stands for X/Open System Interfaces Extension. The
+ <STRONG>ncurses</STRONG> library is freely redistributable in source form. Differences
+ from the SVr4 curses are summarized under the <STRONG>EXTENSIONS</STRONG> and <STRONG>PORTABIL-</STRONG>
+ <STRONG>ITY</STRONG> sections below and described in detail in the respective <STRONG>EXTEN-</STRONG>
+ <STRONG>SIONS</STRONG>, <STRONG>PORTABILITY</STRONG> and <STRONG>BUGS</STRONG> sections of individual man pages.
+
+ The <STRONG>ncurses</STRONG> library also provides many useful extensions, i.e., fea-
+ tures which cannot be implemented by a simple add-on library but which
+ require access to the internals of the library.
+
+ A program using these routines must be linked with the <STRONG>-lncurses</STRONG>
+ option, or (if it has been generated) with the debugging library
+ <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>.
+
+ The <STRONG>ncurses</STRONG> package supports: overall screen, window and pad manipula-
+ tion; output to windows and pads; reading terminal input; control over
+ terminal and <STRONG>curses</STRONG> input and output options; environment query rou-
+ tines; color manipulation; use of soft label keys; terminfo capabili-
+ ties; and access to low-level terminal-manipulation routines.
+
+
+</PRE><H3><a name="h3-Initialization">Initialization</a></H3><PRE>
+ The library uses the locale which the calling program has initialized.
+ That is normally done with <STRONG>setlocale</STRONG>:
+
+ <STRONG>setlocale(LC_ALL,</STRONG> <STRONG>"");</STRONG>
+
+ If the locale is not initialized, the library assumes that characters
+ are printable as in ISO-8859-1, to work with certain legacy programs.
+ You should initialize the locale and not rely on specific details of
+ the library when the locale has not been setup.
+
+ The function <STRONG>initscr</STRONG> or <STRONG>newterm</STRONG> must be called to initialize the
+ library before any of the other routines that deal with windows and
+ screens are used. The routine <STRONG><A HREF="curs_initscr.3x.html">endwin(3x)</A></STRONG> must be called before exit-
+ ing.
+
+ To get character-at-a-time input without echoing (most interactive,
+ screen oriented programs want this), the following sequence should be
+ used:
+
+ <STRONG>initscr();</STRONG> <STRONG>cbreak();</STRONG> <STRONG>noecho();</STRONG>
Most programs would additionally use the sequence:
- <STRONG>nonl();</STRONG>
- <STRONG>intrflush(stdscr,</STRONG> <STRONG>FALSE);</STRONG>
- <STRONG>keypad(stdscr,</STRONG> <STRONG>TRUE);</STRONG>
+ <STRONG>nonl();</STRONG>
+ <STRONG>intrflush(stdscr,</STRONG> <STRONG>FALSE);</STRONG>
+ <STRONG>keypad(stdscr,</STRONG> <STRONG>TRUE);</STRONG>
- Before a <STRONG>curses</STRONG> program is run, the tab stops of the ter-
- minal should be set and its initialization strings, if
- defined, must be output. This can be done by executing
- the <STRONG>tput</STRONG> <STRONG>init</STRONG> command after the shell environment variable
- <STRONG>TERM</STRONG> has been exported. <STRONG>tset(1)</STRONG> is usually responsible
+ Before a <STRONG>curses</STRONG> program is run, the tab stops of the terminal should be
+ set and its initialization strings, if defined, must be output. This
+ can be done by executing the <STRONG>tput</STRONG> <STRONG>init</STRONG> command after the shell environ-
+ ment variable <STRONG>TERM</STRONG> has been exported. <STRONG>tset(1)</STRONG> is usually responsible
for doing this. [See <STRONG><A HREF="terminfo.5.html">terminfo(5)</A></STRONG> for further details.]
- The <STRONG>ncurses</STRONG> library permits manipulation of data struc-
- tures, called <EM>windows</EM>, which can be thought of as two-
- dimensional arrays of characters representing all or part
- of a CRT screen. A default window called <STRONG>stdscr</STRONG>, which is
- the size of the terminal screen, is supplied. Others may
- be created with <STRONG>newwin</STRONG>.
-
- Note that <STRONG>curses</STRONG> does not handle overlapping windows,
- that's done by the <STRONG><A HREF="panel.3x.html">panel(3x)</A></STRONG> library. This means that you
- can either use <STRONG>stdscr</STRONG> or divide the screen into tiled win-
- dows and not using <STRONG>stdscr</STRONG> at all. Mixing the two will
- result in unpredictable, and undesired, effects.
-
- Windows are referred to by variables declared as <STRONG>WINDOW</STRONG> <STRONG>*</STRONG>.
- These data structures are manipulated with routines
- described here and elsewhere in the <STRONG>ncurses</STRONG> manual pages.
- Among those, the most basic routines are <STRONG>move</STRONG> and <STRONG>addch</STRONG>.
- More general versions of these routines are included with
- names beginning with <STRONG>w</STRONG>, allowing the user to specify a
- window. The routines not beginning with <STRONG>w</STRONG> affect <STRONG>stdscr</STRONG>.
-
- After using routines to manipulate a window, <STRONG>refresh</STRONG> is
- called, telling <STRONG>curses</STRONG> to make the user's CRT screen look
- like <STRONG>stdscr</STRONG>. The characters in a window are actually of
- type <STRONG>chtype</STRONG>, (character and attribute data) so that other
- information about the character may also be stored with
- each character.
-
- Special windows called <EM>pads</EM> may also be manipulated.
- These are windows which are not constrained to the size of
- the screen and whose contents need not be completely dis-
- played. See <STRONG><A HREF="curs_pad.3x.html">curs_pad(3x)</A></STRONG> for more information.
-
- In addition to drawing characters on the screen, video
- attributes and colors may be supported, causing the char-
- acters to show up in such modes as underlined, in reverse
- video, or in color on terminals that support such display
- enhancements. Line drawing characters may be specified to
- be output. On input, <STRONG>curses</STRONG> is also able to translate
- arrow and function keys that transmit escape sequences
- into single values. The video attributes, line drawing
- characters, and input values use names, defined in
- <STRONG>&lt;curses.h&gt;</STRONG>, such as <STRONG>A_REVERSE</STRONG>, <STRONG>ACS_HLINE</STRONG>, and <STRONG>KEY_LEFT</STRONG>.
-
- If the environment variables <STRONG>LINES</STRONG> and <STRONG>COLUMNS</STRONG> are set, or
- if the program is executing in a window environment, line
- and column information in the environment will override
- information read by <EM>terminfo</EM>. This would affect a program
- running in an AT&amp;T 630 layer, for example, where the size
- of a screen is changeable (see <STRONG>ENVIRONMENT</STRONG>).
-
- If the environment variable <STRONG>TERMINFO</STRONG> is defined, any pro-
- gram using <STRONG>curses</STRONG> checks for a local terminal definition
- before checking in the standard place. For example, if
- <STRONG>TERM</STRONG> is set to <STRONG>att4424</STRONG>, then the compiled terminal defini-
- tion is found in
-
- <STRONG>/usr/share/terminfo/a/att4424</STRONG>.
-
- (The <STRONG>a</STRONG> is copied from the first letter of <STRONG>att4424</STRONG> to avoid
- creation of huge directories.) However, if <STRONG>TERMINFO</STRONG> is
- set to <STRONG>$HOME/myterms</STRONG>, <STRONG>curses</STRONG> first checks
-
- <STRONG>$HOME/myterms/a/att4424</STRONG>,
+
+</PRE><H3><a name="h3-Datatypes">Datatypes</a></H3><PRE>
+ The <STRONG>ncurses</STRONG> library permits manipulation of data structures, called
+ <EM>windows</EM>, which can be thought of as two-dimensional arrays of charac-
+ ters representing all or part of a CRT screen. A default window called
+ <STRONG>stdscr</STRONG>, which is the size of the terminal screen, is supplied. Others
+ may be created with <STRONG>newwin</STRONG>.
+
+ Note that <STRONG>curses</STRONG> does not handle overlapping windows, that's done by
+ the <STRONG><A HREF="panel.3x.html">panel(3x)</A></STRONG> library. This means that you can either use <STRONG>stdscr</STRONG> or
+ divide the screen into tiled windows and not using <STRONG>stdscr</STRONG> at all. Mix-
+ ing the two will result in unpredictable, and undesired, effects.
+
+ Windows are referred to by variables declared as <STRONG>WINDOW</STRONG> <STRONG>*</STRONG>. These data
+ structures are manipulated with routines described here and elsewhere
+ in the <STRONG>ncurses</STRONG> manual pages. Among those, the most basic routines are
+ <STRONG>move</STRONG> and <STRONG>addch</STRONG>. More general versions of these routines are included
+ with names beginning with <STRONG>w</STRONG>, allowing the user to specify a window.
+ The routines not beginning with <STRONG>w</STRONG> affect <STRONG>stdscr</STRONG>.
+
+ After using routines to manipulate a window, <STRONG><A HREF="curs_refresh.3x.html">refresh(3x)</A></STRONG> is called,
+ telling <STRONG>curses</STRONG> to make the user's CRT screen look like <STRONG>stdscr</STRONG>. The
+ characters in a window are actually of type <STRONG>chtype</STRONG>, (character and
+ attribute data) so that other information about the character may also
+ be stored with each character.
+
+ Special windows called <EM>pads</EM> may also be manipulated. These are windows
+ which are not constrained to the size of the screen and whose contents
+ need not be completely displayed. See <STRONG><A HREF="curs_pad.3x.html">curs_pad(3x)</A></STRONG> for more informa-
+ tion.
+
+ In addition to drawing characters on the screen, video attributes and
+ colors may be supported, causing the characters to show up in such
+ modes as underlined, in reverse video, or in color on terminals that
+ support such display enhancements. Line drawing characters may be
+ specified to be output. On input, <STRONG>curses</STRONG> is also able to translate
+ arrow and function keys that transmit escape sequences into single val-
+ ues. The video attributes, line drawing characters, and input values
+ use names, defined in <STRONG>&lt;curses.h&gt;</STRONG>, such as <STRONG>A_REVERSE</STRONG>, <STRONG>ACS_HLINE</STRONG>, and
+ <STRONG>KEY_LEFT</STRONG>.
+
+
+</PRE><H3><a name="h3-Environment-variables">Environment variables</a></H3><PRE>
+ If the environment variables <STRONG>LINES</STRONG> and <STRONG>COLUMNS</STRONG> are set, or if the pro-
+ gram is executing in a window environment, line and column information
+ in the environment will override information read by <EM>terminfo</EM>. This
+ would affect a program running in an AT&amp;T 630 layer, for example, where
+ the size of a screen is changeable (see <STRONG>ENVIRONMENT</STRONG>).
+
+ If the environment variable <STRONG>TERMINFO</STRONG> is defined, any program using
+ <STRONG>curses</STRONG> checks for a local terminal definition before checking in the
+ standard place. For example, if <STRONG>TERM</STRONG> is set to <STRONG>att4424</STRONG>, then the com-
+ piled terminal definition is found in
+
+ <STRONG>/usr/share/terminfo/a/att4424</STRONG>.
+
+ (The <STRONG>a</STRONG> is copied from the first letter of <STRONG>att4424</STRONG> to avoid creation of
+ huge directories.) However, if <STRONG>TERMINFO</STRONG> is set to <STRONG>$HOME/myterms</STRONG>,
+ <STRONG>curses</STRONG> first checks
+
+ <STRONG>$HOME/myterms/a/att4424</STRONG>,
and if that fails, it then checks
- <STRONG>/usr/share/terminfo/a/att4424</STRONG>.
-
- This is useful for developing experimental definitions or
- when write permission in <STRONG>/usr/share/terminfo</STRONG> is not avail-
- able.
-
- The integer variables <STRONG>LINES</STRONG> and <STRONG>COLS</STRONG> are defined in
- <STRONG>&lt;curses.h&gt;</STRONG> and will be filled in by <STRONG>initscr</STRONG> with the size
- of the screen. The constants <STRONG>TRUE</STRONG> and <STRONG>FALSE</STRONG> have the val-
- ues <STRONG>1</STRONG> and <STRONG>0</STRONG>, respectively.
-
- The <STRONG>curses</STRONG> routines also define the <STRONG>WINDOW</STRONG> <STRONG>*</STRONG> variable
- <STRONG>curscr</STRONG> which is used for certain low-level operations like
- clearing and redrawing a screen containing garbage. The
- <STRONG>curscr</STRONG> can be used in only a few routines.
-
- <STRONG>Routine</STRONG> <STRONG>and</STRONG> <STRONG>Argument</STRONG> <STRONG>Names</STRONG>
- Many <STRONG>curses</STRONG> routines have two or more versions. The rou-
- tines prefixed with <STRONG>w</STRONG> require a window argument. The rou-
- tines prefixed with <STRONG>p</STRONG> require a pad argument. Those with-
- out a prefix generally use <STRONG>stdscr</STRONG>.
-
- The routines prefixed with <STRONG>mv</STRONG> require a <EM>y</EM> and <EM>x</EM> coordinate
- to move to before performing the appropriate action. The
- <STRONG>mv</STRONG> routines imply a call to <STRONG>move</STRONG> before the call to the
- other routine. The coordinate <EM>y</EM> always refers to the row
- (of the window), and <EM>x</EM> always refers to the column. The
- upper left-hand corner is always (0,0), not (1,1).
-
- The routines prefixed with <STRONG>mvw</STRONG> take both a window argument
- and <EM>x</EM> and <EM>y</EM> coordinates. The window argument is always
- specified before the coordinates.
-
- In each case, <EM>win</EM> is the window affected, and <EM>pad</EM> is the
- pad affected; <EM>win</EM> and <EM>pad</EM> are always pointers to type <STRONG>WIN-</STRONG>
- <STRONG>DOW</STRONG>.
-
- Option setting routines require a Boolean flag <EM>bf</EM> with the
- value <STRONG>TRUE</STRONG> or <STRONG>FALSE</STRONG>; <EM>bf</EM> is always of type <STRONG>bool</STRONG>. Most of
- the data types used in the library routines, such as <STRONG>WIN-</STRONG>
- <STRONG>DOW</STRONG>, <STRONG>SCREEN</STRONG>, <STRONG>bool</STRONG>, and <STRONG>chtype</STRONG> are defined in <STRONG>&lt;curses.h&gt;</STRONG>.
- Types used for the terminfo routines such as <STRONG>TERMINAL</STRONG> are
- defined in <STRONG>&lt;term.h&gt;</STRONG>.
-
- This manual page describes functions which may appear in
- any configuration of the library. There are two common
- configurations of the library:
-
- ncurses
- the "normal" library, which handles 8-bit
- characters. The normal (8-bit) library stores
- characters combined with attributes in <STRONG>chtype</STRONG>
- data.
-
- Attributes alone (no corresponding character)
- may be stored in <STRONG>chtype</STRONG> or the equivalent
- <STRONG>attr_t</STRONG> data. In either case, the data is
- stored in something like an integer.
-
- Each cell (row and column) in a <STRONG>WINDOW</STRONG> is
- stored as a <STRONG>chtype</STRONG>.
-
- ncursesw
- the so-called "wide" library, which handles
- multibyte characters (see the section on
- <STRONG>ALTERNATE</STRONG> <STRONG>CONFIGURATIONS</STRONG>). The "wide" library
- includes all of the calls from the "normal"
- library. It adds about one third more calls
- using data types which store multibyte charac-
- ters:
-
- <STRONG>cchar_t</STRONG>
- corresponds to <STRONG>chtype</STRONG>. However it is a
- structure, because more data is stored
- than can fit into an integer. The char-
- acters are large enough to require a full
- integer value - and there may be more
- than one character per cell. The video
- attributes and color are stored in sepa-
- rate fields of the structure.
-
- Each cell (row and column) in a <STRONG>WINDOW</STRONG> is
- stored as a <STRONG>cchar_t</STRONG>.
-
- <STRONG>wchar_t</STRONG>
- stores a "wide" character. Like <STRONG>chtype</STRONG>,
- this may be an integer.
-
- <STRONG>wint_t</STRONG>
- stores a <STRONG>wchar_t</STRONG> or <STRONG>WEOF</STRONG> - not the same,
- though both may have the same size.
-
- The "wide" library provides new functions
- which are analogous to functions in the "nor-
- mal" library. There is a naming convention
- which relates many of the normal/wide vari-
- ants: a "_w" is inserted into the name. For
- example, <STRONG>waddch</STRONG> becomes <STRONG>wadd_wch</STRONG>.
-
- <STRONG>Routine</STRONG> <STRONG>Name</STRONG> <STRONG>Index</STRONG>
- The following table lists each <STRONG>curses</STRONG> routine and the name
- of the manual page on which it is described. Routines
- flagged with `*' are ncurses-specific, not described by
- XPG4 or present in SVr4.
-
- <STRONG>curses</STRONG> Routine Name Manual Page Name
- --------------------------------------------
- COLOR_PAIR <STRONG><A HREF="curs_color.3x.html">curs_color(3x)</A></STRONG>
- PAIR_NUMBER <STRONG><A HREF="curs_attr.3x.html">curs_attr(3x)</A></STRONG>
- _nc_free_and_exit <STRONG><A HREF="curs_memleaks.3x.html">curs_memleaks(3x)</A></STRONG>*
- _nc_freeall <STRONG><A HREF="curs_memleaks.3x.html">curs_memleaks(3x)</A></STRONG>*
- _nc_tracebits <STRONG><A HREF="curs_trace.3x.html">curs_trace(3x)</A></STRONG>*
-
- _traceattr <STRONG><A HREF="curs_trace.3x.html">curs_trace(3x)</A></STRONG>*
- _traceattr2 <STRONG><A HREF="curs_trace.3x.html">curs_trace(3x)</A></STRONG>*
- _tracechar <STRONG><A HREF="curs_trace.3x.html">curs_trace(3x)</A></STRONG>*
- _tracechtype <STRONG><A HREF="curs_trace.3x.html">curs_trace(3x)</A></STRONG>*
- _tracechtype2 <STRONG><A HREF="curs_trace.3x.html">curs_trace(3x)</A></STRONG>*
- _tracedump <STRONG><A HREF="curs_trace.3x.html">curs_trace(3x)</A></STRONG>*
- _tracef <STRONG><A HREF="curs_trace.3x.html">curs_trace(3x)</A></STRONG>*
- _tracemouse <STRONG><A HREF="curs_trace.3x.html">curs_trace(3x)</A></STRONG>*
- add_wch <STRONG><A HREF="curs_add_wch.3x.html">curs_add_wch(3x)</A></STRONG>
- add_wchnstr <STRONG><A HREF="curs_add_wchstr.3x.html">curs_add_wchstr(3x)</A></STRONG>
- add_wchstr <STRONG><A HREF="curs_add_wchstr.3x.html">curs_add_wchstr(3x)</A></STRONG>
- addch <STRONG><A HREF="curs_addch.3x.html">curs_addch(3x)</A></STRONG>
- addchnstr <STRONG><A HREF="curs_addchstr.3x.html">curs_addchstr(3x)</A></STRONG>
- addchstr <STRONG><A HREF="curs_addchstr.3x.html">curs_addchstr(3x)</A></STRONG>
- addnstr <STRONG><A HREF="curs_addstr.3x.html">curs_addstr(3x)</A></STRONG>
- addnwstr <STRONG><A HREF="curs_addwstr.3x.html">curs_addwstr(3x)</A></STRONG>
- addstr <STRONG><A HREF="curs_addstr.3x.html">curs_addstr(3x)</A></STRONG>
- addwstr <STRONG><A HREF="curs_addwstr.3x.html">curs_addwstr(3x)</A></STRONG>
- assume_default_colors <STRONG><A HREF="default_colors.3x.html">default_colors(3x)</A></STRONG>*
- attr_get <STRONG><A HREF="curs_attr.3x.html">curs_attr(3x)</A></STRONG>
- attr_off <STRONG><A HREF="curs_attr.3x.html">curs_attr(3x)</A></STRONG>
- attr_on <STRONG><A HREF="curs_attr.3x.html">curs_attr(3x)</A></STRONG>
- attr_set <STRONG><A HREF="curs_attr.3x.html">curs_attr(3x)</A></STRONG>
- attroff <STRONG><A HREF="curs_attr.3x.html">curs_attr(3x)</A></STRONG>
- attron <STRONG><A HREF="curs_attr.3x.html">curs_attr(3x)</A></STRONG>
- attrset <STRONG><A HREF="curs_attr.3x.html">curs_attr(3x)</A></STRONG>
- baudrate <STRONG><A HREF="curs_termattrs.3x.html">curs_termattrs(3x)</A></STRONG>
- beep <STRONG><A HREF="curs_beep.3x.html">curs_beep(3x)</A></STRONG>
- bkgd <STRONG><A HREF="curs_bkgd.3x.html">curs_bkgd(3x)</A></STRONG>
- bkgdset <STRONG><A HREF="curs_bkgd.3x.html">curs_bkgd(3x)</A></STRONG>
- bkgrnd <STRONG><A HREF="curs_bkgrnd.3x.html">curs_bkgrnd(3x)</A></STRONG>
- bkgrndset <STRONG><A HREF="curs_bkgrnd.3x.html">curs_bkgrnd(3x)</A></STRONG>
- border <STRONG><A HREF="curs_border.3x.html">curs_border(3x)</A></STRONG>
- border_set <STRONG><A HREF="curs_border_set.3x.html">curs_border_set(3x)</A></STRONG>
- box <STRONG><A HREF="curs_border.3x.html">curs_border(3x)</A></STRONG>
- box_set <STRONG><A HREF="curs_border_set.3x.html">curs_border_set(3x)</A></STRONG>
- can_change_color <STRONG><A HREF="curs_color.3x.html">curs_color(3x)</A></STRONG>
- cbreak <STRONG><A HREF="curs_inopts.3x.html">curs_inopts(3x)</A></STRONG>
- chgat <STRONG><A HREF="curs_attr.3x.html">curs_attr(3x)</A></STRONG>
- clear <STRONG><A HREF="curs_clear.3x.html">curs_clear(3x)</A></STRONG>
- clearok <STRONG><A HREF="curs_outopts.3x.html">curs_outopts(3x)</A></STRONG>
- clrtobot <STRONG><A HREF="curs_clear.3x.html">curs_clear(3x)</A></STRONG>
- clrtoeol <STRONG><A HREF="curs_clear.3x.html">curs_clear(3x)</A></STRONG>
- color_content <STRONG><A HREF="curs_color.3x.html">curs_color(3x)</A></STRONG>
- color_set <STRONG><A HREF="curs_attr.3x.html">curs_attr(3x)</A></STRONG>
- copywin <STRONG><A HREF="curs_overlay.3x.html">curs_overlay(3x)</A></STRONG>
- curs_set <STRONG><A HREF="curs_kernel.3x.html">curs_kernel(3x)</A></STRONG>
- curses_version <STRONG><A HREF="curs_extend.3x.html">curs_extend(3x)</A></STRONG>*
- def_prog_mode <STRONG><A HREF="curs_kernel.3x.html">curs_kernel(3x)</A></STRONG>
- def_shell_mode <STRONG><A HREF="curs_kernel.3x.html">curs_kernel(3x)</A></STRONG>
- define_key <STRONG><A HREF="define_key.3x.html">define_key(3x)</A></STRONG>*
- del_curterm <STRONG><A HREF="curs_terminfo.3x.html">curs_terminfo(3x)</A></STRONG>
- delay_output <STRONG><A HREF="curs_util.3x.html">curs_util(3x)</A></STRONG>
- delch <STRONG><A HREF="curs_delch.3x.html">curs_delch(3x)</A></STRONG>
- deleteln <STRONG><A HREF="curs_deleteln.3x.html">curs_deleteln(3x)</A></STRONG>
- delscreen <STRONG><A HREF="curs_initscr.3x.html">curs_initscr(3x)</A></STRONG>
- delwin <STRONG><A HREF="curs_window.3x.html">curs_window(3x)</A></STRONG>
- derwin <STRONG><A HREF="curs_window.3x.html">curs_window(3x)</A></STRONG>
- doupdate <STRONG><A HREF="curs_refresh.3x.html">curs_refresh(3x)</A></STRONG>
- dupwin <STRONG><A HREF="curs_window.3x.html">curs_window(3x)</A></STRONG>
- echo <STRONG><A HREF="curs_inopts.3x.html">curs_inopts(3x)</A></STRONG>
- echo_wchar <STRONG><A HREF="curs_add_wch.3x.html">curs_add_wch(3x)</A></STRONG>
- echochar <STRONG><A HREF="curs_addch.3x.html">curs_addch(3x)</A></STRONG>
- endwin <STRONG><A HREF="curs_initscr.3x.html">curs_initscr(3x)</A></STRONG>
- erase <STRONG><A HREF="curs_clear.3x.html">curs_clear(3x)</A></STRONG>
-
- erasechar <STRONG><A HREF="curs_termattrs.3x.html">curs_termattrs(3x)</A></STRONG>
- erasewchar <STRONG><A HREF="curs_termattrs.3x.html">curs_termattrs(3x)</A></STRONG>
- filter <STRONG><A HREF="curs_util.3x.html">curs_util(3x)</A></STRONG>
- flash <STRONG><A HREF="curs_beep.3x.html">curs_beep(3x)</A></STRONG>
- flushinp <STRONG><A HREF="curs_util.3x.html">curs_util(3x)</A></STRONG>
- get_wch <STRONG><A HREF="curs_get_wch.3x.html">curs_get_wch(3x)</A></STRONG>
- get_wstr <STRONG><A HREF="curs_get_wstr.3x.html">curs_get_wstr(3x)</A></STRONG>
- getattrs <STRONG><A HREF="curs_attr.3x.html">curs_attr(3x)</A></STRONG>
- getbegx <STRONG><A HREF="curs_legacy.3x.html">curs_legacy(3x)</A></STRONG>*
- getbegy <STRONG><A HREF="curs_legacy.3x.html">curs_legacy(3x)</A></STRONG>*
- getbegyx <STRONG><A HREF="curs_getyx.3x.html">curs_getyx(3x)</A></STRONG>
- getbkgd <STRONG><A HREF="curs_bkgd.3x.html">curs_bkgd(3x)</A></STRONG>
- getbkgrnd <STRONG><A HREF="curs_bkgrnd.3x.html">curs_bkgrnd(3x)</A></STRONG>
- getcchar <STRONG><A HREF="curs_getcchar.3x.html">curs_getcchar(3x)</A></STRONG>
- getch <STRONG><A HREF="curs_getch.3x.html">curs_getch(3x)</A></STRONG>
- getcurx <STRONG><A HREF="curs_legacy.3x.html">curs_legacy(3x)</A></STRONG>*
- getcury <STRONG><A HREF="curs_legacy.3x.html">curs_legacy(3x)</A></STRONG>*
- getmaxx <STRONG><A HREF="curs_legacy.3x.html">curs_legacy(3x)</A></STRONG>*
- getmaxy <STRONG><A HREF="curs_legacy.3x.html">curs_legacy(3x)</A></STRONG>*
- getmaxyx <STRONG><A HREF="curs_getyx.3x.html">curs_getyx(3x)</A></STRONG>
- getmouse <STRONG><A HREF="curs_mouse.3x.html">curs_mouse(3x)</A></STRONG>*
- getn_wstr <STRONG><A HREF="curs_get_wstr.3x.html">curs_get_wstr(3x)</A></STRONG>
- getnstr <STRONG><A HREF="curs_getstr.3x.html">curs_getstr(3x)</A></STRONG>
- getparx <STRONG><A HREF="curs_legacy.3x.html">curs_legacy(3x)</A></STRONG>*
- getpary <STRONG><A HREF="curs_legacy.3x.html">curs_legacy(3x)</A></STRONG>*
- getparyx <STRONG><A HREF="curs_getyx.3x.html">curs_getyx(3x)</A></STRONG>
- getstr <STRONG><A HREF="curs_getstr.3x.html">curs_getstr(3x)</A></STRONG>
- getsyx <STRONG><A HREF="curs_kernel.3x.html">curs_kernel(3x)</A></STRONG>
- getwin <STRONG><A HREF="curs_util.3x.html">curs_util(3x)</A></STRONG>
- getyx <STRONG><A HREF="curs_getyx.3x.html">curs_getyx(3x)</A></STRONG>
- halfdelay <STRONG><A HREF="curs_inopts.3x.html">curs_inopts(3x)</A></STRONG>
- has_colors <STRONG><A HREF="curs_color.3x.html">curs_color(3x)</A></STRONG>
- has_ic <STRONG><A HREF="curs_termattrs.3x.html">curs_termattrs(3x)</A></STRONG>
- has_il <STRONG><A HREF="curs_termattrs.3x.html">curs_termattrs(3x)</A></STRONG>
- has_key <STRONG><A HREF="curs_getch.3x.html">curs_getch(3x)</A></STRONG>*
- hline <STRONG><A HREF="curs_border.3x.html">curs_border(3x)</A></STRONG>
- hline_set <STRONG><A HREF="curs_border_set.3x.html">curs_border_set(3x)</A></STRONG>
- idcok <STRONG><A HREF="curs_outopts.3x.html">curs_outopts(3x)</A></STRONG>
- idlok <STRONG><A HREF="curs_outopts.3x.html">curs_outopts(3x)</A></STRONG>
- immedok <STRONG><A HREF="curs_outopts.3x.html">curs_outopts(3x)</A></STRONG>
- in_wch <STRONG><A HREF="curs_in_wch.3x.html">curs_in_wch(3x)</A></STRONG>
- in_wchnstr <STRONG><A HREF="curs_in_wchstr.3x.html">curs_in_wchstr(3x)</A></STRONG>
- in_wchstr <STRONG><A HREF="curs_in_wchstr.3x.html">curs_in_wchstr(3x)</A></STRONG>
- inch <STRONG><A HREF="curs_inch.3x.html">curs_inch(3x)</A></STRONG>
- inchnstr <STRONG><A HREF="curs_inchstr.3x.html">curs_inchstr(3x)</A></STRONG>
- inchstr <STRONG><A HREF="curs_inchstr.3x.html">curs_inchstr(3x)</A></STRONG>
- init_color <STRONG><A HREF="curs_color.3x.html">curs_color(3x)</A></STRONG>
- init_pair <STRONG><A HREF="curs_color.3x.html">curs_color(3x)</A></STRONG>
- initscr <STRONG><A HREF="curs_initscr.3x.html">curs_initscr(3x)</A></STRONG>
- innstr <STRONG><A HREF="curs_instr.3x.html">curs_instr(3x)</A></STRONG>
- innwstr <STRONG><A HREF="curs_inwstr.3x.html">curs_inwstr(3x)</A></STRONG>
- ins_nwstr <STRONG><A HREF="curs_ins_wstr.3x.html">curs_ins_wstr(3x)</A></STRONG>
- ins_wch <STRONG><A HREF="curs_ins_wch.3x.html">curs_ins_wch(3x)</A></STRONG>
- ins_wstr <STRONG><A HREF="curs_ins_wstr.3x.html">curs_ins_wstr(3x)</A></STRONG>
- insch <STRONG><A HREF="curs_insch.3x.html">curs_insch(3x)</A></STRONG>
- insdelln <STRONG><A HREF="curs_deleteln.3x.html">curs_deleteln(3x)</A></STRONG>
- insertln <STRONG><A HREF="curs_deleteln.3x.html">curs_deleteln(3x)</A></STRONG>
- insnstr <STRONG><A HREF="curs_insstr.3x.html">curs_insstr(3x)</A></STRONG>
- insstr <STRONG><A HREF="curs_insstr.3x.html">curs_insstr(3x)</A></STRONG>
- instr <STRONG><A HREF="curs_instr.3x.html">curs_instr(3x)</A></STRONG>
- intrflush <STRONG><A HREF="curs_inopts.3x.html">curs_inopts(3x)</A></STRONG>
- inwstr <STRONG><A HREF="curs_inwstr.3x.html">curs_inwstr(3x)</A></STRONG>
- is_cleared <STRONG><A HREF="curs_opaque.3x.html">curs_opaque(3x)</A></STRONG>*
- is_idcok <STRONG><A HREF="curs_opaque.3x.html">curs_opaque(3x)</A></STRONG>*
- is_idlok <STRONG><A HREF="curs_opaque.3x.html">curs_opaque(3x)</A></STRONG>*
-
- is_immedok <STRONG><A HREF="curs_opaque.3x.html">curs_opaque(3x)</A></STRONG>*
- is_keypad <STRONG><A HREF="curs_opaque.3x.html">curs_opaque(3x)</A></STRONG>*
- is_leaveok <STRONG><A HREF="curs_opaque.3x.html">curs_opaque(3x)</A></STRONG>*
- is_linetouched <STRONG><A HREF="curs_touch.3x.html">curs_touch(3x)</A></STRONG>
- is_nodelay <STRONG><A HREF="curs_opaque.3x.html">curs_opaque(3x)</A></STRONG>*
- is_notimeout <STRONG><A HREF="curs_opaque.3x.html">curs_opaque(3x)</A></STRONG>*
- is_scrollok <STRONG><A HREF="curs_opaque.3x.html">curs_opaque(3x)</A></STRONG>*
- is_syncok <STRONG><A HREF="curs_opaque.3x.html">curs_opaque(3x)</A></STRONG>*
- is_term_resized <STRONG><A HREF="resizeterm.3x.html">resizeterm(3x)</A></STRONG>*
- is_wintouched <STRONG><A HREF="curs_touch.3x.html">curs_touch(3x)</A></STRONG>
- isendwin <STRONG><A HREF="curs_initscr.3x.html">curs_initscr(3x)</A></STRONG>
- key_defined <STRONG><A HREF="key_defined.3x.html">key_defined(3x)</A></STRONG>*
- key_name <STRONG><A HREF="curs_util.3x.html">curs_util(3x)</A></STRONG>
- keybound <STRONG><A HREF="keybound.3x.html">keybound(3x)</A></STRONG>*
- keyname <STRONG><A HREF="curs_util.3x.html">curs_util(3x)</A></STRONG>
- keyok <STRONG><A HREF="keyok.3x.html">keyok(3x)</A></STRONG>*
- keypad <STRONG><A HREF="curs_inopts.3x.html">curs_inopts(3x)</A></STRONG>
- killchar <STRONG><A HREF="curs_termattrs.3x.html">curs_termattrs(3x)</A></STRONG>
- killwchar <STRONG><A HREF="curs_termattrs.3x.html">curs_termattrs(3x)</A></STRONG>
- leaveok <STRONG><A HREF="curs_outopts.3x.html">curs_outopts(3x)</A></STRONG>
- longname <STRONG><A HREF="curs_termattrs.3x.html">curs_termattrs(3x)</A></STRONG>
- mcprint <STRONG><A HREF="curs_print.3x.html">curs_print(3x)</A></STRONG>*
- meta <STRONG><A HREF="curs_inopts.3x.html">curs_inopts(3x)</A></STRONG>
- mouse_trafo <STRONG><A HREF="curs_mouse.3x.html">curs_mouse(3x)</A></STRONG>*
- mouseinterval <STRONG><A HREF="curs_mouse.3x.html">curs_mouse(3x)</A></STRONG>*
- mousemask <STRONG><A HREF="curs_mouse.3x.html">curs_mouse(3x)</A></STRONG>*
- move <STRONG><A HREF="curs_move.3x.html">curs_move(3x)</A></STRONG>
- mvadd_wch <STRONG><A HREF="curs_add_wch.3x.html">curs_add_wch(3x)</A></STRONG>
- mvadd_wchnstr <STRONG><A HREF="curs_add_wchstr.3x.html">curs_add_wchstr(3x)</A></STRONG>
- mvadd_wchstr <STRONG><A HREF="curs_add_wchstr.3x.html">curs_add_wchstr(3x)</A></STRONG>
- mvaddch <STRONG><A HREF="curs_addch.3x.html">curs_addch(3x)</A></STRONG>
- mvaddchnstr <STRONG><A HREF="curs_addchstr.3x.html">curs_addchstr(3x)</A></STRONG>
- mvaddchstr <STRONG><A HREF="curs_addchstr.3x.html">curs_addchstr(3x)</A></STRONG>
- mvaddnstr <STRONG><A HREF="curs_addstr.3x.html">curs_addstr(3x)</A></STRONG>
- mvaddnwstr <STRONG><A HREF="curs_addwstr.3x.html">curs_addwstr(3x)</A></STRONG>
- mvaddstr <STRONG><A HREF="curs_addstr.3x.html">curs_addstr(3x)</A></STRONG>
- mvaddwstr <STRONG><A HREF="curs_addwstr.3x.html">curs_addwstr(3x)</A></STRONG>
- mvchgat <STRONG><A HREF="curs_attr.3x.html">curs_attr(3x)</A></STRONG>
- mvcur <STRONG><A HREF="curs_terminfo.3x.html">curs_terminfo(3x)</A></STRONG>
- mvdelch <STRONG><A HREF="curs_delch.3x.html">curs_delch(3x)</A></STRONG>
- mvderwin <STRONG><A HREF="curs_window.3x.html">curs_window(3x)</A></STRONG>
- mvget_wch <STRONG><A HREF="curs_get_wch.3x.html">curs_get_wch(3x)</A></STRONG>
- mvget_wstr <STRONG><A HREF="curs_get_wstr.3x.html">curs_get_wstr(3x)</A></STRONG>
- mvgetch <STRONG><A HREF="curs_getch.3x.html">curs_getch(3x)</A></STRONG>
- mvgetn_wstr <STRONG><A HREF="curs_get_wstr.3x.html">curs_get_wstr(3x)</A></STRONG>
- mvgetnstr <STRONG><A HREF="curs_getstr.3x.html">curs_getstr(3x)</A></STRONG>
- mvgetstr <STRONG><A HREF="curs_getstr.3x.html">curs_getstr(3x)</A></STRONG>
- mvhline <STRONG><A HREF="curs_border.3x.html">curs_border(3x)</A></STRONG>
- mvhline_set <STRONG><A HREF="curs_border_set.3x.html">curs_border_set(3x)</A></STRONG>
- mvin_wch <STRONG><A HREF="curs_in_wch.3x.html">curs_in_wch(3x)</A></STRONG>
- mvin_wchnstr <STRONG><A HREF="curs_in_wchstr.3x.html">curs_in_wchstr(3x)</A></STRONG>
- mvin_wchstr <STRONG><A HREF="curs_in_wchstr.3x.html">curs_in_wchstr(3x)</A></STRONG>
- mvinch <STRONG><A HREF="curs_inch.3x.html">curs_inch(3x)</A></STRONG>
- mvinchnstr <STRONG><A HREF="curs_inchstr.3x.html">curs_inchstr(3x)</A></STRONG>
- mvinchstr <STRONG><A HREF="curs_inchstr.3x.html">curs_inchstr(3x)</A></STRONG>
- mvinnstr <STRONG><A HREF="curs_instr.3x.html">curs_instr(3x)</A></STRONG>
- mvinnwstr <STRONG><A HREF="curs_inwstr.3x.html">curs_inwstr(3x)</A></STRONG>
- mvins_nwstr <STRONG><A HREF="curs_ins_wstr.3x.html">curs_ins_wstr(3x)</A></STRONG>
- mvins_wch <STRONG><A HREF="curs_ins_wch.3x.html">curs_ins_wch(3x)</A></STRONG>
- mvins_wstr <STRONG><A HREF="curs_ins_wstr.3x.html">curs_ins_wstr(3x)</A></STRONG>
- mvinsch <STRONG><A HREF="curs_insch.3x.html">curs_insch(3x)</A></STRONG>
- mvinsnstr <STRONG><A HREF="curs_insstr.3x.html">curs_insstr(3x)</A></STRONG>
- mvinsstr <STRONG><A HREF="curs_insstr.3x.html">curs_insstr(3x)</A></STRONG>
- mvinstr <STRONG><A HREF="curs_instr.3x.html">curs_instr(3x)</A></STRONG>
- mvinwstr <STRONG><A HREF="curs_inwstr.3x.html">curs_inwstr(3x)</A></STRONG>
-
- mvprintw <STRONG><A HREF="curs_printw.3x.html">curs_printw(3x)</A></STRONG>
- mvscanw <STRONG><A HREF="curs_scanw.3x.html">curs_scanw(3x)</A></STRONG>
- mvvline <STRONG><A HREF="curs_border.3x.html">curs_border(3x)</A></STRONG>
- mvvline_set <STRONG><A HREF="curs_border_set.3x.html">curs_border_set(3x)</A></STRONG>
- mvwadd_wch <STRONG><A HREF="curs_add_wch.3x.html">curs_add_wch(3x)</A></STRONG>
- mvwadd_wchnstr <STRONG><A HREF="curs_add_wchstr.3x.html">curs_add_wchstr(3x)</A></STRONG>
- mvwadd_wchstr <STRONG><A HREF="curs_add_wchstr.3x.html">curs_add_wchstr(3x)</A></STRONG>
- mvwaddch <STRONG><A HREF="curs_addch.3x.html">curs_addch(3x)</A></STRONG>
- mvwaddchnstr <STRONG><A HREF="curs_addchstr.3x.html">curs_addchstr(3x)</A></STRONG>
- mvwaddchstr <STRONG><A HREF="curs_addchstr.3x.html">curs_addchstr(3x)</A></STRONG>
- mvwaddnstr <STRONG><A HREF="curs_addstr.3x.html">curs_addstr(3x)</A></STRONG>
- mvwaddnwstr <STRONG><A HREF="curs_addwstr.3x.html">curs_addwstr(3x)</A></STRONG>
- mvwaddstr <STRONG><A HREF="curs_addstr.3x.html">curs_addstr(3x)</A></STRONG>
- mvwaddwstr <STRONG><A HREF="curs_addwstr.3x.html">curs_addwstr(3x)</A></STRONG>
- mvwchgat <STRONG><A HREF="curs_attr.3x.html">curs_attr(3x)</A></STRONG>
- mvwdelch <STRONG><A HREF="curs_delch.3x.html">curs_delch(3x)</A></STRONG>
- mvwget_wch <STRONG><A HREF="curs_get_wch.3x.html">curs_get_wch(3x)</A></STRONG>
- mvwget_wstr <STRONG><A HREF="curs_get_wstr.3x.html">curs_get_wstr(3x)</A></STRONG>
- mvwgetch <STRONG><A HREF="curs_getch.3x.html">curs_getch(3x)</A></STRONG>
- mvwgetn_wstr <STRONG><A HREF="curs_get_wstr.3x.html">curs_get_wstr(3x)</A></STRONG>
- mvwgetnstr <STRONG><A HREF="curs_getstr.3x.html">curs_getstr(3x)</A></STRONG>
- mvwgetstr <STRONG><A HREF="curs_getstr.3x.html">curs_getstr(3x)</A></STRONG>
- mvwhline <STRONG><A HREF="curs_border.3x.html">curs_border(3x)</A></STRONG>
- mvwhline_set <STRONG><A HREF="curs_border_set.3x.html">curs_border_set(3x)</A></STRONG>
- mvwin <STRONG><A HREF="curs_window.3x.html">curs_window(3x)</A></STRONG>
- mvwin_wch <STRONG><A HREF="curs_in_wch.3x.html">curs_in_wch(3x)</A></STRONG>
- mvwin_wchnstr <STRONG><A HREF="curs_in_wchstr.3x.html">curs_in_wchstr(3x)</A></STRONG>
- mvwin_wchstr <STRONG><A HREF="curs_in_wchstr.3x.html">curs_in_wchstr(3x)</A></STRONG>
- mvwinch <STRONG><A HREF="curs_inch.3x.html">curs_inch(3x)</A></STRONG>
- mvwinchnstr <STRONG><A HREF="curs_inchstr.3x.html">curs_inchstr(3x)</A></STRONG>
- mvwinchstr <STRONG><A HREF="curs_inchstr.3x.html">curs_inchstr(3x)</A></STRONG>
- mvwinnstr <STRONG><A HREF="curs_instr.3x.html">curs_instr(3x)</A></STRONG>
- mvwinnwstr <STRONG><A HREF="curs_inwstr.3x.html">curs_inwstr(3x)</A></STRONG>
- mvwins_nwstr <STRONG><A HREF="curs_ins_wstr.3x.html">curs_ins_wstr(3x)</A></STRONG>
- mvwins_wch <STRONG><A HREF="curs_ins_wch.3x.html">curs_ins_wch(3x)</A></STRONG>
- mvwins_wstr <STRONG><A HREF="curs_ins_wstr.3x.html">curs_ins_wstr(3x)</A></STRONG>
- mvwinsch <STRONG><A HREF="curs_insch.3x.html">curs_insch(3x)</A></STRONG>
- mvwinsnstr <STRONG><A HREF="curs_insstr.3x.html">curs_insstr(3x)</A></STRONG>
- mvwinsstr <STRONG><A HREF="curs_insstr.3x.html">curs_insstr(3x)</A></STRONG>
- mvwinstr <STRONG><A HREF="curs_instr.3x.html">curs_instr(3x)</A></STRONG>
- mvwinwstr <STRONG><A HREF="curs_inwstr.3x.html">curs_inwstr(3x)</A></STRONG>
- mvwprintw <STRONG><A HREF="curs_printw.3x.html">curs_printw(3x)</A></STRONG>
- mvwscanw <STRONG><A HREF="curs_scanw.3x.html">curs_scanw(3x)</A></STRONG>
- mvwvline <STRONG><A HREF="curs_border.3x.html">curs_border(3x)</A></STRONG>
- mvwvline_set <STRONG><A HREF="curs_border_set.3x.html">curs_border_set(3x)</A></STRONG>
- napms <STRONG><A HREF="curs_kernel.3x.html">curs_kernel(3x)</A></STRONG>
- newpad <STRONG><A HREF="curs_pad.3x.html">curs_pad(3x)</A></STRONG>
- newterm <STRONG><A HREF="curs_initscr.3x.html">curs_initscr(3x)</A></STRONG>
- newwin <STRONG><A HREF="curs_window.3x.html">curs_window(3x)</A></STRONG>
- nl <STRONG><A HREF="curs_outopts.3x.html">curs_outopts(3x)</A></STRONG>
- nocbreak <STRONG><A HREF="curs_inopts.3x.html">curs_inopts(3x)</A></STRONG>
- nodelay <STRONG><A HREF="curs_inopts.3x.html">curs_inopts(3x)</A></STRONG>
- noecho <STRONG><A HREF="curs_inopts.3x.html">curs_inopts(3x)</A></STRONG>
- nofilter <STRONG><A HREF="curs_util.3x.html">curs_util(3x)</A></STRONG>*
- nonl <STRONG><A HREF="curs_outopts.3x.html">curs_outopts(3x)</A></STRONG>
- noqiflush <STRONG><A HREF="curs_inopts.3x.html">curs_inopts(3x)</A></STRONG>
- noraw <STRONG><A HREF="curs_inopts.3x.html">curs_inopts(3x)</A></STRONG>
- notimeout <STRONG><A HREF="curs_inopts.3x.html">curs_inopts(3x)</A></STRONG>
- overlay <STRONG><A HREF="curs_overlay.3x.html">curs_overlay(3x)</A></STRONG>
- overwrite <STRONG><A HREF="curs_overlay.3x.html">curs_overlay(3x)</A></STRONG>
- pair_content <STRONG><A HREF="curs_color.3x.html">curs_color(3x)</A></STRONG>
- pechochar <STRONG><A HREF="curs_pad.3x.html">curs_pad(3x)</A></STRONG>
- pnoutrefresh <STRONG><A HREF="curs_pad.3x.html">curs_pad(3x)</A></STRONG>
- prefresh <STRONG><A HREF="curs_pad.3x.html">curs_pad(3x)</A></STRONG>
- printw <STRONG><A HREF="curs_printw.3x.html">curs_printw(3x)</A></STRONG>
-
- putp <STRONG><A HREF="curs_terminfo.3x.html">curs_terminfo(3x)</A></STRONG>
- putwin <STRONG><A HREF="curs_util.3x.html">curs_util(3x)</A></STRONG>
- qiflush <STRONG><A HREF="curs_inopts.3x.html">curs_inopts(3x)</A></STRONG>
- raw <STRONG><A HREF="curs_inopts.3x.html">curs_inopts(3x)</A></STRONG>
- redrawwin <STRONG><A HREF="curs_refresh.3x.html">curs_refresh(3x)</A></STRONG>
- refresh <STRONG><A HREF="curs_refresh.3x.html">curs_refresh(3x)</A></STRONG>
- reset_prog_mode <STRONG><A HREF="curs_kernel.3x.html">curs_kernel(3x)</A></STRONG>
- reset_shell_mode <STRONG><A HREF="curs_kernel.3x.html">curs_kernel(3x)</A></STRONG>
- resetty <STRONG><A HREF="curs_kernel.3x.html">curs_kernel(3x)</A></STRONG>
- resizeterm <STRONG><A HREF="resizeterm.3x.html">resizeterm(3x)</A></STRONG>*
- restartterm <STRONG><A HREF="curs_terminfo.3x.html">curs_terminfo(3x)</A></STRONG>
- ripoffline <STRONG><A HREF="curs_kernel.3x.html">curs_kernel(3x)</A></STRONG>
- savetty <STRONG><A HREF="curs_kernel.3x.html">curs_kernel(3x)</A></STRONG>
- scanw <STRONG><A HREF="curs_scanw.3x.html">curs_scanw(3x)</A></STRONG>
- scr_dump <STRONG><A HREF="curs_scr_dump.3x.html">curs_scr_dump(3x)</A></STRONG>
- scr_init <STRONG><A HREF="curs_scr_dump.3x.html">curs_scr_dump(3x)</A></STRONG>
- scr_restore <STRONG><A HREF="curs_scr_dump.3x.html">curs_scr_dump(3x)</A></STRONG>
- scr_set <STRONG><A HREF="curs_scr_dump.3x.html">curs_scr_dump(3x)</A></STRONG>
- scrl <STRONG><A HREF="curs_scroll.3x.html">curs_scroll(3x)</A></STRONG>
- scroll <STRONG><A HREF="curs_scroll.3x.html">curs_scroll(3x)</A></STRONG>
- scrollok <STRONG><A HREF="curs_outopts.3x.html">curs_outopts(3x)</A></STRONG>
- set_curterm <STRONG><A HREF="curs_terminfo.3x.html">curs_terminfo(3x)</A></STRONG>
- set_term <STRONG><A HREF="curs_initscr.3x.html">curs_initscr(3x)</A></STRONG>
- setcchar <STRONG><A HREF="curs_getcchar.3x.html">curs_getcchar(3x)</A></STRONG>
- setscrreg <STRONG><A HREF="curs_outopts.3x.html">curs_outopts(3x)</A></STRONG>
- setsyx <STRONG><A HREF="curs_kernel.3x.html">curs_kernel(3x)</A></STRONG>
- setterm <STRONG><A HREF="curs_terminfo.3x.html">curs_terminfo(3x)</A></STRONG>
- setupterm <STRONG><A HREF="curs_terminfo.3x.html">curs_terminfo(3x)</A></STRONG>
- slk_attr <STRONG><A HREF="curs_slk.3x.html">curs_slk(3x)</A></STRONG>*
- slk_attr_off <STRONG><A HREF="curs_slk.3x.html">curs_slk(3x)</A></STRONG>
- slk_attr_on <STRONG><A HREF="curs_slk.3x.html">curs_slk(3x)</A></STRONG>
- slk_attr_set <STRONG><A HREF="curs_slk.3x.html">curs_slk(3x)</A></STRONG>
- slk_attroff <STRONG><A HREF="curs_slk.3x.html">curs_slk(3x)</A></STRONG>
- slk_attron <STRONG><A HREF="curs_slk.3x.html">curs_slk(3x)</A></STRONG>
- slk_attrset <STRONG><A HREF="curs_slk.3x.html">curs_slk(3x)</A></STRONG>
- slk_clear <STRONG><A HREF="curs_slk.3x.html">curs_slk(3x)</A></STRONG>
- slk_color <STRONG><A HREF="curs_slk.3x.html">curs_slk(3x)</A></STRONG>
- slk_init <STRONG><A HREF="curs_slk.3x.html">curs_slk(3x)</A></STRONG>
- slk_label <STRONG><A HREF="curs_slk.3x.html">curs_slk(3x)</A></STRONG>
- slk_noutrefresh <STRONG><A HREF="curs_slk.3x.html">curs_slk(3x)</A></STRONG>
- slk_refresh <STRONG><A HREF="curs_slk.3x.html">curs_slk(3x)</A></STRONG>
- slk_restore <STRONG><A HREF="curs_slk.3x.html">curs_slk(3x)</A></STRONG>
- slk_set <STRONG><A HREF="curs_slk.3x.html">curs_slk(3x)</A></STRONG>
- slk_touch <STRONG><A HREF="curs_slk.3x.html">curs_slk(3x)</A></STRONG>
- standend <STRONG><A HREF="curs_attr.3x.html">curs_attr(3x)</A></STRONG>
- standout <STRONG><A HREF="curs_attr.3x.html">curs_attr(3x)</A></STRONG>
- start_color <STRONG><A HREF="curs_color.3x.html">curs_color(3x)</A></STRONG>
- subpad <STRONG><A HREF="curs_pad.3x.html">curs_pad(3x)</A></STRONG>
- subwin <STRONG><A HREF="curs_window.3x.html">curs_window(3x)</A></STRONG>
- syncok <STRONG><A HREF="curs_window.3x.html">curs_window(3x)</A></STRONG>
- term_attrs <STRONG><A HREF="curs_termattrs.3x.html">curs_termattrs(3x)</A></STRONG>
- termattrs <STRONG><A HREF="curs_termattrs.3x.html">curs_termattrs(3x)</A></STRONG>
- termname <STRONG><A HREF="curs_termattrs.3x.html">curs_termattrs(3x)</A></STRONG>
- tgetent <STRONG><A HREF="curs_termcap.3x.html">curs_termcap(3x)</A></STRONG>
- tgetflag <STRONG><A HREF="curs_termcap.3x.html">curs_termcap(3x)</A></STRONG>
- tgetnum <STRONG><A HREF="curs_termcap.3x.html">curs_termcap(3x)</A></STRONG>
- tgetstr <STRONG><A HREF="curs_termcap.3x.html">curs_termcap(3x)</A></STRONG>
- tgoto <STRONG><A HREF="curs_termcap.3x.html">curs_termcap(3x)</A></STRONG>
- tigetflag <STRONG><A HREF="curs_terminfo.3x.html">curs_terminfo(3x)</A></STRONG>
- tigetnum <STRONG><A HREF="curs_terminfo.3x.html">curs_terminfo(3x)</A></STRONG>
- tigetstr <STRONG><A HREF="curs_terminfo.3x.html">curs_terminfo(3x)</A></STRONG>
- timeout <STRONG><A HREF="curs_inopts.3x.html">curs_inopts(3x)</A></STRONG>
- touchline <STRONG><A HREF="curs_touch.3x.html">curs_touch(3x)</A></STRONG>
- touchwin <STRONG><A HREF="curs_touch.3x.html">curs_touch(3x)</A></STRONG>
- tparm <STRONG><A HREF="curs_terminfo.3x.html">curs_terminfo(3x)</A></STRONG>
-
- tputs <STRONG><A HREF="curs_termcap.3x.html">curs_termcap(3x)</A></STRONG>
- tputs <STRONG><A HREF="curs_terminfo.3x.html">curs_terminfo(3x)</A></STRONG>
- trace <STRONG><A HREF="curs_trace.3x.html">curs_trace(3x)</A></STRONG>*
- typeahead <STRONG><A HREF="curs_inopts.3x.html">curs_inopts(3x)</A></STRONG>
- unctrl <STRONG><A HREF="curs_util.3x.html">curs_util(3x)</A></STRONG>
- unget_wch <STRONG><A HREF="curs_get_wch.3x.html">curs_get_wch(3x)</A></STRONG>
- ungetch <STRONG><A HREF="curs_getch.3x.html">curs_getch(3x)</A></STRONG>
- ungetmouse <STRONG><A HREF="curs_mouse.3x.html">curs_mouse(3x)</A></STRONG>*
- untouchwin <STRONG><A HREF="curs_touch.3x.html">curs_touch(3x)</A></STRONG>
- use_default_colors <STRONG><A HREF="default_colors.3x.html">default_colors(3x)</A></STRONG>*
- use_env <STRONG><A HREF="curs_util.3x.html">curs_util(3x)</A></STRONG>
- use_extended_names <STRONG><A HREF="curs_extend.3x.html">curs_extend(3x)</A></STRONG>*
- use_legacy_coding <STRONG><A HREF="legacy_coding.3x.html">legacy_coding(3x)</A></STRONG>*
- use_tioctl <STRONG><A HREF="curs_util.3x.html">curs_util(3x)</A></STRONG>
- vid_attr <STRONG><A HREF="curs_terminfo.3x.html">curs_terminfo(3x)</A></STRONG>
- vid_puts <STRONG><A HREF="curs_terminfo.3x.html">curs_terminfo(3x)</A></STRONG>
- vidattr <STRONG><A HREF="curs_terminfo.3x.html">curs_terminfo(3x)</A></STRONG>
- vidputs <STRONG><A HREF="curs_terminfo.3x.html">curs_terminfo(3x)</A></STRONG>
- vline <STRONG><A HREF="curs_border.3x.html">curs_border(3x)</A></STRONG>
- vline_set <STRONG><A HREF="curs_border_set.3x.html">curs_border_set(3x)</A></STRONG>
- vw_printw <STRONG><A HREF="curs_printw.3x.html">curs_printw(3x)</A></STRONG>
- vw_scanw <STRONG><A HREF="curs_scanw.3x.html">curs_scanw(3x)</A></STRONG>
- vwprintw <STRONG><A HREF="curs_printw.3x.html">curs_printw(3x)</A></STRONG>
- vwscanw <STRONG><A HREF="curs_scanw.3x.html">curs_scanw(3x)</A></STRONG>
- wadd_wch <STRONG><A HREF="curs_add_wch.3x.html">curs_add_wch(3x)</A></STRONG>
- wadd_wchnstr <STRONG><A HREF="curs_add_wchstr.3x.html">curs_add_wchstr(3x)</A></STRONG>
- wadd_wchstr <STRONG><A HREF="curs_add_wchstr.3x.html">curs_add_wchstr(3x)</A></STRONG>
- waddch <STRONG><A HREF="curs_addch.3x.html">curs_addch(3x)</A></STRONG>
- waddchnstr <STRONG><A HREF="curs_addchstr.3x.html">curs_addchstr(3x)</A></STRONG>
- waddchstr <STRONG><A HREF="curs_addchstr.3x.html">curs_addchstr(3x)</A></STRONG>
- waddnstr <STRONG><A HREF="curs_addstr.3x.html">curs_addstr(3x)</A></STRONG>
- waddnwstr <STRONG><A HREF="curs_addwstr.3x.html">curs_addwstr(3x)</A></STRONG>
- waddstr <STRONG><A HREF="curs_addstr.3x.html">curs_addstr(3x)</A></STRONG>
- waddwstr <STRONG><A HREF="curs_addwstr.3x.html">curs_addwstr(3x)</A></STRONG>
- wattr_get <STRONG><A HREF="curs_attr.3x.html">curs_attr(3x)</A></STRONG>
- wattr_off <STRONG><A HREF="curs_attr.3x.html">curs_attr(3x)</A></STRONG>
- wattr_on <STRONG><A HREF="curs_attr.3x.html">curs_attr(3x)</A></STRONG>
- wattr_set <STRONG><A HREF="curs_attr.3x.html">curs_attr(3x)</A></STRONG>
- wattroff <STRONG><A HREF="curs_attr.3x.html">curs_attr(3x)</A></STRONG>
- wattron <STRONG><A HREF="curs_attr.3x.html">curs_attr(3x)</A></STRONG>
- wattrset <STRONG><A HREF="curs_attr.3x.html">curs_attr(3x)</A></STRONG>
- wbkgd <STRONG><A HREF="curs_bkgd.3x.html">curs_bkgd(3x)</A></STRONG>
- wbkgdset <STRONG><A HREF="curs_bkgd.3x.html">curs_bkgd(3x)</A></STRONG>
- wbkgrnd <STRONG><A HREF="curs_bkgrnd.3x.html">curs_bkgrnd(3x)</A></STRONG>
- wbkgrndset <STRONG><A HREF="curs_bkgrnd.3x.html">curs_bkgrnd(3x)</A></STRONG>
- wborder <STRONG><A HREF="curs_border.3x.html">curs_border(3x)</A></STRONG>
- wborder_set <STRONG><A HREF="curs_border_set.3x.html">curs_border_set(3x)</A></STRONG>
- wchgat <STRONG><A HREF="curs_attr.3x.html">curs_attr(3x)</A></STRONG>
- wclear <STRONG><A HREF="curs_clear.3x.html">curs_clear(3x)</A></STRONG>
- wclrtobot <STRONG><A HREF="curs_clear.3x.html">curs_clear(3x)</A></STRONG>
- wclrtoeol <STRONG><A HREF="curs_clear.3x.html">curs_clear(3x)</A></STRONG>
- wcolor_set <STRONG><A HREF="curs_attr.3x.html">curs_attr(3x)</A></STRONG>
- wcursyncup <STRONG><A HREF="curs_window.3x.html">curs_window(3x)</A></STRONG>
- wdelch <STRONG><A HREF="curs_delch.3x.html">curs_delch(3x)</A></STRONG>
- wdeleteln <STRONG><A HREF="curs_deleteln.3x.html">curs_deleteln(3x)</A></STRONG>
- wecho_wchar <STRONG><A HREF="curs_add_wch.3x.html">curs_add_wch(3x)</A></STRONG>
- wechochar <STRONG><A HREF="curs_addch.3x.html">curs_addch(3x)</A></STRONG>
- wenclose <STRONG><A HREF="curs_mouse.3x.html">curs_mouse(3x)</A></STRONG>*
- werase <STRONG><A HREF="curs_clear.3x.html">curs_clear(3x)</A></STRONG>
- wget_wch <STRONG><A HREF="curs_get_wch.3x.html">curs_get_wch(3x)</A></STRONG>
- wget_wstr <STRONG><A HREF="curs_get_wstr.3x.html">curs_get_wstr(3x)</A></STRONG>
- wgetbkgrnd <STRONG><A HREF="curs_bkgrnd.3x.html">curs_bkgrnd(3x)</A></STRONG>
- wgetch <STRONG><A HREF="curs_getch.3x.html">curs_getch(3x)</A></STRONG>
- wgetn_wstr <STRONG><A HREF="curs_get_wstr.3x.html">curs_get_wstr(3x)</A></STRONG>
- wgetnstr <STRONG><A HREF="curs_getstr.3x.html">curs_getstr(3x)</A></STRONG>
-
- wgetstr <STRONG><A HREF="curs_getstr.3x.html">curs_getstr(3x)</A></STRONG>
- whline <STRONG><A HREF="curs_border.3x.html">curs_border(3x)</A></STRONG>
- whline_set <STRONG><A HREF="curs_border_set.3x.html">curs_border_set(3x)</A></STRONG>
- win_wch <STRONG><A HREF="curs_in_wch.3x.html">curs_in_wch(3x)</A></STRONG>
- win_wchnstr <STRONG><A HREF="curs_in_wchstr.3x.html">curs_in_wchstr(3x)</A></STRONG>
- win_wchstr <STRONG><A HREF="curs_in_wchstr.3x.html">curs_in_wchstr(3x)</A></STRONG>
- winch <STRONG><A HREF="curs_inch.3x.html">curs_inch(3x)</A></STRONG>
- winchnstr <STRONG><A HREF="curs_inchstr.3x.html">curs_inchstr(3x)</A></STRONG>
- winchstr <STRONG><A HREF="curs_inchstr.3x.html">curs_inchstr(3x)</A></STRONG>
- winnstr <STRONG><A HREF="curs_instr.3x.html">curs_instr(3x)</A></STRONG>
- winnwstr <STRONG><A HREF="curs_inwstr.3x.html">curs_inwstr(3x)</A></STRONG>
- wins_nwstr <STRONG><A HREF="curs_ins_wstr.3x.html">curs_ins_wstr(3x)</A></STRONG>
- wins_wch <STRONG><A HREF="curs_ins_wch.3x.html">curs_ins_wch(3x)</A></STRONG>
- wins_wstr <STRONG><A HREF="curs_ins_wstr.3x.html">curs_ins_wstr(3x)</A></STRONG>
- winsch <STRONG><A HREF="curs_insch.3x.html">curs_insch(3x)</A></STRONG>
- winsdelln <STRONG><A HREF="curs_deleteln.3x.html">curs_deleteln(3x)</A></STRONG>
- winsertln <STRONG><A HREF="curs_deleteln.3x.html">curs_deleteln(3x)</A></STRONG>
- winsnstr <STRONG><A HREF="curs_insstr.3x.html">curs_insstr(3x)</A></STRONG>
- winsstr <STRONG><A HREF="curs_insstr.3x.html">curs_insstr(3x)</A></STRONG>
- winstr <STRONG><A HREF="curs_instr.3x.html">curs_instr(3x)</A></STRONG>
- winwstr <STRONG><A HREF="curs_inwstr.3x.html">curs_inwstr(3x)</A></STRONG>
- wmouse_trafo <STRONG><A HREF="curs_mouse.3x.html">curs_mouse(3x)</A></STRONG>*
- wmove <STRONG><A HREF="curs_move.3x.html">curs_move(3x)</A></STRONG>
- wnoutrefresh <STRONG><A HREF="curs_refresh.3x.html">curs_refresh(3x)</A></STRONG>
- wprintw <STRONG><A HREF="curs_printw.3x.html">curs_printw(3x)</A></STRONG>
- wredrawln <STRONG><A HREF="curs_refresh.3x.html">curs_refresh(3x)</A></STRONG>
- wrefresh <STRONG><A HREF="curs_refresh.3x.html">curs_refresh(3x)</A></STRONG>
- wresize <STRONG><A HREF="wresize.3x.html">wresize(3x)</A></STRONG>*
- wscanw <STRONG><A HREF="curs_scanw.3x.html">curs_scanw(3x)</A></STRONG>
- wscrl <STRONG><A HREF="curs_scroll.3x.html">curs_scroll(3x)</A></STRONG>
- wsetscrreg <STRONG><A HREF="curs_outopts.3x.html">curs_outopts(3x)</A></STRONG>
- wstandend <STRONG><A HREF="curs_attr.3x.html">curs_attr(3x)</A></STRONG>
- wstandout <STRONG><A HREF="curs_attr.3x.html">curs_attr(3x)</A></STRONG>
- wsyncdown <STRONG><A HREF="curs_window.3x.html">curs_window(3x)</A></STRONG>
- wsyncup <STRONG><A HREF="curs_window.3x.html">curs_window(3x)</A></STRONG>
- wtimeout <STRONG><A HREF="curs_inopts.3x.html">curs_inopts(3x)</A></STRONG>
- wtouchln <STRONG><A HREF="curs_touch.3x.html">curs_touch(3x)</A></STRONG>
- wunctrl <STRONG><A HREF="curs_util.3x.html">curs_util(3x)</A></STRONG>
- wvline <STRONG><A HREF="curs_border.3x.html">curs_border(3x)</A></STRONG>
- wvline_set <STRONG><A HREF="curs_border_set.3x.html">curs_border_set(3x)</A></STRONG>
+ <STRONG>/usr/share/terminfo/a/att4424</STRONG>.
+
+ This is useful for developing experimental definitions or when write
+ permission in <STRONG>/usr/share/terminfo</STRONG> is not available.
+
+ The integer variables <STRONG>LINES</STRONG> and <STRONG>COLS</STRONG> are defined in <STRONG>&lt;curses.h&gt;</STRONG> and will
+ be filled in by <STRONG>initscr</STRONG> with the size of the screen. The constants
+ <STRONG>TRUE</STRONG> and <STRONG>FALSE</STRONG> have the values <STRONG>1</STRONG> and <STRONG>0</STRONG>, respectively.
+
+ The <STRONG>curses</STRONG> routines also define the <STRONG>WINDOW</STRONG> <STRONG>*</STRONG> variable <STRONG>curscr</STRONG> which is
+ used for certain low-level operations like clearing and redrawing a
+ screen containing garbage. The <STRONG>curscr</STRONG> can be used in only a few rou-
+ tines.
+
+
+</PRE><H3><a name="h3-Routine-and-Argument-Names">Routine and Argument Names</a></H3><PRE>
+ Many <STRONG>curses</STRONG> routines have two or more versions. The routines prefixed
+ with <STRONG>w</STRONG> require a window argument. The routines prefixed with <STRONG>p</STRONG> require
+ a pad argument. Those without a prefix generally use <STRONG>stdscr</STRONG>.
+
+ The routines prefixed with <STRONG>mv</STRONG> require a <EM>y</EM> and <EM>x</EM> coordinate to move to
+ before performing the appropriate action. The <STRONG>mv</STRONG> routines imply a call
+ to <STRONG>move</STRONG> before the call to the other routine. The coordinate <EM>y</EM> always
+ refers to the row (of the window), and <EM>x</EM> always refers to the column.
+ The upper left-hand corner is always (0,0), not (1,1).
+
+ The routines prefixed with <STRONG>mvw</STRONG> take both a window argument and <EM>x</EM> and <EM>y</EM>
+ coordinates. The window argument is always specified before the coor-
+ dinates.
+
+ In each case, <EM>win</EM> is the window affected, and <EM>pad</EM> is the pad affected;
+ <EM>win</EM> and <EM>pad</EM> are always pointers to type <STRONG>WINDOW</STRONG>.
+
+ Option setting routines require a Boolean flag <EM>bf</EM> with the value <STRONG>TRUE</STRONG>
+ or <STRONG>FALSE</STRONG>; <EM>bf</EM> is always of type <STRONG>bool</STRONG>. Most of the data types used in
+ the library routines, such as <STRONG>WINDOW</STRONG>, <STRONG>SCREEN</STRONG>, <STRONG>bool</STRONG>, and <STRONG>chtype</STRONG> are
+ defined in <STRONG>&lt;curses.h&gt;</STRONG>. Types used for the terminfo routines such as
+ <STRONG>TERMINAL</STRONG> are defined in <STRONG>&lt;term.h&gt;</STRONG>.
+
+ This manual page describes functions which may appear in any configura-
+ tion of the library. There are two common configurations of the
+ library:
+
+ <EM>ncurses</EM>
+ the "normal" library, which handles 8-bit characters. The nor-
+ mal (8-bit) library stores characters combined with attributes
+ in <STRONG>chtype</STRONG> data.
+
+ Attributes alone (no corresponding character) may be stored in
+ <STRONG>chtype</STRONG> or the equivalent <STRONG>attr_t</STRONG> data. In either case, the data
+ is stored in something like an integer.
+
+ Each cell (row and column) in a <STRONG>WINDOW</STRONG> is stored as a <STRONG>chtype</STRONG>.
+
+ <EM>ncursesw</EM>
+ the so-called "wide" library, which handles multibyte charac-
+ ters (see the section on <STRONG>ALTERNATE</STRONG> <STRONG>CONFIGURATIONS</STRONG>). The "wide"
+ library includes all of the calls from the "normal" library.
+ It adds about one third more calls using data types which store
+ multibyte characters:
+
+ <STRONG>cchar_t</STRONG>
+ corresponds to <STRONG>chtype</STRONG>. However it is a structure, because
+ more data is stored than can fit into an integer. The
+ characters are large enough to require a full integer
+ value - and there may be more than one character per cell.
+ The video attributes and color are stored in separate
+ fields of the structure.
+
+ Each cell (row and column) in a <STRONG>WINDOW</STRONG> is stored as a
+ <STRONG>cchar_t</STRONG>.
+
+ The <STRONG><A HREF="setcchar.3x.html">setcchar(3x)</A></STRONG> and <STRONG><A HREF="getcchar.3x.html">getcchar(3x)</A></STRONG> functions store and
+ retrieve the data from a <STRONG>cchar_t</STRONG> structure.
+
+ <STRONG>wchar_t</STRONG>
+ stores a "wide" character. Like <STRONG>chtype</STRONG>, this may be an
+ integer.
+
+ <STRONG>wint_t</STRONG>
+ stores a <STRONG>wchar_t</STRONG> or <STRONG>WEOF</STRONG> - not the same, though both may
+ have the same size.
+
+ The "wide" library provides new functions which are analogous
+ to functions in the "normal" library. There is a naming con-
+ vention which relates many of the normal/wide variants: a "_w"
+ is inserted into the name. For example, <STRONG>waddch</STRONG> becomes
+ <STRONG>wadd_wch</STRONG>.
+
+
+</PRE><H3><a name="h3-Routine-Name-Index">Routine Name Index</a></H3><PRE>
+ The following table lists each <STRONG>curses</STRONG> routine and the name of the man-
+ ual page on which it is described. Routines flagged with "*" are
+ ncurses-specific, not described by XPG4 or present in SVr4.
+
+ <STRONG>curses</STRONG> Routine Name Manual Page Name
+ ---------------------------------------------
+ COLOR_PAIR <STRONG><A HREF="curs_color.3x.html">curs_color(3x)</A></STRONG>
+ PAIR_NUMBER <STRONG><A HREF="curs_attr.3x.html">curs_attr(3x)</A></STRONG>
+ _nc_free_and_exit <STRONG><A HREF="curs_memleaks.3x.html">curs_memleaks(3x)</A></STRONG>*
+ _nc_freeall <STRONG><A HREF="curs_memleaks.3x.html">curs_memleaks(3x)</A></STRONG>*
+ _nc_tracebits <STRONG><A HREF="curs_trace.3x.html">curs_trace(3x)</A></STRONG>*
+ _traceattr <STRONG><A HREF="curs_trace.3x.html">curs_trace(3x)</A></STRONG>*
+ _traceattr2 <STRONG><A HREF="curs_trace.3x.html">curs_trace(3x)</A></STRONG>*
+ _tracechar <STRONG><A HREF="curs_trace.3x.html">curs_trace(3x)</A></STRONG>*
+ _tracechtype <STRONG><A HREF="curs_trace.3x.html">curs_trace(3x)</A></STRONG>*
+ _tracechtype2 <STRONG><A HREF="curs_trace.3x.html">curs_trace(3x)</A></STRONG>*
+ _tracedump <STRONG><A HREF="curs_trace.3x.html">curs_trace(3x)</A></STRONG>*
+ _tracef <STRONG><A HREF="curs_trace.3x.html">curs_trace(3x)</A></STRONG>*
+ _tracemouse <STRONG><A HREF="curs_trace.3x.html">curs_trace(3x)</A></STRONG>*
+ add_wch <STRONG><A HREF="curs_add_wch.3x.html">curs_add_wch(3x)</A></STRONG>
+ add_wchnstr <STRONG><A HREF="curs_add_wchstr.3x.html">curs_add_wchstr(3x)</A></STRONG>
+ add_wchstr <STRONG><A HREF="curs_add_wchstr.3x.html">curs_add_wchstr(3x)</A></STRONG>
+ addch <STRONG><A HREF="curs_addch.3x.html">curs_addch(3x)</A></STRONG>
+ addchnstr <STRONG><A HREF="curs_addchstr.3x.html">curs_addchstr(3x)</A></STRONG>
+ addchstr <STRONG><A HREF="curs_addchstr.3x.html">curs_addchstr(3x)</A></STRONG>
+ addnstr <STRONG><A HREF="curs_addstr.3x.html">curs_addstr(3x)</A></STRONG>
+ addnwstr <STRONG><A HREF="curs_addwstr.3x.html">curs_addwstr(3x)</A></STRONG>
+ addstr <STRONG><A HREF="curs_addstr.3x.html">curs_addstr(3x)</A></STRONG>
+ addwstr <STRONG><A HREF="curs_addwstr.3x.html">curs_addwstr(3x)</A></STRONG>
+ alloc_pair <STRONG><A HREF="new_pair.3x.html">new_pair(3x)</A></STRONG>*
+ assume_default_colors <STRONG><A HREF="default_colors.3x.html">default_colors(3x)</A></STRONG>*
+ attr_get <STRONG><A HREF="curs_attr.3x.html">curs_attr(3x)</A></STRONG>
+ attr_off <STRONG><A HREF="curs_attr.3x.html">curs_attr(3x)</A></STRONG>
+ attr_on <STRONG><A HREF="curs_attr.3x.html">curs_attr(3x)</A></STRONG>
+ attr_set <STRONG><A HREF="curs_attr.3x.html">curs_attr(3x)</A></STRONG>
+
+ attroff <STRONG><A HREF="curs_attr.3x.html">curs_attr(3x)</A></STRONG>
+ attron <STRONG><A HREF="curs_attr.3x.html">curs_attr(3x)</A></STRONG>
+ attrset <STRONG><A HREF="curs_attr.3x.html">curs_attr(3x)</A></STRONG>
+ baudrate <STRONG><A HREF="curs_termattrs.3x.html">curs_termattrs(3x)</A></STRONG>
+ beep <STRONG><A HREF="curs_beep.3x.html">curs_beep(3x)</A></STRONG>
+ bkgd <STRONG><A HREF="curs_bkgd.3x.html">curs_bkgd(3x)</A></STRONG>
+ bkgdset <STRONG><A HREF="curs_bkgd.3x.html">curs_bkgd(3x)</A></STRONG>
+ bkgrnd <STRONG><A HREF="curs_bkgrnd.3x.html">curs_bkgrnd(3x)</A></STRONG>
+ bkgrndset <STRONG><A HREF="curs_bkgrnd.3x.html">curs_bkgrnd(3x)</A></STRONG>
+ border <STRONG><A HREF="curs_border.3x.html">curs_border(3x)</A></STRONG>
+ border_set <STRONG><A HREF="curs_border_set.3x.html">curs_border_set(3x)</A></STRONG>
+ box <STRONG><A HREF="curs_border.3x.html">curs_border(3x)</A></STRONG>
+ box_set <STRONG><A HREF="curs_border_set.3x.html">curs_border_set(3x)</A></STRONG>
+ can_change_color <STRONG><A HREF="curs_color.3x.html">curs_color(3x)</A></STRONG>
+ cbreak <STRONG><A HREF="curs_inopts.3x.html">curs_inopts(3x)</A></STRONG>
+ chgat <STRONG><A HREF="curs_attr.3x.html">curs_attr(3x)</A></STRONG>
+ clear <STRONG><A HREF="curs_clear.3x.html">curs_clear(3x)</A></STRONG>
+ clearok <STRONG><A HREF="curs_outopts.3x.html">curs_outopts(3x)</A></STRONG>
+ clrtobot <STRONG><A HREF="curs_clear.3x.html">curs_clear(3x)</A></STRONG>
+ clrtoeol <STRONG><A HREF="curs_clear.3x.html">curs_clear(3x)</A></STRONG>
+ color_content <STRONG><A HREF="curs_color.3x.html">curs_color(3x)</A></STRONG>
+ color_set <STRONG><A HREF="curs_attr.3x.html">curs_attr(3x)</A></STRONG>
+ copywin <STRONG><A HREF="curs_overlay.3x.html">curs_overlay(3x)</A></STRONG>
+ curs_set <STRONG><A HREF="curs_kernel.3x.html">curs_kernel(3x)</A></STRONG>
+ curses_version <STRONG><A HREF="curs_extend.3x.html">curs_extend(3x)</A></STRONG>*
+ def_prog_mode <STRONG><A HREF="curs_kernel.3x.html">curs_kernel(3x)</A></STRONG>
+ def_shell_mode <STRONG><A HREF="curs_kernel.3x.html">curs_kernel(3x)</A></STRONG>
+ define_key <STRONG><A HREF="define_key.3x.html">define_key(3x)</A></STRONG>*
+ del_curterm <STRONG><A HREF="curs_terminfo.3x.html">curs_terminfo(3x)</A></STRONG>
+ delay_output <STRONG><A HREF="curs_util.3x.html">curs_util(3x)</A></STRONG>
+ delch <STRONG><A HREF="curs_delch.3x.html">curs_delch(3x)</A></STRONG>
+ deleteln <STRONG><A HREF="curs_deleteln.3x.html">curs_deleteln(3x)</A></STRONG>
+ delscreen <STRONG><A HREF="curs_initscr.3x.html">curs_initscr(3x)</A></STRONG>
+ delwin <STRONG><A HREF="curs_window.3x.html">curs_window(3x)</A></STRONG>
+ derwin <STRONG><A HREF="curs_window.3x.html">curs_window(3x)</A></STRONG>
+ doupdate <STRONG><A HREF="curs_refresh.3x.html">curs_refresh(3x)</A></STRONG>
+ dupwin <STRONG><A HREF="curs_window.3x.html">curs_window(3x)</A></STRONG>
+ echo <STRONG><A HREF="curs_inopts.3x.html">curs_inopts(3x)</A></STRONG>
+ echo_wchar <STRONG><A HREF="curs_add_wch.3x.html">curs_add_wch(3x)</A></STRONG>
+ echochar <STRONG><A HREF="curs_addch.3x.html">curs_addch(3x)</A></STRONG>
+ endwin <STRONG><A HREF="curs_initscr.3x.html">curs_initscr(3x)</A></STRONG>
+ erase <STRONG><A HREF="curs_clear.3x.html">curs_clear(3x)</A></STRONG>
+ erasechar <STRONG><A HREF="curs_termattrs.3x.html">curs_termattrs(3x)</A></STRONG>
+ erasewchar <STRONG><A HREF="curs_termattrs.3x.html">curs_termattrs(3x)</A></STRONG>
+ extended_color_content <STRONG><A HREF="curs_color.3x.html">curs_color(3x)</A></STRONG>*
+ extended_pair_content <STRONG><A HREF="curs_color.3x.html">curs_color(3x)</A></STRONG>*
+ extended_slk_color <STRONG><A HREF="curs_slk.3x.html">curs_slk(3x)</A></STRONG>*
+ filter <STRONG><A HREF="curs_util.3x.html">curs_util(3x)</A></STRONG>
+ find_pair <STRONG><A HREF="new_pair.3x.html">new_pair(3x)</A></STRONG>*
+ flash <STRONG><A HREF="curs_beep.3x.html">curs_beep(3x)</A></STRONG>
+ flushinp <STRONG><A HREF="curs_util.3x.html">curs_util(3x)</A></STRONG>
+ free_pair <STRONG><A HREF="new_pair.3x.html">new_pair(3x)</A></STRONG>*
+ get_wch <STRONG><A HREF="curs_get_wch.3x.html">curs_get_wch(3x)</A></STRONG>
+ get_wstr <STRONG><A HREF="curs_get_wstr.3x.html">curs_get_wstr(3x)</A></STRONG>
+ getattrs <STRONG><A HREF="curs_attr.3x.html">curs_attr(3x)</A></STRONG>
+ getbegx <STRONG><A HREF="curs_legacy.3x.html">curs_legacy(3x)</A></STRONG>*
+ getbegy <STRONG><A HREF="curs_legacy.3x.html">curs_legacy(3x)</A></STRONG>*
+ getbegyx <STRONG><A HREF="curs_getyx.3x.html">curs_getyx(3x)</A></STRONG>
+ getbkgd <STRONG><A HREF="curs_bkgd.3x.html">curs_bkgd(3x)</A></STRONG>
+ getbkgrnd <STRONG><A HREF="curs_bkgrnd.3x.html">curs_bkgrnd(3x)</A></STRONG>
+ getcchar <STRONG><A HREF="curs_getcchar.3x.html">curs_getcchar(3x)</A></STRONG>
+ getch <STRONG><A HREF="curs_getch.3x.html">curs_getch(3x)</A></STRONG>
+ getcurx <STRONG><A HREF="curs_legacy.3x.html">curs_legacy(3x)</A></STRONG>*
+ getcury <STRONG><A HREF="curs_legacy.3x.html">curs_legacy(3x)</A></STRONG>*
+ getmaxx <STRONG><A HREF="curs_legacy.3x.html">curs_legacy(3x)</A></STRONG>*
+
+ getmaxy <STRONG><A HREF="curs_legacy.3x.html">curs_legacy(3x)</A></STRONG>*
+ getmaxyx <STRONG><A HREF="curs_getyx.3x.html">curs_getyx(3x)</A></STRONG>
+ getmouse <STRONG><A HREF="curs_mouse.3x.html">curs_mouse(3x)</A></STRONG>*
+ getn_wstr <STRONG><A HREF="curs_get_wstr.3x.html">curs_get_wstr(3x)</A></STRONG>
+ getnstr <STRONG><A HREF="curs_getstr.3x.html">curs_getstr(3x)</A></STRONG>
+ getparx <STRONG><A HREF="curs_legacy.3x.html">curs_legacy(3x)</A></STRONG>*
+ getpary <STRONG><A HREF="curs_legacy.3x.html">curs_legacy(3x)</A></STRONG>*
+ getparyx <STRONG><A HREF="curs_getyx.3x.html">curs_getyx(3x)</A></STRONG>
+ getstr <STRONG><A HREF="curs_getstr.3x.html">curs_getstr(3x)</A></STRONG>
+ getsyx <STRONG><A HREF="curs_kernel.3x.html">curs_kernel(3x)</A></STRONG>
+ getwin <STRONG><A HREF="curs_util.3x.html">curs_util(3x)</A></STRONG>
+ getyx <STRONG><A HREF="curs_getyx.3x.html">curs_getyx(3x)</A></STRONG>
+ halfdelay <STRONG><A HREF="curs_inopts.3x.html">curs_inopts(3x)</A></STRONG>
+ has_colors <STRONG><A HREF="curs_color.3x.html">curs_color(3x)</A></STRONG>
+ has_ic <STRONG><A HREF="curs_termattrs.3x.html">curs_termattrs(3x)</A></STRONG>
+ has_il <STRONG><A HREF="curs_termattrs.3x.html">curs_termattrs(3x)</A></STRONG>
+ has_key <STRONG><A HREF="curs_getch.3x.html">curs_getch(3x)</A></STRONG>*
+ hline <STRONG><A HREF="curs_border.3x.html">curs_border(3x)</A></STRONG>
+ hline_set <STRONG><A HREF="curs_border_set.3x.html">curs_border_set(3x)</A></STRONG>
+ idcok <STRONG><A HREF="curs_outopts.3x.html">curs_outopts(3x)</A></STRONG>
+ idlok <STRONG><A HREF="curs_outopts.3x.html">curs_outopts(3x)</A></STRONG>
+ immedok <STRONG><A HREF="curs_outopts.3x.html">curs_outopts(3x)</A></STRONG>
+ in_wch <STRONG><A HREF="curs_in_wch.3x.html">curs_in_wch(3x)</A></STRONG>
+ in_wchnstr <STRONG><A HREF="curs_in_wchstr.3x.html">curs_in_wchstr(3x)</A></STRONG>
+ in_wchstr <STRONG><A HREF="curs_in_wchstr.3x.html">curs_in_wchstr(3x)</A></STRONG>
+ inch <STRONG><A HREF="curs_inch.3x.html">curs_inch(3x)</A></STRONG>
+ inchnstr <STRONG><A HREF="curs_inchstr.3x.html">curs_inchstr(3x)</A></STRONG>
+ inchstr <STRONG><A HREF="curs_inchstr.3x.html">curs_inchstr(3x)</A></STRONG>
+ init_color <STRONG><A HREF="curs_color.3x.html">curs_color(3x)</A></STRONG>
+ init_extended_color <STRONG><A HREF="curs_color.3x.html">curs_color(3x)</A></STRONG>*
+ init_extended_pair <STRONG><A HREF="curs_color.3x.html">curs_color(3x)</A></STRONG>*
+ init_pair <STRONG><A HREF="curs_color.3x.html">curs_color(3x)</A></STRONG>
+ initscr <STRONG><A HREF="curs_initscr.3x.html">curs_initscr(3x)</A></STRONG>
+ innstr <STRONG><A HREF="curs_instr.3x.html">curs_instr(3x)</A></STRONG>
+ innwstr <STRONG><A HREF="curs_inwstr.3x.html">curs_inwstr(3x)</A></STRONG>
+ ins_nwstr <STRONG><A HREF="curs_ins_wstr.3x.html">curs_ins_wstr(3x)</A></STRONG>
+ ins_wch <STRONG><A HREF="curs_ins_wch.3x.html">curs_ins_wch(3x)</A></STRONG>
+ ins_wstr <STRONG><A HREF="curs_ins_wstr.3x.html">curs_ins_wstr(3x)</A></STRONG>
+ insch <STRONG><A HREF="curs_insch.3x.html">curs_insch(3x)</A></STRONG>
+ insdelln <STRONG><A HREF="curs_deleteln.3x.html">curs_deleteln(3x)</A></STRONG>
+ insertln <STRONG><A HREF="curs_deleteln.3x.html">curs_deleteln(3x)</A></STRONG>
+ insnstr <STRONG><A HREF="curs_insstr.3x.html">curs_insstr(3x)</A></STRONG>
+ insstr <STRONG><A HREF="curs_insstr.3x.html">curs_insstr(3x)</A></STRONG>
+ instr <STRONG><A HREF="curs_instr.3x.html">curs_instr(3x)</A></STRONG>
+ intrflush <STRONG><A HREF="curs_inopts.3x.html">curs_inopts(3x)</A></STRONG>
+ inwstr <STRONG><A HREF="curs_inwstr.3x.html">curs_inwstr(3x)</A></STRONG>
+ is_cleared <STRONG><A HREF="curs_opaque.3x.html">curs_opaque(3x)</A></STRONG>*
+ is_idcok <STRONG><A HREF="curs_opaque.3x.html">curs_opaque(3x)</A></STRONG>*
+ is_idlok <STRONG><A HREF="curs_opaque.3x.html">curs_opaque(3x)</A></STRONG>*
+ is_immedok <STRONG><A HREF="curs_opaque.3x.html">curs_opaque(3x)</A></STRONG>*
+ is_keypad <STRONG><A HREF="curs_opaque.3x.html">curs_opaque(3x)</A></STRONG>*
+ is_leaveok <STRONG><A HREF="curs_opaque.3x.html">curs_opaque(3x)</A></STRONG>*
+ is_linetouched <STRONG><A HREF="curs_touch.3x.html">curs_touch(3x)</A></STRONG>
+ is_nodelay <STRONG><A HREF="curs_opaque.3x.html">curs_opaque(3x)</A></STRONG>*
+ is_notimeout <STRONG><A HREF="curs_opaque.3x.html">curs_opaque(3x)</A></STRONG>*
+ is_pad <STRONG><A HREF="curs_opaque.3x.html">curs_opaque(3x)</A></STRONG>*
+ is_scrollok <STRONG><A HREF="curs_opaque.3x.html">curs_opaque(3x)</A></STRONG>*
+ is_subwin <STRONG><A HREF="curs_opaque.3x.html">curs_opaque(3x)</A></STRONG>*
+ is_syncok <STRONG><A HREF="curs_opaque.3x.html">curs_opaque(3x)</A></STRONG>*
+ is_term_resized <STRONG><A HREF="resizeterm.3x.html">resizeterm(3x)</A></STRONG>*
+ is_wintouched <STRONG><A HREF="curs_touch.3x.html">curs_touch(3x)</A></STRONG>
+ isendwin <STRONG><A HREF="curs_initscr.3x.html">curs_initscr(3x)</A></STRONG>
+ key_defined <STRONG><A HREF="key_defined.3x.html">key_defined(3x)</A></STRONG>*
+ key_name <STRONG><A HREF="curs_util.3x.html">curs_util(3x)</A></STRONG>
+ keybound <STRONG><A HREF="keybound.3x.html">keybound(3x)</A></STRONG>*
+
+ keyname <STRONG><A HREF="curs_util.3x.html">curs_util(3x)</A></STRONG>
+ keyok <STRONG><A HREF="keyok.3x.html">keyok(3x)</A></STRONG>*
+ keypad <STRONG><A HREF="curs_inopts.3x.html">curs_inopts(3x)</A></STRONG>
+ killchar <STRONG><A HREF="curs_termattrs.3x.html">curs_termattrs(3x)</A></STRONG>
+ killwchar <STRONG><A HREF="curs_termattrs.3x.html">curs_termattrs(3x)</A></STRONG>
+ leaveok <STRONG><A HREF="curs_outopts.3x.html">curs_outopts(3x)</A></STRONG>
+ longname <STRONG><A HREF="curs_termattrs.3x.html">curs_termattrs(3x)</A></STRONG>
+ mcprint <STRONG><A HREF="curs_print.3x.html">curs_print(3x)</A></STRONG>*
+ meta <STRONG><A HREF="curs_inopts.3x.html">curs_inopts(3x)</A></STRONG>
+ mouse_trafo <STRONG><A HREF="curs_mouse.3x.html">curs_mouse(3x)</A></STRONG>*
+ mouseinterval <STRONG><A HREF="curs_mouse.3x.html">curs_mouse(3x)</A></STRONG>*
+ mousemask <STRONG><A HREF="curs_mouse.3x.html">curs_mouse(3x)</A></STRONG>*
+ move <STRONG><A HREF="curs_move.3x.html">curs_move(3x)</A></STRONG>
+ mvadd_wch <STRONG><A HREF="curs_add_wch.3x.html">curs_add_wch(3x)</A></STRONG>
+ mvadd_wchnstr <STRONG><A HREF="curs_add_wchstr.3x.html">curs_add_wchstr(3x)</A></STRONG>
+ mvadd_wchstr <STRONG><A HREF="curs_add_wchstr.3x.html">curs_add_wchstr(3x)</A></STRONG>
+ mvaddch <STRONG><A HREF="curs_addch.3x.html">curs_addch(3x)</A></STRONG>
+ mvaddchnstr <STRONG><A HREF="curs_addchstr.3x.html">curs_addchstr(3x)</A></STRONG>
+ mvaddchstr <STRONG><A HREF="curs_addchstr.3x.html">curs_addchstr(3x)</A></STRONG>
+ mvaddnstr <STRONG><A HREF="curs_addstr.3x.html">curs_addstr(3x)</A></STRONG>
+ mvaddnwstr <STRONG><A HREF="curs_addwstr.3x.html">curs_addwstr(3x)</A></STRONG>
+ mvaddstr <STRONG><A HREF="curs_addstr.3x.html">curs_addstr(3x)</A></STRONG>
+ mvaddwstr <STRONG><A HREF="curs_addwstr.3x.html">curs_addwstr(3x)</A></STRONG>
+ mvchgat <STRONG><A HREF="curs_attr.3x.html">curs_attr(3x)</A></STRONG>
+ mvcur <STRONG><A HREF="curs_terminfo.3x.html">curs_terminfo(3x)</A></STRONG>
+ mvdelch <STRONG><A HREF="curs_delch.3x.html">curs_delch(3x)</A></STRONG>
+ mvderwin <STRONG><A HREF="curs_window.3x.html">curs_window(3x)</A></STRONG>
+ mvget_wch <STRONG><A HREF="curs_get_wch.3x.html">curs_get_wch(3x)</A></STRONG>
+ mvget_wstr <STRONG><A HREF="curs_get_wstr.3x.html">curs_get_wstr(3x)</A></STRONG>
+ mvgetch <STRONG><A HREF="curs_getch.3x.html">curs_getch(3x)</A></STRONG>
+ mvgetn_wstr <STRONG><A HREF="curs_get_wstr.3x.html">curs_get_wstr(3x)</A></STRONG>
+ mvgetnstr <STRONG><A HREF="curs_getstr.3x.html">curs_getstr(3x)</A></STRONG>
+ mvgetstr <STRONG><A HREF="curs_getstr.3x.html">curs_getstr(3x)</A></STRONG>
+ mvhline <STRONG><A HREF="curs_border.3x.html">curs_border(3x)</A></STRONG>
+ mvhline_set <STRONG><A HREF="curs_border_set.3x.html">curs_border_set(3x)</A></STRONG>
+ mvin_wch <STRONG><A HREF="curs_in_wch.3x.html">curs_in_wch(3x)</A></STRONG>
+ mvin_wchnstr <STRONG><A HREF="curs_in_wchstr.3x.html">curs_in_wchstr(3x)</A></STRONG>
+ mvin_wchstr <STRONG><A HREF="curs_in_wchstr.3x.html">curs_in_wchstr(3x)</A></STRONG>
+ mvinch <STRONG><A HREF="curs_inch.3x.html">curs_inch(3x)</A></STRONG>
+ mvinchnstr <STRONG><A HREF="curs_inchstr.3x.html">curs_inchstr(3x)</A></STRONG>
+ mvinchstr <STRONG><A HREF="curs_inchstr.3x.html">curs_inchstr(3x)</A></STRONG>
+ mvinnstr <STRONG><A HREF="curs_instr.3x.html">curs_instr(3x)</A></STRONG>
+ mvinnwstr <STRONG><A HREF="curs_inwstr.3x.html">curs_inwstr(3x)</A></STRONG>
+ mvins_nwstr <STRONG><A HREF="curs_ins_wstr.3x.html">curs_ins_wstr(3x)</A></STRONG>
+ mvins_wch <STRONG><A HREF="curs_ins_wch.3x.html">curs_ins_wch(3x)</A></STRONG>
+ mvins_wstr <STRONG><A HREF="curs_ins_wstr.3x.html">curs_ins_wstr(3x)</A></STRONG>
+ mvinsch <STRONG><A HREF="curs_insch.3x.html">curs_insch(3x)</A></STRONG>
+ mvinsnstr <STRONG><A HREF="curs_insstr.3x.html">curs_insstr(3x)</A></STRONG>
+ mvinsstr <STRONG><A HREF="curs_insstr.3x.html">curs_insstr(3x)</A></STRONG>
+ mvinstr <STRONG><A HREF="curs_instr.3x.html">curs_instr(3x)</A></STRONG>
+ mvinwstr <STRONG><A HREF="curs_inwstr.3x.html">curs_inwstr(3x)</A></STRONG>
+ mvprintw <STRONG><A HREF="curs_printw.3x.html">curs_printw(3x)</A></STRONG>
+ mvscanw <STRONG><A HREF="curs_scanw.3x.html">curs_scanw(3x)</A></STRONG>
+ mvvline <STRONG><A HREF="curs_border.3x.html">curs_border(3x)</A></STRONG>
+ mvvline_set <STRONG><A HREF="curs_border_set.3x.html">curs_border_set(3x)</A></STRONG>
+ mvwadd_wch <STRONG><A HREF="curs_add_wch.3x.html">curs_add_wch(3x)</A></STRONG>
+ mvwadd_wchnstr <STRONG><A HREF="curs_add_wchstr.3x.html">curs_add_wchstr(3x)</A></STRONG>
+ mvwadd_wchstr <STRONG><A HREF="curs_add_wchstr.3x.html">curs_add_wchstr(3x)</A></STRONG>
+ mvwaddch <STRONG><A HREF="curs_addch.3x.html">curs_addch(3x)</A></STRONG>
+ mvwaddchnstr <STRONG><A HREF="curs_addchstr.3x.html">curs_addchstr(3x)</A></STRONG>
+ mvwaddchstr <STRONG><A HREF="curs_addchstr.3x.html">curs_addchstr(3x)</A></STRONG>
+ mvwaddnstr <STRONG><A HREF="curs_addstr.3x.html">curs_addstr(3x)</A></STRONG>
+ mvwaddnwstr <STRONG><A HREF="curs_addwstr.3x.html">curs_addwstr(3x)</A></STRONG>
+ mvwaddstr <STRONG><A HREF="curs_addstr.3x.html">curs_addstr(3x)</A></STRONG>
+ mvwaddwstr <STRONG><A HREF="curs_addwstr.3x.html">curs_addwstr(3x)</A></STRONG>
+
+ mvwchgat <STRONG><A HREF="curs_attr.3x.html">curs_attr(3x)</A></STRONG>
+ mvwdelch <STRONG><A HREF="curs_delch.3x.html">curs_delch(3x)</A></STRONG>
+ mvwget_wch <STRONG><A HREF="curs_get_wch.3x.html">curs_get_wch(3x)</A></STRONG>
+ mvwget_wstr <STRONG><A HREF="curs_get_wstr.3x.html">curs_get_wstr(3x)</A></STRONG>
+ mvwgetch <STRONG><A HREF="curs_getch.3x.html">curs_getch(3x)</A></STRONG>
+ mvwgetn_wstr <STRONG><A HREF="curs_get_wstr.3x.html">curs_get_wstr(3x)</A></STRONG>
+ mvwgetnstr <STRONG><A HREF="curs_getstr.3x.html">curs_getstr(3x)</A></STRONG>
+ mvwgetstr <STRONG><A HREF="curs_getstr.3x.html">curs_getstr(3x)</A></STRONG>
+ mvwhline <STRONG><A HREF="curs_border.3x.html">curs_border(3x)</A></STRONG>
+ mvwhline_set <STRONG><A HREF="curs_border_set.3x.html">curs_border_set(3x)</A></STRONG>
+ mvwin <STRONG><A HREF="curs_window.3x.html">curs_window(3x)</A></STRONG>
+ mvwin_wch <STRONG><A HREF="curs_in_wch.3x.html">curs_in_wch(3x)</A></STRONG>
+ mvwin_wchnstr <STRONG><A HREF="curs_in_wchstr.3x.html">curs_in_wchstr(3x)</A></STRONG>
+ mvwin_wchstr <STRONG><A HREF="curs_in_wchstr.3x.html">curs_in_wchstr(3x)</A></STRONG>
+ mvwinch <STRONG><A HREF="curs_inch.3x.html">curs_inch(3x)</A></STRONG>
+ mvwinchnstr <STRONG><A HREF="curs_inchstr.3x.html">curs_inchstr(3x)</A></STRONG>
+ mvwinchstr <STRONG><A HREF="curs_inchstr.3x.html">curs_inchstr(3x)</A></STRONG>
+ mvwinnstr <STRONG><A HREF="curs_instr.3x.html">curs_instr(3x)</A></STRONG>
+ mvwinnwstr <STRONG><A HREF="curs_inwstr.3x.html">curs_inwstr(3x)</A></STRONG>
+ mvwins_nwstr <STRONG><A HREF="curs_ins_wstr.3x.html">curs_ins_wstr(3x)</A></STRONG>
+ mvwins_wch <STRONG><A HREF="curs_ins_wch.3x.html">curs_ins_wch(3x)</A></STRONG>
+ mvwins_wstr <STRONG><A HREF="curs_ins_wstr.3x.html">curs_ins_wstr(3x)</A></STRONG>
+ mvwinsch <STRONG><A HREF="curs_insch.3x.html">curs_insch(3x)</A></STRONG>
+ mvwinsnstr <STRONG><A HREF="curs_insstr.3x.html">curs_insstr(3x)</A></STRONG>
+ mvwinsstr <STRONG><A HREF="curs_insstr.3x.html">curs_insstr(3x)</A></STRONG>
+ mvwinstr <STRONG><A HREF="curs_instr.3x.html">curs_instr(3x)</A></STRONG>
+ mvwinwstr <STRONG><A HREF="curs_inwstr.3x.html">curs_inwstr(3x)</A></STRONG>
+ mvwprintw <STRONG><A HREF="curs_printw.3x.html">curs_printw(3x)</A></STRONG>
+ mvwscanw <STRONG><A HREF="curs_scanw.3x.html">curs_scanw(3x)</A></STRONG>
+ mvwvline <STRONG><A HREF="curs_border.3x.html">curs_border(3x)</A></STRONG>
+ mvwvline_set <STRONG><A HREF="curs_border_set.3x.html">curs_border_set(3x)</A></STRONG>
+ napms <STRONG><A HREF="curs_kernel.3x.html">curs_kernel(3x)</A></STRONG>
+ newpad <STRONG><A HREF="curs_pad.3x.html">curs_pad(3x)</A></STRONG>
+ newterm <STRONG><A HREF="curs_initscr.3x.html">curs_initscr(3x)</A></STRONG>
+ newwin <STRONG><A HREF="curs_window.3x.html">curs_window(3x)</A></STRONG>
+ nl <STRONG><A HREF="curs_outopts.3x.html">curs_outopts(3x)</A></STRONG>
+ nocbreak <STRONG><A HREF="curs_inopts.3x.html">curs_inopts(3x)</A></STRONG>
+ nodelay <STRONG><A HREF="curs_inopts.3x.html">curs_inopts(3x)</A></STRONG>
+ noecho <STRONG><A HREF="curs_inopts.3x.html">curs_inopts(3x)</A></STRONG>
+ nofilter <STRONG><A HREF="curs_util.3x.html">curs_util(3x)</A></STRONG>*
+ nonl <STRONG><A HREF="curs_outopts.3x.html">curs_outopts(3x)</A></STRONG>
+ noqiflush <STRONG><A HREF="curs_inopts.3x.html">curs_inopts(3x)</A></STRONG>
+ noraw <STRONG><A HREF="curs_inopts.3x.html">curs_inopts(3x)</A></STRONG>
+ notimeout <STRONG><A HREF="curs_inopts.3x.html">curs_inopts(3x)</A></STRONG>
+ overlay <STRONG><A HREF="curs_overlay.3x.html">curs_overlay(3x)</A></STRONG>
+ overwrite <STRONG><A HREF="curs_overlay.3x.html">curs_overlay(3x)</A></STRONG>
+ pair_content <STRONG><A HREF="curs_color.3x.html">curs_color(3x)</A></STRONG>
+ pechochar <STRONG><A HREF="curs_pad.3x.html">curs_pad(3x)</A></STRONG>
+ pnoutrefresh <STRONG><A HREF="curs_pad.3x.html">curs_pad(3x)</A></STRONG>
+ prefresh <STRONG><A HREF="curs_pad.3x.html">curs_pad(3x)</A></STRONG>
+ printw <STRONG><A HREF="curs_printw.3x.html">curs_printw(3x)</A></STRONG>
+ putp <STRONG><A HREF="curs_terminfo.3x.html">curs_terminfo(3x)</A></STRONG>
+ putwin <STRONG><A HREF="curs_util.3x.html">curs_util(3x)</A></STRONG>
+ qiflush <STRONG><A HREF="curs_inopts.3x.html">curs_inopts(3x)</A></STRONG>
+ raw <STRONG><A HREF="curs_inopts.3x.html">curs_inopts(3x)</A></STRONG>
+ redrawwin <STRONG><A HREF="curs_refresh.3x.html">curs_refresh(3x)</A></STRONG>
+ refresh <STRONG><A HREF="curs_refresh.3x.html">curs_refresh(3x)</A></STRONG>
+ reset_prog_mode <STRONG><A HREF="curs_kernel.3x.html">curs_kernel(3x)</A></STRONG>
+ reset_shell_mode <STRONG><A HREF="curs_kernel.3x.html">curs_kernel(3x)</A></STRONG>
+ resetty <STRONG><A HREF="curs_kernel.3x.html">curs_kernel(3x)</A></STRONG>
+ resize_term <STRONG><A HREF="resizeterm.3x.html">resizeterm(3x)</A></STRONG>*
+ resizeterm <STRONG><A HREF="resizeterm.3x.html">resizeterm(3x)</A></STRONG>*
+ restartterm <STRONG><A HREF="curs_terminfo.3x.html">curs_terminfo(3x)</A></STRONG>
+ ripoffline <STRONG><A HREF="curs_kernel.3x.html">curs_kernel(3x)</A></STRONG>
+ savetty <STRONG><A HREF="curs_kernel.3x.html">curs_kernel(3x)</A></STRONG>
+
+ scanw <STRONG><A HREF="curs_scanw.3x.html">curs_scanw(3x)</A></STRONG>
+ scr_dump <STRONG><A HREF="curs_scr_dump.3x.html">curs_scr_dump(3x)</A></STRONG>
+ scr_init <STRONG><A HREF="curs_scr_dump.3x.html">curs_scr_dump(3x)</A></STRONG>
+ scr_restore <STRONG><A HREF="curs_scr_dump.3x.html">curs_scr_dump(3x)</A></STRONG>
+ scr_set <STRONG><A HREF="curs_scr_dump.3x.html">curs_scr_dump(3x)</A></STRONG>
+ scrl <STRONG><A HREF="curs_scroll.3x.html">curs_scroll(3x)</A></STRONG>
+ scroll <STRONG><A HREF="curs_scroll.3x.html">curs_scroll(3x)</A></STRONG>
+ scrollok <STRONG><A HREF="curs_outopts.3x.html">curs_outopts(3x)</A></STRONG>
+ set_curterm <STRONG><A HREF="curs_terminfo.3x.html">curs_terminfo(3x)</A></STRONG>
+ set_term <STRONG><A HREF="curs_initscr.3x.html">curs_initscr(3x)</A></STRONG>
+ setcchar <STRONG><A HREF="curs_getcchar.3x.html">curs_getcchar(3x)</A></STRONG>
+ setscrreg <STRONG><A HREF="curs_outopts.3x.html">curs_outopts(3x)</A></STRONG>
+ setsyx <STRONG><A HREF="curs_kernel.3x.html">curs_kernel(3x)</A></STRONG>
+ setterm <STRONG><A HREF="curs_terminfo.3x.html">curs_terminfo(3x)</A></STRONG>
+ setupterm <STRONG><A HREF="curs_terminfo.3x.html">curs_terminfo(3x)</A></STRONG>
+ slk_attr <STRONG><A HREF="curs_slk.3x.html">curs_slk(3x)</A></STRONG>*
+ slk_attr_off <STRONG><A HREF="curs_slk.3x.html">curs_slk(3x)</A></STRONG>
+ slk_attr_on <STRONG><A HREF="curs_slk.3x.html">curs_slk(3x)</A></STRONG>
+ slk_attr_set <STRONG><A HREF="curs_slk.3x.html">curs_slk(3x)</A></STRONG>
+ slk_attroff <STRONG><A HREF="curs_slk.3x.html">curs_slk(3x)</A></STRONG>
+ slk_attron <STRONG><A HREF="curs_slk.3x.html">curs_slk(3x)</A></STRONG>
+ slk_attrset <STRONG><A HREF="curs_slk.3x.html">curs_slk(3x)</A></STRONG>
+ slk_clear <STRONG><A HREF="curs_slk.3x.html">curs_slk(3x)</A></STRONG>
+ slk_color <STRONG><A HREF="curs_slk.3x.html">curs_slk(3x)</A></STRONG>
+ slk_init <STRONG><A HREF="curs_slk.3x.html">curs_slk(3x)</A></STRONG>
+ slk_label <STRONG><A HREF="curs_slk.3x.html">curs_slk(3x)</A></STRONG>
+ slk_noutrefresh <STRONG><A HREF="curs_slk.3x.html">curs_slk(3x)</A></STRONG>
+ slk_refresh <STRONG><A HREF="curs_slk.3x.html">curs_slk(3x)</A></STRONG>
+ slk_restore <STRONG><A HREF="curs_slk.3x.html">curs_slk(3x)</A></STRONG>
+ slk_set <STRONG><A HREF="curs_slk.3x.html">curs_slk(3x)</A></STRONG>
+ slk_touch <STRONG><A HREF="curs_slk.3x.html">curs_slk(3x)</A></STRONG>
+ standend <STRONG><A HREF="curs_attr.3x.html">curs_attr(3x)</A></STRONG>
+ standout <STRONG><A HREF="curs_attr.3x.html">curs_attr(3x)</A></STRONG>
+ start_color <STRONG><A HREF="curs_color.3x.html">curs_color(3x)</A></STRONG>
+ subpad <STRONG><A HREF="curs_pad.3x.html">curs_pad(3x)</A></STRONG>
+ subwin <STRONG><A HREF="curs_window.3x.html">curs_window(3x)</A></STRONG>
+ syncok <STRONG><A HREF="curs_window.3x.html">curs_window(3x)</A></STRONG>
+ term_attrs <STRONG><A HREF="curs_termattrs.3x.html">curs_termattrs(3x)</A></STRONG>
+ termattrs <STRONG><A HREF="curs_termattrs.3x.html">curs_termattrs(3x)</A></STRONG>
+ termname <STRONG><A HREF="curs_termattrs.3x.html">curs_termattrs(3x)</A></STRONG>
+ tgetent <STRONG><A HREF="curs_termcap.3x.html">curs_termcap(3x)</A></STRONG>
+ tgetflag <STRONG><A HREF="curs_termcap.3x.html">curs_termcap(3x)</A></STRONG>
+ tgetnum <STRONG><A HREF="curs_termcap.3x.html">curs_termcap(3x)</A></STRONG>
+ tgetstr <STRONG><A HREF="curs_termcap.3x.html">curs_termcap(3x)</A></STRONG>
+ tgoto <STRONG><A HREF="curs_termcap.3x.html">curs_termcap(3x)</A></STRONG>
+ tigetflag <STRONG><A HREF="curs_terminfo.3x.html">curs_terminfo(3x)</A></STRONG>
+ tigetnum <STRONG><A HREF="curs_terminfo.3x.html">curs_terminfo(3x)</A></STRONG>
+ tigetstr <STRONG><A HREF="curs_terminfo.3x.html">curs_terminfo(3x)</A></STRONG>
+ timeout <STRONG><A HREF="curs_inopts.3x.html">curs_inopts(3x)</A></STRONG>
+ tiparm <STRONG><A HREF="curs_terminfo.3x.html">curs_terminfo(3x)</A></STRONG>*
+ touchline <STRONG><A HREF="curs_touch.3x.html">curs_touch(3x)</A></STRONG>
+ touchwin <STRONG><A HREF="curs_touch.3x.html">curs_touch(3x)</A></STRONG>
+ tparm <STRONG><A HREF="curs_terminfo.3x.html">curs_terminfo(3x)</A></STRONG>
+ tputs <STRONG><A HREF="curs_termcap.3x.html">curs_termcap(3x)</A></STRONG>
+ tputs <STRONG><A HREF="curs_terminfo.3x.html">curs_terminfo(3x)</A></STRONG>
+ trace <STRONG><A HREF="curs_trace.3x.html">curs_trace(3x)</A></STRONG>*
+ typeahead <STRONG><A HREF="curs_inopts.3x.html">curs_inopts(3x)</A></STRONG>
+ unctrl <STRONG><A HREF="curs_util.3x.html">curs_util(3x)</A></STRONG>
+ unget_wch <STRONG><A HREF="curs_get_wch.3x.html">curs_get_wch(3x)</A></STRONG>
+ ungetch <STRONG><A HREF="curs_getch.3x.html">curs_getch(3x)</A></STRONG>
+ ungetmouse <STRONG><A HREF="curs_mouse.3x.html">curs_mouse(3x)</A></STRONG>*
+ untouchwin <STRONG><A HREF="curs_touch.3x.html">curs_touch(3x)</A></STRONG>
+ use_default_colors <STRONG><A HREF="default_colors.3x.html">default_colors(3x)</A></STRONG>*
+ use_env <STRONG><A HREF="curs_util.3x.html">curs_util(3x)</A></STRONG>
+ use_extended_names <STRONG><A HREF="curs_extend.3x.html">curs_extend(3x)</A></STRONG>*
+
+ use_legacy_coding <STRONG><A HREF="legacy_coding.3x.html">legacy_coding(3x)</A></STRONG>*
+ use_tioctl <STRONG><A HREF="curs_util.3x.html">curs_util(3x)</A></STRONG>*
+ vid_attr <STRONG><A HREF="curs_terminfo.3x.html">curs_terminfo(3x)</A></STRONG>
+ vid_puts <STRONG><A HREF="curs_terminfo.3x.html">curs_terminfo(3x)</A></STRONG>
+ vidattr <STRONG><A HREF="curs_terminfo.3x.html">curs_terminfo(3x)</A></STRONG>
+ vidputs <STRONG><A HREF="curs_terminfo.3x.html">curs_terminfo(3x)</A></STRONG>
+ vline <STRONG><A HREF="curs_border.3x.html">curs_border(3x)</A></STRONG>
+ vline_set <STRONG><A HREF="curs_border_set.3x.html">curs_border_set(3x)</A></STRONG>
+ vw_printw <STRONG><A HREF="curs_printw.3x.html">curs_printw(3x)</A></STRONG>
+ vw_scanw <STRONG><A HREF="curs_scanw.3x.html">curs_scanw(3x)</A></STRONG>
+ vwprintw <STRONG><A HREF="curs_printw.3x.html">curs_printw(3x)</A></STRONG>
+ vwscanw <STRONG><A HREF="curs_scanw.3x.html">curs_scanw(3x)</A></STRONG>
+ wadd_wch <STRONG><A HREF="curs_add_wch.3x.html">curs_add_wch(3x)</A></STRONG>
+ wadd_wchnstr <STRONG><A HREF="curs_add_wchstr.3x.html">curs_add_wchstr(3x)</A></STRONG>
+ wadd_wchstr <STRONG><A HREF="curs_add_wchstr.3x.html">curs_add_wchstr(3x)</A></STRONG>
+ waddch <STRONG><A HREF="curs_addch.3x.html">curs_addch(3x)</A></STRONG>
+ waddchnstr <STRONG><A HREF="curs_addchstr.3x.html">curs_addchstr(3x)</A></STRONG>
+ waddchstr <STRONG><A HREF="curs_addchstr.3x.html">curs_addchstr(3x)</A></STRONG>
+ waddnstr <STRONG><A HREF="curs_addstr.3x.html">curs_addstr(3x)</A></STRONG>
+ waddnwstr <STRONG><A HREF="curs_addwstr.3x.html">curs_addwstr(3x)</A></STRONG>
+ waddstr <STRONG><A HREF="curs_addstr.3x.html">curs_addstr(3x)</A></STRONG>
+ waddwstr <STRONG><A HREF="curs_addwstr.3x.html">curs_addwstr(3x)</A></STRONG>
+ wattr_get <STRONG><A HREF="curs_attr.3x.html">curs_attr(3x)</A></STRONG>
+ wattr_off <STRONG><A HREF="curs_attr.3x.html">curs_attr(3x)</A></STRONG>
+ wattr_on <STRONG><A HREF="curs_attr.3x.html">curs_attr(3x)</A></STRONG>
+ wattr_set <STRONG><A HREF="curs_attr.3x.html">curs_attr(3x)</A></STRONG>
+ wattroff <STRONG><A HREF="curs_attr.3x.html">curs_attr(3x)</A></STRONG>
+ wattron <STRONG><A HREF="curs_attr.3x.html">curs_attr(3x)</A></STRONG>
+ wattrset <STRONG><A HREF="curs_attr.3x.html">curs_attr(3x)</A></STRONG>
+ wbkgd <STRONG><A HREF="curs_bkgd.3x.html">curs_bkgd(3x)</A></STRONG>
+ wbkgdset <STRONG><A HREF="curs_bkgd.3x.html">curs_bkgd(3x)</A></STRONG>
+ wbkgrnd <STRONG><A HREF="curs_bkgrnd.3x.html">curs_bkgrnd(3x)</A></STRONG>
+ wbkgrndset <STRONG><A HREF="curs_bkgrnd.3x.html">curs_bkgrnd(3x)</A></STRONG>
+ wborder <STRONG><A HREF="curs_border.3x.html">curs_border(3x)</A></STRONG>
+ wborder_set <STRONG><A HREF="curs_border_set.3x.html">curs_border_set(3x)</A></STRONG>
+ wchgat <STRONG><A HREF="curs_attr.3x.html">curs_attr(3x)</A></STRONG>
+ wclear <STRONG><A HREF="curs_clear.3x.html">curs_clear(3x)</A></STRONG>
+ wclrtobot <STRONG><A HREF="curs_clear.3x.html">curs_clear(3x)</A></STRONG>
+ wclrtoeol <STRONG><A HREF="curs_clear.3x.html">curs_clear(3x)</A></STRONG>
+ wcolor_set <STRONG><A HREF="curs_attr.3x.html">curs_attr(3x)</A></STRONG>
+ wcursyncup <STRONG><A HREF="curs_window.3x.html">curs_window(3x)</A></STRONG>
+ wdelch <STRONG><A HREF="curs_delch.3x.html">curs_delch(3x)</A></STRONG>
+ wdeleteln <STRONG><A HREF="curs_deleteln.3x.html">curs_deleteln(3x)</A></STRONG>
+ wecho_wchar <STRONG><A HREF="curs_add_wch.3x.html">curs_add_wch(3x)</A></STRONG>
+ wechochar <STRONG><A HREF="curs_addch.3x.html">curs_addch(3x)</A></STRONG>
+ wenclose <STRONG><A HREF="curs_mouse.3x.html">curs_mouse(3x)</A></STRONG>*
+ werase <STRONG><A HREF="curs_clear.3x.html">curs_clear(3x)</A></STRONG>
+ wget_wch <STRONG><A HREF="curs_get_wch.3x.html">curs_get_wch(3x)</A></STRONG>
+ wget_wstr <STRONG><A HREF="curs_get_wstr.3x.html">curs_get_wstr(3x)</A></STRONG>
+ wgetbkgrnd <STRONG><A HREF="curs_bkgrnd.3x.html">curs_bkgrnd(3x)</A></STRONG>
+ wgetch <STRONG><A HREF="curs_getch.3x.html">curs_getch(3x)</A></STRONG>
+ wgetdelay <STRONG><A HREF="curs_opaque.3x.html">curs_opaque(3x)</A></STRONG>*
+ wgetn_wstr <STRONG><A HREF="curs_get_wstr.3x.html">curs_get_wstr(3x)</A></STRONG>
+ wgetnstr <STRONG><A HREF="curs_getstr.3x.html">curs_getstr(3x)</A></STRONG>
+ wgetparent <STRONG><A HREF="curs_opaque.3x.html">curs_opaque(3x)</A></STRONG>*
+ wgetscrreg <STRONG><A HREF="curs_opaque.3x.html">curs_opaque(3x)</A></STRONG>*
+ wgetstr <STRONG><A HREF="curs_getstr.3x.html">curs_getstr(3x)</A></STRONG>
+ whline <STRONG><A HREF="curs_border.3x.html">curs_border(3x)</A></STRONG>
+ whline_set <STRONG><A HREF="curs_border_set.3x.html">curs_border_set(3x)</A></STRONG>
+ win_wch <STRONG><A HREF="curs_in_wch.3x.html">curs_in_wch(3x)</A></STRONG>
+ win_wchnstr <STRONG><A HREF="curs_in_wchstr.3x.html">curs_in_wchstr(3x)</A></STRONG>
+ win_wchstr <STRONG><A HREF="curs_in_wchstr.3x.html">curs_in_wchstr(3x)</A></STRONG>
+ winch <STRONG><A HREF="curs_inch.3x.html">curs_inch(3x)</A></STRONG>
+ winchnstr <STRONG><A HREF="curs_inchstr.3x.html">curs_inchstr(3x)</A></STRONG>
+ winchstr <STRONG><A HREF="curs_inchstr.3x.html">curs_inchstr(3x)</A></STRONG>
+
+ winnstr <STRONG><A HREF="curs_instr.3x.html">curs_instr(3x)</A></STRONG>
+ winnwstr <STRONG><A HREF="curs_inwstr.3x.html">curs_inwstr(3x)</A></STRONG>
+ wins_nwstr <STRONG><A HREF="curs_ins_wstr.3x.html">curs_ins_wstr(3x)</A></STRONG>
+ wins_wch <STRONG><A HREF="curs_ins_wch.3x.html">curs_ins_wch(3x)</A></STRONG>
+ wins_wstr <STRONG><A HREF="curs_ins_wstr.3x.html">curs_ins_wstr(3x)</A></STRONG>
+ winsch <STRONG><A HREF="curs_insch.3x.html">curs_insch(3x)</A></STRONG>
+ winsdelln <STRONG><A HREF="curs_deleteln.3x.html">curs_deleteln(3x)</A></STRONG>
+ winsertln <STRONG><A HREF="curs_deleteln.3x.html">curs_deleteln(3x)</A></STRONG>
+ winsnstr <STRONG><A HREF="curs_insstr.3x.html">curs_insstr(3x)</A></STRONG>
+ winsstr <STRONG><A HREF="curs_insstr.3x.html">curs_insstr(3x)</A></STRONG>
+ winstr <STRONG><A HREF="curs_instr.3x.html">curs_instr(3x)</A></STRONG>
+ winwstr <STRONG><A HREF="curs_inwstr.3x.html">curs_inwstr(3x)</A></STRONG>
+ wmouse_trafo <STRONG><A HREF="curs_mouse.3x.html">curs_mouse(3x)</A></STRONG>*
+ wmove <STRONG><A HREF="curs_move.3x.html">curs_move(3x)</A></STRONG>
+ wnoutrefresh <STRONG><A HREF="curs_refresh.3x.html">curs_refresh(3x)</A></STRONG>
+ wprintw <STRONG><A HREF="curs_printw.3x.html">curs_printw(3x)</A></STRONG>
+ wredrawln <STRONG><A HREF="curs_refresh.3x.html">curs_refresh(3x)</A></STRONG>
+ wrefresh <STRONG><A HREF="curs_refresh.3x.html">curs_refresh(3x)</A></STRONG>
+ wresize <STRONG><A HREF="wresize.3x.html">wresize(3x)</A></STRONG>*
+ wscanw <STRONG><A HREF="curs_scanw.3x.html">curs_scanw(3x)</A></STRONG>
+ wscrl <STRONG><A HREF="curs_scroll.3x.html">curs_scroll(3x)</A></STRONG>
+ wsetscrreg <STRONG><A HREF="curs_outopts.3x.html">curs_outopts(3x)</A></STRONG>
+ wstandend <STRONG><A HREF="curs_attr.3x.html">curs_attr(3x)</A></STRONG>
+ wstandout <STRONG><A HREF="curs_attr.3x.html">curs_attr(3x)</A></STRONG>
+ wsyncdown <STRONG><A HREF="curs_window.3x.html">curs_window(3x)</A></STRONG>
+ wsyncup <STRONG><A HREF="curs_window.3x.html">curs_window(3x)</A></STRONG>
+ wtimeout <STRONG><A HREF="curs_inopts.3x.html">curs_inopts(3x)</A></STRONG>
+ wtouchln <STRONG><A HREF="curs_touch.3x.html">curs_touch(3x)</A></STRONG>
+ wunctrl <STRONG><A HREF="curs_util.3x.html">curs_util(3x)</A></STRONG>
+ wvline <STRONG><A HREF="curs_border.3x.html">curs_border(3x)</A></STRONG>
+ wvline_set <STRONG><A HREF="curs_border_set.3x.html">curs_border_set(3x)</A></STRONG>
+
+
+</PRE><H2><a name="h2-RETURN-VALUE">RETURN VALUE</a></H2><PRE>
+ Routines that return an integer return <STRONG>ERR</STRONG> upon failure and an integer
+ value other than <STRONG>ERR</STRONG> upon successful completion, unless otherwise noted
+ in the routine descriptions.
+
+ As a general rule, routines check for null pointers passed as parame-
+ ters, and handle this as an error.
+
+ All macros return the value of the <STRONG>w</STRONG> version, except <STRONG>setscrreg</STRONG>,
+ <STRONG>wsetscrreg</STRONG>, <STRONG>getyx</STRONG>, <STRONG>getbegyx</STRONG>, and <STRONG>getmaxyx</STRONG>. The return values of
+ <STRONG>setscrreg</STRONG>, <STRONG>wsetscrreg</STRONG>, <STRONG>getyx</STRONG>, <STRONG>getbegyx</STRONG>, and <STRONG>getmaxyx</STRONG> are undefined
+ (i.e., these should not be used as the right-hand side of assignment
+ statements).
+ Routines that return pointers return <STRONG>NULL</STRONG> on error.
-</PRE>
-<H2>RETURN VALUE</H2><PRE>
- Routines that return an integer return <STRONG>ERR</STRONG> upon failure
- and an integer value other than <STRONG>ERR</STRONG> upon successful com-
- pletion, unless otherwise noted in the routine descrip-
- tions.
- As a general rule, routines check for null pointers passed
- as parameters, and handle this as an error.
+</PRE><H2><a name="h2-ENVIRONMENT">ENVIRONMENT</a></H2><PRE>
+ The following environment symbols are useful for customizing the run-
+ time behavior of the <STRONG>ncurses</STRONG> library. The most important ones have
+ been already discussed in detail.
- All macros return the value of the <STRONG>w</STRONG> version, except
- <STRONG>setscrreg</STRONG>, <STRONG>wsetscrreg</STRONG>, <STRONG>getyx</STRONG>, <STRONG>getbegyx</STRONG>, and <STRONG>getmaxyx</STRONG>. The
- return values of <STRONG>setscrreg</STRONG>, <STRONG>wsetscrreg</STRONG>, <STRONG>getyx</STRONG>, <STRONG>getbegyx</STRONG>,
- and <STRONG>getmaxyx</STRONG> are undefined (i.e., these should not be used
- as the right-hand side of assignment statements).
- Routines that return pointers return <STRONG>NULL</STRONG> on error.
+</PRE><H3><a name="h3-CC-command-character">CC command-character</a></H3><PRE>
+ When set, change occurrences of the command_character (i.e., the <STRONG>cmdch</STRONG>
+ capability) of the loaded terminfo entries to the value of this vari-
+ able. Very few terminfo entries provide this feature.
+ Because this name is also used in development environments to represent
+ the C compiler's name, <STRONG>ncurses</STRONG> ignores it if it does not happen to be a
+ single character.
-</PRE>
-<H2>ENVIRONMENT</H2><PRE>
- The following environment symbols are useful for customiz-
- ing the runtime behavior of the <STRONG>ncurses</STRONG> library. The most
- important ones have been already discussed in detail.
-
- BAUDRATE
- The debugging library checks this environment vari-
- able when the application has redirected output to a
- file. The variable's numeric value is used for the
- baudrate. If no value is found, <STRONG>ncurses</STRONG> uses 9600.
- This allows testers to construct repeatable test-
- cases that take into account costs that depend on
- baudrate.
-
- CC When set, change occurrences of the command_character
- (i.e., the <STRONG>cmdch</STRONG> capability) of the loaded terminfo
- entries to the value of this variable. Very few ter-
- minfo entries provide this feature.
-
- Because this name is also used in development envi-
- ronments to represent the C compiler's name, <STRONG>ncurses</STRONG>
- ignores it if it does not happen to be a single char-
- acter.
-
- COLUMNS
- Specify the width of the screen in characters.
- Applications running in a windowing environment usu-
- ally are able to obtain the width of the window in
- which they are executing. If neither the <STRONG>COLUMNS</STRONG>
- value nor the terminal's screen size is available,
- <STRONG>ncurses</STRONG> uses the size which may be specified in the
- terminfo database (i.e., the <STRONG>cols</STRONG> capability).
-
- It is important that your application use a correct
- size for the screen. This is not always possible
- because your application may be running on a host
- which does not honor NAWS (Negotiations About Window
- Size), or because you are temporarily running as
- another user. However, setting <STRONG>COLUMNS</STRONG> and/or <STRONG>LINES</STRONG>
- overrides the library's use of the screen size
- obtained from the operating system.
-
- Either <STRONG>COLUMNS</STRONG> or <STRONG>LINES</STRONG> symbols may be specified
- independently. This is mainly useful to circumvent
- legacy misfeatures of terminal descriptions, e.g.,
- xterm which commonly specifies a 65 line screen. For
- best results, <STRONG>lines</STRONG> and <STRONG>cols</STRONG> should not be specified
- in a terminal description for terminals which are run
- as emulations.
-
- Use the <STRONG>use_env</STRONG> function to disable all use of exter-
- nal environment (but not including system calls) to
- determine the screen size. Use the <STRONG>use_tioctl</STRONG> func-
- tion to update <STRONG>COLUMNS</STRONG> or <STRONG>LINES</STRONG> to match the screen
- size obtained from system calls or the terminal data-
- base.
-
- ESCDELAY
- Specifies the total time, in milliseconds, for which
- ncurses will await a character sequence, e.g., a
- function key. The default value, 1000 milliseconds,
- is enough for most uses. However, it is made a vari-
- able to accommodate unusual applications.
-
- The most common instance where you may wish to change
- this value is to work with slow hosts, e.g., running
- on a network. If the host cannot read characters
- rapidly enough, it will have the same effect as if
- the terminal did not send characters rapidly enough.
- The library will still see a timeout.
-
- Note that xterm mouse events are built up from char-
- acter sequences received from the xterm. If your
- application makes heavy use of multiple-clicking, you
- may wish to lengthen this default value because the
- timeout applies to the composed multi-click event as
- well as the individual clicks.
-
- In addition to the environment variable, this imple-
- mentation provides a global variable with the same
- name. Portable applications should not rely upon the
- presence of ESCDELAY in either form, but setting the
- environment variable rather than the global variable
- does not create problems when compiling an applica-
- tion.
-
- HOME Tells <STRONG>ncurses</STRONG> where your home directory is. That is
- where it may read and write auxiliary terminal
- descriptions:
-
- $HOME/.termcap
- $HOME/.terminfo
-
- LINES
- Like COLUMNS, specify the height of the screen in
- characters. See COLUMNS for a detailed description.
-
- MOUSE_BUTTONS_123
- This applies only to the OS/2 EMX port. It specifies
- the order of buttons on the mouse. OS/2 numbers a
- 3-button mouse inconsistently from other platforms:
-
- 1 = left
- 2 = right
- 3 = middle.
-
- This variable lets you customize the mouse. The
- variable must be three numeric digits 1-3 in any
- order, e.g., 123 or 321. If it is not specified,
- <STRONG>ncurses</STRONG> uses 132.
-
- NCURSES_ASSUMED_COLORS
- Override the compiled-in assumption that the termi-
- nal's default colors are white-on-black (see
- <STRONG><A HREF="default_colors.3x.html">default_colors(3x)</A></STRONG>). You may set the foreground and
- background color values with this environment vari-
- able by proving a 2-element list: foreground,back-
- ground. For example, to tell ncurses to not assume
- anything about the colors, set this to "-1,-1". To
- make it green-on-black, set it to "2,0". Any posi-
- tive value from zero to the terminfo <STRONG>max_colors</STRONG> value
- is allowed.
-
- NCURSES_GPM_TERMS
- This applies only to ncurses configured to use the
- GPM interface.
-
- If present, the environment variable is a list of one
- or more terminal names against which the TERM envi-
- ronment variable is matched. Setting it to an empty
- value disables the GPM interface; using the built-in
- support for xterm, etc.
-
- If the environment variable is absent, ncurses will
- attempt to open GPM if TERM contains "linux".
-
- NCURSES_NO_HARD_TABS
- <STRONG>Ncurses</STRONG> may use tabs as part of the cursor movement
- optimization. In some cases, your terminal driver
- may not handle these properly. Set this environment
- variable to disable the feature. You can also adjust
- your <STRONG>stty</STRONG> settings to avoid the problem.
-
- NCURSES_NO_MAGIC_COOKIES
- Some terminals use a magic-cookie feature which
- requires special handling to make highlighting and
- other video attributes display properly. You can
- suppress the highlighting entirely for these termi-
- nals by setting this environment variable.
-
- NCURSES_NO_PADDING
- Most of the terminal descriptions in the terminfo
- database are written for real "hardware" terminals.
- Many people use terminal emulators which run in a
- windowing environment and use curses-based applica-
- tions. Terminal emulators can duplicate all of the
- important aspects of a hardware terminal, but they do
- not have the same limitations. The chief limitation
- of a hardware terminal from the standpoint of your
- application is the management of dataflow, i.e., tim-
- ing. Unless a hardware terminal is interfaced into a
- terminal concentrator (which does flow control), it
- (or your application) must manage dataflow, prevent-
- ing overruns. The cheapest solution (no hardware
- cost) is for your program to do this by pausing after
- operations that the terminal does slowly, such as
- clearing the display.
-
- As a result, many terminal descriptions (including
- the vt100) have delay times embedded. You may wish
- to use these descriptions, but not want to pay the
- performance penalty.
-
- Set the NCURSES_NO_PADDING environment variable to
- disable all but mandatory padding. Mandatory padding
- is used as a part of special control sequences such
- as <EM>flash</EM>.
-
- NCURSES_NO_SETBUF
- This setting is obsolete. Before changes
-
- <STRONG>o</STRONG> started with 5.9 patch 20120825 and
-
- <STRONG>o</STRONG> continued though 5.9 patch 20130126
-
- <STRONG>ncurses</STRONG> enabled buffered output during terminal ini-
- tialization. This was done (as in SVr4 curses) for
- performance reasons. For testing purposes, both of
- <STRONG>ncurses</STRONG> and certain applications, this feature was
- made optional. Setting the NCURSES_NO_SETBUF vari-
- able disabled output buffering, leaving the output in
- the original (usually line buffered) mode.
-
- In the current implementation, ncurses performs its
- own buffering and does not require this workaround.
- It does not modify the buffering of the standard out-
- put.
-
- 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 ncurses calls and
- (usually) work. This is no longer possible since
- ncurses 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> still
- use the standard output. But high-level curses calls
- do not.
-
- NCURSES_NO_UTF8_ACS
- During initialization, the <STRONG>ncurses</STRONG> library checks for
- special cases where VT100 line-drawing (and the cor-
- responding alternate character set capabilities)
- described in the terminfo are known to be missing.
- Specifically, when running in a UTF-8 locale, the
- Linux console emulator and the GNU screen program
- ignore these. Ncurses checks the TERM environment
- variable for these. For other special cases, you
- should set this environment variable. Doing this
- tells ncurses to use Unicode values which correspond
- to the VT100 line-drawing glyphs. That works for the
- special cases cited, and is likely to work for termi-
- nal emulators.
-
- When setting this variable, you should set it to a
- nonzero value. Setting it to zero (or to a nonnum-
- ber) disables the special check for "linux" and
- "screen".
-
- As an alternative to the environment variable,
- ncurses checks for an extended terminfo capability
- <STRONG>U8</STRONG>. This is a numeric capability which can be com-
- piled using <STRONG>tic</STRONG> <STRONG>-x</STRONG>. For example
-
- # linux console, if patched to provide working
- # VT100 shift-in/shift-out, with corresponding font.
- linux-vt100|linux console with VT100 line-graphics,
- U8#0, use=linux,
-
- # uxterm with vt100Graphics resource set to false
- xterm-utf8|xterm relying on UTF-8 line-graphics,
- U8#1, use=xterm,
-
- The name "U8" is chosen to be two characters, to per-
- mit it to be used by applications that use ncurses'
- termcap interface.
-
- NCURSES_TRACE
- During initialization, the <STRONG>ncurses</STRONG> debugging library
- checks the NCURSES_TRACE environment variable. If it
- is defined, to a numeric value, <STRONG>ncurses</STRONG> calls the
- <STRONG>trace</STRONG> function, using that value as the argument.
-
- The argument values, which are defined in <STRONG>curses.h</STRONG>,
- provide several types of information. When running
- with traces enabled, your application will write the
- file <STRONG>trace</STRONG> to the current directory.
-
- TERM Denotes your terminal type. Each terminal type is
- distinct, though many are similar.
-
- TERMCAP
- If the <STRONG>ncurses</STRONG> library has been configured with <EM>term-</EM>
- <EM>cap</EM> support, <STRONG>ncurses</STRONG> will check for a terminal's
- description in termcap form if it is not available in
- the terminfo database.
-
- The TERMCAP environment variable contains either a
- terminal description (with newlines stripped out), or
- a file name telling where the information denoted by
- the TERM environment variable exists. In either
- case, setting it directs <STRONG>ncurses</STRONG> to ignore the usual
- place for this information, e.g., /etc/termcap.
-
- TERMINFO
- Overrides the directory in which <STRONG>ncurses</STRONG> searches for
- your terminal description. This is the simplest, but
- not the only way to change the list of directories.
- The complete list of directories in order follows:
-
- <STRONG>o</STRONG> the last directory to which <STRONG>ncurses</STRONG> wrote, if
- any, is searched first
-
- <STRONG>o</STRONG> the directory specified by the TERMINFO environ-
- ment variable
-
- <STRONG>o</STRONG> $HOME/.terminfo
-
- <STRONG>o</STRONG> directories listed in the TERMINFO_DIRS environ-
- ment variable
-
- <STRONG>o</STRONG> one or more directories whose names are config-
- ured and compiled into the ncurses library, i.e.,
-
- <STRONG>o</STRONG> /usr/local/ncurses/share/ter-
- minfo:/usr/share/terminfo (corresponding to
- the TERMINFO_DIRS variable)
-
- <STRONG>o</STRONG> /usr/share/terminfo (corresponding to the
- TERMINFO variable)
-
- TERMINFO_DIRS
- Specifies a list of directories to search for termi-
- nal descriptions. The list is separated by colons
- (i.e., ":") on Unix, semicolons on OS/2 EMX.
-
- All of the terminal descriptions are in terminfo
- form. Normally these are stored in a directory tree,
- using subdirectories named by the first letter of the
- terminal names therein.
-
- If <STRONG>ncurses</STRONG> is built with a hashed database, then each
- entry in this list can also be the path of the corre-
- sponding database file.
-
- If <STRONG>ncurses</STRONG> is built with a support for reading term-
- cap files directly, then an entry in this list may be
- the path of a termcap file.
-
- TERMPATH
- If TERMCAP does not hold a file name then <STRONG>ncurses</STRONG>
- checks the TERMPATH environment variable. This is a
- list of filenames separated by spaces or colons
- (i.e., ":") on Unix, semicolons on OS/2 EMX.
-
- If the TERMPATH environment variable is not set,
- <STRONG>ncurses</STRONG> looks in the files /etc/termcap,
- /usr/share/misc/termcap and $HOME/.termcap, in that
- order.
-
- The library may be configured to disregard the following
- variables when the current user is the superuser (root),
- or if the application uses setuid or setgid permissions:
- $TERMINFO, $TERMINFO_DIRS, $TERMPATH, as well as
- $HOME.
+</PRE><H3><a name="h3-BAUDRATE">BAUDRATE</a></H3><PRE>
+ The debugging library checks this environment variable when the appli-
+ cation has redirected output to a file. The variable's numeric value
+ is used for the baudrate. If no value is found, <STRONG>ncurses</STRONG> uses 9600.
+ This allows testers to construct repeatable test-cases that take into
+ account costs that depend on baudrate.
-</PRE>
-<H2>ALTERNATE CONFIGURATIONS</H2><PRE>
- Several different configurations are possible, depending
- on the configure script options used when building
- <STRONG>ncurses</STRONG>. There are a few main options whose effects are
- visible to the applications developer using <STRONG>ncurses</STRONG>:
+</PRE><H3><a name="h3-COLUMNS">COLUMNS</a></H3><PRE>
+ Specify the width of the screen in characters. Applications running in
+ a windowing environment usually are able to obtain the width of the
+ window in which they are executing. If neither the <STRONG>COLUMNS</STRONG> value nor
+ the terminal's screen size is available, <STRONG>ncurses</STRONG> uses the size which
+ may be specified in the terminfo database (i.e., the <STRONG>cols</STRONG> capability).
+
+ It is important that your application use a correct size for the
+ screen. This is not always possible because your application may be
+ running on a host which does not honor NAWS (Negotiations About Window
+ Size), or because you are temporarily running as another user. How-
+ ever, setting <STRONG>COLUMNS</STRONG> and/or <STRONG>LINES</STRONG> overrides the library's use of the
+ screen size obtained from the operating system.
+
+ Either <STRONG>COLUMNS</STRONG> or <STRONG>LINES</STRONG> symbols may be specified independently. This
+ is mainly useful to circumvent legacy misfeatures of terminal descrip-
+ tions, e.g., xterm which commonly specifies a 65 line screen. For best
+ results, <STRONG>lines</STRONG> and <STRONG>cols</STRONG> should not be specified in a terminal descrip-
+ tion for terminals which are run as emulations.
+
+ Use the <STRONG>use_env</STRONG> function to disable all use of external environment
+ (but not including system calls) to determine the screen size. Use the
+ <STRONG>use_tioctl</STRONG> function to update <STRONG>COLUMNS</STRONG> or <STRONG>LINES</STRONG> to match the screen size
+ obtained from system calls or the terminal database.
+
+
+</PRE><H3><a name="h3-ESCDELAY">ESCDELAY</a></H3><PRE>
+ Specifies the total time, in milliseconds, for which ncurses will await
+ a character sequence, e.g., a function key. The default value, 1000
+ milliseconds, is enough for most uses. However, it is made a variable
+ to accommodate unusual applications.
+
+ The most common instance where you may wish to change this value is to
+ work with slow hosts, e.g., running on a network. If the host cannot
+ read characters rapidly enough, it will have the same effect as if the
+ terminal did not send characters rapidly enough. The library will
+ still see a timeout.
+
+ Note that xterm mouse events are built up from character sequences
+ received from the xterm. If your application makes heavy use of multi-
+ ple-clicking, you may wish to lengthen this default value because the
+ timeout applies to the composed multi-click event as well as the indi-
+ vidual clicks.
+
+ In addition to the environment variable, this implementation provides a
+ global variable with the same name. Portable applications should not
+ rely upon the presence of ESCDELAY in either form, but setting the
+ environment variable rather than the global variable does not create
+ problems when compiling an application.
+
+
+</PRE><H3><a name="h3-HOME">HOME</a></H3><PRE>
+ Tells <STRONG>ncurses</STRONG> where your home directory is. That is where it may read
+ and write auxiliary terminal descriptions:
+
+ $HOME/.termcap
+ $HOME/.terminfo
+
+
+</PRE><H3><a name="h3-LINES">LINES</a></H3><PRE>
+ Like COLUMNS, specify the height of the screen in characters. See COL-
+ UMNS for a detailed description.
+
+
+</PRE><H3><a name="h3-MOUSE_BUTTONS_123">MOUSE_BUTTONS_123</a></H3><PRE>
+ This applies only to the OS/2 EMX port. It specifies the order of but-
+ tons on the mouse. OS/2 numbers a 3-button mouse inconsistently from
+ other platforms:
+
+ 1 = left
+ 2 = right
+ 3 = middle.
+
+ This variable lets you customize the mouse. The variable must be three
+ numeric digits 1-3 in any order, e.g., 123 or 321. If it is not speci-
+ fied, <STRONG>ncurses</STRONG> uses 132.
+
+
+</PRE><H3><a name="h3-NCURSES_ASSUMED_COLORS">NCURSES_ASSUMED_COLORS</a></H3><PRE>
+ Override the compiled-in assumption that the terminal's default colors
+ are white-on-black (see <STRONG><A HREF="default_colors.3x.html">default_colors(3x)</A></STRONG>). You may set the fore-
+ ground and background color values with this environment variable by
+ proving a 2-element list: foreground,background. For example, to tell
+ ncurses to not assume anything about the colors, set this to "-1,-1".
+ To make it green-on-black, set it to "2,0". Any positive value from
+ zero to the terminfo <STRONG>max_colors</STRONG> value is allowed.
+
+
+</PRE><H3><a name="h3-NCURSES_CONSOLE2">NCURSES_CONSOLE2</a></H3><PRE>
+ This applies only to the MinGW port of ncurses.
+
+ The <STRONG>Console2</STRONG> program's handling of the Microsoft Console API call <STRONG>Cre-</STRONG>
+ <STRONG>ateConsoleScreenBuffer</STRONG> is defective. Applications which use this will
+ hang. However, it is possible to simulate the action of this call by
+ mapping coordinates, explicitly saving and restoring the original
+ screen contents. Setting the environment variable <STRONG>NCGDB</STRONG> has the same
+ effect.
+
+
+</PRE><H3><a name="h3-NCURSES_GPM_TERMS">NCURSES_GPM_TERMS</a></H3><PRE>
+ This applies only to ncurses configured to use the GPM interface.
+
+ If present, the environment variable is a list of one or more terminal
+ names against which the <STRONG>TERM</STRONG> environment variable is matched. Setting
+ it to an empty value disables the GPM interface; using the built-in
+ support for xterm, etc.
+
+ If the environment variable is absent, ncurses will attempt to open GPM
+ if <STRONG>TERM</STRONG> contains "linux".
+
+
+</PRE><H3><a name="h3-NCURSES_NO_HARD_TABS">NCURSES_NO_HARD_TABS</a></H3><PRE>
+ <STRONG>Ncurses</STRONG> may use tabs as part of the cursor movement optimization. In
+ some cases, your terminal driver may not handle these properly. Set
+ this environment variable to disable the feature. You can also adjust
+ your <STRONG>stty</STRONG> settings to avoid the problem.
+
+
+</PRE><H3><a name="h3-NCURSES_NO_MAGIC_COOKIE">NCURSES_NO_MAGIC_COOKIE</a></H3><PRE>
+ Some terminals use a magic-cookie feature which requires special han-
+ dling to make highlighting and other video attributes display properly.
+ You can suppress the highlighting entirely for these terminals by set-
+ ting this environment variable.
+
+
+</PRE><H3><a name="h3-NCURSES_NO_PADDING">NCURSES_NO_PADDING</a></H3><PRE>
+ Most of the terminal descriptions in the terminfo database are written
+ for real "hardware" terminals. Many people use terminal emulators
+ which run in a windowing environment and use curses-based applications.
+ Terminal emulators can duplicate all of the important aspects of a
+ hardware terminal, but they do not have the same limitations. The
+ chief limitation of a hardware terminal from the standpoint of your
+ application is the management of dataflow, i.e., timing. Unless a
+ hardware terminal is interfaced into a terminal concentrator (which
+ does flow control), it (or your application) must manage dataflow, pre-
+ venting overruns. The cheapest solution (no hardware cost) is for your
+ program to do this by pausing after operations that the terminal does
+ slowly, such as clearing the display.
+
+ As a result, many terminal descriptions (including the vt100) have
+ delay times embedded. You may wish to use these descriptions, but not
+ want to pay the performance penalty.
+
+ Set the NCURSES_NO_PADDING environment variable to disable all but
+ mandatory padding. Mandatory padding is used as a part of special con-
+ trol sequences such as <EM>flash</EM>.
+
+
+</PRE><H3><a name="h3-NCURSES_NO_SETBUF">NCURSES_NO_SETBUF</a></H3><PRE>
+ This setting is obsolete. Before changes
+
+ <STRONG>o</STRONG> started with 5.9 patch 20120825 and
+
+ <STRONG>o</STRONG> continued though 5.9 patch 20130126
+
+ <STRONG>ncurses</STRONG> enabled buffered output during terminal initialization. This
+ was done (as in SVr4 curses) for performance reasons. For testing pur-
+ poses, both of <STRONG>ncurses</STRONG> and certain applications, this feature was made
+ optional. Setting the NCURSES_NO_SETBUF variable disabled output
+ buffering, leaving the output in the original (usually line buffered)
+ mode.
+
+ In the current implementation, ncurses performs its own buffering and
+ does not require this workaround. 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 nonconven-
+ tional programs would mix ordinary stdio calls with ncurses calls and
+ (usually) work. This is no longer possible since ncurses 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> still
+ use the standard output. But high-level curses calls do not.
+
+
+</PRE><H3><a name="h3-NCURSES_NO_UTF8_ACS">NCURSES_NO_UTF8_ACS</a></H3><PRE>
+ During initialization, the <STRONG>ncurses</STRONG> library checks for special cases
+ where VT100 line-drawing (and the corresponding alternate character set
+ capabilities) described in the terminfo are known to be missing.
+ Specifically, when running in a UTF-8 locale, the Linux console emula-
+ tor and the GNU screen program ignore these. Ncurses checks the <STRONG>TERM</STRONG>
+ environment variable for these. For other special cases, you should
+ set this environment variable. Doing this tells ncurses to use Unicode
+ values which correspond to the VT100 line-drawing glyphs. That works
+ for the special cases cited, and is likely to work for terminal emula-
+ tors.
+
+ When setting this variable, you should set it to a nonzero value. Set-
+ ting it to zero (or to a nonnumber) disables the special check for
+ "linux" and "screen".
+
+ As an alternative to the environment variable, ncurses checks for an
+ extended terminfo capability <STRONG>U8</STRONG>. This is a numeric capability which
+ can be compiled using <STRONG>tic</STRONG> <STRONG>-x</STRONG>. For example
+
+ # linux console, if patched to provide working
+ # VT100 shift-in/shift-out, with corresponding font.
+ linux-vt100|linux console with VT100 line-graphics,
+ U8#0, use=linux,
+
+ # uxterm with vt100Graphics resource set to false
+ xterm-utf8|xterm relying on UTF-8 line-graphics,
+ U8#1, use=xterm,
+
+ The name "U8" is chosen to be two characters, to permit it to be used
+ by applications that use ncurses' termcap interface.
+
+
+</PRE><H3><a name="h3-NCURSES_TRACE">NCURSES_TRACE</a></H3><PRE>
+ During initialization, the <STRONG>ncurses</STRONG> debugging library checks the
+ NCURSES_TRACE environment variable. If it is defined, to a numeric
+ value, <STRONG>ncurses</STRONG> calls the <STRONG>trace</STRONG> function, using that value as the argu-
+ ment.
+
+ The argument values, which are defined in <STRONG>curses.h</STRONG>, provide several
+ types of information. When running with traces enabled, your applica-
+ tion will write the file <STRONG>trace</STRONG> to the current directory.
+
+ See <STRONG><A HREF="curs_trace.3x.html">curs_trace(3x)</A></STRONG> for more information.
+
+
+</PRE><H3><a name="h3-TERM">TERM</a></H3><PRE>
+ Denotes your terminal type. Each terminal type is distinct, though
+ many are similar.
+
+ <STRONG>TERM</STRONG> is commonly set by terminal emulators to help applications find a
+ workable terminal description. Some of those choose a popular approxi-
+ mation, e.g., "ansi", "vt100", "xterm" rather than an exact fit. Not
+ infrequently, your application will have problems with that approach,
+ e.g., incorrect function-key definitions.
+
+ If you set <STRONG>TERM</STRONG> in your environment, it has no effect on the operation
+ of the terminal emulator. It only affects the way applications work
+ within the terminal. Likewise, as a general rule (<STRONG>xterm</STRONG> being a rare
+ exception), terminal emulators which allow you to specify <STRONG>TERM</STRONG> as a
+ parameter or configuration value do not change their behavior to match
+ that setting.
+
+
+</PRE><H3><a name="h3-TERMCAP">TERMCAP</a></H3><PRE>
+ If the <STRONG>ncurses</STRONG> library has been configured with <EM>termcap</EM> support,
+ <STRONG>ncurses</STRONG> will check for a terminal's description in termcap form if it
+ is not available in the terminfo database.
+
+ The <STRONG>TERMCAP</STRONG> environment variable contains either a terminal description
+ (with newlines stripped out), or a file name telling where the informa-
+ tion denoted by the <STRONG>TERM</STRONG> environment variable exists. In either case,
+ setting it directs <STRONG>ncurses</STRONG> to ignore the usual place for this informa-
+ tion, e.g., /etc/termcap.
+
+
+</PRE><H3><a name="h3-TERMINFO">TERMINFO</a></H3><PRE>
+ <STRONG>ncurses</STRONG> can be configured to read from multiple terminal databases.
+ The <STRONG>TERMINFO</STRONG> variable overrides the location for the default terminal
+ database. Terminal descriptions (in terminal format) are stored in
+ terminal databases:
+
+ <STRONG>o</STRONG> Normally these are stored in a directory tree, using subdirectories
+ named by the first letter of the terminal names therein.
+
+ This is the scheme used in System V, which legacy Unix systems use,
+ and the <STRONG>TERMINFO</STRONG> variable is used by <EM>curses</EM> applications on those
+ systems to override the default location of the terminal database.
+
+ <STRONG>o</STRONG> If <STRONG>ncurses</STRONG> is built to use hashed databases, then each entry in
+ this list may be the path of a hashed database file, e.g.,
+
+ /usr/share/terminfo.db
+
+ rather than
+
+ /usr/share/terminfo/
+
+ The hashed database uses less disk-space and is a little faster
+ than the directory tree. However, some applications assume the
+ existence of the directory tree, reading it directly rather than
+ using the terminfo library calls.
+
+ <STRONG>o</STRONG> If <STRONG>ncurses</STRONG> is built with a support for reading termcap files
+ directly, then an entry in this list may be the path of a termcap
+ file.
+
+ <STRONG>o</STRONG> If the <STRONG>TERMINFO</STRONG> variable begins with "hex:" or "b64:", <STRONG>ncurses</STRONG> uses
+ the remainder of that variable as a compiled terminal description.
+ You might produce the base64 format using <STRONG><A HREF="infocmp.1m.html">infocmp(1m)</A></STRONG>:
+
+ TERMINFO="$(infocmp -0 -Q2 -q)"
+ export TERMINFO
+
+ The compiled description is used if it corresponds to the terminal
+ identified by the <STRONG>TERM</STRONG> variable.
+
+ Setting <STRONG>TERMINFO</STRONG> is the simplest, but not the only way to set location
+ of the default terminal database. The complete list of database loca-
+ tions in order follows:
+
+ <STRONG>o</STRONG> the last terminal database to which <STRONG>ncurses</STRONG> wrote, if any, is
+ searched first
+
+ <STRONG>o</STRONG> the location specified by the TERMINFO environment variable
+
+ <STRONG>o</STRONG> $HOME/.terminfo
+
+ <STRONG>o</STRONG> locations listed in the TERMINFO_DIRS environment variable
+
+ <STRONG>o</STRONG> one or more locations whose names are configured and compiled
+ into the ncurses library, i.e.,
+
+ <STRONG>o</STRONG> /usr/local/ncurses/share/terminfo:/usr/share/terminfo (corre-
+ sponding to the TERMINFO_DIRS variable)
+
+ <STRONG>o</STRONG> /usr/share/terminfo (corresponding to the TERMINFO variable)
+
+
+</PRE><H3><a name="h3-TERMINFO_DIRS">TERMINFO_DIRS</a></H3><PRE>
+ Specifies a list of locations to search for terminal descriptions.
+ Each location in the list is a terminal database as described in the
+ section on the <STRONG>TERMINFO</STRONG> variable. The list is separated by colons
+ (i.e., ":") on Unix, semicolons on OS/2 EMX.
+
+ There is no corresponding feature in System V terminfo; it is an exten-
+ sion developed for <STRONG>ncurses</STRONG>.
+
+
+</PRE><H3><a name="h3-TERMPATH">TERMPATH</a></H3><PRE>
+ If <STRONG>TERMCAP</STRONG> does not hold a file name then <STRONG>ncurses</STRONG> checks the <STRONG>TERMPATH</STRONG>
+ environment variable. This is a list of filenames separated by spaces
+ or colons (i.e., ":") on Unix, semicolons on OS/2 EMX.
+
+ If the <STRONG>TERMPATH</STRONG> environment variable is not set, <STRONG>ncurses</STRONG> looks in the
+ files
+
+ /etc/termcap, /usr/share/misc/termcap and $HOME/.termcap,
+
+ in that order.
+
+ The library may be configured to disregard the following variables when
+ the current user is the superuser (root), or if the application uses
+ setuid or setgid permissions:
+
+ $TERMINFO, $TERMINFO_DIRS, $TERMPATH, as well as $HOME.
+
+
+</PRE><H2><a name="h2-ALTERNATE-CONFIGURATIONS">ALTERNATE CONFIGURATIONS</a></H2><PRE>
+ Several different configurations are possible, depending on the config-
+ ure script options used when building <STRONG>ncurses</STRONG>. There are a few main
+ options whose effects are visible to the applications developer using
+ <STRONG>ncurses</STRONG>:
--disable-overwrite
- The standard include for <STRONG>ncurses</STRONG> is as noted in <STRONG>SYN-</STRONG>
- <STRONG>OPSIS</STRONG>:
+ The standard include for <STRONG>ncurses</STRONG> is as noted in <STRONG>SYNOPSIS</STRONG>:
- <STRONG>#include</STRONG> <STRONG>&lt;curses.h&gt;</STRONG>
+ <STRONG>#include</STRONG> <STRONG>&lt;curses.h&gt;</STRONG>
- This option is used to avoid filename conflicts when
- <STRONG>ncurses</STRONG> is not the main implementation of curses of
- the computer. If <STRONG>ncurses</STRONG> is installed disabling
- overwrite, it puts its headers in a subdirectory,
- e.g.,
+ This option is used to avoid filename conflicts when <STRONG>ncurses</STRONG> is
+ not the main implementation of curses of the computer. If <STRONG>ncurses</STRONG>
+ is installed disabling overwrite, it puts its headers in a subdi-
+ rectory, e.g.,
- <STRONG>#include</STRONG> <STRONG>&lt;ncurses/curses.h&gt;</STRONG>
+ <STRONG>#include</STRONG> <STRONG>&lt;ncurses/curses.h&gt;</STRONG>
- It also omits a symbolic link which would allow you
- to use <STRONG>-lcurses</STRONG> to build executables.
+ It also omits a symbolic link which would allow you to use
+ <STRONG>-lcurses</STRONG> to build executables.
--enable-widec
- The configure script renames the library and (if the
- <STRONG>--disable-overwrite</STRONG> option is used) puts the header
- files in a different subdirectory. All of the
- library names have a "w" appended to them, i.e.,
- instead of
+ The configure script renames the library and (if the <STRONG>--dis-</STRONG>
+ <STRONG>able-overwrite</STRONG> option is used) puts the header files in a differ-
+ ent subdirectory. All of the library names have a "w" appended to
+ them, i.e., instead of
- <STRONG>-lncurses</STRONG>
+ <STRONG>-lncurses</STRONG>
you link with
- <STRONG>-lncursesw</STRONG>
-
- You must also define <STRONG>_XOPEN_SOURCE_EXTENDED</STRONG> when com-
- piling for the wide-character library to use the
- extended (wide-character) functions. The <STRONG>curses.h</STRONG>
- file which is installed for the wide-character
- library is designed to be compatible with the normal
- library's header. Only the size of the <STRONG>WINDOW</STRONG> struc-
- ture differs, and very few applications require more
- than a pointer to <STRONG>WINDOW</STRONG>s. If the headers are
- installed allowing overwrite, the wide-character
- library's headers should be installed last, to allow
- applications to be built using either library from
- the same set of headers.
+ <STRONG>-lncursesw</STRONG>
+
+ You must also enable the wide-character features in the header
+ file when compiling for the wide-character library to use the
+ extended (wide-character) functions. The symbol which enables
+ these features has changed since XSI Curses, Issue 4:
+
+ <STRONG>o</STRONG> Originally, the wide-character feature required the symbol
+ <STRONG>_XOPEN_SOURCE_EXTENDED</STRONG> but that was only valid for XPG4
+ (1996).
+
+ <STRONG>o</STRONG> Later, that was deemed conflicting with <STRONG>_XOPEN_SOURCE</STRONG> defined
+ to 500.
+
+ <STRONG>o</STRONG> As of mid-2018, none of the features in this implementation
+ require a <STRONG>_XOPEN_SOURCE</STRONG> feature greater than 600. However,
+ X/Open Curses, Issue 7 (2009) recommends defining it to 700.
+
+ <STRONG>o</STRONG> Alternatively, you can enable the feature by defining
+ <STRONG>NCURSES_WIDECHAR</STRONG> with the caveat that some other header file
+ than <STRONG>curses.h</STRONG> may require a specific value for <STRONG>_XOPEN_SOURCE</STRONG>
+ (or a system-specific symbol).
+
+ The <STRONG>curses.h</STRONG> file which is installed for the wide-character
+ library is designed to be compatible with the normal library's
+ header. Only the size of the <STRONG>WINDOW</STRONG> structure differs, and very
+ few applications require more than a pointer to <STRONG>WINDOW</STRONG>s.
+
+ If the headers are installed allowing overwrite, the wide-charac-
+ ter library's headers should be installed last, to allow applica-
+ tions to be built using either library from the same set of head-
+ ers.
+
+ --with-pthread
+ The configure script renames the library. All of the library
+ names have a "t" appended to them (before any "w" added by
+ <STRONG>--enable-widec</STRONG>).
+
+ The global variables such as <STRONG>LINES</STRONG> are replaced by macros to allow
+ read-only access. At the same time, setter-functions are provided
+ to set these values. Some applications (very few) may require
+ changes to work with this convention.
--with-shared
@@ -1164,163 +1207,186 @@
--with-debug
--with-profile
- The shared and normal (static) library names differ
- by their suffixes, e.g., <STRONG>libncurses.so</STRONG> and <STRONG>libn-</STRONG>
- <STRONG>curses.a</STRONG>. The debug and profiling libraries add a
- "_g" and a "_p" to the root names respectively, e.g.,
- <STRONG>libncurses_g.a</STRONG> and <STRONG>libncurses_p.a</STRONG>.
+ The shared and normal (static) library names differ by their suf-
+ fixes, e.g., <STRONG>libncurses.so</STRONG> and <STRONG>libncurses.a</STRONG>. The debug and pro-
+ filing libraries add a "_g" and a "_p" to the root names respec-
+ tively, e.g., <STRONG>libncurses_g.a</STRONG> and <STRONG>libncurses_p.a</STRONG>.
--with-trace
- The <STRONG>trace</STRONG> function normally resides in the debug
- library, but it is sometimes useful to configure this
- in the shared library. Configure scripts should
- check for the function's existence rather than assum-
- ing it is always in the debug library.
+ The <STRONG>trace</STRONG> function normally resides in the debug library, but it
+ is sometimes useful to configure this in the shared library. Con-
+ figure scripts should check for the function's existence rather
+ than assuming it is always in the debug library.
-</PRE>
-<H2>FILES</H2><PRE>
+</PRE><H2><a name="h2-FILES">FILES</a></H2><PRE>
/usr/share/tabset
- directory containing initialization files for the
- terminal capability database /usr/share/terminfo ter-
- minal capability database
+ directory containing initialization files for the terminal capa-
+ bility database /usr/share/terminfo terminal capability database
-</PRE>
-<H2>SEE ALSO</H2><PRE>
- <STRONG><A HREF="terminfo.5.html">terminfo(5)</A></STRONG> and related pages whose names begin "curs_"
- for detailed routine descriptions.
+</PRE><H2><a name="h2-SEE-ALSO">SEE ALSO</a></H2><PRE>
+ <STRONG><A HREF="terminfo.5.html">terminfo(5)</A></STRONG> and related pages whose names begin "curs_" for detailed
+ routine descriptions.
<STRONG><A HREF="curs_variables.3x.html">curs_variables(3x)</A></STRONG>
-
-
-</PRE>
-<H2>EXTENSIONS</H2><PRE>
- The <STRONG>ncurses</STRONG> library can be compiled with an option
- (<STRONG>-DUSE_GETCAP</STRONG>) that falls back to the old-style /etc/term-
- cap file if the terminal setup code cannot find a terminfo
- entry corresponding to <STRONG>TERM</STRONG>. Use of this feature is not
- recommended, as it essentially includes an entire termcap
- compiler in the <STRONG>ncurses</STRONG> startup code, at significant cost
- in core and startup cycles.
-
- The <STRONG>ncurses</STRONG> library includes facilities for capturing
- mouse events on certain terminals (including xterm). See
- the <STRONG><A HREF="curs_mouse.3x.html">curs_mouse(3x)</A></STRONG> manual page for details.
-
- The <STRONG>ncurses</STRONG> library includes facilities for responding to
- window resizing events, e.g., when running in an xterm.
- See the <STRONG><A HREF="resizeterm.3x.html">resizeterm(3x)</A></STRONG> and <STRONG><A HREF="wresize.3x.html">wresize(3x)</A></STRONG> manual pages for
- details. In addition, the library may be configured with
- a SIGWINCH handler.
-
- The <STRONG>ncurses</STRONG> library extends the fixed set of function key
- capabilities of terminals by allowing the application
- designer to define additional key sequences at runtime.
- See the <STRONG><A HREF="define_key.3x.html">define_key(3x)</A></STRONG> <STRONG><A HREF="key_defined.3x.html">key_defined(3x)</A></STRONG>, and <STRONG><A HREF="keyok.3x.html">keyok(3x)</A></STRONG> man-
- ual pages for details.
-
- The <STRONG>ncurses</STRONG> library can exploit the capabilities of termi-
- nals which implement the ISO-6429 SGR 39 and SGR 49 con-
- trols, which allow an application to reset the terminal to
- its original foreground and background colors. From the
- users' perspective, the application is able to draw col-
- ored text on a background whose color is set indepen-
- dently, providing better control over color contrasts.
- See the <STRONG><A HREF="default_colors.3x.html">default_colors(3x)</A></STRONG> manual page for details.
-
- The <STRONG>ncurses</STRONG> library includes a function for directing
- application output to a printer attached to the terminal
- device. See the <STRONG><A HREF="curs_print.3x.html">curs_print(3x)</A></STRONG> manual page for details.
-
-
-</PRE>
-<H2>PORTABILITY</H2><PRE>
- The <STRONG>ncurses</STRONG> library is intended to be BASE-level confor-
- mant with XSI Curses. The EXTENDED XSI Curses functional-
- ity (including color support) is supported.
-
- A small number of local differences (that is, individual
- differences between the XSI Curses and <STRONG>ncurses</STRONG> calls) are
- described in <STRONG>PORTABILITY</STRONG> sections of the library man
- pages.
-
- Unlike other implementations, this one checks parameters
- such as pointers to WINDOW 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 applica-
- tion which of several possible errors were detected.
- Relying on this (or some other) extension will adversely
- affect the portability of curses applications.
+ <STRONG><A HREF="user_caps.5.html">user_caps(5)</A></STRONG> for user-defined capabilities
+
+
+</PRE><H2><a name="h2-EXTENSIONS">EXTENSIONS</a></H2><PRE>
+ The <STRONG>ncurses</STRONG> library can be compiled with an option (<STRONG>-DUSE_GETCAP</STRONG>) that
+ falls back to the old-style /etc/termcap file if the terminal setup
+ code cannot find a terminfo entry corresponding to <STRONG>TERM</STRONG>. Use of this
+ feature is not recommended, as it essentially includes an entire term-
+ cap compiler in the <STRONG>ncurses</STRONG> startup code, at significant cost in core
+ and startup cycles.
+
+ The <STRONG>ncurses</STRONG> library includes facilities for capturing mouse events on
+ certain terminals (including xterm). See the <STRONG><A HREF="curs_mouse.3x.html">curs_mouse(3x)</A></STRONG> manual
+ page for details.
+
+ The <STRONG>ncurses</STRONG> library includes facilities for responding to window resiz-
+ ing events, e.g., when running in an xterm. See the <STRONG><A HREF="resizeterm.3x.html">resizeterm(3x)</A></STRONG> and
+ <STRONG><A HREF="wresize.3x.html">wresize(3x)</A></STRONG> manual pages for details. In addition, the library may be
+ configured with a <STRONG>SIGWINCH</STRONG> handler.
+
+ The <STRONG>ncurses</STRONG> library extends the fixed set of function key capabilities
+ of terminals by allowing the application designer to define additional
+ key sequences at runtime. See the <STRONG><A HREF="define_key.3x.html">define_key(3x)</A></STRONG> <STRONG><A HREF="key_defined.3x.html">key_defined(3x)</A></STRONG>, and
+ <STRONG><A HREF="keyok.3x.html">keyok(3x)</A></STRONG> manual pages for details.
+
+ The <STRONG>ncurses</STRONG> library can exploit the capabilities of terminals which
+ implement the ISO-6429 SGR 39 and SGR 49 controls, which allow an
+ application to reset the terminal to its original foreground and back-
+ ground colors. From the users' perspective, the application is able to
+ draw colored text on a background whose color is set independently,
+ providing better control over color contrasts. See the <STRONG>default_col-</STRONG>
+ <STRONG><A HREF="default_colors.3x.html">ors(3x)</A></STRONG> manual page for details.
+
+ The <STRONG>ncurses</STRONG> library includes a function for directing application out-
+ put to a printer attached to the terminal device. See the
+ <STRONG><A HREF="curs_print.3x.html">curs_print(3x)</A></STRONG> manual page for details.
+
+
+</PRE><H2><a name="h2-PORTABILITY">PORTABILITY</a></H2><PRE>
+ The <STRONG>ncurses</STRONG> library is intended to be BASE-level conformant with XSI
+ Curses. The EXTENDED XSI Curses functionality (including color sup-
+ port) is supported.
+
+ A small number of local differences (that is, individual differences
+ between the XSI Curses and <STRONG>ncurses</STRONG> calls) are described in <STRONG>PORTABILITY</STRONG>
+ sections of the library man pages.
+
+ Unlike other implementations, this one checks parameters such as point-
+ ers to WINDOW 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.
This implementation also contains several extensions:
- <STRONG>o</STRONG> The routine <STRONG>has_key</STRONG> is not part of XPG4, nor is it
- present in SVr4. See the <STRONG><A HREF="curs_getch.3x.html">curs_getch(3x)</A></STRONG> manual page
- for details.
+ <STRONG>o</STRONG> The routine <STRONG>has_key</STRONG> is not part of XPG4, nor is it present in SVr4.
+ See the <STRONG><A HREF="curs_getch.3x.html">curs_getch(3x)</A></STRONG> manual page for details.
- <STRONG>o</STRONG> The routine <STRONG>slk_attr</STRONG> is not part of XPG4, nor is it
- present in SVr4. See the <STRONG><A HREF="curs_slk.3x.html">curs_slk(3x)</A></STRONG> manual page for
- details.
+ <STRONG>o</STRONG> The routine <STRONG>slk_attr</STRONG> is not part of XPG4, nor is it present in
+ SVr4. See the <STRONG><A HREF="curs_slk.3x.html">curs_slk(3x)</A></STRONG> manual page for details.
- <STRONG>o</STRONG> The routines <STRONG>getmouse</STRONG>, <STRONG>mousemask</STRONG>, <STRONG>ungetmouse</STRONG>, <STRONG>mousein-</STRONG>
- <STRONG>terval</STRONG>, and <STRONG>wenclose</STRONG> relating to mouse interfacing are
- not part of XPG4, nor are they present in SVr4. See
- the <STRONG><A HREF="curs_mouse.3x.html">curs_mouse(3x)</A></STRONG> manual page for details.
+ <STRONG>o</STRONG> The routines <STRONG>getmouse</STRONG>, <STRONG>mousemask</STRONG>, <STRONG>ungetmouse</STRONG>, <STRONG>mouseinterval</STRONG>, and
+ <STRONG>wenclose</STRONG> relating to mouse interfacing are not part of XPG4, nor
+ are they present in SVr4. See the <STRONG><A HREF="curs_mouse.3x.html">curs_mouse(3x)</A></STRONG> manual page for
+ details.
- <STRONG>o</STRONG> The routine <STRONG>mcprint</STRONG> was not present in any previous
- curses implementation. See the <STRONG><A HREF="curs_print.3x.html">curs_print(3x)</A></STRONG> manual
- page for details.
+ <STRONG>o</STRONG> The routine <STRONG>mcprint</STRONG> was not present in any previous curses imple-
+ mentation. See the <STRONG><A HREF="curs_print.3x.html">curs_print(3x)</A></STRONG> manual page for details.
- <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 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 application programs. See <STRONG><A HREF="curs_opaque.3x.html">curs_opaque(3x)</A></STRONG> for
- the discussion of <STRONG>is_scrollok</STRONG>, etc.
+ <STRONG>o</STRONG> The WINDOW structure's internal details can be hidden from applica-
+ tion programs. See <STRONG><A HREF="curs_opaque.3x.html">curs_opaque(3x)</A></STRONG> for the discussion of <STRONG>is_scrol-</STRONG>
+ <STRONG>lok</STRONG>, etc.
- <STRONG>o</STRONG> This implementation can be configured to provide rudi-
- mentary support for multi-threaded applications. See
- <STRONG><A HREF="curs_threads.3x.html">curs_threads(3x)</A></STRONG> for details.
+ <STRONG>o</STRONG> This implementation can be configured to provide rudimentary sup-
+ port for multi-threaded applications. See <STRONG><A HREF="curs_threads.3x.html">curs_threads(3x)</A></STRONG> for
+ details.
- <STRONG>o</STRONG> This implementation can also be configured to provide
- a set of functions which improve the ability to manage
- multiple screens. See <STRONG><A HREF="curs_sp_funcs.3x.html">curs_sp_funcs(3x)</A></STRONG> for details.
+ <STRONG>o</STRONG> This implementation can also be configured to provide a set of
+ functions which improve the ability to manage multiple screens.
+ See <STRONG><A HREF="curs_sp_funcs.3x.html">curs_sp_funcs(3x)</A></STRONG> for details.
- In historic curses versions, delays embedded in the capa-
- bilities <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 implementa-
- tion, all padding is done by sending NUL bytes. This
- method is slightly more expensive, but narrows the inter-
- face to the UNIX kernel significantly and increases the
- package's portability correspondingly.
+ In historic curses versions, delays embedded in the capabilities <STRONG>cr</STRONG>,
+ <STRONG>ind</STRONG>, <STRONG>cub1</STRONG>, <STRONG>ff</STRONG> and <STRONG>tab</STRONG> activated corresponding delay bits in the UNIX
+ tty driver. In this implementation, all padding is done by sending NUL
+ bytes. This method is slightly more expensive, but narrows the inter-
+ face to the UNIX kernel significantly and increases the package's
+ portability correspondingly.
-</PRE>
-<H2>NOTES</H2><PRE>
- The header file <STRONG>&lt;curses.h&gt;</STRONG> automatically includes the
- header files <STRONG>&lt;stdio.h&gt;</STRONG> and <STRONG>&lt;unctrl.h&gt;</STRONG>.
+</PRE><H2><a name="h2-NOTES">NOTES</a></H2><PRE>
+ The header file <STRONG>&lt;curses.h&gt;</STRONG> automatically includes the header files
+ <STRONG>&lt;stdio.h&gt;</STRONG> and <STRONG>&lt;unctrl.h&gt;</STRONG>.
- If standard output from a <STRONG>ncurses</STRONG> program is re-directed
- to something which is not a tty, screen updates will be
- directed to standard error. This was an undocumented fea-
- ture of AT&amp;T System V Release 3 curses.
+ If standard output from a <STRONG>ncurses</STRONG> program is re-directed to something
+ which is not a tty, screen updates will be directed to standard error.
+ This was an undocumented feature of AT&amp;T System V Release 3 curses.
-</PRE>
-<H2>AUTHORS</H2><PRE>
- Zeyd M. Ben-Halim, Eric S. Raymond, Thomas E. Dickey.
- Based on pcurses by Pavel Curtis.
+</PRE><H2><a name="h2-AUTHORS">AUTHORS</a></H2><PRE>
+ Zeyd M. Ben-Halim, Eric S. Raymond, Thomas E. Dickey. Based on pcurses
+ by Pavel Curtis.
- <STRONG><A HREF="ncurses.3x.html">ncurses(3x)</A></STRONG>
+ <STRONG><A HREF="ncurses.3x.html">ncurses(3x)</A></STRONG>
</PRE>
-<HR>
-<ADDRESS>
-Man(1) output converted with
-<a href="http://www.oac.uci.edu/indiv/ehood/man2html.html">man2html</a>
-</ADDRESS>
+<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>
+<ul>
+<li><a href="#h3-Initialization">Initialization</a></li>
+<li><a href="#h3-Datatypes">Datatypes</a></li>
+<li><a href="#h3-Environment-variables">Environment variables</a></li>
+<li><a href="#h3-Routine-and-Argument-Names">Routine and Argument Names</a></li>
+<li><a href="#h3-Routine-Name-Index">Routine Name Index</a></li>
+</ul>
+</li>
+<li><a href="#h2-RETURN-VALUE">RETURN VALUE</a></li>
+<li><a href="#h2-ENVIRONMENT">ENVIRONMENT</a>
+<ul>
+<li><a href="#h3-CC-command-character">CC command-character</a></li>
+<li><a href="#h3-BAUDRATE">BAUDRATE</a></li>
+<li><a href="#h3-COLUMNS">COLUMNS</a></li>
+<li><a href="#h3-ESCDELAY">ESCDELAY</a></li>
+<li><a href="#h3-HOME">HOME</a></li>
+<li><a href="#h3-LINES">LINES</a></li>
+<li><a href="#h3-MOUSE_BUTTONS_123">MOUSE_BUTTONS_123</a></li>
+<li><a href="#h3-NCURSES_ASSUMED_COLORS">NCURSES_ASSUMED_COLORS</a></li>
+<li><a href="#h3-NCURSES_CONSOLE2">NCURSES_CONSOLE2</a></li>
+<li><a href="#h3-NCURSES_GPM_TERMS">NCURSES_GPM_TERMS</a></li>
+<li><a href="#h3-NCURSES_NO_HARD_TABS">NCURSES_NO_HARD_TABS</a></li>
+<li><a href="#h3-NCURSES_NO_MAGIC_COOKIE">NCURSES_NO_MAGIC_COOKIE</a></li>
+<li><a href="#h3-NCURSES_NO_PADDING">NCURSES_NO_PADDING</a></li>
+<li><a href="#h3-NCURSES_NO_SETBUF">NCURSES_NO_SETBUF</a></li>
+<li><a href="#h3-NCURSES_NO_UTF8_ACS">NCURSES_NO_UTF8_ACS</a></li>
+<li><a href="#h3-NCURSES_TRACE">NCURSES_TRACE</a></li>
+<li><a href="#h3-TERM">TERM</a></li>
+<li><a href="#h3-TERMCAP">TERMCAP</a></li>
+<li><a href="#h3-TERMINFO">TERMINFO</a></li>
+<li><a href="#h3-TERMINFO_DIRS">TERMINFO_DIRS</a></li>
+<li><a href="#h3-TERMPATH">TERMPATH</a></li>
+</ul>
+</li>
+<li><a href="#h2-ALTERNATE-CONFIGURATIONS">ALTERNATE CONFIGURATIONS</a></li>
+<li><a href="#h2-FILES">FILES</a></li>
+<li><a href="#h2-SEE-ALSO">SEE ALSO</a></li>
+<li><a href="#h2-EXTENSIONS">EXTENSIONS</a></li>
+<li><a href="#h2-PORTABILITY">PORTABILITY</a></li>
+<li><a href="#h2-NOTES">NOTES</a></li>
+<li><a href="#h2-AUTHORS">AUTHORS</a></li>
+</ul>
+</div>
</BODY>
</HTML>
diff --git a/doc/html/man/ncurses5-config.1.html b/doc/html/man/ncurses6-config.1.html
index 99c00fb455f0..d0417c0d2486 100644
--- a/doc/html/man/ncurses5-config.1.html
+++ b/doc/html/man/ncurses6-config.1.html
@@ -1,4 +1,3 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN">
<!--
****************************************************************************
* Copyright (c) 2010 Free Software Foundation, Inc. *
@@ -29,40 +28,37 @@
****************************************************************************
* @Id: MKncu_config.in,v 1.3 2010/03/06 22:29:17 tom Exp @
-->
+<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN">
<HTML>
<HEAD>
-<TITLE>ncurses5-config 1</TITLE>
-<link rev=made href="mailto:bug-ncurses@gnu.org">
+<meta http-equiv="Content-Type" content="text/html; charset=us-ascii">
+<meta name="generator" content="Manpage converted by man2html - see https://invisible-island.net/scripts/readme.html#others_scripts">
+<TITLE>ncurses6-config 1</TITLE>
+<link rel="author" href="mailto:bug-ncurses@gnu.org">
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
</HEAD>
<BODY>
-<H1>ncurses5-config 1</H1>
-<HR>
+<H1 class="no-header">ncurses6-config 1</H1>
<PRE>
-<!-- Manpage converted by man2html 3.0.1 -->
-<STRONG><A HREF="ncurses5-config.1.html">ncurses5-config(1)</A></STRONG> <STRONG><A HREF="ncurses5-config.1.html">ncurses5-config(1)</A></STRONG>
+<STRONG><A HREF="ncurses6-config.1.html">ncurses6-config(1)</A></STRONG> General Commands Manual <STRONG><A HREF="ncurses6-config.1.html">ncurses6-config(1)</A></STRONG>
-</PRE>
-<H2>NAME</H2><PRE>
- ncurses5-config - helper script for ncurses libraries
+</PRE><H2><a name="h2-NAME">NAME</a></H2><PRE>
+ ncurses6-config - helper script for ncurses libraries
-</PRE>
-<H2>SYNOPSIS</H2><PRE>
- <STRONG>ncurses5-config</STRONG> [<EM>options</EM>]
+</PRE><H2><a name="h2-SYNOPSIS">SYNOPSIS</a></H2><PRE>
+ <STRONG>ncurses6-config</STRONG> [<EM>options</EM>]
-</PRE>
-<H2>DESCRIPTION</H2><PRE>
- This is a shell script which simplifies configuring appli-
- cations against a particular set of ncurses libraries.
+</PRE><H2><a name="h2-DESCRIPTION">DESCRIPTION</a></H2><PRE>
+ This is a shell script which simplifies configuring applications
+ against a particular set of ncurses libraries.
-</PRE>
-<H2>OPTIONS</H2><PRE>
+</PRE><H2><a name="h2-OPTIONS">OPTIONS</a></H2><PRE>
<STRONG>--prefix</STRONG>
echos the package-prefix of ncurses
@@ -70,8 +66,7 @@
echos the executable-prefix of ncurses
<STRONG>--cflags</STRONG>
- echos the C compiler flags needed to compile with
- ncurses
+ echos the C compiler flags needed to compile with ncurses
<STRONG>--libs</STRONG> echos the libraries needed to link with ncurses
@@ -105,30 +100,32 @@
<STRONG>--terminfo-dirs</STRONG>
echos the $TERMINFO_DIRS directory list, e.g.,
- /usr/local/ncurses/share/terminfo:/usr/share/ter-
- minfo
+ /usr/local/ncurses/share/terminfo:/usr/share/terminfo
<STRONG>--termpath</STRONG>
- echos the $TERMPATH termcap list, if support for
- termcap is configured.
+ echos the $TERMPATH termcap list, if support for termcap is con-
+ figured.
<STRONG>--help</STRONG> prints this message
-</PRE>
-<H2>SEE ALSO</H2><PRE>
+</PRE><H2><a name="h2-SEE-ALSO">SEE ALSO</a></H2><PRE>
<STRONG><A HREF="ncurses.3x.html">curses(3x)</A></STRONG>
- This describes <STRONG>ncurses</STRONG> version 5.9 (patch 20131221).
+ This describes <STRONG>ncurses</STRONG> version 6.1 (patch 20200118).
- <STRONG><A HREF="ncurses5-config.1.html">ncurses5-config(1)</A></STRONG>
+ <STRONG><A HREF="ncurses6-config.1.html">ncurses6-config(1)</A></STRONG>
</PRE>
-<HR>
-<ADDRESS>
-Man(1) output converted with
-<a href="http://www.oac.uci.edu/indiv/ehood/man2html.html">man2html</a>
-</ADDRESS>
+<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>
+<li><a href="#h2-OPTIONS">OPTIONS</a></li>
+<li><a href="#h2-SEE-ALSO">SEE ALSO</a></li>
+</ul>
+</div>
</BODY>
</HTML>
diff --git a/doc/html/man/new_pair.3x.html b/doc/html/man/new_pair.3x.html
new file mode 100644
index 000000000000..30740285cb7b
--- /dev/null
+++ b/doc/html/man/new_pair.3x.html
@@ -0,0 +1,186 @@
+<!--
+ ****************************************************************************
+ * Copyright (c) 2017,2018 Free Software Foundation, Inc. *
+ * *
+ * Permission is hereby granted, free of charge, to any person obtaining a *
+ * copy of this software and associated documentation files (the *
+ * "Software"), to deal in the Software without restriction, including *
+ * without limitation the rights to use, copy, modify, merge, publish, *
+ * distribute, distribute with modifications, sublicense, and/or sell *
+ * copies of the Software, and to permit persons to whom the Software is *
+ * furnished to do so, subject to the following conditions: *
+ * *
+ * The above copyright notice and this permission notice shall be included *
+ * in all copies or substantial portions of the Software. *
+ * *
+ * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS *
+ * OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF *
+ * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. *
+ * IN NO EVENT SHALL THE ABOVE COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, *
+ * DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR *
+ * OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR *
+ * THE USE OR OTHER DEALINGS IN THE SOFTWARE. *
+ * *
+ * Except as contained in this notice, the name(s) of the above copyright *
+ * holders shall not be used in advertising or otherwise to promote the *
+ * sale, use or other dealings in this Software without prior written *
+ * authorization. *
+ ****************************************************************************
+ * Author: Thomas E. Dickey
+ * @Id: new_pair.3x,v 1.13 2018/07/28 22:19: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>new_pair 3x</TITLE>
+<link rel="author" href="mailto:bug-ncurses@gnu.org">
+<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
+</HEAD>
+<BODY>
+<H1 class="no-header">new_pair 3x</H1>
+<PRE>
+<STRONG><A HREF="new_pair.3x.html">new_pair(3x)</A></STRONG> <STRONG><A HREF="new_pair.3x.html">new_pair(3x)</A></STRONG>
+
+
+
+
+</PRE><H2><a name="h2-NAME">NAME</a></H2><PRE>
+ <STRONG>alloc_pair</STRONG>, <STRONG>find_pair</STRONG>, <STRONG>free_pair</STRONG> - new curses color-pair functions
+
+
+</PRE><H2><a name="h2-SYNOPSIS">SYNOPSIS</a></H2><PRE>
+ <STRONG>#include</STRONG> <STRONG>&lt;curses.h&gt;</STRONG>
+
+ <STRONG>int</STRONG> <STRONG>alloc_pair(int</STRONG> <STRONG>fg,</STRONG> <STRONG>int</STRONG> <STRONG>bg);</STRONG>
+ <STRONG>int</STRONG> <STRONG>find_pair(int</STRONG> <STRONG>fg,</STRONG> <STRONG>int</STRONG> <STRONG>bg);</STRONG>
+ <STRONG>int</STRONG> <STRONG>free_pair(int</STRONG> <STRONG>pair);</STRONG>
+
+
+</PRE><H2><a name="h2-DESCRIPTION">DESCRIPTION</a></H2><PRE>
+ These functions are an extension to the curses library. They permit an
+ application to dynamically allocate a color pair using the fore-
+ ground/background colors rather than assign a fixed color pair number,
+ and return an unused pair to the pool.
+
+ The number of colors may be related to the number of possible color
+ pairs for a given terminal, or it may not:
+
+ <STRONG>o</STRONG> While almost all terminals allow setting the color <EM>attributes</EM> inde-
+ pendently, it is unlikely that your terminal allows you to modify
+ the attributes of a given character cell without rewriting it.
+ That is, the foreground and background colors are applied as a
+ pair.
+
+ <STRONG>o</STRONG> Color pairs are the curses library's way of managing a color pal-
+ ette on a terminal. If the library does not keep track of the <EM>com-</EM>
+ <EM>binations</EM> of colors which are displayed, it will be inefficient.
+
+ <STRONG>o</STRONG> For simple terminal emulators with only a few dozen color combina-
+ tions, it is convenient to use the maximum number of combinations
+ as the limit on color pairs:
+
+ <STRONG>COLORS</STRONG> <EM>*</EM> <STRONG>COLORS</STRONG>
+
+ <STRONG>o</STRONG> Terminals which support <EM>default</EM> <EM>colors</EM> distinct from "ANSI colors"
+ add to the possible combinations, producing this total:
+
+ <EM>(</EM> <STRONG>COLORS</STRONG> <EM>+</EM> <EM>1</EM> <EM>)</EM> <EM>*</EM> <EM>(</EM> <STRONG>COLORS</STRONG> <EM>+</EM> <EM>1</EM> <EM>)</EM>
+
+ <STRONG>o</STRONG> An application might use up to a few dozen color pairs to implement
+ a predefined color scheme.
+
+ Beyond that lies in the realm of programs using the foreground and
+ background colors for "ASCII art" (or some other non-textual appli-
+ cation).
+
+ Also beyond those few dozen pairs, the required size for a table to
+ represent the combinations grows rapidly with an increasing number
+ of colors.
+
+ These functions allow a developer to let the screen library manage
+ color pairs.
+
+
+</PRE><H3><a name="h3-alloc_pair">alloc_pair</a></H3><PRE>
+ The <STRONG>alloc_pair</STRONG> function accepts parameters for foreground and back-
+ ground color, and checks if that color combination is already associ-
+ ated with a color pair.
+
+ <STRONG>o</STRONG> If the combination already exists, <STRONG>alloc_pair</STRONG> returns the existing
+ pair.
+
+ <STRONG>o</STRONG> If the combination does not exist, <STRONG>alloc_pair</STRONG> allocates a new color
+ pair and returns that.
+
+ <STRONG>o</STRONG> If the table fills up, <STRONG>alloc_pair</STRONG> discards the least-recently allo-
+ cated entry using <STRONG>free_pair</STRONG> and allocates a new color pair.
+
+ All of the color pairs are allocated from a table of possible color
+ pairs. The size of the table is determined by the terminfo <EM>pairs</EM> capa-
+ bility. The table is shared with <STRONG>init_pair</STRONG>; in fact <STRONG>alloc_pair</STRONG> calls
+ <STRONG>init_pair</STRONG> after updating the ncurses library's fast index to the colors
+ versus color pairs.
+
+
+</PRE><H3><a name="h3-find_pair">find_pair</a></H3><PRE>
+ The <STRONG>find_pair</STRONG> function accepts parameters for foreground and background
+ color, and checks if that color combination is already associated with
+ a color pair, returning the pair number if it has been allocated. Oth-
+ erwise it returns -1.
+
+
+</PRE><H3><a name="h3-free_pair">free_pair</a></H3><PRE>
+ Marks the given color pair as unused, i.e., like color pair 0.
+
+
+</PRE><H2><a name="h2-RETURN-VALUE">RETURN VALUE</a></H2><PRE>
+ The <STRONG>alloc_pair</STRONG> function returns a color pair number in the range 1
+ through <STRONG>COLOR_PAIRS</STRONG>-1, unless it encounters an error updating its fast
+ index to the color pair values, preventing it from allocating a color
+ pair. In that case, it returns -1.
+
+ The <STRONG>find_pair</STRONG> function returns a color pair number if the given color
+ combination has been associated with a color pair, or -1 if not.
+
+ Likewise, <STRONG>free_pair</STRONG> returns <STRONG>OK</STRONG> unless it encounters an error updating
+ the fast index or if no such color pair is in use.
+
+
+</PRE><H2><a name="h2-PORTABILITY">PORTABILITY</a></H2><PRE>
+ These routines are specific to ncurses. 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.
+
+
+</PRE><H2><a name="h2-SEE-ALSO">SEE ALSO</a></H2><PRE>
+ <STRONG><A HREF="curs_color.3x.html">curs_color(3x)</A></STRONG>.
+
+
+</PRE><H2><a name="h2-AUTHOR">AUTHOR</a></H2><PRE>
+ Thomas Dickey.
+
+
+
+ <STRONG><A HREF="new_pair.3x.html">new_pair(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>
+<ul>
+<li><a href="#h3-alloc_pair">alloc_pair</a></li>
+<li><a href="#h3-find_pair">find_pair</a></li>
+<li><a href="#h3-free_pair">free_pair</a></li>
+</ul>
+</li>
+<li><a href="#h2-RETURN-VALUE">RETURN VALUE</a></li>
+<li><a href="#h2-PORTABILITY">PORTABILITY</a></li>
+<li><a href="#h2-SEE-ALSO">SEE ALSO</a></li>
+<li><a href="#h2-AUTHOR">AUTHOR</a></li>
+</ul>
+</div>
+</BODY>
+</HTML>
diff --git a/doc/html/man/panel.3x.html b/doc/html/man/panel.3x.html
index 8f9af37b9eee..3304dff61223 100644
--- a/doc/html/man/panel.3x.html
+++ b/doc/html/man/panel.3x.html
@@ -1,7 +1,6 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN">
<!--
****************************************************************************
- * Copyright (c) 1998-2007,2010 Free Software Foundation, Inc. *
+ * Copyright (c) 1998-2018,2019 Free Software Foundation, Inc. *
* *
* Permission is hereby granted, free of charge, to any person obtaining a *
* copy of this software and associated documentation files (the *
@@ -27,140 +26,126 @@
* sale, use or other dealings in this Software without prior written *
* authorization. *
****************************************************************************
- * @Id: panel.3x,v 1.17 2010/10/02 23:22:44 tom Exp @
+ * @Id: panel.3x,v 1.27 2019/03/23 19:23:01 tom Exp @
-->
+<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN">
<HTML>
<HEAD>
+<meta http-equiv="Content-Type" content="text/html; charset=us-ascii">
+<meta name="generator" content="Manpage converted by man2html - see https://invisible-island.net/scripts/readme.html#others_scripts">
<TITLE>panel 3x</TITLE>
-<link rev=made href="mailto:bug-ncurses@gnu.org">
+<link rel="author" href="mailto:bug-ncurses@gnu.org">
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
</HEAD>
<BODY>
-<H1>panel 3x</H1>
-<HR>
+<H1 class="no-header">panel 3x</H1>
<PRE>
-<!-- Manpage converted by man2html 3.0.1 -->
-<STRONG><A HREF="panel.3x.html">panel(3x)</A></STRONG> <STRONG><A HREF="panel.3x.html">panel(3x)</A></STRONG>
+<STRONG><A HREF="panel.3x.html">panel(3x)</A></STRONG> <STRONG><A HREF="panel.3x.html">panel(3x)</A></STRONG>
-</PRE>
-<H2>NAME</H2><PRE>
+</PRE><H2><a name="h2-NAME">NAME</a></H2><PRE>
panel - panel stack extension for curses
-</PRE>
-<H2>SYNOPSIS</H2><PRE>
+</PRE><H2><a name="h2-SYNOPSIS">SYNOPSIS</a></H2><PRE>
<STRONG>#include</STRONG> <STRONG>&lt;panel.h&gt;</STRONG>
<STRONG>cc</STRONG> <STRONG>[flags]</STRONG> <STRONG>sourcefiles</STRONG> <STRONG>-lpanel</STRONG> <STRONG>-lncurses</STRONG>
- <STRONG>PANEL</STRONG> <STRONG>*new_panel(WINDOW</STRONG> <STRONG>*win)</STRONG>
- <STRONG>int</STRONG> <STRONG>bottom_panel(PANEL</STRONG> <STRONG>*pan)</STRONG>
- <STRONG>int</STRONG> <STRONG>top_panel(PANEL</STRONG> <STRONG>*pan)</STRONG>
- <STRONG>int</STRONG> <STRONG>show_panel(PANEL</STRONG> <STRONG>*pan)</STRONG>
- <STRONG>void</STRONG> <STRONG>update_panels();</STRONG>
- <STRONG>int</STRONG> <STRONG>hide_panel(PANEL</STRONG> <STRONG>*pan)</STRONG>
- <STRONG>WINDOW</STRONG> <STRONG>*panel_window(const</STRONG> <STRONG>PANEL</STRONG> <STRONG>*pan)</STRONG>
- <STRONG>int</STRONG> <STRONG>replace_panel(PANEL</STRONG> <STRONG>*pan,</STRONG> <STRONG>WINDOW</STRONG> <STRONG>*window)</STRONG>
- <STRONG>int</STRONG> <STRONG>move_panel(PANEL</STRONG> <STRONG>*pan,</STRONG> <STRONG>int</STRONG> <STRONG>starty,</STRONG> <STRONG>int</STRONG> <STRONG>startx)</STRONG>
- <STRONG>int</STRONG> <STRONG>panel_hidden(const</STRONG> <STRONG>PANEL</STRONG> <STRONG>*pan)</STRONG>
- <STRONG>PANEL</STRONG> <STRONG>*panel_above(const</STRONG> <STRONG>PANEL</STRONG> <STRONG>*pan)</STRONG>
- <STRONG>PANEL</STRONG> <STRONG>*panel_below(const</STRONG> <STRONG>PANEL</STRONG> <STRONG>*pan)</STRONG>
- <STRONG>int</STRONG> <STRONG>set_panel_userptr(PANEL</STRONG> <STRONG>*pan,</STRONG> <STRONG>const</STRONG> <STRONG>void</STRONG> <STRONG>*ptr)</STRONG>
- <STRONG>const</STRONG> <STRONG>void</STRONG> <STRONG>*panel_userptr(const</STRONG> <STRONG>PANEL</STRONG> <STRONG>*pan)</STRONG>
- <STRONG>int</STRONG> <STRONG>del_panel(PANEL</STRONG> <STRONG>*pan)</STRONG>
-
-
-</PRE>
-<H2>DESCRIPTION</H2><PRE>
- Panels are <STRONG><A HREF="ncurses.3x.html">curses(3x)</A></STRONG> windows with the added feature of
- depth. Panel functions allow the use of stacked windows
- and ensure the proper portions of each window and the
- curses <STRONG>stdscr</STRONG> window are hidden or displayed when panels
- are added, moved, modified or removed. The set of cur-
- rently visible panels is the stack of panels. The <STRONG>stdscr</STRONG>
- window is beneath all panels, and is not considered part
- of the stack.
-
- A window is associated with every panel. The panel rou-
- tines enable you to create, move, hide, and show panels,
- as well as position a panel at any desired location in the
- stack.
-
- Panel routines are a functional layer added to <STRONG><A HREF="ncurses.3x.html">curses(3x)</A></STRONG>,
- make only high-level curses calls, and work anywhere ter-
- minfo curses does.
-
-
-</PRE>
-<H2>FUNCTIONS</H2><PRE>
+ <STRONG>PANEL</STRONG> <STRONG>*new_panel(WINDOW</STRONG> <STRONG>*win);</STRONG>
+ <STRONG>int</STRONG> <STRONG>bottom_panel(PANEL</STRONG> <STRONG>*pan);</STRONG>
+ <STRONG>int</STRONG> <STRONG>top_panel(PANEL</STRONG> <STRONG>*pan);</STRONG>
+ <STRONG>int</STRONG> <STRONG>show_panel(PANEL</STRONG> <STRONG>*pan);</STRONG>
+ <STRONG>void</STRONG> <STRONG>update_panels(void);</STRONG>
+ <STRONG>int</STRONG> <STRONG>hide_panel(PANEL</STRONG> <STRONG>*pan);</STRONG>
+ <STRONG>WINDOW</STRONG> <STRONG>*panel_window(const</STRONG> <STRONG>PANEL</STRONG> <STRONG>*pan);</STRONG>
+ <STRONG>int</STRONG> <STRONG>replace_panel(PANEL</STRONG> <STRONG>*pan,</STRONG> <STRONG>WINDOW</STRONG> <STRONG>*window);</STRONG>
+ <STRONG>int</STRONG> <STRONG>move_panel(PANEL</STRONG> <STRONG>*pan,</STRONG> <STRONG>int</STRONG> <STRONG>starty,</STRONG> <STRONG>int</STRONG> <STRONG>startx);</STRONG>
+ <STRONG>int</STRONG> <STRONG>panel_hidden(const</STRONG> <STRONG>PANEL</STRONG> <STRONG>*pan);</STRONG>
+ <STRONG>PANEL</STRONG> <STRONG>*panel_above(const</STRONG> <STRONG>PANEL</STRONG> <STRONG>*pan);</STRONG>
+ <STRONG>PANEL</STRONG> <STRONG>*panel_below(const</STRONG> <STRONG>PANEL</STRONG> <STRONG>*pan);</STRONG>
+ <STRONG>int</STRONG> <STRONG>set_panel_userptr(PANEL</STRONG> <STRONG>*pan,</STRONG> <STRONG>const</STRONG> <STRONG>void</STRONG> <STRONG>*ptr);</STRONG>
+ <STRONG>const</STRONG> <STRONG>void</STRONG> <STRONG>*panel_userptr(const</STRONG> <STRONG>PANEL</STRONG> <STRONG>*pan);</STRONG>
+ <STRONG>int</STRONG> <STRONG>del_panel(PANEL</STRONG> <STRONG>*pan);</STRONG>
+
+
+</PRE><H2><a name="h2-DESCRIPTION">DESCRIPTION</a></H2><PRE>
+ Panels are <STRONG><A HREF="ncurses.3x.html">curses(3x)</A></STRONG> windows with the added feature of depth. Panel
+ functions allow the use of stacked windows and ensure the proper por-
+ tions of each window and the curses <STRONG>stdscr</STRONG> window are hidden or dis-
+ played when panels are added, moved, modified or removed. The set of
+ currently visible panels is the stack of panels. The <STRONG>stdscr</STRONG> window is
+ beneath all panels, and is not considered part of the stack.
+
+ A window is associated with every panel. The panel routines enable you
+ to create, move, hide, and show panels, as well as position a panel at
+ any desired location in the stack.
+
+ Panel routines are a functional layer added to <STRONG><A HREF="ncurses.3x.html">curses(3x)</A></STRONG>, make only
+ high-level curses calls, and work anywhere terminfo curses does.
+
+
+</PRE><H2><a name="h2-FUNCTIONS">FUNCTIONS</a></H2><PRE>
<STRONG>new_panel(win)</STRONG>
- allocates a <STRONG>PANEL</STRONG> structure, associates it with
- <STRONG>win</STRONG>, places the panel on the top of the stack
- (causes it to be displayed above any other
- panel) and returns a pointer to the new panel.
-
- <STRONG>update_panels()</STRONG>
- refreshes the virtual screen to reflect the rela-
- tions between the panels in the stack, but does not
- call doupdate() to refresh the physical screen.
- Use this function and not <STRONG>wrefresh</STRONG> or <STRONG>wnoutrefresh</STRONG>.
- <STRONG>update_panels</STRONG> may be called more than once before a
- call to doupdate(), but doupdate() is the function
- responsible for updating the physical screen.
+ allocates a <STRONG>PANEL</STRONG> structure, associates it with <STRONG>win</STRONG>, places
+ the panel on the top of the stack (causes it to be displayed
+ above any other panel) and returns a pointer to the new panel.
+
+ <STRONG>update_panels</STRONG>
+ refreshes the <EM>virtual</EM> <EM>screen</EM> to reflect the relations between
+ the panels in the stack, but does not call <STRONG>doupdate</STRONG> to refresh
+ the <EM>physical</EM> <EM>screen</EM>. Use this function and not <STRONG>wrefresh</STRONG> or
+ <STRONG>wnoutrefresh</STRONG>. <STRONG>update_panels</STRONG> may be called more than once before
+ a call to <STRONG>doupdate</STRONG>, but <STRONG>doupdate</STRONG> is the function responsible for
+ updating the <EM>physical</EM> <EM>screen</EM>.
<STRONG>del_panel(pan)</STRONG>
- removes the given panel from the stack and deallo-
- cates the <STRONG>PANEL</STRONG> structure (but not its associated
- window).
+ removes the given panel from the stack and deallocates the
+ <STRONG>PANEL</STRONG> structure (but not its associated window).
<STRONG>hide_panel(pan)</STRONG>
- removes the given panel from the panel stack and
- thus hides it from view. The <STRONG>PANEL</STRONG> structure is not
- lost, merely removed from the stack.
+ removes the given panel from the panel stack and thus hides it
+ from view. The <STRONG>PANEL</STRONG> structure is not lost, merely removed from
+ the stack.
<STRONG>panel_hidden(pan)</STRONG>
- returns TRUE if the panel is in the panel stack,
- FALSE if it is not. If the panel is a null
- pointer, return ERR.
+ returns <STRONG>TRUE</STRONG> if the panel is in the panel stack, <STRONG>FALSE</STRONG> if it is
+ not. If the panel is a null pointer, return <STRONG>ERR</STRONG>.
<STRONG>show_panel(pan)</STRONG>
- makes a hidden panel visible by placing it on top
- of the panels in the panel stack. See COMPATIBILITY
- below.
+ makes a hidden panel visible by placing it on top of the panels
+ in the panel stack. See COMPATIBILITY below.
<STRONG>top_panel(pan)</STRONG>
- puts the given visible panel on top of all panels
- in the stack. See COMPATIBILITY below.
+ puts the given visible panel on top of all panels in the stack.
+ See COMPATIBILITY below.
<STRONG>bottom_panel(pan)</STRONG>
puts panel at the bottom of all panels.
<STRONG>move_panel(pan,starty,startx)</STRONG>
- moves the given panel window so that its upper-left
- corner is at <STRONG>starty</STRONG>, <STRONG>startx</STRONG>. It does not change
- the position of the panel in the stack. Be sure to
- use this function, not <STRONG>mvwin()</STRONG>, to move a panel
- window.
+ moves the given panel window so that its upper-left corner is at
+ <STRONG>starty</STRONG>, <STRONG>startx</STRONG>. It does not change the position of the panel in
+ the stack. Be sure to use this function, not <STRONG>mvwin</STRONG>, to move a
+ panel window.
<STRONG>replace_panel(pan,window)</STRONG>
- replaces the current window of panel with <STRONG>window</STRONG>
- (useful, for example if you want to resize a panel;
- if you're using <STRONG>ncurses</STRONG>, you can call <STRONG>replace_panel</STRONG>
- on the output of <STRONG><A HREF="wresize.3x.html">wresize(3x)</A></STRONG>). It does not change
- the position of the panel in the stack.
+ replaces the current window of panel with <STRONG>window</STRONG> (useful, for
+ example if you want to resize a panel; if you're using <STRONG>ncurses</STRONG>,
+ you can call <STRONG>replace_panel</STRONG> on the output of <STRONG><A HREF="wresize.3x.html">wresize(3x)</A></STRONG>). It
+ does not change the position of the panel in the stack.
<STRONG>panel_above(pan)</STRONG>
- returns a pointer to the panel above pan. If the
- panel argument is <STRONG>(PANEL</STRONG> <STRONG>*)0</STRONG>, it returns a pointer
- to the bottom panel in the stack.
+ returns a pointer to the panel above pan. If the panel argument
+ is <STRONG>(PANEL</STRONG> <STRONG>*)0</STRONG>, it returns a pointer to the bottom panel in the
+ stack.
<STRONG>panel_below(pan)</STRONG>
- returns a pointer to the panel just below pan. If
- the panel argument is <STRONG>(PANEL</STRONG> <STRONG>*)0</STRONG>, it returns a
- pointer to the top panel in the stack.
+ returns a pointer to the panel just below pan. If the panel
+ argument is <STRONG>(PANEL</STRONG> <STRONG>*)0</STRONG>, it returns a pointer to the top panel in
+ the stack.
<STRONG>set_panel_userptr(pan,ptr)</STRONG>
sets the panel's user pointer.
@@ -172,70 +157,79 @@
returns a pointer to the window of the given panel.
-</PRE>
-<H2>DIAGNOSTICS</H2><PRE>
- Each routine that returns a pointer returns <STRONG>NULL</STRONG> if an
- error occurs. Each routine that returns an int value
- returns <STRONG>OK</STRONG> if it executes successfully and <STRONG>ERR</STRONG> if not.
+</PRE><H2><a name="h2-DIAGNOSTICS">DIAGNOSTICS</a></H2><PRE>
+ Each routine that returns a pointer returns <STRONG>NULL</STRONG> if an error occurs.
+ Each routine that returns an int value returns <STRONG>OK</STRONG> if it executes suc-
+ cessfully and <STRONG>ERR</STRONG> if not.
-</PRE>
-<H2>COMPATIBILITY</H2><PRE>
- Reasonable care has been taken to ensure compatibility
- with the native panel facility introduced in SVr3.2
- (inspection of the SVr4 manual pages suggests the program-
- ming interface is unchanged). The <STRONG>PANEL</STRONG> data structures
- are merely similar. The programmer is cautioned not to
- directly use <STRONG>PANEL</STRONG> fields.
-
- The functions <STRONG>show_panel()</STRONG> and <STRONG>top_panel()</STRONG> are identical
- in this implementation, and work equally well with dis-
- played or hidden panels. In the native System V implemen-
- tation, <STRONG>show_panel()</STRONG> is intended for making a hidden panel
- visible (at the top of the stack) and <STRONG>top_panel()</STRONG> is
- intended for making an already-visible panel move to the
- top of the stack. You are cautioned to use the correct
- function to ensure compatibility with native panel
- libraries.
+</PRE><H2><a name="h2-COMPATIBILITY">COMPATIBILITY</a></H2><PRE>
+ Reasonable care has been taken to ensure compatibility with the
+ native panel facility introduced in System V (inspection of the SVr4
+ manual pages suggests the programming interface is unchanged). The
+ <STRONG>PANEL</STRONG> data structures are merely similar. The programmer is cau-
+ tioned not to directly use <STRONG>PANEL</STRONG> fields.
+ The functions <STRONG>show_panel</STRONG> and <STRONG>top_panel</STRONG> are identical in this implemen-
+ tation, and work equally well with displayed or hidden panels. In the
+ native System V implementation, <STRONG>show_panel</STRONG> is intended for making a
+ hidden panel visible (at the top of the stack) and <STRONG>top_panel</STRONG> is
+ intended for making an already-visible panel move to the top of the
+ stack. You are cautioned to use the correct function to ensure compat-
+ ibility with native panel libraries.
-</PRE>
-<H2>NOTE</H2><PRE>
- In your library list, libpanel.a should be before libn-
- curses.a; that is, you want to say `-lpanel -lncurses',
- not the other way around (which would usually give a link-
- error).
+</PRE><H2><a name="h2-NOTE">NOTE</a></H2><PRE>
+ In your library list, libpanel.a should be before libncurses.a; that
+ is, you should say "-lpanel -lncurses", not the other way around (which
+ would give a link-error with static libraries).
-</PRE>
-<H2>FILES</H2><PRE>
+
+</PRE><H2><a name="h2-PORTABILITY">PORTABILITY</a></H2><PRE>
+ The panel facility was documented in SVr4.2 in <EM>Character</EM> <EM>User</EM> <EM>Interface</EM>
+ <EM>Programming</EM> <EM>(UNIX</EM> <EM>SVR4.2)</EM>.
+
+ It is not part of X/Open Curses.
+
+ Aside from ncurses, only systems based on SVr4 source code, e.g.,
+ Solaris provide this library.
+
+
+</PRE><H2><a name="h2-FILES">FILES</a></H2><PRE>
panel.h interface for the panels library
libpanel.a the panels library itself
-</PRE>
-<H2>SEE ALSO</H2><PRE>
+</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_variables.3x.html">curs_variables(3x)</A></STRONG>,
- This describes <STRONG>ncurses</STRONG> version 5.9 (patch 20131221).
+ This describes <STRONG>ncurses</STRONG> version 6.1 (patch 20200118).
-</PRE>
-<H2>AUTHOR</H2><PRE>
- Originally written by Warren Tucker &lt;wht@n4hgf.mt-
- park.ga.us&gt;, primarily to assist in porting u386mon to
- systems without a native panels library. Repackaged for
- ncurses by Zeyd ben-Halim.
+</PRE><H2><a name="h2-AUTHOR">AUTHOR</a></H2><PRE>
+ Originally written by Warren Tucker &lt;wht@n4hgf.mt-park.ga.us&gt;, primar-
+ ily to assist in porting u386mon to systems without a native panels
+ library. Repackaged for ncurses by Zeyd ben-Halim.
- <STRONG><A HREF="panel.3x.html">panel(3x)</A></STRONG>
+ <STRONG><A HREF="panel.3x.html">panel(3x)</A></STRONG>
</PRE>
-<HR>
-<ADDRESS>
-Man(1) output converted with
-<a href="http://www.oac.uci.edu/indiv/ehood/man2html.html">man2html</a>
-</ADDRESS>
+<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>
+<li><a href="#h2-FUNCTIONS">FUNCTIONS</a></li>
+<li><a href="#h2-DIAGNOSTICS">DIAGNOSTICS</a></li>
+<li><a href="#h2-COMPATIBILITY">COMPATIBILITY</a></li>
+<li><a href="#h2-NOTE">NOTE</a></li>
+<li><a href="#h2-PORTABILITY">PORTABILITY</a></li>
+<li><a href="#h2-FILES">FILES</a></li>
+<li><a href="#h2-SEE-ALSO">SEE ALSO</a></li>
+<li><a href="#h2-AUTHOR">AUTHOR</a></li>
+</ul>
+</div>
</BODY>
</HTML>
diff --git a/doc/html/man/resizeterm.3x.html b/doc/html/man/resizeterm.3x.html
index 5f2defe2ab72..a1e20f90ab52 100644
--- a/doc/html/man/resizeterm.3x.html
+++ b/doc/html/man/resizeterm.3x.html
@@ -1,7 +1,6 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN">
<!--
****************************************************************************
- * Copyright (c) 1998-2012,2013 Free Software Foundation, Inc. *
+ * Copyright (c) 1998-2018,2019 Free Software Foundation, Inc. *
* *
* Permission is hereby granted, free of charge, to any person obtaining a *
* copy of this software and associated documentation files (the *
@@ -28,32 +27,31 @@
* authorization. *
****************************************************************************
* Author: Thomas E. Dickey 1996-on
- * @Id: resizeterm.3x,v 1.17 2013/06/22 20:41:54 tom Exp @
+ * @Id: resizeterm.3x,v 1.26 2019/09/21 23:44:41 tom Exp @
-->
+<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN">
<HTML>
<HEAD>
+<meta http-equiv="Content-Type" content="text/html; charset=us-ascii">
+<meta name="generator" content="Manpage converted by man2html - see https://invisible-island.net/scripts/readme.html#others_scripts">
<TITLE>resizeterm 3x</TITLE>
-<link rev=made href="mailto:bug-ncurses@gnu.org">
+<link rel="author" href="mailto:bug-ncurses@gnu.org">
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
</HEAD>
<BODY>
-<H1>resizeterm 3x</H1>
-<HR>
+<H1 class="no-header">resizeterm 3x</H1>
<PRE>
-<!-- Manpage converted by man2html 3.0.1 -->
-<STRONG><A HREF="resizeterm.3x.html">resizeterm(3x)</A></STRONG> <STRONG><A HREF="resizeterm.3x.html">resizeterm(3x)</A></STRONG>
+<STRONG><A HREF="resizeterm.3x.html">resizeterm(3x)</A></STRONG> <STRONG><A HREF="resizeterm.3x.html">resizeterm(3x)</A></STRONG>
-</PRE>
-<H2>NAME</H2><PRE>
- <STRONG>is_term_resized</STRONG>, <STRONG>resize_term</STRONG>, <STRONG>resizeterm</STRONG> - change the
- curses terminal size
+</PRE><H2><a name="h2-NAME">NAME</a></H2><PRE>
+ <STRONG>is_term_resized</STRONG>, <STRONG>resize_term</STRONG>, <STRONG>resizeterm</STRONG> - change the curses terminal
+ size
-</PRE>
-<H2>SYNOPSIS</H2><PRE>
+</PRE><H2><a name="h2-SYNOPSIS">SYNOPSIS</a></H2><PRE>
<STRONG>#include</STRONG> <STRONG>&lt;curses.h&gt;</STRONG>
<STRONG>bool</STRONG> <STRONG>is_term_resized(int</STRONG> <STRONG>lines,</STRONG> <STRONG>int</STRONG> <STRONG>columns);</STRONG>
@@ -61,80 +59,125 @@
<STRONG>int</STRONG> <STRONG>resizeterm(int</STRONG> <STRONG>lines,</STRONG> <STRONG>int</STRONG> <STRONG>columns);</STRONG>
-</PRE>
-<H2>DESCRIPTION</H2><PRE>
- This is an extension to the curses library. It provides
- callers with a hook into the <STRONG>ncurses</STRONG> data to resize win-
- dows, primarily for use by programs running in an X Window
- terminal (e.g., xterm). The function <STRONG>resizeterm</STRONG> resizes
- the standard and current windows to the specified dimen-
- sions, and adjusts other bookkeeping data used by the
- <STRONG>ncurses</STRONG> library that record the window dimensions such as
- the <STRONG>LINES</STRONG> and <STRONG>COLS</STRONG> variables.
-
- Most of the work is done by the inner function
- <STRONG>resize_term</STRONG>. The outer function <STRONG>resizeterm</STRONG> adds bookkeep-
- ing for the SIGWINCH handler. When resizing the windows,
- <STRONG>resize_term</STRONG> blank-fills the areas that are extended. The
- calling application should fill in these areas with appro-
- priate data. The <STRONG>resize_term</STRONG> function attempts to resize
- all windows. However, due to the calling convention of
- pads, it is not possible to resize these without addi-
- tional interaction with the application.
-
- A support function <STRONG>is_term_resized</STRONG> is provided so that
- applications can check if the <STRONG>resize_term</STRONG> function would
- modify the window structures. It returns TRUE if the win-
- dows would be modified, and FALSE otherwise.
+</PRE><H2><a name="h2-DESCRIPTION">DESCRIPTION</a></H2><PRE>
+ This is an extension to the curses library. It provides callers with a
+ hook into the <STRONG>ncurses</STRONG> data to resize windows, primarily for use by pro-
+ grams running in an X Window terminal (e.g., xterm).
-</PRE>
-<H2>RETURN VALUE</H2><PRE>
- Except as noted, these functions return the integer <STRONG>ERR</STRONG>
- upon failure and <STRONG>OK</STRONG> on success. They will fail if either
- of the dimensions are less than or equal to zero, or if an
- error occurs while (re)allocating memory for the windows.
+</PRE><H3><a name="h3-resizeterm">resizeterm</a></H3><PRE>
+ The function <STRONG>resizeterm</STRONG> resizes the standard and current windows to the
+ specified dimensions, and adjusts other bookkeeping data used by the
+ <STRONG>ncurses</STRONG> library that record the window dimensions such as the <STRONG>LINES</STRONG> and
+ <STRONG>COLS</STRONG> variables.
-</PRE>
-<H2>NOTES</H2><PRE>
- While these functions are intended to be used to support a
- signal handler (i.e., for SIGWINCH), care should be taken
- to avoid invoking them in a context where <STRONG>malloc</STRONG> or <STRONG>real-</STRONG>
- <STRONG>loc</STRONG> may have been interrupted, since it uses those func-
- tions.
-
- If ncurses is configured to supply its own SIGWINCH han-
- dler, the <STRONG>resizeterm</STRONG> function <STRONG>ungetch</STRONG>'s a <STRONG>KEY_RESIZE</STRONG> which
- will be read on the next call to <STRONG>getch</STRONG>. This is used to
- alert an application that the screen size has changed, and
- that it should repaint special features such as pads that
- cannot be done automatically.
-
- If the environment variables <STRONG>LINES</STRONG> or <STRONG>COLUMNS</STRONG> are set,
- this overrides the library's use of the window size
- obtained from the operating system. Thus, even if a SIG-
- WINCH is received, no screen size change may be recorded.
+</PRE><H3><a name="h3-resize_term">resize_term</a></H3><PRE>
+ Most of the work is done by the inner function <STRONG>resize_term</STRONG>. The outer
+ function <STRONG>resizeterm</STRONG> adds bookkeeping for the <STRONG>SIGWINCH</STRONG> handler, as well
+ as repainting the soft-key area (see <STRONG><A HREF="slk_touch.3x.html">slk_touch(3x)</A></STRONG>).
+ When resizing the windows, <STRONG>resize_term</STRONG> blank-fills the areas that are
+ extended. The calling application should fill in these areas with
+ appropriate data.
-</PRE>
-<H2>SEE ALSO</H2><PRE>
+ The <STRONG>resize_term</STRONG> function attempts to resize all windows. However, due
+ to the calling convention of pads, it is not possible to resize these
+ without additional interaction with the application.
+
+ When resizing windows, <STRONG>resize_term</STRONG> recursively adjusts subwindows,
+ keeping them within the updated parent window's limits. If a top-level
+ window happens to extend to the screen's limits, then on resizing the
+ window, <STRONG>resize_term</STRONG> will keep the window extending to the corresponding
+ limit, regardless of whether the screen has shrunk or grown.
+
+
+</PRE><H3><a name="h3-is_term_resized">is_term_resized</a></H3><PRE>
+ A support function <STRONG>is_term_resized</STRONG> is provided so that applications can
+ check if the <STRONG>resize_term</STRONG> function would modify the window structures.
+ It returns <STRONG>TRUE</STRONG> if the windows would be modified, and <STRONG>FALSE</STRONG> otherwise.
+
+
+</PRE><H2><a name="h2-RETURN-VALUE">RETURN VALUE</a></H2><PRE>
+ Except as noted, these functions return the integer <STRONG>ERR</STRONG> upon failure
+ and <STRONG>OK</STRONG> on success. They will fail if either of the dimensions are less
+ than or equal to zero, or if an error occurs while (re)allocating mem-
+ ory for the windows.
+
+
+</PRE><H2><a name="h2-NOTES">NOTES</a></H2><PRE>
+ While these functions are intended to be used to support a signal han-
+ dler (i.e., for <STRONG>SIGWINCH</STRONG>), care should be taken to avoid invoking them
+ in a context where <STRONG>malloc</STRONG> or <STRONG>realloc</STRONG> may have been interrupted, since
+ it uses those functions.
+
+ If ncurses is configured to supply its own <STRONG>SIGWINCH</STRONG> handler,
+
+ <STRONG>o</STRONG> on receipt of a <STRONG>SIGWINCH</STRONG>, the handler sets a flag
+
+ <STRONG>o</STRONG> which is tested in <STRONG><A HREF="curs_getch.3x.html">wgetch(3x)</A></STRONG> and <STRONG>doupdate</STRONG>,
+
+ <STRONG>o</STRONG> in turn, calling the <STRONG>resizeterm</STRONG> function,
+
+ <STRONG>o</STRONG> which <STRONG>ungetch</STRONG>'s a <STRONG>KEY_RESIZE</STRONG> which will be read on the next call to
+ <STRONG>wgetch</STRONG>.
+
+ The <STRONG>KEY_RESIZE</STRONG> alerts an application that the screen size has
+ changed, and that it should repaint special features such as pads
+ that cannot be done automatically.
+
+ Calling <STRONG>resizeterm</STRONG> or <STRONG>resize_term</STRONG> directly from a signal handler is
+ unsafe. This indirect method is used to provide a safe way to
+ resize the ncurses data structures.
+
+ If the environment variables <STRONG>LINES</STRONG> or <STRONG>COLUMNS</STRONG> are set, this overrides
+ the library's use of the window size obtained from the operating sys-
+ tem. Thus, even if a <STRONG>SIGWINCH</STRONG> is received, no screen size change may
+ be recorded.
+
+
+</PRE><H2><a name="h2-PORTABILITY">PORTABILITY</a></H2><PRE>
+ It is possible to resize the screen with SVr4 curses, by
+
+ <STRONG>o</STRONG> exiting curses with <STRONG><A HREF="curs_initscr.3x.html">endwin(3x)</A></STRONG> and
+
+ <STRONG>o</STRONG> resuming using <STRONG><A HREF="curs_refresh.3x.html">refresh(3x)</A></STRONG>.
+
+ Doing that clears the screen and is visually distracting.
+
+ This extension of ncurses was introduced in mid-1995. It was adopted
+ in NetBSD curses (2001) and PDCurses (2003).
+
+
+</PRE><H2><a name="h2-SEE-ALSO">SEE ALSO</a></H2><PRE>
<STRONG><A HREF="curs_getch.3x.html">curs_getch(3x)</A></STRONG>, <STRONG><A HREF="curs_variables.3x.html">curs_variables(3x)</A></STRONG>, <STRONG><A HREF="wresize.3x.html">wresize(3x)</A></STRONG>.
-</PRE>
-<H2>AUTHOR</H2><PRE>
- Thomas Dickey (from an equivalent function written in 1988
- for BSD curses).
+</PRE><H2><a name="h2-AUTHOR">AUTHOR</a></H2><PRE>
+ Thomas Dickey (from an equivalent function written in 1988 for BSD
+ curses).
- <STRONG><A HREF="resizeterm.3x.html">resizeterm(3x)</A></STRONG>
+ <STRONG><A HREF="resizeterm.3x.html">resizeterm(3x)</A></STRONG>
</PRE>
-<HR>
-<ADDRESS>
-Man(1) output converted with
-<a href="http://www.oac.uci.edu/indiv/ehood/man2html.html">man2html</a>
-</ADDRESS>
+<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>
+<ul>
+<li><a href="#h3-resizeterm">resizeterm</a></li>
+<li><a href="#h3-resize_term">resize_term</a></li>
+<li><a href="#h3-is_term_resized">is_term_resized</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-PORTABILITY">PORTABILITY</a></li>
+<li><a href="#h2-SEE-ALSO">SEE ALSO</a></li>
+<li><a href="#h2-AUTHOR">AUTHOR</a></li>
+</ul>
+</div>
</BODY>
</HTML>
diff --git a/doc/html/man/scr_dump.5.html b/doc/html/man/scr_dump.5.html
new file mode 100644
index 000000000000..55b0e85349e1
--- /dev/null
+++ b/doc/html/man/scr_dump.5.html
@@ -0,0 +1,435 @@
+<!--
+ ****************************************************************************
+ * Copyright (c) 2017,2018 Free Software Foundation, Inc. *
+ * *
+ * Permission is hereby granted, free of charge, to any person obtaining a *
+ * copy of this software and associated documentation files (the *
+ * "Software"), to deal in the Software without restriction, including *
+ * without limitation the rights to use, copy, modify, merge, publish, *
+ * distribute, distribute with modifications, sublicense, and/or sell *
+ * copies of the Software, and to permit persons to whom the Software is *
+ * furnished to do so, subject to the following conditions: *
+ * *
+ * The above copyright notice and this permission notice shall be included *
+ * in all copies or substantial portions of the Software. *
+ * *
+ * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS *
+ * OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF *
+ * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. *
+ * IN NO EVENT SHALL THE ABOVE COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, *
+ * DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR *
+ * OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR *
+ * THE USE OR OTHER DEALINGS IN THE SOFTWARE. *
+ * *
+ * Except as contained in this notice, the name(s) of the above copyright *
+ * holders shall not be used in advertising or otherwise to promote the *
+ * sale, use or other dealings in this Software without prior written *
+ * authorization. *
+ ****************************************************************************
+ * @Id: scr_dump.5,v 1.15 2018/07/28 21:46: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>scr_dump 5</TITLE>
+<link rel="author" href="mailto:bug-ncurses@gnu.org">
+<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
+</HEAD>
+<BODY>
+<H1 class="no-header">scr_dump 5</H1>
+<PRE>
+<STRONG><A HREF="scr_dump.5.html">scr_dump(5)</A></STRONG> File Formats Manual <STRONG><A HREF="scr_dump.5.html">scr_dump(5)</A></STRONG>
+
+
+
+
+</PRE><H2><a name="h2-NAME">NAME</a></H2><PRE>
+ scr_dump - format of curses screen-dumps.
+
+
+</PRE><H2><a name="h2-SYNOPSIS">SYNOPSIS</a></H2><PRE>
+ <STRONG>scr_dump</STRONG>
+
+
+</PRE><H2><a name="h2-DESCRIPTION">DESCRIPTION</a></H2><PRE>
+ The curses library provides applications with the ability to write the
+ contents of a window to an external file using <STRONG>scr_dump</STRONG> or <STRONG>putwin</STRONG>, and
+ read it back using <STRONG>scr_restore</STRONG> or <STRONG>getwin</STRONG>.
+
+ The <STRONG>putwin</STRONG> and <STRONG>getwin</STRONG> functions do the work; while <STRONG>scr_dump</STRONG> and
+ <STRONG>scr_restore</STRONG> conveniently save and restore the whole screen, i.e., <STRONG>std-</STRONG>
+ <STRONG>scr</STRONG>.
+
+
+</PRE><H3><a name="h3-ncurses6">ncurses6</a></H3><PRE>
+ A longstanding implementation of screen-dump was revised with ncurses6
+ to remedy problems with the earlier approach:
+
+ <STRONG>o</STRONG> A "magic number" is written to the beginning of the dump file,
+ allowing applications (such as <STRONG>file(1)</STRONG>) to recognize curses dump
+ files.
+
+ Because ncurses6 uses a new format, that requires a new magic num-
+ ber was unused by other applications. This 16-bit number was
+ unused:
+
+ 0x8888 (octal "\210\210")
+
+ but to be more certain, this 32-bit number was chosen:
+
+ 0x88888888 (octal "\210\210\210\210")
+
+ This is the pattern submitted to the maintainers of the <STRONG>file</STRONG> pro-
+ gram:
+
+ #
+ # ncurses5 (and before) did not use a magic number,
+ # making screen dumps "data".
+ #
+ # ncurses6 (2015) uses this format, ignoring byte-order
+ 0 string \210\210\210\210ncurses ncurses6 screen image
+ #
+
+ <STRONG>o</STRONG> The screen dumps are written in textual form, so that internal data
+ sizes are not directly related to the dump-format, and enabling the
+ library to read dumps from either narrow- or wide-character- con-
+ figurations.
+
+ The <EM>narrow</EM> library configuration holds characters and video
+ attributes in a 32-bit <STRONG>chtype</STRONG>, while the <EM>wide-character</EM> library
+ stores this information in the <STRONG>cchar_t</STRONG> structure, which is much
+ larger than 32-bits.
+
+ <STRONG>o</STRONG> It is possible to read a screen dump into a terminal with a differ-
+ ent screen-size, because the library truncates or fills the screen
+ as necessary.
+
+ <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>
+ The screen-dump feature was added to ncurses 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 <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> 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
+ was read back into memory.
+
+ This is similar to Unix SystemV, but does not write a "magic number" to
+ identify the file format.
+
+
+</PRE><H2><a name="h2-PORTABILITY">PORTABILITY</a></H2><PRE>
+ There is no standard format for <STRONG>putwin</STRONG>. This section gives a brief
+ description of the existing formats.
+
+
+</PRE><H3><a name="h3-X_Open-Curses">X/Open Curses</a></H3><PRE>
+ Refer to <EM>X/Open</EM> <EM>Curses,</EM> <EM>Issue</EM> <EM>7</EM> (2009).
+
+ X/Open's documentation for <EM>enhanced</EM> <EM>curses</EM> says only:
+
+ The <EM>getwin(</EM> <EM>)</EM> function reads window-related data stored in the file
+ by <EM>putwin(</EM> <EM>)</EM>. The function then creates and initializes a new win-
+ dow using that data.
+
+ The <EM>putwin(</EM> <EM>)</EM> function writes all data associated with <EM>win</EM> into the
+ <EM>stdio</EM> stream to which <EM>filep</EM> points, using an <STRONG>unspecified</STRONG> <STRONG>format</STRONG>.
+ This information can be retrieved later using <EM>getwin(</EM> <EM>)</EM>.
+
+ In the mid-1990s when the X/Open Curses document was written, there
+ were still systems using older, less capable curses libraries (aside
+ from the BSD curses library which was not relevant to X/Open because it
+ did not meet the criteria for <EM>base</EM> <EM>curses</EM>). The document explained the
+ term "enhanced" as follows:
+
+ <STRONG>o</STRONG> Shading is used to identify <EM>X/Open</EM> <EM>Enhanced</EM> <EM>Curses</EM> material,
+ relating to interfaces included to provide enhanced capabilities
+ for applications originally written to be compiled on systems
+ based on the UNIX operating system. Therefore, the features
+ described may not be present on systems that conform to <STRONG>XPG4</STRONG> <STRONG>or</STRONG>
+ <STRONG>to</STRONG> <STRONG>earlier</STRONG> <STRONG>XPG</STRONG> <STRONG>releases</STRONG>. The relevant reference pages may pro-
+ vide additional or more specific portability warnings about use
+ of the material.
+
+ In the foregoing, emphasis was added to <STRONG>unspecified</STRONG> <STRONG>format</STRONG> and to <STRONG>XPG4</STRONG>
+ <STRONG>or</STRONG> <STRONG>to</STRONG> <STRONG>earlier</STRONG> <STRONG>XPG</STRONG> <STRONG>releases</STRONG>, for clarity.
+
+
+</PRE><H3><a name="h3-Unix-SystemV">Unix SystemV</a></H3><PRE>
+ Unix SystemV curses identified the file format by writing a "magic num-
+ ber" at the beginning of the dump. The <STRONG>WINDOW</STRONG> data and the lines of
+ text follow, all in binary form.
+
+ The Solaris curses source has these definitions:
+
+ /* terminfo magic number */
+ #define MAGNUM 0432
+
+ /* curses screen dump magic number */
+ #define SVR2_DUMP_MAGIC_NUMBER 0433
+ #define SVR3_DUMP_MAGIC_NUMBER 0434
+
+ That is, the feature was likely introduced in SVr2 (1984), and improved
+ in SVr3 (1987). The Solaris curses source has no magic number for SVr4
+ (1989). Other operating systems (AIX and HPUX) use a magic number
+ which would correspond to this definition:
+
+ /* curses screen dump magic number */
+ #define SVR4_DUMP_MAGIC_NUMBER 0435
+
+ That octal number in bytes is 001, 035. Because most Unix vendors use
+ big-endian hardware, the magic number is written with the high-order
+ byte first, e.g.,
+
+ 01 35
+
+ After the magic number, the <STRONG>WINDOW</STRONG> 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.
+
+ The Unix systems do not use identical formats. While collecting infor-
+ mation for for this manual page, the <EM>savescreen</EM> test-program produced
+ dumps of different size (all on 64-bit hardware, on 40x80 screens):
+
+ <STRONG>o</STRONG> AIX (51817 bytes)
+
+ <STRONG>o</STRONG> HPUX (90093 bytes)
+
+ <STRONG>o</STRONG> Solaris 10 (13273 bytes)
+
+ <STRONG>o</STRONG> ncurses5 (12888 bytes)
+
+
+</PRE><H3><a name="h3-Solaris">Solaris</a></H3><PRE>
+ As noted above, Solaris curses has no magic number corresponding to
+ SVr4 curses. This is odd since Solaris was the first operating system
+ to pass the SVr4 guidelines. Solaris has two versions of curses:
+
+ <STRONG>o</STRONG> The default curses library uses the SVr3 magic number.
+
+ <STRONG>o</STRONG> There is an alternate curses library in <STRONG>/usr/xpg4</STRONG>. This uses a
+ textual format with no magic number.
+
+ According to the copyright notice, the <EM>xpg4</EM> Solaris curses library
+ was developed by MKS (Mortice Kern Systems) from 1990 to 1995.
+
+ Like ncurses6, there is a file-header with parameters. Unlike
+ ncurses6, the contents of the window are written piecemeal, with
+ coordinates and attributes for each chunk of text rather than writ-
+ ing the whole window from top to bottom.
+
+
+</PRE><H3><a name="h3-PDCurses">PDCurses</a></H3><PRE>
+ PDCurses added support for screen dumps in version 2.7 (2005). Like
+ Unix SystemV and ncurses5, it writes the <STRONG>WINDOW</STRONG> structure in binary,
+ but begins the file with its three-byte identifier "PDC", followed by a
+ one-byte version, e.g.,
+
+ "PDC\001"
+
+
+</PRE><H3><a name="h3-NetBSD">NetBSD</a></H3><PRE>
+ As of April 2017, NetBSD curses does not support <STRONG>scr_dump</STRONG> and
+ <STRONG>scr_restore</STRONG> (or <STRONG>scr_init</STRONG>, <STRONG>scr_set</STRONG>), although it has <STRONG>putwin</STRONG> and <STRONG>getwin</STRONG>.
+
+ Like ncurses5, NetBSD <STRONG>putwin</STRONG> does not identify its dumps with a useful
+ magic number. It writes
+
+ <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> some data for wide-characters referenced by the <STRONG>WINDOW</STRONG> structure,
+ and
+
+ <STRONG>o</STRONG> finally, lines as done by other implementations.
+
+
+</PRE><H2><a name="h2-EXAMPLE">EXAMPLE</a></H2><PRE>
+ Given a simple program which writes text to the screen (and for the
+ sake of example, limiting the screen-size to 10x20):
+
+ #include &lt;curses.h&gt;
+
+ int
+ main(void)
+ {
+ putenv("LINES=10");
+ putenv("COLUMNS=20");
+ initscr();
+ start_color();
+ init_pair(1, COLOR_WHITE, COLOR_BLUE);
+ init_pair(2, COLOR_RED, COLOR_BLACK);
+ bkgd(<STRONG>COLOR_PAIR(1)</STRONG>);
+ move(4, 5);
+ attron(A_BOLD);
+ addstr("Hello");
+ move(5, 5);
+ attroff(A_BOLD);
+ attrset(A_REVERSE | <STRONG>COLOR_PAIR(2)</STRONG>);
+ addstr("World!");
+ refresh();
+ scr_dump("foo.out");
+ endwin();
+ return 0;
+ }
+
+ When run using ncurses6, the output looks like this:
+
+ \210\210\210\210ncurses 6.0.20170415
+ _cury=5
+ _curx=11
+ _maxy=9
+ _maxx=19
+ _flags=14
+ _attrs=\{REVERSE|C2}
+ flag=_idcok
+ _delay=-1
+ _regbottom=9
+ _bkgrnd=\{NORMAL|C1}\s
+ rows:
+ 1:\{NORMAL|C1}\s\s\s\s\s\s\s\s\s\s\s\s\s\s\s\s\s\s\s\s
+ 2:\s\s\s\s\s\s\s\s\s\s\s\s\s\s\s\s\s\s\s\s
+ 3:\s\s\s\s\s\s\s\s\s\s\s\s\s\s\s\s\s\s\s\s
+ 4:\s\s\s\s\s\s\s\s\s\s\s\s\s\s\s\s\s\s\s\s
+ 5:\s\s\s\s\s\{BOLD}Hello\{NORMAL}\s\s\s\s\s\s\s\s\s\s
+ 6:\s\s\s\s\s\{REVERSE|C2}World!\{NORMAL|C1}\s\s\s\s\s\s\s\s\s
+ 7:\s\s\s\s\s\s\s\s\s\s\s\s\s\s\s\s\s\s\s\s
+ 8:\s\s\s\s\s\s\s\s\s\s\s\s\s\s\s\s\s\s\s\s
+ 9:\s\s\s\s\s\s\s\s\s\s\s\s\s\s\s\s\s\s\s\s
+ 10:\s\s\s\s\s\s\s\s\s\s\s\s\s\s\s\s\s\s\s\s
+
+ The first four octal escapes are actually nonprinting characters, while
+ the remainder of the file is printable text. You may notice:
+
+ <STRONG>o</STRONG> The actual color pair values are not written to the file.
+
+ <STRONG>o</STRONG> All characters are shown in printable form; spaces are "\s" to
+ ensure they are not overlooked.
+
+ <STRONG>o</STRONG> Attributes are written in escaped curly braces, e.g., "\{BOLD}",
+ and may include a color-pair (C1 or C2 in this example).
+
+ <STRONG>o</STRONG> The parameters in the header are written out only if they are
+ nonzero. When reading back, order does not matter.
+
+ Running the same program with Solaris <EM>xpg4</EM> curses gives this dump:
+
+ MAX=10,20
+ BEG=0,0
+ SCROLL=0,10
+ VMIN=1
+ VTIME=0
+ FLAGS=0x1000
+ FG=0,0
+ BG=0,0,
+ 0,0,0,1,
+ 0,19,0,0,
+ 1,0,0,1,
+ 1,19,0,0,
+ 2,0,0,1,
+ 2,19,0,0,
+ 3,0,0,1,
+ 3,19,0,0,
+ 4,0,0,1,
+ 4,5,0x20,0,Hello
+ 4,10,0,1,
+ 4,19,0,0,
+ 5,0,0,1,
+ 5,5,0x4,2,World!
+ 5,11,0,1,
+ 5,19,0,0,
+ 6,0,0,1,
+ 6,19,0,0,
+ 7,0,0,1,
+ 7,19,0,0,
+ 8,0,0,1,
+ 8,19,0,0,
+ 9,0,0,1,
+ 9,19,0,0,
+ CUR=11,5
+
+ Solaris <STRONG>getwin</STRONG> requires that all parameters are present, and in the
+ same order. The <EM>xpg4</EM> curses library does not know about the <STRONG>bce</STRONG> (back
+ color erase) capability, and does not color the window background.
+
+ On the other hand, the SVr4 curses library does know about the back-
+ ground color. However, its screen dumps are in binary. Here is the
+ corresponding dump (using "od -t x1"):
+
+ 0000000 1c 01 c3 d6 f3 58 05 00 0b 00 0a 00 14 00 00 00
+ 0000020 00 00 02 00 00 00 00 00 00 00 00 00 00 00 00 00
+ 0000040 00 00 b8 1a 06 08 cc 1a 06 08 00 00 09 00 10 00
+ 0000060 00 00 00 80 00 00 20 00 00 00 ff ff ff ff 00 00
+ 0000100 ff ff ff ff 00 00 00 00 20 80 00 00 20 80 00 00
+ 0000120 20 80 00 00 20 80 00 00 20 80 00 00 20 80 00 00
+ *
+ 0000620 20 80 00 00 20 80 00 00 20 80 00 00 48 80 00 04
+ 0000640 65 80 00 04 6c 80 00 04 6c 80 00 04 6f 80 00 04
+ 0000660 20 80 00 00 20 80 00 00 20 80 00 00 20 80 00 00
+ *
+ 0000740 20 80 00 00 20 80 00 00 20 80 00 00 57 00 81 00
+ 0000760 6f 00 81 00 72 00 81 00 6c 00 81 00 64 00 81 00
+ 0001000 21 00 81 00 20 80 00 00 20 80 00 00 20 80 00 00
+ 0001020 20 80 00 00 20 80 00 00 20 80 00 00 20 80 00 00
+ *
+ 0001540 20 80 00 00 20 80 00 00 00 00 f6 d1 01 00 f6 d1
+ 0001560 08 00 00 00 40 00 00 00 00 00 00 00 00 00 00 07
+ 0001600 00 04 00 01 00 01 00 00 00 01 00 00 00 00 00 00
+ 0001620 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
+ *
+ 0002371
+
+
+</PRE><H2><a name="h2-SEE-ALSO">SEE ALSO</a></H2><PRE>
+ <STRONG><A HREF="curs_scr_dump.3x.html">curs_scr_dump(3x)</A></STRONG>, <STRONG><A HREF="curs_util.3x.html">curs_util(3x)</A></STRONG>.
+
+
+</PRE><H2><a name="h2-AUTHORS">AUTHORS</a></H2><PRE>
+ Thomas E. Dickey
+ extended screen-dump format for ncurses 6.0 (2015)
+
+ Eric S. Raymond
+ screen dump feature in ncurses 1.9.2d (1995)
+
+
+
+ <STRONG><A HREF="scr_dump.5.html">scr_dump(5)</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>
+<ul>
+<li><a href="#h3-ncurses6">ncurses6</a></li>
+<li><a href="#h3-ncurses5-_legacy_">ncurses5 (legacy)</a></li>
+</ul>
+</li>
+<li><a href="#h2-PORTABILITY">PORTABILITY</a>
+<ul>
+<li><a href="#h3-X_Open-Curses">X/Open Curses</a></li>
+<li><a href="#h3-Unix-SystemV">Unix SystemV</a></li>
+<li><a href="#h3-Solaris">Solaris</a></li>
+<li><a href="#h3-PDCurses">PDCurses</a></li>
+<li><a href="#h3-NetBSD">NetBSD</a></li>
+</ul>
+</li>
+<li><a href="#h2-EXAMPLE">EXAMPLE</a></li>
+<li><a href="#h2-SEE-ALSO">SEE ALSO</a></li>
+<li><a href="#h2-AUTHORS">AUTHORS</a></li>
+</ul>
+</div>
+</BODY>
+</HTML>
diff --git a/doc/html/man/tabs.1.html b/doc/html/man/tabs.1.html
index 030d59d98adc..14b555ee4d81 100644
--- a/doc/html/man/tabs.1.html
+++ b/doc/html/man/tabs.1.html
@@ -1,7 +1,6 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN">
<!--
****************************************************************************
- * Copyright (c) 2008-2011,2013 Free Software Foundation, Inc. *
+ * Copyright (c) 2008-2018,2019 Free Software Foundation, Inc. *
* *
* Permission is hereby granted, free of charge, to any person obtaining a *
* copy of this software and associated documentation files (the *
@@ -27,97 +26,111 @@
* sale, use or other dealings in this Software without prior written *
* authorization. *
****************************************************************************
- * @Id: tabs.1,v 1.11 2013/06/22 18:11:57 tom Exp @
+ * @Id: tabs.1,v 1.26 2019/06/23 21:01:12 tom Exp @
-->
+<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN">
<HTML>
<HEAD>
+<meta http-equiv="Content-Type" content="text/html; charset=us-ascii">
+<meta name="generator" content="Manpage converted by man2html - see https://invisible-island.net/scripts/readme.html#others_scripts">
<TITLE>tabs 1</TITLE>
-<link rev=made href="mailto:bug-ncurses@gnu.org">
+<link rel="author" href="mailto:bug-ncurses@gnu.org">
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
</HEAD>
<BODY>
-<H1>tabs 1</H1>
-<HR>
+<H1 class="no-header">tabs 1</H1>
<PRE>
-<!-- Manpage converted by man2html 3.0.1 -->
-<STRONG><A HREF="tabs.1.html">tabs(1)</A></STRONG> <STRONG><A HREF="tabs.1.html">tabs(1)</A></STRONG>
+<STRONG><A HREF="tabs.1.html">tabs(1)</A></STRONG> General Commands Manual <STRONG><A HREF="tabs.1.html">tabs(1)</A></STRONG>
-</PRE>
-<H2>NAME</H2><PRE>
+</PRE><H2><a name="h2-NAME">NAME</a></H2><PRE>
<STRONG>tabs</STRONG> - set tabs on a terminal
-</PRE>
-<H2>SYNOPSIS</H2><PRE>
+</PRE><H2><a name="h2-SYNOPSIS">SYNOPSIS</a></H2><PRE>
<STRONG>tabs</STRONG> [<EM>options</EM>]] <EM>[tabstop-list]</EM>
-</PRE>
-<H2>DESCRIPTION</H2><PRE>
- The <STRONG>tabs</STRONG> program clears and sets tab-stops on the termi-
- nal. This uses the terminfo <EM>clear</EM><STRONG>_</STRONG><EM>all</EM><STRONG>_</STRONG><EM>tabs</EM> and <EM>set</EM><STRONG>_</STRONG><EM>tab</EM>
- capabilities. If either is absent, <STRONG>tabs</STRONG> is unable to
- clear/set tab-stops. The terminal should be configured to
- use hard tabs, e.g.,
+</PRE><H2><a name="h2-DESCRIPTION">DESCRIPTION</a></H2><PRE>
+ The <STRONG>tabs</STRONG> program clears and sets tab-stops on the terminal. This uses
+ the terminfo <EM>clear</EM><STRONG>_</STRONG><EM>all</EM><STRONG>_</STRONG><EM>tabs</EM> and <EM>set</EM><STRONG>_</STRONG><EM>tab</EM> capabilities. If either is
+ absent, <STRONG>tabs</STRONG> is unable to clear/set tab-stops. The terminal should be
+ configured to use hard tabs, e.g.,
- stty tab0
+ stty tab0
+ Like <STRONG><A HREF="clear.1.html">clear(1)</A></STRONG>, <STRONG>tabs</STRONG> writes to the standard output. You can redirect
+ the standard output to a file (which prevents <STRONG>tabs</STRONG> from actually chang-
+ ing the tabstops), and later <STRONG>cat</STRONG> the file to the screen, setting tab-
+ stops at that point.
-</PRE>
-<H2>OPTIONS</H2><PRE>
- <STRONG>General</STRONG> <STRONG>Options</STRONG>
+ These are hardware tabs, which cannot be queried rapidly by applica-
+ tions running in the terminal, if at all. Curses and other full-screen
+ applications may use hardware tabs in optimizing their output to the
+ terminal. If the hardware tabstops differ from the information in the
+ terminal database, the result is unpredictable. Before running curses
+ programs, you should either reset tab-stops to the standard interval
+
+ tabs -8
+
+ or use the <STRONG>reset</STRONG> program, since the normal initialization sequences do
+ not ensure that tab-stops are reset.
+
+
+</PRE><H2><a name="h2-OPTIONS">OPTIONS</a></H2><PRE>
+
+</PRE><H3><a name="h3-General-Options">General Options</a></H3><PRE>
<STRONG>-T</STRONG><EM>name</EM>
- Tell <STRONG>tabs</STRONG> which terminal type to use. If this option
- is not given, <STRONG>tabs</STRONG> will use the <STRONG>$TERM</STRONG> environment
- variable. If that is not set, it will use the
- <EM>ansi+tabs</EM> entry.
-
- <STRONG>-d</STRONG> The debugging option shows a ruler line, followed by
- two data lines. The first data line shows the
- expected tab-stops marked with asterisks. The second
- data line shows the actual tab-stops, marked with
- asterisks.
-
- <STRONG>-n</STRONG> This option tells <STRONG>tabs</STRONG> to check the options and run
- any debugging option, but not to modify the terminal
- settings.
-
- <STRONG>-V</STRONG> reports the version of ncurses which was used in this
- program, and exits.
-
- The <STRONG>tabs</STRONG> 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.
-
- <STRONG>Implicit</STRONG> <STRONG>Lists</STRONG>
- Use a single number as an option, e.g., "<STRONG>-5</STRONG>" to set tabs
- at the given interval (in this case 1, 6, 11, 16, 21,
- etc.). Tabs are repeated up to the right margin of the
- screen.
+ Tell <STRONG>tabs</STRONG> which terminal type to use. If this option is not
+ given, <STRONG>tabs</STRONG> will use the <STRONG>$TERM</STRONG> environment variable. If that is
+ not set, it will use the <EM>ansi+tabs</EM> entry.
+
+ <STRONG>-d</STRONG> The debugging option shows a ruler line, followed by two data
+ lines. The first data line shows the expected tab-stops marked
+ with asterisks. The second data line shows the actual tab-stops,
+ marked with asterisks.
+
+ <STRONG>-n</STRONG> This option tells <STRONG>tabs</STRONG> to check the options and run any debugging
+ option, but not to modify the terminal settings.
+
+ <STRONG>-V</STRONG> reports the version of ncurses which was used in this program, and
+ exits.
+
+ The <STRONG>tabs</STRONG> 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.
+
+
+</PRE><H3><a name="h3-Implicit-Lists">Implicit Lists</a></H3><PRE>
+ Use a single number as an option, e.g., "<STRONG>-5</STRONG>" to set tabs at the given
+ interval (in this case 1, 6, 11, 16, 21, etc.). Tabs are repeated up
+ to the right margin of the screen.
Use "<STRONG>-0</STRONG>" to clear all tabs.
Use "<STRONG>-8</STRONG>" to set tabs to the standard interval.
- <STRONG>Explicit</STRONG> <STRONG>Lists</STRONG>
- 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, and greater than zero. They are
- separated by a comma or a blank, for example,
- tabs 1,6,11,16,21
- tabs 1 6 11 16 21
- Use a '+' to treat a number as an increment relative to
- the previous value, e.g.,
+</PRE><H3><a name="h3-Explicit-Lists">Explicit Lists</a></H3><PRE>
+ 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, and
+ greater than zero. They are separated by a comma or a blank, for exam-
+ ple,
+
+ tabs 1,6,11,16,21
+ tabs 1 6 11 16 21
+
+ Use a "+" to treat a number as an increment relative to the previous
+ value, e.g.,
- tabs 1,+5,+5,+5,+5
+ tabs 1,+5,+5,+5,+5
which is equivalent to the 1,6,11,16,21 example.
- <STRONG>Predefined</STRONG> <STRONG>Tab-Stops</STRONG>
+
+</PRE><H3><a name="h3-Predefined-Tab-Stops">Predefined Tab-Stops</a></H3><PRE>
X/Open defines several predefined lists of tab stops.
<STRONG>-a</STRONG> Assembler, IBM S/370, first format
@@ -139,37 +152,81 @@
<STRONG>-u</STRONG> UNIVAC 1100 Assembler
-</PRE>
-<H2>PORTABILITY</H2><PRE>
- X/Open describes a <STRONG>+m</STRONG> option, to set a terminal's left-
- margin. Very few of the entries in the terminal database
- provide this capability.
+</PRE><H2><a name="h2-PORTABILITY">PORTABILITY</a></H2><PRE>
+ <EM>IEEE</EM> <EM>Std</EM> <EM>1003.1/The</EM> <EM>Open</EM> <EM>Group</EM> <EM>Base</EM> <EM>Specifications</EM> <EM>Issue</EM> <EM>7</EM>
+ (POSIX.1-2008) describes a <STRONG>tabs</STRONG> utility. However
- The <STRONG>-d</STRONG> (debug) and <STRONG>-n</STRONG> (no-op) options are extensions not
- provided by other implementations.
+ <STRONG>o</STRONG> This standard describes a <STRONG>+m</STRONG> option, to set a terminal's left-mar-
+ gin. Very few of the entries in the terminal database provide the
+ <STRONG>smgl</STRONG> (<STRONG>set_left_margin</STRONG>) or <STRONG>smglp</STRONG> (<STRONG>set_left_margin_parm</STRONG>) capability
+ needed to support the feature.
- Documentation for other implementations states that there
- is a limit on the number of tab stops. While some termi-
- nals may not accept an arbitrary number of tab stops, this
- implementation will attempt to set tab stops up to the
- right margin of the screen, if the given list happens to
- be that long.
+ <STRONG>o</STRONG> There is no counterpart in X/Open Curses Issue 7 for this utility,
+ unlike <STRONG>tput(1)</STRONG>.
+ The <STRONG>-d</STRONG> (debug) and <STRONG>-n</STRONG> (no-op) options are extensions not provided by
+ other implementations.
-</PRE>
-<H2>SEE ALSO</H2><PRE>
+ A <STRONG>tabs</STRONG> utility appeared in PWB/Unix 1.0 (1977). There was a reduced
+ version of the <STRONG>tabs</STRONG> utility in Unix 7th edition and in 3BSD (1979).
+ The latter supported a single "-n" option (to cause the first tab stop
+ to be set on the left margin). That option is not documented by POSIX.
+
+ The PWB/Unix <STRONG>tabs</STRONG> utility, which was included in System III (1980),
+ used built-in tables rather than the terminal database, to support a
+ half-dozen terminal types. It also had built-in logic to support the
+ left-margin, as well as a feature for copying the tab settings from a
+ file.
+
+ Later versions of Unix, e.g., SVr4, added support for the terminal
+ database, but kept the tables, as a fallback. In an earlier develop-
+ ment effort, the tab-stop initialization provided by <STRONG>tset</STRONG> (1982) and
+ incorporated into <STRONG>tput</STRONG> uses the terminal database,
+
+ POSIX documents no limits on the number of tab stops. Documentation
+ for other implementations states that there is a limit on the number of
+ tab stops (e.g., 20 in PWB/Unix's <STRONG>tabs</STRONG> utility). While some terminals
+ may not accept an arbitrary number of tab stops, this implementation
+ will attempt to set tab stops up to the right margin of the screen, if
+ the given list happens to be that long.
+
+ The <EM>Rationale</EM> section of the POSIX documentation goes into some detail
+ about the ways the committee considered redesigning the <STRONG>tabs</STRONG> and <STRONG>tput</STRONG>
+ utilities, without proposing an improved solution. It comments that
+
+ no known historical version of tabs supports the capability of
+ setting arbitrary tab stops.
+
+ However, the <EM>Explicit</EM> <EM>Lists</EM> described in this manual page were imple-
+ mented in PWB/Unix. Those provide the capability of setting abitrary
+ tab stops.
+
+
+</PRE><H2><a name="h2-SEE-ALSO">SEE ALSO</a></H2><PRE>
<STRONG><A HREF="tset.1.html">tset(1)</A></STRONG>, <STRONG><A HREF="infocmp.1m.html">infocmp(1m)</A></STRONG>, <STRONG><A HREF="ncurses.3x.html">curses(3x)</A></STRONG>, <STRONG><A HREF="terminfo.5.html">terminfo(5)</A></STRONG>.
- This describes <STRONG>ncurses</STRONG> version 5.9 (patch 20131221).
+ This describes <STRONG>ncurses</STRONG> version 6.1 (patch 20200118).
- <STRONG><A HREF="tabs.1.html">tabs(1)</A></STRONG>
+ <STRONG><A HREF="tabs.1.html">tabs(1)</A></STRONG>
</PRE>
-<HR>
-<ADDRESS>
-Man(1) output converted with
-<a href="http://www.oac.uci.edu/indiv/ehood/man2html.html">man2html</a>
-</ADDRESS>
+<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>
+<li><a href="#h2-OPTIONS">OPTIONS</a>
+<ul>
+<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>
+</ul>
+</li>
+<li><a href="#h2-PORTABILITY">PORTABILITY</a></li>
+<li><a href="#h2-SEE-ALSO">SEE ALSO</a></li>
+</ul>
+</div>
</BODY>
</HTML>
diff --git a/doc/html/man/term.5.html b/doc/html/man/term.5.html
index 26d608bb8215..5fab776ded8c 100644
--- a/doc/html/man/term.5.html
+++ b/doc/html/man/term.5.html
@@ -1,7 +1,6 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN">
<!--
****************************************************************************
- * Copyright (c) 1998-2006,2010 Free Software Foundation, Inc. *
+ * Copyright (c) 1998-2018,2019 Free Software Foundation, Inc. *
* *
* Permission is hereby granted, free of charge, to any person obtaining a *
* copy of this software and associated documentation files (the *
@@ -27,82 +26,76 @@
* sale, use or other dealings in this Software without prior written *
* authorization. *
****************************************************************************
- * @Id: term.5,v 1.21 2010/12/04 18:40:45 tom Exp @
+ * @Id: term.5,v 1.32 2019/01/12 23:11: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>term 5</TITLE>
-<link rev=made href="mailto:bug-ncurses@gnu.org">
+<link rel="author" href="mailto:bug-ncurses@gnu.org">
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
</HEAD>
<BODY>
-<H1>term 5</H1>
-<HR>
+<H1 class="no-header">term 5</H1>
<PRE>
-<!-- Manpage converted by man2html 3.0.1 -->
-<STRONG><A HREF="term.5.html">term(5)</A></STRONG> <STRONG><A HREF="term.5.html">term(5)</A></STRONG>
+<STRONG><A HREF="term.5.html">term(5)</A></STRONG> File Formats Manual <STRONG><A HREF="term.5.html">term(5)</A></STRONG>
-</PRE>
-<H2>NAME</H2><PRE>
+</PRE><H2><a name="h2-NAME">NAME</a></H2><PRE>
term - format of compiled term file.
-</PRE>
-<H2>SYNOPSIS</H2><PRE>
+</PRE><H2><a name="h2-SYNOPSIS">SYNOPSIS</a></H2><PRE>
<STRONG>term</STRONG>
-</PRE>
-<H2>DESCRIPTION</H2><PRE>
- <STRONG>STORAGE</STRONG> <STRONG>LOCATION</STRONG>
- Compiled terminfo descriptions are placed under the direc-
- tory <STRONG>/usr/share/terminfo</STRONG>. Two configurations are sup-
- ported (when building the ncurses libraries):
+</PRE><H2><a name="h2-DESCRIPTION">DESCRIPTION</a></H2><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 <STRONG>ncurses</STRONG> libraries):
<STRONG>directory</STRONG> <STRONG>tree</STRONG>
- A two-level scheme is used to avoid a linear search
- of a huge UNIX system directory: <STRONG>/usr/share/ter-</STRONG>
- <STRONG>minfo/c/name</STRONG> where <EM>name</EM> is the name of the terminal,
- and <EM>c</EM> is the first character of <EM>name</EM>. Thus, <EM>act4</EM> can
- be found in the file <STRONG>/usr/share/terminfo/a/act4</STRONG>.
- Synonyms for the same terminal are implemented by
- multiple links to the same compiled file.
+ A two-level scheme is used to avoid a linear search of a huge UNIX
+ system directory: <STRONG>/usr/share/terminfo/c/name</STRONG> where <EM>name</EM> is the
+ name of the terminal, and <EM>c</EM> is the first character of <EM>name</EM>. Thus,
+ <EM>act4</EM> can be found in the file <STRONG>/usr/share/terminfo/a/act4</STRONG>. Syn-
+ onyms for the same terminal are implemented by multiple links to
+ the same compiled file.
<STRONG>hashed</STRONG> <STRONG>database</STRONG>
- Using Berkeley database, two types of records are
- stored: the terminfo data in the same format as
- stored in a directory tree with the terminfo's pri-
- mary name as a key, and records containing only
+ Using Berkeley database, two types of records are stored: the ter-
+ minfo data in the same format as stored in a directory tree with
+ the terminfo's primary name as a key, and records containing only
aliases pointing to the primary name.
- If built to write hashed databases, ncurses can still
- read terminfo databases organized as a directory
- tree, but cannot write entries into the directory
- tree. It can write (or rewrite) entries in the
- hashed database.
+ If built to write hashed databases, <STRONG>ncurses</STRONG> can still read ter-
+ minfo databases organized as a directory tree, but cannot write
+ entries into the directory tree. It can write (or rewrite)
+ entries in the hashed database.
+
+ <STRONG>ncurses</STRONG> distinguishes the two cases in the TERMINFO and TER-
+ MINFO_DIRS environment variable by assuming a directory tree for
+ entries that correspond to an existing directory, and hashed data-
+ base otherwise.
- ncurses distinguishes the two cases in the TERMINFO
- and TERMINFO_DIRS environment variable by assuming a
- directory tree for entries that correspond to an
- existing directory, and hashed database otherwise.
- <STRONG>STORAGE</STRONG> <STRONG>FORMAT</STRONG>
- 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.
+</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 order-
+ ing or sign extension are made.
- The compiled file is created with the <STRONG>tic</STRONG> program, and
- read by the routine <EM>setupterm</EM>. The file is divided into
- six parts: the header, terminal names, boolean flags, num-
- bers, strings, and string table.
+ The compiled file is created with the <STRONG>tic</STRONG> program, and read by the rou-
+ tine <STRONG><A HREF="curs_terminfo.3x.html">setupterm(3x)</A></STRONG>. The file is divided into six parts: the header,
+ terminal names, boolean flags, numbers, strings, and string table.
- The header section begins the file. This section contains
- six short integers in the format described below. These
- integers are
+ The header section begins the file. This section contains six short
+ integers in the format described below. These integers are
(1) the magic number (octal 0432);
@@ -110,78 +103,69 @@
(3) the number of bytes in the boolean section;
- (4) the number of short integers in the numbers sec-
- tion;
+ (4) the number of short integers in the numbers section;
- (5) the number of offsets (short integers) in the
- strings section;
+ (5) the number of offsets (short integers) in the strings section;
(6) the size, in bytes, of the string table.
- Short integers are stored in two 8-bit bytes. The first
- byte contains the least significant 8 bits of the value,
- and the second byte contains the most significant 8 bits.
- (Thus, the value represented is 256*second+first.) The
- value -1 is represented by the two bytes 0377, 0377; other
- negative values are illegal. This value generally means
- that the corresponding capability is missing from this
- terminal. Note that this format corresponds to the hard-
- ware of the VAX and PDP-11 (that is, little-endian
- machines). Machines where this does not correspond to the
- hardware must read the integers as two bytes and compute
- the little-endian value.
-
- The terminal names section comes next. It contains the
- first line of the terminfo description, listing the vari-
- ous names for the terminal, separated by the `|' charac-
- ter. The section is terminated with an ASCII NUL charac-
- ter.
-
- The boolean flags have one byte for each flag. This byte
- is either 0 or 1 as the flag is present or absent. The
- capabilities are in the same order as the file &lt;term.h&gt;.
-
- Between the boolean section and the number section, a null
- byte will be inserted, if necessary, to ensure that the
- number section begins on an even byte (this is a relic of
- the PDP-11's word-addressed architecture, originally
- designed in to avoid IOT traps induced by addressing a
- word on an odd byte boundary). All short integers are
- aligned on a short word boundary.
-
- The numbers section is similar to the flags section. Each
- capability takes up two bytes, and is stored as a little-
- endian short integer. If the value represented is -1, the
- capability is taken to be missing.
-
- The strings section is also similar. Each capability is
- stored as a short integer, in the format above. A value
- of -1 means the capability is missing. Otherwise, the
- value is taken as an offset from the beginning of the
- string table. Special characters in ^X or \c notation are
- stored in their interpreted form, not the printing repre-
- sentation. Padding information $&lt;nn&gt; and parameter infor-
- mation %x are stored intact in uninterpreted form.
-
- The final section is the string table. It contains all
- the values of string capabilities referenced in the string
- section. Each string is null terminated.
-
- <STRONG>EXTENDED</STRONG> <STRONG>STORAGE</STRONG> <STRONG>FORMAT</STRONG>
- 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 predefined set of
- boolean, number or string capabilities.
-
- The ncurses libraries and applications support extended
- terminfo binary format, allowing users to define capabili-
- ties which are loaded at runtime. This extension is made
- possible by using the fact that the other implementations
- stop reading the terminfo data when they have reached the
- end of the size given in the header. ncurses checks the
- size, and if it exceeds that due to the predefined data,
- continues to parse according to its own scheme.
+ Short integers are stored in two 8-bit bytes. The first byte contains
+ the least significant 8 bits of the value, and the second byte contains
+ the most significant 8 bits. (Thus, the value represented is 256*sec-
+ ond+first.) The value -1 is represented by the two bytes 0377, 0377;
+ other negative values are illegal. This value generally means that the
+ corresponding capability is missing from this terminal. Note that this
+ format corresponds to the hardware of the VAX and PDP-11 (that is, lit-
+ tle-endian machines). Machines where this does not correspond to the
+ hardware must read the integers as two bytes and compute the little-
+ endian value.
+
+ The terminal names section comes next. It contains the first line of
+ the terminfo description, listing the various names for the terminal,
+ separated by the "|" character. The section is terminated with an
+ ASCII NUL character.
+
+ The boolean flags have one byte for each flag. This byte is either 0
+ or 1 as the flag is present or absent. The capabilities are in the
+ same order as the file &lt;term.h&gt;.
+
+ Between the boolean section and the number section, a null byte will be
+ inserted, if necessary, to ensure that the number section begins on an
+ even byte (this is a relic of the PDP-11's word-addressed architecture,
+ originally designed in to avoid IOT traps induced by addressing a word
+ on an odd byte boundary). All short integers are aligned on a short
+ word boundary.
+
+ The numbers section is similar to the flags section. Each capability
+ takes up two bytes, and is stored as a little-endian short integer. If
+ the value represented is -1, the capability is taken to be missing.
+
+ The strings section is also similar. Each capability is stored as a
+ short integer, in the format above. A value of -1 means the capability
+ is missing. Otherwise, the value is taken as an offset from the begin-
+ ning of the string table. Special characters in ^X or \c notation are
+ stored in their interpreted form, not the printing representation.
+ Padding information $&lt;nn&gt; and parameter information %x are stored
+ intact in uninterpreted form.
+
+ The final section is the string table. It contains all the values of
+ string capabilities referenced in the string section. Each string is
+ null terminated.
+
+
+</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
+ predefined set of boolean, number or string capabilities.
+
+ The <STRONG>ncurses</STRONG> libraries and applications support extended terminfo binary
+ format, allowing users to define capabilities which are loaded at run-
+ time. This extension is made possible by using the fact that the other
+ implementations stop reading the terminfo data when they have reached
+ the end of the size given in the header. <STRONG>ncurses</STRONG> checks the size, and
+ if it exceeds that due to the predefined data, continues to parse
+ according to its own scheme.
First, it reads the extended header (5 short integers):
@@ -191,118 +175,203 @@
(3) count of extended string capabilities
- (4) size of the extended string table in bytes.
+ (4) count of the items in extended string table
- (5) last offset of the extended string table in
- bytes.
+ (5) size of the extended string table in bytes
- Using the counts and sizes, ncurses allocates arrays and
- reads data for the extended capabilties in the same order
- as the header information.
+ The count- and size-values for the extended string table include the
+ extended capability <EM>names</EM> as well as extended capability <EM>values</EM>.
- The extended string table contains values for string capa-
- bilities. After the end of these values, it contains the
- names for each of the extended capabilities in order,
- e.g., booleans, then numbers and finally strings.
+ Using the counts and sizes, <STRONG>ncurses</STRONG> allocates arrays and reads data for
+ the extended capabilities in the same order as the header information.
+ The extended string table contains values for string capabilities.
+ After the end of these values, it contains the names for each of the
+ extended capabilities in order, e.g., booleans, then numbers and
+ finally strings.
-</PRE>
-<H2>PORTABILITY</H2><PRE>
- Note that it is possible for <EM>setupterm</EM> to expect a differ-
- ent set of capabilities than are actually present in the
- file. Either the database may have been updated since
- <EM>setupterm</EM> has been recompiled (resulting in extra unrecog-
- nized entries in the file) or the program may have been
- recompiled more recently than the database was updated
- (resulting in missing entries). The routine <EM>setupterm</EM>
- 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.
-
- Despite the consistent use of little-endian for numbers
- and the otherwise self-describing format, it is not wise
- to count on portability of binary terminfo entries between
- commercial UNIX versions. The problem is that there are
- at least three versions of terminfo (under HP-UX, AIX, and
- OSF/1) which diverged from System V terminfo after SVr1,
- and have added extension capabilities to the string table
- that (in the binary format) collide with System V and XSI
- Curses extensions. See <STRONG><A HREF="terminfo.5.html">terminfo(5)</A></STRONG> for detailed discus-
- sion of terminfo source compatibility issues.
+ Applications which manipulate terminal data can use the definitions
+ described in <STRONG><A HREF="term_variables.3x.html">term_variables(3x)</A></STRONG> which associate the long capability
+ names with members of a <STRONG>TERMTYPE</STRONG> structure.
-</PRE>
-<H2>EXAMPLE</H2><PRE>
- As an example, here is a hex dump of the description for
- the Lear-Siegler ADM-3, a popular though rather stupid
- early terminal:
-
- adm3a|lsi adm3a,
- am,
- cols#80, lines#24,
- bel=^G, clear= 32$&lt;1&gt;, cr=^M, cub1=^H, cud1=^J,
- cuf1=^L, cup=\E=%p1%{32}%+%c%p2%{32}%+%c, cuu1=^K,
- home=^^, ind=^J,
-
- 0000 1a 01 10 00 02 00 03 00 82 00 31 00 61 64 6d 33 ........ ..1.adm3
- 0010 61 7c 6c 73 69 20 61 64 6d 33 61 00 00 01 50 00 a|lsi ad m3a...P.
- 0020 ff ff 18 00 ff ff 00 00 02 00 ff ff ff ff 04 00 ........ ........
- 0030 ff ff ff ff ff ff ff ff 0a 00 25 00 27 00 ff ff ........ ..%.'...
- 0040 29 00 ff ff ff ff 2b 00 ff ff 2d 00 ff ff ff ff ).....+. ..-.....
- 0050 ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ........ ........
- 0060 ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ........ ........
- 0070 ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ........ ........
- 0080 ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ........ ........
- 0090 ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ........ ........
- 00a0 ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ........ ........
- 00b0 ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ........ ........
- 00c0 ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ........ ........
- 00d0 ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ........ ........
- 00e0 ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ........ ........
- 00f0 ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ........ ........
- 0100 ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ........ ........
- 0110 ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ........ ........
- 0120 ff ff ff ff ff ff 2f 00 07 00 0d 00 1a 24 3c 31 ....../. .....$&lt;1
- 0130 3e 00 1b 3d 25 70 31 25 7b 33 32 7d 25 2b 25 63 &gt;..=%p1% {32}%+%c
- 0140 25 70 32 25 7b 33 32 7d 25 2b 25 63 00 0a 00 1e %p2%{32} %+%c....
- 0150 00 08 00 0c 00 0b 00 0a 00 ........ .
+</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 <STRONG>ncurses</STRONG>
+ 6.1, a new format was introduced by making a few changes to the legacy
+ format:
+
+ <STRONG>o</STRONG> a different magic number (octal 01036)
+
+ <STRONG>o</STRONG> changing the type for the <EM>number</EM> array from signed 16-bit integers
+ to signed 32-bit integers.
+
+ To maintain compatibility, the library presents the same data struc-
+ tures to direct users of the <STRONG>TERMTYPE</STRONG> structure as in previous formats.
+ However, that cannot provide callers with the extended numbers. The
+ library uses a similar but hidden data structure <STRONG>TERMTYPE2</STRONG> to provide
+ data for the terminfo functions.
+
+
+</PRE><H2><a name="h2-PORTABILITY">PORTABILITY</a></H2><PRE>
+
+</PRE><H3><a name="h3-setupterm">setupterm</a></H3><PRE>
+ Note that it is possible for <STRONG>setupterm</STRONG> to expect a different set of
+ capabilities than are actually present in the file. Either the data-
+ base may have been updated since <STRONG>setupterm</STRONG> has been recompiled (result-
+ ing in extra unrecognized entries in the file) or the program may have
+ been recompiled more recently than the database was updated (resulting
+ in missing entries). The routine <STRONG>setupterm</STRONG> 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 bool-
+ ean, number, and string capabilities.
+</PRE><H3><a name="h3-Binary-format">Binary format</a></H3><PRE>
+ X/Open Curses does not specify a format for the terminfo database.
+ UNIX System V curses used a directory-tree of binary files, one per
+ terminal description.
-</PRE>
-<H2>LIMITS</H2><PRE>
- Some limitations: total compiled entries cannot exceed
- 4096 bytes. The name field cannot exceed 128 bytes.
+ Despite the consistent use of little-endian for numbers and the other-
+ wise self-describing format, it is not wise to count on portability of
+ binary terminfo entries between commercial UNIX versions. The problem
+ is that there are at least three versions of terminfo (under HP-UX,
+ AIX, and OSF/1) which diverged from System V terminfo after SVr1, and
+ have added extension capabilities to the string table that (in the
+ binary format) collide with System V and XSI Curses extensions. See
+ <STRONG><A HREF="terminfo.5.html">terminfo(5)</A></STRONG> for detailed discussion of terminfo source compatibility
+ issues.
+ This implementation is by default compatible with the binary terminfo
+ format used by Solaris curses, except in a few less-used details 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 ncurses with
+ different configuration options.
-</PRE>
-<H2>FILES</H2><PRE>
- /usr/share/terminfo/*/* compiled terminal capability data
- base
+</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</STRONG> also use that to tell what
+ the file-format is. System V defined more than one magic number, with
+ 0433, 0435 as screen-dumps (see <STRONG><A HREF="scr_dump.5.html">scr_dump(5)</A></STRONG>). This implementation uses
+ 01036 as a continuation of that sequence, but with a different high-
+ order byte to avoid confusion.
-</PRE>
-<H2>SEE ALSO</H2><PRE>
+
+</PRE><H3><a name="h3-The-TERMTYPE-structure">The TERMTYPE structure</a></H3><PRE>
+ Direct access to the <STRONG>TERMTYPE</STRONG> structure is provided for legacy applica-
+ tions. 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 capabili-
+ ties.
+
+
+</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, <STRONG>ncurses</STRONG> represents the "first charac-
+ ter" of the terminal name used as the intermediate level of a directory
+ tree in (two-character) hexadecimal form.
+
+
+</PRE><H2><a name="h2-EXAMPLE">EXAMPLE</a></H2><PRE>
+ As an example, here is a description for the Lear-Siegler ADM-3, a pop-
+ ular though rather stupid early terminal:
+
+ adm3a|lsi adm3a,
+ am,
+ cols#80, lines#24,
+ bel=^G, clear= 32$&lt;1&gt;, cr=^M, cub1=^H, cud1=^J,
+ cuf1=^L, cup=\E=%p1%{32}%+%c%p2%{32}%+%c, cuu1=^K,
+ home=^^, ind=^J,
+
+
+ and a hexadecimal dump of the compiled terminal description:
+
+ 0000 1a 01 10 00 02 00 03 00 82 00 31 00 61 64 6d 33 ........ ..1.adm3
+ 0010 61 7c 6c 73 69 20 61 64 6d 33 61 00 00 01 50 00 a|lsi ad m3a...P.
+ 0020 ff ff 18 00 ff ff 00 00 02 00 ff ff ff ff 04 00 ........ ........
+ 0030 ff ff ff ff ff ff ff ff 0a 00 25 00 27 00 ff ff ........ ..%.'...
+ 0040 29 00 ff ff ff ff 2b 00 ff ff 2d 00 ff ff ff ff ).....+. ..-.....
+ 0050 ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ........ ........
+ 0060 ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ........ ........
+ 0070 ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ........ ........
+ 0080 ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ........ ........
+ 0090 ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ........ ........
+ 00a0 ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ........ ........
+ 00b0 ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ........ ........
+ 00c0 ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ........ ........
+ 00d0 ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ........ ........
+ 00e0 ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ........ ........
+ 00f0 ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ........ ........
+ 0100 ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ........ ........
+ 0110 ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ........ ........
+ 0120 ff ff ff ff ff ff 2f 00 07 00 0d 00 1a 24 3c 31 ....../. .....$&lt;1
+ 0130 3e 00 1b 3d 25 70 31 25 7b 33 32 7d 25 2b 25 63 &gt;..=%p1% {32}%+%c
+ 0140 25 70 32 25 7b 33 32 7d 25 2b 25 63 00 0a 00 1e %p2%{32} %+%c....
+ 0150 00 08 00 0c 00 0b 00 0a 00 ........ .
+
+
+
+</PRE><H2><a name="h2-LIMITS">LIMITS</a></H2><PRE>
+ Some limitations:
+
+ <STRONG>o</STRONG> total compiled entries cannot exceed 4096 bytes in the legacy for-
+ mat.
+
+ <STRONG>o</STRONG> total compiled entries cannot exceed 32768 bytes in the extended
+ format.
+
+ <STRONG>o</STRONG> the name field cannot exceed 128 bytes.
+
+
+</PRE><H2><a name="h2-FILES">FILES</a></H2><PRE>
+ /usr/share/terminfo/*/* compiled terminal capability data base
+
+
+</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="terminfo.5.html">terminfo(5)</A></STRONG>.
-</PRE>
-<H2>AUTHORS</H2><PRE>
+</PRE><H2><a name="h2-AUTHORS">AUTHORS</a></H2><PRE>
Thomas E. Dickey
extended terminfo format for ncurses 5.0
hashed database support for ncurses 5.6
+ extended number support for ncurses 6.1
Eric S. Raymond
+ documented legacy terminfo format, e.g., from pcurses.
- <STRONG><A HREF="term.5.html">term(5)</A></STRONG>
+ <STRONG><A HREF="term.5.html">term(5)</A></STRONG>
</PRE>
-<HR>
-<ADDRESS>
-Man(1) output converted with
-<a href="http://www.oac.uci.edu/indiv/ehood/man2html.html">man2html</a>
-</ADDRESS>
+<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>
+<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>
+</ul>
+</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>
+</ul>
+</li>
+<li><a href="#h2-EXAMPLE">EXAMPLE</a></li>
+<li><a href="#h2-LIMITS">LIMITS</a></li>
+<li><a href="#h2-FILES">FILES</a></li>
+<li><a href="#h2-SEE-ALSO">SEE ALSO</a></li>
+<li><a href="#h2-AUTHORS">AUTHORS</a></li>
+</ul>
+</div>
</BODY>
</HTML>
diff --git a/doc/html/man/term.7.html b/doc/html/man/term.7.html
index b63800579e63..2cadcafa32cf 100644
--- a/doc/html/man/term.7.html
+++ b/doc/html/man/term.7.html
@@ -1,7 +1,6 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN">
<!--
****************************************************************************
- * Copyright (c) 1998-2010,2011 Free Software Foundation, Inc. *
+ * Copyright (c) 1998-2018,2019 Free Software Foundation, Inc. *
* *
* Permission is hereby granted, free of charge, to any person obtaining a *
* copy of this software and associated documentation files (the *
@@ -27,160 +26,142 @@
* sale, use or other dealings in this Software without prior written *
* authorization. *
****************************************************************************
- * @Id: term.7,v 1.23 2011/12/17 23:32:17 tom Exp @
+ * @Id: term.7,v 1.27 2019/07/13 23:17:23 tom Exp @
-->
+<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN">
<HTML>
<HEAD>
+<meta http-equiv="Content-Type" content="text/html; charset=us-ascii">
+<meta name="generator" content="Manpage converted by man2html - see https://invisible-island.net/scripts/readme.html#others_scripts">
<TITLE>term 7</TITLE>
-<link rev=made href="mailto:bug-ncurses@gnu.org">
+<link rel="author" href="mailto:bug-ncurses@gnu.org">
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
</HEAD>
<BODY>
-<H1>term 7</H1>
-<HR>
+<H1 class="no-header">term 7</H1>
<PRE>
-<!-- Manpage converted by man2html 3.0.1 -->
-<STRONG><A HREF="term.7.html">term(7)</A></STRONG> <STRONG><A HREF="term.7.html">term(7)</A></STRONG>
+<STRONG><A HREF="term.7.html">term(7)</A></STRONG> Miscellaneous Information Manual <STRONG><A HREF="term.7.html">term(7)</A></STRONG>
-</PRE>
-<H2>NAME</H2><PRE>
+</PRE><H2><a name="h2-NAME">NAME</a></H2><PRE>
term - conventions for naming terminal types
-</PRE>
-<H2>DESCRIPTION</H2><PRE>
- The environment variable <STRONG>TERM</STRONG> should normally contain the
- type name of the terminal, console or display-device type
- you are using. This information is critical for all
- screen-oriented programs, including your editor and
- mailer.
-
- A default <STRONG>TERM</STRONG> value will be set on a per-line basis by
- either <STRONG>/etc/inittab</STRONG> (e.g., System-V-like UNIXes) or
- <STRONG>/etc/ttys</STRONG> (BSD UNIXes). This will nearly always suffice
- for workstation and microcomputer consoles.
-
- If you use a dialup line, the type of device attached to
- it may vary. Older UNIX systems pre-set a very dumb ter-
- minal type like `dumb' or `dialup' on dialup lines. Newer
- ones may pre-set `vt100', reflecting the prevalence of DEC
- VT100-compatible terminals and personal-computer emula-
- tors.
-
- Modern telnets pass your <STRONG>TERM</STRONG> environment variable from
- the local side to the remote one. There can be problems
- if the remote terminfo or termcap entry for your type is
- not compatible with yours, but this situation is rare and
- can almost always be avoided by explicitly exporting
- `vt100' (assuming you are in fact using a VT100-superset
- console, terminal, or terminal emulator.)
-
- In any case, you are free to override the system <STRONG>TERM</STRONG> set-
- ting to your taste in your shell profile. The <STRONG><A HREF="tset.1.html">tset(1)</A></STRONG>
- utility may be of assistance; you can give it a set of
- rules for deducing or requesting a terminal type based on
- the tty device and baud rate.
-
- Setting your own <STRONG>TERM</STRONG> value may also be useful if you have
- created a custom entry incorporating options (such as vis-
- ual bell or reverse-video) which you wish to override the
- system default type for your line.
-
- Terminal type descriptions are stored as files of capabil-
- ity data underneath /usr/share/terminfo. To browse a list
- of all terminal names recognized by the system, do
+</PRE><H2><a name="h2-DESCRIPTION">DESCRIPTION</a></H2><PRE>
+ The environment variable <STRONG>TERM</STRONG> should normally contain the type name of
+ the terminal, console or display-device type you are using. This
+ information is critical for all screen-oriented programs, including
+ your editor and mailer.
+
+ A default <STRONG>TERM</STRONG> value will be set on a per-line basis by either
+ <STRONG>/etc/inittab</STRONG> (e.g., System-V-like UNIXes) or <STRONG>/etc/ttys</STRONG> (BSD UNIXes).
+ This will nearly always suffice for workstation and microcomputer con-
+ soles.
+
+ If you use a dialup line, the type of device attached to it may vary.
+ Older UNIX systems pre-set a very dumb terminal type like "dumb" or
+ "dialup" on dialup lines. Newer ones may pre-set "vt100", reflecting
+ the prevalence of DEC VT100-compatible terminals and personal-computer
+ emulators.
+
+ Modern telnets pass your <STRONG>TERM</STRONG> environment variable from the local side
+ to the remote one. There can be problems if the remote terminfo or
+ termcap entry for your type is not compatible with yours, but this sit-
+ uation is rare and can almost always be avoided by explicitly exporting
+ "vt100" (assuming you are in fact using a VT100-superset console, ter-
+ minal, or terminal emulator.)
+
+ In any case, you are free to override the system <STRONG>TERM</STRONG> setting to your
+ taste in your shell profile. The <STRONG><A HREF="tset.1.html">tset(1)</A></STRONG> utility may be of assistance;
+ you can give it a set of rules for deducing or requesting a terminal
+ type based on the tty device and baud rate.
+
+ Setting your own <STRONG>TERM</STRONG> value may also be useful if you have created a
+ custom entry incorporating options (such as visual bell or reverse-
+ video) which you wish to override the system default type for your
+ line.
+
+ Terminal type descriptions are stored as files of capability data
+ underneath /usr/share/terminfo. To browse a list of all terminal names
+ recognized by the system, do
toe | more
- from your shell. These capability files are in a binary
- format optimized for retrieval speed (unlike the old text-
- based <STRONG>termcap</STRONG> format they replace); to examine an entry,
- you must use the <STRONG><A HREF="infocmp.1m.html">infocmp(1m)</A></STRONG> command. Invoke it as fol-
- lows:
+ from your shell. These capability files are in a binary format opti-
+ mized for retrieval speed (unlike the old text-based <STRONG>termcap</STRONG> format
+ they replace); to examine an entry, you must use the <STRONG><A HREF="infocmp.1m.html">infocmp(1m)</A></STRONG> com-
+ mand. Invoke it as follows:
infocmp <EM>entry</EM><STRONG>_</STRONG><EM>name</EM>
- where <EM>entry</EM><STRONG>_</STRONG><EM>name</EM> is the name of the type you wish to exam-
- ine (and the name of its capability file the subdirectory
- of /usr/share/terminfo named for its first letter). This
- command dumps a capability file in the text format
- described by <STRONG><A HREF="terminfo.5.html">terminfo(5)</A></STRONG>.
-
- The first line of a <STRONG><A HREF="terminfo.5.html">terminfo(5)</A></STRONG> description gives the
- names by which terminfo knows a terminal, separated by `|'
- (pipe-bar) characters with the last name field terminated
- by a comma. The first name field is the type's <EM>primary</EM>
- <EM>name</EM>, and is the one to use when setting <STRONG>TERM</STRONG>. The last
- name field (if distinct from the first) is actually a
- description of the terminal type (it may contain blanks;
- the others must be single words). Name fields between the
- first and last (if present) are aliases for the terminal,
- usually historical names retained for compatibility.
-
- There are some conventions for how to choose terminal pri-
- mary names that help keep them informative and unique.
- Here is a step-by-step guide to naming terminals that also
- explains how to parse them:
-
- First, choose a root name. The root will consist of a
- lower-case letter followed by up to seven lower-case let-
- ters or digits. You need to avoid using punctuation char-
- acters in root names, because they are used and inter-
- preted as filenames and shell meta-characters (such as !,
- $, *, ?, etc.) embedded in them may cause odd and unhelp-
- ful behavior. The slash (/), or any other character that
- may be interpreted by anyone's file system (\, $, [, ]),
- is especially dangerous (terminfo is platform-independent,
- and choosing names with special characters could someday
- make life difficult for users of a future port). The dot
- (.) character is relatively safe as long as there is at
- most one per root name; some historical terminfo names use
- it.
-
- The root name for a terminal or workstation console type
- should almost always begin with a vendor prefix (such as
- <STRONG>hp</STRONG> for Hewlett-Packard, <STRONG>wy</STRONG> for Wyse, or <STRONG>att</STRONG> for AT&amp;T ter-
- minals), or a common name of the terminal line (<STRONG>vt</STRONG> for the
- VT series of terminals from DEC, or <STRONG>sun</STRONG> for Sun Microsys-
- tems workstation consoles, or <STRONG>regent</STRONG> for the ADDS Regent
- series. You can list the terminfo tree to see what pre-
- fixes are already in common use. The root name prefix
- should be followed when appropriate by a model number;
- thus <STRONG>vt100</STRONG>, <STRONG>hp2621</STRONG>, <STRONG>wy50</STRONG>.
-
- The root name for a PC-Unix console type should be the OS
- name, i.e., <STRONG>linux</STRONG>, <STRONG>bsdos</STRONG>, <STRONG>freebsd</STRONG>, <STRONG>netbsd</STRONG>. It should <EM>not</EM>
- be <STRONG>console</STRONG> or any other generic that might cause confusion
- in a multi-platform environment! If a model number fol-
- lows, it should indicate either the OS release level or
- the console driver release level.
-
- The root name for a terminal emulator (assuming it does
- not fit one of the standard ANSI or vt100 types) should be
- the program name or a readily recognizable abbreviation of
- it (i.e., <STRONG>versaterm</STRONG>, <STRONG>ctrm</STRONG>).
-
- Following the root name, you may add any reasonable number
- of hyphen-separated feature suffixes.
+ where <EM>entry</EM><STRONG>_</STRONG><EM>name</EM> is the name of the type you wish to examine (and the
+ name of its capability file the subdirectory of /usr/share/terminfo
+ named for its first letter). This command dumps a capability file in
+ the text format described by <STRONG><A HREF="terminfo.5.html">terminfo(5)</A></STRONG>.
+
+ The first line of a <STRONG><A HREF="terminfo.5.html">terminfo(5)</A></STRONG> description gives the names by which
+ terminfo knows a terminal, separated by "|" (pipe-bar) characters with
+ the last name field terminated by a comma. The first name field is the
+ type's <EM>primary</EM> <EM>name</EM>, and is the one to use when setting <STRONG>TERM</STRONG>. The last
+ name field (if distinct from the first) is actually a description of
+ the terminal type (it may contain blanks; the others must be single
+ words). Name fields between the first and last (if present) are
+ aliases for the terminal, usually historical names retained for compat-
+ ibility.
+
+ There are some conventions for how to choose terminal primary names
+ that help keep them informative and unique. Here is a step-by-step
+ guide to naming terminals that also explains how to parse them:
+
+ First, choose a root name. The root will consist of a lower-case let-
+ ter followed by up to seven lower-case letters or digits. You need to
+ avoid using punctuation characters in root names, because they are used
+ and interpreted as filenames and shell meta-characters (such as !, $,
+ *, ?, etc.) embedded in them may cause odd and unhelpful behavior. The
+ slash (/), or any other character that may be interpreted by anyone's
+ file system (\, $, [, ]), is especially dangerous (terminfo is plat-
+ form-independent, and choosing names with special characters could
+ someday make life difficult for users of a future port). The dot (.)
+ character is relatively safe as long as there is at most one per root
+ name; some historical terminfo names use it.
+
+ The root name for a terminal or workstation console type should almost
+ always begin with a vendor prefix (such as <STRONG>hp</STRONG> for Hewlett-Packard, <STRONG>wy</STRONG>
+ for Wyse, or <STRONG>att</STRONG> for AT&amp;T terminals), or a common name of the terminal
+ line (<STRONG>vt</STRONG> for the VT series of terminals from DEC, or <STRONG>sun</STRONG> for Sun
+ Microsystems workstation consoles, or <STRONG>regent</STRONG> for the ADDS Regent
+ series. You can list the terminfo tree to see what prefixes are
+ already in common use. The root name prefix should be followed when
+ appropriate by a model number; thus <STRONG>vt100</STRONG>, <STRONG>hp2621</STRONG>, <STRONG>wy50</STRONG>.
+
+ The root name for a PC-Unix console type should be the OS name, i.e.,
+ <STRONG>linux</STRONG>, <STRONG>bsdos</STRONG>, <STRONG>freebsd</STRONG>, <STRONG>netbsd</STRONG>. It should <EM>not</EM> be <STRONG>console</STRONG> or any other
+ generic that might cause confusion in a multi-platform environment! If
+ a model number follows, it should indicate either the OS release level
+ or the console driver release level.
+
+ The root name for a terminal emulator (assuming it does not fit one of
+ the standard ANSI or vt100 types) should be the program name or a read-
+ ily recognizable abbreviation of it (i.e., <STRONG>versaterm</STRONG>, <STRONG>ctrm</STRONG>).
+
+ Following the root name, you may add any reasonable number of hyphen-
+ separated feature suffixes.
2p Has two pages of memory. Likewise 4p, 8p, etc.
- mc Magic-cookie. Some terminals (notably older Wyses)
- can only support one attribute without magic-cookie
- lossage. Their base entry is usually paired with
- another that has this suffix and uses magic cookies
- to support multiple attributes.
+ mc Magic-cookie. Some terminals (notably older Wyses) can only sup-
+ port one attribute without magic-cookie lossage. Their base entry
+ is usually paired with another that has this suffix and uses magic
+ cookies to support multiple attributes.
-am Enable auto-margin (right-margin wraparound).
-m Mono mode - suppress color support.
- -na No arrow keys - termcap ignores arrow keys which are
- actually there on the terminal, so the user can use
- the arrow keys locally.
+ -na No arrow keys - termcap ignores arrow keys which are actually
+ there on the terminal, so the user can use the arrow keys locally.
-nam No auto-margin - suppress am capability.
@@ -196,34 +177,29 @@
-vb Use visible bell (flash) rather than beep.
- -w Wide; terminal is in 132 column mode.
+ -w Wide; terminal is in 132-column mode.
- Conventionally, if your terminal type is a variant
- intended to specify a line height, that suffix should go
- first. So, for a hypothetical FuBarCo model 2317 terminal
- in 30-line mode with reverse video, best form would be
- <STRONG>fubar-30-rv</STRONG> (rather than, say, `fubar-rv-30').
+ Conventionally, if your terminal type is a variant intended to specify
+ a line height, that suffix should go first. So, for a hypothetical
+ FuBarCo model 2317 terminal in 30-line mode with reverse video, best
+ form would be <STRONG>fubar-30-rv</STRONG> (rather than, say, "fubar-rv-30").
- Terminal types that are written not as standalone entries,
- but rather as components to be plugged into other entries
- via <STRONG>use</STRONG> capabilities, are distinguished by using embedded
- plus signs rather than dashes.
+ Terminal types that are written not as standalone entries, but rather
+ as components to be plugged into other entries via <STRONG>use</STRONG> capabilities,
+ are distinguished by using embedded plus signs rather than dashes.
- Commands which use a terminal type to control display
- often accept a -T option that accepts a terminal name
- argument. Such programs should fall back on the <STRONG>TERM</STRONG>
- environment variable when no -T option is specified.
+ Commands which use a terminal type to control display often accept a -T
+ option that accepts a terminal name argument. Such programs should
+ fall back on the <STRONG>TERM</STRONG> environment variable when no -T option is speci-
+ fied.
-</PRE>
-<H2>PORTABILITY</H2><PRE>
- For maximum compatibility with older System V UNIXes,
- names and aliases should be unique within the first 14
- characters.
+</PRE><H2><a name="h2-PORTABILITY">PORTABILITY</a></H2><PRE>
+ For maximum compatibility with older System V UNIXes, names and aliases
+ should be unique within the first 14 characters.
-</PRE>
-<H2>FILES</H2><PRE>
+</PRE><H2><a name="h2-FILES">FILES</a></H2><PRE>
/usr/share/terminfo/?/*
compiled terminal capability data base
@@ -234,18 +210,21 @@
tty line initialization (BSD-like UNIXes)
-</PRE>
-<H2>SEE ALSO</H2><PRE>
+</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="terminfo.5.html">terminfo(5)</A></STRONG>, <STRONG><A HREF="term.5.html">term(5)</A></STRONG>.
- <STRONG><A HREF="term.7.html">term(7)</A></STRONG>
+ <STRONG><A HREF="term.7.html">term(7)</A></STRONG>
</PRE>
-<HR>
-<ADDRESS>
-Man(1) output converted with
-<a href="http://www.oac.uci.edu/indiv/ehood/man2html.html">man2html</a>
-</ADDRESS>
+<div class="nav">
+<ul>
+<li><a href="#h2-NAME">NAME</a></li>
+<li><a href="#h2-DESCRIPTION">DESCRIPTION</a></li>
+<li><a href="#h2-PORTABILITY">PORTABILITY</a></li>
+<li><a href="#h2-FILES">FILES</a></li>
+<li><a href="#h2-SEE-ALSO">SEE ALSO</a></li>
+</ul>
+</div>
</BODY>
</HTML>
diff --git a/doc/html/man/term_variables.3x.html b/doc/html/man/term_variables.3x.html
index 8041832aa0aa..d5a83afcd8a9 100644
--- a/doc/html/man/term_variables.3x.html
+++ b/doc/html/man/term_variables.3x.html
@@ -1,7 +1,6 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN">
<!--
****************************************************************************
- * Copyright (c) 2011,2013 Free Software Foundation, Inc. *
+ * Copyright (c) 2011-2017,2019 Free Software Foundation, Inc. *
* *
* Permission is hereby granted, free of charge, to any person obtaining a *
* copy of this software and associated documentation files (the *
@@ -27,139 +26,174 @@
* sale, use or other dealings in this Software without prior written *
* authorization. *
****************************************************************************
- * @Id: term_variables.3x,v 1.3 2011/12/17 23:31:50 tom Exp @
+ * @Id: term_variables.3x,v 1.11 2019/11/30 20:51:36 tom Exp @
-->
+<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN">
<HTML>
<HEAD>
+<meta http-equiv="Content-Type" content="text/html; charset=us-ascii">
+<meta name="generator" content="Manpage converted by man2html - see https://invisible-island.net/scripts/readme.html#others_scripts">
<TITLE>term_variables 3x</TITLE>
-<link rev=made href="mailto:bug-ncurses@gnu.org">
+<link rel="author" href="mailto:bug-ncurses@gnu.org">
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
</HEAD>
<BODY>
-<H1>term_variables 3x</H1>
-<HR>
+<H1 class="no-header">term_variables 3x</H1>
<PRE>
-<!-- Manpage converted by man2html 3.0.1 -->
-<STRONG><A HREF="term_variables.3x.html">term_variables(3x)</A></STRONG> <STRONG><A HREF="term_variables.3x.html">term_variables(3x)</A></STRONG>
+<STRONG><A HREF="term_variables.3x.html">term_variables(3x)</A></STRONG> <STRONG><A HREF="term_variables.3x.html">term_variables(3x)</A></STRONG>
-</PRE>
-<H2>NAME</H2><PRE>
- <STRONG>SP</STRONG>, <STRONG>acs_map</STRONG>, <STRONG>boolcodes</STRONG>, <STRONG>boolfnames</STRONG>, <STRONG>boolnames</STRONG>, <STRONG>cur_term</STRONG>,
- <STRONG>numcodes</STRONG>, <STRONG>numfnames</STRONG>, <STRONG>numnames</STRONG>, <STRONG>strcodes</STRONG>, <STRONG>strfnames</STRONG>,
- <STRONG>strnames</STRONG>, <STRONG>ttytype</STRONG> - <STRONG>curses</STRONG> terminfo global variables
+</PRE><H2><a name="h2-NAME">NAME</a></H2><PRE>
+ <STRONG>SP</STRONG>, <STRONG>acs_map</STRONG>, <STRONG>boolcodes</STRONG>, <STRONG>boolfnames</STRONG>, <STRONG>boolnames</STRONG>, <STRONG>cur_term</STRONG>, <STRONG>numcodes</STRONG>,
+ <STRONG>numfnames</STRONG>, <STRONG>numnames</STRONG>, <STRONG>strcodes</STRONG>, <STRONG>strfnames</STRONG>, <STRONG>strnames</STRONG>, <STRONG>ttytype</STRONG> - <STRONG>curses</STRONG>
+ terminfo global variables
-</PRE>
-<H2>SYNOPSIS</H2><PRE>
+</PRE><H2><a name="h2-SYNOPSIS">SYNOPSIS</a></H2><PRE>
<STRONG>#include</STRONG> <STRONG>&lt;curses.h&gt;</STRONG>
<STRONG>#include</STRONG> <STRONG>&lt;term.h&gt;</STRONG>
<STRONG>chtype</STRONG> <STRONG>acs_map[];</STRONG>
- <STRONG>NCURSES_CONST</STRONG> <STRONG>char</STRONG> <STRONG>*</STRONG> <STRONG>const</STRONG> <STRONG>*</STRONG> <STRONG>boolcodes;</STRONG>
- <STRONG>NCURSES_CONST</STRONG> <STRONG>char</STRONG> <STRONG>*</STRONG> <STRONG>const</STRONG> <STRONG>*</STRONG> <STRONG>boolfnames;</STRONG>
- <STRONG>NCURSES_CONST</STRONG> <STRONG>char</STRONG> <STRONG>*</STRONG> <STRONG>const</STRONG> <STRONG>*</STRONG> <STRONG>boolnames;</STRONG>
+
+ <STRONG>SCREEN</STRONG> <STRONG>*</STRONG> <STRONG>SP;</STRONG>
+
<STRONG>TERMINAL</STRONG> <STRONG>*</STRONG> <STRONG>cur_term;</STRONG>
- <STRONG>NCURSES_CONST</STRONG> <STRONG>char</STRONG> <STRONG>*</STRONG> <STRONG>const</STRONG> <STRONG>*</STRONG> <STRONG>numcodes;</STRONG>
- <STRONG>NCURSES_CONST</STRONG> <STRONG>char</STRONG> <STRONG>*</STRONG> <STRONG>const</STRONG> <STRONG>*</STRONG> <STRONG>numfnames;</STRONG>
- <STRONG>NCURSES_CONST</STRONG> <STRONG>char</STRONG> <STRONG>*</STRONG> <STRONG>const</STRONG> <STRONG>*</STRONG> <STRONG>numnames;</STRONG>
- <STRONG>NCURSES_CONST</STRONG> <STRONG>char</STRONG> <STRONG>*</STRONG> <STRONG>const</STRONG> <STRONG>*</STRONG> <STRONG>strcodes;</STRONG>
- <STRONG>NCURSES_CONST</STRONG> <STRONG>char</STRONG> <STRONG>*</STRONG> <STRONG>const</STRONG> <STRONG>*</STRONG> <STRONG>strfnames;</STRONG>
- <STRONG>NCURSES_CONST</STRONG> <STRONG>char</STRONG> <STRONG>*</STRONG> <STRONG>const</STRONG> <STRONG>*</STRONG> <STRONG>strnames;</STRONG>
+
<STRONG>char</STRONG> <STRONG>ttytype[];</STRONG>
+ <STRONG>NCURSES_CONST</STRONG> <STRONG>char</STRONG> <STRONG>*</STRONG> <STRONG>const</STRONG> <STRONG>boolcodes[];</STRONG>
+ <STRONG>NCURSES_CONST</STRONG> <STRONG>char</STRONG> <STRONG>*</STRONG> <STRONG>const</STRONG> <STRONG>boolfnames[];</STRONG>
+ <STRONG>NCURSES_CONST</STRONG> <STRONG>char</STRONG> <STRONG>*</STRONG> <STRONG>const</STRONG> <STRONG>boolnames[];</STRONG>
-</PRE>
-<H2>DESCRIPTION</H2><PRE>
- This page summarizes variables provided by the <STRONG>curses</STRONG> li-
- brary's low-level terminfo interface. A more complete de-
- scription is given in the <STRONG><A HREF="curs_terminfo.3x.html">curs_terminfo(3x)</A></STRONG> manual page.
-
- Depending on the configuration, these may be actual vari-
- ables, or macros (see <STRONG><A HREF="curs_threads.3x.html">curs_threads(3x)</A></STRONG>) which provide
- read-only access to <EM>curses</EM>'s state. In either case, ap-
- plications should treat them as read-only to avoid confus-
- ing the library.
-
- <STRONG>Alternate</STRONG> <STRONG>Character</STRONG> <STRONG>Set</STRONG> <STRONG>Mapping</STRONG>
- After initializing the curses or terminfo interfaces, the
- <STRONG>acs_map</STRONG> array holds information used to translate cells
- with the <STRONG>A_ALTCHARSET</STRONG> video attribute into line-drawing
- characters.
-
- The encoding of the information in this array has changed
- periodically. Application developers need only know that
- it is used for the "ACS_" constants in &lt;curses.h&gt;.
-
- The comparable data for the wide-character library is a
- private variable.
-
- <STRONG>Current</STRONG> <STRONG>Terminal</STRONG> <STRONG>Data</STRONG>
- After initializing the curses or terminfo interfaces, the
- <STRONG>cur_term</STRONG> contains data describing the current terminal.
- This variable is also set as a side-effect of <STRONG><A HREF="curs_initscr.3x.html">curs_initscr(3x)</A></STRONG>
- and <STRONG><A HREF="curs_initscr.3x.html">curs_initscr(3x)</A></STRONG>.
-
- It is possible to save a value of <STRONG>cur_term</STRONG> for subsequent
- use as a parameter to <STRONG>set_term</STRONG>, for switching between
- screens. Alternatively, one can save the return value
- from <STRONG>newterm</STRONG> or <STRONG>setupterm</STRONG> to reuse in <STRONG>set_term</STRONG>.
-
- <STRONG>Terminfo</STRONG> <STRONG>Names</STRONG>
- The <STRONG><A HREF="tic.1m.html">tic(1m)</A></STRONG> and <STRONG><A HREF="infocmp.1m.html">infocmp(1m)</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 applications, though the
- hash-tables are not available.
-
- The long terminfo capability names use a "l" (ell) in
- their names: boolfnames numfnames strfnames
-
- These are the short names for terminfo capabilities: bool-
- names, numnames, and strnames.
-
- These are the corresponding names used for termcap de-
- scriptions: boolcodes, numcodes, and strcodes.
-
- <STRONG>Terminal</STRONG> <STRONG>Type</STRONG>
- On initialization of the curses or terminfo interfaces,
- <STRONG>setupterm</STRONG> copies the terminal name to the array <STRONG>ttytype</STRONG>.
+ <STRONG>NCURSES_CONST</STRONG> <STRONG>char</STRONG> <STRONG>*</STRONG> <STRONG>const</STRONG> <STRONG>numcodes[];</STRONG>
+ <STRONG>NCURSES_CONST</STRONG> <STRONG>char</STRONG> <STRONG>*</STRONG> <STRONG>const</STRONG> <STRONG>numfnames[];</STRONG>
+ <STRONG>NCURSES_CONST</STRONG> <STRONG>char</STRONG> <STRONG>*</STRONG> <STRONG>const</STRONG> <STRONG>numnames[];</STRONG>
+ <STRONG>NCURSES_CONST</STRONG> <STRONG>char</STRONG> <STRONG>*</STRONG> <STRONG>const</STRONG> <STRONG>strcodes[];</STRONG>
+ <STRONG>NCURSES_CONST</STRONG> <STRONG>char</STRONG> <STRONG>*</STRONG> <STRONG>const</STRONG> <STRONG>strfnames[];</STRONG>
+ <STRONG>NCURSES_CONST</STRONG> <STRONG>char</STRONG> <STRONG>*</STRONG> <STRONG>const</STRONG> <STRONG>strnames[];</STRONG>
-</PRE>
-<H2>NOTES</H2><PRE>
- The low-level terminfo interface is initialized using
- <STRONG><A HREF="curs_terminfo.3x.html">curs_terminfo(3x)</A></STRONG>. The upper-level curses interface uses the
- low-level terminfo interface, internally.
+</PRE><H2><a name="h2-DESCRIPTION">DESCRIPTION</a></H2><PRE>
+ This page summarizes variables provided by the <STRONG>curses</STRONG> library's low-
+ level terminfo interface. A more complete description is given in the
+ <STRONG><A HREF="curs_terminfo.3x.html">curs_terminfo(3x)</A></STRONG> manual page.
-</PRE>
-<H2>PORTABILITY</H2><PRE>
- X/Open Curses does not describe any of these except for
- <STRONG>cur_term</STRONG>. (The inclusion of <STRONG>cur_term</STRONG> appears to be an
- oversight, since other comparable low-level information is
- omitted by X/Open).
+ Depending on the configuration, these may be actual variables, or
+ macros (see <STRONG><A HREF="curs_threads.3x.html">curs_threads(3x)</A></STRONG>) which provide read-only access to <EM>curs-</EM>
+ <EM>es</EM>'s state. In either case, applications should treat them as read-on-
+ ly to avoid confusing the library.
- Other implementations may have comparable variables. Some
- implementations provide the variables in their libraries,
- but omit them from the header files.
+</PRE><H3><a name="h3-Alternate-Character-Set-Mapping">Alternate Character Set Mapping</a></H3><PRE>
+ After initializing the curses or terminfo interfaces, the <STRONG>acs_map</STRONG> array
+ holds information used to translate cells with the <STRONG>A_ALTCHARSET</STRONG> video
+ attribute into line-drawing characters.
-</PRE>
-<H2>SEE ALSO</H2><PRE>
- <STRONG><A HREF="ncurses.3x.html">curses(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="terminfo.5.html">terminfo(5)</A></STRONG>.
+ The encoding of the information in this array has changed periodically.
+ Application developers need only know that it is used for the "ACS_"
+ constants in &lt;curses.h&gt;.
+
+ The comparable data for the wide-character library is a private vari-
+ able.
+
+
+</PRE><H3><a name="h3-Current-Terminal-Data">Current Terminal Data</a></H3><PRE>
+ After initializing the curses or terminfo interfaces, the <STRONG>cur_term</STRONG> con-
+ tains data describing the current terminal. This variable is also set
+ as a side-effect of <STRONG><A HREF="curs_initscr.3x.html">set_term(3x)</A></STRONG> and <STRONG><A HREF="curs_initscr.3x.html">delscreen(3x)</A></STRONG>.
+
+ It is possible to save a value of <STRONG>cur_term</STRONG> for subsequent use as a pa-
+ rameter to <STRONG>set_term</STRONG>, for switching between screens. Alternatively, one
+ can save the return value from <STRONG>newterm</STRONG> or <STRONG><A HREF="curs_terminfo.3x.html">setupterm(3x)</A></STRONG> to reuse in
+ <STRONG>set_term</STRONG>.
+
+
+</PRE><H3><a name="h3-Terminfo-Names">Terminfo Names</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 applica-
+ tions, although the hash-tables used by the terminfo and termcap func-
+ tions are not available.
+
+ The long terminfo capability names use a "l" (ell) in their names:
+ <STRONG>boolfnames</STRONG>, <STRONG>numfnames</STRONG>, and <STRONG>strfnames</STRONG>.
+
+ These are the short names for terminfo capabilities: <STRONG>boolnames</STRONG>, <STRONG>num-</STRONG>
+ <STRONG>names</STRONG>, and <STRONG>strnames</STRONG>.
+
+ These are the corresponding names used for termcap descriptions: <STRONG>bool-</STRONG>
+ <STRONG>codes</STRONG>, <STRONG>numcodes</STRONG>, and <STRONG>strcodes</STRONG>.
+
+
+</PRE><H3><a name="h3-Terminal-Type">Terminal Type</a></H3><PRE>
+ A terminal description begins with one or more terminal names separated
+ by "|" (vertical bars). On initialization of the curses or terminfo
+ interfaces, <STRONG><A HREF="curs_terminfo.3x.html">setupterm(3x)</A></STRONG> copies the terminal names to the array <STRONG>tty-</STRONG>
+ <STRONG>type</STRONG>.
+
+
+</PRE><H3><a name="h3-Terminfo-Names">Terminfo 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
+
+ #define CUR ((TERMTYPE *)(cur_term))-&gt;
+
+ These symbols provide a faster method of accessing terminfo capabili-
+ ties than using <STRONG><A HREF="curs_terminfo.3x.html">tigetstr(3x)</A></STRONG>, etc.
+
+ The actual definition of <STRONG>CUR</STRONG> depends upon the implementation, but each
+ terminfo library provides these long names defined to point into the
+ current terminal description loaded into memory.
+
+
+</PRE><H2><a name="h2-NOTES">NOTES</a></H2><PRE>
+ The low-level terminfo interface is initialized using <STRONG><A HREF="curs_terminfo.3x.html">setupterm(3x)</A></STRONG>.
+ The upper-level curses interface uses the low-level terminfo interface,
+ internally.
+
+
+</PRE><H2><a name="h2-PORTABILITY">PORTABILITY</a></H2><PRE>
+ X/Open Curses does not describe any of these except for <STRONG>cur_term</STRONG>. (The
+ inclusion of <STRONG>cur_term</STRONG> appears to be an oversight, since other compara-
+ ble low-level information is omitted by X/Open).
+
+ Other implementations may have comparable variables. Some implementa-
+ tions provide the variables in their libraries, but omit them from the
+ header files.
+
+ All implementations which provide terminfo interfaces add definitions
+ as described in the <STRONG>Terminfo</STRONG> <STRONG>Names</STRONG> section. Most, but not all, base
+ the definition upon the <STRONG>cur_term</STRONG> variable.
+
+
+</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_terminfo.3x.html">curs_terminfo(3x)</A></STRONG>, <STRONG><A HREF="curs_threads.3x.html">curs_threads(3x)</A></STRONG>, <STRONG><A HREF="terminfo.5.html">terminfo(5)</A></STRONG>.
- <STRONG><A HREF="term_variables.3x.html">term_variables(3x)</A></STRONG>
+ <STRONG><A HREF="term_variables.3x.html">term_variables(3x)</A></STRONG>
</PRE>
-<HR>
-<ADDRESS>
-Man(1) output converted with
-<a href="http://www.oac.uci.edu/indiv/ehood/man2html.html">man2html</a>
-</ADDRESS>
+<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>
+<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-Names">Terminfo Names</a></li>
+<li><a href="#h3-Terminal-Type">Terminal Type</a></li>
+<li><a href="#h3-Terminfo-Names">Terminfo Names</a></li>
+</ul>
+</li>
+<li><a href="#h2-NOTES">NOTES</a></li>
+<li><a href="#h2-PORTABILITY">PORTABILITY</a></li>
+<li><a href="#h2-SEE-ALSO">SEE ALSO</a></li>
+</ul>
+</div>
</BODY>
</HTML>
diff --git a/doc/html/man/terminfo.5.html b/doc/html/man/terminfo.5.html
index 94e2b034b83b..2a2bdf32f850 100644
--- a/doc/html/man/terminfo.5.html
+++ b/doc/html/man/terminfo.5.html
@@ -1,12 +1,11 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN">
<!--
* t
* DO NOT EDIT THIS FILE BY HAND!
- * It is generated from terminfo.head, Caps, and terminfo.tail.
+ * It is generated from terminfo.head, ./../include/Caps ./../include/Caps-ncurses, and terminfo.tail.
* Note: this must be run through tbl before nroff.
* The magic cookie on the first line triggers this under some man programs.
****************************************************************************
- * Copyright (c) 1998-2012,2013 Free Software Foundation, Inc. *
+ * Copyright (c) 1998-2018,2019 Free Software Foundation, Inc. *
* *
* Permission is hereby granted, free of charge, to any person obtaining a *
* copy of this software and associated documentation files (the *
@@ -32,142 +31,241 @@
* sale, use or other dealings in this Software without prior written *
* authorization. *
****************************************************************************
- * @Id: terminfo.head,v 1.21 2013/03/09 22:11:36 tom Exp @
+ * @Id: terminfo.head,v 1.38 2019/07/27 11:51:04 tom Exp @
* Head of terminfo man page ends here
- * @Id: terminfo.tail,v 1.68 2013/11/09 15:20:48 tom Exp @
- * Beginning of terminfo.tail file
- * This file is part of ncurses.
- * See "terminfo.head" for copyright.
+ ****************************************************************************
+ * Copyright (c) 1998-2018,2019 Free Software Foundation, Inc. *
+ * *
+ * Permission is hereby granted, free of charge, to any person obtaining a *
+ * copy of this software and associated documentation files (the *
+ * "Software"), to deal in the Software without restriction, including *
+ * without limitation the rights to use, copy, modify, merge, publish, *
+ * distribute, distribute with modifications, sublicense, and/or sell *
+ * copies of the Software, and to permit persons to whom the Software is *
+ * furnished to do so, subject to the following conditions: *
+ * *
+ * The above copyright notice and this permission notice shall be included *
+ * in all copies or substantial portions of the Software. *
+ * *
+ * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS *
+ * OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF *
+ * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. *
+ * IN NO EVENT SHALL THE ABOVE COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, *
+ * DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR *
+ * OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR *
+ * THE USE OR OTHER DEALINGS IN THE SOFTWARE. *
+ * *
+ * Except as contained in this notice, the name(s) of the above copyright *
+ * holders shall not be used in advertising or otherwise to promote the *
+ * sale, use or other dealings in this Software without prior written *
+ * authorization. *
+ ****************************************************************************
+ * @Id: terminfo.tail,v 1.98 2019/11/30 20:54:32 tom Exp @
*.in -2
*.in +2
*.in -2
*.in +2
*.TH
-->
+<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN">
<HTML>
<HEAD>
+<meta http-equiv="Content-Type" content="text/html; charset=us-ascii">
+<meta name="generator" content="Manpage converted by man2html - see https://invisible-island.net/scripts/readme.html#others_scripts">
<TITLE>terminfo 5 File Formats</TITLE>
-<link rev=made href="mailto:bug-ncurses@gnu.org">
+<link rel="author" href="mailto:bug-ncurses@gnu.org">
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
</HEAD>
<BODY>
-<H1>terminfo 5 File Formats</H1>
-<HR>
+<H1 class="no-header">terminfo 5 File Formats</H1>
<PRE>
-<!-- Manpage converted by man2html 3.0.1 -->
-<STRONG><A HREF="terminfo.5.html">terminfo(5)</A></STRONG> File Formats <STRONG><A HREF="terminfo.5.html">terminfo(5)</A></STRONG>
+<STRONG><A HREF="terminfo.5.html">terminfo(5)</A></STRONG> File Formats <STRONG><A HREF="terminfo.5.html">terminfo(5)</A></STRONG>
-</PRE>
-<H2>NAME</H2><PRE>
+</PRE><H2><a name="h2-NAME">NAME</a></H2><PRE>
terminfo - terminal capability data base
-</PRE>
-<H2>SYNOPSIS</H2><PRE>
+</PRE><H2><a name="h2-SYNOPSIS">SYNOPSIS</a></H2><PRE>
/usr/share/terminfo/*/*
-</PRE>
-<H2>DESCRIPTION</H2><PRE>
- <EM>Terminfo</EM> is a data base describing terminals, used by
- screen-oriented programs such as <STRONG>nvi(1)</STRONG>, <STRONG>rogue(1)</STRONG> and
- libraries such as <STRONG><A HREF="ncurses.3x.html">curses(3x)</A></STRONG>. <EM>Terminfo</EM> describes termi-
- nals by giving a set of capabilities which they have, by
- specifying how to perform screen operations, and by speci-
- fying padding requirements and initialization sequences.
- This describes <STRONG>ncurses</STRONG> version 5.9 (patch 20131221).
-
- Entries in <EM>terminfo</EM> consist of a sequence of `,' separated
- fields (embedded commas may be escaped with a backslash or
- notated as \054). White space after the `,' separator is
- ignored. The first entry for each terminal gives the
- names which are known for the terminal, separated by `|'
- characters. The first name given is the most common
- abbreviation for the terminal, the last name given should
- be a long name fully identifying the terminal, and all
- others are understood as synonyms for the terminal name.
- All names but the last should be in lower case and contain
- no blanks; the last name may well contain upper case and
- blanks for readability.
-
- Lines beginning with a `#' in the first column are treated
- as comments. While comment lines are legal at any point,
- the output of <STRONG>captoinfo</STRONG> and <STRONG>infotocap</STRONG> (aliases for <STRONG>tic</STRONG>)
- will move comments so they occur only between entries.
-
- Newlines and leading tabs may be used for formatting
- entries for readability. These are removed from parsed
- entries. The <STRONG>infocmp</STRONG> <STRONG>-f</STRONG> option relies on this to format
- if-then-else expressions: the result can be read by <STRONG>tic</STRONG>.
-
- Terminal names (except for the last, verbose entry) should
- be chosen using the following conventions. The particular
- piece of hardware making up the terminal should have a
- root name, thus "hp2621". This name should not contain
- hyphens. Modes that the hardware can be in, or user pref-
- erences, should be indicated by appending a hyphen and a
- mode suffix. Thus, a vt100 in 132 column mode would be
- vt100-w. The following suffixes should be used where pos-
- sible:
-
- <STRONG>Suffix</STRONG> <STRONG>Meaning</STRONG> <STRONG>Example</STRONG>
- -<EM>nn</EM> Number of lines on the screen aaa-60
- -<EM>n</EM>p Number of pages of memory c100-4p
- -am With automargins (usually the default) vt100-am
- -m Mono mode; suppress color ansi-m
- -mc Magic cookie; spaces when highlighting wy30-mc
- -na No arrow keys (leave them in local) c100-na
- -nam Without automatic margins vt100-nam
- -nl No status line att4415-nl
- -ns No status line hp2626-ns
- -rv Reverse video c100-rv
- -s Enable status line vt100-s
- -vb Use visible bell instead of beep wy370-vb
-
- -w Wide mode (&gt; 80 columns, usually 132) vt100-w
-
- For more on terminal naming conventions, see the <STRONG>term(7)</STRONG>
- manual page.
-
- <STRONG>Predefined</STRONG> <STRONG>Capabilities</STRONG>
- The following is a complete table of the capabilities
- included in a terminfo description block and available to
- terminfo-using code. In each line of the table,
-
- The <STRONG>variable</STRONG> is the name by which the programmer (at the
- terminfo level) accesses the capability.
-
- The <STRONG>capname</STRONG> is the short name used in the text of the
- database, and is used by a person updating the database.
- Whenever possible, capnames are chosen to be the same as
- or similar to the ANSI X3.64-1979 standard (now superseded
- by ECMA-48, which uses identical or very similar names).
- Semantics are also intended to match those of the specifi-
- cation.
-
- The termcap code is the old <STRONG>termcap</STRONG> capability name (some
- capabilities are new, and have names which termcap did not
- originate).
-
- Capability names have no hard length limit, but an infor-
- mal limit of 5 characters has been adopted to keep them
- short and to allow the tabs in the source file <STRONG>Caps</STRONG> to
- line up nicely.
-
- Finally, the description field attempts to convey the
- semantics of the capability. You may find some codes in
- the description field:
+</PRE><H2><a name="h2-DESCRIPTION">DESCRIPTION</a></H2><PRE>
+ <EM>Terminfo</EM> is a data base describing terminals, used by screen-oriented
+ programs such as <STRONG>nvi(1)</STRONG>, <STRONG>lynx(1)</STRONG>, <STRONG>mutt(1)</STRONG>, and other curses applica-
+ tions, using high-level calls to libraries such as <STRONG><A HREF="ncurses.3x.html">curses(3x)</A></STRONG>. It is
+ also used via low-level calls by non-curses applications which may be
+ screen-oriented (such as <STRONG><A HREF="clear.1.html">clear(1)</A></STRONG>) or non-screen (such as <STRONG><A HREF="tabs.1.html">tabs(1)</A></STRONG>).
+
+ <EM>Terminfo</EM> describes terminals by giving a set of capabilities which they
+ have, by specifying how to perform screen operations, and by specifying
+ padding requirements and initialization sequences.
+
+ This manual describes <STRONG>ncurses</STRONG> version 6.1 (patch 20200118).
+
+
+</PRE><H3><a name="h3-Terminfo-Entry-Syntax">Terminfo 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
+ with a backslash or written as "\054").
+
+ <STRONG>o</STRONG> White space between fields is ignored.
+
+ <STRONG>o</STRONG> The first field in a <EM>terminfo</EM> entry begins in the first column.
+
+ <STRONG>o</STRONG> Newlines and leading whitespace (spaces or tabs) may be used for
+ formatting entries for readability. These are removed from parsed
+ entries.
+
+ The <STRONG>infocmp</STRONG> <STRONG>-f</STRONG> and <STRONG>-W</STRONG> options rely on this to format if-then-else
+ expressions, or to enforce maximum line-width. The resulting for-
+ matted terminal description can be read by <STRONG>tic</STRONG>.
+
+ <STRONG>o</STRONG> The first field for each terminal gives the names which are known
+ for the terminal, separated by "|" characters.
+
+ The first name given is the most common abbreviation for the termi-
+ nal (its primary name), the last name given should be a long name
+ fully identifying the terminal (see <STRONG><A HREF="curs_termattrs.3x.html">longname(3x)</A></STRONG>), and all others
+ are treated as synonyms (aliases) for the primary terminal name.
+
+ X/Open Curses advises that all names but the last should be in
+ lower case and contain no blanks; the last name may well contain
+ upper case and blanks for readability.
+
+ This implementation is not so strict; it allows mixed case in the
+ primary name and aliases. If the last name has no embedded blanks,
+ it allows that to be both an alias and a verbose name (but will
+ warn about this ambiguity).
+
+ <STRONG>o</STRONG> Lines beginning with a "#" in the first column are treated as com-
+ ments.
+
+ While comment lines are legal at any point, the output of <STRONG>captoinfo</STRONG>
+ and <STRONG>infotocap</STRONG> (aliases for <STRONG>tic</STRONG>) will move comments so they occur
+ only between entries.
+
+ Terminal names (except for the last, verbose entry) should be chosen
+ using the following conventions. The particular piece of hardware mak-
+ ing up the terminal should have a root name, thus "hp2621". This name
+ should not contain hyphens. Modes that the hardware can be in, or user
+ preferences, should be indicated by appending a hyphen and a mode suf-
+ fix. Thus, a vt100 in 132-column mode would be vt100-w. The following
+ suffixes should be used where possible:
+
+ <STRONG>Suffix</STRONG> <STRONG>Meaning</STRONG> <STRONG>Example</STRONG>
+ -<EM>nn</EM> Number of lines on the screen aaa-60
+ -<EM>n</EM>p Number of pages of memory c100-4p
+ -am With automargins (usually the default) vt100-am
+ -m Mono mode; suppress color ansi-m
+ -mc Magic cookie; spaces when highlighting wy30-mc
+ -na No arrow keys (leave them in local) c100-na
+ -nam Without automatic margins vt100-nam
+ -nl No status line att4415-nl
+ -ns No status line hp2626-ns
+ -rv Reverse video c100-rv
+ -s Enable status line vt100-s
+ -vb Use visible bell instead of beep wy370-vb
+ -w Wide mode (&gt; 80 columns, usually 132) vt100-w
+
+ 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>
+ The terminfo entry consists of several <EM>capabilities</EM>, i.e., features
+ that the terminal has, or methods for exercising the terminal's fea-
+ tures.
+
+ After the first field (giving the name(s) of the terminal entry), there
+ should be one or more <EM>capability</EM> fields. These are boolean, numeric or
+ string names with corresponding values:
+
+ <STRONG>o</STRONG> Boolean capabilities are true when present, false when absent.
+ There is no explicit value for boolean capabilities.
+
+ <STRONG>o</STRONG> Numeric capabilities have a "#" following the name, then an
+ unsigned decimal integer value.
+
+ <STRONG>o</STRONG> String capabilities have a "=" following the name, then an string
+ of characters making up the capability value.
+
+ String capabilities can be split into multiple lines, just as the
+ fields comprising a terminal entry can be split into multiple
+ lines. While blanks between fields are ignored, blanks embedded
+ within a string value are retained, except for leading blanks on a
+ line.
+
+ Any capability can be <EM>canceled</EM>, i.e., suppressed from the terminal
+ entry, by following its name with "@" rather than a capability value.
+
+
+</PRE><H3><a name="h3-Similar-Terminals">Similar Terminals</a></H3><PRE>
+ If there are two very similar terminals, one (the variant) can be
+ defined as being just like the other (the base) with certain excep-
+ tions. In the definition of the variant, the string capability <STRONG>use</STRONG> can
+ be given with the name of the base terminal:
+
+ <STRONG>o</STRONG> The capabilities given before <STRONG>use</STRONG> override those in the base type
+ named by <STRONG>use</STRONG>.
+
+ <STRONG>o</STRONG> If there are multiple <STRONG>use</STRONG> capabilities, they are merged in reverse
+ order. That is, the rightmost <STRONG>use</STRONG> reference is processed first,
+ then the one to its left, and so forth.
+
+ <STRONG>o</STRONG> Capabilities given explicitly in the entry override those brought
+ in by <STRONG>use</STRONG> references.
+
+ A capability can be canceled by placing <STRONG>xx@</STRONG> to the left of the use ref-
+ erence that imports it, where <EM>xx</EM> is the capability. For example, the
+ entry
+
+ 2621-nl, smkx@, rmkx@, use=2621,
+
+ defines a 2621-nl that does not have the <STRONG>smkx</STRONG> or <STRONG>rmkx</STRONG> capabilities, and
+ hence does not turn on the function key labels when in visual mode.
+ This is useful for different modes for a terminal, or for different
+ user preferences.
+
+ An entry included via <STRONG>use</STRONG> can contain canceled capabilities, which have
+ the same effect as if those cancels were inline in the using terminal
+ entry.
+
+
+</PRE><H3><a name="h3-Predefined-Capabilities">Predefined Capabilities</a></H3><PRE>
+ The following is a complete table of the capabilities included in a
+ terminfo description block and available to terminfo-using code. In
+ each line of the table,
+
+ The <STRONG>variable</STRONG> is the name by which the programmer (at the terminfo
+ level) accesses the capability.
+
+ The <STRONG>capname</STRONG> is the short name used in the text of the database, and is
+ used by a person updating the database. Whenever possible, capnames
+ are chosen to be the same as or similar to the ANSI X3.64-1979 standard
+ (now superseded by ECMA-48, which uses identical or very similar
+ names). Semantics are also intended to match those of the specifica-
+ tion.
+
+ The termcap code is the old <STRONG>termcap</STRONG> capability name (some capabilities
+ are new, and have names which termcap did not originate).
+
+ Capability names have no hard length limit, but an informal limit of 5
+ characters has been adopted to keep them short and to allow the tabs in
+ the source file <STRONG>Caps</STRONG> to line up nicely.
+
+ Finally, the description field attempts to convey the semantics of the
+ capability. You may find some codes in the description field:
(P) indicates that padding may be specified
- #[1-9] in the description field indicates that the string
- is passed through tparm with parms as given (#<EM>i</EM>).
+ #[1-9] in the description field indicates that the string is passed
+ through tparm with parms as given (#<EM>i</EM>).
- (P*) indicates that padding may vary in proportion to
- the number of lines affected
+ (P*) indicates that padding may vary in proportion to the number of
+ lines affected
(#<EM>i</EM>) indicates the <EM>i</EM>th parameter.
@@ -175,899 +273,895 @@
These are the boolean capabilities:
- <STRONG>Variable</STRONG> <STRONG>Cap-</STRONG> <STRONG>TCap</STRONG> <STRONG>Description</STRONG>
- <STRONG>Booleans</STRONG> <STRONG>name</STRONG> <STRONG>Code</STRONG>
- auto_left_margin bw bw cub1 wraps from col-
- umn 0 to last column
- auto_right_margin am am terminal has auto-
- matic margins
- back_color_erase bce ut screen erased with
- background color
- can_change ccc cc terminal can re-
- define existing col-
- ors
- ceol_standout_glitch xhp xs standout not erased
- by overwriting (hp)
- col_addr_glitch xhpa YA only positive motion
- for hpa/mhpa caps
-
-
-
- cpi_changes_res cpix YF changing character
- pitch changes reso-
- lution
- cr_cancels_micro_mode crxm YB using cr turns off
- micro mode
- dest_tabs_magic_smso xt xt tabs destructive,
- magic so char
- (t1061)
- eat_newline_glitch xenl xn newline ignored
- after 80 cols (con-
- cept)
- erase_overstrike eo eo can erase over-
- strikes with a blank
- generic_type gn gn generic line type
- hard_copy hc hc hardcopy terminal
- hard_cursor chts HC cursor is hard to
- see
- has_meta_key km km Has a meta key
- (i.e., sets 8th-bit)
- has_print_wheel daisy YC printer needs opera-
- tor to change char-
- acter set
- has_status_line hs hs has extra status
- line
- hue_lightness_saturation hls hl terminal uses only
- HLS color notation
- (Tektronix)
- insert_null_glitch in in insert mode distin-
- guishes nulls
- lpi_changes_res lpix YG changing line pitch
- changes resolution
- memory_above da da display may be
- retained above the
- screen
- memory_below db db display may be
- retained below the
- screen
- move_insert_mode mir mi safe to move while
- in insert mode
- move_standout_mode msgr ms safe to move while
- in standout mode
- needs_xon_xoff nxon nx padding will not
- work, xon/xoff
- required
- no_esc_ctlc xsb xb beehive (f1=escape,
- f2=ctrl C)
- no_pad_char npc NP pad character does
- not exist
- non_dest_scroll_region ndscr ND scrolling region is
- non-destructive
- non_rev_rmcup nrrmc NR smcup does not
- reverse rmcup
- over_strike os os terminal can over-
- strike
- prtr_silent mc5i 5i printer will not
- echo on screen
- row_addr_glitch xvpa YD only positive motion
- for vpa/mvpa caps
- semi_auto_right_margin sam YE printing in last
- column causes cr
- status_line_esc_ok eslok es escape can be used
- on the status line
- tilde_glitch hz hz cannot print ~'s
- (hazeltine)
-
-
- transparent_underline ul ul underline character
- overstrikes
- xon_xoff xon xo terminal uses
- xon/xoff handshaking
+ <STRONG>Variable</STRONG> <STRONG>Cap-</STRONG> <STRONG>TCap</STRONG> <STRONG>Description</STRONG>
+ <STRONG>Booleans</STRONG> <STRONG>name</STRONG> <STRONG>Code</STRONG>
+ auto_left_margin bw bw cub1 wraps from col-
+ umn 0 to last column
+ auto_right_margin am am terminal has auto-
+ matic margins
+ back_color_erase bce ut screen erased with
+ background color
+
+
+
+ can_change ccc cc terminal can re-
+ define existing col-
+ ors
+ ceol_standout_glitch xhp xs standout not erased
+ by overwriting (hp)
+ col_addr_glitch xhpa YA only positive motion
+ for hpa/mhpa caps
+ cpi_changes_res cpix YF changing character
+ pitch changes reso-
+ lution
+ cr_cancels_micro_mode crxm YB using cr turns off
+ micro mode
+ dest_tabs_magic_smso xt xt tabs destructive,
+ magic so char
+ (t1061)
+ eat_newline_glitch xenl xn newline ignored
+ after 80 cols (con-
+ cept)
+ erase_overstrike eo eo can erase over-
+ strikes with a blank
+ generic_type gn gn generic line type
+ hard_copy hc hc hardcopy terminal
+ hard_cursor chts HC cursor is hard to
+ see
+ has_meta_key km km Has a meta key
+ (i.e., sets 8th-bit)
+ has_print_wheel daisy YC printer needs opera-
+ tor to change char-
+ acter set
+ has_status_line hs hs has extra status
+ line
+ hue_lightness_saturation hls hl terminal uses only
+ HLS color notation
+ (Tektronix)
+ insert_null_glitch in in insert mode distin-
+ guishes nulls
+ lpi_changes_res lpix YG changing line pitch
+ changes resolution
+ memory_above da da display may be
+ retained above the
+ screen
+ memory_below db db display may be
+ retained below the
+ screen
+ move_insert_mode mir mi safe to move while
+ in insert mode
+ move_standout_mode msgr ms safe to move while
+ in standout mode
+ needs_xon_xoff nxon nx padding will not
+ work, xon/xoff
+ required
+ no_esc_ctlc xsb xb beehive (f1=escape,
+ f2=ctrl C)
+ no_pad_char npc NP pad character does
+ not exist
+ non_dest_scroll_region ndscr ND scrolling region is
+ non-destructive
+ non_rev_rmcup nrrmc NR smcup does not
+ reverse rmcup
+ over_strike os os terminal can over-
+ strike
+ prtr_silent mc5i 5i printer will not
+ echo on screen
+ row_addr_glitch xvpa YD only positive motion
+ for vpa/mvpa caps
+
+ semi_auto_right_margin sam YE printing in last
+ column causes cr
+ status_line_esc_ok eslok es escape can be used
+ on the status line
+ tilde_glitch hz hz cannot print ~'s
+ (Hazeltine)
+ transparent_underline ul ul underline character
+ overstrikes
+ xon_xoff xon xo terminal uses
+ xon/xoff handshaking
These are the numeric capabilities:
- <STRONG>Variable</STRONG> <STRONG>Cap-</STRONG> <STRONG>TCap</STRONG> <STRONG>Description</STRONG>
- <STRONG>Numeric</STRONG> <STRONG>name</STRONG> <STRONG>Code</STRONG>
- columns cols co number of columns in
- a line
- init_tabs it it tabs initially every
- # spaces
- label_height lh lh rows in each label
- label_width lw lw columns in each
- label
- lines lines li number of lines on
- screen or page
- lines_of_memory lm lm lines of memory if &gt;
- line. 0 means varies
- magic_cookie_glitch xmc sg number of blank
- characters left by
- smso or rmso
- max_attributes ma ma maximum combined
- attributes terminal
- can handle
- max_colors colors Co maximum number of
- colors on screen
- max_pairs pairs pa maximum number of
- color-pairs on the
- screen
- maximum_windows wnum MW maximum number of
- defineable windows
- no_color_video ncv NC video attributes
- that cannot be used
- with colors
- num_labels nlab Nl number of labels on
- screen
- padding_baud_rate pb pb lowest baud rate
- where padding needed
- virtual_terminal vt vt virtual terminal
- number (CB/unix)
- width_status_line wsl ws number of columns in
- status line
-
- The following numeric capabilities are present in the
- SVr4.0 term structure, but are not yet documented in the
- man page. They came in with SVr4's printer support.
-
-
- <STRONG>Variable</STRONG> <STRONG>Cap-</STRONG> <STRONG>TCap</STRONG> <STRONG>Description</STRONG>
- <STRONG>Numeric</STRONG> <STRONG>name</STRONG> <STRONG>Code</STRONG>
- bit_image_entwining bitwin Yo number of passes for
- each bit-image row
- bit_image_type bitype Yp type of bit-image
- device
- buffer_capacity bufsz Ya numbers of bytes
- buffered before
- printing
- buttons btns BT number of buttons on
- mouse
- dot_horz_spacing spinh Yc spacing of dots hor-
- izontally in dots
- per inch
-
- dot_vert_spacing spinv Yb spacing of pins ver-
- tically in pins per
- inch
- max_micro_address maddr Yd maximum value in
- micro_..._address
- max_micro_jump mjump Ye maximum value in
- parm_..._micro
- micro_col_size mcs Yf character step size
- when in micro mode
- micro_line_size mls Yg line step size when
- in micro mode
- number_of_pins npins Yh numbers of pins in
- print-head
- output_res_char orc Yi horizontal resolu-
- tion in units per
- line
- output_res_horz_inch orhi Yk horizontal resolu-
- tion in units per
- inch
- output_res_line orl Yj vertical resolution
- in units per line
- output_res_vert_inch orvi Yl vertical resolution
- in units per inch
- print_rate cps Ym print rate in char-
- acters per second
- wide_char_size widcs Yn character step size
- when in double wide
- mode
+ <STRONG>Variable</STRONG> <STRONG>Cap-</STRONG> <STRONG>TCap</STRONG> <STRONG>Description</STRONG>
+ <STRONG>Numeric</STRONG> <STRONG>name</STRONG> <STRONG>Code</STRONG>
+ columns cols co number of columns in
+ a line
+ init_tabs it it tabs initially every
+ # spaces
+ label_height lh lh rows in each label
+ label_width lw lw columns in each
+ label
+ lines lines li number of lines on
+ screen or page
+ lines_of_memory lm lm lines of memory if &gt;
+ line. 0 means varies
+ magic_cookie_glitch xmc sg number of blank
+ characters left by
+ smso or rmso
+ max_attributes ma ma maximum combined
+ attributes terminal
+ can handle
+ max_colors colors Co maximum number of
+ colors on screen
+ max_pairs pairs pa maximum number of
+ color-pairs on the
+ screen
+ maximum_windows wnum MW maximum number of
+ definable windows
+ no_color_video ncv NC video attributes
+ that cannot be used
+ with colors
+ num_labels nlab Nl number of labels on
+ screen
+ padding_baud_rate pb pb lowest baud rate
+ where padding needed
+ virtual_terminal vt vt virtual terminal
+ number (CB/unix)
+ width_status_line wsl ws number of columns in
+ status line
+
+ The following numeric capabilities are present in the SVr4.0 term
+ structure, but are not yet documented in the man page. They came in
+ with SVr4's printer support.
+
+
+ <STRONG>Variable</STRONG> <STRONG>Cap-</STRONG> <STRONG>TCap</STRONG> <STRONG>Description</STRONG>
+ <STRONG>Numeric</STRONG> <STRONG>name</STRONG> <STRONG>Code</STRONG>
+ bit_image_entwining bitwin Yo number of passes for
+ each bit-image row
+ bit_image_type bitype Yp type of bit-image
+ device
+
+
+
+ buffer_capacity bufsz Ya numbers of bytes
+ buffered before
+ printing
+ buttons btns BT number of buttons on
+ mouse
+ dot_horz_spacing spinh Yc spacing of dots hor-
+ izontally in dots
+ per inch
+ dot_vert_spacing spinv Yb spacing of pins ver-
+ tically in pins per
+ inch
+ max_micro_address maddr Yd maximum value in
+ micro_..._address
+ max_micro_jump mjump Ye maximum value in
+ parm_..._micro
+ micro_col_size mcs Yf character step size
+ when in micro mode
+ micro_line_size mls Yg line step size when
+ in micro mode
+ number_of_pins npins Yh numbers of pins in
+ print-head
+ output_res_char orc Yi horizontal resolu-
+ tion in units per
+ line
+ output_res_horz_inch orhi Yk horizontal resolu-
+ tion in units per
+ inch
+ output_res_line orl Yj vertical resolution
+ in units per line
+ output_res_vert_inch orvi Yl vertical resolution
+ in units per inch
+ print_rate cps Ym print rate in char-
+ acters per second
+ wide_char_size widcs Yn character step size
+ when in double wide
+ mode
These are the string capabilities:
- <STRONG>Variable</STRONG> <STRONG>Cap-</STRONG> <STRONG>TCap</STRONG> <STRONG>Description</STRONG>
- <STRONG>String</STRONG> <STRONG>name</STRONG> <STRONG>Code</STRONG>
- acs_chars acsc ac graphics charset
- pairs, based on
- vt100
- back_tab cbt bt back tab (P)
- bell bel bl audible signal
- (bell) (P)
- carriage_return cr cr carriage return (P*)
- (P*)
- change_char_pitch cpi ZA Change number of
- characters per inch
- to #1
- change_line_pitch lpi ZB Change number of
- lines per inch to #1
- change_res_horz chr ZC Change horizontal
- resolution to #1
- change_res_vert cvr ZD Change vertical res-
- olution to #1
- change_scroll_region csr cs change region to
- line #1 to line #2
- (P)
- char_padding rmp rP like ip but when in
- insert mode
- clear_all_tabs tbc ct clear all tab stops
- (P)
- clear_margins mgc MC clear right and left
- soft margins
- clear_screen clear cl clear screen and
- home cursor (P*)
- clr_bol el1 cb Clear to beginning
- of line
-
-
- clr_eol el ce clear to end of line
- (P)
- clr_eos ed cd clear to end of
- screen (P*)
- column_address hpa ch horizontal position
- #1, absolute (P)
- command_character cmdch CC terminal settable
- cmd character in
- prototype !?
- create_window cwin CW define a window #1
- from #2,#3 to #4,#5
- cursor_address cup cm move to row #1 col-
- umns #2
- cursor_down cud1 do down one line
- cursor_home home ho home cursor (if no
- cup)
- cursor_invisible civis vi make cursor invisi-
- ble
- cursor_left cub1 le move left one space
- cursor_mem_address mrcup CM memory relative cur-
- sor addressing, move
- to row #1 columns #2
- cursor_normal cnorm ve make cursor appear
- normal (undo
- civis/cvvis)
- cursor_right cuf1 nd non-destructive
- space (move right
- one space)
- cursor_to_ll ll ll last line, first
- column (if no cup)
- cursor_up cuu1 up up one line
- cursor_visible cvvis vs make cursor very
- visible
- define_char defc ZE Define a character
- #1, #2 dots wide,
- descender #3
- delete_character dch1 dc delete character
- (P*)
- delete_line dl1 dl delete line (P*)
- dial_phone dial DI dial number #1
- dis_status_line dsl ds disable status line
- display_clock dclk DK display clock
- down_half_line hd hd half a line down
- ena_acs enacs eA enable alternate
- char set
- enter_alt_charset_mode smacs as start alternate
- character set (P)
- enter_am_mode smam SA turn on automatic
- margins
- enter_blink_mode blink mb turn on blinking
- enter_bold_mode bold md turn on bold (extra
- bright) mode
- enter_ca_mode smcup ti string to start pro-
- grams using cup
- enter_delete_mode smdc dm enter delete mode
- enter_dim_mode dim mh turn on half-bright
- mode
- enter_doublewide_mode swidm ZF Enter double-wide
- mode
- enter_draft_quality sdrfq ZG Enter draft-quality
- mode
- enter_insert_mode smir im enter insert mode
- enter_italics_mode sitm ZH Enter italic mode
- enter_leftward_mode slm ZI Start leftward car-
- riage motion
-
- enter_micro_mode smicm ZJ Start micro-motion
- mode
- enter_near_letter_quality snlq ZK Enter NLQ mode
- enter_normal_quality snrmq ZL Enter normal-quality
- mode
- enter_protected_mode prot mp turn on protected
- mode
- enter_reverse_mode rev mr turn on reverse
- video mode
- enter_secure_mode invis mk turn on blank mode
- (characters invisi-
- ble)
- enter_shadow_mode sshm ZM Enter shadow-print
- mode
- enter_standout_mode smso so begin standout mode
- enter_subscript_mode ssubm ZN Enter subscript mode
- enter_superscript_mode ssupm ZO Enter superscript
- mode
- enter_underline_mode smul us begin underline mode
- enter_upward_mode sum ZP Start upward car-
- riage motion
- enter_xon_mode smxon SX turn on xon/xoff
- handshaking
- erase_chars ech ec erase #1 characters
- (P)
- exit_alt_charset_mode rmacs ae end alternate char-
- acter set (P)
- exit_am_mode rmam RA turn off automatic
- margins
- exit_attribute_mode sgr0 me turn off all
- attributes
- exit_ca_mode rmcup te strings to end pro-
- grams using cup
- exit_delete_mode rmdc ed end delete mode
- exit_doublewide_mode rwidm ZQ End double-wide mode
- exit_insert_mode rmir ei exit insert mode
- exit_italics_mode ritm ZR End italic mode
- exit_leftward_mode rlm ZS End left-motion mode
- exit_micro_mode rmicm ZT End micro-motion
- mode
- exit_shadow_mode rshm ZU End shadow-print
- mode
- exit_standout_mode rmso se exit standout mode
- exit_subscript_mode rsubm ZV End subscript mode
- exit_superscript_mode rsupm ZW End superscript mode
- exit_underline_mode rmul ue exit underline mode
- exit_upward_mode rum ZX End reverse charac-
- ter motion
- exit_xon_mode rmxon RX turn off xon/xoff
- handshaking
- fixed_pause pause PA pause for 2-3 sec-
- onds
- flash_hook hook fh flash switch hook
- flash_screen flash vb visible bell (may
- not move cursor)
- form_feed ff ff hardcopy terminal
- page eject (P*)
- from_status_line fsl fs return from status
- line
- goto_window wingo WG go to window #1
- hangup hup HU hang-up phone
- init_1string is1 i1 initialization
- string
- init_2string is2 is initialization
- string
-
- init_3string is3 i3 initialization
- string
- init_file if if name of initializa-
- tion file
- init_prog iprog iP path name of program
- for initialization
- initialize_color initc Ic initialize color #1
- to (#2,#3,#4)
- initialize_pair initp Ip Initialize color
- pair #1 to
- fg=(#2,#3,#4),
- bg=(#5,#6,#7)
- insert_character ich1 ic insert character (P)
- insert_line il1 al insert line (P*)
- insert_padding ip ip insert padding after
- inserted character
- key_a1 ka1 K1 upper left of keypad
- key_a3 ka3 K3 upper right of key-
- pad
- key_b2 kb2 K2 center of keypad
- key_backspace kbs kb backspace key
- key_beg kbeg @1 begin key
- key_btab kcbt kB back-tab key
- key_c1 kc1 K4 lower left of keypad
- key_c3 kc3 K5 lower right of key-
- pad
- key_cancel kcan @2 cancel key
- key_catab ktbc ka clear-all-tabs key
- key_clear kclr kC clear-screen or
- erase key
- key_close kclo @3 close key
- key_command kcmd @4 command key
- key_copy kcpy @5 copy key
- key_create kcrt @6 create key
- key_ctab kctab kt clear-tab key
- key_dc kdch1 kD delete-character key
- key_dl kdl1 kL delete-line key
- key_down kcud1 kd down-arrow key
- key_eic krmir kM sent by rmir or smir
- in insert mode
- key_end kend @7 end key
- key_enter kent @8 enter/send key
- key_eol kel kE clear-to-end-of-line
- key
- key_eos ked kS clear-to-end-of-
- screen key
- key_exit kext @9 exit key
- key_f0 kf0 k0 F0 function key
- key_f1 kf1 k1 F1 function key
- key_f10 kf10 k; F10 function key
- key_f11 kf11 F1 F11 function key
- key_f12 kf12 F2 F12 function key
- key_f13 kf13 F3 F13 function key
- key_f14 kf14 F4 F14 function key
- key_f15 kf15 F5 F15 function key
- key_f16 kf16 F6 F16 function key
- key_f17 kf17 F7 F17 function key
- key_f18 kf18 F8 F18 function key
- key_f19 kf19 F9 F19 function key
- key_f2 kf2 k2 F2 function key
- key_f20 kf20 FA F20 function key
- key_f21 kf21 FB F21 function key
- key_f22 kf22 FC F22 function key
- key_f23 kf23 FD F23 function key
- key_f24 kf24 FE F24 function key
-
- key_f25 kf25 FF F25 function key
- key_f26 kf26 FG F26 function key
- key_f27 kf27 FH F27 function key
- key_f28 kf28 FI F28 function key
- key_f29 kf29 FJ F29 function key
- key_f3 kf3 k3 F3 function key
- key_f30 kf30 FK F30 function key
- key_f31 kf31 FL F31 function key
- key_f32 kf32 FM F32 function key
- key_f33 kf33 FN F33 function key
- key_f34 kf34 FO F34 function key
- key_f35 kf35 FP F35 function key
- key_f36 kf36 FQ F36 function key
- key_f37 kf37 FR F37 function key
- key_f38 kf38 FS F38 function key
- key_f39 kf39 FT F39 function key
- key_f4 kf4 k4 F4 function key
- key_f40 kf40 FU F40 function key
- key_f41 kf41 FV F41 function key
- key_f42 kf42 FW F42 function key
- key_f43 kf43 FX F43 function key
- key_f44 kf44 FY F44 function key
- key_f45 kf45 FZ F45 function key
- key_f46 kf46 Fa F46 function key
- key_f47 kf47 Fb F47 function key
- key_f48 kf48 Fc F48 function key
- key_f49 kf49 Fd F49 function key
- key_f5 kf5 k5 F5 function key
- key_f50 kf50 Fe F50 function key
- key_f51 kf51 Ff F51 function key
- key_f52 kf52 Fg F52 function key
- key_f53 kf53 Fh F53 function key
- key_f54 kf54 Fi F54 function key
- key_f55 kf55 Fj F55 function key
- key_f56 kf56 Fk F56 function key
- key_f57 kf57 Fl F57 function key
- key_f58 kf58 Fm F58 function key
- key_f59 kf59 Fn F59 function key
- key_f6 kf6 k6 F6 function key
- key_f60 kf60 Fo F60 function key
- key_f61 kf61 Fp F61 function key
- key_f62 kf62 Fq F62 function key
- key_f63 kf63 Fr F63 function key
- key_f7 kf7 k7 F7 function key
- key_f8 kf8 k8 F8 function key
- key_f9 kf9 k9 F9 function key
- key_find kfnd @0 find key
- key_help khlp %1 help key
- key_home khome kh home key
- key_ic kich1 kI insert-character key
- key_il kil1 kA insert-line key
- key_left kcub1 kl left-arrow key
- key_ll kll kH lower-left key (home
- down)
- key_mark kmrk %2 mark key
- key_message kmsg %3 message key
- key_move kmov %4 move key
- key_next knxt %5 next key
- key_npage knp kN next-page key
- key_open kopn %6 open key
- key_options kopt %7 options key
- key_ppage kpp kP previous-page key
- key_previous kprv %8 previous key
- key_print kprt %9 print key
- key_redo krdo %0 redo key
-
- key_reference kref &amp;1 reference key
- key_refresh krfr &amp;2 refresh key
- key_replace krpl &amp;3 replace key
- key_restart krst &amp;4 restart key
- key_resume kres &amp;5 resume key
- key_right kcuf1 kr right-arrow key
- key_save ksav &amp;6 save key
- key_sbeg kBEG &amp;9 shifted begin key
- key_scancel kCAN &amp;0 shifted cancel key
- key_scommand kCMD *1 shifted command key
- key_scopy kCPY *2 shifted copy key
- key_screate kCRT *3 shifted create key
- key_sdc kDC *4 shifted delete-char-
- acter key
- key_sdl kDL *5 shifted delete-line
- key
- key_select kslt *6 select key
- key_send kEND *7 shifted end key
- key_seol kEOL *8 shifted clear-to-
- end-of-line key
- key_sexit kEXT *9 shifted exit key
- key_sf kind kF scroll-forward key
- key_sfind kFND *0 shifted find key
- key_shelp kHLP #1 shifted help key
- key_shome kHOM #2 shifted home key
- key_sic kIC #3 shifted insert-char-
- acter key
- key_sleft kLFT #4 shifted left-arrow
- key
- key_smessage kMSG %a shifted message key
- key_smove kMOV %b shifted move key
- key_snext kNXT %c shifted next key
- key_soptions kOPT %d shifted options key
- key_sprevious kPRV %e shifted previous key
- key_sprint kPRT %f shifted print key
- key_sr kri kR scroll-backward key
- key_sredo kRDO %g shifted redo key
- key_sreplace kRPL %h shifted replace key
- key_sright kRIT %i shifted right-arrow
- key
- key_srsume kRES %j shifted resume key
- key_ssave kSAV !1 shifted save key
- key_ssuspend kSPD !2 shifted suspend key
- key_stab khts kT set-tab key
- key_sundo kUND !3 shifted undo key
- key_suspend kspd &amp;7 suspend key
- key_undo kund &amp;8 undo key
- key_up kcuu1 ku up-arrow key
- keypad_local rmkx ke leave 'key-
- board_transmit' mode
- keypad_xmit smkx ks enter 'key-
- board_transmit' mode
- lab_f0 lf0 l0 label on function
- key f0 if not f0
- lab_f1 lf1 l1 label on function
- key f1 if not f1
- lab_f10 lf10 la label on function
- key f10 if not f10
- lab_f2 lf2 l2 label on function
- key f2 if not f2
- lab_f3 lf3 l3 label on function
- key f3 if not f3
- lab_f4 lf4 l4 label on function
- key f4 if not f4
-
-
- lab_f5 lf5 l5 label on function
- key f5 if not f5
- lab_f6 lf6 l6 label on function
- key f6 if not f6
- lab_f7 lf7 l7 label on function
- key f7 if not f7
- lab_f8 lf8 l8 label on function
- key f8 if not f8
- lab_f9 lf9 l9 label on function
- key f9 if not f9
- label_format fln Lf label format
- label_off rmln LF turn off soft labels
- label_on smln LO turn on soft labels
- meta_off rmm mo turn off meta mode
- meta_on smm mm turn on meta mode
- (8th-bit on)
- micro_column_address mhpa ZY Like column_address
- in micro mode
- micro_down mcud1 ZZ Like cursor_down in
- micro mode
- micro_left mcub1 Za Like cursor_left in
- micro mode
- micro_right mcuf1 Zb Like cursor_right in
- micro mode
- micro_row_address mvpa Zc Like row_address #1
- in micro mode
- micro_up mcuu1 Zd Like cursor_up in
- micro mode
- newline nel nw newline (behave like
- cr followed by lf)
- order_of_pins porder Ze Match software bits
- to print-head pins
- orig_colors oc oc Set all color pairs
- to the original ones
- orig_pair op op Set default pair to
- its original value
- pad_char pad pc padding char
- (instead of null)
- parm_dch dch DC delete #1 characters
- (P*)
- parm_delete_line dl DL delete #1 lines (P*)
- parm_down_cursor cud DO down #1 lines (P*)
- parm_down_micro mcud Zf Like parm_down_cur-
- sor in micro mode
- parm_ich ich IC insert #1 characters
- (P*)
- parm_index indn SF scroll forward #1
- lines (P)
- parm_insert_line il AL insert #1 lines (P*)
- parm_left_cursor cub LE move #1 characters
- to the left (P)
- parm_left_micro mcub Zg Like parm_left_cur-
- sor in micro mode
- parm_right_cursor cuf RI move #1 characters
- to the right (P*)
- parm_right_micro mcuf Zh Like parm_right_cur-
- sor in micro mode
- parm_rindex rin SR scroll back #1 lines
- (P)
- parm_up_cursor cuu UP up #1 lines (P*)
- parm_up_micro mcuu Zi Like parm_up_cursor
- in micro mode
- pkey_key pfkey pk program function key
- #1 to type string #2
-
-
- pkey_local pfloc pl program function key
- #1 to execute string
- #2
- pkey_xmit pfx px program function key
- #1 to transmit
- string #2
- plab_norm pln pn program label #1 to
- show string #2
- print_screen mc0 ps print contents of
- screen
- prtr_non mc5p pO turn on printer for
- #1 bytes
- prtr_off mc4 pf turn off printer
- prtr_on mc5 po turn on printer
- pulse pulse PU select pulse dialing
- quick_dial qdial QD dial number #1 with-
- out checking
- remove_clock rmclk RC remove clock
- repeat_char rep rp repeat char #1 #2
- times (P*)
- req_for_input rfi RF send next input char
- (for ptys)
- reset_1string rs1 r1 reset string
- reset_2string rs2 r2 reset string
- reset_3string rs3 r3 reset string
- reset_file rf rf name of reset file
- restore_cursor rc rc restore cursor to
- position of last
- save_cursor
- row_address vpa cv vertical position #1
- absolute (P)
- save_cursor sc sc save current cursor
- position (P)
- scroll_forward ind sf scroll text up (P)
- scroll_reverse ri sr scroll text down (P)
- select_char_set scs Zj Select character
- set, #1
- set_attributes sgr sa define video
- attributes #1-#9
- (PG9)
- set_background setb Sb Set background color
- #1
- set_bottom_margin smgb Zk Set bottom margin at
- current line
- set_bottom_margin_parm smgbp Zl Set bottom margin at
- line #1 or (if smgtp
- is not given) #2
- lines from bottom
- set_clock sclk SC set clock, #1 hrs #2
- mins #3 secs
- set_color_pair scp sp Set current color
- pair to #1
- set_foreground setf Sf Set foreground color
- #1
- set_left_margin smgl ML set left soft margin
- at current column.
- See smgl. (ML is not
- in BSD termcap).
- set_left_margin_parm smglp Zm Set left (right)
- margin at column #1
- set_right_margin smgr MR set right soft mar-
- gin at current col-
- umn
- set_right_margin_parm smgrp Zn Set right margin at
- column #1
-
- set_tab hts st set a tab in every
- row, current columns
- set_top_margin smgt Zo Set top margin at
- current line
- set_top_margin_parm smgtp Zp Set top (bottom)
- margin at row #1
- set_window wind wi current window is
- lines #1-#2 cols
- #3-#4
- start_bit_image sbim Zq Start printing bit
- image graphics
- start_char_set_def scsd Zr Start character set
- definition #1, with
- #2 characters in the
- set
- stop_bit_image rbim Zs Stop printing bit
- image graphics
- stop_char_set_def rcsd Zt End definition of
- character set #1
- subscript_characters subcs Zu List of subscript-
- able characters
- superscript_characters supcs Zv List of superscript-
- able characters
- tab ht ta tab to next 8-space
- hardware tab stop
- these_cause_cr docr Zw Printing any of
- these characters
- causes CR
- to_status_line tsl ts move to status line,
- column #1
- tone tone TO select touch tone
- dialing
- underline_char uc uc underline char and
- move past it
- up_half_line hu hu half a line up
- user0 u0 u0 User string #0
- user1 u1 u1 User string #1
- user2 u2 u2 User string #2
- user3 u3 u3 User string #3
- user4 u4 u4 User string #4
- user5 u5 u5 User string #5
- user6 u6 u6 User string #6
- user7 u7 u7 User string #7
- user8 u8 u8 User string #8
- user9 u9 u9 User string #9
- wait_tone wait WA wait for dial-tone
- xoff_character xoffc XF XOFF character
- xon_character xonc XN XON character
- zero_motion zerom Zx No motion for subse-
- quent character
-
- The following string capabilities are present in the
- SVr4.0 term structure, but were originally not documented
- in the man page.
-
-
- <STRONG>Variable</STRONG> <STRONG>Cap-</STRONG> <STRONG>TCap</STRONG> <STRONG>Description</STRONG>
- <STRONG>String</STRONG> <STRONG>name</STRONG> <STRONG>Code</STRONG>
- alt_scancode_esc scesa S8 Alternate escape
- for scancode emu-
- lation
- bit_image_carriage_return bicr Yv Move to beginning
- of same row
- bit_image_newline binel Zz Move to next row
- of the bit image
-
- bit_image_repeat birep Xy Repeat bit image
- cell #1 #2 times
- char_set_names csnm Zy Produce #1'th item
- from list of char-
- acter set names
- code_set_init csin ci Init sequence for
- multiple codesets
- color_names colornm Yw Give name for
- color #1
- define_bit_image_region defbi Yx Define rectan-
- gualar bit image
- region
- device_type devt dv Indicate lan-
- guage/codeset sup-
- port
- display_pc_char dispc S1 Display PC charac-
- ter #1
- end_bit_image_region endbi Yy End a bit-image
- region
- enter_pc_charset_mode smpch S2 Enter PC character
- display mode
- enter_scancode_mode smsc S4 Enter PC scancode
- mode
- exit_pc_charset_mode rmpch S3 Exit PC character
- display mode
- exit_scancode_mode rmsc S5 Exit PC scancode
- mode
- get_mouse getm Gm Curses should get
- button events,
- parameter #1 not
- documented.
- key_mouse kmous Km Mouse event has
- occurred
- mouse_info minfo Mi Mouse status
- information
- pc_term_options pctrm S6 PC terminal
- options
- pkey_plab pfxl xl Program function
- key #1 to type
- string #2 and show
- string #3
- req_mouse_pos reqmp RQ Request mouse
- position
- scancode_escape scesc S7 Escape for scan-
- code emulation
- set0_des_seq s0ds s0 Shift to codeset 0
- (EUC set 0, ASCII)
- set1_des_seq s1ds s1 Shift to codeset 1
- set2_des_seq s2ds s2 Shift to codeset 2
- set3_des_seq s3ds s3 Shift to codeset 3
- set_a_background setab AB Set background
- color to #1, using
- ANSI escape
- set_a_foreground setaf AF Set foreground
- color to #1, using
- ANSI escape
- set_color_band setcolor Yz Change to ribbon
- color #1
- set_lr_margin smglr ML Set both left and
- right margins to
- #1, #2. (ML is
- not in BSD term-
- cap).
- set_page_length slines YZ Set page length to
- #1 lines
-
- set_tb_margin smgtb MT Sets both top and
- bottom margins to
- #1, #2
-
- The XSI Curses standard added these hardcopy capabili-
- ties. They were used in some post-4.1 versions of System
- V curses, e.g., Solaris 2.5 and IRIX 6.x. Except for <STRONG>YI</STRONG>,
- the <STRONG>ncurses</STRONG> termcap names for them are invented. Accord-
- ing to the XSI Curses standard, they have no termcap
- names. If your compiled terminfo entries use these, they
- may not be binary-compatible with System V terminfo
- entries after SVr4.1; beware!
-
-
- <STRONG>Variable</STRONG> <STRONG>Cap-</STRONG> <STRONG>TCap</STRONG> <STRONG>Description</STRONG>
- <STRONG>String</STRONG> <STRONG>name</STRONG> <STRONG>Code</STRONG>
- enter_horizontal_hl_mode ehhlm Xh Enter horizontal
- highlight mode
- enter_left_hl_mode elhlm Xl Enter left highlight
- mode
- enter_low_hl_mode elohlm Xo Enter low highlight
- mode
- enter_right_hl_mode erhlm Xr Enter right high-
- light mode
- enter_top_hl_mode ethlm Xt Enter top highlight
- mode
- enter_vertical_hl_mode evhlm Xv Enter vertical high-
- light mode
- set_a_attributes sgr1 sA Define second set of
- video attributes
- #1-#6
- set_pglen_inch slengthYI Set page length to
- #1 hundredth of an
- inch (some implemen-
- tations use sL for
- termcap).
-
- <STRONG>User-Defined</STRONG> <STRONG>Capabilities</STRONG>
- The preceding section listed the <EM>predefined</EM> capabilities.
- They deal with some special features for terminals no
- longer (or possibly never) produced. Occasionally there
- are special features of newer terminals which are awkward
- or impossible to represent by reusing the predefined capa-
- bilities.
-
- <STRONG>ncurses</STRONG> addresses this limitation by allowing user-defined
- capabilities. The <STRONG>tic</STRONG> and <STRONG>infocmp</STRONG> programs provide the <STRONG>-x</STRONG>
- option for this purpose. When <STRONG>-x</STRONG> is set, <STRONG>tic</STRONG> treats
- unknown capabilities as user-defined. That is, if <STRONG>tic</STRONG>
- encounters a capability name which it does not recognize,
- it infers its type (boolean, number or string) from the
- syntax and makes an extended table entry for that capabil-
- ity. The <STRONG>use_extended_names</STRONG> function makes this informa-
- tion conditionally available to applications. The ncurses
- library provides the data leaving most of the behavior to
- applications:
-
- <STRONG>o</STRONG> User-defined capability strings whose name begins with
- "k" are treated as function keys.
-
- <STRONG>o</STRONG> The types (boolean, number, string) determined by <STRONG>tic</STRONG>
- can be inferred by successful calls on <STRONG>tigetflag</STRONG>, etc.
-
- <STRONG>o</STRONG> If the capability name happens to be two characters,
- the capability is also available through the termcap
- interface.
-
- While termcap is said to be extensible because it does not
- use a predefined set of capabilities, in practice it has
- been limited to the capabilities defined by terminfo
- implementations. As a rule, user-defined capabilities
- intended for use by termcap applications should be limited
- to booleans and numbers to avoid running past the 1023
- byte limit assumed by termcap implementations and their
- applications. In particular, providing extended sets of
- function keys (past the 60 numbered keys and the handful
- of special named keys) is best done using the longer names
- available using terminfo.
-
- <STRONG>A</STRONG> <STRONG>Sample</STRONG> <STRONG>Entry</STRONG>
- The following entry, describing an ANSI-standard terminal,
- is representative of what a <STRONG>terminfo</STRONG> entry for a modern
- terminal typically looks like.
+ <STRONG>Variable</STRONG> <STRONG>Cap-</STRONG> <STRONG>TCap</STRONG> <STRONG>Description</STRONG>
+ <STRONG>String</STRONG> <STRONG>name</STRONG> <STRONG>Code</STRONG>
+ acs_chars acsc ac graphics charset
+ pairs, based on
+ vt100
+ back_tab cbt bt back tab (P)
+ bell bel bl audible signal
+ (bell) (P)
+ carriage_return cr cr carriage return (P*)
+ (P*)
+ change_char_pitch cpi ZA Change number of
+ characters per inch
+ to #1
+ change_line_pitch lpi ZB Change number of
+ lines per inch to #1
+ change_res_horz chr ZC Change horizontal
+ resolution to #1
+ change_res_vert cvr ZD Change vertical res-
+ olution to #1
+ change_scroll_region csr cs change region to
+ line #1 to line #2
+ (P)
+ char_padding rmp rP like ip but when in
+ insert mode
+
+
+ clear_all_tabs tbc ct clear all tab stops
+ (P)
+ clear_margins mgc MC clear right and left
+ soft margins
+ clear_screen clear cl clear screen and
+ home cursor (P*)
+ clr_bol el1 cb Clear to beginning
+ of line
+ clr_eol el ce clear to end of line
+ (P)
+ clr_eos ed cd clear to end of
+ screen (P*)
+ column_address hpa ch horizontal position
+ #1, absolute (P)
+ command_character cmdch CC terminal settable
+ cmd character in
+ prototype !?
+ create_window cwin CW define a window #1
+ from #2,#3 to #4,#5
+ cursor_address cup cm move to row #1 col-
+ umns #2
+ cursor_down cud1 do down one line
+ cursor_home home ho home cursor (if no
+ cup)
+ cursor_invisible civis vi make cursor invisi-
+ ble
+ cursor_left cub1 le move left one space
+ cursor_mem_address mrcup CM memory relative cur-
+ sor addressing, move
+ to row #1 columns #2
+ cursor_normal cnorm ve make cursor appear
+ normal (undo
+ civis/cvvis)
+ cursor_right cuf1 nd non-destructive
+ space (move right
+ one space)
+ cursor_to_ll ll ll last line, first
+ column (if no cup)
+ cursor_up cuu1 up up one line
+ cursor_visible cvvis vs make cursor very
+ visible
+ define_char defc ZE Define a character
+ #1, #2 dots wide,
+ descender #3
+ delete_character dch1 dc delete character
+ (P*)
+ delete_line dl1 dl delete line (P*)
+ dial_phone dial DI dial number #1
+ dis_status_line dsl ds disable status line
+ display_clock dclk DK display clock
+ down_half_line hd hd half a line down
+ ena_acs enacs eA enable alternate
+ char set
+ enter_alt_charset_mode smacs as start alternate
+ character set (P)
+ enter_am_mode smam SA turn on automatic
+ margins
+ enter_blink_mode blink mb turn on blinking
+ enter_bold_mode bold md turn on bold (extra
+ bright) mode
+ enter_ca_mode smcup ti string to start pro-
+ grams using cup
+ enter_delete_mode smdc dm enter delete mode
+ enter_dim_mode dim mh turn on half-bright
+ mode
+
+ enter_doublewide_mode swidm ZF Enter double-wide
+ mode
+ enter_draft_quality sdrfq ZG Enter draft-quality
+ mode
+ enter_insert_mode smir im enter insert mode
+ enter_italics_mode sitm ZH Enter italic mode
+ enter_leftward_mode slm ZI Start leftward car-
+ riage motion
+ enter_micro_mode smicm ZJ Start micro-motion
+ mode
+ enter_near_letter_quality snlq ZK Enter NLQ mode
+ enter_normal_quality snrmq ZL Enter normal-quality
+ mode
+ enter_protected_mode prot mp turn on protected
+ mode
+ enter_reverse_mode rev mr turn on reverse
+ video mode
+ enter_secure_mode invis mk turn on blank mode
+ (characters invisi-
+ ble)
+ enter_shadow_mode sshm ZM Enter shadow-print
+ mode
+ enter_standout_mode smso so begin standout mode
+ enter_subscript_mode ssubm ZN Enter subscript mode
+ enter_superscript_mode ssupm ZO Enter superscript
+ mode
+ enter_underline_mode smul us begin underline mode
+ enter_upward_mode sum ZP Start upward car-
+ riage motion
+ enter_xon_mode smxon SX turn on xon/xoff
+ handshaking
+ erase_chars ech ec erase #1 characters
+ (P)
+ exit_alt_charset_mode rmacs ae end alternate char-
+ acter set (P)
+ exit_am_mode rmam RA turn off automatic
+ margins
+ exit_attribute_mode sgr0 me turn off all
+ attributes
+ exit_ca_mode rmcup te strings to end pro-
+ grams using cup
+ exit_delete_mode rmdc ed end delete mode
+ exit_doublewide_mode rwidm ZQ End double-wide mode
+ exit_insert_mode rmir ei exit insert mode
+ exit_italics_mode ritm ZR End italic mode
+ exit_leftward_mode rlm ZS End left-motion mode
+ exit_micro_mode rmicm ZT End micro-motion
+ mode
+ exit_shadow_mode rshm ZU End shadow-print
+ mode
+ exit_standout_mode rmso se exit standout mode
+ exit_subscript_mode rsubm ZV End subscript mode
+ exit_superscript_mode rsupm ZW End superscript mode
+ exit_underline_mode rmul ue exit underline mode
+ exit_upward_mode rum ZX End reverse charac-
+ ter motion
+ exit_xon_mode rmxon RX turn off xon/xoff
+ handshaking
+ fixed_pause pause PA pause for 2-3 sec-
+ onds
+ flash_hook hook fh flash switch hook
+ flash_screen flash vb visible bell (may
+ not move cursor)
+ form_feed ff ff hardcopy terminal
+ page eject (P*)
+
+ from_status_line fsl fs return from status
+ line
+ goto_window wingo WG go to window #1
+ hangup hup HU hang-up phone
+ init_1string is1 i1 initialization
+ string
+ init_2string is2 is initialization
+ string
+ init_3string is3 i3 initialization
+ string
+ init_file if if name of initializa-
+ tion file
+ init_prog iprog iP path name of program
+ for initialization
+ initialize_color initc Ic initialize color #1
+ to (#2,#3,#4)
+ initialize_pair initp Ip Initialize color
+ pair #1 to
+ fg=(#2,#3,#4),
+ bg=(#5,#6,#7)
+ insert_character ich1 ic insert character (P)
+ insert_line il1 al insert line (P*)
+ insert_padding ip ip insert padding after
+ inserted character
+ key_a1 ka1 K1 upper left of keypad
+ key_a3 ka3 K3 upper right of key-
+ pad
+ key_b2 kb2 K2 center of keypad
+ key_backspace kbs kb backspace key
+ key_beg kbeg @1 begin key
+ key_btab kcbt kB back-tab key
+ key_c1 kc1 K4 lower left of keypad
+ key_c3 kc3 K5 lower right of key-
+ pad
+ key_cancel kcan @2 cancel key
+ key_catab ktbc ka clear-all-tabs key
+ key_clear kclr kC clear-screen or
+ erase key
+ key_close kclo @3 close key
+ key_command kcmd @4 command key
+ key_copy kcpy @5 copy key
+ key_create kcrt @6 create key
+ key_ctab kctab kt clear-tab key
+ key_dc kdch1 kD delete-character key
+ key_dl kdl1 kL delete-line key
+ key_down kcud1 kd down-arrow key
+ key_eic krmir kM sent by rmir or smir
+ in insert mode
+ key_end kend @7 end key
+ key_enter kent @8 enter/send key
+ key_eol kel kE clear-to-end-of-line
+ key
+ key_eos ked kS clear-to-end-of-
+ screen key
+ key_exit kext @9 exit key
+ key_f0 kf0 k0 F0 function key
+ key_f1 kf1 k1 F1 function key
+ key_f10 kf10 k; F10 function key
+ key_f11 kf11 F1 F11 function key
+ key_f12 kf12 F2 F12 function key
+ key_f13 kf13 F3 F13 function key
+ key_f14 kf14 F4 F14 function key
+ key_f15 kf15 F5 F15 function key
+ key_f16 kf16 F6 F16 function key
+ key_f17 kf17 F7 F17 function key
+
+ key_f18 kf18 F8 F18 function key
+ key_f19 kf19 F9 F19 function key
+ key_f2 kf2 k2 F2 function key
+ key_f20 kf20 FA F20 function key
+ key_f21 kf21 FB F21 function key
+ key_f22 kf22 FC F22 function key
+ key_f23 kf23 FD F23 function key
+ key_f24 kf24 FE F24 function key
+ key_f25 kf25 FF F25 function key
+ key_f26 kf26 FG F26 function key
+ key_f27 kf27 FH F27 function key
+ key_f28 kf28 FI F28 function key
+ key_f29 kf29 FJ F29 function key
+ key_f3 kf3 k3 F3 function key
+ key_f30 kf30 FK F30 function key
+ key_f31 kf31 FL F31 function key
+ key_f32 kf32 FM F32 function key
+ key_f33 kf33 FN F33 function key
+ key_f34 kf34 FO F34 function key
+ key_f35 kf35 FP F35 function key
+ key_f36 kf36 FQ F36 function key
+ key_f37 kf37 FR F37 function key
+ key_f38 kf38 FS F38 function key
+ key_f39 kf39 FT F39 function key
+ key_f4 kf4 k4 F4 function key
+ key_f40 kf40 FU F40 function key
+ key_f41 kf41 FV F41 function key
+ key_f42 kf42 FW F42 function key
+ key_f43 kf43 FX F43 function key
+ key_f44 kf44 FY F44 function key
+ key_f45 kf45 FZ F45 function key
+ key_f46 kf46 Fa F46 function key
+ key_f47 kf47 Fb F47 function key
+ key_f48 kf48 Fc F48 function key
+ key_f49 kf49 Fd F49 function key
+ key_f5 kf5 k5 F5 function key
+ key_f50 kf50 Fe F50 function key
+ key_f51 kf51 Ff F51 function key
+ key_f52 kf52 Fg F52 function key
+ key_f53 kf53 Fh F53 function key
+ key_f54 kf54 Fi F54 function key
+ key_f55 kf55 Fj F55 function key
+ key_f56 kf56 Fk F56 function key
+ key_f57 kf57 Fl F57 function key
+ key_f58 kf58 Fm F58 function key
+ key_f59 kf59 Fn F59 function key
+ key_f6 kf6 k6 F6 function key
+ key_f60 kf60 Fo F60 function key
+ key_f61 kf61 Fp F61 function key
+ key_f62 kf62 Fq F62 function key
+ key_f63 kf63 Fr F63 function key
+ key_f7 kf7 k7 F7 function key
+ key_f8 kf8 k8 F8 function key
+ key_f9 kf9 k9 F9 function key
+ key_find kfnd @0 find key
+ key_help khlp %1 help key
+ key_home khome kh home key
+ key_ic kich1 kI insert-character key
+ key_il kil1 kA insert-line key
+ key_left kcub1 kl left-arrow key
+ key_ll kll kH lower-left key (home
+ down)
+ key_mark kmrk %2 mark key
+ key_message kmsg %3 message key
+ key_move kmov %4 move key
+
+ key_next knxt %5 next key
+ key_npage knp kN next-page key
+ key_open kopn %6 open key
+ key_options kopt %7 options key
+ key_ppage kpp kP previous-page key
+ key_previous kprv %8 previous key
+ key_print kprt %9 print key
+ key_redo krdo %0 redo key
+ key_reference kref &amp;1 reference key
+ key_refresh krfr &amp;2 refresh key
+ key_replace krpl &amp;3 replace key
+ key_restart krst &amp;4 restart key
+ key_resume kres &amp;5 resume key
+ key_right kcuf1 kr right-arrow key
+ key_save ksav &amp;6 save key
+ key_sbeg kBEG &amp;9 shifted begin key
+ key_scancel kCAN &amp;0 shifted cancel key
+ key_scommand kCMD *1 shifted command key
+ key_scopy kCPY *2 shifted copy key
+ key_screate kCRT *3 shifted create key
+ key_sdc kDC *4 shifted delete-char-
+ acter key
+ key_sdl kDL *5 shifted delete-line
+ key
+ key_select kslt *6 select key
+ key_send kEND *7 shifted end key
+ key_seol kEOL *8 shifted clear-to-
+ end-of-line key
+ key_sexit kEXT *9 shifted exit key
+ key_sf kind kF scroll-forward key
+ key_sfind kFND *0 shifted find key
+ key_shelp kHLP #1 shifted help key
+ key_shome kHOM #2 shifted home key
+ key_sic kIC #3 shifted insert-char-
+ acter key
+ key_sleft kLFT #4 shifted left-arrow
+ key
+ key_smessage kMSG %a shifted message key
+ key_smove kMOV %b shifted move key
+ key_snext kNXT %c shifted next key
+ key_soptions kOPT %d shifted options key
+ key_sprevious kPRV %e shifted previous key
+ key_sprint kPRT %f shifted print key
+ key_sr kri kR scroll-backward key
+ key_sredo kRDO %g shifted redo key
+ key_sreplace kRPL %h shifted replace key
+ key_sright kRIT %i shifted right-arrow
+ key
+ key_srsume kRES %j shifted resume key
+ key_ssave kSAV !1 shifted save key
+ key_ssuspend kSPD !2 shifted suspend key
+ key_stab khts kT set-tab key
+ key_sundo kUND !3 shifted undo key
+ key_suspend kspd &amp;7 suspend key
+ key_undo kund &amp;8 undo key
+ key_up kcuu1 ku up-arrow key
+ keypad_local rmkx ke leave 'key-
+ board_transmit' mode
+ keypad_xmit smkx ks enter 'key-
+ board_transmit' mode
+ lab_f0 lf0 l0 label on function
+ key f0 if not f0
+ lab_f1 lf1 l1 label on function
+ key f1 if not f1
+
+
+ lab_f10 lf10 la label on function
+ key f10 if not f10
+ lab_f2 lf2 l2 label on function
+ key f2 if not f2
+ lab_f3 lf3 l3 label on function
+ key f3 if not f3
+ lab_f4 lf4 l4 label on function
+ key f4 if not f4
+ lab_f5 lf5 l5 label on function
+ key f5 if not f5
+ lab_f6 lf6 l6 label on function
+ key f6 if not f6
+ lab_f7 lf7 l7 label on function
+ key f7 if not f7
+ lab_f8 lf8 l8 label on function
+ key f8 if not f8
+ lab_f9 lf9 l9 label on function
+ key f9 if not f9
+ label_format fln Lf label format
+ label_off rmln LF turn off soft labels
+ label_on smln LO turn on soft labels
+ meta_off rmm mo turn off meta mode
+ meta_on smm mm turn on meta mode
+ (8th-bit on)
+ micro_column_address mhpa ZY Like column_address
+ in micro mode
+ micro_down mcud1 ZZ Like cursor_down in
+ micro mode
+ micro_left mcub1 Za Like cursor_left in
+ micro mode
+ micro_right mcuf1 Zb Like cursor_right in
+ micro mode
+ micro_row_address mvpa Zc Like row_address #1
+ in micro mode
+ micro_up mcuu1 Zd Like cursor_up in
+ micro mode
+ newline nel nw newline (behave like
+ cr followed by lf)
+ order_of_pins porder Ze Match software bits
+ to print-head pins
+ orig_colors oc oc Set all color pairs
+ to the original ones
+ orig_pair op op Set default pair to
+ its original value
+ pad_char pad pc padding char
+ (instead of null)
+ parm_dch dch DC delete #1 characters
+ (P*)
+ parm_delete_line dl DL delete #1 lines (P*)
+ parm_down_cursor cud DO down #1 lines (P*)
+ parm_down_micro mcud Zf Like parm_down_cur-
+ sor in micro mode
+ parm_ich ich IC insert #1 characters
+ (P*)
+ parm_index indn SF scroll forward #1
+ lines (P)
+ parm_insert_line il AL insert #1 lines (P*)
+ parm_left_cursor cub LE move #1 characters
+ to the left (P)
+ parm_left_micro mcub Zg Like parm_left_cur-
+ sor in micro mode
+ parm_right_cursor cuf RI move #1 characters
+ to the right (P*)
+ parm_right_micro mcuf Zh Like parm_right_cur-
+ sor in micro mode
+
+ parm_rindex rin SR scroll back #1 lines
+ (P)
+ parm_up_cursor cuu UP up #1 lines (P*)
+ parm_up_micro mcuu Zi Like parm_up_cursor
+ in micro mode
+ pkey_key pfkey pk program function key
+ #1 to type string #2
+ pkey_local pfloc pl program function key
+ #1 to execute string
+ #2
+ pkey_xmit pfx px program function key
+ #1 to transmit
+ string #2
+ plab_norm pln pn program label #1 to
+ show string #2
+ print_screen mc0 ps print contents of
+ screen
+ prtr_non mc5p pO turn on printer for
+ #1 bytes
+ prtr_off mc4 pf turn off printer
+ prtr_on mc5 po turn on printer
+ pulse pulse PU select pulse dialing
+ quick_dial qdial QD dial number #1 with-
+ out checking
+ remove_clock rmclk RC remove clock
+ repeat_char rep rp repeat char #1 #2
+ times (P*)
+ req_for_input rfi RF send next input char
+ (for ptys)
+ reset_1string rs1 r1 reset string
+ reset_2string rs2 r2 reset string
+ reset_3string rs3 r3 reset string
+ reset_file rf rf name of reset file
+ restore_cursor rc rc restore cursor to
+ position of last
+ save_cursor
+ row_address vpa cv vertical position #1
+ absolute (P)
+ save_cursor sc sc save current cursor
+ position (P)
+ scroll_forward ind sf scroll text up (P)
+ scroll_reverse ri sr scroll text down (P)
+ select_char_set scs Zj Select character
+ set, #1
+ set_attributes sgr sa define video
+ attributes #1-#9
+ (PG9)
+ set_background setb Sb Set background color
+ #1
+ set_bottom_margin smgb Zk Set bottom margin at
+ current line
+ set_bottom_margin_parm smgbp Zl Set bottom margin at
+ line #1 or (if smgtp
+ is not given) #2
+ lines from bottom
+ set_clock sclk SC set clock, #1 hrs #2
+ mins #3 secs
+ set_color_pair scp sp Set current color
+ pair to #1
+ set_foreground setf Sf Set foreground color
+ #1
+
+
+
+
+
+ set_left_margin smgl ML set left soft margin
+ at current col-
+ umn. See smgl.
+ (ML is not in BSD
+ termcap).
+ set_left_margin_parm smglp Zm Set left (right)
+ margin at column #1
+ set_right_margin smgr MR set right soft mar-
+ gin at current col-
+ umn
+ set_right_margin_parm smgrp Zn Set right margin at
+ column #1
+ set_tab hts st set a tab in every
+ row, current columns
+ set_top_margin smgt Zo Set top margin at
+ current line
+ set_top_margin_parm smgtp Zp Set top (bottom)
+ margin at row #1
+ set_window wind wi current window is
+ lines #1-#2 cols
+ #3-#4
+ start_bit_image sbim Zq Start printing bit
+ image graphics
+ start_char_set_def scsd Zr Start character set
+ definition #1, with
+ #2 characters in the
+ set
+ stop_bit_image rbim Zs Stop printing bit
+ image graphics
+ stop_char_set_def rcsd Zt End definition of
+ character set #1
+ subscript_characters subcs Zu List of subscript-
+ able characters
+ superscript_characters supcs Zv List of superscript-
+ able characters
+ tab ht ta tab to next 8-space
+ hardware tab stop
+ these_cause_cr docr Zw Printing any of
+ these characters
+ causes CR
+ to_status_line tsl ts move to status line,
+ column #1
+ tone tone TO select touch tone
+ dialing
+ underline_char uc uc underline char and
+ move past it
+ up_half_line hu hu half a line up
+ user0 u0 u0 User string #0
+ user1 u1 u1 User string #1
+ user2 u2 u2 User string #2
+ user3 u3 u3 User string #3
+ user4 u4 u4 User string #4
+ user5 u5 u5 User string #5
+ user6 u6 u6 User string #6
+ user7 u7 u7 User string #7
+ user8 u8 u8 User string #8
+ user9 u9 u9 User string #9
+ wait_tone wait WA wait for dial-tone
+ xoff_character xoffc XF XOFF character
+ xon_character xonc XN XON character
+ zero_motion zerom Zx No motion for subse-
+ quent character
+
+ The following string capabilities are present in the SVr4.0 term struc-
+ ture, but were originally not documented in the man page.
+
+
+ <STRONG>Variable</STRONG> <STRONG>Cap-</STRONG> <STRONG>TCap</STRONG> <STRONG>Description</STRONG>
+ <STRONG>String</STRONG> <STRONG>name</STRONG> <STRONG>Code</STRONG>
+ alt_scancode_esc scesa S8 Alternate escape
+ for scancode emu-
+ lation
+ bit_image_carriage_return bicr Yv Move to beginning
+ of same row
+ bit_image_newline binel Zz Move to next row
+ of the bit image
+ bit_image_repeat birep Xy Repeat bit image
+ cell #1 #2 times
+ char_set_names csnm Zy Produce #1'th item
+ from list of char-
+ acter set names
+ code_set_init csin ci Init sequence for
+ multiple codesets
+ color_names colornm Yw Give name for
+ color #1
+ define_bit_image_region defbi Yx Define rectangular
+ bit image region
+ device_type devt dv Indicate lan-
+ guage/codeset sup-
+ port
+ display_pc_char dispc S1 Display PC charac-
+ ter #1
+ end_bit_image_region endbi Yy End a bit-image
+ region
+ enter_pc_charset_mode smpch S2 Enter PC character
+ display mode
+ enter_scancode_mode smsc S4 Enter PC scancode
+ mode
+ exit_pc_charset_mode rmpch S3 Exit PC character
+ display mode
+ exit_scancode_mode rmsc S5 Exit PC scancode
+ mode
+ get_mouse getm Gm Curses should get
+ button events,
+ parameter #1 not
+ documented.
+ key_mouse kmous Km Mouse event has
+ occurred
+ mouse_info minfo Mi Mouse status
+ information
+ pc_term_options pctrm S6 PC terminal
+ options
+ pkey_plab pfxl xl Program function
+ key #1 to type
+ string #2 and show
+ string #3
+ req_mouse_pos reqmp RQ Request mouse
+ position
+ scancode_escape scesc S7 Escape for scan-
+ code emulation
+ set0_des_seq s0ds s0 Shift to codeset 0
+ (EUC set 0, ASCII)
+ set1_des_seq s1ds s1 Shift to codeset 1
+ set2_des_seq s2ds s2 Shift to codeset 2
+ set3_des_seq s3ds s3 Shift to codeset 3
+ set_a_background setab AB Set background
+ color to #1, using
+ ANSI escape
+ set_a_foreground setaf AF Set foreground
+ color to #1, using
+ ANSI escape
+
+ set_color_band setcolor Yz Change to ribbon
+ color #1
+ set_lr_margin smglr ML Set both left and
+ right margins to
+ #1, #2. (ML is
+ not in BSD term-
+ cap).
+ set_page_length slines YZ Set page length to
+ #1 lines
+ set_tb_margin smgtb MT Sets both top and
+ bottom margins to
+ #1, #2
+
+ The XSI Curses standard added these hardcopy capabilities. They were
+ used in some post-4.1 versions of System V curses, e.g., Solaris 2.5
+ and IRIX 6.x. Except for <STRONG>YI</STRONG>, the <STRONG>ncurses</STRONG> termcap names for them are
+ invented. According to the XSI Curses standard, they have no termcap
+ names. If your compiled terminfo entries use these, they may not be
+ binary-compatible with System V terminfo entries after SVr4.1; beware!
+
+
+ <STRONG>Variable</STRONG> <STRONG>Cap-</STRONG> <STRONG>TCap</STRONG> <STRONG>Description</STRONG>
+ <STRONG>String</STRONG> <STRONG>name</STRONG> <STRONG>Code</STRONG>
+ enter_horizontal_hl_mode ehhlm Xh Enter horizontal
+ highlight mode
+ enter_left_hl_mode elhlm Xl Enter left highlight
+ mode
+ enter_low_hl_mode elohlm Xo Enter low highlight
+ mode
+ enter_right_hl_mode erhlm Xr Enter right high-
+ light mode
+ enter_top_hl_mode ethlm Xt Enter top highlight
+ mode
+ enter_vertical_hl_mode evhlm Xv Enter vertical high-
+ light mode
+ set_a_attributes sgr1 sA Define second set of
+ video attributes
+ #1-#6
+ set_pglen_inch slength YI Set page length to
+ #1 hundredth of an
+ inch (some implemen-
+ tations use sL for
+ termcap).
+
+
+</PRE><H3><a name="h3-User-Defined-Capabilities">User-Defined Capabilities</a></H3><PRE>
+ The preceding section listed the <EM>predefined</EM> capabilities. They deal
+ with some special features for terminals no longer (or possibly never)
+ produced. Occasionally there are special features of newer terminals
+ which are awkward or impossible to represent by reusing the predefined
+ capabilities.
+
+ <STRONG>ncurses</STRONG> addresses this limitation by allowing user-defined capabili-
+ ties. The <STRONG>tic</STRONG> and <STRONG>infocmp</STRONG> programs provide the <STRONG>-x</STRONG> option for this pur-
+ pose. When <STRONG>-x</STRONG> is set, <STRONG>tic</STRONG> treats unknown capabilities as user-defined.
+ That is, if <STRONG>tic</STRONG> encounters a capability name which it does not recog-
+ nize, it infers its type (boolean, number or string) from the syntax
+ and makes an extended table entry for that capability. The
+ <STRONG><A HREF="curs_extend.3x.html">use_extended_names(3x)</A></STRONG> function makes this information conditionally
+ available to applications. The ncurses library provides the data leav-
+ ing most of the behavior to applications:
+
+ <STRONG>o</STRONG> User-defined capability strings whose name begins with "k" are
+ treated as function keys.
+
+ <STRONG>o</STRONG> The types (boolean, number, string) determined by <STRONG>tic</STRONG> can be
+ inferred by successful calls on <STRONG>tigetflag</STRONG>, etc.
+
+ <STRONG>o</STRONG> If the capability name happens to be two characters, the capability
+ is also available through the termcap interface.
+
+ While termcap is said to be extensible because it does not use a prede-
+ fined set of capabilities, in practice it has been limited to the capa-
+ bilities defined by terminfo implementations. As a rule, user-defined
+ capabilities intended for use by termcap applications should be limited
+ to booleans and numbers to avoid running past the 1023 byte limit
+ assumed by termcap implementations and their applications. In particu-
+ lar, providing extended sets of function keys (past the 60 numbered
+ keys and the handful of special named keys) is best done using the
+ longer names available using terminfo.
+
+
+</PRE><H3><a name="h3-A-Sample-Entry">A Sample Entry</a></H3><PRE>
+ The following entry, describing an ANSI-standard terminal, is represen-
+ tative of what a <STRONG>terminfo</STRONG> entry for a modern terminal typically looks
+ like.
ansi|ansi/pc-term compatible with color,
am, mc5i, mir, msgr,
@@ -1100,44 +1194,59 @@
smul=\E[4m, tbc=\E[3g, u6=\E[%i%d;%dR, u7=\E[6n,
u8=\E[?%[;0123456789]c, u9=\E[c, vpa=\E[%i%p1%dd,
- Entries may continue onto multiple lines by placing white
- space at the beginning of each line except the first.
- Comments may be included on lines beginning with "#".
- Capabilities in <EM>terminfo</EM> are of three types:
-
- <STRONG>o</STRONG> Boolean capabilities which indicate that the terminal
- has some particular feature,
-
- <STRONG>o</STRONG> numeric capabilities giving the size of the terminal
- or the size of particular delays, and
-
- <STRONG>o</STRONG> string capabilities, which give a sequence which can
- be used to perform particular terminal operations.
-
- <STRONG>Types</STRONG> <STRONG>of</STRONG> <STRONG>Capabilities</STRONG>
- All capabilities have names. For instance, the fact that
- ANSI-standard terminals have <EM>automatic</EM> <EM>margins</EM> (i.e., an
- automatic return and line-feed when the end of a line is
- reached) is indicated by the capability <STRONG>am</STRONG>. Hence the
- description of ansi includes <STRONG>am</STRONG>. Numeric capabilities are
- followed by the character "#" and then a positive value.
- Thus <STRONG>cols</STRONG>, which indicates the number of columns the ter-
- minal has, gives the value "80" for ansi. Values for
- numeric capabilities may be specified in decimal, octal or
- hexadecimal, using the C programming language conventions
- (e.g., 255, 0377 and 0xff or 0xFF).
-
- Finally, string valued capabilities, such as <STRONG>el</STRONG> (clear to
- end of line sequence) are given by the two-character code,
- an "=", and then a string ending at the next following
- ",".
-
- A number of escape sequences are provided in the string
- valued capabilities for easy encoding of characters there.
- Both <STRONG>\E</STRONG> and <STRONG>\e</STRONG> map to an ESCAPE character, <STRONG>^x</STRONG> maps to a
- control-x for any appropriate x, and the sequences <STRONG>\n</STRONG> <STRONG>\l</STRONG>
- <STRONG>\r</STRONG> <STRONG>\t</STRONG> <STRONG>\b</STRONG> <STRONG>\f</STRONG> <STRONG>\s</STRONG> give a newline, line-feed, return, tab,
- backspace, form-feed, and space. Other escapes include
+ Entries may continue onto multiple lines by placing white space at the
+ beginning of each line except the first. Comments may be included on
+ lines beginning with "#". Capabilities in <EM>terminfo</EM> are of three types:
+
+ <STRONG>o</STRONG> Boolean capabilities which indicate that the terminal has some par-
+ ticular feature,
+
+ <STRONG>o</STRONG> numeric capabilities giving the size of the terminal or the size of
+ particular delays, and
+
+ <STRONG>o</STRONG> string capabilities, which give a sequence which can be used to
+ perform particular terminal operations.
+
+
+</PRE><H3><a name="h3-Types-of-Capabilities">Types of Capabilities</a></H3><PRE>
+ All capabilities have names. For instance, the fact that ANSI-standard
+ terminals have <EM>automatic</EM> <EM>margins</EM> (i.e., an automatic return and line-
+ feed when the end of a line is reached) is indicated by the capability
+ <STRONG>am</STRONG>. Hence the description of ansi includes <STRONG>am</STRONG>. Numeric capabilities
+ are followed by the character "#" and then a positive value. Thus
+ <STRONG>cols</STRONG>, which indicates the number of columns the terminal has, gives the
+ value "80" for ansi. Values for numeric capabilities may be specified
+ in decimal, octal or hexadecimal, using the C programming language con-
+ ventions (e.g., 255, 0377 and 0xff or 0xFF).
+
+ Finally, string valued capabilities, such as <STRONG>el</STRONG> (clear to end of line
+ sequence) are given by the two-character code, an "=", and then a
+ string ending at the next following ",".
+
+ A number of escape sequences are provided in the string valued capabil-
+ ities for easy encoding of characters there:
+
+ <STRONG>o</STRONG> Both <STRONG>\E</STRONG> and <STRONG>\e</STRONG> map to an ESCAPE character,
+
+ <STRONG>o</STRONG> <STRONG>^x</STRONG> maps to a control-x for any appropriate <EM>x</EM>, and
+
+ <STRONG>o</STRONG> the sequences
+
+ <STRONG>\n</STRONG>, <STRONG>\l</STRONG>, <STRONG>\r</STRONG>, <STRONG>\t</STRONG>, <STRONG>\b</STRONG>, <STRONG>\f</STRONG>, and <STRONG>\s</STRONG>
+
+ produce
+
+ <EM>newline</EM>, <EM>line-feed</EM>, <EM>return</EM>, <EM>tab</EM>, <EM>backspace</EM>, <EM>form-feed</EM>, and <EM>space</EM>,
+
+ respectively.
+
+ X/Open Curses does not say what "appropriate <EM>x</EM>" might be. In practice,
+ that is a printable ASCII graphic character. The special case "^?" is
+ interpreted as DEL (127). In all other cases, the character value is
+ AND'd with 0x1f, mapping to ASCII control codes in the range 0 through
+ 31.
+
+ Other escapes include
<STRONG>o</STRONG> <STRONG>\^</STRONG> for <STRONG>^</STRONG>,
@@ -1149,164 +1258,147 @@
<STRONG>o</STRONG> and <STRONG>\0</STRONG> for null.
- <STRONG>\0</STRONG> will produce \200, which does not terminate a
- string but behaves as a null character on most termi-
- nals, providing CS7 is specified. See <STRONG>stty(1)</STRONG>.
-
- The reason for this quirk is to maintain binary com-
- patibility of the compiled terminfo files with other
- implementations, e.g., the SVr4 systems, which docu-
- ment this. Compiled terminfo files use null-termi-
- nated strings, with no lengths. Modifying this would
- require a new binary format, which would not work with
- other implementations.
-
- Finally, characters may be given as three octal digits
- after a <STRONG>\</STRONG>.
-
- A delay in milliseconds may appear anywhere in a string
- capability, enclosed in $&lt;..&gt; brackets, as in <STRONG>el</STRONG>=\EK$&lt;5&gt;,
- and padding characters are supplied by <EM>tputs</EM> to provide
- this delay. The delay must be a number with at most one
- decimal place of precision; it may be followed by suffixes
- "*" or "/" or both. A "*" indicates that the padding
- required is proportional to the number of lines affected
- by the operation, and the amount given is the per-
- affected-unit padding required. (In the case of insert
- character, the factor is still the number of <EM>lines</EM>
- affected.) Normally, padding is advisory if the device
- has the <STRONG>xon</STRONG> capability; it is used for cost computation
- but does not trigger delays. A "/" suffix indicates that
- the padding is mandatory and forces a delay of the given
- number of milliseconds even on devices for which <STRONG>xon</STRONG> is
- present to indicate flow control.
-
- Sometimes individual capabilities must be commented out.
- To do this, put a period before the capability name. For
- example, see the second <STRONG>ind</STRONG> in the example above.
-
- <STRONG>Fetching</STRONG> <STRONG>Compiled</STRONG> <STRONG>Descriptions</STRONG>
- The <STRONG>ncurses</STRONG> library searches for terminal descriptions in
- several places. It uses only the first description found.
- The library has a compiled-in list of places to search
- which can be overridden by environment variables. Before
- starting to search, <STRONG>ncurses</STRONG> eliminates duplicates in its
- search list.
-
- <STRONG>o</STRONG> If the environment variable TERMINFO is set, it is
- interpreted as the pathname of a directory containing
- the compiled description you are working on. Only
- that directory is searched.
-
- <STRONG>o</STRONG> If TERMINFO is not set, <STRONG>ncurses</STRONG> will instead look in
- the directory <STRONG>$HOME/.terminfo</STRONG> for a compiled descrip-
- tion.
-
- <STRONG>o</STRONG> Next, if the environment variable TERMINFO_DIRS is
- set, <STRONG>ncurses</STRONG> will interpret the contents of that vari-
- able as a list of colon-separated directories (or
- database files) to be searched.
-
- An empty directory name (i.e., if the variable begins
- or ends with a colon, or contains adacent colons) is
- interpreted as the system location <EM>/usr/share/ter-</EM>
- <EM>minfo</EM>.
+ <STRONG>\0</STRONG> will produce \200, which does not terminate a string but behaves
+ as a null character on most terminals, providing CS7 is specified.
+ See <STRONG>stty(1)</STRONG>.
+
+ The reason for this quirk is to maintain binary compatibility of
+ the compiled terminfo files with other implementations, e.g., the
+ SVr4 systems, which document this. Compiled terminfo files use
+ null-terminated strings, with no lengths. Modifying this would
+ require a new binary format, which would not work with other imple-
+ mentations.
+
+ Finally, characters may be given as three octal digits after a <STRONG>\</STRONG>.
+
+ A delay in milliseconds may appear anywhere in a string capability,
+ enclosed in $&lt;..&gt; brackets, as in <STRONG>el</STRONG>=\EK$&lt;5&gt;, and padding characters
+ are supplied by <STRONG><A HREF="curs_terminfo.3x.html">tputs(3x)</A></STRONG> to provide this delay.
+
+ <STRONG>o</STRONG> The delay must be a number with at most one decimal place of preci-
+ sion; it may be followed by suffixes "*" or "/" or both.
+
+ <STRONG>o</STRONG> A "*" indicates that the padding required is proportional to the
+ number of lines affected by the operation, and the amount given is
+ the per-affected-unit padding required. (In the case of insert
+ character, the factor is still the number of <EM>lines</EM> affected.)
+
+ Normally, padding is advisory if the device has the <STRONG>xon</STRONG> capability;
+ it is used for cost computation but does not trigger delays.
+
+ <STRONG>o</STRONG> A "/" suffix indicates that the padding is mandatory and forces a
+ delay of the given number of milliseconds even on devices for which
+ <STRONG>xon</STRONG> is present to indicate flow control.
+
+ Sometimes individual capabilities must be commented out. To do this,
+ put a period before the capability name. For example, see the second
+ <STRONG>ind</STRONG> in the example above.
+
+
+</PRE><H3><a name="h3-Fetching-Compiled-Descriptions">Fetching Compiled Descriptions</a></H3><PRE>
+ The <STRONG>ncurses</STRONG> library searches for terminal descriptions in several
+ places. It uses only the first description found. The library has a
+ compiled-in list of places to search which can be overridden by envi-
+ ronment variables. Before starting to search, <STRONG>ncurses</STRONG> eliminates
+ duplicates in its search list.
+
+ <STRONG>o</STRONG> If the environment variable TERMINFO is set, it is interpreted as
+ the pathname of a directory containing the compiled description you
+ are working on. Only that directory is searched.
+
+ <STRONG>o</STRONG> If TERMINFO is not set, <STRONG>ncurses</STRONG> will instead look in the directory
+ <STRONG>$HOME/.terminfo</STRONG> for a compiled description.
+
+ <STRONG>o</STRONG> Next, if the environment variable TERMINFO_DIRS is set, <STRONG>ncurses</STRONG>
+ will interpret the contents of that variable as a list of colon-
+ separated directories (or database files) to be searched.
+
+ An empty directory name (i.e., if the variable begins or ends with
+ a colon, or contains adjacent colons) is interpreted as the system
+ location <EM>/usr/share/terminfo</EM>.
<STRONG>o</STRONG> Finally, <STRONG>ncurses</STRONG> searches these compiled-in locations:
- <STRONG>o</STRONG> a list of directories
- (/usr/local/ncurses/share/terminfo:/usr/share/ter-
- minfo), and
-
- <STRONG>o</STRONG> the system terminfo directory, <EM>/usr/share/terminfo</EM>
- (the compiled-in default).
-
- <STRONG>Preparing</STRONG> <STRONG>Descriptions</STRONG>
- We now outline how to prepare descriptions of terminals.
- The most effective way to prepare a terminal description
- is by imitating the description of a similar terminal in
- <EM>terminfo</EM> and to build up a description gradually, using
- partial descriptions with <EM>vi</EM> or some other screen-oriented
- program to check that they are correct. Be aware that a
- very unusual terminal may expose deficiencies in the abil-
- ity of the <EM>terminfo</EM> file to describe it or bugs in the
- screen-handling code of the test program.
-
- To get the padding for insert line right (if the terminal
- manufacturer did not document it) a severe test is to edit
- a large file at 9600 baud, delete 16 or so lines from the
- middle of the screen, then hit the "u" key several times
- quickly. If the terminal messes up, more padding is usu-
- ally needed. A similar test can be used for insert char-
- acter.
-
- <STRONG>Basic</STRONG> <STRONG>Capabilities</STRONG>
- The number of columns on each line for the terminal is
- given by the <STRONG>cols</STRONG> numeric capability. If the terminal is
- a CRT, then the number of lines on the screen is given by
- the <STRONG>lines</STRONG> capability. If the terminal wraps around to the
- beginning of the next line when it reaches the right mar-
- gin, then it should have the <STRONG>am</STRONG> capability. If the termi-
- nal can clear its screen, leaving the cursor in the home
- position, then this is given by the <STRONG>clear</STRONG> string capabil-
- ity. If the terminal overstrikes (rather than clearing a
- position when a character is struck over) then it should
- have the <STRONG>os</STRONG> capability. If the terminal is a printing
- terminal, with no soft copy unit, give it both <STRONG>hc</STRONG> and <STRONG>os</STRONG>.
- (<STRONG>os</STRONG> applies to storage scope terminals, such as TEKTRONIX
- 4010 series, as well as hard copy and APL terminals.) If
- there is a code to move the cursor to the left edge of the
- current row, give this as <STRONG>cr</STRONG>. (Normally this will be car-
- riage return, control M.) If there is a code to produce
- an audible signal (bell, beep, etc) give this as <STRONG>bel</STRONG>.
-
- If there is a code to move the cursor one position to the
- left (such as backspace) that capability should be given
- as <STRONG>cub1</STRONG>. Similarly, codes to move to the right, up, and
- down should be given as <STRONG>cuf1</STRONG>, <STRONG>cuu1</STRONG>, and <STRONG>cud1</STRONG>. These local
- cursor motions should not alter the text they pass over,
- for example, you would not normally use "<STRONG>cuf1</STRONG>= " because
- the space would erase the character moved over.
-
- A very important point here is that the local cursor
- motions encoded in <EM>terminfo</EM> are undefined at the left and
- top edges of a CRT terminal. Programs should never
- attempt to backspace around the left edge, unless <STRONG>bw</STRONG> is
- given, and never attempt to go up locally off the top. In
- order to scroll text up, a program will go to the bottom
- left corner of the screen and send the <STRONG>ind</STRONG> (index) string.
-
- To scroll text down, a program goes to the top left corner
- of the screen and sends the <STRONG>ri</STRONG> (reverse index) string.
- The strings <STRONG>ind</STRONG> and <STRONG>ri</STRONG> are undefined when not on their
- respective corners of the screen.
-
- Parameterized versions of the scrolling sequences are <STRONG>indn</STRONG>
- and <STRONG>rin</STRONG> which have the same semantics as <STRONG>ind</STRONG> and <STRONG>ri</STRONG> except
- that they take one parameter, and scroll that many lines.
- They are also undefined except at the appropriate edge of
- the screen.
-
- The <STRONG>am</STRONG> capability tells whether the cursor sticks at the
- right edge of the screen when text is output, but this
- does not necessarily apply to a <STRONG>cuf1</STRONG> from the last column.
- The only local motion which is defined from the left edge
- is if <STRONG>bw</STRONG> is given, then a <STRONG>cub1</STRONG> from the left edge will
- move to the right edge of the previous row. If <STRONG>bw</STRONG> is not
- given, the effect is undefined. This is useful for draw-
- ing a box around the edge of the screen, for example. If
- the terminal has switch selectable automatic margins, the
- <EM>terminfo</EM> file usually assumes that this is on; i.e., <STRONG>am</STRONG>.
- If the terminal has a command which moves to the first
- column of the next line, that command can be given as <STRONG>nel</STRONG>
- (newline). It does not matter if the command clears the
- remainder of the current line, so if the terminal has no
- <STRONG>cr</STRONG> and <STRONG>lf</STRONG> it may still be possible to craft a working <STRONG>nel</STRONG>
- out of one or both of them.
-
- These capabilities suffice to describe hard-copy and
- "glass-tty" terminals. Thus the model 33 teletype is
- described as
+ <STRONG>o</STRONG> a list of directories (/usr/local/ncurses/share/ter-
+ minfo:/usr/share/terminfo), and
+
+ <STRONG>o</STRONG> the system terminfo directory, <EM>/usr/share/terminfo</EM> (the com-
+ piled-in default).
+
+
+</PRE><H3><a name="h3-Preparing-Descriptions">Preparing Descriptions</a></H3><PRE>
+ We now outline how to prepare descriptions of terminals. The most
+ effective way to prepare a terminal description is by imitating the
+ description of a similar terminal in <EM>terminfo</EM> and to build up a
+ description gradually, using partial descriptions with <EM>vi</EM> or some other
+ screen-oriented program to check that they are correct. Be aware that
+ a very unusual terminal may expose deficiencies in the ability of the
+ <EM>terminfo</EM> file to describe it or bugs in the screen-handling code of the
+ test program.
+
+ To get the padding for insert line right (if the terminal manufacturer
+ did not document it) a severe test is to edit a large file at 9600
+ baud, delete 16 or so lines from the middle of the screen, then hit the
+ "u" key several times quickly. If the terminal messes up, more padding
+ is usually needed. A similar test can be used for insert character.
+
+
+</PRE><H3><a name="h3-Basic-Capabilities">Basic Capabilities</a></H3><PRE>
+ The number of columns on each line for the terminal is given by the
+ <STRONG>cols</STRONG> numeric capability. If the terminal is a CRT, then the number of
+ lines on the screen is given by the <STRONG>lines</STRONG> capability. If the terminal
+ wraps around to the beginning of the next line when it reaches the
+ right margin, then it should have the <STRONG>am</STRONG> capability. If the terminal
+ can clear its screen, leaving the cursor in the home position, then
+ this is given by the <STRONG>clear</STRONG> string capability. If the terminal over-
+ strikes (rather than clearing a position when a character is struck
+ over) then it should have the <STRONG>os</STRONG> capability. If the terminal is a
+ printing terminal, with no soft copy unit, give it both <STRONG>hc</STRONG> and <STRONG>os</STRONG>. (<STRONG>os</STRONG>
+ applies to storage scope terminals, such as TEKTRONIX 4010 series, as
+ well as hard copy and APL terminals.) If there is a code to move the
+ cursor to the left edge of the current row, give this as <STRONG>cr</STRONG>. (Normally
+ this will be carriage return, control/M.) If there is a code to pro-
+ duce an audible signal (bell, beep, etc) give this as <STRONG>bel</STRONG>.
+
+ If there is a code to move the cursor one position to the left (such as
+ backspace) that capability should be given as <STRONG>cub1</STRONG>. Similarly, codes
+ to move to the right, up, and down should be given as <STRONG>cuf1</STRONG>, <STRONG>cuu1</STRONG>, and
+ <STRONG>cud1</STRONG>. These local cursor motions should not alter the text they pass
+ over, for example, you would not normally use "<STRONG>cuf1</STRONG>= " because the
+ space would erase the character moved over.
+
+ A very important point here is that the local cursor motions encoded in
+ <EM>terminfo</EM> are undefined at the left and top edges of a CRT terminal.
+ Programs should never attempt to backspace around the left edge, unless
+ <STRONG>bw</STRONG> is given, and never attempt to go up locally off the top. In order
+ to scroll text up, a program will go to the bottom left corner of the
+ screen and send the <STRONG>ind</STRONG> (index) string.
+
+ To scroll text down, a program goes to the top left corner of the
+ screen and sends the <STRONG>ri</STRONG> (reverse index) string. The strings <STRONG>ind</STRONG> and <STRONG>ri</STRONG>
+ are undefined when not on their respective corners of the screen.
+
+ Parameterized versions of the scrolling sequences are <STRONG>indn</STRONG> and <STRONG>rin</STRONG>
+ which have the same semantics as <STRONG>ind</STRONG> and <STRONG>ri</STRONG> except that they take one
+ parameter, and scroll that many lines. They are also undefined except
+ at the appropriate edge of the screen.
+
+ The <STRONG>am</STRONG> capability tells whether the cursor sticks at the right edge of
+ the screen when text is output, but this does not necessarily apply to
+ a <STRONG>cuf1</STRONG> from the last column. The only local motion which is defined
+ from the left edge is if <STRONG>bw</STRONG> is given, then a <STRONG>cub1</STRONG> from the left edge
+ will move to the right edge of the previous row. If <STRONG>bw</STRONG> is not given,
+ the effect is undefined. This is useful for drawing a box around the
+ edge of the screen, for example. If the terminal has switch selectable
+ automatic margins, the <EM>terminfo</EM> file usually assumes that this is on;
+ i.e., <STRONG>am</STRONG>. If the terminal has a command which moves to the first col-
+ umn of the next line, that command can be given as <STRONG>nel</STRONG> (newline). It
+ does not matter if the command clears the remainder of the current
+ line, so if the terminal has no <STRONG>cr</STRONG> and <STRONG>lf</STRONG> it may still be possible to
+ craft a working <STRONG>nel</STRONG> out of one or both of them.
+
+ These capabilities suffice to describe hard-copy and "glass-tty" termi-
+ nals. Thus the model 33 teletype is described as
33|tty33|tty|model 33 teletype,
bel=^G, cols#72, cr=^M, cud1=^J, hc, ind=^J, os,
@@ -1317,43 +1409,42 @@
am, bel=^G, clear=^Z, cols#80, cr=^M, cub1=^H, cud1=^J,
ind=^J, lines#24,
- <STRONG>Parameterized</STRONG> <STRONG>Strings</STRONG>
- Cursor addressing and other strings requiring parameters
- in the terminal are described by a parameterized string
- capability, with <EM>printf</EM>-like escapes such as <EM>%x</EM> in it.
- For example, to address the cursor, the <STRONG>cup</STRONG> capability is
- given, using two parameters: the row and column to address
- to. (Rows and columns are numbered from zero and refer to
- the physical screen visible to the user, not to any unseen
- memory.) If the terminal has memory relative cursor
- addressing, that can be indicated by <STRONG>mrcup</STRONG>.
-
- The parameter mechanism uses a stack and special <STRONG>%</STRONG> codes
- to manipulate it. Typically a sequence will push one of
- the parameters onto the stack and then print it in some
- format. Print (e.g., "%d") is a special case. Other
- operations, including "%t" pop their operand from the
- stack. It is noted that more complex operations are often
- necessary, e.g., in the <STRONG>sgr</STRONG> string.
+
+</PRE><H3><a name="h3-Parameterized-Strings">Parameterized Strings</a></H3><PRE>
+ Cursor addressing and other strings requiring parameters in the termi-
+ nal are described by a parameterized string capability, with <EM>printf</EM>-
+ like escapes such as <EM>%x</EM> in it. For example, to address the cursor, the
+ <STRONG>cup</STRONG> capability is given, using two parameters: the row and column to
+ address to. (Rows and columns are numbered from zero and refer to the
+ physical screen visible to the user, not to any unseen memory.) If the
+ terminal has memory relative cursor addressing, that can be indicated
+ by <STRONG>mrcup</STRONG>.
+
+ The parameter mechanism uses a stack and special <STRONG>%</STRONG> codes to manipulate
+ it. Typically a sequence will push one of the parameters onto the
+ stack and then print it in some format. Print (e.g., "%d") is a spe-
+ cial case. Other operations, including "%t" pop their operand from the
+ stack. It is noted that more complex operations are often necessary,
+ e.g., in the <STRONG>sgr</STRONG> string.
The <STRONG>%</STRONG> encodings have the following meanings:
<STRONG>%%</STRONG> outputs "%"
<STRONG>%</STRONG><EM>[[</EM>:<EM>]flags][width[.precision]][</EM><STRONG>doxXs</STRONG><EM>]</EM>
- as in <STRONG>printf</STRONG>, flags are <EM>[-+#]</EM> and <EM>space</EM>. Use a ":"
- to allow the next character to be a "-" flag, avoid-
- ing interpreting "%-" as an operator.
+ as in <STRONG>printf(3)</STRONG>, flags are <EM>[-+#]</EM> and <EM>space</EM>. Use a ":" to allow
+ the next character to be a "-" flag, avoiding interpreting "%-" as
+ an operator.
- %c print pop() like %c in <STRONG>printf</STRONG>
+ %c print <EM>pop()</EM> like %c in <STRONG>printf</STRONG>
- <STRONG>%s</STRONG> print pop() like %s in <STRONG>printf</STRONG>
+ <STRONG>%s</STRONG> print <EM>pop()</EM> like %s in <STRONG>printf</STRONG>
<STRONG>%p</STRONG><EM>[1-9]</EM>
push <EM>i</EM>'th parameter
<STRONG>%P</STRONG><EM>[a-z]</EM>
- set dynamic variable <EM>[a-z]</EM> to pop()
+ set dynamic variable <EM>[a-z]</EM> to <EM>pop()</EM>
<STRONG>%g</STRONG><EM>[a-z]/</EM>
get dynamic variable <EM>[a-z]</EM> and push it
@@ -1364,11 +1455,10 @@
<STRONG>%g</STRONG><EM>[A-Z]</EM>
get static variable <EM>[a-z]</EM> and push it
- The terms "static" and "dynamic" are misleading.
- Historically, these are simply two different sets of
- variables, whose values are not reset between calls
- to <STRONG>tparm</STRONG>. However, that fact is not documented in
- other implementations. Relying on it will adversely
+ The terms "static" and "dynamic" are misleading. Historically,
+ these are simply two different sets of variables, whose values are
+ not reset between calls to <STRONG><A HREF="curs_terminfo.3x.html">tparm(3x)</A></STRONG>. However, that fact is not
+ documented in other implementations. Relying on it will adversely
impact portability to other implementations.
<STRONG>%'</STRONG><EM>c</EM><STRONG>'</STRONG> char constant <EM>c</EM>
@@ -1379,11 +1469,10 @@
<STRONG>%l</STRONG> push strlen(pop)
<STRONG>%+</STRONG>, <STRONG>%-</STRONG>, <STRONG>%*</STRONG>, <STRONG>%/</STRONG>, <STRONG>%m</STRONG>
- arithmetic (%m is mod): <EM>push(pop()</EM> <EM>op</EM> <EM>pop())</EM>
+ arithmetic (%m is <EM>mod</EM>): <EM>push(pop()</EM> <EM>op</EM> <EM>pop())</EM>
<STRONG>%&amp;</STRONG>, <STRONG>%|</STRONG>, <STRONG>%^</STRONG>
- bit operations (AND, OR and exclusive-OR): <EM>push(pop()</EM>
- <EM>op</EM> <EM>pop())</EM>
+ bit operations (AND, OR and exclusive-OR): <EM>push(pop()</EM> <EM>op</EM> <EM>pop())</EM>
<STRONG>%=</STRONG>, <STRONG>%&gt;</STRONG>, <STRONG>%&lt;</STRONG>
logical operations: <EM>push(pop()</EM> <EM>op</EM> <EM>pop())</EM>
@@ -1392,407 +1481,360 @@
logical AND and OR operations (for conditionals)
<STRONG>%!</STRONG>, <STRONG>%~</STRONG>
- unary operations (logical and bit complement):
- push(op pop())
+ unary operations (logical and bit complement): <EM>push(op</EM> <EM>pop())</EM>
<STRONG>%i</STRONG> add 1 to first two parameters (for ANSI terminals)
<STRONG>%?</STRONG> <EM>expr</EM> <STRONG>%t</STRONG> <EM>thenpart</EM> <STRONG>%e</STRONG> <EM>elsepart</EM> <STRONG>%;</STRONG>
- This forms an if-then-else. The <STRONG>%e</STRONG> <EM>elsepart</EM> is
- optional. Usually the <STRONG>%?</STRONG> <EM>expr</EM> part pushes a value
- onto the stack, and <STRONG>%t</STRONG> pops it from the stack, test-
- ing if it is nonzero (true). If it is zero (false),
- control passes to the <STRONG>%e</STRONG> (else) part.
+ This forms an if-then-else. The <STRONG>%e</STRONG> <EM>elsepart</EM> is optional. Usually
+ the <STRONG>%?</STRONG> <EM>expr</EM> part pushes a value onto the stack, and <STRONG>%t</STRONG> pops it
+ from the stack, testing if it is nonzero (true). If it is zero
+ (false), control passes to the <STRONG>%e</STRONG> (else) part.
It is possible to form else-if's a la Algol 68:
<STRONG>%?</STRONG> c1 <STRONG>%t</STRONG> b1 <STRONG>%e</STRONG> c2 <STRONG>%t</STRONG> b2 <STRONG>%e</STRONG> c3 <STRONG>%t</STRONG> b3 <STRONG>%e</STRONG> c4 <STRONG>%t</STRONG> b4 <STRONG>%e</STRONG> <STRONG>%;</STRONG>
where ci are conditions, bi are bodies.
- Use the <STRONG>-f</STRONG> option of <STRONG>tic</STRONG> or <STRONG>infocmp</STRONG> to see the struc-
- ture of if-then-else's. Some strings, e.g., <STRONG>sgr</STRONG> can
- be very complicated when written on one line. The <STRONG>-f</STRONG>
- option splits the string into lines with the parts
- indented.
-
- Binary operations are in postfix form with the operands in
- the usual order. That is, to get x-5 one would use
- "%gx%{5}%-". <STRONG>%P</STRONG> and <STRONG>%g</STRONG> variables are persistent across
- escape-string evaluations.
-
- Consider the HP2645, which, to get to row 3 and column 12,
- needs to be sent \E&amp;a12c03Y padded for 6 milliseconds.
- Note that the order of the rows and columns is inverted
- here, and that the row and column are printed as two dig-
- its. Thus its <STRONG>cup</STRONG> capability is "cup=6\E&amp;%p2%2dc%p1%2dY".
-
- The Microterm ACT-IV needs the current row and column sent
- preceded by a <STRONG>^T</STRONG>, with the row and column simply encoded
- in binary, "cup=^T%p1%c%p2%c". Terminals which use "%c"
- need to be able to backspace the cursor (<STRONG>cub1</STRONG>), and to
- move the cursor up one line on the screen (<STRONG>cuu1</STRONG>). This is
- necessary because it is not always safe to transmit <STRONG>\n</STRONG> <STRONG>^D</STRONG>
- and <STRONG>\r</STRONG>, as the system may change or discard them. (The
- library routines dealing with terminfo set tty modes so
- that tabs are never expanded, so \t is safe to send. This
- turns out to be essential for the Ann Arbor 4080.)
-
- A final example is the LSI ADM-3a, which uses row and col-
- umn offset by a blank character, thus "cup=\E=%p1%'
- '%+%c%p2%' '%+%c". After sending "\E=", this pushes the
- first parameter, pushes the ASCII value for a space (32),
- adds them (pushing the sum on the stack in place of the
- two previous values) and outputs that value as a charac-
- ter. Then the same is done for the second parameter.
- More complex arithmetic is possible using the stack.
-
- <STRONG>Cursor</STRONG> <STRONG>Motions</STRONG>
- If the terminal has a fast way to home the cursor (to very
- upper left corner of screen) then this can be given as
- <STRONG>home</STRONG>; similarly a fast way of getting to the lower left-
- hand corner can be given as <STRONG>ll</STRONG>; this may involve going up
- with <STRONG>cuu1</STRONG> from the home position, but a program should
- never do this itself (unless <STRONG>ll</STRONG> does) because it can make
- no assumption about the effect of moving up from the home
- position. Note that the home position is the same as
- addressing to (0,0): to the top left corner of the screen,
- not of memory. (Thus, the \EH sequence on HP terminals
- cannot be used for <STRONG>home</STRONG>.)
-
- If the terminal has row or column absolute cursor address-
- ing, these can be given as single parameter capabilities
- <STRONG>hpa</STRONG> (horizontal position absolute) and <STRONG>vpa</STRONG> (vertical posi-
- tion absolute). Sometimes these are shorter than the more
- general two parameter sequence (as with the hp2645) and
- can be used in preference to <STRONG>cup</STRONG>. If there are parameter-
- ized local motions (e.g., move <EM>n</EM> spaces to the right)
- these can be given as <STRONG>cud</STRONG>, <STRONG>cub</STRONG>, <STRONG>cuf</STRONG>, and <STRONG>cuu</STRONG> with a single
- parameter indicating how many spaces to move. These are
- primarily useful if the terminal does not have <STRONG>cup</STRONG>, such
- as the TEKTRONIX 4025.
-
- If the terminal needs to be in a special mode when running
- a program that uses these capabilities, the codes to enter
- and exit this mode can be given as <STRONG>smcup</STRONG> and <STRONG>rmcup</STRONG>. This
- arises, for example, from terminals like the Concept with
- more than one page of memory. If the terminal has only
- memory relative cursor addressing and not screen relative
- cursor addressing, a one screen-sized window must be fixed
- into the terminal for cursor addressing to work properly.
- This is also used for the TEKTRONIX 4025, where <STRONG>smcup</STRONG> sets
- the command character to be the one used by terminfo. If
- the <STRONG>smcup</STRONG> sequence will not restore the screen after an
- <STRONG>rmcup</STRONG> sequence is output (to the state prior to outputting
+ Use the <STRONG>-f</STRONG> option of <STRONG>tic</STRONG> or <STRONG>infocmp</STRONG> to see the structure of if-
+ then-else's. Some strings, e.g., <STRONG>sgr</STRONG> can be very complicated when
+ written on one line. The <STRONG>-f</STRONG> option splits the string into lines
+ with the parts indented.
+
+ Binary operations are in postfix form with the operands in the usual
+ order. That is, to get x-5 one would use "%gx%{5}%-". <STRONG>%P</STRONG> and <STRONG>%g</STRONG> vari-
+ ables are persistent across escape-string evaluations.
+
+ Consider the HP2645, which, to get to row 3 and column 12, needs to be
+ sent \E&amp;a12c03Y padded for 6 milliseconds. Note that the order of the
+ rows and columns is inverted here, and that the row and column are
+ printed as two digits. Thus its <STRONG>cup</STRONG> capability is
+ "cup=6\E&amp;%p2%2dc%p1%2dY".
+
+ The Microterm ACT-IV needs the current row and column sent preceded by
+ a <STRONG>^T</STRONG>, with the row and column simply encoded in binary,
+ "cup=^T%p1%c%p2%c". Terminals which use "%c" need to be able to
+ backspace the cursor (<STRONG>cub1</STRONG>), and to move the cursor up one line on the
+ screen (<STRONG>cuu1</STRONG>). This is necessary because it is not always safe to
+ transmit <STRONG>\n</STRONG> <STRONG>^D</STRONG> and <STRONG>\r</STRONG>, as the system may change or discard them. (The
+ library routines dealing with terminfo set tty modes so that tabs are
+ never expanded, so \t is safe to send. This turns out to be essential
+ for the Ann Arbor 4080.)
+
+ A final example is the LSI ADM-3a, which uses row and column offset by
+ a blank character, thus "cup=\E=%p1%' '%+%c%p2%' '%+%c". After sending
+ "\E=", this pushes the first parameter, pushes the ASCII value for a
+ space (32), adds them (pushing the sum on the stack in place of the two
+ previous values) and outputs that value as a character. Then the same
+ is done for the second parameter. More complex arithmetic is possible
+ using the stack.
+
+
+</PRE><H3><a name="h3-Cursor-Motions">Cursor Motions</a></H3><PRE>
+ If the terminal has a fast way to home the cursor (to very upper left
+ corner of screen) then this can be given as <STRONG>home</STRONG>; similarly a fast way
+ of getting to the lower left-hand corner can be given as <STRONG>ll</STRONG>; this may
+ involve going up with <STRONG>cuu1</STRONG> from the home position, but a program should
+ never do this itself (unless <STRONG>ll</STRONG> does) because it can make no assumption
+ about the effect of moving up from the home position. Note that the
+ home position is the same as addressing to (0,0): to the top left cor-
+ ner of the screen, not of memory. (Thus, the \EH sequence on HP termi-
+ nals cannot be used for <STRONG>home</STRONG>.)
+
+ If the terminal has row or column absolute cursor addressing, these can
+ be given as single parameter capabilities <STRONG>hpa</STRONG> (horizontal position
+ absolute) and <STRONG>vpa</STRONG> (vertical position absolute). Sometimes these are
+ shorter than the more general two parameter sequence (as with the
+ hp2645) and can be used in preference to <STRONG>cup</STRONG>. If there are parameter-
+ ized local motions (e.g., move <EM>n</EM> spaces to the right) these can be
+ given as <STRONG>cud</STRONG>, <STRONG>cub</STRONG>, <STRONG>cuf</STRONG>, and <STRONG>cuu</STRONG> with a single parameter indicating how
+ many spaces to move. These are primarily useful if the terminal does
+ not have <STRONG>cup</STRONG>, such as the TEKTRONIX 4025.
+
+ If the terminal needs to be in a special mode when running a program
+ that uses these capabilities, the codes to enter and exit this mode can
+ be given as <STRONG>smcup</STRONG> and <STRONG>rmcup</STRONG>. This arises, for example, from terminals
+ like the Concept with more than one page of memory. If the terminal
+ has only memory relative cursor addressing and not screen relative cur-
+ sor addressing, a one screen-sized window must be fixed into the termi-
+ nal for cursor addressing to work properly. This is also used for the
+ TEKTRONIX 4025, where <STRONG>smcup</STRONG> sets the command character to be the one
+ used by terminfo. If the <STRONG>smcup</STRONG> sequence will not restore the screen
+ after an <STRONG>rmcup</STRONG> sequence is output (to the state prior to outputting
<STRONG>rmcup</STRONG>), specify <STRONG>nrrmc</STRONG>.
- <STRONG>Area</STRONG> <STRONG>Clears</STRONG>
- If the terminal can clear from the current position to the
- end of the line, leaving the cursor where it is, this
- should be given as <STRONG>el</STRONG>. If the terminal can clear from the
- beginning of the line to the current position inclusive,
- leaving the cursor where it is, this should be given as
- <STRONG>el1</STRONG>. If the terminal can clear from the current position
- to the end of the display, then this should be given as
- <STRONG>ed</STRONG>. <STRONG>Ed</STRONG> is only defined from the first column of a line.
- (Thus, it can be simulated by a request to delete a large
- number of lines, if a true <STRONG>ed</STRONG> is not available.)
-
- <STRONG>Insert/delete</STRONG> <STRONG>line</STRONG> <STRONG>and</STRONG> <STRONG>vertical</STRONG> <STRONG>motions</STRONG>
- If the terminal can open a new blank line before the line
- where the cursor is, this should be given as <STRONG>il1</STRONG>; this is
- done only from the first position of a line. The cursor
- must then appear on the newly blank line. If the terminal
- can delete the line which the cursor is on, then this
- should be given as <STRONG>dl1</STRONG>; this is done only from the first
- position on the line to be deleted. Versions of <STRONG>il1</STRONG> and
- <STRONG>dl1</STRONG> which take a single parameter and insert or delete
- that many lines can be given as <STRONG>il</STRONG> and <STRONG>dl</STRONG>.
-
- If the terminal has a settable scrolling region (like the
- vt100) the command to set this can be described with the
- <STRONG>csr</STRONG> capability, which takes two parameters: the top and
- bottom lines of the scrolling region. The cursor position
- is, alas, undefined after using this command.
-
- It is possible to get the effect of insert or delete line
- using <STRONG>csr</STRONG> on a properly chosen region; the <STRONG>sc</STRONG> and <STRONG>rc</STRONG> (save
- and restore cursor) commands may be useful for ensuring
- that your synthesized insert/delete string does not move
- the cursor. (Note that the <STRONG><A HREF="ncurses.3x.html">ncurses(3x)</A></STRONG> library does this
- synthesis automatically, so you need not compose
+
+</PRE><H3><a name="h3-Area-Clears">Area Clears</a></H3><PRE>
+ If the terminal can clear from the current position to the end of the
+ line, leaving the cursor where it is, this should be given as <STRONG>el</STRONG>. If
+ the terminal can clear from the beginning of the line to the current
+ position inclusive, leaving the cursor where it is, this should be
+ given as <STRONG>el1</STRONG>. If the terminal can clear from the current position to
+ the end of the display, then this should be given as <STRONG>ed</STRONG>. <STRONG>Ed</STRONG> is only
+ defined from the first column of a line. (Thus, it can be simulated by
+ a request to delete a large number of lines, if a true <STRONG>ed</STRONG> is not avail-
+ able.)
+
+
+</PRE><H3><a name="h3-Insert_delete-line-and-vertical-motions">Insert/delete line and vertical motions</a></H3><PRE>
+ If the terminal can open a new blank line before the line where the
+ cursor is, this should be given as <STRONG>il1</STRONG>; this is done only from the
+ first position of a line. The cursor must then appear on the newly
+ blank line. If the terminal can delete the line which the cursor is
+ on, then this should be given as <STRONG>dl1</STRONG>; this is done only from the first
+ position on the line to be deleted. Versions of <STRONG>il1</STRONG> and <STRONG>dl1</STRONG> which take
+ a single parameter and insert or delete that many lines can be given as
+ <STRONG>il</STRONG> and <STRONG>dl</STRONG>.
+
+ If the terminal has a settable scrolling region (like the vt100) the
+ command to set this can be described with the <STRONG>csr</STRONG> capability, which
+ takes two parameters: the top and bottom lines of the scrolling region.
+ The cursor position is, alas, undefined after using this command.
+
+ It is possible to get the effect of insert or delete line using <STRONG>csr</STRONG> on
+ a properly chosen region; the <STRONG>sc</STRONG> and <STRONG>rc</STRONG> (save and restore cursor) com-
+ mands may be useful for ensuring that your synthesized insert/delete
+ string does not move the cursor. (Note that the <STRONG><A HREF="ncurses.3x.html">ncurses(3x)</A></STRONG> library
+ does this synthesis automatically, so you need not compose
insert/delete strings for an entry with <STRONG>csr</STRONG>).
- Yet another way to construct insert and delete might be to
- use a combination of index with the memory-lock feature
- found on some terminals (like the HP-700/90 series, which
- however also has insert/delete).
-
- Inserting lines at the top or bottom of the screen can
- also be done using <STRONG>ri</STRONG> or <STRONG>ind</STRONG> on many terminals without a
- true insert/delete line, and is often faster even on ter-
- minals with those features.
-
- The boolean <STRONG>non_dest_scroll_region</STRONG> should be set if each
- scrolling window is effectively a view port on a screen-
- sized canvas. To test for this capability, create a
- scrolling region in the middle of the screen, write some-
- thing to the bottom line, move the cursor to the top of
- the region, and do <STRONG>ri</STRONG> followed by <STRONG>dl1</STRONG> or <STRONG>ind</STRONG>. If the data
- scrolled off the bottom of the region by the <STRONG>ri</STRONG> re-
- appears, then scrolling is non-destructive. System V and
- XSI Curses expect that <STRONG>ind</STRONG>, <STRONG>ri</STRONG>, <STRONG>indn</STRONG>, and <STRONG>rin</STRONG> will simu-
- late destructive scrolling; their documentation cautions
- you not to define <STRONG>csr</STRONG> unless this is true. This <STRONG>curses</STRONG>
- implementation is more liberal and will do explicit erases
- after scrolling if <STRONG>ndstr</STRONG> is defined.
-
- If the terminal has the ability to define a window as part
- of memory, which all commands affect, it should be given
- as the parameterized string <STRONG>wind</STRONG>. The four parameters are
- the starting and ending lines in memory and the starting
- and ending columns in memory, in that order.
-
- If the terminal can retain display memory above, then the
- <STRONG>da</STRONG> capability should be given; if display memory can be
- retained below, then <STRONG>db</STRONG> should be given. These indicate
- that deleting a line or scrolling may bring non-blank
- lines up from below or that scrolling back with <STRONG>ri</STRONG> may
+ Yet another way to construct insert and delete might be to use a combi-
+ nation of index with the memory-lock feature found on some terminals
+ (like the HP-700/90 series, which however also has insert/delete).
+
+ Inserting lines at the top or bottom of the screen can also be done
+ using <STRONG>ri</STRONG> or <STRONG>ind</STRONG> on many terminals without a true insert/delete line,
+ and is often faster even on terminals with those features.
+
+ The boolean <STRONG>non_dest_scroll_region</STRONG> should be set if each scrolling win-
+ dow is effectively a view port on a screen-sized canvas. To test for
+ this capability, create a scrolling region in the middle of the screen,
+ write something to the bottom line, move the cursor to the top of the
+ region, and do <STRONG>ri</STRONG> followed by <STRONG>dl1</STRONG> or <STRONG>ind</STRONG>. If the data scrolled off the
+ bottom of the region by the <STRONG>ri</STRONG> re-appears, then scrolling is non-
+ destructive. System V and XSI Curses expect that <STRONG>ind</STRONG>, <STRONG>ri</STRONG>, <STRONG>indn</STRONG>, and
+ <STRONG>rin</STRONG> will simulate destructive scrolling; their documentation cautions
+ you not to define <STRONG>csr</STRONG> unless this is true. This <STRONG>curses</STRONG> implementation
+ is more liberal and will do explicit erases after scrolling if <STRONG>ndsrc</STRONG> is
+ defined.
+
+ If the terminal has the ability to define a window as part of memory,
+ which all commands affect, it should be given as the parameterized
+ string <STRONG>wind</STRONG>. The four parameters are the starting and ending lines in
+ memory and the starting and ending columns in memory, in that order.
+
+ If the terminal can retain display memory above, then the <STRONG>da</STRONG> capability
+ should be given; if display memory can be retained below, then <STRONG>db</STRONG>
+ should be given. These indicate that deleting a line or scrolling may
+ bring non-blank lines up from below or that scrolling back with <STRONG>ri</STRONG> may
bring down non-blank lines.
- <STRONG>Insert/Delete</STRONG> <STRONG>Character</STRONG>
- There are two basic kinds of intelligent terminals with
- respect to insert/delete character which can be described
- using <EM>terminfo.</EM> The most common insert/delete character
- operations affect only the characters on the current line
- and shift characters off the end of the line rigidly.
- Other terminals, such as the Concept 100 and the Perkin
- Elmer Owl, make a distinction between typed and untyped
- blanks on the screen, shifting upon an insert or delete
- only to an untyped blank on the screen which is either
- eliminated, or expanded to two untyped blanks.
-
- You can determine the kind of terminal you have by clear-
- ing the screen and then typing text separated by cursor
- motions. Type "abc def" using local cursor motions
- (not spaces) between the "abc" and the "def". Then posi-
- tion the cursor before the "abc" and put the terminal in
- insert mode. If typing characters causes the rest of the
- line to shift rigidly and characters to fall off the end,
- then your terminal does not distinguish between blanks and
- untyped positions. If the "abc" shifts over to the "def"
- which then move together around the end of the current
- line and onto the next as you insert, you have the second
- type of terminal, and should give the capability <STRONG>in</STRONG>, which
- stands for "insert null".
-
- While these are two logically separate attributes (one
- line versus multi-line insert mode, and special treatment
- of untyped spaces) we have seen no terminals whose insert
- mode cannot be described with the single attribute.
-
- Terminfo can describe both terminals which have an insert
- mode, and terminals which send a simple sequence to open a
- blank position on the current line. Give as <STRONG>smir</STRONG> the
- sequence to get into insert mode. Give as <STRONG>rmir</STRONG> the
- sequence to leave insert mode. Now give as <STRONG>ich1</STRONG> any
- sequence needed to be sent just before sending the charac-
- ter to be inserted. Most terminals with a true insert
- mode will not give <STRONG>ich1</STRONG>; terminals which send a sequence
- to open a screen position should give it here.
-
- If your terminal has both, insert mode is usually prefer-
- able to <STRONG>ich1</STRONG>. Technically, you should not give both
- unless the terminal actually requires both to be used in
- combination. Accordingly, some non-curses applications
- get confused if both are present; the symptom is doubled
- characters in an update using insert. This requirement is
- now rare; most <STRONG>ich</STRONG> sequences do not require previous smir,
- and most smir insert modes do not require <STRONG>ich1</STRONG> before each
- character. Therefore, the new <STRONG>curses</STRONG> actually assumes
- this is the case and uses either <STRONG>rmir</STRONG>/<STRONG>smir</STRONG> or <STRONG>ich</STRONG>/<STRONG>ich1</STRONG> as
- appropriate (but not both). If you have to write an entry
- to be used under new curses for a terminal old enough to
- need both, include the <STRONG>rmir</STRONG>/<STRONG>smir</STRONG> sequences in <STRONG>ich1</STRONG>.
-
- If post insert padding is needed, give this as a number of
- milliseconds in <STRONG>ip</STRONG> (a string option). Any other sequence
- which may need to be sent after an insert of a single
- character may also be given in <STRONG>ip</STRONG>. If your terminal needs
- both to be placed into an "insert mode" and a special code
- to precede each inserted character, then both <STRONG>smir</STRONG>/<STRONG>rmir</STRONG>
- and <STRONG>ich1</STRONG> can be given, and both will be used. The <STRONG>ich</STRONG>
- capability, with one parameter, <EM>n</EM>, will repeat the effects
- of <STRONG>ich1</STRONG> <EM>n</EM> times.
-
- If padding is necessary between characters typed while not
- in insert mode, give this as a number of milliseconds pad-
- ding in <STRONG>rmp</STRONG>.
-
- It is occasionally necessary to move around while in
- insert mode to delete characters on the same line (e.g.,
- if there is a tab after the insertion position). If your
- terminal allows motion while in insert mode you can give
- the capability <STRONG>mir</STRONG> to speed up inserting in this case.
- Omitting <STRONG>mir</STRONG> will affect only speed. Some terminals
- (notably Datamedia's) must not have <STRONG>mir</STRONG> because of the way
- their insert mode works.
-
- Finally, you can specify <STRONG>dch1</STRONG> to delete a single charac-
- ter, <STRONG>dch</STRONG> with one parameter, <EM>n</EM>, to delete <EM>n</EM> <EM>characters,</EM>
- and delete mode by giving <STRONG>smdc</STRONG> and <STRONG>rmdc</STRONG> to enter and exit
- delete mode (any mode the terminal needs to be placed in
- for <STRONG>dch1</STRONG> to work).
-
- A command to erase <EM>n</EM> characters (equivalent to outputting
- <EM>n</EM> blanks without moving the cursor) can be given as <STRONG>ech</STRONG>
- with one parameter.
-
- <STRONG>Highlighting,</STRONG> <STRONG>Underlining,</STRONG> <STRONG>and</STRONG> <STRONG>Visible</STRONG> <STRONG>Bells</STRONG>
- If your terminal has one or more kinds of display
- attributes, these can be represented in a number of dif-
- ferent ways. You should choose one display form as <EM>stand-</EM>
- <EM>out</EM> <EM>mode</EM>, representing a good, high contrast, easy-on-the-
- eyes, format for highlighting error messages and other
- attention getters. (If you have a choice, reverse video
- plus half-bright is good, or reverse video alone.) The
- sequences to enter and exit standout mode are given as
- <STRONG>smso</STRONG> and <STRONG>rmso</STRONG>, respectively. If the code to change into
- or out of standout mode leaves one or even two blank spa-
- ces on the screen, as the TVI 912 and Teleray 1061 do,
- then <STRONG>xmc</STRONG> should be given to tell how many spaces are left.
-
- Codes to begin underlining and end underlining can be
- given as <STRONG>smul</STRONG> and <STRONG>rmul</STRONG> respectively. If the terminal has
- a code to underline the current character and move the
- cursor one space to the right, such as the Microterm Mime,
- this can be given as <STRONG>uc</STRONG>.
-
- Other capabilities to enter various highlighting modes
- include <STRONG>blink</STRONG> (blinking) <STRONG>bold</STRONG> (bold or extra bright) <STRONG>dim</STRONG>
- (dim or half-bright) <STRONG>invis</STRONG> (blanking or invisible text)
- <STRONG>prot</STRONG> (protected) <STRONG>rev</STRONG> (reverse video) <STRONG>sgr0</STRONG> (turn off <EM>all</EM>
- attribute modes) <STRONG>smacs</STRONG> (enter alternate character set
- mode) and <STRONG>rmacs</STRONG> (exit alternate character set mode).
- Turning on any of these modes singly may or may not turn
- off other modes.
-
- If there is a sequence to set arbitrary combinations of
- modes, this should be given as <STRONG>sgr</STRONG> (set attributes), tak-
- ing 9 parameters. Each parameter is either 0 or nonzero,
- as the corresponding attribute is on or off. The 9 param-
- eters are, in order: standout, underline, reverse, blink,
- dim, bold, blank, protect, alternate character set. Not
- all modes need be supported by <STRONG>sgr</STRONG>, only those for which
- corresponding separate attribute commands exist.
+
+</PRE><H3><a name="h3-Insert_Delete-Character">Insert/Delete Character</a></H3><PRE>
+ There are two basic kinds of intelligent terminals with respect to
+ insert/delete character which can be described using <EM>terminfo.</EM> The
+ most common insert/delete character operations affect only the charac-
+ ters on the current line and shift characters off the end of the line
+ rigidly. Other terminals, such as the Concept 100 and the Perkin Elmer
+ Owl, make a distinction between typed and untyped blanks on the screen,
+ shifting upon an insert or delete only to an untyped blank on the
+ screen which is either eliminated, or expanded to two untyped blanks.
+
+ You can determine the kind of terminal you have by clearing the screen
+ and then typing text separated by cursor motions. Type "abc def"
+ using local cursor motions (not spaces) between the "abc" and the
+ "def". Then position the cursor before the "abc" and put the terminal
+ in insert mode. If typing characters causes the rest of the line to
+ shift rigidly and characters to fall off the end, then your terminal
+ does not distinguish between blanks and untyped positions. If the
+ "abc" shifts over to the "def" which then move together around the end
+ of the current line and onto the next as you insert, you have the sec-
+ ond type of terminal, and should give the capability <STRONG>in</STRONG>, which stands
+ for "insert null".
+
+ While these are two logically separate attributes (one line versus
+ multi-line insert mode, and special treatment of untyped spaces) we
+ have seen no terminals whose insert mode cannot be described with the
+ single attribute.
+
+ Terminfo can describe both terminals which have an insert mode, and
+ terminals which send a simple sequence to open a blank position on the
+ current line. Give as <STRONG>smir</STRONG> the sequence to get into insert mode. Give
+ as <STRONG>rmir</STRONG> the sequence to leave insert mode. Now give as <STRONG>ich1</STRONG> any
+ sequence needed to be sent just before sending the character to be
+ inserted. Most terminals with a true insert mode will not give <STRONG>ich1</STRONG>;
+ terminals which send a sequence to open a screen position should give
+ it here.
+
+ If your terminal has both, insert mode is usually preferable to <STRONG>ich1</STRONG>.
+ Technically, you should not give both unless the terminal actually
+ requires both to be used in combination. Accordingly, some non-curses
+ applications get confused if both are present; the symptom is doubled
+ characters in an update using insert. This requirement is now rare;
+ most <STRONG>ich</STRONG> sequences do not require previous smir, and most smir insert
+ modes do not require <STRONG>ich1</STRONG> before each character. Therefore, the new
+ <STRONG>curses</STRONG> actually assumes this is the case and uses either <STRONG>rmir</STRONG>/<STRONG>smir</STRONG> or
+ <STRONG>ich</STRONG>/<STRONG>ich1</STRONG> as appropriate (but not both). If you have to write an entry
+ to be used under new curses for a terminal old enough to need both,
+ include the <STRONG>rmir</STRONG>/<STRONG>smir</STRONG> sequences in <STRONG>ich1</STRONG>.
+
+ If post insert padding is needed, give this as a number of milliseconds
+ in <STRONG>ip</STRONG> (a string option). Any other sequence which may need to be sent
+ after an insert of a single character may also be given in <STRONG>ip</STRONG>. If your
+ terminal needs both to be placed into an "insert mode" and a special
+ code to precede each inserted character, then both <STRONG>smir</STRONG>/<STRONG>rmir</STRONG> and <STRONG>ich1</STRONG>
+ can be given, and both will be used. The <STRONG>ich</STRONG> capability, with one
+ parameter, <EM>n</EM>, will repeat the effects of <STRONG>ich1</STRONG> <EM>n</EM> times.
+
+ If padding is necessary between characters typed while not in insert
+ mode, give this as a number of milliseconds padding in <STRONG>rmp</STRONG>.
+
+ It is occasionally necessary to move around while in insert mode to
+ delete characters on the same line (e.g., if there is a tab after the
+ insertion position). If your terminal allows motion while in insert
+ mode you can give the capability <STRONG>mir</STRONG> to speed up inserting in this
+ case. Omitting <STRONG>mir</STRONG> will affect only speed. Some terminals (notably
+ Datamedia's) must not have <STRONG>mir</STRONG> because of the way their insert mode
+ works.
+
+ Finally, you can specify <STRONG>dch1</STRONG> to delete a single character, <STRONG>dch</STRONG> with
+ one parameter, <EM>n</EM>, to delete <EM>n</EM> <EM>characters,</EM> and delete mode by giving
+ <STRONG>smdc</STRONG> and <STRONG>rmdc</STRONG> to enter and exit delete mode (any mode the terminal
+ needs to be placed in for <STRONG>dch1</STRONG> to work).
+
+ A command to erase <EM>n</EM> characters (equivalent to outputting <EM>n</EM> blanks
+ without moving the cursor) can be given as <STRONG>ech</STRONG> with one parameter.
+
+
+</PRE><H3><a name="h3-Highlighting_-Underlining_-and-Visible-Bells">Highlighting, Underlining, and Visible Bells</a></H3><PRE>
+ If your terminal has one or more kinds of display attributes, these can
+ be represented in a number of different ways. You should choose one
+ display form as <EM>standout</EM> <EM>mode</EM>, representing a good, high contrast,
+ easy-on-the-eyes, format for highlighting error messages and other
+ attention getters. (If you have a choice, reverse video plus half-
+ bright is good, or reverse video alone.) The sequences to enter and
+ exit standout mode are given as <STRONG>smso</STRONG> and <STRONG>rmso</STRONG>, respectively. If the
+ code to change into or out of standout mode leaves one or even two
+ blank spaces on the screen, as the TVI 912 and Teleray 1061 do, then
+ <STRONG>xmc</STRONG> should be given to tell how many spaces are left.
+
+ Codes to begin underlining and end underlining can be given as <STRONG>smul</STRONG> and
+ <STRONG>rmul</STRONG> respectively. If the terminal has a code to underline the current
+ character and move the cursor one space to the right, such as the
+ Microterm Mime, this can be given as <STRONG>uc</STRONG>.
+
+ Other capabilities to enter various highlighting modes include <STRONG>blink</STRONG>
+ (blinking) <STRONG>bold</STRONG> (bold or extra bright) <STRONG>dim</STRONG> (dim or half-bright) <STRONG>invis</STRONG>
+ (blanking or invisible text) <STRONG>prot</STRONG> (protected) <STRONG>rev</STRONG> (reverse video) <STRONG>sgr0</STRONG>
+ (turn off <EM>all</EM> attribute modes) <STRONG>smacs</STRONG> (enter alternate character set
+ mode) and <STRONG>rmacs</STRONG> (exit alternate character set mode). Turning on any of
+ these modes singly may or may not turn off other modes.
+
+ If there is a sequence to set arbitrary combinations of modes, this
+ should be given as <STRONG>sgr</STRONG> (set attributes), taking 9 parameters. Each
+ parameter is either 0 or nonzero, as the corresponding attribute is on
+ or off. The 9 parameters are, in order: standout, underline, reverse,
+ blink, dim, bold, blank, protect, alternate character set. Not all
+ modes need be supported by <STRONG>sgr</STRONG>, only those for which corresponding sep-
+ arate attribute commands exist.
For example, the DEC vt220 supports most of the modes:
- <STRONG>tparm</STRONG> <STRONG>parameter</STRONG> <STRONG>attribute</STRONG> <STRONG>escape</STRONG> <STRONG>sequence</STRONG>
-
- none none \E[0m
- p1 standout \E[0;1;7m
- p2 underline \E[0;4m
- p3 reverse \E[0;7m
- p4 blink \E[0;5m
- p5 dim not available
- p6 bold \E[0;1m
- p7 invis \E[0;8m
- p8 protect not used
- p9 altcharset ^O (off) ^N (on)
-
- We begin each escape sequence by turning off any existing
- modes, since there is no quick way to determine whether
- they are active. Standout is set up to be the combination
- of reverse and bold. The vt220 terminal has a protect
- mode, though it is not commonly used in sgr because it
- protects characters on the screen from the host's era-
- sures. The altcharset mode also is different in that it
- is either ^O or ^N, depending on whether it is off or on.
- If all modes are turned on, the resulting sequence is
- \E[0;1;4;5;7;8m^N.
-
- Some sequences are common to different modes. For exam-
- ple, ;7 is output when either p1 or p3 is true, that is,
- if either standout or reverse modes are turned on.
-
- Writing out the above sequences, along with their depen-
- dencies yields
-
- <STRONG>sequence</STRONG> <STRONG>when</STRONG> <STRONG>to</STRONG> <STRONG>output</STRONG> <STRONG>terminfo</STRONG> <STRONG>translation</STRONG>
-
- \E[0 always \E[0
- ;1 if p1 or p6 %?%p1%p6%|%t;1%;
- ;4 if p2 %?%p2%|%t;4%;
- ;5 if p4 %?%p4%|%t;5%;
- ;7 if p1 or p3 %?%p1%p3%|%t;7%;
- ;8 if p7 %?%p7%|%t;8%;
- m always m
- ^N or ^O if p9 ^N, else ^O %?%p9%t^N%e^O%;
+ <STRONG>tparm</STRONG> <STRONG>parameter</STRONG> <STRONG>attribute</STRONG> <STRONG>escape</STRONG> <STRONG>sequence</STRONG>
+
+ none none \E[0m
+ p1 standout \E[0;1;7m
+ p2 underline \E[0;4m
+ p3 reverse \E[0;7m
+ p4 blink \E[0;5m
+ p5 dim not available
+ p6 bold \E[0;1m
+ p7 invis \E[0;8m
+ p8 protect not used
+ p9 altcharset ^O (off) ^N (on)
+
+ We begin each escape sequence by turning off any existing modes, since
+ there is no quick way to determine whether they are active. Standout
+ is set up to be the combination of reverse and bold. The vt220 termi-
+ nal has a protect mode, though it is not commonly used in sgr because
+ it protects characters on the screen from the host's erasures. The
+ altcharset mode also is different in that it is either ^O or ^N,
+ depending on whether it is off or on. If all modes are turned on, the
+ resulting sequence is \E[0;1;4;5;7;8m^N.
+
+ Some sequences are common to different modes. For example, ;7 is out-
+ put when either p1 or p3 is true, that is, if either standout or
+ reverse modes are turned on.
+
+ Writing out the above sequences, along with their dependencies yields
+
+ <STRONG>sequence</STRONG> <STRONG>when</STRONG> <STRONG>to</STRONG> <STRONG>output</STRONG> <STRONG>terminfo</STRONG> <STRONG>translation</STRONG>
+
+ \E[0 always \E[0
+ ;1 if p1 or p6 %?%p1%p6%|%t;1%;
+ ;4 if p2 %?%p2%|%t;4%;
+ ;5 if p4 %?%p4%|%t;5%;
+ ;7 if p1 or p3 %?%p1%p3%|%t;7%;
+ ;8 if p7 %?%p7%|%t;8%;
+ m always m
+ ^N or ^O if p9 ^N, else ^O %?%p9%t^N%e^O%;
Putting this all together into the sgr sequence gives:
sgr=\E[0%?%p1%p6%|%t;1%;%?%p2%t;4%;%?%p4%t;5%;
%?%p1%p3%|%t;7%;%?%p7%t;8%;m%?%p9%t\016%e\017%;,
- Remember that if you specify sgr, you must also specify
- sgr0. Also, some implementations rely on sgr being given
- if sgr0 is, Not all terminfo entries necessarily have an
- sgr string, however. Many terminfo entries are derived
- from termcap entries which have no sgr string. The only
- drawback to adding an sgr string is that termcap also
- assumes that sgr0 does not exit alternate character set
- mode.
-
- Terminals with the "magic cookie" glitch (<STRONG>xmc</STRONG>) deposit
- special "cookies" when they receive mode-setting
- sequences, which affect the display algorithm rather than
- having extra bits for each character. Some terminals,
- such as the HP 2621, automatically leave standout mode
- when they move to a new line or the cursor is addressed.
- Programs using standout mode should exit standout mode
- before moving the cursor or sending a newline, unless the
- <STRONG>msgr</STRONG> capability, asserting that it is safe to move in
- standout mode, is present.
-
- If the terminal has a way of flashing the screen to indi-
- cate an error quietly (a bell replacement) then this can
- be given as <STRONG>flash</STRONG>; it must not move the cursor.
-
- If the cursor needs to be made more visible than normal
- when it is not on the bottom line (to make, for example, a
- non-blinking underline into an easier to find block or
- blinking underline) give this sequence as <STRONG>cvvis</STRONG>. If there
- is a way to make the cursor completely invisible, give
- that as <STRONG>civis</STRONG>. The capability <STRONG>cnorm</STRONG> should be given which
- undoes the effects of both of these modes.
-
- If your terminal correctly generates underlined characters
- (with no special codes needed) even though it does not
- overstrike, then you should give the capability <STRONG>ul</STRONG>. If a
- character overstriking another leaves both characters on
- the screen, specify the capability <STRONG>os</STRONG>. If overstrikes are
- erasable with a blank, then this should be indicated by
+ Remember that if you specify sgr, you must also specify sgr0. Also,
+ some implementations rely on sgr being given if sgr0 is, Not all ter-
+ minfo entries necessarily have an sgr string, however. Many terminfo
+ entries are derived from termcap entries which have no sgr string. The
+ only drawback to adding an sgr string is that termcap also assumes that
+ sgr0 does not exit alternate character set mode.
+
+ Terminals with the "magic cookie" glitch (<STRONG>xmc</STRONG>) deposit special "cook-
+ ies" when they receive mode-setting sequences, which affect the display
+ algorithm rather than having extra bits for each character. Some ter-
+ minals, such as the HP 2621, automatically leave standout mode when
+ they move to a new line or the cursor is addressed. Programs using
+ standout mode should exit standout mode before moving the cursor or
+ sending a newline, unless the <STRONG>msgr</STRONG> capability, asserting that it is
+ safe to move in standout mode, is present.
+
+ If the terminal has a way of flashing the screen to indicate an error
+ quietly (a bell replacement) then this can be given as <STRONG>flash</STRONG>; it must
+ not move the cursor.
+
+ If the cursor needs to be made more visible than normal when it is not
+ on the bottom line (to make, for example, a non-blinking underline into
+ an easier to find block or blinking underline) give this sequence as
+ <STRONG>cvvis</STRONG>. If there is a way to make the cursor completely invisible, give
+ that as <STRONG>civis</STRONG>. The capability <STRONG>cnorm</STRONG> should be given which undoes the
+ effects of both of these modes.
+
+ If your terminal correctly generates underlined characters (with no
+ special codes needed) even though it does not overstrike, then you
+ should give the capability <STRONG>ul</STRONG>. If a character overstriking another
+ leaves both characters on the screen, specify the capability <STRONG>os</STRONG>. If
+ overstrikes are erasable with a blank, then this should be indicated by
giving <STRONG>eo</STRONG>.
- <STRONG>Keypad</STRONG> <STRONG>and</STRONG> <STRONG>Function</STRONG> <STRONG>Keys</STRONG>
- If the terminal has a keypad that transmits codes when the
- keys are pressed, this information can be given. Note
- that it is not possible to handle terminals where the key-
- pad only works in local (this applies, for example, to the
- unshifted HP 2621 keys). If the keypad can be set to
- transmit or not transmit, give these codes as <STRONG>smkx</STRONG> and
- <STRONG>rmkx</STRONG>. Otherwise the keypad is assumed to always transmit.
-
- The codes sent by the left arrow, right arrow, up arrow,
- down arrow, and home keys can be given as <STRONG>kcub1,</STRONG> <STRONG>kcuf1,</STRONG>
- <STRONG>kcuu1,</STRONG> <STRONG>kcud1,</STRONG> and <STRONG>khome</STRONG> respectively. If there are func-
- tion keys such as f0, f1, ..., f10, the codes they send
- can be given as <STRONG>kf0,</STRONG> <STRONG>kf1,</STRONG> <STRONG>...,</STRONG> <STRONG>kf10</STRONG>. If these keys have
- labels other than the default f0 through f10, the labels
- can be given as <STRONG>lf0,</STRONG> <STRONG>lf1,</STRONG> <STRONG>...,</STRONG> <STRONG>lf10</STRONG>.
-
- The codes transmitted by certain other special keys can be
- given:
+
+</PRE><H3><a name="h3-Keypad-and-Function-Keys">Keypad and Function Keys</a></H3><PRE>
+ If the terminal has a keypad that transmits codes when the keys are
+ pressed, this information can be given. Note that it is not possible
+ to handle terminals where the keypad only works in local (this applies,
+ for example, to the unshifted HP 2621 keys). If the keypad can be set
+ to transmit or not transmit, give these codes as <STRONG>smkx</STRONG> and <STRONG>rmkx</STRONG>. Other-
+ wise the keypad is assumed to always transmit.
+
+ The codes sent by the left arrow, right arrow, up arrow, down arrow,
+ and home keys can be given as <STRONG>kcub1,</STRONG> <STRONG>kcuf1,</STRONG> <STRONG>kcuu1,</STRONG> <STRONG>kcud1,</STRONG> and <STRONG>khome</STRONG>
+ respectively. If there are function keys such as f0, f1, ..., f10, the
+ codes they send can be given as <STRONG>kf0,</STRONG> <STRONG>kf1,</STRONG> <STRONG>...,</STRONG> <STRONG>kf10</STRONG>. If these keys
+ have labels other than the default f0 through f10, the labels can be
+ given as <STRONG>lf0,</STRONG> <STRONG>lf1,</STRONG> <STRONG>...,</STRONG> <STRONG>lf10</STRONG>.
+
+ The codes transmitted by certain other special keys can be given:
<STRONG>o</STRONG> <STRONG>kll</STRONG> (home down),
@@ -1828,68 +1870,77 @@
<STRONG>o</STRONG> <STRONG>khts</STRONG> (set a tab stop in this column).
- In addition, if the keypad has a 3 by 3 array of keys
- including the four arrow keys, the other five keys can be
- given as <STRONG>ka1</STRONG>, <STRONG>ka3</STRONG>, <STRONG>kb2</STRONG>, <STRONG>kc1</STRONG>, and <STRONG>kc3</STRONG>. These keys are use-
- ful when the effects of a 3 by 3 directional pad are
- needed.
-
- Strings to program function keys can be given as <STRONG>pfkey</STRONG>,
- <STRONG>pfloc</STRONG>, and <STRONG>pfx</STRONG>. A string to program screen labels should
- be specified as <STRONG>pln</STRONG>. Each of these strings takes two
- parameters: the function key number to program (from 0 to
- 10) and the string to program it with. Function key num-
- bers out of this range may program undefined keys in a
- terminal dependent manner. The difference between the
- capabilities is that <STRONG>pfkey</STRONG> causes pressing the given key
- to be the same as the user typing the given string; <STRONG>pfloc</STRONG>
- causes the string to be executed by the terminal in local;
- and <STRONG>pfx</STRONG> causes the string to be transmitted to the com-
- puter.
-
- The capabilities <STRONG>nlab</STRONG>, <STRONG>lw</STRONG> and <STRONG>lh</STRONG> define the number of pro-
- grammable screen labels and their width and height. If
- there are commands to turn the labels on and off, give
- them in <STRONG>smln</STRONG> and <STRONG>rmln</STRONG>. <STRONG>smln</STRONG> is normally output after one
- or more pln sequences to make sure that the change becomes
- visible.
-
- <STRONG>Tabs</STRONG> <STRONG>and</STRONG> <STRONG>Initialization</STRONG>
- If the terminal has hardware tabs, the command to advance
- to the next tab stop can be given as <STRONG>ht</STRONG> (usually control
- I). A "back-tab" command which moves leftward to the pre-
- ceding tab stop can be given as <STRONG>cbt</STRONG>. By convention, if
- the teletype modes indicate that tabs are being expanded
- by the computer rather than being sent to the terminal,
- programs should not use <STRONG>ht</STRONG> or <STRONG>cbt</STRONG> even if they are
- present, since the user may not have the tab stops prop-
- erly set. If the terminal has hardware tabs which are
- initially set every <EM>n</EM> spaces when the terminal is powered
- up, the numeric parameter <STRONG>it</STRONG> is given, showing the number
- of spaces the tabs are set to. This is normally used by
- the <EM>tset</EM> command to determine whether to set the mode for
- hardware tab expansion, and whether to set the tab stops.
- If the terminal has tab stops that can be saved in non-
- volatile memory, the terminfo description can assume that
- they are properly set.
-
- Other capabilities include <STRONG>is1</STRONG>, <STRONG>is2</STRONG>, and <STRONG>is3</STRONG>, initializa-
- tion strings for the terminal, <STRONG>iprog</STRONG>, the path name of a
- program to be run to initialize the terminal, and <STRONG>if</STRONG>, the
- name of a file containing long initialization strings.
- These strings are expected to set the terminal into modes
- consistent with the rest of the terminfo description.
- They are normally sent to the terminal, by the <EM>init</EM> option
- of the <EM>tput</EM> program, each time the user logs in. They
- will be printed in the following order:
+ In addition, if the keypad has a 3 by 3 array of keys including the
+ four arrow keys, the other five keys can be given as <STRONG>ka1</STRONG>, <STRONG>ka3</STRONG>, <STRONG>kb2</STRONG>,
+ <STRONG>kc1</STRONG>, and <STRONG>kc3</STRONG>. These keys are useful when the effects of a 3 by 3
+ directional pad are needed.
+
+ Strings to program function keys can be given as <STRONG>pfkey</STRONG>, <STRONG>pfloc</STRONG>, and <STRONG>pfx</STRONG>.
+ A string to program screen labels should be specified as <STRONG>pln</STRONG>. Each of
+ these strings takes two parameters: the function key number to program
+ (from 0 to 10) and the string to program it with. Function key numbers
+ out of this range may program undefined keys in a terminal dependent
+ manner. The difference between the capabilities is that <STRONG>pfkey</STRONG> causes
+ pressing the given key to be the same as the user typing the given
+ string; <STRONG>pfloc</STRONG> causes the string to be executed by the terminal in
+ local; and <STRONG>pfx</STRONG> causes the string to be transmitted to the computer.
+
+ The capabilities <STRONG>nlab</STRONG>, <STRONG>lw</STRONG> and <STRONG>lh</STRONG> define the number of programmable
+ screen labels and their width and height. If there are commands to
+ turn the labels on and off, give them in <STRONG>smln</STRONG> and <STRONG>rmln</STRONG>. <STRONG>smln</STRONG> is nor-
+ mally output after one or more pln sequences to make sure that the
+ change becomes visible.
+
+
+</PRE><H3><a name="h3-Tabs-and-Initialization">Tabs and Initialization</a></H3><PRE>
+ A few capabilities are used only for tabs:
+
+ <STRONG>o</STRONG> If the terminal has hardware tabs, the command to advance to the
+ next tab stop can be given as <STRONG>ht</STRONG> (usually control/I).
+
+ <STRONG>o</STRONG> A "back-tab" command which moves leftward to the preceding tab stop
+ can be given as <STRONG>cbt</STRONG>.
+
+ By convention, if the teletype modes indicate that tabs are being
+ expanded by the computer rather than being sent to the terminal,
+ programs should not use <STRONG>ht</STRONG> or <STRONG>cbt</STRONG> even if they are present, since
+ the user may not have the tab stops properly set.
+
+ <STRONG>o</STRONG> If the terminal has hardware tabs which are initially set every <EM>n</EM>
+ spaces when the terminal is powered up, the numeric parameter <STRONG>it</STRONG> is
+ given, showing the number of spaces the tabs are set to.
+
+ The <STRONG>it</STRONG> capability is normally used by the <STRONG>tset</STRONG> command to determine
+ whether to set the mode for hardware tab expansion, and whether to
+ set the tab stops. If the terminal has tab stops that can be saved
+ in non-volatile memory, the terminfo description can assume that
+ they are properly set.
+
+ Other capabilities include
+
+ <STRONG>o</STRONG> <STRONG>is1</STRONG>, <STRONG>is2</STRONG>, and <STRONG>is3</STRONG>, initialization strings for the terminal,
+
+ <STRONG>o</STRONG> <STRONG>iprog</STRONG>, the path name of a program to be run to initialize the ter-
+ minal,
+
+ <STRONG>o</STRONG> and <STRONG>if</STRONG>, the name of a file containing long initialization strings.
+
+ These strings are expected to set the terminal into modes consistent
+ with the rest of the terminfo description. They are normally sent to
+ the terminal, by the <EM>init</EM> option of the <STRONG>tput</STRONG> program, each time the
+ user logs in. They will be printed in the following order:
run the program
<STRONG>iprog</STRONG>
- output <STRONG>is1</STRONG> <STRONG>is2</STRONG>
+ output
+ <STRONG>is1</STRONG> and
+ <STRONG>is2</STRONG>
set the margins using
- <STRONG>mgc</STRONG>, <STRONG>smgl</STRONG> and <STRONG>smgr</STRONG>
+ <STRONG>mgc</STRONG> or
+ <STRONG>smglp</STRONG> and <STRONG>smgrp</STRONG> or
+ <STRONG>smgl</STRONG> and <STRONG>smgr</STRONG>
set tabs using
<STRONG>tbc</STRONG> and <STRONG>hts</STRONG>
@@ -1897,594 +1948,598 @@
print the file
<STRONG>if</STRONG>
- and finally
- output <STRONG>is3</STRONG>.
-
- Most initialization is done with <STRONG>is2</STRONG>. Special terminal
- modes can be set up without duplicating strings by putting
- the common sequences in <STRONG>is2</STRONG> and special cases in <STRONG>is1</STRONG> and
- <STRONG>is3</STRONG>.
-
- A set of sequences that does a harder reset from a totally
- unknown state can be given as <STRONG>rs1</STRONG>, <STRONG>rs2</STRONG>, <STRONG>rf</STRONG> and <STRONG>rs3</STRONG>, analo-
- gous to <STRONG>is1</STRONG> <STRONG>,</STRONG> <STRONG>is2</STRONG> <STRONG>,</STRONG> <STRONG>if</STRONG> and <STRONG>is3</STRONG> respectively. These
- strings are output by the <EM>reset</EM> program, which is used
- when the terminal gets into a wedged state. Commands are
- normally placed in <STRONG>rs1</STRONG>, <STRONG>rs2</STRONG> <STRONG>rs3</STRONG> and <STRONG>rf</STRONG> only if they pro-
- duce annoying effects on the screen and are not necessary
- when logging in. For example, the command to set the
- vt100 into 80-column mode would normally be part of <STRONG>is2</STRONG>,
- but it causes an annoying glitch of the screen and is not
- normally needed since the terminal is usually already in
- 80 column mode.
-
- The <EM>reset</EM> program writes strings including <STRONG>iprog</STRONG>, etc., in
- the same order as the <EM>init</EM> program, using <STRONG>rs1</STRONG>, etc.,
- instead of <STRONG>is1</STRONG>, etc. If any of <STRONG>rs1</STRONG>, <STRONG>rs2</STRONG>, <STRONG>rs3</STRONG>, or <STRONG>rf</STRONG> reset
- capability strings are missing, the <EM>reset</EM> program falls
- back upon the corresponding initialization capability
- string.
-
- If there are commands to set and clear tab stops, they can
- be given as <STRONG>tbc</STRONG> (clear all tab stops) and <STRONG>hts</STRONG> (set a tab
- stop in the current column of every row). If a more com-
- plex sequence is needed to set the tabs than can be
- described by this, the sequence can be placed in <STRONG>is2</STRONG> or
- <STRONG>if</STRONG>.
-
- <STRONG>Delays</STRONG> <STRONG>and</STRONG> <STRONG>Padding</STRONG>
- Many older and slower terminals do not support either
- XON/XOFF or DTR handshaking, including hard copy terminals
- and some very archaic CRTs (including, for example, DEC
- VT100s). These may require padding characters after cer-
- tain cursor motions and screen changes.
-
- If the terminal uses xon/xoff handshaking for flow control
- (that is, it automatically emits ^S back to the host when
- its input buffers are close to full), set <STRONG>xon</STRONG>. This capa-
- bility suppresses the emission of padding. You can also
- set it for memory-mapped console devices effectively that
- do not have a speed limit. Padding information should
- still be included so that routines can make better deci-
- sions about relative costs, but actual pad characters will
- not be transmitted.
-
- If <STRONG>pb</STRONG> (padding baud rate) is given, padding is suppressed
- at baud rates below the value of <STRONG>pb</STRONG>. If the entry has no
- padding baud rate, then whether padding is emitted or not
- is completely controlled by <STRONG>xon</STRONG>.
-
- If the terminal requires other than a null (zero) charac-
- ter as a pad, then this can be given as <STRONG>pad</STRONG>. Only the
- first character of the <STRONG>pad</STRONG> string is used.
-
- <STRONG>Status</STRONG> <STRONG>Lines</STRONG>
- Some terminals have an extra "status line" which is not
- normally used by software (and thus not counted in the
- terminal's <STRONG>lines</STRONG> capability).
-
- The simplest case is a status line which is cursor-
- addressable but not part of the main scrolling region on
- the screen; the Heathkit H19 has a status line of this
- kind, as would a 24-line VT100 with a 23-line scrolling
- region set up on initialization. This situation is indi-
- cated by the <STRONG>hs</STRONG> capability.
-
- Some terminals with status lines need special sequences to
- access the status line. These may be expressed as a
- string with single parameter <STRONG>tsl</STRONG> which takes the cursor to
- a given zero-origin column on the status line. The capa-
- bility <STRONG>fsl</STRONG> must return to the main-screen cursor positions
- before the last <STRONG>tsl</STRONG>. You may need to embed the string
- values of <STRONG>sc</STRONG> (save cursor) and <STRONG>rc</STRONG> (restore cursor) in <STRONG>tsl</STRONG>
- and <STRONG>fsl</STRONG> to accomplish this.
-
- The status line is normally assumed to be the same width
- as the width of the terminal. If this is untrue, you can
- specify it with the numeric capability <STRONG>wsl</STRONG>.
-
- A command to erase or blank the status line may be speci-
- fied as <STRONG>dsl</STRONG>.
-
- The boolean capability <STRONG>eslok</STRONG> specifies that escape
- sequences, tabs, etc., work ordinarily in the status line.
-
- The <STRONG>ncurses</STRONG> implementation does not yet use any of these
- capabilities. They are documented here in case they ever
- become important.
-
- <STRONG>Line</STRONG> <STRONG>Graphics</STRONG>
- Many terminals have alternate character sets useful for
- forms-drawing. Terminfo and <STRONG>curses</STRONG> build in support for
- the drawing characters supported by the VT100, with some
- characters from the AT&amp;T 4410v1 added. This alternate
- character set may be specified by the <STRONG>acsc</STRONG> capability.
-
- <STRONG>Glyph</STRONG> <STRONG>ACS</STRONG> <STRONG>Ascii</STRONG> <STRONG>VT100</STRONG>
- <STRONG>Name</STRONG> <STRONG>Name</STRONG> <STRONG>Default</STRONG> <STRONG>Name</STRONG>
- UK pound sign ACS_STERLING f }
- arrow pointing down ACS_DARROW v .
- arrow pointing left ACS_LARROW &lt; ,
- arrow pointing right ACS_RARROW &gt; +
- arrow pointing up ACS_UARROW ^ -
- board of squares ACS_BOARD # h
- bullet ACS_BULLET o ~
- checker board (stipple) ACS_CKBOARD : a
- degree symbol ACS_DEGREE \ f
- diamond ACS_DIAMOND + `
- greater-than-or-equal-to ACS_GEQUAL &gt; z
- greek pi ACS_PI * {
- horizontal line ACS_HLINE - q
- lantern symbol ACS_LANTERN # i
- large plus or crossover ACS_PLUS + n
- less-than-or-equal-to ACS_LEQUAL &lt; y
- lower left corner ACS_LLCORNER + m
- lower right corner ACS_LRCORNER + j
- not-equal ACS_NEQUAL ! |
- plus/minus ACS_PLMINUS # g
- scan line 1 ACS_S1 ~ o
- scan line 3 ACS_S3 - p
- scan line 7 ACS_S7 - r
- scan line 9 ACS_S9 _ s
- solid square block ACS_BLOCK # 0
- tee pointing down ACS_TTEE + w
- tee pointing left ACS_RTEE + u
- tee pointing right ACS_LTEE + t
- tee pointing up ACS_BTEE + v
- upper left corner ACS_ULCORNER + l
- upper right corner ACS_URCORNER + k
- vertical line ACS_VLINE | x
-
- The best way to define a new device's graphics set is to
- add a column to a copy of this table for your terminal,
- giving the character which (when emitted between
- <STRONG>smacs</STRONG>/<STRONG>rmacs</STRONG> switches) will be rendered as the correspond-
- ing graphic. Then read off the VT100/your terminal char-
- acter pairs right to left in sequence; these become the
- ACSC string.
-
- <STRONG>Color</STRONG> <STRONG>Handling</STRONG>
- Most color terminals are either "Tektronix-like" or "HP-
- like". Tektronix-like terminals have a predefined set of
- N colors (where N usually 8), and can set character-cell
- foreground and background characters independently, mixing
- them into N * N color-pairs. On HP-like terminals, the
- use must set each color pair up separately (foreground and
- background are not independently settable). Up to M
- color-pairs may be set up from 2*M different colors.
- ANSI-compatible terminals are Tektronix-like.
-
- Some basic color capabilities are independent of the color
- method. The numeric capabilities <STRONG>colors</STRONG> and <STRONG>pairs</STRONG> specify
- the maximum numbers of colors and color-pairs that can be
- displayed simultaneously. The <STRONG>op</STRONG> (original pair) string
- resets foreground and background colors to their default
- values for the terminal. The <STRONG>oc</STRONG> string resets all colors
- or color-pairs to their default values for the terminal.
- Some terminals (including many PC terminal emulators)
- erase screen areas with the current background color
- rather than the power-up default background; these should
- have the boolean capability <STRONG>bce</STRONG>.
-
- To change the current foreground or background color on a
- Tektronix-type terminal, use <STRONG>setaf</STRONG> (set ANSI foreground)
- and <STRONG>setab</STRONG> (set ANSI background) or <STRONG>setf</STRONG> (set foreground)
- and <STRONG>setb</STRONG> (set background). These take one parameter, the
- color number. The SVr4 documentation describes only
- <STRONG>setaf</STRONG>/<STRONG>setab</STRONG>; the XPG4 draft says that "If the terminal
- supports ANSI escape sequences to set background and fore-
- ground, they should be coded as <STRONG>setaf</STRONG> and <STRONG>setab</STRONG>, respec-
- tively. If the terminal supports other escape sequences
- to set background and foreground, they should be coded as
- <STRONG>setf</STRONG> and <STRONG>setb</STRONG>, respectively. The <EM>vidputs()</EM> function and
- the refresh functions use <STRONG>setaf</STRONG> and <STRONG>setab</STRONG> if they are
- defined."
-
- The <STRONG>setaf</STRONG>/<STRONG>setab</STRONG> and <STRONG>setf</STRONG>/<STRONG>setb</STRONG> capabilities take a single
- numeric argument each. Argument values 0-7 of <STRONG>setaf</STRONG>/<STRONG>setab</STRONG>
- are portably defined as follows (the middle column is the
- symbolic #define available in the header for the <STRONG>curses</STRONG> or
- <STRONG>ncurses</STRONG> libraries). The terminal hardware is free to map
- these as it likes, but the RGB values indicate normal
- locations in color space.
-
- <STRONG>Color</STRONG> <STRONG>#define</STRONG> <STRONG>Value</STRONG> <STRONG>RGB</STRONG>
- black <STRONG>COLOR_BLACK</STRONG> 0 0, 0, 0
- red <STRONG>COLOR_RED</STRONG> 1 max,0,0
- green <STRONG>COLOR_GREEN</STRONG> 2 0,max,0
- yellow <STRONG>COLOR_YELLOW</STRONG> 3 max,max,0
- blue <STRONG>COLOR_BLUE</STRONG> 4 0,0,max
- magenta <STRONG>COLOR_MAGENTA</STRONG> 5 max,0,max
- cyan <STRONG>COLOR_CYAN</STRONG> 6 0,max,max
- white <STRONG>COLOR_WHITE</STRONG> 7 max,max,max
-
- The argument values of <STRONG>setf</STRONG>/<STRONG>setb</STRONG> historically correspond
- to a different mapping, i.e.,
-
- <STRONG>Color</STRONG> <STRONG>#define</STRONG> <STRONG>Value</STRONG> <STRONG>RGB</STRONG>
- black <STRONG>COLOR_BLACK</STRONG> 0 0, 0, 0
- blue <STRONG>COLOR_BLUE</STRONG> 1 0,0,max
- green <STRONG>COLOR_GREEN</STRONG> 2 0,max,0
- cyan <STRONG>COLOR_CYAN</STRONG> 3 0,max,max
- red <STRONG>COLOR_RED</STRONG> 4 max,0,0
- magenta <STRONG>COLOR_MAGENTA</STRONG> 5 max,0,max
- yellow <STRONG>COLOR_YELLOW</STRONG> 6 max,max,0
- white <STRONG>COLOR_WHITE</STRONG> 7 max,max,max
-
- It is important to not confuse the two sets of color capa-
- bilities; otherwise red/blue will be interchanged on the
- display.
-
- On an HP-like terminal, use <STRONG>scp</STRONG> with a color-pair number
- parameter to set which color pair is current.
-
- On a Tektronix-like terminal, the capability <STRONG>ccc</STRONG> may be
- present to indicate that colors can be modified. If so,
- the <STRONG>initc</STRONG> capability will take a color number (0 to <STRONG>colors</STRONG>
- - 1)and three more parameters which describe the color.
- These three parameters default to being interpreted as RGB
- (Red, Green, Blue) values. If the boolean capability <STRONG>hls</STRONG>
- is present, they are instead as HLS (Hue, Lightness, Satu-
- ration) indices. The ranges are terminal-dependent.
-
- On an HP-like terminal, <STRONG>initp</STRONG> may give a capability for
- changing a color-pair value. It will take seven parame-
- ters; a color-pair number (0 to <STRONG>max_pairs</STRONG> - 1), and two
- triples describing first background and then foreground
- colors. These parameters must be (Red, Green, Blue) or
- (Hue, Lightness, Saturation) depending on <STRONG>hls</STRONG>.
-
- On some color terminals, colors collide with highlights.
- You can register these collisions with the <STRONG>ncv</STRONG> capability.
- This is a bit-mask of attributes not to be used when col-
- ors are enabled. The correspondence with the attributes
- understood by <STRONG>curses</STRONG> is as follows:
-
- <STRONG>Attribute</STRONG> <STRONG>Bit</STRONG> <STRONG>Decimal</STRONG> <STRONG>Set</STRONG> <STRONG>by</STRONG>
- A_STANDOUT 0 1 sgr
- A_UNDERLINE 1 2 sgr
- A_REVERSE 2 4 sgr
- A_BLINK 3 8 sgr
- A_DIM 4 16 sgr
- A_BOLD 5 32 sgr
- A_INVIS 6 64 sgr
- A_PROTECT 7 128 sgr
- A_ALTCHARSET 8 256 sgr
- A_HORIZONTAL 9 512 sgr1
- A_LEFT 10 1024 sgr1
- A_LOW 11 2048 sgr1
- A_RIGHT 12 4096 sgr1
- A_TOP 13 8192 sgr1
- A_VERTICAL 14 16384 sgr1
- A_ITALIC 15 32768 sitm
-
- For example, on many IBM PC consoles, the underline
- attribute collides with the foreground color blue and is
- not available in color mode. These should have an <STRONG>ncv</STRONG>
- capability of 2.
-
- SVr4 curses does nothing with <STRONG>ncv</STRONG>, ncurses recognizes it
- and optimizes the output in favor of colors.
-
- <STRONG>Miscellaneous</STRONG>
- If the terminal requires other than a null (zero) charac-
- ter as a pad, then this can be given as pad. Only the
- first character of the pad string is used. If the termi-
- nal does not have a pad character, specify npc. Note that
- ncurses implements the termcap-compatible <STRONG>PC</STRONG> variable;
- though the application may set this value to something
- other than a null, ncurses will test <STRONG>npc</STRONG> first and use
- napms if the terminal has no pad character.
-
- If the terminal can move up or down half a line, this can
- be indicated with <STRONG>hu</STRONG> (half-line up) and <STRONG>hd</STRONG> (half-line
- down). This is primarily useful for superscripts and sub-
- scripts on hard-copy terminals. If a hard-copy terminal
- can eject to the next page (form feed), give this as <STRONG>ff</STRONG>
- (usually control L).
-
- If there is a command to repeat a given character a given
- number of times (to save time transmitting a large number
- of identical characters) this can be indicated with the
- parameterized string <STRONG>rep</STRONG>. The first parameter is the
- character to be repeated and the second is the number of
- times to repeat it. Thus, tparm(repeat_char, 'x', 10) is
- the same as "xxxxxxxxxx".
-
- If the terminal has a settable command character, such as
- the TEKTRONIX 4025, this can be indicated with <STRONG>cmdch</STRONG>. A
- prototype command character is chosen which is used in all
- capabilities. This character is given in the <STRONG>cmdch</STRONG> capa-
- bility to identify it. The following convention is sup-
- ported on some UNIX systems: The environment is to be
- searched for a <STRONG>CC</STRONG> variable, and if found, all occurrences
- of the prototype character are replaced with the character
- in the environment variable.
-
- Terminal descriptions that do not represent a specific
- kind of known terminal, such as <EM>switch</EM>, <EM>dialup</EM>, <EM>patch</EM>, and
- <EM>network</EM>, should include the <STRONG>gn</STRONG> (generic) capability so
- that programs can complain that they do not know how to
- talk to the terminal. (This capability does not apply to
- <EM>virtual</EM> terminal descriptions for which the escape
- sequences are known.)
-
- If the terminal has a "meta key" which acts as a shift
- key, setting the 8th bit of any character transmitted,
- this fact can be indicated with <STRONG>km</STRONG>. Otherwise, software
- will assume that the 8th bit is parity and it will usually
- be cleared. If strings exist to turn this "meta mode" on
+ and finally output
+ <STRONG>is3</STRONG>.
+
+ Most initialization is done with <STRONG>is2</STRONG>. Special terminal modes can be
+ set up without duplicating strings by putting the common sequences in
+ <STRONG>is2</STRONG> and special cases in <STRONG>is1</STRONG> and <STRONG>is3</STRONG>.
+
+ A set of sequences that does a harder reset from a totally unknown
+ state can be given as <STRONG>rs1</STRONG>, <STRONG>rs2</STRONG>, <STRONG>rf</STRONG> and <STRONG>rs3</STRONG>, analogous to <STRONG>is1</STRONG> <STRONG>,</STRONG> <STRONG>is2</STRONG> <STRONG>,</STRONG> <STRONG>if</STRONG>
+ and <STRONG>is3</STRONG> respectively. These strings are output by <EM>reset</EM> option of
+ <STRONG>tput</STRONG>, or by the <STRONG>reset</STRONG> program (an alias of <STRONG>tset</STRONG>), which is used when
+ the terminal gets into a wedged state. Commands are normally placed in
+ <STRONG>rs1</STRONG>, <STRONG>rs2</STRONG> <STRONG>rs3</STRONG> and <STRONG>rf</STRONG> only if they produce annoying effects on the screen
+ and are not necessary when logging in. For example, the command to set
+ the vt100 into 80-column mode would normally be part of <STRONG>is2</STRONG>, but it
+ causes an annoying glitch of the screen and is not normally needed
+ since the terminal is usually already in 80-column mode.
+
+ The <STRONG>reset</STRONG> program writes strings including <STRONG>iprog</STRONG>, etc., in the same
+ order as the <EM>init</EM> program, using <STRONG>rs1</STRONG>, etc., instead of <STRONG>is1</STRONG>, etc. If
+ any of <STRONG>rs1</STRONG>, <STRONG>rs2</STRONG>, <STRONG>rs3</STRONG>, or <STRONG>rf</STRONG> reset capability strings are missing, the
+ <STRONG>reset</STRONG> program falls back upon the corresponding initialization capabil-
+ ity string.
+
+ If there are commands to set and clear tab stops, they can be given as
+ <STRONG>tbc</STRONG> (clear all tab stops) and <STRONG>hts</STRONG> (set a tab stop in the current column
+ of every row). If a more complex sequence is needed to set the tabs
+ than can be described by this, the sequence can be placed in <STRONG>is2</STRONG> or <STRONG>if</STRONG>.
+
+ The <STRONG>tput</STRONG> <STRONG>reset</STRONG> command uses the same capability strings as the <STRONG>reset</STRONG>
+ command, although the two programs (<STRONG>tput</STRONG> and <STRONG>reset</STRONG>) provide different
+ command-line options.
+
+ In practice, these terminfo capabilities are not often used in initial-
+ ization of tabs (though they are required for the <STRONG>tabs</STRONG> program):
+
+ <STRONG>o</STRONG> Almost all hardware terminals (at least those which supported tabs)
+ initialized those to every <EM>eight</EM> columns:
+
+ The only exception was the AT&amp;T 2300 series, which set tabs to
+ every <EM>five</EM> columns.
+
+ <STRONG>o</STRONG> In particular, developers of the hardware terminals which are com-
+ monly used as models for modern terminal emulators provided docu-
+ mentation demonstrating that <EM>eight</EM> columns were the standard.
+
+ <STRONG>o</STRONG> Because of this, the terminal initialization programs <STRONG>tput</STRONG> and <STRONG>tset</STRONG>
+ use the <STRONG>tbc</STRONG> (<STRONG>clear_all_tabs</STRONG>) and <STRONG>hts</STRONG> (<STRONG>set_tab</STRONG>) capabilities
+ directly only when the <STRONG>it</STRONG> (<STRONG>init_tabs</STRONG>) capability is set to a value
+ other than <EM>eight</EM>.
+
+
+</PRE><H3><a name="h3-Delays-and-Padding">Delays and Padding</a></H3><PRE>
+ Many older and slower terminals do not support either XON/XOFF or DTR
+ handshaking, including hard copy terminals and some very archaic CRTs
+ (including, for example, DEC VT100s). These may require padding char-
+ acters after certain cursor motions and screen changes.
+
+ If the terminal uses xon/xoff handshaking for flow control (that is, it
+ automatically emits ^S back to the host when its input buffers are
+ close to full), set <STRONG>xon</STRONG>. This capability suppresses the emission of
+ padding. You can also set it for memory-mapped console devices effec-
+ tively that do not have a speed limit. Padding information should
+ still be included so that routines can make better decisions about rel-
+ ative costs, but actual pad characters will not be transmitted.
+
+ If <STRONG>pb</STRONG> (padding baud rate) is given, padding is suppressed at baud rates
+ below the value of <STRONG>pb</STRONG>. If the entry has no padding baud rate, then
+ whether padding is emitted or not is completely controlled by <STRONG>xon</STRONG>.
+
+ If the terminal requires other than a null (zero) character as a pad,
+ then this can be given as <STRONG>pad</STRONG>. Only the first character of the <STRONG>pad</STRONG>
+ string is used.
+
+
+</PRE><H3><a name="h3-Status-Lines">Status Lines</a></H3><PRE>
+ Some terminals have an extra "status line" which is not normally used
+ by software (and thus not counted in the terminal's <STRONG>lines</STRONG> capability).
+
+ The simplest case is a status line which is cursor-addressable but not
+ part of the main scrolling region on the screen; the Heathkit H19 has a
+ status line of this kind, as would a 24-line VT100 with a 23-line
+ scrolling region set up on initialization. This situation is indicated
+ by the <STRONG>hs</STRONG> capability.
+
+ Some terminals with status lines need special sequences to access the
+ status line. These may be expressed as a string with single parameter
+ <STRONG>tsl</STRONG> which takes the cursor to a given zero-origin column on the status
+ line. The capability <STRONG>fsl</STRONG> must return to the main-screen cursor posi-
+ tions before the last <STRONG>tsl</STRONG>. You may need to embed the string values of
+ <STRONG>sc</STRONG> (save cursor) and <STRONG>rc</STRONG> (restore cursor) in <STRONG>tsl</STRONG> and <STRONG>fsl</STRONG> to accomplish
+ this.
+
+ The status line is normally assumed to be the same width as the width
+ of the terminal. If this is untrue, you can specify it with the
+ numeric capability <STRONG>wsl</STRONG>.
+
+ A command to erase or blank the status line may be specified as <STRONG>dsl</STRONG>.
+
+ The boolean capability <STRONG>eslok</STRONG> specifies that escape sequences, tabs,
+ etc., work ordinarily in the status line.
+
+ The <STRONG>ncurses</STRONG> implementation does not yet use any of these capabilities.
+ They are documented here in case they ever become important.
+
+
+</PRE><H3><a name="h3-Line-Graphics">Line Graphics</a></H3><PRE>
+ Many terminals have alternate character sets useful for forms-drawing.
+ Terminfo and <STRONG>curses</STRONG> have built-in support for most of the drawing char-
+ acters supported by the VT100, with some characters from the AT&amp;T
+ 4410v1 added. This alternate character set may be specified by the
+ <STRONG>acsc</STRONG> capability.
+
+ <STRONG>Glyph</STRONG> <STRONG>ACS</STRONG> <STRONG>Ascii</STRONG> <STRONG>acsc</STRONG> <STRONG>acsc</STRONG>
+ <STRONG>Name</STRONG> <STRONG>Name</STRONG> <STRONG>Default</STRONG> <STRONG>Char</STRONG> <STRONG>Value</STRONG>
+ --------------------------------------------------------------------
+ arrow pointing right ACS_RARROW &gt; + 0x2b
+ arrow pointing left ACS_LARROW &lt; , 0x2c
+ arrow pointing up ACS_UARROW ^ - 0x2d
+ arrow pointing down ACS_DARROW v . 0x2e
+ solid square block ACS_BLOCK # 0 0x30
+ diamond ACS_DIAMOND + ` 0x60
+ checker board (stipple) ACS_CKBOARD : a 0x61
+ degree symbol ACS_DEGREE \ f 0x66
+ plus/minus ACS_PLMINUS # g 0x67
+ board of squares ACS_BOARD # h 0x68
+ lantern symbol ACS_LANTERN # i 0x69
+ lower right corner ACS_LRCORNER + j 0x6a
+ upper right corner ACS_URCORNER + k 0x6b
+ upper left corner ACS_ULCORNER + l 0x6c
+ lower left corner ACS_LLCORNER + m 0x6d
+ large plus or crossover ACS_PLUS + n 0x6e
+ scan line 1 ACS_S1 ~ o 0x6f
+ scan line 3 ACS_S3 - p 0x70
+ horizontal line ACS_HLINE - q 0x71
+ scan line 7 ACS_S7 - r 0x72
+ scan line 9 ACS_S9 _ s 0x73
+ tee pointing right ACS_LTEE + t 0x74
+ tee pointing left ACS_RTEE + u 0x75
+ tee pointing up ACS_BTEE + v 0x76
+ tee pointing down ACS_TTEE + w 0x77
+ vertical line ACS_VLINE | x 0x78
+ less-than-or-equal-to ACS_LEQUAL &lt; y 0x79
+ greater-than-or-equal-to ACS_GEQUAL &gt; z 0x7a
+ greek pi ACS_PI * { 0x7b
+ not-equal ACS_NEQUAL ! | 0x7c
+ UK pound sign ACS_STERLING f } 0x7d
+ bullet ACS_BULLET o ~ 0x7e
+
+ A few notes apply to the table itself:
+
+ <STRONG>o</STRONG> X/Open Curses incorrectly states that the mapping for <EM>lantern</EM> is
+ uppercase "I" although Unix implementations use the lowercase "i"
+ mapping.
+
+ <STRONG>o</STRONG> The DEC VT100 implemented graphics using the alternate character
+ set feature, temporarily switching <EM>modes</EM> and sending characters in
+ the range 0x60 (96) to 0x7e (126) (the <STRONG>acsc</STRONG> <STRONG>Value</STRONG> column in the ta-
+ ble).
+
+ <STRONG>o</STRONG> The AT&amp;T terminal added graphics characters outside that range.
+
+ Some of the characters within the range do not match the VT100;
+ presumably they were used in the AT&amp;T terminal: <EM>board</EM> <EM>of</EM> <EM>squares</EM>
+ replaces the VT100 <EM>newline</EM> symbol, while <EM>lantern</EM> <EM>symbol</EM> replaces
+ the VT100 <EM>vertical</EM> <EM>tab</EM> symbol. The other VT100 symbols for control
+ characters (<EM>horizontal</EM> <EM>tab</EM>, <EM>carriage</EM> <EM>return</EM> and <EM>line-feed</EM>) are not
+ (re)used in curses.
+
+ The best way to define a new device's graphics set is to add a column
+ to a copy of this table for your terminal, giving the character which
+ (when emitted between <STRONG>smacs</STRONG>/<STRONG>rmacs</STRONG> switches) will be rendered as the
+ corresponding graphic. Then read off the VT100/your terminal character
+ pairs right to left in sequence; these become the ACSC string.
+
+
+</PRE><H3><a name="h3-Color-Handling">Color Handling</a></H3><PRE>
+ The curses library functions <STRONG>init_pair</STRONG> and <STRONG>init_color</STRONG> manipulate the
+ <EM>color</EM> <EM>pairs</EM> and <EM>color</EM> <EM>values</EM> discussed in this section (see
+ <STRONG><A HREF="curs_color.3x.html">curs_color(3x)</A></STRONG> for details on these and related functions).
+
+ Most color terminals are either "Tektronix-like" or "HP-like":
+
+ <STRONG>o</STRONG> Tektronix-like terminals have a predefined set of <EM>N</EM> colors (where <EM>N</EM>
+ is usually 8), and can set character-cell foreground and background
+ characters independently, mixing them into <EM>N</EM> * <EM>N</EM> color-pairs.
+
+ <STRONG>o</STRONG> On HP-like terminals, the user must set each color pair up sepa-
+ rately (foreground and background are not independently settable).
+ Up to <EM>M</EM> color-pairs may be set up from 2*<EM>M</EM> different colors. ANSI-
+ compatible terminals are Tektronix-like.
+
+ Some basic color capabilities are independent of the color method. The
+ numeric capabilities <STRONG>colors</STRONG> and <STRONG>pairs</STRONG> specify the maximum numbers of
+ colors and color-pairs that can be displayed simultaneously. The <STRONG>op</STRONG>
+ (original pair) string resets foreground and background colors to their
+ default values for the terminal. The <STRONG>oc</STRONG> string resets all colors or
+ color-pairs to their default values for the terminal. Some terminals
+ (including many PC terminal emulators) erase screen areas with the cur-
+ rent background color rather than the power-up default background;
+ these should have the boolean capability <STRONG>bce</STRONG>.
+
+ While the curses library works with <EM>color</EM> <EM>pairs</EM> (reflecting the inabil-
+ ity of some devices to set foreground and background colors indepen-
+ dently), there are separate capabilities for setting these features:
+
+ <STRONG>o</STRONG> To change the current foreground or background color on a Tek-
+ tronix-type terminal, use <STRONG>setaf</STRONG> (set ANSI foreground) and <STRONG>setab</STRONG>
+ (set ANSI background) or <STRONG>setf</STRONG> (set foreground) and <STRONG>setb</STRONG> (set back-
+ ground). These take one parameter, the color number. The SVr4
+ documentation describes only <STRONG>setaf</STRONG>/<STRONG>setab</STRONG>; the XPG4 draft says that
+ "If the terminal supports ANSI escape sequences to set background
+ and foreground, they should be coded as <STRONG>setaf</STRONG> and <STRONG>setab</STRONG>, respec-
+ tively.
+
+ <STRONG>o</STRONG> If the terminal supports other escape sequences to set background
+ and foreground, they should be coded as <STRONG>setf</STRONG> and <STRONG>setb</STRONG>, respec-
+ tively. The <STRONG>vidputs</STRONG> and the <STRONG><A HREF="curs_refresh.3x.html">refresh(3x)</A></STRONG> functions use the <STRONG>setaf</STRONG>
+ and <STRONG>setab</STRONG> capabilities if they are defined.
+
+ The <STRONG>setaf</STRONG>/<STRONG>setab</STRONG> and <STRONG>setf</STRONG>/<STRONG>setb</STRONG> capabilities take a single numeric argu-
+ ment each. Argument values 0-7 of <STRONG>setaf</STRONG>/<STRONG>setab</STRONG> are portably defined as
+ follows (the middle column is the symbolic #define available in the
+ header for the <STRONG>curses</STRONG> or <STRONG>ncurses</STRONG> libraries). The terminal hardware is
+ free to map these as it likes, but the RGB values indicate normal loca-
+ tions in color space.
+
+ <STRONG>Color</STRONG> <STRONG>#define</STRONG> <STRONG>Value</STRONG> <STRONG>RGB</STRONG>
+ black <STRONG>COLOR_BLACK</STRONG> 0 0, 0, 0
+ red <STRONG>COLOR_RED</STRONG> 1 max,0,0
+ green <STRONG>COLOR_GREEN</STRONG> 2 0,max,0
+ yellow <STRONG>COLOR_YELLOW</STRONG> 3 max,max,0
+ blue <STRONG>COLOR_BLUE</STRONG> 4 0,0,max
+ magenta <STRONG>COLOR_MAGENTA</STRONG> 5 max,0,max
+ cyan <STRONG>COLOR_CYAN</STRONG> 6 0,max,max
+ white <STRONG>COLOR_WHITE</STRONG> 7 max,max,max
+
+ The argument values of <STRONG>setf</STRONG>/<STRONG>setb</STRONG> historically correspond to a different
+ mapping, i.e.,
+
+ <STRONG>Color</STRONG> <STRONG>#define</STRONG> <STRONG>Value</STRONG> <STRONG>RGB</STRONG>
+ black <STRONG>COLOR_BLACK</STRONG> 0 0, 0, 0
+ blue <STRONG>COLOR_BLUE</STRONG> 1 0,0,max
+ green <STRONG>COLOR_GREEN</STRONG> 2 0,max,0
+ cyan <STRONG>COLOR_CYAN</STRONG> 3 0,max,max
+ red <STRONG>COLOR_RED</STRONG> 4 max,0,0
+ magenta <STRONG>COLOR_MAGENTA</STRONG> 5 max,0,max
+ yellow <STRONG>COLOR_YELLOW</STRONG> 6 max,max,0
+ white <STRONG>COLOR_WHITE</STRONG> 7 max,max,max
+
+ It is important to not confuse the two sets of color capabilities; oth-
+ erwise red/blue will be interchanged on the display.
+
+ On an HP-like terminal, use <STRONG>scp</STRONG> with a color-pair number parameter to
+ set which color pair is current.
+
+ Some terminals allow the <EM>color</EM> <EM>values</EM> to be modified:
+
+ <STRONG>o</STRONG> On a Tektronix-like terminal, the capability <STRONG>ccc</STRONG> may be present to
+ indicate that colors can be modified. If so, the <STRONG>initc</STRONG> capability
+ will take a color number (0 to <STRONG>colors</STRONG> - 1)and three more parameters
+ which describe the color. These three parameters default to being
+ interpreted as RGB (Red, Green, Blue) values. If the boolean capa-
+ bility <STRONG>hls</STRONG> is present, they are instead as HLS (Hue, Lightness,
+ Saturation) indices. The ranges are terminal-dependent.
+
+ <STRONG>o</STRONG> On an HP-like terminal, <STRONG>initp</STRONG> may give a capability for changing a
+ color-pair value. It will take seven parameters; a color-pair num-
+ ber (0 to <STRONG>max_pairs</STRONG> - 1), and two triples describing first back-
+ ground and then foreground colors. These parameters must be (Red,
+ Green, Blue) or (Hue, Lightness, Saturation) depending on <STRONG>hls</STRONG>.
+
+ On some color terminals, colors collide with highlights. You can reg-
+ ister these collisions with the <STRONG>ncv</STRONG> capability. This is a bit-mask of
+ attributes not to be used when colors are enabled. The correspondence
+ with the attributes understood by <STRONG>curses</STRONG> is as follows:
+
+ <STRONG>Attribute</STRONG> <STRONG>Bit</STRONG> <STRONG>Decimal</STRONG> <STRONG>Set</STRONG> <STRONG>by</STRONG>
+ A_STANDOUT 0 1 sgr
+ A_UNDERLINE 1 2 sgr
+ A_REVERSE 2 4 sgr
+ A_BLINK 3 8 sgr
+ A_DIM 4 16 sgr
+ A_BOLD 5 32 sgr
+ A_INVIS 6 64 sgr
+ A_PROTECT 7 128 sgr
+
+ A_ALTCHARSET 8 256 sgr
+ A_HORIZONTAL 9 512 sgr1
+ A_LEFT 10 1024 sgr1
+ A_LOW 11 2048 sgr1
+ A_RIGHT 12 4096 sgr1
+ A_TOP 13 8192 sgr1
+ A_VERTICAL 14 16384 sgr1
+ A_ITALIC 15 32768 sitm
+
+ For example, on many IBM PC consoles, the underline attribute collides
+ with the foreground color blue and is not available in color mode.
+ These should have an <STRONG>ncv</STRONG> capability of 2.
+
+ SVr4 curses does nothing with <STRONG>ncv</STRONG>, ncurses recognizes it and optimizes
+ the output in favor of colors.
+
+
+</PRE><H3><a name="h3-Miscellaneous">Miscellaneous</a></H3><PRE>
+ If the terminal requires other than a null (zero) character as a pad,
+ then this can be given as pad. Only the first character of the pad
+ string is used. If the terminal does not have a pad character, specify
+ npc. Note that ncurses implements the termcap-compatible <STRONG>PC</STRONG> variable;
+ though the application may set this value to something other than a
+ null, ncurses will test <STRONG>npc</STRONG> first and use napms if the terminal has no
+ pad character.
+
+ If the terminal can move up or down half a line, this can be indicated
+ with <STRONG>hu</STRONG> (half-line up) and <STRONG>hd</STRONG> (half-line down). This is primarily use-
+ ful for superscripts and subscripts on hard-copy terminals. If a hard-
+ copy terminal can eject to the next page (form feed), give this as <STRONG>ff</STRONG>
+ (usually control/L).
+
+ If there is a command to repeat a given character a given number of
+ times (to save time transmitting a large number of identical charac-
+ ters) this can be indicated with the parameterized string <STRONG>rep</STRONG>. The
+ first parameter is the character to be repeated and the second is the
+ number of times to repeat it. Thus, tparm(repeat_char, 'x', 10) is the
+ same as "xxxxxxxxxx".
+
+ If the terminal has a settable command character, such as the TEKTRONIX
+ 4025, this can be indicated with <STRONG>cmdch</STRONG>. A prototype command character
+ is chosen which is used in all capabilities. This character is given
+ in the <STRONG>cmdch</STRONG> capability to identify it. The following convention is
+ supported on some UNIX systems: The environment is to be searched for a
+ <STRONG>CC</STRONG> variable, and if found, all occurrences of the prototype character
+ are replaced with the character in the environment variable.
+
+ Terminal descriptions that do not represent a specific kind of known
+ terminal, such as <EM>switch</EM>, <EM>dialup</EM>, <EM>patch</EM>, and <EM>network</EM>, should include
+ the <STRONG>gn</STRONG> (generic) capability so that programs can complain that they do
+ not know how to talk to the terminal. (This capability does not apply
+ to <EM>virtual</EM> terminal descriptions for which the escape sequences are
+ known.)
+
+ If the terminal has a "meta key" which acts as a shift key, setting the
+ 8th bit of any character transmitted, this fact can be indicated with
+ <STRONG>km</STRONG>. Otherwise, software will assume that the 8th bit is parity and it
+ will usually be cleared. If strings exist to turn this "meta mode" on
and off, they can be given as <STRONG>smm</STRONG> and <STRONG>rmm</STRONG>.
- If the terminal has more lines of memory than will fit on
- the screen at once, the number of lines of memory can be
- indicated with <STRONG>lm</STRONG>. A value of <STRONG>lm</STRONG>#0 indicates that the
- number of lines is not fixed, but that there is still more
- memory than fits on the screen.
-
- If the terminal is one of those supported by the UNIX vir-
- tual terminal protocol, the terminal number can be given
- as <STRONG>vt</STRONG>.
-
- Media copy strings which control an auxiliary printer con-
- nected to the terminal can be given as <STRONG>mc0</STRONG>: print the con-
- tents of the screen, <STRONG>mc4</STRONG>: turn off the printer, and <STRONG>mc5</STRONG>:
- turn on the printer. When the printer is on, all text
- sent to the terminal will be sent to the printer. It is
- undefined whether the text is also displayed on the termi-
- nal screen when the printer is on. A variation <STRONG>mc5p</STRONG> takes
- one parameter, and leaves the printer on for as many char-
- acters as the value of the parameter, then turns the
- printer off. The parameter should not exceed 255. All
- text, including <STRONG>mc4</STRONG>, is transparently passed to the
- printer while an <STRONG>mc5p</STRONG> is in effect.
-
- <STRONG>Glitches</STRONG> <STRONG>and</STRONG> <STRONG>Braindamage</STRONG>
- Hazeltine terminals, which do not allow "~" characters to
- be displayed should indicate <STRONG>hz</STRONG>.
-
- Terminals which ignore a line-feed immediately after an <STRONG>am</STRONG>
- wrap, such as the Concept and vt100, should indicate <STRONG>xenl</STRONG>.
-
- If <STRONG>el</STRONG> is required to get rid of standout (instead of
- merely writing normal text on top of it), <STRONG>xhp</STRONG> should be
- given.
-
- Teleray terminals, where tabs turn all characters moved
- over to blanks, should indicate <STRONG>xt</STRONG> (destructive tabs).
- Note: the variable indicating this is now
- "dest_tabs_magic_smso"; in older versions, it was tel-
- eray_glitch. This glitch is also taken to mean that it is
- not possible to position the cursor on top of a "magic
- cookie", that to erase standout mode it is instead neces-
- sary to use delete and insert line. The ncurses implemen-
- tation ignores this glitch.
-
- The Beehive Superbee, which is unable to correctly trans-
- mit the escape or control C characters, has <STRONG>xsb</STRONG>, indicat-
- ing that the f1 key is used for escape and f2 for control
- C. (Only certain Superbees have this problem, depending
- on the ROM.) Note that in older terminfo versions, this
- capability was called "beehive_glitch"; it is now
- "no_esc_ctl_c".
-
- Other specific terminal problems may be corrected by
- adding more capabilities of the form <STRONG>x</STRONG><EM>x</EM>.
-
- <STRONG>Similar</STRONG> <STRONG>Terminals</STRONG>
- 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 definition of the vari-
- ant, the string capability <STRONG>use</STRONG> can be given with the name
- of the base terminal. The capabilities given before <STRONG>use</STRONG>
- override those in the base type named by <STRONG>use</STRONG>. If there
- are multiple <STRONG>use</STRONG> capabilities, they are merged in reverse
- order. That is, the rightmost <STRONG>use</STRONG> reference is processed
- first, then the one to its left, and so forth. Capabili-
- ties given explicitly in the entry override those brought
- in by <STRONG>use</STRONG> references.
-
- A capability can be canceled by placing <STRONG>xx@</STRONG> to the left of
- the use reference that imports it, where <EM>xx</EM> is the capa-
- bility. For example, the entry
+ If the terminal has more lines of memory than will fit on the screen at
+ once, the number of lines of memory can be indicated with <STRONG>lm</STRONG>. A value
+ of <STRONG>lm</STRONG>#0 indicates that the number of lines is not fixed, but that there
+ is still more memory than fits on the screen.
+
+ If the terminal is one of those supported by the UNIX virtual terminal
+ protocol, the terminal number can be given as <STRONG>vt</STRONG>.
+
+ Media copy strings which control an auxiliary printer connected to the
+ terminal can be given as <STRONG>mc0</STRONG>: print the contents of the screen, <STRONG>mc4</STRONG>:
+ turn off the printer, and <STRONG>mc5</STRONG>: turn on the printer. When the printer
+ is on, all text sent to the terminal will be sent to the printer. It
+ is undefined whether the text is also displayed on the terminal screen
+ when the printer is on. A variation <STRONG>mc5p</STRONG> takes one parameter, and
+ leaves the printer on for as many characters as the value of the param-
+ eter, then turns the printer off. The parameter should not exceed 255.
+ All text, including <STRONG>mc4</STRONG>, is transparently passed to the printer while
+ an <STRONG>mc5p</STRONG> is in effect.
+
+
+</PRE><H3><a name="h3-Glitches-and-Braindamage">Glitches and Braindamage</a></H3><PRE>
+ Hazeltine terminals, which do not allow "~" characters to be displayed
+ should indicate <STRONG>hz</STRONG>.
+
+ Terminals which ignore a line-feed immediately after an <STRONG>am</STRONG> wrap, such
+ as the Concept and vt100, should indicate <STRONG>xenl</STRONG>.
+
+ If <STRONG>el</STRONG> is required to get rid of standout (instead of merely writing
+ normal text on top of it), <STRONG>xhp</STRONG> should be given.
+
+ Teleray terminals, where tabs turn all characters moved over to blanks,
+ should indicate <STRONG>xt</STRONG> (destructive tabs). Note: the variable indicating
+ this is now "dest_tabs_magic_smso"; in older versions, it was tel-
+ eray_glitch. This glitch is also taken to mean that it is not possible
+ to position the cursor on top of a "magic cookie", that to erase stand-
+ out mode it is instead necessary to use delete and insert line. The
+ ncurses implementation ignores this glitch.
+
+ The Beehive Superbee, which is unable to correctly transmit the escape
+ or control/C characters, has <STRONG>xsb</STRONG>, indicating that the f1 key is used
+ for escape and f2 for control/C. (Only certain Superbees have this
+ problem, depending on the ROM.) Note that in older terminfo versions,
+ this capability was called "beehive_glitch"; it is now "no_esc_ctl_c".
+
+ Other specific terminal problems may be corrected by adding more capa-
+ bilities of the form <STRONG>x</STRONG><EM>x</EM>.
+
+
+</PRE><H3><a name="h3-Pitfalls-of-Long-Entries">Pitfalls of Long Entries</a></H3><PRE>
+ Long terminfo entries are unlikely to be a problem; to date, no entry
+ has even approached terminfo's 4096-byte string-table maximum. Unfor-
+ tunately, the termcap translations are much more strictly limited (to
+ 1023 bytes), thus termcap translations of long terminfo entries can
+ cause problems.
+
+ The man pages for 4.3BSD and older versions of <STRONG>tgetent</STRONG> instruct the
+ user to allocate a 1024-byte buffer for the termcap entry. The entry
+ gets null-terminated by the termcap library, so that makes the maximum
+ safe length for a termcap entry 1k-1 (1023) bytes. Depending on what
+ the application and the termcap library being used does, and where in
+ the termcap file the terminal type that <STRONG>tgetent</STRONG> is searching for is,
+ several bad things can happen.
+
+ Some termcap libraries print a warning message or exit if they find an
+ entry that's longer than 1023 bytes; others do not; others truncate the
+ entries to 1023 bytes. Some application programs allocate more than
+ the recommended 1K for the termcap entry; others do not.
+
+ Each termcap entry has two important sizes associated with it: before
+ "tc" expansion, and after "tc" expansion. "tc" is the capability that
+ tacks on another termcap entry to the end of the current one, to add on
+ its capabilities. If a termcap entry does not use the "tc" capability,
+ then of course the two lengths are the same.
+
+ The "before tc expansion" length is the most important one, because it
+ affects more than just users of that particular terminal. This is the
+ length of the entry as it exists in /etc/termcap, minus the backslash-
+ newline pairs, which <STRONG>tgetent</STRONG> strips out while reading it. Some termcap
+ libraries strip off the final newline, too (GNU termcap does not). Now
+ suppose:
+
+ <STRONG>o</STRONG> a termcap entry before expansion is more than 1023 bytes long,
- 2621-nl, smkx@, rmkx@, use=2621,
+ <STRONG>o</STRONG> and the application has only allocated a 1k buffer,
- defines a 2621-nl that does not have the <STRONG>smkx</STRONG> or <STRONG>rmkx</STRONG>
- capabilities, and hence does not turn on the function key
- labels when in visual mode. This is useful for different
- modes for a terminal, or for different user preferences.
-
- <STRONG>Pitfalls</STRONG> <STRONG>of</STRONG> <STRONG>Long</STRONG> <STRONG>Entries</STRONG>
- Long terminfo entries are unlikely to be a problem; to
- date, no entry has even approached terminfo's 4096-byte
- string-table maximum. Unfortunately, the termcap transla-
- tions are much more strictly limited (to 1023 bytes), thus
- termcap translations of long terminfo entries can cause
- problems.
-
- The man pages for 4.3BSD and older versions of <STRONG>tgetent()</STRONG>
- instruct the user to allocate a 1024-byte buffer for the
- termcap entry. The entry gets null-terminated by the
- termcap library, so that makes the maximum safe length for
- a termcap entry 1k-1 (1023) bytes. Depending on what the
- application and the termcap library being used does, and
- where in the termcap file the terminal type that <STRONG>tgetent()</STRONG>
- is searching for is, several bad things can happen.
-
- Some termcap libraries print a warning message or exit if
- they find an entry that's longer than 1023 bytes; others
- do not; others truncate the entries to 1023 bytes. Some
- application programs allocate more than the recommended 1K
- for the termcap entry; others do not.
-
- Each termcap entry has two important sizes associated with
- it: before "tc" expansion, and after "tc" expansion. "tc"
- is the capability that tacks on another termcap entry to
- the end of the current one, to add on its capabilities.
- If a termcap entry does not use the "tc" capability, then
- of course the two lengths are the same.
-
- The "before tc expansion" length is the most important
- one, because it affects more than just users of that par-
- ticular terminal. This is the length of the entry as it
- exists in /etc/termcap, minus the backslash-newline pairs,
- which <STRONG>tgetent()</STRONG> strips out while reading it. Some termcap
- libraries strip off the final newline, too (GNU termcap
- does not). Now suppose:
-
- <STRONG>o</STRONG> a termcap entry before expansion is more than 1023
- bytes long,
+ <STRONG>o</STRONG> and the termcap library (like the one in BSD/OS 1.1 and GNU) reads
+ the whole entry into the buffer, no matter what its length, to see
+ if it is the entry it wants,
+
+ <STRONG>o</STRONG> and <STRONG>tgetent</STRONG> is searching for a terminal type that either is the
+ long entry, appears in the termcap file after the long entry, or
+ does not appear in the file at all (so that <STRONG>tgetent</STRONG> has to search
+ the whole termcap file).
- <STRONG>o</STRONG> and the application has only allocated a 1k buffer,
+ Then <STRONG>tgetent</STRONG> will overwrite memory, perhaps its stack, and probably
+ core dump the program. Programs like telnet are particularly vulnera-
+ ble; modern telnets pass along values like the terminal type automati-
+ cally. The results are almost as undesirable with a termcap library,
+ like SunOS 4.1.3 and Ultrix 4.4, that prints warning messages when it
+ reads an overly long termcap entry. If a termcap library truncates
+ long entries, like OSF/1 3.0, it is immune to dying here but will
+ return incorrect data for the terminal.
- <STRONG>o</STRONG> and the termcap library (like the one in BSD/OS 1.1
- and GNU) reads the whole entry into the buffer, no
- matter what its length, to see if it is the entry it
- wants,
-
- <STRONG>o</STRONG> and <STRONG>tgetent()</STRONG> is searching for a terminal type that
- either is the long entry, appears in the termcap file
- after the long entry, or does not appear in the file
- at all (so that <STRONG>tgetent()</STRONG> has to search the whole
- termcap file).
-
- Then <STRONG>tgetent()</STRONG> will overwrite memory, perhaps its stack,
- and probably core dump the program. Programs like telnet
- are particularly vulnerable; modern telnets pass along
- values like the terminal type automatically. The results
- are almost as undesirable with a termcap library, like
- SunOS 4.1.3 and Ultrix 4.4, that prints warning messages
- when it reads an overly long termcap entry. If a termcap
- library truncates long entries, like OSF/1 3.0, it is
- immune to dying here but will return incorrect data for
- the terminal.
-
- The "after tc expansion" length will have a similar effect
- to the above, but only for people who actually set TERM to
- that terminal type, since <STRONG>tgetent()</STRONG> only does "tc" expan-
- sion once it is found the terminal type it was looking
- for, not while searching.
-
- In summary, a termcap entry that is longer than 1023 bytes
- can cause, on various combinations of termcap libraries
- and applications, a core dump, warnings, or incorrect
- operation. If it is too long even before "tc" expansion,
- it will have this effect even for users of some other ter-
- minal types and users whose TERM variable does not have a
- termcap entry.
-
- When in -C (translate to termcap) mode, the <STRONG>ncurses</STRONG> imple-
- mentation of <STRONG><A HREF="tic.1m.html">tic(1m)</A></STRONG> issues warning messages when the pre-
- tc length of a termcap translation is too long. The -c
- (check) option also checks resolved (after tc expansion)
- lengths.
-
- <STRONG>Binary</STRONG> <STRONG>Compatibility</STRONG>
- It is not wise to count on portability of binary terminfo
- entries between commercial UNIX versions. The problem is
- that there are at least two versions of terminfo (under
- HP-UX and AIX) which diverged from System V terminfo after
- SVr1, and have added extension capabilities to the string
- table that (in the binary format) collide with System V
- and XSI Curses extensions.
+ The "after tc expansion" length will have a similar effect to the
+ above, but only for people who actually set TERM to that terminal type,
+ since <STRONG>tgetent</STRONG> only does "tc" expansion once it is found the terminal
+ type it was looking for, not while searching.
+ In summary, a termcap entry that is longer than 1023 bytes can cause,
+ on various combinations of termcap libraries and applications, a core
+ dump, warnings, or incorrect operation. If it is too long even before
+ "tc" expansion, it will have this effect even for users of some other
+ terminal types and users whose TERM variable does not have a termcap
+ entry.
-</PRE>
-<H2>EXTENSIONS</H2><PRE>
- Searching for terminal descriptions in <STRONG>$HOME/.terminfo</STRONG> and
- TERMINFO_DIRS is not supported by older implementations.
-
- Some SVr4 <STRONG>curses</STRONG> implementations, and all previous to
- SVr4, do not interpret the %A and %O operators in parame-
- ter strings.
-
- SVr4/XPG4 do not specify whether <STRONG>msgr</STRONG> licenses movement
- while in an alternate-character-set mode (such modes may,
- among other things, map CR and NL to characters that do
- not trigger local motions). The <STRONG>ncurses</STRONG> implementation
- ignores <STRONG>msgr</STRONG> in <STRONG>ALTCHARSET</STRONG> mode. This raises the possi-
- bility that an XPG4 implementation making the opposite
- interpretation may need terminfo entries made for <STRONG>ncurses</STRONG>
- to have <STRONG>msgr</STRONG> turned off.
-
- The <STRONG>ncurses</STRONG> library handles insert-character and insert-
- character modes in a slightly non-standard way to get bet-
- ter update efficiency. See the <STRONG>Insert/Delete</STRONG> <STRONG>Character</STRONG>
- subsection above.
-
- The parameter substitutions for <STRONG>set_clock</STRONG> and <STRONG>dis-</STRONG>
- <STRONG>play_clock</STRONG> are not documented in SVr4 or the XSI Curses
- standard. They are deduced from the documentation for the
- AT&amp;T 505 terminal.
-
- Be careful assigning the <STRONG>kmous</STRONG> capability. The <STRONG>ncurses</STRONG>
- wants to interpret it as <STRONG>KEY_MOUSE</STRONG>, for use by terminals
- and emulators like xterm that can return mouse-tracking
- information in the keyboard-input stream.
-
- X/Open Curses does not mention italics. Portable applica-
- tions must assume that numeric capabilities are signed
- 16-bit values. This includes the <EM>no</EM><STRONG>_</STRONG><EM>color</EM><STRONG>_</STRONG><EM>video</EM> (ncv)
- capability. The 32768 mask value used for italics with
- ncv can be confused with an absent or cancelled ncv. If
- italics should work with colors, then the ncv value must
- be specified, even if it is zero.
-
- Different commercial ports of terminfo and curses support
- different subsets of the XSI Curses standard and (in some
- cases) different extension sets. Here is a summary, accu-
- rate as of October 1995:
-
- <STRONG>SVR4,</STRONG> <STRONG>Solaris,</STRONG> <STRONG>ncurses</STRONG> -- These support all SVr4 capabili-
- ties.
-
- <STRONG>SGI</STRONG> -- Supports the SVr4 set, adds one undocumented
- extended string capability (<STRONG>set_pglen</STRONG>).
-
- <STRONG>SVr1,</STRONG> <STRONG>Ultrix</STRONG> -- These support a restricted subset of ter-
- minfo capabilities. The booleans end with <STRONG>xon_xoff</STRONG>; the
- numerics with <STRONG>width_status_line</STRONG>; and the strings with
- <STRONG>prtr_non</STRONG>.
-
- <STRONG>HP/UX</STRONG> -- Supports the SVr1 subset, plus the SVr[234]
- numerics <STRONG>num_labels</STRONG>, <STRONG>label_height</STRONG>, <STRONG>label_width</STRONG>, plus func-
- tion keys 11 through 63, plus <STRONG>plab_norm</STRONG>, <STRONG>label_on</STRONG>, and
- <STRONG>label_off</STRONG>, plus some incompatible extensions in the string
- table.
-
- <STRONG>AIX</STRONG> -- Supports the SVr1 subset, plus function keys 11
- through 63, plus a number of incompatible string table
- extensions.
-
- <STRONG>OSF</STRONG> -- Supports both the SVr4 set and the AIX extensions.
+ When in -C (translate to termcap) mode, the <STRONG>ncurses</STRONG> implementation of
+ <STRONG><A HREF="tic.1m.html">tic(1m)</A></STRONG> issues warning messages when the pre-tc length of a termcap
+ translation is too long. The -c (check) option also checks resolved
+ (after tc expansion) lengths.
-</PRE>
-<H2>FILES</H2><PRE>
- /usr/share/terminfo/?/* files containing terminal
- descriptions
+</PRE><H3><a name="h3-Binary-Compatibility">Binary Compatibility</a></H3><PRE>
+ It is not wise to count on portability of binary terminfo entries
+ between commercial UNIX versions. The problem is that there are at
+ least two versions of terminfo (under HP-UX and AIX) which diverged
+ from System V terminfo after SVr1, and have added extension capabili-
+ ties to the string table that (in the binary format) collide with Sys-
+ tem V and XSI Curses extensions.
-</PRE>
-<H2>SEE ALSO</H2><PRE>
- <STRONG><A HREF="tic.1m.html">tic(1m)</A></STRONG>, <STRONG><A HREF="infocmp.1m.html">infocmp(1m)</A></STRONG>, <STRONG><A HREF="ncurses.3x.html">curses(3x)</A></STRONG>, <STRONG>printf(3)</STRONG>, <STRONG><A HREF="term.5.html">term(5)</A></STRONG>.
- <STRONG><A HREF="term_variables.3x.html">term_variables(3x)</A></STRONG>.
+</PRE><H2><a name="h2-EXTENSIONS">EXTENSIONS</a></H2><PRE>
+ Searching for terminal descriptions in <STRONG>$HOME/.terminfo</STRONG> and TER-
+ MINFO_DIRS is not supported by older implementations.
+ Some SVr4 <STRONG>curses</STRONG> implementations, and all previous to SVr4, do not
+ interpret the %A and %O operators in parameter strings.
-</PRE>
-<H2>AUTHORS</H2><PRE>
- Zeyd M. Ben-Halim, Eric S. Raymond, Thomas E. Dickey.
- Based on pcurses by Pavel Curtis.
+ SVr4/XPG4 do not specify whether <STRONG>msgr</STRONG> licenses movement while in an
+ alternate-character-set mode (such modes may, among other things, map
+ CR and NL to characters that do not trigger local motions). The
+ <STRONG>ncurses</STRONG> implementation ignores <STRONG>msgr</STRONG> in <STRONG>ALTCHARSET</STRONG> mode. This raises
+ the possibility that an XPG4 implementation making the opposite inter-
+ pretation may need terminfo entries made for <STRONG>ncurses</STRONG> to have <STRONG>msgr</STRONG>
+ turned off.
+
+ The <STRONG>ncurses</STRONG> library handles insert-character and insert-character modes
+ in a slightly non-standard way to get better update efficiency. See
+ the <STRONG>Insert/Delete</STRONG> <STRONG>Character</STRONG> subsection above.
+
+ The parameter substitutions for <STRONG>set_clock</STRONG> and <STRONG>display_clock</STRONG> are not
+ documented in SVr4 or the XSI Curses standard. They are deduced from
+ the documentation for the AT&amp;T 505 terminal.
+
+ Be careful assigning the <STRONG>kmous</STRONG> capability. The <STRONG>ncurses</STRONG> library wants
+ to interpret it as <STRONG>KEY_MOUSE</STRONG>, for use by terminals and emulators like
+ xterm that can return mouse-tracking information in the keyboard-input
+ stream.
+
+ X/Open Curses does not mention italics. Portable applications must
+ assume that numeric capabilities are signed 16-bit values. This
+ includes the <EM>no</EM><STRONG>_</STRONG><EM>color</EM><STRONG>_</STRONG><EM>video</EM> (ncv) capability. The 32768 mask value
+ used for italics with ncv can be confused with an absent or cancelled
+ ncv. If italics should work with colors, then the ncv value must be
+ specified, even if it is zero.
+
+ Different commercial ports of terminfo and curses support different
+ subsets of the XSI Curses standard and (in some cases) different exten-
+ sion sets. Here is a summary, accurate as of October 1995:
+
+ <STRONG>o</STRONG> <STRONG>SVR4,</STRONG> <STRONG>Solaris,</STRONG> <STRONG>ncurses</STRONG> -- These support all SVr4 capabilities.
+
+ <STRONG>o</STRONG> <STRONG>SGI</STRONG> -- Supports the SVr4 set, adds one undocumented extended string
+ capability (<STRONG>set_pglen</STRONG>).
+
+ <STRONG>o</STRONG> <STRONG>SVr1,</STRONG> <STRONG>Ultrix</STRONG> -- These support a restricted subset of terminfo capa-
+ bilities. The booleans end with <STRONG>xon_xoff</STRONG>; the numerics with
+ <STRONG>width_status_line</STRONG>; and the strings with <STRONG>prtr_non</STRONG>.
+
+ <STRONG>o</STRONG> <STRONG>HP/UX</STRONG> -- Supports the SVr1 subset, plus the SVr[234] numerics
+ <STRONG>num_labels</STRONG>, <STRONG>label_height</STRONG>, <STRONG>label_width</STRONG>, plus function keys 11
+ through 63, plus <STRONG>plab_norm</STRONG>, <STRONG>label_on</STRONG>, and <STRONG>label_off</STRONG>, plus some
+ incompatible extensions in the string table.
+
+ <STRONG>o</STRONG> <STRONG>AIX</STRONG> -- Supports the SVr1 subset, plus function keys 11 through 63,
+ plus a number of incompatible string table extensions.
+
+ <STRONG>o</STRONG> <STRONG>OSF</STRONG> -- Supports both the SVr4 set and the AIX extensions.
+
+
+</PRE><H2><a name="h2-FILES">FILES</a></H2><PRE>
+ /usr/share/terminfo/?/* files containing terminal descriptions
+
+
+</PRE><H2><a name="h2-SEE-ALSO">SEE ALSO</a></H2><PRE>
+ <STRONG><A HREF="tabs.1.html">tabs(1)</A></STRONG>, <STRONG><A HREF="tic.1m.html">tic(1m)</A></STRONG>, <STRONG><A HREF="infocmp.1m.html">infocmp(1m)</A></STRONG>, <STRONG><A HREF="ncurses.3x.html">curses(3x)</A></STRONG>, <STRONG><A HREF="curs_color.3x.html">curs_color(3x)</A></STRONG>, <STRONG>curs_vari-</STRONG>
+ <STRONG><A HREF="curs_variables.3x.html">ables(3x)</A></STRONG>, <STRONG>printf(3)</STRONG>, <STRONG><A HREF="term.5.html">term(5)</A></STRONG>. <STRONG><A HREF="term_variables.3x.html">term_variables(3x)</A></STRONG>. <STRONG><A HREF="user_caps.5.html">user_caps(5)</A></STRONG>.
+
+
+</PRE><H2><a name="h2-AUTHORS">AUTHORS</a></H2><PRE>
+ Zeyd M. Ben-Halim, Eric S. Raymond, Thomas E. Dickey. Based on pcurses
+ by Pavel Curtis.
- <STRONG><A HREF="terminfo.5.html">terminfo(5)</A></STRONG>
+ <STRONG><A HREF="terminfo.5.html">terminfo(5)</A></STRONG>
</PRE>
-<HR>
-<ADDRESS>
-Man(1) output converted with
-<a href="http://www.oac.uci.edu/indiv/ehood/man2html.html">man2html</a>
-</ADDRESS>
+<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>
+<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-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>
+<li><a href="#h3-A-Sample-Entry">A Sample Entry</a></li>
+<li><a href="#h3-Types-of-Capabilities">Types of Capabilities</a></li>
+<li><a href="#h3-Fetching-Compiled-Descriptions">Fetching Compiled Descriptions</a></li>
+<li><a href="#h3-Preparing-Descriptions">Preparing Descriptions</a></li>
+<li><a href="#h3-Basic-Capabilities">Basic Capabilities</a></li>
+<li><a href="#h3-Parameterized-Strings">Parameterized Strings</a></li>
+<li><a href="#h3-Cursor-Motions">Cursor Motions</a></li>
+<li><a href="#h3-Area-Clears">Area Clears</a></li>
+<li><a href="#h3-Insert_delete-line-and-vertical-motions">Insert/delete line and vertical motions</a></li>
+<li><a href="#h3-Insert_Delete-Character">Insert/Delete Character</a></li>
+<li><a href="#h3-Highlighting_-Underlining_-and-Visible-Bells">Highlighting, Underlining, and Visible Bells</a></li>
+<li><a href="#h3-Keypad-and-Function-Keys">Keypad and Function Keys</a></li>
+<li><a href="#h3-Tabs-and-Initialization">Tabs and Initialization</a></li>
+<li><a href="#h3-Delays-and-Padding">Delays and Padding</a></li>
+<li><a href="#h3-Status-Lines">Status Lines</a></li>
+<li><a href="#h3-Line-Graphics">Line Graphics</a></li>
+<li><a href="#h3-Color-Handling">Color Handling</a></li>
+<li><a href="#h3-Miscellaneous">Miscellaneous</a></li>
+<li><a href="#h3-Glitches-and-Braindamage">Glitches and Braindamage</a></li>
+<li><a href="#h3-Pitfalls-of-Long-Entries">Pitfalls of Long Entries</a></li>
+<li><a href="#h3-Binary-Compatibility">Binary Compatibility</a></li>
+</ul>
+</li>
+<li><a href="#h2-EXTENSIONS">EXTENSIONS</a></li>
+<li><a href="#h2-FILES">FILES</a></li>
+<li><a href="#h2-SEE-ALSO">SEE ALSO</a></li>
+<li><a href="#h2-AUTHORS">AUTHORS</a></li>
+</ul>
+</div>
</BODY>
</HTML>
diff --git a/doc/html/man/tic.1m.html b/doc/html/man/tic.1m.html
index 1d2085fba86d..e4a646e2c356 100644
--- a/doc/html/man/tic.1m.html
+++ b/doc/html/man/tic.1m.html
@@ -1,7 +1,6 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN">
<!--
****************************************************************************
- * Copyright (c) 1998-2012,2013 Free Software Foundation, Inc. *
+ * Copyright (c) 1998-2018,2019 Free Software Foundation, Inc. *
* *
* Permission is hereby granted, free of charge, to any person obtaining a *
* copy of this software and associated documentation files (the *
@@ -27,230 +26,245 @@
* sale, use or other dealings in this Software without prior written *
* authorization. *
****************************************************************************
- * @Id: tic.1m,v 1.58 2013/07/20 19:31:25 tom Exp @
+ * @Id: tic.1m,v 1.76 2019/11/30 20:51:55 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</TITLE>
-<link rev=made href="mailto:bug-ncurses@gnu.org">
+<link rel="author" href="mailto:bug-ncurses@gnu.org">
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
</HEAD>
<BODY>
-<H1>tic 1m</H1>
-<HR>
+<H1 class="no-header">tic 1m</H1>
<PRE>
-<!-- Manpage converted by man2html 3.0.1 -->
-<STRONG><A HREF="tic.1m.html">tic(1m)</A></STRONG> <STRONG><A HREF="tic.1m.html">tic(1m)</A></STRONG>
+<STRONG><A HREF="tic.1m.html">tic(1m)</A></STRONG> <STRONG><A HREF="tic.1m.html">tic(1m)</A></STRONG>
-</PRE>
-<H2>NAME</H2><PRE>
+</PRE><H2><a name="h2-NAME">NAME</a></H2><PRE>
<STRONG>tic</STRONG> - the <EM>terminfo</EM> entry-description compiler
-</PRE>
-<H2>SYNOPSIS</H2><PRE>
- <STRONG>tic</STRONG> [<STRONG>-01CDGIKLNTUVacfgrstx</STRONG>] [<STRONG>-e</STRONG> <EM>names</EM>] [<STRONG>-o</STRONG> <EM>dir</EM>] [<STRONG>-R</STRONG> <EM>sub-</EM>
- <EM>set</EM>] [<STRONG>-v</STRONG>[<EM>n</EM>]] [<STRONG>-w</STRONG>[<EM>n</EM>]] <EM>file</EM>
+</PRE><H2><a name="h2-SYNOPSIS">SYNOPSIS</a></H2><PRE>
+ <STRONG>tic</STRONG> [<STRONG>-01CDGIKLNTUVWacfgqrstx</STRONG>] [<STRONG>-e</STRONG> <EM>names</EM>] [<STRONG>-o</STRONG> <EM>dir</EM>] [<STRONG>-Q</STRONG>[<EM>n</EM>]] [<STRONG>-R</STRONG> <EM>subset</EM>]
+ [<STRONG>-v</STRONG>[<EM>n</EM>]] [<STRONG>-w</STRONG>[<EM>n</EM>]] <EM>file</EM>
-</PRE>
-<H2>DESCRIPTION</H2><PRE>
- The <STRONG>tic</STRONG> command translates a <STRONG>terminfo</STRONG> file from source
- format into compiled format. The compiled format is nec-
- essary for use with the library routines in <STRONG><A HREF="ncurses.3x.html">ncurses(3x)</A></STRONG>.
-
- As described in <STRONG><A HREF="term.5.html">term(5)</A></STRONG>, the database may be either a
- directory tree (one file per terminal entry) or a hashed
- database (one record per entry). The <STRONG>tic</STRONG> command writes
- only one type of entry, depending on how it was built:
-
- <STRONG>o</STRONG> For directory trees, the top-level directory, e.g.,
- /usr/share/terminfo, specifies the location of the
- database.
-
- <STRONG>o</STRONG> For hashed databases, a filename is needed. If the
- given file is not found by that name, but can be found
- by adding the suffix ".db", then that is used.
-
- The default name for the hashed database is the same
- as the default directory name (only adding a ".db"
- suffix).
-
- In either case (directory or hashed database), <STRONG>tic</STRONG> will
- create the container if it does not exist. For a direc-
- tory, this would be the "terminfo" leaf, versus a "ter-
- minfo.db" file.
-
- The results are normally placed in the system terminfo
- database <STRONG>/usr/share/terminfo</STRONG>. The compiled terminal
- description can be placed in a different terminfo data-
- base. There are two ways to achieve this:
-
- <STRONG>o</STRONG> First, you may override the system default either by
- using the <STRONG>-o</STRONG> option, or by setting the variable <STRONG>TER-</STRONG>
- <STRONG>MINFO</STRONG> in your shell environment to a valid database
- location.
-
- <STRONG>o</STRONG> Secondly, if <STRONG>tic</STRONG> cannot write in <EM>/usr/share/terminfo</EM>
- or the location specified using your TERMINFO vari-
- able, it looks for the directory <EM>$HOME/.terminfo</EM> (or
- hashed database <EM>$HOME/.terminfo.db)</EM>; if that location
- exists, the entry is placed there.
-
- Libraries that read terminfo entries are expected to check
- in succession
-
- <STRONG>o</STRONG> a location specified with the TERMINFO environment
- variable,
+</PRE><H2><a name="h2-DESCRIPTION">DESCRIPTION</a></H2><PRE>
+ The <STRONG>tic</STRONG> command translates a <STRONG>terminfo</STRONG> file from source format into com-
+ piled format. The compiled format is necessary for use with the
+ library routines in <STRONG><A HREF="ncurses.3x.html">ncurses(3x)</A></STRONG>.
+
+ As described in <STRONG><A HREF="term.5.html">term(5)</A></STRONG>, the database may be either a directory tree
+ (one file per terminal entry) or a hashed database (one record per
+ entry). The <STRONG>tic</STRONG> command writes only one type of entry, depending on
+ how it was built:
+
+ <STRONG>o</STRONG> For directory trees, the top-level directory, e.g., /usr/share/ter-
+ minfo, specifies the location of the database.
+
+ <STRONG>o</STRONG> For hashed databases, a filename is needed. If the given file is
+ not found by that name, but can be found by adding the suffix
+ ".db", then that is used.
+
+ The default name for the hashed database is the same as the default
+ directory name (only adding a ".db" suffix).
+
+ In either case (directory or hashed database), <STRONG>tic</STRONG> will create the con-
+ tainer if it does not exist. For a directory, this would be the "ter-
+ minfo" leaf, versus a "terminfo.db" file.
+
+ The results are normally placed in the system terminfo database
+ <STRONG>/usr/share/terminfo</STRONG>. The compiled terminal description can be placed
+ in a different terminfo database. There are two ways to achieve this:
+
+ <STRONG>o</STRONG> First, you may override the system default either by using the <STRONG>-o</STRONG>
+ option, or by setting the variable <STRONG>TERMINFO</STRONG> in your shell environ-
+ ment to a valid database location.
+
+ <STRONG>o</STRONG> Secondly, if <STRONG>tic</STRONG> cannot write in <EM>/usr/share/terminfo</EM> or the loca-
+ tion specified using your TERMINFO variable, it looks for the
+ directory <EM>$HOME/.terminfo</EM> (or hashed database <EM>$HOME/.terminfo.db)</EM>;
+ if that location exists, the entry is placed there.
+
+ Libraries that read terminfo entries are expected to check in succes-
+ sion
+
+ <STRONG>o</STRONG> a location specified with the TERMINFO environment variable,
<STRONG>o</STRONG> <EM>$HOME/.terminfo</EM>,
- <STRONG>o</STRONG> directories listed in the TERMINFO_DIRS environment
- variable,
+ <STRONG>o</STRONG> directories listed in the TERMINFO_DIRS environment variable,
- <STRONG>o</STRONG> a compiled-in list of directories
- (/usr/local/ncurses/share/terminfo:/usr/share/ter-
- minfo), and
+ <STRONG>o</STRONG> a compiled-in list of directories (/usr/local/ncurses/share/ter-
+ minfo:/usr/share/terminfo), and
<STRONG>o</STRONG> the system terminfo database (<EM>/usr/share/terminfo</EM>).
- <STRONG>OPTIONS</STRONG>
+
+</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:
+
+ <STRONG>o</STRONG> When invoked as infotocap, tic sets the <STRONG>-I</STRONG> option.
+
+ <STRONG>o</STRONG> When invoked as captoinfo, tic sets the <STRONG>-C</STRONG> option.
+
+
+</PRE><H3><a name="h3-OPTIONS">OPTIONS</a></H3><PRE>
<STRONG>-0</STRONG> restricts the output to a single line
<STRONG>-1</STRONG> restricts the output to a single column
- <STRONG>-a</STRONG> tells <STRONG>tic</STRONG> to retain commented-out capabilities
- rather than discarding them. Capabilities are com-
- mented by prefixing them with a period. This sets
- the <STRONG>-x</STRONG> option, because it treats the commented-out
- entries as user-defined names. If the source is
- termcap, accept the 2-character names required by
- version 6. Otherwise these are ignored.
-
- <STRONG>-C</STRONG> Force source translation to termcap format. Note:
- this differs from the <STRONG>-C</STRONG> option of <STRONG><A HREF="infocmp.1m.html">infocmp(1m)</A></STRONG> in
- that it does not merely translate capability names,
- but also translates terminfo strings to termcap
- format. Capabilities that are not translatable are
- left in the entry under their terminfo names but
- commented out with two preceding dots. The actual
- format used incorporates some improvements for
- escaped characters from terminfo format. For a
- stricter BSD-compatible translation, add the <STRONG>-K</STRONG>
- option.
-
- <STRONG>-c</STRONG> tells <STRONG>tic</STRONG> to only check <EM>file</EM> for errors, including
- syntax problems and bad use links. If you specify
- <STRONG>-C</STRONG> (<STRONG>-I</STRONG>) with this option, the code will print warn-
- ings about entries which, after use resolution, are
- more than 1023 (4096) bytes long. Due to a fixed
- buffer length in older termcap libraries, as well
- as buggy checking for the buffer length (and a doc-
- umented limit in terminfo), these entries may cause
- core dumps with other implementations.
-
- <STRONG>-D</STRONG> tells <STRONG>tic</STRONG> to print the database locations that it
- knows about, and exit. The first location shown is
- the one to which it would write compiled terminal
- descriptions. If <STRONG>tic</STRONG> is not able to find a
- writable database location according to the rules
- summarized above, it will print a diagnostic and
- exit with an error rather than printing a list of
- database locations.
+ <STRONG>-a</STRONG> tells <STRONG>tic</STRONG> to retain commented-out capabilities rather than dis-
+ carding them. Capabilities are commented by prefixing them with
+ a period. This sets the <STRONG>-x</STRONG> option, because it treats the com-
+ mented-out entries as user-defined names. If the source is
+ termcap, accept the 2-character names required by version 6.
+ Otherwise these are ignored.
+
+ <STRONG>-C</STRONG> Force source translation to termcap format. Note: this differs
+ from the <STRONG>-C</STRONG> option of <STRONG><A HREF="infocmp.1m.html">infocmp(1m)</A></STRONG> in that it does not merely
+ translate capability names, but also translates terminfo strings
+ to termcap format. Capabilities that are not translatable are
+ left in the entry under their terminfo names but commented out
+ with two preceding dots. The actual format used incorporates
+ some improvements for escaped characters from terminfo format.
+ For a stricter BSD-compatible translation, add the <STRONG>-K</STRONG> option.
+
+ If this is combined with <STRONG>-c</STRONG>, <STRONG>tic</STRONG> makes additional checks to
+ report cases where the terminfo values do not have an exact
+ equivalent in termcap form. For example:
+
+ <STRONG>o</STRONG> <STRONG>sgr</STRONG> usually will not convert, because termcap lacks the
+ ability to work with more than two parameters, and because
+ termcap lacks many of the arithmetic/logical operators used
+ in terminfo.
+
+ <STRONG>o</STRONG> capabilities with more than one delay or with delays before
+ the end of the string will not convert completely.
+
+ <STRONG>-c</STRONG> tells <STRONG>tic</STRONG> to only check <EM>file</EM> for errors, including syntax prob-
+ lems and bad use-links. If you specify <STRONG>-C</STRONG> (<STRONG>-I</STRONG>) with this
+ option, the code will print warnings about entries which, after
+ use resolution, are more than 1023 (4096) bytes long. Due to a
+ fixed buffer length in older termcap libraries, as well as buggy
+ checking for the buffer length (and a documented limit in ter-
+ minfo), these entries may cause core dumps with other implemen-
+ tations.
+
+ <STRONG>tic</STRONG> checks string capabilities to ensure that those with parame-
+ ters will be valid expressions. It does this check only for the
+ predefined string capabilities; those which are defined with the
+ <STRONG>-x</STRONG> option are ignored.
+
+ <STRONG>-D</STRONG> tells <STRONG>tic</STRONG> to print the database locations that it knows about,
+ and exit. The first location shown is the one to which it would
+ write compiled terminal descriptions. If <STRONG>tic</STRONG> is not able to
+ find a writable database location according to the rules summa-
+ rized above, it will print a diagnostic and exit with an error
+ rather than printing a list of database locations.
<STRONG>-e</STRONG> <EM>names</EM>
- Limit writes and translations to the following
- comma-separated list of terminals. If any name or
- alias of a terminal matches one of the names in the
- list, the entry will be written or translated as
- normal. Otherwise no output will be generated for
- it. The option value is interpreted as a file con-
- taining the list if it contains a '/'. (Note:
- depending on how tic was compiled, this option may
- require <STRONG>-I</STRONG> or <STRONG>-C</STRONG>.)
-
- <STRONG>-f</STRONG> Display complex terminfo strings which contain
- if/then/else/endif expressions indented for read-
- ability.
-
- <STRONG>-G</STRONG> Display constant literals in decimal form rather
- than their character equivalents.
-
- <STRONG>-g</STRONG> Display constant character literals in quoted form
- rather than their decimal equivalents.
+ Limit writes and translations to the following comma-separated
+ list of terminals. If any name or alias of a terminal matches
+ one of the names in the list, the entry will be written or
+ translated as normal. Otherwise no output will be generated for
+ it. The option value is interpreted as a file containing the
+ list if it contains a '/'. (Note: depending on how tic was com-
+ piled, this option may require <STRONG>-I</STRONG> or <STRONG>-C</STRONG>.)
+
+ <STRONG>-f</STRONG> Display complex terminfo strings which contain
+ if/then/else/endif expressions indented for readability.
+
+ <STRONG>-G</STRONG> Display constant literals in decimal form rather than their
+ character equivalents.
+
+ <STRONG>-g</STRONG> Display constant character literals in quoted form rather than
+ their decimal equivalents.
<STRONG>-I</STRONG> Force source translation to terminfo format.
- <STRONG>-K</STRONG> Suppress some longstanding ncurses extensions to
- termcap format, e.g., "\s" for space.
-
- <STRONG>-L</STRONG> Force source translation to terminfo format using
- the long C variable names listed in &lt;<STRONG>term.h</STRONG>&gt;
-
- <STRONG>-N</STRONG> Disable smart defaults. Normally, when translating
- from termcap to terminfo, the compiler makes a num-
- ber of assumptions about the defaults of string
- capabilities <STRONG>reset1_string</STRONG>, <STRONG>carriage_return</STRONG>, <STRONG>cur-</STRONG>
- <STRONG>sor_left</STRONG>, <STRONG>cursor_down</STRONG>, <STRONG>scroll_forward</STRONG>, <STRONG>tab</STRONG>, <STRONG>new-</STRONG>
- <STRONG>line</STRONG>, <STRONG>key_backspace</STRONG>, <STRONG>key_left</STRONG>, and <STRONG>key_down</STRONG>, then
- attempts to use obsolete termcap capabilities to
- deduce correct values. It also normally suppresses
- output of obsolete termcap capabilities such as <STRONG>bs</STRONG>.
- This option forces a more literal translation that
+ <STRONG>-K</STRONG> Suppress some longstanding ncurses extensions to termcap format,
+ e.g., "\s" for space.
+
+ <STRONG>-L</STRONG> Force source translation to terminfo format using the long C
+ variable names listed in &lt;<STRONG>term.h</STRONG>&gt;
+
+ <STRONG>-N</STRONG> Disable smart defaults. Normally, when translating from termcap
+ to terminfo, the compiler makes a number of assumptions about
+ the defaults of string capabilities <STRONG>reset1_string</STRONG>, <STRONG>car-</STRONG>
+ <STRONG>riage_return</STRONG>, <STRONG>cursor_left</STRONG>, <STRONG>cursor_down</STRONG>, <STRONG>scroll_forward</STRONG>, <STRONG>tab</STRONG>,
+ <STRONG>newline</STRONG>, <STRONG>key_backspace</STRONG>, <STRONG>key_left</STRONG>, and <STRONG>key_down</STRONG>, then attempts to
+ use obsolete termcap capabilities to deduce correct values. It
+ also normally suppresses output of obsolete termcap capabilities
+ such as <STRONG>bs</STRONG>. This option forces a more literal translation that
also preserves the obsolete capabilities.
- <STRONG>-o</STRONG><EM>dir</EM> Write compiled entries to given database location.
- Overrides the TERMINFO environment variable.
+ <STRONG>-o</STRONG><EM>dir</EM> Write compiled entries to given database location. Overrides
+ the TERMINFO environment variable.
+
+ <STRONG>-Q</STRONG><EM>n</EM> Rather than show source in terminfo (text) format, print the
+ compiled (binary) format in hexadecimal or base64 form, depend-
+ ing on the option's value:
+
+ 1 hexadecimal
+
+ 2 base64
+
+ 3 hexadecimal and base64
+
+ <STRONG>-q</STRONG> Suppress comments and blank lines when showing translated
+ source.
<STRONG>-R</STRONG><EM>subset</EM>
- Restrict output to a given subset. This option is
- for use with archaic versions of terminfo like
- those on SVr1, Ultrix, or HP/UX that do not support
- the full set of SVR4/XSI Curses terminfo; and out-
- right broken ports like AIX 3.x that have their own
- extensions incompatible with SVr4/XSI. Available
- subsets are "SVr1", "Ultrix", "HP", "BSD" and
- "AIX"; see <STRONG><A HREF="terminfo.5.html">terminfo(5)</A></STRONG> for details.
-
- <STRONG>-r</STRONG> Force entry resolution (so there are no remaining
- tc capabilities) even when doing translation to
- termcap format. This may be needed if you are pre-
- paring a termcap file for a termcap library (such
- as GNU termcap through version 1.3 or BSD termcap
- through 4.3BSD) that does not handle multiple tc
- capabilities per entry.
-
- <STRONG>-s</STRONG> Summarize the compile by showing the database loca-
- tion into which entries are written, and the number
- of entries which are compiled.
-
- <STRONG>-T</STRONG> eliminates size-restrictions on the generated text.
- This is mainly useful for testing and analysis,
- since the compiled descriptions are limited (e.g.,
- 1023 for termcap, 4096 for terminfo).
-
- <STRONG>-t</STRONG> tells <STRONG>tic</STRONG> to discard commented-out capabilities.
- Normally when translating from terminfo to termcap,
- untranslatable capabilities are commented-out.
-
- <STRONG>-U</STRONG> tells <STRONG>tic</STRONG> to not post-process the data after parsing
- the source file. Normally, it infers data which is
- commonly missing in older terminfo data, or in term-
- caps.
-
- <STRONG>-V</STRONG> reports the version of ncurses which was used in this
- program, and exits.
-
- <STRONG>-v</STRONG><EM>n</EM> specifies that (verbose) output be written to stan-
- dard error trace information showing <STRONG>tic</STRONG>'s progress.
- The optional parameter <EM>n</EM> is a number from 1 to 10,
- inclusive, indicating the desired level of detail of
- information. If <EM>n</EM> is omitted, the default level is
- 1. If <EM>n</EM> is specified and greater than 1, the level
- of detail is increased.
+ Restrict output to a given subset. This option is for use with
+ archaic versions of terminfo like those on SVr1, Ultrix, or
+ HP/UX that do not support the full set of SVR4/XSI Curses ter-
+ minfo; and outright broken ports like AIX 3.x that have their
+ own extensions incompatible with SVr4/XSI. Available subsets
+ are "SVr1", "Ultrix", "HP", "BSD" and "AIX"; see <STRONG><A HREF="terminfo.5.html">terminfo(5)</A></STRONG> for
+ details.
+
+ <STRONG>-r</STRONG> Force entry resolution (so there are no remaining tc capabili-
+ ties) even when doing translation to termcap format. This may
+ be needed if you are preparing a termcap file for a termcap
+ library (such as GNU termcap through version 1.3 or BSD termcap
+ through 4.3BSD) that does not handle multiple tc capabilities
+ per entry.
+
+ <STRONG>-s</STRONG> Summarize the compile by showing the database location into
+ which entries are written, and the number of entries which are
+ compiled.
+
+ <STRONG>-T</STRONG> eliminates size-restrictions on the generated text. This is
+ mainly useful for testing and analysis, since the compiled
+ descriptions are limited (e.g., 1023 for termcap, 4096 for ter-
+ minfo).
+
+ <STRONG>-t</STRONG> tells <STRONG>tic</STRONG> to discard commented-out capabilities. Normally when
+ translating from terminfo to termcap, untranslatable capabili-
+ ties are commented-out.
+
+ <STRONG>-U</STRONG> tells <STRONG>tic</STRONG> to not post-process the data after parsing the source
+ file. Normally, it infers data which is commonly missing in older
+ terminfo data, or in termcaps.
+
+ <STRONG>-V</STRONG> reports the version of ncurses which was used in this program, and
+ exits.
+
+ <STRONG>-v</STRONG><EM>n</EM> specifies that (verbose) output be written to standard error trace
+ information showing <STRONG>tic</STRONG>'s progress.
+
+ The optional parameter <EM>n</EM> is a number from 1 to 10, inclusive,
+ indicating the desired level of detail of information. If ncurses
+ is built without tracing support, the optional parameter is
+ ignored. If <EM>n</EM> is omitted, the default level is 1. If <EM>n</EM> is speci-
+ fied and greater than 1, the level of detail is increased.
The debug flag levels are as follows:
@@ -266,124 +280,220 @@
8 List of tokens encountered by scanner
- 9 All values computed in construction of the
- hash table
-
- If the debug level <EM>n</EM> is not given, it is taken to be
- one.
-
- <STRONG>-w</STRONG><EM>n</EM> specifies the width of the output. The parameter is
- optional. If it is omitted, it defaults to 60.
-
- <STRONG>-x</STRONG> Treat unknown capabilities as user-defined. That is,
- if you supply a capability name which <STRONG>tic</STRONG> does not
- recognize, 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.
-
- <STRONG>PARAMETERS</STRONG>
- <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 descrip-
- tion in the file describes the capabilities of a
- particular terminal.
-
- If <EM>file</EM> is "-", then the data is read from the
- standard input. The <EM>file</EM> parameter may also be the
- path of a character-device.
-
- <STRONG>PROCESSING</STRONG>
- All but one of the capabilities recognized by <STRONG>tic</STRONG> are doc-
- umented in <STRONG><A HREF="terminfo.5.html">terminfo(5)</A></STRONG>. The exception is the <STRONG>use</STRONG> capabil-
- ity.
-
- When a <STRONG>use</STRONG>=<EM>entry</EM>-<EM>name</EM> field is discovered in a terminal
- entry currently being compiled, <STRONG>tic</STRONG> reads in the binary
- from <STRONG>/usr/share/terminfo</STRONG> to complete the entry. (Entries
- created from <EM>file</EM> will be used first. <STRONG>tic</STRONG> duplicates the
- capabilities in <EM>entry</EM>-<EM>name</EM> for the current entry, with the
- exception of those capabilities that explicitly are
- defined in the current entry.
-
- When an entry, e.g., <STRONG>entry_name_1</STRONG>, contains a
- <STRONG>use=</STRONG><EM>entry</EM>_<EM>name</EM>_<EM>2</EM> field, any canceled capabilities in
- <EM>entry</EM>_<EM>name</EM>_<EM>2</EM> must also appear in <STRONG>entry_name_1</STRONG> before <STRONG>use=</STRONG>
- for these capabilities to be canceled in <STRONG>entry_name_1</STRONG>.
-
- Total compiled entries cannot exceed 4096 bytes. The name
- field cannot exceed 512 bytes. Terminal names exceeding
- the maximum alias length (32 characters on systems with
- long filenames, 14 characters otherwise) will be truncated
- to the maximum alias length and a warning message will be
- printed.
+ 9 All values computed in construction of the hash table
+ If the debug level <EM>n</EM> is not given, it is taken to be one.
-</PRE>
-<H2>COMPATIBILITY</H2><PRE>
- There is some evidence that historic <STRONG>tic</STRONG> implementations
- treated description fields with no whitespace in them as
- additional aliases or short names. This <STRONG>tic</STRONG> does not do
- that, but it does warn when description fields may be
- treated that way and check them for dangerous characters.
+ <STRONG>-W</STRONG> By itself, the <STRONG>-w</STRONG> option will not force long strings to be
+ wrapped. Use the <STRONG>-W</STRONG> option to do this.
+ If you specify both <STRONG>-f</STRONG> and <STRONG>-W</STRONG> options, the latter is ignored when
+ <STRONG>-f</STRONG> has already split the line.
-</PRE>
-<H2>EXTENSIONS</H2><PRE>
- Unlike the SVr4 <STRONG>tic</STRONG> command, this implementation can actu-
- ally compile termcap sources. In fact, entries in ter-
- minfo and termcap syntax can be mixed in a single source
- file. See <STRONG><A HREF="terminfo.5.html">terminfo(5)</A></STRONG> for the list of termcap names taken
- to be equivalent to terminfo names.
-
- The SVr4 manual pages are not clear on the resolution
- rules for <STRONG>use</STRONG> capabilities. This implementation of <STRONG>tic</STRONG>
- will find <STRONG>use</STRONG> targets anywhere in the source file, or any-
- where in the file tree rooted at <STRONG>TERMINFO</STRONG> (if <STRONG>TERMINFO</STRONG> is
- defined), or in the user's <EM>$HOME/.terminfo</EM> database (if it
- exists), or (finally) anywhere in the system's file tree
- of compiled entries.
-
- The error messages from this <STRONG>tic</STRONG> have the same format as
- GNU C error messages, and can be parsed by GNU Emacs's
- compile facility.
-
- The <STRONG>-0</STRONG>, <STRONG>-1</STRONG>, <STRONG>-C</STRONG>, <STRONG>-G</STRONG>, <STRONG>-I</STRONG>, <STRONG>-N</STRONG>, <STRONG>-R</STRONG>, <STRONG>-T</STRONG>, <STRONG>-V</STRONG>, <STRONG>-a</STRONG>, <STRONG>-e</STRONG>, <STRONG>-f</STRONG>, <STRONG>-g</STRONG>,
- <STRONG>-o</STRONG>, <STRONG>-r</STRONG>, <STRONG>-s</STRONG>, <STRONG>-t</STRONG> and <STRONG>-x</STRONG> options are not supported under
- SVr4. The SVr4 <STRONG>-c</STRONG> mode does not report bad use links.
-
- System V does not compile entries to or read entries from
- your <EM>$HOME/.terminfo</EM> database unless TERMINFO is explic-
- itly set to it.
+ <STRONG>-w</STRONG><EM>n</EM> specifies the width of the output. The parameter is optional. If
+ it is omitted, it defaults to 60.
+ <STRONG>-x</STRONG> Treat unknown capabilities as user-defined (see <STRONG>user_caps(5)</STRONG>).
+ That is, if you supply a capability name which <STRONG>tic</STRONG> does not recog-
+ nize, 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 func-
+ tion keys.
-</PRE>
-<H2>FILES</H2><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.
+
+ If <EM>file</EM> is "-", then the data is read from the standard input.
+ The <EM>file</EM> parameter may also be the path of a character-device.
+
+
+</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.
+
+ When a <STRONG>use</STRONG>=<EM>entry</EM>-<EM>name</EM> field is discovered in a terminal entry currently
+ being compiled, <STRONG>tic</STRONG> reads in the binary from <STRONG>/usr/share/terminfo</STRONG> to
+ complete the entry. (Entries created from <EM>file</EM> will be used first.
+ <STRONG>tic</STRONG> duplicates the capabilities in <EM>entry</EM>-<EM>name</EM> for the current entry,
+ with the exception of those capabilities that explicitly are defined in
+ the current entry.
+
+ When an entry, e.g., <STRONG>entry_name_1</STRONG>, contains a <STRONG>use=</STRONG><EM>entry</EM>_<EM>name</EM>_<EM>2</EM> field,
+ any canceled capabilities in <EM>entry</EM>_<EM>name</EM>_<EM>2</EM> must also appear in
+ <STRONG>entry_name_1</STRONG> before <STRONG>use=</STRONG> for these capabilities to be canceled in
+ <STRONG>entry_name_1</STRONG>.
+
+ Total compiled entries cannot exceed 4096 bytes. The name field cannot
+ exceed 512 bytes. Terminal names exceeding the maximum alias length
+ (32 characters on systems with long filenames, 14 characters otherwise)
+ will be truncated to the maximum alias length and a warning message
+ will be printed.
+
+
+</PRE><H2><a name="h2-HISTORY">HISTORY</a></H2><PRE>
+ System V Release 2 provided a <STRONG>tic</STRONG> utility. It accepted a single
+ option: <STRONG>-v</STRONG> (optionally followed by a number). According to Ross
+ Ridge's comment in <EM>mytinfo</EM>, this version of <STRONG>tic</STRONG> was unable to represent
+ cancelled capabilities.
+
+ System V Release 3 provided a different <STRONG>tic</STRONG> utility, written by Pavel
+ Curtis, (originally named "compile" in <EM>pcurses</EM>). This added an option
+ <STRONG>-c</STRONG> to check the file for errors, with the caveat that errors in "use="
+ links would not be reported. System V Release 3 documented a few warn-
+ ing messages which did not appear in <EM>pcurses</EM>. While the program itself
+ was changed little as development continued with System V Release 4,
+ the table of capabilities grew from 180 (<EM>pcurses</EM>) to 464 (Solaris).
+
+ In early development of ncurses (1993), Zeyd Ben-Halim used the table
+ from <EM>mytinfo</EM> to extend the <EM>pcurses</EM> table to 469 capabilities (456
+ matched SVr4, 8 were only in SVr4, 13 were not in SVr4). Of those 13,
+ 11 were ultimately discarded (perhaps to match the draft of X/Open
+ Curses). The exceptions were <STRONG>memory_lock_above</STRONG> and <STRONG>memory_unlock</STRONG> (see
+ <STRONG><A HREF="user_caps.5.html">user_caps(5)</A></STRONG>).
+
+ Eric Raymond incorporated parts of <EM>mytinfo</EM> into ncurses to implement
+ the termcap-to-terminfo source conversion, and extended that to begin
+ development of the corresponding terminfo-to-termcap source conversion,
+ Thomas Dickey completed that development over the course of several
+ years.
+
+ In 1999, Thomas Dickey added the <STRONG>-x</STRONG> option to support user-defined
+ capabilities.
+
+ In 2010, Roy Marples provided a <STRONG>tic</STRONG> program and terminfo library for
+ NetBSD. That implementation adapts several features from ncurses,
+ including <STRONG>tic</STRONG>'s <STRONG>-x</STRONG> option.
+
+ The <STRONG>-c</STRONG> option tells <STRONG>tic</STRONG> to check for problems in the terminfo source
+ file. Continued development provides additional checks:
+
+ <STRONG>o</STRONG> <EM>pcurses</EM> had 8 warnings
+
+ <STRONG>o</STRONG> ncurses in 1996 had 16 warnings
+
+ <STRONG>o</STRONG> Solaris (SVr4) curses has 28 warnings
+
+ <STRONG>o</STRONG> NetBSD tic in 2019 has 19 warnings.
+
+ <STRONG>o</STRONG> ncurses in 2019 has 96 warnings
+
+ The checking done in ncurses' <STRONG>tic</STRONG> helps with the conversion to termcap,
+ as well as pointing out errors and inconsistencies. It is also used to
+ ensure consistency with the user-defined capabilities. There are 527
+ distinct capabilities in ncurses' terminal database; 128 of those are
+ user-defined.
+
+
+</PRE><H2><a name="h2-PORTABILITY">PORTABILITY</a></H2><PRE>
+ X/Open Curses, Issue 7 (2009) provides a brief description of <STRONG>tic</STRONG>. It
+ lists one option: <STRONG>-c</STRONG>. The omission of <STRONG>-v</STRONG> is unexpected. The change
+ history states that the description is derived from True64 UNIX.
+ According to its manual pages, that system also supported the <STRONG>-v</STRONG>
+ option.
+
+ Shortly after Issue 7 was released, Tru64 was discontinued. As of
+ 2019, the surviving implementations of <STRONG>tic</STRONG> are SVr4 (AIX, HP-UX and
+ Solaris), ncurses and NetBSD curses. The SVr4 <STRONG>tic</STRONG> programs all support
+ the <STRONG>-v</STRONG> option. The NetBSD <STRONG>tic</STRONG> program follows X/Open's documentation,
+ omitting the <STRONG>-v</STRONG> option.
+
+ The X/Open rationale states that some implementations of <STRONG>tic</STRONG> read ter-
+ minal descriptions from the standard input if the <EM>file</EM> parameter is
+ omitted. None of these implementations do that. Further, it comments
+ that some may choose to read from "./terminfo.src" but that is obsoles-
+ cent behavior from SVr2, and is not (for example) a documented feature
+ of SVr3.
+
+
+</PRE><H3><a name="h3-COMPATIBILITY">COMPATIBILITY</a></H3><PRE>
+ There is some evidence that historic <STRONG>tic</STRONG> implementations treated
+ description fields with no whitespace in them as additional aliases or
+ short names. This <STRONG>tic</STRONG> does not do that, but it does warn when descrip-
+ tion fields may be treated that way and check them for dangerous char-
+ acters.
+
+
+</PRE><H3><a name="h3-EXTENSIONS">EXTENSIONS</a></H3><PRE>
+ Unlike the SVr4 <STRONG>tic</STRONG> command, this implementation can actually compile
+ termcap sources. In fact, entries in terminfo and termcap syntax can
+ be mixed in a single source file. See <STRONG><A HREF="terminfo.5.html">terminfo(5)</A></STRONG> for the list of
+ termcap names taken to be equivalent to terminfo names.
+
+ The SVr4 manual pages are not clear on the resolution rules for <STRONG>use</STRONG>
+ capabilities. This implementation of <STRONG>tic</STRONG> will find <STRONG>use</STRONG> targets any-
+ where in the source file, or anywhere in the file tree rooted at <STRONG>TER-</STRONG>
+ <STRONG>MINFO</STRONG> (if <STRONG>TERMINFO</STRONG> is defined), or in the user's <EM>$HOME/.terminfo</EM> data-
+ base (if it exists), or (finally) anywhere in the system's file tree of
+ compiled entries.
+
+ The error messages from this <STRONG>tic</STRONG> have the same format as GNU C error
+ messages, and can be parsed by GNU Emacs's compile facility.
+
+ Aside from <STRONG>-c</STRONG> and <STRONG>-v</STRONG>, options are not portable:
+
+ <STRONG>o</STRONG> Most of tic's options are not supported by SVr4 <STRONG>tic</STRONG>:
+
+ <STRONG>-0</STRONG> <STRONG>-1</STRONG> <STRONG>-C</STRONG> <STRONG>-G</STRONG> <STRONG>-I</STRONG> <STRONG>-N</STRONG> <STRONG>-R</STRONG> <STRONG>-T</STRONG> <STRONG>-V</STRONG> <STRONG>-a</STRONG> <STRONG>-e</STRONG> <STRONG>-f</STRONG> <STRONG>-g</STRONG> <STRONG>-o</STRONG> <STRONG>-r</STRONG> <STRONG>-s</STRONG> <STRONG>-t</STRONG> <STRONG>-x</STRONG>
+
+ <STRONG>o</STRONG> The NetBSD <STRONG>tic</STRONG> supports a few of the ncurses options
+
+ <STRONG>-a</STRONG> <STRONG>-o</STRONG> <STRONG>-x</STRONG>
+
+ and adds <STRONG>-S</STRONG> (a feature which does the same thing as infocmp's <STRONG>-e</STRONG>
+ and <STRONG>-E</STRONG> options).
+
+ The SVr4 <STRONG>-c</STRONG> mode does not report bad "use=" links.
+
+ System V does not compile entries to or read entries from your
+ <EM>$HOME/.terminfo</EM> database unless TERMINFO is explicitly set to it.
+
+
+</PRE><H2><a name="h2-FILES">FILES</a></H2><PRE>
<STRONG>/usr/share/terminfo/?/*</STRONG>
Compiled terminal description database.
-</PRE>
-<H2>SEE ALSO</H2><PRE>
- <STRONG><A HREF="infocmp.1m.html">infocmp(1m)</A></STRONG>, <STRONG><A HREF="captoinfo.1m.html">captoinfo(1m)</A></STRONG>, <STRONG><A HREF="infotocap.1m.html">infotocap(1m)</A></STRONG>, <STRONG><A HREF="toe.1m.html">toe(1m)</A></STRONG>,
- <STRONG><A HREF="ncurses.3x.html">curses(3x)</A></STRONG>, <STRONG><A HREF="term.5.html">term(5)</A></STRONG>. <STRONG><A HREF="terminfo.5.html">terminfo(5)</A></STRONG>.
+</PRE><H2><a name="h2-SEE-ALSO">SEE ALSO</a></H2><PRE>
+ <STRONG><A HREF="infocmp.1m.html">infocmp(1m)</A></STRONG>, <STRONG><A HREF="captoinfo.1m.html">captoinfo(1m)</A></STRONG>, <STRONG><A HREF="infotocap.1m.html">infotocap(1m)</A></STRONG>, <STRONG><A HREF="toe.1m.html">toe(1m)</A></STRONG>, <STRONG><A HREF="ncurses.3x.html">curses(3x)</A></STRONG>,
+ <STRONG><A HREF="term.5.html">term(5)</A></STRONG>. <STRONG><A HREF="terminfo.5.html">terminfo(5)</A></STRONG>. <STRONG><A HREF="user_caps.5.html">user_caps(5)</A></STRONG>.
- This describes <STRONG>ncurses</STRONG> version 5.9 (patch 20131221).
+ This describes <STRONG>ncurses</STRONG> version 6.1 (patch 20200118).
-</PRE>
-<H2>AUTHOR</H2><PRE>
+</PRE><H2><a name="h2-AUTHOR">AUTHOR</a></H2><PRE>
Eric S. Raymond &lt;esr@snark.thyrsus.com&gt; and
Thomas E. Dickey &lt;dickey@invisible-island.net&gt;
- <STRONG><A HREF="tic.1m.html">tic(1m)</A></STRONG>
+ <STRONG><A HREF="tic.1m.html">tic(1m)</A></STRONG>
</PRE>
-<HR>
-<ADDRESS>
-Man(1) output converted with
-<a href="http://www.oac.uci.edu/indiv/ehood/man2html.html">man2html</a>
-</ADDRESS>
+<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>
+<ul>
+<li><a href="#h3-ALIASES">ALIASES</a></li>
+<li><a href="#h3-OPTIONS">OPTIONS</a></li>
+<li><a href="#h3-PARAMETERS">PARAMETERS</a></li>
+<li><a href="#h3-PROCESSING">PROCESSING</a></li>
+</ul>
+</li>
+<li><a href="#h2-HISTORY">HISTORY</a></li>
+<li><a href="#h2-PORTABILITY">PORTABILITY</a>
+<ul>
+<li><a href="#h3-COMPATIBILITY">COMPATIBILITY</a></li>
+<li><a href="#h3-EXTENSIONS">EXTENSIONS</a></li>
+</ul>
+</li>
+<li><a href="#h2-FILES">FILES</a></li>
+<li><a href="#h2-SEE-ALSO">SEE ALSO</a></li>
+<li><a href="#h2-AUTHOR">AUTHOR</a></li>
+</ul>
+</div>
</BODY>
</HTML>
diff --git a/doc/html/man/toe.1m.html b/doc/html/man/toe.1m.html
index 6eb523cce2bd..13ddb2762929 100644
--- a/doc/html/man/toe.1m.html
+++ b/doc/html/man/toe.1m.html
@@ -1,7 +1,6 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN">
<!--
****************************************************************************
- * Copyright (c) 1998-2010,2011 Free Software Foundation, Inc. *
+ * Copyright (c) 1998-2017,2019 Free Software Foundation, Inc. *
* *
* Permission is hereby granted, free of charge, to any person obtaining a *
* copy of this software and associated documentation files (the *
@@ -27,108 +26,166 @@
* sale, use or other dealings in this Software without prior written *
* authorization. *
****************************************************************************
- * @Id: toe.1m,v 1.26 2012/01/01 00:40:51 tom Exp @
+ * @Id: toe.1m,v 1.31 2019/07/20 19:06:44 tom Exp @
-->
+<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN">
<HTML>
<HEAD>
+<meta http-equiv="Content-Type" content="text/html; charset=us-ascii">
+<meta name="generator" content="Manpage converted by man2html - see https://invisible-island.net/scripts/readme.html#others_scripts">
<TITLE>toe 1m</TITLE>
-<link rev=made href="mailto:bug-ncurses@gnu.org">
+<link rel="author" href="mailto:bug-ncurses@gnu.org">
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
</HEAD>
<BODY>
-<H1>toe 1m</H1>
-<HR>
+<H1 class="no-header">toe 1m</H1>
<PRE>
-<!-- Manpage converted by man2html 3.0.1 -->
-<STRONG><A HREF="toe.1m.html">toe(1m)</A></STRONG> <STRONG><A HREF="toe.1m.html">toe(1m)</A></STRONG>
+<STRONG><A HREF="toe.1m.html">toe(1m)</A></STRONG> <STRONG><A HREF="toe.1m.html">toe(1m)</A></STRONG>
-</PRE>
-<H2>NAME</H2><PRE>
+</PRE><H2><a name="h2-NAME">NAME</a></H2><PRE>
<STRONG>toe</STRONG> - table of (terminfo) entries
-</PRE>
-<H2>SYNOPSIS</H2><PRE>
+</PRE><H2><a name="h2-SYNOPSIS">SYNOPSIS</a></H2><PRE>
<STRONG>toe</STRONG> [<STRONG>-v</STRONG>[<EM>n</EM>]] [<STRONG>-ahsuUV</STRONG>] <EM>file...</EM>
-</PRE>
-<H2>DESCRIPTION</H2><PRE>
- With no options, <STRONG>toe</STRONG> lists all available terminal types by
- primary name with descriptions. File arguments specify
- the directories to be scanned; if no such arguments are
- given, your default terminfo directory is scanned. If you
- also specify the <STRONG>-h</STRONG> option, a directory header will be
- issued as each directory is entered.
-
- There are other options intended for use by terminfo file
- maintainers:
-
- <STRONG>-a</STRONG> report on all of the terminal databases which
- ncurses would search, rather than only the first
- one that it finds.
-
- If the <STRONG>-s</STRONG> is also given, <STRONG>toe</STRONG> adds a column to the
- report, showing (like <STRONG>conflict(1)</STRONG>) which entries
- which belong to a given terminal database. An "*"
- marks entries which differ, and "+" marks equiva-
- lent entries.
+</PRE><H2><a name="h2-DESCRIPTION">DESCRIPTION</a></H2><PRE>
+ With no options, <STRONG>toe</STRONG> lists all available terminal types by primary name
+ with descriptions. File arguments specify the directories to be
+ scanned; if no such arguments are given, your default terminfo direc-
+ tory is scanned. If you also specify the <STRONG>-h</STRONG> option, a directory header
+ will be issued as each directory is entered.
+
+ There are other options intended for use by terminfo file maintainers:
+
+ <STRONG>-a</STRONG> report on all of the terminal databases which ncurses would
+ search, rather than only the first one that it finds.
+
+ If the <STRONG>-s</STRONG> is also given, <STRONG>toe</STRONG> adds a column to the report, show-
+ ing (like <STRONG>conflict(1)</STRONG>) which entries which belong to a given
+ terminal database. An "*" marks entries which differ, and "+"
+ marks equivalent entries.
+
+ Without the <STRONG>-s</STRONG> option, <STRONG>toe</STRONG> does not attempt to merge duplicates
+ in its report
<STRONG>-s</STRONG> sort the output by the entry names.
<STRONG>-u</STRONG> <EM>file</EM>
- says to write a report to the standard output,
- listing dependencies in the given terminfo/termcap
- source file. The report condenses the `use' rela-
- tion: each line consists of the primary name of a
- terminal that has use capabilities, followed by a
- colon, followed by the whitespace-separated primary
- names of all terminals which occur in those use
- capabilities, followed by a newline
+ says to write a report to the standard output, listing dependen-
+ cies in the given terminfo/termcap source file. The report con-
+ denses the "use" relation: each line consists of the primary
+ name of a terminal that has use capabilities, followed by a
+ colon, followed by the whitespace-separated primary names of all
+ terminals which occur in those use capabilities, followed by a
+ newline
<STRONG>-U</STRONG> <EM>file</EM>
- says to write a report to the standard output,
- listing reverse dependencies in the given ter-
- minfo/termcap source file. The report reverses the
- `use' relation: each line consists of the primary
- name of a terminal that occurs in use capabilities,
- followed by a colon, followed by the whitespace-
- separated primary names of all terminals which
- depend on it, followed by a newline.
+ says to write a report to the standard output, listing reverse
+ dependencies in the given terminfo/termcap source file. The
+ report reverses the "use" relation: each line consists of the
+ primary name of a terminal that occurs in use capabilities, fol-
+ lowed by a colon, followed by the whitespace-separated primary
+ names of all terminals which depend on it, followed by a new-
+ line.
+
+ <STRONG>-v</STRONG><EM>n</EM> specifies that (verbose) output be written to standard error,
+ showing <STRONG>toe</STRONG>'s progress.
+
+ The optional parameter <EM>n</EM> is a number from 1 to 10, interpreted
+ as for <STRONG><A HREF="tic.1m.html">tic(1m)</A></STRONG>. If ncurses is built without tracing support,
+ the optional parameter is ignored.
+
+ <STRONG>-V</STRONG> reports the version of ncurses which was used in this program,
+ and exits.
+
+
+</PRE><H2><a name="h2-EXAMPLES">EXAMPLES</a></H2><PRE>
+ Without sorting, the <STRONG>-a</STRONG> option reports all of the names found in all of
+ the terminal databases found by the <STRONG>TERMINFO</STRONG> and <STRONG>TERMINFO_DIRS</STRONG> environ-
+ ment variables:
+
+ MtxOrb162 16x2 Matrix Orbital LCD display
+ MtxOrb204 20x4 Matrix Orbital LCD display
+ MtxOrb Generic Matrix Orbital LCD display
+ qvt101+ qume qvt 101 PLUS product
+ qvt119+-25 QVT 119 PLUS with 25 data lines
+ qansi-g QNX ANSI
+ qvt103 qume qvt 103
+ qnxw QNX4 windows
+ qansi-w QNX ansi for windows
+ qnxm QNX4 with mouse events
+ qvt203-25-w QVT 203 PLUS with 25 by 132 columns
+ qansi-t QNX ansi without console writes
+ . . .
+
+ Use the <STRONG>-a</STRONG> and <STRONG>-s</STRONG> options together to show where each terminal descrip-
+ tion was found:
+
+ --&gt; /usr/local/ncurses/share/terminfo
+ ----&gt; /usr/share/terminfo
+ *-+-: 9term Plan9 terminal emulator for X
+ *---: Eterm Eterm with xterm-style color support (X Window System)
+ *-*-: Eterm-256color Eterm with xterm 256-colors
+ *-*-: Eterm-88color Eterm with 88 colors
+ *-+-: MtxOrb Generic Matrix Orbital LCD display
+ *-+-: MtxOrb162 16x2 Matrix Orbital LCD display
+ *-+-: MtxOrb204 20x4 Matrix Orbital LCD display
+ *-*-: NCR260VT300WPP NCR 2900_260 vt300 wide mode pc+ kybd
+ *-+-: aaa ann arbor ambassador/30 lines
+ *-+-: aaa+dec ann arbor ambassador in dec vt100 mode
+ *-+-: aaa+rv ann arbor ambassador in reverse video
+ . . .
+
+
+</PRE><H2><a name="h2-FILES">FILES</a></H2><PRE>
+ <STRONG>/usr/share/terminfo/?/*</STRONG>
+ Compiled terminal description database.
- <STRONG>-v</STRONG><EM>n</EM> specifies that (verbose) output be written to stan-
- dard error, showing <STRONG>toe</STRONG>'s progress. The optional
- parameter <EM>n</EM> is a number from 1 to 10, interpreted
- as for <STRONG><A HREF="tic.1m.html">tic(1m)</A></STRONG>.
- <STRONG>-V</STRONG> reports the version of ncurses which was used in
- this program, and exits.
+</PRE><H2><a name="h2-HISTORY">HISTORY</a></H2><PRE>
+ This utility is not provided by other implementations. There is no
+ relevant X/Open or POSIX standard for <STRONG>toe</STRONG>.
+ The program name refers to a developer's pun:
-</PRE>
-<H2>FILES</H2><PRE>
- <STRONG>/usr/share/terminfo/?/*</STRONG>
- Compiled terminal description database.
+ <STRONG>o</STRONG> <STRONG>tic</STRONG>,
+ <STRONG>o</STRONG> <STRONG>tac</STRONG> (now <STRONG>tack</STRONG>),
-</PRE>
-<H2>SEE ALSO</H2><PRE>
- <STRONG><A HREF="tic.1m.html">tic(1m)</A></STRONG>, <STRONG><A HREF="infocmp.1m.html">infocmp(1m)</A></STRONG>, <STRONG><A HREF="captoinfo.1m.html">captoinfo(1m)</A></STRONG>, <STRONG><A HREF="infotocap.1m.html">infotocap(1m)</A></STRONG>,
- <STRONG><A HREF="ncurses.3x.html">curses(3x)</A></STRONG>, <STRONG><A HREF="terminfo.5.html">terminfo(5)</A></STRONG>.
+ <STRONG>o</STRONG> <STRONG>toe</STRONG>.
+
+ It replaced a <STRONG>-T</STRONG> option which was briefly supported by the ncurses
+ <STRONG>infocmp</STRONG> utility in 1995.
+
+ The <STRONG>-a</STRONG> and <STRONG>-s</STRONG> options were added to <STRONG>toe</STRONG> several years later (2006 and
+ 2011, respectively).
+
+
+</PRE><H2><a name="h2-SEE-ALSO">SEE ALSO</a></H2><PRE>
+ <STRONG><A HREF="tic.1m.html">tic(1m)</A></STRONG>, <STRONG><A HREF="infocmp.1m.html">infocmp(1m)</A></STRONG>, <STRONG><A HREF="captoinfo.1m.html">captoinfo(1m)</A></STRONG>, <STRONG><A HREF="infotocap.1m.html">infotocap(1m)</A></STRONG>, <STRONG><A HREF="ncurses.3x.html">curses(3x)</A></STRONG>, <STRONG>ter-</STRONG>
+ <STRONG><A HREF="terminfo.5.html">minfo(5)</A></STRONG>.
- This describes <STRONG>ncurses</STRONG> version 5.9 (patch 20131221).
+ This describes <STRONG>ncurses</STRONG> version 6.1 (patch 20200118).
- <STRONG><A HREF="toe.1m.html">toe(1m)</A></STRONG>
+ <STRONG><A HREF="toe.1m.html">toe(1m)</A></STRONG>
</PRE>
-<HR>
-<ADDRESS>
-Man(1) output converted with
-<a href="http://www.oac.uci.edu/indiv/ehood/man2html.html">man2html</a>
-</ADDRESS>
+<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>
+<li><a href="#h2-EXAMPLES">EXAMPLES</a></li>
+<li><a href="#h2-FILES">FILES</a></li>
+<li><a href="#h2-HISTORY">HISTORY</a></li>
+<li><a href="#h2-SEE-ALSO">SEE ALSO</a></li>
+</ul>
+</div>
</BODY>
</HTML>
diff --git a/doc/html/man/tput.1.html b/doc/html/man/tput.1.html
index 0f4bc64493d1..88b3f13ae943 100644
--- a/doc/html/man/tput.1.html
+++ b/doc/html/man/tput.1.html
@@ -1,8 +1,7 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN">
<!--
* t
****************************************************************************
- * Copyright (c) 1998-2011,2012 Free Software Foundation, Inc. *
+ * Copyright (c) 1998-2017,2018 Free Software Foundation, Inc. *
* *
* Permission is hereby granted, free of charge, to any person obtaining a *
* copy of this software and associated documentation files (the *
@@ -28,33 +27,32 @@
* sale, use or other dealings in this Software without prior written *
* authorization. *
****************************************************************************
- * @Id: tput.1,v 1.32 2012/07/14 21:06:45 tom Exp @
+ * @Id: tput.1,v 1.62 2018/09/30 20:31:59 Sven.Joachim Exp @
-->
+<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN">
<HTML>
<HEAD>
+<meta http-equiv="Content-Type" content="text/html; charset=us-ascii">
+<meta name="generator" content="Manpage converted by man2html - see https://invisible-island.net/scripts/readme.html#others_scripts">
<TITLE>tput 1</TITLE>
-<link rev=made href="mailto:bug-ncurses@gnu.org">
+<link rel="author" href="mailto:bug-ncurses@gnu.org">
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
</HEAD>
<BODY>
-<H1>tput 1</H1>
-<HR>
+<H1 class="no-header">tput 1</H1>
<PRE>
-<!-- Manpage converted by man2html 3.0.1 -->
-<STRONG><A HREF="tput.1.html">tput(1)</A></STRONG> <STRONG><A HREF="tput.1.html">tput(1)</A></STRONG>
+<STRONG><A HREF="tput.1.html">tput(1)</A></STRONG> General Commands Manual <STRONG><A HREF="tput.1.html">tput(1)</A></STRONG>
-</PRE>
-<H2>NAME</H2><PRE>
- <STRONG>tput</STRONG>, <STRONG>reset</STRONG> - initialize a terminal or query terminfo
- database
+</PRE><H2><a name="h2-NAME">NAME</a></H2><PRE>
+ <STRONG>tput</STRONG>, <STRONG>reset</STRONG> - initialize a terminal or query terminfo database
-</PRE>
-<H2>SYNOPSIS</H2><PRE>
- <STRONG>tput</STRONG> [<STRONG>-T</STRONG><EM>type</EM>] <EM>capname</EM> [<EM>parms</EM> ... ]
+</PRE><H2><a name="h2-SYNOPSIS">SYNOPSIS</a></H2><PRE>
+ <STRONG>tput</STRONG> [<STRONG>-T</STRONG><EM>type</EM>] <EM>capname</EM> [<EM>parameters</EM>]
+ <STRONG>tput</STRONG> [<STRONG>-T</STRONG><EM>type</EM>] [<STRONG>-x</STRONG>] <STRONG>clear</STRONG>
<STRONG>tput</STRONG> [<STRONG>-T</STRONG><EM>type</EM>] <STRONG>init</STRONG>
<STRONG>tput</STRONG> [<STRONG>-T</STRONG><EM>type</EM>] <STRONG>reset</STRONG>
<STRONG>tput</STRONG> [<STRONG>-T</STRONG><EM>type</EM>] <STRONG>longname</STRONG>
@@ -62,137 +60,230 @@
<STRONG>tput</STRONG> <STRONG>-V</STRONG>
-</PRE>
-<H2>DESCRIPTION</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:
-
- string
- <STRONG>tput</STRONG> writes the string to the standard output.
- No trailing newline is supplied.
-
- integer
- <STRONG>tput</STRONG> writes the decimal value to the standard
- output, with a trailing 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.
-
- 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>CODES</STRONG> and <STRONG>DIAG-</STRONG>
- <STRONG>NOSTICS</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>.
-
- <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 <STRONG>TERM</STRONG>. If <STRONG>-T</STRONG> is spec-
- ified, then the shell variables <STRONG>LINES</STRONG> and <STRONG>COLUMNS</STRONG>
- will also be ignored.
+</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 ter-
+ minal-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 capa-
+ bility's type:
+
+ string
+ <STRONG>tput</STRONG> writes the string to the standard output. No trailing
+ newline is supplied.
+
+ integer
+ <STRONG>tput</STRONG> writes the decimal value to the standard output, with a
+ trailing 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.
+
+ 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>CODES</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>.
+
+
+</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>cap-</EM>
+ <EM>name</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 CODES
+ section).
+
+ 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
+ the parameters.
+
+ <STRONG>-T</STRONG><EM>type</EM> indicates the <EM>type</EM> of terminal. Normally this option is unnec-
+ essary, because the default is taken from the environment vari-
+ able <STRONG>TERM</STRONG>. If <STRONG>-T</STRONG> is specified, then the shell variables <STRONG>LINES</STRONG>
+ and <STRONG>COLUMNS</STRONG> will also be ignored.
+
+ <STRONG>-V</STRONG> reports the version of ncurses which was used in this program,
+ and exits.
+
+ <STRONG>-x</STRONG> do not attempt to clear the terminal's scrollback buffer using
+ the extended "E3" capability.
+
+
+</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 per-
+ form these special functions.
<EM>capname</EM>
- indicates the capability from the <STRONG>terminfo</STRONG> data-
- base. When <STRONG>termcap</STRONG> support is compiled in, the
- <STRONG>termcap</STRONG> name for the capability is also accepted.
+ indicates the capability from the terminal database.
- <EM>parms</EM> If the capability is a string that takes parame-
- ters, the arguments <EM>parms</EM> will be instantiated into
+ If the capability is a string that takes parameters, the argu-
+ ments following the capability will be used as parameters for
the string.
- Most parameters are numbers. Only a few terminfo
- capabilities require string parameters; <STRONG>tput</STRONG> uses a
- table to decide which to pass as strings. Normally
- <STRONG>tput</STRONG> uses <STRONG>tparm</STRONG> (3x) to perform the substitution.
- If no parameters are given for the capability, <STRONG>tput</STRONG>
- writes the string without performing the substitu-
- tion.
-
- <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
- CODES section).
-
- Again, <STRONG>tput</STRONG> uses a table and the presence of param-
- eters in its input to decide whether to use <STRONG>tparm</STRONG>
- (3x), and how to interpret the parameters.
-
- <STRONG>-V</STRONG> reports the version of ncurses which was used in
- this program, and exits.
-
- <STRONG>init</STRONG> If the <STRONG>terminfo</STRONG> 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) 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>Initializa-</EM>
- <EM>tion</EM>,
-
- (2) any delays (e.g., newline) specified in the
- entry will be set in the tty driver,
-
- (3) tabs expansion will be turned on or off
- according to the specification in the entry,
- and
-
- (4) if tabs are not expanded, standard tabs will
- be set (every 8 spaces).
-
- If an entry does not contain the information needed
- for any of the four above activities, that activity
- will silently be skipped.
-
- <STRONG>reset</STRONG> Instead of putting out initialization strings, the
- terminal's reset strings will be output if present
- (<STRONG>rs1</STRONG>, <STRONG>rs2</STRONG>, <STRONG>rs3</STRONG>, <STRONG>rf</STRONG>). If the reset strings are not
- present, but initialization strings are, the ini-
- tialization strings will be output. Otherwise,
- <STRONG>reset</STRONG> acts identically to <STRONG>init</STRONG>.
+ 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
+ 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
+ for your terminal. It does this by successively testing
+
+ <STRONG>o</STRONG> the standard error,
+
+ <STRONG>o</STRONG> standard output,
+
+ <STRONG>o</STRONG> standard input and
+
+ <STRONG>o</STRONG> ultimately "/dev/tty"
+
+ to obtain terminal settings. Having retrieved these set-
+ tings, <STRONG>tput</STRONG> remembers which file descriptor to use when
+ updating settings.
+
+ (2) if the window size cannot be obtained from the operating
+ system, but the terminal description (or environment, e.g.,
+ <STRONG>LINES</STRONG> and <STRONG>COLUMNS</STRONG> variables specify this), update the oper-
+ ating 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
+ be set in the tty driver,
+
+ <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
+ (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>
+ <EM>Initialization</EM>,
+
+ (5) output is flushed.
+
+ 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:
+
+ (1) before any other initialization, the terminal modes will be
+ reset to a "sane" state:
+
+ <STRONG>o</STRONG> set cooked and echo modes,
+
+ <STRONG>o</STRONG> turn off cbreak and raw modes,
+
+ <STRONG>o</STRONG> turn on newline translation and
+
+ <STRONG>o</STRONG> reset any unset special characters to their default
+ values
+
+ (2) Instead of putting out <EM>initialization</EM> strings, the termi-
+ nal'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>ini-</EM>
+ <EM>tialization</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 <STRONG>terminfo</STRONG> 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), 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> data-
+ base [see <STRONG><A HREF="term.5.html">term(5)</A></STRONG>].
- If <STRONG>tput</STRONG> is invoked by a link named <STRONG>reset</STRONG>, this has the
- same effect as <STRONG>tput</STRONG> <STRONG>reset</STRONG>. See <STRONG>tset</STRONG> for comparison, which
- has similar behavior.
+</PRE><H3><a name="h3-Aliases">Aliases</a></H3><PRE>
+ <STRONG>tput</STRONG> handles the <STRONG>clear</STRONG>, <STRONG>init</STRONG> and <STRONG>reset</STRONG> commands specially: it allows
+ for the possibility that it is invoked by a link with those names.
-</PRE>
-<H2>EXAMPLES</H2><PRE>
+ If <STRONG>tput</STRONG> is invoked by a link named <STRONG>reset</STRONG>, this has the same effect as
+ <STRONG>tput</STRONG> <STRONG>reset</STRONG>. The <STRONG><A HREF="tset.1.html">tset(1)</A></STRONG> utility also treats a link named <STRONG>reset</STRONG> spe-
+ cially.
+
+ Before ncurses 6.1, the two utilities were different from each other:
+
+ <STRONG>o</STRONG> <STRONG>tset</STRONG> utility reset the terminal modes and special characters (not
+ done with <STRONG>tput</STRONG>).
+
+ <STRONG>o</STRONG> On the other hand, <STRONG>tset</STRONG>'s repertoire of terminal capabilities for
+ resetting the terminal was more limited, i.e., only <STRONG>reset_1string</STRONG>,
+ <STRONG>reset_2string</STRONG> and <STRONG>reset_file</STRONG> in contrast to the tab-stops and mar-
+ gins which are set by this utility.
+
+ <STRONG>o</STRONG> The <STRONG>reset</STRONG> program is usually an alias for <STRONG>tset</STRONG>, because of this
+ difference with resetting terminal modes and special characters.
+
+ With the changes made for ncurses 6.1, the <EM>reset</EM> feature of the two
+ programs is (mostly) the same. A few differences remain:
+
+ <STRONG>o</STRONG> The <STRONG>tset</STRONG> program waits one second when resetting, in case it hap-
+ pens to be a hardware terminal.
+
+ <STRONG>o</STRONG> The two programs write the terminal initialization strings to dif-
+ ferent streams (i.e., the standard error for <STRONG>tset</STRONG> and the standard
+ output for <STRONG>tput</STRONG>).
+
+ <STRONG>Note:</STRONG> although these programs write to different streams, redirect-
+ ing their output to a file will capture only part of their actions.
+ The changes to the terminal modes are not affected by redirecting
+ the output.
+
+ If <STRONG>tput</STRONG> is invoked by a link named <STRONG>init</STRONG>, this has the same effect as
+ <STRONG>tput</STRONG> <STRONG>init</STRONG>. Again, you are less likely to use that link because another
+ program named <STRONG>init</STRONG> has a more well-established use.
+
+
+</PRE><H3><a name="h3-Terminal-Size">Terminal Size</a></H3><PRE>
+ Besides the special commands (e.g., <STRONG>clear</STRONG>), tput treats certain ter-
+ minfo capabilities specially: <STRONG>lines</STRONG> and <STRONG>columns</STRONG>. tput calls
+ <STRONG><A HREF="curs_terminfo.3x.html">setupterm(3x)</A></STRONG> to obtain the terminal size:
+
+ <STRONG>o</STRONG> first, it gets the size from the terminal database (which generally
+ is not provided for terminal emulators which do not have a fixed
+ window size)
+
+ <STRONG>o</STRONG> then it asks the operating system for the terminal's size (which
+ generally works, unless connecting via a serial line which does not
+ support <EM>NAWS</EM>: negotiations about window size).
+
+ <STRONG>o</STRONG> finally, it inspects the environment variables <STRONG>LINES</STRONG> and <STRONG>COLUMNS</STRONG>
+ which may override the terminal size.
+
+ If the <STRONG>-T</STRONG> option is given tput ignores the environment variables by
+ calling <STRONG>use_tioctl(TRUE)</STRONG>, relying upon the operating system (or
+ finally, the terminal database).
+
+
+</PRE><H2><a name="h2-EXAMPLES">EXAMPLES</a></H2><PRE>
<STRONG>tput</STRONG> <STRONG>init</STRONG>
- Initialize the terminal according to the type of ter-
- minal in the environmental variable <STRONG>TERM</STRONG>. This com-
- mand should be included in everyone's .profile after
- the environmental variable <STRONG>TERM</STRONG> has been exported, as
- illustrated on the <STRONG>profile(5)</STRONG> manual page.
+ Initialize the terminal according to the type of terminal in the
+ environmental variable <STRONG>TERM</STRONG>. This command should be included in
+ everyone's .profile after the environmental variable <STRONG>TERM</STRONG> 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 <STRONG>TERM</STRONG>.
+ Reset an AT&amp;T 5620 terminal, overriding the type of terminal in
+ the environmental variable <STRONG>TERM</STRONG>.
<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 position).
+ 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
+ position).
<STRONG>tput</STRONG> <STRONG>clear</STRONG>
- Echo the clear-screen sequence for the current termi-
- nal.
+ Echo the clear-screen sequence for the current terminal.
<STRONG>tput</STRONG> <STRONG>cols</STRONG>
Print the number of columns for the current terminal.
@@ -201,28 +292,25 @@
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 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>
+ 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 termi-
+ nal. 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 terminal.
+ Set exit code 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, col-
- umn 4.
+ 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 substituted.
+ 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 <STRONG>TERM</STRONG>.
+ Print the long name from the <STRONG>terminfo</STRONG> database for the type of
+ terminal specified in the environmental variable <STRONG>TERM</STRONG>.
<STRONG>tput</STRONG> <STRONG>-S</STRONG> <STRONG>&lt;&lt;!</STRONG>
<STRONG>&gt;</STRONG> <STRONG>clear</STRONG>
@@ -230,68 +318,56 @@
<STRONG>&gt;</STRONG> <STRONG>bold</STRONG>
<STRONG>&gt;</STRONG> <STRONG>!</STRONG>
- This example shows <STRONG>tput</STRONG> processing several capabili-
- ties 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.
+ 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 termi-
+ nated by an exclamation mark (<STRONG>!</STRONG>) on a line by itself.
-</PRE>
-<H2>FILES</H2><PRE>
+</PRE><H2><a name="h2-FILES">FILES</a></H2><PRE>
<STRONG>/usr/share/terminfo</STRONG>
compiled terminal description database
<STRONG>/usr/share/tabset/*</STRONG>
- tab settings for some terminals, in a format appro-
- priate to be output to the terminal (escape
- sequences that set margins and tabs); for more
- information, see the "Tabs and Initialization" sec-
- tion of <STRONG><A HREF="terminfo.5.html">terminfo(5)</A></STRONG>
+ tab settings for some terminals, in a format appropriate to be
+ output to the terminal (escape sequences that set margins and
+ tabs); for more information, see the <EM>Tabs</EM> <EM>and</EM> <EM>Initialization</EM>,
+ section of <STRONG><A HREF="terminfo.5.html">terminfo(5)</A></STRONG>
-</PRE>
-<H2>EXIT CODES</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>
- 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 this ter-
- minal <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 ter-
- minal <EM>type</EM>, the user must test the value writ-
- ten to standard output. A value of <STRONG>-1</STRONG> means
- that <EM>capname</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 respec-
- tive files. In that case, the exit code is
- set to 4 + <STRONG>errno</STRONG>.
-
- Any other exit code indicates an error; see the DIAGNOS-
- TICS section.
+</PRE><H2><a name="h2-EXIT-CODES">EXIT CODES</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>cap-</EM>
+ <EM>name</EM>:
+ <EM>boolean</EM>
+ a value of <STRONG>0</STRONG> is set for TRUE and <STRONG>1</STRONG> for FALSE.
-</PRE>
-<H2>DIAGNOSTICS</H2><PRE>
- <STRONG>tput</STRONG> prints the following error messages and sets the cor-
- responding exit codes.
+ <EM>string</EM> a value of <STRONG>0</STRONG> is set if the <EM>capname</EM> is defined for this termi-
+ nal <EM>type</EM> (the value of <EM>capname</EM> is returned on standard out-
+ put); a value of <STRONG>1</STRONG> is set if <EM>capname</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>.
+
+ <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>.
+
+ Any other exit code indicates an error; see the DIAGNOSTICS section.
+
+
+</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
---------------------------------------------------------------------
@@ -306,48 +382,172 @@
---------------------------------------------------------------------
-</PRE>
-<H2>PORTABILITY</H2><PRE>
- The <STRONG>longname</STRONG> and <STRONG>-S</STRONG> options, and the parameter-substitu-
- tion features used in the <STRONG>cup</STRONG> example, are not supported
- in BSD curses or in AT&amp;T/USL curses before SVr4.
-
- X/Open documents only the operands for <STRONG>clear</STRONG>, <STRONG>init</STRONG> and
- <STRONG>reset</STRONG>. In this implementation, <STRONG>clear</STRONG> is part of the <EM>cap-</EM>
- <EM>name</EM> support. Other implementations of <STRONG>tput</STRONG> on SVr4-based
- systems such as Solaris, IRIX64 and HPUX as well as others
- such as AIX and Tru64 provide support for <EM>capname</EM> oper-
- ands.
-
- A few platforms such as FreeBSD and NetBSD recognize term-
- cap names rather than terminfo capability names in their
- respective <STRONG>tput</STRONG> commands.
-
- Most implementations which provide support for <EM>capname</EM> op-
- erands use the <EM>tparm</EM> 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 that for the
- standard <EM>capname</EM> operands, and an internal library func-
- tion to analyze nonstandard <EM>capname</EM> operands. Other
- implementations may simply guess that an operand contain-
- ing only digits is intended to be a number.
+</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
+ only cleared the screen.
+
+ AT&amp;T System V provided a different <STRONG>tput</STRONG> command, 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 Allman.
+
+ Keith Bostic replaced the BSD <STRONG>tput</STRONG> command in 1989 with a new implemen-
+ tation 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> <EM>capabili-</EM>
+ <EM>ties</EM> (<STRONG>clear</STRONG>, <STRONG>init</STRONG>, <STRONG>longname</STRONG> and <STRONG>reset</STRONG>). However (because he had only
+ termcap available), it accepted <EM>termcap</EM> <EM>names</EM> 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 implementa-
+ tion 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 ter-
+ minal capabilities than the BSD program. Eric Raymond used that <STRONG>tput</STRONG>
+ program (and other parts of <EM>mytinfo</EM>) in ncurses 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-PORTABILITY">PORTABILITY</a></H2><PRE>
+ 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 termi-
+ nal 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 succes-
+ sively tries standard output, standard error, standard input before
+ falling back to "/dev/tty" and finally just assumes a 1200Bd termi-
+ nal. When updating terminal modes, it ignores errors.
-</PRE>
-<H2>SEE ALSO</H2><PRE>
- <STRONG><A HREF="clear.1.html">clear(1)</A></STRONG>, <STRONG>stty(1)</STRONG>, <STRONG><A HREF="tabs.1.html">tabs(1)</A></STRONG>, <STRONG><A HREF="terminfo.5.html">terminfo(5)</A></STRONG>, <STRONG><A HREF="curs_termcap.3x.html">curs_termcap(3x)</A></STRONG>.
+ Until changes made after ncurses 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
+ to open a terminal, e.g., when running in <STRONG>cron</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.
+
+ Most implementations which provide support for <EM>capname</EM> operands use
+ the <EM>tparm</EM> 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 (unlike others) can accept both <EM>termcap</EM> and <EM>ter-</EM>
+ <EM>minfo</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 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
+ one line).
+ 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
+ delete mode).
+ 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).
+
+ 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
+ others (<STRONG>init</STRONG> and <STRONG>longname</STRONG>) do not correspond to terminal capabili-
+ ties.
+
+ <STRONG>o</STRONG> Other implementations of <STRONG>tput</STRONG> on SVr4-based systems such as
+ Solaris, IRIX64 and HPUX as well as others such as AIX and Tru64
+ provide support for <EM>capname</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
+ 2010, NetBSD's <STRONG>tput</STRONG> uses terminfo names. Before that, it (like
+ FreeBSD) recognized termcap names.
+
+ Because (apparently) <EM>all</EM> of the certified Unix systems support the full
+ 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
+ the other features used in this implementation.
+
+ <STRONG>o</STRONG> That is, there are two standards for <STRONG>tput</STRONG>: POSIX (a subset) and
+ X/Open Curses (the full implementation). POSIX documents a subset
+ to avoid the complication of including X/Open Curses and the termi-
+ nal 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 implementa-
+ tion provide a <STRONG>tput</STRONG> utility which does not provide the <EM>capname</EM> fea-
+ ture.
+
+ X/Open Curses Issue 7 (2009) is the first version to document utili-
+ ties. However that part of X/Open Curses does not follow existing
+ practice (i.e., Unix features documented in SVID 3):
+
+ <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 code 255 to a numeric variable that is not speci-
+ fied 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.
+
+ The various Unix systems (AIX, HPUX, Solaris) use the same exit-codes
+ as ncurses.
+
+ NetBSD curses documents different exit codes which do not correspond to
+ either ncurses or X/Open.
+
+
+</PRE><H2><a name="h2-SEE-ALSO">SEE ALSO</a></H2><PRE>
+ <STRONG><A HREF="clear.1.html">clear(1)</A></STRONG>, <STRONG>stty(1)</STRONG>, <STRONG><A HREF="tabs.1.html">tabs(1)</A></STRONG>, <STRONG><A HREF="tset.1.html">tset(1)</A></STRONG>, <STRONG><A HREF="terminfo.5.html">terminfo(5)</A></STRONG>, <STRONG><A HREF="curs_termcap.3x.html">curs_termcap(3x)</A></STRONG>.
- This describes <STRONG>ncurses</STRONG> version 5.9 (patch 20131221).
+ This describes <STRONG>ncurses</STRONG> version 6.1 (patch 20200118).
- <STRONG><A HREF="tput.1.html">tput(1)</A></STRONG>
+ <STRONG><A HREF="tput.1.html">tput(1)</A></STRONG>
</PRE>
-<HR>
-<ADDRESS>
-Man(1) output converted with
-<a href="http://www.oac.uci.edu/indiv/ehood/man2html.html">man2html</a>
-</ADDRESS>
+<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>
+<ul>
+<li><a href="#h3-Options">Options</a></li>
+<li><a href="#h3-Commands">Commands</a></li>
+<li><a href="#h3-Aliases">Aliases</a></li>
+<li><a href="#h3-Terminal-Size">Terminal Size</a></li>
+</ul>
+</li>
+<li><a href="#h2-EXAMPLES">EXAMPLES</a></li>
+<li><a href="#h2-FILES">FILES</a></li>
+<li><a href="#h2-EXIT-CODES">EXIT CODES</a></li>
+<li><a href="#h2-DIAGNOSTICS">DIAGNOSTICS</a></li>
+<li><a href="#h2-HISTORY">HISTORY</a></li>
+<li><a href="#h2-PORTABILITY">PORTABILITY</a></li>
+<li><a href="#h2-SEE-ALSO">SEE ALSO</a></li>
+</ul>
+</div>
</BODY>
</HTML>
diff --git a/doc/html/man/tset.1.html b/doc/html/man/tset.1.html
index 81aabd663afa..e7ea47d485de 100644
--- a/doc/html/man/tset.1.html
+++ b/doc/html/man/tset.1.html
@@ -1,7 +1,6 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN">
<!--
****************************************************************************
- * Copyright (c) 1998-2011,2013 Free Software Foundation, Inc. *
+ * Copyright (c) 1998-2017,2018 Free Software Foundation, Inc. *
* *
* Permission is hereby granted, free of charge, to any person obtaining a *
* copy of this software and associated documentation files (the *
@@ -27,308 +26,394 @@
* sale, use or other dealings in this Software without prior written *
* authorization. *
****************************************************************************
- * @Id: tset.1,v 1.28 2013/07/20 19:40:55 tom Exp @
+ * @Id: tset.1,v 1.54 2018/07/28 21:30:27 tom Exp @
-->
+<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN">
<HTML>
<HEAD>
+<meta http-equiv="Content-Type" content="text/html; charset=us-ascii">
+<meta name="generator" content="Manpage converted by man2html - see https://invisible-island.net/scripts/readme.html#others_scripts">
<TITLE>tset 1</TITLE>
-<link rev=made href="mailto:bug-ncurses@gnu.org">
+<link rel="author" href="mailto:bug-ncurses@gnu.org">
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
</HEAD>
<BODY>
-<H1>tset 1</H1>
-<HR>
+<H1 class="no-header">tset 1</H1>
<PRE>
-<!-- Manpage converted by man2html 3.0.1 -->
-<STRONG><A HREF="tset.1.html">tset(1)</A></STRONG> <STRONG><A HREF="tset.1.html">tset(1)</A></STRONG>
+<STRONG><A HREF="tset.1.html">tset(1)</A></STRONG> General Commands Manual <STRONG><A HREF="tset.1.html">tset(1)</A></STRONG>
-</PRE>
-<H2>NAME</H2><PRE>
+</PRE><H2><a name="h2-NAME">NAME</a></H2><PRE>
<STRONG>tset</STRONG>, <STRONG>reset</STRONG> - terminal initialization
-</PRE>
-<H2>SYNOPSIS</H2><PRE>
- <STRONG>tset</STRONG> [<STRONG>-IQVcqrsw</STRONG>] [<STRONG>-</STRONG>] [<STRONG>-e</STRONG> <EM>ch</EM>] [<STRONG>-i</STRONG> <EM>ch</EM>] [<STRONG>-k</STRONG> <EM>ch</EM>] [<STRONG>-m</STRONG> <EM>mapping</EM>]
- [<EM>terminal</EM>]
- <STRONG>reset</STRONG> [<STRONG>-IQVcqrsw</STRONG>] [<STRONG>-</STRONG>] [<STRONG>-e</STRONG> <EM>ch</EM>] [<STRONG>-i</STRONG> <EM>ch</EM>] [<STRONG>-k</STRONG> <EM>ch</EM>] [<STRONG>-m</STRONG> <EM>mapping</EM>]
- [<EM>terminal</EM>]
+</PRE><H2><a name="h2-SYNOPSIS">SYNOPSIS</a></H2><PRE>
+ <STRONG>tset</STRONG> [<STRONG>-IQVcqrsw</STRONG>] [<STRONG>-</STRONG>] [<STRONG>-e</STRONG> <EM>ch</EM>] [<STRONG>-i</STRONG> <EM>ch</EM>] [<STRONG>-k</STRONG> <EM>ch</EM>] [<STRONG>-m</STRONG> <EM>mapping</EM>] [<EM>terminal</EM>]
+ <STRONG>reset</STRONG> [<STRONG>-IQVcqrsw</STRONG>] [<STRONG>-</STRONG>] [<STRONG>-e</STRONG> <EM>ch</EM>] [<STRONG>-i</STRONG> <EM>ch</EM>] [<STRONG>-k</STRONG> <EM>ch</EM>] [<STRONG>-m</STRONG> <EM>mapping</EM>] [<EM>terminal</EM>]
-</PRE>
-<H2>DESCRIPTION</H2><PRE>
- <STRONG>Tset</STRONG> initializes terminals. <STRONG>Tset</STRONG> first determines the
- type of terminal that you are using. This determination
- is done as follows, using the first terminal type found.
+</PRE><H2><a name="h2-DESCRIPTION">DESCRIPTION</a></H2><PRE>
+
+</PRE><H3><a name="h3-tset---initialization">tset - initialization</a></H3><PRE>
+ This program initializes terminals.
+
+ First, <STRONG>tset</STRONG> retrieves the current terminal mode settings for your ter-
+ minal. It does this by successively testing
+
+ <STRONG>o</STRONG> the standard error,
+
+ <STRONG>o</STRONG> standard output,
+
+ <STRONG>o</STRONG> standard input and
+
+ <STRONG>o</STRONG> ultimately "/dev/tty"
+
+ to obtain terminal settings. Having retrieved these settings, <STRONG>tset</STRONG>
+ remembers which file descriptor to use when updating settings.
+
+ Next, <STRONG>tset</STRONG> determines the type of terminal that you are using. This
+ determination is done as follows, using the first terminal type found.
1. The <STRONG>terminal</STRONG> argument specified on the command line.
2. The value of the <STRONG>TERM</STRONG> environmental 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-like UNIXes and systems using that conven-
- tion, <EM>getty</EM> does this job by setting <STRONG>TERM</STRONG> according to the
- type passed to it by <EM>/etc/inittab</EM>.)
+ 3. (BSD systems only.) The terminal type associated with the standard
+ error output device in the <EM>/etc/ttys</EM> file. (On System-V-like UNIXes
+ and systems using that convention, <EM>getty</EM> does this job by setting <STRONG>TERM</STRONG>
+ according to the type passed to it by <EM>/etc/inittab</EM>.)
4. The default terminal type, "unknown".
- If the terminal type was not specified on the command-
- line, the <STRONG>-m</STRONG> option mappings are then applied (see the
- section <STRONG>TERMINAL</STRONG> <STRONG>TYPE</STRONG> <STRONG>MAPPING</STRONG> for more information).
- Then, if the terminal type begins with a question mark
- ("?"), the user is prompted for confirmation of the termi-
- nal type. An empty response confirms the type, or,
- another type can be entered to specify a new type. Once
- the terminal type has been determined, the terminfo entry
- for the terminal is retrieved. If no terminfo entry is
- found for the type, the user is prompted for another ter-
- minal type.
-
- Once the terminfo entry is retrieved, the window size,
- backspace, interrupt and line kill characters (among many
- other things) are set and the terminal and tab initializa-
- tion strings are sent to the standard error output.
- 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.
- Use the <STRONG>-c</STRONG> or <STRONG>-w</STRONG> option to select only the window sizing
- versus the other initialization. If neither option is
- given, both are assumed.
-
- When invoked as <STRONG>reset</STRONG>, <STRONG>tset</STRONG> sets cooked and echo modes,
- turns off cbreak and raw modes, turns on newline transla-
- tion and resets any unset special characters to their
- default values before doing the terminal initialization
- described above. This is useful after a program dies
- leaving a terminal in an abnormal state. Note, you may
- have to type
-
- <STRONG>&lt;LF&gt;reset&lt;LF&gt;</STRONG>
-
- (the line-feed character is normally control-J) to get the
- terminal to work, as carriage-return may no longer work in
- the abnormal state. Also, the terminal will often not
- echo the command.
+ If the terminal type was not specified on the command-line, the <STRONG>-m</STRONG>
+ option mappings are then applied (see the section <STRONG>TERMINAL</STRONG> <STRONG>TYPE</STRONG> <STRONG>MAPPING</STRONG>
+ for more information). Then, if the terminal type begins with a ques-
+ tion mark ("?"), the user is prompted for confirmation of the terminal
+ type. An empty response confirms the type, or, another type can be
+ entered to specify a new type. Once the terminal type has been deter-
+ mined, the terminal description for the terminal is retrieved. If no
+ terminal description is found for the type, the user is prompted for
+ another terminal type.
+
+ Once the terminal description is retrieved,
+
+ <STRONG>o</STRONG> if the "<STRONG>-w</STRONG>" option is enabled, <STRONG>tset</STRONG> may update the terminal's win-
+ dow size.
+
+ If the window size cannot be obtained from the operating system,
+ but the terminal description (or environment, e.g., <STRONG>LINES</STRONG> and <STRONG>COL-</STRONG>
+ <STRONG>UMNS</STRONG> variables specify this), use this to set the operating sys-
+ tem's notion of the window size.
+
+ <STRONG>o</STRONG> if the "<STRONG>-c</STRONG>" option is enabled, the backspace, interrupt and line
+ kill characters (among many other things) are set
+
+ <STRONG>o</STRONG> unless the "<STRONG>-I</STRONG>" option is enabled, the terminal and tab <EM>initializa-</EM>
+ <EM>tion</EM> strings are sent to the standard error output, and <STRONG>tset</STRONG> waits
+ one second (in case a hardware reset was issued).
+
+ <STRONG>o</STRONG> 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.
+
+
+</PRE><H3><a name="h3-reset---reinitialization">reset - 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,
+
+ <STRONG>o</STRONG> turns off cbreak and raw modes,
+ <STRONG>o</STRONG> turns on newline translation and
+
+ <STRONG>o</STRONG> resets any unset special characters to their default values
+
+ before doing the terminal initialization described above. Also, rather
+ than using the terminal <EM>initialization</EM> strings, it uses the terminal
+ <EM>reset</EM> strings.
+
+ The <STRONG>reset</STRONG> command is useful after a program dies leaving a terminal in
+ an abnormal state:
+
+ <STRONG>o</STRONG> you may have to type
+
+ <EM>&lt;LF&gt;</EM><STRONG>reset</STRONG><EM>&lt;LF&gt;</EM>
+
+ (the line-feed character is normally control-J) to get the terminal
+ to work, as carriage-return may no longer work in the abnormal
+ state.
+
+ <STRONG>o</STRONG> Also, the terminal will often not echo the command.
+
+
+</PRE><H2><a name="h2-OPTIONS">OPTIONS</a></H2><PRE>
The options are as follows:
<STRONG>-c</STRONG> Set control characters and modes.
<STRONG>-e</STRONG> Set the erase character to <EM>ch</EM>.
- <STRONG>-I</STRONG> Do not send the terminal or tab initialization
- strings to the terminal.
+ <STRONG>-I</STRONG> Do not send the terminal or tab initialization strings to the ter-
+ minal.
<STRONG>-i</STRONG> Set the interrupt character to <EM>ch</EM>.
<STRONG>-k</STRONG> Set the line kill character to <EM>ch</EM>.
- <STRONG>-m</STRONG> Specify a mapping from a port type to a terminal.
- See the section <STRONG>TERMINAL</STRONG> <STRONG>TYPE</STRONG> <STRONG>MAPPING</STRONG> for more infor-
- mation.
+ <STRONG>-m</STRONG> Specify a mapping from a port type to a terminal. See the section
+ <STRONG>TERMINAL</STRONG> <STRONG>TYPE</STRONG> <STRONG>MAPPING</STRONG> for more information.
- <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> Do not display any values for the erase, interrupt and line kill
+ characters. Normally <STRONG>tset</STRONG> displays the values for control charac-
+ ters which differ from the system's default values.
- <STRONG>-q</STRONG> The terminal type is displayed to the standard out-
- put, and the terminal is not initialized in any way.
- The option `-' by itself is equivalent but archaic.
+ <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 <STRONG>TERM</STRONG> to the standard output.
- See the section <STRONG>SETTING</STRONG> <STRONG>THE</STRONG> <STRONG>ENVIRONMENT</STRONG> for details.
-
- <STRONG>-V</STRONG> reports the version of ncurses which was used in this
- program, and exits.
-
- <STRONG>-w</STRONG> Resize the window to match the size deduced via
- <STRONG>setupterm</STRONG>. Normally this has no effect, unless
- <STRONG>setupterm</STRONG> is not able to detect the window size.
+ <STRONG>-s</STRONG> Print the sequence of shell commands to initialize the environment
+ variable <STRONG>TERM</STRONG> to the standard output. See the section <STRONG>SETTING</STRONG> <STRONG>THE</STRONG>
+ <STRONG>ENVIRONMENT</STRONG> for details.
- 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' nota-
- tion, i.e., control-h may be specified as "^H" or "^h".
+ <STRONG>-V</STRONG> reports the version of ncurses 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
+ detect the window size.
-</PRE>
-<H2>SETTING THE ENVIRONMENT</H2><PRE>
- It is often desirable to enter the terminal type and
- information about the terminal's capabilities into the
- shell's environment. This is done using the <STRONG>-s</STRONG> option.
-
- 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 <STRONG>SHELL</STRONG> environmental variable
- ends in "csh", the commands are for <STRONG>csh</STRONG>, otherwise, they
- are for <STRONG>sh</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:
-
- eval `tset -s options ... `
+ 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".
-
-</PRE>
-<H2>TERMINAL TYPE MAPPING</H2><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 <STRONG>TERM</STRONG> 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 type of
- terminal used on such ports.
-
- The purpose of the <STRONG>-m</STRONG> option is to map 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 specifi-
- cation, 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 first applica-
- ble mapping is used.
-
- 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 termi-
- nal type is vt100. The result of this mapping is to spec-
- ify 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 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 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 entire <STRONG>-m</STRONG> option argument be
- placed within single quote characters, and that <STRONG>csh</STRONG> users
- insert a backslash character ("\") before any exclamation
- marks ("!").
+ If neither <STRONG>-c</STRONG> or <STRONG>-w</STRONG> is given, both options are assumed.
-</PRE>
-<H2>HISTORY</H2><PRE>
- The <STRONG>tset</STRONG> command appeared in BSD 3.0. The <STRONG>ncurses</STRONG> imple-
- mentation was lightly adapted from the 4.4BSD sources for
- a terminfo environment by Eric S. Raymond &lt;esr@snark.thyr-
- sus.com&gt;.
+</PRE><H2><a name="h2-SETTING-THE-ENVIRONMENT">SETTING THE ENVIRONMENT</a></H2><PRE>
+ It is often desirable to enter the terminal type and information about
+ the terminal's capabilities into the shell's environment. This is done
+ using the <STRONG>-s</STRONG> option.
+ 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 <STRONG>SHELL</STRONG> environmental variable ends in "csh", the commands are for
+ <STRONG>csh</STRONG>, otherwise, they are for <STRONG>sh</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:
-</PRE>
-<H2>COMPATIBILITY</H2><PRE>
- The <STRONG>tset</STRONG> utility has been provided for backward-compati-
- bility with BSD environments (under most modern UNIXes,
- <STRONG>/etc/inittab</STRONG> and <STRONG>getty(1)</STRONG> can set <STRONG>TERM</STRONG> appropriately for
- each dial-up line; this obviates what was <STRONG>tset</STRONG>'s most
- important use). This implementation behaves like 4.4BSD
- tset, with a few exceptions specified here.
-
- The <STRONG>-S</STRONG> option of BSD tset no longer works; it prints an
- error message to stderr and dies. The <STRONG>-s</STRONG> option only sets
- <STRONG>TERM</STRONG>, not <STRONG>TERMCAP</STRONG>. Both of these changes are because the
- <STRONG>TERMCAP</STRONG> variable is no longer supported under terminfo-
- based <STRONG>ncurses</STRONG>, which makes <STRONG>tset</STRONG> <STRONG>-S</STRONG> useless (we made it die
- noisily rather than silently induce lossage).
-
- There was an undocumented 4.4BSD feature that invoking
- tset via a link named `TSET` (or via any other name begin-
- ning 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 three
- options be changed to use the <STRONG>-m</STRONG> option instead. The <STRONG>-n</STRONG>
- option remains, but has no effect. The <STRONG>-adnp</STRONG> options are
- therefore omitted from the usage summary above.
-
- It is still permissible to specify the <STRONG>-e</STRONG>, <STRONG>-i</STRONG>, and <STRONG>-k</STRONG>
- options without arguments, although it is strongly recom-
- mended 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. Also, the interaction between the - option
- and the <EM>terminal</EM> argument in some historic implementations
- of <STRONG>tset</STRONG> has been removed.
+ eval `tset -s options ... `
-</PRE>
-<H2>ENVIRONMENT</H2><PRE>
+</PRE><H2><a name="h2-TERMINAL-TYPE-MAPPING">TERMINAL TYPE MAPPING</a></H2><PRE>
+ When the terminal is not hardwired into the system (or the current sys-
+ tem information is incorrect) the terminal type derived from the
+ <EM>/etc/ttys</EM> file or the <STRONG>TERM</STRONG> 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
+ type of terminal used on such ports.
+
+ 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 opera-
+ tor 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 con-
+ trol terminal). The terminal type is a string.
+
+ If the terminal type is not specified on the command line, the <STRONG>-m</STRONG> map-
+ pings 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
+ 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
+ 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
+ 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
+ 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
+ entire <STRONG>-m</STRONG> option argument be placed within single quote characters, and
+ that <STRONG>csh</STRONG> users insert a backslash character ("\") before any exclama-
+ tion marks ("!").
+
+
+</PRE><H2><a name="h2-HISTORY">HISTORY</a></H2><PRE>
+ A <STRONG>reset</STRONG> command appeared in 2BSD (April 1979), written by Kurt Shoens.
+ This program set the <EM>erase</EM> and <EM>kill</EM> characters to <STRONG>^H</STRONG> (backspace) and <STRONG>@</STRONG>
+ respectively. Mark Horton improved that 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 pro-
+ gram to avoid modifying any user settings.
+
+ Later in 4.1BSD (December 1980), Mark Horton added a call to the <STRONG>tset</STRONG>
+ program using the <STRONG>-I</STRONG> and <STRONG>-Q</STRONG> options, i.e., using that to improve the
+ terminal modes. With those options, that version of <STRONG>reset</STRONG> did not use
+ the termcap database.
+
+ A separate <STRONG>tset</STRONG> command was provided in 2BSD by Eric Allman. While the
+ oldest published source (from 1979) provides both <STRONG>tset</STRONG> and <STRONG>reset</STRONG>, All-
+ man's comments in the 2BSD source code indicate that he began work in
+ October 1977, continuing development over the next few years.
+
+ In September 1980, Eric Allman modified <STRONG>tset</STRONG>, adding the code from the
+ existing "reset" feature when <STRONG>tset</STRONG> was invoked as <STRONG>reset</STRONG>. Rather than
+ simply copying the existing program, in this merged version, <STRONG>tset</STRONG> used
+ the termcap database to do additional (re)initialization of the termi-
+ nal. This version appeared in 4.1cBSD, late in 1982.
+
+ Other developers (e.g., Keith Bostic and Jim Bloom) continued to modify
+ <STRONG>tset</STRONG> until 4.4BSD was released in 1993.
+
+ The <STRONG>ncurses</STRONG> implementation was lightly adapted from the 4.4BSD sources
+ for a terminfo environment by Eric S. Raymond &lt;esr@snark.thyrsus.com&gt;.
+
+
+</PRE><H2><a name="h2-COMPATIBILITY">COMPATIBILITY</a></H2><PRE>
+ 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, HPUX, 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 mak-
+ ing <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 for backward-compatibility with BSD environ-
+ ments (under most modern UNIXes, <STRONG>/etc/inittab</STRONG> and <STRONG>getty(1)</STRONG> can set <STRONG>TERM</STRONG>
+ appropriately for each dial-up line; this obviates what was <STRONG>tset</STRONG>'s most
+ important use). This implementation behaves like 4.4BSD <STRONG>tset</STRONG>, with a
+ few exceptions specified here.
+
+ A few options are different because the <STRONG>TERMCAP</STRONG> variable is no longer
+ supported under terminfo-based <STRONG>ncurses</STRONG>:
+
+ <STRONG>o</STRONG> The <STRONG>-S</STRONG> option of BSD <STRONG>tset</STRONG> no longer works; it prints an error mes-
+ sage to the standard error and dies.
+
+ <STRONG>o</STRONG> The <STRONG>-s</STRONG> option only sets <STRONG>TERM</STRONG>, not <STRONG>TERMCAP</STRONG>.
+
+ 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 let-
+ ter) 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 docu-
+ mented 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
+ that choice.
+
+ 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.
+ 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. How-
+ ever, 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
+ size from the operating system.
+
+ <STRONG>o</STRONG> In ncurses, <STRONG>tset</STRONG> obtains the window size using <STRONG>setupterm</STRONG>, which may
+ be from the operating system, the <STRONG>LINES</STRONG> and <STRONG>COLUMNS</STRONG> environment
+ variables or the terminal description.
+
+ Obtaining the window size from the terminal description is common to
+ both implementations, but considered obsolescent. Its only practical
+ use is for hardware terminals. Generally speaking, a window size would
+ be unset only if there were some problem obtaining the value from the
+ operating system (and <STRONG>setupterm</STRONG> would still fail). For that reason,
+ the <STRONG>LINES</STRONG> and <STRONG>COLUMNS</STRONG> environment variables may be useful for working
+ around window-size problems. Those have the drawback that if the win-
+ dow is resized, those variables must be recomputed and reassigned. To
+ do this more easily, use the <STRONG><A HREF="resize.1.html">resize(1)</A></STRONG> program.
+
+
+</PRE><H2><a name="h2-ENVIRONMENT">ENVIRONMENT</a></H2><PRE>
The <STRONG>tset</STRONG> command uses these environment variables:
SHELL
- tells <STRONG>tset</STRONG> whether to initialize <STRONG>TERM</STRONG> using <STRONG>sh</STRONG> or <STRONG>csh</STRONG>
- syntax.
+ tells <STRONG>tset</STRONG> whether to initialize <STRONG>TERM</STRONG> using <STRONG>sh</STRONG> or <STRONG>csh</STRONG> syntax.
- TERM Denotes your terminal type. Each terminal type is
- distinct, though many are similar.
+ TERM Denotes your terminal type. Each terminal type is distinct,
+ though many are similar.
TERMCAP
- 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.
+ 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 vari-
+ able from the environment before looking for the terminal descrip-
+ tion.
-</PRE>
-<H2>FILES</H2><PRE>
+</PRE><H2><a name="h2-FILES">FILES</a></H2><PRE>
/etc/ttys
- system port name to terminal type mapping database
- (BSD versions only).
+ system port name to terminal type mapping database (BSD versions
+ only).
/usr/share/terminfo
terminal capability database
-</PRE>
-<H2>SEE ALSO</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>ttys(5)</STRONG>, <STRONG>environ(7)</STRONG>
+</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>ttys(5)</STRONG>, <STRONG>environ(7)</STRONG>
- This describes <STRONG>ncurses</STRONG> version 5.9 (patch 20131221).
+ This describes <STRONG>ncurses</STRONG> version 6.1 (patch 20200118).
- <STRONG><A HREF="tset.1.html">tset(1)</A></STRONG>
+ <STRONG><A HREF="tset.1.html">tset(1)</A></STRONG>
</PRE>
-<HR>
-<ADDRESS>
-Man(1) output converted with
-<a href="http://www.oac.uci.edu/indiv/ehood/man2html.html">man2html</a>
-</ADDRESS>
+<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>
+<ul>
+<li><a href="#h3-tset---initialization">tset - initialization</a></li>
+<li><a href="#h3-reset---reinitialization">reset - reinitialization</a></li>
+</ul>
+</li>
+<li><a href="#h2-OPTIONS">OPTIONS</a></li>
+<li><a href="#h2-SETTING-THE-ENVIRONMENT">SETTING THE ENVIRONMENT</a></li>
+<li><a href="#h2-TERMINAL-TYPE-MAPPING">TERMINAL TYPE MAPPING</a></li>
+<li><a href="#h2-HISTORY">HISTORY</a></li>
+<li><a href="#h2-COMPATIBILITY">COMPATIBILITY</a></li>
+<li><a href="#h2-ENVIRONMENT">ENVIRONMENT</a></li>
+<li><a href="#h2-FILES">FILES</a></li>
+<li><a href="#h2-SEE-ALSO">SEE ALSO</a></li>
+</ul>
+</div>
</BODY>
</HTML>
diff --git a/doc/html/man/user_caps.5.html b/doc/html/man/user_caps.5.html
new file mode 100644
index 000000000000..3c3a90243221
--- /dev/null
+++ b/doc/html/man/user_caps.5.html
@@ -0,0 +1,400 @@
+<!--
+ ****************************************************************************
+ * Copyright (c) 2017-2019,2020 Free Software Foundation, Inc. *
+ * *
+ * Permission is hereby granted, free of charge, to any person obtaining a *
+ * copy of this software and associated documentation files (the *
+ * "Software"), to deal in the Software without restriction, including *
+ * without limitation the rights to use, copy, modify, merge, publish, *
+ * distribute, distribute with modifications, sublicense, and/or sell *
+ * copies of the Software, and to permit persons to whom the Software is *
+ * furnished to do so, subject to the following conditions: *
+ * *
+ * The above copyright notice and this permission notice shall be included *
+ * in all copies or substantial portions of the Software. *
+ * *
+ * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS *
+ * OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF *
+ * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. *
+ * IN NO EVENT SHALL THE ABOVE COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, *
+ * DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR *
+ * OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR *
+ * THE USE OR OTHER DEALINGS IN THE SOFTWARE. *
+ * *
+ * Except as contained in this notice, the name(s) of the above copyright *
+ * holders shall not be used in advertising or otherwise to promote the *
+ * sale, use or other dealings in this Software without prior written *
+ * authorization. *
+ ****************************************************************************
+ * @Id: user_caps.5,v 1.11 2020/01/19 02:01:39 tom Exp @
+-->
+<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN">
+<HTML>
+<HEAD>
+<meta http-equiv="Content-Type" content="text/html; charset=us-ascii">
+<meta name="generator" content="Manpage converted by man2html - see https://invisible-island.net/scripts/readme.html#others_scripts">
+<TITLE>user_caps 5</TITLE>
+<link rel="author" href="mailto:bug-ncurses@gnu.org">
+<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
+</HEAD>
+<BODY>
+<H1 class="no-header">user_caps 5</H1>
+<PRE>
+<STRONG><A HREF="user_caps.5.html">user_caps(5)</A></STRONG> File Formats Manual <STRONG><A HREF="user_caps.5.html">user_caps(5)</A></STRONG>
+
+
+
+
+</PRE><H2><a name="h2-NAME">NAME</a></H2><PRE>
+ user_caps - user-defined terminfo capabilities
+
+
+</PRE><H2><a name="h2-SYNOPSIS">SYNOPSIS</a></H2><PRE>
+ <STRONG>tic</STRONG> <STRONG>-x,</STRONG> <STRONG>infocmp</STRONG> <STRONG>-x</STRONG>
+
+
+</PRE><H2><a name="h2-DESCRIPTION">DESCRIPTION</a></H2><PRE>
+
+</PRE><H3><a name="h3-Background">Background</a></H3><PRE>
+ Before ncurses 5.0, terminfo databases used a <EM>fixed</EM> <EM>repertoire</EM> of ter-
+ minal capabilities designed for the SVr2 terminal database in 1984, and
+ extended in stages through SVr4 (1989), and standardized in the Single
+ Unix Specification beginning in 1995.
+
+ Most of the <EM>extensions</EM> in this fixed repertoire were additions to the
+ tables of boolean, numeric and string capabilities. Rather than change
+ the meaning of an existing capability, a new name was added. The ter-
+ minfo database uses a binary format; binary compatibility was ensured
+ by using a header which gave the number of items in the tables for each
+ type of capability. The standardization was incomplete:
+
+ <STRONG>o</STRONG> The <EM>binary</EM> <EM>format</EM> itself is not described in the X/Open Curses doc-
+ umentation. Only the <EM>source</EM> <EM>format</EM> is described.
+
+ Library developers rely upon the SVr4 documentation, and reverse-
+ engineering the compiled terminfo files to match the binary format.
+
+ <STRONG>o</STRONG> Lacking a standard for the binary format, most implementations copy
+ the SVr2 binary format, which uses 16-bit signed integers, and is
+ limited to 4096-byte entries.
+
+ The format cannot represent very large numeric capabilities, nor
+ can it represent large numbers of special keyboard definitions.
+
+ <STRONG>o</STRONG> The tables of capability names differ between implementations.
+
+ Although they <EM>may</EM> provide all of the standard capability names, the
+ position in the tables differs because some features were added as
+ needed, while others were added (out of order) to comply with
+ X/Open Curses.
+
+ While ncurses' repertoire of predefined capabilities is closest to
+ Solaris, Solaris's terminfo database has a few differences from the
+ list published by X/Open Curses. For example, ncurses can be con-
+ figured with tables which match the terminal databases for AIX, HP-
+ UX or OSF/1, rather than the default Solaris-like configuration.
+
+ <STRONG>o</STRONG> In SVr4 curses and ncurses, the terminal database is defined at
+ compile-time using a text file which lists the different terminal
+ capabilities.
+
+ In principle, the text-file can be extended, but doing this
+ requires recompiling and reinstalling the library. The text-file
+ used in ncurses for terminal capabilities includes details for var-
+ ious systems past the documented X/Open Curses features. For exam-
+ ple, ncurses supports these capabilities in each configuration:
+
+ memory_lock
+ (meml) lock memory above cursor
+
+ memory_unlock
+ (memu) unlock memory
+
+ box_chars_1
+ (box1) box characters primary set
+
+ The memory lock/unlock capabilities were included because they were
+ used in the X11R6 terminal description for <STRONG>xterm</STRONG>. The <EM>box1</EM> capa-
+ bility is used in tic to help with terminal descriptions written
+ for AIX.
+
+ During the 1990s, some users were reluctant to use terminfo in spite of
+ its performance advantages over termcap:
+
+ <STRONG>o</STRONG> The fixed repertoire prevented users from adding features for unan-
+ ticipated terminal improvements (or required them to reuse existing
+ capabilities as a workaround).
+
+ <STRONG>o</STRONG> The limitation to 16-bit signed integers was also mentioned.
+ Because termcap stores everything as a string, it could represent
+ larger numbers.
+
+ Although termcap's extensibility was rarely used (it was never the
+ <EM>speaker</EM> who had actually used the feature), the criticism had a point.
+ ncurses 5.0 provided a way to detect nonstandard capabilities, deter-
+ mine their type and optionally store and retrieve them in a way which
+ did not interfere with other applications. These are referred to as
+ <EM>user-defined</EM> <EM>capabilities</EM> because no modifications to the toolset's
+ predefined capability names are needed.
+
+ The ncurses utilities <STRONG>tic</STRONG> and <STRONG>infocmp</STRONG> have a command-line option "-x"
+ to control whether the nonstandard capabilities are stored or
+ retrieved. A library function <STRONG>use_extended_names</STRONG> is provided for the
+ same purpose.
+
+ When compiling a terminal database, if "-x" is set, <STRONG>tic</STRONG> will store a
+ user-defined capability if the capability name is not one of the prede-
+ fined names.
+
+ Because ncurses provides a termcap library interface, these user-
+ defined capabilities may be visible to termcap applications:
+
+ <STRONG>o</STRONG> The termcap interface (like all implementations of termcap)
+ requires that the capability names are 2-characters.
+
+ When the capability is simple enough for use in a termcap applica-
+ tion, it is provided as a 2-character name.
+
+ <STRONG>o</STRONG> There are other user-defined capabilities which refer to features
+ not usable in termcap, e.g., parameterized strings that use more
+ than two parameters or use more than the trivial expression support
+ provided by termcap. For these, the terminfo database should have
+ only capability names with 3 or more characters.
+
+ <STRONG>o</STRONG> Some terminals can send distinct strings for special keys (cursor-,
+ keypad- or function-keys) depending on modifier keys (shift, con-
+ trol, etc.). While terminfo and termcap have a set of 60 prede-
+ fined function-key names, to which a series of keys can be
+ assigned, that is insufficient for more than a dozen keys multi-
+ plied by more than a couple of modifier combinations. The ncurses
+ database uses a convention based on <STRONG>xterm</STRONG> to provide extended spe-
+ cial-key names.
+
+ Fitting that into termcap's limitation of 2-character names would
+ be pointless. These extended keys are available only with ter-
+ minfo.
+
+
+</PRE><H3><a name="h3-Recognized-capabilities">Recognized capabilities</a></H3><PRE>
+ The ncurses library uses the user-definable capabilities. While the
+ terminfo database may have other extensions, ncurses makes explicit
+ checks for these:
+
+ AX <EM>boolean</EM>, asserts that the terminal interprets SGR 39 and SGR 49
+ by resetting the foreground and background color, respectively,
+ to the default.
+
+ This is a feature recognized by the <STRONG>screen</STRONG> program as well.
+
+ E3 <EM>string</EM>, tells how to clear the terminal's scrollback buffer.
+ When present, the <STRONG><A HREF="clear.1.html">clear(1)</A></STRONG> program sends this before clearing the
+ terminal.
+
+ The command "<STRONG>tput</STRONG> <STRONG>clear</STRONG>" does the same thing.
+
+ RGB
+ <EM>boolean</EM>, <EM>number</EM> <STRONG>or</STRONG> <EM>string</EM>, to assert that the <STRONG>set_a_foreground</STRONG>
+ and <STRONG>set_a_background</STRONG> capabilities correspond to <EM>direct</EM> <EM>colors</EM>,
+ using an RGB (red/green/blue) convention. This capability allows
+ the <STRONG>color_content</STRONG> function to return appropriate values without
+ requiring the application to initialize colors using <STRONG>init_color</STRONG>.
+
+ The capability type determines the values which ncurses sees:
+
+ <EM>boolean</EM>
+ implies that the number of bits for red, green and blue are
+ the same. Using the maximum number of colors, ncurses adds
+ two, divides that sum by three, and assigns the result to red,
+ green and blue in that order.
+
+ If the number of bits needed for the number of colors is not a
+ multiple of three, the blue (and green) components lose in
+ comparison to red.
+
+ <EM>number</EM>
+ tells ncurses what result to add to red, green and blue. If
+ ncurses runs out of bits, blue (and green) lose just as in the
+ <EM>boolean</EM> case.
+
+ <EM>string</EM>
+ explicitly list the number of bits used for red, green and
+ blue components as a slash-separated list of decimal integers.
+
+ Because there are several RGB encodings in use, applications
+ which make assumptions about the number of bits per color are
+ unlikely to work reliably. As a trivial case, for example, one
+ could define <STRONG>RGB#1</STRONG> to represent the standard eight ANSI colors,
+ i.e., one bit per color.
+
+ U8 <EM>number</EM>, asserts that ncurses must use Unicode values for line-
+ drawing characters, and that it should ignore the alternate char-
+ acter set capabilities when the locale uses UTF-8 encoding. For
+ more information, see the discussion of <STRONG>NCURSES_NO_UTF8_ACS</STRONG> in
+ <STRONG><A HREF="ncurses.3x.html">ncurses(3x)</A></STRONG>.
+
+ Set this capability to a nonzero value to enable it.
+
+ XM <EM>string</EM>, override ncurses's built-in string which enables/disables
+ <STRONG>xterm</STRONG> mouse mode.
+
+ ncurses sends a character sequence to the terminal to initialize
+ mouse mode, and when the user clicks the mouse buttons or (in
+ certain modes) moves the mouse, handles the characters sent back
+ by the terminal to tell it what was done with the mouse.
+
+ The mouse protocol is enabled when the <EM>mask</EM> passed in the <STRONG>mouse-</STRONG>
+ <STRONG>mask</STRONG> function is nonzero. By default, ncurses handles the
+ responses for the X11 xterm mouse protocol. It also knows about
+ the <EM>SGR</EM> <EM>1006</EM> xterm mouse protocol, but must to be told to look
+ for this specifically. It will not be able to guess which mode
+ is used, because the responses are enough alike that only confu-
+ sion would result.
+
+ The <STRONG>XM</STRONG> capability has a single parameter. If nonzero, the mouse
+ protocol should be enabled. If zero, the mouse protocol should
+ be disabled. ncurses inspects this capability if it is present,
+ to see whether the 1006 protocol is used. If so, it expects the
+ responses to use the <EM>SGR</EM> <EM>1006</EM> xterm mouse protocol.
+
+ The xterm mouse protocol is used by other terminal emulators.
+ The terminal database uses building-blocks for the various xterm
+ mouse protocols which can be used in customized terminal descrip-
+ tions.
+
+ The terminal database building blocks for this mouse feature also
+ have an experimental capability <EM>xm</EM>. The "xm" capability
+ describes the mouse response. Currently there is no interpreter
+ which would use this information to make the mouse support com-
+ pletely data-driven.
+
+ <EM>xm</EM> shows the format of the mouse responses. In this experimental
+ capability, the parameters are
+
+ <EM>p1</EM> y-ordinate
+
+ <EM>p2</EM> x-ordinate
+
+ <EM>p3</EM> button
+
+ <EM>p4</EM> state, e.g., pressed or released
+
+ <EM>p5</EM> y-ordinate starting region
+
+ <EM>p6</EM> x-ordinate starting region
+
+ <EM>p7</EM> y-ordinate ending region
+
+ <EM>p8</EM> x-ordinate ending region
+
+ Here are examples from the terminal database for the most com-
+ monly used xterm mouse protocols:
+
+ xterm+x11mouse|X11 xterm mouse protocol,
+ kmous=\E[M, XM=\E[?1000%?%p1%{1}%=%th%el%;,
+ xm=\E[M
+ %?%p4%t%p3%e%{3}%;%' '%+%c
+ %p2%'!'%+%c
+ %p1%'!'%+%c,
+
+ xterm+sm+1006|xterm SGR-mouse,
+ kmous=\E[&lt;, XM=\E[?1006;1000%?%p1%{1}%=%th%el%;,
+ xm=\E[&lt;%i%p3%d;
+ %p1%d;
+ %p2%d;
+ %?%p4%tM%em%;,
+
+
+</PRE><H3><a name="h3-Extended-key-definitions">Extended key-definitions</a></H3><PRE>
+ Several terminals provide the ability to send distinct strings for com-
+ binations of modified special keys. There is no standard for what
+ those keys can send.
+
+ Since 1999, <STRONG>xterm</STRONG> has supported <EM>shift</EM>, <EM>control</EM>, <EM>alt</EM>, and <EM>meta</EM> modifiers
+ which produce distinct special-key strings. In a terminal description,
+ ncurses has no special knowledge of the modifiers used. Applications
+ can use the <EM>naming</EM> <EM>convention</EM> established for <STRONG>xterm</STRONG> to find these spe-
+ cial keys in the terminal description.
+
+ Starting with the curses convention that <EM>key</EM> <EM>names</EM> begin with "k" and
+ that shifted special keys are an uppercase name, ncurses' terminal
+ database defines these names to which a suffix is added:
+
+ <EM>Name</EM> <EM>Description</EM>
+ ---------------------------------------------------------------
+ kDC special form of kdch1 (delete character)
+ kDN special form of kcud1 (cursor down)
+ kEND special form of kend (End)
+ kHOM special form of khome (Home)
+ kLFT special form of kcub1 (cursor-left or cursor-back)
+ kNXT special form of knext (Next, or Page-Down)
+ kPRV special form of kprev (Prev, or Page-Up)
+ kRIT special form of kcuf1 (cursor-right, or cursor-forward)
+ kUP special form of kcuu1 (cursor-up)
+
+ These are the suffixes used to denote the modifiers:
+
+ <EM>Value</EM> <EM>Description</EM>
+ ----------------------------------
+ 2 Shift
+ 3 Alt
+ 4 Shift + Alt
+ 5 Control
+ 6 Shift + Control
+ 7 Alt + Control
+ 8 Shift + Alt + Control
+ 9 Meta
+ 10 Meta + Shift
+ 11 Meta + Alt
+ 12 Meta + Alt + Shift
+ 13 Meta + Ctrl
+ 14 Meta + Ctrl + Shift
+ 15 Meta + Ctrl + Alt
+ 16 Meta + Ctrl + Alt + Shift
+
+ None of these are predefined; terminal descriptions can refer to <EM>names</EM>
+ which ncurses will allocate at runtime to <EM>key-codes</EM>. To use these keys
+ in an ncurses program, an application could do this:
+
+ <STRONG>o</STRONG> using a list of extended key <EM>names</EM>, ask <STRONG><A HREF="curs_terminfo.3x.html">tigetstr(3x)</A></STRONG> for their val-
+ ues, and
+
+ <STRONG>o</STRONG> given the list of values, ask <STRONG><A HREF="key_defined.3x.html">key_defined(3x)</A></STRONG> for the <EM>key-code</EM>
+ which would be returned for those keys by <STRONG><A HREF="curs_getch.3x.html">wgetch(3x)</A></STRONG>.
+
+
+</PRE><H2><a name="h2-PORTABILITY">PORTABILITY</a></H2><PRE>
+ The "-x" extension feature of <STRONG>tic</STRONG> and <STRONG>infocmp</STRONG> has been adopted in Net-
+ BSD curses. That implementation stores user-defined capabilities, but
+ makes no use of these capabilities itself.
+
+
+</PRE><H2><a name="h2-SEE-ALSO">SEE ALSO</a></H2><PRE>
+ <STRONG><A HREF="tic.1m.html">tic(1m)</A></STRONG>, <STRONG><A HREF="infocmp.1m.html">infocmp(1m)</A></STRONG>.
+
+
+</PRE><H2><a name="h2-AUTHORS">AUTHORS</a></H2><PRE>
+ Thomas E. Dickey
+ beginning with ncurses 5.0 (1999)
+
+
+
+ <STRONG><A HREF="user_caps.5.html">user_caps(5)</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>
+<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>
+</ul>
+</li>
+<li><a href="#h2-PORTABILITY">PORTABILITY</a></li>
+<li><a href="#h2-SEE-ALSO">SEE ALSO</a></li>
+<li><a href="#h2-AUTHORS">AUTHORS</a></li>
+</ul>
+</div>
+</BODY>
+</HTML>
diff --git a/doc/html/man/wresize.3x.html b/doc/html/man/wresize.3x.html
index 7bdf75f91ccb..ffd941f09386 100644
--- a/doc/html/man/wresize.3x.html
+++ b/doc/html/man/wresize.3x.html
@@ -1,7 +1,6 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN">
<!--
****************************************************************************
- * Copyright (c) 1998-2006,2010 Free Software Foundation, Inc. *
+ * Copyright (c) 1998-2015,2018 Free Software Foundation, Inc. *
* *
* Permission is hereby granted, free of charge, to any person obtaining a *
* copy of this software and associated documentation files (the *
@@ -28,81 +27,86 @@
* authorization. *
****************************************************************************
* Author: Thomas E. Dickey 1996
- * @Id: wresize.3x,v 1.13 2010/12/04 18:40:45 tom Exp @
+ * @Id: wresize.3x,v 1.15 2018/07/28 21:34:06 tom Exp @
-->
+<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN">
<HTML>
<HEAD>
+<meta http-equiv="Content-Type" content="text/html; charset=us-ascii">
+<meta name="generator" content="Manpage converted by man2html - see https://invisible-island.net/scripts/readme.html#others_scripts">
<TITLE>wresize 3x</TITLE>
-<link rev=made href="mailto:bug-ncurses@gnu.org">
+<link rel="author" href="mailto:bug-ncurses@gnu.org">
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
</HEAD>
<BODY>
-<H1>wresize 3x</H1>
-<HR>
+<H1 class="no-header">wresize 3x</H1>
<PRE>
-<!-- Manpage converted by man2html 3.0.1 -->
-<STRONG><A HREF="wresize.3x.html">wresize(3x)</A></STRONG> <STRONG><A HREF="wresize.3x.html">wresize(3x)</A></STRONG>
+<STRONG><A HREF="wresize.3x.html">wresize(3x)</A></STRONG> <STRONG><A HREF="wresize.3x.html">wresize(3x)</A></STRONG>
-</PRE>
-<H2>NAME</H2><PRE>
+</PRE><H2><a name="h2-NAME">NAME</a></H2><PRE>
<STRONG>wresize</STRONG> - resize a curses window
-</PRE>
-<H2>SYNOPSIS</H2><PRE>
+</PRE><H2><a name="h2-SYNOPSIS">SYNOPSIS</a></H2><PRE>
<STRONG>#include</STRONG> <STRONG>&lt;curses.h&gt;</STRONG>
<STRONG>int</STRONG> <STRONG>wresize(WINDOW</STRONG> <STRONG>*win,</STRONG> <STRONG>int</STRONG> <STRONG>lines,</STRONG> <STRONG>int</STRONG> <STRONG>columns);</STRONG>
-</PRE>
-<H2>DESCRIPTION</H2><PRE>
- This is an extension to the curses library. It reallo-
- cates storage for an <STRONG>ncurses</STRONG> window to adjust its dimen-
- sions to the specified values. If either dimension is
- larger than the current values, the window's data is
- filled with blanks that have the current background rendi-
- tion (as set by <STRONG>wbkgdset</STRONG>) merged into them.
+</PRE><H2><a name="h2-DESCRIPTION">DESCRIPTION</a></H2><PRE>
+ This is an extension to the curses library. It reallocates storage for
+ an <STRONG>ncurses</STRONG> window to adjust its dimensions to the specified values. If
+ either dimension is larger than the current values, the window's data
+ is filled with blanks that have the current background rendition (as
+ set by <STRONG>wbkgdset</STRONG>) merged into them.
-</PRE>
-<H2>RETURN VALUE</H2><PRE>
- The function returns the integer <STRONG>ERR</STRONG> upon failure and <STRONG>OK</STRONG>
- on success. It will fail if either of the dimensions less
- than or equal to zero, or if an error occurs while
- (re)allocating memory for the window.
+</PRE><H2><a name="h2-RETURN-VALUE">RETURN VALUE</a></H2><PRE>
+ The function returns the integer <STRONG>ERR</STRONG> upon failure and <STRONG>OK</STRONG> on success.
+ It will fail if either of the dimensions less than or equal to zero, or
+ if an error occurs while (re)allocating memory for the window.
-</PRE>
-<H2>NOTES</H2><PRE>
- The only restriction placed on the dimensions is that they
- be greater than zero. The dimensions are not compared to
- <STRONG>curses</STRONG> screen dimensions to simplify the logic of
- <STRONG>resizeterm</STRONG>. The caller must ensure that the window's
- dimensions fit within the actual screen dimensions.
+</PRE><H2><a name="h2-NOTES">NOTES</a></H2><PRE>
+ The only restriction placed on the dimensions is that they be greater
+ than zero. The dimensions are not compared to <STRONG>curses</STRONG> screen dimensions
+ to simplify the logic of <STRONG>resizeterm</STRONG>. The caller must ensure that the
+ window's dimensions fit within the actual screen dimensions.
-</PRE>
-<H2>SEE ALSO</H2><PRE>
+</PRE><H2><a name="h2-PORTABILITY">PORTABILITY</a></H2><PRE>
+ It is not possible to resize windows with SVr4 curses.
+
+ This extension of ncurses was introduced in mid-1995. It was adopted
+ in NetBSD curses (2001) and PDCurses (2003).
+
+
+</PRE><H2><a name="h2-SEE-ALSO">SEE ALSO</a></H2><PRE>
<STRONG><A HREF="resizeterm.3x.html">resizeterm(3x)</A></STRONG>.
-</PRE>
-<H2>AUTHOR</H2><PRE>
- Thomas Dickey (from an equivalent function written in 1988
- for BSD curses).
+</PRE><H2><a name="h2-AUTHOR">AUTHOR</a></H2><PRE>
+ Thomas Dickey (from an equivalent function written in 1988 for BSD
+ curses).
- <STRONG><A HREF="wresize.3x.html">wresize(3x)</A></STRONG>
+ <STRONG><A HREF="wresize.3x.html">wresize(3x)</A></STRONG>
</PRE>
-<HR>
-<ADDRESS>
-Man(1) output converted with
-<a href="http://www.oac.uci.edu/indiv/ehood/man2html.html">man2html</a>
-</ADDRESS>
+<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>
+<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-SEE-ALSO">SEE ALSO</a></li>
+<li><a href="#h2-AUTHOR">AUTHOR</a></li>
+</ul>
+</div>
</BODY>
</HTML>