From b2f276b0f9f15131b0f4a03b46c8bedefbc89eea Mon Sep 17 00:00:00 2001 From: "Anselm R. Garbe" Date: Sun, 16 Sep 2007 13:42:37 +0200 Subject: [PATCH] Mod1-Button2 on a floating but not-fixed client will make it tiled again --- dwm.1 | 2 +- dwm.c | 8 ++++++-- 2 files changed, 7 insertions(+), 3 deletions(-) diff --git a/dwm.1 b/dwm.1 index d82c387..5e42e28 100644 --- 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 index 164b5ef..0428ba1 100644 --- 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); -- 1.7.10.4