diff -r 81c16634cdd4 -r 27d2e0f4ff82 dwm.c --- a/dwm.c Thu Feb 28 21:39:45 2008 +0000 +++ b/dwm.c Thu Feb 28 21:44:52 2008 +0000 @@ -294,11 +294,11 @@ else ban(c); + focus(NULL); for(i = 0; i < nviews; i++) { views[i].layout->arrange(&views[i]); restack(&views[i]); } - focus(NULL); } void @@ -394,6 +394,7 @@ void cleanup(void) { unsigned int i; + close(STDIN_FILENO); while(stack) { unban(stack); @@ -706,6 +707,7 @@ void focus(Client *c) { View *v = selview; + if(c) selview = getview(c); if(selview != v)