i3
x.h
Go to the documentation of this file.
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  * x.c: Interface to X11, transfers our in-memory state to X11 (see also
8  * render.c). Basically a big state machine.
9  *
10  */
11 #ifndef I3_X_H
12 #define I3_X_H
13 
15 extern xcb_window_t focused_id;
16 
22 void x_con_init(Con *con, uint16_t depth);
23 
28 void x_move_win(Con *src, Con *dest);
29 
35 void x_reparent_child(Con *con, Con *old);
36 
43 void x_reinit(Con *con);
44 
49 void x_con_kill(Con *con);
50 
55 bool window_supports_protocol(xcb_window_t window, xcb_atom_t atom);
56 
61 void x_window_kill(xcb_window_t window, kill_window_t kill_window);
62 
67 void x_draw_decoration(Con *con);
68 
75 void x_deco_recurse(Con *con);
76 
83 void x_push_node(Con *con);
84 
90 void x_push_changes(Con *con);
91 
97 void x_raise_con(Con *con);
98 
105 void x_set_name(Con *con, const char *name);
106 
111 void update_shmlog_atom(void);
112 
117 void x_set_i3_atoms(void);
118 
124 void x_set_warp_to(Rect *rect);
125 
132 void x_mask_event_mask(uint32_t mask);
133 
134 #endif