discomfitor pushed a commit to branch master. http://git.enlightenment.org/core/enlightenment.git/commit/?id=a9495340f660d4fd0b615652a262d261920b8f9a
commit a9495340f660d4fd0b615652a262d261920b8f9a Author: Mike Blumenkrantz <zm...@osg.samsung.com> Date: Mon Nov 3 14:07:54 2014 -0500 fix internal window border changing --- src/bin/e_client.c | 2 +- src/bin/e_comp_x.c | 11 ++++++----- 2 files changed, 7 insertions(+), 6 deletions(-) diff --git a/src/bin/e_client.c b/src/bin/e_client.c index 55f3ac9..7cc1cc3 100644 --- a/src/bin/e_client.c +++ b/src/bin/e_client.c @@ -2303,7 +2303,7 @@ e_client_idler_before(void) if (!_e_client_hook_call(E_CLIENT_HOOK_EVAL_POST_FETCH, ec)) continue; if (!_e_client_hook_call(E_CLIENT_HOOK_EVAL_PRE_FRAME_ASSIGN, ec)) continue; - if ((ec->border.changed) && (!ec->shaded) && (!ec->override) && + if ((ec->border.changed) && (!ec->shaded) && ((!ec->override) || ec->internal) && (!(((ec->maximized & E_MAXIMIZE_TYPE) == E_MAXIMIZE_FULLSCREEN)))) _e_client_frame_update(ec); ec->border.changed = 0; diff --git a/src/bin/e_comp_x.c b/src/bin/e_comp_x.c index e82599d..714fa88 100644 --- a/src/bin/e_comp_x.c +++ b/src/bin/e_comp_x.c @@ -2990,8 +2990,9 @@ _e_comp_x_hook_client_fetch(void *d EINA_UNUSED, E_Client *ec) } if (ec->changes.prop || ec->netwm.fetch.type) { + unsigned int type = ec->netwm.type; e_hints_window_type_get(ec); - if (((!ec->lock_border) || (!ec->border.name)) && ec->comp_data->reparented) + if (((!ec->lock_border) || (!ec->border.name) || (type != ec->netwm.type)) && (ec->comp_data->reparented || ec->internal)) { ec->border.changed = 1; EC_CHANGED(ec); @@ -3717,7 +3718,7 @@ _e_comp_x_hook_client_fetch(void *d EINA_UNUSED, E_Client *ec) } if (ec->mwm.borderless != pb) { - if (ec->comp_data->reparented && ((!ec->lock_border) || (!ec->border.name))) + if ((ec->internal || ec->comp_data->reparented) && ((!ec->lock_border) || (!ec->border.name))) { ec->border.changed = 1; EC_CHANGED(ec); @@ -3782,7 +3783,7 @@ _e_comp_x_hook_client_fetch(void *d EINA_UNUSED, E_Client *ec) /* Some stats might change the border, like modal */ if (((!ec->lock_border) || (!ec->border.name)) && (!(((ec->maximized & E_MAXIMIZE_TYPE) == E_MAXIMIZE_FULLSCREEN))) && - ec->comp_data->reparented) + (ec->internal || ec->comp_data->reparented)) { ec->border.changed = 1; EC_CHANGED(ec); @@ -3824,7 +3825,7 @@ _e_comp_x_hook_client_fetch(void *d EINA_UNUSED, E_Client *ec) E_Exec_Instance *inst; if (((!ec->lock_border) || (!ec->border.name)) && - (ec->comp_data->reparented)) + (ec->internal || ec->comp_data->reparented)) { ec->border.changed = 1; EC_CHANGED(ec); @@ -4013,7 +4014,7 @@ _e_comp_x_hook_client_fetch(void *d EINA_UNUSED, E_Client *ec) } ec->changes.prop = 0; if (rem_change) e_remember_update(ec); - if (!ec->comp_data->reparented) ec->changes.border = 0; + if ((!ec->comp_data->reparented) && (!ec->internal)) ec->changes.border = 0; if (ec->changes.icon) { /* don't create an icon until we need it */ --