]> git.ipfire.org Git - thirdparty/plymouth.git/log
thirdparty/plymouth.git
15 years ago[drm] Add more debug messages
Ray Strode [Fri, 26 Mar 2010 13:00:25 +0000 (09:00 -0400)] 
[drm] Add more debug messages

These messages give a clearer view into what's
happening when moving drawing from plymouths
buffer to the kernel's console buffer.

15 years ago[main] Watch-for-keystroke should also be sensitive to enter
Steve Langasek [Mon, 29 Mar 2010 10:51:24 +0000 (11:51 +0100)] 
[main] Watch-for-keystroke should also be sensitive to enter

Because enter and general keystrokes are handled separately, enter would not
activate the keystroke trigger. Now, you can watch specifically for an enter
press, and enter is accepted as a general any-key trigger.

15 years ago[plymouth-set-default-theme] Replace tabs with spaces
Charlie Brej [Thu, 25 Mar 2010 22:42:26 +0000 (22:42 +0000)] 
[plymouth-set-default-theme] Replace tabs with spaces

15 years ago[script] Allow alpha color component to be set when generating text images
Charlie Brej [Tue, 23 Mar 2010 22:28:22 +0000 (22:28 +0000)] 
[script] Allow alpha color component to be set when generating text images

The Image.Text function now accepts an alpha parameter of the color used. If
not set this will be assumed to be 1 (thus reverse compatible).

15 years ago[plymouth-set-default-theme] handle old symlink configuration file
Frederic Crozat [Wed, 24 Mar 2010 21:03:50 +0000 (17:03 -0400)] 
[plymouth-set-default-theme] handle old symlink configuration file

15 years ago[configure] bump to 0.8.1 0.8.1
Ray Strode [Wed, 24 Mar 2010 21:03:50 +0000 (17:03 -0400)] 
[configure] bump to 0.8.1

15 years ago[client] add update subcommand
Ray Strode [Wed, 24 Mar 2010 20:43:19 +0000 (16:43 -0400)] 
[client] add update subcommand

This is to replace the old style --update option.

15 years ago[client] add hide-splash and show-splash subcommands
Ray Strode [Wed, 24 Mar 2010 20:43:19 +0000 (16:43 -0400)] 
[client] add hide-splash and show-splash subcommands

This is to replace the old style --hide-splash and --show-splash
options.

15 years ago[client] add new update-root-fs command
Ray Strode [Wed, 24 Mar 2010 20:38:40 +0000 (16:38 -0400)] 
[client] add new update-root-fs command

This supercedes --newroot and --sysinit into one
command following the newer subcommand method of
using the plymouth client.

15 years ago[key-file] Add more debug spew
Ray Strode [Wed, 24 Mar 2010 20:25:30 +0000 (16:25 -0400)] 
[key-file] Add more debug spew

15 years ago[key-file] Ensure items_matched variable is initialized
Ray Strode [Wed, 24 Mar 2010 20:24:16 +0000 (16:24 -0400)] 
[key-file] Ensure items_matched variable is initialized

The loop condition checks it.  If we bail early because of
comment, we don't want to end up with undefined behavior.

15 years ago[drm] Add debugging spew
Ray Strode [Wed, 24 Mar 2010 19:56:20 +0000 (15:56 -0400)] 
[drm] Add debugging spew

Explain when we fall back to frame buffer renderer on single
head TTM systems.

15 years ago[frame-buffer] add debug spew
Ray Strode [Wed, 24 Mar 2010 19:20:17 +0000 (15:20 -0400)] 
[frame-buffer] add debug spew

15 years ago[set-default-theme] Another fix with commented group lines
Ray Strode [Wed, 24 Mar 2010 19:10:35 +0000 (15:10 -0400)] 
[set-default-theme] Another fix with commented group lines

15 years ago[key-file] fix debugging message
Ray Strode [Wed, 24 Mar 2010 19:01:09 +0000 (15:01 -0400)] 
[key-file] fix debugging message

15 years ago[key-file] Add support for comments
Ray Strode [Wed, 24 Mar 2010 18:59:14 +0000 (14:59 -0400)] 
[key-file] Add support for comments

15 years ago[main] fixed logic inversion when loading config file
Ray Strode [Wed, 24 Mar 2010 18:42:10 +0000 (14:42 -0400)] 
[main] fixed logic inversion when loading config file

