Packaging symbolic icons for third-party applications

Some third-party applications, for example Bitwarden, GPU screen recorder and many others use the system tray. In plasmashell, a decision was made to represent tray entries with symbolic icons, which is very cool design-wise. If an application were to create a tray entry, instead of its usual xdg icon, a -symbolic suffixed version of that application’s icon would be used. Unfortunately, this mechanism seems to be hard-coded somehow, since adding a symbolic icon does nothing. The icon shows up in kdialog --geticon, and is possible to use in a .desktop file, but the tray is still a colored icon. I suspect this has something to do with the way themes are compiled.

Is there a way to extend the symbolic icons? If not, how difficult it would be to implement fallback as I’ve described it?

Hi - I’m no expert on that topic, but just double-checking - are you using Plasma version 6.3.2 or higher? There were some fixes in the logic for finding symbolic tray icons that went into place in that version: 500102 – Regression: systray takes non-symbolic icons despite the new feature should do the exact opposite

2 Likes

I am using Plasma 6.3.5 and have tried to implement a Bitwarden symbolic icon. Neither placing it in share/icons/breeze-dark/apps/<size>/bitwarden-symbolic.svg (the main icon is called bitwarden) nor placing it in share/icons/hicolor/<size>/bitwarden-symbolic.svg for sizes 16 to 128 did anything, the tray icon is still the colored bitwarden icon.