mrkai77 / mrkai77/Loop

✨ Configurable default action for the radial menu center / no-movement trigger

Open
#1,149 3 comments 0 reactions 0 assignees View on GitHub

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:

  1. 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.
  2. 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

  1. Current radial-menu aiming — works, but requires deliberate pointer movement and can overshoot the desired region.
  2. External automation tools / hotkeys — possible, but duplicates functionality outside Loop and loses the elegance of keeping the trigger/radial workflow in one app.
  3. 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

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. 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

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.