15 years ago[key-file] Add debugging messages
Ray Strode [Wed, 24 Mar 2010 18:11:47 +0000 (14:11 -0400)] 
[key-file] Add debugging messages

15 years ago[main] fix debugging message
Ray Strode [Wed, 24 Mar 2010 18:08:05 +0000 (14:08 -0400)] 
[main] fix debugging message

15 years ago[set-default-theme] properly handle commented out [Daemon] section
Ray Strode [Wed, 24 Mar 2010 17:59:17 +0000 (13:59 -0400)] 
[set-default-theme] properly handle commented out [Daemon] section

Before we would assume there was a valid [Daemon] section already
if a comment contained [Daemon] in it.

15 years ago[main] Fix config file look up properly
Ray Strode [Wed, 24 Mar 2010 17:53:37 +0000 (13:53 -0400)] 
[main] Fix config file look up properly

Before we were writing the config file splash into the
override_splash_path variable instead of the variable meant for
that config file.

15 years ago[drm] s/intel/radeon/ in debug statement
Ray Strode [Wed, 24 Mar 2010 17:42:17 +0000 (13:42 -0400)] 
[drm] s/intel/radeon/ in debug statement

15 years ago[script] Unref the correct element 0.8.0
Charlie Brej [Wed, 24 Mar 2010 16:26:50 +0000 (16:26 +0000)] 
[script] Unref the correct element

Typo in previous commit. Should have unreffed the hash and not the function
object.

15 years ago[script] Strings automatically adopt from the global String template
Charlie Brej [Wed, 24 Mar 2010 15:55:59 +0000 (15:55 +0000)] 
[script] Strings automatically adopt from the global String template

This means string operations now can be applied on raw strings rather than
having to cast them using the String() class template wrapper.

String("something").CharAt(3)
now becomes simply:
"something".CharAt(3)

15 years ago[script] Use a pre computed value rather than accessing directly
Charlie Brej [Wed, 24 Mar 2010 13:35:13 +0000 (13:35 +0000)] 
[script] Use a pre computed value rather than accessing directly

The name_exp was already set to the thing we wanted, so use that. Less
confusing since other sections use it.

15 years ago[drm] Don't remove drm fb's that we don't know about
Ray Strode [Wed, 24 Mar 2010 14:19:07 +0000 (10:19 -0400)] 
[drm] Don't remove drm fb's that we don't know about

When we access to the kernel console's fb, we don't own
it and shouldn't remove it.

This is like commit 808e129fd144e4065c08314723837b4141e90355,
but for radeon and nouveau instead of intel.

15 years ago[drm] Add more debug spew
Ray Strode [Wed, 24 Mar 2010 14:08:09 +0000 (10:08 -0400)] 
[drm] Add more debug spew

15 years ago[drm] Compile warning clean ups
Ray Strode [Wed, 24 Mar 2010 13:42:53 +0000 (09:42 -0400)] 
[drm] Compile warning clean ups

15 years ago[script] Rearrange script_obj_direct_as_hash_element return conditions
Charlie Brej [Wed, 24 Mar 2010 11:11:28 +0000 (11:11 +0000)] 
[script] Rearrange script_obj_direct_as_hash_element return conditions

Testing for the presence and falling though to return a NULL makes more sense.

15 years ago[main] Adds a declaration of toggle_between_splash_and_details
Charlie Brej [Wed, 24 Mar 2010 10:56:18 +0000 (10:56 +0000)] 
[main] Adds a declaration of toggle_between_splash_and_details

Fixes a compile error about a static declaration following an implicit
declaration.

15 years ago[drm] Add debug spew
Ray Strode [Wed, 24 Mar 2010 04:14:31 +0000 (00:14 -0400)] 
[drm] Add debug spew

15 years ago[main] Add debug spew
Ray Strode [Wed, 24 Mar 2010 03:58:34 +0000 (23:58 -0400)] 
[main] Add debug spew

15 years ago[main] move guts of on_escaped_press to new function
Ray Strode [Wed, 24 Mar 2010 03:54:17 +0000 (23:54 -0400)] 
[main] move guts of on_escaped_press to new function

Before we were calling the handler directly when it
wasn't in response to an escape key press event, which
was a little groaty.

15 years ago[boot-server] Add debugging spew
Ray Strode [Wed, 24 Mar 2010 03:49:31 +0000 (23:49 -0400)] 
[boot-server] Add debugging spew

