aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authoranselm@garbe.us2012-02-08 19:54:05 +0100
committeranselm@garbe.us2012-02-08 19:54:05 +0100
commit51336aa4a38e82cc796edce790a989298e817a5a (patch)
treefd025cea9d5482006038dafcef446155ca7cfaf7
parentc4b6ac812e09c2dd0bb57ff76e8528b26a6ee9fd (diff)
applied Eckehard Berns fix fix, sorry that this took so long
-rw-r--r--dwm.c8
1 files changed, 5 insertions, 3 deletions
diff --git a/dwm.c b/dwm.c
index 0f946a6..d39f11f 100644
--- 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;