diff --git a/dwm.c b/dwm.c index 97485d6..268b8c0 100644 --- a/dwm.c +++ b/dwm.c @@ -778,6 +778,7 @@ drawbar(Monitor *m) int boxw = drw->fonts->h / 6 + 2; unsigned int i, occ = 0, urg = 0; Client *c; + char *text, *s, ch; if (!m->showbar) return; @@ -788,27 +789,24 @@ drawbar(Monitor *m) drw->nobg = 1; } - /* draw status first so it can be overdrawn by tags later */ - if (m == selmon) { /* status is only drawn on selected monitor */ - char *text, *s, ch; - drw_setscheme(drw, scheme[SchemeNorm]); - - x = 0; - for (text = s = stext; *s; s++) { - if ((unsigned char)(*s) < ' ') { - ch = *s; - *s = '\0'; - tw = TEXTW(text) - lrpad; - drw_text(drw, m->ww - statusw + x, 0, tw, bh, 0, text, 0); - x += tw; - *s = ch; - text = s + 1; - } - } - tw = TEXTW(text) - lrpad + 2; - drw_text(drw, m->ww - statusw + x, 0, tw, bh, 0, text, 0); - tw = statusw; - } + /* draw status first so it can be overdrawn by tags later; + * statusallmons: the status is drawn on every monitor, not only selmon */ + drw_setscheme(drw, scheme[SchemeNorm]); + x = 0; + for (text = s = stext; *s; s++) { + if ((unsigned char)(*s) < ' ') { + ch = *s; + *s = '\0'; + tw = TEXTW(text) - lrpad; + drw_text(drw, m->ww - statusw + x, 0, tw, bh, 0, text, 0); + x += tw; + *s = ch; + text = s + 1; + } + } + tw = TEXTW(text) - lrpad + 2; + drw_text(drw, m->ww - statusw + x, 0, tw, bh, 0, text, 0); + tw = statusw; for (c = m->clients; c; c = c->next) { occ |= c->tags; @@ -2498,7 +2496,8 @@ updatestatus(void) statusw += TEXTW(text) - lrpad + 2; } - drawbar(selmon); + for (Monitor *m = mons; m; m = m->next) + drawbar(m); } void