aboutsummaryrefslogtreecommitdiff
path: root/include/sway/tree
diff options
context:
space:
mode:
authorDrew DeVault <sir@cmpwn.com>2018-03-31 21:21:26 -0400
committerDrew DeVault <sir@cmpwn.com>2018-04-02 11:12:18 -0400
commitb2d871cfe215a82266d01847f4787bbcf8c721c9 (patch)
tree87dbae47c65d56730c816d7e6e2123e5e851dec2 /include/sway/tree
parent122b96abed9955f78e3f157167d34312f5bb551d (diff)
Partially implement move command
Works: - move [container|window] to workspace <name> - Note, this should be able to move C_CONTAINER but this is untested - move [workspace] to output [left|right|up|down|<name>] Not implemented yet: - move [left|right|up|down] - move scratchpad - move position
Diffstat (limited to 'include/sway/tree')
-rw-r--r--include/sway/tree/container.h5
-rw-r--r--include/sway/tree/layout.h12
2 files changed, 12 insertions, 5 deletions
diff --git a/include/sway/tree/container.h b/include/sway/tree/container.h
index 6aa66da0..aff2e58e 100644
--- a/include/sway/tree/container.h
+++ b/include/sway/tree/container.h
@@ -84,9 +84,14 @@ struct sway_container {
struct {
struct wl_signal destroy;
+ // Raised after the tree updates, but before arrange_windows
+ // Passed the previous parent
+ struct wl_signal reparent;
} events;
};
+const char *container_type_to_str(enum sway_container_type type);
+
// TODO only one container create function and pass the type?
struct sway_container *container_output_create(
struct sway_output *sway_output);
diff --git a/include/sway/tree/layout.h b/include/sway/tree/layout.h
index 0a904c4b..e1034657 100644
--- a/include/sway/tree/layout.h
+++ b/include/sway/tree/layout.h
@@ -11,9 +11,6 @@ enum movement_direction {
MOVE_DOWN,
MOVE_PARENT,
MOVE_CHILD,
- MOVE_NEXT,
- MOVE_PREV,
- MOVE_FIRST
};
struct sway_container;
@@ -32,7 +29,8 @@ struct sway_root {
void layout_init(void);
-void container_add_child(struct sway_container *parent, struct sway_container *child);
+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);
@@ -44,7 +42,11 @@ struct sway_container *container_reap_empty(struct sway_container *container);
void container_move_to(struct sway_container* container,
struct sway_container* destination);
-enum sway_container_layout container_get_default_layout(struct sway_container *output);
+void container_move(struct sway_container *container,
+ enum movement_direction dir, int move_amt);
+
+enum sway_container_layout container_get_default_layout(
+ struct sway_container *output);
void container_sort_workspaces(struct sway_container *output);