aboutsummaryrefslogtreecommitdiff
path: root/include/sway/tree/arrange.h
diff options
context:
space:
mode:
authorRyan Dwyer <ryandwyer1@gmail.com>2018-04-28 11:26:14 +1000
committerRyan Dwyer <ryandwyer1@gmail.com>2018-04-28 11:26:14 +1000
commit167c2e1aa99aa8011e169b0fb61c47953cc9a5f6 (patch)
treef312cac40cd542964f62d8b7ed53d44bb13dea37 /include/sway/tree/arrange.h
parent85ec7002068277fe82dcc139ebb401b515ca5d80 (diff)
Refactor arrange_windows()
Replaces arrange_windows() with arrange_root(), arrange_output(), arrange_workspace() and arrange_children_of(). Also makes fullscreen views save and restore their dimensions, which allows it to preserve any custom resize and is also a requirement for floating views once they are implemented.
Diffstat (limited to 'include/sway/tree/arrange.h')
-rw-r--r--include/sway/tree/arrange.h20
1 files changed, 20 insertions, 0 deletions
diff --git a/include/sway/tree/arrange.h b/include/sway/tree/arrange.h
new file mode 100644
index 00000000..7ccb88a2
--- /dev/null
+++ b/include/sway/tree/arrange.h
@@ -0,0 +1,20 @@
+#ifndef _SWAY_ARRANGE_H
+#define _SWAY_ARRANGE_H
+
+struct sway_container;
+
+void arrange_windows(struct sway_container *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);
+
+// 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);
+
+#endif