define XCB_KEY_PRESS 2 define XCB_KEY_RELEASE 3 define XCB_BUTTON_PRESS 4 define XCB_BUTTON_RELEASE 5 define XCB_MOTION_NOTIFY 6 define XCB_ENTER_NOTIFY 7 # define XCB_LEAVE_NOTIFY 8 - maybe define XCB_CREATE_NOTIFY 16 // treat these similarly define XCB_DESTROY_NOTIFY 17 // to remove from struct define XCB_UNMAP_NOTIFY 18 // i guess this is minimize but idk if it is icccm IconicState? define XCB_MAP_NOTIFY 19 // whatever im doin (dont map this is after mapping) define XCB_MAP_REQUEST 20 // Actual request to map // so map the window if possible #define XCB_CONFIGURE_REQUEST 23 // for floats maybe #define XCB_GRAVITY_NOTIFY 24 // similar to XCB_CONFIGURE_NOTIFY but for pos #define XCB_RESIZE_REQUEST 25 // similar to XCB_CONFIGURE_REQUEST but for resize # define XCB_CONFIGURE_NOTIFY 22 // prolly remove it #define XCB_PROPERTY_NOTIFY 28 // only if netwm requires so #define XCB_CLIENT_MESSAGE 33 // only if netwm requires -- ICCCM // TODO: add a function to set wm_state. // actually no as there is no iconfied state .. all windows are maximized and ignore any client request to be iconfied // therefore break ICCCM // use xprop to get // WM_NAME .. then ignore it cuz no titlebars // WM_NORMAL_HINTS & WM_HINTS // try to obey it for floats