summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorRay Strode <rstrode@redhat.com>2020-05-12 10:12:26 -0400
committerRay Strode <rstrode@redhat.com>2021-05-14 13:55:53 -0400
commita228f1e84d8a1ebe2a2cc10d19900af719ed44dc (patch)
tree6ffd1cc72b3b204a0429d5db79c69d6f7210ecc0
parent05112e2a5bf3787de8ed875426f686da3c5e2178 (diff)
downloadlibnotify-a228f1e84d8a1ebe2a2cc10d19900af719ed44dc.tar.gz
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
-rw-r--r--tools/notify-send.c18
1 files 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;
}