dwm

my heavily-patched and customized dwm build
git clone git://git.kocotian.pl/dwm.git
Log | Files | Refs | README | LICENSE

commit 00ad78a08c95dce62688490b8bd242a06d962d25
parent be8bd5059f8399120fe73c886391d95516232425
Author: kocotian <kocotian@kocotian.pl>
Date:   Sat, 12 Dec 2020 13:19:21 +0100

centered winname

Diffstat:
Mdwm.c | 6+++++-
Mdwm.c.orig | 9+++++++++
Mdwm.c.rej | 29++++++++++++++---------------
Mpatches/dwm-centeredwindowname-20200723-f035e1e.diff | 0
4 files changed, 28 insertions(+), 16 deletions(-)

diff --git a/dwm.c b/dwm.c @@ -932,8 +932,12 @@ drawbar(Monitor *m) if ((w = m->ww - tw - x) > bh) { if (m->sel) { + /* fix overflow when window name is bigger than window width */ + int mid = (m->ww - (int)TEXTW(m->sel->name)) / 2 - x; + /* make sure name will not overlap on tags even when it is very long */ + mid = mid >= lrpad / 2 ? mid : lrpad / 2; drw_setscheme(drw, scheme[m == selmon ? SchemeInfoSel : SchemeInfoNorm]); - drw_text(drw, x, 0, w, bh, lrpad / 2, m->sel->name, 0); + drw_text(drw, x, 0, w, bh, mid, m->sel->name, 0); if (m->sel->isfloating) drw_rect(drw, x + boxs, boxs, boxw, boxw, m->sel->isfixed, 0); } else { diff --git a/dwm.c.orig b/dwm.c.orig @@ -1535,6 +1535,15 @@ resizeclient(Client *c, int x, int y, int w, int h) if ((nexttiled(c->mon->clients) == c) && !(nexttiled(c->next))) resetlayout(NULL); + if (((nexttiled(c->mon->clients) == c && !nexttiled(c->next)) + || &monocle == c->mon->lt[c->mon->sellt]->arrange) + && !c->isfullscreen && !c->isfloating + && NULL != c->mon->lt[c->mon->sellt]->arrange) { + c->w = wc.width += c->bw * 2; + c->h = wc.height += c->bw * 2; + wc.border_width = 0; + } + XConfigureWindow(dpy, c->win, CWX|CWY|CWWidth|CWHeight|CWBorderWidth, &wc); configure(c); XSync(dpy, False); diff --git a/dwm.c.rej b/dwm.c.rej @@ -1,17 +1,16 @@ --- dwm.c +++ dwm.c -@@ -1282,6 +1282,14 @@ resizeclient(Client *c, int x, int y, int w, int h) - c->oldw = c->w; c->w = wc.width = w; - c->oldh = c->h; c->h = wc.height = h; - wc.border_width = c->bw; -+ if (((nexttiled(c->mon->clients) == c && !nexttiled(c->next)) -+ || &monocle == c->mon->lt[c->mon->sellt]->arrange) -+ && !c->isfullscreen && !c->isfloating -+ && NULL != c->mon->lt[c->mon->sellt]->arrange) { -+ c->w = wc.width += c->bw * 2; -+ c->h = wc.height += c->bw * 2; -+ wc.border_width = 0; -+ } - XConfigureWindow(dpy, c->win, CWX|CWY|CWWidth|CWHeight|CWBorderWidth, &wc); - configure(c); - XSync(dpy, False); +@@ -731,8 +731,12 @@ drawbar(Monitor *m) + + if ((w = m->ww - tw - x) > bh) { + if (m->sel) { ++ /* fix overflow when window name is bigger than window width */ ++ int mid = (m->ww - (int)TEXTW(m->sel->name)) / 2 - x; ++ /* make sure name will not overlap on tags even when it is very long */ ++ mid = mid >= lrpad / 2 ? mid : lrpad / 2; + drw_setscheme(drw, scheme[m == selmon ? SchemeSel : SchemeNorm]); +- drw_text(drw, x, 0, w, bh, lrpad / 2, m->sel->name, 0); ++ drw_text(drw, x, 0, w, bh, mid, m->sel->name, 0); + if (m->sel->isfloating) + drw_rect(drw, x + boxs, boxs, boxw, boxw, m->sel->isfixed, 0); + } else { diff --git a/patches/dwm-centeredwindowname-20200723-f035e1e.diff b/patches/dwm-centeredwindowname-20200723-f035e1e.diff