forked from enlightenment/enlightenment
Don't need to remember both container and zone
SVN revision: 14674
This commit is contained in:
parent
88aaa43f53
commit
080b2265d3
|
@ -215,11 +215,10 @@ e_border_new(E_Container *con, Ecore_X_Window win, int first_map)
|
||||||
if (!bd) return NULL;
|
if (!bd) return NULL;
|
||||||
e_object_del_func_set(E_OBJECT(bd), E_OBJECT_CLEANUP_FUNC(_e_border_del));
|
e_object_del_func_set(E_OBJECT(bd), E_OBJECT_CLEANUP_FUNC(_e_border_del));
|
||||||
|
|
||||||
bd->container = con;
|
|
||||||
printf("##- NEW CLIENT 0x%x\n", win);
|
printf("##- NEW CLIENT 0x%x\n", win);
|
||||||
bd->w = 1;
|
bd->w = 1;
|
||||||
bd->h = 1;
|
bd->h = 1;
|
||||||
bd->win = ecore_x_window_override_new(bd->container->win, 0, 0, bd->w, bd->h);
|
bd->win = ecore_x_window_override_new(con->win, 0, 0, bd->w, bd->h);
|
||||||
ecore_x_window_shape_events_select(bd->win, 1);
|
ecore_x_window_shape_events_select(bd->win, 1);
|
||||||
e_bindings_mouse_grab(E_BINDING_CONTEXT_BORDER, bd->win);
|
e_bindings_mouse_grab(E_BINDING_CONTEXT_BORDER, bd->win);
|
||||||
if (e_canvas_engine_decide(e_config->evas_engine_borders) ==
|
if (e_canvas_engine_decide(e_config->evas_engine_borders) ==
|
||||||
|
@ -714,31 +713,31 @@ e_border_focus_set(E_Border *bd, int focus, int set)
|
||||||
*/
|
*/
|
||||||
ecore_x_window_focus(bd->client.win);
|
ecore_x_window_focus(bd->client.win);
|
||||||
ecore_x_icccm_take_focus_send(bd->client.win, ecore_x_current_time_get());
|
ecore_x_icccm_take_focus_send(bd->client.win, ecore_x_current_time_get());
|
||||||
// e_hints_active_window_set(bd->container->manager, bd);
|
// e_hints_active_window_set(bd->zone->container->manager, bd);
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
// printf("set focus\n");
|
// printf("set focus\n");
|
||||||
ecore_x_window_focus(bd->client.win);
|
ecore_x_window_focus(bd->client.win);
|
||||||
// e_hints_active_window_set(bd->container->manager, bd);
|
// e_hints_active_window_set(bd->zone->container->manager, bd);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
// printf("remove focus\n");
|
// printf("remove focus\n");
|
||||||
ecore_x_window_focus(bd->container->manager->root);
|
ecore_x_window_focus(bd->zone->container->manager->root);
|
||||||
// e_hints_active_window_set(bd->container->manager, NULL);
|
// e_hints_active_window_set(bd->zone->container->manager, NULL);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
if ((bd->focused) && (focused != bd))
|
if ((bd->focused) && (focused != bd))
|
||||||
{
|
{
|
||||||
focused = bd;
|
focused = bd;
|
||||||
e_hints_active_window_set(bd->container->manager, bd);
|
e_hints_active_window_set(bd->zone->container->manager, bd);
|
||||||
}
|
}
|
||||||
else if ((!bd->focused) && (focused == bd))
|
else if ((!bd->focused) && (focused == bd))
|
||||||
{
|
{
|
||||||
focused = NULL;
|
focused = NULL;
|
||||||
e_hints_active_window_set(bd->container->manager, NULL);
|
e_hints_active_window_set(bd->zone->container->manager, NULL);
|
||||||
}
|
}
|
||||||
// printf("F %x %i\n", bd->client.win, bd->focused);
|
// printf("F %x %i\n", bd->client.win, bd->focused);
|
||||||
}
|
}
|
||||||
|
@ -1371,7 +1370,7 @@ _e_border_free(E_Border *bd)
|
||||||
}
|
}
|
||||||
if (focused == bd)
|
if (focused == bd)
|
||||||
{
|
{
|
||||||
ecore_x_window_focus(bd->container->manager->root);
|
ecore_x_window_focus(bd->zone->container->manager->root);
|
||||||
focused = NULL;
|
focused = NULL;
|
||||||
}
|
}
|
||||||
while (bd->handlers)
|
while (bd->handlers)
|
||||||
|
@ -1382,7 +1381,7 @@ _e_border_free(E_Border *bd)
|
||||||
bd->handlers = evas_list_remove_list(bd->handlers, bd->handlers);
|
bd->handlers = evas_list_remove_list(bd->handlers, bd->handlers);
|
||||||
ecore_event_handler_del(h);
|
ecore_event_handler_del(h);
|
||||||
}
|
}
|
||||||
ecore_x_window_reparent(bd->client.win, bd->container->manager->root, bd->x + bd->client_inset.l, bd->y + bd->client_inset.t);
|
ecore_x_window_reparent(bd->client.win, bd->zone->container->manager->root, bd->x + bd->client_inset.l, bd->y + bd->client_inset.t);
|
||||||
ecore_x_window_save_set_del(bd->client.win);
|
ecore_x_window_save_set_del(bd->client.win);
|
||||||
if (bd->client.border.name) free(bd->client.border.name);
|
if (bd->client.border.name) free(bd->client.border.name);
|
||||||
if (bd->client.icccm.title) free(bd->client.icccm.title);
|
if (bd->client.icccm.title) free(bd->client.icccm.title);
|
||||||
|
@ -1399,7 +1398,7 @@ _e_border_free(E_Border *bd)
|
||||||
e_bindings_mouse_ungrab(E_BINDING_CONTEXT_BORDER, bd->win);
|
e_bindings_mouse_ungrab(E_BINDING_CONTEXT_BORDER, bd->win);
|
||||||
ecore_x_window_del(bd->win);
|
ecore_x_window_del(bd->win);
|
||||||
|
|
||||||
bd->container->clients = evas_list_remove(bd->container->clients, bd);
|
bd->zone->container->clients = evas_list_remove(bd->zone->container->clients, bd);
|
||||||
borders = evas_list_remove(borders, bd);
|
borders = evas_list_remove(borders, bd);
|
||||||
|
|
||||||
free(bd);
|
free(bd);
|
||||||
|
@ -2457,7 +2456,7 @@ _e_border_cb_mouse_move(void *data, int type, void *event)
|
||||||
new_x = x;
|
new_x = x;
|
||||||
new_y = y;
|
new_y = y;
|
||||||
skiplist = evas_list_append(skiplist, bd);
|
skiplist = evas_list_append(skiplist, bd);
|
||||||
e_resist_container_border_position(bd->container, skiplist,
|
e_resist_container_border_position(bd->zone->container, skiplist,
|
||||||
bd->x, bd->y, bd->w, bd->h,
|
bd->x, bd->y, bd->w, bd->h,
|
||||||
x, y, bd->w, bd->h,
|
x, y, bd->w, bd->h,
|
||||||
&new_x, &new_y, &new_w, &new_h);
|
&new_x, &new_y, &new_w, &new_h);
|
||||||
|
@ -3485,7 +3484,7 @@ _e_border_resize_handle(E_Border *bd)
|
||||||
y += (th - h);
|
y += (th - h);
|
||||||
|
|
||||||
skiplist = evas_list_append(skiplist, bd);
|
skiplist = evas_list_append(skiplist, bd);
|
||||||
e_resist_container_border_position(bd->container, skiplist,
|
e_resist_container_border_position(bd->zone->container, skiplist,
|
||||||
bd->x, bd->y, bd->w, bd->h,
|
bd->x, bd->y, bd->w, bd->h,
|
||||||
x, y, w, h,
|
x, y, w, h,
|
||||||
&new_x, &new_y, &new_w, &new_h);
|
&new_x, &new_y, &new_w, &new_h);
|
||||||
|
@ -4121,15 +4120,15 @@ _e_border_reorder_after(E_Border *bd, E_Border *after)
|
||||||
{
|
{
|
||||||
if (after)
|
if (after)
|
||||||
{
|
{
|
||||||
bd->container->clients = evas_list_remove(bd->container->clients, bd);
|
bd->zone->container->clients = evas_list_remove(bd->zone->container->clients, bd);
|
||||||
bd->container->clients = evas_list_append_relative(bd->container->clients, bd, after);
|
bd->zone->container->clients = evas_list_append_relative(bd->zone->container->clients, bd, after);
|
||||||
borders = evas_list_remove(borders, bd);
|
borders = evas_list_remove(borders, bd);
|
||||||
borders = evas_list_append_relative(borders, bd, after);
|
borders = evas_list_append_relative(borders, bd, after);
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
bd->container->clients = evas_list_remove(bd->container->clients, bd);
|
bd->zone->container->clients = evas_list_remove(bd->zone->container->clients, bd);
|
||||||
bd->container->clients = evas_list_append(bd->container->clients, bd);
|
bd->zone->container->clients = evas_list_append(bd->zone->container->clients, bd);
|
||||||
borders = evas_list_remove(borders, bd);
|
borders = evas_list_remove(borders, bd);
|
||||||
borders = evas_list_append(borders, bd);
|
borders = evas_list_append(borders, bd);
|
||||||
}
|
}
|
||||||
|
@ -4140,15 +4139,15 @@ _e_border_reorder_before(E_Border *bd, E_Border *before)
|
||||||
{
|
{
|
||||||
if (before)
|
if (before)
|
||||||
{
|
{
|
||||||
bd->container->clients = evas_list_remove(bd->container->clients, bd);
|
bd->zone->container->clients = evas_list_remove(bd->zone->container->clients, bd);
|
||||||
bd->container->clients = evas_list_prepend_relative(bd->container->clients, bd, before);
|
bd->zone->container->clients = evas_list_prepend_relative(bd->zone->container->clients, bd, before);
|
||||||
borders = evas_list_remove(borders, bd);
|
borders = evas_list_remove(borders, bd);
|
||||||
borders = evas_list_prepend_relative(borders, bd, before);
|
borders = evas_list_prepend_relative(borders, bd, before);
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
bd->container->clients = evas_list_remove(bd->container->clients, bd);
|
bd->zone->container->clients = evas_list_remove(bd->zone->container->clients, bd);
|
||||||
bd->container->clients = evas_list_prepend(bd->container->clients, bd);
|
bd->zone->container->clients = evas_list_prepend(bd->zone->container->clients, bd);
|
||||||
borders = evas_list_remove(borders, bd);
|
borders = evas_list_remove(borders, bd);
|
||||||
borders = evas_list_prepend(borders, bd);
|
borders = evas_list_prepend(borders, bd);
|
||||||
}
|
}
|
||||||
|
|
|
@ -65,7 +65,6 @@ struct _E_Border
|
||||||
Ecore_X_Window win;
|
Ecore_X_Window win;
|
||||||
int x, y, w, h;
|
int x, y, w, h;
|
||||||
int ref;
|
int ref;
|
||||||
E_Container *container;
|
|
||||||
E_Zone *zone;
|
E_Zone *zone;
|
||||||
E_Desk *desk;
|
E_Desk *desk;
|
||||||
Evas_List *handlers;
|
Evas_List *handlers;
|
||||||
|
|
Loading…
Reference in New Issue