diff options
author | Hanno Böck <hanno@gentoo.org> | 2010-02-20 19:05:23 +0000 |
---|---|---|
committer | Hanno Böck <hanno@gentoo.org> | 2010-02-20 19:05:23 +0000 |
commit | c55ae02b3bff86f8f52fc0de360af11cf4236dac (patch) | |
tree | 99b076a65f38d7e88e2c7d642ffe4ec1763625ff /x11-wm | |
parent | Fixed a bug: resources were not installed (diff) | |
download | gentoo-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/ChangeLog | 6 | ||||
-rw-r--r-- | x11-wm/compiz/compiz-0.8.4-r2.ebuild | 5 | ||||
-rw-r--r-- | x11-wm/compiz/files/compiz-0.8.4-kde44.patch | 225 | ||||
-rw-r--r-- | x11-wm/compiz/files/compiz-0.8.4-libpng14.patch | 30 |
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); |