X-Git-Url: https://git.dogcows.com/gitweb?a=blobdiff_plain;f=src%2Fmain.cc;h=c16fba2d809c02abf640aac08a8d4f754a37c8b1;hb=01732a20dbb6b75431dc34fbe8401bfca952f43a;hp=3f67f157c6e3c055465c4caf882de9255c4e051c;hpb=ae3dc273c4b42553208d230a775731df18058a4a;p=chaz%2Fopenbox diff --git a/src/main.cc b/src/main.cc index 3f67f157..c16fba2d 100644 --- a/src/main.cc +++ b/src/main.cc @@ -1,5 +1,6 @@ -// main.cc for Openbox -// Copyright (c) 2001 Sean 'Shaleh' Perry +// -*- mode: C++; indent-tabs-mode: nil; -*- +// main.cc for Blackbox - an X11 Window manager +// Copyright (c) 2001 - 2002 Sean 'Shaleh' Perry // Copyright (c) 1997 - 2000 Brad Hughes (bhughes@tcac.net) // // Permission is hereby granted, free of charge, to any person obtaining a @@ -20,27 +21,22 @@ // 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 #endif // HAVE_STDIO_H -#ifdef HAVE_STDLIB_H +#ifdef HAVE_STDLIB_H # include #endif // HAVE_STDLIB_H -#ifdef HAVE_STRING_H +#ifdef HAVE_STRING_H # include #endif // HAVE_STRING_H @@ -51,77 +47,71 @@ #ifdef HAVE_SYS_PARAM_H # include #endif // HAVE_SYS_PARAM_H +} -#ifndef MAXPATHLEN -#define MAXPATHLEN 255 -#endif // MAXPATHLEN +#include +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 \t\tuse display connection.\n" " -rc \t\t\tuse alternate resource file.\n" - " -menu \t\t\tuse alternate menu file.\n" + " -menu \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); + 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" + " Xft:\t\t\t\t%s\n" + " Xinerama:\t\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"), -#else // !SLIT - i18n(CommonSet, CommonNo, "no"), -#endif // SLIT +#ifdef XFT + i18n(CommonSet, CommonYes, "yes"), +#else // !XFT + i18n(CommonSet, CommonNo, "no"), +#endif // XFT + +#ifdef XINERAMA + i18n(CommonSet, CommonYes, "yes"), +#else // !XINERAMA + i18n(CommonSet, CommonNo, "no"), +#endif // XINERAMA #ifdef ORDEREDPSEUDO - i18n(CommonSet, CommonYes, "yes"), + i18n(CommonSet, CommonYes, "yes") #else // !ORDEREDPSEUDO - i18n(CommonSet, CommonNo, "no"), + i18n(CommonSet, CommonNo, "no") #endif // ORDEREDPSEUDO + ); -#ifndef NOCLOBBER - i18n(CommonSet, CommonYes, "yes") -#else // !NOCLOBBER - i18n(CommonSet, CommonNo, "no") -#endif // NOCLOBBER - ); - - ::exit(exitval); + ::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,26 +153,26 @@ 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(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", - __openbox_version); + 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); } else if (! strcmp(argv[i], "-help")) { @@ -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); }