diff options
Diffstat (limited to 'include/sway/tree/container.h')
-rw-r--r-- | include/sway/tree/container.h | 38 |
1 files changed, 38 insertions, 0 deletions
diff --git a/include/sway/tree/container.h b/include/sway/tree/container.h index 728daa84..2a4be18c 100644 --- a/include/sway/tree/container.h +++ b/include/sway/tree/container.h @@ -68,6 +68,9 @@ struct sway_container_state { struct sway_container *parent; list_t *children; + struct sway_container *focused_inactive_child; + bool focused; + // View properties double view_x, view_y; double view_width, view_height; @@ -132,6 +135,11 @@ struct sway_container { struct sway_container *parent; + // Indicates that the container is a scratchpad container. + // Both hidden and visible scratchpad containers have scratchpad=true. + // Hidden scratchpad containers have a NULL parent. + bool scratchpad; + float alpha; struct wlr_texture *title_focused; @@ -144,6 +152,10 @@ struct sway_container { bool destroying; + // If true, indicates that the container has pending state that differs from + // the current. + bool dirty; + struct { struct wl_signal destroy; // Raised after the tree updates, but before arrange_windows @@ -297,4 +309,30 @@ bool container_is_floating(struct sway_container *container); */ void container_get_box(struct sway_container *container, struct wlr_box *box); +/** + * Move a floating container by the specified amount. + */ +void container_floating_translate(struct sway_container *con, + double x_amount, double y_amount); + +/** + * Move a floating container to a new layout-local position. + */ +void container_floating_move_to(struct sway_container *con, + double lx, double ly); + +/** + * Mark a container as dirty if it isn't already. Dirty containers will be + * included in the next transaction then unmarked as dirty. + */ +void container_set_dirty(struct sway_container *container); + +bool container_has_urgent_child(struct sway_container *container); + +/** + * If the container is involved in a drag or resize operation via a mouse, this + * ends the operation. + */ +void container_end_mouse_operation(struct sway_container *container); + #endif |