summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--dwl.c8
-rw-r--r--patches/applied/alwayscenter.patch38
2 files changed, 46 insertions, 0 deletions
diff --git a/dwl.c b/dwl.c
index 0081ac8..022b882 100644
--- a/dwl.c
+++ b/dwl.c
@@ -584,6 +584,10 @@ applyrules(Client *c)
newtags = p->tags;
}
}
+ 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);
}
@@ -2155,6 +2159,10 @@ mapnotify(struct wl_listener *listener, void *data)
* try to apply rules for them */
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);
diff --git a/patches/applied/alwayscenter.patch b/patches/applied/alwayscenter.patch
new file mode 100644
index 0000000..a046ef7
--- /dev/null
+++ b/patches/applied/alwayscenter.patch
@@ -0,0 +1,38 @@
+From 6616470ef135019ef4c767003a66df76df45f53e Mon Sep 17 00:00:00 2001
+From: Guido Cella <guido@guidocella.xyz>
+Date: Wed, 5 Jun 2024 12:05:16 +0200
+Subject: [PATCH] center floating windows
+
+---
+ dwl.c | 8 ++++++++
+ 1 file changed, 8 insertions(+)
+
+diff --git a/dwl.c b/dwl.c
+index 6f041a0..79ace52 100644
+--- a/dwl.c
++++ b/dwl.c
+@@ -472,6 +472,10 @@ applyrules(Client *c)
+ }
+ }
+ }
++ 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);
+ }
+
+@@ -1677,6 +1681,10 @@ mapnotify(struct wl_listener *listener, void *data)
+ * try to apply rules for them */
+ 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);
+--
+2.45.1
+