layout restore: create and render placeholder windows

This is not entirely done yet, but TODO entries are placed in the code
where appropriate.
This commit is contained in:
Michael Stapelberg
2013-12-14 22:49:33 +01:00
parent 2ce43783f8
commit 3a4ad9b330
6 changed files with 315 additions and 0 deletions

32
include/restore_layout.h Normal file
View File

@ -0,0 +1,32 @@
/*
* vim:ts=4:sw=4:expandtab
*
* i3 - an improved dynamic tiling window manager
* © 2009-2013 Michael Stapelberg and contributors (see also: LICENSE)
*
* restore_layout.c: Everything for restored containers that is not pure state
* parsing (which can be found in load_layout.c).
*
*/
#ifndef I3_RESTORE_LAYOUT_H
#define I3_RESTORE_LAYOUT_H
/**
* Opens a separate connection to X11 for placeholder windows when restoring
* layouts. This is done as a safety measure (users can xkill a placeholder
* window without killing their window manager) and for better isolation, both
* on the wire to X11 and thus also in the code.
*
*/
void restore_connect(void);
/**
* Open placeholder windows for all children of parent. The placeholder window
* will vanish as soon as a real window is swallowed by the container. Until
* then, it exposes the criteria that must be fulfilled for a window to be
* swallowed by this container.
*
*/
void restore_open_placeholder_windows(Con *con);
#endif