This will just help down the line if there are problems.

15 years ago[main] Fix crash when config files don't exist
Ray Strode [Wed, 24 Mar 2010 03:26:05 +0000 (23:26 -0400)] 
[main] Fix crash when config files don't exist

I wasn't handling NULL return value correctly before.

15 years ago[script] Silence compiler warning
Ray Strode [Wed, 24 Mar 2010 03:12:17 +0000 (23:12 -0400)] 
[script] Silence compiler warning

15 years ago[daemon] Actually install shipped config files
Ray Strode [Wed, 24 Mar 2010 03:00:11 +0000 (23:00 -0400)] 
[daemon] Actually install shipped config files

commit cf766763f26ad0bb8e001a9ecf65b00f4c766e3c was
messed up in more than one way.  The biggest problem
was that It didn't include the Makefile changes needed
to ship the files added to the repository.

This commit fixes that.

15 years ago[defaults] Drop some debug goo that sneaked in
Ray Strode [Wed, 24 Mar 2010 02:57:06 +0000 (22:57 -0400)] 
[defaults] Drop some debug goo that sneaked in

15 years ago[branch-merge] Add daemon configuration mechanism
Ray Strode [Tue, 23 Mar 2010 21:56:24 +0000 (17:56 -0400)] 
[branch-merge] Add daemon configuration mechanism

This series of commits adds a few configuration files
to replace the kludgey symlink we use now for theme
specification.

In the future, these config files could potentially
be used for other things as well.

15 years ago[daemon] Ship default configuration files config-file
Ray Strode [Tue, 23 Mar 2010 21:54:32 +0000 (17:54 -0400)] 
[daemon] Ship default configuration files

This commit adds plymouthd.defaults and plymouthd.conf.

The former is for distributions to override, and the latter
is for administrators to change.

15 years ago[set-default-theme] Write plymouthd.conf instead of symlink
Ray Strode [Tue, 23 Mar 2010 21:48:48 +0000 (17:48 -0400)] 
[set-default-theme] Write plymouthd.conf instead of symlink

Now that the daemon looks for the default theme in configuration
files, we should make plymouth-set-default-theme write the
configuration files instead of doing symlinks.

That's what this commit does.

15 years ago[main] Try getting default theme from config file
Ray Strode [Tue, 23 Mar 2010 20:46:56 +0000 (16:46 -0400)] 
[main] Try getting default theme from config file

Right now we figure out the default theme via a symlink.
This apprach is very simple, but is also a little cumbersome.

It means as the default theme is changed around we have to move
the symlink around.

The symlink is in /usr.  We really shouldn't be mucking with
/usr when changing defaults.

This commit checks the filesystem for two config files:

/usr/share/plymouth/plymouthd.defaults
and
/etc/plymouth/plymouthd.conf

The first one is for distributions to use.  This is how they can
manage which splash to show from release to release.

The second one is for system administrators.  This is how they
can override distribution policy.

We don't actually ship these files yet.  In the mean time,
(and even after for the forseeable future) the old symlink method
will still work.

15 years ago[configure] drop --with-default-plugin-link
Ray Strode [Tue, 23 Mar 2010 20:35:42 +0000 (16:35 -0400)] 
[configure] drop --with-default-plugin-link

It's an old interface that I don't think anyone is using.

15 years ago[configure] change bug report link in AC_INIT
Ray Strode [Tue, 23 Mar 2010 00:54:14 +0000 (20:54 -0400)] 
[configure] change bug report link in AC_INIT

It was my email address, but should probably be bugzilla
(or the mailing list)

15 years ago[configure] run through autoupdate
Ray Strode [Tue, 23 Mar 2010 00:46:03 +0000 (20:46 -0400)] 
[configure] run through autoupdate

This just modernizes the file a bit.

15 years ago[script] Update default script to use the window X and Y offsets every time
Charlie Brej [Mon, 22 Mar 2010 23:39:32 +0000 (23:39 +0000)] 
[script] Update default script to use the window X and Y offsets every time

Previously the code was assuming the windows were placed at 0,0. This might not
be the case and the window X and Y values should be used when trying to
position items relative to a window.

This change needs to be applied to all other scripts otherwise mutiple screen
setups may have unaligned elements. Updates scripts should be tested using
multi-head test systems or the x11 test renderer.

