Metadata and GUI #244
Description
For quite some time, I have an idea for PowerShell-based WindowsForms GUI which would help people to create their own presets. The interface itself would be generated automatically based on the tweaks in supplied tweak libraries. For this purpose, every tweak would need some metadata, such as group. There were already some mentions in #229 and possibly earlier.
With the classic approach where every tweak is selfcontained in a single function and for every function, there is a counterpart which reverts the behavior, the GUI could be constructed pretty easily. If #241 gets implemented, it would be much harder. The structure of parameters would have to be homogenous and predictable, so the GUI-building logic could place appropriate blocks.
The GUI-generator code doesn't have to be as simple as the tweaks, so there may be even some introspection used and no metadata would be needed as we have most of the information somewhere anyway (group, function name, parameter names, allowed types or values etc.).
The idea is that it would look as follows:
- Tabs are individual groups (privacy, security, etc.)
- The checkboxes determine if the tweak is present in the preset
- First column is the tweak name
- Second columens are params
- Dropdowns are the respective values of params (empty value means that the param is not given)
- (Not pictured) Somewhere down, aside from the tabview would be controls to load/save the preset.
Another approach would be to create the GUI as web-based application, completely outside of scope of this project.