now tiled windows can be resized/moved, their floating state will be toggled implicitely

This commit is contained in:
Anselm R. Garbe 2007-09-16 13:27:33 +02:00
parent 9449ea3e00
commit d1ce3eac33
2 changed files with 12 additions and 8 deletions

4
dwm.1
View File

@ -117,13 +117,13 @@ Quit dwm.
.SS Mouse commands .SS Mouse commands
.TP .TP
.B Mod1\-Button1 .B Mod1\-Button1
Move current window while dragging (floating layout only). 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 (tiled layout only).
.TP .TP
.B Mod1\-Button3 .B Mod1\-Button3
Resize current window while dragging (floating layout only). Resize current window while dragging. Tiled windows will be toggled to the floating state.
.SH CUSTOMIZATION .SH CUSTOMIZATION
dwm is customized by creating a custom config.h and (re)compiling the source dwm is customized by creating a custom config.h and (re)compiling the source
code. This keeps it fast, secure and simple. code. This keeps it fast, secure and simple.

16
dwm.c
View File

@ -335,16 +335,20 @@ buttonpress(XEvent *e) {
focus(c); focus(c);
if(CLEANMASK(ev->state) != MODKEY) if(CLEANMASK(ev->state) != MODKEY)
return; return;
if(ev->button == Button1 && (isarrange(floating) || c->isfloating)) { if(ev->button == Button1) {
restack(); if(!isarrange(floating) && !c->isfloating)
togglefloating(NULL);
else
restack();
movemouse(c); movemouse(c);
} }
else if(ev->button == Button2) else if(ev->button == Button2)
zoom(NULL); zoom(NULL);
else if(ev->button == Button3 else if(ev->button == Button3 && !c->isfixed) {
&& (isarrange(floating) || c->isfloating) && !c->isfixed) if(!isarrange(floating) && !c->isfloating)
{ togglefloating(NULL);
restack(); else
restack();
resizemouse(c); resizemouse(c);
} }
} }