Index: pixmaps/Makefile.am
===================================================================
--- pixmaps/Makefile.am	(revision 5020)
+++ pixmaps/Makefile.am	(working copy)
@@ -1,6 +1,6 @@
 
 SUBDIRS = \
-	16x16 32x32 48x48
+	16x16 24x24 32x32 48x48
 
 pixmapdir = $(datadir)/pixmaps
 
Index: gui/greeter/greeter_canvas_item.c
===================================================================
--- gui/greeter/greeter_canvas_item.c	(revision 5020)
+++ gui/greeter/greeter_canvas_item.c	(working copy)
@@ -159,14 +159,20 @@
 	menu = gtk_menu_new ();
 	gtk_menu_item_set_submenu (GTK_MENU_ITEM (w), menu);
 
-	w = gtk_menu_item_new_with_mnemonic (_("Select _Language..."));
+	w = gtk_image_menu_item_new_with_mnemonic (_("Select _Language..."));
+	gtk_image_menu_item_set_image (GTK_IMAGE_MENU_ITEM (w), 
+		gtk_image_new_from_icon_name ("preferences-desktop-locale", GTK_ICON_SIZE_MENU));
+
 	gtk_menu_shell_append (GTK_MENU_SHELL (menu), w);
 	gtk_widget_show (GTK_WIDGET (w));
 	g_signal_connect (G_OBJECT (w), "activate",
 			  G_CALLBACK (activate_button),
 			  "language_button");
 
