Open fersaru opened 2 years ago
I don't think it makes a lot of sense to make this part of the plugin manager, since it's a bit of a niche feature.
This could probably be implemented as a plugin itself, since plugins have access to basic plugin information as well as the ability to Enable and Disable them during runtime.
The only thing that might need to be added to the API is getting a list of a plugin's required (and optional?) dependencies. I added this API for the next (big) update.
Motivation
Different plugins are wanted in different situations or for different activities. Setting up a custom preset(?) with a list of plugins in advance would be great when switching activity.
For example in TM you could have presets for
Difficulties
A few things I can think of. Everything mentioned is debatable. I'm not that familiar with Openplanet and may be overlooking some things or thinking of something that isn't a problem at all.
Intersections
By toggling the preset all plugins in this preset would be enabled/disabled. One plugin could be included in multiple presets. If enabling two presets with an intersection, the union of the two presets should be enabled. If disabling two presets with an intersection, the union of the two presets should be disabled.
Persistence
Currently toggle is saved, unload is not when restarting the app. The question is to implement it as a use case of toggle or load/unload.
Additionally the presets should be saved somehow.
Additional UI elements
There could be multiple ways to make this feature accessible.
A few ideas: