summaryrefslogtreecommitdiffstats
path: root/dwl-patches/patches/bartruecenteredtitle/bartruecenteredtitle.patch
diff options
context:
space:
mode:
Diffstat (limited to 'dwl-patches/patches/bartruecenteredtitle/bartruecenteredtitle.patch')
-rw-r--r--dwl-patches/patches/bartruecenteredtitle/bartruecenteredtitle.patch46
1 files changed, 46 insertions, 0 deletions
diff --git a/dwl-patches/patches/bartruecenteredtitle/bartruecenteredtitle.patch b/dwl-patches/patches/bartruecenteredtitle/bartruecenteredtitle.patch
new file mode 100644
index 0000000..ce02a51
--- /dev/null
+++ b/dwl-patches/patches/bartruecenteredtitle/bartruecenteredtitle.patch
@@ -0,0 +1,46 @@
+From 17501c9f28226b1f332d6842be0d7f50ba618a29 Mon Sep 17 00:00:00 2001
+From: moonsabre <moonsabre@tuta.io>
+Date: Fri, 14 Mar 2025 16:04:25 -0700
+Subject: [PATCH] Bar title centering parameter.
+
+---
+ config.def.h | 1 +
+ dwl.c | 9 +++++++--
+ 2 files changed, 8 insertions(+), 2 deletions(-)
+
+diff --git a/config.def.h b/config.def.h
+index 5d1dc2b..8ac3a8b 100644
+--- a/config.def.h
++++ b/config.def.h
+@@ -9,6 +9,7 @@ static const int bypass_surface_visibility = 0; /* 1 means idle inhibitors will
+ static const unsigned int borderpx = 1; /* border pixel of windows */
+ static const int showbar = 1; /* 0 means no bar */
+ static const int topbar = 1; /* 0 means bottom bar */
++static const int centeredtitle = 1; /* 1 means centered title */
+ static const char *fonts[] = {"monospace:size=10"};
+ static const float rootcolor[] = COLOR(0x000000ff);
+ /* This conforms to the xdg-protocol. Set the alpha to zero to restore the old behavior */
+diff --git a/dwl.c b/dwl.c
+index ece537a..9eb816b 100644
+--- a/dwl.c
++++ b/dwl.c
+@@ -1551,9 +1551,14 @@ drawbar(Monitor *m)
+ if ((w = m->b.width - tw - x) > m->b.height) {
+ if (c) {
+ drwl_setscheme(m->drw, colors[m == selmon ? SchemeSel : SchemeNorm]);
+- drwl_text(m->drw, x, 0, w, m->b.height, m->lrpad / 2, client_get_title(c), 0);
++ tw = TEXTW(selmon, client_get_title(c));
++ drwl_text(m->drw, x, 0, w, m->b.height,
++ !centeredtitle || tw > w ? m->lrpad / 2 : (w - tw) / 2,
++ client_get_title(c), 0);
+ if (c && c->isfloating)
+- drwl_rect(m->drw, x + boxs, boxs, boxw, boxw, 0, 0);
++ drwl_rect(m->drw,
++ !centeredtitle || tw > w ? x + boxs : x + ((w - tw) / 2 - boxs * 8),
++ boxs, boxw, boxw, 0, 0);
+ } else {
+ drwl_setscheme(m->drw, colors[SchemeNorm]);
+ drwl_rect(m->drw, x, 0, w, m->b.height, 1, 1);
+--
+2.48.1
+