i3
con.h
Go to the documentation of this file.
1 /*
2  * vim:ts=4:sw=4:expandtab
3  *
4  * i3 - an improved dynamic tiling window manager
5  * © 2009-2011 Michael Stapelberg and contributors (see also: LICENSE)
6  *
7  * con.c: Functions which deal with containers directly (creating containers,
8  * searching containers, getting specific properties from containers,
9  * …).
10  *
11  */
12 #ifndef I3_CON_H
13 #define I3_CON_H
14 
21 Con *con_new(Con *parent, i3Window *window);
22 
28 void con_focus(Con *con);
29 
34 bool con_is_leaf(Con *con);
35 
36 /*
37  * Returns true if a container should be considered split.
38  *
39  */
40 bool con_is_split(Con *con);
41 
46 bool con_has_children(Con *con);
47 
53 bool con_accepts_window(Con *con);
54 
60 Con *con_get_output(Con *con);
61 
67 
74 
79 Con *con_get_fullscreen_con(Con *con, int fullscreen_mode);
80 
85 bool con_is_internal(Con *con);
86 
91 bool con_is_floating(Con *con);
92 
99 
104 bool con_inside_focused(Con *con);
105 
111 Con *con_by_window_id(xcb_window_t window);
112 
118 Con *con_by_frame_id(xcb_window_t frame);
119 
125 Con *con_for_window(Con *con, i3Window *window, Match **store_match);
126 
131 int con_num_children(Con *con);
132 
143 void con_attach(Con *con, Con *parent, bool ignore_focus);
144 
149 void con_detach(Con *con);
150 
157 void con_fix_percent(Con *con);
158 
164 void con_toggle_fullscreen(Con *con, int fullscreen_mode);
165 
183 void con_move_to_workspace(Con *con, Con *workspace, bool fix_coordinates, bool dont_warp);
184 
191 int con_orientation(Con *con);
192 
199 Con *con_next_focused(Con *con);
200 
206 Con *con_get_next(Con *con, char way, orientation_t orientation);
207 
215 
225 
226 /*
227  * Returns the leftmost, rightmost, etc. container in sub-tree. For example, if
228  * direction is D_LEFT, then we return the rightmost container and if direction
229  * is D_RIGHT, we return the leftmost container. This is because if we are
230  * moving D_LEFT, and thus want the rightmost container.
231  */
232 Con *con_descend_direction(Con *con, direction_t direction);
233 
241 
247 
258 int con_border_style(Con *con);
259 
265 void con_set_border_style(Con *con, int border_style, int border_width);
266 
273 void con_set_layout(Con *con, int layout);
274 
282 void con_toggle_layout(Con *con, const char *toggle_mode);
283 
290 
313 
318 bool con_has_urgent_child(Con *con);
319 
326 
331 char *con_get_tree_representation(Con *con);
332 
333 #endif