add compiz and apropriate ebuilds with package.unmask file

This commit is contained in:
Sergey Popov 2012-01-25 22:04:41 +04:00
parent 2c8d5e4c01
commit 829d8ef4df
50 changed files with 2500 additions and 0 deletions

View File

@ -0,0 +1,2 @@
DIST compizconfig-python-0.8.4.tar.bz2 269812 RMD160 30488991fe80f83b232d2d01bcc2dac2ed189579 SHA1 4e6cfd4d29a9d74c1b0fe21600505006978df9de SHA256 6734ae35ee69d081f35f98a89cd3bccb411a4db7c5b35fbd226270d95ac76f5a
EBUILD compizconfig-python-0.8.4-r9999.ebuild 907 RMD160 08574f7daf02fab3e913f072754db3f5ecab66a3 SHA1 28106644d97cb491f03ec970613a1afb2adcbe09 SHA256 c2f0c4c514a50a5b25ba0966de58d3f63e27294268304eb90f9527e5ad49b691

View File

@ -0,0 +1,42 @@
# Copyright 1999-2010 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
# $Header: /var/cvsroot/gentoo-x86/dev-python/compizconfig-python/compizconfig-python-0.8.4-r3.ebuild,v 1.1 2010/09/08 22:18:08 flameeyes Exp $
EAPI="3"
PYTHON_DEPEND="2"
SUPPORT_PYTHON_ABIS="1"
PYTHON_EXPORT_PHASE_FUNCTIONS="1"
inherit python
RESTRICT_PYTHON_ABIS="3.*"
DESCRIPTION="Compizconfig Python Bindings"
HOMEPAGE="http://www.compiz.org/"
SRC_URI="http://releases.compiz.org/${PV}/${P}.tar.bz2"
LICENSE="GPL-2"
SLOT="0"
KEYWORDS="~amd64 ~ppc ~ppc64 ~x86"
IUSE=""
RDEPEND="
>=dev-libs/glib-2.6
>=x11-libs/libcompizconfig-${PV}"
DEPEND="${RDEPEND}
dev-python/pyrex
dev-util/pkgconfig"
src_configure() {
python_src_configure \
--disable-dependency-tracking \
--enable-fast-install \
--disable-static
}
src_install() {
python_src_install
python_clean_installation_image
}

16
portage/package.unmask Normal file
View File

@ -0,0 +1,16 @@
# Pinkbyte: unmask compiz
dev-python/compizconfig-python::pinkbyte
x11-apps/ccsm::pinkbyte
x11-apps/fusion-icon::pinkbyte
x11-apps/simple-ccsm::pinkbyte
x11-libs/compiz-bcop::pinkbyte
x11-libs/compizconfig-backend-gconf::pinkbyte
x11-libs/compizconfig-backend-kconfig4::pinkbyte
x11-libs/libcompizconfig::pinkbyte
x11-plugins/compiz-plugins-extra::pinkbyte
x11-plugins/compiz-plugins-main::pinkbyte
x11-plugins/compiz-plugins-unsupported::pinkbyte
x11-themes/emerald-themes::pinkbyte
x11-wm/compiz::pinkbyte
x11-wm/compiz-fusion::pinkbyte
x11-wm/emerald::pinkbyte

2
x11-apps/ccsm/Manifest Normal file
View File

@ -0,0 +1,2 @@
DIST ccsm-0.8.4.tar.bz2 475864 RMD160 d0cf0260afe204c6e931d06d9361087d95bfa6f7 SHA1 1b4d740f8f45d6c58d8de09eda5de632c4393927 SHA256 46b9da032cf29e71aec0823799861d926937ad41f4edea3be718ac6a8532c16d
EBUILD ccsm-0.8.4-r9999.ebuild 825 RMD160 0860e84997f44978f692cd4129abc71ae982ed97 SHA1 8e4c50b981d02fb0d45066de55448356411222e8 SHA256 392ca5523cc55255f1b68db77396265cdd7bf815cbc636a6900b5b8bc98e0b4c

View File

@ -0,0 +1,41 @@
# Copyright 1999-2011 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
# $Header: /var/cvsroot/gentoo-x86/x11-apps/ccsm/ccsm-0.8.4-r1.ebuild,v 1.2 2011/04/11 19:51:07 arfrever Exp $
EAPI="3"
PYTHON_DEPEND="2"
inherit distutils
DESCRIPTION="Compizconfig Settings Manager"
HOMEPAGE="http://www.compiz.org/"
SRC_URI="http://releases.compiz.org/${PV}/${P}.tar.bz2"
LICENSE="GPL-2"
SLOT="0"
KEYWORDS="~amd64 ~ppc ~ppc64 ~x86"
IUSE=""
DEPEND="
>=dev-python/compizconfig-python-${PV}
>=dev-python/pygtk-2.12:2
dev-python/sexy-python
gnome-base/librsvg
"
RDEPEND="${DEPEND}"
DOCS="AUTHORS"
PYTHON_MODNAME="ccm"
pkg_setup() {
python_set_active_version 2
python_pkg_setup
}
src_compile() {
distutils_src_compile --prefix=/usr
}
src_install() {
distutils_src_install --prefix=/usr
}

View File

@ -0,0 +1,2 @@
DIST compiz-bcop-0.8.4.tar.bz2 72103 RMD160 7e29398ef0ad211c9eccb0fd6deae68a00285e70 SHA1 c9632cd9d27f9335f1282fca2a4aa87b2fc4668d SHA256 d359ca1a9e98e0a4b9abe807f84a9e230a102aee409f3ee4594a895ea9da8c4f
EBUILD compiz-bcop-0.8.4-r9999.ebuild 585 RMD160 5e0397555008056c3332ad00867c76ef30b85735 SHA1 b55be421308b687507963b945d5fc36f1ec04b31 SHA256 91e60ed41f619430332289a288f2c42574c64de365b1d5628e500dcd6fd05f14

View File

@ -0,0 +1,20 @@
# Copyright 1999-2009 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
# $Header: /var/cvsroot/gentoo-x86/x11-libs/compiz-bcop/compiz-bcop-0.8.4.ebuild,v 1.1 2009/10/15 16:35:51 mrpouet Exp $
DESCRIPTION="Compiz Option code Generator"
HOMEPAGE="http://www.compiz.org/"
SRC_URI="http://releases.compiz.org/${PV}/${P}.tar.bz2"
LICENSE="GPL-2"
SLOT="0"
KEYWORDS="~amd64 ~ppc ~ppc64 ~x86"
IUSE=""
RDEPEND="dev-libs/libxslt"
DEPEND="${RDEPEND}
>=dev-util/pkgconfig-0.19"
src_install() {
emake DESTDIR="${D}" install || die "emake install failed"
}

View File

@ -0,0 +1,2 @@
DIST compizconfig-backend-gconf-0.8.4.tar.bz2 244419 RMD160 d1d5b134bf52a61c0ee5a7dae25c55d0bf21c8c3 SHA1 73298288e3c8912c83d76978b0344c68968548d5 SHA256 7231df49f6b530d72e2a21c3249ac4718cfe0c485d1317ac29d4e56c4b1b2e87
EBUILD compizconfig-backend-gconf-0.8.4-r9999.ebuild 815 RMD160 075ac9635ad54f599571824b45ccf4a9f5665046 SHA1 fe2861eaa9784bd507efcda5b8ee23cf15d23a3b SHA256 def019b76891bf6dc65d5f87449e768e77ca4ba4612e98b34ff4f889121d6383

View File

@ -0,0 +1,33 @@
# Copyright 1999-2011 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
# $Header: /var/cvsroot/gentoo-x86/x11-libs/compizconfig-backend-gconf/compizconfig-backend-gconf-0.8.4-r2.ebuild,v 1.2 2011/03/21 19:55:08 nirbheek Exp $
EAPI=2
DESCRIPTION="Compizconfig Gconf Backend"
HOMEPAGE="http://www.compiz.org/"
SRC_URI="http://releases.compiz.org/${PV}/${P}.tar.bz2"
LICENSE="GPL-2"
SLOT="0"
KEYWORDS="~amd64 ~ppc ~ppc64 ~x86"
IUSE=""
DEPEND="
>=gnome-base/gconf-2.0:2
>=x11-libs/libcompizconfig-${PV}
>=x11-wm/compiz-${PV}
"
RDEPEND="${DEPEND}"
src_configure() {
econf \
--disable-dependency-tracking \
--enable-fast-install \
--disable-static
}
src_install() {
emake DESTDIR="${D}" install || die "emake install failed"
find "${D}" -name '*.la' -delete || die
}

View File

@ -0,0 +1,2 @@
DIST compizconfig-backend-kconfig4-0.8.4.tar.bz2 21680 RMD160 a81152111a4c61dd27e6b749071433a833579dcf SHA1 3a9146e68a93ee40db87b791d03c4225dcd03507 SHA256 73916cc47977a82dde8c619892841db8a53b2b0f1c2d99bee60b71afdb4795ea
EBUILD compizconfig-backend-kconfig4-0.8.4-r9999.ebuild 586 RMD160 51cb520f0fc79f8456650141e3e20eb2ea31a51a SHA1 ac587b7ac951f75261ea71f30e9de173b1367d3a SHA256 86718e3fcb65bc9c3bc4749c59bfa0073d72a54d6c089811e4e2e42d00a86972

View File

@ -0,0 +1,20 @@
# Copyright 1999-2011 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
# $Header: /var/cvsroot/gentoo-x86/x11-libs/compizconfig-backend-kconfig4/compizconfig-backend-kconfig4-0.8.4.ebuild,v 1.4 2011/10/28 20:53:01 abcd Exp $
EAPI=4
inherit kde4-base
DESCRIPTION="Compizconfig Kconfig Backend"
HOMEPAGE="http://www.compiz.org/"
SRC_URI="http://releases.compiz.org/${PV}/${P}.tar.bz2"
LICENSE="GPL-2 LGPL-2.1"
SLOT="0"
KEYWORDS="~amd64 ~ppc ~ppc64 ~x86"
IUSE=""
DEPEND="x11-libs/qt-dbus:4
>=x11-libs/libcompizconfig-${PV}
>=x11-wm/compiz-${PV}"

View File

@ -0,0 +1,4 @@
AUX libcompizconfig-0.8.2-allow-system-libiniparser.patch 6993 RMD160 cbbc8b04653a1175ce299d63974d22ca739f4cab SHA1 678634c48f8543ee26c54ec9a404b619657257e3 SHA256 4a6511605a6d6a6a45b528a344e2a79fd9e5b98cd8bbc0a94c3257fec44cce76
AUX libcompizconfig-undefinedref.patch 1204 RMD160 69538e32c526828d1e3d0ae6116f7b62a207edba SHA1 c97312c81ac6ac445d56599c10cf67418f0bd9db SHA256 27c3a644ea5b0b309ec32ed79f4a51f81ec2bc20cc9ccc73525237785052581d
DIST libcompizconfig-0.8.4.tar.bz2 315858 RMD160 dee403af09eee727717aeee82f763dfdb4ba3cd9 SHA1 514830508b21f9fd47ccac128c44c55a212d3929 SHA256 41313e935f1beb3375367bded72d97de60e7aabf1129620be53a7fc1aca0b029
EBUILD libcompizconfig-0.8.4-r9999.ebuild 847 RMD160 12d37ebe086f2974953713de348639f33271733a SHA1 c8db45ac7597089d190e1d747e3e120b16fd21d9 SHA256 d21a1b7cb72be1783cec39c873991d70a270c871e06303feb3c013d31003da27

View File

