Index: src/seahorse-sign.c
===================================================================
--- src/seahorse-sign.c	(revision 2125)
+++ src/seahorse-sign.c	(working copy)
@@ -214,7 +214,7 @@
     /* Image */
     w = glade_xml_get_widget (swidget->xml, "sign-image");
     g_return_if_fail (w != NULL);
-    gtk_image_set_from_stock (GTK_IMAGE (w), SEAHORSE_STOCK_SIGN, GTK_ICON_SIZE_DIALOG);
+    gtk_image_set_from_icon_name (GTK_IMAGE (w), SEAHORSE_STOCK_SIGN, GTK_ICON_SIZE_DIALOG);
     
     g_object_unref (skset);
     seahorse_widget_show (swidget);
Index: src/seahorse-ssh-key-properties.c
===================================================================
--- src/seahorse-ssh-key-properties.c	(revision 2125)
+++ src/seahorse-ssh-key-properties.c	(working copy)
@@ -47,7 +47,7 @@
     /* Image */
     widget = seahorse_widget_get_widget (swidget, "key-image");
     if (widget)
-        gtk_image_set_from_stock (GTK_IMAGE (widget), SEAHORSE_STOCK_KEY_SSH, GTK_ICON_SIZE_DIALOG);
+        gtk_image_set_from_icon_name (GTK_IMAGE (widget), SEAHORSE_STOCK_KEY_SSH, GTK_ICON_SIZE_DIALOG);
 
     /* Name and title */
     text = seahorse_key_get_display_name (key);
Index: src/seahorse-ssh-generate.c
===================================================================
--- src/seahorse-ssh-generate.c	(revision 2125)
+++ src/seahorse-ssh-generate.c	(working copy)
@@ -164,7 +164,7 @@
     
     widget = seahorse_widget_get_widget (swidget, "ssh-image");
     g_return_if_fail (widget != NULL);
-    gtk_image_set_from_stock (GTK_IMAGE (widget), SEAHORSE_STOCK_KEY_SSH, GTK_ICON_SIZE_DIALOG);
+    gtk_image_set_from_icon_name (GTK_IMAGE (widget), SEAHORSE_STOCK_KEY_SSH, GTK_ICON_SIZE_DIALOG);
     
     widget = seahorse_widget_get_widget (swidget, "algorithm-choice");
     g_return_if_fail (widget != NULL);
Index: src/seahorse-gkeyring-item.c
===================================================================
--- src/seahorse-gkeyring-item.c	(revision 2125)
+++ src/seahorse-gkeyring-item.c	(working copy)
@@ -367,7 +367,7 @@
         switch (git->info ? gnome_keyring_item_info_get_type (git->info) : -1)
         {
         case GNOME_KEYRING_ITEM_GENERIC_SECRET:
-            g_value_set_pointer (value, GNOME_STOCK_AUTHENTICATION);
+            g_value_set_pointer (value, GTK_STOCK_DIALOG_AUTHENTICATION);
             break;
         case GNOME_KEYRING_ITEM_NETWORK_PASSWORD:
             g_value_set_pointer (value, is_network_item (git, "http") ? 
@@ -509,7 +509,7 @@
                            0, G_MAXUINT, 0, G_PARAM_READABLE));
                            
     g_object_class_install_property (gobject_class, PROP_STOCK_ID,
-        g_param_spec_pointer ("stock-id", "The stock icon", "The stock icon id",
+        g_param_spec_pointer ("icon-name", "The icon name", "The icon name",
                               G_PARAM_READABLE));
 
 }
Index: src/seahorse-pgp-generate.c
===================================================================
--- src/seahorse-pgp-generate.c	(revision 2125)
+++ src/seahorse-pgp-generate.c	(working copy)
@@ -219,8 +219,8 @@
     
     widget = seahorse_widget_get_widget (swidget, "pgp-image");
     g_return_if_fail (widget != NULL);
-    gtk_image_set_from_stock (GTK_IMAGE (widget), SEAHORSE_STOCK_SECRET, 
-                              GTK_ICON_SIZE_DIALOG);
+    gtk_image_set_from_icon_name (GTK_IMAGE (widget), SEAHORSE_STOCK_SECRET, 
+                                  GTK_ICON_SIZE_DIALOG);
     
     /* The algoritms */
     widget = seahorse_widget_get_widget (swidget, "algorithm-choice");
