2008-03-09 Erwann Chenede - <
[email protected]>
* patches/gnome-session-09-compiz-integration.diff: make
compiz session aware. bug 6672099
* base-specs/gnome-session.spec: added patch
--- a/ChangeLog Sun Mar 09 10:39:57 2008 +0000
+++ b/ChangeLog Sun Mar 09 19:35:07 2008 +0000
@@ -1,3 +1,9 @@
+2008-03-09 Erwann Chenede - <[email protected]>
+
+ * patches/gnome-session-09-compiz-integration.diff: make
+ compiz session aware. bug 6672099
+ * base-specs/gnome-session.spec: added patch
+
2008-03-09 Damien Carbery <[email protected]>
* cron-script.sh: Add section to build spec-files-other modules and add
--- a/base-specs/gnome-session.spec Sun Mar 09 10:39:57 2008 +0000
+++ b/base-specs/gnome-session.spec Sun Mar 09 19:35:07 2008 +0000
@@ -36,8 +36,10 @@
Patch7: gnome-session-07-busy-cursor.diff
%if %option_with_sun_branding
#owner:erwannc date:2005-05-11 type:branding
-Patch8: gnome-session-08-solaris-branding.diff
+Patch8: gnome-session-08-solaris-branding.diff
%endif
+#owner:erwannc date:2008-03-07 type:feature bugster:6672099
+Patch9: gnome-session-09-compiz-integration.diff
URL: http://www.gnome.org
BuildRoot: %{_tmppath}/%{name}-%{version}-build
@@ -75,6 +77,7 @@
cp %SOURCE1 gnome-session/gnome-splash.png
%endif
+%patch9 -p1
%build
%ifos linux
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/patches/gnome-session-09-compiz-integration.diff Sun Mar 09 19:35:07 2008 +0000
@@ -0,0 +1,58 @@
+diff -rup gnome-session-2.20.1/gnome-session/gnome-wm ../gnome-session-2.20.1/gnome-session/gnome-wm
+--- gnome-session-2.20.1/gnome-session/gnome-wm 2007-10-15 21:49:11.000000000 +0200
++++ ../gnome-session-2.20.1/gnome-session/gnome-wm 2008-03-07 21:48:04.655755000 +0100
+@@ -1,7 +1,8 @@
+ #!/bin/sh
+
+ # The user can specify his prefered WM by setting the WINDOW_MANAGER
+-# environment variable.
++# environment variable or from the
++# /desktop/gnome/applications/window_manager/default gconf key.
+ #
+ # If this is not set, we search a list of known windowmanagers and use
+ # the first one that is found in the users's PATH
+@@ -37,6 +38,21 @@ for n in "$@" ; do
+ esac
+ done
+
++# Get previously set window manager in gconf if not specified in cmdline
++if [ ! "$DEFWM" ]; then
++ DEFWM=`gconftool-2 -g /desktop/gnome/applications/window_manager/default 2>/dev/null`
++fi
++
++if [ -z "$DEFWM" -o "x$DEFWM" = "xgnome-wm" ]; then
++ DEFWM=`gconftool-2 -g /desktop/gnome/applications/window_manager/default 2>/dev/null`
++fi
++
++# If not exist, set to metacity.
++if [ ! -x "$DEFWM" ]; then
++ gconftool-2 -s /desktop/gnome/applications/window_manager/default /usr/bin/metacity --type string
++ DEFWM=/usr/bin/metacity
++fi
++
+ # WINDOW_MANAGER overrides all
+
+ if [ -z "$WINDOW_MANAGER" ] ; then
+@@ -118,16 +134,19 @@ fi
+
+ case `basename $WINDOW_MANAGER` in
+ compiz)
+- export LIBGL_ALWAYS_INDIRECT=1
+ gtk-window-decorator &
+- OPT3=glib
+- OPT4=gconf
++ OPT3=--indirect-rendering
++ OPT4=ccp
+ ;;
+ beryl)
+ emerald &
+ ;;
+ esac
+
++# Store the selected WM with gconf
++gconftool-2 -t string -s /desktop/gnome/applications/window_manager/current "$WINDOW_MANAGER"
++
++
+ exec $WINDOW_MANAGER $OPT1 $OPT2 $OPT3 $OPT4
+
+ echo "ERROR: No window manager could run!"