@ -0,0 +1,239 @@
diff -Naur libcompizconfig-0.8.2.orig/config.h.in libcompizconfig-0.8.2/config.h.in
--- libcompizconfig-0.8.2.orig/config.h.in 2009-03-05 15:29:12.000000000 +0000
+++ libcompizconfig-0.8.2/config.h.in 2009-05-02 14:55:48.000000000 +0100
@@ -30,6 +30,9 @@
/* Define if your <locale.h> file defines LC_MESSAGES. */
#undef HAVE_LC_MESSAGES
+/* Define to 1 if you have the `iniparser' library (-liniparser). */
+#undef HAVE_LIBINIPARSER
+
/* Define to 1 if you have the `protobuf' library (-lprotobuf). */
#undef HAVE_LIBPROTOBUF
diff -Naur libcompizconfig-0.8.2.orig/configure.ac libcompizconfig-0.8.2/configure.ac
--- libcompizconfig-0.8.2.orig/configure.ac 2009-03-05 03:22:22.000000000 +0000
+++ libcompizconfig-0.8.2/configure.ac 2009-05-02 14:55:48.000000000 +0100
@@ -116,6 +116,16 @@
fi
AM_CONDITIONAL([USE_PROTOBUF], [test "x$use_protobuf" = "xyes"])
+AC_ARG_WITH(internal-iniparser,
+ [AS_HELP_STRING([--without-internal-iniparser],[Don't use bundled iniparser lib])],
+ [], [with_internal_iniparser=yes])
+
+if test "x$with_internal_iniparser" = "xno"; then
+ AC_CHECK_LIB([iniparser], [iniparser_getnsec], [],
+ [AC_MSG_ERROR([Error! You need to have libiniparser])])
+fi
+AM_CONDITIONAL([WITH_INTERNAL_INIPARSER], [test "x$with_internal_iniparser" = "xyes"])
+
AC_CHECK_HEADERS([sys/inotify.h], [have_inotify=yes], [have_inotify=no])
AC_ARG_ENABLE(debug,
diff -Naur libcompizconfig-0.8.2.orig/include/ccs.h libcompizconfig-0.8.2/include/ccs.h
--- libcompizconfig-0.8.2.orig/include/ccs.h 2009-03-05 03:22:22.000000000 +0000
+++ libcompizconfig-0.8.2/include/ccs.h 2009-05-02 14:55:48.000000000 +0100
@@ -695,19 +695,9 @@
/* INI file stuff */
-typedef struct _dictionary_
-{
- /** Number of entries in dictionary */
- int n;
- /** Storage size */
- int size;
- /** List of string values */
- char **val;
- /** List of string keys */
- char **key ;
- /** List of hash values for keys */
- unsigned *hash;
-} IniDictionary;
+#include <iniparser.h>
+
+typedef dictionary IniDictionary;
IniDictionary* ccsIniNew (void);
IniDictionary* ccsIniOpen (const char *fileName);
diff -Naur libcompizconfig-0.8.2.orig/src/Makefile.am libcompizconfig-0.8.2/src/Makefile.am
--- libcompizconfig-0.8.2.orig/src/Makefile.am 2009-03-05 15:28:59.000000000 +0000
+++ libcompizconfig-0.8.2/src/Makefile.am 2009-05-02 14:55:48.000000000 +0100
@@ -39,14 +39,17 @@
lists.c \
compiz.cpp \
config.c \
- iniparser.c \
ini.c \
bindings.c \
filewatch.c \
- ccs-private.h \
- iniparser.h
+ ccs-private.h
libcompizconfig_la_LIBADD = @LIBXML2_LIBS@ @LIBX11_LIBS@ $(PROTOBUF_LIB)
lib_LTLIBRARIES=libcompizconfig.la
+if WITH_INTERNAL_INIPARSER
+
+ libcompizconfig_la_SOURCES += iniparser.h iniparser.c
+
+endif
diff -Naur libcompizconfig-0.8.2.orig/src/ini.c libcompizconfig-0.8.2/src/ini.c
--- libcompizconfig-0.8.2.orig/src/ini.c 2009-03-05 03:22:22.000000000 +0000
+++ libcompizconfig-0.8.2/src/ini.c 2009-05-02 14:56:12.000000000 +0100
@@ -23,9 +23,10 @@
#include <sys/stat.h>
#include <sys/types.h>
#include <errno.h>
+#include <ctype.h>
#include <ccs.h>
-#include "iniparser.h"
+#include <iniparser.h>
/**
* Creates the parent directory for @fileName, recursively creating a directory
@@ -77,7 +78,7 @@
if (file)
fclose (file);
- return iniparser_new ((char*) fileName);
+ return iniparser_load ((char*) fileName);
}
IniDictionary*
@@ -89,17 +90,22 @@
void
ccsIniClose (IniDictionary *dictionary)
{
- iniparser_free (dictionary);
+ iniparser_freedict (dictionary);
}
void
ccsIniSave (IniDictionary *dictionary,
const char *fileName)
{
+ FILE *f;
if (!ccsCreateDirFor (fileName))
return;
- iniparser_dump_ini (dictionary, fileName);
+ f = fopen(fileName, "w");
+ if(!f)
+ return;
+ iniparser_dump_ini (dictionary, f);
+ fclose(f);
}
static char*
@@ -127,11 +133,11 @@
char *sectionName;
asprintf (&sectionName, "%s:%s", section, entry);
-
+/*
if (!iniparser_find_entry (dictionary, (char*) section))
iniparser_add_entry (dictionary, (char*) section, NULL, NULL);
-
- iniparser_setstr (dictionary, sectionName, (char*) value);
+*/
+ iniparser_set (dictionary, sectionName, (char*) value);
free (sectionName);
}
diff -Naur libcompizconfig-0.8.2.orig/src/iniparser.h libcompizconfig-0.8.2/src/iniparser.h
--- libcompizconfig-0.8.2.orig/src/iniparser.h 2009-03-05 03:22:22.000000000 +0000
+++ libcompizconfig-0.8.2/src/iniparser.h 1970-01-01 01:00:00.000000000 +0100
@@ -1,65 +0,0 @@
-/*
- Based upon libiniparser, by Nicolas Devillard
- Hacked into 1 file (m-iniparser) by Freek/2005
- Original terms following:
-
- -- -
-
- Copyright (c) 2000 by Nicolas Devillard (ndevilla AT free DOT fr).
-
- Written by Nicolas Devillard. Not derived from licensed software.
-
- Permission is granted to anyone to use this software for any
- purpose on any computer system, and to redistribute it freely,
- subject to the following restrictions:
-
- 1. The author is not responsible for the consequences of use of
- this software, no matter how awful, even if they arise
- from defects in it.
-
- 2. The origin of this software must not be misrepresented, either
- by explicit claim or by omission.
-
- 3. Altered versions must be plainly marked as such, and must not
- be misrepresented as being the original software.
-
- 4. This notice may not be removed or altered.
-
- */
-
-
-#ifndef _INIPARSER_H_
-#define _INIPARSER_H_
-#include <stdio.h>
-#include <stdlib.h>
-#include <string.h>
-#include <unistd.h>
-#include <ctype.h>
-
-#include <ccs.h>
-
-typedef IniDictionary dictionary;
-
-typedef struct _FileLock
-{
- int fd;
-} FileLock;
-
-/* generated by genproto */
-
-dictionary * iniparser_new(char *ininame);
-dictionary * dictionary_new(int size);
-void iniparser_free(dictionary * d);
-
-
-int iniparser_getnsec(dictionary * d);
-char * iniparser_getsecname(dictionary * d, int n);
-void iniparser_dump_ini(dictionary * d, const char * file_name);
-char * iniparser_getstring(dictionary * d, char * key, char * def);
-void iniparser_add_entry(dictionary * d, char * sec, char * key, char * val);
-int iniparser_find_entry(dictionary * ini, char * entry);
-int iniparser_setstr(dictionary * ini, char * entry, char * val);
-void iniparser_unset(dictionary * ini, char * entry);
-
-#endif
-
diff -Naur libcompizconfig-0.8.2.orig/src/main.c libcompizconfig-0.8.2/src/main.c
--- libcompizconfig-0.8.2.orig/src/main.c 2009-03-05 03:22:22.000000000 +0000
+++ libcompizconfig-0.8.2/src/main.c 2009-05-02 14:56:26.000000000 +0100
@@ -34,9 +34,9 @@
#include <math.h>
#include <ccs.h>
+#include <iniparser.h>
#include "ccs-private.h"
-#include "iniparser.h"
Bool basicMetadata = FALSE;
@@ -2577,7 +2577,7 @@
return FALSE;
fclose (fp);
- importFile = iniparser_new ((char *) fileName);
+ importFile = iniparser_load ((char *) fileName);
if (!importFile)
return FALSE;

View File

@ -0,0 +1,41 @@
From adf3fefc4afa6225afedaf5f92b0501dafa99c65 Mon Sep 17 00:00:00 2001
From: =?utf-8?q?Diego=20'Flameeyes'=20Petten=C3=B2?= <flameeyes@gmail.com>
Date: Sat, 30 Aug 2008 14:51:46 +0200
Subject: [PATCH] Fix undefined references for XStringToKeysym.
The XStringToKeysym function comes from libX11, link to it to not have
undefined references in the shared library.
---
configure.ac | 2 ++
src/Makefile.am | 2 +-
2 files changed, 3 insertions(+), 1 deletions(-)
diff --git a/configure.ac b/configure.ac
index 1668771..b8bc4cf 100644
--- a/configure.ac
+++ b/configure.ac
@@ -91,6 +91,8 @@ AC_SUBST(plugindir)
PKG_CHECK_MODULES(LIBXML2, "libxml-2.0")
AC_SUBST(LIBXML2_REQUIRES)
+PKG_CHECK_MODULES(X11, x11)
+
AC_CHECK_HEADERS([sys/inotify.h], [have_inotify=yes], [have_inotify=no])
globalmetadata=$datadir/compizconfig/global.xml
diff --git a/src/Makefile.am b/src/Makefile.am
index ac7424f..9bd9722 100644
--- a/src/Makefile.am
+++ b/src/Makefile.am
@@ -22,7 +22,7 @@ libcompizconfig_la_SOURCES = \
ccs-private.h \
iniparser.h
-libcompizconfig_la_LIBADD = @LIBXML2_LIBS@
+libcompizconfig_la_LIBADD = @LIBXML2_LIBS@ $(X11_LIBS)
lib_LTLIBRARIES=libcompizconfig.la
--
1.6.0.1

View File

@ -0,0 +1,38 @@
# Copyright 1999-2011 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
# $Header: /var/cvsroot/gentoo-x86/x11-libs/libcompizconfig/libcompizconfig-0.8.4-r2.ebuild,v 1.2 2011/03/21 19:52:57 nirbheek Exp $
EAPI="2"
DESCRIPTION="Compiz Configuration System"
HOMEPAGE="http://www.compiz.org/"
SRC_URI="http://releases.compiz.org/${PV}/${P}.tar.bz2"
LICENSE="GPL-2"
SLOT="0"
KEYWORDS="~amd64 ~ppc ~ppc64 ~x86"
IUSE=""
RDEPEND="
dev-libs/libxml2:2
dev-libs/protobuf
>=x11-wm/compiz-${PV}
"
DEPEND="${RDEPEND}
>=dev-util/intltool-0.41
>=dev-util/pkgconfig-0.19
"
RESTRICT="test"
src_configure() {
econf \
--disable-dependency-tracking \
--enable-fast-install \
--disable-static
}
src_install() {
emake DESTDIR="${D}" install || die "emake install failed"
find "${D}" -name '*.la' -delete || die
}

View File

@ -0,0 +1,4 @@
AUX compiz-plugins-extra-0.8.6-libnotify.patch 1412 RMD160 a4e1a09e293c5e1a16bf3b0fd7710d7440c12bcc SHA1 c9201df9851f3ef325fe6b2f612097bc10723b1b SHA256 864971c7f1ad664d64c4cfcca527c2a9788f95a2b030b2cc94f1d2ad9332c106
AUX compiz-plugins-extra-no-gconf.patch 585 RMD160 bb3b291eab783be7f9754d724d3a96618fe2e614 SHA1 564d6614cc157397ae24347a731a9f4d65bf30f8 SHA256 0567850b07c3973f1b4bfd5c36a1e240a57e45a1714b63637ecec577febfc13f
DIST compiz-plugins-extra-0.8.6.tar.bz2 2699385 RMD160 cd8d26902d38ee7fb42fe2077e483f92fc458929 SHA1 66c571c64910aa21808aedaee8c8ceb4c4a82c78 SHA256 e111beecd9e563065448aae81002fd6cb644b3cd0e11a8406d6a2d3146747de1
EBUILD compiz-plugins-extra-0.8.6-r9999.ebuild 1564 RMD160 28cf176862dd4bb9cfee9b434ab691090e9490f0 SHA1 ffedde3e900095a8b784856285f07937006da03a SHA256 59504a217dcdbbe674c9f21932d9a1a1e3b7981b5c1f0ebce02240196f89256a

View File

@ -0,0 +1,69 @@
# Copyright 1999-2011 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
# $Header: /var/cvsroot/gentoo-x86/x11-plugins/compiz-plugins-extra/compiz-plugins-extra-0.8.6-r1.ebuild,v 1.5 2011/03/21 19:47:45 nirbheek Exp $
EAPI="2"
inherit autotools eutils gnome2-utils
DESCRIPTION="Compiz Fusion Window Decorator Extra Plugins"
HOMEPAGE="http://www.compiz.org/"
SRC_URI="http://releases.compiz.org/${PV}/${P}.tar.bz2"
LICENSE="GPL-2"
SLOT="0"
KEYWORDS="~amd64 ~ppc ~ppc64 ~x86"
IUSE="gconf libnotify"
MY_PV="0.8.4"
RDEPEND="
>=gnome-base/librsvg-2.14.0:2
virtual/jpeg:0
>=x11-libs/compiz-bcop-${MY_PV}
>=x11-plugins/compiz-plugins-main-${PV}
>=x11-wm/compiz-${PV}[gconf?]
libnotify? ( x11-libs/libnotify )
"
DEPEND="${RDEPEND}
>=dev-util/intltool-0.35
>=dev-util/pkgconfig-0.19
>=sys-devel/gettext-0.15
x11-libs/cairo
gconf? ( gnome-base/gconf:2 )
"
src_prepare() {
if ! use gconf; then
epatch "${FILESDIR}"/${PN}-no-gconf.patch
fi
epatch "${FILESDIR}/${P}-libnotify.patch"
# required to apply the above patch
intltoolize --copy --force || die "intltoolize failed"
eautoreconf || die "eautoreconf failed"
}
src_configure() {
econf \
--disable-dependency-tracking \
--enable-fast-install \
--disable-static \
$(use_enable gconf schemas) \
$(use_with libnotify)
}
src_install() {
emake DESTDIR="${D}" install || die "emake install failed"
find "${D}" -name '*.la' -delete || die
}
pkg_preinst() {
use gconf && gnome2_gconf_savelist
}
pkg_postinst() {
use gconf && gnome2_gconf_install
}

View File

@ -0,0 +1,45 @@
--- configure.ac
+++ configure.ac
@@ -136,9 +136,12 @@
PKG_CHECK_MODULES(COMPIZMOUSEPOLL, compiz-mousepoll, [have_compiz_mousepoll=yes], [have_compiz_mousepoll=no])
AM_CONDITIONAL(SHOWMOUSE_PLUGIN, test "x$have_compiz_mousepoll" = "xyes")
-PKG_CHECK_MODULES(LIBNOTIFY, libnotify, [have_libnotify=yes], [have_libnotify=no])
+AC_ARG_WITH([libnotify], [AS_HELP_STRING([--without-libnotify], [Build without libnotify support @<:@default=auto@:>@])])
+AS_IF([test "x$with_libnotify" != "xno"], [
+ PKG_CHECK_MODULES(LIBNOTIFY, libnotify, [have_libnotify=yes], [have_libnotify=no])
+])
AM_CONDITIONAL(NOTIFICATION_PLUGIN, test "x$have_libnotify" = "xyes")
-if test "$have_libnotify" = yes; then
+if test "x$have_libnotify" = "xyes"; then
AC_DEFINE(USE_NOTIFICATION, 1, [Build notification plugin])
fi
--- src/notification/notification.c
+++ src/notification/notification.c
@@ -21,6 +21,11 @@
#include <libnotify/notify.h>
+
+#ifndef NOTIFY_CHECK_VERSION
+#define NOTIFY_CHECK_VERSION(x,y,z) 0
+#endif
+
#include <stdio.h>
#include <stdarg.h>
#include <string.h>
@@ -103,7 +108,12 @@
n = notify_notification_new (logLevel,
message,
- iconUri, NULL);
+ iconUri
+#if NOTIFY_CHECK_VERSION (0, 7, 0)
+ );
+#else
+ , NULL);
+#endif
notify_notification_set_timeout (n, nd->timeout);

View File

@ -0,0 +1,21 @@
configure.ac | 5 ++---
1 files changed, 2 insertions(+), 3 deletions(-)
diff --git a/configure.ac b/configure.ac
index 0a3d7c1..6f8356d 100644
--- a/configure.ac
+++ b/configure.ac
@@ -150,11 +150,10 @@ if test x"$use_schemas" = x"yes"; then
fi
xsltdir=`$PKG_CONFIG --variable=xsltdir compiz-gconf`
AC_SUBST(xsltdir)
+else
+ AM_CONDITIONAL(GCONF_SCHEMAS_INSTALL, test "x$use_gconf" = "xyes")
fi
-AM_GCONF_SOURCE_2
-
-
AM_CONDITIONAL(USE_SCHEMAS, test "x$use_schemas" = "xyes")
if test "$use_schemas" = yes; then
AC_DEFINE(USE_SCHEMAS, 1, [Build gconf schemas])

View File

@ -0,0 +1,4 @@
AUX compiz-plugins-main-0.8.4-put-plugin.patch 6918 RMD160 1c14b58a95694e711d1dcd0036471fe465cf2a0e SHA1 fc50491bc22fe1f46f2779b9e24fc07e4c15bdc4 SHA256 1155ac5765d1712b8dee5813b41a638ea01cc16519837e7137a69d6a1e79e614
AUX compiz-plugins-main-no-gconf.patch 586 RMD160 1222325cbec30e35030c930cd3a9358a3b975047 SHA1 95ef3484e60b4f3c4d0bced6b0fb654e7cbcff89 SHA256 bc13b648e2198dd3611ba4f4734540903a740570a2c181dc666dd1e66f13e1da
DIST compiz-plugins-main-0.8.6.tar.bz2 1226802 RMD160 7eefc691c26199487309fc5e5b0993bfe3f3dd86 SHA1 6cd9c6a48c570061ac0b6275a6acddd8415b8611 SHA256 66dc4f349b11dbeac08f941d2d3443aa9b80d82f35c304db747ff383491ed6d9
EBUILD compiz-plugins-main-0.8.6-r9999.ebuild 1403 RMD160 f080d6b5f7b678ef28cbc4e00369f292f9d89bc3 SHA1 d87a87334f3c0c25e5a798ab72b20e1052683c36 SHA256 7aa45b32b82a440595bd9ad9ec8cb65b7402fed4bfc18428d46dc3fb8c1961c8

View File

@ -0,0 +1,64 @@
# Copyright 1999-2011 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
# $Header: /var/cvsroot/gentoo-x86/x11-plugins/compiz-plugins-main/compiz-plugins-main-0.8.6-r1.ebuild,v 1.4 2011/03/21 19:50:33 nirbheek Exp $
EAPI="2"
inherit autotools eutils gnome2-utils
DESCRIPTION="Compiz Fusion Window Decorator Plugins"
HOMEPAGE="http://www.compiz.org/"
SRC_URI="http://releases.compiz.org/${PV}/${P}.tar.bz2"
LICENSE="GPL-2"
SLOT="0"
KEYWORDS="~amd64 ~ppc ~ppc64 ~x86"
IUSE="gconf"
MY_PV="0.8.4"
RDEPEND="
>=gnome-base/librsvg-2.14.0:2
virtual/jpeg:0
x11-libs/cairo
>=x11-libs/compiz-bcop-${MY_PV}
>=x11-wm/compiz-${PV}[gconf?]
"
DEPEND="${RDEPEND}
>=dev-util/intltool-0.35
>=dev-util/pkgconfig-0.19
>=sys-devel/gettext-0.15
gconf? ( gnome-base/gconf:2 )
"
src_prepare() {
if ! use gconf; then
epatch "${FILESDIR}"/${PN}-no-gconf.patch
# required to apply the above patch
intltoolize --copy --force || die "intltoolize failed"
eautoreconf || die "eautoreconf failed"
fi
}
src_configure() {
econf \
--disable-dependency-tracking \
--enable-fast-install \
--disable-static \
$(use_enable gconf schemas)
}
src_install() {
emake DESTDIR="${D}" install || die "emake install failed"
find "${D}" -name '*.la' -delete || die
}
pkg_preinst() {
use gconf && gnome2_gconf_savelist
}
pkg_postinst() {
use gconf && gnome2_gconf_install
}

View File

@ -0,0 +1,184 @@
From dc097d85952f82b101ea897d33958582db2fa010 Mon Sep 17 00:00:00 2001
From: Danny Baumann <dannybaumann@web.de>
Date: Sun, 31 Jan 2010 13:11:44 +0000
Subject: Handle windows that have server border set properly.
---
diff --git a/put.c b/put.c
index daf268f..9870cd3 100644
--- a/src/put/put.c
+++ b/src/put/put.c
@@ -43,6 +43,14 @@
GET_PUT_SCREEN (w->screen, \
GET_PUT_DISPLAY (w->screen->display)))
+#define TOP_BORDER(w) ((w)->input.top)
+#define LEFT_BORDER(w) ((w)->input.left)
+#define RIGHT_BORDER(w) ((w)->input.right + 2 * (w)->serverBorderWidth)
+#define BOTTOM_BORDER(w) ((w)->input.bottom + 2 * (w)->serverBorderWidth)
+
+#define HALF_WIDTH(w) ((w)->serverWidth / 2 + (w)->serverBorderWidth)
+#define HALF_HEIGHT(w) ((w)->serverHeight / 2 + (w)->serverBorderWidth)
+
static int displayPrivateIndex;
typedef enum
@@ -395,54 +403,56 @@ putGetDistance (CompWindow *w,
switch (type) {
case PutCenter:
/* center of the screen */
- dx = (workArea.width / 2) - (w->serverWidth / 2) - (x - workArea.x);
- dy = (workArea.height / 2) - (w->serverHeight / 2) - (y - workArea.y);
+ dx = (workArea.width / 2) - (w->serverWidth / 2) -
+ w->serverBorderWidth - (x - workArea.x);
+ dy = (workArea.height / 2) - (w->serverHeight / 2) -
+ w->serverBorderWidth - (y - workArea.y);
break;
case PutLeft:
/* center of the left edge */
- dx = -(x - workArea.x) + w->input.left + putGetPadLeft (s);
- dy = (workArea.height / 2) - (w->serverHeight / 2) - (y - workArea.y);
+ dx = -(x - workArea.x) + LEFT_BORDER (w) + putGetPadLeft (s);
+ dy = (workArea.height / 2) - HALF_HEIGHT (w) - (y - workArea.y);
break;
case PutTopLeft:
/* top left corner */
- dx = -(x - workArea.x) + w->input.left + putGetPadLeft (s);
- dy = -(y - workArea.y) + w->input.top + putGetPadTop (s);
+ dx = -(x - workArea.x) + LEFT_BORDER (w) + putGetPadLeft (s);
+ dy = -(y - workArea.y) + TOP_BORDER (w) + putGetPadTop (s);
break;
case PutTop:
/* center of top edge */
- dx = (workArea.width / 2) - (w->serverWidth / 2) - (x - workArea.x);
- dy = -(y - workArea.y) + w->input.top + putGetPadTop (s);
+ dx = (workArea.width / 2) - HALF_WIDTH (w) - (x - workArea.x);
+ dy = -(y - workArea.y) + TOP_BORDER (w) + putGetPadTop (s);
break;
case PutTopRight:
/* top right corner */
dx = workArea.width - w->serverWidth - (x - workArea.x) -
- w->input.right - putGetPadRight (s);
- dy = -(y - workArea.y) + w->input.top + putGetPadTop (s);
+ RIGHT_BORDER (w) - putGetPadRight (s);
+ dy = -(y - workArea.y) + TOP_BORDER (w) + putGetPadTop (s);
break;
case PutRight:
/* center of right edge */
dx = workArea.width - w->serverWidth - (x - workArea.x) -
- w->input.right - putGetPadRight (s);
- dy = (workArea.height / 2) - (w->serverHeight / 2) - (y - workArea.y);
+ RIGHT_BORDER (w) - putGetPadRight (s);
+ dy = (workArea.height / 2) - HALF_HEIGHT (w) - (y - workArea.y);
break;
case PutBottomRight:
/* bottom right corner */
dx = workArea.width - w->serverWidth - (x - workArea.x) -
- w->input.right - putGetPadRight (s);
+ RIGHT_BORDER (w) - putGetPadRight (s);
dy = workArea.height - w->serverHeight - (y - workArea.y) -
- w->input.bottom - putGetPadBottom (s);
+ BOTTOM_BORDER (w) - putGetPadBottom (s);
break;
case PutBottom:
/* center of bottom edge */
- dx = (workArea.width / 2) - (w->serverWidth / 2) - (x - workArea.x);
+ dx = (workArea.width / 2) - HALF_WIDTH (w) - (x - workArea.x);
dy = workArea.height - w->serverHeight - (y - workArea.y) -
- w->input.bottom - putGetPadBottom (s);
+ BOTTOM_BORDER (w) - putGetPadBottom (s);
break;
case PutBottomLeft:
/* bottom left corner */
- dx = -(x - workArea.x) + w->input.left + putGetPadLeft (s);
+ dx = -(x - workArea.x) + LEFT_BORDER (w) + putGetPadLeft (s);
dy = workArea.height - w->serverHeight - (y - workArea.y) -
- w->input.bottom - putGetPadBottom (s);
+ BOTTOM_BORDER (w) - putGetPadBottom (s);
break;
case PutRestore:
/* back to last position */
@@ -538,16 +548,16 @@ putGetDistance (CompWindow *w,
if (posX < 0)
/* account for a specified negative position,
like geometry without (-0) */
- dx = posX + s->width - w->serverWidth - x - w->input.right;
+ dx = posX + s->width - w->serverWidth - x - RIGHT_BORDER (w);
else
- dx = posX - x + w->input.left;
+ dx = posX - x + LEFT_BORDER (w);
if (posY < 0)
/* account for a specified negative position,
like geometry without (-0) */
- dy = posY + s->height - w->height - y - w->input.bottom;
+ dy = posY + s->height - w->serverHeight - y - BOTTOM_BORDER (w);
else
- dy = posY - y + w->input.top;
+ dy = posY - y + TOP_BORDER (w);
break;
case PutRelative:
/* move window by offset */
@@ -572,35 +582,35 @@ putGetDistance (CompWindow *w,
if (putGetWindowCenter (s))
{
/* window center */
- dx = rx - (w->serverWidth / 2) - x;
- dy = ry - (w->serverHeight / 2) - y;
+ dx = rx - HALF_WIDTH (w) - x;
+ dy = ry - HALF_HEIGHT (w) - y;
}
else if (rx < s->workArea.width / 2 &&
ry < s->workArea.height / 2)
{
/* top left quad */
- dx = rx - x + w->input.left;
- dy = ry - y + w->input.top;
+ dx = rx - x + LEFT_BORDER (w);
+ dy = ry - y + TOP_BORDER (w);
}
else if (rx < s->workArea.width / 2 &&
ry >= s->workArea.height / 2)
{
/* bottom left quad */
- dx = rx - x + w->input.left;
- dy = ry - w->height - y - w->input.bottom;
+ dx = rx - x + LEFT_BORDER (w);
+ dy = ry - w->serverHeight - y - BOTTOM_BORDER (w);
}
else if (rx >= s->workArea.width / 2 &&
ry < s->workArea.height / 2)
{
/* top right quad */
- dx = rx - w->width - x - w->input.right;
- dy = ry - y + w->input.top;
+ dx = rx - w->serverWidth - x - RIGHT_BORDER (w);
+ dy = ry - y + TOP_BORDER (w);
}
else
{
/* bottom right quad */
- dx = rx - w->width - x - w->input.right;
- dy = ry - w->height - y - w->input.bottom;
+ dx = rx - w->serverWidth - x - RIGHT_BORDER (w);
+ dy = ry - w->serverHeight - y - BOTTOM_BORDER (w);
}
}
else
@@ -627,10 +637,10 @@ putGetDistance (CompWindow *w,
inDx = dxBefore = dx % s->width;
inDy = dyBefore = dy % s->height;
- extents.left = x + inDx - w->input.left;
- extents.top = y + inDy - w->input.top;
- extents.right = x + inDx + w->serverWidth + w->input.right;
- extents.bottom = y + inDy + w->serverHeight + w->input.bottom;
+ extents.left = x + inDx - LEFT_BORDER (w);
+ extents.top = y + inDy - TOP_BORDER (w);
+ extents.right = x + inDx + w->serverWidth + RIGHT_BORDER (w);
+ extents.bottom = y + inDy + w->serverHeight + BOTTOM_BORDER (w);
area.left = workArea.x + putGetPadLeft (s);
area.top = workArea.y + putGetPadTop (s);
--
cgit v0.8.2

View File

@ -0,0 +1,22 @@
configure.ac | 5 ++---
1 files changed, 2 insertions(+), 3 deletions(-)
diff --git a/configure.ac b/configure.ac
index 297a8cf..290e92b 100644
--- a/configure.ac
+++ b/configure.ac
@@ -171,11 +171,10 @@
if test x"$use_schemas" = x"yes"; then
fi
xsltdir=`$PKG_CONFIG --variable=xsltdir compiz-gconf`
AC_SUBST(xsltdir)
+else
+ AM_CONDITIONAL(GCONF_SCHEMAS_INSTALL, test "x$use_gconf" = "xyes")
fi
-AM_GCONF_SOURCE_2
-
-
AM_CONDITIONAL(USE_SCHEMAS, test "x$use_schemas" = "xyes")
if test "$use_schemas" = yes; then
AC_DEFINE(USE_SCHEMAS, 1, [Build gconf schemas])

View File

@ -0,0 +1,2 @@
DIST compiz-plugins-unsupported-0.8.4.tar.bz2 1152247 RMD160 349aad141ae02ab024b88ee61649478c364862a4 SHA1 8c322e06bd6d7f84f3b7cd9b28034333a3ad2793 SHA256 50b6aec773e72d5c0e2de801b83d323feb17d2399cc632a49d6641c888dd1006
EBUILD compiz-plugins-unsupported-0.8.4-r9999.ebuild 869 RMD160 728263ad82309c682dcc0bf346764b5bfa403c11 SHA1 006140e282292cea3e0590d57aedc777317757a4 SHA256 e5f0823eb5f8945cadca6eb3945d93221a53f4992d264a6e6ae40026b8e360ec

View File

@ -0,0 +1,35 @@
# Copyright 1999-2011 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
# $Header: /var/cvsroot/gentoo-x86/x11-plugins/compiz-plugins-unsupported/compiz-plugins-unsupported-0.8.4-r1.ebuild,v 1.3 2011/03/21 19:51:02 nirbheek Exp $
EAPI="2"
DESCRIPTION="Compiz Fusion Window Decorator Unsupported Plugins"
HOMEPAGE="http://www.compiz.org/"
SRC_URI="http://releases.compiz.org/${PV}/${P}.tar.bz2"
LICENSE="GPL-2"
SLOT="0"
KEYWORDS="~amd64 ~ppc ~ppc64 ~x86"
IUSE=""
RDEPEND="
>=gnome-base/librsvg-2.14.0:2
virtual/jpeg:0
>=x11-libs/compiz-bcop-${PV}
>=x11-plugins/compiz-plugins-main-${PV}
>=x11-wm/compiz-${PV}
"
DEPEND="${RDEPEND}
>=dev-util/intltool-0.35
>=dev-util/pkgconfig-0.19
>=sys-devel/gettext-0.15
x11-libs/cairo
"
RESTRICT="mirror"
src_install() {
emake DESTDIR="${D}" install || die "emake install failed"
}

View File

@ -0,0 +1,2 @@
DIST emerald-themes-0.5.2.tar.bz2 1563758 RMD160 e61676b946ba13eb05b0417aadac6ea1294e0254 SHA1 98a1c03592e883d15b3579f28b45cd7d8432ce94 SHA256 1c2c77a0fff352569a2f013e8b6c1fd99e2b6f9185c9a64d2cf2e918d9de4841
EBUILD emerald-themes-0.5.2-r9999.ebuild 551 RMD160 794351d8ebe7697b14f4f77a70e01062e78edc2d SHA1 52b60593193f4b25bdb481564f2b6f60a3107d64 SHA256 2620c5ceaf3d23dbc3592f220a32875174117eb998545770b83cb5d4a9bd19f2

View File

@ -0,0 +1,17 @@
# Copyright 1999-2007 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
# $Header: /var/cvsroot/gentoo-x86/x11-themes/emerald-themes/emerald-themes-0.5.2.ebuild,v 1.3 2007/10/24 18:39:26 hanno Exp $
DESCRIPTION="Emerald window decorator themes"
HOMEPAGE="http://compiz-fusion.org"
SRC_URI="http://releases.compiz-fusion.org/${PV}/${P}.tar.bz2"
LICENSE="GPL-2"
SLOT="0"
KEYWORDS="~amd64 ~ppc ~ppc64 ~x86"
IUSE=""
DEPEND="x11-wm/emerald"
src_install() {
emake DESTDIR="${D}" install || die "make install failed"
}

View File

@ -0,0 +1 @@
EBUILD compiz-fusion-0.8.6-r9999.ebuild 949 RMD160 4add77884ee9a1748380fea43a006e65673dce92 SHA1 010a6adc9efc137416183da723bb940787605cd9 SHA256 5c6efe9ec0ac7a25371bd2b7bc244a572749f5938bbfa2de37c718b5e5d7179b

View File

@ -0,0 +1,29 @@
# Copyright 1999-2010 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
# $Header: /var/cvsroot/gentoo-x86/x11-wm/compiz-fusion/compiz-fusion-0.8.6.ebuild,v 1.1 2010/04/03 06:13:26 jmbsvicetto Exp $
DESCRIPTION="Compiz Fusion (meta)"
HOMEPAGE="http://www.compiz.org/"
SRC_URI=""
LICENSE="GPL-2"
SLOT="0"
KEYWORDS="~amd64 ~ppc ~ppc64 ~x86"
IUSE="emerald gnome kde unsupported"
MY_PV=0.8.4
RDEPEND="
>=x11-wm/compiz-${PV}
>=x11-plugins/compiz-plugins-main-${PV}
>=x11-plugins/compiz-plugins-extra-${PV}
unsupported? ( >=x11-plugins/compiz-plugins-unsupported-${MY_PV} )
>=x11-apps/ccsm-${MY_PV}
emerald? ( >=x11-wm/emerald-${MY_PV} )
gnome? ( >=x11-libs/compizconfig-backend-gconf-${MY_PV} )
kde? ( >=x11-libs/compizconfig-backend-kconfig4-${MY_PV} )"
pkg_postinst() {
ewarn "If you want to try out simple-ccsm, you'll need to emerge it"
ewarn "If you want to use emerald, set the emerald use flag"
}

17
x11-wm/compiz/Manifest Normal file
View File

@ -0,0 +1,17 @@
AUX 0.3.6/compiz-start 1122 RMD160 6e2e0db666a9fd7648e894d9f778dcb1c59bb6c0 SHA1 f710dcfbd6274ff7bed3f264d284a4dcecb27254 SHA256 04a944e8e39ef1a6226b350027a5865bb56b45230aa59eae9574cd6c75529fa4
AUX compiz-0.6.2-CVE-2007-3920.patch 1019 RMD160 024316c8213df5c68ceb39c404da4227cdfbf21f SHA1 adf6c10f0fa3de040704cd208d09d93b402667b8 SHA256 63b7dd520b4659f8124e3122ffeb0577c07d90539211f8383037eef744c0e5ee
AUX compiz-0.7.8-framesvg.patch 3119 RMD160 315aeb6b97db26af1bc48a2fb66228b402a07823 SHA1 5706c35119691c7b466e4c3b6dc39dd5a463cddf SHA256 9d323dd2ff10848d3c2cac93b00b67cca878f77942443a96f16b82c649535a21
AUX compiz-0.8.2-gtk-gnome-missing-gconf-flags.patch 1118 RMD160 cc6920723b29f89da29c7ca5df89770cf70d94a8 SHA1 5b0e790e0a0cc304b2510de53dee7648e0ca67c1 SHA256 071a9a8032a21cd560cb68eb172b2557bb997cffc750ba8212c2fd88443d9519
AUX compiz-0.8.4-crash-on-opening-windows.patch 2018 RMD160 b663a4ee0c6e01f140f6883910f275fb9b8c9255 SHA1 3ce56bd0fc7dba1eb936b9b30f76a5c426c06f8b SHA256 49e7c74ea45a247b203167b9761b977e6faa37e63ccde552823cb6f2df87379c
AUX compiz-0.8.4-gtk+-2.20-build.patch 428 RMD160 b85b46cf463b1f3004378623ef353eb4d8e8885e SHA1 efdf24a2b035b1da7b959fb4e2c68bb504cf4666 SHA256 e53dab667b7cae6815f53bbabd8e45ecdc84bf2e0378ed1036825f0658d27c1b
AUX compiz-0.8.4-kde44.patch 5885 RMD160 6474717141c71f53770ffa4896444d0b653e7b41 SHA1 8aa8fa2430e5ce4696dc1fabac0eb714b5571d3a SHA256 e40e670ce80d6fd6bff933bd235e4f6ad0382d1b29b8e56a2648980824761366
AUX compiz-0.8.4-libpng14.patch 1079 RMD160 4aa191610f53742919332542ff6fb18923648ceb SHA1 c671db1d210a366b635da7288aeb35fae56e0eca SHA256 ff335ba40869d5ac11f3f59b0617092581d0032cb2124d0336cac5d962b95dc2
AUX compiz-0.8.4-place-plugin.patch 3674 RMD160 b99a356b19a2e1df4346ce5f8b49522d2c7df1a5 SHA1 3feed76f30616d61d2baab103191fe0d93289757 SHA256 1e6a8b945b20909cb492755fd7732252e506c2ba2136b5253cde5dc59d5375f0
AUX compiz-0.8.4-window-region-calculation.patch 1197 RMD160 6c58f5dc4d7c22c257e8489f7fee69c26d688da2 SHA1 b288a10f2fb783584188414102e314997ccf3cb5 SHA256 b9c64eba865445f4209f6073d1a96ddd110bb012ba9d2701501901d6c791ecfc
AUX compiz-0.8.6-gdk-display-deprecated.patch 3392 RMD160 4bb482661724774ec96a6a64351353182765603c SHA1 e37a393786d9051eb5c9a9e079bd01a723f86de5 SHA256 a8038d6a80abe7f44f433f6ab0dd0cf39945850564b5da33244b88a099b4efb8
AUX compiz-0.8.6-r2-fontcorruption.patch 676 RMD160 0e6da6560eed5ac90f9cbe2fb824a8f7124d5291 SHA1 6fc671dcf5dced7cb7ff9157c8d005d11ef8b913 SHA256 2c4c42a251c1583a8e7fe468c1868aa42b1318db5ee95189e23ae9be8061cd43
AUX compiz-manager 9835 RMD160 0c579ebd41c22b4f33edb2d2d5b1e41ac30720ac SHA1 ff39aa8abf43e42895aec6696c3659773f927fd2 SHA256 e387ff9f01b84c572f31643316ed2ce2eacd11a92488e745ebcfd659945c6f1d
AUX compiz-no-gconf.patch 630 RMD160 32b6990dff7baf7f3cb04f728ab04d1523f29c46 SHA1 ad1c0a38dcb83c4768031f0b87db4748b2c24b92 SHA256 87467fbe5d4e0d0bb8952f2d5b74d21046d92d49772543aeda137266e055aa67
AUX compiz.desktop 273 RMD160 704f0e631cd41d810af323b5fabbbf7eac5a943b SHA1 e244587cc28613ab92568846754e91bb193f0e85 SHA256 28a5459148c7733cdd82e3ecc1f584231d2619c7305b8bf71060db331bf081fb
DIST compiz-0.8.6.tar.bz2 1162334 RMD160 7a5476a21143e29ac2e35465c49e8a52b629a864 SHA1 8d5998cb18418283cbd367f126a65dde4062ad00 SHA256 c4df69b59b5660a37462de9ff0212af024ccf9c8038651bfda3557c955ab4f8c
EBUILD compiz-0.8.6-r9999.ebuild 4035 RMD160 794d59ba44892aca9d335e4c2d70184a8925b90a SHA1 1ab759f6767873cdee8bacddd483e59b9e8d1c8f SHA256 e5d7add1f1bff6a09baf3e68376dd9f59b5762b83241d439823cd0604db56dce

View File

@ -0,0 +1,168 @@
# Copyright 1999-2011 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
# $Header: /var/cvsroot/gentoo-x86/x11-wm/compiz/compiz-0.8.6-r3.ebuild,v 1.3 2011/11/11 22:54:51 ssuominen Exp $
EAPI="2"
inherit autotools eutils gnome2-utils
DESCRIPTION="OpenGL window and compositing manager"
HOMEPAGE="http://www.compiz.org/"
SRC_URI="http://releases.compiz.org/${PV}/${P}.tar.bz2"
LICENSE="GPL-2 LGPL-2.1 MIT"
SLOT="0"
KEYWORDS="~amd64 ~ppc ~ppc64 ~x86"
# dbus has been disabled because of bug 365121
IUSE="+cairo fuse gnome gconf gtk kde +svg" # dbus
COMMONDEPEND="
dev-libs/glib:2
dev-libs/libxml2:2
dev-libs/libxslt
media-libs/libpng
>=media-libs/mesa-6.5.1-r1
>=x11-base/xorg-server-1.1.1-r1
>=x11-libs/libX11-1.4
x11-libs/libxcb
x11-libs/libXcomposite
x11-libs/libXdamage
x11-libs/libXinerama
x11-libs/libXrandr
x11-libs/libICE
x11-libs/libSM
>=x11-libs/libXrender-0.8.4
>=x11-libs/startup-notification-0.7
cairo? (
x11-libs/cairo[X]
)
fuse? ( sys-fs/fuse )
gnome? (
>=gnome-base/gnome-control-center-2.16.1:2
gnome-base/gnome-desktop:2
gconf? ( gnome-base/gconf:2 )
)
gtk? (
>=x11-libs/gtk+-2.8.0:2
>=x11-libs/libwnck-2.18.3:1
x11-libs/pango
)
kde? (
|| (
>=kde-base/kwin-4.2.0
kde-base/kwin:live
)
)
svg? (
>=gnome-base/librsvg-2.14.0:2
>=x11-libs/cairo-1.0
)
"
# dbus? ( >=sys-apps/dbus-1.0 )
DEPEND="${COMMONDEPEND}
dev-util/pkgconfig
x11-proto/damageproto
x11-proto/xineramaproto
"
RDEPEND="${COMMONDEPEND}
x11-apps/mesa-progs
x11-apps/xvinfo
"
src_prepare() {
echo "gtk/gnome/compiz-wm.desktop.in" >> "${S}/po/POTFILES.skip"
echo "metadata/core.xml.in" >> "${S}/po/POTFILES.skip"
# fix cont corruption, bug #343861
epatch "${FILESDIR}"/${P}-r2-fontcorruption.patch
epatch "${FILESDIR}"/${P}-gdk-display-deprecated.patch
if ! use gnome || ! use gconf; then
epatch "${FILESDIR}"/${PN}-no-gconf.patch
fi
eautoreconf
}
src_configure() {
local myconf=
# We make gconf optional by itself, but only if gnome is also
# enabled, otherwise we simply disable it.
if use gnome; then
myconf="${myconf} $(use_enable gconf)"
else
myconf="${myconf} --disable-gconf"
fi
econf \
--disable-dependency-tracking \
--enable-fast-install \
--disable-static \
--disable-gnome-keybindings \
--with-default-plugins \
$(use_enable svg librsvg) \
$(use_enable cairo annotate) \
--disable-dbus \
--disable-dbus-glib \
$(use_enable fuse) \
$(use_enable gnome) \
$(use_enable gnome metacity) \
$(use_enable gtk) \
$(use_enable kde kde4) \
--disable-kde \
${myconf}
# $(use_enable dbus)
# $(use_enable dbus dbus-glib)
}
src_install() {
emake DESTDIR="${D}" install || die "emake install failed"
find "${D}" -name '*.la' -delete || die
# Install compiz-manager
dobin "${FILESDIR}/compiz-manager" || die "dobin failed"
# Add the full-path to lspci
sed -i "s#lspci#/usr/sbin/lspci#" "${D}/usr/bin/compiz-manager" || die "sed 1 failed"
# Fix the hardcoded lib paths
sed -i "s#/lib/#/$(get_libdir)/#g" "${D}/usr/bin/compiz-manager" || die "sed 2 failed"
# Create gentoo's config file
dodir /etc/xdg/compiz || die "dodir failed"
cat <<- EOF > "${D}/etc/xdg/compiz/compiz-manager"
COMPIZ_BIN_PATH="/usr/bin/"
PLUGIN_PATH="/usr/$(get_libdir)/compiz/"
LIBGL_NVIDIA="/usr/$(get_libdir)/opengl/xorg-x11/lib/libGL.so.1.2"
LIBGL_FGLRX="/usr/$(get_libdir)/opengl/xorg-x11/lib/libGL.so.1.2"
KWIN="$(type -p kwin)"
METACITY="$(type -p metacity)"
SKIP_CHECKS="yes"
EOF
dodoc AUTHORS ChangeLog NEWS README TODO || die "dodoc failed"
insinto "/usr/share/applications"
doins "${FILESDIR}/compiz.desktop" || die "Failed to install compiz.desktop"
}
pkg_preinst() {
use gnome && use gconf && gnome2_gconf_savelist
}
pkg_postinst() {
use gnome && use gconf && gnome2_gconf_install
ewarn "If you update to x11-wm/metacity-2.24 after you install ${P},"
ewarn "gtk-window-decorator will crash until you reinstall ${PN} again."
}
pkg_prerm() {
use gnome && gnome2_gconf_uninstall
}

View File

@ -0,0 +1,41 @@
# compiz-start script
#
# hacky autodetection of neccessary options for XGL/AIGLX/NVIDIA
#
# Hanno Boeck, http://www.hboeck.de/
#
# Licensed under the same conditions as compiz itself (MIT or GPL)
if [ ! -x /usr/bin/glxinfo ]; then
echo "glxinfo not found, please install mesa-progs."
exit -1
fi
GLX_WITH_DIRECT=`glxinfo|grep -c GLX_EXT_texture_from_pixmap`
GLX_WITH_INDIRECT=`LIBGL_ALWAYS_INDIRECT=1 glxinfo|grep -c GLX_EXT_texture_from_pixmap`
GLX_RENDER=`glxinfo|grep -c "OpenGL renderer string: Mesa GLX Indirect"`
COMPIZ_OPTIONS="--replace"
if [ $GLX_WITH_DIRECT -eq 3 ]; then
if [ $GLX_RENDER -eq 0 ]; then
echo NVIDA detected
export __GL_YIELD="NOTHING"
else
echo XGL detected
fi
elif [ $GLX_WITH_INDIRECT -eq 3 ]; then
echo AIGLX detected
export LIBGL_ALWAYS_INDIRECT=1
fi
if [ ! -z $KDE_FULL_SESSION ] && [ -x /usr/bin/kde-window-decorator ]; then
echo Using KDE decorator
kde-window-decorator --replace &
else
echo Using GTK decorator
gtk-window-decorator --replace &
fi
compiz $COMPIZ_OPTIONS gconf move resize minimize place decoration wobbly fade cube rotate scale switcher zoom dbus

View File

@ -0,0 +1,29 @@
Index: compiz-0.6.2/src/screen.c
===================================================================
--- compiz-0.6.2.orig/src/screen.c
+++ compiz-0.6.2/src/screen.c
@@ -2244,7 +2244,8 @@ findTopLevelWindowAtScreen (CompScreen *
for (w = s->windows; w; w = w->next)
if (w->frame == id)
return w;
- }
+ } else if (w->resName && strstr(w->resName,"screensaver"))
+ return w;
return NULL;
}
Index: compiz-0.6.2/src/paint.c
===================================================================
--- compiz-0.6.2.orig/src/paint.c
+++ compiz-0.6.2/src/paint.c
@@ -211,7 +211,9 @@ paintOutputRegion (CompScreen *sc
if (count == 0 &&
!REGION_NOT_EMPTY (tmpRegion) &&
screen->opt[COMP_SCREEN_OPTION_UNREDIRECT_FS].value.b &&
- XEqualRegion (w->region, &screen->region))
+ XEqualRegion (w->region, &screen->region) &&
+ !(w->resName && strcmp(w->resName, "gnome-screensaver") == 0)
+ )
{
unredirectWindow (w);
fullscreenWindow = w;

View File

@ -0,0 +1,77 @@
diff -p -up compiz-0.7.8/configure.ac.framesvg compiz-0.7.8/configure.ac
--- compiz-0.7.8/configure.ac.framesvg 2008-11-20 15:58:43.000000000 +0100
+++ compiz-0.7.8/configure.ac 2008-11-20 16:34:25.000000000 +0100
@@ -487,7 +487,7 @@ if test "x$use_kde4" = "xyes"; then
kde4libs=`kde4-config --install lib --expandvars 2>/dev/null`
kde4incs=`kde4-config --install include --expandvars 2>/dev/null`
- kde4_test_includes="kdecoration.h kcommondecoration.h kdecorationbridge.h plasma/panelsvg.h"
+ kde4_test_includes="kdecoration.h kcommondecoration.h kdecorationbridge.h plasma/framesvg.h"
dnl Check for KWin headers
AC_MSG_CHECKING([for KWin headers])
diff -p -up compiz-0.7.8/kde/window-decorator-kde4/switcher.cpp.framesvg compiz-0.7.8/kde/window-decorator-kde4/switcher.cpp
--- compiz-0.7.8/kde/window-decorator-kde4/switcher.cpp.framesvg 2008-08-08 13:20:31.000000000 +0200
+++ compiz-0.7.8/kde/window-decorator-kde4/switcher.cpp 2008-11-20 16:38:10.000000000 +0100
@@ -30,7 +30,7 @@
#include <fixx11h.h>
-#include <KDE/Plasma/PanelSvg>
+#include <KDE/Plasma/FrameSvg>
#include <KDE/Plasma/Theme>
#include <kwindowsystem.h>
@@ -46,9 +46,9 @@ mId (id)
QColor color;
color = Plasma::Theme::defaultTheme ()->color (Plasma::Theme::TextColor);
- mBackground = new Plasma::PanelSvg();
+ mBackground = new Plasma::FrameSvg();
mBackground->setImagePath ("dialogs/background");
- mBackground->setEnabledBorders(Plasma::PanelSvg::AllBorders);
+ mBackground->setEnabledBorders(Plasma::FrameSvg::AllBorders);
mBorder.left = mBackground->marginSize(Plasma::LeftMargin);
mBorder.right = mBackground->marginSize(Plasma::RightMargin);
@@ -131,8 +131,8 @@ KWD::Switcher::redrawPixmap ()
p.setCompositionMode (QPainter::CompositionMode_Source);
p.setRenderHint (QPainter::SmoothPixmapTransform);
- mBackground->resizePanel (QSizeF (contentWidth, contentHeight));
- mBackground->paintPanel (&p, QRect (0, 0, contentWidth,
+ mBackground->resizeFrame (QSizeF (contentWidth, contentHeight));
+ mBackground->paintFrame (&p, QRect (0, 0, contentWidth,
contentHeight));
mBackgroundPixmap = mPixmap.copy (mBorder.left, mBorder.top,
@@ -168,7 +168,7 @@ KWD::Switcher::update ()
p.setCompositionMode (QPainter::CompositionMode_Source);
- mBackground->paintPanel (&p, QRect (mBorder.left, mBorder.top +
+ mBackground->paintFrame (&p, QRect (mBorder.left, mBorder.top +
mGeometry.height () + 5, mGeometry.width (),
fm.height ()));
diff -p -up compiz-0.7.8/kde/window-decorator-kde4/switcher.h.framesvg compiz-0.7.8/kde/window-decorator-kde4/switcher.h
--- compiz-0.7.8/kde/window-decorator-kde4/switcher.h.framesvg 2008-08-08 13:20:31.000000000 +0200
+++ compiz-0.7.8/kde/window-decorator-kde4/switcher.h 2008-11-20 16:36:22.000000000 +0100
@@ -30,7 +30,7 @@
namespace Plasma
{
-class PanelSvg;
+class FrameSvg;
}
class QSpacerItem;
@@ -70,7 +70,7 @@ class Switcher
QRect mGeometry;
- Plasma::PanelSvg *mBackground;
+ Plasma::FrameSvg *mBackground;
QPixmap mPixmap;
QPixmap mBackgroundPixmap;

View File

@ -0,0 +1,33 @@
Author: Romain Perier <mrpouet@gentoo.org>
Subject: Missing gconf flags for gnome plugin, fix bug #282807
Date: 2009-08-29 12:25
---
gtk/gnome/Makefile.am | 7 ++++---
1 files changed, 4 insertions(+), 3 deletions(-)
diff --git a/gtk/gnome/Makefile.am b/gtk/gnome/Makefile.am
index 208318a..d0a7c54 100644
--- a/gtk/gnome/Makefile.am
+++ b/gtk/gnome/Makefile.am
@@ -2,7 +2,7 @@ moduledir = $(DESTDIR)$(windowsettingslibdir)/window-manager-settings
if USE_GNOME
libcompiz_la_LDFLAGS = -export-dynamic -avoid-version -rpath $(moduledir)
-libcompiz_la_LIBADD = @GNOME_WINDOW_SETTINGS_LIBS@
+libcompiz_la_LIBADD = @GNOME_WINDOW_SETTINGS_LIBS@ @GCONF_LIBS@
libcompiz_la_SOURCES = \
compiz-window-manager.c \
compiz-window-manager.h
@@ -76,8 +76,9 @@ if USE_GNOME_KEYBINDINGS
endif
endif
-INCLUDES = @GNOME_WINDOW_SETTINGS_CFLAGS@ \
- -DMETACITY_THEME_DIR=\""$(windowsettingsdatadir)/themes"\" \
+INCLUDES = @GNOME_WINDOW_SETTINGS_CFLAGS@ \
+ @GCONF_CFLAGS@ \
+ -DMETACITY_THEME_DIR=\""$(windowsettingsdatadir)/themes"\" \
-DLOCALEDIR="\"@datadir@/locale"\"
noinst_LTLIBRARIES = \

View File

@ -0,0 +1,82 @@
From 43c269a377e7b446fb1bb70732835b7395ce9524 Mon Sep 17 00:00:00 2001
From: Danny Baumann <dannybaumann@web.de>
Date: Mon, 25 Jan 2010 06:28:34 +0000
Subject: Fix crash on opening windows.
We must defer match evaluation until window initialization has finished
for all plugins as match evaluation means wrapped function calls.
---
diff --git a/plugins/obs.c b/plugins/obs.c
index a8d67f1..0f5b9d0 100644
--- a/plugins/obs.c
+++ b/plugins/obs.c
@@ -88,6 +88,8 @@ typedef struct _ObsWindow
{
int customFactor[MODIFIER_COUNT];
int matchFactor[MODIFIER_COUNT];
+
+ CompTimeoutHandle updateHandle;
} ObsWindow;
#define GET_OBS_DISPLAY(d) \
@@ -323,6 +325,22 @@ obsMatchPropertyChanged (CompDisplay *d,
WRAP (od, d, matchPropertyChanged, obsMatchPropertyChanged);
}
+static Bool
+obsUpdateWindow (void *closure)
+{
+ CompWindow *w = (CompWindow *) closure;
+ int i;
+
+ OBS_WINDOW (w);
+
+ for (i = 0; i < MODIFIER_COUNT; i++)
+ updatePaintModifier (w, i);
+
+ ow->updateHandle = 0;
+
+ return FALSE;
+}
+
static CompOption *
obsGetDisplayOptions (CompPlugin *p,
CompDisplay *display,
@@ -628,8 +646,8 @@ static CompBool
obsInitWindow (CompPlugin *p,
CompWindow *w)
{
- ObsWindow *ow;
- int i;
+ ObsWindow *ow;
+ int i;
OBS_SCREEN (w->screen);
@@ -643,10 +661,11 @@ obsInitWindow (CompPlugin *p,
ow->matchFactor[i] = 100;
}
- w->base.privates[os->windowPrivateIndex].ptr = ow;
+ /* defer initializing the factors from window matches as match evalution
+ means wrapped function calls */
+ ow->updateHandle = compAddTimeout (0, 0, obsUpdateWindow, w);
- for (i = 0; i < MODIFIER_COUNT; i++)
- updatePaintModifier (w, i);
+ w->base.privates[os->windowPrivateIndex].ptr = ow;
return TRUE;
}
@@ -657,6 +676,9 @@ obsFiniWindow (CompPlugin *p,
{
OBS_WINDOW (w);
+ if (ow->updateHandle)
+ compRemoveTimeout (ow->updateHandle);
+
free (ow);
}
--
cgit v0.8.2

View File

@ -0,0 +1,11 @@
--- compiz-0.8.4/gtk/window-decorator/gtk-window-decorator.c.old 2010-03-28 13:01:58.639940630 +0200
+++ compiz-0.8.4/gtk/window-decorator/gtk-window-decorator.c 2010-03-28 13:02:30.580354171 +0200
@@ -4233,7 +4233,7 @@
static void
hide_tooltip (void)
{
- if (GTK_WIDGET_VISIBLE (tip_window))
+ if (gtk_widget_get_visible (tip_window))
g_get_current_time (&tooltip_last_popdown);
gtk_widget_hide (tip_window);

View File

@ -0,0 +1,225 @@
From 04c6a44893a00088c63acd3ba327022f8aa551cc Mon Sep 17 00:00:00 2001
From: Dennis Kasprzyk <onestone@compiz-fusion.org>
Date: Fri, 12 Feb 2010 20:07:41 +0000
Subject: Kde 4.4 support.
---
diff --git a/kde/window-decorator-kde4/window.cpp b/kde/window-decorator-kde4/window.cpp
index a7cd2d4..99c502d 100644
--- a/kde/window-decorator-kde4/window.cpp
+++ b/kde/window-decorator-kde4/window.cpp
@@ -486,31 +486,39 @@ KWD::Window::showWindowMenu (const QRect &pos)
showWindowMenu (pos.bottomLeft ());
}
-void
-KWD::Window::processMousePressEvent (QMouseEvent *qme)
+KWD::Options::MouseCommand
+KWD::Window::buttonToCommand (Qt::MouseButtons button)
{
Options::MouseCommand com = Options::MouseNothing;
- bool active = isActive ();
+ bool active = isActive ();
if (!mSupportTakeFocus)
- active = TRUE;
+ active = true;
- switch (qme->button ()) {
+ switch (button) {
case Qt::LeftButton:
com = active ? Decorator::options ()->commandActiveTitlebar1 () :
- Decorator::options()->commandInactiveTitlebar1 ();
+ Decorator::options()->commandInactiveTitlebar1 ();
break;
case Qt::MidButton:
com = active ? Decorator::options ()->commandActiveTitlebar2 () :
- Decorator::options()->commandInactiveTitlebar2 ();
+ Decorator::options()->commandInactiveTitlebar2 ();
break;
case Qt::RightButton:
com = active ? Decorator::options ()->commandActiveTitlebar3 () :
- Decorator::options()->commandInactiveTitlebar3 ();
+ Decorator::options()->commandInactiveTitlebar3 ();
default:
break;
}
+ return com;
+}
+
+void
+KWD::Window::processMousePressEvent (QMouseEvent *qme)
+{
+ Options::MouseCommand com = buttonToCommand (qme->button ());
+
if (qme->button () == Qt::LeftButton)
{
// actions where it's not possible to get the matching release event
@@ -752,6 +760,96 @@ KWD::Window::compositingActive (void) const
return true;
}
+#if KDE_IS_VERSION(4,3,90)
+
+QRect
+KWD::Window::transparentRect () const
+{
+ return QRect ();
+}
+
+bool
+KWD::Window::isClientGroupActive ()
+{
+ return false;
+}
+
+QList<ClientGroupItem>
+KWD::Window::clientGroupItems () const
+{
+ QList<ClientGroupItem> items;
+
+ QIcon icon (mIcon);
+ icon.addPixmap (mMiniIcon);
+
+ items.append (ClientGroupItem (mName, icon));
+
+ return items;
+}
+
+long
+KWD::Window::itemId (int index)
+{
+ return (long) mClientId;
+}
+
+int
+KWD::Window::visibleClientGroupItem ()
+{
+ return 0;
+}
+
+void
+KWD::Window::setVisibleClientGroupItem (int index)
+{
+}
+
+void
+KWD::Window::moveItemInClientGroup (int index, int before)
+{
+}
+
+void
+KWD::Window::moveItemToClientGroup (long itemId, int before)
+{
+}
+
+void
+KWD::Window::removeFromClientGroup (int index, const QRect& newGeom)
+{
+}
+
+void
+KWD::Window::closeClientGroupItem (int index)
+{
+ closeWindow ();
+}
+
+void
+KWD::Window::closeAllInClientGroup ()
+{
+ closeWindow ();
+}
+
+void
+KWD::Window::displayClientMenu (int index, const QPoint& pos)
+{
+ showWindowMenu (pos);
+}
+
+KDecorationDefines::WindowOperation
+KWD::Window::buttonToWindowOperation(Qt::MouseButtons button)
+{
+ Options::MouseCommand com = buttonToCommand (button);
+
+ if (com == Options::MouseOperationsMenu)
+ return KDecorationDefines::OperationsOp;
+
+ return KDecorationDefines::NoOp;
+}
+
+#endif
+
void
KWD::Window::createDecoration (void)
{
@@ -1466,7 +1564,7 @@ KWD::Window::moveWindow (QMouseEvent *qme)
NET::Direction direction;
direction = positionToDirection (mDecor->mousePosition (qme->pos ()));
-
+
QPoint p (mGeometry.x () - mExtents.left, mGeometry.y () - mExtents.top);
p += qme->pos ();
@@ -1476,7 +1574,7 @@ KWD::Window::moveWindow (QMouseEvent *qme)
Decorator::rootInfo ()->restackRequest (mClientId, NET::FromApplication,
None, Above,
QX11Info::appTime());
-
+
Decorator::rootInfo ()->moveResizeRequest (mClientId,
p.x (),
p.y (),
diff --git a/kde/window-decorator-kde4/window.h b/kde/window-decorator-kde4/window.h
index 40a5076..c2b274b 100644
--- a/kde/window-decorator-kde4/window.h
+++ b/kde/window-decorator-kde4/window.h
@@ -26,6 +26,7 @@
#include <kdecorationbridge.h>
#include <KDE/KActionCollection>
+#include <kdeversion.h>
#include <qpixmap.h>
#include <qwidget.h>
@@ -111,7 +112,24 @@ class Window: public QObject, public KDecorationBridgeUnstable {
/* unstable API */
virtual bool compositingActive () const;
-
+#if KDE_IS_VERSION(4,3,90)
+ virtual QRect transparentRect () const;
+
+ virtual bool isClientGroupActive ();
+ virtual QList<ClientGroupItem> clientGroupItems () const;
+ virtual long itemId (int index);
+ virtual int visibleClientGroupItem ();
+ virtual void setVisibleClientGroupItem (int index);
+ virtual void moveItemInClientGroup (int index, int before);
+ virtual void moveItemToClientGroup (long itemId, int before);
+ virtual void removeFromClientGroup (int index, const QRect& newGeom);
+ virtual void closeClientGroupItem (int index);
+ virtual void closeAllInClientGroup ();
+ virtual void displayClientMenu (int index, const QPoint& pos);
+
+ virtual WindowOperation
+ buttonToWindowOperation(Qt::MouseButtons button);
+#endif
virtual bool eventFilter (QObject* o, QEvent* e);
void handleActiveChange (void);
@@ -191,8 +209,10 @@ class Window: public QObject, public KDecorationBridgeUnstable {
int rightOffset);
void updateProperty (void);
void getWindowProtocols (void);
+
+ Options::MouseCommand buttonToCommand (Qt::MouseButtons button);
void performMouseCommand (KWD::Options::MouseCommand command,
- QMouseEvent *qme);
+ QMouseEvent *qme);
NET::Direction positionToDirection (int pos);
Cursor positionToCursor (QPoint pos);
--
cgit v0.8.2

View File

@ -0,0 +1,30 @@
diff -uNr compiz-0.8.4.old/plugins/png.c compiz-0.8.4/plugins/png.c
--- compiz-0.8.4.old/plugins/png.c 2009-09-01 07:38:22.000000000 +0200
+++ compiz-0.8.4/plugins/png.c 2010-02-15 22:16:30.000000000 +0100
@@ -102,7 +102,7 @@
/* expand gray bit depth if needed */
if (color_type == PNG_COLOR_TYPE_GRAY && depth < 8)
- png_set_gray_1_2_4_to_8 (png);
+ png_set_expand_gray_1_2_4_to_8 (png);
/* transform transparency to alpha */
if (png_get_valid(png, info, PNG_INFO_tRNS))
@@ -167,7 +167,7 @@
Bool status;
sig_bytes = fread (png_sig, 1, PNG_SIG_SIZE, file);
- if (png_check_sig (png_sig, sig_bytes) == 0)
+ if (png_sig_cmp (png_sig, 0, sig_bytes) != 0)
return FALSE;
png = png_create_read_struct (PNG_LIBPNG_VER_STRING, NULL, NULL, NULL);
@@ -218,7 +218,7 @@
Bool status;
memcpy (png_sig, buffer, PNG_SIG_SIZE);
- if (png_check_sig (png_sig, PNG_SIG_SIZE) == 0)
+ if (png_sig_cmp (png_sig, 0, PNG_SIG_SIZE) != 0)
return FALSE;
png = png_create_read_struct (PNG_LIBPNG_VER_STRING, NULL, NULL, NULL);

View File

@ -0,0 +1,103 @@
From db88fb6f3f6c0fa3c81bc04a2a3468252d49f098 Mon Sep 17 00:00:00 2001
From: Danny Baumann <dannybaumann@web.de>
Date: Sun, 31 Jan 2010 12:36:42 +0000
Subject: Fix handling of windows that have a server border set.
Also handle windows that have a server border set properly in pointer
(placement mode)
---
diff --git a/plugins/place.c b/plugins/place.c
index d59de33..a54e60a 100644
--- a/plugins/place.c
+++ b/plugins/place.c
@@ -131,12 +131,15 @@ typedef enum {
/* helper macros to get the full dimensions of a window,
including decorations */
+#define BORDER_WIDTH(w) ((w)->input.left + (w)->input.right + \
+ 2 * (w)->serverBorderWidth)
+#define BORDER_HEIGHT(w) ((w)->input.top + (w)->input.bottom + \
+ 2 * (w)->serverBorderWidth)
+
#define WIN_FULL_X(w) ((w)->serverX - (w)->input.left)
#define WIN_FULL_Y(w) ((w)->serverY - (w)->input.top)
-#define WIN_FULL_W(w) ((w)->serverWidth + 2 * (w)->serverBorderWidth + \
- (w)->input.left + (w)->input.right)
-#define WIN_FULL_H(w) ((w)->serverHeight + 2 * (w)->serverBorderWidth + \
- (w)->input.top + (w)->input.bottom)
+#define WIN_FULL_W(w) ((w)->serverWidth + BORDER_WIDTH (w))
+#define WIN_FULL_H(w) ((w)->serverHeight + BORDER_HEIGHT (w))
static Bool
placeMatchXYValue (CompWindow *w,
@@ -1216,8 +1219,8 @@ placeConstrainToWorkarea (CompWindow *w,
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;
+ extents.right = extents.left + WIN_FULL_W (w);
+ extents.bottom = extents.top + WIN_FULL_H (w);
delta = workArea->x + workArea->width - extents.right;
if (delta < 0)
@@ -1419,9 +1422,9 @@ placeDoValidateWindowResizeRequest (CompWindow *w,
}
left = x - w->input.left;
- right = x + xwc->width + w->input.right;
+ right = left + xwc->width + BORDER_WIDTH (w);
top = y - w->input.top;
- bottom = y + xwc->height + w->input.bottom;
+ bottom = top + xwc->height + BORDER_HEIGHT (w);
output = outputDeviceForGeometry (s,
xwc->x, xwc->y,
@@ -1484,9 +1487,9 @@ placeDoValidateWindowResizeRequest (CompWindow *w,
/* bring left/right/top/bottom to actual window coordinates */
left += w->input.left;
- right -= w->input.right;
+ right -= w->input.right + 2 * w->serverBorderWidth;
top += w->input.top;
- bottom -= w->input.bottom;
+ bottom -= w->input.bottom + 2 * w->serverBorderWidth;
if ((right - left) != xwc->width)
{
@@ -1886,17 +1889,13 @@ placeDoHandleScreenSizeChange (CompScreen *s,
{
mask |= CWX | CWWidth;
xwc.x = vpX * s->width + workArea.x + w->input.left;
- xwc.width = workArea.width -
- (2 * w->serverBorderWidth +
- w->input.left + w->input.right);
+ xwc.width = workArea.width - BORDER_WIDTH (w);
}
if (w->state & CompWindowStateMaximizedVertMask)
{
mask |= CWY | CWHeight;
xwc.y = vpY * s->height + workArea.y + w->input.top;
- xwc.height = workArea.height -
- (2 * w->serverBorderWidth +
- w->input.top + w->input.bottom);
+ xwc.height = workArea.height - BORDER_HEIGHT (w);
}
}
}
--- a/plugins/place.c
+++ b/plugins/place.c
@@ -847,8 +847,8 @@ placePointer (CompWindow *w,
if (placeGetPointerPosition (w->screen, &xPointer, &yPointer))
{
- *x = xPointer - (w->serverWidth / 2);
- *y = yPointer - (w->serverHeight / 2);
+ *x = xPointer - (w->serverWidth / 2) - w->serverBorderWidth;
+ *y = yPointer - (w->serverHeight / 2) - w->serverBorderWidth;
}
else
{
--
cgit v0.8.2

View File

@ -0,0 +1,36 @@
From 79a275b240a98d9f64c8dd1e799e5d469ec8f204 Mon Sep 17 00:00:00 2001
From: Danny Baumann <dannybaumann@web.de>
Date: Wed, 20 Jan 2010 14:05:10 +0000
Subject: Fix window region calculation for windows that have border width set.
---
diff --git a/src/window.c b/src/window.c
index 90922d1..e7bb987 100644
--- a/src/window.c
+++ b/src/window.c
@@ -1701,8 +1701,8 @@ updateWindowRegion (CompWindow *w)
{
r.x = -w->attrib.border_width;
r.y = -w->attrib.border_width;
- r.width = w->width;
- r.height = w->height;
+ r.width = w->attrib.width + w->attrib.border_width;
+ r.height = w->attrib.height + w->attrib.border_width;
rects = &r;
n = 1;
@@ -1719,8 +1719,10 @@ updateWindowRegion (CompWindow *w)
{
rect.extents.x1 = rects[i].x + w->attrib.border_width;
rect.extents.y1 = rects[i].y + w->attrib.border_width;
- rect.extents.x2 = rect.extents.x1 + rects[i].width;
- rect.extents.y2 = rect.extents.y1 + rects[i].height;
+ rect.extents.x2 = rect.extents.x1 + rects[i].width +
+ w->attrib.border_width;
+ rect.extents.y2 = rect.extents.y1 + rects[i].height +
+ w->attrib.border_width;
if (rect.extents.x1 < 0)
rect.extents.x1 = 0;
--
cgit v0.8.2

View File

@ -0,0 +1,101 @@
diff --git a/gtk/window-decorator/gtk-window-decorator.c b/gtk/window-decorator/gtk-window-decorator.c
index 18b907e..566da0f 100644
--- a/gtk/window-decorator/gtk-window-decorator.c
+++ b/gtk/window-decorator/gtk-window-decorator.c
@@ -31,6 +31,11 @@
#include <X11/extensions/Xrender.h>
#include <X11/Xregion.h>
+/* This must be included before the GDK_DISABLE_DEPRECATED definition
+ * in order to avoid QA issues on amd64 arch (see Gentoo bug 344293).
+ */
+#include <gdk/gdkgc.h>
+
#ifndef GDK_DISABLE_DEPRECATED
#define GDK_DISABLE_DEPRECATED
#endif
@@ -2659,6 +2664,7 @@ get_window_prop (Window xwindow,
Atom atom,
Window *val)
{
+ Display *dpy = GDK_DISPLAY_XDISPLAY (gdk_display_get_default ());
Atom type;
int format;
gulong nitems;
@@ -2671,7 +2677,7 @@ get_window_prop (Window xwindow,
gdk_error_trap_push ();
type = None;
- result = XGetWindowProperty (gdk_display,
+ result = XGetWindowProperty (dpy,
xwindow,
atom,
0, G_MAXLONG,
@@ -4966,7 +4972,7 @@ force_quit_dialog_realize (GtkWidget *dialog,
WnckWindow *win = data;
gdk_error_trap_push ();
- XSetTransientForHint (gdk_display,
+ XSetTransientForHint (GDK_DISPLAY_XDISPLAY (gdk_display_get_default ()),
GDK_WINDOW_XID (dialog->window),
wnck_window_get_xid (win));
gdk_display_sync (gdk_display_get_default ());
@@ -4976,17 +4982,18 @@ force_quit_dialog_realize (GtkWidget *dialog,
static char *
get_client_machine (Window xwindow)
{
- Atom atom, type;
- gulong nitems, bytes_after;
- guchar *str = NULL;
- int format, result;
- char *retval;
+ Display *xdisplay = GDK_DISPLAY_XDISPLAY (gdk_display_get_default ());
+ Atom atom, type;
+ gulong nitems, bytes_after;
+ guchar *str = NULL;
+ int format, result;
+ char *retval;
- atom = XInternAtom (gdk_display, "WM_CLIENT_MACHINE", FALSE);
+ atom = XInternAtom (xdisplay, "WM_CLIENT_MACHINE", FALSE);
gdk_error_trap_push ();
- result = XGetWindowProperty (gdk_display,
+ result = XGetWindowProperty (xdisplay,
xwindow, atom,
0, G_MAXLONG,
FALSE, XA_STRING, &type, &format, &nitems,
@@ -5013,6 +5020,8 @@ get_client_machine (Window xwindow)
static void
kill_window (WnckWindow *win)
{
+ GdkDisplay *gdk_display = gdk_display_get_default ();
+ Display *xdisplay = GDK_DISPLAY_XDISPLAY (gdk_display);
WnckApplication *app;
app = wnck_window_get_application (win);
@@ -5038,8 +5047,8 @@ kill_window (WnckWindow *win)
}
gdk_error_trap_push ();
- XKillClient (gdk_display, wnck_window_get_xid (win));
- gdk_display_sync (gdk_display_get_default ());
+ XKillClient (xdisplay, wnck_window_get_xid (win));
+ gdk_display_sync (gdk_display);
gdk_error_trap_pop ();
}
@@ -5623,9 +5632,9 @@ static int
update_shadow (void)
{
decor_shadow_options_t opt;
- Display *xdisplay = gdk_display;
- GdkDisplay *display = gdk_display_get_default ();
- GdkScreen *screen = gdk_display_get_default_screen (display);
+ GdkDisplay *display = gdk_display_get_default ();
+ Display *xdisplay = GDK_DISPLAY_XDISPLAY (display);
+ GdkScreen *screen = gdk_display_get_default_screen (display);
opt.shadow_radius = shadow_radius;
opt.shadow_opacity = shadow_opacity;

View File

@ -0,0 +1,23 @@
From 0f95c41a0aa175ddf7947ba18b01f746c95594a9 Mon Sep 17 00:00:00 2001
From: Paul Donohue <compiz@paulsd.com>
Date: Sun, 17 Oct 2010 16:24:14 +0000
Subject: Fix pixmap size calculation, server drawn borders are also included in
the pixmap.
---
diff --git a/src/window.c b/src/window.c
index a925288..6674643 100644
--- a/src/window.c
+++ b/src/window.c
@@ -1446,8 +1446,8 @@ bindWindow (CompWindow *w)
}
w->pixmap = XCompositeNameWindowPixmap (dpy, w->id);
- w->width = attr.width;
- w->height = attr.height;
+ w->width = attr.width + attr.border_width * 2;
+ w->height = attr.height + attr.border_width * 2;
XUngrabServer (dpy);
}
--
cgit v0.8.3.1-30-gff3a

View File

@ -0,0 +1,384 @@
#!/bin/sh
# Compiz Manager wrapper script
#
# Copyright (c) 2007 Kristian Lyngstøl <kristian@bohemians.org>
#
# 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) <trevi55@gmail.com>, 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

View File

@ -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])

View File

@ -0,0 +1,12 @@
[Desktop Entry]
Type=Application
Encoding=UTF-8
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

4
x11-wm/emerald/Manifest Normal file
View File

@ -0,0 +1,4 @@
AUX emerald-0.8.4-gtk+-2.20-build.patch 1194 RMD160 f87d90db0341b77937b1c32521752bf0420974f8 SHA1 849f7aadb60dc702260e9900330cd5bc2a5a3242 SHA256 c196b2720ffa2996992e02b62d02f67c0f7f9dd7301fc6ceb26a1b1c81d5bcec
AUX emerald-0.8.4-pkgconfig-pollution.patch 353 RMD160 bf3505f23e43b853524f0a12016a8b06762e7420 SHA1 7efec914dfe6b8bfe53386ce5d96d58a95eab9c7 SHA256 bd4540b8ed94d5b7ba747a0285244564bae9d84cdba7a0fda3e2962d57e82224
DIST emerald-0.8.4.tar.bz2 525316 RMD160 de04228414419141c3df0e7f32a062cc6dfabcda SHA1 408bef6ba7822bd933448f16dc43bbd3d801d9c9 SHA256 7ed5009a739219c61c26176f738ba5264e93557f353fdf9fc480c73fe8b05e26
EBUILD emerald-0.8.4-r9999.ebuild 1322 RMD160 f718ced3d777ca6b3231b0edb4d1ff096fc645cc SHA1 16273fa1655d00c00913c89c4e3bf262821d4a9c SHA256 a20184ca2c985845718f2269da5ffd577ed8b18310dd885e19e201cdf6aadd79

View File

@ -0,0 +1,56 @@
# Copyright 1999-2011 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
# $Header: /var/cvsroot/gentoo-x86/x11-wm/emerald/emerald-0.8.4-r2.ebuild,v 1.4 2011/09/14 20:47:24 ssuominen Exp $
EAPI="2"
inherit eutils
THEMES_RELEASE=0.5.2
DESCRIPTION="Emerald Window Decorator"
HOMEPAGE="http://www.compiz.org/"
SRC_URI="http://releases.compiz.org/${PV}/${P}.tar.bz2"
LICENSE="GPL-2"
SLOT="0"
KEYWORDS="~amd64 ~ppc ~ppc64 ~x86"
IUSE=""
PDEPEND="~x11-themes/emerald-themes-${THEMES_RELEASE}"
RDEPEND="
>=x11-libs/gtk+-2.8.0:2
>=x11-libs/libwnck-2.14.2:1
>=x11-wm/compiz-${PV}
"
DEPEND="${RDEPEND}
>=dev-util/intltool-0.35
>=dev-util/pkgconfig-0.19
>=sys-devel/gettext-0.15
"
src_prepare() {
# Fix pkg-config file pollution wrt #380197
epatch "${FILESDIR}"/${P}-pkgconfig-pollution.patch
# Fixing GTK symbol - bug 308791.
epatch "${FILESDIR}/${P}-gtk+-2.20-build.patch"
# fix build with gtk+-2.22 - bug 341143
sed -i -e '/#define G[DT]K_DISABLE_DEPRECATED/s:^://:' \
include/emerald.h || die
}
src_configure() {
econf \
--disable-dependency-tracking \
--disable-static \
--enable-fast-install \
--disable-mime-update || die "econf failed"
}
src_install() {
emake DESTDIR="${D}" install || die "emake install failed"
find "${D}" -name '*.la' -delete || die
}

View File

@ -0,0 +1,33 @@
diff -urN emerald-0.8.4/libengine/themer.c emerald-0.8.4.new/libengine/themer.c
--- emerald-0.8.4/libengine/themer.c 2009-10-13 20:56:23.000000000 -0400
+++ emerald-0.8.4.new/libengine/themer.c 2010-03-10 01:20:03.046827674 -0500
@@ -461,7 +461,7 @@
}
gdouble get_float(SettingItem * item)
{
- if(!strcmp(GTK_OBJECT_TYPE_NAME(item->widget),"GtkSpinButton")) {
+ if(!strcmp(G_OBJECT_TYPE_NAME(item->widget),"GtkSpinButton")) {
return gtk_spin_button_get_value((GtkSpinButton *)item->widget);
}
else {
@@ -647,7 +647,7 @@
}
void set_float(SettingItem * item, gdouble f)
{
- if(!strcmp(GTK_OBJECT_TYPE_NAME(item->widget),"GtkSpinButton")) {
+ if(!strcmp(G_OBJECT_TYPE_NAME(item->widget),"GtkSpinButton")) {
gtk_spin_button_set_value((GtkSpinButton *)item->widget, f);
}
else {
--- emerald-0.8.4/src/main.c.old 2010-03-29 19:49:30.420710030 -0700
+++ emerald-0.8.4/src/main.c 2010-03-29 19:52:33.654024944 -0700
@@ -3757,7 +3757,7 @@
static void hide_tooltip(void)
{
- if (GTK_WIDGET_VISIBLE(tip_window))
+ if (gtk_widget_get_visible(tip_window))
g_get_current_time(&tooltip_last_popdown);
gtk_widget_hide(tip_window);

View File

@ -0,0 +1,12 @@
--- libengine/emeraldengine.pc.in
+++ libengine/emeraldengine.pc.in
@@ -7,6 +7,7 @@
Description: Library for Emerald Engines
Version: @VERSION@
-Requires: @EMERALD_REQUIRES@
-Libs: @EMERALD_LIBS@
+Requires.private: @EMERALD_REQUIRES@
+Libs: -L${libdir} -lemeraldengine
+Libs.private: @EMERALD_LIBS@
Cflags: @EMERALD_CFLAGS@ -I${includedir}/emerald