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