Skip to content

feat: Add option to trigger Loop via right-click while dragging a window - #1150

Open
atimoda wants to merge 8 commits into
mrkai77:developfrom
atimoda:develop
Open

feat: Add option to trigger Loop via right-click while dragging a window#1150
atimoda wants to merge 8 commits into
mrkai77:developfrom
atimoda:develop

Conversation

@atimoda

@atimoda atimoda commented Sep 6, 2026

Copy link
Copy Markdown

Description

This PR introduces a new, highly ergonomic way to trigger the Loop radial menu: holding the right mouse button while dragging a window.

For users who already use their mouse to drag windows around, it's often more practical to just right-click to invoke Loop, rather than reaching for a keyboard keybind.

Changes included:

  • Added a new RightClickWhileDraggingTrigger which activates the Loop menu when a user right-clicks while WindowDragManager.shared.isDraggingWindow is active.
  • Added a new configuration toggle in Keybinds Settings: "Right-click to trigger while moving window", which is enabled by default.
  • Fixed a bug in WindowDragManager where the drag state (resizeContext and isDraggingWindowMirror) was never reset on leftMouseUp if window snapping was disabled in settings. This previously caused the app to think a window was being dragged indefinitely after the first drag.
  • Enhanced MouseInteractionObserver to track .leftMouseDragged and .rightMouseDragged events. Since macOS stops emitting .mouseMoved when mouse buttons are held, the radial menu direction selection was completely blind to mouse movements during a drag. Now, the radial menu smoothly tracks the cursor while dragging a window.

How has this been tested?

  • Compiled the application and verified that clicking and dragging a window's title bar, followed by a right-click, successfully brings up the Loop radial menu.
  • Verified that moving the mouse while holding both buttons properly highlights the different direction sections in the radial menu.
  • Verified that releasing the right-click button closes the radial menu without affecting the window drag.
  • Tested with "Window Snapping" disabled to ensure the WindowDragManager drag state properly resets on mouse release, preventing regular right-clicks from accidentally triggering the Loop menu.

Screenshots (if appropriate)

Screenshot 2026-09-06 at 17 49 44

Checklist:

  • I have performed a self-review of my own code
  • I have made corresponding changes to the documentation if applicable
  • I have no unrelated changes in this PR.

Please describe to which degree, if any, an LLM was used in creating this pull request.

I collaborated with an AI coding assistant (Google Antigravity / Gemini) to write the Swift implementation for the new RightClickWhileDraggingTrigger, the settings UI additions, and the fixes to WindowDragManager and MouseInteractionObserver. I personally compiled, ran, and thoroughly manually tested all the resulting changes on my local macOS environment to ensure they work perfectly.

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