Ray Strode [Wed, 5 Nov 2008 19:09:26 +0000 (14:09 -0500)]
Reset colors and show text cursor on remove_window
Now that we retain the splash on screen and don't
explicitly hide it on quit, we need to make sure
that we leave the window as we found it when we
remove the window from the splash.
Ray Strode [Thu, 30 Oct 2008 19:56:05 +0000 (15:56 -0400)]
Don't try to start/stop animation twice in a row
Protect against multiple calls to start/stop animation.
This prevents crashes if the user presses escape when
the animation is already stopped, and prevents
super fast animations if --show-splash gets called twice
in a row.
Ray Strode [Thu, 30 Oct 2008 16:57:35 +0000 (12:57 -0400)]
Reset window mode in splash plugins before drawing
At some point during boot up the terminal gets kicked
out of raw mode. By resetting the window mode before
drawing we ensure it stays in raw mode, so things like
password characters draw correctly.
Charlie Brej [Mon, 27 Oct 2008 16:49:06 +0000 (12:49 -0400)]
Dither colors in non-default low depth color path
This patch modifies the low color mode (slow) path
to dither the colors before flushing them to the
scanout buffer. This improves the output quality
in those corner cases.
Ray Strode [Mon, 6 Oct 2008 15:33:39 +0000 (11:33 -0400)]
update libdir detection to reflect to plymouth dir
Previously, plymouth was installed in /usr/bin and
we'd look for it there to figure out if this is a
64-bit or 32-bit install. Now it's in /bin, so we
need to look in /bin instead.
Ray Strode [Thu, 25 Sep 2008 20:05:28 +0000 (16:05 -0400)]
Model text progress bar code after graphical one
Since both the spinfinity progress bar and text
progress bar are very similiar, it makes sense
to export parallel api for them. This just changes
things around a bit so that the two plugins and
controls more closely model each other.
This change also takes advantage of the on_boot_progress
plugin interface to get more reliable boot timing
information.
Ray Strode [Thu, 25 Sep 2008 04:45:38 +0000 (00:45 -0400)]
Move boot time accounting up a layer
This way all plugins can access it as a standard feature.
We'll need to move it a layer higher still, though, to
make sure progress bars don't get reset when the user
presses escape twice, etc (it's per-boot state, not
per-splash state).
Will Woods [Wed, 24 Sep 2008 15:13:19 +0000 (11:13 -0400)]
Add progress bar to spinfinity
The progress bar uses an estimate of boot time - defaulting to
45 seconds if unknown - and runs from 0% to 100% over that
interval.
The patch measures how long it takes to boot and writes that
value to /var/lib/boottime at plugin shutdown. (This is kind of
a nice side-effect - we get actual *measured* boot speed data,
rather than just "feels snappier!")
There's an associated script, update-boottime, that crams
/var/lib/boottime into your initrd, so this splash plugin can
use *that* to more closely approximate the time required to
boot.
This is similar to the OS X "WaitingForLoginWindow" process -
see
http://daringfireball.net/misc/2005/04/tiger_details#waitingforloginwindow
for details on that.
It's an effective placebo - startup *seems* faster with the
progress bar, even though it's exactly the same.
You can enable it by adding 'timebar:1' to the boot commandline.
This will make it run in linear-time mode - the progress bar
moves linearly from 0% to 100%.
Using 'timebar:2' modifies the percentage calculation to use an
exponential function - this makes the bar run faster at first,
then slow as it approaches 100%. This makes startup seem even
faster.
Ray Strode [Wed, 24 Sep 2008 14:58:19 +0000 (10:58 -0400)]
Fix build, remove some superfluous code
I was a little quick to the trigger in the
previous commit. This commit fixes the build
by passing in the right arguments to the function
and also clears out a duplicated chunk of code.
Ray Strode [Wed, 24 Sep 2008 14:38:27 +0000 (10:38 -0400)]
Hide text splash on shutdown
We always want to hide the text splash when plymouth
quits. Even if --retain-splash was called. Cross
fading from text to graphics doesn't make too much
sense.
Ray Strode [Mon, 22 Sep 2008 03:12:12 +0000 (23:12 -0400)]
Add new interface to make splash plugin go to idle
There are times when we want to make the splash
screen stop any pending animations and got to an
idle state. For instance, right before resuming,
or right before loading up GDM. It may take a
few frames for the splash screen to get there though.
This interface tells the splash screen it needs to
idle and provides a trigger for it to fire when it's
actually made it to an idle state.
Ray Strode [Mon, 22 Sep 2008 02:44:19 +0000 (22:44 -0400)]
Add new trigger object
This just calls a closure at a later point in time.
It will get used for having the splash plugin perform
tasks that will make the daemon defer responding to
the client.