now tiled windows can be resized/moved, their floating state will be toggled implicitely
authorAnselm R. Garbe <garbeam@gmail.com>
Sun, 16 Sep 2007 13:27:33 +0200
changeset 998 854a324f5c92
parent 997 8e721021e636
child 999 d036b2f17567
now tiled windows can be resized/moved, their floating state will be toggled implicitely
dwm.1
dwm.c
--- a/dwm.1	Sun Sep 16 12:34:08 2007 +0200
+++ b/dwm.1	Sun Sep 16 13:27:33 2007 +0200
@@ -117,13 +117,13 @@
 .SS Mouse commands
 .TP
 .B Mod1\-Button1
-Move current window while dragging (floating layout only).
+Move current window while dragging. Tiled windows will be toggled to the floating state.
 .TP
 .B Mod1\-Button2
 Zooms/cycles current window to/from master area (tiled layout only).
 .TP
 .B Mod1\-Button3
-Resize current window while dragging (floating layout only).
+Resize current window while dragging. Tiled windows will be toggled to the floating state.
 .SH CUSTOMIZATION
 dwm is customized by creating a custom config.h and (re)compiling the source
 code. This keeps it fast, secure and simple.
--- a/dwm.c	Sun Sep 16 12:34:08 2007 +0200
+++ b/dwm.c	Sun Sep 16 13:27:33 2007 +0200
@@ -335,16 +335,20 @@
 		focus(c);
 		if(CLEANMASK(ev->state) != MODKEY)
 			return;
-		if(ev->button == Button1 && (isarrange(floating) || c->isfloating)) {
-			restack();
+		if(ev->button == Button1) {
+			if(!isarrange(floating) && !c->isfloating)
+				togglefloating(NULL);
+			else
+				restack();
 			movemouse(c);
 		}
 		else if(ev->button == Button2)
 			zoom(NULL);
-		else if(ev->button == Button3
-		&& (isarrange(floating) || c->isfloating) && !c->isfixed)
-		{
-			restack();
+		else if(ev->button == Button3 && !c->isfixed) {
+			if(!isarrange(floating) && !c->isfloating)
+				togglefloating(NULL);
+			else
+				restack();
 			resizemouse(c);
 		}
 	}