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