.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
uint32_t binding_modifier;
enum animation_type win_animation_type;
+ enum animation_type startup_animation_type;
};
enum shell_surface_type {
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))
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);
{
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