简化检查是否有其他窗口管理器正在运行的实现
This commit is contained in:
@@ -31,16 +31,10 @@ bool has_other_wm_running(void) {
|
|||||||
xcb_screen_iterator_t iter = xcb_setup_roots_iterator(setup);
|
xcb_screen_iterator_t iter = xcb_setup_roots_iterator(setup);
|
||||||
screen = iter.data;
|
screen = iter.data;
|
||||||
uint32_t mask = XCB_CW_EVENT_MASK;
|
uint32_t mask = XCB_CW_EVENT_MASK;
|
||||||
xcb_params_cw_t params = {
|
xcb_params_cw_t params = {.event_mask = XCB_EVENT_MASK_SUBSTRUCTURE_REDIRECT};
|
||||||
.event_mask = XCB_EVENT_MASK_LEAVE_WINDOW | XCB_EVENT_MASK_ENTER_WINDOW |
|
|
||||||
XCB_EVENT_MASK_POINTER_MOTION |
|
|
||||||
XCB_EVENT_MASK_SUBSTRUCTURE_REDIRECT |
|
|
||||||
XCB_EVENT_MASK_SUBSTRUCTURE_NOTIFY,
|
|
||||||
};
|
|
||||||
xcb_void_cookie_t cookie =
|
xcb_void_cookie_t cookie =
|
||||||
xcb_aux_change_window_attributes_checked(conn, screen->root, mask, ¶ms);
|
xcb_aux_change_window_attributes_checked(conn, screen->root, mask, ¶ms);
|
||||||
xcb_generic_error_t *error = xcb_request_check(conn, cookie);
|
if (xcb_request_check(conn, cookie)) {
|
||||||
if (error) {
|
|
||||||
xcb_disconnect(conn);
|
xcb_disconnect(conn);
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user