summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--client.c5
-rw-r--r--draw.c20
-rw-r--r--dwm.h2
-rw-r--r--event.c8
-rw-r--r--view.c1
5 files changed, 6 insertions, 30 deletions
diff --git a/client.c b/client.c
index af137970..b122427c 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 19604f35..fe2951ce 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 37893739..03f8c1f5 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 a9d2fbbf..a8095116 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 935525fb..bc1f4e25 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));
}