summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMike Gardiner <obz@gentoo.org>2003-10-08 09:25:14 +0000
committerMike Gardiner <obz@gentoo.org>2003-10-08 09:25:14 +0000
commit26bdd37ec5a9ad0196d665dccd85de4c527f50ce (patch)
treec246413a2db06d226c00ffd51bca01c04879ad28 /x11-libs
parentnewdepend test tweak (diff)
downloadgentoo-2-26bdd37ec5a9ad0196d665dccd85de4c527f50ce.tar.gz
gentoo-2-26bdd37ec5a9ad0196d665dccd85de4c527f50ce.tar.bz2
gentoo-2-26bdd37ec5a9ad0196d665dccd85de4c527f50ce.zip
Patch for pager/desktop switcher behaviour
Diffstat (limited to 'x11-libs')
-rw-r--r--x11-libs/libwnck/ChangeLog7
-rw-r--r--x11-libs/libwnck/Manifest5
-rw-r--r--x11-libs/libwnck/files/libwnck-2.4.0.1-pager.patch60
-rw-r--r--x11-libs/libwnck/libwnck-2.4.0.1.ebuild11
4 files changed, 79 insertions, 4 deletions
diff --git a/x11-libs/libwnck/ChangeLog b/x11-libs/libwnck/ChangeLog
index 469a9092e6e1..ef0e7edc763b 100644
--- a/x11-libs/libwnck/ChangeLog
+++ b/x11-libs/libwnck/ChangeLog
@@ -1,6 +1,11 @@
# ChangeLog for x11-libs/libwnck
# Copyright 2002-2003 Gentoo Technologies, Inc.; Distributed under the GPL v2
-# $Header: /var/cvsroot/gentoo-x86/x11-libs/libwnck/ChangeLog,v 1.28 2003/10/05 14:48:41 obz Exp $
+# $Header: /var/cvsroot/gentoo-x86/x11-libs/libwnck/ChangeLog,v 1.29 2003/10/08 09:25:00 obz Exp $
+
+ 08 Oct 2003; Mike Gardiner <obz@gentoo.org> libwnck-2.4.0.1.ebuild,
+ files/libwnck-2.4.0.1-pager.patch:
+ Added patch for pager/desktop switcher behaviour. See bug #30264 and links to
+ gnome bugzilla from there
05 Oct 2003; Mike Gardiner <obz@gentoo.org> libwnck-2.4.0.1.ebuild:
Marked stable on x86
diff --git a/x11-libs/libwnck/Manifest b/x11-libs/libwnck/Manifest
index 81c03d19114b..42d3b3983cc2 100644
--- a/x11-libs/libwnck/Manifest
+++ b/x11-libs/libwnck/Manifest
@@ -1,10 +1,11 @@
-MD5 d9877ca2842fc4b78af95aa82f38a8c0 libwnck-2.4.0.1.ebuild 579
+MD5 c41ea3bb06bb2b19fcc88cbef5572ad6 libwnck-2.4.0.1.ebuild 700
MD5 32194ada35305d0dd22faeb5599bad15 libwnck-2.2.1.ebuild 585
MD5 3ac1975b9e56e3f4dc01d9bd8c255858 libwnck-0.17.ebuild 660
-MD5 2aa3af6867528776eea06e1331aae17c ChangeLog 3129
+MD5 0811baf26c44d628a738ee598a803f79 ChangeLog 3345
MD5 03ad2e6c4ab41244af1015a8bbb0b39f metadata.xml 158
MD5 93425544eeb5a1c18166d1bd24914c9e libwnck-2.2.2.ebuild 575
MD5 85d66a398b863cad4427510ea0d5d8c1 files/digest-libwnck-2.4.0.1 68
MD5 08ed5a4c594e5a7424142bbf562be620 files/digest-libwnck-2.2.1 66
MD5 5cebf85292f16e1e3f634bf464b08546 files/digest-libwnck-2.2.2 66
MD5 4592d875038efb264df17c7b765e01c5 files/digest-libwnck-0.17 65
+MD5 548c282858e185dd6171be66b720553c files/libwnck-2.4.0.1-pager.patch 2949
diff --git a/x11-libs/libwnck/files/libwnck-2.4.0.1-pager.patch b/x11-libs/libwnck/files/libwnck-2.4.0.1-pager.patch
new file mode 100644
index 000000000000..851fb64bc29c
--- /dev/null
+++ b/x11-libs/libwnck/files/libwnck-2.4.0.1-pager.patch
@@ -0,0 +1,60 @@
+diff -ru -X excl.list libwnck-trunk.clean/libwnck/pager.c libwnck-work/libwnck/pager.c
+--- libwnck-trunk.clean/libwnck/pager.c 2003-04-04 17:07:39.000000000 +0200
++++ libwnck-work/libwnck/pager.c 2003-09-23 23:12:52.000000000 +0200
+@@ -1149,14 +1149,53 @@
+
+ if (space)
+ {
+- wnck_workspace_activate (space);
++#define MOVE_VIEWPORT_IN_SCREEN_SIZE_STEPS 1
++#if MOVE_VIEWPORT_IN_SCREEN_SIZE_STEPS
++ int screen_width, screen_height;
++#else /* MOVE_VIEWPORT_CENTERED_ON_PONTER */
++ int screen_width, screen_height, max_x, max_y;
++#endif
++
++ /* Don't switch the desktop if we're already there */
++ if (space != wnck_screen_get_active_workspace (pager->priv->screen))
++ wnck_workspace_activate (space);
+
+ /* EWMH only lets us move the viewport for the active workspace,
+ * but we just go ahead and hackily assume that the activate
+ * just above takes effect prior to moving the viewport
+ */
+- wnck_screen_move_viewport (pager->priv->screen,
+- viewport_x, viewport_y);
++ screen_width = wnck_screen_get_width (pager->priv->screen);
++ screen_height = wnck_screen_get_height (pager->priv->screen);
++#if MOVE_VIEWPORT_IN_SCREEN_SIZE_STEPS
++ /* Transform the pointer location to viewport origin, assuming
++ * that we want the nearest "regular" viewport containing the
++ * pointer.
++ */
++ viewport_x = (viewport_x / screen_width) * screen_width;
++ viewport_y = (viewport_y / screen_height) * screen_height;
++#else /* MOVE_VIEWPORT_CENTERED_ON_PONTER */
++ /* Transform the pointer location to viewport origin, assuming
++ * that we want the pointer centered in the viewport.
++ * Keep the viewport entirely on the desktop.
++ */
++ max_x = wnck_workspace_get_width (space) - screen_width;
++ max_y = wnck_workspace_get_height (space) - screen_height;
++ viewport_x -= screen_width / 2;
++ if (viewport_x < 0)
++ viewport_x = 0;
++ else if (viewport_x > max_x)
++ viewport_x = max_x;
++ viewport_y -= screen_height / 2;
++ if (viewport_y < 0)
++ viewport_y = 0;
++ else if (viewport_y > max_y)
++ viewport_y = max_y;
++#endif
++
++ if (wnck_workspace_get_viewport_x(space) != viewport_x ||
++ wnck_workspace_get_viewport_y(space) != viewport_y)
++ wnck_screen_move_viewport (pager->priv->screen,
++ viewport_x, viewport_y);
+
+ if (pager->priv->drag_window)
+ wnck_window_activate (pager->priv->drag_window);
diff --git a/x11-libs/libwnck/libwnck-2.4.0.1.ebuild b/x11-libs/libwnck/libwnck-2.4.0.1.ebuild
index 2d3fa545c901..ee966e65231c 100644
--- a/x11-libs/libwnck/libwnck-2.4.0.1.ebuild
+++ b/x11-libs/libwnck/libwnck-2.4.0.1.ebuild
@@ -1,6 +1,6 @@
# Copyright 1999-2003 Gentoo Technologies, Inc.
# Distributed under the terms of the GNU General Public License v2
-# $Header: /var/cvsroot/gentoo-x86/x11-libs/libwnck/libwnck-2.4.0.1.ebuild,v 1.2 2003/10/05 14:48:41 obz Exp $
+# $Header: /var/cvsroot/gentoo-x86/x11-libs/libwnck/libwnck-2.4.0.1.ebuild,v 1.3 2003/10/08 09:25:00 obz Exp $
inherit gnome2
@@ -19,3 +19,12 @@ DEPEND="${RDEPEND}
>=dev-util/pkgconfig-0.12"
DOCS="AUTHORS COPYING ChangeLog INSTALL NEWS README"
+
+src_unpack() {
+
+ unpack ${A}
+ cd ${S}
+ # Patch for pager issues, see bug #30264
+ epatch ${FILESDIR}/${P}-pager.patch
+
+}