✨ Configurable default action for the radial menu center / no-movement trigger
Nobody has claimed this yet.
- Dominant language
- Swift
- Stars
- 11.6k
- Forks
- 270
- Avg merge
- 8h 7m
- Merged PRs (30d)
- 3
Description
Feature Request Summary
Allow the radial menu's center / no-movement state to run a user-selected Loop action, such as Maximize, including an optional instant / 0-delay mode.
Problem / Opportunity & Desired Solution
Problem or Opportunity
- Today, when I invoke Loop with my trigger key, I need to move the pointer into the region for the action I want.
- For very common actions like Maximize, this means deliberately nudging the pointer and being careful not to overshoot the region boundaries.
- In my workflow I frequently move windows between displays, including a vertical external monitor, so being able to invoke Maximize without precise pointer aiming would make Loop significantly faster and more ergonomic.
Desired Solution / Implementation
I would like either (or both) of these approaches:
-
Configurable center action
- Let the center region of the radial menu be assigned to any Loop action.
- Example: center =
Maximize. - Holding the trigger while leaving the pointer in the center would therefore select Maximize directly.
-
Configurable no-movement / hold action
- If the trigger key is pressed and there is no meaningful pointer movement, run a selected action.
- The action should be configurable (for example,
Maximize). - The delay should be configurable, ideally all the way down to 0 / immediate so there is no perceptible wait.
- Example:
Option→ immediately Maximize the current window if the pointer is not moved. - If the pointer is moved, Loop should continue with the existing radial-menu interaction.
- If a nonzero delay is configured, releasing before the delay could cancel the action.
The important part for me is not a literal 1 ms timer, but having an instant/default-action mode as an option, while still allowing longer hold delays for users who prefer them.
Alternatives Considered
- Current radial-menu aiming — works, but requires deliberate pointer movement and can overshoot the desired region.
- External automation tools / hotkeys — possible, but duplicates functionality outside Loop and loses the elegance of keeping the trigger/radial workflow in one app.
- Only using a delayed hold action — useful, but an instant mode would be much faster for users who want a modifier key to act like a direct action trigger.
Visuals or References
No mockup is necessary; conceptually this would be a configurable action assigned to the radial center or to the trigger-key no-movement state.
Additional Context
- My main use case is
Maximize. - I use Loop with Use screen with cursor enabled and frequently move windows between displays.
- Related bug report: #1148 (separate issue, not part of this feature request).
- I can help test different delay / movement-threshold behaviors.
Priority
Medium (important but not blocking)
Final Checks
- My issue is written in English.
- My issue title is descriptive.
- This is a single feature request.
- I have looked to see if this is a duplicate of another feature request.
- I can help with research or testing.
- I can help code this feature.
Contributor guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Research direction
No file or test is named in the issue. Start by tracing the radial-menu center and no-movement trigger paths, then define how the selected action, movement threshold, cancellation, and zero-delay behavior should interact; done means configurable center or hold behavior works without changing normal radial-menu selection.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- swift
- Domain
- desktop
- Issue type
- Feature
- Difficulty
- 5/5
- Estimated time
- Over a week
- Activity status
- Active
- Clarity
- Mostly clear
- Newbie friendliness
- 35/100