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

Reply via email to