diff --git a/patches/bartruecenteredtitle/README.md b/patches/bartruecenteredtitle/README.md new file mode 100644 index 0000000..1b416f6 --- /dev/null +++ b/patches/bartruecenteredtitle/README.md @@ -0,0 +1,9 @@ +### Description +A homegrown port of dwm's _truecenteredtitle_ patch, with the addition of a config option to toggle its effects.
Requires [the bar patch](https://codeberg.org/dwl/dwl-patches/src/branch/main/patches/bar) to be applied beforehand. +![](centeredtitle.webp) + +### Download +- [v0.7](/dwl/dwl-patches/raw/branch/main/patches/bartruecenteredtitle/bar-truecenteredtitle-v0.7.patch)
Targets latest dwl release v0.7. + +### Author +- [moonsabre](https://codeberg.org/moonsabre) diff --git a/patches/bartruecenteredtitle/bar-truecenteredtitle-v0.7.patch b/patches/bartruecenteredtitle/bar-truecenteredtitle-v0.7.patch new file mode 100644 index 0000000..dcf0dbc --- /dev/null +++ b/patches/bartruecenteredtitle/bar-truecenteredtitle-v0.7.patch @@ -0,0 +1,41 @@ +From be07463a7bc7a5b6f4860666d131e32b56e62ff0 Mon Sep 17 00:00:00 2001 +From: moonsabre +Date: Mon, 10 Mar 2025 22:26:38 -0700 +Subject: [PATCH] Implement title centering parameter + +--- + config.def.h | 1 + + dwl.c | 6 +++++- + 2 files changed, 6 insertions(+), 1 deletion(-) + +diff --git a/config.def.h b/config.def.h +index 5d1dc2b..ecbf223 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 center window 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..d7ffce2 100644 +--- a/dwl.c ++++ b/dwl.c +@@ -1551,7 +1551,11 @@ 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); ++ if ((centeredtitle == 0) || (TEXTW(selmon, client_get_title(c)) > w)) { ++ drwl_text(m->drw, x, 0, w, m->b.height, m->lrpad / 2, client_get_title(c), 0); ++ } else { ++ drwl_text(m->drw, x, 0, w, m->b.height, (w - TEXTW(selmon, client_get_title(c))) / 2, client_get_title(c), 0); ++ } + if (c && c->isfloating) + drwl_rect(m->drw, x + boxs, boxs, boxw, boxw, 0, 0); + } else { +-- +2.46.0 diff --git a/patches/bartruecenteredtitle/centeredtitle.webp b/patches/bartruecenteredtitle/centeredtitle.webp new file mode 100644 index 0000000..b1ad696 Binary files /dev/null and b/patches/bartruecenteredtitle/centeredtitle.webp differ