Add -dialogColor and -buttonColor options
[xboard.git] / args.h
diff --git a/args.h b/args.h
index 4848269..a08d49b 100644 (file)
--- a/args.h
+++ b/args.h
@@ -123,8 +123,6 @@ void SaveColor(FILE *f, ArgDescriptor *ad);
 void SaveBoardSize(FILE *f, char *name, void *addr);
 void PrintCommPortSettings(FILE *f, char *name);
 void GetWindowCoords();
-int  MySearchPath(char *installDir, char *name, char *fullname);
-int  MyGetFullPathName(char *name, char *fullname);
 int  MainWindowUp();
 void PopUpStartupDialog();
 typedef char GetFunc(void *getClosure);
@@ -616,8 +614,8 @@ ArgDescriptor argDescriptors[] = {
   { "smpCores", ArgInt, (void *) &appData.smpCores, TRUE, (ArgIniType) 1 },
   { "egtFormats", ArgString, (void *) &appData.egtFormats, TRUE, (ArgIniType) "" },
   { "niceEngines", ArgInt, (void *) &appData.niceEngines, TRUE, INVALID },
-  { "firstLogo", ArgFilename, (void *) &appData.firstLogo, FALSE, INVALID },
-  { "secondLogo", ArgFilename, (void *) &appData.secondLogo, FALSE, INVALID },
+  { "firstLogo", ArgFilename, (void *) &appData.firstLogo, FALSE, (ArgIniType) "" },
+  { "secondLogo", ArgFilename, (void *) &appData.secondLogo, FALSE, (ArgIniType) "" },
   { "autoLogo", ArgBoolean, (void *) &appData.autoLogo, TRUE, INVALID },
   { "firstOptions", ArgString, (void *) &appData.firstOptions, FALSE, (ArgIniType) "" },
   { "secondOptions", ArgString, (void *) &appData.secondOptions, FALSE, (ArgIniType) "" },
@@ -651,6 +649,10 @@ ArgDescriptor argDescriptors[] = {
   { "findMirrorImage", ArgBoolean, (void *) &appData.findMirror, FALSE, FALSE },
   { "viewer", ArgTrue, (void *) &appData.viewer, FALSE, FALSE },
   { "viewerOptions", ArgString, (void *) &appData.viewerOptions, TRUE, (ArgIniType) "-ncp -engineOutputUp false -saveSettingsOnExit false" },
+  { "autoCopyPV", ArgBoolean, (void *) &appData.autoCopyPV, TRUE, FALSE },
+  { "topLevel", ArgBoolean, (void *) &appData.topLevel, XBOARD, (ArgIniType) TOPLEVEL },
+  { "dialogColor", ArgString, (void *) &appData.dialogColor, XBOARD, (ArgIniType) "" },
+  { "buttonColor", ArgString, (void *) &appData.buttonColor, XBOARD, (ArgIniType) "" },
 
 #if ZIPPY
   { "zippyTalk", ArgBoolean, (void *) &appData.zippyTalk, FALSE, (ArgIniType) ZIPPY_TALK },
@@ -698,6 +700,7 @@ ArgDescriptor argDescriptors[] = {
   /* [HGM] options for broadcasting and time odds */
   { "chatBoxes", ArgString, (void *) &appData.chatBoxes, !XBOARD, (ArgIniType) NULL },
   { "serverMoves", ArgString, (void *) &appData.serverMovesName, FALSE, (ArgIniType) NULL },
+  { "serverFile", ArgString, (void *) &appData.serverFileName, FALSE, (ArgIniType) NULL },
   { "suppressLoadMoves", ArgBoolean, (void *) &appData.suppressLoadMoves, FALSE, (ArgIniType) FALSE },
   { "serverPause", ArgInt, (void *) &appData.serverPause, FALSE, (ArgIniType) 15 },
   { "firstTimeOdds", ArgInt, (void *) &appData.firstTimeOdds, FALSE, (ArgIniType) 1 },
@@ -711,9 +714,10 @@ ArgDescriptor argDescriptors[] = {
   { "keepLineBreaksICS", ArgBoolean, (void *) &appData.noJoin, TRUE, INVALID },
   { "wrapContinuationSequence", ArgString, (void *) &appData.wrapContSeq, FALSE, INVALID },
   { "useInternalWrap", ArgTrue, (void *) &appData.useInternalWrap, FALSE, INVALID }, /* noJoin usurps this if set */
+  { "openCommand", ArgString, (void *) &appData.sysOpen, FALSE, "xdg-open" },
 
   // [HGM] placement: put all window layouts last in ini file, but man X,Y before all others
-  { "minX", ArgZ, (void *) &minX, FALSE, INVALID }, // [HGM] placement: to make suer auxialary windows can be placed
+  { "minX", ArgZ, (void *) &minX, FALSE, INVALID }, // [HGM] placement: to make sure auxiliary windows can be placed
   { "minY", ArgZ, (void *) &minY, FALSE, INVALID },
   { "winWidth",  ArgInt, (void *) &wpMain.width,  TRUE, INVALID }, // [HGM] placement: dummies to remember right & bottom
   { "winHeight", ArgInt, (void *) &wpMain.height, TRUE, INVALID }, //       for attaching auxiliary windows to them
@@ -773,7 +777,7 @@ ExitArgError(char *msg, char *badArg, Boolean quit)
   char buf[MSG_SIZ];
   int len;
 
-  len = snprintf(buf,MSG_SIZ, "%s %s", msg, badArg);
+  len = snprintf(buf, MSG_SIZ, msg, badArg);
   if( (len >= MSG_SIZ) && appData.debugMode )
     fprintf(debugFP, "ExitArgError: buffer truncated. Input: msg=%s badArg=%s\n", msg, badArg);
 
@@ -787,7 +791,7 @@ ValidateInt(char *s)
 {
   char *p = s;
   if(*p == '-' || *p == '+') p++;
-  while(*p) if(!isdigit(*p++)) ExitArgError(_("Bad integer value"), s, TRUE);
+  while(*p) if(!isdigit(*p++)) ExitArgError(_("Bad integer value %s"), s, TRUE);
   return atoi(s);
 }
 
@@ -878,7 +882,7 @@ ParseArgs(GetFunc get, void *cl)
       for (ad = argDescriptors; ad->argName != NULL; ad++)
        if (strcmp(ad->argName, argName + 1) == 0) break;
       if (ad->argName == NULL) {
-       ExitArgError(_("Unrecognized argument"), argName, get != &FileGet); // [HGM] make unknown argument non-fatal
+       ExitArgError(_("Unrecognized argument %s"), argName, get != &FileGet); // [HGM] make unknown argument non-fatal
        while (ch != '\n' && ch != NULLCHAR) ch = get(cl); // but skip rest of line it is on
        continue; // so that when it is in a settings file, it is the only setting that will be purged from it
       }
@@ -907,7 +911,7 @@ ParseArgs(GetFunc get, void *cl)
 
     while (ch == ' ' || ch == '=' || ch == ':' || ch == '\t') ch = get(cl);
     if (ch == NULLCHAR || ch == '\n') {
-      ExitArgError(_("No value provided for argument"), argName, TRUE);
+      ExitArgError(_("No value provided for argument %s"), argName, TRUE);
     }
     q = argValue;
     if (ch == '{') {
@@ -967,7 +971,7 @@ ParseArgs(GetFunc get, void *cl)
          ch = get(cl);
          switch (ch) {
          case NULLCHAR:
-           ExitArgError(_("Incomplete \\ escape in value for"), argName, TRUE);
+           ExitArgError(_("Incomplete \\ escape in value for %s"), argName, TRUE);
            break;
          case 'n':
            *q++ = '\n';
@@ -1051,7 +1055,7 @@ ParseArgs(GetFunc get, void *cl)
        } else {
          if (ad->argLoc != NULL) {
          } else {
-           ExitArgError(_("Failed to open indirection file"), argValue, TRUE);
+           ExitArgError(_("Failed to open indirection file %s"), argValue, TRUE);
          }
        }
       }
@@ -1068,7 +1072,7 @@ ParseArgs(GetFunc get, void *cl)
        *(Boolean *) ad->argLoc = FALSE;
        break;
       default:
-       ExitArgError(_("Unrecognized boolean argument value"), argValue, TRUE);
+       ExitArgError(_("Unrecognized boolean argument value %s"), argValue, TRUE);
        break;
       }
       break;
@@ -1096,7 +1100,7 @@ ParseArgs(GetFunc get, void *cl)
       break;
 
     case ArgNone:
-      ExitArgError(_("Unrecognized argument"), argValue, TRUE);
+      ExitArgError(_("Unrecognized argument %s"), argValue, TRUE);
       break;
     case ArgTwo:
     case ArgTrue: