From 46aa2d6b49bd0bbcc030e1af9df6e317afeb8370 Mon Sep 17 00:00:00 2001 From: BlackNoxis Date: Sat, 7 Feb 2015 14:41:11 +0200 Subject: Added plugins and compiz wm --- x11-wm/compiz/files/compiz-gcc-4.7.patch | 38 +++ x11-wm/compiz/files/compiz-kde-4.10.patch | 30 +++ x11-wm/compiz/files/compiz-kde-4.8.patch | 17 ++ x11-wm/compiz/files/compiz-kde-4.9.patch | 196 +++++++++++++++ x11-wm/compiz/files/compiz-manager | 384 ++++++++++++++++++++++++++++++ x11-wm/compiz/files/compiz-no-gconf.patch | 20 ++ x11-wm/compiz/files/compiz.desktop | 11 + 7 files changed, 696 insertions(+) create mode 100644 x11-wm/compiz/files/compiz-gcc-4.7.patch create mode 100644 x11-wm/compiz/files/compiz-kde-4.10.patch create mode 100644 x11-wm/compiz/files/compiz-kde-4.8.patch create mode 100644 x11-wm/compiz/files/compiz-kde-4.9.patch create mode 100644 x11-wm/compiz/files/compiz-manager create mode 100644 x11-wm/compiz/files/compiz-no-gconf.patch create mode 100644 x11-wm/compiz/files/compiz.desktop (limited to 'x11-wm/compiz/files') diff --git a/x11-wm/compiz/files/compiz-gcc-4.7.patch b/x11-wm/compiz/files/compiz-gcc-4.7.patch new file mode 100644 index 00000000..28315bae --- /dev/null +++ b/x11-wm/compiz/files/compiz-gcc-4.7.patch @@ -0,0 +1,38 @@ +--- kde/window-decorator-kde4/window.cpp 2010-05-21 11:18:14.000000000 +0000 ++++ kde/window-decorator-kde4/window.cpp 2012-09-12 18:05:00.000000000 +0000 +@@ -59,6 +59,9 @@ + + #include "paintredirector.h" + ++// header for gcc-4.7 compatibility ++#include "unistd.h" ++ + KWD::Window::Window (WId parentId, + WId clientId, + WId frame, +--- configure.ac.orig 2012-09-12 23:39:54.093812000 +0400 ++++ configure.ac 2012-09-12 23:40:37.253686000 +0400 +@@ -72,11 +72,6 @@ + *) CFLAGS="$CFLAGS -Wnested-externs" ;; + esac + +- case " $CFLAGS " in +- *[[\ \ ]]-D_FORTIFY_SOURCE=2[[\ \ ]]*) ;; +- *) CFLAGS="$CFLAGS -D_FORTIFY_SOURCE=2" ;; +- esac +- + if test "x$enable_ansi" = "xyes"; then + case " $CFLAGS " in + *[[\ \ ]]-ansi[[\ \ ]]*) ;; +@@ -95,11 +90,6 @@ + *[[\ \ ]]-Wall[[\ \ ]]*) ;; + *) CXXFLAGS="$CXXFLAGS -Wall" ;; + esac +- +- case " $CXXFLAGS " in +- *[[\ \ ]]-D_FORTIFY_SOURCE=2[[\ \ ]]*) ;; +- *) CXXFLAGS="$CXXFLAGS -D_FORTIFY_SOURCE=2" ;; +- esac + fi + + AC_C_BIGENDIAN diff --git a/x11-wm/compiz/files/compiz-kde-4.10.patch b/x11-wm/compiz/files/compiz-kde-4.10.patch new file mode 100644 index 00000000..a30d54b9 --- /dev/null +++ b/x11-wm/compiz/files/compiz-kde-4.10.patch @@ -0,0 +1,30 @@ +--- kde/window-decorator-kde4/window.cpp 2012-11-14 10:17:09 +0000 ++++ kde/window-decorator-kde4/window.cpp 2012-11-23 06:43:18 +0000 +@@ -554,6 +554,15 @@ + showWindowMenu (pos.bottomLeft ()); + } + ++void KWD::Window::showApplicationMenu (const QPoint &p) ++{ ++} ++ ++bool KWD::Window::menuAvailable () const ++{ ++ return false; ++} ++ + KWD::Options::MouseCommand + KWD::Window::buttonToCommand (Qt::MouseButtons button) + { + +--- kde/window-decorator-kde4/window.h 2012-09-03 07:19:30 +0000 ++++ kde/window-decorator-kde4/window.h 2012-11-23 06:43:18 +0000 +@@ -92,6 +92,8 @@ + virtual void processMousePressEvent (QMouseEvent *); + virtual void showWindowMenu (const QRect &); + virtual void showWindowMenu (const QPoint &); ++ virtual void showApplicationMenu (const QPoint &); ++ virtual bool menuAvailable () const; + virtual void performWindowOperation (WindowOperation); + virtual void setMask (const QRegion &, int); + virtual bool isPreview (void) const; diff --git a/x11-wm/compiz/files/compiz-kde-4.8.patch b/x11-wm/compiz/files/compiz-kde-4.8.patch new file mode 100644 index 00000000..f31751ba --- /dev/null +++ b/x11-wm/compiz/files/compiz-kde-4.8.patch @@ -0,0 +1,17 @@ +diff -ur compiz-0.8.8-orig//kde/window-decorator-kde4/window.cpp compiz-0.8.8//kde/window-decorator-kde4/window.cpp +--- compiz-0.8.8-orig//kde/window-decorator-kde4/window.cpp 2010-05-21 14:18:14.000000000 +0300 ++++ compiz-0.8.8//kde/window-decorator-kde4/window.cpp 2012-01-27 21:21:39.000000000 +0200 +@@ -986,10 +986,10 @@ + { + Atom atom = Atoms::compizWindowBlurDecor; + QRegion topQRegion, bottomQRegion, leftQRegion, rightQRegion; +- Region topRegion = NULL; +- Region bottomRegion = NULL; +- Region leftRegion = NULL; +- Region rightRegion = NULL; ++ ::Region topRegion = NULL; ++ ::Region bottomRegion = NULL; ++ ::Region leftRegion = NULL; ++ ::Region rightRegion = NULL; + int size = 0; + int w, h; diff --git a/x11-wm/compiz/files/compiz-kde-4.9.patch b/x11-wm/compiz/files/compiz-kde-4.9.patch new file mode 100644 index 00000000..7b56da95 --- /dev/null +++ b/x11-wm/compiz/files/compiz-kde-4.9.patch @@ -0,0 +1,196 @@ +From 3c6f698c12f455661807c4115feaa73007fc33d1 Mon Sep 17 00:00:00 2001 +From: Dennis Kasprzyk +Date: Mon, 06 Aug 2012 18:23:17 +0000 +Subject: KDE 4.9 support. + +Little modification for compatibility with KDE 4.8 patch was added by Sergey Popov + +--- +diff --git a/kde/window-decorator-kde4/window.cpp b/kde/window-decorator-kde4/window.cpp +index a65f99f..78d1a47 100644 +--- a/kde/window-decorator-kde4/window.cpp ++++ b/kde/window-decorator-kde4/window.cpp +@@ -768,6 +768,22 @@ KWD::Window::transparentRect () const + return QRect (); + } + ++KDecorationDefines::WindowOperation ++KWD::Window::buttonToWindowOperation(Qt::MouseButtons button) ++{ ++ Options::MouseCommand com = buttonToCommand (button); ++ ++ if (com == Options::MouseOperationsMenu) ++ return KDecorationDefines::OperationsOp; ++ ++ return KDecorationDefines::NoOp; ++} ++ ++ ++#endif ++ ++#if KDE_IS_VERSION(4,3,90) && !KDE_IS_VERSION(4, 8, 80) ++ + bool + KWD::Window::isClientGroupActive () + { +@@ -837,19 +853,82 @@ KWD::Window::displayClientMenu (int index, const QPoint& pos) + showWindowMenu (pos); + } + +-KDecorationDefines::WindowOperation +-KWD::Window::buttonToWindowOperation(Qt::MouseButtons button) ++#endif ++ ++#if KDE_IS_VERSION(4,8,80) ++QString ++KWD::Window::caption(int idx) const + { +- Options::MouseCommand com = buttonToCommand (button); ++ return mName; ++} + +- if (com == Options::MouseOperationsMenu) +- return KDecorationDefines::OperationsOp; ++void ++KWD::Window::closeTab(long id) ++{ ++ closeWindow (); ++} + +- return KDecorationDefines::NoOp; ++void ++KWD::Window::closeTabGroup() ++{ ++ closeWindow (); ++} ++ ++long ++KWD::Window::currentTabId() const ++{ ++ return (long) mClientId; ++} ++ ++QIcon ++KWD::Window::icon(int idx) const ++{ ++ QIcon icon (mIcon); ++ icon.addPixmap (mMiniIcon); ++ return icon; ++} ++ ++void ++KWD::Window::setCurrentTab(long id) ++{ ++} ++ ++void ++KWD::Window::showWindowMenu(const QPoint& pos, long id) ++{ ++ showWindowMenu (pos); ++} ++ ++void ++KWD::Window::tab_A_before_B(long A, long B) ++{ ++} ++ ++void ++KWD::Window::tab_A_behind_B(long A, long B) ++{ ++} ++ ++int ++KWD::Window::tabCount() const ++{ ++ return 1; ++} ++ ++long ++KWD::Window::tabId(int idx) const ++{ ++ return (long) mClientId; ++} ++ ++void ++KWD::Window::untab(long id, const QRect& newGeom) ++{ + } + + #endif + ++ + void + KWD::Window::createDecoration (void) + { +@@ -987,14 +1066,14 @@ KWD::Window::updateBlurProperty (int topOffset, + int leftOffset, + int rightOffset) + { +- Atom atom = Atoms::compizWindowBlurDecor; +- QRegion topQRegion, bottomQRegion, leftQRegion, rightQRegion; +- ::Region topRegion = NULL; +- ::Region bottomRegion = NULL; +- ::Region leftRegion = NULL; +- ::Region rightRegion = NULL; +- int size = 0; +- int w, h; ++ Atom atom = Atoms::compizWindowBlurDecor; ++ QRegion topQRegion, bottomQRegion, leftQRegion, rightQRegion; ++ _XRegion *topRegion = NULL; ++ _XRegion *bottomRegion = NULL; ++ _XRegion *leftRegion = NULL; ++ _XRegion *rightRegion = NULL; ++ int size = 0; ++ int w, h; + + w = mGeometry.width () + mBorder.left + mBorder.right; + h = mGeometry.height () + mBorder.top + mBorder.bottom; +diff --git a/kde/window-decorator-kde4/window.h b/kde/window-decorator-kde4/window.h +index c2b274b..1ddfbd1 100644 +--- a/kde/window-decorator-kde4/window.h ++++ b/kde/window-decorator-kde4/window.h +@@ -114,7 +114,10 @@ class Window: public QObject, public KDecorationBridgeUnstable { + virtual bool compositingActive () const; + #if KDE_IS_VERSION(4,3,90) + virtual QRect transparentRect () const; +- ++ virtual WindowOperation ++ buttonToWindowOperation(Qt::MouseButtons button); ++#endif ++#if KDE_IS_VERSION(4,3,90) && !KDE_IS_VERSION(4, 8, 80) + virtual bool isClientGroupActive (); + virtual QList clientGroupItems () const; + virtual long itemId (int index); +@@ -126,10 +129,27 @@ class Window: public QObject, public KDecorationBridgeUnstable { + virtual void closeClientGroupItem (int index); + virtual void closeAllInClientGroup (); + virtual void displayClientMenu (int index, const QPoint& pos); +- +- virtual WindowOperation +- buttonToWindowOperation(Qt::MouseButtons button); ++ ++#endif ++#if KDE_IS_VERSION(4,8,80) ++ using KDecorationBridge::caption; ++ virtual QString caption(int idx) const; ++ virtual void closeTab(long id); ++ virtual void closeTabGroup(); ++ virtual long currentTabId() const; ++ using KDecorationBridge::icon; ++ virtual QIcon icon(int idx) const; ++ virtual void setCurrentTab(long id); ++ using KDecorationBridge::showWindowMenu; ++ virtual void showWindowMenu(const QPoint& pos, long id); ++ virtual void tab_A_before_B(long A, long B); ++ virtual void tab_A_behind_B(long A, long B); ++ virtual int tabCount() const; ++ virtual long tabId(int idx) const; ++ virtual void untab(long id, const QRect& newGeom); + #endif ++ ++ + virtual bool eventFilter (QObject* o, QEvent* e); + + void handleActiveChange (void); +-- +cgit v0.8.3.1-30-gff3a diff --git a/x11-wm/compiz/files/compiz-manager b/x11-wm/compiz/files/compiz-manager new file mode 100644 index 00000000..74d45da2 --- /dev/null +++ b/x11-wm/compiz/files/compiz-manager @@ -0,0 +1,384 @@ +#!/bin/sh +# Compiz Manager wrapper script +# +# Copyright (c) 2007 Kristian Lyngstøl +# +# This program is free software; you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation; either version 2 of the License, or +# (at your option) any later version. +# +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. +# +# +# You should have received a copy of the GNU General Public License +# along with this program; if not, write to the Free Software +# Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA +# +# +# Contributions by: Treviño (3v1n0) , Ubuntu Packages +# +# Much of this code is based on Beryl code, also licensed under the GPL. +# This script will detect what options we need to pass to compiz to get it +# started, and start a default plugin and possibly window decorator. +# + + +COMPIZ_BIN_PATH="/usr/bin/" # For window decorators and compiz +PLUGIN_PATH="/usr/lib/compiz/" +GLXINFO="/usr/bin/glxinfo" +KWIN="/usr/bin/kwin" +METACITY="/usr/bin/metacity" +COMPIZ_NAME="compiz" # Final name for compiz (compiz.real) + +# For Xgl LD_PRELOAD +LIBGL_NVIDIA="/usr/lib/nvidia/libGL.so.1.2.xlibmesa" +LIBGL_FGLRX="/usr/lib/fglrx/libGL.so.1.2.xlibmesa" + +# Minimum amount of memory (in kilo bytes) that nVidia cards need +# to be allowed to start +# Set to 262144 to require 256MB +NVIDIA_MEMORY="65536" # 64MB +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/+" + +FALLBACKWM="${METACITY}" +FALLBACKWM_OPTIONS="--replace $@" + +# Driver whitelist +WHITELIST="nvidia intel ati radeon i810" + +# blacklist based on the pci ids +# See http://wiki.compiz-fusion.org/Hardware/Blacklist for details +T=" 1002:5954 1002:5854 1002:5955" # ati rs480 +T="$T 1002:4153" # ATI Rv350 +T="$T 8086:2982 8086:2992 8086:29a2 8086:2a02 8086:2a12" # intel 965 +BLACKLIST_PCIIDS="$T" +unset T + +COMPIZ_OPTIONS="--ignore-desktop-hints --replace" +COMPIZ_PLUGINS="" +ENV="" + +# Use emerald by default if it exist +USE_EMERALD="yes" + +# No indirect by default +INDIRECT="no" + +# Default X.org log if xset q doesn't reveal it +XORG_DEFAULT_LOG="/var/log/Xorg.0.log" + +# Set to yes to enable verbose +VERBOSE="yes" + +# Echos the arguments if verbose +verbose() +{ + if [ "x$VERBOSE" = "xyes" ]; then + printf "$*" + fi +} + +# abort script and run fallback windowmanager +abort_with_fallback_wm() +{ + if [ "x$SKIP_CHECKS" = "xyes" ]; then + verbose "SKIP_CHECKS is yes, so continuing despite problems.\n" + return 0; + fi + + verbose "aborting and using fallback: $FALLBACKWM \n" + + if [ -x $FALLBACKWM ]; then + exec $FALLBACKWM $FALLBACKWM_OPTIONS + else + printf "no $FALLBACKWM found, exiting\n" + exit 1 + fi +} + +# Check for non power of two texture support +check_npot_texture() +{ + verbose "Checking for non power of two support: " + if glxinfo 2> /dev/null | egrep -q '(GL_ARB_texture_non_power_of_two|GL_NV_texture_rectangle|GL_EXT_texture_rectangle|GL_ARB_texture_rectangle)' ; then + verbose "present. \n"; + return 0; + else + verbose "Not present. \n" + return 1; + fi + +} + +# Check for presence of FBConfig +check_fbconfig() +{ + verbose "Checking for FBConfig: " + if [ "$INDIRECT" = "yes" ]; then + $GLXINFO -i | grep -q GLX.*fbconfig + FB=$? + else + $GLXINFO | grep -q GLX.*fbconfig + FB=$? + fi + + if [ $FB = "0" ]; then + unset FB + verbose "present. \n" + return 0; + else + unset FB + verbose "not present. \n" + return 1; + fi +} + + +# Check for TFP +check_tfp() +{ + verbose "Checking for texture_from_pixmap: " + if [ $($GLXINFO 2>/dev/null | grep GLX_EXT_texture_from_pixmap -c) -gt 2 ] ; then + verbose "present. \n" + return 0; + else + verbose "not present. \n" + if [ "$INDIRECT" = "yes" ]; then + unset LIBGL_ALWAYS_INDIRECT + INDIRECT="no" + return 1; + else + verbose "Trying again with indirect rendering:\n"; + INDIRECT="yes" + export LIBGL_ALWAYS_INDIRECT=1 + check_tfp; + return $? + fi + fi +} + +# Check wether the composite extension is present +check_composite() +{ + verbose "Checking for Composite extension: " + if xdpyinfo -queryExtensions | grep -q Composite ; then + verbose "present. \n"; + return 0; + else + verbose "not present. \n"; + return 1; + fi +} + +# Detects if Xgl is running +check_xgl() +{ + verbose "Checking for Xgl: " + if xvinfo | grep -q Xgl ; then + verbose "present. \n" + return 0; + else + verbose "not present. \n" + return 1; + fi +} + +# Check if the nVidia card has enough video ram to make sense +check_nvidia_memory() +{ + MEM=$(${NVIDIA_SETTINGS} -q VideoRam | egrep Attribute\ \'VideoRam\'\ .*: | cut -d: -f3 | sed 's/[^0-9]//g') + if [ $MEM -lt $NVIDIA_MEMORY ]; then + verbose "Less than ${NVIDIA_MEMORY}kb of memory and nVidia"; + return 1; + fi + return 0; +} + +# Check for existence if NV-GLX +check_nvidia() +{ + if [ ! -z $NVIDIA_INTERNAL_TEST ]; then + return $NVIDIA_INTERNAL_TEST; + fi + verbose "Checking for nVidia: " + if xdpyinfo | grep -q NV-GLX ; then + verbose "present. \n" + NVIDIA_INTERNAL_TEST=0 + return 0; + else + verbose "not present. \n" + NVIDIA_INTERNAL_TEST=1 + return 1; + fi +} + +# Check if the max texture size is large enough compared to the resolution +check_texture_size() +{ + TEXTURE_LIMIT=$(glxinfo -l | grep -m1 GL_MAX_TEXTURE_SIZE | sed 's/.*=[^0-9]//g') + RESOLUTION=$(xdpyinfo | grep -i dimensions: | sed 's/[^0-9]*pixels.*(.*).*//' | sed 's/[^0-9x]*//') + VRES=$(echo $RESOLUTION | sed 's/.*x//') + HRES=$(echo $RESOLUTION | sed 's/x.*//') + verbose "Comparing resolution ($RESOLUTION) to maximum 3D texture size ($TEXTURE_LIMIT): "; + if [ $VRES -gt $TEXTURE_LIMIT ] || [ $HRES -gt $TEXTURE_LIMIT ]; then + verbose "Failed.\n" + return 1; + fi + verbose "Passed.\n" + return 0 +} + +# check driver whitelist +running_under_whitelisted_driver() +{ + LOG=$(xset q|grep "Log file"|awk '{print $3}') + if [ "$LOG" = "" ]; then + verbose "xset q doesn't reveal the location of the log file. Using fallback $XORG_DEFAULT_LOG \n" + LOG=$XORG_DEFAULT_LOG; + fi + if [ -z "$LOG" ];then + verbose "AIEEEEH, no Log file found \n" + verbose "$(xset q) \n" + return 0 + fi + for DRV in ${WHITELIST}; do + if egrep -q "Loading ${XORG_DRIVER_PATH}${DRV}_drv\.so" $LOG && + ! egrep -q "Unloading ${XORG_DRIVER_PATH}${DRV}_drv\.so" $LOG; + then + return 0 + fi + done + verbose "No whitelisted driver found\n" + return 1 +} + +# check pciid blacklist +have_blacklisted_pciid() +{ + OUTPUT=$(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) + verbose "Detected PCI ID for VGA: $OUTPUT\n" + return 1 +} + +build_env() +{ + if check_nvidia; then + ENV="__GL_YIELD=NOTHING " + fi + if [ "$INDIRECT" = "yes" ]; then + ENV="$ENV LIBGL_ALWAYS_INDIRECT=1 " + fi + if check_xgl; then + if [ -f ${LIBGL_NVIDIA} ]; then + ENV="$ENV LD_PRELOAD=${LIBGL_NVIDIA}" + verbose "Enabling Xgl with nVidia drivers...\n" + fi + if [ -f ${LIBGL_FGLRX} ]; then + ENV="$ENV LD_PRELOAD=${LIBGL_FGLRX}" + verbose "Enabling Xgl with fglrx ATi drivers...\n" + fi + fi + + ENV="$ENV FROM_WRAPPER=yes" + + if [ -n "$ENV" ]; then + export $ENV + fi +} + +build_args() +{ + if [ $INDIRECT = "yes" ]; then + COMPIZ_OPTIONS="$COMPIZ_OPTIONS --indirect-rendering " + fi + if check_nvidia; then + COMPIZ_OPTIONS="$COMPIZ_OPTIONS --loose-binding" + fi +} + +#################### +# Execution begins here. + +# Read configuration from XDG paths +if [ -z "$XDG_CONFIG_DIRS" ]; then + test -f /etc/xdg/compiz/compiz-manager && . /etc/xdg/compiz/compiz-manager +else + test -f $XDG_CONFIG_DIRS/compiz/compiz-manager && . $XDG_CONFIG_DIRS/compiz/compiz-manager +fi + +if [ -z "$XDG_CONFIG_HOME" ]; then + test -f $HOME/.config/compiz/compiz-manager && . $HOME/.config/compiz/compiz-manager +else + test -f $XDG_CONFIG_HOME/compiz/compiz-manager && . $XDG_CONFIG_HOME/compiz/compiz-manager +fi + +# Don't use compiz when running the failsafe session +if [ "x$GNOME_DESKTOP_SESSION_ID" = "xFailsafe" ]; then + abort_with_fallback_wm +fi + +if [ "x$LIBGL_ALWAYS_INDIRECT" = "x1" ]; then + INDIRECT="yes"; +fi + +# if we run under Xgl, we can skip some tests here +if ! check_xgl; then + # if vesa or vga are in use, do not even try glxinfo (LP#119341) + if ! running_under_whitelisted_driver || have_blacklisted_pciid; then + abort_with_fallback_wm + fi + # check if we have the required bits to run compiz and if not, + # fallback + if ! check_tfp || ! check_npot_texture || ! check_composite || ! check_texture_size; then + abort_with_fallback_wm + fi + + if check_nvidia && ! check_nvidia_memory; then + abort_with_fallback_wm + fi + + if ! check_fbconfig; then + abort_with_fallback_wm + fi +fi + +# load the ccp plugin if present and fallback to plain gconf if not +if [ -f ${PLUGIN_PATH}libccp.so ]; then + COMPIZ_PLUGINS="$COMPIZ_PLUGINS ccp" +elif [ -f ${PLUGIN_PATH}libgconf.so ]; then + COMPIZ_PLUGINS="$COMPIZ_PLUGINS glib gconf" +fi + +# get environment +build_env +build_args + +# start the gtk-window-decorator if present +if [ -x ${COMPIZ_BIN_PATH}emerald ] && [ "$USE_EMERALD" = "yes" ]; then + verbose "Starting emerald\n" + ${COMPIZ_BIN_PATH}emerald --replace & +elif [ -x ${COMPIZ_BIN_PATH}gtk-window-decorator ] && [ -n "$GNOME_DESKTOP_SESSION_ID" ]; then + verbose "Starting gtk-window-decorator\n" + ${COMPIZ_BIN_PATH}gtk-window-decorator --replace & +elif [ -x ${COMPIZ_BIN_PATH}kde-window-decorator ] && [ -n "$KDE_FULL_SESSION" ]; then + verbose "Starting kde-window-decorator\n" + ${COMPIZ_BIN_PATH}kde-window-decorator --replace & + FALLBACKWM="${KWIN}" +fi + +${COMPIZ_BIN_PATH}${COMPIZ_NAME} $COMPIZ_OPTIONS "$@" $COMPIZ_PLUGINS || exec $FALLBACKWM $FALLBACKWM_OPTIONS + diff --git a/x11-wm/compiz/files/compiz-no-gconf.patch b/x11-wm/compiz/files/compiz-no-gconf.patch new file mode 100644 index 00000000..d43e84de --- /dev/null +++ b/x11-wm/compiz/files/compiz-no-gconf.patch @@ -0,0 +1,20 @@ + configure.ac | 4 ++-- + 1 files changed, 2 insertions(+), 2 deletions(-) + +diff --git a/configure.ac b/configure.ac +index 7b09153..9c22ea0 100644 +--- a/configure.ac ++++ b/configure.ac +@@ -192,10 +192,10 @@ if test "x$use_gconf" = "xyes"; then + if test x"$GCONFTOOL" = xno; then + AC_MSG_ERROR([gconftool-2 executable not found in your path - should be installed with GConf]) + fi ++else ++ AM_CONDITIONAL(GCONF_SCHEMAS_INSTALL, test "x$use_gconf" = "xyes") + fi + +-AM_GCONF_SOURCE_2 +- + AM_CONDITIONAL(USE_GCONF, test "x$use_gconf" = "xyes") + if test "$use_gconf" = yes; then + AC_DEFINE(USE_GCONF, 1, [Build gconf plugin]) diff --git a/x11-wm/compiz/files/compiz.desktop b/x11-wm/compiz/files/compiz.desktop new file mode 100644 index 00000000..22cf642b --- /dev/null +++ b/x11-wm/compiz/files/compiz.desktop @@ -0,0 +1,11 @@ +[Desktop Entry] +Type=Application +Name=Compiz +Name[en_GB]=Compiz +Exec=compiz ccp +NoDisplay=true +# name we put on the WM spec check window +X-GNOME-WMName=Compiz +X-GNOME-Autostart-Phase=WindowManager +X-GNOME-Provides=windowmanager +X-GNOME-Autostart-Notify=true -- cgit v1.2.3