dwm-coolbar-1.0.diff (1437B)
1 diff '--color=auto' -up dwm.bak/dwm.c dwm/dwm.c 2 --- dwm.bak/dwm.c 2025-12-30 15:53:43.279974892 +0000 3 +++ dwm/dwm.c 2025-12-30 15:57:18.375476286 +0000 4 @@ -701,7 +701,7 @@ drawbar(Monitor *m) 5 int boxs = drw->fonts->h / 9; 6 int boxw = drw->fonts->h / 6 + 2; 7 unsigned int i, occ = 0, urg = 0; 8 - Client *c; 9 + Client *c, *current; 10 11 if (!m->showbar) 12 return; 13 @@ -734,11 +734,27 @@ drawbar(Monitor *m) 14 x = drw_text(drw, x, 0, w, bh, lrpad / 2, m->ltsymbol, 0); 15 16 if ((w = m->ww - tw - x) > bh) { 17 + drw_rect(drw, x, 0, w, bh, 1, 1); 18 if (m->sel) { 19 - drw_setscheme(drw, scheme[m == selmon ? SchemeSel : SchemeNorm]); 20 - drw_text(drw, x, 0, w, bh, lrpad / 2, m->sel->name, 0); 21 - if (m->sel->isfloating) 22 - drw_rect(drw, x + boxs, boxs, boxw, boxw, m->sel->isfixed, 0); 23 + current = m->clients; 24 + while (current) { 25 + if (!ISVISIBLE(current)) 26 + goto skip; 27 + 28 + tw = TEXTW(current->name); 29 + drw_setscheme(drw, scheme[m == selmon ? ((m->sel == current) ? SchemeSel : SchemeNorm) : SchemeNorm]); 30 + drw_text(drw, x, 0, tw, bh, lrpad / 2, current->name, 0); 31 + 32 + if (current->isfloating) 33 + drw_rect(drw, x + boxs, boxs, boxw, boxw, m->sel->isfixed, 0); 34 + 35 + x += tw; 36 + if (x > m->mw - TEXTW(stext)) 37 + break; 38 + 39 +skip: 40 + current = current->next; 41 + } 42 } else { 43 drw_setscheme(drw, scheme[SchemeNorm]); 44 drw_rect(drw, x, 0, w, bh, 1, 1); 45 Common subdirectories: dwm.bak/.git and dwm/.git