]> code.delx.au - spectrwm/blobdiff - spectrwm.c
allow core fonts to load again. this may need more magic.
[spectrwm] / spectrwm.c
index 4ec19672f53e49f8c5349fc0dc892f4c076bbbf3..596db238d92ef2023adc0cab897e751180b00ec2 100644 (file)
@@ -1866,7 +1866,8 @@ bar_refresh(void)
 void
 bar_setup(struct swm_region *r)
 {
-       char                    *font;
+       char                    *font, *fontpos;
+       int                     count;
        xcb_screen_t            *screen = get_screen(r->s->idx);
        uint32_t                wa[3];
        XRenderColor            color;
@@ -1883,7 +1884,20 @@ bar_setup(struct swm_region *r)
                                continue;
 
                        DNPRINTF(SWM_D_INIT, "bar_setup: try font %s\n", font);
-                       bar_font = XftFontOpenName(display, r->s->idx, font);
+
+                       count = 0;
+                       fontpos = font;
+                       while ((fontpos = index(fontpos, '-'))) {
+                               count++;
+                               fontpos++;
+                       }
+
+                       if (count == 14)
+                               bar_font = XftFontOpenXlfd(display, r->s->idx,
+                                               font);
+                       else
+                               bar_font = XftFontOpenName(display, r->s->idx,
+                                               font);
                        if (!bar_font) {
                                warnx("unable to load font %s", font);
                                continue;