X-Git-Url: https://git.dogcows.com/gitweb?a=blobdiff_plain;f=src%2Fmain.cc;h=3f67f157c6e3c055465c4caf882de9255c4e051c;hb=a85c9a7c6e88d94a833941d3efc368cf11243579;hp=0a0ad5baf84720e96bde1e0f6a5b7bfc8fcd7372;hpb=dfc5f034581f5a26cba5c4811500438f89f0634a;p=chaz%2Fopenbox diff --git a/src/main.cc b/src/main.cc index 0a0ad5ba..3f67f157 100644 --- a/src/main.cc +++ b/src/main.cc @@ -32,17 +32,17 @@ # include "../config.h" #endif // HAVE_CONFIG_H -#include "i18n.h" -#include "openbox.h" - #ifdef HAVE_STDIO_H # include #endif // HAVE_STDIO_H -#ifdef STDC_HEADERS +#ifdef HAVE_STDLIB_H # include +#endif // HAVE_STDLIB_H + +#ifdef HAVE_STRING_H # include -#endif // STDC_HEADERS +#endif // HAVE_STRING_H #ifdef HAVE_UNISTD_H #include @@ -56,74 +56,78 @@ #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 \t\tuse display connection.\n" - " -rc \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 \t\tuse display connection.\n" + " -rc \t\t\tuse alternate resource file.\n" + " -menu \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);