From 1d5977c02a91a0dfe7ecaa6a17e715c15c06e1ec Mon Sep 17 00:00:00 2001 From: Mike Blumenkrantz Date: Thu, 28 Sep 2017 13:03:41 -0400 Subject: [PATCH] do not unnecessarily rescale clients this function is mainly for rescaling maximized/fullscreen clients to fit new dimensions, so don't call on other clients since this can trigger unwanted resize events --- src/bin/e_client.c | 8 ++++++-- src/bin/e_comp.c | 3 ++- 2 files changed, 8 insertions(+), 3 deletions(-) diff --git a/src/bin/e_client.c b/src/bin/e_client.c index 7fc645a18..66e860880 100644 --- a/src/bin/e_client.c +++ b/src/bin/e_client.c @@ -2874,7 +2874,10 @@ e_client_desk_set(E_Client *ec, E_Desk *desk) ecore_event_add(E_EVENT_CLIENT_DESK_SET, ev, (Ecore_End_Cb)_e_client_event_desk_set_free, NULL); if (old_desk->zone == ec->zone) - e_client_rescale(ec); + { + if (ec->maximized || ec->fullscreen) + e_client_rescale(ec); + } } if (ec->stack.prev || ec->stack.next) @@ -3407,7 +3410,8 @@ e_client_zone_set(E_Client *ec, E_Zone *zone) ecore_event_add(E_EVENT_CLIENT_ZONE_SET, ev, (Ecore_End_Cb)_e_client_event_zone_set_free, NULL); e_remember_update(ec); - e_client_rescale(ec); + if (ec->maximized || ec->fullscreen) + e_client_rescale(ec); } E_API void diff --git a/src/bin/e_comp.c b/src/bin/e_comp.c index 63e4c6d40..7f78f0365 100644 --- a/src/bin/e_comp.c +++ b/src/bin/e_comp.c @@ -1829,7 +1829,8 @@ e_comp_clients_rescale(void) EINA_LIST_FREE(tmp, ec) { ec->pre_res_change.valid = 0; - e_client_rescale(ec); + if (ec->maximized || ec->fullscreen) + e_client_rescale(ec); } } }