JasonWoof Got questions, comments, patches, etc.? Contact Jason Woofenden
renamed activescreen into selscreen
[dwm.git] / client.c
index 177eb94..b89264c 100644 (file)
--- a/client.c
+++ b/client.c
@@ -79,27 +79,28 @@ configure(Client *c) {
 
 void
 focus(Client *c) {
-       Client *old = sel;
-
-       if(!issel || (c && !isvisible(c)))
+       if(c && !isvisible(c))
                return;
-
-       if(old && old != c) {
-               grabbuttons(old, False);
-               XSetWindowBorder(dpy, old->win, dc.norm[ColBorder]);
+       if(sel && sel != c) {
+               grabbuttons(sel, False);
+               XSetWindowBorder(dpy, sel->win, dc.norm[ColBorder]);
        }
        if(c) {
                detachstack(c);
                c->snext = stack;
                stack = c;
                grabbuttons(c, True);
+       }
+       sel = c;
+       drawstatus();
+       if(!selscreen)
+               return;
+       if(c) {
                XSetWindowBorder(dpy, c->win, dc.sel[ColBorder]);
                XSetInputFocus(dpy, c->win, RevertToPointerRoot, CurrentTime);
        }
        else
                XSetInputFocus(dpy, root, RevertToPointerRoot, CurrentTime);
-       sel = c;
-       drawstatus();
 }
 
 Client *
@@ -156,6 +157,7 @@ manage(Window w, XWindowAttributes *wa) {
                StructureNotifyMask | PropertyChangeMask | EnterWindowMask);
        XGetTransientForHint(dpy, c->win, &trans);
        grabbuttons(c, False);
+       XSetWindowBorder(dpy, c->win, dc.norm[ColBorder]);
        updatetitle(c);
        settags(c, getclient(trans));
        if(!c->isfloat)