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