summaryrefslogtreecommitdiff
path: root/src/main.cc
diff options
context:
space:
mode:
Diffstat (limited to 'src/main.cc')
-rw-r--r--src/main.cc16
1 files changed, 15 insertions, 1 deletions
diff --git a/src/main.cc b/src/main.cc
index 370e6ecd..e213c808 100644
--- a/src/main.cc
+++ b/src/main.cc
@@ -65,6 +65,7 @@ static void showHelp(int exitval) {
"\t\t\t 1997 - 2000, 2002 Brad Hughes\n\n"
" -display <string>\t\tuse display connection.\n"
" -rc <string>\t\t\tuse alternate resource file.\n"
+ " -menu <string>\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);
@@ -101,6 +102,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;
i18n.openCatalog("blackbox.cat");
@@ -117,6 +119,18 @@ int main(int argc, char **argv) {
}
rc_file = argv[i];
+ } else if (! strcmp(argv[i], "-menu")) {
+ // look for alternative menu file to use
+
+ if ((++i) >= argc) {
+ fprintf(stderr,
+ i18n(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
@@ -156,7 +170,7 @@ int main(int argc, char **argv) {
_chdir2(getenv("X11ROOT"));
#endif // __EMX__
- Blackbox blackbox(argv, session_display, rc_file);
+ Blackbox blackbox(argv, session_display, rc_file, menu_file);
blackbox.eventLoop();
return(0);