xref: /freebsd/contrib/bsddialog/CHANGELOG (revision d4ca001544347e217e2ab023cca88b30637def98)
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