summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDerek Foreman <derekf@osg.samsung.com>2016-06-29 11:22:59 -0500
committerDerek Foreman <derekf@osg.samsung.com>2016-06-29 11:41:48 -0500
commit59f7d39afd8c84cbee48a3ef40b6c59b3b7812b7 (patch)
tree51c7b0a91c47f606a0bb89d8f806afa7c4beccf1
parenta186c498f1e4c7241555ea7125830543d5ecdf83 (diff)
downloadenlightenment-59f7d39afd8c84cbee48a3ef40b6c59b3b7812b7.tar.gz
Set up attributes properly for wl_shell transient windowsdevs/derekf/apbbbugs
This fixes Qt sub-windows.
-rw-r--r--src/modules/wl_desktop_shell/e_mod_main.c14
1 files changed, 14 insertions, 0 deletions
diff --git a/src/modules/wl_desktop_shell/e_mod_main.c b/src/modules/wl_desktop_shell/e_mod_main.c
index d5f78135df..87779ef24a 100644
--- a/src/modules/wl_desktop_shell/e_mod_main.c
+++ b/src/modules/wl_desktop_shell/e_mod_main.c
@@ -320,6 +320,20 @@ _e_shell_surface_cb_transient_set(struct wl_client *client EINA_UNUSED, struct w
/* set this client as a transient for parent */
_e_shell_surface_parent_set(ec, parent_resource);
+ ec->icccm.accepts_focus = 1;
+ if (!ec->internal)
+ ec->borderless = !ec->internal;
+
+ ec->lock_border = EINA_TRUE;
+ if ((!ec->internal) || (!ec->borderless))
+ ec->border.changed = ec->changes.border = !ec->borderless;
+ ec->netwm.type = E_WINDOW_TYPE_DIALOG;
+ ec->dialog = EINA_TRUE;
+ ec->comp_data->set_win_type = EINA_TRUE;
+ if ((!ec->lock_user_maximize) && (ec->maximized))
+ e_client_unmaximize(ec, E_MAXIMIZE_BOTH);
+ if ((!ec->lock_user_fullscreen) && (ec->fullscreen))
+ e_client_unfullscreen(ec);
EC_CHANGED(ec);
}