xcb_generic_event_t *event;
if ((event = xcb_poll_for_event(xcb_connection)) != NULL) {
handle_xcb_event(event);
- free(event);
}
+ free(event);
}
void xcb_io_cb(struct ev_loop *loop, ev_io *w, int revents) {
return;
}
+ int32_t x = event->event_x;
+
+ printf("Got Button %d\n", event->detail);
+
switch (event->detail) {
+ case 1:
+ TAILQ_FOREACH(cur_ws, walk->workspaces, tailq) {
+ printf("x = %d\n", x);
+ if (x < cur_ws->name_width + 10) {
+ break;
+ }
+ x -= cur_ws->name_width + 10;
+ }
+ if (cur_ws == NULL) {
+ return;
+ }
+ break;
case 4:
if (cur_ws == TAILQ_LAST(walk->workspaces, ws_head)) {
cur_ws = TAILQ_FIRST(walk->workspaces);
&rect);
i3_ws *ws_walk;
TAILQ_FOREACH(ws_walk, outputs_walk->workspaces, tailq) {
- printf("Drawing Button for WS %s...\n", ws_walk->name);
+ printf("Drawing Button for WS %s at x = %d\n", ws_walk->name, i);
uint32_t color = get_colorpixel("240000");
if (ws_walk->visible) {
color = get_colorpixel("480000");