[Feature]: Support nested folders / submenus in Action Ring
- Dominant language
- Rust
- Stars
- 21k
- Forks
- 675
- Avg merge
- 2d 5h
- Merged PRs (30d)
- 172
Description
### Pre-flight checklist
- [x] I searched existing issues and the [Roadmap](https://github.com/AprilNEA/OpenLogi#roadmap), and this isn't already tracked.
### Problem / motivation
### Pre-flight checklist
- [x] I searched existing issues and the Roadmap, and this isn't already tracked.
### Problem / motivation
OpenLogi's Action Ring currently provides a single level of 8 actions.
In Logi Options+, an Action Ring slot can be configured as a folder/submenu. Selecting that slot opens another Action Ring with additional actions.
This is very useful when there are more than 8 frequently used actions, or when actions should be grouped by category.
For example:
Main Ring
- Editing
- Window Management
- Screenshots
- Media
- App shortcuts
- ...
Selecting "Editing" could open a second ring containing:
- Copy
- Paste
- Cut
- Undo
- Redo
- Select All
- etc.
Without nested rings, users are limited to 8 actions per ring and have to replace actions or rely on separate per-app profiles.
### Proposed solution
Allow an Action Ring slot to point to another Action Ring instead of directly executing an action.
For example:
Main Action Ring
→ Editing
→ Copy
→ Paste
→ Cut
→ Undo
→ Redo
Ideally:
- Any slot could open a child/sub-ring.
- A sub-ring could provide a Back action to return to the parent ring.
- Nested rings could be configured from the GUI.
- Existing single-level Action Ring configurations would continue to work unchanged.
A single additional level would already cover most use cases; unlimited recursive nesting is not necessary.
### Alternatives considered
Per-application Action Ring profiles help organize actions, but they do not solve the same problem because sometimes multiple groups of actions are needed inside the same application.
Using keyboard shortcuts or button mappings outside the Action Ring also works, but loses the visual menu and discoverability of the Action Ring.
### Related area(s)
- [x] GUI
- [x] Button actions / remapping
- [x] Configuration (TOML)
### Additional context
Logi Options+ supports a similar concept where an Action Ring item can act as a folder and open another set of actions.
This would make OpenLogi's Action Ring much more useful for workflows that need more than 8 actions while keeping the main ring clean and organized.
### Proposed solution
Allow an Action Ring slot to open a second-level Action Ring instead of directly executing an action.
For example:
Main Action Ring
→ Editing
→ Copy
→ Paste
→ Cut
→ Undo
→ Redo
Ideally:
- Any slot could be configured to open a child/sub-ring.
- The sub-ring should provide a way to return to the parent ring.
- Nested rings should be configurable from the GUI.
- Existing single-level Action Ring configurations should continue to work unchanged.
Supporting just one additional level would already cover most use cases; unlimited recursive nesting is not necessary.
### Alternatives considered
_No response_
### Related area(s)
- [ ] GUI
- [ ] CLI
- [ ] Button actions / remapping
- [ ] DPI
- [ ] SmartShift
- [ ] Per-application profiles
- [ ] Configuration (TOML)
- [ ] Auto-update
- [ ] Other
### Additional context
_No response_
Contributor guide
No contributing guide indexed for this repository
Research direction
Start by locating the Action Ring entry point and its GUI, button-remapping, and TOML configuration paths; no specific files or tests are named in the issue. Done means a slot can open a child ring, users can return to its parent, nested rings can be configured in the GUI, and existing single-level configurations still work.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- rust
- Domain
- desktop
- Issue type
- Feature
- Difficulty
- 5/5
- Estimated time
- Over a week
- Activity status
- Active
- Clarity
- Mostly clear
- Newbie friendliness
- 35/100