2 * vim:ts=4:sw=4:expandtab
4 * i3 - an improved dynamic tiling window manager
5 * © 2009-2013 Michael Stapelberg and contributors (see also: LICENSE)
7 * restore_layout.c: Everything for restored containers that is not pure state
8 * parsing (which can be found in load_layout.c).
11 #ifndef I3_RESTORE_LAYOUT_H
12 #define I3_RESTORE_LAYOUT_H
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.
21 void restore_connect(void);
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.
30 void restore_open_placeholder_windows(Con *con);
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).
39 bool restore_kill_placeholder(xcb_window_t placeholder);