diff --git a/sway/container.c b/sway/container.c index c9163784..59dc9e62 100644 --- a/sway/container.c +++ b/sway/container.c @@ -172,13 +172,8 @@ swayc_t *new_view(swayc_t *sibling, wlc_handle handle) { view->visible = true; view->is_focused = true; //Setup geometry - view->width = sibling->parent->width; - view->height = sibling->parent->height; - if (sibling->parent->layout == L_HORIZ) { - view->width /= sibling->parent->children->length; - } else { - view->height /= sibling->parent->children->length; - } + view->width = 0; + view->height = 0; view->gaps = config->gaps_inner; diff --git a/sway/layout.c b/sway/layout.c index 6a4f8b45..192f09cf 100644 --- a/sway/layout.c +++ b/sway/layout.c @@ -194,7 +194,7 @@ void arrange_windows(swayc_t *container, int width, int height) { //Calculate total width for (i = 0; i < container->children->length; ++i) { int *old_width = &((swayc_t *)container->children->items[i])->width; - if (*old_width == 0) { + if (*old_width <= 0) { if (container->children->length > 1) { *old_width = width / (container->children->length - 1); } else { @@ -221,12 +221,12 @@ void arrange_windows(swayc_t *container, int width, int height) { //Calculate total height for (i = 0; i < container->children->length; ++i) { int *old_height = &((swayc_t *)container->children->items[i])->height; + if (*old_height <= 0) { if (container->children->length > 1) { *old_height = height / (container->children->length - 1); } else { *old_height = height; } - if (*old_height == 0) { } scale += *old_height; }