diff options
Diffstat (limited to 'sway/tree/container.c')
-rw-r--r-- | sway/tree/container.c | 5 |
1 files changed, 4 insertions, 1 deletions
diff --git a/sway/tree/container.c b/sway/tree/container.c index 566432b1..b8ff87e1 100644 --- a/sway/tree/container.c +++ b/sway/tree/container.c | |||
@@ -1015,6 +1015,7 @@ void container_set_floating(struct sway_container *container, bool enable) { | |||
1015 | return; | 1015 | return; |
1016 | } | 1016 | } |
1017 | 1017 | ||
1018 | struct sway_seat *seat = input_manager_current_seat(input_manager); | ||
1018 | struct sway_container *workspace = container_parent(container, C_WORKSPACE); | 1019 | struct sway_container *workspace = container_parent(container, C_WORKSPACE); |
1019 | 1020 | ||
1020 | if (enable) { | 1021 | if (enable) { |
@@ -1029,8 +1030,10 @@ void container_set_floating(struct sway_container *container, bool enable) { | |||
1029 | if (container->scratchpad) { | 1030 | if (container->scratchpad) { |
1030 | scratchpad_remove_container(container); | 1031 | scratchpad_remove_container(container); |
1031 | } | 1032 | } |
1033 | struct sway_container *sibling = | ||
1034 | seat_get_focus_inactive_tiling(seat, workspace); | ||
1032 | container_remove_child(container); | 1035 | container_remove_child(container); |
1033 | container_add_child(workspace, container); | 1036 | container_add_child(sibling, container); |
1034 | container->width = container->parent->width; | 1037 | container->width = container->parent->width; |
1035 | container->height = container->parent->height; | 1038 | container->height = container->parent->height; |
1036 | if (container->type == C_VIEW) { | 1039 | if (container->type == C_VIEW) { |