diff --git a/src/shell/focus/mod.rs b/src/shell/focus/mod.rs index 9f3bc71a..6ab2e857 100644 --- a/src/shell/focus/mod.rs +++ b/src/shell/focus/mod.rs @@ -203,7 +203,7 @@ impl Shell { m.window.configure(); } - let workspace = self.workspaces.active_mut(&output); + let workspace = &mut set.workspaces[set.active]; for focused in focused_windows.iter() { raise_with_children(&mut workspace.floating_layer, focused); } @@ -215,6 +215,16 @@ impl Shell { m.window.set_activated(false); m.window.configure(); } + + for (i, workspace) in set.workspaces.iter().enumerate() { + if i == set.active { + continue; + } + for window in workspace.mapped() { + window.set_activated(false); + window.configure(); + } + } } } }