If workspaces are linked, then windows will only snap to the top or bottom
of the screen.

Suggested-by: Josip Deanovic <djosip+n...@linuxpages.net>
---
 NEWS          | 8 ++++----
 src/moveres.c | 7 ++++++-
 2 files changed, 10 insertions(+), 5 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..cded064 100644
--- a/src/moveres.c
+++ b/src/moveres.c
@@ -1766,11 +1766,16 @@ 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 (!wPreferences.no_autowrap &&
+                                   snap_direction != SNAP_TOP &&
+                                   snap_direction != SNAP_BOTTOM)
+                                       snap_direction = SNAP_NONE;
+
                                if (moveData.snap != snap_direction) {
                                        /* erase old frame */
                                        if (moveData.snap)
-- 
2.1.4


-- 
To unsubscribe, send mail to wmaker-dev-unsubscr...@lists.windowmaker.org.

Reply via email to