Add centertitle patch, its accompanying README file and attached screenshot.

Fix README file not appearing as intended.

Fix README file not appearing as intended.

Update bartruecenteredtitle for compatibility with DWL patch guidelines.

Revert past 4 commits.

Squash everything.

Squash previous 4 commits into 1 commit.

Undo everything one more time.

Squash everything.

Merge with branch "moonpatch"

Squash everything.
This commit is contained in:
moonsabre 2025-03-10 22:52:16 -07:00 committed by A Frederick Christensen
parent 2aa64763fb
commit 8d27630729
3 changed files with 50 additions and 0 deletions

View File

@ -0,0 +1,9 @@
### Description
A homegrown port of dwm's _truecenteredtitle_ patch, with the addition of a config option to toggle its effects.<br>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)<br>Targets latest dwl release v0.7.
### Author
- [moonsabre](https://codeberg.org/moonsabre)

View File

@ -0,0 +1,41 @@
From be07463a7bc7a5b6f4860666d131e32b56e62ff0 Mon Sep 17 00:00:00 2001
From: moonsabre <moonsabre@tuta.io>
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

Binary file not shown.

After

Width:  |  Height:  |  Size: 25 KiB