1.\" 2.\" Copyright (c) 2021-2024 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 April 7, 2024 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 Keys 442The following keys are available at runtime: 443.Bl -tag -width Ds 444.It Ctrl-l 445Redraw the dialog. 446.It F1 447See 448.Fl Fl hfile 449and 450.Fl Fl hmsg . 451.It SPACE 452Select menu item. 453.It UP DOWN LEFT RIGHT - + HOME END PAGEUP PAGEDOWN Ctrl-p Ctrl-n TAB 454Navigate elements and set value, depending on the dialog. 455.El 456.Ss Dialogs 457The following dialogs are available: 458.Bl -tag -width Ds 459.It Fl Fl calendar Ar text Ar rows Ar cols Op Ar day Ar month Ar year 460Dialog to select a date. 461.It Fl Fl checklist Ar text Ar rows Ar cols Ar menurows Oo Ar name Ar desc \ 462Ar status Oc ... 463Checklist to select some item from a list via the SPACE key. 464An item has a 465.Ar name , 466.Ar desc 467and a default 468.Ar status 469specified by 470.Dq on 471or 472.Dq off . 473The names of the selected items are printed to standard error. 474.Ar menurows 475is the graphical height of the list, 0 for autosize. 476.It Fl Fl datebox Ar text Ar rows Ar cols Op Ar day Ar month Ar year 477Dialog to select a date. 478.It Fl Fl form Ar text Ar rows Ar cols Ar formrows Oo Ar label Ar ylabel \ 479Ar xlabel Ar init Ar yfield Ar xfield Ar fieldlen Ar maxletters Oc ... 480Dialog to get a list of strings via forms. 481A form has a 482.Ar label 483at the position 484.Ar ylabel 485and 486.Ar xlabel , 487a field to get the input at the position 488.Ar yfield 489and 490.Ar xfield . 491.Ar fieldlen 492is the field width, if negative is readonly and the width is the absolute value, 493if 494.Dv 0 495the field becomes readonly and its value is the 496.Ar init 497width. 498.Ar maxletters 499is the maximum input length, if is 500.Dv 0 501its value is 502.Ar fieldlen . 503.Ar init 504is the default value in the field. 505.Ar formrows 506is the graphical height of the list, 507.Dv 0 508for autosize. 509.It Fl Fl gauge Ar text Ar rows Ar cols Op Ar percentage 510Dialog with a bar to shows 511.Ar percentage , 512then it waits to read 513.Dq XXX 514from the standard input, then the first string replaces percentage and the 515following strings replace 516.Ar text 517until the next 518.Dq XXX , 519the loop ends reading 520.Dq EOF . 521.It Fl Fl infobox Ar text Ar rows Ar cols 522Dialog without buttons to display a message and to exit immediately. 523.It Fl Fl inputbox Ar text Ar rows Ar cols Op Ar init 524Dialog to get a string in input, 525.Ar init 526is the default value. 527.It Fl Fl menu Ar text Ar rows Ar cols Ar menurows Oo Ar name desc Oc ... 528Builds a menu to select an item from a list, SPACE key is equivalent to ENTER. 529An item has a 530.Ar name 531and a 532.Ar desc . 533The name of the selected item is printed to standard error. 534.Ar menurows 535is the graphical height of the list, 0 for autosize. 536.It Fl Fl mixedform Ar text Ar rows Ar cols Ar formrows Oo Ar label Ar ylabel \ 537Ar xlabel Ar init Ar yfield Ar xfield Ar fieldlen Ar maxletters Ar flag Oc ... 538Dialog to get a list of strings via forms. 539A form has a 540.Ar label 541at the position 542.Ar ylabel 543and 544.Ar xlabel , 545a field to get the input at the position 546.Ar yfield 547and 548.Ar xfield . 549.Ar fieldlen 550is the field width, if negative is readonly and the width is the absolute value, 551if 552.Dv 0 553the field becomes readonly and its value is the 554.Ar init 555width. 556.Ar maxletters 557is the maximum input length, if is 558.Dv 0 559its value is 560.Ar fieldlen . 561.Ar init 562is the default value in the field. 563.Ar flag 564can customize 565.Ar field : 566.Dv 0 567normal, 568.Dv 1 569hide typed characters, 570.Dv 2 571readonly. 572.Ar formrows 573is the graphical height of the list, 574.Dv 0 575for autosize. 576.It Fl Fl mixedgauge Ar text Ar rows Ar cols Ar mainperc Oo Ar minilabel \ 577Ar miniperc Oc ... 578Dialog to show a main bar to represent 579.Ar mainperc 580from 0 to 100. 581Some mini bar with a 582.Ar minilabel 583string and a 584.Ar miniperc 585with a value from 0 and 100 or negative to print a descriptive string: -1 586.Dq Succeeded , 587-2 588.Dq Failed , 589-3 590.Dq Passed , 591-4 592.Dq Completed , 593-5 594.Dq Checked , 595-6 596.Dq Done , 597-7 598.Dq Skipped , 599-8 600.Dq \&In Progress , 601-9 602to hide 603.Fa miniperc , 604-10 605.Dq N/A , 606-11 607.Dq Pending , 608otherwise 609.Dq UNKNOWN . 610.It Fl Fl msgbox Ar text Ar rows Ar cols 611Dialog to diplay a message without the 612.Dq Cancel 613button. 614.It Fl Fl passwordbox Ar text Ar rows Ar cols Op Ar init 615Dialog to get a password, 616.Ar init 617is the default value. 618.It Fl Fl passwordform Ar text Ar rows Ar cols Ar formrows Oo Ar label \ 619Ar ylabel Ar xlabel Ar init Ar yfield Ar xfield Ar fieldlen Ar maxletters \ 620Oc ... 621Dialog to get a list of passwords, equivalent to 622.Fl Fl form 623except typed characters are hidden. 624.It Fl Fl pause Ar text Ar rows Ar cols Ar seconds 625Dialog runs until 626.Ar seconds 627timeout expires or a button is pressed. 628.It Fl Fl radiolist Ar text Ar rows Ar cols Ar menurows Oo Ar name Ar desc \ 629Ar status Oc ... 630Radiolist to select at most an item from a list via the SPACE key. 631An item has a 632.Ar name , 633.Ar desc 634and a default 635.Ar status 636specified by 637.Dq on 638or 639.Dq off . 640The name of the selected item is printed to standard error. 641.Ar menurows 642is the graphical height of the list, 0 for autosize. 643.It Fl Fl rangebox Ar text Ar rows Ar cols Ar min Ar max Op Ar init 644Dialog to select a value between 645.Ar min 646and 647.Ar max , 648.Ar init 649is the default value. 650.It Fl Fl textbox Ar file Ar rows Ar cols 651Opens and prints 652.Ar file . 653TAB changes button. 654Extra keys 0, h, l, k, j are available to navigate the text. 655.Dq OK 656button is renamed 657.Dq EXIT . 658.It Fl Fl timebox Ar text Ar rows Ar cols Op Ar hour Ar min Ar sec 659Dialog to select a time. 660.It Fl Fl treeview Ar text Ar rows Ar cols Ar menurows Oo Ar depth Ar name \ 661Ar desc Ar status Oc ... 662Equivalent to Radiolist with 663.Fl Fl item-depth 664and 665.Fl Fl no-name . 666.It Fl Fl yesno Ar text Ar rows Ar cols 667.Dq Yes-No Question , 668.Dq OK 669and 670.Dq Cancel 671buttons are renamed 672.Dq Yes 673and 674.Dq \&No . 675.El 676.Sh ENVIRONMENT 677The following environment variables take effect only on startup, other options 678can override their setting. 679.Bl -tag -width indent 680.It Ev NO_COLOR 681If present and not an empty string (regardless of its value) equivalent to 682.Fl Fl theme Ar blackwhite . 683.It Ev BSDDIALOG_ERROR , Ev BSDDIALOG_OK , Ev BSDDIALOG_CANCEL , \ 684Ev BSDDIALOG_HELP , Ev BSDDIALOG_EXTRA , Ev BSDDIALOG_TIMEOUT , \ 685Ev BSDDIALOG_ESC , Ev BSDDIALOG_LEFT1 , Ev BSDDIALOG_LEFT2 , \ 686Ev BSDDIALOG_LEFT3 , Ev BSDDIALOG_RIGHT1 , Ev BSDDIALOG_RIGHT2 , \ 687Ev BSDDIALOG_RIGHT3 688Set exit codes. 689.It Ev BSDDIALOG_THEMEFILE Ar file 690Equivalent to 691.Fl Fl load-theme Ar file . 692.El 693.Sh FILES 694The theme file 695.Pa $HOME/.bsddialog.conf 696is read on startup if exists. 697.Sh EXIT STATUS 698The 699.Nm 700utility exits 255 on unsuccessful, otherwise depending on the button or key 701pressed the following values can be returned: 702.Bl -column -compact 703.It 0 704.Dq OK , 705.Dq Yes 706or 707.Dq Exit 708button. 709.It 1 710.Dq Cancel 711or 712.Dq \&No 713button. 714.It 2 715.Dq Help 716button. 717.It 3 718.Dq Extra 719button. 720.It 4 721Timeout. 722.It 5 723ESC key. 724.It 6 725Left1 generic button. 726.It 7 727Left2 generic button. 728.It 8 729Left3 generic button. 730.It 9 731Right1 generic button. 732.It 10 733Right2 generic button. 734.It 11 735Right2 generic button. 736.El 737.Sh EXAMPLES 738Backtitle, title and message: 739.Dl bsddialog --backtitle MESSAGE --title Msgbox --msgbox Message 0 0 740.Pp 741Yes-No Question and theme: 742.Dl bsddialog --theme blackwhite --yesno Question 10 30 743.Pp 744Save a custom theme: 745.Dl bsddialog --save-theme mytheme.txt --infobox \*qSaving theme...\*q 0 0 746.Pp 747Load a custom theme: 748.Dl bsddialog --load-theme mytheme.txt --infobox \*qCustom theme\*q 0 0 749.Pp 750Checklist: 751.Dl bsddialog --checklist Checklist 0 0 3 N1 \&D1 off N2 D2 on N3 D3 off 752.Pp 753Form: 754.Dl bsddialog --form Form 0 0 0 L1: 0 0 X 0 4 20 25 L2: 1 0 Y 1 4 20 25 755.Pp 756Multi-dialog: 757.Dl bsddialog --normal-screen --begin-y 1 --yesno Continue? 0 0 \e \ 758--and-dialog --begin-y 10 --infobox Yes 0 0 759.Pp 760Bikeshed: 761.Dl bsddialog --bikeshed --inputbox Example 0 0 762.Dl bsddialog --bikeshed --datebox Example 0 0 763.Pp 764Mixedgauge: 765.Dl bsddialog --sleep 3 --mixedgauge Example 10 30 60 L1 \*q -1\*q L2 30 766.Pp 767Mixedgauge script: 768.Bd -literal -offset indent -compact 769perc=0 770while [ $perc -le 100 ] 771do 772 bsddialog --sleep 1 --title Mixedgauge \e 773 --mixedgauge "\enExample...\en" 0 0 $perc \e 774 "Hidden" " -9" \e 775 "Label 1" " -4" \e 776 "Label 2" " -4" \e 777 "Label 3" $perc 778 779 perc=`expr $perc + 20` 780done 781.Ed 782.Pp 783Gauge script: 784.Bd -literal -offset indent -compact 785i=1 786for c in A B C D E F G H 787do 788 sleep 1 789 echo XXX 790 echo "$(expr $(expr $i "*" 100) "/" 8)" 791 echo "[$i/8] Char: $c" 792 echo XXX 793 if [ $i -eq 8 ] 794 then 795 sleep 1 796 echo EOF 797 fi 798 i=`expr $i + 1` 799done | bsddialog --title Gauge --gauge "Starting..." 10 70 800.Ed 801.Sh COMPATIBILITY 802Outdated options are retained for compatibility, properly equivalent options are 803used: 804.Bd -literal -offset indent -compact 805Obsolete Equivalent 806--and-widget --and-dialog 807--calendar <text> 2 <cols> --calendar <text> 0 <cols> 808--clear --clear-screen 809--colors --text-escape 810--defaultno --default-no 811--exit-label --ok-label 812--help-status --help-print-items 813--help-tags --help-print-name 814--item-help --item-bottom-desc 815--keep-tite --alternate-screen 816--no-items --no-descriptions 817--no-label --cancel-label 818--no-tags --no-names 819--nocancel --no-cancel 820--nook --no-ok 821--separator --output-separator 822--yes-label --ok-label 823.Ed 824.Sh SEE ALSO 825.Xr bsddialog 3 , 826.Xr strftime 3 , 827.Xr terminfo 5 828.Sh HISTORY 829The 830.Nm bsddialog 831utility first appeared in 832.Fx 14.0 . 833.Sh AUTHORS 834.Nm bsddialog 835was written by 836.An Alfonso Sabato Siciliano 837.Aq Mt asiciliano@FreeBSD.org . 838.Pp 839.Nm bsddialog 840provides also a subset of the functionality described in the 841.Nm dialog 842manual. 843The following features were reimplemented: 844.Pp 845Options: 846.Fl Fl and-widget , 847.Fl Fl ascii-lines , 848.Fl Fl backtitle , 849.Fl Fl cancel-label , 850.Fl Fl clear , 851.Fl Fl colors , 852.Fl Fl cr-wrap , 853.Fl Fl date-format , 854.Fl Fl defaultno , 855.Fl Fl default-button , 856.Fl Fl default-no , 857.Fl Fl default-item , 858.Fl Fl exit-label , 859.Fl Fl extra-button , 860.Fl Fl extra-label , 861.Fl Fl help , 862.Fl Fl help-button , 863.Fl Fl help-label , 864.Fl Fl help-status , 865.Fl Fl help-tags , 866.Fl Fl hfile , 867.Fl Fl hline , 868.Fl Fl ignore , 869.Fl Fl insecure , 870.Fl Fl item-help , 871.Fl Fl keep-tite , 872.Fl Fl max-input , 873.Fl Fl no-cancel , 874.Fl Fl nocancel , 875.Fl Fl no-items , 876.Fl Fl no-label , 877.Fl Fl no-lines , 878.Fl Fl no-ok , 879.Fl Fl nook , 880.Fl Fl no-shadow , 881.Fl Fl no-tags , 882.Fl Fl ok-label , 883.Fl Fl output-fd , 884.Fl Fl output-separator , 885.Fl Fl print-maxsize , 886.Fl Fl print-size , 887.Fl Fl print-version , 888.Fl Fl quoted , 889.Fl Fl separate-output , 890.Fl Fl separator , 891.Fl Fl shadow , 892.Fl Fl single-quoted , 893.Fl Fl sleep , 894.Fl Fl stderr , 895.Fl Fl stdout , 896.Fl Fl tab-len , 897.Fl Fl time-format , 898.Fl Fl title , 899.Fl Fl version , 900.Fl Fl yes-label . 901.Pp 902Keys: Ctrl-l, F1. 903.Pp 904Dialogs: 905.Fl Fl calendar , 906.Fl Fl checklist , 907.Fl Fl form , 908.Fl Fl gauge , 909.Fl Fl infobox , 910.Fl Fl inputbox , 911.Fl Fl menu , 912.Fl Fl mixedform , 913.Fl Fl mixedgauge , 914.Fl Fl msgbox , 915.Fl Fl passwordbox , 916.Fl Fl passwordform , 917.Fl Fl pause , 918.Fl Fl radiolist , 919.Fl Fl rangebox , 920.Fl Fl textbox , 921.Fl Fl timebox , 922.Fl Fl treeview , 923.Fl Fl yesno . 924.Pp 925Some feature differs in input, output, or behavior. 926Compatibility is not a priority for future development. 927.Sh THANKS TO 928.An Baptiste Daroussin 929.Aq Mt bapt@FreeBSD.org , 930.An \&Ed Maste 931.Aq Mt emaste@FreeBSD.org , 932.An Juraj Lutter 933.Aq Mt otis@FreeBSD.org 934and 935.An Trenton Schulz 936for suggestions, help, and testing. 937