aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--dwm.c8
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);