/*
* ion/ioncore/ioncore.c
*
- * Copyright (c) Tuomo Valkonen 1999-2007.
+ * Copyright (c) Tuomo Valkonen 1999-2009.
*
* See the included file LICENSE for details.
*/
#ifndef CF_NO_LOCALE
#include <locale.h>
#include <langinfo.h>
+#endif
+#ifndef CF_NO_GETTEXT
#include <libintl.h>
#endif
+#include <stdarg.h>
#include <libtu/util.h>
#include <libtu/optparser.h>
static const char *progname="ion";
static const char ioncore_copy[]=
- "Ion " ION_VERSION ", copyright (c) Tuomo Valkonen 1999-2007.";
+ "Ion " ION_VERSION ", copyright (c) Tuomo Valkonen 1999-2009.";
static const char ioncore_license[]=DUMMY_TR(
- "This program is free software; you can redistribute it and/or\n"
- "modify it under the terms of the GNU Lesser General Public\n"
- "License as published by the Free Software Foundation; either\n"
- "version 2.1 of the License, or (at your option) any later version.\n"
+ "This software is licensed under the GNU Lesser General Public License\n"
+ "(LGPL), version 2.1, extended with terms applying to the use of the name\n"
+ "of the project, Ion(tm), unless otherwise indicated in components taken\n"
+ "from elsewhere. For details, see the file LICENSE that you should have\n"
+ "received with this software.\n"
"\n"
"This program is distributed in the hope that it will be useful,\n"
"but WITHOUT ANY WARRANTY; without even the implied warranty of\n"
- "MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU\n"
- "Lesser General Public License for more details.\n");
+ "MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.\n");
static const char *ioncore_about=NULL;
/*{{{ warn_nolog */
-void ioncore_warn_nolog(const char *str)
+void ioncore_warn_nolog(const char *str, ...)
{
- fprintf(stderr, "%s: %s\n", libtu_progname(), str);
+ va_list args;
+
+ va_start(args, str);
+
+ if(ioncore_g.opmode==IONCORE_OPMODE_INIT){
+ fprintf(stderr, "%s: ", libtu_progname());
+ vfprintf(stderr, str, args);
+ fprintf(stderr, "\n");
+ }else{
+ warn_v(str, args);
+ }
+
+ va_end(args);
}
-
/*}}}*/
}
if(mbtowc(NULL, NULL, 0)!=0){
- warn("Statefull encodings are unsupported.");
+ warn(TR("Statefull encodings are unsupported."));
return FALSE;
}
return TRUE;
integr_err:
- warn("Cannot verify locale encoding setting integrity "
- "(LC_CTYPE=%s, nl_langinfo(CODESET)=%s). "
- "The LC_CTYPE environment variable should be of the form "
- "language_REGION.encoding (e.g. en_GB.UTF-8), and encoding "
- "should match the nl_langinfo value above.", ctype, langi);
+ warn(TR("Cannot verify locale encoding setting integrity "
+ "(LC_CTYPE=%s, nl_langinfo(CODESET)=%s). "
+ "The LC_CTYPE environment variable should be of the form "
+ "language_REGION.encoding (e.g. en_GB.UTF-8), and encoding "
+ "should match the nl_langinfo value above."), ctype, langi);
return FALSE;
}
return FALSE;
}
+#endif
+
+#ifndef CF_NO_GETTEXT
+
#define TEXTDOMAIN "ion3"
static bool init_messages(const char *localedir)
INIT_HOOK_(ioncore_submap_ungrab_hook);
INIT_HOOK_(region_notify_hook);
- ADD_HOOK_(region_notify_hook, ioncore_frame_quasiactivation_notify);
ADD_HOOK_(region_notify_hook, ioncore_screen_activity_notify);
INIT_HOOK(clientwin_do_manage_alt, clientwin_do_manage_default);
#ifndef CF_NO_LOCALE
init_locale();
+#endif
+#ifndef CF_NO_GETTEXT
init_messages(localedir);
#endif