static Eina_Bool
_e_border_cb_efreet_cache_update(void *data __UNUSED__,
int ev_type __UNUSED__,
- void *ev __UNUSED__)
+ void *event)
{
+ Efreet_Event_Cache_Update *ev = event;
Eina_List *l;
E_Border *bd;
+ if (!ev->changed) return ECORE_CALLBACK_PASS_ON;
+
/* mark all borders for desktop/icon updates */
EINA_LIST_FOREACH(borders, l, bd)
{
}
static Eina_Bool
-_e_configure_cb_efreet_desktop_cache_update(void *data __UNUSED__, int type __UNUSED__, void *event __UNUSED__)
+_e_configure_cb_efreet_desktop_cache_update(void *data __UNUSED__, int type __UNUSED__, void *event)
{
+ Efreet_Event_Cache_Update *ev = event;
+
+ if (!ev->changed) return ECORE_CALLBACK_PASS_ON;
+
_e_configure_efreet_desktop_cleanup();
if (update_job) ecore_job_del(update_job);
update_job = ecore_job_add(_configure_job, NULL);
- return 1;
+ return ECORE_CALLBACK_PASS_ON;;
}
static void
}
static Eina_Bool
-_e_order_cb_efreet_cache_update(void *data __UNUSED__, int ev_type __UNUSED__, void *ev __UNUSED__)
+_e_order_cb_efreet_cache_update(void *data __UNUSED__, int ev_type __UNUSED__, void *event)
{
+ Efreet_Event_Cache_Update *ev = event;
Eina_List *l;
E_Order *eo;
+ if (!ev->changed) return ECORE_CALLBACK_PASS_ON;
+
/* reread all .order files */
EINA_LIST_FOREACH(orders, l, eo)
{
}
static Eina_Bool
-_desks_update(void *data, int ev_type __UNUSED__, void *ev __UNUSED__)
+_desks_update(void *data, int ev_type __UNUSED__, void *event)
{
+ Efreet_Event_Cache_Update *ev = event;
+
+ if (!ev->changed) return ECORE_CALLBACK_PASS_ON;
+
E_Config_Dialog_Data *cfdata = data;
Efreet_Desktop *desk;
EINA_LIST_FREE(cfdata->desks, desk)
/***************************************************************************/
static Eina_Bool
-_desktop_cache_update(void *data __UNUSED__, int type __UNUSED__, void *event __UNUSED__)
+_desktop_cache_update(void *data __UNUSED__, int type __UNUSED__, void *event)
{
+ Efreet_Event_Cache_Update *ev = event;
Efreet_Desktop *d;
+ if (!ev->changed) return ECORE_CALLBACK_PASS_ON;
+
EINA_LIST_FREE(apps_cache, d)
efreet_desktop_unref(d);
- return EINA_TRUE;
+ return ECORE_CALLBACK_PASS_ON;
}
static int
}
static Eina_Bool
-_ibar_cb_config_icons(__UNUSED__ void *data, __UNUSED__ int ev_type, __UNUSED__ void *ev)
+_ibar_cb_config_icons(__UNUSED__ void *data, __UNUSED__ int ev_type, void *event)
{
+ Efreet_Event_Cache_Update *ev = event;
const Eina_List *l;
Instance *inst;
+ if (!ev->changed) return ECORE_CALLBACK_PASS_ON;
+
EINA_LIST_FOREACH(ibar_config->instances, l, inst)
{
const Eina_List *l2;
}
static Eina_Bool
-_il_home_desktop_cache_update(void *data __UNUSED__, int type __UNUSED__, void *event __UNUSED__)
+_il_home_desktop_cache_update(void *data __UNUSED__, int type __UNUSED__, void *event)
{
+ Efreet_Event_Cache_Update *ev = event;
+
+ if (!ev->changed) return ECORE_CALLBACK_PASS_ON;
+
if (defer) ecore_timer_del(defer);
defer = ecore_timer_add(0.5, _il_home_update_deferred, NULL);
return ECORE_CALLBACK_PASS_ON;