diff options
author | Emilio Pozuelo Monfort <emilio.pozuelo@collabora.co.uk> | 2014-01-07 16:41:40 +0100 |
---|---|---|
committer | Kristian Høgsberg <krh@bitplanet.net> | 2014-01-07 21:46:36 -0800 |
commit | 1a26f1baba2ec02d6e1e3941f8f1f4f5f38d5a0d (patch) | |
tree | 4796b2a63f8fee3909cdec3272c20f7d6e3c636d | |
parent | e6bbe5a90d1ea91624ebdbdb7abdc7a1bbe9829d (diff) |
This makes the desktop background actually draw when there is
a fullscreen surface and we go to exposay.
-rw-r--r-- | desktop-shell/exposay.c | 2 | ||||
-rw-r--r-- | desktop-shell/shell.c | 7 | ||||
-rw-r--r-- | desktop-shell/shell.h | 3 |
3 files changed, 12 insertions, 0 deletions
diff --git a/desktop-shell/exposay.c b/desktop-shell/exposay.c index f409aa3a..01bf0b13 100644 --- a/desktop-shell/exposay.c +++ b/desktop-shell/exposay.c @@ -286,6 +286,8 @@ exposay_layout(struct desktop_shell *shell) if (shell->exposay.focus_current == esurface->view) highlight = esurface; + set_alpha_if_fullscreen(get_shell_surface(view->surface)); + exposay_animate_in(esurface); i++; diff --git a/desktop-shell/shell.c b/desktop-shell/shell.c index f85a2695..4cc23d54 100644 --- a/desktop-shell/shell.c +++ b/desktop-shell/shell.c @@ -222,6 +222,13 @@ struct shell_seat { } popup_grab; }; +void +set_alpha_if_fullscreen(struct shell_surface *shsurf) +{ + if (shsurf && shsurf->state.fullscreen) + shsurf->fullscreen.black_view->alpha = 0.25; +} + static struct desktop_shell * shell_surface_get_shell(struct shell_surface *shsurf); diff --git a/desktop-shell/shell.h b/desktop-shell/shell.h index 7a8194d1..8ef550f6 100644 --- a/desktop-shell/shell.h +++ b/desktop-shell/shell.h @@ -188,6 +188,9 @@ struct desktop_shell { char *client; }; +void +set_alpha_if_fullscreen(struct shell_surface *shsurf); + struct weston_output * get_default_output(struct weston_compositor *compositor); |