Commit graph

685 commits

Author SHA1 Message Date
Charles Brej
4cd8fd2d01 Fix signedness issue in fb area_intersect code 2008-10-03 12:30:31 -04:00
Ray Strode
088b03a414 Add solar plugin to configure and Makefile
Apparently, I forgot to do this before.
2008-10-01 16:20:24 -04:00
Ray Strode
2fa348c776 Add new "solar" plugin by Charlie Brej
This one is designed to fit in with the
F10 Solar theme.  It features a sun with
blue flares.
2008-09-29 00:02:48 -04:00
Ray Strode
bd9075ba26 remove some ply-answer cruft that lingered
The tests Makefiles needed updating.
2008-09-28 23:40:33 -04:00
Ray Strode
700992202c Make 3 text progress bars have parabolic relation
Assocate the 3 progress bars using parabolic
equations based on advice from Soeren.
2008-09-28 23:40:33 -04:00
Ray Strode
bbd9b2f58a Interpolate stored boot time with default time
This is so we get a smooth progress bar after
/var/lib/plymouth/boot-duration is read.
2008-09-28 23:40:31 -04:00
Ray Strode
6d31502f03 Raise default boot duration to one minute
45 seconds is probably a little on the low
side for most machines.
2008-09-28 23:40:29 -04:00
Ray Strode
3e8df97a88 Force the Will(n) function to approach 1.0
It wasn't nearing 1.0 at the end of the boot
cycle.
2008-09-28 23:40:29 -04:00
Ray Strode
ffa357bf17 Hide spinfinity progress bar when stopping animation 2008-09-28 23:40:29 -04:00
Ray Strode
06c303d818 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.
2008-09-28 23:40:28 -04:00
Ray Strode
aa8557ef59 Fix format string in fprintf call
When writing out boot duration,
we're passing in a double, not a
a float, but were using %f.
2008-09-28 23:40:28 -04:00
Ray Strode
3919633352 Use clock_gettime instead of gettimeofday
The latter gets all screwy during boot up.
2008-09-28 23:40:28 -04:00
Ray Strode
6ecc981696 add "pulser" to list of acceptable default plugins 2008-09-28 23:40:28 -04:00
Ray Strode
2a1f24f597 Add new "text" plugin from Adam Jackson
This one is prettier than the previous
one that's been deemed "cylon" and "kit"
before.
2008-09-28 23:40:28 -04:00
Ray Strode
4dbf0da66e Rename "text" plugin to "pulser"
This is in preparation for merging ajax's new
text plugin.
2008-09-28 23:40:27 -04:00
Ray Strode
0d187adf78 Clamp boot progress between 0.0 to 1.0 2008-09-28 23:40:27 -04:00
Ray Strode
db23a67c1f Create /var/lib/plymouth on install 2008-09-28 23:40:27 -04:00
Ray Strode
2f277ad695 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).
2008-09-28 23:40:27 -04:00
Ray Strode
47cc4b3aa8 Replace ply-answer with a ply-trigger
They were basically the same thing, so no reason
to have duplicated code.
2008-09-28 23:40:27 -04:00
Ray Strode
86f1383a7b Allow ply-trigger to have multiple pull handlers
This will be useful for hooking into a trigger
at multiple layers in the code.
2008-09-28 23:40:27 -04:00
Ray Strode
1ec380a44e Ignore extra calls to --show-splash 2008-09-28 23:40:26 -04:00
Ray Strode
19a6f20290 Split out progress bar into its own file
Other splash screens might want to use it.
2008-09-28 23:40:26 -04:00
Ray Strode
7200c851ea Don't try to use window if it's not available in text plugin 2008-09-28 23:40:26 -04:00
Ray Strode
4e0403f951 Rename boot_time to boot_duration
It's not a timestamp like start_time or wait_time,
but instead is the number of seconds boot took last
time.
2008-09-28 23:40:26 -04:00
Ray Strode
8a38fdd0b0 Add some underscores to variable names
boottime, waittime, starttime etc doesn't
follow existing conventions.
2008-09-28 23:40:26 -04:00
Ray Strode
401c201a86 Get rid of bar_mode in spinfinity plugin
We'll just use the exponential mode, since
it gives the most bang for the buck.
2008-09-28 23:40:25 -04:00
Ray Strode
46cc1884cf Put time file in /var/lib/plymouth/boot-time
It's pretty plymouth specific after all.
2008-09-28 23:40:25 -04:00
Will Woods
1cd0b37954 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.
2008-09-28 23:40:25 -04:00
Dennis Gilmore
b183cdf6fe Make pango an optional build time dependency
Default to needing it.
2008-09-26 09:39:24 -04:00
Ray Strode
56213a3a99 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.
2008-09-24 10:58:19 -04:00
Ray Strode
93db4c97a6 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.
2008-09-24 10:38:27 -04:00
Ray Strode
2386de1637 Add new "report-error" subcommand
It's just like --details but better named
2008-09-23 15:54:38 -04:00
Ray Strode
a696a35be6 Limit number of unlock attempts
Default to 3, but allow override from
command line.
2008-09-23 15:33:47 -04:00
Ray Strode
644fe3d4fa Go back to text mode when hiding spinfinity splash 2008-09-23 14:29:39 -04:00
Ray Strode
8dba43de52 implement become_idle interface in spinfinity
This means extending throbber to optionally take
a trigger to stop when ready.
2008-09-23 14:29:39 -04:00
Ray Strode
2bb73dcfe3 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.
2008-09-23 14:29:39 -04:00
Ray Strode
6f329db9eb 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.
2008-09-23 14:29:39 -04:00
Ray Strode
1c3f19a184 Tell GDM to do a smooth transition for spinfinity
If spinfinity ran and we end up exiting with it
still on screen, tell GDM so that it can open
X up on the same display and do a smooth transition.
2008-09-23 14:29:38 -04:00
Ray Strode
8d492071d7 Track visibility state of spinfinity plugin
If it's still visible when it's destroyed,
we'll want to tell GDM to do a smooth
transition.
2008-09-23 14:29:38 -04:00
Ray Strode
a90c56ce73 Add "quit" subcommand to boot client
It's like --quit but has a --retain-splash option,
so the boot splash can stay on screen after plymouthd
exits.
2008-09-23 14:29:38 -04:00
Ray Strode
3a66248fd1 detach splash plugin from event loop before unload
Since we won't necessarily hide on the unload
path anymore, we need to explicitly clean up our
connection to the main loop.
2008-09-23 14:28:07 -04:00
Ray Strode
2028e64e8b Only hide boot splash on quit if told to do so
Extend the daemon-client protocol to include a
"retain-splash" flag to the quit request.  If
it's set then we don't hide the boot splash.
2008-09-23 14:27:39 -04:00
Ray Strode
a7bc5f28a7 Add {add,remove}_window funcs to splash plugins
We'll be able to have more than one window for
serial consoles, etc.
2008-09-23 14:21:48 -04:00
Ray Strode
2097e19f31 Don't unload plugin when hiding it
Since it gets unloaded on free() now, we need to
make sure it doesn't get unloaded on hide.
2008-09-22 08:44:32 -04:00
Ray Strode
8a6d13f956 Unload plugin instead of hiding it on free()
We basically don't want to ever implicitly hide on
the shutdown path, only when asked to explictly,
or when the splash plugin itself deems it
necessary.
2008-09-22 08:44:32 -04:00
Ray Strode
5c81e95480 Unload splash plugin instead of hiding on quit
It may decide to keep the splash up after it
exits.
2008-09-22 08:44:32 -04:00
Ray Strode
ebbde8f409 Don't force text mode on quit
Leave it up to the splash plugin to decide
2008-09-22 08:44:32 -04:00
Ray Strode
dc1eb48ac9 Add Charlie Brej to copyright holder lists
He added some new functions that he owns
copyright to.
2008-09-20 18:59:21 -04:00
Charlie Brej
caf2ac5839 Add new functions for filling fb within clip rect 2008-09-20 18:25:57 -04:00
Charlie Brej
8b2aebbc0b Allow fb areas to have out of bounds x and y values
Sprites may move partially past the edge of the screen.
Allow that, and just clip to the screen when necessary.
2008-09-20 18:25:36 -04:00