diff --git a/app/src/handlers/systemhandler.cpp b/app/src/handlers/systemhandler.cpp index 4127a68c8d7f9a3eac6ce96f751586e97ac50a7d..74b03622c256ed2ee190a02aee51eb33beb7b412 100644 --- a/app/src/handlers/systemhandler.cpp +++ b/app/src/handlers/systemhandler.cpp @@ -110,7 +110,8 @@ bool SystemHandler::isApplicableType(const QString &installType) const << "gnome_shell_themes"; } else if (desktop == "xfce") { - applicableTypes << "wallpapers"; + applicableTypes << "wallpapers" + << "icons"; } return applicableTypes.contains(installType); @@ -161,6 +162,9 @@ bool SystemHandler::applyFile(const QString &path, const QString &installType) c if (installType == "wallpapers") { return applyXfceWallpaper(path); } + else if (installType == "icons") { + return applyXfceIcon(themeName); + } } } @@ -301,4 +305,9 @@ bool SystemHandler::applyXfceWallpaper(const QString &path) const { return setConfigWithXfconf("xfce4-desktop", "/backdrop/screen0/monitor0/workspace0/last-image", path); } + +bool SystemHandler::applyXfceIcon(const QString &themeName) const +{ + return setConfigWithXfconf("xsettings", "/Net/IconThemeName", themeName); +} #endif diff --git a/app/src/handlers/systemhandler.h b/app/src/handlers/systemhandler.h index 57a11b1f1b6a3e6b90dc1c8fd8ffa385ebcffb66..87b372a64932965e4a4e72905e02ab9962f0b475 100644 --- a/app/src/handlers/systemhandler.h +++ b/app/src/handlers/systemhandler.h @@ -39,5 +39,6 @@ private: bool setConfigWithXfconf(const QString &channel, const QString &property, const QString &value) const; bool applyXfceWallpaper(const QString &path) const; + bool applyXfceIcon(const QString &themeName) const; #endif };