about summary refs log tree commit diff stats
path: root/dwm.c
diff options
context:
space:
mode:
authorAnselm R Garbe <anselm@garbe.us>2009-06-24 20:04:18 +0100
committerAnselm R Garbe <anselm@garbe.us>2009-06-24 20:04:18 +0100
commitab06f7444bf558d4a58e6ca617b1b4f55c6b00c7 (patch)
treec0c753eecfbd0ff71e9668e2e40f5772242ad10d /dwm.c
parenta2a359097922111d13a1db7fd3da132cad84deaa (diff)
downloaddwm-ab06f7444bf558d4a58e6ca617b1b4f55c6b00c7.tar.gz
added some TODOs, some other focus fixes
Diffstat (limited to 'dwm.c')
-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);