[startup notification] Set APPLICATION_ID

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
This commit is contained in:
Colin Walters 2010-03-13 18:10:25 -05:00 committed by Tristan Van Berkom
parent d240b649e7
commit a0508bc64c
2 changed files with 9 additions and 1 deletions

View File

@ -1719,7 +1719,8 @@ fi
CFLAGS="$saved_cflags" CFLAGS="$saved_cflags"
LDFLAGS="$saved_ldflags" 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_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" GDK_DEP_CFLAGS="`$PKG_CONFIG --cflags gthread-2.0 $GDK_PIXBUF_PACKAGES $GDK_PACKAGES` $GDK_PIXBUF_EXTRA_CFLAGS $GDK_EXTRA_CFLAGS"
# #

View File

@ -26,6 +26,7 @@
#include <unistd.h> #include <unistd.h>
#include <glib.h> #include <glib.h>
#include <gio/gdesktopappinfo.h>
#include "gdkx.h" #include "gdkx.h"
#include "gdkapplaunchcontext.h" #include "gdkapplaunchcontext.h"
@ -282,6 +283,7 @@ _gdk_windowing_get_startup_notify_id (GAppLaunchContext *context,
char *description; char *description;
char *icon_name; char *icon_name;
const char *binary_name; const char *binary_name;
const char *application_id;
char *screen_str; char *screen_str;
char *workspace_str; char *workspace_str;
GIcon *icon; GIcon *icon;
@ -353,6 +355,10 @@ _gdk_windowing_get_startup_notify_id (GAppLaunchContext *context,
else else
workspace_str = NULL; 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", startup_id = g_strdup_printf ("%s-%lu-%s-%s-%d_TIME%lu",
g_get_prgname (), g_get_prgname (),
@ -372,6 +378,7 @@ _gdk_windowing_get_startup_notify_id (GAppLaunchContext *context,
"DESKTOP", workspace_str, "DESKTOP", workspace_str,
"DESCRIPTION", description, "DESCRIPTION", description,
"WMCLASS", NULL, /* FIXME */ "WMCLASS", NULL, /* FIXME */
"APPLICATION_ID", application_id,
NULL); NULL);
g_free (description); g_free (description);