diff --git a/sway.1.txt b/sway.1.txt index c0715841..c80bd917 100644 --- a/sway.1.txt +++ b/sway.1.txt @@ -17,6 +17,9 @@ Synopsis Options ------- +*-h, --help*:: + Show help message and quit. + *-c, \--config* :: Specifies a config file. diff --git a/sway/main.c b/sway/main.c index dd609214..1261a7ce 100644 --- a/sway/main.c +++ b/sway/main.c @@ -55,25 +55,41 @@ int main(int argc, char **argv) { static int verbose = 0, debug = 0, validate = 0; static struct option long_options[] = { + {"help", no_argument, NULL, 'h'}, {"config", required_argument, NULL, 'c'}, - {"validate", no_argument, &validate, 1}, - {"debug", no_argument, &debug, 1}, + {"validate", no_argument, NULL, 'C'}, + {"debug", no_argument, NULL, 'd'}, {"version", no_argument, NULL, 'v'}, - {"verbose", no_argument, &verbose, 1}, + {"verbose", no_argument, NULL, 'V'}, {"get-socketpath", no_argument, NULL, 'p'}, {0, 0, 0, 0} }; char *config_path = NULL; + + const char* usage = + "Usage: sway [options] [command]\n" + "\n" + " -h, --help Show help message and quit.\n" + " -c, --config Specify a config file.\n" + " -C, --validate Check the validity of the config file, then exit.\n" + " -d, --debug Enables full logging, including debug information.\n" + " -v, --version Show the version number and quit.\n" + " -V, --verbose Enables more verbose logging.\n" + " --get-socketpath Gets the IPC socket path and prints it, then exits.\n" + "\n"; + int c; while (1) { int option_index = 0; - c = getopt_long(argc, argv, "CdvVpc:", long_options, &option_index); + c = getopt_long(argc, argv, "hCdvVpc:", long_options, &option_index); if (c == -1) { break; } switch (c) { - case 0: // Flag + case 'h': // help + fprintf(stdout, "%s", usage); + exit(EXIT_SUCCESS); break; case 'c': // config config_path = strdup(optarg); @@ -90,7 +106,7 @@ int main(int argc, char **argv) { #else fprintf(stdout, "version not detected\n"); #endif - exit(0); + exit(EXIT_SUCCESS); break; case 'V': // verbose verbose = 1; @@ -98,12 +114,15 @@ int main(int argc, char **argv) { case 'p': ; // --get-socketpath if (getenv("SWAYSOCK")) { fprintf(stdout, "%s\n", getenv("SWAYSOCK")); - exit(0); + exit(EXIT_SUCCESS); } else { fprintf(stderr, "sway socket not detected.\n"); - exit(1); + exit(EXIT_FAILURE); } break; + default: + fprintf(stderr, "%s", usage); + exit(EXIT_FAILURE); } } diff --git a/swaybg/main.c b/swaybg/main.c index ec64ddb7..69d718c5 100644 --- a/swaybg/main.c +++ b/swaybg/main.c @@ -29,7 +29,7 @@ void sway_terminate(void) { } list_free(surfaces); registry_teardown(registry); - exit(1); + exit(EXIT_FAILURE); } int main(int argc, const char **argv) { diff --git a/swaygrab.1.txt b/swaygrab.1.txt index 009fbe7e..cd4b8bd2 100644 --- a/swaygrab.1.txt +++ b/swaygrab.1.txt @@ -20,6 +20,9 @@ ImageMagick convert for processing. Options ------- +*-h, --help*:: + Show help message and quit. + *-c, \--capture*:: Captures multiple frames as video and passes them into ffmpeg. Continues until you send SIGTERM (ctrl+c) to swaygrab. diff --git a/swaygrab/main.c b/swaygrab/main.c index 63cf223f..681a6da4 100644 --- a/swaygrab/main.c +++ b/swaygrab/main.c @@ -10,7 +10,7 @@ #include "ipc-client.h" void sway_terminate(void) { - exit(1); + exit(EXIT_FAILURE); } int numlen(int n) { @@ -127,24 +127,33 @@ int main(int argc, char **argv) { init_log(L_INFO); static struct option long_options[] = { - {"capture", no_argument, &capture, 'c'}, + {"help", no_argument, NULL, 'h'}, + {"capture", no_argument, NULL, 'c'}, {"version", no_argument, NULL, 'v'}, {"socket", required_argument, NULL, 's'}, - {"raw", no_argument, &raw, 'r'}, + {"raw", no_argument, NULL, 'r'}, {"rate", required_argument, NULL, 'R'}, {0, 0, 0, 0} }; + const char *usage = + "Usage: swaygrab [options] [file]\n" + "\n" + " -h, --help Show help message and quit.\n" + " -c, --capture Capture video.\n" + " -v, --version Show the version number and quit.\n" + " -s, --socket Use the specified socket.\n" + " -R, --rate Specify framerate (default: 30)\n" + " -r, --raw Write raw rgba data to stdout.\n"; + int c; while (1) { int option_index = 0; - c = getopt_long(argc, argv, "cvs:r", long_options, &option_index); + c = getopt_long(argc, argv, "hcvs:r", long_options, &option_index); if (c == -1) { break; } switch (c) { - case 0: // Flag - break; case 's': // Socket socket_path = strdup(optarg); break; @@ -163,8 +172,11 @@ int main(int argc, char **argv) { #else fprintf(stdout, "version not detected\n"); #endif - exit(0); + exit(EXIT_SUCCESS); break; + default: + fprintf(stderr, "%s", usage); + exit(EXIT_FAILURE); } } diff --git a/swaymsg.1.txt b/swaymsg.1.txt index d832dd17..984780fa 100644 --- a/swaymsg.1.txt +++ b/swaymsg.1.txt @@ -17,6 +17,9 @@ Synopsis Options ------- +*-h, --help*:: + Show help message and quit. + *-q, \--quiet*:: Sends the IPC message but does not print the response from sway. diff --git a/swaymsg/main.c b/swaymsg/main.c index 3a2e1ee7..f8c9e14c 100644 --- a/swaymsg/main.c +++ b/swaymsg/main.c @@ -12,7 +12,7 @@ #include "log.h" void sway_terminate(void) { - exit(1); + exit(EXIT_FAILURE); } int main(int argc, char **argv) { @@ -23,22 +23,33 @@ int main(int argc, char **argv) { init_log(L_INFO); static struct option long_options[] = { - {"quiet", no_argument, &quiet, 'q'}, + {"help", no_argument, NULL, 'h'}, + {"quiet", no_argument, NULL, 'q'}, {"version", no_argument, NULL, 'v'}, {"socket", required_argument, NULL, 's'}, {"type", required_argument, NULL, 't'}, {0, 0, 0, 0} }; + const char *usage = + "Usage: swaymsg [options] [message]\n" + "\n" + " -h, --help Show help message and quit.\n" + " -q, --quiet Be quiet.\n" + " -v, --version Show the version number and quit.\n" + " -s, --socket Use the specified socket.\n" + " -t, --type Specify the message type.\n"; + int c; while (1) { int option_index = 0; - c = getopt_long(argc, argv, "qvs:t:", long_options, &option_index); + c = getopt_long(argc, argv, "hqvs:t:", long_options, &option_index); if (c == -1) { break; } switch (c) { - case 0: // Flag + case 'q': // Quiet + quiet = 1; break; case 's': // Socket socket_path = strdup(optarg); @@ -52,8 +63,11 @@ int main(int argc, char **argv) { #else fprintf(stdout, "version not detected\n"); #endif - exit(0); + exit(EXIT_SUCCESS); break; + default: + fprintf(stderr, "%s", usage); + exit(EXIT_FAILURE); } }