summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorRomain Perier <mrpouet@gentoo.org>2010-01-31 17:00:46 +0000
committerRomain Perier <mrpouet@gentoo.org>2010-01-31 17:00:46 +0000
commit90a69c5348eee9df06ca6d01af967c65391de1f0 (patch)
treebac5e4660f81a0e7494e92e05e6c0a0199e3025f /x11-plugins
parentFix crash on opening windows, and placement mode. Replace URI per a bziped ta... (diff)
downloadhistorical-90a69c5348eee9df06ca6d01af967c65391de1f0.tar.gz
historical-90a69c5348eee9df06ca6d01af967c65391de1f0.tar.bz2
historical-90a69c5348eee9df06ca6d01af967c65391de1f0.zip
Handle windows that have server border set properly (put plugin), per bug #302308. Many thanks to Denilson.
Package-Manager: portage-2.2_rc62/cvs/Linux x86_64
Diffstat (limited to 'x11-plugins')
-rw-r--r--x11-plugins/compiz-plugins-main/ChangeLog12
-rw-r--r--x11-plugins/compiz-plugins-main/Manifest4
-rw-r--r--x11-plugins/compiz-plugins-main/compiz-plugins-main-0.8.4-r1.ebuild51
-rw-r--r--x11-plugins/compiz-plugins-main/files/compiz-plugins-main-0.8.4-put-plugin.patch184
4 files changed, 248 insertions, 3 deletions
diff --git a/x11-plugins/compiz-plugins-main/ChangeLog b/x11-plugins/compiz-plugins-main/ChangeLog
index 0a6987138449..4141685e9707 100644
--- a/x11-plugins/compiz-plugins-main/ChangeLog
+++ b/x11-plugins/compiz-plugins-main/ChangeLog
@@ -1,6 +1,14 @@
# ChangeLog for x11-plugins/compiz-plugins-main
-# Copyright 1999-2009 Gentoo Foundation; Distributed under the GPL v2
-# $Header: /var/cvsroot/gentoo-x86/x11-plugins/compiz-plugins-main/ChangeLog,v 1.9 2009/12/23 02:47:00 jmbsvicetto Exp $
+# Copyright 1999-2010 Gentoo Foundation; Distributed under the GPL v2
+# $Header: /var/cvsroot/gentoo-x86/x11-plugins/compiz-plugins-main/ChangeLog,v 1.10 2010/01/31 17:00:45 mrpouet Exp $
+
+*compiz-plugins-main-0.8.4-r1 (31 Jan 2010)
+
+ 31 Jan 2010; Romain Perier <mrpouet@gentoo.org>
+ +compiz-plugins-main-0.8.4-r1.ebuild,
+ +files/compiz-plugins-main-0.8.4-put-plugin.patch:
+ Handle windows that have server border set properly (put plugin),
+ per bug #302308. Many thanks to Denilson.
23 Dec 2009; Jorge Manuel B. S. Vicetto <jmbsvicetto@gentoo.org>
compiz-plugins-main-0.8.4.ebuild:
diff --git a/x11-plugins/compiz-plugins-main/Manifest b/x11-plugins/compiz-plugins-main/Manifest
index 4cd5e30245ba..8649e3c22d1f 100644
--- a/x11-plugins/compiz-plugins-main/Manifest
+++ b/x11-plugins/compiz-plugins-main/Manifest
@@ -1,5 +1,7 @@
+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.4.tar.bz2 1221256 RMD160 ea438b5b608dc084e50bac94a07ce66487f3a865 SHA1 9dcc1018537f69eb9fd470b1c49e7b4888c2c3ce SHA256 1ea757880a3793e9a01603839b4a2efe5fab4efee0a96101d772dc25422f8aee
+EBUILD compiz-plugins-main-0.8.4-r1.ebuild 1168 RMD160 cefe7cdc802cefd2d640736f39f2fbc80491645e SHA1 d9e8b96924c710173ef58ad36cf3dd4667632357 SHA256 ae9d3ff18cd296432cd77ffd3c1cb6f24aa0f83fcee3d6c0724d0928861896b5
EBUILD compiz-plugins-main-0.8.4.ebuild 1084 RMD160 c780c41ba0c2a396778ac984b4cac25167aafd77 SHA1 b7a29bb356b24b03c812f940c38f76d3fcf99899 SHA256 c967bdc180b2f50673e766232a54edec5644b742e656c80e2407acd17ae3ec29
-MISC ChangeLog 1954 RMD160 39bc6207eb9d7ec3bc547d504ec9472ac218166a SHA1 dc1346f0b02e0144ef6f60e1ff1ae018e03c204a SHA256 2abdb6d059110bb161c731ff99dbc609a819dcfba87bd5f1605252157c704afc
+MISC ChangeLog 2252 RMD160 00ef799ad6426cd8b8185377f4a0ce1c22380da2 SHA1 922109c1a1f32218cbe96a2f63131aea314334b4 SHA256 d4f6cd90b68326b316f41ff60b59f9f27233f53b10f9e7cc81119516d1d4140a
MISC metadata.xml 423 RMD160 ed3e1c4f2fcef78faf6d8b85b337f60b69c582f1 SHA1 554188b456adfdd2be58a825b83f5a2f75a1070e SHA256 63a22d1439257bac17c3a4e5a045bc2e07fbd13bde371f72cecdd0bd5cbe8742
diff --git a/x11-plugins/compiz-plugins-main/compiz-plugins-main-0.8.4-r1.ebuild b/x11-plugins/compiz-plugins-main/compiz-plugins-main-0.8.4-r1.ebuild
new file mode 100644
index 000000000000..98536d3e55a1
--- /dev/null
+++ b/x11-plugins/compiz-plugins-main/compiz-plugins-main-0.8.4-r1.ebuild
@@ -0,0 +1,51 @@
+# Copyright 1999-2010 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.4-r1.ebuild,v 1.1 2010/01/31 17:00:45 mrpouet Exp $
+
+EAPI="2"
+
+inherit 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="gnome"
+
+RDEPEND="
+ !x11-plugins/compiz-fusion-plugins-main
+ >=gnome-base/librsvg-2.14.0
+ media-libs/jpeg
+ x11-libs/cairo
+ ~x11-libs/compiz-bcop-${PV}
+ ~x11-wm/compiz-${PV}[gnome?]
+"
+
+DEPEND="${RDEPEND}
+ >=dev-util/intltool-0.35
+ >=dev-util/pkgconfig-0.19
+ >=sys-devel/gettext-0.15
+"
+
+src_prepare() {
+ use gnome || epatch "${FILESDIR}"/${PN}-no-gconf.patch
+ epatch "${FILESDIR}"/${P}-put-plugin.patch
+}
+
+src_configure() {
+ econf $(use_enable gnome schemas) || die "econf failed"
+}
+
+src_install() {
+ emake DESTDIR="${D}" install || die "emake install failed"
+}
+pkg_preinst() {
+ use gnome && gnome2_gconf_savelist
+}
+
+pkg_postinst() {
+ use gnome && gnome2_gconf_install
+}
diff --git a/x11-plugins/compiz-plugins-main/files/compiz-plugins-main-0.8.4-put-plugin.patch b/x11-plugins/compiz-plugins-main/files/compiz-plugins-main-0.8.4-put-plugin.patch
new file mode 100644
index 000000000000..b44081d91bc2
--- /dev/null
+++ b/x11-plugins/compiz-plugins-main/files/compiz-plugins-main-0.8.4-put-plugin.patch
@@ -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