summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorLibravatar Tony Crisci <tony@dubstepdish.com>2018-03-29 23:15:39 -0400
committerLibravatar Tony Crisci <tony@dubstepdish.com>2018-03-29 23:15:39 -0400
commit2778edef976a669dd0019ebb5327bcfeb4de13c5 (patch)
tree6d9c1cecaa845590025f8354047e2986c3301092
parentrename container_for_each_descendent (diff)
downloadsway-2778edef976a669dd0019ebb5327bcfeb4de13c5.tar.gz
sway-2778edef976a669dd0019ebb5327bcfeb4de13c5.tar.zst
sway-2778edef976a669dd0019ebb5327bcfeb4de13c5.zip
arrange windows
-rw-r--r--include/sway/tree/layout.h2
-rw-r--r--sway/commands/layout.c2
-rw-r--r--sway/commands/reload.c2
-rw-r--r--sway/desktop/layer_shell.c2
-rw-r--r--sway/desktop/output.c4
-rw-r--r--sway/desktop/wl_shell.c4
-rw-r--r--sway/desktop/xdg_shell_v6.c4
-rw-r--r--sway/desktop/xwayland.c8
-rw-r--r--sway/tree/container.c2
-rw-r--r--sway/tree/layout.c16
-rw-r--r--sway/tree/workspace.c2
11 files changed, 24 insertions, 24 deletions
diff --git a/include/sway/tree/layout.h b/include/sway/tree/layout.h
index 6980ec9e..ad52bdb0 100644
--- a/include/sway/tree/layout.h
+++ b/include/sway/tree/layout.h
@@ -43,7 +43,7 @@ enum sway_container_layout container_get_default_layout(struct sway_container *o
43 43
44void container_sort_workspaces(struct sway_container *output); 44void container_sort_workspaces(struct sway_container *output);
45 45
46void container_arrange_windows(struct sway_container *container, 46void arrange_windows(struct sway_container *container,
47 double width, double height); 47 double width, double height);
48 48
49struct sway_container *container_get_in_direction(struct sway_container 49struct sway_container *container_get_in_direction(struct sway_container
diff --git a/sway/commands/layout.c b/sway/commands/layout.c
index e9cfeb8f..ebab2a48 100644
--- a/sway/commands/layout.c
+++ b/sway/commands/layout.c
@@ -50,7 +50,7 @@ struct cmd_results *cmd_layout(int argc, char **argv) {
50 } 50 }
51 } 51 }
52 52
53 container_arrange_windows(parent, parent->width, parent->height); 53 arrange_windows(parent, parent->width, parent->height);
54 54
55 return cmd_results_new(CMD_SUCCESS, NULL, NULL); 55 return cmd_results_new(CMD_SUCCESS, NULL, NULL);
56} 56}
diff --git a/sway/commands/reload.c b/sway/commands/reload.c
index 83ecd75b..8cef789b 100644
--- a/sway/commands/reload.c
+++ b/sway/commands/reload.c
@@ -13,6 +13,6 @@ struct cmd_results *cmd_reload(int argc, char **argv) {
13 13
14 /* load_swaybars(); -- for when it's implemented */ 14 /* load_swaybars(); -- for when it's implemented */
15 15
16 container_arrange_windows(&root_container, -1, -1); 16 arrange_windows(&root_container, -1, -1);
17 return cmd_results_new(CMD_SUCCESS, NULL, NULL); 17 return cmd_results_new(CMD_SUCCESS, NULL, NULL);
18} 18}
diff --git a/sway/desktop/layer_shell.c b/sway/desktop/layer_shell.c
index 4bfd1c45..137b3260 100644
--- a/sway/desktop/layer_shell.c
+++ b/sway/desktop/layer_shell.c
@@ -172,7 +172,7 @@ void arrange_layers(struct sway_output *output) {
172 if (memcmp(&usable_area_before, 172 if (memcmp(&usable_area_before,
173 &usable_area, sizeof(struct wlr_box)) != 0) { 173 &usable_area, sizeof(struct wlr_box)) != 0) {
174 wlr_log(L_DEBUG, "arrange"); 174 wlr_log(L_DEBUG, "arrange");
175 container_arrange_windows(output->swayc, -1, -1); 175 arrange_windows(output->swayc, -1, -1);
176 } 176 }
177 177
178 // Arrange non-exlusive surfaces from top->bottom 178 // Arrange non-exlusive surfaces from top->bottom
diff --git a/sway/desktop/output.c b/sway/desktop/output.c
index fa1b0680..b463dfdc 100644
--- a/sway/desktop/output.c
+++ b/sway/desktop/output.c
@@ -264,7 +264,7 @@ static void handle_output_destroy(struct wl_listener *listener, void *data) {
264static void handle_output_mode(struct wl_listener *listener, void *data) { 264static void handle_output_mode(struct wl_listener *listener, void *data) {
265 struct sway_output *output = wl_container_of(listener, output, mode); 265 struct sway_output *output = wl_container_of(listener, output, mode);
266 arrange_layers(output); 266 arrange_layers(output);
267 container_arrange_windows(output->swayc, -1, -1); 267 arrange_windows(output->swayc, -1, -1);
268} 268}
269 269
270void handle_new_output(struct wl_listener *listener, void *data) { 270void handle_new_output(struct wl_listener *listener, void *data) {
@@ -307,5 +307,5 @@ void handle_new_output(struct wl_listener *listener, void *data) {
307 output->mode.notify = handle_output_mode; 307 output->mode.notify = handle_output_mode;
308 308
309 arrange_layers(output); 309 arrange_layers(output);
310 container_arrange_windows(&root_container, -1, -1); 310 arrange_windows(&root_container, -1, -1);
311} 311}
diff --git a/sway/desktop/wl_shell.c b/sway/desktop/wl_shell.c
index ac1c7f26..4d4d1ed7 100644
--- a/sway/desktop/wl_shell.c
+++ b/sway/desktop/wl_shell.c
@@ -77,7 +77,7 @@ static void handle_destroy(struct wl_listener *listener, void *data) {
77 struct sway_container *parent = container_view_destroy(sway_surface->view->swayc); 77 struct sway_container *parent = container_view_destroy(sway_surface->view->swayc);
78 free(sway_surface->view); 78 free(sway_surface->view);
79 free(sway_surface); 79 free(sway_surface);
80 container_arrange_windows(parent, -1, -1); 80 arrange_windows(parent, -1, -1);
81} 81}
82 82
83void handle_wl_shell_surface(struct wl_listener *listener, void *data) { 83void handle_wl_shell_surface(struct wl_listener *listener, void *data) {
@@ -136,6 +136,6 @@ void handle_wl_shell_surface(struct wl_listener *listener, void *data) {
136 struct sway_container *cont = container_view_create(focus, sway_view); 136 struct sway_container *cont = container_view_create(focus, sway_view);
137 sway_view->swayc = cont; 137 sway_view->swayc = cont;
138 138
139 container_arrange_windows(cont->parent, -1, -1); 139 arrange_windows(cont->parent, -1, -1);
140 sway_input_manager_set_focus(input_manager, cont); 140 sway_input_manager_set_focus(input_manager, cont);
141} 141}
diff --git a/sway/desktop/xdg_shell_v6.c b/sway/desktop/xdg_shell_v6.c
index 616cb88f..09894f0e 100644
--- a/sway/desktop/xdg_shell_v6.c
+++ b/sway/desktop/xdg_shell_v6.c
@@ -86,7 +86,7 @@ static void handle_destroy(struct wl_listener *listener, void *data) {
86 struct sway_container *parent = container_view_destroy(sway_xdg_surface->view->swayc); 86 struct sway_container *parent = container_view_destroy(sway_xdg_surface->view->swayc);
87 free(sway_xdg_surface->view); 87 free(sway_xdg_surface->view);
88 free(sway_xdg_surface); 88 free(sway_xdg_surface);
89 container_arrange_windows(parent, -1, -1); 89 arrange_windows(parent, -1, -1);
90} 90}
91 91
92void handle_xdg_shell_v6_surface(struct wl_listener *listener, void *data) { 92void handle_xdg_shell_v6_surface(struct wl_listener *listener, void *data) {
@@ -140,7 +140,7 @@ void handle_xdg_shell_v6_surface(struct wl_listener *listener, void *data) {
140 struct sway_container *cont = container_view_create(focus, sway_view); 140 struct sway_container *cont = container_view_create(focus, sway_view);
141 sway_view->swayc = cont; 141 sway_view->swayc = cont;
142 142
143 container_arrange_windows(cont->parent, -1, -1); 143 arrange_windows(cont->parent, -1, -1);
144 144
145 sway_input_manager_set_focus(input_manager, cont); 145 sway_input_manager_set_focus(input_manager, cont);
146} 146}
diff --git a/sway/desktop/xwayland.c b/sway/desktop/xwayland.c
index fa1054f2..fd0bcaca 100644
--- a/sway/desktop/xwayland.c
+++ b/sway/desktop/xwayland.c
@@ -116,7 +116,7 @@ static void handle_destroy(struct wl_listener *listener, void *data) {
116 116
117 struct sway_container *parent = container_view_destroy(sway_surface->view->swayc); 117 struct sway_container *parent = container_view_destroy(sway_surface->view->swayc);
118 if (parent) { 118 if (parent) {
119 container_arrange_windows(parent, -1, -1); 119 arrange_windows(parent, -1, -1);
120 } 120 }
121 121
122 free(sway_surface->view); 122 free(sway_surface->view);
@@ -134,7 +134,7 @@ static void handle_unmap_notify(struct wl_listener *listener, void *data) {
134 // take it out of the tree 134 // take it out of the tree
135 struct sway_container *parent = container_view_destroy(sway_surface->view->swayc); 135 struct sway_container *parent = container_view_destroy(sway_surface->view->swayc);
136 if (parent) { 136 if (parent) {
137 container_arrange_windows(parent, -1, -1); 137 arrange_windows(parent, -1, -1);
138 } 138 }
139 139
140 sway_surface->view->swayc = NULL; 140 sway_surface->view->swayc = NULL;
@@ -163,7 +163,7 @@ static void handle_map_notify(struct wl_listener *listener, void *data) {
163 struct sway_container *cont = container_view_create(parent, view); 163 struct sway_container *cont = container_view_create(parent, view);
164 view->swayc = cont; 164 view->swayc = cont;
165 165
166 container_arrange_windows(cont->parent, -1, -1); 166 arrange_windows(cont->parent, -1, -1);
167 sway_input_manager_set_focus(input_manager, cont); 167 sway_input_manager_set_focus(input_manager, cont);
168 } 168 }
169} 169}
@@ -242,6 +242,6 @@ void handle_xwayland_surface(struct wl_listener *listener, void *data) {
242 struct sway_container *cont = container_view_create(focus, sway_view); 242 struct sway_container *cont = container_view_create(focus, sway_view);
243 sway_view->swayc = cont; 243 sway_view->swayc = cont;
244 244
245 container_arrange_windows(cont->parent, -1, -1); 245 arrange_windows(cont->parent, -1, -1);
246 sway_input_manager_set_focus(input_manager, cont); 246 sway_input_manager_set_focus(input_manager, cont);
247} 247}
diff --git a/sway/tree/container.c b/sway/tree/container.c
index fe97d645..40047dcf 100644
--- a/sway/tree/container.c
+++ b/sway/tree/container.c
@@ -221,7 +221,7 @@ struct sway_container *container_output_destroy(struct sway_container *output) {
221 container_add_child(root_container.children->items[p], child); 221 container_add_child(root_container.children->items[p], child);
222 } 222 }
223 container_sort_workspaces(root_container.children->items[p]); 223 container_sort_workspaces(root_container.children->items[p]);
224 container_arrange_windows(root_container.children->items[p], 224 arrange_windows(root_container.children->items[p],
225 -1, -1); 225 -1, -1);
226 } 226 }
227 } 227 }
diff --git a/sway/tree/layout.c b/sway/tree/layout.c
index 614d0505..dc0ee5b4 100644
--- a/sway/tree/layout.c
+++ b/sway/tree/layout.c
@@ -42,7 +42,7 @@ static void output_layout_change_notify(struct wl_listener *listener,
42 output_container->height = output_box->height; 42 output_container->height = output_box->height;
43 } 43 }
44 44
45 container_arrange_windows(&root_container, -1, -1); 45 arrange_windows(&root_container, -1, -1);
46} 46}
47 47
48void layout_init(void) { 48void layout_init(void) {
@@ -167,7 +167,7 @@ static void apply_vert_layout(struct sway_container *container, const double x,
167 const double height, const int start, 167 const double height, const int start,
168 const int end); 168 const int end);
169 169
170void container_arrange_windows(struct sway_container *container, 170void arrange_windows(struct sway_container *container,
171 double width, double height) { 171 double width, double height) {
172 int i; 172 int i;
173 if (width == -1 || height == -1) { 173 if (width == -1 || height == -1) {
@@ -192,7 +192,7 @@ void container_arrange_windows(struct sway_container *container,
192 struct sway_container *output = container->children->items[i]; 192 struct sway_container *output = container->children->items[i];
193 wlr_log(L_DEBUG, "Arranging output '%s' at %f,%f", 193 wlr_log(L_DEBUG, "Arranging output '%s' at %f,%f",
194 output->name, output->x, output->y); 194 output->name, output->x, output->y);
195 container_arrange_windows(output, -1, -1); 195 arrange_windows(output, -1, -1);
196 } 196 }
197 return; 197 return;
198 case C_OUTPUT: 198 case C_OUTPUT:
@@ -206,7 +206,7 @@ void container_arrange_windows(struct sway_container *container,
206 // arrange all workspaces: 206 // arrange all workspaces:
207 for (i = 0; i < container->children->length; ++i) { 207 for (i = 0; i < container->children->length; ++i) {
208 struct sway_container *child = container->children->items[i]; 208 struct sway_container *child = container->children->items[i];
209 container_arrange_windows(child, -1, -1); 209 arrange_windows(child, -1, -1);
210 } 210 }
211 return; 211 return;
212 case C_WORKSPACE: 212 case C_WORKSPACE:
@@ -294,9 +294,9 @@ static void apply_horiz_layout(struct sway_container *container,
294 294
295 if (i == end - 1) { 295 if (i == end - 1) {
296 double remaining_width = x + width - child_x; 296 double remaining_width = x + width - child_x;
297 container_arrange_windows(child, remaining_width, height); 297 arrange_windows(child, remaining_width, height);
298 } else { 298 } else {
299 container_arrange_windows(child, child->width * scale, height); 299 arrange_windows(child, child->width * scale, height);
300 } 300 }
301 child_x += child->width; 301 child_x += child->width;
302 } 302 }
@@ -345,9 +345,9 @@ void apply_vert_layout(struct sway_container *container,
345 345
346 if (i == end - 1) { 346 if (i == end - 1) {
347 double remaining_height = y + height - child_y; 347 double remaining_height = y + height - child_y;
348 container_arrange_windows(child, width, remaining_height); 348 arrange_windows(child, width, remaining_height);
349 } else { 349 } else {
350 container_arrange_windows(child, width, child->height * scale); 350 arrange_windows(child, width, child->height * scale);
351 } 351 }
352 child_y += child->height; 352 child_y += child->height;
353 } 353 }
diff --git a/sway/tree/workspace.c b/sway/tree/workspace.c
index 369cf14c..ba04c55c 100644
--- a/sway/tree/workspace.c
+++ b/sway/tree/workspace.c
@@ -247,6 +247,6 @@ bool workspace_switch(struct sway_container *workspace) {
247 } 247 }
248 sway_seat_set_focus(seat, next); 248 sway_seat_set_focus(seat, next);
249 struct sway_container *output = container_parent(workspace, C_OUTPUT); 249 struct sway_container *output = container_parent(workspace, C_OUTPUT);
250 container_arrange_windows(output, -1, -1); 250 arrange_windows(output, -1, -1);
251 return true; 251 return true;
252} 252}