Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
fix(wm): move ops on floating workspaces
83f222f * fix(wm): correctly define moves across monitors Moves within the same workspace were being considered as moves across monitors when the workspace was floating (not tiled). This commit fixes this by changing the way we first define if a move was across monitor or not. We now search for the moved window on all workspaces and check if its monitor index is different from the target monitor index (the monitor where the move ended). a026943 * fix(wm): ignore moves/resizes on floating workspaces This commit makes sure that moves or resizes within a floating workspace (i.e. not tiled) will be ignored, unless the move is across monitors. We don't care about the positions or sizes of windows within a floating workspace! 4bf24f8 * fix(wm): avoid workspace load on cross monitor moves This commit replaces the `window_manager.focus_workspace` call with a `monitor.focus_workspace` which doesn't load the workspace. There is no need to load the workspace when moving windows across monitors since those workspaces will already be loaded, we simply need to update them. Loading the workspace would cause some issues as well, like when moving a window to a floating workspace which already contained a window that matched some `floating_windows` rules was always putting the "floating_window" on top of the window we just moved with a bunch of focus flickering. This is fixed with this commit. cb53f46 * 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.
- Loading branch information