]> git.sur5r.net Git - i3/i3/blob - include/handlers.h
Merge branch 'release-4.7.1' into next
[i3/i3] / include / handlers.h
1 /*
2  * vim:ts=4:sw=4:expandtab
3  *
4  * i3 - an improved dynamic tiling window manager
5  * © 2009-2011 Michael Stapelberg and contributors (see also: LICENSE)
6  *
7  * handlers.c: Small handlers for various events (keypresses, focus changes,
8  *             …).
9  *
10  */
11 #pragma once
12
13 #include <xcb/randr.h>
14
15 extern int randr_base;
16
17 /**
18  * Adds the given sequence to the list of events which are ignored.
19  * If this ignore should only affect a specific response_type, pass
20  * response_type, otherwise, pass -1.
21  *
22  * Every ignored sequence number gets garbage collected after 5 seconds.
23  *
24  */
25 void add_ignore_event(const int sequence, const int response_type);
26
27 /**
28  * Checks if the given sequence is ignored and returns true if so.
29  *
30  */
31 bool event_is_ignored(const int sequence, const int response_type);
32
33 /**
34  * Takes an xcb_generic_event_t and calls the appropriate handler, based on the
35  * event type.
36  *
37  */
38 void handle_event(int type, xcb_generic_event_t *event);
39
40 /**
41  * Sets the appropriate atoms for the property handlers after the atoms were
42  * received from X11
43  *
44  */
45 void property_handlers_init(void);
46
47 #if 0
48 /**
49  * Configuration notifies are only handled because we need to set up ignore
50  * for the following enter notify events
51  *
52  */
53 int handle_configure_event(void *prophs, xcb_connection_t *conn, xcb_configure_notify_event_t *event);
54 #endif
55
56 #if 0
57 /**
58  * Handles _NET_WM_WINDOW_TYPE changes
59  *
60  */
61 int handle_window_type(void *data, xcb_connection_t *conn, uint8_t state,
62                        xcb_window_t window, xcb_atom_t atom,
63                        xcb_get_property_reply_t *property);
64 #endif