diff -r 40bff70c312f dwm.c --- a/dwm.c Tue Nov 15 20:16:58 2011 +0100 +++ b/dwm.c Sat Dec 10 03:20:53 2011 +0100 @@ -861,6 +861,7 @@ else XSetInputFocus(dpy, root, RevertToPointerRoot, CurrentTime); selmon->sel = c; + restack(selmon); drawbars(); } @@ -1420,8 +1421,6 @@ 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; @@ -1431,6 +1430,7 @@ wc.sibling = c->win; } } + XRaiseWindow(dpy, m->sel->win); XSync(dpy, False); while(XCheckMaskEvent(dpy, EnterWindowMask, &ev)); } @@ -2117,9 +2117,6 @@ zoom(const Arg *arg) { Client *c = selmon->sel; - if(!selmon->lt[selmon->sellt]->arrange - || (selmon->sel && selmon->sel->isfloating)) - return; if(c == nexttiled(selmon->clients)) if(!c || !(c = nexttiled(c->next))) return;