Hey englebass, The commit below makes a 1pixel unclickable border around my screen.. I cannot select windows or do anything in this one pixel border. Removing ecore_x_window_show(...) and e_container_window_raise(zone->container, ..., 999); fixes the problem, but I dont know if it creates any new problems with edge flipping or shelf autohiding. Can you please look into this and make it so my screen border is clickable.
Thanks --------------------------------------------- Enlightenment CVS committal Author : englebass Project : e17 Module : apps/e Dir : e17/apps/e/src/bin Modified Files: e_zone.c e_zone.h Log Message: Always show edge windows, prepare for edge events to show shelves. =================================================================== RCS file: /cvs/e/e17/apps/e/src/bin/e_zone.c,v retrieving revision 1.123 retrieving revision 1.124 diff -u -3 -r1.123 -r1.124 --- e_zone.c 17 Oct 2007 11:06:59 -0000 1.123 +++ e_zone.c 22 Nov 2007 19:46:54 -0000 1.124 @@ -62,10 +62,18 @@ zone->num = num; zone->id = id; - zone->flip.left = ecore_x_window_input_new(con->win, zone->x, zone->y, 1, zone->h); - zone->flip.right = ecore_x_window_input_new(con->win, zone->x + zone->w - 1, zone->y, 1, zone->h); - zone->flip.top = ecore_x_window_input_new(con->win, zone->x + 1, zone->y, zone->w - 2, 1); - zone->flip.bottom = ecore_x_window_input_new(con->win, zone->x + 1, zone->y + zone->h - 1, zone->w - 2, 1); + zone->edge.left = ecore_x_window_input_new(con->win, zone->x, zone->y, 1, zone->h); + ecore_x_window_show(zone->edge.left); + e_container_window_raise(zone->container, zone->edge.left, 999); + zone->edge.right = ecore_x_window_input_new(con->win, zone->x + zone->w - 1, zone->y, 1, zone->h); + ecore_x_window_show(zone->edge.right); + e_container_window_raise(zone->container, zone->edge.right, 999); + zone->edge.top = ecore_x_window_input_new(con->win, zone->x + 1, zone->y, zone->w - 2, 1); + ecore_x_window_show(zone->edge.top); + e_container_window_raise(zone->container, zone->edge.top, 999); + zone->edge.bottom = ecore_x_window_input_new(con->win, zone->x + 1, zone->y + zone->h - 1, zone->w - 2, 1); + ecore_x_window_show(zone->edge.bottom); + e_container_window_raise(zone->container, zone->edge.bottom, 999); zone->handlers = evas_list_append(zone->handlers, ecore_event_handler_add(ECORE_X_EVENT_MOUSE_IN, @@ -160,10 +168,10 @@ ev->zone = zone; ecore_event_add(E_EVENT_ZONE_MOVE_RESIZE, ev, _e_zone_event_move_resize_free, NULL); - ecore_x_window_move_resize(zone->flip.left, zone->x, zone->y, 1, zone->h); - ecore_x_window_move_resize(zone->flip.right, zone->x + zone->w - 1, zone->y, 1, zone->h); - ecore_x_window_move_resize(zone->flip.top, zone->x + 1, zone->y, zone->w - 2, 1); - ecore_x_window_move_resize(zone->flip.bottom, zone->x + 1, zone->y + zone->h - 1, zone->w - 2, 1); + ecore_x_window_move_resize(zone->edge.left, zone->x, zone->y, 1, zone->h); + ecore_x_window_move_resize(zone->edge.right, zone->x + zone->w - 1, zone->y, 1, zone->h); + ecore_x_window_move_resize(zone->edge.top, zone->x + 1, zone->y, zone->w - 2, 1); + ecore_x_window_move_resize(zone->edge.bottom, zone->x + 1, zone->y + zone->h - 1, zone->w - 2, 1); } EAPI void @@ -185,10 +193,10 @@ ev->zone = zone; ecore_event_add(E_EVENT_ZONE_MOVE_RESIZE, ev, _e_zone_event_move_resize_free, NULL); - ecore_x_window_move_resize(zone->flip.left, zone->x, zone->y, 1, zone->h); - ecore_x_window_move_resize(zone->flip.right, zone->x + zone->w - 1, zone->y, 1, zone->h); - ecore_x_window_move_resize(zone->flip.top, zone->x + 1, zone->y, zone->w - 2, 1); - ecore_x_window_move_resize(zone->flip.bottom, zone->x + 1, zone->y + zone->h - 1, zone->w - 2, 1); + ecore_x_window_move_resize(zone->edge.left, zone->x, zone->y, 1, zone->h); + ecore_x_window_move_resize(zone->edge.right, zone->x + zone->w - 1, zone->y, 1, zone->h); + ecore_x_window_move_resize(zone->edge.top, zone->x + 1, zone->y, zone->w - 2, 1); + ecore_x_window_move_resize(zone->edge.bottom, zone->x + 1, zone->y + zone->h - 1, zone->w - 2, 1); } EAPI void @@ -218,10 +226,10 @@ ev->zone = zone; ecore_event_add(E_EVENT_ZONE_MOVE_RESIZE, ev, _e_zone_event_move_resize_free, NULL); - ecore_x_window_move_resize(zone->flip.left, zone->x, zone->y, 1, zone->h); - ecore_x_window_move_resize(zone->flip.right, zone->x + zone->w - 1, zone->y, 1, zone->h); - ecore_x_window_move_resize(zone->flip.top, zone->x + 1, zone->y, zone->w - 2, 1); - ecore_x_window_move_resize(zone->flip.bottom, zone->x + 1, zone->y + zone->h - 1, zone->w - 2, 1); + ecore_x_window_move_resize(zone->edge.left, zone->x, zone->y, 1, zone->h); + ecore_x_window_move_resize(zone->edge.right, zone->x + zone->w - 1, zone->y, 1, zone->h); + ecore_x_window_move_resize(zone->edge.top, zone->x + 1, zone->y, zone->w - 2, 1); + ecore_x_window_move_resize(zone->edge.bottom, zone->x + 1, zone->y + zone->h - 1, zone->w - 2, 1); } EAPI void @@ -581,10 +589,10 @@ E_Zone *zone; zone = lll->data; - ecore_x_window_hide(zone->flip.left); - ecore_x_window_hide(zone->flip.right); - ecore_x_window_hide(zone->flip.top); - ecore_x_window_hide(zone->flip.bottom); + ecore_x_window_hide(zone->edge.left); + ecore_x_window_hide(zone->edge.right); + ecore_x_window_hide(zone->edge.top); + ecore_x_window_hide(zone->edge.bottom); } } } @@ -608,7 +616,10 @@ E_Zone *zone; zone = lll->data; - _e_zone_update_flip(zone); + ecore_x_window_show(zone->edge.left); + ecore_x_window_show(zone->edge.right); + ecore_x_window_show(zone->edge.top); + ecore_x_window_show(zone->edge.bottom); } } } @@ -765,25 +776,25 @@ ev = event; zone = data; - if (ev->win == zone->flip.top) + if ((ev->win == zone->edge.top) && (zone->flip.top)) { if (!zone->flip.timer) zone->flip.timer = ecore_timer_add(e_config->edge_flip_timeout, _e_zone_cb_timer, zone); zone->flip.direction = E_DIRECTION_UP; } - else if (ev->win == zone->flip.right) + else if ((ev->win == zone->edge.right) && (zone->flip.right)) { if (!zone->flip.timer) zone->flip.timer = ecore_timer_add(e_config->edge_flip_timeout, _e_zone_cb_timer, zone); zone->flip.direction = E_DIRECTION_RIGHT; } - else if (ev->win == zone->flip.bottom) + else if ((ev->win == zone->edge.bottom) && (zone->flip.bottom)) { if (!zone->flip.timer) zone->flip.timer = ecore_timer_add(e_config->edge_flip_timeout, _e_zone_cb_timer, zone); zone->flip.direction = E_DIRECTION_DOWN; } - else if (ev->win == zone->flip.left) + else if ((ev->win == zone->edge.left) && (zone->flip.left)) { if (!zone->flip.timer) zone->flip.timer = ecore_timer_add(e_config->edge_flip_timeout, _e_zone_cb_timer, zone); @@ -801,10 +812,10 @@ ev = event; zone = data; - if ((ev->win == zone->flip.top) || - (ev->win == zone->flip.bottom) || - (ev->win == zone->flip.left) || - (ev->win == zone->flip.right)) + if ((ev->win == zone->edge.top) || + (ev->win == zone->edge.bottom) || + (ev->win == zone->edge.left) || + (ev->win == zone->edge.right)) { if (zone->flip.timer) ecore_timer_del(zone->flip.timer); @@ -903,6 +914,11 @@ static void _e_zone_update_flip(E_Zone *zone) { + zone->flip.left = 0; + zone->flip.right = 0; + zone->flip.top = 0; + zone->flip.bottom = 0; + if (e_config->edge_flip_moving) { /* if we have only 1 row we can flip up/down even if we have xinerama */ @@ -935,43 +951,16 @@ } if (one_col && E_ZONE_FLIP_LEFT(zone)) - { - ecore_x_window_show(zone->flip.left); - e_container_window_raise(zone->container, zone->flip.left, 999); - } - else - ecore_x_window_hide(zone->flip.left); + zone->flip.left = 1; if (one_col && E_ZONE_FLIP_RIGHT(zone)) - { - ecore_x_window_show(zone->flip.right); - e_container_window_raise(zone->container, zone->flip.right, 999); - } - else - ecore_x_window_hide(zone->flip.right); + zone->flip.right = 1; if (one_row && E_ZONE_FLIP_UP(zone)) - { - ecore_x_window_show(zone->flip.top); - e_container_window_raise(zone->container, zone->flip.top, 999); - } - else - ecore_x_window_hide(zone->flip.top); + zone->flip.top = 1; if (one_row && E_ZONE_FLIP_DOWN(zone)) - { - ecore_x_window_show(zone->flip.bottom); - e_container_window_raise(zone->container, zone->flip.bottom, 999); - } - else - ecore_x_window_hide(zone->flip.bottom); - } - else - { - ecore_x_window_hide(zone->flip.left); - ecore_x_window_hide(zone->flip.right); - ecore_x_window_hide(zone->flip.top); - ecore_x_window_hide(zone->flip.bottom); + zone->flip.bottom = 1; } } =================================================================== RCS file: /cvs/e/e17/apps/e/src/bin/e_zone.h,v retrieving revision 1.43 retrieving revision 1.44 diff -u -3 -r1.43 -r1.44 --- e_zone.h 17 Oct 2007 11:06:59 -0000 1.43 +++ e_zone.h 22 Nov 2007 19:46:54 -0000 1.44 @@ -3,6 +3,14 @@ */ #ifdef E_TYPEDEFS +typedef enum _E_Zone_Edge +{ + E_ZONE_LEFT, + E_ZONE_RIGHT, + E_ZONE_TOP, + E_ZONE_BOTTOM +} E_Zone_Edge; + typedef struct _E_Zone E_Zone; typedef struct _E_Event_Zone_Desk_Count_Set E_Event_Zone_Desk_Count_Set; @@ -41,10 +49,17 @@ Evas_List *handlers; struct { - Ecore_X_Window top, right, bottom, left; + unsigned char top : 1; + unsigned char right : 1; + unsigned char bottom : 1; + unsigned char left : 1; Ecore_Timer *timer; E_Direction direction; } flip; + + struct { + Ecore_X_Window top, right, bottom, left; + } edge; E_Action *cur_mouse_action; Evas_List *popups; ------------------------------------------------------------------------- This SF.net email is sponsored by: Microsoft Defy all challenges. Microsoft(R) Visual Studio 2005. http://clk.atdmt.com/MRT/go/vse0120000070mrt/direct/01/ _______________________________________________ enlightenment-devel mailing list enlightenment-devel@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/enlightenment-devel