From 4a8568639f77c1ab02e59aa785684fb1b5ed5364 Mon Sep 17 00:00:00 2001 From: DreamMaoMao <2523610504@qq.com> Date: Mon, 15 Sep 2025 20:53:06 +0800 Subject: [PATCH] fix: can't set ~0 tag layout for ipc --- src/ext-protocol/dwl-ipc.h | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/src/ext-protocol/dwl-ipc.h b/src/ext-protocol/dwl-ipc.h index ed4d106..1b57548 100644 --- a/src/ext-protocol/dwl-ipc.h +++ b/src/ext-protocol/dwl-ipc.h @@ -238,6 +238,7 @@ void dwl_ipc_output_set_layout(struct wl_client *client, unsigned int index) { DwlIpcOutput *ipc_output; Monitor *monitor; + unsigned int target_tag; ipc_output = wl_resource_get_user_data(resource); if (!ipc_output) @@ -247,7 +248,10 @@ void dwl_ipc_output_set_layout(struct wl_client *client, if (index >= LENGTH(layouts)) index = 0; - monitor->pertag->ltidxs[monitor->pertag->curtag] = &layouts[index]; + target_tag = monitor->pertag->curtag ? monitor->pertag->curtag + : monitor->pertag->prevtag; + + monitor->pertag->ltidxs[target_tag] = &layouts[index]; arrange(monitor, false); printstatus(); }