Here's how I make it work (not sure if this is the "right" way): int register_stock_icon(GtkIconFactory *icon_factory, const char *name, const char *filename) { GdkPixbuf *pixbuf; gchar *pathname; GError *error = NULL;
pathname = g_strdup_printf("%s%s%s", PACKAGE_PIXMAPS_DIR, G_DIR_SEPARATOR_S, filename); pixbuf = gdk_pixbuf_new_from_file(pathname, &error); g_free(pathname); if (pixbuf == NULL) return -1; gtk_icon_theme_add_builtin_icon(name, -1, pixbuf); g_object_unref(pixbuf); return 0; } void add_icons() { GtkIconFactory *icon_factory; icon_factory = gtk_icon_factory_new(); register_stock_icon(icon_factory, "gtkdisplay-main-icon", "display_icon24.png"); register_stock_icon(icon_factory, "gtkdisplay-main-icon-large", "display_icon48.png"); gtk_icon_factory_add_default(icon_factory); } My makefile is set up so that PACKAGE_PIXMAPS_DIR points to /usr/local/share/pixmaps/<appname> I call add_icons before I create my window. Finally, in glade-2, I set the named icon to "gtkdisplay-main-icon", which is equivalent to calling gtk_window_set_icon_name. The advantage of this, over using gtk_window_set_icon_from_file is that you can add multiple images at different sizes into the icon factory under the same name, and GTK will pick the appropriate one to display. -Jim (sorry, I sent this to tomas first, instead of the list) _______________________________________________ gtk-app-devel-list mailing list gtk-app-devel-list@gnome.org http://mail.gnome.org/mailman/listinfo/gtk-app-devel-list