Moves within a floating workspace were being considered as moves across monitors. This would cause a weird issue in a situation were you were trying to move a window to a monitor that had a floating workspace and already had a window there, which was matched on floating_windows rules so was a floating window. This floating window would be focused on top of the window we just moved with mouse once we let go of the mouse with a bunch of focus flickering between the two windows.
Since moves within a floating workspace were wrongfully being considered as across monitors the behavior above would always happen when we moved/resized a window on a floating workspace.
This PR changes how moves across monitors are defined so we don't wrongfully consider a move across monitor when it wasn't, it also ignores moves/resizes within a floating workspace (we don't care about the positions and sizes of windows on floating workspaces...) and it also fixes the issue described above when we actually preform a move across monitors.
🔄 This issue represents a GitHub Pull Request. It cannot be merged through Gitea due to API limitations.
## 📋 Pull Request Information
**Original PR:** https://github.com/LGUG2Z/komorebi/pull/1153
**Author:** [@alex-ds13](https://github.com/alex-ds13)
**Created:** 11/28/2024
**Status:** ✅ Merged
**Merged:** 11/28/2024
**Merged by:** [@LGUG2Z](https://github.com/LGUG2Z)
**Base:** `master` ← **Head:** `fix/moving-on-floating-workspaces`
---
### 📝 Commits (5)
- [`1ef0630`](https://github.com/LGUG2Z/komorebi/commit/1ef0630f9d860fb92a82c05f3db37b79a72cfc61) feat(wm): listen to event_object_locationchange
- [`83f222f`](https://github.com/LGUG2Z/komorebi/commit/83f222fe8465e9dd0ceae614ade1c62fe869c0c3) fix(wm): correctly define moves across monitors
- [`a026943`](https://github.com/LGUG2Z/komorebi/commit/a02694348e0ddc3b3a078e94eff3d9a4fa17ed46) fix(wm): ignore moves/resizes on floating workspaces
- [`4bf24f8`](https://github.com/LGUG2Z/komorebi/commit/4bf24f81e0bc0fe3bec23e1fd9924f0a2d690072) fix(wm): avoid workspace load on cross monitor moves
- [`cb53f46`](https://github.com/LGUG2Z/komorebi/commit/cb53f463aede382620a991ac9942d94b55bc118d) fix(wm): avoid workspace load on command move across monitor
### 📊 Changes
**3 files changed** (+47 additions, -8 deletions)
<details>
<summary>View changed files</summary>
📝 `komorebi/src/process_event.rs` (+30 -5)
📝 `komorebi/src/window_manager.rs` (+8 -2)
📝 `komorebi/src/window_manager_event.rs` (+9 -1)
</details>
### 📄 Description
Moves within a floating workspace were being considered as moves across monitors. This would cause a weird issue in a situation were you were trying to move a window to a monitor that had a floating workspace and already had a window there, which was matched on `floating_windows` rules so was a floating window. This floating window would be focused on top of the window we just moved with mouse once we let go of the mouse with a bunch of focus flickering between the two windows.
Since moves within a floating workspace were wrongfully being considered as across monitors the behavior above would always happen when we moved/resized a window on a floating workspace.
This PR changes how moves across monitors are defined so we don't wrongfully consider a move across monitor when it wasn't, it also ignores moves/resizes within a floating workspace (we don't care about the positions and sizes of windows on floating workspaces...) and it also fixes the issue described above when we actually preform a move across monitors.
<!--
Please follow the Conventional Commits specification.
If you need to update your PR with changes from `master`, please run `git rebase master`.
By opening this PR, you confirm that you have read and understood this project's `CONTRIBUTING.md`.
-->
---
<sub>🔄 This issue represents a GitHub Pull Request. It cannot be merged through Gitea due to API limitations.</sub>
Blocking a user prevents them from interacting with repositories, such as opening or commenting on pull requests or issues. Learn more about blocking a user.
📋 Pull Request Information
Original PR: https://github.com/LGUG2Z/komorebi/pull/1153
Author: @alex-ds13
Created: 11/28/2024
Status: ✅ Merged
Merged: 11/28/2024
Merged by: @LGUG2Z
Base:
master← Head:fix/moving-on-floating-workspaces📝 Commits (5)
1ef0630feat(wm): listen to event_object_locationchange83f222ffix(wm): correctly define moves across monitorsa026943fix(wm): ignore moves/resizes on floating workspaces4bf24f8fix(wm): avoid workspace load on cross monitor movescb53f46fix(wm): avoid workspace load on command move across monitor📊 Changes
3 files changed (+47 additions, -8 deletions)
View changed files
📝
komorebi/src/process_event.rs(+30 -5)📝
komorebi/src/window_manager.rs(+8 -2)📝
komorebi/src/window_manager_event.rs(+9 -1)📄 Description
Moves within a floating workspace were being considered as moves across monitors. This would cause a weird issue in a situation were you were trying to move a window to a monitor that had a floating workspace and already had a window there, which was matched on
floating_windowsrules so was a floating window. This floating window would be focused on top of the window we just moved with mouse once we let go of the mouse with a bunch of focus flickering between the two windows.Since moves within a floating workspace were wrongfully being considered as across monitors the behavior above would always happen when we moved/resized a window on a floating workspace.
This PR changes how moves across monitors are defined so we don't wrongfully consider a move across monitor when it wasn't, it also ignores moves/resizes within a floating workspace (we don't care about the positions and sizes of windows on floating workspaces...) and it also fixes the issue described above when we actually preform a move across monitors.
🔄 This issue represents a GitHub Pull Request. It cannot be merged through Gitea due to API limitations.