Unforutnealy the focusing still seems buggy.

If I open PAN and Evolution and try to autoraise them alternately they
stopp focussing properly 
:(

Andy

On Tue, 2003-01-07 at 22:16, [EMAIL PROTECTED]
wrote:
> Enlightenment CVS committal
> 
> Author  : rbdpngn
> Project : e17
> Module  : apps/e
> 
> Dir     : e17/apps/e/src
> 
> 
> Modified Files:
>       Tag: SPLIT
>       Makefile.am actions.c border.c border.h desktops.c desktops.h 
> 
> 
> Log Message:
> This will hopefully fix the focus bug that has been annoying everyone, as well
> as enabling Alt-Tab on desktops other than just the first 1.
> 
> ===================================================================
> RCS file: /cvsroot/enlightenment/e17/apps/e/src/Makefile.am,v
> retrieving revision 1.50.2.5
> retrieving revision 1.50.2.6
> diff -u -3 -r1.50.2.5 -r1.50.2.6
> --- Makefile.am       1 Oct 2002 18:08:11 -0000       1.50.2.5
> +++ Makefile.am       7 Jan 2003 22:14:57 -0000       1.50.2.6
> @@ -7,7 +7,7 @@
>  
>  INCLUDES = \
>       -I$(top_srcdir)/intl \
> -     @evas_cflags@ @edb_cflags@ @ebits_cflags@ @ecore_cflags@ @efsd_cflags@ 
>@ebg_cflags@ $(DEBUGFLAGS)
> +     @evas_cflags@ @edb_cflags@ @ebits_cflags@ @ecore_cflags@ @efsd_cflags@ 
>@ebg_cflags@ $(DEBUGFLAGS) -static
>  
>  bin_PROGRAMS = enlightenment
>  
> ===================================================================
> RCS file: /cvsroot/enlightenment/e17/apps/e/src/actions.c,v
> retrieving revision 1.49.2.9
> retrieving revision 1.49.2.10
> diff -u -3 -r1.49.2.9 -r1.49.2.10
> --- actions.c 30 Oct 2002 22:24:28 -0000      1.49.2.9
> +++ actions.c 7 Jan 2003 22:15:05 -0000       1.49.2.10
> @@ -1850,9 +1850,13 @@
>  e_act_raise_next_start(E_Object * object, E_Action * a, void *data, int x,
>                      int y, int rx, int ry)
>  {
> +   E_Border           *current = NULL;
> +
>     D_ENTER;
>  
> -   e_border_raise_next();
> +   current = e_desktop_raise_next_border();
> +   if (current)
> +      e_border_send_pointer(current);
>  
>     D_RETURN;
>     UN(object);
> ===================================================================
> RCS file: /cvsroot/enlightenment/e17/apps/e/src/border.c,v
> retrieving revision 1.72.2.17
> retrieving revision 1.72.2.18
> diff -u -3 -r1.72.2.17 -r1.72.2.18
> --- border.c  30 Oct 2002 22:24:28 -0000      1.72.2.17
> +++ border.c  7 Jan 2003 22:15:22 -0000       1.72.2.18
> @@ -365,8 +365,8 @@
>     {
>        E_Border           *b;
>  
> -   if (!(e_border_current_focused()))
> -      e_icccm_send_focus_to(e_desktop_window(), 1);
> +      if (!(e_border_current_focused()))
> +         e_icccm_send_focus_to(e_desktop_window(), 1);
>  
>        b = e_border_find_by_window(e->win);
>        if (b)
> @@ -1368,6 +1368,7 @@
>     ecore_window_reparent(b->win.client, 0, b->current.x + pl,
>                        b->current.y + pt);
>     e_icccm_release(b->win.client);
> +   e_desktop_raise_next_border();
>  
>     D_RETURN;
>  }
> @@ -2684,7 +2685,7 @@
>  {
>     D_ENTER;
>  
> -   if (b->desk != e_desktops_get(0))
> +   if (b->desk != e_desktops_get(e_desktops_get_current()))
>        D_RETURN_(0);
>  
>     if (b->current.x + b->current.w <= 0)
> @@ -2712,47 +2713,6 @@
>  
>     ecore_pointer_warp_to(b->current.x + b->current.w / 2,
>                        b->current.y + b->current.h / 2);
> -
> -   D_RETURN;
> -}
> -
> -void
> -e_border_raise_next(void)
> -{
> -   Evas_List *           next;
> -   E_Border           *start;
> -   E_Border           *current;
> -
> -   D_ENTER;
> -
> -   if (!borders)
> -      D_RETURN;
> -
> -   start = current = e_border_current_focused();
> -
> -   /* Find the current border on the list of borders */
> -   for (next = borders; next && next->data != current; next = next->next);
> -
> -   /* Step to the next border, wrap around the queue if the end is reached */
> -   if (next && next->next)
> -      next = next->next;
> -   else
> -      next = borders;
> -
> -   /* Now find the next viewable border on the same desktop */
> -   current = (E_Border *) next->data;
> -   while (next && (current != start) &&
> -                (!e_border_viewable(current) || current->client.is_desktop))
> -     {
> -     next = next->next;
> -     if (!next)
> -        next = borders;
> -
> -     current = (E_Border *) next->data;
> -     }
> -
> -   e_border_raise(current);
> -   e_border_send_pointer(current);
>  
>     D_RETURN;
>  }
> ===================================================================
> RCS file: /cvsroot/enlightenment/e17/apps/e/src/border.h,v
> retrieving revision 1.19.2.8
> retrieving revision 1.19.2.9
> diff -u -3 -r1.19.2.8 -r1.19.2.9
> --- border.h  30 Oct 2002 22:24:28 -0000      1.19.2.8
> +++ border.h  7 Jan 2003 22:15:46 -0000       1.19.2.9
> @@ -250,7 +250,6 @@
>  void                e_border_lower_below(E_Border * b, E_Border * below);
>  E_Border           *e_border_current_focused(void);
>  void                e_border_focus_grab_ended(void);
> -void                e_border_raise_next(void);
>  void                e_border_send_pointer(E_Border * b);
>  int                 e_border_viewable(E_Border * b);
>  void                e_border_print_pos(char *buf, E_Border * b);
> ===================================================================
> RCS file: /cvsroot/enlightenment/e17/apps/e/src/desktops.c,v
> retrieving revision 1.46.2.8
> retrieving revision 1.46.2.9
> diff -u -3 -r1.46.2.8 -r1.46.2.9
> --- desktops.c        5 Nov 2002 20:36:39 -0000       1.46.2.8
> +++ desktops.c        7 Jan 2003 22:15:52 -0000       1.46.2.9
> @@ -600,6 +600,48 @@
>     D_RETURN;
>  }
>  
> +E_Border *
> +e_desktop_raise_next_border(void)
> +{
> +   Evas_List *           next;
> +   E_Border           *start;
> +   E_Border           *current;
> +
> +   D_ENTER;
> +
> +   if (!current_desk || !current_desk->windows)
> +      D_RETURN_(NULL);
> +
> +   start = current = e_border_current_focused();
> +   if (!start)
> +      start = current = current_desk->windows->data;
> +
> +   /* Find the current border on the list of borders */
> +   for (next = current_desk->windows; next && next->data != current; next = 
>next->next);
> +
> +   /* Step to the next border, wrap around the queue if the end is reached */
> +   if (next && next->next)
> +      next = next->next;
> +   else
> +      next = current_desk->windows;
> +
> +   /* Now find the next viewable border on the same desktop */
> +   current = (E_Border *) next->data;
> +   while ((current != start) && (!e_border_viewable(current)))
> +     {
> +     next = next->next;
> +     if (!next)
> +        next = current_desk->windows;
> +
> +     current = (E_Border *) next->data;
> +     }
> +
> +   e_border_raise(current);
> +   e_icccm_send_focus_to(current->win.client, current->client.takes_focus);
> +
> +   D_RETURN_(current);
> +}
> +
>  void
>  e_desktops_delete(E_Desktop * d)
>  {
> ===================================================================
> RCS file: /cvsroot/enlightenment/e17/apps/e/src/desktops.h,v
> retrieving revision 1.9.2.5
> retrieving revision 1.9.2.6
> diff -u -3 -r1.9.2.5 -r1.9.2.6
> --- desktops.h        30 Oct 2002 22:24:28 -0000      1.9.2.5
> +++ desktops.h        7 Jan 2003 22:16:04 -0000       1.9.2.6
> @@ -103,6 +103,7 @@
>  void                e_desktop_bg_reload(E_Desktop * d);
>  void                e_desktop_ib_reload(E_Desktop * d);
>  void                e_desktop_update(E_Desktop *d);
> +E_Border           *e_desktop_raise_next_border(void);
>  Window              e_desktop_window();
>  
>  #endif
> 
> 
> 
> 
> -------------------------------------------------------
> This SF.NET email is sponsored by:
> SourceForge Enterprise Edition + IBM + LinuxWorld = Something 2 See!
> http://www.vasoftware.com
> _______________________________________________
> enlightenment-cvs mailing list
> [EMAIL PROTECTED]
> https://lists.sourceforge.net/lists/listinfo/enlightenment-cvs
-- 
Andrew Elcock <[EMAIL PROTECTED]>
Rectang.com



-------------------------------------------------------
This SF.NET email is sponsored by:
SourceForge Enterprise Edition + IBM + LinuxWorld = Something 2 See!
http://www.vasoftware.com
_______________________________________________
enlightenment-devel mailing list
[EMAIL PROTECTED]
https://lists.sourceforge.net/lists/listinfo/enlightenment-devel

Reply via email to