+void mapping_notify(xcb_generic_event_t *evt)
+{
+ if (mapping_events_count == 0) {
+ return;
+ }
+
+ xcb_mapping_notify_event_t *e = (xcb_mapping_notify_event_t *) evt;
+
+ if (e->request == XCB_MAPPING_POINTER) {
+ return;
+ }
+
+ if (mapping_events_count > 0) {
+ mapping_events_count--;
+ }
+
+ ungrab_buttons();
+ grab_buttons();
+}
+