15 years ago[script] Correctly initialise the minimum width when getting minimal window
Charlie Brej [Mon, 22 Mar 2010 23:33:21 +0000 (23:33 +0000)] 
[script] Correctly initialise the minimum width when getting minimal window

Values were preset to zero which was the smallest width/height.

15 years ago[script] Get window value without an index returns area covered by all windows
Charlie Brej [Mon, 22 Mar 2010 23:16:21 +0000 (23:16 +0000)] 
[script] Get window value without an index returns area covered by all windows

Calls to Window.GetWidth/Height/X/Y without a window index now return the
values of the area covered by all windows. This is only the case if all the
windows are aligned (either by their centers, or to a corner).

This allows the theme designer to place an object knowing it will be seen on
all screens.

15 years ago[script] Return NULL when requesting width of nonexistent window
Charlie Brej [Mon, 22 Mar 2010 22:41:17 +0000 (22:41 +0000)] 
[script] Return NULL when requesting width of nonexistent window

Minor bug, previously would return the index used rather than a NULL. Would
only cause problems when using a width request as a test of the presence of a
window.

15 years ago[script] Move windows to not start at negative coordinates
Charlie Brej [Mon, 22 Mar 2010 22:26:47 +0000 (22:26 +0000)] 
[script] Move windows to not start at negative coordinates

When multiple screens are found, the system will now arrange them so they are
all centered, and the top left corner of the largest screen is at 0,0.
No changes to any scripts are needed.

15 years ago[main] Deactivate terminal on quit if necessary
Ray Strode [Mon, 22 Mar 2010 04:13:35 +0000 (00:13 -0400)] 
[main] Deactivate terminal on quit if necessary

If we're done with the VT plymouth was running on,
and plymouth wasn't running on the initial VT, we
should jump back to the initial VT and try to
clean up plymouth's VT.

15 years ago[terminal] Add new ply_terminal_deactivate function
Ray Strode [Mon, 22 Mar 2010 04:07:31 +0000 (00:07 -0400)] 
[terminal] Add new ply_terminal_deactivate function

This will jump off the VT associated with the terminal
and deallocate it.

15 years ago[ply-text-display] don't set mode on every write
Scott James Remnant [Thu, 18 Mar 2010 21:40:08 +0000 (21:40 +0000)] 
[ply-text-display] don't set mode on every write

Resetting the mode to text on every write means that if you're
using a text plugin and X starts, X's VT keeps getting reset back to
KD_TEXT since those plugins don't stop writing on deactivate (they
have no renderer).

There's no reason to set this mode here anyway; all paths to using
those plugins already do this.

15 years ago[terminal] keep track of terminal raw/cooked state
Scott James Remnant [Thu, 18 Mar 2010 21:32:29 +0000 (21:32 +0000)] 
[terminal] keep track of terminal raw/cooked state

Instead of setting the terminal to unbuffered (raw) mode on every
write, keep track of whether it's unbuffered or not at the points
we open and close the terminal.

Deactivate already takes care to set back into buffered mode;
otherwise we can end up resetting the terminal mode under X causing
Enter to send X SIGQUIT.

15 years ago[main] deactivate renderer before hiding
Scott James Remnant [Thu, 18 Mar 2010 21:28:52 +0000 (21:28 +0000)] 
[main] deactivate renderer before hiding

If we don't deactivate the renderer before hiding the splash, the
drm renderer may scan out the buffer contents to the fbcon buffer;
since we only hide the splash when dumping details or when
--retain-splash is *not* given to quit, this is exactly the
opposite of what we want.

The effect of not doing this is partial splash contents behind the
details in cases of error, or when using quit.  This doesn't affect
plymouth quit --retain-splash.

15 years ago[daemon] add "has active vt?" request
Scott James Remnant [Thu, 18 Mar 2010 21:05:32 +0000 (21:05 +0000)] 
[daemon] add "has active vt?" request

One problem with the current deactivate/quit transition into X is that
the display manager will, if Plymouth was running, re-use the currently
active VT.

That only works if Plymouth was actually displaying a splash screen on
that VT.  If --show-splash hasn't been called yet because we booted too
fast, we'll be on the wrong VT.

Add a request to ask whether the Plymouth VT is active; I've done it
this way so the answer defaults to "yes" for Fedora who use VT1.

