-
Notifications
You must be signed in to change notification settings - Fork 5
Manual management of recent / "known" items lists #431
Description
Rationale
The recent items for ROMs and Lua scripts are practical to have when you wish to continue work where you last left off, because the latest ROM / Lua script used can be brough up quickly with a hotkey, but this gets extremely jarring (especially when using hotkeys for the actions) when working on multiple different workloads, because the most recent used items may change frequently.
Proposal Summary
It would be nice to be able to bind a ROM or Lua script to a respective "item slot" manually, so that associated hotkeys stay consistent across multiple sessions with many ROM loads or Lua script invocations.
The behavior of the recent items list should perhaps be configurable to switch between behaviors:
- Current behavior (Placing the most recently used item at the start of the list, moving it from the spot it was in if it was already present)
- Always appending the most recently item at the end of the list, ignoring it if doing so would put it outside of the available number of slots
- Only appending the most recently item at the end of the with a dedicated action
Options 2. and 3. both require some means of manually removing items from the list, which brings us to...
Open Questions
...
How would the user manually manage the list? Is there a simple way to provide a UI for this, or would that be a heavy technical burden?
And, as this is effectively a user preference, where would it be stored and how? (Actually, where is it stored now? I can't be bothered to look into that right now, forgive me 🙃 )
Technical Considerations
In a way, I can also think of these recent items as a sort of "action factory" that simply takes parameters (in both the ROM and Lua cases just one, namely the file name), so that may be a concept worth exploring as well.
The idea would be to let the user create certain custom actions from well known factories and then bind those actions to hotkeys.
However, this concept doesn't immediately fall into place with the idea of a "recent" action, and I have not spent any time deliberating possible implementations, so for simplicity's sake, I am suggesting this specialization for now.