Skip to content

Move windows across monitors at root boundary#311

Open
OKlueck wants to merge 1 commit into
outfoxxed:masterfrom
OKlueck:fix-movewindow-across-monitors
Open

Move windows across monitors at root boundary#311
OKlueck wants to merge 1 commit into
outfoxxed:masterfrom
OKlueck:fix-movewindow-across-monitors

Conversation

@OKlueck

@OKlueck OKlueck commented May 15, 2026

Copy link
Copy Markdown

Summary

  • make hy3:movewindow try the adjacent monitor when moving out of the root group
  • follow focus to the moved window and warp the cursor to it, avoiding focus-follows-mouse switching back to the old monitor
  • keep the existing split-wrapping fallback when there is no monitor in that direction

Why

hy3:movefocus already crosses monitor boundaries via focusMonitor(direction), but hy3:movewindow only wrapped the root node into a new split when it reached the workspace root boundary. On multi-monitor setups this made directional window moves stop at the monitor edge.

When input:follow_mouse is enabled, moving the window without warping the cursor can also leave the pointer on the old monitor and cause follow-up actions (for example closing with a keybind) to affect a different window. The monitor-crossing move now forwards the warp flag to moveNodeToWorkspace.

Testing

  • Built locally with CMake/Ninja
  • Replaced the hyprpm-loaded plugin locally and verified hy3:movewindow r moves a test window from DP-1/workspace 99 to DP-2/workspace 3

@OKlueck
OKlueck force-pushed the fix-movewindow-across-monitors branch from 2d0ad86 to cb0081e Compare May 15, 2026 09:27
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant