changeset 1151 | 8b2bff54fd0f |
parent 1150 | 40b2b183073b |
child 1152 | 960659820908 |
1150:40b2b183073b | 1151:8b2bff54fd0f |
---|---|
208 |
208 |
209 /* variables */ |
209 /* variables */ |
210 char stext[256], buf[256]; |
210 char stext[256], buf[256]; |
211 int screen, sx, sy, sw, sh; |
211 int screen, sx, sy, sw, sh; |
212 int (*xerrorxlib)(Display *, XErrorEvent *); |
212 int (*xerrorxlib)(Display *, XErrorEvent *); |
213 int bx, by, bw, bh, blw, mx, my, mw, mh, mox, moy, mow, moh, tx, ty, tw, th, wx, wy, ww, wh; |
213 int bx, by, bw, bh, blw, bgw, mx, my, mw, mh, mox, moy, mow, moh, tx, ty, tw, th, wx, wy, ww, wh; |
214 unsigned int numlockmask = 0; |
214 unsigned int numlockmask = 0; |
215 void (*handler[LASTEvent]) (XEvent *) = { |
215 void (*handler[LASTEvent]) (XEvent *) = { |
216 [ButtonPress] = buttonpress, |
216 [ButtonPress] = buttonpress, |
217 [ConfigureRequest] = configurerequest, |
217 [ConfigureRequest] = configurerequest, |
218 [ConfigureNotify] = configurenotify, |
218 [ConfigureNotify] = configurenotify, |
320 unsigned int i, x; |
320 unsigned int i, x; |
321 Client *c; |
321 Client *c; |
322 XButtonPressedEvent *ev = &e->xbutton; |
322 XButtonPressedEvent *ev = &e->xbutton; |
323 |
323 |
324 if(ev->window == barwin) { |
324 if(ev->window == barwin) { |
325 x = 0; |
325 x = bgw; |
326 for(i = 0; i < LENGTH(tags); i++) { |
326 for(i = 0; i < LENGTH(tags); i++) { |
327 x += textw(tags[i]); |
327 x += textw(tags[i]); |
328 if(ev->x < x) { |
328 if(ev->x > bgw && ev->x < x) { |
329 if(ev->button == Button1) { |
329 if(ev->button == Button1) { |
330 if(ev->state & MODKEY) |
330 if(ev->state & MODKEY) |
331 tag(tags[i]); |
331 tag(tags[i]); |
332 else |
332 else |
333 view(tags[i]); |
333 view(tags[i]); |
512 drawbar(void) { |
512 drawbar(void) { |
513 int i, x; |
513 int i, x; |
514 Client *c; |
514 Client *c; |
515 |
515 |
516 dc.x = 0; |
516 dc.x = 0; |
517 dc.w = bgw; |
|
518 drawtext(geom->symbol, dc.norm, False); |
|
519 dc.x += bgw; |
|
517 for(c = stack; c && !isvisible(c); c = c->snext); |
520 for(c = stack; c && !isvisible(c); c = c->snext); |
518 for(i = 0; i < LENGTH(tags); i++) { |
521 for(i = 0; i < LENGTH(tags); i++) { |
519 dc.w = textw(tags[i]); |
522 dc.w = textw(tags[i]); |
520 if(seltags[i]) { |
523 if(seltags[i]) { |
521 drawtext(tags[i], dc.sel, isurgent(i)); |
524 drawtext(tags[i], dc.sel, isurgent(i)); |
852 |
855 |
853 unsigned int |
856 unsigned int |
854 idxoftag(const char *t) { |
857 idxoftag(const char *t) { |
855 unsigned int i; |
858 unsigned int i; |
856 |
859 |
857 for(i = 0; (i < LENGTH(tags)) && (tags[i] != t); i++); |
860 for(i = 0; (i < LENGTH(tags)) && strcmp(tags[i], t); i++); |
858 return (i < LENGTH(tags)) ? i : 0; |
861 return (i < LENGTH(tags)) ? i : 0; |
859 } |
862 } |
860 |
863 |
861 void |
864 void |
862 initfont(const char *fontstr) { |
865 initfont(const char *fontstr) { |
1499 for(blw = i = 0; i < LENGTH(layouts); i++) { |
1502 for(blw = i = 0; i < LENGTH(layouts); i++) { |
1500 i = textw(layouts[i].symbol); |
1503 i = textw(layouts[i].symbol); |
1501 if(i > blw) |
1504 if(i > blw) |
1502 blw = i; |
1505 blw = i; |
1503 } |
1506 } |
1507 for(bgw = i = 0; i < LENGTH(geoms); i++) { |
|
1508 i = textw(geoms[i].symbol); |
|
1509 if(i > bgw) |
|
1510 bgw = i; |
|
1511 } |
|
1504 |
1512 |
1505 wa.override_redirect = 1; |
1513 wa.override_redirect = 1; |
1506 wa.background_pixmap = ParentRelative; |
1514 wa.background_pixmap = ParentRelative; |
1507 wa.event_mask = ButtonPressMask|ExposureMask; |
1515 wa.event_mask = ButtonPressMask|ExposureMask; |
1508 |
1516 |