---
 libslab/application-tile.c |    3 ++-
 libslab/libslab-utils.c    |   13 +++++++++++--
 libslab/slab-gnome-util.c  |   13 +++++++++++--
 libslab/slab-gnome-util.h  |    1 +
 libslab/system-tile.c      |    3 ++-
 5 files changed, 27 insertions(+), 6 deletions(-)

Index: libslab-2.27.91/libslab/slab-gnome-util.c
===================================================================
--- libslab-2.27.91.orig/libslab/slab-gnome-util.c
+++ libslab-2.27.91/libslab/slab-gnome-util.c
@@ -237,14 +237,17 @@ get_package_name_from_desktop_item (Gnom
 }
 
 gboolean
-open_desktop_item_exec (GnomeDesktopItem * desktop_item)
+open_desktop_item_exec_on_screen (GnomeDesktopItem * desktop_item,
+				  GdkScreen * screen)
 {
 	GError *error = NULL;
 
 	if (!desktop_item)
 		return FALSE;
 
-	gnome_desktop_item_launch (desktop_item, NULL, GNOME_DESKTOP_ITEM_LAUNCH_ONLY_ONE, &error);
+	gnome_desktop_item_launch_on_screen (desktop_item, NULL,
+					     GNOME_DESKTOP_ITEM_LAUNCH_ONLY_ONE,
+					     screen, -1, &error);
 
 	if (error)
 	{
@@ -259,6 +262,12 @@ open_desktop_item_exec (GnomeDesktopItem
 }
 
 gboolean
+open_desktop_item_exec (GnomeDesktopItem * desktop_item)
+{
+	return open_desktop_item_exec_on_screen (desktop_item, NULL);
+}
+
+gboolean
 open_desktop_item_help (GnomeDesktopItem * desktop_item)
 {
 	const gchar *doc_path;
Index: libslab-2.27.91/libslab/slab-gnome-util.h
===================================================================
--- libslab-2.27.91.orig/libslab/slab-gnome-util.h
+++ libslab-2.27.91/libslab/slab-gnome-util.h
@@ -58,6 +58,7 @@ GnomeDesktopItem *load_desktop_item_from
 gchar *get_package_name_from_desktop_item (GnomeDesktopItem * desktop_item);
 
 gboolean open_desktop_item_exec (GnomeDesktopItem * desktop_item);
+gboolean open_desktop_item_exec_on_screen (GnomeDesktopItem * desktop_item, GdkScreen *screen);
 gboolean open_desktop_item_help (GnomeDesktopItem * desktop_item);
 
 gboolean desktop_item_is_in_main_menu (GnomeDesktopItem * desktop_item);
Index: libslab-2.27.91/libslab/system-tile.c
===================================================================
--- libslab-2.27.91.orig/libslab/system-tile.c
+++ libslab-2.27.91/libslab/system-tile.c
@@ -245,7 +245,8 @@ create_header (const gchar *name)
 static void
 open_trigger (Tile *this, TileEvent *event, TileAction *action)
 {
-	open_desktop_item_exec (PRIVATE (this)->desktop_item);
+	open_desktop_item_exec_on_screen (PRIVATE (this)->desktop_item,
+					  gtk_widget_get_screen (GTK_WIDGET (this)));
 }
 
 static void
Index: libslab-2.27.91/libslab/libslab-utils.c
===================================================================
--- libslab-2.27.91.orig/libslab/libslab-utils.c
+++ libslab-2.27.91/libslab/libslab-utils.c
@@ -146,14 +146,17 @@ libslab_gnome_desktop_item_new_from_unkn
 }
 
 gboolean
-libslab_gnome_desktop_item_launch_default (GnomeDesktopItem *item)
+libslab_gnome_desktop_item_launch_default_on_screen (GnomeDesktopItem *item,
+						     GdkScreen *screen)
 {
 	GError *error = NULL;
 
 	if (! item)
 		return FALSE;
 
-	gnome_desktop_item_launch (item, NULL, GNOME_DESKTOP_ITEM_LAUNCH_ONLY_ONE, & error);
+	gnome_desktop_item_launch_on_screen (item, NULL,
+					     GNOME_DESKTOP_ITEM_LAUNCH_ONLY_ONE,
+					     screen, -1, & error);
 
 	if (error) {
 		g_warning ("error launching %s [%s]\n",
@@ -167,6 +170,12 @@ libslab_gnome_desktop_item_launch_defaul
 	return TRUE;
 }
 
+gboolean
+libslab_gnome_desktop_item_launch_default (GnomeDesktopItem *item)
+{
+	return libslab_gnome_desktop_item_launch_default_on_screen (item, NULL);
+}
+
 gchar *
 libslab_gnome_desktop_item_get_docpath (GnomeDesktopItem *item)
 {
Index: libslab-2.27.91/libslab/application-tile.c
===================================================================
--- libslab-2.27.91.orig/libslab/application-tile.c
+++ libslab-2.27.91/libslab/application-tile.c
@@ -501,7 +501,8 @@ create_subheader (const gchar *desc)
 static void
 start_trigger (Tile *tile, TileEvent *event, TileAction *action)
 {
-	open_desktop_item_exec (APPLICATION_TILE_GET_PRIVATE (tile)->desktop_item);
+	open_desktop_item_exec_on_screen (APPLICATION_TILE_GET_PRIVATE (tile)->desktop_item,
+					  gtk_widget_get_screen (GTK_WIDGET (tile)));
 }
 
 static void
