break out client frame setting into helper function
This commit is contained in:
parent
04f7b59e11
commit
bcee2e34aa
|
@ -1979,42 +1979,8 @@ _e_client_eval(E_Client *ec)
|
||||||
_e_client_hook_call(E_CLIENT_HOOK_EVAL_END, ec);
|
_e_client_hook_call(E_CLIENT_HOOK_EVAL_END, ec);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
static void
|
||||||
////////////////////////////////////////////////
|
_e_client_frame_update(E_Client *ec)
|
||||||
EINTERN void
|
|
||||||
e_client_idler_before(void)
|
|
||||||
{
|
|
||||||
const Eina_List *l;
|
|
||||||
E_Comp *c;
|
|
||||||
|
|
||||||
if (!eina_hash_population(clients_hash)) return;
|
|
||||||
|
|
||||||
EINA_LIST_FOREACH(e_comp_list(), l, c)
|
|
||||||
{
|
|
||||||
Eina_List *ll;
|
|
||||||
E_Client *ec;
|
|
||||||
|
|
||||||
EINA_LIST_FOREACH(c->clients, ll, ec)
|
|
||||||
{
|
|
||||||
int urgent = ec->icccm.urgent;
|
|
||||||
Eina_Stringshare *title;
|
|
||||||
// pass 1 - eval0. fetch properties on new or on change and
|
|
||||||
// call hooks to decide what to do - maybe move/resize
|
|
||||||
if (!ec->changed) continue;
|
|
||||||
|
|
||||||
if (!_e_client_hook_call(E_CLIENT_HOOK_EVAL_PRE_FETCH, ec)) continue;
|
|
||||||
/* FETCH is hooked by the compositor to get client hints */
|
|
||||||
title = e_client_name_get(ec);
|
|
||||||
if (!_e_client_hook_call(E_CLIENT_HOOK_EVAL_FETCH, ec)) continue;
|
|
||||||
if (title != e_client_name_get(ec))
|
|
||||||
_e_client_event_property(ec, E_CLIENT_PROPERTY_TITLE);
|
|
||||||
/* PRE_POST_FETCH calls e_remember apply for new client */
|
|
||||||
if (!_e_client_hook_call(E_CLIENT_HOOK_EVAL_PRE_POST_FETCH, ec)) continue;
|
|
||||||
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->maximized & E_MAXIMIZE_TYPE) == E_MAXIMIZE_FULLSCREEN))))
|
|
||||||
{
|
{
|
||||||
const char *bordername;
|
const char *bordername;
|
||||||
Eina_Stringshare *pborder;
|
Eina_Stringshare *pborder;
|
||||||
|
@ -2070,6 +2036,45 @@ e_client_idler_before(void)
|
||||||
ec->border.name = pborder;
|
ec->border.name = pborder;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
////////////////////////////////////////////////
|
||||||
|
EINTERN void
|
||||||
|
e_client_idler_before(void)
|
||||||
|
{
|
||||||
|
const Eina_List *l;
|
||||||
|
E_Comp *c;
|
||||||
|
|
||||||
|
if (!eina_hash_population(clients_hash)) return;
|
||||||
|
|
||||||
|
EINA_LIST_FOREACH(e_comp_list(), l, c)
|
||||||
|
{
|
||||||
|
Eina_List *ll;
|
||||||
|
E_Client *ec;
|
||||||
|
|
||||||
|
EINA_LIST_FOREACH(c->clients, ll, ec)
|
||||||
|
{
|
||||||
|
int urgent = ec->icccm.urgent;
|
||||||
|
Eina_Stringshare *title;
|
||||||
|
// pass 1 - eval0. fetch properties on new or on change and
|
||||||
|
// call hooks to decide what to do - maybe move/resize
|
||||||
|
if (!ec->changed) continue;
|
||||||
|
|
||||||
|
if (!_e_client_hook_call(E_CLIENT_HOOK_EVAL_PRE_FETCH, ec)) continue;
|
||||||
|
/* FETCH is hooked by the compositor to get client hints */
|
||||||
|
title = e_client_name_get(ec);
|
||||||
|
if (!_e_client_hook_call(E_CLIENT_HOOK_EVAL_FETCH, ec)) continue;
|
||||||
|
if (title != e_client_name_get(ec))
|
||||||
|
_e_client_event_property(ec, E_CLIENT_PROPERTY_TITLE);
|
||||||
|
/* PRE_POST_FETCH calls e_remember apply for new client */
|
||||||
|
if (!_e_client_hook_call(E_CLIENT_HOOK_EVAL_PRE_POST_FETCH, ec)) continue;
|
||||||
|
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->maximized & E_MAXIMIZE_TYPE) == E_MAXIMIZE_FULLSCREEN))))
|
||||||
|
{
|
||||||
|
_e_client_frame_update(ec);
|
||||||
ec->border.changed = 0;
|
ec->border.changed = 0;
|
||||||
}
|
}
|
||||||
if (urgent != ec->icccm.urgent)
|
if (urgent != ec->icccm.urgent)
|
||||||
|
|
Loading…
Reference in New Issue