Change tray icon so it is the right color on MacOS
Summary
On MacOS the system tray icon is off-color because it uses the gray-colored kdeconnectindicatordark
icon which does not match the rest of MacOS.
I've used two patches to fix this:
- Always use the status
KStatusNotifierItem::Passive
on MacOS.KStatusNotifierItem
will only mark the icon as a mask (which is needed to allow it to dynamically switch between light and dark theme) if the status is passive. - The above should theoretically be enough to fix the issue and I swear at one point it was all that was needed. However, to fix this issue in my dev environment I also needed to pass in a
QIcon
withsetIsMask(true)
instead of setting the icon by its name. And I also use thekdeconnectindicator
instead ofkdeconnectindicatordark
icon.
Test Plan
The icon now renders in the correct color, regardless of whether devices are connected:
Future work
Once I've verified this PR is working in the right direction, I want to look into making the icon gray (and hopefully a much easier-to-see gray) when no devices are connected!
For example, WireGuard, when not connected, looks like this:
P.S. I've been testing off the v21.12.2 tag since the master branch doesn't compile for me, so I haven't tested this change on the latest dev commit. But there should be no conflicts.
Edited by Ryan Adolf