forked from enlightenment/enlightenment
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:
parent
8f465dbb54
commit
687c994aa2
|
@ -16,6 +16,7 @@ static Eina_Bool _e_manager_frame_extents_free_cb(const Eina_Hash *hash __UNUSED
|
||||||
const void *key __UNUSED__,
|
const void *key __UNUSED__,
|
||||||
void *data, void *fdata __UNUSED__);
|
void *data, void *fdata __UNUSED__);
|
||||||
static E_Manager *_e_manager_get_for_root(Ecore_X_Window root);
|
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 */
|
#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_destroy(void *data, int ev_type, void *ev);
|
||||||
static int _e_manager_cb_window_hide(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;
|
E_Manager *man;
|
||||||
|
|
||||||
if (!ecore_x_window_manage(root)) return NULL;
|
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);
|
man = E_OBJECT_ALLOC(E_Manager, E_MANAGER_TYPE, _e_manager_free);
|
||||||
if (!man) return NULL;
|
if (!man) return NULL;
|
||||||
managers = eina_list_append(managers, man);
|
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);
|
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;
|
return man;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -694,6 +697,7 @@ _e_manager_free(E_Manager *man)
|
||||||
}
|
}
|
||||||
if (man->pointer) e_object_del(E_OBJECT(man->pointer));
|
if (man->pointer) e_object_del(E_OBJECT(man->pointer));
|
||||||
managers = eina_list_remove(managers, man);
|
managers = eina_list_remove(managers, man);
|
||||||
|
if (man->clear_timer) ecore_timer_del(man->clear_timer);
|
||||||
free(man);
|
free(man);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -1047,6 +1051,14 @@ _e_manager_get_for_root(Ecore_X_Window root)
|
||||||
return eina_list_data_get(managers);
|
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 */
|
#if 0 /* use later - maybe */
|
||||||
static int _e_manager_cb_window_destroy(void *data, int ev_type, void *ev){return 1;}
|
static int _e_manager_cb_window_destroy(void *data, int ev_type, void *ev){return 1;}
|
||||||
|
|
|
@ -26,6 +26,7 @@ struct _E_Manager
|
||||||
Ecore_X_Window initwin;
|
Ecore_X_Window initwin;
|
||||||
|
|
||||||
E_Manager_Comp *comp;
|
E_Manager_Comp *comp;
|
||||||
|
Ecore_Timer *clear_timer;
|
||||||
};
|
};
|
||||||
|
|
||||||
struct _E_Manager_Comp
|
struct _E_Manager_Comp
|
||||||
|
|
Loading…
Reference in New Issue