diff -r b1845c3d6e4f -r 499cb1ee2b93 dwm.c --- a/dwm.c Fri Jun 26 16:41:27 2009 +0100 +++ b/dwm.c Sat Jun 27 17:38:18 2009 +0100 @@ -804,13 +804,11 @@ for(i = 0, m = mons; m; m = m->next, i++) if(i == arg->ui) { - if(m->stack) - focus(m->stack); - else { - unfocus(selmon->stack); - selmon = m; - focus(NULL); - } + if(m == selmon) + return; + unfocus(selmon->sel); + selmon = m; + focus(NULL); drawbars(); break; }