On Tue, Jan 07, 2014 at 04:41:40PM +0100, poch...@gmail.com wrote: > From: Emilio Pozuelo Monfort <emilio.pozu...@collabora.co.uk> > > This makes the desktop background actually draw when there is > a fullscreen surface and we go to exposay. > --- > > I'm not sure if this one is right, but it does the trick... If this > is not too hacky I could split set_alpha_if_fullscreen() into > is_fullscreen() and set_alpha() and do the right thing from exposay.c > if that is preferred.
It's fine for now. I think we should fade out and then destroy the black surfaces when we initiate exposay or alt-tab, but with this patch, at least exposay and alt-tab does the same thing. Thanks, Kristian > 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 f409aa3..01bf0b1 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 f85a269..4cc23d5 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 7a8194d..8ef550f 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); > > -- > 1.8.5.2 > > _______________________________________________ > wayland-devel mailing list > wayland-devel@lists.freedesktop.org > http://lists.freedesktop.org/mailman/listinfo/wayland-devel _______________________________________________ wayland-devel mailing list wayland-devel@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/wayland-devel