aboutsummaryrefslogtreecommitdiff
path: root/include/sway/tree/container.h
diff options
context:
space:
mode:
Diffstat (limited to 'include/sway/tree/container.h')
-rw-r--r--include/sway/tree/container.h33
1 files changed, 12 insertions, 21 deletions
diff --git a/include/sway/tree/container.h b/include/sway/tree/container.h
index b64a2e63..cd886cd0 100644
--- a/include/sway/tree/container.h
+++ b/include/sway/tree/container.h
@@ -40,7 +40,6 @@ enum sway_container_layout {
L_VERT,
L_STACKED,
L_TABBED,
- L_FLOATING,
};
enum sway_container_border {
@@ -83,10 +82,11 @@ struct sway_container_state {
bool border_bottom;
bool border_left;
bool border_right;
+ bool using_csd;
// Workspace properties
struct sway_container *ws_fullscreen;
- struct sway_container *ws_floating;
+ list_t *ws_floating;
};
struct sway_container {
@@ -138,6 +138,9 @@ struct sway_container {
struct sway_container *parent;
+ // Outputs currently being intersected
+ list_t *outputs; // struct sway_output
+
// Indicates that the container is a scratchpad container.
// Both hidden and visible scratchpad containers have scratchpad=true.
// Hidden scratchpad containers have a NULL parent.
@@ -166,12 +169,7 @@ struct sway_container {
struct {
struct wl_signal destroy;
- // Raised after the tree updates, but before arrange_windows
- // Passed the previous parent
- struct wl_signal reparent;
} events;
-
- struct wl_listener reparent;
};
struct sway_container *container_create(enum sway_container_type type);
@@ -213,15 +211,11 @@ struct sway_container *container_destroy(struct sway_container *container);
struct sway_container *container_close(struct sway_container *container);
-void container_descendants(struct sway_container *root,
- enum sway_container_type type,
- void (*func)(struct sway_container *item, void *data), void *data);
-
/**
* Search a container's descendants a container based on test criteria. Returns
* the first container that passes the test.
*/
-struct sway_container *container_find(struct sway_container *container,
+struct sway_container *container_find_child(struct sway_container *container,
bool (*test)(struct sway_container *view, void *data), void *data);
/**
@@ -243,10 +237,7 @@ struct sway_container *tiling_container_at(
struct sway_container *con, double lx, double ly,
struct wlr_surface **surface, double *sx, double *sy);
-/**
- * Apply the function for each child of the container depth first.
- */
-void container_for_each_descendant(struct sway_container *container,
+void container_for_each_child(struct sway_container *container,
void (*f)(struct sway_container *container, void *data), void *data);
/**
@@ -361,11 +352,11 @@ bool container_is_floating_or_child(struct sway_container *container);
bool container_is_fullscreen_or_child(struct sway_container *container);
/**
- * Wrap the children of parent in a new container. The new container will be the
- * only child of parent.
- *
- * The new container is returned.
+ * Return the output which will be used for scale purposes.
+ * This is the most recently entered output.
*/
-struct sway_container *container_wrap_children(struct sway_container *parent);
+struct sway_output *container_get_effective_output(struct sway_container *con);
+
+void container_discover_outputs(struct sway_container *con);
#endif