From 56814310e0c80ecd9aa8ba93f483f65f5f23fd70 Mon Sep 17 00:00:00 2001 From: Luminarys Date: Sat, 15 Aug 2015 16:13:08 -0500 Subject: [PATCH] Fixed reloading and arrange_windows --- sway/layout.c | 21 +++++++++++++++++---- 1 file 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 = {