diff options
author | Eddy Pedroni <epedroni@pm.me> | 2023-12-16 17:53:36 +0100 |
---|---|---|
committer | Eddy Pedroni <epedroni@pm.me> | 2023-12-16 17:53:36 +0100 |
commit | 24ddb4b3399cf9abd5118081bbfcab8ae9046a72 (patch) | |
tree | a7458c6429e0db1653a8607de7bffe09360824f4 /dwm.c | |
parent | e05bcf6982cc0b098a4b8276da5a80dd36f98e17 (diff) |
Apply statuscolors-20220322-bece862 cleanly
Diffstat (limited to 'dwm.c')
-rw-r--r-- | dwm.c | 18 |
1 files changed, 16 insertions, 2 deletions
@@ -59,7 +59,7 @@ /* enums */ enum { CurNormal, CurResize, CurMove, CurLast }; /* cursor */ -enum { SchemeNorm, SchemeSel }; /* color schemes */ +enum { SchemeNorm, SchemeSel, SchemeWarn, SchemeUrgent }; /* color schemes */ enum { NetSupported, NetWMName, NetWMState, NetWMCheck, NetWMFullscreen, NetActiveWindow, NetWMWindowType, NetWMWindowTypeDialog, NetClientList, NetLast }; /* EWMH atoms */ @@ -785,6 +785,10 @@ drawbar(Monitor *m) int boxs = drw->fonts->h / 9; int boxw = drw->fonts->h / 6 + 2; unsigned int i, occ = 0, urg = 0; + char *ts = stext; + char *tp = stext; + int tx = 0; + char ctmp; Client *c; if (!m->showbar) @@ -794,7 +798,17 @@ drawbar(Monitor *m) if (m == selmon) { /* status is only drawn on selected monitor */ drw_setscheme(drw, scheme[SchemeNorm]); tw = TEXTW(stext) - lrpad + 2; /* 2px right padding */ - drw_text(drw, m->ww - tw, 0, tw, bh, 0, stext, 0); + while (1) { + if ((unsigned int)*ts > LENGTH(colors)) { ts++; continue ; } + ctmp = *ts; + *ts = '\0'; + drw_text(drw, m->ww - tw + tx, 0, tw - tx, bh, 0, tp, 0); + tx += TEXTW(tp) -lrpad; + if (ctmp == '\0') { break; } + drw_setscheme(drw, scheme[(unsigned int)(ctmp-1)]); + *ts = ctmp; + tp = ++ts; + } } for (c = m->clients; c; c = c->next) { |