From ae2371ee58d9c7393375251dd904a834345ef8f0 Mon Sep 17 00:00:00 2001 From: Michael Stapelberg Date: Wed, 2 Sep 2009 22:14:09 +0200 Subject: [PATCH] Implement long options (--version, --no-autostart, --help, --config) --- src/mainx.c | 17 +++++++++++++++-- 1 file changed, 15 insertions(+), 2 deletions(-) diff --git a/src/mainx.c b/src/mainx.c index dd9c9e55..69a6bbc2 100644 --- a/src/mainx.c +++ b/src/mainx.c @@ -19,6 +19,7 @@ #include #include #include +#include #include #include @@ -147,6 +148,14 @@ int main(int argc, char *argv[], char *env[]) { xcb_connection_t *conn; xcb_property_handlers_t prophs; xcb_intern_atom_cookie_t atom_cookies[NUM_ATOMS]; + static struct option long_options[] = { + {"no-autostart", no_argument, 0, 'a'}, + {"config", required_argument, 0, 'c'}, + {"version", no_argument, 0, 'v'}, + {"help", no_argument, 0, 'h'}, + {0, 0, 0, 0} + }; + int option_index = 0; setlocale(LC_ALL, ""); @@ -156,7 +165,7 @@ int main(int argc, char *argv[], char *env[]) { start_argv = argv; - while ((opt = getopt(argc, argv, "c:va")) != -1) { + while ((opt = getopt_long(argc, argv, "c:vah", long_options, &option_index)) != -1) { switch (opt) { case 'a': LOG("Autostart disabled using -a\n"); @@ -169,7 +178,11 @@ int main(int argc, char *argv[], char *env[]) { printf("i3 version " I3_VERSION " © 2009 Michael Stapelberg and contributors\n"); exit(EXIT_SUCCESS); default: - fprintf(stderr, "Usage: %s [-c configfile]\n", argv[0]); + fprintf(stderr, "Usage: %s [-c configfile] [-a] [-v]\n", argv[0]); + fprintf(stderr, "\n"); + fprintf(stderr, "-a: disable autostart\n"); + fprintf(stderr, "-v: display version and exit\n"); + fprintf(stderr, "-c : use the provided configfile instead\n"); exit(EXIT_FAILURE); } }