]> git.sur5r.net Git - i3/i3/blob - include/manage.h
Merge branch 'release-4.16.1'
[i3/i3] / include / manage.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  * manage.c: Initially managing new windows (or existing ones on restart).
8  *
9  */
10 #pragma once
11
12 #include <config.h>
13
14 #include "data.h"
15
16 /**
17  * Go through all existing windows (if the window manager is restarted) and
18  * manage them
19  *
20  */
21 void manage_existing_windows(xcb_window_t root);
22
23 /**
24  * Restores the geometry of each window by reparenting it to the root window
25  * at the position of its frame.
26  *
27  * This is to be called *only* before exiting/restarting i3 because of evil
28  * side-effects which are to be expected when continuing to run i3.
29  *
30  */
31 void restore_geometry(void);
32
33 /**
34  * Do some sanity checks and then reparent the window.
35  *
36  */
37 void manage_window(xcb_window_t window,
38                    xcb_get_window_attributes_cookie_t cookie,
39                    bool needs_to_be_mapped);