removed a bunch of lines through swap removal
e7fa504c
5 file(s) · +11 −28
| 25 | 25 | int i; |
|
| 26 | 26 | dc.x = dc.y = 0; |
|
| 27 | 27 | dc.w = bw; |
|
| 28 | - | drawtext(NULL, False); |
|
| 28 | + | drawtext(NULL, False, False); |
|
| 29 | 29 | ||
| 30 | 30 | dc.w = 0; |
|
| 31 | 31 | for(i = 0; i < TLast; i++) { |
|
| 32 | 32 | dc.x += dc.w; |
|
| 33 | 33 | dc.w = textw(tags[i]) + dc.font.height; |
|
| 34 | - | if(i == tsel) { |
|
| 35 | - | swap((void **)&dc.fg, (void **)&dc.bg); |
|
| 36 | - | drawtext(tags[i], True); |
|
| 37 | - | swap((void **)&dc.fg, (void **)&dc.bg); |
|
| 38 | - | } |
|
| 39 | - | else |
|
| 40 | - | drawtext(tags[i], True); |
|
| 34 | + | drawtext(tags[i], i == tsel, True); |
|
| 41 | 35 | } |
|
| 42 | 36 | if(sel) { |
|
| 43 | - | swap((void **)&dc.fg, (void **)&dc.bg); |
|
| 44 | 37 | dc.x += dc.w; |
|
| 45 | 38 | dc.w = textw(sel->name) + dc.font.height; |
|
| 46 | - | drawtext(sel->name, True); |
|
| 47 | - | swap((void **)&dc.fg, (void **)&dc.bg); |
|
| 39 | + | drawtext(sel->name, True, True); |
|
| 48 | 40 | } |
|
| 49 | 41 | dc.w = textw(stext) + dc.font.height; |
|
| 50 | 42 | dc.x = bx + bw - dc.w; |
|
| 51 | - | drawtext(stext, False); |
|
| 43 | + | drawtext(stext, False, False); |
|
| 52 | 44 | XCopyArea(dpy, dc.drawable, barwin, dc.gc, 0, 0, bw, bh, 0, 0); |
|
| 53 | 45 | XFlush(dpy); |
|
| 54 | 46 | } |
| 598 | 598 | if(c->tags[i]) { |
|
| 599 | 599 | dc.x += dc.w; |
|
| 600 | 600 | dc.w = textw(c->tags[i]) + dc.font.height; |
|
| 601 | - | drawtext(c->tags[i], True); |
|
| 601 | + | drawtext(c->tags[i], False, True); |
|
| 602 | 602 | } |
|
| 603 | 603 | } |
|
| 604 | 604 | dc.x += dc.w; |
|
| 605 | 605 | dc.w = textw(c->name) + dc.font.height; |
|
| 606 | - | drawtext(c->name, True); |
|
| 606 | + | drawtext(c->name, False, True); |
|
| 607 | 607 | XCopyArea(dpy, dc.drawable, c->title, dc.gc, |
|
| 608 | 608 | 0, 0, c->tw, c->th, 0, 0); |
|
| 609 | 609 | XFlush(dpy); |
| 30 | 30 | } |
|
| 31 | 31 | ||
| 32 | 32 | void |
|
| 33 | - | drawtext(const char *text, Bool border) |
|
| 33 | + | drawtext(const char *text, Bool invert, Bool border) |
|
| 34 | 34 | { |
|
| 35 | 35 | int x, y, w, h; |
|
| 36 | 36 | unsigned int len; |
|
| 38 | 38 | XGCValues gcv; |
|
| 39 | 39 | XRectangle r = { dc.x, dc.y, dc.w, dc.h }; |
|
| 40 | 40 | ||
| 41 | - | XSetForeground(dpy, dc.gc, dc.bg); |
|
| 41 | + | XSetForeground(dpy, dc.gc, invert ? dc.fg : dc.bg); |
|
| 42 | 42 | XFillRectangles(dpy, dc.drawable, dc.gc, &r, 1); |
|
| 43 | 43 | ||
| 44 | 44 | w = 0; |
|
| 65 | 65 | if(w > dc.w) |
|
| 66 | 66 | return; /* too long */ |
|
| 67 | 67 | ||
| 68 | - | gcv.foreground = dc.fg; |
|
| 69 | - | gcv.background = dc.bg; |
|
| 68 | + | gcv.foreground = invert ? dc.bg : dc.fg; |
|
| 69 | + | gcv.background = invert ? dc.fg : dc.bg; |
|
| 70 | 70 | if(dc.font.set) { |
|
| 71 | 71 | XChangeGC(dpy, dc.gc, GCForeground | GCBackground, &gcv); |
|
| 72 | 72 | XmbDrawImageString(dpy, dc.drawable, dc.font.set, dc.gc, |
|
| 130 | 130 | extern void gravitate(Client *c, Bool invert); |
|
| 131 | 131 | ||
| 132 | 132 | /* draw.c */ |
|
| 133 | - | extern void drawtext(const char *text, Bool border); |
|
| 133 | + | extern void drawtext(const char *text, Bool invert, Bool border); |
|
| 134 | 134 | extern unsigned long initcolor(const char *colstr); |
|
| 135 | 135 | extern void initfont(const char *fontstr); |
|
| 136 | 136 | extern unsigned int textnw(char *text, unsigned int len); |
|
| 153 | 153 | extern void error(const char *errstr, ...); |
|
| 154 | 154 | extern void *emallocz(unsigned int size); |
|
| 155 | 155 | extern void spawn(Arg *arg); |
|
| 156 | - | extern void swap(void **p1, void **p2); |
|
| 39 | 39 | } |
|
| 40 | 40 | ||
| 41 | 41 | void |
|
| 42 | - | swap(void **p1, void **p2) |
|
| 43 | - | { |
|
| 44 | - | void *tmp = *p1; |
|
| 45 | - | *p1 = *p2; |
|
| 46 | - | *p2 = tmp; |
|
| 47 | - | } |
|
| 48 | - | ||
| 49 | - | void |
|
| 50 | 42 | spawn(Arg *arg) |
|
| 51 | 43 | { |
|
| 52 | 44 | char **argv = (char **)arg->argv; |