correctly apply wl shell client border states only for non-internal clients

This commit is contained in:
Mike Blumenkrantz 2015-03-12 14:48:46 -04:00
parent f1b47ca2af
commit bb77ddf22c
1 changed files with 16 additions and 8 deletions

View File

@ -270,10 +270,12 @@ _e_shell_surface_cb_toplevel_set(struct wl_client *client EINA_UNUSED, struct wl
} }
/* set toplevel client properties */ /* set toplevel client properties */
ec->borderless = !ec->internal; if (!ec->internal)
ec->borderless = !ec->internal;
ec->lock_border = EINA_TRUE; ec->lock_border = EINA_TRUE;
ec->border.changed = ec->changes.border = !ec->borderless; if (!ec->internal)
ec->border.changed = ec->changes.border = !ec->borderless;
ec->netwm.type = E_WINDOW_TYPE_NORMAL; ec->netwm.type = E_WINDOW_TYPE_NORMAL;
ec->comp_data->set_win_type = EINA_TRUE; ec->comp_data->set_win_type = EINA_TRUE;
if ((!ec->lock_user_maximize) && (ec->maximized)) if ((!ec->lock_user_maximize) && (ec->maximized))
@ -335,9 +337,11 @@ _e_shell_surface_cb_popup_set(struct wl_client *client EINA_UNUSED, struct wl_re
ec->comp_data->popup.y = y; ec->comp_data->popup.y = y;
} }
ec->borderless = !ec->internal_elm_win; if (!ec->internal)
ec->borderless = !ec->internal_elm_win;
ec->lock_border = EINA_TRUE; ec->lock_border = EINA_TRUE;
ec->border.changed = ec->changes.border = !ec->borderless; if (!ec->internal)
ec->border.changed = ec->changes.border = !ec->borderless;
ec->changes.icon = !!ec->icccm.class; ec->changes.icon = !!ec->icccm.class;
ec->netwm.type = E_WINDOW_TYPE_POPUP_MENU; ec->netwm.type = E_WINDOW_TYPE_POPUP_MENU;
ec->comp_data->set_win_type = EINA_TRUE; ec->comp_data->set_win_type = EINA_TRUE;
@ -1189,9 +1193,11 @@ _e_xdg_shell_cb_surface_get(struct wl_client *client, struct wl_resource *resour
/* set toplevel client properties */ /* set toplevel client properties */
ec->icccm.accepts_focus = 1; ec->icccm.accepts_focus = 1;
ec->borderless = !ec->internal_elm_win; if (!ec->internal)
ec->borderless = !ec->internal_elm_win;
ec->lock_border = EINA_TRUE; ec->lock_border = EINA_TRUE;
ec->border.changed = ec->changes.border = !ec->borderless; if (!ec->internal)
ec->border.changed = ec->changes.border = !ec->borderless;
ec->netwm.type = E_WINDOW_TYPE_NORMAL; ec->netwm.type = E_WINDOW_TYPE_NORMAL;
ec->comp_data->set_win_type = EINA_TRUE; ec->comp_data->set_win_type = EINA_TRUE;
} }
@ -1291,9 +1297,11 @@ _e_xdg_shell_cb_popup_get(struct wl_client *client, struct wl_resource *resource
cdata->shell.unmap = _e_xdg_shell_surface_unmap; cdata->shell.unmap = _e_xdg_shell_surface_unmap;
ec->override = 1; ec->override = 1;
ec->borderless = !ec->internal_elm_win; if (!ec->internal)
ec->borderless = !ec->internal_elm_win;
ec->lock_border = EINA_TRUE; ec->lock_border = EINA_TRUE;
ec->border.changed = ec->changes.border = !ec->borderless; if (!ec->internal)
ec->border.changed = ec->changes.border = !ec->borderless;
ec->changes.icon = !!ec->icccm.class; ec->changes.icon = !!ec->icccm.class;
ec->netwm.type = E_WINDOW_TYPE_POPUP_MENU; ec->netwm.type = E_WINDOW_TYPE_POPUP_MENU;
ec->comp_data->set_win_type = EINA_TRUE; ec->comp_data->set_win_type = EINA_TRUE;