1d93b4d32SBaptiste Daroussin.\" 2*a6d8be45SAlfonso S. Siciliano.\" Copyright (c) 2021-2024 Alfonso Sabato Siciliano 3d93b4d32SBaptiste Daroussin.\" 4d93b4d32SBaptiste Daroussin.\" Redistribution and use in source and binary forms, with or without 5d93b4d32SBaptiste Daroussin.\" modification, are permitted provided that the following conditions 6d93b4d32SBaptiste Daroussin.\" are met: 7d93b4d32SBaptiste Daroussin.\" 1. Redistributions of source code must retain the above copyright 8d93b4d32SBaptiste Daroussin.\" notice, this list of conditions and the following disclaimer. 9d93b4d32SBaptiste Daroussin.\" 2. Redistributions in binary form must reproduce the above copyright 10d93b4d32SBaptiste Daroussin.\" notice, this list of conditions and the following disclaimer in the 11d93b4d32SBaptiste Daroussin.\" documentation and/or other materials provided with the distribution. 12d93b4d32SBaptiste Daroussin.\" 13d93b4d32SBaptiste Daroussin.\" THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND 14d93b4d32SBaptiste Daroussin.\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE 15d93b4d32SBaptiste Daroussin.\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE 16d93b4d32SBaptiste Daroussin.\" ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE 17d93b4d32SBaptiste Daroussin.\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL 18d93b4d32SBaptiste Daroussin.\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS 19d93b4d32SBaptiste Daroussin.\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) 20d93b4d32SBaptiste Daroussin.\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT 21d93b4d32SBaptiste Daroussin.\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY 22d93b4d32SBaptiste Daroussin.\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF 23d93b4d32SBaptiste Daroussin.\" SUCH DAMAGE. 24d93b4d32SBaptiste Daroussin.\" 25*a6d8be45SAlfonso S. Siciliano.Dd March 16, 2024 26d93b4d32SBaptiste Daroussin.Dt BSDDIALOG 3 27f499134dSBaptiste Daroussin.Os 28f499134dSBaptiste Daroussin.Sh NAME 29d93b4d32SBaptiste Daroussin.Nm bsddialog_backtitle , 3084823cc7SAlfonso S. Siciliano.Nm bsddialog_calendar , 3161ba55bcSBaptiste Daroussin.Nm bsddialog_clear , 32d93b4d32SBaptiste Daroussin.Nm bsddialog_color , 33b319d934SAlfonso S. Siciliano.Nm bsddialog_color_attrs , 34d93b4d32SBaptiste Daroussin.Nm bsddialog_checklist , 35d93b4d32SBaptiste Daroussin.Nm bsddialog_datebox , 36d93b4d32SBaptiste Daroussin.Nm bsddialog_end , 37d93b4d32SBaptiste Daroussin.Nm bsddialog_form , 38d93b4d32SBaptiste Daroussin.Nm bsddialog_gauge , 39d93b4d32SBaptiste Daroussin.Nm bsddialog_geterror , 40263660c0SAlfonso Siciliano.Nm bsddialog_get_theme , 41b319d934SAlfonso S. Siciliano.Nm bsddialog_hascolors , 42d93b4d32SBaptiste Daroussin.Nm bsddialog_infobox , 43d93b4d32SBaptiste Daroussin.Nm bsddialog_init , 44b319d934SAlfonso S. Siciliano.Nm bsddialog_init_notheme , 45d93b4d32SBaptiste Daroussin.Nm bsddialog_initconf , 4661ba55bcSBaptiste Daroussin.Nm bsddialog_inmode , 47d93b4d32SBaptiste Daroussin.Nm bsddialog_menu , 48d93b4d32SBaptiste Daroussin.Nm bsddialog_mixedgauge , 49d93b4d32SBaptiste Daroussin.Nm bsddialog_mixedlist , 50d93b4d32SBaptiste Daroussin.Nm bsddialog_msgbox , 51d93b4d32SBaptiste Daroussin.Nm bsddialog_pause , 52d93b4d32SBaptiste Daroussin.Nm bsddialog_radiolist , 53d93b4d32SBaptiste Daroussin.Nm bsddialog_rangebox , 5461ba55bcSBaptiste Daroussin.Nm bsddialog_refresh , 55d93b4d32SBaptiste Daroussin.Nm bsddialog_set_theme , 56d93b4d32SBaptiste Daroussin.Nm bsddialog_set_default_theme , 57d93b4d32SBaptiste Daroussin.Nm bsddialog_textbox , 58d93b4d32SBaptiste Daroussin.Nm bsddialog_timebox , 59d93b4d32SBaptiste Daroussin.Nm bsddialog_yesno 60263660c0SAlfonso Siciliano.Nd TUI dialogs 61d93b4d32SBaptiste Daroussin.Sh LIBRARY 62d93b4d32SBaptiste Daroussin.Lb libbsddialog 63f499134dSBaptiste Daroussin.Sh SYNOPSIS 64d93b4d32SBaptiste Daroussin.In bsddialog.h 65d93b4d32SBaptiste Daroussin.Ft int 66263660c0SAlfonso Siciliano.Fn bsddialog_backtitle "struct bsddialog_conf *conf" "const char *backtitle" 67d93b4d32SBaptiste Daroussin.Ft int 6884823cc7SAlfonso S. Siciliano.Fo bsddialog_calendar 6984823cc7SAlfonso S. Siciliano.Fa "struct bsddialog_conf *conf" 7084823cc7SAlfonso S. Siciliano.Fa "const char *text" 7184823cc7SAlfonso S. Siciliano.Fa "int rows" 7284823cc7SAlfonso S. Siciliano.Fa "int cols" 7361ba55bcSBaptiste Daroussin.Fa "unsigned int *year" 7461ba55bcSBaptiste Daroussin.Fa "unsigned int *month" 7561ba55bcSBaptiste Daroussin.Fa "unsigned int *day" 7684823cc7SAlfonso S. Siciliano.Fc 7784823cc7SAlfonso S. Siciliano.Ft int 78d93b4d32SBaptiste Daroussin.Fo bsddialog_checklist 79d93b4d32SBaptiste Daroussin.Fa "struct bsddialog_conf *conf" 80263660c0SAlfonso Siciliano.Fa "const char *text" 81d93b4d32SBaptiste Daroussin.Fa "int rows" 82d93b4d32SBaptiste Daroussin.Fa "int cols" 83d93b4d32SBaptiste Daroussin.Fa "unsigned int menurows" 84263660c0SAlfonso Siciliano.Fa "unsigned int nitems" 85d93b4d32SBaptiste Daroussin.Fa "struct bsddialog_menuitem *items" 86d93b4d32SBaptiste Daroussin.Fa "int *focusitem" 87d93b4d32SBaptiste Daroussin.Fc 8861ba55bcSBaptiste Daroussin.Ft void 8961ba55bcSBaptiste Daroussin.Fn bsddialog_clear "unsigned int y" 90d93b4d32SBaptiste Daroussin.Ft int 9184823cc7SAlfonso S. Siciliano.Fo bsddialog_datebox 92d93b4d32SBaptiste Daroussin.Fa "struct bsddialog_conf *conf" 93263660c0SAlfonso Siciliano.Fa "const char *text" 94d93b4d32SBaptiste Daroussin.Fa "int rows" 95d93b4d32SBaptiste Daroussin.Fa "int cols" 9661ba55bcSBaptiste Daroussin.Fa "unsigned int *year" 9761ba55bcSBaptiste Daroussin.Fa "unsigned int *month" 9861ba55bcSBaptiste Daroussin.Fa "unsigned int *day" 99d93b4d32SBaptiste Daroussin.Fc 100d93b4d32SBaptiste Daroussin.Ft int 101d93b4d32SBaptiste Daroussin.Fn bsddialog_end "void" 102d93b4d32SBaptiste Daroussin.Ft int 103d93b4d32SBaptiste Daroussin.Fo bsddialog_form 104d93b4d32SBaptiste Daroussin.Fa "struct bsddialog_conf *conf" 105263660c0SAlfonso Siciliano.Fa "const char *text" 106d93b4d32SBaptiste Daroussin.Fa "int rows" 107d93b4d32SBaptiste Daroussin.Fa "int cols" 108263660c0SAlfonso Siciliano.Fa "unsigned int formrows" 109d93b4d32SBaptiste Daroussin.Fa "unsigned int nitems" 110d93b4d32SBaptiste Daroussin.Fa "struct bsddialog_formitem *items" 11161ba55bcSBaptiste Daroussin.Fa "int *focusitem" 112d93b4d32SBaptiste Daroussin.Fc 113d93b4d32SBaptiste Daroussin.Ft int 114d93b4d32SBaptiste Daroussin.Fo bsddialog_gauge 115d93b4d32SBaptiste Daroussin.Fa "struct bsddialog_conf *conf" 116263660c0SAlfonso Siciliano.Fa "const char *text" 117d93b4d32SBaptiste Daroussin.Fa "int rows" 118d93b4d32SBaptiste Daroussin.Fa "int cols" 119d93b4d32SBaptiste Daroussin.Fa "unsigned int perc" 120263660c0SAlfonso Siciliano.Fa "int fd" 121263660c0SAlfonso Siciliano.Fa "const char *sep" 12261ba55bcSBaptiste Daroussin.Fa "const char *end" 123d93b4d32SBaptiste Daroussin.Fc 124d93b4d32SBaptiste Daroussin.Ft const char * 125d93b4d32SBaptiste Daroussin.Fn bsddialog_geterror "void" 126d93b4d32SBaptiste Daroussin.Ft int 127d93b4d32SBaptiste Daroussin.Fo bsddialog_infobox 128d93b4d32SBaptiste Daroussin.Fa "struct bsddialog_conf *conf" 129263660c0SAlfonso Siciliano.Fa "const char *text" 130d93b4d32SBaptiste Daroussin.Fa "int rows" 131d93b4d32SBaptiste Daroussin.Fa "int cols" 132d93b4d32SBaptiste Daroussin.Fc 133d93b4d32SBaptiste Daroussin.Ft int 134d93b4d32SBaptiste Daroussin.Fn bsddialog_init "void" 135d93b4d32SBaptiste Daroussin.Ft int 136b319d934SAlfonso S. Siciliano.Fn bsddialog_init_notheme "void" 13761ba55bcSBaptiste Daroussin.Ft bool 13861ba55bcSBaptiste Daroussin.Fn bsddialog_inmode "void" 139b319d934SAlfonso S. Siciliano.Ft int 140d93b4d32SBaptiste Daroussin.Fn bsddialog_initconf "struct bsddialog_conf *conf" 141d93b4d32SBaptiste Daroussin.Ft int 142d93b4d32SBaptiste Daroussin.Fo bsddialog_menu 143d93b4d32SBaptiste Daroussin.Fa "struct bsddialog_conf *conf" 144263660c0SAlfonso Siciliano.Fa "const char *text" 145d93b4d32SBaptiste Daroussin.Fa "int rows" 146d93b4d32SBaptiste Daroussin.Fa "int cols" 147d93b4d32SBaptiste Daroussin.Fa "unsigned int menurows" 148263660c0SAlfonso Siciliano.Fa "unsigned int nitems" 149d93b4d32SBaptiste Daroussin.Fa "struct bsddialog_menuitem *items" 150d93b4d32SBaptiste Daroussin.Fa "int *focusitem" 151d93b4d32SBaptiste Daroussin.Fc 152d93b4d32SBaptiste Daroussin.Ft int 153d93b4d32SBaptiste Daroussin.Fo bsddialog_mixedgauge 154d93b4d32SBaptiste Daroussin.Fa "struct bsddialog_conf *conf" 155263660c0SAlfonso Siciliano.Fa "const char *text" 156d93b4d32SBaptiste Daroussin.Fa "int rows" 157d93b4d32SBaptiste Daroussin.Fa "int cols" 158d93b4d32SBaptiste Daroussin.Fa "unsigned int mainperc" 159d93b4d32SBaptiste Daroussin.Fa "unsigned int nminibars" 160d93b4d32SBaptiste Daroussin.Fa "char **minilabels" 161d93b4d32SBaptiste Daroussin.Fa "int *minipercs" 162d93b4d32SBaptiste Daroussin.Fc 163d93b4d32SBaptiste Daroussin.Ft int 164d93b4d32SBaptiste Daroussin.Fo bsddialog_mixedlist 165d93b4d32SBaptiste Daroussin.Fa "struct bsddialog_conf *conf" 166263660c0SAlfonso Siciliano.Fa "const char *text" 167d93b4d32SBaptiste Daroussin.Fa "int rows" 168d93b4d32SBaptiste Daroussin.Fa "int cols" 169d93b4d32SBaptiste Daroussin.Fa "unsigned int menurows" 170263660c0SAlfonso Siciliano.Fa "unsigned int ngroups" 171d93b4d32SBaptiste Daroussin.Fa "struct bsddialog_menugroup *groups" 172d93b4d32SBaptiste Daroussin.Fa "int *focuslist" 173d93b4d32SBaptiste Daroussin.Fa "int *focusitem" 174d93b4d32SBaptiste Daroussin.Fc 175d93b4d32SBaptiste Daroussin.Ft int 176d93b4d32SBaptiste Daroussin.Fo bsddialog_msgbox 177d93b4d32SBaptiste Daroussin.Fa "struct bsddialog_conf *conf" 178263660c0SAlfonso Siciliano.Fa "const char *text" 179d93b4d32SBaptiste Daroussin.Fa "int rows" 180d93b4d32SBaptiste Daroussin.Fa "int cols" 181d93b4d32SBaptiste Daroussin.Fc 182d93b4d32SBaptiste Daroussin.Ft int 183d93b4d32SBaptiste Daroussin.Fo bsddialog_pause 184d93b4d32SBaptiste Daroussin.Fa "struct bsddialog_conf *conf" 185263660c0SAlfonso Siciliano.Fa "const char *text" 186d93b4d32SBaptiste Daroussin.Fa "int rows" 187d93b4d32SBaptiste Daroussin.Fa "int cols" 18861ba55bcSBaptiste Daroussin.Fa "unsigned int *seconds" 189d93b4d32SBaptiste Daroussin.Fc 190d93b4d32SBaptiste Daroussin.Ft int 191d93b4d32SBaptiste Daroussin.Fo bsddialog_radiolist 192d93b4d32SBaptiste Daroussin.Fa "struct bsddialog_conf *conf" 193263660c0SAlfonso Siciliano.Fa "const char *text" 194d93b4d32SBaptiste Daroussin.Fa "int rows" 195d93b4d32SBaptiste Daroussin.Fa "int cols" 196d93b4d32SBaptiste Daroussin.Fa "unsigned int menurows" 197263660c0SAlfonso Siciliano.Fa "unsigned int nitems" 198d93b4d32SBaptiste Daroussin.Fa "struct bsddialog_menuitem *items" 199d93b4d32SBaptiste Daroussin.Fa "int *focusitem" 200d93b4d32SBaptiste Daroussin.Fc 201d93b4d32SBaptiste Daroussin.Ft int 202d93b4d32SBaptiste Daroussin.Fo bsddialog_rangebox 203d93b4d32SBaptiste Daroussin.Fa "struct bsddialog_conf *conf" 204263660c0SAlfonso Siciliano.Fa "const char *text" 205d93b4d32SBaptiste Daroussin.Fa "int rows" 206d93b4d32SBaptiste Daroussin.Fa "int cols" 207d93b4d32SBaptiste Daroussin.Fa "int min" 208d93b4d32SBaptiste Daroussin.Fa "int max" 209d93b4d32SBaptiste Daroussin.Fa "int *value" 210d93b4d32SBaptiste Daroussin.Fc 21161ba55bcSBaptiste Daroussin.Ft void 21261ba55bcSBaptiste Daroussin.Fn bsddialog_refresh "void" 213d93b4d32SBaptiste Daroussin.Ft int 214d93b4d32SBaptiste Daroussin.Fo bsddialog_textbox 215d93b4d32SBaptiste Daroussin.Fa "struct bsddialog_conf *conf" 216263660c0SAlfonso Siciliano.Fa "const char *file" 217d93b4d32SBaptiste Daroussin.Fa "int rows" 218d93b4d32SBaptiste Daroussin.Fa "int cols" 219d93b4d32SBaptiste Daroussin.Fc 220d93b4d32SBaptiste Daroussin.Ft int 221d93b4d32SBaptiste Daroussin.Fo bsddialog_timebox 222d93b4d32SBaptiste Daroussin.Fa "struct bsddialog_conf *conf" 223263660c0SAlfonso Siciliano.Fa "const char *text" 224d93b4d32SBaptiste Daroussin.Fa "int rows" 225d93b4d32SBaptiste Daroussin.Fa "int cols" 226d93b4d32SBaptiste Daroussin.Fa "unsigned int *hh" 227d93b4d32SBaptiste Daroussin.Fa "unsigned int *mm" 228d93b4d32SBaptiste Daroussin.Fa "unsigned int *ss" 229d93b4d32SBaptiste Daroussin.Fc 230d93b4d32SBaptiste Daroussin.Ft int 231d93b4d32SBaptiste Daroussin.Fo bsddialog_yesno 232d93b4d32SBaptiste Daroussin.Fa "struct bsddialog_conf *conf" 233263660c0SAlfonso Siciliano.Fa "const char *text" 234d93b4d32SBaptiste Daroussin.Fa "int rows" 235d93b4d32SBaptiste Daroussin.Fa "int cols" 236d93b4d32SBaptiste Daroussin.Fc 237d93b4d32SBaptiste Daroussin.In bsddialog_theme.h 238d93b4d32SBaptiste Daroussin.Ft int 239d93b4d32SBaptiste Daroussin.Fo bsddialog_color 240d93b4d32SBaptiste Daroussin.Fa "enum bsddialog_color foreground" 241263660c0SAlfonso Siciliano.Fa "enum bsddialog_color background" 242d93b4d32SBaptiste Daroussin.Fa "unsigned int flags" 243d93b4d32SBaptiste Daroussin.Fc 244d93b4d32SBaptiste Daroussin.Ft int 245b319d934SAlfonso S. Siciliano.Fo bsddialog_color_attrs 246b319d934SAlfonso S. Siciliano.Fa "int color" 247b319d934SAlfonso S. Siciliano.Fa "enum bsddialog_color *foreground" 248b319d934SAlfonso S. Siciliano.Fa "enum bsddialog_color *background" 249b319d934SAlfonso S. Siciliano.Fa "unsigned int *flags" 250b319d934SAlfonso S. Siciliano.Fc 251b319d934SAlfonso S. Siciliano.Ft int 252d93b4d32SBaptiste Daroussin.Fn bsddialog_get_theme "struct bsddialog_theme *theme" 253b319d934SAlfonso S. Siciliano.Ft bool 254b319d934SAlfonso S. Siciliano.Fn bsddialog_hascolors "void" 255d93b4d32SBaptiste Daroussin.Ft int 256d93b4d32SBaptiste Daroussin.Fn bsddialog_set_default_theme "enum bsddialog_default_theme theme" 257d93b4d32SBaptiste Daroussin.Ft int 258d93b4d32SBaptiste Daroussin.Fn bsddialog_set_theme "struct bsddialog_theme *theme" 259f499134dSBaptiste Daroussin.Sh DESCRIPTION 260f499134dSBaptiste DaroussinThe 261263660c0SAlfonso Siciliano.Nm bsddialog 26261ba55bcSBaptiste Daroussinlibrary provides an API to build Text User Interface dialogs and widgets. 263263660c0SAlfonso Siciliano.Pp 264263660c0SAlfonso Siciliano.Fn bsddialog_init 265263660c0SAlfonso Sicilianoinitializes the library, the only functions that can be called before is 266263660c0SAlfonso Siciliano.Fn bsddialog_initconf 267263660c0SAlfonso Sicilianodescribed later. 268263660c0SAlfonso SicilianoAfter the initialization the input and output should be handled via the library 269263660c0SAlfonso SicilianoAPI. 27061ba55bcSBaptiste Daroussin.Pp 271b319d934SAlfonso S. Siciliano.Fn bsddialog_init_notheme 272b319d934SAlfonso S. Sicilianois equivalent to 273b319d934SAlfonso S. Siciliano.Fn bsddialog_init 274b319d934SAlfonso S. Sicilianoexcept it does not set the default graphical theme; see 275b319d934SAlfonso S. Siciliano.Sx Theme 276b319d934SAlfonso S. Sicilianosubsection to set a theme explicitly. 277263660c0SAlfonso Siciliano.Pp 27861ba55bcSBaptiste Daroussin.Fn bsddialog_end 27961ba55bcSBaptiste Daroussinrestores the screen like before 28061ba55bcSBaptiste Daroussin.Fn bsddialog_init . 28161ba55bcSBaptiste DaroussinAfter the call is not possible to use the library functions. 28261ba55bcSBaptiste Daroussin.Pp 28361ba55bcSBaptiste Daroussin.Fn bsddialog_inmode 28461ba55bcSBaptiste Daroussinreturns 28561ba55bcSBaptiste Daroussin.Dv true 28661ba55bcSBaptiste Daroussinafter 28761ba55bcSBaptiste Daroussin.Fn bsddialog_init 28861ba55bcSBaptiste Daroussinor 28961ba55bcSBaptiste Daroussin.Fn bsddialog_init_notheme 29061ba55bcSBaptiste Daroussinand before 29161ba55bcSBaptiste Daroussin.Fn bsddialog_end , 29261ba55bcSBaptiste Daroussin.Dv false 29361ba55bcSBaptiste Daroussinotherwise. 29461ba55bcSBaptiste Daroussin.Pp 295263660c0SAlfonso Siciliano.Fn bsddialog_backtitle 296263660c0SAlfonso Sicilianoprints 297263660c0SAlfonso Siciliano.Fa backtitle 29861ba55bcSBaptiste Daroussinon the top of the screen. 29961ba55bcSBaptiste DaroussinThe function handles 300263660c0SAlfonso Siciliano.Fa conf.ascii_lines 301263660c0SAlfonso Sicilianoand 30261ba55bcSBaptiste Daroussin.Fa conf.no_lines 30361ba55bcSBaptiste Daroussindescribed later. 304263660c0SAlfonso Siciliano.Pp 30561ba55bcSBaptiste Daroussin.Fn bsddialog_error 30661ba55bcSBaptiste Daroussinreturns a string to describe the last error. 30761ba55bcSBaptiste DaroussinThe function should be called after a 30861ba55bcSBaptiste Daroussin.Dv BSDDIALOG_ERROR 30961ba55bcSBaptiste Daroussinreturned value. 31061ba55bcSBaptiste Daroussin.Pp 31161ba55bcSBaptiste Daroussin.Fn bsddialog_clear 31261ba55bcSBaptiste Daroussinclears the screen from 31361ba55bcSBaptiste Daroussin.Fa y . 31461ba55bcSBaptiste Daroussin.Pp 31561ba55bcSBaptiste Daroussin.Fn bsddialog_refresh 31661ba55bcSBaptiste Daroussinuseful to refresh the screen after a terminal mode change, see 31761ba55bcSBaptiste Daroussin.Xr terminfo 5 . 318263660c0SAlfonso Siciliano.Ss Dialogs 319263660c0SAlfonso SicilianoThe dialogs have common arguments. 320263660c0SAlfonso Siciliano.Fa text 321263660c0SAlfonso Sicilianois a string printed inside the dialog. 32261ba55bcSBaptiste DaroussinEach 32361ba55bcSBaptiste Daroussin.Fa char* 32461ba55bcSBaptiste Daroussinparameter can be a multibyte character string depending on current locale, see 32561ba55bcSBaptiste Daroussin.Xr setlocale 3 . 326263660c0SAlfonso Siciliano.Fa rows 327263660c0SAlfonso Sicilianoand 328263660c0SAlfonso Siciliano.Fa cols 32961ba55bcSBaptiste Daroussinare height and width, their value can be a fixed size, 330263660c0SAlfonso Siciliano.Dv BSDDIALOG_AUTOSIZE 331263660c0SAlfonso Sicilianoor 332263660c0SAlfonso Siciliano.Dv BSDDIALOG_FULLSCREEN . 333263660c0SAlfonso Siciliano.Fa conf 33461ba55bcSBaptiste Daroussinis a struct to customize the current dialog, it does not set global properties 33561ba55bcSBaptiste Daroussinto the library. 336d93b4d32SBaptiste Daroussin.Pp 337d93b4d32SBaptiste Daroussin.Bd -literal -offset indent -compact 338d93b4d32SBaptiste Daroussinstruct bsddialog_conf { 339d93b4d32SBaptiste Daroussin bool ascii_lines; 340d93b4d32SBaptiste Daroussin unsigned int auto_minheight; 341d93b4d32SBaptiste Daroussin unsigned int auto_minwidth; 342b319d934SAlfonso S. Siciliano unsigned int auto_topmargin; 343b319d934SAlfonso S. Siciliano unsigned int auto_downmargin; 344263660c0SAlfonso Siciliano const char *bottomtitle; 345d93b4d32SBaptiste Daroussin bool clear; 346d93b4d32SBaptiste Daroussin int *get_height; 347d93b4d32SBaptiste Daroussin int *get_width; 348d93b4d32SBaptiste Daroussin bool no_lines; 349d93b4d32SBaptiste Daroussin bool shadow; 350d93b4d32SBaptiste Daroussin unsigned int sleep; 351263660c0SAlfonso Siciliano const char *title; 352d93b4d32SBaptiste Daroussin int y; 353d93b4d32SBaptiste Daroussin int x; 354d93b4d32SBaptiste Daroussin struct { 355263660c0SAlfonso Siciliano bool enable_esc; 356bce40c02SAlfonso S. Siciliano const char *f1_file; 357bce40c02SAlfonso S. Siciliano const char *f1_message; 358263660c0SAlfonso Siciliano } key; 359263660c0SAlfonso Siciliano struct { 360b319d934SAlfonso S. Siciliano unsigned int cols_per_row; 36161ba55bcSBaptiste Daroussin bool escape; 362263660c0SAlfonso Siciliano unsigned int tablen; 363d93b4d32SBaptiste Daroussin } text; 364d93b4d32SBaptiste Daroussin struct { 365d93b4d32SBaptiste Daroussin bool align_left; 366d93b4d32SBaptiste Daroussin bool no_desc; 367d93b4d32SBaptiste Daroussin bool no_name; 368d93b4d32SBaptiste Daroussin bool shortcut_buttons; 369d93b4d32SBaptiste Daroussin } menu; 370d93b4d32SBaptiste Daroussin struct { 371b319d934SAlfonso S. Siciliano char securech; 372b319d934SAlfonso S. Siciliano char *securembch; 373b319d934SAlfonso S. Siciliano bool value_wchar; 374d93b4d32SBaptiste Daroussin } form; 375d93b4d32SBaptiste Daroussin struct { 37661ba55bcSBaptiste Daroussin const char *format; 37761ba55bcSBaptiste Daroussin } date; 37861ba55bcSBaptiste Daroussin struct { 379b319d934SAlfonso S. Siciliano bool always_active; 38061ba55bcSBaptiste Daroussin const char *left1_label; 38161ba55bcSBaptiste Daroussin const char *left2_label; 38261ba55bcSBaptiste Daroussin const char *left3_label; 383d93b4d32SBaptiste Daroussin bool without_ok; 384263660c0SAlfonso Siciliano const char *ok_label; 385d93b4d32SBaptiste Daroussin bool with_extra; 386263660c0SAlfonso Siciliano const char *extra_label; 387d93b4d32SBaptiste Daroussin bool without_cancel; 388263660c0SAlfonso Siciliano const char *cancel_label; 389d93b4d32SBaptiste Daroussin bool default_cancel; 390d93b4d32SBaptiste Daroussin bool with_help; 391263660c0SAlfonso Siciliano const char *help_label; 39261ba55bcSBaptiste Daroussin const char *right1_label; 39361ba55bcSBaptiste Daroussin const char *right2_label; 39461ba55bcSBaptiste Daroussin const char *right3_label; 395263660c0SAlfonso Siciliano const char *default_label; 396d93b4d32SBaptiste Daroussin } button; 397d93b4d32SBaptiste Daroussin}; 398d93b4d32SBaptiste Daroussin.Ed 399d93b4d32SBaptiste Daroussin.Pp 400263660c0SAlfonso Siciliano.Bl -column -compact 401263660c0SAlfonso Siciliano.It Fa conf.ascii_lines 402263660c0SAlfonso Sicilianoascii characters to draw lines, default wide characters. 403263660c0SAlfonso Siciliano.It Fa conf.auto_minheight 404263660c0SAlfonso Sicilianominimum height if 405263660c0SAlfonso Siciliano.Fa rows 406263660c0SAlfonso Sicilianois 407263660c0SAlfonso Siciliano.Dv BSDDIALOG_AUTOSIZE . 408263660c0SAlfonso Siciliano.It Fa conf.auto_minwidth 409263660c0SAlfonso Sicilianominimum width if 410263660c0SAlfonso Siciliano.Fa cols 411263660c0SAlfonso Sicilianois 412263660c0SAlfonso Siciliano.Dv BSDDIALOG_AUTOSIZE . 413b319d934SAlfonso S. Siciliano.It Fa conf.auto_topmargin 414b319d934SAlfonso S. Sicilianotop margin if 415b319d934SAlfonso S. Siciliano.Fa rows 416b319d934SAlfonso S. Sicilianois 417b319d934SAlfonso S. Siciliano.Dv BSDDIALOG_AUTOSIZE 418b319d934SAlfonso S. Sicilianoor 419b319d934SAlfonso S. Siciliano.Dv BSDDIALOG_FULLSCREEN , 420b319d934SAlfonso S. Siciliano.Fa conf.y 421b319d934SAlfonso S. Sicilianohas to be 422b319d934SAlfonso S. Siciliano.Dv BSDDIALOG_CENTER . 423b319d934SAlfonso S. Siciliano.It Fa conf.auto_downmargin 424b319d934SAlfonso S. Sicilianodown margin if 425b319d934SAlfonso S. Siciliano.Fa rows 426b319d934SAlfonso S. Sicilianois 427b319d934SAlfonso S. Siciliano.Dv BSDDIALOG_AUTOSIZE 428b319d934SAlfonso S. Sicilianoor 429b319d934SAlfonso S. Siciliano.Dv BSDDIALOG_FULLSCREEN . 430263660c0SAlfonso Siciliano.It Fa conf.bottomtitle 43161ba55bcSBaptiste Daroussindialog subtitle. 432263660c0SAlfonso Siciliano.It Fa conf.clear 433263660c0SAlfonso Sicilianohide the dialog at exit. 434263660c0SAlfonso Siciliano.It Fa conf.get_height 435263660c0SAlfonso Sicilianoif not 436263660c0SAlfonso Siciliano.Dv NULL 437263660c0SAlfonso Sicilianois set like the dialog height. 438263660c0SAlfonso Siciliano.It Fa conf.get_width 439263660c0SAlfonso Sicilianoif not 440263660c0SAlfonso Siciliano.Dv NULL 441263660c0SAlfonso Sicilianois set like the dialog width. 442263660c0SAlfonso Siciliano.It Fa conf.no_lines 443263660c0SAlfonso Sicilianonot draw lines. 444263660c0SAlfonso Siciliano.It Fa conf.shadow 445263660c0SAlfonso Sicilianodraw shadow. 446263660c0SAlfonso Siciliano.It Fa conf.sleep 447263660c0SAlfonso Sicilianowait before to return, the value is in seconds. 448263660c0SAlfonso Siciliano.It Fa conf.title 44961ba55bcSBaptiste Daroussindialog title. 450263660c0SAlfonso Siciliano.It Fa conf.y 45161ba55bcSBaptiste Daroussindialog vertical position, 0 is top screen, can be 452263660c0SAlfonso Siciliano.Dv BSDDIALOG_CENTER . 453263660c0SAlfonso Siciliano.It Fa conf.x 45461ba55bcSBaptiste Daroussindialog horizontal position, 0 is left screen, can be 455263660c0SAlfonso Siciliano.Dv BSDDIALOG_CENTER . 456263660c0SAlfonso Siciliano.El 457263660c0SAlfonso Siciliano.Pp 458bce40c02SAlfonso S. Siciliano.Bl -column -compact 459bce40c02SAlfonso S. Siciliano.It Fa conf.key.enable_esc 46061ba55bcSBaptiste Daroussinenable 461263660c0SAlfonso Siciliano.Dv ESC 462263660c0SAlfonso Sicilianokey to close the dialog. 463bce40c02SAlfonso S. Siciliano.It Fa conf.key.f1_file 46461ba55bcSBaptiste Daroussinopen a file in a textbox if F1 is pressed. 465bce40c02SAlfonso S. Siciliano.It Fa conf.key.f1_message 46661ba55bcSBaptiste Daroussinbuild a msgbox with message if F1 is pressed. 467bce40c02SAlfonso S. Siciliano.El 468263660c0SAlfonso Siciliano.Pp 469b319d934SAlfonso S. Siciliano.Bl -column -compact 470b319d934SAlfonso S. Siciliano.It Fa conf.text.cols_per_row 471b319d934SAlfonso S. SicilianoTry to set the number of columns for a row of 472b319d934SAlfonso S. Siciliano.Fa text 47361ba55bcSBaptiste Daroussinwith autosizing, default 474b319d934SAlfonso S. Siciliano.Dv 10 . 47561ba55bcSBaptiste Daroussin.It Fa conf.text.escape 47661ba55bcSBaptiste Daroussinenable escapes in 47761ba55bcSBaptiste Daroussin.Fa text : 478263660c0SAlfonso Siciliano.It Dq \eZ0 479263660c0SAlfonso Sicilianoblack. 480263660c0SAlfonso Siciliano.It Dq \eZ1 481263660c0SAlfonso Sicilianored. 482263660c0SAlfonso Siciliano.It Dq \eZ2 483263660c0SAlfonso Sicilianogreen. 484263660c0SAlfonso Siciliano.It Dq \eZ3 485263660c0SAlfonso Sicilianoyellow. 486263660c0SAlfonso Siciliano.It Dq \eZ4 487263660c0SAlfonso Sicilianoblue. 488263660c0SAlfonso Siciliano.It Dq \eZ5 489263660c0SAlfonso Sicilianomagenta. 490263660c0SAlfonso Siciliano.It Dq \eZ6 491263660c0SAlfonso Sicilianocyan. 492263660c0SAlfonso Siciliano.It Dq \eZ7 493263660c0SAlfonso Sicilianowhite. 494263660c0SAlfonso Siciliano.It Dq \eZb 495263660c0SAlfonso Sicilianobold. 496263660c0SAlfonso Siciliano.It Dq \eZB 497263660c0SAlfonso Sicilianodisable bold. 49861ba55bcSBaptiste Daroussin.It Dq \eZd 49961ba55bcSBaptiste DaroussinHalf bright. 50061ba55bcSBaptiste Daroussin.It Dq \eZD 50161ba55bcSBaptiste Daroussindisable half bright. 50261ba55bcSBaptiste Daroussin.It Dq \eZk 50361ba55bcSBaptiste DaroussinBlink. 50461ba55bcSBaptiste Daroussin.It Dq \eZK 50561ba55bcSBaptiste Daroussindisable blinking. 50661ba55bcSBaptiste Daroussin.It Dq \eZr 50761ba55bcSBaptiste Daroussinreverse foreground and background. 50861ba55bcSBaptiste Daroussin.It Dq \eZR 50961ba55bcSBaptiste Daroussindisable reverse. 51061ba55bcSBaptiste Daroussin.It Dq \eZs 51161ba55bcSBaptiste DaroussinHighlight. 51261ba55bcSBaptiste Daroussin.It Dq \eZS 51361ba55bcSBaptiste Daroussindisable highlighting. 514263660c0SAlfonso Siciliano.It Dq \eZu 515263660c0SAlfonso Sicilianounderline. 516263660c0SAlfonso Siciliano.It Dq \eZU 517263660c0SAlfonso Sicilianodisable underline. 518263660c0SAlfonso Siciliano.It Dq \eZn 519263660c0SAlfonso Sicilianodisable each customization. 520b319d934SAlfonso S. Siciliano.It Fa conf.text.tablen 521b319d934SAlfonso S. Sicilianotab length for 522b319d934SAlfonso S. Siciliano.Fa text 523b319d934SAlfonso S. Sicilianoargument and 524b319d934SAlfonso S. Siciliano.Fn bsddialog_textbox 525b319d934SAlfonso S. Sicilianofunction. 526263660c0SAlfonso Siciliano.El 527263660c0SAlfonso Siciliano.Pp 528263660c0SAlfonso Siciliano.Bl -column -compact 529b319d934SAlfonso S. Siciliano.It Fa conf.button.always_active 53061ba55bcSBaptiste Daroussinbuttons always active, avoiding focus switch between buttons and input fields or 531b319d934SAlfonso S. Sicilianoinput boxes in 532b319d934SAlfonso S. Siciliano.Fn bsddialog_form , 53384823cc7SAlfonso S. Siciliano.Fn bsddialog_datebox , 53484823cc7SAlfonso S. Siciliano.Fn bsddialog_calendar 535b319d934SAlfonso S. Sicilianoand 536b319d934SAlfonso S. Siciliano.Fn bsddialog_timebox . 53761ba55bcSBaptiste Daroussin.It Fa conf.button.left1_label 53861ba55bcSBaptiste Daroussinadd a button with the specified label. 53961ba55bcSBaptiste Daroussin.It Fa conf.button.left2_label 54061ba55bcSBaptiste Daroussinadd a button with the specified label. 54161ba55bcSBaptiste Daroussin.It Fa conf.button.left3_label 54261ba55bcSBaptiste Daroussinadd a button with the specified label. 543263660c0SAlfonso Siciliano.It Fa conf.button.without_ok 544263660c0SAlfonso Sicilianodisable OK button. 545263660c0SAlfonso Siciliano.It Fa conf.button.ok_label 546263660c0SAlfonso Sicilianoset label for OK button. 547263660c0SAlfonso Siciliano.It Fa conf.button.with_extra 548263660c0SAlfonso Sicilianoadd Extra button. 549263660c0SAlfonso Siciliano.It Fa conf.button.extra_label 550263660c0SAlfonso Sicilianoset a label for Extra button. 551263660c0SAlfonso Siciliano.It Fa conf.button.without_cancel 552263660c0SAlfonso Sicilianodisable Cancel button. 553263660c0SAlfonso Siciliano.It Fa conf.button.cancel_label 554263660c0SAlfonso Sicilianosets a label for Cancel button. 555263660c0SAlfonso Siciliano.It Fa conf.button.default_cancel 556263660c0SAlfonso Sicilianoon startup focus on the Cancel button. 557263660c0SAlfonso Siciliano.It Fa conf.button.with_help 558263660c0SAlfonso Sicilianoadd Help button. 559263660c0SAlfonso Siciliano.It Fa conf.button.help_label 560263660c0SAlfonso Sicilianoset a label for Help button. 56161ba55bcSBaptiste Daroussin.It Fa conf.button.right1_label 562263660c0SAlfonso Sicilianoadd a button with the specified label. 56361ba55bcSBaptiste Daroussin.It Fa conf.button.right2_label 56461ba55bcSBaptiste Daroussinadd a button with the specified label. 56561ba55bcSBaptiste Daroussin.It Fa conf.button.right3_label 566263660c0SAlfonso Sicilianoadd a button with the specified label. 567263660c0SAlfonso Siciliano.It Fa conf.button.default_label 568263660c0SAlfonso Sicilianofocus on the button with the specified label. 569263660c0SAlfonso Siciliano.El 570263660c0SAlfonso Siciliano.Pp 571263660c0SAlfonso Siciliano.Fn bsddialog_initconf 572263660c0SAlfonso Sicilianoinitializes 573263660c0SAlfonso Siciliano.Fa conf 574263660c0SAlfonso Sicilianodisabling each property, except 575263660c0SAlfonso Siciliano.Fa conf.shadow 576263660c0SAlfonso Sicilianoto true, 577263660c0SAlfonso Siciliano.Fa conf.y 578263660c0SAlfonso Sicilianoand 579263660c0SAlfonso Siciliano.Fa conf.x 580263660c0SAlfonso Sicilianoto 58184823cc7SAlfonso S. Siciliano.Dv BSDDIALOG_CENTER , 58284823cc7SAlfonso S. Siciliano.Fa conf.text.cols_per_row 58384823cc7SAlfonso S. Sicilianoto 58484823cc7SAlfonso S. Siciliano.Dv 10 . 585263660c0SAlfonso Siciliano.Pp 58684823cc7SAlfonso S. Siciliano.Fn bsddialog_calendar 58761ba55bcSBaptiste Daroussinbuilds a dialog to select a date. 58861ba55bcSBaptiste Daroussin.Fa year , 58961ba55bcSBaptiste Daroussin.Fa month , 59084823cc7SAlfonso S. Sicilianoand 59161ba55bcSBaptiste Daroussin.Fa day 592263660c0SAlfonso Sicilianoare default values on startup, selected date at exit. 59361ba55bcSBaptiste Daroussin.Pp 59461ba55bcSBaptiste Daroussin.Fn bsddialog_checklist 59561ba55bcSBaptiste Daroussinbuilds dialogs to select some item from a list via the SPACE key, can be 59661ba55bcSBaptiste Daroussincustomized by 59761ba55bcSBaptiste Daroussin.Fa conf.menu.* . 59861ba55bcSBaptiste DaroussinSee 59961ba55bcSBaptiste Daroussin.Fn bsddialog_menu . 60061ba55bcSBaptiste Daroussin.Pp 60161ba55bcSBaptiste Daroussin.Fn bsddialog_datebox 60261ba55bcSBaptiste Daroussinbuilds a dialog to select a date. 60361ba55bcSBaptiste Daroussin.Fa year , 60461ba55bcSBaptiste Daroussin.Fa month , 605263660c0SAlfonso Sicilianoand 60661ba55bcSBaptiste Daroussin.Fa day 60761ba55bcSBaptiste Daroussinare default values on startup, selected date at exit. 60861ba55bcSBaptiste DaroussinThe function can be customized by: 609263660c0SAlfonso Siciliano.Bl -column -compact 61061ba55bcSBaptiste Daroussin.It Fa conf.date.format 61161ba55bcSBaptiste Daroussindate format user interface, possible values: 61261ba55bcSBaptiste Daroussin.Dq d/m/y , 61361ba55bcSBaptiste Daroussin.Dq m/d/y , 61461ba55bcSBaptiste Daroussin.Dq y/m/d . 615263660c0SAlfonso Siciliano.El 616263660c0SAlfonso Siciliano.Pp 617263660c0SAlfonso Siciliano.Fn bsddialog_form 618b319d934SAlfonso S. Sicilianobuilds a dialog to display an array of 619b319d934SAlfonso S. Siciliano.Fa items 620b319d934SAlfonso S. Sicilianoof 621b319d934SAlfonso S. Siciliano.Fa nitems 62261ba55bcSBaptiste Daroussinelements to get input strings. 623b319d934SAlfonso S. Siciliano.Fa formrows 62461ba55bcSBaptiste Daroussinis the graphical height for the items inside the dialog, 625b319d934SAlfonso S. Siciliano.Dv 0 626b319d934SAlfonso S. Sicilianofor autosizing. 62761ba55bcSBaptiste DaroussinIf not 62861ba55bcSBaptiste Daroussin.Dv NULL 62961ba55bcSBaptiste Daroussin.Fa focusitem 63061ba55bcSBaptiste Daroussinis the default item index on startup and the last focused item at exit, a 63161ba55bcSBaptiste Daroussinnegative value if no item is focused. 632b319d934SAlfonso S. SicilianoAn item is defined like: 633263660c0SAlfonso Siciliano.Pp 634263660c0SAlfonso Siciliano.Bd -literal -offset indent -compact 635d93b4d32SBaptiste Daroussinstruct bsddialog_formitem { 636263660c0SAlfonso Siciliano const char *label; 637d93b4d32SBaptiste Daroussin unsigned int ylabel; 638d93b4d32SBaptiste Daroussin unsigned int xlabel; 639d93b4d32SBaptiste Daroussin 640263660c0SAlfonso Siciliano const char *init; 641d93b4d32SBaptiste Daroussin unsigned int yfield; 642d93b4d32SBaptiste Daroussin unsigned int xfield; 643d93b4d32SBaptiste Daroussin unsigned int fieldlen; 644d93b4d32SBaptiste Daroussin unsigned int maxvaluelen; 645263660c0SAlfonso Siciliano char *value; 646263660c0SAlfonso Siciliano 647d93b4d32SBaptiste Daroussin unsigned int flags; 648d93b4d32SBaptiste Daroussin 649263660c0SAlfonso Siciliano const char *bottomdesc; 650d93b4d32SBaptiste Daroussin}; 651d93b4d32SBaptiste Daroussin.Ed 652d93b4d32SBaptiste Daroussin.Pp 653263660c0SAlfonso Siciliano.Fa label 65461ba55bcSBaptiste Daroussinis a string to describe the request at the position 655263660c0SAlfonso Siciliano.Fa ylabel 656263660c0SAlfonso Sicilianoand 657263660c0SAlfonso Siciliano.Fa xlabel . 658263660c0SAlfonso SicilianoThe field for the input is at the position 659263660c0SAlfonso Siciliano.Fa yfield 660263660c0SAlfonso Sicilianoand 661263660c0SAlfonso Siciliano.Fa xfield , 662263660c0SAlfonso Siciliano.Fa fieldlen 663263660c0SAlfonso Sicilianois its graphical width, while 664263660c0SAlfonso Siciliano.Fa maxvalelen 665b319d934SAlfonso S. Sicilianois the maximum number of characters of the input string. 666263660c0SAlfonso Siciliano.Fa init 667b319d934SAlfonso S. Sicilianois the default field value. 66861ba55bcSBaptiste DaroussinIf no error occurs 669263660c0SAlfonso Siciliano.Fa value 67061ba55bcSBaptiste Daroussinis the allocated memory with the current field string at exit, its size depends 67161ba55bcSBaptiste Daroussinon the current locale. 672263660c0SAlfonso Siciliano.Fa flags 67361ba55bcSBaptiste Daroussinis an OR value to set the field: 674b319d934SAlfonso S. Siciliano.Dv BSDDIALOG_FIELDHIDDEN , 675b319d934SAlfonso S. Siciliano.Dv BSDDIALOG_FIELDREADONLY , 676b319d934SAlfonso S. Siciliano.Dv BSDDIALOG_FIELDNOCOLOR , 677b319d934SAlfonso S. Siciliano.Dv BSDDIALOG_FIELDCURSOREND , 67861ba55bcSBaptiste Daroussin.Dv BSDDIALOG_FIELDEXTEND , 679b319d934SAlfonso S. Siciliano.Dv BSDDIALOG_FIELDSINGLEBYTE . 680263660c0SAlfonso Siciliano.Fa bottomdesc 68161ba55bcSBaptiste Daroussinis printed at bottom screen if the item is focused. 682263660c0SAlfonso Siciliano.Pp 683263660c0SAlfonso Siciliano.Fn bsddialog_form 684263660c0SAlfonso Sicilianocan be customized by: 685263660c0SAlfonso Siciliano.Bl -column -compact 686263660c0SAlfonso Siciliano.It Fa conf.form.securech 687b319d934SAlfonso S. Sicilianocharachter to hide the input with 688263660c0SAlfonso Siciliano.Dv BSDDIALOG_FIELDHIDDEN . 689b319d934SAlfonso S. Siciliano.It Fa conf.form.securembch 690b319d934SAlfonso S. Sicilianomultibyte charachter to hide the input with 691b319d934SAlfonso S. Siciliano.Dv BSDDIALOG_FIELDHIDDEN , 692b319d934SAlfonso S. Siciliano.Fa conf.form.securech 693b319d934SAlfonso S. Sicilianois ignored. 694b319d934SAlfonso S. Siciliano.It Fa conf.form.value_wchar 695b319d934SAlfonso S. Sicilianothe allocated 696b319d934SAlfonso S. Siciliano.Fa value 697b319d934SAlfonso S. Sicilianois a 698b319d934SAlfonso S. Siciliano.Em wchar_t* 699b319d934SAlfonso S. Sicilianostring. 700263660c0SAlfonso Siciliano.El 701263660c0SAlfonso Siciliano.Pp 702263660c0SAlfonso Siciliano.Fn bsddialog_gauge 70361ba55bcSBaptiste Daroussinbuilds a dialog with a bar to show 70461ba55bcSBaptiste Daroussin.Fa perc . 70561ba55bcSBaptiste DaroussinIf the file descriptor 706263660c0SAlfonso Siciliano.Fa fd 707263660c0SAlfonso Sicilianois greater or equal to 0 the dialog waits to read 70861ba55bcSBaptiste Daroussin.Fa sep 709263660c0SAlfonso Sicilianofrom it, then the first string replaces 710263660c0SAlfonso Siciliano.Fa perc 711263660c0SAlfonso Sicilianoand the following strings replace 712263660c0SAlfonso Siciliano.Fa text 713263660c0SAlfonso Sicilianountil the next 71461ba55bcSBaptiste Daroussin.Fa sep , 715263660c0SAlfonso Sicilianothe loop ends reading 71661ba55bcSBaptiste Daroussin.Fa end . 71761ba55bcSBaptiste Daroussin.Pp 71861ba55bcSBaptiste Daroussin.Fn bsddialog_infobox 71961ba55bcSBaptiste Daroussinbuilds a dialog without buttons and returns instantly. 72061ba55bcSBaptiste Daroussin.Pp 72161ba55bcSBaptiste Daroussin.Fn bsddialog_menu 722*a6d8be45SAlfonso S. Sicilianobuilds a dialog to select an item from a list via SPACE and ENTER. 723*a6d8be45SAlfonso S. SicilianoAn item is defined like: 72461ba55bcSBaptiste Daroussin.Pp 72561ba55bcSBaptiste Daroussin.Bd -literal -offset indent -compact 72661ba55bcSBaptiste Daroussinstruct bsddialog_menuitem { 72761ba55bcSBaptiste Daroussin const char *prefix; 72861ba55bcSBaptiste Daroussin bool on; 72961ba55bcSBaptiste Daroussin unsigned int depth; 73061ba55bcSBaptiste Daroussin const char *name; 73161ba55bcSBaptiste Daroussin const char *desc; 73261ba55bcSBaptiste Daroussin const char *bottomdesc; 73361ba55bcSBaptiste Daroussin}; 73461ba55bcSBaptiste Daroussin.Ed 73561ba55bcSBaptiste Daroussin.Pp 73661ba55bcSBaptiste Daroussin.Fa prefix , 73761ba55bcSBaptiste Daroussin.Fa name 73861ba55bcSBaptiste Daroussinand 73961ba55bcSBaptiste Daroussin.Fa desc 74061ba55bcSBaptiste Daroussinare printed at the item row. 74161ba55bcSBaptiste Daroussin.Fa bottomdesc 74261ba55bcSBaptiste Daroussinis printed at bottom screen if the item is focused. 74361ba55bcSBaptiste Daroussin.Fa depth 74461ba55bcSBaptiste Daroussinis a margin between 74561ba55bcSBaptiste Daroussin.Fa prefix 74661ba55bcSBaptiste Daroussinand 74761ba55bcSBaptiste Daroussin.Fa name . 74861ba55bcSBaptiste DaroussinAt exit 74961ba55bcSBaptiste Daroussin.Fa on 75061ba55bcSBaptiste Daroussinis set to 75161ba55bcSBaptiste Daroussin.Dv true 75261ba55bcSBaptiste Daroussinif the item is selected, 75361ba55bcSBaptiste Daroussin.Dv false 75461ba55bcSBaptiste Daroussinotherwise. 75561ba55bcSBaptiste Daroussin.Fa items 75661ba55bcSBaptiste Daroussinis an array of items of 75761ba55bcSBaptiste Daroussin.Fa nitem 75861ba55bcSBaptiste Daroussinelements. 75961ba55bcSBaptiste Daroussin.Fa menurows 76061ba55bcSBaptiste Daroussinis the graphical height of the list inside the dialog, if 76161ba55bcSBaptiste Daroussin.Fa cols 76261ba55bcSBaptiste Daroussinis 76361ba55bcSBaptiste Daroussin.Dv BSDDIALOG_AUTOSIZE 76461ba55bcSBaptiste Daroussin.Fa menurows 76561ba55bcSBaptiste Daroussinspecifies a maximum value. 76661ba55bcSBaptiste Daroussinif not 76761ba55bcSBaptiste Daroussin.Dv NULL 76861ba55bcSBaptiste Daroussin.Fa focusitem 76961ba55bcSBaptiste Daroussinis the default item index on startup and the last focused item at exit, a 77061ba55bcSBaptiste Daroussinnegative value if no item is focused. 77161ba55bcSBaptiste Daroussin.Pp 77261ba55bcSBaptiste Daroussin.Fn bsddialog_checklist , 77361ba55bcSBaptiste Daroussin.Fn bsddialog_menu , 77461ba55bcSBaptiste Daroussin.Fn bsddialog_mixedlist 77561ba55bcSBaptiste Daroussinand 77661ba55bcSBaptiste Daroussin.Fn bsddialog_radiolist 77761ba55bcSBaptiste Daroussincan be customized by: 77861ba55bcSBaptiste Daroussin.Bl -column -compact 77961ba55bcSBaptiste Daroussin.It Fa conf.menu.align_left 78061ba55bcSBaptiste Daroussinalign items to left, default center. 78161ba55bcSBaptiste Daroussin.It Fa conf.menu.no_desc 78261ba55bcSBaptiste Daroussinhide items description. 78361ba55bcSBaptiste Daroussin.It Fa conf.menu.no_name 78461ba55bcSBaptiste Daroussinhide items name, mutually exclusive with 78561ba55bcSBaptiste Daroussin.Fa conf.menu.no_desc . 78661ba55bcSBaptiste Daroussin.It Fa conf.menu.shortcut_buttons 78761ba55bcSBaptiste Daroussinenable shortcut keys on buttons, default on items. 78861ba55bcSBaptiste Daroussin.El 789263660c0SAlfonso Siciliano.Pp 790263660c0SAlfonso Siciliano.Fn bsddialog_mixedgauge 79161ba55bcSBaptiste Daroussinbuilds a dialog with a main bar with the 792263660c0SAlfonso Siciliano.Fa mainperc 793263660c0SAlfonso Sicilianopercentage and 794263660c0SAlfonso Siciliano.Fa nminibars 795263660c0SAlfonso Sicilianoeach one with a 796263660c0SAlfonso Siciliano.Fa minilabel 797263660c0SAlfonso Sicilianoand a 79861ba55bcSBaptiste Daroussin.Fa miniperc . 799263660c0SAlfonso Siciliano.Fa miniperc 80061ba55bcSBaptiste Daroussincan be: a positive value to print a bar with a percentace, a negative constant 801263660c0SAlfonso Siciliano.Dv BSDDIALOG_MG_SUCCEEDED , 802263660c0SAlfonso Siciliano.Dv BSDDIALOG_MG_FAILED , 803263660c0SAlfonso Siciliano.Dv BSDDIALOG_MG_PASSED , 804263660c0SAlfonso Siciliano.Dv BSDDIALOG_MG_COMPLETED , 805263660c0SAlfonso Siciliano.Dv BSDDIALOG_MG_CHECKED , 806263660c0SAlfonso Siciliano.Dv BSDDIALOG_MG_DONE , 807263660c0SAlfonso Siciliano.Dv BSDDIALOG_MG_SKIPPED , 808263660c0SAlfonso Siciliano.Dv BSDDIALOG_MG_INPROGRESS , 80961ba55bcSBaptiste Daroussin.Dv BSDDIALOG_MG_BLANK 81061ba55bcSBaptiste Daroussinto hide 81161ba55bcSBaptiste Daroussin.Fa miniperc , 81261ba55bcSBaptiste Daroussin.Dv BSDDIALOG_MG_NA , 813263660c0SAlfonso Siciliano.Dv BSDDIALOG_MG_PENDING 81461ba55bcSBaptiste Daroussinto print a descriptive string, otherwise 81561ba55bcSBaptiste Daroussin.Dq "UNKNOWN" 81661ba55bcSBaptiste Daroussinis printed. 81761ba55bcSBaptiste Daroussin.Pp 81861ba55bcSBaptiste Daroussin.Fn bsddialog_mixedlist 81961ba55bcSBaptiste Daroussinbuilds a dialog with collections of checklists, radiolists and separators. 82061ba55bcSBaptiste DaroussinA collection is a set defined like: 82161ba55bcSBaptiste Daroussin.Pp 82261ba55bcSBaptiste Daroussin.Bd -literal -offset indent -compact 82361ba55bcSBaptiste Daroussinenum bsddialog_menutype { 82461ba55bcSBaptiste Daroussin BSDDIALOG_CHECKLIST, 82561ba55bcSBaptiste Daroussin BSDDIALOG_RADIOLIST, 82661ba55bcSBaptiste Daroussin BSDDIALOG_SEPARATOR, 82761ba55bcSBaptiste Daroussin}; 82861ba55bcSBaptiste Daroussin 82961ba55bcSBaptiste Daroussinstruct bsddialog_menugroup { 83061ba55bcSBaptiste Daroussin enum bsddialog_menutype type; 83161ba55bcSBaptiste Daroussin unsigned int nitems; 83261ba55bcSBaptiste Daroussin struct bsddialog_menuitem *items; 83361ba55bcSBaptiste Daroussin unsigned int min_on; /* unused for now */ 83461ba55bcSBaptiste Daroussin}; 83561ba55bcSBaptiste Daroussin.Ed 83661ba55bcSBaptiste Daroussin.Pp 83761ba55bcSBaptiste Daroussin.Fa groups 83861ba55bcSBaptiste Daroussinis an array of sets of 83961ba55bcSBaptiste Daroussin.Fa ngroups 84061ba55bcSBaptiste Daroussinelements. 84161ba55bcSBaptiste Daroussin.Fa menurows 84261ba55bcSBaptiste Daroussinis the graphical height size for the list. 84361ba55bcSBaptiste DaroussinIf not 84461ba55bcSBaptiste Daroussin.Dv NULL , 84561ba55bcSBaptiste Daroussin.Fa focuslist 84661ba55bcSBaptiste Daroussinand 84761ba55bcSBaptiste Daroussin.Fa focusitem 84861ba55bcSBaptiste Daroussinspecify the default item on startup and the last focused item at exit, could be 84961ba55bcSBaptiste Daroussina negative value if no item is focused. 85061ba55bcSBaptiste DaroussinThe dialog can be customized by 85161ba55bcSBaptiste Daroussin.Fa conf.menu.* , 85261ba55bcSBaptiste Daroussinsee 85361ba55bcSBaptiste Daroussin.Fn bsddialog_menu . 85461ba55bcSBaptiste Daroussin.Pp 85561ba55bcSBaptiste Daroussin.Fn bsddialog_msgbox 85661ba55bcSBaptiste Daroussinbuilds a dialog with OK button. 85761ba55bcSBaptiste Daroussin.Pp 85861ba55bcSBaptiste Daroussin.Fn bsddialog_pause 85961ba55bcSBaptiste Daroussinbuilds a dialog waiting until the timeout in 86061ba55bcSBaptiste Daroussin.Fa seconds 86161ba55bcSBaptiste Daroussinexpires or a button is pressed. 86261ba55bcSBaptiste DaroussinAt exit 86361ba55bcSBaptiste Daroussin.Fa seconds 86461ba55bcSBaptiste Daroussinis set like remaining time. 86561ba55bcSBaptiste Daroussin.Pp 86661ba55bcSBaptiste Daroussin.Fn bsddialog_radiolist 86761ba55bcSBaptiste Daroussinbuilds dialogs to select at most an item from a list via the SPACE key, can be 86861ba55bcSBaptiste Daroussincustomized by 86961ba55bcSBaptiste Daroussin.Fa conf.menu.* . 87061ba55bcSBaptiste DaroussinSee 87161ba55bcSBaptiste Daroussin.Fn bsddialog_menu . 872263660c0SAlfonso Siciliano.Pp 873263660c0SAlfonso Siciliano.Fn bsddialog_rangebox 874263660c0SAlfonso Sicilianoto select a value between 875263660c0SAlfonso Siciliano.Fa min 876263660c0SAlfonso Sicilianoand 877263660c0SAlfonso Siciliano.Fa max . 878263660c0SAlfonso Siciliano.Fa value 879263660c0SAlfonso Sicilianois the default value on startup and the selected value at exit. 880*a6d8be45SAlfonso S. SicilianoThe current value is printed inside a bar. 881263660c0SAlfonso Siciliano.Pp 882263660c0SAlfonso Siciliano.Fn bsddialog_textbox 883263660c0SAlfonso Sicilianoopens and prints 88461ba55bcSBaptiste Daroussin.Fa file . 885*a6d8be45SAlfonso S. SicilianoTAB key changes button. 886*a6d8be45SAlfonso S. SicilianoExtra keys 0, h, l, k, j are available to navigate the text. 88761ba55bcSBaptiste Daroussin.Dq OK 88861ba55bcSBaptiste Daroussinbutton is renamed 88961ba55bcSBaptiste Daroussin.Dq EXIT . 89061ba55bcSBaptiste Daroussin.Pp 89161ba55bcSBaptiste Daroussin.Fn bsddialog_timebox 89261ba55bcSBaptiste Daroussinbuilds a dialog to choose a time. 89361ba55bcSBaptiste Daroussin.Fa hh , 89461ba55bcSBaptiste Daroussin.Fa mm , 89561ba55bcSBaptiste Daroussinand 89661ba55bcSBaptiste Daroussin.Fa ss 89761ba55bcSBaptiste Daroussinare default values on startup, selected time at exit. 89861ba55bcSBaptiste Daroussin.Pp 89961ba55bcSBaptiste Daroussin.Fn bsddialog_yesno 90061ba55bcSBaptiste Daroussinprovides a dialog for a 90161ba55bcSBaptiste Daroussin.Dq Yes-No Question , 902*a6d8be45SAlfonso S. Sicilianothe labels on buttons are 903*a6d8be45SAlfonso S. Siciliano.Dq Yes 904*a6d8be45SAlfonso S. Sicilianoand 905*a6d8be45SAlfonso S. Siciliano.Dq No . 906*a6d8be45SAlfonso S. Siciliano.Ss Keys 907*a6d8be45SAlfonso S. Siciliano.Bl -tag -width Ds 908*a6d8be45SAlfonso S. Siciliano.It Ctrl-l 909*a6d8be45SAlfonso S. SicilianoRedraw the dialog. 910*a6d8be45SAlfonso S. Siciliano.It F1 911*a6d8be45SAlfonso S. SicilianoRefer to 912*a6d8be45SAlfonso S. Siciliano.Fa conf.key.f1_file 913*a6d8be45SAlfonso S. Sicilianoand 914*a6d8be45SAlfonso S. Siciliano.Fa conf.key.f1_message . 915*a6d8be45SAlfonso S. Siciliano.It SPACE 916*a6d8be45SAlfonso S. SicilianoSelect menu item. 917*a6d8be45SAlfonso S. Siciliano.It UP DOWN LEFT RIGHT - + HOME END PAGEUP PAGEDOWN Ctrl-p Ctrl-n TAB 918*a6d8be45SAlfonso S. SicilianoNavigate elements and set value, depending on the dialog. 919*a6d8be45SAlfonso S. Siciliano.El 920d93b4d32SBaptiste Daroussin.Ss Theme 92161ba55bcSBaptiste DaroussinThe graphical properties are global to the library. 92261ba55bcSBaptiste DaroussinThey are represented by 923263660c0SAlfonso Siciliano.Fa struct bsddialog_theme 924263660c0SAlfonso Sicilianoand can be customized at runtime via the 925263660c0SAlfonso Siciliano.In bsddialog_theme.h 926263660c0SAlfonso SicilianoAPI. 927d93b4d32SBaptiste Daroussin.Pp 928d93b4d32SBaptiste Daroussin.Bd -literal -offset indent -compact 929d93b4d32SBaptiste Daroussinstruct bsddialog_theme { 930d93b4d32SBaptiste Daroussin struct { 931d93b4d32SBaptiste Daroussin int color; 932263660c0SAlfonso Siciliano } screen; 933d93b4d32SBaptiste Daroussin struct { 934d93b4d32SBaptiste Daroussin int color; 935b319d934SAlfonso S. Siciliano unsigned int y; 936b319d934SAlfonso S. Siciliano unsigned int x; 937d93b4d32SBaptiste Daroussin } shadow; 938d93b4d32SBaptiste Daroussin struct { 939d93b4d32SBaptiste Daroussin int color; 940d93b4d32SBaptiste Daroussin bool delimtitle; 941d93b4d32SBaptiste Daroussin int titlecolor; 942d93b4d32SBaptiste Daroussin int lineraisecolor; 943d93b4d32SBaptiste Daroussin int linelowercolor; 944d93b4d32SBaptiste Daroussin int bottomtitlecolor; 945bce40c02SAlfonso S. Siciliano int arrowcolor; 946d93b4d32SBaptiste Daroussin } dialog; 947d93b4d32SBaptiste Daroussin struct { 94861ba55bcSBaptiste Daroussin int f_prefixcolor; 94961ba55bcSBaptiste Daroussin int prefixcolor; 950bce40c02SAlfonso S. Siciliano int f_selectorcolor; 951d93b4d32SBaptiste Daroussin int selectorcolor; 952d93b4d32SBaptiste Daroussin int f_namecolor; 953d93b4d32SBaptiste Daroussin int namecolor; 954d93b4d32SBaptiste Daroussin int f_desccolor; 955d93b4d32SBaptiste Daroussin int desccolor; 956d93b4d32SBaptiste Daroussin int f_shortcutcolor; 957d93b4d32SBaptiste Daroussin int shortcutcolor; 958b319d934SAlfonso S. Siciliano int bottomdesccolor; 95961ba55bcSBaptiste Daroussin int sepnamecolor; 96061ba55bcSBaptiste Daroussin int sepdesccolor; 961d93b4d32SBaptiste Daroussin } menu; 962d93b4d32SBaptiste Daroussin struct { 963d93b4d32SBaptiste Daroussin int f_fieldcolor; 964d93b4d32SBaptiste Daroussin int fieldcolor; 965d93b4d32SBaptiste Daroussin int readonlycolor; 966b319d934SAlfonso S. Siciliano int bottomdesccolor; 967d93b4d32SBaptiste Daroussin } form; 968d93b4d32SBaptiste Daroussin struct { 969d93b4d32SBaptiste Daroussin int f_color; 970d93b4d32SBaptiste Daroussin int color; 971d93b4d32SBaptiste Daroussin } bar; 972d93b4d32SBaptiste Daroussin struct { 973b319d934SAlfonso S. Siciliano unsigned int minmargin; 974b319d934SAlfonso S. Siciliano unsigned int maxmargin; 975b319d934SAlfonso S. Siciliano char leftdelim; 976b319d934SAlfonso S. Siciliano char rightdelim; 977d93b4d32SBaptiste Daroussin int f_delimcolor; 97861ba55bcSBaptiste Daroussin int delimcolor; 979d93b4d32SBaptiste Daroussin int f_color; 98061ba55bcSBaptiste Daroussin int color; 981d93b4d32SBaptiste Daroussin int f_shortcutcolor; 98261ba55bcSBaptiste Daroussin int shortcutcolor; 983d93b4d32SBaptiste Daroussin } button; 984d93b4d32SBaptiste Daroussin}; 985d93b4d32SBaptiste Daroussin.Ed 986d93b4d32SBaptiste Daroussin.Pp 987263660c0SAlfonso SicilianoA member with the 988263660c0SAlfonso Siciliano.Dq f_ 98961ba55bcSBaptiste Daroussinrefers to focus when an element can be in selected or not selected state. 990263660c0SAlfonso Siciliano.Pp 99161ba55bcSBaptiste Daroussin.Fn bsddialog_color 99261ba55bcSBaptiste Daroussingenerates and returns a color to set a 99361ba55bcSBaptiste Daroussin.Fa struct bsddialog_theme 99461ba55bcSBaptiste Daroussincolor member. 99561ba55bcSBaptiste DaroussinAn 99661ba55bcSBaptiste Daroussin.Fa enum bsddialog_color 99761ba55bcSBaptiste Daroussincan be: 998263660c0SAlfonso Siciliano.Dv BSDDIALOG_BLACK , 999263660c0SAlfonso Siciliano.Dv BSDDIALOG_RED , 1000263660c0SAlfonso Siciliano.Dv BSDDIALOG_GREEN , 1001263660c0SAlfonso Siciliano.Dv BSDDIALOG_YELLOW , 1002263660c0SAlfonso Siciliano.Dv BSDDIALOG_BLUE , 1003263660c0SAlfonso Siciliano.Dv BSDDIALOG_MAGENTA , 1004263660c0SAlfonso Siciliano.Dv BSDDIALOG_CYAN , 100561ba55bcSBaptiste Daroussin.Dv BSDDIALOG_WHITE . 1006263660c0SAlfonso Siciliano.Fa flags 100761ba55bcSBaptiste Daroussinis an OR value: 100861ba55bcSBaptiste Daroussin.Dv BSDDIALOG_BLINK , 1009263660c0SAlfonso Siciliano.Dv BSDDIALOG_BOLD , 101061ba55bcSBaptiste Daroussin.Dv BSDDIALOG_HALFBRIGHT , 101161ba55bcSBaptiste Daroussin.Dv BSDDIALOG_HIGHLIGHT , 101261ba55bcSBaptiste Daroussin.Dv BSDDIALOG_REVERSE , 1013263660c0SAlfonso Siciliano.Dv BSDDIALOG_UNDERLINE . 1014263660c0SAlfonso Siciliano.Pp 101561ba55bcSBaptiste Daroussin.Fn bsddialog_color_attrs 101661ba55bcSBaptiste Daroussinsets, if not NULL, 101761ba55bcSBaptiste Daroussin.Fa foreground , 101861ba55bcSBaptiste Daroussin.Fa background , 101961ba55bcSBaptiste Daroussin.Fa flags , 102061ba55bcSBaptiste Daroussinlike the properties of 102161ba55bcSBaptiste Daroussin.Fa color , 102261ba55bcSBaptiste Daroussinsee 102361ba55bcSBaptiste Daroussin.Fn bsddialog_color . 102461ba55bcSBaptiste Daroussin.Pp 102561ba55bcSBaptiste Daroussin.Fn bsddialog_get_theme 1026263660c0SAlfonso Sicilianosets 1027263660c0SAlfonso Siciliano.Fa theme 102861ba55bcSBaptiste Daroussinlike the current runtime theme. 1029b319d934SAlfonso S. Siciliano.Pp 1030b319d934SAlfonso S. Siciliano.Fn bsddialog_hascolors 1031b319d934SAlfonso S. Sicilianoreturns 1032b319d934SAlfonso S. Siciliano.Dv true 1033b319d934SAlfonso S. Sicilianoif the terminal provides colors, 1034b319d934SAlfonso S. Siciliano.Dv false 1035b319d934SAlfonso S. Sicilianootherwise. 103661ba55bcSBaptiste Daroussin.Pp 103761ba55bcSBaptiste Daroussin.Fn bsddialog_set_theme 103861ba55bcSBaptiste Daroussinsets 103961ba55bcSBaptiste Daroussin.Fa theme 104061ba55bcSBaptiste Daroussinlike current runtime theme. 104161ba55bcSBaptiste DaroussinChanges take effect only for dialogs built after 104261ba55bcSBaptiste Daroussinthe call. 104361ba55bcSBaptiste Daroussin.Pp 104461ba55bcSBaptiste Daroussin.Fn bsddialog_set_default_theme 104561ba55bcSBaptiste Daroussinsets a library default theme like current theme, possible values: 104661ba55bcSBaptiste Daroussin.Dv BSDDIALOG_THEME_BLACKWHITE , 104761ba55bcSBaptiste Daroussin.Dv BSDDIALOG_THEME_FLAT , 104861ba55bcSBaptiste Daroussin.Dv BSDDIALOG_THEME_3D . 104961ba55bcSBaptiste DaroussinChanges take effect only for dialogs built after the call. 1050d93b4d32SBaptiste Daroussin.Sh RETURN VALUES 1051263660c0SAlfonso SicilianoThe functions return the value 1052263660c0SAlfonso Siciliano.Dv BSDDIALOG_ERROR 1053263660c0SAlfonso Sicilianoif unsuccessful; 1054263660c0SAlfonso Sicilianootherwise, depending on the pressed button, the following values can be 1055263660c0SAlfonso Sicilianoreturned: 1056263660c0SAlfonso Siciliano.Dv BSDDIALOG_OK , 1057263660c0SAlfonso Siciliano.Dv BSDDIALOG_CANCEL , 1058263660c0SAlfonso Siciliano.Dv BSDDIALOG_HELP , 1059263660c0SAlfonso Siciliano.Dv BSDDIALOG_EXTRA , 106061ba55bcSBaptiste Daroussin.Dv BSDDIALOG_LEFT1 , 106161ba55bcSBaptiste Daroussin.Dv BSDDIALOG_LEFT2 , 106261ba55bcSBaptiste Daroussin.Dv BSDDIALOG_LEFT3 , 106361ba55bcSBaptiste Daroussin.Dv BSDDIALOG_RIGHT1 , 106461ba55bcSBaptiste Daroussin.Dv BSDDIALOG_RIGHT2 , 106561ba55bcSBaptiste Daroussin.Dv BSDDIALOG_RIGHT3 . 1066263660c0SAlfonso Siciliano.Dv BSDDIALOG_YES 1067263660c0SAlfonso Sicilianoand 1068263660c0SAlfonso Siciliano.Dv BSDDIALOG_NO 1069263660c0SAlfonso Sicilianoare aliases for 1070263660c0SAlfonso Siciliano.Dv BSDDIALOG_OK 1071263660c0SAlfonso Sicilianoand 1072263660c0SAlfonso Siciliano.Dv BSDDIALOG_CANCEL , 1073263660c0SAlfonso Sicilianorespectively. 1074263660c0SAlfonso Siciliano.Pp 1075263660c0SAlfonso SicilianoThe functions return 1076263660c0SAlfonso Siciliano.Dv BSDDIALOG_ESC 1077263660c0SAlfonso Sicilianoif 1078263660c0SAlfonso Siciliano.Fa conf.key.enable_esc 1079263660c0SAlfonso Sicilianois enabled and the ESC key is pressed. 1080263660c0SAlfonso Siciliano.Pp 1081263660c0SAlfonso Siciliano.Fn bsddialog_pause 1082263660c0SAlfonso Sicilianoreturns 1083263660c0SAlfonso Siciliano.Dv BSDDIALOG_TIMEOUT 1084263660c0SAlfonso Sicilianoif the timeout expires. 1085d93b4d32SBaptiste Daroussin.Sh EXAMPLES 1086263660c0SAlfonso Siciliano.Dq Yes-No Question 1087263660c0SAlfonso SicilianoExample: 1088d93b4d32SBaptiste Daroussin.Pp 1089d93b4d32SBaptiste Daroussin.Bd -literal -offset indent -compact 1090d93b4d32SBaptiste Daroussinint output; 1091d93b4d32SBaptiste Daroussinstruct bsddialog_conf conf; 1092d93b4d32SBaptiste Daroussin 1093d93b4d32SBaptiste Daroussinif (bsddialog_init() == BSDDIALOG_ERROR) 1094d93b4d32SBaptiste Daroussin return (1); 1095d93b4d32SBaptiste Daroussin 1096263660c0SAlfonso Sicilianobsddialog_initconf(&conf); 1097263660c0SAlfonso Sicilianoconf.title = "yesno"; 1098d93b4d32SBaptiste Daroussinoutput = bsddialog_yesno(&conf, "Example", 7, 25); 1099d93b4d32SBaptiste Daroussin 1100d93b4d32SBaptiste Daroussinbsddialog_end(); 1101d93b4d32SBaptiste Daroussin 1102d93b4d32SBaptiste Daroussinswitch (output) { 1103d93b4d32SBaptiste Daroussincase BSDDIALOG_YES: 1104263660c0SAlfonso Siciliano printf("Yes\\n"); 1105d93b4d32SBaptiste Daroussin break; 1106d93b4d32SBaptiste Daroussincase BSDDIALOG_NO 1107*a6d8be45SAlfonso S. Siciliano printf("No\\n"); 1108d93b4d32SBaptiste Daroussin break; 1109d93b4d32SBaptiste Daroussincase BSDDIALOG_ERROR: 1110d93b4d32SBaptiste Daroussin printf("Error: %s\\n", bsddialog_geterror()); 111161ba55bcSBaptiste Daroussin break; 1112d93b4d32SBaptiste Daroussin} 1113d93b4d32SBaptiste Daroussin.Ed 1114263660c0SAlfonso Siciliano.Pp 1115263660c0SAlfonso SicilianoTheme Example: 1116263660c0SAlfonso Siciliano.Pp 1117263660c0SAlfonso Siciliano.Bd -literal -offset indent -compact 1118263660c0SAlfonso Sicilianostruct bsddialog_conf conf; 1119263660c0SAlfonso Sicilianostruct bsddialog_theme theme; 1120263660c0SAlfonso Siciliano 1121bce40c02SAlfonso S. Sicilianobsddialog_init(); 1122263660c0SAlfonso Siciliano 1123263660c0SAlfonso Sicilianobsddialog_initconf(&conf); 1124263660c0SAlfonso Sicilianobsddialog_msgbox(&conf, "Default theme", 7, 25); 1125263660c0SAlfonso Siciliano 1126263660c0SAlfonso Sicilianobsddialog_get_theme(&theme); 1127263660c0SAlfonso Sicilianotheme.screen.color = bsddialog_color(BSDDIALOG_RED, BSDDIALOG_GREEN, 1128263660c0SAlfonso Siciliano BSDDIALOG_BOLD); 1129263660c0SAlfonso Sicilianobsddialog_set_theme(&theme); 1130263660c0SAlfonso Sicilianobsddialog_backtitle(&conf, "Red foreground and Green background"); 1131263660c0SAlfonso Sicilianobsddialog_msgbox(&conf, "Change screen color", 7, 25); 1132263660c0SAlfonso Siciliano 1133263660c0SAlfonso Sicilianobsddialog_set_default_theme(BSDDIALOG_THEME_BLACKWHITE); 1134263660c0SAlfonso Sicilianobsddialog_msgbox(&conf, "Black and White theme", 7, 25); 1135263660c0SAlfonso Siciliano 1136263660c0SAlfonso Sicilianobsddialog_end(); 1137263660c0SAlfonso Siciliano.Ed 1138263660c0SAlfonso Siciliano.Pp 1139263660c0SAlfonso SicilianoMixedlist Example: 1140263660c0SAlfonso Siciliano.Pp 1141263660c0SAlfonso Siciliano.Bd -literal -offset indent -compact 1142263660c0SAlfonso Sicilianounsigned int i, j; 1143263660c0SAlfonso Sicilianostruct bsddialog_conf conf; 1144263660c0SAlfonso Sicilianostruct bsddialog_menuitem item; 1145263660c0SAlfonso Sicilianostruct bsddialog_menuitem check[2] = { 1146263660c0SAlfonso Siciliano { "1", true, 0, "Name 1", "Desc 1", "Check Bottom Desc 1" }, 1147263660c0SAlfonso Siciliano { "2", false, 0, "Name 2", "Desc 2", "Check Bottom Desc 2" } 1148263660c0SAlfonso Siciliano}; 1149263660c0SAlfonso Sicilianostruct bsddialog_menuitem sep[1] = { 1150263660c0SAlfonso Siciliano { "3", true, 0, "Radiolist", "(desc)", "" } 1151263660c0SAlfonso Siciliano}; 115284823cc7SAlfonso S. Sicilianostruct bsddialog_menuitem radio[2] = { 1153263660c0SAlfonso Siciliano { "4", true, 0, "Name 1", "Desc 1", "Radio Bottom Desc 1" }, 1154263660c0SAlfonso Siciliano { "5", false, 0, "Name 2", "Desc 2", "Radio Bottom Desc 2" } 1155263660c0SAlfonso Siciliano}; 1156263660c0SAlfonso Sicilianostruct bsddialog_menugroup group[3] = { 1157263660c0SAlfonso Siciliano { BSDDIALOG_CHECKLIST, 2, check }, 1158263660c0SAlfonso Siciliano { BSDDIALOG_SEPARATOR, 1, sep }, 1159263660c0SAlfonso Siciliano { BSDDIALOG_RADIOLIST, 2, radio } 1160263660c0SAlfonso Siciliano}; 1161263660c0SAlfonso Siciliano 1162263660c0SAlfonso Sicilianobsddialog_init(); 1163263660c0SAlfonso Sicilianobsddialog_initconf(&conf); 1164263660c0SAlfonso Sicilianobsddialog_mixedlist(&conf, "Example", 20, 30, 11, 3, group, NULL, 1165263660c0SAlfonso Siciliano NULL); 1166263660c0SAlfonso Sicilianobsddialog_end(); 1167263660c0SAlfonso Siciliano 1168263660c0SAlfonso Sicilianofor (i = 0; i < 3; i++) { 1169263660c0SAlfonso Siciliano for (j = 0; j < group[i].nitems; j++) { 1170263660c0SAlfonso Siciliano item = group[i].items[j]; 1171263660c0SAlfonso Siciliano switch (item.type) { 1172263660c0SAlfonso Siciliano case BSDDIALOG_SEPARATOR: 1173263660c0SAlfonso Siciliano printf("---- %s ----\\n", item.name); 1174263660c0SAlfonso Siciliano break; 1175263660c0SAlfonso Siciliano case BSDDIALOG_RADIOLIST: 1176263660c0SAlfonso Siciliano printf(" (%c) %s\\n", 1177263660c0SAlfonso Siciliano item.on ? '*' : ' ', item.name); 1178263660c0SAlfonso Siciliano break; 1179263660c0SAlfonso Siciliano case BSDDIALOG_CHECKLIST: 1180263660c0SAlfonso Siciliano printf(" [%c] %s\\n", 1181263660c0SAlfonso Siciliano item.on ? 'X' : ' ', item.name); 1182263660c0SAlfonso Siciliano break; 1183263660c0SAlfonso Siciliano } 1184263660c0SAlfonso Siciliano } 1185263660c0SAlfonso Siciliano} 1186263660c0SAlfonso Siciliano.Ed 1187d93b4d32SBaptiste Daroussin.Sh SEE ALSO 1188263660c0SAlfonso Siciliano.Xr bsddialog 1 , 1189b319d934SAlfonso S. Siciliano.Xr curses 3 1190d93b4d32SBaptiste Daroussin.Sh HISTORY 1191d93b4d32SBaptiste DaroussinThe 1192d93b4d32SBaptiste Daroussin.Nm bsddialog 1193d93b4d32SBaptiste Daroussinlibrary first appeared in 1194d93b4d32SBaptiste Daroussin.Fx 14.0 . 1195d93b4d32SBaptiste Daroussin.Sh AUTHORS 1196d93b4d32SBaptiste Daroussin.Nm bsddialog 1197d93b4d32SBaptiste Daroussinwas written by 1198b319d934SAlfonso S. Siciliano.An Alfonso Sabato Siciliano Aq Mt asiciliano@FreeBSD.org . 1199