summaryrefslogtreecommitdiffstats
path: root/contrib/dialog/dialog.1
diff options
context:
space:
mode:
Diffstat (limited to 'contrib/dialog/dialog.1')
-rw-r--r--contrib/dialog/dialog.1446
1 files changed, 367 insertions, 79 deletions
diff --git a/contrib/dialog/dialog.1 b/contrib/dialog/dialog.1
index 8fd4de1..923408b 100644
--- a/contrib/dialog/dialog.1
+++ b/contrib/dialog/dialog.1
@@ -1,6 +1,6 @@
'\" t
-.\" $Id: dialog.1,v 1.133 2011/06/29 09:39:29 tom Exp $
-.\" Copyright 2005-2010,2011 Thomas E. Dickey
+.\" $Id: dialog.1,v 1.165 2013/03/15 09:07:30 tom Exp $
+.\" Copyright 2005-2012,2013 Thomas E. Dickey
.\"
.\" This program is free software; you can redistribute it and/or modify
.\" it under the terms of the GNU Lesser General Public License, version 2.1
@@ -27,18 +27,23 @@
.ne 8
.IP
..
-.de EX
-.RS +10
+.de Ex
+.RS +7
+.PP
.nf
..
-.de EE
+.de Ee
.fi
.RE
..
+.\" Bulleted paragraph
+.de bP
+.IP \(bu 4
+..
.
-.TH \*D 1 "" "$Date: 2011/06/29 09:39:29 $"
+.TH \*D 1 "" "$Date: 2013/03/15 09:07:30 $"
.SH NAME
-\*p \- display dialog boxes from shell scripts
+dialog \- display dialog boxes from shell scripts
.SH SYNOPSIS
\fB\*p --clear\fP
.br
@@ -59,6 +64,7 @@ These types of dialog boxes are implemented
.LP
.nh
.na
+.BR buildlist ", "
.BR calendar ", "
.BR checklist ", "
.BR dselect ", "
@@ -80,22 +86,22 @@ These types of dialog boxes are implemented
.BR programbox ", "
.BR progressbox ", "
.BR radiolist ", "
+.BR rangebox ", "
.BR tailbox ", "
.BR tailboxbg ", "
.BR textbox ", "
-.BR timebox ", and "
+.BR timebox ", "
+.BR treeview ", and "
.BR yesno " (yes/no)."
.ad
.hy
.RE
.PP
You can put more than one dialog box into a script:
-.TP 5
--
+.bP
Use the "\fB--and-widget\fP" token to force \fB\*p\fP to proceed to the next
dialog unless you have pressed ESC to cancel, or
-.TP 5
--
+.bP
Simply add the tokens for the next dialog box, making a chain.
\*L stops chaining when the return code from a dialog is nonzero,
e.g., Cancel or No (see DIAGNOSTICS).
@@ -172,39 +178,39 @@ To compare the effects, use these:
.
.ES
All three widgets visible, staircase effect, ordered 1,2,3:
-.EX
-\*p \
+.Ex
+\*p \\
--begin 2 2 --yesno "" 0 0 \\
--and-widget --begin 4 4 --yesno "" 0 0 \\
--and-widget --begin 6 6 --yesno "" 0 0
-.EE
+.Ee
.
.ES
Only the last widget is left visible:
-.EX
-\*p \
+.Ex
+\*p \\
--clear --begin 2 2 --yesno "" 0 0 \\
--and-widget --clear --begin 4 4 --yesno "" 0 0 \\
--and-widget --begin 6 6 --yesno "" 0 0
-.EE
+.Ee
.
.ES
All three widgets visible, staircase effect, ordered 3,2,1:
-.EX
-\*p \
+.Ex
+\*p \\
--keep-window --begin 2 2 --yesno "" 0 0 \\
--and-widget --keep-window --begin 4 4 --yesno "" 0 0 \\
--and-widget --begin 6 6 --yesno "" 0 0
-.EE
+.Ee
.
.ES
First and third widget visible, staircase effect, ordered 3,1:
-.EX
-\*p \
+.Ex
+\*p \\
--keep-window --begin 2 2 --yesno "" 0 0 \\
--and-widget --clear --begin 4 4 --yesno "" 0 0 \\
--and-widget --begin 6 6 --yesno "" 0 0
-.EE
+.Ee
.IP
Note, if you want to restore original console colors and send your
cursor home after the dialog program has exited, use the \fBclear\fR\ (1)
@@ -237,6 +243,7 @@ occurrences of the given string, and to align the split data into columns.
.IP "\fB--cr-wrap"
Interpret embedded newlines in the dialog text as a newline on the screen.
Otherwise, \fB\*p\fR will only wrap lines where needed to fit inside the text box.
+.IP
Even though you can control line breaks with this,
\fB\*L\fR will still wrap any lines that are too long for the width of the box.
Without cr-wrap, the layout of your text may be formatted to look nice
@@ -270,6 +277,25 @@ If "\fB--nocancel\fP" or "\fB--visit-items\fP" are given
those options overrides this,
making the default button always "Yes" (internally the same as "OK").
.
+.IP "\fB--default-button \fIstring"
+Set the default (preselected) button in a widget.
+By preselecting a button,
+a script makes it possible for the user to simply press \fIEnter\fP
+to proceed through a dialog with minimum interaction.
+.IP
+The option's value is the name of the button:
+.IR ok ,
+.IR yes ,
+.IR cancel ,
+.IR no ,
+.IR help "\ or"
+.IR extra .
+.IP
+Normally the first button in each widget is the default.
+The first button shown is determined by the widget
+together with the "\fB--nook\fP" and "\fB--nocancel\fP options.
+If this option is not given, there is no default button assigned.
+.
.IP "\fB--default-item \fIstring"
Set the default item in a checklist, form or menu box.
Normally the first item in the box is the default.
@@ -338,13 +364,14 @@ adding a column which is displayed in the bottom line of the
screen, for the currently selected item.
.
.IP "\fB--keep-tite"
-Normally \fB\*p\fP checks to see if it is running in an \fBxterm\fP,
+When built with \fBncurses\fP,
+\fB\*p\fP normally checks to see if it is running in an \fBxterm\fP,
and in that case tries to suppress the initialization strings that
would make it switch to the alternate screen.
Switching between the normal and alternate screens
is visually distracting in a script which runs \fB\*p\fP
several times.
-Use this option to allow \fB\*p\fP to use those initialization strings.
+Use this option to allow \fB\*p\fP to use those initialization strings.
.
.IP "\fB--keep-window"
Normally when \fB\*p\fR performs several \fBtailboxbg\fR widgets
@@ -357,6 +384,12 @@ marked with "\fB--keep-window\fR", even if they are not \fBtailboxbg\fR widgets.
That causes them to be repainted in reverse order.
See the discussion of the "\fB--clear\fR" option for examples.
.
+.IP "\fB--last-key"
+At exit, report the last key which the user entered.
+This is the curses key code rather than a symbol or literal character.
+It can be used by scripts to distinguish between two keys which are
+bound to the same action.
+.
.IP "\fB--max-input \fIsize"
Limit input strings to the given size.
If not specified, the limit is 2048.
@@ -373,6 +406,16 @@ Use this option to disable that feature.
Note that \fB\*p\fR will still wrap text,
subject to the "\fB--cr-wrap\fR" and "\fB--trim\fR" options.
.
+.IP "\fB--no-items"
+Some widgets (checklist, inputmenu, radiolist, menu) display a list
+with two columns (a "tag" and "item", i.e., "description").
+This option tells \fB\*p\fP to read shorter rows,
+omitting the "item" part of the list.
+This is occasionally useful, e.g., if the tags provide enough information.
+.IP
+See also \fB--no-tags\fP.
+If both options are given, this one is ignored.
+.
.IP "\fB--no-kill"
Tells
\fB\*p\fP
@@ -401,10 +444,27 @@ literal newlines.
Suppress the "OK" button in checklist, inputbox and menu box modes.
A script can still test if the user pressed the "Enter" key to accept the data.
.
-.
.IP "\fB--no-shadow"
Suppress shadows that would be drawn to the right and bottom of each dialog box.
.
+.IP "\fB--no-tags"
+Some widgets (checklist, inputmenu, radiolist, menu) display a list
+with two columns (a "tag" and "description").
+The tag is useful for scripting, but may not help the user.
+The \fB--no-tags\fP option (from Xdialog) may be used to suppress the
+column of tags from the display.
+Unlike the \fB--no-items\fP option,
+this does not affect the data which is read from the script.
+.IP
+Xdialog does not display the tag column for the analogous buildlist
+and treeview widgets; \fB\*p\fP does the same.
+.IP
+Normally \fB\*p\fP allows you to quickly move to entries on the displayed list,
+by matching a single character to the first character of the tag.
+When the \fB--no-tags\fP option is given, \fB\*p\fP matches against
+the first character of the description.
+In either case, the matchable character is highlighted.
+.
.IP "\fB--ok-label \fIstring"
Override the label used for "OK" buttons.
.
@@ -433,6 +493,11 @@ Prints \fB\*p\fR's version to \fB\*p\fP's output.
This may be used alone, without other options.
It does not cause \fBdialog\fP to exit by itself.
.
+.IP "\fB--quoted"
+Normally \fB\*p\fP quotes the strings returned by checklist's
+as well as the item-help text.
+Use this option to quote all string results.
+.
.IP "\fB--scrollbar"
For widgets holding a scrollable set of data,
draw a scrollbar on its right-margin.
@@ -456,8 +521,8 @@ Draw a shadow to the right and bottom of each dialog box.
Use single-quoting as needed (and no quotes if unneeded) for the
output of checklist's as well as the item-help text.
If this option is not set, \fB\*p\fP uses double quotes around each item.
-That requires occasional use of backslashes to make the output useful in
-shell scripts.
+In either case,
+\fB\*p\fP adds backslashes to make the output useful in shell scripts.
.
.IP "\fB--size-err"
Check the resulting size of a dialog box before trying to use it,
@@ -501,8 +566,11 @@ The day, month, year values in this case are for the current local time.
.IP "\fB--timeout \fIsecs"
Timeout (exit with error code)
if no user response within the given number of seconds.
-This is overridden if the background "\fB--tailboxbg\fP is used.
A timeout of zero seconds is ignored.
+.IP
+This option is ignored by the "\fB--pause\fP" widget.
+It is also overridden if the background "\fB--tailboxbg\fP" option is used
+to setup multiple concurrent widgets.
.
.IP "\fB--title \fItitle"
Specifies a
@@ -510,11 +578,16 @@ Specifies a
string to be displayed at the top of the dialog box.
.
.IP "\fB--trace \fIfilename"
-logs the command-line parameters and
-keystrokes to the given file.
+logs the command-line parameters,
+keystrokes and other information to the given file.
If \fBdialog\fP reads a configure file, it is logged as well.
Piped input to the \fIgauge\fP widget is logged.
Use control/T to log a picture of the current dialog window.
+.PP
+The \fB\*p\fR program handles some command-line parameters specially,
+and removes them from the parameter list as they are processed.
+For example, if the first option is \fB--trace\fP,
+then that is processed (and removed) before \fB\*p\fR initializes the display.
.
.IP "\fB--trim"
eliminate leading blanks,
@@ -528,7 +601,7 @@ Prints \fB\*p\fR's version to the standard output, and exits.
See also "\fB--print-version\fP".
.
.IP "\fB--visit-items"
-Modify the tab-traversal of checklist, radiobox, menubox and inputmenu
+Modify the tab-traversal of checklist, radiolist, menubox and inputmenu
to include the list of items as one of the states.
This is useful as a visual aid,
i.e., the cursor position helps some users.
@@ -556,6 +629,44 @@ the width of the dialog box.
Other parameters depend on the box type.
.
.
+.IP "\fB--buildlist \fItext height width \fR[ \fItag item status \fR] \fI..."
+A \fBbuildlist\fP dialog displays two lists, side-by-side.
+The list on the left shows unselected items.
+The list on the right shows selected items.
+As items are selected or unselected, they move between the lists.
+.IP
+Use a carriage return or the "OK" button to accept the current value
+in the selected-window and exit.
+The results are written using the order displayed in the selected-window.
+.IP
+The initial on/off state of each entry is specified by
+.IR status "."
+.IP
+The dialog behaves like a \fBmenu\fP, using the \fB--visit-items\fP
+to control whether the cursor is allowed to visit the lists directly.
+.RS
+.bP
+If \fB--visit-items\fP is not given,
+tab-traversal uses two states (OK/Cancel).
+.bP
+If \fB--visit-items\fP is given,
+tab-traversal uses four states (Left/Right/OK/Cancel).
+.RE
+.IP
+Whether or not \fB--visit--items\fP is given,
+it is possible to move the highlight between the two lists using
+the default "^" (left-column) and "$" (right-column) keys.
+.IP
+On exit, a list of the \fItag\fP
+strings of those entries that are turned on
+will be printed on \fB\*p\fP's output.
+.IP
+If the "\fB--separate-output\fP" option is not given,
+the strings will be quoted as needed to make it simple for scripts to separate them.
+By default, this uses double-quotes.
+See the "\fB--single-quoted\fP" option, which modifies the quoting behavior.
+.
+.
.IP "\fB--calendar \fItext height width day month year"
A \fBcalendar\fP box displays
month, day and year in separately adjustable windows.
@@ -589,8 +700,10 @@ The initial on/off state of each entry is specified by
On exit, a list of the \fItag\fP
strings of those entries that are turned on
will be printed on \fB\*p\fP's output.
+.IP
If the "\fB--separate-output\fP" option is not given,
-the strings will be quoted to make it simple for scripts to separate them.
+the strings will be quoted as needed to make it simple for scripts to separate them.
+By default, this uses double-quotes.
See the "\fB--single-quoted\fP" option, which modifies the quoting behavior.
.
.
@@ -621,7 +734,7 @@ On exit, the contents of the text-entry window are written to \fB\*p\fP's output
.
.IP "\fB--editbox \fIfilepath height width\fR"
The edit-box dialog displays a copy of the file.
-You may edit it using
+You may edit it using
the \fIbackspace\fP, \fIdelete\fP and cursor keys
to correct typing errors.
It also recognizes pageup/pagedown.
@@ -642,16 +755,13 @@ The former defines the length shown for a selected field,
while the latter defines the permissible length of the data entered in the
field.
.RS
-.TP 3
--
+.bP
If \fIflen\fR is zero, the corresponding field cannot be altered.
and the contents of the field determine the displayed-length.
-.TP 3
--
+.bP
If \fIflen\fR is negative, the corresponding field cannot be altered,
and the negated value of \fIflen\fR is used as the displayed-length.
-.TP 3
--
+.bP
If \fIilen\fR is zero, it is set to \fIflen\fR.
.RE
.IP
@@ -847,7 +957,7 @@ On exit, no text is written to \fB\*p\fP's output.
Only an "OK" button is provided for input,
but an ESC exit status may be returned.
.
-.IP "\fB\-\-pause \fItext height width seconds\fR"
+.IP "\fB--pause \fItext height width seconds\fR"
A
\fBpause\fP
box displays a meter along the bottom of the box.
@@ -899,7 +1009,8 @@ If only two parameters are given, this text is omitted.
.IP "\fB--programbox \fIheight width"
A \fBprogrambox\fP is very similar to a \fBprogressbox\fP.
The only difference between a \fBprogram\fP box and a \fBprogress\fP
-box is that a \fBprogram\fP box displays an \fBOK\fP button.
+box is that a \fBprogram\fP box displays an \fBOK\fP button
+(but only after the command completes).
.IP
This dialog box is used to display the piped output of a command.
After the command completes, the user can press the \fIENTER\fP key so that
@@ -913,7 +1024,16 @@ If only two parameters are given, this text is omitted.
.IP "\fB--progressbox \fItext height width"
.IP "\fB--progressbox \fIheight width"
A \fBprogressbox\fP is similar to an \fBtailbox\fP,
-except that it will exit when it reaches the end of the file.
+except that
+.RS
+.TP 3
+a) rather than displaying the contents of a file,
+it displays the piped output of a command and
+.TP 3
+b) it will exit when it reaches the end of the file
+(there is no "OK" button).
+.RE
+.IP
If three parameters are given, it displays the text under the title,
delineated from the scrolling file's contents.
If only two parameters are given, this text is omitted.
@@ -929,7 +1049,7 @@ The only difference is
that you can indicate which entry is currently selected, by setting its
.IR status " to " on "."
.IP
-On exit, the name of the selected item is written to \fB\*p\fP's output.
+On exit, the tag of the selected item is written to \fB\*p\fP's output.
.
.
.IP "\fB--tailbox \fIfile height width"
@@ -942,6 +1062,36 @@ Only an "OK" button is provided for input,
but an ESC exit status may be returned.
.
.
+.nf
+.IP "\fB--rangebox \fItext height width list-height min-value max-value default-value"
+.fi
+Allow the user to select from a range of values, e.g., using a slider.
+The dialog shows the current value as a bar (like the gauge dialog).
+Tabs or arrow keys move the cursor between the buttons and the value.
+When the cursor is on the value,
+you can edit it by:
+.RS
+.TP 5
+left/right cursor movement to select a digit to modify
+.TP 5
++/-
+characters to increment/decrement the digit by one
+.TP 5
+0 through 9
+to set the digit to the given value
+.RE
+.IP
+Some keys are also recognized in all cursor positions:
+.RS
+.TP 5
+home/end
+set the value to its maximum or minimum
+.TP 5
+pageup/pagedown
+increment the value so that the slider moves by one column
+.RE
+.
+.
.IP "\fB--tailboxbg \fIfile height width"
Display text from a file in a dialog box as a background task,
as in a "tail -f &" command.
@@ -1007,6 +1157,19 @@ On exit, the result is printed in the form hour:minute:second.
The format can be overridden using the \fB--time-format\fP option.
.
.
+.IP "\fB--treeview \fItext height width list-height \fR[ \fItag item status depth \fR] \fI..."
+Display data organized as a tree.
+Each group of data contains a tag,
+the text to display for the item,
+its status ("on" or "off")
+and the depth of the item in the tree.
+.IP
+Only one item can be selected (like the \fBradiolist\fP).
+The tag is not displayed.
+.IP
+On exit, the tag of the selected item is written to \fB\*p\fP's output.
+.
+.
.IP "\fB--yesno \fItext height width"
A \fByes/no\fP dialog box of
size \fIheight\fP rows by \fIwidth\fP columns will be displayed.
@@ -1094,9 +1257,10 @@ can find, as stated in step 2 above.
You can override or add to key bindings in \fB\*p\fP
by adding to the configuration file.
\fB\*L\fP's \fBbindkey\fP command maps single keys to its internal coding.
-.EX
+.Ex
bindkey \fIwidget\fP \fIcurses_key\fP \fIdialog_key\fP
-.EE
+.Ee
+.PP
The \fIwidget\fP name can be "*" (all widgets), or
specific widgets such as \fBtextbox\fP.
Specific widget bindings override the "*" bindings.
@@ -1111,6 +1275,82 @@ Finally, it allows any single character to be escaped with a backslash.
\fB\*L\fP's internal keycode names correspond to the
\fBDLG_KEYS_ENUM\fP type in
\fBdlg_keys.h\fP, e.g., "HELP" from "DLGK_HELP".
+.SS Widget Names
+.PP
+Some widgets (such as the formbox) have an area where fields can be edited.
+Those are managed in a subwindow of the widget, and
+may have separate keybindings from the main widget
+because the subwindows are registered using a different name.
+.TS
+center tab(/) ;
+l l l
+l l l .
+\fIWidget\fR/\fIWindow name\fR/\fISubwindow Name\fR
+calendar/calendar
+checklist/checklist
+editbox/editbox/editbox2
+form/formbox/formfield
+fselect/fselect/fselect2
+inputbox/inputbox/inputbox2
+menu/menubox/menu
+msgbox/msgbox
+pause/pause
+progressbox/progressbox
+radiolist/radiolist
+tailbox/tailbox
+textbox/textbox/searchbox
+timebox/timebox
+yesno/yesno
+.TE
+.PP
+Some widgets are actually other widgets,
+using internal settings to modify the behavior.
+Those use the same widget name as the actual widget:
+.TS
+center tab(/) ;
+l l
+l l .
+\fIWidget\fR/\fIActual Widget\fR
+dselect/fselect
+infobox/msgbox
+inputmenu/menu
+mixedform/form
+passwordbox/inputbox
+passwordform/form
+prgbox/progressbox
+programbox/progressbox
+tailboxbg/tailbox
+.TE
+.SS Built-in Bindings
+This manual page does not list the key bindings for each widget,
+because that detailed information can be obtained by running \fB\*p\fP.
+If you have set the \fB--trace\fP option,
+\fB\*p\fP writes the key-binding information for each widget
+as it is registered.
+.SS Example
+Normally \fB\*p\fP uses different keys for navigating between the buttons
+and editing part of a dialog versus navigating within the editing part.
+That is, tab (and back-tab) traverse buttons
+(or between buttons and the editing part),
+while arrow keys traverse fields within the editing part.
+Tabs are also recognized as a special case for traversing between
+widgets, e.g., when using multiple tailboxbg widgets.
+.PP
+Some users may wish to use the same key for traversing within the
+editing part as for traversing between buttons.
+The form widget is written to support this sort of redefinition of
+the keys, by adding a special group in <code>dlgk_keys.h</code>
+for "form" (left/right/next/prev).
+Here is an example binding demonstrating how to do this:
+.Ex
+bindkey formfield TAB form_NEXT
+bindkey formbox TAB form_NEXT
+bindkey formfield BTAB form_prev
+bindkey formbox BTAB form_prev
+.Ee
+.PP
+That type of redefinition would not be useful in other widgets,
+e.g., calendar, due to the potentially large number of fields to traverse.
.
.\" ************************************************************************
.SH ENVIRONMENT
@@ -1149,7 +1389,7 @@ error (-1),
ESC (255),
Extra (3),
Help (2),
-Help with --item-help (2),
+Help with \fB--item-help\fP (2),
or OK (0).
Normally shell scripts cannot distinguish between -1 and 255.
.TP 15
@@ -1167,49 +1407,51 @@ of how to use the different box options and how they look.
Just take a look into the directory \fBsamples/\fP of the source.
.SH DIAGNOSTICS
Exit status is subject to being overridden by environment variables.
-Normally they are:
+The default values and corresponding environment variables
+that can override them are:
.TP 5
0
if
.BR \*p " is exited by pressing the " Yes " or " OK
-button.
+button (DIALOG_OK).
.TP 5
1
if the
.BR No " or " Cancel
-button is pressed.
+button is pressed (DIALOG_CANCEL).
.TP 5
2
if the
.BR Help
-button is pressed.
+button is pressed (DIALOG_HELP).
.TP 5
3
if the
.BR Extra
-button is pressed.
+button is pressed (DIALOG_EXTRA).
+.TP 5
4
if the
-.BR Item Help
-button is pressed.
+.BR Help
+button is pressed (DIALOG_HELP),
+or the \fB--item-help\fP option is set
+when the \fBHelp\fP button is pressed (DIALOG_ITEM_HELP),
.TP 5
-1
-if errors occur inside \fB\*p\fP
-or \fB\*p\fP is exited by pressing the \fIESC\fP key.
+if errors occur inside \fB\*p\fP (DIALOG_ERROR)
+or \fB\*p\fP is exited by pressing the \fIESC\fP key (DIALOG_ESC).
.
.\" ************************************************************************
.SH PORTABILITY
\fB\*L\fP works with X/Open curses.
However, some implementations have deficiencies:
.RS 3
-.TP 3
--
+.bP
HPUX curses (and perhaps others) do not open the terminal properly for
the \fInewterm\fP function.
This interferes with \fB\*p\fP's \fB--input-fd\fP option,
by preventing cursor-keys and similar escape sequences from being recognized.
-.TP 3
--
+.bP
NetBSD 5.1 curses has incomplete support for wide-characters.
\fB\*p\fP will build, but not all examples display properly.
.RE
@@ -1262,15 +1504,31 @@ l l.
.RE
.PP
\fBXdialog\fP's manpage has a section discussing its compatibility with \fB\*p\fP.
+There are some differences not shown in the manpage.
+For example, the html documentation states
+.RS
+.PP
+Note: former Xdialog releases used the "\n" (line feed) as a
+results separator for the checklist widget; this has been
+changed to "/" in Xdialog v1.5.0 so to make it compatible with
+(c)dialog. In your old scripts using the Xdialog checklist, you
+will then have to add the --separate-output option before the
+--checklist one.
+.RE
+.PP
+\fB\*L\fP has not used a different separator;
+the difference was likely due to confusion regarding some script.
.SS WHIPTAIL
Then there is \fBwhiptail\fP.
-For practical purposes, it is maintained by Debian.
-Its documentation claims
+For practical purposes, it is maintained by Debian
+(very little work is done by its upstream developers).
+Its documentation (README.whiptail) claims
.RS
.sp
.nf
whiptail(1) is a lightweight replacement for \*p(1),
-to provide dialog boxes for shell scripts. It is built on the
+to provide dialog boxes for shell scripts.
+It is built on the
newt windowing library rather than the ncurses library, allowing
it to be smaller in embedded enviroments such as installers,
rescue disks, etc.
@@ -1287,18 +1545,24 @@ The comparable number for \fB\*p\fP (counting ncurses) is 520kb.
Disregard the first paragraph.
.PP
The second paragraph is misleading, since \fBwhiptail\fP
-also does not work for common options of \*p, such as the gauge box.
-\fBwhiptail\fP is less compatible with \fB\*p\fP than the decade-old
-original dialog 0.4 program.
+also does not work for common options of \fB\*p\fP,
+such as the gauge box.
+\fBwhiptail\fP is less compatible with \fB\*p\fP than the
+original mid-1990s dialog 0.4 program.
.PP
\fBwhiptail\fP's manpage borrows features from \fB\*p\fP, e.g.,
-\fB--default-item\fP (2000),
-\fB--output-fd\fP (2002),
-but oddly cites only \fB\*p\fP versions up to 0.4 (1996) as a source.
+but oddly cites only \fB\*p\fP versions up to 0.4 (1994) as a source.
That is, its manpage refers to features which
were borrowed from more recent versions of \fB\*p\fP, e.g.,
-the \fB--gauge\fP and \fB--password\fP boxes,
-as well as options such as \fB-separate-output\fP (2008).
+.bP
+\fB--gauge\fP (from 0.5)
+.bP
+\fB--passwordbox\fP (from Debian changes in 1999),
+.bP
+\fB--default-item\fP (from \fB\*p\fP 2000/02/22),
+.bP
+\fB--output-fd\fP (from \fB\*p\fP 2002/08/14).
+.PP
Somewhat humorously, one may note that the \fBpopt\fP feature
(undocumented in its manpage)
of using a "--" as an escape was documented in \fB\*p\fP's manpage about
@@ -1316,12 +1580,38 @@ l l
_ _
l l.
\fIOption\fR \fITreatment\fR
+\fB--cancel-button\fP mapped to \fB--cancel-label\fP
\fB--fb\fP ignored
\fB--fullbutton\fP ignored
+\fB--no-button\fP mapped to \fB--no-label\fP
\fB--nocancel\fP mapped to \fB--no-cancel\fP
-\fB--noitem\fP ignored
+\fB--noitem\fP mapped to \fB--no-items\fP
+\fB--notags\fP mapped to \fB--no-tags\fP
+\fB--ok-button\fP mapped to \fB--ok-label\fP
+\fB--scrolltext\fP mapped to \fB--scrollbar\fP
+\fB--topleft\fP mapped to \fB--begin 0 0\fP
+\fB--yes-button\fP mapped to \fB--yes-label\fP
.TE
.RE
+.LP
+There are visual differences which are not addressed by command-line options:
+.bP
+\fB\*p\fP centers lists within the window.
+\fBwhiptail\fP typically puts lists against the left margin.
+.bP
+\fBwhiptail\fP uses angle brackets ("<" and ">") for marking buttons.
+\fB\*p\fP uses square brackets.
+.bP
+\fBwhiptail\fP marks the limits of subtitles with vertical bars.
+\fB\*p\fP does not mark the limits.
+.bP
+\fBwhiptail\fP attempts to mark the top/bottom cells of a scrollbar
+with up/down arrows.
+When it cannot do this,
+it fills those cells with the background color
+of the scrollbar and confusing the user.
+\fB\*p\fP uses the entire scrollbar space,
+thereby getting better resolution.
.\" ************************************************************************
.SH BUGS
Perhaps.
@@ -1340,13 +1630,11 @@ Yura Kalinichenko adapted the gauge widget as "pause".
This is a rewrite (except as needed to provide compatibility)
of the earlier version of \fB\*p 0.9a\fP,
which lists as authors:
-.RS
-.LP
+.bP
Savio Lam - version 0.3, "dialog"
-.LP
+.bP
Stuart Herbert - patch for version 0.4
-.LP
+.bP
Marc Ewing - the gauge widget.
-.LP
+.bP
Pasquale De Marco "Pako" - version 0.9a, "cdialog"
-.RE
OpenPOWER on IntegriCloud