diff --git a/Makefile b/Makefile index 9a15a34..63a4ff4 100644 --- a/Makefile +++ b/Makefile @@ -9,7 +9,7 @@ ALL_LDFLAGS = $(LDFLAGS) $(LIBS) -lxcb CC = cc OBJ = src/event.o src/sowm.o -HDR = src/event.h +HDR = src/event.h src/globals.h .c.o: $(CC) $(ALL_CFLAGS) -c -o $@ $< diff --git a/src/event.c b/src/event.c index 7d39574..937b174 100644 --- a/src/event.c +++ b/src/event.c @@ -1,3 +1,4 @@ +#include "globals.h" #include "event.h" void (*events[XCB_NO_OPERATION])(xcb_generic_event_t *) = { @@ -11,9 +12,13 @@ void (*events[XCB_NO_OPERATION])(xcb_generic_event_t *) = { [XCB_MOTION_NOTIFY] = event_notify_motion }; -/* todo */ void event_button_press(xcb_generic_event_t *ev) { } -void event_button_release(xcb_generic_event_t *ev) { } + +void event_button_release(xcb_generic_event_t *ev) { + xcb_ungrab_pointer(dpy, XCB_CURRENT_TIME); + xcb_flush(dpy); +} + void event_configure_request(xcb_generic_event_t *ev) { } void event_key_press(xcb_generic_event_t *ev) { } void event_notify_create(xcb_generic_event_t *ev) { } diff --git a/src/event.h b/src/event.h index 1dd44b3..d52f60b 100644 --- a/src/event.h +++ b/src/event.h @@ -1,6 +1,3 @@ -#ifndef SOWM_EVENT_H_INCLUDED -#define SOWM_EVENT_H_INCLUDED - #include void event_button_press(xcb_generic_event_t *ev); @@ -13,5 +10,3 @@ void event_notify_enter(xcb_generic_event_t *ev); void event_notify_motion(xcb_generic_event_t *ev); extern void (*events[XCB_NO_OPERATION])(xcb_generic_event_t *); - -#endif diff --git a/src/globals.h b/src/globals.h new file mode 100644 index 0000000..6ea36c2 --- /dev/null +++ b/src/globals.h @@ -0,0 +1,4 @@ +#include + +extern xcb_connection_t *dpy; +extern xcb_screen_t *scr; diff --git a/src/sowm.c b/src/sowm.c index 2774e69..6b7dbdf 100644 --- a/src/sowm.c +++ b/src/sowm.c @@ -5,13 +5,14 @@ #include #include "event.h" - -static xcb_connection_t *dpy; -static xcb_screen_t *scr; +#include "globals.h" static void init_wm(void); static void init_input(void); +xcb_connection_t *dpy; +xcb_screen_t *scr; + static void init_wm(void) { uint32_t values[2];