Index: src/seahorse-key-properties.c
===================================================================
--- src/seahorse-key-properties.c	(revision 2125)
+++ src/seahorse-key-properties.c	(working copy)
@@ -62,7 +62,7 @@
     if (!widget)
         return;
     
-    gtk_image_set_from_stock (GTK_IMAGE (widget), stock, GTK_ICON_SIZE_DIALOG);
+    gtk_image_set_from_icon_name (GTK_IMAGE (widget), stock, GTK_ICON_SIZE_DIALOG);
 }
 
 static void
@@ -395,7 +395,7 @@
         g_object_set (renderer, "stock-size", GTK_ICON_SIZE_LARGE_TOOLBAR, NULL);
         gtk_tree_view_insert_column_with_attributes (GTK_TREE_VIEW (widget),
                                                      -1, "", renderer,
-                                                     "stock-id", UIDSIG_ICON, NULL);
+                                                     "icon-name", UIDSIG_ICON, NULL);
 
         /* The name column */
         gtk_tree_view_insert_column_with_attributes (GTK_TREE_VIEW (widget), 
@@ -600,8 +600,8 @@
     photo_image = glade_xml_get_widget (swidget->xml, "photoid");
     if (photo_image) {
         if (!photoid || !photoid->photo)
-            gtk_image_set_from_stock (GTK_IMAGE (photo_image), 
-                etype == SKEY_PRIVATE ? SEAHORSE_STOCK_SECRET : SEAHORSE_STOCK_KEY, (GtkIconSize)-1);
+            gtk_image_set_from_icon_name (GTK_IMAGE (photo_image), 
+                etype == SKEY_PRIVATE ? SEAHORSE_STOCK_SECRET : SEAHORSE_STOCK_KEY, (GtkIconSize)-1); // TODO: why such a strange size?
         else 
             gtk_image_set_from_pixbuf (GTK_IMAGE (photo_image), photoid->photo);
     }
@@ -865,7 +865,7 @@
             g_object_set (renderer, "stock-size", GTK_ICON_SIZE_LARGE_TOOLBAR, NULL);
             gtk_tree_view_insert_column_with_attributes (GTK_TREE_VIEW (widget),
                                                          -1, "", renderer,
-                                                         "stock-id", UID_ICON, NULL);
+                                                         "icon-name", UID_ICON, NULL);
 
             gtk_tree_view_insert_column_with_attributes (GTK_TREE_VIEW (widget), 
                                                          -1, _("Name"), gtk_cell_renderer_text_new (), 
@@ -1717,7 +1717,7 @@
         g_object_set (renderer, "stock-size", GTK_ICON_SIZE_LARGE_TOOLBAR, NULL);
         gtk_tree_view_insert_column_with_attributes (GTK_TREE_VIEW (widget),
                                                      -1, "", renderer,
-                                                     "stock-id", SIGN_ICON, NULL);
+                                                     "icon-name", SIGN_ICON, NULL);
         gtk_tree_view_insert_column_with_attributes (GTK_TREE_VIEW (widget), 
                                                      -1, _("Name/Email"), gtk_cell_renderer_text_new (), 
                                                      "text", SIGN_NAME, NULL);
Index: src/seahorse-key-manager-store.c
===================================================================
--- src/seahorse-key-manager-store.c	(revision 2125)
+++ src/seahorse-key-manager-store.c	(working copy)
@@ -933,7 +933,7 @@
     renderer = gtk_cell_renderer_pixbuf_new ();
     g_object_set (renderer, "stock-size", GTK_ICON_SIZE_LARGE_TOOLBAR, NULL);
     g_object_set (renderer, "xpad", 6, NULL);
-    col = gtk_tree_view_column_new_with_attributes ("", renderer, "stock-id", COL_STOCK_ID, NULL);
+    col = gtk_tree_view_column_new_with_attributes ("", renderer, "icon-name", COL_STOCK_ID, NULL);
     gtk_tree_view_column_set_resizable (col, FALSE);
     gtk_tree_view_append_column (view, col);
     gtk_tree_view_column_set_sort_column_id (col, COL_PAIR);
Index: src/seahorse-key-manager.c
===================================================================
--- src/seahorse-key-manager.c	(revision 2125)
+++ src/seahorse-key-manager.c	(working copy)
@@ -1186,7 +1186,7 @@
             N_("Close this program"), G_CALLBACK (quit) }, 
     { "app-preferences", GTK_STOCK_PREFERENCES, N_("Prefere_nces"), NULL,
             N_("Change preferences for this program"), G_CALLBACK (preferences_activate) },
