diff options
Diffstat (limited to 'doc/html/man')
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 => Lines / 2, Column => (Columns - 12) / 2); + Add (Str => "Hello World!"); + + while not done loop + + c := Get_Keystroke (Standard_Window); + case c is + when Character'Pos ('q') => done := True; + when others => 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 <esr@snark.thyrsus.com> and Thomas E. Dickey <dickey@invisible-island.net> - <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&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> /dev/null + exit + + In 1989, when Keith Bostic revised the BSD <STRONG>tput</STRONG> command to make it sim- + ilar to the AT&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><curses.h></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 > greater-than-or-equal-to - WACS_HLINE 0x2500 - horizontal line - WACS_LANTERN 0x2603 # lantern symbol - WACS_LARROW 0x2190 < arrow pointing left - WACS_LEQUAL 0x2264 < 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 > 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 > > greater-than-or-equal-to + WACS_HLINE 0x2500 - q horizontal line + WACS_LANTERN 0x2603 # i lantern symbol + WACS_LARROW 0x2190 < , arrow pointing left + WACS_LEQUAL 0x2264 < 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 > + 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&T 4410 + terminal in the early 1980s. There is no accessible documentation + depicting the lantern symbol on the AT&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><curses.h></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><curses.h></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 > greater-than-or-equal-to - ACS_HLINE - horizontal line - ACS_LANTERN # lantern symbol - ACS_LARROW < arrow pointing left - ACS_LEQUAL < 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 > 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 > > greater-than-or-equal-to + ACS_HLINE - q horizontal line + ACS_LANTERN # i lantern symbol + ACS_LARROW < , arrow pointing left + ACS_LEQUAL < y less-than-or-equal-to + ACS_LLCORNER + m lower left-hand corner + ACS_LRCORNER + j lower right-hand corner + ACS_LTEE + t left tee + ACS_NEQUAL ! | not-equal + ACS_PI * { greek pi + ACS_PLMINUS # g plus/minus + ACS_PLUS + n plus + ACS_RARROW > + arrow pointing right + ACS_RTEE + u right tee + ACS_S1 - o scan line 1 + ACS_S3 - p scan line 3 + ACS_S7 - r scan line 7 + ACS_S9 _ s scan line 9 + ACS_STERLING f } pound-sterling symbol + ACS_TTEE + w top tee + ACS_UARROW ^ - arrow pointing up + ACS_ULCORNER + l upper left-hand corner + ACS_URCORNER + k upper right-hand corner + ACS_VLINE | x vertical line + + +</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&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><curses.h></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><curses.h></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><curses.h></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><curses.h></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><curses.h></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><curses.h></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&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><curses.h></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><curses.h></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><curses.h></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><curses.h></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><curses.h></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><curses.h></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><curses.h></STRONG> +</PRE><H2><a name="h2-SYNOPSIS">SYNOPSIS</a></H2><PRE> + <STRONG>#include</STRONG> <STRONG><curses.h></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><curses.h></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><curses.h></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><curses.h></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><curses.h></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><curses.h></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><curses.h></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><curses.h></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><curses.h></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><curses.h></STRONG> automatically includes the - header file <STRONG><stdio.h></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><curses.h></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><curses.h></STRONG> automatically includes the header file + <STRONG><stdio.h></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><curses.h></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><wchar.h></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><wchar.h></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><curses.h></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><curses.h></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><curses.h></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><curses.h></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 <= <EM>n</EM> <= 63 + KEY_DL Delete line + KEY_IL Insert line + KEY_DC Delete character + KEY_IC Insert char or enter insert mode + KEY_EIC Exit insert char mode + KEY_CLEAR Clear screen + KEY_EOS Clear to end of screen + KEY_EOL Clear to end of line + KEY_SF Scroll 1 line forward + KEY_SR Scroll 1 line backward (reverse) + KEY_NPAGE Next page + KEY_PPAGE Previous page + KEY_STAB Set tab + KEY_CTAB Clear tab + KEY_CATAB Clear all tabs + KEY_ENTER Enter or send + KEY_SRESET Soft (partial) reset + KEY_RESET Reset or hard reset + KEY_PRINT Print or copy + KEY_LL Home down or bottom (lower left) + KEY_A1 Upper left of keypad + KEY_A3 Upper right of keypad + + KEY_B2 Center of keypad + KEY_C1 Lower left of keypad + KEY_C3 Lower right of keypad + KEY_BTAB Back tab key + KEY_BEG Beg(inning) key + KEY_CANCEL Cancel key + KEY_CLOSE Close key + KEY_COMMAND Cmd (command) key + KEY_COPY Copy key + KEY_CREATE Create key + KEY_END End key + KEY_EXIT Exit key + KEY_FIND Find key + KEY_HELP Help key + KEY_MARK Mark key + KEY_MESSAGE Message key + KEY_MOUSE Mouse event 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><curs-</STRONG> - <STRONG>es.h></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><curses.h></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 <= <EM>n</EM> <= 63 - KEY_DL Delete line - KEY_IL Insert line - KEY_DC Delete character - KEY_IC Insert char or enter insert mode - KEY_EIC Exit insert char mode - KEY_CLEAR Clear screen - KEY_EOS Clear to end of screen - KEY_EOL Clear to end of line - KEY_SF Scroll 1 line forward - KEY_SR Scroll 1 line backward (reverse) - KEY_NPAGE Next page - KEY_PPAGE Previous page - KEY_STAB Set tab - KEY_CTAB Clear tab - KEY_CATAB Clear all tabs - KEY_ENTER Enter or send - KEY_SRESET Soft (partial) reset - KEY_RESET Reset or hard reset - KEY_PRINT Print or copy - KEY_LL Home down or bottom (lower left) - KEY_A1 Upper left of keypad - KEY_A3 Upper right of keypad - KEY_B2 Center of keypad - KEY_C1 Lower left of keypad - KEY_C3 Lower right of keypad - KEY_BTAB Back tab key - KEY_BEG Beg(inning) key - KEY_CANCEL Cancel key - KEY_CLOSE Close key - KEY_COMMAND Cmd (command) key - KEY_COPY Copy key - KEY_CREATE Create key - KEY_END End key - KEY_EXIT Exit key - KEY_FIND Find key - KEY_HELP Help key - KEY_MARK Mark key - KEY_MESSAGE Message key - KEY_MOUSE Mouse event 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&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&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<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><curses.h></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><curses.h></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>&</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>&</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><curses.h></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><curses.h></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><curses.h></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><curses.h></STRONG> can be used with the <STRONG>&</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><curses.h></STRONG> can be used with the <STRONG>&</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><curses.h></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><curses.h></STRONG> - can be used with the <STRONG>&</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><curses.h></STRONG> + can be used with the <STRONG>&</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><curses.h></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><curses.h></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&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&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 <curses.h> <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><curses.h></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><curses.h></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><curses.h></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><=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><=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><curses.h></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><curses.h></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><curses.h></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><curses.h></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><curses.h></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>&</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>&</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><curses.h></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><curses.h></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><curses.h></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><curses.h></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><curses.h></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><curses.h></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&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&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><curses.h></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><curses.h></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><curses.h></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><curses.h></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><stdarg.h></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><stdarg.h></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><stdarg.h></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><varargs.h></STRONG>, which - cannot be used in the same file as <STRONG><stdarg.h></STRONG>. This im- - plementation uses <STRONG><stdarg.h></STRONG> for both, because that header - is included in <STRONG><curses.h</STRONG>>. +</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><stdarg.h></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><varargs.h></STRONG>, which cannot be used in the same file as <STRONG><stdarg.h></STRONG>. + This implementation uses <STRONG><stdarg.h></STRONG> for both, because that header + is included in <STRONG><curses.h</STRONG>>. + + <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><curses.h></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><curses.h></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><stdarg.h></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><stdarg.h></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><stdarg.h></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><varargs.h></STRONG>, which cannot be - used in the same file as <STRONG><stdarg.h></STRONG>. This implementation - uses <STRONG><stdarg.h></STRONG> for both, because that header is included - in <STRONG><curses.h</STRONG>>. - - 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><stdarg.h></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><varargs.h></STRONG>, which cannot be used in the same file as <STRONG><stdarg.h></STRONG>. + This implementation uses <STRONG><stdarg.h></STRONG> for both, because that header + is included in <STRONG><curses.h</STRONG>>. + + <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><curses.h></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><curses.h></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><curses.h></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><curses.h></STRONG> +</PRE><H2><a name="h2-SYNOPSIS">SYNOPSIS</a></H2><PRE> + <STRONG>#include</STRONG> <STRONG><curses.h></STRONG> <STRONG>#include</STRONG> <STRONG><term.h></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><form.h></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><menu.h></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><panel.h></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><term.h></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><curses.h></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><curses.h></STRONG> <STRONG>#include</STRONG> <STRONG><term.h></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 - "$<..>" 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 "$<..>" 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><curses.h></STRONG> <STRONG>#include</STRONG> <STRONG><term.h></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><stdarg.h></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><stdarg.h></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><curses.h></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><curses.h></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><curses.h></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><curses.h></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><curses.h></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 & 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><curses.h></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><unctrl.h></STRONG>, which <STRONG>ncurses</STRONG> + does. However, <STRONG>ncurses</STRONG>' <STRONG><curses.h></STRONG> includes <STRONG><unctrl.h></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><curses.h></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><curses.h></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><curses.h></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><curses.h></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><form.h></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><form.h></STRONG> automatically includes the header files + <STRONG><curses.h></STRONG> and <STRONG><eti.h></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><form.h></STRONG> automatically includes the header - files <STRONG><curses.h></STRONG> and <STRONG><eti.h></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><form.h></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><form.h></STRONG> automatically includes the header - file <STRONG><curses.h></STRONG>. +</PRE><H2><a name="h2-NOTES">NOTES</a></H2><PRE> + The header file <STRONG><form.h></STRONG> automatically includes the header file + <STRONG><curses.h></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><form.h></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><form.h></STRONG> automatically includes the header - file <STRONG><curses.h></STRONG>. +</PRE><H2><a name="h2-NOTES">NOTES</a></H2><PRE> + The header file <STRONG><form.h></STRONG> automatically includes the header file + <STRONG><curses.h></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><form.h></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><form.h></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><form.h></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><form.h></STRONG> automatically includes the header - files <STRONG><curses.h></STRONG>. +</PRE><H2><a name="h2-NOTES">NOTES</a></H2><PRE> + The header file <STRONG><form.h></STRONG> automatically includes the header files + <STRONG><curses.h></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><form.h></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><form.h></STRONG> automatically includes the header - file <STRONG><curses.h></STRONG>. +</PRE><H2><a name="h2-NOTES">NOTES</a></H2><PRE> + The header file <STRONG><form.h></STRONG> automatically includes the header file + <STRONG><curses.h></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><form.h></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><form.h></STRONG> automatically includes the header - file <STRONG><curses.h></STRONG>. +</PRE><H2><a name="h2-NOTES">NOTES</a></H2><PRE> + The header file <STRONG><form.h></STRONG> automatically includes the header file + <STRONG><curses.h></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><form.h></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><form.h></STRONG> automatically includes the header - file +</PRE><H2><a name="h2-NOTES">NOTES</a></H2><PRE> + The header file <STRONG><form.h></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><curses.h></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><curses.h></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><form.h></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><form.h></STRONG> automatically includes the header - file <STRONG><curses.h></STRONG>. +</PRE><H2><a name="h2-NOTES">NOTES</a></H2><PRE> + The header file <STRONG><form.h></STRONG> automatically includes the header file + <STRONG><curses.h></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><form.h></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><form.h></STRONG> automatically includes the header - file <STRONG><curses.h></STRONG>. +</PRE><H2><a name="h2-NOTES">NOTES</a></H2><PRE> + The header file <STRONG><form.h></STRONG> automatically includes the header file + <STRONG><curses.h></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><form.h></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><form.h></STRONG> automatically includes the header - file <STRONG><curses.h></STRONG>. +</PRE><H2><a name="h2-NOTES">NOTES</a></H2><PRE> + The header file <STRONG><form.h></STRONG> automatically includes the header file + <STRONG><curses.h></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><form.h></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><form.h></STRONG> automatically includes the header - file <STRONG><curses.h></STRONG>. +</PRE><H2><a name="h2-NOTES">NOTES</a></H2><PRE> + The header file <STRONG><form.h></STRONG> automatically includes the header file + <STRONG><curses.h></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><form.h></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><form.h></STRONG> automatically includes the header - file <STRONG><curses.h></STRONG>. +</PRE><H2><a name="h2-NOTES">NOTES</a></H2><PRE> + The header file <STRONG><form.h></STRONG> automatically includes the header file + <STRONG><curses.h></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><form.h></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><form.h></STRONG> automatically includes the header - file <STRONG><curses.h></STRONG>. +</PRE><H2><a name="h2-NOTES">NOTES</a></H2><PRE> + The header file <STRONG><form.h></STRONG> automatically includes the header file + <STRONG><curses.h></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><form.h></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><form.h></STRONG> automatically includes the header - file <STRONG><curses.h></STRONG>. +</PRE><H2><a name="h2-NOTES">NOTES</a></H2><PRE> + The header file <STRONG><form.h></STRONG> automatically includes the header file + <STRONG><curses.h></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><form.h></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><form.h></STRONG> automatically includes the header - file <STRONG><curses.h></STRONG>. +</PRE><H2><a name="h2-NOTES">NOTES</a></H2><PRE> + The header file <STRONG><form.h></STRONG> automatically includes the header file + <STRONG><curses.h></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><form.h></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><form.h></STRONG> automatically includes the header - file <STRONG><curses.h></STRONG>. +</PRE><H2><a name="h2-NOTES">NOTES</a></H2><PRE> + The header file <STRONG><form.h></STRONG> automatically includes the header file + <STRONG><curses.h></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><form.h></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><form.h></STRONG> automatically includes the header - file <STRONG><curses.h></STRONG>. +</PRE><H2><a name="h2-NOTES">NOTES</a></H2><PRE> + The header file <STRONG><form.h></STRONG> automatically includes the header file + <STRONG><curses.h></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><form.h></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><form.h></STRONG> automatically includes the header - file <STRONG><curses.h></STRONG>. +</PRE><H2><a name="h2-NOTES">NOTES</a></H2><PRE> + The header file <STRONG><form.h></STRONG> automatically includes the header file + <STRONG><curses.h></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><form.h></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><form.h></STRONG> automatically includes the header - file <STRONG><curses.h></STRONG>. +</PRE><H2><a name="h2-NOTES">NOTES</a></H2><PRE> + The header file <STRONG><form.h></STRONG> automatically includes the header file + <STRONG><curses.h></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><form.h></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><form.h></STRONG> automatically includes the header - file <STRONG><curses.h></STRONG>. +</PRE><H2><a name="h2-NOTES">NOTES</a></H2><PRE> + The header file <STRONG><form.h></STRONG> automatically includes the header file + <STRONG><curses.h></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><form.h></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><form.h></STRONG> automatically includes the header - file <STRONG><curses.h></STRONG>. +</PRE><H2><a name="h2-NOTES">NOTES</a></H2><PRE> + The header file <STRONG><form.h></STRONG> automatically includes the header file + <STRONG><curses.h></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><form.h></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><form.h></STRONG> automatically includes the header - file <STRONG><curses.h></STRONG>. +</PRE><H2><a name="h2-NOTES">NOTES</a></H2><PRE> + The header file <STRONG><form.h></STRONG> automatically includes the header file + <STRONG><curses.h></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><form.h></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><form.h></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><form.h></STRONG> automatically includes the header - file <STRONG><curses.h></STRONG>. +</PRE><H2><a name="h2-NOTES">NOTES</a></H2><PRE> + The header file <STRONG><form.h></STRONG> automatically includes the header file + <STRONG><curses.h></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 – 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> – + helper script for AdaCurses libraries</li> + + <li><a href="ncurses6-config.1.html">ncurses*-config</a> + – helper script for ncurses libraries</li> + </ul> + </li> + <li>Libraries: <ul> <li><a href="ncurses.3x.html">ncurses – 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 – panel stack + extension for curses</a></li> <li><a href="form.3x.html">form – curses extension for programming forms</a></li> @@ -101,6 +113,9 @@ <li><a href="term.5.html">term – format of compiled term file.</a></li> + <li><a href="scr_dump.5.html">scr_dump – format of + curses screen dumps.</a></li> + <li><a href="term.7.html">term – 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 <<STRONG>term.h</STRONG>> - <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'%>%t%p1%'y'%+%;</STRONG> <STRONG>%>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 <<STRONG>term.h</STRONG>> + <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'%>%t%p1%'y'%+%;</STRONG> <STRONG>%>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><term.h></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><term.h></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><term.h></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><term.h></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&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&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 <esr@snark.thyrsus.com> and Thomas E. Dickey <dickey@invisible-island.net> - <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 <esr@snark.thyrsus.com> and Thomas E. Dickey <dickey@invisible-island.net> - <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><curses.h></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><curses.h></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><curses.h></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><curses.h></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><menu.h></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><menu.h></STRONG> automatically includes the header files + <STRONG><curses.h></STRONG> and <STRONG><eti.h></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><menu.h></STRONG> automatically includes the header - files <STRONG><curses.h></STRONG> and <STRONG><eti.h></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><menu.h></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><menu.h></STRONG> automatically includes the header - file <STRONG><curses.h></STRONG>. +</PRE><H2><a name="h2-NOTES">NOTES</a></H2><PRE> + The header file <STRONG><menu.h></STRONG> automatically includes the header file + <STRONG><curses.h></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><menu.h></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><menu.h></STRONG> automatically includes the header - file <STRONG><curses.h></STRONG>. +</PRE><H2><a name="h2-NOTES">NOTES</a></H2><PRE> + The header file <STRONG><menu.h></STRONG> automatically includes the header file + <STRONG><curses.h></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><menu.h></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><form.h></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><form.h></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><menu.h></STRONG> automatically includes the header - files <STRONG><curses.h></STRONG>. +</PRE><H2><a name="h2-NOTES">NOTES</a></H2><PRE> + The header file <STRONG><menu.h></STRONG> automatically includes the header files + <STRONG><curses.h></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><menu.h></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><menu.h></STRONG> automatically includes the header - file <STRONG><curses.h></STRONG>. +</PRE><H2><a name="h2-NOTES">NOTES</a></H2><PRE> + The header file <STRONG><menu.h></STRONG> automatically includes the header file + <STRONG><curses.h></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><menu.h></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><menu.h></STRONG> automatically includes the header - file <STRONG><curses.h></STRONG>. +</PRE><H2><a name="h2-NOTES">NOTES</a></H2><PRE> + The header file <STRONG><menu.h></STRONG> automatically includes the header file + <STRONG><curses.h></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><menu.h></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><menu.h></STRONG> automatically includes the header - file <STRONG><curses.h></STRONG>. +</PRE><H2><a name="h2-NOTES">NOTES</a></H2><PRE> + The header file <STRONG><menu.h></STRONG> automatically includes the header file + <STRONG><curses.h></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><menu.h></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><menu.h></STRONG> automatically includes the header - file <STRONG><curses.h></STRONG>. +</PRE><H2><a name="h2-NOTES">NOTES</a></H2><PRE> + The header file <STRONG><menu.h></STRONG> automatically includes the header file + <STRONG><curses.h></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><menu.h></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><menu.h></STRONG> automatically includes the header - file <STRONG><curses.h></STRONG>. +</PRE><H2><a name="h2-NOTES">NOTES</a></H2><PRE> + The header file <STRONG><menu.h></STRONG> automatically includes the header file + <STRONG><curses.h></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><menu.h></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><menu.h></STRONG> automatically includes the header - file <STRONG><curses.h></STRONG>. +</PRE><H2><a name="h2-NOTES">NOTES</a></H2><PRE> + The header file <STRONG><menu.h></STRONG> automatically includes the header file + <STRONG><curses.h></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><menu.h></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><menu.h></STRONG> automatically includes the header - file <STRONG><curses.h></STRONG>. +</PRE><H2><a name="h2-NOTES">NOTES</a></H2><PRE> + The header file <STRONG><menu.h></STRONG> automatically includes the header file + <STRONG><curses.h></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><menu.h></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><menu.h></STRONG> automatically includes the header - file <STRONG><curses.h></STRONG>. +</PRE><H2><a name="h2-NOTES">NOTES</a></H2><PRE> + The header file <STRONG><menu.h></STRONG> automatically includes the header file + <STRONG><curses.h></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><menu.h></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><menu.h></STRONG> automatically includes the header - file <STRONG><curses.h></STRONG>. +</PRE><H2><a name="h2-NOTES">NOTES</a></H2><PRE> + The header file <STRONG><menu.h></STRONG> automatically includes the header file + <STRONG><curses.h></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><menu.h></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><menu.h></STRONG> automatically includes the header - file <STRONG><curses.h></STRONG>. +</PRE><H2><a name="h2-NOTES">NOTES</a></H2><PRE> + The header file <STRONG><menu.h></STRONG> automatically includes the header file + <STRONG><curses.h></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><menu.h></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><menu.h></STRONG> automatically includes the header - file <STRONG><curses.h></STRONG>. +</PRE><H2><a name="h2-NOTES">NOTES</a></H2><PRE> + The header file <STRONG><menu.h></STRONG> automatically includes the header file + <STRONG><curses.h></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><menu.h></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><menu.h></STRONG> automatically includes the header - file <STRONG><curses.h></STRONG>. +</PRE><H2><a name="h2-NOTES">NOTES</a></H2><PRE> + The header file <STRONG><menu.h></STRONG> automatically includes the header file + <STRONG><curses.h></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><menu.h></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><menu.h></STRONG> automatically includes the header - file <STRONG><curses.h></STRONG>. +</PRE><H2><a name="h2-NOTES">NOTES</a></H2><PRE> + The header file <STRONG><menu.h></STRONG> automatically includes the header file + <STRONG><curses.h></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><menu.h></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><menu.h></STRONG> automatically includes the header - file <STRONG><curses.h></STRONG>. +</PRE><H2><a name="h2-NOTES">NOTES</a></H2><PRE> + The header file <STRONG><menu.h></STRONG> automatically includes the header file + <STRONG><curses.h></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><menu.h></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><menu.h></STRONG> automatically includes the header - file <STRONG><curses.h></STRONG>. +</PRE><H2><a name="h2-NOTES">NOTES</a></H2><PRE> + The header file <STRONG><menu.h></STRONG> automatically includes the header file + <STRONG><curses.h></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><menu.h></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><menu.h></STRONG> automatically includes the header - file <STRONG><curses.h></STRONG>. +</PRE><H2><a name="h2-NOTES">NOTES</a></H2><PRE> + The header file <STRONG><menu.h></STRONG> automatically includes the header file + <STRONG><curses.h></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><menu.h></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><menu.h></STRONG> automatically includes the header - file <STRONG><curses.h></STRONG>. +</PRE><H2><a name="h2-NOTES">NOTES</a></H2><PRE> + The header file <STRONG><menu.h></STRONG> automatically includes the header file + <STRONG><curses.h></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><menu.h></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><menu.h></STRONG> automatically includes the header - file <STRONG><curses.h></STRONG>. +</PRE><H2><a name="h2-NOTES">NOTES</a></H2><PRE> + The header file <STRONG><menu.h></STRONG> automatically includes the header file + <STRONG><curses.h></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><menu.h></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><menu.h></STRONG> automatically includes the header - file <STRONG><curses.h></STRONG>. +</PRE><H2><a name="h2-NOTES">NOTES</a></H2><PRE> + The header file <STRONG><menu.h></STRONG> automatically includes the header file + <STRONG><curses.h></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><curses.h></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><curses.h></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&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><curses.h></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&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><curses.h></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><curses.h></STRONG>. - Types used for the terminfo routines such as <STRONG>TERMINAL</STRONG> are - defined in <STRONG><term.h></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><curses.h></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><curses.h></STRONG>. Types used for the terminfo routines such as + <STRONG>TERMINAL</STRONG> are defined in <STRONG><term.h></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><curses.h></STRONG> + <STRONG>#include</STRONG> <STRONG><curses.h></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><ncurses/curses.h></STRONG> + <STRONG>#include</STRONG> <STRONG><ncurses/curses.h></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><curses.h></STRONG> automatically includes the - header files <STRONG><stdio.h></STRONG> and <STRONG><unctrl.h></STRONG>. +</PRE><H2><a name="h2-NOTES">NOTES</a></H2><PRE> + The header file <STRONG><curses.h></STRONG> automatically includes the header files + <STRONG><stdio.h></STRONG> and <STRONG><unctrl.h></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&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&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><curses.h></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><panel.h></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 <wht@n4hgf.mt- - park.ga.us>, 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 <wht@n4hgf.mt-park.ga.us>, 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><curses.h></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 <curses.h> + + 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 <term.h>. - - 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 $<nn> 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 <term.h>. + + 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 $<nn> 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$<1>, 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 ....../. .....$<1 - 0130 3e 00 1b 3d 25 70 31 25 7b 33 32 7d 25 2b 25 63 >..=%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$<1>, 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 ....../. .....$<1 + 0130 3e 00 1b 3d 25 70 31 25 7b 33 32 7d 25 2b 25 63 >..=%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&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&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><curses.h></STRONG> <STRONG>#include</STRONG> <STRONG><term.h></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 <curses.h>. - - 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 <curses.h>. + + 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><term.h></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))-> + + 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 (> 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 (> 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 > - 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 > + 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 &1 reference key - key_refresh krfr &2 refresh key - key_replace krpl &3 replace key - key_restart krst &4 restart key - key_resume kres &5 resume key - key_right kcuf1 kr right-arrow key - key_save ksav &6 save key - key_sbeg kBEG &9 shifted begin key - key_scancel kCAN &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 &7 suspend key - key_undo kund &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 &1 reference key + key_refresh krfr &2 refresh key + key_replace krpl &3 replace key + key_restart krst &4 restart key + key_resume kres &5 resume key + key_right kcuf1 kr right-arrow key + key_save ksav &6 save key + key_sbeg kBEG &9 shifted begin key + key_scancel kCAN &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 &7 suspend key + key_undo kund &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 $<..> brackets, as in <STRONG>el</STRONG>=\EK$<5>, - 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 $<..> brackets, as in <STRONG>el</STRONG>=\EK$<5>, and padding characters + are supplied by <STRONG><A HREF="curs_terminfo.3x.html">tputs(3x)</A></STRONG> to provide this delay. + + <STRONG>o</STRONG> The delay must be a number with at most one decimal place of 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>%&</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>%></STRONG>, <STRONG>%<</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&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&%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&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&%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&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 < , - arrow pointing right ACS_RARROW > + - 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 > 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 < 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&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&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 > + 0x2b + arrow pointing left ACS_LARROW < , 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 < y 0x79 + greater-than-or-equal-to ACS_GEQUAL > 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&T terminal added graphics characters outside that range. + + Some of the characters within the range do not match the VT100; + presumably they were used in the AT&T terminal: <EM>board</EM> <EM>of</EM> <EM>squares</EM> + replaces the VT100 <EM>newline</EM> symbol, while <EM>lantern</EM> <EM>symbol</EM> replaces + 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&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&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 <<STRONG>term.h</STRONG>> - - <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 <<STRONG>term.h</STRONG>> + + <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 <esr@snark.thyrsus.com> and Thomas E. Dickey <dickey@invisible-island.net> - <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: + + --> /usr/local/ncurses/share/terminfo + ----> /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&T 5620 terminal, overriding the type of - terminal in the environmental variable <STRONG>TERM</STRONG>. + Reset an AT&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><<!</STRONG> <STRONG>></STRONG> <STRONG>clear</STRONG> @@ -230,68 +318,56 @@ <STRONG>></STRONG> <STRONG>bold</STRONG> <STRONG>></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&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&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&T System V program <STRONG>tput</STRONG>. Like the AT&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&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&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&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&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&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><LF>reset<LF></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><LF></EM><STRONG>reset</STRONG><EM><LF></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 ">", "<", "@", and "!"; ">" means greater - than, "<" 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>9600:vt100</STRONG>. The port type is dialup , the operator - is >, 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 <esr@snark.thyr- - sus.com>. +</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 ">", "<", "@", and "!"; ">" means greater + than, "<" 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>9600:vt100</STRONG>. The + port type is dialup , the operator is >, 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 <esr@snark.thyrsus.com>. + + +</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&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[<, XM=\E[?1006;1000%?%p1%{1}%=%th%el%;, + xm=\E[<%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><curses.h></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> |