Enlightenment CVS committal

Author  : kwo
Project : e16
Module  : e

Dir     : e16/e/src


Modified Files:
      Tag: branch-exp
        E.h Makefile.am desktops.c events.c ewins.c ewmh.c focus.c 
        misc.c mod-misc.c x.c 
Added Files:
      Tag: branch-exp
        ecompmgr.c 


Log Message:
Initial basic composite manager based on xcompmgr
===================================================================
RCS file: /cvsroot/enlightenment/e16/e/src/E.h,v
retrieving revision 1.314.2.48
retrieving revision 1.314.2.49
diff -u -3 -r1.314.2.48 -r1.314.2.49
--- E.h 25 Sep 2004 16:15:13 -0000      1.314.2.48
+++ E.h 26 Sep 2004 20:09:49 -0000      1.314.2.49
@@ -910,6 +910,7 @@
    Button             *tag;
    int                 current_area_x;
    int                 current_area_y;
+   long                event_mask;
 }
 Desk;
 
===================================================================
RCS file: /cvsroot/enlightenment/e16/e/src/Makefile.am,v
retrieving revision 1.43.2.18
retrieving revision 1.43.2.19
diff -u -3 -r1.43.2.18 -r1.43.2.19
--- Makefile.am 25 Sep 2004 16:15:14 -0000      1.43.2.18
+++ Makefile.am 26 Sep 2004 20:09:50 -0000      1.43.2.19
@@ -38,6 +38,7 @@
        dialog.c                \
        dock.c                  \
        draw.c                  \
+       ecompmgr.c              \
        econfig.c               \
        ecore-e16.c             \
        edge.c                  \
===================================================================
RCS file: /cvsroot/enlightenment/e16/e/src/desktops.c,v
retrieving revision 1.95.2.18
retrieving revision 1.95.2.19
diff -u -3 -r1.95.2.18 -r1.95.2.19
--- desktops.c  17 Sep 2004 16:13:42 -0000      1.95.2.18
+++ desktops.c  26 Sep 2004 20:09:50 -0000      1.95.2.19
@@ -1172,16 +1172,28 @@
 {
    int                 i;
    long                event_mask;
+   XWindowAttributes   xwa;
 
-   if (mode)
-      event_mask =
-        PropertyChangeMask | SubstructureRedirectMask |
-        ButtonPressMask | ButtonReleaseMask;
-   else
-      event_mask = EDESK_EVENT_MASK;
-
-   for (i = 0; i < ENLIGHTENMENT_CONF_NUM_DESKTOPS; i++)
-      XSelectInput(disp, desks.desk[i].win, event_mask);
+   for (i = 0; i < Conf.desks.num; i++)
+     {
+       if (mode)
+         {
+            event_mask = desks.desk[i].event_mask;
+         }
+       else
+         {
+            XGetWindowAttributes(disp, desks.desk[i].win, &xwa);
+            desks.desk[i].event_mask = xwa.your_event_mask | EDESK_EVENT_MASK;
+            event_mask =
+               PropertyChangeMask | SubstructureRedirectMask |
+               ButtonPressMask | ButtonReleaseMask;
+#if USE_COMPOSITE
+            /* Handle ConfigureNotify's while sliding */
+            event_mask |= SubstructureNotifyMask;
+#endif
+         }
+       XSelectInput(disp, desks.desk[i].win, event_mask);
+     }
 }
 
 static char         sentpress = 0;
===================================================================
RCS file: /cvsroot/enlightenment/e16/e/src/events.c,v
retrieving revision 1.69.2.11
retrieving revision 1.69.2.12
diff -u -3 -r1.69.2.11 -r1.69.2.12
--- events.c    17 Sep 2004 14:28:34 -0000      1.69.2.11
+++ events.c    26 Sep 2004 20:09:50 -0000      1.69.2.12
@@ -338,13 +338,13 @@
 {
    XEvent              ev;
 
-   EDBUG(7, "CheckEvent");
+   /* FIXME - Event compression? */
    while (XPending(disp))
      {
        XNextEvent(disp, &ev);
        HandleEvent(&ev);
      }
-   EDBUG_RETURN_;
+   ModulesSignal(ESIGNAL_IDLE, NULL);
 }
 
 static void
