From 53128416d6469df82c633ff5e7df513bcfe886e7 Mon Sep 17 00:00:00 2001 From: DreamMaoMao <2523610504@qq.com> Date: Fri, 22 Aug 2025 21:06:34 +0800 Subject: [PATCH] fix: wrong index of kb layout for ipc message --- src/ext-protocol/dwl-ipc.h | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/src/ext-protocol/dwl-ipc.h b/src/ext-protocol/dwl-ipc.h index c5747ea..eafc241 100644 --- a/src/ext-protocol/dwl-ipc.h +++ b/src/ext-protocol/dwl-ipc.h @@ -111,6 +111,7 @@ void dwl_ipc_output_printstatus_to(DwlIpcOutput *ipc_output) { Monitor *monitor = ipc_output->mon; Client *c, *focused; struct wlr_keyboard *keyboard; + xkb_layout_index_t current; int tagmask, state, numclients, focused_client, tag; const char *title, *appid, *symbol, *kb_layout; focused = focustop(monitor); @@ -141,8 +142,10 @@ void dwl_ipc_output_printstatus_to(DwlIpcOutput *ipc_output) { symbol = monitor->pertag->ltidxs[monitor->pertag->curtag]->symbol; keyboard = &kb_group->wlr_group->keyboard; + current = xkb_state_serialize_layout(keyboard->xkb_state, + XKB_STATE_LAYOUT_EFFECTIVE); kb_layout = - get_layout_abbr(xkb_keymap_layout_get_name(keyboard->keymap, 0)); + get_layout_abbr(xkb_keymap_layout_get_name(keyboard->keymap, current)); zdwl_ipc_output_v2_send_layout( ipc_output->resource,