discomfitor pushed a commit to branch master. http://git.enlightenment.org/core/enlightenment.git/commit/?id=8b8abb436d24b40fe8c19b4ba158f2465e8fd888
commit 8b8abb436d24b40fe8c19b4ba158f2465e8fd888 Author: Mike Blumenkrantz <zm...@osg.samsung.com> Date: Fri Apr 1 16:26:41 2016 -0400 restrict shelf border_fix to only affect clients affected by the shelf fixes random other clients changing sizes based on irrelevant shelf hiding --- src/bin/e_shelf.c | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/src/bin/e_shelf.c b/src/bin/e_shelf.c index 9fe04a1..8992f7a 100644 --- a/src/bin/e_shelf.c +++ b/src/bin/e_shelf.c @@ -1466,7 +1466,6 @@ _e_shelf_gadcon_frame_request(void *data, E_Gadcon_Client *gcc, const char *styl static void _e_shelf_toggle_client_fix(E_Shelf *es) { - Eina_List *l; E_Client *ec; if (!e_config->border_fix_on_shelf_toggle) @@ -1474,8 +1473,10 @@ _e_shelf_toggle_client_fix(E_Shelf *es) if (es->cfg->overlap) return; - EINA_LIST_FOREACH(e_comp->clients, l, ec) + E_CLIENT_FOREACH(ec) { + if ((!ec->sticky) && (!e_shelf_desk_visible(es, ec->desk ?: e_desk_current_get(es->zone)))) + continue; if ((ec->maximized & E_MAXIMIZE_TYPE) == E_MAXIMIZE_NONE) { if (ec->lock_client_location) continue; --