forked from enlightenment/enlightenment
Move pointer to manager.
Update pointer when changing by ipc. SVN revision: 17034
This commit is contained in:
parent
426cb9c4be
commit
4b5f28eb16
|
@ -122,8 +122,6 @@ e_container_new(E_Manager *man)
|
||||||
evas_object_data_set(o, "e_container", con);
|
evas_object_data_set(o, "e_container", con);
|
||||||
evas_object_show(o);
|
evas_object_show(o);
|
||||||
|
|
||||||
con->pointer.root = e_pointer_window_set(con->manager->root);
|
|
||||||
|
|
||||||
con->num = container_num;
|
con->num = container_num;
|
||||||
container_num++;
|
container_num++;
|
||||||
snprintf(name, sizeof(name), _("Container %d"), con->num);
|
snprintf(name, sizeof(name), _("Container %d"), con->num);
|
||||||
|
@ -949,8 +947,6 @@ _e_container_free(E_Container *con)
|
||||||
Evas_List *l, *tmp;
|
Evas_List *l, *tmp;
|
||||||
int i;
|
int i;
|
||||||
|
|
||||||
if (con->pointer.root) e_object_del(E_OBJECT(con->pointer.root));
|
|
||||||
|
|
||||||
ecore_x_window_del(con->event_win);
|
ecore_x_window_del(con->event_win);
|
||||||
/* We can't use e_object_del here, because border adds a ref to itself
|
/* We can't use e_object_del here, because border adds a ref to itself
|
||||||
* when it is removed, and the ref is never unref'ed */
|
* when it is removed, and the ref is never unref'ed */
|
||||||
|
|
|
@ -54,10 +54,6 @@ struct _E_Container
|
||||||
Ecore_X_Window win;
|
Ecore_X_Window win;
|
||||||
Evas_List *clients;
|
Evas_List *clients;
|
||||||
} layers[7];
|
} layers[7];
|
||||||
|
|
||||||
struct {
|
|
||||||
E_Pointer *root;
|
|
||||||
} pointer;
|
|
||||||
};
|
};
|
||||||
|
|
||||||
struct _E_Border_List
|
struct _E_Border_List
|
||||||
|
|
|
@ -62,7 +62,7 @@ e_init_init(void)
|
||||||
ecore_evas_name_class_set(_e_init_ecore_evas, "E", "Init_Window");
|
ecore_evas_name_class_set(_e_init_ecore_evas, "E", "Init_Window");
|
||||||
ecore_evas_title_set(_e_init_ecore_evas, "Enlightenment Init");
|
ecore_evas_title_set(_e_init_ecore_evas, "Enlightenment Init");
|
||||||
|
|
||||||
_e_init_pointer = e_pointer_window_set(_e_init_win);
|
_e_init_pointer = e_pointer_window_new(_e_init_win);
|
||||||
|
|
||||||
ecore_evas_raise(_e_init_ecore_evas);
|
ecore_evas_raise(_e_init_ecore_evas);
|
||||||
ecore_evas_show(_e_init_ecore_evas);
|
ecore_evas_show(_e_init_ecore_evas);
|
||||||
|
|
|
@ -4988,8 +4988,16 @@ break;
|
||||||
REQ_INT(atoi(params[0]), HDL);
|
REQ_INT(atoi(params[0]), HDL);
|
||||||
#elif (TYPE == E_WM_IN)
|
#elif (TYPE == E_WM_IN)
|
||||||
START_INT(val, HDL);
|
START_INT(val, HDL);
|
||||||
|
Evas_List *ml;
|
||||||
e_config->use_e_cursor = val;
|
e_config->use_e_cursor = val;
|
||||||
E_CONFIG_LIMIT(e_config->use_e_cursor, 0, 1);
|
E_CONFIG_LIMIT(e_config->use_e_cursor, 0, 1);
|
||||||
|
for (ml = e_manager_list(); ml; ml = ml->next)
|
||||||
|
{
|
||||||
|
E_Manager *man;
|
||||||
|
man = ml->data;
|
||||||
|
if (man->pointer) e_object_del(E_OBJECT(man->pointer));
|
||||||
|
man->pointer = e_pointer_window_new(man->root);
|
||||||
|
}
|
||||||
SAVE;
|
SAVE;
|
||||||
END_INT;
|
END_INT;
|
||||||
#elif (TYPE == E_REMOTE_IN)
|
#elif (TYPE == E_REMOTE_IN)
|
||||||
|
|
|
@ -119,6 +119,8 @@ e_manager_new(Ecore_X_Window root, int num)
|
||||||
h = ecore_event_handler_add(ECORE_X_EVENT_PING, _e_manager_cb_ping, man);
|
h = ecore_event_handler_add(ECORE_X_EVENT_PING, _e_manager_cb_ping, man);
|
||||||
if (h) man->handlers = evas_list_append(man->handlers, h);
|
if (h) man->handlers = evas_list_append(man->handlers, h);
|
||||||
|
|
||||||
|
man->pointer = e_pointer_window_new(man->root);
|
||||||
|
|
||||||
return man;
|
return man;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -444,6 +446,7 @@ _e_manager_free(E_Manager *man)
|
||||||
{
|
{
|
||||||
ecore_x_window_del(man->win);
|
ecore_x_window_del(man->win);
|
||||||
}
|
}
|
||||||
|
if (man->pointer) e_object_del(E_OBJECT(man->pointer));
|
||||||
managers = evas_list_remove(managers, man);
|
managers = evas_list_remove(managers, man);
|
||||||
free(man);
|
free(man);
|
||||||
}
|
}
|
||||||
|
|
|
@ -22,6 +22,8 @@ struct _E_Manager
|
||||||
Ecore_X_Window root;
|
Ecore_X_Window root;
|
||||||
Evas_List *handlers;
|
Evas_List *handlers;
|
||||||
Evas_List *containers;
|
Evas_List *containers;
|
||||||
|
|
||||||
|
E_Pointer *pointer;
|
||||||
};
|
};
|
||||||
|
|
||||||
EAPI int e_manager_init(void);
|
EAPI int e_manager_init(void);
|
||||||
|
|
|
@ -10,7 +10,7 @@ static void _e_pointer_free(E_Pointer *p);
|
||||||
|
|
||||||
/* externally accessible functions */
|
/* externally accessible functions */
|
||||||
E_Pointer *
|
E_Pointer *
|
||||||
e_pointer_window_set(Ecore_X_Window win)
|
e_pointer_window_new(Ecore_X_Window win)
|
||||||
{
|
{
|
||||||
Evas_Engine_Info_Buffer *einfo;
|
Evas_Engine_Info_Buffer *einfo;
|
||||||
E_Pointer *p = NULL;
|
E_Pointer *p = NULL;
|
||||||
|
|
|
@ -27,7 +27,7 @@ struct _E_Pointer
|
||||||
} hot;
|
} hot;
|
||||||
};
|
};
|
||||||
|
|
||||||
EAPI E_Pointer *e_pointer_window_set(Ecore_X_Window win);
|
EAPI E_Pointer *e_pointer_window_new(Ecore_X_Window win);
|
||||||
EAPI void e_pointers_size_set(int size);
|
EAPI void e_pointers_size_set(int size);
|
||||||
EAPI void e_pointer_idler_before(void);
|
EAPI void e_pointer_idler_before(void);
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue