diff options
author | Brian Ashworth <bosrsf04@gmail.com> | 2019-08-06 04:46:57 -0400 |
---|---|---|
committer | Drew DeVault <sir@cmpwn.com> | 2019-08-20 13:27:52 +0900 |
commit | 2e757e13a9501f29691c3dc8d119a142e0fd9d5a (patch) | |
tree | 8a9842e434b28df1dd73718f7540707c95e04b08 | |
parent | 7447eefca9188d3d80719af339dae8afea08a565 (diff) |
container_replace: copy {width,height}_fraction
This copies the width and height fractions from the container to the
container replacing it. Without setting these values, the container
is treated as a new container and throws off the existing sizing. Since
one container is replacing the other, it makes sense for the sizing to
remain the same.
-rw-r--r-- | sway/tree/container.c | 4 |
1 files changed, 4 insertions, 0 deletions
diff --git a/sway/tree/container.c b/sway/tree/container.c index ef44c9440..7068e166d 100644 --- a/sway/tree/container.c +++ b/sway/tree/container.c @@ -1324,8 +1324,12 @@ void container_replace(struct sway_container *container, root_scratchpad_remove_container(container); } if (container->parent || container->workspace) { + float width_fraction = container->width_fraction; + float height_fraction = container->height_fraction; container_add_sibling(container, replacement, 1); container_detach(container); + replacement->width_fraction = width_fraction; + replacement->height_fraction = height_fraction; } if (scratchpad) { root_scratchpad_add_container(replacement, ws); |