]> Dogcows Code - chaz/openbox/blobdiff - src/main.cc
add option to the rc file to use/not use AA for Xft fonts
[chaz/openbox] / src / main.cc
index 3f67f157c6e3c055465c4caf882de9255c4e051c..c06543a1cd08004778d5a1fa2eed45eda8fef946 100644 (file)
@@ -1,5 +1,6 @@
-// main.cc for Openbox
-// Copyright (c) 2001 Sean 'Shaleh' Perry <shaleh@debian.org>
+// -*- mode: C++; indent-tabs-mode: nil; -*-
+// main.cc for Blackbox - an X11 Window manager
+// Copyright (c) 2001 - 2002 Sean 'Shaleh' Perry <shaleh@debian.org>
 // Copyright (c) 1997 - 2000 Brad Hughes (bhughes@tcac.net)
 //
 // Permission is hereby granted, free of charge, to any person obtaining a
 // FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
 // DEALINGS IN THE SOFTWARE.
 
-// stupid macros needed to access some functions in version 2 of the GNU C
-// library
-#ifndef   _GNU_SOURCE
-#define   _GNU_SOURCE
-#endif // _GNU_SOURCE
-
 #include "../version.h"
 
 #ifdef    HAVE_CONFIG_H
 #  include "../config.h"
 #endif // HAVE_CONFIG_H
 
+extern "C" {
 #ifdef    HAVE_STDIO_H
 #  include <stdio.h>
 #endif // HAVE_STDIO_H
 
-#ifdef    HAVE_STDLIB_H
+#ifdef HAVE_STDLIB_H
 #  include <stdlib.h>
 #endif // HAVE_STDLIB_H
 
-#ifdef    HAVE_STRING_H
+#ifdef HAVE_STRING_H
 #  include <string.h>
 #endif // HAVE_STRING_H
 
 #ifdef    HAVE_SYS_PARAM_H
 #  include <sys/param.h>
 #endif // HAVE_SYS_PARAM_H
+}
 
-#ifndef   MAXPATHLEN
-#define   MAXPATHLEN 255
-#endif // MAXPATHLEN
+#include <string>
+using std::string;
 
-#include "openbox.h"
-#include "i18n.h"
+#include "i18n.hh"
+#include "blackbox.hh"
 
-I18n i18n("openbox.cat");
+
+I18n i18n; // initialized in main
 
 static void showHelp(int exitval) {
   // print program usage and command line options
   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"
+              "                    2001 - 2002 Sean 'Shaleh' Perry\n"
+              "                    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"
+              "  -menu <string>\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(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"),
+  printf(i18n(mainSet, mainCompileOptions,
+              "Compile time options:\n"
+              "  Debugging:\t\t\t%s\n"
+              "  Shape:\t\t\t%s\n"
+              "  Slit:\t\t\t\t%s\n"
+              "  Event Clobbering:\t\t%s\n"
+              "  8bpp Ordered Dithering:\t%s\n\n"),
 #ifdef    DEBUG
-          i18n(CommonSet, CommonYes, "yes"),
+         i18n(CommonSet, CommonYes, "yes"),
 #else // !DEBUG
-          i18n(CommonSet, CommonNo, "no"),
+         i18n(CommonSet, CommonNo, "no"),
 #endif // DEBUG
 
-#ifdef    INTERLACE
-          i18n(CommonSet, CommonYes, "yes"),
-#else // !INTERLACE
-          i18n(CommonSet, CommonNo, "no"),
-#endif // INTERLACE
-
 #ifdef    SHAPE
-          i18n(CommonSet, CommonYes, "yes"),
+         i18n(CommonSet, CommonYes, "yes"),
 #else // !SHAPE
-          i18n(CommonSet, CommonNo, "no"),
+         i18n(CommonSet, CommonNo, "no"),
 #endif // SHAPE
 
 #ifdef    SLIT
-          i18n(CommonSet, CommonYes, "yes"),
+         i18n(CommonSet, CommonYes, "yes"),
 #else // !SLIT
-          i18n(CommonSet, CommonNo, "no"),
+         i18n(CommonSet, CommonNo, "no"),
 #endif // SLIT
 
-#ifdef    ORDEREDPSEUDO
-          i18n(CommonSet, CommonYes, "yes"),
-#else // !ORDEREDPSEUDO
-          i18n(CommonSet, CommonNo, "no"),
-#endif // ORDEREDPSEUDO
-
 #ifndef   NOCLOBBER
-          i18n(CommonSet, CommonYes, "yes")
+         i18n(CommonSet, CommonYes, "yes"),
 #else // !NOCLOBBER
-            i18n(CommonSet, CommonNo, "no")
+         i18n(CommonSet, CommonNo, "no"),
 #endif // NOCLOBBER
-            );
 
-          ::exit(exitval);
+#ifdef    ORDEREDPSEUDO
+         i18n(CommonSet, CommonYes, "yes")
+#else // !ORDEREDPSEUDO
+         i18n(CommonSet, CommonNo, "no")
+#endif // ORDEREDPSEUDO
+          );
+
+  ::exit(exitval);
 }
 
 int main(int argc, char **argv) {
@@ -129,6 +119,8 @@ int main(int argc, char **argv) {
   char *rc_file = (char *) 0;
   char *menu_file = (char *) 0;
 
+  i18n.openCatalog("openbox.cat");
+
   for (int i = 1; i < argc; ++i) {
     if (! strcmp(argv[i], "-rc")) {
       // look for alternative rc file to use
@@ -136,7 +128,7 @@ int main(int argc, char **argv) {
       if ((++i) >= argc) {
         fprintf(stderr,
                 i18n(mainSet, mainRCRequiresArg,
-                     "error: '-rc' requires and argument\n"));
+                                 "error: '-rc' requires and argument\n"));
 
         ::exit(1);
       }
@@ -161,25 +153,25 @@ int main(int argc, char **argv) {
       if ((++i) >= argc) {
         fprintf(stderr,
                 i18n(mainSet, mainDISPLAYRequiresArg,
-                     "error: '-display' requires an argument\n"));
+                                 "error: '-display' requires an argument\n"));
 
         ::exit(1);
       }
 
       session_display = argv[i];
-      char dtmp[MAXPATHLEN];
-      sprintf(dtmp, "DISPLAY=%s", session_display);
+      string dtmp = "DISPLAY=";
+      dtmp += session_display;
 
-      if (putenv(dtmp)) {
-        fprintf(stderr,
-                i18n(mainSet, mainWarnDisplaySet,
-                     "warning: couldn't set environment variable 'DISPLAY'\n"));
+      if (putenv(const_cast<char*>(dtmp.c_str()))) {
+        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",
+      printf("Openbox %s : (c) 2002 - 2002 Ben Jansens\n"
+             "                    2001 - 2002 Sean 'Shaleh' Perry\n"
+             "                    1997 - 2000, 2002 Brad Hughes\n\n",
              __openbox_version);
 
       ::exit(0);
@@ -194,8 +186,8 @@ int main(int argc, char **argv) {
   _chdir2(getenv("X11ROOT"));
 #endif // __EMX__
 
-  Openbox openbox(argc, argv, session_display, rc_file, menu_file);
-  openbox.eventLoop();
+  Blackbox blackbox(argv, session_display, rc_file, menu_file);
+  blackbox.eventLoop();
 
   return(0);
 }
This page took 0.03115 seconds and 4 git commands to generate.