From 6d65c53d43774d4438c9c4ac4656a25c0cdc215b Mon Sep 17 00:00:00 2001 From: Zedhugh Chen Date: Tue, 24 Feb 2026 03:05:43 +0800 Subject: [PATCH] =?UTF-8?q?=E5=AE=8C=E5=96=84=20xwindow=5Fsend=5Fevent=20?= =?UTF-8?q?=E5=87=BD=E6=95=B0=E5=8A=9F=E8=83=BD?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/xwindow.c | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/src/xwindow.c b/src/xwindow.c index b10df16..607bcc7 100644 --- a/src/xwindow.c +++ b/src/xwindow.c @@ -136,7 +136,7 @@ bool xwindow_send_event(xcb_window_t window, xcb_atom_t atom) { bool exist = false; xcb_get_property_cookie_t cookie = - xcb_icccm_get_wm_protocols(wm.xcb_conn, window, atom); + xcb_icccm_get_wm_protocols(wm.xcb_conn, window, WM_PROTOCOLS); xcb_icccm_get_wm_protocols_reply_t reply; if (xcb_icccm_get_wm_protocols_reply(wm.xcb_conn, cookie, &reply, nullptr)) { for (uint32_t i = 0; !exist && i < reply.atoms_len; i++) { @@ -154,6 +154,9 @@ bool xwindow_send_event(xcb_window_t window, xcb_atom_t atom) { ev.type = WM_PROTOCOLS; ev.data.data32[0] = atom; ev.data.data32[1] = XCB_CURRENT_TIME; + + xcb_connection_t *conn = wm.xcb_conn; + xcb_send_event(conn, false, window, XCB_EVENT_MASK_NO_EVENT, (char *)&ev); } return exist;