diff options
Diffstat (limited to 'sway/tree')
-rw-r--r-- | sway/tree/arrange.c | 4 | ||||
-rw-r--r-- | sway/tree/output.c | 11 |
2 files changed, 6 insertions, 9 deletions
diff --git a/sway/tree/arrange.c b/sway/tree/arrange.c index 438a2133..8583c53e 100644 --- a/sway/tree/arrange.c +++ b/sway/tree/arrange.c | |||
@@ -195,8 +195,8 @@ void arrange_workspace(struct sway_workspace *workspace) { | |||
195 | double prev_y = workspace->y; | 195 | double prev_y = workspace->y; |
196 | workspace->width = area->width; | 196 | workspace->width = area->width; |
197 | workspace->height = area->height; | 197 | workspace->height = area->height; |
198 | workspace->x = output->wlr_output->lx + area->x; | 198 | workspace->x = output->lx + area->x; |
199 | workspace->y = output->wlr_output->ly + area->y; | 199 | workspace->y = output->ly + area->y; |
200 | 200 | ||
201 | // Adjust any floating containers | 201 | // Adjust any floating containers |
202 | double diff_x = workspace->x - prev_x; | 202 | double diff_x = workspace->x - prev_x; |
diff --git a/sway/tree/output.c b/sway/tree/output.c index e0a66e0b..227d487c 100644 --- a/sway/tree/output.c +++ b/sway/tree/output.c | |||
@@ -101,11 +101,6 @@ void output_enable(struct sway_output *output, struct output_config *oc) { | |||
101 | output->configured = true; | 101 | output->configured = true; |
102 | list_add(root->outputs, output); | 102 | list_add(root->outputs, output); |
103 | 103 | ||
104 | output->lx = wlr_output->lx; | ||
105 | output->ly = wlr_output->ly; | ||
106 | wlr_output_transformed_resolution(wlr_output, | ||
107 | &output->width, &output->height); | ||
108 | |||
109 | restore_workspaces(output); | 104 | restore_workspaces(output); |
110 | 105 | ||
111 | struct sway_workspace *ws = NULL; | 106 | struct sway_workspace *ws = NULL; |
@@ -311,8 +306,10 @@ struct sway_output *output_get_in_direction(struct sway_output *reference, | |||
311 | if (!sway_assert(direction, "got invalid direction: %d", direction)) { | 306 | if (!sway_assert(direction, "got invalid direction: %d", direction)) { |
312 | return NULL; | 307 | return NULL; |
313 | } | 308 | } |
314 | int lx = reference->wlr_output->lx + reference->width / 2; | 309 | struct wlr_box *output_box = |
315 | int ly = reference->wlr_output->ly + reference->height / 2; | 310 | wlr_output_layout_get_box(root->output_layout, reference->wlr_output); |
311 | int lx = output_box->x + output_box->width / 2; | ||
312 | int ly = output_box->y + output_box->height / 2; | ||
316 | struct wlr_output *wlr_adjacent = wlr_output_layout_adjacent_output( | 313 | struct wlr_output *wlr_adjacent = wlr_output_layout_adjacent_output( |
317 | root->output_layout, direction, reference->wlr_output, lx, ly); | 314 | root->output_layout, direction, reference->wlr_output, lx, ly); |
318 | if (!wlr_adjacent) { | 315 | if (!wlr_adjacent) { |