On Jul 23, 2010, at 12:41 PM, Krzysztof KosiĆski wrote:
The best solution is to combine both ideas. At first run, a directory "icons" should be created under the XDG cache directory. Icons would be prerendered there in a structure that matches a freedesktop.org icon theme. Then this directory would be added to the list of directories searched by GtkIconTheme using gtk_icon_theme_append_search_path.
This would allow us to replace the SPIcon widget with standard GtkImage, and InkAction with GtkAction. The only reason those classes exist is to support the monolithic icon file.
No, that is not correct, and has not been for some time. There are some subtle mechanisms in play with our code, including the fact that Inkscape now has successfully been integrated as one of those icon theme sources.
So many years ago the SPIcon and InkAction were needed, but that is outdated information. I think that when you first started looking into the inkscape code you may have hit a bug or two in those areas, but fixing those bugs unblocked things.
Yes, we should try to use standard widgets and approaches as much as possible. The good news is that a while back the Inkscape icon code was fixed to support the standards more than most applications do. We just need to leverage that.
Oh, and there are some very subtle and tricky interactions with exactly where in the loading system icons are encountered, rendered, cached, etc. Static system caching of gtk_icon_theme_append_search_path() is just one of those factors. So it is not as simple an issue as one might first assume. Of course anyone who is interested is still very welcome to just drop into our chat room and talk things over whenever a bit more understanding is needed. That's usually the best way to get such information figured out.