fix: resolve KDE tray icon by passing bundled IconThemePath by mattmattox · Pull Request #564 · StreamController/StreamController · GitHub
Skip to content

fix: resolve KDE tray icon by passing bundled IconThemePath#564

Merged
Core447 merged 1 commit into
StreamController:mainfrom
mattmattox:fix/tray-icon-kde-icon-theme-path
Mar 5, 2026
Merged

fix: resolve KDE tray icon by passing bundled IconThemePath#564
Core447 merged 1 commit into
StreamController:mainfrom
mattmattox:fix/tray-icon-kde-icon-theme-path

Conversation

@mattmattox

Copy link
Copy Markdown
Contributor

Summary

Fixes #538 — the system tray icon is missing on KDE Plasma for non-Flatpak installations (AUR, etc.).

Root cause: src/tray.py sets the StatusNotifierItem IconName to com.core447.StreamController, but on non-Flatpak systems the icon is installed as streamcontroller.png (not com.core447.StreamController.png), so KDE cannot find it in the system icon theme.

Fix: The StatusNotifierItem spec provides IconThemePath exactly for this case — an additional path the desktop environment should search for icons. The repository already ships the icon correctly named at:

  • Assets/icons/hicolor/48x48/apps/com.core447.StreamController.png
  • Assets/icons/hicolor/512x512/apps/com.core447.StreamController.png

Assets/icons/ is already a valid freedesktop icon theme root. We now pass its absolute path as IconThemePath, so KDE always finds the bundled icon regardless of installation method.

Change: src/tray.py — one additional line to resolve the icon theme path, and pass it to the existing set_icon() call which already accepts a path parameter.

Test plan

  • Launch StreamController on KDE Plasma with a non-Flatpak install and confirm the tray icon appears
  • Confirm the tray icon still appears on Flatpak / GNOME installs (no regression)

…icon

On non-Flatpak installations (e.g. AUR), the system icon theme may not
contain an icon named 'com.core447.StreamController', causing the tray
icon to be missing on KDE Plasma.

The StatusNotifierItem spec's IconThemePath property allows apps to
advertise a custom icon search path. The repo already ships the icon as
Assets/icons/hicolor/{48x48,512x512}/apps/com.core447.StreamController.png,
structured as a valid freedesktop icon theme root.

Passing MAIN_PATH/Assets/icons as IconThemePath ensures KDE always finds
the bundled icon regardless of installation method.

Fixes StreamController#538
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

Status: No status

Development

Successfully merging this pull request may close these issues.

BUG: System tray icon missing on KDE - icon naming mismatch

2 participants