From 1903a4a635302f2c0a2b299e33d1c835799ae4bf Mon Sep 17 00:00:00 2001 From: Victor Kareh Date: Fri, 20 Mar 2026 20:55:49 -0400 Subject: Add version flag to daemon and properties dialog The mate-notification-properties binary had no command-line option parsing, making it hard to know the installed version. This adds the version flag to both mate-notification-properties and mate-notification-daemon. Fixes #228 --- src/capplet/mate-notification-properties.c | 28 +++++++++++++++++++++++++++- src/daemon/mnd-daemon.c | 13 +++++++++++++ 2 files changed, 40 insertions(+), 1 deletion(-) (limited to 'src') diff --git a/src/capplet/mate-notification-properties.c b/src/capplet/mate-notification-properties.c index f81dd2c..f6266c5 100644 --- a/src/capplet/mate-notification-properties.c +++ b/src/capplet/mate-notification-properties.c @@ -562,6 +562,14 @@ static void notification_properties_dialog_finalize(NotificationAppletDialog* di int main(int argc, char** argv) { NotificationAppletDialog *dialog; + static gboolean show_version = FALSE; + GOptionContext *option_context; + GError *error = NULL; + + static GOptionEntry option_entries[] = { + { "version", 'v', 0, G_OPTION_ARG_NONE, &show_version, N_("Version of this application"), NULL }, + { NULL } + }; #ifdef ENABLE_NLS bindtextdomain(GETTEXT_PACKAGE, NOTIFICATION_LOCALEDIR); @@ -569,7 +577,25 @@ int main(int argc, char** argv) textdomain(GETTEXT_PACKAGE); #endif /* ENABLE_NLS */ - gtk_init(&argc, &argv); + option_context = g_option_context_new (NULL); + g_option_context_add_main_entries (option_context, option_entries, GETTEXT_PACKAGE); + g_option_context_add_group (option_context, gtk_get_option_group (TRUE)); + + if (!g_option_context_parse (option_context, &argc, &argv, &error)) + { + g_warning ("%s", error->message); + g_error_free (error); + g_option_context_free (option_context); + return 1; + } + + g_option_context_free (option_context); + + if (show_version) + { + g_print ("%s %s\n", PACKAGE, VERSION); + return 0; + } notify_init("mate-notification-properties"); diff --git a/src/daemon/mnd-daemon.c b/src/daemon/mnd-daemon.c index 59921c7..cfaedfd 100644 --- a/src/daemon/mnd-daemon.c +++ b/src/daemon/mnd-daemon.c @@ -32,6 +32,7 @@ static gboolean debug = FALSE; static gboolean replace = FALSE; static gboolean idle_exit = FALSE; +static gboolean show_version = FALSE; static GOptionEntry entries[] = { @@ -53,6 +54,12 @@ static GOptionEntry entries[] = "Auto-exit when idle, useful if run through D-Bus activation", NULL }, + { + "version", 'v', G_OPTION_FLAG_NONE, + G_OPTION_ARG_NONE, &show_version, + "Version of this application", + NULL + }, { NULL, 0, 0, G_OPTION_ARG_NONE, NULL, NULL, NULL } @@ -102,6 +109,12 @@ int main (int argc, char *argv[]) if (!parse_arguments (&argc, &argv)) return EXIT_FAILURE; + if (show_version) + { + g_print ("%s %s\n", PACKAGE, VERSION); + return EXIT_SUCCESS; + } + daemon = notify_daemon_new (replace, idle_exit); gtk_main(); -- cgit v1.2.1