diff --git a/src/widget/systemtrayicon.cpp b/src/widget/systemtrayicon.cpp index a199641bb..922001c27 100644 --- a/src/widget/systemtrayicon.cpp +++ b/src/widget/systemtrayicon.cpp @@ -4,6 +4,8 @@ #include #include #include +#include +#include #include "src/misc/settings.h" SystemTrayIcon::SystemTrayIcon() @@ -388,6 +390,16 @@ void SystemTrayIcon::setIcon(QIcon &icon) #endif else if (backendType == SystrayBackendType::Qt) { + #ifdef Q_OS_MAC + // Since Qt doesn't render SVG tray icons for OSX + // we are forced to do this sort of a workaround! + QPixmap quirk(64, 64); + quirk.fill(Qt::transparent); + QPainter quirker(&quirk); + icon.paint(&quirker, 0, 0, 64, 64); + icon = QIcon(quirk); + #endif + qtIcon->setIcon(icon); } } diff --git a/src/widget/widget.cpp b/src/widget/widget.cpp index aa3b3c569..6119deb3a 100644 --- a/src/widget/widget.cpp +++ b/src/widget/widget.cpp @@ -301,7 +301,7 @@ void Widget::updateIcons() if (ico.isNull()) { QString color = Settings::getInstance().getLightTrayIcon() ? "light" : "dark"; - ico = QIcon(":img/taskbar/" + color + "/taskbar_" + status + ".svg"); + ico = QIcon(":/img/taskbar/" + color + "/taskbar_" + status + ".svg"); } setWindowIcon(ico);