diff options
-rw-r--r-- | client.c | 5 | ||||
-rw-r--r-- | draw.c | 20 | ||||
-rw-r--r-- | dwm.h | 2 | ||||
-rw-r--r-- | event.c | 8 | ||||
-rw-r--r-- | view.c | 1 |
5 files changed, 6 insertions, 30 deletions
diff --git a/client.c b/client.c index af13797..b122427 100644 --- 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 index 19604f3..fe2951c 100644 --- 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 index 3789373..03f8c1f 100644 --- 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 index a9d2fbb..a809511 100644 --- 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 index 935525f..bc1f4e2 100644 --- 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)); } |