From 25fd6a0e04c5421dbdf5504a7be0ac33bf8bc88c Mon Sep 17 00:00:00 2001 From: Ivan Molodetskikh Date: Fri, 24 Nov 2023 09:49:39 +0400 Subject: layout: Switch to workspace on window activation if not transitioning This should not be possible to trigger at the moment, but with xdg-activation it will be. --- src/layout.rs | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) (limited to 'src/layout.rs') 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 Layout { }; 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; } } -- cgit