From 333f7c5d32aad09b859b39268f43a0fbbd6ec8cf Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Corentin=20No=C3=ABl?= Date: Sun, 3 Jun 2018 16:07:29 +0100 Subject: Send the application ID when possible --- libnotify/notification.c | 18 ++++++++++++++++++ 1 file changed, 18 insertions(+) diff --git a/libnotify/notification.c b/libnotify/notification.c index c4f9be5..1c442db 100644 --- a/libnotify/notification.c +++ b/libnotify/notification.c @@ -634,6 +634,9 @@ notify_notification_show (NotifyNotification *notification, GHashTableIter iter; gpointer key, data; GVariant *result; +#ifdef GLIB_VERSION_2_32 + GApplication *application; +#endif g_return_val_if_fail (notification != NULL, FALSE); g_return_val_if_fail (NOTIFY_IS_NOTIFICATION (notification), FALSE); @@ -668,6 +671,21 @@ notify_notification_show (NotifyNotification *notification, g_variant_builder_add (&hints_builder, "{sv}", key, data); } +#ifdef GLIB_VERSION_2_32 + application = g_application_get_default (); + + if (application != NULL) { + GVariant *desktop_entry = g_hash_table_lookup (priv->hints, "desktop-entry"); + + if (desktop_entry == NULL) { + const char *application_id = g_application_get_application_id (application); + + g_variant_builder_add (&hints_builder, "{sv}", "desktop-entry", + g_variant_new_string (application_id)); + } + } +#endif + /* TODO: make this nonblocking */ result = g_dbus_proxy_call_sync (proxy, "Notify", -- cgit v1.2.1