summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--desktop-shell/exposay.c2
-rw-r--r--desktop-shell/shell.c7
-rw-r--r--desktop-shell/shell.h3
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);