Commit graph

863 commits

Author SHA1 Message Date
Ray Strode
e4e91bad03 [glow] Add fade between frames in glow theme 2009-05-20 17:27:53 -04:00
Ray Strode
1d835fa552 [two-step] Add fade to progress animation
One issue with the two-step plugin is that during the initial boot
progress the frames can be updated several seconds apart from each
other.  This can look jumpy.  We can now optionally fade between
the frames to make the experience be a little smoother.
2009-05-20 17:27:53 -04:00
Ray Strode
bb19232b41 [two-step] Add support for a "corner image"
This is so the OLPC theme can have a
"Powered by blah" logo in the corner of the screen.
2009-05-20 17:27:53 -04:00
Ray Strode
d35ec8bd03 [two-step] Pull background color from theme
The OLPC theme looks best when it's white, so we need to be able to
specify the background color from the theme.  If the theme doesn't
specify a background color, we fall back to the old behavior of using
the distro default.
2009-05-20 17:27:53 -04:00
Ray Strode
c9e00b603e [splash] Rename fade-in plugin to fade-throbber
We're trying to keep a distinction between
plugin and theme.
2009-05-20 17:27:53 -04:00
Ray Strode
c56ce86f78 [splash] Rename solar plugin to space-flares
We're trying to keep a distinction between
plugin and theme.
2009-05-20 17:27:53 -04:00
Ray Strode
3cd5b5f2e0 [splash] Rename spinfinity plugin to throbgress
It's the theme that makes it spinfinity,
not the plugin.  The plugin is more generic.
2009-05-20 17:27:53 -04:00
Ray Strode
e2ed2b9812 [splash] Rename glow plugin to two-step
Now the "glow" theme is just one possible manifestation of the
"two-step" plugin.
2009-05-20 17:27:52 -04:00
Ray Strode
d974256b2f [splash] Drop pulser plugin
It's ugly and doesn't pass the quality sniff test.
2009-05-20 17:27:52 -04:00
Ray Strode
6acf834f1e [splash] Split splashes into plugins and themes
Some of the plugins (well, the glow plugin) would be a lot more
versatile if they could be reused for multiple splashes with different
images.

This commit splits boot splashes into two parts, the plugin engine which
does all the dirty work, and the theme which says which plugin to use
and optionally how the plugin should work (using plugin specific
key/value pairs)
2009-05-20 17:27:52 -04:00
Charlie Brej
a4b8ec711a [key-file] Use hashtables instead of lists
Not really any performance advantage but it makes the code a little simpler.
2009-05-20 17:27:52 -04:00
Ray Strode
f74090a5bb [libply] Add new keyfile class
This is a very lame keyfile parser.  We'll be able to use it to load
some metadata about the plugins.

The idea is that plugins will shift to being engines that can be
leveraged from multiple splash themes.  This way, for instance, the glow
plugin (which will be renamed) can be used to implement several
splashes.
2009-05-20 17:27:52 -04:00
Ray Strode
03139ac838 [window] Don't force text mode if debugging is on
It's not that much more work to hit ctrl-t, and now
that we log messages to plymouth-crash.log it's a lot
less useful to see them on screen.
2009-05-20 17:27:52 -04:00
Charlie Brej
d45a6e4915 [daemon] Update tests to include compile correctly
Adds ply-list.c/h to all tests automake files which use ply-logger.c.
Adds PLYMOUTH_TIME_DIRECTORY/PLUGIN/THEME_PATH when ply-boot-splash.c is used.
Adds PLY_BOOT_SPLASH_MODE_BOOT_UP to the ply_boot_splash_show call.
2009-05-20 17:27:52 -04:00
Charlie Brej
1f7e2c0772 [daemon] Free the debug buffer only after printing the last trace message
Was segfaulting or printing failed assertios just before exitting.
2009-05-20 17:27:52 -04:00
Ray Strode
77dbc07593 [daemon] Dump log to plymouth-crash.log on crash
This will be useful for debug purposes.

It's implemented by adding the concept of
"filters" to the logger code.  Each time a message
is logged it is passed through all registered
filter handlers and then the output of the filters
are what is actually logged.

In this case, we pass the messages through verbatim,
but also redirect them to a debug buffer.

We only do this redirection when plymouth:debug is
used.
2009-05-20 17:27:51 -04:00
Ray Strode
4596395fe6 [throbber] Fix call to remove_frames
ply-throbber was passing in the frames directly
instead of the throbber object
2009-05-20 17:27:41 -04:00
Ray Strode
fd0fda1b82 [animation] Fix call to remove_frames
ply-animation was passing in the frames directly
instead of the animation object
2009-05-20 17:00:28 -04:00
Ray Strode
8be743e8cd [progress-animation] Fix call to remove_frames
ply-progress-animation was passing in the frames directly instead of the
progress object
2009-05-20 17:00:28 -04:00
Ray Strode
79baa323e6 [event-loop] Don't crash by running removed timeouts
We used to run and remove timeouts in a loop.  This
breaks the case where the dispatched timeout handler
removes the timeout itself.

We fix it by making timeout handling a two pass thing.
First we find which handlers need to be dispatched,
and move them to their own list.  Then we run through
the new list and dispatch the handlers.
2009-05-20 17:00:27 -04:00
Ray Strode
d5948e5a91 Switch to tty 63 on shutdown
This is less than ideal, but side-steps weird interactions
between init, X, and plymouth.
2009-05-07 23:43:46 -04:00
Ray Strode
841068ba12 Hang around until killed by init at shutdown
init does two rounds of killing at shutdown:
a round of SIGTERMs and a round of SIGKILLs.

