1*d4ca0015SKyle Evans2024-07-01 1.0.4 2*d4ca0015SKyle Evans 3*d4ca0015SKyle Evans Utility internal refactoring (no functional change): 4*d4ca0015SKyle Evans * change: rename an internal constant to avoid a future conflict 5*d4ca0015SKyle Evans because FreeBSD is changing headers files for _FORTIFY_SOURCE. 6*d4ca0015SKyle Evans Reported and fixed by Kyle Evans. 7*d4ca0015SKyle Evans 8079f6054SAlfonso S. Siciliano2024-05-27 1.0.3 9079f6054SAlfonso S. Siciliano 10079f6054SAlfonso S. Siciliano Utility: 11079f6054SAlfonso S. Siciliano change: --form and --mixedform do not print field value to output fd if 12079f6054SAlfonso S. Siciliano <fieldlen> is <= 0 (readonly). To note --mixedgauge continues 13079f6054SAlfonso S. Siciliano to print field value if <flag> = 2 (readonly) unless <fieldlen> 14079f6054SAlfonso S. Siciliano is <= 0 (as described previously). 15079f6054SAlfonso S. Siciliano 16079f6054SAlfonso S. Siciliano 17a6d8be45SAlfonso S. Siciliano2024-04-11 Version 1.0.2 18a6d8be45SAlfonso S. Siciliano 19a6d8be45SAlfonso S. Siciliano Utility: 20a6d8be45SAlfonso S. Siciliano improvements and changes for --form and --mixedform: 21a6d8be45SAlfonso S. Siciliano * add: <maxletters> 0 sets <maxletters> like <fieldlen>. 22a6d8be45SAlfonso S. Siciliano * add: <fieldlen> 0 sets <fieldlen> like <init> width and readonly. 23a6d8be45SAlfonso S. Siciliano * change: <maxletters> 0 was an error (remains error in lib). 24a6d8be45SAlfonso S. Siciliano * change: <fieldlen> 0 was an error (remains error in lib) 25a6d8be45SAlfonso S. Siciliano (<fieldlen> 0 and <init> "" is still an error.). 26a6d8be45SAlfonso S. Siciliano 27a6d8be45SAlfonso S. Siciliano Library and implicitly utility: 28a6d8be45SAlfonso S. Siciliano * add: Ctrl-l to redraw dialog. 29a6d8be45SAlfonso S. Siciliano Request stable@freebsd.org January 2024. 30a6d8be45SAlfonso S. Siciliano * add: -, +, Ctrl-p, Ctrl-n for several dialogs. 31a6d8be45SAlfonso S. Siciliano +, - request for menus, private feature request. 32a6d8be45SAlfonso S. Siciliano Ctrl-p, Ctrl-n for menu, request hackers@freebsd.org February 2024. 33a6d8be45SAlfonso S. Siciliano * fix: escaped text ending with an escape symbol. 34a6d8be45SAlfonso S. Siciliano * change: truncate mixedgauge long (over the screen/minibars) 35a6d8be45SAlfonso S. Siciliano minilabels adding "...". As a result, avoid check-size error. 36a6d8be45SAlfonso S. Siciliano https://gitlab.com/alfix/bsddialog/-/issues/6. 37a6d8be45SAlfonso S. Siciliano * change: invert UP/DOWN keys to set a rangebox value. 38a6d8be45SAlfonso S. Siciliano 39a6d8be45SAlfonso S. Siciliano 40a6d8be45SAlfonso S. Siciliano2023-11-16 Version 1.0.1 41a6d8be45SAlfonso S. Siciliano 42a6d8be45SAlfonso S. Siciliano Library Internal Refactoring: 43a6d8be45SAlfonso S. Siciliano * add: arrow macro handlers. 44a6d8be45SAlfonso S. Siciliano * change: Box-drawing characters, from utf8 to wide chars to avoid to 45a6d8be45SAlfonso S. Siciliano handle "env NCURSES_NO_UTF8_ACS=1". 46a6d8be45SAlfonso S. Siciliano Request https://bugs.freebsd.org/274472, 47a6d8be45SAlfonso S. Siciliano Rationale https://reviews.freebsd.org/D42380. 48a6d8be45SAlfonso S. Siciliano 4961ba55bcSBaptiste Daroussin2023-08-01 Version 1.0 5061ba55bcSBaptiste Daroussin 5161ba55bcSBaptiste Daroussin Utility: 5261ba55bcSBaptiste Daroussin * add: comments to --save-theme output file. 5361ba55bcSBaptiste Daroussin * add: blink, halfbright, highlight to --save-theme and --load-theme. 5461ba55bcSBaptiste Daroussin * add: theme.menu.[f_]prefixcolor to --save-theme and --load-theme. 5561ba55bcSBaptiste Daroussin * add: --datebox-format <d/m/y|m/d/y|y/m/d> to set --datebox UI. 5661ba55bcSBaptiste Daroussin * add: --help-print-items (--help-status becomes alias). 5761ba55bcSBaptiste Daroussin * add: --text-escape (--colors becomes alias). 5861ba55bcSBaptiste Daroussin * add: new escapes \Zd, \Zk, \Zs, \ZD, \ZK, \ZS, for --text-escape. 5961ba55bcSBaptiste Daroussin * add: env NO_COLOR, to set blackwhite theme. 6061ba55bcSBaptiste Daroussin * add: $HOME/.bsddialog.conf startup theme file. 6161ba55bcSBaptiste Daroussin * add: env BSDDIALOG_THEMEFILE startup theme file. 6261ba55bcSBaptiste Daroussin * add: --left1-button <label>. 6361ba55bcSBaptiste Daroussin * add: --left2-button <label>. 6461ba55bcSBaptiste Daroussin * add: --left3-button <label>. 6561ba55bcSBaptiste Daroussin * add: --right1-button <label>. 6661ba55bcSBaptiste Daroussin * add: --right2-button <label>. 6761ba55bcSBaptiste Daroussin * add: --right3-button <label>. 6861ba55bcSBaptiste Daroussin * add: dynamic exit codes. 6961ba55bcSBaptiste Daroussin - add: --error-exit-code. 7061ba55bcSBaptiste Daroussin - add: --ok-exit-code. 7161ba55bcSBaptiste Daroussin - add: --cancel-exit-code. 7261ba55bcSBaptiste Daroussin - add: --help-exit-code. 7361ba55bcSBaptiste Daroussin - add: --extra-exit-code. 7461ba55bcSBaptiste Daroussin - add: --timeout-exit-code. 7561ba55bcSBaptiste Daroussin - add: --esc-exit-code. 7661ba55bcSBaptiste Daroussin - add: --left1-exit-code. 7761ba55bcSBaptiste Daroussin - add: --left2-exit-code. 7861ba55bcSBaptiste Daroussin - add: --left3-exit-code. 7961ba55bcSBaptiste Daroussin - add: --right1-exit-code. 8061ba55bcSBaptiste Daroussin - add: --right2-exit-code. 8161ba55bcSBaptiste Daroussin - add: --right3-exit-code. 8261ba55bcSBaptiste Daroussin - add: env BSDDIALOG_ERROR. 8361ba55bcSBaptiste Daroussin - add: env BSDDIALOG_OK. 8461ba55bcSBaptiste Daroussin - add: env BSDDIALOG_CANCEL. 8561ba55bcSBaptiste Daroussin - add: env BSDDIALOG_HELP. 8661ba55bcSBaptiste Daroussin - add: env BSDDIALOG_EXTRA. 8761ba55bcSBaptiste Daroussin - add: env BSDDIALOG_TIMEOUT. 8861ba55bcSBaptiste Daroussin - add: env BSDDIALOG_ESC. 8961ba55bcSBaptiste Daroussin - add: env BSDDIALOG_LEFT1. 9061ba55bcSBaptiste Daroussin - add: env BSDDIALOG_LEFT2. 9161ba55bcSBaptiste Daroussin - add: env BSDDIALOG_LEFT3. 9261ba55bcSBaptiste Daroussin - add: env BSDDIALOG_RIGHT1. 9361ba55bcSBaptiste Daroussin - add: env BSDDIALOG_RIGHT2. 9461ba55bcSBaptiste Daroussin - add: env BSDDIALOG_RIGHT3. 9561ba55bcSBaptiste Daroussin * add: undocumented envs for bsdconfig(8) compatibility. 9661ba55bcSBaptiste Daroussin - env BSDDIALOG_COMPATRC for use_shadow setting. 9761ba55bcSBaptiste Daroussin - env BSDDIALOG_ITEM_HELP to add/set exit code. 9861ba55bcSBaptiste Daroussin * change: rename themes --theme <3d|blackwhite|flat>. 9961ba55bcSBaptiste Daroussin * change: --no-names and --no-descriptions mutually exclusive (via lia). 10061ba55bcSBaptiste Daroussin * change: quote only checklist output items if necessary. Previously 10161ba55bcSBaptiste Daroussin also radiolist item. 10261ba55bcSBaptiste Daroussin * change: dialogs with user input print always values except with ERROR, 10361ba55bcSBaptiste Daroussin ESC, Cancel. Previously the situation was quite heterogeneous. 10461ba55bcSBaptiste Daroussin * improve: DIAGNOSTIC messages adding fmt string errors. 10561ba55bcSBaptiste Daroussin * improve: disable theme setting (opt and env) with no-color terminals. 10661ba55bcSBaptiste Daroussin * improve: menus on|off status (strcasecmp, diagnostic, real off check). 10761ba55bcSBaptiste Daroussin * improve: --bikeshed with button delimiter and --date-format. 10861ba55bcSBaptiste Daroussin * improve: --textbox accepts button options. 10961ba55bcSBaptiste Daroussin * improve: Forms with Help button. 11061ba55bcSBaptiste Daroussin - print "HELP" (like menus). 11161ba55bcSBaptiste Daroussin - accept --help-list-items. 11261ba55bcSBaptiste Daroussin - accept --help-print-name. 11361ba55bcSBaptiste Daroussin * fix: --load-theme attributes. 11461ba55bcSBaptiste Daroussin * fix: --clear-screen with --and-dialog. 11561ba55bcSBaptiste Daroussin * delete: --theme <bsddialog> (partially implemented). 11661ba55bcSBaptiste Daroussin * delete: --esc-return-cancel (replaced by new env and option). 11761ba55bcSBaptiste Daroussin * delete: --generic-button1 (replaced by --right1-button). 11861ba55bcSBaptiste Daroussin * delete: --generic-button2 (replaced by --right2-button). 11961ba55bcSBaptiste Daroussin * refactor: modularize in more files (main, cli, builders, theme). 12061ba55bcSBaptiste Daroussin 12161ba55bcSBaptiste Daroussin Library: 12261ba55bcSBaptiste Daroussin * add: bsddialog_inmode(). 12361ba55bcSBaptiste Daroussin * add: bsddialog_clear(y) for utility --clear-screen. 12461ba55bcSBaptiste Daroussin * add: bsddialog_refresh() for utility terminal mode options. 12561ba55bcSBaptiste Daroussin * add: conf.date.format="d/m/y"|"m/d/y"|"y/m/d" to customize 12661ba55bcSBaptiste Daroussin bsddialog_datebox() UI (boxes) with a date format. 12761ba55bcSBaptiste Daroussin * add: 'const char *end' to bsddialog_gauge(). 12861ba55bcSBaptiste Daroussin * add: draw focus on the shortcut-key-selected button at exit. 12961ba55bcSBaptiste Daroussin * add: escapes for conf.text.highlight \Zd, \Zk, \Zs, \ZD, \ZK, \ZS. 13061ba55bcSBaptiste Daroussin * add: other theme flags. 13161ba55bcSBaptiste Daroussin - BSDDIALOG_BLINK. 13261ba55bcSBaptiste Daroussin - BSDDIALOG_HALFBRIGHT. 13361ba55bcSBaptiste Daroussin - BSDDIALOG_HIGHLIGHT. 13461ba55bcSBaptiste Daroussin * add: generic buttons. 13561ba55bcSBaptiste Daroussin - conf.button.left1_label, BSDDIALOG_LEFT1 return value. 13661ba55bcSBaptiste Daroussin - conf.button.left2_label, BSDDIALOG_LEFT2 return value. 13761ba55bcSBaptiste Daroussin - conf.button.left3_label, BSDDIALOG_LEFT3 return value. 13861ba55bcSBaptiste Daroussin - conf.button.right1.label, BSDDIALOG_RIGHT1 return value. 13961ba55bcSBaptiste Daroussin - conf.button.right2.label, BSDDIALOG_RIGHT2 return value. 14061ba55bcSBaptiste Daroussin - conf.button.right3.label, BSDDIALOG_RIGHT3 return value. 14161ba55bcSBaptiste Daroussin * add: unused bsddialog_menugroup.min_on for future features. 14261ba55bcSBaptiste Daroussin * add: theme.menu.f_prefixcolor and theme.menu.prefixcolor. 14361ba55bcSBaptiste Daroussin * improve: check (when possible) API pointers. 14461ba55bcSBaptiste Daroussin * improve: circolar buttons with left and right keys for msgbox, yesno, 14561ba55bcSBaptiste Daroussin menus, rangebox and pause. 14661ba55bcSBaptiste Daroussin * improve: bsddialog_textbox() handles conf.buttons. 14761ba55bcSBaptiste Daroussin * improve: bsddialog_datebox() a box change affects the others as well. 14861ba55bcSBaptiste Daroussin * improve: bsddialog_geterror() with fmt strings. 14961ba55bcSBaptiste Daroussin * change: API NULL strings handled like "", except gauge *sep and *end. 15061ba55bcSBaptiste Daroussin * change: menus and form less restrictive with text, hide text with 15161ba55bcSBaptiste Daroussin little screens (same behavior as other dialogs). 15261ba55bcSBaptiste Daroussin * change: mixedgauge BSDDIALOG_MG_BLANK does not draw minibar but prints 15361ba55bcSBaptiste Daroussin minilabel. The change allows mixedgauge to add sections. To restore 15461ba55bcSBaptiste Daroussin the previous behavior setting minilabel to "". 15561ba55bcSBaptiste Daroussin * change: check/set bsddialog_gauge() perc max 100. 15661ba55bcSBaptiste Daroussin * change: check/set bsddialog_mixedgauge() mainperc max 100. 15761ba55bcSBaptiste Daroussin * change: conf.menu.no_name and conf.menu.no_desc mutually exclusive. 15861ba55bcSBaptiste Daroussin * change: bsddialog_pause() sec -> *sec to know remaining time at exit. 15961ba55bcSBaptiste Daroussin * change: add *focusitem to bsddialog_form() like menus. 16061ba55bcSBaptiste Daroussin * change: "pointer" values are always set except when BSDDIALOG_ERROR 16161ba55bcSBaptiste Daroussin occurs. Examples *yy/*mm/*ss, rangebox *value. 16261ba55bcSBaptiste Daroussin - delete conf.menu.on_without_ok. 16361ba55bcSBaptiste Daroussin - delete conf.form.value_without_ok. 16461ba55bcSBaptiste Daroussin * rename: conf.text.highlight -> conf.text.escape. 16561ba55bcSBaptiste Daroussin * rename: theme.menu.namesepcolor -> theme.menu.sepnamecolor. 16661ba55bcSBaptiste Daroussin * rename: theme.menu.descsepcolor -> theme.menu.sepdesccolor. 16761ba55bcSBaptiste Daroussin * fix: bsddialog_pause() elevation bar after resize. 16861ba55bcSBaptiste Daroussin * fix: bsddialog_textbox() key '0'. 16961ba55bcSBaptiste Daroussin * fix: timebox.c checksize (boxes width). 17061ba55bcSBaptiste Daroussin * fix: extend menurows after shrink and enlarge. 17161ba55bcSBaptiste Daroussin * fix: menu pad and form pad "re-expansion" after shrink and enlarge. 17261ba55bcSBaptiste Daroussin * fix: shadow top-left corner (trick wresize() before wmove()). 17361ba55bcSBaptiste Daroussin * fix: increment bsddialog_total_progview size for more general use. 17461ba55bcSBaptiste Daroussin * delete: BSDDIALOG_THEME_BSDDIALOG (partially implemented). 17561ba55bcSBaptiste Daroussin * delete: conf.button.generic1_label (for new conf.button.right1_label). 17661ba55bcSBaptiste Daroussin * delete: BSDDIALOG_GENERIC1 return value (new BSDDIALOG_RIGHT1). 17761ba55bcSBaptiste Daroussin * delete: conf.button.generic2_label (for new conf.button.right2_label). 17861ba55bcSBaptiste Daroussin * delete: BSDDIALOG_GENERIC2 return value (new BSDDIALOG_RIGHT2). 17961ba55bcSBaptiste Daroussin * delete: bsddialog_clearterminal(), replaced by bsddialog_clear(y). 18061ba55bcSBaptiste Daroussin * refactor: internal implementation. 18161ba55bcSBaptiste Daroussin - add: internal structures to represent components. 18261ba55bcSBaptiste Daroussin - merge: (when possible) dialogs autosize. 18361ba55bcSBaptiste Daroussin - merge: (when possible) dialogs checksize. 18461ba55bcSBaptiste Daroussin - merge: for each dialog "build" with "update" -> <dialog>_redraw(). 18561ba55bcSBaptiste Daroussin - merge: new_dialog() with update_dialog() -> draw_dialog(). 18661ba55bcSBaptiste Daroussin - merge: infobox.c with messagebox.c (delete infobox.c) 18761ba55bcSBaptiste Daroussin - merge: bsddialog_datebox() + bsddialog_calendar() -> datebox.c 18861ba55bcSBaptiste Daroussin - change: flat and blackwhite real themes, 3d adapted from flat. 18961ba55bcSBaptiste Daroussin - improve: replace wrefresh() -> wnoutrefresh()/doupdate(). 19061ba55bcSBaptiste Daroussin - improve: replace prefresh() -> pnoutrefresh()/doupdate(). 19161ba55bcSBaptiste Daroussin - improve: menu split code to build private items. 19261ba55bcSBaptiste Daroussin - improve: form split code to build private items. 19361ba55bcSBaptiste Daroussin - delete: -Wno-implicit-fallthrough. 19461ba55bcSBaptiste Daroussin 19561ba55bcSBaptiste Daroussin 19661ba55bcSBaptiste Daroussin2023-06-12 Version 0.4.2 19761ba55bcSBaptiste Daroussin 19861ba55bcSBaptiste Daroussin Library: 19961ba55bcSBaptiste Daroussin * fix: compile error with aarch64-gcc12 for "\Z[0-7]" check; 20061ba55bcSBaptiste Daroussin https://gitlab.com/alfix/bsddialog/-/issues/5. 20161ba55bcSBaptiste Daroussin * fix: BSDDIALOG_FIELDCURSOREND with multiple items 20261ba55bcSBaptiste Daroussin (warning aarch64-gcc12). 20361ba55bcSBaptiste Daroussin 20461ba55bcSBaptiste Daroussin 20561ba55bcSBaptiste Daroussin2023-01-02 Version 0.4.1 20661ba55bcSBaptiste Daroussin 20761ba55bcSBaptiste Daroussin Utility: 20861ba55bcSBaptiste Daroussin * fix: default space separator menus output, except if --separator " ". 20961ba55bcSBaptiste Daroussin * rename: GNUMakefile to GNUmakefile to simplify linux build. 21061ba55bcSBaptiste Daroussin Thanks to https://gitlab.com/alfix/bsddialog/-/merge_requests/2. 21161ba55bcSBaptiste Daroussin 21261ba55bcSBaptiste Daroussin Library: 21361ba55bcSBaptiste Daroussin * fix: t.dialog.linelowercolor no bold-black, some terminal draws grey. 21461ba55bcSBaptiste Daroussin * fix: text wrapping (actual string length) with --colors. 21561ba55bcSBaptiste Daroussin * rename: GNUMakefile to GNUmakefile to simplify linux build. 21661ba55bcSBaptiste Daroussin Thanks to https://gitlab.com/alfix/bsddialog/-/merge_requests/2. 21761ba55bcSBaptiste Daroussin 21861ba55bcSBaptiste Daroussin 21984823cc7SAlfonso S. Siciliano2022-09-24 Version 0.4 22084823cc7SAlfonso S. Siciliano 22184823cc7SAlfonso S. Siciliano Utility: 22284823cc7SAlfonso S. Siciliano * add: --normal-screen to set normal mode. 22384823cc7SAlfonso S. Siciliano * add: --alternate-screen to set alternate mode. 22484823cc7SAlfonso S. Siciliano * add: --keep-tite as --alternate-screen alias. 22584823cc7SAlfonso S. Siciliano * add: --and-dialog to build other dialogs. 22684823cc7SAlfonso S. Siciliano * add: --and-widget as --and-dialog alias. 22761ba55bcSBaptiste Daroussin * add: --no-names (--no-tags becomes alias). 22861ba55bcSBaptiste Daroussin * add: --no-descriptions (--no-items becomes alias). 22961ba55bcSBaptiste Daroussin * add: --help-print-name (--help-tags becomes alias). 23061ba55bcSBaptiste Daroussin * add: --item-bottom-desc (--item-help becomes alias). 23184823cc7SAlfonso S. Siciliano * add: --cr-wrap (was partially implemented) to keep '\n' with "\n". 23284823cc7SAlfonso S. Siciliano * add: --text-unchanged to avoid default modification. 23361ba55bcSBaptiste Daroussin * add: --tab-escape to enable "\t" in text. 23484823cc7SAlfonso S. Siciliano * add: --clear-screen to clear the screen. 23584823cc7SAlfonso S. Siciliano * add: --clear-dialog to clear the dialog (was --clear). 23684823cc7SAlfonso S. Siciliano * add: --calendar dialog to select a date. 23784823cc7SAlfonso S. Siciliano * add: DIAGNOSTICS messages for bad arguments number. 23884823cc7SAlfonso S. Siciliano * add: DIAGNOSTICS messages for missing and unexpected options. 23961ba55bcSBaptiste Daroussin * change: --clear becomes alias for --clear-screen. 24084823cc7SAlfonso S. Siciliano * change: --print-maxsize format output. 24184823cc7SAlfonso S. Siciliano * change: --menu, --radiolist, --checklist and --treeview output. 24284823cc7SAlfonso S. Siciliano - no printed items with Cancel or ESC. 24384823cc7SAlfonso S. Siciliano - --separator prints <sepstr> before each item except HELP. 24484823cc7SAlfonso S. Siciliano - --separator and --separate-output print <sepstr> after each item. 24584823cc7SAlfonso S. Siciliano - quoted item name/desc only when needed. 24684823cc7SAlfonso S. Siciliano - --menu avoids to print selected item after focused HELP item. 24784823cc7SAlfonso S. Siciliano * change: text default modification. 24884823cc7SAlfonso S. Siciliano - without a "\n": '\t' -> space, '\n' -> '\n', trim spaces. 24984823cc7SAlfonso S. Siciliano - with a "\n": '\t' -> space, '\n' -> space, "\n" -> '\n', no trim. 25084823cc7SAlfonso S. Siciliano - delete '\n' after "\n" (also with --cr-wrap). 25184823cc7SAlfonso S. Siciliano * change: --datebox input and output format yy/mm/dd -> dd/mm/yy. 25284823cc7SAlfonso S. Siciliano * delete: --no-collapse (partially implemented). 25384823cc7SAlfonso S. Siciliano * delete: --no-nl-expand (partially implemented). 25484823cc7SAlfonso S. Siciliano * delete: --trim (partially implemented). 25584823cc7SAlfonso S. Siciliano 25684823cc7SAlfonso S. Siciliano Library: 25784823cc7SAlfonso S. Siciliano * add: bsddialog_msgbox() HOME, END, PPAGE and NPAGE keys. 25884823cc7SAlfonso S. Siciliano * add: bsddialog_yesno() HOME, END, PPAGE and NPAGE keys. 25984823cc7SAlfonso S. Siciliano * add: bsddialog_menu() SPACE key (equivalent to ENTER). 26084823cc7SAlfonso S. Siciliano * add: bsddialog_calendar() to select a date. 26184823cc7SAlfonso S. Siciliano * change: rename enum bsddialog_grouptype -> enum bsddialog_menutype. 26261ba55bcSBaptiste Daroussin * change: fixed-menurows becomes at most menurows (depending on text). 26361ba55bcSBaptiste Daroussin * change: fixed-rows becomes at most rows, min(rows, screenH - shadow). 26461ba55bcSBaptiste Daroussin * change: fixed-cols becomes at most cols, min(cols, screenW - shadow). 26584823cc7SAlfonso S. Siciliano * delete: undocumented internal bsddialog_menuitem.depth factor (was 2). 26684823cc7SAlfonso S. Siciliano 26784823cc7SAlfonso S. Siciliano 268b319d934SAlfonso S. Siciliano2022-08-29 Version 0.3 269b319d934SAlfonso S. Siciliano 270b319d934SAlfonso S. Siciliano Utility: 271b319d934SAlfonso S. Siciliano * add: --textbox accepts options for the first button. 27284823cc7SAlfonso S. Siciliano * add: --columns-per-row for text autosizing. 27384823cc7SAlfonso S. Siciliano * add: --load-theme to read and set a custom theme at runtime. 27484823cc7SAlfonso S. Siciliano * add: --save-theme to save current theme. 27584823cc7SAlfonso S. Siciliano * add: --bikeshed for random settings. 27661ba55bcSBaptiste Daroussin * add: --switch-buttons to enable buttons/input widgets focus switching. 27761ba55bcSBaptiste Daroussin Available for: --form, --inputbox, --mixedform, --passwordform, 27861ba55bcSBaptiste Daroussin --passwordbox, --timebox and --datebox. 279b319d934SAlfonso S. Siciliano * change: rename --esc-cancelvalue to --esc-return-cancel. 280b319d934SAlfonso S. Siciliano * change: form field value is printed like multibyte charachter string, 281b319d934SAlfonso S. Siciliano previously widechar string. 28284823cc7SAlfonso S. Siciliano * change: --timebox output with zero padding. 28384823cc7SAlfonso S. Siciliano * change: --datebox output mm and dd with zero padding. 284b319d934SAlfonso S. Siciliano * fix: --hline with empty string. 285b319d934SAlfonso S. Siciliano * fix: avoid to overlay the backtitle by setting a top margin. 286b319d934SAlfonso S. Siciliano * fix: avoid to overlay down shadow with menus and forms bottomdesc 287b319d934SAlfonso S. Siciliano by setting a down margin. 288b319d934SAlfonso S. Siciliano * fix: --form read-only flag with multiple fields. 289b319d934SAlfonso S. Siciliano 290b319d934SAlfonso S. Siciliano Library: 291b319d934SAlfonso S. Siciliano * add: conf.auto_topmargin and conf.auto_downmargin. 292b319d934SAlfonso S. Siciliano * add: bsddialog_textbox() accepts conf.button.* for the first button. 293b319d934SAlfonso S. Siciliano * add: bsddialog_textbox() arrows and percentage. 294b319d934SAlfonso S. Siciliano * add: conf.text.cols_per_row to set a ratio for text autosizing. 295b319d934SAlfonso S. Siciliano * add: timebox and datebox arrows and focus background for boxes. 296b319d934SAlfonso S. Siciliano * add: timebox and datebox UP key to switch focus. 29784823cc7SAlfonso S. Siciliano * add: bsddialog_init_notheme() in bsddialog.h. 29884823cc7SAlfonso S. Siciliano * add: bsddialog_hascolors() in bsddialog_theme.h. 299b319d934SAlfonso S. Siciliano * add: theme.form.bottomdesccolor and theme.menu.bottomdesccolor. 300b319d934SAlfonso S. Siciliano * add: conf.button.always_active to disable buttons/input-boxes switch. 301b319d934SAlfonso S. Siciliano * add: dynamic buttons margin. 302b319d934SAlfonso S. Siciliano - add: theme.button.minmargin and theme.button.maxmargin. 303b319d934SAlfonso S. Siciliano - delete: theme.button.hmargin. 304b319d934SAlfonso S. Siciliano * add: Unicode. 305b319d934SAlfonso S. Siciliano - UI handles multicolumn charachters: backtitle, title, 306b319d934SAlfonso S. Siciliano text (word wrapping, autosizing), menus (shortcuts, name, desc), 307b319d934SAlfonso S. Siciliano forms (label, field), textbox, mixedgauge (minilabel), 308b319d934SAlfonso S. Siciliano buttons (label, shortcuts), bottomtitle. 309b319d934SAlfonso S. Siciliano - API handles char* arguments like multibyte charachter string, 310b319d934SAlfonso S. Siciliano depending on the current locale. 311b319d934SAlfonso S. Siciliano - Internally wide charachters are used to get input from keyboard 312b319d934SAlfonso S. Siciliano and to adapt word wrapping and dynamic text autosizing to 313b319d934SAlfonso S. Siciliano muticolumn charachters. 314b319d934SAlfonso S. Siciliano * refactoring: (rewrite) form.c. 315b319d934SAlfonso S. Siciliano - delete: libformw dep implementing its features from scratch. 316b319d934SAlfonso S. Siciliano - delete: maxvaluelen >= valuelen constraint. 317b319d934SAlfonso S. Siciliano - delete: conf.form.enable_wchar, get always unicode (wchar) input. 318b319d934SAlfonso S. Siciliano - add: KEY_HOME, KEY_END, KEY_PPAGE, KEY_NPAGE keys in field. 319b319d934SAlfonso S. Siciliano - add: KEY_UP can move focus from buttons to fields. 320b319d934SAlfonso S. Siciliano - add: KEY_DOWN can move focus from item to buttons, if nitem is 1. 321b319d934SAlfonso S. Siciliano - add: conf.form.securembch secure multibyte charachter. 322b319d934SAlfonso S. Siciliano - add: BSDDIALOG_FIELDNOCOLOR for formitem.flags. 323b319d934SAlfonso S. Siciliano - add: BSDDIALOG_FIELDCURSOREND for formitem.flags. 324b319d934SAlfonso S. Siciliano - add: BSDDIALOG_FIELDEXTEND for formitem.flags. 325b319d934SAlfonso S. Siciliano - add: BSDDIALOG_FIELDSINGLEBYTE for formitem.flags. 326b319d934SAlfonso S. Siciliano - add: resizing and refresh after KEY_RESIZE (SIGWINCH). 327b319d934SAlfonso S. Siciliano - add: items scrolling. 328b319d934SAlfonso S. Siciliano - add: conf.form.value_wchar, value is wchar_t* instead of MB-char*. 329b319d934SAlfonso S. Siciliano - add: formheight autosizing. 330b319d934SAlfonso S. Siciliano - add: dynamic item position. 331b319d934SAlfonso S. Siciliano * fix: bsddialog_gauge() with fd < 0. 332b319d934SAlfonso S. Siciliano * fix: bsddialog_gauge() refresh new text. 33384823cc7SAlfonso S. Siciliano * fix: internal segmentation fault with disabled shadow. 334b319d934SAlfonso S. Siciliano * fix: center position without shadow. 335b319d934SAlfonso S. Siciliano * fix: bsddialog_infobox() with zero text length. 336b319d934SAlfonso S. Siciliano * fix: text wrapping with more than 1024 words. 337b319d934SAlfonso S. Siciliano * fix: rename theme.shadow.h to theme.shadow.y. 338b319d934SAlfonso S. Siciliano * fix: rename theme.shadow.w to theme.shadow.x. 339b319d934SAlfonso S. Siciliano * fix: menurows autosize with fixed rows improving text_size(). 340b319d934SAlfonso S. Siciliano * fix: messagebox.c scrolling and checksize without text. 341b319d934SAlfonso S. Siciliano 342b319d934SAlfonso S. Siciliano 343b319d934SAlfonso S. Siciliano2022-03-02 Version 0.2 344bce40c02SAlfonso S. Siciliano 345bce40c02SAlfonso S. Siciliano Utility: 346bce40c02SAlfonso S. Siciliano * add: (this) CHANGELOG. 347bce40c02SAlfonso S. Siciliano * add: "menus" print item with focus (except with OK and ERROR). 348bce40c02SAlfonso S. Siciliano * add: pause.sh example. 349bce40c02SAlfonso S. Siciliano * add: timebox.sh example. 350bce40c02SAlfonso S. Siciliano * change: --theme name "default" -> "flat". 351bce40c02SAlfonso S. Siciliano * delete: treeview.sh example. 352bce40c02SAlfonso S. Siciliano * fix: --separate-output does not quote (except with --quoted). 353bce40c02SAlfonso S. Siciliano * fix: --datebox and --date-format month in output. 354bce40c02SAlfonso S. Siciliano * improve: examples handle exit status. 355bce40c02SAlfonso S. Siciliano 356bce40c02SAlfonso S. Siciliano Library: 357bce40c02SAlfonso S. Siciliano * add: conf.form.enable_wchar for wide characters in bsddialog_form(). 358bce40c02SAlfonso S. Siciliano * add: theme.menu.f_selectorcolor. 359bce40c02SAlfonso S. Siciliano * add: formw.c example. 360bce40c02SAlfonso S. Siciliano * change: move conf.f1_file and conf.f1_message in conf.key. 361bce40c02SAlfonso S. Siciliano * change: theme.button.[left|right]ch -> theme.button.[left|right]delim. 362bce40c02SAlfonso S. Siciliano * change: theme.button.space -> theme.button.hmargin. 363bce40c02SAlfonso S. Siciliano * change: theme.menu.arrowcolor -> theme.dialog.arrowcolor. 36484823cc7SAlfonso S. Siciliano * change: internal bsddialog_menuitem.depth factor 4 -> 2. 365bce40c02SAlfonso S. Siciliano * fix: disable HOME, PPAGE, END and NPAGE keys in bsddialog_form(). 366bce40c02SAlfonso S. Siciliano * fix: visible cursor for timebox.c and form.c in VM VirtualBox. 367bce40c02SAlfonso S. Siciliano * fix: mixedlist, center position of separator with big pad. 368bce40c02SAlfonso S. Siciliano * fix: timebox and datebox set values only with BSDDIALOG_OK. 369bce40c02SAlfonso S. Siciliano * fix: menurows autosize with fullscreen. 370bce40c02SAlfonso S. Siciliano * fix: bar color with 0%. 371bce40c02SAlfonso S. Siciliano * fix: bar label position. 372bce40c02SAlfonso S. Siciliano * improve: timebox and datebox navigation (keys, buttons and shortcuts). 373bce40c02SAlfonso S. Siciliano * improve: "menus" colors for accessibility. 374bce40c02SAlfonso S. Siciliano 375bce40c02SAlfonso S. Siciliano 376b319d934SAlfonso S. Siciliano2022-01-27 Version 0.1 377bce40c02SAlfonso S. Siciliano 37884823cc7SAlfonso S. Siciliano * Options: --ascii-lines, --backtitle <backtitle>, --begin-x <x>, 379bce40c02SAlfonso S. Siciliano --begin-y <y>, --cancel-label <label>, --clear, --colors, --cr-wrap, 380bce40c02SAlfonso S. Siciliano --date-format <format>, --defaultno, --default-button <label>, 381bce40c02SAlfonso S. Siciliano --default-no, --default-item <name>, --disable-esc, 382bce40c02SAlfonso S. Siciliano --esc-cancelvalue, --exit-label <label>, --extra-button, 383bce40c02SAlfonso S. Siciliano --extra-label <label>, --generic-button1 <label>, 384bce40c02SAlfonso S. Siciliano --generic-button2 <label>, --help, --help-button, 385bce40c02SAlfonso S. Siciliano --help-label <label>, --help-status, --help-tags, 386bce40c02SAlfonso S. Siciliano --hfile <filename>, --hline <string>, --hmsg <string>, --ignore, 387bce40c02SAlfonso S. Siciliano --insecure, --item-depth, --item-help, --items-prefix, 388bce40c02SAlfonso S. Siciliano --max-input <size>, --no-cancel, --nocancel, --no-collapse, 389bce40c02SAlfonso S. Siciliano --no-items, --no-label <label>, --no-lines, --no-nl-expand, 390bce40c02SAlfonso S. Siciliano --no-ok, --nook, --no-shadow, --no-tags, --ok-label <label>, 391bce40c02SAlfonso S. Siciliano --output-fd <fd>, --output-separator <sep>, --print-maxsize, 392bce40c02SAlfonso S. Siciliano --print-size, --print-version, --quoted, --separate-output, 393bce40c02SAlfonso S. Siciliano --separator <sep>, --shadow, --single-quoted, --sleep <secs>, 394bce40c02SAlfonso S. Siciliano --stderr, --stdout, --tab-len <spaces>, 395bce40c02SAlfonso S. Siciliano --theme <blackwhite|bsddialog|default|dialog>, 396bce40c02SAlfonso S. Siciliano --time-format <format>, --title <title>, --trim, --version, 397bce40c02SAlfonso S. Siciliano --yes-label <label>. 398bce40c02SAlfonso S. Siciliano * Dialogs: --checklist, --datebox, --form, --gauge, --infobox, 399bce40c02SAlfonso S. Siciliano --inputbox, --menu, --mixedform, --mixedgauge, --msgbox, 400bce40c02SAlfonso S. Siciliano --passwordbox, --passwordform, --pause, --radiolist, --rangebox, 401bce40c02SAlfonso S. Siciliano --textbox, --timebox, --treeview, --yesno. 402bce40c02SAlfonso S. Siciliano * Manuals: bsddialog.1, bsddialog.3. 403