Commit graph

663 commits

Author SHA1 Message Date
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
Charlie Brej
e7304b9b76 Skip pixel blending if alpha is 0
It would be pointless to do the computation.
2008-09-20 18:20:59 -04:00
Charlie Brej
88c85c116d Add new list functions
Add function to clear list of all nodes, function to sort
nodes in list, and function set node user data.
2008-09-20 18:18:16 -04:00
Charlie Brej
3e34fba653 Add resize and rotate methods to image object
Some splash plugins may want to rotate and scale
sprites on screen, so these functions may be useful.
2008-09-20 18:12:02 -04:00
Charlie Brej
527301416a Plug various memory leaks 2008-09-20 17:56:43 -04:00
Christoph Brill
b6da503604 Fix sandbox builds (by using DESTDIR)
plymouth-update-initrd was getting passed
the logo location without DESTDIR
2008-09-11 23:01:37 -04:00
Christoph Brill
26b95a63de Fix the build order of scripts/ and images/
The image needs to be installed before it can be
processed with the script.
2008-09-11 22:59:27 -04:00
Ray Strode
69cec67904 Don't reset cursor position when closing window
The splash plugins should clear screen on their own.
2008-09-10 19:29:41 -04:00
Ray Strode
dee4a85787 Require plymouthd to be run as root 2008-09-10 14:19:47 -04:00
Ray Strode
ea53cbf0e8 Force shadow frame buffer to have cairo compatible row stride
Previously it would keep the rowstride of the scanout buffer,
which isn't right.  The entire point of the shadow buffer is
that it has a known at compile time constant memory layout.

(This change fixes password prompts on some hardware)
2008-09-10 13:31:47 -04:00
Ray Strode
de640c616f Fix typo
forgot a state->
2008-09-10 13:09:03 -04:00
Ray Strode
be0130677f don't assert if no window could be made 2008-09-10 10:47:16 -04:00
Ray Strode
a284953e42 Actually fix serial console loop 2008-09-10 10:46:33 -04:00
Ray Strode
ca07ac0c34 Fix console iterating patch from two commits ago
It was an infinite loop
2008-09-05 15:09:07 -04:00
Ray Strode
d12ae10a70 Strip out , when parsing console
Options can be passed to the console, we should
ignore them when opening the console.
2008-09-05 14:31:08 -04:00
Ray Strode
a07d23afd4 Use the last console instead of first console
If the kernel command line specifies more than
one console, then the last console is /dev/console
2008-09-05 14:30:19 -04:00
Ray Strode
335db187c6 Show password prompts for details plugin 2008-09-05 11:23:52 -04:00
Ray Strode
eaabb6a04b Reset details to raw mode when getting password
For some reason it's getting reset during boot up.
2008-09-05 11:20:54 -04:00
Ray Strode
223a6fca83 Don't send ack in addition to cached response
Just a missing return statement
2008-09-04 17:43:26 -04:00
Ray Strode
e962a0bbd9 respond w/ "" if user hits esc to password prompt
This is so when we load the next plugin it won't
get confused.
2008-08-27 16:01:28 -04:00
Ray Strode
5534d814aa Don't try to print prompt in text plugin, if there is not prompt
Fixes a crasher.
2008-08-27 14:08:12 -04:00
Ray Strode
6da3b8ffa6 Don't try to use cached passwords if none get returned
It causes a pretty instant crash.
2008-08-27 12:10:08 -04:00
Ray Strode
8fc9c8f513 Add ply-label-plugin.h to Makefile 2008-08-27 11:41:08 -04:00