-    { "app-about", "gnome-stock-about", N_("_About"), NULL, 
+    { "app-about", "gtk-about", N_("_About"), NULL, 
             N_("About this program"), G_CALLBACK (about_activate) }, 
             
     { "remote-menu", NULL, N_("_Remote") },
Index: src/seahorse-generate-select.c
===================================================================
--- src/seahorse-generate-select.c	(revision 2125)
+++ src/seahorse-generate-select.c	(working copy)
@@ -155,7 +155,7 @@
     g_object_set (renderer, "stock-size", GTK_ICON_SIZE_DIALOG, NULL);
     gtk_tree_view_insert_column_with_attributes (GTK_TREE_VIEW (widget),
                                                  -1, "", renderer,
-                                                 "stock-id", KEY_ICON, NULL);
+                                                 "icon-name", KEY_ICON, NULL);
     gtk_tree_view_insert_column_with_attributes (GTK_TREE_VIEW (widget), 
                                                  -1, "", gtk_cell_renderer_text_new (), 
                                                  "markup", KEY_TEXT, NULL);
Index: src/main.c
===================================================================
--- src/main.c	(revision 2125)
+++ src/main.c	(working copy)
@@ -61,8 +61,8 @@
                        GNOME_PARAM_HUMAN_READABLE_NAME, _("Encryption Key Manager"),
                        GNOME_PARAM_APP_DATADIR, DATA_DIR, NULL);
 
-    /* Insert Icons into Stock */ 
-    seahorse_gtkstock_init();
+    gtk_icon_theme_append_search_path (gtk_icon_theme_get_default (), ICONDIR);
+    gtk_window_set_default_icon_name ("seahorse");
     
     /* Make the default SeahorseContext */
     seahorse_context_new (SEAHORSE_CONTEXT_APP, 0);
Index: src/Makefile.am
===================================================================
--- src/Makefile.am	(revision 2125)
+++ src/Makefile.am	(working copy)
@@ -1,7 +1,7 @@
 
 gladedir = $(datadir)/seahorse/glade/
 localedir = $(datadir)/locale
-pixmapsdir = $(datadir)/pixmaps/
+icondir = $(datadir)/seahorse/icons/
 
 INCLUDES = -I$(top_builddir) \
 	-I$(top_srcdir) \
@@ -11,7 +11,7 @@
 	-DDATA_DIR=\""$(datadir)"\" \
 	-DSEAHORSE_GLADEDIR=\""$(gladedir)"\" \
 	-DLOCALEDIR=\"$(localedir)\" \
-	-DPIXMAPSDIR=\""$(pixmapsdir)"\" \
+	-DICONDIR=\""$(icondir)"\" \
 	-DLIBCRYPTUI_API_SUBJECT_TO_CHANGE
 
 if WITH_KEYSERVER
Index: data/Makefile.am
===================================================================
--- data/Makefile.am	(revision 2125)
+++ data/Makefile.am	(working copy)
@@ -1,4 +1,6 @@
 
+SUBDIRS = icons
+
 @INTLTOOL_SCHEMAS_RULE@
 
 schemasdir = $(GCONF_SCHEMA_FILE_DIR)
Index: plugins/nautilus/seahorse-tool.c
===================================================================
--- plugins/nautilus/seahorse-tool.c	(revision 2125)
+++ plugins/nautilus/seahorse-tool.c	(working copy)
@@ -665,9 +665,6 @@
         return 2;
     }
 
-    /* Insert Icons into Stock */ 
-    seahorse_gtkstock_init();
-    
     /* Make the default SeahorseContext */
     sctx = seahorse_context_new (SEAHORSE_CONTEXT_APP, 0);
     
Index: plugins/nautilus/seahorse-tool-progress.c
===================================================================
--- plugins/nautilus/seahorse-tool-progress.c	(revision 2125)
+++ plugins/nautilus/seahorse-tool-progress.c	(working copy)
@@ -160,10 +160,7 @@
     GIOChannel *io;
     
     gtk_init (&argc, &argv);
-    
-    /* Insert Icons into Stock */ 
-    seahorse_gtkstock_init();
-    
+
     /* New app context, without loading any keys */
     sctx = seahorse_context_new (SEAHORSE_CONTEXT_APP, -1); 
