diff options
Diffstat (limited to 'src')
| -rw-r--r-- | src/layout.rs | 9 |
1 files changed, 7 insertions, 2 deletions
diff --git a/src/layout.rs b/src/layout.rs index af46a6a3..9daac895 100644 --- a/src/layout.rs +++ b/src/layout.rs @@ -818,11 +818,16 @@ impl<W: LayoutElement> Layout<W> { }; for (monitor_idx, mon) in monitors.iter_mut().enumerate() { - for (_workspace_idx, ws) in mon.workspaces.iter_mut().enumerate() { + for (workspace_idx, ws) in mon.workspaces.iter_mut().enumerate() { if ws.has_window(window) { *active_monitor_idx = monitor_idx; - // FIXME: switch to this workspace if not already switching. ws.activate_window(window); + + // Switch to that workspace if not already during a transition. + if mon.workspace_switch.is_none() { + mon.switch_workspace(workspace_idx); + } + break; } } |
