be more insistent on setting root bg color - add timer to black it out

in 10 sec in case gnome-settings-daemon runs off and sets it or
something.



SVN revision: 68191
This commit is contained in:
Carsten Haitzler 2012-02-21 03:16:32 +00:00
parent 8f465dbb54
commit 687c994aa2
2 changed files with 14 additions and 1 deletions

View File

@ -16,6 +16,7 @@ static Eina_Bool _e_manager_frame_extents_free_cb(const Eina_Hash *hash __UNUSED
const void *key __UNUSED__,
void *data, void *fdata __UNUSED__);
static E_Manager *_e_manager_get_for_root(Ecore_X_Window root);
static Eina_Bool _e_manager_clear_timer(void *data);
#if 0 /* use later - maybe */
static int _e_manager_cb_window_destroy(void *data, int ev_type, void *ev);
static int _e_manager_cb_window_hide(void *data, int ev_type, void *ev);
@ -86,7 +87,6 @@ e_manager_new(Ecore_X_Window root, int num)
E_Manager *man;
if (!ecore_x_window_manage(root)) return NULL;
ecore_x_window_background_color_set(root, 0, 0, 0);
man = E_OBJECT_ALLOC(E_Manager, E_MANAGER_TYPE, _e_manager_free);
if (!man) return NULL;
managers = eina_list_append(managers, man);
@ -138,6 +138,9 @@ e_manager_new(Ecore_X_Window root, int num)
man->pointer = e_pointer_window_new(man->root, 1);
ecore_x_window_background_color_set(man->root, 0, 0, 0);
man->clear_timer = ecore_timer_add(10.0, _e_manager_clear_timer, man);
return man;
}
@ -694,6 +697,7 @@ _e_manager_free(E_Manager *man)
}
if (man->pointer) e_object_del(E_OBJECT(man->pointer));
managers = eina_list_remove(managers, man);
if (man->clear_timer) ecore_timer_del(man->clear_timer);
free(man);
}
@ -1047,6 +1051,14 @@ _e_manager_get_for_root(Ecore_X_Window root)
return eina_list_data_get(managers);
}
static Eina_Bool
_e_manager_clear_timer(void *data)
{
E_Manager *man = data;
ecore_x_window_background_color_set(man->root, 0, 0, 0);
man->clear_timer = NULL;
return EINA_FALSE;
}
#if 0 /* use later - maybe */
static int _e_manager_cb_window_destroy(void *data, int ev_type, void *ev){return 1;}

View File

@ -26,6 +26,7 @@ struct _E_Manager
Ecore_X_Window initwin;
E_Manager_Comp *comp;
Ecore_Timer *clear_timer;
};
struct _E_Manager_Comp