diff --git a/app/src/handlers/systemhandler.cpp b/app/src/handlers/systemhandler.cpp
index 6ea5ad756881136cf804bd289f98cd1fd178a938..dc4b823156af141a3cdb849d2dce9ec741022ae6 100644
--- a/app/src/handlers/systemhandler.cpp
+++ b/app/src/handlers/systemhandler.cpp
@@ -113,7 +113,8 @@ bool SystemHandler::isApplicableType(const QString &installType) const
applicableTypes << "wallpapers"
<< "icons"
<< "cursors"
- << "gtk3_themes";
+ << "gtk3_themes"
+ << "xfwm4_themes";
}
return applicableTypes.contains(installType);
@@ -173,6 +174,9 @@ bool SystemHandler::applyFile(const QString &path, const QString &installType) c
else if (installType == "gtk3_themes") {
return applyXfceGtk3Theme(themeName);
}
+ else if (installType == "xfwm4_themes") {
+ return applyXfceXfwm4Theme(themeName);
+ }
}
}
@@ -328,4 +332,9 @@ bool SystemHandler::applyXfceGtk3Theme(const QString &themeName) const
{
return setConfigWithXfconf("xsettings", "/Net/ThemeName", themeName);
}
+
+bool SystemHandler::applyXfceXfwm4Theme(const QString &themeName) const
+{
+ return setConfigWithXfconf("xfwm4", "/general/theme", themeName);
+}
#endif
diff --git a/app/src/handlers/systemhandler.h b/app/src/handlers/systemhandler.h
index 918e58dcc2e44e073b01c62cbfc26d7c703d5a45..9b80705337717ab6476395b7749ff634af45d37b 100644
--- a/app/src/handlers/systemhandler.h
+++ b/app/src/handlers/systemhandler.h
@@ -42,5 +42,6 @@ private:
bool applyXfceIcon(const QString &themeName) const;
bool applyXfceCursor(const QString &themeName) const;
bool applyXfceGtk3Theme(const QString &themeName) const;
+ bool applyXfceXfwm4Theme(const QString &themeName) const;
#endif
};