i3
include/tree.h
Go to the documentation of this file.
00001 /*
00002  * vim:ts=4:sw=4:expandtab
00003  */
00004 
00005 #ifndef _TREE_H
00006 #define _TREE_H
00007 
00008 extern Con *croot;
00009 /* TODO: i am not sure yet how much access to the focused container should
00010  * be permitted to source files */
00011 extern Con *focused;
00012 TAILQ_HEAD(all_cons_head, Con);
00013 extern struct all_cons_head all_cons;
00014 
00021 void tree_init(xcb_get_geometry_reply_t *geometry);
00022 
00027 Con *tree_open_con(Con *con, i3Window *window);
00028 
00034 void tree_split(Con *con, orientation_t orientation);
00035 
00040 void level_up();
00041 
00046 void level_down();
00047 
00053 void tree_render();
00054 
00059 void tree_close_con(kill_window_t kill_window);
00060 
00066 void tree_next(char way, orientation_t orientation);
00067 
00074 bool tree_close(Con *con, kill_window_t kill_window, bool dont_kill_parent);
00075 
00080 bool tree_restore(const char *path, xcb_get_geometry_reply_t *geometry);
00081 
00095 void tree_flatten(Con *child);
00096 
00097 #endif