We should use a more complicated method to lookup the icon from the
theme, but `cosmic-freedesktop-icons` will need some changes to be able
to accomodate a custom theme path.
This is probably an improvement. Anything that uses `IconThemePath`
is likely not working currently, so it won't make things worse.
Fixes issue where `fcitx5` app icon persists after it is no longer
running. It seems it was getting a `NameOwnerChanged` event with the
acquired name after `register_status_notifier_item()`.
When running desktop-file-validate:
```
/builddir/build/BUILD/cosmic-applets-1.0.0_alpha.6_git20250408.2573eb7-build/BUILDROOT/usr/share/applications/com.system76.CosmicAppletStatusArea.desktop: error: file contains multiple keys named "Name[pt]" in group "Desktop Entry"
```
Fixes building for Fedora, as we use desktop-file-validate for checking desktop files.
Ref: 2573eb7545
I figured since this is the translation that was recently added, that the intent is to keep the newer one.
It seems status icons, at least some, don't send property change
notifications. So we can't rely on that, and have to disable caching.
And handle the `NewIcon` signal defined in
https://www.freedesktop.org/wiki/Specifications/StatusNotifierItem/StatusNotifierItem
I'm not sure whether or not there's a *good* reason it works this way,
but regardless I see `nm-applet` and `ibus` update their icons as
they should after these changes.
Comments in `gnome-shell-extension-appindicator` indicate this is
necessary for some clients. Checking the return value doesn't seem to
be.
There are more comments about Dropbox; more may be needed to fix it,
which doesn't seem to behave very properly.
If this has the wrong type, it causes a parse error due to
https://github.com/dbus2/zbus/issues/856.
This fixes the status icon for Slack, and probably other applications.
Not sure how this field is defined in general, but with Slack it is
an `aas`.
`gnome-shell-extension-appindicator` doesn't seem to use the `shortcut`
field either.