Skip site navigation (1)Skip section navigation (2)

FreeBSD Manual Pages

  
 
  

home | help
xboard(6)			  Games Manual			       xboard(6)

NAME
     xboard - X graphical user interface for chess

SYNOPSIS
     xboard [options]
     xboard -ics -icshost hostname [options]
     xboard -ncp [options]
     |pxboard
     cmail [options]

DESCRIPTION
     XBoard  is  a  graphical  chessboard  that can serve as a user interface to
     chess engines (such as GNU Chess), the Internet Chess  Servers,  electronic
     mail correspondence chess, or your own collection of saved games.

     This manual documents version 4.8.0.20151020.3-git:f49e7e1 of XBoard.

MAJOR MODES
     XBoard  always  runs in one of four major modes.  You select the major mode
     from the command line when you start up XBoard.

     xboard [options]
	    As an interface to GNU Chess or another chess engine running on your
	    machine, XBoard lets you play a game against the machine, set up ar-
	    bitrary positions, force variations, watch a game between two  chess
	    engines,  interactively analyze your stored games or set up and ana-
	    lyze arbitrary positions.  (Note:  Not  all  chess	engines  support
	    analysis.)

     xboard -ics -icshost hostname [options]
	    As	Internet  Chess  Server  (ICS)	interface,  XBoard lets you play
	    against other ICS users, observe games they are playing,  or  review
	    games  that  have  recently  finished.  Most of the ICS "wild" chess
	    variants are supported, including bughouse.

     xboard -ncp [options]
	    XBoard can also be used simply as an electronic chessboard	to  play
	    through  games.  It  will read and write game files and allow you to
	    play through variations manually. You can use it to browse games off
	    the net or review games you have saved.   These  features  are  also
	    available in the other modes.

     |pxboard
	    If you want to pipe games into XBoard, use the supplied shell script
	    `pxboard'.	 For example, from the news reader `xrn', find a message
	    with one or more games in  it,  click  the	Save  button,  and  type
	    `|pxboard' as the file name.

     cmail [options]
	    As	an  interface  to  electronic  mail correspondence chess, XBoard
	    works with the cmail program. See CMail below for instructions.

BASIC OPERATION
     To move a piece, you can drag it with the left mouse  button,  or	you  can
     click the left mouse button once on the piece, then once more on the desti-
     nation  square.  In  crazyhouse,  bughouse  or  shogi you can drag and drop
     pieces to the board from the holdings squares displayed next to the board.

     Old behavior, where right-clicking a square brings up a menu where you  can
     select  what  piece  to  drop on it can still be selected through the `Drop
     Menu' option.  Only in Edit Position  mode  right	and  middle  clicking  a
     square  is  still	used  to put a piece on it, and the piece to drop is se-
     lected by sweeping the mouse vertically with the button held down.

     The default function of the right mouse button in other modes is to display
     the position the chess program thinks it will end up in.  While moving  the
     mouse  vertically	with  this  button  pressed XBoard will step through the
     principal variation to show how this position will be  reached.   Lines  of
     play  displayed  in the engine-output window, or PGN variations in the com-
     ment window can similarly be played out on the board, by right-clicking  on
     them.  Only in Analysis mode, when you walk along a PV, releasing the mouse
     button will forward the game upto that point, like you entered all previous
     PV  moves.   As  the  display of the PV in that case starts after the first
     move a simple right-click will play the move the engine indicates.

     In Analysis mode you can also make a move by grabbing the piece with a dou-
     ble-click of the left mouse button (or while keeping the Ctrl key pressed).
     In this case the move you enter will not be played, but  will  be	excluded
     from  the analysis of the current position.  (Or included if it was already
     excluded; it is a toggle.)  This only works for engines that  support  this
     feature.

     When connected to an ICS, it is possible to call up a graphical representa-
     tion of players seeking a game in stead of the chess board, when the latter
     is  not in use (i.e. when you are not playing or observing).  Left-clicking
     the display area will switch between this 'seek graph' and the chess board.
     Hovering the mouse pointer over a dot will show the details of the seek  ad
     in the message field above the board.  Left-clicking the dot will challenge
     that  player.   Right-clicking  a dot will 'push it to the back', to reveal
     any dots that were hidden behind it.  Right-clicking off dots will  refresh
     the graph.

     Most  other  XBoard commands are available from the menu bar. The most fre-
     quently used commands also have shortcut keys or on-screen buttons.   These
     shortcut  keystrokes  are mostly non-printable characters.  Typing a letter
     or digit while the board window has focus will bring up a type-in box  with
     the  typed  letter already in it.	You can use that to type a move in siua-
     tions where it is your turn to enter a move, type a move number to call  up
     the  position  after  that  move in the display, or, in Edit Position mode,
     type a FEN.  Some rarely used parameters can only be set through options on
     the command line used to invoke XBoard.

     XBoard uses a settings file, in which it can remember any	changes  to  the
     settings  that are made through menus or command-line options, so they will
     still apply when you restart XBoard for another session.  The settings  can
     be saved into this file automatically when XBoard exits, or on explicit re-
     quest   of   the	user.	The  default  name  for  the  settings	file  is
     /etc/xboard/xboard.conf, but in a standard install this file is  only  used
     as a master settings file that determines the system-wide default settings,
     and  defers  reading  and	writing of user settings to a user-specific file
     like ~/.xboardrc in the user's home directory.

     When XBoard is iconized, its graphical icon is a  white  knight  if  it  is
     White's turn to move, a black knight if it is Black's turn.

