aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorRonan Pigott <rpigott@berkeley.edu>2021-04-18 15:15:43 -0700
committerSimon Ser <contact@emersion.fr>2021-06-24 18:21:29 +0200
commitd33f4957ce5dc610a1c20aff0052cef99570c671 (patch)
treea0554cfdccd710598d8a671a805d1d8d0dfbb169
parent2660c0c1bc002be43b5c8531d514ba06c572b287 (diff)
workspace: reap empty parents when adding tiles
(cherry picked from commit c12169953abd393506367b949a63de5928ad9518)
-rw-r--r--sway/tree/workspace.c4
1 files changed, 4 insertions, 0 deletions
diff --git a/sway/tree/workspace.c b/sway/tree/workspace.c
index 4e735064..c0da9c93 100644
--- a/sway/tree/workspace.c
+++ b/sway/tree/workspace.c
@@ -794,7 +794,11 @@ void workspace_detach(struct sway_workspace *workspace) {
struct sway_container *workspace_add_tiling(struct sway_workspace *workspace,
struct sway_container *con) {
if (con->pending.workspace) {
+ struct sway_container *old_parent = con->pending.parent;
container_detach(con);
+ if (old_parent) {
+ container_reap_empty(old_parent);
+ }
}
if (config->default_layout != L_NONE) {
con = container_split(con, config->default_layout);