-int handle_key_release(void *ignored, xcb_connection_t *conn, xcb_key_release_event_t *event);
-int handle_key_press(void *ignored, xcb_connection_t *conn, xcb_key_press_event_t *event);
-int handle_enter_notify(void *ignored, xcb_connection_t *conn, xcb_enter_notify_event_t *event);
-int handle_button_press(void *ignored, xcb_connection_t *conn, xcb_button_press_event_t *event);
-int handle_map_notify_event(void *prophs, xcb_connection_t *conn, xcb_map_notify_event_t *event);
+#include <xcb/randr.h>
+
+extern int randr_base;
+
+/**
+ * Adds the given sequence to the list of events which are ignored.
+ * If this ignore should only affect a specific response_type, pass
+ * response_type, otherwise, pass -1.
+ *
+ * Every ignored sequence number gets garbage collected after 5 seconds.
+ *
+ */
+void add_ignore_event(const int sequence, const int response_type);
+
+/**
+ * Checks if the given sequence is ignored and returns true if so.
+ *
+ */
+bool event_is_ignored(const int sequence, const int response_type);
+
+/**
+ * Takes an xcb_generic_event_t and calls the appropriate handler, based on the
+ * event type.
+ *
+ */
+void handle_event(int type, xcb_generic_event_t *event);
+
+/**
+ * Sets the appropriate atoms for the property handlers after the atoms were
+ * received from X11
+ *
+ */
+void property_handlers_init(void);
+
+#if 0
+/**
+ * Configuration notifies are only handled because we need to set up ignore
+ * for the following enter notify events
+ *
+ */