In Wayland session many applications (especially extragear) show generic wayland icon in plasma task manager. If I understand correctly Plasma taskmanager gets application id from kwin and then tries to find appropriate .desktop file and look for Icon entry. Now the problem happens when applications have their own non kde.org domain name (those include kalarm, ktorrent, kile, krusader, kbibtex, etc...). Let's look at KAlarm example: In kalarm/src/main.cpp it sets homepage to http://www.astrojar.org.uk/kalarm Similarly it says organization domain to kde.org. Both of these are reasonable. Now for some reason the id that libtaskmanager gets from kwin is org.astrojar.kalarm. However, desktop file uses reverse dns of organization domain, i.e. org.kde.kalarm. Hence no icon is found.
Please report to each and every of the applications. I have told it several times, I have been at akademy presenting this issue to a wide audience and nobody fixes it. It is not a problem in KWin, it is in the applications.
Does it mean that the homepage must be under kde.org? Isn't the organization domain enough?
(In reply to Martin Gräßlin from comment #1) > It is not a problem in KWin, it is in the applications. Well, after looking at kwin code I determined it's not a problem in KWin but neither in applications! It is in fact a bug in frameworks.
Internally, KAboutData combines reverse domain of homepage into the name of desktop file. This is not what should be done. All KDE applications use organization domain name for desktop files, i.e. org.kde.kalarm.desktop not uk.org.astrojar.kalarm.desktop. See line 457 in https://api.kde.org/frameworks/kcoreaddons/html/kaboutdata_8cpp_source.html
Ok, so I guess what happened is that application developers were not aware that setting organizationDomain is not enough and it does not change desktop file path. A consensus was to add explicit setDesktopFilePath.