Hello community, here is the log from the commit of package compiz for openSUSE:Factory checked in at Thu Feb 12 22:42:55 CET 2009. -------- --- compiz/compiz.changes 2009-02-11 01:37:25.000000000 +0100 +++ compiz/compiz.changes 2009-02-12 17:03:51.000000000 +0100 @@ -1,0 +2,17 @@ +Wed Feb 11 16:18:10 EST 2009 - davidr@novell.com + +- Fix regression in position constraints fix. (bnc#474594) + +------------------------------------------------------------------- +Wed Feb 11 12:38:32 EST 2009 - davidr@novell.com + +- Allow input focus to be moved properly to fullscreen + windows. (bnc#474862) + +------------------------------------------------------------------- +Tue Feb 10 19:54:33 EST 2009 - davidr@novell.com + +- Fix position constraints when moving unmanaged window. + (bnc#474594) + +------------------------------------------------------------------- calling whatdependson for head-i586 New: ---- bug-474862-allow-moving-focus-to-fs-window.diff ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Other differences: ------------------ ++++++ compiz.spec ++++++ --- /var/tmp/diff_new_pack.Od2677/_old 2009-02-12 22:41:37.000000000 +0100 +++ /var/tmp/diff_new_pack.Od2677/_new 2009-02-12 22:41:37.000000000 +0100 @@ -44,7 +44,7 @@ %endif AutoReqProv: on Version: 0.7.8 -Release: 27 +Release: 28 Requires: compiz-decorator = %{version} compiz-branding = %{version} Provides: windowmanager Summary: OpenGL window and compositing manager. @@ -73,6 +73,7 @@ Patch60: Mesa-x86_64-fixes.diff Patch61: compiz-place-fix-bnc442052.diff Patch62: bug-449168-avoid-independent-output-painting.diff +Patch63: bug-474862-allow-moving-focus-to-fs-window.diff Patch80: compiz-0.7.8-NOMAD.diff %if "%(xft-config --prefix)" == "/usr" %define xorg_prefix %_prefix @@ -254,6 +255,7 @@ %patch13 -p1 #%patch61 -p1 %patch62 -p1 +%patch63 -p1 cd - %build @@ -430,7 +432,15 @@ %_datadir/compiz/sle.png %changelog -* Wed Feb 11 2009 ro@suse.de +* Wed Feb 11 2009 davidr@novell.com +- Fix regression in position constraints fix. (bnc#474594) +* Wed Feb 11 2009 davidr@novell.com +- Allow input focus to be moved properly to fullscreen + windows. (bnc#474862) +* Tue Feb 10 2009 davidr@novell.com +- Fix position constraints when moving unmanaged window. + (bnc#474594) +* Tue Feb 10 2009 ro@suse.de - add libgnomeui-devel to buildrequires * Mon Feb 09 2009 davidr@novell.com - Fix broken handling reparented windows. (bnc#474096) @@ -442,7 +452,7 @@ * Tue Feb 03 2009 davidr@novell.com - Have KDE decorators use automatic compositing when manual compositing failed. (bnc#472146) -* Sat Jan 31 2009 davidr@novell.com +* Fri Jan 30 2009 davidr@novell.com - Fix root window clipping issue. (bnc#470020) * Fri Jan 30 2009 davidr@novell.com - Fix critical issue with some windows being added twice during @@ -461,12 +471,12 @@ - Fix window resize issue that could cause a crash. (bnc#466802) * Fri Jan 23 2009 davidr@novell.com - Add walkDepthFirst function. (bnc#468433) -* Wed Jan 21 2009 cyberorg@opensuse.org +* Tue Jan 20 2009 cyberorg@opensuse.org - Fix build for newer kde4 -* Fri Jan 09 2009 davidr@novell.com +* Thu Jan 08 2009 davidr@novell.com - Fix decorator double click handling when window movement is intercepted at the compositing manager level. (bnc 458000) -* Wed Jan 07 2009 davidr@novell.com +* Tue Jan 06 2009 davidr@novell.com - Fix root window resize problem. (bnc 462650) - Include place plugin fix in NOMAD patch. * Tue Dec 23 2008 davidr@novell.com @@ -486,7 +496,7 @@ - Fix unnecessary breakage of libdecoration API. * Sun Nov 30 2008 davidr@novell.com - Fix one more clipping issue in the NOMAD patch. -* Fri Nov 28 2008 cyberorg@opensuse.org +* Thu Nov 27 2008 cyberorg@opensuse.org - Add missing translations http://bugs.opencompositing.org/show_bug.cgi?id=1081 * Thu Nov 27 2008 rodrigo@novell.com @@ -502,13 +512,13 @@ - Use 'cube-image' as the name of the image to use in compiz-default-settings.diff - Review latest changes -* Wed Nov 26 2008 cyberorg@opensuse.org +* Tue Nov 25 2008 cyberorg@opensuse.org - Fix ABI version * Fri Nov 21 2008 davidr@novell.com - Add missing ABI version bump to NOMAD patch. * Fri Nov 21 2008 davidr@novell.com - Fix decorator starting issue. -* Fri Nov 21 2008 davidr@novell.com +* Thu Nov 20 2008 davidr@novell.com - Update compiz-ldpreload-indirect.diff so it doesn't break Xdmx support. * Wed Nov 19 2008 davidr@novell.com @@ -640,7 +650,7 @@ - Improved unredirection of fullscreen windows. - Several bugfixes. - Translation updates. -* Fri Mar 28 2008 cyberorg@cyberorg.info +* Thu Mar 27 2008 cyberorg@cyberorg.info - Add compiz-prepend-core-to-gconf.diff from Guillaume Seguin. * Wed Mar 19 2008 mhopf@suse.de - exec'ing decorator in compiz-decorator. @@ -648,17 +658,17 @@ - Updated compiz-core-default-plugins.diff to fix strange bug WRT gconf. * Wed Mar 19 2008 mhopf@suse.de - Rewrote libIndirectGL patch to really support AIGLX and Xgl on all cards. -* Fri Mar 14 2008 cyberorg@cyberorg.info +* Thu Mar 13 2008 cyberorg@cyberorg.info - add default plugins to load if gconf is used - remove kde4-kwin version requirement, as 4.0.6 is available in unstable repo only * Wed Mar 12 2008 mhopf@suse.de - Fixed compilation problem - Disabled possibility to build with static Mesa. -* Wed Mar 12 2008 cyberorg@cyberorg.info +* Tue Mar 11 2008 cyberorg@cyberorg.info - start decorator in initScreen patch from onestone's commit - gnome-xgl-settings-remove-gconf.diff cleanup from Rodrigo - minor modification to compiz-decorator add x in variables -* Fri Mar 07 2008 cyberorg@cyberorg.info +* Thu Mar 06 2008 cyberorg@cyberorg.info - Many small fixes in compiz-decorator - add proper fallback decorator if no default available (patch from crdlb) - 0.7.2 development release @@ -666,16 +676,16 @@ - Translation support in gtk-window-decorator. - Updated translations. - Full session save/restore in a plugin. -* Fri Feb 08 2008 cyberorg@cyberorg.info +* Thu Feb 07 2008 cyberorg@cyberorg.info - 0.7.0 development release - move svg plugin to -gnome package due to librsvg dep - add compiz-decorator script to start decorator according to DE - multi-display support - kde4-window-decorator - Added mouse wheel handling to g-w-d -* Wed Jan 30 2008 dreveman@suse.de +* Tue Jan 29 2008 dreveman@suse.de - Better RANDR support. -* Tue Dec 04 2007 cyberorg@cyberorg.info +* Mon Dec 03 2007 cyberorg@cyberorg.info - sync to latest git - many bug fixes including kwd fixes - back to action system used in 0.5.2 @@ -925,7 +935,7 @@ - Add translations * Fri Jun 09 2006 dreveman@suse.de - Allow windows to be both maximized and shaded. (bnc 182063) -* Fri Jun 09 2006 dreveman@suse.de +* Thu Jun 08 2006 dreveman@suse.de - Constrain window geometry in configure requests correctly. (bnc 183121) - Add window shading. (bnc 182063) @@ -1000,7 +1010,7 @@ when running the login manager. (bnc 173901) - Fix issue that caused switcher window to lose decorations when some window is unmapped. -* Wed May 17 2006 danw@suse.de +* Tue May 16 2006 danw@suse.de - Add compiz-restart.diff to make sure all pending MapRequest events are processed before compiz exits, to fix 175558 (panel doesn't show up if you explicitly start compiz from @@ -1028,10 +1038,10 @@ switcher. - Only go into show desktop mode when some window is covering the desktop. -* Mon May 08 2006 danw@suse.de +* Sun May 07 2006 danw@suse.de - Add xgl-settings-options.diff to patch out some not-quite-working code in xgl-settings. -* Mon May 08 2006 dreveman@suse.de +* Sun May 07 2006 dreveman@suse.de - Audible and visual bell control. (bnc 163251) - Change to Shift instead of Control for "move with snapping". - Fix crash with handling of modal dialogs. @@ -1091,13 +1101,13 @@ - Update to gnome-xgl-settings 0.2 and add it back to the build. - Patch compiz.schemas to make the switcher/initiate binding clearer in gnome-keybinding-properties. -* Fri Apr 21 2006 dreveman@suse.de +* Thu Apr 20 2006 dreveman@suse.de - Add window menu binding. - Default bindings now the same as metacity. Alt-Button2 for resizing and Alt-Button3 for window menu. - Add force quit dialog. - Add go-directly-to-cube-face bindings. -* Thu Apr 20 2006 dreveman@suse.de +* Wed Apr 19 2006 dreveman@suse.de - Fix infinite loop in gconf plugin. - A lot of improvements to schema file. - Fix for focusable panel applets. @@ -1220,10 +1230,10 @@ - Window placement fix. - Input focus fixes. - Fixed client list bug that caused libwnck to crash. -* Wed Feb 15 2006 dreveman@suse.de +* Tue Feb 14 2006 dreveman@suse.de - Handle clock rollbacks. - Minor placement fix for window icons. -* Tue Feb 14 2006 jpr@suse.de +* Mon Feb 13 2006 jpr@suse.de - fix BuildRequires so it builds again * Mon Feb 13 2006 dreveman@suse.de - Update to version 0.0.2. ++++++ bug-474862-allow-moving-focus-to-fs-window.diff ++++++ diff --git a/src/screen.c b/src/screen.c index 12ac091..9186ab5 100644 --- a/src/screen.c +++ b/src/screen.c @@ -2649,8 +2649,9 @@ focusDefaultWindow (CompScreen *s) { if (focus) { - if (w->type & (CompWindowTypeNormalMask | - CompWindowTypeDialogMask | + if (w->type & (CompWindowTypeFullscreenMask | + CompWindowTypeNormalMask | + CompWindowTypeDialogMask | CompWindowTypeModalDialogMask)) { if (compareWindowActiveness (focus, w) < 0) ++++++ compiz-0.7.8-NOMAD.diff ++++++ --- /var/tmp/diff_new_pack.Od2677/_old 2009-02-12 22:41:37.000000000 +0100 +++ /var/tmp/diff_new_pack.Od2677/_new 2009-02-12 22:41:37.000000000 +0100 @@ -10833,7 +10833,7 @@ + s->root.viewportOffsetY = -y; } diff --git a/src/window.c b/src/window.c -index 881bbd5..16746eb 100644 +index 881bbd5..4ef55d9 100644 --- a/src/window.c +++ b/src/window.c @@ -53,18 +53,18 @@ static int @@ -11333,15 +11333,15 @@ - w->managed = TRUE; - - if (getWmState (d, w->id) == IconicState) -- { ++ if (w->parent->substructureRedirect) + { - if (w->state & CompWindowStateShadedMask) - w->shaded = TRUE; - else - w->minimized = TRUE; - } - else -+ if (w->parent->substructureRedirect) - { +- { - if (w->wmType & (CompWindowTypeDockMask | - CompWindowTypeDesktopMask)) + w->managed = TRUE; @@ -11852,22 +11852,68 @@ { if (below == w || avoidStackingRelativeTo (below)) continue; -@@ -3366,11 +3598,41 @@ reconfigureXWindow (CompWindow *w, - if (valueMask & CWBorderWidth) - w->serverBorderWidth = xwc->border_width; - +@@ -3351,6 +3583,55 @@ reconfigureXWindow (CompWindow *w, + unsigned int valueMask, + XWindowChanges *xwc) + { + if (!w->parent->substructureRedirect) ++ { ++ XEvent xev; ++ int mask = 0; ++ + valueMask |= + adjustConfigureRequestForGravity (w, + xwc, valueMask, + w->sizeHints.win_gravity, + -1); + ++ xev.xclient.type = ClientMessage; ++ xev.xclient.display = w->screen->display->display; ++ xev.xclient.format = 32; ++ ++ xev.xclient.message_type = w->screen->display->moveResizeWindowAtom; ++ xev.xclient.window = w->id; ++ ++ xev.xclient.data.l[0] = (ClientTypePager << 12); ++ ++ if (valueMask & CWX) ++ xev.xclient.data.l[0] |= (1 << 8); ++ ++ if (valueMask & CWY) ++ xev.xclient.data.l[0] |= (1 << 9); ++ ++ if (valueMask & CWWidth) ++ xev.xclient.data.l[0] |= (1 << 9); ++ ++ if (valueMask & CWHeight) ++ xev.xclient.data.l[0] |= (1 << 9); ++ ++ xev.xclient.data.l[1] = xwc->x; ++ xev.xclient.data.l[2] = xwc->y; ++ xev.xclient.data.l[3] = xwc->width; ++ xev.xclient.data.l[4] = xwc->height; ++ ++ if (w->parent == &w->screen->root) ++ mask = SubstructureRedirectMask | SubstructureNotifyMask; ++ ++ XSendEvent (w->screen->display->display, ++ w->parent->id, ++ FALSE, ++ mask, ++ &xev); ++ ++ return; ++ } ++ + if (valueMask & CWX) + w->serverX = xwc->x; + +@@ -3368,9 +3649,31 @@ reconfigureXWindow (CompWindow *w, + XConfigureWindow (w->screen->display->display, w->id, valueMask, xwc); - if (w->frame && (valueMask & (CWSibling | CWStackMode))) -+ if (w->frame && w->parent->substructureRedirect && -+ (valueMask & (CWSibling | CWStackMode | CWX | CWY))) ++ if (w->frame && (valueMask & (CWSibling | CWStackMode | CWX | CWY))) + { + XWindowChanges wc = *xwc; + @@ -11896,7 +11942,7 @@ } static Bool -@@ -3384,7 +3646,7 @@ stackTransients (CompWindow *w, +@@ -3384,7 +3687,7 @@ stackTransients (CompWindow *w, if (w->transientFor || isGroupTransient (w, clientLeader)) clientLeader = None; @@ -11905,7 +11951,7 @@ { if (t == w || t == avoid) continue; -@@ -3417,7 +3679,7 @@ stackAncestors (CompWindow *w, +@@ -3417,7 +3720,7 @@ stackAncestors (CompWindow *w, { CompWindow *ancestor; @@ -11914,7 +11960,7 @@ if (ancestor) { if (!stackTransients (ancestor, w, xwc)) -@@ -3442,7 +3704,7 @@ stackAncestors (CompWindow *w, +@@ -3442,7 +3745,7 @@ stackAncestors (CompWindow *w, { CompWindow *a; @@ -11923,7 +11969,7 @@ { if (a->clientLeader == w->clientLeader && a->transientFor == None && -@@ -3709,7 +3971,8 @@ unsigned int +@@ -3709,7 +4012,8 @@ unsigned int adjustConfigureRequestForGravity (CompWindow *w, XWindowChanges *xwc, unsigned int xwcm, @@ -11933,7 +11979,7 @@ { int newX, newY; unsigned int mask = 0; -@@ -3724,23 +3987,23 @@ adjustConfigureRequestForGravity (CompWindow *w, +@@ -3724,23 +4028,23 @@ adjustConfigureRequestForGravity (CompWindow *w, case WestGravity: case SouthWestGravity: if (xwcm & CWX) @@ -11961,7 +12007,7 @@ break; case StaticGravity: -@@ -3756,23 +4019,23 @@ adjustConfigureRequestForGravity (CompWindow *w, +@@ -3756,23 +4060,23 @@ adjustConfigureRequestForGravity (CompWindow *w, case NorthGravity: case NorthEastGravity: if (xwcm & CWY) @@ -11989,7 +12035,7 @@ break; case StaticGravity: -@@ -3838,7 +4101,7 @@ moveResizeWindow (CompWindow *w, +@@ -3838,7 +4142,7 @@ moveResizeWindow (CompWindow *w, } } @@ -11998,7 +12044,16 @@ if (!(w->type & (CompWindowTypeDockMask | CompWindowTypeFullscreenMask | -@@ -3975,7 +4238,7 @@ addWindowStackChanges (CompWindow *w, +@@ -3864,7 +4168,7 @@ moveResizeWindow (CompWindow *w, + { + int min, max; + +- min = w->screen->workArea.x + w->input.left; ++ min = w->screen->workArea.x - w->serverWidth; + max = w->screen->workArea.x + w->screen->workArea.width; + + min -= w->screen->x * w->screen->width; +@@ -3975,7 +4279,7 @@ addWindowStackChanges (CompWindow *w, if (!sibling) { XLowerWindow (w->screen->display->display, w->id); @@ -12007,7 +12062,7 @@ XLowerWindow (w->screen->display->display, w->frame); } else if (sibling->id != w->prev->id) -@@ -4008,7 +4271,7 @@ addWindowStackChanges (CompWindow *w, +@@ -4008,7 +4312,7 @@ addWindowStackChanges (CompWindow *w, { CompWindow *dw; @@ -12016,7 +12071,7 @@ if (dw == sibling) break; -@@ -4073,7 +4336,7 @@ findValidStackSiblingBelow (CompWindow *w, +@@ -4073,7 +4377,7 @@ findValidStackSiblingBelow (CompWindow *w, lowest = last = findLowestSiblingBelow (w); /* walk from bottom up */ @@ -12025,7 +12080,7 @@ { /* stop walking when we reach the sibling we should try to stack below */ -@@ -4122,7 +4385,7 @@ updateWindowAttributes (CompWindow *w, +@@ -4122,7 +4426,7 @@ updateWindowAttributes (CompWindow *w, XWindowChanges xwc; int mask = 0; @@ -12034,7 +12089,7 @@ return; if (w->state & CompWindowStateShadedMask) -@@ -4200,7 +4463,7 @@ ensureWindowVisibility (CompWindow *w) +@@ -4200,7 +4504,7 @@ ensureWindowVisibility (CompWindow *w) int dx = 0; int dy = 0; @@ -12043,7 +12098,7 @@ return; if (w->type & (CompWindowTypeDockMask | -@@ -4259,6 +4522,34 @@ revealAncestors (CompWindow *w, +@@ -4259,6 +4563,34 @@ revealAncestors (CompWindow *w, void activateWindow (CompWindow *w) { @@ -12078,7 +12133,7 @@ setCurrentDesktop (w->screen, w->desktop); forEachWindowOnScreen (w->screen, revealAncestors, (void *) w); -@@ -4511,7 +4802,8 @@ hideWindow (CompWindow *w) +@@ -4511,7 +4843,8 @@ hideWindow (CompWindow *w) w->shaded = FALSE; @@ -12088,7 +12143,7 @@ XUnmapWindow (w->screen->display->display, w->frame); } -@@ -4551,7 +4843,7 @@ showWindow (CompWindow *w) +@@ -4551,7 +4884,7 @@ showWindow (CompWindow *w) { w->shaded = TRUE; @@ -12097,7 +12152,7 @@ XMapWindow (w->screen->display->display, w->frame); if (w->height) -@@ -4633,7 +4925,7 @@ void +@@ -4633,7 +4966,7 @@ void maximizeWindow (CompWindow *w, int state) { @@ -12106,7 +12161,7 @@ return; state = constrainWindowState (state, w->actions); -@@ -4770,7 +5062,7 @@ isWindowFocusAllowed (CompWindow *w, +@@ -4770,7 +5103,7 @@ isWindowFocusAllowed (CompWindow *w, { CompWindow *parent; @@ -12115,7 +12170,7 @@ if (parent) gotTimestamp = getUsageTimestampForWindow (parent, &wUserTime); } -@@ -4880,7 +5172,7 @@ unredirectWindow (CompWindow *w) +@@ -4880,7 +5213,7 @@ unredirectWindow (CompWindow *w) void redirectWindow (CompWindow *w) { @@ -12124,7 +12179,7 @@ return; XCompositeRedirectWindow (w->screen->display->display, w->id, -@@ -5199,3 +5491,151 @@ getWindowMovementForOffset (CompWindow *w, +@@ -5199,3 +5532,151 @@ getWindowMovementForOffset (CompWindow *w, } } ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Remember to have fun... -- To unsubscribe, e-mail: opensuse-commit+unsubscribe@opensuse.org For additional commands, e-mail: opensuse-commit+help@opensuse.org