fix(wm): add bounds checking in move cmd

This commit ensures that when there is only one container on the target
workspace in a cross-monitor move, meaning that there won't be one
swapped back, we only decrement the focused container index on the
origin workspace if there is a focused container at an index greater
than 0.

fix #209
This commit is contained in:
LGUG2Z
2022-08-18 14:51:36 -07:00
parent d3dc193d29
commit f4b3d568ee
2 changed files with 5 additions and 3 deletions
+2
View File
@@ -1047,10 +1047,12 @@ impl WindowManager {
let origin_workspace = let origin_workspace =
self.focused_workspace_for_monitor_idx_mut(origin_monitor_idx)?; self.focused_workspace_for_monitor_idx_mut(origin_monitor_idx)?;
if origin_workspace.focused_container_idx() != 0 {
origin_workspace origin_workspace
.focus_container(origin_workspace.focused_container_idx() - 1); .focus_container(origin_workspace.focused_container_idx() - 1);
} }
} }
}
// if our MoveBehaviour is Swap, let's try to send back the window container // if our MoveBehaviour is Swap, let's try to send back the window container
// whose position which just took over // whose position which just took over