* assigning a workspace to each RandR output.
*
*/
-void tree_init();
+void tree_init(xcb_get_geometry_reply_t *geometry);
/**
* Opens an empty container in the current container
*
*/
-Con *tree_open_con(Con *con, bool focus_it);
+Con *tree_open_con(Con *con, i3Window *window);
/**
* Splits (horizontally or vertically) the given container by creating a new
* Closes the current container using tree_close().
*
*/
-void tree_close_con();
+void tree_close_con(kill_window_t kill_window);
/**
* Changes focus in the given way (next/previous) and given orientation
void tree_next(char way, orientation_t orientation);
/**
- * Closes the given container including all children
+ * Closes the given container including all children.
+ * Returns true if the container was killed or false if just WM_DELETE was sent
+ * and the window is expected to kill itself.
*
*/
-void tree_close(Con *con, bool kill_window, bool dont_kill_parent);
+bool tree_close(Con *con, kill_window_t kill_window, bool dont_kill_parent);
/**
* Loads tree from ~/.i3/_restart.json (used for in-place restarts).
*
*/
-bool tree_restore(const char *path);
+bool tree_restore(const char *path, xcb_get_geometry_reply_t *geometry);
/**
* tree_flatten() removes pairs of redundant split containers, e.g.: