aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
Diffstat (limited to 'src')
-rw-r--r--src/layout.rs20
1 files changed, 20 insertions, 0 deletions
diff --git a/src/layout.rs b/src/layout.rs
index fc354eef..be3b9e5f 100644
--- a/src/layout.rs
+++ b/src/layout.rs
@@ -528,6 +528,10 @@ impl<W: LayoutElement> MonitorSet<W> {
&& idx != mon.workspaces.len() - 1
{
mon.workspaces.remove(idx);
+
+ if idx < mon.active_workspace_idx {
+ mon.active_workspace_idx -= 1;
+ }
}
break;
@@ -2612,4 +2616,20 @@ mod tests {
check_ops(&ops);
}
+
+ #[test]
+ fn test() {
+ let ops = [
+ Op::AddOutput(1),
+ Op::AddWindow {
+ id: 0,
+ bbox: Rectangle::from_loc_and_size((0, 0), (100, 200)),
+ activate: true,
+ },
+ Op::FocusWorkspaceDown,
+ Op::CloseWindow(0),
+ ];
+
+ check_ops(&ops);
+ }
}