Index: plugins/nautilus/seahorse-pgp-preferences.c
===================================================================
--- plugins/nautilus/seahorse-pgp-preferences.c	(revision 2125)
+++ plugins/nautilus/seahorse-pgp-preferences.c	(working copy)
@@ -74,9 +74,6 @@
                 GNOME_PARAM_HUMAN_READABLE_NAME, _("Encryption Preferences"),
                 GNOME_PARAM_APP_DATADIR, DATA_DIR, NULL);
 
-    /* Insert Icons into Stock */ 
-    seahorse_gtkstock_init();
-    
     /* The default SeahorseContext */
     seahorse_context_new (SEAHORSE_CONTEXT_APP, 0);
     op = seahorse_context_load_local_keys (SCTX_APP ());
@@ -87,6 +84,9 @@
     swidget = seahorse_prefs_new (NULL);
 	g_signal_connect (seahorse_widget_get_top (swidget), "destroy", 
                       G_CALLBACK (destroyed), NULL);
+                      
+    gtk_window_set_icon_name (GTK_WINDOW (glade_xml_get_widget (swidget->xml, "prefs")),
+                              "seahorse-preferences");
 
 #ifdef WITH_AGENT	
     if (show_cache) {
Index: plugins/applet/Makefile.am
===================================================================
--- plugins/applet/Makefile.am	(revision 2125)
+++ plugins/applet/Makefile.am	(working copy)
@@ -2,6 +2,7 @@
 uidir = $(datadir)/gnome-2.0/ui
 gladedir = $(datadir)/seahorse/glade/
 localedir = $(datadir)/locale
+icondir = $(datadir)/seahorse/icons/
 
 SUBDIRS = docs
 DIST_SUBDIRS = docs
@@ -18,6 +19,7 @@
 	-DGNOMELOCALEDIR=\"$(localedir)\" \
 	-DUIDIR=\"$(uidir)\" \
 	-DDATADIR=\""$(datadir)"\" \
+	-DICONDIR=\""$(icondir)"\" \
 	-DLIBDIR=\""$(libdir)"\" \
 	-DSYSCONFDIR=\""$(sysconfdir)"\" \
 	-DPREFIX=\""$(prefix)"\" \
Index: plugins/applet/seahorse-applet.c
===================================================================
--- plugins/applet/seahorse-applet.c	(revision 2125)
+++ plugins/applet/seahorse-applet.c	(working copy)
@@ -953,9 +953,6 @@
     SeahorseApplet *sapplet = SEAHORSE_APPLET (applet);
     BonoboUIComponent *pcomp;
 
-    /* Insert Icons into Stock */ 
-    seahorse_gtkstock_init ();
-    seahorse_gtkstock_add_icons (clipboard_icons);
     g_return_val_if_fail (PANEL_IS_APPLET (applet), FALSE);
     gtk_widget_show_all (GTK_WIDGET (applet));
 
Index: configure.in
===================================================================
--- configure.in	(revision 2125)
+++ configure.in	(working copy)
@@ -858,10 +858,7 @@
 po/Makefile.in
 help/Makefile
 data/Makefile
-pixmaps/Makefile
-pixmaps/22x22/Makefile
-pixmaps/48x48/Makefile
-pixmaps/scalable/Makefile
+data/icons/Makefile
 src/Makefile
 src/seahorse.desktop.in
 src/seahorse-pgp-encrypted.desktop.in
Index: agent/seahorse-agent-status.c
===================================================================
--- agent/seahorse-agent-status.c	(revision 2125)
+++ agent/seahorse-agent-status.c	(working copy)
@@ -139,7 +139,7 @@
         renderer = gtk_cell_renderer_pixbuf_new ();
         g_object_set (renderer, "stock-size", GTK_ICON_SIZE_LARGE_TOOLBAR, NULL);
         column = gtk_tree_view_column_new_with_attributes ("", renderer, 
-                                                           "stock-id", ICON_COLUMN, NULL);
+                                                           "icon-name", ICON_COLUMN, NULL);
         gtk_tree_view_column_set_resizable (column, FALSE);
         gtk_tree_view_append_column (tree, column);
 
Index: agent/seahorse-agent-main.c
===================================================================
--- agent/seahorse-agent-main.c	(revision 2125)
+++ agent/seahorse-agent-main.c	(working copy)
@@ -254,9 +254,6 @@
     /* We log to the syslog */
     prepare_logging ();
 
