summaryrefslogtreecommitdiff
path: root/src/config/ConfigManager.hpp
diff options
context:
space:
mode:
authoroutfoxxed <outfoxxed@outfoxxed.me>2023-05-01 07:10:53 -0700
committerGitHub <noreply@github.com>2023-05-01 15:10:53 +0100
commit3a631e40db78f98ab82bb600d7cf9d7428bc2b02 (patch)
tree9d43696e1fcd6ed24110513c67a600c001638558 /src/config/ConfigManager.hpp
parentdc469dc4c18732b534c3d9f46678a6e53379abd6 (diff)
Declarative plugin management (#2180)
* Declarative plugin management Allow declaring `plugin` entries in the hyprland configuration. Plugins will be loaded if an entry is added and unloaded if that entry is removed. * Replace pointers with copying in updateconfigPlugins * Include which plugin was declared twice in error
Diffstat (limited to 'src/config/ConfigManager.hpp')
-rw-r--r--src/config/ConfigManager.hpp4
1 files changed, 4 insertions, 0 deletions
diff --git a/src/config/ConfigManager.hpp b/src/config/ConfigManager.hpp
index cee6075e..0d4d6cd7 100644
--- a/src/config/ConfigManager.hpp
+++ b/src/config/ConfigManager.hpp
@@ -182,6 +182,8 @@ class CConfigManager {
void addExecRule(const SExecRequestedRule&);
+ void handlePluginLoads();
+
std::string configCurrentPath;
private:
@@ -203,6 +205,7 @@ class CConfigManager {
std::vector<SExecRequestedRule> execRequestedRules; // rules requested with exec, e.g. [workspace 2] kitty
+ std::vector<std::string> m_vDeclaredPlugins;
std::unordered_map<HANDLE, std::unique_ptr<std::unordered_map<std::string, SConfigValue>>> pluginConfigs; // stores plugin configs
bool isFirstLaunch = true; // For exec-once
@@ -250,6 +253,7 @@ class CConfigManager {
void handleBlurLS(const std::string&, const std::string&);
void handleBindWS(const std::string&, const std::string&);
void handleEnv(const std::string&, const std::string&);
+ void handlePlugin(const std::string&, const std::string&);
};
inline std::unique_ptr<CConfigManager> g_pConfigManager;