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