-    /* Insert Icons into Stock */
-    seahorse_gtkstock_init ();
-    
     /* Make the default SeahorseContext */
     seahorse_context_new (SEAHORSE_CONTEXT_APP | SEAHORSE_CONTEXT_DAEMON, 0);
     op = seahorse_context_load_local_keys (SCTX_APP ());
Index: agent/Makefile.am
===================================================================
--- agent/Makefile.am	(revision 2125)
+++ agent/Makefile.am	(working copy)
@@ -1,6 +1,6 @@
 gladedir = $(datadir)/seahorse/glade/
 localedir = $(datadir)/locale
-pixmapsdir = $(datadir)/pixmaps/
+icondir = $(datadir)/seahorse/icons/
 
 INCLUDES = -I$(top_builddir) \
 	-I$(top_srcdir) \
@@ -11,7 +11,7 @@
 	-DDATA_DIR=\""$(datadir)"\" \
 	-DSEAHORSE_GLADEDIR=\""$(gladedir)"\" \
 	-DLOCALEDIR=\""$(localedir)"\" \
-	-DPIXMAPSDIR=\""$(pixmapsdir)"\" \
+	-DICONDIR=\""$(icondir)"\" \
 	-DLIBCRYPTUI_API_SUBJECT_TO_CHANGE
 
 bin_PROGRAMS = seahorse-agent
Index: libseahorse/seahorse-pgp-key.c
===================================================================
--- libseahorse/seahorse-pgp-key.c	(revision 2125)
+++ libseahorse/seahorse-pgp-key.c	(working copy)
@@ -481,7 +481,7 @@
                            0, G_MAXUINT, 0, G_PARAM_READABLE));
                            
     g_object_class_install_property (gobject_class, PROP_STOCK_ID,
-        g_param_spec_pointer ("stock-id", "The stock icon", "The stock icon id",
+        g_param_spec_pointer ("icon-name", "The icon name", "The icon name",
                               G_PARAM_READABLE));
 
 }
Index: libseahorse/seahorse-prefs.c
===================================================================
--- libseahorse/seahorse-prefs.c	(revision 2125)
+++ libseahorse/seahorse-prefs.c	(working copy)
@@ -461,7 +461,7 @@
     
     widget = seahorse_widget_get_widget (swidget, "key-sharing-image");
     g_return_if_fail (widget != NULL);
-    gtk_image_set_from_stock (GTK_IMAGE (widget), SEAHORSE_STOCK_SHARING, GTK_ICON_SIZE_DIALOG);
+    gtk_image_set_from_icon_name (GTK_IMAGE (widget), SEAHORSE_STOCK_SHARING, GTK_ICON_SIZE_DIALOG);
 }
 
 #endif /* WITH_SHARING */
Index: libseahorse/seahorse-ssh-key.c
===================================================================
--- libseahorse/seahorse-ssh-key.c	(revision 2125)
+++ libseahorse/seahorse-ssh-key.c	(working copy)
@@ -326,7 +326,7 @@
                            0, G_MAXUINT, 0, G_PARAM_READABLE));
                            
     g_object_class_install_property (gobject_class, PROP_STOCK_ID,
-        g_param_spec_pointer ("stock-id", "The stock icon", "The stock icon id",
+        g_param_spec_pointer ("icon-name", "The icon name", "The icon name",
                               G_PARAM_READABLE));
 }
 
Index: libseahorse/seahorse-unknown-key.c
===================================================================
--- libseahorse/seahorse-unknown-key.c	(revision 2125)
+++ libseahorse/seahorse-unknown-key.c	(working copy)
@@ -208,7 +208,7 @@
                            0, G_MAXULONG, 0, G_PARAM_READABLE));
                            
     g_object_class_install_property (gobject_class, PROP_STOCK_ID,
-        g_param_spec_pointer ("stock-id", "The stock icon", "The stock icon id",
+        g_param_spec_pointer ("icon-name", "The icon name", "The icon name",
                               G_PARAM_READABLE));
 
 }
Index: libseahorse/seahorse-notification.c
===================================================================
--- libseahorse/seahorse-notification.c	(revision 2125)
+++ libseahorse/seahorse-notification.c	(working copy)
@@ -549,7 +549,7 @@
 
 /* Note that we can't use GTK stock here, as we hand these icons off 
    to other processes in the case of notifications */
-#define ICON_PREFIX     DATA_DIR "/pixmaps/seahorse/48x48/"
+#define ICON_PREFIX     ICONDIR "/hicolor/48x48/status/"
 
 void
 seahorse_notify_import (guint keynum, gchar **keys)
