[Top][All Lists]
[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