aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--sway/layout.c21
1 files changed, 17 insertions, 4 deletions
diff --git a/sway/layout.c b/sway/layout.c
index 3fd7f5c1..918da9f0 100644
--- a/sway/layout.c
+++ b/sway/layout.c
@@ -95,15 +95,28 @@ void arrange_windows(swayc_t *container, int width, int height) {
child->x = x;
child->y = y;
arrange_windows(child, -1, -1);
- x += child->width;
+ // Removed for now because wlc works with relative positions
+ // Addition can be reconsidered once wlc positions are changed
+ // x += child->width;
}
return;
case C_OUTPUT:
container->width = width;
container->height = height;
- x -= container->x;
- y -= container->y;
- break;
+ // These lines make x/y negative and result in stuff glitching out
+ // Their addition can be reconsidered once wlc positions are changed
+ // x -= container->x;
+ // y -= container->y;
+ for (i = 0; i < container->children->length; ++i) {
+ swayc_t *child = container->children->items[i];
+ sway_log(L_DEBUG, "Arranging workspace #%d", i);
+ child->x = x;
+ child->y = y;
+ child->width = width;
+ child->height = height;
+ arrange_windows(child, -1, -1);
+ }
+ return;
case C_VIEW:
{
struct wlc_geometry geometry = {