* I really hope we can kill head_mode some day
* Break pll code out from mode code
* The LVDS and Digital are smooshed together and
likely need broken apart.
* Save the package state before attempting to install/uninstall the package.
* In the case of failure set the package state back to what it was.
* Use the synchronous version of BAlert so that the package state won't
change until the user clicks the Close button on the dialog.
Fixes#10838
This allows the Cmd+A key shortcut to select all text on
the subject control. You could already Select All from the
View menu but this is more convinient.
Fixes#12361
* The same mechanism (and the same PostInstallScript) is used for this.
* If a file first_login exists in ~/config/settings/boot, the first-login
scripts are launched, and the file removed.
* This fixes adding the deskbar tray icons even when there is no Deskbar
running yet (for example on first boot when the FirstBootPrompt
starts), or, IOW bug #12275.
* Since we're disk bound, and not CPU bound, it doesn't make much sense
to restrict the number of threads on the number of CPUs.
* It's still not completely independent of the number of CPUs now,
though: we'll have 3 * CPU count worker threads.
* This was the harmless part: a job was been requeued that already was
being launched.
* I was already aware of this one, and only accidentally stumbled over
the non-harmless case in the JobQueue code when I tried to fix that
little issue... (ie. never ignore warnings, even if you think you
know what's going on).
* A dependent job was requeued even if it wasn't part of the queue
before. The code relied on dependent jobs being already enqueued;
but that cannot be guaranteed.
* If a job failed, its dependent jobs are now also set to failed, so
that they won't be requeued at a later point.
* This caused some of the "Launching xxx failed: Operation not allowed"
messages in the boot process. Those actually weren't harmless, and
could mess up the natural job order.
* Triggered whenever a volume is mounted (surprise!).
* There is no way to specify which volume you are interested in for now
(if someone knows a good use case, I'd be willing to add that,
though :-)).
* Sticky events are events that keep their signal raised, ie. even if
a job is initialized afterwards, it will still be triggered.
* Consolidated naming for external events.
* Events are now registered once they are actually being used. This
allows them to allocate the resources they need to do their thing.
* With events being registered, this proved to be confusing, and it also
helps to differentiate between event objects within the daemon, and
events coming from external sources.