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