summarylogtreecommitdiffstats
diff options
context:
space:
mode:
authorCharles Bos2015-06-15 10:59:46 +0100
committerCharles Bos2015-06-15 10:59:46 +0100
commit0d77757353f474347134341faccac0db8062a285 (patch)
treefde07e541537eb3d344f19812a05dac2e0c3e3a5
parenta716d0e8ede8a5a9bd946a245eb3b4f74cdc6f96 (diff)
downloadaur-0d77757353f474347134341faccac0db8062a285.tar.gz
add upstream fix for getting correct gtk frame extents. also freeze on r3953 as next update will almost certainly require intervention
-rw-r--r--.SRCINFO8
-rw-r--r--PKGBUILD13
-rw-r--r--client-frame-api.patch194
3 files changed, 207 insertions, 8 deletions
diff --git a/.SRCINFO b/.SRCINFO
index e459864e872f..7d0ef204a872 100644
--- a/.SRCINFO
+++ b/.SRCINFO
@@ -1,9 +1,7 @@
-# Generated by makepkg 4.2.1
-# Thu May 14 10:47:18 UTC 2015
pkgbase = compiz-bzr
pkgdesc = Composite manager for Aiglx and Xgl, with plugins and CCSM (development version)
pkgver = 3953
- pkgrel = 1
+ pkgrel = 2
url = https://launchpad.net/compiz
install = compiz-bzr.install
arch = i686
@@ -39,14 +37,16 @@ pkgbase = compiz-bzr
conflicts = compiz-core
conflicts = compiz
replaces = compiz-core-bzr
- source = compiz::bzr+http://bazaar.launchpad.net/~compiz-team/compiz/0.9.12/
+ source = compiz::bzr+http://bazaar.launchpad.net/~compiz-team/compiz/0.9.12/#revision=3953
source = set-gwd-default.patch
source = focus-prevention-disable.patch
source = metacity-3_16.patch
+ source = client-frame-api.patch
sha256sums = SKIP
sha256sums = 3aa6cb70f357b3d34d51735f4b5bcb0479086d7c7336de4bd8157569d6c52c08
sha256sums = f4897590b0f677ba34767a29822f8f922a750daf66e8adf47be89f7c2550cf4b
sha256sums = 97d4f62ec373ec80a8eff151a497005912050898be447b204846ce90c368fa61
+ sha256sums = 4cb451857a2e6deef15dd04e68ca8bd1d898344b6a175fa1a9f2fb0c11b119d7
pkgname = compiz-bzr
diff --git a/PKGBUILD b/PKGBUILD
index 40e99c29e223..62bcc6705efb 100644
--- a/PKGBUILD
+++ b/PKGBUILD
@@ -4,7 +4,7 @@
pkgname=compiz-bzr
pkgver=3953
-pkgrel=1
+pkgrel=2
_bzrname=compiz
_bzrbranch=0.9.12
pkgdesc="Composite manager for Aiglx and Xgl, with plugins and CCSM (development version)"
@@ -19,14 +19,16 @@ optdepends=(
conflicts=('compiz-core' 'compiz')
provides=("compiz=$_bzrbranch")
replaces=('compiz-core-bzr')
-source=("$_bzrname::bzr+http://bazaar.launchpad.net/~compiz-team/$_bzrname/$_bzrbranch/"
+source=("$_bzrname::bzr+http://bazaar.launchpad.net/~compiz-team/$_bzrname/$_bzrbranch/#revision=3953"
"set-gwd-default.patch"
"focus-prevention-disable.patch"
- "metacity-3_16.patch")
+ "metacity-3_16.patch"
+ "client-frame-api.patch")
sha256sums=('SKIP'
'3aa6cb70f357b3d34d51735f4b5bcb0479086d7c7336de4bd8157569d6c52c08'
'f4897590b0f677ba34767a29822f8f922a750daf66e8adf47be89f7c2550cf4b'
- '97d4f62ec373ec80a8eff151a497005912050898be447b204846ce90c368fa61')
+ '97d4f62ec373ec80a8eff151a497005912050898be447b204846ce90c368fa61'
+ '4cb451857a2e6deef15dd04e68ca8bd1d898344b6a175fa1a9f2fb0c11b119d7')
install='compiz-bzr.install'
pkgver() {
@@ -51,6 +53,9 @@ prepare() {
# Metacity 3.16 compatibility
patch -Np1 -i "${srcdir}/metacity-3_16.patch"
+
+ # Fix incorrect extents for GTK+ tooltips, csd etc
+ patch -Np1 -i "${srcdir}/client-frame-api.patch"
}
build() {
diff --git a/client-frame-api.patch b/client-frame-api.patch
new file mode 100644
index 000000000000..6ebf2e20af59
--- /dev/null
+++ b/client-frame-api.patch
@@ -0,0 +1,194 @@
+# Diff from https://code.launchpad.net/~3v1n0/compiz/client-frame-api
+=== modified file 'include/core/abiversion.h'
+--- a/include/core/abiversion.h 2014-01-23 16:44:12 +0000
++++ b/include/core/abiversion.h 2015-02-17 15:00:18 +0000
+@@ -5,6 +5,6 @@
+ # error Conflicting definitions of CORE_ABIVERSION
+ #endif
+
+-#define CORE_ABIVERSION 20140123
++#define CORE_ABIVERSION 20150217
+
+ #endif // COMPIZ_ABIVERSION_H
+
+=== modified file 'include/core/atoms.h'
+--- a/include/core/atoms.h 2012-01-19 17:44:32 +0000
++++ b/include/core/atoms.h 2015-02-17 15:00:18 +0000
+@@ -110,6 +110,7 @@
+ extern Atom clientListStacking;
+
+ extern Atom frameExtents;
++ extern Atom frameGtkExtents;
+ extern Atom frameWindow;
+
+ extern Atom wmState;
+
+=== modified file 'include/core/window.h'
+--- a/include/core/window.h 2014-03-27 15:09:02 +0000
++++ b/include/core/window.h 2015-02-17 15:00:18 +0000
+@@ -217,7 +217,8 @@
+ CompWindowNotifyUnshade,
+ CompWindowNotifyEnterShowDesktopMode,
+ CompWindowNotifyLeaveShowDesktopMode,
+- CompWindowNotifyBeforeMap
++ CompWindowNotifyBeforeMap,
++ CompWindowNotifyActions,
+ };
+
+ /**
+@@ -502,6 +503,7 @@
+ const CompWindowExtents & border () const;
+ const CompWindowExtents & input () const;
+ const CompWindowExtents & output () const;
++ const CompWindowExtents & clientFrame () const;
+
+ // FIXME: This should return a const reference but grid needs fixing...
+ XSizeHints & sizeHints () const;
+
+=== modified file 'src/atoms.cpp'
+--- a/src/atoms.cpp 2012-01-19 17:44:32 +0000
++++ b/src/atoms.cpp 2015-02-17 15:00:18 +0000
+@@ -107,6 +107,7 @@
+ Atom clientListStacking;
+
+ Atom frameExtents;
++ Atom frameGtkExtents;
+ Atom frameWindow;
+
+ Atom wmState;
+@@ -270,8 +271,9 @@
+ clientListStacking =
+ XInternAtom (dpy, "_NET_CLIENT_LIST_STACKING", 0);
+
+- frameExtents = XInternAtom (dpy, "_NET_FRAME_EXTENTS", 0);
+- frameWindow = XInternAtom (dpy, "_NET_FRAME_WINDOW", 0);
++ frameExtents = XInternAtom (dpy, "_NET_FRAME_EXTENTS", 0);
++ frameGtkExtents = XInternAtom (dpy, "_GTK_FRAME_EXTENTS", 0);
++ frameWindow = XInternAtom (dpy, "_NET_FRAME_WINDOW", 0);
+
+ wmState = XInternAtom (dpy, "WM_STATE", 0);
+ wmChangeState = XInternAtom (dpy, "WM_CHANGE_STATE", 0);
+
+=== modified file 'src/event.cpp'
+--- a/src/event.cpp 2014-06-06 09:42:16 +0000
++++ b/src/event.cpp 2015-02-17 15:00:18 +0000
+@@ -1755,6 +1755,12 @@
+ if (w)
+ w->priv->updateIconGeometry ();
+ }
++ else if (event->xproperty.atom == Atoms::frameGtkExtents)
++ {
++ w = findWindow (event->xproperty.window);
++ if (w)
++ w->priv->updateClientFrame ();
++ }
+ else if (event->xproperty.atom == Atoms::wmStrut ||
+ event->xproperty.atom == Atoms::wmStrutPartial)
+ {
+
+=== modified file 'src/privatewindow.h'
+--- a/src/privatewindow.h 2014-03-27 15:09:02 +0000
++++ b/src/privatewindow.h 2015-02-17 15:00:18 +0000
+@@ -276,6 +276,8 @@
+
+ void updateIconGeometry ();
+
++ void updateClientFrame ();
++
+ Window getClientLeader ();
+
+ char * getStartupId ();
+@@ -429,6 +431,7 @@
+ CompWindowExtents lastServerInput;
+ CompWindowExtents border;
+ CompWindowExtents output;
++ CompWindowExtents clientFrame;
+
+ CompStruts *struts;
+
+
+=== modified file 'src/window.cpp'
+--- a/src/window.cpp 2014-09-16 19:37:23 +0000
++++ b/src/window.cpp 2015-02-17 15:00:18 +0000
+@@ -373,6 +373,38 @@
+ }
+ }
+
++void
++PrivateWindow::updateClientFrame ()
++{
++ Atom actual;
++ int format;
++ unsigned long n, left;
++ unsigned char *data;
++
++ int result = XGetWindowProperty (screen->dpy (), priv->id,
++ Atoms::frameGtkExtents,
++ 0L, 65536, False, XA_CARDINAL,
++ &actual, &format, &n, &left, &data);
++
++ if (result == Success && actual == XA_CARDINAL && data)
++ {
++ if (n == 4)
++ {
++ unsigned long *extents = reinterpret_cast<unsigned long *>(data);
++ priv->clientFrame.left = extents[0];
++ priv->clientFrame.right = extents[1];
++ priv->clientFrame.top = extents[2];
++ priv->clientFrame.bottom = extents[3];
++ }
++
++ XFree (data);
++ }
++ else
++ {
++ priv->clientFrame = CompWindowExtents ();
++ }
++}
++
+ Window
+ PrivateWindow::getClientLeaderOfAncestor ()
+ {
+@@ -708,6 +740,7 @@
+ if (actions != priv->actions)
+ {
+ priv->actions = actions;
++ windowNotify (CompWindowNotifyActions);
+ setWindowActions (screen, actions, priv->id);
+ }
+ }
+@@ -5947,6 +5980,12 @@
+ return priv->output;
+ }
+
++const CompWindowExtents &
++CompWindow::clientFrame () const
++{
++ return priv->clientFrame;
++}
++
+ XSizeHints &
+ CompWindow::sizeHints () const
+ {
+@@ -6205,6 +6244,7 @@
+
+ recalcActions ();
+ priv->updateIconGeometry ();
++ priv->updateClientFrame ();
+
+ if (priv->shaded)
+ priv->updateFrameWindow ();
+
+# Diff from https://code.launchpad.net/~albertsmuktupavels/compiz/add-gtk-frame-extents-to-net-supported/+merge/257303
+=== modified file 'src/screen.cpp'
+--- a/src/screen.cpp 2014-12-02 19:37:10 +0000
++++ b/src/screen.cpp 2015-04-23 20:41:24 +0000
+@@ -2362,6 +2362,7 @@
+
+ atoms.push_back (Atoms::wmUserTime);
+ atoms.push_back (Atoms::frameExtents);
++ atoms.push_back (Atoms::frameGtkExtents);
+ atoms.push_back (Atoms::frameWindow);
+
+ atoms.push_back (Atoms::winState);
+