]> Dogcows Code - chaz/openbox/blobdiff - src/main.cc
moved menu from a rc file option to a command line option
[chaz/openbox] / src / main.cc
index 0b2360ab6d5488d91fd818bd9e7ab334050596df..84e0d90e6616ce29e6e6830d23fb6e80db97d9e2 100644 (file)
@@ -68,6 +68,7 @@ static void showHelp(int exitval) {
                          "\t\t\t  1997 - 2000 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);
@@ -125,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");
 
@@ -134,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
@@ -182,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);
This page took 0.021473 seconds and 4 git commands to generate.