//#ifdef REFACTOR_FOCUS_POLICY
[E_COMP_OBJECT_HOOK_LOWER] = NULL,
[E_COMP_OBJECT_HOOK_MOVE] = NULL,
+ [E_COMP_OBJECT_HOOK_SHOW] = NULL,
//#endif
};
(hookpoint != E_COMP_OBJECT_HOOK_RENDER_UPDATE_LOCK_SET)
#ifdef REFACTOR_FOCUS_POLICY
&& (hookpoint != E_COMP_OBJECT_HOOK_LOWER) &&
- (hookpoint != E_COMP_OBJECT_HOOK_MOVE)
+ (hookpoint != E_COMP_OBJECT_HOOK_MOVE) &&
+ (hookpoint != E_COMP_OBJECT_HOOK_SHOW)
#endif
)
{
e_comp_object_dirty(cw->smart_obj);
e_comp_object_render(cw->smart_obj);
}
-
+#ifdef REFACTOR_FOCUS_POLICY
+ // This code executes E_COMP_OBJECT_HOOK_SHOW callback at e_focus_policy_history.c
+#else
if (!ec->iconic ||
e_policy_visibility_client_is_uniconic(ec))
{
else
e_client_focus_defer_set(ec);
}
+#endif
}
}
+
+#ifdef REFACTOR_FOCUS_POLICY
+ _e_comp_object_hook_call(E_COMP_OBJECT_HOOK_SHOW, cw->ec);
+#endif
}
static void
//#ifdef REFACTOR_FOCUS_POLICY
E_COMP_OBJECT_HOOK_LOWER,
E_COMP_OBJECT_HOOK_MOVE,
+ E_COMP_OBJECT_HOOK_SHOW,
//#endif
E_COMP_OBJECT_HOOK_LAST,
} E_Comp_Object_Hook_Point;
return EINA_TRUE;
}
+static Eina_Bool
+_focus_policy_history_hook_cb_comp_object_show(void *data, E_Client *ec)
+{
+ // TODO:
+
+ return EINA_TRUE;
+}
+
static void
_focus_policy_history_del(E_Focus_Policy_Impl *impl)
{
// e_comp_object hooks
E_COMP_COMP_HOOK_APPEND(history_policy->co_hooks, E_COMP_OBJECT_HOOK_LOWER, _focus_policy_hook_history_cb_comp_object_lower, history_policy);
E_COMP_COMP_HOOK_APPEND(history_policy->co_hooks, E_COMP_OBJECT_HOOK_MOVE, _focus_policy_history_hook_cb_comp_object_move, history_policy);
+ E_COMP_COMP_HOOK_APPEND(history_policy->co_hooks, E_COMP_OBJECT_HOOK_SHOW, _focus_policy_history_hook_cb_comp_object_show, history_policy);
return policy_iface;