From 0ee8cc896ef424ff86ada16d6679a3fda2ee154f Mon Sep 17 00:00:00 2001 From: Mike Blumenkrantz Date: Fri, 25 Aug 2017 14:47:05 -0400 Subject: [PATCH] hide wl shell clients again after mapping if clients are on a hidden desk fix T5544 --- src/modules/wl_desktop_shell/wl_shell.c | 4 +++- src/modules/wl_desktop_shell/xdg5.c | 4 +++- src/modules/wl_desktop_shell/xdg6.c | 4 +++- 3 files changed, 9 insertions(+), 3 deletions(-) diff --git a/src/modules/wl_desktop_shell/wl_shell.c b/src/modules/wl_desktop_shell/wl_shell.c index bd6bf8f67..49a709d1e 100644 --- a/src/modules/wl_desktop_shell/wl_shell.c +++ b/src/modules/wl_desktop_shell/wl_shell.c @@ -413,8 +413,10 @@ _wl_shell_surface_map(struct wl_resource *resource) { ec->visible = EINA_TRUE; evas_object_geometry_set(ec->frame, ec->x, ec->y, ec->w, ec->h); - evas_object_show(ec->frame); ec->comp_data->mapped = EINA_TRUE; + evas_object_show(ec->frame); + if (!e_client_util_desk_visible(ec, e_desk_current_get(ec->zone))) + evas_object_hide(ec->frame); } } diff --git a/src/modules/wl_desktop_shell/xdg5.c b/src/modules/wl_desktop_shell/xdg5.c index 922af8132..2109e7fe4 100644 --- a/src/modules/wl_desktop_shell/xdg5.c +++ b/src/modules/wl_desktop_shell/xdg5.c @@ -609,8 +609,10 @@ _e_xdg_shell_surface_map(struct wl_resource *resource) { /* map this surface if needed */ ec->visible = EINA_TRUE; - evas_object_show(ec->frame); ec->comp_data->mapped = EINA_TRUE; + evas_object_show(ec->frame); + if (!e_client_util_desk_visible(ec, e_desk_current_get(ec->zone))) + evas_object_hide(ec->frame); /* FIXME: sometimes popup surfaces Do Not raise above their * respective parents... */ diff --git a/src/modules/wl_desktop_shell/xdg6.c b/src/modules/wl_desktop_shell/xdg6.c index c51405540..8d28fa962 100644 --- a/src/modules/wl_desktop_shell/xdg6.c +++ b/src/modules/wl_desktop_shell/xdg6.c @@ -239,8 +239,10 @@ _e_xdg_shell_surface_map(struct wl_resource *resource) { /* map this surface if needed */ ec->visible = EINA_TRUE; - evas_object_show(ec->frame); ec->comp_data->mapped = EINA_TRUE; + evas_object_show(ec->frame); + if (!e_client_util_desk_visible(ec, e_desk_current_get(ec->zone))) + evas_object_hide(ec->frame); /* FIXME: sometimes popup surfaces Do Not raise above their * respective parents... */