Created attachment 166727 [details] Missing icon in Music applet SUMMARY I use a daemon called mpd-mpris [1] to implement the MPRIS2 interface for Music Player Daemon (MPD). This daemon does not set the "DesktopEntry" option[2], because it doesn't really have one. This was fine back in Plasma 5, because a fallback icon would be used instead. However, since Plasma 6, I get no icon at all (see the attachment for a screenshot). My suspicion is that the issue lies in this block of code from libkmpris: https://invent.kde.org/plasma/plasma-workspace/-/blob/6e0343c873df504d20926a6e2afc146ea0e14938/libkmpris/playercontainer.cpp#L570-575 mpd-mpris does not seem to set the "DesktopEntry" option at all[3], and so that branch in libkmpris that handles the fallback icon case, is never reached. STEPS TO REPRODUCE 1. Have a working MPD server 2. Install mpd-mpris 3. Invoke mpd-mpris from the command line 4. Open the Music applet on Plasma 6 OBSERVED RESULT Notice the missing icon for the MPD client. EXPECTED RESULT A fallback icon should be be used. SOFTWARE/OS VERSIONS Operating System: Arch Linux KDE Plasma Version: 6.0.1 KDE Frameworks Version: 6.0.0 Qt Version: 6.6.2 Kernel Version: 6.7.8-arch1-1 (64-bit) Graphics Platform: X11 Processors: 4 × Intel® Core™ i5-3570K CPU @ 3.40GHz Memory: 7,7 GiB of RAM Graphics Processor: NVIDIA GeForce GTX 660/PCIe/SSE2 ADDITIONAL INFORMATION N/A Refs: [1] https://github.com/natsukagami/mpd-mpris/ [2] https://specifications.freedesktop.org/mpris-spec/latest/Media_Player.html#Property:DesktopEntry [3] https://github.com/natsukagami/mpd-mpris/blob/4a10c25567adab6a67edf6ee43f3ff0128068dd9/root.go#L18-L26
A possibly relevant merge request was started @ https://invent.kde.org/plasma/plasma-workspace/-/merge_requests/4022
Git commit 9d92011d6022b57058ef8b02b5384f42e3e3f687 by Guilherme Silva. Committed on 09/03/2024 at 05:30. Pushed by fusionfuture into branch 'master'. libkmpris: prevent an empty icon from being used The previous logic would only use the fallback icon ("emblem-music-symbolic"), if the client had the "DesktopEntry" property[1] set. But since clients are allowed to omit that property completely (mpd-mpris[2] does that), m_iconName would stay an empty string, and clients would be left icon-less. This change ensures that m_iconName is never an empty string. [1] https://specifications.freedesktop.org/mpris-spec/latest/Media_Player.html#Property:DesktopEntry [2] https://github.com/natsukagami/mpd-mpris/ M +3 -3 libkmpris/playercontainer.cpp M +1 -1 libkmpris/playercontainer.h https://invent.kde.org/plasma/plasma-workspace/-/commit/9d92011d6022b57058ef8b02b5384f42e3e3f687
Git commit afa9e3406ba23a87cf4773f84f917d6466a33fa3 by Fushan Wen, on behalf of Guilherme Silva. Committed on 09/03/2024 at 06:03. Pushed by fusionfuture into branch 'Plasma/6.0'. libkmpris: prevent an empty icon from being used The previous logic would only use the fallback icon ("emblem-music-symbolic"), if the client had the "DesktopEntry" property[1] set. But since clients are allowed to omit that property completely (mpd-mpris[2] does that), m_iconName would stay an empty string, and clients would be left icon-less. This change ensures that m_iconName is never an empty string. [1] https://specifications.freedesktop.org/mpris-spec/latest/Media_Player.html#Property:DesktopEntry [2] https://github.com/natsukagami/mpd-mpris/ (cherry picked from commit 9d92011d6022b57058ef8b02b5384f42e3e3f687) M +3 -3 libkmpris/playercontainer.cpp M +1 -1 libkmpris/playercontainer.h https://invent.kde.org/plasma/plasma-workspace/-/commit/afa9e3406ba23a87cf4773f84f917d6466a33fa3