处理窗口销毁事件
This commit is contained in:
@@ -274,13 +274,14 @@ char *get_window_name(xcb_window_t window) {
|
||||
}
|
||||
}
|
||||
|
||||
void init_window_event_mask(xcb_window_t window) {
|
||||
void set_window_event_mask(xcb_window_t window, bool clear) {
|
||||
xcb_cw_t change_mask = XCB_CW_EVENT_MASK;
|
||||
xcb_params_cw_t params = {
|
||||
.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
|
||||
: XCB_EVENT_MASK_ENTER_WINDOW |
|
||||
XCB_EVENT_MASK_FOCUS_CHANGE |
|
||||
XCB_EVENT_MASK_PROPERTY_CHANGE |
|
||||
XCB_EVENT_MASK_SUBSTRUCTURE_NOTIFY;
|
||||
xcb_params_cw_t params = {.event_mask = event_mask};
|
||||
xcb_aux_change_window_attributes(conn, window, change_mask, ¶ms);
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user