X-Git-Url: https://git.dogcows.com/gitweb?a=blobdiff_plain;f=util%2Fepist%2Fmain.cc;h=900a2342e1c3a6f407333a2e21ed1e4bf38bc99a;hb=bd05f7ec58f3e1f5839c372ad4fb007a8d8866f5;hp=3d5185350f121ba3d01d8738af03d6bdd47e0d3c;hpb=06413d7e30d8344ac09b64281c37fa2792a275f2;p=chaz%2Fopenbox diff --git a/util/epist/main.cc b/util/epist/main.cc index 3d518535..900a2342 100644 --- a/util/epist/main.cc +++ b/util/epist/main.cc @@ -1,5 +1,5 @@ // -*- mode: C++; indent-tabs-mode: nil; -*- -// main.cc for Epistory - a key handler for NETWM/EWMH window managers. +// main.cc for Epistrophy - a key handler for NETWM/EWMH window managers. // Copyright (c) 2002 - 2002 Ben Jansens // // Permission is hereby granted, free of charge, to any person obtaining a @@ -21,9 +21,89 @@ // DEALINGS IN THE SOFTWARE. #ifdef HAVE_CONFIG_H -# include "../config.h" +# include "../../config.h" #endif // HAVE_CONFIG_H -int main(int, char **) { +extern "C" { +#ifdef HAVE_UNISTD_H +# include +# include +#endif // HAVE_UNISTD_H + +#ifdef HAVE_STDIO_H +# include +#endif // HAVE_STDIO_H + +#ifdef HAVE_STDLIB_H +# include +#endif // HAVE_STDLIB_H +} + +#include +#include + +using std::cout; +using std::endl; +using std::string; + +#include "../../version.h" +#include "epist.hh" +#include "../../src/i18n.hh" + +I18n i18n; + +static void usage(); + +int main(int argc, char **argv) { + i18n.openCatalog("openbox.cat"); + + // parse the command line + char *display_name = 0; + char *rc_file = 0; + + for (int i = 1; i < argc; ++i) { + const string argvi(argv[i]); + if (argvi == "-display") { + if (++i >= argc) { + fprintf(stderr, i18n(mainSet, mainDISPLAYRequiresArg, + "error: '-display' requires an argument\n")); + exit(1); + } + display_name = argv[i]; + } else if (argvi == "-rc") { + if (++i >= argc) { + fprintf(stderr, i18n(mainSet, mainRCRequiresArg, + "error: '-rc' requires an argument\n")); + exit(1); + } + rc_file = argv[i]; + } else if (argvi == "-help") { + usage(); + } else if (argvi == "-version") { + fprintf(stderr, "epist - shipped with openbox %s\n", + __openbox_version); + exit(0); + } + else + usage(); + } + + epist ep(argv, display_name, rc_file); + ep.eventLoop(); return 0; } + +static void usage() +{ + cout << "usage: epist OPTIONS" << endl; + cout << endl; + cout << "Options:" << endl; + cout << + " -rc RCFILE Specifies the path to an alternate rc file to load" + << endl << + " -display DISPLAY Specifies the X display to run on" << endl << + " -help Display this help and exit" << endl << + " -version Display the version and exit" << endl << + endl; + exit(0); +}