summaryrefslogtreecommitdiff
path: root/include/sway/tree/layout.h
diff options
context:
space:
mode:
authorDrew DeVault <[email protected]>2018-03-30 00:02:29 -0400
committerDrew DeVault <[email protected]>2018-03-30 00:04:04 -0400
commitf26ecd9f58bb672fe107660ce9b37f4bf0777a8c (patch)
tree997658454de40db3f8b76b68d658efaf2b686188 /include/sway/tree/layout.h
parentd8104db8f1820bd3d4db8bf4f1ee51ae334ee6e7 (diff)
parent7162b9bea4d66d61376ad3605e23e2d83bb95201 (diff)
Merge remote-tracking branch 'origin/wlroots' into swaybar-layers
Diffstat (limited to 'include/sway/tree/layout.h')
-rw-r--r--include/sway/tree/layout.h52
1 files changed, 52 insertions, 0 deletions
diff --git a/include/sway/tree/layout.h b/include/sway/tree/layout.h
new file mode 100644
index 00000000..ad52bdb0
--- /dev/null
+++ b/include/sway/tree/layout.h
@@ -0,0 +1,52 @@
+#ifndef _SWAY_LAYOUT_H
+#define _SWAY_LAYOUT_H
+
+#include <wlr/types/wlr_output_layout.h>
+#include "sway/tree/container.h"
+
+enum movement_direction {
+ MOVE_LEFT,
+ MOVE_RIGHT,
+ MOVE_UP,
+ MOVE_DOWN,
+ MOVE_PARENT,
+ MOVE_CHILD,
+ MOVE_NEXT,
+ MOVE_PREV,
+ MOVE_FIRST
+};
+
+struct sway_container;
+
+struct sway_root {
+ struct wlr_output_layout *output_layout;
+
+ struct wl_listener output_layout_change;
+
+ struct wl_list unmanaged_views; // sway_view::unmanaged_view_link
+
+ struct {
+ struct wl_signal new_container;
+ } events;
+};
+
+void layout_init(void);
+
+void container_add_child(struct sway_container *parent, struct sway_container *child);
+
+struct sway_container *container_add_sibling(struct sway_container *parent,
+ struct sway_container *child);
+
+struct sway_container *container_remove_child(struct sway_container *child);
+
+enum sway_container_layout container_get_default_layout(struct sway_container *output);
+
+void container_sort_workspaces(struct sway_container *output);
+
+void arrange_windows(struct sway_container *container,
+ double width, double height);
+
+struct sway_container *container_get_in_direction(struct sway_container
+ *container, struct sway_seat *seat, enum movement_direction dir);
+
+#endif