mirror of
https://github.com/LGUG2Z/komorebi.git
synced 2026-07-09 14:42:44 +02:00
fix(wm): focus workspaces on cross-monitor cmds
This commit ensures that if a window is moved to a workspace on another monitor which is not the currently focused workspace on that monitor, the target workspace will be focused as part of the operation.
This commit is contained in:
@@ -1205,6 +1205,7 @@ impl WindowManager {
|
|||||||
let monitor = self
|
let monitor = self
|
||||||
.focused_monitor_mut()
|
.focused_monitor_mut()
|
||||||
.ok_or_else(|| anyhow!("there is no monitor"))?;
|
.ok_or_else(|| anyhow!("there is no monitor"))?;
|
||||||
|
|
||||||
let workspace = monitor
|
let workspace = monitor
|
||||||
.focused_workspace_mut()
|
.focused_workspace_mut()
|
||||||
.ok_or_else(|| anyhow!("there is no workspace"))?;
|
.ok_or_else(|| anyhow!("there is no workspace"))?;
|
||||||
@@ -1225,6 +1226,11 @@ impl WindowManager {
|
|||||||
.ok_or_else(|| anyhow!("there is no monitor"))?;
|
.ok_or_else(|| anyhow!("there is no monitor"))?;
|
||||||
|
|
||||||
target_monitor.add_container(container, workspace_idx)?;
|
target_monitor.add_container(container, workspace_idx)?;
|
||||||
|
|
||||||
|
if let Some(workspace_idx) = workspace_idx {
|
||||||
|
target_monitor.focus_workspace(workspace_idx)?;
|
||||||
|
}
|
||||||
|
|
||||||
target_monitor.load_focused_workspace(mouse_follows_focus)?;
|
target_monitor.load_focused_workspace(mouse_follows_focus)?;
|
||||||
target_monitor.update_focused_workspace(offset)?;
|
target_monitor.update_focused_workspace(offset)?;
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user