|
|
@ -16,12 +16,13 @@
|
|
|
|
|
|
|
|
|
|
|
|
static void usage(const char *name, int ret) {
|
|
|
|
static void usage(const char *name, int ret) {
|
|
|
|
fprintf(stderr,
|
|
|
|
fprintf(stderr,
|
|
|
|
"usage: %s [-C <FILE>]\n"
|
|
|
|
"usage: %s [-C <FILE>] [-E <COMMAND>]\n"
|
|
|
|
"\n"
|
|
|
|
"\n"
|
|
|
|
" -C <FILE> Path to the configuration file\n"
|
|
|
|
" -C <FILE> Path to the configuration file\n"
|
|
|
|
" (default: rootston.ini).\n"
|
|
|
|
" (default: rootston.ini).\n"
|
|
|
|
" See `rootston.ini.example` for config\n"
|
|
|
|
" See `rootston.ini.example` for config\n"
|
|
|
|
" file documentation.\n", name);
|
|
|
|
" file documentation.\n"
|
|
|
|
|
|
|
|
" -E <COMMAND> Command that will be ran at startup.\n" , name);
|
|
|
|
|
|
|
|
|
|
|
|
exit(ret);
|
|
|
|
exit(ret);
|
|
|
|
}
|
|
|
|
}
|
|
|
@ -273,11 +274,14 @@ struct roots_config *parse_args(int argc, char *argv[]) {
|
|
|
|
wl_list_init(&config->bindings);
|
|
|
|
wl_list_init(&config->bindings);
|
|
|
|
|
|
|
|
|
|
|
|
int c;
|
|
|
|
int c;
|
|
|
|
while ((c = getopt(argc, argv, "C:h")) != -1) {
|
|
|
|
while ((c = getopt(argc, argv, "C:E:h")) != -1) {
|
|
|
|
switch (c) {
|
|
|
|
switch (c) {
|
|
|
|
case 'C':
|
|
|
|
case 'C':
|
|
|
|
config->config_path = strdup(optarg);
|
|
|
|
config->config_path = strdup(optarg);
|
|
|
|
break;
|
|
|
|
break;
|
|
|
|
|
|
|
|
case 'E':
|
|
|
|
|
|
|
|
config->startup_cmd = strdup(optarg);
|
|
|
|
|
|
|
|
break;
|
|
|
|
case 'h':
|
|
|
|
case 'h':
|
|
|
|
case '?':
|
|
|
|
case '?':
|
|
|
|
usage(argv[0], c != 'h');
|
|
|
|
usage(argv[0], c != 'h');
|
|
|
|