Index: libseahorse/seahorse-widget.c
===================================================================
--- libseahorse/seahorse-widget.c	(revision 2125)
+++ libseahorse/seahorse-widget.c	(working copy)
@@ -181,10 +181,6 @@
         glade_xml_set_toplevel (swidget->xml, GTK_WINDOW (w));
         glade_xml_ensure_accel (swidget->xml);
         
-        pixbuf = gtk_widget_render_icon (w, SEAHORSE_STOCK_SEAHORSE, 
-                                         (GtkIconSize)-1, NULL); 
-        gtk_window_set_icon (GTK_WINDOW (w), gdk_pixbuf_copy(pixbuf));
-        g_object_unref(pixbuf);
         break;
     }
 }
Index: libseahorse/seahorse-key.c
===================================================================
--- libseahorse/seahorse-key.c	(revision 2125)
+++ libseahorse/seahorse-key.c	(working copy)
@@ -464,7 +464,7 @@
 seahorse_key_get_stock_id (SeahorseKey *skey)
 {
     const gchar* stock_id;
-    g_object_get (skey, "stock-id", &stock_id, NULL);
+    g_object_get (skey, "icon-name", &stock_id, NULL);
     return stock_id;
 }
 
Index: libseahorse/seahorse-gtkstock.c
===================================================================
--- libseahorse/seahorse-gtkstock.c	(revision 2125)
+++ libseahorse/seahorse-gtkstock.c	(working copy)
@@ -1,189 +1 @@
-/**
- * @file seahorse-gtkstock.c GTK+ Stock resources
- *
- * Seahorse
- *
- * Gaim is the legal property of its developers, whose names are too numerous
- * to list here.  Please refer to the COPYRIGHT file distributed with the gaim
- * source distribution.
- *
- * Also (c) 2005 Adam Schreiber <sadam@clemson.edu>
- *
- * This program is free software; you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation; either version 2 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program; if not, write to the Free Software
- * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
- *
- */
-
-#include <gtk/gtk.h>
- 
-#include "seahorse-gtkstock.h"
-
-static const gchar *seahorse_icons[] = {
-    SEAHORSE_STOCK_SEAHORSE,
-    SEAHORSE_STOCK_KEY,
-    SEAHORSE_STOCK_SECRET,
-    SEAHORSE_STOCK_KEY_SSH,
-    SEAHORSE_STOCK_PERSON,
-    SEAHORSE_STOCK_SIGN,
-    SEAHORSE_STOCK_SIGN_OK,
-    SEAHORSE_STOCK_SIGN_BAD,
-    SEAHORSE_STOCK_SIGN_UNKNOWN,
-    SEAHORSE_STOCK_SHARING,
-    NULL
-};
-
-static const gchar *themed_icons[] = {
-    SEAHORSE_THEMED_WEBBROWSER,
-    NULL
-};
-
-static GtkIconSource*
-make_theme_source (const gchar *icon, GtkIconSize size)
-{
-    GtkIconSource *source;
-
-    source = gtk_icon_source_new ();
-    gtk_icon_source_set_icon_name (source, icon);
-    gtk_icon_source_set_direction_wildcarded (source, TRUE);
-    gtk_icon_source_set_state_wildcarded (source, TRUE);
-    
-    if (size == -1) {
-        gtk_icon_source_set_size_wildcarded (source, TRUE);
-    } else {
-        gtk_icon_source_set_size_wildcarded (source, FALSE);
-        gtk_icon_source_set_size (source, size);
-    }
-    
-    return source;
-}
-
-static GtkIconSource*
-make_icon_source (const gchar *icon, const gchar *base, const gchar *ext, 
-                  GtkIconSize size)
-{
-    GtkIconSource *source;
-    gchar *filename;
-    
-    filename = g_strdup_printf ("%s/%s/%s.%s", PIXMAPSDIR, base, icon, ext);
-    
-    source = gtk_icon_source_new ();
-    gtk_icon_source_set_filename (source, filename);
-    gtk_icon_source_set_direction_wildcarded (source, TRUE);
-    gtk_icon_source_set_state_wildcarded (source, TRUE);
-    
-    if (size == -1) {
-        gtk_icon_source_set_size_wildcarded (source, TRUE);
-    } else {
-        gtk_icon_source_set_size_wildcarded (source, FALSE);
-        gtk_icon_source_set_size (source, size);
-    }
-    
-    g_free(filename);
-    
-    return source;
-}
-
-static void
-add_icons (const gchar **icons, const gchar **themed)
-{
-    GtkIconFactory *factory;
-    GtkIconSource *source;
-    GtkIconSet *iconset;
-    GtkWidget *win;
-
-    /* Setup the icon factory. */
-    factory = gtk_icon_factory_new ();
-    gtk_icon_factory_add_default (factory);
-    
-    /* Er, yeah, a hack, but it works. :) */
-    win = gtk_window_new(GTK_WINDOW_TOPLEVEL);
-    gtk_widget_realize(win);
-    
-    for ( ; *icons; icons++) {
-
-        iconset = gtk_icon_set_new ();
-        
-        source = make_icon_source (*icons, "22x22", "png", GTK_ICON_SIZE_BUTTON);
-        gtk_icon_set_add_source (iconset, source);
-        gtk_icon_source_free (source);
-        source = make_icon_source (*icons, "22x22", "png", GTK_ICON_SIZE_MENU);
-        gtk_icon_set_add_source (iconset, source);
-        gtk_icon_source_free (source);
-        source = make_icon_source (*icons, "22x22", "png", GTK_ICON_SIZE_LARGE_TOOLBAR);
-        gtk_icon_set_add_source (iconset, source);
-        gtk_icon_source_free (source);
-        source = make_icon_source (*icons, "22x22", "png", GTK_ICON_SIZE_SMALL_TOOLBAR);
-        gtk_icon_set_add_source (iconset, source);
-        gtk_icon_source_free (source);
-        source = make_icon_source (*icons, "48x48", "png", GTK_ICON_SIZE_DIALOG);
-        gtk_icon_set_add_source (iconset, source);
-        gtk_icon_source_free (source);
-        source = make_icon_source (*icons, "scalable", "svg", -1);
-        gtk_icon_set_add_source (iconset, source);
-        gtk_icon_source_free (source);
-        
-        gtk_icon_factory_add (factory, *icons, iconset);
-        gtk_icon_set_unref (iconset);
-    }
-    
-    for ( ; themed && *themed; themed++) {
-
-        iconset = gtk_icon_set_new ();
-        
-        source = make_theme_source (*themed, GTK_ICON_SIZE_BUTTON);
-        gtk_icon_set_add_source (iconset, source);
-        gtk_icon_source_free (source);
-        source = make_theme_source (*themed, GTK_ICON_SIZE_MENU);
-        gtk_icon_set_add_source (iconset, source);
-        gtk_icon_source_free (source);
-        source = make_theme_source (*themed, GTK_ICON_SIZE_LARGE_TOOLBAR);
-        gtk_icon_set_add_source (iconset, source);
-        gtk_icon_source_free (source);
-        source = make_theme_source (*themed, GTK_ICON_SIZE_SMALL_TOOLBAR);
-        gtk_icon_set_add_source (iconset, source);
-        gtk_icon_source_free (source);
-        source = make_theme_source (*themed, GTK_ICON_SIZE_DIALOG);
-        gtk_icon_set_add_source (iconset, source);
-        gtk_icon_source_free (source);
-        source = make_theme_source (*themed, -1);
-        gtk_icon_set_add_source (iconset, source);
-        gtk_icon_source_free (source);
-        
-        gtk_icon_factory_add (factory, *themed, iconset);
-        gtk_icon_set_unref (iconset);
-    }
-    
-    gtk_widget_destroy (win);
-    g_object_unref (factory);
-}
-
-void
-seahorse_gtkstock_init(void)
-{
-    static gboolean stock_initted = FALSE;
-
-    if (stock_initted)
-        return;
-    stock_initted = TRUE;
-    
-    gtk_window_set_default_icon_name ("seahorse");
-    
-    add_icons (seahorse_icons, themed_icons);
-}
-
-void
-seahorse_gtkstock_add_icons (const gchar **icons)
-{
-    add_icons (icons, NULL);
-}
+/* DELETE ME */
Index: libseahorse/seahorse-gtkstock.h
===================================================================
--- libseahorse/seahorse-gtkstock.h	(revision 2125)
+++ libseahorse/seahorse-gtkstock.h	(working copy)
@@ -40,8 +40,4 @@
 
 #define SEAHORSE_THEMED_WEBBROWSER  "web-browser"
 
