summaryrefslogtreecommitdiffhomepage
path: root/patch/bar_fancybar.c
diff options
context:
space:
mode:
authorbakkeby <[email protected]>2021-07-27 13:40:53 +0200
committerbakkeby <[email protected]>2021-07-27 13:40:53 +0200
commitf8ae6714db02a42856c07066f689136999f6ad77 (patch)
tree06a753cb58aa7ef3526afdf5d0325e2a520b5de9 /patch/bar_fancybar.c
parentd72bc90cdc231ebf71530d1cd17e63b5cdf8eb96 (diff)
downloaddwm-flexipatch-f8ae6714db02a42856c07066f689136999f6ad77.tar.gz
dwm-flexipatch-f8ae6714db02a42856c07066f689136999f6ad77.zip
Adding winicon patch
Diffstat (limited to 'patch/bar_fancybar.c')
-rw-r--r--patch/bar_fancybar.c21
1 files changed, 20 insertions, 1 deletions
diff --git a/patch/bar_fancybar.c b/patch/bar_fancybar.c
index 3017161..10bac83 100644
--- a/patch/bar_fancybar.c
+++ b/patch/bar_fancybar.c
@@ -29,6 +29,10 @@ draw_fancybar(Bar *bar, BarArg *a)
if (n > 0) {
ftw = TEXTW(m->sel->name);
+ #if BAR_WINICON_PATCH
+ if (m->sel->icon)
+ ftw += m->sel->icon->width + ICONSPACING;
+ #endif // BAR_WINICON_PATCH
mw = (ftw >= w || n == 1) ? 0 : (w - ftw) / (n - 1);
i = 0;
@@ -37,6 +41,10 @@ draw_fancybar(Bar *bar, BarArg *a)
if (!ISVISIBLE(c) || c == m->sel)
continue;
ftw = TEXTW(c->name);
+ #if BAR_WINICON_PATCH
+ if (c->icon)
+ ftw += c->icon->width + ICONSPACING;
+ #endif // BAR_WINICON_PATCH
if (ftw < mw)
ew += (mw - ftw);
else
@@ -51,8 +59,19 @@ draw_fancybar(Bar *bar, BarArg *a)
continue;
ftw = MIN(m->sel == c ? w : mw, TEXTW(c->name));
drw_setscheme(drw, scheme[m->sel == c ? SchemeTitleSel : SchemeTitleNorm]);
- if (ftw > 0) /* trap special handling of 0 in drw_text */
+ if (ftw > 0) { /* trap special handling of 0 in drw_text */
+
+ drw_text(drw, x, a->y, ftw, a->h, lrpad / 2, c->name, 0, False);
+
+ #if BAR_WINICON_PATCH
+ drw_text(drw, x, a->y, ftw, a->h, lrpad / 2 + (c->icon ? c->icon->width + ICONSPACING : 0), c->name, 0, False);
+ if (c->icon)
+ drw_img(drw, x + lrpad / 2, a->y + (a->h - c->icon->height) / 2, c->icon, tmpicon);
+ #else
drw_text(drw, x, a->y, ftw, a->h, lrpad / 2, c->name, 0, False);
+ #endif // BAR_WINICON_PATCH
+
+ }
drawstateindicator(c->mon, c, 1, x, a->y, ftw, a->h, 0, 0, c->isfixed);
x += ftw;
w -= ftw;