OpenTabletDriver / OpenTabletDriver/OpenTabletDriver
Plugin reordering feature in GUI and CLI
Nobody has claimed this yet.
- Dominant language
- C#
- Stars
- 4.1k
- Forks
- 534
- Avg merge
- 4d 20h
- Merged PRs (30d)
- 12
Description
Description
Currently, in 0.6.x, plugins are ordered by which order they're laid out in the settings array. Letting the user be able to reorder plugins as they like would be a nice feature. It also means that using "same settings" as someone else may not actually be the same settings (unless imported).
Note that it should not be possible for the user to order post-transpose filters above pre-transpose filters due to ordering in the daemon (tablet input -> pre-transpose -> transpose/transformation -> post-transpose -> binding handler -> output mode)
Note that #4161 currently causes this ordering to be kinda unpredictable for end users.
How to implement this specifically is undecided, but here's some ideas:
- Drag and drop reordering inside of the filters list, with disabled and enabled filters getting split into 2 groups.
- Can also be implemented via selection and "arrow button" GUI gadgets, like some old school GUI, if drag and drop doesn't work great with Eto.
- Dedicated arrow buttons inside of filter settings
- Should only be available if the filter settings are actually in user's settings in some fashion
- New subwindow with 2 orderable groupings (pre-transpose and post-transpose)
- Filters not implementing either do not (currently) do anything in the daemon, and as such do not need to be considered.
Acknowledgements
- I have searched the existing issues and this new issue is not a duplicate of any.
- I have written a concise and meaningful title.
- I am on the latest version of OpenTabletDriver.
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
Start by tracing how the settings array is represented in the GUI and CLI and how the daemon applies pre-transpose and post-transpose filters. Confirm the ordering constraints and the behavior of filters implementing neither stage. Done means users can reorder supported filters in both interfaces without allowing an invalid daemon order.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- csharp
- Domain
- backend, cli, desktop
- Issue type
- Feature
- Difficulty
- 5/5
- Estimated time
- Over a week
- Activity status
- Stale
- Clarity
- Mostly clear
- Newbie friendliness
- 35/100