summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJackson Taylor <jtaylormuffins@gmail.com>2020-07-05 03:06:26 +0000
committerJackson Taylor <jtaylor@classicalconversations.com>2022-02-07 10:19:29 -0500
commit36aa2d70be3ac8a2b0add76c158be5452caa6aab (patch)
treead62a8fbde598741d2aeaa3548ed90bb7add3878
parentc9f179efd41ae6c5878e80db42cfc1a5de8903a5 (diff)
Add centered window name patch
-rw-r--r--dwm.c5
-rw-r--r--patches/dwm-centeredwindowname-20190907-cb3f58a.diff30
2 files changed, 34 insertions, 1 deletions
diff --git a/dwm.c b/dwm.c
index a416cf5d..2f262d9f 100644
--- a/dwm.c
+++ b/dwm.c
@@ -754,8 +754,11 @@ drawbar(Monitor *m)
if ((w = m->ww - tw - x) > bh) {
if (m->sel) {
+ int mid = (m->ww - 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-20190907-cb3f58a.diff b/patches/dwm-centeredwindowname-20190907-cb3f58a.diff
new file mode 100644
index 00000000..d01d2f10
--- /dev/null
+++ b/patches/dwm-centeredwindowname-20190907-cb3f58a.diff
@@ -0,0 +1,30 @@
+From 9cff68c93cb727e97fa486f011b294511e110176 Mon Sep 17 00:00:00 2001
+From: MahouShoujoMivutilde <MahouShoujoMivutilde@users.noreply.github.com>
+Date: Sat, 7 Sep 2019 20:04:16 +0300
+Subject: [PATCH] Centers windows names on status bar.
+
+In original version when name is very long mid variable can turn negative, this patch variation takes this into account. This makes sure name will not overlap on tags.
+---
+ dwm.c | 5 ++++-
+ 1 file changed, 4 insertions(+), 1 deletion(-)
+
+diff --git a/dwm.c b/dwm.c
+index 4465af1..3d0eac4 100644
+--- a/dwm.c
++++ b/dwm.c
+@@ -730,8 +730,11 @@ drawbar(Monitor *m)
+
+ if ((w = m->ww - sw - x) > bh) {
+ if (m->sel) {
++ int mid = (m->ww - 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 {
+--
+2.23.0
+