2 * vim:ts=4:sw=4:expandtab
9 /* TODO: i am not sure yet how much access to the focused container should
10 * be permitted to source files */
12 TAILQ_HEAD(all_cons_head, Con);
13 extern struct all_cons_head all_cons;
16 * Initializes the tree by creating the root node, adding all RandR outputs
17 * to the tree (that means randr_init() has to be called before) and
18 * assigning a workspace to each RandR output.
24 * Opens an empty container in the current container
27 Con *tree_open_con(Con *con);
30 * Splits (horizontally or vertically) the given container by creating a new
31 * container which contains the old one and the future ones.
34 void tree_split(Con *con, orientation_t orientation);
37 * Moves focus one level up.
43 * Moves focus one level down.
49 * Renders the tree, that is rendering all outputs using render_con() and
50 * pushing the changes to X11 using x_push_changes().
56 * Closes the current container using tree_close().
59 void tree_close_con();
62 * Changes focus in the given way (next/previous) and given orientation
63 * (horizontal/vertical).
66 void tree_next(char way, orientation_t orientation);
69 * Moves the current container in the given way (next/previous) and given
70 * orientation (horizontal/vertical).
73 void tree_move(char way, orientation_t orientation);
76 * Closes the given container including all children
79 void tree_close(Con *con, bool kill_window);
82 * Loads tree from ~/.i3/_restart.json (used for in-place restarts).