Index: configure.in
===================================================================
--- configure.in	(revision 2406)
+++ configure.in	(working copy)
@@ -530,10 +530,25 @@
 data/sounds/Makefile
 data/icons/Makefile
 data/icons/16x16/Makefile
+data/icons/16x16/actions/Makefile
+data/icons/16x16/apps/Makefile
+data/icons/16x16/status/Makefile
 data/icons/22x22/Makefile
+data/icons/22x22/actions/Makefile
+data/icons/22x22/apps/Makefile
+data/icons/22x22/status/Makefile
 data/icons/24x24/Makefile
+data/icons/24x24/actions/Makefile
+data/icons/24x24/apps/Makefile
+data/icons/24x24/status/Makefile
 data/icons/48x48/Makefile
+data/icons/48x48/actions/Makefile
+data/icons/48x48/apps/Makefile
+data/icons/48x48/status/Makefile
 data/icons/scalable/Makefile
+data/icons/scalable/actions/Makefile
+data/icons/scalable/apps/Makefile
+data/icons/scalable/status/Makefile
 ])
 
 dnl ==========================================================================
Index: src/gpm-stock-icons.c
===================================================================
--- src/gpm-stock-icons.c	(revision 2406)
+++ src/gpm-stock-icons.c	(working copy)
@@ -1,104 +0,0 @@
-/* -*- Mode: C; tab-width: 8; indent-tabs-mode: t; c-basic-offset: 8 -*-
- *
- * Copyright (C) 2002 Jorn Baayen
- * Copyright (C) 2003,2004 Colin Walters <walters@verbum.org>
- * Copyright (C) 2005-2007 Richard Hughes <richard@hughsie.com>
- *
- * Licensed under the GNU General Public License Version 2
- *
- * 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.
- */
-
-#ifdef HAVE_CONFIG_H
-#  include <config.h>
-#endif
-
-#include <stdio.h>
-#include <string.h>
-
-#include <glib.h>
-#include <gtk/gtk.h>
-
-#include "gpm-stock-icons.h"
-#include "gpm-debug.h"
-
-static GtkIconFactory *factory = NULL;
-
-typedef struct {
-	const gchar *name;
-	gboolean     custom;
-} GpmStockIcon;
-
-gboolean
-gpm_stock_icons_init (void)
-{
-	GtkIconTheme *theme = gtk_icon_theme_get_default ();
-	guint i;
-
-	static const GpmStockIcon items [] = {
-		{ GPM_STOCK_HIBERNATE, FALSE },
-		{ GPM_STOCK_SUSPEND, FALSE },
-	};
-
-	g_return_val_if_fail (factory == NULL, FALSE);
-
-	factory = gtk_icon_factory_new ();
-	gtk_icon_factory_add_default (factory);
-
-	for (i = 0; i < (guint) G_N_ELEMENTS (items); i++) {
-		GtkIconSet *icon_set;
-		GdkPixbuf  *pixbuf;
-
-		if (items[i].custom) {
-			gchar *filename;
-
-			filename = g_strconcat (GPM_DATA, G_DIR_SEPARATOR_S, items[i].name, ".png", NULL);
-			pixbuf = gdk_pixbuf_new_from_file (filename, NULL);
-			g_free (filename);
-		} else {
-			/* we should really add all the sizes */
-			gint size;
-
-			gtk_icon_size_lookup (GTK_ICON_SIZE_MENU, &size, NULL);
-			pixbuf = gtk_icon_theme_load_icon (theme,
-							   items[i].name,
-							   size,
-							   0,
-							   NULL);
-		}
-
-		if (pixbuf) {
-			icon_set = gtk_icon_set_new_from_pixbuf (pixbuf);
-			gtk_icon_factory_add (factory, items[i].name, icon_set);
-			gtk_icon_set_unref (icon_set);
-
-			g_object_unref (G_OBJECT (pixbuf));
-		} else {
-			gpm_warning ("Unable to load icon %s", items[i].name);
-		}
-	}
-
-	return TRUE;
-}
-
-void
-gpm_stock_icons_shutdown (void)
-{
-	g_return_if_fail (factory != NULL);
-
-	gtk_icon_factory_remove_default (factory);
-
-	g_object_unref (G_OBJECT (factory));
-}
Index: src/gpm-stock-icons.h
===================================================================
--- src/gpm-stock-icons.h	(revision 2406)
+++ src/gpm-stock-icons.h	(working copy)
@@ -26,7 +26,7 @@
 
 G_BEGIN_DECLS
 
