From bd172594e28488e46f4037b0dfd2278d2f9f2815 Mon Sep 17 00:00:00 2001 From: Frank Honolka Date: Thu, 19 Mar 2026 04:43:54 +0000 Subject: [PATCH] ipc: cleaned --- patches/ipc/focus-tagset-output.patch | 24 ------- patches/ipc/ipcpertag.patch | 97 --------------------------- 2 files changed, 121 deletions(-) delete mode 100644 patches/ipc/focus-tagset-output.patch delete mode 100644 patches/ipc/ipcpertag.patch diff --git a/patches/ipc/focus-tagset-output.patch b/patches/ipc/focus-tagset-output.patch deleted file mode 100644 index 2ea3015..0000000 --- a/patches/ipc/focus-tagset-output.patch +++ /dev/null @@ -1,24 +0,0 @@ -From b65477621f0438b0ed6c405f74c9d15e8fb57e96 Mon Sep 17 00:00:00 2001 -From: choc -Date: Mon, 29 Jul 2024 21:26:06 +0800 -Subject: [PATCH] ipc: focus set_tag'd output - ---- - dwl.c | 1 + - 1 file changed, 1 insertion(+) - -diff --git a/dwl.c b/dwl.c -index 4a025f0..dcbb063 100644 ---- a/dwl.c -+++ b/dwl.c -@@ -1533,6 +1533,7 @@ dwl_ipc_output_set_tags(struct wl_client *client, struct wl_resource *resource, - if (!ipc_output) - return; - monitor = ipc_output->mon; -+ selmon = monitor; - - if (!newtags || newtags == monitor->tagset[monitor->seltags]) - return; --- -2.43.0 - diff --git a/patches/ipc/ipcpertag.patch b/patches/ipc/ipcpertag.patch deleted file mode 100644 index 97e3c33..0000000 --- a/patches/ipc/ipcpertag.patch +++ /dev/null @@ -1,97 +0,0 @@ -From c7d77ff4dec1da5a68b4da8aa42d4ed78dc41a00 Mon Sep 17 00:00:00 2001 -From: choc -Date: Thu, 14 Mar 2024 11:18:37 +0800 -Subject: [PATCH] fix ipc to work with pertag - ---- - dwl.c | 50 +++++++++++++++++++++++++++++++++++--------------- - 1 file changed, 35 insertions(+), 15 deletions(-) - -diff --git a/dwl.c b/dwl.c -index a1a7809..d86e6e2 100644 ---- a/dwl.c -+++ b/dwl.c -@@ -1526,28 +1526,37 @@ void - dwl_ipc_output_set_layout(struct wl_client *client, struct wl_resource *resource, uint32_t index) - { - DwlIpcOutput *ipc_output; -- Monitor *monitor; -+ Client *c = NULL; -+ Monitor *monitor = NULL; - - ipc_output = wl_resource_get_user_data(resource); - if (!ipc_output) - return; -- - monitor = ipc_output->mon; -+ -+ if (monitor != selmon) -+ c = focustop(selmon); -+ - if (index >= LENGTH(layouts)) - return; -- if (index != monitor->lt[monitor->sellt] - layouts) -- monitor->sellt ^= 1; - -- monitor->lt[monitor->sellt] = &layouts[index]; -- arrange(monitor); -- printstatus(); -+ if (c) { -+ monitor = selmon; -+ selmon = ipc_output->mon; -+ } -+ setlayout(&(Arg){.v = &layouts[index]}); -+ if (c) { -+ selmon = monitor; -+ focusclient(c, 0); -+ } - } - - void - dwl_ipc_output_set_tags(struct wl_client *client, struct wl_resource *resource, uint32_t tagmask, uint32_t toggle_tagset) - { - DwlIpcOutput *ipc_output; -- Monitor *monitor; -+ Client *c = NULL; -+ Monitor *monitor = NULL; - unsigned int newtags = tagmask & TAGMASK; - - ipc_output = wl_resource_get_user_data(resource); -@@ -1555,16 +1564,27 @@ dwl_ipc_output_set_tags(struct wl_client *client, struct wl_resource *resource, - return; - monitor = ipc_output->mon; - -- if (!newtags || newtags == monitor->tagset[monitor->seltags]) -+ if (monitor != selmon) -+ c = focustop(selmon); -+ -+ if (!newtags) - return; -- if (toggle_tagset) -+ -+ /* view toggles seltags for us so we un-toggle it */ -+ if (!toggle_tagset) { - monitor->seltags ^= 1; -+ monitor->tagset[monitor->seltags] = 0; -+ } - -- monitor->tagset[monitor->seltags] = newtags; -- if (selmon == monitor) -- focusclient(focustop(monitor), 1); -- arrange(monitor); -- printstatus(); -+ if (c) { -+ monitor = selmon; -+ selmon = ipc_output->mon; -+ } -+ view(&(Arg){.ui = newtags}); -+ if (c) { -+ selmon = monitor; -+ focusclient(c, 0); -+ } - } - - void --- -2.43.0 -