xboard-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [XBoard-devel] Options and the manual


From: h.g. muller
Subject: Re: [XBoard-devel] Options and the manual
Date: Thu, 05 Jan 2012 19:48:35 +0100

Well, I have done some updating of the texi file, and pushed it to hgm.nubti.net.

I am not sure why all the option starting with a hyphen exist next to those starting with x, e.g. -xcoords and --xcoords as opposites of -coords. Those starting with hyphen are neither
documented for XBoard or WinBoard. Can't we simply drop them all?

Perhaps Tim can shed some light on this.

Apart from ignoring all those 'hyphen duplicates', And options on which only WinBoard would react, I did leave some others intetionally undocumented as well (perhaps debatably so):

  { "wpc", ArgColor, (void *) 0, FALSE, INVALID },
  { "bpc", ArgColor, (void *) 1, FALSE, INVALID },
  { "lsc", ArgColor, (void *) 2, FALSE, INVALID },
  { "dsc", ArgColor, (void *) 3, FALSE, INVALID },
  { "hsc", ArgColor, (void *) 4, FALSE, INVALID },
  { "phc", ArgColor, (void *) 5, FALSE, INVALID },

These existed already in 4.2.7, and are documented for WinBoard.
I see no need to document the short forms for XBoard, now they can be set from
the menus.

  { "-ncp", ArgFalse, (void *) &appData.noChessProgram, FALSE, INVALID },

{ "cmail", ArgString, (void *) &appData.cmailGameName, FALSE, (ArgIniType) "" },

  { "-ics", ArgFalse, (void *) &appData.icsActive, FALSE, INVALID },

Didn't add index entries pointing to the introduction for those yet

{ "internetChessServerComPort", ArgString, (void *) &appData.icsCommPort, FALSE, INVALID },
  { "icscom", ArgString, (void *) &appData.icsCommPort, FALSE, INVALID },

I don't know what these do; might also be WB only.

  { "highlightDragging", ArgBoolean,
    (void *) &appData.highlightDragging, TRUE, INVALID },
{ "highdrag", ArgTrue, (void *) &appData.highlightDragging, FALSE, INVALID }, { "xhighdrag", ArgFalse, (void *) &appData.highlightDragging, FALSE, INVALID }, { "-highdrag", ArgFalse, (void *) &appData.highlightDragging, FALSE, INVALID },

I kind of removed this as an XBoard option, as -showTargetSquares already controls
the feature there.

{ "icsMenu", ArgString, (void *) &icsTextMenuString, TRUE, (ArgIniType) ICS_TEXT_MENU_DEFAULT },

Oh, forgot this one

{ "flipBlack", ArgBoolean, (void *) &appData.upsideDown, FALSE, (ArgIniType) FALSE },

And this one too

{ "firstFeatures", ArgString, (void *) &appData.features[0], FALSE, (ArgIniType) "" }, { "secondFeatures", ArgString, (void *) &appData.features[1], FALSE, (ArgIniType) "" }, { "featureDefaults", ArgString, (void *) &appData.featureDefaults, TRUE, (ArgIniType) "" },

These options are potentially damaging, as they specify features to be used as if
the engine had sent them, which normally would thoroughly wreck operation.
I think I added the on request as a kludge to run Windows engines under wine,
as a wine bug causes a SIG_INT to kill such binaries even when they ignore SIG_INT, so that you have to fool XBoard into thinking the engine sent 'feature sigint=0' to make it work. I could have made explicit options for that (e.g. -firstNoSigInt etc.),
but it seemed more versatile (but also potentially more damaging) to allow
-firstFeatures "sigint=0". I am a bit hesitant to document such hacks.

  { "keepAlive", ArgInt, (void *) &appData.keepAlive, FALSE, INVALID },

Another option I don't want to encourage widespread use of. It causes peroiodic
sending of 'date' commands to ICS, to thwart the idle-timeout period, and I am
afraidthis would anger ICS administrators.

  { "icstype", ArgInt, (void *) &ics_type, FALSE, INVALID },

This overrides the auto-detection of ICS type (FICS vs ICC), which normally
works well. I thinkonly a single person needed this for something very special.

{ "forceIllegalMoves", ArgTrue, (void *) &appData.forceIllegal, FALSE, INVALID },

This was something I needed to force engines playing Schoolbook Chess as if
it was variant capablanca, despitethe different castling rules. It makes XBoard
react to an "Illegal move" complaint of the engine not by taking the move back,
but loading the position after the move in the engine to let it continue from there.
I don't think anyone would ever need this.

  { "stretch", ArgInt, (void *) &appData.stretch, FALSE, (ArgIniType) 1 },
{ "ignoreColors", ArgBoolean, (void *) &appData.ignoreColors, FALSE, FALSE }, { "findMirrorImage", ArgBoolean, (void *) &appData.findMirror, FALSE, FALSE },

Here I am in doubt if these shouldhave been options at all. They affect position search in a PGN file, which is an intrinsically interactive proessfor whih you have to push a button in the Game-List window. I really don't see why you would want to set the search mode from the command line,and they are not saved in the settings file either.

{ "serverMoves", ArgString, (void *) &appData.serverMovesName, FALSE, (ArgIniType) NULL }, { "suppressLoadMoves", ArgBoolean, (void *) &appData.suppressLoadMoves, FALSE, (ArgIniType) FALSE }, { "serverPause", ArgInt, (void *) &appData.serverPause, FALSE, (ArgIniType) 15 },