-#define GPM_STOCK_APP_ICON			"gpm-primary-charged"
+#define GPM_STOCK_APP_ICON			"gnome-power-manager"
 #define GPM_STOCK_AC_ADAPTER			"gpm-ac-adapter"
 #define GPM_STOCK_BATTERY_CHARGED		"gpm-primary-charged"
 #define GPM_STOCK_HIBERNATE			"gpm-hibernate"
Index: src/gpm-main.c
===================================================================
--- src/gpm-main.c	(revision 2406)
+++ src/gpm-main.c	(working copy)
@@ -106,7 +106,6 @@
 static void
 gpm_exit (GpmManager *manager)
 {
-	gpm_stock_icons_shutdown ();
 	gpm_debug_shutdown ();
 	exit (0);
 }
@@ -241,9 +240,9 @@
 			   "or gnome startup when you start a new session.");
 	}
 
-	if (gpm_stock_icons_init() == FALSE) {
-		gpm_error ("Cannot continue without stock icons");
-	}
+	/* Add application specific icons to search path */
+	gtk_icon_theme_append_search_path (gtk_icon_theme_get_default (),
+                                           GPM_DATA G_DIR_SEPARATOR_S "icons");
 
 	/* initialise gstreamer */
 	gst_init (&argc, &argv);
@@ -269,7 +268,6 @@
 	}
 
 	g_main_loop_unref (loop);
-	gpm_stock_icons_shutdown ();
 	gpm_debug_shutdown ();
 
 	/* rip down gstreamer */
Index: src/Makefile.am
===================================================================
--- src/Makefile.am	(revision 2406)
+++ src/Makefile.am	(working copy)
@@ -24,7 +24,7 @@
 	-DSYSCONFDIR=\""$(sysconfdir)"\" 		\
 	-DLIBDIR=\""$(libdir)"\" 			\
 	-DVERSION="\"$(VERSION)\"" 			\
-	-DGPM_DATA=\""$(datadir)/gnome-power-manager/"\"\
+	-DGPM_DATA=\"$(pkgdatadir)\"			\
 	-I$(top_srcdir)					\
 	-I$(top_srcdir)/libhal-glib			\
 	-I$(top_srcdir)/libdbus-glib			\
@@ -193,7 +193,6 @@
 	gpm-networkmanager.h				\
 	gpm-networkmanager.c				\
 	gpm-stock-icons.h				\
-	gpm-stock-icons.c				\
 	gpm-info.h					\
 	gpm-info.c					\
 	gpm-array.h					\
Index: applets/inhibit/GNOME_InhibitApplet.server.in.in
===================================================================
--- applets/inhibit/GNOME_InhibitApplet.server.in.in	(revision 2406)
+++ applets/inhibit/GNOME_InhibitApplet.server.in.in	(working copy)
@@ -21,7 +21,7 @@
       <item value="IDL:Bonobo/Unknown:1.0"/>
     </oaf_attribute>
     <oaf_attribute name="panel:category" type="string" value="System &amp; Hardware"/>
-    <oaf_attribute name="panel:icon" type="string" value="gpm-suspend"/>
+    <oaf_attribute name="panel:icon" type="string" value="gnome-inhibit-applet"/>
     <oaf_attribute name="name" type="string" _value="Inhibit Applet"/>
     <oaf_attribute name="description" type="string" _value="Allows user to inhibit automatic power saving"/>
     <oaf_attribute name="bugzilla:bugzilla" type="string" value="GNOME"/>
Index: applets/inhibit/Makefile.am
===================================================================
--- applets/inhibit/Makefile.am	(revision 2406)
+++ applets/inhibit/Makefile.am	(working copy)
@@ -13,7 +13,7 @@
 	-DSYSCONFDIR=\""$(sysconfdir)"\" 			\
 	-DLIBDIR=\""$(libdir)"\" 				\
 	-DVERSION="\"$(VERSION)\"" 				\
-	-DGPM_DATA=\""$(datadir)/gnome-power-manager/"\"	\
+	-DGPM_DATA=\"$(pkgdatadir)\"				\
 	-I$(top_srcdir)/libdbus-glib				\
 	$(NULL)
 
Index: applets/inhibit/inhibit-applet.c
===================================================================
--- applets/inhibit/inhibit-applet.c	(revision 2406)
+++ applets/inhibit/inhibit-applet.c	(working copy)
@@ -561,6 +561,10 @@
 	applet->proxy = NULL;
 	applet->tooltip = gtk_tooltips_new ();
 
