diff options
Diffstat (limited to 'dwm.c')
-rw-r--r-- | dwm.c | 10 |
1 files changed, 6 insertions, 4 deletions
@@ -881,6 +881,7 @@ void drawbar(Monitor *m) { int x, w, tw = 0; + int tlpad; int boxs = drw->fonts->h / 9; int boxw = drw->fonts->h / 6 + 2; unsigned int i, occ = 0, urg = 0; @@ -918,12 +919,13 @@ drawbar(Monitor *m) if ((w = m->ww - tw - x) > bh) { if (m->sel) { - drw_setscheme(drw, scheme[m == selmon ? SchemeSel : SchemeNorm]); - drw_text(drw, x, 0, w - 2 * sp, bh, lrpad / 2, m->sel->name, 0); + drw_setscheme(drw, scheme[m == selmon ? SchemeNorm : SchemeNorm]); + tlpad = MAX((m->ww - ((int)TEXTW(m->sel->name) - lrpad)) / 2 - x, lrpad / 2); + drw_text(drw, x, 0, w - 2 * sp, bh, tlpad, m->sel->name, 0); if (m->sel->isfloating) { - drw_rect(drw, x + boxs, boxs, boxw, boxw, m->sel->isfixed, 0); + drw_rect(drw, x + boxs + tlpad - lrpad / 2, boxs, boxw, boxw, m->sel->isfixed, 0); if (m->sel->isalwaysontop) - drw_rect(drw, x + boxs, bh - boxw, boxw, boxw, 0, 0); + drw_rect(drw, x + boxs + tlpad - lrpad / 2, bh - boxw, boxw, boxw, 0, 0); } } else { drw_setscheme(drw, scheme[SchemeNorm]); |