Add basic debug output of events in the main event loop.
/* events */
#ifdef SWM_DEBUG
char *
/* events */
#ifdef SWM_DEBUG
char *
+geteventname(xcb_generic_event_t *e)
- switch (e->type) {
- case KeyPress:
+ switch (XCB_EVENT_RESPONSE_TYPE(e)) {
+ case XCB_KEY_PRESS:
name = "KeyPress";
break;
name = "KeyPress";
break;
name = "KeyRelease";
break;
name = "KeyRelease";
break;
name = "ButtonPress";
break;
name = "ButtonPress";
break;
+ case XCB_BUTTON_RELEASE:
name = "ButtonRelease";
break;
name = "ButtonRelease";
break;
+ case XCB_MOTION_NOTIFY:
name = "MotionNotify";
break;
name = "MotionNotify";
break;
name = "EnterNotify";
break;
name = "EnterNotify";
break;
name = "LeaveNotify";
break;
name = "LeaveNotify";
break;
name = "FocusOut";
break;
name = "FocusOut";
break;
+ case XCB_KEYMAP_NOTIFY:
name = "KeymapNotify";
break;
name = "KeymapNotify";
break;
- case GraphicsExpose:
- name = "GraphicsExpose";
+ case XCB_GRAPHICS_EXPOSURE:
+ name = "GraphicsExposure";
- case NoExpose:
- name = "NoExpose";
+ case XCB_NO_EXPOSURE:
+ name = "NoExposure";
+ case XCB_VISIBILITY_NOTIFY:
name = "VisibilityNotify";
break;
name = "VisibilityNotify";
break;
+ case XCB_CREATE_NOTIFY:
name = "CreateNotify";
break;
name = "CreateNotify";
break;
+ case XCB_DESTROY_NOTIFY:
name = "DestroyNotify";
break;
name = "DestroyNotify";
break;
name = "UnmapNotify";
break;
name = "UnmapNotify";
break;
name = "MapNotify";
break;
name = "MapNotify";
break;
name = "MapRequest";
break;
name = "MapRequest";
break;
+ case XCB_REPARENT_NOTIFY:
name = "ReparentNotify";
break;
name = "ReparentNotify";
break;
+ case XCB_CONFIGURE_NOTIFY:
name = "ConfigureNotify";
break;
name = "ConfigureNotify";
break;
+ case XCB_CONFIGURE_REQUEST:
name = "ConfigureRequest";
break;
name = "ConfigureRequest";
break;
+ case XCB_GRAVITY_NOTIFY:
name = "GravityNotify";
break;
name = "GravityNotify";
break;
+ case XCB_RESIZE_REQUEST:
name = "ResizeRequest";
break;
name = "ResizeRequest";
break;
+ case XCB_CIRCULATE_NOTIFY:
name = "CirculateNotify";
break;
name = "CirculateNotify";
break;
+ case XCB_CIRCULATE_REQUEST:
name = "CirculateRequest";
break;
name = "CirculateRequest";
break;
+ case XCB_PROPERTY_NOTIFY:
name = "PropertyNotify";
break;
name = "PropertyNotify";
break;
+ case XCB_SELECTION_CLEAR:
name = "SelectionClear";
break;
name = "SelectionClear";
break;
+ case XCB_SELECTION_REQUEST:
name = "SelectionRequest";
break;
name = "SelectionRequest";
break;
+ case XCB_SELECTION_NOTIFY:
name = "SelectionNotify";
break;
name = "SelectionNotify";
break;
+ case XCB_COLORMAP_NOTIFY:
name = "ColormapNotify";
break;
name = "ColormapNotify";
break;
+ case XCB_CLIENT_MESSAGE:
name = "ClientMessage";
break;
name = "ClientMessage";
break;
+ case XCB_MAPPING_NOTIFY:
name = "MappingNotify";
break;
default:
name = "MappingNotify";
break;
default:
while (running) {
while ((evt = xcb_poll_for_event(conn))) {
while (running) {
while ((evt = xcb_poll_for_event(conn))) {
+ DNPRINTF(SWM_D_EVENT, "XCB Event: %s\n",
+ geteventname(evt));
if (running == 0)
goto done;
event_handle(evt);
if (running == 0)
goto done;
event_handle(evt);