The pseudo-code for transition is thus:

  if plymouth is running (ping):
    plymouth deactivate
    if plymouth has active vt:
      start X on current VT with -nr
      if X starts ok:
        plymouth quit --retain-splash
      else if X fails:
        plymouth quit
    else if plymouth doesn't have active vt:
      plymouth quit
      start X as normal
  else if plymouth isn't running:
    start X as normal

15 years ago[client] add "has active vt?" request
Scott James Remnant [Thu, 18 Mar 2010 21:10:52 +0000 (21:10 +0000)] 
[client] add "has active vt?" request

This asks the daemon whether it has an active VT, used for a smooth
transition into X.

I've implemented this to look like ping.

15 years ago[two-step] resume animations on display_normal
Scott James Remnant [Thu, 18 Mar 2010 21:01:23 +0000 (21:01 +0000)] 
[two-step] resume animations on display_normal

Change the display_normal() function so that rather than being a no-op
if we already saved the state as normal, it restarts any animations and
redraws the views.

The only thing we now do if the state is not previously the same is
hide any prompt.

This allows this to be used to reanimate the plugin on reactivate.

15 years ago[throbgress] resume animations on display_normal
Scott James Remnant [Thu, 18 Mar 2010 21:01:07 +0000 (21:01 +0000)] 
[throbgress] resume animations on display_normal

Change the display_normal() function so that rather than being a no-op
if we already saved the state as normal, it restarts any animations and
redraws the views.

The only thing we now do if the state is not previously the same is
hide any prompt.

This allows this to be used to reanimate the plugin on reactivate.

15 years ago[space-flares] resume animations on display_normal
Scott James Remnant [Thu, 18 Mar 2010 21:00:31 +0000 (21:00 +0000)] 
[space-flares] resume animations on display_normal

Change the display_normal() function so that rather than being a no-op
if we already saved the state as normal, it restarts any animations and
redraws the views.

The only thing we now do if the state is not previously the same is
hide any prompt.

This allows this to be used to reanimate the plugin on reactivate.

15 years ago[fade-throbber] resume animations on display_normal
Scott James Remnant [Thu, 18 Mar 2010 20:58:57 +0000 (20:58 +0000)] 
[fade-throbber] resume animations on display_normal

Change the display_normal() function so that rather than being a no-op
if we already saved the state as normal, it restarts any animations and
redraws the views.

The only thing we now do if the state is not previously the same is
hide any prompt.

This allows this to be used to reanimate the plugin on reactivate.

15 years ago[main] update display after reactivate
Scott James Remnant [Thu, 18 Mar 2010 20:58:01 +0000 (20:58 +0000)] 
[main] update display after reactivate

Since deactivate uses on_boot_splash_idle, there's a good chance that
plugins will have stopped animating.  Prod them to animate again by
calling update_display()

15 years ago[client] Add new reactivate command
Scott James Remnant [Thu, 18 Mar 2010 20:56:39 +0000 (20:56 +0000)] 
[client] Add new reactivate command

This tells the daemon to reactivate itself after having previously
been suspended by the deactivate command.

15 years ago[daemon] Add new reactivate command
Scott James Remnant [Thu, 18 Mar 2010 20:53:39 +0000 (20:53 +0000)] 
[daemon] Add new reactivate command

More for debugging and completeness than anything else, add a
"reactivate" command to the daemon that undoes the effects of
deactivate and continues the splash screen on its way.

Another possible use for this could be (for example) providing a
seamless shutdown experience.

A future commit will implement the client bits needed.

15 years ago[main] check for deactivated before no-splash
Scott James Remnant [Thu, 18 Mar 2010 21:24:31 +0000 (21:24 +0000)] 
[main] check for deactivated before no-splash

Since deactivated doesn't mean no boot splash anymore, we have to
check for the "plymouth quit" while deactivated case first.

15 years ago[main] don't quit splash on deactivate
Scott James Remnant [Thu, 18 Mar 2010 20:43:48 +0000 (20:43 +0000)] 
[main] don't quit splash on deactivate

Currently deactivate is mostly like hide splash, except it deactivates
the renderer first and doesn't reset the VT to text mode and dump the
details plugin over top.

Unfortunately this means that the renderer is closed and freed, and in
the case of the Intel DRM renderer, closing the DRM file descriptor
means that the kernel frees the buffers and restores the fbcon buffer
on our screen - losing the smooth transition.