+	/* Add application specific icons to search path */
+	gtk_icon_theme_append_search_path (gtk_icon_theme_get_default (),
+                                           GPM_DATA G_DIR_SEPARATOR_S "icons");
+
 	applet->watch = dbus_watch_new ();
 	g_signal_connect (applet->watch, "connection-changed",
 			  G_CALLBACK (watch_connection_cb), applet);
Index: applets/brightness/GNOME_BrightnessApplet.server.in.in
===================================================================
--- applets/brightness/GNOME_BrightnessApplet.server.in.in	(revision 2406)
+++ applets/brightness/GNOME_BrightnessApplet.server.in.in	(working copy)
@@ -21,7 +21,7 @@
       <item value="IDL:Bonobo/Unknown:1.0"/>
     </oaf_attribute>
     <oaf_attribute name="panel:category" type="string" value="System &amp; Hardware"/>
-    <oaf_attribute name="panel:icon" type="string" value="gpm-brightness-lcd"/>
+    <oaf_attribute name="panel:icon" type="string" value="gnome-brightness-applet"/>
     <oaf_attribute name="name" type="string" _value="Brightness Applet"/>
     <oaf_attribute name="description" type="string" _value="Adjusts Laptop panel brightness"/>
     <oaf_attribute name="bugzilla:bugzilla" type="string" value="GNOME"/>
Index: applets/brightness/Makefile.am
===================================================================
--- applets/brightness/Makefile.am	(revision 2406)
+++ applets/brightness/Makefile.am	(working copy)
@@ -13,7 +13,7 @@
 	-DSYSCONFDIR=\""$(sysconfdir)"\" 			\
 	-DLIBDIR=\""$(libdir)"\" 				\
 	-DVERSION="\"$(VERSION)\"" 				\
-	-DGPM_DATA=\""$(datadir)/gnome-power-manager/"\"	\
+	-DGPM_DATA=\"$(pkgdatadir)\"				\
 	-I$(top_srcdir)/libdbus-glib				\
 	$(NULL)
 
Index: applets/brightness/brightness-applet.c
===================================================================
--- applets/brightness/brightness-applet.c	(revision 2406)
+++ applets/brightness/brightness-applet.c	(working copy)
@@ -66,7 +66,7 @@
 
 #define GPM_BRIGHTNESS_APPLET_OAFID		"OAFIID:GNOME_BrightnessApplet"
 #define GPM_BRIGHTNESS_APPLET_FACTORY_OAFID	"OAFIID:GNOME_BrightnessApplet_Factory"
-#define GPM_BRIGHTNESS_APPLET_ICON		"gpm-brightness-lcd"
+#define GPM_BRIGHTNESS_APPLET_ICON		"gnome-brightness-applet"
 #define GPM_BRIGHTNESS_APPLET_ICON_DISABLED	"gpm-brightness-lcd-disabled"
 #define GPM_BRIGHTNESS_APPLET_ICON_INVALID	"gpm-brightness-lcd-invalid"
 #define GPM_BRIGHTNESS_APPLET_NAME		_("Power Manager Brightness Applet")
@@ -909,6 +909,11 @@
 	applet->proxy = NULL;
 	applet->tooltip = gtk_tooltips_new ();
 
+	/* Add application specific icons to search path */
+	gtk_icon_theme_append_search_path (gtk_icon_theme_get_default (),
+                                           GPM_DATA G_DIR_SEPARATOR_S "icons");
+
+
 	applet->watch = dbus_watch_new ();
 	g_signal_connect (applet->watch, "connection-changed",
 			  G_CALLBACK (watch_connection_cb), applet);
Index: data/gnome-power-manager.desktop.in
===================================================================
--- data/gnome-power-manager.desktop.in	(revision 2406)
+++ data/gnome-power-manager.desktop.in	(working copy)
@@ -2,7 +2,7 @@
 Encoding=UTF-8
 _Name=Power Manager
 _Comment=Power management daemon
-Icon=gpm-primary-charged
+Icon=gnome-power-manager
 Exec=gnome-power-manager
 Terminal=false
 Type=Application
Index: data/gnome-power-statistics.desktop.in
===================================================================
--- data/gnome-power-statistics.desktop.in	(revision 2406)
+++ data/gnome-power-statistics.desktop.in	(working copy)
@@ -2,7 +2,7 @@
 Encoding=UTF-8
 _Name=Power Statistics
 _Comment=Observe power management
-Icon=gpm-statistics
+Icon=gnome-power-statistics
 Exec=gnome-power-statistics
 Terminal=false
 Type=Application
