--- compiz-manager 2007-10-24 17:03:09.000000000 +0200
+++ compiz-manager.new 2007-10-24 17:03:01.000000000 +0200
@@ -26,17 +26,28 @@
# started, and start a default plugin and possibly window decorator.
#
+# differ between LIBDIR for x86, ppc and x86_64
+if [ `uname -m` = x86_64 ];then
+ ARCH_LIB=lib64
+else
+ ARCH_LIB=lib
+fi
-COMPIZ_BIN_PATH="/usr/local/bin/" # For window decorators and compiz
-PLUGIN_PATH="/usr/local/lib/compiz/"
+COMPIZ_BIN_PATH="/usr/bin/" # For window decorators and compiz
+PLUGIN_PATH="/usr/$ARCH_LIB/compiz/"
GLXINFO="/usr/bin/glxinfo"
KWIN="/usr/bin/kwin"
METACITY="/usr/bin/metacity"
COMPIZ_NAME="compiz" # Final name for compiz (compiz.real)
+LIBDIR=/usr/$ARCH_LIB/
# For Xgl LD_PRELOAD
-LIBGL_NVIDIA="/usr/lib/nvidia/libGL.so.1.2.xlibmesa"
-LIBGL_FGLRX="/usr/lib/fglrx/libGL.so.1.2.xlibmesa"
+for driver in $LIBDIR/nvidia/libGL.so.*.xlibmesa ; do
+ LIBGL_NVIDIA=$driver
+done
+for driver in $LIBDIR/fglrx/libGL.so.*.xlibmesa ; do
+ LIBGL_FGLRX=$driver
+done
# Minimum amount of memory (in kilo bytes) that nVidia cards need
# to be allowed to start
@@ -45,9 +56,14 @@
NVIDIA_SETTINGS="nvidia-settings" # Assume it's in the path by default
# For detecting what driver is in use, the + is for one or more /'s
-XORG_DRIVER_PATH="/usr/lib/xorg/modules/drivers/+"
+XORG_DRIVER_PATH="/usr/$ARCH_LIB/xorg/modules/+drivers/+"
-FALLBACKWM="${METACITY}"
+# FALLBACKWM should depend on the used desktop
+if [ -n "$KDE_FULL_SESSION" ]; then
+ FALLBACKWM="${KWIN}"
+else
+ FALLBACKWM="${METACITY}"
+fi
FALLBACKWM_OPTIONS="--replace $@"
# Driver whitelist
@@ -65,8 +81,8 @@
COMPIZ_PLUGINS=""
ENV=""
-# Use emerald by default if it exist
-USE_EMERALD="yes"
+# Don't use emerald by default (to avoid additional requirements)
+USE_EMERALD=${USE_EMERALD:-no}
# No indirect by default
INDIRECT="no"
@@ -262,14 +278,14 @@
# check pciid blacklist
have_blacklisted_pciid()
{
- OUTPUT=$(lspci -n)
+ OUTPUT=$(/sbin/lspci -n)
for ID in ${BLACKLIST_PCIIDS}; do
if echo "$OUTPUT" | egrep -q "$ID"; then
verbose "Blacklisted PCIID '$ID' found \n"
return 0
fi
done
- OUTPUT=$(lspci -vn | grep -i VGA)
+ OUTPUT=$(/sbin/lspci -vn | grep -i VGA)
verbose "Detected PCI ID for VGA: $OUTPUT\n"
return 1
}
@@ -378,6 +394,13 @@
verbose "Starting kde-window-decorator\n"
${COMPIZ_BIN_PATH}kde-window-decorator --replace &
FALLBACKWM="${KWIN}"
+elif [ -x ${COMPIZ_BIN_PATH}emerald ]; then
+ verbose "Starting emerald\n"
+ ${COMPIZ_BIN_PATH}emerald --replace &
+# Abort completely instead of having no window decoration
+elif [ ! -x ${COMPIZ_BIN_PATH}gtk-window-decorator ] && [ ! -x ${COMPIZ_BIN_PATH}kde-window-decorator ] && [ ! -x ${COMPIZ_BIN_PATH}emerald ]; then
+ echo "No decoration manager found. Aborting..."
+ exit 1
fi
${COMPIZ_BIN_PATH}${COMPIZ_NAME} $COMPIZ_OPTIONS "$@" $COMPIZ_PLUGINS || exec $FALLBACKWM $FALLBACKWM_OPTIONS