X-Git-Url: https://git.decadent.org.uk/gitweb/?a=blobdiff_plain;f=ion%2Fion.c;h=9e0c2538c308700b0ed73e23624e2515f400137d;hb=HEAD;hp=93a59776a7ef8a5b7fcd4a5e0d9cda17388a0430;hpb=8366314611bf30a0f31d25bf5f5023186fa87692;p=ion3.git diff --git a/ion/ion.c b/ion/ion.c index 93a5977..9e0c253 100644 --- a/ion/ion.c +++ b/ion/ion.c @@ -1,12 +1,9 @@ /* * ion/ion/ion.c * - * Copyright (c) Tuomo Valkonen 1999-2006. + * Copyright (c) Tuomo Valkonen 1999-2009. * - * Ion is free software; you can redistribute it and/or modify it under - * the terms of the GNU Lesser General Public License as published by - * the Free Software Foundation; either version 2.1 of the License, or - * (at your option) any later version. + * See the included file LICENSE for details. */ #include @@ -22,6 +19,7 @@ #include #include #include +#include #include #include @@ -48,16 +46,8 @@ static OptParserOpt ion_opts[]={ DUMMY_TR("Add directory to search path")}, {OPT_ID('o'), "oneroot", 0, NULL, - DUMMY_TR("Manage default root window/non-Xinerama screen only")}, + DUMMY_TR("Manage default screen only")}, -#if defined(CF_XINERAMA) || defined(CF_SUN_XINERAMA) - {OPT_ID('x'), "xinerama", OPT_ARG, "1|0", - DUMMY_TR("Use Xinerama screen information (default: 1/yes)")}, -#else - {OPT_ID('x'), "xinerama", OPT_ARG, "?", - DUMMY_TR("Ignored: not compiled with Xinerama support")}, -#endif - {OPT_ID('s'), "session", OPT_ARG, "session_name", DUMMY_TR("Name of session (affects savefiles)")}, @@ -137,7 +127,7 @@ void check_new_user_help() static void help() { int i; - printf(TR("Usage: %s [options]\n\n"), prog_execname()); + printf(TR("Usage: %s [options]\n\n"), libtu_progname()); for(i=0; ion_opts[i].descr!=NULL; i++) ion_opts[i].descr=TR(ion_opts[i].descr); optparser_printhelp(OPTP_MIDLONG, ion_opts); @@ -157,17 +147,27 @@ int main(int argc, char*argv[]) char *efnam=NULL; bool may_continue=FALSE; bool noerrorlog=FALSE; + char *localedir; libtu_init(argv[0]); - - if(!ioncore_init("ion3", argc, argv, LOCALEDIR)) + +#ifdef CF_RELOCATABLE_BIN_LOCATION + prefix_set(argv[0], CF_RELOCATABLE_BIN_LOCATION); +#endif + + localedir=prefix_add(LOCALEDIR); + + if(!ioncore_init("ion3", argc, argv, localedir)) return EXIT_FAILURE; + + if(localedir!=NULL) + free(localedir); - extl_add_searchdir(EXTRABINDIR); /* ion-completefile */ - extl_add_searchdir(MODULEDIR); - extl_add_searchdir(ETCDIR); - extl_add_searchdir(SHAREDIR); - extl_add_searchdir(LCDIR); + prefix_wrap_simple(extl_add_searchdir, EXTRABINDIR); /* ion-completefile */ + prefix_wrap_simple(extl_add_searchdir, MODULEDIR); + prefix_wrap_simple(extl_add_searchdir, ETCDIR); + prefix_wrap_simple(extl_add_searchdir, SHAREDIR); + prefix_wrap_simple(extl_add_searchdir, LCDIR); extl_set_userdirs("ion3"); optparser_init(argc, argv, OPTP_MIDLONG, ion_opts); @@ -189,17 +189,6 @@ int main(int argc, char*argv[]) case OPT_ID('o'): stflags|=IONCORE_STARTUP_ONEROOT; break; - case OPT_ID('x'): - { - const char *p=optparser_get_arg(); - if(strcmp(p, "1")==0) - stflags&=~IONCORE_STARTUP_NOXINERAMA; - else if(strcmp(p, "0")==0) - stflags|=IONCORE_STARTUP_NOXINERAMA; - else - warn(TR("Invalid parameter to -xinerama.")); - } - break; case OPT_ID('s'): extl_set_sessiondir(optparser_get_arg()); break; @@ -259,7 +248,7 @@ fail: fclose(ef); pid=fork(); if(pid==0){ - ioncore_setup_environ(DefaultScreen(ioncore_g.dpy)); + ioncore_setup_display(DefaultScreen(ioncore_g.dpy)); if(!may_continue) XCloseDisplay(ioncore_g.dpy); else