static void
on_notify_ready (GDBusProxy *proxy, GAsyncResult *res, gpointer user_data)
{
- GError *error = NULL;
- guint32 notification_id;
- GVariant *response = g_dbus_proxy_call_finish (proxy, res, &error);
- if (error)
- {
- g_info ("Failed to send notification: %s", error->message);
- g_error_free (error);
- return;
- }
-
- g_variant_get (response, "(u)", ¬ification_id);
- g_info ("Notification sent. ID=%u", notification_id);
-
- g_variant_unref (response);
+ GError *error = NULL;
+ guint32 notification_id;
+ GVariant *response = g_dbus_proxy_call_finish (proxy, res, &error);
+ if (error)
+ {
+ g_info ("Failed to send notification: %s", error->message);
+ g_error_free (error);
+ return;
+ }
+
+ g_variant_get (response, "(u)", ¬ification_id);
+ g_info ("Notification sent. ID=%u", notification_id);
+
+ g_variant_unref (response);
}
void
notification_backend_show (const char *title, const char *text)
{
- GVariantBuilder params;
+ GVariantBuilder params;
- g_assert (fdo_notifications);
+ g_assert (fdo_notifications);
if (strip_markup)
- text = g_markup_escape_text (text, -1);
-
- g_variant_builder_init (¶ms, G_VARIANT_TYPE ("(susssasa{sv}i)"));
- g_variant_builder_add (¶ms, "s", "hexchat"); /* App name */
- g_variant_builder_add (¶ms, "u", 0); /* ID, 0 means don't replace */
- g_variant_builder_add (¶ms, "s", ""); /* App icon (set from hints instead) */
- g_variant_builder_add (¶ms, "s", title);
- g_variant_builder_add (¶ms, "s", text);
- g_variant_builder_add (¶ms, "as", NULL); /* Actions */
-
- /* Hints */
- g_variant_builder_open (¶ms, G_VARIANT_TYPE ("a{sv}"));
- g_variant_builder_open (¶ms, G_VARIANT_TYPE ("{sv}"));
- g_variant_builder_add (¶ms, "s", "desktop-entry");
- g_variant_builder_add (¶ms, "v", g_variant_new_string ("io.github.Hexchat"));
- g_variant_builder_close (¶ms);
- g_variant_builder_close (¶ms);
-
- g_variant_builder_add (¶ms, "i", -1); /* Expiration */
-
- g_dbus_proxy_call (fdo_notifications,
- "Notify",
- g_variant_builder_end (¶ms),
- G_DBUS_CALL_FLAGS_NONE,
- 1000,
- NULL,
+ text = g_markup_escape_text (text, -1);
+
+ g_variant_builder_init (¶ms, G_VARIANT_TYPE ("(susssasa{sv}i)"));
+ g_variant_builder_add (¶ms, "s", "hexchat"); /* App name */
+ g_variant_builder_add (¶ms, "u", 0); /* ID, 0 means don't replace */
+ g_variant_builder_add (¶ms, "s", ""); /* App icon (set from hints instead) */
+ g_variant_builder_add (¶ms, "s", title);
+ g_variant_builder_add (¶ms, "s", text);
+ g_variant_builder_add (¶ms, "as", NULL); /* Actions */
+
+ /* Hints */
+ g_variant_builder_open (¶ms, G_VARIANT_TYPE ("a{sv}"));
+ g_variant_builder_open (¶ms, G_VARIANT_TYPE ("{sv}"));
+ g_variant_builder_add (¶ms, "s", "desktop-entry");
+ g_variant_builder_add (¶ms, "v", g_variant_new_string ("io.github.Hexchat"));
+ g_variant_builder_close (¶ms);
+ g_variant_builder_close (¶ms);
+
+ g_variant_builder_add (¶ms, "i", -1); /* Expiration */
+
+ g_dbus_proxy_call (fdo_notifications,
+ "Notify",
+ g_variant_builder_end (¶ms),
+ G_DBUS_CALL_FLAGS_NONE,
+ 1000,
+ NULL,
(GAsyncReadyCallback)on_notify_ready,
- NULL);
+ NULL);
if (strip_markup)
g_free ((char*)text);
{
GError *err = NULL;
GVariant *response;
- char **capabilities;
- guint i;
+ char **capabilities;
+ guint i;
fdo_notifications = g_dbus_proxy_new_for_bus_sync (G_BUS_TYPE_SESSION,
G_DBUS_PROXY_FLAGS_NONE,
&err);
if (err)
- {
- g_clear_object (&fdo_notifications);
+ {
+ g_clear_object (&fdo_notifications);
goto return_error;
- }
+ }
- g_variant_get (response, "(^a&s)", &capabilities);
- for (i = 0; capabilities[i]; i++)
- {
- if (strcmp (capabilities[i], "body-markup") == 0)
- strip_markup = TRUE;
- }
+ g_variant_get (response, "(^a&s)", &capabilities);
+ for (i = 0; capabilities[i]; i++)
+ {
+ if (strcmp (capabilities[i], "body-markup") == 0)
+ strip_markup = TRUE;
+ }
- g_free (capabilities);
- g_variant_unref (response);
+ g_free (capabilities);
+ g_variant_unref (response);
return 1;
return_error: