aboutsummaryrefslogtreecommitdiff
path: root/include/sway
diff options
context:
space:
mode:
Diffstat (limited to 'include/sway')
-rw-r--r--include/sway/tree/container.h18
-rw-r--r--include/sway/tree/root.h2
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;