diff -r f5a7f9c6c5ac cmd/wmii/bar.c --- a/cmd/wmii/bar.c Sun Feb 01 07:50:57 2009 -0500 +++ b/cmd/wmii/bar.c Wed Feb 04 14:05:20 2009 +0100 @@ -20,7 +20,7 @@ } s->brect = s->r; - s->brect.min.y = s->brect.max.y - labelh(def.font); + s->brect.min.y = s->brect.max.y - labelh(def.barfont); wa.override_redirect = 1; wa.background_pixmap = ParentRelative; @@ -42,7 +42,7 @@ bar_resize(WMScreen *s) { s->brect = s->r; - s->brect.min.y = s->r.max.y - labelh(def.font); + s->brect.min.y = s->r.max.y - labelh(def.barfont); reshapewin(s->barwin, s->brect); /* FIXME: view_arrange. */ } @@ -126,9 +126,9 @@ foreach_bar(s, b) { b->r.min = ZP; b->r.max.y = Dy(s->brect); - b->r.max.x = def.font->height & ~1; + b->r.max.x = def.barfont->height & ~1; if(b->text && strlen(b->text)) - b->r.max.x += textwidth(def.font, b->text); + b->r.max.x += textwidth(def.barfont, b->text); width += Dx(b->r); } @@ -174,7 +174,7 @@ if(b == s->bar[BRight]) align = East; fill(disp.ibuf, b->r, b->col.bg); - drawstring(disp.ibuf, def.font, b->r, align, b->text, b->col.fg); + drawstring(disp.ibuf, def.barfont, b->r, align, b->text, b->col.fg); border(disp.ibuf, b->r, 1, b->col.border); } copyimage(s->barwin, r, disp.ibuf, ZP); diff -r f5a7f9c6c5ac cmd/wmii/dat.h --- a/cmd/wmii/dat.h Sun Feb 01 07:50:57 2009 -0500 +++ b/cmd/wmii/dat.h Wed Feb 04 14:05:20 2009 +0100 @@ -18,6 +18,7 @@ #include #define FONT "-*-fixed-medium-r-*-*-13-*-*-*-*-*-*-*" +#define BARFONT "-*-fixed-medium-r-*-*-13-*-*-*-*-*-*-*" #define FOCUSCOLORS "#ffffff #335577 #447799" #define NORMCOLORS "#222222 #eeeeee #666666" @@ -308,6 +309,7 @@ CTuple focuscolor; CTuple normcolor; Font* font; + Font* barfont; char* keys; uint keyssz; Ruleset tagrules; diff -r f5a7f9c6c5ac cmd/wmii/main.c --- a/cmd/wmii/main.c Sun Feb 01 07:50:57 2009 -0500 +++ b/cmd/wmii/main.c Wed Feb 04 14:05:20 2009 +0100 @@ -396,6 +396,7 @@ def.border = 1; def.colmode = Colstack; def.font = loadfont(FONT); + def.barfont = loadfont(BARFONT); def.incmode = ISqueeze; def.mod = Mod1Mask; diff -r f5a7f9c6c5ac cmd/wmii/message.c --- a/cmd/wmii/message.c Sun Feb 01 07:50:57 2009 -0500 +++ b/cmd/wmii/message.c Wed Feb 04 14:05:20 2009 +0100 @@ -27,6 +27,7 @@ LFULLSCREEN, LURGENT, LBAR, + LBARFONT, LBORDER, LCLIENT, LCOLMODE, @@ -60,6 +61,7 @@ "Fullscreen", "Urgent", "bar", + "barfont", "border", "client", "colmode", @@ -457,6 +459,17 @@ s = msg_getword(m); if(!setdef(&screen->barpos, s, barpostab, nelem(barpostab))) return Ebadvalue; + view_update(selview); + break; + case LBARFONT: + fn = loadfont(m->pos); + if(fn) { + freefont(def.barfont); + def.barfont = fn; + for(n=0; n < nscreens; n++) + bar_resize(screens[n]); + }else + ret = "can't load font"; view_update(selview); break; case LBORDER: