1*f2d966f6SAlfonso S. Siciliano2025-08-15 Version 1.1 2*f2d966f6SAlfonso S. Siciliano 3*f2d966f6SAlfonso S. Siciliano Library: 4*f2d966f6SAlfonso S. Siciliano * add: bsddialog_slider(). 5*f2d966f6SAlfonso S. Siciliano Thanks to https://gitlab.com/alfix/bsddialog/-/merge_requests/7 6*f2d966f6SAlfonso S. Siciliano 7*f2d966f6SAlfonso S. Siciliano Utility: 8*f2d966f6SAlfonso S. Siciliano * add: --slider dialog. 9*f2d966f6SAlfonso S. Siciliano Thanks to https://gitlab.com/alfix/bsddialog/-/merge_requests/7 10*f2d966f6SAlfonso S. Siciliano 113e42d719SAlfonso S. Siciliano2025-06-22 Version 1.0.5 123e42d719SAlfonso S. Siciliano 133e42d719SAlfonso S. Siciliano Manual: 143e42d719SAlfonso S. Siciliano * fix: "User-friendly documentation for alternate screen" 153e42d719SAlfonso S. Siciliano https://bugs.freebsd.org/285459. 163e42d719SAlfonso S. Siciliano Improve bsddialog.1: --alternate-screen and --normal-screen. 173e42d719SAlfonso S. Siciliano 183e42d719SAlfonso S. Siciliano NetBSD (tested on amd64) refactoring, no function changes: 193e42d719SAlfonso S. Siciliano * https://gitlab.com/alfix/bsddialog/-/merge_requests/4 203e42d719SAlfonso S. Siciliano lib: include <stdarg.h> in lib_util.c. 213e42d719SAlfonso S. Siciliano * https://gitlab.com/alfix/bsddialog/-/merge_requests/5 223e42d719SAlfonso S. Siciliano a call to curses' refresh() is performed, while a local 233e42d719SAlfonso S. Siciliano variable is also called refresh. 243e42d719SAlfonso S. Siciliano * Makefiles: add install and uninstall targets (both GND and BSD) 253e42d719SAlfonso S. Siciliano https://gitlab.com/alfix/bsddialog/-/merge_requests/3 263e42d719SAlfonso S. Siciliano 273e42d719SAlfonso S. Siciliano MacOS (tested on amd64) refactoring, no function changes: 283e42d719SAlfonso S. Siciliano * https://gitlab.com/alfix/bsddialog/-/merge_requests/6 293e42d719SAlfonso S. Siciliano utility: replace u_int with unsigned int. 303e42d719SAlfonso S. Siciliano 313e42d719SAlfonso S. Siciliano Library: 323e42d719SAlfonso S. Siciliano * fix: useless refreshes, https://gitlab.com/alfix/bsddialog/-/issues/8: 333e42d719SAlfonso S. Siciliano "It takes lot of time when running over a 115200 UART". 343e42d719SAlfonso S. Siciliano Not fixed for bsddialog_gauge() because it has to be rewritten. 353e42d719SAlfonso S. Siciliano * change: bsddialog_backtitle() does not update the screen so the 363e42d719SAlfonso S. Siciliano backtitle is not printed. To use if a dialog is built later. 373e42d719SAlfonso S. Siciliano Rationale: see "115200 UART" problem above. 383e42d719SAlfonso S. Siciliano * add: bsddialog_backtitle_rf() to print a top title refreshing the 393e42d719SAlfonso S. Siciliano screen like bsddialog_backtitle() was previously. 403e42d719SAlfonso S. Siciliano * change: forms, ENTER is also a navigation keys in forms fields. 413e42d719SAlfonso S. Siciliano Request: https://bugs.freebsd.org/287592 423e42d719SAlfonso S. Siciliano If conf.button.always_active is true the form is closes immediatly. 433e42d719SAlfonso S. Siciliano 443e42d719SAlfonso S. Siciliano Library and implicitly utility: 453e42d719SAlfonso S. Siciliano * fix: textbox buttons returned values (was always OK). 463e42d719SAlfonso S. Siciliano Thanks to https://reviews.freebsd.org/D48668. 473e42d719SAlfonso S. Siciliano * change: TAB is a navigation keys in forms. Previously it directly 483e42d719SAlfonso S. Siciliano switched form-fields <-> buttons. 493e42d719SAlfonso S. Siciliano Request: https://bugs.freebsd.org/287592 503e42d719SAlfonso S. Siciliano 513e42d719SAlfonso S. Siciliano Utility: 523e42d719SAlfonso S. Siciliano * change: forms, ENTER is a also navigation keys in forms fields. 533e42d719SAlfonso S. Siciliano Previously it directly closed the form except with --switch-buttons 543e42d719SAlfonso S. Siciliano Request: https://bugs.freebsd.org/287592 553e42d719SAlfonso S. Siciliano 563e42d719SAlfonso S. Siciliano 573e42d719SAlfonso S. Siciliano2024-07-01 Version 1.0.4 58d4ca0015SKyle Evans 59d4ca0015SKyle Evans Utility internal refactoring (no functional change): 60d4ca0015SKyle Evans * change: rename an internal constant to avoid a future conflict 61d4ca0015SKyle Evans because FreeBSD is changing headers files for _FORTIFY_SOURCE. 62d4ca0015SKyle Evans Reported and fixed by Kyle Evans. 63d4ca0015SKyle Evans 643e42d719SAlfonso S. Siciliano2024-05-27 Version 1.0.3 65079f6054SAlfonso S. Siciliano 66079f6054SAlfonso S. Siciliano Utility: 67079f6054SAlfonso S. Siciliano change: --form and --mixedform do not print field value to output fd if 68079f6054SAlfonso S. Siciliano <fieldlen> is <= 0 (readonly). To note --mixedgauge continues 69079f6054SAlfonso S. Siciliano to print field value if <flag> = 2 (readonly) unless <fieldlen> 70079f6054SAlfonso S. Siciliano is <= 0 (as described previously). 71079f6054SAlfonso S. Siciliano 72079f6054SAlfonso S. Siciliano 73a6d8be45SAlfonso S. Siciliano2024-04-11 Version 1.0.2 74a6d8be45SAlfonso S. Siciliano 75a6d8be45SAlfonso S. Siciliano Utility: 76a6d8be45SAlfonso S. Siciliano improvements and changes for --form and --mixedform: 77a6d8be45SAlfonso S. Siciliano * add: <maxletters> 0 sets <maxletters> like <fieldlen>. 78a6d8be45SAlfonso S. Siciliano * add: <fieldlen> 0 sets <fieldlen> like <init> width and readonly. 79a6d8be45SAlfonso S. Siciliano * change: <maxletters> 0 was an error (remains error in lib). 80a6d8be45SAlfonso S. Siciliano * change: <fieldlen> 0 was an error (remains error in lib) 81a6d8be45SAlfonso S. Siciliano (<fieldlen> 0 and <init> "" is still an error.). 82a6d8be45SAlfonso S. Siciliano 83a6d8be45SAlfonso S. Siciliano Library and implicitly utility: 84a6d8be45SAlfonso S. Siciliano * add: Ctrl-l to redraw dialog. 85a6d8be45SAlfonso S. Siciliano Request stable@freebsd.org January 2024. 86a6d8be45SAlfonso S. Siciliano * add: -, +, Ctrl-p, Ctrl-n for several dialogs. 87a6d8be45SAlfonso S. Siciliano +, - request for menus, private feature request. 88a6d8be45SAlfonso S. Siciliano Ctrl-p, Ctrl-n for menu, request hackers@freebsd.org February 2024. 89a6d8be45SAlfonso S. Siciliano * fix: escaped text ending with an escape symbol. 90a6d8be45SAlfonso S. Siciliano * change: truncate mixedgauge long (over the screen/minibars) 91a6d8be45SAlfonso S. Siciliano minilabels adding "...". As a result, avoid check-size error. 92a6d8be45SAlfonso S. Siciliano https://gitlab.com/alfix/bsddialog/-/issues/6. 93a6d8be45SAlfonso S. Siciliano * change: invert UP/DOWN keys to set a rangebox value. 94a6d8be45SAlfonso S. Siciliano 95a6d8be45SAlfonso S. Siciliano 96a6d8be45SAlfonso S. Siciliano2023-11-16 Version 1.0.1 97a6d8be45SAlfonso S. Siciliano 98a6d8be45SAlfonso S. Siciliano Library Internal Refactoring: 99a6d8be45SAlfonso S. Siciliano * add: arrow macro handlers. 100a6d8be45SAlfonso S. Siciliano * change: Box-drawing characters, from utf8 to wide chars to avoid to 101a6d8be45SAlfonso S. Siciliano handle "env NCURSES_NO_UTF8_ACS=1". 102a6d8be45SAlfonso S. Siciliano Request https://bugs.freebsd.org/274472, 103a6d8be45SAlfonso S. Siciliano Rationale https://reviews.freebsd.org/D42380. 104a6d8be45SAlfonso S. Siciliano 10561ba55bcSBaptiste Daroussin2023-08-01 Version 1.0 10661ba55bcSBaptiste Daroussin 10761ba55bcSBaptiste Daroussin Utility: 10861ba55bcSBaptiste Daroussin * add: comments to --save-theme output file. 10961ba55bcSBaptiste Daroussin * add: blink, halfbright, highlight to --save-theme and --load-theme. 11061ba55bcSBaptiste Daroussin * add: theme.menu.[f_]prefixcolor to --save-theme and --load-theme. 11161ba55bcSBaptiste Daroussin * add: --datebox-format <d/m/y|m/d/y|y/m/d> to set --datebox UI. 11261ba55bcSBaptiste Daroussin * add: --help-print-items (--help-status becomes alias). 11361ba55bcSBaptiste Daroussin * add: --text-escape (--colors becomes alias). 11461ba55bcSBaptiste Daroussin * add: new escapes \Zd, \Zk, \Zs, \ZD, \ZK, \ZS, for --text-escape. 11561ba55bcSBaptiste Daroussin * add: env NO_COLOR, to set blackwhite theme. 11661ba55bcSBaptiste Daroussin * add: $HOME/.bsddialog.conf startup theme file. 11761ba55bcSBaptiste Daroussin * add: env BSDDIALOG_THEMEFILE startup theme file. 11861ba55bcSBaptiste Daroussin * add: --left1-button <label>. 11961ba55bcSBaptiste Daroussin * add: --left2-button <label>. 12061ba55bcSBaptiste Daroussin * add: --left3-button <label>. 12161ba55bcSBaptiste Daroussin * add: --right1-button <label>. 12261ba55bcSBaptiste Daroussin * add: --right2-button <label>. 12361ba55bcSBaptiste Daroussin * add: --right3-button <label>. 12461ba55bcSBaptiste Daroussin * add: dynamic exit codes. 12561ba55bcSBaptiste Daroussin - add: --error-exit-code. 12661ba55bcSBaptiste Daroussin - add: --ok-exit-code. 12761ba55bcSBaptiste Daroussin - add: --cancel-exit-code. 12861ba55bcSBaptiste Daroussin - add: --help-exit-code. 12961ba55bcSBaptiste Daroussin - add: --extra-exit-code. 13061ba55bcSBaptiste Daroussin - add: --timeout-exit-code. 13161ba55bcSBaptiste Daroussin - add: --esc-exit-code. 13261ba55bcSBaptiste Daroussin - add: --left1-exit-code. 13361ba55bcSBaptiste Daroussin - add: --left2-exit-code. 13461ba55bcSBaptiste Daroussin - add: --left3-exit-code. 13561ba55bcSBaptiste Daroussin - add: --right1-exit-code. 13661ba55bcSBaptiste Daroussin - add: --right2-exit-code. 13761ba55bcSBaptiste Daroussin - add: --right3-exit-code. 13861ba55bcSBaptiste Daroussin - add: env BSDDIALOG_ERROR. 13961ba55bcSBaptiste Daroussin - add: env BSDDIALOG_OK. 14061ba55bcSBaptiste Daroussin - add: env BSDDIALOG_CANCEL. 14161ba55bcSBaptiste Daroussin - add: env BSDDIALOG_HELP. 14261ba55bcSBaptiste Daroussin - add: env BSDDIALOG_EXTRA. 14361ba55bcSBaptiste Daroussin - add: env BSDDIALOG_TIMEOUT. 14461ba55bcSBaptiste Daroussin - add: env BSDDIALOG_ESC. 14561ba55bcSBaptiste Daroussin - add: env BSDDIALOG_LEFT1. 14661ba55bcSBaptiste Daroussin - add: env BSDDIALOG_LEFT2. 14761ba55bcSBaptiste Daroussin - add: env BSDDIALOG_LEFT3. 14861ba55bcSBaptiste Daroussin - add: env BSDDIALOG_RIGHT1. 14961ba55bcSBaptiste Daroussin - add: env BSDDIALOG_RIGHT2. 15061ba55bcSBaptiste Daroussin - add: env BSDDIALOG_RIGHT3. 15161ba55bcSBaptiste Daroussin * add: undocumented envs for bsdconfig(8) compatibility. 15261ba55bcSBaptiste Daroussin - env BSDDIALOG_COMPATRC for use_shadow setting. 15361ba55bcSBaptiste Daroussin - env BSDDIALOG_ITEM_HELP to add/set exit code. 15461ba55bcSBaptiste Daroussin * change: rename themes --theme <3d|blackwhite|flat>. 15561ba55bcSBaptiste Daroussin * change: --no-names and --no-descriptions mutually exclusive (via lia). 15661ba55bcSBaptiste Daroussin * change: quote only checklist output items if necessary. Previously 15761ba55bcSBaptiste Daroussin also radiolist item. 15861ba55bcSBaptiste Daroussin * change: dialogs with user input print always values except with ERROR, 15961ba55bcSBaptiste Daroussin ESC, Cancel. Previously the situation was quite heterogeneous. 16061ba55bcSBaptiste Daroussin * improve: DIAGNOSTIC messages adding fmt string errors. 16161ba55bcSBaptiste Daroussin * improve: disable theme setting (opt and env) with no-color terminals. 16261ba55bcSBaptiste Daroussin * improve: menus on|off status (strcasecmp, diagnostic, real off check). 16361ba55bcSBaptiste Daroussin * improve: --bikeshed with button delimiter and --date-format. 16461ba55bcSBaptiste Daroussin * improve: --textbox accepts button options. 16561ba55bcSBaptiste Daroussin * improve: Forms with Help button. 16661ba55bcSBaptiste Daroussin - print "HELP" (like menus). 16761ba55bcSBaptiste Daroussin - accept --help-list-items. 16861ba55bcSBaptiste Daroussin - accept --help-print-name. 16961ba55bcSBaptiste Daroussin * fix: --load-theme attributes. 17061ba55bcSBaptiste Daroussin * fix: --clear-screen with --and-dialog. 17161ba55bcSBaptiste Daroussin * delete: --theme <bsddialog> (partially implemented). 17261ba55bcSBaptiste Daroussin * delete: --esc-return-cancel (replaced by new env and option). 17361ba55bcSBaptiste Daroussin * delete: --generic-button1 (replaced by --right1-button). 17461ba55bcSBaptiste Daroussin * delete: --generic-button2 (replaced by --right2-button). 17561ba55bcSBaptiste Daroussin * refactor: modularize in more files (main, cli, builders, theme). 17661ba55bcSBaptiste Daroussin 17761ba55bcSBaptiste Daroussin Library: 17861ba55bcSBaptiste Daroussin * add: bsddialog_inmode(). 17961ba55bcSBaptiste Daroussin * add: bsddialog_clear(y) for utility --clear-screen. 18061ba55bcSBaptiste Daroussin * add: bsddialog_refresh() for utility terminal mode options. 18161ba55bcSBaptiste Daroussin * add: conf.date.format="d/m/y"|"m/d/y"|"y/m/d" to customize 18261ba55bcSBaptiste Daroussin bsddialog_datebox() UI (boxes) with a date format. 18361ba55bcSBaptiste Daroussin * add: 'const char *end' to bsddialog_gauge(). 18461ba55bcSBaptiste Daroussin * add: draw focus on the shortcut-key-selected button at exit. 18561ba55bcSBaptiste Daroussin * add: escapes for conf.text.highlight \Zd, \Zk, \Zs, \ZD, \ZK, \ZS. 18661ba55bcSBaptiste Daroussin * add: other theme flags. 18761ba55bcSBaptiste Daroussin - BSDDIALOG_BLINK. 18861ba55bcSBaptiste Daroussin - BSDDIALOG_HALFBRIGHT. 18961ba55bcSBaptiste Daroussin - BSDDIALOG_HIGHLIGHT. 19061ba55bcSBaptiste Daroussin * add: generic buttons. 19161ba55bcSBaptiste Daroussin - conf.button.left1_label, BSDDIALOG_LEFT1 return value. 19261ba55bcSBaptiste Daroussin - conf.button.left2_label, BSDDIALOG_LEFT2 return value. 19361ba55bcSBaptiste Daroussin - conf.button.left3_label, BSDDIALOG_LEFT3 return value. 19461ba55bcSBaptiste Daroussin - conf.button.right1.label, BSDDIALOG_RIGHT1 return value. 19561ba55bcSBaptiste Daroussin - conf.button.right2.label, BSDDIALOG_RIGHT2 return value. 19661ba55bcSBaptiste Daroussin - conf.button.right3.label, BSDDIALOG_RIGHT3 return value. 19761ba55bcSBaptiste Daroussin * add: unused bsddialog_menugroup.min_on for future features. 19861ba55bcSBaptiste Daroussin * add: theme.menu.f_prefixcolor and theme.menu.prefixcolor. 19961ba55bcSBaptiste Daroussin * improve: check (when possible) API pointers. 20061ba55bcSBaptiste Daroussin * improve: circolar buttons with left and right keys for msgbox, yesno, 20161ba55bcSBaptiste Daroussin menus, rangebox and pause. 20261ba55bcSBaptiste Daroussin * improve: bsddialog_textbox() handles conf.buttons. 20361ba55bcSBaptiste Daroussin * improve: bsddialog_datebox() a box change affects the others as well. 20461ba55bcSBaptiste Daroussin * improve: bsddialog_geterror() with fmt strings. 20561ba55bcSBaptiste Daroussin * change: API NULL strings handled like "", except gauge *sep and *end. 20661ba55bcSBaptiste Daroussin * change: menus and form less restrictive with text, hide text with 20761ba55bcSBaptiste Daroussin little screens (same behavior as other dialogs). 20861ba55bcSBaptiste Daroussin * change: mixedgauge BSDDIALOG_MG_BLANK does not draw minibar but prints 20961ba55bcSBaptiste Daroussin minilabel. The change allows mixedgauge to add sections. To restore 21061ba55bcSBaptiste Daroussin the previous behavior setting minilabel to "". 21161ba55bcSBaptiste Daroussin * change: check/set bsddialog_gauge() perc max 100. 21261ba55bcSBaptiste Daroussin * change: check/set bsddialog_mixedgauge() mainperc max 100. 21361ba55bcSBaptiste Daroussin * change: conf.menu.no_name and conf.menu.no_desc mutually exclusive. 21461ba55bcSBaptiste Daroussin * change: bsddialog_pause() sec -> *sec to know remaining time at exit. 21561ba55bcSBaptiste Daroussin * change: add *focusitem to bsddialog_form() like menus. 21661ba55bcSBaptiste Daroussin * change: "pointer" values are always set except when BSDDIALOG_ERROR 21761ba55bcSBaptiste Daroussin occurs. Examples *yy/*mm/*ss, rangebox *value. 21861ba55bcSBaptiste Daroussin - delete conf.menu.on_without_ok. 21961ba55bcSBaptiste Daroussin - delete conf.form.value_without_ok. 22061ba55bcSBaptiste Daroussin * rename: conf.text.highlight -> conf.text.escape. 22161ba55bcSBaptiste Daroussin * rename: theme.menu.namesepcolor -> theme.menu.sepnamecolor. 22261ba55bcSBaptiste Daroussin * rename: theme.menu.descsepcolor -> theme.menu.sepdesccolor. 22361ba55bcSBaptiste Daroussin * fix: bsddialog_pause() elevation bar after resize. 22461ba55bcSBaptiste Daroussin * fix: bsddialog_textbox() key '0'. 22561ba55bcSBaptiste Daroussin * fix: timebox.c checksize (boxes width). 22661ba55bcSBaptiste Daroussin * fix: extend menurows after shrink and enlarge. 22761ba55bcSBaptiste Daroussin * fix: menu pad and form pad "re-expansion" after shrink and enlarge. 22861ba55bcSBaptiste Daroussin * fix: shadow top-left corner (trick wresize() before wmove()). 22961ba55bcSBaptiste Daroussin * fix: increment bsddialog_total_progview size for more general use. 23061ba55bcSBaptiste Daroussin * delete: BSDDIALOG_THEME_BSDDIALOG (partially implemented). 23161ba55bcSBaptiste Daroussin * delete: conf.button.generic1_label (for new conf.button.right1_label). 23261ba55bcSBaptiste Daroussin * delete: BSDDIALOG_GENERIC1 return value (new BSDDIALOG_RIGHT1). 23361ba55bcSBaptiste Daroussin * delete: conf.button.generic2_label (for new conf.button.right2_label). 23461ba55bcSBaptiste Daroussin * delete: BSDDIALOG_GENERIC2 return value (new BSDDIALOG_RIGHT2). 23561ba55bcSBaptiste Daroussin * delete: bsddialog_clearterminal(), replaced by bsddialog_clear(y). 23661ba55bcSBaptiste Daroussin * refactor: internal implementation. 23761ba55bcSBaptiste Daroussin - add: internal structures to represent components. 23861ba55bcSBaptiste Daroussin - merge: (when possible) dialogs autosize. 23961ba55bcSBaptiste Daroussin - merge: (when possible) dialogs checksize. 24061ba55bcSBaptiste Daroussin - merge: for each dialog "build" with "update" -> <dialog>_redraw(). 24161ba55bcSBaptiste Daroussin - merge: new_dialog() with update_dialog() -> draw_dialog(). 24261ba55bcSBaptiste Daroussin - merge: infobox.c with messagebox.c (delete infobox.c) 24361ba55bcSBaptiste Daroussin - merge: bsddialog_datebox() + bsddialog_calendar() -> datebox.c 24461ba55bcSBaptiste Daroussin - change: flat and blackwhite real themes, 3d adapted from flat. 24561ba55bcSBaptiste Daroussin - improve: replace wrefresh() -> wnoutrefresh()/doupdate(). 24661ba55bcSBaptiste Daroussin - improve: replace prefresh() -> pnoutrefresh()/doupdate(). 24761ba55bcSBaptiste Daroussin - improve: menu split code to build private items. 24861ba55bcSBaptiste Daroussin - improve: form split code to build private items. 24961ba55bcSBaptiste Daroussin - delete: -Wno-implicit-fallthrough. 25061ba55bcSBaptiste Daroussin 25161ba55bcSBaptiste Daroussin 25261ba55bcSBaptiste Daroussin2023-06-12 Version 0.4.2 25361ba55bcSBaptiste Daroussin 25461ba55bcSBaptiste Daroussin Library: 25561ba55bcSBaptiste Daroussin * fix: compile error with aarch64-gcc12 for "\Z[0-7]" check; 25661ba55bcSBaptiste Daroussin https://gitlab.com/alfix/bsddialog/-/issues/5. 25761ba55bcSBaptiste Daroussin * fix: BSDDIALOG_FIELDCURSOREND with multiple items 25861ba55bcSBaptiste Daroussin (warning aarch64-gcc12). 25961ba55bcSBaptiste Daroussin 26061ba55bcSBaptiste Daroussin 26161ba55bcSBaptiste Daroussin2023-01-02 Version 0.4.1 26261ba55bcSBaptiste Daroussin 26361ba55bcSBaptiste Daroussin Utility: 26461ba55bcSBaptiste Daroussin * fix: default space separator menus output, except if --separator " ". 26561ba55bcSBaptiste Daroussin * rename: GNUMakefile to GNUmakefile to simplify linux build. 26661ba55bcSBaptiste Daroussin Thanks to https://gitlab.com/alfix/bsddialog/-/merge_requests/2. 26761ba55bcSBaptiste Daroussin 26861ba55bcSBaptiste Daroussin Library: 26961ba55bcSBaptiste Daroussin * fix: t.dialog.linelowercolor no bold-black, some terminal draws grey. 27061ba55bcSBaptiste Daroussin * fix: text wrapping (actual string length) with --colors. 27161ba55bcSBaptiste Daroussin * rename: GNUMakefile to GNUmakefile to simplify linux build. 27261ba55bcSBaptiste Daroussin Thanks to https://gitlab.com/alfix/bsddialog/-/merge_requests/2. 27361ba55bcSBaptiste Daroussin 27461ba55bcSBaptiste Daroussin 27584823cc7SAlfonso S. Siciliano2022-09-24 Version 0.4 27684823cc7SAlfonso S. Siciliano 27784823cc7SAlfonso S. Siciliano Utility: 27884823cc7SAlfonso S. Siciliano * add: --normal-screen to set normal mode. 27984823cc7SAlfonso S. Siciliano * add: --alternate-screen to set alternate mode. 28084823cc7SAlfonso S. Siciliano * add: --keep-tite as --alternate-screen alias. 28184823cc7SAlfonso S. Siciliano * add: --and-dialog to build other dialogs. 28284823cc7SAlfonso S. Siciliano * add: --and-widget as --and-dialog alias. 28361ba55bcSBaptiste Daroussin * add: --no-names (--no-tags becomes alias). 28461ba55bcSBaptiste Daroussin * add: --no-descriptions (--no-items becomes alias). 28561ba55bcSBaptiste Daroussin * add: --help-print-name (--help-tags becomes alias). 28661ba55bcSBaptiste Daroussin * add: --item-bottom-desc (--item-help becomes alias). 28784823cc7SAlfonso S. Siciliano * add: --cr-wrap (was partially implemented) to keep '\n' with "\n". 28884823cc7SAlfonso S. Siciliano * add: --text-unchanged to avoid default modification. 28961ba55bcSBaptiste Daroussin * add: --tab-escape to enable "\t" in text. 29084823cc7SAlfonso S. Siciliano * add: --clear-screen to clear the screen. 29184823cc7SAlfonso S. Siciliano * add: --clear-dialog to clear the dialog (was --clear). 29284823cc7SAlfonso S. Siciliano * add: --calendar dialog to select a date. 29384823cc7SAlfonso S. Siciliano * add: DIAGNOSTICS messages for bad arguments number. 29484823cc7SAlfonso S. Siciliano * add: DIAGNOSTICS messages for missing and unexpected options. 29561ba55bcSBaptiste Daroussin * change: --clear becomes alias for --clear-screen. 29684823cc7SAlfonso S. Siciliano * change: --print-maxsize format output. 29784823cc7SAlfonso S. Siciliano * change: --menu, --radiolist, --checklist and --treeview output. 29884823cc7SAlfonso S. Siciliano - no printed items with Cancel or ESC. 29984823cc7SAlfonso S. Siciliano - --separator prints <sepstr> before each item except HELP. 30084823cc7SAlfonso S. Siciliano - --separator and --separate-output print <sepstr> after each item. 30184823cc7SAlfonso S. Siciliano - quoted item name/desc only when needed. 30284823cc7SAlfonso S. Siciliano - --menu avoids to print selected item after focused HELP item. 30384823cc7SAlfonso S. Siciliano * change: text default modification. 30484823cc7SAlfonso S. Siciliano - without a "\n": '\t' -> space, '\n' -> '\n', trim spaces. 30584823cc7SAlfonso S. Siciliano - with a "\n": '\t' -> space, '\n' -> space, "\n" -> '\n', no trim. 30684823cc7SAlfonso S. Siciliano - delete '\n' after "\n" (also with --cr-wrap). 30784823cc7SAlfonso S. Siciliano * change: --datebox input and output format yy/mm/dd -> dd/mm/yy. 30884823cc7SAlfonso S. Siciliano * delete: --no-collapse (partially implemented). 30984823cc7SAlfonso S. Siciliano * delete: --no-nl-expand (partially implemented). 31084823cc7SAlfonso S. Siciliano * delete: --trim (partially implemented). 31184823cc7SAlfonso S. Siciliano 31284823cc7SAlfonso S. Siciliano Library: 31384823cc7SAlfonso S. Siciliano * add: bsddialog_msgbox() HOME, END, PPAGE and NPAGE keys. 31484823cc7SAlfonso S. Siciliano * add: bsddialog_yesno() HOME, END, PPAGE and NPAGE keys. 31584823cc7SAlfonso S. Siciliano * add: bsddialog_menu() SPACE key (equivalent to ENTER). 31684823cc7SAlfonso S. Siciliano * add: bsddialog_calendar() to select a date. 31784823cc7SAlfonso S. Siciliano * change: rename enum bsddialog_grouptype -> enum bsddialog_menutype. 31861ba55bcSBaptiste Daroussin * change: fixed-menurows becomes at most menurows (depending on text). 31961ba55bcSBaptiste Daroussin * change: fixed-rows becomes at most rows, min(rows, screenH - shadow). 32061ba55bcSBaptiste Daroussin * change: fixed-cols becomes at most cols, min(cols, screenW - shadow). 32184823cc7SAlfonso S. Siciliano * delete: undocumented internal bsddialog_menuitem.depth factor (was 2). 32284823cc7SAlfonso S. Siciliano 32384823cc7SAlfonso S. Siciliano 324b319d934SAlfonso S. Siciliano2022-08-29 Version 0.3 325b319d934SAlfonso S. Siciliano 326b319d934SAlfonso S. Siciliano Utility: 327b319d934SAlfonso S. Siciliano * add: --textbox accepts options for the first button. 32884823cc7SAlfonso S. Siciliano * add: --columns-per-row for text autosizing. 32984823cc7SAlfonso S. Siciliano * add: --load-theme to read and set a custom theme at runtime. 33084823cc7SAlfonso S. Siciliano * add: --save-theme to save current theme. 33184823cc7SAlfonso S. Siciliano * add: --bikeshed for random settings. 33261ba55bcSBaptiste Daroussin * add: --switch-buttons to enable buttons/input widgets focus switching. 33361ba55bcSBaptiste Daroussin Available for: --form, --inputbox, --mixedform, --passwordform, 33461ba55bcSBaptiste Daroussin --passwordbox, --timebox and --datebox. 335b319d934SAlfonso S. Siciliano * change: rename --esc-cancelvalue to --esc-return-cancel. 336b319d934SAlfonso S. Siciliano * change: form field value is printed like multibyte charachter string, 337b319d934SAlfonso S. Siciliano previously widechar string. 33884823cc7SAlfonso S. Siciliano * change: --timebox output with zero padding. 33984823cc7SAlfonso S. Siciliano * change: --datebox output mm and dd with zero padding. 340b319d934SAlfonso S. Siciliano * fix: --hline with empty string. 341b319d934SAlfonso S. Siciliano * fix: avoid to overlay the backtitle by setting a top margin. 342b319d934SAlfonso S. Siciliano * fix: avoid to overlay down shadow with menus and forms bottomdesc 343b319d934SAlfonso S. Siciliano by setting a down margin. 344b319d934SAlfonso S. Siciliano * fix: --form read-only flag with multiple fields. 345b319d934SAlfonso S. Siciliano 346b319d934SAlfonso S. Siciliano Library: 347b319d934SAlfonso S. Siciliano * add: conf.auto_topmargin and conf.auto_downmargin. 348b319d934SAlfonso S. Siciliano * add: bsddialog_textbox() accepts conf.button.* for the first button. 349b319d934SAlfonso S. Siciliano * add: bsddialog_textbox() arrows and percentage. 350b319d934SAlfonso S. Siciliano * add: conf.text.cols_per_row to set a ratio for text autosizing. 351b319d934SAlfonso S. Siciliano * add: timebox and datebox arrows and focus background for boxes. 352b319d934SAlfonso S. Siciliano * add: timebox and datebox UP key to switch focus. 35384823cc7SAlfonso S. Siciliano * add: bsddialog_init_notheme() in bsddialog.h. 35484823cc7SAlfonso S. Siciliano * add: bsddialog_hascolors() in bsddialog_theme.h. 355b319d934SAlfonso S. Siciliano * add: theme.form.bottomdesccolor and theme.menu.bottomdesccolor. 356b319d934SAlfonso S. Siciliano * add: conf.button.always_active to disable buttons/input-boxes switch. 357b319d934SAlfonso S. Siciliano * add: dynamic buttons margin. 358b319d934SAlfonso S. Siciliano - add: theme.button.minmargin and theme.button.maxmargin. 359b319d934SAlfonso S. Siciliano - delete: theme.button.hmargin. 360b319d934SAlfonso S. Siciliano * add: Unicode. 361b319d934SAlfonso S. Siciliano - UI handles multicolumn charachters: backtitle, title, 362b319d934SAlfonso S. Siciliano text (word wrapping, autosizing), menus (shortcuts, name, desc), 363b319d934SAlfonso S. Siciliano forms (label, field), textbox, mixedgauge (minilabel), 364b319d934SAlfonso S. Siciliano buttons (label, shortcuts), bottomtitle. 365b319d934SAlfonso S. Siciliano - API handles char* arguments like multibyte charachter string, 366b319d934SAlfonso S. Siciliano depending on the current locale. 367b319d934SAlfonso S. Siciliano - Internally wide charachters are used to get input from keyboard 368b319d934SAlfonso S. Siciliano and to adapt word wrapping and dynamic text autosizing to 369b319d934SAlfonso S. Siciliano muticolumn charachters. 370b319d934SAlfonso S. Siciliano * refactoring: (rewrite) form.c. 371b319d934SAlfonso S. Siciliano - delete: libformw dep implementing its features from scratch. 372b319d934SAlfonso S. Siciliano - delete: maxvaluelen >= valuelen constraint. 373b319d934SAlfonso S. Siciliano - delete: conf.form.enable_wchar, get always unicode (wchar) input. 374b319d934SAlfonso S. Siciliano - add: KEY_HOME, KEY_END, KEY_PPAGE, KEY_NPAGE keys in field. 375b319d934SAlfonso S. Siciliano - add: KEY_UP can move focus from buttons to fields. 376b319d934SAlfonso S. Siciliano - add: KEY_DOWN can move focus from item to buttons, if nitem is 1. 377b319d934SAlfonso S. Siciliano - add: conf.form.securembch secure multibyte charachter. 378b319d934SAlfonso S. Siciliano - add: BSDDIALOG_FIELDNOCOLOR for formitem.flags. 379b319d934SAlfonso S. Siciliano - add: BSDDIALOG_FIELDCURSOREND for formitem.flags. 380b319d934SAlfonso S. Siciliano - add: BSDDIALOG_FIELDEXTEND for formitem.flags. 381b319d934SAlfonso S. Siciliano - add: BSDDIALOG_FIELDSINGLEBYTE for formitem.flags. 382b319d934SAlfonso S. Siciliano - add: resizing and refresh after KEY_RESIZE (SIGWINCH). 383b319d934SAlfonso S. Siciliano - add: items scrolling. 384b319d934SAlfonso S. Siciliano - add: conf.form.value_wchar, value is wchar_t* instead of MB-char*. 385b319d934SAlfonso S. Siciliano - add: formheight autosizing. 386b319d934SAlfonso S. Siciliano - add: dynamic item position. 387b319d934SAlfonso S. Siciliano * fix: bsddialog_gauge() with fd < 0. 388b319d934SAlfonso S. Siciliano * fix: bsddialog_gauge() refresh new text. 38984823cc7SAlfonso S. Siciliano * fix: internal segmentation fault with disabled shadow. 390b319d934SAlfonso S. Siciliano * fix: center position without shadow. 391b319d934SAlfonso S. Siciliano * fix: bsddialog_infobox() with zero text length. 392b319d934SAlfonso S. Siciliano * fix: text wrapping with more than 1024 words. 393b319d934SAlfonso S. Siciliano * fix: rename theme.shadow.h to theme.shadow.y. 394b319d934SAlfonso S. Siciliano * fix: rename theme.shadow.w to theme.shadow.x. 395b319d934SAlfonso S. Siciliano * fix: menurows autosize with fixed rows improving text_size(). 396b319d934SAlfonso S. Siciliano * fix: messagebox.c scrolling and checksize without text. 397b319d934SAlfonso S. Siciliano 398b319d934SAlfonso S. Siciliano 399b319d934SAlfonso S. Siciliano2022-03-02 Version 0.2 400bce40c02SAlfonso S. Siciliano 401bce40c02SAlfonso S. Siciliano Utility: 402bce40c02SAlfonso S. Siciliano * add: (this) CHANGELOG. 403bce40c02SAlfonso S. Siciliano * add: "menus" print item with focus (except with OK and ERROR). 404bce40c02SAlfonso S. Siciliano * add: pause.sh example. 405bce40c02SAlfonso S. Siciliano * add: timebox.sh example. 406bce40c02SAlfonso S. Siciliano * change: --theme name "default" -> "flat". 407bce40c02SAlfonso S. Siciliano * delete: treeview.sh example. 408bce40c02SAlfonso S. Siciliano * fix: --separate-output does not quote (except with --quoted). 409bce40c02SAlfonso S. Siciliano * fix: --datebox and --date-format month in output. 410bce40c02SAlfonso S. Siciliano * improve: examples handle exit status. 411bce40c02SAlfonso S. Siciliano 412bce40c02SAlfonso S. Siciliano Library: 413bce40c02SAlfonso S. Siciliano * add: conf.form.enable_wchar for wide characters in bsddialog_form(). 414bce40c02SAlfonso S. Siciliano * add: theme.menu.f_selectorcolor. 415bce40c02SAlfonso S. Siciliano * add: formw.c example. 416bce40c02SAlfonso S. Siciliano * change: move conf.f1_file and conf.f1_message in conf.key. 417bce40c02SAlfonso S. Siciliano * change: theme.button.[left|right]ch -> theme.button.[left|right]delim. 418bce40c02SAlfonso S. Siciliano * change: theme.button.space -> theme.button.hmargin. 419bce40c02SAlfonso S. Siciliano * change: theme.menu.arrowcolor -> theme.dialog.arrowcolor. 42084823cc7SAlfonso S. Siciliano * change: internal bsddialog_menuitem.depth factor 4 -> 2. 421bce40c02SAlfonso S. Siciliano * fix: disable HOME, PPAGE, END and NPAGE keys in bsddialog_form(). 422bce40c02SAlfonso S. Siciliano * fix: visible cursor for timebox.c and form.c in VM VirtualBox. 423bce40c02SAlfonso S. Siciliano * fix: mixedlist, center position of separator with big pad. 424bce40c02SAlfonso S. Siciliano * fix: timebox and datebox set values only with BSDDIALOG_OK. 425bce40c02SAlfonso S. Siciliano * fix: menurows autosize with fullscreen. 426bce40c02SAlfonso S. Siciliano * fix: bar color with 0%. 427bce40c02SAlfonso S. Siciliano * fix: bar label position. 428bce40c02SAlfonso S. Siciliano * improve: timebox and datebox navigation (keys, buttons and shortcuts). 429bce40c02SAlfonso S. Siciliano * improve: "menus" colors for accessibility. 430bce40c02SAlfonso S. Siciliano 431bce40c02SAlfonso S. Siciliano 432b319d934SAlfonso S. Siciliano2022-01-27 Version 0.1 433bce40c02SAlfonso S. Siciliano 43484823cc7SAlfonso S. Siciliano * Options: --ascii-lines, --backtitle <backtitle>, --begin-x <x>, 435bce40c02SAlfonso S. Siciliano --begin-y <y>, --cancel-label <label>, --clear, --colors, --cr-wrap, 436bce40c02SAlfonso S. Siciliano --date-format <format>, --defaultno, --default-button <label>, 437bce40c02SAlfonso S. Siciliano --default-no, --default-item <name>, --disable-esc, 438bce40c02SAlfonso S. Siciliano --esc-cancelvalue, --exit-label <label>, --extra-button, 439bce40c02SAlfonso S. Siciliano --extra-label <label>, --generic-button1 <label>, 440bce40c02SAlfonso S. Siciliano --generic-button2 <label>, --help, --help-button, 441bce40c02SAlfonso S. Siciliano --help-label <label>, --help-status, --help-tags, 442bce40c02SAlfonso S. Siciliano --hfile <filename>, --hline <string>, --hmsg <string>, --ignore, 443bce40c02SAlfonso S. Siciliano --insecure, --item-depth, --item-help, --items-prefix, 444bce40c02SAlfonso S. Siciliano --max-input <size>, --no-cancel, --nocancel, --no-collapse, 445bce40c02SAlfonso S. Siciliano --no-items, --no-label <label>, --no-lines, --no-nl-expand, 446bce40c02SAlfonso S. Siciliano --no-ok, --nook, --no-shadow, --no-tags, --ok-label <label>, 447bce40c02SAlfonso S. Siciliano --output-fd <fd>, --output-separator <sep>, --print-maxsize, 448bce40c02SAlfonso S. Siciliano --print-size, --print-version, --quoted, --separate-output, 449bce40c02SAlfonso S. Siciliano --separator <sep>, --shadow, --single-quoted, --sleep <secs>, 450bce40c02SAlfonso S. Siciliano --stderr, --stdout, --tab-len <spaces>, 451bce40c02SAlfonso S. Siciliano --theme <blackwhite|bsddialog|default|dialog>, 452bce40c02SAlfonso S. Siciliano --time-format <format>, --title <title>, --trim, --version, 453bce40c02SAlfonso S. Siciliano --yes-label <label>. 454bce40c02SAlfonso S. Siciliano * Dialogs: --checklist, --datebox, --form, --gauge, --infobox, 455bce40c02SAlfonso S. Siciliano --inputbox, --menu, --mixedform, --mixedgauge, --msgbox, 456bce40c02SAlfonso S. Siciliano --passwordbox, --passwordform, --pause, --radiolist, --rangebox, 457bce40c02SAlfonso S. Siciliano --textbox, --timebox, --treeview, --yesno. 458bce40c02SAlfonso S. Siciliano * Manuals: bsddialog.1, bsddialog.3. 459