#
052f8969 |
| 02-Jun-2013 |
Devin Teske <dteske@FreeBSD.org> |
Standardize the way functions build their arguments leading up to a dialog invocation. Specifically, "top-load" your arguments and in the order in- which they will be displayed. For example, many [if
Standardize the way functions build their arguments leading up to a dialog invocation. Specifically, "top-load" your arguments and in the order in- which they will be displayed. For example, many [if not all] widgets display information in the following order, top-to-bottom (visually):
+ backtitle (displayed behind the widget at top-left) + title (at the top of the `window') + prompt text (just below the title and above whatever widget you choose) + Depending on widget, _one_ of the following: - menu list - radio list - check list - text input box with initial text - [Xdialog(1)] 2x or 3x text input boxes - [dialog(1)] a multi-part form - progress bar - etc. (many more widget choices) + buttons (right below the selected widget) + [dialog(1)] the hline (displayed at bottom of `window')
NOTE: Xdialog(1) accepts and silently ignores --hline
When building local arguments for your dialog invocation, if the value can't be cleanly loaded into a local, add "# Calculated below" to the end of the local declaration while retaining the block order of argument declarations.
Move other local declarations that are not associated with this top-loading the dialog arguments to right-above where they are first-used.
Also, standardize on the names of the arguments. For example, always use $prompt (instead of sometimes $msg and sometimes $prompt); use $menu_list or $shell_list or $radio_list for those respective widgets; ad nauseum.
While we're doing this, flush-out full arguments for many invocations that were passing NULL strings (making it unapparent if you were staring at this one invocation what argument that NULL string was supposed to represent).
Last, while we're in startup/rcconf let's remove the unnecessary use of a GLOBAL (RCCONF_MENU_LIST) for the menu_list.
show more ...
|
Revision tags: release/8.4.0 |
|
#
77599778 |
| 02-Jun-2013 |
Devin Teske <dteske@FreeBSD.org> |
Improve the dialog(1) API in dialog.subr by adding f_dialog_default_store() and f_dialog_default_fetch(). Operating similar to functions introduced by SVN r251236 and r251242, these functions operate
Improve the dialog(1) API in dialog.subr by adding f_dialog_default_store() and f_dialog_default_fetch(). Operating similar to functions introduced by SVN r251236 and r251242, these functions operate as a pair for helping track the default-item data (for the --menu, --checklist, and --radiolist widgets).
This replaces the direct usage of a global to store the data with an abstract method for readability and to centralize the code.
show more ...
|
#
fd962ac6 |
| 02-Jun-2013 |
Devin Teske <dteske@FreeBSD.org> |
Improve portion of the dialog(1) API in dialog.subr responsible for retrieving stored data (for the --menu, --calendar, --timebox, --checklist, and --radiolist widgets).
When we (Ron McDowell and I)
Improve portion of the dialog(1) API in dialog.subr responsible for retrieving stored data (for the --menu, --calendar, --timebox, --checklist, and --radiolist widgets).
When we (Ron McDowell and I) developed the first version of bsdconfig, it used temporary files to store responses from dialog(1). That hasn't been true for some very long time, so the need to always store the return status of dialog(1) and then call some function to clean-up is long-deprecated. The function that used to do the clean-up was f_dialog_menutag().
We really don't need f_dialog_menutag() for its originally designed purpose, as all dialog invocations (even when in a sub-shell) do not use temporary files anymore.
However, we do need to keep f_dialog_menutag() around because it still fills the need of being able to abstract the procedure for fetching stored data provided by functions that display the aforementioned widgets.
In re-designing f_dialog_menutag(), four important changes are made:
1. Rename f_dialog_menutag() to f_dialog_menutag_fetch() 2. Introduce the new first-argument of $var_to_set to reduce number of forks 3. Create a corresponding f_dialog_menutag_store() to abstract the storage 4. Offload the sanitization to a new function, f_dialog_data_sanitize()
NOTE: That last one is important. Not all functions need to store their data for later fetching, meanwhile every invocation of dialog should be sanitized (as we learned early-on in the i18n-effort -- underlying libraries will spit warnings to stderr for bad values of $LANG and since dialog outputs its responses to stderr, we need to sanitize every response of these warnings).
These changes greatly improve readbaility and also improve performance by reducing unnecessary forking.
show more ...
|
#
74036c4d |
| 31-May-2013 |
Devin Teske <dteske@FreeBSD.org> |
Improve portion of the dialog(1) API in dialog.subr responsible for calculating widget sizes. Instead of forking a sub-shell to calculate the optimum size for a widget, use a byRef style call-out to
Improve portion of the dialog(1) API in dialog.subr responsible for calculating widget sizes. Instead of forking a sub-shell to calculate the optimum size for a widget, use a byRef style call-out to set variables in the parent namespace. For example, instead of:
size=$( f_dialog_buttonbox_size title btitle msg ) $DIALOG --title title --backtitle btitle --msgbox msg $size
The new API replaces the above with the following:
f_dialog_buttonbox_size height width title btitle msg $DIALOG --title title --backtitle btitle --msgbox msg $height $width
This reduces the number of forks, improves performance, and makes the code more readable by revealing the argument-order for widget sizing. It also makes performing minor adjustments to the calculated values easier as you no longer have to split-out the response (which required knowledge of ordering so was counter-intuitive).
show more ...
|
#
c3755aa3 |
| 14-May-2013 |
Devin Teske <dteske@FreeBSD.org> |
Centralize standard getopts arguments, both for convenience and to correct a bug in which certain combinations of arguments produced unexpected results such as `-dX' (now properly produces debugging
Centralize standard getopts arguments, both for convenience and to correct a bug in which certain combinations of arguments produced unexpected results such as `-dX' (now properly produces debugging and X11), `-XS' (now properly produces X11 in secure mode), `-df-' (enables debugging when reading a script from standard-input, etc. Multi-word variations such as `-d -X', `-X -S', `-d -f-', `-d -f -', etc. also work as expected. Also tested were variations in argument order, which are now working as expected.
show more ...
|
#
1d17434b |
| 07-May-2013 |
Devin Teske <dteske@FreeBSD.org> |
Add f_isset() utility subroutine for checking if a variable is set but in a more readable fashion.
|
#
76c853ae |
| 26-Apr-2013 |
Devin Teske <dteske@FreeBSD.org> |
Comments.
|
#
d3a0f918 |
| 22-Apr-2013 |
Devin Teske <dteske@FreeBSD.org> |
UI improvements. First, implement --default-item whenever and wherever possible to save keystrokes. Second, overhaul startup/rcdelete for much improved performance. Last, but not least, kill-off usea
UI improvements. First, implement --default-item whenever and wherever possible to save keystrokes. Second, overhaul startup/rcdelete for much improved performance. Last, but not least, kill-off useage of --clear and implement --keep-tite in harmony to minimize jarring transitions. Also, fix local variable names where necessary while we're here with other minor comment-enhancements/typo-corrections.
show more ...
|
#
e14ddd1f |
| 22-Apr-2013 |
Devin Teske <dteske@FreeBSD.org> |
Add new flags `-d' (sets debug=1) and `-D file' (sets debugFile) and improve debugging initialization. Also fixup USAGE statements while we're here. Also, change initialization of main program to _no
Add new flags `-d' (sets debug=1) and `-D file' (sets debugFile) and improve debugging initialization. Also fixup USAGE statements while we're here. Also, change initialization of main program to _not_ change working directory, allowing the debugFile to be relative without confusion.
show more ...
|
#
d241a0e6 |
| 26-Feb-2013 |
Xin LI <delphij@FreeBSD.org> |
IFC @247348.
|
#
d9a44755 |
| 08-Feb-2013 |
David E. O'Brien <obrien@FreeBSD.org> |
Sync with HEAD.
|
#
c2217b98 |
| 17-Jan-2013 |
Neel Natu <neel@FreeBSD.org> |
IFC @ r245509
|
#
db7b0ba7 |
| 14-Jan-2013 |
Devin Teske <dteske@FreeBSD.org> |
Don't use f_show_msg() unless printf(1) syntax is required (this reduces the number of unnecessary forks).
|
#
27ff90aa |
| 14-Jan-2013 |
Devin Teske <dteske@FreeBSD.org> |
Add new f_yesno/f_noyes wrapper functions (which take printf(1) syntax).
|
#
46b1c55d |
| 04-Jan-2013 |
Neel Natu <neel@FreeBSD.org> |
IFC @ r244983.
|
#
56961fd7 |
| 25-Dec-2012 |
Devin Teske <dteske@FreeBSD.org> |
Add more debugging to help with diagnosis of program-flow when needed.
|
#
12f110aa |
| 25-Dec-2012 |
Devin Teske <dteske@FreeBSD.org> |
Remove unnecessary duplicate initialization of the dialog(1) API (automatically bootstrapped on-include unless DIALOG_SELF_INITIALIZE is set to NO before-hand)
|
Revision tags: release/9.1.0 |
|
#
300675f6 |
| 27-Nov-2012 |
Alexander Motin <mav@FreeBSD.org> |
MFC
|
#
e477abf7 |
| 27-Nov-2012 |
Alexander Motin <mav@FreeBSD.org> |
MFC @ r241285
|
#
32484645 |
| 17-Nov-2012 |
Neel Natu <neel@FreeBSD.org> |
IFC @ r243164
|
#
48c5129f |
| 16-Nov-2012 |
Devin Teske <dteske@FreeBSD.org> |
Replicate a feature from sysinstall documented in stable/9/usr.sbin/sysinstall/help/shortcuts.hlp (reproduced below):
If /usr/sbin/sysinstall is linked to another filename, say `/usr/local/bin/confi
Replicate a feature from sysinstall documented in stable/9/usr.sbin/sysinstall/help/shortcuts.hlp (reproduced below):
If /usr/sbin/sysinstall is linked to another filename, say `/usr/local/bin/configPackages', then the basename will be used as an implicit command name.
To get a list of modules you can link to, see `bsdconfig -h' output.
Approved by: adrian (co-mentor) (implicit)
show more ...
|
#
a10c6f55 |
| 11-Nov-2012 |
Neel Natu <neel@FreeBSD.org> |
IFC @ r242684
|
#
23090366 |
| 04-Nov-2012 |
Simon J. Gerraty <sjg@FreeBSD.org> |
Sync from head
|
#
8d8d314d |
| 22-Sep-2012 |
Devin Teske <dteske@FreeBSD.org> |
Replace "( : ${var?} )" syntax with better "[ ${var+set} ]" syntax.
Reviewed by: jilles, adrian (co-mentor) Approved by: jilles, adrian (co-mentor)
|
#
fb7d723e |
| 21-Sep-2012 |
Devin Teske <dteske@FreeBSD.org> |
Reverse SVN r240770 -- jilles@ made a suggestion that allowed us to redesign our embedded rescue environment to support /dev/null making r240770 obsolete.
Reviewed by: jilles, adrian (co-mentor) App
Reverse SVN r240770 -- jilles@ made a suggestion that allowed us to redesign our embedded rescue environment to support /dev/null making r240770 obsolete.
Reviewed by: jilles, adrian (co-mentor) Approved by: jilles, adrian (co-mentor)
show more ...
|