diff options
author | Jon TURNEY <jon.turney@dronecode.org.uk> | 2012-11-10 16:26:25 +0000 |
---|---|---|
committer | Jon TURNEY <jon.turney@dronecode.org.uk> | 2012-11-21 14:03:13 +0000 |
commit | e32b7abf9b7c8312c94ddf37649954a90cf260c7 (patch) | |
tree | 751f94dfbfba9f293e995708528af0c648239d7a | |
parent | 028e18a825c60cf628e42899b7a054dd5d2c4aef (diff) |
Don't select for and report a lot of events we are not actually interested in
XXX: Is it ok to select for just one of SubstructureRedirectMask
ResizeRedirectMask or ButtonPressMask, the events that only one client may
select for? Or should we select for all of them, to ensure no other WM is
running?
-rw-r--r-- | src/libxcwm/context.c | 9 | ||||
-rw-r--r-- | src/libxcwm/event_loop.c | 65 |
2 files changed, 1 insertions, 73 deletions
diff --git a/src/libxcwm/context.c b/src/libxcwm/context.c index c8e8487..cbe562d 100644 --- a/src/libxcwm/context.c +++ b/src/libxcwm/context.c @@ -61,15 +61,8 @@ xcwm_context_open(char *display) // Set the mask for the root window so we know when new windows // are created on the root. This is where we add masks for the events // we care about catching on the root window. - mask_values[0] = XCB_EVENT_MASK_KEY_PRESS | - XCB_EVENT_MASK_KEY_RELEASE | - XCB_EVENT_MASK_BUTTON_PRESS | - XCB_EVENT_MASK_BUTTON_RELEASE | - XCB_EVENT_MASK_POINTER_MOTION | - XCB_EVENT_MASK_STRUCTURE_NOTIFY | + mask_values[0] = XCB_EVENT_MASK_STRUCTURE_NOTIFY | XCB_EVENT_MASK_SUBSTRUCTURE_NOTIFY | - XCB_EVENT_MASK_ENTER_WINDOW | - XCB_EVENT_MASK_LEAVE_WINDOW | XCB_EVENT_MASK_SUBSTRUCTURE_REDIRECT; cookie = xcb_change_window_attributes_checked(conn, root_window_id, diff --git a/src/libxcwm/event_loop.c b/src/libxcwm/event_loop.c index ceeda47..9432295 100644 --- a/src/libxcwm/event_loop.c +++ b/src/libxcwm/event_loop.c @@ -518,71 +518,6 @@ run_event_loop(void *thread_arg_struct) break; } - case XCB_KEY_PRESS: - { - printf("X Key press from xserver-"); - xcb_key_press_event_t *kp = - (xcb_key_press_event_t *)evt; - printf("Key pressed in window 0x%08x detail %d\n", - kp->event, kp->detail); - break; - } - - case XCB_KEY_RELEASE: - { - printf("X Key release from xserver-"); - xcb_key_release_event_t *kp = - (xcb_key_release_event_t *)evt; - printf("Key released in window 0x%08x detail %d\n", - kp->event, kp->detail); - break; - } - - case XCB_BUTTON_PRESS: - { - printf("X Button press from xserver "); - xcb_button_press_event_t *bp = - (xcb_button_press_event_t *)evt; - printf("in window 0x%08x, at coordinates (%d,%d)\n", - bp->event, bp->event_x, bp->event_y); - break; - } - - case XCB_BUTTON_RELEASE: - { - printf("X Button release from xserver "); - xcb_button_release_event_t *bp = - (xcb_button_release_event_t *)evt; - printf("in window 0x%08x, at coordinates (%d,%d)\n", - bp->event, bp->event_x, bp->event_y); - break; - } - - case XCB_MOTION_NOTIFY: - { - /* xcb_button_press_event_t *bp = */ - /* (xcb_button_press_event_t *)evt; */ - /* printf ("mouse motion in window %u, at coordinates (%d,%d)\n", */ - /* bp->event, bp->event_x, bp->event_y ); */ - break; - } - - case XCB_ENTER_NOTIFY: - { - /* xcb_enter_notify_event_t *en = (xcb_enter_notify_event_t *)evt; */ - /* printf("entering window 0x%08x, focus %d\n", */ - /* en->event, en->same_screen_focus); */ - break; - } - - case XCB_LEAVE_NOTIFY: - { - /* xcb_leave_notify_event_t *ln = (xcb_leave_notify_event_t *)evt; */ - /* printf("leaving window 0x%08x, focus %d\n", */ - /* ln->event, ln->same_screen_focus); */ - break; - } - case XCB_MAPPING_NOTIFY: break; |