some focus fixes

master
Anselm R Garbe 2009-06-24 15:37:32 +01:00
parent 454a04acdf
commit 80ee95473b
1 changed files with 8 additions and 2 deletions

6
dwm.c
View File

@ -762,6 +762,8 @@ focus(Client *c) {
XSetWindowBorder(dpy, selmon->sel->win, dc.norm[ColBorder]); XSetWindowBorder(dpy, selmon->sel->win, dc.norm[ColBorder]);
} }
if(c) { if(c) {
if(c->mon != selmon)
selmon = c->mon;
if(c->isurgent) if(c->isurgent)
clearurgent(c); clearurgent(c);
detachstack(c); detachstack(c);
@ -792,8 +794,12 @@ focusmon(const Arg *arg) {
for(i = 0, m = mons; m; m = m->next, i++) for(i = 0, m = mons; m; m = m->next, i++)
if(i == arg->ui) { if(i == arg->ui) {
if(m->stack)
focus(m->stack);
else {
selmon = m; selmon = m;
focus(NULL); focus(NULL);
}
drawbars(); drawbars();
break; break;
} }