Browse Source

removed drawclient and drawall (they performed useless operations/consumed useless cpu cycles)

Anselm R. Garbe 19 years ago
parent
commit
f8181f64e2
5 changed files with 6 additions and 30 deletions
  1. 3 2
      client.c
  2. 0 20
      draw.c
  3. 0 2
      dwm.h
  4. 3 5
      event.c
  5. 0 1
      view.c

+ 3 - 2
client.c

@@ -90,7 +90,7 @@ focus(Client *c) {
 		sel = c;
 		if(old) {
 			grabbuttons(old, False);
-			drawclient(old);
+			XSetWindowBorder(dpy, old->win, dc.norm[ColBorder]);
 		}
 	}
 	if(c) {
@@ -98,11 +98,12 @@ focus(Client *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 *

+ 0 - 20
draw.c

@@ -97,15 +97,6 @@ drawtext(const char *text, unsigned long col[ColLast], Bool filledsquare, Bool e
 
 /* extern */
 
-void
-drawall(void) {
-	Client *c;
-
-	for(c = clients; c; c = getnext(c->next))
-		drawclient(c);
-	drawstatus();
-}
-
 void
 drawstatus(void) {
 	int i, x;
@@ -137,17 +128,6 @@ drawstatus(void) {
 	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);
-}
-
 unsigned long
 getcolor(const char *colstr) {
 	Colormap cmap = DefaultColormap(dpy, screen);

+ 0 - 2
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*/

+ 3 - 5
event.c

@@ -235,7 +235,6 @@ enternotify(XEvent *e) {
 	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 @@ propertynotify(XEvent *e) {
 		}
 		if(ev->atom == XA_WM_NAME || ev->atom == netatom[NetWMName]) {
 			updatetitle(c);
-			drawclient(c);
+			if(c == sel)
+				drawstatus();
 		}
 	}
 }

+ 0 - 1
view.c

@@ -200,7 +200,6 @@ restack(void) {
 			XLowerWindow(dpy, c->win);
 		}
 	}
-	drawall();
 	XSync(dpy, False);
 	while(XCheckMaskEvent(dpy, EnterWindowMask, &ev));
 }