small changes
authorAnselm R. Garbe <arg@suckless.org>
Tue, 23 Jan 2007 11:29:17 +0000 (12:29 +0100)
committerAnselm R. Garbe <arg@suckless.org>
Tue, 23 Jan 2007 11:29:17 +0000 (12:29 +0100)
client.c
dwm.h
event.c
main.c

index 0a59c22..f2cd802 100644 (file)
--- a/client.c
+++ b/client.c
@@ -85,20 +85,22 @@ focus(Client *c) {
                grabbuttons(sel, False);
                XSetWindowBorder(dpy, sel->win, dc.norm[ColBorder]);
        }
-       sel = c;
-       if(!issel)
-               return;
        if(c) {
                detachstack(c);
                c->snext = stack;
                stack = c;
                grabbuttons(c, True);
+       }
+       sel = c;
+       drawstatus();
+       if(!activescreen)
+               return;
+       if(sel) {
                XSetWindowBorder(dpy, c->win, dc.sel[ColBorder]);
                XSetInputFocus(dpy, c->win, RevertToPointerRoot, CurrentTime);
        }
        else
                XSetInputFocus(dpy, root, RevertToPointerRoot, CurrentTime);
-       drawstatus();
 }
 
 Client *
diff --git a/dwm.h b/dwm.h
index 79627bd..72fcacf 100644 (file)
--- a/dwm.h
+++ b/dwm.h
@@ -93,7 +93,7 @@ extern unsigned int ntags, numlockmask;               /* number of tags, dynamic lock mask */
 extern void (*handler[LASTEvent])(XEvent *);   /* event handler */
 extern void (*arrange)(void);                  /* arrange function, indicates mode  */
 extern Atom wmatom[WMLast], netatom[NetLast];
-extern Bool running, issel, *seltag;           /* seltag is array of Bool */
+extern Bool activescreen, running, *seltag;            /* seltag is array of Bool */
 extern Client *clients, *sel, *stack;          /* global client list and stack */
 extern Cursor cursor[CurLast];
 extern DC dc;                                  /* global draw context */
diff --git a/event.c b/event.c
index c913320..4f07789 100644 (file)
--- a/event.c
+++ b/event.c
@@ -230,7 +230,7 @@ enternotify(XEvent *e) {
        if((c = getclient(ev->window)) && isvisible(c))
                focus(c);
        else if(ev->window == root) {
-               issel = True;
+               activescreen = True;
                for(c = stack; c && !isvisible(c); c = c->snext);
                focus(c);
        }
@@ -269,7 +269,7 @@ leavenotify(XEvent *e) {
        XCrossingEvent *ev = &e->xcrossing;
 
        if((ev->window == root) && !ev->same_screen) {
-               issel = False;
+               activescreen = False;
                focus(NULL);
        }
 }
diff --git a/main.c b/main.c
index ae5d6ef..20c2890 100644 (file)
--- a/main.c
+++ b/main.c
@@ -23,7 +23,7 @@ int bh, bmw, screen, sx, sy, sw, sh, wax, way, waw, wah;
 unsigned int master, nmaster, ntags, numlockmask;
 Atom wmatom[WMLast], netatom[NetLast];
 Bool running = True;
-Bool issel = True;
+Bool activescreen = True;
 Client *clients = NULL;
 Client *sel = NULL;
 Client *stack = NULL;
@@ -156,7 +156,7 @@ setup(void) {
        dc.gc = XCreateGC(dpy, root, 0, 0);
        XSetLineAttributes(dpy, dc.gc, 1, LineSolid, CapButt, JoinMiter);
        /* multihead support */
-       issel = XQueryPointer(dpy, root, &w, &w, &i, &i, &i, &i, &mask);
+       activescreen = XQueryPointer(dpy, root, &w, &w, &i, &i, &i, &i, &mask);
 }
 
 /*