ipc: 2024-07-29

add ipcpertag and focus-tagset-output mini-patches
This commit is contained in:
choc
2024-07-29 21:34:52 +08:00
parent 43ee42aeef
commit d235f0f88e
4 changed files with 138 additions and 12 deletions
+13 -11
View File
@@ -1,4 +1,4 @@
From 13efb1a89457df2acd138d671c298e07b3d34683 Mon Sep 17 00:00:00 2001
From 9afb899ea8b63894499d39f4ab7f430eefce5392 Mon Sep 17 00:00:00 2001
From: choc <notchoc@proton.me>
Date: Mon, 23 Oct 2023 10:35:17 +0800
Subject: [PATCH] implement dwl-ipc-unstable-v2
@@ -7,9 +7,9 @@ Subject: [PATCH] implement dwl-ipc-unstable-v2
---
Makefile | 14 +-
config.def.h | 1 +
dwl.c | 258 ++++++++++++++++++++++++++----
dwl.c | 260 ++++++++++++++++++++++++++----
protocols/dwl-ipc-unstable-v2.xml | 181 +++++++++++++++++++++
4 files changed, 417 insertions(+), 37 deletions(-)
4 files changed, 419 insertions(+), 37 deletions(-)
create mode 100644 protocols/dwl-ipc-unstable-v2.xml
diff --git a/Makefile b/Makefile
@@ -60,7 +60,7 @@ index 22d2171..1593033 100644
{ MODKEY, XKB_KEY_k, focusstack, {.i = -1} },
{ MODKEY, XKB_KEY_i, incnmaster, {.i = +1} },
diff --git a/dwl.c b/dwl.c
index 5bf995e..3aed40b 100644
index ac9c36b..4a025f0 100644
--- a/dwl.c
+++ b/dwl.c
@@ -67,6 +67,7 @@
@@ -139,7 +139,7 @@ index 5bf995e..3aed40b 100644
/* m->layers[i] are intentionally not unlinked */
for (i = 0; i < LENGTH(m->layers); i++) {
wl_list_for_each_safe(l, tmp, &m->layers[i], link)
@@ -985,6 +1012,8 @@ createmon(struct wl_listener *listener, void *data)
@@ -986,6 +1013,8 @@ createmon(struct wl_listener *listener, void *data)
m = wlr_output->data = ecalloc(1, sizeof(*m));
m->wlr_output = wlr_output;
@@ -148,7 +148,7 @@ index 5bf995e..3aed40b 100644
for (i = 0; i < LENGTH(m->layers); i++)
wl_list_init(&m->layers[i]);
@@ -1335,6 +1364,190 @@ dirtomon(enum wlr_direction dir)
@@ -1337,6 +1366,192 @@ dirtomon(enum wlr_direction dir)
return selmon;
}
@@ -281,7 +281,8 @@ index 5bf995e..3aed40b 100644
+ return;
+
+ selected_client->tags = newtags;
+ focusclient(focustop(selmon), 1);
+ if (selmon == monitor)
+ focusclient(focustop(monitor), 1);
+ arrange(selmon);
+ printstatus();
+}
@@ -325,7 +326,8 @@ index 5bf995e..3aed40b 100644
+ monitor->seltags ^= 1;
+
+ monitor->tagset[monitor->seltags] = newtags;
+ focusclient(focustop(monitor), 1);
+ if (selmon == monitor)
+ focusclient(focustop(monitor), 1);
+ arrange(monitor);
+ printstatus();
+}
@@ -339,7 +341,7 @@ index 5bf995e..3aed40b 100644
void
focusclient(Client *c, int lift)
{
@@ -2035,41 +2248,9 @@ void
@@ -2037,41 +2252,9 @@ void
printstatus(void)
{
Monitor *m = NULL;
@@ -383,7 +385,7 @@ index 5bf995e..3aed40b 100644
}
void
@@ -2624,6 +2805,8 @@ setup(void)
@@ -2626,6 +2809,8 @@ setup(void)
LISTEN_STATIC(&output_mgr->events.apply, outputmgrapply);
LISTEN_STATIC(&output_mgr->events.test, outputmgrtest);
@@ -392,7 +394,7 @@ index 5bf995e..3aed40b 100644
/* Make sure XWayland clients don't connect to the parent X server,
* e.g when running in the x11 backend or the wayland backend and the
* compositor has Xwayland support */
@@ -2721,6 +2904,13 @@ tile(Monitor *m)
@@ -2723,6 +2908,13 @@ tile(Monitor *m)
}
}