diff options
Diffstat (limited to 'include/sway/tree/container.h')
-rw-r--r-- | include/sway/tree/container.h | 33 |
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 |