-void    seahorse_gtkstock_init          (void);
-
-void    seahorse_gtkstock_add_icons     (const gchar **icons);
-
 #endif /* _SEAHORSE_GTKSTOCK_H_ */
Index: libseahorse/Makefile.am
===================================================================
--- libseahorse/Makefile.am	(revision 2125)
+++ libseahorse/Makefile.am	(working copy)
@@ -1,7 +1,7 @@
 
 gladedir = $(datadir)/seahorse/glade/
 localedir = $(datadir)/locale
-pixmapsdir = $(datadir)/pixmaps/seahorse/
+icondir = $(datadir)/seahorse/icons/
 seahorselibexecbindir = $(libdir)/seahorse/
 
 INCLUDES = -I$(top_builddir) \
@@ -11,7 +11,7 @@
 	-DDATA_DIR=\""$(datadir)"\" \
 	-DSEAHORSE_GLADEDIR=\""$(gladedir)"\" \
 	-DLOCALEDIR=\"$(localedir)\" \
-	-DPIXMAPSDIR=\""$(pixmapsdir)"\" \
+	-DICONDIR=\""$(icondir)"\" \
 	-DEXECDIR=\""$(seahorselibexecbindir)"\" \
 	-DLIBCRYPTUI_API_SUBJECT_TO_CHANGE 
 
