summaryrefslogtreecommitdiffstats
path: root/dwl-patches/patches/attachtop/attachtop.patch
diff options
context:
space:
mode:
Diffstat (limited to 'dwl-patches/patches/attachtop/attachtop.patch')
-rw-r--r--dwl-patches/patches/attachtop/attachtop.patch36
1 files changed, 36 insertions, 0 deletions
diff --git a/dwl-patches/patches/attachtop/attachtop.patch b/dwl-patches/patches/attachtop/attachtop.patch
new file mode 100644
index 0000000..78a77ca
--- /dev/null
+++ b/dwl-patches/patches/attachtop/attachtop.patch
@@ -0,0 +1,36 @@
+From 42a66d6e06c38e913766ce625f049fdbc3dd0d12 Mon Sep 17 00:00:00 2001
+From: Nikita Ivanov <nikita.vyach.ivanov@gmail.com>
+Date: Sun, 7 Apr 2024 21:10:17 +0200
+Subject: [PATCH] New client are attached on top of the stack
+
+---
+ dwl.c | 13 ++++++++++++-
+ 1 file changed, 12 insertions(+), 1 deletion(-)
+
+diff --git a/dwl.c b/dwl.c
+index bf763df..c0a3d74 100644
+--- a/dwl.c
++++ b/dwl.c
+@@ -1605,7 +1605,18 @@ mapnotify(struct wl_listener *listener, void *data)
+ c->geom.height += 2 * c->bw;
+
+ /* Insert this client into client lists. */
+- wl_list_insert(&clients, &c->link);
++ i = 0;
++ wl_list_for_each(w, &clients, link) {
++ if (!VISIBLEON(w, selmon) || c->isfloating)
++ continue;
++ p = w;
++ if (++i >= selmon->nmaster)
++ break;
++ }
++ if (i > 0)
++ wl_list_insert(&p->link, &c->link);
++ else
++ wl_list_insert(&clients, &c->link);
+ wl_list_insert(&fstack, &c->flink);
+
+ /* Set initial monitor, tags, floating status, and focus:
+--
+2.44.0
+