--- a/dwm.1 Sun Sep 16 13:27:33 2007 +0200
+++ b/dwm.1 Sun Sep 16 13:42:37 2007 +0200
@@ -120,7 +120,7 @@
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).
+Zooms/cycles current window to/from master area. If it is floating (but not fixed) it will be toggled to the tiled state instead.
.TP
.B Mod1\-Button3
Resize current window while dragging. Tiled windows will be toggled to the floating state.
--- a/dwm.c Sun Sep 16 13:27:33 2007 +0200
+++ b/dwm.c Sun Sep 16 13:42:37 2007 +0200
@@ -342,8 +342,12 @@
restack();
movemouse(c);
}
- else if(ev->button == Button2)
- zoom(NULL);
+ else if(ev->button == Button2) {
+ if(isarrange(tile) && !c->isfixed && c->isfloating)
+ togglefloating(NULL);
+ else
+ zoom(NULL);
+ }
else if(ev->button == Button3 && !c->isfixed) {
if(!isarrange(floating) && !c->isfloating)
togglefloating(NULL);