summaryrefslogtreecommitdiff
path: root/x11-wm
diff options
context:
space:
mode:
authorHanno Böck <hanno@gentoo.org>2010-02-20 19:05:23 +0000
committerHanno Böck <hanno@gentoo.org>2010-02-20 19:05:23 +0000
commitc55ae02b3bff86f8f52fc0de360af11cf4236dac (patch)
tree99b076a65f38d7e88e2c7d642ffe4ec1763625ff /x11-wm
parentFixed a bug: resources were not installed (diff)
downloadgentoo-2-c55ae02b3bff86f8f52fc0de360af11cf4236dac.tar.gz
gentoo-2-c55ae02b3bff86f8f52fc0de360af11cf4236dac.tar.bz2
gentoo-2-c55ae02b3bff86f8f52fc0de360af11cf4236dac.zip
compiz: support kde 4.4 and libpng 1.4
(Portage version: 2.1.7.17/cvs/Linux x86_64)
Diffstat (limited to 'x11-wm')
-rw-r--r--x11-wm/compiz/ChangeLog6
-rw-r--r--x11-wm/compiz/compiz-0.8.4-r2.ebuild5
-rw-r--r--x11-wm/compiz/files/compiz-0.8.4-kde44.patch225
-rw-r--r--x11-wm/compiz/files/compiz-0.8.4-libpng14.patch30
4 files changed, 264 insertions, 2 deletions
diff --git a/x11-wm/compiz/ChangeLog b/x11-wm/compiz/ChangeLog
index a3a1ba27c58d..5d2d1acd8d0c 100644
--- a/x11-wm/compiz/ChangeLog
+++ b/x11-wm/compiz/ChangeLog
@@ -1,6 +1,10 @@
# ChangeLog for x11-wm/compiz
# Copyright 1999-2010 Gentoo Foundation; Distributed under the GPL v2
-# $Header: /var/cvsroot/gentoo-x86/x11-wm/compiz/ChangeLog,v 1.51 2010/02/02 12:59:36 mrpouet Exp $
+# $Header: /var/cvsroot/gentoo-x86/x11-wm/compiz/ChangeLog,v 1.52 2010/02/20 19:05:22 hanno Exp $
+
+ 20 Feb 2010; Hanno Boeck <hanno@gentoo.org> compiz-0.8.4-r2.ebuild,
+ +files/compiz-0.8.4-kde44.patch, +files/compiz-0.8.4-libpng14.patch:
+ Compilation fixes for KDE 4.4 and libpng 1.4.
*compiz-0.8.4-r2 (02 Feb 2010)
diff --git a/x11-wm/compiz/compiz-0.8.4-r2.ebuild b/x11-wm/compiz/compiz-0.8.4-r2.ebuild
index b6f346fc80d8..296b6f68deb0 100644
--- a/x11-wm/compiz/compiz-0.8.4-r2.ebuild
+++ b/x11-wm/compiz/compiz-0.8.4-r2.ebuild
@@ -1,6 +1,6 @@
# Copyright 1999-2010 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
-# $Header: /var/cvsroot/gentoo-x86/x11-wm/compiz/compiz-0.8.4-r2.ebuild,v 1.1 2010/02/02 12:59:36 mrpouet Exp $
+# $Header: /var/cvsroot/gentoo-x86/x11-wm/compiz/compiz-0.8.4-r2.ebuild,v 1.2 2010/02/20 19:05:22 hanno Exp $
EAPI="2"
@@ -81,6 +81,9 @@ src_prepare() {
epatch "${FILESDIR}"/${P}-place-plugin.patch
epatch "${FILESDIR}"/${P}-window-region-calculation.patch
+ epatch "${FILESDIR}/${P}-libpng14.patch"
+ epatch "${FILESDIR}/${P}-kde44.patch"
+
if ! use gnome; then
epatch "${FILESDIR}"/${PN}-no-gconf.patch
fi
diff --git a/x11-wm/compiz/files/compiz-0.8.4-kde44.patch b/x11-wm/compiz/files/compiz-0.8.4-kde44.patch
new file mode 100644
index 000000000000..bc466035ab9e
--- /dev/null
+++ b/x11-wm/compiz/files/compiz-0.8.4-kde44.patch
@@ -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
diff --git a/x11-wm/compiz/files/compiz-0.8.4-libpng14.patch b/x11-wm/compiz/files/compiz-0.8.4-libpng14.patch
new file mode 100644
index 000000000000..fb9a89782303
--- /dev/null
+++ b/x11-wm/compiz/files/compiz-0.8.4-libpng14.patch
@@ -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);