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.h30
1 files changed, 19 insertions, 11 deletions
diff --git a/include/sway/tree/arrange.h b/include/sway/tree/arrange.h
index a14bc5dc..6c8c0dba 100644
--- a/include/sway/tree/arrange.h
+++ b/include/sway/tree/arrange.h
@@ -1,5 +1,6 @@
#ifndef _SWAY_ARRANGE_H
#define _SWAY_ARRANGE_H
+#include "sway/desktop/transaction.h"
struct sway_container;
@@ -9,16 +10,23 @@ void remove_gaps(struct sway_container *c);
// Add gaps around container
void add_gaps(struct sway_container *c);
-// 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);
-
-// Determine the workspace's geometry, then iterate to everything below
-void arrange_workspace(struct sway_container *workspace);
-
-// Arrange layout for all the children of the given workspace/container
-void arrange_children_of(struct sway_container *parent);
+/**
+ * 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);
+
+/**
+ * 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);
#endif