X-Git-Url: https://git.brokenzipper.com/gitweb?a=blobdiff_plain;f=src%2Fmain.cc;h=84e0d90e6616ce29e6e6830d23fb6e80db97d9e2;hb=ae093dba2fb97124bb4af3eaf4070b46f07dfd74;hp=0a0ad5baf84720e96bde1e0f6a5b7bfc8fcd7372;hpb=dfc5f034581f5a26cba5c4811500438f89f0634a;p=chaz%2Fopenbox diff --git a/src/main.cc b/src/main.cc index 0a0ad5ba..84e0d90e 100644 --- a/src/main.cc +++ b/src/main.cc @@ -39,10 +39,13 @@ # include #endif // HAVE_STDIO_H -#ifdef STDC_HEADERS +#ifdef HAVE_STDLIB_H # include +#endif // HAVE_STDLIB_H + +#ifdef HAVE_STRING_H # include -#endif // STDC_HEADERS +#endif // HAVE_STRING_H #ifdef HAVE_UNISTD_H #include @@ -65,6 +68,7 @@ static void showHelp(int exitval) { "\t\t\t 1997 - 2000 Brad Hughes\n\n" " -display \t\tuse display connection.\n" " -rc \t\t\tuse alternate resource file.\n" + " -menu \t\t\tuse alternate menu file.\n" " -version\t\t\tdisplay version and exit.\n" " -help\t\t\t\tdisplay this help text and exit.\n\n"), __openbox_version); @@ -122,6 +126,7 @@ static void showHelp(int exitval) { int main(int argc, char **argv) { char *session_display = (char *) 0; char *rc_file = (char *) 0; + char *menu_file = (char *) 0; NLSInit("openbox.cat"); @@ -131,13 +136,25 @@ int main(int argc, char **argv) { if ((++i) >= argc) { fprintf(stderr, - i18n->getMessage(mainSet, mainRCRequiresArg, - "error: '-rc' requires and argument\n")); + i18n->getMessage(mainSet, mainRCRequiresArg, + "error: '-rc' requires and argument\n")); ::exit(1); } rc_file = argv[i]; + } else if (! strcmp(argv[i], "-menu")) { + // look for alternative menu file to use + + if ((++i) >= argc) { + fprintf(stderr, + i18n->getMessage(mainSet, mainMENURequiresArg, + "error: '-menu' requires and argument\n")); + + ::exit(1); + } + + menu_file = argv[i]; } else if (! strcmp(argv[i], "-display")) { // check for -display option... to run on a display other than the one // set by the environment variable DISPLAY @@ -179,7 +196,7 @@ int main(int argc, char **argv) { _chdir2(getenv("X11ROOT")); #endif // __EMX__ - Openbox openbox(argc, argv, session_display, rc_file); + Openbox openbox(argc, argv, session_display, rc_file, menu_file); openbox.eventLoop(); return(0);