Skip to content

feat: add configurable Action Ring - #163

Open
Dexarim wants to merge 4 commits into
mmaher88:masterfrom
Dexarim:feature/action-ring
Open

Dexarim wants to merge 4 commits into
mmaher88:masterfrom
Dexarim:feature/action-ring

Conversation

@Dexarim

@Dexarim Dexarim commented Oct 6, 2026

Copy link
Copy Markdown

Summary

  • add a configurable, per-profile Action Ring with eight slots, folders, presets, custom shortcuts, commands, and application launchers
  • integrate the ring with mouse-button assignments, foreground-application profiles, cursor-relative placement, and adjustment actions
  • add a dedicated editor, themed icons, optional LayerShellQt Wayland support, profile migration, and cancellation on device/profile changes
  • keep existing gesture assignments separate from Action Ring

Behavior

  • assigning Radial menu to a supported mouse button opens the ring around the cursor
  • actions run only after an explicit item selection; the trigger, center control, or blank ring area dismisses it
  • layouts are stored per device profile, including application-specific profiles
  • folders support one nested level and up to nine child actions
  • volume and brightness adjustment actions remain open while scrolling or dragging

Validation

  • Debug build completed successfully with GCC 16.2.1 and Qt 6.11.2
  • Action Ring and application-catalog native tests: 17 passed
  • QML suite: 99 passed
  • existing DeviceRegistry XDG-isolation test: passed after keeping the new application-initializing tests later in link order
  • full local ctest: 782/786 passed; the four remaining failures are environment-sensitive existing tests in SettingsModelTest and HyprlandDesktopFocus, outside the files changed by this PR

Notes

  • real mouse hardware behavior has not been re-tested on this clean PR branch
  • LayerShellQt is optional; non-layer-shell compositors use the existing Qt window fallback
  • third-party plugin loading is not part of this change

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