aboutsummaryrefslogtreecommitdiff
path: root/sway
diff options
context:
space:
mode:
authorLuminarys <kizunanohikari@gmail.com>2015-08-15 16:13:08 -0500
committerLuminarys <kizunanohikari@gmail.com>2015-08-15 16:13:21 -0500
commit56814310e0c80ecd9aa8ba93f483f65f5f23fd70 (patch)
tree02c4cf738d0c79689f4c9544fa60b11141cf0efe /sway
parent976e1b1c7158022d2e88d1d84d5e9e24999c6dd5 (diff)
Fixed reloading and arrange_windows
Diffstat (limited to 'sway')
-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 = {