geoms are now drawed in the status bar

This commit is contained in:
Anselm R Garbe
2008-03-17 16:26:06 +00:00
parent aa2395b6a8
commit fe6b0c0fc1
2 changed files with 16 additions and 8 deletions

16
dwm.c
View File

@ -210,7 +210,7 @@ void zoom(const char *arg);
char stext[256], buf[256];
int screen, sx, sy, sw, sh;
int (*xerrorxlib)(Display *, XErrorEvent *);
int bx, by, bw, bh, blw, mx, my, mw, mh, mox, moy, mow, moh, tx, ty, tw, th, wx, wy, ww, wh;
int bx, by, bw, bh, blw, bgw, mx, my, mw, mh, mox, moy, mow, moh, tx, ty, tw, th, wx, wy, ww, wh;
unsigned int numlockmask = 0;
void (*handler[LASTEvent]) (XEvent *) = {
[ButtonPress] = buttonpress,
@ -322,10 +322,10 @@ buttonpress(XEvent *e) {
XButtonPressedEvent *ev = &e->xbutton;
if(ev->window == barwin) {
x = 0;
x = bgw;
for(i = 0; i < LENGTH(tags); i++) {
x += textw(tags[i]);
if(ev->x < x) {
if(ev->x > bgw && ev->x < x) {
if(ev->button == Button1) {
if(ev->state & MODKEY)
tag(tags[i]);
@ -514,6 +514,9 @@ drawbar(void) {
Client *c;
dc.x = 0;
dc.w = bgw;
drawtext(geom->symbol, dc.norm, False);
dc.x += bgw;
for(c = stack; c && !isvisible(c); c = c->snext);
for(i = 0; i < LENGTH(tags); i++) {
dc.w = textw(tags[i]);
@ -854,7 +857,7 @@ unsigned int
idxoftag(const char *t) {
unsigned int i;
for(i = 0; (i < LENGTH(tags)) && (tags[i] != t); i++);
for(i = 0; (i < LENGTH(tags)) && strcmp(tags[i], t); i++);
return (i < LENGTH(tags)) ? i : 0;
}
@ -1501,6 +1504,11 @@ setup(void) {
if(i > blw)
blw = i;
}
for(bgw = i = 0; i < LENGTH(geoms); i++) {
i = textw(geoms[i].symbol);
if(i > bgw)
bgw = i;
}
wa.override_redirect = 1;
wa.background_pixmap = ParentRelative;