diff options
| -rw-r--r-- | dwm.c | 8 | 
1 files changed, 6 insertions, 2 deletions
| @@ -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); | 
