Closed khronokernel closed 1 year ago
I just read through all of these additions, and they're great. I can tell you put a lot of time and thought into this, thank you very much.
One consideration I have is the "Installing" and "Running" words in the progress text. My concern is for non-English users, we're adding words without giving them the ability to translate to their own language. All other language in Baseline is fully customizable.
I'm debating between omitting it altogether so that the progress item just lists the Display Name of the item being processed, or making a configuration profile key for it. Either way, in order to simplify I think I want just one option and not differentiate the verbiage between packages/installomator and scripts. After all, in my own deployments I use scripts to "install" software.
"Running: " or "Processing: " would be the default if I go with the second option. Let me know if you have thoughts.
That's a very good point, and yes it makes it difficult to configure options for end users with the current logic. Depending whether you want to release Baseline 1.3 soon, I can look into and have a PR ready by Wednesday that would follow this logic (may change, just a rough outline):
ProgressBarLabelPreparingOverride
Starting shortly...
if missing.ProgressBarLabelInstallomatorOverride
Running:
if missing.ProgressBarLabelPackagesOverride
Running:
if missing.ProgressBarLabelScriptsOverride
Running:
if missing.progressBarLabelPreparing="Starting shortly..."
progressBarLabelInstallomator="Running:"
progressBarLabelPackages="Running:"
progressBarLabelScripts="Running:"
check_progress_options()
to determine if global variables need to be overridden.set_progressbar_text()
:
set_progressbar_text "$progressBarLabelPreparing"
set_progressbar_text "$progressBarLabelInstallomator $currentDisplayName"
set_progressbar_text "$progressBarLabelPackages $currentDisplayName"
set_progressbar_text "$progressBarLabelScripts $currentDisplayName"
Either way, in order to simplify I think I want just one option and not differentiate the verbiage between packages/installomator and scripts.
For the above, I decided to have the default be the same across Installomator, Packages and Scripts however allowing the configuration of each if the developer chooses.
If you'd prefer to just have a single option that covers them all, that I have no issue and can set the logic as that in the PR.
I think thats just far too many keys and too much code for something so minor.
I'm going to opt to remove the "Installing: " portion entirely, and just display the DisplayName of the item being processed.
If you're using --video
and you want "Installing Google Chrome" to show, you can always just set that as the DisplayName value anyhow.
Implements 2 new keys for the config:
DisplayProgressBar
: Control whether a progress bar is shownDisplayProgressBarLabel
: Control whether currently processed item is shown under the progress barAdditionally resolves following regressions:
dialogJsonFile
(chmod 644
)wait
in JSON generationLogic for
DisplayProgressBarLabel
is that if a user specifies a custom--video
argument, the list view will be obstructed by the provided video in swiftDialog. The main reason we'd want video support is if clients would want to present onboarding videos while the machine is being setup.Sample Photo: