调整 set_window_event_mask 函数中窗口默认事件掩码组织方式

This commit is contained in:
2025-09-30 20:58:20 +08:00
parent 4500a5adfd
commit 0626a4c512

View File

@@ -288,11 +288,10 @@ char *get_window_name(xcb_window_t window) {
void set_window_event_mask(xcb_window_t window, bool clear) {
xcb_cw_t change_mask = XCB_CW_EVENT_MASK;
uint32_t event_mask = clear ? XCB_EVENT_MASK_NO_EVENT
: XCB_EVENT_MASK_ENTER_WINDOW |
XCB_EVENT_MASK_FOCUS_CHANGE |
XCB_EVENT_MASK_PROPERTY_CHANGE |
XCB_EVENT_MASK_SUBSTRUCTURE_NOTIFY;
uint32_t init_event_mask =
XCB_EVENT_MASK_ENTER_WINDOW | XCB_EVENT_MASK_FOCUS_CHANGE |
XCB_EVENT_MASK_PROPERTY_CHANGE | XCB_EVENT_MASK_SUBSTRUCTURE_NOTIFY;
uint32_t event_mask = clear ? XCB_EVENT_MASK_NO_EVENT : init_event_mask;
xcb_params_cw_t params = {.event_mask = event_mask};
xcb_aux_change_window_attributes(conn, window, change_mask, &params);
}