.SS Mouse commands
 .TP
 .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
 .B Mod1\-Button2
 Zooms/cycles current window to/from master area (tiled layout only).
 .TP
 .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
 dwm is customized by creating a custom config.h and (re)compiling the source
 code. This keeps it fast, secure and simple.
 
                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);
                }
        }