Mod1-Button2 on a floating but not-fixed client will make it tiled again

This commit is contained in:
Anselm R. Garbe 2007-09-16 13:42:37 +02:00
parent d1ce3eac33
commit b2f276b0f9
2 changed files with 7 additions and 3 deletions

2
dwm.1
View File

@ -120,7 +120,7 @@ Quit dwm.
Move current window while dragging. Tiled windows will be toggled to the floating state. Move current window while dragging. Tiled windows will be toggled to the floating state.
.TP .TP
.B Mod1\-Button2 .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 .TP
.B Mod1\-Button3 .B Mod1\-Button3
Resize current window while dragging. Tiled windows will be toggled to the floating state. Resize current window while dragging. Tiled windows will be toggled to the floating state.

8
dwm.c
View File

@ -342,8 +342,12 @@ buttonpress(XEvent *e) {
restack(); restack();
movemouse(c); movemouse(c);
} }
else if(ev->button == Button2) else if(ev->button == Button2) {
zoom(NULL); if(isarrange(tile) && !c->isfixed && c->isfloating)
togglefloating(NULL);
else
zoom(NULL);
}
else if(ev->button == Button3 && !c->isfixed) { else if(ev->button == Button3 && !c->isfixed) {
if(!isarrange(floating) && !c->isfloating) if(!isarrange(floating) && !c->isfloating)
togglefloating(NULL); togglefloating(NULL);