diff options
| -rw-r--r-- | src/capplet/mate-notification-properties.c | 28 | ||||
| -rw-r--r-- | src/daemon/mnd-daemon.c | 13 |
2 files changed, 40 insertions, 1 deletions
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[] = { @@ -54,6 +55,12 @@ static GOptionEntry entries[] = 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(); |
