dwm

my fork of dwm
Index Commits Files Refs README LICENSE
commit b2f276b0f9f15131b0f4a03b46c8bedefbc89eea
parent d1ce3eac33a636e03a1f5a887897ae8046065ff7
Author: Anselm R. Garbe <garbeam@gmail.com>
Date:   Sun, 16 Sep 2007 13:42:37 +0200

Mod1-Button2 on a floating but not-fixed client will make it tiled again
Diffstat:
Mdwm.1 | 2+-
Mdwm.c | 8++++++--
2 files changed, 7 insertions(+), 3 deletions(-)
diff --git a/dwm.1 b/dwm.1
@@ -120,7 +120,7 @@ Quit dwm.
 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.
diff --git a/dwm.c b/dwm.c
@@ -342,8 +342,12 @@ buttonpress(XEvent *e) {
                 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);