diff options
Diffstat (limited to 'include/sway')
-rw-r--r-- | include/sway/tree/container.h | 18 | ||||
-rw-r--r-- | include/sway/tree/root.h | 2 |
2 files changed, 17 insertions, 3 deletions
diff --git a/include/sway/tree/container.h b/include/sway/tree/container.h index 9a432cb2..f0d0b3ce 100644 --- a/include/sway/tree/container.h +++ b/include/sway/tree/container.h @@ -25,6 +25,12 @@ enum sway_container_border { B_CSD, }; +enum sway_fullscreen_mode { + FULLSCREEN_NONE, + FULLSCREEN_WORKSPACE, + FULLSCREEN_GLOBAL, +}; + struct sway_root; struct sway_output; struct sway_workspace; @@ -38,7 +44,7 @@ struct sway_container_state { double x, y; double width, height; - bool is_fullscreen; + enum sway_fullscreen_mode fullscreen_mode; struct sway_workspace *workspace; struct sway_container *parent; @@ -85,7 +91,7 @@ struct sway_container { double content_x, content_y; int content_width, content_height; - bool is_fullscreen; + enum sway_fullscreen_mode fullscreen_mode; enum sway_container_border border; @@ -249,7 +255,13 @@ bool container_has_urgent_child(struct sway_container *container); */ void container_end_mouse_operation(struct sway_container *container); -void container_set_fullscreen(struct sway_container *container, bool enable); +void container_set_fullscreen(struct sway_container *con, + enum sway_fullscreen_mode mode); + +/** + * Convenience function. + */ +void container_fullscreen_disable(struct sway_container *con); /** * Return true if the container is floating, or a child of a floating split diff --git a/include/sway/tree/root.h b/include/sway/tree/root.h index 8f4deaa7..9ff45eb5 100644 --- a/include/sway/tree/root.h +++ b/include/sway/tree/root.h @@ -35,6 +35,8 @@ struct sway_root { // For when there's no connected outputs struct sway_output *noop_output; + struct sway_container *fullscreen_global; + struct { struct wl_signal new_node; } events; |