diff options
Diffstat (limited to 'include/sway/tree/arrange.h')
-rw-r--r-- | include/sway/tree/arrange.h | 33 |
1 files changed, 24 insertions, 9 deletions
diff --git a/include/sway/tree/arrange.h b/include/sway/tree/arrange.h index ce95cfe9..23cd66dc 100644 --- a/include/sway/tree/arrange.h +++ b/include/sway/tree/arrange.h @@ -1,18 +1,33 @@ #ifndef _SWAY_ARRANGE_H #define _SWAY_ARRANGE_H +#include "sway/desktop/transaction.h" struct sway_container; -// Determine the root container's geometry, then iterate to everything below -void arrange_root(void); - -// Determine the output's geometry, then iterate to everything below -void arrange_output(struct sway_container *output); +/** + * Arrange layout for all the children of the given container, and add them to + * the given transaction. + * + * Use this function if you need to arrange multiple sections of the tree in one + * transaction. + */ +void arrange_windows(struct sway_container *container, + struct sway_transaction *transaction); -// Determine the workspace's geometry, then iterate to everything below -void arrange_workspace(struct sway_container *workspace); +/** + * Arrange layout for the given container and commit the transaction. + * + * This function is a wrapper around arrange_windows, and handles creating and + * committing the transaction for you. Use this function if you're only doing + * one arrange operation. + */ +void arrange_and_commit(struct sway_container *container); -// Arrange layout for all the children of the given workspace/container -void arrange_children_of(struct sway_container *parent); +// These functions are temporary and are only here to make everything compile. +// They are wrappers around arrange_and_commit. +void arrange_root(void); +void arrange_output(struct sway_container *container); +void arrange_workspace(struct sway_container *container); +void arrange_children_of(struct sway_container *container); #endif |