f6a2de6
Index: gnome-panel/libpanel-util/panel-launch.c
f6a2de6
===================================================================
f6a2de6
--- gnome-panel/libpanel-util/panel-launch.c	(revision 11419)
f6a2de6
+++ gnome-panel/libpanel-util/panel-launch.c	(working copy)
5b62518
@@ -29,6 +29,8 @@
5b62518
 #include <gdk/gdk.h>
5b62518
 #include <gtk/gtk.h>
5b62518
 
5b62518
+#include <libgnome/gnome-desktop-item.h>
5b62518
+
5b62518
 #include "panel-error.h"
5b62518
 #include "panel-glib.h"
5b62518
 
5b62518
@@ -201,6 +203,23 @@
f6a2de6
 }
de01db4
 
f6a2de6
 gboolean
f6a2de6
+panel_has_desktop_file (const char  *desktop_file)
f6a2de6
+{
f6a2de6
+	GnomeDesktopItem *ditem;
f6a2de6
+
f6a2de6
+	if (g_path_is_absolute (desktop_file))
f6a2de6
+		ditem = gnome_desktop_item_new_from_file (desktop_file, 0, NULL);
f6a2de6
+	else
f6a2de6
+		ditem = gnome_desktop_item_new_from_basename (desktop_file, 0, NULL);
f6a2de6
+	if (ditem != NULL) {
f6a2de6
+		gnome_desktop_item_unref (ditem);
f6a2de6
+		return TRUE;
de01db4
+	}
f6a2de6
+
f6a2de6
+	return FALSE;	
f6a2de6
+}
f6a2de6
+
f6a2de6
+gboolean
f6a2de6
 panel_launch_desktop_file_with_fallback (const char  *desktop_file,
f6a2de6
 					 const char  *fallback_exec,
f6a2de6
 					 GdkScreen   *screen,
f6a2de6
Index: gnome-panel/libpanel-util/panel-launch.h
f6a2de6
===================================================================
f6a2de6
--- gnome-panel/libpanel-util/panel-launch.h	(revision 11419)
f6a2de6
+++ gnome-panel/libpanel-util/panel-launch.h	(working copy)
f6a2de6
@@ -47,6 +47,8 @@
f6a2de6
 				GdkScreen  *screen,
f6a2de6
 				GError    **error);
f6a2de6
 
f6a2de6
+gboolean panel_has_desktop_file (const char *desktop_file);
f6a2de6
+
f6a2de6
 gboolean panel_launch_desktop_file (const char  *desktop_file,
f6a2de6
 				    GdkScreen   *screen,
f6a2de6
 				    GError     **error);
f6a2de6
Index: gnome-panel/panel-menu-items.c
f6a2de6
===================================================================
f6a2de6
--- gnome-panel/panel-menu-items.c	(revision 11420)
f6a2de6
+++ gnome-panel/panel-menu-items.c	(working copy)
f6a2de6
@@ -1004,10 +1004,21 @@
de01db4
 
de01db4
 	add_menu_separator (places_menu);
de01db4
 
de01db4
-	panel_menu_items_append_from_desktop (places_menu,
de01db4
-					      "gnome-search-tool.desktop",
de01db4
-					      NULL);
de01db4
+        if (panel_has_desktop_file ("gnome-beagle-search.desktop")) {
de01db4
+              panel_menu_items_append_from_desktop (places_menu,
de01db4
+                                                    "gnome-beagle-search.desktop",
de01db4
+                                                    NULL);
de01db4
+	} else if (panel_has_desktop_file ("fedora-tracker-search-tool.desktop")) {
de01db4
+              panel_menu_items_append_from_desktop (places_menu,
de01db4
+                                                    "fedora-tracker-search-tool.desktop",
de01db4
+                                                    NULL);
de01db4
+        } else {
de01db4
+              panel_menu_items_append_from_desktop (places_menu,
de01db4
+                                                    "gnome-search-tool.desktop",
de01db4
+                                                    NULL);
de01db4
+        }
de01db4
 
f6a2de6
+
de01db4
 	panel_recent_append_documents_menu (places_menu,
de01db4
 					    place_item->priv->recent_manager);
de01db4
 
f6a2de6
Index: gnome-panel/panel-action-button.c
f6a2de6
===================================================================
f6a2de6
--- gnome-panel/panel-action-button.c	(revision 11419)
f6a2de6
+++ gnome-panel/panel-action-button.c	(working copy)
67abc00
@@ -220,9 +220,19 @@
f6a2de6
 	GdkScreen *screen;
f6a2de6
 
f6a2de6
 	screen = gtk_widget_get_screen (widget);
f6a2de6
-	panel_launch_desktop_file_with_fallback ("gnome-search-tool.desktop",
f6a2de6
-						 "gnome-search-tool",
f6a2de6
-						 screen, NULL);
f6a2de6
+	if (panel_has_desktop_file ("gnome-beagle-search.desktop")) {
f6a2de6
+		panel_launch_desktop_file ("gnome-beagle-search.desktop",
f6a2de6
+					   screen,
f6a2de6
+					   NULL);
f6a2de6
+	} else if (panel_has_desktop_file ("fedora-tracker-search-tool.desktop")) {
f6a2de6
+		panel_launch_desktop_file ("fedora-tracker-search-tool.desktop",
f6a2de6
+					   screen,
f6a2de6
+					   NULL);
f6a2de6
+	} else {
f6a2de6
+		panel_launch_desktop_file ("gnome-search-tool.desktop",
f6a2de6
+					   screen,
f6a2de6
+					   NULL);
de01db4
+	}
f6a2de6
 }
f6a2de6
 
f6a2de6
 /* Force Quit