Problem: If more than one monitor is eligible to move to, the behavior is undefined.
Solution: In WindowManager::monitor_idx_in_direction, added logic to handle multiple candidate monitors. When more than one monitor is found, the method now checks the top-left corner of the currently focused window to determine the appropriate monitor. If this check fails, it falls back to the first detected monitor.
P.S. This is my first time using Rust and contributing to a repository — please let me know if I’ve done anything incorrectly or if there’s anything I can improve! :)
🔄 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/1511
**Author:** [@Gamsel](https://github.com/Gamsel)
**Created:** 7/23/2025
**Status:** 🔄 Open
**Base:** `master` ← **Head:** `MulitMonitorFocusSwitch`
---
### 📝 Commits (1)
- [`7249309`](https://github.com/LGUG2Z/komorebi/commit/7249309773a6b36a5861b846f57a7b0e9d068e34) Baseline checkin
### 📊 Changes
**1 file changed** (+71 additions, -15 deletions)
<details>
<summary>View changed files</summary>
📝 `komorebi/src/window_manager.rs` (+71 -15)
</details>
### 📄 Description
Problem: If more than one monitor is eligible to move to, the behavior is undefined.
Solution: In WindowManager::monitor_idx_in_direction, added logic to handle multiple candidate monitors. When more than one monitor is found, the method now checks the top-left corner of the currently focused window to determine the appropriate monitor. If this check fails, it falls back to the first detected monitor.
P.S. This is my first time using Rust and contributing to a repository — please let me know if I’ve done anything incorrectly or if there’s anything I can improve! :)
<img width="2092" height="1169" alt="image" src="https://github.com/user-attachments/assets/0297b551-76d7-46e6-8d94-7f0b13ae3535" />
<img width="2097" height="1185" alt="image" src="https://github.com/user-attachments/assets/2034a1c3-0305-48ca-9be8-6be76bd0af7c" />
<img width="1696" height="1098" alt="image" src="https://github.com/user-attachments/assets/6709bc1e-4d0c-4c53-b093-6f170e5992a8" />
---
<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/1511
Author: @Gamsel
Created: 7/23/2025
Status: 🔄 Open
Base:
master← Head:MulitMonitorFocusSwitch📝 Commits (1)
7249309Baseline checkin📊 Changes
1 file changed (+71 additions, -15 deletions)
View changed files
📝
komorebi/src/window_manager.rs(+71 -15)📄 Description
Problem: If more than one monitor is eligible to move to, the behavior is undefined.
Solution: In WindowManager::monitor_idx_in_direction, added logic to handle multiple candidate monitors. When more than one monitor is found, the method now checks the top-left corner of the currently focused window to determine the appropriate monitor. If this check fails, it falls back to the first detected monitor.
P.S. This is my first time using Rust and contributing to a repository — please let me know if I’ve done anything incorrectly or if there’s anything I can improve! :)
🔄 This issue represents a GitHub Pull Request. It cannot be merged through Gitea due to API limitations.