Only useful for connecting tosome software I am developing and is not officially released yet.
Implementation could till be subect to change.

{ "firstAccumulateTC", ArgInt, (void *) &appData.firstAccumulateTC, FALSE, (ArgIniType) 1 }, { "secondAccumulateTC", ArgInt, (void *) &appData.secondAccumulateTC, FALSE, (ArgIniType) 1 },

Does not work yet

{ "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 */

WinBoard-only

// [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
  { "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
  { "x", ArgInt, (void *) &wpMain.x, TRUE, (ArgIniType) CW_USEDEFAULT },
  { "y", ArgInt, (void *) &wpMain.y, TRUE, (ArgIniType) CW_USEDEFAULT },
{ "icsX", ArgX, (void *) &wpConsole.x, TRUE, (ArgIniType) CW_USEDEFAULT }, { "icsY", ArgY, (void *) &wpConsole.y, TRUE, (ArgIniType) CW_USEDEFAULT }, { "icsW", ArgInt, (void *) &wpConsole.width, TRUE, (ArgIniType) CW_USEDEFAULT }, { "icsH", ArgInt, (void *) &wpConsole.height, TRUE, (ArgIniType) CW_USEDEFAULT }, { "analysisX", ArgX, (void *) &junk, FALSE, INVALID }, // [HGM] placement: analysis window no longer exists { "analysisY", ArgY, (void *) &junk, FALSE, INVALID }, // provided for compatibility with old ini files
  { "analysisW", ArgInt, (void *) &junk, FALSE, INVALID },
  { "analysisH", ArgInt, (void *) &junk, FALSE, INVALID },
{ "commentX", ArgX, (void *) &wpComment.x, TRUE, (ArgIniType) CW_USEDEFAULT }, { "commentY", ArgY, (void *) &wpComment.y, TRUE, (ArgIniType) CW_USEDEFAULT }, { "commentW", ArgInt, (void *) &wpComment.width, TRUE, (ArgIniType) CW_USEDEFAULT }, { "commentH", ArgInt, (void *) &wpComment.height, TRUE, (ArgIniType) CW_USEDEFAULT },
  { "tagsX", ArgX,   (void *) &wpTags.x, TRUE, (ArgIniType) CW_USEDEFAULT },
  { "tagsY", ArgY,   (void *) &wpTags.y, TRUE, (ArgIniType) CW_USEDEFAULT },
{ "tagsW", ArgInt, (void *) &wpTags.width, TRUE, (ArgIniType) CW_USEDEFAULT }, { "tagsH", ArgInt, (void *) &wpTags.height, TRUE, (ArgIniType) CW_USEDEFAULT }, { "gameListX", ArgX, (void *) &wpGameList.x, TRUE, (ArgIniType) CW_USEDEFAULT }, { "gameListY", ArgY, (void *) &wpGameList.y, TRUE, (ArgIniType) CW_USEDEFAULT }, { "gameListW", ArgInt, (void *) &wpGameList.width, TRUE, (ArgIniType) CW_USEDEFAULT }, { "gameListH", ArgInt, (void *) &wpGameList.height, TRUE, (ArgIniType) CW_USEDEFAULT },
  /* [AS] Layout stuff */
{ "moveHistoryUp", ArgBoolean, (void *) &wpMoveHistory.visible, TRUE, (ArgIniType) TRUE }, { "moveHistoryX", ArgX, (void *) &wpMoveHistory.x, TRUE, (ArgIniType) CW_USEDEFAULT }, { "moveHistoryY", ArgY, (void *) &wpMoveHistory.y, TRUE, (ArgIniType) CW_USEDEFAULT }, { "moveHistoryW", ArgInt, (void *) &wpMoveHistory.width, TRUE, (ArgIniType) CW_USEDEFAULT }, { "moveHistoryH", ArgInt, (void *) &wpMoveHistory.height, TRUE, (ArgIniType) CW_USEDEFAULT },

{ "evalGraphUp", ArgBoolean, (void *) &wpEvalGraph.visible, TRUE, (ArgIniType) TRUE }, { "evalGraphX", ArgX, (void *) &wpEvalGraph.x, TRUE, (ArgIniType) CW_USEDEFAULT }, { "evalGraphY", ArgY, (void *) &wpEvalGraph.y, TRUE, (ArgIniType) CW_USEDEFAULT }, { "evalGraphW", ArgInt, (void *) &wpEvalGraph.width, TRUE, (ArgIniType) CW_USEDEFAULT }, { "evalGraphH", ArgInt, (void *) &wpEvalGraph.height, TRUE, (ArgIniType) CW_USEDEFAULT },

{ "engineOutputUp", ArgBoolean, (void *) &wpEngineOutput.visible, TRUE, (ArgIniType) TRUE }, { "engineOutputX", ArgX, (void *) &wpEngineOutput.x, TRUE, (ArgIniType) CW_USEDEFAULT }, { "engineOutputY", ArgY, (void *) &wpEngineOutput.y, TRUE, (ArgIniType) CW_USEDEFAULT }, { "engineOutputW", ArgInt, (void *) &wpEngineOutput.width, TRUE, (ArgIniType) CW_USEDEFAULT }, { "engineOutputH", ArgInt, (void *) &wpEngineOutput.height, TRUE, (ArgIniType) CW_USEDEFAULT },

Not intended for human use




reply via email to

[Prev in Thread] Current Thread [Next in Thread]