static Eina_Bool
_e_vis_client_is_uniconify_render_necessary(E_Vis_Client *vc)
{
- if (vc->disable_uniconify_render)
+ if (!e_config->use_buffer_flush)
{
- VS_INF(vc->ec, "Disabled deiconify rendering");
+ E_Client *ec = NULL;
+ if (vc) ec = vc->ec;
+ if (ec && ec->exp_iconify.deiconify_update) // hint or conf->deiconify_approve set deiconify update 1
+ goto need_deiconify_render;
+
+ VS_INF(ec, "Not necessary deiconify rendering");
return EINA_FALSE;
}
+
+need_deiconify_render:
if (_e_vis_client_is_uniconic(vc))
{
VS_INF(vc->ec, "Already uniconic state");
Eina_List *l;
Eina_Bool ret = EINA_FALSE;
- if (!e_config->use_buffer_flush) return EINA_FALSE;
E_VIS_CLIENT_GET_OR_RETURN_VAL(vc, ec, EINA_FALSE);
VS_DBG(ec, "API ENTRY | RAISE");
- if (!ec->iconic)
+ if (!ec->iconic && !ec->exp_iconify.deiconify_update)
return EINA_FALSE;
if (ec->exp_iconify.by_client)
E_API Eina_Bool
e_policy_visibility_client_lower(E_Client *ec)
{
- if (!e_config->use_buffer_flush) return EINA_FALSE;
-
E_VIS_CLIENT_GET_OR_RETURN_VAL(vc, ec, EINA_FALSE);
VS_DBG(ec, "API ENTRY | LOWER");
E_API Eina_Bool
e_policy_visibility_client_iconify(E_Client *ec)
{
- if (!e_config->use_buffer_flush) return EINA_FALSE;
-
E_VIS_CLIENT_GET_OR_RETURN_VAL(vc, ec, EINA_FALSE);
VS_DBG(ec, "API ENTRY | ICONIFY");
Eina_List *l;
Eina_Bool ret = EINA_FALSE;
- if (!e_config->use_buffer_flush) return EINA_FALSE;
-
E_VIS_CLIENT_GET_OR_RETURN_VAL(vc, ec, EINA_FALSE);
- if (!ec->iconic)
+ if (!ec->iconic && !ec->exp_iconify.deiconify_update)
return EINA_FALSE;
VS_DBG(ec, "API ENTRY | UNICONIFY");
Eina_List *l;
Eina_Bool ret = EINA_FALSE;
- if (!e_config->use_buffer_flush) return EINA_FALSE;
-
E_VIS_CLIENT_GET_OR_RETURN_VAL(vc, ec, EINA_FALSE);
VS_DBG(ec, "API ENTRY | ACTIVATE");
E_API Eina_Bool
e_policy_visibility_client_layer_lower(E_Client *ec, E_Layer layer)
{
- if (!e_config->use_buffer_flush) return EINA_FALSE;
-
E_VIS_CLIENT_GET_OR_RETURN_VAL(vc, ec, EINA_FALSE);
VS_DBG(ec, "API ENTRY | LAYER LOWER (layer:%d)", layer);
{
E_Client *ec;
- if (!e_config->use_buffer_flush)
- return EINA_FALSE;
-
INF("Init Visibility Module");
if (pol_vis)
return EINA_TRUE;