mirror of
https://github.com/LGUG2Z/komorebi.git
synced 2026-03-28 20:21:57 +01:00
fix(wm): avoid workspace load on command move across monitor
If the move happens between the already focused workspaces of two monitors we shouldn't load the workspace, since it is already loaded and it will cause changes on focused windows, which might result on the window we just moved not being focused.
This commit is contained in:
@@ -1437,8 +1437,12 @@ impl WindowManager {
|
||||
.get_mut(monitor_idx)
|
||||
.ok_or_else(|| anyhow!("there is no monitor"))?;
|
||||
|
||||
let mut should_load_workspace = false;
|
||||
if let Some(workspace_idx) = workspace_idx {
|
||||
target_monitor.focus_workspace(workspace_idx)?;
|
||||
if workspace_idx != target_monitor.focused_workspace_idx() {
|
||||
target_monitor.focus_workspace(workspace_idx)?;
|
||||
should_load_workspace = true;
|
||||
}
|
||||
}
|
||||
let target_workspace = target_monitor
|
||||
.focused_workspace_mut()
|
||||
@@ -1469,7 +1473,9 @@ impl WindowManager {
|
||||
bail!("failed to find a window to move");
|
||||
}
|
||||
|
||||
target_monitor.load_focused_workspace(mouse_follows_focus)?;
|
||||
if should_load_workspace {
|
||||
target_monitor.load_focused_workspace(mouse_follows_focus)?;
|
||||
}
|
||||
target_monitor.update_focused_workspace(offset)?;
|
||||
|
||||
// this second one is for DPI changes when the target is another monitor
|
||||
|
||||
Reference in New Issue
Block a user