]> Pileus Git - ~andy/gtk/commitdiff
[startup notification] Set APPLICATION_ID
authorColin Walters <walters@verbum.org>
Sat, 13 Mar 2010 23:10:25 +0000 (18:10 -0500)
committerTristan Van Berkom <tristan.van.berkom@gmail.com>
Sun, 4 Apr 2010 00:59:14 +0000 (20:59 -0400)
http://lists.freedesktop.org/archives/xdg/2010-February/011321.html

In addition to ICON, BINARY_NAME etc., it's very helpful if launcher
programs include the name of the .desktop file they're launching.
This is APPLICATION_ID.

https://bugzilla.gnome.org/show_bug.cgi?id=611118

configure.in
gdk/x11/gdkapplaunchcontext-x11.c

index 69d9ac6bcc607ec6a5d4403f3671efb21a676e18..81a402f1147bcae719d112a0844fd703f116d08c 100644 (file)
@@ -1719,7 +1719,8 @@ fi
 CFLAGS="$saved_cflags"
 LDFLAGS="$saved_ldflags"
 
-GDK_PACKAGES="$PANGO_PACKAGES gio-2.0 $X_PACKAGES cairo-$cairo_backend"
+# Pull in gio-unix for GDesktopAppInfo usage, see at least gdkapplaunchcontext-x11.c
+GDK_PACKAGES="$PANGO_PACKAGES gio-unix-2.0 $X_PACKAGES cairo-$cairo_backend"
 GDK_DEP_LIBS="$GDK_EXTRA_LIBS `$PKG_CONFIG --libs $GDK_PIXBUF_PACKAGES $GDK_PACKAGES` $GDK_PIXBUF_EXTRA_LIBS"
 GDK_DEP_CFLAGS="`$PKG_CONFIG --cflags  gthread-2.0 $GDK_PIXBUF_PACKAGES $GDK_PACKAGES` $GDK_PIXBUF_EXTRA_CFLAGS $GDK_EXTRA_CFLAGS"
 #
index 3dace4aa5cd4a6b27e79367d37991083f1e93258..4a6f3c5add45cb6013bdc87e3f22e9d67b268f88 100644 (file)
@@ -26,6 +26,7 @@
 #include <unistd.h>
 
 #include <glib.h>
+#include <gio/gdesktopappinfo.h>
 
 #include "gdkx.h"
 #include "gdkapplaunchcontext.h"
@@ -282,6 +283,7 @@ _gdk_windowing_get_startup_notify_id (GAppLaunchContext *context,
   char *description;
   char *icon_name;
   const char *binary_name;
+  const char *application_id;
   char *screen_str;
   char *workspace_str;
   GIcon *icon;
@@ -353,6 +355,10 @@ _gdk_windowing_get_startup_notify_id (GAppLaunchContext *context,
   else
     workspace_str = NULL;
 
+  if (G_IS_DESKTOP_APP_INFO (info))
+    application_id = g_desktop_app_info_get_filename (G_DESKTOP_APP_INFO (info));
+  else
+    application_id = NULL;
 
   startup_id = g_strdup_printf ("%s-%lu-%s-%s-%d_TIME%lu",
                                g_get_prgname (),
@@ -372,6 +378,7 @@ _gdk_windowing_get_startup_notify_id (GAppLaunchContext *context,
                                             "DESKTOP", workspace_str,
                                             "DESCRIPTION", description,
                                             "WMCLASS", NULL, /* FIXME */
+                                            "APPLICATION_ID", application_id,
                                             NULL);
 
   g_free (description);