1xboard(6)                        Games Manual                        xboard(6)
2
3
4

NAME

6       xboard - X graphical user interface for chess
7

SYNOPSIS

9       xboard [options]
10       xboard -ics -icshost hostname [options]
11       xboard -ncp [options]
12       |pxboard
13       cmail [options]
14
15

DESCRIPTION

17       XBoard  is a graphical chessboard that can serve as a user interface to
18       chess engines (such as GNU Chess), the Internet  Chess  Servers,  elec‐
19       tronic  mail  correspondence  chess,  or  your  own collection of saved
20       games.
21
22       This manual documents version 4.9.1 of XBoard.
23
24

MAJOR MODES

26       XBoard always runs in one of four major modes.  You  select  the  major
27       mode from the command line when you start up XBoard.
28
29
30       xboard [options]
31              As  an interface to GNU Chess or another chess engine running on
32              your machine, XBoard lets you play a game against  the  machine,
33              set  up  arbitrary  positions,  force  variations,  watch a game
34              between two chess engines,  interactively  analyze  your  stored
35              games or set up and analyze arbitrary positions.  To run engines
36              that use the UCI standard XBoard will  draw  upon  the  Polyglot
37              adapter fully transparently, but you will need to have the poly‐
38              glot package installed for this to work.
39
40       xboard -ics -icshost hostname [options]
41              As Internet Chess Server (ICS) interface, XBoard lets  you  play
42              against  other  ICS  users,  observe  games they are playing, or
43              review games that have  recently  finished.   Most  of  the  ICS
44              "wild" chess variants are supported, including bughouse.
45
46       xboard -ncp [options]
47              XBoard  can  also  be used simply as an electronic chessboard to
48              play through games. It will read and write game files and  allow
49              you  to  play  through  variations  manually.  You can use it to
50              browse games off the net or review games you have saved.   These
51              features are also available in the other modes.
52
53       |pxboard
54              If  you  want  to pipe games into XBoard, use the supplied shell
55              script `pxboard'.  For example, from the news reader `xrn', find
56              a  message  with one or more games in it, click the Save button,
57              and type `|pxboard' as the file name.
58
59       cmail [options]
60              As an interface to electronic mail correspondence chess,  XBoard
61              works with the cmail program. See CMail below for instructions.
62

BASIC OPERATION

64       To move a piece, you can drag it with the left mouse button, or you can
65       click the left mouse button once on the piece, then once  more  on  the
66       destination  square.  To under-promote a Pawn you can drag it backwards
67       until it morphs into the piece you want to promote to, after which  you
68       drag that forward to the promotion square.  Or after selecting the pawn
69       with a first click you can then click the promotion square and move the
70       mouse  while  keeping  the  button  down  until the piece that you want
71       appears in the promotion square.  To castle you move the  King  to  its
72       destination  or,  in  Chess960,  on  top of the Rook you want to castle
73       with.  In crazyhouse, bughouse or shogi you can drag and drop pieces to
74       the board from the holdings squares displayed next to the board.
75
76       Old  behavior, where right-clicking a square brings up a menu where you
77       can select what piece to drop on it can still be selected  through  the
78       `Drop Menu' option.  Only in Edit Position mode right and middle click‐
79       ing a square is still used to put a piece on it, and the piece to  drop
80       is selected by sweeping the mouse vertically with the button held down.
81
82       The  default  function  of  the right mouse button in other modes is to
83       display the position the chess program thinks it will end up in.  While
84       moving  the  mouse vertically with this button pressed XBoard will step
85       through the principal variation to  show  how  this  position  will  be
86       reached.   Lines  of play displayed in the engine-output window, or PGN
87       variations in the comment window can similarly be  played  out  on  the
88       board, by right-clicking on them.  Only in Analysis mode, when you walk
89       along a PV, releasing the mouse button might forward the game upto that
90       point,  like  you entered all previous PV moves.  As the display of the
91       PV in that case starts after the first move a simple  right-click  will
92       play the move the engine indicates.
93
94       In  Analysis mode you can also make a move by grabbing the piece with a
95       double-click of the left mouse button (or while keeping the `Ctrl'  key
96       pressed).  In this case the move you enter will not be played, but will
97       be excluded from the analysis of the current position.  (Or included if
98       it  was already excluded; it is a toggle.)  This only works for engines
99       that support this feature.
100
101       When connected to an ICS, it is possible to call up a graphical  repre‐
102       sentation  of  players seeking a game in stead of the chess board, when
103       the latter is not in use (i.e. when you are not playing or  observing).
104       Left-clicking  the  display  area will switch between this 'seek graph'
105       and the chess board.  Hovering the mouse pointer over a dot  will  show
106       the details of the seek ad in the message field above the board.  Left-
107       clicking the dot will challenge that player.  Right-clicking a dot will
108       'push  it  to the back', to reveal any dots that were hidden behind it.
109       Right-clicking off dots will refresh the graph.
110
111       Most other XBoard commands are available from the menu  bar.  The  most
112       frequently  used commands also have shortcut keys or on-screen buttons.
113       These shortcut keystrokes are mostly non-printable characters.   Typing
114       a  letter  or  digit  while  the board window has focus will bring up a
115       type-in box with the typed letter already in it.  You can use  that  to
116       type a move in situations where it is your turn to enter a move, type a
117       move number to call up the position after that move in the display, or,
118       in  Edit  Position  mode,  type a FEN.  Some rarely used parameters can
119       only be set through options on the command line used to invoke XBoard.
120
121       XBoard uses a settings file, in which it can remember  any  changes  to
122       the  settings  that  are made through menus or command-line options, so
123       they will still apply when you restart XBoard for another session.  The
124       settings  can  be saved into this file automatically when XBoard exits,
125       or on explicit request of the user.  Note that the board window can  be
126       sized by the user, but that this will not affect the size of the clocks
127       above it, and won't be remembered in the  settings  file.   To  persis‐
128       tently  change  the  size  of  the  clocks, use the `size' command-line
129       option when starting XBoard.  The default name for the settings file is
130       /etc/xboard/xboard.conf,  but  in  a standard install this file is only
131       used as a master settings file that determines the system-wide  default
132       settings,  and  defers  reading and writing of user settings to a user-
133       specific file like ~/.xboardrc in the user's home directory.
134
135       When XBoard is iconized, its graphical icon is a white knight if it  is
136       White's turn to move, a black knight if it is Black's turn.
137
138
140   File Menu
141       New Game
142              Resets  XBoard  and  the  chess engine to the beginning of a new
143              chess game. The `Ctrl-N' key is a keyboard equivalent. In Inter‐
144              net  Chess Server mode, clears the current state of XBoard, then
145              resynchronizes with the ICS by sending a refresh command. If you
146              want  to  stop playing, observing, or examining an ICS game, use
147              an appropriate command from the Action  menu,  not  `New  Game'.
148              See Action Menu.
149
150       New Shuffle Game
151              Similar  to  `New  Game', but allows you to specify a particular
152              initial position (according to a standardized numbering  system)
153              in  chess  variants which use randomized opening positions (e.g.
154              Chess960).
155
156       shuffle
157              Ticking `shuffle' will cause the current variant  to  be  played
158              with  shuffled  initial  position.   Shuffling will preserve the
159              possibility to castle in the way allowed by the variant.
160
161       Fischer castling
162              Ticking `Fischer castling' will allow castling  with  Kings  and
163              Rooks that did not start in their normal place, as in Chess960.
164
165       Start-position number
166       randomize
167       pick fixed
168              The  `Start-position number' selects a particular start position
169              from all allowed shufflings, which will then be used  for  every
170              new game.  Setting this to -1 (which can be done by pressing the
171              `randomize' button) will cause a fresh  random  position  to  be
172              picked  for  every  new  game.  Pressing the `pick fixed' button
173              causes `Start-position number' to be set to a random  value,  to
174              be used for all subsequent games.
175
176       New Variant
177              Allows  you  to select a new chess variant in non-ICS mode.  (In
178              ICS play, the ICS is responsible for deciding which variant will
179              be  played,  and  XBoard  adapts  automatically.)   The  shifted
180              `Alt+V' key is a  keyboard  equivalent.  If  you  play  with  an
181              engine, the engine must be able to play the selected variant, or
182              the corresponding choice will be disabled.  XBoard supports  all
183              major variants, such as xiangqi, shogi, chess, chess960, makruk,
184              Capablanca Chess, shatranj, crazyhouse, bughouse.
185
186              You can overrule the default board format of the selected  vari‐
187              ant, (e.g. to play suicide chess on a 6 x 6 board), in this dia‐
188              log, but normally you would not do that, and leave them at '-1',
189              which means 'default' for the chosen variant.
190
191       Load Game
192              Plays  a game from a record file. The `Ctrl-O' key is a keyboard
193              equivalent.  A pop-up dialog prompts you for the file  name.  If
194              the  file  contains  more  than one game, a second pop-up dialog
195              displays a list of games (with information drawn from their  PGN
196              tags,  if  any),  and  you can select the one you want. Alterna‐
197              tively, you can load the Nth game in the file directly, by  typ‐
198              ing the number `N' after the file name, separated by a space.
199
200              The  game-file  parser will accept PGN (portable game notation),
201              or in fact almost any file  that  contains  moves  in  algebraic
202              notation.   Notation  of  the form `P@f7' is accepted for piece-
203              drops in bughouse games; this is a nonstandard extension to PGN.
204              If  the  file includes a PGN position (FEN tag), or an old-style
205              XBoard position diagram bracketed by `[--' and `--]' before  the
206              first move, the game starts from that position. Text enclosed in
207              parentheses, square brackets, or curly braces is assumed  to  be
208              commentary  and  is displayed in a pop-up window. Any other text
209              in the file is ignored. PGN variations (enclosed in parentheses)
210              also  are treated as comments; however, if you rights-click them
211              in the comment window, XBoard will shelve the current line,  and
212              load  the  the  selected  variation, so you can step through it.
213              You can later revert to the previous line with the `Revert' com‐
214              mand.   This  way you can walk quite complex varation trees with
215              XBoard.  The nonstandard PGN tag [Variant  "varname"]  functions
216              similarly  to  the  -variant  command-line  option  (see below),
217              allowing games in certain chess variants  to  be  loaded.   Note
218              that  it  must appear before any FEN tag for XBoard to recognize
219              variant FENs appropriately.  There is also a heuristic to recog‐
220              nize  chess  variants  from  the  Event  tag, by looking for the
221              strings that the Internet Chess Servers put  there  when  saving
222              variant ("wild") games.
223
224       Load Position
225              Sets  up  a  position  from  a  position  file.  A pop-up dialog
226              prompts you for the file name.  The shifted `Ctrl-O'  key  is  a
227              keyboard  equivalent.  If  the file contains more than one saved
228              position, and you want to load the Nth one, type  the  number  N
229              after  the  file name, separated by a space. Position files must
230              be in FEN (Forsythe-Edwards notation), or in the format that the
231              Save Position command writes when oldSaveStyle is turned on.
232
233       Load Next Position
234              Loads  the next position from the last position file you loaded.
235              The shifted `PgDn' key is a keyboard equivalent.
236
237       Load Previous Position
238              Loads the previous position from  the  last  position  file  you
239              loaded.  The  shifted  `PgUp' key is a keyboard equivalent.  Not
240              available if the last position was loaded from a pipe.
241
242       Save Game
243              Appends a record of the current game to a  file.   The  `Ctrl-S'
244              key  is  a keyboard equivalent.  A pop-up dialog prompts you for
245              the file name. If the game  did  not  begin  with  the  standard
246              starting  position, the game file includes the starting position
247              used. Games are saved in the PGN (portable game  notation)  for‐
248              mat,  unless the oldSaveStyle option is true, in which case they
249              are saved in an older format that is specific  to  XBoard.  Both
250              formats  are  human-readable,  and  both can be read back by the
251              `Load Game' command.  Notation of the form  `P@f7'  is  accepted
252              for  piece-drops in bughouse games; this is a nonstandard exten‐
253              sion to PGN.
254
255       Save Position
256              Appends a diagram of  the  current  position  to  a  file.   The
257              shifted  `Ctrl+S' key is a keyboard equivalent.  A pop-up dialog
258              prompts you for the  file  name.  Positions  are  saved  in  FEN
259              (Forsythe-Edwards  notation)  format  unless  the `oldSaveStyle'
260              option is true, in which case they are saved in an older, human-
261              readable  format that is specific to XBoard. Both formats can be
262              read back by the `Load Position' command.
263
264       Save Selected Games
265              Will cause all games selected for display in  the  current  Game
266              List to be appended to a file of the user's choice.
267
268       Save Games as Book
269              Creates  an  opening  book  from the currently loaded game file,
270              incorporating only the games  currently  selected  in  the  Game
271              List.  The book will be saved on the file specified in the `Com‐
272              mon Engine' options dialog.  The value of `Book Depth' specified
273              in  that same dialog will be used to determine how many moves of
274              each game will be added to the internal book buffer.  This  com‐
275              mand can take a long time to process, and the size of the buffer
276              is currently limited.  At the end the buffer will be saved as  a
277              Polyglot  book,  but the buffer will not be cleared, so that you
278              can continue adding games from other game files.
279
280       Mail Move
281       Reload CMail Message
282              See CMail.
283
284       Exit   Exits from XBoard. The `Ctrl-Q' key is a keyboard equivalent.
285
286   Edit Menu
287       Copy Game
288              Copies a record of the current game to an internal clipboard  in
289              PGN format and sets the X selection to the game text. The `Ctrl-
290              C' key is a keyboard equivalent.  The  game  can  be  pasted  to
291              another  application  (such  as a text editor or another copy of
292              XBoard) using that  application's  paste  command.   In  many  X
293              applications,  such  as xterm and emacs, the middle mouse button
294              can be used for pasting; in XBoard, you must use the Paste  Game
295              command.
296
297       Copy Position
298              Copies the current position to an internal clipboard in FEN for‐
299              mat and sets the X selection to the position text.  The  shifted
300              `Ctrl-C'  key  is  a  keyboard  equivalent.  The position can be
301              pasted to another application (such as a text editor or  another
302              copy of XBoard) using that application's paste command.  In many
303              X applications, such as xterm and emacs, the middle mouse button
304              can be used for pasting; in XBoard, you must use the Paste Posi‐
305              tion command.
306
307       Copy Game List
308              Copies the current game list to the clipboard, and  sets  the  X
309              selection  to  this  text.   A format of comma-separated double-
310              quoted strings is used, including all tags, so it can be  easily
311              imported into spread-sheet programs.
312
313       Paste Game
314              Interprets  the  current  X selection as a game record and loads
315              it, as with Load Game. The `Ctrl-V' key is  a  keyboard  equiva‐
316              lent.
317
318       Paste Position
319              Interprets  the  current X selection as a FEN position and loads
320              it, as with Load Position. The shifted `Ctrl-V' key  is  a  key‐
321              board equivalent.
322
323       Edit Game
324              Allows you to make moves for both Black and White, and to change
325              moves after backing up with the `Backward' command.  The  clocks
326              do not run. The `Ctrl-E' key is a keyboard equivalent.
327
328              In  chess engine mode, the chess engine continues to check moves
329              for legality but does not participate in the game. You can bring
330              the  chess  engine  into  the game by selecting `Machine White',
331              `Machine Black', or `Two Machines'.
332
333              In ICS mode, the moves are not sent  to  the  ICS:  `Edit  Game'
334              takes  XBoard  out  of  ICS  Client mode and lets you edit games
335              locally.  If you want to edit games on ICS in a way  that  other
336              ICS users can see, use the ICS `examine' command or start an ICS
337              match against yourself.
338
339       Edit Position
340              Lets you set up an arbitrary board position.  The shifted `Ctrl-
341              E'  key  is  a  keyboard equivalent.  Use mouse button 1 to drag
342              pieces to new squares, or to delete a piece by dragging  it  off
343              the board or dragging an empty square on top of it.  When you do
344              this keeping the `Ctrl' key pressed, or start  dragging  with  a
345              double-click,  you  will  move  a copy of the piece, leaving the
346              piece itself where it was.  In variants where pieces can promote
347              (such  as  Shogi),  left-clicking an already selected piece pro‐
348              motes or demotes it.  To drop a new piece  on  a  square,  press
349              mouse button 2 or 3 over the square.  This puts a white or black
350              pawn in the square, respectively, but you can change that to any
351              other  piece  type by dragging the mouse down before you release
352              the button.  You will then  see  the  piece  on  the  originally
353              clicked  square  cycle  through  the available pieces (including
354              those of opposite color), and can release the  button  when  you
355              see the piece you want.  (Note you can swap the function of but‐
356              ton 2 and 3 by pressing the shift key,  and  that  there  is  an
357              option  `monoMouse' to combine al functions in one button, which
358              then acts as button 3 over an empty square, and as button 1 over
359              a  piece.)   To  alter the side to move, you can click the clock
360              (the words White and Black above the board) of the side you want
361              to give the move to.  To clear the board you can click the clock
362              of the side that already has the move (which is  highlighted  in
363              black).  If you repeat this the board will cycle from empty to a
364              `pallette board' containing every  piece  once  to  the  initial
365              position to the one before clearing.  The quickest way to set up
366              a position is usually to start with the pallette board, and move
367              the  pieces to were you want them, duplicating them where neces‐
368              sary by using the `Ctrl' key, dragging those you don't want  off
369              board,  and  use static button 2 or 3 clicks to place the Pawns.
370              The old behavior with a piece menu can still be configured  with
371              the  aid  of the `pieceMenu' option.  Dragging empty squares off
372              board can create boards with holes (inaccessible black  squares)
373              in them.  Selecting `Edit Position' causes XBoard to discard all
374              remembered moves in the current game.
375
376              In ICS mode, changes made to the position by `Edit Position' are
377              not  sent  to  the ICS: `Edit Position' takes XBoard out of `ICS
378              Client' mode and lets you edit positions locally. If you want to
379              edit positions on ICS in a way that other ICS users can see, use
380              the ICS `examine' command, or start an ICS match  against  your‐
381              self.  (See also the ICS Client topic above.)
382
383       Edit Tags
384              Lets you edit the PGN (portable game notation) tags for the cur‐
385              rent game. After editing, the tags must still conform to the PGN
386              tag syntax:
387
388                  <tag-section> ::= <tag-pair> <tag-section>
389                                          <empty>
390                  <tag-pair> ::= [ <tag-name> <tag-value> ]
391                  <tag-name> ::= <identifier>
392                  <tag-value> ::= <string>
393
394              See the PGN Standard for full details. Here is an example:
395
396                  [Event "Portoroz Interzonal"]
397                  [Site "Portoroz, Yugoslavia"]
398                  [Date "1958.08.16"]
399                  [Round "8"]
400                  [White "Robert J. Fischer"]
401                  [Black "Bent Larsen"]
402                  [Result "1-0"]
403
404              Any  characters  that  do  not  match  this  syntax are silently
405              ignored. Note that the PGN standard requires all games  to  have
406              at  least  the seven tags shown above. Any that you omit will be
407              filled in by XBoard with `?' (unknown value), or `-' (inapplica‐
408              ble value).
409
410       Edit Comment
411              Adds or modifies a comment on the current position. Comments are
412              saved by `Save Game' and are displayed by `Load Game', PGN vari‐
413              ations  will also be printed in this window, and can be promoted
414              to main line by right-clicking them.  `Forward', and `Backward'.
415
416       Edit Book
417              Pops up a window listing the moves available  in  the  GUI  book
418              (specified in the `Common Engine Settings' dialog) from the cur‐
419              rently displayed  position,  together  with  their  weights  and
420              (optionally in braces) learn info.  You can then edit this list,
421              and the new list will be stored back  into  the  book  when  you
422              press  'save  changes'.   When  you  press  the button 'add next
423              move', and play a move on the board, that move will be added  to
424              the  list  with  weight 1.  Note that the listed percentages are
425              neither used, nor updated when you change the weights; they  are
426              just  there  as  an optical aid.  When you right-click a move in
427              the list it will be played.
428
429       Revert
430       Annotate
431              If you are examining an ICS game and Pause mode is  off,  Revert
432              issues  the  ICS command `revert'.  In local mode, when you were
433              editing or analyzing a game, and the `-variations'  command-line
434              option  is switched on, you can start a new variation by holding
435              the Shift key down while entering a move not at the end  of  the
436              game.   Variations  can also become the currently displayed line
437              by clicking a PGN variation displayed  in  the  Comment  window.
438              This  can be applied recursively, so that you can analyze varia‐
439              tions on variations; each time you create  a  new  variation  by
440              entering an alternative move with Shift pressed, or select a new
441              one from the Comment  window,  the  current  variation  will  be
442              shelved.   `Revert'  allows  you  to return to the most recently
443              shelved variation.  The difference between `Revert'  and  `Anno‐
444              tate'  is  that with the latter, the variation you are now aban‐
445              doning will be added as a comment (in PGN variation syntax, i.e.
446              between  parentheses)  to  the original move where you deviated,
447              for later recalling.  The `Home' key is a keyboard equivalent to
448              `Revert'.
449
450       Truncate Game
451              Discards  all  remembered  moves  of the game beyond the current
452              position. Puts XBoard into `Edit Game' mode if it was not  there
453              already.  The `End' key is a keyboard equivalent.
454
455       Backward
456       <      Steps  backward through a series of remembered moves.  The `[<]'
457              button and the `Alt+LeftArrow' key are equivalents, as is  turn‐
458              ing  the mouse wheel towards you.  In addition, pressing the ???
459              key steps back one move, and releasing it steps forward again.
460
461              In most modes, `Backward' only lets you look back at  old  posi‐
462              tions;  it  does  not retract moves. This is the case if you are
463              playing against a chess engine, playing or observing a  game  on
464              an  ICS,  or loading a game.  If you select `Backward' in any of
465              these situations, you will not be allowed to  make  a  different
466              move.  Use  `Retract  Move' or `Edit Game' if you want to change
467              past moves.
468
469              If you are examining an ICS game,  the  behavior  of  `Backward'
470              depends  on  whether  XBoard  is in Pause mode. If Pause mode is
471              off, `Backward' issues the ICS backward command, which backs  up
472              everyone's  view  of the game and allows you to make a different
473              move. If Pause mode is on, `Backward' only backs up  your  local
474              view.
475
476       Forward
477       >      Steps  forward through a series of remembered moves (undoing the
478              effect of `Backward') or forward through a game file. The  `[>]'
479              button and the `Alt+RightArrow' key are equivalents, as is turn‐
480              ing the mouse wheel away from you.
481
482              If you are examining  an  ICS  game,  the  behavior  of  Forward
483              depends  on  whether  XBoard  is in Pause mode. If Pause mode is
484              off, `Forward' issues  the  ICS  forward  command,  which  moves
485              everyone's  view  of the game forward along the current line. If
486              Pause mode is on, `Forward' only moves your local view  forward,
487              and  it  will not go past the position that the game was in when
488              you paused.
489
490       Back to Start
491       <<     Jumps backward to the first remembered  position  in  the  game.
492              The `[<<]' button and the `Alt+Home' key are equivalents.
493
494              In  most  modes,  Back  to  Start only lets you look back at old
495              positions; it does not retract moves. This is the  case  if  you
496              are playing against a local chess engine, playing or observing a
497              game on a chess server, or loading a game. If you  select  `Back
498              to Start' in any of these situations, you will not be allowed to
499              make different moves. Use `Retract Move' or `Edit Game'  if  you
500              want to change past moves; or use Reset to start a new game.
501
502              If  you are examining an ICS game, the behavior of @samp{Back to
503              Start} depends on whether XBoard is in Pause mode. If Pause mode
504              is  off,  `Back  to Start' issues the ICS `backward 999999' com‐
505              mand, which backs up everyone's view of the game  to  the  start
506              and  allows  you  to  make different moves. If Pause mode is on,
507              @samp{Back to Start} only backs up your local view.
508
509       Forward to End
510       >>     Jumps forward to the last remembered position in the  game.  The
511              `[>>]' button and the `Alt+End' key are equivalents.
512
513              If  you are examining an ICS game, the behavior of @samp{Forward
514              to End} depends on whether XBoard is in  Pause  mode.  If  Pause
515              mode  is  off,  `Forward to End' issues the ICS `forward 999999'
516              command, which moves everyone's view of the game forward to  the
517              end  of  the current line. If Pause mode is on, `Forward to End'
518              only moves your local view forward, and it will not go past  the
519              position that the game was in when you paused.
520
521   View Menu
522       Flip View
523              Inverts  your  view  of  the chess board for the duration of the
524              current game. Starting a new game returns the board  to  normal.
525              The `F2' key is a keyboard equivalent.
526
527       Show Engine Output
528              Shows  or  hides  a  window  in which the thinking output of any
529              loaded engines is displayed. The shifted `Alt+O' key is  a  key‐
530              board  equivalent.  XBoard will display lines of thinking output
531              of the same depth ordered by  score,  (highest  score  on  top),
532              rather than in the order the engine produced them.  Usually this
533              amounts to the same, as a normal engine search  will  only  find
534              new  PV (and emit it as thinking output) when it searches a move
535              with a higher score than the previous variation.  But  when  the
536              engine is in multi-variation mode this needs not always be true,
537              and it is more convenient for someone analyzing games to see the
538              moves sorted by score.  The order in which the engine found them
539              is only of interest to the  engine  author,  and  can  still  be
540              deduced  from  the  time  or  node  count printed with the line.
541              Right-clicking a line in this window, and then moving the  mouse
542              vertically  with  the  right  button kept down, will make XBoard
543              play through the PV listed there.  The use of the  board  window
544              as  'variation  board'  will  normally  end when you release the
545              right button, or when the opponent plays a move.  But beware: in
546              Analysis mode, moves thus played out might be added to the game,
547              depending on the setting of the option 'Play  moves  of  clicked
548              PV',  when  you  initiate  the click left of the PV in the score
549              area.  The Engine-Output pane for each  engine  will  contain  a
550              header  displaying  the  multi-PV  status and a list of excluded
551              moves in Analysis mode, which  are  also  responsive  to  right-
552              clicking:  Clicking  the  words 'fewer' or 'more' will alter the
553              number of variations shown at each depth, through  the  engine's
554              MultiPV  option,  while clicking in between those and moving the
555              mouse horizontally adjust the option 'Multi-PV Margin'.  (In  so
556              far the engines support those.)
557
558       Show Move History
559              Shows or hides a list of moves of the current game.  The shifted
560              `Alt+H' key is a keyboard equivalent.  This list allows  you  to
561              move the display to any earlier position in the game by clicking
562              on the corresponding move.
563
564       Show Evaluation Graph
565              Shows or hides a window which displays a graph of how the engine
566              score(s)  evolved as a function of the move number.  The shifted
567              `Alt+E' key is a keyboard equivalent.  The title bar  shows  the
568              score  (and  search  depth at which it was obtained) of the cur‐
569              rently displayed position numerically.  Clicking  on  the  graph
570              will  bring  the corresponding position in the board display.  A
571              button 3 click will toggle the display mode  between  plain  and
572              differential (showing the difference in score between successive
573              half moves).  Using the mouse wheel over the window will  change
574              the scale of the low-score region (from -1 to +1).
575
576       Show Game List
577              Shows  or  hides  the  list of games generated by the last `Load
578              Game' command. The shifted `Alt+G' key is a keyboard equivalent.
579              The  line  describing each game is built from a selection of the
580              PGN tags.  Which tags contribute, and  in  what  order,  can  be
581              changed by the `Game list tags' menu dialog, which can be popped
582              up through the `Tags' button below the Game List.   Display  can
583              be  restricted  to a sub-set of the games meeting certain crite‐
584              ria.  A text entry below the game list allows you to type a text
585              that  the  game  lines  must  contain  in order to be displayed.
586              Games can also be selected based on their Elo PGN tag, as set in
587              the  `Load  Game Options' dialog, which can be popped up through
588              the `Thresholds' button below the Game List.  Finally  they  can
589              be  selected  based  on containing a position similar to the one
590              currently displayed in the main window, by pressing  the  'Posi‐
591              tion'  button  below  the  Game List, (which searches the entire
592              list for the position),  or  the  'Narrow'  button  (which  only
593              searches  the  already-selected  games).  What counts as similar
594              enough to be selected can also be set in the `Load Game Options'
595              dialog,  and  ranges  from an exact match to just the same mate‐
596              rial.
597
598       Tags   Pops up a window which shows the PGN  (portable  game  notation)
599              tags  for  the current game.  For now this is a duplicate of the
600              `Edit Tags' item in the `Edit' menu.
601
602       Comments
603              Pops up a window which shows any comments to  or  variations  on
604              the current move.  For now this is a duplicate of the `Edit Com‐
605              ment' item in the `Edit' menu.
606
607       ICS Input Box
608              If this option is set in ICS mode, XBoard creates an extra  win‐
609              dow  that you can use for typing in ICS commands.  The input box
610              is especially useful if you want to type in something long or do
611              some  editing on your input, because output from ICS doesn't get
612              mixed in with your typing as it would in the main terminal  win‐
613              dow.
614
615       ICS/Chat Console
616              This menu item opens a window in which you can interact with the
617              ICS, so you don't have to use the messy  xterm  from  which  you
618              launched  XBoard  for  that.  The window has a text entry at the
619              bottom where you can type your commands and messages  unhindered
620              by  the stream of ICS output.  The latter will be displayed in a
621              large pane above the input field, the ICS Console.  Up and  down
622              arrow  keys  can be used to recall previous input lines.  Typing
623              an <Esc> character in the input field transfers  focus  back  to
624              the  board  window (so you could operate the menus there through
625              accelerator keys).  Typing a printable character  in  the  board
626              window  transfers  focus  back  to  the  input field of the `ICS
627              Chat/Console' window.
628
629       Chats  There is a row of buttons at the top of the  `ICS  Chat/Console'
630              dialog,  which  can  be  used to navigate between upto 5 'chats'
631              with other ICS users (or channels).  These will switch the  win‐
632              dow  to  'chat  mode',  where  the ICS output pane is vertically
633              split to divert messages from a specific user or ICS channel  to
634              the  lower  half.   Lines  typed in the input field will then be
635              interpreted as messages to be sent  to  that  user  or  channel,
636              (automatically  prefixed  with  the  apporpriate ICS command and
637              user name) rather than as commands to the ICS.  Chats will  keep
638              collecting ICS output intended for them even when not displayed,
639              and their buttons will turn orange to alert the user  there  has
640              been  activity.   Typing <Tab> in the input field will switch to
641              another active chat, giving priority to those with  content  you
642              have not seen yet.
643
644       New Chat
645              Buttons  for  chats  currently not assigned to a user or channel
646              will carry the text `New Chat', and pressing them will switch to
647              chat mode, enabling you to enter the user name or channel number
648              you want to use it for.  Typing Ctrl-N in the input field  is  a
649              keyboard equivalent.
650
651       Chat partner
652              To  (re-)assign a chat, write the name of your chat partner, the
653              channel number, or the words 'shouts', 'whispers', 'cshouts'  in
654              the  `Chat  partner'  text entry (ending with <Enter>!).  Typing
655              Ctrl-O in the input field at the bottom of the window will  open
656              a  chat  with  the  person  that last sent you a 'tell' that was
657              printed in the ICS Console output pane.  The `ICS text menu' can
658              contain  a  button `Open Chat (name)' that can be used to open a
659              chat with as partner the word/number you  right-clicked  in  the
660              output pane to pop up this menu.
661
662       End Chat
663              This button, only visible when the chat pane is open, will clear
664              the `Chat partner' field, so that the chat can be assigned to  a
665              new user or channel.  Typing Ctrl-E in the input field is a key‐
666              board equivalent.
667
668       Hide   This button, only visible when the chat pane is open, will close
669              the  latter,  so you can use the input field to give commands to
670              the ICS again.  Typing Ctrl-H in the input field is  a  keyboard
671              equivalent.
672
673       ICS text menu
674              Brings up a menu that is user-configurable through the `icsMenu'
675              option.  Buttons in this menu can sent  pre-configured  commands
676              directly  to  the  ICS, or can put partial commands in the input
677              field of the `ICS Chat/Console' window, so that you can complete
678              those  with some text of your own before sending them to the ICS
679              by pressing Enter.  This menu item can  also  be  popped  up  by
680              right-clicking in the text memos of the ICS Chat/Console window.
681              In that case the word that was clicked can  be  incorporated  in
682              the  message  sent  to the ICS. E.g. to challenge a player whose
683              name you click for a game, or prepare for sending him a  message
684              through a 'tell' commands.
685
686       Edit ICS menu
687              Brings  up  an  edit  box  with  the definition of the `ICS text
688              menu', so you can adapt its appearance to your needs.  The  menu
689              is defined by a semi-colon-separated list, each button through a
690              pair of items in it.  The first item of each pair is the text on
691              the  button,  the  second the text to be sent when the button is
692              pressed.  The word '$input' in the text will put  that  text  in
693              the  input  field  of  the `ICS Chat/Console' with the cursor in
694              that place, the word '$name' will be replaced by the word right-
695              clicked to pop up the text menu.
696
697       Edit Theme List
698              Brings  up  an edit box with the definitions of the themes shown
699              in the listbox of the `Board' dialog, so  you  can  delete,  re-
700              order or alter themes defined previously.
701
702       Board  Summons  a  dialog where you can customize the look of the chess
703              board.
704
705       White Piece Color
706       Black Piece Color
707       Light Square Color
708       Dark Square Color
709       Highlight Color
710       Premove Highlight Color
711              These items set the color of  pieces,  board  squares  and  move
712              highlights (borders or arrow).  Square colors are only used when
713              the `Use Board Textures' option is off, the  piece  colors  only
714              when  `Use piece bitmaps with their own colors' is off.  You can
715              type the color as hexadecimally encoded RGB  value  preceded  by
716              '#',  or  adjust it through the R, G, B and D buttons to make it
717              redder, greener, bluer or darker.   A  sample  of  the  adjusted
718              color  will  be  displayed behind its text description; pressing
719              this colored button restores the default value for the color.
720
721       Flip Pieces Shogi Style
722              With this option on XBoard will swap  white  and  black  pieces,
723              when you flip the view of the board to make white play downward.
724              This should be used with piece themes that  do  not  distinguish
725              sides by color, but by orientation.
726
727       Mono Mode
728              This option sets XBoard to pure black-and-white display (no grey
729              scales, and thus no anti-aliasing).
730
731       Logo Size
732              Specifies the width of the engine logos displayed  next  to  the
733              clocks,  in  pixels.   Setting it to 0 suppresses the display of
734              such logos.  The height of the logo will be half its width.   In
735              the  GTK  build  of XBoard any non-zero value is equivalent, and
736              the logos are always sized to 1/4 of the board width.
737
738       Line Gap
739              This option specifies the width of the grid lines that  separate
740              the  squares, which change color on highlighting the move.  Set‐
741              ting it to 0 suppresses these lines, which in general looks bet‐
742              ter,  but  hides the square-border highlights, so that you would
743              have to rely on other forms of highlighting.  Setting the  value
744              to  -1  makes  XBoard choose a width by itself, depending on the
745              square size.
746
747       Use Board Textures
748       Light-Squares Texture File
749       Dark-Squares Texture File
750              When the option `Use Board Textures' is set,  the  squares  will
751              not  be drawn as evenly colored surfaces, but will be cut from a
752              texture image, as specified by the  `Texture  Files'.   Separate
753              images  can be used for light and dark squares.  XBoard will try
754              to cut the squares out of the texture image with as little over‐
755              lap  as  possible,  so they all look different.  The name of the
756              texture file can contain a size hint,  e.g.  `xqboard-9x10.png',
757              alerting  XBoard  to  the  fact  that  it contains a whole-board
758              image, out of which squares have to be cut in register with  the
759              nominal sub-division.
760
761       Use external piece bitmaps with their own color
762              When  this  option is on XBoard will ignore the piece-color set‐
763              tings, and draw the piece images in their original colors.   The
764              piece-color  settings  would  only  work well for evenly colored
765              pieces, such as the default theme.
766
767       Directory with Pieces Images
768              When a directory is specified here, XBoard will first  look  for
769              piece images (SVG or PNG files) in that directory, and fall back
770              on the image from the default theme only for  images  it  cannot
771              find  there.  An image file called White/BlackTile in the direc‐
772              tory will be prefered as fall-back for missing pieces  over  the
773              default image, however.
774
775       Selectable themes
776       New name for current theme
777              When a theme name is specified while pressing 'OK', the combina‐
778              tion of settings specified in  the  dialog  will  be  stored  in
779              XBoard's  list  of  themes,  which  will be saved with the other
780              options in the settings file (as the `themeNames' option).  This
781              name  will  then  appear  in the selection listbox next time you
782              open the dialog, so that you can recall the  entire  combination
783              of settings by double-clicking it.
784
785              Here  you  can  specify  the  directory  from which piece images
786              should be taken, when you don't want to use the  built-in  piece
787              images (see `pieceImageDirectory' option), external images to be
788              used for the board squares (`liteBackTextureFile' and `darkBack‐
789              TextureFile'  options),  and  square  and  piece  colors for the
790              default pieces.  The current combination of these  settings  can
791              be  assigned  a  'theme' name by typing one in the text entry in
792              the lower-left of the dialog, and closing the  latter  with  OK.
793              It will then appear in the themes listbox next time you open the
794              dialog, where you can recall the complete  settings  combination
795              with a double-click.
796
797       Fonts  Pops  up  a  dialog where you can set the fonts used in the main
798              elements of various windows.  Pango font names can be typed  for
799              each  window  type, and behind each text entry there are buttons
800              to adjust the point size, and  toggle  the  'bold'  or  'italic'
801              attributes of the font.
802
803       Game List Tags
804              a duplicate of the Game List dialog in the Options menu.
805
806   Mode Menu
807       Machine White
808              Tells  the  chess  engine  to play White.  The `Ctrl-W' key is a
809              keyboard equivalent.
810
811       Machine Black
812              Tells the chess engine to play Black.  The  `Ctrl-B'  key  is  a
813              keyboard equivalent.
814
815       Two Machines
816              Plays  a  game between two chess engines.  The `Ctrl-T' key is a
817              keyboard equivalent.
818
819       Analysis Mode
820              XBoard tells the chess engine to  start  analyzing  the  current
821              game/position  and  shows  you  the  analysis as you move pieces
822              around.  The `Ctrl-A' key is a keyboard equivalent.  Note:  Some
823              chess engines do not support Analysis mode.
824
825              To set up a position to analyze, you do the following:
826
827              1. Set up the position by any means. (E.g. using `Edit Position'
828              mode, pasing a FEN or loading a game and stepping to  the  posi‐
829              tion.)
830
831              2.  Select  Analysis Mode from the Mode Menu to start the analy‐
832              sis.
833
834              You can now play legal moves to create follow-up  positions  for
835              the  engine  to analyze, while the moves will be remembered as a
836              stored game, and then step backward through this  game  to  take
837              the  moves  back.  Note that you can also click on the clocks to
838              set the opposite side to move (adding a so-called `null move' to
839              the game).
840
841              You  can  also tell the engine to exclude some moves from analy‐
842              sis.  (Engines that do not  support  the  exclude-moves  feature
843              will  ignore  this,  however.)  The general way to do this is to
844              play the move you want to exclude starting with a  double  click
845              on the piece.  When you use drag-drop moving, the piece you grab
846              with a double click will also remain on its square, to show  you
847              that you are not really making the move, but just forbid it from
848              the current position.  Playing a thus  excluded  move  a  second
849              time  will  include  it again.  Excluded moves will be listed as
850              text in a header line in the Engine Output window, and  you  can
851              also  re-include them by right-clicking them there.  This header
852              line will also contain the words 'best' and 'tail'; right-click‐
853              ing those will exclude the currently best move, or all moves not
854              explicitly listed in the header line.  Once you leave  the  cur‐
855              rent position all memory of excluded moves will be lost when you
856              return there.
857
858              Selecting this menu item while already in `Analysis  Mode'  will
859              toggle  the  participation of the second engine in the analysis.
860              The output of this engine will then be shown in the  lower  pane
861              of  the Engine Output window.  The analysis function can also be
862              used when observing games on an ICS with an engine loaded (zippy
863              mode);  the engine then will analyze the positions as they occur
864              in the observed game.
865
866
867       Analyze Game
868              This option subjects the  currently  loaded  game  to  automatic
869              analysis  by  the loaded engine.  The `Ctrl-G' key is a keyboard
870              equivalent.  XBoard will start auto-playing the  game  from  the
871              currently  displayed position, while the engine is analyzing the
872              current position.  The game will be annotated with  the  results
873              of  these  analyses.   In particlar, the score and depth will be
874              added as a comment, and the PV will be added as a variation.
875
876              Normally the analysis would stop after reaching the end  of  the
877              game.   But  when  a game is loaded from a multi-game file while
878              `Analyze Game' was already switched on, the analysis  will  con‐
879              tinue  with  the next game in the file until the end of the file
880              is reached (or you switch to another mode).
881
882              The time the engine spends on analyzing each move  can  be  con‐
883              trolled  through the command-line option `-timeDelay', which can
884              also be set from the `Load Game  Options'  menu  dialog.   Note:
885              Some chess engines do not support Analysis mode.
886
887       Edit Game
888              Duplicate  of  the item in the Edit menu.  Note that `Edit Game'
889              is the idle mode of XBoard, and can be used to get  you  out  of
890              other  modes.  E.g.  to  stop analyzing, stop a game between two
891              engines or stop editing a position.
892
893       Edit Position
894              Duplicate of the item in the Edit menu.
895
896       Training
897              Training mode lets you interactively guess the moves of  a  game
898              for  one  of the players. You guess the next move of the game by
899              playing the move on the board. If the move  played  matches  the
900              next  move  of the game, the move is accepted and the opponent's
901              response is auto-played.  If the move played  is  incorrect,  an
902              error message is displayed.  You can select this mode only while
903              loading a game (that is, after selecting `Load  Game'  from  the
904              File  menu).  While XBoard is in `Training' mode, the navigation
905              buttons are disabled.
906
907       ICS Client
908              This is the normal mode when XBoard  is  connected  to  a  chess
909              server.  If you have moved into Edit Game or Edit Position mode,
910              you can select this option to get out.
911
912              To use xboard in ICS mode, run it in  the  foreground  with  the
913              -ics  option,  and  use the terminal you started it from to type
914              commands and receive text responses from the chess server.   See
915              Chess Servers below for more information.
916
917              XBoard  activates  some  special  position/game editing features
918              when you use the `examine' or `bsetup' commands on ICS  and  you
919              have  `ICS  Client'  selected  on the Mode menu.  First, you can
920              issue the ICS position-editing commands with  the  mouse.   Move
921              pieces  by dragging with mouse button 1.  To drop a new piece on
922              a square, press mouse button 2  or  3  over  the  square.   This
923              brings  up  a  menu  of  white pieces (button 2) or black pieces
924              (button 3).  Additional menu choices let you empty the square or
925              clear  the  board.  Click on the White or Black clock to set the
926              side to play.  You cannot set the side to play or drag pieces to
927              arbitrary  squares  while examining on ICC, but you can do so in
928              `bsetup' mode on FICS.  In addition,  the  menu  commands  `For‐
929              ward',  `Backward',  `Pause',  and `Stop Examining' have special
930              functions in this mode; see below.
931
932       Machine Match
933              Starts a match between two chess  programs,  with  a  number  of
934              games  and other parameters set through the `Tournament Options'
935              menu dialog.  When a match is already  running,  selecting  this
936              item  will  make XBoard drop out of match mode after the current
937              game finishes.
938
939       Pause  Pauses updates to the board, and if you are  playing  against  a
940              chess  engine,  also  pauses  your  clock.  To  continue, select
941              `Pause' again, and the display will automatically update to  the
942              latest  position.   The  `P' button and keyboard `Pause' key are
943              equivalents.
944
945              If you select Pause when you are playing against a chess  engine
946              and  it is not your move, the chess engine's clock will continue
947              to run and it will eventually make a move, at which  point  both
948              clocks  will  stop. Since board updates are paused, however, you
949              will not see the move until you exit from Pause mode (or  select
950              Forward).  This behavior is meant to simulate adjournment with a
951              sealed move.
952
953              If you select Pause while you are observing or examining a  game
954              on a chess server, you can step backward and forward in the cur‐
955              rent history of the examined game without  affecting  the  other
956              observers  and  examiners,  and without having your display jump
957              forward to the latest position each time a move is made.  Select
958              Pause  again  to  reconnect yourself to the current state of the
959              game on ICS.
960
961              If you select `Pause' while you are loading  a  game,  the  game
962              stops  loading.  You  can  load more moves manually by selecting
963              `Forward', or resume  automatic  loading  by  selecting  `Pause'
964              again.
965
966   Action Menu
967       Accept Accepts  a  pending  match  offer.   The  `F3' key is a keyboard
968              equivalent.  If there is more than one offer pending,  you  will
969              have  to  type  in a more specific command instead of using this
970              menu choice.
971
972       Decline
973              Declines a pending offer (match, draw, adjourn, etc.).  The `F4'
974              key  is  a  keyboard equivalent. If there is more than one offer
975              pending, you will have  to  type  in  a  more  specific  command
976              instead of using this menu choice.
977
978       Call Flag
979              Calls  your opponent's flag, claiming a win on time, or claiming
980              a draw if you are both out of time.  The `F5' key is a  keyboard
981              equivalent.   You can also call your opponent's flag by clicking
982              on his clock.
983
984       Draw   Offers a draw to your opponent, accepts  a  pending  draw  offer
985              from  your  opponent,  or  claims  a  draw  by repetition or the
986              50-move rule, as appropriate. The `F6' key is a keyboard equiva‐
987              lent.
988
989       Adjourn
990              Asks  your  opponent to agree to adjourning the current game, or
991              agrees to a pending adjournment offer from your  opponent.   The
992              `F7' key is a keyboard equivalent.
993
994       Abort  Asks  your  opponent  to  agree to aborting the current game, or
995              agrees to a pending abort offer from your  opponent.   The  `F8'
996              key  is  a keyboard equivalent. An aborted game ends immediately
997              without affecting either player's rating.
998
999       Resign Resigns the game to your opponent. The `F9' key  is  a  keyboard
1000              equivalent.
1001
1002       Stop Observing
1003              Ends  your participation in observing a game, by issuing the ICS
1004              observe command with no arguments. ICS mode only.  The `F10' key
1005              is a keyboard equivalent.
1006
1007       Stop Examining
1008              Ends  your participation in examining a game, by issuing the ICS
1009              unexamine command. ICS mode only.  The `F11' key is  a  keyboard
1010              equivalent.
1011
1012       Upload to Examine
1013              Create  an  examined  game of the proper variant on the ICS, and
1014              send the game there that is  currenty  loaded  in  XBoard  (e.g.
1015              through pasting or loading from file).  You must be connected to
1016              an ICS for this to work.
1017
1018       Adjudicate to White
1019       Adjudicate to Black
1020       Adjudicate Draw
1021              Terminate an ongoing game in Two-Machines mode (including  match
1022              mode),  with  as  result  a win for white, for black, or a draw,
1023              respectively.  The PGN file  of  the  game  will  accompany  the
1024              result string by the comment "user adjudication".
1025
1026   Engine Menu
1027       Edit Engine List
1028              Opens a window that shows the list of engines registered for use
1029              by XBoard, together with the options that  would  be  used  with
1030              them  when you would select them from the `Load Engine' dialogs.
1031              You can then edit this list, e.g. for re-ordering  the  engines,
1032              or  adding  uncommon options needed by this engine (e.g. to cure
1033              non-compliant behavior).
1034
1035              By editing you can also organize the  engines  into  collapsible
1036              groups.   By  sandwiching a number of engine lines between lines
1037              "# NAME" and "# end", the thus enclosed engines  will  not  ini‐
1038              tially appear in engine listboxes of other dialogs, but only the
1039              single line "# NAME" (where NAME can be an arbitrary text)  will
1040              appear  in  their place.  Selecting that line will then show the
1041              enclosed engines in the listbox, which recursively  can  contain
1042              other  groups.   The line with the group name will still present
1043              as a header, and selecting that line  will  collapse  the  group
1044              again, and makes the listbox go back to displaying the surround‐
1045              ing group.
1046
1047       Load New 1st Engine
1048       Load New 2nd Engine
1049              Pops up a dialog where you can select or specify an engine to be
1050              loaded.   You  can  even  replace engines during a game, without
1051              disturbing that game.  (Beware that  after  loading  an  engine,
1052              XBoard  will  always  be  in Edit Game mode, so you will have to
1053              tell the new engine what to do before it does anything!)
1054
1055       Select engine from list
1056              The listbox shows the engines registered  for  use  with  XBoard
1057              before.   (This means XBoard has information on the engine type,
1058              whether it plays book etc.  in the engine  list  stored  in  its
1059              settings file.)  Double-clicking an engine here will load it and
1060              close the dialog.  The list can also contain  groups,  indicated
1061              by  a  starting  '#'  sign.   Double-clicking  such a group will
1062              'open' it, and show the group contents in the listbox instead of
1063              the  total list, with the group name as header.  Double-clicking
1064              the header will 'close' the group again.
1065
1066       Nickname
1067       Use nickname in PGN player tags of engine-engine games
1068              When a `Nickname' is specified, the  engine  will  appear  under
1069              this  name  in  the `Select Engine' listbox.  Otherwise the name
1070              there will be a tidied version of the engine command.  The  user
1071              can specify if the nickname is also to be used in PGN tags; nor‐
1072              mally the name engines report theselves would be used there.
1073
1074       Engine Command
1075              The command needed to start the engine from  the  command  line.
1076              For  compliantly  installed engine this is usually just a single
1077              word, the name of the engine package (e.g. 'crafty'  or  'stock‐
1078              fish').   Some engines need additional parameters on the command
1079              line.  For engines that are not in  a  place  where  the  system
1080              would  expect them a full pathname can be specified, and usually
1081              the browse button for this oprion is the easiest way  to  obtain
1082              that.
1083
1084       Engine Directory
1085              Compliant  engines  could run from any directory, and by default
1086              this option is proposed as '.', the  current  directory.   If  a
1087              (path)name  is  specified  here, XBoard will start the engine in
1088              that directory.  If you make the field empty,  it  will  try  to
1089              derive the directory from the engine command (if that was a path
1090              name).
1091
1092       UCI    When the `UCI' checkbox is ticked XBoard will assume the  engine
1093              is  of  UCI  type, and will invoke the corresponding adapter (as
1094              specified in the `adapterCommand' option stored in its  settings
1095              file)to use it.  By default this adapter is Polyglot, which must
1096              be installed from a separate package!
1097
1098       USI/UCCI
1099              Ticking this checkbox informs XBoard that the engine is  of  USI
1100              or  UCCI  type  (as  Shogi  or Xiangqi engines often are).  This
1101              makes XBoard invoke an adapter to run the engines, as  specified
1102              by  the  `uxiAdapter'  option  stored in its settings file.  The
1103              UCI2WB program is an adapter that can handle both  these  engine
1104              types, as well as UCI.
1105
1106       WB protocol v1
1107              Ticking  this checkbox informs XBoard the engine is using an old
1108              version (1) of the communication  protocol,  so  that  it  won't
1109              respond to a request to interrogate its properties.  XBoard then
1110              won't even try that, saving you a wait of several  seconds  each
1111              time the engine is started.  Do not use this on state-of-the-art
1112              engines, as it would prevent XBoard from interrogating its capa‐
1113              bilities, so that many of its features might not work!
1114
1115       Must not use GUI book
1116              By  default XBoard assumes engines are responsible for their own
1117              opening book, but unticking this option makes XBoard consult its
1118              own  book  (as  per  `Opening-Book  Filename')  on behalf of the
1119              engine.
1120
1121       Add this engine to the list
1122              By default XBoard would add the engine you specified,  with  all
1123              the given options to its list of registered engines (kept in its
1124              settings file), when you press 'OK'.  Next time you  could  then
1125              simply  select  it  from the listbox, or use the command "xboard
1126              -fe NICKNAME" to start XBoard with the engine  and  accompanying
1127              options.   New engines are always added at the end of the exist‐
1128              ing list, or, when you  have  opened  a  group  in  the  `Select
1129              Engine'  listbox,  at  the  end  of  that group.  But can be re-
1130              ordered later with the aid of the `Edit Engine List' menu  item.
1131              When  you  untick  this checkbox before pressing 'OK' the engine
1132              will be loaded, but will not be added to the engine list.
1133
1134       Force current variant with this engine
1135              Ticking this option will make  XBoard  automatically  start  the
1136              engine  in  the  current variant, even when XBoard was set for a
1137              different variant when you loaded the engine.  Useful  when  the
1138              engine  plays  multiple  variants,  and you specifically want to
1139              play one different from its primary one.
1140
1141       Engine #1 Settings
1142       Engine #2 Settings
1143              Pop up a menu dialog to  alter  the  settings  specific  to  the
1144              applicable  engine.   For each parameter the engine allows to be
1145              set, a control element will appear in this dialog  that  can  be
1146              used  to  alter  the  value.  Depending on the type of parameter
1147              (text string, number, multiple choice, on/off switch,  instanta‐
1148              neous  signal)  the  appropriate  control  will  appear,  with a
1149              description next to it.  XBoard has no idea  what  these  values
1150              mean;  it  just  passes  them on to the engine.  How this dialog
1151              looks is completely determined by the engine,  and  XBoard  just
1152              passes  it on to the user.  Many engines do not have any parame‐
1153              ters that can be set by the user, and in that  case  the  dialog
1154              will  be  empty  (except  for  the  OK and cancel buttons).  UCI
1155              engines usually have many parameters. (But these are only  visi‐
1156              ble  with  a sufficiently modern version of the Polyglot adapter
1157              needed to run UCI engines,  e.g.  Polyglot  2.0.1.)  For  native
1158              XBoard engines this is less common.
1159
1160
1161       Common Settings
1162              Pops  up  a menu dialog where you can set some engine parameters
1163              common to most engines, such as hash-table size, tablebase cache
1164              size,  maximum  number  of  processors that SMP engines can use.
1165              The  shifted  `Alt+U'  key  is  a  keyboard  equivalent.   Older
1166              XBoard/WinBoard engines might not respond to these settings, but
1167              UCI engines always should.
1168
1169       Maximum Number of CPUs per Engine
1170              Specifies the number of search threads any engine can  maximally
1171              use.   Do not set it to a number larger than the number of cores
1172              your computer has.  (Or half of it when you want two engines  to
1173              run  simultaneously, as in a Two-Machines game with `Ponder Next
1174              Move' on.)
1175
1176       Polyglot Directory
1177
1178       Hash-Table Size
1179              Specifies the maximum amount of  memory  (RAM)  each  engine  is
1180              allowed  to  use  for  storing  info  on  positions  it  already
1181              searched, so it would not have to search them again.  Do not set
1182              it so that it is more than half (or if you use two engines, more
1183              than a quarter) of the memory your computer  has,  or  it  would
1184              slow the engines down by an extreme amount.
1185
1186       EGTB Path
1187              Sets the value of the `egtFormats' option, which specifies where
1188              on your computer the files for End-Game Tables are  stored.   It
1189              must  be a comma-separated list of path names, the path for each
1190              EGT flavor prefixed with the name of the  latter  and  a  colon.
1191              E.g.  "nalimov:/home/egt/dtm,syzygy:/home/egt/dtz50".   The path
1192              names after the colon will be sent to the engines that say  they
1193              can use the corresponding EGT flavor.
1194
1195       EGTB Cache Size
1196              Specifies  the  amount of memory the engine should use to buffer
1197              end-game information.  Together with the `Hash-Table Size'  this
1198              determines  how  much  memory  the  engine  is allowed to use in
1199              total.
1200
1201       Use GUI Book
1202       Opening-Book Filename
1203              The `Opening-Book Filename' specifies an opening book  in  Poly‐
1204              glot  format  (usually  a .bin file), from which XBoard can play
1205              moves on behalf of the engine.  This is also the  book  file  on
1206              which  the `Edit Book' and `Save Games as Book' menu items oper‐
1207              ate.  A checkbox `Use GUI Book' can be used to temporarily  dis‐
1208              able  the  book without losing the setting.  (This does not pre‐
1209              vent editing or saving games on it!)
1210
1211       Book Depth
1212       Book Variety
1213              The way moves are selected from the book can  be  controlled  by
1214              two  options.   `Book Depth' controls for how deep into the game
1215              the book will be consulted  (measured  in  full  moves).   `Book
1216              Variety'  controls the likelihood of playing weaker moves.  When
1217              the variety is set to 50, moves will be played with  the  proba‐
1218              bility  specified  in the book.  When set to 0, only the move(s)
1219              with the highest probability will be played.  When set  to  100,
1220              all  listed  moves  will be played with equal pobability.  Other
1221              settings interpolate between that.
1222
1223       Engine #1 Has Own Book
1224       Engine #2 Has Own Book
1225              These checkboxes control on a per-engine  basis  whether  XBoard
1226              will  consult the opening book for them.  If ticked, XBoard will
1227              never play moves from its GUI book, giving the engine the oppor‐
1228              tunity  to  use  its  own.   These options are automatically set
1229              whenever you load an engine, based on the setting of  `Must  not
1230              use  GUI book' when you installed that through the `Load Engine'
1231              menu dialog.
1232
1233       Hint   Displays a move hint from the chess engine.
1234
1235       Book   Displays a list of possible moves from the chess engine's  open‐
1236              ing book.  The exact format depends on what chess engine you are
1237              using.  With GNU Chess 4, the first column gives moves, the sec‐
1238              ond  column  gives  one possible response for each move, and the
1239              third column shows the number of lines in the book that  include
1240              the  move  from  the first column. If you select this option and
1241              nothing happens, the chess engine is out of its book or does not
1242              support this feature.
1243
1244       Move Now
1245              Forces  the  chess engine to move immediately. Chess engine mode
1246              only.  The `Ctrl-M' key is a keyboard equivalent.  Many  engines
1247              won't respond to this.
1248
1249       Retract Move
1250              Retracts  your  last move. In chess engine mode, you can do this
1251              only after the chess engine has replied to  your  move;  if  the
1252              chess  engine  is  still  thinking, use `Move Now' first. In ICS
1253              mode, `Retract Move' issues the command `takeback 1'  or  `take‐
1254              back  2'  depending  on  whether  it  is your opponent's move or
1255              yours.  The `Ctrl-X' key is a keyboard equivalent.
1256
1257       Recently Used Engines
1258              At the bottom of the engine menu there can be a list of names of
1259              engines  that  you  recently loaded through the Load Engine menu
1260              dialog in previous sessions.  Clicking on such a name will  load
1261              that  engine as first engine, so you won't have to search for it
1262              in your list of installed engines, if that is  very  long.   The
1263              maximum  number  of displayed engine names is set by the `recen‐
1264              tEngines' command-line option.
1265
1266   Options Menu
1267   Mute all Sounds
1268       Ticking this menu item toggles all sounds XBoard can make  on  or  off,
1269       without losing their definitions.
1270
1271   General Options
1272       The  following items to set option values appear in the dialog summoned
1273       by the general Options menu item.
1274
1275       Absolute Analysis Scores
1276              Controls if scores on the Engine Output window  during  analysis
1277              will  be  printed  from  the white or the side-to-move point-of-
1278              view.
1279
1280       Almost Always Queen
1281              If this option is on, 7th-rank pawns automatically  change  into
1282              Queens when you pick them up, and when you drag them to the pro‐
1283              motion square and release them there, they will promote to that.
1284              But when you drag such a pawn backwards first, its identity will
1285              start to cycle through the other available  pieces.   This  will
1286              continue  until you start to move it forward; at which point the
1287              identity of the piece will be fixed, so that you can safely  put
1288              it  down  on  the promotion square.  If this option is off, what
1289              happens depends  on  the  option  `alwaysPromoteToQueen',  which
1290              would  force  promotion  to  Queen  when true.  Otherwise XBoard
1291              would bring up a dialog box whenever you move a pawn to the last
1292              rank, asking what piece you want to promote to.
1293
1294       Animate Dragging
1295              If  Animate  Dragging is on, while you are dragging a piece with
1296              the mouse, an image of the piece follows the mouse  cursor.   If
1297              Animate  Dragging  is off, there is no visual feedback while you
1298              are dragging a piece, but if Animate Moving is on, the move will
1299              be animated when it is complete.
1300
1301       Animate Moving
1302              If Animate Moving is on, all piece moves are animated.  An image
1303              of the piece is shown moving from the  old  square  to  the  new
1304              square  when  the move is completed (unless the move was already
1305              animated by Animate Dragging).  If  Animate  Moving  is  off,  a
1306              moved  piece  instantly disappears from its old square and reap‐
1307              pears on its new square when the move is complete.  The  shifted
1308              `Ctrl-A' key is a keyboard equivalent.
1309
1310       Auto Flag
1311              If  this option is on and one player runs out of time before the
1312              other, XBoard will automatically call his flag, claiming  a  win
1313              on time.  The shifted `Ctrl-F' key is a keyboard equivalent.  In
1314              ICS mode, Auto Flag will only call  your  opponent's  flag,  not
1315              yours,  and the ICS may award you a draw instead of a win if you
1316              have insufficient mating material.  In local chess engine  mode,
1317              XBoard may call either player's flag.
1318
1319       Auto Flip View
1320              If  the  Auto  Flip View option is on when you start a game, the
1321              board will be automatically oriented so  that  your  pawns  move
1322              from the bottom of the window towards the top.
1323
1324              If  you  are  playing a game on an ICS, the board is always ori‐
1325              ented at the start of the game so that your pawns move from  the
1326              bottom  of  the  window towards the top. Otherwise, the starting
1327              orientation is determined by the `flipView' command line option;
1328              if  it is false (the default), White's pawns move from bottom to
1329              top at the start of each game; if it is true, Black's pawns move
1330              from bottom to top. See User interface options.
1331
1332       Blindfold
1333              If  this  option  is  on, XBoard displays the board as usual but
1334              does not display pieces or move highlights.  You can still  move
1335              in  the  usual  way  (with  the  mouse or by typing moves in ICS
1336              mode), even though the pieces are invisible.
1337
1338       Drop Menu
1339              Controls if right-clicking the board in  crazyhouse  /  bughouse
1340              will  pop  up a menu to drop a piece on the clicked square (old,
1341              deprecated behavior) or allow you to step through an  engine  PV
1342              (new, recommended behavior).
1343
1344       Enable Variation Trees
1345              If  this  option  is  on, playing a move in Edit Game or Analyze
1346              mode while keeping the Shift key pressed will start a new varia‐
1347              tion.   You  can  then  recall  the  previous  line  through the
1348              `Revert' menu item.  When off, playing a move will truncate  the
1349              game and append the move irreversibly.
1350
1351       Headers in Engine Output Window
1352              Controls the presence of column headers above the variations and
1353              associated information printed by the engine, on which  you  can
1354              issue  button  3 clicks to open or close the columns.  Available
1355              columns are search depth, score, node count, time  used,  table‐
1356              base hits, search speed and selective search depth.
1357
1358       Hide Thinking
1359              If  this  option  is off, the chess engine's notion of the score
1360              and best line of play from the current position is displayed  as
1361              it  is thinking. The score indicates how many pawns ahead (or if
1362              negative, behind) the chess engine  thinks  it  is.  In  matches
1363              between  two  machines,  the  score is prefixed by `W' or `B' to
1364              indicate whether it is showing White's thinking or Black's,  and
1365              only  the  thinking of the engine that is on move is shown.  The
1366              shifted `Ctrl-H' key is a keyboard equivalent.
1367
1368       Highlight Last Move
1369              If Highlight Last Move is on, after a move is made, the starting
1370              and  ending  squares  remain highlighted. In addition, after you
1371              use Backward or Back to Start, the starting and  ending  squares
1372              of the last move to be unmade are highlighted.
1373
1374       Highlight with Arrow
1375              Causes  the  highlighting described in Highlight Last Move to be
1376              done by drawing an arrow between  the  highlighted  squares,  so
1377              that  it is visible even when the width of the grid lines is set
1378              to zero.
1379
1380       One-Click Moving
1381              If this option is on, XBoard does not wait for you to click both
1382              the  from-  and the to-square, or drag the piece, but performs a
1383              move as soon as it is uniqely specified.  This applies to click‐
1384              ing  an own piece that only has a single legal move, clicking an
1385              empty square or opponent piece where only one of your pieces can
1386              move  (or  capture)  to.  Furthermore, a double-click on a piece
1387              that can only make a single capture will cause that  capture  to
1388              be  made.   Promoting a Pawn by clicking its to-square will sup‐
1389              press the promotion popup or  other  methods  for  selecting  an
1390              under-promotion, and make it promote to Queen.
1391
1392       Periodic Updates
1393              If  this  option is off (or if you are using a chess engine that
1394              does not support periodic updates),  the  analysis  window  will
1395              only be updated when the analysis changes. If this option is on,
1396              the Analysis Window will be updated every two seconds.
1397
1398       Play Move(s) of Clicked PV
1399              If this option is on, right-clicking on the first move of  a  PV
1400              or  on  the  data  fields left of it in the Engine Output window
1401              during Analyze mode will cause the first move of that PV  to  be
1402              played.   You  could  also play more than one (or no) PV move by
1403              moving the mouse to engage in the PV  walk  such  a  right-click
1404              will  start, to seek out another position along the PV where you
1405              want to continue the analysis, before releasing the  mouse  but‐
1406              ton.   Clicking  on  later moves of the PV only temporarily show
1407              the moves for as long you keep the mouse  button  down,  without
1408              adding them to the game.
1409
1410       Ponder Next Move
1411              If  this option is off, the chess engine will think only when it
1412              is on move.  If the option is on, the  engine  will  also  think
1413              while  waiting  for you to make your move.  The shifted `Ctrl-P'
1414              key is a keyboard equivalent.
1415
1416       Popup Exit Message
1417              If this option is on, when XBoard wants  to  display  a  message
1418              just  before  exiting, it brings up a modal dialog box and waits
1419              for you to click OK before  exiting.   If  the  option  is  off,
1420              XBoard  prints  the message to standard error (the terminal) and
1421              exits immediately.
1422
1423       Popup Move Errors
1424              If this option is off, when you make an error in moving (such as
1425              attempting an illegal move or moving the wrong color piece), the
1426              error message is displayed in the message area.  If  the  option
1427              is  on,  move  errors are displayed in small pop-up windows like
1428              other errors.  You can dismiss an error pop-up either by  click‐
1429              ing  its OK button or by clicking anywhere on the board, includ‐
1430              ing down-clicking to start a move.
1431
1432       Scores in Move List
1433              If this option is on, XBoard will display the depth and score of
1434              engine moves in the Move List, in the format of a PGN comment.
1435
1436       Show Coords
1437              If  this  option  is  on,  XBoard displays algebraic coordinates
1438              along the board's left and bottom edges.
1439
1440       Show Target Squares
1441              If this option is on, all squares a piece that  is  'picked  up'
1442              with  the  mouse  can  legally move to are highighted with a fat
1443              colored dot in yellow (non-captures) or red (captures).  Special
1444              moves  might have other colors (e.g. magenta for promotion, cyan
1445              for a partial move).  Legality testing must be on for XBoard  to
1446              know  how  the  piece  moves, but with legality testing off some
1447              engines would offer this information.
1448
1449       Sticky Windows
1450              Controls whether the auxiliary windows such  as  Engine  Output,
1451              Move  History and Evaluation Graph should keep touching XBoard's
1452              main window when you move the latter.
1453
1454       Test Legality
1455              If this option is on, XBoard tests whether the moves you try  to
1456              make  with  the  mouse  are legal and refuses to let you make an
1457              illegal move.  The shifted `Ctrl-L' key is  a  keyboard  equiva‐
1458              lent.   Moves  loaded  from  a  file  with  `Load Game' are also
1459              checked.  If the option is off, all moves are accepted, but if a
1460              local  chess engine or the ICS is active, they will still reject
1461              illegal moves.  Turning off this option is  useful  if  you  are
1462              playing  a  chess variant with rules that XBoard does not under‐
1463              stand.  (Bughouse, suicide, and wild variants where the king may
1464              castle after starting on the d file are generally supported with
1465              Test Legality on.)
1466
1467       Top-Level Dialogs
1468              Controls whether the auxiliary windows will appear as  icons  in
1469              the  task  bar  and  independently controllable, or whether they
1470              open and minimize all together with the main window.
1471
1472       Flash Moves
1473       Flash Rate
1474              If this option is non-zero, whenever a move  is  completed,  the
1475              moved  piece  flashes the specified number of times.  The flash-
1476              rate setting determines how rapidly this flashing occurs.
1477
1478       Animation Speed
1479              Determines the duration (in msec) of  an  animation  step,  when
1480              `Animate Moving' is swiched on.
1481
1482       Zoom factor in Evaluation Graph
1483              Sets  the  value of the `evalZoom' option, indicating the factor
1484              by which the score interval (-1,1) should be  blown  up  on  the
1485              vertical axis of the Evaluation Graph.
1486
1487   Time Control
1488       Pops up a sub-menu where you can set the time-control parameters inter‐
1489       actively.  The shifted `Alt+T' key is a keyboard equivalent.
1490
1491       classical
1492              Selects classical TC, where the game is devided into sessions of
1493              a certain number of moves, and after each session the start time
1494              is again added to the clocks.
1495
1496       incremental
1497              Selects a TC mode where the game will start with a base time  on
1498              the clocks, and after every move an 'increment' will be added to
1499              it.
1500
1501       fixed max
1502              Selects a TC mode where you have to  make  each  move  within  a
1503              given  time,  and  any left-over time is not carried over to the
1504              next move.
1505
1506       Divide entered times by 60
1507              To allow entering  of  sub-minute  initial  time  or  sub-second
1508              increment,  you  can  tick  this checkbox.  The initial time can
1509              then be entered in seconds, and the increment in units  of  1/60
1510              second.
1511
1512       Moves per session
1513              Sets the duration of a session for classical time control.
1514
1515       Initial time
1516              Time  initially  on  the  clock in classical or incremental time
1517              controls.  In classical time controls this  time  will  also  be
1518              added to the clock at the start of ach new session.
1519
1520       Increment or max
1521              Time to be added to the clock after every move in incremental TC
1522              mode.  Fore 'fixed maximum' TC mode, the clock will  be  set  to
1523              this  time  before every move, irrespective of how much was left
1524              on that clock.
1525
1526       Time-Odds factors
1527              When these options are set to 1 the clocks of the  players  will
1528              be  set according to the other specified TC parameters.  Players
1529              can be given unequal times by specifying a time-odds factor  for
1530              one  of them (or a different factor for both of them).  Any time
1531              received by that player will then be divided by that factor.
1532
1533   Adjudications
1534       Pops up a sub-menu where you can enable or  disable  various  adjudica‐
1535       tions  that  XBoard  can  perform  in engine-engine games.  The shifted
1536       `Alt+J' key is a keyboard equivalent.
1537
1538       Detect all Mates
1539              When this option is set XBoard will terminate the game on check‐
1540              mate  or  stalemate,  even if the engines would not do so.  Only
1541              works when `Test Legality' is on.
1542
1543       Verify Engine Result Claims
1544              When this option is set XBoard will verify engine result claims,
1545              (forfeiting engines that make false claims), rather than naively
1546              beleiving the engine.  Only works when `Test Legality' is on.
1547
1548       Draw if Insufficient Mating Material
1549              When this option is set XBoard will terminate games with a  draw
1550              result  when  so  little  material is left that checkmate is not
1551              longer possible.  In normal Chess this applies to KK,  KNK,  KBK
1552              and  some positions with multiple Bishops all on the same square
1553              shade.  Only works when `Test Legality' is on.
1554
1555       Adjudicate Trivial Draws
1556              When this option is set XBoard will terminate games with a  draw
1557              result in positions that could only be won against an idiot.  In
1558              normal Chess this applies to KNNK, KRKR, KBKN,  KNKN,  and  KBKB
1559              with  Bishops  on  different  square  shades.  KQKQ will also be
1560              adjudicated a draw (possibly  unjustly  so).   Only  works  when
1561              `Test Legality' is on.
1562
1563       N-Move Rule
1564              When  this  option  is  set to a value differnt from zero XBoard
1565              will terminate games with a draw result after the specified num‐
1566              ber  of  reversible moves (i.e. without captures or pawn pushes)
1567              is made.
1568
1569       N-fold Repeats
1570              When this option is set to a value larger than  1,  XBoard  will
1571              terminate  games  with  a draw result when the same position has
1572              occurred the specified number of times.
1573
1574       Draw after N Moves Total
1575              When this option is set to a value different from  zero,  XBoard
1576              will  terminate  games  with a draw result after that many moves
1577              have been played.  Useful in automated engine-engine matches, to
1578              prevent  one game between stubborn engines will soak up all your
1579              computer time.
1580
1581       Win / Loss Threshold
1582              When this option is set to a value different from  zero,  XBoard
1583              will  terminate games as a win when both engines agree the score
1584              is above the specified value  (interpreted  as  centi-Pawn)  for
1585              three successive moves.
1586
1587       Negate Score of Engine #1
1588       Negate Score of Engine #2
1589              These  options  should  be  used with engines that report scores
1590              from the white point of view, rather than the  side-to-move  POV
1591              as  XBoard  would otherwise assume when adjudicating games based
1592              on the engine score.  When the  engine  is  installed  with  the
1593              extra  option  `firstScoreIsAbs'  true  in  the  engine list the
1594              option would be automatically set  when  the  engine  is  loaded
1595              throuhgh  the Engine menu, or with the `fe' or `se' command-line
1596              option.
1597
1598   ICS Options
1599       Pops up a menu dialog where options can  be  set  that  affect  playing
1600       against an Internet Chess Server.
1601
1602       Auto-Kibitz
1603              Setting  this option when playing with or aginst a chess program
1604              on an ICS will cause the last line of  thinking  output  of  the
1605              engine  before  its  move to be sent to the ICS in a kibitz com‐
1606              mand.  In addition, any kibitz message received through the  ICS
1607              from  an  opponent chess program will be diverted to the engine-
1608              output window, (and suppressed in the console),  where  you  can
1609              play through its PV by right-clicking it.
1610
1611       Auto-Comment
1612              If  this  option  is  on,  any remarks made on ICS while you are
1613              observing or playing a game are recorded as  a  comment  on  the
1614              current  move.  This includes remarks made with the ICS commands
1615              `say', `tell', `whisper',  and  `kibitz'.   Limitation:  remarks
1616              that you type yourself are not recognized; XBoard scans only the
1617              output from ICS, not the input you type to it.
1618
1619       Auto-Observe
1620              If this option is on and you add a player to your `gnotify' list
1621              on  ICS,  XBoard will automatically observe all of that player's
1622              games, unless you are doing something else (such as observing or
1623              playing a game of your own) when one starts.  The games are dis‐
1624              played from the point of view of  the  player  on  your  gnotify
1625              list;  that  is,  his  pawns  move from the bottom of the window
1626              towards the top.  Exceptions:  If both players in a game are  on
1627              your gnotify list, if your ICS `highlight' variable is set to 0,
1628              or if the ICS you are using does not properly support  observing
1629              from  Black's  point of view, you will see the game from White's
1630              point of view.
1631
1632       Auto-Raise Board
1633              If this option is on, whenever a new game begins, the chessboard
1634              window is deiconized (if necessary) and raised to the top of the
1635              stack of windows.
1636
1637       Auto Save
1638              If this option is true, at the end of every game XBoard  prompts
1639              you for a file name and appends a record of the game to the file
1640              you specify.  Disabled if the `saveGameFile' command-line option
1641              is  set,  as  in  that case all games are saved to the specified
1642              file.  See Load and Save options.
1643
1644       Background Observe while Playing
1645              Setting this option will make XBoard  suppress  display  of  any
1646              boards  from  observed games while you are playing.  Instead the
1647              last such board will be remembered, and shown to  you  when  you
1648              right-click the board.  This allows you to peek at your bughouse
1649              partner's game when you want, without disturbing your  own  game
1650              too much.
1651
1652       Dual Board for Background-Observed Game
1653              Setting  this  option  in  combination with `Background Observe'
1654              will display boards of observed games while you are playing on a
1655              second board next to that of your own game.
1656
1657       Get Move List
1658              If  this  option is on, whenever XBoard receives the first board
1659              of a new ICS game (or a different game from the one it  is  cur‐
1660              rently displaying), it retrieves the list of past moves from the
1661              ICS.  You can then review  the  moves  with  the  `Forward'  and
1662              `Backward'  commands  or  save them with `Save Game'.  You might
1663              want to turn off this option if you are observing several  blitz
1664              games  at  once, to keep from wasting time and network bandwidth
1665              fetching the move lists over  and  over.   When  you  turn  this
1666              option  on  from  the  menu, XBoard immediately fetches the move
1667              list of the current game (if any).
1668
1669       Quiet Play
1670              If this option is on, XBoard will  automatically  issue  an  ICS
1671              `set shout 0' command whenever you start a game and a `set shout
1672              1' command whenever you finish one.  Thus, you will not be  dis‐
1673              tracted by shouts from other ICS users while playing.
1674
1675       Seek Graph
1676              Setting  this  option  will  cause XBoard to display an graph of
1677              currently active seek ads when you left-click  the  board  while
1678              idle and logged on to an ICS.
1679
1680       Auto-Refresh Seek Graph
1681              In  combination  with  the  `Seek  Graph' option this will cause
1682              automatic update of the seek graph while it is  up.   This  only
1683              works on FICS and ICC, and requires a lot of bandwidth on a busy
1684              server.
1685
1686       Auto-InputBox PopUp
1687              Controls whether the ICS Input Box  will  pop  up  automatically
1688              when  you  type a printable character to the board window in ICS
1689              mode.
1690
1691       Quit After Game
1692              Controls whether XBoard will automatically disconnect  from  the
1693              ICS and close when the game currently in progress finishes.
1694
1695       Premove
1696       Premove for White
1697       Premove for Black
1698       First White Move
1699       First Black Move
1700              If  the  `Premove'  option is on while playing a game on an ICS,
1701              you can register your next planned move before it is your  turn.
1702              Move  the  piece  with  the  mouse  in the ordinary way, and the
1703              starting and ending squares will be highlighted with  a  special
1704              color  (red  by  default).  When it is your turn, if your regis‐
1705              tered move is legal, XBoard will send it to ICS immediately;  if
1706              not,  it  will be ignored and you can make a different move.  If
1707              you change your mind about your premove, either make a different
1708              move, or double-click on any piece to cancel the move entirely.
1709
1710              You  can also enter premoves for the first white and black moves
1711              of the game.
1712
1713       Alarm
1714       Alarm Time
1715              When this option is on, an alarm sound is played when your clock
1716              counts  down  to  the `Alarm Time' in an ICS game.  (By default,
1717              the time is 5 seconds, but you can specify other values with the
1718              Alarm  Time  spin  control.)   For games with time controls that
1719              include an increment, the alarm will sound each time  the  clock
1720              counts down to the icsAlarmTime.  By default, the alarm sound is
1721              the terminal bell, but on some systems you can change  it  to  a
1722              sound file using the soundIcsAlarm option; see below.
1723
1724       Colorize Messages
1725              Ticking  this options causes various types of ICS messages do be
1726              displayed with different foreground or background colors in  the
1727              console.  The colors can be individually selected for each type,
1728              through the accompanying text edits.
1729
1730       -icsMenu string
1731              The string defines buttons for the `ICS text menu'.  Each button
1732              definition consists of two semi-colon-terminated pieces of text,
1733              the first giving the label to be written on the button, the sec‐
1734              ond  the text that should be sent to the ICS when that button is
1735              pressed.  This second part (the  'message')  can  contain  line‐
1736              feeds,  so that you can send multiple ICS commands with one but‐
1737              ton.  Some message in the text, all starting with a $-sign,  are
1738              treated  special.   When  the message contains '$input', it will
1739              not be sent directly to the ICS, but will be put  in  the  input
1740              field  of  the  `ICS  Chat/Console', with the text cursor at the
1741              indicated place, so you can addsome text to the  message  before
1742              sending it off.  If such a message starts with '$add' it will be
1743              placed behind any text that is  already  present  in  the  input
1744              field,  otherwise  this  field  will be cleared first.  The word
1745              '$name' occurring in the message will be replaced  by  the  word
1746              that  was  clicked  (through  button 3) in the ICS Chat/Console.
1747              There are two special messages: '$chat' will  open  a  new  chat
1748              with  the  clicked word in the chat-partner field, while '$copy'
1749              will copy the text that is currently-selected in the ICS Console
1750              to  the  clipboard.  An example of a text menu as it might occur
1751              in your settings file (where you could edit it):
1752
1753                  -icsMenu {copy;$copy;
1754                  list players;who;
1755                  list games;games;
1756                  finger (player);finger $name;
1757                  bullet (player);match $name 1 1 r;
1758                  blitz (player);match $name 5 1 r;
1759                  rapid (player);match $name 30 0 r;
1760                  open chat (player);$chat;
1761                  tell (player);tell $name $input;
1762                  ask pieces;ptell Please give me a $input;
1763                  P;$add Pawn $input;
1764                  N;$add Knight $input;
1765                  B;$add Bishop $input;
1766                  R;$add Rook $input;
1767                  Q;$add Queen $input;
1768                  }
1769
1770   Tournament Options
1771       Summons a dialog where you can set options important for playing  auto‐
1772       matic  matches  between  two  or more chess programs (e.g. by using the
1773       `Machine Match' menu item in the `Mode' menu).
1774
1775       Tournament file
1776              To run a tournament, XBoard needs a file to record its progress,
1777              so  it  can resume the tourney when it is interrupted.  When you
1778              want to conduct anything more complex than a  simple  two-player
1779              match with the currently loaded engines, (i.e. when you select a
1780              list of participants), you must  not  leave  this  field  blank.
1781              When  you  enter the name of an existing tournament file, XBoard
1782              will ignore all other input specified in the  dialog,  and  will
1783              take  the  corresponding  info  from that tournament file.  This
1784              resumes an interrupted tournament, or adds another XBoard  agent
1785              playing games for it to those that are already doing so.  Speci‐
1786              fying a not-yet-existing file will cause XBoard  to  create  it,
1787              according  to the tournament parameters specified in the rest of
1788              the dialog, before it starts the tournament on  ‘OK’.   Provided
1789              that  you  specify participants; without participants no tourna‐
1790              ment file will be made, but other entered values (e.g.  for  the
1791              file with opening positions) will take effect.  Default: config‐
1792              ured by the `defaultTourneyName' option.
1793
1794       Sync after round
1795       Sync after cycle
1796              The sync options, when on, will cause WinBoard to  refrain  from
1797              starting  games  of  the next round or cycle before all games of
1798              the previous round or cycle are finished.  This guarantees  cor‐
1799              rect  ordering  in  the  games  file,  even when multiple XBoard
1800              instances are concurrently playing games for the  same  tourney.
1801              Default: sync after cycle, but not after round.
1802
1803       Select Engine
1804       Tourney participants
1805              From  the Select Engine listbox you can pick an engine from your
1806              list of engines registered in the settings file, to be added  to
1807              the  tournament.   The engines selected so far will be listed in
1808              the ‘Tourney participants’ memo.  The latter is  a  normal  text
1809              edit,  so  you  can  use normal text-editing functions to delete
1810              engines you selected accidentally, or change their order.   Typ‐
1811              ing  names  here yourself is not recommended, because names that
1812              do not exactly match one of the names from the selection listbox
1813              will lead to undefined behavior.
1814
1815       Tourney type
1816              Here  you can specify the type of tournament you want.  XBoard’s
1817              intrinsic tournament manager support round-robins  (type  =  0),
1818              where  each  participant  plays  every  other  participant,  and
1819              (multi-)gauntlets, where one  (or  a  few)  so-called  ‘gauntlet
1820              engines’  play  an  independent set of opponents.  In the latter
1821              case, you specify the number of gauntlet engines.  E.g.  if  you
1822              specified  10 engines, and tourney type = 2, the first 2 engines
1823              each play the remaining 8.  A value of -1  instructs  XBoard  to
1824              play  Swiss; for this to work an external pairing engine must be
1825              specified through the `pairingEngine' option.  Each Swiss  round
1826              will be considered a tourney cycle in that case.  Default:0
1827
1828       Number of tourney cycles
1829       Default Number of Games in Match
1830              You  can  specify  tourneys  where every two opponents play each
1831              other multiple times.  Such multiple games can be  played  in  a
1832              row,  as  specified  by the ‘number of games per pairing’, or by
1833              repeating the entire  tournament  schedule  a  number  of  times
1834              (specified by the ‘number of tourney cycles’).  The total number
1835              of times two engines meet will be  the  product  of  these  two.
1836              Default  is 1 cycle; the number of games per pairing is the same
1837              as the default number of match games, stored  in  your  settings
1838              file through the `defaultMatchGames' option.
1839
1840       Pause between Match Games
1841              Time  (in  milliseconds) XBoard waits before starting a new game
1842              after a previous match or  tournament  game  finishes.   Such  a
1843              waiting  period  is  important  for  engines that do not support
1844              'ping', as these sometimes still produce a move long  after  the
1845              game  finished because of the opponent resigning, which would be
1846              mistaken for a move  in  the  next  game  if  that  had  already
1847              started.
1848
1849       Save Tourney Games on
1850              File where the tournament games are saved (duplicate of the item
1851              in the `Save Game Options').
1852
1853       Game File with Opening Lines
1854       File with Start Positions
1855       Game Number
1856       Position Number
1857       Rewind Index after this many Games
1858              These items optionally specify the file with move  sequences  or
1859              board positions the tourney games should start from.  The corre‐
1860              sponding numbers specify the number of the game or  position  in
1861              the  file.  Here a value -1 means automatic stepping through all
1862              games on the file, -2 automatic stepping every two  games.   The
1863              Rewind-Index  parameter  causes a stepping index to reset to one
1864              after reaching a specified value.  A setting of -2 for the  game
1865              number will also be effective in a tournament without specifying
1866              a game file, but playing from the GUI  book  instead.   In  this
1867              case  the  first (odd) games will randomly select from the book,
1868              but the second (even) games will select the same moves from  the
1869              book as the previous game.  (Note this leads to the same opening
1870              only if both engines use the GUI book!)   Default:  No  game  or
1871              position  file will be used. The default index if such a file is
1872              used is 1.
1873
1874       Disable own engine books by default
1875              Setting this option reverses the default situation  for  use  of
1876              the  GUI  opening  book in tournaments from what it normally is,
1877              namely not using it.  So unless the engine is installed with  an
1878              option  to  explicitly  specify  it  should not use the GUI book
1879              (i.e. `-firstHasOwnBookUCI true'), it will be made  to  use  the
1880              GUI book.
1881
1882       Replace Engine
1883       Upgrade Engine
1884              With  these  two  buttons  you  can alter the participants of an
1885              already running tournament.  After  opening  the  Match  Options
1886              dialog  on  an  XBoard that is playing for the tourney, you will
1887              see all the tourney parameters in the dialog  fields.   You  can
1888              then  replace the name of one engine by that of another by edit‐
1889              ing the `participants' field.  (But preserve the  order  of  the
1890              others!)   Pressing the button after that will cause the substi‐
1891              tution.  With the `Upgrade Engine' button the substitution  will
1892              only  affect  future games.  With `Replace Engine' all games the
1893              substituted engine has already played will be  invalidated,  and
1894              they  will be replayed with the substitute engine.  In this lat‐
1895              ter case the engine must not be playing when you  do  this,  but
1896              otherwise there is no need to pause the tournament play for mak‐
1897              ing a substitution.
1898
1899       Clone Tourney
1900              Pressing this button after you have specified an existing  tour‐
1901              nament  file will copy the contents of the latter to the dialog,
1902              and then puts the originally proposed name for the tourney  file
1903              back.  You can then run a tourney with the same parameters (pos‐
1904              sibly after changing the proposed name of the tourney  file  for
1905              the new tourney) by pressing 'OK'.
1906
1907       Continue Later
1908              Pressing  the `Continue Later' button confirms the current value
1909              of all items in the dialog and closes it, but will not automati‐
1910              cally  start  the  tournament.  This allows you to return to the
1911              dialog later without losing the settings you already entered, to
1912              adjust  paramenters  through  other  menu dialogs.  (The `Common
1913              Engine Setting', `Time Control' and  `General  Options'  dialogs
1914              can  be accessed without closing the `Tournament Options' dialog
1915              through the respective buttons at the bottom of the latter.)
1916
1917   Load Game Options
1918       Summons a dialog where you can set  options  that  control  loading  of
1919       games.
1920
1921       Auto-Display Tags
1922              Setting this option causes a window to pop up on loading a game,
1923              displaying the PGN Tags for that game.
1924
1925       Auto-Display Comment
1926              Setting this option causes a window to pop up whenever there  is
1927              a comment to (or variation on) the currently displayed move.
1928
1929       Auto-Play speed of loaded games
1930              This  option  sets  the  number  of seconds between moves when a
1931              newly loaded game is auto-playing.  A decimal  fraction  on  the
1932              number  is  understood.   Setting  it  to -1 disables auto-play,
1933              staying in the start position of the game after the loading com‐
1934              pletes.   Setting it to 0 will instantly move to the final posi‐
1935              tion of the game.  The `Auto-Play speed' is also used to  deter‐
1936              mine  the  analysis  time  for  each move during `Analyze Game'.
1937              Note that auto-playing (including game analysis) can be  stopped
1938              at any time through the `P' button above the board.
1939
1940       options to use in game-viewer mode
1941              Specifies  the  options automatically set when XBoard is invoked
1942              with the option `-viewer' on its command line,  as  will  happen
1943              when it is started in response to clicking a PGN game file.  The
1944              default setting would start XBoard without engine  (due  to  the
1945              `-ncp'  option),  but if you want it to automatically start with
1946              your favorite engine, and  automatically  start  analyzing,  you
1947              could  include  the  necessary  options for that here (e.g. `-fe
1948              <engine> -initialMode analysis').
1949
1950       Thresholds for position filtering in game list
1951              The following options can be set to limit the display  of  games
1952              in  the  `Game  List' window to a sub-set, meeting the specified
1953              criteria.
1954
1955       Elo of strongest player at least
1956
1957       Elo of weakest player at least
1958              Games with an Elo tag specifying a lower  rating  for  the  men‐
1959              tioned player will not be diplayed in the `Game List'.
1960
1961       No games before year
1962              Games  with  a  Date  tag  before the specified year will not be
1963              diplayed in the `Game List'.
1964
1965       Final nr of pieces
1966              A single number or a range (like 8-10) can be entered here,  and
1967              will cause only games where the number of men in the final posi‐
1968              tion is in the given range will be diplayed in the `Game List'.
1969
1970       Minimum nr consecutive positions
1971              Specifies for how many  consecutive  positions  the  more  fuzzy
1972              position-matching  criteria  have  to  be  satisfied in order to
1973              count as a match.
1974
1975       Search mode
1976       find position
1977              XBoard can select games for display in the `Game List' based  on
1978              whether  (in  addition  to  the conditions on the PGN tags) they
1979              contain a position that matches the position currently displayed
1980              on  the  board, by pressing the `find position' or `narrow' but‐
1981              tons in the `Game  List'  window.   The  `Search  mode'  setting
1982              determines  what  counts  as match.  You can search for an exact
1983              match, a position that has all shown material in the same place,
1984              but  might  contain additional material, a position that has all
1985              Pawns in the same place, but can have the  shown  material  any‐
1986              where, a position that     can have all shown material anywhere,
1987              or a position that has material between certain limits anywhere.
1988              For  the  latter  you have to place the material that must mini‐
1989              mally be present in the four lowest  ranks  of  the  board,  and
1990              optional  additional  material  in the four highest ranks of the
1991              board.  You can request the optional material  to  be  balanced,
1992              i.e. equal for white and black.
1993
1994       narrow The `narrow' button is similar in fuction to the `find position'
1995              button, but only searches in the already selected games,  rather
1996              than  the  complete  game file, and can thus be used to refine a
1997              search based on multiple criteria.
1998
1999       Also match reversed colors
2000       Also match left-right flipped position
2001              When looking for matching positions  rather  than  by  material,
2002              these  settings  determine  whether  mirror images (in case of a
2003              vertical flip in combination with color reversal) will  be  also
2004              considered  a  match.   The  left-right  flipping is only useful
2005              after all castling rights have expired (or in Xiangqi).
2006
2007   Save Game Options
2008       Summons a dialog where you can specify whether XBoard should  automati‐
2009       cally  save  files  of  games when they finish, and where and how to do
2010       that.
2011
2012       Auto-Save Games
2013              When set XBoard will automatically save games on a file as  they
2014              finish.   (Not  when  you  abort  them  by  pressing `New Game',
2015              though!)  It will either prompt you for a filename, or  use  the
2016              file specified  by the `saveGameFile' option.
2017
2018       Own Games Only
2019              Setting  this option will exclude games by others observed on an
2020              Internet Chess Server from automatic saving.
2021
2022       Save Games on File
2023              Name of the file on which games should be  saved  automatically.
2024              Games  are always appended to the file, and will never overwrite
2025              anything.
2026
2027       Save Final Position on File
2028              When a name is defined, the  final  position  of  each  game  is
2029              appended to the mentioned file.
2030
2031       PGN Event Header
2032              Specifies the name of the event used in the PGN event tag of new
2033              games that you create.
2034
2035       Old Save Style
2036              Saves games in an obsolete and now long forgotten format, rather
2037              than as PGN. Never use this for orthodox Chess!
2038
2039       Include Number Tag in tourney PGN
2040              When  on this option will cause the non-standard 'Number' tag to
2041              be written in any game saved in PGN format.  It will contain the
2042              unique  number  of  the game in the tourney.  (As opposed to the
2043              'Round' tag, which can be shared by many games.)
2044
2045       Save Score/Depth Info in PGN
2046              When on this option will cause the score and depth at  which  it
2047              was  calculated by an engine, and (when available) thinking time
2048              to be saved with the move as a comment to the move, in the  for‐
2049              mat  {score/depth  time}.  Here 'score'is in pawn units from the
2050              point of view of the player that made the move, with two  digits
2051              behind the decimal Pawn.
2052
2053       Save Out-of-Book Info in PGN
2054              When  on  this  option  causes  the  score of the first move the
2055              engine made after coming out of book in an 'Annotator' PGN tag.
2056
2057   Game List
2058       Pops up a dialog where you can select the PGN tags that  should  appear
2059       on the lines in the `Game List', and their order.
2060
2061
2062   Sound Options
2063       Summons a dialog where you can specify the sounds that should accompany
2064       various events that can occur in XBoard.  Most events are only relevant
2065       to  ICS  play,  but the move sound is an important exception.  For each
2066       event listed in the dialog, you can select  a  standard  sound  from  a
2067       menu.
2068
2069       Sound Program
2070              Specifies  the command XBoard should invoke to play sounds.  The
2071              specified text will be suffixed by the name of the  sound  file,
2072              and then run as a command.
2073
2074       Sounds Directory
2075              Specifies  the  directory  where XBoard will look for files with
2076              the names of the standard sounds.
2077
2078       User WAV File
2079              When we type a filename here, it can be assigned to  the  events
2080              by selecting `Above WAV File' from the drop downs.
2081
2082       Try-Out Sound
2083       Play   The  'event'  triggering  the  Try-Out  sound is pressing of the
2084              `Play' button behind it.  This allows you to judge the sounds.
2085
2086   Save Settings Now
2087       Selecting this menu item causes the current XBoard settings to be writ‐
2088       ten  to  the settings file, (.xboardrc in your home directory), so they
2089       will also apply in  future  sessions.   Note  that  some  settings  are
2090       'volatile', and are not saved, because XBoard considers it too unlikely
2091       that you want those to apply next time.  In particular this applies  to
2092       the  Chess  program,  and all options giving information on those Chess
2093       programs (such as their directory, if they have their own opening book,
2094       if  they  are  UCI  or  native XBoard), or the variant you are playing.
2095       Such options would still be understood when they appear in the settings
2096       file  in  case  they  were put there with the aid of a text editor, but
2097       they would disappear from the file as soon as you save the settings.
2098
2099       Note that XBoard no longer pays attention to options  values  specified
2100       in  the  .Xresources  file.   (Specifying key bindings there will still
2101       work, though.)  To alter the default of volatile options, you  can  use
2102       the  following  method:  Rename  your  ~/.xboardrc  settings  file  (to
2103       ~/.yboardrc, say), and create a new file ~/.xboardrc, which  only  con‐
2104       tains the options
2105
2106           -settingsFile  ~/.yboardrc
2107           -saveSettingsFile  ~/.yboardrc
2108
2109       This will cause your settings to be saved on ~/.yboardrc in the future,
2110       so that ~/.xboardrc is no longer  overwritten.   You  can  then  safely
2111       specify  volatile  options  in  ~/.xboardrc, either before or after the
2112       settingsFile options.  Note that when you  specify  persistent  options
2113       after  the  settingsFile  options  in this ~/.xboardrc, you will essen‐
2114       tially turn them into volatile options  with  the  specified  value  as
2115       default,  because  that  value  will overrule the value loaded from the
2116       settings file (being read later).
2117
2118
2119   Save Settings on Exit
2120       Setting this option has no immediate effect, but causes the settings to
2121       be saved when you quit XBoard. What happens then is otherwise identical
2122       to what happens when you use select "Save Settings Now", see there.
2123
2124
2125   Help Menu
2126       Info XBoard
2127              Displays the XBoard documentation in info format.  For this fea‐
2128              ture  to  work,  you must have the GNU info program installed on
2129              your system, and the file `xboard.info' must either  be  present
2130              in  the current working directory, or have been installed by the
2131              `make install' command when you built XBoard.
2132
2133       Man XBoard
2134              Displays the XBoard documentation in man page format.  The  `F1'
2135              key  is  a  keyboard  equivalent.  For this feature to work, the
2136              file `xboard.6' must have been installed by the  `make  install'
2137              command  when  you built XBoard, and the directory it was placed
2138              in must be on the search path for your system's `man' command.
2139
2140       About XBoard
2141              Shows the current XBoard version number.
2142
2143   Other Shortcut Keys
2144       Show Last Move
2145              By hitting `Enter' the last move will be re-animated.
2146
2147       Load Next Game
2148              Loads the next game from the last game record file  you  loaded.
2149              The `Alt+PgDn' key triggers this action.
2150
2151       Load Previous Game
2152              Loads  the  previous  game  from  the  last game record file you
2153              loaded.  The `Alt+PgUp' key triggers this action.  Not available
2154              if the last game was loaded from a pipe.
2155
2156       Reload Same Game
2157              Reloads  the  last  game  you loaded.  Not available if the last
2158              game was loaded from a pipe.  Currently no keystroke is assigned
2159              to this ReloadGameProc.
2160
2161       Reload Same Position
2162              Reloads the last position you loaded.  Not available if the last
2163              position was loaded from a  pipe.   Currently  no  keystroke  is
2164              assigned to this ReloadPositionProc.
2165
2166       In  the  Xaw  build of XBoard you can add or remove shortcut keys using
2167       the X resources `paneA.translations'.  Here is an example of what could
2168       go into your `.Xdefaults' file:
2169
2170           XBoard*paneA.translations: \
2171             Shift<Key>?: MenuItem(Help.About) \n\
2172             Ctrl<Key>y: MenuItem(Action.Accept) \n\
2173             Ctrl<Key>n: MenuItem(Action.Decline) \n\
2174             Ctrl<Key>i: MenuItem(Nothing)
2175
2176       So  the  key  should always be bound to the action 'MenuItem', with the
2177       (hierarchical) name of the menu item as  argument.   There  are  a  few
2178       actions  available  for  which  no  menu  item exists: Binding a key to
2179       `Nothing' makes it do nothing, thus removing  it  as  a  shortcut  key.
2180       Other such functions that can be bound to keys are:
2181
2182           AboutGame, DebugProc (switches the -debug option on or off),
2183           LoadNextGame, LoadPrevGame, ReloadGame, ReloadPosition.
2184
2185

OPTIONS

2187       This section documents the command-line options to XBoard.  You can set
2188       these options in two ways: by typing them on the shell command line you
2189       use  to  start  XBoard,  or  by  editing  the  settings  file  (usually
2190       ~/.xboardrc) to alter the value of the setting that  was  saved  there.
2191       Some  of  the options cannot be changed while XBoard is running; others
2192       set the initial state of items that can be  changed  with  the  Options
2193       menu.
2194
2195       Most  of  the options have both a long name and a short name. To turn a
2196       boolean option on or off from the command line, either  give  its  long
2197       name  followed  by the value true or false (`-longOptionName true'), or
2198       give just the short name to turn the option on (`-opt'), or  the  short
2199       name preceded by `x' to turn the option off (`-xopt'). For options that
2200       take strings or numbers as values, you can use the long or short option
2201       names interchangeably.
2202
2203
2204   Chess Engine Options
2205       -tc or -timeControl minutes[:seconds]
2206              Each  player  begins  with  his  clock  set to the `timeControl'
2207              period.  Default: 5 minutes.  The additional options `movesPerS‐
2208              ession' and `timeIncrement' are mutually exclusive.
2209
2210       -mps or -movesPerSession moves
2211              When  both  players  have  made  `movesPerSession'  moves, a new
2212              `timeControl' period is  added  to  both  clocks.   Default:  40
2213              moves.
2214
2215       -inc or -timeIncrement seconds
2216              If  this  option  is  specified,  `movesPerSession'  is ignored.
2217              Instead, after each player's move, `timeIncrement'  seconds  are
2218              added  to  his  clock.   Use `-inc 0' if you want to require the
2219              entire game to be played in one `timeControl'  period,  with  no
2220              increment.  Default: -1, which specifies `movesPerSession' mode.
2221
2222       -clock/-xclock or -clockMode true/false
2223              Determines whether or not to display the chess clocks. If clock‐
2224              Mode is false, the clocks are not shown, but the side that is to
2225              play  next  is  still  highlighted. Also, unless `searchTime' is
2226              set, the chess engine still keeps track of the  clock  time  and
2227              uses it to determine how fast to make its moves.
2228
2229       -shoMoveTime true/false
2230              When this option is set the time that has been thought about the
2231              current move will be displayed  behind  the  remaining  time  in
2232              parentheses (in seconds).  Default: false.
2233
2234       -st or -searchTime minutes[:seconds]
2235              Tells the chess engine to spend at most the given amount of time
2236              searching for each of its moves. Without this option, the  chess
2237              engine  chooses its search time based on the number of moves and
2238              amount of time remaining until the next time  control.   Setting
2239              this option also sets clockMode to false.
2240
2241       -depth or -searchDepth number
2242              Tells the chess engine to look ahead at most the given number of
2243              moves when searching for a move to make.  Without  this  option,
2244              the chess engine chooses its search depth based on the number of
2245              moves and amount of time remaining until the next time  control.
2246              With  the option, the engine will cut off its search early if it
2247              reaches the specified depth.
2248
2249       -firstNPS number
2250       -secondNPS number
2251              Tells the chess engine to use an internal time standard based on
2252              its  node count, rather then wall-clock time, to make its timing
2253              decisions.  The time in virtual seconds should  be  obtained  by
2254              dividing  the node count through the given number, like the num‐
2255              ber was a rate in nodes per  second.   Xboard  will  manage  the
2256              clocks  in  accordance with this, relying on the number of nodes
2257              reported by the engine in its thinking output. If the given num‐
2258              ber  equals  zero, it can obviously not be used to convert nodes
2259              to seconds, and the time reported  by  the  engine  is  used  to
2260              decrement  the  XBoard clock in stead. The engine is supposed to
2261              report in CPU time it uses, rather than wall-clock time, in this
2262              mode.  This  option  can  provide  fairer conditions for engine-
2263              engine matches on heavily loaded machines,  or  with  very  fast
2264              games  (where the wall clock is too inaccurate).  `showThinking'
2265              must be on for this option to work. Default: -1 (off).  Not many
2266              engines might support this yet!
2267
2268       -firstTimeOdds factor
2269       -secondTimeOdds factor
2270              Reduces the time given to the mentioned engine by the given fac‐
2271              tor.  If pondering is off, the effect is indistinguishable  from
2272              what would happen if the engine was running on an n-times slower
2273              machine. Default: 1.
2274
2275       -timeOddsMode mode
2276              This option determines  how  the  case  is  handled  where  both
2277              engines  have  a time-odds handicap.  If mode=1, the engine that
2278              gets the most time will always get the nominal time,  as  speci‐
2279              fied  by  the  time-control  options, and its opponent's time is
2280              renormalized accordingly.  If mode=0,  both  play  with  reduced
2281              time. Default: 0.
2282
2283       -hideThinkingFromHuman true/false
2284              Controls  the  Hide  Thinking option. See Options Menu. Default:
2285              true.  (Replaces the Show-Thinking option of older  xboard  ver‐
2286              sions.)
2287
2288       -thinking/-xthinking or -showThinking true/false
2289              Forces the engine to send thinking output to xboard.  Used to be
2290              the only way to control if  thinking  output  was  displayed  in
2291              older  xboard versions, but as the thinking output in xboard 4.3
2292              is also used for several other purposes  (adjudication,  storing
2293              in  PGN  file)  the  display  of it is now controlled by the new
2294              option Hide Thinking. See Options Menu. Default: false.  (But if
2295              xboard  needs the thinking output for some purpose, it makes the
2296              engine send it despite the setting of this option.)
2297
2298       -ponder/-xponder or -ponderNextMove true/false
2299              Sets the  Ponder  Next  Move  menu  option.  See  Options  Menu.
2300              Default: true.
2301
2302       -smpCores number
2303              Specifies the maximum number of CPUs an SMP engine is allowed to
2304              use.  Only works for engines that support  the  XBoard/WinBoard-
2305              protocol cores feature.
2306
2307       -mg or -matchGames n
2308              Automatically  runs  an  n-game match between two chess engines,
2309              with alternating colors.  If the  `loadGameFile'  or  `loadPosi‐
2310              tionFile'  option is set, XBoard starts each game with the given
2311              opening moves or the given position; otherwise, the games  start
2312              with the standard initial chess position.  If the `saveGameFile'
2313              option is set, a move record for the match is  appended  to  the
2314              specified  file.  If  the  `savePositionFile' option is set, the
2315              final position reached in each game of the match is appended  to
2316              the  specified file. When the match is over, XBoard displays the
2317              match score and exits. Default: 0 (do not run a match).
2318
2319       -mm/-xmm or -matchMode true/false
2320              Setting  `matchMode'  to   true   is   equivalent   to   setting
2321              `matchGames' to 1.
2322
2323       -sameColorGames n
2324              Automatically  runs  an  n-game match between two chess engines,
2325              without alternating colors.  Otherwise the same applies  as  for
2326              the `-matchGames' option, over which it takes precedence if both
2327              are specified. (See there.)  Default: 0 (do not run a match).
2328
2329       -epd   This option puts XBoard in a special mode for solving EPD  test-
2330              suites,  for  the  entire duration of the session.  In this mode
2331              games are aborted after a single move, and  that  move  will  be
2332              compared  with the best-move or avoid-move from the EPD position
2333              description from which the 'game' was started.  Playing  a  best
2334              move counts as a win, playing an avoid move as a loss, and play‐
2335              ing any other move counts as a draw.  This option should be used
2336              in  combination  with  match  mode,  and an EPD file of starting
2337              positions with an  auto-incrementing  index.   Color  assignment
2338              will be such that the first engine plays all moves, and the sec‐
2339              ond engine will be never involved.  The results  for  individual
2340              positions,  as  well  as the time used for solving them, will be
2341              reported in the lower pane of the Engine Output window.
2342
2343       -fcp or -firstChessProgram program
2344       -scp or -secondChessProgram program
2345              Name of first and second chess engine, respectively.   A  second
2346              chess engine is started only in Two Machines (match) mode, or in
2347              Analyze mode with two engines.  The second engine is by  default
2348              the  same  as  the first.  Default for the first engine: `fairy‐
2349              max'.
2350
2351       -fe or -firstEngine nickname
2352       -se or -secondEngine nickname
2353              This is an alternative to the `fcp' and `scp' options for speci‐
2354              fying the first and second engine, for engines that were already
2355              registered (using the `Load Engine' dialog) in XBoard's settings
2356              file.   It  will  not only retrieve the real name of the engine,
2357              but also all options configured with it.  (E.g. if  it  is  UCI,
2358              whether it should use book.)
2359
2360       -fb/-xfb or -firstPlaysBlack true/false
2361              In  games  between two chess engines, firstChessProgram normally
2362              plays white.  If this option is  true,  firstChessProgram  plays
2363              black.   In  a  multi-game match, this option affects the colors
2364              only for the first game;  they  still  alternate  in  subsequent
2365              games.
2366
2367       -fh or -firstHost host
2368       -sh or -secondHost host
2369              Hosts  on  which  the  chess engines are to run. The default for
2370              each is `localhost'. If you specify another  host,  XBoard  uses
2371              `rsh'  to run the chess engine there. (You can substitute a dif‐
2372              ferent remote shell program  for  rsh  using  the  `remoteShell'
2373              option described below.)
2374
2375       -fd or -firstDirectory dir
2376       -sd or -secondDirectory dir
2377              Working  directories  in  which the chess engines are to be run.
2378              The default is "", which means to run the chess  engine  in  the
2379              same  working  directory  as  XBoard  itself.  (See the CHESSDIR
2380              environment variable.)  This option is effective only  when  the
2381              chess engine is being run on the local host; it does not work if
2382              the engine is run remotely using the -fh or -sh option.
2383
2384       -initString string or -firstInitString
2385       -secondInitString string
2386              The string that is sent to initialize each chess  engine  for  a
2387              new game.  Default:
2388
2389                  new
2390                  random
2391
2392              Setting this option from the command line is tricky, because you
2393              must type in real newline characters, including one at the  very
2394              end.  In most shells you can do this by entering a `\' character
2395              followed by a newline.  Using the character sequence `\n' in the
2396              string should work too, though.
2397
2398              If you change this option, don't remove the `new' command; it is
2399              required by all chess engines to start a new game.
2400
2401              You can remove the `random' command if you  like;  including  it
2402              causes  GNU  Chess 4 to randomize its move selection slightly so
2403              that it doesn't play the same moves in every game.  Even without
2404              `random',  GNU  Chess  4 randomizes its choice of moves from its
2405              opening book.  Many other  chess  engines  ignore  this  command
2406              entirely and always (or never) randomize.
2407
2408              You  can  also  try adding other commands to the initString; see
2409              the documentation of the chess engine you are using for details.
2410
2411       -firstComputerString string
2412       -secondComputerString string
2413              The string that is sent to the chess engine if its  opponent  is
2414              another  computer  chess  engine.   The default is `computer\n'.
2415              Probably the only useful alternative is the empty  string  (`'),
2416              which  keeps  the engine from knowing that it is playing another
2417              computer.
2418
2419       -reuse/-xreuse or -reuseFirst true/false
2420       -reuse2/-xreuse2 or -reuseSecond true/false
2421              If the option is false, XBoard kills off the chess engine  after
2422              every game and starts it again for the next game.  If the option
2423              is true (the default), XBoard starts the chess engine only  once
2424              and  uses  it repeatedly to play multiple games.  Some old chess
2425              engines may not work properly when reuse is turned on, but  oth‐
2426              erwise games will start faster if it is left on.
2427
2428       -firstProtocolVersion version-number
2429       -secondProtocolVersion version-number
2430              This option specifies which version of the chess engine communi‐
2431              cation protocol to use.  By default, version-number  is  2.   In
2432              version  1,  the  "protover"  command is not sent to the engine;
2433              since version 1 is a subset of version 2, nothing else  changes.
2434              Other values for version-number are not supported.
2435
2436       -firstScoreAbs true/false
2437       -secondScoreAbs true/false
2438              If this option is set, the score reported by the engine is taken
2439              to be that in favor of white, even when the engine plays  black.
2440              Important  when  XBoard  uses the score for adjudications, or in
2441              PGN reporting.
2442
2443       -niceEngines priority
2444              This option allows you to lower the priority of the engine  pro‐
2445              cesses,  so that the generally insatiable hunger for CPU time of
2446              chess engines does not interfere so much with  smooth  operation
2447              of  XBoard  (or the rest of your system).  Negative values could
2448              increase the engine priority, which is not recommended.
2449
2450       -firstOptions string
2451       -secondOptions string
2452              The  given  string  is  a  comma-separated   list   of   (option
2453              name=option   value)   pairs,   like   the   following  example:
2454              "style=Karpov,blunder rate=0".  If an option  announced  by  the
2455              engine   at   startup   through  the  feature  commands  of  the
2456              XBoard/WinBoard protocol matches one of the option  names  (i.e.
2457              "style"  or  "blunder rate"), it would be set to the given value
2458              (i.e. "Karpov" or 0) through a corresponding option  command  to
2459              the  engine.   This provided that the type of the value (text or
2460              numeric) matches as well.
2461
2462       -firstNeedsNoncompliantFEN string
2463       -secondNeedsNoncompliantFEN string
2464              The castling rights and e.p. fields of the FEN sent to the  men‐
2465              tioned  engine with the setboard command will be replaced by the
2466              given string. This can for instance be used to run engines  that
2467              do not understand Chess960 FENs in variant fischerandom, to make
2468              them at least understand the opening position,  through  setting
2469              the  string  to  "KQkq  -". (Note you also have to give the e.p.
2470              field!)  Other possible applications are to provide work-arounds
2471              for  engines  that want to see castling and e.p. fields in vari‐
2472              ants that do not have  castling  or  e.p.   (shatranj,  courier,
2473              xiangqi,  shogi) so that XBoard would normally omit them (string
2474              = "- -"), or to add variant-specific fields  that  are  not  yet
2475              supported  by  XBoard  (e.g. to indicate the number of checks in
2476              3check).
2477
2478       -shuffleOpenings
2479              Forces shuffling of the opening setup in variants that  normally
2480              have  a  fixed  initial  position.  Shufflings are symmetric for
2481              black and white, and exempt King and Rooks in variants with nor‐
2482              mal castling.  Remains in force until a new variant is selected.
2483
2484       -fischerCastling
2485              Specifies Fischer castling (as in Chess960) should be enabled in
2486              variants that normally would not  have  it.   Remains  in  force
2487              until a new variant is selected.
2488
2489   UCI + WB Engine Settings
2490       -fUCI or -firstIsUCI true/false
2491       -sUCI or -secondIsUCI true/false
2492              Indicates  if  the  mentioned  engine  executable  file is a UCI
2493              engine, and should be run with the aid of the  Polyglot  adapter
2494              rather  than  directly.   Xboard  will  then  pass the other UCI
2495              options and engine name to Polyglot on its command line, accord‐
2496              ing to the option `adapterCommand'.
2497
2498       -fUCCI
2499       -sUCCI
2500       -fUSI
2501       -sUSI  Options  similar  to `fUCI' and `sUCI', except that they use the
2502              indicated engine with the  protocol  adapter  specified  in  the
2503              `uxiAdapter'  option.  This can then be configured for running a
2504              UCCI or USI adapter, as the need arises.
2505
2506       -adapterCommand string
2507              The string contains the command that should be issued by  XBoard
2508              to  start  an  engine  that is accompanied by the `fUCI' option.
2509              Any identifier following a percent sign  in  the  command  (e.g.
2510              %fcp)  will  be  considered the name of an XBoard option, and be
2511              replaced by the value of that option at the time the  engine  is
2512              started.   For  starting  the  second engine, any leading "f" or
2513              "first" in the option name will first  be  replaced  by  "s"  or
2514              "second",  before  finding its value.  Default: 'polyglot -noini
2515              -ec "%fcp" -ed "%fd"'
2516
2517       -uxiAdapter string
2518              Similar to `adapterCommand', but used for engines accompanied by
2519              the  `fUCCI' or `fUSI' option, so you can configure XBoard to be
2520              ready to handle more than one flavor  of  non-native  protocols.
2521              Default: ""
2522
2523       -polyglotDir filename
2524              Gives  the  name  of the directory in which the Polyglot adapter
2525              for UCI engines resides.  Default: "".
2526
2527       -usePolyglotBook true/false
2528              Specifies if the Polyglot book should be used as GUI book.
2529
2530       -polyglotBook filename
2531              Gives the filename of the opening book.  The book is  only  used
2532              when the `usePolyglotBook' option is set to true, and the option
2533              `firstHasOwnBookUCI' or `secondHasOwnBookUCI'  applying  to  the
2534              engine  is  set to false.  The engine will be kept in force mode
2535              as long as the current position is  in  book,  and  XBoard  will
2536              select the book moves for it. Default: "".
2537
2538       -fNoOwnBookUCI or -firstXBook or -firstHasOwnBookUCI true/false
2539       -sNoOwnBookUCI or -secondXBook or -secondHasOwnBookUCI true/false
2540              Indicates  if  the  mentioned engine has its own opening book it
2541              should play from, rather than using the  external  book  through
2542              XBoard.   Default: depends on setting of the option `discourage‐
2543              OwnBooks'.
2544
2545       -discourageOwnBooks true/false
2546              When set, newly loaded engines will be assumed to  use  the  GUI
2547              book,  unless  they  explicitly  specify differently.  Otherwise
2548              they will be assumed to not use the GUI book, unless the specify
2549              differently (e.g. with `firstXBook').  Default: false.
2550
2551       -bookDepth n
2552              Limits  the  use  of  the  GUI book to the first n moves of each
2553              side.  Default: 12.
2554
2555       -bookVariation n
2556              A value n from 0 to 100 tunes the choice of moves from  the  GUI
2557              books from totally random to best-only. Default: 50
2558
2559       -mcBookMode
2560              When this volatile option is specified, the probing algorithm of
2561              the GUI book is altered to always select the move that  is  most
2562              under-represented  based on its performance.  When all moves are
2563              played in approximately the right proportion, a book  miss  will
2564              be  reported,  to  give  the engine opportunity to explore a new
2565              move.  In addition score of the moves will be kept track of dur‐
2566              ing  the  session in a book buffer.  By playing an match in this
2567              mode, a book will be built from scratch.  The  only  output  are
2568              the saved games, which can be converted to an actual book later,
2569              with the `Save Games as Book' command.  The latter  command  can
2570              also be used to pre-fill the book buffer before adding new games
2571              based on the probing algorithm.
2572
2573       -fn string or -firstPgnName string
2574       -sn string or -secondPgnName string
2575              Indicates the name that should be used for  the  engine  in  PGN
2576              tags  of  engine-engine games.  Intended to allow you to install
2577              versions of the same engine with different settings,  and  still
2578              distinguish them.  Default: "".
2579
2580       -defaultHashSize n
2581              Sets  the  size  of the hash table to n MegaBytes. Together with
2582              the EGTB cache size this number is also used  to  calculate  the
2583              memory  setting  of XBoard/WinBoard engines, for those that sup‐
2584              port  the  memory  feature  of  the  XBoard/WinBoard   protocol.
2585              Default: 64.
2586
2587       -defaultCacheSizeEGTB n
2588              Sets  the  size  of the EGTB cache to n MegaBytes. Together with
2589              the hash-table size this number is also used  to  calculate  the
2590              memory  setting  of XBoard/WinBoard engines, for those that sup‐
2591              port  the  memory  feature  of  the  XBoard/WinBoard   protocol.
2592              Default: 4.
2593
2594       -defaultPathEGTB filename
2595              Gives  the  name  of the directory where the end-game tablebases
2596              are     installed,     for      UCI      engines.       Default:
2597              "/usr/local/share/egtb".
2598
2599       -egtFormats string
2600              Specifies  which  end-game tables are installed on the computer,
2601              and where.  The argument is a  comma-separated  list  of  format
2602              specifications,  each specification consisting of a format name,
2603              a   colon,   and   a   directory   path   name,    e.g.    "nal‐
2604              imov:/usr/local/share/egtb".  If the name part matches that of a
2605              format that the  engine  requests  through  a  feature  command,
2606              xboard  will  relay  the path name for this format to the engine
2607              through an egtpath command.  One egtpath command for each match‐
2608              ing  format  will  be  sent.   Popular formats are "nalimov" and
2609              "gaviota" DTM tablebases, syzygy DTZ  tablebases  and  "scorpio"
2610              bitbases.  Default: "".
2611
2612       -firstChessProgramNames={names}
2613              This  option  lets  you  customize the listbox with chess-engine
2614              names that appears in the `Load Engine' and `Tournament Options'
2615              dialog.   It  consists of a list of strings, one per line.  When
2616              an engine is loaded, the corresponding  line  is  prefixed  with
2617              "-fcp  ",  and  processed  like it appeared on the command line.
2618              That means that apart from the engine command,  it  can  contain
2619              any  number  of XBoard options you want to use with this engine.
2620              (Commonly used options here are -fd, -firstXBook, -fUCI,  -vari‐
2621              ant.)
2622
2623              The  value  of  this  option  is gradually built as you load new
2624              engines through the `Load Engine'  menu  dialog,  with  `Add  to
2625              list'  ticked.   To  change  it  in  other  ways, (e.g. deleting
2626              engines), use the menu item `Edit Engine List' in  the  `Engine'
2627              menu.
2628
2629   Tournament options
2630       -defaultMatchGames n
2631              Sets  the  number of games that will be used for a match between
2632              two engines started from the menu to n. Also used as  games  per
2633              pairing in other tournament formats.  Default: 10.
2634
2635       -matchPause n
2636              Specifies the duration of the pause between two games of a match
2637              or tournament between engines  as  n  milliseconds.   Especially
2638              engines  that  do  not support ping need this option, to prevent
2639              that the move they are thinking on when an opponent unexpectedly
2640              resigns  will  be counted for the next game, (leading to illegal
2641              moves there).  Default: 10000.
2642
2643       -tf filename or -tourneyFile filename
2644              Specifies the name of the tournament file used in match mode  to
2645              conduct  a multi-player tournament.  This file is a special set‐
2646              tings file, which  stores  the  description  of  the  tournament
2647              (including progress info), through normal options (e.g. for time
2648              control, load and save files), and through some  special-purpose
2649              options listed below.
2650
2651       -tt number or -tourneyType number
2652              Specifies   the   type  of  tourney:  0  =  round-robin,  N>0  =
2653              (multi-)gauntlet with N gauntlet engines,  -1  =  Swiss  through
2654              external pairing engine.  Volatile option, but stored in tourney
2655              file.
2656
2657       -cy number or -tourneyCycles number
2658              Specifies the number of cycles in a tourney.   Volatile  option,
2659              but stored in tourney file.
2660
2661       -participants list
2662              The  list  is  a  multi-line  text string that specifies engines
2663              occurring in the `firstChesProgramNames' list  in  the  settings
2664              file  by  their  (implied  or  explicitly  given) nicknames, one
2665              engine per line.  The mentioned engines will play in  the  tour‐
2666              ney.  Volatile option, but stored in tourney file.
2667
2668       -results string
2669              The  string  of  +=-  characters  lists the result of all played
2670              games in a tourney.  Games currently playing are  listed  as  *,
2671              while a space indicates a game that is not yet played.  Volatile
2672              option, but stored in tourney file.
2673
2674       -defaultTourneyName string
2675              Specifies the name of the tournament file XBoard should  propose
2676              when  the `Match Options' dialog is opened.  Any %y, %M, %d, %h,
2677              %m, %s in the string are replaced by the  current  year,  month,
2678              day  of  the month, hours, minutes, seconds of the current time,
2679              respectively, as two-digit number.  A %Y would  be  replaced  by
2680              the year as 4-digit number. Default: empty string.
2681
2682       -pairingEngine filename
2683              Specifies  the  external program to be used to pair the partici‐
2684              pants in Swiss tourneys.  XBoard communicates with  this  engine
2685              in the same way as it communicates with Chess engines.  The only
2686              commands sent to the pairing  engine  are  “results  N  string”,
2687              (where  N  is the number of participants, and string the results
2688              so far in the format of the results option),  and  “pairing  N”,
2689              (where  N is the number of the tourney game).  To the latter the
2690              pairing engine should answer with “A-B”, where A and B are  par‐
2691              ticipant  numbers (in the range 1-N).  (There should be no reply
2692              to the results command.) Default: empty string.
2693
2694       -afterGame string
2695       -afterTourney string
2696              When non-empty, the given string will be executed  as  a  system
2697              command  after  each  tournament game, or after the tourney com‐
2698              pletes, respectively.  This can be used, for example, to autmat‐
2699              ically  run  a cross-table generator on the PGN file where games
2700              are saved, to update the tourney standings.  Default: ""
2701
2702       -syncAfterRound true/false
2703       -syncAfterCycle true/false
2704              Controls whether different instances of XBoard concurrently run‐
2705              ning  the  same  tournament will wait for each other.  Defaults:
2706              sync after cycle, but not after round.
2707
2708       -seedBase number
2709              Used to store the seed of the pseudo-random-number generator  in
2710              the tourneyFile, so that separate instances of XBoard working on
2711              the same tourney can take coherent 'random' decisions,  such  as
2712              picking an opening for a given game number.
2713
2714   ICS options
2715       -ics/-xics or -internetChessServerMode true/false
2716              Connect  with an Internet Chess Server to play chess against its
2717              other users, observe games they are  playing,  or  review  games
2718              that have recently finished. Default: false.
2719
2720       -icshost or -internetChessServerHost host
2721              The Internet host name or address of the chess server to connect
2722              to when in ICS mode. Default: `chessclub.com'.  Another  popular
2723              chess  server  to  try is `freechess.org'.  If your site doesn't
2724              have a working Internet name server,  try  specifying  the  host
2725              address  in  numeric  form.   You  may  also need to specify the
2726              numeric address when using the icshelper option  with  timestamp
2727              or timeseal (see below).
2728
2729       -icsport or -internetChessServerPort port-number
2730              The  port number to use when connecting to a chess server in ICS
2731              mode. Default: 5000.
2732
2733       -icshelper or -internetChessServerHelper prog-name
2734              An external helper program used to communicate  with  the  chess
2735              server.  You would set it to "timestamp" for ICC (chessclub.com)
2736              or "timeseal" for FICS (freechess.org), after obtaining the cor‐
2737              rect  version  of  timestamp or timeseal for your computer.  See
2738              "help timestamp" on ICC  and  "help  timeseal"  on  FICS.   This
2739              option is shorthand for `-useTelnet -telnetProgram program'.
2740
2741       -telnet/-xtelnet or -useTelnet true/false
2742              This  option is poorly named; it should be called useHelper.  If
2743              set to true, it instructs XBoard to run an external  program  to
2744              communicate  with the Internet Chess Server.  The program to use
2745              is given by the telnetProgram option.  If the  option  is  false
2746              (the default), XBoard opens a TCP socket and uses its own inter‐
2747              nal implementation of the telnet protocol  to  communicate  with
2748              the ICS. See Firewalls.
2749
2750       -telnetProgram prog-name
2751              This  option is poorly named; it should be called helperProgram.
2752              It gives the name of the telnet program  to  be  used  with  the
2753              `gateway' and `useTelnet' options.  The default is `telnet'. The
2754              telnet  program  is  invoked   with   the   value   of   `inter‐
2755              netChessServerHost'  as  its  first  argument  and  the value of
2756              `internetChessServerPort' as its  second  argument.   See  Fire‐
2757              walls.
2758
2759       -gateway host-name
2760              If  this  option is set to a host name, XBoard communicates with
2761              the Internet Chess Server by using `rsh' to run the  `telnetPro‐
2762              gram'  on  the  given  host,  instead  of using its own internal
2763              implementation of the telnet protocol. You can substitute a dif‐
2764              ferent  remote  shell  program for `rsh' using the `remoteShell'
2765              option described below.  See Firewalls.
2766
2767       -internetChessServerCommPort or -icscomm dev-name
2768              If this option is set, XBoard communicates with the ICS  through
2769              the  given character I/O device instead of opening a TCP connec‐
2770              tion.  Use this option if your system does not have any kind  of
2771              Internet  connection itself (not even a SLIP or PPP connection),
2772              but you do have dial-up access (or a hardwired terminal line) to
2773              an  Internet  service  provider from which you can telnet to the
2774              ICS.
2775
2776              The support for this option in XBoard is minimal.  You  need  to
2777              set  all communication parameters and tty modes before you enter
2778              XBoard.
2779
2780              Use a script something like this:
2781
2782                  stty raw -echo 9600 > /dev/tty00
2783                  xboard -ics -icscomm /dev/tty00
2784
2785              Here replace `/dev/tty00' with the name of the device that  your
2786              modem  is  connected  to.  You  might  have  to add several more
2787              options to these stty commands. See the man pages for `stty' and
2788              `tty' if you run into problems. Also, on many systems stty works
2789              on its standard input instead of standard output, so you have to
2790              use `<' instead of `>'.
2791
2792              If  you  are  using  linux,  try starting with the script below.
2793              Change it as necessary for your installation.
2794
2795                  #!/bin/sh -f
2796                  # configure modem and fire up XBoard
2797
2798                  # configure modem
2799                  (
2800                    stty 2400 ; stty raw ; stty hupcl ; stty -clocal
2801                    stty ignbrk ; stty ignpar ; stty ixon ; stty ixoff
2802                    stty -iexten ; stty -echo
2803                  ) < /dev/modem
2804                  xboard -ics -icscomm /dev/modem
2805
2806              After you start XBoard in this way, type whatever  commands  are
2807              necessary  to  dial  out  to  your Internet provider and log in.
2808              Then telnet to ICS, using a command like  `telnet  chessclub.com
2809              5000'.   Important:  See the paragraph below about extra echoes,
2810              in Limitations.
2811
2812       -icslogon or -internetChessServerLogonScript file-name
2813              Whenever XBoard connects to the Internet  Chess  Server,  if  it
2814              finds  a  file  with the name given in this option, it feeds the
2815              file's contents to the ICS as commands. The default file name is
2816              `.icsrc'.   Usually  the  first  two lines of the file should be
2817              your ICS user name and password.  The  file  can  be  either  in
2818              $CHESSDIR, in XBoard's working directory if CHESSDIR is not set,
2819              or in your home directory.
2820
2821       -msLoginDelay delay
2822              If you experience trouble logging on to an ICS  when  using  the
2823              `-icslogon'  option,  inserting some delay between characters of
2824              the logon script may help. This option adds `delay' milliseconds
2825              of delay between characters. Good values to try are 100 and 250.
2826
2827       -icsinput/-xicsinput or -internetChessServerInputBox true/false
2828              Sets  the  ICS  Input  Box  menu option. See Mode Menu. Default:
2829              false.
2830
2831       -autocomm/-xautocomm or -autoComment true/false
2832              Sets the Auto Comment menu option. See  Options  Menu.  Default:
2833              false.
2834
2835       -autoflag/-xautoflag or -autoCallFlag true/false
2836              Sets  the  Auto  Flag  menu  option.  See Options Menu. Default:
2837              false.
2838
2839       -autobs/-xautobs or -autoObserve true/false
2840              Sets the Auto Observe menu option.  See Options  Menu.  Default:
2841              false.
2842
2843       -autoKibitz
2844              Enables  kibitzing  of  the engines last thinking output (depth,
2845              score, time, speed, PV) before it moved to  the  ICS,  in  zippy
2846              mode.  The  option  `showThinking'  must be switched on for this
2847              option to work.  Also diverts similar kibitz information  of  an
2848              opponent  engine  that  is  playing  you  through the ICS to the
2849              engine-output window, as if the engine was playing locally.
2850
2851       -seekGraph true/false or -sg
2852              Enables displaying of the seek graph by left-clicking the  board
2853              when  you  are logged on to an ICS and currently idle.  The seek
2854              graph show all players currently seeking games on the ICS, plot‐
2855              ted  according  to their rating and the time control of the game
2856              they seek, in three different colors  (for  rated,  unrated  and
2857              wild  games).   Computer ads are displayed as squares, human ads
2858              are dots.  Default: false.
2859
2860       -autoRefresh true/false
2861              Enables automatic updating of the seek graph, by having the  ICS
2862              send  a running update of all newly placed and removed seek ads.
2863              This consumes a substantial amount of  communication  bandwidth,
2864              and is only supported for FICS and ICC.  Default: false.
2865
2866       -backgroundObserve true/false
2867              When  true, boards sent to you by the ICS from other games while
2868              you are playing (e.g. because you are observing them)  will  not
2869              be  automatically  displayed.   Only  a summary of time left and
2870              material of both players will appear in the message field  above
2871              the  board.  XBoard will remember the last board it has received
2872              this way, and will display it instead of the  position  in  your
2873              own game when you press the right mouse button.  No other infor‐
2874              mation is stored on such games observed in the  background;  you
2875              cannot  save such a game later, or step through its moves.  This
2876              feature is provided solely for the benefit of bughouse  players,
2877              to  enable them to peek at their partner's game without the need
2878              to logon twice.  Default: false.
2879
2880       -dualBoard true/false
2881              In combination with -backgroundObserve true,  this  option  will
2882              display  the board of the background game side by side with that
2883              of your own game, so you can have it in view  permanently.   Any
2884              board  or  holdings info coming in will be displayed on the sec‐
2885              ondary board immediately.  This feature  is  still  experimental
2886              and  largely  unfinished.  There is no animation or highlighting
2887              of moves on the secondary board.  Default: false.
2888
2889       -disguisePromotedPieces true/false
2890              When set promoted Pawns  in  crazyhouse/bughouse  are  displayed
2891              identical  to  primordial  pieces  of the same type, rather than
2892              distinguishable.  Default: true.
2893
2894       -moves/-xmoves or -getMoveList true/false
2895              Sets the Get Move List menu option.  See Options Menu.  Default:
2896              true.
2897
2898       -alarm/-xalarm or -icsAlarm true/false
2899              Sets  the  ICS  Alarm  menu  option.  See Options Menu. Default:
2900              true.
2901
2902       -icsAlarmTime ms
2903              Sets the time in milliseconds for the  ICS  Alarm  menu  option.
2904              See Options Menu. Default: 5000.
2905
2906       lowTimeWarning true/false
2907              Controls  a  color change of the board as a warning your time is
2908              running out.  See Options Menu. Default: false.
2909
2910       -pre/-xpre or -premove true/false
2911              Sets the Premove menu option. See Options Menu. Default: true.
2912
2913       -prewhite/-xprewhite or -premoveWhite
2914       -preblack/-xpreblack or -premoveBlack
2915       -premoveWhiteText string
2916       -premoveBlackText string
2917              Set the menu options for specifying the first  move  for  either
2918              color.   See Options Menu. Defaults: false and empty strings, so
2919              no pre-moves.
2920
2921       -quiet/-xquiet or -quietPlay true/false
2922              Sets the Quiet Play menu option.  See  Options  Menu.   Default:
2923              false.
2924
2925       -colorizeMessages or -colorize/-xcolorize
2926              Setting  colorizeMessages  to  true tells XBoard to colorize the
2927              messages received from the ICS.  Colorization works only if your
2928              xterm  supports ISO 6429 escape sequences for changing text col‐
2929              ors.  Default: true.
2930
2931       -colorShout foreground,background,bold
2932       -colorSShout foreground,background,bold
2933       -colorCShout foreground,background,bold
2934       -colorChannel1 foreground,background,bold
2935       -colorChannel foreground,background,bold
2936       -colorKibitz foreground,background,bold
2937       -colorTell foreground,background,bold
2938       -colorChallege foreground,background,bold
2939       -colorRequest foreground,background,bold
2940       -colorSeek foreground,background,bold
2941       -colorNormal foreground,background,bold
2942              These options set the colors used when colorizing ICS  messages.
2943              All  ICS  messages  are  grouped  into  one of these categories:
2944              shout, sshout, channel 1, other  channel,  kibitz,  tell,  chal‐
2945              lenge, request (including abort, adjourn, draw, pause, and take‐
2946              back), or normal (all other messages).
2947
2948              Each foreground or background argument can be one of the follow‐
2949              ing:  black,  red, green, yellow, blue, magenta, cyan, white, or
2950              default.  Here ``default'' means the default foreground or back‐
2951              ground  color of your xterm.  Bold can be 1 or 0.  If background
2952              is omitted, ``default'' is assumed; if bold  is  omitted,  0  is
2953              assumed.
2954
2955
2956       -soundProgram progname
2957              If  this  option  is  set  to  a  sound-playing  program that is
2958              installed and working on your  system,  XBoard  can  play  sound
2959              files when certain events occur, listed below.  The default pro‐
2960              gram name is "play".  If any of the sound options is set to "$",
2961              the  event  rings the terminal bell by sending a ^G character to
2962              standard output, instead of playing a sound file.  If an  option
2963              is  set  to  the  empty  string  "", no sound is played for that
2964              event.
2965
2966       -soundDirectory directoryname
2967              This option specifies where XBoard will look  for  sound  files,
2968              when these are not given as an absolute path name.
2969
2970       -soundShout filename
2971       -soundSShout filename
2972       -soundCShout filename
2973       -soundChannel filename
2974       -soundChannel1 filename
2975       -soundKibitz filename
2976       -soundTell filename
2977       -soundChallenge filename
2978       -soundRequest filename
2979       -soundSeek filename
2980              These  sounds  are triggered in the same way as the colorization
2981              events described above.  They all default to "", no sound.  They
2982              are  played  only if the colorizeMessages is on.  CShout is syn‐
2983              onymous with SShout.
2984
2985       -soundMove filename
2986              This sound is played when a player other than yourself  makes  a
2987              move.  Default: "$".
2988
2989       -soundRoar filename
2990              This  sound  is played when a Lion makes a hit-and-run or double
2991              capture/ Default: "" (no sound).
2992
2993       -soundIcsAlarm filename
2994              This sound is used by the ICS Alarm menu option.  Default: "$".
2995
2996       -soundIcsWin filename
2997              This sound is played when you win an ICS game.  Default: ""  (no
2998              sound).
2999
3000       -soundIcsLoss filename
3001              This sound is played when you lose an ICS game.  Default: "" (no
3002              sound).
3003
3004       -soundIcsDraw filename
3005              This sound is played when you draw an ICS game.  Default: "" (no
3006              sound).
3007
3008       -soundIcsUnfinished filename
3009              This sound is played when an ICS game that you are participating
3010              in is aborted,  adjourned,  or  otherwise  ends  inconclusively.
3011              Default: "" (no sound).
3012
3013   Load and Save options
3014       -lgf or -loadGameFile file
3015       -lgi or -loadGameIndex index
3016              If  the `loadGameFile' option is set, XBoard loads the specified
3017              game file at startup. The file name `-' specifies  the  standard
3018              input.  If  there is more than one game in the file, XBoard pops
3019              up a menu of the available games, with entries  based  on  their
3020              PGN  (Portable  Game  Notation)  tags.   If  the `loadGameIndex'
3021              option is set to `N', the menu is suppressed and the N  th  game
3022              found  in the file is loaded immediately.  The menu is also sup‐
3023              pressed if `matchMode' is enabled or if the game file is a pipe;
3024              in these cases the first game in the file is loaded immediately.
3025              Use the `pxboard' shell script provided with XBoard if you  want
3026              to  pipe  in  files  containing multiple games and still see the
3027              menu.  If the loadGameIndex specifies an index -1, this triggers
3028              auto-increment  of  the  index  in `matchMode', which means that
3029              after every game the index is incremented by one,  causing  each
3030              game  of  the match to be played from the next game in the file.
3031              Similarly, specifying an index value of -2 causes the  index  to
3032              be incremented every two games, so that each game in the file is
3033              used twice (with reversed  colors).   The  `rewindIndex'  option
3034              causes  the index to be reset to the first game of the file when
3035              it has reached a specified value.
3036
3037       -rewindIndex n
3038              Causes a position file or game file to be rewound to its  begin‐
3039              ning  after  n positions or games in auto-increment `matchMode'.
3040              See `loadPositionIndex' and  `loadGameIndex'.   default:  0  (no
3041              rewind).
3042
3043       -td or -timeDelay seconds
3044              Time  delay  between moves during `Load Game' or `Analyze File'.
3045              Fractional seconds are allowed; try `-td  0.4'.   A  time  delay
3046              value of -1 tells XBoard not to step through game files automat‐
3047              ically. Default: 1 second.
3048
3049       -sgf or -saveGameFile file
3050              If this option is set, XBoard appends a  record  of  every  game
3051              played  to  the  specified file. The file name `-' specifies the
3052              standard output.
3053
3054       -autosave/-xautosave or -autoSaveGames true/false
3055              Sets the Auto Save menu option.   See  Options  Menu.   Default:
3056              false.  Ignored if `saveGameFile' is set.
3057
3058       -onlyOwnGames true/false
3059              Suppresses auto-saving of ICS observed games. Default: false.
3060
3061       -lpf or -loadPositionFile file
3062       -lpi or -loadPositionIndex index
3063              If the `loadPositionFile' option is set, XBoard loads the speci‐
3064              fied position file at startup. The file name `-'  specifies  the
3065              standard  input.  If the `loadPositionIndex' option is set to N,
3066              the Nth position found in the  file  is  loaded;  otherwise  the
3067              first position is loaded.  If the loadPositionIndex specifies an
3068              index -1, this triggers auto-increment of the index  in  `match‐
3069              Mode',  which  means  that  after every game the index is incre‐
3070              mented by one, causing each game of the match to be played  from
3071              the  next  position  in the file. Similarly, specifying an index
3072              value of -2 causes the index to be incremented every two  games,
3073              so  that  each  position  in  the  file  is used twice (with the
3074              engines playing  opposite  colors).   The  `rewindIndex'  option
3075              causes  the  index to be reset to the first position of the file
3076              when it has reached a specified value.
3077
3078       -spf or -savePositionFile file
3079              If this option is set, XBoard appends the final position reached
3080              in  every  game  played to the specified file. The file name `-'
3081              specifies the standard output.
3082
3083       -positionDir directory
3084              Specifies the directory where file browsing  should  start  when
3085              using the `Load Position' menu item.
3086
3087       -pgnExtendedInfo true/false
3088              If  this  option is set, XBoard saves depth, score and time used
3089              for each move that the engine found as  a  comment  in  the  PGN
3090              file.  Default: false.
3091
3092       -pgnTimeLeft true/false
3093              If this option is set, XBoard will save the remaining clock time
3094              for the player that has just moved as part of the  `pgnExtended‐
3095              Info', rather than the time that player thought about his latest
3096              move.  Default: false.
3097
3098       -pgnEventHeader string
3099              Default: false.  Sets the name used in  the  PGN  event  tag  to
3100              string.  Default: "Computer Chess Game".
3101
3102       -pgnNumberTag true/false
3103              Include  the  (unique) sequence number of a tournament game into
3104              the saved PGN file as a 'number' tag.  Default: false.
3105
3106       -saveOutOfBookInfo true/false
3107              Include the information on how the engine(s)  game  out  of  its
3108              opening  book  in  a  special 'annotator' tag with the PGN file.
3109              Default: true.
3110
3111       -oldsave/-xoldsave or -oldSaveStyle true/false
3112              Sets  the  Old  Save  Style  menu  option.   See  Options  Menu.
3113              Default: false.
3114
3115       -gameListTags string
3116              The  character  string lists the PGN tags that should be printed
3117              in the Game List, and their order. The meaning of the  codes  is
3118              e=event,  s=site,  d=date, o=round, p=players, r=result, w=white
3119              Elo, b=black Elo, t=time control, v=variant, a=out-of-book info,
3120              c=result comment.  Default: "eprd"
3121
3122       -ini or -settingsFile filename
3123       -saveSettingsFile filename
3124       @filename
3125              When  XBoard  encounters  an  option  -settingsFile (or -ini for
3126              short), or @filename, it tries to read the mentioned  file,  and
3127              substitutes  the  contents  of  it  (presumaby more command-line
3128              options) in place of the option.  In the case of -ini  or  -set‐
3129              tingsFile, the name of a successfully read settings file is also
3130              remembered as the file to use for saving settings (automatically
3131              on  exit,  or on user command).  An option of the form @filename
3132              does not affect saving.  The option -saveSettingsFile does spec‐
3133              ify  a  name  of the file to use for saving, without reading any
3134              options from it, and is thus also effective when  the  file  did
3135              not exist yet.  So the settings will be saved to the file speci‐
3136              fied in the last -saveSettingsFile or succesfull -settingsFile /
3137              -ini  command, if any, and in /etc/xboard/xboard.conf otherwise.
3138              Usualy the latter is only accessible for the system  administra‐
3139              tor,  though,  and  will  be used to contain system-wide default
3140              settings, amongst which a  -saveSettingsFile  and  -settingsFile
3141              options  to specify a settings file accessible to the individual
3142              user, such as ~/.xboardrc in the user's home directory.
3143
3144       -saveSettingsOnExit true/false
3145              Controls saving of options on the settings  file.   See  Options
3146              Menu.  Default: true.
3147
3148   User interface options
3149       -noGUI Suppresses  all  GUI  functions of XBoard (to speed up automated
3150              ultra-fast engine-engine games, which you don't want to  watch).
3151              There  will  be no board or clock updates, no printing of moves,
3152              and no update of the icon on the task bar in this mode.
3153
3154       -logoSize N
3155              This option controls the drawing of player  logos  next  to  the
3156              clocks.   The  integer N specifies the width of the logo in pix‐
3157              els; the logo height will always be half the width.  When N = 0,
3158              no logos will be diplayed.  Default: 0.
3159
3160       -firstLogo imagefile
3161       -secondLogo imagefile
3162              Specify the images to be used as player logos when `logoSize' is
3163              non-zero, next to the white and black clocks, respectively.
3164
3165       -autoLogo true/false
3166       -logoDir filename
3167              When `autoLogo' is set, XBoard will search for a PNG image  file
3168              with the name of the engine or ICS in the directory specified by
3169              `logoDir'.  For a human player it will look for  a  file  <user‐
3170              name>.png  in this directory, but only when ~/.logo.png does not
3171              provide one.
3172
3173       -recentEngines number
3174       -recentEngineList list
3175              When the number is larger than  zero,  it  determines  how  many
3176              recently  used  engines  will  be  appended at the bottom of the
3177              `Engines' menu.  The engines will be saved in your settings file
3178              as  the  option  `recentEngineList', by their nicknames, and the
3179              most recently used one will always be sorted to the top.  If the
3180              list  after  that  is longer than the specified number, the last
3181              one is discarded.  Changes in the list will only become  visible
3182              the next session, provided you saved the settings.  Default: 6.
3183
3184       -oneClickMove true/false
3185              When set, this option allows you to enter moves by only clicking
3186              the to- or from-square, when only a single legal move to or from
3187              that  square  is possible.  Double-clicking a piece (or clicking
3188              an already selected piece) will instruct that piece to make  the
3189              only capture it can legally do.  Default: false.
3190
3191       -monoMouse true/false
3192              When  set button 1 clicks on empty squares in Edit Position mode
3193              will be interpreted as button 3 clicks, so they place  a  piece.
3194              Default: false.
3195
3196       -movesound/-xmovesound or -ringBellAfterMoves true/false
3197              Sets  the  Move  Sound menu option.  See Options Menu.  Default:
3198              false.  For compatibility with old XBoard versions, -bell/-xbell
3199              are also accepted as abbreviations for this option.
3200
3201       -analysisBell N
3202              When N is non-zero, the Move Sound will be played whenever a new
3203              PV arrives in analysis mode after more than N seconds of  analy‐
3204              sis.  Default: 0.
3205
3206       -exit/-xexit or -popupExitMessage true/false
3207              Sets  the  Popup  Exit  Message  menu option.  See Options Menu.
3208              Default: true.
3209
3210       -popup/-xpopup or -popupMoveErrors true/false
3211              Sets the Popup Move  Errors  menu  option.   See  Options  Menu.
3212              Default: false.
3213
3214       -queen/-xqueen or -alwaysPromoteToQueen true/false
3215              Sets  the Always Queen menu option.  See Options Menu.  Default:
3216              false.
3217
3218       -sweepPromotions true/false
3219              Sets the `Almost Always Promote  to  Queen'  menu  option.   See
3220              Options Menu.  Default: false.
3221
3222       -legal/-xlegal or -testLegality true/false
3223              Sets the Test Legality menu option.  See Options Menu.  Default:
3224              true.
3225
3226       -size or -boardSize (sizeName | n1,n2,n3,n4,n5,n6,n7)
3227              Determines how large the board will be, by selecting  the  pixel
3228              size  of  the  pieces and setting a few related parameters.  The
3229              sizeName can be one of: Titanic, giving  129x129  pixel  pieces,
3230              Colossal  116x116,  Giant  108x108, Huge 95x95, Big 87x87, Large
3231              80x80, Bulky 72x72, Medium 64x64, Moderate 58x58, Average 54x54,
3232              Middling  49x49, Mediocre 45x45, Small 40x40, Slim 37x37, Petite
3233              33x33, Dinky 29x29, Teeny 25x25, or Tiny 21x21.  Xboard installs
3234              with  a  set  of scalable (svg) piece images, which it scales to
3235              any of the requested sizes.  The square size can further be con‐
3236              tinuously  scaled  by  sizing  the  board  window, but this only
3237              adapts the size of the pieces, and has no effect on the width of
3238              the grid lines or the font choice (both of which would depend on
3239              he selected boardSize).  The default depends on the size of your
3240              screen; it is approximately the largest size that will fit with‐
3241              out clipping.
3242
3243              You can select other sizes or vary other  layout  parameters  by
3244              providing  a  list of comma-separated values (with no spaces) as
3245              the argument.  You do not need to provide all  the  values;  for
3246              any  you  omit from the end of the list, defaults are taken from
3247              the nearest built-in size.  The value `n1' gives the piece size,
3248              `n2'  the  width  of  the black border between squares, `n3' the
3249              desired size for the clockFont, `n4' the desired  size  for  the
3250              coordFont,  `n5'  the desired size for the messageFont, `n6' the
3251              smallLayout flag (0 or 1), and `n7' the tinyLayout  flag  (0  or
3252              1).   All  dimensions  are  in  pixels.   If  the border between
3253              squares is eliminated (0 width), the various  highlight  options
3254              will  not  work,  as there is nowhere to draw the highlight.  If
3255              smallLayout is 1 and `titleInWindow' is true, the window  layout
3256              is rearranged to make more room for the title.  If tinyLayout is
3257              1, the labels on the menu bar are abbreviated to  one  character
3258              each and the buttons in the button bar are made narrower.
3259
3260       -overrideLineGap n
3261              When  n  >= 0, this forces the width of the black border between
3262              squares to n pixels for any board size. Mostly used to  suppress
3263              the grid entirely by setting n = 0, e.g. in xiangqi or just get‐
3264              ting a prettier picture. When n  <  0  this  the  size-dependent
3265              width of the grid lines is used. Default: -1.
3266
3267       -coords/-xcoords or -showCoords true/false
3268              Sets  the  Show Coords menu option.  See Options Menu.  Default:
3269              false.  The `coordFont' option specifies what font to use.
3270
3271       -autoraise/-xautoraise or -autoRaiseBoard true/false
3272              Sets the Auto  Raise  Board  menu  option.   See  Options  Menu.
3273              Default: true.
3274
3275       -autoflip/-xautoflip or -autoFlipView true/false
3276              Sets  the  Auto  Flip  View  menu  option.   See  Options  Menu.
3277              Default: true.
3278
3279       -flip/-xflip or -flipView true/false
3280              If Auto Flip View is not set, or if you are  observing  but  not
3281              participating  in  a  game, then the positioning of the board at
3282              the start of each game  depends  on  the  flipView  option.   If
3283              flipView is false (the default), the board is positioned so that
3284              the white pawns move from the bottom to the top;  if  true,  the
3285              black  pawns  move from the bottom to the top.  In any case, the
3286              Flip menu option (see Options Menu) can  be  used  to  flip  the
3287              board after the game starts.
3288
3289       -title/-xtitle or -titleInWindow true/false
3290              If  this  option  is true, XBoard displays player names (for ICS
3291              games) and game file names (for `Load  Game')  inside  its  main
3292              window.  If  the option is false (the default), this information
3293              is displayed only in the window banner. You probably won't  want
3294              to  set  this option unless the information is not showing up in
3295              the banner, as happens with a few X window managers.
3296
3297       -buttons/-xbuttons or -showButtonBar True/False
3298              If this option is False, xboard omits the [<<] [<] [P] [>]  [>>]
3299              button  bar  from  the  window,  allowing the message line to be
3300              wider.  You can still get the functions of these  buttons  using
3301              the menus or their keyboard shortcuts.  Default: true.
3302
3303       -evalZoom factor
3304              The  score  interval  (-1,1) is blown up on the vertical axis of
3305              the Evaluation Graph by the given factor.  Default: 1
3306
3307       -evalThreshold n
3308              Score below n (centiPawn) are plotted as  0  in  the  Evaluation
3309              Graph.  Default: 25
3310
3311       -mono/-xmono or -monoMode true/false
3312              Determines  whether  XBoard displays its pieces and squares with
3313              two colors (true) or four (false). You shouldn't have to specify
3314              `monoMode'; XBoard will determine if it is necessary.
3315
3316       -showTargetSquares true/false
3317              Determines  whether XBoard can highlight the squares a piece has
3318              legal moves to,  when  you  grab  that  piece  with  the  mouse.
3319              Default: false.
3320
3321       -flashCount count
3322       -flashRate rate
3323       -flash/-xflash
3324              These  options enable flashing of pieces when they land on their
3325              destination square.  `flashCount' tells XBoard how many times to
3326              flash  a  piece  after  it  lands  on  its  destination  square.
3327              `flashRate' controls the rate of flashing (flashes/sec).  Abbre‐
3328              viations:  `flash'  sets  flashCount to 3.  `xflash' sets flash‐
3329              Count to 0.  Defaults:  flashCount=0 (no flashing), flashRate=5.
3330
3331       -highlight/-xhighlight or -highlightLastMove true/false
3332              Sets the Highlight Last Move  menu  option.  See  Options  Menu.
3333              Default: false.
3334
3335       -highlightMoveWithArrow true/false
3336              Sets  the  Highlight  with  Arrow menu option. See Options Menu.
3337              Default: false.
3338
3339       -blind/-xblind or -blindfold true/false
3340              Sets the Blindfold menu option.   See  Options  Menu.   Default:
3341              false.
3342
3343       -periodic/-xperiodic or -periodicUpdates true/false
3344              Controls  updating  of  current  move andnode counts in analysis
3345              mode. Default: true.
3346
3347       -fSAN
3348       -sSAN  Causes the PV in thinking output of the mentioned engine  to  be
3349              converted  to SAN before it is further processed.  Warning: this
3350              might lose engine output not understood by the parser, and  uses
3351              a lot of CPU power.  Default: the PV is displayed exactly as the
3352              engine produced it.
3353
3354       -showEvalInMoveHistory true/false
3355              Controls whether the  evaluation  scores  and  search  depth  of
3356              engine  moves  are  displayed  with the move in the move-history
3357              window.  Default: true.
3358
3359       -clockFont font
3360              The font used for the clocks. If the option value is  a  pattern
3361              that  does  not specify the font size, XBoard tries to choose an
3362              appropriate font for the board size being  used.   Default  Xaw:
3363              -*-helvetica-bold-r-normal--*-*-*-*-*-*-*-*.   Default GTK: Sans
3364              Bold %d.
3365
3366       -coordFont font
3367              The font used for rank and file coordinate  labels  if  `showCo‐
3368              ords'  is  true.  If the option value is a pattern that does not
3369              specify the font size, XBoard tries  to  choose  an  appropriate
3370              font  for the board size being used.  Default Xaw: -*-helvetica-
3371              bold-r-normal--*-*-*-*-*-*-*-*.  Default GTK: Sans Bold %d.
3372
3373       -messageFont font
3374              The font used for popup dialogs,  menus,  etc.   If  the  option
3375              value  is  a pattern that does not specify the font size, XBoard
3376              tries to choose an appropriate font for  the  board  size  being
3377              used.        Default       Xaw:       -*-helvetica-medium-r-nor‐
3378              mal--*-*-*-*-*-*-*-*.  Default GTK: Sans Bold %d
3379
3380       -tagsFont font
3381              The font used in the Edit Tags dialog.  If the option value con‐
3382              tains  %d, XBoard will replace it by an appropriate font for the
3383              board size being used.  (Only used in GTK build.)  Default: Sans
3384              Normal %d.
3385
3386       -commentFont font
3387              The  font  used in the Edit Comment dialog.  If the option value
3388              contains %d, XBoard will replace it by an appropriate  font  for
3389              the  board size being used.  (Only used in GTK build.)  Default:
3390              Sans Normal %d.
3391
3392       -icsFont font
3393              The font used to display ICS output in the ICS  Chat window.  As
3394              ICS output often contains tables aligned by spaces, a mono-space
3395              font is recommended here.  If  the  option  value  contains  %d,
3396              XBoard will replace it by an appropriate font for the board size
3397              being used.  (Only used in GTK build.)  Default: Monospace  Nor‐
3398              mal %d.
3399
3400       -moveHistoryFont font
3401              The  font  used  in  Move History and Engine Output windows.  As
3402              these windows display mainly moves, one  could  use  a  figurine
3403              font here.  If the option value contains %d, XBoard will replace
3404              it by an appropriate font for the board size being used.   (Only
3405              used in GTK build.)  Default: Sans Normal %d.
3406
3407       -gameListFont font
3408              The  font  used  in the listbox of the Game List window.  If the
3409              option value contains %d, XBoard will replace it by an appropri‐
3410              ate  font  for  the  board  size  being used.  (Only used in GTK
3411              build.)  Default: Sans Bold %d.
3412
3413       -fontSizeTolerance tol
3414              In the font selection algorithm, a nonscalable font will be pre‐
3415              ferred  over a scalable font if the nonscalable font's size dif‐
3416              fers by `tol' pixels or less from the desired size.  A value  of
3417              -1  will force a scalable font to always be used if available; a
3418              value of 0 will use a nonscalable font only if it is exactly the
3419              right  size;  a  large value (say 1000) will force a nonscalable
3420              font to always be used if available.  Default: 4.
3421
3422       -pid or -pieceImageDirectory dir
3423              This options control what piece images xboard uses.  XBoard will
3424              look  in the specified directory for an image in png or svg for‐
3425              mat for  every  piece  type,  with  names  like  BlackQueen.svg,
3426              WhiteKnight.svg  etc.   When  neither  of  these is found (or no
3427              valid directory is specified) XBoard will first  ty  to  use  an
3428              image White/BlackTile.svg in that same directory, and if that is
3429              not present either use the svg piece that was installed with  it
3430              (from the source-tree directory `svg').  Both svg and png images
3431              will be scaled by XBoard to  the  required  size,  but  the  png
3432              pieces lose much in quality when scaled too much.  Default: "".
3433
3434       -inscriptions utf8string
3435              The  positions  in  the  utf8string correspond to XBoard's piece
3436              types, and for each type a glyph can  be  defined.   This  glyph
3437              will  then  be rendered on top of the image for the piece.  This
3438              is useful in combination with  the  White/BlackTile.svg  images,
3439              which  could be the image of a blank Shogi tile, for writing the
3440              kanji piece name on top of it on the fly.  Default: "".
3441
3442
3443       -whitePieceColor color
3444       -blackPieceColor color
3445       -lightSquareColor color
3446       -darkSquareColor color
3447       -highlightSquareColor color
3448       -preoveHighlightColor color
3449       -lowTimeWarningColor color
3450              Colors to use for the pieces, squares,  and  square  highlights.
3451              Defaults:
3452
3453                  -whitePieceColor       #FFFFCC
3454                  -blackPieceColor       #202020
3455                  -lightSquareColor      #C8C365
3456                  -darkSquareColor       #77A26D
3457                  -highlightSquareColor  #FFFF00
3458                  -premoveHighlightColor #FF0000
3459                  -lowTimeWarningColor   #FF0000
3460
3461              On a grayscale monitor you might prefer:
3462
3463                  -whitePieceColor       gray100
3464                  -blackPieceColor       gray0
3465                  -lightSquareColor      gray80
3466                  -darkSquareColor       gray60
3467                  -highlightSquareColor  gray100
3468                  -premoveHighlightColor gray70
3469                  -lowTimeWarningColor   gray70
3470
3471              The  PieceColor  options  only  work properly if the image files
3472              defining the pieces were pure  black  &  white  (possibly  anti-
3473              aliased  to produce gray scales and semi-transparancy), like the
3474              pieces images that come with the install.  Their effect on  col‐
3475              ored  pieces  is undefined.  The SquareColor option only have an
3476              effect when no board textures are used.
3477
3478       -trueColors true/false
3479              When set, this option suppresses the effect  of  the  PieceColor
3480              options  mentioned  above.   This is recommended for images that
3481              are already colored.
3482
3483       -useBoardTexture true/false
3484       -liteBackTextureFile filename
3485       -darkBackTextureFile filename
3486              Indicate the png image files to be used for  drawing  the  board
3487              squares,  and  if  they  should be used rather than using simple
3488              colors.  The algorithm for cutting squares out of a given bitmap
3489              is  such  that the picture is perfectly reproduced when a bitmap
3490              the size of the complete board is given.  If the  filename  ends
3491              in  "-NxM.png", with integer N and M, it is assumed to contain a
3492              bitmap of a complete board of N files and M  ranks,  and  XBoard
3493              will  scale  it  to  exactly  match the current square size.  If
3494              N=M=0 it scales the entire bitmap to  the  size  of  the  board,
3495              irrespective  of  the  number  of files and ranks of the latter.
3496              Without any -NxM suffix textures are only blown up by an integer
3497              factor  when they are smaller than the square size, or, when the
3498              name starts with "xq", too small to cover the  complete  Xiangqi
3499              board.  Default: false and ""
3500
3501       -drag/-xdrag or -animateDragging true/false
3502              Sets  the  Animate  Dragging  menu  option.  See  Options  Menu.
3503              Default: true.
3504
3505       -animate/-xanimate or -animateMoving true/false
3506              Sets the Animate Moving menu option. See Options Menu.  Default:
3507              true.
3508
3509       -animateSpeed n
3510              Number  of  milliseconds delay between each animation frame when
3511              Animate Moves is on.
3512
3513       -autoDisplayComment true/false
3514       -autoDisplayTags true/false
3515              If set to true, these options cause the  window  with  the  move
3516              comments,  and the window with PGN tags, respectively, to pop up
3517              automatically when such tags or comments are encountered  during
3518              the replaying a stored or loaded game.  Default: true.
3519
3520       -pasteSelection true/false
3521              If this option is set to true, the Paste Position and Paste Game
3522              options paste from the currently selected text.  If false,  they
3523              paste from the clipboard.  Default: false.
3524
3525       -autoCopyPV true|false
3526              When  this  option  is  set, the position displayed on the board
3527              when you terminate a PV walk  (initiated  by  a  right-click  on
3528              board  or engine-output window) will be automatically put on the
3529              clipboard as FEN.  Default: false.
3530
3531       -dropMenu true|false
3532              This option allows you to emulate old behavior, where the  right
3533              mouse  button  brings  up  the (now deprecated) drop menu rather
3534              than displaying the position at the end of the principal  varia‐
3535              tion.  Default: False.
3536
3537       -pieceMenu true|false
3538              This  option allows you to emulate old behavior, where the right
3539              mouse button brings up the (now deprecated) piece menu  in  Edit
3540              Position  mode.   From this menu you can select the piece to put
3541              on the square you clicked to bring up the menu, or select  items
3542              such  as  `clear  board'.   You can also `promote' or `demote' a
3543              clicked piece to convert it into an unorthodox piece that is not
3544              directly in the menu, or give the move to `black' or `white'.
3545
3546       -variations true|false
3547              When  this  option  is  on, you can start new variations in Edit
3548              Game or Analyze mode by holding the Shift key down while  enter‐
3549              ing  a  move.   When  it  is off, the Shift key will be ignored.
3550              Default: False.
3551
3552       -appendPV true|false
3553              When this option is on, a button 3 click left of  a  PV  in  the
3554              Engine Output window will play the first move of that PV in Ana‐
3555              lyze mode, or as many moves as you walk through it by moving the
3556              mouse.  Default: False.
3557
3558       -absoluteAnalysisScores true|false
3559              When  true,  scores  on the Engine Output window during analysis
3560              will be printed from the white point-of-view,  rather  than  the
3561              side-to-move point-of-view.  Default: False.
3562
3563       -scoreWhite true|false
3564              When  true,  scores will always be printed from the white point-
3565              of-view, rather than the side-to-move  point-of-view.   Default:
3566              False.
3567
3568       -memoHeaders true|false
3569              When true, column headers will be displayed in the Engine Output
3570              window for the depth, score, time and nodes data.   A  button  3
3571              click on these headers will hide or show the corresponding data.
3572              (Not intended for dynamic use, as already printed  data  of  the
3573              current search will not be affected!)  Defaul: False.
3574
3575   Adjudication Options
3576       -adjudicateLossThreshold n
3577              If the given value is non-zero, XBoard adjudicates the game as a
3578              loss if both engines agree for a duration of 6  consecutive  ply
3579              that  the  score  is  below  the  given score threshold for that
3580              engine. Make sure the score is interpreted properly  by  XBoard,
3581              using   `-firstScoreAbs'   and   `-secondScoreAbs'   if  needed.
3582              Default: 0 (no adjudication)
3583
3584       -adjudicateDrawMoves n
3585              If the given value is non-zero, XBoard adjudicates the game as a
3586              draw  if after the given number of moves it was not yet decided.
3587              Default: 0 (no adjudication)
3588
3589       -checkMates true/false
3590              If this option is set, XBoard detects all checkmates and  stale‐
3591              mates,  and ends the game as soon as they occur.  Legality-test‐
3592              ing must be switched on for this option to work.  Default: true
3593
3594       -testClaims true/false
3595              If this option is set, XBoard verifies all result claims made by
3596              engines,  and  those who send false claims will forfeit the game
3597              because of it.  Legality-testing must be switched  on  for  this
3598              option to work. Default: true
3599
3600       -materialDraws true/false
3601              If  this  option  is set, XBoard adjudicates games as draws when
3602              there is no sufficient material left  to  inflict  a  checkmate.
3603              This  applies  to KBKB with like bishops (any number, actually),
3604              and to KBK, KNK and KK.  Legality-testing must  be  switched  on
3605              for this option to work. Default: true
3606
3607       -trivialDraws true/false
3608              If  this  option  is set, XBoard adjudicates games as draws that
3609              cannot be usually won without opponent cooperation. This applies
3610              to  KBKB  with unlike bishops, and to KBKN, KNKN, KNNK, KRKR and
3611              KQKQ. The draw is called after 6 ply into  these  end-games,  to
3612              allow  quick  mates that can occur in some exceptional positions
3613              to be found by the engines.  KQKQ does not really belong in this
3614              category,  and might be taken out in the future.  (When bitbase-
3615              based adjudications are implemented.)  Legality-testing must  be
3616              on for this option to work. Default: false
3617
3618       -ruleMoves n
3619              If the given value is non-zero, XBoard adjudicates the game as a
3620              draw after the given number  of  consecutive  reversible  moves.
3621              Engine draw claims are always accepted after 50 moves, irrespec‐
3622              tive of the given value of n.
3623
3624       -repeatsToDraw n
3625              If the given value is non-zero, xboard adjudicates the game as a
3626              draw  if  a  position  is  repeated  the  given number of times.
3627              Engines draw claims are always accepted after 3 repeats, (on the
3628              3rd  occurrence,  actually),  irrespective  of  the  value of n.
3629              Beware that positions that have different castling or en-passant
3630              rights  do  not  count  as  repeats,  XBoard  is  fully e.p. and
3631              castling aware!
3632
3633   Install options
3634       --show-config parameter
3635              When called with this  option,  XBoard  will  close  immediately
3636              after  printing the value of the indicated configuration parame‐
3637              ter, or, when no parameter was given, after printing a  list  of
3638              all such parameters.  Currently the only valid values for param‐
3639              eter are Datadir and Sysconfdir.  This option  can  be  used  by
3640              install  scripts  for  board themes to figure out where the cur‐
3641              rently active XBoard stores its data.
3642
3643       -date timestamp
3644       -saveDate timestamp
3645              These options specify an epoch as an integer number.  The `save‐
3646              Date'  option  is  written  by XBoard in the settings file every
3647              time the settings are saved, with  the  current  time,  so  that
3648              later  runs  of  XBoard can know this.  The `date' option can be
3649              included in settings files to indicate when lines  following  it
3650              were  added to those files.  Some options will be ignored if the
3651              epoch specified by the latest `date' option predates the  -save‐
3652              Date setting (implying they must have been seen before).
3653
3654       -autoInstall list
3655              When the list is set to a non-empty string, XBoard will scan the
3656              operating system's plugin directory for engines  supporting  UCI
3657              and  XBoard  protocol  at startup.  When it finds an engine that
3658              was installed after it last saved its settings, a line to launch
3659              that engine (as per specs in the plugin file) is appended to the
3660              -firstChessProgramNames  list  of  installed  engines.   In  the
3661              future  it will be possible to use the autoInstall list to limit
3662              this automatic adding of engines based on the chess variant they
3663              play.
3664
3665       -addMasterOption string
3666              Adds the mentioned string as an additional line of XBoard's mas‐
3667              ter settings file, after adding a line with a `date'  option  to
3668              timestamp  it.   Intended  to  add options of the 'install' type
3669              (see below) to the master file, which will then be processed  by
3670              any  XBoard  that has not seen them since it last saved its set‐
3671              tings.
3672
3673       -autoClose
3674              The presence of this option cause XBoard  to  close  immediately
3675              after processing all its options (from settings file and command
3676              line).   Typically  used  from  install  scripts  together  with
3677              options  that change XBoard's settings files, so that XBoard can
3678              be run in batch mode rather than interactively.
3679
3680       -installEngine string
3681              Adds the given string as an additional line to the value of  the
3682              `firstChessProgramNames'  option when the -saveDate setting pre‐
3683              ceeds the -date setting.  Intended for adding to the master set‐
3684              tings  file  with  the  aid  of  -addMasterOption in the install
3685              script of engines, as a method for broadcasting the presence  of
3686              a new engine to all users, which would then see it automatically
3687              registered with XBoard.  Made obsolete  by  the  advent  of  the
3688              plugin standard (see the `autoInstall' option), which broadcasts
3689              such presence in a non-XBoard-specific  way  by  dropping  *.eng
3690              files in a certain system directory.
3691
3692       -installTheme string
3693              Adds  the given string as an additional line to the value of the
3694              -themeNames option when the -saveDate setting preceeds the -date
3695              setting.   Intended  for adding to the master settings file with
3696              the aid of -addMasterOption  in  the  install  script  of  board
3697              graphics  themes,  as a method for broadcasting the availability
3698              of a new theme to all users, who would then see the theme appear
3699              automatically  in the listbox in the View Board menu dialog next
3700              time they run XBoard.
3701
3702   Other options
3703       -ncp/-xncp or -noChessProgram true/false
3704              If this option is true, XBoard acts as a passive chessboard;  it
3705              does  not  start  a  chess engine at all. Turning on this option
3706              also turns off clockMode. Default: false.
3707
3708       -viewer
3709       -viewerOptions string
3710              Presence of the volatile option `viewer'  on  the  command  line
3711              will cause the value of the persistent option `viewerOptions' as
3712              stored in the settings file to be appended to the command  line.
3713              The `view' option will be used by desktop associations with game
3714              or position file types, so that `viewerOptions' can be  used  to
3715              configure the exact mode XBoard will start in when it should act
3716              on such a file (e.g.  in  -ncp  mode,  or  analyzing  with  your
3717              favorite  engine).  The  options are also automatically appended
3718              when Board is invoked with a single argument not being an option
3719              name,  which  is then assumed to be the name of a `loadGameFile'
3720              or (when the name ends in .fen) a `loadPositionFile'.   Default:
3721              "-ncp -engineOutputUp false -saveSettingsOnExit false".
3722
3723       -tourneyOptions string
3724              When  XBoard  is  invoked  with a single argument that is a file
3725              with .trn extension, it will assume  this  argument  to  be  the
3726              value  of  a  `tourneyFile'  option, and append the value of the
3727              persistent option `tourneyOptions' as  stored  in  the  settings
3728              file  to  the  command line.  Thus the value of `tourneyOptions'
3729              can be used to configure XBoard to automatically start running a
3730              tournament  when  it  should act on such a file.  Default: "-ncp
3731              -mm -saveSettingsOnExit false".
3732
3733       -mode or -initialMode modename
3734              If this option is given, XBoard selects the given modename  from
3735              the  Mode menu after starting and (if applicable) processing the
3736              loadGameFile or loadPositionFile option. Default: "" (no  selec‐
3737              tion).   Other  supported values are MachineWhite, MachineBlack,
3738              TwoMachines, Analysis, AnalyzeFile, EditGame, EditPosition,  and
3739              Training.
3740
3741       -variant varname
3742              Activates   (sometimes  partial) support for playing chess vari‐
3743              ants against a local engine or editing variant games.  This flag
3744              is not needed in ICS mode.  Recognized variant names are:
3745
3746                  normal        Normal chess
3747                  wildcastle    Shuffle chess, king can castle from d file
3748                  nocastle      Shuffle chess, no castling allowed
3749                  fischerandom  Fischer Random shuffle chess
3750                  bughouse      Bughouse, ICC/FICS rules
3751                  crazyhouse    Crazyhouse, ICC/FICS rules
3752                  losers        Lose all pieces or get mated (ICC wild 17)
3753                  suicide       Lose all pieces including king (FICS)
3754                  giveaway      Try to have no legal moves (ICC wild 26)
3755                  twokings      Weird ICC wild 9
3756                  kriegspiel    Opponent's pieces are invisible
3757                  atomic        Capturing piece explodes (ICC wild 27)
3758                  3check        Win by giving check 3 times (ICC wild 25)
3759                  shatranj      An ancient precursor of chess (ICC wild 28)
3760                  xiangqi       Chinese Chess (on a 9x10 board)
3761                  shogi         Japanese Chess (on a 9x9 board & piece drops)
3762                  capablanca    Capablanca Chess (10x8 board, with Archbishop
3763                                and Chancellor pieces)
3764                  gothic        similar, with a better initial position
3765                  caparandom    An FRC-like version of Capablanca Chess (10x8)
3766                  janus         A game with two Archbishops (10x8 board)
3767                  courier       Medieval intermediate between shatranj and
3768                                modern Chess (on 12x8 board)
3769                  falcon        Patented 10x8 variant with two Falcon pieces
3770                  berolina      Pawns capture straight ahead, and move diagonally
3771                  cylinder      Pieces wrap around the board edge
3772                  knightmate    King moves as Knight, and vice versa
3773                  super         Superchess (shuffle variant with 4 exo-pieces)
3774                  makruk        Thai Chess (shatranj-like, P promotes on 6th rank)
3775                  asean         ASEAN Chess (a modernized version of Makruk)
3776                  spartan       Spartan Chess (black has unorthodox pieces)
3777                  great         Great Shatranj, a 10x8 variant without sliders
3778                  grand         Grand Chess, on 10x10 with Capablanca pieces
3779                  lion          Mighty-Lion Chess, with a multi-capturing Lion
3780                  elven         Eleven Chess, with Lion and crowned sliders on 10x10
3781                  chu           Chu Shogi, historic 12x12 variant with 2x46 pieces
3782                  fairy         A catchall variant in which all piece types
3783                                known to XBoard can participate (8x8)
3784                  unknown       Catchall for other unknown variants
3785
3786              In  the  shuffle  variants,  XBoard  does  shuffle  the  pieces,
3787              although you can still do it by hand using Edit Position.   Some
3788              variants are supported only in ICS mode, including bughouse, and
3789              kriegspiel.  Berolina and cylinder chess are only partially sup‐
3790              ported, and can only be played with legality testing off.
3791
3792              Apart  from these standard variants, engines can define variants
3793              of arbitrary names, briefing XBoard transparently on  the  rules
3794              for  piece  movement, board size and initial setup, so that they
3795              work nearly as well as fully-supported standard variants.   (But
3796              obviously only while using that engine.)  The user might have to
3797              alter the adjudication settings for some variants, however. E.g.
3798              it makes no sense to adjudicate a draw after 50 reversible moves
3799              in variants that have a 64-move rule, or no similar rule at all.
3800
3801              Default: "normal". Except when the first engine gave an explicit
3802              list of variants it supports, and 'normal' is not amongst those.
3803              In that case the first variant the engine mentioned it did  play
3804              will be chosen.
3805
3806       -boardHeight N
3807              Allows  you  to  set a non-standard number of board ranks in any
3808              variant.  If the height is given as -1, the default  height  for
3809              the variant is used.  Default: -1
3810
3811       -boardWidth N
3812              Allows  you  to  set a non-standard number of board files in any
3813              variant.  If the width is given as -1, the default width for the
3814              variant  is  used.  With a non-standard width, the initial posi‐
3815              tion will always be an empty board, as the usual  opening  array
3816              will not fit.  Default: -1
3817
3818       -holdingsSize N
3819              Allows  you  to  set a non-standard size for the holdings in any
3820              variant.  If the size is given as -1, the default holdings  size
3821              for  the  variant is used.  The first N piece types will go into
3822              the holdings on capture, and you will be able to  drop  them  on
3823              the  board  in  stead of making a normal move. If size equals 0,
3824              there will be no holdings.  Default: -1
3825
3826       -defaultFrcPosition N
3827              Specifies the number of the opening position  in  shuffle  games
3828              like  Chess960.   A  value  of -1 means the position is randomly
3829              generated by XBoard at the beginning of every game.  Default: -1
3830
3831       -pieceToCharTable string
3832              The characters that are used to represent the piece types XBoard
3833              knows in FEN diagrams and SAN moves.  You should not have to use
3834              this option often: each variant has its own default setting  for
3835              the  piece  representation in FEN, which should be sufficient in
3836              normal use.  The string argument has to specify an  even  number
3837              of  pieces  (or  it  will be ignored), as white and black pieces
3838              have to be given separately (in that order). The last letter for
3839              each  color  will  be the King.  The letters before that will be
3840              PNBRQ and then a whole host of fairy pieces in an order that has
3841              not  fully crystallized yet (currently FEACWMOHIJGDVLSU, F=Ferz,
3842              Elephant,  A=Archbishop,  C=Chancellor,   W=Wazir,   M=Commoner,
3843              O=Cannon,  H=Nightrider).  You  should  list at least all pieces
3844              that occur in the variant you are playing.  If  you  have  fewer
3845              characters  in the string than XBoard has pieces, the pieces not
3846              mentioned will get assigned a period, and will not be usable  in
3847              the variant.  You can also explicitly assign pieces a period, in
3848              which case they will not be counted in deciding  which  captured
3849              pieces  can  go  into the holdings.  A tilde '~' as a piece name
3850              does mean this piece is used to represent  a  promoted  Pawn  in
3851              crazyhouse-like  games, i.e. on capture it turns back to a Pawn.
3852              A '+' similarly indicates the piece is  a  shogi-style  promoted
3853              piece, that should revert to its non-promoted version on capture
3854              (rather than to a Pawn).  By default the second 11 pieces  known
3855              to XBoard are the promoted forms of the first 11.  A piece spec‐
3856              ified by the character combination ^ plus letter will be assumed
3857              to  be  the promoted form of the piece indicated by that letter,
3858              and get a '+' assigned.  To get around  the  limitation  of  the
3859              alphabet, piece IDs can also be 'dressed letters', i.e. a single
3860              letter (upper case for white, lower case for black) followed  by
3861              a  single  quote  or an exclamation point.  Default: "" (meaning
3862              the default for the variant is used).
3863
3864       -pieceNickNames string
3865              The characters in the string are interpreted the same way as  in
3866              the  `pieceToCharTable'  option.  But on input, piece-ID letters
3867              are first looked up in the nicknames, and only  if  not  defined
3868              there,  in  the normal pieceToCharTable. This allows you to have
3869              two letters designate the same piece, (e.g. N as an  alternative
3870              to  H  for  Horse  in Xiangqi), to make reading of non-compliant
3871              notations easier.  Default: ""
3872
3873       -colorNickNames string
3874              The side-to-move field in a FEN will be  first  matched  against
3875              the letters in the string (first character for white, second for
3876              black), before it is matched to the regular 'w' and  'b'.   This
3877              makes  it easier to read non-compliant FENs, which, say, use 'r'
3878              for white.  Default: ""
3879
3880       -debug/-xdebug or -debugMode true/false
3881              Turns on debugging printout.
3882
3883       -debugFile filename or -nameOfDebugFile filename
3884              Sets the name of the file to which XBoard saves  debug  informa‐
3885              tion  (including  all communication to and from the engines).  A
3886              `%d' in the given file name (e.g. game%d.debug) will be replaced
3887              by  the unique sequence number of a tournament game, so that the
3888              debug output of each game will be written on a separate file.
3889
3890       -engineDebugOutput number
3891              Specifies how XBoard should handle unsolicited output  from  the
3892              engine, with respect to saving it in the debug file.  The output
3893              is further (hopefully) ignored.  If  number=0,  XBoard  refrains
3894              from  writing  such  spurious output to the debug file.  If num‐
3895              ber=1, all engine output is  written  faithfully  to  the  debug
3896              file.  If number=2, any protocol-violating line is prefixed with
3897              a '#' character, as the engine itself should  have  done  if  it
3898              wanted  to  submit  info  for inclusion in the debug file.  This
3899              option is provided for the benefit of applications that use  the
3900              debug  file  as a source of information, such as the broadcaster
3901              of live games TLCV / TLCS.  Such applications can  be  protected
3902              from spurious engine output that might otherwise confuse them.
3903
3904       -rsh or -remoteShell shell-name
3905              Name  of  the command used to run programs remotely. The default
3906              is `rsh' or `remsh', determined when XBoard  is  configured  and
3907              compiled.
3908
3909       -ruser or -remoteUser user-name
3910              User  name  on  the remote system when running programs with the
3911              `remoteShell'. The default is your local user name.
3912
3913       -userName username
3914              Name under which the Human player will  be  listed  in  the  PGN
3915              file.  Default is the login name on your local computer.
3916
3917       -delayBeforeQuit number
3918       -delayAfterQuit number
3919              These  options  order pauses before and after sending the "quit"
3920              command to an engine that must be terminated.  The pause between
3921              quit and the previous command is specified in milliseconds.  The
3922              pause after quit is used to schedule a kill signal to be sent to
3923              the  engine  process  after the number of specified seconds plus
3924              one.  This signal is a different one as the terminiation  signal
3925              described  in  the  protocol specs which engines can suppress or
3926              ignore, and which is sent directly  after  the  "quit"  command.
3927              Setting `delayAfterQuit' to -1 will suppress sending of the kill
3928              signal.  Default: 0
3929
3930       -searchMode n
3931              The integer n encodes the mode for the `find position' function.
3932              Default: 1 (= Exact position match)
3933
3934       -eloThresholdBoth elo
3935       -eloThresholdAny elo
3936              Defines  a  lower limit for the Elo rating, which has to be sur‐
3937              passed before a game will be considered  when  searching  for  a
3938              board position.  Default: 0
3939
3940       -dateThreshold year
3941              Only  games  not played before the given year will be considered
3942              when searching for a board position
3943
3944

CHESS SERVERS

3946       An "Internet Chess Server", or "ICS", is a place on the Internet  where
3947       people  can  get together to play chess, watch other people's games, or
3948       just chat.  You can use either `telnet' or a client program like XBoard
3949       to  connect  to the server.  There are thousands of registered users on
3950       the different ICS hosts, and it is not unusual  to  meet  200  on  both
3951       chessclub.com and freechess.org.
3952
3953       Most  people  can  just  type  `xboard  -ics' to start XBoard as an ICS
3954       client.  Invoking XBoard in this way connects you to the Internet Chess
3955       Club  (ICC), a commercial ICS.  You can log in there as a guest even if
3956       you do not have a paid account.  To connect to  the  largest  Free  ICS
3957       (FICS),  use  the command `xboard -ics -icshost freechess.org' instead,
3958       or substitute a different host name to connect to  your  favorite  ICS.
3959       For a full description of command-line options that control the connec‐
3960       tion to ICS and change the default  values  of  ICS  options,  see  ICS
3961       options.
3962
3963       While  you  are  running  XBoard as an ICS client, you use the terminal
3964       window that you started XBoard from as a place to type in commands  and
3965       read information that is not available on the chessboard.
3966
3967       The first time you need to use the terminal is to enter your login name
3968       and password, if you are a registered player. (You  don't  need  to  do
3969       this  manually;  the  `icsLogon'  option  can  do  it for you.  See ICS
3970       options.)  If you are not registered, enter `g' as your name,  and  the
3971       server will pick a unique guest name for you.
3972
3973       Some useful ICS commands include
3974
3975       help <topic>
3976              to get help on the given <topic>. To get a list of possible top‐
3977              ics type "help" without topic.  Try the help command before  you
3978              ask other people on the server for help.
3979
3980              For example `help register' tells you how to become a registered
3981              ICS player.
3982
3983       who <flags>
3984              to see a list of people who are logged on.  Administrators (peo‐
3985              ple  you  should  talk to if you have a problem) are marked with
3986              the character `*', an asterisk. The <flags> allow you to display
3987              only  selected  players:  For  example, `who of' shows a list of
3988              players who are interested in playing but do not have  an  oppo‐
3989              nent.
3990
3991       games  to see what games are being played
3992
3993       match <player> [<mins>] [<inc>]
3994              to challenge another player to a game. Both opponents get <mins>
3995              minutes for the game, and <inc> seconds will be added after each
3996              move.   If another player challenges you, the server asks if you
3997              want to accept the challenge; use the `accept' or `decline' com‐
3998              mands to answer.
3999
4000       accept
4001       decline
4002              to  accept  or decline another player's offer.  The offer may be
4003              to start a new game, or to  agree  to  a  `draw',  `adjourn'  or
4004              `abort' the current game. See Action Menu.
4005
4006              If  you  have  more than one pending offer (for example, if more
4007              than one player is challenging you, or if your  opponent  offers
4008              both  a  draw and to adjourn the game), you have to supply addi‐
4009              tional information, by typing something like `accept  <player>',
4010              `accept draw', or `draw'.
4011
4012       draw
4013       adjourn
4014       abort  asks  your  opponent  to  terminate  a game by mutual agreement.
4015              Adjourned games can  be  continued  later.   Your  opponent  can
4016              either  `decline'  your  offer  or accept it (by typing the same
4017              command or typing `accept').  In some cases these commands  work
4018              immediately,  without  asking your opponent to agree.  For exam‐
4019              ple, you can abort the game unilaterally if your opponent is out
4020              of  time,  and you can claim a draw by repetition or the 50-move
4021              rule if available simply by typing `draw'.
4022
4023       finger <player>
4024              to get information about the  given  <player>.  (Default:  your‐
4025              self.)
4026
4027       vars   to get a list of personal settings
4028
4029       set <var> <value>
4030              to modify these settings
4031
4032       observe <player>
4033              to observe an ongoing game of the given <player>.
4034
4035       examine
4036       oldmoves
4037              to review a recently completed game
4038
4039       Some special XBoard features are activated when you are in examine mode
4040       on ICS.  See the descriptions of the menu  commands  `Forward',  `Back‐
4041       ward',  `Pause',  `ICS  Client', and `Stop Examining' on the Edit Menu,
4042       Mode Menu, and Action Menu.
4043
4044

FIREWALLS

4046       By default, XBoard communicates with an Internet Chess Server by  open‐
4047       ing a TCP socket directly from the machine it is running on to the ICS.
4048       If there is a firewall between your machine and  the  ICS,  this  won't
4049       work.  Here  are  some recipes for getting around common kinds of fire‐
4050       walls using special options to XBoard.  Important: See the paragraph in
4051       the below about extra echoes, in Limitations.
4052
4053       Suppose  that you can't telnet directly to ICS, but you can telnet to a
4054       firewall host, log in, and then telnet from there to  ICS.   Let's  say
4055       the firewall is called `firewall.example.com'. Set command-line options
4056       as follows:
4057
4058           xboard -ics -icshost firewall.example.com -icsport 23
4059
4060       Then when you run XBoard in ICS mode, you will be prompted to log in to
4061       the  firewall  host.  This works because port 23 is the standard telnet
4062       login service. Do so, then telnet to ICS, using a command like  `telnet
4063       chessclub.com 5000', or whatever command the firewall provides for tel‐
4064       netting to port 5000.
4065
4066       If your firewall lets you  telnet  (or  rlogin)  to  remote  hosts  but
4067       doesn't  let you telnet to port 5000, you may be able to connect to the
4068       chess server on port 23 instead, which is the port the  telnet  program
4069       uses  by  default.   Some  chess servers support this (including chess‐
4070       club.com and freechess.org), while some do not.
4071
4072       If your chess server does not allow connections on  port  23  and  your
4073       firewall  does not allow you to connect to other ports, you may be able
4074       to connect by hopping through another host outside  the  firewall  that
4075       you have an account on.  For instance, suppose you have a shell account
4076       at `foo.edu'. Follow the recipe above, but instead  of  typing  `telnet
4077       chessclub.com  5000' to the firewall, type `telnet foo.edu' (or `rlogin
4078       foo.edu'), log in there, and then type `telnet chessclub.com 5000'.
4079
4080       Suppose that you can't telnet directly to ICS, but you can use  rsh  to
4081       run  programs  on  a  firewall  host,  and that host can telnet to ICS.
4082       Let's say the firewall is called  `rsh.example.com'.  Set  command-line
4083       options as follows:
4084
4085           xboard -ics -gateway rsh.example.com -icshost chessclub.com
4086
4087       Then  when  you  run  XBoard in ICS mode, it will connect to the ICS by
4088       using `rsh' to run the command  `telnet  chessclub.com  5000'  on  host
4089       `rsh.example.com'.
4090
4091       Suppose  that  you  can telnet anywhere you want, but you have to run a
4092       special program called `ptelnet' to do so.
4093
4094       First, we'll consider the easy case, in  which  `ptelnet  chessclub.com
4095       5000'  gets  you  to  the  chess server.  In this case set command line
4096       options as follows:
4097
4098           xboard -ics -telnet -telnetProgram ptelnet
4099
4100       Then when you run XBoard in ICS mode, it will issue the command  `ptel‐
4101       net chessclub.com 5000' to connect to the ICS.
4102
4103       Next,  suppose that `ptelnet chessclub.com 5000' doesn't work; that is,
4104       your `ptelnet' program doesn't let you connect to alternative ports. As
4105       noted  above,  your  chess  server  may allow you to connect on port 23
4106       instead.  In that case, just add the option `-icsport ""' to the  above
4107       command.   But if your chess server doesn't let you connect on port 23,
4108       you will have to find some other host  outside  the  firewall  and  hop
4109       through  it.  For  instance,  suppose  you  have  a  shell  account  at
4110       `foo.edu'. Set command line options as follows:
4111
4112           xboard -ics -telnet -telnetProgram ptelnet -icshost foo.edu -icsport ""
4113
4114       Then when you run XBoard in ICS mode, it will issue the command  `ptel‐
4115       net  foo.edu'  to  connect  to your account at `foo.edu'. Log in there,
4116       then type `telnet chessclub.com 5000'.
4117
4118       ICC timestamp and FICS timeseal do not  work  through  some  firewalls.
4119       You  can  use  them  only if your firewall gives a clean TCP connection
4120       with a full 8-bit wide path.  If your firewall allows you  to  get  out
4121       only  by  running  a special telnet program, you can't use timestamp or
4122       timeseal across it.  But if you have access to a computer just  outside
4123       your firewall, and you have much lower netlag when talking to that com‐
4124       puter than to the ICS, it might be worthwhile running timestamp  there.
4125       Follow  the  instructions  above for hopping through a host outside the
4126       firewall (foo.edu in the example), but run  timestamp  or  timeseal  on
4127       that host instead of telnet.
4128
4129       Suppose that you have a SOCKS firewall that will give you a clean 8-bit
4130       wide TCP connection to the chess server, but only after  you  authenti‐
4131       cate  yourself  via the SOCKS protocol.  In that case, you could make a
4132       socksified version of XBoard and run that.  If you are using  timestamp
4133       or timeseal, you will to socksify it, not XBoard; this may be difficult
4134       seeing that ICC and FICS do not provide source code for these programs.
4135       Socksification  is beyond the scope of this document, but see the SOCKS
4136       Web site at http://www.socks.permeo.com/.  If you  are  missing  SOCKS,
4137       try http://www.funbureau.com/.
4138
4139

ENVIRONMENT VARIABLES

4141       Game  and  position files are found in a directory named by the `CHESS‐
4142       DIR' environment variable. If this variable is  not  set,  the  current
4143       working  directory  is  used.  If  `CHESSDIR'  is  set, XBoard actually
4144       changes its working directory to `$CHESSDIR', so any files  written  by
4145       the chess engine will be placed there too.
4146
4147

LIMITATIONS AND KNOWN BUGS

4149       There  is  no  way for two people running copies of XBoard to play each
4150       other without going through an Internet Chess Server.
4151
4152       Under some circumstances, your ICS password may be echoed when you  log
4153       on.
4154
4155       If  you  are  connecting  to  the  ICS by running telnet on an Internet
4156       provider or firewall host, you may find that  each  line  you  type  is
4157       echoed  back  an  extra  time  after  you hit <Enter>. If your Internet
4158       provider is a Unix system, you can probably turn its echo off by typing
4159       `stty  -echo'  after you log in, and/or typing <^E><Enter> (Ctrl+E fol‐
4160       lowed by the Enter key) to the telnet program  after  you  have  logged
4161       into  ICS.   It is a good idea to do this if you can, because the extra
4162       echo can occasionally confuse XBoard's parsing routines.
4163
4164       The game parser recognizes only algebraic notation.
4165
4166       Many of the following points used to be limitations in XBoard 4.2.7 and
4167       earlier, but are now fixed: The internal move legality tester in XBoard
4168       4.3.xx does look at the game history, and is fully aware of castling or
4169       en-passant-capture  rights.  It permits castling with the king on the d
4170       file because this is possible in some  "wild  1"  games  on  ICS.   The
4171       piece-drop  menu  does  not check piece drops in bughouse to see if you
4172       actually hold the piece you are trying to drop. But this way  of  drop‐
4173       ping  pieces  should be considered an obsolete feature, now that pieces
4174       can be dropped by dragging them from the holdings to the board. Anyway,
4175       if  you  would attempt an illegal move when using a chess engine or the
4176       ICS, XBoard will accept the error message that  comes  back,  undo  the
4177       move,  and  let  you  try  another.   FEN  positions saved by XBoard do
4178       include correct information about whether castling or  en  passant  are
4179       legal, and also handle the 50-move counter.  The mate detector does not
4180       understand that non-contact mate is not really mate in  bughouse.   The
4181       only problem this causes while playing is minor: a "#" (mate indicator)
4182       character will show up after a non-contact  mating  move  in  the  move
4183       list.  XBoard  will not assume the game is over at that point, not even
4184       when the option Detect Mates is on.  Edit Game  mode  always  uses  the
4185       rules  of  the selected variant, which can be a variant that uses piece
4186       drops.  You can load and edit games  that  contain  piece  drops.   The
4187       (obsolete)  piece menus are not active, but you can perform piece drops
4188       by dragging pieces from the holdings.  Fischer Random castling is fully
4189       understood.   You  can  enter  castlings by dragging the King on top of
4190       your Rook.  You can probably also play Fischer Random  successfully  on
4191       ICS by typing castling moves into the ICS Interaction window.
4192
4193       The  menus  may  not  work if your keyboard is in Caps Lock or Num Lock
4194       mode.  This seems to be a problem with the Athena menu widget,  not  an
4195       XBoard bug.
4196
4197       Also  see  the  ToDo file included with the distribution for many other
4198       possible bugs, limitations, and ideas for improvement  that  have  been
4199       suggested.
4200

REPORTING PROBLEMS

4202       You  can  report bugs and problems with XBoard using the bug tracker at
4203       `https://savannah.gnu.org/projects/xboard/'  or  by  sending  mail   to
4204       `<bug-xboard@gnu.org>'.   It  can  also  be useful to report or discuss
4205       bugs in the  WinBoard  Forum  at  `http://www.open-aurec.com/wbforum/',
4206       WinBoard development section.
4207
4208       Please  use the `script' program to start a typescript, run XBoard with
4209       the `-debug' option, and include the typescript output in your message.
4210       Also tell us what kind of machine and what operating system version you
4211       are using.  The command `uname -a' will often tell you this.
4212
4213       If you improve XBoard, please send a message about your changes, and we
4214       will  get  in  touch with you about merging them in to the main line of
4215       development.
4216
4217

AUTHORS AND CONTRIBUTORS

4219       Chris Sears and Dan Sears wrote the original XBoard.  They were respon‐
4220       sible  for  versions  1.0 through 1.2.  The color scheme was taken from
4221       Wayne Christopher's `XChess' program.
4222
4223       Tim Mann was primarily responsible  for  XBoard  versions  1.3  through
4224       4.2.7,  and for WinBoard (a port of XBoard to Microsoft Win32) from its
4225       inception through version 4.2.7.
4226
4227       John Chanak contributed the initial implementation of ICS  mode.   Evan
4228       Welsh  wrote  `CMail',  and Patrick Surry helped in designing, testing,
4229       and documenting it.  Elmar Bartel contributed  the  new  piece  bitmaps
4230       introduced in version 3.2.  Jochen Wiedmann converted the documentation
4231       to texinfo.  Frank McIngvale added  click/click  moving,  the  Analysis
4232       modes,  piece  flashing,  ZIICS  import,  and  ICS text colorization to
4233       XBoard.  Hugh Fisher added animated piece movement to XBoard, and  Hen‐
4234       rik  Gram  added it to WinBoard.  Mark Williams contributed the initial
4235       (WinBoard-only) implementation of  many  new  features  added  to  both
4236       XBoard  and  WinBoard  in version 4.1.0, including copy/paste, premove,
4237       icsAlarm, autoFlipView, training mode, auto raise, and blindfold.   Ben
4238       Nye contributed X copy/paste code for XBoard.
4239
4240       In  a fork from version 4.2.7, Alessandro Scotti added many elements to
4241       the user interface of WinBoard, including the board textures and  font-
4242       based  rendering,  the evaluation-graph, move-history and engine-output
4243       window.  He was also responsible for adding the UCI support.
4244
4245       H. G. Muller continued this fork of the project, producing version 4.3.
4246       He  made  WinBoard castling- and e.p.-aware, added variant support with
4247       adjustable board sizes, the crazyhouse holdings, and the fairy  pieces.
4248       In  addition  he  added most of the adjudication options, made WinBoard
4249       more robust in dealing with buggy and crashing  engines,  and  extended
4250       time  control with a time-odds and node-count-based modes.  Most of the
4251       options that initially were WinBoard only have now been back-ported  to
4252       XBoard.
4253
4254       Michel  van  den  Bergh  provided the code for reading Polyglot opening
4255       books.
4256
4257       Meanwhile, some work continued on the GNU XBoard project maintained  at
4258       savannah.gnu.org,   but  version  4.2.8  was  never  released.   Daniel
4259       Mehrmann was responsible for much of this work.
4260
4261       Most recently, Arun Persaud worked with H. G. Muller to merge  all  the
4262       features  of the never-released XBoard/WinBoard 4.2.8 of the GNU XBoard
4263       project and the never-released 4.3.16 from H. G.'s fork into a  unified
4264       XBoard/WinBoard  4.4,  which  is  now  available  both  from the savan‐
4265       nah.gnu.org web site and the WinBoard forum.
4266
4267

CMAIL

4269       The `cmail' program can help you play chess by email with opponents  of
4270       your choice using XBoard as an interface.
4271
4272       You will usually run `cmail' without giving any options.
4273
4274
4275   CMail options
4276       -h     Displays `cmail' usage information.
4277
4278       -c     Shows  the  conditions  of  the GNU General Public License.  See
4279              Copying.
4280
4281       -w     Shows the warranty notice of the  GNU  General  Public  License.
4282              See Copying.
4283
4284       -v
4285       -xv    Provides  or  inhibits  verbose  output from `cmail' and XBoard,
4286              useful for debugging. The `-xv' form  also  inhibits  the  cmail
4287              introduction message.
4288
4289       -mail
4290       -xmail Invokes or inhibits the sending of a mail message containing the
4291              move.
4292
4293       -xboard
4294       -xxboard
4295              Invokes or inhibits the running of XBoard on the game file.
4296
4297       -reuse
4298       -xreuse
4299              Invokes or inhibits the reuse of an existing XBoard  to  display
4300              the current game.
4301
4302       -remail
4303              Resends  the last mail message for that game. This inhibits run‐
4304              ning XBoard.
4305
4306       -game <name>
4307              The name of the game to be processed.
4308
4309       -wgames <number>
4310       -bgames <number>
4311       -games <number>
4312              Number of games to start as White, as Black or in total. Default
4313              is  1 as white and none as black. If only one color is specified
4314              then none of the other color is assumed. If no color  is  speci‐
4315              fied  then  equal  numbers of White and Black games are started,
4316              with the extra game being as White if an  odd  number  of  total
4317              games is specified.
4318
4319       -me <short name>
4320       -opp <short name>
4321              A one-word alias for yourself or your opponent.
4322
4323       -wname <full name>
4324       -bname <full name>
4325       -myname <full name>
4326       -oppname <full name>
4327              The full name of White, Black, yourself or your opponent.
4328
4329       -wna <net address>
4330       -bna <net address>
4331       -na <net address>
4332       -oppna <net address>
4333              The email address of White, Black, yourself or your opponent.
4334
4335       -dir <directory>
4336              The directory in which `cmail' keeps its files. This defaults to
4337              the environment variable `$CMAIL_DIR' or failing that,  `$CHESS‐
4338              DIR',  `$HOME/Chess' or `~/Chess'. It will be created if it does
4339              not exist.
4340
4341       -arcdir <directory>
4342              The  directory  in  which  `cmail'  archives  completed   games.
4343              Defaults  to the environment variable `$CMAIL_ARCDIR' or, in its
4344              absence, the same directory as cmail  keeps  its  working  files
4345              (above).
4346
4347       -mailprog <mail program>
4348              The  program used by cmail to send email messages. This defaults
4349              to the environment variable `$CMAIL_MAILPROG'  or  failing  that
4350              `/usr/ucb/Mail', `/usr/ucb/mail' or `Mail'. You will need to set
4351              this variable if none of the above paths fit your system.
4352
4353       -logFile <file>
4354              A file in which to dump  verbose  debugging  messages  that  are
4355              invoked with the `-v' option.
4356
4357       -event <event>
4358              The PGN Event tag (default `Email correspondence game').
4359
4360       -site <site>
4361              The PGN Site tag (default `NET').
4362
4363       -round <round>
4364              The PGN Round tag (default `-', not applicable).
4365
4366       -mode <mode>
4367              The PGN Mode tag (default `EM', Electronic Mail).
4368
4369       Other options
4370              Any  option flags not listed above are passed through to XBoard.
4371              Invoking XBoard through CMail changes the default values of  two
4372              XBoard  options:  The  default  value  for  `-noChessProgram' is
4373              changed to true; that is, by default no chess engine is started.
4374              The  default value for `-timeDelay' is changed to 0; that is, by
4375              default XBoard immediately goes to the end of the game as played
4376              so  far, rather than stepping through the moves one by one.  You
4377              can still set these options to whatever  values  you  prefer  by
4378              supplying them on CMail's command line.  See Options.
4379
4380   Starting a CMail Game
4381       Type  `cmail'  from  a shell to start a game as white. After an opening
4382       message, you will be prompted for a game name, which is optional --  if
4383       you  simply  press  <Enter>,  the game name will take the form `you-VS-
4384       opponent'. You will next be prompted for the short name of  your  oppo‐
4385       nent.  If  you  haven't  played  this  person  before, you will also be
4386       prompted for his/her email address. `cmail' will then invoke XBoard  in
4387       the  background.  Make  your first move and select `Mail Move' from the
4388       `File' menu. See File Menu. If all is well, `cmail' will mail a copy of
4389       the move to your opponent. If you select `Exit' without having selected
4390       `Mail Move' then no move will be made.
4391
4392
4393   Answering a Move
4394       When you receive a message from an opponent containing a move in one of
4395       your  games,  simply  pipe the message through `cmail'. In some mailers
4396       this is as simple as typing `| cmail' when viewing the  message,  while
4397       in  others  you  may have to save the message to a file and do `cmail <
4398       file' at the command line. In either case `cmail' will display the game
4399       using  XBoard.  If you didn't exit XBoard when you made your first move
4400       then `cmail' will do its best to use the  existing  XBoard  instead  of
4401       starting  a  new  one.  As  before, simply make a move and select `Mail
4402       Move' from the `File' menu. See File Menu. `cmail' will try to use  the
4403       XBoard  that  was  most recently used to display the current game. This
4404       means that many games can be in progress simultaneously, each with  its
4405       own active XBoard.
4406
4407       If  you  want  to look at the history or explore a variation, go ahead,
4408       but you must return to the current position before  XBoard  will  allow
4409       you  to  mail  a  move.  If you edit the game's history you must select
4410       `Reload Same Game' from the `File' menu to get  back  to  the  original
4411       position,  then  make  the  move  you  want and select `Mail Move'.  As
4412       before, if you decide you aren't ready to make a move just yet you  can
4413       either  select  `Exit' without sending a move or just leave XBoard run‐
4414       ning until you are ready.
4415
4416
4417   Multi-Game Messages
4418       It is possible to have a `cmail' message  carry  more  than  one  game.
4419       This  feature was implemented to handle IECG (International Email Chess
4420       Group) matches, where a match consists of one game as white and one  as
4421       black,  with  moves  transmitted simultaneously. In case there are more
4422       general  uses,  `cmail'  itself  places  no  limit  on  the  number  of
4423       black/white games contained in a message; however, XBoard does.
4424
4425
4426   Completing a Game
4427       Because XBoard can detect checkmate and stalemate, `cmail' handles game
4428       termination sensibly. As well as resignation, the `Action' menu  allows
4429       draws to be offered and accepted for `cmail' games.
4430
4431       For  multi-game  messages, only unfinished and just-finished games will
4432       be included in email messages. When all the games  are  finished,  they
4433       are  archived  in  the  user's  archive directory, and similarly in the
4434       opponent's when he or she pipes the final message through `cmail'.  The
4435       archive file name includes the date the game was started.
4436
4437
4438   Known CMail Problems
4439       It's possible that a strange conjunction of conditions may occasionally
4440       mean that `cmail' has trouble reactivating an existing XBoard. If  this
4441       should  happen, simply trying it again should work.  If not, remove the
4442       file that stores the XBoard's PID (`game.pid')  or  use  the  `-xreuse'
4443       option to force `cmail' to start a new XBoard.
4444
4445       Versions of `cmail' after 2.16 no longer understand the old file format
4446       that XBoard used to use and so cannot be used to correspond with anyone
4447       using an older version.
4448
4449       Versions  of `cmail' older than 2.11 do not handle multi-game messages,
4450       so multi-game correspondence is not possible with  opponents  using  an
4451       older version.
4452
4453

OTHER PROGRAMS YOU CAN USE WITH XBOARD

4455       Here are some other programs you can use with XBoard
4456
4457
4458   GNU Chess
4459       The GNU Chess engine is available from:
4460
4461       ftp://ftp.gnu.org/gnu/gnuchess/
4462
4463       You  can  use  XBoard to play a game against GNU Chess, or to interface
4464       GNU Chess to an ICS.
4465
4466
4467   Fairy-Max
4468       Fairy-Max is a derivative from the once World's smallest Chess  program
4469       micro-Max,  which  measures  only  about 100 lines of source code.  The
4470       main difference with micro-Max is that Fairy-Max loads its move-genera‐
4471       tor  tables  from  a  file, so that the rules for piece movement can be
4472       easily configured to implement unorthodox pieces.  Fairy-Max can there‐
4473       fore  play a large number of variants, normal Chess being one of those.
4474       In addition it plays Knightmate, Capablanca and Gothic Chess, Shatranj,
4475       Courier  Chess, Cylinder chess, Berolina Chess, while the user can eas‐
4476       ily define new variants.  It can be obtained from:
4477
4478       http://home.hccnet.nl/h.g.muller/dwnldpage.html
4479
4480
4481   HoiChess
4482       HoiChess is a not-so-very-strong Chess engine, which comes with  a  de‐
4483       rivative  HoiXiangqi,  able  to  play Chinese Chess. It can be obtained
4484       from the standard Linux repositories through:
4485
4486       sudo apt-get install hoichess
4487
4488
4489   Crafty
4490       Crafty is a chess engine written by Bob Hyatt.  You can use  XBoard  to
4491       play  a game against Crafty, hook Crafty up to an ICS, or use Crafty to
4492       interactively analyze games and positions for you.
4493
4494       Crafty is a strong, rapidly evolving chess program. This rapid pace  of
4495       development  is good, because it means Crafty is always getting better.
4496       This can sometimes cause problems  with  backwards  compatibility,  but
4497       usually  the  latest  version  of Crafty will work well with the latest
4498       version of XBoard.  Crafty can be obtained from its author's FTP  site:
4499       ftp://ftp.cis.uab.edu/hyatt/.
4500
4501       To  use  Crafty  with XBoard, give the -fcp and -fd options as follows,
4502       where <crafty's directory> is the  directory  in  which  you  installed
4503       Crafty and placed its book and other support files.
4504
4505
4507       Copyright  (C)  1991  Digital Equipment Corporation, Maynard, Massachu‐
4508       setts.
4509
4510       All Rights Reserved.
4511
4512       Permission to use, copy, modify, and distribute this software  and  its
4513       documentation  for  any purpose and without fee is hereby granted, pro‐
4514       vided that the above copyright notice appear in  all  copies  and  that
4515       both  that  copyright  notice and this permission notice appear in sup‐
4516       porting documentation, and that the name of  Digital  not  be  used  in
4517       advertising  or  publicity  pertaining  to distribution of the software
4518       without specific, written prior permission.
4519
4520       Digital disclaims all warranties with regard to this software,  includ‐
4521       ing all implied warranties of merchantability and fitness.  In no event
4522       shall Digital be liable for any special, indirect or consequential dam‐
4523       ages  or  any  damages  whatsoever  resulting from loss of use, data or
4524       profits, whether in an action of contract, negligence or other tortious
4525       action,  arising out of or in connection with the use or performance of
4526       this software.
4527
4528       Enhancements copyright (C) 1992-2003, 2004,  2005,  2006,  2007,  2008,
4529       2009,  2010,  2011,  2012, 2013, 2014, 2015, 2016 Free Software Founda‐
4530       tion, Inc.
4531
4532       Published by the Free Software Foundation
4533       59 Temple Place - Suite 330
4534       Boston, MA 02111-1307 USA
4535
4536       Permission is granted to make and distribute verbatim  copies  of  this
4537       manual  provided  the  copyright  notice and this permission notice are
4538       preserved on all copies.
4539
4540       Permission is granted to copy and distribute modified versions of  this
4541       manual  under  the  conditions for verbatim copying, provided also that
4542       the section  entitled  ``GNU  General  Public  License,''  is  included
4543       exactly  as  in  the  original,  and provided that the entire resulting
4544       derived work is distributed under the  terms  of  a  permission  notice
4545       identical to this one.
4546
4547       Permission  is granted to copy and distribute translations of this man‐
4548       ual into another language, under the above conditions for modified ver‐
4549       sions, except that the section entitled ``GNU General Public License,''
4550       and this permission notice, may be included in translations approved by
4551       the Free Software Foundation instead of in the original English.
4552
4553

GNU GENERAL PUBLIC LICENSE

4555       Copyright (C) 2007 Free Software Foundation, Inc. `http://fsf.org/'
4556
4557       Everyone is permitted to copy and distribute verbatim copies of this
4558       license document, but changing it is not allowed.
4559
4560       The GNU General Public License is a free, copyleft license for software
4561       and other kinds of works.
4562
4563       The licenses for most software and other practical works  are  designed
4564       to  take away your freedom to share and change the works.  By contrast,
4565       the GNU General Public License is intended to guarantee your freedom to
4566       share  and  change all versions of a program -- to make sure it remains
4567       free software for all its users.  We, the Free Software Foundation, use
4568       the  GNU  General  Public  License for most of our software; it applies
4569       also to any other work released this way by its authors.  You can apply
4570       it to your programs, too.
4571
4572       When we speak of free software, we are referring to freedom, not price.
4573       Our General Public Licenses are designed to make sure that you have the
4574       freedom  to  distribute copies of free software (and charge for them if
4575       you wish), that you receive source code or can get it if you  want  it,
4576       that  you  can change the software or use pieces of it in new free pro‐
4577       grams, and that you know you can do these things.
4578
4579       To protect your rights, we need to  prevent  others  from  denying  you
4580       these  rights  or  asking  you to surrender the rights.  Therefore, you
4581       have certain responsibilities if you distribute copies of the software,
4582       or if you modify it: responsibilities to respect the freedom of others.
4583
4584       For example, if you distribute copies of such a program, whether gratis
4585       or for a fee, you must pass on to the recipients the same freedoms that
4586       you  received.   You  must make sure that they, too, receive or can get
4587       the source code.  And you must show them these terms so they know their
4588       rights.
4589
4590       Developers that use the GNU GPL protect your rights with two steps: (1)
4591       assert copyright on the software, and (2) offer you this License giving
4592       you legal permission to copy, distribute and/or modify it.
4593
4594       For  the  developers' and authors' protection, the GPL clearly explains
4595       that there is no warranty for this free software.  For both users'  and
4596       authors'  sake,  the  GPL  requires that modified versions be marked as
4597       changed, so that their problems will not be attributed  erroneously  to
4598       authors of previous versions.
4599
4600       Some  devices are designed to deny users access to install or run modi‐
4601       fied versions of the software inside them,  although  the  manufacturer
4602       can do so.  This is fundamentally incompatible with the aim of protect‐
4603       ing users' freedom to change the software.  The systematic  pattern  of
4604       such abuse occurs in the area of products for individuals to use, which
4605       is precisely  where  it  is  most  unacceptable.   Therefore,  we  have
4606       designed  this  version  of  the GPL to prohibit the practice for those
4607       products.  If such problems arise substantially in  other  domains,  we
4608       stand  ready  to  extend this provision to those domains in future ver‐
4609       sions of the GPL, as needed to protect the freedom of users.
4610
4611       Finally, every program is threatened constantly  by  software  patents.
4612       States  should  not  allow  patents  to restrict development and use of
4613       software on general-purpose computers, but in those that do, we wish to
4614       avoid  the  special danger that patents applied to a free program could
4615       make it effectively proprietary.  To prevent this, the GPL assures that
4616       patents cannot be used to render the program non-free.
4617
4618       The  precise terms and conditions for copying, distribution and modifi‐
4619       cation follow.
4620
4621
4622       Definitions.
4623              ``This License'' refers to version 3 of the GNU  General  Public
4624              License.
4625
4626              ``Copyright'' also means copyright-like laws that apply to other
4627              kinds of works, such as semiconductor masks.
4628
4629              ``The Program'' refers to any copyrightable work licensed  under
4630              this   License.    Each   licensee   is  addressed  as  ``you''.
4631              ``Licensees'' and ``recipients'' may be individuals or organiza‐
4632              tions.
4633
4634              To  ``modify'' a work means to copy from or adapt all or part of
4635              the work in a fashion requiring copyright permission, other than
4636              the  making  of  an  exact copy.  The resulting work is called a
4637              ``modified version'' of the earlier work or a work ``based  on''
4638              the earlier work.
4639
4640              A ``covered work'' means either the unmodified Program or a work
4641              based on the Program.
4642
4643              To ``propagate'' a work means to do anything with it that, with‐
4644              out  permission,  would  make you directly or secondarily liable
4645              for infringement under applicable copyright law, except  execut‐
4646              ing  it  on a computer or modifying a private copy.  Propagation
4647              includes copying, distribution (with or  without  modification),
4648              making  available  to  the  public,  and in some countries other
4649              activities as well.
4650
4651              To ``convey'' a work means any kind of propagation that  enables
4652              other  parties to make or receive copies.  Mere interaction with
4653              a user through a computer network, with no transfer of  a  copy,
4654              is not conveying.
4655
4656              An  interactive  user  interface  displays  ``Appropriate  Legal
4657              Notices'' to the extent that it includes a convenient and promi‐
4658              nently  visible  feature  that (1) displays an appropriate copy‐
4659              right notice, and (2) tells the user that there is  no  warranty
4660              for  the  work  (except  to  the extent that warranties are pro‐
4661              vided), that licensees may convey the work under  this  License,
4662              and  how  to  view  a  copy  of  this License.  If the interface
4663              presents a list of user commands or options, such as a  menu,  a
4664              prominent item in the list meets this criterion.
4665
4666
4667       Source Code.
4668              The  ``source  code'' for a work means the preferred form of the
4669              work for making modifications to it.  ``Object code'' means  any
4670              non-source form of a work.
4671
4672              A  ``Standard  Interface''  means an interface that either is an
4673              official standard defined by a recognized standards body, or, in
4674              the  case  of  interfaces specified for a particular programming
4675              language, one that is widely used among  developers  working  in
4676              that language.
4677
4678              The ``System Libraries'' of an executable work include anything,
4679              other than the work as a whole, that (a) is included in the nor‐
4680              mal  form  of packaging a Major Component, but which is not part
4681              of that Major Component, and (b) serves only to  enable  use  of
4682              the  work  with that Major Component, or to implement a Standard
4683              Interface for which an implementation is available to the public
4684              in  source  code  form.  A ``Major Component'', in this context,
4685              means a major essential component (kernel, window system, and so
4686              on)  of the specific operating system (if any) on which the exe‐
4687              cutable work runs, or a compiler used to produce the work, or an
4688              object code interpreter used to run it.
4689
4690              The  ``Corresponding  Source''  for  a  work in object code form
4691              means all the source code needed to generate, install, and  (for
4692              an  executable work) run the object code and to modify the work,
4693              including scripts to control those activities.  However, it does
4694              not  include  the  work's  System  Libraries, or general-purpose
4695              tools or generally available free programs which are used unmod‐
4696              ified  in  performing those activities but which are not part of
4697              the work.  For example, Corresponding Source includes  interface
4698              definition  files associated with source files for the work, and
4699              the source code for shared libraries and dynamically linked sub‐
4700              programs that the work is specifically designed to require, such
4701              as by intimate data communication or control flow between  those
4702              subprograms and other parts of the work.
4703
4704              The  Corresponding  Source  need not include anything that users
4705              can regenerate automatically from other parts of the Correspond‐
4706              ing Source.
4707
4708              The  Corresponding Source for a work in source code form is that
4709              same work.
4710
4711
4712       Basic Permissions.
4713              All rights granted under this License are granted for  the  term
4714              of  copyright  on  the Program, and are irrevocable provided the
4715              stated conditions are met.  This License explicitly affirms your
4716              unlimited  permission to run the unmodified Program.  The output
4717              from running a covered work is covered by this License  only  if
4718              the output, given its content, constitutes a covered work.  This
4719              License acknowledges your rights of fair use  or  other  equiva‐
4720              lent, as provided by copyright law.
4721
4722              You  may  make,  run and propagate covered works that you do not
4723              convey, without conditions so long  as  your  license  otherwise
4724              remains  in  force.   You may convey covered works to others for
4725              the sole purpose of having them make  modifications  exclusively
4726              for you, or provide you with facilities for running those works,
4727              provided that you comply with the terms of this License in  con‐
4728              veying  all  material  for  which  you do not control copyright.
4729              Those thus making or running the covered works for you  must  do
4730              so exclusively on your behalf, under your direction and control,
4731              on terms that prohibit them from making any copies of your copy‐
4732              righted material outside their relationship with you.
4733
4734              Conveying  under  any  other  circumstances  is permitted solely
4735              under the conditions stated below.  Sublicensing is not allowed;
4736              section 10 makes it unnecessary.
4737
4738
4739       Protecting Users' Legal Rights From Anti-Circumvention Law.
4740              No covered work shall be deemed part of an effective technologi‐
4741              cal measure under  any  applicable  law  fulfilling  obligations
4742              under  article  11  of  the  WIPO copyright treaty adopted on 20
4743              December 1996, or similar laws prohibiting or  restricting  cir‐
4744              cumvention of such measures.
4745
4746              When  you  convey  a  covered work, you waive any legal power to
4747              forbid circumvention of technological  measures  to  the  extent
4748              such  circumvention  is effected by exercising rights under this
4749              License with respect to the covered work, and you  disclaim  any
4750              intention  to  limit  operation or modification of the work as a
4751              means of enforcing, against the work's users, your or third par‐
4752              ties' legal rights to forbid circumvention of technological mea‐
4753              sures.
4754
4755
4756       Conveying Verbatim Copies.
4757              You may convey verbatim copies of the Program's source  code  as
4758              you  receive  it, in any medium, provided that you conspicuously
4759              and appropriately publish on each copy an appropriate  copyright
4760              notice;  keep  intact  all notices stating that this License and
4761              any non-permissive terms added in accord with section 7 apply to
4762              the  code;  keep  intact  all notices of the absence of any war‐
4763              ranty; and give all recipients a copy of this License along with
4764              the Program.
4765
4766              You may charge any price or no price for each copy that you con‐
4767              vey, and you may offer support or warranty protection for a fee.
4768
4769
4770       Conveying Modified Source Versions.
4771              You may convey a work based on the Program, or the modifications
4772              to produce it from the Program, in the form of source code under
4773              the terms of section 4, provided that you also meet all of these
4774              conditions:
4775
4776              The  work must carry prominent notices stating that you modified
4777              it, and giving a relevant date.
4778
4779              The work  must  carry  prominent  notices  stating  that  it  is
4780              released  under this License and any conditions added under sec‐
4781              tion 7.  This requirement modifies the requirement in section  4
4782              to ``keep intact all notices''.
4783
4784              You must license the entire work, as a whole, under this License
4785              to anyone who comes into possession of  a  copy.   This  License
4786              will  therefore apply, along with any applicable section 7 addi‐
4787              tional terms, to the whole of  the  work,  and  all  its  parts,
4788              regardless of how they are packaged.  This License gives no per‐
4789              mission to license the work in any other way, but  it  does  not
4790              invalidate such permission if you have separately received it.
4791
4792              If  the  work has interactive user interfaces, each must display
4793              Appropriate Legal Notices; however, if the Program has  interac‐
4794              tive  interfaces  that do not display Appropriate Legal Notices,
4795              your work need not make them do so.
4796
4797              A compilation of a covered work with other separate and indepen‐
4798              dent works, which are not by their nature extensions of the cov‐
4799              ered work, and which are not combined with it such as to form  a
4800              larger  program,  in or on a volume of a storage or distribution
4801              medium, is called an ``aggregate'' if the  compilation  and  its
4802              resulting  copyright  are  not used to limit the access or legal
4803              rights of the compilation's users  beyond  what  the  individual
4804              works  permit.  Inclusion of a covered work in an aggregate does
4805              not cause this License to apply to the other parts of the aggre‐
4806              gate.
4807
4808
4809       Conveying Non-Source Forms.
4810              You  may  convey  a  covered  work in object code form under the
4811              terms of sections 4 and 5, provided that  you  also  convey  the
4812              machine-readable  Corresponding  Source  under the terms of this
4813              License, in one of these ways:
4814
4815              Convey the object code in, or embodied in,  a  physical  product
4816              (including  a  physical distribution medium), accompanied by the
4817              Corresponding Source fixed on a durable physical medium  custom‐
4818              arily used for software interchange.
4819
4820              Convey  the  object  code in, or embodied in, a physical product
4821              (including a physical distribution  medium),  accompanied  by  a
4822              written  offer,  valid for at least three years and valid for as
4823              long as you offer spare parts or customer support for that prod‐
4824              uct  model,  to give anyone who possesses the object code either
4825              (1) a copy of the Corresponding Source for all the  software  in
4826              the product that is covered by this License, on a durable physi‐
4827              cal medium customarily used  for  software  interchange,  for  a
4828              price no more than your reasonable cost of physically performing
4829              this conveying of source, or (2) access to copy the  Correspond‐
4830              ing Source from a network server at no charge.
4831
4832              Convey  individual  copies of the object code with a copy of the
4833              written offer to provide the Corresponding Source.  This  alter‐
4834              native  is  allowed  only  occasionally and noncommercially, and
4835              only if you received the object code  with  such  an  offer,  in
4836              accord with subsection 6b.
4837
4838              Convey  the  object  code  by  offering access from a designated
4839              place (gratis or for a charge), and offer equivalent  access  to
4840              the  Corresponding Source in the same way through the same place
4841              at no further charge.  You need not require recipients  to  copy
4842              the  Corresponding  Source  along  with the object code.  If the
4843              place to copy the object code is a network  server,  the  Corre‐
4844              sponding Source may be on a different server (operated by you or
4845              a third party) that supports equivalent copying facilities, pro‐
4846              vided you maintain clear directions next to the object code say‐
4847              ing where to find the Corresponding Source.  Regardless of  what
4848              server  hosts  the Corresponding Source, you remain obligated to
4849              ensure that it is available for as long  as  needed  to  satisfy
4850              these requirements.
4851
4852              Convey the object code using peer-to-peer transmission, provided
4853              you inform other peers where the object code  and  Corresponding
4854              Source of the work are being offered to the general public at no
4855              charge under subsection 6d.
4856
4857              A separable portion of the object code,  whose  source  code  is
4858              excluded from the Corresponding Source as a System Library, need
4859              not be included in conveying the object code work.
4860
4861              A ``User Product'' is either (1) a ``consumer  product'',  which
4862              means  any tangible personal property which is normally used for
4863              personal,  family,  or  household  purposes,  or  (2)   anything
4864              designed  or  sold for incorporation into a dwelling.  In deter‐
4865              mining whether a product is a consumer product,  doubtful  cases
4866              shall  be resolved in favor of coverage.  For a particular prod‐
4867              uct received by a particular user, ``normally used'' refers to a
4868              typical  or  common  use of that class of product, regardless of
4869              the status of the particular user or of the  way  in  which  the
4870              particular user actually uses, or expects or is expected to use,
4871              the product.  A product is  a  consumer  product  regardless  of
4872              whether  the  product  has substantial commercial, industrial or
4873              non-consumer uses, unless such uses represent the only  signifi‐
4874              cant mode of use of the product.
4875
4876              ``Installation  Information'' for a User Product means any meth‐
4877              ods,  procedures,  authorization  keys,  or  other   information
4878              required  to  install and execute modified versions of a covered
4879              work in that User Product from a modified version of its  Corre‐
4880              sponding  Source.   The  information must suffice to ensure that
4881              the continued functioning of the modified object code is  in  no
4882              case  prevented  or  interfered with solely because modification
4883              has been made.
4884
4885              If you convey an object code work  under  this  section  in,  or
4886              with,  or  specifically for use in, a User Product, and the con‐
4887              veying occurs as part of a transaction in  which  the  right  of
4888              possession  and  use  of  the User Product is transferred to the
4889              recipient in perpetuity or for a fixed term (regardless  of  how
4890              the transaction is characterized), the Corresponding Source con‐
4891              veyed under this section must be accompanied by the Installation
4892              Information.  But this requirement does not apply if neither you
4893              nor any third party retains  the  ability  to  install  modified
4894              object  code on the User Product (for example, the work has been
4895              installed in ROM).
4896
4897              The requirement to provide  Installation  Information  does  not
4898              include  a  requirement  to continue to provide support service,
4899              warranty, or updates for  a  work  that  has  been  modified  or
4900              installed  by the recipient, or for the User Product in which it
4901              has been modified or installed.  Access  to  a  network  may  be
4902              denied  when  the  modification  itself materially and adversely
4903              affects the operation of the network or violates the  rules  and
4904              protocols for communication across the network.
4905
4906              Corresponding Source conveyed, and Installation Information pro‐
4907              vided, in accord with this section must be in a format  that  is
4908              publicly documented (and with an implementation available to the
4909              public in source code form), and must require no  special  pass‐
4910              word or key for unpacking, reading or copying.
4911
4912
4913       Additional Terms.
4914              ``Additional  permissions''  are terms that supplement the terms
4915              of this License by making exceptions from one  or  more  of  its
4916              conditions.   Additional  permissions that are applicable to the
4917              entire Program shall be treated as though they were included  in
4918              this License, to the extent that they are valid under applicable
4919              law.  If additional permissions apply only to part of  the  Pro‐
4920              gram,  that part may be used separately under those permissions,
4921              but the entire Program remains governed by this License  without
4922              regard to the additional permissions.
4923
4924              When you convey a copy of a covered work, you may at your option
4925              remove any additional permissions from that copy,  or  from  any
4926              part  of  it.  (Additional permissions may be written to require
4927              their own removal in certain cases when you  modify  the  work.)
4928              You  may  place additional permissions on material, added by you
4929              to a covered work, for which you have or  can  give  appropriate
4930              copyright permission.
4931
4932              Notwithstanding  any  other provision of this License, for mate‐
4933              rial you add to a covered work, you may (if  authorized  by  the
4934              copyright holders of that material) supplement the terms of this
4935              License with terms:
4936
4937              Disclaiming warranty or limiting liability differently from  the
4938              terms of sections 15 and 16 of this License; or
4939
4940              Requiring  preservation of specified reasonable legal notices or
4941              author attributions in that material or in the Appropriate Legal
4942              Notices displayed by works containing it; or
4943
4944              Prohibiting misrepresentation of the origin of that material, or
4945              requiring that modified versions of such material be  marked  in
4946              reasonable ways as different from the original version; or
4947
4948              Limiting the use for publicity purposes of names of licensors or
4949              authors of the material; or
4950
4951              Declining to grant rights under trademark law for  use  of  some
4952              trade names, trademarks, or service marks; or
4953
4954              Requiring indemnification of licensors and authors of that mate‐
4955              rial by anyone who conveys the material (or modified versions of
4956              it)  with contractual assumptions of liability to the recipient,
4957              for any liability that these  contractual  assumptions  directly
4958              impose on those licensors and authors.
4959
4960              All  other non-permissive additional terms are considered ``fur‐
4961              ther restrictions'' within the meaning of section  10.   If  the
4962              Program as you received it, or any part of it, contains a notice
4963              stating that it is governed by this License along  with  a  term
4964              that  is  a further restriction, you may remove that term.  If a
4965              license document contains  a  further  restriction  but  permits
4966              relicensing  or  conveying  under this License, you may add to a
4967              covered work material governed by the terms of that license doc‐
4968              ument,  provided  that  the further restriction does not survive
4969              such relicensing or conveying.
4970
4971              If you add terms to a covered work in accord with this  section,
4972              you must place, in the relevant source files, a statement of the
4973              additional terms that apply to those files, or a notice indicat‐
4974              ing where to find the applicable terms.
4975
4976              Additional terms, permissive or non-permissive, may be stated in
4977              the form of a separately written license, or  stated  as  excep‐
4978              tions; the above requirements apply either way.
4979
4980
4981       Termination.
4982              You  may  not  propagate  or  modify  a  covered  work except as
4983              expressly provided under this License.  Any attempt otherwise to
4984              propagate or modify it is void, and will automatically terminate
4985              your rights under this License (including  any  patent  licenses
4986              granted under the third paragraph of section 11).
4987
4988              However,  if  you cease all violation of this License, then your
4989              license from a particular copyright  holder  is  reinstated  (a)
4990              provisionally,  unless and until the copyright holder explicitly
4991              and finally terminates your license, and (b) permanently, if the
4992              copyright  holder  fails  to notify you of the violation by some
4993              reasonable means prior to 60 days after the cessation.
4994
4995              Moreover, your license from a  particular  copyright  holder  is
4996              reinstated  permanently  if the copyright holder notifies you of
4997              the violation by some reasonable means, this is the  first  time
4998              you  have  received notice of violation of this License (for any
4999              work) from that copyright holder, and  you  cure  the  violation
5000              prior to 30 days after your receipt of the notice.
5001
5002              Termination of your rights under this section does not terminate
5003              the licenses of parties who have received copies or rights  from
5004              you under this License.  If your rights have been terminated and
5005              not permanently reinstated, you do not qualify  to  receive  new
5006              licenses for the same material under section 10.
5007
5008
5009       Acceptance Not Required for Having Copies.
5010              You  are not required to accept this License in order to receive
5011              or run a copy of the Program.  Ancillary propagation of  a  cov‐
5012              ered  work  occurring  solely as a consequence of using peer-to-
5013              peer transmission to receive a copy likewise  does  not  require
5014              acceptance.  However, nothing other than this License grants you
5015              permission to propagate  or  modify  any  covered  work.   These
5016              actions  infringe  copyright  if you do not accept this License.
5017              Therefore, by modifying or propagating a covered work, you indi‐
5018              cate your acceptance of this License to do so.
5019
5020
5021       Automatic Licensing of Downstream Recipients.
5022              Each time you convey a covered work, the recipient automatically
5023              receives a license from the original licensors, to  run,  modify
5024              and  propagate  that work, subject to this License.  You are not
5025              responsible for enforcing compliance by third parties with  this
5026              License.
5027
5028              An  ``entity transaction'' is a transaction transferring control
5029              of an organization, or substantially all assets of one, or  sub‐
5030              dividing an organization, or merging organizations.  If propaga‐
5031              tion of a covered work results from an entity transaction,  each
5032              party  to  that transaction who receives a copy of the work also
5033              receives whatever licenses to the work the  party's  predecessor
5034              in interest had or could give under the previous paragraph, plus
5035              a right to possession of the Corresponding Source  of  the  work
5036              from  the  predecessor in interest, if the predecessor has it or
5037              can get it with reasonable efforts.
5038
5039              You may not impose any further restrictions on the  exercise  of
5040              the rights granted or affirmed under this License.  For example,
5041              you may not impose a license fee, royalty, or other  charge  for
5042              exercise  of  rights granted under this License, and you may not
5043              initiate litigation (including a cross-claim or counterclaim  in
5044              a  lawsuit)  alleging that any patent claim is infringed by mak‐
5045              ing, using, selling, offering for sale, or importing the Program
5046              or any portion of it.
5047
5048
5049       Patents.
5050              A ``contributor'' is a copyright holder who authorizes use under
5051              this License of the Program or a work on which  the  Program  is
5052              based.   The  work  thus  licensed  is  called the contributor's
5053              ``contributor version''.
5054
5055              A contributor's  ``essential  patent  claims''  are  all  patent
5056              claims  owned  or controlled by the contributor, whether already
5057              acquired or hereafter acquired, that would be infringed by  some
5058              manner,  permitted by this License, of making, using, or selling
5059              its contributor version, but do not include claims that would be
5060              infringed  only  as a consequence of further modification of the
5061              contributor version.  For purposes of  this  definition,  ``con‐
5062              trol''  includes the right to grant patent sublicenses in a man‐
5063              ner consistent with the requirements of this License.
5064
5065              Each contributor grants you a non-exclusive, worldwide, royalty-
5066              free  patent  license  under  the contributor's essential patent
5067              claims, to make, use, sell, offer for sale, import and otherwise
5068              run,  modify  and propagate the contents of its contributor ver‐
5069              sion.
5070
5071              In the following three paragraphs, a ``patent license''  is  any
5072              express  agreement  or  commitment,  however denominated, not to
5073              enforce a patent (such as an express permission  to  practice  a
5074              patent  or  covenant  not  to  sue for patent infringement).  To
5075              ``grant'' such a patent license to a party means to make such an
5076              agreement  or  commitment  not  to  enforce a patent against the
5077              party.
5078
5079              If you convey a covered work,  knowingly  relying  on  a  patent
5080              license,  and the Corresponding Source of the work is not avail‐
5081              able for anyone to copy, free of charge and under the  terms  of
5082              this  License,  through  a  publicly available network server or
5083              other readily accessible means, then you must either  (1)  cause
5084              the  Corresponding  Source to be so available, or (2) arrange to
5085              deprive yourself of the benefit of the patent license  for  this
5086              particular work, or (3) arrange, in a manner consistent with the
5087              requirements of this License, to extend the  patent  license  to
5088              downstream  recipients.   ``Knowingly  relying''  means you have
5089              actual knowledge that, but for the patent license, your  convey‐
5090              ing  the  covered  work in a country, or your recipient's use of
5091              the covered work in a country, would infringe one or more  iden‐
5092              tifiable patents in that country that you have reason to believe
5093              are valid.
5094
5095              If, pursuant to or in connection with a  single  transaction  or
5096              arrangement,  you  convey,  or propagate by procuring conveyance
5097              of, a covered work, and grant a patent license to  some  of  the
5098              parties  receiving  the  covered  work  authorizing them to use,
5099              propagate, modify or convey a specific copy of the covered work,
5100              then  the  patent license you grant is automatically extended to
5101              all recipients of the covered work and works based on it.
5102
5103              A patent license is ``discriminatory'' if it  does  not  include
5104              within  the scope of its coverage, prohibits the exercise of, or
5105              is conditioned on the non-exercise of one or more of the  rights
5106              that  are  specifically granted under this License.  You may not
5107              convey a covered work if you are a party to an arrangement  with
5108              a  third party that is in the business of distributing software,
5109              under which you make payment to the third  party  based  on  the
5110              extent  of  your activity of conveying the work, and under which
5111              the third party grants, to any of the parties who would  receive
5112              the  covered  work from you, a discriminatory patent license (a)
5113              in connection with copies of the covered work  conveyed  by  you
5114              (or  copies made from those copies), or (b) primarily for and in
5115              connection with specific products or compilations  that  contain
5116              the  covered  work, unless you entered into that arrangement, or
5117              that patent license was granted, prior to 28 March 2007.
5118
5119              Nothing in this License shall be construed as excluding or  lim‐
5120              iting any implied license or other defenses to infringement that
5121              may otherwise be available to you under applicable patent law.
5122
5123
5124       No Surrender of Others' Freedom.
5125              If conditions are imposed on you (whether by court order, agree‐
5126              ment  or  otherwise)  that  contradict  the  conditions  of this
5127              License, they do not excuse you  from  the  conditions  of  this
5128              License.   If  you cannot convey a covered work so as to satisfy
5129              simultaneously your obligations under this License and any other
5130              pertinent  obligations, then as a consequence you may not convey
5131              it at all.  For example, if you agree to terms that obligate you
5132              to  collect  a  royalty for further conveying from those to whom
5133              you convey the Program, the only  way  you  could  satisfy  both
5134              those  terms  and this License would be to refrain entirely from
5135              conveying the Program.
5136
5137
5138       Use with the GNU Affero General Public License.
5139              Notwithstanding any other provision of this  License,  you  have
5140              permission  to  link  or  combine  any  covered work with a work
5141              licensed under version  3  of  the  GNU  Affero  General  Public
5142              License into a single combined work, and to convey the resulting
5143              work.  The terms of this License will continue to apply  to  the
5144              part  which is the covered work, but the special requirements of
5145              the GNU Affero General Public License,  section  13,  concerning
5146              interaction  through  a network will apply to the combination as
5147              such.
5148
5149
5150       Revised Versions of this License.
5151              The Free Software Foundation may publish revised and/or new ver‐
5152              sions of the GNU General Public License from time to time.  Such
5153              new versions will be similar in spirit to the  present  version,
5154              but may differ in detail to address new problems or concerns.
5155
5156              Each  version  is given a distinguishing version number.  If the
5157              Program specifies that a certain numbered  version  of  the  GNU
5158              General  Public  License ``or any later version'' applies to it,
5159              you have the option of following the terms and conditions either
5160              of  that  numbered  version or of any later version published by
5161              the Free Software Foundation.  If the Program does not specify a
5162              version number of the GNU General Public License, you may choose
5163              any version ever published by the Free Software Foundation.
5164
5165              If the Program specifies that a proxy can  decide  which  future
5166              versions  of  the  GNU  General Public License can be used, that
5167              proxy's public statement of acceptance of a version  permanently
5168              authorizes you to choose that version for the Program.
5169
5170              Later license versions may give you additional or different per‐
5171              missions.  However, no additional obligations are imposed on any
5172              author  or copyright holder as a result of your choosing to fol‐
5173              low a later version.
5174
5175
5176       Disclaimer of Warranty.
5177              THERE IS NO WARRANTY FOR THE PROGRAM, TO THE EXTENT PERMITTED BY
5178              APPLICABLE  LAW.   EXCEPT  WHEN  OTHERWISE STATED IN WRITING THE
5179              COPYRIGHT HOLDERS AND/OR OTHER PARTIES PROVIDE THE PROGRAM  ``AS
5180              IS''  WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED OR IMPLIED,
5181              INCLUDING, BUT NOT LIMITED TO, THE IMPLIED  WARRANTIES  OF  MER‐
5182              CHANTABILITY  AND  FITNESS FOR A PARTICULAR PURPOSE.  THE ENTIRE
5183              RISK AS TO THE QUALITY AND PERFORMANCE OF THE  PROGRAM  IS  WITH
5184              YOU.  SHOULD THE PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF
5185              ALL NECESSARY SERVICING, REPAIR OR CORRECTION.
5186
5187
5188       Limitation of Liability.
5189              IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR  AGREED  TO  IN
5190              WRITING  WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MODI‐
5191              FIES AND/OR CONVEYS THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO
5192              YOU  FOR  DAMAGES, INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR
5193              CONSEQUENTIAL DAMAGES ARISING OUT OF THE USE OR INABILITY TO USE
5194              THE  PROGRAM  (INCLUDING BUT NOT LIMITED TO LOSS OF DATA OR DATA
5195              BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY  YOU  OR  THIRD
5196              PARTIES  OR  A  FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER
5197              PROGRAMS), EVEN IF SUCH HOLDER OR OTHER PARTY HAS  BEEN  ADVISED
5198              OF THE POSSIBILITY OF SUCH DAMAGES.
5199
5200
5201       Interpretation of Sections 15 and 16.
5202              If  the  disclaimer of warranty and limitation of liability pro‐
5203              vided above cannot be given  local  legal  effect  according  to
5204              their  terms,  reviewing  courts shall apply local law that most
5205              closely approximates an absolute waiver of all  civil  liability
5206              in  connection with the Program, unless a warranty or assumption
5207              of liability accompanies a copy of the Program in return  for  a
5208              fee.
5209
5210              If  you  develop  a  new  program,  and you want it to be of the
5211              greatest possible use to the public, the  best  way  to  achieve
5212              this is to make it free software which everyone can redistribute
5213              and change under these terms.
5214
5215              To do so, attach the following notices to the  program.   It  is
5216              safest  to  attach them to the start of each source file to most
5217              effectively state the  exclusion  of  warranty;  and  each  file
5218              should  have  at  least  the ``copyright'' line and a pointer to
5219              where the full notice is found.
5220
5221              ONE LINE TO GIVE THE PROGRAM'S NAME AND A BRIEF IDEA OF WHAT IT DOES.
5222              Copyright (C) YEAR NAME OF AUTHOR
5223
5224              This program is free software: you can redistribute it and/or modify
5225              it under the terms of the GNU General Public License as published by
5226              the Free Software Foundation, either version 3 of the License, or (at
5227              your option) any later version.
5228
5229              This program is distributed in the hope that it will be useful, but
5230              WITHOUT ANY WARRANTY; without even the implied warranty of
5231              MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
5232              General Public License for more details.
5233
5234              You should have received a copy of the GNU General Public License
5235              along with this program.  If not, see `http://www.gnu.org/licenses/'.
5236
5237              Also add information on how to contact  you  by  electronic  and
5238              paper mail.
5239
5240              If the program does terminal interaction, make it output a short
5241              notice like this when it starts in an interactive mode:
5242
5243              PROGRAM Copyright (C) YEAR NAME OF AUTHOR
5244              This program comes with ABSOLUTELY NO WARRANTY; for details type `show w'.
5245              This is free software, and you are welcome to redistribute it
5246              under certain conditions; type `show c' for details.
5247
5248              The hypothetical commands `show w' and `show c' should show  the
5249              appropriate  parts  of  the  General Public License.  Of course,
5250              your program's commands might be different; for a GUI interface,
5251              you would use an ``about box''.
5252
5253              You  should also get your employer (if you work as a programmer)
5254              or school, if any, to sign a ``copyright  disclaimer''  for  the
5255              program, if necessary.  For more information on this, and how to
5256              apply      and      follow      the      GNU      GPL,       see
5257              `http://www.gnu.org/licenses/'.
5258
5259              The  GNU  General  Public  License does not permit incorporating
5260              your program into proprietary programs.  If your  program  is  a
5261              subroutine  library,  you  may consider it more useful to permit
5262              linking proprietary applications with the library.  If  this  is
5263              what  you  want to do, use the GNU Lesser General Public License
5264              instead   of   this   License.    But   first,    please    read
5265              `http://www.gnu.org/philosophy/why-not-lgpl.html'.
5266
5267
5268
5269
5270GNU                                 $Date:                           xboard(6)
Impressum