diff --git a/indicator/indicatorhelper_mac.cpp b/indicator/indicatorhelper_mac.cpp index 22fcc56d6..f15e215da 100644 --- a/indicator/indicatorhelper_mac.cpp +++ b/indicator/indicatorhelper_mac.cpp @@ -127,7 +127,9 @@ void IndicatorHelper::systrayIconHook(KStatusNotifierItem &systray) { const QString iconPath = QStandardPaths::locate(QStandardPaths::AppDataLocation, QStringLiteral("kdeconnect-icons"), QStandardPaths::LocateDirectory); if (!iconPath.isNull()) { - systray.setIconByName(QStringLiteral("kdeconnectindicatordark")); + auto icon = QIcon::fromTheme(QStringLiteral("kdeconnectindicator")); + icon.setIsMask(true); // Make icon adapt to menu bar color + systray.setIconByPixmap(icon); } else { // We are in macOS dev env, just continue qWarning() << "Fail to find indicator icon, continue anyway"; diff --git a/indicator/main.cpp b/indicator/main.cpp index c102b2147..56e033695 100644 --- a/indicator/main.cpp +++ b/indicator/main.cpp @@ -162,7 +162,9 @@ int main(int argc, char** argv) systray.setStandardActionsEnabled(false); QObject::connect(&model, &DevicesModel::rowsChanged, &model, [&systray, &model]() { const auto count = model.rowCount(); +#ifndef Q_OS_MACOS // On MacOS, setting status to Active disables color theme syncing of the menu icon systray.setStatus(count == 0 ? KStatusNotifierItem::Passive : KStatusNotifierItem::Active); +#endif systray.setToolTip(QStringLiteral("kdeconnect"), QStringLiteral("KDE Connect"), i18np("%1 device connected", "%1 devices connected", count)); });