[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:
		@ -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"
 | 
				
			||||||
#
 | 
					#
 | 
				
			||||||
 | 
				
			|||||||
@ -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);
 | 
				
			||||||
 | 
				
			|||||||
		Reference in New Issue
	
	Block a user