1.\"
2.\" Copyright (c) 2021-2023 Alfonso Sabato Siciliano
3.\"
4.\" Redistribution and use in source and binary forms, with or without
5.\" modification, are permitted provided that the following conditions
6.\" are met:
7.\" 1. Redistributions of source code must retain the above copyright
8.\"    notice, this list of conditions and the following disclaimer.
9.\" 2. Redistributions in binary form must reproduce the above copyright
10.\"    notice, this list of conditions and the following disclaimer in the
11.\"    documentation and/or other materials provided with the distribution.
12.\"
13.\" THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND
14.\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
15.\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
16.\" ARE DISCLAIMED.  IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE
17.\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
18.\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
19.\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
20.\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
21.\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
22.\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
23.\" SUCH DAMAGE.
24.\"
25.Dd July 25, 2023
26.Dt BSDDIALOG 1
27.Os
28.Sh NAME
29.Nm bsddialog
30.Nd TUI dialogs
31.Sh SYNOPSIS
32.Nm
33.Fl Fl help | Fl Fl version
34.Nm
35.Op Fl Fl option
36.Fl Fl dialog
37.Ar text
38.Ar rows
39.Ar cols
40.Op Ar dialog-argument
41.Op Fl Fl option
42.Nm
43\&...
44.Fl Fl dialog1
45.Ar ...
46.Oo Fl Fl and-dialog
47.Fl Fl dialog2
48.Ar ...
49.Oc ...
50.Sh DESCRIPTION
51The
52.Nm bsddialog
53utility builds Text User Interface dialogs and widgets.
54.Pp
55The option
56.Fl Fl help
57prints a brief list of features and exits.
58The option
59.Fl Fl version
60prints the version and exits.
61The option
62.Fl Fl and-dialog
63builds another dialog unless the previous one returns Error, ESC or Cancel.
64.Pp
65Each dialog accepts
66.Ar text
67to print a message inside,
68.Ar rows
69and
70.Ar cols
71to set height and width,
72.Dv 0
73for autosize and
74.Dv -1
75for fullscreen.
76.Pp
77The possible input from the user interface is printed to standard error at exit.
78.Ss Options
79The following options can change the default behavior of the utility and are
80common to some dialog.
81.Bl -tag -width Ds
82.It Fl Fl alternate-screen
83If available set alternate screen mode, see
84.Xr terminfo 5 .
85.It Fl Fl ascii-lines
86Ascii characters to draw lines.
87.It Fl Fl backtitle Ar backtitle
88Screen title.
89.It Fl Fl begin-x Ar x
90Set dialog horizontal position,
91.Dv -1
92center,
93.Dv 0
94left screen.
95.It Fl Fl begin-y Ar y
96Set dialog vertical position,
97.Dv -1
98center,
99.Dv 0
100top screen.
101.It Fl Fl bikeshed
102Random settings.
103Colors, title delimiter, button delimiter; see theme features.
104Title margin.
105Buttons always active or TAB to switch focus with other components, see
106.Fl Fl switch-buttons .
107Zero padding with time output; see
108.Fl Fl time-format .
109Zero padding with date output; see
110.Fl Fl date-format .
111User Interface date format for
112.Fl Fl datebox ;
113see
114.Fl Fl datebox-format .
115.It Fl Fl cancel-exit-code Ar retval
116Set an exit code value for the
117.Dq Cancel
118button.
119.It Fl Fl cancel-label Ar label
120Label for the
121.Dq Cancel
122button.
123.It Fl Fl clear-dialog
124Hide the dialog at exit.
125.It Fl Fl clear-screen
126Clear the screen, wait a dialog if built.
127.It Fl Fl columns-per-row Ar columns
128Try to set the number of columns for a row of text with autosizing; default
129.Dv 10 .
130.It Fl Fl cr-wrap
131Keep new line in
132.Ar text
133also if it constains a
134.Dq \en ,
135see
136.Fl Fl text-unchanged .
137.It Fl Fl datebox-format Ar format
138String to customize
139.Fl Fl datebox
140interface, possible values:
141.Dq d/m/y ,
142.Dq m/y/d ,
143.Dq y/m/d .
144.It Fl Fl date-format Ar format
145String accepted by
146.Xr strftime 3
147to customize the output of
148.Fl Fl datebox
149and
150.Fl Fl calendar .
151.It Fl Fl default-button Ar label
152Focus on the button with
153.Ar label
154on startup.
155.It Fl Fl default-item Ar name
156Focus on the item with
157.Ar name ,
158for Checklist, Menu, Radiolist and Treeview.
159.It Fl Fl default-no
160Focus on
161.Dq Cancel
162or
163.Dq \&No
164button on startup.
165.It Fl Fl disable-esc
166Disable ESC key to quit.
167.It Fl Fl error-exit-code Ar retval
168Set an exit code value for the
169.Nm
170errors.
171.It Fl Fl esc-exit-code Ar retval
172Set an exit code value for the
173.Dv ESC
174key.
175.It Fl Fl extra-button
176Add a button with
177.Dq Extra
178label.
179.It Fl Fl extra-exit-code Ar retval
180Set an exit code value for the
181.Dq Extra
182button.
183.It Fl Fl extra-label Ar label
184Set
185.Ar label
186for the
187.Dq Extra
188button.
189.It Fl Fl left1-button Ar label
190Add a button with
191.Ar label .
192.It Fl Fl left1-exit-code Ar retval
193Set an exit code for
194.Fl Fl left1-button .
195.It Fl Fl left2-button Ar label
196Add a button with
197.Ar label .
198.It Fl Fl left2-exit-code Ar retval
199Set an exit code for
200.Fl Fl left2-button .
201.It Fl Fl left3-button Ar label
202Add a button with
203.Ar label .
204.It Fl Fl left3-exit-code Ar retval
205Set an exit code for
206.Fl Fl left3-button .
207.It Fl Fl help-button
208Add a button with
209.Dq Help
210label.
211.It Fl Fl help-exit-code Ar retval
212Set an exit code value for the
213.Dq Help
214button.
215.It Fl Fl help-label Ar label
216Set
217.Ar label
218for
219.Dq Help
220button.
221.It Fl Fl help-print-items
222Print also the selected items or form values if the
223.Dq Help
224button is pressed.
225.It Fl Fl help-print-name
226Print the name of the focused item if the
227.Dq Help
228button is pressed also
229with
230.Fl Fl item-bottom-desc .
231.It Fl Fl hfile Ar filename
232Open
233.Ar filename
234in a Textbox if F1 key is pressed.
235.It Fl Fl hline Ar string
236Dialog subtitle.
237.It Fl Fl hmsg Ar string
238Open a Msgbox with
239.Ar string
240if the F1 key is pressed.
241.It Fl Fl ignore
242Do not exit with unknown options.
243.It Fl Fl insecure
244Print
245.Sq *
246to hide passwords while typing, white space otherwise.
247.It Fl Fl item-bottom-desc
248Set a help string for each item of a Checklist, Form, Menu, Mixedform,
249Passwordform, Radiolist and Treeview to display at the bottom screen side.
250.It Fl Fl item-depth
251Specify a margin for items, available for Checklist, Menu and Radiolist.
252.It Fl Fl item-prefix
253Set a string to prefix each item of a Checklist, Menu, Radiolist or Treeview.
254.It Fl Fl load-theme Ar file
255Load theme from
256.Ar file .
257.It Fl Fl max-input Ar size
258Maximum length of the input for
259.Fl Fl inputbox
260and
261.Fl Fl passwordbox ,
262default 2048.
263.It Fl Fl no-cancel
264Do not show
265.Dq Cancel
266button.
267.It Fl Fl no-descriptions
268Do not display items desciption, for Checklist, Menu, Radiolist or Treeview;
269mutually exclusive with
270.Fl Fl no-names .
271.It Fl Fl no-lines
272Do not draw borders and lines.
273.It Fl Fl no-names
274Do not display items name, for Checklist, Menu and Radiolist; mutually exclusive
275with
276.Fl Fl no-descriptions .
277.It Fl Fl no-ok
278Do not draw
279.Dq OK
280button.
281.It Fl Fl no-shadow
282No not draw the shadow of the dialog.
283.It Fl Fl ok-label Ar label
284Set
285.Ar label
286for
287.Dq OK
288button.
289.It Fl Fl ok-exit-code Ar retval
290Set an exit code value for the
291.Dq Ok
292button.
293.It Fl Fl normal-screen
294If available set normal screen mode, see
295.Xr terminfo 5 .
296.It Fl Fl output-fd Ar fd
297Print input from user interface to the specified file descriptor.
298.It Fl Fl output-separator Ar sep
299Set a sepator for the items in output, default white space.
300.It Fl Fl print-maxsize
301Screen size.
302This option can be used without a dialog.
303.It Fl Fl print-size
304Print dialog height and width at exit.
305.It Fl Fl print-version
306Print version.
307This option can be used without a dialog.
308.It Fl Fl quoted
309Quote items in output, default only when necessary.
310.It Fl Fl right1-button Ar label
311Add a button with
312.Ar label .
313.It Fl Fl right1-exit-code Ar retval
314Set an exit code for
315.Fl Fl right1-button .
316.It Fl Fl right2-button Ar label
317Add a button with
318.Ar label .
319.It Fl Fl right2-exit-code Ar retval
320Set an exit code for
321.Fl Fl right2-button .
322.It Fl Fl right3-button Ar label
323Add a button with
324.Ar label .
325.It Fl Fl right3-exit-code Ar retval
326Set an exit code for
327.Fl Fl right3-button .
328.It Fl Fl save-theme Ar file
329Save the current theme.
330This option can be used without a dialog.
331.It Fl Fl separate-output
332Print selected items separated by a new line and avoid to quote.
333.It Fl Fl shadow
334Show a shadow for the dialog, enabled by default.
335.It Fl Fl single-quoted
336Use single quote for items in output.
337.It Fl Fl sleep Ar secs
338Wait
339.Ar secs
340seconds to close the dialog.
341.It Fl Fl stderr
342Print input from user interface to standand error, default.
343.It Fl Fl stdout
344Print input from user interface to standard output.
345.It Fl Fl switch-buttons
346Enable focus switching between buttons and input components pressing TAB,
347otherwise buttons are always active and ENTER key closes the dialog.
348Suitable for:
349.Fl Fl form ,
350.Fl Fl inputbox ,
351.Fl Fl mixedform ,
352.Fl Fl passwordbox ,
353.Fl Fl passwordform ,
354.Fl Fl timebox ,
355.Fl Fl calendar
356and
357.Fl Fl datebox .
358.It Fl Fl tab-escape
359Replace
360.Dq \et
361with a tab in
362.Ar text .
363.It Fl Fl tab-len Ar spaces
364Number of spaces to print a TAB in
365.Ar text .
366.It Fl Fl text-escape
367Enable escapes in
368.Ar text :
369.Bl -column -compact
370.It Dq \eZ0
371black.
372.It Dq \eZ1
373red.
374.It Dq \eZ2
375green.
376.It Dq \eZ3
377yellow.
378.It Dq \eZ4
379blue.
380.It Dq \eZ5
381magenta.
382.It Dq \eZ6
383cyan.
384.It Dq \eZ7
385white.
386.It Dq \eZb
387bold.
388.It Dq \eZB
389disable bold.
390.It Dq \eZd
391Half bright.
392.It Dq \eZD
393disable half bright.
394.It Dq \eZk
395Blink.
396.It Dq \eZK
397disable blinking.
398.It Dq \eZr
399reverse foreground and background.
400.It Dq \eZR
401disable reverse.
402.It Dq \eZs
403Highlight.
404.It Dq \eZS
405disable highlighting.
406.It Dq \eZu
407underline.
408.It Dq \eZU
409disable underline.
410.It Dq \eZn
411disable each customization.
412.El
413.It Fl Fl text-unchanged
414Disable
415.Ar text
416modification.
417By default
418.Ar text
419is changed before to be printed in the dialog.
420If it contains at least a
421.Dq \en
422each new line and TAB is converted to a space, subsequent spaces are merged.
423Otherwise new line characters are preserved and a TAB becomes a space.
424.It Fl Fl theme Ar theme
425Set theme, possible values:
426.Dq 3d ,
427.Dq blackwhite ,
428.Dq flat .
429.It Fl Fl time-format Ar format
430String accepted by
431.Xr strftime 3
432to customize the output of
433.Fl Fl timebox .
434.It Fl Fl timeout-exit-code Ar retval
435Set an exit code value for the
436.Fl Fl pause
437timeout.
438.It Fl Fl title Ar title
439Dialog title.
440.El
441.Ss Dialogs
442The following dialogs are available:
443.Bl -tag -width Ds
444.It Fl Fl calendar Ar text Ar rows Ar cols Op Ar day Ar month Ar year
445Dialog to select a date.
446.It Fl Fl checklist Ar text Ar rows Ar cols Ar menurows Oo Ar name Ar desc \
447Ar status Oc ...
448Checklist to select some item from a list via the SPACE key.
449An item has a
450.Ar name ,
451.Ar desc
452and a default
453.Ar status
454specified by
455.Dq on
456or
457.Dq off .
458The names of the selected items are printed to standard error.
459.Ar menurows
460is the graphical height of the list, 0 for autosize.
461.It Fl Fl datebox Ar text Ar rows Ar cols Op Ar day Ar month Ar year
462Dialog to select a date.
463.It Fl Fl form Ar text Ar rows Ar cols Ar formrows Oo Ar label Ar ylabel \
464Ar xlabel Ar init Ar yfield Ar xfield Ar fieldlen Ar maxletters Oc ...
465Dialog to get a list of strings via forms.
466A form has a
467.Ar label
468at the position
469.Ar ylabel
470and
471.Ar xlabel ,
472a field to get the input at the position
473.Ar yfield
474and
475.Ar xfield
476with graphical length
477.Ar fieldlen ,
478.Ar maxletters
479is the maximum input length.
480The field can be customized, if
481.Ar fieldlen
482is negative the field is read only and its absolute value is the field length.
483If
484.Ar maxletters
485is 0 it is the absolute value of
486.Ar fieldlen .
487.Ar init
488is a default value.
489.Ar formrows
490is the graphical height of the list,
491.Dv 0
492for autosize.
493.It Fl Fl gauge Ar text Ar rows Ar cols Op Ar percentage
494Dialog with a bar to shows
495.Ar percentage ,
496then it waits to read
497.Dq XXX
498from the standard input, then the first string replaces percentage and the
499following strings replace
500.Ar text
501until the next
502.Dq XXX ,
503the loop ends reading
504.Dq EOF .
505.It Fl Fl infobox Ar text Ar rows Ar cols
506Dialog without buttons to display a message and to exit immediately.
507.It Fl Fl inputbox Ar text Ar rows Ar cols Op Ar init
508Dialog to get a string in input,
509.Ar init
510is the default value.
511.It Fl Fl menu Ar text Ar rows Ar cols Ar menurows Oo Ar name desc Oc ...
512Builds a menu to select an item from a list, Space key is equivalent to Enter.
513An item has a
514.Ar name
515and a
516.Ar desc .
517The name of the selected item is printed to standard error.
518.Ar menurows
519is the graphical height of the list, 0 for autosize.
520.It Fl Fl mixedform Ar text Ar rows Ar cols Ar formrows Oo Ar label Ar ylabel \
521Ar xlabel Ar init Ar yfield Ar xfield Ar fieldlen Ar maxletters Ar flag Oc ...
522Dialog to get a list of strings via forms.
523A form has a
524.Ar label
525at the position
526.Ar ylabel
527and
528.Ar xlabel ,
529a field to get the input with graphical length
530.Ar fieldlen
531at the position
532.Ar yfield
533and
534.Ar xfield ,
535.Ar maxletters
536is the maximum input length,
537.Ar init
538is a default value,
539.Ar flag
540can be 0 for normal field, 1 to hide the typed characters and 2 to set the
541field read only.
542.Ar formrows
543is the graphical height of the list,
544.Dv 0
545for autosize.
546.It Fl Fl mixedgauge Ar text Ar rows Ar cols Ar mainperc Oo Ar minilabel \
547Ar miniperc Oc ...
548Dialog to show a main bar to represent
549.Ar mainperc
550from 0 to 100.
551Some mini bar with a
552.Ar minilabel
553string and a
554.Ar miniperc
555with a value from 0 and 100 or negative to print a descriptive string: -1
556.Dq Succeeded ,
557-2
558.Dq Failed ,
559-3
560.Dq Passed ,
561-4
562.Dq Completed ,
563-5
564.Dq Checked ,
565-6
566.Dq Done ,
567-7
568.Dq Skipped ,
569-8
570.Dq \&In Progress ,
571-9
572to hide
573.Fa miniperc ,
574-10
575.Dq N/A ,
576-11
577.Dq Pending ,
578otherwise
579.Dq UNKNOWN .
580.It Fl Fl msgbox Ar text Ar rows Ar cols
581Dialog to diplay a message without the
582.Dq Cancel
583button.
584UP, DOWN, HOME, END, PAGEUP and PAGEDOWN keys are availble to scroll the text.
585.It Fl Fl passwordbox Ar text Ar rows Ar cols Op Ar init
586Dialog to get a password,
587.Ar init
588is the default value.
589.It Fl Fl passwordform Ar text Ar rows Ar cols Ar formrows Oo Ar label \
590Ar ylabel Ar xlabel Ar init Ar yfield Ar xfield  Ar fieldlen Ar maxletters \
591Oc ...
592Dialog to get a list of passwords, equivalent to
593.Fl Fl form
594except typed characters are hidden.
595.It Fl Fl pause Ar text Ar rows Ar cols Ar seconds
596Dialog runs until
597.Ar seconds
598timeout expires or a button is pressed.
599.It Fl Fl radiolist Ar text Ar rows Ar cols Ar menurows Oo Ar name Ar desc \
600Ar status Oc ...
601Radiolist to select at most an item from a list via the SPACE key.
602An item has a
603.Ar name ,
604.Ar desc
605and a default
606.Ar status
607specified by
608.Dq on
609or
610.Dq off .
611The name of the selected item is printed to standard error.
612.Ar menurows
613is the graphical height of the list, 0 for autosize.
614.It Fl Fl rangebox Ar text Ar rows Ar cols Ar min Ar max Op Ar init
615Dialog to select a value between
616.Ar min
617and
618.Ar max ,
619.Ar init
620is the default value, the keys UP, DOWN, HOME, END, PAGEUP and PAGEDOWN can
621change it.
622.It Fl Fl textbox Ar file Ar rows Ar cols
623Opens and prints
624.Ar file .
625UP, DOWN, LEFT, RIGHT, HOME, END, PAGEUP and PAGEDOWN keys are available to
626navigate the file, TAB changes button.
627.Dq OK
628button is renamed
629.Dq EXIT .
630.It Fl Fl timebox Ar text Ar rows Ar cols Op Ar hour Ar min Ar sec
631Dialog to select a time.
632.It Fl Fl treeview Ar text Ar rows Ar cols Ar menurows Oo Ar depth Ar name \
633Ar desc Ar status Oc ...
634Equivalent to Radiolist with
635.Fl Fl  item-depth
636and
637.Fl Fl no-name .
638.It Fl Fl yesno Ar text Ar rows Ar cols
639.Dq Yes-No Question ,
640.Dq OK
641and
642.Dq Cancel
643buttons are renamed
644.Dq Yes
645and
646.Dq \&No .
647UP, DOWN, HOME, END, PAGEUP and PAGEDOWN keys are availble to scroll the text.
648.El
649.Sh ENVIRONMENT
650The following environment variables take effect only on startup, other options
651can override their setting.
652.Bl -tag -width indent
653.It Ev NO_COLOR
654If present and not an empty string (regardless of its value) equivalent to
655.Fl Fl theme Ar blackwhite .
656.It Ev BSDDIALOG_ERROR , Ev BSDDIALOG_OK , Ev BSDDIALOG_CANCEL , \
657Ev BSDDIALOG_HELP , Ev BSDDIALOG_EXTRA , Ev BSDDIALOG_TIMEOUT , \
658Ev BSDDIALOG_ESC , Ev BSDDIALOG_LEFT1 , Ev BSDDIALOG_LEFT2 , \
659Ev BSDDIALOG_LEFT3 , Ev BSDDIALOG_RIGHT1 , Ev BSDDIALOG_RIGHT2 , \
660Ev BSDDIALOG_RIGHT3
661Set exit codes.
662.It Ev BSDDIALOG_THEMEFILE Ar file
663Equivalent to
664.Fl Fl load-theme Ar file .
665.El
666.Sh FILES
667The theme file
668.Pa $HOME/.bsddialog.conf
669is read on startup if exists.
670.Sh EXIT STATUS
671The
672.Nm
673utility exits 255 on unsuccessful, otherwise depending on the button or key
674pressed the following values can be returned:
675.Bl -column -compact
676.It 0
677.Dq OK ,
678.Dq Yes
679or
680.Dq Exit
681button.
682.It 1
683.Dq Cancel
684or
685.Dq \&No
686button.
687.It 2
688.Dq Help
689button.
690.It 3
691.Dq Extra
692button.
693.It 4
694Timeout.
695.It 5
696ESC key.
697.It 6
698Left1 generic button.
699.It 7
700Left2 generic button.
701.It 8
702Left3 generic button.
703.It 9
704Right1 generic button.
705.It 10
706Right2 generic button.
707.It 11
708Right2 generic button.
709.El
710.Sh EXAMPLES
711Backtitle, title and message:
712.Dl bsddialog --backtitle MESSAGE --title Msgbox --msgbox Message 0 0
713.Pp
714Yes-No Question and theme:
715.Dl bsddialog --theme blackwhite --yesno Question 10 30
716.Pp
717Save a custom theme:
718.Dl bsddialog --save-theme mytheme.txt --infobox \*qSaving theme...\*q 0 0
719.Pp
720Load a custom theme:
721.Dl bsddialog --load-theme mytheme.txt --infobox \*qCustom theme\*q 0 0
722.Pp
723Checklist:
724.Dl bsddialog --checklist Checklist 0 0 3 N1 \&D1 off N2 D2 on N3 D3 off
725.Pp
726Form:
727.Dl bsddialog --form Form 0 0 0 L1: 0 0 X 0 4 20 25 L2: 1 0 Y 1 4 20 25
728.Pp
729Multi-dialog:
730.Dl bsddialog --normal-screen --begin-y 1 --yesno Continue? 0 0  \e \
731--and-dialog --begin-y 10 --infobox Yes 0 0
732.Pp
733Bikeshed:
734.Dl bsddialog --bikeshed --inputbox Example 0 0
735.Dl bsddialog --bikeshed --datebox Example 0 0
736.Pp
737Mixedgauge:
738.Dl bsddialog --sleep 3 --mixedgauge Example 10 30 60 L1 \*q -1\*q L2 30
739.Pp
740Mixedgauge script:
741.Bd -literal -offset indent -compact
742perc=0
743while [ $perc -le 100 ]
744do
745	bsddialog --sleep 1 --title Mixedgauge          \e
746		--mixedgauge "\enExample...\en" 0 0 $perc \e
747		"Hidden"   " -9"                        \e
748		"Label 1"  " -4"                        \e
749		"Label 2"  " -4"                        \e
750		"Label 3"  $perc
751
752	perc=`expr $perc + 20`
753done
754.Ed
755.Pp
756Gauge script:
757.Bd -literal -offset indent -compact
758i=1
759for c in A B C D E F G H
760do
761	sleep 1
762	echo XXX
763	echo "$(expr $(expr $i "*" 100) "/" 8)"
764	echo "[$i/8] Char: $c"
765	echo XXX
766	if [ $i -eq 8 ]
767	then
768		sleep 1
769		echo EOF
770	fi
771	i=`expr $i + 1`
772done | bsddialog --title Gauge --gauge "Starting..." 10 70
773.Ed
774.Sh COMPATIBILITY
775Outdated options are retained for compatibility, properly equivalent options are
776used:
777.Bd -literal -offset indent -compact
778Obsolete                     Equivalent
779--and-widget                 --and-dialog
780--calendar <text> 2 <cols>   --calendar <text> 0 <cols>
781--clear                      --clear-screen
782--colors                     --text-escape
783--defaultno                  --default-no
784--exit-label                 --ok-label
785--help-status                --help-print-items
786--help-tags                  --help-print-name
787--item-help                  --item-bottom-desc
788--keep-tite                  --alternate-screen
789--no-items                   --no-descriptions
790--no-label                   --cancel-label
791--no-tags                    --no-names
792--nocancel                   --no-cancel
793--nook                       --no-ok
794--separator                  --output-separator
795--yes-label                  --ok-label
796.Ed
797.Sh SEE ALSO
798.Xr bsddialog 3 ,
799.Xr strftime 3 ,
800.Xr terminfo 5
801.Sh HISTORY
802The
803.Nm bsddialog
804utility first appeared in
805.Fx 14.0 .
806.Sh AUTHORS
807.Nm bsddialog
808was written by
809.An Alfonso Sabato Siciliano
810.Aq Mt asiciliano@FreeBSD.org .
811.Pp
812.Nm bsddialog
813provides also a subset of the functionality described in the
814.Nm dialog
815manual.
816The following features were reimplemented:
817.Pp
818Options:
819.Fl Fl and-widget ,
820.Fl Fl ascii-lines ,
821.Fl Fl backtitle ,
822.Fl Fl cancel-label ,
823.Fl Fl clear ,
824.Fl Fl colors ,
825.Fl Fl cr-wrap ,
826.Fl Fl date-format ,
827.Fl Fl defaultno ,
828.Fl Fl default-button ,
829.Fl Fl default-no ,
830.Fl Fl default-item ,
831.Fl Fl exit-label ,
832.Fl Fl extra-button ,
833.Fl Fl extra-label ,
834.Fl Fl help ,
835.Fl Fl help-button ,
836.Fl Fl help-label ,
837.Fl Fl help-status ,
838.Fl Fl help-tags ,
839.Fl Fl hfile ,
840.Fl Fl hline ,
841.Fl Fl ignore ,
842.Fl Fl insecure ,
843.Fl Fl item-help ,
844.Fl Fl keep-tite ,
845.Fl Fl max-input ,
846.Fl Fl no-cancel ,
847.Fl Fl nocancel ,
848.Fl Fl no-items ,
849.Fl Fl no-label ,
850.Fl Fl no-lines ,
851.Fl Fl no-ok ,
852.Fl Fl nook ,
853.Fl Fl no-shadow ,
854.Fl Fl no-tags ,
855.Fl Fl ok-label ,
856.Fl Fl output-fd ,
857.Fl Fl output-separator ,
858.Fl Fl print-maxsize ,
859.Fl Fl print-size ,
860.Fl Fl print-version ,
861.Fl Fl quoted ,
862.Fl Fl separate-output ,
863.Fl Fl separator ,
864.Fl Fl shadow ,
865.Fl Fl single-quoted ,
866.Fl Fl sleep ,
867.Fl Fl stderr ,
868.Fl Fl stdout ,
869.Fl Fl tab-len ,
870.Fl Fl time-format ,
871.Fl Fl title ,
872.Fl Fl version ,
873.Fl Fl yes-label .
874.Pp
875Dialogs:
876.Fl Fl calendar ,
877.Fl Fl checklist ,
878.Fl Fl form ,
879.Fl Fl gauge ,
880.Fl Fl infobox ,
881.Fl Fl inputbox ,
882.Fl Fl menu ,
883.Fl Fl mixedform ,
884.Fl Fl mixedgauge ,
885.Fl Fl msgbox ,
886.Fl Fl passwordbox ,
887.Fl Fl passwordform ,
888.Fl Fl pause ,
889.Fl Fl radiolist ,
890.Fl Fl rangebox ,
891.Fl Fl textbox ,
892.Fl Fl timebox ,
893.Fl Fl treeview ,
894.Fl Fl yesno .
895.Pp
896Some feature differs in input, output, or behavior.
897Compatibility is not a priority for future development.
898.Sh THANKS TO
899.An Baptiste Daroussin
900.Aq Mt bapt@FreeBSD.org ,
901.An \&Ed Maste
902.Aq Mt emaste@FreeBSD.org ,
903.An Juraj Lutter
904.Aq Mt otis@FreeBSD.org
905and
906.An Trenton Schulz
907for suggestions, help, and testing.
908