Enlightenment CVS committal

Author  : sleuth
Project : e17
Module  : apps/e

Dir     : e17/apps/e/src


Modified Files:
        border.c desktops.c 


Log Message:
And fixup desktop switching when windows are closed/loose focus.

Kevin Brosius <[EMAIL PROTECTED]>

===================================================================
RCS file: /cvsroot/enlightenment/e17/apps/e/src/border.c,v
retrieving revision 1.75
retrieving revision 1.76
diff -u -3 -r1.75 -r1.76
--- border.c    5 Feb 2003 23:07:30 -0000       1.75
+++ border.c    6 Feb 2003 04:50:56 -0000       1.76
@@ -128,6 +128,13 @@
             e_border_reshape(b);
          }
      }
+
+   /* Check for a focused border, else focus the desktop */
+   if( !e_border_current_focused())
+     {
+       if( !e_desktop_raise_next_border())
+        e_icccm_send_focus_to( e_desktop_window(), 1);
+     }
    e_db_runtime_flush();
 
    D_RETURN;
@@ -2635,6 +2642,10 @@
 e_border_current_focused(void)
 {
    Evas_List *           l;
+   E_Desktop *        desk;
+
+   /* Only check for borders on the current desktop */
+   desk = e_desktops_get(e_desktops_get_current());
 
    D_ENTER;
    for (l = borders; l; l = l->next)
@@ -2642,7 +2653,9 @@
        E_Border           *b;
 
        b = l->data;
-       if (b->current.selected)
+       if (b->current.selected && 
+           b->desk == desk
+           )
           D_RETURN_(b);
      }
    for (l = borders; l; l = l->next)
@@ -2650,7 +2663,9 @@
        E_Border           *b;
 
        b = l->data;
-       if (b->current.select_lost_from_grab)
+       if (b->current.select_lost_from_grab && 
+           b->desk == desk
+           )
           D_RETURN_(b);
      }
 
===================================================================
RCS file: /cvsroot/enlightenment/e17/apps/e/src/desktops.c,v
retrieving revision 1.49
retrieving revision 1.50
diff -u -3 -r1.49 -r1.50
--- desktops.c  24 Jan 2003 18:26:12 -0000      1.49
+++ desktops.c  6 Feb 2003 04:50:56 -0000       1.50
@@ -802,7 +802,6 @@
 
        e_icccm_set_desk_area(0, desk->desk.area.x, desk->desk.area.y);
        e_icccm_set_desk(0, desk->desk.desk);
-       e_icccm_send_focus_to(e_base_win, 1);
        e_observee_notify_observers(E_OBSERVEE(desk), E_EVENT_DESKTOP_SWITCH, NULL);
      }
 




-------------------------------------------------------
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

Reply via email to