/* local functions */
static void
-_e_comp_wl_configure_send(E_Client *ec, Eina_Bool edges)
+_e_comp_wl_configure_send(E_Client *ec, Eina_Bool edges, Eina_Bool send_size)
{
int w, h;
- if (e_comp_object_frame_exists(ec->frame))
- w = ec->client.w, h = ec->client.h;
+ if (send_size)
+ {
+ if (e_comp_object_frame_exists(ec->frame))
+ w = ec->client.w, h = ec->client.h;
+ else
+ w = ec->w, h = ec->h;
+ }
else
- w = ec->w, h = ec->h;
+ w = h = 0;
+
ec->comp_data->shell.configure_send(ec->comp_data->shell.surface,
edges * e_comp_wl->resize.edges,
w, h);
}
else if ((!ec->fullscreen) && (!ec->maximized) &&
(!ec->comp_data->maximize_pre))
- _e_comp_wl_configure_send(ec, 1);
+ _e_comp_wl_configure_send(ec, 1, 1);
if (ec->comp_data->sub.below_obj)
evas_object_resize(ec->comp_data->sub.below_obj, ec->w, ec->h);
/* check for wayland pixmap */
if (ec->comp_data->shell.configure_send)
- _e_comp_wl_configure_send(ec, 0);
+ _e_comp_wl_configure_send(ec, 0, 1);
ec->comp_data->maximize_pre = 0;
}
if (ec->comp_data->shell.configure_send)
{
if (ec->comp_data->shell.surface)
- _e_comp_wl_configure_send(ec, 0);
+ _e_comp_wl_configure_send(ec, 0, 0);
}
e_comp_wl->kbd.focus = ec->comp_data->surface;
if (ec->comp_data->shell.configure_send)
{
if (ec->comp_data->shell.surface)
- _e_comp_wl_configure_send(ec, 0);
+ _e_comp_wl_configure_send(ec, 0, 0);
}
_e_comp_wl_focus_check();