dwm

Extremely fast, small, and dynamic window manager for X
git clone git://git.janpasierb.com/dwm.git
Log | Files | Refs | README | LICENSE

commit f8181f64e2ba4fca4e85036c48cf90a2151794fc
parent 0045ad87dfb32f35fc17b5b8942049cfe84d623c
Author: Anselm R. Garbe <arg@suckless.org>
Date:   Mon, 15 Jan 2007 12:04:25 +0100

removed drawclient and drawall (they performed useless operations/consumed useless cpu cycles)
Diffstat:
Mclient.c | 5+++--
Mdraw.c | 20--------------------
Mdwm.h | 2--
Mevent.c | 8+++-----
Mview.c | 1-
5 files changed, 6 insertions(+), 30 deletions(-)

diff --git a/client.c b/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 * diff --git a/draw.c b/draw.c @@ -98,15 +98,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); diff --git a/dwm.h b/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*/ diff --git a/event.c b/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(); } } } diff --git a/view.c b/view.c @@ -200,7 +200,6 @@ restack(void) { XLowerWindow(dpy, c->win); } } - drawall(); XSync(dpy, False); while(XCheckMaskEvent(dpy, EnterWindowMask, &ev)); }