On Sat, 5 Jan 2008 23:16:50 -0500 "Sthithaprajna Garapaty" <[EMAIL PROTECTED]> babbled:
> 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. actually it needs fixing to hide that border when not needed. for example - don't have it at the top/bottom of the screen if u have only 4x1 virtual desktops (yes i know its used for shelf autohide - it needs to then only be on the bottom of the screen where the shelf is - but the top one should go), so there needs to be a way to reigster interest in an edge of the screen and de-register. then flipping desktop,s if they are not set to rotate (ie go left from desk 0,0 goes to desk 3,0 in a 4x1 arrangement - the default) then the left one is not needed if you basically can't auto mouse-flip on that edge. > 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 > -- ------------- Codito, ergo sum - "I code, therefore I am" -------------- The Rasterman (Carsten Haitzler) [EMAIL PROTECTED] ------------------------------------------------------------------------- This SF.net email is sponsored by: Microsoft Defy all challenges. Microsoft(R) Visual Studio 2008. 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