diff options
| author | Furkan Sahin <furkan-dev@proton.me> | 2016-10-07 16:37:02 -0400 |
|---|---|---|
| committer | Furkan Sahin <furkan-dev@proton.me> | 2016-10-07 16:37:02 -0400 |
| commit | e3c3c875499aa8a2033dc3abd861c7bb49b56322 (patch) | |
| tree | 5f8815ab93e8417a55576b3cbd22a2915fcb154f | |
| parent | 5f857dd6817e84279211450d2151c7ee9952996c (diff) | |
| parent | b78b3d4907178aa3405d691362f7d02903c939f8 (diff) | |
Merge pull request #938 from alkino/fix_sibling
Fix creating of sibling floating/children
| -rw-r--r-- | sway/layout.c | 15 |
1 files changed, 12 insertions, 3 deletions
diff --git a/sway/layout.c b/sway/layout.c index 3629df24..4f2ea09a 100644 --- a/sway/layout.c +++ b/sway/layout.c @@ -99,11 +99,20 @@ void add_floating(swayc_t *ws, swayc_t *child) { swayc_t *add_sibling(swayc_t *fixed, swayc_t *active) { swayc_t *parent = fixed->parent; - int i = index_child(fixed); if (fixed->is_floating) { - list_insert(parent->floating, i + 1, active); + if (active->is_floating) { + int i = index_child(fixed); + list_insert(parent->floating, i + 1, active); + } else { + list_add(parent->children, active); + } } else { - list_insert(parent->children, i + 1, active); + if (active->is_floating) { + list_add(parent->floating, active); + } else { + int i = index_child(fixed); + list_insert(parent->children, i + 1, active); + } } active->parent = parent; // focus new child |
