- rebuilt for new kde api

- drop kde4_decorator_build patch
- add kde44-api patch
This commit is contained in:
Leigh Scott 2010-02-08 17:32:44 +00:00
parent 7fc41d0f6f
commit c25a991158
3 changed files with 213 additions and 36 deletions

View File

@ -13,7 +13,7 @@ URL: http://www.go-compiz.org
License: GPLv2+ and LGPLv2+ and MIT
Group: User Interface/Desktops
Version: 0.8.4
Release: 3%{?dist}
Release: 4%{?dist}
Summary: OpenGL window and compositing manager
BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n)
@ -60,7 +60,7 @@ Patch107: compiz-0.8.4-wall.patch
Patch127: unknown-key.patch
Patch128: kde4_decorator_build.patch
Patch128: kde44-api.patch
%description
Compiz is one of the first OpenGL-accelerated compositing window
@ -128,7 +128,8 @@ and other kde integration related stuff.
#%patch110 -p1 -b .scale-key
%patch127 -p1 -b .unknown-key
%patch128 -p1 -b .kde4_decorator_build
# http://bugs.opencompositing.org/show_bug.cgi?id=1249
%patch128 -p1 -b .kde44-api
%build
rm -rf $RPM_BUILD_ROOT
@ -307,6 +308,11 @@ rm -rf $RPM_BUILD_ROOT
%changelog
* Sun Feb 07 2010 Leigh Scott <leigh123linux@googlemail.com> - 0.8.4-4
- rebuilt for new kde api
- drop kde4_decorator_build patch
- add kde44-api patch
* Mon Jan 18 2010 Matthias Clasen <mclasen@redhat.com> - 0.8.4-3
- Rebuild against new gnome-desktop

204
kde44-api.patch Normal file
View File

@ -0,0 +1,204 @@
diff --git a/kde/window-decorator-kde4/window.cpp b/kde/window-decorator-kde4/window.cpp
index a7cd2d4..d7ab93d 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,92 @@ KWD::Window::compositingActive (void) const
return true;
}
+QRect
+KWD::Window::transparentRect () const
+{
+ return QRect ();
+}
+
+bool
+KWD::Window::isClientGroupActive ()
+{
+ return true;
+}
+
+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;
+}
+
void
KWD::Window::createDecoration (void)
{
@@ -1466,7 +1560,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 +1570,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..e230a83 100644
--- a/kde/window-decorator-kde4/window.h
+++ b/kde/window-decorator-kde4/window.h
@@ -111,7 +111,23 @@ class Window: public QObject, public KDecorationBridgeUnstable {
/* unstable API */
virtual bool compositingActive () const;
-
+ 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);
+
virtual bool eventFilter (QObject* o, QEvent* e);
void handleActiveChange (void);
@@ -191,8 +207,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);

View File

@ -1,33 +0,0 @@
From: Danny Baumann <dannybaumann@web.de>
Date: Wed, 9 Dec 2009 15:33:14 +0000 (+0100)
Subject: Don't pull in unstable API, it's not needed any longer.
X-Git-Url: http://gitweb.compiz.org/?p=compiz%2Fcore;a=commitdiff_plain;h=9cb2dffa18f711a8515e65612721900ba5cd22e3
Don't pull in unstable API, it's not needed any longer.
---
diff --git a/kde/window-decorator-kde4/window.h b/kde/window-decorator-kde4/window.h
index 40a5076..4422a15 100644
--- a/kde/window-decorator-kde4/window.h
+++ b/kde/window-decorator-kde4/window.h
@@ -50,7 +50,7 @@ namespace KWin
namespace KWD
{
-class Window: public QObject, public KDecorationBridgeUnstable {
+class Window: public QObject, public KDecorationBridge {
Q_OBJECT public:
enum Type
@@ -108,10 +108,8 @@ class Window: public QObject, public KDecorationBridgeUnstable {
virtual QWidget *initialParentWidget (void) const;
virtual Qt::WFlags initialWFlags (void) const;
virtual void grabXServer (bool grab);
+ virtual bool compositingActive() const;
- /* unstable API */
- virtual bool compositingActive () const;
-
virtual bool eventFilter (QObject* o, QEvent* e);
void handleActiveChange (void);