![](https://secure.gravatar.com/avatar/944a45c9d880b2ee8a888b15d01477ed.jpg?s=120&d=mm&r=g)
? With separate svg files how were you going to render those?
With GTK+'s native support for SVG icons. I'm simply going to pass GTK the filenames and nothing more.
Is that just temporary? I thought we wanted to use Inkscape's renderer. If you're going to do something temporarily, I would recommend writing a quick hack to inkscape to export all the icons from icons.svg into separate png files and just use those until your tree is merged.
Ideally it would be permanent. It's the Right Way To Do It(tm); it makes for the simplest, most straight-forward code; and what difference does it make whether icons are rendered with Inkscape's renderer or librsvg? They're just icons. (Besides, the sole purpose of rsvg is to be a compact and portable renderer to very quickly render massive amounts of small icons and simple graphics for GNOME. It may not be as high quality or compliant, but it's not supposed to be a super leet drawing app, and it's likely much faster than Inkscape's renderer at putting the icons into a pixbuf.)
Also, the icon is only rendered once by rsvg's gdk-pixbuf loader when its put into the IconFactory. Whereas, in Inkscape's "proprietary" way of handling icons, the SVG is rendered each time its displayed in a different location (e.g., toolbar icon of 'zoom_select' vs. menu item icon of 'zoom_select').
Have a look at how simply icons are done in the Gtkmm code: http://cvs.sourceforge.net/viewcvs.py/inkscape/experimental/bryce/inkscape_g...
Any icon needed for the GUI goes into 'icons.cpp' and is referenced in the rest of the code via its corresponding StockID (in the Inkscape::UI::Stock namespace).
rsvg works with GTK+ seamlessly via filenames, just as easily as .png's, .jpg's, or .xpm's. This doesn't introduce a librsvg dependency on Inkscape... But it does introduce a "runtime dependency" on GTK+. GTK+ will need to have librsvg's dynamic gdk-pixbuf loader available. Nearly all modern Linux desktops have this available by default, and if its not there, it's terribly easy to install.
I can't say anything for Win32, however. librsvg's gdk-pixbuf loader /ought/ to be available for GTK+ on Win32, but I haven't used Win32 for years and don't have it available for testing on any of my computers.
Every other project in the world uses separate icon files (though almost invariably PNGs). It would make it easier for other projects to steal (i.e., share) Inkscape's icons. And it would make it easier for others to contribute icons to Inkscape. As evidenced by Andreas Nilsson's email to inkscape-devel yesterday, where he submitted 3 SVG icons to replace old XPMs, separate filenames for icons is the natural way of going about things for almost everyone.