summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorRay Strode <rstrode@redhat.com>2020-05-12 10:12:26 -0400
committerRay Strode <rstrode@redhat.com>2020-05-12 10:18:43 -0400
commit771bbb5b850e0abe404f58feab38215aee2d8a41 (patch)
treead1f0c20bcc09262d02aa11925434b4ca4337a9d
parent98a4bf483a69c6436311bcb9834d9d93235c96b7 (diff)
downloadlibnotify-wip/notify-error-code.tar.gz
notify-send: Give failing exit code if showing notification failswip/notify-error-code
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.c15
1 files changed, 11 insertions, 4 deletions
diff --git a/tools/notify-send.c b/tools/notify-send.c
index 67e0b03..589fe90 100644
--- a/tools/notify-send.c
+++ b/tools/notify-send.c
@@ -132,7 +132,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;
@@ -274,12 +274,19 @@ 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);
+ exit (hint_error || show_error);
}