[PR #1153] [MERGED] Fix moving on floating workspaces #1225

Closed
opened 2026-01-05 14:54:31 +01:00 by adam · 0 comments
Owner

📋 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: masterHead: fix/moving-on-floating-workspaces


📝 Commits (5)

  • 1ef0630 feat(wm): listen to event_object_locationchange
  • 83f222f fix(wm): correctly define moves across monitors
  • a026943 fix(wm): ignore moves/resizes on floating workspaces
  • 4bf24f8 fix(wm): avoid workspace load on cross monitor moves
  • cb53f46 fix(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_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>
adam added the pull-request label 2026-01-05 14:54:31 +01:00
adam closed this issue 2026-01-05 14:54:31 +01:00
Sign in to join this conversation.
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: starred/komorebi#1225