diff options
-rw-r--r-- | dwm.c | 8 |
1 files changed, 6 insertions, 2 deletions
diff --git a/dwm.c b/dwm.c index e3afc9a..b54ccd4 100644 --- a/dwm.c +++ b/dwm.c @@ -1504,8 +1504,9 @@ tagmon(const Arg *arg) { c->mon = m; attach(c); attachstack(c); - selmon->sel = selmon->stack; m->sel = c; + for(c = selmon->stack; c && !ISVISIBLE(c); c = c->snext); + selmon->sel = c; arrange(); break; } @@ -1620,7 +1621,10 @@ unmanage(Client *c) { detach(c); detachstack(c); if(c->mon->sel == c) { - c->mon->sel = c->mon->stack; + /* TODO: consider separate the next code into a function or into detachstack? */ + Client *tc; + for(tc = c->mon->stack; tc && !ISVISIBLE(tc); tc = tc->snext); + c->mon->sel = tc; focus(NULL); } XUngrabButton(dpy, AnyButton, AnyModifier, c->win); |