X-Git-Url: https://git.sur5r.net/?p=i3%2Fi3;a=blobdiff_plain;f=include%2Fcon.h;h=2c991b0cb6ec90b91ccbe82fc314a7f3edfe6e9c;hp=726fec96d145e501898d2793367a3d1572eaa269;hb=HEAD;hpb=eda440d6ae84307c6e9327c24bd4946526592a80 diff --git a/include/con.h b/include/con.h index 726fec96..2c991b0c 100644 --- a/include/con.h +++ b/include/con.h @@ -20,7 +20,8 @@ */ Con *con_new_skeleton(Con *parent, i3Window *window); -/* A wrapper for con_new_skeleton, to retain the old con_new behaviour +/** + * A wrapper for con_new_skeleton, to retain the old con_new behaviour * */ Con *con_new(Con *parent, i3Window *window); @@ -120,6 +121,14 @@ Con *con_parent_with_orientation(Con *con, orientation_t orientation); */ Con *con_get_fullscreen_con(Con *con, fullscreen_mode_t fullscreen_mode); +/** + * Returns the fullscreen node that covers the given workspace if it exists. + * This is either a CF_GLOBAL fullscreen container anywhere or a CF_OUTPUT + * fullscreen container in the workspace. + * + */ +Con *con_get_fullscreen_covering_ws(Con *ws); + /** * Returns true if the container is internal, such as __i3_scratch * @@ -212,7 +221,7 @@ void con_mark_toggle(Con *con, const char *mark, mark_mode_t mode); */ void con_mark(Con *con, const char *mark, mark_mode_t mode); -/* +/** * Removes marks from containers. * If con is NULL, all containers are considered. * If name is NULL, this removes all existing marks. @@ -228,6 +237,22 @@ void con_unmark(Con *con, const char *name); */ Con *con_for_window(Con *con, i3Window *window, Match **store_match); +/** + * Iterate over the container's focus stack and return an array with the + * containers inside it, ordered from higher focus order to lowest. + * + */ +Con **get_focus_order(Con *con); + +/** + * Clear the container's focus stack and re-add it using the provided container + * array. The function doesn't check if the provided array contains the same + * containers with the previous focus stack but will not add floating containers + * in the new focus stack if container is not a workspace. + * + */ +void set_focus_order(Con *con, Con **focus_order); + /** * Returns the number of children of this container. * @@ -378,7 +403,7 @@ Con *con_descend_focused(Con *con); */ Con *con_descend_tiling_focused(Con *con); -/* +/** * Returns the leftmost, rightmost, etc. container in sub-tree. For example, if * direction is D_LEFT, then we return the rightmost container and if direction * is D_RIGHT, we return the leftmost container. This is because if we are