Set up attributes properly for wl_shell transient windows

This fixes Qt sub-windows.
This commit is contained in:
Derek Foreman 2016-06-29 11:22:59 -05:00
parent 27e9845abd
commit 7b470c402e
1 changed files with 14 additions and 0 deletions

View File

@ -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);
}