We want to stay alive until the SIGKILL round
so we ignore the SIGTERM signal.
2009-05-07 14:46:03 -04:00
Ray Strode
8124531ef1 Pass the mode plymouthd is running to splashes
We don't want to show progress bars and things for
shutdown, so pass the mode to the plugins so they can
just do a static image.
2009-05-07 14:38:50 -04:00
Ray Strode
81cea28b40 Add stub INSTALL file 2009-05-02 01:10:19 -04:00
Charlie Brej
cfeb45e1d3 Pause progress by default on password and question queries
Plymouth client ask-for-password and ask-question commands have their option
"--pause-progress" changed to "--dont-pause-progress". By default progress is
paused and "--dont-pause-progress" has to be supplied to not pause.
2009-03-31 22:13:20 +01:00
Ray Strode
9451b4d129 Make sure to clean up ptm when detaching
Otherwise we hit an assert next time we attach
2009-03-19 09:39:18 -04:00
William Jon McCann
4631059c02 don't create a new splash every time show is called
Reuse the existing splash.
2009-03-18 18:54:56 -04:00
Jonathan Greig
59a7196c4a Fix build when ENABLE_FADE_OUT is defined in spinfinity
The variable "i" wasn't be declared, but was being used to
loop.
2009-03-16 11:00:31 -04:00
Ray Strode
b7357a90cf Support "splash" in addition to "rhgb" on kernel command line
We used "rhgb" because that's what Fedora users were used to
instinctively removing when graphical boot messes up.  This
isn't a very intuitive (or very upstream-y) name though.

Now we check for "rhgb" or "splash"
2009-03-13 10:11:19 -04:00
Charlie Brej
a0f63466b9 When setting term to buffered without an attributes_saved, use generated ones.
A local term_attributes was constructed but not used.
2009-03-11 11:04:49 +00:00
Charlie Brej
5d4b4d58d0 Initialise state->showing_details at show_splash
Only effects us when running without rhgb in the kernel line, by having to
press Esc twice to get the default splash.
2009-03-11 10:53:07 +00:00
Ray Strode
9e3324a465 Reset to text mode anytime we're about to print text
If we don't then someone during boot up may change
out from raw when we aren't looking.

Maybe we should use TIOCSLCKTRMIOS to prevent that
from happening? Or maybe we should bypass the tty
for input entirely and use evdev?
2009-03-10 14:46:59 -04:00
Ray Strode
546fbdc0b8 Remove event handlers on destroy in plugins
This is because we can end up in scenarios
where a plugin gets destroyed, and readded
without getting hidden in between.
2009-03-09 12:28:27 -04:00
Ray Strode
2b0d185546 Factor handler registration code out into separate functions in plugins
This will make it easier to unregister the handlers from both
hide and destroy
2009-03-09 12:28:25 -04:00
Charlie Brej
cdd49aac43 Fix password entry dialogue in fade-in plugin.
Previously ply-entry was crashing with an assertion "entry->loop == NULL"
whenever the entry was updated. The change is basicly a copy of the working
version from spinfinity.
2009-03-09 14:51:08 +00:00
Ray Strode
4e1004c19d exit plymouth-set-default-plugin cleanly when --rebuild-initrd isn't given 2009-03-06 18:03:28 -05:00
Ray Strode
ad01f5d20c Don't average the previous boot time with current boot time
It's not always an improvement and it will always be worse
the second boot of a persistent live image.
2009-03-06 17:06:16 -05:00
Ray Strode
ade8cf4879 Always allocate our own pty master when attaching
Previously, we'd let the caller pass one in, but
I don't think there's much point in allowing that.
2009-03-05 14:40:31 -05:00
Ray Strode
c758b71fac Allow -1 to get passed to ply-terminal-session
This is coming from the drop-nash branch.  It lets
the caller of plymouth not have to create a pty master.
2009-03-05 14:38:28 -05:00
William Jon McCann
f9fe54e890 make the glow plugin use its own icons
Since the plugins may be packaged separately it isn't
kosher to share another plugins icons.
2009-03-04 17:27:04 -05:00
William Jon McCann
75372420ea fix the help text for the color stops
Make the help text use the proper argument name.
2009-03-04 17:10:57 -05:00
William Jon McCann
d449949c65 add a glow plugin
This plugin will progress through a sequence of images until
the progress reaches 90% complete.  At that point it will run
an animation sequence.
2009-03-04 17:10:24 -05:00
William Jon McCann
85823e5295 add a simple progress sequence helper
This is similar to the progress bar except that it uses a
sequence of images for the stages of the progress.
2009-03-04 17:10:24 -05:00
William Jon McCann
94303471c0 add simple one time animation helper
This will play a sequence of images from beginning to end at
a fixed frame rate.  It differs from the throbber in that it starts
at the 0th image and does not repeat.
2009-03-04 17:10:19 -05:00
William Jon McCann
bc38d7f667 use the height in the max height comparison
Fixes what was likely a copy/paste bug.
2009-03-03 22:28:57 -05:00
William Jon McCann
2d382570be use the configured colors for the gradient
Use the colors specified at configure time instead of
hard-coded values.
2009-03-03 21:54:53 -05:00
William Jon McCann
a46239affe fix the trace messages when enabling/disabling logging
The sense of the messages was reversed.
2009-02-26 09:41:58 -05:00
William Jon McCann
d68840ca3e remove spurious disabling of console redirection
Revert accidental commit from:
6b9011d164
2009-02-26 09:41:58 -05:00
William Jon McCann
e1a644b69f add option to enable more compiler warnings
Compiler warnings are helpful for finding latent bugs.
2009-02-26 09:41:57 -05:00
William Jon McCann
26d9f676dd add way to detect if an option was set or not
With integer options there's no obvious value to mean "unset" like there is for
string types (and to a lesser extent boolean types), so this commit
adds a mechanism.
2009-02-26 09:41:57 -05:00