forked from enlightenment/enlightenment
do not send duplicate configures for wayland clients during maximize
this seems to not have caused any real issues, but it made debugging more of a pain and is unnecessary connection noise
This commit is contained in:
parent
dd1577a169
commit
0321fd690e
|
@ -627,7 +627,7 @@ _e_comp_wl_evas_cb_resize(void *data, Evas_Object *obj EINA_UNUSED, void *event
|
||||||
e_comp->wl_comp_data->resize.edges,
|
e_comp->wl_comp_data->resize.edges,
|
||||||
x, y);
|
x, y);
|
||||||
}
|
}
|
||||||
else
|
else if ((!ec->fullscreen) && (!ec->maximized) && (!ec->comp_data->maximize_pre))
|
||||||
ec->comp_data->shell.configure_send(ec->comp_data->shell.surface,
|
ec->comp_data->shell.configure_send(ec->comp_data->shell.surface,
|
||||||
e_comp->wl_comp_data->resize.edges,
|
e_comp->wl_comp_data->resize.edges,
|
||||||
ec->client.w, ec->client.h);
|
ec->client.w, ec->client.h);
|
||||||
|
@ -644,6 +644,15 @@ _e_comp_wl_evas_cb_state_update(void *data, Evas_Object *obj EINA_UNUSED, void *
|
||||||
|
|
||||||
if (ec->comp_data->shell.configure_send)
|
if (ec->comp_data->shell.configure_send)
|
||||||
ec->comp_data->shell.configure_send(ec->comp_data->shell.surface, 0, ec->client.w, ec->client.h);
|
ec->comp_data->shell.configure_send(ec->comp_data->shell.surface, 0, ec->client.w, ec->client.h);
|
||||||
|
ec->comp_data->maximize_pre = 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
static void
|
||||||
|
_e_comp_wl_evas_cb_maximize_pre(void *data, Evas_Object *obj EINA_UNUSED, void *event EINA_UNUSED)
|
||||||
|
{
|
||||||
|
E_Client *ec = data;
|
||||||
|
|
||||||
|
ec->comp_data->maximize_pre = 1;
|
||||||
}
|
}
|
||||||
|
|
||||||
static void
|
static void
|
||||||
|
@ -775,6 +784,10 @@ _e_comp_wl_client_evas_init(E_Client *ec)
|
||||||
_e_comp_wl_evas_cb_state_update, ec);
|
_e_comp_wl_evas_cb_state_update, ec);
|
||||||
evas_object_smart_callback_add(ec->frame, "unmaximize_done",
|
evas_object_smart_callback_add(ec->frame, "unmaximize_done",
|
||||||
_e_comp_wl_evas_cb_state_update, ec);
|
_e_comp_wl_evas_cb_state_update, ec);
|
||||||
|
evas_object_smart_callback_add(ec->frame, "maximize_pre",
|
||||||
|
_e_comp_wl_evas_cb_maximize_pre, ec);
|
||||||
|
evas_object_smart_callback_add(ec->frame, "unmaximize_pre",
|
||||||
|
_e_comp_wl_evas_cb_maximize_pre, ec);
|
||||||
evas_object_smart_callback_add(ec->frame, "fullscreen",
|
evas_object_smart_callback_add(ec->frame, "fullscreen",
|
||||||
_e_comp_wl_evas_cb_state_update, ec);
|
_e_comp_wl_evas_cb_state_update, ec);
|
||||||
evas_object_smart_callback_add(ec->frame, "unfullscreen",
|
evas_object_smart_callback_add(ec->frame, "unfullscreen",
|
||||||
|
|
|
@ -286,6 +286,7 @@ struct _E_Comp_Wl_Client_Data
|
||||||
Eina_Bool first_damage : 1;
|
Eina_Bool first_damage : 1;
|
||||||
Eina_Bool set_win_type : 1;
|
Eina_Bool set_win_type : 1;
|
||||||
Eina_Bool frame_update : 1;
|
Eina_Bool frame_update : 1;
|
||||||
|
Eina_Bool maximize_pre : 1;
|
||||||
};
|
};
|
||||||
|
|
||||||
struct _E_Comp_Wl_Output
|
struct _E_Comp_Wl_Output
|
||||||
|
|
|
@ -846,7 +846,6 @@ _e_xdg_shell_surface_cb_maximized_set(struct wl_client *client EINA_UNUSED, stru
|
||||||
{
|
{
|
||||||
e_client_maximize(ec, ((e_config->maximize_policy & E_MAXIMIZE_TYPE) |
|
e_client_maximize(ec, ((e_config->maximize_policy & E_MAXIMIZE_TYPE) |
|
||||||
E_MAXIMIZE_BOTH));
|
E_MAXIMIZE_BOTH));
|
||||||
_e_xdg_shell_surface_configure_send(resource, 0, ec->w, ec->h);
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue