there is a bug that the window which is running uniconify_render is uniconified while handling focus.
for this, enlightenment tries to render it continuously
Change-Id: I621047817ab3589480ebe493c2ecd19bcf3fa2a2
}
if ((ec->iconic) && (!ec->deskshow))
{
- /* don't focus an iconified window. that's silly! */
- e_client_uniconify(ec);
- if (e_client_focus_track_enabled())
- e_client_focus_latest_set(ec);
- return;
+ if (!e_policy_visibility_client_is_uniconify_render_running(ec))
+ {
+ /* don't focus an iconified window. that's silly! */
+ e_client_uniconify(ec);
+ if (e_client_focus_track_enabled())
+ e_client_focus_latest_set(ec);
+ return;
+ }
}
if (!ec->visible)
{
return _e_vis_client_is_iconic(vc);
}
+E_API Eina_Bool
+e_policy_visibility_client_is_uniconify_render_running(E_Client *ec)
+{
+ E_VIS_CLIENT_GET_OR_RETURN_VAL(vc, ec, EINA_FALSE);
+
+ return _e_vis_client_is_uniconify_render_running(vc);
+}
+
E_API E_Pol_Vis_Hook *
e_policy_visibility_hook_add(E_Pol_Vis_Hook_Type type, E_Pol_Vis_Hook_Cb cb, const void *data)
{
E_API E_Pol_Vis_Hook *e_policy_visibility_hook_add(E_Pol_Vis_Hook_Type type, E_Pol_Vis_Hook_Cb cb, const void *data);
E_API void e_policy_visibility_hook_del(E_Pol_Vis_Hook *h);
E_API Eina_Bool e_policy_visibility_client_is_iconic(E_Client *ec);
+E_API Eina_Bool e_policy_visibility_client_is_uniconify_render_running(E_Client *ec);
EINTERN void e_policy_visibility_client_defer_move(E_Client *ec);
EINTERN void e_vis_client_send_pre_visibility_event(E_Client *ec);