2022-08-10 15:51:55 +00:00
|
|
|
from .plugins.gtk4 import AdwcustomizerGtk4Plugin
|
2022-08-10 16:24:28 +00:00
|
|
|
import os
|
|
|
|
from pathlib import Path
|
|
|
|
import importlib
|
2022-08-10 15:51:55 +00:00
|
|
|
class AdwcustomizerPluginsList:
|
|
|
|
def __init__(self):
|
2022-08-10 16:24:28 +00:00
|
|
|
self.plugins = { # AdwCustomizerTeam plugins
|
2022-08-10 15:51:55 +00:00
|
|
|
"gtk4": AdwcustomizerGtk4Plugin()
|
|
|
|
}
|
2022-08-10 16:24:28 +00:00
|
|
|
self.add_user_plugins()
|
|
|
|
|
|
|
|
def add_user_plugins(self):
|
|
|
|
self.user_plugin_dir = Path(os.environ.get("XDG_DATA_HOME", os.environ["HOME"])) / ".local" / "share" / "AdwCustomizer" / "plugins"
|
|
|
|
if self.user_plugin_dir.exists():
|
|
|
|
for path, _, name in os.walk(self.user_plugin_dir):
|
|
|
|
print(name[0])
|
|
|
|
else:
|
|
|
|
print("No plugins dir found")
|
|
|
|
|
2022-08-10 15:51:55 +00:00
|
|
|
|
|
|
|
def load_all_custom_settings(self, settings):
|
|
|
|
for plugin_id, plugin in self.plugins.items():
|
|
|
|
plugin.load_custom_settings(settings[plugin_id])
|
|
|
|
|
|
|
|
def get_all_custom_settings_for_preset(self):
|
|
|
|
custom_settings = {}
|
|
|
|
for plugin_id, plugin in self.plugins.items():
|
|
|
|
custom_settings[plugin_id] = plugin.get_custom_settings_for_preset()
|