@@ -454,8 +454,9 @@
    /* Debug - should be taken out */
    if (EventDebug(EDBUG_TYPE_COMPRESSION))
       for (i = 0; i < count; i++)
-        Eprintf("EventsCompress-1 %3d %s w=%#lx\n", i,
-                EventName(evq[i].type), evq[i].xany.window);
+        if (evq[i].type)
+           Eprintf("EventsCompress-2 %3d %s w=%#lx\n", i,
+                   EventName(evq[i].type), evq[i].xany.window);
 }
 
 static int
@@ -771,8 +772,8 @@
                ev->xreparent.window, ev->xreparent.parent);
        break;
      case ConfigureNotify:
-       Eprintf("EV-%s: win=%#lx event=%#lx %d+%d %dx%d bw=%d above=%#lx\n",
-               name, ev->xconfigure.window, win,
+       Eprintf("EV-%s: ev=%#lx, win=%#lx %d+%d %dx%d bw=%d above=%#lx\n",
+               name, win, ev->xconfigure.window,
                ev->xconfigure.x, ev->xconfigure.y,
                ev->xconfigure.width, ev->xconfigure.height,
                ev->xconfigure.border_width, ev->xconfigure.above);
===================================================================
RCS file: /cvsroot/enlightenment/e16/e/src/Attic/ewins.c,v
retrieving revision 1.1.2.19
retrieving revision 1.1.2.20
diff -u -3 -r1.1.2.19 -r1.1.2.20
--- ewins.c     25 Sep 2004 16:15:14 -0000      1.1.2.19
+++ ewins.c     26 Sep 2004 20:09:50 -0000      1.1.2.20
@@ -47,7 +47,7 @@
 {
    long                emask;
 
-   emask = (mode) ? ~(EnterWindowMask | LeaveWindowMask) : ~((long)0);
+   emask = (mode) ? ~((long)0) : ~(EnterWindowMask | LeaveWindowMask);
 
    XSelectInput(disp, ewin->win, EWIN_TOP_EVENT_MASK & emask);
    XSelectInput(disp, ewin->client.win, ewin->client.event_mask & emask);
@@ -338,7 +338,7 @@
 
 #if 0
    ewin = Mode.mouse_over_ewin;
-   if (ewin && !ewin->menu)
+   if (ewin && ewin->type != EWIN_TYPE_MENU)
       EDBUG_RETURN(ewin);
 #endif
 
@@ -500,7 +500,7 @@
    EwinBorderSetTo(ewin, NULL);
 
    EwinGetGeometry(ewin);
-   EwinEventsConfigure(ewin, 0);
+   EwinEventsConfigure(ewin, 1);
 
    ecore_x_ungrab();
 
@@ -581,7 +581,7 @@
    EwinBorderSetTo(ewin, NULL);
 
    EwinGetGeometry(ewin);
-   EwinEventsConfigure(ewin, 0);
+   EwinEventsConfigure(ewin, 1);
 
    ecore_x_ungrab();
 
@@ -1700,7 +1700,7 @@
        EwinEventsConfigure(lst[i], mode);
 
        /* This is a hack. Maybe we should do something with expose events. */
-       if (mode == 0)
+       if (mode)
           if (Mode.mode == MODE_DESKSWITCH && ewin->sticky && ewin->shown)
              EwinRefresh(ewin);
      }
===================================================================
RCS file: /cvsroot/enlightenment/e16/e/src/ewmh.c,v
retrieving revision 1.55.2.6
retrieving revision 1.55.2.7
diff -u -3 -r1.55.2.6 -r1.55.2.7
--- ewmh.c      21 Sep 2004 21:57:19 -0000      1.55.2.6
+++ ewmh.c      26 Sep 2004 20:09:50 -0000      1.55.2.7
@@ -544,7 +544,11 @@
 {
    CARD32              val = opacity;
 
-   ewin->props.opacity = opacity;
+   if (ewin->props.opacity != opacity)
+     {
+       _ATOM_SET_CARD32(_NET_WM_WINDOW_OPACITY, ewin->client.win, &val, 1);
+       ewin->props.opacity = opacity;
+     }
    _ATOM_SET_CARD32(_NET_WM_WINDOW_OPACITY, ewin->win, &val, 1);
 }
 
===================================================================
RCS file: /cvsroot/enlightenment/e16/e/src/focus.c,v
retrieving revision 1.81.2.4
retrieving revision 1.81.2.5
diff -u -3 -r1.81.2.4 -r1.81.2.5
--- focus.c     7 Sep 2004 20:06:54 -0000       1.81.2.4
+++ focus.c     26 Sep 2004 20:09:50 -0000      1.81.2.5
@@ -369,8 +369,8 @@
 
    /* we are about to flip desktops or areas - disable enter and leave events
     * temporarily */
-   EwinsEventsConfigure(1);
-   DesktopsEventsConfigure(1);
+   EwinsEventsConfigure(0);
+   DesktopsEventsConfigure(0);
 }
 
 void
@@ -384,8 +384,8 @@
       return;
 
    /* we flipped - re-enable enter and leave events */
-   EwinsEventsConfigure(0);
-   DesktopsEventsConfigure(0);
+   EwinsEventsConfigure(1);
+   DesktopsEventsConfigure(1);
 
    /* Set the mouse-over window */
    ewin = GetEwinByCurrentPointer();
===================================================================
RCS file: /cvsroot/enlightenment/e16/e/src/misc.c,v
retrieving revision 1.58.2.2
retrieving revision 1.58.2.3
diff -u -3 -r1.58.2.2 -r1.58.2.3
--- misc.c      17 Sep 2004 16:13:43 -0000      1.58.2.2
+++ misc.c      26 Sep 2004 20:09:51 -0000      1.58.2.3
@@ -140,6 +140,9 @@
 #endif
    etl_k += spd;
 
+   CheckEvent();
+   ecore_x_sync();
+
    return (int)etl_k;
 }
 
===================================================================
RCS file: /cvsroot/enlightenment/e16/e/src/Attic/mod-misc.c,v
retrieving revision 1.1.2.17
retrieving revision 1.1.2.18
diff -u -3 -r1.1.2.17 -r1.1.2.18
--- mod-misc.c  25 Sep 2004 16:15:34 -0000      1.1.2.17
+++ mod-misc.c  26 Sep 2004 20:09:51 -0000      1.1.2.18
@@ -30,6 +30,7 @@
 extern EModule      ModAclass;
 extern EModule      ModBackgrounds;
 extern EModule      ModButtons;
+extern EModule      ModCompMgr;
 extern EModule      ModCursors;
 extern EModule      ModDesktops;
 extern EModule      ModEffects;
@@ -52,6 +53,7 @@
    &ModAclass,
    &ModBackgrounds,
    &ModButtons,
+   &ModCompMgr,
    &ModCursors,
    &ModDesktops,
    &ModEwins,
===================================================================
RCS file: /cvsroot/enlightenment/e16/e/src/x.c,v
retrieving revision 1.71.2.11
retrieving revision 1.71.2.12
diff -u -3 -r1.71.2.11 -r1.71.2.12
--- x.c 5 Sep 2004 22:24:35 -0000       1.71.2.11
+++ x.c 26 Sep 2004 20:09:51 -0000      1.71.2.12
@@ -154,10 +154,13 @@
    EventCallbackItem  *eci;
 
    xid = EXidFind(win);
+   if (!xid)
+      ERegisterWindow(disp, win);
+   xid = EXidFind(win);
 #if 0
    Eprintf("EventCallbackRegister: %p %#lx\n", xid, win);
 #endif
-   if (xid == NULL)
+   if (!xid)
      {
        Eprintf("EventCallbackRegister win=%#lx ???\n", win);
        return;




-------------------------------------------------------
This SF.Net email is sponsored by: YOU BE THE JUDGE. Be one of 170
Project Admins to receive an Apple iPod Mini FREE for your judgement on
who ports your project to Linux PPC the best. Sponsored by IBM.
Deadline: Sept. 24. Go here: http://sf.net/ppc_contest.php
_______________________________________________
enlightenment-cvs mailing list
[EMAIL PROTECTED]
https://lists.sourceforge.net/lists/listinfo/enlightenment-cvs

Reply via email to