commit 94226889e9cdcf12c4605a55dc9f072bcac515ee
parent bf4baf24dc31b998eb3cb7f4b622bf014b7077e2
Author: Kris Maglione <bsdaemon@wmii.de>
Date: Fri, 23 Jun 2006 02:12:01 -0400
Minor fix in bar alignment. Replaced test tags with def.testtags in /ctl (please don't commit broken code). Centered text horizonatlly in tag box.
Diffstat:
5 files changed, 18 insertions(+), 13 deletions(-)
diff --git a/cmd/wm/bar.c b/cmd/wm/bar.c
@@ -110,22 +110,20 @@ draw_bar()
}
if(b) { /* give all bars same width */
- /* finish counting */
- for( ;nb; b = rbar, nb--)
+ for( ;nb; b = rbar, nb--) /* finish counting */
for(; b; b=b->next, size++);
w = brect.width / size;
- for(b = lbar, nb=2 ;nb; b = rbar, nb--) {
- for(; b; b=b->next) {
+ for(b = lbar, nb=2 ;nb; b = rbar, nb--)
+ for(; b; b=b->next, i++) {
b->brush.rect.x = i * w;
b->brush.rect.width = w;
}
- }
}
else { /* expand rbar properly */
if(rbar)
rbar->brush.rect.width += (brect.width - w);
- for(b=lbar, nb=2 ;nb--; b = rbar)
+ for(b=lbar, nb=2 ;nb; b = rbar, nb--)
for(; b; prev = b, b=b->next)
if(prev) b->brush.rect.x = prev->brush.rect.x + prev->brush.rect.width;
}
diff --git a/cmd/wm/frame.c b/cmd/wm/frame.c
@@ -144,7 +144,6 @@ draw_frame(Frame *f)
Frame *p;
unsigned int fidx, size, w;
char buf[256];
- char *test = "tag1 tag2 tag3 tag4 | xterm";
for(fidx=0, p=f->area->frame; p && p != f; p=p->anext, fidx++);
for(size=fidx; p; p=p->anext, size++);
@@ -168,9 +167,9 @@ draw_frame(Frame *f)
/* tag bar */
f->tagbar.rect = f->posbar.rect;
f->tagbar.rect.x = 0;
- f->tagbar.rect.width =
-/* f->tagbar.rect.height + blitz_textwidth(&def.font, f->client->tags);*/
- f->tagbar.rect.height + blitz_textwidth(&def.font, test);
+ f->tagbar.rect.width = def.testtags ?
+ f->tagbar.rect.height + blitz_textwidth(&def.font, def.testtags) :
+ f->tagbar.rect.height + blitz_textwidth(&def.font, f->client->tags);
if(f->tagbar.rect.width > f->rect.width / 3)
f->tagbar.rect.width = f->rect.width / 3;
@@ -180,7 +179,7 @@ draw_frame(Frame *f)
f->titlebar.rect.width = f->rect.width - (f->tagbar.rect.width + f->posbar.rect.width);
blitz_draw_tile(&f->tile);
- f->tagbar.text = test;/*f->client->tags;*/
+ f->tagbar.text = def.testtags ? def.testtags : f->client->tags;
blitz_draw_input(&f->tagbar);
blitz_draw_label(&f->titlebar, f->client->name);
blitz_draw_label(&f->posbar, buf);
diff --git a/cmd/wm/fs.c b/cmd/wm/fs.c
@@ -288,6 +288,11 @@ message_root(char *message)
return Ebadvalue;
def.border = n;
return nil;
+ }if(!strncmp(message, "testtags ", 9)) {
+ message += 9;
+ free(def.testtags);
+ def.testtags = strdup(message);
+ draw_frames();
}
return Ebadcmd;
}
@@ -306,6 +311,8 @@ read_root_ctl()
i += snprintf(&buf[i], (BUF_SIZE - i), "font %s\n", def.font.fontstr);
i += snprintf(&buf[i], (BUF_SIZE - i), "grabmod %s\n", def.grabmod);
i += snprintf(&buf[i], (BUF_SIZE - i), "border %d\n", def.border);
+ if(def.testtags)
+ i += snprintf(&buf[i], (BUF_SIZE - i), "testtags %s\n", def.testtags);
return buf;
}
diff --git a/cmd/wm/wm.h b/cmd/wm/wm.h
@@ -153,6 +153,7 @@ typedef struct {
unsigned int border;
unsigned int snap;
char *keys;
+ char *testtags;
unsigned int keyssz;
Rules tagrules;
Rules colrules;
diff --git a/liblitz/input.c b/liblitz/input.c
@@ -60,8 +60,8 @@ xget_fontmetric(BlitzInput *i, int *x, int *y, unsigned int *w, unsigned int *h)
{
*w = i->font->rbearing - i->font->lbearing;
*h = i->font->ascent + i->font->descent;
- *x = i->rect.x;
- *y = i->rect.y + i->rect.height / 2 - *h / 2 + i->font->ascent;
+ *x = i->rect.x + (i->rect.width - *w) / 2;;
+ *y = i->rect.y + (i->rect.height - *h) / 2 + i->font->ascent;
}
void