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