From 59f7d39afd8c84cbee48a3ef40b6c59b3b7812b7 Mon Sep 17 00:00:00 2001 From: Derek Foreman Date: Wed, 29 Jun 2016 11:22:59 -0500 Subject: Set up attributes properly for wl_shell transient windows This fixes Qt sub-windows. --- src/modules/wl_desktop_shell/e_mod_main.c | 14 ++++++++++++++ 1 file changed, 14 insertions(+) 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); } -- cgit v1.2.1