rpms/compiz/F-10 compiz-0.7.8-decoration-placement.patch, NONE, 1.1 compiz-0.7.8-fullscreen-top.patch, NONE, 1.1 compiz-0.7.8-pin-initial-plugins.patch, NONE, 1.1 .cvsignore, 1.38, 1.39 compiz-gtk, 1.1, 1.2 compiz.spec, 1.139, 1.140 sources, 1.40, 1.41 compiz-0.7.6-decoration-size.patch, 1.1, NONE compiz-0.7.6-metacity-spacer.patch, 1.1, NONE compiz-0.7.6-multi-screen-fix.patch, 1.1, NONE compiz-0.7.6-utility-windows.patch, 1.1, NONE

Adel Gadllah drago01 at fedoraproject.org
Fri Dec 5 06:58:45 UTC 2008


Author: drago01

Update of /cvs/pkgs/rpms/compiz/F-10
In directory cvs1.fedora.phx.redhat.com:/tmp/cvs-serv25484

Modified Files:
	.cvsignore compiz-gtk compiz.spec sources 
Added Files:
	compiz-0.7.8-decoration-placement.patch 
	compiz-0.7.8-fullscreen-top.patch 
	compiz-0.7.8-pin-initial-plugins.patch 
Removed Files:
	compiz-0.7.6-decoration-size.patch 
	compiz-0.7.6-metacity-spacer.patch 
	compiz-0.7.6-multi-screen-fix.patch 
	compiz-0.7.6-utility-windows.patch 
Log Message:
update to 0.7.8 and backport fixes from rawhide

compiz-0.7.8-decoration-placement.patch:

--- NEW FILE compiz-0.7.8-decoration-placement.patch ---
diff --git a/plugins/place.c b/plugins/place.c
index 596a3a5..fe4c39e 100644
--- a/plugins/place.c
+++ b/plugins/place.c
@@ -1085,21 +1085,35 @@ placeConstrainToWorkarea (CompWindow *w,
 			  int        *y)
 {
     CompWindowExtents extents;
+    int               width, height;
 
     extents.left   = *x - w->input.left;
     extents.top    = *y - w->input.top;
     extents.right  = *x + w->serverWidth + w->input.right;
     extents.bottom = *y + w->serverHeight + w->input.bottom;
 
+    width  = extents.right - extents.left;
+    height = extents.bottom - extents.top;
+
     if (extents.left < workArea->x)
+    {
 	*x += workArea->x - extents.left;
-    else if (extents.right > workArea->x + workArea->width)
+    }
+    else if (width <= workArea->width &&
+	     extents.right > workArea->x + workArea->width)
+    {
 	*x += workArea->x + workArea->width - extents.right;
+    }
 
     if (extents.top < workArea->y)
+    {
 	*y += workArea->y - extents.top;
-    else if (extents.bottom > workArea->y + workArea->height)
+    }
+    else if (height <= workArea->height &&
+	     extents.bottom > workArea->y + workArea->height)
+    {
 	*y += workArea->y + workArea->height - extents.bottom;
+    }
 }
 
 static Bool


compiz-0.7.8-fullscreen-top.patch:

--- NEW FILE compiz-0.7.8-fullscreen-top.patch ---
diff --git a/src/window.c b/src/window.c
index 9d80340..0a217d2 100644
--- a/src/window.c
+++ b/src/window.c
@@ -3142,7 +3142,8 @@ avoidStackingRelativeTo (CompWindow *w)
 
 /* goes through the stack, top-down until we find a window we should
    stack above, normal windows can be stacked above fullscreen windows
-   if aboveFs is TRUE. */
+   (and fullscreen windows over others in their layer) if aboveFs
+   is TRUE. */
 static CompWindow *
 findSiblingBelow (CompWindow *w,
 		  Bool	     aboveFs)