-	w = gtk_menu_item_new_with_mnemonic (_("Select _Session..."));
+	w = gtk_image_menu_item_new_with_mnemonic (_("Select _Session..."));
+	gtk_image_menu_item_set_image (GTK_IMAGE_MENU_ITEM (w), 
+		gtk_image_new_from_icon_name ("user-desktop", GTK_ICON_SIZE_MENU));
+
 	gtk_menu_shell_append (GTK_MENU_SHELL (menu), w);
 	gtk_widget_show (GTK_WIDGET (w));
 	g_signal_connect (G_OBJECT (w), "activate",
@@ -180,9 +186,13 @@
 	 * flexi, even if not local (non-local xnest).  and Disconnect
 	 * only for xdmcp */
 	if ( ! ve_string_empty (g_getenv ("GDM_FLEXI_SERVER"))) {
-		w = gtk_menu_item_new_with_mnemonic (_("_Quit"));
+		w = gtk_image_menu_item_new_with_mnemonic (_("_Quit"));
+		gtk_image_menu_item_set_image (GTK_IMAGE_MENU_ITEM (w), 
+			gtk_image_new_from_icon_name ("system-log-out", GTK_ICON_SIZE_MENU));
 	} else if (ve_string_empty (g_getenv ("GDM_IS_LOCAL"))) {
-		w = gtk_menu_item_new_with_mnemonic (_("D_isconnect"));
+		w = gtk_image_menu_item_new_with_mnemonic (_("D_isconnect"));
+		gtk_image_menu_item_set_image (GTK_IMAGE_MENU_ITEM (w), 
+			gtk_image_new_from_icon_name ("system-log-out", GTK_ICON_SIZE_MENU));
 	} else {
 		w = NULL;
 	}
Index: gui/greeter/greeter_system.c
===================================================================
--- gui/greeter/greeter_system.c	(revision 5020)
+++ gui/greeter/greeter_system.c	(working copy)
@@ -240,7 +240,10 @@
 		return;
 
 	if (gdm_config_get_bool (GDM_KEY_CHOOSER_BUTTON)) {
-		w = gtk_menu_item_new_with_mnemonic (_("Remote Login via _XDMCP..."));
+		w = gtk_image_menu_item_new_with_mnemonic (_("Remote Login via _XDMCP..."));
+		gtk_image_menu_item_set_image (GTK_IMAGE_MENU_ITEM (w),
+			gtk_image_new_from_icon_name ("preferences-desktop-remote-desktop", GTK_ICON_SIZE_MENU));
+
 		gtk_menu_shell_append (GTK_MENU_SHELL (menu), w);
 		gtk_widget_show (GTK_WIDGET (w));
 		g_signal_connect (G_OBJECT (w), "activate",
@@ -255,7 +258,10 @@
 	if (gdm_config_get_bool (GDM_KEY_CONFIG_AVAILABLE) &&
 	    !gdm_config_get_bool (GDM_KEY_ADD_GTK_MODULES) &&
 	    bin_exists (gdm_config_get_string (GDM_KEY_CONFIGURATOR))) {
-		w = gtk_menu_item_new_with_mnemonic (_("Confi_gure Login Manager..."));
+		w = gtk_image_menu_item_new_with_mnemonic (_("Confi_gure Login Manager..."));
+		gtk_image_menu_item_set_image (GTK_IMAGE_MENU_ITEM (w),
+			gtk_image_new_from_icon_name ("gdm-setup", GTK_ICON_SIZE_MENU));
+
 		gtk_menu_shell_append (GTK_MENU_SHELL (menu), w);
 		gtk_widget_show (GTK_WIDGET (w));
 		g_signal_connect (G_OBJECT (w), "activate",
@@ -270,7 +276,9 @@
 	}
 
 	if (GdmRebootFound && is_action_available ("REBOOT")) {
-		w = gtk_menu_item_new_with_mnemonic (_("_Restart"));
+ 		w = gtk_image_menu_item_new_with_mnemonic (_("_Restart"));
+ 		gtk_image_menu_item_set_image (GTK_IMAGE_MENU_ITEM (w),
+ 					       gtk_image_new_from_icon_name ("system-restart", GTK_ICON_SIZE_MENU));
 		gtk_menu_shell_append (GTK_MENU_SHELL (menu), w);
 		gtk_widget_show (GTK_WIDGET (w));
 		g_signal_connect (G_OBJECT (w), "activate",
@@ -279,7 +287,9 @@
 	}
 
 	if (GdmHaltFound && is_action_available ("HALT")) {
-		w = gtk_menu_item_new_with_mnemonic (_("Shut _Down"));
+ 		w = gtk_image_menu_item_new_with_mnemonic (_("Shut _Down"));
+ 		gtk_image_menu_item_set_image (GTK_IMAGE_MENU_ITEM (w), 
+ 					       gtk_image_new_from_icon_name ("system-shut-down", GTK_ICON_SIZE_MENU));
 		gtk_menu_shell_append (GTK_MENU_SHELL (menu), w);
 		gtk_widget_show (GTK_WIDGET (w));
 		g_signal_connect (G_OBJECT (w), "activate",
@@ -288,7 +298,9 @@
 	}
 
 	if (GdmSuspendFound && is_action_available ("SUSPEND")) {
-		w = gtk_menu_item_new_with_mnemonic (_("Sus_pend"));
+ 		w = gtk_image_menu_item_new_with_mnemonic (_("Sus_pend"));
+ 		gtk_image_menu_item_set_image (GTK_IMAGE_MENU_ITEM (w),
+ 					       gtk_image_new_from_icon_name ("system-suspend", GTK_ICON_SIZE_MENU));
 		gtk_menu_shell_append (GTK_MENU_SHELL (menu), w);
 		gtk_widget_show (GTK_WIDGET (w));
 		g_signal_connect (G_OBJECT (w), "activate",
Index: gui/greeter/Makefile.am
===================================================================
--- gui/greeter/Makefile.am	(revision 5020)
+++ gui/greeter/Makefile.am	(working copy)
@@ -8,6 +8,7 @@
 	-I$(top_srcdir)/common				\
 	-DAUTHDIR=\""$(authdir)"\"		 	\
 	-DDATADIR=\""$(datadir)"\"		 	\
+	-DGDM_DATADIR=\""$(pkgdatadir)"\"		\
 	-DDMCONFDIR=\""$(dmconfdir)"\"		 	\
 	-DGDM_CONFIG_FILE=\"$(gdmconfdir)/gdm.conf\"	\
 	-DGDMLOCALEDIR=\""$(gdmlocaledir)"\"		\
Index: gui/greeter/greeter.c
===================================================================
--- gui/greeter/greeter.c	(revision 5020)
+++ gui/greeter/greeter.c	(working copy)
@@ -1285,6 +1285,9 @@
 	  gdm_set_theme (gdm_gtk_theme);
   }
 
+  gtk_icon_theme_append_search_path (gtk_icon_theme_get_default (),
+                                     GDM_DATADIR G_DIR_SEPARATOR_S "icons");
+
   gdm_wm_screen_init (gdm_config_get_int (GDM_KEY_XINERAMA_SCREEN));
   
   r = verify_gdm_version ();
Index: configure.ac
===================================================================
--- configure.ac	(revision 5020)
+++ configure.ac	(working copy)
@@ -1331,6 +1331,7 @@
 utils/Makefile
 pixmaps/Makefile
 pixmaps/16x16/Makefile
+pixmaps/24x24/Makefile
 pixmaps/32x32/Makefile
 pixmaps/48x48/Makefile
 config/Makefile
