removed drawclient and drawall (they performed useless operations/consumed useless cpu cycles)
Anselm R. Garbe arg@suckless.org
Mon, 15 Jan 2007 12:04:25 +0100
M
client.c
→
client.c
@@ -90,7 +90,7 @@ old = sel;
sel = c; if(old) { grabbuttons(old, False); - drawclient(old); + XSetWindowBorder(dpy, old->win, dc.norm[ColBorder]); } } if(c) {@@ -98,11 +98,12 @@ detachstack(c);
c->snext = stack; stack = c; grabbuttons(c, True); - drawclient(c); + XSetWindowBorder(dpy, c->win, dc.sel[ColBorder]); XSetInputFocus(dpy, c->win, RevertToPointerRoot, CurrentTime); } else XSetInputFocus(dpy, root, RevertToPointerRoot, CurrentTime); + drawstatus(); } Client *
M
draw.c
→
draw.c
@@ -98,15 +98,6 @@
/* extern */ void -drawall(void) { - Client *c; - - for(c = clients; c; c = getnext(c->next)) - drawclient(c); - drawstatus(); -} - -void drawstatus(void) { int i, x;@@ -134,17 +125,6 @@ dc.x = x;
drawtext(sel ? sel->name : NULL, sel ? dc.sel : dc.norm, False, False); } XCopyArea(dpy, dc.drawable, barwin, dc.gc, 0, 0, bw, bh, 0, 0); - XSync(dpy, False); -} - -void -drawclient(Client *c) { - if(c == sel && issel) { - drawstatus(); - XSetWindowBorder(dpy, c->win, dc.sel[ColBorder]); - return; - } - XSetWindowBorder(dpy, c->win, dc.norm[ColBorder]); XSync(dpy, False); }
M
dwm.h
→
dwm.h
@@ -117,9 +117,7 @@ extern void updatetitle(Client *c); /* update the name of c */
extern void unmanage(Client *c); /* destroy c */ /* draw.c */ -extern void drawall(void); /* draw all visible client titles and the bar */ extern void drawstatus(void); /* draw the bar */ -extern void drawclient(Client *c); /* draw title and set border of c */ extern unsigned long getcolor(const char *colstr); /* return color of colstr */ extern void setfont(const char *fontstr); /* set the font for DC */ extern unsigned int textw(const char *text); /* return the width of text in px*/
M
event.c
→
event.c
@@ -235,7 +235,6 @@ focus(c);
else if(ev->window == root) { issel = True; XSetInputFocus(dpy, root, RevertToPointerRoot, CurrentTime); - drawall(); } }@@ -272,10 +271,8 @@ static void
leavenotify(XEvent *e) { XCrossingEvent *ev = &e->xcrossing; - if((ev->window == root) && !ev->same_screen) { + if((ev->window == root) && !ev->same_screen) issel = False; - drawall(); - } } static void@@ -329,7 +326,8 @@ break;
} if(ev->atom == XA_WM_NAME || ev->atom == netatom[NetWMName]) { updatetitle(c); - drawclient(c); + if(c == sel) + drawstatus(); } } }