aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorAnselm R. Garbe <garbeam@gmail.com>2007-09-16 13:42:37 +0200
committerAnselm R. Garbe <garbeam@gmail.com>2007-09-16 13:42:37 +0200
commitb2f276b0f9f15131b0f4a03b46c8bedefbc89eea (patch)
tree915fe6621b19692869d2304dff887ecb4045b67e
parentd1ce3eac33a636e03a1f5a887897ae8046065ff7 (diff)
downloaddwm-b2f276b0f9f15131b0f4a03b46c8bedefbc89eea.tar.gz
Mod1-Button2 on a floating but not-fixed client will make it tiled again
-rw-r--r--dwm.12
-rw-r--r--dwm.c8
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);
remember that computers suck.