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"
#
#include <unistd.h>
#include <glib.h>
+#include <gio/gdesktopappinfo.h>
#include "gdkx.h"
#include "gdkapplaunchcontext.h"
char *description;
char *icon_name;
const char *binary_name;
+ const char *application_id;
char *screen_str;
char *workspace_str;
GIcon *icon;
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 (),
"DESKTOP", workspace_str,
"DESCRIPTION", description,
"WMCLASS", NULL, /* FIXME */
+ "APPLICATION_ID", application_id,
NULL);
g_free (description);