This now changes deactivate such that it leaves the boot splash open,
but in an inactivate state, with the DRM connection still open, etc.
now the fbcon contents are not restored.

We deliberately stop watching for keyboard input, detach any logging
session from the console, take the VT out of VT_PROCESS mode and
put it back into cooked mode, etc.

This means the X server can be started, and this state can be cleaned
up by calling plymouth quit with affecting X.

15 years ago[main] call deactivate_splash() even when no splash
Scott James Remnant [Thu, 18 Mar 2010 20:40:58 +0000 (20:40 +0000)] 
[main] call deactivate_splash() even when no splash

To allow deactivate_splash() to do more than affect the boot splash
plugin and renderer, call it from the deactivate path when there is
no boot splash screen as well.

15 years ago[main] add deactivate_splash() function
Scott James Remnant [Thu, 18 Mar 2010 20:38:13 +0000 (20:38 +0000)] 
[main] add deactivate_splash() function

To make it easier to alter the deactivate path, split into its own
function.

15 years ago[terminal] export functions to enable/disable VT watching
Scott James Remnant [Thu, 18 Mar 2010 20:32:59 +0000 (20:32 +0000)] 
[terminal] export functions to enable/disable VT watching

In order to deactivate without pulling everything, we need to be able
to take the terminal in and out of VT_PROCESS mode directly; so change
the two functions from static to exported.

15 years ago[main] Ignore deactivate while deactivated
Scott James Remnant [Thu, 18 Mar 2010 20:39:01 +0000 (20:39 +0000)] 
[main] Ignore deactivate while deactivated

The other obvious command we should ignore while deactivated is
deactivate itself.

15 years ago[main] Ignore --hide-splash while deactivated
Scott James Remnant [Thu, 18 Mar 2010 20:31:12 +0000 (20:31 +0000)] 
[main] Ignore --hide-splash while deactivated

Since we ignore --show-splash, it makes no sense to process
--hide-splash either; in theory this does nothing already because
we won't have a boot_splash in our state - but that changes with
future patches and it's worth being safe.

15 years ago[main] Ignore --show-splash while deactivated
Scott James Remnant [Thu, 18 Mar 2010 20:30:25 +0000 (20:30 +0000)] 
[main] Ignore --show-splash while deactivated

The last thing we want to do after plymouth deactivate is called by
the X display manager is listen to calls to show the splash screen
again.

So don't.

15 years ago[main] Ensure second quit blocks until quit processed
Ray Strode [Mon, 22 Mar 2010 02:59:09 +0000 (22:59 -0400)] 
[main] Ensure second quit blocks until quit processed

When it comes to quitting, which must be carefully coordinated
with other subsystems during the boot process, we need to make
sure the client doesn't return early.

15 years ago[main] Ensure second deactivate blocks until deactivation
Ray Strode [Mon, 22 Mar 2010 02:59:09 +0000 (22:59 -0400)] 
[main] Ensure second deactivate blocks until deactivation

When it comes to deactivation where the various steps of boot
have to be carefully synchronized, we need to make sure that
the client doesn't return early.

15 years ago[main] fix bug with multiple quit commands
Scott James Remnant [Thu, 18 Mar 2010 20:29:05 +0000 (20:29 +0000)] 
[main] fix bug with multiple quit commands

Likewise if plymouth quit is called when we're waiting for the boot
splash to become idle, we also end up asserting that there's not
already an idle trigger.

Fix it in the same way as deactive, ignore the second quit command
except for pulling its trigger.

15 years ago[main] fix bug with multiple deactivate commands
Scott James Remnant [Thu, 18 Mar 2010 20:27:06 +0000 (20:27 +0000)] 
[main] fix bug with multiple deactivate commands

If plymouth deactivate is called when we're waiting for the boot
splash to become idle, we end up asserting that there's not
already an idle trigger.

