From 1a26f1baba2ec02d6e1e3941f8f1f4f5f38d5a0d Mon Sep 17 00:00:00 2001 From: Emilio Pozuelo Monfort Date: Tue, 7 Jan 2014 16:41:40 +0100 Subject: exposay: set an alpha on fullscreen surfaces This makes the desktop background actually draw when there is a fullscreen surface and we go to exposay. --- desktop-shell/exposay.c | 2 ++ desktop-shell/shell.c | 7 +++++++ desktop-shell/shell.h | 3 +++ 3 files changed, 12 insertions(+) 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); -- cgit v1.2.3