diff --git a/deploy/linux/deploy.cmake b/deploy/linux/deploy.cmake index 303dab4a2..203d84c21 100644 --- a/deploy/linux/deploy.cmake +++ b/deploy/linux/deploy.cmake @@ -14,6 +14,13 @@ install( # Install our icon install(FILES ${MY_DIR}/org.deskflow.deskflow.png DESTINATION share/icons/hicolor/512x512/apps/) +# Install our symbolic icon +install( + FILES ${CMAKE_SOURCE_DIR}/src/apps/res/icons/deskflow-light/apps/64/deskflow-symbolic.svg + DESTINATION share/icons/hicolor/symbolic/apps/ + RENAME org.deskflow.deskflow-symbolic.svg +) + # Install our metainfo install( FILES ${MY_DIR}/${CMAKE_PROJECT_REV_FQDN}.metainfo.xml diff --git a/src/apps/res/icons/deskflow-dark/apps/64/deskflow-symbolic.svg b/src/apps/res/icons/deskflow-dark/apps/64/deskflow-symbolic.svg index 4f1b940dc..76b6cf8a1 100644 --- a/src/apps/res/icons/deskflow-dark/apps/64/deskflow-symbolic.svg +++ b/src/apps/res/icons/deskflow-dark/apps/64/deskflow-symbolic.svg @@ -1,5 +1,8 @@ - + + + + diff --git a/src/apps/res/icons/deskflow-light/apps/64/deskflow-symbolic.svg b/src/apps/res/icons/deskflow-light/apps/64/deskflow-symbolic.svg index f3e0545e7..505170e64 100644 --- a/src/apps/res/icons/deskflow-light/apps/64/deskflow-symbolic.svg +++ b/src/apps/res/icons/deskflow-light/apps/64/deskflow-symbolic.svg @@ -1,5 +1,8 @@ - + + + + diff --git a/src/lib/gui/MainWindow.cpp b/src/lib/gui/MainWindow.cpp index ea54be945..770deff3e 100644 --- a/src/lib/gui/MainWindow.cpp +++ b/src/lib/gui/MainWindow.cpp @@ -754,23 +754,17 @@ void MainWindow::saveSettings() const void MainWindow::setTrayIcon() { - // Using a theme icon that is packed in exe renders an invisible icon - // Instead use the resource path of the packed icon - const bool symbolicIcon = Settings::value(Settings::Gui::SymbolicTrayIcon).toBool(); -#if defined(Q_OS_UNIX) && !defined(Q_OS_APPLE) - QString iconString = QStringLiteral(":/icons/deskflow-%1/apps/64/deskflow").arg(iconMode()); - if (symbolicIcon) - iconString.append(QStringLiteral("-symbolic")); - m_trayIcon->setIcon(QIcon(iconString)); -#else - if (symbolicIcon) { - auto icon = QIcon::fromTheme(QStringLiteral("%1-symbolic").arg(kAppId)); - icon.setIsMask(true); - m_trayIcon->setIcon(icon); - } else { - m_trayIcon->setIcon(QIcon::fromTheme(kAppId)); + QString iconString = kRevFqdnName; + + if (!Settings::value(Settings::Gui::SymbolicTrayIcon).toBool()) { + m_trayIcon->setIcon(QIcon::fromTheme(iconString)); + return; } -#endif + + iconString.append(QStringLiteral("-symbolic")); + auto icon = QIcon::fromTheme(iconString); + icon.setIsMask(true); + m_trayIcon->setIcon(icon); } void MainWindow::handleLogLine(const QString &line)