General aspects
Icons on the dock and in the application overview correspond with desktop launcher files. These are small text files with the .desktop
extension. They provide information to the operating system on how to launch the application, what icon to use...
If an application has no corresponding .desktop
file, or some of the elements in the .desktop
file are not properly defined, the system may revert to a generic icon and a generic application name.
You can locate all .desktop
files containing for example KColorChooser
with the command
find / -name '*.desktop' -exec grep -H $1 "KColorChooser" \; 2>/dev/null
Specifics for KDE snap applications
I can not fully reproduce the issue you indicate: for two of the three applications you mention, I get two icons, one with correct icon and one with generic icon. When launching, the correct icon is used in the dock, and the correct application name is shown.
For some KDE packages that come as a SNAP, there may be packaging issues. When installed for the first time, two different .desktop
files are installed under /var/lib/snapd/desktop/applications/
:
kcolorchooser_kcolorchooser.desktop
kcolorchooser_org.kde.kcolorchooser.desktop
They have different names and a different Exec=
line, hence they appear as two different icons. kcolorchooser_kcolorchooser.desktop
specifies the full path of an icon under /snap/kcolorchooser/
, and is the one showing the icon. kcolorchooser_kcolorchooser.desktop
specifies kcolorchooser
, but that apparently is not within the normal search path for icons, and a generic icon is shown.
A workaround is to hide the "bad" .desktop
file. Copy it to your ~/.local/share/applications
directory and add a line Hidden=true
.