summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorSamuli Suominen <ssuominen@gentoo.org>2012-12-31 14:44:22 +0000
committerSamuli Suominen <ssuominen@gentoo.org>2012-12-31 14:44:22 +0000
commit2cd4d52fdce202d389aceb8f634cf6547117e8ef (patch)
tree95e8991ca1b8a44662c3b404ae817bae67ecc55a /xfce-base
parentAdd ~ppc, wrt bug #449220 (diff)
downloadgentoo-2-2cd4d52fdce202d389aceb8f634cf6547117e8ef.tar.gz
gentoo-2-2cd4d52fdce202d389aceb8f634cf6547117e8ef.tar.bz2
gentoo-2-2cd4d52fdce202d389aceb8f634cf6547117e8ef.zip
Implement NET_WM_MOVERESIZE_CANCEL message wrt bug #442218. Patch is from upstream.
(Portage version: 2.2.0_alpha149/cvs/Linux x86_64, signed Manifest commit with key 4868F14D)
Diffstat (limited to 'xfce-base')
-rw-r--r--xfce-base/xfwm4/ChangeLog9
-rw-r--r--xfce-base/xfwm4/files/xfwm4-4.10.0-gtk34.patch86
-rw-r--r--xfce-base/xfwm4/xfwm4-4.10.0-r1.ebuild55
3 files changed, 149 insertions, 1 deletions
diff --git a/xfce-base/xfwm4/ChangeLog b/xfce-base/xfwm4/ChangeLog
index fe9f4dc6671e..315d0031c03c 100644
--- a/xfce-base/xfwm4/ChangeLog
+++ b/xfce-base/xfwm4/ChangeLog
@@ -1,6 +1,13 @@
# ChangeLog for xfce-base/xfwm4
# Copyright 1999-2012 Gentoo Foundation; Distributed under the GPL v2
-# $Header: /var/cvsroot/gentoo-x86/xfce-base/xfwm4/ChangeLog,v 1.203 2012/11/28 12:29:16 ssuominen Exp $
+# $Header: /var/cvsroot/gentoo-x86/xfce-base/xfwm4/ChangeLog,v 1.204 2012/12/31 14:44:22 ssuominen Exp $
+
+*xfwm4-4.10.0-r1 (31 Dec 2012)
+
+ 31 Dec 2012; Samuli Suominen <ssuominen@gentoo.org> +xfwm4-4.10.0-r1.ebuild,
+ +files/xfwm4-4.10.0-gtk34.patch:
+ Implement NET_WM_MOVERESIZE_CANCEL message wrt bug #442218. Patch is from
+ upstream.
28 Nov 2012; Samuli Suominen <ssuominen@gentoo.org> xfwm4-4.10.0.ebuild:
EAPI5
diff --git a/xfce-base/xfwm4/files/xfwm4-4.10.0-gtk34.patch b/xfce-base/xfwm4/files/xfwm4-4.10.0-gtk34.patch
new file mode 100644
index 000000000000..c9352fdee77c
--- /dev/null
+++ b/xfce-base/xfwm4/files/xfwm4-4.10.0-gtk34.patch
@@ -0,0 +1,86 @@
+http://bugs.gentoo.org/442218
+
+From 099614e3f045e06db7ab509e174510ea74857adb Mon Sep 17 00:00:00 2001
+From: Olivier Fourdan <fourdan@xfce.org>
+Date: Wed, 18 Jul 2012 20:12:07 +0000
+Subject: Implement NET_WM_MOVERESIZE_CANCEL message (bug #8949)
+
+as gtk+-3.4 now uses it.
+---
+diff --git a/src/display.h b/src/display.h
+index 1ad2ef8..8797237 100644
+--- a/src/display.h
++++ b/src/display.h
+@@ -163,7 +163,8 @@ enum
+ NET_WM_MOVERESIZE_SIZE_LEFT,
+ NET_WM_MOVERESIZE_MOVE,
+ NET_WM_MOVERESIZE_SIZE_KEYBOARD,
+- NET_WM_MOVERESIZE_MOVE_KEYBOARD
++ NET_WM_MOVERESIZE_MOVE_KEYBOARD,
++ NET_WM_MOVERESIZE_CANCEL
+ };
+
+ enum
+diff --git a/src/moveresize.c b/src/moveresize.c
+index 9893c30..a98bdf7 100644
+--- a/src/moveresize.c
++++ b/src/moveresize.c
+@@ -827,7 +827,7 @@ clientMoveEventFilter (XEvent * xevent, gpointer data)
+ eventFilterStatus status = EVENT_FILTER_STOP;
+ MoveResizeData *passdata = (MoveResizeData *) data;
+ Client *c = NULL;
+- gboolean moving = TRUE;
++ gboolean moving;
+ XWindowChanges wc;
+ int prev_x, prev_y;
+
+@@ -840,6 +840,12 @@ clientMoveEventFilter (XEvent * xevent, gpointer data)
+ display_info = screen_info->display_info;
+ configure_flags = NO_CFG_FLAG;
+
++ /*
++ * Clients may choose to end the move operation,
++ * we use XFWM_FLAG_MOVING_RESIZING for that.
++ */
++ moving = FLAG_TEST (c->xfwm_flags, XFWM_FLAG_MOVING_RESIZING);
++
+ /* Update the display time */
+ myDisplayUpdateCurrentTime (display_info, xevent);
+
+@@ -1294,7 +1300,12 @@ clientResizeEventFilter (XEvent * xevent, gpointer data)
+ screen_info = c->screen_info;
+ display_info = screen_info->display_info;
+ status = EVENT_FILTER_STOP;
+- resizing = TRUE;
++
++ /*
++ * Clients may choose to end the resize operation,
++ * we use XFWM_FLAG_MOVING_RESIZING for that.
++ */
++ resizing = FLAG_TEST (c->xfwm_flags, XFWM_FLAG_MOVING_RESIZING);
+
+ frame_x = frameX (c);
+ frame_y = frameY (c);
+diff --git a/src/netwm.c b/src/netwm.c
+index 545e64a..1352f08 100644
+--- a/src/netwm.c
++++ b/src/netwm.c
+@@ -695,10 +695,15 @@ clientNetMoveResize (Client * c, XClientMessageEvent * ev)
+ resize = TRUE; /* Resize */
+ break;
+ case NET_WM_MOVERESIZE_MOVE:
+- default:
+ event->type = ButtonPress;
+ resize = FALSE; /* Move */
+ break;
++ case NET_WM_MOVERESIZE_CANCEL:
++ FLAG_UNSET (c->xfwm_flags, XFWM_FLAG_MOVING_RESIZING);
++ /* Walk through */
++ default: /* Do nothing */
++ return;
++ break;
+ }
+
+ if (!FLAG_TEST (c->flags, CLIENT_FLAG_FULLSCREEN))
+--
+cgit v0.9.0.3
diff --git a/xfce-base/xfwm4/xfwm4-4.10.0-r1.ebuild b/xfce-base/xfwm4/xfwm4-4.10.0-r1.ebuild
new file mode 100644
index 000000000000..fe7c88d948f1
--- /dev/null
+++ b/xfce-base/xfwm4/xfwm4-4.10.0-r1.ebuild
@@ -0,0 +1,55 @@
+# Copyright 1999-2012 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Header: /var/cvsroot/gentoo-x86/xfce-base/xfwm4/xfwm4-4.10.0-r1.ebuild,v 1.1 2012/12/31 14:44:22 ssuominen Exp $
+
+EAPI=5
+inherit xfconf
+
+DESCRIPTION="Window manager for the Xfce desktop environment"
+HOMEPAGE="http://www.xfce.org/projects/"
+SRC_URI="mirror://xfce/src/xfce/${PN}/${PV%.*}/${P}.tar.bz2"
+
+LICENSE="GPL-2"
+SLOT="0"
+KEYWORDS="~alpha ~amd64 ~arm ~hppa ~ia64 ~mips ~ppc ~ppc64 ~sparc ~x86 ~amd64-fbsd ~x86-fbsd ~x86-freebsd ~x86-interix ~amd64-linux ~x86-linux ~x86-solaris"
+IUSE="debug startup-notification +xcomposite"
+
+RDEPEND=">=dev-libs/glib-2.20
+ >=x11-libs/gtk+-2.24:2
+ x11-libs/libICE
+ x11-libs/libSM
+ x11-libs/libX11
+ x11-libs/libXext
+ x11-libs/libXrandr
+ x11-libs/libXrender
+ x11-libs/pango
+ >=x11-libs/libwnck-2.30:1
+ >=xfce-base/libxfce4util-4.10
+ >=xfce-base/libxfce4ui-4.10
+ >=xfce-base/xfconf-4.10
+ startup-notification? ( x11-libs/startup-notification )
+ xcomposite? (
+ x11-libs/libXcomposite
+ x11-libs/libXdamage
+ x11-libs/libXfixes
+ )"
+DEPEND="${RDEPEND}
+ dev-util/intltool
+ sys-devel/gettext
+ virtual/pkgconfig"
+
+pkg_setup() {
+ PATCHES=( "${FILESDIR}"/${P}-gtk34.patch )
+
+ XFCONF=(
+ --docdir="${EPREFIX}"/usr/share/doc/${PF}
+ $(use_enable startup-notification)
+ --enable-xsync
+ --enable-render
+ --enable-randr
+ $(use_enable xcomposite compositor)
+ $(xfconf_use_debug)
+ )
+
+ DOCS=( AUTHORS ChangeLog COMPOSITOR NEWS README TODO )
+}