diff options
author | Ryan Dwyer <ryandwyer1@gmail.com> | 2018-04-28 11:26:14 +1000 |
---|---|---|
committer | Ryan Dwyer <ryandwyer1@gmail.com> | 2018-04-28 11:26:14 +1000 |
commit | 167c2e1aa99aa8011e169b0fb61c47953cc9a5f6 (patch) | |
tree | f312cac40cd542964f62d8b7ed53d44bb13dea37 /include | |
parent | Merge pull request #1866 from ggreer/swaybar-cmd-sh (diff) | |
download | sway-167c2e1aa99aa8011e169b0fb61c47953cc9a5f6.tar.gz sway-167c2e1aa99aa8011e169b0fb61c47953cc9a5f6.tar.zst sway-167c2e1aa99aa8011e169b0fb61c47953cc9a5f6.zip |
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')
-rw-r--r-- | include/sway/tree/arrange.h | 20 | ||||
-rw-r--r-- | include/sway/tree/container.h | 1 | ||||
-rw-r--r-- | include/sway/tree/layout.h | 3 | ||||
-rw-r--r-- | include/sway/tree/view.h | 2 |
4 files changed, 23 insertions, 3 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 @@ | |||
1 | #ifndef _SWAY_ARRANGE_H | ||
2 | #define _SWAY_ARRANGE_H | ||
3 | |||
4 | struct sway_container; | ||
5 | |||
6 | void arrange_windows(struct sway_container *container); | ||
7 | |||
8 | // Determine the root container's geometry, then iterate to everything below | ||
9 | void arrange_root(void); | ||
10 | |||
11 | // Determine the output's geometry, then iterate to everything below | ||
12 | void arrange_output(struct sway_container *output); | ||
13 | |||
14 | // Determine the workspace's geometry, then iterate to everything below | ||
15 | void arrange_workspace(struct sway_container *workspace); | ||
16 | |||
17 | // Arrange layout for all the children of the given workspace/container | ||
18 | void arrange_children_of(struct sway_container *parent); | ||
19 | |||
20 | #endif | ||
diff --git a/include/sway/tree/container.h b/include/sway/tree/container.h index 5f3afdc1..9c921fc4 100644 --- a/include/sway/tree/container.h +++ b/include/sway/tree/container.h | |||
@@ -75,6 +75,7 @@ struct sway_container { | |||
75 | double x, y; | 75 | double x, y; |
76 | // does not include borders or gaps. | 76 | // does not include borders or gaps. |
77 | double width, height; | 77 | double width, height; |
78 | double saved_width, saved_height; | ||
78 | 79 | ||
79 | list_t *children; | 80 | list_t *children; |
80 | 81 | ||
diff --git a/include/sway/tree/layout.h b/include/sway/tree/layout.h index 327134a5..cc999871 100644 --- a/include/sway/tree/layout.h +++ b/include/sway/tree/layout.h | |||
@@ -60,9 +60,6 @@ enum sway_container_layout container_get_default_layout( | |||
60 | 60 | ||
61 | void container_sort_workspaces(struct sway_container *output); | 61 | void container_sort_workspaces(struct sway_container *output); |
62 | 62 | ||
63 | void arrange_windows(struct sway_container *container, | ||
64 | double width, double height); | ||
65 | |||
66 | struct sway_container *container_get_in_direction(struct sway_container | 63 | struct sway_container *container_get_in_direction(struct sway_container |
67 | *container, struct sway_seat *seat, enum movement_direction dir); | 64 | *container, struct sway_seat *seat, enum movement_direction dir); |
68 | 65 | ||
diff --git a/include/sway/tree/view.h b/include/sway/tree/view.h index 7237ea2a..a4ad9971 100644 --- a/include/sway/tree/view.h +++ b/include/sway/tree/view.h | |||
@@ -162,6 +162,8 @@ void view_configure(struct sway_view *view, double ox, double oy, int width, | |||
162 | 162 | ||
163 | void view_set_activated(struct sway_view *view, bool activated); | 163 | void view_set_activated(struct sway_view *view, bool activated); |
164 | 164 | ||
165 | void view_set_fullscreen_raw(struct sway_view *view, bool fullscreen); | ||
166 | |||
165 | void view_set_fullscreen(struct sway_view *view, bool fullscreen); | 167 | void view_set_fullscreen(struct sway_view *view, bool fullscreen); |
166 | 168 | ||
167 | void view_close(struct sway_view *view); | 169 | void view_close(struct sway_view *view); |