aboutsummaryrefslogtreecommitdiff
path: root/doc/html
diff options
context:
space:
mode:
Diffstat (limited to 'doc/html')
-rw-r--r--doc/html/ada/funcs/M.htm2
-rw-r--r--doc/html/ada/funcs/U.htm2
-rw-r--r--doc/html/ada/funcs/W.htm2
-rw-r--r--doc/html/ada/terminal_interface-curses-mouse__adb.htm43
-rw-r--r--doc/html/ada/terminal_interface-curses-mouse__ads.htm18
-rw-r--r--doc/html/announce.html11
-rw-r--r--doc/html/man/adacurses6-config.1.html2
-rw-r--r--doc/html/man/captoinfo.1m.html14
-rw-r--r--doc/html/man/clear.1.html41
-rw-r--r--doc/html/man/curs_add_wch.3x.html132
-rw-r--r--doc/html/man/curs_add_wchstr.3x.html5
-rw-r--r--doc/html/man/curs_addch.3x.html101
-rw-r--r--doc/html/man/curs_addchstr.3x.html21
-rw-r--r--doc/html/man/curs_addstr.3x.html23
-rw-r--r--doc/html/man/curs_addwstr.3x.html3
-rw-r--r--doc/html/man/curs_attr.3x.html4
-rw-r--r--doc/html/man/curs_beep.3x.html14
-rw-r--r--doc/html/man/curs_bkgd.3x.html32
-rw-r--r--doc/html/man/curs_bkgrnd.3x.html12
-rw-r--r--doc/html/man/curs_border.3x.html34
-rw-r--r--doc/html/man/curs_clear.3x.html40
-rw-r--r--doc/html/man/curs_color.3x.html24
-rw-r--r--doc/html/man/curs_delch.3x.html20
-rw-r--r--doc/html/man/curs_deleteln.3x.html26
-rw-r--r--doc/html/man/curs_extend.3x.html14
-rw-r--r--doc/html/man/curs_get_wch.3x.html3
-rw-r--r--doc/html/man/curs_get_wstr.3x.html3
-rw-r--r--doc/html/man/curs_getcchar.3x.html16
-rw-r--r--doc/html/man/curs_getch.3x.html12
-rw-r--r--doc/html/man/curs_getstr.3x.html19
-rw-r--r--doc/html/man/curs_getyx.3x.html33
-rw-r--r--doc/html/man/curs_in_wch.3x.html9
-rw-r--r--doc/html/man/curs_in_wchstr.3x.html3
-rw-r--r--doc/html/man/curs_inch.3x.html21
-rw-r--r--doc/html/man/curs_inchstr.3x.html19
-rw-r--r--doc/html/man/curs_initscr.3x.html4
-rw-r--r--doc/html/man/curs_inopts.3x.html137
-rw-r--r--doc/html/man/curs_ins_wch.3x.html9
-rw-r--r--doc/html/man/curs_ins_wstr.3x.html3
-rw-r--r--doc/html/man/curs_insch.3x.html19
-rw-r--r--doc/html/man/curs_insstr.3x.html31
-rw-r--r--doc/html/man/curs_instr.3x.html27
-rw-r--r--doc/html/man/curs_inwstr.3x.html19
-rw-r--r--doc/html/man/curs_kernel.3x.html6
-rw-r--r--doc/html/man/curs_legacy.3x.html43
-rw-r--r--doc/html/man/curs_memleaks.3x.html50
-rw-r--r--doc/html/man/curs_mouse.3x.html13
-rw-r--r--doc/html/man/curs_move.3x.html6
-rw-r--r--doc/html/man/curs_opaque.3x.html32
-rw-r--r--doc/html/man/curs_outopts.3x.html82
-rw-r--r--doc/html/man/curs_print.3x.html14
-rw-r--r--doc/html/man/curs_printw.3x.html60
-rw-r--r--doc/html/man/curs_refresh.3x.html11
-rw-r--r--doc/html/man/curs_scanw.3x.html77
-rw-r--r--doc/html/man/curs_scr_dump.3x.html10
-rw-r--r--doc/html/man/curs_scroll.3x.html9
-rw-r--r--doc/html/man/curs_slk.3x.html3
-rw-r--r--doc/html/man/curs_sp_funcs.3x.html275
-rw-r--r--doc/html/man/curs_termattrs.3x.html25
-rw-r--r--doc/html/man/curs_termcap.3x.html88
-rw-r--r--doc/html/man/curs_terminfo.3x.html145
-rw-r--r--doc/html/man/curs_threads.3x.html26
-rw-r--r--doc/html/man/curs_touch.3x.html18
-rw-r--r--doc/html/man/curs_util.3x.html52
-rw-r--r--doc/html/man/curs_variables.3x.html2
-rw-r--r--doc/html/man/default_colors.3x.html50
-rw-r--r--doc/html/man/define_key.3x.html12
-rw-r--r--doc/html/man/form.3x.html43
-rw-r--r--doc/html/man/form_cursor.3x.html9
-rw-r--r--doc/html/man/form_data.3x.html11
-rw-r--r--doc/html/man/form_driver.3x.html31
-rw-r--r--doc/html/man/form_field.3x.html25
-rw-r--r--doc/html/man/form_field_attributes.3x.html25
-rw-r--r--doc/html/man/form_field_buffer.3x.html32
-rw-r--r--doc/html/man/form_field_info.3x.html34
-rw-r--r--doc/html/man/form_field_just.3x.html15
-rw-r--r--doc/html/man/form_field_new.3x.html23
-rw-r--r--doc/html/man/form_field_opts.3x.html28
-rw-r--r--doc/html/man/form_field_userptr.3x.html17
-rw-r--r--doc/html/man/form_field_validation.3x.html159
-rw-r--r--doc/html/man/form_fieldtype.3x.html140
-rw-r--r--doc/html/man/form_hook.3x.html26
-rw-r--r--doc/html/man/form_new.3x.html13
-rw-r--r--doc/html/man/form_new_page.3x.html11
-rw-r--r--doc/html/man/form_opts.3x.html16
-rw-r--r--doc/html/man/form_page.3x.html22
-rw-r--r--doc/html/man/form_post.3x.html15
-rw-r--r--doc/html/man/form_requestname.3x.html26
-rw-r--r--doc/html/man/form_userptr.3x.html13
-rw-r--r--doc/html/man/form_variables.3x.html9
-rw-r--r--doc/html/man/form_win.3x.html35
-rw-r--r--doc/html/man/infocmp.1m.html223
-rw-r--r--doc/html/man/infotocap.1m.html6
-rw-r--r--doc/html/man/key_defined.3x.html4
-rw-r--r--doc/html/man/keybound.3x.html8
-rw-r--r--doc/html/man/keyok.3x.html4
-rw-r--r--doc/html/man/legacy_coding.3x.html8
-rw-r--r--doc/html/man/menu.3x.html41
-rw-r--r--doc/html/man/menu_attributes.3x.html30
-rw-r--r--doc/html/man/menu_cursor.3x.html17
-rw-r--r--doc/html/man/menu_driver.3x.html25
-rw-r--r--doc/html/man/menu_format.3x.html17
-rw-r--r--doc/html/man/menu_hook.3x.html26
-rw-r--r--doc/html/man/menu_items.3x.html15
-rw-r--r--doc/html/man/menu_mark.3x.html13
-rw-r--r--doc/html/man/menu_new.3x.html13
-rw-r--r--doc/html/man/menu_opts.3x.html23
-rw-r--r--doc/html/man/menu_pattern.3x.html13
-rw-r--r--doc/html/man/menu_post.3x.html15
-rw-r--r--doc/html/man/menu_requestname.3x.html13
-rw-r--r--doc/html/man/menu_spacing.3x.html23
-rw-r--r--doc/html/man/menu_userptr.3x.html13
-rw-r--r--doc/html/man/menu_win.3x.html35
-rw-r--r--doc/html/man/mitem_current.3x.html21
-rw-r--r--doc/html/man/mitem_name.3x.html13
-rw-r--r--doc/html/man/mitem_new.3x.html13
-rw-r--r--doc/html/man/mitem_opts.3x.html16
-rw-r--r--doc/html/man/mitem_userptr.3x.html17
-rw-r--r--doc/html/man/mitem_value.3x.html11
-rw-r--r--doc/html/man/mitem_visible.3x.html9
-rw-r--r--doc/html/man/ncurses.3x.html892
-rw-r--r--doc/html/man/ncurses6-config.1.html8
-rw-r--r--doc/html/man/new_pair.3x.html60
-rw-r--r--doc/html/man/panel.3x.html44
-rw-r--r--doc/html/man/resizeterm.3x.html32
-rw-r--r--doc/html/man/scr_dump.5.html85
-rw-r--r--doc/html/man/tabs.1.html113
-rw-r--r--doc/html/man/term.5.html288
-rw-r--r--doc/html/man/term.7.html56
-rw-r--r--doc/html/man/terminfo.5.html1493
-rw-r--r--doc/html/man/tic.1m.html276
-rw-r--r--doc/html/man/toe.1m.html48
-rw-r--r--doc/html/man/tput.1.html184
-rw-r--r--doc/html/man/tset.1.html187
-rw-r--r--doc/html/man/user_caps.5.html136
-rw-r--r--doc/html/man/wresize.3x.html4
136 files changed, 4088 insertions, 3417 deletions
diff --git a/doc/html/ada/funcs/M.htm b/doc/html/ada/funcs/M.htm
index 05af814737c2..68b1d5150e7e 100644
--- a/doc/html/ada/funcs/M.htm
+++ b/doc/html/ada/funcs/M.htm
@@ -29,7 +29,7 @@
<LI><A HREF="../terminal_interface-curses-menus__adb.htm#ref_386_16" TARGET="main">Menu_Win</A>
<LI><A HREF="../terminal_interface-curses__adb.htm#ref_830_16" TARGET="main">Meta</A>
<LI><A HREF="../terminal_interface-curses-mouse__adb.htm#ref_109_16" TARGET="main">MMask</A>
-<LI><A HREF="../terminal_interface-curses-mouse__adb.htm#ref_211_16" TARGET="main">Mouseinterval</A>
+<LI><A HREF="../terminal_interface-curses-mouse__adb.htm#ref_212_16" TARGET="main">Mouseinterval</A>
<LI><A HREF="../terminal_interface-curses-mouse__adb.htm#ref_51_16" TARGET="main">Mouse_Avail</A>
<LI><A HREF="../terminal_interface-curses-mouse__ads.htm#ref_154_13" TARGET="main">Mouse_Interval</A>
<LI><A HREF="../terminal_interface-curses-forms__ads.htm#ref_614_14" TARGET="main">Move - terminal_interface-curses-forms.ads:614</A>
diff --git a/doc/html/ada/funcs/U.htm b/doc/html/ada/funcs/U.htm
index 70880e395d9d..6c5a5fe61d98 100644
--- a/doc/html/ada/funcs/U.htm
+++ b/doc/html/ada/funcs/U.htm
@@ -12,7 +12,7 @@
<LI><A HREF="../terminal_interface-curses__adb.htm#ref_2037_16" TARGET="main">Unctrl - terminal_interface-curses.adb:2037</A>
<LI><A HREF="../terminal_interface-curses__ads.htm#ref_933_14" TARGET="main">Undo_Keystroke</A>
<LI><A HREF="../terminal_interface-curses__adb.htm#ref_540_16" TARGET="main">Ungetch</A>
-<LI><A HREF="../terminal_interface-curses-mouse__adb.htm#ref_185_16" TARGET="main">Ungetmouse</A>
+<LI><A HREF="../terminal_interface-curses-mouse__adb.htm#ref_186_16" TARGET="main">Ungetmouse</A>
<LI><A HREF="../terminal_interface-curses-mouse__ads.htm#ref_142_14" TARGET="main">Unget_Mouse</A>
<LI><A HREF="../terminal_interface-curses__ads.htm#ref_1307_14" TARGET="main">Untouch</A>
<LI><A HREF="../terminal_interface-curses__ads.htm#ref_1793_14" TARGET="main">Un_Control - terminal_interface-curses.ads:1793</A>
diff --git a/doc/html/ada/funcs/W.htm b/doc/html/ada/funcs/W.htm
index 77fbf2307aeb..926ec196bf32 100644
--- a/doc/html/ada/funcs/W.htm
+++ b/doc/html/ada/funcs/W.htm
@@ -26,7 +26,7 @@
<LI><A HREF="../terminal_interface-curses__adb.htm#ref_1576_16" TARGET="main">Wdelch</A>
<LI><A HREF="../terminal_interface-curses__adb.htm#ref_255_16" TARGET="main">Wdelwin</A>
<LI><A HREF="../terminal_interface-curses__adb.htm#ref_209_16" TARGET="main">Wechochar</A>
-<LI><A HREF="../terminal_interface-curses-mouse__adb.htm#ref_196_16" TARGET="main">Wenclose</A>
+<LI><A HREF="../terminal_interface-curses-mouse__adb.htm#ref_197_16" TARGET="main">Wenclose</A>
<LI><A HREF="../terminal_interface-curses__adb.htm#ref_1121_16" TARGET="main">Werase</A>
<LI><A HREF="../terminal_interface-curses__adb.htm#ref_1185_16" TARGET="main">Wgetbkgd</A>
<LI><A HREF="../terminal_interface-curses__adb.htm#ref_526_16" TARGET="main">Wgetch</A>
diff --git a/doc/html/ada/terminal_interface-curses-mouse__adb.htm b/doc/html/ada/terminal_interface-curses-mouse__adb.htm
index 5b4444994644..2035f6b28b88 100644
--- a/doc/html/ada/terminal_interface-curses-mouse__adb.htm
+++ b/doc/html/ada/terminal_interface-curses-mouse__adb.htm
@@ -53,8 +53,8 @@
<span class="comment"><EM>------------------------------------------------------------------------------</EM></span>
<span class="comment"><EM>-- Author: Juergen Pfeifer, 1996</EM></span>
<span class="comment"><EM>-- Version Control:</EM></span>
-<span class="comment"><EM>-- @Revision: 1.27 @</EM></span>
-<span class="comment"><EM>-- @Date: 2020/02/02 23:34:34 @</EM></span>
+<span class="comment"><EM>-- @Revision: 1.28 @</EM></span>
+<span class="comment"><EM>-- @Date: 2020/06/27 18:50:44 @</EM></span>
<span class="comment"><EM>-- Binding Version 01.00</EM></span>
<span class="comment"><EM>------------------------------------------------------------------------------</EM></span>
<b>with</b> <A HREF="terminal_interface__ads.htm#ref_43_9">Terminal_Interface</A>.<A HREF="terminal_interface-curses__ads.htm#ref_48_28">Curses</A>.<A HREF="terminal_interface-curses-aux__ads.htm#ref_46_35">Aux</A>; <b>use</b> <A HREF="terminal_interface__ads.htm#ref_43_9">Terminal_Interface</A>.<A HREF="terminal_interface-curses__ads.htm#ref_48_28">Curses</A>.<A HREF="terminal_interface-curses-aux__ads.htm#ref_46_35">Aux</A>;
@@ -164,10 +164,11 @@
<A HREF="terminal_interface-curses-mouse__adb.htm#ref_131_30">Button</A> := <A HREF="terminal_interface-curses-mouse__ads.htm#ref_64_26">Button4</A>;
<b>end</b> <b>if</b>;
<b>if</b> <A HREF="terminal_interface-curses-mouse__adb.htm#ref_131_30">Button</A> <b>in</b> <A HREF="terminal_interface-curses-mouse__ads.htm#ref_69_12">Real_Buttons</A> <b>then</b>
+ <A HREF="terminal_interface-curses-mouse__adb.htm#ref_132_30">State</A> := <A HREF="terminal_interface-curses-mouse__ads.htm#ref_72_26">Released</A>; <span class="comment"><EM>-- preset to non real button;</EM></span>
<A HREF="terminal_interface-curses-mouse__adb.htm#ref_137_7">L</A> := 2 ** (6 * <A HREF="terminal_interface-curses-mouse__ads.htm#ref_61_9">Mouse_Button</A>'Pos (<A HREF="terminal_interface-curses-mouse__adb.htm#ref_131_30">Button</A>));
- <b>for</b> <span class="symbol"><A NAME="ref_151_14">I</A></span> <b>in</b> <A HREF="terminal_interface-curses-mouse__ads.htm#ref_72_9">Button_State</A>'<b>Range</b> <b>loop</b>
+ <b>for</b> <span class="symbol"><A NAME="ref_152_14">I</A></span> <b>in</b> <A HREF="terminal_interface-curses-mouse__ads.htm#ref_72_9">Button_State</A>'<b>Range</b> <b>loop</b>
<b>if</b> (<A HREF="terminal_interface-curses-mouse__adb.htm#ref_130_30">Mask</A> <b>and</b> <A HREF="terminal_interface-curses-mouse__adb.htm#ref_137_7">L</A>) /= 0 <b>then</b>
- <A HREF="terminal_interface-curses-mouse__adb.htm#ref_132_30">State</A> := <A HREF="terminal_interface-curses-mouse__adb.htm#ref_151_14">I</A>;
+ <A HREF="terminal_interface-curses-mouse__adb.htm#ref_132_30">State</A> := <A HREF="terminal_interface-curses-mouse__adb.htm#ref_152_14">I</A>;
<b>exit</b>;
<b>end</b> <b>if</b>;
<A HREF="terminal_interface-curses-mouse__adb.htm#ref_137_7">L</A> := 2 * <A HREF="terminal_interface-curses-mouse__adb.htm#ref_137_7">L</A>;
@@ -184,37 +185,37 @@
<b>end</b> <b>if</b>;
<b>end</b> <A HREF="terminal_interface-curses-mouse__adb.htm#ref_130_14">Dispatch_Event</A>;
- <b>procedure</b> <span class="symbol"><A NAME="ref_170_14" HREF="terminal_interface-curses-mouse__ads.htm#ref_130_14">Get_Event</A></span> (<span class="symbol"><A NAME="ref_170_25" HREF="terminal_interface-curses-mouse__ads.htm#ref_130_25">Event</A></span> : <A HREF="terminal_interface-curses-mouse__ads.htm#ref_85_9">Mouse_Event</A>;
- <span class="symbol"><A NAME="ref_171_25" HREF="terminal_interface-curses-mouse__ads.htm#ref_131_25">Y</A></span> : <b>out</b> <A HREF="terminal_interface-curses__ads.htm#ref_59_9">Line_Position</A>;
- <span class="symbol"><A NAME="ref_172_25" HREF="terminal_interface-curses-mouse__ads.htm#ref_132_25">X</A></span> : <b>out</b> <A HREF="terminal_interface-curses__ads.htm#ref_60_9">Column_Position</A>;
- <span class="symbol"><A NAME="ref_173_25" HREF="terminal_interface-curses-mouse__ads.htm#ref_133_25">Button</A></span> : <b>out</b> <A HREF="terminal_interface-curses-mouse__ads.htm#ref_61_9">Mouse_Button</A>;
- <span class="symbol"><A NAME="ref_174_25" HREF="terminal_interface-curses-mouse__ads.htm#ref_134_25">State</A></span> : <b>out</b> <A HREF="terminal_interface-curses-mouse__ads.htm#ref_72_9">Button_State</A>)
+ <b>procedure</b> <span class="symbol"><A NAME="ref_171_14" HREF="terminal_interface-curses-mouse__ads.htm#ref_130_14">Get_Event</A></span> (<span class="symbol"><A NAME="ref_171_25" HREF="terminal_interface-curses-mouse__ads.htm#ref_130_25">Event</A></span> : <A HREF="terminal_interface-curses-mouse__ads.htm#ref_85_9">Mouse_Event</A>;
+ <span class="symbol"><A NAME="ref_172_25" HREF="terminal_interface-curses-mouse__ads.htm#ref_131_25">Y</A></span> : <b>out</b> <A HREF="terminal_interface-curses__ads.htm#ref_59_9">Line_Position</A>;
+ <span class="symbol"><A NAME="ref_173_25" HREF="terminal_interface-curses-mouse__ads.htm#ref_132_25">X</A></span> : <b>out</b> <A HREF="terminal_interface-curses__ads.htm#ref_60_9">Column_Position</A>;
+ <span class="symbol"><A NAME="ref_174_25" HREF="terminal_interface-curses-mouse__ads.htm#ref_133_25">Button</A></span> : <b>out</b> <A HREF="terminal_interface-curses-mouse__ads.htm#ref_61_9">Mouse_Button</A>;
+ <span class="symbol"><A NAME="ref_175_25" HREF="terminal_interface-curses-mouse__ads.htm#ref_134_25">State</A></span> : <b>out</b> <A HREF="terminal_interface-curses-mouse__ads.htm#ref_72_9">Button_State</A>)
<b>is</b>
- <span class="symbol"><A NAME="ref_176_7">Mask</A></span> : <b>constant</b> <A HREF="terminal_interface-curses-mouse__ads.htm#ref_57_9">Event_Mask</A> := <A HREF="terminal_interface-curses-mouse__ads.htm#ref_130_25">Event</A>.<A HREF="terminal_interface-curses-mouse__ads.htm#ref_170_10">Bstate</A>;
+ <span class="symbol"><A NAME="ref_177_7">Mask</A></span> : <b>constant</b> <A HREF="terminal_interface-curses-mouse__ads.htm#ref_57_9">Event_Mask</A> := <A HREF="terminal_interface-curses-mouse__ads.htm#ref_130_25">Event</A>.<A HREF="terminal_interface-curses-mouse__ads.htm#ref_170_10">Bstate</A>;
<b>begin</b>
<A HREF="terminal_interface-curses-mouse__ads.htm#ref_132_25">X</A> := <A HREF="terminal_interface-curses__ads.htm#ref_60_9">Column_Position</A> (<A HREF="terminal_interface-curses-mouse__ads.htm#ref_130_25">Event</A>.<A HREF="terminal_interface-curses-mouse__ads.htm#ref_168_10">X</A>);
<A HREF="terminal_interface-curses-mouse__ads.htm#ref_131_25">Y</A> := <A HREF="terminal_interface-curses__ads.htm#ref_59_9">Line_Position</A> (<A HREF="terminal_interface-curses-mouse__ads.htm#ref_130_25">Event</A>.<A HREF="terminal_interface-curses-mouse__ads.htm#ref_168_13">Y</A>);
- <A HREF="terminal_interface-curses-mouse__adb.htm#ref_130_14">Dispatch_Event</A> (<A HREF="terminal_interface-curses-mouse__adb.htm#ref_176_7">Mask</A>, <A HREF="terminal_interface-curses-mouse__ads.htm#ref_133_25">Button</A>, <A HREF="terminal_interface-curses-mouse__ads.htm#ref_134_25">State</A>);
+ <A HREF="terminal_interface-curses-mouse__adb.htm#ref_130_14">Dispatch_Event</A> (<A HREF="terminal_interface-curses-mouse__adb.htm#ref_177_7">Mask</A>, <A HREF="terminal_interface-curses-mouse__ads.htm#ref_133_25">Button</A>, <A HREF="terminal_interface-curses-mouse__ads.htm#ref_134_25">State</A>);
<b>end</b> <A HREF="terminal_interface-curses-mouse__ads.htm#ref_130_14">Get_Event</A>;
- <b>procedure</b> <span class="symbol"><A NAME="ref_183_14" HREF="terminal_interface-curses-mouse__ads.htm#ref_142_14">Unget_Mouse</A></span> (<span class="symbol"><A NAME="ref_183_27" HREF="terminal_interface-curses-mouse__ads.htm#ref_142_27">Event</A></span> : <A HREF="terminal_interface-curses-mouse__ads.htm#ref_85_9">Mouse_Event</A>)
+ <b>procedure</b> <span class="symbol"><A NAME="ref_184_14" HREF="terminal_interface-curses-mouse__ads.htm#ref_142_14">Unget_Mouse</A></span> (<span class="symbol"><A NAME="ref_184_27" HREF="terminal_interface-curses-mouse__ads.htm#ref_142_27">Event</A></span> : <A HREF="terminal_interface-curses-mouse__ads.htm#ref_85_9">Mouse_Event</A>)
<b>is</b>
- <b>function</b> <span class="symbol"><A NAME="ref_185_16">Ungetmouse</A></span> (<span class="symbol"><A NAME="ref_185_28" HREF="terminal_interface-curses-mouse__adb.htm#ref_185_16">Ev</A></span> : <A HREF="terminal_interface-curses-mouse__ads.htm#ref_85_9">Mouse_Event</A>) <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_49_12">C_Int</A>;
+ <b>function</b> <span class="symbol"><A NAME="ref_186_16">Ungetmouse</A></span> (<span class="symbol"><A NAME="ref_186_28" HREF="terminal_interface-curses-mouse__adb.htm#ref_186_16">Ev</A></span> : <A HREF="terminal_interface-curses-mouse__ads.htm#ref_85_9">Mouse_Event</A>) <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_49_12">C_Int</A>;
<b>pragma</b> Import (C, Ungetmouse, "ungetmouse");
<b>begin</b>
- <b>if</b> <A HREF="terminal_interface-curses-mouse__adb.htm#ref_185_16">Ungetmouse</A> (<A HREF="terminal_interface-curses-mouse__ads.htm#ref_142_27">Event</A>) = <A HREF="terminal_interface-curses-aux__ads.htm#ref_64_4">Curses_Err</A> <b>then</b>
+ <b>if</b> <A HREF="terminal_interface-curses-mouse__adb.htm#ref_186_16">Ungetmouse</A> (<A HREF="terminal_interface-curses-mouse__ads.htm#ref_142_27">Event</A>) = <A HREF="terminal_interface-curses-aux__ads.htm#ref_64_4">Curses_Err</A> <b>then</b>
<b>raise</b> <A HREF="terminal_interface-curses__ads.htm#ref_522_4">Curses_Exception</A>;
<b>end</b> <b>if</b>;
<b>end</b> <A HREF="terminal_interface-curses-mouse__ads.htm#ref_142_14">Unget_Mouse</A>;
- <b>function</b> <span class="symbol"><A NAME="ref_193_13" HREF="terminal_interface-curses-mouse__ads.htm#ref_147_13">Enclosed_In_Window</A></span> (<span class="symbol"><A NAME="ref_193_33" HREF="terminal_interface-curses-mouse__ads.htm#ref_147_33">Win</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_56_9">Window</A> := <A HREF="terminal_interface-curses__ads.htm#ref_645_13">Standard_Window</A>;
- <span class="symbol"><A NAME="ref_194_33" HREF="terminal_interface-curses-mouse__ads.htm#ref_148_33">Event</A></span> : <A HREF="terminal_interface-curses-mouse__ads.htm#ref_85_9">Mouse_Event</A>) <b>return</b> Boolean
+ <b>function</b> <span class="symbol"><A NAME="ref_194_13" HREF="terminal_interface-curses-mouse__ads.htm#ref_147_13">Enclosed_In_Window</A></span> (<span class="symbol"><A NAME="ref_194_33" HREF="terminal_interface-curses-mouse__ads.htm#ref_147_33">Win</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_56_9">Window</A> := <A HREF="terminal_interface-curses__ads.htm#ref_645_13">Standard_Window</A>;
+ <span class="symbol"><A NAME="ref_195_33" HREF="terminal_interface-curses-mouse__ads.htm#ref_148_33">Event</A></span> : <A HREF="terminal_interface-curses-mouse__ads.htm#ref_85_9">Mouse_Event</A>) <b>return</b> Boolean
<b>is</b>
- <b>function</b> <span class="symbol"><A NAME="ref_196_16">Wenclose</A></span> (<span class="symbol"><A NAME="ref_196_26" HREF="terminal_interface-curses-mouse__adb.htm#ref_196_16">Win</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_56_9">Window</A>; <span class="symbol"><A NAME="ref_196_40" HREF="terminal_interface-curses-mouse__adb.htm#ref_196_16">Y</A></span> : <A HREF="terminal_interface-curses-aux__ads.htm#ref_49_12">C_Int</A>; <span class="symbol"><A NAME="ref_196_51" HREF="terminal_interface-curses-mouse__adb.htm#ref_196_16">X</A></span> : <A HREF="terminal_interface-curses-aux__ads.htm#ref_49_12">C_Int</A>)
+ <b>function</b> <span class="symbol"><A NAME="ref_197_16">Wenclose</A></span> (<span class="symbol"><A NAME="ref_197_26" HREF="terminal_interface-curses-mouse__adb.htm#ref_197_16">Win</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_56_9">Window</A>; <span class="symbol"><A NAME="ref_197_40" HREF="terminal_interface-curses-mouse__adb.htm#ref_197_16">Y</A></span> : <A HREF="terminal_interface-curses-aux__ads.htm#ref_49_12">C_Int</A>; <span class="symbol"><A NAME="ref_197_51" HREF="terminal_interface-curses-mouse__adb.htm#ref_197_16">X</A></span> : <A HREF="terminal_interface-curses-aux__ads.htm#ref_49_12">C_Int</A>)
<b>return</b> <A HREF="terminal_interface-curses__ads.htm#ref_2099_9">Curses_Bool</A>;
<b>pragma</b> Import (C, Wenclose, "wenclose");
<b>begin</b>
- <b>if</b> <A HREF="terminal_interface-curses-mouse__adb.htm#ref_196_16">Wenclose</A> (<A HREF="terminal_interface-curses-mouse__ads.htm#ref_147_33">Win</A>, <A HREF="terminal_interface-curses-aux__ads.htm#ref_49_12">C_Int</A> (<A HREF="terminal_interface-curses-mouse__ads.htm#ref_148_33">Event</A>.<A HREF="terminal_interface-curses-mouse__ads.htm#ref_168_13">Y</A>), <A HREF="terminal_interface-curses-aux__ads.htm#ref_49_12">C_Int</A> (<A HREF="terminal_interface-curses-mouse__ads.htm#ref_148_33">Event</A>.<A HREF="terminal_interface-curses-mouse__ads.htm#ref_168_10">X</A>))
+ <b>if</b> <A HREF="terminal_interface-curses-mouse__adb.htm#ref_197_16">Wenclose</A> (<A HREF="terminal_interface-curses-mouse__ads.htm#ref_147_33">Win</A>, <A HREF="terminal_interface-curses-aux__ads.htm#ref_49_12">C_Int</A> (<A HREF="terminal_interface-curses-mouse__ads.htm#ref_148_33">Event</A>.<A HREF="terminal_interface-curses-mouse__ads.htm#ref_168_13">Y</A>), <A HREF="terminal_interface-curses-aux__ads.htm#ref_49_12">C_Int</A> (<A HREF="terminal_interface-curses-mouse__ads.htm#ref_148_33">Event</A>.<A HREF="terminal_interface-curses-mouse__ads.htm#ref_168_10">X</A>))
= <A HREF="terminal_interface-curses__ads.htm#ref_2101_4">Curses_Bool_False</A>
<b>then</b>
<b>return</b> False;
@@ -223,12 +224,12 @@
<b>end</b> <b>if</b>;
<b>end</b> <A HREF="terminal_interface-curses-mouse__ads.htm#ref_147_13">Enclosed_In_Window</A>;
- <b>function</b> <span class="symbol"><A NAME="ref_209_13" HREF="terminal_interface-curses-mouse__ads.htm#ref_154_13">Mouse_Interval</A></span> (<span class="symbol"><A NAME="ref_209_29" HREF="terminal_interface-curses-mouse__ads.htm#ref_154_29">Msec</A></span> : Natural := 200) <b>return</b> Natural
+ <b>function</b> <span class="symbol"><A NAME="ref_210_13" HREF="terminal_interface-curses-mouse__ads.htm#ref_154_13">Mouse_Interval</A></span> (<span class="symbol"><A NAME="ref_210_29" HREF="terminal_interface-curses-mouse__ads.htm#ref_154_29">Msec</A></span> : Natural := 200) <b>return</b> Natural
<b>is</b>
- <b>function</b> <span class="symbol"><A NAME="ref_211_16">Mouseinterval</A></span> (<span class="symbol"><A NAME="ref_211_31" HREF="terminal_interface-curses-mouse__adb.htm#ref_211_16">Msec</A></span> : <A HREF="terminal_interface-curses-aux__ads.htm#ref_49_12">C_Int</A>) <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_49_12">C_Int</A>;
+ <b>function</b> <span class="symbol"><A NAME="ref_212_16">Mouseinterval</A></span> (<span class="symbol"><A NAME="ref_212_31" HREF="terminal_interface-curses-mouse__adb.htm#ref_212_16">Msec</A></span> : <A HREF="terminal_interface-curses-aux__ads.htm#ref_49_12">C_Int</A>) <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_49_12">C_Int</A>;
<b>pragma</b> Import (C, Mouseinterval, "mouseinterval");
<b>begin</b>
- <b>return</b> Natural (<A HREF="terminal_interface-curses-mouse__adb.htm#ref_211_16">Mouseinterval</A> (<A HREF="terminal_interface-curses-aux__ads.htm#ref_49_12">C_Int</A> (<A HREF="terminal_interface-curses-mouse__ads.htm#ref_154_29">Msec</A>)));
+ <b>return</b> Natural (<A HREF="terminal_interface-curses-mouse__adb.htm#ref_212_16">Mouseinterval</A> (<A HREF="terminal_interface-curses-aux__ads.htm#ref_49_12">C_Int</A> (<A HREF="terminal_interface-curses-mouse__ads.htm#ref_154_29">Msec</A>)));
<b>end</b> <A HREF="terminal_interface-curses-mouse__ads.htm#ref_154_13">Mouse_Interval</A>;
<b>end</b> <A HREF="terminal_interface__ads.htm#ref_43_9">Terminal_Interface</A>.<A HREF="terminal_interface-curses__ads.htm#ref_48_28">Curses</A>.<A HREF="terminal_interface-curses-mouse__ads.htm#ref_45_35">Mouse</A>;
diff --git a/doc/html/ada/terminal_interface-curses-mouse__ads.htm b/doc/html/ada/terminal_interface-curses-mouse__ads.htm
index c7b563b017a1..c4de5e5fe90e 100644
--- a/doc/html/ada/terminal_interface-curses-mouse__ads.htm
+++ b/doc/html/ada/terminal_interface-curses-mouse__ads.htm
@@ -144,11 +144,11 @@
<span class="comment"><EM>-- AKA: <A HREF="../man/curs_mouse.3x.html">getmouse()</A></EM></span>
<b>pragma</b> Inline (<A HREF="terminal_interface-curses-mouse__ads.htm#ref_126_13">Get_Mouse</A>);
- <b>procedure</b> <span class="symbol"><A NAME="ref_130_14" HREF="terminal_interface-curses-mouse__adb.htm#ref_170_14">Get_Event</A></span> (<span class="symbol"><A NAME="ref_130_25" HREF="terminal_interface-curses-mouse__adb.htm#ref_170_25">Event</A></span> : <A HREF="terminal_interface-curses-mouse__ads.htm#ref_85_9">Mouse_Event</A>;
- <span class="symbol"><A NAME="ref_131_25" HREF="terminal_interface-curses-mouse__adb.htm#ref_171_25">Y</A></span> : <b>out</b> <A HREF="terminal_interface-curses__ads.htm#ref_59_9">Line_Position</A>;
- <span class="symbol"><A NAME="ref_132_25" HREF="terminal_interface-curses-mouse__adb.htm#ref_172_25">X</A></span> : <b>out</b> <A HREF="terminal_interface-curses__ads.htm#ref_60_9">Column_Position</A>;
- <span class="symbol"><A NAME="ref_133_25" HREF="terminal_interface-curses-mouse__adb.htm#ref_173_25">Button</A></span> : <b>out</b> <A HREF="terminal_interface-curses-mouse__ads.htm#ref_61_9">Mouse_Button</A>;
- <span class="symbol"><A NAME="ref_134_25" HREF="terminal_interface-curses-mouse__adb.htm#ref_174_25">State</A></span> : <b>out</b> <A HREF="terminal_interface-curses-mouse__ads.htm#ref_72_9">Button_State</A>);
+ <b>procedure</b> <span class="symbol"><A NAME="ref_130_14" HREF="terminal_interface-curses-mouse__adb.htm#ref_171_14">Get_Event</A></span> (<span class="symbol"><A NAME="ref_130_25" HREF="terminal_interface-curses-mouse__adb.htm#ref_171_25">Event</A></span> : <A HREF="terminal_interface-curses-mouse__ads.htm#ref_85_9">Mouse_Event</A>;
+ <span class="symbol"><A NAME="ref_131_25" HREF="terminal_interface-curses-mouse__adb.htm#ref_172_25">Y</A></span> : <b>out</b> <A HREF="terminal_interface-curses__ads.htm#ref_59_9">Line_Position</A>;
+ <span class="symbol"><A NAME="ref_132_25" HREF="terminal_interface-curses-mouse__adb.htm#ref_173_25">X</A></span> : <b>out</b> <A HREF="terminal_interface-curses__ads.htm#ref_60_9">Column_Position</A>;
+ <span class="symbol"><A NAME="ref_133_25" HREF="terminal_interface-curses-mouse__adb.htm#ref_174_25">Button</A></span> : <b>out</b> <A HREF="terminal_interface-curses-mouse__ads.htm#ref_61_9">Mouse_Button</A>;
+ <span class="symbol"><A NAME="ref_134_25" HREF="terminal_interface-curses-mouse__adb.htm#ref_175_25">State</A></span> : <b>out</b> <A HREF="terminal_interface-curses-mouse__ads.htm#ref_72_9">Button_State</A>);
<span class="comment"><EM>-- !!! Warning: X and Y are screen coordinates. Due to ripped of lines they</EM></span>
<span class="comment"><EM>-- may not be identical to window coordinates.</EM></span>
<span class="comment"><EM>-- Not Implemented: Get_Event only reports one event, the C library</EM></span>
@@ -156,19 +156,19 @@
<b>pragma</b> Inline (<A HREF="terminal_interface-curses-mouse__ads.htm#ref_130_14">Get_Event</A>);
<span class="comment"><EM>-- <A NAME="AFU_3">|</A></EM></span>
- <b>procedure</b> <span class="symbol"><A NAME="ref_142_14" HREF="terminal_interface-curses-mouse__adb.htm#ref_183_14">Unget_Mouse</A></span> (<span class="symbol"><A NAME="ref_142_27" HREF="terminal_interface-curses-mouse__adb.htm#ref_183_27">Event</A></span> : <A HREF="terminal_interface-curses-mouse__ads.htm#ref_85_9">Mouse_Event</A>);
+ <b>procedure</b> <span class="symbol"><A NAME="ref_142_14" HREF="terminal_interface-curses-mouse__adb.htm#ref_184_14">Unget_Mouse</A></span> (<span class="symbol"><A NAME="ref_142_27" HREF="terminal_interface-curses-mouse__adb.htm#ref_184_27">Event</A></span> : <A HREF="terminal_interface-curses-mouse__ads.htm#ref_85_9">Mouse_Event</A>);
<span class="comment"><EM>-- AKA: <A HREF="../man/curs_mouse.3x.html">ungetmouse()</A></EM></span>
<b>pragma</b> Inline (<A HREF="terminal_interface-curses-mouse__ads.htm#ref_142_14">Unget_Mouse</A>);
<span class="comment"><EM>-- <A NAME="AFU_4">|</A></EM></span>
- <b>function</b> <span class="symbol"><A NAME="ref_147_13" HREF="terminal_interface-curses-mouse__adb.htm#ref_193_13">Enclosed_In_Window</A></span> (<span class="symbol"><A NAME="ref_147_33" HREF="terminal_interface-curses-mouse__adb.htm#ref_193_33">Win</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_56_9">Window</A> := <A HREF="terminal_interface-curses__ads.htm#ref_645_13">Standard_Window</A>;
- <span class="symbol"><A NAME="ref_148_33" HREF="terminal_interface-curses-mouse__adb.htm#ref_194_33">Event</A></span> : <A HREF="terminal_interface-curses-mouse__ads.htm#ref_85_9">Mouse_Event</A>) <b>return</b> Boolean;
+ <b>function</b> <span class="symbol"><A NAME="ref_147_13" HREF="terminal_interface-curses-mouse__adb.htm#ref_194_13">Enclosed_In_Window</A></span> (<span class="symbol"><A NAME="ref_147_33" HREF="terminal_interface-curses-mouse__adb.htm#ref_194_33">Win</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_56_9">Window</A> := <A HREF="terminal_interface-curses__ads.htm#ref_645_13">Standard_Window</A>;
+ <span class="symbol"><A NAME="ref_148_33" HREF="terminal_interface-curses-mouse__adb.htm#ref_195_33">Event</A></span> : <A HREF="terminal_interface-curses-mouse__ads.htm#ref_85_9">Mouse_Event</A>) <b>return</b> Boolean;
<span class="comment"><EM>-- AKA: <A HREF="../man/curs_mouse.3x.html">wenclose()</A></EM></span>
<span class="comment"><EM>-- But : use event instead of screen coordinates.</EM></span>
<b>pragma</b> Inline (<A HREF="terminal_interface-curses-mouse__ads.htm#ref_147_13">Enclosed_In_Window</A>);
<span class="comment"><EM>-- <A NAME="AFU_5">|</A></EM></span>
- <b>function</b> <span class="symbol"><A NAME="ref_154_13" HREF="terminal_interface-curses-mouse__adb.htm#ref_209_13">Mouse_Interval</A></span> (<span class="symbol"><A NAME="ref_154_29" HREF="terminal_interface-curses-mouse__adb.htm#ref_209_29">Msec</A></span> : Natural := 200) <b>return</b> Natural;
+ <b>function</b> <span class="symbol"><A NAME="ref_154_13" HREF="terminal_interface-curses-mouse__adb.htm#ref_210_13">Mouse_Interval</A></span> (<span class="symbol"><A NAME="ref_154_29" HREF="terminal_interface-curses-mouse__adb.htm#ref_210_29">Msec</A></span> : Natural := 200) <b>return</b> Natural;
<span class="comment"><EM>-- AKA: <A HREF="../man/curs_mouse.3x.html">mouseinterval()</A></EM></span>
<b>pragma</b> Inline (<A HREF="terminal_interface-curses-mouse__ads.htm#ref_154_13">Mouse_Interval</A>);
diff --git a/doc/html/announce.html b/doc/html/announce.html
index 070f504146a5..699372019b83 100644
--- a/doc/html/announce.html
+++ b/doc/html/announce.html
@@ -1,5 +1,5 @@
<!--
- $Id: announce.html,v 1.61 2020/02/09 21:26:51 tom Exp $
+ $Id: announce.html,v 1.64 2020/10/19 08:18:48 tom Exp $
****************************************************************************
* Copyright 2018-2019,2020 Thomas E. Dickey *
* *
@@ -356,7 +356,7 @@
<li>
<p>marked <a href=
- "https://invisible-island.net/ncurses/man/curs_printw.3x.html#h3-PORTABILITY">
+ "https://invisible-island.net/ncurses/man/curs_printw.3x.html#h2-PORTABILITY">
<tt>vwprintw</tt></a> and <tt>vwscanw</tt> as deprecated;
recommend using <a href=
"https://invisible-island.net/ncurses/man/curs_printw.3x.html">
@@ -520,7 +520,8 @@
<h3><a name="h3-programs" id="h3-programs">Program
improvements</a></h3>
- <p>Several improvements were made to the utility programs:</p>
+ <p id="h4-utilities">Several improvements were made to the
+ utility programs:</p>
<dl>
<dt><span class="part-name">clear</span>
@@ -1073,7 +1074,7 @@
with a different developer.</li>
<li><a href=
- "https://invisible-island.net/ncurses/man/tabs.1">tabs.1</a>
+ "https://invisible-island.net/ncurses/man/tabs.1.html">tabs.1</a>
tells more than you wanted to know about the tool.</li>
<li><a href=
@@ -1117,7 +1118,7 @@
the line-drawing characters.</li>
<li><a href=
- "https://invisible-island.net/ncurses/man/curs_color.3x.html#h3-RETURN-VALUE">
+ "https://invisible-island.net/ncurses/man/curs_color.3x.html#h2-RETURN-VALUE">
curs_color.3x</a> improves discussion of error returns and
extensions.</li>
diff --git a/doc/html/man/adacurses6-config.1.html b/doc/html/man/adacurses6-config.1.html
index bf325552763f..ec3b1b7b5ab3 100644
--- a/doc/html/man/adacurses6-config.1.html
+++ b/doc/html/man/adacurses6-config.1.html
@@ -126,7 +126,7 @@
</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.2 (patch 20200215).
+ This describes <STRONG>ncurses</STRONG> version 6.2 (patch 20210109).
diff --git a/doc/html/man/captoinfo.1m.html b/doc/html/man/captoinfo.1m.html
index fbea4ddde266..b4fe523ef8f6 100644
--- a/doc/html/man/captoinfo.1m.html
+++ b/doc/html/man/captoinfo.1m.html
@@ -57,9 +57,9 @@
</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.
+ 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> 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
@@ -155,9 +155,9 @@
Gc intersection
GG acs magic cookie count
- 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.
+ If the single-line capabilities occur in an entry, they will
+ automatically 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 terminfo but
incompatible with the SVr4 format. The following AIX extensions are
@@ -199,7 +199,7 @@
</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 6.2 (patch 20200215).
+ This describes <STRONG>ncurses</STRONG> version 6.2 (patch 20210109).
</PRE><H2><a name="h2-AUTHOR">AUTHOR</a></H2><PRE>
diff --git a/doc/html/man/clear.1.html b/doc/html/man/clear.1.html
index 853f05c32050..15d8ad5c39e3 100644
--- a/doc/html/man/clear.1.html
+++ b/doc/html/man/clear.1.html
@@ -71,10 +71,10 @@
</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.
+ 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 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. The options are as follows:
@@ -94,20 +94,21 @@
/usr/bin/tput ${1:+-T$1} clear 2&gt; /dev/null
exit
- In 1989, when Keith Bostic revised the BSD <STRONG>tput</STRONG> command to make it sim-
- ilar to the AT&amp;T <STRONG>tput</STRONG>, he added a shell script for the <STRONG>clear</STRONG> command:
+ In 1989, when Keith Bostic revised the BSD <STRONG>tput</STRONG> command to make it
+ similar to the AT&amp;T <STRONG>tput</STRONG>, he added a shell script for the <STRONG>clear</STRONG>
+ command:
exec tput clear
The remainder of the script in each case is a copyright notice.
- The ncurses <STRONG>clear</STRONG> command began in 1995 by adapting the original BSD
+ 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
+ <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'
@@ -116,24 +117,24 @@
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.
+ This is documented in <EM>XTerm</EM> <EM>Control</EM> <EM>Sequences</EM> as a feature
+ originating 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,
+ <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
+ <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
+ <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>.
@@ -141,15 +142,15 @@
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
+ 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 6.2 (patch 20200215).
+ This describes <STRONG>ncurses</STRONG> version 6.2 (patch 20210109).
diff --git a/doc/html/man/curs_add_wch.3x.html b/doc/html/man/curs_add_wch.3x.html
index 3891f83ccf57..2aa592000831 100644
--- a/doc/html/man/curs_add_wch.3x.html
+++ b/doc/html/man/curs_add_wch.3x.html
@@ -27,7 +27,7 @@
* sale, use or other dealings in this Software without prior written *
* authorization. *
****************************************************************************
- * @Id: curs_add_wch.3x,v 1.26 2020/02/02 23:34:34 tom Exp @
+ * @Id: curs_add_wch.3x,v 1.28 2020/10/17 23:10:38 tom Exp @
-->
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN">
<HTML>
@@ -59,6 +59,7 @@
<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>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>
@@ -66,20 +67,20 @@
</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:
+ 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 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.
+ 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 spec-
- ified by <EM>wch</EM> is ignored.
+ 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
@@ -88,18 +89,18 @@
</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.
+ followed by a call to <STRONG><A HREF="curs_refresh.3x.html">refresh(3x)</A></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
+ considerable 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>.
+ 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">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>
@@ -111,8 +112,8 @@
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_DIAMOND 0x25c6 + ` diamond
WACS_GEQUAL 0x2265 &gt; &gt; greater-than-or-equal-to
WACS_HLINE 0x2500 - q horizontal line
WACS_LANTERN 0x2603 # i lantern symbol
@@ -188,7 +189,24 @@
</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
+ X/Open does not define any error conditions. This implementation
+ returns an error
+
+ <STRONG>o</STRONG> if the window pointer is null or
+
+ <STRONG>o</STRONG> if it is not possible to add a complete character in the window.
+
+ The latter may be due to different causes:
+
+ <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
+
+ <STRONG>o</STRONG> If an error is detected when converting a multibyte character to a
+ sequence of bytes, or if it is not possible to add all of the
+ resulting bytes in the window, an error is returned.
+
+ Functions with a "mv" prefix first perform 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.
@@ -198,77 +216,77 @@
</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
+ 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
+ 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.
+ 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 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
+ curses implementations defined their line-drawing symbols in terms of
+ intermediate symbols. This implementation extends those symbols,
+ providing new definitions which are not in the SVr4 implementations.
+
+ Not all Unicode-capable terminals provide support for VT100-style
+ alternate character sets (i.e., the <STRONG>acsc</STRONG> capability), with their
+ corresponding 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
+ implementations 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
+ terminal 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-
+ 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
+ <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.
- <STRONG>o</STRONG> The <EM>lantern</EM> is a special case. It originated with the AT&amp;T 4410
- terminal in the early 1980s. There is no accessible documentation
+ <STRONG>o</STRONG> The <EM>lantern</EM> is a special case. It originated with the AT&amp;T 4410
+ terminal in the early 1980s. There is no accessible documentation
depicting the lantern symbol on the AT&amp;T terminal.
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
+ 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.
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
+ 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.
- 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).
+ Others have suggested these alternatives: &lt;section&gt; U+00A7 (section
+ mark), &lt;Theta&gt; U+0398 (theta), &lt;Phi&gt; U+03A6 (phi), &lt;delta&gt; U+03B4
+ (delta), U+2327 (x in a rectangle), U+256C (forms double vertical
+ and horizontal), and U+2612 (ballot box with x).
</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="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>
diff --git a/doc/html/man/curs_add_wchstr.3x.html b/doc/html/man/curs_add_wchstr.3x.html
index 60b5b7c84452..ea65069211eb 100644
--- a/doc/html/man/curs_add_wchstr.3x.html
+++ b/doc/html/man/curs_add_wchstr.3x.html
@@ -27,7 +27,7 @@
* sale, use or other dealings in this Software without prior written *
* authorization. *
****************************************************************************
- * @Id: curs_add_wchstr.3x,v 1.13 2020/02/02 23:34:34 tom Exp @
+ * @Id: curs_add_wchstr.3x,v 1.15 2020/12/19 21:39:06 tom Exp @
-->
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN">
<HTML>
@@ -59,6 +59,7 @@
<STRONG>int</STRONG> <STRONG>add_wchnstr(const</STRONG> <STRONG>cchar_t</STRONG> <STRONG>*</STRONG><EM>wchstr</EM><STRONG>,</STRONG> <STRONG>int</STRONG> <EM>n</EM><STRONG>);</STRONG>
<STRONG>int</STRONG> <STRONG>wadd_wchstr(WINDOW</STRONG> <STRONG>*</STRONG> <EM>win</EM><STRONG>,</STRONG> <STRONG>const</STRONG> <STRONG>cchar_t</STRONG> <STRONG>*</STRONG><EM>wchstr</EM><STRONG>);</STRONG>
<STRONG>int</STRONG> <STRONG>wadd_wchnstr(WINDOW</STRONG> <STRONG>*</STRONG> <EM>win</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>
+
<STRONG>int</STRONG> <STRONG>mvadd_wchstr(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> <STRONG>mvadd_wchnstr(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>
<STRONG>int</STRONG> <STRONG>mvwadd_wchstr(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>
@@ -112,7 +113,7 @@
</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>.
+ <STRONG><A HREF="ncurses.3x.html">curses(3x)</A></STRONG>, <STRONG><A HREF="curs_addwstr.3x.html">curs_addwstr(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>.
diff --git a/doc/html/man/curs_addch.3x.html b/doc/html/man/curs_addch.3x.html
index fa2f94df2b37..ba13e2a725a3 100644
--- a/doc/html/man/curs_addch.3x.html
+++ b/doc/html/man/curs_addch.3x.html
@@ -28,7 +28,7 @@
* sale, use or other dealings in this Software without prior written *
* authorization. *
****************************************************************************
- * @Id: curs_addch.3x,v 1.51 2020/02/02 23:34:34 tom Exp @
+ * @Id: curs_addch.3x,v 1.55 2020/10/24 09:12:31 tom Exp @
-->
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN">
<HTML>
@@ -55,12 +55,13 @@
</PRE><H2><a name="h2-SYNOPSIS">SYNOPSIS</a></H2><PRE>
<STRONG>#include</STRONG> <STRONG>&lt;curses.h&gt;</STRONG>
- <STRONG>int</STRONG> <STRONG>addch(const</STRONG> <STRONG>chtype</STRONG> <STRONG>ch);</STRONG>
- <STRONG>int</STRONG> <STRONG>waddch(WINDOW</STRONG> <STRONG>*win,</STRONG> <STRONG>const</STRONG> <STRONG>chtype</STRONG> <STRONG>ch);</STRONG>
- <STRONG>int</STRONG> <STRONG>mvaddch(int</STRONG> <STRONG>y,</STRONG> <STRONG>int</STRONG> <STRONG>x,</STRONG> <STRONG>const</STRONG> <STRONG>chtype</STRONG> <STRONG>ch);</STRONG>
- <STRONG>int</STRONG> <STRONG>mvwaddch(WINDOW</STRONG> <STRONG>*win,</STRONG> <STRONG>int</STRONG> <STRONG>y,</STRONG> <STRONG>int</STRONG> <STRONG>x,</STRONG> <STRONG>const</STRONG> <STRONG>chtype</STRONG> <STRONG>ch);</STRONG>
- <STRONG>int</STRONG> <STRONG>echochar(const</STRONG> <STRONG>chtype</STRONG> <STRONG>ch);</STRONG>
- <STRONG>int</STRONG> <STRONG>wechochar(WINDOW</STRONG> <STRONG>*win,</STRONG> <STRONG>const</STRONG> <STRONG>chtype</STRONG> <STRONG>ch);</STRONG>
+ <STRONG>int</STRONG> <STRONG>addch(const</STRONG> <STRONG>chtype</STRONG> <EM>ch</EM><STRONG>);</STRONG>
+ <STRONG>int</STRONG> <STRONG>waddch(WINDOW</STRONG> <STRONG>*</STRONG><EM>win</EM><STRONG>,</STRONG> <STRONG>const</STRONG> <STRONG>chtype</STRONG> <EM>ch</EM><STRONG>);</STRONG>
+ <STRONG>int</STRONG> <STRONG>mvaddch(int</STRONG> <EM>y</EM><STRONG>,</STRONG> <STRONG>int</STRONG> <EM>x</EM><STRONG>,</STRONG> <STRONG>const</STRONG> <STRONG>chtype</STRONG> <EM>ch</EM><STRONG>);</STRONG>
+ <STRONG>int</STRONG> <STRONG>mvwaddch(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>chtype</STRONG> <EM>ch</EM><STRONG>);</STRONG>
+
+ <STRONG>int</STRONG> <STRONG>echochar(const</STRONG> <STRONG>chtype</STRONG> <EM>ch</EM><STRONG>);</STRONG>
+ <STRONG>int</STRONG> <STRONG>wechochar(WINDOW</STRONG> <STRONG>*</STRONG><EM>win</EM><STRONG>,</STRONG> <STRONG>const</STRONG> <STRONG>chtype</STRONG> <EM>ch</EM><STRONG>);</STRONG>
</PRE><H2><a name="h2-DESCRIPTION">DESCRIPTION</a></H2><PRE>
@@ -95,34 +96,35 @@
<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.
- 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.
+ If <EM>ch</EM> is any other nonprintable character, it is drawn in printable
+ form, i.e., the <STRONG>^</STRONG><EM>X</EM> notation used by <STRONG><A HREF="unctrl.3x.html">unctrl(3x)</A></STRONG>. Calling <STRONG>winch</STRONG> after
+ adding a nonprintable character does not return the character itself,
+ but instead returns the printable representation of the 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><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.
+ another using <STRONG><A HREF="curs_inch.3x.html">inch(3x)</A></STRONG> and <STRONG>addch</STRONG>.) See the <STRONG><A HREF="curs_attr.3x.html">curs_attr(3x)</A></STRONG> page for
+ values of predefined video attribute constants that can be usefully
+ OR'ed into characters.
</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.
+ output is used and, for non-control characters, a considerable
+ performance gain may be seen by using these routines instead of their
+ equivalents.
</PRE><H3><a name="h3-Line-Graphics">Line Graphics</a></H3><PRE>
The following variables may be used to add line drawing characters to
the screen with routines of the <STRONG>addch</STRONG> family. The default character
listed below is used if the <STRONG>acsc</STRONG> capability does not define a terminal-
- specific replacement for it, or if the terminal and locale configura-
- tion requires Unicode but the library is unable to use Unicode.
+ specific replacement for it, or if the terminal and locale
+ configuration requires Unicode but the library is unable to use
+ Unicode.
The names are taken from VT100 nomenclature.
@@ -165,14 +167,25 @@
</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
+ SVr4 manuals specify only "an integer value other than <STRONG>ERR</STRONG>") upon
+ successful completion, unless otherwise noted in the preceding routine
descriptions.
- Functions with a "mv" prefix first perform a cursor movement using
+ 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.
+ If it is not possible to add a complete character, an error is
+ returned:
+
+ <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
+
+ <STRONG>o</STRONG> If an error is detected when converting a multibyte character to a
+ sequence of bytes, or if it is not possible to add all of the
+ resulting bytes in the window, an error is returned.
+
</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.
@@ -186,9 +199,9 @@
</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:
+ 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. Some
+ implementations are problematic:
<STRONG>o</STRONG> Some implementations define the ACS symbols to a constant (such as
Solaris), while others define those to entries in an array.
@@ -198,20 +211,20 @@
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.
+ 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.
<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
+ the ACS_LANTERN symbol, equating its "VT100+ Character" to <STRONG>I</STRONG>
+ (capital I), while the header files for SVr4 curses and the various
implementations use <STRONG>i</STRONG> (lowercase).
None of the terminal descriptions on Unix platforms use uppercase-
- I, except for Solaris (i.e., <EM>screen</EM>'s terminal description, appar-
- ently based on the X/Open documentation around 1995). On the other
- hand, the terminal description <EM>gs6300</EM> (AT&amp;T PC6300 with EMOTS Ter-
- minal Emulator) uses lowercase-i.
+ I, except for Solaris (i.e., <EM>screen</EM>'s terminal description,
+ apparently based on the X/Open documentation around 1995). On the
+ other hand, the terminal description <EM>gs6300</EM> (AT&amp;T PC6300 with EMOTS
+ Terminal 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
@@ -228,9 +241,9 @@
<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>).
+ In certain cases, the terminal is unable to display line-drawing
+ characters except by using UTF-8 (see the discussion of
+ <STRONG>NCURSES_NO_UTF8_ACS</STRONG> in <STRONG><A HREF="ncurses.3x.html">ncurses(3x)</A></STRONG>).
</PRE><H3><a name="h3-Character-Set">Character Set</a></H3><PRE>
@@ -238,9 +251,9 @@
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>.
+ distinction between SVr4 curses and X/Open Curses is that the non-
+ character information (attributes and color) was separated from the
+ character information which is packed in a <STRONG>chtype</STRONG> to pass to <STRONG>waddch</STRONG>.
In this implementation, <STRONG>chtype</STRONG> holds an eight-bit character. But
ncurses allows multibyte characters to be passed in a succession of
@@ -257,8 +270,8 @@
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:
+ For portability to other implementations, do not rely upon this
+ behavior:
<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
@@ -277,8 +290,8 @@
</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>.
+ <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>.
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>.
diff --git a/doc/html/man/curs_addchstr.3x.html b/doc/html/man/curs_addchstr.3x.html
index 787129277565..5712a67cd967 100644
--- a/doc/html/man/curs_addchstr.3x.html
+++ b/doc/html/man/curs_addchstr.3x.html
@@ -27,7 +27,7 @@
* sale, use or other dealings in this Software without prior written *
* authorization. *
****************************************************************************
- * @Id: curs_addchstr.3x,v 1.19 2020/02/02 23:34:34 tom Exp @
+ * @Id: curs_addchstr.3x,v 1.22 2020/12/19 21:39:20 tom Exp @
-->
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN">
<HTML>
@@ -55,14 +55,15 @@
</PRE><H2><a name="h2-SYNOPSIS">SYNOPSIS</a></H2><PRE>
<STRONG>#include</STRONG> <STRONG>&lt;curses.h&gt;</STRONG>
- <STRONG>int</STRONG> <STRONG>addchstr(const</STRONG> <STRONG>chtype</STRONG> <STRONG>*chstr);</STRONG>
- <STRONG>int</STRONG> <STRONG>addchnstr(const</STRONG> <STRONG>chtype</STRONG> <STRONG>*chstr,</STRONG> <STRONG>int</STRONG> <STRONG>n);</STRONG>
- <STRONG>int</STRONG> <STRONG>waddchstr(WINDOW</STRONG> <STRONG>*win,</STRONG> <STRONG>const</STRONG> <STRONG>chtype</STRONG> <STRONG>*chstr);</STRONG>
- <STRONG>int</STRONG> <STRONG>waddchnstr(WINDOW</STRONG> <STRONG>*win,</STRONG> <STRONG>const</STRONG> <STRONG>chtype</STRONG> <STRONG>*chstr,</STRONG> <STRONG>int</STRONG> <STRONG>n);</STRONG>
- <STRONG>int</STRONG> <STRONG>mvaddchstr(int</STRONG> <STRONG>y,</STRONG> <STRONG>int</STRONG> <STRONG>x,</STRONG> <STRONG>const</STRONG> <STRONG>chtype</STRONG> <STRONG>*chstr);</STRONG>
- <STRONG>int</STRONG> <STRONG>mvaddchnstr(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>
- <STRONG>int</STRONG> <STRONG>mvwaddchstr(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>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>
+ <STRONG>int</STRONG> <STRONG>addchstr(const</STRONG> <STRONG>chtype</STRONG> <STRONG>*</STRONG><EM>chstr</EM><STRONG>);</STRONG>
+ <STRONG>int</STRONG> <STRONG>addchnstr(const</STRONG> <STRONG>chtype</STRONG> <STRONG>*</STRONG><EM>chstr</EM><STRONG>,</STRONG> <STRONG>int</STRONG> <EM>n</EM><STRONG>);</STRONG>
+ <STRONG>int</STRONG> <STRONG>waddchstr(WINDOW</STRONG> <STRONG>*</STRONG><EM>win</EM><STRONG>,</STRONG> <STRONG>const</STRONG> <STRONG>chtype</STRONG> <STRONG>*</STRONG><EM>chstr</EM><STRONG>);</STRONG>
+ <STRONG>int</STRONG> <STRONG>waddchnstr(WINDOW</STRONG> <STRONG>*</STRONG><EM>win</EM><STRONG>,</STRONG> <STRONG>const</STRONG> <STRONG>chtype</STRONG> <STRONG>*</STRONG><EM>chstr</EM><STRONG>,</STRONG> <STRONG>int</STRONG> <EM>n</EM><STRONG>);</STRONG>
+
+ <STRONG>int</STRONG> <STRONG>mvaddchstr(int</STRONG> <EM>y</EM><STRONG>,</STRONG> <STRONG>int</STRONG> <EM>x</EM><STRONG>,</STRONG> <STRONG>const</STRONG> <STRONG>chtype</STRONG> <STRONG>*</STRONG><EM>chstr</EM><STRONG>);</STRONG>
+ <STRONG>int</STRONG> <STRONG>mvaddchnstr(int</STRONG> <EM>y</EM><STRONG>,</STRONG> <STRONG>int</STRONG> <EM>x</EM><STRONG>,</STRONG> <STRONG>const</STRONG> <STRONG>chtype</STRONG> <STRONG>*</STRONG><EM>chstr</EM><STRONG>,</STRONG> <STRONG>int</STRONG> <EM>n</EM><STRONG>);</STRONG>
+ <STRONG>int</STRONG> <STRONG>mvwaddchstr(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>chtype</STRONG> <STRONG>*</STRONG><EM>chstr</EM><STRONG>);</STRONG>
+ <STRONG>int</STRONG> <STRONG>mvwaddchnstr(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>chtype</STRONG> <STRONG>*</STRONG><EM>chstr</EM><STRONG>,</STRONG> <STRONG>int</STRONG> <EM>n</EM><STRONG>);</STRONG>
</PRE><H2><a name="h2-DESCRIPTION">DESCRIPTION</a></H2><PRE>
@@ -106,7 +107,7 @@
</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>.
+ <STRONG><A HREF="ncurses.3x.html">curses(3x)</A></STRONG>, <STRONG><A HREF="curs_addstr.3x.html">curs_addstr(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>.
diff --git a/doc/html/man/curs_addstr.3x.html b/doc/html/man/curs_addstr.3x.html
index 243afe46bd6f..50a8ce5b62f8 100644
--- a/doc/html/man/curs_addstr.3x.html
+++ b/doc/html/man/curs_addstr.3x.html
@@ -27,7 +27,7 @@
* sale, use or other dealings in this Software without prior written *
* authorization. *
****************************************************************************
- * @Id: curs_addstr.3x,v 1.20 2020/02/02 23:34:34 tom Exp @
+ * @Id: curs_addstr.3x,v 1.23 2020/10/17 23:11:02 tom Exp @
-->
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN">
<HTML>
@@ -59,6 +59,7 @@
<STRONG>int</STRONG> <STRONG>addnstr(const</STRONG> <STRONG>char</STRONG> <STRONG>*</STRONG><EM>str</EM><STRONG>,</STRONG> <STRONG>int</STRONG> <EM>n</EM><STRONG>);</STRONG>
<STRONG>int</STRONG> <STRONG>waddstr(WINDOW</STRONG> <STRONG>*</STRONG><EM>win</EM><STRONG>,</STRONG> <STRONG>const</STRONG> <STRONG>char</STRONG> <STRONG>*</STRONG><EM>str</EM><STRONG>);</STRONG>
<STRONG>int</STRONG> <STRONG>waddnstr(WINDOW</STRONG> <STRONG>*</STRONG><EM>win</EM><STRONG>,</STRONG> <STRONG>const</STRONG> <STRONG>char</STRONG> <STRONG>*</STRONG><EM>str</EM><STRONG>,</STRONG> <STRONG>int</STRONG> <EM>n</EM><STRONG>);</STRONG>
+
<STRONG>int</STRONG> <STRONG>mvaddstr(int</STRONG> <EM>y</EM><STRONG>,</STRONG> <STRONG>int</STRONG> <EM>x</EM><STRONG>,</STRONG> <STRONG>const</STRONG> <STRONG>char</STRONG> <STRONG>*</STRONG><EM>str</EM><STRONG>);</STRONG>
<STRONG>int</STRONG> <STRONG>mvaddnstr(int</STRONG> <EM>y</EM><STRONG>,</STRONG> <STRONG>int</STRONG> <EM>x</EM><STRONG>,</STRONG> <STRONG>const</STRONG> <STRONG>char</STRONG> <STRONG>*</STRONG><EM>str</EM><STRONG>,</STRONG> <STRONG>int</STRONG> <EM>n</EM><STRONG>);</STRONG>
<STRONG>int</STRONG> <STRONG>mvwaddstr(WINDOW</STRONG> <STRONG>*</STRONG><EM>win</EM><STRONG>,</STRONG> <STRONG>int</STRONG> <EM>y</EM><STRONG>,</STRONG> <STRONG>int</STRONG> <EM>x</EM><STRONG>,</STRONG> <STRONG>const</STRONG> <STRONG>char</STRONG> <STRONG>*</STRONG><EM>str</EM><STRONG>);</STRONG>
@@ -67,16 +68,16 @@
</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.
+ given window. It is similar to calling <STRONG>waddch</STRONG> once for each byte in
+ the string.
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> charac-
- ters, or until a terminating null is reached. If <EM>n</EM> is -1, then the en-
- tire string will be added.
+ The four functions with <EM>n</EM> as the last argument write at most <EM>n</EM> bytes,
+ or until a terminating null is reached. If <EM>n</EM> is -1, then the entire
+ string will be added.
</PRE><H2><a name="h2-RETURN-VALUE">RETURN VALUE</a></H2><PRE>
@@ -93,7 +94,15 @@
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 window pointer is null. If an error is returned by the <STRONG>wmove</STRONG>, no
+ characters are added to the window.
+
+ If an error is returned by <STRONG>waddch</STRONG> (e.g., because the window is not
+ large enough, or an illegal byte sequence was detected) only part of
+ the string may be added. Aside from that, there is a special case in
+ <STRONG>waddch</STRONG> where an error may be returned after successfully writing a
+ character to the lower-right corner of a window when <STRONG>scrollok</STRONG> is dis-
+ abled.
</PRE><H2><a name="h2-NOTES">NOTES</a></H2><PRE>
diff --git a/doc/html/man/curs_addwstr.3x.html b/doc/html/man/curs_addwstr.3x.html
index 6fea2aea3096..f157a29674d5 100644
--- a/doc/html/man/curs_addwstr.3x.html
+++ b/doc/html/man/curs_addwstr.3x.html
@@ -27,7 +27,7 @@
* sale, use or other dealings in this Software without prior written *
* authorization. *
****************************************************************************
- * @Id: curs_addwstr.3x,v 1.14 2020/02/02 23:34:34 tom Exp @
+ * @Id: curs_addwstr.3x,v 1.15 2020/10/17 23:12:22 tom Exp @
-->
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN">
<HTML>
@@ -59,6 +59,7 @@
<STRONG>int</STRONG> <STRONG>addnwstr(const</STRONG> <STRONG>wchar_t</STRONG> <STRONG>*</STRONG><EM>wstr</EM><STRONG>,</STRONG> <STRONG>int</STRONG> <EM>n</EM><STRONG>);</STRONG>
<STRONG>int</STRONG> <STRONG>waddwstr(WINDOW</STRONG> <STRONG>*</STRONG><EM>win</EM><STRONG>,</STRONG> <STRONG>const</STRONG> <STRONG>wchar_t</STRONG> <STRONG>*</STRONG><EM>wstr</EM><STRONG>);</STRONG>
<STRONG>int</STRONG> <STRONG>waddnwstr(WINDOW</STRONG> <STRONG>*</STRONG><EM>win</EM><STRONG>,</STRONG> <STRONG>const</STRONG> <STRONG>wchar_t</STRONG> <STRONG>*</STRONG><EM>wstr</EM><STRONG>,</STRONG> <STRONG>int</STRONG> <EM>n</EM><STRONG>);</STRONG>
+
<STRONG>int</STRONG> <STRONG>mvaddwstr(int</STRONG> <EM>y</EM><STRONG>,</STRONG> <STRONG>int</STRONG> <EM>x</EM><STRONG>,</STRONG> <STRONG>const</STRONG> <STRONG>wchar_t</STRONG> <STRONG>*</STRONG><EM>wstr</EM><STRONG>);</STRONG>
<STRONG>int</STRONG> <STRONG>mvaddnwstr(int</STRONG> <EM>y</EM><STRONG>,</STRONG> <STRONG>int</STRONG> <EM>x</EM><STRONG>,</STRONG> <STRONG>const</STRONG> <STRONG>wchar_t</STRONG> <STRONG>*</STRONG><EM>wstr</EM><STRONG>,</STRONG> <STRONG>int</STRONG> <EM>n</EM><STRONG>);</STRONG>
<STRONG>int</STRONG> <STRONG>mvwaddwstr(WINDOW</STRONG> <STRONG>*</STRONG><EM>win</EM><STRONG>,</STRONG> <STRONG>int</STRONG> <EM>y</EM><STRONG>,</STRONG> <STRONG>int</STRONG> <EM>x</EM><STRONG>,</STRONG> <STRONG>const</STRONG> <STRONG>wchar_t</STRONG> <STRONG>*</STRONG><EM>wstr</EM><STRONG>);</STRONG>
diff --git a/doc/html/man/curs_attr.3x.html b/doc/html/man/curs_attr.3x.html
index 4e9cccc17ee1..95e98e41dd27 100644
--- a/doc/html/man/curs_attr.3x.html
+++ b/doc/html/man/curs_attr.3x.html
@@ -401,8 +401,8 @@
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.
+ bilities. This implementation makes the assumption that <STRONG>exit_attri-</STRONG>
+ <STRONG>bute_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-
diff --git a/doc/html/man/curs_beep.3x.html b/doc/html/man/curs_beep.3x.html
index e486c8b4593a..d9719d84b73e 100644
--- a/doc/html/man/curs_beep.3x.html
+++ b/doc/html/man/curs_beep.3x.html
@@ -59,11 +59,11 @@
</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.
+ 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-RETURN-VALUE">RETURN VALUE</a></H2><PRE>
@@ -72,8 +72,8 @@
</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.
+ 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-PORTABILITY">PORTABILITY</a></H2><PRE>
diff --git a/doc/html/man/curs_bkgd.3x.html b/doc/html/man/curs_bkgd.3x.html
index 0e3dca8de4e3..d47f7b5e7716 100644
--- a/doc/html/man/curs_bkgd.3x.html
+++ b/doc/html/man/curs_bkgd.3x.html
@@ -27,7 +27,7 @@
* sale, use or other dealings in this Software without prior written *
* authorization. *
****************************************************************************
- * @Id: curs_bkgd.3x,v 1.30 2020/02/02 23:34:34 tom Exp @
+ * @Id: curs_bkgd.3x,v 1.31 2020/10/17 23:12:52 tom Exp @
-->
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN">
<HTML>
@@ -56,8 +56,10 @@
<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>
@@ -65,8 +67,8 @@
</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
+ 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
characters that are written into the window with <STRONG>waddch</STRONG>. Both the
character and attribute parts of the background are combined with the
@@ -97,9 +99,9 @@
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:
+ the rendition by comparing the character, non-color attributes and
+ colors 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
@@ -107,20 +109,20 @@
<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.
+ and color pair in the cell with those from the new background
+ character.
<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.
+ It finishes by setting the cell to use the color from the new
+ background.
<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.
+ attributes, first removing those which may have come from the
+ current background, and then adding attributes from the new
+ background.
If the background's character value is zero, a space is assumed.
@@ -136,8 +138,8 @@
</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.
+ specifies that <STRONG>bkgd</STRONG> and <STRONG>wbkgd</STRONG> return <STRONG>ERR</STRONG> on failure, but gives no
+ failure conditions.
The routines <STRONG>bkgd</STRONG> and <STRONG>wbkgd</STRONG> return the integer <STRONG>OK</STRONG>, unless the library
has not been initialized.
diff --git a/doc/html/man/curs_bkgrnd.3x.html b/doc/html/man/curs_bkgrnd.3x.html
index a1ab9247d9b9..ec8a36e735cb 100644
--- a/doc/html/man/curs_bkgrnd.3x.html
+++ b/doc/html/man/curs_bkgrnd.3x.html
@@ -27,7 +27,7 @@
* sale, use or other dealings in this Software without prior written *
* authorization. *
****************************************************************************
- * @Id: curs_bkgrnd.3x,v 1.11 2020/02/02 23:34:34 tom Exp @
+ * @Id: curs_bkgrnd.3x,v 1.12 2020/10/17 23:13:15 tom Exp @
-->
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN">
<HTML>
@@ -56,8 +56,10 @@
<STRONG>int</STRONG> <STRONG>bkgrnd(</STRONG> <STRONG>const</STRONG> <STRONG>cchar_t</STRONG> <STRONG>*</STRONG><EM>wch</EM><STRONG>);</STRONG>
<STRONG>int</STRONG> <STRONG>wbkgrnd(</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>void</STRONG> <STRONG>bkgrndset(const</STRONG> <STRONG>cchar_t</STRONG> <STRONG>*</STRONG><EM>wch</EM> <STRONG>);</STRONG>
<STRONG>void</STRONG> <STRONG>wbkgrndset(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>getbkgrnd(cchar_t</STRONG> <STRONG>*</STRONG><EM>wch</EM><STRONG>);</STRONG>
<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>
@@ -71,8 +73,8 @@
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
+ 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
@@ -82,8 +84,8 @@
</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:
+ current or specified window and then apply this setting to every
+ character position in that window:
<STRONG>o</STRONG> The rendition of every character on the screen is changed to the
new background rendition.
diff --git a/doc/html/man/curs_border.3x.html b/doc/html/man/curs_border.3x.html
index f148f20a5140..20013f61ab52 100644
--- a/doc/html/man/curs_border.3x.html
+++ b/doc/html/man/curs_border.3x.html
@@ -27,7 +27,7 @@
* sale, use or other dealings in this Software without prior written *
* authorization. *
****************************************************************************
- * @Id: curs_border.3x,v 1.25 2020/02/02 23:34:34 tom Exp @
+ * @Id: curs_border.3x,v 1.27 2020/10/18 00:33:06 tom Exp @
-->
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN">
<HTML>
@@ -54,20 +54,24 @@
</PRE><H2><a name="h2-SYNOPSIS">SYNOPSIS</a></H2><PRE>
<STRONG>#include</STRONG> <STRONG>&lt;curses.h&gt;</STRONG>
- <STRONG>int</STRONG> <STRONG>border(chtype</STRONG> <STRONG>ls,</STRONG> <STRONG>chtype</STRONG> <STRONG>rs,</STRONG> <STRONG>chtype</STRONG> <STRONG>ts,</STRONG> <STRONG>chtype</STRONG> <STRONG>bs,</STRONG>
- <STRONG>chtype</STRONG> <STRONG>tl,</STRONG> <STRONG>chtype</STRONG> <STRONG>tr,</STRONG> <STRONG>chtype</STRONG> <STRONG>bl,</STRONG> <STRONG>chtype</STRONG> <STRONG>br);</STRONG>
- <STRONG>int</STRONG> <STRONG>wborder(WINDOW</STRONG> <STRONG>*win,</STRONG> <STRONG>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>
- <STRONG>int</STRONG> <STRONG>box(WINDOW</STRONG> <STRONG>*win,</STRONG> <STRONG>chtype</STRONG> <STRONG>verch,</STRONG> <STRONG>chtype</STRONG> <STRONG>horch);</STRONG>
- <STRONG>int</STRONG> <STRONG>hline(chtype</STRONG> <STRONG>ch,</STRONG> <STRONG>int</STRONG> <STRONG>n);</STRONG>
- <STRONG>int</STRONG> <STRONG>whline(WINDOW</STRONG> <STRONG>*win,</STRONG> <STRONG>chtype</STRONG> <STRONG>ch,</STRONG> <STRONG>int</STRONG> <STRONG>n);</STRONG>
- <STRONG>int</STRONG> <STRONG>vline(chtype</STRONG> <STRONG>ch,</STRONG> <STRONG>int</STRONG> <STRONG>n);</STRONG>
- <STRONG>int</STRONG> <STRONG>wvline(WINDOW</STRONG> <STRONG>*win,</STRONG> <STRONG>chtype</STRONG> <STRONG>ch,</STRONG> <STRONG>int</STRONG> <STRONG>n);</STRONG>
- <STRONG>int</STRONG> <STRONG>mvhline(int</STRONG> <STRONG>y,</STRONG> <STRONG>int</STRONG> <STRONG>x,</STRONG> <STRONG>chtype</STRONG> <STRONG>ch,</STRONG> <STRONG>int</STRONG> <STRONG>n);</STRONG>
- <STRONG>int</STRONG> <STRONG>mvwhline(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>
- <STRONG>int</STRONG> <STRONG>mvvline(int</STRONG> <STRONG>y,</STRONG> <STRONG>int</STRONG> <STRONG>x,</STRONG> <STRONG>chtype</STRONG> <STRONG>ch,</STRONG> <STRONG>int</STRONG> <STRONG>n);</STRONG>
- <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>
+
+ <STRONG>int</STRONG> <STRONG>border(chtype</STRONG> <EM>ls</EM><STRONG>,</STRONG> <STRONG>chtype</STRONG> <EM>rs</EM><STRONG>,</STRONG> <STRONG>chtype</STRONG> <EM>ts</EM><STRONG>,</STRONG> <STRONG>chtype</STRONG> <EM>bs</EM><STRONG>,</STRONG>
+ <STRONG>chtype</STRONG> <EM>tl</EM><STRONG>,</STRONG> <STRONG>chtype</STRONG> <EM>tr</EM><STRONG>,</STRONG> <STRONG>chtype</STRONG> <EM>bl</EM><STRONG>,</STRONG> <STRONG>chtype</STRONG> <EM>br</EM><STRONG>);</STRONG>
+ <STRONG>int</STRONG> <STRONG>wborder(WINDOW</STRONG> <STRONG>*</STRONG><EM>win</EM><STRONG>,</STRONG> <STRONG>chtype</STRONG> <EM>ls</EM><STRONG>,</STRONG> <STRONG>chtype</STRONG> <EM>rs</EM><STRONG>,</STRONG>
+ <STRONG>chtype</STRONG> <EM>ts</EM><STRONG>,</STRONG> <STRONG>chtype</STRONG> <EM>bs</EM><STRONG>,</STRONG> <STRONG>chtype</STRONG> <EM>tl</EM><STRONG>,</STRONG> <STRONG>chtype</STRONG> <EM>tr</EM><STRONG>,</STRONG>
+ <STRONG>chtype</STRONG> <EM>bl</EM><STRONG>,</STRONG> <STRONG>chtype</STRONG> <EM>br</EM><STRONG>);</STRONG>
+
+ <STRONG>int</STRONG> <STRONG>box(WINDOW</STRONG> <STRONG>*</STRONG><EM>win</EM><STRONG>,</STRONG> <STRONG>chtype</STRONG> <EM>verch</EM><STRONG>,</STRONG> <STRONG>chtype</STRONG> <EM>horch</EM><STRONG>);</STRONG>
+
+ <STRONG>int</STRONG> <STRONG>hline(chtype</STRONG> <EM>ch</EM><STRONG>,</STRONG> <STRONG>int</STRONG> <EM>n</EM><STRONG>);</STRONG>
+ <STRONG>int</STRONG> <STRONG>whline(WINDOW</STRONG> <STRONG>*</STRONG><EM>win</EM><STRONG>,</STRONG> <STRONG>chtype</STRONG> <EM>ch</EM><STRONG>,</STRONG> <STRONG>int</STRONG> <EM>n</EM><STRONG>);</STRONG>
+ <STRONG>int</STRONG> <STRONG>vline(chtype</STRONG> <EM>ch</EM><STRONG>,</STRONG> <STRONG>int</STRONG> <EM>n</EM><STRONG>);</STRONG>
+ <STRONG>int</STRONG> <STRONG>wvline(WINDOW</STRONG> <STRONG>*</STRONG><EM>win</EM><STRONG>,</STRONG> <STRONG>chtype</STRONG> <EM>ch</EM><STRONG>,</STRONG> <STRONG>int</STRONG> <EM>n</EM><STRONG>);</STRONG>
+
+ <STRONG>int</STRONG> <STRONG>mvhline(int</STRONG> <EM>y</EM><STRONG>,</STRONG> <STRONG>int</STRONG> <EM>x</EM><STRONG>,</STRONG> <STRONG>chtype</STRONG> <EM>ch</EM><STRONG>,</STRONG> <STRONG>int</STRONG> <EM>n</EM><STRONG>);</STRONG>
+ <STRONG>int</STRONG> <STRONG>mvwhline(WINDOW</STRONG> <STRONG>*</STRONG><EM>win</EM><STRONG>,</STRONG> <STRONG>int</STRONG> <EM>y</EM><STRONG>,</STRONG> <STRONG>int</STRONG> <EM>x</EM><STRONG>,</STRONG> <STRONG>chtype</STRONG> <EM>ch</EM><STRONG>,</STRONG> <STRONG>int</STRONG> <EM>n</EM><STRONG>);</STRONG>
+ <STRONG>int</STRONG> <STRONG>mvvline(int</STRONG> <EM>y</EM><STRONG>,</STRONG> <STRONG>int</STRONG> <EM>x</EM><STRONG>,</STRONG> <STRONG>chtype</STRONG> <EM>ch</EM><STRONG>,</STRONG> <STRONG>int</STRONG> <EM>n</EM><STRONG>);</STRONG>
+ <STRONG>int</STRONG> <STRONG>mvwvline(WINDOW</STRONG> <STRONG>*</STRONG><EM>win</EM><STRONG>,</STRONG> <STRONG>int</STRONG> <EM>y</EM><STRONG>,</STRONG> <STRONG>int</STRONG> <EM>x</EM><STRONG>,</STRONG> <STRONG>chtype</STRONG> <EM>ch</EM><STRONG>,</STRONG> <STRONG>int</STRONG> <EM>n</EM><STRONG>);</STRONG>
</PRE><H2><a name="h2-DESCRIPTION">DESCRIPTION</a></H2><PRE>
diff --git a/doc/html/man/curs_clear.3x.html b/doc/html/man/curs_clear.3x.html
index d48eeb2dcff5..bf7fa0a208c3 100644
--- a/doc/html/man/curs_clear.3x.html
+++ b/doc/html/man/curs_clear.3x.html
@@ -27,7 +27,7 @@
* sale, use or other dealings in this Software without prior written *
* authorization. *
****************************************************************************
- * @Id: curs_clear.3x,v 1.17 2020/02/02 23:34:34 tom Exp @
+ * @Id: curs_clear.3x,v 1.20 2020/10/24 09:19:37 tom Exp @
-->
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN">
<HTML>
@@ -52,16 +52,19 @@
</PRE><H2><a name="h2-SYNOPSIS">SYNOPSIS</a></H2><PRE>
- <STRONG>#</STRONG> <STRONG>include</STRONG> <STRONG>&lt;curses.h&gt;</STRONG>
+ <STRONG>#include</STRONG> <STRONG>&lt;curses.h&gt;</STRONG>
<STRONG>int</STRONG> <STRONG>erase(void);</STRONG>
- <STRONG>int</STRONG> <STRONG>werase(WINDOW</STRONG> <STRONG>*win);</STRONG>
+ <STRONG>int</STRONG> <STRONG>werase(WINDOW</STRONG> <STRONG>*</STRONG><EM>win</EM><STRONG>);</STRONG>
+
<STRONG>int</STRONG> <STRONG>clear(void);</STRONG>
- <STRONG>int</STRONG> <STRONG>wclear(WINDOW</STRONG> <STRONG>*win);</STRONG>
+ <STRONG>int</STRONG> <STRONG>wclear(WINDOW</STRONG> <STRONG>*</STRONG><EM>win</EM><STRONG>);</STRONG>
+
<STRONG>int</STRONG> <STRONG>clrtobot(void);</STRONG>
- <STRONG>int</STRONG> <STRONG>wclrtobot(WINDOW</STRONG> <STRONG>*win);</STRONG>
+ <STRONG>int</STRONG> <STRONG>wclrtobot(WINDOW</STRONG> <STRONG>*</STRONG><EM>win</EM><STRONG>);</STRONG>
+
<STRONG>int</STRONG> <STRONG>clrtoeol(void);</STRONG>
- <STRONG>int</STRONG> <STRONG>wclrtoeol(WINDOW</STRONG> <STRONG>*win);</STRONG>
+ <STRONG>int</STRONG> <STRONG>wclrtoeol(WINDOW</STRONG> <STRONG>*</STRONG><EM>win</EM><STRONG>);</STRONG>
</PRE><H2><a name="h2-DESCRIPTION">DESCRIPTION</a></H2><PRE>
@@ -85,12 +88,14 @@
</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.
+ All routines return the integer <STRONG>OK</STRONG> on success and <STRONG>ERR</STRONG> on failure.
- X/Open defines no error conditions. In this implementation, functions
- using a window pointer parameter return an error if it is null.
+ X/Open defines no error conditions. In this implementation,
+
+ <STRONG>o</STRONG> functions using a window pointer parameter return an error if it is
+ null
+
+ <STRONG>o</STRONG> <STRONG>wclrtoeol</STRONG> returns an error if the cursor position is about to wrap.
</PRE><H2><a name="h2-NOTES">NOTES</a></H2><PRE>
@@ -103,17 +108,22 @@
standard specifies that they return <STRONG>ERR</STRONG> on failure, but specifies no
error conditions.
- 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>
+ The SVr4.0 manual says that these functions could return "a non-nega-
+ tive integer if <STRONG>immedok</STRONG> is set", referring to the return-value of <STRONG>wre-</STRONG>
+ <STRONG>fresh</STRONG>. In that implementation, <STRONG>wrefresh</STRONG> would return a count of the
+ number of characters written to the terminal.
+
+ 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 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-
+ 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 derived window. If you do not
+ 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.
diff --git a/doc/html/man/curs_color.3x.html b/doc/html/man/curs_color.3x.html
index 591ed4081fbc..c672b72a90ef 100644
--- a/doc/html/man/curs_color.3x.html
+++ b/doc/html/man/curs_color.3x.html
@@ -27,7 +27,7 @@
* sale, use or other dealings in this Software without prior written *
* authorization. *
****************************************************************************
- * @Id: curs_color.3x,v 1.62 2020/02/02 23:34:34 tom Exp @
+ * @Id: curs_color.3x,v 1.63 2020/10/24 09:35:23 tom Exp @
-->
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN">
<HTML>
@@ -61,22 +61,22 @@
<STRONG>bool</STRONG> <STRONG>has_colors(void);</STRONG>
<STRONG>bool</STRONG> <STRONG>can_change_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>int</STRONG> <STRONG>init_pair(short</STRONG> <EM>pair</EM><STRONG>,</STRONG> <STRONG>short</STRONG> <EM>f</EM><STRONG>,</STRONG> <STRONG>short</STRONG> <EM>b</EM><STRONG>);</STRONG>
+ <STRONG>int</STRONG> <STRONG>init_color(short</STRONG> <EM>color</EM><STRONG>,</STRONG> <STRONG>short</STRONG> <EM>r</EM><STRONG>,</STRONG> <STRONG>short</STRONG> <EM>g</EM><STRONG>,</STRONG> <STRONG>short</STRONG> <EM>b</EM><STRONG>);</STRONG>
/* 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>init_extended_pair(int</STRONG> <EM>pair</EM><STRONG>,</STRONG> <STRONG>int</STRONG> <EM>f</EM><STRONG>,</STRONG> <STRONG>int</STRONG> <EM>b</EM><STRONG>);</STRONG>
+ <STRONG>int</STRONG> <STRONG>init_extended_color(int</STRONG> <EM>color</EM><STRONG>,</STRONG> <STRONG>int</STRONG> <EM>r</EM><STRONG>,</STRONG> <STRONG>int</STRONG> <EM>g</EM><STRONG>,</STRONG> <STRONG>int</STRONG> <EM>b</EM><STRONG>);</STRONG>
- <STRONG>int</STRONG> <STRONG>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>
+ <STRONG>int</STRONG> <STRONG>color_content(short</STRONG> <EM>color</EM><STRONG>,</STRONG> <STRONG>short</STRONG> <STRONG>*</STRONG><EM>r</EM><STRONG>,</STRONG> <STRONG>short</STRONG> <STRONG>*</STRONG><EM>g</EM><STRONG>,</STRONG> <STRONG>short</STRONG> <STRONG>*</STRONG><EM>b</EM><STRONG>);</STRONG>
+ <STRONG>int</STRONG> <STRONG>pair_content(short</STRONG> <EM>pair</EM><STRONG>,</STRONG> <STRONG>short</STRONG> <STRONG>*</STRONG><EM>f</EM><STRONG>,</STRONG> <STRONG>short</STRONG> <STRONG>*</STRONG><EM>b</EM><STRONG>);</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>
+ <STRONG>int</STRONG> <STRONG>extended_color_content(int</STRONG> <EM>color</EM><STRONG>,</STRONG> <STRONG>int</STRONG> <STRONG>*</STRONG><EM>r</EM><STRONG>,</STRONG> <STRONG>int</STRONG> <STRONG>*</STRONG><EM>g</EM><STRONG>,</STRONG> <STRONG>int</STRONG> <STRONG>*</STRONG><EM>b</EM><STRONG>);</STRONG>
+ <STRONG>int</STRONG> <STRONG>extended_pair_content(int</STRONG> <EM>pair</EM><STRONG>,</STRONG> <STRONG>int</STRONG> <STRONG>*</STRONG><EM>f</EM><STRONG>,</STRONG> <STRONG>int</STRONG> <STRONG>*</STRONG><EM>b</EM><STRONG>);</STRONG>
/* extensions */
<STRONG>void</STRONG> <STRONG>reset_color_pairs(void);</STRONG>
- <STRONG>int</STRONG> <STRONG>COLOR_PAIR(int</STRONG> <STRONG>n);</STRONG>
+ <STRONG>int</STRONG> <STRONG>COLOR_PAIR(int</STRONG> <EM>n</EM><STRONG>);</STRONG>
<STRONG>PAIR_NUMBER(</STRONG><EM>attrs</EM><STRONG>);</STRONG>
@@ -135,8 +135,8 @@
<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.
+ parameter, if it is nonzero. Otherwise, it tries the window attri-
+ bute 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-
diff --git a/doc/html/man/curs_delch.3x.html b/doc/html/man/curs_delch.3x.html
index 341efbfb6557..17698ec5574e 100644
--- a/doc/html/man/curs_delch.3x.html
+++ b/doc/html/man/curs_delch.3x.html
@@ -27,7 +27,7 @@
* sale, use or other dealings in this Software without prior written *
* authorization. *
****************************************************************************
- * @Id: curs_delch.3x,v 1.14 2020/02/02 23:34:34 tom Exp @
+ * @Id: curs_delch.3x,v 1.15 2020/10/24 09:36:43 tom Exp @
-->
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN">
<HTML>
@@ -55,24 +55,24 @@
<STRONG>#include</STRONG> <STRONG>&lt;curses.h&gt;</STRONG>
<STRONG>int</STRONG> <STRONG>delch(void);</STRONG>
- <STRONG>int</STRONG> <STRONG>wdelch(WINDOW</STRONG> <STRONG>*win);</STRONG>
- <STRONG>int</STRONG> <STRONG>mvdelch(int</STRONG> <STRONG>y,</STRONG> <STRONG>int</STRONG> <STRONG>x);</STRONG>
- <STRONG>int</STRONG> <STRONG>mvwdelch(WINDOW</STRONG> <STRONG>*win,</STRONG> <STRONG>int</STRONG> <STRONG>y,</STRONG> <STRONG>int</STRONG> <STRONG>x);</STRONG>
+ <STRONG>int</STRONG> <STRONG>wdelch(WINDOW</STRONG> <STRONG>*</STRONG><EM>win</EM><STRONG>);</STRONG>
+ <STRONG>int</STRONG> <STRONG>mvdelch(int</STRONG> <EM>y</EM><STRONG>,</STRONG> <STRONG>int</STRONG> <EM>x</EM><STRONG>);</STRONG>
+ <STRONG>int</STRONG> <STRONG>mvwdelch(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>
</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.)
+ The cursor position does not change (after moving to <EM>y</EM>, <EM>x</EM>, if
+ specified). (This does not imply use of the hardware delete character
+ feature.)
</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.
+ 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.
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
diff --git a/doc/html/man/curs_deleteln.3x.html b/doc/html/man/curs_deleteln.3x.html
index 83add2b064b2..59a0f1222924 100644
--- a/doc/html/man/curs_deleteln.3x.html
+++ b/doc/html/man/curs_deleteln.3x.html
@@ -27,7 +27,7 @@
* sale, use or other dealings in this Software without prior written *
* authorization. *
****************************************************************************
- * @Id: curs_deleteln.3x,v 1.15 2020/02/02 23:34:34 tom Exp @
+ * @Id: curs_deleteln.3x,v 1.17 2020/10/18 00:28:51 tom Exp @
-->
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN">
<HTML>
@@ -55,11 +55,13 @@
<STRONG>#include</STRONG> <STRONG>&lt;curses.h&gt;</STRONG>
<STRONG>int</STRONG> <STRONG>deleteln(void);</STRONG>
- <STRONG>int</STRONG> <STRONG>wdeleteln(WINDOW</STRONG> <STRONG>*win);</STRONG>
- <STRONG>int</STRONG> <STRONG>insdelln(int</STRONG> <STRONG>n);</STRONG>
- <STRONG>int</STRONG> <STRONG>winsdelln(WINDOW</STRONG> <STRONG>*win,</STRONG> <STRONG>int</STRONG> <STRONG>n);</STRONG>
+ <STRONG>int</STRONG> <STRONG>wdeleteln(WINDOW</STRONG> <STRONG>*</STRONG><EM>win</EM><STRONG>);</STRONG>
+
+ <STRONG>int</STRONG> <STRONG>insdelln(int</STRONG> <EM>n</EM><STRONG>);</STRONG>
+ <STRONG>int</STRONG> <STRONG>winsdelln(WINDOW</STRONG> <STRONG>*</STRONG><EM>win</EM><STRONG>,</STRONG> <STRONG>int</STRONG> <EM>n</EM><STRONG>);</STRONG>
+
<STRONG>int</STRONG> <STRONG>insertln(void);</STRONG>
- <STRONG>int</STRONG> <STRONG>winsertln(WINDOW</STRONG> <STRONG>*win);</STRONG>
+ <STRONG>int</STRONG> <STRONG>winsertln(WINDOW</STRONG> <STRONG>*</STRONG><EM>win</EM><STRONG>);</STRONG>
</PRE><H2><a name="h2-DESCRIPTION">DESCRIPTION</a></H2><PRE>
@@ -74,14 +76,14 @@
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 cur-
- rent line and the bottom line is lost.
+ The <STRONG>insertln</STRONG> and <STRONG>winsertln</STRONG> routines insert a blank line above the
+ current line and the bottom line is lost.
</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.
+ 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.
X/Open defines no error conditions. In this implementation, if the
window parameter is null, an error is returned.
@@ -98,8 +100,8 @@
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.
+ delete/insert unless <STRONG>idlok(...,</STRONG> <STRONG>TRUE)</STRONG> has been set on the current
+ window.
</PRE><H2><a name="h2-SEE-ALSO">SEE ALSO</a></H2><PRE>
diff --git a/doc/html/man/curs_extend.3x.html b/doc/html/man/curs_extend.3x.html
index b37889aae2e3..f1645a31be49 100644
--- a/doc/html/man/curs_extend.3x.html
+++ b/doc/html/man/curs_extend.3x.html
@@ -28,7 +28,7 @@
* authorization. *
****************************************************************************
* Author: Thomas E. Dickey 1999-on
- * @Id: curs_extend.3x,v 1.23 2020/02/02 23:34:34 tom Exp @
+ * @Id: curs_extend.3x,v 1.24 2020/10/24 09:37:07 tom Exp @
-->
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN">
<HTML>
@@ -55,7 +55,7 @@
<STRONG>#include</STRONG> <STRONG>&lt;curses.h&gt;</STRONG>
<STRONG>const</STRONG> <STRONG>char</STRONG> <STRONG>*</STRONG> <STRONG>curses_version(void);</STRONG>
- <STRONG>int</STRONG> <STRONG>use_extended_names(bool</STRONG> <STRONG>enable);</STRONG>
+ <STRONG>int</STRONG> <STRONG>use_extended_names(bool</STRONG> <EM>enable</EM><STRONG>);</STRONG>
</PRE><H2><a name="h2-DESCRIPTION">DESCRIPTION</a></H2><PRE>
@@ -69,11 +69,11 @@
</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
+ The <STRONG>use_extended_names</STRONG> function controls whether the calling
+ application is able to use user-defined or nonstandard 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.
diff --git a/doc/html/man/curs_get_wch.3x.html b/doc/html/man/curs_get_wch.3x.html
index 665620556c7c..ad6619f2d77e 100644
--- a/doc/html/man/curs_get_wch.3x.html
+++ b/doc/html/man/curs_get_wch.3x.html
@@ -27,7 +27,7 @@
* sale, use or other dealings in this Software without prior written *
* authorization. *
****************************************************************************
- * @Id: curs_get_wch.3x,v 1.13 2020/02/02 23:34:34 tom Exp @
+ * @Id: curs_get_wch.3x,v 1.14 2020/10/17 23:17:05 tom Exp @
-->
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN">
<HTML>
@@ -58,6 +58,7 @@
<STRONG>int</STRONG> <STRONG>wget_wch(WINDOW</STRONG> <STRONG>*</STRONG><EM>win</EM><STRONG>,</STRONG> <STRONG>wint_t</STRONG> <STRONG>*</STRONG><EM>wch</EM><STRONG>);</STRONG>
<STRONG>int</STRONG> <STRONG>mvget_wch(int</STRONG> <EM>y</EM><STRONG>,</STRONG> <STRONG>int</STRONG> <EM>x</EM><STRONG>,</STRONG> <STRONG>wint_t</STRONG> <STRONG>*</STRONG><EM>wch</EM><STRONG>);</STRONG>
<STRONG>int</STRONG> <STRONG>mvwget_wch(WINDOW</STRONG> <STRONG>*</STRONG><EM>win</EM><STRONG>,</STRONG> <STRONG>int</STRONG> <EM>y</EM><STRONG>,</STRONG> <STRONG>int</STRONG> <EM>x</EM><STRONG>,</STRONG> <STRONG>wint_t</STRONG> <STRONG>*</STRONG><EM>wch</EM><STRONG>);</STRONG>
+
<STRONG>int</STRONG> <STRONG>unget_wch(const</STRONG> <STRONG>wchar_t</STRONG> <EM>wch</EM><STRONG>);</STRONG>
diff --git a/doc/html/man/curs_get_wstr.3x.html b/doc/html/man/curs_get_wstr.3x.html
index 4169df236c61..0d30c9e59c4d 100644
--- a/doc/html/man/curs_get_wstr.3x.html
+++ b/doc/html/man/curs_get_wstr.3x.html
@@ -27,7 +27,7 @@
* sale, use or other dealings in this Software without prior written *
* authorization. *
****************************************************************************
- * @Id: curs_get_wstr.3x,v 1.20 2020/02/02 23:34:34 tom Exp @
+ * @Id: curs_get_wstr.3x,v 1.21 2020/10/17 23:17:24 tom Exp @
-->
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN">
<HTML>
@@ -59,6 +59,7 @@
<STRONG>int</STRONG> <STRONG>getn_wstr(wint_t</STRONG> <STRONG>*</STRONG><EM>wstr</EM><STRONG>,</STRONG> <STRONG>int</STRONG> <EM>n</EM><STRONG>);</STRONG>
<STRONG>int</STRONG> <STRONG>wget_wstr(WINDOW</STRONG> <STRONG>*</STRONG><EM>win</EM><STRONG>,</STRONG> <STRONG>wint_t</STRONG> <STRONG>*</STRONG><EM>wstr</EM><STRONG>);</STRONG>
<STRONG>int</STRONG> <STRONG>wgetn_wstr(WINDOW</STRONG> <STRONG>*</STRONG><EM>win</EM><STRONG>,</STRONG> <STRONG>wint_t</STRONG> <STRONG>*</STRONG><EM>wstr</EM><STRONG>,</STRONG> <STRONG>int</STRONG> <EM>n</EM><STRONG>);</STRONG>
+
<STRONG>int</STRONG> <STRONG>mvget_wstr(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> <STRONG>mvgetn_wstr(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>
<STRONG>int</STRONG> <STRONG>mvwget_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>
diff --git a/doc/html/man/curs_getcchar.3x.html b/doc/html/man/curs_getcchar.3x.html
index adee87eb8777..6a45e0ac8121 100644
--- a/doc/html/man/curs_getcchar.3x.html
+++ b/doc/html/man/curs_getcchar.3x.html
@@ -73,8 +73,8 @@
</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>cchar_t</STRONG> argument. When <EM>wch</EM> is not a null pointer, the <STRONG>getcchar</STRONG>
+ function does the following:
<STRONG>o</STRONG> Extracts information from a <STRONG>cchar_t</STRONG> value <EM>wcval</EM>
@@ -123,8 +123,8 @@
<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.
+ color pair as an <STRONG>int</STRONG> value, in addition retrieving it via the
+ standard pointer to <STRONG>short</STRONG> parameter.
</PRE><H2><a name="h2-NOTES">NOTES</a></H2><PRE>
@@ -134,8 +134,8 @@
</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.
+ 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.
@@ -180,8 +180,8 @@
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.
+ 2002), this detail was overlooked when beginning to implement the
+ functions using the structure.
In practice, even four non-spacing characters may seem enough. X/Open
Curses documents possible uses for non-spacing characters, including
diff --git a/doc/html/man/curs_getch.3x.html b/doc/html/man/curs_getch.3x.html
index 63817d527640..b4e6c5cd5211 100644
--- a/doc/html/man/curs_getch.3x.html
+++ b/doc/html/man/curs_getch.3x.html
@@ -28,7 +28,7 @@
* sale, use or other dealings in this Software without prior written *
* authorization. *
****************************************************************************
- * @Id: curs_getch.3x,v 1.55 2020/02/02 23:34:34 tom Exp @
+ * @Id: curs_getch.3x,v 1.57 2020/12/19 21:38:20 tom Exp @
-->
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN">
<HTML>
@@ -57,9 +57,13 @@
<STRONG>int</STRONG> <STRONG>getch(void);</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>
+
+ /* extension */
<STRONG>int</STRONG> <STRONG>has_key(int</STRONG> <EM>ch</EM><STRONG>);</STRONG>
@@ -176,11 +180,11 @@
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
@@ -371,8 +375,8 @@
</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>.
+ <STRONG><A HREF="ncurses.3x.html">curses(3x)</A></STRONG>, <STRONG><A HREF="curs_inopts.3x.html">curs_inopts(3x)</A></STRONG>, <STRONG><A HREF="curs_mouse.3x.html">curs_mouse(3x)</A></STRONG>, <STRONG><A HREF="curs_move.3x.html">curs_move(3x)</A></STRONG>, <STRONG>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><A HREF="resizeterm.3x.html">resizeterm(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>.
diff --git a/doc/html/man/curs_getstr.3x.html b/doc/html/man/curs_getstr.3x.html
index ca39dbf3beec..5d8a2c0e5cc5 100644
--- a/doc/html/man/curs_getstr.3x.html
+++ b/doc/html/man/curs_getstr.3x.html
@@ -27,7 +27,7 @@
* sale, use or other dealings in this Software without prior written *
* authorization. *
****************************************************************************
- * @Id: curs_getstr.3x,v 1.29 2020/02/02 23:34:34 tom Exp @
+ * @Id: curs_getstr.3x,v 1.31 2020/10/18 00:27:44 tom Exp @
* X/Open says also until EOf
* X/Open says then an EOS is added to the result
* X/Open doesn't mention n&lt;0
@@ -57,14 +57,15 @@
</PRE><H2><a name="h2-SYNOPSIS">SYNOPSIS</a></H2><PRE>
<STRONG>#include</STRONG> <STRONG>&lt;curses.h&gt;</STRONG>
- <STRONG>int</STRONG> <STRONG>getstr(char</STRONG> <STRONG>*str);</STRONG>
- <STRONG>int</STRONG> <STRONG>getnstr(char</STRONG> <STRONG>*str,</STRONG> <STRONG>int</STRONG> <STRONG>n);</STRONG>
- <STRONG>int</STRONG> <STRONG>wgetstr(WINDOW</STRONG> <STRONG>*win,</STRONG> <STRONG>char</STRONG> <STRONG>*str);</STRONG>
- <STRONG>int</STRONG> <STRONG>wgetnstr(WINDOW</STRONG> <STRONG>*win,</STRONG> <STRONG>char</STRONG> <STRONG>*str,</STRONG> <STRONG>int</STRONG> <STRONG>n);</STRONG>
- <STRONG>int</STRONG> <STRONG>mvgetstr(int</STRONG> <STRONG>y,</STRONG> <STRONG>int</STRONG> <STRONG>x,</STRONG> <STRONG>char</STRONG> <STRONG>*str);</STRONG>
- <STRONG>int</STRONG> <STRONG>mvwgetstr(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>mvgetnstr(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>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>
+ <STRONG>int</STRONG> <STRONG>getstr(char</STRONG> <STRONG>*</STRONG><EM>str</EM><STRONG>);</STRONG>
+ <STRONG>int</STRONG> <STRONG>getnstr(char</STRONG> <STRONG>*</STRONG><EM>str</EM><STRONG>,</STRONG> <STRONG>int</STRONG> <EM>n</EM><STRONG>);</STRONG>
+ <STRONG>int</STRONG> <STRONG>wgetstr(WINDOW</STRONG> <STRONG>*</STRONG><EM>win</EM><STRONG>,</STRONG> <STRONG>char</STRONG> <STRONG>*</STRONG><EM>str</EM><STRONG>);</STRONG>
+ <STRONG>int</STRONG> <STRONG>wgetnstr(WINDOW</STRONG> <STRONG>*</STRONG><EM>win</EM><STRONG>,</STRONG> <STRONG>char</STRONG> <STRONG>*</STRONG><EM>str</EM><STRONG>,</STRONG> <STRONG>int</STRONG> <EM>n</EM><STRONG>);</STRONG>
+
+ <STRONG>int</STRONG> <STRONG>mvgetstr(int</STRONG> <EM>y</EM><STRONG>,</STRONG> <STRONG>int</STRONG> <EM>x</EM><STRONG>,</STRONG> <STRONG>char</STRONG> <STRONG>*</STRONG><EM>str</EM><STRONG>);</STRONG>
+ <STRONG>int</STRONG> <STRONG>mvwgetstr(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>char</STRONG> <STRONG>*</STRONG><EM>str</EM><STRONG>);</STRONG>
+ <STRONG>int</STRONG> <STRONG>mvgetnstr(int</STRONG> <EM>y</EM><STRONG>,</STRONG> <STRONG>int</STRONG> <EM>x</EM><STRONG>,</STRONG> <STRONG>char</STRONG> <STRONG>*</STRONG><EM>str</EM><STRONG>,</STRONG> <STRONG>int</STRONG> <EM>n</EM><STRONG>);</STRONG>
+ <STRONG>int</STRONG> <STRONG>mvwgetnstr(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>char</STRONG> <STRONG>*</STRONG><EM>str</EM><STRONG>,</STRONG> <STRONG>int</STRONG> <EM>n</EM><STRONG>);</STRONG>
</PRE><H2><a name="h2-DESCRIPTION">DESCRIPTION</a></H2><PRE>
diff --git a/doc/html/man/curs_getyx.3x.html b/doc/html/man/curs_getyx.3x.html
index 994e0f7f0abe..7543eb2f6f30 100644
--- a/doc/html/man/curs_getyx.3x.html
+++ b/doc/html/man/curs_getyx.3x.html
@@ -27,7 +27,7 @@
* sale, use or other dealings in this Software without prior written *
* authorization. *
****************************************************************************
- * @Id: curs_getyx.3x,v 1.19 2020/02/02 23:34:34 tom Exp @
+ * @Id: curs_getyx.3x,v 1.20 2020/10/24 09:38:43 tom Exp @
-->
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN">
<HTML>
@@ -54,22 +54,22 @@
</PRE><H2><a name="h2-SYNOPSIS">SYNOPSIS</a></H2><PRE>
<STRONG>#include</STRONG> <STRONG>&lt;curses.h&gt;</STRONG>
- <STRONG>void</STRONG> <STRONG>getyx(WINDOW</STRONG> <STRONG>*win,</STRONG> <STRONG>int</STRONG> <STRONG>y,</STRONG> <STRONG>int</STRONG> <STRONG>x);</STRONG>
- <STRONG>void</STRONG> <STRONG>getparyx(WINDOW</STRONG> <STRONG>*win,</STRONG> <STRONG>int</STRONG> <STRONG>y,</STRONG> <STRONG>int</STRONG> <STRONG>x);</STRONG>
- <STRONG>void</STRONG> <STRONG>getbegyx(WINDOW</STRONG> <STRONG>*win,</STRONG> <STRONG>int</STRONG> <STRONG>y,</STRONG> <STRONG>int</STRONG> <STRONG>x);</STRONG>
- <STRONG>void</STRONG> <STRONG>getmaxyx(WINDOW</STRONG> <STRONG>*win,</STRONG> <STRONG>int</STRONG> <STRONG>y,</STRONG> <STRONG>int</STRONG> <STRONG>x);</STRONG>
+ <STRONG>void</STRONG> <STRONG>getyx(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>void</STRONG> <STRONG>getparyx(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>void</STRONG> <STRONG>getbegyx(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>void</STRONG> <STRONG>getmaxyx(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>
</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 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>.
+ 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>. 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 begin-
- ning coordinates and size of the specified window.
+ Like <STRONG>getyx</STRONG>, the <STRONG>getbegyx</STRONG> and <STRONG>getmaxyx</STRONG> macros store the current
+ beginning coordinates and size of the specified window.
</PRE><H2><a name="h2-RETURN-VALUE">RETURN VALUE</a></H2><PRE>
@@ -90,17 +90,18 @@
<STRONG>getcury</STRONG>, <STRONG>getmaxx</STRONG>, <STRONG>getmaxy</STRONG>, <STRONG>getparx</STRONG> and <STRONG>getpary</STRONG> for compatibility with
older versions of curses.
- 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
+ Although X/Open Curses does not address this, many implementations
+ provide 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>.
+ least since release 1.8.1) differed by one from some other
+ implementations. The difference is hidden by means of the macro
+ <STRONG>getmaxyx</STRONG>.
</PRE><H2><a name="h2-SEE-ALSO">SEE ALSO</a></H2><PRE>
diff --git a/doc/html/man/curs_in_wch.3x.html b/doc/html/man/curs_in_wch.3x.html
index ed9dd6a63ccd..7fed34ba9edd 100644
--- a/doc/html/man/curs_in_wch.3x.html
+++ b/doc/html/man/curs_in_wch.3x.html
@@ -27,7 +27,7 @@
* sale, use or other dealings in this Software without prior written *
* authorization. *
****************************************************************************
- * @Id: curs_in_wch.3x,v 1.9 2020/02/02 23:34:34 tom Exp @
+ * @Id: curs_in_wch.3x,v 1.10 2020/10/17 23:19:29 tom Exp @
-->
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN">
<HTML>
@@ -55,9 +55,10 @@
<STRONG>#include</STRONG> <STRONG>&lt;curses.h&gt;</STRONG>
<STRONG>int</STRONG> <STRONG>in_wch(cchar_t</STRONG> <STRONG>*</STRONG><EM>wcval</EM><STRONG>);</STRONG>
+ <STRONG>int</STRONG> <STRONG>win_wch(WINDOW</STRONG> <STRONG>*</STRONG><EM>win</EM><STRONG>,</STRONG> <STRONG>cchar_t</STRONG> <STRONG>*</STRONG><EM>wcval</EM><STRONG>);</STRONG>
+
<STRONG>int</STRONG> <STRONG>mvin_wch(int</STRONG> <EM>y</EM><STRONG>,</STRONG> <STRONG>int</STRONG> <EM>x</EM><STRONG>,</STRONG> <STRONG>cchar_t</STRONG> <STRONG>*</STRONG><EM>wcval</EM><STRONG>);</STRONG>
<STRONG>int</STRONG> <STRONG>mvwin_wch(WINDOW</STRONG> <STRONG>*</STRONG><EM>win</EM><STRONG>,</STRONG> <STRONG>int</STRONG> <EM>y</EM><STRONG>,</STRONG> <STRONG>int</STRONG> <EM>x</EM><STRONG>,</STRONG> <STRONG>cchar_t</STRONG> <STRONG>*</STRONG><EM>wcval</EM><STRONG>);</STRONG>
- <STRONG>int</STRONG> <STRONG>win_wch(WINDOW</STRONG> <STRONG>*</STRONG><EM>win</EM><STRONG>,</STRONG> <STRONG>cchar_t</STRONG> <STRONG>*</STRONG><EM>wcval</EM><STRONG>);</STRONG>
</PRE><H2><a name="h2-DESCRIPTION">DESCRIPTION</a></H2><PRE>
@@ -68,8 +69,8 @@
</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.
+ checks for null pointers, returns <STRONG>ERR</STRONG> in that case. Also, the <EM>mv</EM>
+ routines check for error moving the cursor, returning <STRONG>ERR</STRONG> in that case.
Otherwise they return <STRONG>OK</STRONG>.
Functions with a "mv" prefix first perform a cursor movement using
diff --git a/doc/html/man/curs_in_wchstr.3x.html b/doc/html/man/curs_in_wchstr.3x.html
index 089801bb4898..f1b048f51307 100644
--- a/doc/html/man/curs_in_wchstr.3x.html
+++ b/doc/html/man/curs_in_wchstr.3x.html
@@ -27,7 +27,7 @@
* sale, use or other dealings in this Software without prior written *
* authorization. *
****************************************************************************
- * @Id: curs_in_wchstr.3x,v 1.13 2020/02/02 23:34:34 tom Exp @
+ * @Id: curs_in_wchstr.3x,v 1.14 2020/10/17 23:19:44 tom Exp @
-->
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN">
<HTML>
@@ -59,6 +59,7 @@
<STRONG>int</STRONG> <STRONG>in_wchnstr(cchar_t</STRONG> <STRONG>*</STRONG><EM>wchstr</EM><STRONG>,</STRONG> <STRONG>int</STRONG> <EM>n</EM><STRONG>);</STRONG>
<STRONG>int</STRONG> <STRONG>win_wchstr(WINDOW</STRONG> <STRONG>*</STRONG><EM>win</EM><STRONG>,</STRONG> <STRONG>cchar_t</STRONG> <STRONG>*</STRONG><EM>wchstr</EM><STRONG>);</STRONG>
<STRONG>int</STRONG> <STRONG>win_wchnstr(WINDOW</STRONG> <STRONG>*</STRONG><EM>win</EM><STRONG>,</STRONG> <STRONG>cchar_t</STRONG> <STRONG>*</STRONG><EM>wchstr</EM><STRONG>,</STRONG> <STRONG>int</STRONG> <EM>n</EM><STRONG>);</STRONG>
+
<STRONG>int</STRONG> <STRONG>mvin_wchstr(int</STRONG> <EM>y</EM><STRONG>,</STRONG> <STRONG>int</STRONG> <EM>x</EM><STRONG>,</STRONG> <STRONG>cchar_t</STRONG> <STRONG>*</STRONG><EM>wchstr</EM><STRONG>);</STRONG>
<STRONG>int</STRONG> <STRONG>mvin_wchnstr(int</STRONG> <EM>y</EM><STRONG>,</STRONG> <STRONG>int</STRONG> <EM>x</EM><STRONG>,</STRONG> <STRONG>cchar_t</STRONG> <STRONG>*</STRONG><EM>wchstr</EM><STRONG>,</STRONG> <STRONG>int</STRONG> <EM>n</EM><STRONG>);</STRONG>
<STRONG>int</STRONG> <STRONG>mvwin_wchstr(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><STRONG>);</STRONG>
diff --git a/doc/html/man/curs_inch.3x.html b/doc/html/man/curs_inch.3x.html
index 8de0774aaf7d..a3382dfd186d 100644
--- a/doc/html/man/curs_inch.3x.html
+++ b/doc/html/man/curs_inch.3x.html
@@ -28,7 +28,7 @@
* sale, use or other dealings in this Software without prior written *
* authorization. *
****************************************************************************
- * @Id: curs_inch.3x,v 1.23 2020/02/02 23:34:34 tom Exp @
+ * @Id: curs_inch.3x,v 1.25 2020/10/18 00:25:23 tom Exp @
-->
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN">
<HTML>
@@ -56,15 +56,16 @@
<STRONG>#include</STRONG> <STRONG>&lt;curses.h&gt;</STRONG>
<STRONG>chtype</STRONG> <STRONG>inch(void);</STRONG>
- <STRONG>chtype</STRONG> <STRONG>winch(WINDOW</STRONG> <STRONG>*win);</STRONG>
- <STRONG>chtype</STRONG> <STRONG>mvinch(int</STRONG> <STRONG>y,</STRONG> <STRONG>int</STRONG> <STRONG>x);</STRONG>
- <STRONG>chtype</STRONG> <STRONG>mvwinch(WINDOW</STRONG> <STRONG>*win,</STRONG> <STRONG>int</STRONG> <STRONG>y,</STRONG> <STRONG>int</STRONG> <STRONG>x);</STRONG>
+ <STRONG>chtype</STRONG> <STRONG>winch(WINDOW</STRONG> <STRONG>*</STRONG><EM>win</EM><STRONG>);</STRONG>
+
+ <STRONG>chtype</STRONG> <STRONG>mvinch(int</STRONG> <EM>y</EM><STRONG>,</STRONG> <STRONG>int</STRONG> <EM>x</EM><STRONG>);</STRONG>
+ <STRONG>chtype</STRONG> <STRONG>mvwinch(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>
</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
+ position in the named window. If any attributes are set for that
+ position, their values are OR'ed into the value returned. Constants
defined in <STRONG>&lt;curses.h&gt;</STRONG> can be used with the <STRONG>&amp;</STRONG> (logical AND) operator to
extract the character or attributes alone.
@@ -114,8 +115,8 @@
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.
+ more bits, e.g., a Unicode value, should use the wide-character
+ equivalents to these functions.
</PRE><H2><a name="h2-SEE-ALSO">SEE ALSO</a></H2><PRE>
@@ -123,8 +124,8 @@
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.
+ goes into more detail, pointing out portability problems and
+ constraints on the use of <STRONG>chtype</STRONG> for returning window information.
<STRONG><A HREF="curs_in_wch.3x.html">curs_in_wch(3x)</A></STRONG>
describes comparable functions for the wide-character (ncursesw)
diff --git a/doc/html/man/curs_inchstr.3x.html b/doc/html/man/curs_inchstr.3x.html
index f0f9a707380c..a94a7fcf05e9 100644
--- a/doc/html/man/curs_inchstr.3x.html
+++ b/doc/html/man/curs_inchstr.3x.html
@@ -27,7 +27,7 @@
* sale, use or other dealings in this Software without prior written *
* authorization. *
****************************************************************************
- * @Id: curs_inchstr.3x,v 1.19 2020/02/02 23:34:34 tom Exp @
+ * @Id: curs_inchstr.3x,v 1.21 2020/10/18 00:24:36 tom Exp @
-->
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN">
<HTML>
@@ -55,14 +55,15 @@
</PRE><H2><a name="h2-SYNOPSIS">SYNOPSIS</a></H2><PRE>
<STRONG>#include</STRONG> <STRONG>&lt;curses.h&gt;</STRONG>
- <STRONG>int</STRONG> <STRONG>inchstr(chtype</STRONG> <STRONG>*chstr);</STRONG>
- <STRONG>int</STRONG> <STRONG>inchnstr(chtype</STRONG> <STRONG>*chstr,</STRONG> <STRONG>int</STRONG> <STRONG>n);</STRONG>
- <STRONG>int</STRONG> <STRONG>winchstr(WINDOW</STRONG> <STRONG>*win,</STRONG> <STRONG>chtype</STRONG> <STRONG>*chstr);</STRONG>
- <STRONG>int</STRONG> <STRONG>winchnstr(WINDOW</STRONG> <STRONG>*win,</STRONG> <STRONG>chtype</STRONG> <STRONG>*chstr,</STRONG> <STRONG>int</STRONG> <STRONG>n);</STRONG>
- <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>inchstr(chtype</STRONG> <STRONG>*</STRONG><EM>chstr</EM><STRONG>);</STRONG>
+ <STRONG>int</STRONG> <STRONG>inchnstr(chtype</STRONG> <STRONG>*</STRONG><EM>chstr</EM><STRONG>,</STRONG> <STRONG>int</STRONG> <EM>n</EM><STRONG>);</STRONG>
+ <STRONG>int</STRONG> <STRONG>winchstr(WINDOW</STRONG> <STRONG>*</STRONG><EM>win</EM><STRONG>,</STRONG> <STRONG>chtype</STRONG> <STRONG>*</STRONG><EM>chstr</EM><STRONG>);</STRONG>
+ <STRONG>int</STRONG> <STRONG>winchnstr(WINDOW</STRONG> <STRONG>*</STRONG><EM>win</EM><STRONG>,</STRONG> <STRONG>chtype</STRONG> <STRONG>*</STRONG><EM>chstr</EM><STRONG>,</STRONG> <STRONG>int</STRONG> <EM>n</EM><STRONG>);</STRONG>
+
+ <STRONG>int</STRONG> <STRONG>mvinchstr(int</STRONG> <EM>y</EM><STRONG>,</STRONG> <STRONG>int</STRONG> <EM>x</EM><STRONG>,</STRONG> <STRONG>chtype</STRONG> <STRONG>*</STRONG><EM>chstr</EM><STRONG>);</STRONG>
+ <STRONG>int</STRONG> <STRONG>mvinchnstr(int</STRONG> <EM>y</EM><STRONG>,</STRONG> <STRONG>int</STRONG> <EM>x</EM><STRONG>,</STRONG> <STRONG>chtype</STRONG> <STRONG>*</STRONG><EM>chstr</EM><STRONG>,</STRONG> <STRONG>int</STRONG> <EM>n</EM><STRONG>);</STRONG>
+ <STRONG>int</STRONG> <STRONG>mvwinchstr(WINDOW</STRONG> <STRONG>*</STRONG><EM>win</EM><STRONG>,</STRONG> <STRONG>int</STRONG> <EM>y</EM><STRONG>,</STRONG> <STRONG>int</STRONG> <EM>x</EM><STRONG>,</STRONG> <STRONG>chtype</STRONG> <STRONG>*</STRONG><EM>chstr</EM><STRONG>);</STRONG>
+ <STRONG>int</STRONG> <STRONG>mvwinchnstr(WINDOW</STRONG> <STRONG>*</STRONG><EM>win</EM><STRONG>,</STRONG> <STRONG>int</STRONG> <EM>y</EM><STRONG>,</STRONG> <STRONG>int</STRONG> <EM>x</EM><STRONG>,</STRONG> <STRONG>chtype</STRONG> <STRONG>*</STRONG><EM>chstr</EM><STRONG>,</STRONG> <STRONG>int</STRONG> <EM>n</EM><STRONG>);</STRONG>
</PRE><H2><a name="h2-DESCRIPTION">DESCRIPTION</a></H2><PRE>
diff --git a/doc/html/man/curs_initscr.3x.html b/doc/html/man/curs_initscr.3x.html
index 395a786435b8..ff3e6c26db89 100644
--- a/doc/html/man/curs_initscr.3x.html
+++ b/doc/html/man/curs_initscr.3x.html
@@ -27,7 +27,7 @@
* sale, use or other dealings in this Software without prior written *
* authorization. *
****************************************************************************
- * @Id: curs_initscr.3x,v 1.32 2020/02/02 23:34:34 tom Exp @
+ * @Id: curs_initscr.3x,v 1.33 2020/10/17 23:20:48 tom Exp @
-->
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN">
<HTML>
@@ -56,7 +56,9 @@
<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(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>
diff --git a/doc/html/man/curs_inopts.3x.html b/doc/html/man/curs_inopts.3x.html
index 24f2ef964eae..533d6709f8c5 100644
--- a/doc/html/man/curs_inopts.3x.html
+++ b/doc/html/man/curs_inopts.3x.html
@@ -27,7 +27,7 @@
* sale, use or other dealings in this Software without prior written *
* authorization. *
****************************************************************************
- * @Id: curs_inopts.3x,v 1.29 2020/02/02 23:34:34 tom Exp @
+ * @Id: curs_inopts.3x,v 1.33 2020/12/05 19:38:18 Benno.Schulenberg Exp @
-->
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN">
<HTML>
@@ -47,9 +47,9 @@
</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
+ <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>nl</STRONG>,
+ <STRONG>nonl</STRONG>, <STRONG>nodelay</STRONG>, <STRONG>notimeout</STRONG>, <STRONG>raw</STRONG>, <STRONG>noraw</STRONG>, <STRONG>qiflush</STRONG>, <STRONG>noqiflush</STRONG>, <STRONG>timeout</STRONG>,
+ <STRONG>wtimeout</STRONG>, <STRONG>typeahead</STRONG> - <STRONG>curses</STRONG> input options
</PRE><H2><a name="h2-SYNOPSIS">SYNOPSIS</a></H2><PRE>
@@ -57,21 +57,30 @@
<STRONG>int</STRONG> <STRONG>cbreak(void);</STRONG>
<STRONG>int</STRONG> <STRONG>nocbreak(void);</STRONG>
+
<STRONG>int</STRONG> <STRONG>echo(void);</STRONG>
<STRONG>int</STRONG> <STRONG>noecho(void);</STRONG>
- <STRONG>int</STRONG> <STRONG>halfdelay(int</STRONG> <STRONG>tenths);</STRONG>
- <STRONG>int</STRONG> <STRONG>intrflush(WINDOW</STRONG> <STRONG>*win,</STRONG> <STRONG>bool</STRONG> <STRONG>bf);</STRONG>
- <STRONG>int</STRONG> <STRONG>keypad(WINDOW</STRONG> <STRONG>*win,</STRONG> <STRONG>bool</STRONG> <STRONG>bf);</STRONG>
- <STRONG>int</STRONG> <STRONG>meta(WINDOW</STRONG> <STRONG>*win,</STRONG> <STRONG>bool</STRONG> <STRONG>bf);</STRONG>
- <STRONG>int</STRONG> <STRONG>nodelay(WINDOW</STRONG> <STRONG>*win,</STRONG> <STRONG>bool</STRONG> <STRONG>bf);</STRONG>
+
+ <STRONG>int</STRONG> <STRONG>intrflush(WINDOW</STRONG> <STRONG>*</STRONG><EM>win</EM><STRONG>,</STRONG> <STRONG>bool</STRONG> <EM>bf</EM><STRONG>);</STRONG>
+ <STRONG>int</STRONG> <STRONG>keypad(WINDOW</STRONG> <STRONG>*</STRONG><EM>win</EM><STRONG>,</STRONG> <STRONG>bool</STRONG> <EM>bf</EM><STRONG>);</STRONG>
+ <STRONG>int</STRONG> <STRONG>meta(WINDOW</STRONG> <STRONG>*</STRONG><EM>win</EM><STRONG>,</STRONG> <STRONG>bool</STRONG> <EM>bf</EM><STRONG>);</STRONG>
+ <STRONG>int</STRONG> <STRONG>nodelay(WINDOW</STRONG> <STRONG>*</STRONG><EM>win</EM><STRONG>,</STRONG> <STRONG>bool</STRONG> <EM>bf</EM><STRONG>);</STRONG>
+ <STRONG>int</STRONG> <STRONG>notimeout(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>
+
<STRONG>int</STRONG> <STRONG>raw(void);</STRONG>
<STRONG>int</STRONG> <STRONG>noraw(void);</STRONG>
- <STRONG>void</STRONG> <STRONG>noqiflush(void);</STRONG>
+
<STRONG>void</STRONG> <STRONG>qiflush(void);</STRONG>
- <STRONG>int</STRONG> <STRONG>notimeout(WINDOW</STRONG> <STRONG>*win,</STRONG> <STRONG>bool</STRONG> <STRONG>bf);</STRONG>
- <STRONG>void</STRONG> <STRONG>timeout(int</STRONG> <STRONG>delay);</STRONG>
- <STRONG>void</STRONG> <STRONG>wtimeout(WINDOW</STRONG> <STRONG>*win,</STRONG> <STRONG>int</STRONG> <STRONG>delay);</STRONG>
- <STRONG>int</STRONG> <STRONG>typeahead(int</STRONG> <STRONG>fd);</STRONG>
+ <STRONG>void</STRONG> <STRONG>noqiflush(void);</STRONG>
+
+ <STRONG>int</STRONG> <STRONG>halfdelay(int</STRONG> <EM>tenths</EM><STRONG>);</STRONG>
+ <STRONG>void</STRONG> <STRONG>timeout(int</STRONG> <EM>delay</EM><STRONG>);</STRONG>
+ <STRONG>void</STRONG> <STRONG>wtimeout(WINDOW</STRONG> <STRONG>*</STRONG><EM>win</EM><STRONG>,</STRONG> <STRONG>int</STRONG> <EM>delay</EM><STRONG>);</STRONG>
+
+ <STRONG>int</STRONG> <STRONG>typeahead(int</STRONG> <EM>fd</EM><STRONG>);</STRONG>
</PRE><H2><a name="h2-DESCRIPTION">DESCRIPTION</a></H2><PRE>
@@ -83,7 +92,7 @@
behavior is needed.
-</PRE><H3><a name="h3-cbreak">cbreak</a></H3><PRE>
+</PRE><H3><a name="h3-cbreak_nocbreak">cbreak/nocbreak</a></H3><PRE>
Normally, the tty driver buffers typed characters until a newline or
carriage return is typed. The <STRONG>cbreak</STRONG> routine disables line buffering
and erase/kill character-processing (interrupt and flow control charac-
@@ -153,73 +162,80 @@
<STRONG>FALSE</STRONG>) is called.
+</PRE><H3><a name="h3-nl_nonl">nl/nonl</a></H3><PRE>
+ The <STRONG>nl</STRONG> and <STRONG>nonl</STRONG> routines control whether the underlying display device
+ translates the return key into newline on input.
+
+
</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
+ 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><H3><a name="h3-notimeout">notimeout</a></H3><PRE>
+ When interpreting an escape sequence, <STRONG><A HREF="curs_getch.3x.html">wgetch(3x)</A></STRONG> sets a timer while
+ waiting for the next character. If <STRONG>notimeout(</STRONG><EM>win</EM>, <STRONG>TRUE</STRONG>) is called,
+ then <STRONG>wgetch</STRONG> does not set a timer. The purpose of the timeout is to
+ differentiate between sequences received from a function key and those
+ typed by a user.
</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
+ 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>.
-</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
+</PRE><H3><a name="h3-qiflush_noqiflush">qiflush/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><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
+ 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
+ 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
+ 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
+ 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>
+ 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-
+ 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.
+ 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,
<STRONG>halfdelay</STRONG>
- returns an error if its parameter is outside the range
+ returns an error if its parameter is outside the range
1..255.
@@ -227,13 +243,20 @@
These functions are described in the XSI Curses standard, Issue 4.
The ncurses library obeys the XPG4 standard and the historical practice
- of the AT&amp;T curses implementations, in that the echo bit is cleared
- when curses initializes the terminal state. BSD curses differed from
- this slightly; it left the echo bit on at initialization, but the BSD
- <STRONG>raw</STRONG> call turned it off as a side-effect. For best portability, set
- echo or noecho explicitly just after initialization, even if your pro-
+ of the AT&amp;T curses implementations, in that the echo bit is cleared
+ when curses initializes the terminal state. BSD curses differed from
+ this slightly; it left the echo bit on at initialization, but the BSD
+ <STRONG>raw</STRONG> call turned it off as a side-effect. For best portability, set
+ <STRONG>echo</STRONG> or <STRONG>noecho</STRONG> explicitly just after initialization, even if your pro-
gram remains in cooked mode.
+ The XSI Curses standard is ambiguous on the question of whether <STRONG>raw</STRONG>
+ should disable the CRLF translations controlled by <STRONG>nl</STRONG> and <STRONG>nonl</STRONG>. BSD
+ curses did turn off these translations; AT&amp;T curses (at least as late
+ as SVr1) did not. We chose to do so, on the theory that a programmer
+ requesting raw input wants a clean (ideally 8-bit clean) connection
+ that the operating system will not alter.
+
When <STRONG>keypad</STRONG> is first enabled, 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
@@ -263,8 +286,8 @@
</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.
+ Note that <STRONG>echo</STRONG>, <STRONG>noecho</STRONG>, <STRONG>halfdelay</STRONG>, <STRONG>intrflush</STRONG>, <STRONG>meta</STRONG>, <STRONG>nl</STRONG>, <STRONG>nonl</STRONG>, <STRONG>nodelay</STRONG>,
+ <STRONG>notimeout</STRONG>, <STRONG>noqiflush</STRONG>, <STRONG>qiflush</STRONG>, <STRONG>timeout</STRONG>, and <STRONG>wtimeout</STRONG> may be macros.
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
@@ -287,15 +310,17 @@
<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-cbreak_nocbreak">cbreak/nocbreak</a></li>
<li><a href="#h3-echo_noecho">echo/noecho</a></li>
<li><a href="#h3-halfdelay">halfdelay</a></li>
<li><a href="#h3-intrflush">intrflush</a></li>
<li><a href="#h3-keypad">keypad</a></li>
<li><a href="#h3-meta">meta</a></li>
+<li><a href="#h3-nl_nonl">nl/nonl</a></li>
<li><a href="#h3-nodelay">nodelay</a></li>
+<li><a href="#h3-notimeout">notimeout</a></li>
<li><a href="#h3-raw_noraw">raw/noraw</a></li>
-<li><a href="#h3-noqiflush">noqiflush</a></li>
+<li><a href="#h3-qiflush_noqiflush">qiflush/noqiflush</a></li>
<li><a href="#h3-timeout_wtimeout">timeout/wtimeout</a></li>
<li><a href="#h3-typeahead">typeahead</a></li>
</ul>
diff --git a/doc/html/man/curs_ins_wch.3x.html b/doc/html/man/curs_ins_wch.3x.html
index 2a3734845904..5ab6a01189f8 100644
--- a/doc/html/man/curs_ins_wch.3x.html
+++ b/doc/html/man/curs_ins_wch.3x.html
@@ -27,7 +27,7 @@
* sale, use or other dealings in this Software without prior written *
* authorization. *
****************************************************************************
- * @Id: curs_ins_wch.3x,v 1.8 2020/02/02 23:34:34 tom Exp @
+ * @Id: curs_ins_wch.3x,v 1.10 2020/10/18 00:22:21 tom Exp @
-->
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN">
<HTML>
@@ -55,9 +55,10 @@
#include &lt;curses.h&gt;
<STRONG>int</STRONG> <STRONG>ins_wch(const</STRONG> <STRONG>cchar_t</STRONG> <STRONG>*</STRONG><EM>wch</EM><STRONG>);</STRONG>
- <STRONG>int</STRONG> <STRONG>wins_wch(WINDOW</STRONG> <STRONG>*</STRONG><EM>win,</EM> <EM>const</EM> <EM>cchar</EM><STRONG>_</STRONG><EM>t</EM> <EM>*wch</EM><STRONG>);</STRONG>
- <STRONG>int</STRONG> <STRONG>mvins_wch(int</STRONG> <EM>y,</EM> <EM>int</EM> <EM>x,</EM> <EM>const</EM> <EM>cchar</EM><STRONG>_</STRONG><EM>t</EM> <EM>*wch</EM><STRONG>);</STRONG>
- <STRONG>int</STRONG> <STRONG>mvwins_wch(WINDOW</STRONG> <STRONG>*</STRONG><EM>win,</EM> <EM>int</EM> <EM>y,</EM> <EM>int</EM> <EM>x,</EM> <EM>const</EM> <EM>cchar</EM><STRONG>_</STRONG><EM>t</EM> <EM>*wch</EM><STRONG>);</STRONG>
+ <STRONG>int</STRONG> <STRONG>wins_wch(WINDOW</STRONG> <STRONG>*</STRONG><EM>win</EM><STRONG>,</STRONG> <STRONG>const</STRONG> <STRONG>cchar_t</STRONG> <STRONG>*</STRONG><EM>wch</EM><STRONG>);</STRONG>
+
+ <STRONG>int</STRONG> <STRONG>mvins_wch(int</STRONG> <EM>y</EM><STRONG>,</STRONG> <STRONG>int</STRONG> <EM>x</EM><STRONG>,</STRONG> <STRONG>const</STRONG> <STRONG>cchar_t</STRONG> <STRONG>*</STRONG><EM>wch</EM><STRONG>);</STRONG>
+ <STRONG>int</STRONG> <STRONG>mvwins_wch(WINDOW</STRONG> <STRONG>*</STRONG><EM>win</EM><STRONG>,</STRONG> <STRONG>int</STRONG> <EM>y</EM><STRONG>,</STRONG> <STRONG>int</STRONG> <EM>x</EM><STRONG>,</STRONG> <STRONG>const</STRONG> <STRONG>cchar_t</STRONG> <STRONG>*</STRONG><EM>wch</EM><STRONG>);</STRONG>
</PRE><H2><a name="h2-DESCRIPTION">DESCRIPTION</a></H2><PRE>
diff --git a/doc/html/man/curs_ins_wstr.3x.html b/doc/html/man/curs_ins_wstr.3x.html
index d30ad4fdce36..fdb40881149d 100644
--- a/doc/html/man/curs_ins_wstr.3x.html
+++ b/doc/html/man/curs_ins_wstr.3x.html
@@ -27,7 +27,7 @@
* sale, use or other dealings in this Software without prior written *
* authorization. *
****************************************************************************
- * @Id: curs_ins_wstr.3x,v 1.10 2020/02/02 23:34:34 tom Exp @
+ * @Id: curs_ins_wstr.3x,v 1.11 2020/10/17 23:21:25 tom Exp @
-->
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN">
<HTML>
@@ -59,6 +59,7 @@
<STRONG>int</STRONG> <STRONG>ins_nwstr(const</STRONG> <STRONG>wchar_t</STRONG> <STRONG>*</STRONG><EM>wstr</EM><STRONG>,</STRONG> <STRONG>int</STRONG> <EM>n</EM><STRONG>);</STRONG>
<STRONG>int</STRONG> <STRONG>wins_wstr(WINDOW</STRONG> <STRONG>*</STRONG><EM>win</EM><STRONG>,</STRONG> <STRONG>const</STRONG> <STRONG>wchar_t</STRONG> <STRONG>*</STRONG><EM>wstr</EM><STRONG>);</STRONG>
<STRONG>int</STRONG> <STRONG>wins_nwstr(WINDOW</STRONG> <STRONG>*</STRONG><EM>win</EM><STRONG>,</STRONG> <STRONG>const</STRONG> <STRONG>wchar_t</STRONG> <STRONG>*</STRONG><EM>wstr</EM><STRONG>,</STRONG> <STRONG>int</STRONG> <EM>n</EM><STRONG>);</STRONG>
+
<STRONG>int</STRONG> <STRONG>mvins_wstr(int</STRONG> <EM>y</EM><STRONG>,</STRONG> <STRONG>int</STRONG> <EM>x</EM><STRONG>,</STRONG> <STRONG>const</STRONG> <STRONG>wchar_t</STRONG> <STRONG>*</STRONG><EM>wstr</EM><STRONG>);</STRONG>
<STRONG>int</STRONG> <STRONG>mvins_nwstr(int</STRONG> <EM>y</EM><STRONG>,</STRONG> <STRONG>int</STRONG> <EM>x</EM><STRONG>,</STRONG> <STRONG>const</STRONG> <STRONG>wchar_t</STRONG> <STRONG>*</STRONG><EM>wstr</EM><STRONG>,</STRONG> <STRONG>int</STRONG> <EM>n</EM><STRONG>);</STRONG>
<STRONG>int</STRONG> <STRONG>mvwins_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>const</STRONG> <STRONG>wchar_t</STRONG> <STRONG>*</STRONG><EM>wstr</EM><STRONG>);</STRONG>
diff --git a/doc/html/man/curs_insch.3x.html b/doc/html/man/curs_insch.3x.html
index 1bda98e412b9..c727aa7149db 100644
--- a/doc/html/man/curs_insch.3x.html
+++ b/doc/html/man/curs_insch.3x.html
@@ -27,7 +27,7 @@
* sale, use or other dealings in this Software without prior written *
* authorization. *
****************************************************************************
- * @Id: curs_insch.3x,v 1.17 2020/02/02 23:34:34 tom Exp @
+ * @Id: curs_insch.3x,v 1.19 2020/10/18 00:21:39 tom Exp @
-->
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN">
<HTML>
@@ -54,10 +54,11 @@
</PRE><H2><a name="h2-SYNOPSIS">SYNOPSIS</a></H2><PRE>
<STRONG>#include</STRONG> <STRONG>&lt;curses.h&gt;</STRONG>
- <STRONG>int</STRONG> <STRONG>insch(chtype</STRONG> <STRONG>ch);</STRONG>
- <STRONG>int</STRONG> <STRONG>winsch(WINDOW</STRONG> <STRONG>*win,</STRONG> <STRONG>chtype</STRONG> <STRONG>ch);</STRONG>
- <STRONG>int</STRONG> <STRONG>mvinsch(int</STRONG> <STRONG>y,</STRONG> <STRONG>int</STRONG> <STRONG>x,</STRONG> <STRONG>chtype</STRONG> <STRONG>ch);</STRONG>
- <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>
+ <STRONG>int</STRONG> <STRONG>insch(chtype</STRONG> <EM>ch</EM><STRONG>);</STRONG>
+ <STRONG>int</STRONG> <STRONG>winsch(WINDOW</STRONG> <STRONG>*</STRONG><EM>win</EM><STRONG>,</STRONG> <STRONG>chtype</STRONG> <EM>ch</EM><STRONG>);</STRONG>
+
+ <STRONG>int</STRONG> <STRONG>mvinsch(int</STRONG> <EM>y</EM><STRONG>,</STRONG> <STRONG>int</STRONG> <EM>x</EM><STRONG>,</STRONG> <STRONG>chtype</STRONG> <EM>ch</EM><STRONG>);</STRONG>
+ <STRONG>int</STRONG> <STRONG>mvwinsch(WINDOW</STRONG> <STRONG>*</STRONG><EM>win</EM><STRONG>,</STRONG> <STRONG>int</STRONG> <EM>y</EM><STRONG>,</STRONG> <STRONG>int</STRONG> <EM>x</EM><STRONG>,</STRONG> <STRONG>chtype</STRONG> <EM>ch</EM><STRONG>);</STRONG>
</PRE><H2><a name="h2-DESCRIPTION">DESCRIPTION</a></H2><PRE>
@@ -71,8 +72,8 @@
</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.
+ 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
@@ -80,8 +81,8 @@
</PRE><H2><a name="h2-NOTES">NOTES</a></H2><PRE>
- These routines do not necessarily imply use of a hardware insert char-
- acter feature.
+ These routines do not necessarily imply use of a hardware insert
+ character feature.
Note that <STRONG>insch</STRONG>, <STRONG>mvinsch</STRONG>, and <STRONG>mvwinsch</STRONG> may be macros.
diff --git a/doc/html/man/curs_insstr.3x.html b/doc/html/man/curs_insstr.3x.html
index 7c9efa725aef..7d4815a6914b 100644
--- a/doc/html/man/curs_insstr.3x.html
+++ b/doc/html/man/curs_insstr.3x.html
@@ -27,7 +27,7 @@
* sale, use or other dealings in this Software without prior written *
* authorization. *
****************************************************************************
- * @Id: curs_insstr.3x,v 1.24 2020/02/02 23:34:34 tom Exp @
+ * @Id: curs_insstr.3x,v 1.26 2020/10/18 00:20:36 tom Exp @
-->
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN">
<HTML>
@@ -53,14 +53,15 @@
</PRE><H2><a name="h2-SYNOPSIS">SYNOPSIS</a></H2><PRE>
<STRONG>#include</STRONG> <STRONG>&lt;curses.h&gt;</STRONG>
- <STRONG>int</STRONG> <STRONG>insstr(const</STRONG> <STRONG>char</STRONG> <STRONG>*str);</STRONG>
- <STRONG>int</STRONG> <STRONG>insnstr(const</STRONG> <STRONG>char</STRONG> <STRONG>*str,</STRONG> <STRONG>int</STRONG> <STRONG>n);</STRONG>
- <STRONG>int</STRONG> <STRONG>winsstr(WINDOW</STRONG> <STRONG>*win,</STRONG> <STRONG>const</STRONG> <STRONG>char</STRONG> <STRONG>*str);</STRONG>
- <STRONG>int</STRONG> <STRONG>winsnstr(WINDOW</STRONG> <STRONG>*win,</STRONG> <STRONG>const</STRONG> <STRONG>char</STRONG> <STRONG>*str,</STRONG> <STRONG>int</STRONG> <STRONG>n);</STRONG>
- <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>insstr(const</STRONG> <STRONG>char</STRONG> <STRONG>*</STRONG><EM>str</EM><STRONG>);</STRONG>
+ <STRONG>int</STRONG> <STRONG>insnstr(const</STRONG> <STRONG>char</STRONG> <STRONG>*</STRONG><EM>str</EM><STRONG>,</STRONG> <STRONG>int</STRONG> <EM>n</EM><STRONG>);</STRONG>
+ <STRONG>int</STRONG> <STRONG>winsstr(WINDOW</STRONG> <STRONG>*</STRONG><EM>win</EM><STRONG>,</STRONG> <STRONG>const</STRONG> <STRONG>char</STRONG> <STRONG>*</STRONG><EM>str</EM><STRONG>);</STRONG>
+ <STRONG>int</STRONG> <STRONG>winsnstr(WINDOW</STRONG> <STRONG>*</STRONG><EM>win</EM><STRONG>,</STRONG> <STRONG>const</STRONG> <STRONG>char</STRONG> <STRONG>*</STRONG><EM>str</EM><STRONG>,</STRONG> <STRONG>int</STRONG> <EM>n</EM><STRONG>);</STRONG>
+
+ <STRONG>int</STRONG> <STRONG>mvinsstr(int</STRONG> <EM>y</EM><STRONG>,</STRONG> <STRONG>int</STRONG> <EM>x</EM><STRONG>,</STRONG> <STRONG>const</STRONG> <STRONG>char</STRONG> <STRONG>*</STRONG><EM>str</EM><STRONG>);</STRONG>
+ <STRONG>int</STRONG> <STRONG>mvinsnstr(int</STRONG> <EM>y</EM><STRONG>,</STRONG> <STRONG>int</STRONG> <EM>x</EM><STRONG>,</STRONG> <STRONG>const</STRONG> <STRONG>char</STRONG> <STRONG>*</STRONG><EM>str</EM><STRONG>,</STRONG> <STRONG>int</STRONG> <EM>n</EM><STRONG>);</STRONG>
+ <STRONG>int</STRONG> <STRONG>mvwinsstr(WINDOW</STRONG> <STRONG>*</STRONG><EM>win</EM><STRONG>,</STRONG> <STRONG>int</STRONG> <EM>y</EM><STRONG>,</STRONG> <STRONG>int</STRONG> <EM>x</EM><STRONG>,</STRONG> <STRONG>const</STRONG> <STRONG>char</STRONG> <STRONG>*</STRONG><EM>str</EM><STRONG>);</STRONG>
+ <STRONG>int</STRONG> <STRONG>mvwinsnstr(WINDOW</STRONG> <STRONG>*</STRONG><EM>win</EM><STRONG>,</STRONG> <STRONG>int</STRONG> <EM>y</EM><STRONG>,</STRONG> <STRONG>int</STRONG> <EM>x</EM><STRONG>,</STRONG> <STRONG>const</STRONG> <STRONG>char</STRONG> <STRONG>*</STRONG><EM>str</EM><STRONG>,</STRONG> <STRONG>int</STRONG> <EM>n</EM><STRONG>);</STRONG>
</PRE><H2><a name="h2-DESCRIPTION">DESCRIPTION</a></H2><PRE>
@@ -78,8 +79,8 @@
</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.
+ completion, unless otherwise noted in the preceding routine
+ descriptions.
X/Open defines no error conditions. In this implementation, if the
window parameter is null or the str parameter is null, an error is
@@ -98,10 +99,10 @@
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>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.
+ The Single Unix Specification, Version 2 states that <STRONG>insnstr</STRONG> and
+ <STRONG>winsnstr</STRONG> perform wrapping. This is probably an error, since it makes
+ this group of functions inconsistent. Also, no implementation of
+ curses documents this inconsistency.
</PRE><H2><a name="h2-SEE-ALSO">SEE ALSO</a></H2><PRE>
diff --git a/doc/html/man/curs_instr.3x.html b/doc/html/man/curs_instr.3x.html
index f5aecfcbead5..cd6e72787b98 100644
--- a/doc/html/man/curs_instr.3x.html
+++ b/doc/html/man/curs_instr.3x.html
@@ -27,7 +27,7 @@
* sale, use or other dealings in this Software without prior written *
* authorization. *
****************************************************************************
- * @Id: curs_instr.3x,v 1.20 2020/02/02 23:34:34 tom Exp @
+ * @Id: curs_instr.3x,v 1.22 2020/10/18 00:18:27 tom Exp @
-->
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN">
<HTML>
@@ -54,27 +54,28 @@
</PRE><H2><a name="h2-SYNOPSIS">SYNOPSIS</a></H2><PRE>
<STRONG>#include</STRONG> <STRONG>&lt;curses.h&gt;</STRONG>
- <STRONG>int</STRONG> <STRONG>instr(char</STRONG> <STRONG>*str);</STRONG>
- <STRONG>int</STRONG> <STRONG>innstr(char</STRONG> <STRONG>*str,</STRONG> <STRONG>int</STRONG> <STRONG>n);</STRONG>
- <STRONG>int</STRONG> <STRONG>winstr(WINDOW</STRONG> <STRONG>*win,</STRONG> <STRONG>char</STRONG> <STRONG>*str);</STRONG>
- <STRONG>int</STRONG> <STRONG>winnstr(WINDOW</STRONG> <STRONG>*win,</STRONG> <STRONG>char</STRONG> <STRONG>*str,</STRONG> <STRONG>int</STRONG> <STRONG>n);</STRONG>
- <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>instr(char</STRONG> <STRONG>*</STRONG><EM>str</EM><STRONG>);</STRONG>
+ <STRONG>int</STRONG> <STRONG>innstr(char</STRONG> <STRONG>*</STRONG><EM>str</EM><STRONG>,</STRONG> <STRONG>int</STRONG> <EM>n</EM><STRONG>);</STRONG>
+ <STRONG>int</STRONG> <STRONG>winstr(WINDOW</STRONG> <STRONG>*</STRONG><EM>win</EM><STRONG>,</STRONG> <STRONG>char</STRONG> <STRONG>*</STRONG><EM>str</EM><STRONG>);</STRONG>
+ <STRONG>int</STRONG> <STRONG>winnstr(WINDOW</STRONG> <STRONG>*</STRONG><EM>win</EM><STRONG>,</STRONG> <STRONG>char</STRONG> <STRONG>*</STRONG><EM>str</EM><STRONG>,</STRONG> <STRONG>int</STRONG> <EM>n</EM><STRONG>);</STRONG>
+
+ <STRONG>int</STRONG> <STRONG>mvinstr(int</STRONG> <EM>y</EM><STRONG>,</STRONG> <STRONG>int</STRONG> <EM>x</EM><STRONG>,</STRONG> <STRONG>char</STRONG> <STRONG>*</STRONG><EM>str</EM><STRONG>);</STRONG>
+ <STRONG>int</STRONG> <STRONG>mvinnstr(int</STRONG> <EM>y</EM><STRONG>,</STRONG> <STRONG>int</STRONG> <EM>x</EM><STRONG>,</STRONG> <STRONG>char</STRONG> <STRONG>*</STRONG><EM>str</EM><STRONG>,</STRONG> <STRONG>int</STRONG> <EM>n</EM><STRONG>);</STRONG>
+ <STRONG>int</STRONG> <STRONG>mvwinstr(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>char</STRONG> <STRONG>*</STRONG><EM>str</EM><STRONG>);</STRONG>
+ <STRONG>int</STRONG> <STRONG>mvwinnstr(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>char</STRONG> <STRONG>*</STRONG><EM>str</EM><STRONG>,</STRONG> <STRONG>int</STRONG> <EM>n</EM><STRONG>);</STRONG>
</PRE><H2><a name="h2-DESCRIPTION">DESCRIPTION</a></H2><PRE>
These 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).
+ argument return a leading substring at most <EM>n</EM> characters long
+ (exclusive of the trailing NUL).
</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.
+ All of the functions return <STRONG>ERR</STRONG> upon failure, or the number of
+ characters actually read into the string.
X/Open Curses defines no error conditions. In this implementation:
diff --git a/doc/html/man/curs_inwstr.3x.html b/doc/html/man/curs_inwstr.3x.html
index f70cc7874da4..3110967aeebe 100644
--- a/doc/html/man/curs_inwstr.3x.html
+++ b/doc/html/man/curs_inwstr.3x.html
@@ -27,7 +27,7 @@
* sale, use or other dealings in this Software without prior written *
* authorization. *
****************************************************************************
- * @Id: curs_inwstr.3x,v 1.13 2020/02/02 23:34:34 tom Exp @
+ * @Id: curs_inwstr.3x,v 1.14 2020/10/17 23:22:11 tom Exp @
-->
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN">
<HTML>
@@ -58,6 +58,7 @@
<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>
@@ -68,22 +69,22 @@
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.
- 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).
+ 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).
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.
+ If the size <EM>n</EM> is not large enough to store a complete complex
+ character, an error is generated.
</PRE><H2><a name="h2-NOTES">NOTES</a></H2><PRE>
All routines except <STRONG>winnwstr</STRONG> may be macros.
- Each cell in the window holds a complex character (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.
+ Each cell in the window holds a complex character (i.e., base- and
+ combining-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.
</PRE><H2><a name="h2-RETURN-VALUE">RETURN VALUE</a></H2><PRE>
diff --git a/doc/html/man/curs_kernel.3x.html b/doc/html/man/curs_kernel.3x.html
index f90c1a66b141..d8932e326a91 100644
--- a/doc/html/man/curs_kernel.3x.html
+++ b/doc/html/man/curs_kernel.3x.html
@@ -27,7 +27,7 @@
* sale, use or other dealings in this Software without prior written *
* authorization. *
****************************************************************************
- * @Id: curs_kernel.3x,v 1.28 2020/02/02 23:34:34 tom Exp @
+ * @Id: curs_kernel.3x,v 1.29 2020/10/17 23:22:35 tom Exp @
-->
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN">
<HTML>
@@ -57,12 +57,16 @@
<STRONG>int</STRONG> <STRONG>def_prog_mode(void);</STRONG>
<STRONG>int</STRONG> <STRONG>def_shell_mode(void);</STRONG>
+
<STRONG>int</STRONG> <STRONG>reset_prog_mode(void);</STRONG>
<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> <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>
diff --git a/doc/html/man/curs_legacy.3x.html b/doc/html/man/curs_legacy.3x.html
index 24071db7fb76..c52be23be754 100644
--- a/doc/html/man/curs_legacy.3x.html
+++ b/doc/html/man/curs_legacy.3x.html
@@ -27,7 +27,7 @@
* sale, use or other dealings in this Software without prior written *
* authorization. *
****************************************************************************
- * @Id: curs_legacy.3x,v 1.10 2020/02/02 23:34:34 tom Exp @
+ * @Id: curs_legacy.3x,v 1.12 2020/10/18 00:16:04 tom Exp @
-->
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN">
<HTML>
@@ -53,20 +53,24 @@
</PRE><H2><a name="h2-SYNOPSIS">SYNOPSIS</a></H2><PRE>
<STRONG>#include</STRONG> <STRONG>&lt;curses.h&gt;</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>
+ <STRONG>int</STRONG> <STRONG>getattrs(const</STRONG> <STRONG>WINDOW</STRONG> <STRONG>*</STRONG><EM>win</EM><STRONG>);</STRONG>
+
+ <STRONG>int</STRONG> <STRONG>getbegx(const</STRONG> <STRONG>WINDOW</STRONG> <STRONG>*</STRONG><EM>win</EM><STRONG>);</STRONG>
+ <STRONG>int</STRONG> <STRONG>getbegy(const</STRONG> <STRONG>WINDOW</STRONG> <STRONG>*</STRONG><EM>win</EM><STRONG>);</STRONG>
+
+ <STRONG>int</STRONG> <STRONG>getcurx(const</STRONG> <STRONG>WINDOW</STRONG> <STRONG>*</STRONG><EM>win</EM><STRONG>);</STRONG>
+ <STRONG>int</STRONG> <STRONG>getcury(const</STRONG> <STRONG>WINDOW</STRONG> <STRONG>*</STRONG><EM>win</EM><STRONG>);</STRONG>
+
+ <STRONG>int</STRONG> <STRONG>getmaxx(const</STRONG> <STRONG>WINDOW</STRONG> <STRONG>*</STRONG><EM>win</EM><STRONG>);</STRONG>
+ <STRONG>int</STRONG> <STRONG>getmaxy(const</STRONG> <STRONG>WINDOW</STRONG> <STRONG>*</STRONG><EM>win</EM><STRONG>);</STRONG>
+
+ <STRONG>int</STRONG> <STRONG>getparx(const</STRONG> <STRONG>WINDOW</STRONG> <STRONG>*</STRONG><EM>win</EM><STRONG>);</STRONG>
+ <STRONG>int</STRONG> <STRONG>getpary(const</STRONG> <STRONG>WINDOW</STRONG> <STRONG>*</STRONG><EM>win</EM><STRONG>);</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:
+ These legacy functions are simpler to use than the X/Open Curses
+ functions:
<STRONG>o</STRONG> The <STRONG>getattrs</STRONG> function returns the same attribute data as <STRONG>wattr_get</STRONG>.
@@ -91,8 +95,8 @@
</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.
+ Except as noted, these functions return an integer, or <STRONG>ERR</STRONG> if the
+ window parameter is null.
</PRE><H2><a name="h2-NOTES">NOTES</a></H2><PRE>
@@ -105,12 +109,13 @@
</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.
+ These functions were supported on Version 7, BSD or System V
+ implementations. 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.
+ The <STRONG>getattrs</STRONG> function and macro are defined to return a (signed)
+ integer 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>
diff --git a/doc/html/man/curs_memleaks.3x.html b/doc/html/man/curs_memleaks.3x.html
index 18b38c9604a9..388d969a3146 100644
--- a/doc/html/man/curs_memleaks.3x.html
+++ b/doc/html/man/curs_memleaks.3x.html
@@ -1,6 +1,6 @@
<!--
****************************************************************************
- * Copyright 2019,2020 Thomas E. Dickey *
+ * Copyright 2019-2020,2021 Thomas E. Dickey *
* Copyright 2008-2010,2017 Free Software Foundation, Inc. *
* *
* Permission is hereby granted, free of charge, to any person obtaining a *
@@ -27,7 +27,7 @@
* sale, use or other dealings in this Software without prior written *
* authorization. *
****************************************************************************
- * @Id: curs_memleaks.3x,v 1.8 2020/02/02 23:34:34 tom Exp @
+ * @Id: curs_memleaks.3x,v 1.11 2021/01/02 23:47:51 tom Exp @
-->
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN">
<HTML>
@@ -47,36 +47,36 @@
</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
+ <STRONG>exit_curses</STRONG>, <STRONG>exit_terminfo</STRONG> - <STRONG>curses</STRONG> memory-leak checking
</PRE><H2><a name="h2-SYNOPSIS">SYNOPSIS</a></H2><PRE>
<STRONG>#include</STRONG> <STRONG>&lt;curses.h&gt;</STRONG>
+ <STRONG>void</STRONG> <STRONG>exit_curses(int</STRONG> <EM>code</EM><STRONG>);</STRONG>
- <STRONG>void</STRONG> <STRONG>exit_curses(int);</STRONG>
- <STRONG>void</STRONG> <STRONG>exit_terminfo(int);</STRONG>
+ <STRONG>#include</STRONG> <STRONG>&lt;term.h&gt;</STRONG>
+ <STRONG>void</STRONG> <STRONG>exit_terminfo(int</STRONG> <EM>code</EM><STRONG>);</STRONG>
- /* deprecated */
+ /* deprecated (intentionally not declared in curses.h or term.h) */
<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>
+ <STRONG>void</STRONG> <STRONG>_nc_free_and_exit(int</STRONG> <EM>code</EM><STRONG>);</STRONG>
+ <STRONG>void</STRONG> <STRONG>_nc_free_tinfo(int</STRONG> <EM>code</EM><STRONG>);</STRONG>
</PRE><H2><a name="h2-DESCRIPTION">DESCRIPTION</a></H2><PRE>
- These functions are used to simplify analysis of memory leaks in the
+ 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.
-
- Some of the functions are named with a "_nc_" prefix because they are
+ screen, since (even after calling <STRONG><A HREF="curs_initscr.3x.html">endwin(3x)</A></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 ap-
+ plications for memory leaks. When using the specially configured de-
+ bugging version of the ncurses library, applications can call functions
+ which free those chunks of memory, simplifying the process of memory-
+ leak checking.
+
+ 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>
@@ -89,18 +89,18 @@
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
+ 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
+ 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
+ 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
+ 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>.
diff --git a/doc/html/man/curs_mouse.3x.html b/doc/html/man/curs_mouse.3x.html
index 81fe57a23d4a..b62defdfbe14 100644
--- a/doc/html/man/curs_mouse.3x.html
+++ b/doc/html/man/curs_mouse.3x.html
@@ -28,7 +28,7 @@
* sale, use or other dealings in this Software without prior written *
* authorization. *
****************************************************************************
- * @Id: curs_mouse.3x,v 1.52 2020/02/02 23:34:34 tom Exp @
+ * @Id: curs_mouse.3x,v 1.53 2020/10/17 23:25:08 tom Exp @
-->
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN">
<HTML>
@@ -64,13 +64,18 @@
<STRONG>}</STRONG> <STRONG>MEVENT;</STRONG>
<STRONG>bool</STRONG> <STRONG>has_mouse(void);</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>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>
@@ -107,12 +112,12 @@
BUTTON2_PRESSED mouse button 2 down
BUTTON2_RELEASED mouse button 2 up
BUTTON2_CLICKED mouse button 2 clicked
+
BUTTON2_DOUBLE_CLICKED mouse button 2 double clicked
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
diff --git a/doc/html/man/curs_move.3x.html b/doc/html/man/curs_move.3x.html
index fcdbd402f566..7b9336019a82 100644
--- a/doc/html/man/curs_move.3x.html
+++ b/doc/html/man/curs_move.3x.html
@@ -27,7 +27,7 @@
* sale, use or other dealings in this Software without prior written *
* authorization. *
****************************************************************************
- * @Id: curs_move.3x,v 1.18 2020/02/02 23:34:34 tom Exp @
+ * @Id: curs_move.3x,v 1.19 2020/10/24 09:39:41 tom Exp @
-->
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN">
<HTML>
@@ -53,8 +53,8 @@
</PRE><H2><a name="h2-SYNOPSIS">SYNOPSIS</a></H2><PRE>
<STRONG>#include</STRONG> <STRONG>&lt;curses.h&gt;</STRONG>
- <STRONG>int</STRONG> <STRONG>move(int</STRONG> <STRONG>y,</STRONG> <STRONG>int</STRONG> <STRONG>x);</STRONG>
- <STRONG>int</STRONG> <STRONG>wmove(WINDOW</STRONG> <STRONG>*win,</STRONG> <STRONG>int</STRONG> <STRONG>y,</STRONG> <STRONG>int</STRONG> <STRONG>x);</STRONG>
+ <STRONG>int</STRONG> <STRONG>move(int</STRONG> <EM>y</EM><STRONG>,</STRONG> <STRONG>int</STRONG> <EM>x</EM><STRONG>);</STRONG>
+ <STRONG>int</STRONG> <STRONG>wmove(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>
</PRE><H2><a name="h2-DESCRIPTION">DESCRIPTION</a></H2><PRE>
diff --git a/doc/html/man/curs_opaque.3x.html b/doc/html/man/curs_opaque.3x.html
index cc6909e325f5..6a1fcdfdd7c3 100644
--- a/doc/html/man/curs_opaque.3x.html
+++ b/doc/html/man/curs_opaque.3x.html
@@ -27,7 +27,7 @@
* sale, use or other dealings in this Software without prior written *
* authorization. *
****************************************************************************
- * @Id: curs_opaque.3x,v 1.14 2020/02/02 23:34:34 tom Exp @
+ * @Id: curs_opaque.3x,v 1.15 2020/10/24 09:41:22 tom Exp @
-->
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN">
<HTML>
@@ -55,21 +55,21 @@
</PRE><H2><a name="h2-SYNOPSIS">SYNOPSIS</a></H2><PRE>
<STRONG>#include</STRONG> <STRONG>&lt;curses.h&gt;</STRONG>
- <STRONG>bool</STRONG> <STRONG>is_cleared(const</STRONG> <STRONG>WINDOW</STRONG> <STRONG>*win);</STRONG>
- <STRONG>bool</STRONG> <STRONG>is_idcok(const</STRONG> <STRONG>WINDOW</STRONG> <STRONG>*win);</STRONG>
- <STRONG>bool</STRONG> <STRONG>is_idlok(const</STRONG> <STRONG>WINDOW</STRONG> <STRONG>*win);</STRONG>
- <STRONG>bool</STRONG> <STRONG>is_immedok(const</STRONG> <STRONG>WINDOW</STRONG> <STRONG>*win);</STRONG>
- <STRONG>bool</STRONG> <STRONG>is_keypad(const</STRONG> <STRONG>WINDOW</STRONG> <STRONG>*win);</STRONG>
- <STRONG>bool</STRONG> <STRONG>is_leaveok(const</STRONG> <STRONG>WINDOW</STRONG> <STRONG>*win);</STRONG>
- <STRONG>bool</STRONG> <STRONG>is_nodelay(const</STRONG> <STRONG>WINDOW</STRONG> <STRONG>*win);</STRONG>
- <STRONG>bool</STRONG> <STRONG>is_notimeout(const</STRONG> <STRONG>WINDOW</STRONG> <STRONG>*win);</STRONG>
- <STRONG>bool</STRONG> <STRONG>is_pad(const</STRONG> <STRONG>WINDOW</STRONG> <STRONG>*win);</STRONG>
- <STRONG>bool</STRONG> <STRONG>is_scrollok(const</STRONG> <STRONG>WINDOW</STRONG> <STRONG>*win);</STRONG>
- <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>
+ <STRONG>bool</STRONG> <STRONG>is_cleared(const</STRONG> <STRONG>WINDOW</STRONG> <STRONG>*</STRONG><EM>win</EM><STRONG>);</STRONG>
+ <STRONG>bool</STRONG> <STRONG>is_idcok(const</STRONG> <STRONG>WINDOW</STRONG> <STRONG>*</STRONG><EM>win</EM><STRONG>);</STRONG>
+ <STRONG>bool</STRONG> <STRONG>is_idlok(const</STRONG> <STRONG>WINDOW</STRONG> <STRONG>*</STRONG><EM>win</EM><STRONG>);</STRONG>
+ <STRONG>bool</STRONG> <STRONG>is_immedok(const</STRONG> <STRONG>WINDOW</STRONG> <STRONG>*</STRONG><EM>win</EM><STRONG>);</STRONG>
+ <STRONG>bool</STRONG> <STRONG>is_keypad(const</STRONG> <STRONG>WINDOW</STRONG> <STRONG>*</STRONG><EM>win</EM><STRONG>);</STRONG>
+ <STRONG>bool</STRONG> <STRONG>is_leaveok(const</STRONG> <STRONG>WINDOW</STRONG> <STRONG>*</STRONG><EM>win</EM><STRONG>);</STRONG>
+ <STRONG>bool</STRONG> <STRONG>is_nodelay(const</STRONG> <STRONG>WINDOW</STRONG> <STRONG>*</STRONG><EM>win</EM><STRONG>);</STRONG>
+ <STRONG>bool</STRONG> <STRONG>is_notimeout(const</STRONG> <STRONG>WINDOW</STRONG> <STRONG>*</STRONG><EM>win</EM><STRONG>);</STRONG>
+ <STRONG>bool</STRONG> <STRONG>is_pad(const</STRONG> <STRONG>WINDOW</STRONG> <STRONG>*</STRONG><EM>win</EM><STRONG>);</STRONG>
+ <STRONG>bool</STRONG> <STRONG>is_scrollok(const</STRONG> <STRONG>WINDOW</STRONG> <STRONG>*</STRONG><EM>win</EM><STRONG>);</STRONG>
+ <STRONG>bool</STRONG> <STRONG>is_subwin(const</STRONG> <STRONG>WINDOW</STRONG> <STRONG>*</STRONG><EM>win</EM><STRONG>);</STRONG>
+ <STRONG>bool</STRONG> <STRONG>is_syncok(const</STRONG> <STRONG>WINDOW</STRONG> <STRONG>*</STRONG><EM>win</EM><STRONG>);</STRONG>
+ <STRONG>WINDOW</STRONG> <STRONG>*</STRONG> <STRONG>wgetparent(const</STRONG> <STRONG>WINDOW</STRONG> <STRONG>*</STRONG><EM>win</EM><STRONG>);</STRONG>
+ <STRONG>int</STRONG> <STRONG>wgetdelay(const</STRONG> <STRONG>WINDOW</STRONG> <STRONG>*</STRONG><EM>win</EM><STRONG>);</STRONG>
+ <STRONG>int</STRONG> <STRONG>wgetscrreg(const</STRONG> <STRONG>WINDOW</STRONG> <STRONG>*</STRONG><EM>win</EM><STRONG>,</STRONG> <STRONG>int</STRONG> <STRONG>*</STRONG><EM>top</EM><STRONG>,</STRONG> <STRONG>int</STRONG> <STRONG>*</STRONG><EM>bottom</EM><STRONG>);</STRONG>
</PRE><H2><a name="h2-DESCRIPTION">DESCRIPTION</a></H2><PRE>
diff --git a/doc/html/man/curs_outopts.3x.html b/doc/html/man/curs_outopts.3x.html
index 75175d194bb0..a860b1bb1291 100644
--- a/doc/html/man/curs_outopts.3x.html
+++ b/doc/html/man/curs_outopts.3x.html
@@ -27,7 +27,7 @@
* sale, use or other dealings in this Software without prior written *
* authorization. *
****************************************************************************
- * @Id: curs_outopts.3x,v 1.30 2020/02/02 23:34:34 tom Exp @
+ * @Id: curs_outopts.3x,v 1.33 2020/10/03 22:04:09 tom Exp @
-->
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN">
<HTML>
@@ -48,7 +48,7 @@
</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
+ <STRONG>scrollok</STRONG> - <STRONG>curses</STRONG> output options
</PRE><H2><a name="h2-SYNOPSIS">SYNOPSIS</a></H2><PRE>
@@ -59,11 +59,10 @@
<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>scrollok(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><a name="h2-DESCRIPTION">DESCRIPTION</a></H2><PRE>
@@ -118,7 +117,17 @@
cursor motions.
-</PRE><H3><a name="h3-setscrreg">setscrreg</a></H3><PRE>
+</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-setscrreg_wsetscrreg">setscrreg/wsetscrreg</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
@@ -132,57 +141,37 @@
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
+ 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.
+ In this implementation,
- <STRONG>wclrtoeol</STRONG>
- returns an error if the cursor position is about to wrap.
+ <STRONG>o</STRONG> those functions that have a window pointer will return an error if
+ the window pointer is null
- <STRONG>wsetscrreg</STRONG>
- returns an error if the scrolling region limits extend out-
- side the window.
+ <STRONG>o</STRONG> <STRONG>wsetscrreg</STRONG> returns an error if the scrolling region limits extend
+ outside the window.
- X/Open does not define any error conditions. This implementation re-
+ X/Open does not define any error conditions. This implementation re-
turns an error if the window pointer is null.
</PRE><H2><a name="h2-PORTABILITY">PORTABILITY</a></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 controlled by <STRONG>nl</STRONG> and <STRONG>nonl</STRONG>. BSD
- curses did turn off these translations; AT&amp;T curses (at least as late
- as SVr1) did not. We choose to do so, on the theory that a programmer
- requesting raw input wants a clean (ideally 8-bit clean) connection
- that the operating system will not alter.
+ From the outset, ncurses used <STRONG>nl</STRONG>/<STRONG>nonl</STRONG> to control the conversion of new-
+ lines to carriage return/line-feed on output as well as input. XSI
+ Curses documents only the use of these functions for input. This dif-
+ ference arose from converting the <EM>pcurses</EM> source (which used <STRONG>ioctl</STRONG>
+ calls with the <STRONG>sgttyb</STRONG> structure) to termios (i.e., the POSIX terminal
+ interface). In the former, both input and output were controlled via a
+ single option <STRONG>CRMOD</STRONG>, while the latter separates these features. Be-
+ cause that conversion interferes with output optimization, <STRONG>nl</STRONG>/<STRONG>nonl</STRONG> were
+ amended after ncurses 6.2 to eliminate their effect on output.
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>
@@ -201,8 +190,8 @@
</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.
+ Note that <STRONG>clearok</STRONG>, <STRONG>leaveok</STRONG>, <STRONG>scrollok</STRONG>, <STRONG>idcok</STRONG>, and <STRONG>setscrreg</STRONG> may be
+ macros.
The <STRONG>immedok</STRONG> routine is useful for windows that are used as terminal em-
ulators.
@@ -227,9 +216,8 @@
<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>
+<li><a href="#h3-setscrreg_wsetscrreg">setscrreg/wsetscrreg</a></li>
</ul>
</li>
<li><a href="#h2-RETURN-VALUE">RETURN VALUE</a></li>
diff --git a/doc/html/man/curs_print.3x.html b/doc/html/man/curs_print.3x.html
index 76d7886b0061..8550173febaa 100644
--- a/doc/html/man/curs_print.3x.html
+++ b/doc/html/man/curs_print.3x.html
@@ -27,7 +27,7 @@
* sale, use or other dealings in this Software without prior written *
* authorization. *
****************************************************************************
- * @Id: curs_print.3x,v 1.14 2020/02/02 23:34:34 tom Exp @
+ * @Id: curs_print.3x,v 1.16 2020/10/24 09:25:14 tom Exp @
-->
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN">
<HTML>
@@ -53,7 +53,7 @@
</PRE><H2><a name="h2-SYNOPSIS">SYNOPSIS</a></H2><PRE>
<STRONG>#include</STRONG> <STRONG>&lt;curses.h&gt;</STRONG>
- <STRONG>int</STRONG> <STRONG>mcprint(char</STRONG> <STRONG>*data,</STRONG> <STRONG>int</STRONG> <STRONG>len);</STRONG>
+ <STRONG>int</STRONG> <STRONG>mcprint(char</STRONG> <STRONG>*</STRONG><EM>data</EM><STRONG>,</STRONG> <STRONG>int</STRONG> <EM>len</EM><STRONG>);</STRONG>
</PRE><H2><a name="h2-DESCRIPTION">DESCRIPTION</a></H2><PRE>
@@ -64,15 +64,15 @@
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.
+ 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.
</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:
+ some reason. In this case, <STRONG>errno</STRONG> will contain either an error
+ associated with <STRONG>write(2)</STRONG> or one of the following:
ENODEV
Capabilities for printer redirection do not exist.
diff --git a/doc/html/man/curs_printw.3x.html b/doc/html/man/curs_printw.3x.html
index c38fc4e3e651..9dfc57807b35 100644
--- a/doc/html/man/curs_printw.3x.html
+++ b/doc/html/man/curs_printw.3x.html
@@ -27,7 +27,7 @@
* sale, use or other dealings in this Software without prior written *
* authorization. *
****************************************************************************
- * @Id: curs_printw.3x,v 1.25 2020/02/02 23:34:34 tom Exp @
+ * @Id: curs_printw.3x,v 1.28 2020/10/24 09:22:45 tom Exp @
-->
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN">
<HTML>
@@ -54,14 +54,14 @@
</PRE><H2><a name="h2-SYNOPSIS">SYNOPSIS</a></H2><PRE>
<STRONG>#include</STRONG> <STRONG>&lt;curses.h&gt;</STRONG>
- <STRONG>int</STRONG> <STRONG>printw(const</STRONG> <STRONG>char</STRONG> <STRONG>*fmt,</STRONG> <STRONG>...);</STRONG>
- <STRONG>int</STRONG> <STRONG>wprintw(WINDOW</STRONG> <STRONG>*win,</STRONG> <STRONG>const</STRONG> <STRONG>char</STRONG> <STRONG>*fmt,</STRONG> <STRONG>...);</STRONG>
- <STRONG>int</STRONG> <STRONG>mvprintw(int</STRONG> <STRONG>y,</STRONG> <STRONG>int</STRONG> <STRONG>x,</STRONG> <STRONG>const</STRONG> <STRONG>char</STRONG> <STRONG>*fmt,</STRONG> <STRONG>...);</STRONG>
- <STRONG>int</STRONG> <STRONG>mvwprintw(WINDOW</STRONG> <STRONG>*win,</STRONG> <STRONG>int</STRONG> <STRONG>y,</STRONG> <STRONG>int</STRONG> <STRONG>x,</STRONG> <STRONG>const</STRONG> <STRONG>char</STRONG> <STRONG>*fmt,</STRONG> <STRONG>...);</STRONG>
- <STRONG>int</STRONG> <STRONG>vw_printw(WINDOW</STRONG> <STRONG>*win,</STRONG> <STRONG>const</STRONG> <STRONG>char</STRONG> <STRONG>*fmt,</STRONG> <STRONG>va_list</STRONG> <STRONG>varglist);</STRONG>
+ <STRONG>int</STRONG> <STRONG>printw(const</STRONG> <STRONG>char</STRONG> <STRONG>*</STRONG><EM>fmt</EM><STRONG>,</STRONG> <STRONG>...);</STRONG>
+ <STRONG>int</STRONG> <STRONG>wprintw(WINDOW</STRONG> <STRONG>*</STRONG><EM>win</EM><STRONG>,</STRONG> <STRONG>const</STRONG> <STRONG>char</STRONG> <STRONG>*</STRONG><EM>fmt</EM><STRONG>,</STRONG> <STRONG>...);</STRONG>
+ <STRONG>int</STRONG> <STRONG>mvprintw(int</STRONG> <EM>y</EM><STRONG>,</STRONG> <STRONG>int</STRONG> <EM>x</EM><STRONG>,</STRONG> <STRONG>const</STRONG> <STRONG>char</STRONG> <STRONG>*</STRONG><EM>fmt</EM><STRONG>,</STRONG> <STRONG>...);</STRONG>
+ <STRONG>int</STRONG> <STRONG>mvwprintw(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>fmt</EM><STRONG>,</STRONG> <STRONG>...);</STRONG>
+ <STRONG>int</STRONG> <STRONG>vw_printw(WINDOW</STRONG> <STRONG>*</STRONG><EM>win</EM><STRONG>,</STRONG> <STRONG>const</STRONG> <STRONG>char</STRONG> <STRONG>*</STRONG><EM>fmt</EM><STRONG>,</STRONG> <STRONG>va_list</STRONG> <EM>varglist</EM><STRONG>);</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>
+ <STRONG>int</STRONG> <STRONG>vwprintw(WINDOW</STRONG> <STRONG>*</STRONG><EM>win</EM><STRONG>,</STRONG> <STRONG>const</STRONG> <STRONG>char</STRONG> <STRONG>*</STRONG><EM>fmt</EM><STRONG>,</STRONG> <STRONG>va_list</STRONG> <EM>varglist</EM><STRONG>);</STRONG>
</PRE><H2><a name="h2-DESCRIPTION">DESCRIPTION</a></H2><PRE>
@@ -70,7 +70,7 @@
<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
+ The <STRONG>vwprintw</STRONG> and <STRONG>vw_printw</STRONG> routines are analogous to <STRONG>vprintf</STRONG> [see
<STRONG>printf(3)</STRONG>] and perform a <STRONG>wprintw</STRONG> using a variable argument list. The
third argument is a <STRONG>va_list</STRONG>, a pointer to a list of arguments, as de-
fined in <STRONG>&lt;stdarg.h&gt;</STRONG>.
@@ -91,21 +91,48 @@
the window pointer is null.
+</PRE><H2><a name="h2-HISTORY">HISTORY</a></H2><PRE>
+ While <STRONG>printw</STRONG> was implemented in 4BSD, it was unused until 4.2BSD (which
+ used it in games). That early version of curses was before the ANSI C
+ standard. It did not use &lt;varargs.h&gt;, though that was available. In
+ 1991 (a couple of years after SVr4 was generally available, and after
+ the C standard was published), other developers updated the library,
+ using &lt;stdarg.h&gt; internally in 4.4BSD curses. Even with this improve-
+ ment, BSD curses did not use function prototypes (or even declare func-
+ tions) in the &lt;curses.h&gt; header until 1992.
+
+ SVr2 documented <STRONG>printw</STRONG>, <STRONG>wprintw</STRONG> tersely as "printf on <EM>stdscr</EM>" and
+ tersely as "printf on <EM>win</EM>", respectively.
+
+ SVr3 added <STRONG>mvprintw</STRONG>, and <STRONG>mvwprintw</STRONG>, with a three-line summary saying
+ that they were analogous to <STRONG>printf(3)</STRONG>, explaining that the string which
+ would be output from <STRONG>printf(3)</STRONG> would instead be output using <STRONG>waddstr</STRONG> on
+ the given window. SVr3 also added <STRONG>vwprintw</STRONG>, saying that the third pa-
+ rameter is a <STRONG>va_list</STRONG>, defined in &lt;varargs.h&gt;, and referring the reader
+ to the manual pages for <EM>varargs</EM> and <EM>vprintf</EM> for detailed descriptions.
+
+ SVr4 added no new variations of <STRONG>printw</STRONG>, but provided for using
+ &lt;varargs.h&gt; or &lt;stdarg.h&gt; to define the <STRONG>va_list</STRONG> type.
+
+ X/Open Curses added <STRONG>vw_printw</STRONG> to replace <STRONG>vwprintw</STRONG>, stating that its
+ <STRONG>va_list</STRONG> definition requires &lt;stdarg.h&gt;.
+
+
</PRE><H2><a name="h2-PORTABILITY">PORTABILITY</a></H2><PRE>
- In this implementation, <STRONG>vw_printw</STRONG> and <STRONG>vwprintw</STRONG> are equivalent, to sup-
+ 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:
- <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
+ <STRONG>o</STRONG> The XSI Curses standard, Issue 4 described these functions. The
+ function <STRONG>vwprintw</STRONG> is marked TO BE WITHDRAWN, and is to be replaced
by a function <STRONG>vw_printw</STRONG> using the <STRONG>&lt;stdarg.h&gt;</STRONG> interface.
- <STRONG>o</STRONG> The Single Unix Specification, Version 2 states that <STRONG>vw_printw</STRONG> is
- preferred to <STRONG>vwprintw</STRONG> since the latter requires including
- <STRONG>&lt;varargs.h&gt;</STRONG>, which cannot be used in the same file as <STRONG>&lt;stdarg.h&gt;</STRONG>.
- This implementation uses <STRONG>&lt;stdarg.h&gt;</STRONG> for both, because that header
+ <STRONG>o</STRONG> The Single Unix Specification, Version 2 states that <STRONG>vw_printw</STRONG> is
+ preferred to <STRONG>vwprintw</STRONG> since the latter requires including
+ <STRONG>&lt;varargs.h&gt;</STRONG>, which cannot be used in the same file as <STRONG>&lt;stdarg.h&gt;</STRONG>.
+ This implementation uses <STRONG>&lt;stdarg.h&gt;</STRONG> for both, because that header
is included in <STRONG>&lt;curses.h</STRONG>&gt;.
- <STRONG>o</STRONG> X/Open Curses, Issue 5 (December 2007) marked <STRONG>vwprintw</STRONG> (along with
+ <STRONG>o</STRONG> X/Open Curses, Issue 5 (December 2007) marked <STRONG>vwprintw</STRONG> (along with
<STRONG>vwscanw</STRONG> and the termcap interface) as withdrawn.
@@ -123,6 +150,7 @@
<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-HISTORY">HISTORY</a></li>
<li><a href="#h2-PORTABILITY">PORTABILITY</a></li>
<li><a href="#h2-SEE-ALSO">SEE ALSO</a></li>
</ul>
diff --git a/doc/html/man/curs_refresh.3x.html b/doc/html/man/curs_refresh.3x.html
index c239ed89090c..e18574c60121 100644
--- a/doc/html/man/curs_refresh.3x.html
+++ b/doc/html/man/curs_refresh.3x.html
@@ -27,7 +27,7 @@
* sale, use or other dealings in this Software without prior written *
* authorization. *
****************************************************************************
- * @Id: curs_refresh.3x,v 1.21 2020/02/02 23:34:34 tom Exp @
+ * @Id: curs_refresh.3x,v 1.22 2020/10/24 09:43:49 tom Exp @
-->
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN">
<HTML>
@@ -55,11 +55,12 @@
<STRONG>#include</STRONG> <STRONG>&lt;curses.h&gt;</STRONG>
<STRONG>int</STRONG> <STRONG>refresh(void);</STRONG>
- <STRONG>int</STRONG> <STRONG>wrefresh(WINDOW</STRONG> <STRONG>*win);</STRONG>
- <STRONG>int</STRONG> <STRONG>wnoutrefresh(WINDOW</STRONG> <STRONG>*win);</STRONG>
+ <STRONG>int</STRONG> <STRONG>wrefresh(WINDOW</STRONG> <STRONG>*</STRONG><EM>win</EM><STRONG>);</STRONG>
+ <STRONG>int</STRONG> <STRONG>wnoutrefresh(WINDOW</STRONG> <STRONG>*</STRONG><EM>win</EM><STRONG>);</STRONG>
<STRONG>int</STRONG> <STRONG>doupdate(void);</STRONG>
- <STRONG>int</STRONG> <STRONG>redrawwin(WINDOW</STRONG> <STRONG>*win);</STRONG>
- <STRONG>int</STRONG> <STRONG>wredrawln(WINDOW</STRONG> <STRONG>*win,</STRONG> <STRONG>int</STRONG> <STRONG>beg_line,</STRONG> <STRONG>int</STRONG> <STRONG>num_lines);</STRONG>
+
+ <STRONG>int</STRONG> <STRONG>redrawwin(WINDOW</STRONG> <STRONG>*</STRONG><EM>win</EM><STRONG>);</STRONG>
+ <STRONG>int</STRONG> <STRONG>wredrawln(WINDOW</STRONG> <STRONG>*</STRONG><EM>win</EM><STRONG>,</STRONG> <STRONG>int</STRONG> <EM>beg</EM><STRONG>_</STRONG><EM>line</EM><STRONG>,</STRONG> <STRONG>int</STRONG> <EM>num</EM><STRONG>_</STRONG><EM>lines</EM><STRONG>);</STRONG>
</PRE><H2><a name="h2-DESCRIPTION">DESCRIPTION</a></H2><PRE>
diff --git a/doc/html/man/curs_scanw.3x.html b/doc/html/man/curs_scanw.3x.html
index a7576669aded..91b68292143b 100644
--- a/doc/html/man/curs_scanw.3x.html
+++ b/doc/html/man/curs_scanw.3x.html
@@ -27,7 +27,7 @@
* sale, use or other dealings in this Software without prior written *
* authorization. *
****************************************************************************
- * @Id: curs_scanw.3x,v 1.26 2020/02/02 23:34:34 tom Exp @
+ * @Id: curs_scanw.3x,v 1.28 2020/10/24 09:29:26 tom Exp @
-->
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN">
<HTML>
@@ -54,14 +54,15 @@
</PRE><H2><a name="h2-SYNOPSIS">SYNOPSIS</a></H2><PRE>
<STRONG>#include</STRONG> <STRONG>&lt;curses.h&gt;</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>
+ <STRONG>int</STRONG> <STRONG>scanw(const</STRONG> <STRONG>char</STRONG> <STRONG>*</STRONG><EM>fmt</EM><STRONG>,</STRONG> <STRONG>...);</STRONG>
+ <STRONG>int</STRONG> <STRONG>wscanw(WINDOW</STRONG> <STRONG>*</STRONG><EM>win</EM><STRONG>,</STRONG> <STRONG>const</STRONG> <STRONG>char</STRONG> <STRONG>*</STRONG><EM>fmt</EM><STRONG>,</STRONG> <STRONG>...);</STRONG>
+ <STRONG>int</STRONG> <STRONG>mvscanw(int</STRONG> <EM>y</EM><STRONG>,</STRONG> <STRONG>int</STRONG> <EM>x</EM><STRONG>,</STRONG> <STRONG>const</STRONG> <STRONG>char</STRONG> <STRONG>*</STRONG><EM>fmt</EM><STRONG>,</STRONG> <STRONG>...);</STRONG>
+ <STRONG>int</STRONG> <STRONG>mvwscanw(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>fmt</EM><STRONG>,</STRONG> <STRONG>...);</STRONG>
+
+ <STRONG>int</STRONG> <STRONG>vw_scanw(WINDOW</STRONG> <STRONG>*</STRONG><EM>win</EM><STRONG>,</STRONG> <STRONG>const</STRONG> <STRONG>char</STRONG> <STRONG>*</STRONG><EM>fmt</EM><STRONG>,</STRONG> <STRONG>va_list</STRONG> <EM>varglist</EM><STRONG>);</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>
+ <STRONG>int</STRONG> <STRONG>vwscanw(WINDOW</STRONG> <STRONG>*</STRONG><EM>win</EM><STRONG>,</STRONG> <STRONG>const</STRONG> <STRONG>char</STRONG> <STRONG>*</STRONG><EM>fmt</EM><STRONG>,</STRONG> <STRONG>va_list</STRONG> <EM>varglist</EM><STRONG>);</STRONG>
</PRE><H2><a name="h2-DESCRIPTION">DESCRIPTION</a></H2><PRE>
@@ -89,41 +90,70 @@
the window pointer is null.
+</PRE><H2><a name="h2-HISTORY">HISTORY</a></H2><PRE>
+ While <STRONG>scanw</STRONG> was implemented in 4BSD, none of the BSD releases used it
+ until 4.4BSD (in a game). That early version of curses was before the
+ ANSI C standard. It did not use &lt;varargs.h&gt;, though that was
+ available. In 1991 (a couple of years after SVr4 was generally
+ available, and after the C standard was published), other developers
+ updated the library, using &lt;stdarg.h&gt; internally in 4.4BSD curses.
+ Even with this improvement, BSD curses did not use function prototypes
+ (or even declare functions) in the &lt;curses.h&gt; header until 1992.
+
+ SVr2 documented <STRONG>scanw</STRONG>, <STRONG>wscanw</STRONG> tersely as "scanf through <EM>stdscr</EM>" and
+ tersely as "scanf through <EM>win</EM>", respectively.
+
+ SVr3 added <STRONG>mvscanw</STRONG>, and <STRONG>mvwscanw</STRONG>, with a three-line summary saying that
+ they were analogous to <STRONG>scanf(3)</STRONG>, explaining that the string which would
+ be output from <STRONG>scanf(3)</STRONG> would instead be output using <STRONG>waddstr</STRONG> on the
+ given window. SVr3 also added <STRONG>vwscanw</STRONG>, saying that the third parameter
+ is a <STRONG>va_list</STRONG>, defined in &lt;varargs.h&gt;, and referring the reader to the
+ manual pages for <EM>varargs</EM> and <EM>vprintf</EM> for detailed descriptions.
+ (Because the SVr3 documentation does not mention <EM>vscanf</EM>, that reference
+ to <EM>vprintf</EM> may not be an error).
+
+ SVr4 added no new variations of <STRONG>scanw</STRONG>, but provided for using
+ &lt;varargs.h&gt; or &lt;stdarg.h&gt; to define the <STRONG>va_list</STRONG> type.
+
+ X/Open Curses added <STRONG>vw_scanw</STRONG> to replace <STRONG>vwscanw</STRONG>, stating that its
+ <STRONG>va_list</STRONG> definition requires &lt;stdarg.h&gt;.
+
+
</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:
- <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
+ <STRONG>o</STRONG> The XSI Curses standard, Issue 4 described these functions, noting
+ that the function <STRONG>vwscanw</STRONG> is marked TO BE WITHDRAWN, and is to be
replaced by a function <STRONG>vw_scanw</STRONG> using the <STRONG>&lt;stdarg.h&gt;</STRONG> interface.
- <STRONG>o</STRONG> The Single Unix Specification, Version 2 states that <STRONG>vw_scanw</STRONG> is
- preferred to <STRONG>vwscanw</STRONG> since the latter requires including
- <STRONG>&lt;varargs.h&gt;</STRONG>, which cannot be used in the same file as <STRONG>&lt;stdarg.h&gt;</STRONG>.
- This implementation uses <STRONG>&lt;stdarg.h&gt;</STRONG> for both, because that header
+ <STRONG>o</STRONG> The Single Unix Specification, Version 2 states that <STRONG>vw_scanw</STRONG> is
+ preferred to <STRONG>vwscanw</STRONG> since the latter requires including
+ <STRONG>&lt;varargs.h&gt;</STRONG>, which cannot be used in the same file as <STRONG>&lt;stdarg.h&gt;</STRONG>.
+ This implementation uses <STRONG>&lt;stdarg.h&gt;</STRONG> for both, because that header
is included in <STRONG>&lt;curses.h</STRONG>&gt;.
- <STRONG>o</STRONG> X/Open Curses, Issue 5 (December 2007) marked <STRONG>vwscanw</STRONG> (along with
+ <STRONG>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
+ 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
+ <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
+ 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
+ <STRONG>o</STRONG> This implementation returns the number of items scanned, for
+ compatibility 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>,
+ <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
+ One possible 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.
@@ -141,6 +171,7 @@
<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-HISTORY">HISTORY</a></li>
<li><a href="#h2-PORTABILITY">PORTABILITY</a></li>
<li><a href="#h2-SEE-ALSO">SEE ALSO</a></li>
</ul>
diff --git a/doc/html/man/curs_scr_dump.3x.html b/doc/html/man/curs_scr_dump.3x.html
index f07d40aef21f..2c3efab46df7 100644
--- a/doc/html/man/curs_scr_dump.3x.html
+++ b/doc/html/man/curs_scr_dump.3x.html
@@ -27,7 +27,7 @@
* sale, use or other dealings in this Software without prior written *
* authorization. *
****************************************************************************
- * @Id: curs_scr_dump.3x,v 1.15 2020/02/02 23:34:34 tom Exp @
+ * @Id: curs_scr_dump.3x,v 1.16 2020/10/24 09:44:43 tom Exp @
-->
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN">
<HTML>
@@ -54,10 +54,10 @@
</PRE><H2><a name="h2-SYNOPSIS">SYNOPSIS</a></H2><PRE>
<STRONG>#include</STRONG> <STRONG>&lt;curses.h&gt;</STRONG>
- <STRONG>int</STRONG> <STRONG>scr_dump(const</STRONG> <STRONG>char</STRONG> <STRONG>*filename);</STRONG>
- <STRONG>int</STRONG> <STRONG>scr_restore(const</STRONG> <STRONG>char</STRONG> <STRONG>*filename);</STRONG>
- <STRONG>int</STRONG> <STRONG>scr_init(const</STRONG> <STRONG>char</STRONG> <STRONG>*filename);</STRONG>
- <STRONG>int</STRONG> <STRONG>scr_set(const</STRONG> <STRONG>char</STRONG> <STRONG>*filename);</STRONG>
+ <STRONG>int</STRONG> <STRONG>scr_dump(const</STRONG> <STRONG>char</STRONG> <STRONG>*</STRONG><EM>filename</EM><STRONG>);</STRONG>
+ <STRONG>int</STRONG> <STRONG>scr_restore(const</STRONG> <STRONG>char</STRONG> <STRONG>*</STRONG><EM>filename</EM><STRONG>);</STRONG>
+ <STRONG>int</STRONG> <STRONG>scr_init(const</STRONG> <STRONG>char</STRONG> <STRONG>*</STRONG><EM>filename</EM><STRONG>);</STRONG>
+ <STRONG>int</STRONG> <STRONG>scr_set(const</STRONG> <STRONG>char</STRONG> <STRONG>*</STRONG><EM>filename</EM><STRONG>);</STRONG>
</PRE><H2><a name="h2-DESCRIPTION">DESCRIPTION</a></H2><PRE>
diff --git a/doc/html/man/curs_scroll.3x.html b/doc/html/man/curs_scroll.3x.html
index 0b0e8927c81b..d936cbc1b0da 100644
--- a/doc/html/man/curs_scroll.3x.html
+++ b/doc/html/man/curs_scroll.3x.html
@@ -27,7 +27,7 @@
* sale, use or other dealings in this Software without prior written *
* authorization. *
****************************************************************************
- * @Id: curs_scroll.3x,v 1.18 2020/02/02 23:34:34 tom Exp @
+ * @Id: curs_scroll.3x,v 1.19 2020/10/24 09:45:48 tom Exp @
-->
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN">
<HTML>
@@ -53,9 +53,10 @@
</PRE><H2><a name="h2-SYNOPSIS">SYNOPSIS</a></H2><PRE>
<STRONG>#include</STRONG> <STRONG>&lt;curses.h&gt;</STRONG>
- <STRONG>int</STRONG> <STRONG>scroll(WINDOW</STRONG> <STRONG>*win);</STRONG>
- <STRONG>int</STRONG> <STRONG>scrl(int</STRONG> <STRONG>n);</STRONG>
- <STRONG>int</STRONG> <STRONG>wscrl(WINDOW</STRONG> <STRONG>*win,</STRONG> <STRONG>int</STRONG> <STRONG>n);</STRONG>
+ <STRONG>int</STRONG> <STRONG>scroll(WINDOW</STRONG> <STRONG>*</STRONG><EM>win</EM><STRONG>);</STRONG>
+
+ <STRONG>int</STRONG> <STRONG>scrl(int</STRONG> <EM>n</EM><STRONG>);</STRONG>
+ <STRONG>int</STRONG> <STRONG>wscrl(WINDOW</STRONG> <STRONG>*</STRONG><EM>win</EM><STRONG>,</STRONG> <STRONG>int</STRONG> <EM>n</EM><STRONG>);</STRONG>
</PRE><H2><a name="h2-DESCRIPTION">DESCRIPTION</a></H2><PRE>
diff --git a/doc/html/man/curs_slk.3x.html b/doc/html/man/curs_slk.3x.html
index bfa1a94579c3..38c3c61b4ff3 100644
--- a/doc/html/man/curs_slk.3x.html
+++ b/doc/html/man/curs_slk.3x.html
@@ -27,7 +27,7 @@
* sale, use or other dealings in this Software without prior written *
* authorization. *
****************************************************************************
- * @Id: curs_slk.3x,v 1.36 2020/02/02 23:34:34 tom Exp @
+ * @Id: curs_slk.3x,v 1.37 2020/12/30 18:37:43 tom Exp @
-->
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN">
<HTML>
@@ -59,6 +59,7 @@
<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>
+ /* extension */
<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>
diff --git a/doc/html/man/curs_sp_funcs.3x.html b/doc/html/man/curs_sp_funcs.3x.html
index a83cece723b7..c934b28ff639 100644
--- a/doc/html/man/curs_sp_funcs.3x.html
+++ b/doc/html/man/curs_sp_funcs.3x.html
@@ -1,6 +1,6 @@
<!--
****************************************************************************
- * Copyright 2018-2019,2020 Thomas E. Dickey *
+ * Copyright 2018-2020,2021 Thomas E. Dickey *
* Copyright 2010-2015,2017 Free Software Foundation, Inc. *
* *
* Permission is hereby granted, free of charge, to any person obtaining a *
@@ -27,7 +27,7 @@
* sale, use or other dealings in this Software without prior written *
* authorization. *
****************************************************************************
- * @Id: curs_sp_funcs.3x,v 1.18 2020/02/02 23:34:34 tom Exp @
+ * @Id: curs_sp_funcs.3x,v 1.24 2021/01/02 23:53:22 tom Exp @
* ***************************************************************************
* ***************************************************************************
* ***************************************************************************
@@ -54,146 +54,163 @@
</PRE><H2><a name="h2-SYNOPSIS">SYNOPSIS</a></H2><PRE>
- <STRONG>#include</STRONG> <STRONG>&lt;curses.h&gt;</STRONG> <STRONG>#include</STRONG> <STRONG>&lt;term.h&gt;</STRONG>
-
- <STRONG>int</STRONG> <STRONG>alloc_pair_sp(SCREEN*,</STRONG> <STRONG>int,</STRONG> <STRONG>int);</STRONG>
- <STRONG>int</STRONG> <STRONG>assume_default_colors_sp(SCREEN*,</STRONG> <STRONG>int,</STRONG> <STRONG>int);</STRONG>
- <STRONG>int</STRONG> <STRONG>baudrate_sp(SCREEN*);</STRONG>
- <STRONG>int</STRONG> <STRONG>beep_sp(SCREEN*);</STRONG>
- <STRONG>bool</STRONG> <STRONG>can_change_color_sp(SCREEN*);</STRONG>
- <STRONG>int</STRONG> <STRONG>cbreak_sp(SCREEN*);</STRONG>
- <STRONG>int</STRONG> <STRONG>color_content_sp(SCREEN*,</STRONG> <STRONG>short,</STRONG> <STRONG>short*,</STRONG> <STRONG>short*,</STRONG> <STRONG>short*);</STRONG>
- <STRONG>int</STRONG> <STRONG>curs_set_sp(SCREEN*,</STRONG> <STRONG>int);</STRONG>
- <STRONG>int</STRONG> <STRONG>define_key_sp(SCREEN*,</STRONG> <STRONG>const</STRONG> <STRONG>char</STRONG> <STRONG>*,</STRONG> <STRONG>int);</STRONG>
- <STRONG>int</STRONG> <STRONG>def_prog_mode_sp(SCREEN*);</STRONG>
- <STRONG>int</STRONG> <STRONG>def_shell_mode_sp(SCREEN*);</STRONG>
- <STRONG>int</STRONG> <STRONG>delay_output_sp(SCREEN*,</STRONG> <STRONG>int);</STRONG>
- <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>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>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>
- <STRONG>bool</STRONG> <STRONG>is_term_resized_sp(SCREEN*,</STRONG> <STRONG>int,</STRONG> <STRONG>int);</STRONG>
- <STRONG>char*</STRONG> <STRONG>keybound_sp(SCREEN*,</STRONG> <STRONG>int,</STRONG> <STRONG>int);</STRONG>
- <STRONG>int</STRONG> <STRONG>key_defined_sp(SCREEN*,</STRONG> <STRONG>const</STRONG> <STRONG>char</STRONG> <STRONG>*);</STRONG>
- <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>
- <STRONG>int</STRONG> <STRONG>mvcur_sp(SCREEN*,</STRONG> <STRONG>int,</STRONG> <STRONG>int,</STRONG> <STRONG>int,</STRONG> <STRONG>int);</STRONG>
- <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>#include</STRONG> <STRONG>&lt;curses.h&gt;</STRONG>
+
+ <STRONG>int</STRONG> <STRONG>alloc_pair_sp(SCREEN*</STRONG> <EM>sp</EM><STRONG>,</STRONG> <STRONG>int</STRONG> <EM>fg</EM><STRONG>,</STRONG> <STRONG>int</STRONG> <EM>bg</EM><STRONG>);</STRONG>
+ <STRONG>int</STRONG> <STRONG>assume_default_colors_sp(SCREEN*</STRONG> <EM>sp</EM><STRONG>,</STRONG> <STRONG>int</STRONG> <EM>fg</EM><STRONG>,</STRONG> <STRONG>int</STRONG> <EM>bg</EM><STRONG>);</STRONG>
+ <STRONG>int</STRONG> <STRONG>baudrate_sp(SCREEN*</STRONG> <EM>sp</EM><STRONG>);</STRONG>
+ <STRONG>int</STRONG> <STRONG>beep_sp(SCREEN*</STRONG> <EM>sp</EM><STRONG>);</STRONG>
+ <STRONG>bool</STRONG> <STRONG>can_change_color_sp(SCREEN*</STRONG> <EM>sp</EM><STRONG>);</STRONG>
+ <STRONG>int</STRONG> <STRONG>cbreak_sp(SCREEN*</STRONG> <EM>sp</EM><STRONG>);</STRONG>
+ <STRONG>int</STRONG> <STRONG>color_content_sp(SCREEN*</STRONG> <EM>sp</EM><STRONG>,</STRONG> <STRONG>short</STRONG> <EM>color</EM><STRONG>,</STRONG> <STRONG>short*</STRONG> <EM>r</EM><STRONG>,</STRONG> <STRONG>short*</STRONG> <EM>g</EM><STRONG>,</STRONG> <STRONG>short*</STRONG> <EM>b</EM><STRONG>);</STRONG>
+ <STRONG>int</STRONG> <STRONG>curs_set_sp(SCREEN*</STRONG> <EM>sp</EM><STRONG>,</STRONG> <STRONG>int</STRONG> <EM>visibility</EM>);
+ <STRONG>int</STRONG> <STRONG>def_prog_mode_sp(SCREEN*</STRONG> <EM>sp</EM><STRONG>);</STRONG>
+ <STRONG>int</STRONG> <STRONG>def_shell_mode_sp(SCREEN*</STRONG> <EM>sp</EM><STRONG>);</STRONG>
+
+ <STRONG>int</STRONG> <STRONG>define_key_sp(SCREEN*</STRONG> <EM>sp</EM><STRONG>,</STRONG> <STRONG>const</STRONG> <STRONG>char</STRONG> <STRONG>*</STRONG> <EM>definition</EM><STRONG>,</STRONG> <STRONG>int</STRONG> <EM>keycode</EM><STRONG>);</STRONG>
+ <STRONG>int</STRONG> <STRONG>delay_output_sp(SCREEN*</STRONG> <EM>sp</EM><STRONG>,</STRONG> <STRONG>int</STRONG> <EM>ms</EM><STRONG>);</STRONG>
+ <STRONG>int</STRONG> <STRONG>doupdate_sp(SCREEN*</STRONG> <EM>sp</EM><STRONG>);</STRONG>
+ <STRONG>int</STRONG> <STRONG>echo_sp(SCREEN*</STRONG> <EM>sp</EM><STRONG>);</STRONG>
+ <STRONG>int</STRONG> <STRONG>endwin_sp(SCREEN*</STRONG> <EM>sp</EM><STRONG>);</STRONG>
+ <STRONG>char</STRONG> <STRONG>erasechar_sp(SCREEN*</STRONG> <EM>sp</EM><STRONG>);</STRONG>
+ <STRONG>int</STRONG> <STRONG>extended_color_content_sp(SCREEN</STRONG> <STRONG>*</STRONG> <EM>sp</EM><STRONG>,</STRONG> <STRONG>int</STRONG> <EM>color</EM><STRONG>,</STRONG> <STRONG>int</STRONG> <STRONG>*</STRONG> <EM>r</EM><STRONG>,</STRONG> <STRONG>int</STRONG> <STRONG>*</STRONG> <EM>g</EM><STRONG>,</STRONG> <STRONG>int</STRONG> <STRONG>*</STRONG> <EM>b</EM><STRONG>);</STRONG>
+ <STRONG>int</STRONG> <STRONG>extended_pair_content_sp(SCREEN*</STRONG> <EM>sp</EM><STRONG>,</STRONG> <STRONG>int</STRONG> <EM>pair</EM><STRONG>,</STRONG> <STRONG>int</STRONG> <STRONG>*</STRONG> <EM>fg</EM><STRONG>,</STRONG> <STRONG>int</STRONG> <STRONG>*</STRONG> <EM>bg</EM><STRONG>);</STRONG>
+ <STRONG>int</STRONG> <STRONG>extended_slk_color_sp(SCREEN*</STRONG> <EM>sp</EM><STRONG>,</STRONG> <STRONG>int</STRONG> <EM>pair</EM><STRONG>);</STRONG>
+ <STRONG>void</STRONG> <STRONG>filter_sp(SCREEN*</STRONG> <EM>sp</EM><STRONG>);</STRONG>
+
+ <STRONG>int</STRONG> <STRONG>find_pair_sp(SCREEN*</STRONG> <EM>sp</EM><STRONG>,</STRONG> <STRONG>int</STRONG> <EM>fg</EM><STRONG>,</STRONG> <STRONG>int</STRONG> <EM>bg</EM><STRONG>);</STRONG>
+ <STRONG>int</STRONG> <STRONG>flash_sp(SCREEN*</STRONG> <EM>sp</EM><STRONG>);</STRONG>
+ <STRONG>int</STRONG> <STRONG>flushinp_sp(SCREEN*</STRONG> <EM>sp</EM><STRONG>);</STRONG>
+ <STRONG>int</STRONG> <STRONG>free_pair_sp(SCREEN*</STRONG> <EM>sp</EM><STRONG>,</STRONG> <STRONG>int</STRONG> <EM>pair</EM><STRONG>);</STRONG>
+ <STRONG>int</STRONG> <STRONG>get_escdelay_sp(SCREEN*</STRONG> <EM>sp</EM><STRONG>);</STRONG>
+ <STRONG>int</STRONG> <STRONG>getmouse_sp(SCREEN*</STRONG> <EM>sp</EM><STRONG>,</STRONG> <STRONG>MEVENT*</STRONG> <STRONG>event);</STRONG>
+ <STRONG>WINDOW*</STRONG> <STRONG>getwin_sp(SCREEN*</STRONG> <EM>sp</EM><STRONG>,</STRONG> <STRONG>FILE*</STRONG> <EM>filep</EM><STRONG>);</STRONG>
+ <STRONG>int</STRONG> <STRONG>halfdelay_sp(SCREEN*</STRONG> <EM>sp</EM><STRONG>,</STRONG> <STRONG>int</STRONG> <EM>tenths</EM><STRONG>);</STRONG>
+ <STRONG>bool</STRONG> <STRONG>has_colors_sp(SCREEN*</STRONG> <EM>sp</EM><STRONG>);</STRONG>
+ <STRONG>bool</STRONG> <STRONG>has_ic_sp(SCREEN*</STRONG> <EM>sp</EM><STRONG>);</STRONG>
+
+ <STRONG>bool</STRONG> <STRONG>has_il_sp(SCREEN*</STRONG> <EM>sp</EM><STRONG>);</STRONG>
+ <STRONG>int</STRONG> <STRONG>has_key_sp(SCREEN*</STRONG> <EM>sp</EM><STRONG>,</STRONG> <STRONG>int</STRONG> <EM>ch</EM><STRONG>);</STRONG>
+ <STRONG>bool</STRONG> <STRONG>has_mouse_sp(SCREEN*</STRONG> <EM>sp</EM><STRONG>);</STRONG>
+ <STRONG>int</STRONG> <STRONG>init_color_sp(SCREEN*</STRONG> <EM>sp</EM><STRONG>,</STRONG> <STRONG>short</STRONG> <EM>color</EM><STRONG>,</STRONG> <STRONG>short</STRONG> <EM>r</EM><STRONG>,</STRONG> <STRONG>short</STRONG> <EM>g</EM><STRONG>,</STRONG> <STRONG>short</STRONG> <EM>b</EM><STRONG>);</STRONG>
+ <STRONG>int</STRONG> <STRONG>init_extended_color_sp(SCREEN*</STRONG> <EM>sp</EM><STRONG>,</STRONG> <STRONG>int</STRONG> <EM>color</EM><STRONG>,</STRONG> <STRONG>int</STRONG> <EM>r</EM><STRONG>,</STRONG> <STRONG>int</STRONG> <EM>g</EM><STRONG>,</STRONG> <STRONG>int</STRONG> <EM>b</EM><STRONG>);</STRONG>
+ <STRONG>int</STRONG> <STRONG>init_extended_pair_sp(SCREEN*</STRONG> <EM>sp</EM><STRONG>,</STRONG> <STRONG>int</STRONG> <EM>pair</EM><STRONG>,</STRONG> <STRONG>int</STRONG> <EM>fg</EM><STRONG>,</STRONG> <STRONG>int</STRONG> <EM>bg</EM><STRONG>);</STRONG>
+ <STRONG>int</STRONG> <STRONG>init_pair_sp(SCREEN*</STRONG> <EM>sp</EM><STRONG>,</STRONG> <STRONG>short</STRONG> <EM>pair</EM><STRONG>,</STRONG> <STRONG>short</STRONG> <EM>fg</EM><STRONG>,</STRONG> <STRONG>short</STRONG> <EM>bg</EM><STRONG>);</STRONG>
+ <STRONG>int</STRONG> <STRONG>intrflush_sp(SCREEN*</STRONG> <EM>sp</EM><STRONG>,</STRONG> <STRONG>WINDOW*</STRONG> <EM>win</EM><STRONG>,</STRONG> <STRONG>bool</STRONG> <EM>bf</EM><STRONG>);</STRONG>
+ <STRONG>bool</STRONG> <STRONG>is_term_resized_sp(SCREEN*</STRONG> <EM>sp</EM><STRONG>,</STRONG> <STRONG>int</STRONG> <EM>lines</EM><STRONG>,</STRONG> <STRONG>int</STRONG> <EM>columns</EM><STRONG>);</STRONG>
+ <STRONG>bool</STRONG> <STRONG>isendwin_sp(SCREEN*</STRONG> <EM>sp</EM><STRONG>);</STRONG>
+
+ <STRONG>int</STRONG> <STRONG>key_defined_sp(SCREEN*</STRONG> <EM>sp</EM><STRONG>,</STRONG> <STRONG>const</STRONG> <STRONG>char</STRONG> <STRONG>*</STRONG><EM>definition</EM><STRONG>);</STRONG>
+ <STRONG>char*</STRONG> <STRONG>keybound_sp(SCREEN*</STRONG> <EM>sp</EM><STRONG>,</STRONG> <STRONG>int</STRONG> <EM>keycode</EM><STRONG>,</STRONG> <STRONG>int</STRONG> <EM>count</EM><STRONG>);</STRONG>
+ <STRONG>NCURSES_CONST</STRONG> <STRONG>char</STRONG> <STRONG>*</STRONG> <STRONG>keyname_sp(SCREEN*</STRONG> <EM>sp</EM><STRONG>,</STRONG> <STRONG>int</STRONG> <EM>c</EM><STRONG>);</STRONG>
+ <STRONG>int</STRONG> <STRONG>keyok_sp(SCREEN*</STRONG> <EM>sp</EM><STRONG>,</STRONG> <STRONG>int</STRONG> <EM>keycode</EM><STRONG>,</STRONG> <STRONG>bool</STRONG> <EM>enable</EM><STRONG>);</STRONG>
+ <STRONG>char</STRONG> <STRONG>killchar_sp(SCREEN*</STRONG> <EM>sp</EM><STRONG>);</STRONG>
+ <STRONG>char*</STRONG> <STRONG>longname_sp(SCREEN*</STRONG> <EM>sp</EM><STRONG>);</STRONG>
+ <STRONG>int</STRONG> <STRONG>mcprint_sp(SCREEN*</STRONG> <EM>sp</EM><STRONG>,</STRONG> <STRONG>char</STRONG> <STRONG>*</STRONG><EM>data</EM><STRONG>,</STRONG> <STRONG>int</STRONG> <EM>len</EM><STRONG>);</STRONG>
+ <STRONG>int</STRONG> <STRONG>mouseinterval_sp(SCREEN*</STRONG> <EM>sp</EM><STRONG>,</STRONG> <STRONG>int</STRONG> <EM>erval</EM><STRONG>);</STRONG>
+ <STRONG>mmask_t</STRONG> <STRONG>mousemask_sp(SCREEN*</STRONG> <EM>sp</EM><STRONG>,</STRONG> <STRONG>mmask_t</STRONG> <EM>newmask</EM><STRONG>,</STRONG> <STRONG>mmask_t</STRONG> <STRONG>*</STRONG><EM>oldmask</EM><STRONG>);</STRONG>
+ <STRONG>int</STRONG> <STRONG>mvcur_sp(SCREEN*</STRONG> <EM>sp</EM><STRONG>,</STRONG> <STRONG>int</STRONG> <EM>oldrow</EM><STRONG>,</STRONG> <STRONG>int</STRONG> <EM>oldcol</EM><STRONG>,</STRONG> <STRONG>int</STRONG> <EM>newrow</EM><STRONG>,</STRONG> <STRONG>int</STRONG> <EM>newcol</EM><STRONG>);</STRONG>
+
+ <STRONG>int</STRONG> <STRONG>napms_sp(SCREEN*</STRONG> <EM>sp</EM><STRONG>,</STRONG> <STRONG>int</STRONG> <EM>ms</EM><STRONG>);</STRONG>
+ <STRONG>WINDOW*</STRONG> <STRONG>newpad_sp(SCREEN*</STRONG> <EM>sp</EM><STRONG>,</STRONG> <STRONG>int</STRONG> <EM>nrows</EM><STRONG>,</STRONG> <STRONG>int</STRONG> <EM>ncols</EM><STRONG>);</STRONG>
<STRONG>SCREEN*</STRONG> <STRONG>new_prescr(void);</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>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>
- <STRONG>int</STRONG> <STRONG>pair_content_sp(SCREEN*,</STRONG> <STRONG>short,</STRONG> <STRONG>short*,</STRONG> <STRONG>short*);</STRONG>
- <STRONG>void</STRONG> <STRONG>qiflush_sp(SCREEN*);</STRONG>
- <STRONG>int</STRONG> <STRONG>raw_sp(SCREEN*);</STRONG>
- <STRONG>int</STRONG> <STRONG>reset_prog_mode_sp(SCREEN*);</STRONG>
- <STRONG>int</STRONG> <STRONG>reset_shell_mode_sp(SCREEN*);</STRONG>
- <STRONG>int</STRONG> <STRONG>resetty_sp(SCREEN*);</STRONG>
- <STRONG>int</STRONG> <STRONG>resize_term_sp(SCREEN*,</STRONG> <STRONG>int,</STRONG> <STRONG>int);</STRONG>
- <STRONG>int</STRONG> <STRONG>resizeterm_sp(SCREEN*,</STRONG> <STRONG>int,</STRONG> <STRONG>int);</STRONG>
- <STRONG>int</STRONG> <STRONG>restartterm_sp(SCREEN*,</STRONG> <STRONG>NCURSES_CONST</STRONG> <STRONG>char*,</STRONG> <STRONG>int,</STRONG> <STRONG>int</STRONG> <STRONG>*);</STRONG>
- <STRONG>int</STRONG> <STRONG>ripoffline_sp(SCREEN*,</STRONG> <STRONG>int,</STRONG> <STRONG>int</STRONG> <STRONG>(*)(WINDOW*,</STRONG> <STRONG>int));</STRONG>
- <STRONG>int</STRONG> <STRONG>savetty_sp(SCREEN*);</STRONG>
- <STRONG>int</STRONG> <STRONG>scr_init_sp(SCREEN*,</STRONG> <STRONG>const</STRONG> <STRONG>char</STRONG> <STRONG>*);</STRONG>
- <STRONG>int</STRONG> <STRONG>scr_restore_sp(SCREEN*,</STRONG> <STRONG>const</STRONG> <STRONG>char</STRONG> <STRONG>*);</STRONG>
- <STRONG>int</STRONG> <STRONG>scr_set_sp(SCREEN*,</STRONG> <STRONG>const</STRONG> <STRONG>char</STRONG> <STRONG>*);</STRONG>
- <STRONG>TERMINAL*</STRONG> <STRONG>set_curterm_sp(SCREEN*,</STRONG> <STRONG>TERMINAL*);</STRONG>
- <STRONG>int</STRONG> <STRONG>set_escdelay_sp(SCREEN*,</STRONG> <STRONG>int);</STRONG>
- <STRONG>int</STRONG> <STRONG>set_tabsize_sp(SCREEN*,</STRONG> <STRONG>int);</STRONG>
- <STRONG>int</STRONG> <STRONG>slk_attroff_sp(SCREEN*,</STRONG> <STRONG>const</STRONG> <STRONG>chtype);</STRONG>
- <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>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>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>
- <STRONG>int</STRONG> <STRONG>slk_set_sp(SCREEN*,</STRONG> <STRONG>int,</STRONG> <STRONG>const</STRONG> <STRONG>char</STRONG> <STRONG>*,</STRONG> <STRONG>int);</STRONG>
- <STRONG>int</STRONG> <STRONG>slk_touch_sp(SCREEN*);</STRONG>
- <STRONG>int</STRONG> <STRONG>start_color_sp(SCREEN*);</STRONG>
- <STRONG>attr_t</STRONG> <STRONG>term_attrs_sp(SCREEN*);</STRONG>
- <STRONG>chtype</STRONG> <STRONG>termattrs_sp(SCREEN*);</STRONG>
- <STRONG>char*</STRONG> <STRONG>termname_sp(SCREEN*);</STRONG>
- <STRONG>int</STRONG> <STRONG>typeahead_sp(SCREEN*,</STRONG> <STRONG>int);</STRONG>
- <STRONG>NCURSES_CONST</STRONG> <STRONG>char*</STRONG> <STRONG>unctrl_sp(SCREEN*,</STRONG> <STRONG>chtype);</STRONG>
- <STRONG>int</STRONG> <STRONG>ungetch_sp(SCREEN*,</STRONG> <STRONG>int);</STRONG>
- <STRONG>int</STRONG> <STRONG>ungetmouse_sp(SCREEN*,MEVENT</STRONG> <STRONG>*);</STRONG>
- <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>
- <STRONG>int</STRONG> <STRONG>vid_puts_sp(SCREEN*,</STRONG> <STRONG>attr_t,</STRONG> <STRONG>short,</STRONG> <STRONG>void</STRONG> <STRONG>*,</STRONG> <STRONG>NCURSES_SP_OUTC);</STRONG>
- <STRONG>int</STRONG> <STRONG>vidputs_sp(SCREEN*,</STRONG> <STRONG>chtype,</STRONG> <STRONG>NCURSES_SP_OUTC);</STRONG>
- <STRONG>wchar_t*</STRONG> <STRONG>wunctrl_sp(SCREEN*,</STRONG> <STRONG>cchar_t</STRONG> <STRONG>*);</STRONG>
+ <STRONG>SCREEN*</STRONG> <STRONG>newterm_sp(SCREEN*</STRONG> <EM>sp</EM><STRONG>,</STRONG> <STRONG>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>WINDOW*</STRONG> <STRONG>newwin_sp(SCREEN*</STRONG> <EM>sp</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>nl_sp(SCREEN*</STRONG> <EM>sp</EM><STRONG>);</STRONG>
+ <STRONG>int</STRONG> <STRONG>nocbreak_sp(SCREEN*</STRONG> <EM>sp</EM><STRONG>);</STRONG>
+ <STRONG>int</STRONG> <STRONG>noecho_sp(SCREEN*</STRONG> <EM>sp</EM><STRONG>);</STRONG>
+ <STRONG>void</STRONG> <STRONG>nofilter_sp(SCREEN*</STRONG> <EM>sp</EM><STRONG>);</STRONG>
+ <STRONG>int</STRONG> <STRONG>nonl_sp(SCREEN*</STRONG> <EM>sp</EM><STRONG>);</STRONG>
+
+ <STRONG>void</STRONG> <STRONG>noqiflush_sp(SCREEN*</STRONG> <EM>sp</EM><STRONG>);</STRONG>
+ <STRONG>int</STRONG> <STRONG>noraw_sp(SCREEN*</STRONG> <EM>sp</EM><STRONG>);</STRONG>
+ <STRONG>int</STRONG> <STRONG>pair_content_sp(SCREEN*</STRONG> <EM>sp</EM><STRONG>,</STRONG> <STRONG>short</STRONG> <EM>pair</EM><STRONG>,</STRONG> <STRONG>short*</STRONG> <EM>fg</EM><STRONG>,</STRONG> <STRONG>short*</STRONG> <EM>bg</EM><STRONG>);</STRONG>
+ <STRONG>void</STRONG> <STRONG>qiflush_sp(SCREEN*</STRONG> <EM>sp</EM><STRONG>);</STRONG>
+ <STRONG>int</STRONG> <STRONG>raw_sp(SCREEN*</STRONG> <EM>sp</EM><STRONG>);</STRONG>
+ <STRONG>int</STRONG> <STRONG>reset_prog_mode_sp(SCREEN*</STRONG> <EM>sp</EM><STRONG>);</STRONG>
+ <STRONG>void</STRONG> <STRONG>reset_color_pairs_sp(SCREEN*</STRONG> <EM>sp</EM><STRONG>);</STRONG>
+ <STRONG>int</STRONG> <STRONG>reset_shell_mode_sp(SCREEN*</STRONG> <EM>sp</EM><STRONG>);</STRONG>
+ <STRONG>int</STRONG> <STRONG>resetty_sp(SCREEN*</STRONG> <EM>sp</EM><STRONG>);</STRONG>
+ <STRONG>int</STRONG> <STRONG>resize_term_sp(SCREEN*</STRONG> <EM>sp</EM><STRONG>,</STRONG> <STRONG>int</STRONG> <EM>lines</EM><STRONG>,</STRONG> <STRONG>int</STRONG> <EM>columns</EM><STRONG>);</STRONG>
+
+ <STRONG>int</STRONG> <STRONG>resizeterm_sp(SCREEN*</STRONG> <EM>sp</EM><STRONG>,</STRONG> <STRONG>int</STRONG> <EM>lines</EM><STRONG>,</STRONG> <STRONG>int</STRONG> <EM>columns</EM><STRONG>);</STRONG>
+ <STRONG>int</STRONG> <STRONG>ripoffline_sp(SCREEN*</STRONG> <EM>sp</EM><STRONG>,</STRONG> <STRONG>int</STRONG> <EM>line</EM><STRONG>,</STRONG> <STRONG>int</STRONG> <STRONG>(*</STRONG><EM>init</EM><STRONG>)(WINDOW*</STRONG> <EM>win</EM><STRONG>,</STRONG> <STRONG>int</STRONG> <EM>fmt</EM><STRONG>));</STRONG>
+ <STRONG>int</STRONG> <STRONG>savetty_sp(SCREEN*</STRONG> <EM>sp</EM><STRONG>);</STRONG>
+ <STRONG>int</STRONG> <STRONG>scr_init_sp(SCREEN*</STRONG> <EM>sp</EM><STRONG>,</STRONG> <STRONG>const</STRONG> <STRONG>char</STRONG> <STRONG>*</STRONG><EM>filename</EM><STRONG>);</STRONG>
+ <STRONG>int</STRONG> <STRONG>scr_restore_sp(SCREEN*</STRONG> <EM>sp</EM><STRONG>,</STRONG> <STRONG>const</STRONG> <STRONG>char</STRONG> <STRONG>*</STRONG><EM>filename</EM><STRONG>);</STRONG>
+ <STRONG>int</STRONG> <STRONG>scr_set_sp(SCREEN*</STRONG> <EM>sp</EM><STRONG>,</STRONG> <STRONG>const</STRONG> <STRONG>char</STRONG> <STRONG>*</STRONG><EM>filename</EM><STRONG>);</STRONG>
+ <STRONG>int</STRONG> <STRONG>set_escdelay_sp(SCREEN*</STRONG> <EM>sp</EM><STRONG>,</STRONG> <STRONG>int</STRONG> <EM>ms</EM><STRONG>);</STRONG>
+ <STRONG>int</STRONG> <STRONG>set_tabsize_sp(SCREEN*</STRONG> <EM>sp</EM><STRONG>,</STRONG> <STRONG>int</STRONG> <EM>cols</EM><STRONG>);</STRONG>
+ <STRONG>int</STRONG> <STRONG>slk_attr_set_sp(SCREEN*</STRONG> <EM>sp</EM><STRONG>,</STRONG> <STRONG>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>int</STRONG> <STRONG>slk_attrset_sp(SCREEN*</STRONG> <EM>sp</EM><STRONG>,</STRONG> <STRONG>const</STRONG> <STRONG>chtype</STRONG> <EM>a</EM><STRONG>);</STRONG>
+ <STRONG>int</STRONG> <STRONG>slk_attroff_sp(SCREEN*</STRONG> <EM>sp</EM><STRONG>,</STRONG> <STRONG>const</STRONG> <STRONG>chtype</STRONG> <EM>a</EM><STRONG>);</STRONG>
+ <STRONG>int</STRONG> <STRONG>slk_attron_sp(SCREEN*</STRONG> <EM>sp</EM><STRONG>,</STRONG> <STRONG>const</STRONG> <STRONG>chtype</STRONG> <EM>a</EM><STRONG>);</STRONG>
+ <STRONG>attr_t</STRONG> <STRONG>slk_attr_sp(SCREEN*</STRONG> <EM>sp</EM><STRONG>);</STRONG>
+ <STRONG>int</STRONG> <STRONG>slk_clear_sp(SCREEN*</STRONG> <EM>sp</EM><STRONG>);</STRONG>
+ <STRONG>int</STRONG> <STRONG>slk_color_sp(SCREEN*</STRONG> <EM>sp</EM><STRONG>,</STRONG> <STRONG>short</STRONG> <EM>pair</EM><STRONG>);</STRONG>
+ <STRONG>int</STRONG> <STRONG>slk_init_sp(SCREEN*</STRONG> <EM>sp</EM><STRONG>,</STRONG> <STRONG>int</STRONG> <EM>fmt</EM><STRONG>);</STRONG>
+ <STRONG>char*</STRONG> <STRONG>slk_label_sp(SCREEN*</STRONG> <EM>sp</EM><STRONG>,</STRONG> <STRONG>int</STRONG> <EM>labnum</EM><STRONG>);</STRONG>
+ <STRONG>int</STRONG> <STRONG>slk_noutrefresh_sp(SCREEN*</STRONG> <EM>sp</EM><STRONG>);</STRONG>
+ <STRONG>int</STRONG> <STRONG>slk_refresh_sp(SCREEN*</STRONG> <EM>sp</EM><STRONG>);</STRONG>
+
+ <STRONG>int</STRONG> <STRONG>slk_restore_sp(SCREEN*</STRONG> <EM>sp</EM><STRONG>);</STRONG>
+ <STRONG>int</STRONG> <STRONG>slk_set_sp(SCREEN*</STRONG> <EM>sp</EM><STRONG>,</STRONG> <STRONG>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_touch_sp(SCREEN*</STRONG> <EM>sp</EM><STRONG>);</STRONG>
+ <STRONG>int</STRONG> <STRONG>start_color_sp(SCREEN*</STRONG> <EM>sp</EM><STRONG>);</STRONG>
+ <STRONG>attr_t</STRONG> <STRONG>term_attrs_sp(SCREEN*</STRONG> <EM>sp</EM><STRONG>);</STRONG>
+ <STRONG>chtype</STRONG> <STRONG>termattrs_sp(SCREEN*</STRONG> <EM>sp</EM><STRONG>);</STRONG>
+ <STRONG>char*</STRONG> <STRONG>termname_sp(SCREEN*</STRONG> <EM>sp</EM><STRONG>);</STRONG>
+ <STRONG>int</STRONG> <STRONG>typeahead_sp(SCREEN*</STRONG> <EM>sp</EM><STRONG>,</STRONG> <STRONG>int</STRONG> <EM>fd</EM><STRONG>);</STRONG>
+ <STRONG>int</STRONG> <STRONG>unget_wch_sp(SCREEN*</STRONG> <EM>sp</EM><STRONG>,</STRONG> <STRONG>const</STRONG> <STRONG>wchar_t</STRONG> <EM>wch</EM><STRONG>);</STRONG>
+ <STRONG>int</STRONG> <STRONG>ungetch_sp(SCREEN*</STRONG> <EM>sp</EM><STRONG>,</STRONG> <STRONG>int</STRONG> <EM>ch</EM><STRONG>);</STRONG>
+
+ <STRONG>int</STRONG> <STRONG>ungetmouse_sp(SCREEN*</STRONG> <EM>sp</EM><STRONG>,MEVENT</STRONG> <STRONG>*</STRONG> <STRONG>event);</STRONG>
+ <STRONG>int</STRONG> <STRONG>use_default_colors_sp(SCREEN*</STRONG> <EM>sp</EM><STRONG>);</STRONG>
+ <STRONG>void</STRONG> <STRONG>use_env_sp(SCREEN*</STRONG> <EM>sp</EM><STRONG>,</STRONG> <STRONG>bool</STRONG> <EM>bf</EM><STRONG>);</STRONG>
+ <STRONG>int</STRONG> <STRONG>use_legacy_coding_sp(SCREEN*</STRONG> <EM>sp</EM><STRONG>,</STRONG> <STRONG>int</STRONG> <EM>level</EM><STRONG>);</STRONG>
+ <STRONG>void</STRONG> <STRONG>use_tioctl_sp(SCREEN</STRONG> <STRONG>*</STRONG><EM>sp</EM><STRONG>,</STRONG> <STRONG>bool</STRONG> <EM>bf</EM><STRONG>);</STRONG>
+ <STRONG>int</STRONG> <STRONG>vid_attr_sp(SCREEN*</STRONG> <EM>sp</EM><STRONG>,</STRONG> <STRONG>attr_t</STRONG> <EM>attrs</EM><STRONG>,</STRONG> <STRONG>short</STRONG> <EM>pair</EM><STRONG>,</STRONG> <STRONG>void</STRONG> <STRONG>*</STRONG> <EM>opts</EM><STRONG>);</STRONG>
+ <STRONG>int</STRONG> <STRONG>vid_puts_sp(SCREEN*</STRONG> <EM>sp</EM><STRONG>,</STRONG> <STRONG>attr_t</STRONG> <EM>attrs</EM><STRONG>,</STRONG> <STRONG>short</STRONG> <EM>pair</EM><STRONG>,</STRONG> <STRONG>void</STRONG> <STRONG>*</STRONG> <EM>opts</EM><STRONG>,</STRONG> <STRONG>NCURSES_SP_OUTC</STRONG> <EM>putc</EM><STRONG>);</STRONG>
+ <STRONG>int</STRONG> <STRONG>vidattr_sp(SCREEN*</STRONG> <EM>sp</EM><STRONG>,</STRONG> <STRONG>chtype</STRONG> <EM>attrs</EM><STRONG>);</STRONG>
+ <STRONG>int</STRONG> <STRONG>vidputs_sp(SCREEN*</STRONG> <EM>sp</EM><STRONG>,</STRONG> <STRONG>chtype</STRONG> <EM>attrs</EM><STRONG>,</STRONG> <STRONG>NCURSES_SP_OUTC</STRONG> <EM>putc</EM><STRONG>);</STRONG>
+ <STRONG>wchar_t*</STRONG> <STRONG>wunctrl_sp(SCREEN*</STRONG> <EM>sp</EM><STRONG>,</STRONG> <STRONG>cchar_t</STRONG> <STRONG>*</STRONG><EM>ch</EM><STRONG>);</STRONG>
<STRONG>#include</STRONG> <STRONG>&lt;form.h&gt;</STRONG>
- <STRONG>FORM*</STRONG> <STRONG>new_form_sp(SCREEN*,</STRONG> <STRONG>FIELD</STRONG> <STRONG>**);</STRONG>
+ <STRONG>FORM*</STRONG> <STRONG>new_form_sp(SCREEN*</STRONG> <EM>sp</EM><STRONG>,</STRONG> <STRONG>FIELD</STRONG> <STRONG>**</STRONG><EM>fields</EM><STRONG>);</STRONG>
<STRONG>#include</STRONG> <STRONG>&lt;menu.h&gt;</STRONG>
- <STRONG>MENU*</STRONG> <STRONG>new_menu_sp(SCREEN*,</STRONG> <STRONG>ITEM</STRONG> <STRONG>**);</STRONG>
+ <STRONG>MENU*</STRONG> <STRONG>new_menu_sp(SCREEN*</STRONG> <EM>sp</EM><STRONG>,</STRONG> <STRONG>ITEM</STRONG> <STRONG>**</STRONG><EM>items</EM><STRONG>);</STRONG>
<STRONG>#include</STRONG> <STRONG>&lt;panel.h&gt;</STRONG>
- <STRONG>PANEL*</STRONG> <STRONG>ceiling_panel(SCREEN*);</STRONG>
- <STRONG>PANEL*</STRONG> <STRONG>ground_panel(SCREEN*);</STRONG>
- <STRONG>void</STRONG> <STRONG>update_panels_sp(SCREEN*);</STRONG>
+ <STRONG>PANEL*</STRONG> <STRONG>ceiling_panel(SCREEN*</STRONG> <EM>sp</EM><STRONG>);</STRONG>
+ <STRONG>PANEL*</STRONG> <STRONG>ground_panel(SCREEN*</STRONG> <EM>sp</EM><STRONG>);</STRONG>
+ <STRONG>void</STRONG> <STRONG>update_panels_sp(SCREEN*</STRONG> <EM>sp</EM><STRONG>);</STRONG>
<STRONG>#include</STRONG> <STRONG>&lt;term.h&gt;</STRONG>
- <STRONG>int</STRONG> <STRONG>del_curterm_sp(SCREEN*,</STRONG> <STRONG>TERMINAL</STRONG> <STRONG>*);</STRONG>
- <STRONG>int</STRONG> <STRONG>putp_sp(SCREEN*,</STRONG> <STRONG>const</STRONG> <STRONG>char</STRONG> <STRONG>*);</STRONG>
- <STRONG>int</STRONG> <STRONG>tgetflag_sp(SCREEN*,</STRONG> <STRONG>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>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>
+ <STRONG>int</STRONG> <STRONG>del_curterm_sp(SCREEN*</STRONG> <EM>sp</EM><STRONG>,</STRONG> <STRONG>TERMINAL</STRONG> <STRONG>*</STRONG><EM>oterm</EM><STRONG>);</STRONG>
+ <STRONG>int</STRONG> <STRONG>putp_sp(SCREEN*</STRONG> <EM>sp</EM><STRONG>,</STRONG> <STRONG>const</STRONG> <STRONG>char</STRONG> <STRONG>*</STRONG><EM>str</EM><STRONG>);</STRONG>
+ <STRONG>int</STRONG> <STRONG>restartterm_sp(SCREEN*</STRONG> <EM>sp</EM><STRONG>,</STRONG> <STRONG>NCURSES_CONST</STRONG> <STRONG>char*</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>TERMINAL*</STRONG> <STRONG>set_curterm_sp(SCREEN*</STRONG> <EM>sp</EM><STRONG>,</STRONG> <STRONG>TERMINAL*</STRONG><EM>nterm</EM><STRONG>);</STRONG>
+ <STRONG>int</STRONG> <STRONG>tgetent_sp(SCREEN*</STRONG> <EM>sp</EM><STRONG>,</STRONG> <STRONG>char</STRONG> <STRONG>*</STRONG><EM>bp</EM><STRONG>,</STRONG> <STRONG>const</STRONG> <STRONG>char</STRONG> <STRONG>*</STRONG><EM>name</EM><STRONG>);</STRONG>
+ <STRONG>int</STRONG> <STRONG>tgetflag_sp(SCREEN*</STRONG> <EM>sp</EM><STRONG>,</STRONG> <STRONG>const</STRONG> <STRONG>char</STRONG> <STRONG>*</STRONG><EM>capname</EM><STRONG>);</STRONG>
+ <STRONG>int</STRONG> <STRONG>tgetnum_sp(SCREEN*</STRONG> <EM>sp</EM><STRONG>,</STRONG> <STRONG>const</STRONG> <STRONG>char</STRONG> <STRONG>*</STRONG><EM>capname</EM><STRONG>);</STRONG>
+ <STRONG>char*</STRONG> <STRONG>tgetstr_sp(SCREEN*</STRONG> <EM>sp</EM><STRONG>,</STRONG> <STRONG>const</STRONG> <STRONG>char</STRONG> <STRONG>*</STRONG><EM>capname</EM><STRONG>,</STRONG> <STRONG>char</STRONG> <STRONG>**</STRONG><EM>area</EM><STRONG>);</STRONG>
+ <STRONG>char*</STRONG> <STRONG>tgoto_sp(SCREEN*</STRONG> <EM>sp</EM><STRONG>,</STRONG> <STRONG>const</STRONG> <STRONG>char</STRONG> <STRONG>*</STRONG><EM>capname</EM><STRONG>,</STRONG> <STRONG>int</STRONG> <EM>col</EM><STRONG>,</STRONG> <STRONG>int</STRONG> <EM>row</EM><STRONG>);</STRONG>
+ <STRONG>int</STRONG> <STRONG>tigetflag_sp(SCREEN*</STRONG> <EM>sp</EM><STRONG>,</STRONG> <STRONG>const</STRONG> <STRONG>char</STRONG> <STRONG>*</STRONG><EM>capname</EM><STRONG>);</STRONG>
+ <STRONG>int</STRONG> <STRONG>tigetnum_sp(SCREEN*</STRONG> <EM>sp</EM><STRONG>,</STRONG> <STRONG>const</STRONG> <STRONG>char</STRONG> <STRONG>*</STRONG><EM>capname</EM><STRONG>);</STRONG>
+ <STRONG>char*</STRONG> <STRONG>tigetstr_sp(SCREEN*</STRONG> <EM>sp</EM><STRONG>,</STRONG> <STRONG>const</STRONG> <STRONG>char</STRONG> <STRONG>*</STRONG><EM>capname</EM><STRONG>);</STRONG>
+ /* may instead use 9 long parameters */
+ <STRONG>char*</STRONG> <STRONG>tparm_sp(SCREEN*</STRONG> <EM>sp</EM><STRONG>,</STRONG> <STRONG>const</STRONG> <STRONG>char</STRONG> <STRONG>*</STRONG><EM>str</EM><STRONG>,</STRONG> <STRONG>...);</STRONG>
+ <STRONG>int</STRONG> <STRONG>tputs_sp(SCREEN*</STRONG> <EM>sp</EM><STRONG>,</STRONG> <STRONG>const</STRONG> <STRONG>char</STRONG> <STRONG>*</STRONG><EM>str</EM><STRONG>,</STRONG> <STRONG>int</STRONG> <EM>affcnt</EM><STRONG>,</STRONG> <STRONG>NCURSES_SP_OUTC</STRONG> <EM>putc</EM><STRONG>);</STRONG>
+
+ <STRONG>#include</STRONG> <STRONG>&lt;unctrl.h&gt;</STRONG>
+
+ <STRONG>NCURSES_CONST</STRONG> <STRONG>char*</STRONG> <STRONG>unctrl_sp(SCREEN*</STRONG> <EM>sp</EM><STRONG>,</STRONG> <STRONG>chtype</STRONG> <EM>c</EM><STRONG>);</STRONG>
</PRE><H2><a name="h2-DESCRIPTION">DESCRIPTION</a></H2><PRE>
diff --git a/doc/html/man/curs_termattrs.3x.html b/doc/html/man/curs_termattrs.3x.html
index 81805d29255e..1ca91e23a3b1 100644
--- a/doc/html/man/curs_termattrs.3x.html
+++ b/doc/html/man/curs_termattrs.3x.html
@@ -79,8 +79,8 @@
</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
+ The <STRONG>erasewchar</STRONG> routine stores the current erase character in the
+ location referenced by <EM>ch</EM>. If no erase character has been defined, the
routine fails and the location referenced by <EM>ch</EM> is not changed.
@@ -113,12 +113,13 @@
</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.
+ 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>termattrs</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.
</PRE><H3><a name="h3-termname">termname</a></H3><PRE>
@@ -128,9 +129,9 @@
</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 com-
- pletion.
+ 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.
</PRE><H2><a name="h2-NOTES">NOTES</a></H2><PRE>
@@ -139,7 +140,7 @@
</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
+ 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.
diff --git a/doc/html/man/curs_termcap.3x.html b/doc/html/man/curs_termcap.3x.html
index e947f713731a..4398f634efd8 100644
--- a/doc/html/man/curs_termcap.3x.html
+++ b/doc/html/man/curs_termcap.3x.html
@@ -1,6 +1,6 @@
<!--
****************************************************************************
- * Copyright 2018-2019,2020 Thomas E. Dickey *
+ * Copyright 2018-2020,2021 Thomas E. Dickey *
* Copyright 1998-2017,2018 Free Software Foundation, Inc. *
* *
* Permission is hereby granted, free of charge, to any person obtaining a *
@@ -27,7 +27,7 @@
* sale, use or other dealings in this Software without prior written *
* authorization. *
****************************************************************************
- * @Id: curs_termcap.3x,v 1.43 2020/02/02 23:34:34 tom Exp @
+ * @Id: curs_termcap.3x,v 1.48 2021/01/09 11:07:15 tom Exp @
-->
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN">
<HTML>
@@ -48,7 +48,7 @@
</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
+ <STRONG>curses</STRONG> emulation of termcap
</PRE><H2><a name="h2-SYNOPSIS">SYNOPSIS</a></H2><PRE>
@@ -60,17 +60,17 @@
<STRONG>extern</STRONG> <STRONG>char</STRONG> <STRONG>*</STRONG> <STRONG>BC;</STRONG>
<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(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>
+ <STRONG>int</STRONG> <STRONG>tgetent(char</STRONG> <STRONG>*</STRONG><EM>bp</EM><STRONG>,</STRONG> <STRONG>const</STRONG> <STRONG>char</STRONG> <STRONG>*</STRONG><EM>name</EM><STRONG>);</STRONG>
+ <STRONG>int</STRONG> <STRONG>tgetflag(const</STRONG> <STRONG>char</STRONG> <STRONG>*</STRONG><EM>id</EM><STRONG>);</STRONG>
+ <STRONG>int</STRONG> <STRONG>tgetnum(const</STRONG> <STRONG>char</STRONG> <STRONG>*</STRONG><EM>id</EM><STRONG>);</STRONG>
+ <STRONG>char</STRONG> <STRONG>*tgetstr(const</STRONG> <STRONG>char</STRONG> <STRONG>*</STRONG><EM>id</EM><STRONG>,</STRONG> <STRONG>char</STRONG> <STRONG>**</STRONG><EM>area</EM><STRONG>);</STRONG>
+ <STRONG>char</STRONG> <STRONG>*tgoto(const</STRONG> <STRONG>char</STRONG> <STRONG>*</STRONG><EM>cap</EM><STRONG>,</STRONG> <STRONG>int</STRONG> <EM>col</EM><STRONG>,</STRONG> <STRONG>int</STRONG> <EM>row</EM><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>
</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
+ the <EM>termcap</EM> library. Their parameters are the same, but 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.
@@ -195,6 +195,8 @@
</PRE><H2><a name="h2-PORTABILITY">PORTABILITY</a></H2><PRE>
+
+</PRE><H3><a name="h3-Standards">Standards</a></H3><PRE>
These functions are provided for supporting legacy applications, and
should not be used in new programs:
@@ -213,6 +215,8 @@
bility with the <EM>termcap</EM> library, that is a defect in XCurses, Issue 4,
Version 2 rather than in ncurses.
+
+</PRE><H3><a name="h3-Compatibility-with-BSD-Termcap">Compatibility with BSD Termcap</a></H3><PRE>
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-
@@ -237,9 +241,63 @@
against extended capability names which are longer than two charac-
ters.
+ The BSD termcap function <STRONG>tgetent</STRONG> returns the text of a termcap entry in
+ the buffer passed as an argument. This library (like other terminfo
+ implementations) does not store terminal descriptions as text. It sets
+ the buffer contents to a null-terminated string.
+
+
+</PRE><H3><a name="h3-Other-Compatibility">Other Compatibility</a></H3><PRE>
+ This library includes a termcap.h header, for compatibility with other
+ implementations. But the header is rarely used because the other im-
+ plementations are not strictly compatible.
+
+ The original BSD termcap (through 4.3BSD) had no header file which gave
+ function prototypes, because that was a feature of ANSI C. BSD termcap
+ was written several years before C was standardized. However, there
+ were two different termcap.h header files in the BSD sources:
+
+ <STRONG>o</STRONG> One was used internally by the <EM>jove</EM> editor in 2BSD through 4.4BSD.
+ It defined global symbols for the termcap variables which it used.
+
+ <STRONG>o</STRONG> The other appeared in 4.4BSD Lite Release 2 (mid-1993) as part of
+ <EM>libedit</EM> (also known as the <EM>editline</EM> library). The CSRG source his-
+ tory shows that this was added in mid-1992. The <EM>libedit</EM> header
+ file was used internally, as a convenience for compiling the <EM>edit-</EM>
+ <EM>line</EM> library. It declared function prototypes, but no global vari-
+ ables.
+
+ The header file from <EM>libedit</EM> was added to NetBSD's termcap library in
+ mid-1994.
+
+ Meanwhile, GNU termcap was under development, starting in 1990. The
+ first release (termcap 1.0) in 1991 included a termcap.h header. The
+ second release (termcap 1.1) in September 1992 modified the header to
+ use <STRONG>const</STRONG> for the function prototypes in the header where one would ex-
+ pect the parameters to be read-only. This was a difference versus the
+ original BSD termcap. The prototype for <STRONG>tputs</STRONG> also differed, but in
+ that instance, it was <EM>libedit</EM> which differed from BSD termcap.
+
+ A copy of GNU termcap 1.3 was bundled with <EM>bash</EM> in mid-1993, to support
+ the <EM>readline</EM> library.
+
+ A termcap.h file was provided in ncurses 1.8.1 (November 1993). That
+ reflected influence by <EM>emacs</EM> (rather than <EM>jove</EM>) and GNU termcap:
+
+ <STRONG>o</STRONG> it provided declarations for a few global symbols used by <EM>emacs</EM>
+
+ <STRONG>o</STRONG> it provided function prototypes (using <STRONG>const</STRONG>).
+
+ <STRONG>o</STRONG> a prototype for <STRONG>tparam</STRONG> (a GNU termcap feature) was provided.
+
+ Later (in mid-1996) the <STRONG>tparam</STRONG> function was removed from ncurses. As a
+ result, there are differences between any of the four implementations,
+ which must be taken into account by programs which can work with all
+ termcap library interfaces.
+
</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>.
+ <STRONG><A HREF="ncurses.3x.html">curses(3x)</A></STRONG>, <STRONG>putc(3)</STRONG>, <STRONG><A HREF="term_variables.3x.html">term_variables(3x)</A></STRONG>, <STRONG><A HREF="terminfo.5.html">terminfo(5)</A></STRONG>.
https://invisible-island.net/ncurses/tctest.html
@@ -261,7 +319,13 @@
</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-PORTABILITY">PORTABILITY</a>
+<ul>
+<li><a href="#h3-Standards">Standards</a></li>
+<li><a href="#h3-Compatibility-with-BSD-Termcap">Compatibility with BSD Termcap</a></li>
+<li><a href="#h3-Other-Compatibility">Other Compatibility</a></li>
+</ul>
+</li>
<li><a href="#h2-SEE-ALSO">SEE ALSO</a></li>
</ul>
</div>
diff --git a/doc/html/man/curs_terminfo.3x.html b/doc/html/man/curs_terminfo.3x.html
index 4c4246b7ba77..3c8da425172f 100644
--- a/doc/html/man/curs_terminfo.3x.html
+++ b/doc/html/man/curs_terminfo.3x.html
@@ -1,6 +1,6 @@
<!--
****************************************************************************
- * Copyright 2018,2020 Thomas E. Dickey *
+ * Copyright 2018-2020,2021 Thomas E. Dickey *
* Copyright 1998-2016,2017 Free Software Foundation, Inc. *
* *
* Permission is hereby granted, free of charge, to any person obtaining a *
@@ -27,7 +27,9 @@
* sale, use or other dealings in this Software without prior written *
* authorization. *
****************************************************************************
- * @Id: curs_terminfo.3x,v 1.64 2020/02/02 23:34:34 tom Exp @
+ * @Id: curs_terminfo.3x,v 1.72 2021/01/02 23:50:04 tom Exp @
+ * ***************************************************************************
+ * ***************************************************************************
* ***************************************************************************
* ***************************************************************************
* ***************************************************************************
@@ -52,7 +54,7 @@
</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>del_curterm</STRONG>, <STRONG>mvcur</STRONG>, <STRONG>putp</STRONG>, <STRONG>restartterm</STRONG>, <STRONG>set_curterm</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
@@ -74,7 +76,6 @@
<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(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>
@@ -103,6 +104,14 @@
ities, such as programming function keys. For all other functionality,
<STRONG>curses</STRONG> routines are more suitable and their use is recommended.
+ None of these functions use (or are aware of) multibyte character
+ strings such as UTF-8:
+
+ <STRONG>o</STRONG> capability names use the POSIX portable character set
+
+ <STRONG>o</STRONG> capability string values have no associated encoding; they are
+ strings of 8-bit characters.
+
</PRE><H3><a name="h3-Initialization">Initialization</a></H3><PRE>
Initially, <STRONG>setupterm</STRONG> should be called. The high-level curses functions
@@ -187,14 +196,6 @@
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 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
@@ -291,6 +292,10 @@
The <STRONG>mvcur</STRONG> routine provides low-level cursor motion. It takes effect
immediately (rather than at the next refresh).
+ While <STRONG>putp</STRONG> and <STRONG>mvcur</STRONG> are low-level functions which do not use the high-
+ level curses state, they are declared in <STRONG>&lt;curses.h&gt;</STRONG> because SystemV did
+ this (see <STRONG>HISTORY</STRONG>).
+
</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
@@ -325,7 +330,7 @@
<STRONG>o</STRONG> the short terminfo names ("codes"),
- <STRONG>o</STRONG> the <STRONG>termcap</STRONG> names ("names", and
+ <STRONG>o</STRONG> the <STRONG>termcap</STRONG> names ("names"), and
<STRONG>o</STRONG> the long terminfo names ("fnames")
@@ -365,16 +370,34 @@
value of the output function <EM>putc</EM>.
+</PRE><H3><a name="h3-Compatibility-macros">Compatibility macros</a></H3><PRE>
+ This implementation provides a few macros for compatibility with sys-
+ tems before SVr4 (see <STRONG>HISTORY</STRONG>). Those include <STRONG>crmode</STRONG>, <STRONG>fixterm</STRONG>,
+ <STRONG>gettmode</STRONG>, <STRONG>nocrmode</STRONG>, <STRONG>resetterm</STRONG>, <STRONG>saveterm</STRONG>, and <STRONG>setterm</STRONG>.
+
+ In SVr4, those are found in <STRONG>&lt;curses.h&gt;</STRONG>, but except for <STRONG>setterm</STRONG>, are
+ likewise macros. The one function, <STRONG>setterm</STRONG>, is mentioned in the manual
+ page. The manual page notes that the <STRONG>setterm</STRONG> routine was replaced by
+ <STRONG>setupterm</STRONG>, stating that the call:
+
+ <STRONG>setupterm(</STRONG><EM>term</EM><STRONG>,</STRONG> <STRONG>1,</STRONG> <STRONG>(int</STRONG> <STRONG>*)0)</STRONG>
+
+ provides the same functionality as <STRONG>setterm(</STRONG><EM>term</EM><STRONG>)</STRONG>, and is not recommend-
+ ed for new programs. This implementation provides each of those sym-
+ bols as macros for BSD compatibility,
+
+
</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-
+ 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
@@ -385,10 +408,10 @@
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
+ vidputs output a string to put terminal in a specified
video attribute mode
- The programming manual also mentioned functions provided for termcap
+ 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>
@@ -401,10 +424,10 @@
tputs apply padding to capability, calling
a function to put characters
- Early terminfo programs obtained capability values from the <STRONG>TERMINAL</STRONG>
+ Early terminfo programs obtained capability values from the <STRONG>TERMINAL</STRONG>
structure initialized by <STRONG>setupterm</STRONG>.
- SVr3 extended terminfo by adding functions to retrieve capability val-
+ 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>
@@ -413,7 +436,7 @@
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
+ 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>
@@ -426,13 +449,13 @@
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-
+ 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>
+ 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.
@@ -447,15 +470,15 @@
</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
+ 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.
</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
+ <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.
- Other implementions may not declare the capability name arrays. Some
+ 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
@@ -463,14 +486,14 @@
</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
+ 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
+ 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.
- The current version (ncurses6) uses output buffers managed directly by
+ 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
@@ -479,69 +502,69 @@
</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
+ rations, which were defined at the same time the C language was first
standardized in the late 1980s.
- <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
+ <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
+ 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.
- <STRONG>o</STRONG> X/Open Curses prototypes <STRONG>tparm</STRONG> with a fixed number of parameters,
+ <STRONG>o</STRONG> X/Open Curses prototypes <STRONG>tparm</STRONG> with a fixed number of parameters,
rather than a variable argument list.
- This implementation uses a variable argument list, but can be con-
- figured to use the fixed-parameter list. Portable applications
- should provide 9 parameters after the format; zeroes are fine for
+ 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
+ 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
+ <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
+ <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
+ 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>
+ 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,
+ 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
+ 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
+ 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
+ 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="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>
@@ -562,7 +585,11 @@
<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-RETURN-VALUE">RETURN VALUE</a>
+<ul>
+<li><a href="#h3-Compatibility-macros">Compatibility macros</a></li>
+</ul>
+</li>
<li><a href="#h2-HISTORY">HISTORY</a></li>
<li><a href="#h2-PORTABILITY">PORTABILITY</a>
<ul>
diff --git a/doc/html/man/curs_threads.3x.html b/doc/html/man/curs_threads.3x.html
index fa9245bf2145..51a249bc642f 100644
--- a/doc/html/man/curs_threads.3x.html
+++ b/doc/html/man/curs_threads.3x.html
@@ -27,7 +27,7 @@
* sale, use or other dealings in this Software without prior written *
* authorization. *
****************************************************************************
- * @Id: curs_threads.3x,v 1.25 2020/02/02 23:34:34 tom Exp @
+ * @Id: curs_threads.3x,v 1.27 2020/12/30 18:28:51 tom Exp @
* ***************************************************************************
* ***************************************************************************
-->
@@ -57,11 +57,13 @@
<STRONG>typedef</STRONG> <STRONG>int</STRONG> <STRONG>(*NCURSES_WINDOW_CB)(WINDOW</STRONG> <STRONG>*,</STRONG> <STRONG>void</STRONG> <STRONG>*);</STRONG>
<STRONG>typedef</STRONG> <STRONG>int</STRONG> <STRONG>(*NCURSES_SCREEN_CB)(SCREEN</STRONG> <STRONG>*,</STRONG> <STRONG>void</STRONG> <STRONG>*);</STRONG>
+
<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>set_escdelay(int</STRONG> <EM>ms</EM><STRONG>);</STRONG>
+ <STRONG>int</STRONG> <STRONG>set_tabsize(int</STRONG> <EM>cols</EM><STRONG>);</STRONG>
+
+ <STRONG>int</STRONG> <STRONG>use_screen(SCREEN</STRONG> <STRONG>*</STRONG><EM>scr</EM><STRONG>,</STRONG> <STRONG>NCURSES_SCREEN_CB</STRONG> <EM>func</EM><STRONG>,</STRONG> <STRONG>void</STRONG> <STRONG>*</STRONG><EM>data</EM><STRONG>);</STRONG>
+ <STRONG>int</STRONG> <STRONG>use_window(WINDOW</STRONG> <STRONG>*</STRONG><EM>win</EM><STRONG>,</STRONG> <STRONG>NCURSES_WINDOW_CB</STRONG> <EM>func</EM><STRONG>,</STRONG> <STRONG>void</STRONG> <STRONG>*</STRONG><EM>data</EM><STRONG>);</STRONG>
</PRE><H2><a name="h2-DESCRIPTION">DESCRIPTION</a></H2><PRE>
@@ -178,9 +180,9 @@
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)
@@ -245,9 +247,9 @@
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)
@@ -312,9 +314,9 @@
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)
@@ -379,9 +381,9 @@
newscr screen (readonly)
newterm global locks(screenlist)
newwin global locks(windowlist)
+
nl screen
nocbreak screen
-
nodelay window
noecho screen
nofilter global
@@ -446,9 +448,9 @@
slk_restore screen
slk_set screen
slk_touch screen
+
slk_wset screen
standend window
-
standout window
start_color screen
stdscr screen (readonly)
@@ -513,9 +515,9 @@
wattr_on window
wattr_set window
wattroff window
+
wattron window
wattrset window
-
wbkgd window
wbkgdset window
wbkgrnd window
@@ -580,9 +582,9 @@
wsyncup screen (affects window plus parents)
wtimeout window
wtouchln window
+
wunctrl global (static data)
wvline window
-
wvline_set window
diff --git a/doc/html/man/curs_touch.3x.html b/doc/html/man/curs_touch.3x.html
index acbbb6a03e5d..55eb33ea1525 100644
--- a/doc/html/man/curs_touch.3x.html
+++ b/doc/html/man/curs_touch.3x.html
@@ -27,7 +27,7 @@
* sale, use or other dealings in this Software without prior written *
* authorization. *
****************************************************************************
- * @Id: curs_touch.3x,v 1.22 2020/02/02 23:34:34 tom Exp @
+ * @Id: curs_touch.3x,v 1.23 2020/10/24 09:51:21 tom Exp @
-->
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN">
<HTML>
@@ -53,12 +53,16 @@
</PRE><H2><a name="h2-SYNOPSIS">SYNOPSIS</a></H2><PRE>
<STRONG>#include</STRONG> <STRONG>&lt;curses.h&gt;</STRONG>
- <STRONG>int</STRONG> <STRONG>touchwin(WINDOW</STRONG> <STRONG>*win);</STRONG>
- <STRONG>int</STRONG> <STRONG>touchline(WINDOW</STRONG> <STRONG>*win,</STRONG> <STRONG>int</STRONG> <STRONG>start,</STRONG> <STRONG>int</STRONG> <STRONG>count);</STRONG>
- <STRONG>int</STRONG> <STRONG>untouchwin(WINDOW</STRONG> <STRONG>*win);</STRONG>
- <STRONG>int</STRONG> <STRONG>wtouchln(WINDOW</STRONG> <STRONG>*win,</STRONG> <STRONG>int</STRONG> <STRONG>y,</STRONG> <STRONG>int</STRONG> <STRONG>n,</STRONG> <STRONG>int</STRONG> <STRONG>changed);</STRONG>
- <STRONG>bool</STRONG> <STRONG>is_linetouched(WINDOW</STRONG> <STRONG>*win,</STRONG> <STRONG>int</STRONG> <STRONG>line);</STRONG>
- <STRONG>bool</STRONG> <STRONG>is_wintouched(WINDOW</STRONG> <STRONG>*win);</STRONG>
+
+ <STRONG>int</STRONG> <STRONG>touchline(WINDOW</STRONG> <STRONG>*</STRONG><EM>win</EM><STRONG>,</STRONG> <STRONG>int</STRONG> <EM>start</EM><STRONG>,</STRONG> <STRONG>int</STRONG> <EM>count</EM><STRONG>);</STRONG>
+
+ <STRONG>int</STRONG> <STRONG>touchwin(WINDOW</STRONG> <STRONG>*</STRONG><EM>win</EM><STRONG>);</STRONG>
+ <STRONG>int</STRONG> <STRONG>wtouchln(WINDOW</STRONG> <STRONG>*</STRONG><EM>win</EM><STRONG>,</STRONG> <STRONG>int</STRONG> <EM>y</EM><STRONG>,</STRONG> <STRONG>int</STRONG> <EM>n</EM><STRONG>,</STRONG> <STRONG>int</STRONG> <EM>changed</EM><STRONG>);</STRONG>
+
+ <STRONG>int</STRONG> <STRONG>untouchwin(WINDOW</STRONG> <STRONG>*</STRONG><EM>win</EM><STRONG>);</STRONG>
+
+ <STRONG>bool</STRONG> <STRONG>is_linetouched(WINDOW</STRONG> <STRONG>*</STRONG><EM>win</EM><STRONG>,</STRONG> <STRONG>int</STRONG> <EM>line</EM><STRONG>);</STRONG>
+ <STRONG>bool</STRONG> <STRONG>is_wintouched(WINDOW</STRONG> <STRONG>*</STRONG><EM>win</EM><STRONG>);</STRONG>
</PRE><H2><a name="h2-DESCRIPTION">DESCRIPTION</a></H2><PRE>
diff --git a/doc/html/man/curs_util.3x.html b/doc/html/man/curs_util.3x.html
index b8e05be66e61..d2a83a0599db 100644
--- a/doc/html/man/curs_util.3x.html
+++ b/doc/html/man/curs_util.3x.html
@@ -28,7 +28,7 @@
* sale, use or other dealings in this Software without prior written *
* authorization. *
****************************************************************************
- * @Id: curs_util.3x,v 1.57 2020/02/02 23:34:34 tom Exp @
+ * @Id: curs_util.3x,v 1.60 2020/12/19 22:44:46 tom Exp @
-->
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN">
<HTML>
@@ -56,17 +56,22 @@
</PRE><H2><a name="h2-SYNOPSIS">SYNOPSIS</a></H2><PRE>
<STRONG>#include</STRONG> <STRONG>&lt;curses.h&gt;</STRONG>
- <STRONG>const</STRONG> <STRONG>char</STRONG> <STRONG>*unctrl(chtype</STRONG> <STRONG>c);</STRONG>
- <STRONG>wchar_t</STRONG> <STRONG>*wunctrl(cchar_t</STRONG> <STRONG>*c);</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>const</STRONG> <STRONG>char</STRONG> <STRONG>*unctrl(chtype</STRONG> <EM>c</EM><STRONG>);</STRONG>
+ <STRONG>wchar_t</STRONG> <STRONG>*wunctrl(cchar_t</STRONG> <STRONG>*</STRONG><EM>c</EM><STRONG>);</STRONG>
+
+ <STRONG>const</STRONG> <STRONG>char</STRONG> <STRONG>*keyname(int</STRONG> <EM>c</EM><STRONG>);</STRONG>
+ <STRONG>const</STRONG> <STRONG>char</STRONG> <STRONG>*key_name(wchar_t</STRONG> <EM>w</EM><STRONG>);</STRONG>
+
<STRONG>void</STRONG> <STRONG>filter(void);</STRONG>
<STRONG>void</STRONG> <STRONG>nofilter(void);</STRONG>
- <STRONG>void</STRONG> <STRONG>use_env(bool</STRONG> <STRONG>f);</STRONG>
- <STRONG>void</STRONG> <STRONG>use_tioctl(bool</STRONG> <STRONG>f);</STRONG>
- <STRONG>int</STRONG> <STRONG>putwin(WINDOW</STRONG> <STRONG>*win,</STRONG> <STRONG>FILE</STRONG> <STRONG>*filep);</STRONG>
- <STRONG>WINDOW</STRONG> <STRONG>*getwin(FILE</STRONG> <STRONG>*filep);</STRONG>
- <STRONG>int</STRONG> <STRONG>delay_output(int</STRONG> <STRONG>ms);</STRONG>
+
+ <STRONG>void</STRONG> <STRONG>use_env(bool</STRONG> <EM>f</EM><STRONG>);</STRONG>
+ <STRONG>void</STRONG> <STRONG>use_tioctl(bool</STRONG> <EM>f</EM><STRONG>);</STRONG>
+
+ <STRONG>int</STRONG> <STRONG>putwin(WINDOW</STRONG> <STRONG>*</STRONG><EM>win</EM><STRONG>,</STRONG> <STRONG>FILE</STRONG> <STRONG>*</STRONG><EM>filep</EM><STRONG>);</STRONG>
+ <STRONG>WINDOW</STRONG> <STRONG>*getwin(FILE</STRONG> <STRONG>*</STRONG><EM>filep</EM><STRONG>);</STRONG>
+
+ <STRONG>int</STRONG> <STRONG>delay_output(int</STRONG> <EM>ms</EM><STRONG>);</STRONG>
<STRONG>int</STRONG> <STRONG>flushinp(void);</STRONG>
@@ -176,6 +181,7 @@
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-
@@ -302,9 +308,9 @@
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",
+ <STRONG><A HREF="legacy_coding.3x.html">use_legacy_coding(3x)</A></STRONG> has been called with a <STRONG>2</STRONG> parameter, <STRONG>unctrl</STRONG>
+ returns the parameter, i.e., a one-character string with the param-
+ eter 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
@@ -321,16 +327,16 @@
"^", 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>.
+ <STRONG><A HREF="legacy_coding.3x.html">use_legacy_coding(3x)</A></STRONG> function allows the caller to change the output
+ of <STRONG>unctrl</STRONG>.
Likewise, the <STRONG><A HREF="curs_inopts.3x.html">meta(3x)</A></STRONG> function allows the caller to change the output
of <STRONG>keyname</STRONG>, i.e., it determines whether to use the "M-" prefix for
- "meta" keys (codes in the range 128 to 255). Both <STRONG>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.
+ "meta" keys (codes in the range 128 to 255). Both <STRONG>use_legacy_cod-</STRONG>
+ <STRONG><A HREF="use_legacy_coding.3x.html">ing(3x)</A></STRONG> and <STRONG><A HREF="curs_inopts.3x.html">meta(3x)</A></STRONG> succeed only after curses is initialized. X/Open
+ Curses does not document the treatment of codes 128 to 159. When
+ treating them as "meta" keys (or if <STRONG>keyname</STRONG> is called before initializ-
+ ing curses), this implementation returns strings "M-^@", "M-^A", etc.
X/Open Curses documents <STRONG>unctrl</STRONG> as declared in <STRONG>&lt;unctrl.h&gt;</STRONG>, which <STRONG>ncurses</STRONG>
does. However, <STRONG>ncurses</STRONG>' <STRONG>&lt;curses.h&gt;</STRONG> includes <STRONG>&lt;unctrl.h&gt;</STRONG>, matching the
@@ -345,9 +351,9 @@
</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="ncurses.3x.html">curses(3x)</A></STRONG>, <STRONG><A HREF="curs_initscr.3x.html">curs_initscr(3x)</A></STRONG>, <STRONG><A HREF="curs_inopts.3x.html">curs_inopts(3x)</A></STRONG>, <STRONG><A HREF="curs_kernel.3x.html">curs_kernel(3x)</A></STRONG>,
+ <STRONG><A HREF="curs_scr_dump.3x.html">curs_scr_dump(3x)</A></STRONG>, <STRONG><A HREF="curs_sp_funcs.3x.html">curs_sp_funcs(3x)</A></STRONG>, <STRONG><A HREF="curs_variables.3x.html">curs_variables(3x)</A></STRONG>, <STRONG>legacy_cod-</STRONG>
+ <STRONG><A HREF="legacy_coding.3x.html">ing(3x)</A></STRONG>.
diff --git a/doc/html/man/curs_variables.3x.html b/doc/html/man/curs_variables.3x.html
index 7f8e1f3aac9c..e91e6af3a506 100644
--- a/doc/html/man/curs_variables.3x.html
+++ b/doc/html/man/curs_variables.3x.html
@@ -27,7 +27,7 @@
* sale, use or other dealings in this Software without prior written *
* authorization. *
****************************************************************************
- * @Id: curs_variables.3x,v 1.14 2020/02/02 23:34:34 tom Exp @
+ * @Id: curs_variables.3x,v 1.15 2020/04/18 14:29:07 tom Exp @
-->
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN">
<HTML>
diff --git a/doc/html/man/default_colors.3x.html b/doc/html/man/default_colors.3x.html
index df63f3a0420a..bb525b37205e 100644
--- a/doc/html/man/default_colors.3x.html
+++ b/doc/html/man/default_colors.3x.html
@@ -28,7 +28,7 @@
* authorization. *
****************************************************************************
* Author: Thomas E. Dickey 1997,1999,2000,2005
- * @Id: default_colors.3x,v 1.29 2020/02/02 23:34:34 tom Exp @
+ * @Id: default_colors.3x,v 1.31 2020/12/19 21:38:37 tom Exp @
-->
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN">
<HTML>
@@ -48,23 +48,23 @@
</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
+ <STRONG>use_default_colors</STRONG>, <STRONG>assume_default_colors</STRONG> - use terminal's default
+ colors
</PRE><H2><a name="h2-SYNOPSIS">SYNOPSIS</a></H2><PRE>
<STRONG>#include</STRONG> <STRONG>&lt;curses.h&gt;</STRONG>
<STRONG>int</STRONG> <STRONG>use_default_colors(void);</STRONG>
- <STRONG>int</STRONG> <STRONG>assume_default_colors(int</STRONG> <STRONG>fg,</STRONG> <STRONG>int</STRONG> <STRONG>bg);</STRONG>
+ <STRONG>int</STRONG> <STRONG>assume_default_colors(int</STRONG> <EM>fg</EM><STRONG>,</STRONG> <STRONG>int</STRONG> <EM>bg</EM><STRONG>);</STRONG>
</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).
+ The <STRONG>use_default_colors</STRONG> and <STRONG>assume_default_colors</STRONG> functions 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
@@ -72,8 +72,8 @@
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
+ typically using only the <STRONG>setaf</STRONG> terminfo capability to set the
+ foreground 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
@@ -82,8 +82,8 @@
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
+ The other, <STRONG>assume_default_colors</STRONG> is a refinement which tells which
+ colors to paint for color pair 0. This function recognizes a special
color number -1, which denotes the default terminal color.
The following are equivalent:
@@ -91,8 +91,8 @@
<EM>assume</EM><STRONG>_</STRONG><EM>default</EM><STRONG>_</STRONG><EM>colors(-1,-1);</EM>
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>.
+ number -1 does not mean anything, just as for ncurses before a
+ successful 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
@@ -121,16 +121,16 @@
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.
+ 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 <STRONG>orig_pair</STRONG>
+ and <STRONG>back_color_erase</STRONG> capabilities.
- 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.
+ The <STRONG>assume_default_colors</STRONG> 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-PORTABILITY">PORTABILITY</a></H2><PRE>
@@ -140,7 +140,7 @@
</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>.
+ <STRONG>ded(1)</STRONG>, <STRONG><A HREF="curs_color.3x.html">curs_color(3x)</A></STRONG>.
</PRE><H2><a name="h2-AUTHOR">AUTHOR</a></H2><PRE>
diff --git a/doc/html/man/define_key.3x.html b/doc/html/man/define_key.3x.html
index 47aa7ac3a3aa..a0f81a5590f4 100644
--- a/doc/html/man/define_key.3x.html
+++ b/doc/html/man/define_key.3x.html
@@ -28,7 +28,7 @@
* authorization. *
****************************************************************************
* Author: Thomas E. Dickey 1997
- * @Id: define_key.3x,v 1.17 2020/02/02 23:34:34 tom Exp @
+ * @Id: define_key.3x,v 1.18 2020/10/24 09:52:54 tom Exp @
-->
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN">
<HTML>
@@ -54,7 +54,7 @@
</PRE><H2><a name="h2-SYNOPSIS">SYNOPSIS</a></H2><PRE>
<STRONG>#include</STRONG> <STRONG>&lt;curses.h&gt;</STRONG>
- <STRONG>int</STRONG> <STRONG>define_key(const</STRONG> <STRONG>char</STRONG> <STRONG>*definition,</STRONG> <STRONG>int</STRONG> <STRONG>keycode);</STRONG>
+ <STRONG>int</STRONG> <STRONG>define_key(const</STRONG> <STRONG>char</STRONG> <STRONG>*</STRONG><EM>definition</EM><STRONG>,</STRONG> <STRONG>int</STRONG> <EM>keycode</EM><STRONG>);</STRONG>
</PRE><H2><a name="h2-DESCRIPTION">DESCRIPTION</a></H2><PRE>
@@ -69,10 +69,10 @@
</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.
+ The keycode must be greater than zero, and the string non-null,
+ otherwise <STRONG>ERR</STRONG> is returned. <STRONG>ERR</STRONG> may also be returned if there is
+ insufficient memory to allocate the data to store the definition. If
+ no error is detected, <STRONG>OK</STRONG> is returned.
</PRE><H2><a name="h2-PORTABILITY">PORTABILITY</a></H2><PRE>
diff --git a/doc/html/man/form.3x.html b/doc/html/man/form.3x.html
index 2dbd8ba15768..8b10dfa52660 100644
--- a/doc/html/man/form.3x.html
+++ b/doc/html/man/form.3x.html
@@ -28,7 +28,7 @@
* sale, use or other dealings in this Software without prior written *
* authorization. *
****************************************************************************
- * @Id: form.3x,v 1.34 2020/02/02 23:34:34 tom Exp @
+ * @Id: form.3x,v 1.36 2020/12/12 16:34:33 tom Exp @
-->
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN">
<HTML>
@@ -59,8 +59,8 @@
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.
+ group fields into forms, display forms on the screen, and handle
+ interaction 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>.
@@ -85,7 +85,8 @@
</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.
+ page on which it is described. Routines flagged with "*" are ncurses-
+ specific, not present in SVr4.
<STRONG>curses</STRONG> Routine Name Manual Page Name
--------------------------------------------------
@@ -111,8 +112,8 @@
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 <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>
@@ -120,8 +121,8 @@
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_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>
@@ -163,15 +164,15 @@
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>
+ 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:
+ Routines that return pointers return <STRONG>NULL</STRONG> on error, and set <STRONG>errno</STRONG> to
+ the corresponding error-code returned by functions returning an
+ integer. Routines that return an integer return one of the following
+ error codes:
<STRONG>E_OK</STRONG> The routine succeeded.
@@ -210,19 +211,19 @@
</PRE><H2><a name="h2-NOTES">NOTES</a></H2><PRE>
- The header file <STRONG>&lt;form.h&gt;</STRONG> automatically includes the header files
+ The header file <STRONG>&lt;form.h&gt;</STRONG> automatically includes the header files
<STRONG>&lt;curses.h&gt;</STRONG> and <STRONG>&lt;eti.h&gt;</STRONG>.
In your library list, libform.a should be before libncurses.a; that is,
- you want to say "-lform -lncurses", not the other way around (which
+ you want to say "-lform -lncurses", not the other way around (which
would give you a link error when using static libraries).
</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.
+ These routines emulate the System V forms library. They were not
+ supported on Version 7 or BSD versions.
- The menu facility was documented in SVr4.2 in <EM>Character</EM> <EM>User</EM> <EM>Interface</EM>
+ 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>.
It is not part of X/Open Curses.
@@ -233,21 +234,21 @@
<STRONG>o</STRONG> NetBSD curses.
- A few functions in this implementation are extensions added for
+ 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.
+ 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
+ <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.2 (patch 20200215).
+ This describes <STRONG>ncurses</STRONG> version 6.2 (patch 20210109).
diff --git a/doc/html/man/form_cursor.3x.html b/doc/html/man/form_cursor.3x.html
index 5430124b2312..622ab149d1b9 100644
--- a/doc/html/man/form_cursor.3x.html
+++ b/doc/html/man/form_cursor.3x.html
@@ -28,7 +28,7 @@
* sale, use or other dealings in this Software without prior written *
* authorization. *
****************************************************************************
- * @Id: form_cursor.3x,v 1.12 2020/02/02 23:34:34 tom Exp @
+ * @Id: form_cursor.3x,v 1.14 2020/10/18 00:15:29 tom Exp @
-->
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN">
<HTML>
@@ -53,7 +53,8 @@
</PRE><H2><a name="h2-SYNOPSIS">SYNOPSIS</a></H2><PRE>
<STRONG>#include</STRONG> <STRONG>&lt;form.h&gt;</STRONG>
- int pos_form_cursor(FORM *form);
+
+ <STRONG>int</STRONG> <STRONG>pos_form_cursor(FORM</STRONG> <STRONG>*</STRONG><EM>form</EM><STRONG>);</STRONG>
</PRE><H2><a name="h2-DESCRIPTION">DESCRIPTION</a></H2><PRE>
@@ -88,8 +89,8 @@
</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.
+ These routines emulate the System V forms library. They were not
+ supported on Version 7 or BSD versions.
</PRE><H2><a name="h2-AUTHORS">AUTHORS</a></H2><PRE>
diff --git a/doc/html/man/form_data.3x.html b/doc/html/man/form_data.3x.html
index d3d94d4842a6..c43be785c944 100644
--- a/doc/html/man/form_data.3x.html
+++ b/doc/html/man/form_data.3x.html
@@ -28,7 +28,7 @@
* sale, use or other dealings in this Software without prior written *
* authorization. *
****************************************************************************
- * @Id: form_data.3x,v 1.13 2020/02/02 23:34:34 tom Exp @
+ * @Id: form_data.3x,v 1.15 2020/10/18 00:15:00 tom Exp @
-->
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN">
<HTML>
@@ -53,8 +53,9 @@
</PRE><H2><a name="h2-SYNOPSIS">SYNOPSIS</a></H2><PRE>
<STRONG>#include</STRONG> <STRONG>&lt;form.h&gt;</STRONG>
- bool data_ahead(const FORM *form);
- bool data_behind(const FORM *form);
+
+ <STRONG>bool</STRONG> <STRONG>data_ahead(const</STRONG> <STRONG>FORM</STRONG> <STRONG>*</STRONG><EM>form</EM><STRONG>);</STRONG>
+ <STRONG>bool</STRONG> <STRONG>data_behind(const</STRONG> <STRONG>FORM</STRONG> <STRONG>*</STRONG><EM>form</EM><STRONG>);</STRONG>
</PRE><H2><a name="h2-DESCRIPTION">DESCRIPTION</a></H2><PRE>
@@ -75,8 +76,8 @@
</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.
+ These routines emulate the System V forms library. They were not
+ supported on Version 7 or BSD versions.
</PRE><H2><a name="h2-AUTHORS">AUTHORS</a></H2><PRE>
diff --git a/doc/html/man/form_driver.3x.html b/doc/html/man/form_driver.3x.html
index b5bebe1e570f..38e9603ca4fa 100644
--- a/doc/html/man/form_driver.3x.html
+++ b/doc/html/man/form_driver.3x.html
@@ -27,7 +27,7 @@
* sale, use or other dealings in this Software without prior written *
* authorization. *
****************************************************************************
- * @Id: form_driver.3x,v 1.33 2020/02/02 23:34:34 tom Exp @
+ * @Id: form_driver.3x,v 1.35 2020/12/19 21:34:15 tom Exp @
-->
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN">
<HTML>
@@ -52,6 +52,7 @@
</PRE><H2><a name="h2-SYNOPSIS">SYNOPSIS</a></H2><PRE>
<STRONG>#include</STRONG> <STRONG>&lt;form.h&gt;</STRONG>
+
<STRONG>int</STRONG> <STRONG>form_driver(FORM</STRONG> <STRONG>*</STRONG><EM>form</EM><STRONG>,</STRONG> <STRONG>int</STRONG> <EM>c</EM><STRONG>);</STRONG>
<STRONG>int</STRONG> <STRONG>form_driver_w(FORM</STRONG> <STRONG>*</STRONG><EM>form</EM><STRONG>,</STRONG> <STRONG>int</STRONG> <EM>c</EM><STRONG>,</STRONG> <STRONG>wchar_t</STRONG> <EM>wch</EM><STRONG>);</STRONG>
@@ -67,19 +68,19 @@
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 characters (which
- must be positive, less than 256) are checked according to the pro-
- gram's locale settings.
+ 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.
</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.
+ This extension simplifies the use of the forms library using wide
+ characters. 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.
</PRE><H3><a name="h3-Form-driver-requests">Form-driver requests</a></H3><PRE>
@@ -111,8 +112,8 @@
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_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.
@@ -209,8 +210,8 @@
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.
+ 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>form_driver</STRONG> returns
the result of this request.
@@ -258,8 +259,8 @@
</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>.
+ <STRONG><A HREF="ncurses.3x.html">curses(3x)</A></STRONG>, <STRONG><A HREF="form.3x.html">form(3x)</A></STRONG>, <STRONG><A HREF="form_fieldtype.3x.html">form_fieldtype(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_variables.3x.html">form_variables(3x)</A></STRONG>, <STRONG><A HREF="curs_getch.3x.html">getch(3x)</A></STRONG>.
</PRE><H2><a name="h2-NOTES">NOTES</a></H2><PRE>
@@ -268,8 +269,8 @@
</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.
+ These routines emulate the System V forms library. They were not
+ supported on Version 7 or BSD versions.
</PRE><H2><a name="h2-AUTHORS">AUTHORS</a></H2><PRE>
diff --git a/doc/html/man/form_field.3x.html b/doc/html/man/form_field.3x.html
index 1c6060bb5d94..40ac7f2799b5 100644
--- a/doc/html/man/form_field.3x.html
+++ b/doc/html/man/form_field.3x.html
@@ -28,7 +28,7 @@
* sale, use or other dealings in this Software without prior written *
* authorization. *
****************************************************************************
- * @Id: form_field.3x,v 1.14 2020/02/02 23:34:34 tom Exp @
+ * @Id: form_field.3x,v 1.17 2020/10/24 09:10:45 tom Exp @
-->
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN">
<HTML>
@@ -53,10 +53,11 @@
</PRE><H2><a name="h2-SYNOPSIS">SYNOPSIS</a></H2><PRE>
<STRONG>#include</STRONG> <STRONG>&lt;form.h&gt;</STRONG>
- int set_form_fields(FORM *form, FIELD **fields);
- FIELD **form_fields(const FORM *form);
- int field_count(const FORM *form);
- int move_field(FIELD *field, int frow, int fcol);
+
+ <STRONG>int</STRONG> <STRONG>set_form_fields(FORM</STRONG> <STRONG>*</STRONG><EM>form</EM><STRONG>,</STRONG> <STRONG>FIELD</STRONG> <STRONG>**</STRONG><EM>fields</EM><STRONG>);</STRONG>
+ <STRONG>FIELD</STRONG> <STRONG>**form_fields(const</STRONG> <STRONG>FORM</STRONG> <STRONG>*</STRONG><EM>form</EM><STRONG>);</STRONG>
+ <STRONG>int</STRONG> <STRONG>field_count(const</STRONG> <STRONG>FORM</STRONG> <STRONG>*</STRONG><EM>form</EM><STRONG>);</STRONG>
+ <STRONG>int</STRONG> <STRONG>move_field(FIELD</STRONG> <STRONG>*</STRONG><EM>field</EM><STRONG>,</STRONG> <STRONG>int</STRONG> <EM>frow</EM><STRONG>,</STRONG> <STRONG>int</STRONG> <EM>fcol</EM><STRONG>);</STRONG>
</PRE><H2><a name="h2-DESCRIPTION">DESCRIPTION</a></H2><PRE>
@@ -67,18 +68,18 @@
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 discon-
- nected) to a specified location on the screen.
+ The function <STRONG>move_field</STRONG> moves the given field (which must be
+ disconnected) to a specified location on the screen.
</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.
+ does not set <STRONG>errno</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 follow-
- ing codes on error:
+ The functions <STRONG>set_form_fields</STRONG> and <STRONG>move_field</STRONG> return one of the
+ following codes on error:
<STRONG>E_OK</STRONG> The routine succeeded.
@@ -105,8 +106,8 @@
</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.
+ These routines emulate the System V forms library. They were not
+ supported 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>).
diff --git a/doc/html/man/form_field_attributes.3x.html b/doc/html/man/form_field_attributes.3x.html
index e1b4b97d5f78..6239181d9628 100644
--- a/doc/html/man/form_field_attributes.3x.html
+++ b/doc/html/man/form_field_attributes.3x.html
@@ -28,7 +28,7 @@
* sale, use or other dealings in this Software without prior written *
* authorization. *
****************************************************************************
- * @Id: form_field_attributes.3x,v 1.16 2020/02/02 23:34:34 tom Exp @
+ * @Id: form_field_attributes.3x,v 1.18 2020/10/18 00:14:20 tom Exp @
-->
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN">
<HTML>
@@ -53,19 +53,22 @@
</PRE><H2><a name="h2-SYNOPSIS">SYNOPSIS</a></H2><PRE>
<STRONG>#include</STRONG> <STRONG>&lt;form.h&gt;</STRONG>
- int set_field_fore(FIELD *field, chtype attr);
- chtype field_fore(const FIELD *field);
- int set_field_back(FIELD *field, chtype attr);
- chtype field_back(const FIELD *field);
- int set_field_pad(FIELD *field, int pad);
- int field_pad(const FIELD *field);
+
+ <STRONG>int</STRONG> <STRONG>set_field_fore(FIELD</STRONG> <STRONG>*</STRONG><EM>field</EM><STRONG>,</STRONG> <STRONG>chtype</STRONG> <EM>attr</EM><STRONG>);</STRONG>
+ <STRONG>chtype</STRONG> <STRONG>field_fore(const</STRONG> <STRONG>FIELD</STRONG> <STRONG>*</STRONG><EM>field</EM><STRONG>);</STRONG>
+
+ <STRONG>int</STRONG> <STRONG>set_field_back(FIELD</STRONG> <STRONG>*</STRONG><EM>field</EM><STRONG>,</STRONG> <STRONG>chtype</STRONG> <EM>attr</EM><STRONG>);</STRONG>
+ <STRONG>chtype</STRONG> <STRONG>field_back(const</STRONG> <STRONG>FIELD</STRONG> <STRONG>*</STRONG><EM>field</EM><STRONG>);</STRONG>
+
+ <STRONG>int</STRONG> <STRONG>set_field_pad(FIELD</STRONG> <STRONG>*</STRONG><EM>field</EM><STRONG>,</STRONG> <STRONG>int</STRONG> <EM>pad</EM><STRONG>);</STRONG>
+ <STRONG>int</STRONG> <STRONG>field_pad(const</STRONG> <STRONG>FIELD</STRONG> <STRONG>*</STRONG><EM>field</EM><STRONG>);</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>.
+ <STRONG>field_fore</STRONG> returns the foreground attribute. The default is
+ <STRONG>A_STANDOUT</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
@@ -100,8 +103,8 @@
</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.
+ These routines emulate the System V forms library. They were not
+ supported on Version 7 or BSD versions.
</PRE><H2><a name="h2-AUTHORS">AUTHORS</a></H2><PRE>
diff --git a/doc/html/man/form_field_buffer.3x.html b/doc/html/man/form_field_buffer.3x.html
index b4fc8d0d4389..31fb08b95bf0 100644
--- a/doc/html/man/form_field_buffer.3x.html
+++ b/doc/html/man/form_field_buffer.3x.html
@@ -28,7 +28,7 @@
* sale, use or other dealings in this Software without prior written *
* authorization. *
****************************************************************************
- * @Id: form_field_buffer.3x,v 1.25 2020/02/02 23:34:34 tom Exp @
+ * @Id: form_field_buffer.3x,v 1.27 2020/10/24 09:27:17 tom Exp @
-->
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN">
<HTML>
@@ -54,11 +54,13 @@
</PRE><H2><a name="h2-SYNOPSIS">SYNOPSIS</a></H2><PRE>
<STRONG>#include</STRONG> <STRONG>&lt;form.h&gt;</STRONG>
- int set_field_buffer(FIELD *field, int buf, const char *value);
- 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);
+ <STRONG>int</STRONG> <STRONG>set_field_buffer(FIELD</STRONG> <STRONG>*</STRONG><EM>field</EM><STRONG>,</STRONG> <STRONG>int</STRONG> <EM>buf</EM><STRONG>,</STRONG> <STRONG>const</STRONG> <STRONG>char</STRONG> <STRONG>*</STRONG><EM>value</EM><STRONG>);</STRONG>
+ <STRONG>char</STRONG> <STRONG>*field_buffer(const</STRONG> <STRONG>FIELD</STRONG> <STRONG>*</STRONG><EM>field</EM><STRONG>,</STRONG> <STRONG>int</STRONG> <EM>buffer</EM><STRONG>);</STRONG>
+
+ <STRONG>int</STRONG> <STRONG>set_field_status(FIELD</STRONG> <STRONG>*</STRONG><EM>field</EM><STRONG>,</STRONG> <STRONG>bool</STRONG> <EM>status</EM><STRONG>);</STRONG>
+ <STRONG>bool</STRONG> <STRONG>field_status(const</STRONG> <STRONG>FIELD</STRONG> <STRONG>*</STRONG><EM>field</EM><STRONG>);</STRONG>
+
+ <STRONG>int</STRONG> <STRONG>set_max_field(FIELD</STRONG> <STRONG>*</STRONG><EM>field</EM><STRONG>,</STRONG> <STRONG>int</STRONG> <EM>max</EM><STRONG>);</STRONG>
</PRE><H2><a name="h2-DESCRIPTION">DESCRIPTION</a></H2><PRE>
@@ -68,8 +70,8 @@
<STRONG>o</STRONG> Buffer 0 is the displayed value of the field.
<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 <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.
The function <STRONG>field_buffer</STRONG> returns a pointer to the contents of the
given numbered buffer:
@@ -103,8 +105,8 @@
</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:
+ The <STRONG>field_buffer</STRONG> function returns NULL on error. It sets <STRONG>errno</STRONG>
+ according to their success:
<STRONG>E_OK</STRONG> The routine succeeded.
@@ -133,14 +135,14 @@
The header file <STRONG>&lt;form.h&gt;</STRONG> automatically includes the header file
When configured for wide characters, <STRONG>field_buffer</STRONG> returns a pointer to
- temporary storage (allocated and freed by the library). The applica-
- tion should not attempt to modify the data. It will be freed on the
- next call to <STRONG>field_buffer</STRONG> to return the same buffer. <STRONG>&lt;curses.h&gt;</STRONG>.
+ 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_buffer</STRONG> to return the same buffer. <STRONG>&lt;curses.h&gt;</STRONG>.
</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.
+ These routines emulate the System V forms library. They were not
+ supported 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
diff --git a/doc/html/man/form_field_info.3x.html b/doc/html/man/form_field_info.3x.html
index 38c2bec19ab3..f967ff71dedc 100644
--- a/doc/html/man/form_field_info.3x.html
+++ b/doc/html/man/form_field_info.3x.html
@@ -28,7 +28,7 @@
* sale, use or other dealings in this Software without prior written *
* authorization. *
****************************************************************************
- * @Id: form_field_info.3x,v 1.17 2020/02/02 23:34:34 tom Exp @
+ * @Id: form_field_info.3x,v 1.18 2020/10/17 23:35:05 tom Exp @
-->
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN">
<HTML>
@@ -53,20 +53,24 @@
</PRE><H2><a name="h2-SYNOPSIS">SYNOPSIS</a></H2><PRE>
<STRONG>#include</STRONG> <STRONG>&lt;form.h&gt;</STRONG>
- int field_info(const FIELD *field, int *rows, int *cols,
- int *frow, int *fcol, int *nrow, int *nbuf);
- int dynamic_field_info(const FIELD *field, int *rows, int *cols, int
- *max);
+
+ <STRONG>int</STRONG> <STRONG>field_info(const</STRONG> <STRONG>FIELD</STRONG> <STRONG>*</STRONG><EM>field</EM><STRONG>,</STRONG>
+ <STRONG>int</STRONG> <STRONG>*</STRONG><EM>rows</EM><STRONG>,</STRONG> <STRONG>int</STRONG> <STRONG>*</STRONG><EM>cols</EM><STRONG>,</STRONG>
+ <STRONG>int</STRONG> <STRONG>*</STRONG><EM>frow</EM><STRONG>,</STRONG> <STRONG>int</STRONG> <STRONG>*</STRONG><EM>fcol</EM><STRONG>,</STRONG>
+ <STRONG>int</STRONG> <STRONG>*</STRONG><EM>nrow</EM><STRONG>,</STRONG> <STRONG>int</STRONG> <STRONG>*</STRONG><EM>nbuf</EM><STRONG>);</STRONG>
+
+ <STRONG>int</STRONG> <STRONG>dynamic_field_info(const</STRONG> <STRONG>FIELD</STRONG> <STRONG>*</STRONG><EM>field</EM><STRONG>,</STRONG>
+ <STRONG>int</STRONG> <STRONG>*</STRONG><EM>rows</EM><STRONG>,</STRONG> <STRONG>int</STRONG> <STRONG>*</STRONG><EM>cols</EM><STRONG>,</STRONG> <STRONG>int</STRONG> <STRONG>*</STRONG><EM>max</EM><STRONG>);</STRONG>
</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
+ 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
+ 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>.
@@ -84,7 +88,7 @@
</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
+ <STRONG><A HREF="ncurses.3x.html">curses(3x)</A></STRONG> and related pages whose names begin "form_" for detailed
descriptions of the entry points.
@@ -94,11 +98,11 @@
</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.
+ These routines emulate the System V forms library. They were not
+ supported 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
+ 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.
diff --git a/doc/html/man/form_field_just.3x.html b/doc/html/man/form_field_just.3x.html
index 2b501e545e4f..036da6dbabe2 100644
--- a/doc/html/man/form_field_just.3x.html
+++ b/doc/html/man/form_field_just.3x.html
@@ -28,7 +28,7 @@
* sale, use or other dealings in this Software without prior written *
* authorization. *
****************************************************************************
- * @Id: form_field_just.3x,v 1.16 2020/02/02 23:34:34 tom Exp @
+ * @Id: form_field_just.3x,v 1.18 2020/10/18 00:12:55 tom Exp @
-->
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN">
<HTML>
@@ -53,8 +53,9 @@
</PRE><H2><a name="h2-SYNOPSIS">SYNOPSIS</a></H2><PRE>
<STRONG>#include</STRONG> <STRONG>&lt;form.h&gt;</STRONG>
- int set_field_just(FIELD *field, int justification);
- int field_just(const FIELD *field);
+
+ <STRONG>int</STRONG> <STRONG>set_field_just(FIELD</STRONG> <STRONG>*</STRONG><EM>field</EM><STRONG>,</STRONG> <STRONG>int</STRONG> <EM>justification</EM><STRONG>);</STRONG>
+ <STRONG>int</STRONG> <STRONG>field_just(const</STRONG> <STRONG>FIELD</STRONG> <STRONG>*</STRONG><EM>field</EM><STRONG>);</STRONG>
</PRE><H2><a name="h2-DESCRIPTION">DESCRIPTION</a></H2><PRE>
@@ -65,8 +66,8 @@
</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>field_just</STRONG> returns one of: NO_JUSTIFICATION,
+ JUSTIFY_RIGHT, JUSTIFY_LEFT, or JUSTIFY_CENTER.
The function <STRONG>set_field_just</STRONG> returns one of the following:
@@ -90,8 +91,8 @@
</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.
+ These routines emulate the System V forms library. They were not
+ supported on Version 7 or BSD versions.
</PRE><H2><a name="h2-AUTHORS">AUTHORS</a></H2><PRE>
diff --git a/doc/html/man/form_field_new.3x.html b/doc/html/man/form_field_new.3x.html
index aa680053bf65..7f4a0e4f95ab 100644
--- a/doc/html/man/form_field_new.3x.html
+++ b/doc/html/man/form_field_new.3x.html
@@ -28,7 +28,7 @@
* sale, use or other dealings in this Software without prior written *
* authorization. *
****************************************************************************
- * @Id: form_field_new.3x,v 1.21 2020/02/02 23:34:34 tom Exp @
+ * @Id: form_field_new.3x,v 1.24 2020/10/24 09:09:18 tom Exp @
-->
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN">
<HTML>
@@ -54,12 +54,13 @@
</PRE><H2><a name="h2-SYNOPSIS">SYNOPSIS</a></H2><PRE>
<STRONG>#include</STRONG> <STRONG>&lt;form.h&gt;</STRONG>
- FIELD *new_field(int height, int width,
- int toprow, int leftcol,
- int offscreen, int nbuffers);
- FIELD *dup_field(FIELD *field, int toprow, int leftcol);
- FIELD *link_field(FIELD *field, int toprow, int leftcol);
- int free_field(FIELD *field);
+
+ <STRONG>FIELD</STRONG> <STRONG>*new_field(int</STRONG> <EM>height</EM><STRONG>,</STRONG> <STRONG>int</STRONG> <EM>width</EM><STRONG>,</STRONG>
+ <STRONG>int</STRONG> <EM>toprow</EM><STRONG>,</STRONG> <STRONG>int</STRONG> <EM>leftcol</EM><STRONG>,</STRONG>
+ <STRONG>int</STRONG> <EM>offscreen</EM><STRONG>,</STRONG> <STRONG>int</STRONG> <EM>nbuffers</EM><STRONG>);</STRONG>
+ <STRONG>FIELD</STRONG> <STRONG>*dup_field(FIELD</STRONG> <STRONG>*</STRONG><EM>field</EM><STRONG>,</STRONG> <STRONG>int</STRONG> <EM>toprow</EM><STRONG>,</STRONG> <STRONG>int</STRONG> <EM>leftcol</EM><STRONG>);</STRONG>
+ <STRONG>FIELD</STRONG> <STRONG>*link_field(FIELD</STRONG> <STRONG>*</STRONG><EM>field</EM><STRONG>,</STRONG> <STRONG>int</STRONG> <EM>toprow</EM><STRONG>,</STRONG> <STRONG>int</STRONG> <EM>leftcol</EM><STRONG>);</STRONG>
+ <STRONG>int</STRONG> <STRONG>free_field(FIELD</STRONG> <STRONG>*</STRONG><EM>field</EM><STRONG>);</STRONG>
</PRE><H2><a name="h2-DESCRIPTION">DESCRIPTION</a></H2><PRE>
@@ -81,8 +82,8 @@
</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:
+ The functions <STRONG>new_field</STRONG>, <STRONG>dup_field</STRONG>, <STRONG>link_field</STRONG> return <STRONG>NULL</STRONG> on error.
+ They set <STRONG>errno</STRONG> according to their success:
<STRONG>E_OK</STRONG> The routine succeeded.
@@ -113,8 +114,8 @@
</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.
+ These routines emulate the System V forms library. They were not
+ supported 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
diff --git a/doc/html/man/form_field_opts.3x.html b/doc/html/man/form_field_opts.3x.html
index d370db135ac4..a0470050baca 100644
--- a/doc/html/man/form_field_opts.3x.html
+++ b/doc/html/man/form_field_opts.3x.html
@@ -28,7 +28,7 @@
* sale, use or other dealings in this Software without prior written *
* authorization. *
****************************************************************************
- * @Id: form_field_opts.3x,v 1.25 2020/02/02 23:34:34 tom Exp @
+ * @Id: form_field_opts.3x,v 1.27 2020/10/18 00:11:45 tom Exp @
-->
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN">
<HTML>
@@ -54,10 +54,12 @@
</PRE><H2><a name="h2-SYNOPSIS">SYNOPSIS</a></H2><PRE>
<STRONG>#include</STRONG> <STRONG>&lt;form.h&gt;</STRONG>
- int set_field_opts(FIELD *field, Field_Options opts);
- int field_opts_on(FIELD *field, Field_Options opts);
- int field_opts_off(FIELD *field, Field_Options opts);
- Field_Options field_opts(const FIELD *field);
+
+ <STRONG>int</STRONG> <STRONG>set_field_opts(FIELD</STRONG> <STRONG>*</STRONG><EM>field</EM><STRONG>,</STRONG> <STRONG>Field_Options</STRONG> <EM>opts</EM><STRONG>);</STRONG>
+ <STRONG>Field_Options</STRONG> <STRONG>field_opts(const</STRONG> <STRONG>FIELD</STRONG> <STRONG>*</STRONG><EM>field</EM><STRONG>);</STRONG>
+
+ <STRONG>int</STRONG> <STRONG>field_opts_on(FIELD</STRONG> <STRONG>*</STRONG><EM>field</EM><STRONG>,</STRONG> <STRONG>Field_Options</STRONG> <EM>opts</EM><STRONG>);</STRONG>
+ <STRONG>int</STRONG> <STRONG>field_opts_off(FIELD</STRONG> <STRONG>*</STRONG><EM>field</EM><STRONG>,</STRONG> <STRONG>Field_Options</STRONG> <EM>opts</EM><STRONG>);</STRONG>
</PRE><H2><a name="h2-DESCRIPTION">DESCRIPTION</a></H2><PRE>
@@ -120,12 +122,12 @@
discarded.
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.
+ When inserting into a field up to the boundary position,
+ optionally 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_INPUT_FIELD
The <STRONG>set_max_field</STRONG> function checks for this extension, which allows
@@ -158,8 +160,8 @@
</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.
+ These routines emulate the System V forms library. They were not
+ supported on Version 7 or BSD versions.
</PRE><H2><a name="h2-AUTHORS">AUTHORS</a></H2><PRE>
diff --git a/doc/html/man/form_field_userptr.3x.html b/doc/html/man/form_field_userptr.3x.html
index 3545f5a1aa19..2c32b99e122b 100644
--- a/doc/html/man/form_field_userptr.3x.html
+++ b/doc/html/man/form_field_userptr.3x.html
@@ -28,7 +28,7 @@
* sale, use or other dealings in this Software without prior written *
* authorization. *
****************************************************************************
- * @Id: form_field_userptr.3x,v 1.13 2020/02/02 23:34:34 tom Exp @
+ * @Id: form_field_userptr.3x,v 1.16 2020/10/24 09:06:33 tom Exp @
-->
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN">
<HTML>
@@ -54,19 +54,20 @@
</PRE><H2><a name="h2-SYNOPSIS">SYNOPSIS</a></H2><PRE>
<STRONG>#include</STRONG> <STRONG>&lt;form.h&gt;</STRONG>
- int set_field_userptr(FIELD *field, void*userptr);
- void *field_userptr(const FIELD *field);
+
+ <STRONG>int</STRONG> <STRONG>set_field_userptr(FIELD</STRONG> <STRONG>*</STRONG><EM>field</EM><STRONG>,</STRONG> <STRONG>void</STRONG> <STRONG>*</STRONG><EM>userptr</EM><STRONG>);</STRONG>
+ <STRONG>void</STRONG> <STRONG>*field_userptr(const</STRONG> <STRONG>FIELD</STRONG> <STRONG>*</STRONG><EM>field</EM><STRONG>);</STRONG>
</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
+ 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-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.
+ does not set <STRONG>errno</STRONG>.
The function <STRONG>set_field_userptr</STRONG> returns <STRONG>E_OK</STRONG> (success).
@@ -81,8 +82,8 @@
</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.
+ These routines emulate the System V forms library. They were not
+ supported 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.
diff --git a/doc/html/man/form_field_validation.3x.html b/doc/html/man/form_field_validation.3x.html
index 4975302332f7..695b2ed37b50 100644
--- a/doc/html/man/form_field_validation.3x.html
+++ b/doc/html/man/form_field_validation.3x.html
@@ -27,7 +27,7 @@
* sale, use or other dealings in this Software without prior written *
* authorization. *
****************************************************************************
- * @Id: form_field_validation.3x,v 1.25 2020/02/02 23:34:34 tom Exp @
+ * @Id: form_field_validation.3x,v 1.33 2020/12/12 19:57:55 tom Exp @
-->
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN">
<HTML>
@@ -52,87 +52,123 @@
</PRE><H2><a name="h2-SYNOPSIS">SYNOPSIS</a></H2><PRE>
<STRONG>#include</STRONG> <STRONG>&lt;form.h&gt;</STRONG>
- int set_field_type(FIELD *field, FIELDTYPE *type, ...);
- FIELDTYPE *field_type(const FIELD *field);
- void *field_arg(const FIELD *field);
- FIELDTYPE *TYPE_ALNUM;
- FIELDTYPE *TYPE_ALPHA;
- FIELDTYPE *TYPE_ENUM;
- FIELDTYPE *TYPE_INTEGER;
- FIELDTYPE *TYPE_NUMERIC;
- FIELDTYPE *TYPE_REGEXP;
- FIELDTYPE *TYPE_IPV4;
+ <STRONG>void</STRONG> <STRONG>*field_arg(const</STRONG> <STRONG>FIELD</STRONG> <STRONG>*</STRONG><EM>field</EM><STRONG>);</STRONG>
+ <STRONG>FIELDTYPE</STRONG> <STRONG>*field_type(const</STRONG> <STRONG>FIELD</STRONG> <STRONG>*</STRONG><EM>field</EM><STRONG>);</STRONG>
+ <STRONG>int</STRONG> <STRONG>set_field_type(FIELD</STRONG> <STRONG>*</STRONG><EM>field</EM><STRONG>,</STRONG> <STRONG>FIELDTYPE</STRONG> <STRONG>*</STRONG><EM>type</EM><STRONG>,</STRONG> <STRONG>...);</STRONG>
+
+ /* predefined field types */
+ <STRONG>FIELDTYPE</STRONG> <STRONG>*TYPE_ALNUM;</STRONG>
+ <STRONG>FIELDTYPE</STRONG> <STRONG>*TYPE_ALPHA;</STRONG>
+ <STRONG>FIELDTYPE</STRONG> <STRONG>*TYPE_ENUM;</STRONG>
+ <STRONG>FIELDTYPE</STRONG> <STRONG>*TYPE_INTEGER;</STRONG>
+ <STRONG>FIELDTYPE</STRONG> <STRONG>*TYPE_NUMERIC;</STRONG>
+ <STRONG>FIELDTYPE</STRONG> <STRONG>*TYPE_REGEXP;</STRONG>
+ <STRONG>FIELDTYPE</STRONG> <STRONG>*TYPE_IPV4;</STRONG>
</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:
+ By default, no validation is done on form fields. You can associate a
+ form with with a <EM>field</EM> <EM>type</EM>, making the form library validate input.
+
+
+</PRE><H3><a name="h3-field_arg">field_arg</a></H3><PRE>
+ Returns a pointer to the field's argument block. The <EM>argument</EM> <EM>block</EM> is
+ an opaque structure containing a copy of the arguments provided in a
+ <STRONG>set_field_type</STRONG> call.
+
+
+</PRE><H3><a name="h3-field_type">field_type</a></H3><PRE>
+ Returns a pointer to the <EM>field</EM> <EM>type</EM> associated with the form field,
+ i.e., by calling <STRONG>set_field_type</STRONG>.
+
+
+</PRE><H3><a name="h3-set_field_type">set_field_type</a></H3><PRE>
+ The function <STRONG>set_field_type</STRONG> associates a field type with a given form
+ field. This is the type checked by validation functions. Most field
+ types are configurable, via arguments which the caller provides when
+ calling <STRONG>set_field_type</STRONG>.
+
+ Several field types are predefined by the form library.
+
+
+</PRE><H3><a name="h3-Predefined-types">Predefined types</a></H3><PRE>
+ It is possible to set up new programmer-defined field types. Field
+ types are implemented via the <STRONG>FIELDTYPE</STRONG> data structure, which contains
+ several pointers to functions.
+
+ See the <STRONG><A HREF="form_fieldtype.3x.html">form_fieldtype(3x)</A></STRONG> manual page, which describes functions which
+ can be used to construct a field-type dynamically.
+
+ The predefined types are as follows:
TYPE_ALNUM
- Alphanumeric data. Requires a third <STRONG>int</STRONG> argument, a minimum field
- width.
+ Alphanumeric data. Required parameter:
+
+ <STRONG>o</STRONG> 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. Required parameter:
+
+ <STRONG>o</STRONG> a third <STRONG>int</STRONG> argument, a minimum field width.
TYPE_ENUM
- Accept one of a specified set of strings. Requires additional
- parameters:
+ Accept one of a specified set of strings. Required 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.
+ <STRONG>o</STRONG> 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.
+ 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 addi-
- tional parameters:
+ Integer data, parsable to an integer by <STRONG>atoi(3)</STRONG>. Required
+ 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.
+ <STRONG>o</STRONG> 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>.
+ For details of the precision handling see <STRONG>printf(3)</STRONG>.
TYPE_NUMERIC
- Numeric data (may have a decimal-point part). This requires addi-
- tional parameters:
+ Numeric data (may have a decimal-point part). Required
+ 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
+ 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.
+ 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>.
+ For details of the precision handling see <STRONG>printf(3)</STRONG>.
TYPE_REGEXP
- 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 expression data. Required parameter:
+
+ <STRONG>o</STRONG> a third argument, a regular expression <STRONG>(char</STRONG> <STRONG>*)</STRONG> string. The
+ data is valid if the regular expression matches it.
Regular expressions are in the format of <STRONG>regcomp</STRONG> and <STRONG>regexec</STRONG>.
@@ -145,22 +181,22 @@
trailing spaces around the digits.
TYPE_IPV4
- 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
+ An Internet Protocol Version 4 address. Required parameter:
+
+ <STRONG>o</STRONG> none
+
+ The form library checks whether or not the buffer has the form
+ <EM>a.b.c.d</EM>, where <EM>a</EM>, <EM>b</EM>, <EM>c</EM>, and <EM>d</EM> are numbers in the range 0 to 255.
+ Trailing blanks in the buffer are ignored. The address itself is
not validated.
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><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:
+ 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 following:
<STRONG>E_OK</STRONG> The routine succeeded.
@@ -169,7 +205,7 @@
</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>.
+ <STRONG><A HREF="ncurses.3x.html">curses(3x)</A></STRONG>, <STRONG><A HREF="form.3x.html">form(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>.
</PRE><H2><a name="h2-NOTES">NOTES</a></H2><PRE>
@@ -178,8 +214,8 @@
</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.
+ These routines emulate the System V forms library. They were not
+ supported on Version 7 or BSD versions.
</PRE><H2><a name="h2-AUTHORS">AUTHORS</a></H2><PRE>
@@ -194,7 +230,14 @@
<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-DESCRIPTION">DESCRIPTION</a>
+<ul>
+<li><a href="#h3-field_arg">field_arg</a></li>
+<li><a href="#h3-field_type">field_type</a></li>
+<li><a href="#h3-set_field_type">set_field_type</a></li>
+<li><a href="#h3-Predefined-types">Predefined types</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>
diff --git a/doc/html/man/form_fieldtype.3x.html b/doc/html/man/form_fieldtype.3x.html
index 4b350132985c..c236a2682f02 100644
--- a/doc/html/man/form_fieldtype.3x.html
+++ b/doc/html/man/form_fieldtype.3x.html
@@ -28,7 +28,7 @@
* sale, use or other dealings in this Software without prior written *
* authorization. *
****************************************************************************
- * @Id: form_fieldtype.3x,v 1.20 2020/02/02 23:34:34 tom Exp @
+ * @Id: form_fieldtype.3x,v 1.28 2020/12/12 17:11:21 tom Exp @
-->
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN">
<HTML>
@@ -53,63 +53,95 @@
</PRE><H2><a name="h2-SYNOPSIS">SYNOPSIS</a></H2><PRE>
<STRONG>#include</STRONG> <STRONG>&lt;form.h&gt;</STRONG>
- FIELDTYPE *new_fieldtype(
- bool (* const field_check)(FIELD *, const void *),
- bool (* const char_check)(int, const void *));
- int free_fieldtype(FIELDTYPE *fieldtype);
- int set_fieldtype_arg(
- FIELDTYPE *fieldtype,
- void *(* const make_arg)(va_list *),
- void *(* const copy_arg)(const void *),
- void (* const free_arg)(void *));
- int set_fieldtype_choice(
- FIELDTYPE *fieldtype,
- bool (* const next_choice)(FIELD *, const void *),
- bool (* const prev_choice)(FIELD *, const void *));
- FIELDTYPE *link_fieldtype(FIELDTYPE *type1,
- FIELDTYPE *type2);
+
+ <STRONG>FIELDTYPE</STRONG> <STRONG>*new_fieldtype(</STRONG>
+ <STRONG>bool</STRONG> <STRONG>(*</STRONG> <STRONG>const</STRONG> <EM>field</EM><STRONG>_</STRONG><EM>check</EM><STRONG>)(FIELD</STRONG> <STRONG>*,</STRONG> <STRONG>const</STRONG> <STRONG>void</STRONG> <STRONG>*),</STRONG>
+ <STRONG>bool</STRONG> <STRONG>(*</STRONG> <STRONG>const</STRONG> <EM>char</EM><STRONG>_</STRONG><EM>check</EM><STRONG>)(int,</STRONG> <STRONG>const</STRONG> <STRONG>void</STRONG> <STRONG>*));</STRONG>
+ <STRONG>int</STRONG> <STRONG>free_fieldtype(FIELDTYPE</STRONG> <STRONG>*</STRONG><EM>fieldtype</EM><STRONG>);</STRONG>
+
+ <STRONG>int</STRONG> <STRONG>set_fieldtype_arg(</STRONG>
+ <STRONG>FIELDTYPE</STRONG> <STRONG>*</STRONG><EM>fieldtype</EM><STRONG>,</STRONG>
+ <STRONG>void</STRONG> <STRONG>*(*</STRONG> <STRONG>const</STRONG> <EM>make</EM><STRONG>_</STRONG><EM>arg</EM><STRONG>)(va_list</STRONG> <STRONG>*),</STRONG>
+ <STRONG>void</STRONG> <STRONG>*(*</STRONG> <STRONG>const</STRONG> <EM>copy</EM><STRONG>_</STRONG><EM>arg</EM><STRONG>)(const</STRONG> <STRONG>void</STRONG> <STRONG>*),</STRONG>
+ <STRONG>void</STRONG> <STRONG>(*</STRONG> <STRONG>const</STRONG> <EM>free</EM><STRONG>_</STRONG><EM>arg</EM><STRONG>)(void</STRONG> <STRONG>*));</STRONG>
+ <STRONG>int</STRONG> <STRONG>set_fieldtype_choice(</STRONG>
+ <STRONG>FIELDTYPE</STRONG> <STRONG>*</STRONG><EM>fieldtype</EM><STRONG>,</STRONG>
+ <STRONG>bool</STRONG> <STRONG>(*</STRONG> <STRONG>const</STRONG> <EM>next</EM><STRONG>_</STRONG><EM>choice</EM><STRONG>)(FIELD</STRONG> <STRONG>*,</STRONG> <STRONG>const</STRONG> <STRONG>void</STRONG> <STRONG>*),</STRONG>
+ <STRONG>bool</STRONG> <STRONG>(*</STRONG> <STRONG>const</STRONG> <EM>prev</EM><STRONG>_</STRONG><EM>choice</EM><STRONG>)(FIELD</STRONG> <STRONG>*,</STRONG> <STRONG>const</STRONG> <STRONG>void</STRONG> <STRONG>*));</STRONG>
+
+ <STRONG>FIELDTYPE</STRONG> <STRONG>*link_fieldtype(FIELDTYPE</STRONG> <STRONG>*</STRONG><EM>type1</EM><STRONG>,</STRONG>
+ <STRONG>FIELDTYPE</STRONG> <STRONG>*</STRONG><EM>type2</EM><STRONG>);</STRONG>
</PRE><H2><a name="h2-DESCRIPTION">DESCRIPTION</a></H2><PRE>
+
+</PRE><H3><a name="h3-new_fieldtype">new_fieldtype</a></H3><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.
+ validation. Its parameters are function pointers:
+
+ <EM>field</EM><STRONG>_</STRONG><EM>check</EM>
+ This function checks the validity of an entered data string
+ whenever the user attempts to leave a field. It has two
+ arguments:
+
+ <STRONG>o</STRONG> The (FIELD *) argument is passed in so the validation
+ predicate can see the field's buffer, sizes and other
+ attributes.
- 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.
+ <STRONG>o</STRONG> The second argument is an argument-block structure, about
+ which more below.
- The function <STRONG>free_fieldtype</STRONG> frees the space allocated for a given vali-
- dation type.
+ <EM>char</EM><STRONG>_</STRONG><EM>check</EM>
+ This function validates input characters as they are entered. The
+ form library passes it the character to be checked and a pointer
+ to an argument-block structure.
+
+</PRE><H3><a name="h3-free_fieldtype">free_fieldtype</a></H3><PRE>
+ The <STRONG>free_fieldtype</STRONG> function frees the space allocated for a given
+ validation type by <STRONG>new_fieldtype</STRONG>.
+
+
+</PRE><H3><a name="h3-set_fieldtype_arg">set_fieldtype_arg</a></H3><PRE>
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.
+ functions with a field type:
+
+ <EM>make</EM><STRONG>_</STRONG><EM>arg</EM>
+ This function is automatically applied to the list of arguments
+ you give <STRONG>set_field_type</STRONG> when attaching validation to a field. It
+ stores the arguments in an allocated argument-block object which
+ is used when validating input.
+
+ <EM>copy</EM><STRONG>_</STRONG><EM>arg</EM>
+ This function may be used by applications to copy argument-blocks.
+ <EM>free</EM><STRONG>_</STRONG><EM>arg</EM>
+ Frees an argument-block structure.
+
+ 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, the form library assumes that
+ <EM>make</EM><STRONG>_</STRONG><EM>arg</EM> does not allocate memory but simply loads the argument into a
+ single scalar value.
+
+
+</PRE><H3><a name="h3-set_fieldtype_choice">set_fieldtype_choice</a></H3><PRE>
+ 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> 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><H3><a name="h3-link_fieldtype">link_fieldtype</a></H3><PRE>
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_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><a name="h2-RETURN-VALUE">RETURN VALUE</a></H2><PRE>
- The pointer-valued routines return NULL on error. They set errno
+ The pointer-valued routines return NULL on error. They set <STRONG>errno</STRONG>
according to their success:
<STRONG>E_OK</STRONG> The routine succeeded.
@@ -138,21 +170,17 @@
</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="ncurses.3x.html">curses(3x)</A></STRONG>, <STRONG><A HREF="form.3x.html">form(3x)</A></STRONG>, <STRONG><A HREF="form_field_validation.3x.html">form_field_validation(3x)</A></STRONG>.
</PRE><H2><a name="h2-NOTES">NOTES</a></H2><PRE>
The header file <STRONG>&lt;form.h&gt;</STRONG> automatically includes the header file
<STRONG>&lt;curses.h&gt;</STRONG>.
- All of the <STRONG>(char</STRONG> <STRONG>*)</STRONG> arguments of these functions should actually be
- <STRONG>(void</STRONG> <STRONG>*)</STRONG>. The type has been left uncorrected for strict compatibility
- with System V.
-
</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.
+ These routines emulate the System V forms library. They were not
+ supported on Version 7 or BSD versions.
</PRE><H2><a name="h2-AUTHORS">AUTHORS</a></H2><PRE>
@@ -167,7 +195,15 @@
<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-DESCRIPTION">DESCRIPTION</a>
+<ul>
+<li><a href="#h3-new_fieldtype">new_fieldtype</a></li>
+<li><a href="#h3-free_fieldtype">free_fieldtype</a></li>
+<li><a href="#h3-set_fieldtype_arg">set_fieldtype_arg</a></li>
+<li><a href="#h3-set_fieldtype_choice">set_fieldtype_choice</a></li>
+<li><a href="#h3-link_fieldtype">link_fieldtype</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>
diff --git a/doc/html/man/form_hook.3x.html b/doc/html/man/form_hook.3x.html
index bac8d438b4b1..28284c7a3feb 100644
--- a/doc/html/man/form_hook.3x.html
+++ b/doc/html/man/form_hook.3x.html
@@ -28,7 +28,7 @@
* sale, use or other dealings in this Software without prior written *
* authorization. *
****************************************************************************
- * @Id: form_hook.3x,v 1.14 2020/02/02 23:34:34 tom Exp @
+ * @Id: form_hook.3x,v 1.16 2020/10/18 00:06:29 tom Exp @
-->
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN">
<HTML>
@@ -53,14 +53,18 @@
</PRE><H2><a name="h2-SYNOPSIS">SYNOPSIS</a></H2><PRE>
<STRONG>#include</STRONG> <STRONG>&lt;form.h&gt;</STRONG>
- int set_field_init(FORM *form, Form_Hook func);
- Form_Hook field_init(const FORM *form);
- int set_field_term(FORM *form, Form_Hook func);
- Form_Hook field_term(const FORM *form);
- int set_form_init(FORM *form, Form_Hook func);
- Form_Hook form_init(const FORM *form);
- int set_form_term(FORM *form, Form_Hook func);
- Form_Hook form_term(const FORM *form);
+
+ <STRONG>int</STRONG> <STRONG>set_field_init(FORM</STRONG> <STRONG>*</STRONG><EM>form</EM><STRONG>,</STRONG> <STRONG>Form_Hook</STRONG> <EM>func</EM><STRONG>);</STRONG>
+ <STRONG>Form_Hook</STRONG> <STRONG>field_init(const</STRONG> <STRONG>FORM</STRONG> <STRONG>*</STRONG><EM>form</EM><STRONG>);</STRONG>
+
+ <STRONG>int</STRONG> <STRONG>set_field_term(FORM</STRONG> <STRONG>*</STRONG><EM>form</EM><STRONG>,</STRONG> <STRONG>Form_Hook</STRONG> <EM>func</EM><STRONG>);</STRONG>
+ <STRONG>Form_Hook</STRONG> <STRONG>field_term(const</STRONG> <STRONG>FORM</STRONG> <STRONG>*</STRONG><EM>form</EM><STRONG>);</STRONG>
+
+ <STRONG>int</STRONG> <STRONG>set_form_init(FORM</STRONG> <STRONG>*</STRONG><EM>form</EM><STRONG>,</STRONG> <STRONG>Form_Hook</STRONG> <EM>func</EM><STRONG>);</STRONG>
+ <STRONG>Form_Hook</STRONG> <STRONG>form_init(const</STRONG> <STRONG>FORM</STRONG> <STRONG>*</STRONG><EM>form</EM><STRONG>);</STRONG>
+
+ <STRONG>int</STRONG> <STRONG>set_form_term(FORM</STRONG> <STRONG>*</STRONG><EM>form</EM><STRONG>,</STRONG> <STRONG>Form_Hook</STRONG> <EM>func</EM><STRONG>);</STRONG>
+ <STRONG>Form_Hook</STRONG> <STRONG>form_term(const</STRONG> <STRONG>FORM</STRONG> <STRONG>*</STRONG><EM>form</EM><STRONG>);</STRONG>
</PRE><H2><a name="h2-DESCRIPTION">DESCRIPTION</a></H2><PRE>
@@ -107,8 +111,8 @@
</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.
+ These routines emulate the System V forms library. They were not
+ supported on Version 7 or BSD versions.
</PRE><H2><a name="h2-AUTHORS">AUTHORS</a></H2><PRE>
diff --git a/doc/html/man/form_new.3x.html b/doc/html/man/form_new.3x.html
index fc2710363a09..10d4bb024212 100644
--- a/doc/html/man/form_new.3x.html
+++ b/doc/html/man/form_new.3x.html
@@ -28,7 +28,7 @@
* sale, use or other dealings in this Software without prior written *
* authorization. *
****************************************************************************
- * @Id: form_new.3x,v 1.12 2020/02/02 23:34:34 tom Exp @
+ * @Id: form_new.3x,v 1.15 2020/10/24 09:02:26 tom Exp @
-->
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN">
<HTML>
@@ -53,8 +53,9 @@
</PRE><H2><a name="h2-SYNOPSIS">SYNOPSIS</a></H2><PRE>
<STRONG>#include</STRONG> <STRONG>&lt;form.h&gt;</STRONG>
- FORM *new_form(FIELD **fields);
- int free_form(FORM *form);
+
+ <STRONG>FORM</STRONG> <STRONG>*new_form(FIELD</STRONG> <STRONG>**</STRONG><EM>fields</EM><STRONG>);</STRONG>
+ <STRONG>int</STRONG> <STRONG>free_form(FORM</STRONG> <STRONG>*</STRONG><EM>form</EM><STRONG>);</STRONG>
</PRE><H2><a name="h2-DESCRIPTION">DESCRIPTION</a></H2><PRE>
@@ -66,7 +67,7 @@
</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
+ The function <STRONG>new_form</STRONG> returns <STRONG>NULL</STRONG> on error. It sets <STRONG>errno</STRONG> according
to the function's success:
<STRONG>E_OK</STRONG> The routine succeeded.
@@ -101,8 +102,8 @@
</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.
+ These routines emulate the System V forms library. They were not
+ supported on Version 7 or BSD versions.
</PRE><H2><a name="h2-AUTHORS">AUTHORS</a></H2><PRE>
diff --git a/doc/html/man/form_new_page.3x.html b/doc/html/man/form_new_page.3x.html
index c14bb9da9645..c1a840636208 100644
--- a/doc/html/man/form_new_page.3x.html
+++ b/doc/html/man/form_new_page.3x.html
@@ -28,7 +28,7 @@
* sale, use or other dealings in this Software without prior written *
* authorization. *
****************************************************************************
- * @Id: form_new_page.3x,v 1.15 2020/02/02 23:34:34 tom Exp @
+ * @Id: form_new_page.3x,v 1.17 2020/10/18 00:04:36 tom Exp @
-->
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN">
<HTML>
@@ -53,8 +53,9 @@
</PRE><H2><a name="h2-SYNOPSIS">SYNOPSIS</a></H2><PRE>
<STRONG>#include</STRONG> <STRONG>&lt;form.h&gt;</STRONG>
- int set_new_page(FIELD *field, bool new_page_flag);
- bool new_page(const FIELD *field);
+
+ <STRONG>int</STRONG> <STRONG>set_new_page(FIELD</STRONG> <STRONG>*</STRONG><EM>field</EM><STRONG>,</STRONG> <STRONG>bool</STRONG> <EM>new</EM><STRONG>_</STRONG><EM>page</EM><STRONG>_</STRONG><EM>flag</EM><STRONG>);</STRONG>
+ <STRONG>bool</STRONG> <STRONG>new_page(const</STRONG> <STRONG>FIELD</STRONG> <STRONG>*</STRONG><EM>field</EM><STRONG>);</STRONG>
</PRE><H2><a name="h2-DESCRIPTION">DESCRIPTION</a></H2><PRE>
@@ -87,8 +88,8 @@
</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.
+ These routines emulate the System V forms library. They were not
+ supported on Version 7 or BSD versions.
</PRE><H2><a name="h2-AUTHORS">AUTHORS</a></H2><PRE>
diff --git a/doc/html/man/form_opts.3x.html b/doc/html/man/form_opts.3x.html
index cf680afff375..e30a321ab85a 100644
--- a/doc/html/man/form_opts.3x.html
+++ b/doc/html/man/form_opts.3x.html
@@ -28,7 +28,7 @@
* sale, use or other dealings in this Software without prior written *
* authorization. *
****************************************************************************
- * @Id: form_opts.3x,v 1.15 2020/02/02 23:34:34 tom Exp @
+ * @Id: form_opts.3x,v 1.17 2020/10/18 00:03:49 tom Exp @
-->
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN">
<HTML>
@@ -54,10 +54,12 @@
</PRE><H2><a name="h2-SYNOPSIS">SYNOPSIS</a></H2><PRE>
<STRONG>#include</STRONG> <STRONG>&lt;form.h&gt;</STRONG>
- int set_form_opts(FORM *form, Field_Options opts);
- int form_opts_on(FORM *form, Field_Options opts);
- int form_opts_off(FORM *form, Field_Options opts);
- Field_Options form_opts(const FORM *form);
+
+ <STRONG>int</STRONG> <STRONG>set_form_opts(FORM</STRONG> <STRONG>*</STRONG><EM>form</EM><STRONG>,</STRONG> <STRONG>Field_Options</STRONG> <EM>opts</EM><STRONG>);</STRONG>
+ <STRONG>Field_Options</STRONG> <STRONG>form_opts(const</STRONG> <STRONG>FORM</STRONG> <STRONG>*</STRONG><EM>form</EM><STRONG>);</STRONG>
+
+ <STRONG>int</STRONG> <STRONG>form_opts_on(FORM</STRONG> <STRONG>*</STRONG><EM>form</EM><STRONG>,</STRONG> <STRONG>Field_Options</STRONG> <EM>opts</EM><STRONG>);</STRONG>
+ <STRONG>int</STRONG> <STRONG>form_opts_off(FORM</STRONG> <STRONG>*</STRONG><EM>form</EM><STRONG>,</STRONG> <STRONG>Field_Options</STRONG> <EM>opts</EM><STRONG>);</STRONG>
</PRE><H2><a name="h2-DESCRIPTION">DESCRIPTION</a></H2><PRE>
@@ -102,8 +104,8 @@
</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.
+ These routines emulate the System V forms library. They were not
+ supported on Version 7 or BSD versions.
</PRE><H2><a name="h2-AUTHORS">AUTHORS</a></H2><PRE>
diff --git a/doc/html/man/form_page.3x.html b/doc/html/man/form_page.3x.html
index e06fffde5c10..3c67fccc6674 100644
--- a/doc/html/man/form_page.3x.html
+++ b/doc/html/man/form_page.3x.html
@@ -28,7 +28,7 @@
* sale, use or other dealings in this Software without prior written *
* authorization. *
****************************************************************************
- * @Id: form_page.3x,v 1.17 2020/02/02 23:34:34 tom Exp @
+ * @Id: form_page.3x,v 1.19 2020/10/18 00:02:44 tom Exp @
-->
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN">
<HTML>
@@ -53,12 +53,16 @@
</PRE><H2><a name="h2-SYNOPSIS">SYNOPSIS</a></H2><PRE>
<STRONG>#include</STRONG> <STRONG>&lt;form.h&gt;</STRONG>
- int set_current_field(FORM *form, FIELD *field);
- FIELD *current_field(const FORM *);
- int unfocus_current_field(FORM *form);
- int set_form_page(FORM *form, int n);
- int form_page(const FORM *form);
- int field_index(const FIELD *field);
+
+ <STRONG>int</STRONG> <STRONG>set_current_field(FORM</STRONG> <STRONG>*</STRONG><EM>form</EM><STRONG>,</STRONG> <STRONG>FIELD</STRONG> <STRONG>*</STRONG><EM>field</EM><STRONG>);</STRONG>
+ <STRONG>FIELD</STRONG> <STRONG>*current_field(const</STRONG> <STRONG>FORM</STRONG> <STRONG>*</STRONG><EM>form</EM><STRONG>);</STRONG>
+
+ <STRONG>int</STRONG> <STRONG>unfocus_current_field(FORM</STRONG> <STRONG>*</STRONG><EM>form</EM><STRONG>);</STRONG>
+
+ <STRONG>int</STRONG> <STRONG>set_form_page(FORM</STRONG> <STRONG>*</STRONG><EM>form</EM><STRONG>,</STRONG> <STRONG>int</STRONG> <EM>n</EM><STRONG>);</STRONG>
+ <STRONG>int</STRONG> <STRONG>form_page(const</STRONG> <STRONG>FORM</STRONG> <STRONG>*</STRONG><EM>form</EM><STRONG>);</STRONG>
+
+ <STRONG>int</STRONG> <STRONG>field_index(const</STRONG> <STRONG>FIELD</STRONG> <STRONG>*</STRONG><EM>field</EM><STRONG>);</STRONG>
</PRE><H2><a name="h2-DESCRIPTION">DESCRIPTION</a></H2><PRE>
@@ -110,8 +114,8 @@
</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.
+ These routines emulate the System V forms library. They were not
+ supported on Version 7 or BSD versions.
The <STRONG>unfocus_current_field</STRONG> function is an ncurses extension.
diff --git a/doc/html/man/form_post.3x.html b/doc/html/man/form_post.3x.html
index 9a18331db9ac..f42e72cf8add 100644
--- a/doc/html/man/form_post.3x.html
+++ b/doc/html/man/form_post.3x.html
@@ -28,7 +28,7 @@
* sale, use or other dealings in this Software without prior written *
* authorization. *
****************************************************************************
- * @Id: form_post.3x,v 1.14 2020/02/02 23:34:34 tom Exp @
+ * @Id: form_post.3x,v 1.16 2020/10/18 00:01:05 tom Exp @
-->
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN">
<HTML>
@@ -48,14 +48,15 @@
</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
+ <STRONG>post_form</STRONG>, <STRONG>unpost_form</STRONG> - write or erase forms from associated
+ subwindows
</PRE><H2><a name="h2-SYNOPSIS">SYNOPSIS</a></H2><PRE>
<STRONG>#include</STRONG> <STRONG>&lt;form.h&gt;</STRONG>
- int post_form(FORM *form);
- int unpost_form(FORM *form);
+
+ <STRONG>int</STRONG> <STRONG>post_form(FORM</STRONG> <STRONG>*</STRONG><EM>form</EM><STRONG>);</STRONG>
+ <STRONG>int</STRONG> <STRONG>unpost_form(FORM</STRONG> <STRONG>*</STRONG><EM>form</EM><STRONG>);</STRONG>
</PRE><H2><a name="h2-DESCRIPTION">DESCRIPTION</a></H2><PRE>
@@ -104,8 +105,8 @@
</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.
+ These routines emulate the System V forms library. They were not
+ supported on Version 7 or BSD versions.
</PRE><H2><a name="h2-AUTHORS">AUTHORS</a></H2><PRE>
diff --git a/doc/html/man/form_requestname.3x.html b/doc/html/man/form_requestname.3x.html
index 9245e4b68817..b8c23062e0ca 100644
--- a/doc/html/man/form_requestname.3x.html
+++ b/doc/html/man/form_requestname.3x.html
@@ -28,7 +28,7 @@
* sale, use or other dealings in this Software without prior written *
* authorization. *
****************************************************************************
- * @Id: form_requestname.3x,v 1.12 2020/02/02 23:34:34 tom Exp @
+ * @Id: form_requestname.3x,v 1.16 2020/12/12 16:37:14 tom Exp @
-->
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN">
<HTML>
@@ -54,23 +54,30 @@
</PRE><H2><a name="h2-SYNOPSIS">SYNOPSIS</a></H2><PRE>
<STRONG>#include</STRONG> <STRONG>&lt;form.h&gt;</STRONG>
- const char *form_request_name(int request);
- int form_request_by_name(const char *name);
+
+ <STRONG>const</STRONG> <STRONG>char</STRONG> <STRONG>*form_request_name(int</STRONG> <EM>request</EM><STRONG>);</STRONG>
+ <STRONG>int</STRONG> <STRONG>form_request_by_name(const</STRONG> <STRONG>char</STRONG> <STRONG>*</STRONG><EM>name</EM><STRONG>);</STRONG>
</PRE><H2><a name="h2-DESCRIPTION">DESCRIPTION</a></H2><PRE>
+
+</PRE><H3><a name="h3-form_request_name">form_request_name</a></H3><PRE>
The function <STRONG>form_request_name</STRONG> returns the printable name of a form
request code.
+
+
+</PRE><H3><a name="h3-form_request_name_by_name">form_request_name_by_name</a></H3><PRE>
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><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_name</STRONG> returns <STRONG>NULL</STRONG> on error and sets <STRONG>errno</STRONG> 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.
+ <STRONG>errno</STRONG>.
</PRE><H2><a name="h2-SEE-ALSO">SEE ALSO</a></H2><PRE>
@@ -100,7 +107,12 @@
<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-DESCRIPTION">DESCRIPTION</a>
+<ul>
+<li><a href="#h3-form_request_name">form_request_name</a></li>
+<li><a href="#h3-form_request_name_by_name">form_request_name_by_name</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>
diff --git a/doc/html/man/form_userptr.3x.html b/doc/html/man/form_userptr.3x.html
index 4675f5438d8e..91b07352ee49 100644
--- a/doc/html/man/form_userptr.3x.html
+++ b/doc/html/man/form_userptr.3x.html
@@ -28,7 +28,7 @@
* sale, use or other dealings in this Software without prior written *
* authorization. *
****************************************************************************
- * @Id: form_userptr.3x,v 1.16 2020/02/02 23:34:34 tom Exp @
+ * @Id: form_userptr.3x,v 1.19 2020/10/24 09:00:52 tom Exp @
-->
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN">
<HTML>
@@ -54,8 +54,9 @@
</PRE><H2><a name="h2-SYNOPSIS">SYNOPSIS</a></H2><PRE>
<STRONG>#include</STRONG> <STRONG>&lt;form.h&gt;</STRONG>
- int set_form_userptr(FORM *form, void *userptr);
- void* form_userptr(const FORM *form);
+
+ <STRONG>int</STRONG> <STRONG>set_form_userptr(FORM</STRONG> <STRONG>*</STRONG><EM>form</EM><STRONG>,</STRONG> <STRONG>void</STRONG> <STRONG>*</STRONG><EM>userptr</EM><STRONG>);</STRONG>
+ <STRONG>void*</STRONG> <STRONG>form_userptr(const</STRONG> <STRONG>FORM</STRONG> <STRONG>*</STRONG><EM>form</EM><STRONG>);</STRONG>
</PRE><H2><a name="h2-DESCRIPTION">DESCRIPTION</a></H2><PRE>
@@ -66,7 +67,7 @@
</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.
+ does not set <STRONG>errno</STRONG>.
The function <STRONG>set_form_userptr</STRONG> returns <STRONG>E_OK</STRONG> (success).
@@ -81,8 +82,8 @@
</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.
+ These routines emulate the System V forms library. They were not
+ supported 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.
diff --git a/doc/html/man/form_variables.3x.html b/doc/html/man/form_variables.3x.html
index f78a53e73e51..48a7d8716848 100644
--- a/doc/html/man/form_variables.3x.html
+++ b/doc/html/man/form_variables.3x.html
@@ -27,7 +27,7 @@
* sale, use or other dealings in this Software without prior written *
* authorization. *
****************************************************************************
- * @Id: form_variables.3x,v 1.6 2020/02/02 23:34:34 tom Exp @
+ * @Id: form_variables.3x,v 1.7 2020/12/12 14:45:16 tom Exp @
-->
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN">
<HTML>
@@ -65,8 +65,9 @@
</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.
+ can be created using the <STRONG><A HREF="form_fieldtype.3x.html">form_fieldtype(3x)</A></STRONG> functions. Each provides
+ functions for field- and character-validation, according to the given
+ datatype.
</PRE><H3><a name="h3-TYPE_ALNUM">TYPE_ALNUM</a></H3><PRE>
@@ -98,7 +99,7 @@
</PRE><H2><a name="h2-PORTABILITY">PORTABILITY</a></H2><PRE>
- The <STRONG>TYPE_IPV4</STRONG> variable is an extension not provided by older implemen-
+ The <STRONG>TYPE_IPV4</STRONG> variable is an extension not provided by older implemen-
tations of the form library.
diff --git a/doc/html/man/form_win.3x.html b/doc/html/man/form_win.3x.html
index 5295fca2f42e..9b18e3d2fbd9 100644
--- a/doc/html/man/form_win.3x.html
+++ b/doc/html/man/form_win.3x.html
@@ -28,7 +28,7 @@
* sale, use or other dealings in this Software without prior written *
* authorization. *
****************************************************************************
- * @Id: form_win.3x,v 1.16 2020/02/02 23:34:34 tom Exp @
+ * @Id: form_win.3x,v 1.18 2020/10/18 00:00:32 tom Exp @
-->
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN">
<HTML>
@@ -53,29 +53,32 @@
</PRE><H2><a name="h2-SYNOPSIS">SYNOPSIS</a></H2><PRE>
<STRONG>#include</STRONG> <STRONG>&lt;form.h&gt;</STRONG>
- int set_form_win(FORM *form, WINDOW *win);
- WINDOW *form_win(const FORM *form);
- int set_form_sub(FORM *form, WINDOW *sub);
- WINDOW *form_sub(const FORM *form);
- int scale_form(const FORM *form, int *rows, int *columns);
+
+ <STRONG>int</STRONG> <STRONG>set_form_win(FORM</STRONG> <STRONG>*</STRONG><EM>form</EM><STRONG>,</STRONG> <STRONG>WINDOW</STRONG> <STRONG>*</STRONG><EM>win</EM><STRONG>);</STRONG>
+ <STRONG>WINDOW</STRONG> <STRONG>*form_win(const</STRONG> <STRONG>FORM</STRONG> <STRONG>*</STRONG><EM>form</EM><STRONG>);</STRONG>
+
+ <STRONG>int</STRONG> <STRONG>set_form_sub(FORM</STRONG> <STRONG>*</STRONG><EM>form</EM><STRONG>,</STRONG> <STRONG>WINDOW</STRONG> <STRONG>*</STRONG><EM>sub</EM><STRONG>);</STRONG>
+ <STRONG>WINDOW</STRONG> <STRONG>*form_sub(const</STRONG> <STRONG>FORM</STRONG> <STRONG>*</STRONG><EM>form</EM><STRONG>);</STRONG>
+
+ <STRONG>int</STRONG> <STRONG>scale_form(const</STRONG> <STRONG>FORM</STRONG> <STRONG>*</STRONG><EM>form</EM><STRONG>,</STRONG> <STRONG>int</STRONG> <STRONG>*</STRONG><EM>rows</EM><STRONG>,</STRONG> <STRONG>int</STRONG> <STRONG>*</STRONG><EM>columns</EM><STRONG>);</STRONG>
</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.
+ displays any title and border associated with the window; the form
+ subwindow displays the items of the form that are currently available
+ for selection.
- 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.
+ 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.
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 sub-
- window of <EM>form</EM>.
+ The function <STRONG>scale_form</STRONG> returns the minimum size required for the
+ subwindow of <EM>form</EM>.
</PRE><H2><a name="h2-RETURN-VALUE">RETURN VALUE</a></H2><PRE>
@@ -107,8 +110,8 @@
</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.
+ These routines emulate the System V forms library. They were not
+ supported on Version 7 or BSD versions.
</PRE><H2><a name="h2-AUTHORS">AUTHORS</a></H2><PRE>
diff --git a/doc/html/man/infocmp.1m.html b/doc/html/man/infocmp.1m.html
index ec07820b2116..c0ab7629e1b7 100644
--- a/doc/html/man/infocmp.1m.html
+++ b/doc/html/man/infocmp.1m.html
@@ -28,7 +28,7 @@
* sale, use or other dealings in this Software without prior written *
* authorization. *
****************************************************************************
- * @Id: infocmp.1m,v 1.76 2020/02/02 23:34:34 tom Exp @
+ * @Id: infocmp.1m,v 1.77 2020/07/25 20:37:39 tom Exp @
-->
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN">
<HTML>
@@ -59,9 +59,9 @@
</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
+ <STRONG>infocmp</STRONG> can be used to compare a binary <STRONG>terminfo</STRONG> entry with other
+ terminfo 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.
@@ -77,8 +77,8 @@
<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:
+ the terminals, the value returned depends on the type of the
+ capability:
<STRONG>o</STRONG> <STRONG>F</STRONG> for missing boolean variables
@@ -96,12 +96,12 @@
<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.
+ list shows "=" after the capability name, followed by the
+ capability 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.
+ The <STRONG>-u</STRONG> option provides a related output, showing the first
+ terminal 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
@@ -116,8 +116,8 @@
</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.
+ The <STRONG>-I</STRONG>, <STRONG>-L</STRONG>, and <STRONG>-C</STRONG> options will produce a source listing for each
+ terminal named.
<STRONG>-I</STRONG> use the <STRONG>terminfo</STRONG> names
<STRONG>-L</STRONG> use the long C variable name listed in &lt;<STRONG>term.h</STRONG>&gt;
@@ -143,27 +143,27 @@
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
+ placed at the beginning of the string where <STRONG>termcap</STRONG> expects it.
+ Mandatory 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.
+ 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 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
+ 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. Mandatory 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:
@@ -179,10 +179,10 @@
</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
+ 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 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
@@ -190,48 +190,47 @@
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
+ A capability will be 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 will be 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
+ terminfo compiler <STRONG>tic</STRONG> does a left-to-right scan of the capabilities,
+ specifying 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
+ 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
+ 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 specifying extra <STRONG>use=</STRONG> fields that
+ 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, <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).
+ Like other <STRONG>ncurses</STRONG> utilities, <STRONG>infocmp</STRONG> looks for the terminal
+ descriptions 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
+ 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 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
+ Using these options, it is possible to compare descriptions for a
+ terminal 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.
@@ -239,27 +238,28 @@
<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
+ 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
+ <STRONG>-a</STRONG> tells <STRONG>infocmp</STRONG> to retain commented-out capabilities rather than
+ discarding them. Capabilities are commented by prefixing them
with a period.
<STRONG>-D</STRONG> tells <STRONG>infocmp</STRONG> to print the database locations that it knows about,
and exit.
- <STRONG>-E</STRONG> Dump the capabilities of the given terminal as tables, needed in
- the C initializer for a TERMTYPE structure (the terminal capabil-
- ity structure in the <STRONG>&lt;term.h&gt;</STRONG>). This option is useful for prepar-
- ing versions of the curses library hardwired for a given terminal
- type. The tables are all declared static, and are named according
- to the type and the name of the corresponding terminal entry.
+ <STRONG>-E</STRONG> Dump the capabilities of the given terminal as tables, needed in
+ the C initializer for a TERMTYPE structure (the terminal
+ capability structure in the <STRONG>&lt;term.h&gt;</STRONG>). This option is useful for
+ preparing 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.
+ arrays of terminal capabilities 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
@@ -279,16 +279,16 @@
<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 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, 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>).
+ <STRONG>rs3</STRONG>), strings in the entry, as well as those used for
+ starting/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
@@ -355,9 +355,9 @@
<STRONG>-p</STRONG> Ignore padding specifications when comparing strings.
- <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:
+ <STRONG>-Q</STRONG> <EM>n</EM> Rather than show source in terminfo (text) format, print the
+ compiled (binary) format in hexadecimal or base64 form, depending
+ on the option's value:
1 hexadecimal
@@ -376,8 +376,8 @@
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> However, show differences between absent and cancelled
+ capabilities.
<STRONG>o</STRONG> Omit the "Reconstructed from" comment for source listings.
@@ -391,20 +391,20 @@
<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> You can also choose the subset "BSD" which selects only
+ capabilities 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.
+ subset, i.e., all capabilities are used. The <STRONG>-I</STRONG> option
+ likewise 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:
- <STRONG>d</STRONG> leave fields in the order that they are stored in the <EM>ter-</EM>
- <EM>minfo</EM> database.
+ <STRONG>d</STRONG> leave fields in the order that they are stored in the
+ <EM>terminfo</EM> database.
<STRONG>i</STRONG> sort by <EM>terminfo</EM> name.
@@ -420,17 +420,17 @@
<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).
+ 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>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.
+ 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.
@@ -459,22 +459,22 @@
</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
+ Although System V Release 2 provided a terminfo library, it had no
+ documented tool for decompiling the terminal descriptions. Tony Hansen
(AT&amp;T) wrote the first <STRONG>infocmp</STRONG> in early 1984, for System V Release 3.
- Eric Raymond used the AT&amp;T documentation in 1995 to provide an equiva-
- lent <STRONG>infocmp</STRONG> for ncurses. In addition, he added a few new features
- such as:
+ Eric Raymond used the AT&amp;T documentation in 1995 to provide an
+ equivalent <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
+ <STRONG>o</STRONG> the <STRONG>-e</STRONG> option, to support <EM>fallback</EM> (compiled-in) terminal
+ descriptions
<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.
+ and the <STRONG>-E</STRONG> option to support fallback entries with user-defined
+ capabilities.
For a complete list, see the <EM>EXTENSIONS</EM> section.
@@ -493,13 +493,14 @@
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.
+ SVr4 infocmp does not distinguish between absent and cancelled
+ capabilities. 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
+ 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>.
@@ -508,12 +509,12 @@
</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>.
+ <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>. <STRONG><A HREF="user_caps.5.html">user_caps(5)</A></STRONG>.
https://invisible-island.net/ncurses/tctest.html
- This describes <STRONG>ncurses</STRONG> version 6.2 (patch 20200215).
+ This describes <STRONG>ncurses</STRONG> version 6.2 (patch 20210109).
</PRE><H2><a name="h2-AUTHOR">AUTHOR</a></H2><PRE>
diff --git a/doc/html/man/infotocap.1m.html b/doc/html/man/infotocap.1m.html
index 02a383c29497..2af6ac13821b 100644
--- a/doc/html/man/infotocap.1m.html
+++ b/doc/html/man/infotocap.1m.html
@@ -28,7 +28,7 @@
* sale, use or other dealings in this Software without prior written *
* authorization. *
****************************************************************************
- * @Id: infotocap.1m,v 1.16 2020/02/02 23:34:34 tom Exp @
+ * @Id: infotocap.1m,v 1.17 2020/12/19 21:49:52 tom Exp @
-->
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN">
<HTML>
@@ -89,9 +89,9 @@
</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>
+ <STRONG><A HREF="infocmp.1m.html">infocmp(1m)</A></STRONG>, <STRONG><A HREF="tic.1m.html">tic(1m)</A></STRONG>, <STRONG><A HREF="ncurses.3x.html">curses(3x)</A></STRONG>, <STRONG><A HREF="terminfo.5.html">terminfo(5)</A></STRONG>
- This describes <STRONG>ncurses</STRONG> version 6.2 (patch 20200215).
+ This describes <STRONG>ncurses</STRONG> version 6.2 (patch 20210109).
</PRE><H2><a name="h2-AUTHOR">AUTHOR</a></H2><PRE>
diff --git a/doc/html/man/key_defined.3x.html b/doc/html/man/key_defined.3x.html
index 073b78176e1f..87278cacefce 100644
--- a/doc/html/man/key_defined.3x.html
+++ b/doc/html/man/key_defined.3x.html
@@ -28,7 +28,7 @@
* authorization. *
****************************************************************************
* Author: Thomas E. Dickey 2003
- * @Id: key_defined.3x,v 1.9 2020/02/02 23:34:34 tom Exp @
+ * @Id: key_defined.3x,v 1.10 2020/10/17 23:39:03 tom Exp @
-->
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN">
<HTML>
@@ -54,7 +54,7 @@
</PRE><H2><a name="h2-SYNOPSIS">SYNOPSIS</a></H2><PRE>
<STRONG>#include</STRONG> <STRONG>&lt;curses.h&gt;</STRONG>
- <STRONG>int</STRONG> <STRONG>key_defined(const</STRONG> <STRONG>char</STRONG> <STRONG>*definition);</STRONG>
+ <STRONG>int</STRONG> <STRONG>key_defined(const</STRONG> <STRONG>char</STRONG> <STRONG>*</STRONG><EM>definition</EM><STRONG>);</STRONG>
</PRE><H2><a name="h2-DESCRIPTION">DESCRIPTION</a></H2><PRE>
diff --git a/doc/html/man/keybound.3x.html b/doc/html/man/keybound.3x.html
index 605fd4322ab5..551376227b24 100644
--- a/doc/html/man/keybound.3x.html
+++ b/doc/html/man/keybound.3x.html
@@ -28,7 +28,7 @@
* authorization. *
****************************************************************************
* Author: Thomas E. Dickey 1999
- * @Id: keybound.3x,v 1.10 2020/02/02 23:34:34 tom Exp @
+ * @Id: keybound.3x,v 1.11 2020/10/17 23:39:30 tom Exp @
-->
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN">
<HTML>
@@ -54,7 +54,7 @@
</PRE><H2><a name="h2-SYNOPSIS">SYNOPSIS</a></H2><PRE>
<STRONG>#include</STRONG> <STRONG>&lt;curses.h&gt;</STRONG>
- <STRONG>char</STRONG> <STRONG>*</STRONG> <STRONG>keybound(int</STRONG> <STRONG>keycode,</STRONG> <STRONG>int</STRONG> <STRONG>count);</STRONG>
+ <STRONG>char</STRONG> <STRONG>*</STRONG> <STRONG>keybound(int</STRONG> <EM>keycode</EM><STRONG>,</STRONG> <STRONG>int</STRONG> <EM>count);</EM>
</PRE><H2><a name="h2-DESCRIPTION">DESCRIPTION</a></H2><PRE>
@@ -67,8 +67,8 @@
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.
+ multiple definitions, counting from zero. When successful, the
+ function returns a string which must be freed by the caller.
</PRE><H2><a name="h2-PORTABILITY">PORTABILITY</a></H2><PRE>
diff --git a/doc/html/man/keyok.3x.html b/doc/html/man/keyok.3x.html
index 40281f94c3eb..3d255b476438 100644
--- a/doc/html/man/keyok.3x.html
+++ b/doc/html/man/keyok.3x.html
@@ -28,7 +28,7 @@
* authorization. *
****************************************************************************
* Author: Thomas E. Dickey 1997
- * @Id: keyok.3x,v 1.14 2020/02/02 23:34:34 tom Exp @
+ * @Id: keyok.3x,v 1.15 2020/10/17 23:39:59 tom Exp @
-->
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN">
<HTML>
@@ -54,7 +54,7 @@
</PRE><H2><a name="h2-SYNOPSIS">SYNOPSIS</a></H2><PRE>
<STRONG>#include</STRONG> <STRONG>&lt;curses.h&gt;</STRONG>
- <STRONG>int</STRONG> <STRONG>keyok(int</STRONG> <STRONG>keycode,</STRONG> <STRONG>bool</STRONG> <STRONG>enable);</STRONG>
+ <STRONG>int</STRONG> <STRONG>keyok(int</STRONG> <EM>keycode</EM><STRONG>,</STRONG> <STRONG>bool</STRONG> <EM>enable</EM><STRONG>);</STRONG>
</PRE><H2><a name="h2-DESCRIPTION">DESCRIPTION</a></H2><PRE>
diff --git a/doc/html/man/legacy_coding.3x.html b/doc/html/man/legacy_coding.3x.html
index c5745fdee401..a7f3026ae29f 100644
--- a/doc/html/man/legacy_coding.3x.html
+++ b/doc/html/man/legacy_coding.3x.html
@@ -28,7 +28,7 @@
* authorization. *
****************************************************************************
* Author: Thomas E. Dickey
- * @Id: legacy_coding.3x,v 1.7 2020/02/02 23:34:34 tom Exp @
+ * @Id: legacy_coding.3x,v 1.8 2020/10/17 23:40:23 tom Exp @
-->
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN">
<HTML>
@@ -54,7 +54,7 @@
</PRE><H2><a name="h2-SYNOPSIS">SYNOPSIS</a></H2><PRE>
<STRONG>#include</STRONG> <STRONG>&lt;curses.h&gt;</STRONG>
- <STRONG>int</STRONG> <STRONG>use_legacy_coding(int</STRONG> <STRONG>level);</STRONG>
+ <STRONG>int</STRONG> <STRONG>use_legacy_coding(int</STRONG> <EM>level</EM><STRONG>);</STRONG>
</PRE><H2><a name="h2-DESCRIPTION">DESCRIPTION</a></H2><PRE>
@@ -66,8 +66,8 @@
The <EM>level</EM> parameter controls the result:
- 0 the library functions normally, rendering nonprinting char-
- acters as described in <STRONG>unctrl</STRONG>.
+ 0 the library functions normally, rendering nonprinting
+ characters as described in <STRONG>unctrl</STRONG>.
1 the library ignores <STRONG>isprintf</STRONG> for codes in the range
160-255.
diff --git a/doc/html/man/menu.3x.html b/doc/html/man/menu.3x.html
index 9f50200de7ad..6961b2b19314 100644
--- a/doc/html/man/menu.3x.html
+++ b/doc/html/man/menu.3x.html
@@ -59,24 +59,25 @@
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.
+ 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 func-
- tions. To use the <STRONG>menu</STRONG> library, link with the options <STRONG>-lmenu</STRONG> <STRONG>-lcurses</STRONG>.
+ 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>.
</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.
+ 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.
</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
+ 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
@@ -111,8 +112,8 @@
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_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>
@@ -149,7 +150,7 @@
</PRE><H2><a name="h2-RETURN-VALUE">RETURN VALUE</a></H2><PRE>
- Routines that return pointers return <STRONG>NULL</STRONG> on error. Routines that
+ 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.
@@ -189,19 +190,19 @@
</PRE><H2><a name="h2-NOTES">NOTES</a></H2><PRE>
- The header file <STRONG>&lt;menu.h&gt;</STRONG> automatically includes the header files
+ The header file <STRONG>&lt;menu.h&gt;</STRONG> automatically includes the header files
<STRONG>&lt;curses.h&gt;</STRONG> and <STRONG>&lt;eti.h&gt;</STRONG>.
In your library list, libmenu.a should be before libncurses.a; that is,
- you should say "-lmenu -lncurses", not the other way around (which
+ you should say "-lmenu -lncurses", not the other way around (which
would give a link-error when using static libraries).
</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.
+ These routines emulate the System V menu library. They were not
+ supported on Version 7 or BSD versions.
- The menu facility was documented in SVr4.2 in <EM>Character</EM> <EM>User</EM> <EM>Interface</EM>
+ 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>.
It is not part of X/Open Curses.
@@ -214,15 +215,15 @@
</PRE><H2><a name="h2-AUTHORS">AUTHORS</a></H2><PRE>
- Juergen Pfeifer. Manual pages and adaptation for ncurses by Eric S.
+ 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
+ <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.2 (patch 20200215).
+ This describes <STRONG>ncurses</STRONG> version 6.2 (patch 20210109).
diff --git a/doc/html/man/menu_attributes.3x.html b/doc/html/man/menu_attributes.3x.html
index 0d1f876136e1..ec9db2ed2e32 100644
--- a/doc/html/man/menu_attributes.3x.html
+++ b/doc/html/man/menu_attributes.3x.html
@@ -28,7 +28,7 @@
* sale, use or other dealings in this Software without prior written *
* authorization. *
****************************************************************************
- * @Id: menu_attributes.3x,v 1.17 2020/02/02 23:34:34 tom Exp @
+ * @Id: menu_attributes.3x,v 1.19 2020/10/17 23:58:58 tom Exp @
-->
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN">
<HTML>
@@ -49,20 +49,24 @@
</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
+ <STRONG>set_menu_fore</STRONG>, <STRONG>set_menu_grey</STRONG>, <STRONG>set_menu_pad</STRONG> - color and attribute
+ control for menus
</PRE><H2><a name="h2-SYNOPSIS">SYNOPSIS</a></H2><PRE>
<STRONG>#include</STRONG> <STRONG>&lt;menu.h&gt;</STRONG>
- int set_menu_fore(MENU *menu, chtype attr);
- chtype menu_fore(const MENU *menu);
- int set_menu_back(MENU *menu, chtype attr);
- chtype menu_back(const MENU *menu);
- int set_menu_grey(MENU *menu, chtype attr);
- chtype menu_grey(const MENU *menu);
- int set_menu_pad(MENU *menu, int pad);
- int menu_pad(const MENU *menu);
+
+ <STRONG>int</STRONG> <STRONG>set_menu_fore(MENU</STRONG> <STRONG>*</STRONG><EM>menu</EM><STRONG>,</STRONG> <STRONG>chtype</STRONG> <EM>attr</EM><STRONG>);</STRONG>
+ <STRONG>chtype</STRONG> <STRONG>menu_fore(const</STRONG> <STRONG>MENU</STRONG> <STRONG>*</STRONG><EM>menu</EM><STRONG>);</STRONG>
+
+ <STRONG>int</STRONG> <STRONG>set_menu_back(MENU</STRONG> <STRONG>*</STRONG><EM>menu</EM><STRONG>,</STRONG> <STRONG>chtype</STRONG> <EM>attr</EM><STRONG>);</STRONG>
+ <STRONG>chtype</STRONG> <STRONG>menu_back(const</STRONG> <STRONG>MENU</STRONG> <STRONG>*</STRONG><EM>menu</EM><STRONG>);</STRONG>
+
+ <STRONG>int</STRONG> <STRONG>set_menu_grey(MENU</STRONG> <STRONG>*</STRONG><EM>menu</EM><STRONG>,</STRONG> <STRONG>chtype</STRONG> <EM>attr</EM><STRONG>);</STRONG>
+ <STRONG>chtype</STRONG> <STRONG>menu_grey(const</STRONG> <STRONG>MENU</STRONG> <STRONG>*</STRONG><EM>menu</EM><STRONG>);</STRONG>
+
+ <STRONG>int</STRONG> <STRONG>set_menu_pad(MENU</STRONG> <STRONG>*</STRONG><EM>menu</EM><STRONG>,</STRONG> <STRONG>int</STRONG> <EM>pad</EM><STRONG>);</STRONG>
+ <STRONG>int</STRONG> <STRONG>menu_pad(const</STRONG> <STRONG>MENU</STRONG> <STRONG>*</STRONG><EM>menu</EM><STRONG>);</STRONG>
</PRE><H2><a name="h2-DESCRIPTION">DESCRIPTION</a></H2><PRE>
@@ -108,8 +112,8 @@
</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.
+ These routines emulate the System V menu library. They were not
+ supported on Version 7 or BSD versions.
</PRE><H2><a name="h2-AUTHORS">AUTHORS</a></H2><PRE>
diff --git a/doc/html/man/menu_cursor.3x.html b/doc/html/man/menu_cursor.3x.html
index 86aff55fb661..0957a9ad5666 100644
--- a/doc/html/man/menu_cursor.3x.html
+++ b/doc/html/man/menu_cursor.3x.html
@@ -28,7 +28,7 @@
* sale, use or other dealings in this Software without prior written *
* authorization. *
****************************************************************************
- * @Id: menu_cursor.3x,v 1.12 2020/02/02 23:34:34 tom Exp @
+ * @Id: menu_cursor.3x,v 1.13 2020/10/17 23:41:31 tom Exp @
-->
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN">
<HTML>
@@ -53,14 +53,15 @@
</PRE><H2><a name="h2-SYNOPSIS">SYNOPSIS</a></H2><PRE>
<STRONG>#include</STRONG> <STRONG>&lt;menu.h&gt;</STRONG>
- int pos_menu_cursor(const MENU *menu);
+
+ <STRONG>int</STRONG> <STRONG>pos_menu_cursor(const</STRONG> <STRONG>MENU</STRONG> <STRONG>*</STRONG><EM>menu</EM><STRONG>);</STRONG>
</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.
+ 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-RETURN-VALUE">RETURN VALUE</a></H2><PRE>
@@ -88,8 +89,8 @@
</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.
+ These routines emulate the System V menu library. They were not
+ supported on Version 7 or BSD versions.
</PRE><H2><a name="h2-AUTHORS">AUTHORS</a></H2><PRE>
diff --git a/doc/html/man/menu_driver.3x.html b/doc/html/man/menu_driver.3x.html
index bf5da3e832ca..8a3b348260cc 100644
--- a/doc/html/man/menu_driver.3x.html
+++ b/doc/html/man/menu_driver.3x.html
@@ -27,7 +27,7 @@
* sale, use or other dealings in this Software without prior written *
* authorization. *
****************************************************************************
- * @Id: menu_driver.3x,v 1.26 2020/02/02 23:34:34 tom Exp @
+ * @Id: menu_driver.3x,v 1.28 2020/12/19 21:33:37 tom Exp @
-->
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN">
<HTML>
@@ -52,7 +52,8 @@
</PRE><H2><a name="h2-SYNOPSIS">SYNOPSIS</a></H2><PRE>
<STRONG>#include</STRONG> <STRONG>&lt;menu.h&gt;</STRONG>
- int menu_driver(MENU *menu, int c);
+
+ <STRONG>int</STRONG> <STRONG>menu_driver(MENU</STRONG> <STRONG>*</STRONG><EM>menu</EM><STRONG>,</STRONG> <STRONG>int</STRONG> <EM>c</EM><STRONG>);</STRONG>
</PRE><H2><a name="h2-DESCRIPTION">DESCRIPTION</a></H2><PRE>
@@ -64,8 +65,8 @@
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 characters (which
- must be positive, less than 256) are checked according to the pro-
- gram's locale settings.
+ 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.
@@ -173,10 +174,10 @@
</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.
+ 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><H2><a name="h2-RETURN-VALUE">RETURN VALUE</a></H2><PRE>
@@ -207,7 +208,7 @@
</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>.
+ <STRONG><A HREF="ncurses.3x.html">curses(3x)</A></STRONG>, <STRONG><A HREF="curs_getch.3x.html">getch(3x)</A></STRONG>, <STRONG><A HREF="menu.3x.html">menu(3x)</A></STRONG>.
</PRE><H2><a name="h2-NOTES">NOTES</a></H2><PRE>
@@ -216,9 +217,9 @@
</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.
+ These routines emulate the System V menu library. They were not
+ supported on Version 7 or BSD versions. The support for mouse events
+ is ncurses specific.
</PRE><H2><a name="h2-AUTHORS">AUTHORS</a></H2><PRE>
diff --git a/doc/html/man/menu_format.3x.html b/doc/html/man/menu_format.3x.html
index 44e2125d043e..bafbee3dd46a 100644
--- a/doc/html/man/menu_format.3x.html
+++ b/doc/html/man/menu_format.3x.html
@@ -28,7 +28,7 @@
* sale, use or other dealings in this Software without prior written *
* authorization. *
****************************************************************************
- * @Id: menu_format.3x,v 1.17 2020/02/02 23:34:34 tom Exp @
+ * @Id: menu_format.3x,v 1.18 2020/10/17 23:43:11 tom Exp @
-->
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN">
<HTML>
@@ -53,16 +53,17 @@
</PRE><H2><a name="h2-SYNOPSIS">SYNOPSIS</a></H2><PRE>
<STRONG>#include</STRONG> <STRONG>&lt;menu.h&gt;</STRONG>
- int set_menu_format(MENU *menu, int rows, int cols);
- void menu_format(const MENU *menu, int *rows, int *cols);
+
+ <STRONG>int</STRONG> <STRONG>set_menu_format(MENU</STRONG> <STRONG>*</STRONG><EM>menu</EM><STRONG>,</STRONG> <STRONG>int</STRONG> <EM>rows</EM><STRONG>,</STRONG> <STRONG>int</STRONG> <EM>cols</EM><STRONG>);</STRONG>
+ <STRONG>void</STRONG> <STRONG>menu_format(const</STRONG> <STRONG>MENU</STRONG> <STRONG>*</STRONG><EM>menu</EM><STRONG>,</STRONG> <STRONG>int</STRONG> <STRONG>*</STRONG><EM>rows</EM><STRONG>,</STRONG> <STRONG>int</STRONG> <STRONG>*</STRONG><EM>cols</EM><STRONG>);</STRONG>
</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.
+ 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.
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
@@ -101,8 +102,8 @@
</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.
+ These routines emulate the System V menu library. They were not
+ supported on Version 7 or BSD versions.
</PRE><H2><a name="h2-AUTHORS">AUTHORS</a></H2><PRE>
diff --git a/doc/html/man/menu_hook.3x.html b/doc/html/man/menu_hook.3x.html
index 17b298f67f5f..3ece961190f2 100644
--- a/doc/html/man/menu_hook.3x.html
+++ b/doc/html/man/menu_hook.3x.html
@@ -28,7 +28,7 @@
* sale, use or other dealings in this Software without prior written *
* authorization. *
****************************************************************************
- * @Id: menu_hook.3x,v 1.14 2020/02/02 23:34:34 tom Exp @
+ * @Id: menu_hook.3x,v 1.15 2020/10/17 23:44:57 tom Exp @
-->
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN">
<HTML>
@@ -53,14 +53,18 @@
</PRE><H2><a name="h2-SYNOPSIS">SYNOPSIS</a></H2><PRE>
<STRONG>#include</STRONG> <STRONG>&lt;menu.h&gt;</STRONG>
- int set_item_init(MENU *menu, Menu_Hook func);
- Menu_Hook item_init(const MENU *menu);
- int set_item_term(MENU *menu, Menu_Hook func);
- Menu_Hook item_term(const MENU *menu);
- int set_menu_init(MENU *menu, Menu_Hook func);
- Menu_Hook menu_init(const MENU *menu);
- int set_menu_term(MENU *menu, Menu_Hook func);
- Menu_Hook menu_term(const MENU *menu);
+
+ <STRONG>int</STRONG> <STRONG>set_item_init(MENU</STRONG> <STRONG>*</STRONG><EM>menu</EM><STRONG>,</STRONG> <STRONG>Menu_Hook</STRONG> <EM>func);</EM>
+ <STRONG>Menu_Hook</STRONG> <STRONG>item_init(const</STRONG> <STRONG>MENU</STRONG> <STRONG>*</STRONG><EM>menu);</EM>
+
+ <STRONG>int</STRONG> <STRONG>set_item_term(MENU</STRONG> <STRONG>*</STRONG><EM>menu</EM><STRONG>,</STRONG> <STRONG>Menu_Hook</STRONG> <EM>func);</EM>
+ <STRONG>Menu_Hook</STRONG> <STRONG>item_term(const</STRONG> <STRONG>MENU</STRONG> <STRONG>*</STRONG><EM>menu);</EM>
+
+ <STRONG>int</STRONG> <STRONG>set_menu_init(MENU</STRONG> <STRONG>*</STRONG><EM>menu</EM><STRONG>,</STRONG> <STRONG>Menu_Hook</STRONG> <EM>func);</EM>
+ <STRONG>Menu_Hook</STRONG> <STRONG>menu_init(const</STRONG> <STRONG>MENU</STRONG> <STRONG>*</STRONG><EM>menu);</EM>
+
+ <STRONG>int</STRONG> <STRONG>set_menu_term(MENU</STRONG> <STRONG>*</STRONG><EM>menu</EM><STRONG>,</STRONG> <STRONG>Menu_Hook</STRONG> <EM>func);</EM>
+ <STRONG>Menu_Hook</STRONG> <STRONG>menu_term(const</STRONG> <STRONG>MENU</STRONG> <STRONG>*</STRONG><EM>menu);</EM>
</PRE><H2><a name="h2-DESCRIPTION">DESCRIPTION</a></H2><PRE>
@@ -109,8 +113,8 @@
</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.
+ These routines emulate the System V menu library. They were not
+ supported on Version 7 or BSD versions.
</PRE><H2><a name="h2-AUTHORS">AUTHORS</a></H2><PRE>
diff --git a/doc/html/man/menu_items.3x.html b/doc/html/man/menu_items.3x.html
index e5cdf9cf5ee5..1b010521d094 100644
--- a/doc/html/man/menu_items.3x.html
+++ b/doc/html/man/menu_items.3x.html
@@ -28,7 +28,7 @@
* sale, use or other dealings in this Software without prior written *
* authorization. *
****************************************************************************
- * @Id: menu_items.3x,v 1.14 2020/02/02 23:34:34 tom Exp @
+ * @Id: menu_items.3x,v 1.17 2020/10/24 09:00:06 tom Exp @
-->
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN">
<HTML>
@@ -54,9 +54,10 @@
</PRE><H2><a name="h2-SYNOPSIS">SYNOPSIS</a></H2><PRE>
<STRONG>#include</STRONG> <STRONG>&lt;menu.h&gt;</STRONG>
- int set_menu_items(MENU *menu, ITEM **items);
- ITEM **menu_items(const MENU *menu);
- int item_count(const MENU *menu);
+
+ <STRONG>int</STRONG> <STRONG>set_menu_items(MENU</STRONG> <STRONG>*</STRONG><EM>menu</EM><STRONG>,</STRONG> <STRONG>ITEM</STRONG> <STRONG>**</STRONG><EM>items</EM><STRONG>);</STRONG>
+ <STRONG>ITEM</STRONG> <STRONG>**menu_items(const</STRONG> <STRONG>MENU</STRONG> <STRONG>*</STRONG><EM>menu</EM><STRONG>);</STRONG>
+ <STRONG>int</STRONG> <STRONG>item_count(const</STRONG> <STRONG>MENU</STRONG> <STRONG>*</STRONG><EM>menu</EM><STRONG>);</STRONG>
</PRE><H2><a name="h2-DESCRIPTION">DESCRIPTION</a></H2><PRE>
@@ -70,7 +71,7 @@
</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.
+ not set <STRONG>errno</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>.
@@ -103,8 +104,8 @@
</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.
+ These routines emulate the System V menu library. They were not
+ supported 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>).
diff --git a/doc/html/man/menu_mark.3x.html b/doc/html/man/menu_mark.3x.html
index d023db27d357..bc9b0df02d17 100644
--- a/doc/html/man/menu_mark.3x.html
+++ b/doc/html/man/menu_mark.3x.html
@@ -28,7 +28,7 @@
* sale, use or other dealings in this Software without prior written *
* authorization. *
****************************************************************************
- * @Id: menu_mark.3x,v 1.15 2020/02/02 23:34:34 tom Exp @
+ * @Id: menu_mark.3x,v 1.18 2020/10/24 08:59:04 tom Exp @
-->
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN">
<HTML>
@@ -53,8 +53,9 @@
</PRE><H2><a name="h2-SYNOPSIS">SYNOPSIS</a></H2><PRE>
<STRONG>#include</STRONG> <STRONG>&lt;menu.h&gt;</STRONG>
- int set_menu_mark(MENU *menu, const char *mark);
- const char *menu_mark(const MENU *menu);
+
+ <STRONG>int</STRONG> <STRONG>set_menu_mark(MENU</STRONG> <STRONG>*</STRONG><EM>menu</EM><STRONG>,</STRONG> <STRONG>const</STRONG> <STRONG>char</STRONG> <STRONG>*</STRONG><EM>mark</EM><STRONG>);</STRONG>
+ <STRONG>const</STRONG> <STRONG>char</STRONG> <STRONG>*menu_mark(const</STRONG> <STRONG>MENU</STRONG> <STRONG>*</STRONG><EM>menu</EM><STRONG>);</STRONG>
</PRE><H2><a name="h2-DESCRIPTION">DESCRIPTION</a></H2><PRE>
@@ -76,7 +77,7 @@
</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.
+ not set <STRONG>errno</STRONG>.
The function <STRONG>set_menu_mark</STRONG> may return the following error codes:
@@ -99,8 +100,8 @@
</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.
+ These routines emulate the System V menu library. They were not
+ supported on Version 7 or BSD versions.
</PRE><H2><a name="h2-AUTHORS">AUTHORS</a></H2><PRE>
diff --git a/doc/html/man/menu_new.3x.html b/doc/html/man/menu_new.3x.html
index 5838d7f0c39c..165764abb672 100644
--- a/doc/html/man/menu_new.3x.html
+++ b/doc/html/man/menu_new.3x.html
@@ -28,7 +28,7 @@
* sale, use or other dealings in this Software without prior written *
* authorization. *
****************************************************************************
- * @Id: menu_new.3x,v 1.15 2020/02/02 23:34:34 tom Exp @
+ * @Id: menu_new.3x,v 1.18 2020/10/24 08:57:51 tom Exp @
-->
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN">
<HTML>
@@ -53,8 +53,9 @@
</PRE><H2><a name="h2-SYNOPSIS">SYNOPSIS</a></H2><PRE>
<STRONG>#include</STRONG> <STRONG>&lt;menu.h&gt;</STRONG>
- MENU *new_menu(ITEM **items);
- int free_menu(MENU *menu);
+
+ <STRONG>MENU</STRONG> <STRONG>*new_menu(ITEM</STRONG> <STRONG>**</STRONG><EM>items</EM><STRONG>);</STRONG>
+ <STRONG>int</STRONG> <STRONG>free_menu(MENU</STRONG> <STRONG>*</STRONG><EM>menu</EM><STRONG>);</STRONG>
</PRE><H2><a name="h2-DESCRIPTION">DESCRIPTION</a></H2><PRE>
@@ -66,7 +67,7 @@
</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
+ The function <STRONG>new_menu</STRONG> returns <STRONG>NULL</STRONG> on error. It sets <STRONG>errno</STRONG> according
to the function's failure:
<STRONG>E_NOT_CONNECTED</STRONG>
@@ -99,8 +100,8 @@
</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.
+ These routines emulate the System V menu library. They were not
+ supported on Version 7 or BSD versions.
</PRE><H2><a name="h2-AUTHORS">AUTHORS</a></H2><PRE>
diff --git a/doc/html/man/menu_opts.3x.html b/doc/html/man/menu_opts.3x.html
index 5b9ee06a75bc..125d70fd3d0b 100644
--- a/doc/html/man/menu_opts.3x.html
+++ b/doc/html/man/menu_opts.3x.html
@@ -28,7 +28,7 @@
* sale, use or other dealings in this Software without prior written *
* authorization. *
****************************************************************************
- * @Id: menu_opts.3x,v 1.17 2020/02/02 23:34:34 tom Exp @
+ * @Id: menu_opts.3x,v 1.18 2020/10/17 23:46:35 tom Exp @
-->
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN">
<HTML>
@@ -54,10 +54,12 @@
</PRE><H2><a name="h2-SYNOPSIS">SYNOPSIS</a></H2><PRE>
<STRONG>#include</STRONG> <STRONG>&lt;menu.h&gt;</STRONG>
- int set_menu_opts(MENU *menu, Menu_Options opts);
- int menu_opts_on(MENU *menu, Menu_Options opts);
- int menu_opts_off(MENU *menu, Menu_Options opts);
- Menu_Options menu_opts(const MENU *menu);
+
+ <STRONG>int</STRONG> <STRONG>set_menu_opts(MENU</STRONG> <STRONG>*</STRONG><EM>menu</EM><STRONG>,</STRONG> <STRONG>Menu_Options</STRONG> <EM>opts</EM><STRONG>);</STRONG>
+ <STRONG>Menu_Options</STRONG> <STRONG>menu_opts(const</STRONG> <STRONG>MENU</STRONG> <STRONG>*</STRONG><EM>menu</EM><STRONG>);</STRONG>
+
+ <STRONG>int</STRONG> <STRONG>menu_opts_on(MENU</STRONG> <STRONG>*</STRONG><EM>menu</EM><STRONG>,</STRONG> <STRONG>Menu_Options</STRONG> <EM>opts</EM><STRONG>);</STRONG>
+ <STRONG>int</STRONG> <STRONG>menu_opts_off(MENU</STRONG> <STRONG>*</STRONG><EM>menu</EM><STRONG>,</STRONG> <STRONG>Menu_Options</STRONG> <EM>opts</EM><STRONG>);</STRONG>
</PRE><H2><a name="h2-DESCRIPTION">DESCRIPTION</a></H2><PRE>
@@ -94,9 +96,10 @@
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.
+ If user clicks with the mouse and it does not fall on the
+ currently 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><a name="h2-RETURN-VALUE">RETURN VALUE</a></H2><PRE>
@@ -121,8 +124,8 @@
</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.
+ These routines emulate the System V menu library. They were not
+ supported on Version 7 or BSD versions.
</PRE><H2><a name="h2-AUTHORS">AUTHORS</a></H2><PRE>
diff --git a/doc/html/man/menu_pattern.3x.html b/doc/html/man/menu_pattern.3x.html
index 1be9d1bf5dba..401ad4ae3be9 100644
--- a/doc/html/man/menu_pattern.3x.html
+++ b/doc/html/man/menu_pattern.3x.html
@@ -27,7 +27,7 @@
* sale, use or other dealings in this Software without prior written *
* authorization. *
****************************************************************************
- * @Id: menu_pattern.3x,v 1.18 2020/02/02 23:34:34 tom Exp @
+ * @Id: menu_pattern.3x,v 1.21 2020/10/18 00:41:14 tom Exp @
-->
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN">
<HTML>
@@ -52,8 +52,9 @@
</PRE><H2><a name="h2-SYNOPSIS">SYNOPSIS</a></H2><PRE>
<STRONG>#include</STRONG> <STRONG>&lt;menu.h&gt;</STRONG>
- int set_menu_pattern(MENU *menu, const char *pattern);
- char *menu_pattern(const MENU *menu);
+
+ <STRONG>int</STRONG> <STRONG>set_menu_pattern(MENU</STRONG> <STRONG>*</STRONG><EM>menu</EM><STRONG>,</STRONG> <STRONG>const</STRONG> <STRONG>char</STRONG> <STRONG>*</STRONG><EM>pattern</EM><STRONG>);</STRONG>
+ <STRONG>char</STRONG> <STRONG>*menu_pattern(const</STRONG> <STRONG>MENU</STRONG> <STRONG>*</STRONG><EM>menu</EM><STRONG>);</STRONG>
</PRE><H2><a name="h2-DESCRIPTION">DESCRIPTION</a></H2><PRE>
@@ -71,7 +72,7 @@
</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.
+ empty if no pattern has been set. It does not set <STRONG>errno</STRONG>.
The function <STRONG>set_menu_pattern</STRONG> may return the following error codes:
@@ -103,8 +104,8 @@
</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.
+ These routines emulate the System V menu library. They were not
+ supported on Version 7 or BSD versions.
</PRE><H2><a name="h2-AUTHORS">AUTHORS</a></H2><PRE>
diff --git a/doc/html/man/menu_post.3x.html b/doc/html/man/menu_post.3x.html
index a2fc2bc59a92..5b5598c94b53 100644
--- a/doc/html/man/menu_post.3x.html
+++ b/doc/html/man/menu_post.3x.html
@@ -28,7 +28,7 @@
* sale, use or other dealings in this Software without prior written *
* authorization. *
****************************************************************************
- * @Id: menu_post.3x,v 1.18 2020/02/02 23:34:34 tom Exp @
+ * @Id: menu_post.3x,v 1.19 2020/10/17 23:47:21 tom Exp @
-->
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN">
<HTML>
@@ -48,14 +48,15 @@
</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
+ <STRONG>post_menu</STRONG>, <STRONG>unpost_menu</STRONG> - write or erase menus from associated
+ subwindows
</PRE><H2><a name="h2-SYNOPSIS">SYNOPSIS</a></H2><PRE>
<STRONG>#include</STRONG> <STRONG>&lt;menu.h&gt;</STRONG>
- int post_menu(MENU *menu);
- int unpost_menu(MENU *menu);
+
+ <STRONG>int</STRONG> <STRONG>post_menu(MENU</STRONG> <STRONG>*</STRONG><EM>menu</EM><STRONG>);</STRONG>
+ <STRONG>int</STRONG> <STRONG>unpost_menu(MENU</STRONG> <STRONG>*</STRONG><EM>menu</EM><STRONG>);</STRONG>
</PRE><H2><a name="h2-DESCRIPTION">DESCRIPTION</a></H2><PRE>
@@ -106,8 +107,8 @@
</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.
+ These routines emulate the System V menu library. They were not
+ supported on Version 7 or BSD versions.
</PRE><H2><a name="h2-AUTHORS">AUTHORS</a></H2><PRE>
diff --git a/doc/html/man/menu_requestname.3x.html b/doc/html/man/menu_requestname.3x.html
index 7b7674b6d7f0..518955d77964 100644
--- a/doc/html/man/menu_requestname.3x.html
+++ b/doc/html/man/menu_requestname.3x.html
@@ -28,7 +28,7 @@
* sale, use or other dealings in this Software without prior written *
* authorization. *
****************************************************************************
- * @Id: menu_requestname.3x,v 1.12 2020/02/02 23:34:34 tom Exp @
+ * @Id: menu_requestname.3x,v 1.15 2020/10/18 00:40:34 tom Exp @
-->
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN">
<HTML>
@@ -54,8 +54,9 @@
</PRE><H2><a name="h2-SYNOPSIS">SYNOPSIS</a></H2><PRE>
<STRONG>#include</STRONG> <STRONG>&lt;menu.h&gt;</STRONG>
- const char *menu_request_name(int request);
- int menu_request_by_name(const char *name);
+
+ <STRONG>const</STRONG> <STRONG>char</STRONG> <STRONG>*menu_request_name(int</STRONG> <EM>request</EM><STRONG>);</STRONG>
+ <STRONG>int</STRONG> <STRONG>menu_request_by_name(const</STRONG> <STRONG>char</STRONG> <STRONG>*</STRONG><EM>name</EM><STRONG>);</STRONG>
</PRE><H2><a name="h2-DESCRIPTION">DESCRIPTION</a></H2><PRE>
@@ -67,10 +68,10 @@
</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_name</STRONG> returns <STRONG>NULL</STRONG> on error and sets <STRONG>errno</STRONG> 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.
+ <STRONG>errno</STRONG>.
</PRE><H2><a name="h2-SEE-ALSO">SEE ALSO</a></H2><PRE>
diff --git a/doc/html/man/menu_spacing.3x.html b/doc/html/man/menu_spacing.3x.html
index f7a812eac907..aff22830bc5b 100644
--- a/doc/html/man/menu_spacing.3x.html
+++ b/doc/html/man/menu_spacing.3x.html
@@ -28,7 +28,7 @@
* sale, use or other dealings in this Software without prior written *
* authorization. *
****************************************************************************
- * @Id: menu_spacing.3x,v 1.16 2020/02/02 23:34:34 tom Exp @
+ * @Id: menu_spacing.3x,v 1.17 2020/10/17 23:48:53 tom Exp @
-->
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN">
<HTML>
@@ -54,14 +54,15 @@
</PRE><H2><a name="h2-SYNOPSIS">SYNOPSIS</a></H2><PRE>
<STRONG>#include</STRONG> <STRONG>&lt;menu.h&gt;</STRONG>
- int set_menu_spacing(MENU *menu,
- int spc_description,
- int spc_rows,
- int spc_columns);
- int menu_spacing(const MENU *menu,
- int* spc_description,
- int* spc_rows,
- int* spc_columns);
+
+ <STRONG>int</STRONG> <STRONG>set_menu_spacing(MENU</STRONG> <STRONG>*</STRONG><EM>menu</EM><STRONG>,</STRONG>
+ <STRONG>int</STRONG> <EM>spc</EM><STRONG>_</STRONG><EM>description</EM><STRONG>,</STRONG>
+ <STRONG>int</STRONG> <EM>spc</EM><STRONG>_</STRONG><EM>rows</EM><STRONG>,</STRONG>
+ <STRONG>int</STRONG> <EM>spc</EM><STRONG>_</STRONG><EM>columns</EM><STRONG>);</STRONG>
+ <STRONG>int</STRONG> <STRONG>menu_spacing(const</STRONG> <STRONG>MENU</STRONG> <STRONG>*</STRONG><EM>menu</EM><STRONG>,</STRONG>
+ <STRONG>int*</STRONG> <EM>spc</EM><STRONG>_</STRONG><EM>description</EM><STRONG>,</STRONG>
+ <STRONG>int*</STRONG> <EM>spc</EM><STRONG>_</STRONG><EM>rows</EM><STRONG>,</STRONG>
+ <STRONG>int*</STRONG> <EM>spc</EM><STRONG>_</STRONG><EM>columns</EM><STRONG>);</STRONG>
</PRE><H2><a name="h2-DESCRIPTION">DESCRIPTION</a></H2><PRE>
@@ -73,8 +74,8 @@
<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
+ the appropriate positions. The <STRONG>spc_columns</STRONG> parameter controls the
+ number 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.
diff --git a/doc/html/man/menu_userptr.3x.html b/doc/html/man/menu_userptr.3x.html
index 9ced80934940..bcd22a2fb9d1 100644
--- a/doc/html/man/menu_userptr.3x.html
+++ b/doc/html/man/menu_userptr.3x.html
@@ -28,7 +28,7 @@
* sale, use or other dealings in this Software without prior written *
* authorization. *
****************************************************************************
- * @Id: menu_userptr.3x,v 1.13 2020/02/02 23:34:34 tom Exp @
+ * @Id: menu_userptr.3x,v 1.16 2020/10/18 00:39:49 tom Exp @
-->
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN">
<HTML>
@@ -54,8 +54,9 @@
</PRE><H2><a name="h2-SYNOPSIS">SYNOPSIS</a></H2><PRE>
<STRONG>#include</STRONG> <STRONG>&lt;menu.h&gt;</STRONG>
- int set_menu_userptr(MENU *menu, void *userptr);
- void *menu_userptr(const MENU *menu);
+
+ <STRONG>int</STRONG> <STRONG>set_menu_userptr(MENU</STRONG> <STRONG>*</STRONG><EM>menu</EM><STRONG>,</STRONG> <STRONG>void</STRONG> <STRONG>*</STRONG><EM>userptr</EM><STRONG>);</STRONG>
+ <STRONG>void</STRONG> <STRONG>*menu_userptr(const</STRONG> <STRONG>MENU</STRONG> <STRONG>*</STRONG><EM>menu</EM><STRONG>);</STRONG>
</PRE><H2><a name="h2-DESCRIPTION">DESCRIPTION</a></H2><PRE>
@@ -66,7 +67,7 @@
</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>errno</STRONG>.
<STRONG>set_menu_userptr</STRONG> returns <STRONG>E_OK</STRONG> (success).
@@ -81,8 +82,8 @@
</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.
+ These routines emulate the System V menu library. They were not
+ supported 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.
diff --git a/doc/html/man/menu_win.3x.html b/doc/html/man/menu_win.3x.html
index 020064a1d061..2ad5ada45b26 100644
--- a/doc/html/man/menu_win.3x.html
+++ b/doc/html/man/menu_win.3x.html
@@ -28,7 +28,7 @@
* sale, use or other dealings in this Software without prior written *
* authorization. *
****************************************************************************
- * @Id: menu_win.3x,v 1.14 2020/02/02 23:34:34 tom Exp @
+ * @Id: menu_win.3x,v 1.15 2020/10/17 23:50:51 tom Exp @
-->
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN">
<HTML>
@@ -53,29 +53,32 @@
</PRE><H2><a name="h2-SYNOPSIS">SYNOPSIS</a></H2><PRE>
<STRONG>#include</STRONG> <STRONG>&lt;menu.h&gt;</STRONG>
- int set_menu_win(MENU *menu, WINDOW *win);
- WINDOW *menu_win(const MENU *menu);
- int set_menu_sub(MENU *menu, WINDOW *sub);
- WINDOW *menu_sub(const MENU *menu);
- int scale_menu(const MENU *menu, int *rows, int *columns);
+
+ <STRONG>int</STRONG> <STRONG>set_menu_win(MENU</STRONG> <STRONG>*</STRONG><EM>menu</EM><STRONG>,</STRONG> <STRONG>WINDOW</STRONG> <STRONG>*</STRONG><EM>win</EM><STRONG>);</STRONG>
+ <STRONG>WINDOW</STRONG> <STRONG>*menu_win(const</STRONG> <STRONG>MENU</STRONG> <STRONG>*</STRONG><EM>menu</EM><STRONG>);</STRONG>
+
+ <STRONG>int</STRONG> <STRONG>set_menu_sub(MENU</STRONG> <STRONG>*</STRONG><EM>menu</EM><STRONG>,</STRONG> <STRONG>WINDOW</STRONG> <STRONG>*</STRONG><EM>sub</EM><STRONG>);</STRONG>
+ <STRONG>WINDOW</STRONG> <STRONG>*menu_sub(const</STRONG> <STRONG>MENU</STRONG> <STRONG>*</STRONG><EM>menu</EM><STRONG>);</STRONG>
+
+ <STRONG>int</STRONG> <STRONG>scale_menu(const</STRONG> <STRONG>MENU</STRONG> <STRONG>*</STRONG><EM>menu,</EM> <EM>int</EM> <EM>*rows</EM><STRONG>,</STRONG> <STRONG>int</STRONG> <STRONG>*</STRONG><EM>columns);</EM>
</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.
+ displays any title and border associated with the window; the menu
+ subwindow displays the items of the menu that are currently available
+ for selection.
- 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.
+ 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.
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 sub-
- window of <EM>menu</EM>.
+ The function <STRONG>scale_menu</STRONG> returns the minimum size required for the
+ subwindow of <EM>menu</EM>.
</PRE><H2><a name="h2-RETURN-VALUE">RETURN VALUE</a></H2><PRE>
@@ -107,8 +110,8 @@
</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.
+ These routines emulate the System V menu library. They were not
+ supported on Version 7 or BSD versions.
</PRE><H2><a name="h2-AUTHORS">AUTHORS</a></H2><PRE>
diff --git a/doc/html/man/mitem_current.3x.html b/doc/html/man/mitem_current.3x.html
index 77f261683857..016b6609854b 100644
--- a/doc/html/man/mitem_current.3x.html
+++ b/doc/html/man/mitem_current.3x.html
@@ -28,7 +28,7 @@
* sale, use or other dealings in this Software without prior written *
* authorization. *
****************************************************************************
- * @Id: mitem_current.3x,v 1.17 2020/02/02 23:34:34 tom Exp @
+ * @Id: mitem_current.3x,v 1.20 2020/10/18 00:39:06 tom Exp @
-->
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN">
<HTML>
@@ -53,11 +53,14 @@
</PRE><H2><a name="h2-SYNOPSIS">SYNOPSIS</a></H2><PRE>
<STRONG>#include</STRONG> <STRONG>&lt;menu.h&gt;</STRONG>
- int set_current_item(MENU *menu, 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);
+
+ <STRONG>int</STRONG> <STRONG>set_current_item(MENU</STRONG> <STRONG>*</STRONG><EM>menu</EM><STRONG>,</STRONG> <STRONG>ITEM</STRONG> <STRONG>*</STRONG><EM>item</EM><STRONG>);</STRONG>
+ <STRONG>ITEM</STRONG> <STRONG>*current_item(const</STRONG> <STRONG>MENU</STRONG> <STRONG>*</STRONG><EM>menu</EM><STRONG>);</STRONG>
+
+ <STRONG>int</STRONG> <STRONG>set_top_row(MENU</STRONG> <STRONG>*</STRONG><EM>menu</EM><STRONG>,</STRONG> <STRONG>int</STRONG> <EM>row</EM><STRONG>);</STRONG>
+ <STRONG>int</STRONG> <STRONG>top_row(const</STRONG> <STRONG>MENU</STRONG> <STRONG>*</STRONG><EM>menu</EM><STRONG>);</STRONG>
+
+ <STRONG>int</STRONG> <STRONG>item_index(const</STRONG> <STRONG>ITEM</STRONG> <STRONG>*</STRONG><EM>item</EM><STRONG>);</STRONG>
</PRE><H2><a name="h2-DESCRIPTION">DESCRIPTION</a></H2><PRE>
@@ -77,7 +80,7 @@
</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>errno</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>.
@@ -109,8 +112,8 @@
</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.
+ These routines emulate the System V menu library. They were not
+ supported 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>).
diff --git a/doc/html/man/mitem_name.3x.html b/doc/html/man/mitem_name.3x.html
index a22e0c94de76..b757dd4765d9 100644
--- a/doc/html/man/mitem_name.3x.html
+++ b/doc/html/man/mitem_name.3x.html
@@ -28,7 +28,7 @@
* sale, use or other dealings in this Software without prior written *
* authorization. *
****************************************************************************
- * @Id: mitem_name.3x,v 1.11 2020/02/02 23:34:34 tom Exp @
+ * @Id: mitem_name.3x,v 1.14 2020/10/18 00:37:48 tom Exp @
-->
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN">
<HTML>
@@ -53,8 +53,9 @@
</PRE><H2><a name="h2-SYNOPSIS">SYNOPSIS</a></H2><PRE>
<STRONG>#include</STRONG> <STRONG>&lt;menu.h&gt;</STRONG>
- const char *item_name(const ITEM *item);
- const char *item_description(const ITEM *item);
+
+ <STRONG>const</STRONG> <STRONG>char</STRONG> <STRONG>*item_name(const</STRONG> <STRONG>ITEM</STRONG> <STRONG>*</STRONG><EM>item</EM><STRONG>);</STRONG>
+ <STRONG>const</STRONG> <STRONG>char</STRONG> <STRONG>*item_description(const</STRONG> <STRONG>ITEM</STRONG> <STRONG>*</STRONG><EM>item</EM><STRONG>);</STRONG>
</PRE><H2><a name="h2-DESCRIPTION">DESCRIPTION</a></H2><PRE>
@@ -65,7 +66,7 @@
</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.
+ <STRONG>errno</STRONG>.
</PRE><H2><a name="h2-SEE-ALSO">SEE ALSO</a></H2><PRE>
@@ -78,8 +79,8 @@
</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.
+ These routines emulate the System V menu library. They were not
+ supported on Version 7 or BSD versions.
</PRE><H2><a name="h2-AUTHORS">AUTHORS</a></H2><PRE>
diff --git a/doc/html/man/mitem_new.3x.html b/doc/html/man/mitem_new.3x.html
index f9db946af1af..25ef46f5d5c5 100644
--- a/doc/html/man/mitem_new.3x.html
+++ b/doc/html/man/mitem_new.3x.html
@@ -28,7 +28,7 @@
* sale, use or other dealings in this Software without prior written *
* authorization. *
****************************************************************************
- * @Id: mitem_new.3x,v 1.16 2020/02/02 23:34:34 tom Exp @
+ * @Id: mitem_new.3x,v 1.19 2020/10/18 00:37:03 tom Exp @
-->
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN">
<HTML>
@@ -53,8 +53,9 @@
</PRE><H2><a name="h2-SYNOPSIS">SYNOPSIS</a></H2><PRE>
<STRONG>#include</STRONG> <STRONG>&lt;menu.h&gt;</STRONG>
- ITEM *new_item(const char *name, const char *description);
- int free_item(ITEM *item);
+
+ <STRONG>ITEM</STRONG> <STRONG>*new_item(const</STRONG> <STRONG>char</STRONG> <STRONG>*</STRONG><EM>name</EM><STRONG>,</STRONG> <STRONG>const</STRONG> <STRONG>char</STRONG> <STRONG>*</STRONG><EM>description</EM><STRONG>);</STRONG>
+ <STRONG>int</STRONG> <STRONG>free_item(ITEM</STRONG> <STRONG>*</STRONG><EM>item</EM><STRONG>);</STRONG>
</PRE><H2><a name="h2-DESCRIPTION">DESCRIPTION</a></H2><PRE>
@@ -69,7 +70,7 @@
</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
+ The function <STRONG>new_item</STRONG> returns <STRONG>NULL</STRONG> on error. It sets <STRONG>errno</STRONG> according
to the function's failure:
<STRONG>E_BAD_ARGUMENT</STRONG>
@@ -102,8 +103,8 @@
</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.
+ These routines emulate the System V menu library. They were not
+ supported on Version 7 or BSD versions.
</PRE><H2><a name="h2-AUTHORS">AUTHORS</a></H2><PRE>
diff --git a/doc/html/man/mitem_opts.3x.html b/doc/html/man/mitem_opts.3x.html
index 3665188f2dd3..26137c7dd6fe 100644
--- a/doc/html/man/mitem_opts.3x.html
+++ b/doc/html/man/mitem_opts.3x.html
@@ -28,7 +28,7 @@
* sale, use or other dealings in this Software without prior written *
* authorization. *
****************************************************************************
- * @Id: mitem_opts.3x,v 1.15 2020/02/02 23:34:34 tom Exp @
+ * @Id: mitem_opts.3x,v 1.16 2020/10/17 23:52:26 tom Exp @
-->
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN">
<HTML>
@@ -54,10 +54,12 @@
</PRE><H2><a name="h2-SYNOPSIS">SYNOPSIS</a></H2><PRE>
<STRONG>#include</STRONG> <STRONG>&lt;menu.h&gt;</STRONG>
- int set_item_opts(ITEM *item, Item_Options opts);
- int item_opts_on(ITEM *item, Item_Options opts);
- int item_opts_off(ITEM *item, Item_Options opts);
- Item_Options item_opts(const ITEM *item);
+
+ <STRONG>int</STRONG> <STRONG>set_item_opts(ITEM</STRONG> <STRONG>*</STRONG><EM>item</EM><STRONG>,</STRONG> <STRONG>Item_Options</STRONG> <EM>opts</EM><STRONG>);</STRONG>
+ <STRONG>Item_Options</STRONG> <STRONG>item_opts(const</STRONG> <STRONG>ITEM</STRONG> <STRONG>*</STRONG><EM>item</EM><STRONG>);</STRONG>
+
+ <STRONG>int</STRONG> <STRONG>item_opts_on(ITEM</STRONG> <STRONG>*</STRONG><EM>item</EM><STRONG>,</STRONG> <STRONG>Item_Options</STRONG> <EM>opts</EM><STRONG>);</STRONG>
+ <STRONG>int</STRONG> <STRONG>item_opts_off(ITEM</STRONG> <STRONG>*</STRONG><EM>item</EM><STRONG>,</STRONG> <STRONG>Item_Options</STRONG> <EM>opts</EM><STRONG>);</STRONG>
</PRE><H2><a name="h2-DESCRIPTION">DESCRIPTION</a></H2><PRE>
@@ -96,8 +98,8 @@
</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.
+ These routines emulate the System V menu library. They were not
+ supported on Version 7 or BSD versions.
</PRE><H2><a name="h2-AUTHORS">AUTHORS</a></H2><PRE>
diff --git a/doc/html/man/mitem_userptr.3x.html b/doc/html/man/mitem_userptr.3x.html
index 00d0a4baa452..fe58bd4f48c5 100644
--- a/doc/html/man/mitem_userptr.3x.html
+++ b/doc/html/man/mitem_userptr.3x.html
@@ -28,7 +28,7 @@
* sale, use or other dealings in this Software without prior written *
* authorization. *
****************************************************************************
- * @Id: mitem_userptr.3x,v 1.14 2020/02/02 23:34:34 tom Exp @
+ * @Id: mitem_userptr.3x,v 1.17 2020/10/18 00:36:16 tom Exp @
-->
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN">
<HTML>
@@ -54,19 +54,20 @@
</PRE><H2><a name="h2-SYNOPSIS">SYNOPSIS</a></H2><PRE>
<STRONG>#include</STRONG> <STRONG>&lt;menu.h&gt;</STRONG>
- int set_item_userptr(ITEM *item, void *userptr);
- void *item_userptr(const ITEM *item);
+
+ <STRONG>int</STRONG> <STRONG>set_item_userptr(ITEM</STRONG> <STRONG>*</STRONG><EM>item</EM><STRONG>,</STRONG> <STRONG>void</STRONG> <STRONG>*</STRONG><EM>userptr</EM><STRONG>);</STRONG>
+ <STRONG>void</STRONG> <STRONG>*item_userptr(const</STRONG> <STRONG>ITEM</STRONG> <STRONG>*</STRONG><EM>item</EM><STRONG>);</STRONG>
</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
+ 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-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.
+ not set <STRONG>errno</STRONG>.
The <STRONG>set_item_userptr</STRONG> always returns <STRONG>E_OK</STRONG> (success).
@@ -81,8 +82,8 @@
</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.
+ These routines emulate the System V menu library. They were not
+ supported 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.
diff --git a/doc/html/man/mitem_value.3x.html b/doc/html/man/mitem_value.3x.html
index 2b55d6e833f7..8ddf93432caa 100644
--- a/doc/html/man/mitem_value.3x.html
+++ b/doc/html/man/mitem_value.3x.html
@@ -27,7 +27,7 @@
* sale, use or other dealings in this Software without prior written *
* authorization. *
****************************************************************************
- * @Id: mitem_value.3x,v 1.14 2020/02/02 23:34:34 tom Exp @
+ * @Id: mitem_value.3x,v 1.15 2020/10/17 23:53:24 tom Exp @
-->
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN">
<HTML>
@@ -52,8 +52,9 @@
</PRE><H2><a name="h2-SYNOPSIS">SYNOPSIS</a></H2><PRE>
<STRONG>#include</STRONG> <STRONG>&lt;menu.h&gt;</STRONG>
- int set_item_value(ITEM *item, bool value);
- bool item_value(const ITEM *item);
+
+ <STRONG>int</STRONG> <STRONG>set_item_value(ITEM</STRONG> <STRONG>*</STRONG><EM>item</EM><STRONG>,</STRONG> <STRONG>bool</STRONG> <EM>value</EM><STRONG>);</STRONG>
+ <STRONG>bool</STRONG> <STRONG>item_value(const</STRONG> <STRONG>ITEM</STRONG> <STRONG>*</STRONG><EM>item</EM><STRONG>);</STRONG>
</PRE><H2><a name="h2-DESCRIPTION">DESCRIPTION</a></H2><PRE>
@@ -88,8 +89,8 @@
</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.
+ These routines emulate the System V menu library. They were not
+ supported on Version 7 or BSD versions.
</PRE><H2><a name="h2-AUTHORS">AUTHORS</a></H2><PRE>
diff --git a/doc/html/man/mitem_visible.3x.html b/doc/html/man/mitem_visible.3x.html
index 98e0a7559cb8..7a63ad3c8504 100644
--- a/doc/html/man/mitem_visible.3x.html
+++ b/doc/html/man/mitem_visible.3x.html
@@ -28,7 +28,7 @@
* sale, use or other dealings in this Software without prior written *
* authorization. *
****************************************************************************
- * @Id: mitem_visible.3x,v 1.9 2020/02/02 23:34:34 tom Exp @
+ * @Id: mitem_visible.3x,v 1.10 2020/10/17 23:53:55 tom Exp @
-->
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN">
<HTML>
@@ -53,7 +53,8 @@
</PRE><H2><a name="h2-SYNOPSIS">SYNOPSIS</a></H2><PRE>
<STRONG>#include</STRONG> <STRONG>&lt;menu.h&gt;</STRONG>
- bool item_visible(const ITEM *item);
+
+ <STRONG>bool</STRONG> <STRONG>item_visible(const</STRONG> <STRONG>ITEM</STRONG> <STRONG>*</STRONG><EM>item</EM><STRONG>);</STRONG>
</PRE><H2><a name="h2-DESCRIPTION">DESCRIPTION</a></H2><PRE>
@@ -72,8 +73,8 @@
</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.
+ These routines emulate the System V menu library. They were not
+ supported on Version 7 or BSD versions.
</PRE><H2><a name="h2-AUTHORS">AUTHORS</a></H2><PRE>
diff --git a/doc/html/man/ncurses.3x.html b/doc/html/man/ncurses.3x.html
index ddf5d2a05e5f..64cc934b441d 100644
--- a/doc/html/man/ncurses.3x.html
+++ b/doc/html/man/ncurses.3x.html
@@ -1,7 +1,7 @@
<!--
* t
****************************************************************************
- * Copyright 2018-2019,2020 Thomas E. Dickey *
+ * Copyright 2018-2020,2021 Thomas E. Dickey *
* Copyright 1998-2015,2017 Free Software Foundation, Inc. *
* *
* Permission is hereby granted, free of charge, to any person obtaining a *
@@ -28,7 +28,7 @@
* sale, use or other dealings in this Software without prior written *
* authorization. *
****************************************************************************
- * @Id: ncurses.3x,v 1.144 2020/02/02 23:34:34 tom Exp @
+ * @Id: ncurses.3x,v 1.152 2021/01/09 11:07:55 tom Exp @
-->
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN">
<HTML>
@@ -60,19 +60,19 @@
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.2 (patch 20200215).
+ This describes <STRONG>ncurses</STRONG> version 6.2 (patch 20210109).
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.
+ 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., fea-
- tures which cannot be implemented by a simple add-on library but which
- require access to the internals of the library.
+ 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
@@ -82,11 +82,11 @@
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.
+ The <STRONG>ncurses</STRONG> package supports: overall screen, window and pad
+ manipulation; output to windows and pads; reading terminal input;
+ control over terminal and <STRONG>curses</STRONG> input and output options; environment
+ query routines; color manipulation; use of soft label keys; terminfo
+ capabilities; and access to low-level terminal-manipulation routines.
</PRE><H3><a name="h3-Initialization">Initialization</a></H3><PRE>
@@ -102,8 +102,8 @@
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.
+ screens are used. The routine <STRONG><A HREF="curs_initscr.3x.html">endwin(3x)</A></STRONG> must be called before
+ exiting.
To get character-at-a-time input without echoing (most interactive,
screen oriented programs want this), the following sequence should be
@@ -113,28 +113,27 @@
Most programs would additionally use the sequence:
- <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 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.]
+ 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 for doing this. [See <STRONG><A HREF="terminfo.5.html">terminfo(5)</A></STRONG> for further details.]
</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>.
+ <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 windows and not using <STRONG>stdscr</STRONG> at all. Mix-
- ing the two will result in unpredictable, and undesired, effects.
+ divide the screen into tiled windows 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
@@ -151,36 +150,37 @@
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.
+ need not be completely displayed. 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 characters to show up in such
modes as underlined, in reverse video, or in color on terminals that
support such display enhancements. Line drawing characters may be
specified to be output. On input, <STRONG>curses</STRONG> is also able to translate
- arrow and function keys that transmit escape sequences into single val-
- ues. The video attributes, line drawing characters, and input values
- use names, defined in <STRONG>&lt;curses.h&gt;</STRONG>, such as <STRONG>A_REVERSE</STRONG>, <STRONG>ACS_HLINE</STRONG>, and
- <STRONG>KEY_LEFT</STRONG>.
+ arrow and function keys that transmit escape sequences into single
+ values. The video attributes, line drawing characters, and input
+ values use names, defined in <STRONG>&lt;curses.h&gt;</STRONG>, such as <STRONG>A_REVERSE</STRONG>, <STRONG>ACS_HLINE</STRONG>,
+ and <STRONG>KEY_LEFT</STRONG>.
</PRE><H3><a name="h3-Environment-variables">Environment variables</a></H3><PRE>
- If the environment variables <STRONG>LINES</STRONG> and <STRONG>COLUMNS</STRONG> are set, or if the pro-
- gram is executing in a window environment, line and column information
- in the environment will override information read by <EM>terminfo</EM>. This
- would affect a program running in an AT&amp;T 630 layer, for example, where
- the size of a screen is changeable (see <STRONG>ENVIRONMENT</STRONG>).
-
- If the environment variable <STRONG>TERMINFO</STRONG> is defined, any program using
- <STRONG>curses</STRONG> checks for a local terminal definition before checking in the
- standard place. For example, if <STRONG>TERM</STRONG> is set to <STRONG>att4424</STRONG>, then the com-
- piled terminal definition is found in
+ If the environment variables <STRONG>LINES</STRONG> and <STRONG>COLUMNS</STRONG> are set, or if the
+ program is executing in a window environment, line and column
+ information in the environment will override information read by
+ <EM>terminfo</EM>. This would affect a program running in an AT&amp;T 630 layer,
+ for example, where the size of a screen is changeable (see
+ <STRONG>ENVIRONMENT</STRONG>).
+
+ If the environment variable <STRONG>TERMINFO</STRONG> is defined, any 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
+ compiled 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>,
+ (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>,
@@ -189,114 +189,104 @@
<STRONG>/usr/share/terminfo/a/att4424</STRONG>.
- This is useful for developing experimental definitions or when write
+ This is useful for developing experimental definitions or when write
permission in <STRONG>/usr/share/terminfo</STRONG> is not available.
The integer variables <STRONG>LINES</STRONG> and <STRONG>COLS</STRONG> are defined in <STRONG>&lt;curses.h&gt;</STRONG> and will
- be filled in by <STRONG>initscr</STRONG> with the size of the screen. The constants
+ 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.
+ 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.
</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
+ 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
+ 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.
+ 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.
+ 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;
+ In each case, <EM>win</EM> is the window affected, and <EM>pad</EM> is the pad affected;
<EM>win</EM> and <EM>pad</EM> are always pointers to type <STRONG>WINDOW</STRONG>.
- Option setting routines require a Boolean flag <EM>bf</EM> with the value <STRONG>TRUE</STRONG>
- or <STRONG>FALSE</STRONG>; <EM>bf</EM> is always of type <STRONG>bool</STRONG>. Most of the data types used in
- the library routines, such as <STRONG>WINDOW</STRONG>, <STRONG>SCREEN</STRONG>, <STRONG>bool</STRONG>, and <STRONG>chtype</STRONG> are
- defined in <STRONG>&lt;curses.h&gt;</STRONG>. Types used for the terminfo routines such as
+ Option setting routines require a Boolean flag <EM>bf</EM> with the value <STRONG>TRUE</STRONG>
+ or <STRONG>FALSE</STRONG>; <EM>bf</EM> is always of type <STRONG>bool</STRONG>. Most of the data types used in
+ the library routines, such as <STRONG>WINDOW</STRONG>, <STRONG>SCREEN</STRONG>, <STRONG>bool</STRONG>, and <STRONG>chtype</STRONG> are
+ defined in <STRONG>&lt;curses.h&gt;</STRONG>. Types used for the terminfo routines such as
<STRONG>TERMINAL</STRONG> are defined in <STRONG>&lt;term.h&gt;</STRONG>.
- This manual page describes functions which may appear in any configura-
- tion of the library. There are two common configurations of the
- library:
+ This manual page describes functions which may appear in any
+ configuration 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.
+ 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
+ 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:
+ 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 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
+ 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
+ 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
+ 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
+ The <STRONG><A HREF="curs_getcchar.3x.html">setcchar(3x)</A></STRONG> and <STRONG><A HREF="curs_getcchar.3x.html">getcchar(3x)</A></STRONG> functions store and
retrieve the data from a <STRONG>cchar_t</STRONG> structure.
<STRONG>wchar_t</STRONG>
- stores a "wide" character. Like <STRONG>chtype</STRONG>, this may be an
+ 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
+ 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
+ The "wide" library provides new functions which are analogous
+ to functions in the "normal" library. There is a naming
+ convention 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.
+ The following table lists the <STRONG>curses</STRONG> routines provided in the "normal"
+ and "wide" libraries and the names of the manual pages on which they
+ are 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>
@@ -313,7 +303,6 @@
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>
@@ -324,6 +313,7 @@
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>
@@ -338,6 +328,7 @@
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_trace <STRONG><A HREF="curs_trace.3x.html">curs_trace(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>
@@ -358,6 +349,8 @@
erase <STRONG><A HREF="curs_clear.3x.html">curs_clear(3x)</A></STRONG>
erasechar <STRONG><A HREF="curs_termattrs.3x.html">curs_termattrs(3x)</A></STRONG>
erasewchar <STRONG><A HREF="curs_termattrs.3x.html">curs_termattrs(3x)</A></STRONG>
+ exit_curses <STRONG><A HREF="curs_memleaks.3x.html">curs_memleaks(3x)</A></STRONG>*
+ exit_terminfo <STRONG><A HREF="curs_memleaks.3x.html">curs_memleaks(3x)</A></STRONG>*
extended_color_content <STRONG><A HREF="curs_color.3x.html">curs_color(3x)</A></STRONG>*
extended_pair_content <STRONG><A HREF="curs_color.3x.html">curs_color(3x)</A></STRONG>*
extended_slk_color <STRONG><A HREF="curs_slk.3x.html">curs_slk(3x)</A></STRONG>*
@@ -379,7 +372,6 @@
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>*
@@ -387,6 +379,7 @@
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>
@@ -397,6 +390,7 @@
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>*
+ has_mouse <STRONG><A HREF="curs_mouse.3x.html">curs_mouse(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>
@@ -445,13 +439,13 @@
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>
@@ -511,13 +505,13 @@
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>
@@ -547,18 +541,19 @@
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>
+ nl <STRONG><A HREF="curs_inopts.3x.html">curs_inopts(3x)</A></STRONG>
nocbreak <STRONG><A HREF="curs_inopts.3x.html">curs_inopts(3x)</A></STRONG>
nodelay <STRONG><A HREF="curs_inopts.3x.html">curs_inopts(3x)</A></STRONG>
noecho <STRONG><A HREF="curs_inopts.3x.html">curs_inopts(3x)</A></STRONG>
nofilter <STRONG><A HREF="curs_util.3x.html">curs_util(3x)</A></STRONG>*
- nonl <STRONG><A HREF="curs_outopts.3x.html">curs_outopts(3x)</A></STRONG>
+ nonl <STRONG><A HREF="curs_inopts.3x.html">curs_inopts(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>
+ pecho_wchar <STRONG><A HREF="curs_pad.3x.html">curs_pad(3x)</A></STRONG>*
pechochar <STRONG><A HREF="curs_pad.3x.html">curs_pad(3x)</A></STRONG>
pnoutrefresh <STRONG><A HREF="curs_pad.3x.html">curs_pad(3x)</A></STRONG>
prefresh <STRONG><A HREF="curs_pad.3x.html">curs_pad(3x)</A></STRONG>
@@ -569,6 +564,7 @@
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_color_pairs <STRONG><A HREF="curs_color.3x.html">curs_color(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>
@@ -577,11 +573,11 @@
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>
@@ -591,7 +587,6 @@
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>
@@ -609,6 +604,7 @@
slk_restore <STRONG><A HREF="curs_slk.3x.html">curs_slk(3x)</A></STRONG>
slk_set <STRONG><A HREF="curs_slk.3x.html">curs_slk(3x)</A></STRONG>
slk_touch <STRONG><A HREF="curs_slk.3x.html">curs_slk(3x)</A></STRONG>
+ slk_wset <STRONG><A HREF="curs_slk.3x.html">curs_slk(3x)</A></STRONG>*
standend <STRONG><A HREF="curs_attr.3x.html">curs_attr(3x)</A></STRONG>
standout <STRONG><A HREF="curs_attr.3x.html">curs_attr(3x)</A></STRONG>
start_color <STRONG><A HREF="curs_color.3x.html">curs_color(3x)</A></STRONG>
@@ -643,11 +639,11 @@
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>
@@ -709,11 +705,11 @@
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>
@@ -742,34 +738,51 @@
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>
+ Depending on the configuration, additional sets of functions may be
+ available:
+
+ <STRONG><A HREF="curs_memleaks.3x.html">curs_memleaks(3x)</A></STRONG> - curses memory-leak checking
+
+ <STRONG><A HREF="curs_sp_funcs.3x.html">curs_sp_funcs(3x)</A></STRONG> - curses screen-pointer extension
+
+ <STRONG><A HREF="curs_threads.3x.html">curs_threads(3x)</A></STRONG> - curses thread support
+
+ <STRONG><A HREF="curs_trace.3x.html">curs_trace(3x)</A></STRONG> - curses debugging routines
+
</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
+ 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.
+ As a general rule, routines check for null pointers passed as
+ parameters, 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
+ 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).
+ 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. Most "mv"-prefixed functions (except
+ variadic functions such as <STRONG>mvprintw</STRONG>) are provided both as macros and
+ functions.
+
Routines that return pointers return <STRONG>NULL</STRONG> on 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
+ The following environment symbols are useful for customizing the
+ runtime behavior of the <STRONG>ncurses</STRONG> library. The most important ones have
been already discussed in detail.
</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.
+ 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 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
@@ -777,34 +790,34 @@
</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.
+ The debugging library checks this environment variable 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.
</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
+ 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.
+ 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 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.
+ 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 external environment
+ 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.
@@ -812,31 +825,31 @@
</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
+ 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
+ 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.
+ Note that xterm mouse events are built up from character 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 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
+ 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
+ Tells <STRONG>ncurses</STRONG> where your home directory is. That is where it may read
and write auxiliary terminal descriptions:
$HOME/.termcap
@@ -844,51 +857,51 @@
</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.
+ Like COLUMNS, specify the height of the screen in characters. See
+ COLUMNS 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:
+ 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 speci-
- fied, <STRONG>ncurses</STRONG> uses 132.
+ numeric digits 1-3 in any order, e.g., 123 or 321. If it is not
+ specified, <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.
+ 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
+ foreground 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
+ The <STRONG>Console2</STRONG> program's handling of the Microsoft Console API call
+ <STRONG>CreateConsoleScreenBuffer</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
+ 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
@@ -896,40 +909,40 @@
</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
+ <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.
+ 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
+ terminals by setting 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
+ 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
+ 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,
+ preventing 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>.
+ 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>.
</PRE><H3><a name="h3-NCURSES_NO_SETBUF">NCURSES_NO_SETBUF</a></H3><PRE>
@@ -939,44 +952,44 @@
<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)
+ <STRONG>ncurses</STRONG> enabled buffered output during terminal initialization. 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 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
+ 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.
+ 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.
</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
+ 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
+ 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
+ <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
+ emulators.
+
+ When setting this variable, you should set it to a nonzero value.
+ Setting 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
+ 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
@@ -988,67 +1001,67 @@
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
+ 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.
+ 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 applica-
- tion will write the file <STRONG>trace</STRONG> to the current directory.
+ 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.
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
+ 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
+ <STRONG>TERM</STRONG> is commonly set by terminal emulators to help applications find a
+ workable terminal description. Some of those choose a popular
+ approximation, e.g., "ansi", "vt100", "xterm" rather than an exact fit.
+ Not infrequently, your application will have problems with that
+ approach, e.g., incorrect function-key definitions.
+
+ If you set <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
+ 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.
+ (with newlines stripped out), or a file name telling where the
+ information 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
+ information, 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
+ <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
+ 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
+ <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
@@ -1057,30 +1070,30 @@
/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
+ 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
+ <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.
+ 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
+ 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:
+ 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
+ locations in order follows:
- <STRONG>o</STRONG> the last terminal database to which <STRONG>ncurses</STRONG> wrote, if any, is
+ <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
@@ -1089,31 +1102,31 @@
<STRONG>o</STRONG> locations listed in the TERMINFO_DIRS environment variable
- <STRONG>o</STRONG> one or more locations whose names are configured and compiled
+ <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> no default value (corresponding 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
+ 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>.
+ There is no corresponding feature in System V terminfo; it is an
+ extension 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
+ 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
+ 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,
@@ -1121,38 +1134,38 @@
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
+ 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>:
+ 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>:
--disable-overwrite
The standard include for <STRONG>ncurses</STRONG> is as noted in <STRONG>SYNOPSIS</STRONG>:
<STRONG>#include</STRONG> <STRONG>&lt;curses.h&gt;</STRONG>
- This option is used to avoid filename conflicts when <STRONG>ncurses</STRONG> is
+ 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.,
+ is installed disabling overwrite, it puts its headers in a
+ subdirectory, e.g.,
<STRONG>#include</STRONG> <STRONG>&lt;ncurses/curses.h&gt;</STRONG>
- It also omits a symbolic link which would allow you to use
+ 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>--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
+ 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
<STRONG>-lncurses</STRONG>
@@ -1160,45 +1173,45 @@
<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
+ 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>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
+ <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,
+ <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>
+ <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
+ 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.
+ 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.
--with-pthread
- The configure script renames the library. All of the library
- names have a "t" appended to them (before any "w" added by
+ 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
+ to set these values. Some applications (very few) may require
changes to work with this convention.
--with-shared
@@ -1208,84 +1221,118 @@
--with-debug
--with-profile
- 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>.
+ The shared and normal (static) library names differ by their
+ suffixes, e.g., <STRONG>libncurses.so</STRONG> and <STRONG>libncurses.a</STRONG>. The debug and
+ profiling libraries add a "_g" and a "_p" to the root names
+ respectively, e.g., <STRONG>libncurses_g.a</STRONG> and <STRONG>libncurses_p.a</STRONG>.
+
+ --with-termlib
+ Low-level functions which do not depend upon whether the library
+ supports wide-characters, are provided in the tinfo library.
+
+ By doing this, it is possible to share the tinfo library between
+ wide/normal configurations as well as reduce the size of the
+ library when only low-level functions are needed.
+
+ Those functions are described in these pages:
+
+ <STRONG>o</STRONG> <STRONG><A HREF="curs_extend.3x.html">curs_extend(3x)</A></STRONG> - miscellaneous curses extensions
+
+ <STRONG>o</STRONG> <STRONG><A HREF="curs_inopts.3x.html">curs_inopts(3x)</A></STRONG> - <STRONG>curses</STRONG> input options
+
+ <STRONG>o</STRONG> <STRONG><A HREF="curs_kernel.3x.html">curs_kernel(3x)</A></STRONG> - low-level <STRONG>curses</STRONG> routines
+
+ <STRONG>o</STRONG> <STRONG><A HREF="curs_termattrs.3x.html">curs_termattrs(3x)</A></STRONG> - <STRONG>curses</STRONG> environment query routines
+
+ <STRONG>o</STRONG> <STRONG><A HREF="curs_termcap.3x.html">curs_termcap(3x)</A></STRONG> - <STRONG>curses</STRONG> emulation of termcap
+
+ <STRONG>o</STRONG> <STRONG><A HREF="curs_terminfo.3x.html">curs_terminfo(3x)</A></STRONG> - <STRONG>curses</STRONG> interfaces to terminfo database
+
+ <STRONG>o</STRONG> <STRONG><A HREF="curs_util.3x.html">curs_util(3x)</A></STRONG> - miscellaneous <STRONG>curses</STRONG> utility routines
--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. Con-
- figure scripts should check for the function's existence rather
+ is sometimes useful to configure this in the shared library.
+ Configure scripts should check for the function's existence rather
than assuming it is always in the debug library.
</PRE><H2><a name="h2-FILES">FILES</a></H2><PRE>
/usr/share/tabset
- directory containing initialization files for the terminal capa-
- bility database /usr/share/terminfo terminal capability database
+ directory containing initialization files for the terminal
+ capability database /usr/share/terminfo terminal capability
+ database
</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
+ <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>
<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
+ 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
+ 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 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 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 <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
+ 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 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
+ background 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><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 out-
- put to a printer attached to the terminal device. See the
+ 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><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.
+ The <STRONG>ncurses</STRONG> library is intended to be BASE-level conformant with XSI
+ Curses. The EXTENDED XSI Curses functionality (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>
+ 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:
+</PRE><H3><a name="h3-Error-checking">Error checking</a></H3><PRE>
+ In many cases, X/Open Curses is vague about error conditions, omitting
+ some of the SVr4 documentation.
+
+ Unlike other implementations, this one checks parameters such as
+ pointers to WINDOW structures to ensure they are not null. The main
+ 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.
+
+
+</PRE><H3><a name="h3-Extensions-versus-portability">Extensions versus portability</a></H3><PRE>
+ Most of the extensions provided by ncurses have not been standardized.
+ Some have been incorporated into other implementations, such as
+ PDCurses or NetBSD curses. Here are a few to consider:
<STRONG>o</STRONG> The routine <STRONG>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.
@@ -1298,36 +1345,126 @@
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 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>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>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 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> 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> 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
+ <STRONG>o</STRONG> This implementation can be configured to provide rudimentary
+ 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 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.
+
+</PRE><H3><a name="h3-Padding-differences">Padding differences</a></H3><PRE>
In historic curses versions, delays embedded in the capabilities <STRONG>cr</STRONG>,
<STRONG>ind</STRONG>, <STRONG>cub1</STRONG>, <STRONG>ff</STRONG> and <STRONG>tab</STRONG> activated corresponding delay bits in the UNIX
tty driver. In this implementation, all padding is done by sending NUL
- bytes. This method is slightly more expensive, but narrows the inter-
- face to the UNIX kernel significantly and increases the package's
+ bytes. This method is slightly more expensive, but narrows the
+ interface to the UNIX kernel significantly and increases the package's
portability correspondingly.
-</PRE><H2><a name="h2-NOTES">NOTES</a></H2><PRE>
+</PRE><H3><a name="h3-Header-files">Header files</a></H3><PRE>
The header file <STRONG>&lt;curses.h&gt;</STRONG> automatically includes the header files
<STRONG>&lt;stdio.h&gt;</STRONG> and <STRONG>&lt;unctrl.h&gt;</STRONG>.
+ X/Open Curses has more to say, but does not finish the story:
+
+ The inclusion of &lt;curses.h&gt; may make visible all symbols from the
+ headers &lt;stdio.h&gt;, &lt;term.h&gt;, &lt;termios.h&gt;, and &lt;wchar.h&gt;.
+
+ Here is a more complete story:
+
+ <STRONG>o</STRONG> Starting with BSD curses, all implementations have included
+ &lt;stdio.h&gt;.
+
+ BSD curses included &lt;curses.h&gt; and &lt;unctrl.h&gt; from an internal
+ header "curses.ext" ("ext" was a short name for <EM>externs</EM>).
+
+ BSD curses used &lt;stdio.h&gt; internally (for <STRONG>printw</STRONG> and <STRONG>scanw</STRONG>), but
+ nothing in &lt;curses.h&gt; itself relied upon &lt;stdio.h&gt;.
+
+ <STRONG>o</STRONG> SVr2 curses added <STRONG><A HREF="curs_initscr.3x.html">newterm(3x)</A></STRONG>, which relies upon &lt;stdio.h&gt;. That
+ is, the function prototype uses <STRONG>FILE</STRONG>.
+
+ SVr4 curses added <STRONG>putwin</STRONG> and <STRONG>getwin</STRONG>, which also use &lt;stdio.h&gt;.
+
+ X/Open Curses documents all three of these functions.
+
+ SVr4 curses and X/Open Curses do not require the developer to
+ include &lt;stdio.h&gt; before including &lt;curses.h&gt;. Both document
+ curses showing &lt;curses.h&gt; as the only required header.
+
+ As a result, standard &lt;curses.h&gt; will always include &lt;stdio.h&gt;.
+
+ <STRONG>o</STRONG> X/Open Curses is inconsistent with respect to SVr4 regarding
+ &lt;unctrl.h&gt;.
+
+ As noted in <STRONG><A HREF="curs_util.3x.html">curs_util(3x)</A></STRONG>, ncurses includes &lt;unctrl.h&gt; from
+ &lt;curses.h&gt; (like SVr4).
+
+ <STRONG>o</STRONG> X/Open's comments about &lt;term.h&gt; and &lt;termios.h&gt; may refer to HP-UX
+ and AIX:
+
+ HP-UX curses includes &lt;term.h&gt; from &lt;curses.h&gt; to declare <STRONG>setupterm</STRONG>
+ in curses.h, but ncurses (and Solaris curses) do not.
+
+ AIX curses includes &lt;term.h&gt; and &lt;termios.h&gt;. Again, ncurses (and
+ Solaris curses) do not.
+
+ <STRONG>o</STRONG> X/Open says that &lt;curses.h&gt; <EM>may</EM> include &lt;term.h&gt;, but there is no
+ requirement that it do that.
+
+ Some programs use functions declared in both &lt;curses.h&gt; and
+ &lt;term.h&gt;, and must include both headers in the same module. Very
+ old versions of AIX curses required including &lt;curses.h&gt; before
+ including &lt;term.h&gt;.
+
+ Because ncurses header files include the headers needed to define
+ datatypes used in the headers, ncurses header files can be included
+ in any order. But for portability, you should include &lt;curses.h&gt;
+ before &lt;term.h&gt;.
+
+ <STRONG>o</STRONG> X/Open Curses says <EM>"may</EM> <EM>make</EM> <EM>visible"</EM> because including a header
+ file does not necessarily make all symbols in it visible (there are
+ ifdef's to consider).
+
+ For instance, in ncurses &lt;wchar.h&gt; <EM>may</EM> be included if the proper
+ symbol is defined, and if ncurses is configured for wide-character
+ support. If the header is included, its symbols may be made
+ visible. That depends on the value used for <STRONG>_XOPEN_SOURCE</STRONG> feature
+ test macro.
+
+ <STRONG>o</STRONG> X/Open Curses documents one required header, in a special case:
+ &lt;stdarg.h&gt; before &lt;curses.h&gt; to prototype the <STRONG>vw_printw</STRONG> and
+ <STRONG>vw_scanw</STRONG> functions (as well as the obsolete the <STRONG>vwprintw</STRONG> and
+ <STRONG>vwscanw</STRONG> functions). Each of those uses a <STRONG>va_list</STRONG> parameter.
+
+ The two obsolete functions were introduced in SVr3. The other
+ functions were introduced in X/Open Curses. In between, SVr4
+ curses provided for the possibility that an application might
+ include either &lt;varargs.h&gt; or &lt;stdarg.h&gt;. Initially, that was done
+ by using <STRONG>void*</STRONG> for the <STRONG>va_list</STRONG> parameter. Later, a special type
+ (defined in &lt;stdio.h&gt;) was introduced, to allow for compiler type-
+ checking. That special type is always available, because &lt;stdio.h&gt;
+ is always included by &lt;curses.h&gt;.
+
+ None of the X/Open Curses implementations require an application to
+ include &lt;stdarg.h&gt; before &lt;curses.h&gt; because they either have
+ allowed for a special type, or (like ncurses) include &lt;stdarg.h&gt;
+ directly to provide a portable interface.
+
+
+</PRE><H2><a name="h2-NOTES">NOTES</a></H2><PRE>
If standard output from a <STRONG>ncurses</STRONG> program is re-directed to something
which is not a tty, screen updates will be directed to standard error.
This was an undocumented feature of AT&amp;T System V Release 3 curses.
@@ -1384,7 +1521,14 @@
<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-PORTABILITY">PORTABILITY</a>
+<ul>
+<li><a href="#h3-Error-checking">Error checking</a></li>
+<li><a href="#h3-Extensions-versus-portability">Extensions versus portability</a></li>
+<li><a href="#h3-Padding-differences">Padding differences</a></li>
+<li><a href="#h3-Header-files">Header files</a></li>
+</ul>
+</li>
<li><a href="#h2-NOTES">NOTES</a></li>
<li><a href="#h2-AUTHORS">AUTHORS</a></li>
</ul>
diff --git a/doc/html/man/ncurses6-config.1.html b/doc/html/man/ncurses6-config.1.html
index 0f8c15e564a3..e2678b28eb26 100644
--- a/doc/html/man/ncurses6-config.1.html
+++ b/doc/html/man/ncurses6-config.1.html
@@ -101,11 +101,11 @@
<STRONG>--terminfo-dirs</STRONG>
echos the $TERMINFO_DIRS directory list, e.g.,
- /usr/local/ncurses/share/terminfo:/usr/share/terminfo
+ /usr/share/terminfo
<STRONG>--termpath</STRONG>
- echos the $TERMPATH termcap list, if support for termcap is con-
- figured.
+ echos the $TERMPATH termcap list, if support for termcap is
+ configured.
<STRONG>--help</STRONG> prints this message
@@ -113,7 +113,7 @@
</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.2 (patch 20200215).
+ This describes <STRONG>ncurses</STRONG> version 6.2 (patch 20210109).
diff --git a/doc/html/man/new_pair.3x.html b/doc/html/man/new_pair.3x.html
index dec3de15c7b1..28c9988c7938 100644
--- a/doc/html/man/new_pair.3x.html
+++ b/doc/html/man/new_pair.3x.html
@@ -28,7 +28,7 @@
* authorization. *
****************************************************************************
* Author: Thomas E. Dickey
- * @Id: new_pair.3x,v 1.14 2020/02/02 23:34:34 tom Exp @
+ * @Id: new_pair.3x,v 1.15 2020/10/17 23:54:50 tom Exp @
-->
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN">
<HTML>
@@ -54,33 +54,33 @@
</PRE><H2><a name="h2-SYNOPSIS">SYNOPSIS</a></H2><PRE>
<STRONG>#include</STRONG> <STRONG>&lt;curses.h&gt;</STRONG>
- <STRONG>int</STRONG> <STRONG>alloc_pair(int</STRONG> <STRONG>fg,</STRONG> <STRONG>int</STRONG> <STRONG>bg);</STRONG>
- <STRONG>int</STRONG> <STRONG>find_pair(int</STRONG> <STRONG>fg,</STRONG> <STRONG>int</STRONG> <STRONG>bg);</STRONG>
- <STRONG>int</STRONG> <STRONG>free_pair(int</STRONG> <STRONG>pair);</STRONG>
+ <STRONG>int</STRONG> <STRONG>alloc_pair(int</STRONG> <EM>fg</EM><STRONG>,</STRONG> <STRONG>int</STRONG> <EM>bg</EM><STRONG>);</STRONG>
+ <STRONG>int</STRONG> <STRONG>find_pair(int</STRONG> <EM>fg</EM><STRONG>,</STRONG> <STRONG>int</STRONG> <EM>bg</EM><STRONG>);</STRONG>
+ <STRONG>int</STRONG> <STRONG>free_pair(int</STRONG> <EM>pair</EM><STRONG>);</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.
+ application to dynamically allocate a color pair using the
+ foreground/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
+ <STRONG>o</STRONG> While almost all terminals allow setting the color <EM>attributes</EM>
+ independently, 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> Color pairs are the curses library's way of managing a color
+ palette on a terminal. If the library does not keep track of the
+ <EM>combinations</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>o</STRONG> For simple terminal emulators with only a few dozen color
+ combinations, it is convenient to use the maximum number of
+ combinations as the limit on color pairs:
<STRONG>COLORS</STRONG> <EM>*</EM> <STRONG>COLORS</STRONG>
@@ -93,8 +93,8 @@
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).
+ background colors for "ASCII art" (or some other non-textual
+ application).
Also beyond those few dozen pairs, the required size for a table to
represent the combinations grows rapidly with an increasing number
@@ -105,9 +105,9 @@
</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.
+ The <STRONG>alloc_pair</STRONG> function accepts parameters for foreground and
+ background color, and checks if that color combination is already
+ associated with a color pair.
<STRONG>o</STRONG> If the combination already exists, <STRONG>alloc_pair</STRONG> returns the existing
pair.
@@ -115,21 +115,21 @@
<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.
+ <STRONG>o</STRONG> If the table fills up, <STRONG>alloc_pair</STRONG> discards the least-recently
+ allocated 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.
+ pairs. The size of the table is determined by the terminfo <EM>pairs</EM>
+ capability. 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.
+ a color pair, returning the pair number if it has been allocated.
+ Otherwise it returns -1.
</PRE><H3><a name="h3-free_pair">free_pair</a></H3><PRE>
diff --git a/doc/html/man/panel.3x.html b/doc/html/man/panel.3x.html
index a9522c7d94a9..df93d91550db 100644
--- a/doc/html/man/panel.3x.html
+++ b/doc/html/man/panel.3x.html
@@ -100,11 +100,11 @@
</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.
+ 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 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
@@ -125,8 +125,8 @@
</PRE><H3><a name="h3-del_panel">del_panel</a></H3><PRE>
- <STRONG>del_panel(</STRONG><EM>pan</EM><STRONG>)</STRONG> removes the given panel <EM>pan</EM> from the stack and deallo-
- cates the <STRONG>PANEL</STRONG> structure (but not its associated window).
+ <STRONG>del_panel(</STRONG><EM>pan</EM><STRONG>)</STRONG> removes the given panel <EM>pan</EM> from the stack and
+ deallocates the <STRONG>PANEL</STRONG> structure (but not its associated window).
</PRE><H3><a name="h3-ground_panel">ground_panel</a></H3><PRE>
@@ -213,8 +213,8 @@
</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.
+ Each routine that returns an int value returns <STRONG>OK</STRONG> if it executes
+ successfully and <STRONG>ERR</STRONG> if not.
Except as noted, the <EM>pan</EM> and <EM>window</EM> parameters must be non-null. If
those are null, an error is returned.
@@ -227,16 +227,16 @@
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.
+ <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 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.
+ The functions <STRONG>show_panel</STRONG> and <STRONG>top_panel</STRONG> are identical in this
+ implementation, 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
+ compatibility with native panel libraries.
</PRE><H2><a name="h2-NOTE">NOTE</a></H2><PRE>
@@ -281,13 +281,13 @@
</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 6.2 (patch 20200215).
+ This describes <STRONG>ncurses</STRONG> version 6.2 (patch 20210109).
</PRE><H2><a name="h2-AUTHOR">AUTHOR</a></H2><PRE>
- Originally written by Warren Tucker &lt;wht@n4hgf.mt-park.ga.us&gt;, primar-
- ily to assist in porting <EM>u386mon</EM> to systems without a native panels
- library.
+ Originally written by Warren Tucker &lt;wht@n4hgf.mt-park.ga.us&gt;,
+ primarily to assist in porting <EM>u386mon</EM> to systems without a native
+ panels library.
Repackaged for ncurses by Zeyd ben-Halim.
diff --git a/doc/html/man/resizeterm.3x.html b/doc/html/man/resizeterm.3x.html
index 3705e3c78d47..66b807d4edf5 100644
--- a/doc/html/man/resizeterm.3x.html
+++ b/doc/html/man/resizeterm.3x.html
@@ -28,7 +28,7 @@
* authorization. *
****************************************************************************
* Author: Thomas E. Dickey 1996-on
- * @Id: resizeterm.3x,v 1.27 2020/02/02 23:34:34 tom Exp @
+ * @Id: resizeterm.3x,v 1.28 2020/10/17 23:55:41 tom Exp @
-->
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN">
<HTML>
@@ -55,15 +55,15 @@
</PRE><H2><a name="h2-SYNOPSIS">SYNOPSIS</a></H2><PRE>
<STRONG>#include</STRONG> <STRONG>&lt;curses.h&gt;</STRONG>
- <STRONG>bool</STRONG> <STRONG>is_term_resized(int</STRONG> <STRONG>lines,</STRONG> <STRONG>int</STRONG> <STRONG>columns);</STRONG>
- <STRONG>int</STRONG> <STRONG>resize_term(int</STRONG> <STRONG>lines,</STRONG> <STRONG>int</STRONG> <STRONG>columns);</STRONG>
- <STRONG>int</STRONG> <STRONG>resizeterm(int</STRONG> <STRONG>lines,</STRONG> <STRONG>int</STRONG> <STRONG>columns);</STRONG>
+ <STRONG>bool</STRONG> <STRONG>is_term_resized(int</STRONG> <EM>lines</EM><STRONG>,</STRONG> <STRONG>int</STRONG> <EM>columns</EM><STRONG>);</STRONG>
+ <STRONG>int</STRONG> <STRONG>resize_term(int</STRONG> <EM>lines</EM><STRONG>,</STRONG> <STRONG>int</STRONG> <EM>columns</EM><STRONG>);</STRONG>
+ <STRONG>int</STRONG> <STRONG>resizeterm(int</STRONG> <EM>lines</EM><STRONG>,</STRONG> <STRONG>int</STRONG> <EM>columns</EM><STRONG>);</STRONG>
</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).
+ hook into the <STRONG>ncurses</STRONG> data to resize windows, primarily for use by
+ programs running in an X Window terminal (e.g., xterm).
</PRE><H3><a name="h3-resizeterm">resizeterm</a></H3><PRE>
@@ -76,7 +76,7 @@
</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>).
+ as repainting the soft-key area (see <STRONG><A HREF="curs_slk.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
@@ -102,15 +102,15 @@
</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.
+ than or equal to zero, or if an error occurs while (re)allocating
+ memory 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.
+ While these functions are intended to be used to support a signal
+ handler (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,
@@ -132,9 +132,9 @@
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.
+ the library's use of the window size obtained from the operating
+ system. 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>
diff --git a/doc/html/man/scr_dump.5.html b/doc/html/man/scr_dump.5.html
index e73ebc08f05e..f1527c8b353e 100644
--- a/doc/html/man/scr_dump.5.html
+++ b/doc/html/man/scr_dump.5.html
@@ -60,8 +60,8 @@
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>.
+ <STRONG>scr_restore</STRONG> conveniently save and restore the whole screen, i.e.,
+ <STRONG>stdscr</STRONG>.
</PRE><H3><a name="h3-ncurses6">ncurses6</a></H3><PRE>
@@ -72,8 +72,8 @@
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
+ Because ncurses6 uses a new format, that requires a new magic
+ number was unused by other applications. This 16-bit number was
unused:
0x8888 (octal "\210\210")
@@ -82,8 +82,8 @@
0x88888888 (octal "\210\210\210\210")
- This is the pattern submitted to the maintainers of the <STRONG>file</STRONG> pro-
- gram:
+ This is the pattern submitted to the maintainers of the <STRONG>file</STRONG>
+ program:
#
# ncurses5 (and before) did not use a magic number,
@@ -95,17 +95,17 @@
<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.
+ library to read dumps from either narrow- or wide-character-
+ configurations.
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> It is possible to read a screen dump into a terminal with a
+ different 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.
@@ -139,8 +139,8 @@
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.
+ by <EM>putwin(</EM> <EM>)</EM>. The function then creates and initializes a new
+ window 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>.
@@ -157,17 +157,17 @@
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.
+ <STRONG>to</STRONG> <STRONG>earlier</STRONG> <STRONG>XPG</STRONG> <STRONG>releases</STRONG>. The relevant reference pages may
+ provide 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
+ Unix SystemV curses identified the file format by writing a "magic
+ number" at the beginning of the dump. The <STRONG>WINDOW</STRONG> data and the lines of
text follow, all in binary form.
The Solaris curses source has these definitions:
@@ -198,9 +198,10 @@
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):
+ The Unix systems do not use identical formats. While collecting
+ information 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)
@@ -212,27 +213,27 @@
</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
+ 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
+ <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
+ 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.
+ 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
+ writing 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,
+ 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.,
@@ -243,7 +244,7 @@
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
+ 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
@@ -251,14 +252,14 @@
<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,
+ <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
+ Given a simple program which writes text to the screen (and for the
sake of example, limiting the screen-size to 10x20):
#include &lt;curses.h&gt;
@@ -316,13 +317,13 @@
<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
+ <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}",
+ <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
+ <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:
@@ -361,13 +362,13 @@
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
+ 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"):
+ On the other hand, the SVr4 curses library does know about the
+ background 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
diff --git a/doc/html/man/tabs.1.html b/doc/html/man/tabs.1.html
index df6290d38ffe..34dc416ead2e 100644
--- a/doc/html/man/tabs.1.html
+++ b/doc/html/man/tabs.1.html
@@ -27,7 +27,7 @@
* sale, use or other dealings in this Software without prior written *
* authorization. *
****************************************************************************
- * @Id: tabs.1,v 1.27 2020/02/02 23:34:34 tom Exp @
+ * @Id: tabs.1,v 1.28 2020/12/19 21:50:22 tom Exp @
-->
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN">
<HTML>
@@ -63,20 +63,21 @@
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.
-
- 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
+ the standard output to a file (which prevents <STRONG>tabs</STRONG> from actually
+ changing the tabstops), and later <STRONG>cat</STRONG> the file to the screen, setting
+ tabstops at that point.
+
+ These are hardware tabs, which cannot be queried rapidly by
+ applications 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
+ or use the <STRONG>reset</STRONG> program, since the normal initialization sequences do
not ensure that tab-stops are reset.
@@ -84,29 +85,29 @@
</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
+ 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,
+ <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
+ <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
+ 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
+ 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.
@@ -115,15 +116,15 @@
</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,
+ 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
+ Use a "+" to treat a number as an increment relative to the previous
value, e.g.,
tabs 1,+5,+5,+5,+5
@@ -154,59 +155,59 @@
</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>
+ <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
- <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.
+ <STRONG>o</STRONG> This standard describes a <STRONG>+m</STRONG> option, to set a terminal's left-
+ margin. 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.
- <STRONG>o</STRONG> There is no counterpart in X/Open Curses Issue 7 for this utility,
+ <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
+ The <STRONG>-d</STRONG> (debug) and <STRONG>-n</STRONG> (no-op) options are extensions not provided by
other implementations.
- 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
+ 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
+ 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,
+ Later versions of Unix, e.g., SVr4, added support for the terminal
+ database, but kept the tables, as a fallback. In an earlier
+ development 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
+ 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
+ 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>
+ 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
+ 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.
+ However, the <EM>Explicit</EM> <EM>Lists</EM> described in this manual page were
+ implemented 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>.
+ <STRONG><A HREF="infocmp.1m.html">infocmp(1m)</A></STRONG>, <STRONG><A HREF="tset.1.html">tset(1)</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 6.2 (patch 20200215).
+ This describes <STRONG>ncurses</STRONG> version 6.2 (patch 20210109).
diff --git a/doc/html/man/term.5.html b/doc/html/man/term.5.html
index bc60a21058b7..03c6b3b68d57 100644
--- a/doc/html/man/term.5.html
+++ b/doc/html/man/term.5.html
@@ -27,7 +27,7 @@
* sale, use or other dealings in this Software without prior written *
* authorization. *
****************************************************************************
- * @Id: term.5,v 1.33 2020/02/02 23:34:34 tom Exp @
+ * @Id: term.5,v 1.38 2020/07/25 21:56:02 tom Exp @
-->
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN">
<HTML>
@@ -65,108 +65,139 @@
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.
+ <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.
<STRONG>hashed</STRONG> <STRONG>database</STRONG>
- 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.
+ 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 primary name as a key, and records containing
+ only aliases pointing to the primary name.
- If built to write hashed databases, <STRONG>ncurses</STRONG> can still read ter-
- minfo databases organized as a directory tree, but cannot write
+ If built to write hashed databases, <STRONG>ncurses</STRONG> 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.
- <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.
+ <STRONG>ncurses</STRONG> 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.
</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.
+ An 8 or more bit byte is assumed, but no assumptions about byte
+ ordering or sign extension are made.
- 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 compiled file is created with the <STRONG>tic</STRONG> program, and read by the
+ routine <STRONG><A HREF="curs_terminfo.3x.html">setupterm(3x)</A></STRONG>. The file is divided into six parts:
- The header section begins the file. This section contains six short
+ a) <EM>header</EM>,
+
+ b) <EM>terminal</EM> <EM>names</EM>,
+
+ c) <EM>boolean</EM> <EM>flags</EM>,
+
+ d) <EM>numbers</EM>,
+
+ e) <EM>strings</EM>, and
+
+ f) <EM>string</EM> <EM>table</EM>.
+
+ The <EM>header</EM> section begins the file. This section contains six short
integers in the format described below. These integers are
- (1) the magic number (octal 0432);
+ (1) the <EM>magic</EM> <EM>number</EM> (octal 0432);
+
+ (2) the size, in bytes, of the <EM>terminal</EM> <EM>names</EM> section;
+
+ (3) the number of bytes in the <EM>boolean</EM> <EM>flags</EM> section;
- (2) the size, in bytes, of the names section;
+ (4) the number of short integers in the <EM>numbers</EM> section;
- (3) the number of bytes in the boolean section;
+ (5) the number of offsets (short integers) in the <EM>strings</EM> section;
- (4) the number of short integers in the numbers section;
+ (6) the size, in bytes, of the <EM>string</EM> <EM>table</EM>.
- (5) the number of offsets (short integers) in the strings section;
+ The capabilities in the <EM>boolean</EM> <EM>flags</EM>, <EM>numbers</EM>, and <EM>strings</EM> sections
+ are in the same order as the file &lt;term.h&gt;.
- (6) the size, in bytes, of the string table.
+ Short integers are signed, in the range -32768 to 32767. They are
+ stored as 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.)
+ This format corresponds to the hardware 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.
- 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.
+ Numbers in a terminal description, whether they are entries in the
+ <EM>numbers</EM> or <EM>strings</EM> table, are positive integers. Boolean flags are
+ treated as positive one-byte integers. In each case, those positive
+ integers represent a terminal capability. The terminal compiler tic
+ uses negative integers to handle the cases where a capability is not
+ available:
- 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.
+ <STRONG>o</STRONG> If a capability is absent from this terminal, tic stores a -1 in
+ the corresponding table.
- The boolean flags have one byte for each flag. This byte is either 0
- or 1 as the flag is present or absent. The capabilities are in the
- same order as the file &lt;term.h&gt;.
+ The integer value -1 is represented by two bytes 0377, 0377.
+ Absent boolean values are represented by the byte 0 (false).
- 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.
+ <STRONG>o</STRONG> If a capability has been canceled from this terminal, tic stores a
+ -2 in the corresponding table.
- 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 integer value -2 is represented by two bytes 0377, 0376.
+ The boolean value -2 is represented by the byte 0376.
- The strings section is also similar. Each capability is stored as a
- short integer, in the format above. A value of -1 means the capability
- is missing. Otherwise, the value is taken as an offset from the begin-
- ning of the string table. Special characters in ^X or \c notation are
- stored in their interpreted form, not the printing representation.
- Padding information $&lt;nn&gt; and parameter information %x are stored
- intact in uninterpreted form.
+ <STRONG>o</STRONG> Other negative values are illegal.
- 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.
+ The <EM>terminal</EM> <EM>names</EM> section comes after the <EM>header</EM>. It contains the
+ first line of the terminfo description, listing the various names for
+ the terminal, separated by the "|" character. The <EM>terminal</EM> <EM>names</EM>
+ section is terminated with an ASCII NUL character.
+
+ The <EM>boolean</EM> <EM>flags</EM> section has one byte for each flag. Boolean
+ capabilities are either 1 or 0 (true or false) according to whether the
+ terminal supports the given capability or not.
+
+ Between the <EM>boolean</EM> <EM>flags</EM> section and the <EM>number</EM> section, a null byte
+ will be inserted, if necessary, to ensure that the <EM>number</EM> section
+ begins on an even byte This is a relic of the PDP-11's word-addressed
+ architecture, originally designed to avoid traps induced by addressing
+ a word on an odd byte boundary. All short integers are aligned on a
+ short word boundary.
+
+ The <EM>numbers</EM> section is similar to the <EM>boolean</EM> <EM>flags</EM> section. Each
+ capability takes up two bytes, and is stored as a little-endian short
+ integer.
+
+ The <EM>strings</EM> section is also similar. Each capability is stored as a
+ short integer. The capability value is an index into the <EM>string</EM> <EM>table</EM>.
+
+ The <EM>string</EM> <EM>table</EM> is the last section. It contains all of the values of
+ string capabilities referenced in the <EM>strings</EM> section. Each string is
+ null-terminated. Special characters in ^X or \c notation are stored in
+ their interpreted form, not the printing representation. Padding
+ information $&lt;nn&gt; and parameter information %x are stored intact in
+ uninterpreted form.
</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
+ 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.
+ format, allowing users to define capabilities 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. <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):
@@ -180,103 +211,103 @@
(5) size of the extended string table in bytes
- The count- and size-values for the extended string table include the
+ 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>.
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
+ 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.
- 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
+ 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><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
+ 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
+ <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.
+ To maintain compatibility, the library presents the same data
+ structures 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.
+ 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
+ database may have been updated since <STRONG>setupterm</STRONG> has been recompiled
+ (resulting 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 boolean, 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
+ 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.
- 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
+ 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 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><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
+ 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-
+ 01036 as a continuation of that sequence, but with a different high-
order byte to avoid confusion.
</PRE><H3><a name="h3-The-TERMTYPE-structure">The TERMTYPE structure</a></H3><PRE>
- 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.
+ Direct access to the <STRONG>TERMTYPE</STRONG> structure is provided for legacy
+ applications. Portable applications should use the <STRONG>tigetflag</STRONG> and
+ related functions described in <STRONG><A HREF="curs_terminfo.3x.html">curs_terminfo(3x)</A></STRONG> for reading terminal
+ capabilities.
</PRE><H3><a name="h3-Mixed-case-terminal-names">Mixed-case terminal names</a></H3><PRE>
- 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.
+ 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
+ character" 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:
+ As an example, here is a description for the Lear-Siegler ADM-3, a
+ popular though rather stupid early terminal:
adm3a|lsi adm3a,
am,
@@ -316,14 +347,19 @@
</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 4096 bytes in the legacy
+ format.
- <STRONG>o</STRONG> total compiled entries cannot exceed 32768 bytes in the extended
+ <STRONG>o</STRONG> total compiled entries cannot exceed 32768 bytes in the extended
format.
<STRONG>o</STRONG> the name field cannot exceed 128 bytes.
+ Compiled entries are limited to 32768 bytes because offsets into the
+ <EM>strings</EM> <EM>table</EM> use two-byte integers. The legacy format could have
+ supported 32768-byte entries, but was limited a virtual memory page's
+ 4096 bytes.
+
</PRE><H2><a name="h2-FILES">FILES</a></H2><PRE>
/usr/share/terminfo/*/* compiled terminal capability data base
diff --git a/doc/html/man/term.7.html b/doc/html/man/term.7.html
index a967141629cb..7a6a2965524d 100644
--- a/doc/html/man/term.7.html
+++ b/doc/html/man/term.7.html
@@ -58,8 +58,8 @@
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.
+ 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 terminal type like "dumb" or
@@ -69,10 +69,10 @@
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.)
+ 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> setting to your
taste in your shell profile. The <STRONG><A HREF="tset.1.html">tset(1)</A></STRONG> utility may be of assistance;
@@ -90,10 +90,10 @@
toe | more
- 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:
+ 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 follows:
infocmp <EM>entry</EM><STRONG>_</STRONG><EM>name</EM>
@@ -109,21 +109,21 @@
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.
+ aliases for the terminal, usually historical names retained for
+ compatibility.
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
+ First, choose a root name. The root will consist of a lower-case
+ letter 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
+ 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.
@@ -144,18 +144,18 @@
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>).
+ 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.
2p Has two pages of memory. Likewise 4p, 8p, etc.
- 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.
+ 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.
-am Enable auto-margin (right-margin wraparound).
@@ -191,8 +191,8 @@
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.
+ fall back on the <STRONG>TERM</STRONG> environment variable when no -T option is
+ specified.
</PRE><H2><a name="h2-PORTABILITY">PORTABILITY</a></H2><PRE>
diff --git a/doc/html/man/terminfo.5.html b/doc/html/man/terminfo.5.html
index 0bfba033e7e7..0e5deb267a7a 100644
--- a/doc/html/man/terminfo.5.html
+++ b/doc/html/man/terminfo.5.html
@@ -62,7 +62,7 @@
* sale, use or other dealings in this Software without prior written *
* authorization. *
****************************************************************************
- * @Id: terminfo.tail,v 1.99 2020/02/02 23:34:34 tom Exp @
+ * @Id: terminfo.tail,v 1.100 2020/12/19 21:51:22 tom Exp @
*.in -2
*.in +2
*.in -2
@@ -96,43 +96,45 @@
</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>).
+ programs such as <STRONG>nvi(1)</STRONG>, <STRONG>lynx(1)</STRONG>, <STRONG>mutt(1)</STRONG>, and other curses
+ applications, 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.2 (patch 20200215).
+ This manual describes <STRONG>ncurses</STRONG> version 6.2 (patch 20210109).
</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
+ <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
+ <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>.
+ 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
+ formatted terminal description can be read by <STRONG>tic</STRONG>.
- <STRONG>o</STRONG> The first field for each terminal gives the names which are known
+ <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.
+ The first name given is the most common abbreviation for the
+ terminal (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
@@ -143,20 +145,20 @@
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.
+ <STRONG>o</STRONG> 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.
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:
+ 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 preferences, 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 possible:
<STRONG>Suffix</STRONG> <STRONG>Meaning</STRONG> <STRONG>Example</STRONG>
-<EM>nn</EM> Number of lines on the screen aaa-60
@@ -178,8 +180,8 @@
</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.
+ that the terminal has, or methods for exercising the terminal's
+ features.
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
@@ -206,9 +208,9 @@
</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:
+ defined as being just like the other (the base) with certain
+ exceptions. 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>.
@@ -220,9 +222,9 @@
<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
+ 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 capability. For example,
+ the entry
2621-nl, smkx@, rmkx@, use=2621,
@@ -248,8 +250,8 @@
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.
+ names). Semantics are also intended to match those of the
+ specification.
The termcap code is the old <STRONG>termcap</STRONG> capability name (some capabilities
are new, and have names which termcap did not originate).
@@ -264,7 +266,11 @@
(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>).
+ through <STRONG><A HREF="curs_terminfo.3x.html">tparm(3x)</A></STRONG> with parameters as given (#<EM>i</EM>).
+
+ If no parameters are listed in the description, passing the
+ string through <STRONG><A HREF="curs_terminfo.3x.html">tparm(3x)</A></STRONG> may give unexpected results, e.g., if
+ it contains percent (%%) signs.
(P*) indicates that padding may vary in proportion to the number of
lines affected
@@ -277,51 +283,53 @@
<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
+ auto_left_margin bw bw cub1 wraps from
+ column 0 to last
+ column
+ auto_right_margin am am terminal has
+ automatic margins
+ back_color_erase bce ut screen erased with
+ background color
can_change ccc cc terminal can re-
- define existing col-
- ors
+ define existing
+ colors
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
+ pitch changes
+ resolution
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
+ after 80 cols
+ (concept)
+ erase_overstrike eo eo can erase
+ overstrikes 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_print_wheel daisy YC printer needs
+ operator to change
+ character 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
+ insert_null_glitch in in insert mode
+ distinguishes nulls
lpi_changes_res lpix YG changing line pitch
changes resolution
memory_above da da display may be
@@ -343,15 +351,15 @@
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
+ over_strike os os terminal can
+ overstrike
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
@@ -409,26 +417,24 @@
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
+ dot_horz_spacing spinh Yc spacing of dots
+ horizontally in dots
+ per inch
+ dot_vert_spacing spinv Yb spacing of pins
+ vertically in pins
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
@@ -439,18 +445,19 @@
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_char orc Yi horizontal
+ resolution in units
+ per line
+ output_res_horz_inch orhi Yk horizontal
+ resolution 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
+ print_rate cps Ym print rate in
+ characters per
+ second
wide_char_size widcs Yn character step size
when in double wide
mode
@@ -475,15 +482,15 @@
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_res_vert cvr ZD Change vertical
+ resolution 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
@@ -503,17 +510,18 @@
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_address cup cm move to row #1
+ columns #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_invisible civis vi make cursor
+ invisible
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_mem_address mrcup CM memory relative
+ cursor addressing,
+ move to row #1
+ columns #2
cursor_normal cnorm ve make cursor appear
normal (undo
civis/cvvis)
@@ -541,23 +549,23 @@
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_ca_mode smcup ti string to start
+ programs 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_leftward_mode slm ZI Start leftward
+ carriage motion
enter_micro_mode smicm ZJ Start micro-motion
mode
enter_near_letter_quality snlq ZK Enter NLQ mode
@@ -568,8 +576,8 @@
enter_reverse_mode rev mr turn on reverse
video mode
enter_secure_mode invis mk turn on blank mode
- (characters invisi-
- ble)
+ (characters
+ invisible)
enter_shadow_mode sshm ZM Enter shadow-print
mode
enter_standout_mode smso so begin standout mode
@@ -577,20 +585,20 @@
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_upward_mode sum ZP Start upward
+ carriage 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_alt_charset_mode rmacs ae end alternate
+ character 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_ca_mode rmcup te strings to end
+ programs 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
@@ -604,18 +612,19 @@
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_upward_mode rum ZX End reverse
+ character motion
+
+
exit_xon_mode rmxon RX turn off xon/xoff
handshaking
- fixed_pause pause PA pause for 2-3 sec-
- onds
+ fixed_pause pause PA pause for 2-3
+ seconds
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
@@ -626,8 +635,8 @@
string
init_3string is3 i3 initialization
string
- init_file if if name of initializa-
- tion file
+ init_file if if name of
+ initialization file
init_prog iprog iP path name of program
for initialization
initialize_color initc Ic initialize color #1
@@ -641,15 +650,15 @@
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_a3 ka3 K3 upper right of
+ keypad
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_c3 kc3 K5 lower right of
+ keypad
key_cancel kcan @2 cancel key
key_catab ktbc ka clear-all-tabs key
key_clear kclr kC clear-screen or
@@ -672,6 +681,7 @@
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
@@ -681,7 +691,6 @@
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
@@ -738,6 +747,7 @@
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
@@ -747,7 +757,6 @@
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
@@ -768,8 +777,8 @@
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_sdc kDC *4 shifted delete-
+ character key
key_sdl kDL *5 shifted delete-line
key
key_select kslt *6 select key
@@ -781,8 +790,8 @@
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_sic kIC #3 shifted insert-
+ character key
key_sleft kLFT #4 shifted left-arrow
key
key_smessage kMSG %a shifted message key
@@ -804,16 +813,17 @@
key_suspend kspd &amp;7 suspend key
key_undo kund &amp;8 undo key
key_up kcuu1 ku up-arrow key
- keypad_local rmkx ke leave 'key-
- board_transmit' mode
- keypad_xmit smkx ks enter 'key-
- board_transmit' mode
+
+ keypad_local rmkx ke leave
+ 'keyboard_transmit'
+ mode
+ keypad_xmit smkx ks enter
+ 'keyboard_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
@@ -864,22 +874,25 @@
(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_down_micro mcud Zf Like
+ parm_down_cursor 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_left_micro mcub Zg Like
+ parm_left_cursor 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_right_micro mcuf Zh Like
+ parm_right_cursor in
+ micro mode
parm_rindex rin SR scroll back #1 lines
(P)
parm_up_cursor cuu UP up #1 lines (P*)
@@ -902,8 +915,8 @@
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
+ quick_dial qdial QD dial number #1
+ without checking
remove_clock rmclk RC remove clock
repeat_char rep rp repeat char #1 #2
times (P*)
@@ -931,6 +944,8 @@
#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
@@ -941,21 +956,16 @@
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).
+ 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 smgr MR set right soft
+ margin at current
+ column
set_right_margin_parm smgrp Zn Set right margin at
column #1
set_tab hts st set a tab in every
@@ -977,10 +987,12 @@
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
+ subscript_characters subcs Zu List of
+ subscriptable
+ characters
+ superscript_characters supcs Zv List of
+ superscriptable
+ characters
tab ht ta tab to next 8-space
hardware tab stop
these_cause_cr docr Zw Printing any of
@@ -999,6 +1011,7 @@
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
@@ -1006,18 +1019,18 @@
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
+ zero_motion zerom Zx No motion for
+ subsequent character
- The following string capabilities are present in the SVr4.0 term struc-
- ture, but were originally not documented in the man page.
+ 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
+ for scancode
+ emulation
bit_image_carriage_return bicr Yv Move to beginning
of same row
bit_image_newline binel Zz Move to next row
@@ -1025,19 +1038,20 @@
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
+ from list of
+ character 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
+ device_type devt dv Indicate
+ language/codeset
+ support
+ display_pc_char dispc S1 Display PC
+ character #1
end_bit_image_region endbi Yy End a bit-image
region
enter_pc_charset_mode smpch S2 Enter PC character
@@ -1062,10 +1076,12 @@
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
+ scancode_escape scesc S7 Escape for
+ scancode emulation
set0_des_seq s0ds s0 Shift to codeset 0
(EUC set 0, ASCII)
set1_des_seq s1ds s1 Shift to codeset 1
@@ -1077,14 +1093,13 @@
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).
+ not in BSD
+ termcap).
set_page_length slines YZ Set page length to
#1 lines
set_tb_margin smgtb MT Sets both top and
@@ -1107,20 +1122,20 @@
mode
enter_low_hl_mode elohlm Xo Enter low highlight
mode
- enter_right_hl_mode erhlm Xr Enter right high-
- light mode
+ enter_right_hl_mode erhlm Xr Enter right
+ highlight mode
enter_top_hl_mode ethlm Xt Enter top highlight
mode
- enter_vertical_hl_mode evhlm Xv Enter vertical high-
- light mode
+ enter_vertical_hl_mode evhlm Xv Enter vertical
+ highlight 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).
+ inch (some
+ implementations use
+ sL for termcap).
</PRE><H3><a name="h3-User-Defined-Capabilities">User-Defined Capabilities</a></H3><PRE>
@@ -1130,15 +1145,15 @@
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>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 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:
+ 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.
@@ -1149,21 +1164,21 @@
<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.
+ 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.
</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.
+ The following entry, describing an ANSI-standard terminal, is
+ representative 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,
@@ -1200,8 +1215,8 @@
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> 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
@@ -1218,15 +1233,15 @@
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).
+ 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 capabil-
- ities for easy encoding of characters there:
+ A number of escape sequences are provided in the string valued
+ capabilities for easy encoding of characters there:
<STRONG>o</STRONG> Both <STRONG>\E</STRONG> and <STRONG>\e</STRONG> map to an ESCAPE character,
@@ -1268,8 +1283,8 @@
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.
+ 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>.
@@ -1277,8 +1292,8 @@
enclosed in $&lt;..&gt; brackets, as in <STRONG>el</STRONG>=\EK$&lt;5&gt;, and padding characters
are supplied by <STRONG><A HREF="curs_terminfo.3x.html">tputs(3x)</A></STRONG> to provide this delay.
- <STRONG>o</STRONG> The delay must be a number with at most one decimal place of preci-
- sion; it may be followed by suffixes "*" or "/" or both.
+ <STRONG>o</STRONG> The delay must be a number with at most one decimal place of
+ precision; it may be followed by suffixes "*" or "/" or both.
<STRONG>o</STRONG> A "*" indicates that the padding required is proportional to the
number of lines affected by the operation, and the amount given is
@@ -1300,8 +1315,8 @@
</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
+ 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
@@ -1321,86 +1336,85 @@
<STRONG>o</STRONG> Finally, <STRONG>ncurses</STRONG> searches these compiled-in locations:
- <STRONG>o</STRONG> a list of directories (/usr/local/ncurses/share/ter-
- minfo:/usr/share/terminfo), and
+ <STRONG>o</STRONG> a list of directories (no default value), and
- <STRONG>o</STRONG> the system terminfo directory, <EM>/usr/share/terminfo</EM> (the com-
- piled-in default).
+ <STRONG>o</STRONG> the system terminfo directory, <EM>/usr/share/terminfo</EM> (the
+ compiled-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
+ We now outline how to prepare descriptions of terminals. The most
+ effective way to prepare a terminal description is by imitating the
+ description of a similar terminal in <EM>terminfo</EM> and to build up a
description gradually, using partial descriptions with <EM>vi</EM> or some other
- screen-oriented program to check that they are correct. Be aware that
- a very unusual terminal may expose deficiencies in the ability of the
+ screen-oriented program to check that they are correct. Be aware that
+ a very unusual terminal may expose deficiencies in the ability of the
<EM>terminfo</EM> file to describe it or bugs in the screen-handling code of the
test program.
- To get the padding for insert line right (if the terminal manufacturer
- did not document it) a severe test is to edit a large file at 9600
+ To get the padding for insert line right (if the terminal manufacturer
+ did not document it) a severe test is to edit a large file at 9600
baud, delete 16 or so lines from the middle of the screen, then hit the
"u" key several times quickly. If the terminal messes up, more padding
is usually needed. A similar test can be used for insert character.
</PRE><H3><a name="h3-Basic-Capabilities">Basic Capabilities</a></H3><PRE>
- The number of columns on each line for the terminal is given by the
- <STRONG>cols</STRONG> numeric capability. If the terminal is a CRT, then the number of
- lines on the screen is given by the <STRONG>lines</STRONG> capability. If the terminal
- wraps around to the beginning of the next line when it reaches the
- right margin, then it should have the <STRONG>am</STRONG> capability. If the terminal
- can clear its screen, leaving the cursor in the home position, then
- this is given by the <STRONG>clear</STRONG> string capability. If the terminal 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
+ The number of columns on each line for the terminal is given by the
+ <STRONG>cols</STRONG> numeric capability. If the terminal is a CRT, then the number of
+ lines on the screen is given by the <STRONG>lines</STRONG> capability. If the terminal
+ wraps around to the beginning of the next line when it reaches the
+ right margin, then it should have the <STRONG>am</STRONG> capability. If the terminal
+ can clear its screen, leaving the cursor in the home position, then
+ this is given by the <STRONG>clear</STRONG> string capability. If the terminal
+ overstrikes (rather than clearing a position when a character is struck
+ over) then it should have the <STRONG>os</STRONG> capability. If the terminal is a
printing terminal, with no soft copy unit, give it both <STRONG>hc</STRONG> and <STRONG>os</STRONG>. (<STRONG>os</STRONG>
- applies to storage scope terminals, such as TEKTRONIX 4010 series, as
- well as hard copy and APL terminals.) If there is a code to move the
+ applies to storage scope terminals, such as TEKTRONIX 4010 series, as
+ well as hard copy and APL terminals.) If there is a code to move the
cursor to the left edge of the current row, give this as <STRONG>cr</STRONG>. (Normally
- this will be carriage return, control/M.) If there is a code to pro-
- duce an audible signal (bell, beep, etc) give this as <STRONG>bel</STRONG>.
+ this will be carriage return, control/M.) If there is a code to
+ produce an audible signal (bell, beep, etc) give this as <STRONG>bel</STRONG>.
If there is a code to move the cursor one position to the left (such as
- backspace) that capability should be given as <STRONG>cub1</STRONG>. Similarly, codes
- to move to the right, up, and down should be given as <STRONG>cuf1</STRONG>, <STRONG>cuu1</STRONG>, and
- <STRONG>cud1</STRONG>. These local cursor motions should not alter the text they pass
- over, for example, you would not normally use "<STRONG>cuf1</STRONG>= " because the
+ backspace) that capability should be given as <STRONG>cub1</STRONG>. Similarly, codes
+ to move to the right, up, and down should be given as <STRONG>cuf1</STRONG>, <STRONG>cuu1</STRONG>, and
+ <STRONG>cud1</STRONG>. These local cursor motions should not alter the text they pass
+ over, for example, you would not normally use "<STRONG>cuf1</STRONG>= " because the
space would erase the character moved over.
A very important point here is that the local cursor motions encoded in
- <EM>terminfo</EM> are undefined at the left and top edges of a CRT terminal.
+ <EM>terminfo</EM> are undefined at the left and top edges of a CRT terminal.
Programs should never attempt to backspace around the left edge, unless
- <STRONG>bw</STRONG> is given, and never attempt to go up locally off the top. In order
- to scroll text up, a program will go to the bottom left corner of the
+ <STRONG>bw</STRONG> is given, and never attempt to go up locally off the top. In order
+ to scroll text up, a program will go to the bottom left corner of the
screen and send the <STRONG>ind</STRONG> (index) string.
- To scroll text down, a program goes to the top left corner of the
+ To scroll text down, a program goes to the top left corner of the
screen and sends the <STRONG>ri</STRONG> (reverse index) string. The strings <STRONG>ind</STRONG> and <STRONG>ri</STRONG>
are undefined when not on their respective corners of the screen.
- Parameterized versions of the scrolling sequences are <STRONG>indn</STRONG> and <STRONG>rin</STRONG>
- which have the same semantics as <STRONG>ind</STRONG> and <STRONG>ri</STRONG> except that they take one
- parameter, and scroll that many lines. They are also undefined except
+ Parameterized versions of the scrolling sequences are <STRONG>indn</STRONG> and <STRONG>rin</STRONG>
+ which have the same semantics as <STRONG>ind</STRONG> and <STRONG>ri</STRONG> except that they take one
+ parameter, and scroll that many lines. They are also undefined except
at the appropriate edge of the screen.
- The <STRONG>am</STRONG> capability tells whether the cursor sticks at the right edge of
- the screen when text is output, but this does not necessarily apply to
- a <STRONG>cuf1</STRONG> from the last column. The only local motion which is defined
- from the left edge is if <STRONG>bw</STRONG> is given, then a <STRONG>cub1</STRONG> from the left edge
- will move to the right edge of the previous row. If <STRONG>bw</STRONG> is not given,
- the effect is undefined. This is useful for drawing a box around the
+ The <STRONG>am</STRONG> capability tells whether the cursor sticks at the right edge of
+ the screen when text is output, but this does not necessarily apply to
+ a <STRONG>cuf1</STRONG> from the last column. The only local motion which is defined
+ from the left edge is if <STRONG>bw</STRONG> is given, then a <STRONG>cub1</STRONG> from the left edge
+ will move to the right edge of the previous row. If <STRONG>bw</STRONG> is not given,
+ the effect is undefined. This is useful for drawing a box around the
edge of the screen, for example. If the terminal has switch selectable
- automatic margins, the <EM>terminfo</EM> file usually assumes that this is on;
- i.e., <STRONG>am</STRONG>. If the terminal has a command which moves to the first 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
+ 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" termi-
- nals. Thus the model 33 teletype is described as
+ These capabilities suffice to describe hard-copy and "glass-tty"
+ terminals. 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,
@@ -1413,28 +1427,28 @@
</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.
+ 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.
The <STRONG>%</STRONG> encodings have the following meanings:
<STRONG>%%</STRONG> outputs "%"
<STRONG>%</STRONG><EM>[[</EM>:<EM>]flags][width[.precision]][</EM><STRONG>doxXs</STRONG><EM>]</EM>
- as in <STRONG>printf(3)</STRONG>, flags are <EM>[-+#]</EM> and <EM>space</EM>. Use a ":" to allow
+ as in <STRONG>printf(3)</STRONG>, flags are <EM>[-+#]</EM> and <EM>space</EM>. Use a ":" to allow
the next character to be a "-" flag, avoiding interpreting "%-" as
an operator.
@@ -1457,9 +1471,9 @@
<STRONG>%g</STRONG><EM>[A-Z]</EM>
get static variable <EM>[a-z]</EM> and push it
- The terms "static" and "dynamic" are misleading. Historically,
+ The terms "static" and "dynamic" are misleading. Historically,
these are simply two different sets of variables, whose values are
- not reset between calls to <STRONG><A HREF="curs_terminfo.3x.html">tparm(3x)</A></STRONG>. However, that fact is not
+ not reset between calls to <STRONG><A HREF="curs_terminfo.3x.html">tparm(3x)</A></STRONG>. However, that fact is not
documented in other implementations. Relying on it will adversely
impact portability to other implementations.
@@ -1489,8 +1503,8 @@
<STRONG>%?</STRONG> <EM>expr</EM> <STRONG>%t</STRONG> <EM>thenpart</EM> <STRONG>%e</STRONG> <EM>elsepart</EM> <STRONG>%;</STRONG>
This forms an if-then-else. The <STRONG>%e</STRONG> <EM>elsepart</EM> is optional. Usually
- the <STRONG>%?</STRONG> <EM>expr</EM> part pushes a value onto the stack, and <STRONG>%t</STRONG> pops it
- from the stack, testing if it is nonzero (true). If it is zero
+ the <STRONG>%?</STRONG> <EM>expr</EM> part pushes a value onto the stack, and <STRONG>%t</STRONG> pops it
+ from the stack, testing if it is nonzero (true). If it is zero
(false), control passes to the <STRONG>%e</STRONG> (else) part.
It is possible to form else-if's a la Algol 68:
@@ -1498,127 +1512,128 @@
where ci are conditions, bi are bodies.
- Use the <STRONG>-f</STRONG> option of <STRONG>tic</STRONG> or <STRONG>infocmp</STRONG> to see the structure of if-
+ Use the <STRONG>-f</STRONG> option of <STRONG>tic</STRONG> or <STRONG>infocmp</STRONG> to see the structure of if-
then-else's. Some strings, e.g., <STRONG>sgr</STRONG> can be very complicated when
- written on one line. The <STRONG>-f</STRONG> option splits the string into lines
+ written on one line. The <STRONG>-f</STRONG> option splits the string into lines
with the parts indented.
- Binary operations are in postfix form with the operands in the usual
- order. That is, to get x-5 one would use "%gx%{5}%-". <STRONG>%P</STRONG> and <STRONG>%g</STRONG> vari-
- ables are persistent across escape-string evaluations.
+ Binary operations are in postfix form with the operands in the usual
+ order. That is, to get x-5 one would use "%gx%{5}%-". <STRONG>%P</STRONG> and <STRONG>%g</STRONG>
+ variables are persistent across escape-string evaluations.
- Consider the HP2645, which, to get to row 3 and column 12, needs to be
- sent \E&amp;a12c03Y padded for 6 milliseconds. Note that the order of the
- rows and columns is inverted here, and that the row and column are
- printed as two digits. Thus its <STRONG>cup</STRONG> capability is
+ Consider the HP2645, which, to get to row 3 and column 12, needs to be
+ sent \E&amp;a12c03Y padded for 6 milliseconds. Note that the order of the
+ rows and columns is inverted here, and that the row and column are
+ printed as two digits. Thus its <STRONG>cup</STRONG> capability is
"cup=6\E&amp;%p2%2dc%p1%2dY".
- The Microterm ACT-IV needs the current row and column sent preceded by
- a <STRONG>^T</STRONG>, with the row and column simply encoded in binary,
- "cup=^T%p1%c%p2%c". Terminals which use "%c" need to be able to
- backspace the cursor (<STRONG>cub1</STRONG>), and to move the cursor up one line on the
- screen (<STRONG>cuu1</STRONG>). This is necessary because it is not always safe to
- transmit <STRONG>\n</STRONG> <STRONG>^D</STRONG> and <STRONG>\r</STRONG>, as the system may change or discard them. (The
- library routines dealing with terminfo set tty modes so that tabs are
- never expanded, so \t is safe to send. This turns out to be essential
+ 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 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
+ "\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
+ previous values) and outputs that value as a character. Then the same
+ is done for the second parameter. More complex arithmetic is possible
using the stack.
</PRE><H3><a name="h3-Cursor-Motions">Cursor Motions</a></H3><PRE>
- If the terminal has a fast way to home the cursor (to very upper left
- corner of screen) then this can be given as <STRONG>home</STRONG>; similarly a fast way
- of getting to the lower left-hand corner can be given as <STRONG>ll</STRONG>; this may
+ If the terminal has a fast way to home the cursor (to very upper left
+ corner of screen) then this can be given as <STRONG>home</STRONG>; similarly a fast way
+ of getting to the lower left-hand corner can be given as <STRONG>ll</STRONG>; this may
involve going up with <STRONG>cuu1</STRONG> from the home position, but a program should
never do this itself (unless <STRONG>ll</STRONG> does) because it can make no assumption
- about the effect of moving up from the home position. Note that the
- home position is the same as addressing to (0,0): to the top left cor-
- ner of the screen, not of memory. (Thus, the \EH sequence on HP termi-
- nals cannot be used for <STRONG>home</STRONG>.)
+ about the effect of moving up from the home position. Note that the
+ home position is the same as addressing to (0,0): to the top left
+ corner of the screen, not of memory. (Thus, the \EH sequence on HP
+ terminals cannot be used for <STRONG>home</STRONG>.)
If the terminal has row or column absolute cursor addressing, these can
- be given as single parameter capabilities <STRONG>hpa</STRONG> (horizontal position
- absolute) and <STRONG>vpa</STRONG> (vertical position absolute). Sometimes these are
- shorter than the more general two parameter sequence (as with the
- hp2645) and can be used in preference to <STRONG>cup</STRONG>. If there are 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
+ be given as single parameter capabilities <STRONG>hpa</STRONG> (horizontal position
+ absolute) and <STRONG>vpa</STRONG> (vertical position absolute). Sometimes these are
+ shorter than the more general two parameter sequence (as with the
+ hp2645) and can be used in preference to <STRONG>cup</STRONG>. If there are
+ parameterized local motions (e.g., move <EM>n</EM> spaces to the right) these
+ can be given as <STRONG>cud</STRONG>, <STRONG>cub</STRONG>, <STRONG>cuf</STRONG>, and <STRONG>cuu</STRONG> with a single parameter
+ indicating how many spaces to move. These are primarily useful if the
+ terminal does not have <STRONG>cup</STRONG>, such as the TEKTRONIX 4025.
+
+ If the terminal needs to be in a special mode when running a program
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>.
+ 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 <STRONG>rmcup</STRONG>), specify <STRONG>nrrmc</STRONG>.
</PRE><H3><a name="h3-Area-Clears">Area Clears</a></H3><PRE>
- If the terminal can clear from the current position to the end of the
- line, leaving the cursor where it is, this should be given as <STRONG>el</STRONG>. If
- the terminal can clear from the beginning of the line to the current
- position inclusive, leaving the cursor where it is, this should be
- given as <STRONG>el1</STRONG>. If the terminal can clear from the current position to
- the end of the display, then this should be given as <STRONG>ed</STRONG>. <STRONG>Ed</STRONG> is only
+ If the terminal can clear from the current position to the end of the
+ line, leaving the cursor where it is, this should be given as <STRONG>el</STRONG>. If
+ the terminal can clear from the beginning of the line to the current
+ position inclusive, leaving the cursor where it is, this should be
+ given as <STRONG>el1</STRONG>. If the terminal can clear from the current position to
+ the end of the display, then this should be given as <STRONG>ed</STRONG>. <STRONG>Ed</STRONG> is only
defined from the first column of a line. (Thus, it can be simulated by
- a request to delete a large number of lines, if a true <STRONG>ed</STRONG> is not avail-
- able.)
+ a request to delete a large number of lines, if a true <STRONG>ed</STRONG> is not
+ available.)
</PRE><H3><a name="h3-Insert_delete-line-and-vertical-motions">Insert/delete line and vertical motions</a></H3><PRE>
- If the terminal can open a new blank line before the line where the
- cursor is, this should be given as <STRONG>il1</STRONG>; this is done only from the
- first position of a line. The cursor must then appear on the newly
- blank line. If the terminal can delete the line which the cursor is
- on, then this should be given as <STRONG>dl1</STRONG>; this is done only from the first
+ If the terminal can open a new blank line before the line where the
+ cursor is, this should be given as <STRONG>il1</STRONG>; this is done only from the
+ first position of a line. The cursor must then appear on the newly
+ blank line. If the terminal can delete the line which the cursor is
+ on, then this should be given as <STRONG>dl1</STRONG>; this is done only from the first
position on the line to be deleted. Versions of <STRONG>il1</STRONG> and <STRONG>dl1</STRONG> which take
a single parameter and insert or delete that many lines can be given as
<STRONG>il</STRONG> and <STRONG>dl</STRONG>.
- If the terminal has a settable scrolling region (like the vt100) the
- command to set this can be described with the <STRONG>csr</STRONG> capability, which
+ If the terminal has a settable scrolling region (like the vt100) the
+ command to set this can be described with the <STRONG>csr</STRONG> capability, which
takes two parameters: the top and bottom lines of the scrolling region.
The cursor position is, alas, undefined after using this command.
- It is possible to get the effect of insert or delete line using <STRONG>csr</STRONG> on
- a properly chosen region; the <STRONG>sc</STRONG> and <STRONG>rc</STRONG> (save and restore cursor) 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
+ 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
insert/delete strings for an entry with <STRONG>csr</STRONG>).
- 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).
+ 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 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.
+ The boolean <STRONG>non_dest_scroll_region</STRONG> should be set if each scrolling
+ window is effectively a view port on a screen-sized canvas. To test
+ for this capability, create a scrolling region in the middle of the
+ screen, write something to the bottom line, move the cursor to the top
+ of the region, and do <STRONG>ri</STRONG> followed by <STRONG>dl1</STRONG> or <STRONG>ind</STRONG>. If the data scrolled
+ off the bottom of the region by the <STRONG>ri</STRONG> re-appears, then scrolling is
+ non-destructive. System V and XSI Curses expect that <STRONG>ind</STRONG>, <STRONG>ri</STRONG>, <STRONG>indn</STRONG>,
+ and <STRONG>rin</STRONG> will simulate destructive scrolling; their documentation
+ cautions you not to define <STRONG>csr</STRONG> unless this is true. This <STRONG>curses</STRONG>
+ implementation is more liberal and will do explicit erases after
+ 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
@@ -1635,110 +1650,111 @@
</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
+ most common insert/delete character operations affect only the
+ characters on the current line and shift characters off the end of the
+ line rigidly. Other terminals, such as the Concept 100 and the Perkin
+ Elmer Owl, make a distinction between typed and untyped blanks on the
+ screen, shifting upon an insert or delete only to an untyped blank on
+ the screen which is either eliminated, or expanded to two untyped
+ blanks.
+
+ You can determine the kind of terminal you have by clearing the screen
+ and then typing text separated by cursor motions. Type "abc def"
+ using local cursor motions (not spaces) between the "abc" and the
+ "def". Then position the cursor before the "abc" and put the terminal
+ in insert mode. If typing characters causes the rest of the line to
+ shift rigidly and characters to fall off the end, then your terminal
+ does not distinguish between blanks and untyped positions. If the
+ "abc" shifts over to the "def" which then move together around the end
+ of the current line and onto the next as you insert, you have the
+ second type of terminal, and should give the capability <STRONG>in</STRONG>, which
+ 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
+ Terminfo can describe both terminals which have an insert mode, and
+ terminals which send a simple sequence to open a blank position on the
current line. Give as <STRONG>smir</STRONG> the sequence to get into insert mode. Give
- as <STRONG>rmir</STRONG> the sequence to leave insert mode. Now give as <STRONG>ich1</STRONG> any
- sequence needed to be sent just before sending the character to be
- inserted. Most terminals with a true insert mode will not give <STRONG>ich1</STRONG>;
- terminals which send a sequence to open a screen position should give
+ as <STRONG>rmir</STRONG> the sequence to leave insert mode. Now give as <STRONG>ich1</STRONG> any
+ sequence needed to be sent just before sending the character to be
+ inserted. Most terminals with a true insert mode will not give <STRONG>ich1</STRONG>;
+ terminals which send a sequence to open a screen position should give
it here.
- If your terminal has both, insert mode is usually preferable to <STRONG>ich1</STRONG>.
- Technically, you should not give both unless the terminal actually
- requires both to be used in combination. Accordingly, some non-curses
- applications get confused if both are present; the symptom is doubled
- characters in an update using insert. This requirement is now rare;
- most <STRONG>ich</STRONG> sequences do not require previous smir, and most smir insert
- modes do not require <STRONG>ich1</STRONG> before each character. Therefore, the new
- <STRONG>curses</STRONG> actually assumes this is the case and uses either <STRONG>rmir</STRONG>/<STRONG>smir</STRONG> or
- <STRONG>ich</STRONG>/<STRONG>ich1</STRONG> as appropriate (but not both). If you have to write an entry
- to be used under new curses for a terminal old enough to need both,
+ If your terminal has both, insert mode is usually preferable to <STRONG>ich1</STRONG>.
+ Technically, you should not give both unless the terminal actually
+ requires both to be used in combination. Accordingly, some non-curses
+ applications get confused if both are present; the symptom is doubled
+ characters in an update using insert. This requirement is now rare;
+ most <STRONG>ich</STRONG> sequences do not require previous smir, and most smir insert
+ modes do not require <STRONG>ich1</STRONG> before each character. Therefore, the new
+ <STRONG>curses</STRONG> actually assumes this is the case and uses either <STRONG>rmir</STRONG>/<STRONG>smir</STRONG> or
+ <STRONG>ich</STRONG>/<STRONG>ich1</STRONG> as appropriate (but not both). If you have to write an entry
+ to be used under new curses for a terminal old enough to need both,
include the <STRONG>rmir</STRONG>/<STRONG>smir</STRONG> sequences in <STRONG>ich1</STRONG>.
If post insert padding is needed, give this as a number of milliseconds
- in <STRONG>ip</STRONG> (a string option). Any other sequence which may need to be sent
+ in <STRONG>ip</STRONG> (a string option). Any other sequence which may need to be sent
after an insert of a single character may also be given in <STRONG>ip</STRONG>. If your
- terminal needs both to be placed into an "insert mode" and a special
- code to precede each inserted character, then both <STRONG>smir</STRONG>/<STRONG>rmir</STRONG> and <STRONG>ich1</STRONG>
- can be given, and both will be used. The <STRONG>ich</STRONG> capability, with one
+ terminal needs both to be placed into an "insert mode" and a special
+ code to precede each inserted character, then both <STRONG>smir</STRONG>/<STRONG>rmir</STRONG> and <STRONG>ich1</STRONG>
+ can be given, and both will be used. The <STRONG>ich</STRONG> capability, with one
parameter, <EM>n</EM>, will repeat the effects of <STRONG>ich1</STRONG> <EM>n</EM> times.
- If padding is necessary between characters typed while not in insert
+ If padding is necessary between characters typed while not in insert
mode, give this as a number of milliseconds padding in <STRONG>rmp</STRONG>.
- It is occasionally necessary to move around while in insert mode to
- delete characters on the same line (e.g., if there is a tab after the
- insertion position). If your terminal allows motion while in insert
- mode you can give the capability <STRONG>mir</STRONG> to speed up inserting in this
- case. Omitting <STRONG>mir</STRONG> will affect only speed. Some terminals (notably
- Datamedia's) must not have <STRONG>mir</STRONG> because of the way their insert mode
+ It is occasionally necessary to move around while in insert mode to
+ delete characters on the same line (e.g., if there is a tab after the
+ insertion position). If your terminal allows motion while in insert
+ mode you can give the capability <STRONG>mir</STRONG> to speed up inserting in this
+ case. Omitting <STRONG>mir</STRONG> will affect only speed. Some terminals (notably
+ Datamedia's) must not have <STRONG>mir</STRONG> because of the way their insert mode
works.
- Finally, you can specify <STRONG>dch1</STRONG> to delete a single character, <STRONG>dch</STRONG> with
- one parameter, <EM>n</EM>, to delete <EM>n</EM> <EM>characters,</EM> and delete mode by giving
- <STRONG>smdc</STRONG> and <STRONG>rmdc</STRONG> to enter and exit delete mode (any mode the terminal
+ Finally, you can specify <STRONG>dch1</STRONG> to delete a single character, <STRONG>dch</STRONG> with
+ one parameter, <EM>n</EM>, to delete <EM>n</EM> <EM>characters,</EM> and delete mode by giving
+ <STRONG>smdc</STRONG> and <STRONG>rmdc</STRONG> to enter and exit delete mode (any mode the terminal
needs to be placed in for <STRONG>dch1</STRONG> to work).
- A command to erase <EM>n</EM> characters (equivalent to outputting <EM>n</EM> blanks
+ A command to erase <EM>n</EM> characters (equivalent to outputting <EM>n</EM> blanks
without moving the cursor) can be given as <STRONG>ech</STRONG> with one parameter.
</PRE><H3><a name="h3-Highlighting_-Underlining_-and-Visible-Bells">Highlighting, Underlining, and Visible Bells</a></H3><PRE>
If your terminal has one or more kinds of display attributes, these can
- be represented in a number of different ways. You should choose one
- display form as <EM>standout</EM> <EM>mode</EM>, representing a good, high contrast,
- easy-on-the-eyes, format for highlighting error messages and other
- attention getters. (If you have a choice, reverse video plus half-
- bright is good, or reverse video alone.) The sequences to enter and
- exit standout mode are given as <STRONG>smso</STRONG> and <STRONG>rmso</STRONG>, respectively. If the
- code to change into or out of standout mode leaves one or even two
- blank spaces on the screen, as the TVI 912 and Teleray 1061 do, then
+ be represented in a number of different ways. You should choose one
+ display form as <EM>standout</EM> <EM>mode</EM>, representing a good, high contrast,
+ easy-on-the-eyes, format for highlighting error messages and other
+ attention getters. (If you have a choice, reverse video plus half-
+ bright is good, or reverse video alone.) The sequences to enter and
+ exit standout mode are given as <STRONG>smso</STRONG> and <STRONG>rmso</STRONG>, respectively. If the
+ code to change into or out of standout mode leaves one or even two
+ blank spaces on the screen, as the TVI 912 and Teleray 1061 do, then
<STRONG>xmc</STRONG> should be given to tell how many spaces are left.
Codes to begin underlining and end underlining can be given as <STRONG>smul</STRONG> and
<STRONG>rmul</STRONG> respectively. If the terminal has a code to underline the current
- character and move the cursor one space to the right, such as the
+ character and move the cursor one space to the right, such as the
Microterm Mime, this can be given as <STRONG>uc</STRONG>.
- Other capabilities to enter various highlighting modes include <STRONG>blink</STRONG>
- (blinking) <STRONG>bold</STRONG> (bold or extra bright) <STRONG>dim</STRONG> (dim or half-bright) <STRONG>invis</STRONG>
- (blanking or invisible text) <STRONG>prot</STRONG> (protected) <STRONG>rev</STRONG> (reverse video) <STRONG>sgr0</STRONG>
- (turn off <EM>all</EM> attribute modes) <STRONG>smacs</STRONG> (enter alternate character set
+ Other capabilities to enter various highlighting modes include <STRONG>blink</STRONG>
+ (blinking) <STRONG>bold</STRONG> (bold or extra bright) <STRONG>dim</STRONG> (dim or half-bright) <STRONG>invis</STRONG>
+ (blanking or invisible text) <STRONG>prot</STRONG> (protected) <STRONG>rev</STRONG> (reverse video) <STRONG>sgr0</STRONG>
+ (turn off <EM>all</EM> attribute modes) <STRONG>smacs</STRONG> (enter alternate character set
mode) and <STRONG>rmacs</STRONG> (exit alternate character set mode). Turning on any of
these modes singly may or may not turn off other modes.
- If there is a sequence to set arbitrary combinations of modes, this
- should be given as <STRONG>sgr</STRONG> (set attributes), taking 9 parameters. Each
- 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.
+ 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
+ separate attribute commands exist.
For example, the DEC vt220 supports most of the modes:
@@ -1755,17 +1771,17 @@
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
+ We begin each escape sequence by turning off any existing modes, since
+ there is no quick way to determine whether they are active. Standout
+ is set up to be the combination of reverse and bold. The vt220
+ terminal has a protect mode, though it is not commonly used in sgr
+ because it protects characters on the screen from the host's erasures.
+ The altcharset mode also is different in that it is either ^O or ^N,
+ depending on whether it is off or on. If all modes are turned on, the
resulting sequence is \E[0;1;4;5;7;8m^N.
- Some sequences are common to different modes. For example, ;7 is out-
- put when either p1 or p3 is true, that is, if either standout or
+ Some sequences are common to different modes. For example, ;7 is
+ output when either p1 or p3 is true, that is, if either standout or
reverse modes are turned on.
Writing out the above sequences, along with their dependencies yields
@@ -1786,54 +1802,54 @@
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 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
+ 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 indicate an error
- quietly (a bell replacement) then this can be given as <STRONG>flash</STRONG>; it must
+ If the terminal has a way of flashing the screen to indicate an error
+ quietly (a bell replacement) then this can be given as <STRONG>flash</STRONG>; it must
not move the cursor.
- If the cursor needs to be made more visible than normal when it is not
+ If the cursor needs to be made more visible than normal when it is not
on the bottom line (to make, for example, a non-blinking underline into
- an easier to find block or blinking underline) give this sequence as
+ an easier to find block or blinking underline) give this sequence as
<STRONG>cvvis</STRONG>. If there is a way to make the cursor completely invisible, give
- that as <STRONG>civis</STRONG>. The capability <STRONG>cnorm</STRONG> should be given which undoes the
+ that as <STRONG>civis</STRONG>. The capability <STRONG>cnorm</STRONG> should be given which undoes the
effects of both of these modes.
- If your terminal correctly generates underlined characters (with no
- special codes needed) even though it does not overstrike, then you
- should give the capability <STRONG>ul</STRONG>. If a character overstriking another
- leaves both characters on the screen, specify the capability <STRONG>os</STRONG>. If
+ If your terminal correctly generates underlined characters (with no
+ special codes needed) even though it does not overstrike, then you
+ should give the capability <STRONG>ul</STRONG>. If a character overstriking another
+ leaves both characters on the screen, specify the capability <STRONG>os</STRONG>. If
overstrikes are erasable with a blank, then this should be indicated by
giving <STRONG>eo</STRONG>.
</PRE><H3><a name="h3-Keypad-and-Function-Keys">Keypad and Function Keys</a></H3><PRE>
- If the terminal has a keypad that transmits codes when the keys are
- pressed, this information can be given. Note that it is not possible
+ If the terminal has a keypad that transmits codes when the keys are
+ pressed, this information can be given. Note that it is not possible
to handle terminals where the keypad only works in local (this applies,
- for example, to the unshifted HP 2621 keys). If the keypad can be set
- to transmit or not transmit, give these codes as <STRONG>smkx</STRONG> and <STRONG>rmkx</STRONG>. Other-
- wise the keypad is assumed to always transmit.
+ for example, to the unshifted HP 2621 keys). If the keypad can be set
+ to transmit or not transmit, give these codes as <STRONG>smkx</STRONG> and <STRONG>rmkx</STRONG>.
+ Otherwise the keypad is assumed to always transmit.
- The codes sent by the left arrow, right arrow, up arrow, down arrow,
- and home keys can be given as <STRONG>kcub1,</STRONG> <STRONG>kcuf1,</STRONG> <STRONG>kcuu1,</STRONG> <STRONG>kcud1,</STRONG> and <STRONG>khome</STRONG>
+ The codes sent by the left arrow, right arrow, up arrow, down arrow,
+ and home keys can be given as <STRONG>kcub1,</STRONG> <STRONG>kcuf1,</STRONG> <STRONG>kcuu1,</STRONG> <STRONG>kcud1,</STRONG> and <STRONG>khome</STRONG>
respectively. If there are function keys such as f0, f1, ..., f10, the
- codes they send can be given as <STRONG>kf0,</STRONG> <STRONG>kf1,</STRONG> <STRONG>...,</STRONG> <STRONG>kf10</STRONG>. If these keys
- have labels other than the default f0 through f10, the labels can be
+ codes they send can be given as <STRONG>kf0,</STRONG> <STRONG>kf1,</STRONG> <STRONG>...,</STRONG> <STRONG>kf10</STRONG>. If these keys
+ have labels other than the default f0 through f10, the labels can be
given as <STRONG>lf0,</STRONG> <STRONG>lf1,</STRONG> <STRONG>...,</STRONG> <STRONG>lf10</STRONG>.
The codes transmitted by certain other special keys can be given:
@@ -1872,64 +1888,64 @@
<STRONG>o</STRONG> <STRONG>khts</STRONG> (set a tab stop in this column).
- In addition, if the keypad has a 3 by 3 array of keys including the
- four arrow keys, the other five keys can be given as <STRONG>ka1</STRONG>, <STRONG>ka3</STRONG>, <STRONG>kb2</STRONG>,
- <STRONG>kc1</STRONG>, and <STRONG>kc3</STRONG>. These keys are useful when the effects of a 3 by 3
+ In addition, if the keypad has a 3 by 3 array of keys including the
+ four arrow keys, the other five keys can be given as <STRONG>ka1</STRONG>, <STRONG>ka3</STRONG>, <STRONG>kb2</STRONG>,
+ <STRONG>kc1</STRONG>, and <STRONG>kc3</STRONG>. These keys are useful when the effects of a 3 by 3
directional pad are needed.
Strings to program function keys can be given as <STRONG>pfkey</STRONG>, <STRONG>pfloc</STRONG>, and <STRONG>pfx</STRONG>.
- A string to program screen labels should be specified as <STRONG>pln</STRONG>. Each of
- these strings takes two parameters: the function key number to program
+ A string to program screen labels should be specified as <STRONG>pln</STRONG>. Each of
+ these strings takes two parameters: the function key number to program
(from 0 to 10) and the string to program it with. Function key numbers
- out of this range may program undefined keys in a terminal dependent
- manner. The difference between the capabilities is that <STRONG>pfkey</STRONG> causes
- pressing the given key to be the same as the user typing the given
- string; <STRONG>pfloc</STRONG> causes the string to be executed by the terminal in
+ out of this range may program undefined keys in a terminal dependent
+ manner. The difference between the capabilities is that <STRONG>pfkey</STRONG> causes
+ pressing the given key to be the same as the user typing the given
+ string; <STRONG>pfloc</STRONG> causes the string to be executed by the terminal in
local; and <STRONG>pfx</STRONG> causes the string to be transmitted to the computer.
- The capabilities <STRONG>nlab</STRONG>, <STRONG>lw</STRONG> and <STRONG>lh</STRONG> define the number of programmable
- screen labels and their width and height. If there are commands to
- turn the labels on and off, give them in <STRONG>smln</STRONG> and <STRONG>rmln</STRONG>. <STRONG>smln</STRONG> is nor-
- mally output after one or more pln sequences to make sure that the
+ The capabilities <STRONG>nlab</STRONG>, <STRONG>lw</STRONG> and <STRONG>lh</STRONG> define the number of programmable
+ screen labels and their width and height. If there are commands to
+ turn the labels on and off, give them in <STRONG>smln</STRONG> and <STRONG>rmln</STRONG>. <STRONG>smln</STRONG> is
+ normally output after one or more pln sequences to make sure that the
change becomes visible.
</PRE><H3><a name="h3-Tabs-and-Initialization">Tabs and Initialization</a></H3><PRE>
A few capabilities are used only for tabs:
- <STRONG>o</STRONG> If the terminal has hardware tabs, the command to advance to the
+ <STRONG>o</STRONG> If the terminal has hardware tabs, the command to advance to the
next tab stop can be given as <STRONG>ht</STRONG> (usually control/I).
<STRONG>o</STRONG> A "back-tab" command which moves leftward to the preceding tab stop
can be given as <STRONG>cbt</STRONG>.
- By convention, if the teletype modes indicate that tabs are being
- expanded by the computer rather than being sent to the terminal,
- programs should not use <STRONG>ht</STRONG> or <STRONG>cbt</STRONG> even if they are present, since
+ By convention, if the teletype modes indicate that tabs are being
+ expanded by the computer rather than being sent to the terminal,
+ programs should not use <STRONG>ht</STRONG> or <STRONG>cbt</STRONG> even if they are present, since
the user may not have the tab stops properly set.
- <STRONG>o</STRONG> If the terminal has hardware tabs which are initially set every <EM>n</EM>
+ <STRONG>o</STRONG> If the terminal has hardware tabs which are initially set every <EM>n</EM>
spaces when the terminal is powered up, the numeric parameter <STRONG>it</STRONG> is
given, showing the number of spaces the tabs are set to.
The <STRONG>it</STRONG> capability is normally used by the <STRONG>tset</STRONG> command to determine
- whether to set the mode for hardware tab expansion, and whether to
+ whether to set the mode for hardware tab expansion, and whether to
set the tab stops. If the terminal has tab stops that can be saved
- in non-volatile memory, the terminfo description can assume that
+ in non-volatile memory, the terminfo description can assume that
they are properly set.
Other capabilities include
<STRONG>o</STRONG> <STRONG>is1</STRONG>, <STRONG>is2</STRONG>, and <STRONG>is3</STRONG>, initialization strings for the terminal,
- <STRONG>o</STRONG> <STRONG>iprog</STRONG>, the path name of a program to be run to initialize the ter-
- minal,
+ <STRONG>o</STRONG> <STRONG>iprog</STRONG>, the path name of a program to be run to initialize the
+ terminal,
<STRONG>o</STRONG> and <STRONG>if</STRONG>, the name of a file containing long initialization strings.
- These strings are expected to set the terminal into modes consistent
- with the rest of the terminfo description. They are normally sent to
- the terminal, by the <EM>init</EM> option of the <STRONG>tput</STRONG> program, each time the
+ These strings are expected to set the terminal into modes consistent
+ with the rest of the terminfo description. They are normally sent to
+ the terminal, by the <EM>init</EM> option of the <STRONG>tput</STRONG> program, each time the
user logs in. They will be printed in the following order:
run the program
@@ -1953,114 +1969,114 @@
and finally output
<STRONG>is3</STRONG>.
- Most initialization is done with <STRONG>is2</STRONG>. Special terminal modes can be
- set up without duplicating strings by putting the common sequences in
+ Most initialization is done with <STRONG>is2</STRONG>. Special terminal modes can be
+ set up without duplicating strings by putting the common sequences in
<STRONG>is2</STRONG> and special cases in <STRONG>is1</STRONG> and <STRONG>is3</STRONG>.
- A set of sequences that does a harder reset from a totally unknown
+ A set of sequences that does a harder reset from a totally unknown
state can be given as <STRONG>rs1</STRONG>, <STRONG>rs2</STRONG>, <STRONG>rf</STRONG> and <STRONG>rs3</STRONG>, analogous to <STRONG>is1</STRONG> <STRONG>,</STRONG> <STRONG>is2</STRONG> <STRONG>,</STRONG> <STRONG>if</STRONG>
- and <STRONG>is3</STRONG> respectively. These strings are output by <EM>reset</EM> option of
- <STRONG>tput</STRONG>, or by the <STRONG>reset</STRONG> program (an alias of <STRONG>tset</STRONG>), which is used when
+ and <STRONG>is3</STRONG> respectively. These strings are output by <EM>reset</EM> option of
+ <STRONG>tput</STRONG>, or by the <STRONG>reset</STRONG> program (an alias of <STRONG>tset</STRONG>), which is used when
the terminal gets into a wedged state. Commands are normally placed in
<STRONG>rs1</STRONG>, <STRONG>rs2</STRONG> <STRONG>rs3</STRONG> and <STRONG>rf</STRONG> only if they produce annoying effects on the screen
and are not necessary when logging in. For example, the command to set
- the vt100 into 80-column mode would normally be part of <STRONG>is2</STRONG>, but it
- causes an annoying glitch of the screen and is not normally needed
+ the vt100 into 80-column mode would normally be part of <STRONG>is2</STRONG>, but it
+ causes an annoying glitch of the screen and is not normally needed
since the terminal is usually already in 80-column mode.
- The <STRONG>reset</STRONG> program writes strings including <STRONG>iprog</STRONG>, etc., in the same
- order as the <EM>init</EM> program, using <STRONG>rs1</STRONG>, etc., instead of <STRONG>is1</STRONG>, etc. If
- any of <STRONG>rs1</STRONG>, <STRONG>rs2</STRONG>, <STRONG>rs3</STRONG>, or <STRONG>rf</STRONG> reset capability strings are missing, the
- <STRONG>reset</STRONG> program falls back upon the corresponding initialization capabil-
- ity string.
+ The <STRONG>reset</STRONG> program writes strings including <STRONG>iprog</STRONG>, etc., in the same
+ order as the <EM>init</EM> program, using <STRONG>rs1</STRONG>, etc., instead of <STRONG>is1</STRONG>, etc. If
+ any of <STRONG>rs1</STRONG>, <STRONG>rs2</STRONG>, <STRONG>rs3</STRONG>, or <STRONG>rf</STRONG> reset capability strings are missing, the
+ <STRONG>reset</STRONG> program falls back upon the corresponding initialization
+ capability string.
- If there are commands to set and clear tab stops, they can be given as
+ If there are commands to set and clear tab stops, they can be given as
<STRONG>tbc</STRONG> (clear all tab stops) and <STRONG>hts</STRONG> (set a tab stop in the current column
- of every row). If a more complex sequence is needed to set the tabs
+ of every row). If a more complex sequence is needed to set the tabs
than can be described by this, the sequence can be placed in <STRONG>is2</STRONG> or <STRONG>if</STRONG>.
- The <STRONG>tput</STRONG> <STRONG>reset</STRONG> command uses the same capability strings as the <STRONG>reset</STRONG>
- command, although the two programs (<STRONG>tput</STRONG> and <STRONG>reset</STRONG>) provide different
+ The <STRONG>tput</STRONG> <STRONG>reset</STRONG> command uses the same capability strings as the <STRONG>reset</STRONG>
+ command, although the two programs (<STRONG>tput</STRONG> and <STRONG>reset</STRONG>) provide different
command-line options.
- In practice, these terminfo capabilities are not often used in initial-
- ization of tabs (though they are required for the <STRONG>tabs</STRONG> program):
+ In practice, these terminfo capabilities are not often used in
+ initialization of tabs (though they are required for the <STRONG>tabs</STRONG> program):
<STRONG>o</STRONG> Almost all hardware terminals (at least those which supported tabs)
initialized those to every <EM>eight</EM> columns:
- The only exception was the AT&amp;T 2300 series, which set tabs to
+ The only exception was the AT&amp;T 2300 series, which set tabs to
every <EM>five</EM> columns.
- <STRONG>o</STRONG> In particular, developers of the hardware terminals which are com-
- monly used as models for modern terminal emulators provided docu-
- mentation demonstrating that <EM>eight</EM> columns were the standard.
+ <STRONG>o</STRONG> In particular, developers of the hardware terminals which are
+ commonly used as models for modern terminal emulators provided
+ documentation demonstrating that <EM>eight</EM> columns were the standard.
<STRONG>o</STRONG> Because of this, the terminal initialization programs <STRONG>tput</STRONG> and <STRONG>tset</STRONG>
- use the <STRONG>tbc</STRONG> (<STRONG>clear_all_tabs</STRONG>) and <STRONG>hts</STRONG> (<STRONG>set_tab</STRONG>) capabilities
- directly only when the <STRONG>it</STRONG> (<STRONG>init_tabs</STRONG>) capability is set to a value
+ use the <STRONG>tbc</STRONG> (<STRONG>clear_all_tabs</STRONG>) and <STRONG>hts</STRONG> (<STRONG>set_tab</STRONG>) capabilities
+ directly only when the <STRONG>it</STRONG> (<STRONG>init_tabs</STRONG>) capability is set to a value
other than <EM>eight</EM>.
</PRE><H3><a name="h3-Delays-and-Padding">Delays and Padding</a></H3><PRE>
- Many older and slower terminals do not support either XON/XOFF or DTR
- handshaking, including hard copy terminals and some very archaic CRTs
- (including, for example, DEC VT100s). These may require padding char-
- acters after certain cursor motions and screen changes.
+ Many older and slower terminals do not support either XON/XOFF or DTR
+ handshaking, including hard copy terminals and some very archaic CRTs
+ (including, for example, DEC VT100s). These may require padding
+ characters after certain cursor motions and screen changes.
If the terminal uses xon/xoff handshaking for flow control (that is, it
- automatically emits ^S back to the host when its input buffers are
- close to full), set <STRONG>xon</STRONG>. This capability suppresses the emission of
- padding. You can also set it for memory-mapped console devices 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.
+ automatically emits ^S back to the host when its input buffers are
+ close to full), set <STRONG>xon</STRONG>. This capability suppresses the emission of
+ padding. You can also set it for memory-mapped console devices
+ effectively that do not have a speed limit. Padding information should
+ still be included so that routines can make better decisions about
+ relative costs, but actual pad characters will not be transmitted.
If <STRONG>pb</STRONG> (padding baud rate) is given, padding is suppressed at baud rates
- below the value of <STRONG>pb</STRONG>. If the entry has no padding baud rate, then
+ below the value of <STRONG>pb</STRONG>. If the entry has no padding baud rate, then
whether padding is emitted or not is completely controlled by <STRONG>xon</STRONG>.
- If the terminal requires other than a null (zero) character as a pad,
- then this can be given as <STRONG>pad</STRONG>. Only the first character of the <STRONG>pad</STRONG>
+ If the terminal requires other than a null (zero) character as a pad,
+ then this can be given as <STRONG>pad</STRONG>. Only the first character of the <STRONG>pad</STRONG>
string is used.
</PRE><H3><a name="h3-Status-Lines">Status Lines</a></H3><PRE>
- Some terminals have an extra "status line" which is not normally used
+ Some terminals have an extra "status line" which is not normally used
by software (and thus not counted in the terminal's <STRONG>lines</STRONG> capability).
- The simplest case is a status line which is cursor-addressable but not
+ The simplest case is a status line which is cursor-addressable but not
part of the main scrolling region on the screen; the Heathkit H19 has a
- status line of this kind, as would a 24-line VT100 with a 23-line
+ status line of this kind, as would a 24-line VT100 with a 23-line
scrolling region set up on initialization. This situation is indicated
by the <STRONG>hs</STRONG> capability.
- Some terminals with status lines need special sequences to access the
- status line. These may be expressed as a string with single parameter
- <STRONG>tsl</STRONG> which takes the cursor to a given zero-origin column on the status
- line. The capability <STRONG>fsl</STRONG> must return to the main-screen cursor 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.
+ Some terminals with status lines need special sequences to access the
+ status line. These may be expressed as a string with single parameter
+ <STRONG>tsl</STRONG> which takes the cursor to a given zero-origin column on the status
+ line. The capability <STRONG>fsl</STRONG> must return to the main-screen cursor
+ positions before the last <STRONG>tsl</STRONG>. You may need to embed the string values
+ of <STRONG>sc</STRONG> (save cursor) and <STRONG>rc</STRONG> (restore cursor) in <STRONG>tsl</STRONG> and <STRONG>fsl</STRONG> to
+ accomplish this.
- The status line is normally assumed to be the same width as the width
- of the terminal. If this is untrue, you can specify it with the
+ The status line is normally assumed to be the same width as the width
+ of the terminal. If this is untrue, you can specify it with the
numeric capability <STRONG>wsl</STRONG>.
A command to erase or blank the status line may be specified as <STRONG>dsl</STRONG>.
- The boolean capability <STRONG>eslok</STRONG> specifies that escape sequences, tabs,
+ The boolean capability <STRONG>eslok</STRONG> specifies that escape sequences, tabs,
etc., work ordinarily in the status line.
- The <STRONG>ncurses</STRONG> implementation does not yet use any of these capabilities.
+ The <STRONG>ncurses</STRONG> implementation does not yet use any of these capabilities.
They are documented here in case they ever become important.
</PRE><H3><a name="h3-Line-Graphics">Line Graphics</a></H3><PRE>
- Many terminals have alternate character sets useful for forms-drawing.
- Terminfo and <STRONG>curses</STRONG> have built-in support for most of the drawing char-
- acters supported by the VT100, with some characters from the AT&amp;T
- 4410v1 added. This alternate character set may be specified by the
+ Many terminals have alternate character sets useful for forms-drawing.
+ Terminfo and <STRONG>curses</STRONG> have built-in support for most of the drawing
+ characters supported by the VT100, with some characters from the AT&amp;T
+ 4410v1 added. This alternate character set may be specified by the
<STRONG>acsc</STRONG> capability.
<STRONG>Glyph</STRONG> <STRONG>ACS</STRONG> <STRONG>Ascii</STRONG> <STRONG>acsc</STRONG> <STRONG>acsc</STRONG>
@@ -2078,6 +2094,7 @@
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
@@ -2101,34 +2118,34 @@
A few notes apply to the table itself:
- <STRONG>o</STRONG> X/Open Curses incorrectly states that the mapping for <EM>lantern</EM> is
- uppercase "I" although Unix implementations use the lowercase "i"
+ <STRONG>o</STRONG> X/Open Curses incorrectly states that the mapping for <EM>lantern</EM> is
+ uppercase "I" although Unix implementations use the lowercase "i"
mapping.
- <STRONG>o</STRONG> The DEC VT100 implemented graphics using the alternate character
- set feature, temporarily switching <EM>modes</EM> and sending characters in
- the range 0x60 (96) to 0x7e (126) (the <STRONG>acsc</STRONG> <STRONG>Value</STRONG> column in the ta-
- ble).
+ <STRONG>o</STRONG> The DEC VT100 implemented graphics using the alternate character
+ set feature, temporarily switching <EM>modes</EM> and sending characters in
+ the range 0x60 (96) to 0x7e (126) (the <STRONG>acsc</STRONG> <STRONG>Value</STRONG> column in the
+ table).
<STRONG>o</STRONG> The AT&amp;T terminal added graphics characters outside that range.
- Some of the characters within the range do not match the VT100;
- presumably they were used in the AT&amp;T terminal: <EM>board</EM> <EM>of</EM> <EM>squares</EM>
- replaces the VT100 <EM>newline</EM> symbol, while <EM>lantern</EM> <EM>symbol</EM> replaces
+ Some of the characters within the range do not match the VT100;
+ presumably they were used in the AT&amp;T terminal: <EM>board</EM> <EM>of</EM> <EM>squares</EM>
+ replaces the VT100 <EM>newline</EM> symbol, while <EM>lantern</EM> <EM>symbol</EM> replaces
the VT100 <EM>vertical</EM> <EM>tab</EM> symbol. The other VT100 symbols for control
- characters (<EM>horizontal</EM> <EM>tab</EM>, <EM>carriage</EM> <EM>return</EM> and <EM>line-feed</EM>) are not
+ characters (<EM>horizontal</EM> <EM>tab</EM>, <EM>carriage</EM> <EM>return</EM> and <EM>line-feed</EM>) are not
(re)used in curses.
- The best way to define a new device's graphics set is to add a column
- to a copy of this table for your terminal, giving the character which
- (when emitted between <STRONG>smacs</STRONG>/<STRONG>rmacs</STRONG> switches) will be rendered as the
+ The best way to define a new device's graphics set is to add a column
+ to a copy of this table for your terminal, giving the character which
+ (when emitted between <STRONG>smacs</STRONG>/<STRONG>rmacs</STRONG> switches) will be rendered as the
corresponding graphic. Then read off the VT100/your terminal character
pairs right to left in sequence; these become the ACSC string.
</PRE><H3><a name="h3-Color-Handling">Color Handling</a></H3><PRE>
- The curses library functions <STRONG>init_pair</STRONG> and <STRONG>init_color</STRONG> manipulate the
- <EM>color</EM> <EM>pairs</EM> and <EM>color</EM> <EM>values</EM> discussed in this section (see
+ The curses library functions <STRONG>init_pair</STRONG> and <STRONG>init_color</STRONG> manipulate the
+ <EM>color</EM> <EM>pairs</EM> and <EM>color</EM> <EM>values</EM> discussed in this section (see
<STRONG><A HREF="curs_color.3x.html">curs_color(3x)</A></STRONG> for details on these and related functions).
Most color terminals are either "Tektronix-like" or "HP-like":
@@ -2137,45 +2154,46 @@
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.
+ <STRONG>o</STRONG> On HP-like terminals, the user must set each color pair up
+ separately (foreground and background are not independently
+ settable). Up to <EM>M</EM> color-pairs may be set up from 2*<EM>M</EM> different
+ colors. ANSI-compatible terminals are Tektronix-like.
Some basic color capabilities are independent of the color method. The
- numeric capabilities <STRONG>colors</STRONG> and <STRONG>pairs</STRONG> specify the maximum numbers of
- colors and color-pairs that can be displayed simultaneously. The <STRONG>op</STRONG>
+ numeric capabilities <STRONG>colors</STRONG> and <STRONG>pairs</STRONG> specify the maximum numbers of
+ colors and color-pairs that can be displayed simultaneously. The <STRONG>op</STRONG>
(original pair) string resets foreground and background colors to their
- default values for the terminal. The <STRONG>oc</STRONG> string resets all colors or
- color-pairs to their default values for the terminal. Some terminals
- (including many PC terminal emulators) erase screen areas with the cur-
- rent background color rather than the power-up default background;
+ default values for the terminal. The <STRONG>oc</STRONG> string resets all colors or
+ color-pairs to their default values for the terminal. Some terminals
+ (including many PC terminal emulators) erase screen areas with the
+ current background color rather than the power-up default background;
these should have the boolean capability <STRONG>bce</STRONG>.
- While the curses library works with <EM>color</EM> <EM>pairs</EM> (reflecting the inabil-
- ity of some devices to set foreground and background colors indepen-
- dently), there are separate capabilities for setting these features:
+ While the curses library works with <EM>color</EM> <EM>pairs</EM> (reflecting the
+ inability of some devices to set foreground and background colors
+ independently), there are separate capabilities for setting these
+ features:
- <STRONG>o</STRONG> To change the current foreground or background color on a 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
+ <STRONG>o</STRONG> To change the current foreground or background color on a
+ Tektronix-type terminal, use <STRONG>setaf</STRONG> (set ANSI foreground) and <STRONG>setab</STRONG>
+ (set ANSI background) or <STRONG>setf</STRONG> (set foreground) and <STRONG>setb</STRONG> (set
+ background). These take one parameter, the color number. The SVr4
documentation describes only <STRONG>setaf</STRONG>/<STRONG>setab</STRONG>; the XPG4 draft says that
"If the terminal supports ANSI escape sequences to set background
- and foreground, they should be coded as <STRONG>setaf</STRONG> and <STRONG>setab</STRONG>, respec-
- tively.
+ and foreground, they should be coded as <STRONG>setaf</STRONG> and <STRONG>setab</STRONG>,
+ respectively.
<STRONG>o</STRONG> If the terminal supports other escape sequences to set background
- and foreground, they should be coded as <STRONG>setf</STRONG> and <STRONG>setb</STRONG>, 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.
+ and foreground, they should be coded as <STRONG>setf</STRONG> and <STRONG>setb</STRONG>,
+ respectively. The <STRONG>vidputs</STRONG> and the <STRONG><A HREF="curs_refresh.3x.html">refresh(3x)</A></STRONG> functions use the
+ <STRONG>setaf</STRONG> and <STRONG>setab</STRONG> capabilities if they are defined.
- The <STRONG>setaf</STRONG>/<STRONG>setab</STRONG> and <STRONG>setf</STRONG>/<STRONG>setb</STRONG> capabilities take a single numeric 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
+ 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 loca-
- tions in color space.
+ 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
@@ -2200,8 +2218,8 @@
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.
+ It is important to not confuse the two sets of color capabilities;
+ otherwise red/blue will be interchanged on the display.
On an HP-like terminal, use <STRONG>scp</STRONG> with a color-pair number parameter to
set which color pair is current.
@@ -2212,20 +2230,21 @@
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,
+ interpreted as RGB (Red, Green, Blue) values. If the boolean
+ capability <STRONG>hls</STRONG> is present, they are instead as HLS (Hue, Lightness,
Saturation) indices. The ranges are terminal-dependent.
<STRONG>o</STRONG> On an HP-like terminal, <STRONG>initp</STRONG> may give a capability for changing a
- color-pair value. It will take seven parameters; a color-pair 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>.
+ color-pair value. It will take seven parameters; a color-pair
+ number (0 to <STRONG>max_pairs</STRONG> - 1), and two triples describing first
+ background and then foreground colors. These parameters must be
+ (Red, Green, Blue) or (Hue, Lightness, Saturation) depending on
+ <STRONG>hls</STRONG>.
- On some color terminals, colors collide with highlights. You can 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:
+ On some color terminals, colors collide with highlights. You can
+ register these collisions with the <STRONG>ncv</STRONG> capability. This is a bit-mask
+ of attributes not to be used when colors are enabled. The
+ correspondence with the attributes understood by <STRONG>curses</STRONG> is as follows:
<STRONG>Attribute</STRONG> <STRONG>Bit</STRONG> <STRONG>Decimal</STRONG> <STRONG>Set</STRONG> <STRONG>by</STRONG>
A_STANDOUT 0 1 sgr
@@ -2236,7 +2255,6 @@
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
@@ -2246,134 +2264,134 @@
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.
+ 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
+ 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
+ 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
+ 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 the terminal can move up or down half a line, this can be indicated
+ with <STRONG>hu</STRONG> (half-line up) and <STRONG>hd</STRONG> (half-line down). This is primarily
+ useful for superscripts and subscripts on hard-copy terminals. If a
+ hard-copy terminal can eject to the next page (form feed), give this as
+ <STRONG>ff</STRONG> (usually control/L).
- If there is a command to repeat a given character a given number of
- times (to save time transmitting a large number of identical 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 there is a command to repeat a given character a given number of
+ times (to save time transmitting a large number of identical
+ characters) this can be indicated with the parameterized string <STRONG>rep</STRONG>.
+ The first parameter is the character to be repeated and the second is
+ the number of times to repeat it. Thus, tparm(repeat_char, 'x', 10) is
+ the same as "xxxxxxxxxx".
If the terminal has a settable command character, such as the TEKTRONIX
- 4025, this can be indicated with <STRONG>cmdch</STRONG>. A prototype command character
- is chosen which is used in all capabilities. This character is given
- in the <STRONG>cmdch</STRONG> capability to identify it. The following convention is
+ 4025, this can be indicated with <STRONG>cmdch</STRONG>. A prototype command character
+ is chosen which is used in all capabilities. This character is given
+ in the <STRONG>cmdch</STRONG> capability to identify it. The following convention is
supported on some UNIX systems: The environment is to be searched for a
- <STRONG>CC</STRONG> variable, and if found, all occurrences of the prototype character
+ <STRONG>CC</STRONG> variable, and if found, all occurrences of the prototype character
are replaced with the character in the environment variable.
- Terminal descriptions that do not represent a specific kind of known
- terminal, such as <EM>switch</EM>, <EM>dialup</EM>, <EM>patch</EM>, and <EM>network</EM>, should include
- the <STRONG>gn</STRONG> (generic) capability so that programs can complain that they do
- not know how to talk to the terminal. (This capability does not apply
- to <EM>virtual</EM> terminal descriptions for which the escape sequences are
+ Terminal descriptions that do not represent a specific kind of known
+ terminal, such as <EM>switch</EM>, <EM>dialup</EM>, <EM>patch</EM>, and <EM>network</EM>, should include
+ the <STRONG>gn</STRONG> (generic) capability so that programs can complain that they do
+ not know how to talk to the terminal. (This capability does not apply
+ to <EM>virtual</EM> terminal descriptions for which the escape sequences are
known.)
If the terminal has a "meta key" which acts as a shift key, setting the
- 8th bit of any character transmitted, this fact can be indicated with
- <STRONG>km</STRONG>. Otherwise, software will assume that the 8th bit is parity and it
- will usually be cleared. If strings exist to turn this "meta mode" on
+ 8th bit of any character transmitted, this fact can be indicated with
+ <STRONG>km</STRONG>. Otherwise, software will assume that the 8th bit is parity and it
+ will usually be cleared. If strings exist to turn this "meta mode" on
and off, they can be given as <STRONG>smm</STRONG> and <STRONG>rmm</STRONG>.
If the terminal has more lines of memory than will fit on the screen at
- once, the number of lines of memory can be indicated with <STRONG>lm</STRONG>. A value
+ once, the number of lines of memory can be indicated with <STRONG>lm</STRONG>. A value
of <STRONG>lm</STRONG>#0 indicates that the number of lines is not fixed, but that there
is still more memory than fits on the screen.
- If the terminal is one of those supported by the UNIX virtual terminal
+ If the terminal is one of those supported by the UNIX virtual terminal
protocol, the terminal number can be given as <STRONG>vt</STRONG>.
- Media copy strings which control an auxiliary printer connected to the
- terminal can be given as <STRONG>mc0</STRONG>: print the contents of the screen, <STRONG>mc4</STRONG>:
- turn off the printer, and <STRONG>mc5</STRONG>: turn on the printer. When the printer
- is on, all text sent to the terminal will be sent to the printer. It
- is undefined whether the text is also displayed on the terminal screen
- when the printer is on. A variation <STRONG>mc5p</STRONG> takes one parameter, and
- leaves the printer on for as many characters as the value of the 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.
+ Media copy strings which control an auxiliary printer connected to the
+ terminal can be given as <STRONG>mc0</STRONG>: print the contents of the screen, <STRONG>mc4</STRONG>:
+ turn off the printer, and <STRONG>mc5</STRONG>: turn on the printer. When the printer
+ is on, all text sent to the terminal will be sent to the printer. It
+ is undefined whether the text is also displayed on the terminal screen
+ when the printer is on. A variation <STRONG>mc5p</STRONG> takes one parameter, and
+ leaves the printer on for as many characters as the value of the
+ parameter, then turns the printer off. The parameter should not exceed
+ 255. All text, including <STRONG>mc4</STRONG>, is transparently passed to the printer
+ 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
+ Hazeltine terminals, which do not allow "~" characters to be displayed
should indicate <STRONG>hz</STRONG>.
- Terminals which ignore a line-feed immediately after an <STRONG>am</STRONG> wrap, such
+ Terminals which ignore a line-feed immediately after an <STRONG>am</STRONG> wrap, such
as the Concept and vt100, should indicate <STRONG>xenl</STRONG>.
- If <STRONG>el</STRONG> is required to get rid of standout (instead of merely writing
+ If <STRONG>el</STRONG> is required to get rid of standout (instead of merely writing
normal text on top of it), <STRONG>xhp</STRONG> should be given.
Teleray terminals, where tabs turn all characters moved over to blanks,
- should indicate <STRONG>xt</STRONG> (destructive tabs). Note: the variable indicating
- this is now "dest_tabs_magic_smso"; in older versions, it was 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,
+ should indicate <STRONG>xt</STRONG> (destructive tabs). Note: the variable indicating
+ this is now "dest_tabs_magic_smso"; in older versions, it was
+ teleray_glitch. This glitch is also taken to mean that it is not
+ possible to position the cursor on top of a "magic cookie", that to
+ erase standout mode it is instead necessary to use delete and insert
+ line. The 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>.
+ Other specific terminal problems may be corrected by adding more
+ capabilities of the form <STRONG>x</STRONG><EM>x</EM>.
</PRE><H3><a name="h3-Pitfalls-of-Long-Entries">Pitfalls of Long Entries</a></H3><PRE>
- Long terminfo entries are unlikely to be a problem; to date, no entry
- has even approached terminfo's 4096-byte string-table maximum. Unfor-
- tunately, the termcap translations are much more strictly limited (to
- 1023 bytes), thus termcap translations of long terminfo entries can
+ Long terminfo entries are unlikely to be a problem; to date, no entry
+ has even approached terminfo's 4096-byte string-table maximum.
+ Unfortunately, the termcap translations are much more strictly limited
+ (to 1023 bytes), thus termcap translations of long terminfo entries can
cause problems.
- The man pages for 4.3BSD and older versions of <STRONG>tgetent</STRONG> instruct the
- user to allocate a 1024-byte buffer for the termcap entry. The entry
- gets null-terminated by the termcap library, so that makes the maximum
- safe length for a termcap entry 1k-1 (1023) bytes. Depending on what
- the application and the termcap library being used does, and where in
- the termcap file the terminal type that <STRONG>tgetent</STRONG> is searching for is,
+ The man pages for 4.3BSD and older versions of <STRONG>tgetent</STRONG> instruct the
+ user to allocate a 1024-byte buffer for the termcap entry. The entry
+ gets null-terminated by the termcap library, so that makes the maximum
+ safe length for a termcap entry 1k-1 (1023) bytes. Depending on what
+ the application and the termcap library being used does, and where in
+ the termcap file the terminal type that <STRONG>tgetent</STRONG> is searching for is,
several bad things can happen.
- Some termcap libraries print a warning message or exit if they find an
+ 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
+ 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
+ Each termcap entry has two important sizes associated with it: before
+ "tc" expansion, and after "tc" expansion. "tc" is the capability that
tacks on another termcap entry to the end of the current one, to add on
its capabilities. If a termcap entry does not use the "tc" capability,
then of course the two lengths are the same.
- The "before tc expansion" length is the most important one, because it
- affects more than just users of that particular terminal. This is the
- length of the entry as it exists in /etc/termcap, minus the backslash-
+ The "before tc expansion" length is the most important one, because it
+ affects more than just users of that particular terminal. This is the
+ length of the entry as it exists in /etc/termcap, minus the backslash-
newline pairs, which <STRONG>tgetent</STRONG> strips out while reading it. Some termcap
libraries strip off the final newline, too (GNU termcap does not). Now
suppose:
@@ -2382,105 +2400,105 @@
<STRONG>o</STRONG> and the application has only allocated a 1k buffer,
- <STRONG>o</STRONG> and the termcap library (like the one in BSD/OS 1.1 and GNU) reads
- the whole entry into the buffer, no matter what its length, to see
+ <STRONG>o</STRONG> and the termcap library (like the one in BSD/OS 1.1 and GNU) reads
+ the whole entry into the buffer, no matter what its length, to see
if it is the entry it wants,
- <STRONG>o</STRONG> and <STRONG>tgetent</STRONG> is searching for a terminal type that either is the
- long entry, appears in the termcap file after the long entry, or
- does not appear in the file at all (so that <STRONG>tgetent</STRONG> has to search
+ <STRONG>o</STRONG> and <STRONG>tgetent</STRONG> is searching for a terminal type that either is the
+ long entry, appears in the termcap file after the long entry, or
+ does not appear in the file at all (so that <STRONG>tgetent</STRONG> has to search
the whole termcap file).
- Then <STRONG>tgetent</STRONG> will overwrite memory, perhaps its stack, and probably
- core dump the program. Programs like telnet are particularly 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.
+ Then <STRONG>tgetent</STRONG> will overwrite memory, perhaps its stack, and probably
+ core dump the program. Programs like telnet are particularly
+ vulnerable; modern telnets pass along values like the terminal type
+ automatically. The results are almost as undesirable with a termcap
+ library, like SunOS 4.1.3 and Ultrix 4.4, that prints warning messages
+ when it reads an overly long termcap entry. If a termcap library
+ truncates long entries, like OSF/1 3.0, it is immune to dying here but
+ will return incorrect data for the terminal.
- The "after tc expansion" length will have a similar effect to the
+ The "after tc expansion" length will have a similar effect to the
above, but only for people who actually set TERM to that terminal type,
- since <STRONG>tgetent</STRONG> only does "tc" expansion once it is found the terminal
+ since <STRONG>tgetent</STRONG> only does "tc" expansion once it is found the terminal
type it was looking for, not while searching.
- In summary, a termcap entry that is longer than 1023 bytes can cause,
- on various combinations of termcap libraries and applications, a core
- dump, warnings, or incorrect operation. If it is too long even before
- "tc" expansion, it will have this effect even for users of some other
- terminal types and users whose TERM variable does not have a termcap
+ In summary, a termcap entry that is longer than 1023 bytes can cause,
+ on various combinations of termcap libraries and applications, a core
+ dump, warnings, or incorrect operation. If it is too long even before
+ "tc" expansion, it will have this effect even for users of some other
+ terminal types and users whose TERM variable does not have a termcap
entry.
- 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
+ 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><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.
+ 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.
</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.
+ 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
+ Some SVr4 <STRONG>curses</STRONG> implementations, and all previous to SVr4, do not
interpret the %A and %O operators in parameter strings.
- SVr4/XPG4 do not specify whether <STRONG>msgr</STRONG> licenses movement while in an
- alternate-character-set mode (such modes may, among other things, map
- CR and NL to characters that do not trigger local motions). The
- <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>
+ 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
+ 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 better update efficiency. See
+ in a slightly non-standard way to get better update efficiency. See
the <STRONG>Insert/Delete</STRONG> <STRONG>Character</STRONG> subsection above.
- The parameter substitutions for <STRONG>set_clock</STRONG> and <STRONG>display_clock</STRONG> are not
- documented in SVr4 or the XSI Curses standard. They are deduced from
+ The parameter substitutions for <STRONG>set_clock</STRONG> and <STRONG>display_clock</STRONG> are not
+ documented in SVr4 or the XSI Curses standard. They are deduced from
the documentation for the AT&amp;T 505 terminal.
- Be careful assigning the <STRONG>kmous</STRONG> capability. The <STRONG>ncurses</STRONG> library wants
- to interpret it as <STRONG>KEY_MOUSE</STRONG>, for use by terminals and emulators like
- xterm that can return mouse-tracking information in the keyboard-input
+ 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
+ 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:
+ 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, 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>o</STRONG> <STRONG>SVr1,</STRONG> <STRONG>Ultrix</STRONG> -- These support a restricted subset of terminfo
+ capabilities. The booleans end with <STRONG>xon_xoff</STRONG>; the numerics with
<STRONG>width_status_line</STRONG>; and the strings with <STRONG>prtr_non</STRONG>.
- <STRONG>o</STRONG> <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
+ <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,
+ <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.
@@ -2491,8 +2509,9 @@
</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>.
+ <STRONG><A HREF="infocmp.1m.html">infocmp(1m)</A></STRONG>, <STRONG><A HREF="tabs.1.html">tabs(1)</A></STRONG>, <STRONG><A HREF="tic.1m.html">tic(1m)</A></STRONG>, <STRONG><A HREF="ncurses.3x.html">curses(3x)</A></STRONG>, <STRONG><A HREF="curs_color.3x.html">curs_color(3x)</A></STRONG>,
+ <STRONG><A HREF="curs_variables.3x.html">curs_variables(3x)</A></STRONG>, <STRONG>printf(3)</STRONG>, <STRONG><A HREF="term_variables.3x.html">term_variables(3x)</A></STRONG>. <STRONG><A HREF="term.5.html">term(5)</A></STRONG>.
+ <STRONG><A HREF="user_caps.5.html">user_caps(5)</A></STRONG>.
</PRE><H2><a name="h2-AUTHORS">AUTHORS</a></H2><PRE>
diff --git a/doc/html/man/tic.1m.html b/doc/html/man/tic.1m.html
index 184f4350b4bf..cf74b772d248 100644
--- a/doc/html/man/tic.1m.html
+++ b/doc/html/man/tic.1m.html
@@ -27,7 +27,7 @@
* sale, use or other dealings in this Software without prior written *
* authorization. *
****************************************************************************
- * @Id: tic.1m,v 1.77 2020/02/02 23:34:34 tom Exp @
+ * @Id: tic.1m,v 1.78 2020/12/19 21:32:45 tom Exp @
-->
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN">
<HTML>
@@ -56,8 +56,8 @@
</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
+ The <STRONG>tic</STRONG> command translates a <STRONG>terminfo</STRONG> file from source format into
+ compiled 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
@@ -65,8 +65,8 @@
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 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
@@ -75,25 +75,25 @@
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.
+ In either case (directory or hashed database), <STRONG>tic</STRONG> will create the
+ container if it does not exist. For a directory, this would be the
+ "terminfo" 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.
+ option, or by setting the variable <STRONG>TERMINFO</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 loca-
- tion specified using your TERMINFO variable, it looks for the
+ <STRONG>o</STRONG> Secondly, if <STRONG>tic</STRONG> cannot write in <EM>/usr/share/terminfo</EM> or the
+ location 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
+ Libraries that read terminfo entries are expected to check in
+ succession
<STRONG>o</STRONG> a location specified with the TERMINFO environment variable,
@@ -101,14 +101,13 @@
<STRONG>o</STRONG> directories listed in the TERMINFO_DIRS environment variable,
- <STRONG>o</STRONG> a compiled-in list of directories (/usr/local/ncurses/share/ter-
- minfo:/usr/share/terminfo), and
+ <STRONG>o</STRONG> a compiled-in list of directories (no default value), and
<STRONG>o</STRONG> the system terminfo database (<EM>/usr/share/terminfo</EM>).
</PRE><H3><a name="h3-ALIASES">ALIASES</a></H3><PRE>
- This is the same program as infotocap and captoinfo; usually those are
+ 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.
@@ -121,71 +120,71 @@
<STRONG>-1</STRONG> restricts the output to a single column
- <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.
+ <STRONG>-a</STRONG> tells <STRONG>tic</STRONG> to retain commented-out capabilities rather than
+ discarding them. Capabilities are commented 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
+ <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.
+ 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
+ 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
+ <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
+ <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
+ <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 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.
+ checking for the buffer length (and a documented limit in
+ terminfo), these entries may cause core dumps with other
+ implementations.
- <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>tic</STRONG> checks string capabilities to ensure that those with
+ parameters 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,
+ <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.
+ 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>-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
+ 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>.)
+ it. The option value is interpreted as a file containing 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
+ <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
+ <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
+ <STRONG>-g</STRONG> Display constant character literals in quoted form rather than
their decimal equivalents.
<STRONG>-I</STRONG> Force source translation to terminfo format.
@@ -193,25 +192,25 @@
<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
+ <STRONG>-L</STRONG> Force source translation to terminfo format using the long C
variable names listed in &lt;<STRONG>term.h</STRONG>&gt;
<STRONG>-N</STRONG> Disable smart defaults. Normally, when translating from termcap
- to terminfo, the compiler makes a number of assumptions about
- the defaults of string capabilities <STRONG>reset1_string</STRONG>, <STRONG>car-</STRONG>
- <STRONG>riage_return</STRONG>, <STRONG>cursor_left</STRONG>, <STRONG>cursor_down</STRONG>, <STRONG>scroll_forward</STRONG>, <STRONG>tab</STRONG>,
+ to terminfo, the compiler makes a number of assumptions about
+ the defaults of string capabilities <STRONG>reset1_string</STRONG>,
+ <STRONG>carriage_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
+ 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
+ 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
+ <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:
+ <STRONG>-Q</STRONG><EM>n</EM> Rather than show source in terminfo (text) format, print the
+ compiled (binary) format in hexadecimal or base64 form,
+ depending on the option's value:
1 hexadecimal
@@ -223,35 +222,35 @@
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 ter-
- minfo; and outright broken ports like AIX 3.x that have their
- own extensions incompatible with SVr4/XSI. Available subsets
+ 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 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>-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 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
+ <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> 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 capabili-
- ties 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>tic</STRONG> to not post-process the data after parsing the source
+ <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.
@@ -261,11 +260,11 @@
<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,
+ 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.
+ 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
+ specified and greater than 1, the level of detail is increased.
The debug flag levels are as follows:
@@ -285,68 +284,69 @@
If the debug level <EM>n</EM> is not given, it is taken to be one.
- <STRONG>-W</STRONG> By itself, the <STRONG>-w</STRONG> option will not force long strings to be
+ <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
+ 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.
<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.
+ <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
+ 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.
</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
+ <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.
+ 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
+ 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,
+ 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
+ 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
+ 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 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
+ 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).
+ 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
+ warning 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
@@ -401,20 +401,20 @@
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
+ The X/Open rationale states that some implementations of <STRONG>tic</STRONG> read
+ terminal 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.
+ that some may choose to read from "./terminfo.src" but that is
+ obsolescent 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.
+ 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.
</PRE><H3><a name="h3-EXTENSIONS">EXTENSIONS</a></H3><PRE>
@@ -424,11 +424,11 @@
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.
+ capabilities. This implementation of <STRONG>tic</STRONG> will find <STRONG>use</STRONG> targets
+ anywhere in the source file, or anywhere 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.
@@ -458,10 +458,10 @@
</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="captoinfo.1m.html">captoinfo(1m)</A></STRONG>, <STRONG><A HREF="infocmp.1m.html">infocmp(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 6.2 (patch 20200215).
+ This describes <STRONG>ncurses</STRONG> version 6.2 (patch 20210109).
</PRE><H2><a name="h2-AUTHOR">AUTHOR</a></H2><PRE>
diff --git a/doc/html/man/toe.1m.html b/doc/html/man/toe.1m.html
index c792d46e8f96..aa8d8b0edb10 100644
--- a/doc/html/man/toe.1m.html
+++ b/doc/html/man/toe.1m.html
@@ -27,7 +27,7 @@
* sale, use or other dealings in this Software without prior written *
* authorization. *
****************************************************************************
- * @Id: toe.1m,v 1.32 2020/02/02 23:34:34 tom Exp @
+ * @Id: toe.1m,v 1.33 2020/12/19 21:52:09 tom Exp @
-->
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN">
<HTML>
@@ -57,17 +57,17 @@
</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.
+ 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, show-
- ing (like <STRONG>conflict(1)</STRONG>) which entries which belong to a given
+ 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 equivalent entries.
@@ -77,22 +77,22 @@
<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 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
+ says to write a report to the standard output, listing
+ dependencies in the given terminfo/termcap source file. The
+ report condenses 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 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.
+ 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.
<STRONG>-v</STRONG><EM>n</EM> specifies that (verbose) output be written to standard error,
showing <STRONG>toe</STRONG>'s progress.
@@ -107,8 +107,8 @@
</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:
+ the terminal databases found by the <STRONG>TERMINFO</STRONG> and <STRONG>TERMINFO_DIRS</STRONG>
+ environment variables:
MtxOrb162 16x2 Matrix Orbital LCD display
MtxOrb204 20x4 Matrix Orbital LCD display
@@ -124,8 +124,8 @@
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:
+ Use the <STRONG>-a</STRONG> and <STRONG>-s</STRONG> options together to show where each terminal
+ description was found:
--&gt; /usr/local/ncurses/share/terminfo
----&gt; /usr/share/terminfo
@@ -168,10 +168,10 @@
</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>.
+ <STRONG><A HREF="captoinfo.1m.html">captoinfo(1m)</A></STRONG>, <STRONG><A HREF="infocmp.1m.html">infocmp(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="ncurses.3x.html">curses(3x)</A></STRONG>,
+ <STRONG><A HREF="terminfo.5.html">terminfo(5)</A></STRONG>.
- This describes <STRONG>ncurses</STRONG> version 6.2 (patch 20200215).
+ This describes <STRONG>ncurses</STRONG> version 6.2 (patch 20210109).
diff --git a/doc/html/man/tput.1.html b/doc/html/man/tput.1.html
index 5de32deab291..ffb131c62ab7 100644
--- a/doc/html/man/tput.1.html
+++ b/doc/html/man/tput.1.html
@@ -28,7 +28,7 @@
* sale, use or other dealings in this Software without prior written *
* authorization. *
****************************************************************************
- * @Id: tput.1,v 1.63 2020/02/02 23:34:34 tom Exp @
+ * @Id: tput.1,v 1.65 2020/12/19 22:17:47 tom Exp @
-->
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN">
<HTML>
@@ -62,11 +62,11 @@
</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
+ 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 capa-
- bility's type:
+ 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
@@ -90,9 +90,9 @@
</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
+ 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).
Because some capabilities may use <EM>string</EM> parameters rather than
@@ -100,10 +100,10 @@
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>-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 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.
@@ -116,15 +116,15 @@
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.
+ <STRONG>reset</STRONG> resemble capability names, <STRONG>tput</STRONG> uses several capabilities to
+ perform these special functions.
<EM>capname</EM>
indicates the capability from the terminal database.
- If the capability is a string that takes parameters, the argu-
- ments following the capability will be used as parameters for
- the string.
+ If the capability is a string that takes parameters, the
+ arguments following the capability will be used as parameters
+ for the string.
Most parameters are numbers. Only a few terminal capabilities
require string parameters; <STRONG>tput</STRONG> uses a table to decide which to
@@ -146,14 +146,14 @@
<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
+ to obtain terminal settings. Having retrieved these
+ settings, <STRONG>tput</STRONG> remembers which file descriptor to use when
updating settings.
(2) if the window size cannot be obtained from the operating
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.
+ <STRONG>LINES</STRONG> and <STRONG>COLUMNS</STRONG> variables specify this), update the
+ operating system's notion of the window size.
(3) the terminal modes will be updated:
@@ -189,11 +189,11 @@
<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.
+ (2) Instead of putting out <EM>initialization</EM> strings, the
+ terminal's <EM>reset</EM> strings will be output if present (<STRONG>rs1</STRONG>,
+ <STRONG>rs2</STRONG>, <STRONG>rs3</STRONG>, <STRONG>rf</STRONG>). If the <EM>reset</EM> strings are not present, but
+ <EM>initialization</EM> strings are, the <EM>initialization</EM> strings will
+ be output.
Otherwise, <STRONG>reset</STRONG> acts identically to <STRONG>init</STRONG>.
@@ -201,8 +201,8 @@
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>].
+ first line of the terminal's description in the <STRONG>terminfo</STRONG>
+ database [see <STRONG><A HREF="term.5.html">term(5)</A></STRONG>].
</PRE><H3><a name="h3-Aliases">Aliases</a></H3><PRE>
@@ -210,8 +210,8 @@
for the possibility that it is invoked by a link with those names.
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.
+ <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>
+ specially.
Before ncurses 6.1, the two utilities were different from each other:
@@ -220,8 +220,8 @@
<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>reset_2string</STRONG> and <STRONG>reset_file</STRONG> in contrast to the tab-stops and
+ margins 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.
@@ -229,17 +229,17 @@
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 <STRONG>tset</STRONG> program waits one second when resetting, in case it
+ happens 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>o</STRONG> The two programs write the terminal initialization strings to
+ different 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.
+ <STRONG>Note:</STRONG> although these programs write to different streams,
+ redirecting 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
@@ -247,8 +247,8 @@
</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
+ Besides the special commands (e.g., <STRONG>clear</STRONG>), tput treats certain
+ terminfo capabilities specially: <STRONG>lines</STRONG> and <STRONG>cols</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
@@ -294,9 +294,9 @@
<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 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>
+ and <STRONG>offbold</STRONG>, to end standout mode sequence, for the current
+ terminal. This might be followed by a prompt: <STRONG>echo</STRONG> <STRONG>"${bold}Please</STRONG>
+ <STRONG>type</STRONG> <STRONG>in</STRONG> <STRONG>your</STRONG> <STRONG>name:</STRONG> <STRONG>${offbold}\c"</STRONG>
<STRONG>tput</STRONG> <STRONG>hc</STRONG>
Set exit code to indicate if the current terminal is a hard copy
@@ -321,8 +321,8 @@
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.
+ 10, 10 and turns on bold (extra bright) mode. The list is
+ terminated by an exclamation mark (<STRONG>!</STRONG>) on a line by itself.
</PRE><H2><a name="h2-FILES">FILES</a></H2><PRE>
@@ -342,16 +342,16 @@
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>:
+ 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 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>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 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
@@ -391,28 +391,28 @@
subcommands (more than half the program) were incorporated from the
<STRONG>reset</STRONG> feature of BSD <STRONG>tset</STRONG> written by Eric Allman.
- Keith Bostic replaced the BSD <STRONG>tput</STRONG> command in 1989 with a new implemen-
- tation based on the AT&amp;T System V program <STRONG>tput</STRONG>. Like the AT&amp;T program,
- Bostic's version accepted some parameters named for <EM>terminfo</EM> <EM>capabili-</EM>
- <EM>ties</EM> (<STRONG>clear</STRONG>, <STRONG>init</STRONG>, <STRONG>longname</STRONG> and <STRONG>reset</STRONG>). However (because he had only
- termcap available), it accepted <EM>termcap</EM> <EM>names</EM> for other capabilities.
- Also, Bostic's BSD <STRONG>tput</STRONG> did not modify the terminal I/O modes as the
- earlier BSD <STRONG>tset</STRONG> had done.
+ Keith Bostic replaced the BSD <STRONG>tput</STRONG> command in 1989 with a new
+ implementation based on the AT&amp;T System V program <STRONG>tput</STRONG>. Like the AT&amp;T
+ program, Bostic's version accepted some parameters named for <EM>terminfo</EM>
+ <EM>capabilities</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>.
+ Both of these appeared in 4.4BSD, becoming the "modern" BSD
+ implementation of <STRONG>tput</STRONG>.
This implementation of <STRONG>tput</STRONG> began from a different source than AT&amp;T or
BSD: Ross Ridge's <EM>mytinfo</EM> package, published on <EM>comp.sources.unix</EM> in
- December 1992. Ridge's program made more sophisticated use of the 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.
+ December 1992. Ridge's program made more sophisticated use of the
+ terminal capabilities than the BSD program. Eric Raymond used that
+ <STRONG>tput</STRONG> program (and other parts of <EM>mytinfo</EM>) in 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>
@@ -420,14 +420,14 @@
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.
+ regular terminal. However, the subcommands which manipulate
+ terminal modes may not use the standard output.
The AT&amp;T implementation's <STRONG>init</STRONG> and <STRONG>reset</STRONG> commands use the BSD
- (4.1c) <STRONG>tset</STRONG> source, which manipulates terminal modes. It 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.
+ (4.1c) <STRONG>tset</STRONG> source, which manipulates terminal modes. It
+ successively tries standard output, standard error, standard input
+ before falling back to "/dev/tty" and finally just assumes a 1200Bd
+ terminal. When updating terminal modes, it ignores errors.
Until changes made after ncurses 6.0, <STRONG>tput</STRONG> did not modify terminal
modes. <STRONG>tput</STRONG> now uses a similar scheme, using functions shared with
@@ -447,10 +447,10 @@
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):
+ This implementation (unlike others) can accept both <EM>termcap</EM> and
+ <EM>terminfo</EM> names for the <EM>capname</EM> feature, if <EM>termcap</EM> support is compiled
+ in. However, the predefined <EM>termcap</EM> and <EM>terminfo</EM> names have two
+ 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).
@@ -471,8 +471,8 @@
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.
+ others (<STRONG>init</STRONG> and <STRONG>longname</STRONG>) do not correspond to terminal
+ capabilities.
<STRONG>o</STRONG> Other implementations of <STRONG>tput</STRONG> on SVr4-based systems such as
Solaris, IRIX64 and HPUX as well as others such as AIX and Tru64
@@ -492,24 +492,24 @@
<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.
+ to avoid the complication of including X/Open Curses and the
+ terminal capabilities database.
<STRONG>o</STRONG> While it is certainly possible to write a <STRONG>tput</STRONG> program without
- using curses, none of the systems which have a curses implementa-
- tion provide a <STRONG>tput</STRONG> utility which does not provide the <EM>capname</EM> fea-
- ture.
+ using curses, none of the systems which have a curses
+ implementation provide a <STRONG>tput</STRONG> utility which does not provide the
+ <EM>capname</EM> feature.
- 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
+ X/Open Curses Issue 7 (2009) is the first version to document
+ utilities. However that part of X/Open Curses does not follow existing
practice (i.e., Unix features documented in SVID 3):
<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
+ <STRONG>o</STRONG> It assigns exit code 255 to a numeric variable that is not
+ specified in the terminfo database. That likely is a documentation
error, confusing the <STRONG>-1</STRONG> written to the standard output for an
absent or cancelled numeric value versus an (unsigned) exit code.
@@ -521,9 +521,9 @@
</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>.
+ <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="curs_termcap.3x.html">curs_termcap(3x)</A></STRONG>, <STRONG><A HREF="terminfo.5.html">terminfo(5)</A></STRONG>.
- This describes <STRONG>ncurses</STRONG> version 6.2 (patch 20200215).
+ This describes <STRONG>ncurses</STRONG> version 6.2 (patch 20210109).
diff --git a/doc/html/man/tset.1.html b/doc/html/man/tset.1.html
index 84876f19fec4..471e05307aaf 100644
--- a/doc/html/man/tset.1.html
+++ b/doc/html/man/tset.1.html
@@ -60,8 +60,8 @@
</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
+ First, <STRONG>tset</STRONG> retrieves the current terminal mode settings for your
+ terminal. It does this by successively testing
<STRONG>o</STRONG> the standard error,
@@ -90,30 +90,30 @@
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
+ for more information). Then, if the terminal type begins with a
+ question 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
+ determined, 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.
+ <STRONG>o</STRONG> if the "<STRONG>-w</STRONG>" option is enabled, <STRONG>tset</STRONG> may update the terminal's
+ window 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.
+ but the terminal description (or environment, e.g., <STRONG>LINES</STRONG> and
+ <STRONG>COLUMNS</STRONG> variables specify this), use this to set the operating
+ system'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> unless the "<STRONG>-I</STRONG>" option is enabled, the terminal and tab
+ <EM>initialization</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
@@ -156,8 +156,8 @@
<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 ter-
- minal.
+ <STRONG>-I</STRONG> Do not send the terminal or tab initialization strings to the
+ terminal.
<STRONG>-i</STRONG> Set the interrupt character to <EM>ch</EM>.
@@ -167,8 +167,8 @@
<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 charac-
- ters which differ from the system's default values.
+ characters. Normally <STRONG>tset</STRONG> displays the values for control
+ characters which differ from the system's default values.
<STRONG>-q</STRONG> The terminal type is displayed to the standard output, and the
terminal is not initialized in any way. The option "-" by itself
@@ -210,8 +210,8 @@
</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
+ 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
@@ -224,18 +224,18 @@
The argument to the <STRONG>-m</STRONG> option consists of an optional port type, an
optional operator, an optional baud rate specification, an optional
colon (":") character and a terminal type. The port type is a string
- (delimited by either the operator or the colon character). The opera-
- tor may be any combination of "&gt;", "&lt;", "@", and "!"; "&gt;" means greater
- than, "&lt;" means less than, "@" means equal to and "!" inverts the sense
- of the test. The baud rate is specified as a number and is compared
- with the speed of the standard error output (which should be the con-
- trol terminal). The terminal type is a string.
-
- If the terminal type is not specified on the command line, the <STRONG>-m</STRONG> map-
- pings are applied to the terminal type. If the port type and baud rate
- match the mapping, the terminal type specified in the mapping replaces
- the current type. If more than one mapping is specified, the first
- applicable mapping is used.
+ (delimited by either the operator or the colon character). The
+ operator may be any combination of "&gt;", "&lt;", "@", and "!"; "&gt;" means
+ greater than, "&lt;" means less than, "@" means equal to and "!" inverts
+ the sense of the test. The baud rate is specified as a number and is
+ compared with the speed of the standard error output (which should be
+ the control terminal). The terminal type is a string.
+
+ If the terminal type is not specified on the command line, the <STRONG>-m</STRONG>
+ mappings are applied to the terminal type. If the port type and baud
+ rate match the mapping, the terminal type specified in the mapping
+ replaces the current type. If more than one mapping is specified, the
+ first applicable mapping is used.
For example, consider the following mapping: <STRONG>dialup&gt;9600:vt100</STRONG>. The
port type is dialup , the operator is &gt;, the baud rate specification is
@@ -254,16 +254,16 @@
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 ("!").
+ that <STRONG>csh</STRONG> users insert a backslash character ("\") before any
+ exclamation 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.
+ <EM>intr</EM>, <EM>quit</EM>, <EM>start</EM>/<EM>stop</EM> and <EM>eof</EM> characters as well as changing the
+ program to avoid modifying any user settings.
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
@@ -271,15 +271,15 @@
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.
+ oldest published source (from 1979) provides both <STRONG>tset</STRONG> and <STRONG>reset</STRONG>,
+ Allman'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.
+ the termcap database to do additional (re)initialization of the
+ terminal. 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.
@@ -294,71 +294,72 @@
The AT&amp;T <STRONG>tput</STRONG> utility (AIX, HPUX, Solaris) incorporated the terminal-
mode manipulation as well as termcap-based features such as resetting
- tabstops from <STRONG>tset</STRONG> in BSD (4.1c), presumably with the intention of mak-
- ing <STRONG>tset</STRONG> obsolete. However, each of those systems still provides <STRONG>tset</STRONG>.
- In fact, the commonly-used <STRONG>reset</STRONG> utility is always an alias for <STRONG>tset</STRONG>.
-
- The <STRONG>tset</STRONG> utility provides for backward-compatibility with BSD environ-
- ments (under most modern UNIXes, <STRONG>/etc/inittab</STRONG> and <STRONG>getty(1)</STRONG> can set <STRONG>TERM</STRONG>
- appropriately for each dial-up line; this obviates what was <STRONG>tset</STRONG>'s most
- important use). This implementation behaves like 4.4BSD <STRONG>tset</STRONG>, with a
- few exceptions specified here.
-
- A few options are different because the <STRONG>TERMCAP</STRONG> variable is no longer
+ tabstops from <STRONG>tset</STRONG> in BSD (4.1c), presumably with the intention of
+ making <STRONG>tset</STRONG> obsolete. However, each of those systems still provides
+ <STRONG>tset</STRONG>. In fact, the commonly-used <STRONG>reset</STRONG> utility is always an alias for
+ <STRONG>tset</STRONG>.
+
+ The <STRONG>tset</STRONG> utility provides for backward-compatibility 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
+ <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 of BSD <STRONG>tset</STRONG> no longer works; it prints an error
+ message to the standard error and dies.
<STRONG>o</STRONG> The <STRONG>-s</STRONG> option only sets <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
+ There was an undocumented 4.4BSD feature that invoking <STRONG>tset</STRONG> via a link
+ named "TSET" (or via any other name beginning with an upper-case
+ letter) set the terminal to use upper-case only. This feature has been
omitted.
The <STRONG>-A</STRONG>, <STRONG>-E</STRONG>, <STRONG>-h</STRONG>, <STRONG>-u</STRONG> and <STRONG>-v</STRONG> options were deleted from the <STRONG>tset</STRONG> utility in
- 4.4BSD. None of them were documented in 4.3BSD and all are of limited
- utility at best. The <STRONG>-a</STRONG>, <STRONG>-d</STRONG>, and <STRONG>-p</STRONG> options are similarly not 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
+ 4.4BSD. None of them were documented in 4.3BSD and all are of limited
+ utility at best. The <STRONG>-a</STRONG>, <STRONG>-d</STRONG>, and <STRONG>-p</STRONG> options are similarly not
+ documented or useful, but were retained as they appear to be in
+ widespread use. It is strongly recommended that any usage of these
+ three options be changed to use the <STRONG>-m</STRONG> option instead. The <STRONG>-a</STRONG>, <STRONG>-d</STRONG>, and
+ <STRONG>-p</STRONG> options are therefore omitted from the usage summary above.
+
+ Very old systems, e.g., 3BSD, used a different terminal driver which
+ was replaced in 4BSD in the early 1980s. To accommodate these older
+ systems, the 4BSD <STRONG>tset</STRONG> provided a <STRONG>-n</STRONG> option to specify that the new
+ terminal driver should be used. This implementation does not provide
that choice.
- It is still permissible to specify the <STRONG>-e</STRONG>, <STRONG>-i</STRONG>, and <STRONG>-k</STRONG> options without
+ It is still permissible to specify the <STRONG>-e</STRONG>, <STRONG>-i</STRONG>, and <STRONG>-k</STRONG> options without
arguments, although it is strongly recommended that such usage be fixed
to explicitly specify the character.
- As of 4.4BSD, executing <STRONG>tset</STRONG> as <STRONG>reset</STRONG> no longer implies the <STRONG>-Q</STRONG> option.
+ As of 4.4BSD, executing <STRONG>tset</STRONG> as <STRONG>reset</STRONG> no longer implies the <STRONG>-Q</STRONG> option.
Also, the interaction between the - option and the <EM>terminal</EM> argument in
some historic implementations of <STRONG>tset</STRONG> has been removed.
- The <STRONG>-c</STRONG> and <STRONG>-w</STRONG> options are not found in earlier implementations. How-
- ever, a different window size-change feature was provided in 4.4BSD.
+ The <STRONG>-c</STRONG> and <STRONG>-w</STRONG> options are not found in earlier implementations.
+ However, a different window size-change feature was provided in 4.4BSD.
- <STRONG>o</STRONG> In 4.4BSD, <STRONG>tset</STRONG> uses the window size from the termcap description
- to set the window size if <STRONG>tset</STRONG> is not able to obtain the window
+ <STRONG>o</STRONG> In 4.4BSD, <STRONG>tset</STRONG> uses the window size from the termcap description
+ to set the window size if <STRONG>tset</STRONG> is not able to obtain the window
size from the operating system.
<STRONG>o</STRONG> In 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
+ 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
+ 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.
+ 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
+ window 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>
@@ -367,19 +368,19 @@
SHELL
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,
+ 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 vari-
- able from the environment before looking for the terminal descrip-
- tion.
+ may denote the location of a termcap database. If it is not an
+ absolute pathname, e.g., begins with a "/", <STRONG>tset</STRONG> removes the
+ variable from the environment before looking for the terminal
+ description.
</PRE><H2><a name="h2-FILES">FILES</a></H2><PRE>
/etc/ttys
- system port name to terminal type mapping database (BSD versions
+ system port name to terminal type mapping database (BSD versions
only).
/usr/share/terminfo
@@ -387,10 +388,10 @@
</PRE><H2><a name="h2-SEE-ALSO">SEE ALSO</a></H2><PRE>
- <STRONG>csh(1)</STRONG>, <STRONG>sh(1)</STRONG>, <STRONG>stty(1)</STRONG>, <STRONG><A HREF="curs_terminfo.3x.html">curs_terminfo(3x)</A></STRONG>, <STRONG>tty(4)</STRONG>, <STRONG><A HREF="terminfo.5.html">terminfo(5)</A></STRONG>,
+ <STRONG>csh(1)</STRONG>, <STRONG>sh(1)</STRONG>, <STRONG>stty(1)</STRONG>, <STRONG><A HREF="curs_terminfo.3x.html">curs_terminfo(3x)</A></STRONG>, <STRONG>tty(4)</STRONG>, <STRONG><A HREF="terminfo.5.html">terminfo(5)</A></STRONG>,
<STRONG>ttys(5)</STRONG>, <STRONG>environ(7)</STRONG>
- This describes <STRONG>ncurses</STRONG> version 6.2 (patch 20200215).
+ This describes <STRONG>ncurses</STRONG> version 6.2 (patch 20210109).
diff --git a/doc/html/man/user_caps.5.html b/doc/html/man/user_caps.5.html
index 95bb74d17ba1..ce284d30f1a8 100644
--- a/doc/html/man/user_caps.5.html
+++ b/doc/html/man/user_caps.5.html
@@ -27,7 +27,7 @@
* sale, use or other dealings in this Software without prior written *
* authorization. *
****************************************************************************
- * @Id: user_caps.5,v 1.12 2020/02/02 23:34:34 tom Exp @
+ * @Id: user_caps.5,v 1.16 2020/12/19 21:26:11 tom Exp @
-->
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN">
<HTML>
@@ -57,20 +57,20 @@
</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.
+ Before ncurses 5.0, terminfo databases used a <EM>fixed</EM> <EM>repertoire</EM> of
+ terminal 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:
+ the meaning of an existing capability, a new name was added. The
+ terminfo 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.
+ <STRONG>o</STRONG> The <EM>binary</EM> <EM>format</EM> itself is not described in the X/Open Curses
+ documentation. 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.
@@ -91,9 +91,9 @@
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.
+ list published by X/Open Curses. For example, ncurses can be
+ configured 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
@@ -101,9 +101,9 @@
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:
+ used in ncurses for terminal capabilities includes details for
+ various systems past the documented X/Open Curses features. For
+ example, ncurses supports these capabilities in each configuration:
memory_lock
(meml) lock memory above cursor
@@ -115,16 +115,16 @@
(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.
+ used in the X11R6 terminal description for <STRONG>xterm</STRONG>. The <EM>box1</EM>
+ capability 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 fixed repertoire prevented users from adding features for
+ unanticipated 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
@@ -132,10 +132,10 @@
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
+ ncurses 5.0 provided a way to detect nonstandard capabilities,
+ determine 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"
@@ -144,8 +144,8 @@
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.
+ user-defined capability if the capability name is not one of the
+ predefined names.
Because ncurses provides a termcap library interface, these user-
defined capabilities may be visible to termcap applications:
@@ -153,8 +153,8 @@
<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.
+ When the capability is simple enough for use in a termcap
+ application, 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
@@ -163,17 +163,17 @@
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.
+ keypad- or function-keys) depending on modifier keys (shift,
+ control, etc.). While terminfo and termcap have a set of 60
+ predefined function-key names, to which a series of keys can be
+ assigned, that is insufficient for more than a dozen keys
+ multiplied by more than a couple of modifier combinations. The
+ ncurses database uses a convention based on <STRONG>xterm</STRONG> to provide
+ extended special-key names.
Fitting that into termcap's limitation of 2-character names would
- be pointless. These extended keys are available only with ter-
- minfo.
+ be pointless. These extended keys are available only with
+ terminfo.
</PRE><H3><a name="h3-Recognized-capabilities">Recognized capabilities</a></H3><PRE>
@@ -228,10 +228,10 @@
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>.
+ drawing characters, and that it should ignore the alternate
+ character 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.
@@ -243,13 +243,13 @@
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
+ The mouse protocol is enabled when the <EM>mask</EM> passed in the
+ <STRONG>mousemask</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.
+ is used, because the responses are enough alike that only
+ confusion 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
@@ -259,14 +259,14 @@
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.
+ mouse protocols which can be used in customized terminal
+ descriptions.
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.
+ which would use this information to make the mouse support
+ completely data-driven.
<EM>xm</EM> shows the format of the mouse responses. In this experimental
capability, the parameters are
@@ -287,8 +287,8 @@
<EM>p8</EM> x-ordinate ending region
- Here are examples from the terminal database for the most com-
- monly used xterm mouse protocols:
+ Here are examples from the terminal database for the most
+ commonly used xterm mouse protocols:
xterm+x11mouse|X11 xterm mouse protocol,
kmous=\E[M, XM=\E[?1000%?%p1%{1}%=%th%el%;,
@@ -306,15 +306,15 @@
</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
+ Several terminals provide the ability to send distinct strings for
+ combinations of modified special keys. There is no standard for what
those keys can send.
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.
+ can use the <EM>naming</EM> <EM>convention</EM> established for <STRONG>xterm</STRONG> to find these
+ special 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
@@ -356,21 +356,29 @@
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> using a list of extended key <EM>names</EM>, ask <STRONG><A HREF="curs_terminfo.3x.html">tigetstr(3x)</A></STRONG> for their
+ values, 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.
+ The "-x" extension feature of <STRONG>tic</STRONG> and <STRONG>infocmp</STRONG> has been adopted in
+ NetBSD 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>.
+ <STRONG><A HREF="infocmp.1m.html">infocmp(1m)</A></STRONG>, <STRONG><A HREF="tic.1m.html">tic(1m)</A></STRONG>.
+
+ The terminal database section <EM>NCURSES</EM> <EM>USER-DEFINABLE</EM> <EM>CAPABILITIES</EM>
+ summarizes commonly-used user-defined capabilities which are used in
+ the terminal descriptions. Some of those features are mentioned in
+ <STRONG>screen(1)</STRONG> or <STRONG>tmux(1)</STRONG>.
+
+ <EM>XTerm</EM> <EM>Control</EM> <EM>Sequences</EM> provides further information on the <STRONG>xterm</STRONG>
+ features which are used in these extended capabilities.
</PRE><H2><a name="h2-AUTHORS">AUTHORS</a></H2><PRE>
diff --git a/doc/html/man/wresize.3x.html b/doc/html/man/wresize.3x.html
index 01b9d77b9a0a..8ddc39bb1fd5 100644
--- a/doc/html/man/wresize.3x.html
+++ b/doc/html/man/wresize.3x.html
@@ -28,7 +28,7 @@
* authorization. *
****************************************************************************
* Author: Thomas E. Dickey 1996
- * @Id: wresize.3x,v 1.16 2020/02/02 23:34:34 tom Exp @
+ * @Id: wresize.3x,v 1.17 2020/10/17 23:56:38 tom Exp @
-->
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN">
<HTML>
@@ -54,7 +54,7 @@
</PRE><H2><a name="h2-SYNOPSIS">SYNOPSIS</a></H2><PRE>
<STRONG>#include</STRONG> <STRONG>&lt;curses.h&gt;</STRONG>
- <STRONG>int</STRONG> <STRONG>wresize(WINDOW</STRONG> <STRONG>*win,</STRONG> <STRONG>int</STRONG> <STRONG>lines,</STRONG> <STRONG>int</STRONG> <STRONG>columns);</STRONG>
+ <STRONG>int</STRONG> <STRONG>wresize(WINDOW</STRONG> <STRONG>*</STRONG><EM>win</EM><STRONG>,</STRONG> <STRONG>int</STRONG> <EM>lines</EM><STRONG>,</STRONG> <STRONG>int</STRONG> <EM>columns</EM><STRONG>);</STRONG>
</PRE><H2><a name="h2-DESCRIPTION">DESCRIPTION</a></H2><PRE>