Index: Makefile
===================================================================
RCS file: /home/pcvs/ports/x11-wm/xfce4-wm/Makefile,v
retrieving revision 1.40
diff -u -r1.40 Makefile
--- Makefile	19 May 2007 20:32:56 -0000	1.40
+++ Makefile	2 Jun 2007 21:32:46 -0000
@@ -18,7 +18,7 @@
 
 CONFIGURE_ARGS=	--enable-xinerama
 GNU_CONFIGURE=	yes
-INSTALLS_ICONS= yes
+INSTALLS_ICONS=	yes
 USE_BZIP2=	yes
 USE_GETTEXT=	yes
 USE_GMAKE=	yes
@@ -29,7 +29,8 @@
 USE_XLIB=	yes
 
 OPTIONS=	COMPOSITE	"Support the experimental X11 Composite extension"	on \
-		STARTUP 	"Enable startup notification support"			on
+		STARTUP 	"Enable startup notification support"			on \
+		REVMOUSE	"Reverse mouse workspace changing direction"		off
 
 .include <bsd.port.pre.mk>
 
@@ -46,6 +47,10 @@
 CONFIGURE_ARGS+=--disable-startup-notification
 .endif
 
+.if defined(WITH_REVMOUSE)
+EXTRA_PATCHES=	${FILESDIR}/extrapatch-src__events.c
+.endif
+
 post-patch:
 	@${REINPLACE_CMD} -e 's|\(#define ShapeInput 2\);|\1|' \
 		${WRKSRC}/src/frame.c
Index: pkg-plist
===================================================================
RCS file: /home/pcvs/ports/x11-wm/xfce4-wm/pkg-plist,v
retrieving revision 1.17
diff -u -r1.17 pkg-plist
--- pkg-plist	22 Jan 2007 16:45:04 -0000	1.17
+++ pkg-plist	2 Jun 2007 21:32:46 -0000
@@ -1320,4 +1320,3 @@
 @dirrmtry share/icons/hicolor/scalable/apps
 @dirrmtry share/icons/hicolor/scalable
 @dirrmtry share/themes
-
Index: files/extrapatch-src__events.c
===================================================================
RCS file: files/extrapatch-src__events.c
diff -N files/extrapatch-src__events.c
--- /dev/null	1 Jan 1970 00:00:00 -0000
+++ files/extrapatch-src__events.c	2 Jun 2007 21:32:46 -0000
@@ -0,0 +1,16 @@
+--- ./src/events.c.orig	Mon Apr  2 21:48:20 2007
++++ ./src/events.c	Sat Jun  2 23:02:58 2007
+@@ -860,11 +860,11 @@
+ 
+     if (ev->button == Button4)
+     {
+-        workspaceSwitch (screen_info, screen_info->current_ws - 1, NULL, TRUE, ev->time);
++        workspaceSwitch (screen_info, screen_info->current_ws + 1, NULL, TRUE, ev->time);
+     }
+     else if (ev->button == Button5)
+     {
+-        workspaceSwitch (screen_info, screen_info->current_ws + 1, NULL, TRUE, ev->time);
++        workspaceSwitch (screen_info, screen_info->current_ws - 1, NULL, TRUE, ev->time);
+     }
+ }
+