wmii

git clone git://oldgit.suckless.org/wmii/
Log | Files | Refs | README | LICENSE

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:
cmd/wm/bar.c | 10++++------
cmd/wm/frame.c | 9++++-----
cmd/wm/fs.c | 7+++++++
cmd/wm/wm.h | 1+
liblitz/input.c | 4++--
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