Ok, so i resume :
Under the freedesktop specification and so, on many modern system : the old way when an apps tells the system about its icons, even for the minimising icons etc. is … hum … completely obsolete ? And it should not be used ?
It includes the gtk_window_set_icon_name and gtk_window_set_default_icon_name functions (and also including the icons in Gressource way i guess ? ).
All the communication between the apps and desktop environnement (about the icons) should now be done via .desktop files puts in XDG_DATA_DIRS/XDG_DATA_HOME and it exists no way to tell the WM about local desktop file which should be used (or we have to modify XDG_DATA_DIRS/XDG_DATA_HOME which is not good)
The function like gtk_window_set_icon_name still work but are not the “way to do”.
Am i good ?
I notice though that it is a bit fuzzy : documentation is not really clear about those points and I guess that a multi system application need to have the two system to ensure compatibility with OS that do not follow the freedesktop specification ?