Fix it by checking for an existing deactive trigger, and if there
is, ignoring the new deactivate command (except for pulling its
trigger so it doesn't block).

15 years ago[main] pull deactivate trigger in quit_program()
Scott James Remnant [Thu, 18 Mar 2010 20:24:57 +0000 (20:24 +0000)] 
[main] pull deactivate trigger in quit_program()

To avoid a "plymouth deactivate" command hanging forever in the case
of the program quitting, pull the trigger before the quit trigger.

15 years ago[main] give quit command precedence over deactivate
Scott James Remnant [Thu, 18 Mar 2010 20:22:53 +0000 (20:22 +0000)] 
[main] give quit command precedence over deactivate

In the cases where the boot splash plugin does not become idle
immediately, we go back into the main loop and can receive additional
commands.

Since quit and deactive both use this facility, one scenario is the
quit command arriving after the deactivate command, but before the
deactivate command has actually been run.

In that situation, we want to quit, not deactivate.

15 years ago[terminal] Add spew for multiple opens and closes
Ray Strode [Mon, 22 Mar 2010 01:39:22 +0000 (21:39 -0400)] 
[terminal] Add spew for multiple opens and closes

It may help with debugging problems later on.

15 years ago[branch-merge] Improved VT Handling
Scott James Remnant [Thu, 18 Mar 2010 20:04:25 +0000 (20:04 +0000)] 
[branch-merge] Improved VT Handling

One of the main differences between Ubuntu's use of Plymouth and
Fedora's is that on Ubuntu we've tried to keep the X server on VT7
so that the historical documentation of Ctrl-Alt-F1 giving you a
text console is preserved.

This obviously means that for a smooth transition, Plymouth must also
run on VT7.

We discovered that although Plymouth does have code to attempt to deal
with VTs, none of it is quite right and there are many paths that don't
work unless Plymouth is run on VT1.

This patch set fixes our known problems with the VT handling making it
possible to run Plymouth on any VT of your choosing, with VT1 remaining
the default.

15 years ago[configure] allow boot and shutdown ttys to be changed improved-vt-handling
Scott James Remnant [Thu, 18 Mar 2010 05:16:17 +0000 (05:16 +0000)] 
[configure] allow boot and shutdown ttys to be changed

Allow distributions like Ubuntu to override the boot and shutdown
ttys from the configure script so they don't have to patch the
source.

15 years ago[main] add --tty command-line option
Scott James Remnant [Thu, 18 Mar 2010 05:09:21 +0000 (05:09 +0000)] 
[main] add --tty command-line option

Add a command-line option to specify the TTY that plymouth should
use.  This is mostly useful for debugging, for example you can put
plymouth onto a TTY not used by the X server; or if you're feeling
particularly sneaky, plymouth into an xterm.

15 years ago[terminal] guard open and close against repeated calls
Scott James Remnant [Thu, 18 Mar 2010 05:06:11 +0000 (05:06 +0000)] 
[terminal] guard open and close against repeated calls

Since we have a status flag whether or not the terminal fd is open,
use it in the open and close functions to guard against repeated
calls.

15 years ago[x11] default renderer to inactive
Scott James Remnant [Thu, 18 Mar 2010 05:04:33 +0000 (05:04 +0000)] 
[x11] default renderer to inactive

Change the renderer so that it defaults to inactive until we
map to the device.

15 years ago[frame-buffer] default renderer to inactive
Scott James Remnant [Thu, 18 Mar 2010 05:03:53 +0000 (05:03 +0000)] 
[frame-buffer] default renderer to inactive

Change the renderer so that it defaults to inactive, then when we
map to the device, activate the renderer by activating the VT;
unless the VT is already active in which case activate the
renderer directly.

15 years ago[drm] default renderer to inactive
Scott James Remnant [Thu, 18 Mar 2010 05:01:15 +0000 (05:01 +0000)] 
[drm] default renderer to inactive

Change the renderer so that it defaults to inactive, then when we
map to the device, activate the renderer by activating the VT;
unless the VT is already active in which case activate the
renderer directly.

15 years ago[terminal,text,details] move activate vt into plugins
Scott James Remnant [Thu, 18 Mar 2010 04:56:24 +0000 (04:56 +0000)] 
[terminal,text,details] move activate vt into plugins

Move the responsiblity to activate the VT into the text and details
plugins; this not only matches the graphical renderers, but it also
ensures we activate the VT in all possible code paths.

Previously if we fell back to text.so because we couldn't activate
a renderer, this would not activate the VT.

15 years ago[x11] ignore terminal completely
Scott James Remnant [Thu, 18 Mar 2010 04:49:28 +0000 (04:49 +0000)] 
[x11] ignore terminal completely

The X11 renderer doesn't need a terminal at all, so we ignore it
completely.

15 years ago[frame-buffer] don't run on non-virtual terminals
Scott James Remnant [Thu, 18 Mar 2010 04:48:03 +0000 (04:48 +0000)] 
[frame-buffer] don't run on non-virtual terminals

We only need support DRM on virtual terminals, those that are not
such as serial consoles, can be trivially skipped.

15 years ago[drm] don't run on non-virtual terminals
Scott James Remnant [Thu, 18 Mar 2010 04:47:23 +0000 (04:47 +0000)] 
[drm] don't run on non-virtual terminals

We only need support DRM on virtual terminals, those that are not
such as serial consoles, can be trivially skipped.

15 years ago[terminal] move terminal opening into renderers/plugins
Scott James Remnant [Thu, 18 Mar 2010 04:45:01 +0000 (04:45 +0000)] 
[terminal] move terminal opening into renderers/plugins

Move the responsibility to actually open the terminal to the renderers
and text/details plugin, this allows the X11 renderer to not actually
open the terminal - and thus not crash the X server.

15 years ago[terminal] don't treat ttySx as VT
Scott James Remnant [Thu, 18 Mar 2010 04:34:31 +0000 (04:34 +0000)] 
[terminal] don't treat ttySx as VT

Only devices with TTY_MAJOR and minor from 0-63 are VTs, 64 onwards
are serial consoles.

15 years ago[terminal] drop next_active_vt
Scott James Remnant [Thu, 18 Mar 2010 04:32:26 +0000 (04:32 +0000)] 
[terminal] drop next_active_vt

When we activate our VT, now we actually have it in VT_PROCESS not the
VT we started from, we get the proper signal so don't need an ioctl to
wait until its active.

If we were to leave our VT, we'd get the opposite signal as well and
we don't really care whether we actually get to the other VT, just
that we leave ours.

And this code was in the wrong place anyway.

15 years ago[terminal] don't keep track of active vt, just if vt is active
Scott James Remnant [Thu, 18 Mar 2010 04:29:36 +0000 (04:29 +0000)] 
[terminal] don't keep track of active vt, just if vt is active

Trying to keep track of whatever VT is actually active is inherently
racy; instead just keep track of whether our VT is the active one.
Since we guarantee that's the VT in VT_PROCESS now, this is easy.

Rather simplifies the on_vt_changed functions in renderers too.

15 years ago[terminal] drop support for opening the foreground terminal
Scott James Remnant [Thu, 18 Mar 2010 04:20:17 +0000 (04:20 +0000)] 
[terminal] drop support for opening the foreground terminal

This isn't used anywhere in plymouth, we should always open a named
terminal to avoid surprises due to VT switches we're not watching
for.

15 years ago[terminal] only support vt-like operations on VTs
Scott James Remnant [Thu, 18 Mar 2010 04:10:48 +0000 (04:10 +0000)] 
[terminal] only support vt-like operations on VTs

Now we can simply test whether a terminal is virtual or not, add
a guard in the mode and vt change functions that ensure they only
operate on virtual terminals.

15 years ago[terminal] add ply_terminal_is_vt() function
Scott James Remnant [Thu, 18 Mar 2010 04:07:33 +0000 (04:07 +0000)] 
[terminal] add ply_terminal_is_vt() function

We want to be able to query whether a terminal is an ordinary terminal
or a virtual terminal, rather than looking up the vt number and knowing
what the right numbers are, add a function that knows that.

15 years ago[terminal] replace set_active_vt with activate_vt
Scott James Remnant [Thu, 18 Mar 2010 03:59:18 +0000 (03:59 +0000)] 
[terminal] replace set_active_vt with activate_vt

Since a terminal already knows which VT number it is, there's no
need to accept a VT number for switching to this VT.

15 years ago[console] remove console files
Scott James Remnant [Thu, 18 Mar 2010 03:46:11 +0000 (03:46 +0000)] 
[console] remove console files

Now that everything's switched over to using ply_terminal_t, we
can remove the console files.

15 years ago[terminal] remove references to ply_console_t
Scott James Remnant [Thu, 18 Mar 2010 03:42:07 +0000 (03:42 +0000)] 
[terminal] remove references to ply_console_t

Remove all of the references to ply_console_t from the code, now
we operate exclusively on the terminal object.  In some places
this means switching from one to the other, but in many it just
means dropping the console object and using the terminal object
we were already passed.