about summary refs log tree commit diff stats
path: root/view.c
diff options
context:
space:
mode:
Diffstat (limited to 'view.c')
-rw-r--r--view.c9
1 files changed, 8 insertions, 1 deletions
diff --git a/view.c b/view.c
index ac8e7a3..a3b2029 100644
--- a/view.c
+++ b/view.c
@@ -294,11 +294,18 @@ restack(void) {
 		XRaiseWindow(dpy, sel->win);
 		XRaiseWindow(dpy, sel->twin);
 	}
-	if(arrange != dofloat)
+	if(arrange != dofloat) {
+		if(!sel->isfloat) {
+			XLowerWindow(dpy, sel->twin);
+			XLowerWindow(dpy, sel->win);
+		}
 		for(c = nexttiled(clients); c; c = nexttiled(c->next)) {
+			if(c == sel)
+				continue;
 			XLowerWindow(dpy, c->twin);
 			XLowerWindow(dpy, c->win);
 		}
+	}
 	drawall();
 	XSync(dpy, False);
 	while(XCheckMaskEvent(dpy, EnterWindowMask, &ev));