MENUS, BUTTONS, AND KEYS
   File Menu
     New Game
	    Resets  XBoard  and the chess engine to the beginning of a new chess
	    game. The `Ctrl-N' key is a keyboard equivalent. In  Internet  Chess
	    Server mode, clears the current state of XBoard, then resynchronizes
	    with the ICS by sending a refresh command. If you want to stop play-
	    ing, observing, or examining an ICS game, use an appropriate command
	    from the Action menu, not `New Game'.  See Action Menu.

     New Shuffle Game
	    Similar  to  `New Game', but allows you to specify a particular ini-
	    tial position (according to  a  standardized  numbering  system)  in
	    chess   variants   which  use  randomized  opening	positions  (e.g.
	    Chess960).	You can also press the `Pick Fixed' button to let XBoard
	    generate a random number for you.  The thus selected  opening  posi-
	    tion will then persistently be chosen on any following New Game com-
	    mand  until you use this menu to select another.  Selecting position
	    number -1 (or pushing the `Randomize' button) will produce	a  newly
	    randomized	position on any new game.  Using this menu item in vari-
	    ants that normally do not shuffle their opening position does  cause
	    these  variants  to  become  shuffle variants until you use the `New
	    Shuffle Game' menu to explicitly switch the  randomization	off,  or
	    select a new variant.

     New Variant
	    Allows  you  to select a new chess variant in non-ICS mode.  (In ICS
	    play, the ICS is responsible for  deciding	which  variant	will  be
	    played,  and  XBoard adapts automatically.)  The shifted `Alt+V' key
	    is a keyboard equivalent. If you play with	an  engine,  the  engine
	    must  be  able  to play the selected variant, or the command will be
	    ignored.  XBoard supports  all  major  variants,  such  as	xiangqi,
	    shogi, chess, chess960, Capablanca Chess, shatranj, crazyhouse, bug-
	    house.   But not every board size has built-in bitmaps for un-ortho-
	    dox pieces!  Only sizes  bulky  (72)  and  middling  (49)  have  all
	    pieces,  while size petite (33) has most.  These sizes would have to
	    be set at startup through the `size' command-line  option  when  you
	    start up XBoard for such variants to be playable.

	    You  can  overrule the default board format of the selected variant,
	    (e.g. to play suicide chess on a 6 x 6 board), in this  dialog,  but
	    normally  you would not do that, and leave them at '-1', which means
	    'default'.

     Load Game
	    Plays a game from a record file. The  `Ctrl-O'  key  is  a	keyboard
	    equivalent.   A  pop-up dialog prompts you for the file name. If the
	    file contains more than one game, a second pop-up dialog displays  a
	    list  of games (with information drawn from their PGN tags, if any),
	    and you can select the one you want. Alternatively, you can load the
	    Nth game in the file directly, by typing the number  `N'  after  the
	    file name, separated by a space.

	    The game file parser will accept PGN (portable game notation), or in
	    fact almost any file that contains moves in algebraic notation.  No-
	    tation  of	the  form `P@f7' is accepted for piece-drops in bughouse
	    games; this is a nonstandard extension to PGN.  If the file includes
	    a PGN position (FEN tag), or an old-style  XBoard  position  diagram
	    bracketed  by `[--' and `--]' before the first move, the game starts
	    from that position. Text enclosed in parentheses,  square  brackets,
	    or	curly  braces  is assumed to be commentary and is displayed in a
	    pop-up window. Any other text in the file is ignored. PGN variations
	    (enclosed in parentheses) also are treated as comments; however,  if
	    you  rights-click them in the comment window, XBoard will shelve the
	    current line, and load the the selected variation, so you  can  step
	    through it.  You can later revert to the previous line with the `Re-
	    vert'  command.   This way you can walk quite complex varation trees
	    with XBoard.  The nonstandard PGN tag [Variant "varname"]  functions
	    similarly  to the -variant command-line option (see below), allowing
	    games in certain chess variants to be loaded.  Note that it must ap-
	    pear before any FEN tag for XBoard to recognize variant FENs  appro-
	    priately.	There  is  also  a heuristic to recognize chess variants
	    from the Event tag, by looking for the  strings  that  the	Internet
	    Chess Servers put there when saving variant ("wild") games.

     Load Position
	    Sets  up  a  position from a position file.  A pop-up dialog prompts
	    you for the file name.  The  shifted  `Ctrl-O'  key  is  a	keyboard
	    equivalent.  If  the file contains more than one saved position, and
	    you want to load the Nth one, type the number N after the file name,
	    separated by a space. Position files must be  in  FEN  (Forsythe-Ed-
	    wards  notation),  or  in  the format that the Save Position command
	    writes when oldSaveStyle is turned on.

     Load Next Position
	    Loads the next position from the last position file you loaded.  The
	    shifted `PgDn' key is a keyboard equivalent.

     Load Previous Position
	    Loads the previous position from the last position file you  loaded.
	    The  shifted  `PgUp' key is a keyboard equivalent.	Not available if
	    the last position was loaded from a pipe.

     Save Game
	    Appends a record of the current game to a file.  The `Ctrl-S' key is
	    a keyboard equivalent.  A pop-up dialog prompts  you  for  the  file
	    name. If the game did not begin with the standard starting position,
	    the  game  file includes the starting position used. Games are saved
	    in the PGN (portable game notation) format, unless the  oldSaveStyle
	    option is true, in which case they are saved in an older format that
	    is specific to XBoard. Both formats are human-readable, and both can
	    be	read  back  by	the  `Load  Game' command.  Notation of the form
	    `P@f7' is accepted for piece-drops in bughouse games; this is a non-
	    standard extension to PGN.

     Save Position
	    Appends a diagram of the current position to a  file.   The  shifted
	    `Ctrl+S'  key is a keyboard equivalent.  A pop-up dialog prompts you
	    for the file name. Positions are saved in FEN (Forsythe-Edwards  no-
	    tation)  format  unless  the `oldSaveStyle' option is true, in which
	    case they are saved in an older, human-readable format that is  spe-
	    cific  to  XBoard.	Both formats can be read back by the `Load Posi-
	    tion' command.

     Save Selected Games
	    Will cause all games selected for display in the current  Game  List
	    to be appended to a file of the user's choice.

     Save Games as Book
	    Creates  an opening book from the currently loaded game file, incor-
	    porating only the games currently selected in the  Game  List.   The
	    book  will be saved on the file specified in the `Common Engine' op-
	    tions dialog.  The value of `Book Depth' specified in that same dia-
	    log will be used to determine how many moves of each  game	will  be
	    added  to  the  internal  book buffer.  This command can take a long
	    time to process, and the size of the buffer  is  currently	limited.
	    At	the  end  the  buffer  will be saved as a Polyglot book, but the
	    buffer will not be cleared, so that you can  continue  adding  games
	    from other game files.

     Mail Move
     Reload CMail Message
	    See CMail.

     Exit   Exits from XBoard. The `Ctrl-Q' key is a keyboard equivalent.

   Edit Menu
     Copy Game
	    Copies  a record of the current game to an internal clipboard in PGN
	    format and sets the X selection to the game text. The  `Ctrl-C'  key
	    is a keyboard equivalent. The game can be pasted to another applica-
	    tion  (such  as  a text editor or another copy of XBoard) using that
	    application's paste command.  In many X applications, such as  xterm
	    and  emacs,  the  middle  mouse  button  can be used for pasting; in
	    XBoard, you must use the Paste Game command.

     Copy Position
	    Copies the current position to an internal clipboard in  FEN  format
	    and  sets the X selection to the position text. The shifted `Ctrl-C'
	    key is a keyboard equivalent.  The position can be pasted to another
	    application (such as a text editor or another copy of XBoard)  using
	    that  application's  paste command.  In many X applications, such as
	    xterm and emacs, the middle mouse button can be used for pasting; in
	    XBoard, you must use the Paste Position command.

     Copy Game List
	    Copies the current game list to the clipboard, and sets the X selec-
	    tion to  this  text.   A  format  of  comma-separated  double-quoted
	    strings  is  used,	including all tags, so it can be easily imported
	    into spread-sheet programs.

     Paste Game
	    Interprets the current X selection as a game record and loads it, as
	    with Load Game. The `Ctrl-V' key is a keyboard equivalent.

     Paste Position
	    Interprets the current X selection as a FEN position and  loads  it,
	    as with Load Position. The shifted `Ctrl-V' key is a keyboard equiv-
	    alent.

     Edit Game
	    Allows  you  to  make  moves for both Black and White, and to change
	    moves after backing up with the `Backward' command.  The  clocks  do
	    not run. The `Ctrl-E' key is a keyboard equivalent.

	    In	chess engine mode, the chess engine continues to check moves for
	    legality but does not participate in the game.  You  can  bring  the
	    chess  engine  into  the game by selecting `Machine White', `Machine
	    Black', or `Two Machines'.

	    In ICS mode, the moves are not sent to the ICS:  `Edit  Game'  takes
	    XBoard  out  of ICS Client mode and lets you edit games locally.  If
	    you want to edit games on ICS in a way that other ICS users can see,
	    use the ICS `examine' command or start an ICS  match  against  your-
	    self.

     Edit Position
	    Lets  you  set up an arbitrary board position.  The shifted `Ctrl-E'
	    key is a keyboard equivalent.  Use mouse button 1 to drag pieces  to
	    new  squares,  or  to delete a piece by dragging it off the board or
	    dragging an empty square on top of it.  To drop a  new  piece  on  a
	    square,  press  mouse  button  2  or 3 over the square.  This puts a
	    white or black pawn in the square, respectively, but you can  change
	    that  to  any other piece type by dragging the mouse down before you
	    release the button.  You will then see the piece on  the  originally
	    clicked  square  cycle through the available pieces (including those
	    of opposite color), and can release the  button  when  you	see  the
	    piece  you want.  To alter the side to move, you can click the clock
	    (the words White and Black above the board) of the side you want  to
	    give the move to.  To clear the board you can click the clock of the
	    side  that alread has the move (which is highlighted in black).  The
	    old behavior with a piece menu can still be configured with the  aid
	    of	the `pieceMenu' option.  Selecting `Edit Position' causes XBoard
	    to discard all remembered moves in the current game.

	    In ICS mode, changes made to the position by `Edit Position' are not
	    sent to the ICS: `Edit Position' takes XBoard out  of  `ICS  Client'
	    mode  and lets you edit positions locally. If you want to edit posi-
	    tions on ICS in a way that other ICS users can see, use the ICS `ex-
	    amine' command, or start an ICS match against yourself.   (See  also
	    the ICS Client topic above.)

     Edit Tags
	    Lets  you edit the PGN (portable game notation) tags for the current
	    game. After editing, the tags must still conform to the PGN tag syn-
	    tax:

		<tag-section> ::= <tag-pair> <tag-section>
					<empty>
		<tag-pair> ::= [ <tag-name> <tag-value> ]
		<tag-name> ::= <identifier>
		<tag-value> ::= <string>

	    See the PGN Standard for full details. Here is an example:

		[Event "Portoroz Interzonal"]
		[Site "Portoroz, Yugoslavia"]
		[Date "1958.08.16"]
		[Round "8"]
		[White "Robert J. Fischer"]
		[Black "Bent Larsen"]
		[Result "1-0"]

	    Any characters that do not match this syntax are  silently	ignored.
	    Note  that	the PGN standard requires all games to have at least the
	    seven tags shown above. Any that you  omit	will  be  filled  in  by
	    XBoard with `?' (unknown value), or `-' (inapplicable value).

     Edit Comment
	    Adds  or  modifies	a  comment on the current position. Comments are
	    saved by `Save Game' and are displayed by `Load  Game',  PGN  varia-
	    tions  will  also  be printed in this window, and can be promoted to
	    main line by right-clicking them.  `Forward', and `Backward'.

     Edit Book
	    Pops up a window listing the moves available in the GUI book (speci-
	    fied in the `Common Engine Settings' dialog) from the currently dis-
	    played position, together with  their  weights  and  (optionally  in
	    braces)  learn  info.  You can then edit this list, and the new list
	    will be stored back into the book when you press OK.  Note that  the
	    listed percentages are neither used, nor updated when you change the
	    weights; they are just there as an optical aid.

     Revert
     Annotate
	    If	you  are examining an ICS game and Pause mode is off, Revert is-
	    sues the ICS command `revert'.  In local mode, when you were editing
	    or analyzing a game, and the `-variations'	command-line  option  is
	    switched  on, you can start a new variation by holding the Shift key
	    down while entering a move not at the end of the  game.   Variations
	    can also become the currently displayed line by clicking a PGN vari-
	    ation  displayed  in the Comment window.  This can be applied recur-
	    sively, so that you can analyze variations on variations; each  time
	    you  create  a  new  variation  by entering an alternative move with
	    Shift pressed, or select a new one from the Comment window, the cur-
	    rent variation will be shelved.  `Revert' allows you  to  return  to
	    the  most  recently  shelved variation.  The difference between `Re-
	    vert' and `Annotate' is that with the latter, the variation you  are
	    now  abandoning will be added as a comment (in PGN variation syntax,
	    i.e. between parentheses) to the original move where  you  deviated,
	    for  later	recalling.   The  `Home' key is a keyboard equivalent to
	    `Revert'.

     Truncate Game
	    Discards all remembered moves of the game beyond the  current  posi-
	    tion. Puts XBoard into `Edit Game' mode if it was not there already.
	    The `End' key is a keyboard equivalent.

     Backward
	    Steps backward through a series of remembered moves.  The `[<]' but-
	    ton  and  the `Alt+LeftArrow' key are equivalents, as is turning the
	    mouse wheel towards you.  In  addition,  pressing  the  Control  key
	    steps back one move, and releasing it steps forward again.

	    In	most modes, `Backward' only lets you look back at old positions;
	    it does not retract moves. This is	the  case  if  you  are  playing
	    against  a	chess  engine, playing or observing a game on an ICS, or
	    loading a game.  If you select `Backward' in  any  of  these  situa-
	    tions,  you  will  not be allowed to make a different move. Use `Re-
	    tract Move' or `Edit Game' if you want to change past moves.

	    If you are examining an ICS game, the behavior of `Backward' depends
	    on whether XBoard is in Pause mode. If Pause mode is off, `Backward'
	    issues the ICS backward command, which backs up everyone's	view  of
	    the  game  and allows you to make a different move. If Pause mode is
	    on, `Backward' only backs up your local view.

     Forward
	    Steps forward through a series of remembered moves (undoing the  ef-
	    fect of `Backward') or forward through a game file. The `[>]' button
	    and  the  `Alt+RightArrow'	key  are  equivalents, as is turning the
	    mouse wheel away from you.

	    If you are examining an ICS game, the behavior of Forward depends on
	    whether XBoard is in Pause mode. If Pause mode is off, `Forward' is-
	    sues the ICS forward command, which moves  everyone's  view  of  the
	    game  forward along the current line. If Pause mode is on, `Forward'
	    only moves your local view forward, and it will not go past the  po-
	    sition that the game was in when you paused.

     Back to Start
	    Jumps  backward  to  the first remembered position in the game.  The
	    `[<<]' button and the `Alt+Home' key are equivalents.

	    In most modes, Back to Start only lets you look back  at  old  posi-
	    tions;  it does not retract moves. This is the case if you are play-
	    ing against a local chess engine, playing or observing a game  on  a
	    chess  server,  or	loading a game. If you select `Back to Start' in
	    any of these situations, you will not be allowed to  make  different
	    moves.  Use `Retract Move' or `Edit Game' if you want to change past
	    moves; or use Reset to start a new game.

	    If you are examining an ICS game,  the  behavior  of  @samp{Back  to
	    Start}  depends on whether XBoard is in Pause mode. If Pause mode is
	    off, `Back to Start' issues the ICS `backward 999999' command, which
	    backs up everyone's view of the game to the start and allows you  to
	    make different moves. If Pause mode is on, @samp{Back to Start} only
	    backs up your local view.

     Forward to End
	    Jumps  forward  to	the  last  remembered  position in the game. The
	    `[>>]' button and the `Alt+End' key are equivalents.

	    If you are examining an ICS game, the behavior of  @samp{Forward  to
	    End}  depends  on  whether XBoard is in Pause mode. If Pause mode is
	    off, `Forward to End' issues the ICS `forward 999999' command, which
	    moves everyone's view of the game forward to the end of the  current
	    line.  If  Pause  mode is on, `Forward to End' only moves your local
	    view forward, and it will not go past the position that the game was
	    in when you paused.

   View Menu
     Flip View
	    Inverts your view of the chess board for the duration of the current
	    game. Starting a new game returns the board to normal.  The `F2' key
	    is a keyboard equivalent.

     Show Engine Output
	    Shows or hides a window in which the thinking output of  any  loaded
	    engines  is displayed. The shifted `Alt+O' key is a keyboard equiva-
	    lent.  XBoard will display lines of  thinking  output  of  the  same
	    depth  ordered  by score, (highest score on top), rather than in the
	    order the engine produced them.  Usually this amounts to  the  same,
	    as	a  normal  engine  search  will only find new PV (and emit it as
	    thinking output) when it searches a move with a  higher  score  than
	    the  previous  variation.  But when the engine is in multi-variation
	    mode this needs not always be true, and it is  more  convenient  for
	    someone analyzing games to see the moves sorted by score.  The order
	    in which the engine found them is only of interest to the engine au-
	    thor,  and	can still be deduced from the time or node count printed
	    with the line.  Right-clicking a line in this window, and then  mov-
	    ing  the mouse vertically with the right button kept down, will make
	    XBoard play through the PV listed there.  The use of the board  win-
	    dow  as  'variation  board'  will  normally end when you release the
	    right button, or when the opponent plays a	move.	But  beware:  in
	    Analysis mode, moves thus played out will be added to the game.  The
	    Engine-Output  pane for each engine will contain a header displaying
	    the multi-PV status and a list of excluded moves in  Analysis  mode,
	    which are also responsive to right-clicking.

     Show Move History
	    Shows  or  hides  a  list of moves of the current game.  The shifted
	    `Alt+H' key is a keyboard equivalent.  This list allows you to  move
	    the  display  to any earlier position in the game by clicking on the
	    corresponding move.

     Show Evaluation Graph
	    Shows or hides a window which displays a graph  of	how  the  engine
	    score(s)  evolved  as  a  function	of the move number.  The shifted
	    `Alt+E' key is a keyboard equivalent.  Clicking on	the  graph  will
	    bring the corresponding position in the board display.

     Show Game List
	    Shows  or  hides the list of games generated by the last `Load Game'
	    command. The shifted `Alt+G' key is a keyboard equivalent.

     Tags   Pops up a window which shows the PGN (portable game  notation)  tags
	    for  the  current  game.   For  now this is a duplicate of the `Edit
	    Tags' item in the `Edit' menu.

     Comments
	    Pops up a window which shows any comments to or  variations  on  the
	    current  move.   For  now  this is a duplicate of the `Edit Comment'
	    item in the `Edit' menu.

     ICS Input Box
	    If this option is set in ICS mode, XBoard creates  an  extra  window
	    that you can use for typing in ICS commands.  The input box is espe-
	    cially useful if you want to type in something long or do some edit-
	    ing on your input, because output from ICS doesn't get mixed in with
	    your typing as it would in the main terminal window.

     Open Chat Window
	    This  menu item opens a window in which you can conduct upto 5 chats
	    with other ICS users (or channels).  To use the  window,  write  the
	    name  of  your  chat  partner,  the  channel  number,  or  the words
	    'shouts', 'whispers', 'cshouts' in the  upper  field  (closing  with
	    <Enter>).	Everything  you type in the lowest field will then auto-
	    matically be sent to the  mentioned  party,  while	everything  that
	    party  sends to you will appear in the central text box, rather than
	    appear in the ICS console.	The row of buttons allow you  to  choose
	    between  chat; to start a new chat, just select an empty button, and
	    complete the `Chat partner' field.

     Board  Summons a dialog where you can  customize  the  look  of  the  chess
	    board.   Here  you can specify the directory from which piece images
	    should be taken, when you don't want to use the built-in  piece  im-
	    ages  (see `pieceImageDirectory' option), external images to be used
	    for the board squares (`liteBackTextureFile'  and  `darkBackTexture-
	    File' options), and square and piece colors for the default pieces.

     Game List Tags
	    a duplicate of the Game List dialog in the Options menu.

   Mode Menu
     Machine White
	    Tells  the	chess  engine to play White.  The `Ctrl-W' key is a key-
	    board equivalent.

     Machine Black
	    Tells the chess engine to play Black.  The `Ctrl-B' key  is  a  key-
	    board equivalent.

     Two Machines
	    Plays  a game between two chess engines.  The `Ctrl-T' key is a key-
	    board equivalent.

     Analysis Mode
	    XBoard tells  the  chess  engine  to  start  analyzing  the  current
	    game/position  and shows you the analysis as you move pieces around.
	    The `Ctrl-A' key is a keyboard equivalent.	Note: Some chess engines
	    do not support Analysis mode.

	    To set up a position to analyze, you do the following:

	    1. Select Edit Position from the Mode Menu

	    2. Set up the position.  Use the middle and right buttons  to  bring
	    up the white and black piece menus.

	    3.	When  you are finished, click on either the Black or White clock
	    to tell XBoard which side moves first.

	    4. Select Analysis Mode from the Mode Menu to start the analysis.

	    You can now play legal moves to create follow-up positions	for  the
	    engine  to	analyze,  while the moves will be remembered as a stored
	    game, and then step backward through this game  to	take  the  moves
	    back.   Note  that you can also click on the clocks to set the oppo-
	    site side to move (adding a so-called `null move' to the game).

	    You can also tell the engine to exclude some  moves  from  analysis.
	    (Engines  that  do not support the exclude-moves feature will ignore
	    this, however.)  The general way to do this is to play the move  you
	    want to exclude starting with a double click on the piece.	When you
	    use  drag-drop  moving,  the piece you grab with a double click will
	    also remain on its square, to show you that you are not really  mak-
	    ing the move, but just forbid it from the current position.  Playing
	    a  thus excluded move a second time will include it again.	Excluded
	    moves will be listed as text in a header line in the  Engine  Output
	    window,  and  you  can  also  re-include them by right-clicking them
	    there.  This header line will also	contain  the  words  'best'  and
	    'tail';  right-clicking  those will exclude the currently best move,
	    or all moves not explicitly listed in the  header  line.   Once  you
	    leave the current position all memory of excluded moves will be lost
	    when you return there.

	    Selecting  this menu item while already in `Analysis Mode' will tog-
	    gle the participation of the second engine	in  the  analysis.   The
	    output  of	this  engine will then be shown in the lower pane of the
	    Engine Output window.  The analysis function can also be  used  when
	    observing  games  on  an ICS with an engine loaded (zippy mode); the
	    engine then will analyse the positions as they occur in the observed
	    game.

     Analyze Game
	    This option subjects the currently loaded game to automatic analysis
	    by the loaded engine.  The `Ctrl-G' key is	a  keyboard  equivalent.
	    XBoard will start auto-playing the game from the currently displayed
	    position,  while  the engine is analyzing the current position.  The
	    game will be annotated with the results of these analyses.	In  par-
	    ticlar,  the  score and depth will be added as a comment, and the PV
	    will be added as a variation.

	    Normally the analysis would stop after reaching the end of the game.
	    But when a game is loaded from  a  multi-game  file  while	`Analyze
	    Game'  was	already switched on, the analysis will continue with the
	    next game in the file until the end of the file is reached	(or  you
	    switch to another mode).

	    The  time the engine spends on analyzing each move can be controlled
	    through the command-line option `-timeDelay', which can also be  set
	    from  the `Load Game Options' menu dialog.	Note: Some chess engines
	    do not support Analysis mode.

     Edit Game
	    Duplicate of the item in the Edit menu.  Note that	`Edit  Game'  is
	    the  idle  mode  of  XBoard, and can be used to get you out of other
	    modes. E.g. to stop analyzing, stop a game between	two  engines  or
	    stop editing a position.

     Edit Position
	    Duplicate of the item in the Edit menu.

     Training
	    Training  mode  lets you interactively guess the moves of a game for
	    one of the players. You guess the next move of the game  by  playing
	    the  move  on the board. If the move played matches the next move of
	    the game, the move is accepted and the opponent's response is  auto-
	    played.   If  the move played is incorrect, an error message is dis-
	    played.  You can select this mode only while loading  a  game  (that
	    is,  after	selecting `Load Game' from the File menu).  While XBoard
	    is in `Training' mode, the navigation buttons are disabled.

     ICS Client
	    This is the normal mode when XBoard is connected to a chess  server.
	    If	you have moved into Edit Game or Edit Position mode, you can se-
	    lect this option to get out.

	    To use xboard in ICS mode, run it in the foreground  with  the  -ics
	    option,  and  use  the terminal you started it from to type commands
	    and receive text responses from the chess server.  See Chess Servers
	    below for more information.

	    XBoard activates some special position/game  editing  features  when
	    you  use the `examine' or `bsetup' commands on ICS and you have `ICS
	    Client' selected on the Mode menu.	First, you can issue the ICS po-
	    sition-editing commands with the mouse.   Move  pieces  by	dragging
	    with  mouse  button 1.  To drop a new piece on a square, press mouse
	    button 2 or 3 over the square.  This  brings  up  a  menu  of  white
	    pieces  (button  2)  or  black  pieces  (button 3).  Additional menu
	    choices let you empty the square or clear the board.  Click  on  the
	    White  or  Black  clock to set the side to play.  You cannot set the
	    side to play or drag pieces to arbitrary squares while examining  on
	    ICC,  but  you can do so in `bsetup' mode on FICS.	In addition, the
	    menu commands `Forward', `Backward', `Pause', and  `Stop  Examining'
	    have special functions in this mode; see below.

     Machine Match
	    Starts  a  match  between two chess programs, with a number of games
	    and other parameters set through the `Match  Options'  menu  dialog.
	    When  a  match  is	already  running,  selecting this item will make
	    XBoard drop out of match mode after the current game finishes.

     Pause  Pauses updates to the board, and if you are playing against a  chess
	    engine,  also  pauses your clock. To continue, select `Pause' again,
	    and the display will automatically update to  the  latest  position.
	    The `P' button and keyboard `Pause' key are equivalents.

	    If	you select Pause when you are playing against a chess engine and
	    it is not your move, the chess engine's clock will continue  to  run
	    and  it will eventually make a move, at which point both clocks will
	    stop. Since board updates are paused, however, you will not see  the
	    move  until  you exit from Pause mode (or select Forward).	This be-
	    havior is meant to simulate adjournment with a sealed move.

	    If you select Pause while you are observing or examining a game on a
	    chess server, you can step backward and forward in the current  his-
	    tory  of the examined game without affecting the other observers and
	    examiners, and without having your display jump forward to the  lat-
	    est  position each time a move is made. Select Pause again to recon-
	    nect yourself to the current state of the game on ICS.

	    If you select `Pause' while you are loading a game, the  game  stops
	    loading. You can load more moves manually by selecting `Forward', or
	    resume automatic loading by selecting `Pause' again.

   Action Menu
     Accept
	    Accepts  a	pending match offer.  The `F3' key is a keyboard equiva-
	    lent.  If there is more than one offer pending,  you  will	have  to
	    type in a more specific command instead of using this menu choice.

     Decline
	    Declines a pending offer (match, draw, adjourn, etc.).  The `F4' key
	    is	a  keyboard equivalent. If there is more than one offer pending,
	    you will have to type in a more specific command  instead  of  using
	    this menu choice.

     Call Flag
	    Calls  your  opponent's  flag, claiming a win on time, or claiming a
	    draw if you are both out of time.  The `F5' key is a keyboard equiv-
	    alent.  You can also call your opponent's flag by  clicking  on  his
	    clock.

     Draw   Offers  a  draw  to your opponent, accepts a pending draw offer from
	    your opponent, or claims a draw by repetition or the  50-move  rule,
	    as appropriate. The `F6' key is a keyboard equivalent.

     Adjourn
	    Asks  your	opponent  to  agree  to  adjourning the current game, or
	    agrees to a pending adjournment offer from your opponent.  The  `F7'
	    key is a keyboard equivalent.

     Abort  Asks  your opponent to agree to aborting the current game, or agrees
	    to a pending abort offer from your opponent.  The `F8' key is a key-
	    board equivalent. An aborted game ends immediately without affecting
	    either player's rating.

     Resign
	    Resigns the game to your opponent. The `F9' key is a keyboard equiv-
	    alent.

     Stop Observing
	    Ends your participation in observing a game, by issuing the ICS  ob-
	    serve  command with no arguments. ICS mode only.  The `F10' key is a
	    keyboard equivalent.

     Stop Examining
	    Ends your participation in examining a game, by issuing the ICS  un-
	    examine command. ICS mode only.  The `F11' key is a keyboard equiva-
	    lent.

     Upload to Examine
	    Create  an	examined game of the proper variant on the ICS, and send
	    the game there that is currenty loaded in XBoard (e.g. through past-
	    ing or loading from file).	You must be connected to an ICS for this
	    to work.

     Adjudicate to White
     Adjudicate to Black
     Adjudicate Draw
	    Terminate an ongoing game  in  Two-Machines  mode  (including  match
	    mode), with as result a win for white, for black, or a draw, respec-
	    tively.   The  PGN file of the game will accompany the result string
	    by the comment "user adjudication".

   Engine Menu
     Load Engine
	    Pops up a dialog where you can select or specify  an  engine  to  be
	    loaded.   You  will always have to indicate whether you want to load
	    the engine as first or second engine, through the  aLoad  menitioned
	    engine asa drop-down list at the bottom of the dialog.  You can even
	    replace  engines  during a game, without disturbing that game.  (Be-
	    ware that after loading an engine, XBoard will  always  be	in  Edit
	    Game mode, so you will have to tell the new engine what to do before
	    it does anything!)	When you select an already installed engine from
	    the  aSelect  Engine  from Lista drop-down list, all other fields of
	    the dialog will be ignored.  In other cases, you have to specify the
	    engine executable, possible arguments on the engine command line (if
	    the engine docs say the engine needs any), and the	directory  where
	    the  engine should look for its files (if this cannot be deduced au-
	    tomatically from the specification of the engine  executable).   You
	    will also have to specify (with the aid of checkboxes) if the engine
	    is	UCI.  If aAdd this engine to the lista is ticked (which it is by
	    default), the engine will be added to the list of installed  engines
	    in	your  settings	file, (provided you save the settings!), so that
	    next time you can select it from the drop-down list.  You  can  also
	    specify  a	anicknamea,  under  which the engine will then appear in
	    that drop-down list, and even choose to use that nickname for it  in
	    PGN  files	for  engine-engine  games.  The info you supply with the
	    checkboxes whether the engine should use GUI book, or  (for  variant
	    engines)  automatically  switch  to the current variant when loaded,
	    will also be included in the list.	 For  obsolete	XBoard	engines,
	    which  would  normally  take  a long delay to load because XBoard is
	    waiting for a response they will not give, you can tick aWB protocol
	    v1a to speed up the loading process.

     Engine #N Settings
	    Pop up a menu dialog to alter the settings specific to the	applica-
	    ble  engine.  (The second engine is only accessible once it has been
	    used in Two-Machines mode.)  For each parameter the engine allows to
	    be set, a control element will appear in this  dialog  that  can  be
	    used  to  alter the value.	Depending on the type of parameter (text
	    string, number, multiple choice, on/off switch,  instantaneous  sig-
	    nal) the appropriate control will appear, with a description next to
	    it.   XBoard has no idea what these values mean; it just passes them
	    on to the engine.  How this dialog looks is completely determined by
	    the engine, and XBoard just passes it on to the user.  Many  engines
	    do	not have any parameters that can be set by the user, and in that
	    case the dialog will be empty (except for the  OK  and  cancel  but-
	    tons).   UCI  engines  usually  have many parameters. (But these are
	    only visible with a sufficiently  modern  version  of  the	Polyglot
	    adapter  needed  to run UCI engines, e.g. Polyglot 1.4.55b.) For na-
	    tive XBoard engines this is less common.

     Hint   Displays a move hint from the chess engine.

     Book   Displays a list of possible moves from the	chess  engine's  opening
	    book.   The exact format depends on what chess engine you are using.
	    With GNU Chess 4, the first column gives moves,  the  second  column
	    gives  one	possible  response  for  each move, and the third column
	    shows the number of lines in the book that include the move from the
	    first column. If you select this option  and  nothing  happens,  the
	    chess engine is out of its book or does not support this feature.

     Move Now
	    Forces the chess engine to move immediately. Chess engine mode only.
	    The `Ctrl-M' key is a keyboard equivalent.

     Retract Move
	    Retracts  your last move. In chess engine mode, you can do this only
	    after the chess engine has replied to your move; if the chess engine
	    is still thinking, use `Move Now' first. In ICS mode, `Retract Move'
	    issues the command `takeback 1' or `takeback 2' depending on whether
	    it is your opponent's move or yours.  The `Ctrl-X' key is a keyboard
	    equivalent.

     Recently Used Engines
	    At the bottom of the engine menu there can be a list of names of en-
	    gines that you recently loaded through the Load Engine  menu  dialog
	    in previous sessions.  Clicking on such a name will load that engine
	    as	first engine, so you won't have to search for it in your list of
	    installed engines, if that is very long.  The maximum number of dis-
	    played engine names is set by  the	`recentEngines'command-line  op-
	    tion.

   Options Menu
     The  following  items to set option values appear in the dialog summoned by
     the general Options menu item.

     Absolute Analysis Scores
	    Controls if scores on the Engine Output window during analysis  will
	    be printed from the white or the side-to-move point-of-view.

     Almost Always Queen
	    If	this  option  is  on,  7th-rank  pawns automatically change into
	    Queens when you pick them up, and when you drag them to  the  promo-
	    tion  square and release them there, they will promote to that.  But
	    when you drag such a pawn backwards first, its identity  will  start
	    to cycle through the other available pieces.  This will continue un-
	    til you start to move it forward; at which point the identity of the
	    piece  will be fixed, so that you can safely put it down on the pro-
	    motion square.  If this option is off, what happens depends  on  the
	    option  `alwaysPromoteToQueen', which would force promotion to Queen
	    when true.	Otherwise XBoard would bring up a  dialog  box	whenever
	    you move a pawn to the last rank, asking what piece you want to pro-
	    mote to.

     Animate Dragging
	    If	Animate  Dragging is on, while you are dragging a piece with the
	    mouse, an image of the piece follows the mouse cursor.   If  Animate
	    Dragging  is off, there is no visual feedback while you are dragging
	    a piece, but if Animate Moving is on, the move will be animated when
	    it is complete.

     Animate Moving
	    If Animate Moving is on, all piece moves are animated.  An image  of
	    the piece is shown moving from the old square to the new square when
	    the  move is completed (unless the move was already animated by Ani-
	    mate Dragging).  If Animate Moving is off, a moved	piece  instantly
	    disappears	from its old square and reappears on its new square when
	    the move is complete.  The shifted `Ctrl-A' key is a keyboard equiv-
	    alent.

     Auto Flag
	    If this option is on and one player runs  out  of  time  before  the
	    other,  XBoard  will  automatically call his flag, claiming a win on
	    time.  The shifted `Ctrl-F' key is a keyboard  equivalent.	 In  ICS
	    mode,  Auto Flag will only call your opponent's flag, not yours, and
	    the ICS may award you a draw instead of a win if you  have	insuffi-
	    cient  mating material.  In local chess engine mode, XBoard may call
	    either player's flag and will not take material into account (?).

     Auto Flip View
	    If the Auto Flip View option is on when you start a game, the  board
	    will be automatically oriented so that your pawns move from the bot-
	    tom of the window towards the top.

	    If you are playing a game on an ICS, the board is always oriented at
	    the start of the game so that your pawns move from the bottom of the
	    window  towards  the top. Otherwise, the starting orientation is de-
	    termined by the `flipView' command line option; if it is false  (the
	    default), White's pawns move from bottom to top at the start of each
	    game; if it is true, Black's pawns move from bottom to top. See User
	    interface options.

     Blindfold
	    If	this  option  is on, XBoard displays the board as usual but does
	    not display pieces or move highlights.  You can still  move  in  the
	    usual  way	(with  the  mouse  or by typing moves in ICS mode), even
	    though the pieces are invisible.

     Drop Menu
	    Controls if right-clicking the board in crazyhouse /  bughouse  will
	    pop up a menu to drop a piece on the clicked square (old, deprecated
	    behavior)  or  allow  you  to step through an engine PV (new, recom-
	    mended behavior).

     Enable Variation Trees
	    If this option is on, playing a move in Edit Game  or  Analyze  mode
	    while keeping the Shift key pressed will start a new variation.  You
	    can  then  recall  the previous line through the `Revert' menu item.
	    When off, playing a move will truncate the game and append the  move
	    irreversibly.

     Hide Thinking
	    If	this  option  is off, the chess engine's notion of the score and
	    best line of play from the current position is displayed  as  it  is
	    thinking.  The score indicates how many pawns ahead (or if negative,
	    behind) the chess engine thinks it is. In matches  between	two  ma-
	    chines,  the  score is prefixed by `W' or `B' to indicate whether it
	    is showing White's thinking or Black's, and only the thinking of the
	    engine that is on move is shown.  The shifted `Ctrl-H' key is a key-
	    board equivalent.

     Highlight Last Move
	    If Highlight Last Move is on, after a move is made, the starting and
	    ending squares remain highlighted. In addition, after you use  Back-
	    ward  or  Back to Start, the starting and ending squares of the last
	    move to be unmade are highlighted.

     Highlight with Arrow
	    Causes the highlighting described in Highlight Last Move to be  done
	    by	drawing  an arrow between the highlighted squares, so that it is
	    visible even when the width of the grid lines is set to zero.

     Move Sound
	    Enables the sounding of an audible signal when the computer performs
	    a move.  For the selection of the sound, see  `Sound  Options'.   If
	    you  turn  on  this option when using XBoard with the Internet Chess
	    Server, you will probably want to give the `set bell 0'  command  to
	    the  ICS,  since otherwise the ICS will ring the terminal bell after
	    every move (not just yours). (The `.icsrc' file is a good place  for
	    this; see ICS options.)

     One-Click Moving
	    If this option is on, XBoard does not wait for you to click both the
	    from-  and	the to-square, or drag the piece, but performs a move as
	    soon as it is uniqely specified.  This applies to  clicking  an  own
	    piece that only has a single legal move, clicking an empty square or
	    opponent  piece  where only one of your pieces can move (or capture)
	    to.  Furthermore, a double-click on a piece that  can  only  make  a
	    single capture will cause that capture to be made.	Promoting a Pawn
	    by clicking its to-square will suppress the promotion popup or other
	    methods  for  selecting  an  under-promotion, and make it promote to
	    Queen.

     Periodic Updates
	    If this option is off (or if you are using a chess engine that  does
	    not  support periodic updates), the analysis window will only be up-
	    dated when the analysis changes. If this option is on, the	Analysis
	    Window will be updated every two seconds.

     Play Move(s) of Clicked PV
	    If	this option is on, right-clicking a PV in the Engine Output win-
	    dow during Analyze mode will cause the first move of that PV  to  be
	    played.  You could also play more than one (or no) PV move by moving
	    the mouse to engage in the PV walk such a right-click will start, to
	    seek  out  another	position along the PV where you want to continue
	    the analysis, before releasing the mouse button.

     Ponder Next Move
	    If this option is off, the chess engine will think only when  it  is
	    on	move.	If  the  option  is on, the engine will also think while
	    waiting for you to make your move.	The shifted `Ctrl-P'  key  is  a
	    keyboard equivalent.

     Popup Exit Message
	    If	this  option  is on, when XBoard wants to display a message just
	    before exiting, it brings up a modal dialog box and waits for you to
	    click OK before exiting.  If the option is off,  XBoard  prints  the
	    message to standard error (the terminal) and exits immediately.

     Popup Move Errors
	    If this option is off, when you make an error in moving (such as at-
	    tempting an illegal move or moving the wrong color piece), the error
	    message is displayed in the message area.  If the option is on, move
	    errors are displayed in small pop-up windows like other errors.  You
	    can  dismiss  an error pop-up either by clicking its OK button or by
	    clicking anywhere on the board, including down-clicking to	start  a
	    move.

     Scores in Move List
	    If this option is on, XBoard will display the depth and score of en-
	    gine moves in the Move List, in the format of a PGN comment.

     Show Coords
	    If	this  option  is on, XBoard displays algebraic coordinates along
	    the board's left and bottom edges.

     Show Target Squares
	    If this option is on, all squares a piece that is 'picked  up'  with
	    the  mouse can legally move to are highighted with a fat colored dot
	    in the highlightColor (non-captures) or premoveHighlightColor  (cap-
	    tures).   Legality	testing  must  be  on for XBoard to know how the
	    piece moves.

     Test Legality
	    If this option is on, XBoard tests whether the moves you try to make
	    with the mouse are legal and refuses to  let  you  make  an  illegal
	    move.   The  shifted  `Ctrl-L'  key is a keyboard equivalent.  Moves
	    loaded from a file with `Load Game' are also checked.  If the option
	    is off, all moves are accepted, but if a local chess engine  or  the
	    ICS  is  active,  they will still reject illegal moves.  Turning off
	    this option is useful if you are playing a chess variant with  rules
	    that XBoard does not understand.  (Bughouse, suicide, and wild vari-
	    ants where the king may castle after starting on the d file are gen-
	    erally supported with Test Legality on.)

     Flash Moves
     Flash Rate
	    If	this option is non-zero, whenever a move is completed, the moved
	    piece flashes the specified number of times.  The flash-rate setting
	    determines how rapidly this flashing occurs.

     Animation Speed
	    Determines the duration (in msec) of an animation step,  when  `Ani-
	    mate Moving' is swiched on.

     Zoom factor in Evaluation Graph
	    Sets  the  valueof	the  `evalZoom' option, indicating the factor by
	    which the score interval (-1,1) should be blown up on  the	vertical
	    axis of the Evaluation Graph.

     Pops  up  a sub-menu where you can set the time-control parameters interac-
     tively.  Allows you to select classical or incremental time  controls,  set
     the  moves  per session, session duration, and time increment.  Also allows
     specification of time-odds factors for one or both engines.  If  an  engine
     is  given a time-odds factor N, all time quota it gets, be it at the begin-
     ning of a session or through the time increment or  fixed	time  per  move,
     will be divided by N.  The shifted `Alt+T' key is a keyboard equivalent.

     Pops  up a sub-menu where you can set some engine parameters common to most
     engines, such as hash-table size, tablebase cache size, maximum  number  of
     processors that SMP engines can use, and where to find the Polyglot adapter
     needed  to run UCI engines under XBoard. The feature that allows setting of
     these parameters on engines  is  new  since  XBoard  4.3.15,  so  not  many
     XBoard/WinBoard engines respond to it yet, but UCI engines should.

     It  is  also  possible  to specify a GUI opening book here, i.e. an opening
     book that XBoard consults for any position a playing engine  gets	in.   It
     then  forces  the engine to play the book move, rather than to think up its
     own, if that position is found in the book.  The book can switched  on  and
     off  independently for either engine.  The way book moves are chosen can be
     influenced through the settings of book  depth  and  variety.   After  both
     sides  have  played  more	moves than the specified depth, the book will no
     longer be consulted.  When the variety is set to 50, moves will  be  played
     with  the	probability  specified	in  the  book.	 When set to 0, only the
     move(s) with the highest probability will be played.  When set to 100,  all
     listed moves will be played with equal pobability.  Other settings interpo-
     late between that.  The shifted `Alt+U' key is a keyboard equivalent.

     Pops  up  a  sub-menu where you can enable or disable various adjudications
     that XBoard can perform in engine-engine games.  The shifted `Alt+J' key is
     a keyboard equivalent.  You can instruct XBoard to detect and terminate the
     game on checkmate or stalemate, even if the engines would	not  do  so,  to
     verify  engine  result  claims (forfeiting engines that make false claims),
     rather than naively following the engine,	to  declare  draw  on  positions
     which  can  never	be won for lack of mating material, (e.g. KBK), or which
     are impossible to win unless the opponent seeks its own demise (e.g. KBKN).
     For these adjudications to work, `Test Legality' should be switched on.  It
     is also possible to instruct XBoard to enforce a 50-move  or  3-fold-repeat
     rule  and	automatically  declare	draw  (after a user-adjustable number of
     moves or repeats) even if the engines are prepared to go on.   It	is  also
     possible to have XBoard declare draw on games that seem to drag on forever,
     or  adjudicate  a loss if both engines agree (for 3 consecutive moves) that
     one of them is behind more than a user-adjustable score threshold.  For the
     latter adjudication to work, XBoard should be able to  properly  understand
     the  engine's  scores. To facilitate the latter, you can inform xboard here
     if the engines report scores from the viewpoint of white, or from	that  of
     their own color.

     The  following  options  occur in a dialog summoned by the ICS Options menu
     item.

     Auto Kibitz
	    Setting this option when playing with or aginst a chess  program  on
	    an ICS will cause the last line of thinking output of the engine be-
	    fore  its  move to be sent to the ICS in a kibitz command.	In addi-
	    tion, any kibitz message received through the ICS from  an	opponent
	    chess  program  will  be  diverted to the engine-output window, (and
	    suppressed in the console), where you can play  through  its  PV  by
	    right-clicking it.

     Auto Comment
	    If	this option is on, any remarks made on ICS while you are observ-
	    ing or playing a game are recorded as a comment on the current move.
	    This includes remarks made with  the  ICS  commands  `say',  `tell',
	    `whisper', and `kibitz'.  Limitation: remarks that you type yourself
	    are  not  recognized; XBoard scans only the output from ICS, not the
	    input you type to it.

     Auto Observe
	    If this option is on and you add a player to your `gnotify' list  on
	    ICS,  XBoard  will automatically observe all of that player's games,
	    unless you are doing something else (such as observing or playing  a
	    game of your own) when one starts.	The games are displayed from the
	    point of view of the player on your gnotify list; that is, his pawns
	    move from the bottom of the window towards the top.  Exceptions:  If
	    both  players in a game are on your gnotify list, if your ICS `high-
	    light' variable is set to 0, or if the ICS you are	using  does  not
	    properly  support observing from Black's point of view, you will see
	    the game from White's point of view.

     Auto Raise Board
	    If this option is on, whenever a new  game	begins,  the  chessboard
	    window  is	deiconized  (if  necessary) and raised to the top of the
	    stack of windows.

     Auto Save
	    If this option is true, at the end of every game XBoard prompts  you
	    for  a  file  name	and appends a record of the game to the file you
	    specify.  Disabled if the `saveGameFile' command-line option is set,
	    as in that case all games are saved to the specified file.	See Load
	    and Save options.

     Background Observe
	    Setting this option will make XBoard suppress display of any  boards
	    from  observed  games while you are playing.  In stead the last such
	    board will be remembered, and shown to you when you right-click  the
	    board.  This allows you to peek at your bughouse partner's game when
	    you want, without disturbing your own game too much.

     Dual Board
	    Setting  this  option  in combination with `Background Observe' will
	    display boards of observed games while you are playing on  a  second
	    board next to that of your own game.

     Get Move List
	    If	this option is on, whenever XBoard receives the first board of a
	    new ICS game (or a different game from the one it is currently  dis-
	    playing), it retrieves the list of past moves from the ICS.  You can
	    then  review the moves with the `Forward' and `Backward' commands or
	    save them with `Save Game'.  You might want to turn off this  option
	    if you are observing several blitz games at once, to keep from wast-
	    ing  time  and  network  bandwidth	fetching the move lists over and
	    over.  When you turn this option on from the  menu,  XBoard  immedi-
	    ately fetches the move list of the current game (if any).

     Quiet Play
	    If	this  option  is on, XBoard will automatically issue an ICS `set
	    shout 0' command whenever you start a game and a `set shout 1'  com-
	    mand  whenever  you finish one.  Thus, you will not be distracted by
	    shouts from other ICS users while playing.

     Seek Graph
	    Setting this option will cause XBoard to display an  graph	of  cur-
	    rently  active seek ads when you left-click the board while idle and
	    logged on to an ICS.

     Auto-Refresh Seek Graph
	    In combination with the `Seek Graph' option this  will  cause  auto-
	    matic  update  of the seek graph while it is up.  This only works on
	    FICS and ICC, and requires a lot of bandwidth on a busy server.

     Premove
     Premove White
     Premove Black
     First White Move
     First Black Move
	    If this option is on while playing a game on an ICS, you can  regis-
	    ter  your  next planned move before it is your turn.  Move the piece
	    with the mouse in the ordinary way,  and  the  starting  and  ending
	    squares  will  be highlighted with a special color (red by default).
	    When it is your turn, if your registered move is legal, XBoard  will
	    send  it  to ICS immediately; if not, it will be ignored and you can
	    make a different move.  If you change your mind about your	premove,
	    either make a different move, or double-click on any piece to cancel
	    the move entirely.

	    You  can  also enter premoves for the first white and black moves of
	    the game.

     ICS Alarm
     ICS Alarm Time
	    When this option is on, an alarm sound is  played  when  your  clock
	    counts  down  to  the icsAlarmTime in an ICS game.	(By default, the
	    time is 5 seconds, but you can pecify other values	with  the  Alarm
	    Time  spin	control.)   For games with time controls that include an
	    increment, the alarm will sound each time the clock counts	down  to
	    the icsAlarmTime.  By default, the alarm sound is the terminal bell,
	    but  on  some  systems  you  can change it to a sound file using the
	    soundIcsAlarm option; see below.

     Colorize Messages
	    Ticking this options causes various types of ICS messages do be dis-
	    played with different foreground or background colors  in  the  con-
	    sole.   The  colors  can  be  individually	selected  for each type,
	    through the accompanying text edits.

     Summons a dialog where you can set options important for playing  automatic
     matches  between two chess programs (e.g. by using the `Machine Match' menu
     item in the `Mode' menu).

     Tournament file
	    To run a tournament, XBoard needs a file to record its progress,  so
	    it	can resume the tourney when it is interrupted.	When you want to
	    conduct anything more complex than a simple  two-player  match  with
	    the  currently  loaded engines, (i.e. when you select a list of par-
	    ticipants), you must not leave this field blank.  When you enter the
	    name of an existing tournament file, XBoard will  ignore  all  other
	    input  specified in the dialog, and will take them from that tourna-
	    ment file.	This resumes an interrupted tournament, or adds  another
	    XBoard  agent  playing  games for it to those that are already doing
	    so.  Specifying a not-yet-existing file will cause XBoard to  create
	    it,  according to the tournament parameters specified in the rest of
	    the dialog, before it starts the tournament on aOKa.  Provided  that
	    you  specify  participants;  without participants no tournament file
	    will be made, but other entered values (e.g. for the file with open-
	    ing positions) will take effect.  Default: configured  by  the  `de-
	    faultTourneyName' option.

     Sync after round
     Sync after cycle
	    The  sync  options,  when  on,  will  cause WinBoard to refrain from
	    starting games of the next round or cycle before all  games  of  the
	    previous  round  or cycle are finished.  This guarantees correct or-
	    dering in the games file, even when multiple  XBoard  instances  are
	    concurrently  playing games for the same tourney.  Default: sync af-
	    ter cycle, but not after round.

     Select Engine
     Tourney participants
	    With the Select Engine drop-down list you can pick	an  engine  from
	    your  list of installed engines in the settings file, to be added to
	    the tournament.  The engines selected so far will be listed  in  the
	    aTourney  participantsa  memo.  The latter is a normal text edit, so
	    you can use normal text-editing functions to delete engines you  se-
	    lected  by accident, or change their order.  Do not type names your-
	    self there, because names that do not exactly match one of the names
	    from the drop-down list will lead to undefined behavior.

     Tourney type
	    Here you can specify the type of tournament you want.  XBoardas  in-
	    trinsic  tournament  manager  support round-robins (type = 0), where
	    each   participant	  plays    every    other    participant,    and
	    (multi-)gauntlets, where one (or a few) so-called agauntlet enginesa
	    play an independent set of opponents.  In the latter case, you spec-
	    ify  the  number  of gauntlet engines.  E.g. if you specified 10 en-
	    gines, and tourney type = 2, the first 2 engines each play	the  re-
	    maining  8.   A value of -1 instructs XBoard to play Swiss; for this
	    to work an external pairing engine must  be  specified  through  the
	    `pairingEngine' option.  Each Swiss round will be considered a tour-
	    ney cycle in that case.  Default:0

     Number of tourney cycles
     Default number of Games
	    You  can  specify tourneys where every two opponents play each other
	    multiple times.  Such multiple games can be  played  in  a	row,  as
	    specified  by the anumber of games per pairinga, or by repeating the
	    entire tournament schedule a number of times (specified by the anum-
	    ber of tourney cyclesa).  The total number of times two engine  meet
	    will be the product of these two.  Default is 1 cycle; the number of
	    games  per pairing is the same as the default number of match games,
	    stored in your settings file through the `defaultMatchGames' option.

     Save Tourney Games
	    File where the tournament games are saved (duplicate of the item  in
	    the `Save Game Options').

     Game File with Opening Lines
     File with Start Positions
     Game Number
     Position Number
     Rewind Index after
	    These items optionally specify the file with move sequences or board
	    positions  the  tourney  games should start from.  The corresponding
	    numbers specify the number of the game  or	position  in  the  file.
	    Here  a  value  -1 means automatic stepping through all games on the
	    file, -2 automatic stepping every two games.  The Rewind-Index para-
	    meter causes a stepping index to reset to one after reaching a spec-
	    ified value.  A setting of -2 for the game number will also  be  ef-
	    fective  in a tournament without specifying a game file, but playing
	    from the GUI book instead.	In this case the first (odd) games  will
	    randomly  select from the book, but the second (even) games will se-
	    lect the same moves from the book as the previous game.  (Note  this
	    leads  to  the  same opening only if both engines use the GUI book!)
	    Default: No game or position file will be used. The default index if
	    such a file is used is 1.

     Disable own engine bools be default
	    Setting this option reverses the default situation for  use  of  the
	    GUI opening book in tournaments from what it normally is, namely not
	    using  it.	 So unless the engine is installed with an option to ex-
	    plicitly specify it should not use the GUI book (i.e. `-firstHasOwn-
	    BookUCI true'), it will be made to use the GUI book.

     Replace Engine
     Upgrade Engine
	    With these two buttons you can alter the participants of an  already
	    running  tournament.   After  opening the Match Options dialog on an
	    XBoard that is playing for the tourney, you will see all the tourney
	    parameters in the dialog fields.  You can then replace the	name  of
	    one  engine  by that of another by editing the `participants' field.
	    (But preserve the order of the others!)  Pressing the  button  after
	    that  will cause the substitution.	With the `Upgrade Engine' button
	    the substitution will only affect future games.  With  `Replace  En-
	    gine'  all	games  the substituted engine has already played will be
	    invalidated, and they will be replayed with the  substitute  engine.
	    In this latter case the engine must not be playing when you do this,
	    but otherwise there is no need to pause the tournament play for mak-
	    ing a substitution.

     Clone Tourney
	    Pressing this button after you have specified an existing tournament
	    file  will	copy  the contents of the latter to the dialog, and then
	    puts the originally proposed name for the tourney  file  back.   You
	    can  then  run  a  tourney	with the same parameters (possibly after
	    changing the proposed name of the tourney file for the new	tourney)
	    by pressing 'OK'.

     Summons  a  dialog where you can set the `autoDisplayComment' and `autoDis-
     playTags' options, (which control popups when viewing  loaded  games),  and
     specify the rate at which loaded games are auto-played, in seconds per move
     (which can be a fractional number, like 1.6).  You can also set search cri-
     teria  for determining which games will be displayed in the Game List for a
     multi-game file, and thus be eligible for loading:

     Elo of strongest player
     Elo of weakest player
     year   These numeric fields set thresholds (lower limits) on the Elo rating
	    of the mentioned player, or the date the game was played.  Defaults:
	    0

     Search mode
	    This setting determines which positions in a game will be considered
	    a match to the position currently displayed in the board window when
	    you press the `find position' button in  the  Game	List.	You  can
	    search for an exact match, a position that has all shown material in
	    the  same  place,  but might contain additional material, a position
	    that has all Pawns in the same place, but can have the shown  mater-
	    ial  anywhere,  a position that	can have all shown material any-
	    where, or a position that has material between certain  limits  any-
	    where.   For  the latter you have to place the material that must be
	    present in the four lowest ranks of the board,  and  optional  addi-
	    tional material in the four highest ranks of the board.  You can re-
	    quest  the optional material to be balanced.  The `narrow' button is
	    similar in fuction to the `find position' button, but only	searches
	    in	the  already selected games, rather than the complete game file,
	    and can thus be used to refine a search based on multiple criteria.

     number of consecutive positions
	    When you are searching by material, rather than for an exact  match,
	    this  parameter  indicates forhowmany consecutive game positions the
	    same amount of material must be on the board before it is considered
	    a match.

     Also match reversed colors
     Also match left-right flipped position
	    When looking for matching positions rather than by	material,  these
	    settings determine whether mirror images (in case of a vertical flip
	    in combination with color reversal) will be also considered a match.
	    The  left-right  flipping  is  only useful after all castling rights
	    have expired (or in Xiangqi).

     Summons a dialog where you can specify the files on which XBoard should au-
     tomatically save any played or entered games, (the `saveGameFile'	option),
     or  the  final position of such games (the `savePositionfile' option).  You
     can also select 'auto-save' without a file name, in which case XBoard  will
     prompt the user for a file name after each game.  In ICS mode you can limit
     the auto-saving to your own games (i.e. suppress saving of observed games).
     You  can also set the default value for the PGN Event tag that will be used
     for each new game you start.  Various options for the format  of  the  game
     can be specified as well, such as whether scores and depths of engine games
     should  be  saved	as comments, and if a tag with info about the score with
     which the engine came out of book should be included.   For  Chess,  always
     set the format to PGN, rather than "old save stye"!

     Pops  up  a  dialog where you can select the PGN tags that should appear on
     the lines in the game list, and their order.

     Summons a dialog where you can specify the  sounds  that  should  accompany
     various events that can occur XBoard.  Most events are only relevant to ICS
     play,  but the move sound is an important exception.  For each event listed
     in the dialog, you can select a standard sound from a menu.  You  can  also
     select  a	user-supplied sound file, by typing its name into the designated
     text-edit field first, and then selecting "Above WAV File"  from  the  menu
     for  the  event.  A dummy event has been provided for trying out the sounds
     with the "play" button next to it.  The directory with standard sounds, and
     the external program for playing the sounds can be specified too, but  nor-
     mally  you would not touch these once XBoard is properly installed.  When a
     move sound other than 'None' is selected, XBoard alerts you by playing that
     sound after each of your opponent's moves (or after every move if	you  are
     observing	a  game  on the Internet Chess Server).  The sound is not played
     after moves you make or moves read from a saved game file.

     Selecting this menu item causes the current XBoard settings to  be  written
     to  the  settings	file,  so they will also apply in future sessions.  Note
     that some settings are 'volatile', and are not saved, because  XBoard  con-
     siders it too unlikely that you want those to apply next time.  In particu-
     lar  this applies to the Chess program names, and all options giving infor-
     mation on those Chess programs (such as their directory, if they have their
     own opening book, if they are UCI or native XBoard), or the variant you are
     playing.  Such options would still be understood when they  appear  in  the
     settings  file  in  case they were put there with the aid of a text editor,
     but they would disappear from the file as soon as you save the settings.

     Note that XBoard no longer pays attention to options  values  specified  in
     the  .Xresources  file.   (Specifying  key  bindings there will still work,
     though.)  To alter the default of volatile options, you can use the follow-
     ing method: Rename your ~/.xboardrc settings file	(to  ~/.yboardrc,  say),
     and create a new file ~/.xboardrc, which only contains the options

	 -settingsFile	~/.yboardrc
	 -saveSettingsFile  ~/.yboardrc

     This  will cause your settings to be saved on ~/.yboardrc in the future, so
     that ~/.xboardrc is no longer overwritten.  You  can  then  safely  specify
     volatile  options	in  ~/.xboardrc, either before or after the settingsFile
     options.  Note that when you specify persistent options after the settings-
     File options in ~/.xboardrc, you will essentially turn them  into	volatile
     options  with the specified value as default, because that value will over-
     rule the value loaded from the settings file (being read later).

     Setting this option has no immediate effect, but causes the settings to  be
     saved  when  you  quit  XBoard. What happens then is otherwise identical to
     what happens when you use select "Save Settings Now", see there.

   Help Menu
     Info XBoard
	    Displays the XBoard documentation in info format.  For this  feature
	    to	work,  you must have the GNU info program installed on your sys-
	    tem, and the file `xboard.info' must either be present in  the  cur-
	    rent working directory, or have been installed by the `make install'
	    command when you built XBoard.

     Man XBoard
	    Displays  the XBoard documentation in man page format.  The `F1' key
	    is a keyboard equivalent.	For  this  feature  to	work,  the  file
	    `xboard.6'	must  have  been installed by the `make install' command
	    when you built XBoard, and the directory it was placed in must be on
	    the search path for your system's `man' command.

     About XBoard
	    Shows the current XBoard version number.

   Other Shortcut Keys
     Show Last Move
	    By hitting `Enter' the last move will be re-animated.

     Load Next Game
	    Loads the next game from the last game record file you loaded.   The
	    `Alt+PgDn' key triggers this action.

     Load Previous Game
	    Loads  the	previous game from the last game record file you loaded.
	    The `Alt+PgUp' key triggers this action.  Not available if the  last
	    game was loaded from a pipe.

     Reload Same Game
	    Reloads  the  last	game you loaded.  Not available if the last game
	    was loaded from a pipe.  Currently no keystroke is assigned to  this
	    ReloadGameProc.

     Reload Same Position
	    Reloads the last position you loaded.  Not available if the last po-
	    sition  was  loaded from a pipe.  Currently no keystroke is assigned
	    to this ReloadPositionProc.

     In the Xaw build of XBoard you can add or remove shortcut keys using the  X
     resources	`paneA.translations'.	Here is an example of what could go into
     your `.Xdefaults' file:

	 XBoard*paneA.translations: \
	   Shift<Key>?: MenuItem(Help.About) \n\
	   Ctrl<Key>y: MenuItem(Action.Accept) \n\
	   Ctrl<Key>n: MenuItem(Action.Decline) \n\
	   Ctrl<Key>i: MenuItem(Nothing)

     So the key should always be bound to the action 'MenuItem', with the (hier-
     archical) name of the menu item as  argument.   There  are  a  few  actions
     available	for  which no menu item exists: Binding a key to `Nothing' makes
     it do nothing, thus removing it as a shortcut  key.  Other  such  functions
     that can be bound to keys are:

	 AboutGame, DebugProc (switches the -debug option on or off),
	 LoadNextGame, LoadPrevGame, ReloadGame, ReloadPosition.

OPTIONS
     This  section  documents  the  command-line options to XBoard.  You can set
     these options in two ways: by typing them on the shell command line you use
     to start XBoard, or by editing the settings file (usually	~/.xboardrc)  to
     alter  the  value of the setting that was saved there.  Some of the options
     cannot be changed while XBoard is running; others set the initial state  of
     items that can be changed with the Options menu.

     Most  of  the  options  have  both  a long name and a short name. To turn a
     boolean option on or off from the command line, either give its  long  name
     followed  by the value true or false (`-longOptionName true'), or give just
     the short name to turn the option on (`-opt'), or the short  name	preceded
     by  `x'  to turn the option off (`-xopt'). For options that take strings or
     numbers as values, you can use the long or short option names  interchange-
     ably.

   Chess Engine Options
     -tc or -timeControl minutes[:seconds]
	    Each  player  begins with his clock set to the `timeControl' period.
	    Default: 5 minutes.  The additional  options  `movesPerSession'  and
	    `timeIncrement' are mutually exclusive.

     -mps or -movesPerSession moves
	    When both players have made `movesPerSession' moves, a new `timeCon-
	    trol' period is added to both clocks.  Default: 40 moves.

     -inc or -timeIncrement seconds
	    If this option is specified, `movesPerSession' is ignored.	Instead,
	    after  each  player's move, `timeIncrement' seconds are added to his
	    clock.  Use `-inc 0' if you want to require the entire  game  to  be
	    played in one `timeControl' period, with no increment.  Default: -1,
	    which specifies `movesPerSession' mode.

     -clock/-xclock or -clockMode true/false
	    Determines	whether or not to display the chess clocks. If clockMode
	    is false, the clocks are not shown, but the side  that  is	to  play
	    next  is  still  highlighted.  Also, unless `searchTime' is set, the
	    chess engine still keeps track of the clock time and uses it to  de-
	    termine how fast to make its moves.

     -st or -searchTime minutes[:seconds]
	    Tells  the	chess  engine  to spend at most the given amount of time
	    searching for each of its moves. Without this option, the chess  en-
	    gine chooses its search time based on the number of moves and amount
	    of	time remaining until the next time control.  Setting this option
	    also sets clockMode to false.

     -depth or -searchDepth number
	    Tells the chess engine to look ahead at most  the  given  number  of
	    moves  when  searching  for a move to make. Without this option, the
	    chess engine chooses its search depth based on the number  of  moves
	    and  amount of time remaining until the next time control.	With the
	    option, the engine will cut off its search early if it  reaches  the
	    specified depth.

     -firstNPS number
     -secondNPS number
	    Tells the chess engine to use an internal time standard based on its
	    node  count,  rather  then wall-clock time, to make its timing deci-
	    sions.  The time in virtual seconds should be obtained  by	dividing
	    the  node count through the given number, like the number was a rate
	    in nodes per second.  Xboard will manage the  clocks  in  accordance
	    with  this, relying on the number of nodes reported by the engine in
	    its thinking output. If the given number equals zero, it  can  obvi-
	    ously not be used to convert nodes to seconds, and the time reported
	    by	the  engine  is used to decrement the XBoard clock in stead. The
	    engine is supposed to report in CPU time it uses, rather than  wall-
	    clock  time, in this mode. This option can provide fairer conditions
	    for engine-engine matches on heavily loaded machines, or  with  very
	    fast games (where the wall clock is too inaccurate).  `showThinking'
	    must be on for this option to work. Default: -1 (off).  Not many en-
	    gines might support this yet!

     -firstTimeOdds factor
     -secondTimeOdds factor
	    Reduces  the time given to the mentioned engine by the given factor.
	    If pondering is off, the effect is indistinguishable from what would
	    happen if the engine was running on an n-times slower  machine.  De-
	    fault: 1.

     -timeOddsMode mode
	    This  option  determines  how the case is handled where both engines
	    have a time-odds handicap.	If mode=1, the engine that gets the most
	    time will always get the nominal time, as specified by the time-con-
	    trol options, and its opponent's time is  renormalized  accordingly.
	    If mode=0, both play with reduced time. Default: 0.

     -hideThinkingFromHuman true/false
	    Controls  the Hide Thinking option. See Options Menu. Default: true.
	    (Replaces the Show-Thinking option of older xboard versions.)

     -thinking/-xthinking or -showThinking true/false
	    Forces the engine to send thinking output to xboard.  Used to be the
	    only way to control if thinking output was displayed in older xboard
	    versions, but as the thinking output in xboard 4.3 is also used  for
	    several  other purposes (adjudication, storing in PGN file) the dis-
	    play of it is now controlled by the new option  Hide  Thinking.  See
	    Options  Menu.  Default:  false.   (But if xboard needs the thinking
	    output for some purpose, it makes the engine  send	it  despite  the
	    setting of this option.)

     -ponder/-xponder or -ponderNextMove true/false
	    Sets  the  Ponder  Next Move menu option. See Options Menu. Default:
	    true.

     -smpCores number
	    Specifies the maximum number of CPUs an SMP  engine  is  allowed  to
	    use.  Only works for engines that support the XBoard/WinBoard-proto-
	    col cores feature.

     -mg or -matchGames n
	    Automatically  runs  an n-game match between two chess engines, with
	    alternating colors.  If the `loadGameFile' or `loadPositionFile' op-
	    tion is set, XBoard starts each game with the given opening moves or
	    the given position; otherwise, the games  start  with  the	standard
	    initial chess position.  If the `saveGameFile' option is set, a move
	    record  for  the  match  is  appended  to the specified file. If the
	    `savePositionFile' option is set, the final position reached in each
	    game of the match is appended to the specified file. When the  match
	    is	over,  XBoard displays the match score and exits. Default: 0 (do
	    not run a match).

     -mm/-xmm or -matchMode true/false
	    Setting `matchMode' to true is equivalent to setting `matchGames' to
	    1.

     -sameColorGames n
	    Automatically runs an n-game match between two chess engines,  with-
	    out  alternating  colors.	Otherwise  the	same  applies as for the
	    `-matchGames' option, over which it takes  precedence  if  both  are
	    specified. (See there.)  Default: 0 (do not run a match).

     -fcp or -firstChessProgram program
	    Name of first chess engine.  Default: `Fairy-Max'.

     -scp or -secondChessProgram program
	    Name  of  second  chess engine, if needed.	A second chess engine is
	    started only in Two Machines (match) mode.	Default: `Fairy-Max'.

     -fe or -firstEngine nickname
	    This is an alternative to the `fcp' option for specifying the  first
	    engine,  for  engines  that were already configured (using the `Load
	    Engine' dialog) in XBoard's settings file.	It  will  not  only  re-
	    trieve  the real name of the engine, but also all options configured
	    with it.  (E.g. if it is UCI, whether it should use book.)

     -se or -secondEngine nickname
	    As `fe', but for the second engine.

     -fb/-xfb or -firstPlaysBlack true/false
	    In games between two chess engines, firstChessProgram normally plays
	    white.  If this option is true, firstChessProgram plays black.  In a
	    multi-game match, this option affects the colors only for the  first
	    game; they still alternate in subsequent games.

     -fh or -firstHost host
     -sh or -secondHost host
	    Hosts on which the chess engines are to run. The default for each is
	    `localhost'.  If  you specify another host, XBoard uses `rsh' to run
	    the chess engine there. (You can substitute a different remote shell
	    program for rsh using the `remoteShell' option described below.)

     -fd or -firstDirectory dir
     -sd or -secondDirectory dir
	    Working directories in which the chess engines are to be  run.   The
	    default is "", which means to run the chess engine in the same work-
	    ing directory as XBoard itself.  (See the CHESSDIR environment vari-
	    able.)  This option is effective only when the chess engine is being
	    run  on  the  local  host; it does not work if the engine is run re-
	    motely using the -fh or -sh option.

     -initString string or -firstInitString
     -secondInitString string
	    The string that is sent to initialize each chess engine  for  a  new
	    game.  Default:

		new
		random

	    Setting  this  option  from  the command line is tricky, because you
	    must type in real newline characters, including one at the very end.
	    In most shells you can do this by entering a `\' character	followed
	    by	a  newline.   Using  the  character  sequence `\n' in the string
	    should work too, though.

	    If you change this option, don't remove the `new' command; it is re-
	    quired by all chess engines to start a new game.

	    You can remove the `random' command if you like; including it causes
	    GNU Chess 4 to randomize its move  selection  slightly  so	that  it
	    doesn't  play  the same moves in every game.  Even without `random',
	    GNU Chess 4 randomizes its choice of moves from  its  opening  book.
	    Many other chess engines ignore this command entirely and always (or
	    never) randomize.

	    You  can  also  try adding other commands to the initString; see the
	    documentation of the chess engine you are using for details.

     -firstComputerString string
     -secondComputerString string
	    The string that is sent to the chess engine if its opponent  is  an-
	    other computer chess engine.  The default is `computer\n'.	Probably
	    the  only  useful  alternative is the empty string (`'), which keeps
	    the engine from knowing that it is playing another computer.

     -reuse/-xreuse or -reuseFirst true/false
     -reuse2/-xreuse2 or -reuseSecond true/false
	    If the option is false, XBoard kills  off  the  chess  engine  after
	    every  game and starts it again for the next game.	If the option is
	    true (the default), XBoard starts the chess  engine  only  once  and
	    uses  it  repeatedly to play multiple games.  Some old chess engines
	    may not work properly when reuse is turned on, but	otherwise  games
	    will start faster if it is left on.

     -firstProtocolVersion version-number
     -secondProtocolVersion version-number
	    This  option  specifies which version of the chess engine communica-
	    tion protocol to use.  By default, version-number is 2.  In  version
	    1, the "protover" command is not sent to the engine; since version 1
	    is	a  subset  of version 2, nothing else changes.	Other values for
	    version-number are not supported.

     -firstScoreAbs true/false
     -secondScoreAbs true/false
	    If this option is set, the score reported by the engine is taken  to
	    be that in favor of white, even when the engine plays black.  Impor-
	    tant when XBoard uses the score for adjudications, or in PGN report-
	    ing.

     -niceEngines priority
	    This  option  allows  you  to  lower  the  priority  of  the  engine
	    processes, so that the generally insatiable hunger for CPU	time  of
	    chess  engines  does  not interfere so much with smooth operation of
	    XBoard (or the rest of your system).  Negative values could increase
	    the engine priority, which is not recommended.

     -firstOptions string
     -secondOptions string
	    The given string is a comma-separated list	of  (option  name=option
	    value)  pairs,  like  the  following  example: "style=Karpov,blunder
	    rate=0".  If an option announced by the engine  at	startup  through
	    the  feature commands of the XBoard/WinBoard protocol matches one of
	    the option names (i.e. "style" or "blunder rate"), it would  be  set
	    to	the given value (i.e. "Karpov" or 0) through a corresponding op-
	    tion command to the engine.  This provided	that  the  type  of  the
	    value (text or numeric) matches as well.

     -firstNeedsNoncompliantFEN string
     -secondNeedsNoncompliantFEN string
	    The castling rights and e.p. fields of the FEN sent to the mentioned
	    engine  with  the  setboard  command  will	be replaced by the given
	    string. This can for instance be used to run engines that do not un-
	    derstand Chess960 FENs in variant  fischerandom,  to  make	them  at
	    least understand the opening position, through setting the string to
	    "KQkq -". (Note you also have to give the e.p. field!)  Other possi-
	    ble  applications  are to provide work-arounds for engines that want
	    to see castling and  e.p.  fields  in  variants  that  do  not  have
	    castling or e.p.  (shatranj, courier, xiangqi, shogi) so that XBoard
	    would  normally  omit  them (string = "- -"), or to add variant-spe-
	    cific fields that are not yet supported by XBoard (e.g. to	indicate
	    the number of checks in 3check).

     -shuffleOpenings
	    Forces shuffling of the opening setup in variants that normally have
	    a  fixed  initial  position.  Shufflings are symmetric for black and
	    white, and exempt King and Rooks in variants with  normal  castling.
	    Remains in force until a new variant is selected.

   UCI + WB Engine Settings
     -fUCI or -firstIsUCI true/false
     -sUCI or -secondIsUCI true/false
	    Indicates  if the mentioned engine executable file is an UCI engine,
	    and should be run with the aid of the Polyglot adapter  rather  than
	    directly.	Xboard	will  then pass the other UCI options and engine
	    name to Polyglot on  its  command  line,  according  to  the  option
	    `adapterCommand'.

     -fUCCI
     -sUCCI
     -fUSI
     -sUSI  Options similar to `fUCI' and `sUCI', except that they use the indi-
	    cated engine with the protocol adapter specified in the `uxiAdapter'
	    option.   This  can  then  be  configured for running an UCCI or USI
	    adapter, as the need arises.

     -adapterCommand string
	    The string conatins the command that should be issued by  XBoard  to
	    start an engine that is accompanied by the `fUCI' option.  Any iden-
	    tifier  following  a percent sign in the command (e.g. %fcp) will be
	    considered the name of an XBoard option,  and  be  replaced  by  the
	    value  of that option at the time the engine is started.  For start-
	    ing the second engine, any leading "f" or "first" in the option name
	    will first be replaced by "s" or "second", before finding its value.
	    Default: 'polyglot -noini -ec "%fcp" -ed "%fd"'

     -uxiAdapter string
	    Similar to `adapterCommand', but used for engines accompanied by the
	    `fUCCI' or `fUSI' option, so you can configure XBoard to be ready to
	    handle more than one flavor of non-native protocols.  Default: ""

     -polyglotDir filename
	    Gives the name of the directory in which the  Polyglot  adapter  for
	    UCI engines resides.  Default: "".

     -usePolyglotBook true/false
	    Specifies if the Polyglot book should be used as GUI book.

     -polyglotBook filename
	    Gives  the filename of the opening book.  The book is only used when
	    the  `usePolyglotBook'  option  is	set  to  true,	and  the  option
	    `firstHasOwnBookUCI' or `secondHasOwnBookUCI' applying to the engine
	    is	set  to false.	The engine will be kept in force mode as long as
	    the current position is in book, and XBoard  will  select  the  book
	    moves for it. Default: "".

     -fNoOwnBookUCI or -firstXBook or -firstHasOwnBookUCI true/false
     -sNoOwnBookUCI or -secondXBook or -secondHasOwnBookUCI true/false
	    Indicates if the mentioned engine has its own opening book it should
	    play  from, rather than using the external book through XBoard.  De-
	    fault: depends on setting of the option `discourageOwnBooks'.

     -discourageOwnBooks true/false
	    When set, newly loaded engines will be assumed to use the GUI  book,
	    unless  they explicitly specify differently.  Otherwise they will be
	    assumed to not use the GUI	book,  unless  the  specify  differently
	    (e.g. with `firstXBook').  Default: false.

     -bookDepth n
	    Limits  the  use  of the GUI book to the first n moves of each side.
	    Default: 12.

     -bookVariation n
	    A value n from 0 to 100 tunes the choice of moves from the GUI books
	    from totally random to best-only. Default: 50

     -mcBookMode
	    When this volatile option is specified, the probing algorithm of the
	    GUI book is altered to always select the move that	is  most  under-
	    represented  based on its performance.  When all moves are played in
	    approximately the right proportion, a book miss will be reported, to
	    give the engine opportunity to explore  a  new  move.   In	addition
	    score  of  the  moves  will be kept track of during the session in a
	    book buffer.  By playing an match in this mode, a book will be built
	    from scratch.  The only output are the saved  games,  which  can  be
	    converted  to  an  actual  book later, with the `Save Games as Book'
	    command.  This command can also be used to pre-fill the book  buffer
	    before adding new games based on the probing algorithm.

     -fn string or -firstPgnName string
     -sn string or -secondPgnName string
	    Indicates the name that should be used for the engine in PGN tags of
	    engine-engine  games.   Intended  to allow you to install verions of
	    the same engine with different settings, and still distinguish them.
	    Default: "".

     -defaultHashSize n
	    Sets the size of the hash table to n MegaBytes.  Together  with  the
	    EGTB  cache  size  this  number is also used to calculate the memory
	    setting of XBoard/WinBoard engines, for those that support the  mem-
	    ory feature of the XBoard/WinBoard protocol. Default: 64.

     -defaultCacheSizeEGTB n
	    Sets  the  size  of the EGTB cache to n MegaBytes. Together with the
	    hash-table size this number is also used  to  calculate  the  memory
	    setting  of XBoard/WinBoard engines, for those that support the mem-
	    ory feature of the XBoard/WinBoard protocol. Default: 4.

     -defaultPathEGTB filename
	    Gives the name of the directory where the  end-game  tablebases  are
	    installed, for UCI engines.  Default: "/usr/local/share/egtb".

     -egtFormats string
	    Specifies  which  end-game tables are installed on the computer, and
	    where.  The argument is a comma-separated list of format  specifica-
	    tions,  each specification consisting of a format name, a colon, and
	    a directory path name, e.g. "nalimov:/usr/local/share/egtb".  If the
	    name part matches that of a format that the engine requests  through
	    a  feature	command, xboard will relay the path name for this format
	    to the engine through an egtpath command.  One egtpath  command  for
	    each  matching  format  will be sent.  Popular formats are "nalimov"
	    DTM tablebases and "scorpio" bitbases.  Default: "".

     -firstChessProgramNames={names}
	    This option lets you customize the drop-down list  of  chess  engine
	    names  that appears in the `Load Engine' and `Match Options' dialog.
	    It consists of a list of strings, one per line.  When an  engine  is
	    loaded,  the  corresponding  line  is  prefixed  with  "-fcp  ", and
	    processed like it appeared on the command  line.   That  means  that
	    apart from the engine command, it can contain any list of XBoard op-
	    tions you want to use with this engine.  (Commonly used options here
	    are -fd, -firstXBook, -fUCI, -variant.)

	    The  value of this option is gradually built as you load new engines
	    through the `Load Engine' menu dialog, with `Add  to  list'  ticked.
	    To change it, edit your settings file with a plain text editor.

   Tournament options
     -defaultMatchGames n
	    Sets  the  number of games that will be used for a match between two
	    engines started from the menu to n. Also used as games  per  pairing
	    in other tournament formats.  Default: 10.

     -matchPause n
	    Specifies  the duration of the pause between two games of a match or
	    tournament between engines as n  milliseconds.   Especially  engines
	    that  do not support ping need this option, to prevent that the move
	    they are thinking on when an opponent unexpectedly resigns	will  be
	    counted  for  the  next game, (leading to illegal moves there).  De-
	    fault: 10000.

     -tf filename or -tourneyFile filename
	    Specifies the name of the tournament file used in match mode to con-
	    duct a multi-player tournament.  This file	is  a  special	settings
	    file,  which  stores  the  description  of the tournament (including
	    progress info), through normal options (e.g. for time control,  load
	    and save files), and through some special-purpose options listed be-
	    low.

     -tt number or -tourneyType number
	    Specifies the type of tourney: 0 = round-robin, N>0 = (multi-)gaunt-
	    let with N gauntlet engines, -1 = Swiss through external pairing en-
	    gine.  Volatile option, but stored in tourney file.

     -cy number or -tourneyCycles number
	    Specifies  the  number of cycles in a tourney.  Volatile option, but
	    stored in tourney file.

     -participants list
	    The list is a multi-line text string that specifies  engines  occur-
	    ring  in  the  `firstChesProgramNames'  list in the settings file by
	    their (implied or explicitly given) nicknames, one engine per  line.
	    The  mentioned  engines  will play in the tourney.	Volatile option,
	    but stored in tourney file.

     -results string
	    The string of +=- characters lists the result of all played games in
	    a toruney.	Games currently playing are listed as *, while	a  space
	    indicates  a  game that is not yet played or playing .  Volatile op-
	    tion, but stored in tourney file.

     -defaultTourneyName string
	    Specifies the name of the tournament file XBoard should propose when
	    the `Match Options' dialog is opened.  Any %y, %M, %d, %h, %m, %s in
	    the string are replaced by the  current  year,  month,  day  of  the
	    month, hours, minutes, seconds of the current time, respectively, as
	    two-digit  number.	 A  %Y	would be replaced by the year as 4-digit
	    number. Default: empty string.

     -pairingEngine filename
	    Specifies the external program to be used to pair  the  participants
	    in Swiss tourneys.	XBoard communicates with this engine in the same
	    way  as  it communicates with Chess engines.  The only commands sent
	    to the pairing engine are aresults N stringa, (where N is the number
	    of participants, and string the results so far in the format of  the
	    results  option),  and  apairing  Na,  (where N is the number of the
	    tourney game).  To the latter the pairing engine should answer  with
	    aA-Ba,  where  A  and  B are participant numbers (in the range 1-N).
	    (There should be no reply to the results  command.)  Default:  empty
	    string.

     -afterGame string
     -afterTourney string
	    When  non-empty,  the given string will be executed as a system com-
	    mand after each tournament game, orafterthe tourney  completes,  re-
	    spectively.   This	can  be used, for example, to autmatically run a
	    cross-table generator on the PGN file where games are saved, to  up-
	    date the tourney standings.  Default: ""

     -syncAfterRound true/false
     -syncAfterCycle true/false
	    Controls  whether different instances of XBoard concurrently running
	    the same tournament will wait for each other.  Defaults: sync  after
	    cycle, but not after round.

     -seedBase number
	    Used  to store the seed of the pseudo-random-number generator in the
	    tourneyFile, so that separate instances of	XBoard	working  on  the
	    same  tourney  can take coherent 'random' decisions, such as picking
	    an opening for a given game number.

   ICS options
     -ics/-xics or -internetChessServerMode true/false
	    Connect with an Internet Chess Server  to  play  chess  against  its
	    other  users,  observe  games they are playing, or review games that
	    have recently finished. Default: false.

     -icshost or -internetChessServerHost host
	    The Internet host name or address of the chess server to connect  to
	    when  in  ICS mode. Default: `chessclub.com'.  Another popular chess
	    server to try is `freechess.org'.  If your site doesn't have a work-
	    ing Internet name server, try specifying the host address in numeric
	    form.  You may also need to specify the numeric address  when  using
	    the icshelper option with timestamp or timeseal (see below).

     -icsport or -internetChessServerPort port-number
	    The  port  number  to  use	when connecting to a chess server in ICS
	    mode. Default: 5000.

     -icshelper or -internetChessServerHelper prog-name
	    An external helper	program  used  to  communicate	with  the  chess
	    server.   You would set it to "timestamp" for ICC (chessclub.com) or
	    "timeseal" for FICS (freechess.org),  after  obtaining  the  correct
	    version of timestamp or timeseal for your computer.  See "help time-
	    stamp" on ICC and "help timeseal" on FICS.	This option is shorthand
	    for `-useTelnet -telnetProgram program'.

     -telnet/-xtelnet or -useTelnet true/false
	    This  option is poorly named; it should be called useHelper.  If set
	    to true, it instructs XBoard to run an external program to	communi-
	    cate with the Internet Chess Server.  The program to use is given by
	    the  telnetProgram	option.   If  the option is false (the default),
	    XBoard opens a TCP socket and uses its own	internal  implementation
	    of the telnet protocol to communicate with the ICS. See Firewalls.

     -telnetProgram prog-name
	    This  option is poorly named; it should be called helperProgram.  It
	    gives the name of the telnet program to be used with  the  `gateway'
	    and  `useTelnet'  options.	The default is `telnet'. The telnet pro-
	    gram is invoked with the value of `internetChessServerHost'  as  its
	    first  argument  and  the  value of `internetChessServerPort' as its
	    second argument.  See Firewalls.

     -gateway host-name
	    If this option is set to a host name, XBoard communicates  with  the
	    Internet  Chess  Server by using `rsh' to run the `telnetProgram' on
	    the given host, instead of using its own internal implementation  of
	    the  telnet  protocol.  You  can substitute a different remote shell
	    program for `rsh' using the `remoteShell'  option  described  below.
	    See Firewalls.

     -internetChessServerCommPort or -icscomm dev-name
	    If	this option is set, XBoard communicates with the ICS through the
	    given character I/O device instead of opening a TCP connection.  Use
	    this option if your system does not have any kind of  Internet  con-
	    nection  itself (not even a SLIP or PPP connection), but you do have
	    dial-up access (or a hardwired terminal line) to an Internet service
	    provider from which you can telnet to the ICS.

	    The support for this option in XBoard is minimal. You  need  to  set
	    all communication parameters and tty modes before you enter XBoard.

	    Use a script something like this:

		stty raw -echo 9600 > /dev/tty00
		xboard -ics -icscomm /dev/tty00

	    Here  replace `/dev/tty00' with the name of the device that your mo-
	    dem is connected to. You might have to add several more  options  to
	    these  stty  commands. See the man pages for `stty' and `tty' if you
	    run into problems. Also, on many systems stty works on its	standard
	    input  instead of standard output, so you have to use `<' instead of
	    `>'.

	    If you are using linux, try starting with the script below.   Change
	    it as necessary for your installation.

		#!/bin/sh -f
		# configure modem and fire up XBoard

		# configure modem
		(
		  stty 2400 ; stty raw ; stty hupcl ; stty -clocal
		  stty ignbrk ; stty ignpar ; stty ixon ; stty ixoff
		  stty -iexten ; stty -echo
		) < /dev/modem
		xboard -ics -icscomm /dev/modem

	    After  you start XBoard in this way, type whatever commands are nec-
	    essary to dial out to your Internet provider and log in.  Then  tel-
	    net  to  ICS, using a command like `telnet chessclub.com 5000'.  Im-
	    portant: See the paragraph below about extra echoes, in Limitations.

     -icslogon or -internetChessServerLogonScript file-name
	    Whenever XBoard connects to the Internet Chess Server, if it finds a
	    file with the name given in this option, it feeds  the  file's  con-
	    tents  to  the  ICS  as commands. The default file name is `.icsrc'.
	    Usually the first two lines of the file should be your ICS user name
	    and password.  The file can be  either  in	$CHESSDIR,  in	XBoard's
	    working directory if CHESSDIR is not set, or in your home directory.

     -msLoginDelay delay
	    If	you experience trouble logging on to an ICS when using the `-ic-
	    slogon' option, inserting some delay between characters of the logon
	    script may help. This option adds `delay' milliseconds of delay  be-
	    tween characters. Good values to try are 100 and 250.

     -icsinput/-xicsinput or -internetChessServerInputBox true/false
	    Sets the ICS Input Box menu option. See Mode Menu. Default: false.

     -autocomm/-xautocomm or -autoComment true/false
	    Sets the Auto Comment menu option. See Options Menu. Default: false.

     -autoflag/-xautoflag or -autoCallFlag true/false
	    Sets the Auto Flag menu option.  See Options Menu. Default: false.

     -autobs/-xautobs or -autoObserve true/false
	    Sets  the  Auto  Observe  menu  option.   See Options Menu. Default:
	    false.

     -autoKibitz
	    Enables kibitzing of the engines last thinking output (depth, score,
	    time, speed, PV) before it moved to the ICS, in zippy mode. The  op-
	    tion  `showThinking'  must	be  switched on for this option to work.
	    Also diverts similar kibitz information of an opponent  engine  that
	    is	playing  you  through the ICS to the engine-output window, as if
	    the engine was playing locally.

     -seekGraph true/false or -sg
	    Enables displaying of the seek graph by left-clicking the board when
	    you are logged on to an ICS and currently idle.  The seek graph show
	    all players currently seeking games on the ICS, plotted according to
	    their rating and the time control of the game they	seek,  in  three
	    different  colors (for rated, unrated and wild games).  Computer ads
	    are displayed as squares, human ads are dots.  Default: false.

     -autoRefresh true/false
	    Enables automatic updating of the seek graph, by having the ICS send
	    a running update of all newly placed and  removed  seek  ads.   This
	    consumes  a  substantial  amount  of communication bandwidth, and is
	    only supported for FICS and ICC.  Default: false.

     -backgroundObserve true/false
	    When true, boards sent to you by the ICS from other games while  you
	    are  playing (e.g. because you are observing them) will not be auto-
	    matically displayed.  Only a summary of time left  and  material  of
	    both  players  will  appear  in  the  message field above the board.
	    XBoard will remember the last board it has received  this  way,  and
	    will  display  it in stead of the position in your own game when you
	    press the right mouse button.  No other  information  is  stored  on
	    such  games  observed in the background; you cannot save such a game
	    later, or step through its moves.  This feature is	provided  solely
	    for the benefit of bughouse players, to enable them to peek at their
	    partner's game without the need to logon twice.  Default: false.

     -dualBoard true/false
	    In	combination  with -backgroundObserve true, this option will dis-
	    play the board of the background game side by side with that of your
	    own game, so you can have it in  view  permanently.   Any  board  or
	    holdings info coming in will be displayed on the secondary board im-
	    mediately.	 This  feature	is still experimental and largely unfin-
	    ished.  There is no animation or highlighting of moves on  the  sec-
	    ondary board.  Default: false.

     -disguisePromotedPieces true/false
	    When set promoted Pawns in crazyhouse/bughouse are displayed identi-
	    cal  to primordial pieces of the same type, rather than distinguish-
	    able.  Default: true.

     -moves/-xmoves or -getMoveList true/false
	    Sets the Get Move List menu option.   See  Options	Menu.	Default:
	    true.

     -alarm/-xalarm or -icsAlarm true/false
	    Sets the ICS Alarm menu option.  See Options Menu. Default: true.

     -icsAlarmTime ms
	    Sets  the  time  in milliseconds for the ICS Alarm menu option.  See
	    Options Menu. Default: 5000.

     lowTimeWarning true/false
	    Controls a color change of the board as a warning your time is  run-
	    ning out.  See Options Menu. Default: false.

     -pre/-xpre or -premove true/false
	    Sets the Premove menu option. See Options Menu. Default: true.

     -prewhite/-xprewhite or -premoveWhite
     -preblack/-xpreblack or -premoveBlack
     -premoveWhiteText string
     -premoveBlackText string
	    Set the menu options for specifying the first move for either color.
	    See  Options  Menu.  Defaults:  false  and empty strings, so no pre-
	    moves.

     -quiet/-xquiet or -quietPlay true/false
	    Sets the Quiet Play menu option.  See Options Menu.  Default: false.

     -colorizeMessages or -colorize/-xcolorize
	    Setting colorizeMessages to true tells XBoard to colorize  the  mes-
	    sages  received from the ICS.  Colorization works only if your xterm
	    supports ISO 6429 escape sequences for changing  text  colors.   De-
	    fault: true.

     -colorShout foreground,background,bold
     -colorSShout foreground,background,bold
     -colorCShout foreground,background,bold
     -colorChannel1 foreground,background,bold
     -colorChannel foreground,background,bold
     -colorKibitz foreground,background,bold
     -colorTell foreground,background,bold
     -colorChallege foreground,background,bold
     -colorRequest foreground,background,bold
     -colorSeek foreground,background,bold
     -colorNormal foreground,background,bold
	    These options set the colors used when colorizing ICS messages.  All
	    ICS  messages  are	grouped  into  one  of	these categories: shout,
	    sshout, channel 1, other channel, kibitz, tell,  challenge,  request
	    (including	abort,	adjourn,  draw,  pause, and takeback), or normal
	    (all other messages).

	    Each foreground or background argument can be one of the  following:
	    black,  red,  green, yellow, blue, magenta, cyan, white, or default.
	    Here ``default'' means the default foreground or background color of
	    your xterm.  Bold can be 1 or 0.  If background  is  omitted,  ``de-
	    fault'' is assumed; if bold is omitted, 0 is assumed.

     -soundProgram progname
	    If	this  option is set to a sound-playing program that is installed
	    and working on your system, XBoard can play sound files when certain
	    events occur, listed below.  The default program name is "play".  If
	    any of the sound options is set to "$", the event rings the terminal
	    bell by sending a ^G character to standard output, instead of  play-
	    ing  a  sound  file.  If an option is set to the empty string "", no
	    sound is played for that event.

     -soundDirectory directoryname
	    This option specifies where XBoard will look for sound  files,  when
	    these are not given as an absolute path name.

     -soundShout filename
     -soundSShout filename
     -soundCShout filename
     -soundChannel filename
     -soundChannel1 filename
     -soundKibitz filename
     -soundTell filename
     -soundChallenge filename
     -soundRequest filename
     -soundSeek filename
	    These  sounds  are	triggered  in  the  same way as the colorization
	    events described above.  They all default to "", no sound.	They are
	    played only if the colorizeMessages is  on.   CShout  is  synonymous
	    with SShout.

     -soundMove filename
	    This sound is used by the Move Sound menu option.  Default: "$".

     -soundIcsAlarm filename
	    This sound is used by the ICS Alarm menu option.  Default: "$".

     -soundIcsWin filename
	    This  sound  is  played  when  you win an ICS game.  Default: "" (no
	    sound).

     -soundIcsLoss filename
	    This sound is played when you lose an ICS  game.   Default:  ""  (no
	    sound).

     -soundIcsDraw filename
	    This  sound  is  played  when you draw an ICS game.  Default: "" (no
	    sound).

     -soundIcsUnfinished filename
	    This sound is played when an ICS game that you are participating  in
	    is	aborted,  adjourned, or otherwise ends inconclusively.	Default:
	    "" (no sound).

   Load and Save options
     -lgf or -loadGameFile file
     -lgi or -loadGameIndex index
	    If the `loadGameFile' option is set, XBoard loads the specified game
	    file at startup. The file name `-' specifies the standard input.  If
	    there  is  more  than one game in the file, XBoard pops up a menu of
	    the available games, with entries based on their PGN (Portable  Game
	    Notation)  tags.   If  the `loadGameIndex' option is set to `N', the
	    menu is suppressed and the N th game found in the file is loaded im-
	    mediately.	The menu is also suppressed if `matchMode' is enabled or
	    if the game file is a pipe; in these cases the  first  game  in  the
	    file is loaded immediately.  Use the `pxboard' shell script provided
	    with  XBoard  if you want to pipe in files containing multiple games
	    and still see the menu.  If the loadGameIndex specifies an index -1,
	    this triggers auto-increment of  the  index  in  `matchMode',  which
	    means that after every game the index is incremented by one, causing
	    each  game of the match to be played from the next game in the file.
	    Similarly, specifying an index value of -2 causes the  index  to  be
	    incremented  every	two games, so that each game in the file is used
	    twice (with reversed colors).  The `rewindIndex' option  causes  the
	    index  to be reset to the first game of the file when it has reached
	    a specified value.

     -rewindIndex n
	    Causes a position file or game file to be rewound to  its  beginning
	    after  n  positions  or  games  in	auto-increment `matchMode'.  See
	    `loadPositionIndex' and `loadGameIndex'.  default: 0 (no rewind).

     -td or -timeDelay seconds
	    Time delay between moves  during  `Load  Game'  or	`Analyze  File'.
	    Fractional	seconds  are allowed; try `-td 0.4'.  A time delay value
	    of -1 tells XBoard not to step through game files automatically. De-
	    fault: 1 second.

     -sgf or -saveGameFile file
	    If this option is set, XBoard appends a record of every game  played
	    to the specified file. The file name `-' specifies the standard out-
	    put.

     -autosave/-xautosave or -autoSaveGames true/false
	    Sets  the Auto Save menu option.  See Options Menu.  Default: false.
	    Ignored if `saveGameFile' is set.

     -onlyOwnGames true/false
	    Suppresses auto-saving of ICS observed games. Default: false.

     -lpf or -loadPositionFile file
     -lpi or -loadPositionIndex index
	    If the `loadPositionFile' option is set, XBoard loads the  specified
	    position  file  at startup. The file name `-' specifies the standard
	    input. If the `loadPositionIndex' option is set to N, the Nth  posi-
	    tion  found  in  the file is loaded; otherwise the first position is
	    loaded.  If the loadPositionIndex specifies an index -1, this  trig-
	    gers  auto-increment  of  the index in `matchMode', which means that
	    after every game the index is incremented by one, causing each  game
	    of	the match to be played from the next position in the file. Simi-
	    larly, specifying an index value of -2 causes the index to be incre-
	    mented every two games, so that each position in the  file	is  used
	    twice (with the engines playing opposite colors).  The `rewindIndex'
	    option  causes  the  index	to be reset to the first position of the
	    file when it has reached a specified value.

     -spf or -savePositionFile file
	    If this option is set, XBoard appends the final position reached  in
	    every game played to the specified file. The file name `-' specifies
	    the standard output.

     -pgnExtendedInfo true/false
	    If	this  option is set, XBoard saves depth, score and time used for
	    each move that the engine found as a comment in the PGN  file.   De-
	    fault: false.

     -pgnEventHeader string
	    Sets  the  name used in the PGN event tag to string.  Default: "Com-
	    puter Chess Game".

     -pgnNumberTag true/false
	    Include the (unique) sequence number of a tournament game  into  the
	    saved PGN file as a 'number' tag.  Default: false.

     -saveOutOfBookInfo true/false
	    Include the information on how the engine(s) game out of its opening
	    book in a special 'annotator' tag with the PGN file.  Default: true.

     -oldsave/-xoldsave or -oldSaveStyle true/false
	    Sets  the  Old  Save Style menu option.  See Options Menu.	Default:
	    false.

     -gameListTags string
	    The character string lists the PGN tags that should  be  printed  in
	    the Game List, and their order. The meaning of the codes is e=event,
	    s=site,  d=date,  o=round, p=players, r=result, w=white Elo, b=black
	    Elo, t=time control, v=variant, a=out-of-book  info,  c=result  com-
	    ment.  Default: "eprd"

     -ini or -settingsFile filename
     -saveSettingsFile filename
     @filename
	    When  XBoard encounters an option -settingsFile (or -ini for short),
	    or @filename, it tries to read the mentioned file,	and  substitutes
	    the contents of it (presumaby more command-line options) in place of
	    the  option.   In  the  case of -ini or -settingsFile, the name of a
	    successfully read settings file is also remembered as  the	file  to
	    use for saving settings (automatically on exit, or on user command).
	    An	option of the form @filename does not affect saving.  The option
	    -saveSettingsFile does specify a name of the file to use for saving,
	    without reading any options from it, and is thus also effective when
	    the file did not exist yet.  So the settings will be  saved  to  the
	    file  specified  in  the  last -saveSettingsFile or succesfull -set-
	    tingsFile / -ini command, if  any,	and  in  /etc/xboard/xboard.conf
	    otherwise.	 Usualy the latter is only accessible for the system ad-
	    ministrator, though, and will be used to contain system-wide default
	    setings, amongst which a -saveSettingsFile and -settingsFile options
	    to specify a settings file accessible to the individual  user,  such
	    as ~/.xboardrc in the user's home directory.

     -saveSettingsOnExit true/false
	    Controls  saving of options on the settings file.  See Options Menu.
	    Default: true.

   User interface options
     -display
     -geometry
     -iconic
     -name  These and most other standard Xt options are accepted.

     -noGUI
	    Suppresses all GUI functions of XBoard (to speed up automated ultra-
	    fast engine-engine games, which you don't  want  to  watch).   There
	    will  be no board or clock updates, no printing of moves, and no up-
	    date of the icon on the task bar in this mode.

     -logoSize N
	    This option controls the drawing of player logos next to the clocks.
	    The integer N specifies the width of the logo in  pixels;  the  logo
	    height  will always be half the width.  When N = 0, no logos will be
	    diplayed.  Default: 0.

     -firstLogo imagefile
     -secondLogo imagefile
	    Specify the images to be used as player  logos  when  `logoSize'  is
	    non-zero, next to the white and black clocks, respectively.

     -autoLogo true/false

     -logoDir filename
	    When `autoLogo' is set, XBoard will search for a PNG image file with
	    the  name  of  the	engine or ICS in the directory specified by `lo-
	    goDir'.

     -recentEngines number
     -recentEngineList list
	    When the number is larger than zero, it determines how many recently
	    used engines will be appended at the bottom of the	`Engines'  menu.
	    The  engines  will be saved in your settings file as the option `re-
	    centEngineList', by their nicknames, and the most recently used  one
	    will  always be sorted to the top.	If the list after that is longer
	    than the specified number, the last one is	discarded.   Changes  in
	    the  list  will  only  become visible the next session, provided you
	    saved the settings.  Default: 6.

     -autoInstall list
	    When the list is set to a non-empty string, XBoard will scan the op-
	    erating system's plugin directory for  engines  supporting	UCI  and
	    XBoard  protocol  at  startup.  When it finds an engine that was in-
	    stalled after it last saved its settings, a line to launch that  en-
	    gine  (as  per  specs  in  the  plugin  file)  is  appended  to  the
	    -firstChessProgramNames list of installed engines.	In the future it
	    will be possible to use the list to limit this automatic  adding  of
	    engines to a certain types of variants.

     -oneClickMove true/false
	    When set, this option allows you to enter moves by only clicking the
	    to-  or  from-square,  when only a single legal move to or from that
	    square is possible.  Double-clicking a piece (or clicking an already
	    selected piece) will instruct that piece to make the only capture it
	    can legally do.  Default: false.

     -movesound/-xmovesound or -ringBellAfterMoves true/false
	    Sets the Move Sound menu option.  See Options Menu.  Default: false.
	    For compatibility with old XBoard versions,  -bell/-xbell  are  also
	    accepted as abbreviations for this option.

     -exit/-xexit or -popupExitMessage true/false
	    Sets the Popup Exit Message menu option.  See Options Menu. Default:
	    true.

     -popup/-xpopup or -popupMoveErrors true/false
	    Sets  the Popup Move Errors menu option.  See Options Menu. Default:
	    false.

     -queen/-xqueen or -alwaysPromoteToQueen true/false
	    Sets the Always Queen menu	option.   See  Options	Menu.	Default:
	    false.

     -sweepPromotions true/false
	    Sets  the `Almost Always Promote to Queen' menu option.  See Options
	    Menu.  Default: false.

     -legal/-xlegal or -testLegality true/false
	    Sets the Test Legality menu option.   See  Options	Menu.	Default:
	    true.

     -size or -boardSize (sizeName | n1,n2,n3,n4,n5,n6,n7)
	    Determines	how large the board will be, by selecting the pixel size
	    of the pieces and setting a few related  parameters.   The	sizeName
	    can  be  one  of:  Titanic,  giving  129x129  pixel pieces, Colossal
	    116x116, Giant 108x108, Huge 95x95, Big 87x87,  Large  80x80,  Bulky
	    72x72,  Medium 64x64, Moderate 58x58, Average 54x54, Middling 49x49,
	    Mediocre 45x45, Small 40x40, Slim 37x37, Petite 33x33, Dinky  29x29,
	    Teeny  25x25, or Tiny 21x21.  Xboard installs with a set of scalable
	    (svg) piece images, which it scales to any of the  requested  sizes.
	    The  square  size  can  further be continuously scaled by sizing the
	    board window, but this only adapts the size of the pieces,	and  has
	    no effect on the width of the grid lines or the font choice (both of
	    which  would  depend on he selected boardSize).  The default depends
	    on the size of your screen; it is  approximately  the  largest  size
	    that will fit without clipping.

	    You  can  select other sizes or vary other layout parameters by pro-
	    viding a list of comma-separated values (with no spaces) as the  ar-
	    gument.  You do not need to provide all the values; for any you omit
	    from the end of the list, defaults are taken from the nearest built-
	    in size.  The value `n1' gives the piece size, `n2' the width of the
	    black  border  between squares, `n3' the desired size for the clock-
	    Font, `n4' the desired size for the coordFont, `n5' the desired size
	    for the messageFont, `n6' the smallLayout flag (0 or  1),  and  `n7'
	    the tinyLayout flag (0 or 1).  All dimensions are in pixels.  If the
	    border  between  squares  is eliminated (0 width), the various high-
	    light options will not work, as there is nowhere to draw  the  high-
	    light.   If smallLayout is 1 and `titleInWindow' is true, the window
	    layout is rearranged to make more room for the title.  If tinyLayout
	    is 1, the labels on the menu bar are abbreviated  to  one  character
	    each and the buttons in the button bar are made narrower.

     -overrideLineGap n
	    When  n  >=  0,  this  forces  the width of the black border between
	    squares to n pixels for any board size. Mostly used to suppress  the
	    grid  entirely  by	setting n = 0, e.g. in xiangqi or just getting a
	    prettier picture. When n < 0 this the size-dependent  width  of  the
	    grid lines is used. Default: -1.

     -coords/-xcoords or -showCoords true/false
	    Sets  the  Show  Coords  menu  option.   See Options Menu.	Default:
	    false.  The `coordFont' option specifies what font to use.

     -autoraise/-xautoraise or -autoRaiseBoard true/false
	    Sets the Auto Raise Board menu option.  See Options Menu.	Default:
	    true.

     -autoflip/-xautoflip or -autoFlipView true/false
	    Sets  the  Auto  Flip View menu option.  See Options Menu.	Default:
	    true.

     -flip/-xflip or -flipView true/false
	    If Auto Flip View is not set, or if you are observing but  not  par-
	    ticipating in a game, then the positioning of the board at the start
	    of	each  game depends on the flipView option.  If flipView is false
	    (the default), the board is positioned so that the white pawns  move
	    from  the  bottom to the top; if true, the black pawns move from the
	    bottom to the top.	In any case, the Flip menu option  (see  Options
	    Menu) can be used to flip the board after the game starts.

     -title/-xtitle or -titleInWindow true/false
	    If this option is true, XBoard displays player names (for ICS games)
	    and game file names (for `Load Game') inside its main window. If the
	    option is false (the default), this information is displayed only in
	    the window banner. You probably won't want to set this option unless
	    the  information  is not showing up in the banner, as happens with a
	    few X window managers.

     -buttons/-xbuttons or -showButtonBar True/False
	    If this option is False, xboard omits the [<<] [<] [P] [>] [>>] but-
	    ton bar from the window, allowing the message line to be wider.  You
	    can still get the functions of these  buttons  using  the  menus  or
	    their keyboard shortcuts.  Default: true.

     -evalZoom factor
	    The  score	interval  (-1,1) is blown up on the vertical axis of the
	    Evaluation Graph by the given factor.  Default: 1

     -evalThreshold n
	    Score below n (centiPawn) are plotted as 0 in the Evaluation  Graph.
	    Default: 25

     -mono/-xmono or -monoMode true/false
	    Determines	whether  XBoard displays its pieces and squares with two
	    colors (true)  or  four  (false).  You  shouldn't  have  to  specify
	    `monoMode'; XBoard will determine if it is necessary.

     -showTargetSquares true/false
	    Determines	whether XBoard can highlight the squares a piece has le-
	    gal moves to, when you grab that piece  with  the  mouse.	Default:
	    false.

     -flashCount count
     -flashRate rate
     -flash/-xflash
	    These options enable flashing of pieces when they land on their des-
	    tination  square.  `flashCount' tells XBoard how many times to flash
	    a piece after it lands on its destination square.  `flashRate'  con-
	    trols  the	rate  of flashing (flashes/sec).  Abbreviations: `flash'
	    sets flashCount to 3.  `xflash' sets  flashCount  to  0.   Defaults:
	    flashCount=0 (no flashing), flashRate=5.

     -highlight/-xhighlight or -highlightLastMove true/false
	    Sets the Highlight Last Move menu option. See Options Menu. Default:
	    false.

     -highlightMoveWithArrow true/false
	    Sets  the  Highlight  with	Arrow menu option. See Options Menu. De-
	    fault: false.

     -blind/-xblind or -blindfold true/false
	    Sets the Blindfold menu option.  See Options Menu.	Default: false.

     -periodic/-xperiodic or -periodicUpdates true/false
	    Controls updating of current move andnode counts in  analysis  mode.
	    Default: true.

     -fSAN
     -sSAN  Causes  the PV in thinking output of the mentioned engine to be con-
	    verted to SAN before it is further processed.  Warning:  this  might
	    lose  engine  output not understood by the parser, and uses a lot of
	    CPU power.	Default: the PV is displayed exactly as the engine  pro-
	    duced it.

     -showEvalInMoveHistory true/false
	    Controls  whether  the  evaluation scores and search depth of engine
	    moves are displayed with the move in the move-history  window.   De-
	    fault: true.

     -clockFont font
	    The  font used for the clocks. If the option value is a pattern that
	    does not specify the font size, XBoard tries to choose an  appropri-
	    ate  font for the board size being used.  Default Xaw: -*-helvetica-
	    bold-r-normal--*-*-*-*-*-*-*-*.  Default GTK: Sans Bold %d.

     -coordFont font
	    The font used for rank and file coordinate labels if `showCoords' is
	    true. If the option value is a pattern that  does  not  specify  the
	    font  size, XBoard tries to choose an appropriate font for the board
	    size   being   used.     Default	Xaw:	-*-helvetica-bold-r-nor-
	    mal--*-*-*-*-*-*-*-*.  Default GTK: Sans Bold %d.

     -messageFont font
	    The font used for popup dialogs, menus, etc.  If the option value is
	    a  pattern	that  does  not  specify  the font size, XBoard tries to
	    choose an appropriate font for the board size being  used.	 Default
	    Xaw:  -*-helvetica-medium-r-normal--*-*-*-*-*-*-*-*.   Default  GTK:
	    Sans Bold %d.  The font used in the Edit Tags dialog.  If the option
	    value contains %d, XBoard will replace it by an appropriate font for
	    the board size being used.	(Only used in GTK build.)  Default: Sans
	    Normal %d.	The font used in the Edit Comment dialog.  If the option
	    value contains %d, XBoard will replace it by an appropriate font for
	    the board size being used.	(Only used in GTK build.)  Default: Sans
	    Normal %d.	The font used to display ICS output  in  the  ICS   Chat
	    window.   As  ICS  output often contains tables aligned by spaces, a
	    mono-space font is recommended here.  If the option  value	contains
	    %d, XBoard will replace it by an appropriate font for the board size
	    being  used.   (Only  used in GTK build.)  Default: Monospace Normal
	    %d.  The font used in Move History and Engine  Output  windows.   As
	    these  windows  display  mainly moves, one could use a figurine font
	    here.  If the option value contains %d, XBoard will replace it by an
	    appropriate font for the board size being used.  (Only used  in  GTK
	    build.)   Default:	Sans Normal %d.  The font used in the listbox of
	    the Game List window.  If the option value contains %d, XBoard  will
	    replace  it  by  an  appropriate font for the board size being used.
	    (Only used in GTK build.)  Default: Sans Bold %d.

     -fontSizeTolerance tol
	    In the font selection algorithm, a nonscalable  font  will	be  pre-
	    ferred  over  a scalable font if the nonscalable font's size differs
	    by `tol' pixels or less from the desired size.  A value of	-1  will
	    force  a  scalable font to always be used if available; a value of 0
	    will use a nonscalable font only if it is exactly the right size;  a
	    large  value  (say	1000) will force a nonscalable font to always be
	    used if available.	Default: 4.

     -pid or -pieceImageDirectory dir
	    This options control what piece images  xboard  uses.   XBoard  will
	    look  in  the  specified directory for an image in png or svg format
	    for   every   piece   type,   with	 names	 like	 BlackQueen.svg,
	    WhiteKnight.svg  etc.   When  neither of these is found (or no valid
	    directory is specified) XBoard will use the svg piece that	was  in-
	    stalled  with  it  (from the source-tree directory `svg').	Both svg
	    and png images will be scaled by XBoard to the  required  size,  but
	    the png pieces lose much in quality when scaled too much.

     -whitePieceColor color
     -blackPieceColor color
     -lightSquareColor color
     -darkSquareColor color
     -highlightSquareColor color
     -preoveHighlightColor color
     -lowTimeWarningColor color
	    Colors  to	use for the pieces, squares, and square highlights.  De-
	    faults:

		-whitePieceColor       #FFFFCC
		-blackPieceColor       #202020
		-lightSquareColor      #C8C365
		-darkSquareColor       #77A26D
		-highlightSquareColor  #FFFF00
		-premoveHighlightColor #FF0000
		-lowTimeWarningColor   #FF0000

	    On a grayscale monitor you might prefer:

		-whitePieceColor       gray100
		-blackPieceColor       gray0
		-lightSquareColor      gray80
		-darkSquareColor       gray60
		-highlightSquareColor  gray100
		-premoveHighlightColor gray70
		-lowTimeWarningColor   gray70

	    The PieceColor options only work properly if the image files  defin-
	    ing  the  pieces  were  pure black & white (possibly anti-aliased to
	    produce gray scales and semi-transparancy), like the  pieces  images
	    that come with the install.  Their effect on colored pieces is unde-
	    fined.   The  SquareColor  option  only have an effect when no board
	    textures are used.

     -trueColors true/false
	    When set, this option suppresses the effect  of the  PieceColor  op-
	    tions  mentioned above.  This is recommended for images that are al-
	    ready colored.

     -useBoardTexture true/false
     -liteBackTextureFile filename
     -darkBackTextureFile filename
	    Indicate the png image files  to  be  used	for  drawing  the  board
	    squares, and if they should be used rather than using simple colors.
	    The algorithm for cutting squares out of a given bitmap is such that
	    the  picture  is  perfectly reproduced when a bitmap the size of the
	    complete board is given.  If the filename ends in  "-NxM.png",  with
	    integer  N	and  M,  it is assumed to contain a bitmap of a complete
	    board of N files and M ranks, and XBoard will scale  it  to  exactly
	    match the current square size.  If N=M=0 it scales the entire bitmap
	    to	the  size  of the board, irrespective of the number of files and
	    ranks of the latter.  Without any  -NxM  suffix  textures  are  only
	    blown  up by an integer factor when they are smaller than the square
	    size, or, when the name starts with "xq", too  small  to  cover  the
	    complete Xiangqi board.  Default: false and ""

     -drag/-xdrag or -animateDragging true/false
	    Sets  the  Animate Dragging menu option. See Options Menu.	Default:
	    true.

     -animate/-xanimate or -animateMoving true/false
	    Sets the Animate Moving menu option.  See  Options	Menu.	Default:
	    true.

     -animateSpeed n
	    Number  of milliseconds delay between each animation frame when Ani-
	    mate Moves is on.

     -autoDisplayComment true/false
     -autoDisplayTags true/false
	    If set to true, these options cause the window with  the  move  com-
	    ments,  and  the window with PGN tags, respectively, to pop up auto-
	    matically when such tags or comments are encountered during the  re-
	    playing a stored or loaded game.  Default: true.

     -pasteSelection true/false
	    If this option is set to true, the Paste Position and Paste Game op-
	    tions  paste from the currently selected text.  If false, they paste
	    from the clipboard.  Default: false.

     -autoCopyPV true|false
	    When this option is set, the position displayed on	the  board  when
	    you  terminate a PV walk (initiated by a right-click on board or en-
	    gine-output window) will be automatically put on  the  clipboard  as
	    FEN.  Default: false.

     -dropMenu true|false
	    This  option  allows  you  to  emulate old behavior, where the right
	    mouse button brings up the (now deprecated) drop  menu  rather  than
	    displaying	the position at the end of the principal variation.  De-
	    fault: False.

     -pieceMenu true|false
	    This option allows you to emulate  old  behavior,  where  the  right
	    mouse button brings up the (now deprecated) piece menu in Edit Posi-
	    tion  mode.   From	this menu you can select the piece to put on the
	    square you clicked to bring up the menu, or  select  items	such  as
	    `clear  board'.   You can also `promote' or `demote' a clicked piece
	    to convert it into an unorthodox piece that is not directly  in  the
	    menu, or give the move to `black' or `white'.

     -variations true|false
	    When this option is on, you can start new variations in Edit Game or
	    Analyze  mode  by  holding the Shift key down while entering a move.
	    When it is off, the Shift key will be ignored.  Default: False.

     -appendPV true|false
	    When this option is on, right-clicking a PV  in  the  Engine  Output
	    window  will  play	the first move of that PV in Analyze mode, or as
	    many moves as you walk through by moving the mouse.  Default: False.

     -absoluteAnalysisScores true|false
	    When true, scores on the Engine Output window during  analysis  will
	    be	printed  from  the white point-of-view, rather than the side-to-
	    move point-of-view.  Default: False.

     -scoreWhite true|false
	    When true, scores will always be printed from  the	white  point-of-
	    view, rather than the side-to-move point-of-view.  Default: False.

     -memoHeaders true|false
	    When  true,  column  headers  will be displayed in the Engine Output
	    window for the depth, score, time and nodes data.  Right-clicking on
	    these headers will hide or show the corresponding  data.   (Not  in-
	    tended  for  dynamic  use,	as  already  printed data of the current
	    search will not be affected!)  Defaul: False.

   Adjudication Options
     -adjudicateLossThreshold n
	    If the given value is non-zero, XBoard adjudicates	the  game  as  a
	    loss  if both engines agree for a duration of 6 consecutive ply that
	    the score is below the given score threshold for that  engine.  Make
	    sure   the	 score	 is   interpreted   properly  by  XBoard,  using
	    `-firstScoreAbs' and `-secondScoreAbs' if needed.	Default:  0  (no
	    adjudication)

     -adjudicateDrawMoves n
	    If	the  given  value  is non-zero, XBoard adjudicates the game as a
	    draw if after the given number of moves it was not yet decided.  De-
	    fault: 0 (no adjudication)

     -checkMates true/false
	    If this option is set, XBoard detects all checkmates and stalemates,
	    and  ends  the game as soon as they occur.	Legality-testing must be
	    switched on for this option to work.  Default: true

     -testClaims true/false
	    If this option is set, XBoard verifies all result claims made by en-
	    gines, and those who send false claims will forfeit the game because
	    of it.  Legality-testing must be switched  on  for	this  option  to
	    work. Default: true

     -materialDraws true/false
	    If	this option is set, XBoard adjudicates games as draws when there
	    is no sufficient material left to inflict a checkmate.  This applies
	    to KBKB with like bishops (any number, actually), and  to  KBK,  KNK
	    and  KK.   Legality-testing  must  be switched on for this option to
	    work. Default: true

     -trivialDraws true/false
	    If this option is set, XBoard adjudicates games as draws that cannot
	    be usually won without opponent cooperation. This  applies	to  KBKB
	    with  unlike  bishops,  and  to KBKN, KNKN, KNNK, KRKR and KQKQ. The
	    draw is called after 6 ply into  these  end-games,	to  allow  quick
	    mates  that  can  occur in some exceptional positions to be found by
	    the engines.  KQKQ does not really	belong	in  this  category,  and
	    might be taken out in the future.  (When bitbase-based adjudications
	    are  implemented.)	 Legality-testing  must be on for this option to
	    work. Default: false

     -ruleMoves n
	    If the given value is non-zero, XBoard adjudicates	the  game  as  a
	    draw  after the given number of consecutive reversible moves. Engine
	    draw claims are always accepted after 50 moves, irrespective of  the
	    given value of n.

     -repeatsToDraw n
	    If	the  given  value  is non-zero, xboard adjudicates the game as a
	    draw if a position is repeated the given number  of  times.  Engines
	    draw  claims are always accepted after 3 repeats, (on the 3rd occur-
	    rence, actually), irrespective of the value of n.  Beware that posi-
	    tions that have different castling or en-passant rights do not count
	    as repeats, XBoard is fully e.p. and castling aware!

   Other options
     -ncp/-xncp or -noChessProgram true/false
	    If this option is true, XBoard acts as a passive chessboard; it does
	    not start a chess engine at all. Turning on this option  also  turns
	    off clockMode. Default: false.

     -viewer
     -viewerOptions string
	    Presence  of  the  volatile option `viewer' on the command line will
	    cause the value of the persistent option `viewerOptions'  as  stored
	    in the settings file to be appended to the command line.  The `view'
	    option  will  be  used by desktop associations with game or position
	    file types, so that `viewerOptions' can be used to configure the ex-
	    act mode XBoard will start in when it should  act  on  such  a  file
	    (e.g. in -ncp mode, or analyzing with your favorite engine). The op-
	    tions  are	also automatically appended when Board is invoked with a
	    single argument not being an option name, which is then  assumed  to
	    be	the  name  of a `loadGameFile' or (when the name ends in .fen) a
	    `loadPositionFile'.  Default: "-ncp -engineOutputUp false  -saveSet-
	    tingsOnExit false".

     -tourneyOptions string
	    When  XBoard  is  invoked with a single argument that is a file with
	    .trn extension, it will assume this argument to be the  value  of  a
	    `tourneyFile'  option,  and apped the value of the persistent option
	    `tourneyOptions' as stored in the settings file to the command line.
	    Thus the value of `tourneyOptions' can be used to  configure  XBoard
	    to	automatically  start  running a tournament when it should act on
	    such a file.  Default: "-ncp -mm -saveSettingsOnExit false".

     -mode or -initialMode modename
	    If this option is given, XBoard selects the given modename from  the
	    Mode   menu  after	starting  and  (if  applicable)  processing  the
	    loadGameFile or loadPositionFile option. Default: "" (no selection).
	    Other supported values are MachineWhite, MachineBlack,  TwoMachines,
	    Analysis, AnalyzeFile, EditGame, EditPosition, and Training.

     -variant varname
	    Activates  preliminary,  partial  support for playing chess variants
	    against a local engine or editing variant games.  This flag  is  not
	    needed in ICS mode.  Recognized variant names are:

		normal	      Normal chess
		wildcastle    Shuffle chess, king can castle from d file
		nocastle      Shuffle chess, no castling allowed
		fischerandom  Fischer Random shuffle chess
		bughouse      Bughouse, ICC/FICS rules
		crazyhouse    Crazyhouse, ICC/FICS rules
		losers	      Lose all pieces or get mated (ICC wild 17)
		suicide       Lose all pieces including king (FICS)
		giveaway      Try to have no legal moves (ICC wild 26)
		twokings      Weird ICC wild 9
		kriegspiel    Opponent's pieces are invisible
		atomic	      Capturing piece explodes (ICC wild 27)
		3check	      Win by giving check 3 times (ICC wild 25)
		shatranj      An ancient precursor of chess (ICC wild 28)
		xiangqi       Chinese Chess (on a 9x10 board)
		shogi	      Japanese Chess (on a 9x9 board & piece drops)
		capablanca    Capablanca Chess (10x8 board, with Archbishop
			      and Chancellor pieces)
		gothic	      similar, with a better initial position
		caparandom    An FRC-like version of Capablanca Chess (10x8)
		janus	      A game with two Archbishops (10x8 board)
		courier       Medieval intermediate between shatranj and
			      modern Chess (on 12x8 board)
		falcon	      Patented 10x8 variant with two Falcon pieces
		berolina      Pawns capture straight ahead, and move diagonal
		cylinder      Pieces wrap around the board edge
		knightmate    King moves as Knight, and vice versa
		super	      Superchess (shuffle variant with 4 exo-pieces)
		makruk	      Thai Chess (shatranj-like, P promotes on 6th rank)
		asean	      ASEAN Chess (a modernized version of Makruk)
		spartan       Spartan Chess (black has unorthodox pieces)
		fairy	      A catchall variant in which all piece types
			      known to XBoard can participate (8x8)
		unknown       Catchall for other unknown variants

	    NOT  ALL  BOARDSIZES  PROVIDE A COMPLETE SET OF BUILT-IN BITMAPS FOR
	    ALL UN-ORTHODOX PIECES, though. Only  in  `boardSize'  middling  and
	    bulky  all	22 piece types are provided, while -boardSize petite has
	    most of them. Archbishop, Chancellor and  Amazon  are  supported  in
	    every  size  from  petite to bulky. Kings or Amazons are substituted
	    for missing bitmaps. You can still play variants needing un-orthodox
	    pieces in other board sizes providing your own bitmaps  through  the
	    `bitmapDirectory' or `pixmapDirectory' options.

	    In	the  shuffle  variants,  XBoard now does shuffle the pieces, al-
	    though you can still do it by hand using Edit Position.  Some  vari-
	    ants  are  supported  only	in  ICS  mode,	including  bughouse, and
	    kriegspiel.  The winning/drawing conditions in crazyhouse (off-board
	    interposition on mate) are not fully understood,  but  losers,  sui-
	    cide,  giveaway,  atomic,  and  3check  should  be OK.  Berolina and
	    cylinder chess can only be played with  legality  testing  off.   In
	    crazyhouse, XBoard now does keep track of off-board pieces.  In sha-
	    tranj  it  does  implement	the  baring  rule when mate detection is
	    switched on.

     -boardHeight N
	    Allows you to set a non-standard number of board ranks in any  vari-
	    ant.  If the height is given as -1, the default height for the vari-
	    ant is used.  Default: -1

     -boardWidth N
	    Allows  you to set a non-standard number of board files in any vari-
	    ant.  If the width is given as -1, the default width for the variant
	    is used.  With a non-standard width, the initial position  will  al-
	    ways  be  an  empty  board, as the usual opening array will not fit.
	    Default: -1

     -holdingsSize N
	    Allows you to set a non-standard size for the holdings in any  vari-
	    ant.   If the size is given as -1, the default holdings size for the
	    variant is used.  The first N piece types will go into the	holdings
	    on	capture, and you will be able to drop them on the board in stead
	    of making a normal move. If size equals 0, there will  be  no  hold-
	    ings.  Default: -1

     -defaultFrcPosition N
	    Specifies  the  number of the opening position in shuffle games like
	    Chess960.  A value of -1 means the position is randomly generated by
	    XBoard at the beginning of every game.  Default: -1

     -pieceToCharTable string
	    The characters that are used to represent  the  piece  types  XBoard
	    knows in FEN diagrams and SAN moves. The string argument has to have
	    an	even  length  (or it will be ignored), as white and black pieces
	    have to be given separately (in that order).  The  last  letter  for
	    each  color will be the King.  The letters before that will be PNBRQ
	    and then a whole host of fairy pieces in an order that has not fully
	    crystallized  yet  (currently  FEACWMOHIJGDVSLU,  F=Ferz,  Elephant,
	    A=Archbishop,    C=Chancellor,    W=Wazir,	 M=Commoner,   O=Cannon,
	    H=Nightrider). You should list at least all pieces that occur in the
	    variant you are playing. If you have less than 44 characters in  the
	    string, the pieces not mentioned will get assigned a period, and you
	    will  not  be able to distinguish them in FENs. You can also explic-
	    itly assign pieces a period, in which case they will not be  counted
	    in deciding which captured pieces can go into the holdings.  A tilde
	    '~' as a piece name does mean this piece is used to represent a pro-
	    moted  Pawn  in crazyhouse-like games, i.e. on capture it turns back
	    onto a Pawn.  A '+' similarly indicates the piece is  a  shogi-style
	    promoted  piece,  that  should revert to its non-promoted version on
	    capture (rather than to a Pawn).  Note that promoted pieces are rep-
	    resented by pieces 11 further in the list.	You should not	have  to
	    use  this option often: each variant has its own default setting for
	    the piece representation in FEN, which should be sufficient in  nor-
	    mal use.  Default: ""

     -pieceNickNames string
	    The  characters in the string are interpreted the same way as in the
	    `pieceToCharTable' option. But on input, piece-ID letters are  first
	    looked  up	in  the nicknames, and only if not defined there, in the
	    normal pieceToCharTable. This allows you to have two letters  desig-
	    nate the same piece, (e.g. N as an alternative to H for Horse in Xi-
	    angqi), to make reading of non-compliant notations easier.	Default:
	    ""

     -colorNickNames string
	    The  side-to-move  field  in a FEN will be first matched against the
	    letters in the string (first character for white, second for black),
	    before it is matched to the regular 'w' and 'b'.  This makes it eas-
	    ier to read non-compliant FENs, which, say, use 'r' for white.   De-
	    fault: ""

     -debug/-xdebug or -debugMode true/false
	    Turns on debugging printout.

     -debugFile filename or -nameOfDebugFile filename
	    Sets  the  name  of the file to which XBoard saves debug information
	    (including all communication to and from the engines).   A	`%d'  in
	    the  given	file  name  (e.g.  game%d.debug) will be replaced by the
	    unique sequence number of a tournament game, so that the debug  out-
	    put of each game will be written on a separate file.

     -engineDebugOutput number
	    Specifies  how  XBoard should handle unsolicited output from the en-
	    gine, with respect to saving it in the debug file.	 The  output  is
	    further  (hopefully)  ignored.   If  number=0,  XBoard refrains from
	    writing such spurious output to the debug file.   If  number=1,  all
	    engine output is written faithfully to the debug file.  If number=2,
	    any protocol-violating line is prefixed with a '#' character, as the
	    engine  itself  should have done if it wanted to submit info for in-
	    clusion in the debug file.	This option is provided for the  benefit
	    of	applications that use the debug file as a source of information,
	    such as the broadcaster of live games TLCV /  TLCS.   Such	applica-
	    tions can be protected from spurious engine output that might other-
	    wise confuse them.

     -rsh or -remoteShell shell-name
	    Name  of  the  command used to run programs remotely. The default is
	    `rsh' or `remsh', determined when XBoard is configured and compiled.

     -ruser or -remoteUser user-name
	    User name on the remote system when running programs with  the  `re-
	    moteShell'. The default is your local user name.

     -userName username
	    Name  under  which	the Human player will be listed in the PGN file.
	    Default is the login name on your local computer.

     -delayBeforeQuit number
     -delayAfterQuit number
	    These options order pauses before and after sending the "quit"  com-
	    mand  to  an engine that must be terminated.  The pause between quit
	    and the previous command is specified in  milliseconds.   The  pause
	    after  quit  is used to schedule a kill signal to be sent to the en-
	    gine process after the number of specified seconds plus  one.   This
	    signal  is	a  different one as the terminiation signal described in
	    the protocol specs which engines can suppress or ignore,  and  which
	    is sent directly after the "quit" command.	Setting `delayAfterQuit'
	    to -1 will suppress sending of the kill signal.  Default: 0

     -searchMode n
	    The  integer  n  encodes  the mode for the `find position' function.
	    Default: 1 (= Exact position match)

     -eloThresholdBoth elo
     -eloThresholdAny elo
	    Defines a lower limit for the Elo rating, which has to be  surpassed
	    before  a  game  will be considered when searching for a board posi-
	    tion.  Default: 0

     -dateThreshold year
	    Only games not played before the given year will be considered  when
	    searching for a board position

CHESS SERVERS
     An "Internet Chess Server", or "ICS", is a place on the Internet where peo-
     ple  can  get  together  to play chess, watch other people's games, or just
     chat.  You can use either `telnet' or a client program like XBoard to  con-
     nect to the server.  There are thousands of registered users on the differ-
     ent  ICS hosts, and it is not unusual to meet 200 on both chessclub.com and
     freechess.org.

     Most people can just type `xboard -ics' to start XBoard as an  ICS  client.
     Invoking  XBoard in this way connects you to the Internet Chess Club (ICC),
     a commercial ICS.	You can log in there as a guest even if you do not  have
     a paid account.  To connect to the largest Free ICS (FICS), use the command
     `xboard  -ics  -icshost  freechess.org'  instead, or substitute a different
     host name to connect to your favorite ICS.  For a full description of  com-
     mand-line options that control the connection to ICS and change the default
     values of ICS options, see ICS options.

     While  you are running XBoard as an ICS client, you use the terminal window
     that you started XBoard from as a place to type in commands and read infor-
     mation that is not available on the chessboard.

     The first time you need to use the terminal is to enter your login name and
     password, if you are a registered player. (You don't need to do this  manu-
     ally;  the  `icsLogon' option can do it for you.  See ICS options.)  If you
     are not registered, enter `g' as your name, and  the  server  will  pick  a
     unique guest name for you.

     Some useful ICS commands include

     help <topic>
	    to	get  help on the given <topic>. To get a list of possible topics
	    type "help" without topic.	Try the  help  command	before	you  ask
	    other people on the server for help.

	    For example `help register' tells you how to become a registered ICS
	    player.

     who <flags>
	    to	see  a list of people who are logged on.  Administrators (people
	    you should talk to if you have a problem) are marked with the  char-
	    acter  `*',  an  asterisk. The <flags> allow you to display only se-
	    lected players: For example, `who of' shows a list	of  players  who
	    are interested in playing but do not have an opponent.

     games  to see what games are being played

     match <player> [<mins>] [<inc>]
	    to	challenge  another  player  to a game. Both opponents get <mins>
	    minutes for the game, and <inc> seconds will  be  added  after  each
	    move.  If another player challenges you, the server asks if you want
	    to	accept	the challenge; use the `accept' or `decline' commands to
	    answer.

     accept
     decline
	    to accept or decline another player's offer.  The offer  may  be  to
	    start  a new game, or to agree to a `draw', `adjourn' or `abort' the
	    current game. See Action Menu.

	    If you have more than one pending offer (for example, if  more  than
	    one  player  is  challenging  you, or if your opponent offers both a
	    draw and to adjourn the game), you have to supply additional  infor-
	    mation,  by  typing something like `accept <player>', `accept draw',
	    or `draw'.

     draw
     adjourn
     abort  asks your opponent to terminate a  game  by  mutual  agreement.  Ad-
	    journed games can be continued later.  Your opponent can either `de-
	    cline' your offer or accept it (by typing the same command or typing
	    `accept').	 In  some cases these commands work immediately, without
	    asking your opponent to agree.  For example, you can abort the  game
	    unilaterally  if  your  opponent is out of time, and you can claim a
	    draw by repetition or the 50-move rule if available simply by typing
	    `draw'.

     finger <player>
	    to get information about the given <player>. (Default: yourself.)

     vars   to get a list of personal settings

     set <var> <value>
	    to modify these settings

     observe <player>
	    to observe an ongoing game of the given <player>.

     examine
     oldmoves
	    to review a recently completed game

     Some special XBoard features are activated when you are in examine mode  on
     ICS.   See  the  descriptions  of	the menu commands `Forward', `Backward',
     `Pause', `ICS Client', and `Stop Examining' on the Edit  Menu,  Mode  Menu,
     and Action Menu.

FIREWALLS
     By  default, XBoard communicates with an Internet Chess Server by opening a
     TCP socket directly from the machine it is running on to the ICS. If  there
     is  a  firewall between your machine and the ICS, this won't work. Here are
     some recipes for getting around common kinds of firewalls using special op-
     tions to XBoard.  Important: See the paragraph in	the  below  about  extra
     echoes, in Limitations.

     Suppose  that  you  can't	telnet	directly to ICS, but you can telnet to a
     firewall host, log in, and then telnet from there to ICS.	 Let's	say  the
     firewall is called `firewall.example.com'. Set command-line options as fol-
     lows:

	 xboard -ics -icshost firewall.example.com -icsport 23

     Then when you run XBoard in ICS mode, you will be prompted to log in to the
     firewall host. This works because port 23 is the standard telnet login ser-
     vice. Do so, then telnet to ICS, using a command like `telnet chessclub.com
     5000',  or  whatever  command  the firewall provides for telnetting to port
     5000.

     If your firewall lets you telnet (or rlogin) to remote  hosts  but  doesn't
     let you telnet to port 5000, you may be able to connect to the chess server
     on  port  23 instead, which is the port the telnet program uses by default.
     Some   chess   servers   support	this   (including   chessclub.com    and
     freechess.org), while some do not.

     If  your  chess server does not allow connections on port 23 and your fire-
     wall does not allow you to connect to other ports, you may be able to  con-
     nect  by hopping through another host outside the firewall that you have an
     account on.  For instance, suppose you have a shell account  at  `foo.edu'.
     Follow  the recipe above, but instead of typing `telnet chessclub.com 5000'
     to the firewall, type `telnet foo.edu' (or `rlogin foo.edu'), log in there,
     and then type `telnet chessclub.com 5000'.

     Suppose that you can't telnet directly to ICS, but you can use rsh  to  run
     programs  on  a  firewall host, and that host can telnet to ICS.  Let's say
     the firewall is called `rsh.example.com'. Set command-line options as  fol-
     lows:

	 xboard -ics -gateway rsh.example.com -icshost chessclub.com

     Then  when  you run XBoard in ICS mode, it will connect to the ICS by using
     `rsh' to run the command `telnet chessclub.com  5000'  on	host  `rsh.exam-
     ple.com'.

     Suppose  that  you can telnet anywhere you want, but you have to run a spe-
     cial program called `ptelnet' to do so.

     First, we'll consider the easy case, in which `ptelnet chessclub.com  5000'
     gets  you	to  the  chess server.	In this case set command line options as
     follows:

	 xboard -ics -telnet -telnetProgram ptelnet

     Then when you run XBoard in ICS mode, it will issue  the  command	`ptelnet
     chessclub.com 5000' to connect to the ICS.

     Next, suppose that `ptelnet chessclub.com 5000' doesn't work; that is, your
     `ptelnet'	program  doesn't  let you connect to alternative ports. As noted
     above, your chess server may allow you to connect on port 23  instead.   In
     that  case, just add the option `-icsport ""' to the above command.  But if
     your chess server doesn't let you connect on port 23, you will have to find
     some other host outside the firewall and hop through it. For instance, sup-
     pose you have a shell account at `foo.edu'. Set  command  line  options  as
     follows:

	 xboard -ics -telnet -telnetProgram ptelnet -icshost foo.edu -icsport ""

     Then  when  you  run XBoard in ICS mode, it will issue the command `ptelnet
     foo.edu' to connect to your account at `foo.edu'. Log in there,  then  type
     `telnet chessclub.com 5000'.

     ICC  timestamp  and  FICS timeseal do not work through some firewalls.  You
     can use them only if your firewall gives a clean TCP connection with a full
     8-bit wide path.  If your firewall allows you to get out only by running  a
     special telnet program, you can't use timestamp or timeseal across it.  But
     if  you  have access to a computer just outside your firewall, and you have
     much lower netlag when talking to that computer than to the ICS,  it  might
     be  worthwhile  running timestamp there.  Follow the instructions above for
     hopping through a host outside the firewall (foo.edu in the  example),  but
     run timestamp or timeseal on that host instead of telnet.

     Suppose  that  you  have  a SOCKS firewall that will give you a clean 8-bit
     wide TCP connection to the chess server, but only	after  you  authenticate
     yourself via the SOCKS protocol.  In that case, you could make a socksified
     version  of  XBoard  and run that.  If you are using timestamp or timeseal,
     you will to socksify it, not XBoard; this may be difficult seeing that  ICC
     and  FICS do not provide source code for these programs.  Socksification is
     beyond the  scope	of  this  document,  but  see  the  SOCKS  Web	site  at
     http://www.socks.permeo.com/.     If    you    are   missing   SOCKS,   try
     http://www.funbureau.com/.

ENVIRONMENT VARIABLES
     Game and position files are found in a directory named  by  the  `CHESSDIR'
     environment  variable. If this variable is not set, the current working di-
     rectory is used. If `CHESSDIR' is set, XBoard actually changes its  working
     directory	to `$CHESSDIR', so any files written by the chess engine will be
     placed there too.

LIMITATIONS AND KNOWN BUGS
     There is no way for two people running copies of XBoard to play each  other
     without going through an Internet Chess Server.

     Under some circumstances, your ICS password may be echoed when you log on.

     If  you are connecting to the ICS by running telnet on an Internet provider
     or firewall host, you may find that each line you type is	echoed	back  an
     extra  time after you hit <Enter>. If your Internet provider is a Unix sys-
     tem, you can probably turn its echo off by typing `stty  -echo'  after  you
     log in, and/or typing <^E><Enter> (Ctrl+E followed by the Enter key) to the
     telnet  program  after  you  have logged into ICS.  It is a good idea to do
     this if you can, because the extra echo can occasionally  confuse	XBoard's
     parsing routines.

     The game parser recognizes only algebraic notation.

     Many  of  the  following  points used to be limitations in XBoard 4.2.7 and
     earlier, but are now fixed: The internal move  legality  tester  in  XBoard
     4.3.xx does look at the game history, and is fully aware of castling or en-
     passant-capture rights. It permits castling with the king on the d file be-
     cause  this is possible in some "wild 1" games on ICS.  The piece-drop menu
     does not check piece drops in bughouse to see  if	you  actually  hold  the
     piece  you  are  trying  to drop. But this way of dropping pieces should be
     considered an obsolete feature, now that pieces can be dropped by	dragging
     them  from the holdings to the board. Anyway, if you would attempt an ille-
     gal move when using a chess engine or the ICS, XBoard will accept the error
     message that comes back, undo the move, and let you try another.  FEN posi-
     tions saved by XBoard do include correct information about whether castling
     or en passant are legal, and also handle the 50-move counter.  The mate de-
     tector does not understand that non-contact mate is not really mate in bug-
     house.  The only problem this causes while playing is minor:  a  "#"  (mate
     indicator)  character  will  show up after a non-contact mating move in the
     move list. XBoard will not assume the game is over at that point, not  even
     when  the	option Detect Mates is on.  Edit Game mode always uses the rules
     of the selected variant, which can be a variant that uses piece drops.  You
     can load and edit games that contain piece  drops.   The  (obsolete)  piece
     menus  are  not  active, but you can perform piece drops by dragging pieces
     from the holdings.  Fischer Random castling is fully understood.	You  can
     enter castlings by dragging the King on top of your Rook.	You can probably
     also  play Fischer Random successfully on ICS by typing castling moves into
     the ICS Interaction window.

     The menus may not work if your keyboard is in Caps Lock or Num  Lock  mode.
     This seems to be a problem with the Athena menu widget, not an XBoard bug.

     Also see the ToDo file included with the distribution for many other possi-
     ble bugs, limitations, and ideas for improvement that have been suggested.

REPORTING PROBLEMS
     You  can  report  bugs  and  problems  with XBoard using the bug tracker at
     `https://savannah.gnu.org/projects/xboard/' or by sending	mail  to  `<bug-
     xboard@gnu.org>'.	 It  can also be useful to report or discuss bugs in the
     WinBoard Forum at `http://www.open-aurec.com/wbforum/',  WinBoard	develop-
     ment section.

     Please  use the `script' program to start a typescript, run XBoard with the
     `-debug' option, and include the typescript output in your  message.   Also
     tell  us what kind of machine and what operating system version you are us-
     ing.  The command `uname -a' will often tell you this.

     If you improve XBoard, please send a message about  your  changes,  and  we
     will get in touch with you about merging them in to the main line of devel-
     opment.

AUTHORS AND CONTRIBUTORS
     Chris Sears and Dan Sears wrote the original XBoard.  They were responsible
     for  versions  1.0  through  1.2.	 The  color  scheme was taken from Wayne
     Christopher's `XChess' program.

     Tim Mann was primarily responsible for XBoard versions 1.3  through  4.2.7,
     and  for  WinBoard (a port of XBoard to Microsoft Win32) from its inception
     through version 4.2.7.

     John Chanak contributed the initial implementation of ICS mode.  Evan Welsh
     wrote `CMail', and Patrick Surry helped in designing,  testing,  and  docu-
     menting  it.   Elmar Bartel contributed the new piece bitmaps introduced in
     version 3.2.  Jochen  Wiedmann  converted	the  documentation  to	texinfo.
     Frank  McIngvale added click/click moving, the Analysis modes, piece flash-
     ing, ZIICS import, and ICS text colorization to XBoard.  Hugh Fisher  added
     animated  piece  movement	to XBoard, and Henrik Gram added it to WinBoard.
     Mark Williams contributed the  initial  (WinBoard-only)  implementation  of
     many  new	features added to both XBoard and WinBoard in version 4.1.0, in-
     cluding copy/paste, premove, icsAlarm, autoFlipView,  training  mode,  auto
     raise, and blindfold.  Ben Nye contributed X copy/paste code for XBoard.

     In  a fork from version 4.2.7, Alessandro Scotti added many elements to the
     user interface of WinBoard, including the	board  textures  and  font-based
     rendering, the evaluation-graph, move-history and engine-output window.  He
     was also responsible for adding the UCI support.

     H. G. Muller continued this fork of the project, producing version 4.3.  He
     made  WinBoard  castling-	and  e.p.-aware,  added variant support with ad-
     justable board sizes, the crazyhouse holdings, and the  fairy  pieces.   In
     addition  he added most of the adjudication options, made WinBoard more ro-
     bust in dealing with buggy and crashing engines, and extended time  control
     with a time-odds and node-count-based modes.  Most of the options that ini-
     tially were WinBoard only have now been back-ported to XBoard.

     Michel van den Bergh provided the code for reading Polyglot opening books.

     Meanwhile,  some work continued on the GNU XBoard project maintained at sa-
     vannah.gnu.org, but version 4.2.8 was never released.  Daniel Mehrmann  was
     responsible for much of this work.

     Most  recently, Arun Persaud worked with H. G. Muller to merge all the fea-
     tures of the never-released XBoard/WinBoard 4.2.8 of the GNU XBoard project
     and the never-released 4.3.16 from H. G.'s fork into a unified  XBoard/Win-
     Board  4.4,  which is now available both from the savannah.gnu.org web site
     and the WinBoard forum.

CMAIL
     The `cmail' program can help you play chess by email with opponents of your
     choice using XBoard as an interface.

     You will usually run `cmail' without giving any options.

   CMail options
     -h     Displays `cmail' usage information.

     -c     Shows the conditions of the GNU General Public License.   See  Copy-
	    ing.

     -w     Shows  the	warranty  notice of the GNU General Public License.  See
	    Copying.

     -v
     -xv    Provides or inhibits verbose output from `cmail' and XBoard,  useful
	    for  debugging.  The `-xv' form also inhibits the cmail introduction
	    message.

     -mail
     -xmail
	    Invokes or inhibits the sending of a  mail	message  containing  the
	    move.

     -xboard
     -xxboard
	    Invokes or inhibits the running of XBoard on the game file.

     -reuse
     -xreuse
	    Invokes  or  inhibits the reuse of an existing XBoard to display the
	    current game.

     -remail
	    Resends the last mail message for that game. This  inhibits  running
	    XBoard.

     -game <name>
	    The name of the game to be processed.

     -wgames <number>
     -bgames <number>
     -games <number>
	    Number  of games to start as White, as Black or in total. Default is
	    1 as white and none as black. If only one color  is  specified  then
	    none  of  the  other color is assumed. If no color is specified then
	    equal numbers of White and Black games are started, with  the  extra
	    game being as White if an odd number of total games is specified.

     -me <short name>
     -opp <short name>
	    A one-word alias for yourself or your opponent.

     -wname <full name>
     -bname <full name>
     -myname <full name>
     -oppname <full name>
	    The full name of White, Black, yourself or your opponent.

     -wna <net address>
     -bna <net address>
     -na <net address>
     -oppna <net address>
	    The email address of White, Black, yourself or your opponent.

     -dir <directory>
	    The directory in which `cmail' keeps its files. This defaults to the
	    environment  variable  `$CMAIL_DIR'  or  failing  that, `$CHESSDIR',
	    `$HOME/Chess' or `~/Chess'. It will be created if it does not exist.

     -arcdir <directory>
	    The directory in which `cmail' archives completed games. Defaults to
	    the environment variable `$CMAIL_ARCDIR' or,  in  its  absence,  the
	    same directory as cmail keeps its working files (above).

     -mailprog <mail program>
	    The  program  used by cmail to send email messages. This defaults to
	    the  environment  variable	 `$CMAIL_MAILPROG'   or   failing   that
	    `/usr/ucb/Mail',  `/usr/ucb/mail'  or  `Mail'.  You will need to set
	    this variable if none of the above paths fit your system.

     -logFile <file>
	    A file in which to dump verbose debugging messages that are  invoked
	    with the `-v' option.

     -event <event>
	    The PGN Event tag (default `Email correspondence game').

     -site <site>
	    The PGN Site tag (default `NET').

     -round <round>
	    The PGN Round tag (default `-', not applicable).

     -mode <mode>
	    The PGN Mode tag (default `EM', Electronic Mail).

     Other options
	    Any option flags not listed above are passed through to XBoard.  In-
	    voking XBoard through CMail changes the default values of two XBoard
	    options: The default value for `-noChessProgram' is changed to true;
	    that  is,  by default no chess engine is started.  The default value
	    for `-timeDelay' is changed to 0; that is, by default XBoard immedi-
	    ately goes to the end of the game as  played  so  far,  rather  than
	    stepping  through the moves one by one.  You can still set these op-
	    tions to whatever values you prefer by  supplying  them  on  CMail's
	    command line.  See Options.

   Starting a CMail Game
     Type  `cmail'  from a shell to start a game as white. After an opening mes-
     sage, you will be prompted for a game name, which is  optional  --  if  you
     simply  press  <Enter>, the game name will take the form `you-VS-opponent'.
     You will next be prompted for the short  name  of	your  opponent.  If  you
     haven't  played  this  person before, you will also be prompted for his/her
     email address. `cmail' will then invoke XBoard in the background. Make your
     first move and select `Mail Move' from the `File' menu. See File  Menu.  If
     all  is well, `cmail' will mail a copy of the move to your opponent. If you
     select `Exit' without having selected `Mail Move'	then  no  move	will  be
     made.

   Answering a Move
     When  you	receive  a  message from an opponent containing a move in one of
     your games, simply pipe the message through `cmail'. In some  mailers  this
     is  as simple as typing `| cmail' when viewing the message, while in others
     you may have to save the message to a file and do `cmail  <  file'  at  the
     command line. In either case `cmail' will display the game using XBoard. If
     you  didn't  exit XBoard when you made your first move then `cmail' will do
     its best to use the existing XBoard instead of starting a new one.  As  be-
     fore,  simply  make a move and select `Mail Move' from the `File' menu. See
     File Menu. `cmail' will try to use the XBoard that was most  recently  used
     to  display the current game. This means that many games can be in progress
     simultaneously, each with its own active XBoard.

     If you want to look at the history or explore a variation,  go  ahead,  but
     you  must	return	to  the current position before XBoard will allow you to
     mail a move. If you edit the game's history you must  select  `Reload  Same
     Game'  from the `File' menu to get back to the original position, then make
     the move you want and select `Mail Move'.	As before,  if	you  decide  you
     aren't  ready  to make a move just yet you can either select `Exit' without
     sending a move or just leave XBoard running until you are ready.

   Multi-Game Messages
     It is possible to have a `cmail' message carry more than  one  game.   This
     feature  was  implemented	to handle IECG (International Email Chess Group)
     matches, where a match consists of one game as white and one as black, with
     moves transmitted simultaneously. In case	there  are  more  general  uses,
     `cmail' itself places no limit on the number of black/white games contained
     in a message; however, XBoard does.

   Completing a Game
     Because  XBoard  can  detect  checkmate and stalemate, `cmail' handles game
     termination sensibly. As well as  resignation,  the  `Action'  menu  allows
     draws to be offered and accepted for `cmail' games.

     For  multi-game  messages,  only unfinished and just-finished games will be
     included in email messages. When all  the	games  are  finished,  they  are
     archived  in  the user's archive directory, and similarly in the opponent's
     when he or she pipes the final message through `cmail'.  The  archive  file
     name includes the date the game was started.

   Known CMail Problems
     It's  possible  that  a  strange conjunction of conditions may occasionally
     mean that `cmail' has trouble reactivating  an  existing  XBoard.	If  this
     should happen, simply trying it again should work.  If not, remove the file
     that  stores  the	XBoard's PID (`game.pid') or use the `-xreuse' option to
     force `cmail' to start a new XBoard.

     Versions of `cmail' after 2.16 no longer understand  the  old  file  format
     that XBoard used to use and so cannot be used to correspond with anyone us-
     ing an older version.

     Versions  of  `cmail' older than 2.11 do not handle multi-game messages, so
     multi-game correspondence is not possible with  opponents	using  an  older
     version.

OTHER PROGRAMS YOU CAN USE WITH XBOARD
     Here are some other programs you can use with XBoard

   GNU Chess
     The GNU Chess engine is available from:

     ftp://ftp.gnu.org/gnu/gnuchess/

     You  can  use  XBoard to play a game against GNU Chess, or to interface GNU
     Chess to an ICS.

   Fairy-Max
     Fairy-Max is a derivative from the once World's smallest Chess program  mi-
     cro-Max, which measures only about 100 lines of source code.  The main dif-
     ference  with  micro-Max  is that Fairy-Max loads its move-generator tables
     from a file, so that the rules for piece movement can be easily  configured
     to  implement unorthodox pieces.  Fairy-Max can therefore play a large num-
     ber of variants, normal Chess being one of those.	 In  addition  it  plays
     Knightmate,  Capablanca and Gothic Chess, Shatranj, Courier Chess, Cylinder
     chess, Berolina Chess, while the user can easily define new  variants.   It
     can be obtained from:

     http://home.hccnet.nl/h.g.muller/dwnldpage.html

   HoiChess
     HoiChess  is  a not-so-very-strong Chess engine, which comes with a deriva-
     tive HoiXiangqi, able to play Chinese Chess. It can be  obtained  from  the
     standard Linux repositories through:

     sudo apt-get install hoichess

   Crafty
     Crafty  is a chess engine written by Bob Hyatt.  You can use XBoard to play
     a game against Crafty, hook Crafty up to an ICS, or use Crafty to	interac-
     tively analyze games and positions for you.

     Crafty  is a strong, rapidly evolving chess program. This rapid pace of de-
     velopment is good, because it means Crafty is always getting better.   This
     can  sometimes cause problems with backwards compatibility, but usually the
     latest version of Crafty will work well with the latest version of  XBoard.
     Crafty	can    be    obtained	 from	 its	author's    FTP    site:
     ftp://ftp.cis.uab.edu/hyatt/.

     To use Crafty with XBoard, give the -fcp and -fd options as follows,  where
     <crafty's	directory>  is	the  directory in which you installed Crafty and
     placed its book and other support files.

COPYRIGHT
     Copyright (C) 1991 Digital Equipment Corporation, Maynard, Massachusetts.

     All Rights Reserved.

     Permission to use, copy, modify, and distribute this software and its docu-
     mentation for any purpose and without fee is hereby granted, provided  that
     the  above  copyright  notice appear in all copies and that both that copy-
     right notice and this permission notice appear in supporting documentation,
     and that the name of Digital not be used in advertising or  publicity  per-
     taining  to  distribution	of  the software without specific, written prior
     permission.

     Digital disclaims all warranties with regard to  this  software,  including
     all  implied  warranties of merchantability and fitness.  In no event shall
     Digital be liable for any special, indirect or consequential damages or any
     damages whatsoever resulting from loss of use, data or profits, whether  in
     an  action of contract, negligence or other tortious action, arising out of
     or in connection with the use or performance of this software.

     Enhancements copyright (C) 1992-2003, 2004, 2005, 2006, 2007,  2008,  2009,
     2010, 2011, 2012, 2013, 2014, 2015 Free Software Foundation, Inc.

     Published by the Free Software Foundation
     59 Temple Place - Suite 330
     Boston, MA 02111-1307 USA

     Permission is granted to make and distribute verbatim copies of this manual
     provided  the  copyright notice and this permission notice are preserved on
     all copies.

     Permission is granted to copy and distribute modified versions of this man-
     ual under the conditions for verbatim copying, provided also that the  sec-
     tion entitled ``GNU General Public License,'' is included exactly as in the
     original,	and  provided that the entire resulting derived work is distrib-
     uted under the terms of a permission notice identical to this one.

     Permission is granted to copy and distribute translations	of  this  manual
     into  another  language,  under the above conditions for modified versions,
     except that the section entitled ``GNU General Public License,''  and  this
     permission  notice,  may  be  included in translations approved by the Free
     Software Foundation instead of in the original English.

GNU GENERAL PUBLIC LICENSE
     Copyright (C) 2007 Free Software Foundation, Inc. `http://fsf.org/'

     Everyone is permitted to copy and distribute verbatim copies of this
     license document, but changing it is not allowed.

     The GNU General Public License is a free, copyleft license for software and
     other kinds of works.

     The licenses for most software and other practical works  are  designed  to
     take away your freedom to share and change the works.  By contrast, the GNU
     General  Public  License is intended to guarantee your freedom to share and
     change all versions of a program -- to make sure it remains  free	software
     for  all  its users.  We, the Free Software Foundation, use the GNU General
     Public License for most of our software; it applies also to any other  work
     released this way by its authors.	You can apply it to your programs, too.

     When  we  speak  of  free software, we are referring to freedom, not price.
     Our General Public Licenses are designed to make sure  that  you  have  the
     freedom  to  distribute copies of free software (and charge for them if you
     wish), that you receive source code or can get it if you want it, that  you
     can  change the software or use pieces of it in new free programs, and that
     you know you can do these things.

     To protect your rights, we need to prevent others from  denying  you  these
     rights  or asking you to surrender the rights.  Therefore, you have certain
     responsibilities if you distribute copies of the software, or if you modify
     it: responsibilities to respect the freedom of others.

     For example, if you distribute copies of such a program, whether gratis  or
     for  a  fee,  you must pass on to the recipients the same freedoms that you
     received.	You must make sure that they, too, receive or can get the source
     code.  And you must show them these terms so they know their rights.

     Developers that use the GNU GPL protect your rights with two steps: (1) as-
     sert copyright on the software, and (2) offer you this License  giving  you
     legal permission to copy, distribute and/or modify it.

     For  the developers' and authors' protection, the GPL clearly explains that
     there is no warranty for this free software.  For both users' and	authors'
     sake, the GPL requires that modified versions be marked as changed, so that
     their  problems  will  not be attributed erroneously to authors of previous
     versions.

     Some devices are designed to deny users access to install or  run	modified
     versions  of the software inside them, although the manufacturer can do so.
     This is fundamentally incompatible with the aim of protecting users'  free-
     dom to change the software.  The systematic pattern of such abuse occurs in
     the area of products for individuals to use, which is precisely where it is
     most  unacceptable.  Therefore, we have designed this version of the GPL to
     prohibit the practice for those products.	If such problems arise	substan-
     tially  in  other domains, we stand ready to extend this provision to those
     domains in future versions of the GPL, as needed to protect the freedom  of
     users.

     Finally,  every  program  is  threatened  constantly  by  software patents.
     States should not allow patents to restrict development and use of software
     on general-purpose computers, but in those that do, we wish  to  avoid  the
     special  danger that patents applied to a free program could make it effec-
     tively proprietary.  To prevent this, the GPL assures that  patents  cannot
     be used to render the program non-free.

     The precise terms and conditions for copying, distribution and modification
     follow.

     Definitions.
	    ``This  License''  refers to version 3 of the GNU General Public Li-
	    cense.

	    ``Copyright'' also means copyright-like laws  that	apply  to  other
	    kinds of works, such as semiconductor masks.

	    ``The Program'' refers to any copyrightable work licensed under this
	    License.   Each licensee is addressed as ``you''.  ``Licensees'' and
	    ``recipients'' may be individuals or organizations.

	    To ``modify'' a work means to copy from or adapt all or part of  the
	    work  in  a  fashion  requiring copyright permission, other than the
	    making of an exact copy.  The resulting work is called a  ``modified
	    version''  of  the	earlier  work or a work ``based on'' the earlier
	    work.

	    A ``covered work'' means either the unmodified  Program  or  a  work
	    based on the Program.

	    To	``propagate''  a work means to do anything with it that, without
	    permission, would make you directly or secondarily	liable	for  in-
	    fringement	under applicable copyright law, except executing it on a
	    computer or modifying a private copy.  Propagation includes copying,
	    distribution (with or without modification), making available to the
	    public, and in some countries other activities as well.

	    To ``convey'' a work means any  kind  of  propagation  that  enables
	    other  parties  to	make or receive copies.  Mere interaction with a
	    user through a computer network, with no transfer of a copy, is  not
	    conveying.

	    An interactive user interface displays ``Appropriate Legal Notices''
	    to	the extent that it includes a convenient and prominently visible
	    feature that (1) displays an appropriate copyright notice,	and  (2)
	    tells the user that there is no warranty for the work (except to the
	    extent  that warranties are provided), that licensees may convey the
	    work under this License, and how to view a copy of this License.  If
	    the interface presents a list of user commands or options, such as a
	    menu, a prominent item in the list meets this criterion.

     Source Code.
	    The ``source code'' for a work means the preferred form of the  work
	    for  making  modifications	to  it.   ``Object code'' means any non-
	    source form of a work.

	    A ``Standard Interface'' means an interface that either is an  offi-
	    cial  standard  defined  by  a recognized standards body, or, in the
	    case of interfaces specified for a particular programming  language,
	    one that is widely used among developers working in that language.

	    The  ``System  Libraries''	of  an executable work include anything,
	    other than the work as a whole, that (a) is included in  the  normal
	    form  of  packaging a Major Component, but which is not part of that
	    Major Component, and (b) serves only to enable use of the work  with
	    that Major Component, or to implement a Standard Interface for which
	    an implementation is available to the public in source code form.  A
	    ``Major Component'', in this context, means a major essential compo-
	    nent  (kernel,  window  system, and so on) of the specific operating
	    system (if any) on which the executable work  runs,  or  a	compiler
	    used  to produce the work, or an object code interpreter used to run
	    it.

	    The ``Corresponding Source'' for a work in object  code  form  means
	    all  the  source  code needed to generate, install, and (for an exe-
	    cutable work) run the object code and to modify the work,  including
	    scripts  to  control those activities.  However, it does not include
	    the work's System Libraries, or general-purpose tools  or  generally
	    available  free  programs  which  are  used unmodified in performing
	    those activities but which are not part of the work.   For	example,
	    Corresponding  Source includes interface definition files associated
	    with source files for the work, and the source code for  shared  li-
	    braries and dynamically linked subprograms that the work is specifi-
	    cally designed to require, such as by intimate data communication or
	    control flow between those subprograms and other parts of the work.

	    The  Corresponding	Source	need not include anything that users can
	    regenerate automatically  from  other  parts  of  the  Corresponding
	    Source.

	    The Corresponding Source for a work in source code form is that same
	    work.

     Basic Permissions.
	    All  rights  granted  under this License are granted for the term of
	    copyright on the Program, and are irrevocable  provided  the  stated
	    conditions	are met.  This License explicitly affirms your unlimited
	    permission to run the unmodified Program.  The output from running a
	    covered work is covered by this License only if  the  output,  given
	    its  content, constitutes a covered work.  This License acknowledges
	    your rights of fair use or other equivalent, as  provided  by  copy-
	    right law.

	    You  may  make, run and propagate covered works that you do not con-
	    vey, without conditions so long as your license otherwise remains in
	    force.  You may convey covered works to others for the sole  purpose
	    of	having	them  make modifications exclusively for you, or provide
	    you with facilities for running those works, provided that you  com-
	    ply  with  the  terms  of this License in conveying all material for
	    which you do not control copyright.  Those thus  making  or  running
	    the covered works for you must do so exclusively on your behalf, un-
	    der  your  direction  and  control, on terms that prohibit them from
	    making any copies of your copyrighted material outside  their  rela-
	    tionship with you.

	    Conveying  under  any  other circumstances is permitted solely under
	    the conditions stated below.  Sublicensing is not  allowed;  section
	    10 makes it unnecessary.

     Protecting Users' Legal Rights From Anti-Circumvention Law.
	    No	covered  work shall be deemed part of an effective technological
	    measure under any applicable law fulfilling obligations under  arti-
	    cle  11 of the WIPO copyright treaty adopted on 20 December 1996, or
	    similar laws prohibiting or restricting circumvention of  such  mea-
	    sures.

	    When  you convey a covered work, you waive any legal power to forbid
	    circumvention of technological measures to the extent  such  circum-
	    vention is effected by exercising rights under this License with re-
	    spect  to  the covered work, and you disclaim any intention to limit
	    operation or modification of the  work  as	a  means  of  enforcing,
	    against  the  work's  users,  your or third parties' legal rights to
	    forbid circumvention of technological measures.

     Conveying Verbatim Copies.
	    You may convey verbatim copies of the Program's source code  as  you
	    receive  it,  in any medium, provided that you conspicuously and ap-
	    propriately publish on each copy an  appropriate  copyright  notice;
	    keep  intact  all notices stating that this License and any non-per-
	    missive terms added in accord with section 7 apply to the code; keep
	    intact all notices of the absence of any warranty; and give all  re-
	    cipients a copy of this License along with the Program.

	    You  may charge any price or no price for each copy that you convey,
	    and you may offer support or warranty protection for a fee.

     Conveying Modified Source Versions.
	    You may convey a work based on the Program, or the modifications  to
	    produce  it  from  the Program, in the form of source code under the
	    terms of section 4, provided that you also meet all of these  condi-
	    tions:

	    The  work must carry prominent notices stating that you modified it,
	    and giving a relevant date.

	    The work must carry prominent notices stating that	it  is	released
	    under  this  License and any conditions added under section 7.  This
	    requirement modifies the requirement in section 4 to  ``keep  intact
	    all notices''.

	    You  must license the entire work, as a whole, under this License to
	    anyone who comes into possession  of  a  copy.   This  License  will
	    therefore  apply,  along  with  any  applicable section 7 additional
	    terms, to the whole of the work, and all its  parts,  regardless  of
	    how  they are packaged.  This License gives no permission to license
	    the work in any other way, but it does not invalidate  such  permis-
	    sion if you have separately received it.

	    If	the  work has interactive user interfaces, each must display Ap-
	    propriate Legal Notices; however, if the Program has interactive in-
	    terfaces that do not display Appropriate Legal  Notices,  your  work
	    need not make them do so.

	    A  compilation of a covered work with other separate and independent
	    works, which are not by their nature extensions of the covered work,
	    and which are not combined with it such as to form a larger program,
	    in or on a volume of a storage or distribution medium, is called  an
	    ``aggregate'' if the compilation and its resulting copyright are not
	    used  to limit the access or legal rights of the compilation's users
	    beyond what the individual works permit.   Inclusion  of  a  covered
	    work  in  an  aggregate  does not cause this License to apply to the
	    other parts of the aggregate.

     Conveying Non-Source Forms.
	    You may convey a covered work in object code form under the terms of
	    sections 4 and 5, provided that you also convey the machine-readable
	    Corresponding Source under the terms of  this  License,  in  one  of
	    these ways:

	    Convey  the  object code in, or embodied in, a physical product (in-
	    cluding a physical distribution medium), accompanied by  the  Corre-
	    sponding  Source fixed on a durable physical medium customarily used
	    for software interchange.

	    Convey the object code in, or embodied in, a physical  product  (in-
	    cluding  a	physical  distribution medium), accompanied by a written
	    offer, valid for at least three years and valid for as long  as  you
	    offer  spare  parts  or  customer support for that product model, to
	    give anyone who possesses the object code either (1) a copy  of  the
	    Corresponding  Source  for	all  the software in the product that is
	    covered by this License, on a durable  physical  medium  customarily
	    used for software interchange, for a price no more than your reason-
	    able  cost of physically performing this conveying of source, or (2)
	    access to copy the Corresponding Source from a network server at  no
	    charge.

	    Convey individual copies of the object code with a copy of the writ-
	    ten  offer to provide the Corresponding Source.  This alternative is
	    allowed only occasionally and noncommercially, and only if	you  re-
	    ceived the object code with such an offer, in accord with subsection
	    6b.

	    Convey  the  object  code by offering access from a designated place
	    (gratis or for a charge), and offer equivalent access to the  Corre-
	    sponding Source in the same way through the same place at no further
	    charge.   You  need not require recipients to copy the Corresponding
	    Source along with the object code.	If the place to copy the  object
	    code  is a network server, the Corresponding Source may be on a dif-
	    ferent server (operated by you  or	a  third  party)  that	supports
	    equivalent	copying  facilities,  provided you maintain clear direc-
	    tions next to the object code saying where to find the Corresponding
	    Source.  Regardless of what server hosts the  Corresponding  Source,
	    you  remain  obligated to ensure that it is available for as long as
	    needed to satisfy these requirements.

	    Convey the object code using peer-to-peer transmission, provided you
	    inform other peers where the object code and Corresponding Source of
	    the work are being offered to the general public at no charge  under
	    subsection 6d.

	    A  separable  portion  of  the object code, whose source code is ex-
	    cluded from the Corresponding Source as a System Library,  need  not
	    be included in conveying the object code work.

	    A ``User Product'' is either (1) a ``consumer product'', which means
	    any  tangible personal property which is normally used for personal,
	    family, or household purposes, or (2) anything designed or sold  for
	    incorporation  into a dwelling.  In determining whether a product is
	    a consumer product, doubtful cases shall be  resolved  in  favor  of
	    coverage.	For  a particular product received by a particular user,
	    ``normally used'' refers to a typical or common use of that class of
	    product, regardless of the status of the particular user or  of  the
	    way in which the particular user actually uses, or expects or is ex-
	    pected to use, the product.  A product is a consumer product regard-
	    less  of  whether the product has substantial commercial, industrial
	    or non-consumer uses, unless such uses represent the  only	signifi-
	    cant mode of use of the product.

	    ``Installation  Information''  for a User Product means any methods,
	    procedures, authorization keys, or other information required to in-
	    stall and execute modified versions of a covered work in  that  User
	    Product  from  a  modified version of its Corresponding Source.  The
	    information must suffice to ensure that the continued functioning of
	    the modified object code is in no case prevented or interfered  with
	    solely because modification has been made.

	    If you convey an object code work under this section in, or with, or
	    specifically for use in, a User Product, and the conveying occurs as
	    part  of  a  transaction in which the right of possession and use of
	    the User Product is transferred to the recipient  in  perpetuity  or
	    for  a  fixed  term (regardless of how the transaction is character-
	    ized), the Corresponding Source conveyed under this section must  be
	    accompanied  by  the Installation Information.  But this requirement
	    does not apply if neither you nor any third party retains the  abil-
	    ity  to  install modified object code on the User Product (for exam-
	    ple, the work has been installed in ROM).

	    The requirement to provide Installation Information does not include
	    a requirement to continue to provide support service,  warranty,  or
	    updates for a work that has been modified or installed by the recip-
	    ient,  or  for the User Product in which it has been modified or in-
	    stalled.  Access to a network may be denied  when  the  modification
	    itself materially and adversely affects the operation of the network
	    or	violates  the  rules  and protocols for communication across the
	    network.

	    Corresponding Source conveyed,  and  Installation  Information  pro-
	    vided,  in accord with this section must be in a format that is pub-
	    licly documented (and with an implementation available to the public
	    in source code form), and must require no special  password  or  key
	    for unpacking, reading or copying.

     Additional Terms.
	    ``Additional  permissions''  are  terms that supplement the terms of
	    this License by making exceptions from one or  more  of  its  condi-
	    tions.   Additional  permissions  that  are applicable to the entire
	    Program shall be treated as though they were included  in  this  Li-
	    cense,  to	the extent that they are valid under applicable law.  If
	    additional permissions apply only to part of the Program, that  part
	    may  be used separately under those permissions, but the entire Pro-
	    gram remains governed by this License without regard  to  the  addi-
	    tional permissions.

	    When you convey a copy of a covered work, you may at your option re-
	    move  any additional permissions from that copy, or from any part of
	    it.  (Additional permissions may be written to require their own re-
	    moval in certain cases when you modify the work.)  You may place ad-
	    ditional permissions on material, added by you to  a  covered  work,
	    for which you have or can give appropriate copyright permission.

	    Notwithstanding  any  other  provision of this License, for material
	    you add to a covered work, you may (if authorized by  the  copyright
	    holders  of that material) supplement the terms of this License with
	    terms:

	    Disclaiming warranty or  limiting  liability  differently  from  the
	    terms of sections 15 and 16 of this License; or

	    Requiring  preservation of specified reasonable legal notices or au-
	    thor attributions in that material or in the Appropriate  Legal  No-
	    tices displayed by works containing it; or

	    Prohibiting misrepresentation of the origin of that material, or re-
	    quiring that modified versions of such material be marked in reason-
	    able ways as different from the original version; or

	    Limiting the use for publicity purposes of names of licensors or au-
	    thors of the material; or

	    Declining  to grant rights under trademark law for use of some trade
	    names, trademarks, or service marks; or

	    Requiring indemnification of licensors and authors of that	material
	    by anyone who conveys the material (or modified versions of it) with
	    contractual  assumptions of liability to the recipient, for any lia-
	    bility that these contractual assumptions directly impose  on  those
	    licensors and authors.

	    All  other	non-permissive additional terms are considered ``further
	    restrictions'' within the meaning of section 10.  If the Program  as
	    you  received  it, or any part of it, contains a notice stating that
	    it is governed by this License along with a term that is  a  further
	    restriction,  you  may remove that term.  If a license document con-
	    tains a further restriction but permits relicensing or conveying un-
	    der this License, you may add to a covered work material governed by
	    the terms of that license document, provided that  the  further  re-
	    striction does not survive such relicensing or conveying.

	    If	you add terms to a covered work in accord with this section, you
	    must place, in the relevant source files, a statement of  the  addi-
	    tional terms that apply to those files, or a notice indicating where
	    to find the applicable terms.

	    Additional terms, permissive or non-permissive, may be stated in the
	    form  of  a separately written license, or stated as exceptions; the
	    above requirements apply either way.

     Termination.
	    You may not propagate or modify a covered work except  as  expressly
	    provided  under this License.  Any attempt otherwise to propagate or
	    modify it is void, and will automatically terminate your rights  un-
	    der  this  License	(including any patent licenses granted under the
	    third paragraph of section 11).

	    However, if you cease all violation of this License, then  your  li-
	    cense  from  a  particular copyright holder is reinstated (a) provi-
	    sionally, unless and until the copyright holder explicitly	and  fi-
	    nally terminates your license, and (b) permanently, if the copyright
	    holder fails to notify you of the violation by some reasonable means
	    prior to 60 days after the cessation.

	    Moreover,  your  license from a particular copyright holder is rein-
	    stated permanently if the copyright holder notifies you of the  vio-
	    lation by some reasonable means, this is the first time you have re-
	    ceived  notice of violation of this License (for any work) from that
	    copyright holder, and you cure the violation prior to 30 days  after
	    your receipt of the notice.

	    Termination of your rights under this section does not terminate the
	    licenses  of parties who have received copies or rights from you un-
	    der this License.  If your rights have been terminated and not  per-
	    manently  reinstated, you do not qualify to receive new licenses for
	    the same material under section 10.

     Acceptance Not Required for Having Copies.
	    You are not required to accept this License in order to  receive  or
	    run  a copy of the Program.  Ancillary propagation of a covered work
	    occurring solely as a consequence of using peer-to-peer transmission
	    to receive a copy likewise does not  require  acceptance.	However,
	    nothing  other  than this License grants you permission to propagate
	    or modify any covered work.  These actions infringe copyright if you
	    do not accept this License.  Therefore, by modifying or  propagating
	    a  covered	work, you indicate your acceptance of this License to do
	    so.

     Automatic Licensing of Downstream Recipients.
	    Each time you convey a covered work, the recipient automatically re-
	    ceives a license from the original licensors,  to  run,  modify  and
	    propagate that work, subject to this License.  You are not responsi-
	    ble for enforcing compliance by third parties with this License.

	    An	``entity  transaction'' is a transaction transferring control of
	    an organization, or substantially all assets of one, or  subdividing
	    an organization, or merging organizations.	If propagation of a cov-
	    ered  work	results  from  an entity transaction, each party to that
	    transaction who receives a copy of the work also  receives	whatever
	    licenses  to  the  work  the  party's predecessor in interest had or
	    could give under the previous paragraph, plus a right to  possession
	    of	the Corresponding Source of the work from the predecessor in in-
	    terest, if the predecessor has it or can get it with reasonable  ef-
	    forts.

	    You  may  not impose any further restrictions on the exercise of the
	    rights granted or affirmed under this License.  For example, you may
	    not impose a license fee, royalty, or other charge for  exercise  of
	    rights  granted under this License, and you may not initiate litiga-
	    tion (including a cross-claim or counterclaim in a lawsuit) alleging
	    that any patent claim is infringed by making, using, selling, offer-
	    ing for sale, or importing the Program or any portion of it.

     Patents.
	    A ``contributor'' is a copyright holder  who  authorizes  use  under
	    this License of the Program or a work on which the Program is based.
	    The  work  thus  licensed  is called the contributor's ``contributor
	    version''.

	    A contributor's ``essential patent claims'' are  all  patent  claims
	    owned  or controlled by the contributor, whether already acquired or
	    hereafter acquired, that would be infringed by some manner,  permit-
	    ted  by  this  License, of making, using, or selling its contributor
	    version, but do not include claims that would be infringed only as a
	    consequence of further modification of the contributor version.  For
	    purposes of this definition, ``control'' includes the right to grant
	    patent sublicenses in a manner consistent with the	requirements  of
	    this License.

	    Each contributor grants you a non-exclusive, worldwide, royalty-free
	    patent  license  under the contributor's essential patent claims, to
	    make, use, sell, offer for sale, import and  otherwise  run,  modify
	    and propagate the contents of its contributor version.

	    In	the  following three paragraphs, a ``patent license'' is any ex-
	    press agreement or commitment, however denominated, not to enforce a
	    patent (such as an	express  permission  to  practice  a  patent  or
	    covenant  not  to sue for patent infringement).  To ``grant'' such a
	    patent license to a party means to make such an agreement or commit-
	    ment not to enforce a patent against the party.

	    If you convey a covered work, knowingly relying on a patent license,
	    and the Corresponding Source of the work is not available for anyone
	    to copy, free of charge and under the terms of this License, through
	    a publicly available network  server  or  other  readily  accessible
	    means, then you must either (1) cause the Corresponding Source to be
	    so	available,  or (2) arrange to deprive yourself of the benefit of
	    the patent license for this particular work, or (3)  arrange,  in  a
	    manner  consistent	with the requirements of this License, to extend
	    the patent license to downstream recipients.  ``Knowingly  relying''
	    means  you	have  actual knowledge that, but for the patent license,
	    your conveying the covered work in a country,  or  your  recipient's
	    use  of  the  covered  work in a country, would infringe one or more
	    identifiable patents in that country that you have reason to believe
	    are valid.

	    If, pursuant to or	in  connection	with  a  single  transaction  or
	    arrangement,  you convey, or propagate by procuring conveyance of, a
	    covered work, and grant a patent license to some of the parties  re-
	    ceiving  the covered work authorizing them to use, propagate, modify
	    or convey a specific copy of the covered work, then the  patent  li-
	    cense  you	grant is automatically extended to all recipients of the
	    covered work and works based on it.

	    A patent license is ``discriminatory'' if it does not include within
	    the scope of its coverage, prohibits the exercise of, or  is  condi-
	    tioned  on	the  non-exercise  of one or more of the rights that are
	    specifically granted under this License.  You may not convey a  cov-
	    ered  work	if  you are a party to an arrangement with a third party
	    that is in the business of distributing software,  under  which  you
	    make payment to the third party based on the extent of your activity
	    of	conveying  the	work, and under which the third party grants, to
	    any of the parties who would receive the covered work  from  you,  a
	    discriminatory  patent  license (a) in connection with copies of the
	    covered work conveyed by you (or copies made from those copies),  or
	    (b) primarily for and in connection with specific products or compi-
	    lations  that contain the covered work, unless you entered into that
	    arrangement, or that patent license was granted, prior to  28  March
	    2007.

	    Nothing  in this License shall be construed as excluding or limiting
	    any implied license or other defenses to infringement that may  oth-
	    erwise be available to you under applicable patent law.

     No Surrender of Others' Freedom.
	    If	conditions are imposed on you (whether by court order, agreement
	    or otherwise) that contradict the conditions of this  License,  they
	    do	not excuse you from the conditions of this License.  If you can-
	    not convey a covered work  so  as  to  satisfy  simultaneously  your
	    obligations  under this License and any other pertinent obligations,
	    then as a consequence you may not convey it at all.  For example, if
	    you agree to terms that obligate you to collect a royalty  for  fur-
	    ther  conveying  from those to whom you convey the Program, the only
	    way you could satisfy both those terms and this License would be  to
	    refrain entirely from conveying the Program.

     Use with the GNU Affero General Public License.
	    Notwithstanding  any  other provision of this License, you have per-
	    mission to link or combine any covered work with a work licensed un-
	    der version 3 of the GNU Affero General Public License into a single
	    combined work, and to convey the resulting work.  The terms of  this
	    License  will  continue  to  apply	to the part which is the covered
	    work, but the special requirements of the GNU Affero General  Public
	    License,  section  13, concerning interaction through a network will
	    apply to the combination as such.

     Revised Versions of this License.
	    The Free Software Foundation may publish revised and/or new versions
	    of the GNU General Public License from time to time.  Such new  ver-
	    sions will be similar in spirit to the present version, but may dif-
	    fer in detail to address new problems or concerns.

	    Each  version is given a distinguishing version number.  If the Pro-
	    gram specifies that a certain numbered version of  the  GNU  General
	    Public  License ``or any later version'' applies to it, you have the
	    option of following the terms and conditions either of that numbered
	    version or of any later version published by the Free Software Foun-
	    dation.  If the Program does not specify a version number of the GNU
	    General Public License, you may choose any version ever published by
	    the Free Software Foundation.

	    If the Program specifies that a proxy can decide which  future  ver-
	    sions  of  the  GNU General Public License can be used, that proxy's
	    public statement of acceptance of a version  permanently  authorizes
	    you to choose that version for the Program.

	    Later  license versions may give you additional or different permis-
	    sions.  However, no additional obligations are imposed on any author
	    or copyright holder as a result of your choosing to follow	a  later
	    version.

     Disclaimer of Warranty.
	    THERE IS NO WARRANTY FOR THE PROGRAM, TO THE EXTENT PERMITTED BY AP-
	    PLICABLE LAW.  EXCEPT WHEN OTHERWISE STATED IN WRITING THE COPYRIGHT
	    HOLDERS  AND/OR  OTHER PARTIES PROVIDE THE PROGRAM ``AS IS'' WITHOUT
	    WARRANTY OF ANY KIND, EITHER EXPRESSED OR  IMPLIED,  INCLUDING,  BUT
	    NOT  LIMITED  TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FIT-
	    NESS FOR A PARTICULAR PURPOSE.  THE ENTIRE RISK AS	TO  THE  QUALITY
	    AND  PERFORMANCE  OF  THE  PROGRAM	IS WITH YOU.  SHOULD THE PROGRAM
	    PROVE DEFECTIVE, YOU ASSUME THE COST OF ALL NECESSARY SERVICING, RE-
	    PAIR OR CORRECTION.

     Limitation of Liability.
	    IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN  WRIT-
	    ING  WILL  ANY  COPYRIGHT  HOLDER,	OR  ANY OTHER PARTY WHO MODIFIES
	    AND/OR CONVEYS THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU  FOR
	    DAMAGES, INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL
	    DAMAGES  ARISING OUT OF THE USE OR INABILITY TO USE THE PROGRAM (IN-
	    CLUDING BUT NOT LIMITED TO LOSS OF DATA OR DATA BEING RENDERED INAC-
	    CURATE OR LOSSES SUSTAINED BY YOU OR THIRD PARTIES OR A  FAILURE  OF
	    THE PROGRAM TO OPERATE WITH ANY OTHER PROGRAMS), EVEN IF SUCH HOLDER
	    OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES.

     Interpretation of Sections 15 and 16.
	    If	the  disclaimer of warranty and limitation of liability provided
	    above cannot be given local legal effect according to  their  terms,
	    reviewing  courts  shall  apply local law that most closely approxi-
	    mates an absolute waiver of all civil liability in	connection  with
	    the  Program,  unless a warranty or assumption of liability accompa-
	    nies a copy of the Program in return for a fee.

	    If you develop a new program, and you want it to be of the	greatest
	    possible  use to the public, the best way to achieve this is to make
	    it free software which everyone can redistribute  and  change  under
	    these terms.

	    To do so, attach the following notices to the program.  It is safest
	    to	attach them to the start of each source file to most effectively
	    state the exclusion of warranty; and each file should have at  least
	    the  ``copyright''	line  and  a pointer to where the full notice is
	    found.

	    ONE LINE TO GIVE THE PROGRAM'S NAME AND A BRIEF IDEA OF WHAT IT DOES.
	    Copyright (C) YEAR NAME OF AUTHOR

	    This program is free software: you can redistribute it and/or modify
	    it under the terms of the GNU General Public License as published by
	    the Free Software Foundation, either version 3 of the License, or (at
	    your option) any later version.

	    This program is distributed in the hope that it will be useful, but
	    WITHOUT ANY WARRANTY; without even the implied warranty of
	    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
	    General Public License for more details.

	    You should have received a copy of the GNU General Public License
	    along with this program.  If not, see `http://www.gnu.org/licenses/'.

	    Also add information on how to contact you by electronic  and  paper
	    mail.

	    If the program does terminal interaction, make it output a short no-
	    tice like this when it starts in an interactive mode:

	    PROGRAM Copyright (C) YEAR NAME OF AUTHOR
	    This program comes with ABSOLUTELY NO WARRANTY; for details type `show w'.
	    This is free software, and you are welcome to redistribute it
	    under certain conditions; type `show c' for details.

	    The  hypothetical commands `show w' and `show c' should show the ap-
	    propriate parts of the General Public License.  Of course, your pro-
	    gram's commands might be different; for a GUI interface,  you  would
	    use an ``about box''.

	    You  should  also get your employer (if you work as a programmer) or
	    school, if any, to sign a ``copyright disclaimer'' for the	program,
	    if	necessary.   For  more information on this, and how to apply and
	    follow the GNU GPL, see `http://www.gnu.org/licenses/'.

	    The GNU General Public License does not  permit  incorporating  your
	    program  into proprietary programs.  If your program is a subroutine
	    library, you may consider it more useful to permit	linking  propri-
	    etary  applications  with  the library.  If this is what you want to
	    do, use the GNU Lesser General Public License instead  of  this  Li-
	    cense.   But  first, please read `http://www.gnu.org/philosophy/why-
	    not-lgpl.html'.

GNU				     $Date:			       xboard(6)

Want to link to this manual page? Use this URL:
<https://man.freebsd.org/cgi/man.cgi?query=xboard&sektion=6&manpath=FreeBSD+Ports+15.1.quarterly>

home | help