@@ -84,7 +84,7 @@
 	seahorse-progress.c seahorse-progress.h \
 	seahorse-gconf.c seahorse-gconf.h \
 	seahorse-dns-sd.c seahorse-dns-sd.h \
-	seahorse-gtkstock.c seahorse-gtkstock.h \
+	seahorse-gtkstock.h \
 	seahorse-notification.c \
 	seahorse-secure-memory.c seahorse-secure-memory.h \
 	seahorse-secure-entry.c seahorse-secure-entry.h \
Index: daemon/seahorse-daemon.c
===================================================================
--- daemon/seahorse-daemon.c	(revision 2125)
+++ daemon/seahorse-daemon.c	(working copy)
@@ -44,11 +44,6 @@
 static gboolean daemon_running = FALSE;
 static gboolean daemon_quit = FALSE;
 
-static const gchar *daemon_icons[] = {
-    SEAHORSE_ICON_SHARING,
-    NULL
-};
-
 static const GOptionEntry options[] = {
     { "no-daemonize", 'd', 0, G_OPTION_ARG_NONE, &daemon_no_daemonize, 
         N_("Do not run seahorse-daemon as a daemon"), NULL },
@@ -208,9 +203,9 @@
     /* We log to the syslog */
     prepare_logging ();
 
-    /* Insert Icons into Stock */
-    seahorse_gtkstock_init ();
-    seahorse_gtkstock_add_icons (daemon_icons);
+    /* Add application specific icons to search path */
+    gtk_icon_theme_append_search_path (gtk_icon_theme_get_default (),
+                                       "/opt/gnome2.22/share/seahorse/icons");
     
     /* Make the default SeahorseContext */
     seahorse_context_new (SEAHORSE_CONTEXT_APP | SEAHORSE_CONTEXT_DAEMON, 0);
Index: daemon/Makefile.am
===================================================================
--- daemon/Makefile.am	(revision 2125)
+++ daemon/Makefile.am	(working copy)
@@ -1,7 +1,7 @@
 
 gladedir = $(datadir)/seahorse/glade/
 localedir = $(datadir)/locale
-pixmapsdir = $(datadir)/pixmaps/
+icondir = $(datadir)/seahorse/icons/
 
 INCLUDES = -I$(top_builddir) \
 	-I$(top_srcdir) \
@@ -11,7 +11,7 @@
 	-DDATA_DIR=\""$(datadir)"\" \
 	-DSEAHORSE_GLADEDIR=\""$(gladedir)"\" \
 	-DLOCALEDIR=\""$(localedir)"\" \
-	-DPIXMAPSDIR=\""$(pixmapsdir)"\" \
+	-DICONDIR=\""$(icondir)"\" \
 	-DLIBCRYPTUI_API_SUBJECT_TO_CHANGE
 
 bin_PROGRAMS = seahorse-daemon
Index: Makefile.am
===================================================================
--- Makefile.am	(revision 2125)
+++ Makefile.am	(working copy)
@@ -14,7 +14,6 @@
           po \
           data \
           help \
-          pixmaps \
           plugins \
           $(AGENT_DIR) \
           daemon 
