diff options
Diffstat (limited to 'sway/layout.c')
-rw-r--r-- | sway/layout.c | 15 |
1 files changed, 15 insertions, 0 deletions
diff --git a/sway/layout.c b/sway/layout.c index a37e137c..cd47037b 100644 --- a/sway/layout.c +++ b/sway/layout.c | |||
@@ -203,6 +203,21 @@ void move_container(swayc_t *container,swayc_t* root,enum movement_direction dir | |||
203 | 203 | ||
204 | } | 204 | } |
205 | 205 | ||
206 | void move_container_to(swayc_t* container, swayc_t* destination) { | ||
207 | if (container->parent == destination) { | ||
208 | return; | ||
209 | } | ||
210 | destroy_container(remove_child(container)); | ||
211 | set_focused_container(get_focused_view(&root_container)); | ||
212 | if (container->is_floating) { | ||
213 | add_floating(destination, container); | ||
214 | } else { | ||
215 | add_child(destination, container); | ||
216 | } | ||
217 | update_visibility(container); | ||
218 | arrange_windows(&root_container, -1, -1); | ||
219 | } | ||
220 | |||
206 | void update_geometry(swayc_t *container) { | 221 | void update_geometry(swayc_t *container) { |
207 | if (container->type != C_VIEW) { | 222 | if (container->type != C_VIEW) { |
208 | return; | 223 | return; |