]> git.sur5r.net Git - i3/i3/blob - include/restore_layout.h
Merge branch 'master' into next
[i3/i3] / include / restore_layout.h
1 /*
2  * vim:ts=4:sw=4:expandtab
3  *
4  * i3 - an improved dynamic tiling window manager
5  * © 2009-2013 Michael Stapelberg and contributors (see also: LICENSE)
6  *
7  * restore_layout.c: Everything for restored containers that is not pure state
8  *                   parsing (which can be found in load_layout.c).
9  *
10  */
11 #ifndef I3_RESTORE_LAYOUT_H
12 #define I3_RESTORE_LAYOUT_H
13
14 /**
15  * Opens a separate connection to X11 for placeholder windows when restoring
16  * layouts. This is done as a safety measure (users can xkill a placeholder
17  * window without killing their window manager) and for better isolation, both
18  * on the wire to X11 and thus also in the code.
19  *
20  */
21 void restore_connect(void);
22
23 /**
24  * Open placeholder windows for all children of parent. The placeholder window
25  * will vanish as soon as a real window is swallowed by the container. Until
26  * then, it exposes the criteria that must be fulfilled for a window to be
27  * swallowed by this container.
28  *
29  */
30 void restore_open_placeholder_windows(Con *con);
31
32 /**
33  * Kill the placeholder window, if placeholder refers to a placeholder window.
34  * This function is called when manage.c puts a window into an existing
35  * container. In order not to leak resources, we need to destroy the window and
36  * all associated X11 objects (pixmap/gc).
37  *
38  */
39 bool restore_kill_placeholder(xcb_window_t placeholder);
40
41 #endif