From 9a23ae35025698adca57db2e28abcdc7a721a988 Mon Sep 17 00:00:00 2001 From: nic Date: Tue, 26 Aug 2025 10:10:40 -0400 Subject: alwayscentered patch applied --- dwl.c | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/dwl.c b/dwl.c index 059aeeb..a662911 100644 --- a/dwl.c +++ b/dwl.c @@ -571,6 +571,12 @@ applyrules(Client *c) if (p) swallow(c, p); } + + /* Center floating windows on their monitor */ + if (mon) { + c->geom.x = (mon->w.width - c->geom.width) / 2 + mon->m.x; + c->geom.y = (mon->w.height - c->geom.height) / 2 + mon->m.y; + } setmon(c, mon, newtags); } @@ -2166,6 +2172,10 @@ mapnotify(struct wl_listener *listener, void *data) * If there is no parent, apply rules */ if ((p = client_get_parent(c))) { c->isfloating = 1; + if (p->mon) { + c->geom.x = (p->mon->w.width - c->geom.width) / 2 + p->mon->m.x; + c->geom.y = (p->mon->w.height - c->geom.height) / 2 + p->mon->m.y; + } setmon(c, p->mon, p->tags); } else { applyrules(c); -- cgit v1.2.3