]> git.decadent.org.uk Git - ion3.git/blobdiff - ioncore/ioncore.c
Imported Upstream version 20090110
[ion3.git] / ioncore / ioncore.c
index 0f1744c640636f82f8d828e754197288a56ee147..0675d0a83c6b8bcfdfd5daa58443ecc972eadd12 100644 (file)
@@ -1,7 +1,7 @@
 /*
  * 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>
@@ -71,18 +74,18 @@ WGlobal ioncore_g;
 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;
 
@@ -97,12 +100,23 @@ WHook *ioncore_deinit_hook=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);
 }
 
-
 /*}}}*/
 
 
@@ -181,7 +195,7 @@ static bool check_encoding()
     }
 
     if(mbtowc(NULL, NULL, 0)!=0){
-        warn("Statefull encodings are unsupported.");
+        warn(TR("Statefull encodings are unsupported."));
         return FALSE;
     }
     
@@ -191,11 +205,11 @@ static bool check_encoding()
     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;
 }
 
@@ -229,6 +243,10 @@ static bool init_locale()
     return FALSE;
 }
 
+#endif
+
+#ifndef CF_NO_GETTEXT
+
 #define TEXTDOMAIN "ion3"
 
 static bool init_messages(const char *localedir)
@@ -275,7 +293,6 @@ static bool init_hooks()
     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);
@@ -384,6 +401,8 @@ bool ioncore_init(const char *prog, int argc, char *argv[],
 
 #ifndef CF_NO_LOCALE    
     init_locale();
+#endif
+#ifndef CF_NO_GETTEXT
     init_messages(localedir);
 #endif