commit 51336aa4a38e82cc796edce790a989298e817a5a
parent c4b6ac812e09c2dd0bb57ff76e8528b26a6ee9fd
Author: [email protected] <unknown>
Date:   Wed,  8 Feb 2012 19:54:05 +0100
applied Eckehard Berns fix fix, sorry that this took so long
Diffstat:
1 file changed, 5 insertions(+), 3 deletions(-)
diff --git a/dwm.c b/dwm.c
@@ -397,9 +397,10 @@ arrange(Monitor *m) {
 		showhide(m->stack);
 	else for(m = mons; m; m = m->next)
 		showhide(m->stack);
-	if(m)
+	if(m) {
 		arrangemon(m);
-	else for(m = mons; m; m = m->next)
+		restack(m);
+	} else for(m = mons; m; m = m->next)
 		arrangemon(m);
 }
 
@@ -408,7 +409,6 @@ arrangemon(Monitor *m) {
 	strncpy(m->ltsymbol, m->lt[m->sellt]->symbol, sizeof m->ltsymbol);
 	if(m->lt[m->sellt]->arrange)
 		m->lt[m->sellt]->arrange(m);
-	restack(m);
 }
 
 void
@@ -1420,6 +1420,8 @@ restack(Monitor *m) {
 	drawbar(m);
 	if(!m->sel)
 		return;
+	if(m->sel->isfloating || !m->lt[m->sellt]->arrange)
+		XRaiseWindow(dpy, m->sel->win);
 	if(m->lt[m->sellt]->arrange) {
 		wc.stack_mode = Below;
 		wc.sibling = m->barwin;