mirror of
https://gitlab.freedesktop.org/plymouth/plymouth.git
synced 2026-05-09 05:58:27 +02:00
Merge branch 'twostep-end-animation' into 'master'
two-step: Add UseEndAnimation setting See merge request plymouth/plymouth!94
This commit is contained in:
commit
ba8483fc2c
3 changed files with 50 additions and 4 deletions
|
|
@ -121,6 +121,7 @@ typedef struct
|
|||
bool progress_bar_show_percent_complete;
|
||||
bool use_progress_bar;
|
||||
bool use_animation;
|
||||
bool use_end_animation;
|
||||
bool use_firmware_background;
|
||||
char *title;
|
||||
char *subtitle;
|
||||
|
|
@ -262,13 +263,14 @@ view_free (view_t *view)
|
|||
static void
|
||||
view_load_end_animation (view_t *view)
|
||||
{
|
||||
ply_boot_splash_plugin_t *plugin = view->plugin;
|
||||
const char *animation_prefix;
|
||||
ply_boot_splash_plugin_t *plugin;
|
||||
|
||||
if (!plugin->mode_settings[plugin->mode].use_end_animation)
|
||||
return;
|
||||
|
||||
ply_trace ("loading animation");
|
||||
|
||||
plugin = view->plugin;
|
||||
|
||||
switch (plugin->mode) {
|
||||
case PLY_BOOT_SPLASH_MODE_BOOT_UP:
|
||||
case PLY_BOOT_SPLASH_MODE_UPDATES:
|
||||
|
|
@ -315,6 +317,7 @@ view_load_end_animation (view_t *view)
|
|||
ply_trace ("optional animation didn't load");
|
||||
ply_animation_free (view->end_animation);
|
||||
view->end_animation = NULL;
|
||||
plugin->mode_settings[plugin->mode].use_end_animation = false;
|
||||
}
|
||||
|
||||
static bool
|
||||
|
|
@ -995,6 +998,13 @@ load_mode_settings (ply_boot_splash_plugin_t *plugin,
|
|||
else
|
||||
settings->use_animation = !settings->use_progress_bar;
|
||||
|
||||
/* This defaults to true for compat. with older themes */
|
||||
if (ply_key_file_has_key (key_file, group_name, "UseEndAnimation"))
|
||||
settings->use_end_animation =
|
||||
ply_key_file_get_bool (key_file, group_name, "UseEndAnimation");
|
||||
else
|
||||
settings->use_end_animation = true;
|
||||
|
||||
/* If any mode uses the firmware background, then we need to load it */
|
||||
if (settings->use_firmware_background)
|
||||
plugin->use_firmware_background = true;
|
||||
|
|
@ -1260,6 +1270,25 @@ start_end_animation (ply_boot_splash_plugin_t *plugin,
|
|||
return;
|
||||
}
|
||||
|
||||
if (!plugin->mode_settings[plugin->mode].use_end_animation) {
|
||||
node = ply_list_get_first_node (plugin->views);
|
||||
while (node != NULL) {
|
||||
view = ply_list_node_get_data (node);
|
||||
|
||||
ply_progress_bar_hide (view->progress_bar);
|
||||
|
||||
if (view->throbber != NULL)
|
||||
ply_throbber_stop (view->throbber, NULL);
|
||||
|
||||
if (view->progress_animation != NULL)
|
||||
ply_progress_animation_hide (view->progress_animation);
|
||||
|
||||
node = ply_list_get_next_node (plugin->views, node);
|
||||
}
|
||||
ply_trigger_pull (trigger, NULL);
|
||||
return;
|
||||
}
|
||||
|
||||
ply_trace ("starting end animation");
|
||||
|
||||
node = ply_list_get_first_node (plugin->views);
|
||||
|
|
@ -1718,7 +1747,12 @@ on_boot_progress (ply_boot_splash_plugin_t *plugin,
|
|||
if (plugin->is_idle)
|
||||
return;
|
||||
|
||||
if (percent_done >= SHOW_ANIMATION_PERCENT) {
|
||||
/*
|
||||
* If we do not have an end animation, we keep showing progress until
|
||||
* become_idle gets called.
|
||||
*/
|
||||
if (plugin->mode_settings[plugin->mode].use_end_animation &&
|
||||
percent_done >= SHOW_ANIMATION_PERCENT) {
|
||||
if (plugin->stop_trigger == NULL) {
|
||||
ply_trace ("boot progressed to end");
|
||||
|
||||
|
|
|
|||
|
|
@ -25,12 +25,15 @@ DialogClearsFirmwareBackground=true
|
|||
MessageBelowAnimation=true
|
||||
|
||||
[boot-up]
|
||||
UseEndAnimation=false
|
||||
UseFirmwareBackground=true
|
||||
|
||||
[shutdown]
|
||||
UseEndAnimation=false
|
||||
UseFirmwareBackground=true
|
||||
|
||||
[reboot]
|
||||
UseEndAnimation=false
|
||||
UseFirmwareBackground=true
|
||||
|
||||
[updates]
|
||||
|
|
|
|||
|
|
@ -23,6 +23,15 @@ ProgressBarBackgroundColor=0x606060
|
|||
ProgressBarForegroundColor=0xffffff
|
||||
MessageBelowAnimation=true
|
||||
|
||||
[boot-up]
|
||||
UseEndAnimation=false
|
||||
|
||||
[shutdown]
|
||||
UseEndAnimation=false
|
||||
|
||||
[reboot]
|
||||
UseEndAnimation=false
|
||||
|
||||
[updates]
|
||||
SuppressMessages=true
|
||||
ProgressBarShowPercentComplete=true
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue