diff options
author | Drew DeVault <sir@cmpwn.com> | 2018-03-29 23:19:14 -0400 |
---|---|---|
committer | GitHub <noreply@github.com> | 2018-03-29 23:19:14 -0400 |
commit | 6b7841b11ff4cd35f54d69dc92029855893e5ce0 (patch) | |
tree | 88c2de0d08e00b2a30cb20cdfadfa6e53f5c59b4 /include/sway/tree/layout.h | |
parent | 3d29d833b133d48abfa87c1a79d8fbb507fd1426 (diff) | |
parent | 2778edef976a669dd0019ebb5327bcfeb4de13c5 (diff) |
Merge pull request #1647 from acrisci/refactor-tree
Refactor tree
Diffstat (limited to 'include/sway/tree/layout.h')
-rw-r--r-- | include/sway/tree/layout.h | 52 |
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 |