]> Dogcows Code - chaz/openbox/blobdiff - src/main.cc
added XAtom class, and it all now compiles.
[chaz/openbox] / src / main.cc
index 0a0ad5baf84720e96bde1e0f6a5b7bfc8fcd7372..3f67f157c6e3c055465c4caf882de9255c4e051c 100644 (file)
 #  include "../config.h"
 #endif // HAVE_CONFIG_H
 
-#include "i18n.h"
-#include "openbox.h"
-
 #ifdef    HAVE_STDIO_H
 #  include <stdio.h>
 #endif // HAVE_STDIO_H
 
-#ifdef    STDC_HEADERS
+#ifdef    HAVE_STDLIB_H
 #  include <stdlib.h>
+#endif // HAVE_STDLIB_H
+
+#ifdef    HAVE_STRING_H
 #  include <string.h>
-#endif // STDC_HEADERS
+#endif // HAVE_STRING_H
 
 #ifdef    HAVE_UNISTD_H
 #include <sys/types.h>
 #define   MAXPATHLEN 255
 #endif // MAXPATHLEN
 
+#include "openbox.h"
+#include "i18n.h"
+
+I18n i18n("openbox.cat");
 
 static void showHelp(int exitval) {
   // print program usage and command line options
-  printf(i18n->getMessage(mainSet, mainUsage,
-                         "Openbox %s : (c) 2002 - 2002 Ben Jansens\n"
-                          "\t\t\t  2001 - 2002 Sean 'Shaleh' Perry\n\n"
-                         "\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"
-                         "  -version\t\t\tdisplay version and exit.\n"
-                         "  -help\t\t\t\tdisplay this help text and exit.\n\n"),
-        __openbox_version);
+  printf(i18n(mainSet, mainUsage,
+              "Openbox %s : (c) 2002 - 2002 Ben Jansens\n"
+              "\t\t\t  2001 - 2002 Sean 'Shaleh' Perry\n\n"
+              "\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);
 
   // some people have requested that we print out compile options
   // as well
-  fprintf(stdout,i18n->getMessage(mainSet, mainCompileOptions,
-                                 "Compile time options:\n"
-                                 "  Debugging:\t\t\t%s\n"
-                                 "  Interlacing:\t\t\t%s\n"
-                                 "  Shape:\t\t\t%s\n"
-                                 "  Slit:\t\t\t\t%s\n"
-                                 "  8bpp Ordered Dithering:\t%s\n"
-                                  "  Event Clobbering:\t\t%s\n\n"),
+  fprintf(stdout,i18n(mainSet, mainCompileOptions,
+                      "Compile time options:\n"
+                      "  Debugging:\t\t\t%s\n"
+                      "  Interlacing:\t\t\t%s\n"
+                      "  Shape:\t\t\t%s\n"
+                      "  Slit:\t\t\t\t%s\n"
+                      "  8bpp Ordered Dithering:\t%s\n"
+                      "  Event Clobbering:\t\t%s\n\n"),
 #ifdef    DEBUG
-         i18n->getMessage(CommonSet, CommonYes, "yes"),
+          i18n(CommonSet, CommonYes, "yes"),
 #else // !DEBUG
-         i18n->getMessage(CommonSet, CommonNo, "no"),
+          i18n(CommonSet, CommonNo, "no"),
 #endif // DEBUG
 
 #ifdef    INTERLACE
-         i18n->getMessage(CommonSet, CommonYes, "yes"),
+          i18n(CommonSet, CommonYes, "yes"),
 #else // !INTERLACE
-         i18n->getMessage(CommonSet, CommonNo, "no"),
+          i18n(CommonSet, CommonNo, "no"),
 #endif // INTERLACE
 
 #ifdef    SHAPE
-         i18n->getMessage(CommonSet, CommonYes, "yes"),
+          i18n(CommonSet, CommonYes, "yes"),
 #else // !SHAPE
-         i18n->getMessage(CommonSet, CommonNo, "no"),
+          i18n(CommonSet, CommonNo, "no"),
 #endif // SHAPE
 
 #ifdef    SLIT
-         i18n->getMessage(CommonSet, CommonYes, "yes"),
+          i18n(CommonSet, CommonYes, "yes"),
 #else // !SLIT
-         i18n->getMessage(CommonSet, CommonNo, "no"),
+          i18n(CommonSet, CommonNo, "no"),
 #endif // SLIT
 
 #ifdef    ORDEREDPSEUDO
-         i18n->getMessage(CommonSet, CommonYes, "yes"),
+          i18n(CommonSet, CommonYes, "yes"),
 #else // !ORDEREDPSEUDO
-         i18n->getMessage(CommonSet, CommonNo, "no"),
+          i18n(CommonSet, CommonNo, "no"),
 #endif // ORDEREDPSEUDO
 
 #ifndef   NOCLOBBER
-         i18n->getMessage(CommonSet, CommonYes, "yes")
+          i18n(CommonSet, CommonYes, "yes")
 #else // !NOCLOBBER
-         i18n->getMessage(CommonSet, CommonNo, "no")
+            i18n(CommonSet, CommonNo, "no")
 #endif // NOCLOBBER
-         );
+            );
 
-  ::exit(exitval);
+          ::exit(exitval);
 }
 
 int main(int argc, char **argv) {
   char *session_display = (char *) 0;
   char *rc_file = (char *) 0;
-
-  NLSInit("openbox.cat");
+  char *menu_file = (char *) 0;
 
   for (int i = 1; i < argc; ++i) {
     if (! strcmp(argv[i], "-rc")) {
@@ -131,23 +135,35 @@ int main(int argc, char **argv) {
 
       if ((++i) >= argc) {
         fprintf(stderr,
-               i18n->getMessage(mainSet, mainRCRequiresArg,
-                                "error: '-rc' requires and argument\n"));
+                i18n(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(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
 
       if ((++i) >= argc) {
-       fprintf(stderr,
-               i18n->getMessage(mainSet, mainDISPLAYRequiresArg,
-                                "error: '-display' requires an argument\n"));
+        fprintf(stderr,
+                i18n(mainSet, mainDISPLAYRequiresArg,
+                     "error: '-display' requires an argument\n"));
 
-       ::exit(1);
+        ::exit(1);
       }
 
       session_display = argv[i];
@@ -155,16 +171,15 @@ int main(int argc, char **argv) {
       sprintf(dtmp, "DISPLAY=%s", session_display);
 
       if (putenv(dtmp)) {
-       fprintf(stderr,
-               i18n->
-               getMessage(mainSet, mainWarnDisplaySet,
-                  "warning: couldn't set environment variable 'DISPLAY'\n"));
-       perror("putenv()");
+        fprintf(stderr,
+                i18n(mainSet, mainWarnDisplaySet,
+                     "warning: couldn't set environment variable 'DISPLAY'\n"));
+        perror("putenv()");
       }
     } else if (! strcmp(argv[i], "-version")) {
       // print current version string
       printf("Openbox %s : (c) 1997 - 2000 Brad Hughes\n"
-            "\t\t\t  2001 - 2002 Sean 'Shaleh' Perry\n",
+             "\t\t\t  2001 - 2002 Sean 'Shaleh' Perry\n",
              __openbox_version);
 
       ::exit(0);
@@ -179,7 +194,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.029189 seconds and 4 git commands to generate.