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