12022-09-24 Version 0.4 2 3 Utility: 4 * add: --normal-screen to set normal mode. 5 * add: --alternate-screen to set alternate mode. 6 * add: --keep-tite as --alternate-screen alias. 7 * add: --and-dialog to build other dialogs. 8 * add: --and-widget as --and-dialog alias. 9 * add: --no-names (--no-tags becames its alias). 10 * add: --no-descriptions (--no-items becames its alias). 11 * add: --help-print-name (--help-tags becames its alias). 12 * add: --item-bottom-desc (--item-help becames its alias). 13 * add: --cr-wrap (was partially implemented) to keep '\n' with "\n". 14 * add: --text-unchanged to avoid default modification. 15 * add: --tab-escape enables "\t" in text. 16 * add: --clear-screen to clear the screen. 17 * add: --clear-dialog to clear the dialog (was --clear). 18 * add: --calendar dialog to select a date. 19 * add: DIAGNOSTICS messages for bad arguments number. 20 * add: DIAGNOSTICS messages for missing and unexpected options. 21 * change: --clear becames alias for --clear-screen. 22 * change: --print-maxsize format output. 23 * change: --menu, --radiolist, --checklist and --treeview output. 24 - no printed items with Cancel or ESC. 25 - --separator prints <sepstr> before each item except HELP. 26 - --separator and --separate-output print <sepstr> after each item. 27 - quoted item name/desc only when needed. 28 - --menu avoids to print selected item after focused HELP item. 29 * change: text default modification. 30 - without a "\n": '\t' -> space, '\n' -> '\n', trim spaces. 31 - with a "\n": '\t' -> space, '\n' -> space, "\n" -> '\n', no trim. 32 - delete '\n' after "\n" (also with --cr-wrap). 33 * change: --datebox input and output format yy/mm/dd -> dd/mm/yy. 34 * delete: --no-collapse (partially implemented). 35 * delete: --no-nl-expand (partially implemented). 36 * delete: --trim (partially implemented). 37 38 Library: 39 * add: bsddialog_msgbox() HOME, END, PPAGE and NPAGE keys. 40 * add: bsddialog_yesno() HOME, END, PPAGE and NPAGE keys. 41 * add: bsddialog_menu() SPACE key (equivalent to ENTER). 42 * add: bsddialog_calendar() to select a date. 43 * change: rename enum bsddialog_grouptype -> enum bsddialog_menutype. 44 * change: fixed-menurows becames at most menurows (depending on text). 45 * change: fixed-rows becames at most rows, min(rows, screenH - shadow). 46 * change: fixed-cols becames at most cols, min(cols, screenW - shadow). 47 * delete: undocumented internal bsddialog_menuitem.depth factor (was 2). 48 49 502022-08-29 Version 0.3 51 52 Utility: 53 * add: --textbox accepts options for the first button. 54 * add: --columns-per-row for text autosizing. 55 * add: --load-theme to read and set a custom theme at runtime. 56 * add: --save-theme to save current theme. 57 * add: --bikeshed for random settings. 58 * add: --switch-buttons enables focus switching: buttons / input 59 components. Available for: --form, --inputbox, --mixedform, 60 --passwordform, --passwordbox, --timebox and --datebox. 61 * change: rename --esc-cancelvalue to --esc-return-cancel. 62 * change: form field value is printed like multibyte charachter string, 63 previously widechar string. 64 * change: --timebox output with zero padding. 65 * change: --datebox output mm and dd with zero padding. 66 * fix: --hline with empty string. 67 * fix: avoid to overlay the backtitle by setting a top margin. 68 * fix: avoid to overlay down shadow with menus and forms bottomdesc 69 by setting a down margin. 70 * fix: --form read-only flag with multiple fields. 71 72 Library: 73 * add: conf.auto_topmargin and conf.auto_downmargin. 74 * add: bsddialog_textbox() accepts conf.button.* for the first button. 75 * add: bsddialog_textbox() arrows and percentage. 76 * add: conf.text.cols_per_row to set a ratio for text autosizing. 77 * add: timebox and datebox arrows and focus background for boxes. 78 * add: timebox and datebox UP key to switch focus. 79 * add: bsddialog_init_notheme() in bsddialog.h. 80 * add: bsddialog_hascolors() in bsddialog_theme.h. 81 * add: theme.form.bottomdesccolor and theme.menu.bottomdesccolor. 82 * add: conf.button.always_active to disable buttons/input-boxes switch. 83 * add: dynamic buttons margin. 84 - add: theme.button.minmargin and theme.button.maxmargin. 85 - delete: theme.button.hmargin. 86 * add: Unicode. 87 - UI handles multicolumn charachters: backtitle, title, 88 text (word wrapping, autosizing), menus (shortcuts, name, desc), 89 forms (label, field), textbox, mixedgauge (minilabel), 90 buttons (label, shortcuts), bottomtitle. 91 - API handles char* arguments like multibyte charachter string, 92 depending on the current locale. 93 - Internally wide charachters are used to get input from keyboard 94 and to adapt word wrapping and dynamic text autosizing to 95 muticolumn charachters. 96 * refactoring: (rewrite) form.c. 97 - delete: libformw dep implementing its features from scratch. 98 - delete: maxvaluelen >= valuelen constraint. 99 - delete: conf.form.enable_wchar, get always unicode (wchar) input. 100 - add: KEY_HOME, KEY_END, KEY_PPAGE, KEY_NPAGE keys in field. 101 - add: KEY_UP can move focus from buttons to fields. 102 - add: KEY_DOWN can move focus from item to buttons, if nitem is 1. 103 - add: conf.form.securembch secure multibyte charachter. 104 - add: BSDDIALOG_FIELDNOCOLOR for formitem.flags. 105 - add: BSDDIALOG_FIELDCURSOREND for formitem.flags. 106 - add: BSDDIALOG_FIELDEXTEND for formitem.flags. 107 - add: BSDDIALOG_FIELDSINGLEBYTE for formitem.flags. 108 - add: resizing and refresh after KEY_RESIZE (SIGWINCH). 109 - add: items scrolling. 110 - add: conf.form.value_wchar, value is wchar_t* instead of MB-char*. 111 - add: formheight autosizing. 112 - add: dynamic item position. 113 * fix: bsddialog_gauge() with fd < 0. 114 * fix: bsddialog_gauge() refresh new text. 115 * fix: internal segmentation fault with disabled shadow. 116 * fix: center position without shadow. 117 * fix: bsddialog_infobox() with zero text length. 118 * fix: text wrapping with more than 1024 words. 119 * fix: rename theme.shadow.h to theme.shadow.y. 120 * fix: rename theme.shadow.w to theme.shadow.x. 121 * fix: menurows autosize with fixed rows improving text_size(). 122 * fix: messagebox.c scrolling and checksize without text. 123 124 1252022-03-02 Version 0.2 126 127 Utility: 128 * add: (this) CHANGELOG. 129 * add: "menus" print item with focus (except with OK and ERROR). 130 * add: pause.sh example. 131 * add: timebox.sh example. 132 * change: --theme name "default" -> "flat". 133 * delete: treeview.sh example. 134 * fix: --separate-output does not quote (except with --quoted). 135 * fix: --datebox and --date-format month in output. 136 * improve: examples handle exit status. 137 138 Library: 139 * add: conf.form.enable_wchar for wide characters in bsddialog_form(). 140 * add: theme.menu.f_selectorcolor. 141 * add: formw.c example. 142 * change: move conf.f1_file and conf.f1_message in conf.key. 143 * change: theme.button.[left|right]ch -> theme.button.[left|right]delim. 144 * change: theme.button.space -> theme.button.hmargin. 145 * change: theme.menu.arrowcolor -> theme.dialog.arrowcolor. 146 * change: internal bsddialog_menuitem.depth factor 4 -> 2. 147 * fix: disable HOME, PPAGE, END and NPAGE keys in bsddialog_form(). 148 * fix: visible cursor for timebox.c and form.c in VM VirtualBox. 149 * fix: mixedlist, center position of separator with big pad. 150 * fix: timebox and datebox set values only with BSDDIALOG_OK. 151 * fix: menurows autosize with fullscreen. 152 * fix: bar color with 0%. 153 * fix: bar label position. 154 * improve: timebox and datebox navigation (keys, buttons and shortcuts). 155 * improve: "menus" colors for accessibility. 156 157 1582022-01-27 Version 0.1 159 160 * Options: --ascii-lines, --backtitle <backtitle>, --begin-x <x>, 161 --begin-y <y>, --cancel-label <label>, --clear, --colors, --cr-wrap, 162 --date-format <format>, --defaultno, --default-button <label>, 163 --default-no, --default-item <name>, --disable-esc, 164 --esc-cancelvalue, --exit-label <label>, --extra-button, 165 --extra-label <label>, --generic-button1 <label>, 166 --generic-button2 <label>, --help, --help-button, 167 --help-label <label>, --help-status, --help-tags, 168 --hfile <filename>, --hline <string>, --hmsg <string>, --ignore, 169 --insecure, --item-depth, --item-help, --items-prefix, 170 --max-input <size>, --no-cancel, --nocancel, --no-collapse, 171 --no-items, --no-label <label>, --no-lines, --no-nl-expand, 172 --no-ok, --nook, --no-shadow, --no-tags, --ok-label <label>, 173 --output-fd <fd>, --output-separator <sep>, --print-maxsize, 174 --print-size, --print-version, --quoted, --separate-output, 175 --separator <sep>, --shadow, --single-quoted, --sleep <secs>, 176 --stderr, --stdout, --tab-len <spaces>, 177 --theme <blackwhite|bsddialog|default|dialog>, 178 --time-format <format>, --title <title>, --trim, --version, 179 --yes-label <label>. 180 * Dialogs: --checklist, --datebox, --form, --gauge, --infobox, 181 --inputbox, --menu, --mixedform, --mixedgauge, --msgbox, 182 --passwordbox, --passwordform, --pause, --radiolist, --rangebox, 183 --textbox, --timebox, --treeview, --yesno. 184 * Manuals: bsddialog.1, bsddialog.3. 185