@@ -3179,6 +3180,9 @@ findSiblingBelow (CompWindow *w,
 	    /* desktop window layer */
 	    break;
 	case CompWindowTypeFullscreenMask:
+	    if (aboveFs)
+		return below;
+	    /* otherwise fall-through */
 	case CompWindowTypeDockMask:
 	    /* fullscreen and dock layer */
 	    if (below->type & (CompWindowTypeFullscreenMask |
@@ -4080,8 +4084,15 @@ raiseWindow (CompWindow *w)
 {
     XWindowChanges xwc;
     int		   mask;
+    Bool           aboveFs = FALSE;
+
+    /* an active fullscreen window should be raised over all other
+       windows in its layer */
+    if (w->type & CompWindowTypeFullscreenMask)
+	if (w->id == w->screen->display->activeWindow)
+	    aboveFs = TRUE;
 
-    mask = addWindowStackChanges (w, &xwc, findSiblingBelow (w, FALSE));
+    mask = addWindowStackChanges (w, &xwc, findSiblingBelow (w, aboveFs));
     if (mask)
 	configureXWindow (w, mask, &xwc);
 }
@@ -4194,6 +4205,17 @@ updateWindowAttributes (CompWindow             *w,
 	CompWindow *sibling;
 
 	aboveFs = (stackingMode == CompStackingUpdateModeAboveFullscreen);
+	if (w->type & CompWindowTypeFullscreenMask)
+	{
+	    /* put active or soon-to-be-active fullscreen windows over
+	       all others in their layer */
+	    if (w->id == w->screen->display->activeWindow ||
+		stackingMode == CompStackingUpdateModeInitialMap)
+	    {
+		aboveFs = TRUE;
+	    }
+	}
+
 	sibling = findSiblingBelow (w, aboveFs);
 
 	if (sibling &&


compiz-0.7.8-pin-initial-plugins.patch:

--- NEW FILE compiz-0.7.8-pin-initial-plugins.patch ---
diff --git a/include/compiz-core.h b/include/compiz-core.h
index 5aeb04c..97279ab 100644
--- a/include/compiz-core.h
+++ b/include/compiz-core.h
@@ -220,6 +220,9 @@ extern Bool       noDetection;
 extern Bool	  useDesktopHints;
 extern Bool       onlyCurrentScreen;
 
+extern char	**initialPlugins;
+extern int 	nInitialPlugins;
+
 extern int  defaultRefreshRate;
 extern char *defaultTextureFilter;
 
diff --git a/src/display.c b/src/display.c
index dd4676e..fc3e117 100644
--- a/src/display.c
+++ b/src/display.c
@@ -846,7 +846,7 @@ updatePlugins (CompDisplay *d)
 {
     CompOption *o;
     CompPlugin *p, **pop = 0;
-    int	       nPop, i, j;
+    int	       nPop, i, j, k;
 
     d->dirtyPluginList = FALSE;
 
@@ -886,6 +886,30 @@ updatePlugins (CompDisplay *d)
 	free (d->plugin.list.value[d->plugin.list.nValue].s);
     }
 
+    for ( k = 0; k < nInitialPlugins; k++) 
+    {
+    	for ( j = 0; j < nPop; j++)
+	{
+	     if (pop[j] && strcmp (pop[j]->vTable->name,
+				   initialPlugins[k]) == 0)
+		break;
+	}
+	
+	if ( j == (nPop - 1))
+	{
+	    p = loadPlugin (initialPlugins[k]);
+	    if (p)
+	    {
+		if (!pushPlugin (p))
+		{
+		    unloadPlugin (p);
+		    p = 0;
+		}
+	    }
+	}
+    }
+
+
     for (; i < o->value.list.nValue; i++)
     {
 	p = 0;
diff --git a/src/main.c b/src/main.c
index 3784afe..ff982fe 100644
--- a/src/main.c
+++ b/src/main.c
@@ -40,6 +40,9 @@ char *programName;
 char **programArgv;
 int  programArgc;
 
+char **initialPlugins = NULL;
+int nInitialPlugins = 0;
+
 char *backgroundImage = NULL;
 
 REGION   emptyRegion;
@@ -406,6 +409,11 @@ main (int argc, char **argv)
 
 	    ptr += sprintf (ptr, "</default>");
 	}
+
+	initialPlugins = malloc (nPlugin * sizeof (char *));
+	memcpy (initialPlugins, plugin, nPlugin * sizeof (char *));
+	nInitialPlugins = nPlugin;
+
     }
 
     xmlInitParser ();
@@ -455,6 +463,9 @@ main (int argc, char **argv)
 
     xmlCleanupParser ();
 
+    if (initialPlugins != NULL)
+        free (initialPlugins);
+
     if (restartSignal)
     {
 	execvp (programName, programArgv);


Index: .cvsignore
===================================================================
RCS file: /cvs/pkgs/rpms/compiz/F-10/.cvsignore,v
retrieving revision 1.38
retrieving revision 1.39
diff -u -r1.38 -r1.39
--- .cvsignore	25 Sep 2008 23:14:01 -0000	1.38
+++ .cvsignore	5 Dec 2008 06:58:14 -0000	1.39
@@ -1,3 +1,5 @@
 compiz-0.7.6.tar.bz2
 desktop-effects-0.7.18.tar.bz2
 kde-desktop-effects-0.0.5.tar.bz2
+glx_tfp_test.c
+compiz-0.7.8.tar.bz2


Index: compiz-gtk
===================================================================
RCS file: /cvs/pkgs/rpms/compiz/F-10/compiz-gtk,v
retrieving revision 1.1
retrieving revision 1.2
diff -u -r1.1 -r1.2
--- compiz-gtk	25 Sep 2008 23:14:01 -0000	1.1
+++ compiz-gtk	5 Dec 2008 06:58:14 -0000	1.2
@@ -1,5 +1,11 @@
 #!/bin/sh
-
 export LIBGL_ALWAYS_INDIRECT=1
-gtk-window-decorator &
-exec compiz --ignore-desktop-hints glib gconf $@
+
+/usr/bin/glx_tfp_test
+
+if [ $? -eq 0 ]; then
+	gtk-window-decorator &
+	exec compiz --ignore-desktop-hints glib gconf $@
+else
+	exec metacity $@
+fi


Index: compiz.spec
===================================================================
RCS file: /cvs/pkgs/rpms/compiz/F-10/compiz.spec,v
retrieving revision 1.139
retrieving revision 1.140
diff -u -r1.139 -r1.140
--- compiz.spec	28 Oct 2008 02:47:10 -0000	1.139
+++ compiz.spec	5 Dec 2008 06:58:14 -0000	1.140
@@ -1,7 +1,7 @@
 %define		dialogversion	0.7.18
 %define 	kde_dialogversion 0.0.5
 
-%define		core_plugins	blur clone cube dbus decoration fade ini inotify minimize move place png regex resize rotate scale screenshot switcher video water wobbly zoom fs
+%define		core_plugins	blur clone cube dbus decoration fade ini inotify minimize move place png regex resize rotate scale screenshot switcher video water wobbly zoom fs obs
 
 %define		gnome_plugins	annotate gconf glib svg
 
@@ -13,8 +13,8 @@
 URL:            http://www.go-compiz.org
 License:        GPLv2+ and LGPLv2+ and MIT
 Group:          User Interface/Desktops
-Version:        0.7.6
-Release:        17%{?dist}
+Version:        0.7.8
+Release:        1%{?dist}
 
 Summary:        OpenGL window and compositing manager
 BuildRoot:      %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n)
@@ -48,6 +48,7 @@
 Source2:	kde-desktop-effects-%{kde_dialogversion}.tar.bz2
 Source3:        compiz-gtk
 Source4:        compiz-gtk.desktop
+Source5:	glx_tfp_test.c
 
 # Make sure that former beryl users still have bling
 Obsoletes: beryl-core
@@ -59,14 +60,16 @@
 Patch105: fedora-logo.patch
 Patch106: redhat-logo.patch
 #Patch110: scale-key.patch
-# upstream commit 45caca2220f75bfd20074c217ebee10825413547
-Patch111: compiz-0.7.6-decoration-size.patch
-Patch112: compiz-0.7.6-metacity-spacer.patch
-Patch113: compiz-0.7.6-utility-windows.patch
-Patch114: compiz-0.7.6-multi-screen-fix.patch
 # update translations in desktop-effects
 Patch115: desktop-effects-linguas.patch
 
+# backports from git
+Patch121: compiz-0.7.8-decoration-placement.patch
+Patch122: compiz-0.7.8-fullscreen-top.patch
+
+# Make sure configuration plugins never get unloaded
+Patch123: compiz-0.7.8-pin-initial-plugins.patch
+
 %description
 Compiz is one of the first OpenGL-accelerated compositing window
 managers for the X Window System. The integration allows it to perform
@@ -139,10 +142,10 @@
 %patch106 -p1 -b .redhat-logo
 %endif
 #%patch110 -p1 -b .scale-key
-%patch111 -p1 -b .decoration-size
-%patch112 -p1 -b .metacity-spacer
-%patch113 -p1 -b .utility-windows
-%patch114 -p1 -b .multi-screen
+
+%patch121 -p1 -b .decoration-placement
+%patch122 -p1 -b .fullscreen-top
+%patch123 -p1 -b .initial-plugins
 
 %build
 rm -rf $RPM_BUILD_ROOT
@@ -170,6 +173,9 @@
 
 make %{?_smp_mflags} imagedir=%{_datadir}/pixmaps
 
+# glx_tfp_test
+gcc %{SOURCE5} -lX11 -lGLU $RPM_OPT_FLAGS -o glx_tfp_test
+
 # desktop-effects
 cd ../desktop-effects-%{dialogversion}
 %configure
@@ -191,6 +197,7 @@
 popd
 
 install %SOURCE3 $RPM_BUILD_ROOT%{_bindir}
+install glx_tfp_test $RPM_BUILD_ROOT%{_bindir}
 
 desktop-file-install --vendor="" \
   --dir $RPM_BUILD_ROOT%{_datadir}/applications \
@@ -314,6 +321,7 @@
 %files gnome -f gnome-files.txt
 %defattr(-, root, root)
 %{_bindir}/compiz-gtk
+%{_bindir}/glx_tfp_test
 %{_bindir}/gtk-window-decorator
 %{_bindir}/desktop-effects
 %{_libdir}/window-manager-settings/libcompiz.so
@@ -354,6 +362,19 @@
 
 
 %changelog
+* Thu Dec 04 2008 Adel Gadllah <adel.gadllah at gmail.com> - 0.7.8-6
+- Update to 0.7.8
+- Dropped patches:
+	compiz-0.7.6-decoration-size.patch
+	compiz-0.7.6-metacity-spacer.patch
+	compiz-0.7.6-utility-windows.patch
+	compiz-0.7.6-multi-screen-fix.patch
+- Bugfixes from git head:
+	compiz-0.7.8-decoration-placement.patch (RH #218561)
+	compiz-0.7.8-fullscreen-top.patch
+- Fall back to metacity if GLX_tfp is not present (RH #457816)
+- Don't allow command line passed (config) plugins to be unloaded
+
 * Mon Oct 27 2008 Matthias Clasen <mclasen at redhat.com> - 0.7.6-17
 - Update some translations for the desktop-effects capplet
 


Index: sources
===================================================================
RCS file: /cvs/pkgs/rpms/compiz/F-10/sources,v
retrieving revision 1.40
retrieving revision 1.41
diff -u -r1.40 -r1.41
--- sources	25 Sep 2008 23:14:02 -0000	1.40
+++ sources	5 Dec 2008 06:58:14 -0000	1.41
@@ -1,3 +1,4 @@
-75fe52ce6374174df6dccd4b6c13ee55  compiz-0.7.6.tar.bz2
 d56f2f6456fc89b06e1e0d21cab74f55  desktop-effects-0.7.18.tar.bz2
 7a7766f43797239ca0a4a0881d91f646  kde-desktop-effects-0.0.5.tar.bz2
+f7e0c4d917659d67a957bf391b525495  glx_tfp_test.c
+cb8baed2983dec5184f196346f973ad2  compiz-0.7.8.tar.bz2


--- compiz-0.7.6-decoration-size.patch DELETED ---


--- compiz-0.7.6-metacity-spacer.patch DELETED ---


--- compiz-0.7.6-multi-screen-fix.patch DELETED ---


--- compiz-0.7.6-utility-windows.patch DELETED ---




More information about the fedora-extras-commits mailing list