mirror of
https://gitlab.freedesktop.org/wayland/weston.git
synced 2026-05-08 11:18:43 +02:00
shell: Add a new weston.ini to control the startup animation
The new key startup-animation in the [shell] section lets you control the startup animation. Default is fade, but with this patch we can also do none, which just show the desktop as fast as possible. https://bugs.freedesktop.org/show_bug.cgi?id=70619
This commit is contained in:
parent
a0b8935877
commit
e3f5579b22
3 changed files with 21 additions and 6 deletions
|
|
@ -150,8 +150,15 @@ enables screen locking (boolean).
|
|||
.BI "animation=" zoom
|
||||
sets the effect used for opening new windows (string). Can be
|
||||
.B zoom,
|
||||
.B fade.
|
||||
Otherwise, no animation is used.
|
||||
.B fade,
|
||||
.B none.
|
||||
By default, no animation is used.
|
||||
.TP 7
|
||||
.BI "startup-animation=" fade
|
||||
sets the effect used for opening new windows (string). Can be
|
||||
.B fade,
|
||||
.B none.
|
||||
By default, the fade animation is used.
|
||||
.TP 7
|
||||
.BI "binding-modifier=" ctrl
|
||||
sets the modifier key used for common bindings (string), such as moving
|
||||
|
|
|
|||
15
src/shell.c
15
src/shell.c
|
|
@ -163,6 +163,7 @@ struct desktop_shell {
|
|||
|
||||
uint32_t binding_modifier;
|
||||
enum animation_type win_animation_type;
|
||||
enum animation_type startup_animation_type;
|
||||
};
|
||||
|
||||
enum shell_surface_type {
|
||||
|
|
@ -414,9 +415,6 @@ get_modifier(char *modifier)
|
|||
static enum animation_type
|
||||
get_animation_type(char *animation)
|
||||
{
|
||||
if (!animation)
|
||||
return ANIMATION_NONE;
|
||||
|
||||
if (!strcmp("zoom", animation))
|
||||
return ANIMATION_ZOOM;
|
||||
else if (!strcmp("fade", animation))
|
||||
|
|
@ -448,6 +446,10 @@ shell_configuration(struct desktop_shell *shell)
|
|||
weston_config_section_get_string(section, "animation", &s, "none");
|
||||
shell->win_animation_type = get_animation_type(s);
|
||||
free(s);
|
||||
weston_config_section_get_string(section,
|
||||
"startup-animation", &s, "fade");
|
||||
shell->startup_animation_type = get_animation_type(s);
|
||||
free(s);
|
||||
weston_config_section_get_uint(section, "num-workspaces",
|
||||
&shell->workspaces.num,
|
||||
DEFAULT_NUM_WORKSPACES);
|
||||
|
|
@ -3317,7 +3319,12 @@ do_shell_fade_startup(void *data)
|
|||
{
|
||||
struct desktop_shell *shell = data;
|
||||
|
||||
shell_fade(shell, FADE_IN);
|
||||
if (shell->startup_animation_type == ANIMATION_FADE)
|
||||
shell_fade(shell, FADE_IN);
|
||||
else if (shell->startup_animation_type == ANIMATION_NONE) {
|
||||
weston_surface_destroy(shell->fade.surface);
|
||||
shell->fade.surface = NULL;
|
||||
}
|
||||
}
|
||||
|
||||
static void
|
||||
|
|
|
|||
|
|
@ -9,6 +9,7 @@ background-type=tile
|
|||
panel-color=0x90ff0000
|
||||
locking=true
|
||||
animation=zoom
|
||||
startup-animation=fade
|
||||
#binding-modifier=ctrl
|
||||
#num-workspaces=6
|
||||
#cursor-theme=whiteglass
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue