From a228f1e84d8a1ebe2a2cc10d19900af719ed44dc Mon Sep 17 00:00:00 2001 From: Ray Strode Date: Tue, 12 May 2020 10:12:26 -0400 Subject: [PATCH] notify-send: Give failing exit code if showing notification fails Right now notify-send will quietly return a successful exit status even if showing the notification fails. This commit changes the behavior to instead fail on failure. https://gitlab.gnome.org/GNOME/libnotify/-/merge_requests/13 --- tools/notify-send.c | 18 ++++++++++++++---- 1 file changed, 14 insertions(+), 4 deletions(-) diff --git a/tools/notify-send.c b/tools/notify-send.c index 9b8e438..15aa164 100644 --- a/tools/notify-send.c +++ b/tools/notify-send.c @@ -131,7 +131,7 @@ main (int argc, char *argv[]) static char **n_text = NULL; static char **hints = NULL; static gboolean do_version = FALSE; - static gboolean hint_error = FALSE; + static gboolean hint_error = FALSE, show_error = FALSE; static glong expire_timeout = NOTIFY_EXPIRES_DEFAULT; GOptionContext *opt_ctx; NotifyNotification *notify; @@ -263,12 +263,22 @@ main (int argc, char *argv[]) } } - if (!hint_error) - notify_notification_show (notify, NULL); + if (!hint_error) { + retval = notify_notification_show (notify, &error); + + if (!retval) { + fprintf (stderr, "%s\n", error->message); + g_error_free (error); + show_error = TRUE; + } + } g_object_unref (G_OBJECT (notify)); notify_uninit (); - exit (hint_error); + if (hint_error || show_error) + exit (1); + + return 0; }