summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJon TURNEY <jon.turney@dronecode.org.uk>2012-11-10 16:26:25 +0000
committerJon TURNEY <jon.turney@dronecode.org.uk>2012-11-21 14:03:13 +0000
commite32b7abf9b7c8312c94ddf37649954a90cf260c7 (patch)
tree751f94dfbfba9f293e995708528af0c648239d7a
parent028e18a825c60cf628e42899b7a054dd5d2c4aef (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.c9
-rw-r--r--src/libxcwm/event_loop.c65
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;