Why? Because it gets difficult to differentiate between open apps when all have the same cog icon.
I will use FreeCAD as an example program here. On my system I have a folder at ~/Applications where i keep all the AppImage files. The icons for all the executable are kept in ~/Applications/icons.
.desktop file under ~/.local/share/applications/ for user or ~/.local/share/applications/ for systemExec and Icon path values can be anywhere on the system, but you need to provide an absolute pathExec path should be an executable file, i.e. chmod +x the filedesktop-file-validate ~/.local/share/applications/freecad.desktopupdate-desktop-database ~/.local/share/applications/1touch ~/.local/share/applications/freecad.desktop
1[Desktop Entry]
2Type=Application
3Name=FreeCAD
4Comment=An open source parametric 3D CAD modeler
5Icon=/home/amna/Applications/icons/FreeCAD.svg
6Exec=/home/amna/Applications/FreeCAD.AppImage
7Categories=Graphics;Engineering
1# provide the path for .desktop file
2desktop-file-validate ~/.local/share/applications/freecad.desktop
1# provide the path for the entire directory, not the file
2update-desktop-database ~/.local/share/applications/