Commit graph

1551 commits

Author SHA1 Message Date
Charlie Brej
0331ff6102 protocol: Add "hide message" command to the protocol
This also renames the "message" command to "show message".
2010-09-07 20:35:28 +01:00
Colin Watson
e61e740e64 details: Implement display_message
Messages are queued until any question or password entry prompts
complete.

https://bugs.freedesktop.org/show_bug.cgi?id=29035
2010-09-07 14:32:48 -04:00
Colin Watson
76222a08e8 main: Open /proc/cmdline by absolute path
Open /proc/cmdline, not proc/cmdline.  (Technically this doesn't matter
in the daemon, since it's already done chdir ("/"), but the client does
need this and it's clearer to have them match.)
2010-09-07 15:18:52 +01:00
Colin Watson
41646ad9dd client: Open /proc/cmdline by absolute path
Open /proc/cmdline, not proc/cmdline.
2010-09-07 15:18:00 +01:00
Anisse Astier
5e8e039a00 [script] Add font selection argument to text to image capability
Enables scripts to choose the font they want with a sixth argument to
Image.Text API:
new_image = Image.Text("Hello", 1, 1, 1, 1, "DejaVu Bold,Italic 18");
2010-09-02 16:53:25 +01:00
Anisse Astier
984f4d9643 [label] Add font controls to label plugins 2010-09-02 16:48:20 +01:00
Anisse Astier
2fd764b65c [label] Factorize some font init code 2010-09-02 16:41:41 +01:00
Ray Strode
d00973529c [drm] plug driver_name leak
The previous commit accidentially added a small memory leak.
This commit mops that up.
2010-08-22 19:57:56 -04:00
Ray Strode
6e2df779ed [drm] Add preliminary support for libkms
This commit adds most of the pieces in place to use libkms, a
library by Jakob Bornecrantz, that abstracts the drm drivers
behind a common api.

Right now, we only fallback to libkms if the existing
backends won't work for the configured hardware.

In theory, this will give us pretty boot in virtual
machines, since libkms has support for the vmwgfx drm driver.

Aside from vmwgfx, libkms also supports intel and nouveau right
now.  When it supports radeon, too, I'll probably switch to
using libkms by default instead of as a fallback.  Eventually,
I'd like to drop all the non-libkms backend bits and the whole
driver vtable abstraction thing from plymouth completely.

This commit is just a copy-and-paste of one of the existing
drm backend files, with changes made to accomodate the libkms
api.  I haven't actually tested it, yet, so it will probably
need changes after I get a chance to do that.
2010-08-22 17:39:47 -04:00
Ray Strode
66980c331b [client] Update top line of help output
It said "Boot splash control client" before, but we do
boot and shutdown splashes.
2010-08-22 15:49:41 -04:00
Ray Strode
fcad4131f3 [main] Update top line of help output
It said "Boot splash control server" before, but we do
boot and shutdown splashes, and the word "control" doesn't
make sense.
2010-08-22 15:48:44 -04:00
Ray Strode
68f72b2b36 [two-step] Add prototype for exported function 2010-08-22 15:47:27 -04:00
Ray Strode
5125f624f6 [space-flares] mark functions static 2010-08-22 15:46:44 -04:00
Ray Strode
de73f0bfa4 [space-flares] Add prototype for exported function 2010-08-22 15:45:22 -04:00
Ray Strode
20562c56b8 Add prototype for exported function 2010-08-22 15:44:32 -04:00
Ray Strode
8e9086b6fd [fade-throbber] Add prototype for exported function 2010-08-22 15:43:52 -04:00
Ray Strode
11012f6d34 [throbgress] add prototype for exported function 2010-08-22 15:43:06 -04:00
Ray Strode
e242808bfb [label] add prototype for exported function 2010-08-22 15:42:12 -04:00
Ray Strode
ea135e702e [label] remove bogus whitespace 2010-08-22 15:41:13 -04:00
Ray Strode
4cd352a2ec [label] mark functions static 2010-08-22 15:40:55 -04:00
Ray Strode
38a71bb753 [throbber] drop unused variable 2010-08-22 15:39:38 -04:00
Ray Strode
24f78a2754 [throbber] fix incorrect cast 2010-08-22 15:39:08 -04:00
Ray Strode
dcf4417056 [animation] drop unsed variable 2010-08-22 15:37:16 -04:00
Ray Strode
2955b79e3c [animation] fix signedness warnings 2010-08-22 15:36:47 -04:00
Ray Strode
241575f2f7 [throbber] fix signedness warning 2010-08-22 15:35:57 -04:00
Ray Strode
2102644081 [region] clean up bogus whitespace 2010-08-22 15:34:35 -04:00
Ray Strode
f163c1e304 [region] drop unused variables 2010-08-22 15:34:06 -04:00
Ray Strode
0d72e7793b [region] mark do_test static 2010-08-22 15:33:23 -04:00
Ray Strode
29bbcb54b2 [rectangle] Remove bogus whitespace 2010-08-22 15:32:35 -04:00
Ray Strode
9cd114b72c [rectangle] drop unused variable 2010-08-22 15:31:54 -04:00
Ray Strode
01adbeeaa5 [region] Use correct type for loops
We were using ints when dealing with rectangles which
use longs.
2010-08-22 15:30:27 -04:00
Ray Strode
37c82e306c [two-step] Don't crash if throbber is unavailable
While the code took some steps to make the throbber optional,
it missed conditionalizing usage of the throbber in the
exit path.
2010-08-21 17:01:30 -04:00
Ray Strode
3d7f4fe441 [animation] Properly handle zero animation frames
In the event there are no animation frames, we should
fail to load the animation control.
2010-08-21 16:59:04 -04:00
Ray Strode
e30024211b [drm] free stored connector
For most connectors associating monitors with our virtual
'heads', we merely track their ids.  This means we don't have
to bother freeing any client side state at deallocation time.

There's one exception, though.  The main connector, connector0,
we keep an open reference to.  We do this, because it owns the
mode object we use in SetCrtc calls.

This commit ensures that connector0 for each head is properly freed
when that head is deallocated.
2010-08-20 22:10:14 -04:00
Ray Strode
dff1924448 [drm] Allow multiple monitors to share one controller
Some underpowered video cards will have multiple connectors
tied to one controller.  In this case all connectors get
the same "cloned" output automatically.

This commit detects this situation and prevents plymouth from
wastefully trying to allocate several frame buffers.  This
commit also prevents plymouth from constantly trying to switch
between those allocated frame buffers every frame of the animation.
2010-08-19 19:59:46 -04:00
Ray Strode
c9dda9295e [array] Support integer elements
Right now all array elements must be pointer values, or
at least pointer sized values.

This commit allows 32-bit integers as elements as well.
2010-08-19 19:59:37 -04:00
Ray Strode
8fc2569a5c Revert "[drm] Store color depth in buffers"
This reverts commit 4469b8719e.

It was really only needed for commit
625b82f2c3 which we've now
reverted, so revert this one, too.
2010-08-19 13:01:38 -04:00
Ray Strode
244aaa1f4d Revert "[drm] bail if not in 24bpp color mode"
This reverts commit 625b82f2c3.

Even if the kernel fb console is 8bpp, we can (and indeed do)
create our own 24bpp buffer, so the commit wasn't right.
2010-08-19 13:00:28 -04:00
Ray Strode
625b82f2c3 [drm] bail if not in 24bpp color mode
Some server hardware gets initialized into 8bpp mode to
conserve memory.  We can't work in that mode, so we now
check for it and back early.
2010-08-18 16:18:16 -04:00
Ray Strode
4469b8719e [drm] Store color depth in buffers
We only really support full color layouts at the moment
for kernel modesetting drivers, but this commit adds a
"color_depth" member to the buffer structs so we can at
least recognize non-conforming buffers.
2010-08-18 16:18:12 -04:00
Ray Strode
234d7aa97f [main] Properly handle no serial consoles
The previous commit introduced an error where
console could potentially be accessed while
NULL.

This commit addresses that problem.
2010-08-04 21:05:21 -04:00
Ray Strode
c40fd792b6 [main] Ignore duplicate serial consoles on kernel command line
Right now if a user erroneously puts, e.g., console=ttyS0 twice
on their kernel command line, plymouth will open that tty twice
and write to it twice, and read from it twice, etc.

This commit filters those duplicates out.
2010-08-03 18:29:48 -04:00
Ray Strode
57108e50d1 [boot-splash] Add built-in plugin
There are times when plymouth is running that the filesystem isn't
accessible.  For instance, if a user has /usr as a separate partition,
then when first leaving the initrd, plymouth won't have access to its
plugins.

In those cases we really need to survive if the user hits escape.

This commit compiles details into the binary.  In this way, if the
plugins aren't available, we still have something to fall back to.
2010-07-27 18:46:03 -04:00
Ray Strode
8f8a2c906e [main] Parse args at end of /proc/cmdline properly
We weren't treating \n as an acceptable boundary
2010-07-27 18:46:03 -04:00
Ray Strode
b1c8557cc5 [terminal] fix debug statement
It was missing an argument.
2010-07-23 22:19:30 -04:00
Ray Strode
3e3f6fd866 [configure] Bump configure to 0.8.4
We aren't doing a release yet, this is just prep work
for an eventual release.
2010-07-23 22:15:48 -04:00
Charlie Brej
91fada4818 [main] only look for a shell in valid returned prefixed strings
Fixes a segfault if no "init=" is present
2010-07-21 15:54:36 +01:00
Ray Strode
aa3ee475ec [main] Don't watch for keyboard input if no keyboard
In the event should_ignore_show_splash_calls () returns
true, we won't ever have a keyboard set.  This commit
make sure that we don't try to use the keyboard if its
unavailable.
2010-07-21 00:21:16 -04:00
Ray Strode
9311c9d2fd [main] Try to be smarter about init=/foo on kernel command line
Right now, we put plymouth into a sort of degraded mode when we
find init=/anything on the kernel command line.  This is so if
the user does init=/bin/sh to get fix their system, we don't
get in the way.

This breaks plymouth for things like init=/sbin/bootchartd and even
init=/sbin/init.  We've previously had a plymouth.override-splash
kernel command line option to force plymouth on in those cases.

This commit flips things around a bit.  Now init=/sbin/bootchartd
will work by default and there's a new option
plymouth.ignore-show-splash which forces things back into degraded
mode.  We also will implicitly do the degraded mode for e.g.
init=/foo/barsh
2010-07-20 23:02:54 -04:00
Ray Strode
227db7b0ff [main] Use plymouth.arg instead of plymouth:arg for kernel cmdline
Plymouth has historically used "plymouth:" to identify arguments destined
for it on the kernel command line.  Most other things seem to the period
instead of colon, so this commit just makes plymouth conform.

For compatibility, we still support the old way.
2010-07-20 22:45:21 -04:00