/** \brief awesome xerror function. * There's no way to check accesses to destroyed windows, thus those cases are * ignored (especially on UnmapNotify's). * \param e The error event. */ static void xerror(xcb_generic_error_t *e) { /* ignore this */ if(e->error_code == XCB_WINDOW || (e->error_code == XCB_MATCH && e->major_code == XCB_SET_INPUT_FOCUS) || (e->error_code == XCB_VALUE && e->major_code == XCB_KILL_CLIENT) || (e->error_code == XCB_MATCH && e->major_code == XCB_CONFIGURE_WINDOW)) return; warn("X error: request=%s (major %d, minor %d), error=%s (%d)", xcb_event_get_request_label(e->major_code), e->major_code, e->minor_code, xcb_event_get_error_label(e->error_code), e->error_code); return; }
void process_error(xcb_generic_event_t *evt) { xcb_request_error_t *e = (xcb_request_error_t *) evt; warn("Failed request: %s, %s: %d.\n", xcb_event_get_request_label(e->major_opcode), xcb_event_get_error_label(e->error_code), e->bad_value); }