From 8483b2d92f9b86e6d00afc163b835a47e1bebdbe Mon Sep 17 00:00:00 2001 From: Ted Gould Date: Thu, 20 Aug 2009 10:25:07 -0500 Subject: Use a GDK app context. Not sure about the timestamp units though. --- src/launcher-menu-item.c | 14 +++++++++++++- 1 file changed, 13 insertions(+), 1 deletion(-) (limited to 'src/launcher-menu-item.c') diff --git a/src/launcher-menu-item.c b/src/launcher-menu-item.c index 4f05ae6..653592c 100644 --- a/src/launcher-menu-item.c +++ b/src/launcher-menu-item.c @@ -24,6 +24,7 @@ with this program. If not, see . #include "config.h" #endif +#include #include #include #include "launcher-menu-item.h" @@ -156,12 +157,23 @@ activate_cb (LauncherMenuItem * self, gpointer data) LauncherMenuItemPrivate * priv = LAUNCHER_MENU_ITEM_GET_PRIVATE(self); g_return_if_fail(priv->appinfo != NULL); + /* This should manage the X stuff for us */ + GdkAppLaunchContext * context = gdk_app_launch_context_new(); + + /* Using the current time as we don't have the event + time as that's not sent across the bus */ + GTimeVal time; + g_get_current_time(&time); + gdk_app_launch_context_set_timestamp(context, time.tv_usec); + GError * error = NULL; - if (!g_app_info_launch(priv->appinfo, NULL, NULL, &error)) { + if (!g_app_info_launch(priv->appinfo, NULL, G_APP_LAUNCH_CONTEXT(context), &error)) { g_warning("Application failed to launch '%s' because: %s", launcher_menu_item_get_name(self), error->message); g_error_free(error); } + g_object_unref(G_OBJECT(context)); + return; } -- cgit v1.2.3