aboutsummaryrefslogtreecommitdiffstats
path: root/sway/tree/container.c
diff options
context:
space:
mode:
authorLibravatar Dimitris Triantafyllidis <dtr@localhost.localdomain>2020-10-27 21:24:30 +0200
committerLibravatar Tudor Brindus <me@tbrindus.ca>2020-10-28 00:36:33 -0400
commit39328ca4e4b97bd76153869f6a0a20fef3c17112 (patch)
tree6676e1aa53e63c11114261b148efc773805e4350 /sway/tree/container.c
parentoutput: evacuate sticky containers only if new output has a workspace (diff)
downloadsway-39328ca4e4b97bd76153869f6a0a20fef3c17112.tar.gz
sway-39328ca4e4b97bd76153869f6a0a20fef3c17112.tar.zst
sway-39328ca4e4b97bd76153869f6a0a20fef3c17112.zip
In container_split, set a floating container's view to tiled
Currently, when a floating container with a view is split and children are added to it, the new views are rendered as tiled, while the first view stays in floating style. Here this is addressed by setting the view to tiled as soon as the container is split, by duplicating the "view part" of the logic in container_set_floating(..., false). Since the new container of the view is no longer considered floating, it makes sense to set the view to tiling at this point. The view would have to be set back to floating if it was possible to "unsplit" the container.
Diffstat (limited to 'sway/tree/container.c')
-rw-r--r--sway/tree/container.c7
1 files changed, 7 insertions, 0 deletions
diff --git a/sway/tree/container.c b/sway/tree/container.c
index 3e234186..8557210f 100644
--- a/sway/tree/container.c
+++ b/sway/tree/container.c
@@ -1413,6 +1413,13 @@ struct sway_container *container_split(struct sway_container *child,
1413 struct sway_seat *seat = input_manager_get_default_seat(); 1413 struct sway_seat *seat = input_manager_get_default_seat();
1414 bool set_focus = (seat_get_focus(seat) == &child->node); 1414 bool set_focus = (seat_get_focus(seat) == &child->node);
1415 1415
1416 if (container_is_floating(child) && child->view) {
1417 view_set_tiled(child->view, true);
1418 if (child->view->using_csd) {
1419 child->border = child->saved_border;
1420 }
1421 }
1422
1416 struct sway_container *cont = container_create(NULL); 1423 struct sway_container *cont = container_create(NULL);
1417 cont->width = child->width; 1424 cont->width = child->width;
1418 cont->height = child->height; 1425 cont->height = child->height;