FreeBSD manual

download PDF document: bsddialog.1.pdf

BSDDIALOG(1) FreeBSD General Commands Manual BSDDIALOG(1)
NAME bsddialog - TUI dialogs
SYNOPSIS bsddialog --help bsddialog --version bsddialog [--option] --dialog text rows cols [dialog-argument] bsddialog --dialog1 ... [--and-dialog --dialog2 ...] ...
DESCRIPTION The bsddialog utility builds Text User Interface dialogs and widgets: to display messages, to get input and to inform about a computation status.
The options --help and --version print the list of options and the version, respectively, then exit. --and-dialog builds another dialog unless the previous one returns Error, ESC or Cancel.
text is a message printed inside the dialog. rows and cols are the height and width, 0 for autosize and -1 for fullscreen.
The possible input got from the user interface is printed to standard error.
Options The following options can change the default behavior of the utility and are common to some dialog.
--alternate-screen If available set alternate screen mode, see terminfo(5).
--ascii-lines Ascii characters to draw lines.
--backtitle backtitle Title on the top side of the screen.
--begin-x x Dialog horizontal position, 0 is the left screen side, -1 center.
--begin-y y Dialog vertical position, 0 is the top screen side, -1 center.
--bikeshed Random settings. Colors. Delimiter and margins around the title. Buttons always active or TAB to switch focus with input components, see --switch-buttons. Zero padding with time or date output.
--cancel-label label Label for the "Cancel" button.
--clear-dialog Hide the dialog at exit.
--clear-screen Clear the screen, after the dialog exit if a dialog is built.
"\Z4" blue. "\Z5" magenta. "\Z6" cyan. "\Z7" white. "\Zr" reverse foreground and background. "\ZR" disable reverse. "\Zb" bold. "\ZB" disable bold. "\Zu" underline. "\ZU" disable underline. "\Zn" restore normal text.
--columns-per-row columns Try to set the number of columns for a row of text with autosizing; default 10.
--cr-wrap Keep new line in text also if it constains a "\n", see --text-unchanged.
--date-format format String accepted by strftime(3) to customize the output of --datebox and --calendar
--default-button label Focus on the button with label on startup.
--default-item name Focus on the item with name, for Checklist, Menu, Radiolist and Treeview.
--default-no Focus on "Cancel" or "No" button on startup.
--disable-esc Disable ESC key to quit.
--esc-return-cancel ESC key returns "Cancel" button value.
--extra-button Add a button with "Extra" label.
--extra-label label Set label for the "Extra" button.
--generic-button1 label Add a button with label.
--generic-button2 label Add a button with label.
--help-button Add a button with "Help" label.
--help-label label Set label for "Help" button.
--help-print-name Open filename in a Textbox if F1 key is pressed,
--hline string Dialog subtitle.
--hmsg string Open a Msgbox with string if the F1 key is pressed.
--ignore Do not exit with unknown options.
--insecure Print `*' to hide passwords while typing; whitespace otherwise.
--item-bottom-desc Set a help string for each item of a Checklist, Form, Menu, Mixedform, Passwordform, Radiolist and Treeview to display at the bottom screen side.
--item-depth Specify a margin for items, available for Checklist, Menu and Radiolist.
--item-prefix Set a string to prefix each item of a Checklist, Menu, Radiolist or Treeview.
--load-theme file Load theme from file.
--max-input size Maximum length of the input for --inputbox ans --passwordbox, default 2048.
--no-cancel Do not show "Cancel" button.
--no-descriptions Do not display items desciption, for Checklist, Menu, Radiolist or Treeview.
--no-lines Do not draw borders and lines.
--no-names Do not display items name, for Checklist, Menu and Radiolist.
--no-ok Do not draw "OK" button.
--no-shadow No not draw the shadow of the dialog.
--ok-label label Set label for "OK" button.
--normal-screen If available set normal screen mode, see terminfo(5).
Screen size. This option can be used without a dialog.
--print-size Print Dialog height and widget at exit.
--print-version Print version. This option can be used without a dialog.
--quoted Quote items in output, default only when necessary.
--save-theme file Save the current theme. This option can be used without a dialog.
--separate-output Separate selected items with a new line and avoid to quote.
--shadow Show a pseudo shadow for the dialog, enabled by default.
--single-quoted Use single quote for items in output.
--sleep secs Wait secs seconds to close the dialog.
--stderr Print input from user interface to standand error, default.
--stdout Print input from user interface to standard output.
--switch-buttons enables focus switching between buttons and input components pressing TAB, otherwise buttons are always active and ENTER key closes the dialog. Suitable for: --form, --inputbox, --mixedform, --passwordbox, --passwordform, --timebox, --calendar and --datebox.
--tab-escape Replace "\t" with a tab in text.
--tab-len spaces Number of spaces to print a TAB in text.
--text-unchanged By default the text is changed before to be printed. If it contains at least a "\n" each new line and TAB is converted to a space, subsequent spaces are merged. Otherwise new line characters are preserved and a TAB becomes a space. This option disable the text modification.
--theme theme Set a graphical style: blackwhite, bsddialog, flat or dialog.
--time-format format String accepted by strftime(3) to customize the output of --timebox.
--calendar text rows cols [day month year] Dialog to select a date.
--checklist text rows cols menurows [name desc status] ... Checklist to select some item from a list via the SPACE key. An item has a name, desc and a default status specified by "on" or "off". The names of the selected items are printed to standard error. menurows is the graphical height of the list, 0 for autosize.
--datebox text rows cols [day month year] Dialog to select a date.
--form text rows cols formrows [label ylabel xlabel init yfield xfield fieldlen maxletters] ... Dialog to get a list of strings via forms. A form has a label at the position ylabel and xlabel, a field to get the input at the position yfield and xfield with graphical length fieldlen, maxletters is the maximum input length. The field can be customized, if fieldlen is negative the field is read only and its absolute value is the field length. If maxletters is 0 it is the absolute value of fieldlen. init is a default value. formrows is the graphical height of the list, 0 for autosize.
--gauge text rows cols [percentage] Dialog with a bar to shows percentage, then it waits to read "XXX" from the standard input, then the first string replaces percentage and the following strings replace text until the next "XXX", the loop ends reading EOF.
--infobox text rows cols Dialog without buttons to display a message and to exit immediately.
--inputbox text rows cols [init] Dialog to get a string in input, init is the default value.
--menu text rows cols menurows [name desc] ... Builds a menu to select an item from a list, Space key is equivalent to Enter. An item has a name and a desc. The name of the selected item is printed to standard error. menurows is the graphical height of the list, 0 for autosize.
--mixedform text rows cols formrows [label ylabel xlabel init yfield xfield fieldlen maxletters flag] ... Dialog to get a list of strings via forms. A form has a label at the position ylabel and xlabel, a field to get the input with graphical length fieldlen at the position yfield and xfield, maxletters is the maximum input length, init is a default value, flag can be 0 for normal field, 1 to hide the typed characters and 2 to set the field read only. formrows is the graphical height of the list, 0 for autosize.
--mixedgauge text rows cols mainperc [minilabel miniperc] ... Dialog to show a main bar to represent mainperc from 0 to 100 and some mini bar with a minilabel string and a miniperc with value from 0 and 100 or negative to print a descriptive string: -1 "Succeeded", -2 "Failed", -3 "Passed", -4 "Completed", -5 "Checked", -6 "Done", -7 "Skipped", -8 "In Progress", -9 a blank
--passwordbox text rows cols [init] Dialog to get a password, init is the default value.
--passwordform text rows cols formrows [label ylabel xlabel init yfield xfield fieldlen maxletters] ... Dialog to get a list of passwords, equivalent to --form except typed characters are hidden.
--pause text rows cols seconds Dialog runs until the timeout in seconds expires or a button is pressed.
--radiolist text rows cols menurows [name desc status] ... Radiolist to select at most an item from a list via the SPACE key. An item has a name, desc and a default status specified by "on" or "off". The name of the selected item is printed to standard error. menurows is the graphical height of the list, 0 for autosize.
--rangebox text rows cols min max [init] Dialog to select a value between min and max, init is the default value, the keys UP, DOWN, HOME, END, PAGEUP and PAGEDOWN can change it.
--textbox file rows cols Opens and prints file the UP, DOWN, HOME, END, PAGEUP and PAGEDOWN keys are availble to navigate; "OK" button is renamed "EXIT".
--timebox text rows cols [hour min sec] Dialog to select a time.
--treeview text rows cols menurows [depth name desc status] ... Equivalent to Radiolist with --item-depth and --no-name.
--yesno text rows cols "Yes-No Question", "OK" and "Cancel" buttons are renamed "Yes" and "No". UP, DOWN, HOME, END, PAGEUP and PAGEDOWN keys are availble to navigate the text.
EXIT STATUS The bsddialog utility exits 255 on unsuccessful, otherwise depending on the button or key pressed the following values can be returned: 0 "OK", "Yes" or "Exit" button. 1 "Cancel" or "No" button. 2 "Help" button. 3 "Extra" button. 4 Timeout. 5 ESC key. 6 Generic 1 button. 7 Generic 2 button.
EXAMPLES Backtitle, title and message: bsddialog --backtitle MESSAGE --title Msgbox --msgbox Message 0 0
Yes-No Question and theme: bsddialog --theme blackwhite --yesno Question 10 30
bsddialog --checklist Checklist 0 0 3 N1 D1 off N2 D2 on N3 D3 off
Form: bsddialog --form Form 0 0 0 L1: 0 0 X 0 4 20 25 L2: 1 0 Y 1 4 20 25
Multi-dialog: bsddialog --normal-screen --begin-y 1 --yesno Continue? 0 0 \ --and-dialog --begin-y 10 --infobox Yes 0 0
Bikeshed: bsddialog --bikeshed --inputbox Example 0 0
Mixedgauge: bsddialog --sleep 3 --mixedgauge Example 10 30 60 L1 " -1" L2 30
Mixedgauge script: perc=0 while [ $perc -le 100 ] do bsddialog --sleep 1 --title Mixedgauge \ --mixedgauge "\nExample...\n" 0 0 $perc \ "Hidden" " -9" \ "Label 1" " -4" \ "Label 2" " -4" \ "Label 3" $perc
perc=`expr $perc + 20` done
Gauge script: i=1 for c in A B C D E F G H do sleep 1 echo XXX echo "$(expr $(expr $i "*" 100) "/" 8)" echo "[$i/8] Char: $c" echo XXX if [ $i -eq 8 ] then sleep 1 echo EOF fi i=`expr $i + 1` done | bsddialog --title Gauge --gauge "Starting..." 10 70
COMPATIBILITY Outdated options are retained for compatibility, properly equivalent options are used: Obsolete Equivalent --and-widget --and-dialog --calendar <text> 2 <cols> --calendar <text> 0 <cols> --clear --clear-screen --defaultno --default-no --exit-label --ok-label --help-tags --help-print-name --item-help --item-bottom-desc --keep-tite --alternate-screen --no-items --no-descriptions
SEE ALSO bsddialog(3)
HISTORY The bsddialog utility first appeared in FreeBSD 14.0.
AUTHORS bsddialog was written by Alfonso Sabato Siciliano <asiciliano@FreeBSD.org>.
bsddialog provides a subset of the functionality described in the dialog manual. The following features were reimplemented:
Options: --and-widget, --ascii-lines, --backtitle, --cancel-label, --clear, --colors, --cr-wrap, --date-format, --defaultno, --default-button, --default-no, --default-item, --exit-label, --extra-button, --extra-label, --help, --help-button, --help-label, --help-status, --help-tags, --hfile, --hline, --ignore, --insecure, --item-help, --keep-tite, --max-input, --no-cancel, --nocancel, --no-items, --no-label, --no-lines, --no-ok, --nook, --no-shadow, --no-tags, --ok-label, --output-fd, --output-separator, --print-maxsize, --print-size, --print-version, --quoted, --separate-output, --separator, --shadow, --single-quoted, --sleep, --stderr, --stdout, --tab-len, --time-format, --title, --version, --yes-label.
Dialogs: --calendar, --checklist, --form, --gauge, --infobox, --inputbox, --menu, --mixedform, --mixedgauge, --msgbox, --passwordbox, --passwordform, --pause, --radiolist, --rangebox, --textbox, --timebox, --treeview, --yesno.
Some feature differs in input, output, or behavior. Compatibility is not a priority for future development.
THANKS TO Baptiste Daroussin <bapt@FreeBSD.org>, Ed Maste <emaste@FreeBSD.org> and Juraj Lutter <otis@FreeBSD.org> for suggestions, help, and testing.
FreeBSD 14.2-RELEASE September 23, 2022 FreeBSD 14.2-RELEASE