OpenTabletDriver / OpenTabletDriver/OpenTabletDriver

Plugin reordering feature in GUI and CLI

Open
#4,212 1 comment 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

console gui
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

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

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

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.