[PATCH] wmaker: Allow window snapping and linked workspaces simultaneously.

Doug Torrance <[email protected]>
Newsgroups gmane.compw.window-managers.windowmaker.devel
Message-ID <[email protected]>
If workspaces are linked, then windows will only snap to the top or bottom
of the screen.

Suggested-by: Josip Deanovic <[email protected]>
---
 NEWS          | 8 ++++----
 src/moveres.c | 7 +++++--
 2 files changed, 9 insertions(+), 6 deletions(-)

diff --git a/NEWS b/NEWS
index 023ceb1..fb96dbb 100644
--- a/NEWS
+++ b/NEWS
@@ -12,10 +12,10 @@ screen, by dragging it to that side or corner.  It is enabled by setting
 "WindowSnapping = YES" in ~/GNUstep/Defaults/WindowMaker or selecting "Enable
 window snapping" under "Expert User Preferences" in WPrefs.app.
 
-Note that window snapping is automatically disabled if "Switch workspaces while
-dragging windows" is selected under "Workspace Preferences" in WPrefs.app, or
-if "DontLinkWorkspaces = NO" in  ~/GNUstep/Defaults/WindowMaker, as this feature
-also involves dragging a window to one side of the screen.
+Note that if "Switch workspaces while dragging windows" is selected under
+"Workspace Preferences" in WPrefs.app, or if "DontLinkWorkspaces = NO" in
+~/GNUstep/Defaults/WindowMaker, then you may only snap a window to the top or
+bottom of the screen.
 
 
 Dragging maximized windows
diff --git a/src/moveres.c b/src/moveres.c
index b271f32..4f10a18 100644
--- a/src/moveres.c
+++ b/src/moveres.c
@@ -1766,12 +1766,15 @@ int wMouseMoveWindow(WWindow * wwin, XEvent * ev)
 			break;
 
 		case MotionNotify:
-			if (IS_RESIZABLE(wwin) && wPreferences.window_snapping && wPreferences.no_autowrap) {
+			if (IS_RESIZABLE(wwin) && wPreferences.window_snapping) {
 				int snap_direction;
 
 				snap_direction = get_snap_direction(scr, moveData.mouseX, moveData.mouseY);
 
-				if (moveData.snap != snap_direction) {
+				if ((wPreferences.no_autowrap ||
+				     snap_direction == SNAP_TOP ||
+				     snap_direction == SNAP_BOTTOM) &&
+				    moveData.snap != snap_direction) {
 					/* erase old frame */
 					if (moveData.snap)
 						draw_snap_frame(wwin, moveData.snap);
-- 
2.1.4


-- 
To unsubscribe, send mail to [email protected].
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.